CN117296082A - 一种图像处理方法及装置 - Google Patents
一种图像处理方法及装置 Download PDFInfo
- Publication number
- CN117296082A CN117296082A CN202180098163.6A CN202180098163A CN117296082A CN 117296082 A CN117296082 A CN 117296082A CN 202180098163 A CN202180098163 A CN 202180098163A CN 117296082 A CN117296082 A CN 117296082A
- Authority
- CN
- China
- Prior art keywords
- pose
- moment
- sub
- image
- acquisition device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 81
- 230000033001 locomotion Effects 0.000 claims description 123
- 238000012937 correction Methods 0.000 claims description 53
- 238000012545 processing Methods 0.000 claims description 53
- 238000004422 calculation algorithm Methods 0.000 claims description 39
- 230000015654 memory Effects 0.000 claims description 21
- 230000007717 exclusion Effects 0.000 claims description 17
- 238000007781 pre-processing Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例提供一种图像处理方法及装置。其中方法包括:根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿,所述第二图像帧为所述图像采集装置在第二时刻采集的图像帧;根据所述第二位姿生成所述第二虚拟对象;获取所述第二图像帧;将所述第二虚拟对象和所述第二图像帧叠加,得到所述第二时刻对应的待显示图像。上述方法中,不需要获取所述第二图像帧后才计算第二位姿,可以提前根据预测的第二位姿生成第二虚拟对象,可以在获取第二图像帧后,直接将提前生成的第二虚拟对象和即时获取的第二图像帧叠加,及时得到所述第二时刻对应的待显示图像。
Description
本申请涉及虚拟现实技术领域,尤其涉及一种图像处理方法及装置。
虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)、混合现实(mixed reality,MR)等技术是将虚拟世界呈现给使用者的常用技术,在近年来得到了突飞猛进的发展,AR和MR均要以VR为基础。目前VR等技术常与视频透视技术(video see through,VST)或透视技术(pass through,PT)相结合应用。目前的应用方案中,可以从真实世界场景采集图像,并通过VR等技术处理后,将处理后的图像显示给用户。
目前的应用方案中采集的图像帧与待显示图像是对应的,然而,从采集图像帧到待显示图像需要一系列的处理,存在较久的处理时延。这是一个亟待解决的问题。
发明内容
本申请提供一种图像处理方法及装置,用于降低待显示图像的处理时延。
第一方面,本申请提供一种图像处理方法,该方法可以由本申请提供的图像处理装置执行,该方法包括:
根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿;该第二图像帧为该图像采集装置在第二时刻采集的图像帧;该第一时刻位于该第二时刻之前,且该第一时刻为该图像采集装置采集第一图像帧的时刻,该第一图像帧和该第二图像帧为该图像采集装置采集的两个相邻图像帧;根据该第二位姿生成该第二虚拟对象;获取该第二图像帧;将该第二虚拟对象和该第二图像帧叠加,得到该第二时刻对应的待显示图像。
需要说明的是,现有技术中,由于计算位姿的处理时延较久,当计算得到第二图像帧对应的第二虚拟对象时,可能会出现获取到第二图像帧之后的图像帧(如第四图像帧)的情况,从而使得第二图像帧对应的第二虚拟对象与第二图像帧之后的图像帧叠加,导致待显示图像中虚拟对象和图像帧不匹配,第四图像帧为第二图像帧之后的第二个图像帧;而上述方法下,可以在第二图像帧采集到时就可以直接获取到与之匹配的第二虚拟对象,从而待显示图像可以显示实时采集的图像。
上述方法中,可以在获取第二图像帧之前,根据图像采集装置在第一时刻的第一位姿,***第二虚拟对象的第二位姿,不需要获取该第二图像帧后才计算第二位姿,可以提前根据预测的第二位姿生成第二虚拟对象,由于该第一图像帧和该第二图像帧为该图像采集装置采集的两个相邻图像帧,且***了该第二位姿,所以可以在获取第二图像帧后,便可以直接将提前生成的第二虚拟对象和即时获取的第二图像帧叠加,及时得到该第二时刻对应的待显示图像,从而降低了该第二时刻对应的待显示图像的处理时延。
可选的,根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿之前,可以按照以下方式确定该第一位姿:
获取该图像采集装置在该第一时刻的运动状态;根据该第一图像帧和该第一时刻的运 动状态,确定该第一位姿。
上述方法中,综合该第一图像帧和该第一时刻的运动状态,确定该第一位姿,可以使得该第一位姿充分考虑图像帧和运动状态的因素,使得该第一位姿更加精确。
可选的,根据所述第一图像帧和所述第一时刻的运动状态,确定所述第一位姿,包括:
对该第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像;根据该第一预处理图像和该第一时刻的运动状态,确定该第一位姿。
通过上述预处理过程,可以使得第一预处理图像既保留了第一图像帧中的关键特性,又可以有效降低数据量,直接用第一预处理图像参与运算,从而既保持了计算精度,又显著降低了运算量,提升确定该第一位姿的效率。
可选的,上述方法应用于如下物理设备:该物理设备由该图像采集装置、头戴装置、传感器和显示器等各部分装置组合而成,该图像采集装置设置在头戴装置上,该头戴装置上还设置有传感器和显示器。
所述方法可以按照通过以下方式由各部分装置组合执行:
获取该传感器在该第一时刻采集到的运动状态;将该传感器在该第一时刻采集到的运动状态,作为该图像采集装置在该第一时刻的运动状态;将该待显示图像显示在该显示器上。
通过该图像采集装置、头戴装置、传感器和显示器等组合实现了上述图像处理方法,从而提供了该方法的一种应用场景,使得各部分都有其独立的分工,不会造成图像采集装置等部分的负担过重,使得上述图像处理方法执行得更加有效率。
可选的,根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿,包括:
根据该第一位姿和该图像采集装置在至少两个时刻的运动状态,预测该图像采集装置在该第二时刻的位姿;该至少两个时刻包括:该第一时刻、该第一时刻之后至该第二时刻之前的至少一个时刻;根据该图像采集装置在该第二时刻的位姿,预测该第二位姿。
上述方法中,在计算该第二位姿的过程中,除了第一时刻的运动状态外,还考虑了该第一时刻之后至该第二时刻之前中间至少一个时刻的运动状态,从而及时捕捉到第一时刻之后的运动状态变化,更准确地预测该第二位姿。
可选的,该第一时刻与该第二时刻之间的时间段被划分为至少两个子时段,该至少两个子时段中包括相邻的第一子时段和第二子时段,该第一子时段位于该第二子时段之前,该第一子时段的截止时刻为第一子时刻,该第二子时段的截止时刻为第二子时刻;根据该第一位姿和该图像采集装置在至少两个时刻的运动状态,预测该图像采集装置在该第二时刻的位姿,包括:
根据该图像采集装置在该第一子时刻预测到的位姿和该图像采集装置在该第一子时刻的运动状态,确定该图像采集装置自该第一子时刻起至该第二子时刻的第一累积位姿;根据该第一子时刻预测到的位姿以及该第一累积位姿,预测该图像采集装置在该第二子时刻的位姿。
上述方法中,针对任意两个相邻的第一子时段和第二子时段,以该第一子时刻预测到的位姿和该第一子时刻的运动状态为基准,预测该图像采集装置在该第二子时刻的位姿, 从而每次迭代都参照了最新的第一子时段的截止时刻的运动状态,直至预测到该图像采集装置在该第二时刻的位姿,所以通过多个子时段多次分段预测可以更准确地预测到该图像采集装置在该第二时刻的位姿。
可选的,根据所述第一子时刻的位姿以及所述第一累积位姿,预测所述图像采集装置在所述第二子时刻的位姿,具体可以满足以下公式:
其中,
为该第二子时刻的位姿,
为该第一子时刻的位姿,
为该第一累积位姿,w
0和w
0表示加权系数,t
0表示第一子时刻,t
1表示第二子时刻;
是该第一子时刻的位姿的第一子位姿,该第一子位姿是根据该第一子时段的起始时刻的位姿和该第一子时段的起始时刻的运动状态得到的,
是该第一子时刻的位姿的第二子位姿,该第二子位姿是根据该第一子时段的起始时刻的运动状态得到的;
是该第一累积位姿的第一子累积位姿,该第一子累积位姿是根据该第一子时刻的位姿和该第一子时刻的运动状态得到的,
是该第一累积位姿的第二子累积位姿,该第二子累积位姿是根据该第一子时刻的运动状态得到的。
上述公式中,第一子位姿、第一子累积位姿都是根据该第一子时段的起始时刻的位姿得到的,而预测到的位姿都是根据第一时刻的第一图像帧得到的,所以第一子位姿、第一子累积位姿是考虑了第一图像帧计算得到的位姿,而第二子位姿、第二子累积位姿都是根据运动状态得到的,并未考虑第一图像帧,所以将考虑了第一图像帧的位姿和未考虑第一图像帧的位姿进行加权平均,可以更准确地预测该第二子时刻的位姿。
可选的,至少两个子时段中包括第三子时段,该第三子时段与该第二子时段相邻,该第三子时段是该时间段内的最后一个子时段,该第三子时段的截止时刻为第三子时刻;该方法还包括:
根据该第二子时刻的位姿、该第二子时刻的运动状态,确定该图像采集装置自该第二子时刻起至该第三子时刻的第二累积位姿和该第二子时刻的位姿的算法校正结果;根据该第二累积位姿、该第二子时刻的位姿以及该第二子时刻的位姿的算法校正结果,预测该图像采集装置在该第三子时刻的位姿。
上述方式下,对于第三子时段,由于第二子时刻之后至第三子时刻之前不会再获取图像采集装置的运动状态,可以先根据该第二子时刻的位姿、该第二子时刻的运动状态,对该第二子时刻的位姿进行校正,并进一步预测该图像采集装置在该第三子时刻的位姿,从而可以对该第三子时刻的位姿进行校正,获得更准确的该第三子时刻的位姿。
可选的,根据所述第二累积位姿、所述第二子时刻的位姿以及所述第二子时刻的位姿的算法校正结果,预测所述图像采集装置在所述第三子时刻的位姿,满足以下公式:
其中,
为该第三子时刻的位姿,
为该第二子时刻的位姿的算法校正结果,
为该第二累积位姿,
为该第二子时刻的位姿,w
2和w
3表示加权系数,t
1表示第二子时刻,t
2表示第三子时刻。
上述公式中,通过该第二子时刻的位姿的算法校正结果和该第二累积位姿,得到第二子时刻累积至第三子时刻的算法校正的结果,再将进行算法校正的结果和未进行算法校正的该第二子时刻的位姿进行加权,可以更为准确地预测第三子时刻的位姿,从而可以更准确地预测第二时刻的位姿。
可选的,根据第二位姿生成第二虚拟对象,包括:
根据第一图像帧和第二位姿,生成第二虚拟对象。
可选的,根据第二位姿生成第二虚拟对象,包括:
根据第二位姿和预设虚拟空间模型,生成第二虚拟对象。
可选的,该图像处理方法可以通过以下多线程方式执行:
得到第二时刻对应的待显示图像是通过主线程执行的;预测第二图像帧对应的第二虚拟对象的第二位姿是通过第一从线程执行的。
获取该第二图像帧之后,还包括:
通过执行第二从线程,根据该图像采集装置在该第二时刻的位姿,预测第三图像帧对应的第三虚拟对象的第三位姿,该第三图像帧为该图像采集装置在第三时刻采集的图像帧;该第二时刻位于该第三时刻之前,该第二图像帧和该第三图像帧为该图像采集装置采集的两个相邻图像帧;其中,该第一从线程和该第二从线程并行执行。
通过上述多线程方式,每两个相邻图像帧之间的时间段都会进行位姿预测,通过第一时刻的第一位姿,预测第二时刻的第二位姿,且根据该图像采集装置在该第二时刻的位姿,预测第三图像帧对应的第三虚拟对象的第三位姿,从而依次根据前一图像帧对应图像采集装置的位姿,预测下一图像帧对应的虚拟对象位姿,且一个从线程与一个图像帧对应,从而各图像帧对应的从线程执行互不干扰,即便某个从线程执行出现错误,也不会影响其他从线程对位姿的预测。
可选的,根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿之前,还包括:
通过执行该主线程,对该第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像。
通过上述预处理过程,主线程直接输出第一预处理图像,可以使得第一预处理图像既保留了第一图像帧中的关键特性,又可以有效降低数据量,直接用第一预处理图像参与运算,从而既保持了计算精度,又显著降低了第一从线程的运算量。
可选的,该图像处理方法还包括:
获取到该第一图像帧后,创建该第一从线程;当预测得到该第二虚拟对象的该第二位姿后,该第一从线程被销毁。
通过上述方式,只在需要预测第二位姿时创建第一从线程用于预测第二位姿即可,当第一从线程预测到第二位姿后,第一从线程即被销毁,从而可以及时回收资源。
另外,第一从线程将预测到的第二位姿传输给该主线程可以有多种方式,比如第一从线程直接将第二位姿作为该主线程的输入,也可以按照以下方式传输:
通过执行该第一从线程,将该第二虚拟对象存入共享缓存;为该共享缓存中该第二虚拟对象设置互斥锁;该互斥锁用于禁止该主线程读取该第二虚拟对象;当该第二虚拟对象为该共享缓存中时刻最早的位姿时,将该共享缓存中为该第二虚拟对象设置的互斥锁解除;使用该主线程,从该共享缓存中读取该第二虚拟对象。
通过上述方式,将该第二虚拟对象存入共享缓存后,为该共享缓存中该第二虚拟对象设置互斥锁,当该第二虚拟对象为该共享缓存中时刻最早的位姿时,说明该第二虚拟对象之前的虚拟对象都已经被主线程读取,那么该第二虚拟对象已经是该共享缓存中最先存入 的虚拟对象,可以使得先存入共享缓存的虚拟对象先被主线程读取,从而通过互斥锁,使得虚拟对象能够按照顺序准确地被读取,增加了待显示图像的准确性。
第二方面,本申请提供一种图像处理装置,包括:
预测模块,用于根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿;该第二图像帧为该图像采集装置在第二时刻采集的图像帧;该第一时刻位于该第二时刻之前,且该第一时刻为该图像采集装置采集第一图像帧的时刻,该第一图像帧和该第二图像帧为该图像采集装置采集的两个相邻图像帧;
处理模块,用于根据该第二位姿生成该第二虚拟对象;处理模块,还用于获取该第二图像帧;处理模块,还用于将该第二虚拟对象和该第二图像帧叠加,得到该第二时刻对应的待显示图像。
需要说明的是,第二图像帧是图像采集装置采集的,处理模块可以从图像采集装置处获取第二图像帧,也可以图像采集装置将采集到的第二图像帧存入数据缓存中后,处理模块从数据缓存中获取第二图像帧。
可选的,根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿之前,该预测模块还用于:
获取该图像采集装置在该第一时刻的运动状态;根据该第一图像帧和该第一时刻的运动状态,确定该第一位姿。
可选的,该预测模块具体用于:
对该第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像;根据该第一预处理图像和该第一时刻的运动状态,确定该第一位姿。
可选的,该图像采集装置设置在头戴装置上,该头戴装置上还设置有传感器和显示器;该预测模块具体用于:获取该传感器在该第一时刻采集到的运动状态;将该传感器在该第一时刻采集到的运动状态,作为该图像采集装置在该第一时刻的运动状态;该处理模块还用于:将该待显示图像显示在该显示器上。
可选的,该预测模块具体用于:
根据该第一位姿和该图像采集装置在至少两个时刻的运动状态,预测该图像采集装置在该第二时刻的位姿;该至少两个时刻包括:该第一时刻、该第一时刻之后至该第二时刻之前的至少一个时刻;根据该图像采集装置在该第二时刻的位姿,预测该第二位姿。
可选的,该第一时刻与该第二时刻之间的时间段被划分为至少两个子时段,该至少两个子时段中包括相邻的第一子时段和第二子时段,该第一子时段位于该第二子时段之前,该第一子时段的截止时刻为第一子时刻,该第二子时段的截止时刻为第二子时刻;该预测模块具体用于:
根据该图像采集装置在该第一子时刻预测到的位姿和该图像采集装置在该第一子时刻的运动状态,确定该图像采集装置自该第一子时刻起至该第二子时刻的第一累积位姿;根据该第一子时刻预测到的位姿以及该第一累积位姿,预测该图像采集装置在该第二子时刻的位姿。
可选的,根据所述第一子时刻的位姿以及所述第一累积位姿,预测所述图像采集装置 在所述第二子时刻的位姿,具体可以满足以下公式:
其中,
为该第二子时刻的位姿,
为该第一子时刻的位姿,
为该第一累积位姿,w
0和w
0表示加权系数,t
0表示第一子时刻,t
1表示第二子时刻;
是该第一子时刻的位姿的第一子位姿,该第一子位姿是根据该第一子时段的起始时刻的位姿和该第一子时段的起始时刻的运动状态得到的,
是该第一子时刻的位姿的第二子位姿,该第二子位姿是根据该第一子时段的起始时刻的运动状态得到的;
是该第一累积位姿的第一子累积位姿,该第一子累积位姿是根据该第一子时刻的位姿和该第一子时刻的运动状态得到的,
是该第一累积位姿的第二子累积位姿,该第二子累积位姿是根据该第一子时刻的运动状态得到的。
可选的,该至少两个子时段中包括第三子时段,该第三子时段与该第二子时段相邻,该第三子时段是该时间段内的最后一个子时段,该第三子时段的截止时刻为第三子时刻;该预测模块还用于:
根据该第二子时刻的位姿、该第二子时刻的运动状态,确定该图像采集装置自该第二子时刻起至该第三子时刻的第二累积位姿和该第二子时刻的位姿的算法校正结果;根据该第二累积位姿、该第二子时刻的位姿以及该第二子时刻的位姿的算法校正结果,预测该图像采集装置在该第三子时刻的位姿。
可选的,根据该第二累积位姿、该第二子时刻的位姿以及该第二子时刻的位姿的算法校正结果,预测该图像采集装置在该第三子时刻的位姿,满足以下公式:
其中,
为该第三子时刻的位姿,
为该第二子时刻的位姿的算法校正结果,
为该第二累积位姿,
为该第二子时刻的位姿,w
2和w
3表示加权系数,t
1表示第二子时刻,t
2表示第三子时刻。
可选的,该处理模块具体用于:
根据第一图像帧和第二位姿,生成该第二虚拟对象。
可选的,该处理模块具体用于:
根据第二位姿和预设虚拟空间模型,生成该第二虚拟对象。
可选的,得到该第二时刻对应的待显示图像是通过主线程执行的;预测第二图像帧对应的第二虚拟对象的第二位姿是通过第一从线程执行的;该处理模块还用于:
通过执行第二从线程,根据该图像采集装置在该第二时刻的位姿,预测第三图像帧对应的第三虚拟对象的第三位姿,该第三图像帧为该图像采集装置在第三时刻采集的图像帧;该第二时刻位于该第三时刻之前,该第二图像帧和该第三图像帧为该图像采集装置采集的两个相邻图像帧;其中,该第一从线程和该第二从线程并行执行。
可选的,该处理模块还用于:
通过执行该主线程,对该第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像。
可选的,该处理模块还用于:
获取到该第一图像帧后,创建该第一从线程;当预测得到该第二虚拟对象的该第二位姿后,该第一从线程被销毁。
可选的,该处理模块还用于:
通过执行该第一从线程,将该第二虚拟对象存入共享缓存;为该共享缓存中该第二虚拟对象设置互斥锁;该互斥锁用于禁止该主线程读取该第二虚拟对象;当该第二虚拟对象为该共享缓存中时刻最早的位姿时,将该共享缓存中为该第二虚拟对象设置的互斥锁解除;使用该主线程,从该共享缓存中读取该第二虚拟对象。
第三方面,提供另一种图像处理装置,该装置包括:一个或多个处理器以及传输接口;其中,该一个或多个处理器被配置为调用存储在存储器中的计算机指令,使得该装置执行如上述第一方面中任一项的方法。
第四方面,提供一种电子设备,该电子设备包括:一个或多个处理器;一个或多个存储器;其中,该一个或多个存储器存储有一个或多个计算机指令,当该一个或多个计算机指令被该一个或多个处理器执行时,使得该电子设备执行如上述第一方面中任一项的方法。
第五方面,提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当计算机指令在计算机上运行时,使得该计算机执行如上述第一方面中任一项的方法。
第六方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当该计算机指令在计算机或处理器上执行时,使得该计算机或该处理器执行如上述第一方面中任一项的方法。
以上第二方面到第六方面的有益效果,请参见第一方面的有益效果,不重复赘述。
图1为本申请实施例提供的一种图像处理方法的流程示意图;
图2为本申请实施例提供的一种图像处理方法可应用的物理设备的结构示意图;
图3为本申请实施例提供的一种图像处理方法可应用的架构示意图;
图4为本申请实施例提供的一种图像处理方法中相邻子时段的情形的时间示意图;
图5为本申请实施例提供的一种图像处理方法中第三子时段的情形的时间示意图;
图6为本申请实施例提供的一种图像处理方法中多线程方式的具体过程示意图;
图7为本申请实施例提供的一种图像处理装置的结构示意图;
图8为本申请实施例提供的另一种图像处理装置的结构示意图。
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或***实施例中。
以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“所述”、“上述”、“该”和“这一”旨在也包括例如“一个或多个”这种表达形式,除非其上下文中明确地有相反指示。还应当理解,在本申请实施例中,“一个或多个”是指一个或两个以上(包含两个);“和/或”,描述关联对象的关联关系,表示可以存在三种关系;例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A、B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个 或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例中的术语多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个。例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C,A和B,A和C,B和C,或A和B和C。A、B或C中的至少一个,可以解释为A、B、C,A和B,A和C,B和C,或A和B和C。同理,对于“至少一种”等描述的理解,也是类似的。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
虚拟现实(virtual reality,VR)、增强现实(augmented reality,AR)、混合现实(mixed reality,MR)等技术是将虚拟世界呈现给使用者的常用技术,AR和MR均要以VR为基础。视频透视技术(video see through,VST)或透视技术(pass through,PT)是以VR技术为基础的常见应用技术,VST或PT可以从真实世界场景获取图像帧,在图像帧上叠加虚拟对象,显示在人眼面前。然而,从采集图像帧到显示图像需要一系列的处理,存在较久的处理时延。为此,如图1所示,本申请实施例提供一种图像处理方法。
步骤101:根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿。
所述第二图像帧为所述图像采集装置在第二时刻采集的图像帧;所述第一时刻位于所述第二时刻之前,且所述第一时刻为所述图像采集装置采集第一图像帧的时刻,所述第一图像帧和所述第二图像帧为所述图像采集装置采集的两个相邻图像帧。
步骤102:根据所述第二位姿生成所述第二虚拟对象。
步骤103:获取所述第二图像帧。
步骤104:将所述第二虚拟对象和所述第二图像帧叠加,得到所述第二时刻对应的待显示图像。
步骤101~步骤104所述的方法中,所述第一图像帧和所述第二图像帧为所述图像采集装置采集的两个相邻图像帧,显然,所述第一时刻与所述第二时刻之间的时长是根据图像采集装置的帧率确定的,举例来说,图像采集装置的帧率为20Hz,那么所述第一时刻与所述第二时刻之间的时长为50ms。
需要说明的是,现有技术中,由于计算位姿的处理时延较久,由于计算位姿的处理时延较久,当计算得到第二图像帧对应的第二虚拟对象时,可能会出现获取到第二图像帧之后的图像帧(如第四图像帧)的情况,从而使得第二图像帧对应的第二虚拟对象与第二图像帧之后的图像帧叠加,导致待显示图像中虚拟对象和图像帧不匹配,第四图像帧为第二 图像帧之后的第二个图像帧;而步骤101~步骤104所述的方法下,可以在第二图像帧采集到时就可以直接获取到与之匹配的第二虚拟对象,从而待显示图像可以显示实时采集的图像。
步骤101之前,所述第一位姿可以按照以下方式获取:
根据第一图像帧,确定第一位姿。
具体确定方式可以依据预设位姿算法,预设位姿算法可以为即时定位与地图构建(simultaneous localization and mapping,SLAM)算法。
需要说明的是,上述方式中,既可以直接将第一图像帧作为预设位姿算法的输入,也可以将第一图像帧进行预处理后,将预处理后的图像作为预设位姿算法的输入。
所述第一位姿也可以按照以下方式获取:
根据所述图像采集装置在所述第一时刻的运动状态,计算得到第一位姿。
上述方式中,同样可以依据预设位姿算法,且既可以直接将第一时刻的运动状态作为预设位姿算法的输入,也可以将第一时刻的运动状态进行预处理后,将预处理后的图像作为预设位姿算法的输入。
也可以按照如下步骤(以下称为综合确定第一位姿的步骤)确定所述第一位姿:
获取所述图像采集装置在所述第一时刻的运动状态;根据所述第一图像帧和所述第一时刻的运动状态,确定所述第一位姿。
举例来说,可以根据所述第一图像帧按照第一预设位姿算法,确定第一加权位姿;并根据所述第一时刻的运动状态,按照第二预设位姿算法,确定第二加权位姿;根据第一加权位姿和第二加权位姿进行加权平均,确定所述第一位姿。
也可以只用一种预设位姿算法,举例来说,根据所述第一时刻的运动状态,确定所述第一位姿中的位置信息,根据所述第一图像帧,确定所述第一位姿中的姿态信息。
由于仅根据第一图像帧或仅根据所述第一时刻的运动状态确定第一位姿,都可能会忽略局部的位姿计算因素,所以综合所述第一图像帧和所述第一时刻的运动状态,确定所述第一位姿,可以使得所述第一位姿充分考虑图像帧和运动状态的因素,使得所述第一位姿更加精确。
综合确定第一位姿的步骤中,根据所述第一图像帧和所述第一时刻的运动状态,确定所述第一位姿,具体可以如下:
对所述第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像;根据所述第一预处理图像和所述第一时刻的运动状态,确定所述第一位姿。
通过上述预处理过程,可以使得第一预处理图像既保留了第一图像帧中的关键特性,又可以有效降低数据量,直接用第一预处理图像参与运算,从而既保持了计算精度,又显著降低了运算量,从而可以提升确定所述第一位姿的效率。
步骤101~步骤104的方法可以应用于如图2所示的物理设备。该物理设备包括头戴装置1、传感器2、图像采集装置3和显示器4。头戴装置1用于对图像进行计算处理,具体可以通过在头戴装置1中设置处理器和存储器来实现。所述图像采集装置3设置在头戴装置1上,所述头戴装置1上还设置有传感器2和显示器4。需要说明的是,图2所示的物理设备仅作为示例展示步骤101~步骤104的方法可应用的物理设备,图2所示的物理设备 还可以根据实际需求做多种变形,举例来说,该物理设备还可以包括固定装置,防止用户佩戴头戴装置1时因为运动而脱落。
基于图2所示的架构,综合确定第一位姿的步骤中,具体可以按照以下方式获取所述图像采集装置3在所述第一时刻的运动状态:
获取所述传感器2在所述第一时刻采集到的运动状态;将所述传感器2在所述第一时刻采集到的运动状态,作为所述图像采集装置3在所述第一时刻的运动状态。
需要说明的是,上述传感器2的运动状态和图像采集装置3的运动状态可以设置同步运动,从而可以降低所述图像采集装置3在所述第一时刻的运动状态的偏差。
基于图2所示的物理设备,步骤104具体可以由显示器4执行,并将待显示图像显示在所述显示器4上。
基于图2所示的物理设备,图1示出的方法可以应用于图3所示的架构。图3示出的架构中,可以通过传感器2获取图像采集装置3在第一时刻的运动状态,并获取图像采集装置3在第一时刻的第一图像帧,输出到头戴装置1中,从而头戴装置1可以根据第一时刻的运动状态和第一图像帧得到第一位姿,进而基于第一位姿预测第二位姿,并进一步得到第二虚拟对象,当通过图像采集装置3获得了第二时刻的第二图像帧时,头戴装置1便可以将在第二时刻前预先生成的第二虚拟图像与第二图像帧叠加,得到待显示图像,并输出至显示器4进行显示。
需要说明的是,上述架构只是图1应用的一个示例,图3示出的架构还可以有多种变形,如传感器2还可以获取第一时刻之后至第二时刻之前的至少一个时刻的运动状态。
下面详细描述步骤101~步骤104的具体过程。
步骤101的一种可能情形可以如下:
根据所述第一位姿和所述第一时刻的运动状态,预测所述第二位姿。
具体来说,可以将第一时刻至第二时刻之间时间段内图像采集装置的运动状态近似为所述第一时刻的运动状态,以所述第一位姿为基准,根据所述第一时刻的运动状态,确定第一时刻至第二时刻之间时间段内的累积位姿,从而预测所述第二位姿;或者,根据所述第一时刻的运动状态预测第一时刻至第二时刻图像采集装置的运动状态,预测第一时刻至第二时刻图像采集装置的运动状态,以所述第一位姿为基准,根据预测的第一时刻至第二时刻之间图像采集装置的运动状态,确定第一时刻至第二时刻之间时间段内的累积位姿,从而预测所述第二位姿。
上述两种方式仅作为示例,根据所述第一位姿和所述第一时刻的运动状态,预测所述第二位姿的实施方式还可以有多种,在此不再赘述。
步骤101的一种可能情形(以下称为至少两个时刻的情形)还可以如下:
根据所述第一位姿和所述图像采集装置在至少两个时刻的运动状态,预测所述图像采集装置在所述第二时刻的位姿;根据所述图像采集装置在所述第二时刻的位姿,预测所述第二位姿。
其中,所述至少两个时刻包括:所述第一时刻、所述第一时刻之后至所述第二时刻之前的至少一个时刻。
上述情形下,在计算所述第二位姿的过程中,除了第一时刻的运动状态外,还考虑了所述第一时刻之后至所述第二时刻之前中间至少一个时刻的运动状态,从而及时捕捉到第 一时刻之后的运动状态变化,更准确地预测所述第二位姿。
上述至少两个时刻的情形中,更具体的情形可以如下:
根据所述第一位姿和所述图像采集装置在至少两个时刻的运动状态的平均运动状态,预测所述第一时刻至所述第二时刻的累积位姿,并根据所述第一时刻至所述第二时刻的累积位姿以及所述第一位姿,预测所述图像采集装置在所述第二时刻的位姿,并根据所述图像采集装置在所述第二时刻的位姿,预测所述第二位姿。
上述至少两个时刻的情形中,更具体的情形还可以如下(以下称为相邻子时段的情形):
所述第一时刻与所述第二时刻之间的时间段被划分为至少两个子时段,所述至少两个子时段中包括相邻的第一子时段和第二子时段,所述第一子时段位于所述第二子时段之前,所述第一子时段的截止时刻为第一子时刻,所述第二子时段的截止时刻为第二子时刻。
需要说明的是,相邻子时段的情形中以任意两个相邻的第一子时段和第二子时段为例说明,该情形具体的时间示意图可以如图4所示。另外,第一子时段的截止时刻与第二子时段的开始时刻的关系不做约束,图4中仅以第一子时段的截止时刻为第二子时段的开始时刻为例,第一子时段的截止时刻也可以第二子时段的开始时刻之前,使得第一子时段与第二子时段之间也有时段间隔。
相邻子时段的情形中,可以具体按照以下方式,根据所述第一位姿和所述图像采集装置在至少两个时刻的运动状态,预测所述图像采集装置在所述第二时刻的位姿:
根据所述图像采集装置在所述第一子时刻预测到的位姿和所述图像采集装置在所述第一子时刻的运动状态,确定所述图像采集装置自所述第一子时刻起至所述第二子时刻的第一累积位姿;
根据所述第一子时刻预测到的位姿以及所述第一累积位姿,预测所述图像采集装置在所述第二子时刻的位姿。
显然,通过上述方式,针对任意两个相邻的第一子时段和第二子时段,以所述第一子时刻预测到的位姿和所述第一子时刻的运动状态为基准,预测所述图像采集装置在所述第二子时刻的位姿,从而每次迭代都参照了最新的第一子时段的截止时刻的运动状态,直至预测到所述图像采集装置在所述第二时刻的位姿,所以通过多个子时段多次分段预测可以更准确地预测到所述图像采集装置在所述第二时刻的位姿。
可选的,所述根据所述第一子时刻的位姿以及所述第一累积位姿,预测所述图像采集装置在所述第二子时刻的位姿,具体可以满足以下公式:
其中,
为所述第二子时刻的位姿,
为所述第一子时刻的位姿,
为所述第一累积位姿,w
0和w
0表示加权系数,t
0表示第一子时刻,t
1表示第二子时刻;
是所述第一子时刻的位姿的第一子位姿,所述第一子位姿是根据所述第一子时段的起始时刻的位姿和所述第一子时段的起始时刻的运动状态得到的,
是所述第一子时刻的位姿的第二子位姿,所述第二子位姿是根据所述第一子时段的起始时刻的运动状态得到的;
是所述第一累积位姿的第一子累积位姿,所述第一子累积位姿是根据所述第 一子时刻的位姿和所述第一子时刻的运动状态得到的,
是所述第一累积位姿的第二子累积位姿,所述第二子累积位姿是根据所述第一子时刻的运动状态得到的。
上述公式中,第一子位姿、第一子累积位姿都是根据所述第一子时段的起始时刻的位姿得到的,而预测到的位姿都是根据第一时刻的第一图像帧得到的,所以第一子位姿、第一子累积位姿是考虑了第一图像帧计算得到的位姿,而第二子位姿、第二子累积位姿都是根据运动状态得到的,并未考虑第一图像帧,所以将考虑了第一图像帧的位姿和未考虑第一图像帧的位姿进行加权平均,可以更准确地预测所述第二子时刻的位姿。
需要说明的是,上述公式仅是预测所述第二子时刻的位姿一种计算方式,根据所述第一子时刻的位姿以及所述第一累积位姿,预测所述图像采集装置在所述第二子时刻的位姿,可根据需求灵活选择公式计算,举例来说,公式还可以如下:
或者,也可以如下:
在上述相邻子时段的情形中,更具体的情形(以下称为第三子时段的情形)可以如下:
所述至少两个子时段中包括第三子时段,所述第三子时段与所述第二子时段相邻,所述第三子时段是所述时间段内的最后一个子时段,所述第三子时段的截止时刻为第三子时刻。
需要说明的是,第三子时段的情形中,所述至少两个子时段包括至少三个子时段,该情形具体的时间示意图可以如图5所示。另外,第二子时段的截止时刻与第三子时段的开始时刻的关系不做约束,图5中仅以第二子时段的截止时刻为第三子时段的开始时刻为例,第二子时段的截止时刻也可以第三子时段的开始时刻之前,使得第二子时段与第三子时段之间有时段间隔。
可以执行以下步骤:
根据所述第二子时刻的位姿、所述第二子时刻的运动状态,确定所述图像采集装置自所述第二子时刻起至所述第三子时刻的第二累积位姿和所述第二子时刻的位姿的算法校正结果;
根据所述第二累积位姿、所述第二子时刻的位姿以及所述第二子时刻的位姿的算法校正结果,预测所述图像采集装置在所述第三子时刻的位姿。
上述方式下,对于第三子时段,由于第二子时刻之后至第三子时刻之前不会再获取图像采集装置的运动状态,可以先根据所述第二子时刻的位姿、所述第二子时刻的运动状态,对所述第二子时刻的位姿进行校正,并进一步预测所述图像采集装置在所述第三子时刻的位姿,从而可以对所述第三子时刻的位姿进行校正,获得更准确的所述第三子时刻的位姿。
可选的,所述根据所述第二累积位姿、所述第二子时刻的位姿以及所述第二子时刻的位姿的算法校正结果,预测所述图像采集装置在所述第三子时刻的位姿,满足以下公式:
其中,
为所述第三子时刻的位姿,
为所述第二子时刻的位姿的算法校正结果,
为所述第二累积位姿,
为所述第二子时刻的位姿,w
2和w
3表示加权系数,t
1表示第二子时刻,t
2表示第三子时刻。
上述公式中,通过所述第二子时刻的位姿的算法校正结果和所述第二累积位姿,得到第二子时刻累积至第三子时刻的算法校正的结果,再将进行算法校正的结果和未进行算法校正的所述第二子时刻的位姿进行加权,可以更为准确地预测第三子时刻的位姿,从而可以更准确地预测第二时刻的位姿。
需要说明的是,上述公式仅是预测所述第三子时刻的位姿一种计算方式,根据所述第二累积位姿、所述第二子时刻的位姿以及所述第二子时刻的位姿的算法校正结果,预测所述图像采集装置在所述第三子时刻的位姿,可根据需求灵活选择公式计算,举例来说,公式还可以如下:
步骤102具体可以按照如下方式执行:
根据第一图像帧和第二位姿,生成所述第二虚拟对象。
具体来说,第一时刻对应的位姿为第一位姿,且第一时刻采集的图像帧为第一图像帧,那么可以根据第一位姿至第二位姿的变化,将第一图像帧进行相应的图像扭曲,从而得到第二虚拟对象。
或者,可以根据第二位姿和预设虚拟空间模型,生成所述第二虚拟对象。
具体来说,预设虚拟空间模型是预先构建的虚拟空间,在预设虚拟空间模型处于某个位置并保持某个姿态(如获取某一位姿时),便可以根据该位姿和预设虚拟空间模型,确定该位姿相应的图像帧,并生成相应的虚拟对象。所以,当预测到第二位姿时,便可以根据第二位姿和预设虚拟空间模型,生成所述第二虚拟对象。
需要说明的是,步骤101~步骤104所述的方法具体可以通过以下多线程方式实现:
步骤101、步骤102可以均通过第一从线程执行,也可以由第一从线程和主线程一起联合执行,如可由第一从线程执行步骤101,再由主线程执行步骤102;步骤103、步骤104可以均通过主线程执行,也可以由主线程和显示线程联合执行,如主线程执行步骤103后,由显示线程执行步骤104,具体的线程执行方式可根据实际需求灵活选取,在此不做限定。
在步骤101之前,还可以通过主线程按照以下方式获取第一图像帧和第一位姿:
通过执行所述主线程,获取第一图像帧,对所述第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像。
在主线程获得第一预处理图像之后,便可根据第一预处理图像和第一时刻的运动状态,确定第一位姿。确定第一位姿的步骤既可以由主线程执行,也可以由第一从线程执行,若第一从线程执行该步骤,那么主线程便可以专用于获取图像帧,或者对获取的图像帧进行预处理,或者得到待显示图像,从而能够降低主线程得到待显示图像的时延,中间对第二位姿进行预测的过程可以交由第一从线程专门执行,从而保证了整个流程的流畅执行。
在步骤103之后,还可以通过执行第二从线程,根据所述图像采集装置在所述第二时刻的位姿,预测第三图像帧对应的第三虚拟对象的第三位姿。
所述第三图像帧为所述图像采集装置在第三时刻采集的图像帧;所述第二时刻位于所述第三时刻之前,所述第二图像帧和所述第三图像帧为所述图像采集装置采集的两个相邻图像帧;其中,所述第一从线程和所述第二从线程并行执行。
显然,第二从线程和第一从线程的执行动作可以是相同的,只是执行的对象和预测的位姿不同。即第一从线程的执行对象是第一时刻的位姿,预测的是第二位姿,而第二从线程的执行对象是第二时刻的位姿,预测的是第三位姿,具体第二从线程如何根据第二时刻的位姿预测第三位姿,可以参照上述第一从线程预测第二位姿的描述,其过程类似,在此不再赘述。
通过上述多线程方式,每两个相邻图像帧之间的时间段都会进行位姿预测,通过第一时刻的第一位姿,预测第二时刻的第二位姿,且根据所述图像采集装置在所述第二时刻的位姿,预测第三图像帧对应的第三虚拟对象的第三位姿,从而依次根据前一图像帧对应图像采集装置的位姿,预测下一图像帧对应的虚拟对象位姿,且一个从线程与一个图像帧对应,从而各图像帧对应的从线程执行互不干扰,即便某个从线程执行出现错误,也不会影响其他从线程对位姿的预测。
上述多线程方式中,主线程可以一直运行,而从线程既可以一直运行,具体如下:
K个从线程一直运行,K为大于2的正整数,每个图像帧获取到后,都可以通过相应的从线程进行处理。举例来说,可以按照图像帧获取的先后顺序,依次交由相应的从线程,如共有3个从线程,第一从线程、第二从线程和第三从线程,第一从线程用于处理第一图像帧、第四图像帧、第七图像帧,其它从线程可以以此类推。
也可以根据具体情形开启或销毁,具体如下:
获取到所述第一图像帧后,创建所述第一从线程;
当预测得到所述第二虚拟对象的所述第二位姿后,所述第一从线程被销毁。
需要说明的是,第一从线程既可以自行销毁,也可以由主线程销毁。
显然,通过上述方式,只在需要预测第二位姿时创建第一从线程用于预测第二位姿即可,当第一从线程预测到第二位姿后,第一从线程即被销毁,从而可以及时回收资源。
另外,第一从线程将预测到的第二位姿传输给所述主线程可以有多种方式,比如第一从线程直接将第二位姿作为所述主线程的输入,也可以按照以下方式传输:
通过执行所述第一从线程,将所述第二虚拟对象存入共享缓存;为所述共享缓存中所述第二虚拟对象设置互斥锁。所述互斥锁用于禁止所述主线程读取所述第二虚拟对象。
当所述第二虚拟对象为所述共享缓存中时刻最早的位姿时,将所述共享缓存中为所述第二虚拟对象设置的互斥锁解除;使用所述主线程,从所述共享缓存中读取所述第二虚拟对象。
通过上述方式,将所述第二虚拟对象存入共享缓存后,为所述共享缓存中所述第二虚拟对象设置互斥锁,当所述第二虚拟对象为所述共享缓存中时刻最早的位姿时,说明所述第二虚拟对象之前的虚拟对象都已经被主线程读取,那么所述第二虚拟对象已经是所述共享缓存中最先存入的虚拟对象,可以使得先存入共享缓存的虚拟对象先被主线程读取,从而通过互斥锁,使得虚拟对象能够按照顺序准确地被读取,增加了待显示图像的准确性。
基于上述多线程方式的描述,多线程方式的具体过程可以参照图6。
线程0(主线程)获取图像采集装置采集的第X图像帧,X为正整数。图6示出的具过程中X表示图像采集装置所采集图像帧的序号,举例来说,第X图像帧可以为第一图像帧,可以为第二图像帧,…,也可以为第N图像帧等,N为大于2的正整数;第X时刻可以为第一时刻,可以为第二时刻,…,也可以为第N时刻等。图6以第X时刻至第X+1 时刻的过程为例说明多线程方式的具体过程。
线程0(主线程)获取图像采集装置采集的第X图像帧时,线程X可以开始创建。第X从线程可以为第一从线程、第二从线程…第N从线程等。
线程0可以将第X图像帧存入数据缓存,也可以对第X图像帧进行预处理,获得第X预处理图像,并将第X预处理图像存入数据缓存(图6中以对第X图像帧进行预处理为例说明);线程X(第X从线程)也可以在获得第X预处理图像时创建。
在第X时刻至第X+1时刻的时间段,线程X创建后,便可以根据第X预处理图像(也可以直接根据第X图像帧)和第X时刻的运动状态,预测第X+1位姿,并根据第X+1位姿生成第X+1虚拟对象;举例来说,线程1(如第一从线程)创建后,根据第一预处理图像和第一时刻的运动状态,预测第二位姿,并根据第二位姿生成第二虚拟对象。
将第X+1虚拟对象存入共享缓存后,可以为第X+1虚拟对象加上互斥锁,当主线程(线程0)需要获取第X+1虚拟对象时(即第X+1虚拟对象为共享缓存中最早的虚拟对象时),为第X+1虚拟对象解锁。
在获取到第X+1图像帧后,将第X+1图像帧和第X+1虚拟对象叠加,便获得了第X+1时刻的待显示图像;在获取到第X+1图像帧之前,获取到第X图像帧之后,已将第X图像帧和第X虚拟对象叠加,获得了第X时刻的待显示图像。所以,通过上述多线程方式,可以使得每获得一个图像帧都可以预测下一相邻图像帧的位姿,生成下一相邻图像帧对应的虚拟对象,并在获取下一相邻图像帧时,叠加得到待显示图像,由于各个图像帧都有对应的从线程各自负责,且还可以设置互斥锁,各个图像帧的处理都不受影响。
如图7所示,本申请提供一种图像处理装置,包括:
预测模块701,用于根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿;该第二图像帧为该图像采集装置在第二时刻采集的图像帧;该第一时刻位于该第二时刻之前,且该第一时刻为该图像采集装置采集第一图像帧的时刻,该第一图像帧和该第二图像帧为该图像采集装置采集的两个相邻图像帧;
处理模块702,用于根据该第二位姿生成该第二虚拟对象;处理模块702,还用于获取该第二图像帧;处理模块702,还用于将该第二虚拟对象和该第二图像帧叠加,得到该第二时刻对应的待显示图像。
需要说明的是,第二图像帧是图像采集装置采集的,处理模块702可以从图像采集装置处获取第二图像帧,也可以图像采集装置将采集到的第二图像帧存入数据缓存中后,处理模块702从数据缓存中获取第二图像帧。
可选的,根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿之前,该预测模块701还用于:
获取该图像采集装置在该第一时刻的运动状态;根据该第一图像帧和该第一时刻的运动状态,确定该第一位姿。
可选的,该预测模块701具体用于:
对该第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像;根据该第一预处理图像和该第一时刻的运动状态,确定该第一位姿。
可选的,该图像采集装置设置在头戴装置上,该头戴装置上还设置有传感器和显示器; 该预测模块701具体用于:获取该传感器在该第一时刻采集到的运动状态;将该传感器在该第一时刻采集到的运动状态,作为该图像采集装置在该第一时刻的运动状态;该处理模块702还用于:将该待显示图像显示在该显示器上。
可选的,该预测模块701具体用于:
根据该第一位姿和该图像采集装置在至少两个时刻的运动状态,预测该图像采集装置在该第二时刻的位姿;该至少两个时刻包括:该第一时刻、该第一时刻之后至该第二时刻之前的至少一个时刻;根据该图像采集装置在该第二时刻的位姿,预测该第二位姿。
可选的,该第一时刻与该第二时刻之间的时间段被划分为至少两个子时段,该至少两个子时段中包括相邻的第一子时段和第二子时段,该第一子时段位于该第二子时段之前,该第一子时段的截止时刻为第一子时刻,该第二子时段的截止时刻为第二子时刻;该预测模块701具体用于:
根据该图像采集装置在该第一子时刻预测到的位姿和该图像采集装置在该第一子时刻的运动状态,确定该图像采集装置自该第一子时刻起至该第二子时刻的第一累积位姿;根据该第一子时刻预测到的位姿以及该第一累积位姿,预测该图像采集装置在该第二子时刻的位姿。
可选的,根据所述第一子时刻的位姿以及所述第一累积位姿,预测所述图像采集装置在所述第二子时刻的位姿,具体可以满足以下公式:
其中,
为该第二子时刻的位姿,
为该第一子时刻的位姿,
为该第一累积位姿,w
0和w
0表示加权系数,t
0表示第一子时刻,t
1表示第二子时刻;
是该第一子时刻的位姿的第一子位姿,该第一子位姿是根据该第一子时段的起始时刻的位姿和该第一子时段的起始时刻的运动状态得到的,
是该第一子时刻的位姿的第二子位姿,该第二子位姿是根据该第一子时段的起始时刻的运动状态得到的;
是该第一累积位姿的第一子累积位姿,该第一子累积位姿是根据该第一子时刻的位姿和该第一子时刻的运动状态得到的,
是该第一累积位姿的第二子累积位姿,该第二子累积位姿是根据该第一子时刻的运动状态得到的。
可选的,该至少两个子时段中包括第三子时段,该第三子时段与该第二子时段相邻,该第三子时段是该时间段内的最后一个子时段,该第三子时段的截止时刻为第三子时刻;该预测模块701还用于:
根据该第二子时刻的位姿、该第二子时刻的运动状态,确定该图像采集装置自该第二子时刻起至该第三子时刻的第二累积位姿和该第二子时刻的位姿的算法校正结果;根据该第二累积位姿、该第二子时刻的位姿以及该第二子时刻的位姿的算法校正结果,预测该图像采集装置在该第三子时刻的位姿。
可选的,根据该第二累积位姿、该第二子时刻的位姿以及该第二子时刻的位姿的算法校正结果,预测该图像采集装置在该第三子时刻的位姿,满足以下公式:
其中,
为该第三子时刻的位姿,
为该第二子时刻的位姿的算法校正结果,
为该第二累积位姿,
为该第二子时刻的位姿,w
2和w
3表示加权系数,t
1表示第二子时刻,t
2表示第三子时刻。
可选的,该处理模块702具体用于:
根据第一图像帧和第二位姿,生成该第二虚拟对象。
可选的,该处理模块702具体用于:
根据第二位姿和预设虚拟空间模型,生成该第二虚拟对象。
可选的,得到该第二时刻对应的待显示图像是通过主线程执行的;预测第二图像帧对应的第二虚拟对象的第二位姿是通过第一从线程执行的;该处理模块702还用于:
通过执行第二从线程,根据该图像采集装置在该第二时刻的位姿,预测第三图像帧对应的第三虚拟对象的第三位姿,该第三图像帧为该图像采集装置在第三时刻采集的图像帧;该第二时刻位于该第三时刻之前,该第二图像帧和该第三图像帧为该图像采集装置采集的两个相邻图像帧;其中,该第一从线程和该第二从线程并行执行。
可选的,该处理模块702还用于:
通过执行该主线程,对该第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像。
可选的,该处理模块702还用于:
获取到该第一图像帧后,创建该第一从线程;当预测得到该第二虚拟对象的该第二位姿后,该第一从线程被销毁。
可选的,该处理模块702还用于:
通过执行该第一从线程,将该第二虚拟对象存入共享缓存;为该共享缓存中该第二虚拟对象设置互斥锁;该互斥锁用于禁止该主线程读取该第二虚拟对象;当该第二虚拟对象为该共享缓存中时刻最早的位姿时,将该共享缓存中为该第二虚拟对象设置的互斥锁解除;使用该主线程,从该共享缓存中读取该第二虚拟对象。
本申请实施例还提供另一种图像处理装置,该装置包括:一个或多个处理器以及传输接口;其中,该一个或多个处理器被配置为调用存储在存储器中的计算机指令,使得该装置执行图1所示的方法中的步骤及可选步骤。
如图8所示,图8是本申请实施例提供的另一种电子设备的结构示意图。该电子设备可以是图像处理装置,该电子设备800包括:至少一个中央处理器(Central Processing Unit,CPU),存储器,存储器的类型例如可以包括静态随机存取存储器(Static Random-Access Memory,SRAM)和只读存储器(Read-Only Memory,ROM),微控制器(Micro controller Unit,MCU)、无线局域网(Wireless Local Area Network,WLAN)子***、总线、传输接口等。虽然图8中未示出,该电子设备800还可以包括应用处理器(Application Processor,AP),NPU等其他专用处理器,以及电源管理子***、时钟管理子***和功耗管理子***等其他子***。
电子设备800的上述各个部分通过连接器相耦合,示例性的,连接器包括各类接口、传输线或总线等,这些接口通常是电性通信接口,但是也可能是机械接口或其它形式的接口,本实施例对此不做限定。
可选的,CPU可以是一个单核(single-CPU)处理器或多核(multi-CPU)处理器;可选的,CPU可以是多个处理器构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。在一种可选的情况中,CPU通过调用片上述存储器或者片外存储器中存储的程序指令实现如前述方法实施例中的任一种图像处理方法。在一种可选的情况中,CPU和MCU 共同实现如前述方法实施例中的任一种图像处理方法,例如CPU完成图像处理方法中的部分步骤,而MCU完成图像处理方法中的其他步骤。在一种可选的情况中,AP或者其他专用处理器通过调用片上述存储器或者片外存储器中存储的程序指令实现如前述方法实施例中的任一种图像处理方法。
该传输接口可以为处理器芯片的接收和发送数据的接口,该传输接口通常包括多种接口,在一种可选的情况下,该传输接口可以包括内部整合电路(Inter-Integrated Circuit,I2C)接口、串行外设接口(Serial Peripheral Interface,SPI)、通用异步收发机(Universal asynchronous receiver-transmitter,UART)接口、通用输入输出(General-purpose input/output,GPIO)接口等。应当理解,这些接口可以是通过复用相同的物理接口来实现不同的功能。
在一种可选的情况中,传输接口还可以包括高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)、V-By-One接口、嵌入式显示端口(Embedded Display Port,eDP)、移动产业处理器接口(Mobile Industry Processor Interface,MIPI)或Display Port(DP)等。
在一种可选的情况中,上述各部分集成在同一个芯片上;在另一种可选的情况中,存储器可以是独立存在的芯片。
WLAN子***例如可以包括射频电路和基带。
在本申请实施例中涉及的芯片是以集成电路工艺制造在同一个半导体衬底上的***,也叫半导体芯片,其可以是利用集成电路工艺制作在衬底(通常是例如硅一类的半导体材料)上形成的集成电路的集合,其外层通常被半导体封装材料封装。所述集成电路可以包括各类功能器件,每一类功能器件包括逻辑门电路、金属氧化物半导体(Metal-Oxide-Semiconductor,MOS)晶体管、双极晶体管或二极管等晶体管,也可包括电容、电阻或电感等其他部件。每个功能器件可以独立工作或者在必要的驱动软件的作用下工作,可以实现通信、运算、或存储等各类功能。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机指令,这些计算机指令被计算机调用执行时,可以使得计算机完成上述方法实施例、方法实施例的任意一种可能的设计中所涉及的方法。本申请实施例中,对计算机可读存储介质不做限定,例如,可以是RAM(random-access memory,随机存取存储器)、ROM(read-only memory,只读存储器)等。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当该计算机指令在计算机或处理器上执行时,使得该计算机或该处理器执行上述方法实施例、方法实施例的任意一种可能的设计中所涉及的方法。
本申请实施例还提供一种芯片,该芯片可以包括处理器以及接口电路,用于完成上述方法实施例、方法实施例的任意一种可能的实现方式中所涉及的方法,其中,“耦合”是指两个部件彼此直接或间接地结合,这种结合可以是固定的或可移动性的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机指令的形式实现。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存 储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于终端设备中。可选地,处理器和存储媒介也可以设置于终端设备中的不同的部件中。
这些计算机指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (23)
- 一种图像处理方法,其特征在于,包括:根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿;所述第二图像帧为所述图像采集装置在第二时刻采集的图像帧;所述第一时刻位于所述第二时刻之前,且所述第一时刻为所述图像采集装置采集第一图像帧的时刻,所述第一图像帧和所述第二图像帧为所述图像采集装置采集的两个相邻图像帧;根据所述第二位姿生成所述第二虚拟对象;获取所述第二图像帧;将所述第二虚拟对象和所述第二图像帧叠加,得到所述第二时刻对应的待显示图像。
- 如权利要求1所述的方法,其特征在于,所述根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿,包括:根据所述第一位姿和所述图像采集装置在至少两个时刻的运动状态,预测所述图像采集装置在所述第二时刻的位姿;所述至少两个时刻包括:所述第一时刻、所述第一时刻之后至所述第二时刻之前的至少一个时刻;根据所述图像采集装置在所述第二时刻的位姿,预测所述第二位姿。
- 如权利要求2所述的方法,其特征在于,所述第一时刻与所述第二时刻之间的时间段被划分为至少两个子时段,所述至少两个子时段中包括相邻的第一子时段和第二子时段,所述第一子时段位于所述第二子时段之前,所述第一子时段的截止时刻为第一子时刻,所述第二子时段的截止时刻为第二子时刻;所述根据所述第一位姿和所述图像采集装置在至少两个时刻的运动状态,预测所述图像采集装置在所述第二时刻的位姿,包括:根据所述图像采集装置在所述第一子时刻预测到的位姿和所述图像采集装置在所述第一子时刻的运动状态,确定所述图像采集装置自所述第一子时刻起至所述第二子时刻的第一累积位姿;根据所述第一子时刻预测到的位姿以及所述第一累积位姿,预测所述图像采集装置在所述第二子时刻的位姿。
- 如权利要求3所述的方法,其特征在于,所述至少两个子时段中包括第三子时段,所述第三子时段与所述第二子时段相邻,所述第三子时段是所述时间段内的最后一个子时段,所述第三子时段的截止时刻为第三子时刻;所述方法还包括:根据所述第二子时刻的位姿、所述第二子时刻的运动状态,确定所述图像采集装置自所述第二子时刻起至所述第三子时刻的第二累积位姿和所述第二子时刻的位姿的算法校正结果;根据所述第二累积位姿、所述第二子时刻的位姿以及所述第二子时刻的位姿的算法校正结果,预测所述图像采集装置在所述第三子时刻的位姿。
- 如权利要求1-4任一项所述的方法,其特征在于:所述得到所述第二时刻对应的待显示图像是通过主线程执行的;所述预测第二图像帧对应的第二虚拟对象的第二位姿是通过第一从线程执行的;所述获取所述第二图像帧之后,还包括:通过执行第二从线程,根据所述图像采集装置在所述第二时刻的位姿,预测第三图像帧对应的第三虚拟对象的第三位姿,所述第三图像帧为所述图像采集装置在第三时刻采集的图像帧;所述第二时刻位于所述第三时刻之前,所述第二图像帧和所述第三图像帧为所述图像采集装置采集的两个相邻图像帧;其中,所述第一从线程和所述第二从线程并行执行。
- 如权利要求5所述的方法,其特征在于,所述根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿之前,还包括:通过执行所述主线程,对所述第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像。
- 如权利要求5或6所述的方法,其特征在于,所述方法还包括:获取到所述第一图像帧后,创建所述第一从线程;当预测得到所述第二虚拟对象的所述第二位姿后,所述第一从线程被销毁。
- 如权利要求5-7任一项所述的方法,其特征在于,还包括:通过执行所述第一从线程,将所述第二虚拟对象存入共享缓存;为所述共享缓存中所述第二虚拟对象设置互斥锁;所述互斥锁用于禁止所述主线程读取所述第二虚拟对象;当所述第二虚拟对象为所述共享缓存中时刻最早的位姿时,将所述共享缓存中为所述第二虚拟对象设置的互斥锁解除;使用所述主线程,从所述共享缓存中读取所述第二虚拟对象。
- 如权利要求1-8任一项所述的方法,其特征在于,所述根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿之前,还包括:获取所述图像采集装置在所述第一时刻的运动状态;根据所述第一图像帧和所述第一时刻的运动状态,确定所述第一位姿。
- 如权利要求9所述的方法,其特征在于,所述图像采集装置设置在头戴装置上,所述头戴装置上还设置有传感器和显示器;所述获取所述图像采集装置在所述第一时刻的运动状态,包括:获取所述传感器在所述第一时刻采集到的运动状态;将所述传感器在所述第一时刻采集到的运动状态,作为所述图像采集装置在所述第一时刻的运动状态;所述方法还包括:将所述待显示图像显示在所述显示器上。
- 一种图像处理装置,其特征在于,包括:预测模块,用于根据图像采集装置在第一时刻的第一位姿,预测第二图像帧对应的第二虚拟对象的第二位姿;所述第二图像帧为所述图像采集装置在第二时刻采集的图像帧;所述第一时刻位于所述第二时刻之前,且所述第一时刻为所述图像采集装置采集第一图像帧的时刻,所述第一图像帧和所述第二图像帧为所述图像采集装置采集的两个相邻图像帧;处理模块,用于根据所述第二位姿生成所述第二虚拟对象;所述处理模块,还用于获取所述第二图像帧;所述处理模块,还用于将所述第二虚拟对象和所述第二图像帧叠加,得到所述第二时刻对应的待显示图像。
- 如权利要求11所述的装置,其特征在于,所述预测模块具体用于:根据所述第一位姿和所述图像采集装置在至少两个时刻的运动状态,预测所述图像采集装置在所述第二时刻的位姿;所述至少两个时刻包括:所述第一时刻、所述第一时刻之后至所述第二时刻之前的至少一个时刻;根据所述图像采集装置在所述第二时刻的位姿,预测所述第二位姿。
- 如权利要求12所述的装置,其特征在于,所述第一时刻与所述第二时刻之间的时间段被划分为至少两个子时段,所述至少两个子时段中包括相邻的第一子时段和第二子时段,所述第一子时段位于所述第二子时段之前,所述第一子时段的截止时刻为第一子时刻,所述第二子时段的截止时刻为第二子时刻;所述预测模块具体用于:根据所述图像采集装置在所述第一子时刻预测到的位姿和所述图像采集装置在所述第一子时刻的运动状态,确定所述图像采集装置自所述第一子时刻起至所述第二子时刻的第一累积位姿;根据所述第一子时刻预测到的位姿以及所述第一累积位姿,预测所述图像采集装置在所述第二子时刻的位姿。
- 如权利要求13所述的装置,其特征在于,所述至少两个子时段中包括第三子时段,所述第三子时段与所述第二子时段相邻,所述第三子时段是所述时间段内的最后一个子时段,所述第三子时段的截止时刻为第三子时刻;所述预测模块还用于:根据所述第二子时刻的位姿、所述第二子时刻的运动状态,确定所述图像采集装置自所述第二子时刻起至所述第三子时刻的第二累积位姿和所述第二子时刻的位姿的算法校正结果;根据所述第二累积位姿、所述第二子时刻的位姿以及所述第二子时刻的位姿的算法校正结果,预测所述图像采集装置在所述第三子时刻的位姿。
- 如权利要求11-14任一项所述的装置,其特征在于:所述得到所述第二时刻对应的待显示图像是通过主线程执行的;所述预测第二图像帧对应的第二虚拟对象的第二位姿是通过第一从线程执行的;所述处理模块还用于:通过执行第二从线程,根据所述图像采集装置在所述第二时刻的位姿,预测第三图像帧对应的第三虚拟对象的第三位姿,所述第三图像帧为所述图像采集装置在第三时刻采集的图像帧;所述第二时刻位于所述第三时刻之前,所述第二图像帧和所述第三图像帧为所述图像采集装置采集的两个相邻图像帧;其中,所述第一从线程和所述第二从线程并行执行。
- 如权利要求15所述的装置,其特征在于,所述处理模块还用于:通过执行所述主线程,对所述第一图像帧进行畸变校正,提取畸变校正后的单通道图像,并对畸变校正后的单通道图像进行下采样,获得第一预处理图像。
- 如权利要求15或16所述的装置,其特征在于,所述处理模块还用于:获取到所述第一图像帧后,创建所述第一从线程;当预测得到所述第二虚拟对象的所述第二位姿后,所述第一从线程被销毁。
- 如权利要求15-17任一项所述的装置,其特征在于,所述处理模块还用于:通过执行所述第一从线程,将所述第二虚拟对象存入共享缓存;为所述共享缓存中所述第二虚拟对象设置互斥锁;所述互斥锁用于禁止所述主线程读取所述第二虚拟对象;当所述第二虚拟对象为所述共享缓存中时刻最早的位姿时,将所述共享缓存中为所述第二虚拟对象设置的互斥锁解除;使用所述主线程,从所述共享缓存中读取所述第二虚拟对象。
- 如权利要求11-18任一项所述的装置,其特征在于,所述预测模块还用于:获取所述图像采集装置在所述第一时刻的运动状态;根据所述第一图像帧和所述第一时刻的运动状态,确定所述第一位姿。
- 如权利要求19所述的装置,其特征在于,所述图像采集装置设置在头戴装置上,所述头戴装置上还设置有传感器和显示器;所述预测模块具体用于:获取所述传感器在所述第一时刻采集到的运动状态;将所述传感器在所述第一时刻采集到的运动状态,作为所述图像采集装置在所述第一时刻的运动状态;所述处理模块还用于:将所述待显示图像显示在所述显示器上。
- 一种图像处理装置,其特征在于,所述装置包括:一个或多个处理器以及传输接口;其中,所述一个或多个处理器被配置为调用存储在存储器中的计算机指令,使得所述装置执行如权利要求1-10任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1-10任一项所述的方法。
- 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令在计算机或处理器上执行时,使得所述计算机或所述处理器执行如权利要求1-10中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/094744 WO2022241701A1 (zh) | 2021-05-20 | 2021-05-20 | 一种图像处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117296082A true CN117296082A (zh) | 2023-12-26 |
Family
ID=84140137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180098163.6A Pending CN117296082A (zh) | 2021-05-20 | 2021-05-20 | 一种图像处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117296082A (zh) |
WO (1) | WO2022241701A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108027652B (zh) * | 2015-09-16 | 2021-06-22 | 索尼公司 | 信息处理设备、信息处理方法以及记录介质 |
CN108273265A (zh) * | 2017-01-25 | 2018-07-13 | 网易(杭州)网络有限公司 | 虚拟对象的显示方法及装置 |
GB2574882B (en) * | 2018-06-22 | 2020-08-12 | Sony Interactive Entertainment Inc | Method and system for displaying a virtual object |
CN110244840A (zh) * | 2019-05-24 | 2019-09-17 | 华为技术有限公司 | 图像处理方法、相关设备及计算机存储介质 |
CN112752119B (zh) * | 2019-10-31 | 2023-12-01 | 中兴通讯股份有限公司 | 一种时延误差校正方法、终端设备、服务器及存储介质 |
-
2021
- 2021-05-20 CN CN202180098163.6A patent/CN117296082A/zh active Pending
- 2021-05-20 WO PCT/CN2021/094744 patent/WO2022241701A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022241701A1 (zh) | 2022-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11148675B2 (en) | Apparatus and method of sharing a sensor in a multiple system on chip environment | |
KR102462799B1 (ko) | 자세 추정 방법 및 자세 추정 장치 | |
US11526970B2 (en) | System and method for video processing with enhanced temporal consistency | |
US10282805B2 (en) | Image signal processor and devices including the same | |
CN111833447A (zh) | 三维地图构建方法、三维地图构建装置及终端设备 | |
TWI441091B (zh) | 借助圖形處理單元執行影像信號處理的方法以及用於執行影像信號處理的裝置 | |
US10861243B1 (en) | Context-sensitive augmented reality | |
CN115039015A (zh) | 位姿跟踪方法、可穿戴设备、移动设备以及存储介质 | |
US11431872B2 (en) | Buffer management for plug-in architectures in computation graph structures | |
US11474924B2 (en) | Graphics processing unit performance analysis tool | |
CN117296082A (zh) | 一种图像处理方法及装置 | |
US20220375161A1 (en) | Snapshot Arbitration Techniques for Memory Requests | |
CN114363478B (zh) | 信号处理单元、方法、加速单元、电子设备和片上*** | |
CN109493349B (zh) | 一种图像特征处理模块、增强现实设备和角点检测方法 | |
CN113989121A (zh) | 归一化处理方法及装置、电子设备、存储介质 | |
US11080864B2 (en) | Feature detection, sorting, and tracking in images using a circular buffer | |
US20240212098A1 (en) | Enhanced multi-view background matting for video conferencing | |
US12002140B1 (en) | Method and device for surfacing accumulated strain information | |
WO2017075623A1 (en) | Method and system for boot time optimization of embedded multiprocessor systems | |
US20240112356A1 (en) | Estimating flow vectors for occluded content in video sequences | |
US20240203020A1 (en) | Systems and methods for generating or rendering a three-dimensional representation | |
US20240127572A1 (en) | Real-time occlusion detection between frames for video streaming systems and applications | |
CN112561778B (zh) | 图像风格化处理方法、装置、设备及存储介质 | |
US20240220318A1 (en) | Program flow monitoring and control of an event-triggered system | |
CN114970415A (zh) | 电路生成方法及装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |