CN113194260B - 一种视频稳定的方法及装置 - Google Patents
一种视频稳定的方法及装置 Download PDFInfo
- Publication number
- CN113194260B CN113194260B CN202110599340.0A CN202110599340A CN113194260B CN 113194260 B CN113194260 B CN 113194260B CN 202110599340 A CN202110599340 A CN 202110599340A CN 113194260 B CN113194260 B CN 113194260B
- Authority
- CN
- China
- Prior art keywords
- particular frame
- ois
- frame
- frames
- transforms
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000006641 stabilisation Effects 0.000 title claims abstract description 42
- 238000011105 stabilization Methods 0.000 title claims abstract description 42
- 230000009466 transformation Effects 0.000 claims abstract description 75
- 230000003287 optical effect Effects 0.000 claims abstract description 13
- 230000033001 locomotion Effects 0.000 claims description 144
- 230000007704 transition Effects 0.000 claims description 54
- 239000011159 matrix material Substances 0.000 claims description 50
- 238000005259 measurement Methods 0.000 claims description 29
- 238000000844 transformation Methods 0.000 claims description 8
- 239000000758 substrate Substances 0.000 claims description 3
- 238000004590 computer program Methods 0.000 abstract description 13
- 230000008569 process Effects 0.000 description 38
- 238000012545 processing Methods 0.000 description 33
- 238000004091 panning Methods 0.000 description 19
- 238000001914 filtration Methods 0.000 description 14
- 238000013507 mapping Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000029058 respiratory gaseous exchange Effects 0.000 description 4
- 238000005096 rolling process Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013481 data capture Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000013506 data mapping Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/685—Vibration or motion blur correction performed by mechanical compensation
- H04N23/687—Vibration or motion blur correction performed by mechanical compensation by shifting the lens or sensor position
-
- G06T5/73—
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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/6811—Motion detection based on the image signal
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20201—Motion blur correction
Abstract
一种用于视频稳定的方法及装置,包括存储在计算机可读存储介质上的计算机程序。在一些实施方式中,计算机系统使用光学图像稳定(OIS)系统获得由记录设备捕获的视频的帧。计算系统接收(i)指示在捕获帧期间的OIS系统的位置的OIS位置数据,以及(ii)指示在捕获帧期间的记录设备的位置的设备位置数据。计算系统基于特定帧的OIS位置数据和特定帧的设备位置数据来确定特定帧的第一变换。该计算系统基于第一变换和在捕获特定帧之后出现的记录设备的位置来确定该特定帧的第二变换。计算系统使用第二变换来生成特定帧的稳定版本。
Description
本案是专利申请号:201880030074.6,专利申请日:2018年7月31日,专利名称:一种视频稳定的方法及装置的分案申请。
背景技术
通常,使用相机,蜂窝电话,平板计算机和其他记录设备来进行视频记录。在许多情况下,使用手持式记录设备所记录的视频会意外移动,从而降低视频质量。移动的主要原因之一是握手,例如,当用户在握住记录设备时的无意或自然而然的移动影响了视频质量。不匀速的摇拍和其他运动也会降低视频质量。这些不希望有的运动可能会在记录的视频透镜中造成模糊,抖动和其他可见的缺陷。
除非例如通过图像稳定机制来补偿抖动,否则记录设备的抖动会导致视频同样抖动。光学图像稳定(OIS)可通过机械地移动记录设备的部件(例如透镜或图像传感器)来减少视频中出现的抖动和模糊。但是,OIS系统的操作有时会引入伪影,并且OIS系统通常在其可以补偿的运动量方面受到限制。类似地,OIS系统可能会错误地补偿记录设备的故意移动,例如用户的摇拍。例如,通过基于图像分析来对齐和移位图像帧,电子图像稳定(EIS)也可以减少视频中出现的抖动。但是,并非所有的EIS技术都是可靠的,因为有时候捕获的视频中的对象运动、噪声、以及相机运动模糊可能会混淆处理。
发明内容
视频稳定系统可以使用OIS和EIS的组合来稳定视频。OIS模块可以在视频捕获期间稳定帧,并且可以捕获来自OIS模块的位置信息(例如,透镜移位信息)并将其用于EIS处理中。通过使用OIS透镜移位位置,稳定处理可以校正由OIS系统引起的变形,并避免进行已经由OIS系统已经补偿的调整或运动。
在视频捕获期间,系统还可以从记录设备的陀螺仪获得记录设备的位置数据。系统可以在EIS处理期间使用设备位置数据和OIS位置数据来考虑捕获过程中的记录设备的实际姿势以及对由OIS引起的相机视图的调整。结果,EIS处理可以补偿整个记录设备的运动(例如,相机抖动或记录设备的其他外在移动)以及由于OIS模块的操作(例如,内部透镜移动)而引起的图像偏移。这可以允许系统更准确地确定所捕获的图像数据与真实世界场景之间的关系,以更准确地从输入帧生成稳定的输出帧。
视频稳定系统可以使用各种其他技术来提供高质量的稳定。例如,当处理帧时,系统可以使用未来帧(例如,稍后捕获的帧或超前的帧)来检测可能的大运动并甚至在大运动发生之前就开始对其进行补偿。这可以帮助避免一系列帧中的突然运动变化。即使在通过视频捕获基本实时地进行稳定操作时,也可以通过在帧捕获和EIS处理之间实现小的延迟来进行对未来帧的分析,以允许使用适当数量的稍后捕获的帧来稳定先前捕获的帧。作为另一个示例,当捕获帧的不同区域时,系统可以通过考虑不同的相机位置来校正卷帘快门失真。可以将不同的图像变换应用于捕获的帧的不同区域,例如,不同的扫描线,以使稳定的输出帧正确对齐不同的区域。作为另一个示例,该系统可以检测由于聚焦改变而引起的相机透镜移动,并且可以消除由通常伴随聚焦变换(例如,聚焦呼吸)的有效焦距变换所引起的视角变换。作为另一个示例,系统可以评估相机运动模糊,并将使用EIS估计的运动路径与模糊指示的移动对齐。
在一个总体方面,一种方法包括:由计算系统接收由记录设备使用光学图像稳定(OIS)系统捕获的视频的一系列帧;以及由计算系统接收(i)指示在捕获一系列帧期间的OIS系统的位置的OIS位置数据,以及(ii)指示在捕获一系列帧期间的记录设备的位置的设备位置数据;由所述计算系统确定所述一系列帧中的特定帧的第一变换,所述第一变换是基于所述特定帧的所述OIS位置数据和所述特定帧的所述设备位置数据确定的;由所述计算系统基于所述第一变换和所述记录设备的位置来确定所述特定帧的第二变换,所述记录设备的位置是基于所述设备位置数据,针对在所述特定帧之后捕获的所述一系列帧中的一个或多个帧所确定的;和由所述计算系统使用所述第二变换来生成所述特定帧的稳定版本。
实施方式可以包括以下一个或多个特征。例如,记录设备和计算系统可以集成到单个设备中。
在一些实施方式中,计算系统和记录设备都是移动电话的两个部分。
在一些实施方式中,接收OIS位置数据包括接收指示OIS系统的可移动透镜的位置的透镜移位数据,并且接收设备位置数据包括从记录设备的陀螺仪或加速度计接收方位或移动数据。
在一些实施方式中,OIS位置数据指示一系列帧中的每个帧的多个OIS位置读数。设备位置数据指示一系列帧中的每个帧的多个设备位置测量值。
在一些实施方式中,该方法包括确定与所述特定帧相对应的透镜聚焦位置。使用所述透镜聚焦位置来确定所述特定帧的所述第一变换。
在一些实施方式中,该方法包括基于由OIS位置数据指示的OIS系统的可移动元件的位置来确定特定帧的图像偏移。使用图像偏移量确定特定帧的第一变换。
在一些实现中,该方法包括:基于OIS位置数据和设备位置数据,确定在一组多个帧上出现的一组相机位置,一组多个帧包括在特定帧之前的一个或多个帧,以及在特定帧之后的一帧或多帧;并将过滤器应用于所述一组相机位置,其中,基于根据将所述过滤器应用于所述一组相机位置而确定的相机位置来确定所述第二变换。
在一些实施方式中,该方法包括:从将过滤器应用于一组相机位置的输出,确定特定帧的中间相机位置;比较所述中间相机位置和紧接在所述特定帧之前的帧的虚拟相机位置。所述第二变换是基于相机位置确定的,所述相机位置是基于所述中间相机位置和紧接在所述特定帧之前的所述帧的所述虚拟相机位置的比较而确定的。
在一些实施方式中,该方法包括生成表征所述特定帧中的运动模糊量的数据。基于使用表征所述特定帧中的运动模糊量的所述数据所确定的相机位置来确定所述第二变换。
在一些实施方式中,生成表征特定帧中的运动模糊的数据包括基于针对特定帧的曝光的开始确定的投影矩阵和针对特定帧的曝光结束的投影矩阵来估计运动模糊核。
在一些实施方式中,该方法包括确定代表在所述记录设备在一组多个帧上的匀速移动期间出现的位置的相机位置。基于表示在所述相机的匀速移动期间出现的位置的所述相机位置来确定所述第二变换。
在一些实施方式中,通过将稳定的过滤器应用于与一组帧相对应的数据来生成所述相机位置,所述一组帧包括在所述特定帧之前的一个或多个帧以及在所述特定帧之后的一个或多个帧。
在一些实施方式中,该方法包括:基于对一组帧上的相机位置的分析来确定所述记录设备的匀速移动的概率,所述一组帧包括在所述特定帧之前的一个或多个帧以及在所述特定帧之后的一个或多个帧;和将(i)代表在所述相机的匀速移动期间出现的位置的所述相机位置与(ii)所述特定帧的第二相机位置融合,其中,根据确定的概率将所述相机位置融合,其中,基于融合所述相机位置和所述第二相机位置的结果来确定所述第二变换。
在一些实施方式中,使用从与所述一组帧相对应的相机位置进行二次采样的一组相机位置上的线性回归,来确定匀速移动的所述概率。使用指示所述特定帧中的模糊量的数据,确定所述第二相机位置。
在一些实现中,确定针对特定帧的第二变换包括:对于包括所述特定帧和在所述特定帧之后出现的一个或多个帧的参考集中的每个参考帧,基于所述设备位置数据和与所述帧相对应的OIS位置数据,确定所述帧的图像数据的投影;确定所述特定帧的变换,所述变换将所述特定帧的投影图像数据映射到输出帧;对于所述参考集中的每个参考帧,确定所确定的所述特定帧的变换在应用于所述参考帧时是否定义了所述输出帧的每个像素;识别至少一个参考帧,对于所述至少一个参考帧,所确定的变换对投影图像数据的应用未定义所述输出帧的每个像素;识别在为所述特定帧确定的相机位置和为所述至少一个参考帧确定的相机位置之间的最小过渡程度(transition measure);和为使用所识别的最小过渡程度所确定的相机位置确定第二变换,确定所述第二变换,以使得当将所述第二变换应用于所述参考集中的每个参考帧的所述投影时,所述第二变换将图像数据映射到输出帧的每个像素。
在一些实施方式中,该方法包括:确定所述特定帧的当前过渡程度,所述当前过渡程度指示针对紧接在所述特定帧之前的帧确定的相机位置与针对所述特定帧确定的相机位置之间的差异;为在所述特定帧之后出现的一个或多个未来帧中的每一个未来帧确定未来过渡程度,其中,每个未来过渡程度指示为所述特定帧确定的相机位置与为所述未来帧之一确定的相机位置之间的差异;从所述当前过渡程度和所述未来过渡程度中确定最大的过渡程度,所述最大的过渡程度指示相机位置的最大差异;和基于所识别的最大过渡程度来确定相机位置;其中,使用所确定的相机位置来确定第二数学变换。
在一些实施方式中,基于所识别的最大过渡程度来确定所述相机位置包括:确定所述最大过渡程度对应于所述一个或多个未来帧中的特定未来帧;将所述特定帧的相机位置朝向所述特定未来帧的所述相机位置进行调整,其中,所述特定帧的所述相机位置被调整了根据捕获所述特定帧和捕获所述特定未来帧之间的时间量而规定的量。
在一些实施方式中,该方法包括对于特所述定帧的扫描线的每个适当子集,确定所述扫描线相对于所述输出帧或所述扫描线的虚拟相机位置的映射;和通过在为扫描线的所述适当子集确定的映射之间进行插值,或者在为扫描线的所述适当子集确定的虚拟相机位置之间进行插值,来为所述特定帧的每个扫描线确定映射。
在一些实施方式中,所述第一变换是将所述特定帧映射到图像的第一投影矩阵;所述第二变换是用于将所述中间空间中的所述图像投影到所述特定帧的所述稳定版本的第二投影矩阵。
这些方面的其他实施例包括被配置为进行在非暂时性机器可读存储设备上编码的方法的动作的相应系统,装置和计算机程序。可以借助于安装在系统上的软件,固件,硬件或它们的组合来配置一个或多个设备的系统,这些软件,固件,硬件或硬件的组合在操作中使得系统进行动作。一个或多个计算机程序可以通过具有指令来进行配置,该指令在由数据处理设备执行时使该设备进行动作。
各种实施方式可以提供以下优点中的一个或多个。例如,可以通过减少抖动,模糊和其他移动来提高视频片段的质量。通过结合使用OIS技术和EIS技术,稳定的视频可以比单独使用这两种技术更平滑。OIS可以显著地减少各个帧中的相机运动模糊,以及减少多个帧中的运动。EIS可以使用来自跟踪记录设备的移动的陀螺仪传感器的数据,进一步减少一系列视频帧中明显的运动。EIS处理还可以使用OIS位置数据(例如,透镜移位信息)来提高将图像数据映射到稳定输出帧的准确性。该系统可以一起使用OIS位置数据和设备陀螺仪传感器来估计相机位置。这可以允许EIS处理避免校正已经由OIS模块抵消的设备运动,并且还允许EIS校正不希望的OIS移动(例如,会干扰摇拍,引入失真或不对应于设备运动的移动)。
在一些实施方式中,系统可以使用超前帧来减少大的或突然的移动的影响,以增加EIS处理的准确性。基于对后续帧的分析,可以调整视频帧,以便在移动出现之前逐渐为移动中的大变化做好准备。系统可以评估是否正在发生匀速的移动(例如,摇拍),并调整视频帧以反映匀速移动。可以减少或消除卷帘快门失真。由于聚焦呼吸而导致的视角变化可以减少或消除。
在一些实施方式中,系统可以在捕获视频的同时提供实时或基本实时的处理。例如,在记录视频片段时可能会发生EIS处理,因此记录的片段会应用EIS处理。此外,可以在电池供电的移动电子设备(例如移动电话)上以计算上可行且功率高效的方式进行所讨论的技术。
本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐明。根据说明书,附图和权利要求书,本主题的其他特征,方面和优点将变得显而易见。
附图说明
图1是示出用于视频稳定的系统的示例的图。
图2是示出用于视频稳定的数据的示例的图。
图3A-3C显示了说明用于视频稳定的处理的示例的流程图。
在各个附图中,相似的附图标记和标记指示相似的元件。
具体实施方式
图1是说明用于视频稳定的系统100的示例的图。系统100包括记录设备102,该记录设备102包括具有OIS模块115的相机模块110。记录设备102在使用OIS模块115的同时捕获视频帧,以至少部分抵消记录设备102在帧捕获期间的移动。记录设备102还包括一个或多个设备位置传感器120,一个或多个数据存储设备130以及EIS模块155。
记录设备102可以是包括相机模块的各种类型中的任何一种,例如移动电话,平板计算机,相机等。记录设备102可以包括用于进行EIS模块155的操作的计算系统,该计算系统可以以软件,硬件或其某种组合来实行。例如,记录设备102可以包括各种处理部件,例如,一个或多个处理器,存储可执行指令的一个或多个数据存储设备,存储器,输入/输出部件等等。进行EIS处理的处理器可以包括通用处理器(例如,移动电话或其他设备的主CPU),图形处理器,协处理器,图像处理器,固定功能的EIS处理器或其任何组合。
EIS模块155使用来自设备位置传感器120和OIS模块115两者的位置数据来使记录设备所捕获的视频稳定。例如,来自OIS模块115的位置数据可以用于确定相对于将从设备位置数据中推断出的预期相机视图的偏移,该偏移表示OIS移动的影响。这使EIS模块155能够估计反映图像传感器实际视图的有效相机位置,即使OIS模块115相对于设备位置改变场景的相机视图也是如此。与本文讨论的其他特征一起,这些技术可以使记录设备102能够有效地同时使用OIS和EIS处理,并实现这两种技术的好处。
通常,OIS可以非常有效地减少由于相机抖动而导致的单个帧内的模糊,并且OIS可以有效地减少一系列帧上的明显运动。但是,单独使用OIS通常会受到各种限制。OIS模块可能会对它们响应运动的速度以及可以补偿的运动幅度有所限制。此外,OIS模块的操作有时会导致失真(例如摆动的视频),并且可能会错误地抵消所需的移动(例如摇拍)。EIS模块155可以使用描述OIS模块的内部移动的位置数据来减轻这些限制的影响。
因为OIS模块115试图补偿记录设备的移动,所以仅设备运动可能无法指示在视频捕获期间使用的真实的相机视图。如果EIS处理试图仅基于设备运动来补偿运动,则EIS处理可能试图校正由OIS系统已经补偿的移动。此外,OIS通常仅部分地消除设备移动的影响,并且补偿量可以从一帧到下一帧变化。为了提供高质量的稳定,在一些实施方式中,EIS模块155将OIS位置数据与设备级位置数据一起使用,以改变应用于每帧、甚至帧的各个扫描线的稳定量。该处理可以提供有效的稳定以及减少或消除视频片段中的失真。例如,在捕获帧时OIS透镜移位位置的变化可能会导致失真,尤其是在与许多相机模块中常见的卷帘快门结合使用时。利用关于在帧捕获期间在不同时间的OIS透镜移位的信息,EIS模块155可以在捕获帧的不同部分时估计透镜位置并校正图像。EIS模块155还可以进行补偿以减少干扰摇拍或以其他方式不期望的OIS透镜移位的影响。
EIS模块155可以增强视频的另一种方式是通过对随后捕获的帧的数据进行分析。为了处理特定的帧,EIS处理模块可以评估时间窗口中的一组相机位置,该时间窗口包括一个或多个未来帧被捕获的时间。关于未来帧和对应位置的信息可以以多种方式使用。首先,EIS模块155可以对一组相机位置应用过滤,以使用于定义改变帧的图像变换的运动模式平滑。其次,EIS模块155可以使用一组相机位置来评估存在匀速运动(例如,摇拍)或尝试进行匀速运动(例如,摇拍)的可能性,然后在可能时调整与此运动匀速的帧。第三,EIS模块155可以相对于未来相机位置评估对于帧的相机位置,并针对未来的较大移动进行调整。例如,如果针对未来的帧识别出大的快速的移动,则EIS模块155可以在运动开始之前开始调整帧的内容。EIS模块155可以在较大的帧上散布运动,而不是在几帧上进行大的明显运动,从而在较早的帧期间出现增量图像移位,并逐渐在更多的帧上散布移动。
EIS模块155进行输出帧的区域合成,例如,改变应用于图像帧的每个扫描线的变换。这使得系统可以校正卷帘快门失真,OIS模块115的移动以及在单个帧的捕获持续时间内发生的各种设备运动。
仍然参考图1,记录设备102可以是具有捕获视频数据的相机的任何适当的设备,例如相机,蜂窝电话,智能电话,平板计算机,可穿戴计算机或其他设备。尽管图1的示例示出了捕获视频并处理视频的单个设备,但是功能可以可选地散布在多个设备或系统中。例如,第一设备可以捕获视频帧,并且还记录位置数据和其他参数作为元数据。第一设备可以将视频帧和元数据提供给第二设备,例如本地计算系统或远程服务器,该第二设备可以进行本文所讨论的EIS处理。
相机模块110可以包括透镜元件,图像传感器,传感器读取电路和其他部件。OIS模块115可以包括传感器,可移动元件,处理器以及用于移动可移动元件的驱动机构。可移动元件位于相机模块110的光路中。例如,可移动元件可以是反射或折射元件,例如透镜,镜子,棱镜。在一些实施方式中,可移动元件是相机模块110的图像传感器。传感器可以包括检测移动的一个或多个陀螺仪或其他传感器。处理器确定可移动元件补偿传感器指示的移动所需的移动量和移动方向,然后指示驱动机构来移动可移动元件。
记录设备102包括一个或多个位置传感器120,其测量记录设备102的方位的变化。在一些实施方式中,用于记录设备102的位置传感器120与OIS模块115所使用的传感器分开。位置传感器120可以检测记录设备102围绕一个或多个轴的旋转。作为示例,设备位置传感器120可以是三轴陀螺仪或惯性测量单元(IMU)。其他传感器可以附加地或替代地用于确定设备位置。例如,可以使用一个或多个加速度计,单轴陀螺仪,两轴陀螺仪等来确定记录设备102的位置。通常,可以使用允许确定记录设备102的旋转位置的任何适当的传感器或传感器的组合
在某些情况下,除了或代替使用记录设备102的单独位置传感器120之外,还可以捕获和存储来自OIS模块115的陀螺仪传感器的位置数据。然而,对于记录设备102可能有益的是使用具有与OIS传感器不同特性的陀螺仪传感器。例如,用于记录设备102的陀螺仪传感器可以在大于每秒100度的合理旋转范围的情况下以大约400Hz的速率提供测量。与设备级传感器相比,OIS模块的典型陀螺仪传感器可以在每秒约10度的合理旋转范围的情况下以不同的速率和范围(例如,每秒5000次测量或更高的速率)提供测量。在某些实施方式中,具有设备级传感器的更大的合理旋转范围是有益的(例如,以描述较大的移动),OIS模块传感器更频繁的测量(例如,以检测微小变化或高频模式)也是有益的。因此两种类型的数据可以一起用于确定记录设备102的位置。
记录设备102包括一个或多个数据存储设备130,该数据存储设备130存储表征相机模块110和帧捕获处理的信息。例如,所存储的数据可以包括校准数据132,该校准数据132指示OIS模块115的位置与图像数据中出现的所产生的偏移之间的关系。类似地,校准数据132可以指示相机模块透镜聚焦位置和那些聚焦位置的有效焦距的对应关系,从而允许系统考虑聚焦呼吸。所存储的数据可以包括扫描模式数据134,该扫描模式数据134可以指示相机模块110中的图像传感器的读数属性。例如,扫描模式数据134可以指示例如扫描方向(例如,从从上到下读取的扫描线),扫描线是被单独读取还是分组读取,等等。
在视频捕获期间,相机模块110,OIS模块115和设备位置传感器120各自提供有关视频捕获处理的信息。相机模块110提供视频帧数据142,例如,视频图像帧的序列。相机模块110还提供帧曝光数据144,其可针对所捕获的每个帧包括曝光持续时间的指示和指示曝光发生的参考时间(例如,曝光的开始时间或结束时间)。相机模块110还提供透镜聚焦位置数据146,该透镜聚焦位置数据146指示每个捕获帧的透镜聚焦位置。
OIS模块115提供OIS位置数据148,其指示OIS模块115的可移动元件在视频捕获期间的各个时间的位置。例如,当可移动元件是移位以补偿运动的可移动透镜时,OIS模块115可以提供透镜移位读数,该透镜移位读数指定了可移动透镜的当前位置。记录设备102可以记录透镜移位位置和该位置出现的时间。在一些实施方式中,以较高的频率(例如,以高于视频捕获的帧速率的速率)捕获OIS位置数据148,从而在每个视频帧曝光的持续时间内进行多次测量。
设备位置传感器120提供设备位置数据150,该设备位置数据150指示在视频捕获期间的记录设备102的旋转和/或其他移动。可以以高频率(例如200Hz或更高)测量设备位置。因此,在许多情况下,在捕获每个视频帧的过程中,可以在多个不同的时间获得测量结果。
透镜聚焦位置数据146,OIS位置数据148和设备位置数据150都可以记录有表示指定位置出现的时间的时间戳。时间戳可以精确地制作,例如精确到最接近的毫秒,使得从各个位置测量获得的数据可以被及时对齐。另外,可以对设备、OIS系统或透镜聚焦机构的位置进行插值,以确定两次测量之间的时间值。
数据捕获的潜在时序的示例在图表152中显示。如图所示,设备位置数据150(例如,陀螺仪数据)和OIS位置数据148(例如,透镜移位位置数据)可以以高于视频捕获帧速率的速率(例如,每秒30帧,每秒60帧等)被捕获,以便可以为每个视频帧确定设备和OIS系统的多个位置。每个图像帧可以至少捕获一次透镜聚焦位置数据146。例如,可以相对于帧曝光异步地捕获位置数据,其中以超过并且不一定与图像帧曝光的开始或结束同步的速率对陀螺仪传感器数据和OIS位置数据进行采样。
从相机模块110和其他部件获得的数据被提供给EIS模块155进行处理。在进行视频捕获时可能会发生此处理。例如,EIS处理可以基本实时地进行,使得在视频捕获结束时使用户可访问的视频文件已经被EIS模块155稳定。在一些实施方式中,EIS处理可以稍后(例如在视频捕获已经完成之后)进行,或由记录该视频的设备以外的设备来进行。EIS模块155可以以硬件,固件,软件或其组合或子组合来实现。
EIS模块155包括运动数据处理器156,其周期性地或连续地从设备位置传感器120获得更新的设备位置数据150。运动数据处理器从设备位置数据150估计当前相机姿势。例如,可以获得陀螺仪信号,并将其用于以高频率(例如200Hz)估计记录设备102的设备位置。在给定时间t的该设备位置在下文中称为R(t)。该设备位置可以指示记录设备102相对于例如一个、两个或三个轴的旋转位置。设备位置可以表示为旋转矩阵,或者相对于坐标系表示,或者以其他形式表示。
EIS模块155包括OIS位置数据处理器158,其周期性地或连续地获得图示为OIS位置数据148的OIS位置读数。OIS位置数据处理器158将OIS读数值转换成可以与设备位置一起使用的偏移。例如,可以将OIS透镜位置转换为二维像素偏移。为了产生偏移,OIS位置数据处理器158可以使用存储的校准数据132,其可以提供转换系数或矩阵以从OIS位置转换为对应的偏移。由于OIS位置而产生偏移可以考虑到相机的有效焦距长度随时间的变化,例如,如果相机模块110能够进行光学变焦,则由于透镜聚焦位置和/或透镜变焦位置的变化而引起该变化。像运动数据处理器156一样,OIS位置数据处理器158用数据表示的时间来标记每个测量和偏移。
EIS模块包括运动模型构造器160,该运动模型构造器160接收由设备位置数据处理器156计算出的设备位置以及由OIS位置数据处理器158计算出的OIS偏移。利用该数据以及帧曝光数据142和透镜聚焦位置数据146,运动模型构造器160生成帧的第一变换162。例如,第一变换162可以是投影矩阵,该投影矩阵将相机视图中的现实世界场景映射到捕获的帧。对每一帧重复此处理。
当生成帧的第一变换162时,可以将OIS模块115的位置建模为与从陀螺仪数据确定的主要设备位置的偏移。如下面进一步讨论的,通过在当时的透镜聚焦位置查找有效焦距,偏移可以在捕获时使相机的有效焦距生效。第一变换162可以分别描述单个图像帧的不同子集或区域的关系。例如,第一变换162的不同部分或部件可以描述帧的不同扫描线如何被映射到现实世界场景。设备位置,OIS模块位置和透镜聚焦位置都可以使用测量时间戳全部被对齐,并根据需要被插值,以在曝光时为一帧的各个扫描线提供准确的位置。
由运动模型构造器160生成的第一变换162被提供给确定第二变换172的非线性过滤引擎170。该第二变换172可以是第二投影矩阵P'i,j,其将帧的图像数据投影到表示该帧的稳定版本的输出帧。具体地,第二变换172可以将使用初始变换162做出的图像投影Pi,j映射到输出帧,而不是对捕获的图像数据进行操作。在一些实施方式中,然后可以将两个变换162、172组合成单个变换,该单个变换对最初捕获的帧的图像数据进行操作,并将其直接映射到稳定的输出帧。
为了有效地稳定移动,非线性过滤引擎170可以生成第二变换172以考虑在处理帧的捕获之后未来将发生的移动。例如,对于正在分析的当前帧,自前一帧以来,记录设备的位置可能尚未明显地移动。然而,如果引擎170确定未来帧中出现明显运动,则可以生成第二变换172,以移位或以其他方式改变当前帧,以在视频中引入明显的移动,从而可以将较大的未来运动散布为一系列渐进变化,而不是突然变化。同样,如果未来帧的稳定会导致裁切或其他变化,则可以生成第二变换172以将那些变化至少部分地传播到较早的帧,以在一系列帧上进行更渐进和匀速的变化。
非线性过滤引擎170可以从虚拟相机位置生成帧的第二变换172。虚拟相机位置可以表示将使所记录的视频稳定的记录设备102的调整的或假设的姿势,而不是表示出现曝光时的相机的实际位置。虚拟位置可以表示放置虚拟相机的期望位置,例如,将模拟场景的特定视图或立体图的位置。通常,任何相机位置都可以通过其相对于全球参考系(globalreference frame)的旋转和平移来表示。虚拟相机位置可以表示为旋转矩阵,例如,指示相对于参考位置的旋转偏移的矩阵。这可以是指示相对于3个旋转轴的旋转偏移的3x3矩阵。在一些实施方式中,EIS模块的稳定处理仅根据旋转分量来定义位置,因为这些旋转分量通常对手持视频的稳定性具有最大的影响。
帧的虚拟相机位置可以反映对估计的相机位置的调整,以增强视频稳定,校正失真和操作,便于摇拍以及增强视频。可以通过生成基于各种因素进行调整的初始相机位置来确定一帧的虚拟相机位置。例如,可以基于在帧之前和之后检测到的移动、基于帧中的模糊量、基于发生摇拍的可能性,通过对设备位置进行过滤来调整虚拟相机位置,通过进行调整以为未来帧的运动做准备,和/或确保图像数据覆盖整个输出帧。可以通过为帧生成一系列虚拟相机位置来解决各种因素,一系列虚拟相机位置被更改、融合或以其他方式用于确定帧的最终虚拟相机位置。
正如变换162、172可以针对不同的扫描线具有不同的映射一样,可以针对帧的不同扫描线确定不同的虚拟相机位置,以针对帧捕获期间的设备位置、OIS模块115位置、和/或透镜聚焦位置的变化进行调整。因此,不同的虚拟相机位置可以用于帧的不同部分。为了提高效率,可以为图像传感器的扫描线的适当子集计算第二转换172的虚拟相机位置和相应部件,然后对于其余的扫描线,适当的数据可以被插值。在下面的各个示例中,为简单起见,讨论了一条扫描线,例如图像传感器的中心扫描线。完全计算虚拟相机位置和对应的投影矩阵分量的技术可以用于图像帧的多条扫描线,如果需要,甚至可以单独用于每条扫描线。
如本文所使用的,设备位置是指记录设备102的位置,例如,如设备位置数据150(例如,陀螺仪数据)和设备位置数据处理器156的输出所指示的。设备级位置指示记录设备102的姿势或方位,而不考虑相机模块110的透镜的内部移动或OIS模块115的移动。同样,如本文所用,相机位置指示对应于相机的有效视图或估计视图的位置。通过考虑由于OIS模块115的操作、透镜呼吸和其他因素引起的移位,相机位置可能与设备位置不同。此外,相机位置可以是虚拟位置,例如,反映相机的增强视图或变更视图、而不是相机的实际视图的近似值或假设位置。
然后EIS模块155使用图像变形引擎180来使用非线性运动过滤引擎170的输出,并将每个捕获的图像帧映射到输出帧。第二投影172可以包括与帧的每条扫描线相对应的分量,从而将帧的每个部分映射到输出空间,并且定义输出帧的每个像素。可以针对视频的每个帧进行EIS模块155的处理。
图2是示出用于视频稳定的数据的示例的图。该图示出了由记录设备102捕获的一系列帧210。每个帧被标记有对应的元数据组212,该元数据组212指示例如曝光持续时间,曝光参考时间(例如,开始时间,停止时间,或曝光的其他参考点),透镜聚焦位置等。尽管未示出,但是在每次曝光期间的不同时间捕获设备位置数据和OIS模块位置数据并加时间戳。
为了对帧211进行稳定处理,定义了捕获帧211周围的时间范围。分析该时间范围或帧窗口以确定如何变换帧211。正在分析的帧211的中心扫描线的曝光时间T可以用作范围的中心。预定的时间偏移L可以用于设置范围,例如从[T-L,T+L]的时间范围。在一些实施方式中,该时间偏移L约为200ms。结果,该范围将包括在帧211之前的大约7帧和之后的大约7帧。可以使用更大或更小的时间偏移L。因为EIS模块155在处理期间使用未来帧的上下文(context),所以帧的处理被延迟,直到已经捕获到适当数量的后续帧为止。
在图2中,在图2中,帧211被示为由图像传感器捕获。如上所述,EIS模块155根据指示在捕获帧211期间的记录设备102的真实位置、以及诸如OIS模块元件和透镜聚焦位置的相机元件的位置的数据来定义第一变换162。施加第一变换162的结果是相对于输出帧目标235示出的投影图像230。在实施方式中,仅使用与帧211的捕获相对应的数据来确定第一变换162。变换162对应于相机的真实透镜位置,因此投影图像230鉴于相机而估计图像数据和实际场景之间的映射。
EIS模块155使用第二变换162来进一步调整帧211的图像数据。该第二变换162对应于虚拟透镜位置,例如,如果用于捕获帧211将会导致更稳定的视频的假设位置。当第二变换162应用于帧211时,产生投影图像240,其完全定义了输出帧235的数据。
可以从与[T-L,T+L]的时间范围内的每个帧相对应的数据来生成产生投影图像240的第二变换172。可以例如使用高斯过滤器,对在该时间段上的记录设备102的位置R(t)进行过滤,以使该范围内的运动平滑。在时间T的过滤结果,即帧211的中心扫描线的曝光可以用作初始虚拟相机位置V0(T)。即使进行过滤,设备位置可能也会出现不希望的移动,或者可能有导致不希望的移动的其他因素。结果,可以通过一系列进一步的操作来更新初始虚拟相机位置V0(T)。在某些实施方式中,被过滤的位置R(t)是假设没有OIS移动的位置,因此,这些位置可以基于设备位置数据150,而无需考虑OIS位置数据148。在其他实施方式中,可以将OIS运动和偏移纳入一组位置,这些位置经过过滤以生成初始虚拟相机位置V0(T)。
例如,可以基于在未来帧上出现的运动量,通过将位置V0(T)与前一帧的相机位置VF(T_pre)进行插值来生成第二虚拟相机位置V1(T)。前一帧的相机位置可以是最终虚拟相机位置,例如,与用于生成前一帧的稳定输出版本的变换相对应的位置。插值可以将帧211和前一帧之间的运动的明显变化与帧211和未来帧之间的运动的明显变化对齐。
可基于帧211中存在的相机运动模糊量,通过将V1(T)与真实设备位置R(T)进行插值来生成第三虚拟相机位置V2(T)。这可以减少为减少观看者对模糊的感知而施加的稳定量。由于通常无法消除运动模糊,因此在适当的情况下会降低视频的稳定性,以产生更自然的效果。
可以生成第四虚拟相机位置V3(T),以模拟或表示在记录设备102在时间范围[T-L,T+L]的匀速运动期间出现的位置。可以通过在该时间范围内将稳定的过滤器(例如域变换过滤器)应用于估计的实际设备位置R(t)来确定该位置。尽管将过滤器应用于用于生成V0(T)的同一组设备位置,但是此步骤表示不同类型的过滤。例如,可以通过过滤来生成V0(T),该过滤进行平滑,但通常跟随估计的实际设备位置随时间的变化,而无需施加预定的形状或图案。相比之下,通过过滤设备图案来生成V3(T),以符合预定的匀速运动图案,例如记录设备102的用户可能会期望的基本线性的摇拍或其他移动。
第五虚拟相机位置V4(T)可以作为V3(T)和V2(T)的插值被生成。EIS模块155可以评估设备位置随时间的变化是否可能代表记录设备102的摇拍,并且可以相应地对插值进行加权。如果确定摇拍的可能性很高,则V4(T)接近估计的摇拍位置V3(T)。如果确定摇拍的可能性很低,则V4(T)将更接近位置V2(T)。
在第五虚拟相机位置V4(T)的情况下,EIS模块155可以评估相应变换将提供给输出帧235的覆盖范围。由于希望填充整个输出帧235而不会留下任何未定义的像素,所以EIS模块155均可确定表示从虚拟相机位置V4(T)观看到的场景的例如投影矩阵的变换,并验证投影图像将覆盖输出帧235。对于未来帧中的运动,可以将变换应用于未来图像帧捕获的场景部分。变换和对应的虚拟相机位置V4(T)可以被调整,使得当使用变换映射时,当前帧和一组未来帧中的每一个未来帧都将完全定义输出帧235。所产生的变换可以被设置为变换172,并且可以被用来生成用于帧211的稳定的输出帧235。
在一些实施方式中,为帧211生成稳定的输出帧235包括针对帧211的一条或多条其他扫描线进行针对在时间T曝光的扫描线所讨论的EIS处理技术。例如,可以以特定间隔(例如,每100条扫描线,每500条扫描线等)或特定参考点(例如,整个帧的四分之一和四分之三,或在帧的顶部和帧的底部)对于扫描线进行处理。当仅针对帧211的扫描线的适当子集确定虚拟相机位置和第二变换172时,将扫描线的变换(例如,投影矩阵的相应部分)在计算出的位置之间进行插值。以这种方式,为每条扫描线确定适当的变换,并且作为结果,每条扫描线可以具有不同的变换。在一些实施方式中,可针对每一帧的每一扫描线完成生成虚拟相机位置的完整处理和第二变换172,而不依赖于不同扫描线的数据之间的插值。
一旦帧211被映射到输出帧235,结果就被保存并且EIS模块155开始处理下一帧。该处理继续进行,直到处理完视频的每个帧为止。
用于生成虚拟相机位置和所产生的变换的各种因素可以组合使用或单独使用。例如,根据实施方式,可以省略用于创建虚拟相机位置V0(T)至V4(T)的一些插值和调整。例如,在不同的实施方式中,可以使用任何过滤后的相机位置V0(T)至V3(T)来确定将数据投影到输出帧的变换,而不是为此目的使用V4(T)。因此,使用任何经过过滤的相机位置V0(T),V1(T)和V2(T)以生成稳定的变换可能仍会提高视频的稳定性。类似地,V3(T)可能有效地稳定发生摇拍的视频。即使考虑到所讨论的不同因素的子集,许多其他变型也在本公开的范围内。
所讨论的技术可以以各种方式应用。例如,不是将两个变换162、172顺序地应用于图像数据,而是记录设备可以生成反映了两者的组合效果的单个组合变换。因此,使用变换162、172产生稳定的图像数据可以涵盖生成进一步的变换或关系,其最终用于稳定图像数据,而不是直接应用变换162、172。
图3A-3C示出了说明用于视频稳定的处理300的示例的流程图。处理300示出了图1和图2中讨论的技术的更详细的示例。处理300的动作可以由诸如记录设备102(例如,相机,移动电话,平板计算机等)的计算系统来进行。处理300的动作可以由单个计算设备或多个计算设备进行。
在处理300中,捕获一系列视频帧(301)。在捕获帧时,还将捕获各种其他类型的数据。针对每个帧捕获元数据(302),诸如曝光时间,曝光持续时间,透镜聚焦位置,变焦位置(如果适用),相机标识符(例如,如果需要指定使用哪些多个相机或透镜)等。捕获设备位置数据(303),诸如陀螺仪传感器数据或指示记录设备的方位的其他数据。捕获OIS位置数据(304),其指示OIS模块的可移动元件的位置(例如,透镜移位位置)。可以使设备位置和OIS位置的测量频率高于帧频,从而对捕获的每一帧进行一次或多次测量。在一些实施方式中,可以以200Hz以上进行位置测量。
对设备位置数据进行处理以确定在一系列帧上出现的设备位置(305)。该位置可以指示记录设备在坐标系统中的姿势或方位。例如,时间t处的位置可以由旋转矩阵R(t )表示。可以为每个帧估计设备的几个位置,代表捕获帧的不同部分时的设备位置。在处理特定帧时,将使用在多个帧的范围内出现的设备位置,因此也可以确定正在分析的帧之前和之后的帧的设备位置。在一些实施方式中,计算系统以高频(例如200Hz)连续获取陀螺仪信号并估计最新的相机位置R(t)。
OIS位置数据用于生成OIS偏移(306)。存储的校准数据可以指示表格、函数或其他将OIS位置映射到偏移的数据。例如,OIS读数可以转换为2D像素偏移。例如,该偏移可以称为0_len(t)=(0_len(x,t),0_len(y,t)),示出偏移对于每个时间t都有x和y分量。
记录设备的制造商可以使用由一台或多台计算机进行的有效校准处理来生成校准数据,该校准数据通过线性变换将原始OIS读数数据转换为像素偏移。校准处理可以包括由脚本控制的自动数据捕获处理,以在OIS可移动元件(例如透镜)处于各种预定位置时捕获视频。该处理可以以覆盖整个OIS运动场的预定模式来移动可移动元件,同时捕获位置递增变化的视频帧。对于带有可移动透镜的OIS模块,该运动可以是围绕可移动透镜的中心位置的螺旋运动序列。然后,一台或多台计算机例如通过自动标记代表驱动机构位置的增量变化的帧来检测关键帧。然后,基于关键帧的时间戳和OIS读数数据,将关键帧的时间与相应的OIS位置读数相匹配。然后,一台或多台计算机使用特征检测算法,以像素为单位来测量关键帧之间的图像偏移。例如,一个或多个计算机可以将一个关键帧图像与另一关键帧图像进行比较,并确定与两个关键帧的OIS读数位置的变化相对应的x和y方向上的像素偏移。然后,一台或多台计算机可以使用线性回归来确定将OIS原始读数映射到以像素为单位的图像偏移的转换系数或其他数据。通常,通常可以对特定类型的所有相机模块进行校准处理,而无需对每个单独的设备进行校准处理。
为了进行稳定处理,计算系统识别要处理的特定帧。计算系统为特定帧定义目标时间(307)。例如,可以将出现中心扫描线的曝光的时间T用作目标时间。通常,这是特定帧的曝光持续时间的中间时间。因为每个帧的帧元数据指示参考时间(例如,曝光的开始和/或结束时间)和曝光持续时间,所以可以为每个帧确定与中心扫描线相对应的时间。
计算系统确定针对在目标时间曝光的扫描线的变换(308)。该变换可以是将真实世界场景映射到图像的投影矩阵。该投影矩阵称为Pi,j,其中i是帧索引,j是扫描线索引。对应于中心扫描线的矩阵的成分是Pi,j_T。可以使用设备位置R(T)和OIS位置偏移来生成此变换。
可以将OIS透镜移位数据建模为相对于帧中的主要点(例如,帧的中心或原点)的附加偏移。这符合OIS透镜在记录过程中绕原点移动的物理直觉。为了确定投影矩阵,计算系统可以使用Ri,j_T,Ri,j_T是在步骤(305)中从设备位置数据确定的相机外部矩阵(例如,旋转矩阵)。该计算系统还可以确定相机固有矩阵Ki,j_T(309)。例如,考虑到在时间的透镜聚焦位置,可以使用相机在时间T的有效焦距f来生成相机固有矩阵。可以使用校准数据来查找与透镜聚焦位置读数值相对应的焦距。相机固有矩阵Ki,j_T可以确定为3x 3矩阵,例如:
其中f是当前帧的焦距,Pt是设置在图像中心的2D主点,O_len(j_T)是在T处曝光的扫描线上以像素为单位的转换后的OIS读数。可以根据以下等式,Pi,j_T=Ri,j_T*Ki,j_T,使用相机固有矩阵和相机外部矩阵来生成投影矩阵(310)。可以将第一变换应用于中心扫描线的图像数据,以投影中心扫描线(311)。
另外,计算系统可以通过过滤在时间窗口期间出现的真实设备位置R(t)来确定第一虚拟相机位置V0(T)(312)。第一变换将正在分析中的特定帧中的图像数据映射到坐标系。虚拟相机位置代表此映射的图像数据的假设视图或立体图,这将调整图像数据到帧的映射。计算系统定义了目标时间T附近的时间范围(313)。例如,该范围可以包括目标时间T之前和之后的预定时间L。例如,L可以是200ms,500ms等。因此,定义的时间范围[T-L,T+L]可以包括在处理的特定帧之前的一帧或多帧和在特定帧之后的一帧或多帧的曝光时间。计算系统过滤在定义的时间范围内出现的设备位置R(t)(例如,旋转矩阵)(314)。对于该步骤,使用了代表记录设备的实际移动的记录设备位置,因此经过过滤的位置通常不会反映由于OIS操作引起的调整。例如,对于此步骤,计算系统可以假定虚拟相机始终具有零OIS运动:0_len_virtual(x,y)=(0,0)。然而,在一些实施方式中,OIS位置的变化可用于产生在此处理期间被过滤的位置。可以使用具有大核(例如,Sigma=6)的高斯过滤器来进行过滤。这种过滤可以使设备位置随时间的变化变得平滑,并减少位置随机或短暂变化的影响。对应于时间T的过滤后的设备位置被设置为第一虚拟相机位置V0(T)。
可以使用关于时间T之后的记录设备移动的信息来生成第二虚拟相机位置V1(T)(315)。可以通过评估在时间T到时间T+L之后出现的设备位置来评估未来的运动。通过将初始虚拟摄像机位置V0(T)与紧接在帧211之前捕获的帧的中心扫描线的最终虚拟相机位置V(T_pre)进行插值,可以将未来出现的移动量用于计算第二虚拟相机位置V1(T)。在该示例中,虚拟相机位置可以由旋转矩阵表示,因此可以使用球面插值。计算系统访问前一帧的中心扫描线的虚拟相机位置V(T_pre)(316)。然后,计算系统基于在处理特定帧之后出现的设备位置的变化来确定过渡程度。例如,在时间T之后出现的记录设备102的移动量可用于确定过渡系数A,该过渡系数A设置插值结果是更接近V0(T)还是V(T_pre)。尤其是,可以评估T之后的设备位置的变化。可以使用“突出”的测量来测量可变性。直观地,它是指如果先前的虚拟相机姿势VF(T_pre)保持不变,则变形的帧突出当前和未来的帧的量。突出越大,过渡比或过渡程度将越大,反之亦然。计算系统可以获得相对于每个未来帧到T+L的当前帧的突出值,计算对应的过渡比,并且将过渡比平均作为最终过渡比或过渡程度。
可以使用球面线性插值来进行插值,在本文中将其称为函数
Slerp(p0,p1,α)=sin((1-α)*θ)/sin(θ)*p0+sin(α*θ)/sin(θ)*p1,其中α是过渡程度或过渡系数,0<=α<=1是点p0与p1之间的比率,θ=arccos(p0·p1)是从点p0到p1所形成的弧对角。因此,可以将相机位置确定为V1(T)=Slerp(VF(T_pre),V0(T),A)。如果运动保持匀速或变化缓慢,则系数将很小,因此所得到的相机位置将接近V(T_pre)。如果未来的运动较大,则系数将较大,并且所得到的相机位置将更接近V0(T)。计算系统进行插值(318),该插值可以将第二虚拟相机位置V1(T)设置为使帧之间明显的变化率的位置变得平滑,因此运动出现变化的比率不会突然增加或减少。
第三虚拟相机姿势V2(T)可以基于帧捕获期间存在的运动量或正在处理的帧中存在的运动模糊量,从V1(T)生成(319)。虚拟相机位置V1(T)可以被调整为与真实相机位置R(T)更紧密地对齐,并因此反映在前一帧和帧211之间出现的运动。如果在帧211中存在大量的运动模糊(例如,由于相机移动而不是对象移动),并且处理后的视频变得非常稳定,则运动模糊可能会变得非常明显且不自然。为了减少观看者对模糊的感知,可以允许虚拟相机位置从一帧到下一帧的变化至少部分地跟踪真实相机位置,这与图像中的自然模糊相一致。这样可以在一定程度上隐藏模糊。因此,基于对帧211中的图像模糊量的确定,记录设备102的真实运动的至少一部分可以用于例如通过根据检测到的图像模糊量,在V1(T)和R(T)之间进行插值来调整虚拟相机位置V1(T)。
为了估计帧的运动模糊量,计算系统可以确定在目标时间T的扫描线的单应性(320)。然后,计算系统估计运动模糊核(321)。表征模糊的一种技术是比较沿帧的两个不同位置的投影矩阵分量。例如,对于具有曝光持续时间E的帧,可以确定投影矩阵分量Pi,T-E/2和Pi,T+E/2,表示与特定帧的第一和最后扫描线相对应的投影矩阵。因为投影矩阵是使用OIS位置数据和透镜焦距生成的,所以这些参数的变化引起的模糊会反映在变换中。然后,计算系统计算出两个投影矩阵之间的变换,并将得到的变换应用于代表图像中心点的原点。应用变换将投影点移动到与投影空间中的实际原点的偏移处。与原点的偏移量可以用作模糊估计。
然后,计算系统将第二虚拟相机位置V1(T)朝向真实设备位置R(T)调整到基于所识别的模糊量确定的程度(322)。例如,计算系统可以基于运动模糊核确定系数,并使用该系数对位置V1(T)和R(T)之间的球面插值进行加权。该系数可以基于上面讨论的偏移。在一些实施方式中,设置模糊的阈值量,并且仅在模糊量超过由阈值表示的最小量时才进行R(T)的插值。例如,仅当偏移表示的运动超过OIS操作通常可以补偿的运动时,才可以进行插值。
计算系统确定第四虚拟相机位置V3(T),其表示在一系列帧上记录设备的匀速运动(323)。可以在假设用户在摇拍相机或在时间范围[T-L,T+L]内进行另一次匀速的运动的情况下生成虚拟相机位置V3(T),因此位置V3(T)应该沿着稳定的运动路径下降。因此,可以在时间范围[T-L,T+L]上将稳定的过滤器应用于实际设备位置R(t)(324)。作为示例,可以使用域变换过滤器。例如,这可以推断出最佳配合的摇拍轨迹并指示沿轨迹的相应位置V3(T)。
计算系统确定在时间范围上出现记录设备的匀速运动(例如,摇拍)的概率S(325)。该时间范围可以对应于在特定帧之后捕获的一个或多个未来帧的捕获时间。例如,所评估的数据的时间范围可以是[T+L-K,T+L],其中K>L。通常,时间T之前的大量上下文可能有助于评估摇拍的可能性。例如,摇拍可能发生一秒钟或几秒钟,通常比L的值大得多。结果,K的值可以设置为例如1秒,2秒,3秒等。计算系统可以利用在视频捕获过程中确定的相对较长的设备位置历史。在某些实施方式中,可以在视频的开始处设置时间范围的开始,以便该分析可以评估时间T+L之前整个视频的整体运动模式。
当生成概率S时,计算系统对设备位置数据R(t)进行降采样(downsample)(326)。例如,旋转位置R(t)可以以30fps的帧速率进行采样,该帧速率近似于人类感知的速率,因此概率计算对于慢速移动和噪声更为鲁棒。计算系统分析该时间段内的一系列降采样的位置,以确定概率(327)。例如,线性回归可用于生成降采样位置与线性轨迹的匹配程度的度量。其他方法可以用于分析。例如,可以基于展示摇拍的视频示例和不反映摇拍的视频示例,训练机器学习模型来预测摇拍的可能性。通常,陀螺仪信号会提供高质量的位置信息,其可以允许通过机器学习模型来学习可靠的模式。例如,可以训练S型函数以产生摇拍概率S。
计算系统确定第五虚拟相机位置V4(T)(328)。可以通过将第三虚拟相机位置V2(T)和第四虚拟相机位置V3(T)融合来生成该位置(329)。例如,可以通过基于所确定的匀速运动的概率,在位置V2(T)和V3(T)之间进行插值来实现融合(330)。如果确定摇拍的可能性很高,则V4(T)接近估计的摇拍位置V3(T)。如果确定摇拍的可能性很低,则V4(T)将更接近位置V2(T)。
在处理300的这一点上,由于在一系列设备位置上进行过滤并评估未来运动,虚拟相机位置V4(T)提供了稳定的运动。还调整了该位置以隐藏运动模糊并允许摇拍(如果可能存在)。但是,直接应用为此位置确定的投影可能会使输出帧的某些部分不确定,例如,没有来自特定帧的图像信息映射到输出帧。进一步的处理可以将虚拟相机位置进一步朝着真实相机位置R(T)进行调整,以确保将输出帧的每个部分映射到特定帧的某个部分。
计算系统基于第五虚拟相机位置V4(T)确定变换,例如第二投影矩阵Pr(t)(331)。然后,计算系统确定第一投影矩阵Pi,j(基于真实设备位置R(T))到第二投影矩阵之间的参考变换(332)。如果用于该时间段内的当前视频帧或以后捕获的后续视频帧,则计算系统确定参考变换是否导致未定义像素(333)。例如,对于在[T,T+L]时间范围内捕获的每个帧,可以确定使用该帧的Pi,j的对应部分的投影图像,并且可以将参考变换应用于该帧的投影图像。然后对照输出帧检查变换的投影图像,以确定是否已经定义了输出帧的每个像素。可以针对在[T,T+L]时间范围内捕获的每个帧进行此检查。在一些实施方式中,如果为在该时间范围内捕获的每个帧定义了输出帧,则可以使用与第五虚拟相机位置V4(T)对应的第二投影矩阵Pr(t)来生成稳定版本的特定帧。
如果参考变换对在时间范围[T,T+L]期间捕获的任何帧的投影版本的应用未定义输出帧的所有像素,则计算系统确定最小过渡以维持每个帧的有效像素到时间段[T,T+L]结尾的映射(334)。例如,如果使用参考变换没有完全定义在T’处具有中心扫描线的帧,则可以使用二进制搜索,从V4(T)和R(T')查找最小过渡系数,以便所有投影像素被有效定义。
计算系统针对该时间段的每个后续帧,确定第五过渡矩阵V4(T)的过渡程度(335)。对于具有在T'处的中心扫描线的帧的过渡程度可以是过渡系数,该过渡系数在应用于位置V4(T)时会从位置V4(T)移至真实设备位置R(T')。计算系统从所确定的各种过渡程度中选择过渡程度(336)。计算系统可以选择集合中的最高过渡程度。对于从[T,T+L]出现的帧,过渡程度的集合可以代表针对每个中心扫描线的真实设备位置V4(T)相对于真实相机位置的比较。因此,该集合可以包括针对以下的过渡程度:V4(T)→R(T),V4(T)→R(T+1),……V4(T)→R(T+L))。
例如,如果当前过渡程度高于用于从特定帧到未来帧的过渡程度,则可以从相机位置VF(T)到当前真实设备位置R(T)选择当前过渡程度。否则,当从V4(T)到未来帧T”的过渡的过渡程度最高时,计算系统增加当前过渡程度(337)。当前过渡程度增加的量可能会根据时间T和时间T”之间的时间量而改变。时间量越短,当前过渡程度可以增加的越多,例如,当前过渡程度与从V4(T)到R(T”)的过渡程度越接近。
步骤336和337可以如下表示。使用以上讨论的技术,当前帧和未来帧的过渡比率可以是一个集合(tr(T+0),tr(T+1),tr(T+L))。首先,找到最大比率及其指数i(0<=i<=L),其指示帧序列中的位置。如果最大比率位于当前帧(i=0),则将最终过渡比率设置为此值,例如tr=tr(T+0)。否则,对比率进行插值,例如,tr=tr(T+0)+(tr(T+i)-tr(T+0))/(i+1)。如该处理所示,在计算中索引i的使用根据未来最高过渡帧相对于当前帧出现的时间对插值进行加权。
计算系统生成最终虚拟位置VF(T)(338)。这可以使用V4(T)和R(T)之间的插值来进行,即Slerp(V4(T),R(T),tr),其中tr是在步骤337中确定的过渡比率或过渡程度。可以通过为完全定义[T,T+L]范围内的帧的输出所需的最小过渡系数来修改第五虚拟相机位置V4(T)、并使用选定的过渡程度来设置相对于当前实际设备位置R(T)的插值来完成。
计算系统使用最终虚拟位置VF(T)来确定最终投影矩阵P'i,j(339)。由初始投影矩阵Pi,j表示的第一变换和由最终投影矩阵P'i,j表示的第二变换一起将捕获的特定帧中的图像数据映射到输出帧。换句话说,第一变换基于实际设备位置R(T),将图像数据映射到中间空间,并且第二变换基于最终虚拟相机位置VF(T),将图像数据从中间空间映射到输出帧。第一变换和第二变换可以组合或以其他方式用于生成可以应用于特定帧以将图像数据直接映射到输出帧的单个映射。
处理300中的各个步骤涉及确定专用于特定扫描线(例如,在时间T曝光的扫描线)的变换和虚拟相机位置。可以使用相同的技术来确定正在处理的特定帧中的其他扫描线的变换和虚拟相机位置。通常,可以使用上述技术来仅处理帧的扫描线的适当子集。例如,可以仅独立地评估顶部,底部和中间扫描线。作为另一示例,可以处理中心扫描线和每隔50条扫描线、每隔200条扫描线或每隔500条扫描线出现的其他扫描线。其余的扫描线可能会在分别计算的几条扫描线之间对变换进行插值。
计算系统使用具有为每个扫描线确定的分量的最终变换来生成针对正被处理的特定帧的稳定的输出帧(340)。帧的稳定输出版本作为正在记录的视频的一部分保存到存储设备。可以针对所处理的帧的捕获序列中的下一帧重复处理300,然后下一帧,直到视频捕获结束并且所有捕获的帧均已被处理。视频的其他帧的捕获、以及相应的位置信息可以在处理捕获的帧时进行。
本说明书中描述的本发明的实施例和所有功能操作可以在数字电子电路或计算机软件,固件或硬件中实现,包括本说明书中公开的结构及其等效结构,或将它们中的一个或多个组合在一起。本发明的实施例可以被实现为一种或多种计算机程序产品,即,在计算机可读介质上编码的计算机程序指令的一个或多个模块,以由数据处理装置执行或控制该数据处理装置的操作。计算机可读介质可以是非暂时性计算机可读存储介质,机器可读存储设备,机器可读存储基板,存储设备,影响机器可读传播信号的物质组成,或这些中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置,设备和机器,例如包括可编程处理器,计算机或多个处理器或计算机。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件,协议栈,数据库管理系统,操作系统或这些中的一个或多个的组合的代码。传播的信号是人工产生的信号,例如,机器产生的电,光或电磁信号,其被产生以对信息进行编码,以传输到合适的接收器设备。
计算机程序(也称为程序,软件,软件应用,脚本或代码)可以以任何形式的编程语言(包括编译或解释语言)编写,并且可以以任何形式(包括独立程序或适合在计算环境中使用的模块,部件,子例程或其他单元)进行部署。计算机程序不一定与文件系统中的文件相对应。程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本),在专用于所讨论程序的单个文件,或多个协调文件(例如,存储一个或多个模块,子程序或部分代码的文件)中。可以部署计算机程序以在位于一个站点上或分布在多个站点上并通过通信网络互连的一台计算机或多台计算机上执行。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能的一个或多个可编程处理器来执行。处理和逻辑流程也可以由专用逻辑电路执行,并且装置也可以被实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括存储数据的一个或多个大容量存储设备(例如,磁性,磁光盘或光盘)或可操作地耦合以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传输数据或两者。但是,计算机不必具有此类设备。此外,计算机可以嵌入到另一个设备中,例如平板电脑,移动电话,个人数字助理(PDA),移动音频播放器,全球定位系统(GPS)接收器,仅举几例。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器,介质和存储设备,包括例如半导体存储设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路。
为了提供与用户的交互,本发明的实施例可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和指示设备(例如鼠标或轨迹球)的计算机上实现,用户可以通过键盘和指示设备向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互。例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈,听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音,语音或触觉输入。
本发明的实施例可以在包括计算系统中实现,该计算系统包括后端部件(例如,作为数据服务器),或包括中间件部件(例如,应用服务器),或包括前端部件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该客户端计算机与本发明的实施方式进行交互),或者这种后端、中间件或前端中的一个或多个的任意组合。系统的部件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在各自计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。
尽管本说明书包含许多细节,但是这些细节不应被解释为对本发明的范围或所要求保护的范围的限制,而应理解为对本发明的特定实施例特定的特征的描述。在单独的实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种功能还可以分别在多个实施例中或以任何合适的子组合来实现。而且,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此声称,但是在某些情况下,可以从该组合中切除所要求保护的组合中的一个或多个特征,并且可以将所要求保护的组合用于子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的效果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统部件的分离不应理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序部件和系统通常可以集成在单个软件产品中或打包成多个软件产品。
在提到HTML文件的每个实例中,可以替换其他文件类型或格式。例如,HTML文件可以用XML,JSON,纯文本或其他类型的文件替换。此外,在提到表或哈希表的地方,可以使用其他数据结构(例如电子表格,关系数据库或结构化文件)。
因此,已经描述了本发明的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的运动可以以不同的顺序执行并且仍然实现期望的结果。
Claims (37)
1.一种视频稳定的方法,其特征在于,所述方法包括:
使用光学图像稳定OIS系统接收由记录设备捕获的视频的一系列帧;
接收(i)指示在捕获一系列帧期间的所述OIS系统的位置的OIS位置数据,对于在所述一系列帧中的至少一些帧,所述OIS位置数据指示在捕获帧期间的不同时间的多个OIS位置测量值;以及(ii)指示在捕获所述一系列帧期间记录设备的位置的设备位置数据;
确定所述一系列帧中的特定帧的一个或多个变换,所述一个或多个变换是基于在捕获特定帧期间确定的所述多个OIS位置测量值和所述特定帧的设备位置数据来确定的,其中,所述生成一个或多个变换包括:
对于所述特定帧的扫描线的适当子集的每一个,计算与所述扫描线相对应的第一变换,其中,所述第一变换是基于所述特定帧的所述OIS位置数据和所述特定帧的所述设备位置数据确定的;以及
对于不在所述扫描线的所述适当子集中的所述特定帧的每条扫描线,使用基于计算出的所述第一变换的插值来确定第二变换;和
使用所述一个或多个变换生成所述特定帧的稳定版本。
2.根据权利要求1所述的方法,其特征在于,所述方法包括将在捕获所述特定帧期间确定的所述多个OIS位置测量值中的每一个与所述特定帧的不同扫描线相关联。
3.根据权利要求1所述的方法,其特征在于,包括:根据所述记录设备的位置,确定所述特定帧的一个或多个转换中的至少一个,其中,所述记录设备的位置是根据设备位置数据确定的,而所述一系列帧中的一个或多个帧是在所述特定帧之后捕获的。
4.根据权利要求1所述的方法,其特征在于,所述一个或多个变换中的至少一个指示所述特定帧的不同扫描线如何被映射到由所述特定帧表示的场景中。
5.根据权利要求1所述的方法,其特征在于,所述一个或多个变换进一步基于指示在所述特定帧的捕获期间发生的一个或多个镜头焦点位置的镜头焦点数据。
6.根据权利要求1所述的方法,其特征在于,所述一个或多个变换包括与所述特定帧的不同扫描线相对应的多个变换。
7.根据权利要求1所述的方法,其特征在于,包括确定对应于所述特定帧的不同扫描线的多个虚拟相机位置,以及使用所述多个虚拟相机位置来确定所述特定帧的不同扫描线的多个变换。
8.如权利要求1所述的方法,其特征在于,所述适当子集中的扫描线彼此之间以恒定数量的扫描线间隔开。
9.根据权利要求1所述的方法,其特征在于,所述适当子集仅包括所述特定帧的顶部扫描线,所述特定帧的底部扫描线以及所述特定帧的中间扫描线。
10.根据权利要求1所述的方法,其特征在于,
接收所述OIS位置数据包括:接收指示所述OIS系统的可移动透镜的位置的透镜移位数据;和
接收所述设备位置数据包括从所述记录设备的陀螺仪或加速度计接收方位或运动数据。
11.根据权利要求1所述的方法,其特征在于,
所述OIS位置数据指示所述一系列帧中的每一帧的多个OIS位置读数;和
其中,所述设备位置数据指示针对一系列帧中的每一帧的多个设备位置测量值。
12.根据权利要求1所述的方法,其特征在于,生成一个或多个变换包括:生成投影矩阵,所述投影矩阵包括针对所述特定帧的不同扫描线的不同变换。
13.一种视频稳定系统,其特征在于,所述系统包括:
一个或多个处理器;和
一种或多种机器可读介质,所述一种或多种机器可读介质存储指令,当所述指令由一个或多个处理器执行时,使所述一个或多个处理器执行以下操作:
使用光学图像稳定(OIS)系统接收由记录设备捕获的视频的一系列帧;
接收(i)指示在捕获一系列帧期间的所述OIS系统的位置的OIS位置数据,对于在所述一系列帧中的至少一些帧,所述OIS位置数据指示在捕获帧期间的不同时间的多个OIS位置测量值;以及(ii)指示在捕获所述一系列帧期间记录设备的位置的设备位置数据;
确定所述一系列帧中的特定帧的一个或多个变换,所述一个或多个变换是基于在捕获特定帧期间确定的所述多个OIS位置测量值和所述特定帧的设备位置数据来确定的,其中,所述生成一个或多个变换包括:
对于所述特定帧的扫描线的适当子集的每一个,计算与所述扫描线相对应的第一变换,其中,所述第一变换是基于所述特定帧的所述OIS位置数据和所述特定帧的所述设备位置数据确定的;以及
对于不在所述扫描线的所述适当子集中的所述特定帧的每条扫描线,使用基于计算出的所述第一变换的插值来确定第二变换;和
使用所述一个或多个变换生成所述特定帧的稳定版本。
14.根据权利要求13所述的系统,其特征在于,所述操作包括将在捕获所述特定帧期间确定的所述多个OIS位置测量值中的每一个与所述特定帧的不同扫描线相关联。
15.根据权利要求13所述的系统,其特征在于,所述操作包括:根据所述记录设备的位置,确定所述特定帧的一个或多个转换中的至少一个,其中,所述记录设备的位置是根据设备位置数据确定的,而所述一系列帧中的一个或多个帧是在所述特定帧之后捕获的。
16.根据权利要求13所述的系统,其特征在于,所述一个或多个变换中的至少一个指示所述特定帧的不同扫描线如何被映射到由所述特定帧表示的场景中。
17.根据权利要求13所述的系统,其特征在于,所述一个或多个变换还基于镜头聚焦数据,所述镜头聚焦数据指示在所述特定帧的捕获期间发生的一个或多个镜头聚焦位置。
18.根据权利要求13所述的系统,其特征在于,所述一个或多个变换包括与所述特定帧的不同扫描线相对应的多个变换。
19.一种或多种非暂时性机器可读介质,所述非暂时性机器可读介质存储指令,其特征在于,当所述指令由一个或多个处理器执行时,使所述一个或多个处理器执行以下操作:
使用光学图像稳定(OIS)系统接收由记录设备捕获的视频的一系列帧;
接收(i)指示在捕获一系列帧期间的OIS系统的位置的OIS位置数据,对于在一系列帧中的至少一些帧,OIS位置数据指示在捕获帧期间的不同时间的多个OIS位置测量值所述帧;以及(ii)指示在捕获所述一系列帧期间记录设备的位置的设备位置数据;
确定一系列帧中的特定帧的一个或多个变换,该一个或多个变换是基于在捕获特定帧期间确定的多个OIS位置测量值和该特定帧的设备位置数据来确定的,其中,所述生成一个或多个变换包括:
对于所述特定帧的扫描线的适当子集的每一个,计算与所述扫描线相对应的第一变换,其中,所述第一变换是基于所述特定帧的所述OIS位置数据和所述特定帧的所述设备位置数据确定的;以及
对于不在所述扫描线的所述适当子集中的所述特定帧的每条扫描线,使用基于计算出的所述第一变换的插值来确定第二变换;和
使用一个或多个变换生成特定帧的稳定版本。
20.一种视频稳定的方法,其特征在于,所述方法包括:
使用光学图像稳定(OIS)系统接收由记录设备捕获的视频的一系列帧;
接收(i)指示在捕获一系列帧期间的所述OIS系统的位置的OIS位置数据,对于在所述一系列帧中的至少一些帧,所述OIS位置数据指示在捕获帧期间的不同时间的多个OIS位置测量值;以及(ii)指示在捕获所述一系列帧期间记录设备的位置的设备位置数据;
确定所述一系列帧中特定帧的一个或多个变换,所述一个或多个变换是基于所述特定帧的OIS位置数据和所述特定帧的设备位置数据确定的;
基于所述特定帧的所述OIS位置数据,确定所述特定帧的模糊量;和
响应于所述特定帧中的模糊量高于模糊的阈值量,并且在所述模糊量超过由阈值表示的最小量时,基于所述特定帧的设备位置数据的插值使用一个或多个变换来生成所述特定帧的稳定版本。
21.根据权利要求20所述的方法,其特征在于,所述方法还包括:
确定所述特定帧的第一虚拟相机位置;和
使用所述第一虚拟相机位置和所述特定帧的所述设备位置数据确定第二虚拟相机位置。
22.根据权利要求21所述的方法,其特征在于,确定第二虚拟相机位置包括:在所述特定帧的捕获期间,基于所述特定帧中的所述模糊量在所述第一虚拟相机位置和所述记录设备的位置之间进行插值。
23.根据权利要求22所述的方法,其特征在于,所述特定帧中的所述模糊量由以下各项确定:
确定所述特定帧的曝光开始时的第一投影矩阵;
确定所述特定帧的曝光结束时的第二投影矩阵;
确定所述第一投影矩阵与所述第二投影矩阵之间的投影变换;
将所述投影变换应用于代表所述特定帧的中心点的原点以生成投影点,所述投影点是相对于所述中心点的偏移;和
基于所述偏移的大小,估计所述特定帧中的所述模糊量。
24.根据权利要求22所述的方法,其特征在于,基于所述第二虚拟相机位置来确定所述一个或多个变换。
25.如权利要求20所述的方法,其特征在于,所述特定帧的所述稳定版本被移位以引入来自所述未来帧的明显运动。
26.根据权利要求20所述的方法,其特征在于,所述方法还包括:
确定在所述特定帧之后发生的未来帧的稳定是否引入了裁切;
响应于确定未来帧的稳定引入了裁切,生成所述特定帧的所述稳定版本以引入部分裁切。
27.根据权利要求20所述的方法,其特征在于,所述一个或多个变换进一步基于指示在所述特定帧的捕获期间发生的一个或多个镜头焦点位置的镜头焦点数据。
28.根据权利要求20所述的方法,其特征在于,所述一个或多个变换包括与所述特定帧的不同扫描线相对应的多个变换。
29.根据权利要求20所述的方法,其特征在于:
接收所述OIS位置数据包括:接收指示所述OIS系统的可移动透镜的位置的透镜移位数据;和
接收所述设备位置数据包括从所述记录设备的陀螺仪或加速度计接收方位或运动数据。
30.根据权利要求20所述的方法,其特征在于:
所述OIS位置数据指示所述一系列帧中的每个帧的多个OIS位置读数;和
所述设备位置数据指示一系列帧中每个帧的多个设备位置测量值。
31.一种视频稳定系统,其特征在于,所述系统包括:
一个或多个处理器;和
一种或多种机器可读介质,所述一种或多种机器可读介质存储有由一个或多个处理器执行时使一个或多个处理器执行以下操作的指令:
使用光学图像稳定(OIS)系统接收由记录设备捕获的视频的一系列帧;
接收(i)指示在捕获一系列帧期间的所述OIS系统的位置的OIS位置数据,对于在所述一系列帧中的至少一些帧,所述OIS位置数据指示在捕获帧期间的不同时间的多个OIS位置测量值;以及(ii)指示在捕获所述一系列帧期间记录设备的位置的设备位置数据;
确定所述一系列帧中特定帧的一个或多个变换,所述一个或多个变换是基于所述特定帧的OIS位置数据和所述特定帧的设备位置数据确定的;
基于所述特定帧的所述OIS位置数据,确定所述特定帧的模糊量;和
响应于所述特定帧中的模糊量高于模糊的阈值量,并且在所述模糊量超过由阈值表示的最小量时,基于所述特定帧的设备位置数据的插值使用一个或多个变换来生成所述特定帧的稳定版本。
32.如权利要求31所述的系统,其特征在于,所述一个或多个机器可读介质存储另外的指令,所述指令在由所述一个或多个处理器执行时使所述一个或多个处理器执行以下操作:
确定所述特定帧的第一虚拟相机位置;和
使用所述第一虚拟相机位置和所述特定帧的所述设备位置数据确定第二虚拟相机位置。
33.根据权利要求32所述的系统,其特征在于,确定第二虚拟相机位置包括:在所述特定帧的捕获期间,基于所述特定帧中的所述模糊量在所述第一虚拟相机位置和所述记录设备的位置之间进行插值。
34.根据权利要求33所述的系统,其特征在于,所述特定帧中的模糊量由以下各项确定:
为特定帧的曝光开始确定第一投影矩阵;
为特定帧的曝光结束确定第二投影矩阵;
确定第一投影矩阵与第二投影矩阵之间的投影变换;
将投影变换应用于代表特定帧的中心点的原点以生成投影点,该投影点是相对于该中心点的偏移;和
基于偏移的大小,估计特定帧中的模糊量。
35.根据权利要求33所述的系统,其特征在于,基于所述第二虚拟相机位置来确定所述一个或多个变换。
36.根据权利要求31所述的系统,其特征在于,所述特定帧的所述稳定版本被移位以引入来自所述未来帧的明显运动。
37.一种或多种非暂时性机器可读介质,其特征在于,存储的指令在由一个或多个处理器执行时会导致一个或多个处理器执行以下操作:
使用光学图像稳定(OIS)系统接收由记录设备捕获的视频的一系列帧;
接收(i)指示在捕获一系列帧期间的所述OIS系统的位置的OIS位置数据,对于在所述一系列帧中的至少一些帧,所述OIS位置数据指示在捕获帧期间的不同时间的多个OIS位置测量值;以及(ii)指示在捕获所述一系列帧期间记录设备的位置的设备位置数据;
确定所述一系列帧中特定帧的一个或多个变换,所述一个或多个变换是基于所述特定帧的OIS位置数据和所述特定帧的设备位置数据确定的;
基于所述特定帧的所述OIS位置数据,确定所述特定帧的模糊量;和
响应于所述特定帧中的模糊量高于模糊的阈值量,并且在所述模糊量超过由阈值表示的最小量时,基于所述特定帧的设备位置数据的插值使用一个或多个变换来生成所述特定帧的稳定版本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110599340.0A CN113194260B (zh) | 2017-10-03 | 2018-07-31 | 一种视频稳定的方法及装置 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/724,241 | 2017-10-03 | ||
US15/724,241 US10462370B2 (en) | 2017-10-03 | 2017-10-03 | Video stabilization |
CN202110599340.0A CN113194260B (zh) | 2017-10-03 | 2018-07-31 | 一种视频稳定的方法及装置 |
CN201880030074.6A CN111133747B (zh) | 2017-10-03 | 2018-07-31 | 一种视频稳定的方法及装置 |
PCT/US2018/044524 WO2019070333A1 (en) | 2017-10-03 | 2018-07-31 | VIDEO STABILIZATION |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880030074.6A Division CN111133747B (zh) | 2017-10-03 | 2018-07-31 | 一种视频稳定的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113194260A CN113194260A (zh) | 2021-07-30 |
CN113194260B true CN113194260B (zh) | 2024-04-16 |
Family
ID=63407513
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110599340.0A Active CN113194260B (zh) | 2017-10-03 | 2018-07-31 | 一种视频稳定的方法及装置 |
CN201880030074.6A Active CN111133747B (zh) | 2017-10-03 | 2018-07-31 | 一种视频稳定的方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880030074.6A Active CN111133747B (zh) | 2017-10-03 | 2018-07-31 | 一种视频稳定的方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (4) | US10462370B2 (zh) |
EP (1) | EP3603049A1 (zh) |
JP (1) | JP6818912B2 (zh) |
CN (2) | CN113194260B (zh) |
WO (1) | WO2019070333A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10462370B2 (en) * | 2017-10-03 | 2019-10-29 | Google Llc | Video stabilization |
US10171738B1 (en) * | 2018-05-04 | 2019-01-01 | Google Llc | Stabilizing video to reduce camera and face movement |
JP2020031264A (ja) * | 2018-08-20 | 2020-02-27 | ソニーセミコンダクタソリューションズ株式会社 | 信号処理装置、撮像装置、信号処理方法 |
CN113170038B (zh) * | 2018-11-29 | 2023-06-13 | 富士胶片株式会社 | 抖动校正控制装置、抖动校正控制装置的工作方法、存储介质及摄像装置 |
JP7152588B2 (ja) | 2019-02-20 | 2022-10-12 | 富士フイルム株式会社 | ぶれ補正装置、撮像装置、監視システム、及びプログラム |
US11470254B1 (en) | 2019-06-21 | 2022-10-11 | Gopro, Inc. | Systems and methods for assessing stabilization of videos |
US20200412954A1 (en) * | 2019-06-25 | 2020-12-31 | Qualcomm Incorporated | Combined electronic image stabilization and optical image stabilization |
CN110536064B (zh) * | 2019-07-22 | 2021-04-06 | 杭州电子科技大学 | 一种固定场景的像素级精度视频图像去抖动方法 |
EP3979617A4 (en) * | 2019-08-26 | 2022-06-15 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | METHOD AND DEVICE FOR ANTI-BLUR RECORDINGS, TERMINAL DEVICE AND STORAGE MEDIA |
CN114616820A (zh) | 2019-10-29 | 2022-06-10 | 富士胶片株式会社 | 摄像支援装置、摄像装置、摄像系统、摄像支援系统、摄像支援方法及程序 |
US11580621B2 (en) * | 2019-12-06 | 2023-02-14 | Mediatek Inc. | AI frame engine for mobile edge |
CN111212224A (zh) * | 2020-01-10 | 2020-05-29 | 上海摩象网络科技有限公司 | 应用于图像拍摄设备的防抖处理方法及其装置、电子设备 |
US11694311B2 (en) * | 2020-03-04 | 2023-07-04 | Nec Corporation | Joint rolling shutter image stitching and rectification |
EP3883234B1 (en) * | 2020-03-17 | 2022-02-02 | Axis AB | Wearable camera and a method for power consumption optimization in the wearable camera |
US11265469B1 (en) * | 2020-04-10 | 2022-03-01 | Amazon Technologies, Inc. | System to mitigate image jitter by an actuator driven camera |
US11190689B1 (en) | 2020-07-29 | 2021-11-30 | Google Llc | Multi-camera video stabilization |
CN112153282B (zh) * | 2020-09-18 | 2022-03-01 | Oppo广东移动通信有限公司 | 图像处理芯片、方法、存储介质及电子设备 |
JP2023553153A (ja) * | 2020-12-10 | 2023-12-20 | グーグル エルエルシー | 機械学習モデルに基づく映像安定化の向上 |
CN112734653A (zh) * | 2020-12-23 | 2021-04-30 | 影石创新科技股份有限公司 | 一种视频图像的运动平滑处理方法、装置、设备及存储介质 |
CN113452919B (zh) * | 2021-07-21 | 2022-04-19 | 杭州海康威视数字技术股份有限公司 | 用于利用光学防抖和电子防抖实现协同防抖的摄像机 |
WO2023003556A1 (en) * | 2021-07-22 | 2023-01-26 | Google Llc | Joint video stabilization and motion deblurring |
CN115546043B (zh) * | 2022-03-31 | 2023-08-18 | 荣耀终端有限公司 | 视频处理方法及其相关设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079819A (zh) * | 2013-03-26 | 2014-10-01 | 佳能株式会社 | 图像处理设备和方法、以及摄像设备 |
CN104769934A (zh) * | 2012-11-08 | 2015-07-08 | 苹果公司 | 基于光学图像稳定的超分辨率 |
US9407827B2 (en) * | 2011-11-14 | 2016-08-02 | Dxo Labs | Method and system for capturing sequences of images with compensation for variations in magnification |
Family Cites Families (120)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4637571A (en) | 1985-09-03 | 1987-01-20 | The United States Of America As Represented By The Secretary Of The Army | Electronic image stabilization |
GB2220319B (en) | 1988-07-01 | 1992-11-04 | Plessey Co Plc | Improvements in or relating to image stabilisation |
US6466686B2 (en) | 1998-01-07 | 2002-10-15 | International Business Machines Corporation | System and method for transforming fingerprints to improve recognition |
US20030038927A1 (en) | 2001-08-27 | 2003-02-27 | Alden Ray M. | Image projector with integrated image stabilization for handheld devices and portable hardware |
US6877863B2 (en) | 2002-06-12 | 2005-04-12 | Silicon Optix Inc. | Automatic keystone correction system and method |
KR20040077240A (ko) | 2003-02-28 | 2004-09-04 | 주식회사 대우일렉트로닉스 | 타임랩스 영상 녹화/재생장치에서 움직임 검출에 따른녹화 속도 제어방법 |
US8199222B2 (en) | 2007-03-05 | 2012-06-12 | DigitalOptics Corporation Europe Limited | Low-light video frame enhancement |
US7643062B2 (en) | 2005-06-08 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Method and system for deblurring an image based on motion tracking |
JP4340915B2 (ja) | 2006-02-01 | 2009-10-07 | ソニー株式会社 | 撮像画像信号の歪み補正方法、撮像画像信号の歪み補正装置、撮像方法および撮像装置 |
US7697725B2 (en) | 2006-04-03 | 2010-04-13 | Sri International | Method and apparatus for autonomous object tracking |
US7952612B2 (en) * | 2006-06-22 | 2011-05-31 | Nokia Corporation | Method and system for image construction using multiple exposures |
US8781162B2 (en) | 2011-01-05 | 2014-07-15 | Ailive Inc. | Method and system for head tracking and pose estimation |
JP4702233B2 (ja) | 2006-09-11 | 2011-06-15 | ソニー株式会社 | 画像データ処理装置および画像データ処理方法 |
KR100819301B1 (ko) | 2006-12-20 | 2008-04-03 | 삼성전자주식회사 | 모바일 기기용 카메라 모듈의 손떨림 보정 방법 및 장치 |
US7559017B2 (en) | 2006-12-22 | 2009-07-07 | Google Inc. | Annotation framework for video |
US7796872B2 (en) | 2007-01-05 | 2010-09-14 | Invensense, Inc. | Method and apparatus for producing a sharp image from a handheld device containing a gyroscope |
US8213685B2 (en) | 2007-01-05 | 2012-07-03 | American Traffic Solutions, Inc. | Video speed detection system |
WO2008114264A2 (en) | 2007-03-21 | 2008-09-25 | Mantis Vision Ltd | A method and apparatus for video image stabilization |
JP5111088B2 (ja) | 2007-12-14 | 2012-12-26 | 三洋電機株式会社 | 撮像装置及び画像再生装置 |
JP4539729B2 (ja) | 2008-02-15 | 2010-09-08 | ソニー株式会社 | 画像処理装置、カメラ装置、画像処理方法、およびプログラム |
JP5075757B2 (ja) | 2008-08-05 | 2012-11-21 | オリンパス株式会社 | 画像処理装置、画像処理プログラム、画像処理方法、および電子機器 |
JP5144487B2 (ja) | 2008-12-15 | 2013-02-13 | キヤノン株式会社 | 主顔選択装置、その制御方法、撮像装置及びプログラム |
KR101547556B1 (ko) | 2009-02-06 | 2015-08-26 | 삼성전자주식회사 | 이미지 표시 방법 및 장치 |
US8970690B2 (en) | 2009-02-13 | 2015-03-03 | Metaio Gmbh | Methods and systems for determining the pose of a camera with respect to at least one object of a real environment |
WO2011046633A1 (en) | 2009-10-14 | 2011-04-21 | Zoran Corporation | Method and apparatus for image stabilization |
US8599238B2 (en) | 2009-10-16 | 2013-12-03 | Apple Inc. | Facial pose improvement with perspective distortion correction |
US8553275B2 (en) | 2009-11-09 | 2013-10-08 | Xerox Corporation | Architecture for controlling placement and minimizing distortion of images |
US8416277B2 (en) | 2009-12-10 | 2013-04-09 | Apple Inc. | Face detection as a metric to stabilize video during video chat session |
US8558903B2 (en) | 2010-03-25 | 2013-10-15 | Apple Inc. | Accelerometer / gyro-facilitated video stabilization |
US10614289B2 (en) | 2010-06-07 | 2020-04-07 | Affectiva, Inc. | Facial tracking with classifiers |
US20120050570A1 (en) | 2010-08-26 | 2012-03-01 | Jasinski David W | Audio processing based on scene type |
CN103201765B (zh) | 2010-09-28 | 2016-04-06 | 马普科技促进协会 | 用于从所观察到的数字图像序列恢复数字图像的方法与设备 |
WO2012064106A2 (en) | 2010-11-12 | 2012-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for video stabilization by compensating for view direction of camera |
US9077890B2 (en) | 2011-02-24 | 2015-07-07 | Qualcomm Incorporated | Auto-focus tracking |
GB2492529B (en) | 2011-05-31 | 2018-01-10 | Skype | Video stabilisation |
US8913140B2 (en) | 2011-08-15 | 2014-12-16 | Apple Inc. | Rolling shutter reduction based on motion sensors |
US8493459B2 (en) | 2011-09-15 | 2013-07-23 | DigitalOptics Corporation Europe Limited | Registration of distorted images |
US9070002B2 (en) | 2011-10-18 | 2015-06-30 | King Fahd University Of Petroleum And Minerals | Method of performing fingerprint matching |
TWI469062B (zh) | 2011-11-11 | 2015-01-11 | Ind Tech Res Inst | 影像穩定方法及影像穩定裝置 |
US9246543B2 (en) | 2011-12-12 | 2016-01-26 | Futurewei Technologies, Inc. | Smart audio and video capture systems for data processing systems |
US8743222B2 (en) | 2012-02-14 | 2014-06-03 | Nokia Corporation | Method and apparatus for cropping and stabilization of video images |
WO2013130082A1 (en) | 2012-03-01 | 2013-09-06 | Geo Semiconductor Inc. | Method and system for adaptive perspective correction of ultra wide-angle lens images |
EP2680616A1 (en) | 2012-06-25 | 2014-01-01 | LG Electronics Inc. | Mobile terminal and audio zooming method thereof |
US9280810B2 (en) | 2012-07-03 | 2016-03-08 | Fotonation Limited | Method and system for correcting a distorted input image |
US8928730B2 (en) | 2012-07-03 | 2015-01-06 | DigitalOptics Corporation Europe Limited | Method and system for correcting a distorted input image |
JP5984574B2 (ja) * | 2012-08-14 | 2016-09-06 | キヤノン株式会社 | 撮像システム及びその制御方法、撮像装置 |
JP6097522B2 (ja) * | 2012-10-22 | 2017-03-15 | キヤノン株式会社 | 像ブレ補正装置及び像ブレ補正方法、撮像装置 |
CN113472989A (zh) | 2012-11-28 | 2021-10-01 | 核心光电有限公司 | 多孔径成像系统以及通过多孔径成像系统获取图像的方法 |
CN103853908B (zh) * | 2012-12-04 | 2017-11-14 | 中国科学院沈阳自动化研究所 | 一种自适应交互式多模型的机动目标跟踪方法 |
US9071756B2 (en) | 2012-12-11 | 2015-06-30 | Facebook, Inc. | Systems and methods for digital video stabilization via constraint-based rotation smoothing |
US9232138B1 (en) | 2013-06-03 | 2016-01-05 | Amazon Technologies, Inc. | Image stabilization techniques |
CN108989647B (zh) | 2013-06-13 | 2020-10-20 | 核心光电有限公司 | 双孔径变焦数字摄影机 |
US10474921B2 (en) | 2013-06-14 | 2019-11-12 | Qualcomm Incorporated | Tracker assisted image capture |
EP3779565A3 (en) | 2013-07-04 | 2021-05-05 | Corephotonics Ltd. | Miniature telephoto lens assembly |
US9857568B2 (en) | 2013-07-04 | 2018-01-02 | Corephotonics Ltd. | Miniature telephoto lens assembly |
CN108718376B (zh) | 2013-08-01 | 2020-08-14 | 核心光电有限公司 | 具有自动聚焦的纤薄多孔径成像系统及其使用方法 |
WO2015048694A2 (en) | 2013-09-27 | 2015-04-02 | Pelican Imaging Corporation | Systems and methods for depth-assisted perspective distortion correction |
US9952756B2 (en) | 2014-01-17 | 2018-04-24 | Intel Corporation | Dynamic adjustment of a user interface |
CN103984929B (zh) | 2014-05-20 | 2017-04-19 | 清华大学 | 扭曲指纹的校正方法及系统 |
US10133351B2 (en) | 2014-05-21 | 2018-11-20 | Apple Inc. | Providing haptic output based on a determined orientation of an electronic device |
US9357132B2 (en) * | 2014-05-30 | 2016-05-31 | Apple Inc. | Video rolling shutter correction for lens movement in optical image stabilization cameras |
US9413963B2 (en) * | 2014-05-30 | 2016-08-09 | Apple Inc. | Video image stabilization |
US20150362989A1 (en) | 2014-06-17 | 2015-12-17 | Amazon Technologies, Inc. | Dynamic template selection for object detection and tracking |
WO2015198478A1 (ja) | 2014-06-27 | 2015-12-30 | 株式会社 市川ソフトラボラトリー | 画像歪み補正装置、情報処理装置および画像歪み補正方法 |
US9674438B2 (en) * | 2014-07-06 | 2017-06-06 | Apple Inc. | Low light video image stabilization strength modulation |
EP3167417A1 (en) | 2014-07-11 | 2017-05-17 | Google, Inc. | Hands-free offline communications |
CN105306804B (zh) * | 2014-07-31 | 2018-08-21 | 北京展讯高科通信技术有限公司 | 智能终端及其视频稳像方法及装置 |
US9392188B2 (en) | 2014-08-10 | 2016-07-12 | Corephotonics Ltd. | Zoom dual-aperture camera with folded lens |
US9596411B2 (en) * | 2014-08-25 | 2017-03-14 | Apple Inc. | Combined optical and electronic image stabilization |
WO2016061565A1 (en) | 2014-10-17 | 2016-04-21 | The Lightco Inc. | Methods and apparatus for using a camera device to support multiple modes of operation |
US20170351932A1 (en) | 2014-12-19 | 2017-12-07 | Nokia Technologies Oy | Method, apparatus and computer program product for blur estimation |
JP6530602B2 (ja) * | 2014-12-22 | 2019-06-12 | キヤノン株式会社 | 撮像装置及びその制御方法 |
WO2016107635A1 (en) | 2014-12-29 | 2016-07-07 | Metaio Gmbh | Method and system for generating at least one image of a real environment |
GB2533788A (en) | 2014-12-30 | 2016-07-06 | Nokia Technologies Oy | Method for determining the position of a portable device |
CN107209404B (zh) | 2015-01-03 | 2021-01-15 | 核心光电有限公司 | 微型长焦镜头模块和使用该镜头模块的相机 |
JP7106273B2 (ja) | 2015-01-27 | 2022-07-26 | インターデジタル マディソン パテント ホールディングス, エスアーエス | 画像及びビデオを電気光変換及び光電気変換するための方法、システム、及び機器 |
KR101914894B1 (ko) | 2015-04-02 | 2018-11-02 | 코어포토닉스 리미티드 | 듀얼 광학 모듈 카메라의 듀얼 보이스 코일 모터 구조체 |
WO2016168415A1 (en) | 2015-04-15 | 2016-10-20 | Lytro, Inc. | Light guided image plane tiled arrays with dense fiber optic bundles for light-field and high resolution image acquisition |
KR101963546B1 (ko) | 2015-04-16 | 2019-03-28 | 코어포토닉스 리미티드 | 소형 접이식 카메라의 오토 포커스 및 광학 이미지 안정화 |
CN110687655B (zh) | 2015-05-28 | 2022-10-21 | 核心光电有限公司 | 用于双孔径数字照相机中的光学图像稳定和自动对焦的双向刚度 |
KR101992040B1 (ko) | 2015-06-24 | 2019-06-21 | 코어포토닉스 리미티드 | 접이식 렌즈 카메라용 저-프로파일 3-축 액추에이터 |
KR102253997B1 (ko) | 2015-08-13 | 2021-05-20 | 코어포토닉스 리미티드 | 비디오 지원 및 스위칭/비스위칭 동적 제어 기능이 있는 듀얼-애퍼처 줌 카메라 |
KR102225727B1 (ko) | 2015-09-06 | 2021-03-10 | 코어포토닉스 리미티드 | 소형의 접이식 카메라의 롤 보정에 의한 자동 초점 및 광학식 손떨림 방지 |
KR102457617B1 (ko) | 2015-09-16 | 2022-10-21 | 한화테크윈 주식회사 | 영상 움직임 추정 방법 및 장치, 영상 안정화 방법 및 장치, 및 컴퓨터 기록매체 |
US9967461B2 (en) * | 2015-10-14 | 2018-05-08 | Google Inc. | Stabilizing video using transformation matrices |
CN106709932B (zh) | 2015-11-12 | 2020-12-04 | 创新先进技术有限公司 | 一种人脸位置跟踪方法、装置和电子设备 |
US9953217B2 (en) | 2015-11-30 | 2018-04-24 | International Business Machines Corporation | System and method for pose-aware feature learning |
US9674439B1 (en) | 2015-12-02 | 2017-06-06 | Intel Corporation | Video stabilization using content-aware camera motion estimation |
KR102140882B1 (ko) | 2015-12-29 | 2020-08-04 | 코어포토닉스 리미티드 | 자동 조정가능 텔레 시야(fov)를 갖는 듀얼-애퍼처 줌 디지털 카메라 |
US9773196B2 (en) | 2016-01-25 | 2017-09-26 | Adobe Systems Incorporated | Utilizing deep learning for automatic digital image segmentation and stylization |
US10194089B2 (en) | 2016-02-08 | 2019-01-29 | Qualcomm Incorporated | Systems and methods for implementing seamless zoom function using multiple cameras |
US9743001B1 (en) | 2016-02-19 | 2017-08-22 | Fotonation Limited | Method of stabilizing a sequence of images |
JP6640620B2 (ja) * | 2016-03-17 | 2020-02-05 | ソニーモバイルコミュニケーションズ株式会社 | 画像安定化装置、画像安定化方法及び電子機器 |
US10482663B2 (en) | 2016-03-29 | 2019-11-19 | Microsoft Technology Licensing, Llc | Virtual cues for augmented-reality pose alignment |
CN105741789B (zh) | 2016-05-06 | 2018-06-01 | 京东方科技集团股份有限公司 | 一种高动态对比度显示屏的驱动方法及驱动装置 |
US10027893B2 (en) | 2016-05-10 | 2018-07-17 | Nvidia Corporation | Real-time video stabilization for mobile devices based on on-board motion sensing |
CN111965919B (zh) | 2016-05-30 | 2022-02-08 | 核心光电有限公司 | 旋转滚珠引导音圈电动机 |
CN109639954B (zh) | 2016-06-19 | 2020-10-23 | 核心光电有限公司 | 双孔径摄影机中的帧同步系统和方法 |
US9774798B1 (en) | 2016-06-29 | 2017-09-26 | Essential Products, Inc. | Apparatus and method for a wide field of view image sensor |
CN107770433B (zh) | 2016-08-15 | 2020-08-04 | 广州立景创新科技有限公司 | 影像获取装置及其影像平顺缩放方法 |
US9888179B1 (en) | 2016-09-19 | 2018-02-06 | Google Llc | Video stabilization for mobile devices |
KR20180073327A (ko) | 2016-12-22 | 2018-07-02 | 삼성전자주식회사 | 영상 표시 방법, 저장 매체 및 전자 장치 |
US10104334B2 (en) | 2017-01-27 | 2018-10-16 | Microsoft Technology Licensing, Llc | Content-adaptive adjustment of display device brightness levels when rendering high dynamic range content |
EP3579040B1 (en) | 2017-02-23 | 2021-06-23 | Corephotonics Ltd. | Folded camera lens designs |
US10645286B2 (en) | 2017-03-15 | 2020-05-05 | Corephotonics Ltd. | Camera with panoramic scanning range |
CN106954024B (zh) * | 2017-03-28 | 2020-11-06 | 成都通甲优博科技有限责任公司 | 一种无人机及其电子稳像方法、系统 |
US10222862B2 (en) | 2017-06-05 | 2019-03-05 | Lenovo (Singapore) Pte. Ltd. | Method to sense force exertion on handheld device for behavior setting and input for quick response |
US11295119B2 (en) | 2017-06-30 | 2022-04-05 | The Johns Hopkins University | Systems and method for action recognition using micro-doppler signatures and recurrent neural networks |
US10957297B2 (en) | 2017-07-25 | 2021-03-23 | Louis Yoelin | Self-produced music apparatus and method |
US10462370B2 (en) | 2017-10-03 | 2019-10-29 | Google Llc | Video stabilization |
US10979814B2 (en) | 2018-01-17 | 2021-04-13 | Beijing Xiaoniao Tingling Technology Co., LTD | Adaptive audio control device and method based on scenario identification |
US10310079B1 (en) | 2018-03-02 | 2019-06-04 | Amazon Technologies, Inc. | Presence detection using wireless signals confirmed with ultrasound and/or audio |
US10171738B1 (en) | 2018-05-04 | 2019-01-01 | Google Llc | Stabilizing video to reduce camera and face movement |
US10665250B2 (en) | 2018-09-28 | 2020-05-26 | Apple Inc. | Real-time feedback during audio recording, and related devices and systems |
US20200265211A1 (en) | 2019-02-14 | 2020-08-20 | West Virginia University | Fingerprint distortion rectification using deep convolutional neural networks |
US10665204B1 (en) | 2019-10-08 | 2020-05-26 | Capital One Services, Llc | Automatically adjusting screen brightness based on screen content |
US10726579B1 (en) | 2019-11-13 | 2020-07-28 | Honda Motor Co., Ltd. | LiDAR-camera calibration |
US11190689B1 (en) | 2020-07-29 | 2021-11-30 | Google Llc | Multi-camera video stabilization |
CN111738230B (zh) | 2020-08-05 | 2020-12-15 | 深圳市优必选科技股份有限公司 | 一种人脸识别方法、人脸识别装置及电子设备 |
US11380181B2 (en) | 2020-12-09 | 2022-07-05 | MS Technologies | Doppler radar system with machine learning applications for fall prediction and detection |
-
2017
- 2017-10-03 US US15/724,241 patent/US10462370B2/en active Active
-
2018
- 2018-07-31 CN CN202110599340.0A patent/CN113194260B/zh active Active
- 2018-07-31 CN CN201880030074.6A patent/CN111133747B/zh active Active
- 2018-07-31 WO PCT/US2018/044524 patent/WO2019070333A1/en unknown
- 2018-07-31 EP EP18762179.2A patent/EP3603049A1/en active Pending
- 2018-07-31 JP JP2019562259A patent/JP6818912B2/ja active Active
-
2019
- 2019-09-12 US US16/568,931 patent/US11064119B2/en active Active
-
2021
- 2021-06-01 US US17/336,194 patent/US11683586B2/en active Active
-
2023
- 2023-06-16 US US18/210,812 patent/US20230336873A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9407827B2 (en) * | 2011-11-14 | 2016-08-02 | Dxo Labs | Method and system for capturing sequences of images with compensation for variations in magnification |
CN104769934A (zh) * | 2012-11-08 | 2015-07-08 | 苹果公司 | 基于光学图像稳定的超分辨率 |
CN104079819A (zh) * | 2013-03-26 | 2014-10-01 | 佳能株式会社 | 图像处理设备和方法、以及摄像设备 |
Also Published As
Publication number | Publication date |
---|---|
US10462370B2 (en) | 2019-10-29 |
US11064119B2 (en) | 2021-07-13 |
JP2020520603A (ja) | 2020-07-09 |
EP3603049A1 (en) | 2020-02-05 |
JP6818912B2 (ja) | 2021-01-27 |
US20200007770A1 (en) | 2020-01-02 |
WO2019070333A1 (en) | 2019-04-11 |
US20190104255A1 (en) | 2019-04-04 |
CN111133747A (zh) | 2020-05-08 |
CN113194260A (zh) | 2021-07-30 |
US20210289139A1 (en) | 2021-09-16 |
US11683586B2 (en) | 2023-06-20 |
CN111133747B (zh) | 2021-06-22 |
US20230336873A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113194260B (zh) | 一种视频稳定的方法及装置 | |
US11856295B2 (en) | Multi-camera video stabilization | |
US9979889B2 (en) | Combined optical and electronic image stabilization | |
KR102003012B1 (ko) | 제약-기반 회전 스무싱을 통한 디지털 비디오 안정화 시스템 및 방법 | |
US8711233B2 (en) | Video stabilization | |
JP5243477B2 (ja) | ブラー補正装置およびブラー補正方法 | |
US9467623B2 (en) | Image correcting apparatus and method for imaging device | |
CN105407271B (zh) | 图像处理设备和方法、摄像设备以及图像生成设备 | |
CN113271415B (zh) | 具有多个图像源的图像处理的方法和系统 | |
US20170374256A1 (en) | Method and apparatus for rolling shutter compensation | |
JP2008118644A (ja) | ぼけたデジタル画像の点像分布関数の概算方法、および、実行時に、ぼけたデジタル画像の点像分布関数の概算方法を実施する、コンピュータで読取可能な命令を有する1つまたは複数のコンピュータで読取可能な媒体 | |
US20220180484A1 (en) | Image processing method, electronic device, and computer-readable storage medium | |
CN113271406A (zh) | 具有多个图像源的图像处理的方法和系统 | |
US20220174217A1 (en) | Image processing method and device, electronic device, and computer-readable storage medium | |
US20210027434A1 (en) | Systems and Methods for Leveling Images | |
KR101741150B1 (ko) | 영상에디팅을 수행하는 영상촬영장치 및 방법 | |
KR101725932B1 (ko) | 영상에디팅을 수행하는 영상촬영장치 및 방법 | |
JP2020102786A (ja) | 画像処理装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |