CN1533675A - 用于子像素运动估计的方法与仪器 - Google Patents

用于子像素运动估计的方法与仪器 Download PDF

Info

Publication number
CN1533675A
CN1533675A CNA028145429A CN02814542A CN1533675A CN 1533675 A CN1533675 A CN 1533675A CN A028145429 A CNA028145429 A CN A028145429A CN 02814542 A CN02814542 A CN 02814542A CN 1533675 A CN1533675 A CN 1533675A
Authority
CN
China
Prior art keywords
sub
search
task
pel
pixels
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
Application number
CNA028145429A
Other languages
English (en)
Inventor
K����Ŭ����
K·潘努索庞
¡
D·M·贝隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arris Technology Inc
Original Assignee
General Instrument Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by General Instrument Corp filed Critical General Instrument Corp
Publication of CN1533675A publication Critical patent/CN1533675A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • H04N5/145Movement estimation

Abstract

本发明提供了用于一像素模块的子象素运动估计的方法与仪器。将在一像素模块的该运动估计过程中的各种全象素与子象素搜索之间的冗余搜索点丢弃。未计算且因而未储存在该冗余搜索点的模块或子模块的匹配成本。

Description

用于子像素运动估计的方法与仪器
技术领域
本发明大体为关于数字数据的压缩。更具体而言,本发明为关于用于为将一数字视频信号编码提供子像素运动估计的方法与仪器。
背景技术
在数字电视系统与其相似物中必须传输大量数字数据。一数字电视信号包括视频、音频以及其他数据(如电子电视节目表(EPG)数据,及其相似物)。为了为这些数字信号提供有效的播放,将数字信号压缩以将必须传输的数据量最小化是有利的。
该电视信号的视频部分包括一视频“帧”序列,其共同提供了一运动的图像。在数字电视系统中,数字数据位,或像素(此处也将其称作“象素”)定义了一视频帧的各行。各视频帧由两个场组成,各场包含该帧的该行的一半。例如,一第一或奇数场将包含该帧所有的奇数编号行,同时一第二或偶数场将包含那个视频帧所有的偶数编号行。需要大量数据以定义一电视信号的各视频帧。例如,需要7.4兆位数据以为一全国电视系统委员会(NTSC)制式信号提供一视频帧。各个原色红、绿、与蓝需要使用一8位强度值的640像素乘480行显示。高清晰度电视要求更多的数据以提供各个视频帧。为了管理这样大量的数据,必须将数据进行压缩。
数字视频压缩技术使得人们能够通过传统通信信道充分传输数字视频信号。这种技术使用了压缩算法,该算法利用了相邻像素之间的相关性衍生出一视频信号中该重要信息的一个更加有效的表示。最强大的压缩系统不仅利用了空间相关,还使用了相邻帧之间的相似性以进一步压缩数据。在该种系统中,使用了动态补偿(也被称作差分编码)以仅传输一实际帧与一实际帧的一预测之间的不同。该预测衍生自该相同视频序列的前(或后)帧。在该种动态补偿系统中,例如,通过将自一当前帧的一模块像素数据与一前帧中的相同模块的数据比较从而衍生出运动矢量。一运动估计器确定了是如何必须将来自该前帧的一模块数据调整以将其在当前帧中使用的。
在视频信号编解码中大量使用了动态补偿以作为利用视频的帧(及/或场)之间暂时冗余的方法。大多数基于视频解码器(例如,那些执行运动图象专家组(MPEG)标准1与2)的标准允许每模块像素有一个或两个编译运动矢量(MV)。由视频编码器中的一运动估计(ME)过程运算这些MV。在参考软件中广泛使用了一种最可靠的ME算法,一完全检索模块匹配算法(FS-BMA),作为一基准。因其试图将检索区域内每个可能候选匹配,FS-BMA要求高运算复杂性,从而使其不使用于一实时视频解码器。在实时解码器中提出并利用了各种“高速“检索算法。这些技术大多通过仅使用检索区域的一个子集以减少检索总数,从而牺牲了检索质量。然而,大多数现存高速算法集中于一全象素分辨率ME,而无法将其应用于半象素。为了达到最终的半象素MV,解码器围绕该快速算法的全象素结果在半象素位置进行一全检索。
为了将动态补偿差别最小化,视频信号编解码应一般利用一密集运动场和精细的MV分辨率。现代视频信号编解码的每个8×8模块象素一般使用了一具有半象素精确度的信号MV。模块尺寸较小(2×2或4×4)且精确度更高(高达第八象素)的MV对于追踪小物体运动很有用处,且当前在下一代视频信号编解码中使用了该种系统。随着MV分辨率增加,搜索点数量也呈级数增加,因此当该MV具有子像素分辨率时,ME的复杂性会更加显著。为了处理这些额外的搜索点,大多数实时解码器采用了一种分级方法,该方法不在所有子像素搜索点执行FS-BMA。反之,其仅会对与一完全象素位置吻合的搜索点进行搜索。然后对来自一全象素搜索点的最匹配候选的半象素位置处的搜索点进行搜索。尽管可以对全象素ME应用一种快速ME算法,大多数编码器在此级别执行全搜索子像素ME的复杂性极其显著。例如,在以下所说明的基线ME方法中,其对于每个16×16模块等于18个子像素搜索点。
基线ME方法一般用于参照软件执行中,其由三个主要任务组成,意即,一个对一16×16模块(一般江一16×16模块称为一宏模块,或“MB”)的全象素搜索,一个对一16×16模块的半象素搜索,和一个对一8×8子模块的半象素搜索。图1显示了该种先前技术基线方法(图1中忽略了边缘效应)的一个实例。在图1中,“×”表示了来自一第一任务的搜索点;“+”表示了来自一第二任务的搜索点;且“○”表示了来自一第三任务的搜索点。该第一任务(16×16全象素搜索)与该当前模块匹配,其每个候选位于该参考帧内的搜索窗口中的全象素搜索处,从而找寻到一个最匹配模块。图1中将来自该第一任务的最匹配模块表示为10。该第一任务的的搜索窗口在与该当前模块相同坐标处居中,且其按照用户所指定的量向各个方向延伸。该第二任务(16×16半象素搜索)与该当前模块匹配,其每个候选位于搜索窗口中的半象素搜索处,从而定位一个新的最匹配半象素模块,图1中将其表示为20。该第二任务搜索的搜索窗口中心位于来自该第一任务的该最匹配模块10的位置,且为了所有九个候选模块(意即,图1中由“+”表示的九个搜索点),其各面均延伸了一半象素。该第三任务(8×8半象素搜索)与当前模块四个子模块(通过将当前的16×16模块划分为四个相等的8×8子模块而获得)匹配,其每个候选位于其相应窗口内的半象素位置,从而获得四个最匹配8×8半象素子模块(在图1中被指定为30、32、34与36)。各个第三任务搜索的搜索窗口中心位于来自该第二任务的最匹配模块20的相应子模块的位置,且对于一总数为九个候选模块,其各个面延伸了一半象素(+/-1*0.5象素)。
提供一个ME算法,其与先前技术的ME过程相比能减少所执行的搜索与计算数量,同时改进或保持搜索质量,这是有利的。通过丢弃在上述的基线方法中所执行的至少两个搜索冗余搜索点之间的冗余搜索点(意即,通过丢弃该第一与第三任务,第二与第三任务,以及第一与第二任务之间的一个冗余搜索点),从而减少搜索与计算,这也是有利的。提供一种易于扩张为更高的子象素分辨率,如一半象素,一四分之一象素,一八分之一象素,以及以上的一种ME过程,这也是有利的。
本发明之方法与仪器提了前述与其他优点。
发明内容
本发明为关于用于提供将一数码视频信号编码的子象素运动估计的方法与仪器。在一第一任务中,在一第一视频帧的一第一预定义搜索区域内实施一全象素搜索,从而定位一最匹配的象素全象素模块,其来自于该第一预定义搜索领域内的许多像素候选模块,其与一第二视频帧内当前的像素模块最为匹配。将该当前像素模块划分为N个当前像素子模块,以用于一第二任务中。在该第二任务中,实施两个搜索:(1)在该第一视频帧的一第二预定义搜索区域的一第一子象素搜索,从而定位N个单独的最匹配子象素像素子模块,其来自于该第二预定义搜索区域中的候选子象素像素子模块,其与相应与该各N个当前像素子模块最为匹配;以及2)在该第二预定义搜索区域内的一第二子象素搜索,从而定位一最匹配的像素子模块,其来自于该第二预定义搜索区域内的许多候选子象素像素模块,其与该第二视频帧内的当前像素模块最为匹配。在一第三任务中,在一第三预定义搜索区域内实施N个单独子象素搜索,从而定位一个新的最匹配子象素像素模块,其来自于各个该N个当前像素子模块的该第三预定义搜索区域许多候选象素像素模块。储存了以下至少一个的搜索点与匹配成本:(1)来自该第一任务的至少一个候选像素模块的搜索点与匹配成本;(2)来自该第二任务的多个候选子象素像素子模块的搜索点与匹配成本;(3)来自该第二任务的至少一个候选子象素像素子模块的搜索点与匹配成本;以及(4)来自该第三任务的多个候选子象素像素子模块的搜索点与匹配成本。
然而,未储存在以下项目的之间的至少一个的冗余搜索点:(1)进行第三任务时的该第一与第三任务之间;(2)进行该第二任务时的该第一与第二任务之间;以及(3)进行该第三任务时的该第二与第三任务之间,从而使得这些冗余搜索点的匹配成本未被储存。这样,与传统先前技术的全搜索相比,降低了搜索时间与处理成本。
尽管此处结合帧见的搜索说明了本发明,仍然应当了解还可以(或视情况)在相同帧的不同的场之间进行搜索。在说明与权利要求书中对于“帧”一词的使用可涵盖任意一执行方法;意即,在不同帧之间的搜索,或在相同帧或不同帧的不同场之间的搜索。
图式简单说明
此候将结合所附图示说明本发明,其中相同数字代表相同元件,以及:
图1显示了一先前技术的运动估计技术;
图2显示了图1的先前技术运动估计技术的任务之间的冗余;
图3显示了图1的先前技术运动估计技术的任务之间的其他冗余;
图4显示了本发明的一个实施例;
图5显示了本发明的另一个实施例;
图6显示了根据本发明的一个编码器的一结构图;以及
图7a与7b显示了本发明的第二任务(图7a)与本发明的第三任务(图7b)的一流程图。
具体实施方式
所提具体说明仅提供了较佳示范性实施例,而不是为了限制本发明的范围、应用性或或配置。当然,所提的较佳示范性实施例的具体说明将为熟悉此项技术者提供执行本发明的一个较佳实施例的起动说明。应当了解,在不脱离所附权利要求书中所阐明的本发明的精神与范围的情况下,可以对功能与元件的布置进行各种改变。
总体而言,本发明提供了一种通过丢弃在以上结合图1所述的基线方法中的第一、第二与第三任务中的各种全象素与子象素搜索之间冗余的搜索点的改进的运动估计过程。各个该种冗余搜索点的模块或子模块的匹配成本未被计算,且因此也未被储存。例如,在结合图1所说明的基线ME算法的该第二与该第三任务之间有许多隐藏冗余。该种冗余的一个实例是该当前模块(将使用运动估计编码的模块)与其在该第二任务中的最匹配模块之间的匹配,以及在当前模块与位于该第三任务的窗口的中心的模块之间四个匹配。图2更明显的显示了这些冗余,其假定以同样的分支一同执行了该第三任务中的四个匹配。图2显示了该第二与第三任务之间的冗余搜索点。“×”表示了来自该第一任务的该搜索点(意即,最匹配模块10),“+”表示了来自该第二任务的该搜索点,且“○”表示了来自该第三任务的搜索点。该箭头表示了由该第二任务所导致的一运动矢量(意即,来自一搜索窗口内九个候选模块的最匹配16×16半象素模块,该搜索窗口的中心位于来自第三任务全象素搜索的最匹配模块10)。由图2明显可见可将冗余分为三个不同情况,意即,在中心,在侧面,以及在边角。在第一种情况下(中心),由于该第二任务的该最匹配模块位于中心(未显示),第三任务中所有的搜索点均为冗余。在第二种情况下(侧面),最匹配模块10位于该第三任务的该搜索窗口12的侧面,且该第三任务中的六个搜索点为冗余。在第三种情况下(边角),由于该第二任务种的最匹配模块10位于来自该第三任务的该搜索窗口12的边角,该第三任务中的四个搜索点为冗余。假定该第二任务中的该最匹配模块10以一相同可能性出现,则该第三任务中的冗余搜索点为九个可能位置中的(9+6+6+6+6+4+4+4+4)/9=5.4点,或约60.5%的冗余。(如果该第二与第三任务的搜索范围为+/-2*0.5象素,而不是+/-1*0.5象素,则冗余为约57.8%)。在任一情况下,该冗余的范围为44.44%(4个冗余点)与100%。
还可将这个创造性概念应用到消除第一、第二与第三任务之间的冗余。图3显示了在与图2所使用假定相同的情况下的冗余。此外,当组合来自第一与第二任务的信息时,有三种不同情况。“×”表示了来自该第一任务的该搜索点,“+”表示了来自该第二任务的该搜索点,且“○”表示了来自该第三任务的搜索点。来自该第一任务的最匹配模块为模块10。在第一种情况下(中心),由于该第二任务的最匹配模块位于中心,因此不需要搜索,且来自第一任务的信息在这种情况下没有作用。在第二种情况下9侧面),与上述六个冗余(图2)相比,第二与第三任务之间现在有了七个冗余。相同的,在第三种情况下(边角),在第三任务中现在也有了七个冗余。再一次假设第二任务中的最匹配模块以一相等的可能性出现,则现在第三任务中的冗余搜索点为九个可能位置中的(9+7+7+7+7+7+7+7+7)/9=7.2点,或约80.2%冗余。事实上,在第三任务中最多需要搜索两个新位置。预期的冗余范围为77.8%与100%之间。
应当理解,图1-3显示了一先前技术运动估计方法中的冗余,此处进行讨论的目的仅为比较。提供结合图1-3所讨论的具体搜索范围,搜索分辨率,与模块尺寸仅是为了举例的目的。
在图4所显示的一个具体实施例中,提供了一种用于来自帧50与一第二视频帧60之间的像素模块运动估计的方法。熟悉此项技术者将了解,术语“第一”视频帧与“第二”视频帧并非必须表示一视频流内帧的计时(尤其在一MPEG系统中)。此处对名称“第一”与“第二的使用只是为了区别来自相同序列的两个视频帧,且应当理解,该第一视频帧有时可能会领先于第二视频帧,或有时会跟随第二视频帧。此外,在该第一与第二视频帧之间有时会有帧存在。此外,如以上所注明,在此处以及在权利要求书中对术语“帧”的使用只是为了包含相同或不同帧中的场之间的运动估计。
根据本发明,在一第一任务100中适应性处理来自一第二视频帧的一当前像素模块(意即,一待编码像素的模块)。在一第二任务200中将该当前像素模块与当前像素模块的当前像素子模块适应性处理。在一第三任务300中将当前像素子模块适应性处理。从而,在第一视频帧50内定位以下项目的搜索点:(1)来自第一任务100的一像素模块,由BMB表示;(2)来自第二任务200的一像素模块与多个像素子模块,该全模块由BMSPB表示,且该子模块由BMSB1、BMSB2、BMSB3、……、与BMSBn表示;以及(3)来自第三任务的多个像素子模块,由NBMSB1、NBMSB2、NBMSB3、……与NBMSBn表示。这些模块与子模块(BMB、BMSPB、BMSB1、BMSB2、BMSB3、……、与BMSBn、以及NBMSB1、NBMSB2、NBMSB3、……与NBMSBn)为在执行相应任务时所获得的当前像素模块或当前像素子模块提供了最低的匹配成本)。匹配成本可以衡量来自该第二帧60的当前模块或当前子模块以及来自该第一帧50的模块与子模块(候选模块或子模块)(在第一、第二与第三任务中定位)的失真程度。
名称BMB表示由第一任务所获得的最匹配全象素模块。名称BMSPB表示由第二任务所获得的最匹配子像素模块。名称BMSB1、BMSB2、BMSB3、……、与BMSBn表示由第二任务所获得的N个最匹配子象素子模块。名称NBMSB1、NBMSB2、NBMSB3、……与NBMSBn表示由第三任务所获得的N个新的最匹配子象素子模块。
在此过程中,丢弃了以下项目中至少一个之间的冗余搜索点:(1)进行该第三任务300时的该第一与第三任务(100,300)之间;(2)进行该第二任务200时的该第一与第二任务(100,200)之间;以及(3)进行该第三任务300时的该第二与第三任务(200,300)之间。由于未计算冗余搜索点的匹配成本,从而减少了搜索时间与处理成本。如结合图2与3所示,该三个任务之间的搜索之间的冗余搜索点数量可高达77%至100%,则对时间与处理的节省将非常明显。
在该第一任务100中,可在一第一视频帧的一个第一预定义区域内执行一全象素搜索,以定位最匹配全象素像素模块BMB,其来自于该第一预定义搜索区域内的许多候选像素模块,其与一第二视频帧60内的一当前像素模块最为匹配。将该当前像素模块划分为N个当前像素子模块,以用于第二任务200中。在该第二任务200中,实施两个搜索:(1)在该第一视频帧的一第二预定义搜索区域的一第一子象素搜索,从而定位N个单独的最匹配子象素像素子模块(例如,BMSB1、BMSB2、BMSB3、……、BMSBn),其来自于该第二预定义搜索区域中的候选子象素像素子模块,其与相应与该各N个当前像素子模块最为匹配;以及2)在该第二预定义搜索区域内的一第二子象素搜索,从而定位一最匹配的像素子模块BMSPB,其来自于该第二预定义搜索区域内的许多候选子象素像素模块,其与该第二视频帧60内的当前像素模块最为匹配。在第三任务300中,在一第三预定义搜索区域内实施N个单独子象素搜索,从而定位一个新的最匹配子象素像素模块,其来自于各个该N个当前像素子模块(NBMSB1、NBMSB2、NBMSB3、……、NBMSBn)的该第三预定义搜索区域许多候选象素像素模块。
应当理解,在一给定搜索区域内的候选模块或子模块的数量不仅取决于搜索区域的尺寸与该模块或子模块的尺寸,还取决于该搜索区域以及该模块与子模块的分辨率(例如,全象素、半象素、四分之一象素,等等)。例如,+/-0.5的搜索范围将提供九个搜索点,其与九个8×8半象素像素子模块相对应。
通过将该第三任务300中的各个相应的候选子象素子模块与来自于该第二任务200的相应的最匹配子象素子模块(BMSB1、BMSB2、BMSB3、……BMSBn),以及其他在该第三预定义搜索区域中的候选子象素子模块相比较,从而确定该第三任务新的最匹配子象素子模块NBMSB1、NBMSB2、NBMSB3、……、与NBMSBn。熟悉此项技术者将了解,与在第二此搜索中所定位的最匹配子象素子模块相比,在第三次搜索中可能不会定位到更匹配的子模块。在那种情况下,该第三任务种的一个或多个新的最匹配子象素子模块将包括来自该第二任务的相应的最匹配子象素子模块。此外,在该第二与第三预定义搜索区域重叠的地方,来自该第三任务的一个或多个候选子象素子模块可能会与来自该第二任务的N个最匹配子象素子模块相同。在这个例子种,来自该第三任务的一个或多个新的最匹配子象素子模块可包括来自该第二任务的相应的最匹配子象素子模块。
可储存至少一个(1)来自该第一任务的至少一个候选像素模块(例如,BMB)的搜索点与匹配成本;(2)来自该第二任务的多个候选子象素像素子模块(例如BMSB1、BMSB2、BMSB3、……BMSBn)的搜索点与匹配成本;(3)来自该第二任务的至少一个候选子象素像素子模块(例如,BMSPB)的搜索点与匹配成本;以及(4)来自该第三任务的多个候选子象素像素子模块(例如NBMSB1、NBMSB2、NBMSB3、……、NBMSBn)的搜索点与匹配成本。这些储存的搜索点是不冗余的搜索点,且可将各个搜索点的相应匹配成本互相比较(意即,模块与模块比较,子模块与子模块比较),以确定哪个模块与子模块的匹配成本最低(意即,哪个与当前模块或当前子模块最为匹配)。未计算与储存位于该冗余搜索点处的候选模块与子模块的匹配成本。
熟悉此项技术者将发现可执行本发明从而储存所有非冗余候选模块与子模块,而不是仅储存来自于相应任务的最匹配模块与子模块。例如,可储存所有来自于该第一任务的所有的全象素候选像素模块,可储存来自于第二任务的不多于来自该第一任务的候选全象素模块的所有候选子象素像素模块,且可储存来自于第三任务的不多于来自该第二任务的候选全象素模块的的所有候选子象素像素模块,这种方法与以上说明的先前技术“全搜索”方法很近似,且其同时提供了更快的搜索时间。视情况而定,仅可储存在相应任务中被确定为最匹配模块或子模块的那些模块与子模块,只要它们不是冗余模块或子模块。例如,可执行本发明以仅仅储存来自于该第一任务的最匹配全象素像素模块的匹配成本(意即BMB),来自该第二任务的N个单独的最匹配子象素像素子模块与最匹配子象素像素模块(意即,BMSPB、BMSB1、BMSB2、BMSB3、……与BMSBn),以及来自该第三任务的N个单独的新的最匹配子象素像素子模块(意即,NBMSB1、NBMSB2、NBMSB3、……与NBMSBn)。与先前技术全搜索方法相比,这种方法提供了改进的多的搜索时间,并提供了相同或更好的结果。
可根据以下项目中的一个计算将该第二视频帧中的当前像素模块编码的一个或更多的运动矢量:(1)来自该第三任务的N个新的最匹配子象素像素子模块(NBMSB1、NBMSB2、NBMSB3、……、与NBMSBn);或(2)来自该第二任务的最匹配子象素像素模块(BMSPB)。使用来自第三任务的N个新的最匹配子象素像素子模块NBMSB1、NBMSB2、NBMSB3、……、与NBMSBn或来自该第二任务的最匹配子象素像素模块(BMSPB),其取决于对于N个新的最匹配子象素子模块的匹配成本总和与最匹配子象素模块的匹配成本总和的比较。例如,如果N个新的最匹配子象素子模块NBMSB1、NBMSB2、NBMSB3、……与NBMSBn的匹配成本总和比最匹配子象素模块BMSPB的匹配成本低,则将使用N个新的最匹配子象素子模块NBMSB1、NBMSB2、NBMSB3、……与NBMSBn以计算该运动矢量,反之亦然。然而,由于事实上与将一个单个模块编码相比,需要更多的位元以将四个子模块编码,执行本发明时,可偏重于在子模块匹配成本总和只略低于模块匹配成本的情况下将模块编码。
该第一预定义搜索区域可位于该第一视频帧50的中央,对应于该第二视频帧中的当前像素模块的位置。该第二预定义搜索区域可位于在第一任务中所定位的最匹配像素模块BMB的中央。该第三预定义搜索区域可位于在第二任务中定位的最匹配子象素像素模块BMSPB的中央。该第三预定义搜索区域可具有N个搜索窗口,其与各个N个单独子象素子模块搜索相对应。
例如,在图4所显示的实施例中,该第三预定义搜索区域可包括该第一帧50中的一个像素模块,其位于来自第二任务的模块BMSPB中央。将提供N个搜索窗口,其对应于该第三预定义搜索区域的N个部分(图4假定N个子模块形成一个全模块)。应当理解,在图4所显示的实例中,第三任务300中的N个子象素子模块搜索将导致仅对相应搜索窗口内的候选子模块进行比较,以及与来自该第二任务200的最匹配子模块中的相应一个比较。例如,将该第三任务中的N个子象素搜索中的一第一个(其将导致一新的最匹配子象素子模块NBMSB1),依次将该N个搜索窗口中的所有候选子象素子模块先与来自第二任务的一个相应的最匹配子象素子模块(例如,BMSB1)相比较,再与该搜索窗口中的其他候选子模块相互比较。每次当候选子模块比与之相比较的子模块要好时,该候选子模块成为新的最匹配子象素子模块,直至搜索中的该点。
该第一视频帧50中的第一预定义搜索区域可包括一第二视频帧60内的该当前像素模块的相应位置周围的一个一般区域。该第二预定义搜索区域可比该最匹配像素模块(例如,由该第一任务100所获得的模块BMB)向各个方向延伸至少一个子象素。各个N个搜索窗口可比从在该第二任务200中所定位的最匹配子象素模块(例如,BMSPB)所获得的一相应的子象素像素子模块向各个方向延伸至少一个子象素。
在本发明的一个实施例中,来自于该第三任务300的多个候选子象素子模块的搜索点与匹配成本可至少包括该N个新的最匹配子象素子模块(NBMSB1、NBMSB2、NBMSB3、……、与NBMSBn)的搜索点与匹配成本。在这个实施例中,可基于以下项目之一计算用于在第二视频帧中将当前像素模块编码的一个或多个运动矢量:(1)来自该第三任务300的新的最匹配子象素像素子模块(NBMSB1、NBMSB2、NBMSB3、……、与NBMSBn);或(2)来自该第二任务200的最匹配子象素像素子模块BMSPB。
在本发明的另一个实施例中,储存了各个(1)来自该第一任务100的至少一个候选像素模块的的搜索点与匹配成本;(2)来自该第二任务200的多个候选子象素子模块的搜索点与匹配成本;(3)来自该第二任务200的至少一个候选子象素像素模块的搜索点与匹配成本;以及(4)来自该第三任务300的多个候选子象素子模块的搜索点与匹配成本。丢弃了以下各项目之间的冗余:搜索点:(1)该第一与第三任务;(2)该第一与第二任务;以及(3)该第二与第三任务,从而未计算位于该种冗余搜索点处的候选模块与子模块的匹配成本。
视情况而定,储存了来自该第一任务100的至少一个候选像素模块的搜索点与匹配成本。在这个实施例中,丢弃了第一与第二任务之间冗余的搜索成本,从而未计算位于该种冗余搜索点处的候选模块的匹配成本。
在如图5所示的另一实施例种,该第一任务100还可包括在该第一视频帧50的该第一预定义搜索区域实施一全象素搜索,从而定位N个单独的最匹配全象素像素子模块BMSPB、BMSB1、BMSB2、BMSB3、……与BMSBn,其来自于该第一预定义搜索区域种的许多候选全象素像素子模块,其相应与各个N个当前像素子模块最为匹配。储存了来自该第一任务100的多个候选全象素像素子模块的该搜索点与匹配成本,从而丢弃了至少一个以下项目之间冗余的搜索点:(1)该第一与第二任务;以及(2)该第一与第三任务。未计算位于该种冗余搜索点的候选模块与子模块的匹配成本。
在本发明的另一个实施例中,储存了来自该第二任务200的多个候选子象素子模块的搜索点与匹配成本。在这个实施例中,丢弃了在第二与第三任务之间冗余的搜索点,从而未计算位于该种冗余搜索点的候选模块与子模块的匹配成本。
各个预定义搜索区域可为一方形像素模块、一矩形像素模块、一钻石形像素模块、或一不规则形像素模块。然而,熟悉此项技术者将发现搜索区域的具体形状对这个创造性概念并不关键。可利用不同尺寸与形状的搜索区域执行本发明。
熟悉此项技术者还将发现,对于第二与第三任务,可能需要将各个模块与像素子模块的第一视频帧中的像素数据添加至第二与第三任务的子象素分辨率。
在本发明的一个实施例中,该第二任务200的搜索范围可为横向+/-n*p象素以及纵向+/-m*p象素,其中n与m为任意正整数,且p为任意分数。在该实施例中,将该第三任务300的搜索点视为多于该第二任务的搜索点,其中该第三任务300的一个搜索点与该第二预定义搜索区域中心的距离为:(1)横向小于等于n*p象素;以及(2)纵向小于等于m*p象素。未计算位于冗余搜索点的候选模块的匹配成本。这个实施例中的子象素搜索可包括以下项目之一:(1)一个1/2象素搜索,其中p等于0.5;(2)一个1/4象素,其中p等于0.25;或(3)一个1/8象素搜索,其中p等于0.125。
该第一任务100可由计算各个候选模块与当前像素模块之间的一匹配成本组成。可依次将来自于各个候选模块的各个匹配成本与一先前所找到的最低匹配成本比较,使得最匹配全象素像素模块BMB是提供最低匹配成本的一个候选像素模块。
第二任务200可由在该第一子象素搜索中,计算各个候选子象素子模块与该N个当前像素子模块中的相应一个之间的匹配成本组成。可依次将来自于各个候选模块的各个匹配成本与一先前所找到的各个当前子模块的最低匹配成本比较,使得N个最匹配子象素像素子模块(BMSB1、BMSB2、BMSB3、……与BMSBn)相应是N个提供各个N个当前子模块的最低匹配成本的N个候选像素模块。在该第二任务200的该第二子象素搜索中,可计算各个子象素候选模块与当前像素模块之间的匹配成本。可依次将各个候选子象素模块的各个匹配成本与先前所找到的最低匹配成本比较,使得该最匹配子象素像素模块BMSPB是一个提供最低匹配成本的候选子象素像素模块。
在该第二任务200中,可同时执行该第一子象素搜索与该第二子象素搜索。在这个实施例中,各个候选子象素像素模块的匹配成本包括N个子象素像素子模块的匹配成本总和。
该第三任务300可由计算各个候选子象素子模块与该N个当前像素子模块中之相应一个之间的匹配成本组成。可依次将来自于各个候选子象素子模块的各个匹配成本与先前所找到的各个当前子模块的一个最低匹配成本相比较,使得该N个新的最匹配子象素像素子模块(NBMSB1、NBMSB2、NBMSB3、……与NBMSBn)是相应提供各个N个当前子模块的最低匹配成本的N个候选像素子模块。
应当理解,该子模块的数量N可为任何大于一的正整数。换言之,可执行本发明,使得任意数量的子模块组成该像素全模块。例如,在该像素模块包括16×16像素模块处,该子模块可包括8×8像素模块、6×6像素模块、4×4像素模块、或2×2像素模块。其中,在该像素模块包括8×8像素模块处,该子模块可包括6×6像素模块、4×4像素模块、或2×2像素模块。熟悉此项技术者将理解,存在并可使用模块与子模块尺寸的许多其他组合以执行本发明,包括:奇数尺寸的模块(例如,9×9、3×9等等),以及子象素尺寸的模块(例如,8.5×8.5、9.5×9.5等等)。
该子象素搜索可包括1/2象素搜索、一个1/4象素搜索、一个1/8象素搜索,或甚至更高分辨率的搜索。此外,尽管结合该第一任务100与第二任务200中的一个全象素搜索说明了本发明,熟悉此项奇数者将理解,这些全象素搜索在事实上可包括以子象素搜索,且在该第二任务200与第三任务300中的剩余子象素搜索可包括更高分辨率的子象素搜索。换言之,易于用子象素搜索替换上述全象素搜索,例如用半象素搜索替换。在那种情况下,上述子象素搜索可为,例如,四分之一象素搜索或八分之一象素搜索,等等。
还应当理解,尽管以上结合第一、第二与第三任务说明了本发明,此处仅为便于解释本发明的目的而包括这些名称。此外,如此处所使用的术语,可在只有一第一与一第二任务的情况下执行本发明。视情况而定,可在具有三个以上任务的情况下执行本发明。例如,一第一任务可包括一全象素模块搜索,一第二任务可包括一半象素模块搜索与多个半象素子模块搜索,一第三任务可包括多个半象素子模块搜索,且一第四任务可包括多个四分之一象素子模块搜索。如以上所讨论,甚至可将本发明延伸至更高的分辨率的搜索,如一八分之一象素或更高。
该像素子模块可各包括相同数量的像素。该像素子模块可包括形状相同的像素模块,其各包括相同数量的像素。
可(例如)在一个如图6所示的编码器500中实行执行本发明的前述方法。熟悉此项技术者将理解,图6的编码器500仅为可用于执行本发明的编码器的一个实例,且熟悉此项技术者可通过改变编码器的组件的形式与布置执行本发明,而获得相同的结果。
如图6所示,提供了用于使用运动估计将一当前像素模块编码的编码器500。提供了一第一运动估计器510,以用于将来自该第一任务中的以第二视频帧的一当前模块适应性处理。提供了一第二运动估计器520,以用于将该第二任务中的该当前像素模块与该当前像素模块的当前像素模块适应性处理。提供了一第三运动估计器530,以用于将在一第三任务中的该当前像素子模块适应性处理。提供一决策模块540,用于在一第一视频帧中为以下项目确定搜索点:(1)来自该第一任务的一像素模块;(2)来自该第二任务的一模块与多个像素子模块;以及(3)来自该第三任务的多个像素子模块,其提供了该当前像素模块与该当前像素子模块的最低匹配成本。如以上所讨论,丢弃了在以下项目中至少一个之间冗余的搜索点:(1)进行第三任务时的该第一与第三任务之间;(2)进行该第二任务时的该第一与第二任务之间;以及(3)进行该第三任务时的该第二与第三任务之间。
编码器500还包括一第一帧存储550,其用于储存该第一视频帧(参照帧),以及一第二帧存储560,其用于储存该第二视频帧(当前帧)。向该第二视频存储560提供一数字视频信号501。提供一运动补偿器570,其用于从该决策模块540预测使用至少一个具有该最低匹配成本的该模块或该子模块的当前像素模块。
在一全象素搜索中的该第一任务中,该第一运动估计器510将来自该第二视频帧(来自该第二视频存储560)的一全象素当前像素模块与来自该第一视频帧(来自该第一视频存储550)的一第一预定义搜索区域的许多候选全像素像素模块,从而在该第一预定义搜索区域内定位一最匹配全像素象素模块,其与该第二视频帧(第二帧存储560)中的当前像素模块最为匹配。
该第二运动估计器520比较了:(1)在一第一子像素搜索中的第二任务内,来自于划分当前像素模块的N个当前像素子模块,与来自于该第一视频帧(通过子象素分类机590来自第一帧存储550)的一第二预定义区域的许多候选子象素像素子模块,以在该第二预定义搜索区域内定位N个单独的最匹配子象素像素子模块,其相应与各个N个当前像素子模块最为匹配;以及(2)在一第二子象素搜索的第二任务内,当前像素模块与该第二预定义搜索内的许多候选子象素像素子模块,以在该第二预定义搜索区域内定位一最匹配子象素像素子模块,其与当前像素模块最为匹配。
在一第三任务子象素搜索中,第三运动估计器530比较了该N个当前像素子模块与来自于该第一视频帧(来自该第一帧存储550)的一第三预定义搜索区域的许多候选子象素像素子模块,以在该第三预定义搜索区域内为各个N个当前像素子模块定位一个新的最匹配子象素像素子模块。
决策模块540确定了来自于第一、第二与第三运动估计器中至少一个的具有最低匹配成本的模块与子模块。提供了存储器(运动估计器存储580),其用于存储至少一个:(1)来自该第一任务的至少一个候选像素模块的搜索点和匹配成本;(2)来自该第二任务的多个候选子象素像素子模块的搜索点与匹配成本;(3)来自该第二任务的至少一个候选子象素像素模块的搜索点与匹配成本;以及(4)来自该第三任务的多个候选子象素子模块的搜索点与匹配成本。如以上所讨论,运动估计存储580未计算与储存位于冗余搜索点的候选模块与子模块。运动估计器580可包括用于各个运动估计器的单独的记忆装置,或对应于各个运动估计器的相同记忆装置的分割部分。该记忆装置可有多种形式,如一硬驱、一光盘、或任何其他合适类型的大容量存贮装置,或各种装置的组合。
运动补偿器570根据以下项目之一预测该第二视频帧(来自该第二帧存储560)中的该当前像素模块:(1)来自该第三任务的N个新的最匹配子象素像素子模块;或(2)来自该第二任务的最匹配子象素像素子模块。计算了该当前模块与其预测之间的差分(残差)(减法公式595)。然后对这个差分进行一DCT(离散余弦变换)与量子化操作(例如,于DCT与量子化600)。然后用一变量长度编码器610处理该结果,以产生620的压缩位元(编码的位元流),其随后能够被适当解码。也可对该结果进行一反转量子化与DCT操作630,然后在加法器640处将其添加至运动补偿预测。加法器640的输出结果一般与一解码器为该模块所产生的结果相同,且将该模块储存回该第一帧存储550。也可在一帧延迟642处将加法器640的输出结果,然后再将其储存至帧存储550。
应当理解,图6显示了一种执行方法,其中储存于第一帧存储550的该参照帧为一个再构建参照帧,且还可使用如视频信号501中所接收的原始视频帧执行本发明。
提供一个分类机590,以用于再第二于第三任务中,将第一视频帧(来自该第一视频存储550)中各模块与像素子模块的像素数据分类为子象素分辨率。将按需要在一模块乘模块或子模块乘子模块基础上这一分类(如图6所示),或可将该第一视频帧分类一此,并将其结果存储在存储器中,以在第二与第三任务中使用。
在该第一任务中,该第一运动补偿器510计算了各个候选模块与当前像素模块之间的一匹配成本。随后决策模块540依次比较了来自各个候选模块的各个匹配成本与一先前找到的最低匹配成本,使得该最匹配全象素像素模块是一个提供最低匹配成本的候选像素模块。
在一第二任务中,该第二运动估计器520在该第一子像素子模块搜索中计算了各个候选子象素子模块与该N个当前像素子模块的相应一个之间的一个匹配成本。该决策模块依次比较了来自各个候选子象素子模块的各个匹配成本与先前所找到的各个当前子模块的匹配成本,使得该N个最匹配子象素像素子模块相应是为各个N个当前子模块提供最低匹配成本的N个候选子象素像素子模块。在该第二子象素搜索中,该第二运动估计器520计算了各个子象素候选模块与当前像素模块之间的匹配成本。决策模块540依次比较了来自各个候选子象素模块的各个匹配成本与先前所找到的一最低匹配成本,使得该最匹配子象素像素模块是提供该最低匹配成本的一个候选子象素像素模块。
在该第三任务中,第三运动估计器530计算了各个候选子象素子模块与该N个当前像素子模块中的相应一个之间的匹配成本。决策模块540依次比较了来自各个候选子象素模块的各个匹配成本与先前所找到的各个当前子模块的一最低匹配成本,使得该N个新的最匹配子象素像素子模块相应是为各个该N个当前子模块提供最低匹配成本的N个候选子象素像素模块。
图7(图7a与7b)的流程图概述了本发明的一个具体实施例。通过在第三任务中消除冗余搜索点,图7所显示的实施例减少了编码器复杂性。尽管当使用来自该第一与第二任务的数据时,第三任务中的节省量约为80%,这假定了在第一任务中为该16×16全象素搜索使用了一个FS-BMA。在图7所显示的实施例中,可执行本发明以为该第一任务实行一全象素搜索或一快速搜索(MVFAST),则未将该第一任务合并入该第三任务。相反,所示的实施例仅消除该第二与第三任务之间的冗余(使第三任务中的节省约未60%)。
尽管有若干种使用此创造性概念执行一快速算法的途径,图7中所显示的实施例将该第二任务中的16×16半象素模块匹配成本打破未四个8×8半象素子模块匹配成本,并仅将该四个最佳的8×8半象素子模块的位置与匹配成本储存,同时在该第二任务中执行该16×16半象素搜索。“匹配成本”指对候选模块或子模块与相应的待使用运动补偿编码的模块与子模块之间所做的比较。匹配成本可未该候选模块或子模块与待编码模块或子模块之间的绝对差分的综合,如衡量该模块或子模块之间的失真的方法。
图7a显示了该第二任务,且图7b显示了该第三任务。在一第一任务中,实施一第一视频框佳的一第一预定义搜索区域中的一全象素搜索,以定位一最匹配全象素16×16像素模块,其来自于该第一预定义搜索区域中的许多候选像素模块,其与相应一第二视频框佳的一当前模块最为匹配。由于该种搜索以为熟悉此技术者熟知,则不在流程图种显示该第一任务。
为了在图7a种所显示的第二任务,将当前16×16像素模块划分成为四‘个当前8×8像素子模块。执行在该第一视频框佳的一第二预定义搜索区域种的一第一半象素搜索,从而定位四个单独的最匹配半象素8×8像素子模块,其来自于该第二预定义搜索区域种的许多候选半象素8×8像素子模块,其相应与各个该四个当前8×8像素子模块最为匹配。此外,同时执行在该第二预定义搜索区域内的一第二半象素搜索,以定位一个最匹配半象素16×16像素模块,其来自于该第二预定义搜索区域种的许多候选半像象素16×16像素模块,其与该第二视频帧种的当前16×16像素模块最为匹配。
如图7所示,将该第二预定义搜索区域种的各候选半象素16×16模块划分为四个候选半象素8×8子模块,候选子模块1、候选子模块2、候选子模块3、与候选子模块4。将各个候选子模块与相应的当前8×8子模块比较,以确定该具体候选子模块的匹配成本。随后将该候选子模块与下一分支的一候选子模块比较,以确定最匹配8×8半象素子模块。
例如,在图7a中,在该预定义搜索区域的一个第一分支,候选子模块1、候选子模块2、候选子模块3、与候选子模块4将与由该第一16×16候选模块所获得的该四个8×8半象素子模块对应。计算这些四个8×8半象素子模块与由当前16×16模块所获得的四个当前8×8全象素子模块之间的匹配成本。这是第二任务的开始,所以不存在任何最匹配8×8子模块以做比较,所以默认的候选子模块1、候选子模块2、候选子模块3、与候选子模块4成为最匹配的8×8半象素子模块。然后增加分支,从而将搜索窗口中的下一模块与该当前最匹配模块相比较。在所显示的实例中,该分支将增加0.5象素,且该第二任务牵涉了在该第二预定义搜索区域的半个象素搜索。换言之,在该第二预定义搜索区域的下个候选16×16模块的位置在这个第二分支移动(在搜索窗口的任何可能方向)了一半象素。
现在在这个下一(第二)分支,用四个形成该16×16半象素模块替换8×8半象素子模块候选子模块1、候选子模块2、候选子模块3、与候选子模块4的位置。然后将在该第二分支的的8×8半象素子模块匹配成本与来自先前分支的相应的最匹配子模块的匹配成本相比较。如果在该第二分支的该子模块是相应当前子模块的更好匹配,饿将该子模块作为最匹配子模块储存,从而将先前的最匹配子模块替换。如果在该第二分支的子模块不是相应当前模块的更好匹配,则不改变最匹配子模块。为该第二预定义搜索区域中的每个可得分支重复这个过程,从而导致四个最匹配8×8半象素子模块。
此外,在每个分支增加候,将子模块的匹配成本求和,以为该候选16×16半象素模块提供一匹配成本。将这个匹配成本与先前得最匹配16×16半象素模块以以上结合8×8半象素子模块所说明的相同方法比较。如果匹配成本总和导致了比先前所定位的更好的匹配,则用一达到该点的对应于该四个8×8最匹配模块16×16半象素模块将达到该点的先前最匹配16×16半象素模块替换。为该第二预定义搜索区域中的各个分支重复此过程,从而导致在该第二预定义搜索区域内的一个新的最匹配16×16半象素模块。该第二任务开始时的该最匹配16×16半象素模块将是在该第一任务中所获得的16×16子匹配全象素模块。
如图7b所显示,一旦该第二预定义搜索区域耗尽(意即,所有分支均已被搜索),开始该第三任务。在该第三任务中,在一第三预定义搜索区域中实施四个单独的半象素搜索,从而定位一个新的最匹配半象素8×8像素子模块,其来自于各个四个当前8×8像素子模块的该第三预定义搜索区域中的许多候选半象素8×8像素子模块。第三任务中的匹配过程与以上图7a中结合用于定位最匹配8×8半象素子模块的第二任务所说明的比较过程相似。然而,在第三任务中,丢弃了冗余搜索点,从而未储存或计算冗余搜索点的匹配成本。在第三任务开始时,各个搜索的新的最匹配子模块对应于在第二任务中所定位的相应的最匹配8×8半象素子模块(图7a)。换言之,在第三任务的一第一子象素搜索中的最初最匹配子模块(图7b)是来自第二任务的一第一搜索(图7a)的最匹配8×8半象素子模块。
对该第三任务中的各个四个单独的半象素8×8子模块搜索而言,将第三预定义搜索窗口中的相应的候选半象素8×8子模块与从当前16×16模块中所获得的四个当前8×8子模块相比较,将以获得相应的匹配成本。四个搜索中的各个相应候选子模块(意即,选子模块1、候选子模块2、候选子模块3、与候选子模块4)的匹配成本与位于该点的该新的最匹配子模块相比较。然而,在各个分支,将首先回顾第三预定义搜索区域的当前搜索点以确定其是否对应于在第二任务中所定位的一个搜索点。如果对应,则将位于该搜索点的该8×8半象素子模块确定未冗余而不加考虑。因此,不会计算这个冗余搜索点的匹配成本,且分支将增加至下个位置。
将该第三预定义搜索区域划分为各个相应的四个8×8半象素子模块搜索的四个单独的搜索窗口。
若其与该第二任务搜索中心的距离横向小于或等于n*0.5且纵向小于等于m*0.5,则在图7b所示的实例中,将搜索位置视为冗余。既然图7所显示的实施例中执行了半象素搜索,可将第二与第三任务的搜索范围都假定为横向+/-n*0.5以及纵向+/-m*0.5(其中n与m为任意正整数)。
若搜索点不荣誉,则计算分支处的该8×8半象素子模块的匹配成本,并将其与达到该点的最匹配8×8半象素子模块的匹配成本相比较。如果匹配成本更低,则分支处的该8×8半象素子模块将替换该新的最匹配子模块,反之,则增加分支。
在第三预定义搜索区域内所可得得各个分支中重复此过程,从而导致四个新得最匹配8×8半象素子模块。然后可根据衍生自来自该第三任务的该四个新得最匹配8×8半象素子模块的运动矢量,或衍生自来自该第二任务的最匹配16×16半象素模块的运动矢量,将待编码的当前16×16全象素模块编码。
这一方法要求低复杂性与记忆存储,但其与传统全搜索不同。(可使用本发明的其他实施例,如储存所有九个匹配成本,以提供与传统全搜索相同的结果)。在本实施例中,第二任务中所找到的最匹配模块可以位于来自该第三任务的搜索窗口之外。图2显示了这种可能性。如恰巧该第二任务中的任何“+”(仅仅)位置是第三任务之后的最匹配模块,则由此实施例所计算的MV将与传统全搜索不同。然而,从失真的角度看,差异总会导致对传统全搜索的改进,因为使用所推荐实施例的最匹配模块的失真保证要低于传统全搜索的失真。
还可以扩展所提出的实施例,以将第一与第二任务合并为第三任务。当将第一任务合并入第三任务时,存在着额外的可能性。例如,可将该第一任务中的16×16全象素模块搜索打破成为四个8×8全象素子模块搜索。然后可将在第一任务中所找到的该最佳8×8全象素子模块与第三任务中的8×8半象素子模块相比较,产生搜索范围与精确度之间的折衷。与以往相同,使用这种实施例,能够得到比传统全搜索改进的结果。
上述实施例提供了一种用于一8×8子模块的半象素ME的充分方法,其为与MPEG-4和其他视频标准相兼容的标准。图7所显示的方法可以将8×8ME的搜索总数量平均减少60%,而不降低搜索质量。在一些情况下,其还可以略微改进质量。所提出的方法易于延伸至更高子象素分辨率,如一半象素,一四分之一象素,一八分之一象素,或更高。
尽管已经结合在具体尺寸的模块与像素子模块上实施全象素和半象素搜索说明本发明,熟悉此项技术者将理解,本发明并不限制于图7所显示的具体实施例。可将本发明延伸至在不同尺寸的像素模块与子模块上进行四分之一象素与八分之一象素搜索。
现在应当理解,本发明提供了用于将数字视频信号宾码的子象素运动估计的有利方法与仪器。
尽管已经结合各种所显示说明的实施例说明了本发明,仍可在不脱离权利要求书所提出的本发明的精神与范围的情况下,对本发明进行各种修改与调整。

Claims (64)

1.一种用于来自一第一视频帧与一第二视频帧的像素模块之间的运动估计的方法,其包括步骤有:
在一第一任务中适应性处理来自一第二视频帧的一当前像素模块;
在一第二任务中适应性处理该当前像素模块与当前像素模块的当前像素子模块;
在一第三任务中适应性处理当前像素子模块;
在第一视频帧内定位以下项目的搜索点:(1)来自第一任务的一像素模块;(2)来自第二任务的一模块与多个像素子模块;以及(3)来自第三任务的多个像素子模块,其向所述当前像素模块和所述当前像素子模块之一提供最低匹配成本;以及
丢弃以下项目中至少一个之间的冗余搜索点:(1)进行该第三任务时的该第一与第三任务之间;(2)进行该第二任务时的该第一与第二任务之间;以及(3)进行该第三任务时的该第二与第三任务之间。
2.根据权利要求1所述的方法,其进而包括步骤有:
在该第一任务中,可在一第一视频帧的一第一预定义区域内执行一全象素搜索,以定位最匹配全象素像素模块,其来自于该第一预定义搜索区域内的许多候选像素模块,其与一第二视频帧60内的一当前像素模块最为匹配;
将该当前像素模块划分为N个当前像素子模块;
在该第二任务中,实施:(1)在该第一视频帧的一第二预定义搜索区域的一第一子象素搜索,从而定位N个单独的最匹配子象素像素子模块其来自于该第二预定义搜索区域中的候选子象素像素子模块,其与相应与该各N个当前像素子模块最为匹配;以及(2)在该第二预定义搜索区域内的一第二子象素搜索,从而定位一最匹配的像素子模块,其来自于该第二预定义搜索区域内的许多候选子象素像素模块,其与该第二视频帧内的当前像素模块最为匹配;以及
在第三任务中,在一第三预定义搜索区域内实施N个单独子象素搜索,从而定位一个新的最匹配子象素像素模块,其来自于各个该N个当前像素子模块的该第三预定义搜索区域许多候选象素像素模块。
3.根据权利要求2所述的方法,其进而包括步骤有:
储存下列中的至少一个:(1)来自该第一任务的至少一个候选像素模块的搜索点与匹配成本;(2)来自该第二任务的多个候选子象素像素子模块的搜索点与匹配成本;(3)来自该第二任务的至少一个候选子象素像素子模块的搜索点与匹配成本;以及(4)来自该第三任务的多个候选子象素像素子模块的搜索点与匹配成本。
4.根据权利要求3所述的方法,其中,未计算和储存位于该冗余搜索点的候选模块与子模块的匹配成本。
5.根据权利要求3所述的方法,其进而包括步骤有:
根据以下项目中的一个计算将该第二视频帧中的当前像素模块编码的一个或更多的运动矢量:(1)来自该第三任务的N个新的最匹配子象素像素子模块;或(2)来自该第二任务的最匹配子象素像素模块。
6.根据权利要求3所述的方法,其中:
该第一预定义搜索区域位于该第一视频帧的中央,对应于该第二视频帧中的当前像素模块的位置;
该第二预定义搜索区域位于在第一任务中所定位的最匹配像素模块的中央;
该第三预定义搜索区域位于在第二任务中定位的最匹配子象素像素模块的中央,该第三预定义搜索区域具有N个搜索窗口,其与各个N个单独子象素子模块搜索相对应。
7.根据权利要求6所述的方法,其中:
该第一视频帧中的该第一预定义搜索区域包括该第二视频帧内的该当前像素模块的相应位置周围的一个一般区域。
8.根据权利要求6所述的方法,其中:
该第二预定义搜索区域可比由该第一任务所获得的该最匹配像素模块向各个方向延伸至少一个子象素。
9.根据权利要求6所述的方法,其中:
各个N个搜索窗口可比从在该第二任务中所定位的该最匹配子象素模块所获得的一相应的子象素像素子模块向各个方向延伸至少一个子象素。
10.根据权利要求3所述的方法,其中:
来自于该第三任务的多个候选子象素子模块的搜索点与匹配成本可至少包括该N个新的最匹配子象素子模块的搜索点与匹配成本。
可基于以下项目之一计算用于在第二视频帧中将当前像素模块编码的一个或多个运动矢量:(1)来自该第三任务的N个新的最匹配子象素像素子模块;或(2)来自该第二任务的最匹配子象素像素子模块。
11.根据权利要求3所述的方法,其中:
储存各个(1)来自该第一任务的至少一个候选像素模块的的搜索点与匹配成本;(2)来自该第二任务的多个候选子象素子模块的搜索点与匹配成本;(3)来自该第二任务的至少一个候选子象素像素模块的搜索点与匹配成本;以及(4)来自该第三任务的多个候选子象素子模块的搜索点与匹配成本;以及
丢弃了以下各项目之间的冗余搜索点:(1)该第一与第三任务;(2)该第一与第二任务;以及(3)该第二与第三任务,从而未计算位于该种冗余搜索点处的候选模块与子模块的匹配成本。
12.根据权利要求3所述的方法,其中:
储存来自该第一任务的至少一个候选像素模块的搜索点与匹配成本;以及
丢弃了第一与第二任务之间冗余的搜索成本,从而未计算位于该种冗余搜索点处的候选模块的匹配成本。
13.根据权利要求3所述的方法,其进而包括:
在该第一任务中:
在该第一视频帧的该第一预定义搜索区域实施一全象素搜索,从而定位N个单独的最匹配全象素像素子模块,其来自于该第一预定义搜索区域种的许多候选全象素像素子模块,其相应与各个N个当前像素子模块最为匹配;以及
储存来自该第一任务的多个候选全象素像素子模块的该搜索点与匹配成本;以及
从而丢弃至少一个以下项目之间冗余的搜索点:(1)该第一与第二任务;以及(2)该第一与第三任务,从而未计算位于该种冗余搜索点的候选模块与子模块的匹配成本。
14.根据权利要求3所述的方法,其中:
储存来自该第二任务的多个候选子象素子模块的搜索点与匹配成本;
丢弃在第二与第三任务之间冗余的搜索点,从而未计算位于该种冗余搜索点的候选模块与子模块的匹配成本。
15.根据权利要求3所述的方法,其中:
各个预定义搜索区域包括一方形像素模块、一矩形像素模块、一钻石形像素模块、或一不规则形像素模块之一。
16.根据权利要求3所述的方法,其中:
对于第二与第三任务,将各个模块与像素子模块的第一视频帧中的像素数据添加至第二与第三任务的子象素分辨率。
17.根据权利要求3所述的方法,其中:
该第二任务的搜索范围可为横向+/-n*p象素以及纵向+/-m*p象素,其中n与m为任意正整数,且p为任意分数;
将该第三任务的搜索点视为多于该第二任务的搜索点,其中该第三任务的一个搜索点与该第二预定义搜索区域中心的距离为:(1)横向小于等于n*p象素;以及(2)纵向小于等于m*p象素;以及
未计算位于冗余搜索点的候选模块的匹配成本。
18.根据权利要求17所述的方法,其中:
该子象素搜索可包括以下项目之一:(1)一个1/2象素搜索,其中p等于0.5;(2)一个1/4象素,其中p等于0.25;或(3)一个1/8象素搜索,其中p等于0.125。
19.根据权利要求3所述的方法,其中:
该第一任务包括步骤有:
计算各个候选模块与当前像素模块之间的一匹配成本;以及
依次将来自于各个候选模块的各个匹配成本与一先前所找到的最低匹配成本比较;
其中最匹配全象素像素模块是提供最低匹配成本的一个候选像素模块。
20.根据权利要求19所述的方法,其中该匹配成本包括该候选模块与该当前模块之间的一个失真衡量。
21.根据权利要求3所述的方法,其中:
该第二任务包括步骤有:
在该第一子象素搜索中:
计算各个候选子象素子模块与该N个当前像素子模块中的相应一个之间的匹配成本;以及
依次将来自于各个候选模块的各个匹配成本与一先前所找到的各个当前子模块的最低匹配成本比较;
其中该N个最匹配子象素像素子模块相应是N个提供各个N个当前子模块的最低匹配成本的N个候选像素模块;以及
在该第二子象素搜索中:
计算各个子象素候选模块与当前像素模块之间的匹配成本;以及
依次将各个候选子象素模块的各个匹配成本与先前所找到的最低匹配成本比较;
其中该最匹配子象素像素模块是一个提供最低匹配成本的候选子象素像素模块。
22.根据权利要求21所述的方法,其中:
在该第二任务中,同时执行该第一子象素搜索与该第二子象素搜索;以及
各个候选子象素像素模块的匹配成本包括N个子象素像素子模块的匹配成本总和。
23.根据权利要求21所述的方法,其中该匹配成本包括一该候选子象素模块与该当前模块或该候选子象素子模块与该当前子模块之间的失真衡量。
24.根据权利要求3所述的方法,其中:
该第三任务包括步骤有:
计算各个候选子象素子模块与该N个当前像素子模块中之相应一个之间的匹配成本组成;以及
依次将来自于各个候选子象素子模块的各个匹配成本与先前所找到的各个当前子模块的一个最低匹配成本相比较;
使得该N个新的最匹配子象素像素子模块是相应提供各个N个当前子模块的最低匹配成本的N个候选像素子模块。
25.根据权利要求24所述的方法,其中该匹配成本包括一该候选子象素模块与该当前模块之间的失真衡量。
26.根据权利要求3所述的方法,其中该子模块的数量N可为任何大于一的正整数。
27.根据权利要求1所述的方法,其中该子象素搜索包括1/2象素搜索、一个1/4象素搜索、或一个1/8象素搜索之一。
28.根据权利要求1所述的方法,其中:
该模块包括16×16像素模块;以及
该子模块包括8×8像素模块、6×6像素模块、4×4像素模块、或2×2像素模块之一。
29.根据权利要求1所述的方法,其中:
该模块包括8×8像素模块;以及
该子模块包括6×6像素模块、4×4像素模块、或2×2像素模块之一。
30.根据权利要求1所述的方法,其中该像素子模块各包括一相同数量的像素。
31.根据权利要求1所述的方法,其中各个像素子模块可包括形状相同的像素模块,其各包括相同数量的像素。
32.一种用于来自一第一视频帧与一第二视频帧的像素模块之间的运动估计的仪器,其包括:
一第一运动估计器,以用于将来自该第一任务中的以第二视频帧的一当前模块适应性处理;
一第二运动估计器,以用于将该第二任务中的该当前像素模块与该当前像素模块的当前像素模块适应性处理;
一第三运动估计器,以用于将在一第三任务中的该当前像素子模块适应性处理;以及
一决策模块,用于在一第一视频帧中为以下项目确定搜索点:(1)来自该第一任务的一像素模块;(2)来自该第二任务的一模块与多个像素子模块;以及(3)来自该第三任务的多个像素子模块,其提供了该当前像素模块与该当前像素子模块的最低匹配成本;以及
丢弃在以下项目中至少一个之间冗余的搜索点:(1)进行第三任务时的该第一与第三任务之间;(2)进行该第二任务时的该第一与第二任务之间;以及(3)进行该第三任务时的该第二与第三任务之间。
33.根据权利要求32所述的仪器,其进而包括:
一第一帧存储,其用于储存该第一视频帧;
一第二帧存储,其用于储存该第二视频帧;以及
一运动补偿器,其用于从该决策模块预测使用至少一个具有该最低匹配成本的该模块或该子模块的当前像素模块;
其中:
在一全象素搜索中的该第一任务中,该第一运动估计器将来自该第二视频帧的一全象素当前像素模块与来自该第一视频帧的一第一预定义搜索区域的许多候选全像素像素模块作比较,从而在该第一预定义搜索区域内定位一最匹配全像素象素模块,其与该第二视频帧中的当前像素模块最为匹配;
该第二运动估计器(1)在一第一子像素搜索中的第二任务内,比较来自于划分当前像素模块的N个当前像素子模块,与来自于该第一视频帧的一第二预定义区域的许多候选子象素像素子模块,以在该第二预定义搜索区域内定位N个单独的最匹配子象素像素子模块,其相应与各个N个当前像素子模块最为匹配;以及(2)在一第二子象素搜索的第二任务内,比较当前像素模块与该第二预定义搜索内的许多候选子象素像素子模块,以在该第二预定义搜索区域内定位一最匹配子象素像素子模块,其与当前像素模块最为匹配;
在一第三任务子象素搜索中,第三运动估计器比较该N个当前像素子模块与来自于该第一视频帧的一第三预定义搜索区域的许多候选子象素像素子模块,以在该第三预定义搜索区域内为各个N个当前像素子模块定位一个新的最匹配子象素像素子模块;以及
决策模块确定来自于第一、第二与第三运动估计器中至少一个的具有最低匹配成本的模块与子模块。
34.根据权利要求33所述的仪器,其进而包括
存储器,其用于存储下列中的至少一个:(1)来自该第一任务的至少一个候选像素模块的搜索点和匹配成本;(2)来自该第二任务的多个候选子象素像素子模块的搜索点与匹配成本;(3)来自该第二任务的至少一个候选子象素像素模块的搜索点与匹配成本;以及(4)来自该第三任务的多个候选子象素子模块的搜索点与匹配成本。
35.根据权利要求34所述的仪器,其中该运动估计存储未计算且未储存位于冗余搜索点的候选模块与子模块。
36.根据权利要求34所述的仪器,其中
该运动补偿器根据以下项目之一预测在第二视频帧中的该当前像素模块:(1)来自该第三任务的该N个新的最匹配子象素像素子模块,或(2)来自该第二任务的最匹配子象素像素子模块。
37.根据权利要求34所述的仪器,其中
该第一预定义搜索区域位于对应于该第二视频帧中的当前像素模块的位置的该第一视频帧的中心;
该第二预定义搜索区域位于该第一任务中所定位的最匹配像素模块的中心;以及
该第三预定义搜索区域位于在第二任务中定位的最匹配子象素像素模块的中央,该第三预定义搜索区域具有N个搜索窗口,其与各个N个单独子象素子模块搜索相对应。
38.根据权利要求37所述的仪器,其中:
该第一视频帧中的该第一预定义搜索区域包括该第二视频帧内的该当前像素模块的相应位置周围的一个一般区域。
39.根据权利要求37所述的仪器,其中:
该第二预定义搜索区域可比由该第一任务所获得的该最匹配像素模块向各个方向延伸至少一个子象素。
40.根据权利要求37所述的仪器,其中:
各个N个搜索窗口可比从在该第二任务中所定位的该最匹配子象素模块所获得的一相应的子象素像素子模块向各个方向延伸至少一个子象素。
41.根据权利要求34所述的仪器,其中:
来自于该第三任务的多个候选子象素子模块的搜索点与匹配成本至少包括该N个新的最匹配子象素子模块的搜索点与匹配成本;
可基于以下项目之一计算在第二视频帧中的当前像素模块:(1)来自该第三任务的N个新的最匹配子象素像素子模块;或(2)来自该第二任务的最匹配子象素像素子模块。
42.根据权利要求34所述的仪器,其中:
储存各个(1)来自该第一任务的至少一个候选像素模块的的搜索点与匹配成本;(2)来自该第二任务的多个候选子象素子模块的搜索点与匹配成本;(3)来自该第二任务的至少一个候选子象素像素模块的搜索点与匹配成本;以及(4)来自该第三任务的多个候选子象素子模块的搜索点与匹配成本;以及
丢弃以下各项目之间的冗余搜索点:(1)该第一与第三任务;(2)该第一与第二任务;以及(3)该第二与第三任务,从而未计算位于该种冗余搜索点处的候选模块与子模块的匹配成本。
43.根据权利要求34所述的仪器,其中:
储存来自该第一任务的至少一个候选像素模块的搜索点与匹配成本;以及
丢弃第一与第二任务之间冗余的搜索成本,从而未计算位于该种冗余搜索点处的候选模块的匹配成本。
44.根据权利要求34所述的仪器,其进而包括:
在该第一任务中:
在一第一任务全象素搜索中,该第一运动估计器比较该N个当前像素子模块与来自该第一预定义搜索区域的许多候选全象素像素子模块,从而在该第一预定义搜索区域内定位N个单独的最匹配全象素像素子模块,其相应与各个N个当前像素子模块最为匹配;
其中:
储存来自该第一任务的多个候选全象素像素子模块的该搜索点与匹配成本;以及
丢弃至少一个以下项目之间冗余的搜索点:(1)该第一与第二任务;以及(2)该第一与第三任务,从而未计算位于该种冗余搜索点的候选模块与子模块的匹配成本。
45.根据权利要求34所述的仪器,其中:
储存来自该第二任务的多个候选子象素子模块的搜索点与匹配成本;
丢弃在第二与第三任务之间冗余的搜索点,从而未计算位于该种冗余搜索点的候选模块与子模块的匹配成本。
46.根据权利要求34所述的仪器,其中:
各个预定义搜索区域包括一方形像素模块、一矩形像素模块、一钻石形像素模块、或一不规则形像素模块之一。
47.根据权利要求34所述的仪器,其进而包括:
对于第二与第三任务,将各个模块与像素子模块的第一视频帧中的像素数据添加至第二与第三任务的子象素分辨率。
48.根据权利要求34所述的仪器,其中:
该第二任务的搜索范围可为横向+/-n*p象素以及纵向+/-m*p象素,其中n与m为任意正整数,且p为任意分数;
将该第三任务的搜索点视为多于该第二任务的搜索点,其中该第三任务的一个搜索点与该第二预定义搜索区域中心的距离为:(1)横向小于或等于n*p象素;以及(2)纵向小于或等于m*p象素;以及
未计算位于冗余搜索点的候选模块的匹配成本。
49.根据权利要求48所述的仪器,其中
该子象素搜索可包括以下项目之一:(1)一个1/2象素搜索,其中p等于0.5;(2)一个1/4象素,其中p等于0.25;或(3)一个1/8象素搜索,其中p等于0.125。
50.根据权利要求34所述的仪器,其中:
该第一运动补偿器计算各个候选模块与当前像素模块之间的一匹配成本;以及
该决策模块依次将来自于各个候选模块的各个匹配成本与一先前所找到的最低匹配成本比较;以及
最匹配全象素像素模块是提供最低匹配成本的一个候选像素模块。
51.根据权利要求50所述的仪器,其中该匹配成本包括该候选模块与该当前模块之间的一个失真衡量。
52.根据权利要求34所述的仪器,其中:
在该第一子象素搜索中:
该第二运动补偿器计算各个候选子象素子模块与该N个当前像素子模块中的相应一个之间的匹配成本;
该决策模块依次将来自于各个候选模块的各个匹配成本与一先前所找到的各个当前子模块的最低匹配成本比较;
该N个最匹配子象素像素子模块相应是N个提供各个N个当前子模块的最低匹配成本的N个候选像素模块;以及
在该第二子象素搜索中:
该第二运动补偿器计算各个子象素候选模块与当前像素模块之间的匹配成本;以及
该决策模块依次将各个候选子象素模块的各个匹配成本与先前所找到的最低匹配成本比较;
该最匹配子象素像素模块是一个提供最低匹配成本的候选子象素像素模块。
53.根据权利要求52所述的仪器,其中:
在该第二任务中,同时执行该第一子象素搜索与该第二子象素搜索;以及
各个候选子象素像素模块的匹配成本包括N个子象素像素子模块的匹配成本总和。
54.根据权利要求52所述的仪器,其中该匹配成本包括一该候选子象素模块与该当前模块或该候选子象素子模块与该当前子模块之间的失真衡量。
55.根据权利要求34所述的仪器,其中:
该第三运动估计器计算各个候选子象素子模块与该N个当前像素子模块中之相应一个之间的匹配成本组成;以及
该决策模块依次将来自于各个候选子象素子模块的各个匹配成本与先前所找到的各个当前子模块的一个最低匹配成本相比较;
该N个新的最匹配子象素像素子模块是相应提供各个N个当前子模块的最低匹配成本的N个候选像素子模块。
56.根据权利要求55所述的仪器,其中该匹配成本包括一该候选子象素模块与该当前模块之间的失真衡量。
57.根据权利要求34所述的仪器,其中该子模块的数量N可为任何大于一的正整数。
58.根据权利要求32所述的仪器,其中该子象素搜索包括1/2象素搜索、一个1/4象素搜索、或一个1/8象素搜索之一。
59.根据权利要求32所述的仪器,其中:
该模块包括16×16像素模块;以及
该子模块包括8×8像素模块、6×6像素模块、4×4像素模块、或2×2像素模块之一。
60.根据权利要求32所述的仪器,其中:
该模块包括8×8像素模块;以及
该子模块包括6×6像素模块、4×4像素模块、或2×2像素模块之一。
61.根据权利要求32所述的仪器,其中该像素子模块各包括一相同数量的像素。
62.根据权利要求32所述的仪器,其中各个像素子模块包括形状相同的像素模块,其各包括相同数量的像素。
63.一种用于一像素模块运动估计的方法,其包括步骤有:
在一第一任务中,在一第一视频帧的一第一预定义搜索区域内实施一全象素搜索,从而定位一最匹配的象素全象素模块,其来自于该第一预定义搜索领域内的许多像素候选模块,其与一第二视频帧内当前的像素模块最为匹配;
将该当前像素模块划分为N个当前像素子模块;
在该第二任务中,实施两个搜索:(1)在该第一视频帧的一第二预定义搜索区域的一第一子象素搜索,从而定位N个单独的最匹配子象素像素子模块,其来自于该第二预定义搜索区域中的候选子象素像素子模块,其与相应与该各N个当前像素子模块最为匹配;以及(2)在该第二预定义搜索区域内的一第二子象素搜索,从而定位一最匹配的像素子模块,其来自于该第二预定义搜索区域内的许多候选子象素像素模块,其与该第二视频帧内的当前像素模块最为匹配;
在一第三任务中,在一第三预定义搜索区域内实施N个单独子象素搜索,从而定位一个新的最匹配子象素像素模块,其来自于各个该N个当前像素子模块的该第三预定义搜索区域许多候选象素像素模块;
储存以下至少一个的搜索点与匹配成本:(1)来自该第一任务的至少一个候选像素模块的搜索点与匹配成本;(2)来自该第二任务的多个候选子象素像素子模块的搜索点与匹配成本;(3)来自该第二任务的至少一个候选子象素像素子模块的搜索点与匹配成本;以及(4)来自该第三任务的多个候选子象素像素子模块的搜索点与匹配成本;以及
丢弃以下项目的之间的至少一个的冗余搜索点:(1)进行第三任务该第一与第三任务之间;(2)进行该第二任务时的该第一与第二任务之间;以及(3)进行该第三任务时的该第二与第三任务之间,从而使得这些冗余搜索点的匹配成本未被储存。
64.一种用于一像素模块的运动估计的仪器,其包括:
一第一帧存储,其用于储存该第一视频帧;
一第二帧存储,其用于储存该第二视频帧;
一第一运动估计器,其在一第一任务全象素搜索中,比较来自该第二视频帧的一全象素当前像素模块与来自该第一视频帧的一第一预定义搜索区域的许多候选全像素像素模块,从而在该第一预定义搜索区域内定位一最匹配全像素象素模块,其与该第二视频帧中的当前像素模块最为匹配;
一第二运动估计器,(1)在一第一子像素搜索中的第二任务内,比较来自于划分当前像素模块的N个当前像素子模块,与来自于该第一视频帧的一第二预定义区域的许多候选子象素像素子模块,以在该第二预定义搜索区域内定位N个单独的最匹配子象素像素子模块,其相应与各个N个当前像素子模块最为匹配;以及(2)在一第二子象素搜索的第二任务内,比较当前像素模块与该第二预定义搜索内的许多候选子象素像素子模块,以在该第二预定义搜索区域内定位一最匹配子象素像素子模块,其与当前像素模块最为匹配;
一第三运动估计器,在一第三任务子象素搜索中,其比较该N个当前像素子模块与来自于该第一视频帧的一第三预定义搜索区域的许多候选子象素像素子模块,以在该第三预定义搜索区域内为各个N个当前像素子模块定位一个新的最匹配子象素像素子模块;以及
一决策模块,用于确定来自于第一、第二与第三运动估计器中至少一个的具有最低匹配成本的模块与子模块;
一运动补偿器,其用于使用至少一个来自该决策模块的具有最低匹配成本的该模块或该子模块之一以预测当前像素模块;
存储器,其用于存储下列中的至少一个:(1)来自该第一任务的至少一个候选像素模块的搜索点和匹配成本;(2)来自该第二任务的多个候选子象素像素子模块的搜索点与匹配成本;(3)来自该第二任务的至少一个候选子象素像素模块的搜索点与匹配成本;以及(4)来自该第三任务的多个候选子象素子模块的搜索点与匹配成本;
其中丢弃以下项目的之间的至少一个的冗余搜索点:(1)进行第三任务时的该第一与第三任务之间;(2)进行该第二任务时的该第一与第二任务之间;以及(3)进行该第三任务时的该第二与第三任务之间,从而使得这些冗余搜索点处的候选模块与子模块的匹配成本未被计算与储存。
CNA028145429A 2001-07-27 2002-07-25 用于子像素运动估计的方法与仪器 Pending CN1533675A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/917,185 US6859494B2 (en) 2001-07-27 2001-07-27 Methods and apparatus for sub-pixel motion estimation
US09/917,185 2001-07-27

Publications (1)

Publication Number Publication Date
CN1533675A true CN1533675A (zh) 2004-09-29

Family

ID=25438458

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA028145429A Pending CN1533675A (zh) 2001-07-27 2002-07-25 用于子像素运动估计的方法与仪器

Country Status (7)

Country Link
US (1) US6859494B2 (zh)
EP (1) EP1413144A2 (zh)
KR (1) KR20040016878A (zh)
CN (1) CN1533675A (zh)
CA (1) CA2449048A1 (zh)
MX (1) MXPA04000785A (zh)
WO (1) WO2003013143A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547258A (zh) * 2010-12-14 2012-07-04 联芯科技有限公司 一种帧间编码中子象素搜索方法、运动搜索方法及其模块

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143609A (ja) * 2001-08-21 2003-05-16 Canon Inc 画像処理装置、画像処理方法、記録媒体及びプログラム
US8175159B2 (en) * 2002-01-24 2012-05-08 Hitachi, Ltd. Moving picture signal coding method, decoding method, coding apparatus, and decoding apparatus
JP4401783B2 (ja) * 2002-01-24 2010-01-20 株式会社日立製作所 動画像の符号化方法
US8284844B2 (en) 2002-04-01 2012-10-09 Broadcom Corporation Video decoding system supporting multiple standards
JP4724351B2 (ja) * 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
KR100508975B1 (ko) * 2003-05-20 2005-08-17 주식회사 팬택 다층 레벨 연속 제거 알고리즘을 이용한 동영상 움직임추정 방법
US7788605B1 (en) * 2003-05-22 2010-08-31 Apple Inc. Morphing between views of data
US7720148B2 (en) * 2004-03-26 2010-05-18 The Hong Kong University Of Science And Technology Efficient multi-frame motion estimation for video compression
US20060002474A1 (en) * 2004-06-26 2006-01-05 Oscar Chi-Lim Au Efficient multi-block motion estimation for video compression
TWI274297B (en) * 2004-11-19 2007-02-21 Aiptek Int Inc Method for deciding partition types of macro block
US7536487B1 (en) * 2005-03-11 2009-05-19 Ambarella, Inc. Low power memory hierarchy for high performance video processor
US7860165B2 (en) * 2005-05-20 2010-12-28 Microsoft Corporation Framework for fine-granular computational-complexity scalable motion estimation
US20060285597A1 (en) * 2005-06-20 2006-12-21 Flextronics International Usa, Inc. Reusing interpolated values in advanced video encoders
WO2007078800A1 (en) * 2005-12-15 2007-07-12 Analog Devices, Inc. Motion estimation using prediction guided decimated search
KR100772390B1 (ko) * 2006-01-23 2007-11-01 삼성전자주식회사 방향 보간 방법 및 그 장치와, 그 보간 방법이 적용된부호화 및 복호화 방법과 그 장치 및 복호화 장치
KR100747544B1 (ko) * 2006-03-31 2007-08-08 엘지전자 주식회사 움직임 추정 방법 및 장치
US9307122B2 (en) * 2006-09-27 2016-04-05 Core Wireless Licensing S.A.R.L. Method, apparatus, and computer program product for providing motion estimation for video encoding
US8213509B2 (en) 2006-10-06 2012-07-03 Calos Fund Limited Liability Company Video coding on parallel processing systems
US20080310514A1 (en) * 2007-06-14 2008-12-18 Texas Instruments Incorporated Adaptive Density Search of Motion Estimation for Realtime Video Compression
KR101403343B1 (ko) 2007-10-04 2014-06-09 삼성전자주식회사 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치
KR100922898B1 (ko) * 2007-12-17 2009-10-20 한국전자통신연구원 IP 미디어의 QoE 보장형 영상품질 측정장치 및측정방법
US8379727B2 (en) 2008-09-26 2013-02-19 General Instrument Corporation Method and apparatus for scalable motion estimation
US8218644B1 (en) 2009-05-12 2012-07-10 Accumulus Technologies Inc. System for compressing and de-compressing data used in video processing
US8705615B1 (en) 2009-05-12 2014-04-22 Accumulus Technologies Inc. System for generating controllable difference measurements in a video processor
KR101451286B1 (ko) * 2010-02-23 2014-10-17 니폰덴신뎅와 가부시키가이샤 움직임 벡터 추정 방법, 다시점 영상 부호화 방법, 다시점 영상 복호 방법, 움직임 벡터 추정 장치, 다시점 영상 부호화 장치, 다시점 영상 복호 장치, 움직임 벡터 추정 프로그램, 다시점 영상 부호화 프로그램 및 다시점 영상 복호 프로그램
KR101374812B1 (ko) * 2010-02-24 2014-03-18 니폰덴신뎅와 가부시키가이샤 다시점 영상 부호화 방법, 다시점 영상 복호 방법, 다시점 영상 부호화 장치, 다시점 영상 복호 장치 및 프로그램
TWI403175B (zh) * 2010-06-11 2013-07-21 Ind Tech Res Inst 畫面內預測模式最佳化方法與影像壓縮方法以及裝置
CN103208111B (zh) * 2012-01-17 2015-10-07 富士通株式会社 用于修正图像角点的方法和装置以及图像处理设备
EP2839654A4 (en) * 2012-04-20 2015-11-18 Intel Corp EFFICIENT FRACTIONAL MOTION ESTIMATION IN TERMS OF PERFORMANCE AND BANDWIDTH
US9781418B1 (en) * 2012-06-12 2017-10-03 Google Inc. Adaptive deadzone and rate-distortion skip in video processing
US9179155B1 (en) 2012-06-14 2015-11-03 Google Inc. Skipped macroblock video encoding enhancements
US9350970B2 (en) * 2012-12-14 2016-05-24 Qualcomm Incorporated Disparity vector derivation
US10477233B2 (en) * 2015-09-30 2019-11-12 Apple Inc. Predictor candidates for motion estimation search systems and methods
US11202070B2 (en) 2019-05-30 2021-12-14 Hulu, LLC Parallel bi-directional intra-coding of sub-partitions
US11197009B2 (en) * 2019-05-30 2021-12-07 Hulu, LLC Processing sub-partitions in parallel using reference pixels

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093720A (en) 1990-08-20 1992-03-03 General Instrument Corporation Motion compensation for interlaced digital television signals
US5398079A (en) 1993-01-27 1995-03-14 General Instrument Corporation Half-pixel interpolation for a motion compensated digital video system
TW283289B (zh) 1994-04-11 1996-08-11 Gen Instrument Corp
US5638128A (en) 1994-11-08 1997-06-10 General Instrument Corporation Of Delaware Pixel interpolation filters for video decompression processor
KR100234264B1 (ko) * 1997-04-15 1999-12-15 윤종용 타겟윈도우 이동을 통한 블록 매칭방법
JP3813320B2 (ja) 1997-08-27 2006-08-23 株式会社東芝 動きベクトル検出方法および装置
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
US6438168B2 (en) * 2000-06-27 2002-08-20 Bamboo Media Casting, Inc. Bandwidth scaling of a compressed video stream

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102547258A (zh) * 2010-12-14 2012-07-04 联芯科技有限公司 一种帧间编码中子象素搜索方法、运动搜索方法及其模块

Also Published As

Publication number Publication date
US6859494B2 (en) 2005-02-22
WO2003013143A3 (en) 2004-02-12
CA2449048A1 (en) 2003-02-13
EP1413144A2 (en) 2004-04-28
KR20040016878A (ko) 2004-02-25
WO2003013143A2 (en) 2003-02-13
MXPA04000785A (es) 2004-06-03
US20030021344A1 (en) 2003-01-30

Similar Documents

Publication Publication Date Title
CN1533675A (zh) 用于子像素运动估计的方法与仪器
CN1237809C (zh) 运动图象解码方法和运动图象解码装置
CN1197385C (zh) 数字视频的运动估值
US20030156646A1 (en) Multi-resolution motion estimation and compensation
US7733958B2 (en) Method for fast multiple reference frame motion estimation
US6983018B1 (en) Efficient motion vector coding for video compression
US20090274213A1 (en) Apparatus and method for computationally efficient intra prediction in a video coder
US20090274211A1 (en) Apparatus and method for high quality intra mode prediction in a video coder
US20070014362A1 (en) Method and apparatus for motion compensated temporal filtering
CN101335896A (zh) 用于前向预测的隔行扫描视频帧的场的预测运动矢量
CN1675848A (zh) 用于执行高质量快速预测运动搜索的方法和设备
CN1977541A (zh) 运动补偿预测方法和运动补偿预测装置
CN1650634A (zh) 利用根据多个参考帧的运动补偿时域滤波的基于可分级小波的编码
Lee et al. New motion estimation algorithm using adaptively quantized low bit-resolution image and its VLSI architecture for MPEG2 video encoding
US7072399B2 (en) Motion estimation method and system for MPEG video streams
CN1604653A (zh) 差分编码方法
CN1320830C (zh) 噪声估计方法和设备、以及利用其编码视频的方法和设备
US20090028241A1 (en) Device and method of coding moving image and device and method of decoding moving image
EP1389875A2 (en) Method for motion estimation adaptive to DCT block content
Zhang et al. Rotate intra block copy for still image coding
US6480629B1 (en) Motion estimation method using orthogonal-sum block matching
Wang et al. A fast fractional pel motion estimation algorithm for H. 264/MPEG-4 AVC
Peng et al. Hash-based line-by-line template matching for lossless screen image coding
CN1802843A (zh) 电视接收机及图像处理方法
US20030152147A1 (en) Enhanced aperture problem solving method using displaced center quadtree adaptive partitioning

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication