CN103390270B - 用于帧对齐的方法和装置 - Google Patents
用于帧对齐的方法和装置 Download PDFInfo
- Publication number
- CN103390270B CN103390270B CN201310169357.8A CN201310169357A CN103390270B CN 103390270 B CN103390270 B CN 103390270B CN 201310169357 A CN201310169357 A CN 201310169357A CN 103390270 B CN103390270 B CN 103390270B
- Authority
- CN
- China
- Prior art keywords
- frame
- transition matrix
- subsequent frames
- unique point
- feature point
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 230000007704 transition Effects 0.000 claims abstract description 155
- 239000011159 matrix material Substances 0.000 claims abstract description 154
- 230000013011 mating Effects 0.000 claims abstract description 23
- 230000008878 coupling Effects 0.000 claims description 20
- 238000010168 coupling process Methods 0.000 claims description 20
- 238000005859 coupling reaction Methods 0.000 claims description 20
- 238000006073 displacement reaction Methods 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 abstract description 14
- 230000015654 memory Effects 0.000 description 22
- 238000004891 communication Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 238000009434 installation Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000006641 stabilisation Effects 0.000 description 6
- 238000011105 stabilization Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 239000012141 concentrate Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 244000287680 Garcinia dulcis Species 0.000 description 1
- 235000011464 Pachycereus pringlei Nutrition 0.000 description 1
- 240000006939 Pachycereus weberi Species 0.000 description 1
- 235000011466 Pachycereus weberi Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000010408 film Substances 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/14—Transformations for image registration, e.g. adjusting or mapping for alignment of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/32—Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
在示例实施例中,提供了一种方法、装置和计算机程序产品。所述方法包括访问内容的第一帧中的特征点组,并且基于确定第二帧和所述第一帧之间的转换矩阵而将第二帧对齐到所述第一帧。所述方法还包括通过基于后面帧的在前帧和所述第一帧之间的转换矩阵生成经修改的第一帧而将第二帧的至少一个后面帧对齐到第一帧,以及基于经修改的特征点中的特征点组与后面帧中的对应的特征点的匹配而确定后面帧和第一帧之间的转换矩阵。
Description
技术领域
各种实施方式大体涉及用于帧对齐的方法、装置和计算机程序产品。
背景技术
近来,对桥接称为电影动图或动画图像的图像和视频之间的间隙的媒体摄制的形式有更多的关注。在动画图像中,画面的一部分在运动而背景则是静止的。从消费者的观点看,让画面的主要部分冻结并且仅仅让视频的突出部分活跃的能力在设备上产生非常动人且有创造性的用户体验。在从设备(诸如移动电话)上的用户拍摄的视频产生动画图像中的一个主要挑战是在拍摄视频时手的抖动问题。为了去除以这种方式引入的全局运动,视频需要被稳定或对齐,从而抵消手运动的影响。
发明内容
在权利要求书中阐述了实施例示例的各种方面。
在第一方面中,提供一种方法,包括:访问内容的第一帧中的特征点组,其中所述第一帧是从所述内容的多个帧中选出的;基于确定第二帧和所述第一帧之间的转换矩阵,将所述内容的所述第二帧对齐到所述第一帧,其中基于所述第一帧中的所述特征点组与所述第二帧中的对应的特征点组的匹配而确定所述转换矩阵;以及将所述第二帧的至少一个后面帧对齐到所述第一帧,其中通过执行下述步骤将后面帧对齐到所述第一帧:基于所述后面帧的在前帧和所述第一帧之间的转换矩阵生成所述第一帧的经修改的第一帧;以及确定所述后面帧和所述第一帧之间的转换矩阵以用于将所述后面帧对齐到所述第一帧,其中基于所述经修改的第一帧中的特征点组与所述后面帧中的对应的特征点组的匹配而确定所述转换矩阵。
在第二方面中,提供一种装置,包括:至少一个处理器;以及包括计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码配置成,与所述至少一个处理器一起,使所述装置至少执行:访问内容的第一帧中的特征点组,其中所述第一帧是从所述内容的多个帧中选出的;基于确定第二帧和所述第一帧之间的转换矩阵而将所述内容的所述第二帧对齐到所述第一帧,其中基于所述第一帧中的所述特征点组与所述第二帧中的对应的特征点组的匹配而确定所述转换矩阵;以及将所述第二帧的至少一个后面帧对齐到所述第一帧,其中通过执行下述步骤将后面帧对齐到所述第一帧:基于至少所述后面帧的在前帧与所述第一帧之间的转换矩阵而生成所述第一帧的经修改的第一帧;以及确定所述后面帧与所述第一帧之间的转换矩阵以用于将所述后面帧对齐到所述第一帧,其中基于所述经修改的第一帧中的特征点组与所述后面帧中的对应的特征点组的匹配而确定所述转换矩阵。
在第三方面中,提供一种计算机程序产品,其包括至少一个计算机可读存储介质,所述计算机可读存储介质包括指令集,当所述指令集被一个或更多处理器执行时,使装置至少执行:访问内容的第一帧中的特征点组,其中所述第一帧是从所述内容的多个帧中选出的;基于确定第二帧和所述第一帧之间的转换矩阵而将所述内容的所述第二帧对齐到所述第一帧,其中基于所述第一帧中的所述特征点组与所述第二帧中的对应的特征点组的匹配而确定所述转换矩阵;以及将所述第二帧的至少一个后面帧对齐到所述第一帧,其中通过执行下述步骤将后面帧对齐到所述第一帧:基于至少所述后面帧的在前帧与所述第一帧之间的转换矩阵而生成所述第一帧的经修改的第一帧;以及确定所述后面帧与所述第一帧之间的转换矩阵以用于将所述后面帧对齐到所述第一帧,其中基于所述经修改的第一帧中的特征点组与所述后面帧中的对应的特征点组的匹配而确定所述转换矩阵。
在第四方面中,提供一种装置,其包括:用于访问内容的第一帧中的特征点组的装置,其中所述第一帧是从所述内容的多个帧中选出的;用于基于确定第二帧和所述第一帧之间的转换矩阵,将所述内容的所述第二帧对齐到所述第一帧的装置,其中基于所述第一帧中的所述特征点组与所述第二帧中的对应的特征点组的匹配而确定所述转换矩阵;以及用于将所述第二帧的至少一个后面帧对齐到所述第一帧的装置,其中通过执行下述步骤将后面帧对齐到所述第一帧:至少基于所述后面帧的在前帧和所述第一帧之间的转换矩阵生成所述第一帧的经修改的第一帧;以及确定所述后面帧和所述第一帧之间的转换矩阵以用于将所述后面帧对齐到所述第一帧,其中基于所述经修改的第一帧中的特征点组与所述后面帧中的对应的特征点组的匹配而确定所述转换矩阵。
在第五方面中,提供一种计算机程序,其包括程序指令,当所述程序指令被装置执行时将使所述装置:访问内容的第一帧中的特征点组,其中所述第一帧是从所述内容的多个帧中选出的;基于确定第二帧和所述第一帧之间的转换矩阵,将所述内容的所述第二帧对齐到所述第一帧,其中基于所述第一帧中的所述特征点组与所述第二帧中的对应的特征点组的匹配而确定所述转换矩阵;以及将所述第二帧的至少一个后面帧对齐到所述第一帧,其中通过执行下述步骤将后面帧对齐到所述第一帧:基于所述后面帧的在前帧和所述第一帧之间的转换矩阵生成所述第一帧的经修改的第一帧;以及确定所述后面帧和所述第一帧之间的转换矩阵以用于将所述后面帧对齐到所述第一帧,其中基于所述经修改的第一帧中的特征点组与所述后面帧中的对应的特征点组的匹配而确定所述转换矩阵。
附图说明
在附图的图示中示出了作为示例而非限制的各种实施例,在附图中:
图1示出根据示例实施例的设备;
图2示出根据示例实施例的用于对齐内容的帧的装置;
图3示出根据示例实施例的示例的内容的帧,示出了ROI和特征点;
图4示出根据示例实施例的示例的内容的帧;
图5为流程图,描述了根据示例实施例的用于对齐多个内容的帧的示例方法;
图6为流程图,图示出根据示例实施例的用于产生动画图像的示例方法;
图7为流程图,图示出根据示例实施例的用于确定两个帧之间的转换矩阵的示例方法;
图8为流程图,图示出根据示例实施例的用于产生动画图像的示例方法;以及
图9为流程图,图示出根据示例实施例的用于促进经稳定的视频的示例方法。
具体实施方式
通过参考附图的图1到图9来理解示例实施例以及它们的潜在效果。
图1示出根据示例实施例的设备100。然而应该理解,所示出并在后面将要描述的设备100仅仅说明可以从各种实施例受益的一种类型的设备,因此不应被认为要限制实施例的范围。同样地,应该意识到,下面关于设备100描述的部件中的至少一些部件可以是任选的,并且因而在示例实施例中可以包括比关于图1的示例实施例描述的部件更多、更少或者与其不同的部件。设备100可以是多种类型的移动电子设备中的任意一种,例如便携数字助理(PDA)、呼机、移动电视、博彩设备、蜂窝电话、所有类型的计算机(例如膝上型电脑,移动电脑或桌上型电脑)、相机、音频/视频播放器、收音机、全球定位系统(GPS)设备、媒体播放器、移动数字助理或者前述设备的任何组合,以及其他类型的通信设备。
设备100可包括与发射机104和接收机106可操作地通讯的天线102(或多个天线)。设备100可进一步包括装置诸如控制器108或其他处理装置,用于分别提供信号到发射机104和从接收机106接收信号。信号可包括符合可应用的蜂窝系统的空中接口标准的信令信息,和/或也可以包括与用户语音相对应的数据、收到的数据和/或用户生成的数据。在这点上,设备100可以能够工作在一种或多种空中接口标准、通信协议、调制类型和访问类型下。作为图示说明,设备100可以能够按照第一、第二、第三和/或第四代通信协议等的任何一种工作。例如,设备100可以能够按照第二代(2G)无线通信协议IS-136(时分多址(TDMA))、GSM(全球移动通信系统)、以及IS-95(码分多址(CDMA))工作,或者按照第三代(3G)无线通信协议诸如(通用移动通信系统(UMTS))、CDMA1000、宽带CDMA(WCDMA)和时分同步CDMA(TD-SCDMA)工作、按照3.9G无线通信协议诸如演进的通用陆基无线接入网(E-UTRAN)工作、按照第四代(4G)无线通信协议等等工作。作为替代方案(或者额外地),设备100可以能够按照非蜂窝通信机理工作。例如,计算机网络,诸如互联网、局域网、广域网等等;短程无线通信网络,诸如包括蓝牙网、网、电气和电子工程协会(IEEE)802.11x网等等;无线通信网络,诸如公共交换电话网(PSTN)。
控制器108可包括实施设备100的音频和逻辑功能以及其他功能的电路。例如,控制器108可包括但不限于,一个或多个数字信号处理器装置、一个或多个微处理器装置、具有伴随数字信号处理器的一个或多个处理器、一个或多个专用计算机芯片、一个或多个现场可编程门阵列(FPGA)、一个或多个控制器、一个或多个专用集成电路(ASIC)、一个或多个计算机、各种模数转换器、数模转换器,和/或其他支持电路。根据这些装置的各自的能力,设备100的控制和信号处理功能被分配在这些装置之间。因而控制器108还可包括在调制和发送之前卷积编码和使消息与数据交错的功能。控制器108可额外包括内部语音编码器,并且可包括内部数据调制解调器。此外,控制器108可包括运行一个或更多软件程序的功能,所述程序可以存储在存储器中。例如,控制器108可以能够运行连接程序,诸如常规网页浏览器。然后该连接程序可以允许设备100按照无线应用协议(WAP)、超文本传输协议(HTTP)等等发送和接收网页内容,诸如基于位置的内容和/或其他网页内容。在示例实施例中,控制器108可以用多核处理器(诸如双核或四核处理器)实现。然而,在控制器108中可以包括任意数量的处理器。
设备100也可以包括用户接口,所述用户接口包括输出设备诸如振铃110、耳机或扬声器112、麦克风114、显示器116以及用户输入接口,其可以耦合到控制器108。允许设备100接收数据的用户输入接口可包括任意数量的允许设备100接收数据的装置,诸如键盘118、触摸显示器、麦克风或者其他输入设备。在包括小键盘118的实施例中,小键盘118可包括数字(0-9)和相关键(#,*)以及用于操作设备100的其他硬键或软键。替代地或者额外地,小键盘118可包括常规QWERTY小键盘排列。小键盘118也可以包括具有有关功能的各种软键。另外,或替代地,设备100可包括诸如手柄或其他用户输入接口这样的接口设备。设备100还包括电池120(诸如振动电池组),以向用于操作设备100的各种电路供电,以及可选地提供机械振动作为可探测的输出。
在示例实施例中,设备100包括与控制器108通讯的媒体拍摄元件,诸如相机、视频和/或音频模块。媒体拍摄元件可以是用于拍摄用于存储、显示或发送的图像、视频和/或音频的任何装置。在媒体拍摄元件是相机模块122的示例实施例中,相机模块122可包括能够从拍摄到的图像形成数字图像文件的数字相机。同样地,相机模块122包括所有诸如镜头或其他光学部件这样的硬件,以及用来根据拍摄的图像上产生数字图像文件的软件。替代地,相机模块122可包括观看图像所需要的硬件,同时设备100的存储装置储存软件形式的由控制器108执行的指令以便从拍摄到的图像产生数字图像文件。在示例实施例中,相机模块122可进一步包括诸如协处理器的处理元件(其在处理图像数据方面帮助控制器108)以及用于压缩和/或解压缩图像数据的编码器和/或解码器。编码器和/或解码器可根据JPEG标准格式或者另一种类似格式来编码和/或解码。对于食品,编码器和/或解码器可使用诸如例如与H.261、H.262/MPEG-2、H.263、H.264、H.264/MPEG-4、MPEG-4有关的标准的多种标准格式的任意一种。在一些情况中,相机模块122可提供直播图像数据到显示器116。此外,在示例实施例中,显示器116可位于设备100的一侧上而相机模块122可包括定位在设备100的关于显示器116的相反侧上的镜头,以使相机模块122能够在设备100的一侧拍摄图像并将这样的图像的视图呈现给位于设备100的另一侧的用户。
设备100可进一步包括用户识别模块(UIM)124。UIM124可以是具有内置的处理器的存储装置。UIM124可包括例如用户识别模块(SIM)、通用集成电路卡(UICC)、通用用户识别模块(USIM)、可移动用户识别模块(R-UIM)或者任何其他智能卡。UIM124一般存储与移动用户有关的信息元素。除了UIM124以外,设备100可配备有存储器。例如,设备100可包括易失性存储器126,诸如包括用于临时存储数据的缓冲存储器区域的易失性随机访问存储器(RAM)。设备100也可以包括其他非易失性存储器128,其可以是嵌入的和/或可移除的。非易失性存储器128可以额外地或者替代地包括电可擦除可编程只读存储器(EEPROM)、闪存、硬盘驱动器等等。存储器可以储存被设备100用来实现设备100的功能的任意数量件的信息和数据。
图2示出根据示例实施例的用于对齐多个内容的帧的装置200。在各种示例实施例中,装置200配置为从所述多个帧生成动画图像。装置200可以用在例如图1的设备100中。然而,应该注意到,装置200也可以用在各种其他设备上,无论是移动设备还是固定设备,因此,实施例不限于在诸如图1的设备100这样的设备上的应用。替代地,实施例可以用在包括例如上面列出的那些设备的组合上。因此,各种实施例可以在单个设备(例如,设备100)上或者在设备的组合中得到完全实现。此外,应该注意到,下面描述的设备或元件可以不是强制性的,因而在某些实施例中可以省略一些元件。
装置200包括至少一个处理器202和至少一个存储器204,或者以其他方式与所述处理器和存储器通讯。至少一个处理器204的示例包括但不限于易失性和/或非易失性存储器。易失性存储器的一些示例包括但不限于随机访问存储器、动态随机访问存储器、静态随机访问存储器等等。非易失性存储器的一些例子包括但不限于硬盘、磁带、光盘、可编程只读存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、闪存等等。存储器204可配置为存储让装置200能够执行根据各种示例实施例的各种功能的信息、数据、应用程序、指令等等。例如,存储器204可配置成缓冲包括媒体内容的输入数据用于被处理器202处理。额外地或者替代地,存储器204可配置成储存由处理器202执行的指令。
处理器202的示例可包括控制器108。可以用多种不同方式实现处理器202。处理器202可以实现为多核处理、单核处理器;或者多核处理器与单核处理器的组合。例如,处理器202可以实现为一个或多个诸如协处理器、微处理器、控制器、数字信号处理器(DSP)、具有或者没有伴随DSP的处理电路的各种处理装置,或者包括集成电路(诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、微控制器单元(MCU)、硬件加速器、专用计算机芯片等)的各种其他处理装置。在示例实施例中,多核处理器可配置成执行存储器204中储存的指令或者以其他方式能够被处理器202访问的指令。替代地或者额外地,处理器202可配置成执行硬编码功能。同样地,不论是由硬件方法还是软件方法或者其组合配置,处理器202可呈现为实体,例如物理实现为电路,能够执行根据各种实施例的操作同时被相应地配置。例如,如果处理器202实现为两个或更多ASIC、FPGA等等,处理器202可以被具体配置有硬件以执行本文描述的操作。替代地,作为另一示例,如果处理器202是以软件指令的执行者实现的,则所述指令可以具体配置处理器202,从而当执行所述指令时完成本文所述的算法和/或操作。然而,在一些情况中,处理器202可以是特定设备的处理器,所述特定设备例如是移动终端或者网络设备,其适于通过以指令进一步配置处理器202用于完成本文描述的算法和/或操作来使用实施例。除了其他元件以外,处理器202可包括配置为支持处理器202的操作的时钟、算术逻辑单元(ALU)和逻辑门。
用户接口206可以和处理器202通讯。用户接口206的示例包括但不限于输入接口和/或输出用户接口。输入接口配置成接收用户输入的指示。输出用户接口提供可听的、可见的、机械的或者其他输出和/或反馈到用户。输入接口的例子可包括但不限于,键盘、鼠标、手柄、小键盘、触摸屏、软键等等。输出接口的示例可包括但不限于显示器(诸如发光二级管显示器、薄膜晶体管(TFT)显示器、液晶显示器、主动矩阵有机发光二级管(AMOLED)显示器)、麦克风、扬声器、振铃、振动器等等。在示例实施例中,除了其他器件和元件以外,用户接口206可包括扬声器、麦克风、显示器和键盘、触摸屏等等中的任意元件或所有元件。在这一点上,例如,处理器202可包括用户接口电路,其配置成控制用户接口206的一个或更多元件(诸如例如扬声器、振铃、麦克风、显示器和/或类似元件)的至少一些功能。处理器202和/或包括处理器202的用户接口电路可以配置成通过计算机程序指令,例如储存在能够被处理器202访问的存储器(例如至少一个存储器204和/或类似器件)中的软件和/或固件,控制用户接口206的一个或多个元件的一个或更多功能。
在示例实施例中,装置200可包括电子装置。电子装置的一些示例包括通讯装置、具有通讯能力的媒体拍摄装置、计算装置等等。电子装置的一些示例可包括移动电话、个人数字助理(PDA)等等。计算装置的一些示例可包括膝上型电脑、个人计算机等等。在示例实施例中,电子装置可包括用户接口,例如UI206,其具有用户接口电路和用户接口软件,所述用户接口电路和用户接口软件配置成便于用户通过对显示器的使用而控制电子装置的至少一个功能并且进一步配置成对用户输入做出响应。在示例实施例中,电子装置可包括配置成显示电子装置的用户接口的至少一部分的显示电路。显示器和显示电路可配置成便于用户控制电子装置的至少一个功能。
在示例实施例中,电子装置可以实现为包括收发机。收发机可以是按照软件或者否则以硬件实现或者以硬件与软件的结合实现操作的任何装置或电路。例如,在软件控制下运行的处理器202,或者以专门配置为执行本文描述的操作的ASIC或FPGA实现的处理器202,或者其结合,由此配置所述装置或电路来执行收发机的功能。收发机可以配置成接收媒体内容。媒体内容的示例可包括音频内容、视频内容、数据及其组合。
在示例实施例中,电子装置可以实现为包括图像传感器,诸如图像传感器208。图像传感器208可以和处理器202和/或装置200的其他部件通讯。图像传感器208可以和其他成像电路和/或软件通讯,并且配置成拍摄数字图像或者制作视频或者其他图形媒体文件。图像传感器208和其他电路,一起组合,可以是设备100的相机模块122的实例。
这些部件(202-208)可以经由集中电路系统210通讯以执行对图像参数的评估/计算。除了其他事项以外,集中电路系统210可以配置成在装置200的所述部件(202-208)之间提供或实现通讯的各种装置。在某些实施例中,集中电路系统210可以是中央印刷电路板(PCB),诸如母板、主板、系统板或者逻辑板。集中电路系统210也可以,或者替代地,包括其他印刷电路组件(PCA)或者通信信道介质。
在示例实施例中,用存储器204的内容,以及可选地用本文描述的其他部件,使处理器200造成装置200对齐内容的的帧,以生成动画图像和/或稳定内容的帧。内容的示例可以非穷尽地包括媒体内容。媒体内容的一些示例可非穷尽地包括静止图像、动画、视频、互动性内容形式或者其他以图形呈现的电子媒体。在示例实施例中,所述内容可包括为了生成动画图像目的而拍摄的多帧视频的集合。在其他示例实施例中,所述内容可包括多个连续拍摄的图像。在示例实施例中,图像传感器208可配置成获取视频或者多个图像。在一些示例实施例中,所述内容可以被事先录入、储存在装置200中,或者可以从装置200外部的源收到。在这样的示例实施例中,让装置200从外部存储介质(诸如DVD、高密度盘(CD)、闪存驱动器、存储卡)收到内容,或者通过互联网、蓝牙、局域网等等从外部存储介质收到所述内容。在示例实施例中,让装置200对齐含有所述内容的一些或者所有帧,以产生动画图像。例如,所述内容可具有呈现为F1、F2、F3…和Fm的帧。在示例实施例中,让装置200关于从这些帧选出的基础帧(例如帧F1)对齐帧F1、F2、F3…Fm。在另一示例中,可以选择帧F3作为基础帧。在示例实施例中,基础帧可以由操作装置200的用户、软件程序/指令,和/或由任意其他部分或者全部自动的装置选择。在示例实施例中,可以任意选择基础帧。在另一示例实施例中,让装置200对齐一些帧例如F1、F4、F7、F9…Fm-3和Fm使其关于基础帧(诸如帧F1)对齐。在这样的示例实施例中,诸如F2、F2、F5、F6…Fm-2和Fm-1这样的一些帧可能没被用于对齐目的以生成动画图像。例如,与相邻帧的一个或多个类似的一些帧可以没有被用于对齐目的。在示例中,被选择用于对齐目的的含有内容的帧可以表示为K1、K2…和Kn。应注意到,所选择的这些帧K1、K2…和Kn可以是帧F1、F2、F3…Fm的子集。在一些示例实施例中,所选择的帧K1、K2…和Kn可以和F1、F2、F3…Fm相同(在这个示例中,n等于m)。
在示例实施例中,用存储器204的内容,以及可选地用本文描述的其他部件,使处理器200让装置200访问所述内容的第一帧中的特征点组。在各种示例实施例中,第一帧可以是选出的任何帧(诸如所述内容的第i个帧Ki),其中‘i’可以是从1到内容中的帧数的任何数。例如,所述内容的第一帧(K1)可以被选为基础帧,剩余的帧K2、K3…和Kn对齐到帧K1。在示例表示中,第一帧K1中的特征点组可以表示为PK1(xi,yi),其中‘i’可以是任何整数数值。在示例实施例中,让装置200从第一帧中的多个特征点中选择所述特征点组。在帧中的特征点的示例可以包括但不限于帧中的一个或更多对象的角部、边,或者帧中的其他关注区域(诸如背景或前景)。在示例实施例中,可以使用角点检测器来选择所述特征点组。在示例实施例中,此处第一帧可以被选作基础帧,而所述内容的剩余帧被对齐到所选择的第一帧。
在示例实施例中,用存储器204的内容,以及可选地用本文描述的其他部件,使处理器202让装置200把所述内容的剩余帧对齐到第一帧。在示例实施例中,让装置200基于确定第二帧K2和第一帧K1之间的转换矩阵而对齐第二帧。在示例实施例中,第二帧K2可以是第一帧K1的邻帧。在示例实施例中,基于将第一帧K1中的所述特征点组与第二帧K2中的对应特征点组匹配而确定转换矩阵。
在示例实施例中,让装置200确定与第一帧‘K1’中的所述特征点组(PK1(xi,yi))相对应的第二帧K2中的特征点组(PK2(xi,yi))。在示例实施例中,通过在帧K2中围绕点PK1(xi,yi)的窗口中执行最大交叉相关匹配来确定特征点(PK2(xi,yi))。在各种示例实施例中,窗口的尺寸被设定为容许连续帧K1和K2之间的最大可能位移。在示例实施例中,窗口的尺寸可以是宽10-15像素的正方形的级别,然而,可以基于拍摄所述内容的帧期间手的抖动而选择窗口的尺寸。在示例实施例中,也可以基于来自装置200中包括的或者否则能被装置200访问的加速计或者视频稳定引擎(其可以提供所述内容的帧间全局运动)的输入来选择窗口尺寸及窗口尺寸的位置。在示例实施例中,让装置200执行最大交叉相关匹配并且基于阈值丢弃不可靠的匹配,并确定与第一帧K1中的特征点组PK1’(xi,yi)相对应的特征点组PK2’(xi,yi)。
在示例实施例中,让装置200确定特征点PK1’(xi,yi)和PK2’(xi,yi)之间的转换矩阵。在示例实施例中,可以使用包括但不限于随机抽样一致性(RANSAC)算法的方法来获得特征点PK1’(xi,yi)和PK2’(xi,yi)之间的转换矩阵。在用于从帧(K1…和Kn)生成动画图像的各种示例实施例中,RANSAC算法可以基于与所述帧有关的关注区域(ROI)。例如,可以让装置200访问与第一帧有关的ROI。在示例实施例中,ROI可以和第一帧K1中的区域相对应,而所述区域在所述内容的连续帧(K1,K2…和Kn)中可能改变。可以从来自操作装置200的用户或者软件程序/指令或者任何其他部分或完全自动的装置收到的输入而访问ROI。
在示例实施例中,让装置200从多个转换矩阵中选择所述转换矩阵。在示例实施例中,基于特征点PK1’(xi,yi)和PK2’(xi,yi)之间的对应关系来计算所述多个转换矩阵。在示例实施例中,让装置200基于ROI确定所述多个转换矩阵中的多个内点(inlier)。在示例表示中,对于给定的转换矩阵,基于帧K1中的特征点与第二帧K2的转换后的帧中对应的转换后的点之间的欧几里得距离和误差容许值的比较,将第一帧K1中的特征点认为是内点。例如,如果帧K2和K1之间的转换矩阵表示为Tk2,k1,对于第二帧K2中的点(例如PK2’(xi,yi)),则第一帧K1中的对应的转换后的点可以是PK1’’(x1,y1),并且能够通过将转换矩阵与帧K2中的特征点相乘而得到该点(例如,PK1’’(x1,y1)=Tk2,k1*PK2’(x1,y1))。
在示例实施例中,如果在点PK1’(x1,y1)和转换后的点PK1’’(x1,y1)之间的欧几里得距离小于或者等于误差容许值(例如,d(PK1’’(x1,y1),PK1’(x1,y1))+F(ROI)≤e),则诸如点PK1’(x1,y1)这样的特征点被认为是内点。在各种示例实施例中,误差容许值(e)是针对特征点的变量,其依赖于特征点关于ROI的位置的函数(以‘F(ROI)’表示)。应该注意到,F(ROI)变化,从而对于靠近ROI边界的特征点来说,与离ROI边界远一些的特征点相比,其选择的误差容许值更小。在示例实施例中,让装置200从多个转换矩阵中选择具有最大数目的内点的转换矩阵。在图7中进一步描述对转换矩阵进行选择的一些示例实施例。
在示例实施例中,让装置200基于第二帧K2和第一帧K1之间的转换矩阵(Tk2,k1),产生与第一帧K1相对应的第二帧K2的扭曲帧(WK2)。应该注意到,第二帧K2的扭曲帧(WK2)被对齐到第一帧K1。在示例实施例中,让装置200储存扭曲帧(WK2)储存位置(诸如可以出现在存储器204中的视频缓冲),或者储存在装置200中实现的任何其他位置或者否则能被装置200访问的位置。
在示例实施例中,让装置200通过将后面帧中的特征点组与修改后的第一帧中的特征点组相匹配,而将后面的帧(例如,K3、K4…和Kn,其中n>2并且是整数)对齐到第一帧K1。在示例实施例中,第一帧K1被重复修改以用于使后面的帧与第一帧对齐,从而已经修改的第一帧被再次修改以用于使(当前帧的)下一帧与第一帧对齐。在示例实施例中,对于后面的帧,让装置200基于第一帧K1和与第一帧相对应的所述后面帧的在前帧的扭曲帧来确定修改后的第一帧。例如,为了对齐帧K3,可以基于K1和帧K3的在前帧的扭曲帧(例如,帧K2的扭曲帧)来确定经修改的第一帧(K1mod)。在示例实施例中,可以按照下述表达式来确定用于对齐帧K3的经修改的第一帧(表示为‘K1mod(k3)’):
K1mod(k3)=α*K1+(1-α)*WK2,
其中在一些示例实施例中,α的值是在0.9到1之间变化的参数。在示例实施例中,可以使用数值0.95。在示例实施例中,对了对齐后面帧,基于当前后面帧的在前帧的扭曲帧来动态修改第一帧(K1)。例如,为了将第一帧K1对齐到第N个帧(Kn),可以按照下述表达式来确定针对帧Kn的经修改的第一帧(表示为‘K1mod(kn)’):
K1mod(kn)=α*K1+(1-α)*WKn-1,
在一些示例实施例中,可以动态修改第一帧K1,从而对于将帧Kn与第一帧K1对齐将给予最近的帧(n-1,n-2,n-3…)以更高的影响。在这样的示例实施例中,可以按照下面的表达式来针对帧Kn修改第一帧K1:
K1mod(kn)=α*K1mod(n-1)+(1-α)*WKn-1,
其中K1mod(n-1)是所使用的确定用于将帧K1和在前帧Kn-1对齐的经修改的第一帧,WKn-1是帧Kn-1关于第一帧的扭曲帧。在示例实施例中,让装置200在针对帧Kn的经修改的第一帧(例如K1mod(kn))中确定特征点组(例如PK1mod(kn))。
在示例实施例中,为了将第一帧K1对齐到后面帧(K3、K4…和Kn),让装置200基于第一帧K1和第一帧K1与所述后面帧的在前帧之间的转换矩阵来确定一组搜索点。例如,为了将帧K3和帧K1对齐,所述一组搜索点可以确定为TK1,K2*PK1’(x1,y1)。在示例表示中,为了对齐帧Kn到帧K1,所述一组搜索点可以确定为:
SKn(xi,yi)=TK1,Kn-1*PK1’(xi,yi),
其中TK1,Kn-1表示第一帧K1和第n-1个帧(Kn-1)之间的转换矩阵。
在示例实施例中,让装置200在后面帧中确定与经修改的第一帧中的所述特征点组相对应的特征点组。例如,为了让第N个帧(Kn)与帧K1对齐,让装置200在Kn中确定与针对帧Kn的经修改的第一帧中的所述特征点组(例如PK1mod(kn))相对应的特征点组。在示例实施例中,让装置200基于经修改的第一帧中的所述特征点组与所述后面帧中的对应的特征点组的匹配,而生成后面帧和帧K1之间的转换矩阵。例如,为了让帧Kn对齐到帧K1,让装置200基于经修改的第一帧中的特征点组(例如PK1mod(kn))与帧Kn中的对应特征点组之间的对应关系而生成转换矩阵(TKn,K1)。在示例实施例中,让装置200基于RANSAC算法和ROI来确定转换矩阵(TKn,K1),如确定转换矩阵TK2,K1时那样。
在示例实施例中,让装置200基于后面帧和第一帧K1之间的转换矩阵而生成后面帧关于第一帧K1的扭曲帧。例如,基于转换矩阵(TKn,K1)生成帧Kn关于第一帧K1的扭曲帧。在示例实施例中,帧Kn的扭曲帧(WKn)被对齐到第一帧K1。要注意到,装置200被配置成将后面帧K3、K4…和Kn对齐到第一帧K1。在示例实施例中,可以以依序方式将后面帧对齐到第一帧K1。在示例实施例中,让装置200在装置200中实现或者否则能够访问的视频缓冲器中储存针对后面帧的扭曲帧(例如WK3、WK4…和WKn)。
当让装置200生成帧K2、K3…和Kn的扭曲帧时,这些帧被对齐到第一帧K1(因为这些帧K2、K3…和Kn的扭曲帧被对齐到第一帧K1)。以此方式,装置200将帧K2、K3…和Kn对齐到第一帧K1。在示例实施例中,其中所述内容是为了生成动画图像而拍摄的帧的集合,让装置200基于第一帧K1和所述扭曲帧(WK2、WK3、WK4…和WKn)而生成动画图像。要注意到,由于ROI与跨过帧(K1、K2…和Kn)的动态区域相对应,然而,基于对不同的误差容许值的考虑来确定各种转换矩阵(TK1,K2、TK1,K3…和TK1,KN)。例如,当确定转换矩阵以便减小ROI边界附近的对齐误差时,与帧(K1、K2…和Kn)中的其他静态区域相比,要考虑更严格的误差容许值。
为了稳定作为视频的帧的集合的内容,也使用了各种示例实施例。在示例实施例中,处理器202连同其他部件,可以配置成包括摇摆检测器的功能,以用于诸如视频稳定的应用中。在视频稳定中,对于那些在帧间具有合理程度的重叠的帧,可以利用用于生成动画图像的各种实施例的对齐。例如,在帧K1、K2…和Ks中,当在任何一对帧之间出现超过阈值水平的重叠(这由能够探测帧间位移的摇摆检测器来识别)时,可以从基础帧(例如帧K1)到剩余帧K1、K2…和Ks对特征点进行跟踪。如果下一帧(例如Ks+1)关于基础帧K1的位移被探测出为大于阈值位移(例如,在帧间的摇摆移动变得大于阈值位移时),能够重新计算帧Ks+1中关于新的第一帧的特征点。在示例实施例中,新的第一帧可以是帧Ks+1的在前帧(例如Ks)。在一些示例实施例中,如果针对帧Ks+1和第一帧K1之间的转换矩阵的内点的数目低于阈值数,则可以重新计算特征点。
在各种示例实施例中,用于访问内容的第一帧中的特征点组的装置,其中第一帧是从内容的多个帧中选出;用来基于确定第二帧和第一帧之间的转换矩阵而将内容的第二帧对齐到第一帧的装置,其中基于第一帧中的所述特征点组与第二帧中的对应特征点组的匹配而确定所述转换矩阵;以及将第二帧的至少一个后面帧对齐到第一帧的装置,其中通过执行下述步骤将后面帧对齐到第一帧,所述步骤为:至少基于后面帧的在前帧之间的转换矩阵而生成第一帧的经修改的第一帧;以及确定后面帧和经修改的第一帧之间的转换矩阵以用于将后面帧对齐到第一帧,其中基于经修改的第一帧中的所述特征点组与后面帧中的对应特征点组的匹配来确定所述转换矩阵。可以通过使用硬件、固件和软件组件来配置这样的部件。这样的装置的示例可包括但不限于,处理器202,连同存储器204、UI206、图像传感器208。
图3示出根据示例实施例的示出ROI和特征点的内容的示例帧300。帧300可以被选为内容的第一帧,而所述内容的剩余帧可以被对齐到帧300以生成动画图像。在图3中,特征点组(PK1(xi,yi))诸如点310a、310b、310c…310n在示例表示中以X标记示出。在示例实施例中,可以使用包括但不限于哈里斯角点检测器、最小核值相似区(SUSAN)、尺寸不变特征变换(SIFT)、基于加速分割的特征探测(FAST)和/或王和布雷迪角点检测的算子来选择特征点310a、310b、310c…310n。
ROI也出现在图3中,其包含帧300的动态部分(在帧300的连续帧中处于运动的帧300的区域)。ROI对应于帧300中的包含动态部分的区域(例如在帧300中的区域320(围绕着火焰的边界),其可能在帧300的连续帧中改变)。
图4示出根据示例实施例的所述内容的示例帧400。帧400可以是用于对齐目的的帧300的邻帧,可以在帧400中确定与特征点310a、310b、310c…310n相对应的特征点组。应该注意到,当拍摄内容(帧300和400)时相机模块可能有小的手抖,导致帧300和400有轻微的失准。如图4中所示,可以通过在围绕点310a的窗口420a进行最大交叉相关匹配而获得帧400中与帧300中的点310a相对应的特征点。在示例实施例中,窗口420a可以是预定像素的尺寸,例如12×12像素。
如图4中所示,通过执行处于窗口420a中的特征点(例如特征点410a、412和414)的最大交叉相关匹配,确定与特征点310a相对应的帧400中的特征点。在示例实施例中,可以让装置200确定处于帧400中的围绕特征点310a的窗口420a中的特征点(例如特征点410a、412和414)与帧310中的特征点310a的一个或更多交叉相关匹配。在示例实施例中,让装置200从所述一个或更多交叉相关匹配中选择具有最大交叉相关匹配的帧400中的特征点(例如特征点410a)。以此方式,确定特征点410b、410c…410n与特征点310b、310c…310n相对应。
图5为流程图,描绘了根据示例实施例的用于对齐内容的多个帧的示例方法500。在各种示例实施例中,对齐多个帧以生成动画图像或者用于对齐视频的帧。可以通过例如图2的装置200执行流程图中描绘的所述方法500。
在框502处,方法500包括访问内容的第一帧中的特征点组。在示例实施例中,可以通过在第一帧中使用如图2和3中所述的角点检测来访问所述特征点组。在框504处,方法500包括基于确定第二帧和第一帧之间的转换矩阵而将内容的第二帧对齐到第一帧,其中基于第一帧中的所述特征点组与第二帧中的对应特征点组的匹配来确定转换矩阵。在示例实施例中,第二帧是第一帧的邻帧。
在框506处,方法500包括将第二帧的至少一个后面帧对齐到第一帧。将后面帧对齐到第一帧由框508和510执行。在框508处,至少基于后面帧的在前帧与第一帧之间的转换矩阵生成第一帧的经修改的第一帧。在框510处,方法500包括确定后面帧和第一帧之间的转换矩阵以用于将后面帧对齐到第一帧,其中基于经修改的第一帧中的特征点组与后面帧中的对应特征点组的匹配而确定所述转换矩阵。在示例实施例中,针对第二帧的后面帧执行框508和510,并将这些帧对齐到第一帧。将内容的帧对齐、内容的动画图像的生成和/或内容的稳定的各种示例实施例在图6、7、8和9中得到进一步的描述。
图6、7、8和9是流程图,描绘了根据另一示例实施例的用于对齐内容的多个帧和/或生成动画图像的示例方法。内容的示例可以非穷尽地包括媒体内容。媒体内容的一些示例可非穷尽地包括静止图像、动画、视频、互动内容形式,或者其他图形表示的媒介。在这些流程图中描述的方法可以由例如图2的装置200执行。可以通过各种装置,诸如硬件、固件、处理器、电路和/或与包括一个或更多计算机程序指令的软件的执行有关的其他设备,来实施流程图中的操作以及流程图中的操作的组合。例如,在各种实施例中描述的一个或更多过程可以由计算机程序指令实现。在示例实施例中,实现各种实施例中描述的所述过程的计算机程序指令可以储存在装置的至少一个存储装置中并且被装置中的至少一个处理器执行。任何这样的计算机程序指令都可以被加载到计算机或者其他可编程装置(例如,硬件)上以形成机器,从而得到的计算机或者其他可编程装置实现用于实施流程图中具体说明的操作的装置。这些计算机程序指令也可以储存在计算机可读存储器(不同于传输介质诸如载波或者电磁信号)中,其可以指引计算机或者其他可编程装置以特定方式运行,从而储存在计算机可读存储器中的指令产生一条制造,这一制造的执行实施了流程图中具体说明的操作。计算机程序指令也可以加载到计算机或者其他可编程装置上以在计算机或者其他可编程装置上执行一系列操作以产生计算机实现的过程,从而在计算机或者其他可编程装置上执行的所述指令提供操作以用于实施流程图中的操作。在装置200的帮助下描述所述方法的操作。然而,可以通过使用任何其他装置来描述和/或实践所述方法的操作。
图6为流程图,示出根据示例实施例的用于对齐内容的多个帧的示例方法600。在框602处,选择内容的第一帧。在示例实施例中,第一帧可以是内容的第i个帧(Ki),其中‘i’可以是从1到内容中的帧数的任意数。例如,所选择的第一帧可以是基础帧,而内容的剩余帧被对齐到所选择的第一帧(基础帧)。例如,如果K1被选为第一帧,则剩余的帧K2、K3…和Kn被对齐到帧K1,如方法800的另外的框中描述的那样。在框604,在所选择的第一帧中确定特征点组。用于选择第一帧K1中的特征点的示例实施例在图3中得到描述。
在框606,与第一帧K1相邻的内容的第二帧K2被对齐到第一帧K1。如图6中所示,由框608、610和612执行框606。在框608,方法600包括确定第二帧K2中的与第一帧K1中的所述特征点组相对应的所述特征点组。在示例实施例中,通过在第二帧K2上在围绕第一帧K1中的特征点的窗口中执行最大交叉相关匹配确定第二帧K2中的特征点组,如图4所述。
在框610,方法600包括确定第二帧K2中的特征点组和第一帧K1中的特征点组之间的转换矩阵。在示例实施例中,从基于在两个帧K1和K2中的特征点组之间的对应关系确定的多个转换矩阵中选择所述转换矩阵。在示例实施例中,从多个转换矩阵中选择所述转换矩阵使得对于该转换矩阵内点的数量最大。在示例实施例中,在给定转换矩阵中的内点的数目取决于基于ROI而改变的误差容许值。在图7中进一步描述生成转换矩阵的示例实施例。
在框612,方法600包括基于第二帧K2和第一帧K1之间的转换矩阵生成与第一帧K1相对应的第二帧K2的扭曲帧。要注意到,与帧K1相对应的帧K2的扭曲帧被对齐到帧K1。
在框614,方法600包括将至少一个后面帧对齐到第一帧,例如帧K1。这里,后面帧指的是在第二帧K2后面的帧,例如帧K3、K4…和Kn(其中n>2并且是整数)。在示例实施例中,以依序方式将帧K3、K4…和Kn对齐到帧K1,并且通过重复执行框616-624的操作来完成帧K3、K4…和Kn的对齐(框614)。
在框616,方法600包括基于第一帧K1和与第一帧K1对应的后面帧的在前帧的扭曲帧来确定经修改的第一帧。例如,如果后面帧是第三帧K3,则在框616,基于帧K1和帧K2(因为K2是帧K3的在前帧)的扭曲帧来确定经修改的第一帧。在另一示例中,如果后面帧是第n个帧(Kn),则基于帧K1和帧Kn-1的扭曲帧来确定经修改的第一帧。由于帧K3、K4…和Kn的对齐是依序执行的,对于确定针对帧Kn的经修改的第一帧来说,在前帧(例如帧Kn-1)的扭曲帧已经是可用的。在示例实施例中,按照图2中描述的表达式来确定经修改的第一帧。
在框618,方法600包括基于第一帧和第一帧K1与在前帧之间的转换矩阵来确定搜索点组。例如,如果后面帧是K3,则可以基于第一帧和第一帧K1与第二帧K2之间的转换矩阵来确定搜索点组。在示例实施例中,搜索点组是特征点,所述特征点被用来确定与经修改的第一帧中的特征点相对应的后面帧中的特征点。例如,在框620,通过匹配在围绕搜索点组的窗口中的点,在后面帧中确定与经修改的第一帧中的特征点组相对应的特征点组。例如,在示例实施例中,可以通过在经修改的搜索帧中的窗口中执行最大交叉相关匹配来确定与经修改的第一帧中的点相对应的后面帧中的特征点,其中所述窗口定义为围绕搜索点组的搜索点。
在框622,方法600包括确定在经修改的第一帧中的特征点组和后面帧中的特征点组之间的转换矩阵。可以如图2中所述那样,以及图7中进一步描述的那样确定转换矩阵。在框624,方法600包括生成后面帧关于第一帧K1的扭曲帧。在示例实施例中,基于转换矩阵(在框622确定)而生成后面帧的扭曲帧,其中后面帧的扭曲帧被对齐到第一帧K1。要注意到,在示例实施例中,针对后面帧生成扭曲帧(通过重复进行框614),以将后面帧K3、K4…和Kn对齐到第一帧K1。
图7为示出根据示例实施例的用于确定两个帧之间的转换矩阵的示例方法700的流程图。在框702,方法700包括访问帧(诸如第一帧K1)中的ROI信息。可以从操作装置200的用户或者从软件程序/指令或者通过任何其他部分或者完全自动的装置接收ROI信息。ROI信息与帧中的包含动态部分的区域(例如,帧300中的可能在帧300中的连续帧中改变的区域320)相对应,如图3中所描述那样。
在框704,方法700包括基于两个帧(诸如第一帧和第二帧)中的特征点组之间的对应关系来计算多个转换矩阵。要注意到,第一帧和第二帧可以是内容的任意两个帧。在示例实施例中,诸如RANSAC算法的方法可以用在两个帧的特征点上以找到所述多个转换矩阵。在示例实施例中,从第一帧和第二帧中的随机选择的特征点计算转换矩阵。例如,通过使用第一帧和第二帧中的各种随机选择的特征点,可以计算出所述多个转换矩阵。
在框706,方法700包括基于ROI确定多个转换矩阵中的内点的数目。在示例实施例中,确定转换矩阵中的内点数目包括为特征点选择统一的误差容许值并且基于特征点到ROI边界的距离选择特征点的权重。例如,在示例实施例中,对于帧K1和帧K2之间的给定转换矩阵,基于帧(诸如帧K1)中的特征点计算内点的数目,其满足下面的表达式:
d(PK1’’(xi,yi),PK1’(xi,yi))+D1(PK1’(xi,yi))≤e,
其中PK1’(x1,y1)是帧K1中的点;而PK1’’(x1,y1)是在帧K1上使用转换矩阵(TK2,K1)的经转换的点,(例如PK1’’(x1,y1)=TK2,K1*PK1’(x1,y1));并且其中d(PK1’’(xi,yi),PK1’(xi,yi))是特征点PK1’(xi,yi)和PK1’’(xi,yi)之间的欧几里得距离;而D1(PK1’(xi,yi)是数值在1和0之间的变量(权重)。在示例实施例中,如果点PK1’(xi,yi)处于ROI边界内则D1(PK1’(xi,yi)的值为1,当PK1’(xi,yi)远离ROI边界时则D1(PK1’(xi,yi)的值逐渐从1降低到0。在一种表示中,在按比例的欧几里得距离地图上,D1可以表示为D1=1-D/Dmax,其中D为点离ROI边界的距离,而Dmax是D的最大值。在这种反转的距离地图D1中,在ROI处和ROI内部的特征点的值为1,并且它在帧的边缘处逐渐减小到0。
通过使用基于ROI的距离地图,各种示例实施例提供空间上变化的误差量度(误差容许值),从而与位置离ROI的边界较远的特征点相比,对位置离ROI的边界较近的特征点选择较小的误差容许值。具体地说,在离ROI一定距离内的特征点可以具有较小的误差容许,而在ROI一定距离以外的特征点可以具有较大的误差容许。例如,如果e的值=2像素,对于处于ROI边界处或者其内部的特征点,D1(PK1’(xi,yi))=1,因而d(PK1’’(xi,yi),PK1’(xi,yi))必须小于或等于1以将所述特征点认定为内点。此外,在帧的边缘处,D1(PK1’(xi,yi))~=0,因而为了让所述特征点是内点,d(Pa1’’(xi,yi),Pa1’(xi,yi))必须≤2。要注意到,通过使用空间上变化的误差量度,得到的转换矩阵可能具有接近ROI的最小误差。还应该注意到,在接近ROI边界处,与其他区域相比,对齐误差可能更显著,因为画面在ROI中动态改变,而在其他位置画面是静止的/静态的。因此,在诸如使用帧K1和K2生成动画图像这样的应用中,通过各种实施例确定的转换矩阵提高了两个帧K1和K2的对齐精度,因为帧K2的ROI(其已经关于帧K1改变)可以被加入到帧K1上以生成动画图像。
在框708,方法700包括基于多个转换矩阵中的内点数目从多个转换矩阵中选择所述转换矩阵。在示例实施例中具有最大内点数的转换矩阵被选为帧K1和K2之间的转换矩阵。
图8为示出根据示例实施例的用于生成动画图像的示例方法800的流程图。在框802,方法800包括在内容的第一帧中选择特征点组。在示例实施例中,第一帧可以是内容的第i个帧,其中‘i’可以是1或者等于内容中的帧数的数字。例如,可以选择内容的第一帧(i=1)或者内容的任何其它帧。如图2中描述的那样,可以基于角点检测器确定第一帧中的特征点。
在框804,选择第一帧的下一帧。例如,选择内容的第二帧。在示例实施例中,第二帧是第一帧的邻帧。在示例实施例中,第二帧是紧随第一帧后的帧。在一些示例实施例中,第二帧可以是第一帧前面紧挨着的帧,而第一帧可以是内容中的最后一帧。
在框806,方法800包括确定与第一帧(K1)对应的下一个选择的帧(例如第二帧(K2))中的特征点。在示例实施例中,可以通过在横跨帧K2中的特征点的窗口中的交叉相关匹配来确定K2中的特征点组,如图4中所描述的那样。
在框808,确定第一帧K1和第二帧K2之间的转换矩阵。在示例实施例中,如图7中描述的那样,基于两个帧K1和K2的特征点组之间的各种对应关系,从帧K1和K2之间的多个转换矩阵中选择所述转换矩阵。在示例实施例中,从多个转换矩阵中选择内点数最大的转换矩阵,如图7中描述的那样。内点数依赖于基于第一帧中的ROI而变化的误差容许值,如图7中所示。
在框810,基于第二帧K2和第一帧K1之间的转换矩阵生成第二帧K2关于第一帧K1的扭曲帧。在示例实施例中,第二帧K2的扭曲帧被对齐到第一帧K1。
在框812,第二帧K2的扭曲帧被储存在诸如视频缓冲器这样的能够出现在存储器204中的储存位置,或者储存在装置200中实现的任何其他位置或者否则能够被装置200访问的位置。
在框814,检查是否选择了内容的所有帧。要注意到,如果没有选择所有的帧,则意味着没有生成针对内容的所有帧的扭曲帧。在一些示例实施例中,也可以检查是否在框814针对内容的所有帧都生成了扭曲帧。
在框816,方法800包括基于第一帧和扭曲帧生成经修改的第一帧。例如,基于第一帧K1和第二帧K2的扭曲帧确定经修改的第一帧(K1mod)。在示例实施例中,可以如图2中描述那样生成经修改的第一帧。
在框818,方法800包括确定搜索点组。在示例实施例中,基于第一帧(K1mod)和帧K1与帧K2之间的转换矩阵来确定搜索点组。
由于确定了搜索点组,方法800进行到框804,在那里选择下一帧例如第三帧K3。在框806,使用搜索点组确定K3中的与经修改的第一帧中的特征点组相对应的特征点组。在框808,确定帧K3中的特征点与经修改的第一帧中的特征点组之间的转换矩阵。在框810,基于所述转换矩阵生成与帧K1相对应的帧K3的扭曲帧,并将所述扭曲帧储存在存储器中。应该注意到,为了生成帧K3的扭曲帧,基于这些特征点与经修改的第一帧中的特征点组的匹配来确定帧K3中的特征点组。要注意到,在生成当前帧(诸如帧K2、K3、K4…和Kn-1中的任何帧)的扭曲帧以后,经修改的第一帧(K1mod)(用于生成当前帧的扭曲帧)被重新修改以生成经修改的第一帧,后者被用来为当前帧的下一帧生成扭曲帧。例如,在经修改的第一帧中的特征点组被用于确定(K3、K4…和Kn)的下面帧中的匹配的特征点组。
执行框804-818的操作,直到选择了内容的所有帧。要注意到,由于选择了内容的所有帧,生成了与帧K1相对应的针对帧K2、K3…和Kn的扭曲帧。由于生成了针对帧K2、K3…和Kn的扭曲帧,方法800进行到框820。在框820,基于第一帧K1和针对帧K2、K2…和Kn的扭曲帧生成动画图像。在示例实施例中,第一帧K1和帧K2、K2…和Kn的扭曲帧被缝合到一起以生成动画图像。在一些示例实施例中,帧K2、K2…和Kn的扭曲帧的ROI可以和第一帧K1缝合以生成动画图像。
图9为示出根据示例实施例的用于视频稳定的示例方法900的流程图。在框902,方法900包括在内容的第一帧中选择特征点组。在示例实施例中,第一帧可以是内容的第i个帧,其中‘i’可以是1到用于视频稳定的所述内容的帧数之间的数字。
在框904,选择第一帧的下一帧。例如,选择内容的第二帧。在示例实施例中,第二帧是第一帧的邻帧,例如是紧随第一帧之后的帧。在一些示例实施例中,第二帧可以是紧挨着第一帧的前面的帧,而第一帧是内容的最后一帧。
在框906,方法900包括检测第一帧和下一帧(Knext)之间的运动。如果检测到第一帧和选择的下一帧(例如Knext是第二帧K2)之间的运动小于阈值位移,则方法900进行到908。
在框908,方法900包括确定与第一帧(K1)对应的所选择的下一帧(Knext)(例如第二帧(K2))中的特征点。在示例实施例中,可以通过在横跨帧K2中的特征点的窗口中的交叉相关匹配来确定K2中的特征点组,如图4中描述的那样。
在框910,确定第一帧K1和第二帧K2之间的转换矩阵。在示例实施例中,如图7中描述的那样,基于两个帧K1和K2的特征点组之间的各种对应关系,从帧K1和K2之间的多个转换矩阵中选择转换矩阵。在示例实施例中,从多个转换矩阵中选择内点数为最大值的转换矩阵,如图7中描述的那样。内点数依赖于基于第一帧中的ROI而变化的误差容许值,如图7中描述的那样。
在框912,基于第二帧K2和第一帧K1之间的转换矩阵生成第二帧K2关于第一帧K1的扭曲帧。在示例实施例中,第二帧K2的扭曲帧被对齐到第一帧K1。在框914,第二帧K2的扭曲帧被储存在诸如视频缓冲器这样的能够出现在存储器204中的储存位置,或者储存在装置200中实现的任何其他位置或者否则能够被装置200访问的位置。
在框916,检查是否选择了内容的所有帧。要注意到,如果没有选择所有的帧,则意味着没有生成针对内容的所有帧的扭曲帧。在一些示例实施例中,也可以检查是否在框916针对内容的所有帧都生成了扭曲帧。
在框918,方法900包括基于第一帧和扭曲帧生成经修改的第一帧。例如,基于第一帧K1和第二帧K2的扭曲帧确定经修改的第一帧(K1mod)。在示例实施例中,可以如图2中描述那样生成经修改的第一帧。
在框920,方法900包括确定搜索点组。在示例实施例中,基于来自运动传感器(诸如摇摆传感器)的运动输入来确定搜索点组。
由于确定了搜索点组,方法900进行到框904,在那里选择下一帧例如第三帧K3。在框906,如果确定第三帧K3距第一帧K1的位移小于或等于阈值位移,则方法进行到框908,其中在帧K3中确定与经修改的第一帧中的特征点组相对应的特征点组。此外,在框910,确定在帧K3中的特征点与经修改的第一帧中的特征点组之间的转换矩阵。在框912,基于所述转换矩阵生成与帧K1相对应的帧K3的扭曲帧,并将该扭曲帧储存在存储器中。应该注意到,为了生成帧K3的扭曲帧,基于这些特征点与经修改的第一帧中的特征点组的匹配来确定帧K3中的特征点组。
在实施例中,在框906,如果确定了帧K3距第一帧K1的位移大于阈值位移,则在框907将帧K3的在前帧(例如帧K2)选为第一帧(基础帧),并且在框907在所选的第一帧(例如K2)中选择特征点组。此外,方法900进行到框908,在那里与所选择的第一帧(K2)(而非第一帧K1或者经修改的第一帧)相对应地确定下一被选择的帧(K3)中的特征点组。
要注意到,在生成当前帧(诸如帧K2、K3、K4…和Kn-1中的任意帧)的扭曲帧以后,经修改的第一帧(K1mod)(用于生成当前帧的扭曲帧)被重新修改以产生经修改的第一帧,后者被用于生成针对当前帧的下一帧的扭曲帧。例如,经修改的第一帧中的特征点组被用于确定(K3、K4…和Kn)的下一帧中的匹配特征点组。然而,如果下一个被选择的帧距第一帧的位移大于阈值位移,则将下一个被选择帧的在前帧选为第一帧,并且对应于所选择的第一帧(例如,下一个被选择帧的所述在前帧)确定下一个被选择帧中的特征点。
执行框904-920的操作直到选择了内容的所有帧。要注意到,由于选择了内容的所有帧,针对帧K2、K3…和Kn生成了与帧K1相对应的扭曲帧。当生成了针对帧K2、K3…和Kn的扭曲帧时,方法900进行到框922。在框922,基于针对帧K2、K2…和Kn的扭曲帧,促成内容的经稳定的视频,因为扭曲帧K2、K2…和Kn被对齐到帧K1。
为了便于讨论图6-9中的方法600、700、800和/或900,在这里某些操作被描述为构成以某种顺序执行的不同步骤。这样的实施方式仅仅是示例,并不限制其范围。某些操作可以被分组在一起并在单个操作中得到执行,某些操作能够在不同于本文阐述的示例中使用的顺序的顺序下执行。此外,方法600、700、800和/或900的某些操作以自动方式执行。这些操作基本上不涉及与用户的交互。方法600、700、800和/或900的其他操作可以用手动方式或者半自动方式执行。这些操作经由一个或更多用户界面表示而涉及与用户的交互。
在不以任何方式限制下面呈现的权利要求书的范围、解释或应用的情况下,本文公开的一个或更多示例实施例的技术效果是对齐内容的帧,以生成动画图像和/或促成视频稳定。各种实施例提供一种机制,其中帧的对齐包括选择帧(诸如第一帧)作为基础帧并重复修改所述基础帧以用于确定剩余帧中的匹配的特征点。各种实施例提供计算强度较低的解决方案以对齐内容的帧(因为不再需要将每个帧的特征点与其他帧进行匹配),而是仅仅在基础帧上进行计算以将剩余帧对齐到基础帧。在将剩余帧对齐到基础帧的同时,各种实施例还使用ROI信息,因为在确定两个帧之间的转换矩阵的同时考虑到ROI在诸如生成动画图像这样的应用中是可靠的解决方案。
上面描述的各种实施例可以在软件、硬件、应用逻辑电路或者软件、硬件和应用逻辑电路的组合中实现。软件、应用逻辑电路和/或硬件可以存在于至少一个存储器、至少一个处理器、装置或者计算机程序产品上。在示例实施例中,应用逻辑电路、软件或指令集保留在各种常规计算机可读介质的任何一种介质上。在本文件的上下文中,“计算机可读介质”可以是能够包含、储存、通讯、传播或者传输被指令执行系统、装置或设备(诸如计算机)使用或者连同其一起使用的任何介质或装置,其中所述装置的一个实例在图1和/或2中描述和示出。计算机可读介质可包括计算机可读存储介质,其可以是能够包含或储存指令的任何介质或装置,其中所述指令被指令执行系统、装置、或设备(诸如计算机)使用或者连同其一起使用。
如果期望的话,本文讨论的不同功能可以以不同顺序完成和/或彼此同时完成。此外,如果期望的话,上述功能的一个或多个功能可以是任选的或者可以组合。
虽然在独立权利要求中阐述了实施例的多个方面,其他方面包括从所描述实施例和/或从属权利要求的特征与独立权利要求的特征的其他组合,而不仅仅是在权利要求书中明确阐述的组合。
在本文中还要注意到,尽管上面描述的发明的示例实施例,但不应以限制性的角度来看待这些描述。相反,可以不偏离如所附权利要求中限定的本公开的范围作出多种变型和修改。
Claims (35)
1.一种用于帧对齐的方法,包括:
访问内容的第一帧中的特征点组,其中所述第一帧是从所述内容的多个帧中选出的;
基于确定所述内容的第二帧和所述第一帧之间的转换矩阵,将所述第二帧对齐到所述第一帧,其中基于所述第一帧中的所述特征点组与所述第二帧中的对应的特征点组的匹配而确定所述转换矩阵;及
将所述第二帧的至少一个后面帧对齐到所述第一帧,其中通过执行下述步骤将后面帧对齐到所述第一帧:
至少基于所述后面帧的在前帧和所述第一帧之间的转换矩阵生成所述第一帧的经修改的第一帧;以及
确定所述后面帧和所述第一帧之间的转换矩阵以用于将所述后面帧对齐到所述第一帧,其中基于所述经修改的第一帧中的特征点组与所述后面帧中的对应的特征点组的匹配而确定所述转换矩阵。
2.根据权利要求1所述的方法,其中将所述第二帧对齐到所述第一帧包括:
基于所述第一帧的所述特征点组与所述第二帧中的特征点的匹配,而确定与所述第一帧中的所述特征点组相对应的所述第二帧中的所述特征点组;
确定所述第二帧中的所述特征点组与第一帧中的所述特征点组之间的转换矩阵;以及
基于所述转换矩阵生成与所述第一帧相对应的所述第二帧的扭曲帧,其中所述扭曲帧被对齐到所述第一帧。
3.根据权利要求2所述的方法,还包括储存所述第二帧的所述扭曲帧。
4.根据权利要求2所述的方法,其中生成所述转换矩阵包括:
访问与所述第一帧有关的关注区域ROI;
基于所述第一帧中的所述特征点组与所述第二帧中的所述特征点组之间的对应关系,而计算多个转换矩阵;
基于所述ROI确定在所述多个转换矩阵中的内点的数目;以及
基于所述多个转换矩阵中的内点的数目,从所述多个转换矩阵中选择所述转换矩阵。
5.根据权利要求4所述的方法,其中确定内点的数目包括:与位置离所述ROI的边界更远的特征点相比,为所述ROI的边界附近的特征点选择更小的误差容许值。
6.根据权利要求4所述的方法,其中确定内点的数目包括:为特征点选择统一的误差容许值,并且基于所述特征点离所述ROI的边界的距离而选择所述特征点的权重。
7.根据权利要求1所述的方法,还包括:
探测在所述第一帧和所述后面帧之间的位移;以及
如果在所述第一帧和所述后面帧之间的所述位移大于阈值位移,则选择所述后面帧的所述在前帧作为所述第一帧。
8.根据权利要求1或2或4或7所述的方法,其中将所述后面帧对齐到所述第一帧包括:
基于与所述第一帧相对应的所述后面帧的在前帧的扭曲帧,而确定所述第一帧的经修改的第一帧;
基于所述第一帧和所述在前帧之间的转换矩阵以及所述第一帧,确定搜索点组;
基于所述搜索点组,确定与所述经修改的第一帧中的特征点组相对应的所述后面帧中的特征点组;
确定所述后面帧中的所述特征点组与所述经修改的第一帧中的所述特征点组之间的转换矩阵;以及
基于所述后面帧中的所述特征点组与所述经修改的第一帧中的所述特征点组之间的所述转换矩阵,生成所述后面帧的关于所述第一帧的扭曲帧,其中所述后面帧的所述扭曲帧被对齐到所述第一帧。
9.根据权利要求8所述的方法,还包括储存所述后面帧的所述扭曲帧。
10.根据权利要求8所述的方法,其中生成所述转换矩阵包括:
访问与所述第一帧有关的关注区域ROI;
基于所述经修改的第一帧中的所述特征点组与所述后面帧中的所述特征点组之间的对应关系,而计算多个转换矩阵;
基于所述ROI确定在所述多个转换矩阵中的内点的数目;以及
基于所述多个转换矩阵的内点的数目,从所述多个转换矩阵中选择所述转换矩阵。
11.根据权利要求10所述的方法,其中确定内点的数目包括:与位置离所述ROI的边界更远的特征点相比,为所述ROI的边界附近的特征点选择更小的误差容许值。
12.根据权利要求10所述的方法,其中确定内点的数目包括:为特征点选择统一的误差容许值,并且基于所述特征点离所述ROI的边界的距离而选择所述特征点的权重。
13.根据权利要求2所述的方法,其中确定与第一帧中的特征点相对应的第二帧中的特征点包括:
确定处于在所述第二帧中围绕所述第一帧中的所述特征点的预定数量像素的窗口中的特征点与所述第一帧中的所述特征点的一个或更多交叉相关匹配;及
从所述一个或更多交叉相关匹配中选择所述第二帧中具有最大交叉相关匹配的特征点。
14.根据权利要求1所述的方法,还包括基于所述第二帧和所述后面帧的扭曲帧以及第一帧生成动画图像。
15.根据权利要求1所述的方法,还包括:如果所述内容为视频,则基于所述第二帧和所述后面帧的扭曲帧促成经稳定的视频。
16.根据权利要求1所述的方法,其中所述第二帧是所述第一帧的邻帧。
17.根据权利要求8所述的方法,其中确定与第一帧中的特征点相对应的第二帧中的特征点包括:
确定处于在所述第二帧中围绕所述第一帧中的所述特征点的预定数量像素的窗口中的特征点与所述第一帧中的所述特征点的一个或更多交叉相关匹配;及
从所述一个或更多交叉相关匹配中选择所述第二帧中具有最大交叉相关匹配的特征点。
18.一种用于帧对齐的装置,包括:
用于访问内容的第一帧中的特征点组的装置,其中所述第一帧是从所述内容的多个帧中选出的;
用于基于确定所述内容的第二帧和所述第一帧之间的转换矩阵而将所述第二帧对齐到所述第一帧的装置,其中基于所述第一帧中的所述特征点组与所述第二帧中的对应的特征点组的匹配而确定所述转换矩阵;以及
用于将所述第二帧的至少一个后面帧对齐到所述第一帧的装置,其中通过执行下述步骤将后面帧对齐到所述第一帧:
至少基于所述后面帧的在前帧与所述第一帧之间的转换矩阵而生成所述第一帧的经修改的第一帧;以及
确定所述后面帧与所述第一帧之间的转换矩阵以用于将所述后面帧对齐到所述第一帧,其中基于所述经修改的第一帧中的特征点组与所述后面帧中的对应的特征点组的匹配而确定所述转换矩阵。
19.根据权利要求18所述的装置,其中进一步包括:
用于基于所述第一帧的所述特征点组与所述第二帧中的特征点的匹配,而确定与所述第一帧中的所述特征点组相对应的所述第二帧中的所述特征点组的装置;
用于确定所述第二帧中的所述特征点组与第一帧中的所述特征点组之间的转换矩阵的装置;以及
用于基于所述转换矩阵生成与所述第一帧相对应的所述第二帧的扭曲帧的装置,其中所述扭曲帧被对齐到所述第一帧。
20.根据权利要求19所述的装置,其中进一步包括:用于储存所述第二帧的所述扭曲帧的装置。
21.根据权利要求19所述的装置,其中用于为了生成所述转换矩阵,所述装置进一步包括:
用于访问与所述第一帧有关的关注区域ROI的装置;
用于基于所述第一帧中的所述特征点组与所述第二帧中的所述特征点组之间的对应关系,而计算多个转换矩阵的装置;
用于基于所述ROI确定在所述多个转换矩阵中的内点的数目的装置;以及
用于基于所述多个转换矩阵中的内点的数目,从所述多个转换矩阵中选择所述转换矩阵的装置。
22.根据权利要求21所述的装置,其中进一步包括:用于与位置离所述ROI的边界更远的特征点相比为所述ROI的边界附近的特征点选择更小的误差容许值而确定内点的数目的装置。
23.根据权利要求21所述的装置,其中进一步包括:用于为特征点选择统一的误差容许值并且基于所述特征点离所述ROI的边界的距离而选择所述特征点的权重而确定内点的数目的装置。
24.根据权利要求18所述的装置,其中所述装置进一步包括:
用于探测在所述第一帧和所述后面帧之间的位移的装置;以及
用于如果在所述第一帧和所述后面帧之间的所述位移大于阈值位移,则选择所述后面帧的所述在前帧作为所述第一帧的装置。
25.根据权利要求18、19、21或24所述的装置,其中为了将所述后面帧对齐到所述第一帧,所述装置进一步包括:
用于基于与所述第一帧相对应的所述后面帧的在前帧的扭曲帧,而确定所述第一帧的经修改的第一帧的装置;
用于基于所述第一帧与所述在前帧之间的转换矩阵以及所述第一帧,确定搜索点组的装置;
用于基于所述搜索点组,确定与所述经修改的第一帧中的特征点组相对应的所述后面帧中的特征点组的装置;
用于确定所述后面帧中的所述特征点组与所述经修改的第一帧中的所述特征点组之间的转换矩阵的装置;以及
用于基于所述后面帧中的所述特征点组与所述经修改的第一帧中的所述特征点组之间的所述转换矩阵,生成所述后面帧的关于所述第一帧的扭曲帧的装置,其中所述后面帧的所述扭曲帧被对齐到所述第一帧。
26.根据权利要求25所述的装置,其中所述装置进一步包括储存所述后面帧的所述扭曲帧。
27.根据权利要求25所述的装置,其中为了生成所述转换矩阵,所述装置进一步包括:
用于访问与所述第一帧有关的关注区域ROI的装置;
用于基于所述经修改的第一帧中的所述特征点组与所述后面帧中的所述特征点组之间的对应关系,而计算多个转换矩阵的装置;
用于基于所述ROI确定在所述多个转换矩阵中的内点的数目的装置;以及
用于基于所述多个转换矩阵中的内点的数目,从所述多个转换矩阵中选择所述转换矩阵的装置。
28.根据权利要求27所述的装置,其中为了确定内点的数目,所述装置进一步包括:用于与位置离所述ROI的边界更远的特征点相比,为所述ROI的边界附近的特征点选择更小的误差容许值的装置。
29.根据权利要求27所述的装置,其中为了确定内点的数目,所述装置进一步包括:用于为特征点选择统一的误差容许值,并且基于所述特征点离所述ROI的边界的距离而选择所述特征点的权重的装置。
30.根据权利要求19所述的装置,其中为了确定与第一帧中的特征点相对应的第二帧中的特征点,所述装置进一步包括:
用于确定处于在所述第二帧中围绕所述第一帧中的所述特征点的预定数量像素的窗口中的特征点与所述第一帧中的所述特征点的一个或更多交叉相关匹配的装置;以及
用于从所述一个或更多交叉相关匹配中选择所述第二帧中具有最大交叉相关匹配的特征点的装置。
31.根据权利要求18所述的装置,其中所述装置进一步包括:用于基于所述第二帧和所述后面帧的扭曲帧以及所述第一帧而生成动画图像的装置。
32.根据权利要求18所述的装置,其中如果所述内容为视频,则所述装置进一步包括:用于基于所述第二帧和所述后面帧的扭曲帧促成经稳定的视频的装置。
33.根据权利要求18所述的装置,其中所述第二帧是所述第一帧的邻帧。
34.根据权利要求18所述的装置,其中为了确定与第一帧中的特征点相对应的第二帧中的特征点,所述装置进一步包括:
用于确定处于在所述第二帧中围绕所述第一帧中的所述特征点的预定数量像素的窗口中的特征点与所述第一帧中的所述特征点的一个或更多交叉相关匹配的装置;及
用于从所述一个或更多交叉相关匹配中选择所述第二帧中具有最大交叉相关匹配的特征点的装置。
35.一种用于帧对齐的装置,配置成执行根据权利要求1-14中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN1822/CHE/2012 | 2012-05-09 | ||
IN1822CH2012 | 2012-05-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103390270A CN103390270A (zh) | 2013-11-13 |
CN103390270B true CN103390270B (zh) | 2016-03-16 |
Family
ID=48606999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310169357.8A Expired - Fee Related CN103390270B (zh) | 2012-05-09 | 2013-05-09 | 用于帧对齐的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9183618B2 (zh) |
EP (1) | EP2662832A3 (zh) |
CN (1) | CN103390270B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102281184B1 (ko) * | 2014-11-20 | 2021-07-23 | 삼성전자주식회사 | 영상 보정 방법 및 장치 |
CN105915796A (zh) * | 2016-05-31 | 2016-08-31 | 努比亚技术有限公司 | 一种电子光圈拍摄方法及终端 |
US11436791B2 (en) * | 2018-04-30 | 2022-09-06 | The Regents Of The University Of California | Methods and systems for acquiring svBRDF measurements |
US20200160560A1 (en) * | 2018-11-19 | 2020-05-21 | Canon Kabushiki Kaisha | Method, system and apparatus for stabilising frames of a captured video sequence |
CN110493638B (zh) * | 2019-08-20 | 2021-12-03 | 广州虎牙科技有限公司 | 视频帧对齐方法、装置、电子设备及可读存储介质 |
CN113132560B (zh) * | 2019-12-31 | 2023-03-28 | 武汉Tcl集团工业研究院有限公司 | 一种视频处理方法及计算机设备、计算机可读存储介质 |
CN113727141B (zh) * | 2020-05-20 | 2023-05-12 | 富士通株式会社 | 视频帧的插值装置以及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1760915A (zh) * | 2004-10-01 | 2006-04-19 | Medcom医学图像处理有限公司 | 对象的第一和第二图像数据的对齐 |
CN101720479A (zh) * | 2007-05-02 | 2010-06-02 | 新加坡科技研究局 | 运动补偿的图像平均 |
CN102368810A (zh) * | 2011-09-19 | 2012-03-07 | 长安大学 | 一种半自动化对齐的视频融合系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3966392B2 (ja) * | 1997-09-30 | 2007-08-29 | シャープ株式会社 | 画像合成通信装置 |
JP4461937B2 (ja) * | 2003-09-30 | 2010-05-12 | セイコーエプソン株式会社 | 低解像度の複数の画像に基づく高解像度の画像の生成 |
US7616836B2 (en) * | 2004-05-25 | 2009-11-10 | Siemens Medical Solutions Usa, Inc. | Method and system for motion compensation in a temporal sequence of images |
US7756358B2 (en) | 2004-11-30 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | System and method of aligning images |
US8643658B2 (en) * | 2009-12-30 | 2014-02-04 | Intel Corporation | Techniques for aligning frame data |
-
2013
- 2013-05-03 US US13/886,718 patent/US9183618B2/en not_active Expired - Fee Related
- 2013-05-07 EP EP13166779.2A patent/EP2662832A3/en not_active Withdrawn
- 2013-05-09 CN CN201310169357.8A patent/CN103390270B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1760915A (zh) * | 2004-10-01 | 2006-04-19 | Medcom医学图像处理有限公司 | 对象的第一和第二图像数据的对齐 |
CN101720479A (zh) * | 2007-05-02 | 2010-06-02 | 新加坡科技研究局 | 运动补偿的图像平均 |
CN102368810A (zh) * | 2011-09-19 | 2012-03-07 | 长安大学 | 一种半自动化对齐的视频融合系统和方法 |
Non-Patent Citations (2)
Title |
---|
SURFTrac:efficient tracking and continuous object recognition using local feature descriptors;Ta et al;《IEEE Conference on CVPR》;20091231;全文 * |
基于相关系数的适用于视频拼接的帧对齐方法;殷兴华;《计算机工程与设计》;20120331;第33卷(第3期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
EP2662832A2 (en) | 2013-11-13 |
EP2662832A3 (en) | 2017-05-03 |
US20130301952A1 (en) | 2013-11-14 |
US9183618B2 (en) | 2015-11-10 |
CN103390270A (zh) | 2013-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103390270B (zh) | 用于帧对齐的方法和装置 | |
US10003743B2 (en) | Method, apparatus and computer program product for image refocusing for light-field images | |
US8810626B2 (en) | Method, apparatus and computer program product for generating panorama images | |
US20140152762A1 (en) | Method, apparatus and computer program product for processing media content | |
US9245315B2 (en) | Method, apparatus and computer program product for generating super-resolved images | |
US9342866B2 (en) | Method, apparatus and computer program product for generating panorama images | |
US10250811B2 (en) | Method, apparatus and computer program product for capturing images | |
US9349166B2 (en) | Method, apparatus and computer program product for generating images of scenes having high dynamic range | |
US9478036B2 (en) | Method, apparatus and computer program product for disparity estimation of plenoptic images | |
US9619863B2 (en) | Method, apparatus and computer program product for generating panorama images | |
US20140072231A1 (en) | Method, apparatus and computer program product for processing of images | |
US20150070462A1 (en) | Method, Apparatus and Computer Program Product for Generating Panorama Images | |
US20140205266A1 (en) | Method, Apparatus and Computer Program Product for Summarizing Media Content | |
US9202288B2 (en) | Method, apparatus and computer program product for processing of image frames | |
US9064170B2 (en) | Method, apparatus and computer program product for estimating image parameters | |
JP6155349B2 (ja) | デコンボリューション画像において色収差を減じる方法、装置及びコンピュータプログラム製品 | |
US10097807B2 (en) | Method, apparatus and computer program product for blending multimedia content | |
US9691127B2 (en) | Method, apparatus and computer program product for alignment of images | |
US20140149934A1 (en) | Method, Apparatus and Computer Program Product for Managing Content | |
US20140292759A1 (en) | Method, Apparatus and Computer Program Product for Managing Media Content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160114 Address after: Espoo, Finland Applicant after: Technology Co., Ltd. of Nokia Address before: Espoo, Finland Applicant before: Nokia Oyj |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160316 Termination date: 20200509 |