CN106105214A - 运动估计中的回退检测 - Google Patents
运动估计中的回退检测 Download PDFInfo
- Publication number
- CN106105214A CN106105214A CN201580014284.2A CN201580014284A CN106105214A CN 106105214 A CN106105214 A CN 106105214A CN 201580014284 A CN201580014284 A CN 201580014284A CN 106105214 A CN106105214 A CN 106105214A
- Authority
- CN
- China
- Prior art keywords
- frame
- video
- phase plane
- area
- dependency
- 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.)
- Granted
Links
Classifications
-
- 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/262—Analysis of motion using transform domain methods, e.g. Fourier domain methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- 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/20021—Dividing image into blocks, subimages or windows
-
- 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/20048—Transform domain processing
- G06T2207/20056—Discrete and fast Fourier transform, [DFT, FFT]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
讨论了涉及在视频处理中对运动估计的使用进行管理的技术。这类技术可以包括:确定将两个视频帧各自划分为相应的区域;针对所述相应区域生成相平面相关性;基于所述相平面相关性判定所述视频帧是否为运动估计相关;以及基于所述判定提供视频帧预测模式指示符。
Description
优先权声明
本申请要求于2014年4月15提交的题为“FALLBACK DETECTION IN MOTIONESTIMATION(运动估计中的回退检测)”的美国专利申请序号14/252,944的优先权,该美国专利申请以其全部内容通过引用结合在此。
背景技术
对视频序列的运动估计是如帧率上变频(FRC)和视频压缩等视频处理技术中的重要组成部分。例如,帧率上变频可以在视频序列中提供附加的帧(例如,被添加于现有帧之间的帧)以提高视频质量。例如,帧率上变频可以用于在视频序列中改进平滑度以及去除颤动(例如,电影电视颤动)。视频压缩可以用于减小用于存储在存储器中或传输至另一个设备等的视频数据的大小。例如,可以部分地通过使用运动估计和运动压缩技术对帧进行预测来压缩视频序列,以便在设备(具体为手持式设备)中使用更少的存储器或者以在通信介质上使用更少的带宽。
然而,FRC和视频压缩可能在使用运动估计和运动压缩技术生成或压缩的帧中引起令人讨厌的伪像。这种伪像会使用户在视频播放过程中的体验降级。伪像可以包括例如方块伪像、边缘或边界伪像或者噪声等。这种伪像可能在特定的视频环境中更加流行,如,在场景变化过程中、当没有或极少运动存在时、在快速运动场景过程中、或在视觉上复杂的场景中。
由此,当应用运动估计和/或运动压缩时,现有技术并不提供高质量、无伪像的视频序列。随着视频处理和播放在广泛的设备中变得更加流行,这种问题可能变得关键。
附图说明
在附图中通过举例而非限制的方式展示了在此所描述的材料。为了展示的简单和清楚,图中所展示的元件不一定按比例绘制。例如,为清楚起见,某些元件的尺寸相对于其他元件可能被放大了。另外,在认为适当的情况下,在附图之间对参考标记加以重复以表示相应的或相似的元件。在附图中:
图1是用于在视频处理器中管理运动估计的示例系统的原理图;
图2展示了视频序列的示例部分;
图3展示了示例视频帧的示例区域;
图4展示了示例视频帧的示例区域;
图5展示了示例帧预测模式模块;
图6是展示用于在视频处理中管理运动估计的示例过程的流程图;
图7是示例系统的原理图;
图8是示例系统的原理图;以及
图9展示了全部根据本公开的至少部分实现方式安排的示例设备。
具体实施方式
现在参照附图描述一个或多个实施例或实现方式。虽然对特定配置和安排进行了论述,但应理解,这仅出于说明目的来进行。相关领域的技术人员将认识到,在不背离本描述的精神和范围的情况下可以采用其他配置和安排。将对相关领域的技术人员明显的是,在此描述的技术和/或安排还可以在除了在此描述的系统和应用之外的各种各样的其他系统和应用中被采用。
虽然以下描述阐述可以在如例如片上系统(SoC)架构的架构中显现各实现方式,在此描述的技术和/或安排的实现方式不局限于具体的架构和/或计算系统并且出于类似目的可以由任何架构和/或计算系统实现。例如,采用例如多个集成电路(IC)芯片和/或封装体、和/或各种计算设备和/或消费电子产品(CE)设备(如机顶盒、智能电话等)的各架构可以实现在此描述的技术和/或安排。另外,虽然以下描述可以阐述许多特定的细节(如逻辑实现、系统部件的类型和内在关系、逻辑划分/集成选择等),要求保护的主题可以在没有这些特定细节的情况下被实践。在其他情形下,可以不详细示出某些材料(如,例如,控制结构和完整的软件指令序列),以便不模糊在此公开的材料。
在此公开的材料可以在硬件、固件、软件、或其任意组合中实现。在此公开的材料还可以被实现为存储于机器可读介质上的指令,这些指令可以被一个或多个处理器读取或执行。机器可读介质可以包括用于存储或传输具有由机器(例如,计算设备)可读的形式的信息的任何介质和/或机制。例如,机器可读介质可以包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存器;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等等。
说明书中提到“一种实现方式”、“实现方式”、“示例实现方式”等表明所描述的实现方式可以包括具体特征、结构、或特性,但每个实施例可能不一定包括这个具体特征、结构、或特性。此外,这些短语不一定指同一实现方式。另外,当结合一个实施例描述特定的特征、结构或特性时,应理解,结合无论在此是否明确地描述的其他实现方式来实施这种特征、结构或特性在本领域技术人员的认知范围内。
在此描述的方法、设备、装置、计算平台和制品涉及在视频处理中管理运动估计。
如上所述,在各实现方式中提供帧率上变频(FRC)或视频压缩可能是有利的。如讨论的,帧率上变频可以为视频序列提供附加的帧(例如,插值视频帧)以提高视频质量,并且视频压缩可以预测视频序列中的视频帧(例如,预测视频帧)以减小用于存储或传输等的视频数据的大小。同样如讨论的,在一些示例中,FRC或视频压缩可能在使用运动估计和运动压缩技术生成或压缩的帧中引起令人讨厌的伪像,这会使用户在视频播放过程中的体验降级。
在一些实施例中,在视频处理中管理运动估计可以包括判定视频帧是否为运动估计相关。如果视频帧是运动估计相关,则使用运动估计和运动压缩技术来预测视频帧之间的视频帧(例如,针对FRC)或者来预测视频帧之一(例如,基于用于压缩的另一个帧)可能是有利的。如果视频帧是非运动估计相关,则使用回退或默认技术或者根本不使用技术来预测视频帧可能是有利的。例如,在回退模式中,可以使用视频帧的混合或重复使用视频帧之一等来创建FRC帧。在回退模式的视频压缩中,视频帧可能不被预测或者它们可以使用其他技术(例如,帧内预测)被预测或者它们例如可以是基于另一个视频运动估计和压缩预测的。
在实施例中,在视频处理中管理运动估计可以包括将视频帧(例如,视频序列的两个帧)划分为相应的区域。这些区域可以是全局区域或局部区域等。在一些示例中,视频帧可以被划分为全局区域和局部区域两者。可以针对相应的区域对中的每个区域生成相平面相关性。可以分析相位相关性(例如,可以评估相平面相关性的峰值)以判定视频帧是否为运动估计相关。在此进一步讨论用于判定视频帧是否为运动估计相关的各种各样的技术。可以基于视频帧是否为运动估计相关的判定来提供视频帧预测模式指示符。例如,视频帧预测模式指示符可以指示真或假、运动估计模式或回退模式等等之一。
图1是根据本公开的至少部分实现方式安排的用于在视频处理中管理运动估计的示例系统100的原理图。系统101可以实现一种用于在视频处理中管理运动估计的方法(例如,经由计算机或其他设备)。如图1所示,系统100可以包括区域生成模块102、相平面相关性模块104、运动估计相关性检测模块106、帧预测模式模块108以及帧预测模块110。如所示,区域生成模块102和/或帧预测模块110(以及如所需要的系统100的其他模块)可以接收视频序列101。视频序列101可以包括视频帧的任何适当的视频序列。视频序列101可以是从任何适当的源接收的,如存储器、视频采集设备(例如,视频相机、摄录像机等)、另一个设备等等。视频序列可以包括任何适当的分辨率,如视频图形阵列(VGA)、高清晰度(HD)、全HD(例如,1080p)、4K分辨率图像等等。
图2展示了根据本公开的至少部分实现方式安排的视频序列101的示例部分。如图2所示,视频序列101可以包括视频帧201至204的序列。尽管被展示为具有四个视频帧201至204,视频序列101可以包括任意数量的视频帧。如讨论的,视频帧201至204可以是任何适当的分辨率。在一些示例中,视频帧201至204可以是按时间顺序提供的,从而使得可以按视频帧201至204的顺序查看视频序列101。如在此讨论的,可以关于视频帧201至204中的任何两个视频帧是否为运动估计相关来进行判定。在实施例中,经分析的视频帧可以是时间上相邻或相继的帧,如视频帧201和202、视频帧202和203以此类推。在其他实施例中,经分析的视频帧可以跳过视频帧并且可以包括例如视频帧201和203、视频帧202和204以此类推。在又其他实施例中,经分析的视频帧在它们之间可以具有附加的间隙。另外,可以在向前的方向上(例如,在观看的时间方向上)或者在向后的方向上(例如,与观看的时间方向相反)分析视频帧。
返回图1,区域生成模块102可以接收视频序列101并且可以如在图3和图4中进一步展示的将视频帧201和视频帧202划分为相应的区域。为了清楚呈现,在此关于视频帧201、202来描述所讨论的技术,但是这些技术可以如讨论的应用于视频序列101的任何视频帧。
图3展示了根据本公开的至少部分实现方式安排的示例视频帧201、202的示例区域301、302。如图3所示,视频帧201可以被划分为区域301a、301b、301c和301d,并且视频帧202可以被划分为相应的区域302a、302b、302c和302d。例如,区域301和区域302可以由于分别在视频帧201和视频帧202的相同的或基本上相同的位置中而相对应。在一些示例中,区域301、302可以是视频帧201、202的全局区域。
图4展示了根据本公开的至少部分实现方式安排的示例视频帧201、202的示例区域401、402。在图4的展示中,为了清楚呈现,仅展示区域401中的一个区域以及区域402中的一个区域。如图4所示,视频帧201可以被划分为区域401而视频帧202可以被划分为相应的区域402。例如,区域401和区域402可以由于分别在视频帧201和视频帧202的相同的或基本上相同的位置中而相对应。在一些示例中,区域401、402可以是视频帧201、202的局部区域。
在各实施例中,区域生成模块101可以生成区域301、302或者区域401、402或者两者。如讨论的,在一些实施例中,区域301可以被当成全局区域(例如,同视频帧201与视频帧202之间的全局运动相关联的较大区域)而区域401可以被当成局部区域(例如,同视频帧201与视频帧202之间的位置运动相关联的较小区域)。
在实施例中,区域301、302可以包括四个区域;然而,如在此进一步讨论的,区域301、302可以包括任何适当数量的区域从而使得视频帧201、202之间的运动可以被评估。例如,区域301、302可以用于评估视频帧201、202之间的全局运动。在其他实施例中,区域301和区域302可以包括六个区域或八个区域诸如此类。在实施例中,视频序列101是1080p视频序列而区域301、302各自包括在1024*512的2*2图案(如图3所示)中的四个区域。在各示例中,区域301和区域302可以在其边界处对齐,在水平方向、竖直方向的任一方向上或两个方向上重叠,或者可以在水平方向、竖直方向的任一方向上或两个方向上的区域之间提供间隙。
还如在图3中所示的,可以缩小区域301和区域302的尺寸以生成尺寸缩小的区域,如,例如,与区域302d相关联的尺寸缩小的区域303d。区域301、302的尺寸缩小可以包括用于增加处理时间或节省功率的任何适当的尺寸缩小,如,1至8或诸如此类的尺寸缩小因数。例如,如果尺寸缩小因数为1,则尺寸缩小可以被跳过。在此讨论的技术可以应用于区域301、302或其相关联的尺寸缩小的区域。如讨论的,在一些示例中,区域生成模块101可以仅生成区域301、302。
返回至图4,在实施例中,区域401、402可以包括72个区域;然而,如在此进一步讨论的,区域401、402可以包括任何适当数量的区域从而使得视频帧201、202之间的运动可以被评估。例如,区域401、402可以用于评估视频帧201、202之间的局部运动。在其他实施例中,区域401、402可以包括30到120个区域或诸如此类。在实施例中,视频序列101是1080p视频序列而区域401和区域402各自包括在256*128的8*9图案(如图4所示)中的72个区域。在各示例中,区域401和区域402可以在其边界处对齐,在水平方向、竖直方向的任一方向上或两个方向上重叠,或者可以在水平方向、竖直方向的任一方向上或两个方向上的区域之间提供间隙。
而且,如关于图3讨论的,区域401和区域402可以被缩小尺寸以生成尺寸缩小的区域(未示出)。区域401、402的尺寸缩小可以包括用于增加处理时间或节省功率的任何适当的尺寸缩小,如,1至2或诸如此类的尺寸缩小因数。例如,如果尺寸缩小因数为1,则尺寸缩小可以被跳过。在此讨论的技术可以应用于区域401、402或其相关联的尺寸缩小的区域。如讨论的,在一些示例中,区域生成模块101可以仅生成区域401、402。
返回至图1,可以将区域301、302和/或区域401、402从区域生成模块101传送至相平面相关性模块104。相平面相关性模块104可以生成相平面相关性(PPC)105从而使得针对相应的一对区域生成相平面相关性105中的相平面相关性。例如,相平面相关性105可以包括针对区域301a与区域302a(或在区域301a与区域302a之间)的相平面相关性、针对区域302a与区域302c(或在区域302a与区域302c之间)的相平面相关性,以及针对相应区域301与区域302的每个对(或至少部分对)的诸如此类的相平面相关性。
类似地,相平面相关性105可以包括针对相应区域401、402的每个队(或部分对)的(或在这些对之间的)相平面相关性。在各示例中,相平面相关性模块104可以生成针对区域301与相应区域302或者区域401与相应区域402或者两者的相平面相关性。此外,在一些示例中,相平面相关性模块104可以生成针对相应区域301、302中的每个区域和/或相应区域401、402中的每个区域的相平面相关性。在其他示例中,相平面相关性模块104可以生成仅针对相应区域301、302中的部分区域和/或相应区域401、402中的部分区域的相平面相关性。例如,如在此讨论的,仅部分相应区域可能需要被评估以确定运动估计相关性。这些区域的数量和位置可能被预先确定或者被启发式地确定等等。在各示例中,可以串行地或并行地生成相平面相关性105以及随后的运动相关性检测(以下进一步讨论的)。在一些示例中,如果运动相关性检测指示弱相关或无相关,则处理可以在当前帧或区域上停止,从而使得处理时间和/或功率利用率可以被优化。
可以使用任何适当的一项或多项技术来生成相平面相关性105。例如,生成多个相平面相关性中的一个相平面相关性可以包括可选的加窗操作、对视频帧(例如,视频帧201)的区域(例如,区域301a等)以及另一个视频帧(例如,视频帧202)的相应区域(例如,区域302a等)应用离散傅立叶变换、确定经变换的区域与经变换的相应区域之间的互功率谱、对互功率谱应用离散傅立叶逆变换以及对经逆变换的互功率谱执行快速傅立叶变换移位以生成相平面相关性。
在下文中,出于示例性目的讨论区域301a和区域302a;然而,所讨论的技术可以应用于在此讨论的任何区域。例如,可选的加窗函数可以应用于视频帧101的区域301a以及帧202的相应区域302a(或者如所描述的区域301a、301b的尺寸缩小的区域)。所述加窗函数可以包括例如汉明(Hamming)或凯撒(Kaiser)加窗函数并且可以减少这些区域中的边缘效应。在一些示例中,可以应用无加窗函数。
然后可以对视频帧201的区域301a以及视频帧202的区域302a应用离散傅立叶变换。例如,可以使用基数为2的快速傅立叶变换来实现离散傅立叶变换。在一些示例中,可以如在等式(1)和(2)中所示的实现离散傅立叶变换运算:
Ga=DFT{ga}
(1)
Gb=DFT{gb}
(2)
其中,ga可以是视频帧201的区域301a(或者如所讨论的尺寸缩小的和/或加窗的区域),gb可以是视频帧202的相应区域302a(或者尺寸缩小的和/或加窗的区域),DFT可以表示离散傅立叶变换,Ga可以是视频帧201的经变换的区域301a,并且Ga可以是视频帧202的经变换的相应区域302a。
视频帧201的经变换的区域301a与视频帧202的相应区域302a之间的互功率谱可以被确定。互功率谱可以是通过按元素将视频帧201的经变换的区域301a的频谱乘以视频帧202的经变换的相应区域302a的复数共轭并对所述乘积进行归一化确定的。在等式(3)中示出了示例互功率谱确定:
R=GaGb*/|GaGb*|
(3)
其中,R可以是互功率谱,而Gb*可以是视频帧202的经变换的相应区域302a的复数共轭。
可以对所述互功率谱应用离散傅立叶逆变换并且可以对经逆变换的互功率谱执行可选的快速傅立叶变换移位以生成相关性平面。可以如等式(4)所示的应用离散傅立叶逆变换:
r=DFT-1(R)
(4)
其中,r可以是经逆变换的互功率谱,而DFT-1可以是离散傅立叶逆变换。可选的快速傅立叶变换移位可以包括在经逆变换的互功率谱的第一与第三以及第二与第四四分之一波长中交换元素。在等式(5)中示出了示例快速傅立叶变换移位:
c=fftshift(r)
(5)
其中,c可以是相关性平面,而fftshift可以是快速傅立叶变换移位运算。
通常,如在此讨论的,可以针对任意两个相应的区域执行所描述的相平面相关性(即,对两个相应的区域应用可选的加窗函数、对所述区域应用离散傅立叶变换、确定区域之间的互功率谱、对所述互功率谱应用离散傅立叶逆变换、可选地对所述经逆变换的互功率谱执行快速傅立叶变换移位以生成相关性平面、和/或确定在所述相关性平面中的峰值的相关性以确定候选运动向量)。
返回图1,可以将相平面相关性105从相平面相关性模块104传送至运动估计相关性检测模块106。运动估计相关性检测模块106可以基于相平面相关性105判定视频帧201、202(或诸如此类)是否为运动估计相关。在实施例中,运动估计相关性检测模块基于在相平面相关性105的每个相平面相关性中的一个或多个峰值的估计判定视频帧201、202是否为运动估计相关。例如,如果使用应用于视频帧201、202之一或两者的运动估计和运动补偿技术可以成功地预测视频帧201与视频帧202之间的视频帧、视频帧201和视频帧202之一或者另一个视频帧,则视频帧201、202可以是运动估计相关。例如,如果使用运动估计和运动补偿可以成功地预测相对平滑且适度的场景运动,则视频帧可以是运动估计相关。此外,如果使用应用于视频帧201、202之一或两者的运动估计和运动补偿技术不可以成功地预测视频帧201与视频帧202之间的视频帧、视频帧201和视频帧202之一或者另一个视频帧,则视频帧201、202可以是运动估计不相关的。例如,使用运动估计和补偿技术不可以成功地预测场景变换、无运动、快速运动、困难场景等等。在这种示例中,基于重复使用视频帧201或视频帧202或者将视频帧201与视频202进行混合等等(如在此使用的,这种技术指示“回退”技术,如来自使用运动估计和补偿的回退)从视频帧201、202中生成或预测视频帧201与视频帧202之间的视频帧、视频帧201与视频帧202之一或者另一个视频帧可以是有利的。
例如,如果视频帧201表示前一个场景中的最后一帧并且视频帧202表示新场景中的第一帧(例如,在场景变化中),则视频帧201与视频帧202之间的(多个)运动补偿帧的创建可能在插值帧或预测帧(例如,生成的帧)中产生令人讨厌的伪像。在这种情形下,使用视频帧201或视频帧202作为插值视频帧或预测视频帧可以是有利的。在一些示例中,检测场景变化可以包括区域生成模块102生成全局区域(例如,区域301、302)、相平面相关性模块104生成全局相平面相关性以及运动估计相关性模块106评估全局相平面相关性以判定视频帧201与视频帧202之间的强相关性或弱相关性。例如,当每个全局相平面相关性(例如,基于区域对301、302的全局相平面相关性)指示弱相关性时,由于场景变化可以确定视频帧201、202为非运动估计相关。
可以基于评估在生成的相平面相关性(例如,全局相平面相关性)中的一个或多个峰值来判定这种强相关性或弱相关性。例如,针对相平面相关性(针对区域对,如区域301a和302a)在强相关性与弱相关性之间的判定可以是基于两次评估确定的。首先,可以在相平面相关性的最大峰值与相平面相关性的平均值之差与阈值之间进行比较。其次,可以在相平面相关性的最大峰值与相平面相关性的第二大峰值之差与阈值之间进行比较。例如,如在伪码(6)中所示,如果任何一个值都小于对应的阈值,则可以提供针对相平面相关性(以及相关联的区域,例如,区域301a和区域302a)的弱相关性,否则可以提供针对相平面相关性的强相关性。如讨论的,如果所有全局相平面相关性为弱,则可以确定场景变化。在这种示例中,运动估计相关性模块106可以为帧预测模式模块提供指示无运动估计相关性和/或与视频帧201、202相关联的场景变化的指示符。
针对相平面相关性n:
(6)
如果(峰值1n-AVn<Th1)或(峰值1n-峰值2n<TH2)为真,
则为弱相关性,
否则为强相关性。
其中,n可以是针对当前相平面相关性的计数器,峰值1n可以是针对相平面相关性n的最大峰值,AVn可以是针对相平面相关性n的平均值,TH1可以是第一阈值,峰值2n可以是针对相平面相关性n的第二大峰值,并且TH2可以是第二阈值。TH1和TH2可以是指示视频帧区域之间的强相关性或弱相关性的任何适当的阈值。在一些示例中,TH1可以是在约6至10的范围中,其中,8是尤其有利的。在一些示例中,TH2可以是在约2至4的范围中,其中,3是尤其有利的。
在另一个示例中,如果视频序列101中的运动不存在或极小(例如,在无运动视频部分中),则为系统分配处理以生成运动补偿视频帧可能不是有利的。此外,这样生成的运动补偿视频帧可以提供颤动等。在这种示例中,使用视频帧201、视频帧202或基于视频帧201和202混合的帧作为插值帧或预测帧可以是有利的。在一些示例中,检测无运动可以包括区域生成模块102生成全局和局部区域(例如,区域301、302和区域401、402)、相平面相关性模块104生成全局相平面相关性和局部相平面相关性、以及运动估计相关性模块106评估全局相平面相关性和局部相平面相关性以判定无运动(或少运动)。例如,基于针对每个全局相平面相关性和每个局部相平面相关性的最大峰值的运动向量与阈值的比较由于无运动(或少运动)可以确定视频帧201、202为非运动估计相关。例如,如果运动向量小于阈值,则可以指示无运动。所述阈值可以是指示少运动或无运动的任何适当的阈值,如在0.5至2的范围中的阈值等等。在一些示例中,运动向量可以包括整数值并且零运动向量至可以对应于无运动(例如,从而使得有效阈值为1)。如讨论的,如果所有全局或局部相平面相关性指示针对最大峰值的运动向量都小于阈值,则可以针对视频帧201、202判定为无运动。在这种示例中,运动估计相关性模块106可以为帧预测模式模块提供指示无运动估计相关性和/或与视频帧201、202相关联的无运动的指示符。
在又另一个示例中,在视频序列101中,快速运动可以由于硬件限制(例如,分配的存储器)等等而排除运动估计和补偿。例如,系统可能不能够补偿太大的运动。在这种示例中,使用视频帧201、视频帧202或基于视频帧201和202混合的帧作为插值帧或预测帧可以是有利的。在一些示例中,检测快速运动可以包括区域生成模块102生成全局区域(例如,区域301、302)、相平面相关性模块104生成全局相平面相关性以及运动估计相关性模块106评估全局相平面相关性以基于快速运动判定视频帧201与视频帧202是否为运动估计相关。
例如,当全局相平面相关性中的任意相平面相关性(例如,一个或多个相平面相关性)指示快速运动时,由于快速运动可以确定视频帧201与视频帧202为非运动估计相关。可以基于同相平面相关性的最大峰值相关联的运动向量与阈值的比较来指示快速运动。例如,如果运动向量在水平方向上的大小和/或运动向量在竖直方向上的大小大于阈值,则可以确定为快速运动。所述阈值可以是指示快速运动和/或指示系统硬件限制的任何适当的阈值。在一些示例中,竖直方向阈值可以在约12至20个像素的范围中,其中,16个像素是尤其有利的。在一些示例中,水平方向阈值可以在约48至76个像素的范围中,其中,64个像素是尤其有利的。如讨论的,如果任何一个全局相平面相关性指示快速运动,则针对视频帧201、202可以确定为快速运动。在这种示例中,运动估计相关性模块106可以为帧预测模式模块提供指示无运动估计相关性和/或与视频帧201、202相关联的快速运动的指示符。
在附加示例中,如果视频序列101指示困难场景(例如,动作片或体育赛事的场景),则生成插值帧或预测帧可能过分复杂和/或可能引起伪像。在这种示例中,使用视频帧201、视频帧202或基于视频帧201和202混合的帧作为插值帧或预测帧可以是有利的。在一些示例中,检测困难场景可以包括区域生成模块102生成局部区域(例如,区域401、402)、相平面相关性模块104生成局部相平面相关性以及运动估计相关性模块106评估局部相平面相关性以基于快速运动判定视频帧201与视频帧202是否为运动估计相关。例如,判定视频帧201与视频帧202是否为运动估计相关可以基于局部相平面相关性中指示弱相关性的数量与阈值的比较。
例如,针对相平面相关性(针对区域对,如区域401和402的任何相应的区域)在强相关性与弱相关性之间的判定可以是基于如以上关于伪码(6)所讨论的两次评估确定的。首先,可以在相平面相关性的最大峰值与相平面相关性的平均值之差与阈值之间进行比较。其次,可以在相平面相关性的最大峰值与相平面相关性的第二大峰值之差与阈值之间进行比较。例如,如果任何一个值都小于对应的阈值,则可以提供针对相平面相关性(以及相关联的区域)的弱相关性,否则可以提供针对相平面相关性的强相关性。如讨论的,如果弱相关性局部相平面相关性的数量超过阈值,则可以针对视频帧201、202确定为困难场景。弱局部相平面相关性的阈值数量可以是指示困难场景的任何适当的值。例如,所述阈值可以是在约12至24的范围中,其中,18尤其有利。在这种示例中,运动估计相关性模块106可以为帧预测模式模块提供指示无运动估计相关性和/或与视频帧201、202相关联的困难场景的指示符。
此外,弱局部相平面相关性阈值的数量可以是自适应的。例如,所述阈值可以基于视频帧(如视频帧201、202)是否由于困难场景是运动估计相关的(或者,在另一个示例中,它们是否由于在此讨论的任何原因是运动估计相关的)而是自适应的。例如,假设初始阈值被设置并且模式被设置为回退(例如,在其中使用重复的或混合的帧代替运动补偿帧来插值或预测),然后,如果局部弱相关性的数量小于初始阈值,则模式可以从回退改变为运动估计并且阈值可以增加至第二阈值(例如,增加约25%等)。随后,如果局部弱相关性的数量大于第二阈值,则模式可以被设置为回退并且第二阈值可以减小至第三阈值(例如,下降约25%等等)。使用这种技术,切换模式可以较不频繁和/或更加稳健,这可以为用户提供具有更少伪像等等的令人期望的视频。在此关于图5讨论了针对模式之间更加稳健的切换的其他技术。
返回图1,如讨论的,运动估计相关性检测模块106可以提供指示视频帧是否为运动估计相关(多个)指示符和/或针对非运动估计相关视频帧的类型(例如,场景变化、无运动、快速运动或困难场景等等)。如所示,帧预测模式模块108可以接收这种指示符并且提供帧预测模式109(例如,视频帧预测模式)。帧预测模式109可以包括指示帧预测模式的指示符或信号或诸如此类,如帧预测模式指示符等等。所述指示符可以包括任何适当的信息或信号。例如,如果帧是运动估计相关,则帧预测模式模块108可以提供运动估计模式指示符。如果帧是非运动估计相关,则帧预测模式模块108可以提供回退模式指示符。在其他实施例中,如在此关于图5进一步讨论的,帧预测模式模块108可以实现状态机或诸如此类,从而使得无论视频帧是运动估计相关和/或是针对非运动估计相关视频帧的类型,系统100的过去的状态都可以用于确定帧预测模式105。
如所示,帧预测模式模块110可以接收帧预测模式109和视频序列101。帧预测模式模块110可以判定帧预测模式109是否指示运动估计(ME)111或者回退(FB)113(例如,运动估计模式或回退模式)。如果帧预测模式109指示运动估计111,则帧预测模式模块110可以经由运动估计/补偿模块112确定基于运动估计和补偿的帧(MEF)115。基于运动估计和补偿的帧115可以是使用任何适当的基于运动估计和补偿的技术确定的,如确定视频帧201与视频帧202之间的运动相关联的运动向量以及基于参考帧和所述运动向量的帧预测等等。在一些示例中,相平面相关性105可以用于确定运动向量或预测运动向量等等。在实施例中,MEF 115是基于视频帧201或视频帧202之一的预测帧。
如果帧预测模式109指示回退(FB)113(例如,使用视频帧重复或混合用于预测的回退),则帧预测模块110可以经由帧重复或帧混合模块114确定基于回退的帧(FBF)115。可以使用任何适当的技术来确定基于回退的帧115,如使用视频帧201或视频帧202作为插值帧或预测帧或者将视频帧201与视频帧202进行混合(例如,取视频帧201与视频帧202之间的平均像素值等)。在实施例中,FBF是基于重复的视频帧201、重复的视频帧202或混合的视频帧201与视频帧202之一的预测帧。判定是否使用重复的帧(和/或使用哪个重复的帧)或是否对帧进行混合可以基于对所述帧进行分析,或者所述判定可以被呈现。在实施例中,默认回退模式是混合模式。
如图1所示,帧预测模块110可以将相关的插值帧或预测帧(例如,基于其生成MEF115或FBF 117)提供作为预测视频帧119以存储在存储器中、呈现给用户、进一步处理等等。例如,预测视频帧119可以被插入视频序列101中以用于帧率上变频。在另一个示例中,预测视频帧119和/或与预测视频帧相关联的数据(例如,运动向量、运动向量字段、差分运动向量等等)可以被处理并且被编码用于视频压缩。
图5展示了根据本公开的至少部分实现方式安排的示例帧预测模式模块108。如图5所示,帧预测模式模块108可以包括回退计数器模块502和状态模式模块504。如讨论的,运动估计相关性检测模块106可以提供关于视频帧是否为运动估计相关指示符以及如果视频帧是运动估计不相关的则提供类型。在所展示的示例中,运动估计相关性检测模块106可以提供包括在从0到4的范围中的值的回退类型指示符501,然而,可以使用任何适当的指示符。如所示,值为0的回退类型指示符501可以指示视频帧(例如,视频帧201、202)是运动估计相关(例如,未检测到回退或无回退),并且值1、2、3或4可以指示视频帧是非运动估计相关。此外,当视频帧是非运动估计相关时,值1至4中的每个值可以指示一种类型。例如,如所示,值1可以指示场景变化、值2可以指示无运动、值3可以指示快速运动以及值4可以指示困难场景。
帧预测模式模块108可以部分地基于回退类型指示符501确定帧预测模式109。例如,帧预测模式模块108可以经由回退计数器模块502接收回退类型指示符501。回退计数器模块502可以存储并操纵回退计数器(或回退计数器值)。例如,计数器模块502可以基于前一个回退计数器值以及回退类型指示符501确定当前回退计数器值。如所示,在一些示例中,基于回退类型指示符501,回退计数器模块502可以使回退计数器增加、减少或重置为0。例如,回退类型指示符501为1(例如,指示场景变化),则回退计数器可以被重置为0。如果回退类型指示符501为2、3或4(例如,分别指示无运动、快速运动或困难场景),则回退计数器可以增大一定值,如,例如,增大1。在所展示的示例中,回退计数器针对每种类型增大的量相同。在其他示例中,回退计数器可以针对不同的类型增大不同的值。此外,如果回退类型指示符为0(例如,指示视频帧是运动估计相关),则回退计数器可以增大一定值,如,例如,增大1。
如所示,回退计数器模块可以确定当前回退计数器并且可以将其作为回退计数器值503提供至状态模式模块504。如所示,状态模式模块504可以在决策模块510处关于回退计数器值的状态进行判定。例如,如果回退计数器值(FBCV)在最小阈值505处(例如,等于预定最小阈值),则状态模式模块504可以经由针对运动估计/补偿模式模块506的设置将帧预测模式设置为运动估计模式(MEM)511。如果回退计数器值(FBCV)在最大阈值507处(例如,等于预定最大阈值),则状态模式模块504可以经由针对回退模式模块506的设置将帧预测模式设置为回退模式(FBM)513(例如,在其中可以使用重复的视频帧或视频帧混合)。如果回退计数器值在最小阈值与最大阈值之间,则不对模式做出改变(如指示的,经由无变化指示符509)(例如,模式作为运动估计模式或回退模式中的任一者保持不变)。如所示,如关于图1以及在本文的其他地方讨论的,基于判定为无变化509、MEM 511或FBM 513中任一者,状态模式模块504可以提供相应的帧预测模式109(例如,改变为运动估计模式、改变为回退模式或者与之前提供的模式无变化)。
所讨论的最小和最大阈值可以是任何适当的值,这些值提供针对帧预测模式模块108的稳健决策或变化策略。在示例中,最小阈值可以是0并且最大阈值可以是5。如所示,场景变化(例如,回退类型指示符501值为1)可以呈现特殊的结果,所述结果可以将回退计数器值重置为最小阈值并且经由状态模式模块504将帧预测模式109设置为运动估计模式511。例如,回退计数器模块502和状态模式模块504可以提供运动估计模块511与回退模式513之间不那么突然的变化,这可以提供微稳健变化策略从而使得所产生的视频可以包括更少的伪像等等。
可以一起地或单独地执行以上讨论的操作以便经由提供回退在特定的环境中使用重复的或混合的视频帧来在视频处理中管理运动估计。
图6是展示根据本公开的至少部分实现方式安排的用于在视频处理中管理运动估计的示例过程600的流程图。如图6中所示,过程600可以包括一个或多个操作601-604。过程600可以形成用于生成预测视频帧的过程的至少一部分。通过非限制性示例,针对由如在此讨论的系统100采取的一个或多个视频序列,过程600可以形成用于生成预测视频帧的过程的至少一部分。此外,在此将参考图7的系统700描述过程600。
图7是根据本公开的至少部分实现方式安排的示例系统700的原理图。如图7所示,系统700可以包括图形处理单元(GPU)701、一个或多个中央处理单元702以及存储器存储703。同样如所示,GPU 701可以包括区域生成模块102、相平面相关性模块104、运动估计相关性检测模块106、帧预测模式模块108以及帧预测模块110。在系统700的示例中,存储器存储设备703可以存储图像内容,如视频序列101和/或预测视频帧119等等。尽管未在图7中示出,在一些示例中,系统700可以包括用于将视频序列呈现给用户的显示设备。
系统700还可以包括如关于图8和图9以及在本文其他地方所讨论的任何适当的系统,如,例如,计算机、智能TV、移动设备(如智能手机)或平板机等等。如所示,在一些示例中,可以经由GPU 701实现区域生成模块102、相平面相关性模块104、运动估计相关性检测模块106、帧预测模式模块108以及帧预测模块110。在其他示例中,可以经由中央处理单元702实现区域生成模块102、相平面相关性模块104、运动估计相关性检测模块106、帧预测模式模块108以及帧预测模块110中的一个、一些或全部。
图像处理单元701可以包括任意数量和类型的图像处理单元,这些图形处理单元可以提供如在此讨论的操作。这些操作可以经由软件或硬件或其组合来实现。例如,如在此讨论的,图形处理单元701可以包括专门用于操纵来自存储器的视频序列的电路。如在此讨论的,中央处理单元702可以包括任意数量和类型的处理单元或模块,这些处理单元或模块可以为系统700和/或这些操作中的任何操作提供控制以及其他更高级别的功能。存储器存储703可以是任意类型的存储器,如易失性存储器(例如,静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)或非易失性存储器(例如,闪存等)等等。在非限制性示例中,存储器存储703可以由缓存存储器实现。
在实施例中,可以经由图形处理单元701的执行单元(EU)实现区域生成模块102、相平面相关性模块104、运动估计相关性检测模块106、帧预测模式模块108以及帧预测模块110中的一个、一些或全部。EU可以包括例如可编程逻辑或电路,如可以提供广泛的可编程逻辑功能阵列的一个或多个逻辑核。在实施例中,可以经由专用硬件(如固定功能电路等等)实现区域生成模块102、相平面相关性模块104、运动估计相关性检测模块106、帧预测模式模块108以及帧预测模块110中的一个、一些或全部。固定功能电路可以包括专用逻辑或电路并且可以提供固定功能入口点的集合,所述集合可以映射到针对固定目的或功能的专用逻辑。
返回至图6的讨论,过程600可以在操作601(“将视频序列的视频帧划分为相应的区域”)处开始,在该操作中,可以将视频序列的视频帧划分为相应的区域。例如,如在此讨论的,可以经由如由GPU 701实现的区域生成模块102将视频序列101的视频帧201、202划分为区域301、302和/或区域401、402。在一个实施例中,这些区域是全局区域。在另一个实施例中,这些区域是局部区域。
处理可以在操作602(“基于相应的区域生成相平面相关性”)处继续,在该操作中,可以基于相应的区域对生成相平面相关性。例如,如在此讨论的,可以经由如由GPU 701实现的相平面相关性模块104生成相平面相关性105。在一个实施例中,相平面相关性是全局相平面相关性。在另一个实施例中,相平面相关性是局部相平面相关性。在又另一个实施例中,生成局部和全局相平面相关性两者。
处理可以在操作603(“基于相平面相关性判定视频帧是否为运动估计相关”)处继续,在该操作中,可以基于相平面相关性关于视频帧是否为运动估计相关做出判定。例如,如在此讨论的,如由GPU 701实现的运动估计相关性检测模块106可以判定视频帧201、202是否为运动估计相关。在实施例中,如果视频帧不是运动估计相关,则运动估计相关性检测模块106还可以确定非运动估计相关视频帧的类型(例如,场景变化、无运动、快速运动或困难场景等等)。
处理可以在操作604(“基于判定提供帧预测模式指示符”)处继续,在该操作中,可以基于判定提供帧预测模式指示符。例如,如在此讨论的,如由GPU 701实现的帧预测模式模块108可以提供帧预测模式109。在一个实施例中,帧预测模式指示符指示运动估计模式。在另一个实施例中,帧预测模式指示符指示回退模式。可以基于所接收的运动估计相关性检测和/或回退计数器的前一个状态等等来确定帧预测模式指示符。
如讨论的,基于帧预测模式指示符,可以生成插值视频帧或预测视频帧。例如,如果帧预测模式指示符指示运动估计模式,则可以使用运动估计和/或运动补偿技术来生成插值视频帧或预测视频帧(如预测视频帧119),并且如果帧预测模式指示符指示回退模式,则可以使用重复帧或混合帧来生成插值视频帧或预测视频帧(如预测视频帧119)。可以针对任意数量的视频序列串行地或者并行地重复过程900任意次数。
在此描述的系统的各种部件可以用软件、固件和/或硬件,和/或其任意组合来实现。例如,系统100或系统700的各部件可以至少部分地由如可以在计算系统(如,例如,智能电话)中找到的计算片上系统(SoC)提供。本领域这些技术人员可以认识到,在此描述的系统可以包括还未在相应附图中描绘的附加部件。例如,在此讨论的系统可以包括还未为了清楚起见而被描述的附加部件,如比特流复用器或解复用器模块等。
虽然在此讨论的示例过程(例如,过程600或关于图1至图5讨论的那些过程)的实现方式可以包括按所示顺序采取示出的所有操作,但是本公开在这个方面并不限制,并且在各个示例中,此处的示例过程的实现方式可以仅包括所示操作的子集、以与所示顺序不同的顺序执行的操作或附加操作。
此外,在此讨论的任何一个或多个操作可以响应于由一个或多个计算机程序产品提供的指令而被采取。这样的程序产品可以包括提供当由例如处理器执行时可以提供此处所描述的功能的指令的承载信号的介质。计算机程序产品可以由一个或多个机器可读介质的任意形式提供。因此,例如,包括一个或多个图形处理单元或处理器核的处理器可以响应于由一个或多个机器可读介质传达给处理器的程序编码和/或一个或多个指令集采取此处的示例过程的一个或多个块。通常,机器可读介质可以以程序编码和/或一个或多个指令集的形式传达软件,这些程序编码和指令集可以引起在此描述的设备和/或系统中的任意一者实现系统100或700的至少多个部分、或者如在此讨论的任何其他模块或部件。
如在此处所描述的任何实现方式中所使用的,术语“模块”指被配置成用于提供此处所描述的功能的软件逻辑、硬件逻辑和/或电路的任何组合。软件可以体现为软件包、代码和/或指令集或指令,并且如在此处所描述的任何实现中所使用的,“硬件”可以例如单独地或以任何组合地包括硬连线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储由可编程电路执行的指令的固件。这些模块可以统一地或单独地具体化为形成例如,集成电路(IC)、片上系统(SoC)等的较大系统的一部分的电路。
图8是根据本公开的至少部分实现方式安排的示例系统800的原理图。在各实现方式中,尽管系统800不限于此上下文,系统800可以是媒体系统。例如,系统800可以并入个人计算机(PC)、膝上计算机、超级膝上计算机、平板机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备、相机(自动对焦相机、超级变焦相机、数码单镜头反光(DSLR)相机)等。
在各实现方式中,系统800包括耦合到显示器820的平台802。平台802可以接收来自内容设备的内容,如(多个)内容服务设备830或(多个)内容传递设备840或者其他类似内容源。包括一个或多个导航特征的导航控制器850可以用来例如与平台802和/或显示器820交互。以下将更详细地描述这些组件中的每个组件。
在各实现方式中,平台802可以包括芯片组805、处理器810、存储器812、天线813、存储设备814、图形子系统815、应用816和/或无线电818的任意组合。芯片组805可以在处理器810、存储器812、存储设备814、图形子系统815、应用816和/或无线电818之中提供相互通信。例如,芯片组805可以包括能够提供与存储器814的相互通信的存储器适配器(未描绘)。
处理器810可以被实现为复杂指令集计算机(CISC)或精简指令集计算机(RISC)处理器、x86指令集兼容处理器、多核或任何其他微处理器或中央处理单元(CPU)。在各实现方式中,处理器810可以是(多个)双核处理器、(多个)双核移动处理器等。
存储器812可以被实现为易失性存储设备,如但不限于随机存取存储器(RAM)、动态随机存储器(DRAM)或静态RAM(SRAM)。
存储器814可以被实现为非易失性存储设备,如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附加存储设备、闪存、电池应急SDRAM(同步DRAM)和/或可接入网络的存储设备。在各实现方式中,存储器814可以包括用于当例如包括多个硬盘驱动器时增加对有价值的数字媒体的存储性能增强型保护的技术。
图形子系统815可以对如用于显示的静态或视频图像执行处理。例如,图形子系统815可以是图形处理单元(GPU)或视觉处理单元(VPU)。可以使用模拟或数字接口来通信地耦合图形子系统815与显示器820。例如,接口可以是高清晰度多媒体接口、显示端口、无线HDMI和/或符合无线HD的技术中的任何一个接口。图形子系统815可以集成到处理器电路810或芯片组805中。在一些实现方式中,图形子系统815可以是通信地耦合至芯片组805的独立设备。
在此描述的图形和/或视频处理技术可以用各种硬件架构实现。例如,图形和/或视频功能可以被集成到芯片组中。替代性地,可以使用分立的图形和/或视频处理器。如又另一种实现方式,图形和/或视频功能可以由通用处理器(包括多核处理器)来提供。在进一步的实施例中,所述功能可以在消费电子设备中实现。
无线电818可以包括能够使用各种适当的无线通信技术发射并接收信号的一个或多个无线电。这种技术可以涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(WLAN)、无线个人局域网(WPAN)、无线城域网(WMAN)、蜂窝网和卫星网。在跨这类网络通信时,无线电818可以根据任意版本的一个或多个可适用标准进行操作。
在各实现方式中,显示器820可以包括任何电视机类型监测器或显示器。显示器820可以包括例如计算机显示屏、触摸屏显示器、视频监视器、电视机类型的设备和/或电视机。显示器820可以是数字的和/或模拟的。在各实现方式中,显示器820可以是全息显示器。并且,显示器820可以是可以接收视觉投影的透明表面。这种投影可以传达各种形式的信息、图像和/或物体。例如,这种投影可以是针对移动增强现实(MAR)应用的视觉覆盖。在一个或多个软件应用816的控制下,平台802可以在显示器820上显示用户界面822。
在各实现方式中,(多个)内容服务设备830可以发起于任意国家的、国际的和/或独立的服务,并因此例如经由互联网可接入平台802。(多个)内容服务设备830可以耦合到平台802和/或显示器820。平台802和/或(多个)内容服务设备830可以耦合到网络860以将媒体信息传达至网络860或从网络860接收(例如,发送和/或接收)。(多个)内容传递设备840也可以耦合到平台802和/或显示器820。
在各实现方式中,(多个)内容服务设备830可以包括有线电视盒、个人电脑、网络、电话、能够传递数字信息和/或内容的启用互联网的设备或应用程序、以及能够在内容提供者与平台802和/或显示器820之间经由网络860或直接地单向或双向传达内容的任意其他类似设备。将理解,内容可以经由网络860单向地和/或双向地来往于系统800中的任何一个组件与内容提供者之间进行通信。内容的示例可以包括任何媒体信息,包括例如视频、音乐、医疗和游戏信息等。
(多个)内容服务设备830可以接收如包含媒体信息、数字信息和/或其他内容的有线电视节目的内容。内容提供者的示例可以包括任何有线或卫星电视或无线电或互联网内容提供者。所提供的示例不意在以任何方式限制根据本公开的实现方式。
在各实现方式中,平台802可以从具有一个或多个导航特征的导航控制器850中接收控制信号。控制器850的导航特征可以用来例如与用户界面822交互。在各实施例中,导航控制器850可以是定位设备,所述定位设备可以是允许用户输入空间(如连续的和多维的)数据到计算机的计算机硬件组件(特别是人机接口设备)。如图形用户界面(GUI)和电视机和监视器的许多系统允许用户使用物理姿势控制计算机或电视机并向计算机或电视机提供数据。
可以通过指针、光标、聚焦环或在显示器上显示的其他视觉指示符的移动在显示器(例如,显示器820)上复制控制器850的导航特征的移动。例如,在软件应用816的控制下,位于导航控制器850上的导航特征可以例如被映射为在用户界面822上显示的虚拟导航特征。在各实施例中,控制器850可以不是独立组件但可以集成在平台802和/或显示器820内。然而,本公开不限于这些元素或此处显示或描述的内容。
在各实现方式中,驱动器(未示出)可以包括使用户能够通过例如在初始启动后启动的按钮的触摸立刻打开和关闭类似电视机的平台802的技术。当平台被“关闭”时,程序逻辑可以允许平台802流出内容到媒体适配器或其他(多个)内容服务设备830或(多个)内容传递设备840。此外,芯片组805可以例如包括用于支持如5.1环绕声音频和/或高清7.1环绕声音频的硬件和/或软件。驱动器可以包括用于集成图形平台的图形驱动器。在各实施例中,图形驱动器可以包括外围组件互连(PCI)快速图形卡。
在各实现方式中,可以对系统800中示出的任何一个或多个组件进行集成。例如,平台802和(多个)内容服务设备830可以是集成的,或者平台802和(多个)内容传递设备840可以是集成的,或者平台802、(多个)内容服务设备830和(多个)内容传递设备840可以例如是集成的。在各实施例中,平台802和显示器820可以是集成单元。例如,显示器820和(多个)内容服务设备830可以是集成的,或者显示器820和(多个)内容传递设备840可以是集成的。这些示例并不意在限制本公开。
在各实施例中,系统800可以被实现为无线系统、有线系统或二者的组合。当被实现为无线系统时,系统800可以包括适合于通过如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑等的无线共享介质进行通信的组件和接口。无线共享介质的示例可以包括无线频谱部分,如RF频谱等。当被实现为有线系统时,系统800可以包括适用于通过有线通信介质(如输入/输出(I/O)适配器、利用相应有线通信介质连接I/O适配器的物理连接器、网络接口卡(NIC)、光盘控制器、视频控制器、音频控制器等)进行通信的组件和接口。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤等。
平台802可以建立一个或多个逻辑或物理信道以传达信息。所述信息可以包括媒体信息和控制信息。媒体信息可以指表示为用户准备的内容的任何数据。例如,内容的示例可以包括来自语音对话、视频会议、流媒体视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文字等的数据。例如,来自语音对话的数据可以是语音信息、沉默时段、背景噪音、舒适噪音、声调等。控制信息可以是指表示针对自动化系统的命令、指令或控制字的任何数据。例如,控制信息可以用于将媒体信息路由通过系统或指示节点以预定方式处理媒体信息。然而,各实施例不限于图8中示出或描述的元素或上下文。
如上所述,系统800可以用变化的物理风格或形成因数来体现。图9展示了可以用其体现系统900的小形成因数设备900的实现方式。例如,在各实施例中,设备900可以被实现为具有无线能力的移动计算设备。例如,移动计算设备可以指具有处理系统和移动电源(如一个或多个电池)的任何设备。
如上所述,移动计算设备的示例可以包括个人计算机(PC)、膝上计算机、超级膝上计算机、平板机、触摸板、便携式计算机、手持式计算机、掌上型计算机、个人数字助理(PDA)、蜂窝电话、组合式蜂窝电话/PDA、电视、智能设备(例如,智能电话、智能平板机或智能电视)、移动互联网设备(MID)、消息设备、数据通信设备、相机(自动对焦相机、超级变焦相机、数码单镜头反光(DSLR)相机)等。
移动计算设备的示例还可以包括被安排来由人穿戴的计算机,如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带夹计算机、臂带计算机、鞋计算机、服装计算机以及其他可穿戴计算机。在各实施例中,例如移动计算设备可以实现为能够执行计算机应用程序、以及语音通信和/或数据通信的智能电话。举例来讲,尽管一些实施例可以用被实现为智能电话的移动计算设备描述,可以理解的是,其他实施例也可以使用其他无线移动计算设备实现。实施例并不局限于本上下文中。
如图9中所示,设备900可以包括外壳902、显示器904、输入/输出(I/O)设备906和天线908。设备900还可以包括导航特征912。显示器904可以包括适合于移动计算设备的用于显示信息的任何适当的显示单元。I/O设备906可以包括用于将信息输入移动计算设备中的任何适当的I/O设备。I/O设备906的示例可以包括字母数字键盘、数字小键盘、触摸板、输入建、按钮、开关、摇杆式开关、麦克风、扬声器、话音识别设备和软件等。信息也可以通过麦克风(未示出)输入到设备900中。这种信息可以由话音识别设备(未示出)数字化。实施例并不局限于本上下文中。
可以使用硬件元件、软件元件、或两者的组合来实现各实施例。硬件元件的示例可以包括:处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括:软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或其任意组合。判定是否使用硬件元件和/或软件元件来实现实施例可以根据多个因数而变化,如预期的计算速率、功率电平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。
可以由机器可读介质上所存储的表属性指令实现至少一个实施例的一个或多个方面,所述指令代表处理器内的各种逻辑,当被机器读取时所述指令致使所述机器制作用于实现在此所描述的技术的逻辑。此类表示(称为“IP核”)可以被存储在有形的机器可读介质上并提供给各顾客或制造设施以加载至实际制作所述逻辑或处理器的制作机器中。
虽然已经参照各实现方式描述了在此阐述的某些特征,并不打算在限制性意义上解释本说明书。因此,本公开涉及的对本领域技术人员而言明显的对在此描述的实现方式以及其他实现方式的各种修改被视为是在本公开的精神和范围内。
下面的示例涉及进一步的实施例。
在一个或多个第一实施例中,一种用于在视频处理中管理运动估计的计算机实现的方法包括:将视频序列的第一视频帧划分为第一区域并且将所述视频序列的第二视频帧划分为与所述第一区域相对应的第二区域;生成多个相平面相关性,其中,所述多个相平面相关性中的每个相平面相关性基于相应的一对第一区域和第二区域;至少部分地基于所述多个相平面相关性判定所述第一视频帧与所述第二视频帧是否为运动估计相关;以及至少部分地基于所述判定提供视频帧预测模式指示符。
进一步针对所述第一实施例,判定所述第一视频帧与所述第二视频帧是否为运动估计相关包括:评估在所述多个相平面相关性中的一个或多个峰值。
进一步针对所述第一实施例,所述方法进一步包括:在生成所述多个相平面相关性之前缩小所述第一区域和所述第二区域的尺寸。
进一步针对所述第一实施例,所述方法进一步包括:在生成所述多个相平面相关性之前缩小所述第一区域和所述第二区域的尺寸和/或将所述第一视频帧划分为第三区域并且将所述第二视频帧划分为与所述第三区域相对应的第四区域,其中,所述第一区域和所述第二区域包括全局区域,并且其中,所述多个相平面相关性包括全局相平面相关性,并且其中,第一区域少于第三区域;以及生成多个局部相平面相关性,其中,所述多个局部相平面相关性中的每个局部相平面相关性基于相应的一对第三区域和第四区域,并且其中,判定所述第一视频帧与所述第二视频帧是否为运动估计兼容至少部分地基于所述多个局部相平面相关性。
进一步针对所述第一实施例,所述方法进一步包括:在生成所述多个相平面相关性之前缩小所述第一区域和所述第二区域的尺寸和/或将所述第一视频帧划分为第三区域并且将所述第二视频帧划分为与所述第三区域相对应的第四区域,其中,所述第一区域和所述第二区域包括全局区域,并且其中,所述多个相平面相关性包括全局相平面相关性,并且其中,第一区域少于第三区域;以及生成多个局部相平面相关性,其中,所述多个局部相平面相关性中的每个局部相平面相关性基于相应的一对第三区域和第四区域,并且其中,判定所述第一视频帧与所述第二视频帧是否为运动估计兼容至少部分地基于所述多个局部相平面相关性,其中,基于与所述多个全局相平面相关性和所述多个局部相平面相关性中的每个相平面相关性的每个最大峰值相关联的每个运动向量同阈值的比较来确定所述第一视频帧与所述第二视频帧为非运动估计相关。
进一步针对所述第一实施例,判定所述第一视频帧与所述第二视频帧是否为运动估计相关包括:基于所述第一相平面相关性的最大峰值与所述第一相平面相关性的平均值之差同第一阈值的比较或者所述第一相平面相关性的所述最大峰值与所述第一相平面相关性的第二大峰值之差同第二阈值的比较中的至少一者判定所述相平面相关性中的一个或多个相平面相关性是否指示强相关性或弱相关性。
进一步针对所述第一实施例,所述第一区域和所述第二区域包括全局区域,其中,当所述多个相平面相关性中的每个相平面相关性指示弱相关性时,确定所述第一视频帧与所述第二视频帧为非运动估计相关,并且其中,针对所述多个相平面相关性中的第一相平面相关性的第一弱相关性是基于所述第一相平面相关性的最大峰值与所述第一相平面相关性的平均值之差同第一阈值的比较或者所述第一相平面相关性的所述最大峰值与所述第一相平面相关性的第二大峰值之差同第二阈值的比较中的至少一者确定的。
进一步针对所述第一实施例,所述第一区域和所述第二区域包括全局区域,其中,当所述多个相平面相关性中的任一个相平面相关性指示快速运动时,确定所述第一视频帧与所述第二视频帧为非运动估计相关,并且其中,针对所述多个相平面相关性中的第一相平面相关性的第一快速运动是基于与所述第一相平面相关性的最大峰值相关联的运动向量同阈值的比较确定的。
进一步针对所述第一实施例,所述第一区域和所述第二区域包括局部区域,并且其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较。
进一步针对所述第一实施例,所述第一区域和所述第二区域包括局部区域,并且其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较,并且其中,所述阈值至少部分地基于所述第一视频帧与所述第二视频帧是否为运动估计相关是自适应的。
进一步针对所述第一实施例,所述第一区域和所述第二区域包括局部区域,并且其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较,并且其中,所述阈值至少部分地基于所述第一视频帧与所述第二视频帧是否为运动估计相关是自适应的,并且其中,所述帧预测模式指示符包括回退模式并且所述阈值在第一值处,其中,指示弱相关性的所述多个全局相平面相关性与所述多个局部相平面相关性的总数小于所述阈值,并且所述方法进一步包括:将所述帧预测模式指示符设置为运动估计模式以及将所述阈值从所述第一值增加至比所述第一值大的第二值。
进一步针对所述第一实施例,所述第一区域和所述第二区域包括局部区域,并且其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较,和/或其中,所述阈值至少部分地基于所述第一视频帧与所述第二视频帧是否为运动估计相关是自适应的。
进一步针对所述第一实施例,所述第一区域和所述第二区域包括全局区域,并且其中,所述多个相平面相关性包括全局相平面相关性,并且所述方法进一步包括:将所述第一视频帧划分为第三区域并且将所述第二视频帧划分为与所述第三区域相对应的第四区域,其中,第一区域少于第三区域;以及生成多个局部相平面相关性,其中,所述多个局部相平面相关性中的每个局部相平面相关性基于相应的一对第三区域和第四区域,其中,判定所述第一视频帧与所述第二视频帧是否为运动估计兼容至少部分地基于所述多个局部相平面相关性。
进一步针对所述第一实施例,所述第一区域和所述第二区域包括全局区域,并且其中,所述多个相平面相关性包括全局相平面相关性,并且所述方法进一步包括:将所述第一视频帧划分为第三区域并且将所述第二视频帧划分为与所述第三区域相对应的第四区域,其中,第一区域少于第三区域;以及生成多个局部相平面相关性,其中,所述多个局部相平面相关性中的每个局部相平面相关性基于相应的一对第三区域和第四区域,其中,判定所述第一视频帧与所述第二视频帧是否为运动估计兼容至少部分地基于所述多个局部相平面相关性,并且其中,基于与所述多个全局相平面相关性和所述多个局部相平面相关性中的每个相平面相关性的每个最大峰值相关联的每个运动向量同阈值的比较来确定所述第一视频帧与所述第二视频帧为非运动估计相关。
进一步针对所述第一实施例,所述方法进一步包括:基于判定所述第一视频帧与所述第二视频帧是否为运动估计相关来确定回退类型指示符,其中,所述回退类型指示符包括以下各项中的至少一项:无回退指示符、场景变化指示符、无动作指示符、快速运动指示符或困难场景指示符,其中,提供所述帧预测模式指示符至少部分地基于所述回退类型指示符。
进一步针对所述第一实施例,基于判定所述第一视频帧与所述第二视频帧是否为运动估计相关来确定回退类型指示符,其中,所述回退类型指示符包括以下各项中的至少一项:无回退指示符、场景变化指示符、无动作指示符、快速运动指示符或困难场景指示符,其中,提供所述帧预测模式指示符至少部分地基于所述回退类型指示符;至少部分地基于所述回退类型指示符和前一个回退计数器值来确定当前回退计数器值,其中,如果所述回退类型指示符是所述场景变化指示符,则所述当前回退计数器值被重置为零;如果所述回退类型指示符是所述无回退指示符,则所述当前回退计数器值是关于所述前一个回退计数器值确定的;并且如果所述回退类型指示符是所述无运动指示符、所述快速运动指示符或所述困难场景指示符中的任一项,则所述当前回退计数器值关于所述前一个回退计数器值增大;以及基于所述当前回退计数器值确定所述帧预测模式指示符,其中,如果所述回退计数器在第一阈值处,则所述帧预测模式指示符被设置为回退模式;如果所述回退计数器在小于所述第一阈值的第二阈值处,则所述帧预测模式指示符被设置为运动估计模式;并且如果所述回退计数器在所述第一阈值与所述第二阈值之间,则所述帧预测模式指示符不变。
进一步针对所述第一实施例,所述方法进一步包括:基于判定所述第一视频帧与所述第二视频帧是否为运动估计相关来确定回退类型指示符,其中,所述回退类型指示符包括以下各项中的至少一项:无回退指示符、场景变化指示符、无动作指示符、快速运动指示符或困难场景指示符,其中,提供所述帧预测模式指示符至少部分地基于所述回退类型指示符;和/或至少部分地基于所述回退类型指示符和前一个回退计数器值来确定当前回退计数器值,其中,如果所述回退类型指示符是所述场景变化指示符,则所述当前回退计数器值被重置为零;如果所述回退类型指示符是所述无回退指示符,则所述当前回退计数器值是关于所述前一个回退计数器值确定的;并且如果所述回退类型指示符是所述无运动指示符、所述快速运动指示符或所述困难场景指示符中的任一项,则所述当前回退计数器值关于所述前一个回退计数器值增大;以及基于所述当前回退计数器值确定所述帧预测模式指示符,其中,如果所述回退计数器在第一阈值处,则所述帧预测模式指示符被设置为回退模式;如果所述回退计数器在小于所述第一阈值的第二阈值处,则所述帧预测模式指示符被设置为运动估计模式;并且如果所述回退计数器在所述第一阈值与所述第二阈值之间,则所述帧预测模式指示符不变。
进一步针对所述第一实施例,确定所述多个相平面相关性中的单独的相平面相关性包括:对单独的第一区域和相应的第二区域应用离散傅立叶变换;确定所述经变换的单独的第一区域与所述经变换的相应的第二区域之间的互功率谱;对所述互功率谱应用离散傅立叶逆变换;以及对所述经逆变换的互功率谱执行快速傅立叶变换移位以生成所述单独的相平面相关性。
进一步针对所述第一实施例,所述帧预测模式指示符包括运动估计模式或回退模式中的至少一者,并且所述方法进一步包括:如果所述帧预测模式指示符包括所述运动估计模式,则使用运动估计基于所述第一帧或所述第二帧中的至少一者生成预测帧;以及如果所述帧预测模式指示符包括所述回退模式,则基于重复所述第一帧或所述第二帧或者将所述第一帧与所述第二帧进行混合中的至少一项生成第二预测帧。
在一个或多个第二实施例中,一种用于在计算设备上管理运动估计的系统包括:显示设备,所述显示设备被配置成用于呈现视频序列;以及图形处理单元,所述图形处理单元耦合至所述显示设备,其中,所述图形处理单元包括:区域生成电路,所述区域生成电路被配置成用于将视频序列的第一视频帧划分为第一区域并且将所述视频序列的第二视频帧划分为与所述第一区域相对应的第二区域;相平面相关性电路,所述相平面相关性电路被配置成用于生成多个相平面相关性,其中,所述多个相平面相关性中的每个相平面相关性基于相应的一对第一区域和第二区域;运动估计相关性检测电路,所述运动估计相关性检测电路被配置成用于至少部分地基于所述多个相平面相关性判定所述第一视频帧与所述第二视频帧是否为运动估计相关;以及帧预测模式电路,所述帧预测模式电路被配置成用于至少部分地基于所述判定提供视频帧预测模式指示符。
进一步针对所述第二实施例,所述运动估计相关性检测电路被配置成用于判定所述第一视频帧与所述第二视频帧是否为运动估计相关包括:所述运动估计相关性检测电路被配置成用于基于所述第一相平面相关性的最大峰值与所述第一相平面相关性的平均值之差同第一阈值的比较或者所述第一相平面相关性的所述最大峰值与所述第一相平面相关性的第二大峰值之差同第二阈值的比较中的至少一者判定所述相平面相关性中的一个或多个相平面相关性是否指示强相关性或弱相关性。
进一步针对所述第二实施例,所述第一区域和所述第二区域包括全局区域,其中,当所述多个相平面相关性中的每个相平面相关性指示弱相关性时,确定所述第一视频帧与所述第二视频帧为非运动估计相关,并且其中,针对所述多个相平面相关性中的第一相平面相关性的第一弱相关性是基于所述第一相平面相关性的最大峰值与所述第一相平面相关性的平均值之差同第一阈值的比较或者所述第一相平面相关性的所述最大峰值与所述第一相平面相关性的第二大峰值之差同第二阈值的比较中的至少一者确定的。
进一步针对所述第二实施例,所述第一区域和所述第二区域包括全局区域,其中,当所述多个相平面相关性中的任一个相平面相关性指示快速运动时,确定所述第一视频帧与所述第二视频帧为非运动估计相关,并且其中,针对所述多个相平面相关性中的第一相平面相关性的第一快速运动是基于与所述第一相平面相关性的最大峰值相关联的运动向量同阈值的比较确定的。
进一步针对所述第二实施例,所述第一区域和所述第二区域包括全局区域,并且其中,所述多个相平面相关性包括全局相平面相关性,其中,所述区域生成电路进一步被配置成用于将所述第一视频帧划分为第三区域并且将所述第二视频帧划分为与所述第三区域相对应的第四区域,其中,第一区域少于第三区域,其中,所述相平面相关性电路进一步被配置成用于生成多个局部相平面相关性,其中,所述多个局部相平面相关性中的每个局部相平面相关性基于相应的一对第三区域和第四区域,并且其中,所述运动估计相关性检测电路进一步被配置成用于至少部分地基于所述多个局部相平面相关性判定所述第一视频帧与所述第二视频帧是否为运动估计兼容。
进一步针对所述第二实施例,所述第一区域和所述第二区域包括全局区域,并且其中,所述多个相平面相关性包括全局相平面相关性,其中,所述区域生成电路进一步被配置成用于将所述第一视频帧划分为第三区域并且将所述第二视频帧划分为与所述第三区域相对应的第四区域,其中,第一区域少于第三区域,其中,所述相平面相关性电路进一步被配置成用于生成多个局部相平面相关性,其中,所述多个局部相平面相关性中的每个局部相平面相关性基于相应的一对第三区域和第四区域,并且其中,所述运动估计相关性检测电路进一步被配置成用于至少部分地基于所述多个局部相平面相关性判定所述第一视频帧与所述第二视频帧是否为运动估计兼容,并且其中,所述运动估计相关性检测电路被配置成用于基于与所述多个全局相平面相关性和所述多个局部相平面相关性中的每个相平面相关性的每个最大峰值相关联的每个运动向量同阈值的比较来判定所述第一视频帧与所述第二视频帧是否为运动估计相关。
进一步针对所述第二实施例,所述第一区域和所述第二区域包括局部区域,并且其中,所述运动估计相关性检测电路被配置成用于基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较来判定所述第一视频帧与所述第二视频帧是否为运动估计相关。
进一步针对所述第二实施例,所述系统进一步包括被配置成用于存储所述输入图像的存储器。
在一个或多个第三实施例中,一种用于在计算设备上提供目标检测的系统包括:显示设备,所述显示设备被配置成用于呈现图像序列;以及图形处理单元,所述图形处理单元耦合至所述显示设备,其中,所述图形处理单元包括:用于将视频序列的第一视频帧划分为第一区域并且将所述视频序列的第二视频帧划分为与所述第一区域相对应的第二区域的装置;用于生成多个相平面相关性的装置,其中,所述多个相平面相关性中的每个相平面相关性基于相应的一对第一区域和第二区域;用于至少部分地基于所述多个相平面相关性来判定所述第一视频帧与所述第二视频帧是否为运动估计相关装置;以及用于至少部分地基于所述判定提供视频帧预测模式指示符的装置。
进一步针对所述第三实施例,所述第一区域和所述第二区域包括局部区域,并且其中,用于判定所述第一视频帧与所述第二视频帧是否为运动估计相关的所述装置基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较来判定所述第一视频帧与所述第二视频帧是否为运动估计相关。
进一步针对所述第三实施例,所述第一区域和所述第二区域包括全局区域,并且其中,所述多个相平面相关性包括全局相平面相关性,并且所述系统进一步包括:用于将所述第一视频帧划分为第三区域并且将所述第二视频帧划分为与所述第三区域相对应的第四区域的装置,其中,第一区域少于第三区域;以及用于生成多个局部相平面相关性的装置,其中,所述多个局部相平面相关性中的每个局部相平面相关性基于相应的一对第三区域和第四区域,其中,判定所述第一视频帧与所述第二视频帧是否为运动估计兼容至少部分地基于所述多个局部相平面相关性。
在一个或多个第四实施例中,至少一种机器可读介质包括多条指令,所述指令响应于在计算设备上被执行而使所述计算设备通过以下各项来管理运动估计:将视频序列的第一视频帧划分为第一区域并且将所述视频序列的第二视频帧划分为与所述第一区域相对应的第二区域;生成多个相平面相关性,其中,所述多个相平面相关性中的每个相平面相关性基于相应的一对第一区域和第二区域;至少部分地基于所述多个相平面相关性判定所述第一视频帧与所述第二视频帧是否为运动估计相关;以及至少部分地基于所述判定提供视频帧预测模式指示符。
进一步针对所述第四实施例,所述第一区域和所述第二区域包括局部区域,并且其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较。
进一步针对所述第四实施例,所述第一区域和所述第二区域包括局部区域,其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较,并且其中,所述阈值至少部分地基于所述第一视频帧与所述第二视频帧是否为运动估计相关是自适应的。
进一步针对所述第四实施例,所述机器可读介质进一步包括多条指令,所述指令响应于在计算设备上被执行而使所述计算设备通过以下各项来管理运动估计:基于判定所述第一视频帧与所述第二视频帧是否为运动估计相关来确定回退类型指示符,其中,所述回退类型指示符包括以下各项中的至少一项:无回退指示符、场景变化指示符、无动作指示符、快速运动指示符或困难场景指示符,其中,提供所述帧预测模式指示符至少部分地基于所述回退类型指示符。
进一步针对所述第四实施例,所述机器可读介质进一步包括多条指令,所述指令响应于在计算设备上被执行而使所述计算设备通过以下各项来管理运动估计:基于判定所述第一视频帧与所述第二视频帧是否为运动估计相关来确定回退类型指示符,其中,所述回退类型指示符包括以下各项中的至少一项:无回退指示符、场景变化指示符、无动作指示符、快速运动指示符或困难场景指示符,其中,提供所述帧预测模式指示符至少部分地基于所述回退类型指示符;至少部分地基于所述回退类型指示符和前一个回退计数器值来确定当前回退计数器值,其中,如果所述回退类型指示符是所述场景变化指示符,则所述当前回退计数器值被重置为零;如果所述回退类型指示符是所述无回退指示符,则所述当前回退计数器值是关于所述前一个回退计数器值确定的;并且如果所述回退类型指示符是所述无运动指示符、所述快速运动指示符或所述困难场景指示符中的任一项,则所述当前回退计数器值关于所述前一个回退计数器值增大;以及基于所述当前回退计数器值确定所述帧预测模式指示符,其中,如果所述回退计数器在第一阈值处,则所述帧预测模式指示符被设置为回退模式;如果所述回退计数器在小于所述第一阈值的第二阈值处,则所述帧预测模式指示符被设置为运动估计模式;并且如果所述回退计数器在所述第一阈值与所述第二阈值之间,则所述帧预测模式指示符不变。
在一个或多个第五实施例中,至少一种机器可读介质可以包括多条指令,所述指令响应于在计算设备上被执行而使所述计算设备执行根据以上实施例中的任一个实施例的方法。
在一个或多个第六实施例中,一种装置可以包括:用于执行根据以上实施例中的任一个实施例的方法的装置。
将认识到,这些实施例不局限于如此描述的这些实施例,而是可以在不背离所附权利要求书的范围的情况下通过修改和变更来实践。例如,以上实施例可以包括特征的特定组合。然而,以上实施例不局限于这个方面,并且在各实现方式中,以上实施例可以包括仅采取这类特征的子集、采取这类特征的不同顺序、采取这类特征的不同组合和/或采取除了明确例举的那些特征之外的附加特征。因此,这些实施例的范围应该参照所附权利要求来确定,连同考虑这些权利要求有资格考虑的等效物的全部范围。
Claims (25)
1.一种用于在视频处理中管理运动估计的计算机实现的方法,所述方法包括:
将视频序列的第一视频帧划分为第一区域并且将所述视频序列的第二视频帧划分为与所述第一区域相对应的第二区域;
生成多个相平面相关性,其中,所述多个相平面相关性中的每个相平面相关性基于相应的一对第一区域和第二区域;
至少部分地基于所述多个相平面相关性判定所述第一视频帧与所述第二视频帧是否为运动估计相关;以及
至少部分地基于所述判定提供视频帧预测模式指示符。
2.如权利要求1所述的方法,其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关包括:评估在所述多个相平面相关性中的一个或多个峰值。
3.如权利要求1所述的方法,进一步包括在生成所述多个相平面相关性之前:
缩小所述第一区域和所述第二区域的尺寸。
4.如权利要求1所述的方法,其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关包括基于以下中的至少一者判定所述相平面相关性中的一个或多个相平面相关性是否指示强相关性或弱相关性:所述第一相平面相关性的最大峰值与所述第一相平面相关性的平均值之差同第一阈值的比较;或者所述第一相平面相关性的所述最大峰值与所述第一相平面相关性的第二大峰值之差同第二阈值的比较。
5.如权利要求1所述的方法,其中,所述第一区域和所述第二区域包括全局区域,其中,当所述多个相平面相关性中的每个相平面相关性指示弱相关性时,确定所述第一视频帧与所述第二视频帧为非运动估计相关,并且其中,针对所述多个相平面相关性中的第一相平面相关性的第一弱相关性是基于以下中的至少一者确定的:所述第一相平面相关性的最大峰值与所述第一相平面相关性的平均值之差同第一阈值的比较;或者所述第一相平面相关性的所述最大峰值与所述第一相平面相关性的第二大峰值之差同第二阈值的比较。
6.如权利要求1所述的方法,其中,所述第一区域和所述第二区域包括全局区域,其中,当所述多个相平面相关性中的任一个相平面相关性指示快速运动时,确定所述第一视频帧与所述第二视频帧为非运动估计相关,并且其中,针对所述多个相平面相关性中的第一相平面相关性的第一快速运动是基于与所述第一相平面相关性的最大峰值相关联的运动向量同阈值的比较确定的。
7.如权利要求1所述的方法,其中,所述第一区域和所述第二区域包括局部区域,并且其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关是基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较。
8.如权利要求7所述的方法,其中,所述阈值至少部分地基于所述第一视频帧与所述第二视频帧是否为运动估计相关而是自适应的。
9.如权利要求8所述的方法,其中,所述帧预测模式指示符包括回退模式并且所述阈值在第一值处,其中,指示弱相关性的所述多个全局相平面相关性与所述多个局部相平面相关性的总数小于所述阈值,所述方法进一步包括:
将所述帧预测模式指示符设置为运动估计模式;以及
将所述阈值从所述第一值增加至比所述第一值大的第二值。
10.如权利要求1所述的方法,其中,所述第一区域和所述第二区域包括全局区域,并且其中,所述多个相平面相关性包括全局相平面相关性,所述方法进一步包括:
将所述第一视频帧划分为第三区域并且将所述第二视频帧划分为与所述第三区域相对应的第四区域,其中,第一区域少于第三区域;以及
生成多个局部相平面相关性,其中,所述多个局部相平面相关性中的每个局部相平面相关性基于相应的一对第三区域和第四区域,
其中,判定所述第一视频帧与所述第二视频帧是否为运动估计兼容是至少部分地基于所述多个局部相平面相关性。
11.如权利要求10所述的方法,其中,基于与所述多个全局相平面相关性和所述多个局部相平面相关性中的每一个的每个最大峰值相关联的每个运动向量同阈值的比较来确定所述第一视频帧与所述第二视频帧为非运动估计相关。
12.如权利要求1所述的方法,进一步包括:
基于判定所述第一视频帧与所述第二视频帧是否为运动估计相关来确定回退类型指示符,其中,所述回退类型指示符包括以下各项中的至少一项:无回退指示符、场景变化指示符、无动作指示符、快速运动指示符或困难场景指示符,其中,提供所述帧预测模式指示符至少部分地基于所述回退类型指示符。
13.如权利要求12所述的方法,进一步包括:
至少部分地基于所述回退类型指示符和前一个回退计数器值来确定当前回退计数器值,其中:
如果所述回退类型指示符是所述场景变化指示符,则所述当前回退计数器值被重置为零,
如果所述回退类型指示符是所述无回退指示符,则所述当前回退计数器值是相对于所述前一个回退计数器值确定的,并且
如果所述回退类型指示符是所述无运动指示符、所述快速运动指示符或所述困难场景指示符中的任一项,则所述当前回退计数器值相对于所述前一个回退计数器值增大,以及
基于所述当前回退计数器值确定所述帧预测模式指示符,其中:
如果所述回退计数器在第一阈值处,则所述帧预测模式指示符被设置为回退模式,
如果所述回退计数器在小于所述第一阈值的第二阈值处,则所述帧预测模式指示符被设置为运动估计模式,并且
如果所述回退计数器在所述第一阈值与所述第二阈值之间,则所述帧预测模式指示符不变。
14.如权利要求1所述的方法,其中,确定所述多个相平面相关性中的个体相平面相关性包括:
对个体第一区域和相应的第二区域应用离散傅立叶变换;
确定所述经变换的个体第一区域与所述经变换的相应的第二区域之间的互功率谱;
对所述互功率谱应用离散傅立叶逆变换;以及
对所述经逆变换的互功率谱执行快速傅立叶变换移位以生成所述个体相平面相关性。
15.如权利要求1所述的方法,其中,所述帧预测模式指示符包括运动估计模式或回退模式中的至少一者,所述方法进一步包括:
如果所述帧预测模式指示符包括所述运动估计模式,则使用运动估计基于所述第一帧或所述第二帧中的至少一者生成预测帧;以及
如果所述帧预测模式指示符包括所述回退模式,则基于重复所述第一帧或所述第二帧或者将所述第一帧与所述第二帧进行混合中的至少一项生成第二预测帧。
16.一种用于在计算设备上管理运动估计的系统,所述系统包括:
显示设备,所述显示设备被配置成用于呈现视频序列;以及
图形处理单元,所述图形处理单元耦合至所述显示设备,其中,所述图形处理单元包括:
区域生成电路,所述区域生成电路被配置成用于将视频序列的第一视频帧划分为第一区域并且将所述视频序列的第二视频帧划分为与所述第一区域相对应的第二区域;
相平面相关性电路,所述相平面相关性电路被配置成用于生成多个相平面相关性,其中,所述多个相平面相关性中的每个相平面相关性基于相应的一对第一区域和第二区域;
运动估计相关性检测电路,所述运动估计相关性检测电路被配置成用于至少部分地基于所述多个相平面相关性判定所述第一视频帧与所述第二视频帧是否为运动估计相关;以及
帧预测模式电路,所述帧预测模式电路被配置成用于至少部分地基于所述判定提供视频帧预测模式指示符。
17.如权利要求16所述的系统,其中,所述运动估计相关性检测电路被配置成用于判定所述第一视频帧与所述第二视频帧是否为运动估计相关包括所述运动估计相关性检测电路被配置成用于基于以下中的至少一者判定所述相平面相关性中的一个或多个相平面相关性是否指示强相关性或弱相关性:所述第一相平面相关性的最大峰值与所述第一相平面相关性的平均值之差同第一阈值的比较;或者所述第一相平面相关性的所述最大峰值与所述第一相平面相关性的第二大峰值之差同第二阈值的比较。
18.如权利要求16所述的系统,其中,所述第一区域和所述第二区域包括全局区域,其中,当所述多个相平面相关性中的每个相平面相关性指示弱相关性时,确定所述第一视频帧与所述第二视频帧为非运动估计相关,并且其中,针对所述多个相平面相关性中的第一相平面相关性的第一弱相关性是基于以下中的至少一者确定的:所述第一相平面相关性的最大峰值与所述第一相平面相关性的平均值之差同第一阈值的比较;或者所述第一相平面相关性的所述最大峰值与所述第一相平面相关性的第二大峰值之差同第二阈值的比较。
19.如权利要求16所述的系统,其中,所述第一区域和所述第二区域包括全局区域,其中,当所述多个相平面相关性中的任一个相平面相关性指示快速运动时,确定所述第一视频帧与所述第二视频帧为非运动估计相关,并且其中,针对所述多个相平面相关性中的第一相平面相关性的第一快速运动是基于与所述第一相平面相关性的最大峰值相关联的运动向量同阈值的比较确定的。
20.一种用于在计算设备上提供目标检测的系统,所述系统包括:
显示设备,所述显示设备被配置成用于呈现图像数据;以及
图形处理单元,所述图形处理单元耦合至所述显示设备,其中,所述图形处理单元包括:
用于将视频序列的第一视频帧划分为第一区域并且将所述视频序列的第二视频帧划分为与所述第一区域相对应的第二区域的装置;
用于生成多个相平面相关性的装置,其中,所述多个相平面相关性中的每个相平面相关性是基于相应的一对第一区域和第二区域;
用于至少部分地基于所述多个相平面相关性判定所述第一视频帧与所述第二视频帧是否为运动估计相关的装置;以及
用于至少部分地基于所述判定提供视频帧预测模式指示符的装置。
21.如权利要求20所述的系统,其中,所述第一区域和所述第二区域包括局部区域,并且其中,用于判定所述第一视频帧与所述第二视频帧是否为运动估计相关的所述装置基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较来判定所述第一视频帧与所述第二视频帧是否为运动估计相关。
22.如权利要求20所述的系统,其中,所述第一区域和所述第二区域包括全局区域,并且其中,所述多个相平面相关性包括全局相平面相关性,所述系统进一步包括:
用于将所述第一视频帧划分为第三区域并且将所述第二视频帧划分为与所述第三区域相对应的第四区域的装置,其中,第一区域少于第三区域;以及
用于生成多个局部相平面相关性的装置,其中,所述多个局部相平面相关性中的每个局部相平面相关性是基于相应的一对第三区域和第四区域,
其中,判定所述第一视频帧与所述第二视频帧是否为运动估计兼容是至少部分地基于所述多个局部相平面相关性。
23.至少一种机器可读介质,包括多条指令,所述指令响应于在计算设备上被执行而使所述计算设备通过以下各项来管理运动估计:
将视频序列的第一视频帧划分为第一区域并且将所述视频序列的第二视频帧划分为与所述第一区域相对应的第二区域;
生成多个相平面相关性,其中,所述多个相平面相关性中的每个相平面相关性是基于相应的一对第一区域和第二区域;
至少部分地基于所述多个相平面相关性判定所述第一视频帧与所述第二视频帧是否为运动估计相关;以及
至少部分地基于所述判定提供视频帧预测模式指示符。
24.如权利要求23所述的机器可读介质,其中,所述第一区域和所述第二区域包括局部区域,并且其中,判定所述第一视频帧与所述第二视频帧是否为运动估计相关是基于指示弱相关性的所述多个局部相平面相关性的数量与阈值的比较。
25.如权利要求24所述的机器可读介质,其中,所述阈值至少部分地基于所述第一视频帧与所述第二视频帧是否为运动估计相关而是自适应的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/252,944 US9275468B2 (en) | 2014-04-15 | 2014-04-15 | Fallback detection in motion estimation |
US14/252,944 | 2014-04-15 | ||
PCT/US2015/022542 WO2015160485A1 (en) | 2014-04-15 | 2015-03-25 | Fallback detection in motion estimation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106105214A true CN106105214A (zh) | 2016-11-09 |
CN106105214B CN106105214B (zh) | 2020-06-30 |
Family
ID=54265502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580014284.2A Active CN106105214B (zh) | 2014-04-15 | 2015-03-25 | 用于运动估计中的回退检测的方法、系统和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9275468B2 (zh) |
EP (1) | EP3132608B1 (zh) |
CN (1) | CN106105214B (zh) |
BR (1) | BR112016021186B1 (zh) |
WO (1) | WO2015160485A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424598B1 (en) | 2013-12-02 | 2016-08-23 | A9.Com, Inc. | Visual search in a controlled shopping environment |
US9536161B1 (en) * | 2014-06-17 | 2017-01-03 | Amazon Technologies, Inc. | Visual and audio recognition for scene change events |
DE102020129908A1 (de) | 2020-11-12 | 2022-05-12 | Mekra Lang Gmbh & Co. Kg | Indirektes Schichtsystem und Verfahren zum Anpassen einer Bildwiederholungsrate |
US20240098216A1 (en) * | 2022-09-20 | 2024-03-21 | Nvidia Corporation | Video frame blending |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100008423A1 (en) * | 2008-07-09 | 2010-01-14 | Vipin Namboodiri | Method and Apparatus for Periodic Structure Handling for Motion Compensation |
EP2207139A1 (en) * | 2009-01-09 | 2010-07-14 | Vestel Elektronik Sanayi ve Ticaret A.S. | Motion estimation by a new and adaptive hierarchical phase correlation |
US20120162439A1 (en) * | 2010-12-23 | 2012-06-28 | Stmicroelectronics Asia Pacific Pte Ltd. | Apparatus and method for exotic cadence detection |
CN104053005A (zh) * | 2013-03-11 | 2014-09-17 | 英特尔公司 | 使用分级相平面相关性和块匹配的运动估计 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004234423A (ja) * | 2003-01-31 | 2004-08-19 | Seiko Epson Corp | ステレオ画像処理方法およびステレオ画像処理装置、並びにステレオ画像処理プログラム |
US8000392B1 (en) | 2004-02-27 | 2011-08-16 | Vbrick Systems, Inc. | Phase correlation based motion estimation in hybrid video compression |
JP4254802B2 (ja) | 2006-05-11 | 2009-04-15 | ソニー株式会社 | 画像処理装置および方法、プログラム並びに記録媒体 |
US8553758B2 (en) | 2007-03-02 | 2013-10-08 | Sony Corporation | Motion parameter engine for true motion |
US20090167958A1 (en) | 2007-12-28 | 2009-07-02 | Ati Technologies Ulc | System and method of motion vector estimation using content associativity |
US8184200B1 (en) * | 2008-04-22 | 2012-05-22 | Marvell International Ltd. | Picture rate conversion system for high definition video |
US8295607B1 (en) * | 2008-07-09 | 2012-10-23 | Marvell International Ltd. | Adaptive edge map threshold |
EP2499615A4 (en) * | 2009-11-11 | 2013-08-28 | Cinnafilm Inc | SINGLE FRAME ARTEFACT FILTERING AND MOTION DETERMINATION |
US20110255599A1 (en) | 2010-04-15 | 2011-10-20 | Sony Corporation | Apparatus and method for motion estimation |
GB2479933B (en) * | 2010-04-30 | 2016-05-25 | Snell Ltd | Motion estimation |
US9241160B2 (en) | 2010-07-21 | 2016-01-19 | Dolby Laboratories Licensing Corporation | Reference processing using advanced motion models for video coding |
US8792559B2 (en) * | 2010-10-26 | 2014-07-29 | Sony Corporation | Method to improve accuracy and reliability of motion estimated with phase correlation |
GB2489202B (en) * | 2011-03-11 | 2016-06-29 | Snell Ltd | Analysis of stereoscopic images |
US8600178B1 (en) * | 2011-06-24 | 2013-12-03 | Pixelworks, Inc. | Global motion vector calculation using phase plane correlation |
-
2014
- 2014-04-15 US US14/252,944 patent/US9275468B2/en not_active Expired - Fee Related
-
2015
- 2015-03-25 WO PCT/US2015/022542 patent/WO2015160485A1/en active Application Filing
- 2015-03-25 EP EP15780398.2A patent/EP3132608B1/en active Active
- 2015-03-25 BR BR112016021186-3A patent/BR112016021186B1/pt active IP Right Grant
- 2015-03-25 CN CN201580014284.2A patent/CN106105214B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100008423A1 (en) * | 2008-07-09 | 2010-01-14 | Vipin Namboodiri | Method and Apparatus for Periodic Structure Handling for Motion Compensation |
EP2207139A1 (en) * | 2009-01-09 | 2010-07-14 | Vestel Elektronik Sanayi ve Ticaret A.S. | Motion estimation by a new and adaptive hierarchical phase correlation |
US20120162439A1 (en) * | 2010-12-23 | 2012-06-28 | Stmicroelectronics Asia Pacific Pte Ltd. | Apparatus and method for exotic cadence detection |
CN104053005A (zh) * | 2013-03-11 | 2014-09-17 | 英特尔公司 | 使用分级相平面相关性和块匹配的运动估计 |
Also Published As
Publication number | Publication date |
---|---|
WO2015160485A1 (en) | 2015-10-22 |
US9275468B2 (en) | 2016-03-01 |
CN106105214B (zh) | 2020-06-30 |
EP3132608A4 (en) | 2017-12-13 |
BR112016021186A2 (zh) | 2017-08-15 |
US20150294479A1 (en) | 2015-10-15 |
EP3132608A1 (en) | 2017-02-22 |
BR112016021186B1 (pt) | 2022-09-13 |
EP3132608B1 (en) | 2019-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10944996B2 (en) | Visual quality optimized video compression | |
US11676278B2 (en) | Deep learning for dense semantic segmentation in video with automated interactivity and improved temporal coherence | |
CN108229277B (zh) | 手势识别、手势控制及多层神经网络训练方法、装置及电子设备 | |
US20200160528A1 (en) | High fidelity interactive segmentation for video data with deep convolutional tessellations and context aware skip connections | |
CN110189246B (zh) | 图像风格化生成方法、装置及电子设备 | |
CN106170979A (zh) | 恒定质量视频编码 | |
US9704254B2 (en) | Stereo image matching by shape preserving filtering of a cost volume in a phase domain | |
CN107925755A (zh) | 针对图像处理进行平面表面检测的方法和系统 | |
CN106255990B (zh) | 用于相机阵列的图像重对焦 | |
CN110751649B (zh) | 视频质量评估方法、装置、电子设备及存储介质 | |
CN108174265B (zh) | 一种360度全景视频的播放方法、装置及系统 | |
CN105874783A (zh) | 用于在帧速率上变频中进行帧重复控制的技术 | |
CN103999096A (zh) | 用于视频数据背景区域的降低的图像质量 | |
CN103997687A (zh) | 用于向视频增加交互特征的技术 | |
CN106575364A (zh) | 使用定向滤波的目标检测 | |
CN104012072B (zh) | 使用运动估计的目标检测 | |
CN106105214A (zh) | 运动估计中的回退检测 | |
CN110414593B (zh) | 图像处理方法及装置、处理器、电子设备及存储介质 | |
CN104094312A (zh) | 对基于测得的知觉质量特性的视频处理算法的控制 | |
KR20220030879A (ko) | 시공간 모델을 이용한 비디오 배경 추정 | |
CN108351962A (zh) | 具有自适应性通道特征的对象检测 | |
Hou et al. | A perceptual quality metric for video frame interpolation | |
CN106686371B (zh) | 一种帧率测试方法、装置、设备及系统 | |
CN112906553B (zh) | 图像处理方法、装置、设备及介质 | |
WO2022043834A1 (en) | Full skeletal 3d pose recovery from monocular camera |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |