用于校正视频帧的旋转的方法和设备的制作方法

文档序号:7993803阅读:353来源:国知局
用于校正视频帧的旋转的方法和设备的制作方法
【专利摘要】本发明描述一种用于校正视频帧的旋转的方法和设备。根据一种方法,确定所述视频帧相对于参考的旋转量。至少部分基于所述视频帧的所述检测到的旋转量校正所述视频帧的所述旋转。
【专利说明】用于校正视频帧的旋转的方法和设备
[0001]相关申请的交叉参考
[0002]本申请要求2011年11月28日申请的美国非临时申请第13/304,929号的权益,所述申请的内容如其全部陈述于本文中般以引用的方式并入本文。
【技术领域】
[0003]本发明大致涉及图像处理且更特定来说涉及校正视频帧的旋转。
发明背景
[0004]摄像机用户在拍摄视频时可以移动,手可以摇晃或以一个或多个不同角度握住摄像机。因此,录制的视频可以包括相对于参考以不同角度(例如,水平或垂直)旋转的一个或多个相同场景帧。旋转的帧可以使得录制的视频难以观看或编辑。
发明概要
[0005]本发明描述了一种用于校正视频帧的旋转的方法和设备。根据一种方法,确定视频帧相对于参考的旋转量。视频帧的旋转至少部分基于视频帧的检测到的旋转量而进行校正。
[0006]附图简述
[0007]可以根据下文结合附图以举例的方式给出的描述获得更详细的理解,其中:
[0008]图1是用于校正视频帧的旋转的系统的实施方案的方框图;
[0009]图2是不例性视频/[目号的图表;
[0010]图3是示出校正视频帧的旋转的示例性方法的流程图;
[0011]图4A是示出校正帧的实例的图表;和
[0012]图4B是示出校正帧的另一实例的图表。
【具体实施方式】
[0013]视频编辑软件可以使用户能够手动校正视频帧的所要旋转(例如,逐帧)。这类手动校正可能是单调的,特别是在许多帧以不同角度旋转的情况下。因此,下文描述的实施方案可以提供视频帧的自动旋转校正。此外,实施方案提供场景变化检测,其可以启用旋转校正功能以区分帧旋转和场景变化来防止在场景变化时将帧错误地识别为在旋转。
[0014]图1是用于校正视频帧的旋转的系统100的实施方案的方框图。所示系统100包括旋转检测单元104、场景变化检测单元106、变化积分器单元110、用户界面114和显示单元116。所示系统100也可以被配置来接收视频输入102和用户输入108且提供校正视频输出112以显示在显示单元116上。包括在系统100中的个别元件可以全部包括在单个设备中或可以是一个或多个单独设备的部件。举例来说,全部元件可以实施在芯片和相关处理器上、多个芯片上或软件或硬件中(整体或部分)。举例来说,芯片和相关处理器、软件或硬件还可以包括在个人计算机(PC)、摄像机、照相手机、摄像录像机、DVD播放器等等的一个或多个中。
[0015]系统100还可以包括用户界面114,用户输入108可以经由用户界面114通过变化积分器单元110考虑而键入。用户界面114可以是例如图形用户界面、手动用户界面(包括,例如一个或多个按钮、开关等等)或其组合。用户输入108可以包括例如除任何检测到的旋转以外用来旋转每个帧的若干度数(例如,22度、37度等等)或可以选自若干预定选择(例如,将每个帧额外旋转90度、180度、270度等等)以补偿例如横向捕捉的视频。用户输入也可以包括启用和停用旋转校正功能。
[0016]旋转检测单元104可以被配置来获得视频输入102。通过非限制性实例,旋转检测单元104可以从视频制作、捕捉、复制和/或存储装置(诸如摄像机、摄像手机、DVD播放器、PC或存储单元或设备)接收或取得视频信号的视频帧。示例性视频信号200示于图2中且在下文示例性实施方案中将被用作示例性视频输入102。示例性视频信号200包括帧202、204、206、208、210和212,其中每个可以由旋转检测单元104连续获得。
[0017]再次参考图1,旋转检测单元104可以分析视频输入102且确定包括在视频输入102中的任何或全部巾贞的旋转量。巾贞的旋转量可以相对于参考(例如,参考巾贞,诸如先前从视频信号获得的帧)确定。
[0018]场景变化检测单元106也可以获得视频输入102。场景变化检测单元106可以分析视频输入102且确定场景是否已在特定帧处改变。场景变化检测单元106可以使用本领域中已知的任何场景变化检测技术。举例来说,场景变化检测单元106可以通过执行帧与帧比较(例如,使用柱状图或边缘检测方法)来检测场景变化。举另一实例,场景变化检测单元106可以通过分析压缩视频信号(例如,分析运动图形专家组(MPEG)信号的运动向量)而检测场景变化。
[0019]变化积分器单元110可以接收来自旋转检测单元104的每个帧的旋转量、场景已在特定帧处改变的任何指示和任何用户输入108且确定是否基于所接收的信息校正每个帧的旋转且校正多少。如果变化积分器单元110确定帧旋转的校正是必需的,那么变化积分器单元110可以以所确定量校正其旋转(例如,校正动作)校正其旋转且提供视频输出112。在一实施方案中,变化积分器单兀110可以将所接收的巾贞旋转量与阈值(例如,5度)进行比较且在所接收的旋转量小于阈值量的情况下确定不校正帧。
[0020]图3是示出校正视频帧的旋转的示例性方法的流程图,所述方法可以例如通过图1的系统100实施。根据示例性方法,可以确定是否启用旋转功能(步骤300)。举例来说,用户可以通过经由用户界面114将旋转功能打开而手动启用旋转功能,当系统100(或包括系统100的一个或多个设备)打开时可以自动启用旋转功能或可以响应于另一功能被启用(例如,当设备键入视频回放或编辑模式时)而自动启用旋转功能。如果确定旋转功能未启用,那么可以重复步骤300直到确定旋转功能已经启用或系统关闭。示例性方法可以实时应用到非实时视频流(例如,被回放的录制视频流的实时补偿)或非实时应用到实时(或接近实时)视频流(例如,实时-非基本上预录制-视频流(诸如用户(预)览或录制现场事件时捕捉的视频流的实时补偿)。
[0021]如果启用了旋转功能(步骤300),那么可以获得视频帧(步骤302)。关于图2的信号200,例如,可以获得信号200的第一帧202或可以获得接下去的连续帧204、206、208、210和212中的任何一个。[0022]如果获得了视频帧(步骤302),那么步骤304、306和308可以发生。步骤304、306和308在图3中被示为平行发生。然而,这些步骤可以同时或以任何顺序发生。
[0023]可以检测到所获得的视频帧的旋转量(步骤304)。如上文关于图1所述,当前获得的帧可以与先前获得的帧进行比较,且可以确定所述两个帧之间的旋转差。举例来说,当前获得的帧的一个或多个区域可以与先前获得的帧的一个或多个类似区域进行比较。当前获得的帧相对于先前获得的帧的旋转变化量可以通过确定先前获得的帧的一个或多个区域相对于当前获得的帧的一个或多个类似区域的旋转量。
[0024]关于图2的示例性信号200,帧204可以是当前获得的帧且帧202可以是先前获得的中贞。帧202的区域A1和帧204的区域A2可以进行比较,且区域A2相对于区域A1的旋转量可以被确定为例如-15度(或+345度)。旋转变化量(例如,-15度或+345度)可以被提供到图1的变化积分器单元110。在接下去的方法重复中,帧206可以是当前获得的帧且帧204可以先前获得的帧。可以比较帧206的区域A3和帧204的区域A2,且区域A3相对于区域A2的旋转量可以被确定为例如+22度。旋转变化量(例如,+22度)可以被提供到图1的变化积分器单元110。
[0025]在一实施方案中,当前获得的帧的一个以上区域可以与先前获得的帧的一个以上区域进行比较(例如,帧204的区域A2和C2可以分别与帧202的区域A1和C1进行比较)。此处,图1的旋转检测单元104可以分析比较结果且提供基于比较结果的旋转量给变化积分器单元110。
[0026]可以检测到场景变化(步骤306)。关于图2的信号200,例如,当帧210是当前获得的帧时,检测到场景变化。如果检测到场景变化,那么图1的场景变化检测单元106可以将这变化用信号发送到图1的变化积分器单元110,如上文关于图1所述。
[0027]可以获得已经键入 的任何用户输入(例如,图1的用户输入108)(步骤308)。举例来说,可以获得指示除检测到的旋转以外用于旋转视频帧的量的用户输入。
[0028]可以确定用来校正所获得的视频帧(如果有)的旋转的量(步骤310)。校正量可以等于例如步骤304中检测到的旋转量与作为用户输入108键入且在步骤308中获得的任何额外旋转校正量的总和。如果在步骤306中检测到场景变化,那么应用到所获得的视频帧的校正量可以不包括步骤304中检测到的旋转量。在一实施方案中,如果在步骤306中检测到场景变化,那么校正量可以等于作为用户输入键入且在步骤308中获得(如果有)的额外校正量。这可以防止其中发生场景变化的帧因旋转检测单元104识别例如类似于帧202,204和306的区域A1^A2和A3的帧210的区域(例如,区域B1)且基于所识别区域的旋转错误地检测到帧的旋转而被过度旋转或欠旋转。如果在步骤304中未检测到旋转量且无额外旋转校正量输入,那么可以确定不需要对帧作出校正。
[0029]当前获得的帧的旋转可以以所确定量校正(如果有)(步骤312)且可以重复步骤300。可以重复示例性方法直到旋转功能停用或无法获得更多的视频帧(例如,视频回放结束)为止。
[0030]图4A和图4B中示出校正帧的实例。图4A和图4B的左侧示出未校正帧402a、404a、412a和414a,其可以由旋转检测单元104在步骤302中获得。图4A和图4B的右侧示出校正帧402b、404b、412b和414b,其可以提供为来自图1的变化积分器单元110的输出112。在图4A中,帧404a中捕捉的图像相对于帧402a中捕捉的相同图像旋转。帧404a的旋转以所检测数量的度数校正,如校正帧404b所反映。在图4A中,无额外旋转度数被键入为用户输入108。在图4B中,帧414a中捕捉的图像也相对于帧412a中捕捉的图像旋转。然而,在图4B中,+90度已经被键入为额外旋转度数。因此,用被旋转-90度(或+270度)的摄像机捕捉且包括相对于彼此旋转的帧的视频可以经过校正使得视频可以以适当观看方位显示,其中全部帧方位相同。因此,上述实施方案可以用来校正相对于彼此旋转任何旋转度数的帧且也可以用来校正在放映期间有意旋转90度、180度或270度的摄像机。
[0031]虽然上文以特定组合描述了特征和元件,但是每个特征或元件可以单独使用而不具有其它特征和元件,或呈各种组合,具有或不具有其它特征和元件。本文提供的方法或流程图可以以合并在由通用计算机或处理器执行的计算机可读存储媒介中的计算机程序、软件或硬件中实施。
[0032]举例来说,合适的处理器包括通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个处理器、与DSP芯相关的一个或多个处理器、控制器、微控制器、特定应用集成电路(ASIC)、场可编程门阵列(FPGA)电路、任何其它类型的集成电路(IC),和/或状态机。
[0033]本发明的实施方案可以表示为存储在计算机可读存储媒介中的指令和数据。例如,本发明的方面可以使用Verilog实施,其是硬件描述语言(HDL)。当处理时,Verilog数据指令可以生成其它中间数据(例如,网表、GDS数据等等),其可以用来执行在半导体制造工厂中实施的制造程序。制造程序可以适于制造并测试体现本发明的各个方面的半导体装置(例如,处理器)。
【权利要求】
1.一种校正视频帧的旋转的方法,所述方法包括: 检测视频帧相对于参考的旋转量;和 至少部分基于所述视频帧的所述检测到的旋转量校正所述视频帧的所述旋转。
2.根据权利要求1所述的方法,其中所述获得的视频帧是当前从包括多个连续视频帧的视频信号获得的帧。
3.根据权利要求2所述的方法,其中所述参考是先前从所述视频信号获得的视频帧。
4.根据权利要求3所述的方法,其中所述检测到的旋转量是从先前从所述视频信号获得的到所述当前从所述视频信号获得的帧的旋转改变量。
5.根据权利要求4所述的方法,其中所述检测包括: 将先前从所述视频信号获得的所述视频帧的至少一个区域与所述当前从所述视频信号获得的帧的至少一个类似区域进行比较;和 确定先前从所述视频信号获得的所述视频帧的所述至少一个区域与所述当前从所述视频信号获得的帧的所述至少一个类似区域之间的旋转量。
6.根据权利要求1所述的方法,其中: 所述方法还包括确定所述视频帧是否表示场景变化,和 如果确定所述视频帧表示所述场景变化,那么用来校正所述视频帧的所述旋转的所述确定量是零度。
7.根据权利要求1所述的方法,其中: 所述方法还包括接收额外量来旋转所述视频帧,和 确定用来校正所述视频帧的所述旋转的所述量是基于所述视频帧的所述检测到的旋转量和用来旋转所述视频帧的所述接收到的额外量。
8.根据权利要求7所述的方法,其中: 所述方法还包括确定所述视频帧是否表示场景变化,和 如果确定所述视频帧表示所述场景变化,那么用来旋转所述视频帧的所述确定量等于用来旋转所述视频帧的所述接收的额外量。
9.根据权利要求7所述的方法,其中用来旋转所述视频帧的所述额外量是作为用户输入键入的特定数量的度数。
10.根据权利要求7所述的方法,其中用来旋转所述视频帧的所述额外量选自由90度、180度和270度组成的一组预设旋转度数。
11.根据权利要求1所述的方法,其中用来校正所述视频帧的所述旋转的所述确定量是介于所述参考与所述获得的视频帧之间的任何数量的旋转度数。
12.根据权利要求1所述的方法,其还包括显示所述校正的视频帧。
13.—种设备,其包括: 旋转检测单元,其被配置来检测视频帧相对于参考的旋转量;和 变化积分器单元,其被配置来至少部分基于所述视频帧的所述检测到的旋转量校正所述视频帧的所述旋转。
14.根据权利要求13所述的设备,其中所述获得的视频帧是当前从包括多个连续视频帧的视频信号获得的帧。
15.根据权利要求14所述的设备,其中所述参考是先前从所述视频信号获得的视频帧。
16.根据权利要求15所述的设备,其中所述检测到的旋转量是从先前从所述视频信号获得的所述视频帧到所述当前从所述视频信号获得的帧的旋转变化量。
17.根据权利要求13所述的设备,其中: 所述设备还包括被配置来确定所述视频帧是否表示场景变化的场景变化检测单元,且所述变化积分器单元还被配置来在所述场景变化检测单元确定所述视频帧表示所述场景变化的情况下确定用来将所述视频帧的所述旋转校正为零度的所述量。
18.根据权利要求14所述的设备,其中所述变化积分器单元还被配置来接收用来旋转所述视频帧的额外量且基于所述视频帧的所述检测到的旋转量和用来旋转所述视频帧的所述接收的额外量来确定用来校正所述视频帧的所述旋转的所述量。
19.根据权 利要求18所述的设备,其中: 所述设备还包括被配置来确定所述视频帧是否表示场景变化的场景变化检测单元,和所述变化积分器单元还被配置来在所述场景变化检测单元确定所述视频帧表示所述场景变化的情况下,确定用来校正所述视频帧的所述旋转的所述量等于用来旋转所述视频帧的所述接收的额外量。
20.根据权利要求18所述的设备,其中用来旋转所述视频帧的所述额外量是作为用户输入键入的特定数量的度数。
21.根据权利要求18所述的设备,其中用来旋转所述视频帧的所述额外量选自由90度、180度和270度组成的一组预设旋转度数。
22.根据权利要求13所述的设备,其中用来校正所述视频帧的所述旋转的所述确定量是介于所述参考与所述获得的视频帧之间的任何数量的旋转度数。
23.根据权利要求22所述的设备,其还包括被配置来显示所述校正的视频帧的显示单J Li ο
24.一种计算机可读存储媒介,其存储由通用计算机执行来校正视频帧的旋转的一组指令,所述组的指令包括: 获得视频帧; 检测所述视频帧相对于参考的旋转量; 至少部分基于所述视频帧的所述检测到的旋转量确定用来校正所述视频帧的所述旋转的量;和 以所述确定量校正所述视频帧的所述旋转。
【文档编号】H04N5/335GK103999448SQ201280062966
【公开日】2014年8月20日 申请日期:2012年11月27日 优先权日:2011年11月28日
【发明者】郑宇保, 菲利普·L·斯万 申请人:Ati科技无限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1