CN102340664B - 用于运动估计的技术 - Google Patents

用于运动估计的技术 Download PDF

Info

Publication number
CN102340664B
CN102340664B CN201110056040.4A CN201110056040A CN102340664B CN 102340664 B CN102340664 B CN 102340664B CN 201110056040 A CN201110056040 A CN 201110056040A CN 102340664 B CN102340664 B CN 102340664B
Authority
CN
China
Prior art keywords
tolerance
reference frame
current block
motion vector
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201110056040.4A
Other languages
English (en)
Other versions
CN102340664A (zh
Inventor
Y-J·邱
L·徐
W·张
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.)
Intel Corp
Original Assignee
Intel 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
Priority claimed from US12/657,168 external-priority patent/US20110002387A1/en
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN102340664A publication Critical patent/CN102340664A/zh
Application granted granted Critical
Publication of CN102340664B publication Critical patent/CN102340664B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明是用于运动估计的技术。描述了可用于在视频解码器基于B帧中或P帧中的重构的参考图像来应用运动估计(ME)的技术。对于P帧,可执行投影ME来获得当前输入块的运动矢量(MV)。在B帧中,可以执行投影ME和镜像ME来获得当前输入块的MV。度量可用于为在搜索路径中发现的每对MV0和MV1确定度量,其中,该度量基于第一、第二和第三度量的组合。第一度量基于时间上的帧相关,第二度量基于参考块的空间相邻者,以及第三度量基于当前块的空间相邻者。

Description

用于运动估计的技术
技术领域
本发明涉及图像处理,具体来说,涉及用于运动估计的技术。
背景技术
又称为高级视频编解码器(AVC)的H.264以及MPEG-4第10部分是预期会被工业广泛推行的ITU-T/ISO视频压缩标准。H.264标准已经由联合视频小组(JVT)制定,其中包括称为VCEG(视频编码专家组)的ITU-TSG16Q.6,还包括称为MPEG(运动图像专家组)的ISO/IECJTC1/SC29/WG11。H.264为数字电视广播(DTV)、直接广播卫星(DBS)视频、数字用户线(DSL)视频、交互式存储媒体(ISM)、多媒体消息传送(MMM)、数字地面电视广播(DTTB)以及远程视频监控(RVS)领域中的应用而设计。
视频编码中的运动估计(ME)可用于通过移除或减少视频帧之间的时间冗余来提高视频压缩性能。为了对输入块进行编码,可在编码器中在参考帧中的指定搜索窗口内执行传统的运动估计。这可允许确定使输入块和参考帧中的参考块之间的绝对差之和(SAD)最小化的运动矢量。然后可将运动矢量(MV)信息发送到解码器以用于运动补偿。可以为分数像素单元确定运动矢量,并且插值滤波器可被用于计算分数像素值。
在解码器中无法获得原始输入帧的情况下,解码器中的ME可使用重构的参考帧来执行。当对预测帧(P帧)编码时,在前向参考缓冲器中可能有多个参考帧。当对双向预测帧(B帧)编码时,在前向参考缓冲器中可能有多个参考帧,以及在后向参考缓冲器中可能有至少一个参考帧。对于B帧编码,可执行镜像ME或者投影ME以得到MV。对于P帧编码,可执行投影ME以得到MV。
在其它情况中,可在视频解码器中,通过对于一个或多个帧中的块在可获得的先前已解码的像素上执行运动估计,来产生基于块的运动矢量。可获得的像素可以是例如:以当前帧的连续扫描编码顺序在空间上相邻的块、先前已解码的帧中的块、或者当已使用分层编码时更低层中降采样帧中的块。备选地,可获得的像素可以是上述块的组合。
在传统的视频编码系统中,为了当前编码块的预测,在编码器端执行ME以确定运动矢量,并且为了当前解码块的运动补偿,运动矢量应该被编码到二进制流中并发送给解码器端。在一些高级视频编码标准,例如H.264/AVC中,为了编码,可将宏块(MB)划分成更小的块,并且运动矢量可被分配给每个子划分(sub-partitioned)块。因此,如果MB被划分成4×4的块,对于预测编码MB有多达16个运动矢量,对于双向预测编码MB有多达32个运动矢量。结果,相当大的带宽被用于从编码器向解码器发送运动矢量信息。
发明内容
按照本发明的一个方面,提供一种计算机实现的方法,包括:
在视频解码器中,在第一参考帧中指定搜索窗口;
在所述第一参考帧的所述搜索窗口中指定搜索路径;
对于所述搜索路径中的每个运动矢量MV0,确定指向第二参考帧中的参考块的对应的第二运动矢量MV1,其中每个MV0从当前块指向所述搜索窗口中的参考块,其中所述对应的第二运动矢量MV1是MV0的函数;
对于在所述搜索路径中发现的每对MV0和MV1确定度量,其中所述度量包括第一度量、第二度量和第三度量的组合,并且其中所述第一度量基于时间上的帧相关,第二度量基于所述参考块的空间相邻者,以及第三度量基于所述当前块的空间相邻者;
选择MV0,所选择的MV0的所述度量的对应值是期望值,其中所选择的MV0被用作所述当前块的运动矢量;以及
提供用于显示的图像,其中所述用于显示的图像部分地基于所选择的MV0。
按照本发明的另一方面,提供一种视频解码器,包括:
用于在搜索路径中确定每个运动矢量MV0的逻辑,其中每个MV0从当前块指向搜索窗口中的参考块,
用于确定指向第二参考帧中的参考块的对应的第二运动矢量MV1的逻辑,其中所述对应的第二运动矢量MV1是MV0的函数;
用于为在所述搜索路径中发现的每对MV0和MV1确定度量的逻辑,其中所述度量包括第一度量、第二度量和第三度量的组合,并且其中所述第一度量基于时间上的帧相关,第二度量基于所述参考块的空间相邻者,以及第三度量基于所述当前块的空间相邻者;以及
用于选择MV0的逻辑,所选择的MV0的所述度量的对应值是期望值,其中所选择的MV0被用作所述当前块的运动矢量。
按照本发明的又一方面,提供一种系统,包括:
显示器;
存储器;以及
可通信地耦合至所述显示器的处理器,所述处理器被配置为:
在搜索路径中确定每个运动矢量MV0,其中每个MV0从当前块指向搜索窗口中的参考块,
确定指向第二参考帧中的参考块的对应的第二运动矢量MV1,其中所述对应的第二运动矢量MV1是MV0的函数,
为在所述搜索路径中发现的每对MV0和MV1确定度量,其中所述度量包括第一度量、第二度量和第三度量的组合,并且其中所述第一度量基于时间上的帧相关,第二度量基于参考块的空间相邻者,以及第三度量基于当前块的空间相邻者,以及
选择MV0,所选择的MV0的所述度量的对应值是期望值,其中所选择的MV0被用作所述当前块的运动矢量。
附图说明
图1描绘一种使用镜像ME确定B帧中当前块的运动矢量的方式的示例。
图2描绘一种基于两个前向参考帧确定P帧中当前块的运动矢量的投影ME的示例。
图3示出一个扩展参考块。
图4示出当前块的空间相邻者。
图5描绘按照一个实施例的过程。
图6说明一个可用于确定运动矢量的实施例。
图7说明一个可包括自身MV导出模块的示范H.264视频编码器架构。
图8说明一个具有自身MV导出模块的H.264视频解码器。
具体实施方式
数字视频剪辑包括连续的视频帧。连续帧中的对象或背景的运动可形成平滑轨迹,并且连续帧中的运动可具有相对强的时间上的相关。通过利用这种相关,对于当前编码块,可通过从重构的参考图像来估计运动而得出运动矢量。相对于在编码器执行的运动估计,在解码器的运动矢量的确定可减少传输带宽。
在解码器中无法获得原始输入像素信息的情况下,在解码器中的ME可使用重构的参考帧和当前帧的可获得的重构块来执行。这里,“可获得的”是指在当前块之前已被重构的块。当对P帧进行编码时,在前向参考缓冲器中可能有多个参考帧。当对B帧进行编码时,在前向参考缓冲器中可能有多个参考帧,并且在后向参考缓冲器中可能有至少一个参考帧。
下面论述按照一个实施例为获得当前块的MV而在解码器中执行ME。对于B帧编码,可执行镜像ME或投影ME以确定MV。对于P帧编码,可执行投影ME以确定MV。注意,正如本领域普通技术人员会理解的那样,术语“帧”和“图像”在本文中可互换地使用。
为解码器提供各种实施例,以便本身为解码块确定运动矢量,而不是从编码器接收运动矢量。解码器端的运动估计可基于时间上的帧相关、以及基于参考块的空间相邻者和当前块的空间相邻者来执行。例如,运动矢量可通过执行参考缓冲器中的两个重构图像之间的解码器端的运动搜索来确定。对于P图像中的块,可使用投影运动估计(ME),而对于B图像中的块,可使用投影ME和镜像ME。而且,ME可在块类型的子划分上执行。编码效率可受到为解码器端运动搜索应用自适应搜索范围的影响。例如,2009年10月20日提交(律师档案号P32772)的美国专利申请12/582061中描述了用于确定搜索范围的技术。
图1描绘一种使用镜像ME确定B帧中当前块的运动矢量的方式的示例。在图1的实施例中,在前向参考帧120和后向参考帧130之间可能有两个B帧110和115。帧110可以是当前编码帧。当对当前块140编码时,可以通过分别在参考帧120和130的搜索窗口160和170中执行搜索来执行镜像ME以获得运动矢量。如上所述,在解码器中可能无法获得当前输入块的情况下,可以使用两个参考帧执行镜像ME。
图2描绘基于两个前向参考帧,前向Ref0(示为参考帧220)和前向Ref1(示为参考帧230)确定P帧中当前块的运动矢量的投影ME的一个示例。这些参考帧可用于为当前帧210中的目标块240得出运动矢量。可在参考帧220中指定搜索窗口270,并且可在搜索窗口270中指定搜索路径。对于搜索路径中的每个运动矢量MV0,可在参考帧230的搜索窗口260中确定它的投影运动矢量MV1。对于每对运动矢量,即MV0及其相关联的运动矢量MV1,可在(1)参考帧220中由MV0指向的参考块280和(2)参考帧230中由MV1指向的参考块250之间计算度量,例如绝对差之和。然后,产生度量的最佳值、例如最低SAD的运动矢量MV0可被选为用于目标块240的运动矢量。
对于关于图1和2所描述的情况确定运动矢量的技术在2009年9月25日提交(律师档案号P31100)的美国申请12/566823的相应图2和图4中被描述。
用于运动矢量的示例性搜索可如在美国申请12/566823的过程300和500中说明的那样进行。下面针对本专利申请的图1的情况提供确定运动矢量的过程的概述。可在前向参考帧中指定搜索窗口。这个搜索窗口在编码器中和在解码器中可相同。可在前向搜索窗口中指定搜索路径。只要编码器和解码器遵循相同的搜索路径,这里可使用全搜索或者任何快速搜索方案。对于搜索路径中的MV0,它的镜像运动矢量MV1可在后向搜索窗口中获得。这里,可假设在可能相对短的相关联时间周期内,运动轨迹是直线。可在(i)前向参考帧中由MV0指向的参考块和(ii)后向参考帧中由MV1指向的参考块之间计算如绝对差之和(SAD)之类的度量。这些参考块可被分别示为图1中的150和180。可对在搜索路径中是否存在任何额外的运动矢量MV0进行确定。如果存在,可重复所述过程并且可获得不止一个MV0,其中每个MV0具有相关联的MV1。此外,对于每个这样的相关联对,可获得度量,例如SAD。可选择产生度量的期望值、例如但不限于最低SAD的MV0。这个MV0则可用于为当前块预测运动。
下面针对本专利申请的图2的情况提供确定运动矢量的过程的概述。可在第一前向参考帧中指定搜索窗口。这个窗口在编码器和解码器中可相同。可在这个搜索窗口中指定搜索路径。例如,这里可使用全搜索或者快速搜索方案,使得编码器和解码器可遵循相同的搜索路径。对于搜索路径中的运动矢量MV0,它的投影运动矢量MV1可在第二搜索窗口中获得。这里可假设运动轨迹在这个短时间周期中是直线。可在(i)第一参考帧中由MV0指向的参考块和(ii)第二参考帧中由MV1指向的参考块之间计算如SAD之类的度量。可关于是否有在搜索路径中剩余的并且还未被考虑的任何额外运动矢量MV0进行确定。如果剩余至少一个MV0,可重复所述过程,其中对于另一MV0,可确定其对应的投影运动矢量MV1。以这种方式,可确定MV0和MV1对的集合,以及可为每对计算度量,例如SAD。可选择MV0之一,其中所选择的MV0产生度量的期望值,例如但不限于最低SAD。SAD度量的最低可获得值,即,更接近0的值,可暗示一种优选模式,因为等于0的SAD度量代表理论上的最佳值。这个MV0则可用于为当前块预测运动。
在各种实施例中,为确定运动矢量,确定两个参考帧中的两个镜像块或者投影块之间的绝对差之和(SAD)。当前块大小是M×N个像素,并且当前块的位置由当前块的左上方像素的坐标来表示。在各种实施例中,当参考帧R0中的运动矢量是MV0=(mv0_x,mv0_y)并且其它参考帧R1中对应的运动矢量是MV1=(mv1_x,mv1_y)时,运动搜索度量可采用式(1)确定。
J=J01J12J2                        (1)
J0代表可在(i)前向参考帧中由MV0指向的参考块和(ii)后向参考帧(或者图2的情况中的第二前向参考帧)中由MV1指向的参考块之间计算的绝对差之和(SAD),并且在2009年9月25日提交(律师档案号P31100)的美国申请12/566823中描述过。
J1是基于参考块的空间相邻者的扩展度量,以及
J2是基于当前块的空间相邻者的扩展度量,其中α1和α2是两个加权因子。因子α1和α2可通过模拟来确定,但缺省设置成1。
从式(1)产生值J的最佳值、例如最小SAD的运动矢量MV0则可被选为当前块的运动矢量。运动矢量MV0具有相关联的运动矢量MV1,按照下式来定义MV1:
MV 1 = d 1 d 0 MV 0 ,
其中,
当当前块在B图像中时,d0代表如图1中所示的当前帧的图像与前向参考帧之间的距离,
当当前块在P图像中时,d0代表如图2中所示的当前帧的图像与第一前向参考帧之间的距离,
当当前块在B图像中时,d1代表如图1中所示的当前帧的图像与后向参考帧之间的距离,以及
当当前块在P图像中时,d1代表如图2中所示的当前帧的图像与第二前向参考帧之间的距离。
对于图1的情况,给定对于当前块获得的运动矢量对MV0和MV1,其前向预测P0(MV0)可采用MV0获得,其后向预测P1(MV1)可采用MV1获得,而其双向预测可采用MV0和MV1这两者来获得。双向预测可以是例如P0(MV0)和P1(MV1)的平均值,或者加权平均值(P0(MV0)*d1+P1(MV1)*d0)/(d0+d1)。可使用备选函数来获得双向预测。在一个实施例中,编码器和解码器可使用相同的预测方法。在一个实施例中,所选择的预测方法可在标准规范中标识或者在已编码的比特流中用信号通知。
对于图2的情况,用于当前块的预测可以不同的方式获得。预测可以是例如P0(MV0)、P1(MV1)、(P0(MV0)+P1(MV1))/2、或者(P0(MV0)*d1+P1(MV1)*d0)/(d0+d1)。在其它实施例中,可使用其它函数。在编码器和解码器中可用相同的方式获得预测。在一个实施例中,预测方法可在标准规范中标识,或者在已编码的比特流中用信号通知。
在各种实施例中,J0可使用下式来确定:
J 0 = Σ j = 0 N - 1 Σ i = 0 M - 1 | R 0 ( x + mv 0 _ x + i , y + mv 0 _ y + j ) - R 1 ( x + mv 1 _ x + i , y + mv 1 _ y + j ) |
其中,
N和M是当前块的相应y尺寸和x尺寸,
R0是第一前向参考帧,R0(x+mv0_x+i,y+mv0_y+j)是在位置(x+mv0_x+i,y+mv0_y+j)处的R0中的像素值,
R1是用于镜像ME的第一后向参考帧或者用于投影ME的第二前向参考帧,并且R1(x+mv1_x+i,y+mv1_y+j)是在位置(x+mv1_x+i,y+mv1_y+j)处的R1中的像素值,
mv0_x是参考帧R0中x方向上的当前块的运动矢量,
mv0_y是参考帧R0中y方向上的当前块的运动矢量,
mv1_x是参考帧R1中x方向上的当前块的运动矢量,以及
mv1_y是参考帧R1中y方向上的当前块的运动矢量。
当运动矢量指向分数像素位置时,可通过插值,例如H.264/AVC标准规范中定义的双线性插值或者6抽头(6-tap)插值,来获得像素值。
参考图3对变量J1进行描述。图3示出一个扩展参考块。M×N参考块302在其四个边界上扩展,扩展的边界尺寸分别为W0,W1,H0和H1。因此,用于在图1和图2的情况中确定运动矢量的参考帧R0和R1中的每个参考块按照图3的示例来扩展。在一些实施例中,度量J1可使用下式来计算:
J 1 = Σ j = - H 0 N + H 1 - 1 Σ i = - W 0 M + W 1 - 1 | R 0 ( x + mv 0 _ x + i , y + mv 0 _ y + j ) - R 1 ( x + mv 1 _ x + i , y + mv 1 _ y + j ) | - J 0
其中,
M和N是原始参考块的尺寸。注意,扩展的参考块的尺寸是(M+W0+W1)×(N+H0+H1)。
参考图4对变量J2进行描述。图4示出当前块402的空间相邻者。注意,变量J2是参照与参考块相反的当前块做出的。当前块可位于新的图像中。块402是M×N像素当前块。因为块解码是按照光栅扫描顺序,因此可能有4个可获得的已解码的空间上相邻的区域,即,左侧相邻区域A0,上部相邻区域A1,左上方相邻区域A2和右上方相邻区域A3。当该当前块在帧边界上或者不在其母宏块(MB)的上方或左侧边界上时,对于当前块可能无法获得所述空间上相邻的区域中的一些区域。可获得性标志可为4个区域定义为γ0,γ1,γ2和γ3。如果区域的标志等于1,则该区域是可获得的,而如果它的标志等于0,则它是不可获得的。然后,对于当前块,可获得的空间区域被如下定义为Aavail
Aavail=γ0A01A12A23A3
因此,度量J2可如下计算:
J 2 = Σ ( x , y ) ∈ A avail | C ( x , y ) - ( ω 0 R 0 ( x + mv 0 _ x , y + mv 0 _ y ) + ω 1 R 1 ( x + mv 1 _ x , y + mv 1 _ y ) ) |
其中,
C(x,y)是在与当前块接界的区域内的当前帧中的像素,以及
ω0和ω1是两个加权因子,它们可根据新图像与参考帧0和1之间的帧距离来设置,或者被设置为0.5。
如果Rx代表新图像,如果R0到Rx的距离等于R1到Rx的距离,则可产生相等的加权。如果R0-Rx不同于R1-Rx,则加权因子相应地基于加权差来设置。
在一个实施例中,图4中的参数可设置如下,但不限于此:
W 0 = W 1 = H 0 = H 1 = 8 W L = W R = W T = 8 α 0 = α 1 = 1.0
图5描绘按照一个实施例的过程。块502包括当当前块在B图像中时在前向参考帧中指定搜索窗口,或者当当前块在P图像中时在第一前向参考帧中指定搜索窗口。这个搜索窗口在编码器和解码器中可相同。
块504包括在前向搜索窗口中指定搜索路径。只要编码器和解码器遵循相同的搜索路径,这里可使用全搜索或者任何快速搜索方案。
块506包括对于搜索路径中的每个MV0,确定(1)第二参考帧的搜索窗口中的运动矢量MV1,以及(2)基于第一参考帧中的参考块和由MV1指向的第二参考帧中的参考块的度量。当当前块在B图像中时,对于搜索路径中的MV0,其镜像运动矢量MV1可在后向搜索窗口中获得。当当前块在P图像中时,对于搜索路径中的MV0,其投影运动矢量MV1可在第二前向参考帧的搜索窗口中获得。这里可假设在可能相对短的相关联时间周期内运动轨迹是直线。MV1可作为MV0的以下函数来获得,其中d0和d1可以是当前帧和相应参考帧中的每一个之间的距离。
MV 1 = d 1 d 0 MV 0
块508包括选择具有最期望度量的运动矢量MV0。例如,可确定上述度量J,并且可选择与度量J的最低值相关联的MV0。这个MV0则可用于为当前块预测运动。
图6说明一个可用于确定运动矢量的实施例。系统600可包括处理器620和存储器610的主体,存储器610的主体可包括可存储计算机程序逻辑640的一个或多个计算机可读媒体。存储器610可实现为例如:硬盘及驱动器、如压缩盘及驱动器之类的可移动媒体、或者只读存储器(ROM)设备。存储器可以由处理器620通过网络来远程访问。处理器620和存储器610可使用本领域普通技术人员所知晓的若干技术中的任一种、例如总线来进行通信。存储器610中包含的逻辑可由处理器620读取和执行。一个或多个I/O端口和/或I/O设备,共同表示为I/O 630,也可与处理器620和存储器610连接。I/O端口可包括一个或多个用于无线通信接口的天线或者可包括有线通信接口。
计算机程序逻辑640可包括运动估计逻辑660。当执行时,运动估计逻辑660可执行上述的运动估计处理。运动估计逻辑660可包括例如投影运动估计逻辑,该逻辑在被执行时可完成上述操作。逻辑660可以还包括或者替换地包括例如:镜像运动估计逻辑、用于基于当前块的时间上或者空间上的相邻者执行ME的逻辑、或者用于基于对应于当前块的更低层的块执行ME的逻辑。
在运动估计逻辑660执行其处理之前,可产生搜索范围矢量。这可以如上所述由搜索范围计算逻辑650来执行。为搜索计算而执行的技术例如在2009年10月20日提交(律师档案号P32772)的美国专利申请12/582061中进行了描述。一旦产生了搜索范围矢量,这个矢量可用于为运动估计逻辑660执行的搜索划界。
执行搜索范围矢量确定的逻辑可被结合于自身MV导出模块中,该自身MV导出模块被用于更大的编解码器架构中。图7说明一个示例性的H.264视频编码器架构700,该架构700可包括自身MV导出模块740,其中H.264是一个视频编解码器标准。可从当前视频块710中以多个帧的形式提供当前视频信息。当前视频可被传送给差分单元711。差分单元711可以是差分脉冲编码调制(DPCM)(也称为核心视频编码)环路的一部分,该环路可包括运动补偿阶段722和运动估计阶段718。该循环还可包括内部预测阶段720和内部插值阶段724。在某些情况下,环内(in-loop)解块滤波器726也可用于该环路中。
当前视频710可被提供给差分单元711和运动估计阶段718。运动补偿阶段722或者内部插值阶段724可通过开关723产生输出,随后该输出可被从当前视频710中减去以产生残差。然后该残差可在变换/量化阶段712被变换和量化,并在块714中受到熵编码。在块716处信道输出结果。
运动补偿阶段722或者之间插值(inter-interpolation)阶段724的输出可被提供给求和器733,求和器733也可接收来自逆量化单元730和逆变换单元732的输入。后面这两个单元可解除变换/量化阶段712的变换和量化。逆变换单元732可将逆量化和逆变换信息返回给该环路。
自身MV导出模块740可实现此处描述的用于运动矢量导出的处理。自身MV导出模块740可接收环内解块滤波器726的输出,并可提供输出至运动补偿阶段722。
图8说明一个具有自身MV导出模块810的H.264视频解码器800。这里,针对图7的编码器700的解码器800可包括耦合至熵解码单元840的信道输入838。来自解码单元840的输出可被提供至逆量化单元842、逆变换单元844以及自身MV导出模块810。自身MV导出模块810可被耦合至运动补偿单元848。熵解码单元840的输出也可被提供至内部插值单元854,内部插值单元854可供给选择开关823。来自逆变换单元844、以及如开关823所选择的或者运动补偿单元848或者内部插值单元854的信息然后可被求和,并被提供至环内解块单元846,并反馈至内部插值单元854。环内解块单元846的输出然后可被馈送给自身MV导出模块810。
自身MV导出模块可被定位在视频编码器中,并与视频解码器端同步。自身MV导出模块可以备选地被应用于通用视频编解码器架构,并且不限于H.264编码架构。因此,可不从编码器向解码器发送运动矢量,这可节省传输带宽。
各种实施例为自身MV导出模块的解码器端ME使用空间-时间联合运动搜索度量,以提高视频编解码器系统的编码效率。
这里描述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和/或视频功能性可集成在芯片组内。备选地,可以使用分立的图形和/或视频处理器。作为另一个实施例,图形和/或视频功能可以由包括多核处理器的通用处理器来实现。在又一个实施例中,可以在消费者电子设备中实现所述功能。
本发明的实施例可实现为以下任一项或其组合:使用主板互连的一个或多个微芯片或者集成电路、硬连线逻辑、由存储设备存储并由微处理器执行的软件、固件、专用集成电路(ASIC)、和/或现场可编程门阵列(FPGA)。术语“逻辑”可包括例如软件或硬件和/或软件和硬件的组合。
本发明的实施例可被提供为例如计算机程序产品,其中可包括其上存储有机器可执行指令的一个或多个机器可读媒体,当上述机器可执行指令被一个或多个机器,例如计算机、计算机网络或者其他电子设备执行时,可导致所述一个或多个机器按照本发明的实施例来完成操作。机器可读媒体可包括但不限于,软盘、光盘、CD-ROM(压缩盘只读存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦可编程只读存储器)、EEPROM(电可擦可编程只读存储器)、磁卡或光卡、闪存、或者适用于存储机器可执行指令的其它类型的媒体/机器可读媒体。
附图和以上描述给出了本发明的示例。虽然被描绘成多个不同的功能项,但是本领域技术人员会理解这种元件中的一个或多个也可组合成单个功能元件。备选地,某些元件可以分离为多个功能元件。来自一个实施例的元件可以添加至另一个实施例。例如,这里描述的过程的顺序可改变并且不限于这里描述的方式。此外,任何流程图中的动作不必按所示顺序来实现;并且也不是所有的动作都需要执行。而且,那些不依赖于其它动作的动作可以与其它动作并行地执行。然而,本发明的范围绝不受这些具体示例的限制。各种变化,无论是否在说明书中明确给出,诸如结构、尺寸以及材料的使用上的差异都是可能的。本发明的范围至少与下述权利要求给出的一样宽。

Claims (25)

1.一种计算机实现的方法,包括:
在视频解码器中,在第一参考帧中指定搜索窗口;
在所述第一参考帧的所述搜索窗口中指定搜索路径;
对于所述搜索路径中的每个运动矢量MV0,确定指向第二参考帧中的参考块的对应的第二运动矢量MV1,其中每个MV0从当前块指向所述搜索窗口中的参考块,其中所述对应的第二运动矢量MV1是MV0的函数;
对于在所述搜索路径中发现的每对MV0和MV1确定度量,其中所述度量包括第一度量、第二度量和第三度量的组合,并且其中所述第一度量基于时间上的帧相关,第二度量基于所述参考块的空间相邻者,以及第三度量基于所述当前块的空间相邻者;
选择MV0,所选择的MV0的所述度量的对应值是期望值,其中所选择的MV0被用作所述当前块的运动矢量;以及
提供用于显示的图像,其中所述用于显示的图像部分地基于所选择的MV0。
2.如权利要求1所述的方法,其中确定度量包括:
确定所述第一度量、第二度量和第三度量的加权平均值。
3.如权利要求1所述的方法,其中确定度量包括:
基于下式来确定第一度量:
其中,
N和M是所述当前块的相应y尺寸和x尺寸,
R0包括第一前向参考帧,并且R0(x+mv0_x + i, y+mv0_y + j)包括在R0中在位置(x+mv0_x + i, y+mv0_y + j)处的像素值,
R1包括用于镜像ME的第一后向参考帧或者用于投影ME的第二前向参考帧,并且R1(x+mv1_x + i, y+mv1_y + j)包括在R1中在位置(x+mv1_x + i, y+mv1_y + j)处的像素值,
mv0_x包括参考帧R0中在x方向上的当前块的运动矢量,
mv0_y包括参考帧R0中在y方向上的当前块的运动矢量,
mv1_x包括参考帧R1中在x方向上的当前块的运动矢量,以及
mv1_y包括参考帧R1中在y方向上的当前块的运动矢量。
4.如权利要求3所述的方法,其中确定度量包括:
基于下式来确定第二度量:
5.如权利要求4所述的方法,其中确定度量包括:
基于下式来确定第三度量:
其中,
Aavail包括所述当前块周围的区域,
C(x,y)包括在与所述当前块接界的区域内的当前帧中的像素,以及
是能够根据新图像与参考帧0和1之间的帧距离来设置的两个加权因子。
6.如权利要求1所述的方法,其中:
所述当前块是在双向预测图像中,
第一前向参考帧包括前向参考帧,以及
第二前向参考帧包括后向参考帧。
7.如权利要求1所述的方法,其中:
所述当前块是在预测图像中,
第一前向参考帧包括第一前向参考帧,以及
第二前向参考帧包括第二前向参考帧。
8.如权利要求1所述的方法,其中所述度量包括绝对差之和的值,以及所述期望值包括最小的绝对差之和的值。
9.如权利要求1所述的方法,还包括:
在编码器中,通过以下步骤确定所述当前块的运动矢量:
在第三参考帧中指定第二搜索窗口;
在所述第三参考帧的所述第二搜索窗口中指定第二搜索路径;
对于所述第二搜索路径中的每个运动矢量MV2,确定指向第四参考帧中的参考块的对应的第二运动矢量MV3,其中每个MV2从所述当前块指向所述第二搜索窗口中的参考块;
为在所述第二搜索路径中发现的每对MV2和MV3确定度量,其中所述度量包括第一度量、第二度量和第三度量的组合;以及
选择MV2,所选择的MV2的所述度量的对应值是期望值,其中所选择的MV2被用作所述当前块的运动矢量。
10.一种视频解码器,包括:
用于在搜索路径中确定每个运动矢量MV0的逻辑,其中每个MV0从当前块指向搜索窗口中的参考块,
用于确定指向第二参考帧中的参考块的对应的第二运动矢量MV1的逻辑,其中所述对应的第二运动矢量MV1是MV0的函数;
用于为在所述搜索路径中发现的每对MV0和MV1确定度量的逻辑,其中所述度量包括第一度量、第二度量和第三度量的组合,并且其中所述第一度量基于时间上的帧相关,第二度量基于所述参考块的空间相邻者,以及第三度量基于所述当前块的空间相邻者;以及
用于选择MV0的逻辑,所选择的MV0的所述度量的对应值是期望值,其中所选择的MV0被用作所述当前块的运动矢量。
11.如权利要求10所述的解码器,还包括:
用于在第一参考帧中指定搜索窗口的逻辑;
用于在第一参考帧的搜索窗口中指定搜索路径的逻辑;以及
用于在第二参考帧中指定搜索窗口的逻辑。
12.如权利要求10所述的解码器,其中,为了确定度量,所述逻辑基于下式来确定第一度量:
其中,
N和M是所述当前块的相应y尺寸和x尺寸,
mv0_x包括参考帧R0中在x方向上的当前块的运动矢量,
mv0_y包括参考帧R0中在y方向上的当前块的运动矢量,
mv1_x包括参考帧R1中在x方向上的当前块的运动矢量,以及
mv1_y包括参考帧R1中在y方向上的当前块的运动矢量。
13.如权利要求12所述的解码器,其中为了确定度量,所述逻辑基于下式来确定第二度量:
14.如权利要求13所述的解码器,其中为了确定度量,所述逻辑基于下式来确定第三度量:
其中,
Aavail包括所述当前块周围的区域,
C(x,y)包括在与所述当前块接界的区域内的当前帧中的像素,
是能够根据新图像与参考帧0和1之间的帧距离来设置的两个加权因子。
15.如权利要求10所述的解码器,其中:
当前块是在双向预测图像中,
第一前向参考帧包括前向参考帧,以及
第二前向参考帧包括后向参考帧。
16.如权利要求10所述的解码器,其中:
当前块是在预测图像中,
第一前向参考帧包括第一前向参考帧,以及
第二前向参考帧包括第二前向参考帧。
17.一种计算机实现的装置,包括:
用于在视频解码器中,在第一参考帧中指定搜索窗口的部件;
用于在所述第一参考帧的所述搜索窗口中指定搜索路径的部件;
用于对于所述搜索路径中的每个运动矢量MV0,确定指向第二参考帧中的参考块的对应的第二运动矢量MV1的部件,其中每个MV0从当前块指向所述搜索窗口中的参考块,其中所述对应的第二运动矢量MV1是MV0的函数;
用于对于在所述搜索路径中发现的每对MV0和MV1确定度量的部件,其中所述度量包括第一度量、第二度量和第三度量的组合,并且其中所述第一度量基于时间上的帧相关,第二度量基于所述参考块的空间相邻者,以及第三度量基于所述当前块的空间相邻者;
用于选择MV0的部件,所选择的MV0的所述度量的对应值是期望值,其中所选择的MV0被用作所述当前块的运动矢量;以及
用于提供用于显示的图像的部件,其中所述用于显示的图像部分地基于所选择的MV0。
18.如权利要求17所述的装置,其中用于确定度量的部件包括:
用于确定所述第一度量、第二度量和第三度量的加权平均值的部件。
19.如权利要求17所述的装置,其中用于确定度量的部件包括:
用于基于下式来确定第一度量的部件:
其中,
N和M是所述当前块的相应y尺寸和x尺寸,
R0包括第一前向参考帧,并且R0(x+mv0_x + i, y+mv0_y + j)包括在R0中在位置(x+mv0_x + i, y+mv0_y + j)处的像素值,
R1包括用于镜像ME的第一后向参考帧或者用于投影ME的第二前向参考帧,并且R1(x+mv1_x + i, y+mv1_y + j)包括在R1中在位置(x+mv1_x + i, y+mv1_y + j)处的像素值,
mv0_x包括参考帧R0中在x方向上的当前块的运动矢量,
mv0_y包括参考帧R0中在y方向上的当前块的运动矢量,
mv1_x包括参考帧R1中在x方向上的当前块的运动矢量,以及
mv1_y包括参考帧R1中在y方向上的当前块的运动矢量。
20.如权利要求19所述的装置,其中用于确定度量的部件包括:
用于基于下式来确定第二度量的部件:
21.如权利要求20所述的装置,其中用于确定度量的部件包括:
用于基于下式来确定第三度量的部件:
其中,
Aavail包括所述当前块周围的区域,
C(x,y)包括在与所述当前块接界的区域内的当前帧中的像素,以及
是能够根据新图像与参考帧0和1之间的帧距离来设置的两个加权因子。
22.如权利要求17所述的装置,其中:
所述当前块是在双向预测图像中,
第一前向参考帧包括前向参考帧,以及
第二前向参考帧包括后向参考帧。
23.如权利要求17所述的装置,其中:
所述当前块是在预测图像中,
第一前向参考帧包括第一前向参考帧,以及
第二前向参考帧包括第二前向参考帧。
24.如权利要求17所述的装置,其中所述度量包括绝对差之和的值,以及所述期望值包括最小的绝对差之和的值。
25.如权利要求17所述的装置,还包括:
用于在编码器中,通过以下步骤确定所述当前块的运动矢量的部件:
在第三参考帧中指定第二搜索窗口;
在所述第三参考帧的所述第二搜索窗口中指定第二搜索路径;
对于所述第二搜索路径中的每个运动矢量MV2,确定指向第四参考帧中的参考块的对应的第二运动矢量MV3,其中每个MV2从所述当前块指向所述第二搜索窗口中的参考块;
为在所述第二搜索路径中发现的每对MV2和MV3确定度量,其中所述度量包括第一度量、第二度量和第三度量的组合;以及
选择MV2,所选择的MV2的所述度量的对应值是期望值,其中所选择的MV2被用作所述当前块的运动矢量。
CN201110056040.4A 2010-01-14 2011-01-14 用于运动估计的技术 Expired - Fee Related CN102340664B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/657,168 2010-01-14
US12/657168 2010-01-14
US12/657,168 US20110002387A1 (en) 2009-07-03 2010-01-14 Techniques for motion estimation

Publications (2)

Publication Number Publication Date
CN102340664A CN102340664A (zh) 2012-02-01
CN102340664B true CN102340664B (zh) 2014-11-26

Family

ID=44461814

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110056040.4A Expired - Fee Related CN102340664B (zh) 2010-01-14 2011-01-14 用于运动估计的技术

Country Status (5)

Country Link
JP (1) JP5248632B2 (zh)
KR (2) KR101388902B1 (zh)
CN (1) CN102340664B (zh)
DE (1) DE102011008630A1 (zh)
TW (1) TW201204054A (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
EP2656610A4 (en) 2010-12-21 2015-05-20 Intel Corp SYSTEM AND METHOD FOR EXTENDED DMVD PROCESSING
TWI476640B (zh) 2012-09-28 2015-03-11 Ind Tech Res Inst 時間資料序列的平滑化方法與裝置
JP6549516B2 (ja) * 2016-04-27 2019-07-24 日本電信電話株式会社 映像符号化装置、映像符号化方法及び映像符号化プログラム
WO2019001741A1 (en) 2017-06-30 2019-01-03 Huawei Technologies Co., Ltd. MOTION VECTOR REFINEMENT FOR MULTI-REFERENCE PREDICTION
US11025947B2 (en) * 2018-11-29 2021-06-01 Mediatek Inc. Method and apparatus for generating motion field motion vectors for blocks of current frame in on-the-fly manner

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060215761A1 (en) * 2005-03-10 2006-09-28 Fang Shi Method and apparatus of temporal error concealment for P-frame
CN101023673A (zh) * 2004-09-16 2007-08-22 汤姆逊许可证公司 具有利用局部亮度变化的加权预测的视频编解码器
US20080101707A1 (en) * 2006-10-30 2008-05-01 Debargha Mukherjee Method for decomposing a video sequence frame
CN101621696A (zh) * 2008-06-30 2010-01-06 英特尔公司 允许分数视频运动估计和双向视频运动估计的选择性使用

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100508798B1 (ko) * 2002-04-09 2005-08-19 엘지전자 주식회사 쌍방향 예측 블록 예측 방법
EP3525466B1 (en) 2002-04-19 2022-02-09 Panasonic Intellectual Property Corporation of America Motion vector determining method and apparatus
KR20050122496A (ko) * 2004-06-24 2005-12-29 삼성전자주식회사 B-픽쳐의 효율적인 부호화 및 복호화 방법
JP5216710B2 (ja) * 2009-07-24 2013-06-19 日立コンシューマエレクトロニクス株式会社 復号化処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101023673A (zh) * 2004-09-16 2007-08-22 汤姆逊许可证公司 具有利用局部亮度变化的加权预测的视频编解码器
US20060215761A1 (en) * 2005-03-10 2006-09-28 Fang Shi Method and apparatus of temporal error concealment for P-frame
US20080101707A1 (en) * 2006-10-30 2008-05-01 Debargha Mukherjee Method for decomposing a video sequence frame
CN101621696A (zh) * 2008-06-30 2010-01-06 英特尔公司 允许分数视频运动估计和双向视频运动估计的选择性使用

Also Published As

Publication number Publication date
DE102011008630A1 (de) 2011-09-01
TW201204054A (en) 2012-01-16
CN102340664A (zh) 2012-02-01
KR101388902B1 (ko) 2014-04-24
KR20120105396A (ko) 2012-09-25
JP5248632B2 (ja) 2013-07-31
KR20110083567A (ko) 2011-07-20
JP2011147130A (ja) 2011-07-28

Similar Documents

Publication Publication Date Title
CN102340664B (zh) 用于运动估计的技术
US10404994B2 (en) Methods and systems for motion vector derivation at a video decoder
CN110809887B (zh) 用于多参考预测的运动矢量修正的方法和装置
JP5368631B2 (ja) 画像符号化方法、装置、及びプログラム
CN1312934C (zh) 选择数字视频的编码方式的方法和装置
US8711945B2 (en) Methods and devices for coding and decoding images, computer program implementing them and information carrier enabling their implementation
CA2459229C (en) Image coder and decoder which select interpolated pixel accuracy depending on the size of coverage of local motion vector detection areas
TW202005383A (zh) 部分成本計算
CN102202221B (zh) 视频编码方法和视频编码装置
US20080232473A1 (en) Method for Encoding Interlaced Digital Video Data
US20110002387A1 (en) Techniques for motion estimation
WO2006103844A1 (ja) 符号化装置と方法、ならびに復号装置と方法
CN103327319A (zh) 利用缩放后的运动搜索识别运动矢量候选的方法与设备
JP2006279917A (ja) 動画像符号化装置、動画像復号装置及び動画像伝送システム
WO2008068623A2 (en) Adaptive interpolation method and system for motion compensated predictive video coding and decoding
JP2009010492A (ja) 画像復号化装置及び画像変換回路
KR100393063B1 (ko) 프레임 레이트 변환 기능을 갖는 비디오 디코더 및 그 방법
JP4404157B2 (ja) 動画像符号化装置および動画像符号化方法
JP4251291B2 (ja) 動画像符号化装置、動画像符号化方法
JP5479648B1 (ja) 画像符号化方法及び画像復号化方法
JP5444497B2 (ja) 画像符号化方法及び画像復号化方法
WO2012090425A1 (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP4870143B2 (ja) 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法
JP4403565B2 (ja) 動画像復号装置および動画像復号方法
JP5571229B2 (ja) 画像符号化方法及び画像復号化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141126

Termination date: 20200114