CN115176455A - 功率高效的动态电子图像稳定 - Google Patents
功率高效的动态电子图像稳定 Download PDFInfo
- Publication number
- CN115176455A CN115176455A CN202180017088.6A CN202180017088A CN115176455A CN 115176455 A CN115176455 A CN 115176455A CN 202180017088 A CN202180017088 A CN 202180017088A CN 115176455 A CN115176455 A CN 115176455A
- Authority
- CN
- China
- Prior art keywords
- motion
- frame
- stabilization
- parameters
- frames
- 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
- 238000011105 stabilization Methods 0.000 title claims abstract description 329
- 230000006641 stabilisation Effects 0.000 title claims abstract description 326
- 230000033001 locomotion Effects 0.000 claims abstract description 611
- 238000000034 method Methods 0.000 claims abstract description 348
- 230000008569 process Effects 0.000 claims abstract description 241
- 238000005259 measurement Methods 0.000 claims abstract description 108
- 230000007704 transition Effects 0.000 claims description 108
- 230000015654 memory Effects 0.000 claims description 28
- 238000006243 chemical reaction Methods 0.000 claims description 24
- 230000009466 transformation Effects 0.000 claims description 19
- 230000037361 pathway Effects 0.000 claims description 18
- 230000000087 stabilizing effect Effects 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 12
- 230000009977 dual effect Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 184
- 101150040795 EIS1 gene Proteins 0.000 description 120
- 238000012937 correction Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 13
- 238000001914 filtration Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000009877 rendering Methods 0.000 description 12
- 208000012661 Dyskinesia Diseases 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000037081 physical activity Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000157 electrochemical-induced impedance spectroscopy Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/683—Vibration or motion blur correction performed by a processor, e.g. controlling the readout of an image memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/765—Interface circuits between an apparatus for recording and another apparatus
- H04N5/77—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
- H04N5/772—Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/63—Control of cameras or camera modules by using electronic viewfinders
- H04N23/631—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters
- H04N23/632—Graphical user interfaces [GUI] specially adapted for controlling image capture or setting capture parameters for displaying or modifying preview images prior to image capturing, e.g. variety of image resolutions or capturing parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/65—Control of camera operation in relation to power supply
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Studio Devices (AREA)
Abstract
提供了用于功率高效的图像稳定的系统、方法和非暂时性介质。一种示例方法可以包括:从运动传感器收集测量,测量是基于图像传感器在捕获帧时的移动的;计算用于抵消帧中的运动的参数,其中,第一参数是基于测量的,并且第二参数是基于测量中的一些测量的;在双通路稳定过程的第一稳定通路中根据第二参数来调整第一帧;在双通路稳定过程的第二稳定通路中根据第一参数来调整第一帧;基于第二帧具有与第一帧相比较少的运动,针对第二帧启用用于帧预览过程和视频记录过程两者的单通路稳定过程;以及在单个稳定通路中根据用于抵消第二帧中的运动的参数来调整第二帧。
Description
技术领域
概括而言,本公开内容涉及电子图像稳定,并且更具体地,本公开内容涉及功率高效的动态电子图像稳定。
背景技术
数字相机产品的不断增加的多功能性已经允许将视频记录能力集成到各种设备中,并且已经将其使用扩展到新的应用中。例如,如今的电话、无人机、汽车、计算机、电视机和许多其它设备通常配备有相机。相机允许用户从配备有相机的任何设备捕获视频和图像。视频和图像可以被捕获用于娱乐使用、专业摄影、监视和自动化以及其它应用。视频和图像的质量在很大程度上取决于相机的特定硬件能力。然而,还开发和实现了各种基于软件的技术,以增强从相机捕获的视频和图像的质量。例如,电子图像稳定(EIS)或数字图像稳定是一种如下的数字技术:其被开发用于使因在使用期间相机的移动或抖动而导致的模糊和其它图像质量问题最小化。
EIS尝试检测相机的任何运动,并且调整所捕获的图像数据以抵消检测到的相机运动,从而生成更平滑的视频。遗憾的是,当前的EIS解决方案效率低下,并且涉及不必要的高功耗。例如,EIS解决方案通常执行各种冗余操作并且消耗大量功率,以便满足针对视频预览和视频编码/记录两者的时延和质量要求。这样的高功耗和处理低效可能对视频记录设备产生负面影响,尤其是那些具有更有限的计算和能量资源的设备,诸如移动设备。因此,需要灵活且功率高效的技术,以便以较低的功耗率实现电子图像稳定,同时满足时延和质量需求。
发明内容
公开了用于提供功率高效的动态电子图像稳定(EIS)的系统、方法和计算机可读介质。根据至少一个示例,提供了一种用于功率高效的动态EIS的方法。所述方法可以包括:获得与图像传感器相关联的一个或多个运动测量,所述一个或多个运动测量是基于在所述图像传感器正在捕获帧序列时所述图像传感器的移动的;计算用于抵消来自所述帧序列的第一帧中的运动的第一参数集合和第二参数集合,其中,所述第一参数集合是基于与在所述图像传感器正在捕获所述帧序列时所述图像传感器的所述移动相对应的所述一个或多个运动测量的,并且其中,所述第二参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第一帧时的移动相对应的第一部分的;响应于确定所述第一参数集合与所述第二参数集合之间的差高于门限,从针对所述第一帧启用的双通路稳定过程切换到用于第二帧的单通路稳定过程,所述单通路稳定过程包括用于帧预览过程和视频记录过程两者的单个运动稳定通路;以及作为所述单个运动稳定通路的一部分,根据用于抵消所述第二帧中的运动的第三参数集合来调整所述第二帧,所述第三参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第二帧时的移动相对应的第二部分的。
根据至少一个示例,提供了一种用于功率高效的动态EIS的装置。所述装置可以包括:存储器;以及耦合到所述存储器的一个或多个处理器,所述一个或多个处理器被配置为:获得与图像传感器相关联的一个或多个运动测量,所述一个或多个运动测量是基于在所述图像传感器正在捕获帧序列时所述图像传感器的移动的;计算用于抵消来自所述帧序列的第一帧中的运动的第一参数集合和第二参数集合,其中,所述第一参数集合是基于与在所述图像传感器正在捕获所述帧序列时所述图像传感器的所述移动相对应的所述一个或多个运动测量的,并且其中,所述第二参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第一帧时的移动相对应的第一部分的;响应于确定所述第一参数集合与所述第二参数集合之间的差高于门限,从针对所述第一帧启用的双通路稳定过程切换到用于第二帧的单通路稳定过程,所述单通路稳定过程包括用于帧预览过程和视频记录过程两者的单个运动稳定通路;以及作为所述单个运动稳定通路的一部分,根据用于抵消所述第二帧中的运动的第三参数集合来调整所述第二帧,所述第三参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第二帧时的移动相对应的第二部分的。
根据至少一个示例,提供了另一种用于功率高效的动态EIS的装置。所述装置可以包括用于进行以下操作的单元:获得与图像传感器相关联的一个或多个运动测量,所述一个或多个运动测量是基于在所述图像传感器正在捕获帧序列时所述图像传感器的移动的;计算用于抵消来自所述帧序列的第一帧中的运动的第一参数集合和第二参数集合,其中,所述第一参数集合是基于与在所述图像传感器正在捕获所述帧序列时所述图像传感器的所述移动相对应的所述一个或多个运动测量的,并且其中,所述第二参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第一帧时的移动相对应的第一部分的;响应于确定所述第一参数集合与所述第二参数集合之间的差高于门限,从针对所述第一帧启用的双通路稳定过程切换到用于第二帧的单通路稳定过程,所述单通路稳定过程包括用于帧预览过程和视频记录过程两者的单个运动稳定通路;以及作为所述单个运动稳定通路的一部分,根据用于抵消所述第二帧中的运动的第三参数集合来调整所述第二帧,所述第三参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第二帧时的移动相对应的第二部分的。
根据至少一个示例,提供了一种用于功率高效的动态EIS的非暂时性计算机可读存储介质。所述非暂时性计算机可读存储介质可以包括存储在其上的指令,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器进行以下操作:获得与图像传感器相关联的一个或多个运动测量,所述一个或多个运动测量是基于在所述图像传感器正在捕获帧序列时所述图像传感器的移动的;计算用于抵消来自所述帧序列的第一帧中的运动的第一参数集合和第二参数集合,其中,所述第一参数集合是基于与在所述图像传感器正在捕获所述帧序列时所述图像传感器的所述移动相对应的所述一个或多个运动测量的,并且其中,所述第二参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第一帧时的移动相对应的第一部分的;响应于确定所述第一参数集合与所述第二参数集合之间的差高于门限,从针对所述第一帧启用的双通路稳定过程切换到用于第二帧的单通路稳定过程,所述单通路稳定过程包括用于帧预览过程和视频记录过程两者的单个运动稳定通路;以及作为所述单个运动稳定通路的一部分,根据用于抵消所述第二帧中的运动的第三参数集合来调整所述第二帧,所述第三参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第二帧时的移动相对应的第二部分的。
在一些方面中,上述方法、装置和非暂时性计算机可读存储介质可以包括:在切换到用于所述第二帧的所述单通路稳定过程之前,触发用于从所述双通路稳定过程转换到所述单通路稳定过程的运动稳定转换过程,其中,所述运动稳定转换过程包括两个运动稳定通路:所述运动稳定转换过程的与所述帧预览过程相对应的第一运动稳定通路、以及所述运动稳定转换过程的与所述视频记录过程相对应的第二运动稳定通路。
在一些示例中,切换到用于所述第二帧的所述单通路稳定过程和/或触发所述运动稳定转换过程中的至少一项操作可以是基于关于满足低运动置信条件的确定的,所述低运动置信条件定义以下各项中的至少一项:用于触发从所述双通路稳定过程到所述单通路稳定过程的所述切换的低运动门限、被设置为在触发从所述双通路稳定过程到所述单通路稳定过程的所述切换之前满足的所述低运动门限的帧数量、和/或被设置为在触发从所述双通路稳定过程到所述单通路稳定过程的所述切换之前满足所述低运动门限的时间段。
在一些方面中,上述方法、装置和非暂时性计算机可读存储介质可以包括:作为所述运动稳定转换过程的所述第一运动稳定通路的一部分,根据用于抵消所述帧序列中的中间帧中的运动的第四参数集合来调整所述中间帧,所述第四参数集合是基于与所述图像传感器在捕获所述中间帧时的移动相对应的一个或多个额外运动测量的,所述中间帧是在所述第一帧之后并且在所述第二帧之前由所述图像传感器捕获的;以及作为所述运动稳定转换过程的所述第二运动稳定通路的一部分,根据用于抵消所述中间帧中的运动的转换参数集合来调整所述中间帧,所述转换参数集合是基于以下各项中的至少一项的:与所述中间帧相关联的所述一个或多个额外运动测量、与所述图像传感器在捕获来自所述帧序列的额外帧集合时的移动相对应的运动测量集合、与所述第一帧相关联的所述第一参数集合、与所述第二帧相关联的所述第二参数集合、以及与所述中间帧相关联的所述第四参数集合。
在一些示例中,来自所述帧序列的所述额外帧集合可以包括在所述中间帧中的至少一个中间帧之后并且在所述第二帧之前由所述图像传感器捕获的一个或多个将来帧。在一些方面中,上述方法、装置和非暂时性计算机可读存储介质可以包括:计算所述转换参数集合。在一些情况下,计算所述转换参数集合可以包括:计算用于抵消所述中间帧中的运动的运动稳定参数,所述运动稳定参数是基于以下各项中的至少一项的:与所述中间帧相关联的所述一个或多个额外运动测量和与所述额外帧集合相关联的所述运动测量集合;以及基于所述运动稳定参数与经由所述单通路稳定过程而计算的一个或多个运动稳定参数之间的第一差和所述运动稳定参数与经由所述双通路稳定过程而计算的一个或多个额外运动稳定参数之间的第二差中的至少一项来调整所述运动稳定参数。
在一些示例中,所述一个或多个运动稳定参数可以是基于表示所述图像传感器在捕获与所述一个或多个运动稳定参数相关联的第一相应帧时的移动的相应运动测量来计算的,其中,所述一个或多个额外运动稳定参数是基于表示所述图像传感器在捕获一个或多个将来帧时的移动的将来运动测量来计算的,所述一个或多个将来帧包括在与所述一个或多个额外运动稳定参数相关联的第二相应帧之后捕获的帧。
在一些示例中,调整所述运动稳定参数可以包括以下操作中的至少一项操作:减小所述运动稳定参数与经由所述单通路稳定过程而计算的所述一个或多个运动稳定参数之间的所述第一差,以及减小所述运动稳定参数与经由所述双通路稳定过程而计算的所述一个或多个额外运动稳定参数之间的所述第二差。
在一些方面中,上述方法、装置和非暂时性计算机可读存储介质可以包括:在切换到用于所述第二帧的所述单通路稳定过程之前,触发运动稳定转换过程,所述运动稳定转换过程将中间帧的第一运动稳定轨迹与以下各项中的至少一项对齐:与所述单通路稳定过程相关联的第二运动稳定轨迹、以及与所述双通路稳定过程相关联的第三运动稳定轨迹,其中,所述中间帧是在所述第一帧之后并且在所述第二帧之前由所述图像设备捕获的。
在一些示例中,所述图像传感器的所述移动可以包括所述图像传感器的俯仰、滚动和/或偏航中的至少一项。
在一些方面中,上述方法、装置和非暂时性计算机可读存储介质可以包括:检测到来自所述帧序列的后续帧具有与所述第二帧和由所述图像传感器在所述第二帧之后并且在所述后续帧之前捕获的一个或多个中间帧中的至少一项相比较高的运动量;响应于检测到所述较高的运动量,从所述单通路稳定过程切换到所述双通路稳定过程;作为与所述双通路稳定过程相关联的第一运动稳定通路的一部分,基于用于抵消所述后续帧中的运动的相应参数来调整所述后续帧,所述相应参数是基于与所述图像传感器在捕获所述后续帧时的移动相对应的一个或多个相应运动测量的;以及作为与所述双通路稳定过程相关联的第二运动稳定通路的一部分,基于用于抵消所述后续帧中的运动的第四参数集合来调整所述后续帧,所述第四参数集合是基于与所述图像传感器在捕获所述后续帧和一个或多个后续帧时的移动相对应的一个或多个额外运动测量的,所述一个或多个后续帧是在所述后续帧之后捕获的。
在一些方面中,上述方法、装置和非暂时性计算机可读存储介质可以包括:作为与针对所述第一帧启用的所述双通路稳定过程相关联的第一运动稳定通路的一部分,根据所述第二参数集合来调整所述第一帧,其中,所述第一运动稳定通路对应于所述帧预览过程;以及作为与所述双通路稳定过程相关联的第二运动稳定通路的一部分,根据所述第一参数集合来调整所述第一帧,其中,所述第二运动稳定通路对应于所述视频记录过程。
在一些示例中,根据所述第一参数集合来调整所述第一帧可以包括:稳定所述第一帧以减少所述第一帧中的所述运动中的至少一些运动,其中,根据所述第二参数集合来调整所述第一帧可以包括:稳定所述第一帧以减少所述第一帧中的所述运动中的至少一些运动,并且其中,根据所述第三参数集合来调整所述第二帧可以包括:稳定所述第二帧以减少所述第二帧中的所述运动中的至少一些运动。
在一些方面中,用于所述第一运动稳定通路的所述第二参数集合可以是至少部分地基于与来自所述帧序列的一个或多个将来帧相对应的一个或多个将来运动测量来计算的,其中,用于所述第二运动稳定通路的所述第一参数集合是在没有使用与来自所述帧序列的将来帧相对应的将来运动测量的情况下计算的,并且其中,当所述第一帧与所述第二帧之间的运动量高于门限运动量时,所述第一参数集合与所述第二参数集合之间的所述差高于所述门限。
在一些方面中,上述装置可以包括一个或多个传感器和/或移动设备。在一些示例中,上述装置可以包括移动电话、可穿戴设备、显示设备、移动计算机、头戴式设备和/或相机。
该发明内容并不旨在标识所要求保护的主题的关键或必要特征,也不旨在单独用于确定所要求保护的主题的范围。通过参照本专利的整个说明书的适当部分、任何或所有附图以及每个权利要求,应当理解该主题。
在参考以下说明书、权利要求和附图之后,前述内容以及其它特征和实施例将变得更加显而易见。
附图说明
为了描述可以获得本公开内容的上述和其它优势和特征的方式,将通过参考在附图中所示的上述原理的具体实施例,来提供对其的更具体描述。在理解这些附图仅描绘本公开内容的示例实施例并且将不被视为限制其范围之后,通过使用附图以额外的特殊性和细节来描述和解释本文的原理,在附图中:
图1是示出根据本公开内容的一些示例的用于实现电子图像稳定的图像处理系统的示例的框图;
图2示出了根据本公开内容的一些示例的示例性不稳定帧和在向该不稳定帧应用电子图像稳定之后产生的稳定帧;
图3A是示出根据本公开内容的一些示例的用于执行单通路电子图像稳定的示例系统流程的图;
图3B是示出根据本公开内容的一些示例的用于执行双通路电子图像稳定的示例系统流程的图;
图3C是示出根据本公开内容的一些示例的用于执行双通路电子图像稳定与单通路电子图像稳定之间的转换的示例系统流程的图;
图4示出了根据本公开内容的一些示例的用于动态且功率高效的电子图像稳定的示例状态机;
图5示出了根据本公开内容的一些示例的示例电子图像稳定状态和转换;
图6示出了根据本公开内容的一些示例的电子图像稳定操作和状态的示例时间线;
图7A示出了根据本公开内容的一些示例的用于使用单通路电子图像稳定而处理的帧和使用双通路电子图像稳定而处理的帧的电子图像稳定裁剪参数的示例对齐;
图7B示出了根据本公开内容的一些示例的用于使用单通路电子图像稳定而处理的帧和使用双通路电子图像稳定而处理的帧的电子图像稳定旋转参数的示例对齐;
图8示出了根据本公开内容的一些示例的用于功率高效且动态的电子图像稳定的示例方法;以及
图9示出了根据本公开内容的一些示例的示例计算设备架构。
具体实施方式
下文提供了本公开内容的某些方面和实施例。如对于本领域技术人员将显而易见的,这些方面和实施例中的一些可以独立地应用,并且它们中的一些可以相结合地应用。在以下描述中,出于解释的目的,阐述了具体细节以便提供对本申请的实施例的透彻理解。然而,将显而易见的是,可以在没有这些具体细节的情况下实施各个实施例。附图和描述并不旨在是限制性的。
随后的描述仅提供了示例实施例,并且不旨在限制本公开内容的范围、适用性或配置。确切而言,对这些示例性实施例的随后描述将向本领域技术人员提供用于实现示例性实施例的可行描述。应当理解的是,在不脱离如在所附的权利要求书中阐述的本申请的精神和范围的情况下,可以对元素的功能和布置进行各种改变。
如前所述,随着相机和被配备有相机的电子设备(诸如移动电话、无人机、便携式计算机和物联网(IoT)设备、虚拟现实(VR)设备、增强现实(AR)设备等)的空前增长,视频记录能力已变得无处不在。通常,用户可以从其设备记录视频和图像,同时也能够在视频或图像被记录时在显示器上预览它们。然而,在移动设备上记录或编码的视频容易出现质量问题,例如由移动设备的移动或抖动造成的模糊。此类移动或抖动通常可能是由手晃动、记录场景的人或对象的局部运动或其它无关运动(例如,来自车辆或其它移动平台的运动)引起的。在一些情况下,可以实现电子图像稳定(EIS)技术来校正或抵消记录设备的此类运动或抖动,并且提供不具有(或具有减少的)模糊的更平滑且更清晰的视频/图像输出。
EIS使用从设备上的一个或多个传感器(诸如陀螺仪或加速计)收集的运动数据来估计应当校正或抵消的运动或抖动量。EIS可以调整所捕获的帧以补偿估计的运动或抖动量。当在显示器上预览帧时以及当帧被编码以供稍后回放时,可以将这种补偿应用于帧。通常,针对预览帧的EIS时延要求低于视频编码,因为在记录新帧时向用户呈现预览帧,并且较高的时延可能导致预览帧中的可感知延迟(换句话说,时延对用户体验具有较大的影响)。为了满足针对预览帧的较低时延要求,同时实现针对经编码的帧的较高质量的EIS结果,可以对每个帧进行两次处理,以将EIS分别应用于预览和编码。例如,预览处理路径可以在没有来自将来帧(例如,后续捕获的帧)的运动信息的情况下应用EIS,以使针对预览帧的处理时延最小化,并且视频记录路径可以利用来自将来帧的运动信息来应用EIS,以实现较高质量的稳定结果。
虽然将EIS分别应用于预览路径和视频记录路径可以减少预览时延,同时提高针对记录的帧的稳定质量,但是对每个帧进行两次处理也是低效的,并且可能导致较高的功耗。因此,为了提高效率并且减少由于针对同一帧的多个EIS操作(例如,双通路EIS)导致的功耗,在一些示例中,本文中的方法可以在不同时间处在单通路EIS(例如,针对预览和编码/记录两者执行一次EIS)和双通路EIS(例如,针对预览执行第一EIS并且针对编码/记录执行第二EIS)之间动态地切换。在一些情况下,在检测到很少运动或抖动或者没有检测到运动或抖动的时段期间,本文中的方法可以执行单通路EIS。在该时段期间,可以针对预览和编码/记录两者执行一次EIS。另一方面,在检测到运动或较高运动的时段期间,本文中的方法可以切换到双通路EIS,其中执行两次EIS:针对预览执行一次,并且针对编码/记录执行一次。
将在以下公开内容中更详细地描述本技术。讨论开始于对用于提供功率高效且动态的EIS的示例系统、架构和技术的描述,如图1至7B所示。随后将跟随着对用于实现功率高效且动态的EIS的示例方法的描述,如图8所示。讨论以对包括适用于执行功率高效且动态的EIS的示例硬件组件的示例计算设备架构的描述结束,如图9所示。本公开内容现在转到图1。
图1是示出用于执行功率高效的动态EIS的示例图像处理系统100的图。在该说明性示例中,图像处理系统100包括图像传感器102和104、运动传感器106、存储装置108、计算组件110、EIS引擎120和渲染引擎122。
图像处理系统100可以是计算设备或多个计算设备的一部分。在一些示例中,图像处理系统100可以是一个(或多个)电子设备的一部分,诸如相机系统(例如,数码相机、IP相机、摄像机、安全相机等)、电话系统(例如,智能手机、蜂窝电话、会议系统等)、膝上型计算机或笔记本计算机、平板计算机、机顶盒、电视机、显示设备、数字媒体播放器、游戏控制台、视频流设备、无人机、车内计算机、IoT(物联网)设备、智能可穿戴设备、AR和/或VR设备(例如,头戴式显示器(HMD)、AR眼镜、或其它AR和/或VR设备)、或任何其它合适的电子设备。在一些实现中,图像传感器102和104、运动传感器106、存储装置108、计算组件110、EIS引擎120和渲染引擎122可以是相同计算设备的一部分。例如,在一些情况下,图像传感器102和104、运动传感器106、存储装置108、计算组件110、EIS引擎120和渲染引擎122可以集成到智能电话、膝上型计算机、平板计算机、智能可穿戴设备、游戏系统和/或任何其它计算设备中。然而,在一些实现中,图像传感器102和104、运动传感器106、存储装置108、计算组件110、EIS引擎120和渲染引擎122可以是两个或更多个单独计算设备的一部分。
图像传感器102和104可以是任何图像和/或视频传感器或捕获设备,诸如数码相机传感器、摄像机传感器、智能电话相机传感器、电子装置(诸如电视机或计算机)上的图像/视频捕获设备、相机等。在一些情况下,图像传感器102或104可以是相机或计算设备(诸如数码相机、摄像机、IP相机、智能电话、智能电视机、游戏系统等)的一部分。在一些示例中,图像传感器102可以是后置图像传感器设备(例如,在设备背部或后部的相机、视频和/或图像传感器),并且图像传感器104可以是前置图像传感器设备(例如,在设备前部的相机、图像和/或视频传感器)。在一些示例中,图像传感器102和104可以是双相机组件的一部分。图像传感器102和104可以捕获图像和/或视频内容(例如,原始图像和/或视频数据),它们然后可以由如本文描述的计算组件110、EIS引擎120和渲染引擎122处理。虽然图1中的图像处理系统100示出了两个图像传感器(102和104),但是应当注意的是,提供这两个图像传感器是为了说明目的,并且其它示例可以包括更多或更少的图像传感器。例如,在一些示例中,图像处理系统100可以包括单个图像传感器,并且在其它示例中,图像处理系统100可以包括两个以上的图像传感器。
运动传感器106可以是用于检测和测量移动的任何传感器。运动传感器的非限制性示例包括陀螺仪、加速计和磁强计。在一个说明性示例中,运动传感器106可以是陀螺仪,其被配置为感测或测量图像传感器102和104和/或图像处理系统100的旋转的程度和速率(例如,滚动、俯仰和偏航),并且将所感测到或测量到的数据提供给计算组件110以进行处理,如本文描述的。在一些情况下,运动传感器106可以表示不同类型的运动传感器或运动传感器的组合。例如,运动传感器可以包括陀螺仪和加速计、陀螺仪和磁强计、加速计和磁强计、或者陀螺仪、加速计和磁强计。此外,图像处理系统100还可以包括其它传感器,诸如机器视觉传感器、智能场景传感器、语音识别传感器、碰撞传感器、冲击传感器、位置传感器、倾斜传感器、惯性测量单元(IMU)等。
存储装置108可以是用于存储数据的任何存储设备。此外,存储装置108可以存储来自图像处理系统100的任何组件的数据。例如,存储装置108可以存储来自图像传感器102和104的数据(例如,图像或视频数据)、来自运动传感器106的数据(例如,陀螺仪数据、加速计数据等)、来自计算组件110的数据(例如,处理参数、稳定帧、经编码的帧等)、来自EIS引擎120的数据(例如,EIS参数、EIS输出等)和/或来自渲染引擎122的数据(例如,输出帧)。在一些示例中,存储装置108可以包括用于存储供计算组件110处理的帧的缓冲器。在一些情况下,存储装置108可以包括用于存储用于预览的帧的显示缓冲器和用于存储用于编码/记录的帧的视频缓冲器,如本文进一步描述的。
计算组件110可以包括中央处理单元(CPU)112、图形处理单元(GPU)114、数字信号处理器(DSP)116和/或图像信号处理器(ISP)118。在一些示例中,除了或代替CPU 112、GPU114、DSP 116和/或ISP 118中的任何一者,计算组件110还可以包括机器学习和/或人工智能处理器。虽然图1中的图像处理系统100被示为具有四个计算组件(CPU 112、GPU 114、DSP116、ISP 118),但是应当注意的是,在图1中示出的计算组件的类型和数量是出于说明目的而提供的,并且其它示例可以包括更多或更少的计算组件。例如,在一些情况下,图像处理系统100可以包括一个或多个处理器,诸如一个或多个CPU、GPU、DSP和/或ISP。
计算组件110可以执行各种操作,诸如图像增强、计算机视觉、图形渲染、增强现实、图像/视频处理、传感器处理、识别(例如,文本识别、对象识别、特征识别、跟踪或模式识别、场景变化识别等)、EIS、机器学习、滤波、以及本文描述的各种操作中的任何操作。在图1所示的示例中,计算组件110实现EIS引擎120和渲染引擎122。在其它示例中,计算组件110还可以实现一个或多个图像处理引擎和/或任何其它处理引擎。用于EIS引擎120和渲染引擎122(以及任何图像处理引擎)的操作可以由任何计算组件110实现。在一个说明性示例中,渲染引擎122的操作可以由GPU114来实现,并且EIS引擎120和/或一个或多个图像处理引擎的操作可以由CPU 112、DSP 116和/或ISP 118来实现,在一些情况下,计算组件110可以包括其它电子电路或硬件、计算机软件、固件或其任何组合,以执行本文描述的各种操作中的任何操作。
在一些情况下,ISP 118可以接收由图像传感器102或104捕获的数据(例如,图像数据、视频数据等),并且处理数据以生成旨在输出到显示器的输出帧。例如,ISP 118可以接收由图像传感器102捕获的帧,将帧稳定,并且生成稳定帧以用于显示。帧可以包括视频序列的视频帧或静止图像。帧可以是:每像素具有红、绿和蓝色彩分量的红-绿-蓝(RGB)帧;每像素具有一个亮度分量和两个色度(色彩)分量(色度红和色度蓝)的亮度、色度红、色度蓝(YCbCr)帧;或任何色彩空间中的任何其它合适类型的色彩。在一些示例中,帧可以是单色帧或图片。
ISP 118可以实现一个或多个图像处理引擎并且可以执行图像处理操作,诸如滤波、去马赛克、缩放、色彩校正、色彩转换、降噪滤波、空间滤波、EIS等。ISP 118可以处理以下各项:由图像传感器102和104捕获的帧;存储装置108中的帧;从远程源(诸如远程相机、服务器或内容提供商)接收的帧;从源的组合获得的帧;等等。例如,ISP 118可以执行EIS以稳定由图像传感器102和104捕获的帧。ISP 118可以稳定帧以抵消由捕获帧的图像传感器(例如,图像传感器102或104)的移动(例如,抖动、振动等)导致的帧中的任何运动,以便移除由帧中的运动产生的任何模糊或质量问题。帧中的运动可能是由捕获帧的图像传感器设备(诸如相机传感器)(例如,图像传感器102或104)在捕获帧时产生的移动引起的。例如,移动可能是由例如以下各者导致的:图像传感器设备的操作者;携带或利用图像传感器设备的车辆;附近的设备(例如,由附近的智能电话或扬声器产生的振动);导致图像传感器设备的移动的任何外力(例如,风、水、动物、抛射体、人为事件(诸如故意破坏)、自然事件(诸如地震等);由容纳图像传感器设备的系统(例如,图像处理系统100)中的组件产生的振动;由图像传感器设备中的组件生成的内部振动;等等。
例如,如果携带图像传感器102的人在执行身体活动(诸如行走或跑步)时记录视频,则图像传感器102可能捕获因图像传感器102的移动(由于该人的身体活动和/或不稳定的图像传感器或设备操纵)导致的运动。由图像传感器102捕获的运动可能导致记录的视频中的模糊和抖动。ISP 118可以从图像传感器102接收视频,并且执行图像稳定以抵消或移除视频中的运动,并且因此提高视频的清晰度和平滑度。
ISP 118可以实现(例如,经由EIS引擎120)用于EIS的一个或多个算法和方案。例如,ISP 118可以在某些时间段实现单通路EIS,并且在其它时间段实现双通路EIS。ISP 118可以基于在当前帧上检测到的运动量和经配置的时间段(在当前帧中未检测到运动量的门限变化)来在单通路EIS和双通路EIS之间切换。单通路EIS可以包括针对预览帧和经记录/编码的帧两者执行单个EIS过程。双通路EIS可以包括针对预览帧和经记录/编码的帧执行分开的EIS过程。
在一些示例中,ISP 118可以在具有很少运动或无运动的时段期间执行单通路EIS。此外,单通路EIS可以实现“非前瞻性”EIS方案,其中在捕获和显示帧时,在不使用来自将来帧(例如,后续捕获和缓冲的帧)的运动信息的情况下稳定帧。在一些情况下,由单通路EIS实现的非前瞻性方案可以在不使用“将来”运动传感器测量(例如,标识在捕获帧之后测量的图像传感器移动的运动传感器测量(诸如陀螺仪测量))来稳定帧的情况下(例如,在不使用由将来运动传感器测量检测到的运动的情况下)稳定帧。替代地,由单通路EIS实现的非前瞻性方案可以基于“过去”和/或当前运动传感器测量(例如,标识在捕获当前帧之前或在捕获当前帧时测量的图像传感器移动的运动传感器测量(诸如陀螺仪测量))来稳定帧。
因此,单通路EIS可以限制在稳定和显示帧时的延迟量,并且可以用于在用户期望实时或接近实时地查看或预览帧时稳定帧。由于单通路EIS还可以用于稳定正在记录/编码的帧,因此单通路EIS可以通过减少针对预览和记录/编码的帧两者的操作量来降低功耗并且提高处理效率。此外,由于可以针对在具有很少运动或无运动的时段期间捕获的帧实现单通路EIS,因此可以在不(或有限地)牺牲针对经记录/编码的帧的稳定质量的情况下实现上述功耗和效率益处。
在双通路EIS中,可以针对正在记录/编码的帧执行分开的EIS过程。这种分开的EIS过程可以是“前瞻性的”,这意味着EIS过程可以使用来自将来帧的运动信息。针对经记录/编码的帧执行的分开的EIS过程可以缓冲某一数量的帧,并且使用将来运动传感器测量来稳定经缓冲的帧。由于对帧的缓冲,因此稳定帧的输出可能具有某个延迟。与经缓冲的帧相关联的将来运动传感器测量允许用于经记录/编码的帧的分开的EIS过程“向前看”,并且确定所捕获的帧中的运动变化。该信息允许用于对帧进行记录/编码的EIS过程为此类帧提供更好的图像稳定质量。然而,分开的EIS过程可能导致较高的带宽要求(例如,由于需要向存储器传输和从存储器传输的数据量较大)和功耗,因为其涉及存储和分析较多数据以及执行额外的计算。因此,当检测到门限运动量时,可以使用双通路EIS中的分开的EIS过程,并且选择分开的更稳健的EIS过程以实现某种稳定质量。分开的EIS过程可以用于其中视频数据的捕获和输出之间的延迟不太重要的处理路径,诸如视频记录/编码路径。
虽然图像处理系统100被示为包括某些组件,但是普通技术人员将理解,图像处理系统100可以包括比在图1中所示的组件更多或更少的组件。例如,在一些情况下,图像处理设备100还可以包括一个或多个存储器设备(例如,RAM、ROM、高速缓存等)、一个或多个网络接口(例如,有线和/或无线通信接口等)、一个或多个显示设备、和/或未在图1中示出的其它硬件或处理设备。下面关于图9描述了可以利用图像处理系统100实现的计算设备和硬件组件的说明性示例。
图2示出了示例不稳定帧200和在将EIS应用于不稳定帧200之后产生的稳定帧210。不稳定帧200包括由图像传感器(例如,图像传感器102和/或图像传感器102或104)在捕获不稳定帧200时的移动202引起的运动204。移动202可以包括例如由图像传感器(例如,图像传感器102和/或图像传感器104)上的一个或多个力、手晃动或非稳定的握持、运动等造成的图像传感器的震动、抖动或不稳定移动。例如,移动202可以包括由图像传感器的操作者对实现图像传感器的图像处理系统(例如,图像处理系统100)的非稳定操纵、由操作者在操纵图像传感器时执行的身体活动(例如,行走、跑步、滑雪等)等造成的图像传感器的抖动。来自移动202的运动204可以产生某些视觉效果(诸如模糊),其降低了不稳定帧200的视觉质量或清晰度。
ISP 118可以使用EIS引擎120,以使用EIS对不稳定帧200进行稳定,从而产生稳定帧210,其中运动204从稳定帧210中减少或消除。ISP 118可以通过移除或抵消不稳定帧200中的运动204来对不稳定帧200进行稳定,如本文描述的。相对于不稳定帧200而言,这种稳定可以提高稳定帧210的质量和清晰度。例如,稳定可以移除或减少不稳定帧200中的模糊或抖动,从而导致稳定帧210的质量和清晰度的提高。
图3A是示出用于执行单通路EIS的示例系统流程300的图。如本文使用的,EIS1是指在示例系统流程300中示出的单通路EIS过程中实现的EIS策略/方案,包括下文关于帧302描述的EIS处理308。此外,如本文使用的,状态1(S1)是指在示例系统流程300中示出并且在下文进一步描述的单通路EIS处理状态。
单通路EIS是其中针对预览和记录两者执行一次用于帧的EIS处理的EIS方案,该EIS方案与双通路EIS相反,在双通路EIS中将用于帧的EIS处理执行两次:一次用于预览,而第二次用于视频记录。例如,在单通路EIS中,被稳定用于预览或显示的帧可以重用于记录/编码,因此避免在记录/编码帧时进行第二EIS过程。因此,单通路EIS可以减少用于稳定用于预览和视频记录的帧的所要求的带宽、功率和/或资源的量。在一些情况下,在给定预览帧的较低的时延容限或需求的情况下,在单通路EIS中使用的EIS1策略/方案可以是基于针对预览帧实现的EIS过程的。如先前提及的,用于预览帧的EIS过程不使用来自将来帧的运动信息(或使用来自将来帧的有限的运动信息量),以避免增加处理和显示/预览时延。
例如,为了使用来自将来帧的运动信息,通常缓冲某一数量的帧,并且然后使用与这些经缓冲的帧相关联的运动信息来针对先前捕获的帧执行EIS。这将向帧的EIS处理引入时延,在预览帧的情况下,这可能导致被预览的帧中的可感知延迟。因此,为了避免预览帧中的这种延迟,用于预览帧的EIS过程可以避免(或限制)使用来自将来帧的运动信息。此外,在一些示例中,为了避免(或限制)由于在EIS1中缺少(或有限)使用来自将来帧的运动信息而导致的针对记录/编码帧(其具有较高的时延容限并且因此通常可以将来自将来帧的运动信息用于EIS)的稳定质量的降低,可以在低(或无)运动的时段期间执行单通路EIS。这样,单通路EIS可以减少用于EIS处理的所要求的带宽、功率和资源使用,同时满足预览帧的时延需求,并且保持针对经记录/编码的帧的EIS质量。
参照图3A所示的示例系统流程300,图像传感器102可以向图像处理系统100提供由图像传感器102捕获的当前帧302。此外,运动传感器106(例如,陀螺仪、加速计、IMU等)可以向图像处理系统100提供运动数据304。图像处理系统100可以使用运动数据304来估计当前帧302中的运动量(例如,抖动、移动、振动等),以通过EIS进行校正或抵消。在一些示例中,运动数据304可以反映或标识在捕获当前帧302时由运动传感器106检测/测量到的任何运动。在一些情况下,运动数据304可以包括例如陀螺仪测量(例如,滚动、俯仰、偏航)、加速计测量(例如,加速度)、IMU测量(例如,速度、角速率、位置、姿态等)和/或其它运动相关测量。
图像处理系统100可以接收当前帧302和运动数据304,并且使用运动数据304来针对当前帧302执行EIS处理308(例如,经由EIS引擎120)。因此,EIS处理308可以基于与当前帧302相关联的运动信息并且在不使用来自将来帧的运动信息的情况下执行EIS。在一些情况下,EIS处理308可以使用有限的将来运动信息量(例如,来自一个或多个将来帧的运动信息)来执行EIS。例如,如果或者当使用特定量的将来运动信息在预览帧中不导致(或估计不导致)可感知延迟(或导致最小或微不足道的延迟)时,EIS处理308可以使用这样的量的将来运动信息。
在一些示例中,当执行EIS处理308时,图像处理系统100可以使用运动数据304来计算用于当前帧302的EIS参数,诸如裁剪和/或旋转值。然后,图像处理设备100可以使用EIS参数来稳定当前帧302,例如,通过根据EIS参数来裁剪当前帧302的某些部分和/或将当前帧302旋转特定量。
在一些示例中,在执行EIS处理308之前,图像处理系统100可以将当前帧302存储在帧缓冲器306中。图像处理系统100可以从帧缓冲器306中检索当前帧,以执行EIS处理308。在一些情况下,帧缓冲器306可以存储当前帧302以及从图像传感器102接收的某一数量的先前捕获的帧。
图像处理系统100还可以对当前帧302执行一个或多个图像处理操作310。图像处理系统100可以在执行EIS处理308之前和/或之后执行图像处理操作310。例如,在一些情况下,图像处理系统100可以在执行EIS处理308之前执行一个或多个图像处理操作,并且在执行EIS处理308之后执行一个或多个额外的图像处理操作。一个或多个图像处理操作310可以包括(例如但不限于)滤波操作、去马赛克操作、缩放操作,色彩校正操作、色彩转换操作、降噪滤波操作、空间滤波操作、图像增强操作、图像传感器校正操作(例如,解拜耳(debayering))、色度子采样操作、帧率转换操作、压缩操作和/或任何其它处理操作。
然后,图像处理系统100可以将当前帧302存储在用于存储用于预览/显示的帧的显示缓冲器312和用于存储要记录/编码的帧的视频缓冲器314中。图像处理系统100可以从显示缓冲器312获得当前帧302,并且可以在诸如屏幕之类的显示设备上预览318(例如,显示、呈现、渲染)当前帧302,和/或可以将当前帧302发送到屏幕(例如,经由截屏视频或镜像)。
图像处理系统100还可以在视频缓冲器314中检索帧316,并且记录320(例如,编码和/或存储)帧316。帧316可以是在视频缓冲器314的最前面的帧。例如,帧316可以是视频缓冲器314中的最旧的帧和/或来自视频缓冲器314的要记录的下一帧。在一些情况下,帧316可以是先前使用如本文描述的EIS1而稳定的帧。在其它情况下,帧316可以是先前在如下文关于图3B描述的双通路EIS过程/时段期间或在下文关于图3C描述的转换时段期间稳定的帧。
由于存储在视频缓冲器314中的当前帧302已经稳定,因此图像处理系统100不需要执行单独的EIS过程来稳定当前帧302以进行记录。在当前帧302准备好被记录时(例如,作为视频缓冲器314中的下一帧和/或在视频缓冲器314的最前面)时,图像处理系统100可以从视频缓冲器314中检索当前帧302并且记录320当前帧302。
如上所示,图像处理系统100可以将当前帧302稳定一次,并且将稳定帧重用于预览318和记录320两者。因此,图像处理设备100可以避免针对记录执行第二或单独的EIS过程,从而提高了效率并且降低了系统的带宽要求(例如,由于需要向存储器传输和从存储器传输的数据量的减少)、功耗和资源使用。
图3B是示出用于执行双通路EIS的示例系统流程340的图。如本文使用的,EIS2是指在示例系统流程340中示出的双通路EIS过程中实现的EIS策略/方案,包括下文关于帧316描述的EIS处理342。此外,如本文使用的,状态2(S2)是指在示例系统流程340中示出并且在本文中进一步描述的双通路EIS处理状态。
双通路EIS是一种如下的EIS方案:其中将用于帧的EIS处理执行两次,包括用于预览的一次以及用于视频记录的一次。例如,在双通路EIS中,可以在不使用(或使用有限量的)来自将来帧的运动信息的情况下(例如,使用EIS1)稳定帧以用于预览或显示,并且可以使用来自将来帧的运动信息(例如,使用EIS2)再次稳定相同的帧以用于视频记录/编码。使用来自将来帧的运动信息针对视频记录/编码执行的EIS(例如,EIS2)可以提供较高质量的稳定,并且因此可以在检测到较多运动(并且因此,针对稳定需要较多的校正或补偿)的情况下或在此时段期间使用。因此,在一些示例中,可以在当由图像传感器102捕获的帧具有门限运动量时和/或当需要或期望较高质量的稳定(或较为激进的稳定)的时段期间触发双通路EIS。
在一些情况下,用于执行双通路EIS的状态2可以是用于EIS处理的默认或初始状态。当检测到无运动(或低于门限的运动)的时段和/或该时段持续达某一时间量(或达某一帧数量)时,图像处理系统100可以从用于执行双通路EIS的默认状态2切换到用于执行单通路EIS的状态1。在一些情况下,当从状态2切换到状态1时,图像处理系统100可以首先执行平稳的转换,如下文关于图3C和4进一步描述的。此外,如果在用于执行单通路EIS的状态1期间,检测到门限运动量和/或该门限运动量持续达某一时间量(或达某一帧数量),则图像处理系统100可以转换回用于执行双通路EIS的状态2。这样,图像处理系统100可以动态地或智能地在单通路EIS和双通路EIS之间切换,以减少系统的总体带宽要求和功耗,同时满足时延、稳定质量和其它需求或要求。
参考在图3B中所示的示例系统流程340,图像传感器102可以向图像处理系统100提供由图像传感器102捕获的当前帧302,并且运动传感器106可以向图像处理器100提供运动数据304。图像处理系统100可以接收当前帧302和运动数据304,并且可以将当前帧302存储在帧缓冲器306中。在一些情况下,帧缓冲器306可以存储当前帧302以及从图像传感器102接收的某一数量的先前捕获的帧。
图像处理系统100可以从帧缓冲器306中检索当前帧302,并且处理当前帧302以进行预览318(例如,显示、呈现、渲染等)。具体而言,图像处理系统100可以针对当前帧302执行(例如,经由EIS引擎120)EIS处理308(例如,EIS1)和图像处理310,如先前关于图3A描述的。图像处理系统100然后可以将当前帧302存储在显示缓冲器312上,以便经由显示设备进行后续预览318。
另外,图像处理系统100可以单独地处理帧缓冲器306中的帧316以用于视频记录(例如,320)。帧316可以是在帧缓冲器306的最前面的要被处理以用于记录/编码的帧(例如,过去或较旧的帧)。例如,图像处理系统100可以将由图像传感器102捕获的帧存储在帧缓冲器306中,并且在帧缓冲器306中维护某一数量的帧。当图像处理系统100从帧缓冲器306中检索帧(例如,帧316)以进行处理和后续记录/编码时,图像处理系统100可以使用来自正在处理的帧的运动信息以及来自帧缓冲器306中的其它帧(例如,将来帧)的运动信息来针对该帧执行EIS处理342(例如,EIS2)。因此,EIS处理342(例如,EIS2)可以使用来自过去和将来帧的运动信息来实现较高质量的稳定。
因此,当针对帧缓冲器306中的帧316执行EIS处理342时,图像处理系统100可以使用与帧316相关联的运动信息以及与帧缓冲器306中的其它帧(例如,将来帧)相关联的运动信息。在一些示例中,当针对帧316执行EIS处理342时,图像处理系统100还可以使用与当前帧302相关联的运动数据304。
在一些情况下,图像处理系统100可以使用此类运动信息来计算供在对帧316进行稳定时使用的EIS参数,诸如裁剪和/或旋转值。然后,图像处理系统100可以使用EIS参数来稳定帧316,例如,通过根据EIS参数来裁剪帧316的某些部分和/或将帧316旋转一定量。
在针对帧316执行EIS处理342之后,图像处理系统100可以对帧316执行一个或多个图像处理操作344。一个或多个图像处理操作344可以包括(例如但不限于)滤波操作、去马赛克操作、缩放操作、色彩校正操作、色彩转换操作、降噪滤波操作、空间滤波操作、图像增强操作、图像传感器校正操作(例如,解拜耳)、色度子采样操作、帧率转换操作、压缩操作和/或任何其它处理操作。
然后,图像处理系统100可以将帧316存储在用于存储要记录/编码的帧的视频缓冲器314中。图像处理系统100可以从视频缓冲器314获得帧316并且记录320(例如,编码和/或存储)帧316。一旦图像处理系统100已经记录了帧316,其就可以在帧缓冲器306中检索下一帧,并且针对该下一帧重复该过程(例如,EIS处理342、图像处理344、视频缓冲器314和视频记录320)。当图像处理系统100在处于用于执行双通路EIS的状态2时从图像传感器102接收到新帧时,图像处理系统100可以类似地将新帧存储在帧缓冲器306中,以便在将来进行处理以用于视频记录,如关于帧316描述的,并且可以单独地处理新帧以用于预览318,如关于当前帧302描述的。
如上所示,图像处理系统100可以稳定和处理当前帧302以用于预览/显示(例如,318),并且可以单独地稳定和处理帧316以用于视频记录(例如,320)。因此,在双通路EIS中,图像处理系统100可以将EIS执行两次:一次用于预览(例如,EIS1用于预览),以及第二次用于视频记录(例如,EIS2用于视频记录)。
图3C是示出用于在双通路EIS和单通路EIS之间(例如,在EIS2和EIS1之间)执行转换的示例系统流程360的图。如本文使用的,EIS3是指在示例系统流程360中示出的转换EIS过程中的第二EIS策略/方案(例如,下文描述的EIS处理362),包括如下文进一步描述的EIS过程362,并且状态3(S3)是指在示例系统流程360中示出的转换EIS处理状态。
在S3中实现并且在图3C中示出的转换EIS过程是被执行以从一个EIS状态转换到另一EIS状态的EIS策略/方案。例如,在S3中实现并且在图3C中示出的转换EIS过程可以是用于从双通路EIS中的EIS2平稳地转换到单通路EIS中的EIS1的策略/方案。换句话说,转换EIS过程可以是用于在双通路EIS和单通路EIS之间平稳地转换的策略/方案。在转换EIS过程中,将EIS处理执行两次,包括用于视频预览(例如,318)的一次(例如,EIS1)以及用于视频记录(例如,320)的一次(例如,EIS3)。此处,可以执行第一EIS过程(例如,EIS1),以在不使用(或使用有限量的)来自将来帧的运动信息的情况下稳定当前帧以用于后续预览。可以单独地执行第二EIS过程(例如,EIS3),以稳定帧缓冲器306中的帧以用于后续视频记录/编码。然而,第二EIS过程可以考虑过去和将来的运动信息,以逐渐将来自双通路EIS中的EIS2的帧的稳定与来自单通路EIS中的EIS1的帧的稳定对齐,以便避免在经记录的视频中的可感知的颠簸或运动,这可能原本是由于从较高稳定质量的过程(比如EIS2)突然转换到较低稳定质量的过程(比如EIS1)导致的。
例如,由于双通路EIS中的EIS2可以使用来自将来帧的运动信息,因此在一些情况下(例如,当存在运动时),其可以生成与单通路EIS中的EIS1相比更高质量的稳定结果,EIS1不使用来自将来帧的运动信息(或使用有限量)。因此,如果使用双通路和单通路EIS(例如,使用EIS1和EIS2)针对视频记录而稳定的帧在从双通路EIS转换到单通路EIS(例如,从EIS2到EIS1)时没有逐渐对齐(反之亦然),则在经记录的视频中在从双通路EIS(例如,从EIS2)切换到单通路EIS(例如,切换到EIS1)之前和之后稳定的帧之间的稳定结果的差异可能导致经记录的视频在转换点或帧处具有可感知的颠簸或运动。因此,可以在转换期间实现示例流程360中的转换EIS过程,以逐渐对齐视频记录的稳定输出(例如,EIS1和EIS2输出),并且防止或限制在视频中出现颠簸或运动。
为了在转换期间对齐稳定输出,EIS3(例如,下文描述的EIS处理362)可以考虑将来和过去(和/或当前)帧两者(例如,经由EIS1和EIS2稳定的帧)中的运动或稳定轨迹,并且使用该信息来逐渐对齐在转换之前、期间和/或之后稳定的帧。例如,EIS3可以将EIS1参数(例如,在不使用来自将来帧的运动信息的情况下针对当前帧估计的运动校正值)与EIS2参数(例如,使用来自将来帧的运动信息针对过去或先前帧估计的运动校正值)进行比较,以逐渐对齐用于在转换期间(例如,在EIS3期间)稳定的帧的EIS3参数(例如,运动校正值)。因此,可以在转换期间逐渐对齐用于EIS1和EIS2的稳定轨迹,以产生平滑且平稳的转换。
举例说明,参照在图3C中示出的示例系统流程360,图像传感器102可以向图像处理系统100提供由图像传感器102捕获的当前帧302,并且运动传感器106可以向图像处理系统100提供运动数据304。图像处理系统100可以接收当前帧302和运动数据304,并且将当前帧302存储在帧缓冲器306中。在一些情况下,帧缓冲器306可以存储当前帧302以及从图像传感器102接收的某一数量的先前捕获的帧。
图像处理系统100可以从帧缓冲器306中检索当前帧302,并且处理当前帧302以用于预览318(例如,显示、呈现、渲染等)。具体而言,图像处理系统100可以针对当前帧302执行EIS处理308(例如,EIS1)和图像处理310,如先前关于图3A描述的。图像处理系统100然后可以将当前帧302存储在显示缓冲器312上,以便经由显示设备进行后续预览318。图像处理系统100还可以将当前帧302存储在视频缓冲器314中,以用于记录和在所记录的视频中使用(和/或用于在转换期间对齐当前帧302和帧316的稳定轨迹)。
EIS处理308(例如,EIS1)可以产生用于当前帧302的某些稳定轨迹和/或EIS参数(例如,运动校正值)(例如,EIS1轨迹和/或EIS1参数)。为了提供从EIS2到EIS1的逐渐转换,EIS3(例如,EIS处理362)可以将该稳定轨迹和/或EIS参数(例如,EIS1参数)与来自EIS2的稳定轨迹和/或EIS参数(例如,运动校正参数)进行比较和对齐。因此,应用于帧316的EIS处理362(例如,EIS3)(其可以使用来自过去(和/或当前)和将来帧的运动信息)可以基于EIS1参数(例如,EIS1运动校正值)和EIS2参数(例如,EIS2运动校正值)、和/或在EIS1和EIS2中反映的相应稳定或校正轨迹来执行帧316的逐渐对齐。
可以针对视频记录路径执行EIS处理362。具体地,图像处理系统100可以使用来自帧缓冲器306中的将来帧的运动信息来单独地处理帧缓冲器306中用于视频记录(例如,320)的帧316。因此,图像处理系统100可以使用来自将来帧的运动信息来针对帧316执行EIS处理362。在一些示例中,图像处理系统100可以使用来自将来帧的运动信息来计算供在对帧316进行稳定时使用的EIS参数,诸如裁剪和/或旋转值。图像处理系统100可以使用EIS参数来稳定帧316,例如,通过根据EIS参数来裁剪帧316的某些部分和/或将帧316旋转一定量。在一些情况下,图像处理系统100可以基于对EIS1参数(和/或EIS1轨迹)和EIS2参数(和/或EIS2轨迹)的比较来调整所计算出的EIS参数,以便提供稳定对齐。
例如,图像处理系统100可以在EIS处理362处计算用于帧316的EIS2参数(例如,使用来自将来帧的运动信息的运动校正值)。图像处理系统100可以将EIS2参数与针对一个或多个其它帧(诸如当前帧302)计算的EIS1参数进行比较,并且将稳定轨迹移位和/或将与EIS2参数相关联的运动校正值调整为更接近与EIS1相关联的那些运动校正值。经移位的稳定轨迹和/或经调整的运动校正值可以表示EIS3参数,EIS处理362可以使用这些EIS3参数来在转换状态3期间稳定帧,以便提供在EIS转换之前、期间和/或之后稳定的帧之间的某一水平的对齐。
在针对帧316执行EIS处理362之后,图像处理系统100可以对帧316执行一个或多个图像处理操作364。一个或多个图像处理操作364可以包括(例如但不限于)滤波操作、去马赛克操作、缩放操作、色彩校正操作、色彩转换操作、降噪滤波操作、空间滤波操作、图像增强操作、图像传感器校正操作(例如,解拜耳)、色度子采样操作、帧率转换操作、压缩操作和/或任何其它处理操作。
然后,图像处理系统100可以将帧316存储在用于存储要记录/编码的帧的视频缓冲器314中。图像处理系统100可以从视频缓冲器314获得帧316并且记录320(例如,编码和/或存储)帧316。视频缓冲器314可以包括在没有利用来自将来帧的运动信息的情况下稳定的当前帧302和使用EIS3稳定的帧316。在一些示例中,当图像处理系统100稳定帧缓冲器306中的额外帧时,其可以逐渐使它们对齐以更接近当前帧302。例如,图像处理系统100可以稳定帧缓冲器306中的额外帧,并且逐渐使它们对齐以更接近当前帧302,直到在视频序列中与当前帧302相邻的帧(例如,在捕获时间中和/或在视频序列中相邻的帧)与当前帧302对齐或基本对齐为止。当该帧和当前帧302随后被记录/编码时,所记录的帧可以反映平滑转换,而没有(或具有最小的)相对于彼此的颠簸或运动。
一旦图像处理系统100已经对齐了视频记录路径中的帧的稳定(例如,在EIS1和EIS2之间),图像处理系统100可以从EIS3切换到EIS1(如果从EIS2转换的话)或者切换到EIS2(如果从EIS1转换的话)。
图4是示出用于动态且功率高效的EIS的示例EIS状态、转换和转换触发的示例动态EIS状态机400。在一些示例中,动态EIS状态机400中的初始状态可以是用于执行双通路EIS的状态340(S2),其可以包括用于预览帧的EIS1和用于视频记录的EIS2。图像处理系统100可以在针对捕获的帧检测到高运动402时继续实现状态340,直到检测到低运动404并且被配置用于触发切换到转换状态360(S3)的低运动置信(LMC)条件406为真或被满足为止。
高运动402可以包括高于(或等于)可配置的高运动门限(例如,俯仰、偏航、滚动、加速、振动、速度和/或任何其它运动参数的可配置门限量)的运动量。低运动404可以包括无运动和/或低于(或等于)可配置的低运动门限(例如,俯仰、偏航、滚动、加速、振动、速度和/或任何其它运动参数的可配置门限量)的运动量。此外,LMC条件406可以定义用于从状态340(S2)切换到转换状态360(S3)的一个或多个条件或触发。在一些情况下,一个或多个条件或触发可以指定:当检测到的运动在可配置时间段内和/或在一数量的帧内低于指定门限时,和/或当EIS2和EIS1参数(例如,EIS2和EIS1运动校正值)在可配置时间段和/或一数量的帧内保持在指定范围或限制内时,图像处理系统100应当从状态340(S2)切换到转换状态360(S3)。
例如,LMC条件406可以定义用于触发状态切换的门限运动量和/或应当触发状态切换的在EIS2参数与EIS1参数之间的门限相似性。LMC条件406还可以定义应当在其内满足门限运动量和/或EIS2与EIS1之间的门限相似性以触发状态切换的时间段和/或帧数量。举例说明,LMC条件406可以指定:如果检测到的运动在y时间量或n个帧内低于x运动量(其中x、y和n是正整数),则EIS应当从状态340(S2)切换到转换状态360(S3)。作为另一示例,LMC条件406可以指定:如果EIS2参数与EIS1参数之间的差(例如,EIS1与EIS2运动校正值之间的差)在y时间量或n个帧内在预定限制z内(其中z、y和n是正整数),则EIS应当从状态340(S2)切换到转换状态360(S3)。
因此,当图像处理系统100确定LMC条件406未被满足或为假时,图像处理系统100可以将EIS状态保持在状态340(S2)。另一方面,当图像处理系统100确定LMC条件406被满足或为真时,图像处理系统100可以触发切换到转换状态360(S3)。转换状态360(S3)可以用于从状态340(S2)逐渐转换到状态300(S1),状态300(S1)使用EIS1实现单通路EIS。在这样的逐渐转换期间,可以将EIS1和EIS2参数和/或轨迹逐渐对齐,以提供从状态340(S2)到状态300(S1)的平滑转换,并且防止或限制在转换之前、期间和/或之后(例如,在EIS1、EIS2和/或EIS3下)处理的帧之间的任何可感知的颠簸或运动。
在转换状态360(S3)期间,图像处理系统100可以实现EIS3,以在转换期间逐渐对齐用于稳定帧的EIS参数,并且提供到状态300(S1)的平滑转换。在该时段期间,图像处理系统100还可以监测针对捕获的帧感测的运动量,以确定其是否应当转换回状态340(S2)。例如,如果图像处理系统100确定针对新的或当前捕获的帧感测到的运动量指示从低运动404返回到高运动402的运动变化,则图像处理系统100可以将EIS状态返回到状态340(S2)。
作为另一示例,如果图像处理系统100确定针对新的或当前捕获的帧感测到的运动量指示运动增加,使得由LMC条件406定义的一个或多个条件不再为真或被满足,则图像处理系统100可以将EIS状态返回到状态340(S2)。举例说明,如果图像处理系统100确定针对新的或当前帧检测到的运动量不再低于门限,或者EIS1与EIS2参数之间的差已经增加并且不再在预定限制内,则图像处理系统100可以将EIS状态返回到状态340(S2)。
另一方面,如果图像处理系统100未检测到将触发返回到状态340(S2)的任何条件,则图像处理系统100可以继续根据EIS3在转换状态360(S3)下处理帧,直到完成或实现到状态300(S1)的平稳转换408。在一些示例中,图像处理系统100可以在转换状态360(S3)下在可配置时间段(此时完成或实现平稳转换408)内继续实现EIS。在其它示例中,图像处理系统100可以在转换状态360(S3)下继续实现EIS,直到其已经将EIS3应用于帧缓冲器306中的任何剩余帧为止和/或直到其已经将EIS3应用于帧缓冲器306中比当前帧旧的任何帧和/或已经使用EIS1处理的任何帧,此时完成或实现平稳转换408。在其它示例中,图像处理系统100可以在转换状态360(S3)下继续实现EIS,直到将EIS1和EIS2参数对齐(或接近对齐)或者EIS1与EIS2参数之间的差低于门限为止。
一旦完成平稳转换408,图像处理系统100可以切换到状态300(S1),并且使用EIS1根据单通路EIS在状态300(S1)处处理任何帧。只要图像处理系统100继续针对捕获的帧检测到低运动404,其就可以继续处于状态300(S1)。当图像处理系统100检测到高运动402和/或EIS1和EIS2参数的门限变化时,图像处理系统100可以转换410回状态340(S2)。在一些示例中,EIS1和EIS2参数的门限变化可以是针对从状态300(S1)到状态340(S2)的转换410指定的可配置变化量。在其它示例中,EIS1和EIS2参数的门限变化可以是超过由LMC条件406针对从状态340(S2)切换到状态300(S1)和/或转换状态360(S3)定义的门限变化的变化量。
在一些情况下,从状态300(S1)到状态340(S2)的转换410可以是逐渐转换,如上文关于平稳转换408和转换状态360(S3)描述的。在其它情况下,从状态300(S1)到状态340(S2)的转换410可以是即时的或接近即时的。例如,在一些情况下,当图像处理系统100确定其应当从状态300(S1)转换410到状态340(S2)时,图像处理系统100可以立即切换到状态340(S2),使得在状态340(S2)下处理任何后续帧,直到处理所有帧或触发到转换状态360(S3)的另一切换为止。
图5示出了与各种EIS参数相对应的示例EIS状态和转换。在该示例中,首先根据为了对帧进行稳定而估计的EIS2参数502来稳定帧。可以在实现EIS2的双通路EIS状态(例如,状态340(S2))期间计算EIS参数502。在一些情况下,双通路EIS状态可以是用于处理帧的默认或初始状态。
从时间1(T1)到时间2(T2)的时段506指示针对帧检测到的运动量已经降低至由LMC条件406针对触发切换到使用EIS1的单通路EIS所定义的门限量以内或以下的水平。在图5中,LMC条件406在从T1到T2的时段506内被示为真,这指示已经在整个时段506内保持了用于触发切换到使用EIS1的单通路EIS的足够低的运动量,并且满足或已经满足了用于切换到使用EIS1的单通路EIS的LMC条件406。
此外,图5中的EIS曲线508表示针对EIS2的EIS轨迹,并且EIS曲线510表示针对EIS1的EIS轨迹。如图所示,在时段506期间和之后,EIS曲线508与EIS曲线510之间的距离512(例如,差)是相对小的,这指示在这样的时段期间的低运动量和/或EIS2参数与EIS1参数之间的较小的差。由距离512反映的运动量和/或EIS2参数与EIS1参数之间的差在用于从双通路EIS切换到单通路EIS的范围或门限内,如由LMC条件406定义并且由从在时段506期间使用的EIS2参数502和在时段506之后的EIS1参数504的切换反映的。
由于满足或已经满足LMC条件406,因此EIS过程可以切换到单通路EIS,其实现用于稳定帧的EIS1。EIS1参数504表示在切换到单通路EIS之后使用EIS1计算的EIS参数。在一些示例中,由从在时段506中的EIS2参数502到在时段506之后的EIS1参数504的变化反映的从双通路EIS到单通路EIS的切换可以是在由转换状态(例如,360)实现的转换(例如,408)之后执行的。在这种转换期间,可以减小和/或平滑与EIS2参数502相关联的EIS曲线508和与EIS1参数504相关联的EIS曲线510之间的距离512,以在EIS1与EIS2之间提供更平稳或无缝的转换。换句话说,可以减小或闭合EIS曲线508与EIS曲线510之间的间隙以提供平滑转换。
在时间3(T3)处,从EIS1参数504返回到EIS2参数502的切换指示触发并且实现了切换到使用EIS2的双通路EIS。此处,与EIS1参数504相关联的EIS曲线510和与EIS2参数502相关联的EIS曲线508之间的距离514已经增加,这指示运动量和/或EIS1参数504与EIS2参数502之间的差的增加。这样的距离514可以反映用于切换回双通路EIS的触发条件。在一些情况下,当从单通路EIS切换回双通路EIS时,可以实现逐渐转换EIS(类似于EIS3),以减小EIS1参数504与EIS2参数502之间的距离514,并且提供从EIS2到EIS1的更平滑和/或更无缝的转换。
时间4(T4)示出了从T4到时间5(T5)的时段516的开始,该时段516具有较低的运动量,并且其中与EIS2参数502相关联的EIS2曲线508和与EIS1参数504相关联的EIS1曲线510之间的距离518已经下降在由LMC条件406针对从EIS2切换到EIS1定义的可接受范围内。因此,如图5所示,在从T4到T5的时段516期间满足或已经满足LMC条件406,从而在T5之后触发切换到EIS1。在一些情况下,在从EIS2切换到EIS1之前,可以通过使用EIS3的转换状态(例如,360)来实现平稳转换(例如,408),如先前描述的。
图6示出了示例动态EIS过程中的EIS操作和状态的示例时间线600。为了简单和说明的目的,假设图6中的显示与帧到达之间的时延为零。另外,为了简单起见,假设行614、616和618中的数据之间的时延为零。此外,在图6中所示的时延是为了说明的目的而提供的。本领域普通技术人员将认识到和/或推断隐含和/或说明的概念,而不考虑图6中的简化或说明性假设。
在示例时间线600中,行602示出由图像传感器设备(例如,102)捕获的帧的时间戳,并且行604(“当前帧”)标识由图像传感器设备在来自行602的相关联的时间戳处生成的当前帧。行606(“运动”)示出针对来自行604的相关联的帧检测到的运动量。此处,“L”指代低运动,其可以包括无运动或低于某个门限的运动,并且“H”指代高运动,其可以包括高于某个门限的运动量。
行608(“显示缓冲器”)示出针对来自行604的当前帧的EIS1输出,并且行610(“显示”)示出当前帧被用于预览/显示(例如,当前帧被呈现/渲染在显示器上)。行612(“针对视频的单输入双输出”)示出单通路EIS状态(例如,S1)在来自行602的特定时间戳处是否是活动的。此处,如果在行612的特定单元上标识了帧,则其指示此时启用了单通路EIS(例如,S1),并且正在将所标识的帧写入视频缓冲器(例如,314)。
行614(“专用视频EIS通路”)指示EIS2在特定时间戳处针对双通路EIS状态下的视频记录通路是否是活动的。换句话说,行614示出了针对视频记录路径使用EIS2处理哪些帧。如果行614中的单元未标识帧,则这指示EIS2未在与该单元相关联的时间戳处应用于任何帧。另一方面,如果行614中的单元标识了帧,则这指示针对视频记录路径正在使用EIS2处理所标识的帧。
行616(“视频缓冲器”)标识特定帧在什么时间戳处被写入视频缓冲器(例如,314)。例如,如果行616中的与时间戳T1相对应的单元未标识帧,则这指示在T1处没有帧被写入视频缓冲器。另一方面,如果行616中的与时间戳T5相对应的单元标识帧5,则这指示在T5处帧5被写入视频缓冲器。
行618(“视频记录”)示出了帧在特定时间戳处被编码。如果行618中的单元未标识帧,则这意味着没有帧在与该单元相关联的时间戳处被编码。如果单元替代地标识帧,则这指示所标识的帧正在与该单元相关联的时间戳处被编码。行620(“状态”)示出了在来自行602的每个时间戳处启用了什么状态(例如,对应于单通路EIS的S1,对应于双通路EIS的S2,或者对应于转换状态的S3)。行622(“平稳转换”)标识何时(在什么时间戳处)发生EIS1与EIS2之间(例如,从EIS1到EIS2和/或从EIS2到EIS1)的转换。
方框624(其在图6中包含从时间戳T0到时间戳T4的当前帧)标识用于针对特定帧执行EIS2的来自将来帧的传感器数据量。例如,如果方框624包括在时间戳T0到T4处的帧0到帧4,则方框624指示:使用来自在方框624中包含的帧0到帧4的运动信息,经由EIS2来处理要编码以用于视频记录的帧(例如,行614中的帧0)。因此,方框624可以指示用于在EIS2中使用的运动信息的将来帧深度和/或帧缓冲器深度。
方框626标识由LMC条件(例如,406)定义的LMC时段。例如,在图6中,方框626包含行602中从时间戳T0到时间戳T6的单元。这指示由LMC条件定义的LMC时段(在其期间应当满足转换触发条件以触发切换到不同EIS状态的时段)包括7个帧和/或7个时间戳(例如,从T0到T6的每个时间戳处的当前帧)。
如前所述,示例时间线600中的行610指示帧F0到F31分别在时间戳T0到T31处输出以显示/预览,并且行612指示单通路EIS从T0到T6以及从T14到T23不是活动的。此外,行614指示EIS2从T0到T3不是活动的,但是EIS2分别在时间戳T4到T10处应用于帧F0到F6,并且EIS2分别在时间戳T14到T27处应用于帧F10到F23。
行606还指示在通过方框626所反映的LMC时段(例如,时间戳T0到T6)期间检测到或已经检测到低运动。整个LMC时段内的低运动指示满足或已经满足LMC条件,这触发从针对该时段(例如,T0到T6)启用的双通路EIS状态(S2)(如在行620中反映的)切换到单通路EIS状态(S1)。然而,如先前解释的,在一些示例中,在从EIS2切换到EIS1之前,可以在转换状态(S3)期间实现EIS3,以避免由于切换导致的抖动、颠簸、运动等。在行622中示出了在通过方框626所反映的LMC时段之后的这种转换。此处,行622指示在时间戳T7到T11处执行从EIS2到EIS1的转换。如在行622中所指示的,从时间戳T7到T10实现转换状态S3,直到在时间戳T11处针对帧F11执行EIS1为止,这反映了切换到单通路EIS(S1)的完成。行612指示:在如在行620中反映的包括时间戳T11到T13的单通路EIS(S1)时段期间,EIS1应用于帧F11到F13,并且针对帧F11到F13的EIS1输出可以用于预览/显示输出和视频记录输出两者。
此外,在行614(如前所述,其示出了哪些输出是基于双通路EIS状态下的EIS2的)中,即使行620指示实现EIS2的双通路EIS状态(S2)在时间戳T0到T3期间是活动的,也不存在针对时间戳T0到T3标识的帧。这可以通过如方框624所反映的用于将来帧的传感器数据量(和/或缓冲器深度)来反映针对EIS2导致的延迟量。例如,方框624指示:对于EIS2,用于针对帧F0执行EIS2的运动信息包括用于在时间戳T0到T4处捕获的帧(即帧F0到F4)的运动信息。因此,在使用EIS2处理帧F0之前,存在从时间戳T0到T3的延迟,其对应于直到帧F0到F4(此处用于EIS2运动信息)全部被捕获和缓冲为止的延迟。
因此,如在行614中所反映的,由于使用用于其的运动信息针对F1执行EIS2的最后一个帧(例如,帧F4)直到时间戳T4才被捕获和缓冲,因此使用来自帧F0到F4的运动信息对帧F0的EIS2处理被延迟直到时间戳T4。在时间戳T4处,使用来自帧F0到F4的运动信息来针对帧F0执行EIS2处理。类似地,在时间戳T5处,使用来自帧F1到F5的运动信息来针对帧F1执行EIS2处理。如在行614中所示,使用EIS2和来自将来帧的运动信息来类似地处理帧F2到F6。
在时间戳T14处,行606指示直到时间戳T16检测到或已经检测到高运动。因此,如在行620和622中所反映的,用于如由检测到的高运动触发的从单通路EIS(S1)切换到双通路EIS(S2)的平稳转换时段在时间戳T14到T18处执行。从单通路EIS到双通路EIS的切换可以包括针对视频记录路径(例如,要编码/记录的帧)从EIS1到EIS2的切换。在该时段期间,使用EIS2针对双通路EIS的视频记录通路来处理行614中的帧F10到F14,并且使用EIS1针对双通路EIS的预览通路来处理帧F14到F18(如在行608和610中所示)。此外,在转换时段期间,可以调整用于使用EIS2处理帧F10到F14的EIS参数(例如,运动补偿参数),以更好地与用于使用EIS1处理帧F7到F9中的任何一个帧(如在行612中所反映的)和/或在转换时段之后(例如,从时间戳T19处的帧F15开始)使用EIS2处理的帧中的一个或多个帧的EIS参数对齐。换句话说,在转换时段期间执行的EIS2过程可以将EIS1和EIS2参数对齐,并且使用所对齐的EIS参数(例如,EIS3参数),以便以如下方式在转换时段期间稳定帧:在单通路EIS(S1)与双通路EIS(S2)之间提供平滑、无缝和/或逐渐的转换。
如在行614和620中所示,在转换时段之后的时间戳T19(和帧F15)处开始,使用EIS2来稳定用于视频记录通路(例如,双通路EIS状态S2中的第二通路)的帧。然而,行606指示在时间戳T17处检测到从高运动到低运动的变化,并且低运动在时间戳T31内持续。因此,由于低运动在由用于切换回单通路EIS(S1)的LMC条件定义的整个LMC时段内持续,因此在时间戳T23(其反映LMC时段的结束)处满足用于切换到单通路EIS(S1)的LMC条件。因此,在时间戳T24处,发起转换状态(S3)(如在行620和622中所反映的),以从双通路EIS状态(S2)下的EIS2平稳地转换到单通路EIS状态(S1)下的EIS1。转换状态(S3)从时间戳T24持续到时间戳T27,直到在时间戳T28处开始,完成到EIS1的切换。
在该转换时段期间,使用EIS1来处理帧F24到F27并且将其用于预览/显示和视频记录两者,如在行612中所示。此外,可以使用EIS3(或EIS2)处理比帧F24旧并且比在转换时段之前处理的最后一个帧(帧F19)新的那些帧(例如,帧F20到F23),并且将其逐渐与帧F24对齐,因此从帧F23到帧F24(其是使用EIS1处理的)的转换是平滑的,并且不反映颠簸、抖动或其它相对运动。在时间戳T28到T31处,使用单通路EIS状态(S1)下的EIS1来处理帧,如在行612和620中所示。
在一些情况下,如果满足LMC条件并且触发转换状态(S3)以切换EIS状态,并且在转换状态期间检测到运动的变化,则可以终止转换状态,并且EIS状态可以返回到在发起转换状态之前的状态。例如,如果在时间戳T23处满足LMC条件,并且在时间戳T24处发起用于从用于双通路EIS的EIS2(S2)转换到用于单通路EIS的EIS1(S1)的转换状态(S3),并且在时间戳T24处在转换状态(S3)期间检测到从低运动到高运动的变化,则在时间戳T25处,EIS处理可以返回到EIS2并且状态可以返回到双通路EIS。
在一些示例中,用于稳定帧的EIS参数可以包括裁剪参数和旋转参数,如图7A和7B所示。裁剪参数可以指示应当裁剪或移除图像的哪些部分(和/或多少),以抵消(或补偿)图像中的任何抖动或运动,并且产生期望分辨率的稳定图像。旋转参数可以指示应当应用于图像的旋转量,以抵消(或补偿)由抖动或运动导致的图像中的任何旋转,并且产生稳定图像。
图7A示出了在使用EIS1参数706生成的EIS1帧702与使用EIS2参数708生成的EIS2帧704之间的示例EIS裁剪比较700。该示例中的EIS1帧702和EIS2帧704是根据从图像传感器获得的输入帧710生成的。EIS1参数706可以用于使用EIS1来生成EIS1帧702,并且EIS2参数708可以用于使用EIS2来生成EIS2帧704。在一些示例中,EIS1参数706和EIS2参数708可以相互比较,并且在EIS1与EIS2之间的逐渐转换(例如,360)期间对齐。该对齐可以考虑用于EIS1帧702和EIS2帧704的EIS1参数706和EIS2参数708的差异。
在该示例中,输入图像710大于EIS1帧702和EIS2帧704。此外,使用EIS1处理的EIS1帧702和使用EIS2处理的EIS2帧704已经使来自输入图像710的相应图像部分被裁剪,以生成具有期望分辨率的针对EIS1和EIS2的稳定帧。裁剪的原点和/或角度可以由用于EIS处理的EIS算法来指示。此外,裁剪可以包括在一个或多个方向(例如,上、下、左、右)上裁剪来自输入图像710的部分。在一些示例中,为了对齐帧702和704(和/或EIS1和EIS2裁剪参数),可以调整用于帧702的裁剪参数以逐渐对齐EIS1参数706和EIS2参数706。例如,可以调整EIS1帧702与EIS2帧704之间的裁剪的原点和角度以逐渐对齐它们。
在一些示例中,EIS1参数706与EIS2参数708之间的裁剪对齐可能导致一个或多个转换帧中的进一步(或较少)的稳定,以考虑在每个帧中稳定的运动或颠簸的差异。
图7B示出了用于使用EIS1处理的帧702和使用EIS2处理的帧704的EIS旋转参数的示例对齐720。可以在EIS1和EIS2之间的逐渐转换(例如,360)期间执行对齐720。对齐720可以考虑用于帧702和704的EIS1和EIS2旋转参数的差722。EIS1和EIS2旋转参数的差722可以反映旋转角度的差。
在该示例中,已经将使用EIS2处理的帧704旋转了一定量,以产生具有期望分辨率的稳定帧。也已经将使用EIS1处理的帧702旋转了不同的量,以产生具有期望分辨率的稳定帧。EIS1和EIS2旋转参数的差722指示帧704已经旋转超过帧702,以抵消通过EIS2检测到的额外的抖动/运动。在一些示例中,为了对齐帧702和704(和/或EIS1和EIS2旋转参数),可以调整用于帧702的旋转参数,以增加针对帧702的旋转量并且减小与帧702和704相关联的EIS1和EIS2旋转参数的差722。
在其它示例中,为了对齐帧702和704(和/或EIS1和EIS2旋转参数),可以调整用于帧704的旋转参数,以减少针对帧704的旋转量并且减小与帧702与704相关联的EIS1和EIS2旋转参数的差706。
图8示出了用于动态的功率高效的EIS的示例方法800。在框802处,方法800可以包括:收集与图像传感器(例如,102或104)相关联的一个或多个运动测量(例如,运动数据202)。在一些示例中,一个或多个运动测量可以是由运动传感器(例如,106)计算的。此外,在一些示例中,一个或多个运动测量可以是基于在图像传感器捕获帧序列(例如,视频)时图像传感器的移动的。在一些情况下,一个或多个运动测量可以包括由运动传感器在图像传感器捕获帧序列时测量或感测到的图像传感器的俯仰、滚动、偏航、加速度、速度、角速率、姿态和/或任何其它运动。
在框804处,方法800可以包括:计算用于抵消(例如,稳定、校正和/或补偿)来自帧序列的第一帧(例如,当前帧302)中的运动的第一参数集合(例如,EIS2参数)和第二参数集合(如,EIS1参数)。第一帧中的运动可以包括例如振动、抖动、移动、晃动等。第一参数集合和第二参数集合可以包括EIS参数,诸如裁剪参数和旋转参数。在一些示例中,第一参数集合可以是基于可以对应于帧序列的一个或多个运动测量的,并且第二参数集合可以是基于一个或多个运动测量中的与图像传感器在捕获第一帧时的移动相对应的一部分的。
例如,第一参数集合可以是基于对应于帧序列的运动测量的,该帧序列包括第一帧和一个或多个将来或较新的帧(例如,在第一帧之后捕获的帧),并且第二参数集合可以是基于对应于第一帧的运动测量的。因此,在该示例中,第一参数集合可以是基于来自将来帧的将来运动信息(以及当前运动信息)的,并且第二参数集合可以是基于用于当前帧(例如,第一帧)的当前运动信息的。
在框806处,方法800可以包括,响应于确定第一参数集合与第二参数集合之间的差高于门限,从针对第一帧启用的双通路稳定过程(例如,双通路EIS 340)切换到用于第二帧的单通路稳定过程(例如,单通路EIS 300)。在一些示例中,单通路稳定过程可以包括用于帧预览路径/过程(例如,318)和视频记录路径/过程(例如,320)两者的EIS1单运动稳定通路(例如,EIS处理308)。在一些情况下,当第一帧与第二帧之间的运动量高于门限运动量时,第一参数集合与第二参数集合之间的差可以高于门限。此外,在一些示例中,可以通过LMC条件(例如,406)定义门限运动量,并且可以基于关于满足LMC条件的确定来启用单通路稳定过程。
在框808处,方法800可以包括:作为单运动稳定通路的一部分,根据用于抵消第二帧中的运动的第三参数集合(例如,EIS1参数)来调整(例如,稳定)第二帧。在一些示例中,第三参数集合可以是基于一个或多个运动测量中的与图像传感器在捕获第二帧时的移动相对应的一部分(例如,运动数据304)的。
在一些方面中,方法800可以包括:在切换到用于第二帧的单通路稳定过程之前,触发用于从双通路稳定过程转换到单通路稳定过程的运动稳定转换过程(例如,转换EIS360)。在一些情况下,运动稳定转换过程可以包括两个运动稳定过程(例如,EIS处理308和EIS处理362)。在一些示例中,运动稳定转换过程的第一运动稳定通路(例如,EIS处理308)对应于帧预览过程,并且运动稳定转换过程的第二运动稳定通路(例如,EIS处理362)对应于视频记录过程。在一些示例中,如前所述,第二运动稳定通路可以是EIS3通路。
在一些方面中,切换到用于第二帧的单通路稳定过程和/或触发运动稳定转换过程可以是基于关于满足或已经满足低运动置信(LMC)条件(例如,406)的确定的。低运动置信条件可以定义:用于触发从双通路稳定过程到单通路稳定过程的切换的低运动门限(例如,最大运动量、允许运动量、运动范围、某个运动水平、无运动等)、被设置为满足在触发从双通路稳定过程到单通路稳定过程的切换之前的低运动门限的帧数量、和/或被设置为满足在触发从双通路稳定过程到单通路稳定过程的切换之前的低运动门限的时间段。
在一些方面中,方法800可以包括:作为运动稳定转换过程的第一运动稳定通路的一部分,根据用于抵消帧序列中的中间帧中的运动的第四参数集合(例如,EIS1参数、当前运动校正参数等)来调整中间帧。在一些示例中,第四参数集合可以是基于与图像传感器在捕获中间帧时的移动相对应的一个或多个额外运动测量的。此外,在一些情况下,中间帧可以包括由图像传感器在第一帧之后并且在第二帧之前捕获的一个或多个帧。
在一些方面中,方法800可以包括:作为运动稳定转换过程的第二运动稳定通路的一部分,根据用于抵消中间帧中的运动的转换参数集合(例如,EIS3参数)来调整中间帧。转换参数集合可以是基于以下各项的:与中间帧相关联的一个或多个额外运动测量、与图像传感器在捕获来自帧序列的额外帧集合(例如,将来帧集合)时的移动相对应的运动测量集合、与第一帧相关联的第一参数集合、与第二帧相关联的第二参数集合、和/或与中间帧相关联的第四参数集合(例如,EIS1参数、当前运动校正参数等)。在一些情况下,来自帧序列的额外帧集合可以包括由图像传感器在中间帧中的至少一个中间帧之后并且在第二帧之前捕获的一个或多个将来帧。
在一些方面中,方法800可以包括:计算转换参数集合。在一些示例中,计算转换参数集合可以包括:计算用于抵消中间帧中的运动的运动稳定参数(例如,EIS2或EIS3参数);以及基于运动稳定参数与经由单通路稳定过程而计算的一个或多个运动稳定参数之间的第一差和/或运动稳定参数与经由双通路稳定过程而计算的一个或多个额外运动稳定参数之间的第二差来调整(例如,对齐)运动稳定参数。在一些情况下,运动稳定参数可以是基于与中间帧相关联的一个或多个额外运动测量和/或与额外帧集合相关联的运动测量集合的。
在一些示例中,一个或多个运动稳定参数是基于表示图像传感器在捕获与一个或多个运动稳定参数相关联的第一相应帧时的移动的一个或多个相应运动测量来计算的。此外,在一些示例中,一个或多个额外运动稳定参数是基于表示图像传感器在捕获一个或多个将来帧时的移动的一个或多个将来运动测量来计算的。一个或多个将来帧可以包括例如在与一个或多个额外运动稳定参数相关联的第二相应帧之后捕获的帧。
在一些情况下,调整运动稳定参数可以包括:减小运动稳定参数与经由单通路稳定过程而计算的一个或多个运动稳定参数之间的第一差,和/或减小运动稳定参数与经由双通路稳定过程而计算的一个或多个额外运动稳定参数之间的第二差。
在一些方面中,方法800可以包括:作为与针对第一帧启用的双通路稳定过程(例如,双通路EIS 340)相关联的第一运动稳定通路(例如,EIS处理308)的一部分,根据第二参数集合来调整(例如,稳定)第一帧;以及作为与双通路稳定过程相关联的第二运动稳定通路(例如,EIS处理342)的一部分,根据第一参数集合来调整(例如,稳定)第一帧。在一些示例中,第一运动稳定通路可以对应于帧预览过程,并且第二运动稳定通路可以对应于视频记录过程。
第一运动稳定通路可以包括用于预览路径/过程(例如,预览318)的EIS1过程,并且双通路稳定过程可以包括双通路EIS(例如,S2)。调整可以包括:使用EIS1来稳定第一帧,如本文描述的。在一些示例中,第二运动稳定过程可以对应于用于双通路稳定过程的视频记录路径/过程(例如,320)的EIS2通路。
此外,在一些示例中,根据第一参数集合来调整第一帧可以包括:稳定第一帧以减少第一帧中的运动中的至少一些运动,根据第二参数集合来调整第一帧可以包括:稳定第一帧以减少第一帧中的运动中的至少一些运动,并且根据第三参数集合来调整第二帧包括:稳定第二帧以减少第二帧中的运动中的至少一些运动。
在一些情况下,用于第一运动稳定通路的第二参数集合可以是至少部分地基于与来自帧序列的一个或多个将来帧相对应的一个或多个将来运动测量来计算的,用于第二运动稳定通路的第一参数集合可以是在没有使用与来自帧序列的将来帧相对应的将来运动测量的情况下计算的,并且当第一帧与第二帧之间的运动量高于门限运动量时,第一参数集合与第二参数集合之间的差高于门限。
在一些方面中,方法800可以包括:在切换到用于第二帧的单通路稳定过程之前,触发运动稳定转换过程(例如,转换EIS 360)。运动稳定转换过程可以将中间帧的第一运动稳定轨迹与以下各项对齐:与单通路稳定过程相关联的第二运动稳定轨迹、和/或与双通路稳定过程相关联的第三运动稳定轨迹。中间帧可以包括由图像设备在第一帧之后并且在第二帧之前捕获的一个或多个帧。
在一些方面中,方法800可以包括:获得由图像传感器捕获的帧序列。此外,在一些情况下,图像传感器的移动可以包括图像传感器的俯仰、滚动和/或偏航。
在一些方面中,方法800可以包括:检测到来自帧序列的后续帧(例如,在第二帧之后捕获的帧)具有与第二帧和/或由图像传感器在第二帧之后并且在后续帧之前捕获的一个或多个中间帧相比较高的运动量;响应于检测到较高的运动量,从单通路稳定过程切换到双通路稳定过程(例如,双通路EIS 340);作为与双通路稳定过程相关联的第一运动稳定通路的一部分,基于用于抵消后续帧中的运动的相应参数来调整后续帧;以及作为与双通路稳定过程相关联的第二运动稳定通路的一部分,基于用于抵消后续帧中的运动的第四参数集合来调整后续帧。
在一些示例中,相应参数可以是基于与图像传感器在捕获后续帧时的移动相对应的相应运动测量的,并且第四参数集合可以是基于与图像传感器在捕获该后续帧和一个或多个后续帧时的移动相对应的额外运动测量的。在一些情况下,一个或多个后续帧可以包括在后续帧之后捕获的一个或多个帧。
在一些示例中,方法800可以由一个或多个计算设备或装置来执行。在一个说明性示例中,方法800可以由在图1中所示的计算系统100和/或具有在图9中所示的计算设备架构900的一个或多个计算设备来执行。在一些情况下,这样的计算设备或装置可以包括处理器、微处理器、微型计算机或被配置为执行方法800的步骤的设备的其它组件。在一些示例中,这样的计算设备或装置可以包括被配置为收集传感器测量的一个或多个传感器。例如,计算设备可以包括头戴式显示器、移动设备或其它合适的设备。在一些示例中,这样的计算设备或装置可以包括配置为捕获一个或多个图像或视频的相机。在一些情况下,这样的计算设备可以包括用于显示图像的显示器。在一些示例中,一个或多个传感器和/或相机是与计算设备分离的,在这种情况下,计算设备接收传感器测量。这样的计算设备还可以包括被配置为传送数据的网络接口。
方法800被示为逻辑流程图,逻辑流程图的操作表示可以用硬件、计算机指令或其组合来实现的一系列操作。在计算机指令的背景下,所述操作表示被存储在一个或多个计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时执行所记载的操作。通常,计算机可执行指令包括执行特定功能或实现特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序并不旨在被解释为限制,并且可以以任何顺序和/或并行地组合所描述的操作中的任何数量的操作以实现这些过程。
另外,方法800可以在被配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以被实现为在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序、或一个或多个应用),通过硬件来实现,或其组合。如上文所提到,代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读存储介质或机器可读存储介质可以是非暂时性的。
图9示出了可以实现本文描述的各种技术的示例计算设备的示例计算设备架构900。例如,计算设备架构900可以实现在图1中所示的计算系统100的至少一些部分,并且执行如本文描述的跟踪、局部化、映射和渲染操作。计算设备架构900的组件被示为使用连接905(诸如总线)彼此电通信。示例计算设备架构900包括处理单元(CPU或处理器)910和计算设备连接905,计算设备连接905将包括计算设备存储器915(例如,只读存储器(ROM)920和随机存取存储器(RAM)925)的各种计算设备组件耦合到处理器910。
计算设备架构900可以包括高速存储器的高速缓存,高速缓存直接与处理器910连接、靠近处理器910或作为处理器910的一部分集成。计算设备架构900可以将数据从存储器915和/或存储设备930复制到高速缓存912,以供处理器910快速访问。以这种方式,高速缓存可以提供性能提升,其避免处理器910在等待数据时延迟。这些模块和其它模块可以控制或被配置为控制处理器910以执行各种动作。其它计算设备存储器915也可以可供使用。存储器915可以包括具有不同性能特性的多种不同类型的存储器。处理器910可以包括任何通用处理器以及硬件或软件服务,硬件或软件服务被存储在存储设备930中并且被配置为控制处理器910以及其中软件指令被并入处理器设计中的专用处理器。处理器910可以是自包含系统,其包含多个核或处理器、总线、存储器控制器、高速缓存等。多核处理器可以是对称的或非对称的。
为了实现用户与计算设备架构900的交互,输入设备945可以表示任何数量的输入机制,诸如用于语音的麦克风、用于手势或图形输入的触摸屏、键盘、鼠标、运动输入、语音等。输出设备935还可以是本领域技术人员已知的多种输出机制中的一种或多种,诸如显示器、投影仪、电视机、扬声器设备等。在一些情况下,多模态计算设备可以使得用户能够提供多种类型的输入以与计算设备架构900进行通信。通信接口940通常可以控制和管理用户输入和计算设备输出。对在任何特定硬件布置上的操作没有限制,并且因此,此处的基本特征可以容易地被改进的硬件或固件布置(随着它们被开发)所取代。
存储设备930是非易失性存储器,并且可以是硬盘或可以存储可由计算机访问的数据的其它类型的计算机可读介质,诸如磁带、闪存卡、固态存储器设备、数字多功能磁盘、盒式磁带、随机存取存储器(RAM)925、只读存储器(ROM)920、以及其混合。存储设备930可以包括用于控制处理器910的软件、代码、固件等。预期其它硬件或软件模块。存储设备930可以连接到计算设备连接905。在一个方面中,执行特定功能的硬件模块可以包括被存储在计算机可读介质中的软件组件,该软件组件与执行该功能所必要的硬件组件(诸如处理器910、连接905、输出设备935等)相连接。
术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备、以及能够存储、包含或携带指令和/或数据的各种其它介质。计算机可读介质可以包括数据可以被存储在其中并且不包括以下各项的非暂时性介质:无线地或者在有线连接上传播的载波和/或暂时性电子信号。非暂时性介质的示例可以包括但不限于:磁盘或磁带、诸如压缩光盘(CD)或数字多功能光盘(DVD)之类的光学存储介质、闪存、存储器或存储器设备。计算机可读介质可以具有被存储在其上的代码和/或机器可执行指令,代码和/或机器可执行指令可以表示过程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容,来耦合到另一代码段或硬件电路。可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何适当的手段来传递、转发或发送信息、自变量、参数、数据等。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确地排除诸如能量、载波信号、电磁波和信号本身之类的介质。
在以上描述中提供了具体细节以提供对本文提供的实施例和示例的透彻理解。然而,本领域普通技术人员将理解的是,可以在没有这些具体细节的情况下实施这些实施例。为了解释清楚,在一些情况下,本文的技术可以被呈现为包括单独的功能块,这些功能块包括设备、设备组件、以软件体现的方法中的步骤或例程、或者硬件和软件的组合。除了在各图中所示和/或本文描述的组件之外,还可以使用额外的组件。例如,电路、系统、网络、过程和其它组件可以以框图形式被示为组件,以便不会在不必要的细节上模糊这些实施例。在其它情况下,公知的电路、过程、算法、结构和技术可能被示为不具有不必要的细节,以便避免模糊这些实施例。
上文可能将各个实施例描述为过程或方法,该过程或方法被描绘为流程图、流程示意图、数据流程图、结构图或框图。虽然流程图可以将操作描述为顺序的过程,但是这些操作中的许多操作可以并行或同时执行。另外,可以重新排列操作的顺序。过程在其操作完成时被终止,但是可能具有未被包括在图中的额外步骤。过程(process)可以对应于方法、函数、过程(procedure)、子例程、子程序等。当过程对应于函数时,其终止可以对应于该函数返回到调用函数或主函数。
根据上述示例的过程和方法可以使用计算机可执行指令来实现,计算机可执行指令被存储在计算机可读介质中或者以其它方式可从计算机可读介质得到。这样的指令可以包括例如指令或数据,指令或数据使得通用计算机、专用计算机或处理设备执行或者以其它方式将其配置为执行特定功能或特定的一组功能。可以通过网络访问所使用的计算机资源的部分。计算机可执行指令可以是例如二进制文件、诸如汇编语言之类的中间格式指令、固件、源代码。可以用于存储指令、所使用的信息和/或在根据所描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、设置有非易失性存储器的USB设备、网络存储设备等。
实现根据这些公开内容的过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用多种形状因子中的任何一种。当用软件、固件、中间件或微代码来实现时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以被存储在计算机可读或机器可读介质中。处理器可以执行必要任务。形状因子的典型示例包括膝上型计算机、智能电话、移动电话、平板设备或其它小型形状因子的个人计算机、个人数字助理、机架式设备、独立设备等。本文描述的功能还可以体现在外围设备或插件卡中。通过另外的举例,这种功能还可以在单个设备中执行的不同芯片或不同过程之间的电路板上实现。
指令、用于传送这样的指令的介质、用于执行它们的计算资源以及用于支持这样的计算资源的其它结构是用于提供在本公开内容中描述的功能的示例模块。
在前面的描述中,参考本申请的特定实施例描述了本申请的各方面,但是本领域技术人员将认识到,本申请不限于此。因此,尽管本文已经详细描述了本申请的说明性实施例,但是将理解,可以以其它方式不同地体现和采用发明的构思,并且所附的权利要求旨在被解释为包括这样的变型,除了由现有技术限制的变型之外。可以单独地或共同地使用上述应用的各种特征和方面。此外,在不脱离本说明书的更宽泛的精神和范围的情况下,实施例可以在除了本文描述的环境和应用之外的任何数量的环境和应用中使用。因此,说明书和附图被认为是说明性的而不是限制性的。为了说明的目的,以特定顺序描述了方法。应当明白的是,在替代实施例中,可以以与所描述的顺序不同的顺序来执行所述方法。
本领域普通技术人员将明白的是,在不脱离本说明书的范围的情况下,本文中使用的小于(“<”)和大于(“>”)符号或术语可以分别用小于或等于(“≤”)以及大于或等于(“≥”)符号来替换。
在将组件描述为“被配置为”执行某些操作的情况下,这种配置可以例如通过以下方式来实现:将电路或其它硬件设计为执行该操作,将可编程电路(例如,微处理器或其它适当的电路)编程为执行该操作,或其任何组合。
短语“耦合到”指代直接或间接地物理连接到另一组件的任何组件、和/或直接或间接地与另一组件通信的任何组件(例如,通过有线或无线连接和/或其它适当的通信接口而连接到另一组件)。
记载集合中的“至少一个”和/或集合中的“一个或多个”的权利要求语言或其它语言指示该集合中的一个成员或者该集合中的多个成员(以任何组合)满足该权利要求。例如,记载“A和B中的至少一个”的权利要求语言意指A、B、或者A和B。在另一示例中,记载“A、B和C中的至少一个”的权利要求语言意指A、B、C、或者A和B、或者A和C、或者B和C、或者A和B和C。语言集合中的“至少一个”和/或集合中的“一个或多个”并不将该集合限制为在该集合中列出的项目。例如,记载“A和B中的至少一个”的权利要求语言可以意指A、B或者A和B,并且可以另外包括未在A和B的集合中列出的项目。
结合本文公开的示例描述的各种说明性的逻辑框、模块、电路和算法步骤可以被实现为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,上面已经对各种说明性的组件、框、模块、电路和步骤围绕其功能进行了总体描述。至于这种功能被实现为硬件还是软件取决于特定的应用和被施加在整个系统上的设计约束。技术人员可以针对每种特定应用以不同的方式来实现所描述的功能,但是这种实现决策不应当被解释为导致脱离本申请的范围。
本文描述的技术还可以用电子硬件、计算机软件、固件或其任何组合来实现。这样的技术可以在各种设备中的任何一种中实现,诸如通用计算机、无线通信设备手机或具有多种用途(包括在无线通信设备手机和其它设备中的应用)的集成电路设备。被描述为模块或组件的任何特征都可以在集成逻辑设备中一起实现,或者分别作为分立但是可互操作的逻辑设备来实现。如果用软件来实现,则所述技术可以至少部分地由计算机可读数据存储介质来实现,计算机可读数据存储介质包括程序代码,程序代码包括在被执行时执行上述方法、算法和/或操作中的一项或多项的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,计算机程序产品可以包括包装材料。计算机可读介质可以包括存储器或数据存储介质,诸如随机存取存储器(RAM)(诸如同步动态随机存取存储器(SDRAM))、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、闪存、磁性或光学数据存储介质等。另外或替代地,所述技术可以至少部分地由以指令或数据结构的形式携带或传送程序代码并且可以由计算机访问、读取和/或执行的计算机可读通信介质(诸如传播的信号或波)来实现。
程序代码可以由处理器执行,该处理器可以包括一种或多种处理器,诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或分立逻辑电路。这样的处理器可以被配置为执行在本公开内容中描述的任何技术。通用处理器可以是微处理器,但是在替代方式中,处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP核的结合、或任何其它这样的配置。因此,如本文所使用的,术语“处理器”可以指代任何前述结构、前述结构的任何组合、或适于实现本文描述的技术的任何其它结构或装置。
Claims (30)
1.一种方法,包括:
获得与图像传感器相关联的一个或多个运动测量,所述一个或多个运动测量是基于在所述图像传感器正在捕获帧序列时所述图像传感器的移动的;
计算用于抵消来自所述帧序列的第一帧中的运动的第一参数集合和第二参数集合,其中,所述第一参数集合是基于与在所述图像传感器正在捕获所述帧序列时所述图像传感器的所述移动相对应的所述一个或多个运动测量的,并且其中,所述第二参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第一帧时的移动相对应的第一部分的;
响应于确定所述第一参数集合与所述第二参数集合之间的差高于门限,从针对所述第一帧启用的双通路稳定过程切换到用于第二帧的单通路稳定过程,所述单通路稳定过程包括用于帧预览过程和视频记录过程两者的单个运动稳定通路;以及
作为所述单个运动稳定通路的一部分,根据用于抵消所述第二帧中的运动的第三参数集合来调整所述第二帧,所述第三参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第二帧时的移动相对应的第二部分的。
2.根据权利要求1所述的方法,还包括:
在切换到用于所述第二帧的所述单通路稳定过程之前,触发用于从所述双通路稳定过程转换到所述单通路稳定过程的运动稳定转换过程,其中,所述运动稳定转换过程包括两个运动稳定通路,所述运动稳定转换过程的第一运动稳定通路与所述帧预览过程相对应,以及所述运动稳定转换过程的第二运动稳定通路与所述视频记录过程相对应。
3.根据权利要求2所述的方法,其中,切换到用于所述第二帧的所述单通路稳定过程和触发所述运动稳定转换过程中的至少一项操作是基于关于满足低运动置信条件的确定的,所述低运动置信条件定义以下各项中的至少一项:用于触发从所述双通路稳定过程到所述单通路稳定过程的所述切换的低运动门限、在触发从所述双通路稳定过程到所述单通路稳定过程的所述切换之前被设置为满足所述低运动门限的帧数量、以及在触发从所述双通路稳定过程到所述单通路稳定过程的所述切换之前被设置为满足所述低运动门限的时间段。
4.根据权利要求2所述的方法,还包括:
作为所述运动稳定转换过程的所述第一运动稳定通路的一部分,根据用于抵消所述帧序列中的中间帧中的运动的第四参数集合来调整所述中间帧,所述第四参数集合是基于与所述图像传感器在捕获所述中间帧时的移动相对应的一个或多个额外运动测量的,所述中间帧是在所述第一帧之后并且在所述第二帧之前由所述图像传感器捕获的;以及
作为所述运动稳定转换过程的所述第二运动稳定通路的一部分,根据用于抵消所述中间帧中的运动的转换参数集合来调整所述中间帧,所述转换参数集合是基于以下各项中的至少一项的:与所述中间帧相关联的所述一个或多个额外运动测量、与所述图像传感器在捕获来自所述帧序列的额外帧集合时的移动相对应的运动测量集合、与所述第一帧相关联的所述第一参数集合、与所述第二帧相关联的所述第二参数集合、以及与所述中间帧相关联的所述第四参数集合。
5.根据权利要求4所述的方法,其中,来自所述帧序列的所述额外帧集合包括由所述图像传感器在所述中间帧中的至少一个中间帧之后并且在所述第二帧之前捕获的一个或多个将来帧,所述方法还包括:计算所述转换参数集合。
6.根据权利要求5所述的方法,其中,计算所述转换参数集合包括:
计算用于抵消所述中间帧中的运动的运动稳定参数,所述运动稳定参数是基于与所述中间帧相关联的所述一个或多个额外运动测量和与所述额外帧集合相关联的所述运动测量集合中的至少一项的;以及
基于以下各项中的至少一项来调整所述运动稳定参数:所述运动稳定参数与经由所述单通路稳定过程而计算的一个或多个运动稳定参数之间的第一差、以及所述运动稳定参数与经由所述双通路稳定过程而计算的一个或多个额外运动稳定参数之间的第二差。
7.根据权利要求6所述的方法,其中,所述一个或多个运动稳定参数是基于表示所述图像传感器在捕获与所述一个或多个运动稳定参数相关联的第一相应帧时的移动的相应运动测量来计算的,其中,所述一个或多个额外运动稳定参数是基于表示所述图像传感器在捕获一个或多个将来帧时的移动的将来运动测量来计算的,所述一个或多个将来帧包括在与所述一个或多个额外运动稳定参数相关联的第二相应帧之后捕获的帧。
8.根据权利要求6所述的方法,其中,调整所述运动稳定参数包括以下操作中的至少一项操作:减小所述运动稳定参数与经由所述单通路稳定过程而计算的所述一个或多个运动稳定参数之间的所述第一差,以及减小所述运动稳定参数与经由所述双通路稳定过程而计算的所述一个或多个额外运动稳定参数之间的所述第二差。
9.根据权利要求1所述的方法,还包括:
在切换到用于所述第二帧的所述单通路稳定过程之前,触发运动稳定转换过程,所述运动稳定转换过程将中间帧的第一运动稳定轨迹与以下各项中的至少一项对齐:与所述单通路稳定过程相关联的第二运动稳定轨迹、以及与所述双通路稳定过程相关联的第三运动稳定轨迹,其中,所述中间帧是在所述第一帧之后并且在所述第二帧之前由所述图像传感器捕获的。
10.根据权利要求1所述的方法,其中,所述图像传感器的所述移动包括所述图像传感器的俯仰、滚动和偏航中的至少一项。
11.根据权利要求1所述的方法,还包括:
检测到来自所述帧序列的后续帧具有与所述第二帧和由所述图像传感器在所述第二帧之后并且在所述后续帧之前捕获的一个或多个中间帧中的至少一项相比较高的运动量;
响应于检测到所述较高的运动量,从所述单通路稳定过程切换到所述双通路稳定过程;
作为与所述双通路稳定过程相关联的第一运动稳定通路的一部分,基于用于抵消所述后续帧中的运动的相应参数来调整所述后续帧,所述相应参数是基于与所述图像传感器在捕获所述后续帧时的移动相对应的一个或多个相应运动测量的;以及
作为与所述双通路稳定过程相关联的第二运动稳定通路的一部分,基于用于抵消所述后续帧中的运动的第四参数集合来调整所述后续帧,所述第四参数集合是基于与所述图像传感器在捕获所述后续帧和一个或多个后续帧时的移动相对应的一个或多个额外运动测量的,所述一个或多个后续帧在所述后续帧之后捕获的。
12.根据权利要求1所述的方法,还包括:
作为与针对所述第一帧启用的所述双通路稳定过程相关联的第一运动稳定通路的一部分,根据所述第二参数集合来调整所述第一帧,其中,所述第一运动稳定通路与所述帧预览过程相对应;以及
作为与所述双通路稳定过程相关联的第二运动稳定通路的一部分,根据所述第一参数集合来调整所述第一帧,其中,所述第二运动稳定通路与所述视频记录过程相对应。
13.根据权利要求12所述的方法,其中,根据所述第一参数集合来调整所述第一帧包括:稳定所述第一帧以减少所述第一帧中的所述运动中的至少一些运动,其中,根据所述第二参数集合来调整所述第一帧包括:稳定所述第一帧以减少所述第一帧中的所述运动中的至少一些运动,并且其中,所述第三参数集合来调整所述第二帧包括:稳定所述第二帧以减少所述第二帧中的所述运动中的至少一些运动。
14.根据权利要求12所述的方法,其中,用于所述第一运动稳定通路的所述第二参数集合是至少部分地基于与来自所述帧序列的一个或多个将来帧相对应的一个或多个将来运动测量来计算的,其中,用于所述第二运动稳定通路的所述第一参数集合是在没有使用与来自所述帧序列的将来帧相对应的将来运动测量的情况下计算的,并且其中,当所述第一帧与所述第二帧之间的运动量高于门限运动量时,所述第一参数集合与所述第二参数集合之间的所述差高于所述门限。
15.一种装置,包括:
存储器;以及
耦合到所述存储器的一个或多个处理器,所述一个或多个处理器被配置为:
获得与图像传感器相关联的一个或多个运动测量,所述一个或多个运动测量是基于在所述图像传感器正在捕获帧序列时所述图像传感器的移动的;
计算用于抵消来自所述帧序列的第一帧中的运动的第一参数集合和第二参数集合,其中,所述第一参数集合是基于与在所述图像传感器正在捕获所述帧序列时所述图像传感器的所述移动相对应的所述一个或多个运动测量的,并且其中,所述第二参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第一帧时的移动相对应的第一部分的;
响应于确定所述第一参数集合与所述第二参数集合之间的差高于门限,从针对所述第一帧启用的双通路稳定过程切换到用于第二帧的单通路稳定过程,所述单通路稳定过程包括用于帧预览过程和视频记录过程两者的单个运动稳定通路;以及
作为所述单个运动稳定通路的一部分,根据用于抵消所述第二帧中的运动的第三参数集合来调整所述第二帧,所述第三参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第二帧时的移动相对应的第二部分的。
16.根据权利要求15所述的装置,所述一个或多个处理器被配置为:
在切换到用于所述第二帧的所述单通路稳定过程之前,触发用于从所述双通路稳定过程转换到所述单通路稳定过程的运动稳定转换过程,其中,所述运动稳定转换过程包括两个运动稳定通路,所述运动稳定转换过程的第一运动稳定通路与所述帧预览过程相对应,以及所述运动稳定转换过程的第二运动稳定通路与所述视频记录过程相对应。
17.根据权利要求16所述的装置,其中,切换到用于所述第二帧的所述单通路稳定过程和触发所述运动稳定转换过程中的至少一项操作是基于关于满足低运动置信条件的确定的,所述低运动置信条件定义以下各项中的至少一项:用于触发从所述双通路稳定过程到所述单通路稳定过程的所述切换的低运动门限、在触发从所述双通路稳定过程到所述单通路稳定过程的所述切换之前被设置为满足所述低运动门限的帧数量、以及在触发从所述双通路稳定过程到所述单通路稳定过程的所述切换之前被设置为满足所述低运动门限的时间段。
18.根据权利要求16所述的装置,所述一个或多个处理器被配置为:
作为所述运动稳定转换过程的所述第一运动稳定通路的一部分,根据用于抵消所述帧序列中的中间帧中的运动的第四参数集合来调整所述中间帧,所述第四参数集合是基于与所述图像传感器在捕获所述中间帧时的移动相对应的一个或多个额外运动测量的,所述中间帧是在所述第一帧之后并且在所述第二帧之前由所述图像传感器捕获的;以及
作为所述运动稳定转换过程的所述第二运动稳定通路的一部分,根据用于抵消所述中间帧中的运动的转换参数集合来调整所述中间帧,所述转换参数集合是基于以下各项中的至少一项的:与所述中间帧相关联的所述一个或多个额外运动测量、与所述图像传感器在捕获来自所述帧序列的额外帧集合时的移动相对应的运动测量集合、与所述第一帧相关联的所述第一参数集合、与所述第二帧相关联的所述第二参数集合、以及与所述中间帧相关联的所述第四参数集合。
19.根据权利要求18所述的装置,其中,来自所述帧序列的所述额外帧集合包括由所述图像传感器在所述中间帧中的至少一个中间帧之后并且在所述第二帧之前捕获的一个或多个将来帧,所述一个或多个处理器被配置为:计算所述转换参数集合。
20.根据权利要求19所述的装置,其中,计算所述转换参数集合包括:
计算用于抵消所述中间帧中的运动的运动稳定参数,所述运动稳定参数是基于与所述中间帧相关联的所述一个或多个额外运动测量和与所述额外帧集合相关联的所述运动测量集合中的至少一项的;以及
基于以下各项中的至少一项来调整所述运动稳定参数:所述运动稳定参数与经由所述单通路稳定过程而计算的一个或多个运动稳定参数之间的第一差、以及所述运动稳定参数与经由所述双通路稳定过程而计算的一个或多个额外运动稳定参数之间的第二差。
21.根据权利要求20所述的装置,其中,所述一个或多个运动稳定参数是基于表示所述图像传感器在捕获与所述一个或多个运动稳定参数相关联的第一相应帧时的移动的相应运动测量来计算的,其中,所述一个或多个额外运动稳定参数是基于表示所述图像传感器在捕获一个或多个将来帧时的移动的将来运动测量来计算的,所述一个或多个将来帧包括在与所述一个或多个额外运动稳定参数相关联的第二相应帧之后捕获的帧。
22.根据权利要求20所述的装置,其中,调整所述运动稳定参数包括以下操作中的至少一项操作:减小所述运动稳定参数与经由所述单通路稳定过程而计算的所述一个或多个运动稳定参数之间的所述第一差,以及减小所述运动稳定参数与经由所述双通路稳定过程而计算的所述一个或多个额外运动稳定参数之间的所述第二差。
23.根据权利要求15所述的装置,所述一个或多个处理器被配置为:
在切换到用于所述第二帧的所述单通路稳定过程之前,触发运动稳定转换过程,所述运动稳定转换过程将中间帧的第一运动稳定轨迹与以下各项中的至少一项对齐:与所述单通路稳定过程相关联的第二运动稳定轨迹、以及与所述双通路稳定过程相关联的第三运动稳定轨迹,其中,所述中间帧是在所述第一帧之后并且在所述第二帧之前由所述图像传感器捕获的。
24.根据权利要求15所述的装置,其中,所述图像传感器的所述移动包括所述图像传感器的俯仰、滚动和偏航中的至少一项。
25.根据权利要求15所述的装置,所述一个或多个处理器被配置为:
检测到来自所述帧序列的后续帧具有与所述第二帧和由所述图像传感器在所述第二帧之后并且在所述后续帧之前捕获的一个或多个中间帧中的至少一项相比较高的运动量;
响应于检测到所述较高的运动量,从所述单通路稳定过程切换到所述双通路稳定过程;
作为与所述双通路稳定过程相关联的第一运动稳定通路的一部分,基于用于抵消所述后续帧中的运动的相应参数来调整所述后续帧,所述相应参数是基于与所述图像传感器在捕获所述后续帧时的移动相对应的一个或多个相应运动测量的;以及
作为与所述双通路稳定过程相关联的第二运动稳定通路的一部分,基于用于抵消所述后续帧中的运动的第四参数集合来调整所述后续帧,所述第四参数集合是基于与所述图像传感器在捕获所述后续帧和一个或多个后续帧时的移动相对应的一个或多个额外运动测量的,所述一个或多个后续帧是在所述后续帧之后捕获的。
26.根据权利要求15所述的装置,所述一个或多个处理器被配置为:
作为与针对所述第一帧启用的所述双通路稳定过程相关联的第一运动稳定通路的一部分,根据所述第二参数集合来调整所述第一帧,其中,所述第一运动稳定通路与所述帧预览过程相对应;以及
作为与所述双通路稳定过程相关联的第二运动稳定通路的一部分,根据所述第一参数集合来调整所述第一帧,其中,所述第二运动稳定通路与所述视频记录过程相对应。
27.根据权利要求26所述的装置,其中,根据所述第一参数集合来调整所述第一帧包括:稳定所述第一帧以减少所述第一帧中的所述运动中的至少一些运动,其中,根据所述第二参数集合来调整所述第一帧包括:稳定所述第一帧以减少所述第一帧中的所述运动中的至少一些运动,并且其中,根据第三参数集合来调整所述第二帧包括:稳定所述第二帧以减少所述第二帧中的所述运动中的至少一些运动。
28.根据权利要求26所述的装置,其中,用于所述第一运动稳定通路的所述第二参数集合是至少部分地基于与来自所述帧序列的一个或多个将来帧相对应的一个或多个将来运动测量来计算的,其中,用于所述第二运动稳定通路的所述第一参数集合是在没有使用与来自所述帧序列的将来帧相对应的将来运动测量的情况下计算的,并且其中,当所述第一帧与所述第二帧之间的运动量高于门限运动量时,所述第一参数集合与所述第二参数集合之间的所述差高于所述门限。
29.根据权利要求15所述的装置,其中,所述装置是移动设备。
30.一种非暂时性计算机可读存储介质,包括:
存储在其上的指令,所述指令在由一个或多个处理器执行时使得所述一个或多个处理器进行以下操作:
获得与图像传感器相关联的一个或多个运动测量,所述一个或多个运动测量是基于在所述图像传感器正在捕获帧序列时所述图像传感器的移动的;
计算用于抵消来自所述帧序列的第一帧中的运动的第一参数集合和第二参数集合,其中,所述第一参数集合是基于与在所述图像传感器正在捕获所述帧序列时所述图像传感器的所述移动相对应的所述一个或多个运动测量的,并且其中,所述第二参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第一帧时的移动相对应的第一部分的;
响应于确定所述第一参数集合与所述第二参数集合之间的差高于门限,从针对所述第一帧启用的双通路稳定过程切换到用于第二帧的单通路稳定过程,所述单通路稳定过程包括用于帧预览过程和视频记录过程两者的单个运动稳定通路;以及
作为所述单个运动稳定通路的一部分,根据用于抵消所述第二帧中的运动的第三参数集合来调整所述第二帧,所述第三参数集合是基于所述一个或多个运动测量中的与所述图像传感器在捕获所述第二帧时的移动相对应的第二部分的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/808,040 | 2020-03-03 | ||
US16/808,040 US11006044B1 (en) | 2020-03-03 | 2020-03-03 | Power-efficient dynamic electronic image stabilization |
PCT/US2021/020013 WO2021178245A1 (en) | 2020-03-03 | 2021-02-26 | Power-efficient dynamic electronic image stabilization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115176455A true CN115176455A (zh) | 2022-10-11 |
Family
ID=75111892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180017088.6A Pending CN115176455A (zh) | 2020-03-03 | 2021-02-26 | 功率高效的动态电子图像稳定 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11006044B1 (zh) |
EP (1) | EP4115600A1 (zh) |
CN (1) | CN115176455A (zh) |
WO (1) | WO2021178245A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9756249B1 (en) * | 2016-04-27 | 2017-09-05 | Gopro, Inc. | Electronic image stabilization frequency estimator |
US11470254B1 (en) | 2019-06-21 | 2022-10-11 | Gopro, Inc. | Systems and methods for assessing stabilization of videos |
CN116095484B (zh) * | 2021-10-29 | 2024-04-09 | 华为技术有限公司 | 一种视频防抖方法、装置及电子设备 |
WO2023250261A1 (en) * | 2022-06-21 | 2023-12-28 | Qualcomm Incorporated | Dynamic image capture device configuration for improved image stabilization |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101411181A (zh) * | 2006-04-06 | 2009-04-15 | 高通股份有限公司 | 电子视频图像稳定 |
US20130342714A1 (en) * | 2012-06-22 | 2013-12-26 | Apple Inc. | Automated tripod detection and handling in video stabilization |
US20160234440A1 (en) * | 2015-02-11 | 2016-08-11 | Samsung Electronics Co., Ltd. | Method and apparatus for image stabilization |
US20170041545A1 (en) * | 2015-08-06 | 2017-02-09 | Invensense, Inc. | Systems and methods for stabilizing images |
US20180131873A1 (en) * | 2016-11-07 | 2018-05-10 | Motorola Mobility Llc | Real Time Electronic Video Stabilization |
CN109951631A (zh) * | 2017-12-11 | 2019-06-28 | 高途乐公司 | 联合的机械和电子图像稳定 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4677748B2 (ja) * | 2004-09-15 | 2011-04-27 | 株式会社ニコン | 撮像装置 |
US7755667B2 (en) * | 2005-05-17 | 2010-07-13 | Eastman Kodak Company | Image sequence stabilization method and camera having dual path image sequence stabilization |
JP4717748B2 (ja) * | 2006-08-11 | 2011-07-06 | キヤノン株式会社 | カメラ本体及びそれを有するカメラシステム |
US20130021488A1 (en) * | 2011-07-20 | 2013-01-24 | Broadcom Corporation | Adjusting Image Capture Device Settings |
US9225904B2 (en) * | 2012-02-13 | 2015-12-29 | Htc Corporation | Image capture method and image capture system thereof |
JP6652300B2 (ja) * | 2016-01-14 | 2020-02-19 | キヤノン株式会社 | 画像処理装置、撮像装置および制御方法 |
RU2758460C1 (ru) * | 2018-03-23 | 2021-10-28 | Хуавей Текнолоджиз Ко., Лтд. | Оконечное устройство и способ стабилизации видеоизображения |
-
2020
- 2020-03-03 US US16/808,040 patent/US11006044B1/en active Active
-
2021
- 2021-02-26 WO PCT/US2021/020013 patent/WO2021178245A1/en unknown
- 2021-02-26 EP EP21713518.5A patent/EP4115600A1/en active Pending
- 2021-02-26 CN CN202180017088.6A patent/CN115176455A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101411181A (zh) * | 2006-04-06 | 2009-04-15 | 高通股份有限公司 | 电子视频图像稳定 |
US20130342714A1 (en) * | 2012-06-22 | 2013-12-26 | Apple Inc. | Automated tripod detection and handling in video stabilization |
US20160234440A1 (en) * | 2015-02-11 | 2016-08-11 | Samsung Electronics Co., Ltd. | Method and apparatus for image stabilization |
US20170041545A1 (en) * | 2015-08-06 | 2017-02-09 | Invensense, Inc. | Systems and methods for stabilizing images |
US20180131873A1 (en) * | 2016-11-07 | 2018-05-10 | Motorola Mobility Llc | Real Time Electronic Video Stabilization |
CN109951631A (zh) * | 2017-12-11 | 2019-06-28 | 高途乐公司 | 联合的机械和电子图像稳定 |
Also Published As
Publication number | Publication date |
---|---|
US11006044B1 (en) | 2021-05-11 |
WO2021178245A1 (en) | 2021-09-10 |
EP4115600A1 (en) | 2023-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11006044B1 (en) | Power-efficient dynamic electronic image stabilization | |
US10984583B2 (en) | Reconstructing views of real world 3D scenes | |
US11317024B2 (en) | Electronic image stabilization frequency estimator | |
US11917291B2 (en) | Apparatus and method for producing slow motion video | |
US9154728B2 (en) | Image processing apparatus, image capturing apparatus, and program | |
US9131158B2 (en) | Moving-image capturing apparatus and electronic zoom method for moving image | |
KR101800702B1 (ko) | 가속된 카메라 제어 알고리즘을 위한 플랫폼 아키텍쳐 | |
CN111479059B (zh) | 拍照处理方法、装置、电子设备及存储介质 | |
US11783447B2 (en) | Methods and apparatus for optimized stitching of overcapture content | |
CN115701125B (zh) | 图像防抖方法与电子设备 | |
US20240098357A1 (en) | Camera initialization for reduced latency | |
US20240314433A1 (en) | Methods and apparatus for re-stabilizing video in post-processing | |
CN114339102A (zh) | 一种录像方法及设备 | |
WO2023005355A1 (zh) | 图像防抖方法与电子设备 | |
CN113038010B (zh) | 视频处理方法、视频处理装置、存储介质与电子设备 | |
CN114390188B (zh) | 一种图像处理方法和电子设备 | |
US20230115371A1 (en) | Efficient vision perception | |
TW202301266A (zh) | 自動內容相關影像處理演算法選擇的方法及系統 | |
WO2023185096A1 (zh) | 图像模糊度的确定方法及其相关设备 | |
CN115767287B (zh) | 图像处理方法与电子设备 | |
US20240320803A1 (en) | Motion Blur for Multilayer Motion | |
US20240005518A1 (en) | Scale image resolution for motion estimation | |
US20240284048A1 (en) | Method of image stabilization and electronic device performing the same | |
KR20240118074A (ko) | 단안 깊이 추정을 이용한 세그먼트화 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20221011 |