CN101326832A - 用于视频编码的可缩放运动估计 - Google Patents
用于视频编码的可缩放运动估计 Download PDFInfo
- Publication number
- CN101326832A CN101326832A CNA2006800463365A CN200680046336A CN101326832A CN 101326832 A CN101326832 A CN 101326832A CN A2006800463365 A CNA2006800463365 A CN A2006800463365A CN 200680046336 A CN200680046336 A CN 200680046336A CN 101326832 A CN101326832 A CN 101326832A
- Authority
- CN
- China
- Prior art keywords
- video block
- concentric regions
- anchor point
- video
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
Abstract
本发明针对用于视频编码的可缩放运动估计技术。根据所述运动估计技术,根据可用的计算资源来缩放运动向量搜索。举例来说,可根据可用的计算资源来动态地调整搜索的范围。当计算资源准许时,可执行更加广泛的搜索。当计算资源匮乏时,所述搜索可能较有限。以此方式,所述可缩放运动估计技术平衡视频质量、计算额外开销和功率消耗。所述可缩放运动估计技术可搜索一系列同心区域,在中心定位点开始并向外移动跨越若干同心区域。根据计算资源来调整针对特定视频帧或宏区块搜索的同心区域的数目。一旦搜索了所述定位点,所述搜索便向外前进到下一同心区域,并按照可用的计算资源的准许继续进行。
Description
技术领域
本发明涉及数字视频编码,且更确切地说涉及用于帧间运动估计的技术。
背景技术
已针对编码数字视频序列建立了许多不同的视频编码标准。举例来说,运动图片专家组(MPEG)已经开发出许多标准,其中包含MPEG-1、MPEG-2和MPEG-4。其它实例包含国际电信联盟(ITU)H.261标准、ITU H.263标准和新兴的ITU H.264标准。这些视频编码标准通常通过用压缩的方式编码数据而支持视频序列的改进的传输效率。压缩会减少需要传输的数据的总量以便有效地传输视频帧。
举例来说,MPEG-4、ITUH.261、ITU H.263和ITU H.264标准支持利用连续视频帧之间的相似性(称为时间或帧间相关性)来提供帧间压缩的视频编码技术。帧间压缩技术通过将基于像素的视频帧表现形式转换成运动表现形式(通常称为运动向量)来利用帧之间的数据冗余。使用帧间技术编码的帧称为P(“预测”)帧或B(“双向”)帧。有些帧或一个帧内的宏区块(MB)是使用非预测性的空间帧内压缩来编码的。帧内编码的帧通常称为I(“内部”)帧。
为了编码视频帧,编码器将视频帧划分成宏区块并搜索相邻视频帧内的宏区块以识别最相似的宏区块。这个称为运动估计的过程需要大量计算。编码器将宏区块之间的差别进行编码,并产生从相邻视频帧中识别出宏区块的运动向量。解码器接收所述运动向量和编码的差别,并执行运动补偿,以便产生视频帧的序列。
发明内容
本发明针对用于视频编码的可缩放运动估计技术。根据所揭示的运动估计技术,根据在搜索时可用的计算资源的量来缩放运动向量搜索。举例来说,可根据可用的计算资源来动态地调整运动向量搜索的范围。当计算资源准许时,可执行更加广泛的搜索。或者,当计算资源匮乏时,搜索可能较有限。以此方式,可缩放的运动估计技术可平衡视频质量、计算额外开销和功率消耗。
可缩放的运动估计技术可经配置以搜索一系列同心区域,在中心定位点处开始并向外移动。在有些实施例中,同心区域的形状可以是菱形的。根据可用的计算资源的量来调整针对特定视频帧或宏区块搜索的同心区域的数目。同心区域以定位在初始运动向量预测处的中心点开始。一旦评估了中心定位点,搜索便向外前进到下一同心区域,并继续进行到可用的计算资源所准许的程度。
上述同心搜索可用许多方式修改。一种变化是对同心区域进行再取样,以便覆盖更广泛的搜索范围,而不会显著地增加搜索数目。举例来说,在第一阶段,对偶数编号区域进行搜索,直到找到最小值为止。接着,在第二阶段,围绕所述最小值对偶数和奇数编号区域均进行搜索。这类搜索可称为多分辨率的同心区域搜索。一旦找到最小值,便可重设同心区域的定位点,以便在搜索的每个阶段将区域的中心定在当前最小值上。
在一个实施例中,本发明提供一种视频编码方法,其包括:在视频区块的阵列内界定定位点;界定以定位点为中心的多个同心区域;评估与同心区域相关联的视频区块以识别相对于待编码的当前视频区块产生最小差别值的视频区块;以及用基于所识别的视频区块的运动向量来编码当前视频区块。
在另一实施例中,本发明提供一种视频编码器,所述视频编码器包括:存储器,其存储视频区块的阵列;以及处理器,其界定以所述视频区块阵列内的定位点为中心的多个同心区域,评估与同心区域相关联的视频区块以识别相对于待编码的当前视频区块产生最小差别值的视频区块,并用基于所识别的视频区块的运动向量来编码当前视频区块。
在额外实施例中,本发明提供一种视频编码器,所述视频编码器包括:界定定位点的装置,其在视频区块阵列内界定定位点;界定同心区域的装置,其界定以定位点为中心的多个同心区域;评估装置,其评估与同心区域相关联的视频区块以识别相对于待编码的当前视频区块产生最小差别值的视频区块;以及编码装置,其用基于所识别的视频区块的运动向量来编码当前视频区块。
在进一步的实施例中,本发明提供一种视频编码方法,其包括:基于可用的计算能力的指示在视频区块搜索空间内选择若干同心区域;以及评估与视频区块搜索空间内的选定数目的同心区域相关联的视频区块,以识别相对于待编码的当前视频区块产生最小差别值的视频区块,并用基于所识别的视频区块的运动向量来编码当前视频区块。
本发明还预期计算机可读媒体,其包括致使形成视频编码器的一个或一个以上处理器执行本文中描述的任一技术的全部或一部分的指令。
以下在附图和描述内容中陈述一个或一个以上实施例的细节。从描述内容和附图以及从权利要求书中将了解其它特征、目的和优点。
附图说明
图1是说明视频编码系统的框图。
图2是说明采用可缩放运动估计技术的视频编码器的框图。
图3是说明经配置以实施可缩放运动估计技术的运动估计单元的框图。
图4A、4B和4C是说明形成可缩放运动估计技术的一部分的同心区域搜索的搜索空间图。
图5是说明形成替代的可缩放运动估计技术的一部分的同心的可移动区域搜索的搜索空间图。
图6是说明使用同心区域搜索的可缩放运动估计技术的流程图。
图7是说明使用具有可移动的定位点的同心区域搜索的可缩放运动估计技术的流程图。
图8是说明使用多分辨率同心区域搜索的可缩放运动估计技术的流程图。
具体实施方式
图1是说明视频编码系统10的框图。如图1所示,系统10包含视频源12、视频编码器14、视频存储器16和视频缓冲器18。视频编码器14实施可缩放运动估计技术。如将描述,视频编码器14根据在搜索时可用的计算资源的量来缩放运动向量搜索。举例来说,视频编码器14根据与视频编码系统10相关联的装置内的可用的计算资源来调整运动向量搜索的范围。当计算资源准许时,可执行更加广泛的搜索。或者,当计算资源匮乏时,搜索可能较有限。以此方式,可缩放运动估计技术平衡视频质量与计算额外开销和功率消耗。
视频源12可以是获得视频序列的视频俘获装置,例如相机,或者是存储预先记录的视频序列的视频档案库。视频编码器14在视频编码过程期间将从视频源12获得的视频数据存储在视频存储器16中。视频编码器14可经配置以支持根据多种视频压缩技术中的任一种的视频编码,所述视频压缩技术例如MPEG-4、ITU H.261、ITU H.263和ITUH.264标准中概述的技术。视频编码系统10可进一步包含音频编码功能性,以准许编码音频和视频两者。视频缓冲器18为编码的视频数据提供输出缓冲器。
可通过有线或无线通信信道来传输编码的视频数据。视频编码系统10可驻存在一装置内,所述装置进一步包含适当的传输、接收、调制解调器和处理电子元件,以便支持有线或无线通信。举例来说,视频编码系统10可驻存在经装备以用于与其它终端通信的无线移动终端或有线终端内。无线移动终端的实例包含移动无线电话、移动个人数字助理(PDA)、移动计算机或其它装备有无线通信能力以及视频编码和/或解码能力的移动装置。有线终端的实例包含台式计算机、视频电话、网络器具、机顶盒、交互式电视等。
视频编码器14实施可缩放运动估计技术,其中根据在搜索时可用的计算资源的量来缩放运动向量搜索的范围。举例来说,所述可缩放的运动估计技术可经配置以搜索一系列同心区域,在中心区域处开始并向外移动。在有些实施例中,所述同心区域的形状可以是同心的菱形。视频编码器34根据可用的计算资源的量来调整针对特定视频帧或宏区块搜索的同心区域的数目。以此方式,运动向量搜索继续进行,以便向外扩展而跨越连续的同心区域到可用的计算资源所准许的程度。一旦识别出满足质量阈值的运动向量或达到根据可用的计算资源确定的搜索限度,视频编码器14便终止运动向量搜索。
视频编码器14可在硬件、软件、固件或其任一组合中实施。举例来说,可在一个或一个以上数字信号处理器(DSP)、微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或任一其它等效的集成或离散逻辑电路以及此类组件的任何组合内实施。术语“处理器”一般可指代任何前述逻辑电路,其是单独的或与其它逻辑电路组合。当在软件中实施时,归于视频编码器14的功能性可实施成计算机可读媒体上的指令,所述计算机可读媒体例如是随机存取存储器(RAM)、只读存储器(ROM)、非易失性随机存取存储器(NVRAM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、磁性媒体、光学媒体等。执行指令以支持本发明描述的功能性的一个或一个以上方面。
视频编码器14将可缩放运动估计技术应用于视频帧内的视频区块。每个视频区块包含编码视频数据的像素的阵列。在有些实施例中,视频区块可以是宏区块或微区块,例如,如依从MPEG-4的视频编码中所界定。宏区块是16乘16的像素阵列。微区块是8乘8的像素阵列。然而,可使用其它视频区块大小。微区块或宏区块中的每个像素可由n位值(例如,8位)来表示,所述n位值界定像素的例如颜色和强度(例如,色度和亮度)等视觉特征。然而,通常只对亮度分量执行运动估计,因为人类视觉对于亮度的变化比对于颜色的变化敏感。因此,为了进行运动估计,整个n位值可将给定像素的亮度量化。
对于当前视频帧中的每个视频区块,视频编码器14搜索存储在视频存储器16中的视频区块,以寻找相邻(前面的或后面的)视频帧,以便识别出相似的视频区块。视频编码器14确定识别出的视频区块与待编码的当前视频区块之间的差别,并使用运动向量来编码当前视频区块,所述运动向量从相邻帧中识别出相对于当前视频区块产生最小差别值的视频区块。最小差别值无需是与当前视频区块密切匹配的视频区块将产生的绝对最小差别值,而是实际评估的那些视频区块之间的最小差别值。当前视频区块与通过运动估计识别出的预测区块之间的差别的编码过程通常称为运动补偿,且这些编码的差别的结果称为残余。以此方式,视频编码器14不是将每个帧编码成独立的图片,而是编码相邻帧之间的差别。运动估计涉及识别相邻帧中的与当前帧中的视频区块最匹配的视频区块。通过使用运动向量来编码视频区块,可显著减少传输视频数据所需的带宽。然而,运动向量搜索需要大量计算,并且对于计算资源和功率消耗造成显著的负荷。
图2是说明采用可缩放运动估计技术的视频编码器14的框图。如图2所示,视频编码器14包含差别单元32、运动估计(ME)单元34、运动补偿(MC)单元36、变换(T)单元38、量化(Q)单元40、反向量化(Q-1)单元42、反向变换(T-1)单元44和加法器46。在各种实施例中,以上描述的视频编码器14的各个组件可实现为一个或一个以上可编程处理器的功能模块、单元或特征,如上所述。如将描述,ME单元34经配置以应用可缩放运动估计技术。所述可缩放运动估计技术可采用本文中描述的中心区域搜索。
进一步参看图2,差别单元36从传入的数字视频帧Fn中减去帧间或帧内预测P以产生差Dn。所述帧间或帧内预测P是从MC单元36获得的。模式选择单元(未图示)确定应向当前视频帧Fn应用帧间还是帧内编码。变换单元38应用标准的压缩变换(例如,离散余弦变换(DCT)),以便将差别单元36的输出Dn变换成频率分量。量化单元40将变换的输出量化以产生X,所述X是一组量化的变换系数。
ME单元34和MC单元36合作以例如根据MPEG-4、ITU H.263或ITU H.264压缩方法对帧Fn执行帧间编码。ME单元34和MC单元36相对于一个或一个以上先前编码的帧支持对传入的帧Fn的标准的帧间编码。确切地说,MC单元36通过来自一个或一个以上先前帧的运动补偿预测来形成帧间预测P。通过反向量化单元42、反向变换单元44和加法器46来编码和重建先前的帧以产生重建的帧。
ME单元34搜索重建的帧的至少一部分,以寻找最紧密地近似于目前帧Fn中的视频区块的视频区块,并产生供MC单元36使用的运动向量(MV)。如图2中进一步展示,ME单元34还接收可用的计算能力的指示并使用这个指示来控制运动向量搜索的范围。以此方式,ME单元34响应于计算能力的可用量,并控制搜索以平衡视频质量与计算额外开销和功率消耗。MC单元36编码当前视频区块与ME单元34产生的运动向量所识别的预测区块之间的差别。
图3是更详细地说明图2的ME单元34的框图。ME单元34经配置以实施本发明描述的可缩放运动估计技术。在图3的实例中,ME单元34包含搜索控制器48、搜索单元50、视频存储器52、搜索存储器54和存储器控制单元56。搜索单元50执行搜索,以识别先前编码的帧内与当前编码的帧内的视频区块相似的视频区块。基于所述搜索,搜索单元50产生一组运动向量,其表征待编码的当前帧与先前编码的与当前帧最紧密匹配的帧之间的差别。
搜索控制器48基于可用计算能力来控制搜索单元50执行的搜索的范围。由搜索单元50执行的搜索需要大量计算。搜索控制器48控制搜索的范围,以便平衡视频质量与计算额外开销和功率消耗。如果(例如)可用的计算能力相对较高,那么搜索控制器48准许进行强调视频质量的扩展搜索。然而,如果可用的计算能力相对较低,那么搜索控制器限制搜索的范围,以避免过多的计算负荷和相关联的功率消耗。
搜索单元50可应用本发明描述的同心区域搜索。根据所述同心区域搜索,搜索单元50在搜索空间中的视频区块的阵列内界定定位点,并界定以所述定位点为中心的多个同心区域。可根据可用的处理能力的指示来选择同心区域的数目。搜索单元50搜索同心区域以评估与同心区域相关联的视频区块,以寻找相对于待编码的当前视频区块的差别。基于这个评估,搜索单元50识别相对于待编码的当前视频区块产生最小差别值的视频区块,并基于所述识别的视频区块产生运动向量。同样,最小差别值是指由搜索单元50评估的视频区块之间的最小差别值,但可能未被评估的视频区块可产生更小的差别值。视频编码器14使用运动估计单元34产生的运动向量来编码当前视频区块。确切地说,通过运动补偿单元36来编码当前视频区块与运动向量所识别的预测区块之间的差别。
搜索单元50从中心区域开始,并接着向外延伸,以便跨越一系列同心区域而应用所述搜索。同样,搜索控制器48基于可用的计算能力来控制搜索单元50搜索的区域的数目。搜索控制器48可随着可用的计算能力的改变而动态地调整搜索单元50搜索的区域的数目。搜索控制器48可基于对视频区块开始搜索时可用的计算能力,针对每个待编码的视频区块而预先确定由搜索单元50搜索的同心区域的数目。
作为替代方案,可在搜索过程期间控制搜索单元50搜索的同心区域的数目。在此情况下,如果可用的计算能力增加或减少,那么可在搜索过程期间分别增加或减少搜索的同心区域的数目。在有些实施例中,搜索可一直继续,直到搜索单元50搜索的区域的数目超过基于可用的计算能力的水平确定的限度为止。搜索单元50搜索的区域的数目也可受区域的最小数目支配,以便即使当可用的计算资源较低时也确保至少最低水平的视频质量。
视频存储器52存储由视频源(例如,视频俘获装置或视频档案库)获得的视频数据。搜索存储器54存储待由搜索单元50搜索的候选视频区块的阵列,以便识别当前视频帧和先前编码的视频帧中的最相似的视频区块。搜索存储器54可存储候选视频区块的整个帧或帧的一部分。候选视频区块是来自参考帧的视频区块,所述参考帧可以是在待编码的当前帧之前或之后的先前编码的帧。
搜索单元50评估与定位点和同心区域相关联的视频区块,以确定相对于待编码的当前视频区块的差别值。候选视频区块与当前视频区块之间的相似性可表达为差别值,例如绝对差总和(SAD)或平方差总和(SSD)量度,其将当前和先前编码的视频帧中的视频区块之间的像素差别量化。举例来说,可将像素差别表达成亮度的差别。
搜索单元50存取搜索存储器,以检索当前帧内的候选视频区块和先前编码的帧的同心区域内的视频区块。由搜索单元50搜索的视频区块的大小可设定成(例如)宏区块或微区块。存储器控制单元56在搜索控制器48的控制下操作,以将视频数据从视频存储器52传递到搜索存储器54,以供搜索单元50在评估候选视频区块时使用。举例来说,搜索控制器48可控制存储器控制单元56,以便将与待由搜索单元50搜索的同心区域相关联的视频区块传递到搜索存储器54。基于来自当前帧的视频区块与先前编码的帧内的视频区块的比较,搜索单元50识别先前编码的帧中最相似的视频区块(即,所评估的视频区块中具有最小差别值的视频区块),并产生识别先前视频区块相对于当前编码的视频区块的位置的运动向量(MV)。
由搜索控制器48接收的计算能力的指示可由多种方式来表达。举例来说,搜索控制器48可接收表达为可从处理器核心获得的供在对给定帧或视频区块的运动估计中使用的循环的数目的计算能力指示。循环的数目可指定每单位时间的循环的数目,或可用于对帧或帧内的视频区块进行运动估计的绝对循环数目。或者,搜索控制器48可接收与可用的处理循环的数目成比例的索引值。举例来说,搜索控制器48可接收以0到n为标度的计算能力索引值,其中0表示没有计算能力可用于运动估计,且n表示计算能力的最大可用性。作为进一步的替代方案,搜索控制器48可接收百分比值,其指示可用于运动估计的最大计算能力的百分比。
可以频繁的间隔来动态地更新计算能力指示。举例来说,可由处理器核心以周期性间隔向搜索控制器48提供更新的计算能力指示。在其它情况下,搜索控制器48可以周期性间隔或在运动估计过程内的不同阶段请求计算能力指示。确切地说,搜索控制器48可在对视频帧的运动估计开始时请求计算能力指示。或者,搜索控制器48可在针对视频帧内的每个视频区块的运动估计开始时请求计算能力指示。搜索控制器48可存取寄存器或其它存储元件,以检索计算能力指示。在此情况下,处理器核心可连续或周期性地向存储元件写入计算能力指示,以供搜索控制器48检索。
作为另一替代,搜索控制器48可接收计算能力指示,作为对稳定状态计算能力的递增的向上/向下调整。举例来说,搜索控制器48不是接收绝对值、索引值或百分比值,而是可接收向上(1)或向下(0)值,其分别指示用于运动估计的计算能力将增加或减少单个固定增量。基于在一段时间内接收的向上/向下调整,搜索控制器48维持对用于运动估计的可用的计算能力的估计,并使用所述估计来控制搜索单元50执行的搜索的范围。
因此,搜索控制器48使用的计算能力指示可采用多种形式中的任一种,只要所述指示大体上用以代表可用于由ME单元34执行的运动估计过程的计算能力即可。在每种情况下,搜索控制器48将可用的计算能力映射到搜索单元50执行的搜索的范围。在同心区域搜索的情况下,搜索的范围可表达成待搜索的区域的数目,从中心区域开始并接着向外延伸而跨越每个同心区域。在这样的意义上搜索同心区域:对与同心区域相关联的视频区块进行评估,以便确定相对于待编码的当前视频区块的差别值。
当(例如)可用的计算能力水平较低时,同心区域搜索只向外延伸到有限的程度。换句话说,搜索单元50只评估与相当于可用的计算能力的若干同心区域相关联的视频区块。当可用的计算能力水平较高时,同心区域搜索可向外延伸得远得多,达到相当于计算能力的若干同心区域,或如果最大计算能力可用的话可能达到最大数目的同心区域。
图4A、4B和4C是说明形成根据本发明的可缩放运动估计技术的一部分的同心区域搜索的搜索空间图。在图4A、4B和4C中,搜索空间界定待编码的视频帧内的视频区块的至少一部分。在图4A中,参考数字57指向一系列相邻的视频区块。所述视频区块以二维阵列在搜索空间内排列,并且其大小可设定成宏区块、微区块或其它区块大小。定位点D0和一系列同心区域D1、D2、D3、D4、D5界定迭代搜索窗口。在图4的实例中,区域D1-D5的形状设定成同心的菱形。定位点D0对应于初始预测的运动向量位置。所述同心菱形区域围绕预测的MV位置定中心。以此方式,同心菱形搜索确立了用以继续进行搜索的次序。
在搜索窗口内,搜索单元50从先前编码的帧中搜索与当前编码的帧内的视频区块最紧密匹配的视频区块。先前编码的帧可称为参考帧。一般来说,搜索单元50计算待编码的帧中的视频区块与搜索窗口内的视频区块之间的差别值,以便识别最相似的视频区块。在操作中,搜索在定位点D0处开始。定位点D0识别参考帧中与待编码的视频区块对准的视频区块(即,其在帧内的位置与待编码的视频区块相同)。或者,在有些实施例中,可基于视频帧内容分析将定位点D0放置在不同位置。在任一情况下,定位点D0均识别出参考帧中将与待编码的当前帧中的视频区块比较的第一视频区块。
定位点D0可识别待评估的视频区块的左上方像素的坐标。举例来说,每个视频区块包含像素的阵列,每个像素均可通过X-Y坐标来寻址。定位点D0识别视频区块59的左上方像素的X-Y坐标。视频区块59在图4A中标上灰色阴影。一旦确定了参考帧的视频区块59与当前帧中待编码的视频区块之间的差别值(例如,SAD或SSD),搜索单元50便将搜索窗口向外扩展,以涵盖第一同心菱形D1识别的视频区块。
菱形D1以定位点D0为中心。菱形D1的周长跨越或包含若干视频区块的左上方的X-Y坐标。如果有充足的计算能力,搜索单元51接下来便评估具有位于菱形D1的周长之上或之内的左上方X-Y坐标的视频区块,任何已被搜索的视频区块除外,例如定位点D0识别的视频区块59。在图4B中将具有位于菱形D1的周长之上或之内的左上方X-Y坐标的视频区块61标上灰色阴影。搜索单元50搜索视频区块61中的最小差别值。
一旦针对菱形D1完成搜索,搜索便向外扩展到同心菱形D2识别的视频区块,前提是有充足的计算能力。在图4C的实例中,搜索单元50搜索菱形D2的周长指定的视频区块。与在菱形D1的情况下一样,菱形D2的周长跨越或涵盖一组视频区块的左上方像素坐标。搜索单元50搜索位于菱形D2的周长之上或之内的视频区块,已作为由定位点D0和同心菱形D1界定的搜索窗口的一部分而搜索的视频区块除外。在菱形D2内搜索的视频区块被标上灰色阴影并由参考数字63来识别。
所述过程以相似的方式向外继续而跨越其余的同心菱形D3、D4、D5,达到可用的计算能力所支持的程度。如果搜索控制器48确定没有充足的计算能力,那么搜索单元50可在任何水平的同心区域搜索处终止搜索。举例来说,在有些情况下,搜索可只延伸到定位点D0识别的视频区块。在其它情况下,在计算能力较大时,根据搜索时可用的计算能力的水平,搜索可延伸到对与同心菱形D1、D2、D3、D4或D5相关联的视频区块的评估。另外,搜索单元50可基于其它约束而终止搜索,所述约束例如是满足差别值阈值、最大迭代约束或最小变化约束。
举例来说,如果视频区块之一产生了满足所需的差别阈值(例如SAD阈值)的差别值,那么搜索单元50可终止搜索。换句话说,如果视频区块之一产生了相对于差别阈值充分小的差别值(例如SAD值),那么可终止搜索。作为另一选项,如果在连续同心区域中获得的最小差别值之间的差别值的变化小于适用的阈值,那么搜索单元50可终止搜索。这个约束可能是基于当同心区域之间的改进较小时不太可能获得较好的视频区块的假设。
图4A到图4C所示的区域在每个区域围绕共同的定位点D0定中心的意义上是同心的。此外,每个同心区域D1到D5可具有相似的形状但大小不同。虽然图4A到图4C展示一定位点D0和五个同心区域D1到D5,但可能存在较小或较大数目的同心区域。相应地,图4A到图4C所示的区域的数目是出于说明的目的而提供的,且不应被认为是限制性的。此外,可使用具有不同形状的同心区域。在有些实施例中,举例来说,可使用圆形、三角形、矩形或不对称的形状。
图5是说明形成替代性可缩放运动估计技术的一部分的同心的可移动菱形搜索的搜索空间图。图5中说明的菱形搜索在其依赖于对同心区域的渐进的、向外搜索以界定用于运动估计的搜索窗口的意义上大体上对应于图4A到图4C所示的搜索。然而,图5进一步说明根据搜索结果移动同心菱形。在搜索从初始定位点D0前进到同心菱形D1且接着前进到同心菱形D2之后,重设定位点。确切地说,在已经搜索了两个同心菱形D1、D2之后,将定位点D0重设成定位点D0′。
新定位点D0′识别在搜索菱形D1、D2期间产生了最小差别值的视频区块的左上方像素坐标。接着围绕新定位点D0′定位同心菱形D1′和D2′以用于额外的搜索。所述过程可通过在已经搜索了新同心菱形D1′和D2′之后将新定位点D0′重设成另一定位点D0″而继续。以此方式,搜索窗口不但同心地向外延伸,而且在搜索的选定阶段移动到视频帧内的新的定位点。
以上出于说明的目的描述了在搜索每两个菱形之后移动定位点D0,但不应将其视为限制性的。事实上,可在已搜索任何数目的同心菱形之后移动定位点。举例来说,可在已搜索三个、四个或更多的同心菱形之后移动定位点。此外,在定位点D0处搜索的视频区块可产生最小的差别值,在此情况下,无需将搜索窗口移动到新定位点D0′。
搜索窗口的移动和围绕每个定位点搜索的同心菱形的数目可受搜索控制器48根据搜索开始时或搜索过程期间可用的计算能力的量而施加的控制支配,如本文中所述。举例来说,搜索控制器48可基于在针对特定帧或视频区块的运动估计开始时可用的计算能力的指示来指定定位点的最大移动数目和待在每个定位点处搜索的同心菱形的最大数目。或者,搜索控制器48可随着可用计算能力的指示的改变而在运动向量搜索过程期间动态地控制移动或同心菱形的数目。在任一情况下,均可根据可用计算能力来缩放同心菱形搜索的范围。
发现最佳运动向量(MV)的可能性通常会随着距初始预测的运动向量位置的距离的增加而减少。通常将预测的MV计算为相对于待编码的视频区块的位置处于左侧和上侧的相邻视频区块的中值。使用穷举搜索从若干视频序列中提取的运动向量的分布展示预测的运动向量是最可能为最佳的候选运动向量。本发明描述的运动估计技术利用了这种认识。当有更多的计算资源可用时,运动向量搜索从初始预测的运动向量候选者开始,并在同心菱形中向外移动。因此,搜索从最可能的候选者(即,初始预测)开始,并跨越同心菱形区域向外移动到可用计算能力所准许的程度。
可用的计算能力的量会影响可执行的运动向量搜索的数目。下表说明在图4A到图4C所示的一组同心菱形D0到D5上的示范性可缩放搜索序列。确切地说,表1展示不同量的计算能力可能实现的不同数目的搜索的搜索序列。
表
可能的搜索数目 搜索序列 |
0 选择预测的MV(D0) |
5<=可能的搜索<13 搜索D0和D1 |
13<=可能的搜索<25 搜索D0、D1和D2 |
25<=可能的搜索<41 搜索D0、D1、D2和D3 |
41<=可能的搜索<51 搜索D0、D1、D2、D3和D4 |
51<=可能的搜索<75 搜索D0、D1、D2、D3、D4和D5 |
如表1中所说明,当因计算能力不充足而没有可用的搜索时,不执行任何搜索。而是,搜索单元50仅仅选择定位点D0识别的运动向量(MV)。如果有五到十二个搜索可用,那么搜索单元50搜索定位点D0和菱形区域D1两者。在此情况下,定位点D0计为一个搜索,且菱形D1指定的四个视频区块计为四个搜索,从而导致总共有五个搜索。如果有十三到二十五个搜索可用,那么搜索单元50搜索定位点D0、第一同心菱形D1和第二同心菱形D2。如果有额外的搜索可用,那么可将搜索向上缩放使得还可搜索外部的同心菱形,例如D3、D4、D5。
可用许多方式来修改图4A到图4C中说明的基本搜索过程。一个变更是提供移动的搜索窗口,如图5所示。另一变更是将同心菱形再取样,以便涵盖更广泛的搜索范围,而不会显著地增加搜索数目。举例来说,在第一阶段,搜索单元50可只搜索偶数编号菱形,例如D0、D2、D4。一旦第一阶段产生了最小差别值,便可将偶数和奇数编号菱形围绕对应于最小值的定位点重新设定中心。接着,在第二阶段,对偶数和奇数编号菱形均进行搜索,以试图识别更好的运动向量。这种类型的搜索可称为多分辨率的菱形搜索,因为其首先涉及对菱形进行再取样,接着一旦将菱形重新设定中心,便对菱形进行完整的搜索。出于举例的目的提供了上述变更。然而,在同心菱形搜索的一般框架内可能有其它变更,如本文中所描述。
图6是说明使用同心区域搜索的可缩放运动估计技术的流程图。图6大体上说明图4A到图4C的搜索空间图所示的过程。如图6所示,搜索单元50将一组同心菱形定位在对应于初始运动向量预测的X-Y坐标处(60)。对应于初始定位点的初始运动向量预测可基于定位于待编码的视频区块附近的左侧和上侧的相邻视频区块的中值。可使用其它用于确定初始定位点的技术。举例来说,可基于位于相对于待编码的当前视频区块的所界定位置的视频区块的运动向量来使用线性或非线性函数选择初始定位点。举例来说,可使用基于视频区块的运动向量的中值函数、平均值函数或加权函数。搜索单元50确定由定位点识别的视频区块与待编码的视频区块之间的差别值。如果所述差别值小于适用的阈值(62),例如SAD阈值,那么可终止搜索。在此情况下,可从定位点选择运动向量(64)。
然而,如果差别值超过差别阈值(62),那么搜索控制器48确定是否有充足的计算能力(66)以将搜索向外缩放到第一同心菱形区域。如果没有充足的计算能力来支持扩展,那么可从定位点选择运动向量(64),即,从初始预测选择。然而,如果有充足的计算能力可用(66),那么搜索控制器48准许搜索单元50将搜索向外扩展并搜索下一菱形以寻找运动向量(68)。如果搜索单元50在所述菱形内找到具有满意的差别值的视频区块(70),那么搜索单元从搜索中选出与相关视频区块相关联的运动向量作为最佳运动向量(76)。
如果未满足差别阈值(70),且尚未到达菱形的末尾(72),且有充足的计算能力(74),那么搜索单元50将搜索向外扩展到下一同心菱形(78)。如果以上条件(70)、(72)、(74)均未满足,那么搜索单元50选择截至所述点为止在搜索中找到的最佳运动向量(76)。一旦将搜索向外扩展(78),搜索单元50便搜索下一菱形(68),并以迭代的方式继续进行运动估计过程,直到满足所述条件(70)、(72)、(74)之一为止,此时搜索终止且选择最佳运动向量(76)。
如果没有充足的计算资源可用,那么搜索可能不完全涵盖同心菱形。在此情况下,有可能可获得次优的运动向量。然而,在许多情况下,最佳或满意的运动向量可能来自定位点或最前面的若干同心菱形。在任一情况下,同心菱形方法均在视频质量与功率和计算资源消耗之间提供折衷。
图7是说明使用具有可移动的定位点的同心区域搜索的可缩放运动估计技术的流程图。图7中说明的技术大体上对应于图6中说明的技术。然而,图7进一步说明同心菱形的定位点的移动,例如,如图5的搜索空间图中所说明。如图7所示,搜索单元50将同心菱形的定位点设定在从初始预测确定的坐标处(80)。搜索单元50接着围绕定位点设定同心菱形的中心(84)。
搜索单元50确定由定位点识别的视频区块与待编码的视频区块之间的差别值。如果所述差别值小于适用的阈值(86),例如SAD阈值,那么可终止搜索。在此情况下,可从定位点选择运动向量(88)。然而,如果差别值超过差别阈值(86),那么搜索控制器48确定是否有充足的计算能力(90)以将搜索向外缩放到第一同心菱形区域。如果没有充足的计算能力来支持扩展,那么可从定位点选择运动向量(88),即从初始预测选择。
然而,如果有充足的计算能力可用(90),那么搜索控制器48准许搜索单元50将搜索向外扩展,并搜索下一菱形以寻找运动向量(92)。如果搜索单元50在菱形内找到具有满意的差别值的视频区块(94),那么搜索单元从搜索中选出与相关视频区块相关联的运动向量作为最佳运动向量(98)。如果未满足差别阈值(94),存在充足的计算能力(96),且尚未到达菱形的末尾(即,外部界限)(100),那么搜索单元50将搜索向外扩展到下一同心菱形(102)。如果条件(94)、(96)均未满足,那么搜索单元50选择截至所述点为止在搜索中找到的最佳运动向量(98)。
如果满足了条件(94)、(96),但尚未到达菱形界限(100),那么搜索单元50根据截至所述点为止从搜索返回的最小差别值来重设定位点(103)。如参看图5所描述,新的定位点可识别在搜索菱形期间产生最小差别值的视频区块的左上方像素坐标。接着围绕重设的定位点定位(即,重新设定其中心)同心菱形(84)以用于额外搜索。以此方式,所述搜索不但以同心的方式向外延伸,而且在搜索的选定阶段移动到视频帧内的新定位点。在重设定位点之前搜索的菱形的数目可改变。在重设之后,搜索从重设的定位点开始继续穿过同心菱形。
当未重设定位点时(103),搜索单元50将搜索向外扩展(102)并搜索下一菱形(92)。扩展和搜索过程以迭代的方式继续进行,直到满足条件(94)、(96)、(100)之一为止。在有些实施例中,也可应用迭代限制,使得所述过程即使在有额外的计算能力可用时也终止。以此方式,搜索控制器48避免了过长或无限的搜索,且特别是避免了不太可能产生较好结果的搜索。在图6和图7的实例中,搜索控制器48在搜索过程期间监视可用的计算资源,并在计算资源耗尽时指导搜索单元50终止搜索。在其它实施例中,搜索控制器48可在搜索开始前指定预定的搜索数目。在此情况下,当同心菱形搜索已耗尽了预定数目的搜索时,搜索终止。可针对每个待编码的视频区块(例如宏区块或微区块)或针对整个帧确立搜索数目。
图8是说明使用多分辨率同心区域搜索的可缩放运动估计技术的流程图。如图8所示,搜索单元50基于参考帧中的将最紧密近似于待编码的当前帧中的视频区块的视频区块的初始预测来设定同心区域搜索的定位点(104)。搜索单元50将一组同心菱形定位在定位点处(106),并接着对奇数编号菱形进行搜索以寻找运动向量(108)。如果将中心定位点指定为D0并将连续的菱形区域指定为D1到Dn,那么奇数编号菱形搜索将延伸到菱形D1、D3、D5等。
一旦识别出奇数编号菱形搜索中考虑的视频区块之间的最小差别值,搜索单元50便根据最小结果来重设定位点(110),并将同心菱形定位在重设的定位点处(112)。搜索单元50接着搜索奇数和偶数编号菱形两者以寻找运动向量(114),并从搜索中选出最佳运动向量(116),即与相对于待编码的视频区块产生最低差别值的视频区块相关联的运动向量。图8说明的多分辨率同心菱形搜索准许对菱形进行再取样搜索,即通过首先仅对奇数菱形进行取样,接下来进行围绕较精调谐的定位点为中心的完全搜索。
已经描述了各种实施例。这些和其它实施例在所附权利要求书的范围内。
Claims (42)
1.一种视频编码方法,其包括:
在视频区块的阵列内界定定位点;
界定以所述定位点为中心的多个同心区域;
评估与所述同心区域相关联的视频区块,以识别相对于待编码的当前视频区块产生最小差别值的视频区块;以及
用基于所述识别的视频区块的运动向量来编码所述当前视频区块。
2.根据权利要求1所述的方法,其中评估视频区块进一步包括评估与所述定位点相关联的视频区块。
3.根据权利要求1所述的方法,其中所述同心区域包含最靠近所述定位点的第一同心区域以及在所述第一同心区域外部的第二同心区域。
4.根据权利要求3所述的方法,其中评估视频区块进一步包括:首先评估与所述定位点相关联的视频区块;以及接着如果与所述定位点相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第一同心区域相关联的视频区块。
5.根据权利要求3所述的方法,其中评估视频区块进一步包括:首先评估与所述定位点相关联的视频区块;接着如果与所述定位点相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第一同心区域相关联的视频区块;以及接着如果与所述定位点和所述第一同心区域相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第二同心区域相关联的视频区块。
6.根据权利要求1所述的方法,其中评估视频区块进一步包括评估与一定数目的所述同心区域相关联的视频区块,所述同心区域的所述数目是根据可用计算能力的指示选择的。
7.根据权利要求1所述的方法,其中界定所述同心区域包括根据可用计算能力的指示来界定所述同心区域的数目。
8.根据权利要求1所述的方法,其进一步包括基于可用计算能力的变化来界定用于待编码的不同视频区块的同心区域的不同数目。
9.根据权利要求1所述的方法,其中评估视频区块进一步包括:首先评估与所述定位点相关联的视频区块;以及接着以从最内部的同心区域开始并向外延伸到与外部同心区域相关联的视频区块的次序评估与所述同心区域相关联的视频区块。
10.根据权利要求9所述的方法,其中评估视频区块进一步包括评估与一定数目的所述同心区域相关联的视频区块,所述同心区域的所述数目是根据可用计算能力的指示来选择的。
11.根据权利要求1所述的方法,其中所述定位点指示所述视频区块中的一个视频区块的像素位置,所述一个视频区块对应于相对于所述待编码的当前视频区块产生最小差别值的所述视频区块的初始预测。
12.根据权利要求1所述的方法,其中所述同心区域中的每一者界定一周长,所述周长指示与所述各个同心区域相关联的所述视频区块中的一些视频区块的像素位置。
13.根据权利要求1所述的方法,其进一步包括:
初始识别相对于所述待编码的当前视频区块产生最小差别值的视频区块;
将所述定位点重新界定到对应于所述初始识别的视频区块的像素位置;以及
将所述同心区域重新界定成以所述重新界定的定位点为中心,
其中评估视频区块进一步包括评估与所述重新界定的同心区域相关联的视频区块,以识别相对于待编码的当前视频区块产生最小差别值的视频区块。
14.根据权利要求1所述的方法,其进一步包括:
评估与所述同心区域的子组相关联的视频区块;
初始识别来自所述同心区域的所述子组的相对于所述待编码的当前视频区块产生最小差别值的视频区块;
将所述定位点重新界定到对应于所述初始识别的视频区块的像素位置;以及
将所述同心区域重新界定成以所述重新界定的定位点为中心,
其中评估视频区块进一步包括评估与所述重新界定的同心区域相关联的视频区块以识别相对于待编码的当前视频区块产生最小差别值的视频区块,所述识别的像素位置;以及传输所述编码的视频帧的传输器。
15.根据权利要求1所述的方法,其进一步包括:如果所述视频区块之一产生了满足阈值的差别值,那么终止对所述视频区块的所述评估。
16.一种视频编码器,其包括:
存储器,其存储视频区块的阵列;以及
处理器,其界定以所述视频区块阵列内的定位点为中心的多个同心区域,评估与所述同心区域相关联的视频区块以识别相对于待编码的当前视频区块产生最小差别值的视频区块,并用基于所述识别的视频区块的运动向量来编码所述当前视频区块。
17.根据权利要求16所述的视频编码器,其中所述处理器单元评估与所述定位点相关联的视频区块。
18.根据权利要求16所述的视频编码器,其中所述同心区域包含最靠近所述定位点的第一同心区域以及在所述第一同心区域外部的第二同心区域。
19.根据权利要求18所述的视频编码器,其中所述处理器首先评估与所述定位点相关联的视频区块,且接着如果与所述定位点相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第一同心区域相关联的视频区块。
20.根据权利要求18所述的视频编码器,其中所述处理器首先评估与所述定位点相关联的视频区块,接着如果与所述定位点相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第一同心区域相关联的视频区块,且接着如果与所述定位点和所述第一同心区域相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第二同心区域相关联的视频区块。
21.根据权利要求16所述的视频编码器,其中所述处理器评估与一定数目的所述同心区域相关联的视频区块,所述同心区域的所述数目是根据可用计算能力的指示选择的。
22.根据权利要求16所述的视频编码器,其中所述处理器界定所述同心区域包括根据可用计算能力的指示来界定所述同心区域的数目。
23.根据权利要求16所述的视频编码器,其中所述处理器基于可用计算能力的变化来界定用于待编码的不同视频区块的同心区域的不同数目。
24.根据权利要求16所述的视频编码器,其中所述处理器首先评估与所述定位点相关联的视频区块,且接着以从最内部的同心区域开始并向外延伸到与外部同心区域相关联的视频区块的次序评估与所述同心区域相关联的视频区块。
25.根据权利要求24所述的视频编码器,其中所述处理器评估与一定数目的所述同心区域相关联的视频区块,所述同心区域的所述数目是根据可用计算能力的指示选择的。
26.根据权利要求16所述的视频编码器,其中所述定位点指示所述视频区块中的一个视频区块的像素位置,所述一个视频区块对应于相对于所述待编码的当前视频区块产生最小差别值的所述视频区块的初始预测。
27.根据权利要求16所述的视频编码器,其中所述同心区域中的每一者界定一周长,所述周长指示与所述各个同心区域相关联的所述视频区块中的一些视频区块的像素位置。
28.根据权利要求16所述的视频编码器,其中所述处理器初始识别相对于所述待编码的当前视频区块产生最小差别值的视频区块;将所述定位点重新界定到对应于所述初始识别的视频区块的像素位置;且将所述同心区域重新界定成以所述重新界定的定位点为中心,且其中评估视频区块进一步包括评估与所述重新界定的同心区域相关联的视频区块,以识别相对于待编码的当前视频区块产生最小差别值的视频区块。
29.根据权利要求16所述的视频编码器,其中所述处理器评估与所述同心区域的子组相关联的视频区块;初始识别来自所述同心区域的所述子组的相对于所述待编码的当前视频区块产生最小差别值的视频区块;将所述定位点重新界定到对应于所述初始识别的视频区块的像素位置;以及将所述同心区域重新界定成以所述重新界定的定位点为中心,其中评估所述视频区块进一步包括评估与所述重新界定的同心区域相关联的视频区块,以识别相对于待编码的当前视频区块产生最小差别值的视频区块。
30.根据权利要求16所述的视频编码器,其中如果所述视频区块之一产生了满足阈值的差别值,那么所述处理器终止对所述视频区块的所述评估。
31.一种视频编码器,其包括:
界定定位点的装置,其在视频区块的阵列内界定定位点;
界定同心区域的装置,其界定以所述定位点为中心的多个同心区域;
评估装置,其评估与所述同心区域相关联的视频区块以识别相对于待编码的当前视频区块产生最小差别值的视频区块;以及
编码装置,其用基于所述识别的视频区块的运动向量来编码所述当前视频区块。
32.根据权利要求31所述的视频编码器,其中所述同心区域包含最靠近所述定位点的第一同心区域以及在所述第一同心区域外部的第二同心区域,且其中所述评估装置首先评估与所述定位点相关联的视频区块,且接着如果与所述定位点相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第一同心区域相关联的视频区块,且接着如果与所述定位点和所述第一同心区域相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第二同心区域相关联的视频区块。
33.根据权利要求31所述的视频编码器,其中所述同心区域的数目是根据可用计算能力的指示界定的。
34.根据权利要求31所述的视频编码器,其进一步包括:
识别装置,其初始识别相对于所述待编码的当前视频区块产生最小差别值的视频区块;
重新界定定位点的装置,其将所述定位点重新界定到对应于所述初始识别的视频区块的像素位置;以及
重新界定同心区域的装置,其将所述同心区域重新界定成以所述重新界定的定位点为中心,
其中所述评估装置评估与所述重新界定的同心区域相关联的视频区块,以识别相对于待编码的当前视频区块产生最小差别值的视频区块。
34.一种包括指令的计算机可读媒体,所述指令致使处理器:
在视频区块的阵列内界定定位点;
界定以所述定位点为中心的多个同心区域;
评估与所述同心区域相关联的视频区块以识别相对于待编码的当前视频区块产生最小差别值的视频区块;以及
用基于所述识别的视频区块的运动向量来编码所述当前视频区块。
35.根据权利要求34所述的计算机可读媒体,其中所述同心区域包含最靠近所述定位点的第一同心区域以及在所述第一同心区域外部的第二同心区域,且其中评估所述视频区块进一步包括:首先评估与所述定位点相关联的视频区块;接着如果与所述定位点相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第一同心区域相关联的视频区块;以及接着如果与所述定位点和所述第一同心区域相关联的所述视频区块不产生小于阈值的差别值,那么评估与所述第二同心区域相关联的视频区块。
37.根据权利要求34所述的计算机可读媒体,其中所述同心区域的数目是根据可用计算能力的指示选择的。
38.根据权利要求34所述的计算机可读媒体,其进一步包括指令,所述指令致使处理器:
初始识别相对于所述待编码的当前视频区块产生最小差别值的视频区块;
将所述定位点重新界定到对应于所述初始识别的视频区块的像素位置;以及
将所述同心区域重新界定成以所述重新界定的定位点为中心,
其中评估视频区块进一步包括评估与所述重新界定的同心区域相关联的视频区块,以识别相对于待编码的当前视频区块产生最小差别值的视频区块。
39.一种视频编码方法,其包括:
基于可用计算能力的指示在视频区块搜索空间内选择一定数目的同心区域;以及
评估与视频区块搜索空间内的所述选定数目的同心区域相关联的视频区块,以识别相对于待编码的当前视频区块产生最小差别值的视频区块;以及
用基于所述识别的视频区块的运动向量编码所述当前视频区块。
40.根据权利要求39所述的方法,其中所述同心区域围绕定位点定中心,且评估视频区块进一步包括评估与所述定位点相关联的视频区块。
41.根据权利要求39所述的方法,其中评估视频区块进一步包括从最内部的同心区域开始来评估视频区块,并将所述评估向外延伸到其它同心区域。
42.根据权利要求39所述的方法,其进一步包括如果所述视频区块之一产生了满足阈值的差别值,那么终止对所述视频区块的所述评估。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/255,433 | 2005-10-20 | ||
US11/255,433 US7852940B2 (en) | 2005-10-20 | 2005-10-20 | Scalable motion estimation for video encoding |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101326832A true CN101326832A (zh) | 2008-12-17 |
Family
ID=37906971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800463365A Pending CN101326832A (zh) | 2005-10-20 | 2006-10-20 | 用于视频编码的可缩放运动估计 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7852940B2 (zh) |
EP (1) | EP1938619A2 (zh) |
JP (1) | JP2009513068A (zh) |
KR (1) | KR100974178B1 (zh) |
CN (1) | CN101326832A (zh) |
WO (1) | WO2007048129A2 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100598093B1 (ko) * | 2003-01-29 | 2006-07-07 | 삼성전자주식회사 | 낮은 메모리 대역폭을 갖는 동영상 압축 장치와 그 방법 |
US20060120612A1 (en) * | 2004-12-08 | 2006-06-08 | Sharath Manjunath | Motion estimation techniques for video encoding |
TW200633539A (en) * | 2005-03-09 | 2006-09-16 | Pixart Imaging Inc | Estimation method of motion vector based on distance weighted searching sequence |
US8761259B2 (en) * | 2005-09-22 | 2014-06-24 | Qualcomm Incorporated | Multi-dimensional neighboring block prediction for video encoding |
WO2007055013A1 (ja) * | 2005-11-11 | 2007-05-18 | Fujitsu Limited | 画像復号化装置および方法、画像符号化装置 |
US8473343B2 (en) * | 2006-07-24 | 2013-06-25 | International Business Machines Corporation | Tracking responses to promotions |
US8098898B2 (en) * | 2006-10-27 | 2012-01-17 | Panasonic Corporation | Motion detection device, MOS (metal-oxide semiconductor) integrated circuit, and video system |
US8649615B2 (en) * | 2007-06-18 | 2014-02-11 | Canon Kabushiki Kaisha | Moving picture compression coding apparatus |
KR101712915B1 (ko) | 2007-10-16 | 2017-03-07 | 엘지전자 주식회사 | 비디오 신호 처리 방법 및 장치 |
US8094714B2 (en) * | 2008-07-16 | 2012-01-10 | Sony Corporation | Speculative start point selection for motion estimation iterative search |
US8144766B2 (en) * | 2008-07-16 | 2012-03-27 | Sony Corporation | Simple next search position selection for motion estimation iterative search |
US8311111B2 (en) | 2008-09-11 | 2012-11-13 | Google Inc. | System and method for decoding using parallel processing |
US8442111B2 (en) * | 2008-11-24 | 2013-05-14 | Nvidia Corporation | Optimal power usage in encoding data streams |
US8880789B2 (en) * | 2008-12-10 | 2014-11-04 | Nvidia Corporation | Optimal power usage in decoding a content stream stored in a secondary storage |
TWI442775B (zh) * | 2009-02-05 | 2014-06-21 | Acer Inc | 執行移動評估之低功率高效能視頻編碼方法 |
TWI389575B (zh) * | 2009-02-18 | 2013-03-11 | Acer Inc | 即時嵌入式多媒體設計之移動評估方法 |
US8488007B2 (en) * | 2010-01-19 | 2013-07-16 | Sony Corporation | Method to estimate segmented motion |
US8285079B2 (en) * | 2010-03-19 | 2012-10-09 | Sony Corporation | Method for highly accurate estimation of motion using phase correlation |
US8738440B2 (en) * | 2010-06-14 | 2014-05-27 | International Business Machines Corporation | Response attribution valuation |
US8862498B2 (en) * | 2010-11-08 | 2014-10-14 | International Business Machines Corporation | Response attribution valuation |
US9445089B2 (en) * | 2011-03-09 | 2016-09-13 | Nippon Telegraph And Telephone Corporation | Video encoding device, video encoding method and video encoding program |
US20120281760A1 (en) * | 2011-05-04 | 2012-11-08 | Hyung Joon Kim | Iterative Grid-Pattern Motion Search |
US8861875B1 (en) * | 2011-07-29 | 2014-10-14 | Teradici Corporation | Method and apparatus for encoding changed image regions |
US20130094567A1 (en) * | 2011-10-18 | 2013-04-18 | Lsi Corporation | Apparatus and methods for performing block matching on a video stream |
TWI461066B (zh) | 2011-11-03 | 2014-11-11 | Ind Tech Res Inst | 彈性調整估算搜尋範圍的移動估算方法及視差估算方法 |
US9100657B1 (en) | 2011-12-07 | 2015-08-04 | Google Inc. | Encoding time management in parallel real-time video encoding |
US9626793B2 (en) * | 2011-12-29 | 2017-04-18 | Intel Corporation | Variable depth compression |
WO2014155738A1 (ja) * | 2013-03-29 | 2014-10-02 | 富士通株式会社 | 符号化装置、コンピュータシステム、符号化方法、符号化プログラム、および記録媒体 |
US10484721B2 (en) * | 2014-03-17 | 2019-11-19 | Qualcomm Incorporated | Method for motion estimation of non-natural video data |
CN106537918B (zh) * | 2014-08-12 | 2019-09-20 | 英特尔公司 | 用于视频编码的运动估计的系统和方法 |
US20160092925A1 (en) * | 2014-09-30 | 2016-03-31 | International Business Machines Corporation | Time interval-based statistically-inferred response attributions |
CN105007493B (zh) * | 2015-07-17 | 2018-06-29 | 珠海市杰理科技股份有限公司 | 基于运动搜索窗的匹配搜索方法和系统 |
US9794574B2 (en) | 2016-01-11 | 2017-10-17 | Google Inc. | Adaptive tile data size coding for video and image compression |
US10542258B2 (en) | 2016-01-25 | 2020-01-21 | Google Llc | Tile copying for video compression |
US11881143B2 (en) * | 2021-10-12 | 2024-01-23 | Meta Platforms Technologies, Llc | Display peak power management for artificial reality systems |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6014181A (en) * | 1997-10-13 | 2000-01-11 | Sharp Laboratories Of America, Inc. | Adaptive step-size motion estimation based on statistical sum of absolute differences |
US7072398B2 (en) * | 2000-12-06 | 2006-07-04 | Kai-Kuang Ma | System and method for motion vector generation and analysis of digital video clips |
US6567469B1 (en) * | 2000-03-23 | 2003-05-20 | Koninklijke Philips Electronics N.V. | Motion estimation algorithm suitable for H.261 videoconferencing applications |
EP1152621A1 (en) * | 2000-05-05 | 2001-11-07 | STMicroelectronics S.r.l. | Motion estimation process and system. |
US6876703B2 (en) * | 2000-05-11 | 2005-04-05 | Ub Video Inc. | Method and apparatus for video coding |
JP2001346216A (ja) * | 2000-06-06 | 2001-12-14 | Toshiba Corp | 動画像圧縮方法および情報処理装置 |
US6842483B1 (en) * | 2000-09-11 | 2005-01-11 | The Hong Kong University Of Science And Technology | Device, method and digital video encoder for block-matching motion estimation |
US20030161400A1 (en) * | 2002-02-27 | 2003-08-28 | Dinerstein Jonathan J. | Method and system for improved diamond motion search |
US7515634B2 (en) | 2002-06-28 | 2009-04-07 | Qualcomm Incorporated | Computationally constrained video encoding |
US7400680B2 (en) * | 2003-09-30 | 2008-07-15 | Intel Corporation | Rectangular-shape motion search |
JP2005253015A (ja) * | 2004-03-08 | 2005-09-15 | Matsushita Electric Ind Co Ltd | 動きベクトル検出装置、動きベクトル検出方法、及びプログラム |
JP4035560B2 (ja) * | 2004-03-31 | 2008-01-23 | 英特維數位科技股▲ふん▼有限公司 | 動き推定方法 |
-
2005
- 2005-10-20 US US11/255,433 patent/US7852940B2/en not_active Expired - Fee Related
-
2006
- 2006-10-20 CN CNA2006800463365A patent/CN101326832A/zh active Pending
- 2006-10-20 KR KR1020087011954A patent/KR100974178B1/ko not_active IP Right Cessation
- 2006-10-20 EP EP06846125A patent/EP1938619A2/en not_active Ceased
- 2006-10-20 JP JP2008536646A patent/JP2009513068A/ja active Pending
- 2006-10-20 WO PCT/US2006/060129 patent/WO2007048129A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20070092006A1 (en) | 2007-04-26 |
WO2007048129A3 (en) | 2007-06-14 |
JP2009513068A (ja) | 2009-03-26 |
KR20080070010A (ko) | 2008-07-29 |
US7852940B2 (en) | 2010-12-14 |
KR100974178B1 (ko) | 2010-08-05 |
WO2007048129A2 (en) | 2007-04-26 |
EP1938619A2 (en) | 2008-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101326832A (zh) | 用于视频编码的可缩放运动估计 | |
CN110870314B (zh) | 用于运动补偿的多个预测器候选 | |
US10306259B2 (en) | Method and an apparatus for processing a video signal | |
CN101313587B (zh) | 用于多媒体编码的模式选择技术 | |
US7643559B2 (en) | Coding method, decoding method, coding apparatus, decoding apparatus, image processing system, coding program, and decoding program | |
KR102606778B1 (ko) | 모션 벡터 리파인먼트 및 모션 보상을 위한 메모리 액세스 윈도우 및 패딩 | |
US20040076333A1 (en) | Adaptive interpolation filter system for motion compensated predictive video coding | |
US9516313B2 (en) | Apparatus and method for coding and decoding image | |
US7924918B2 (en) | Temporal prediction in video coding | |
CN102047665A (zh) | 运动图像编码方法以及运动图像解码方法 | |
CN112055203B (zh) | 帧间预测方法、视频编码方法及其相关装置 | |
US20230026091A1 (en) | Image encoding/decoding method and device | |
US11012689B2 (en) | Intra prediction encoding/decoding method and apparatus for chrominance components | |
KR20130119465A (ko) | 블록 기반의 샘플링 코딩 시스템 | |
CN111527750A (zh) | 用于视频编码和解码中的自适应照明补偿的方法和装置 | |
US20050053139A1 (en) | Method and apparatus for determining reference data unit for predictive video data coding | |
JP7054007B2 (ja) | 符号化装置及びプログラム | |
CN116684578A (zh) | 基于控制点运动矢量的仿射模型优化 | |
CN104253997A (zh) | 框内预测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20081217 |