用于隔行数字视频信号的视频目标平面的运动估算和补偿的制作方法

文档序号:7577277阅读:182来源:国知局
专利名称:用于隔行数字视频信号的视频目标平面的运动估算和补偿的制作方法
技术领域
本发明涉及用于编码诸如视频目标平面(VOPs)的数字视频图象的方法和设备,并具体涉及用于隔行数字视频信号的运动估算和补偿技术,也公开了用于扩充交错编码基准VOP区域的填充技术。
本发明尤其适于与各种多媒体应用一起使用,并与在1997年4月题为“MPEG-4视频检验方式版本7.0”的文件ISO/IEC/JTC1/SC29/WG11 N1642中所描述的MPEG-2检验方式(VM)标准兼容,此文件引用在此作为参考。MPEG-2标准是MPEG-4标准的前身,并描述在1994年3月25日题为“信息技术一运动图象及有关音频的通用编码,建议H.262”的文件ISO/IEC 13818-2中,此文件在此引用作为参考。
MPEG-4是新的编码标准,提供灵活的框架和一组开放的编码工具用于数字音像数据的通信、存取和操作。这些方式宽范围的特性,MPEG-4的灵活框架编码方式及其相应功能的各种组合,以便于计算机、电信和娱乐(即TV和电影)工业所要求的应用,诸如数据库浏览、信息检索和交互式通信。
MPEG-4提供允许视频数据在多媒体环境中的有效存储、传输与操作的标准化的芯片技术,MPEG-4获得有效的压缩、目标可测量性、空间与时间可量测性以及错误回弹。
MPEG-4视频VM编码器/解码器(编解码器)是具有运动补偿的以块与目标为基础的混合编码器。利用使用重叠的块运动补偿的8×8离散余弦变换(DCT)编码结构,目标形状表示为字母图并利用以内容为基础的算术编码(CAE)算法或改进的DCT编码器进行编码,其中CAE算法和DCT编码器都利用时间预测。编码器在从计算机图形中了解子画面(sprite)时能处理子画面,诸如子波和子画面编码的其他编码方法也可用于特殊应用。
运动补偿的结构编码是众知的视频编码的解决方法,并能设计为三级处理。第一级是包括运动估算和补偿(ME/MC)以及二维(2-D)空间转换的信号处理,ME/MC及空间转换的目的是利用视频序列中时间与空间相关性使量化与熵编码的速率失真性能在复杂生约束下最优。最通用的ME/MC技术是块匹配,而最通用的空间转换是DCT。
然而,对VOP的ME/MC的特殊关注出现,尤其是在VOP是自我交错编码和/或利用是交错编码的基准图象时。而且,对于任意成形的是交错编码的VOP,必须特别关注用于运动预测的基准图象的区域。
因此,希望具有用于是自我交错编码的和/或利用是交错编码的基准图象的VOP的ME/MC编码的有效技术,此技术应利用相邻块或宏块的运动矢量来提供VOP的块或宏块的运动矢量的差分编码。应提供相应的解码器。还希望具有用于填充交错的VOP编码的基准图象区域的有效技术。本发明提供具有上面和其他优点的系统。
根据本发明,提供用于视频目标平面(VOP)或是自身交错编码的和/或利用是交错编码的基准图象的类似视频图象的运动估算与运动补偿编码的方法和设备。
第一方法提供水平和垂直运动矢量成分,以便在差分编码数字视频图象当前场编码的宏块的第一与第二场的各个水平与垂直运动矢量成分时使用。靠近当前宏块的候选第一、第二与第三块具有相关的能用于预测当前宏块运动矢量的水平与垂直运动矢量成分。第一块后面紧跟着当前行的当前宏块,第二块正好在前一行中的当前宏块上面,而第三块紧接在前一行中的第二块后面。因此,候选块是在当前宏块的空间附近。
选择水平运动矢量成分,以便在根据第一、第二与第三候选块的水平运动矢量成分中间值差分编码当前场编码的宏块的第一与第二场的水平运动矢量成分时使用。可选择地,可以使用平均或其他加权的函数。垂直运动矢量成分也类似地进行确定。
当候选块之一是宏块的一个子集时,最靠近当前宏块上面左手部分的块用作那个特定宏块的候选块。例如,此候选块可以是16×16宏块中的8×8块。
第二方法提供水平与垂直运动矢量成分,以便在分别差分编码数字视频图象当前正在预测的或预先预测的块的水平与垂直运动矢量成分时使用。正在预测的块可以是16×16宏块,预先预测的块使用8×8运动补偿和重叠块运动补偿的组合。在任一种情况下,当前块不进行交错编码。
候选的第一、第二与第三块具有有关的水平与垂直运动矢量成分。如果至少一个候选块是具有第一与第二场的场编码候选宏块,则第一与第二场每个都具有相应的水平与垂直运动矢量成分。选择水平运动矢量成分以便在根据从第一、第二与第三候选块的水平运动矢量成分中导出的一个值差分编码当前块的水平运动矢量成分时使用。
具体地,所选的水平运动矢量成分可根据包括至少一个场编码候选宏块的第一与第二场相应的水平运动矢量成分的候选块的水平运动矢量成分的中间值进行确定。
可选择地,至少一个场编码的候选宏块各自的第一与第二场水平运动矢量成分可以进行平均以获得至少一个相应平均的水平运动矢量成分。随后,根据除此至少一个场编码候选宏块之外的候选块的水平运动矢量成分的中间值以及,如果有的活至少一个相应平均的水平运动矢量成分确定所选的水平运动矢量成分。
例如,如果所有三个候选宏块是场(即,隔行)预测的,则平均每个候选宏块的第一与第二场的水平运动矢量成分,以获得三个平均的水平运动矢量成分。所选的用于差分编码当前块的水平运动矢量成分的水平运动矢量成分随后是三个平均的运动矢量成分的中间值,以类似的方式选择垂直运动矢量成分。
在平均至少一个场编码候选宏块的第一与第二场运动矢量时,所有部分象素(fracionalpixel)偏移映射到半象素位移以提供更好的预测。
在第三方法中,当前宏块是场预测,并且至少一个候选块是场编码宏块。根据从(ⅰ)除至少一个场编码候选宏块之外的候选块的水平运动矢量成分,和如果有的话,(ⅱ)此至少一个场编码候选宏块的第一场的水平运动矢量成分中导出的一个值确定在差分编码当前宏块的第一场的水平运动矢量成分中使用的所选的水平运动矢量成分。例如,可以使用中间值。于是,仅使用场预测候选宏块的第一场。可选择地,能只使用场预测候选宏块的第二场来预测当前宏块的第二场。
在另一选择中,平均至少一个场编码候选宏块的各自第一与第二场水平运动矢量成分以获得至少一个相应的平均水平运动矢量成分。所选的在差分编码当前宏块第一与第二场的至少一个场的水平运动矢量成分中使用的水平运动矢量成分根据(ⅰ)除此至少一个场编码候选宏块之外的候选块的水平运动矢量中间值以及,如果有的话,(ⅱ)至少一个相应平均的水平运动矢量成分进行确定。垂直运动矢量成分类以地进行选择。
在平均至少一个场编码候选宏块的第一与第二场水平运动矢量成分时,所有部分象素偏移映射到半象素位移。
也提供相应的解码方法和设备。
也提供用于填充包括场编码VOP的数字视频图象的方法和设备,其中VOP包括的顶部和下半场象素行以提供填充的基准VOP。通过填充VOP,图象区域被扩充。VOP至少部分地在包括对于所述VOP边界象素是外部的象素的区域中传送。顶部与下半场象素行从隔行的顺序开始重新排序以提供包括上半场象素行的上半场块的和包括下半场象素行的下半场块。外部象素分别在各自的顶部与下半场块内进行填充。
在填充外部象素之后,包括填充的外部象素的顶部与下半场象素行重新排序回到隔行的顺序以提供填充的基准图象。
在填充期间,当特定的一个外部象素位于相应顶部或下半场块中的VOP的两个边界象素之间时,给此外部象素指定根据此两个边界象素平均值的一个值。当一个特定的外部象素位于所述VOP的一个边界象素与相应场块中区域边缘之间但不在相应场块的两个VOP边界象素之间时,给此外部象素指定根据一个边界象素的一个值。术语“betweer(之间)”意味着沿水平或垂直象素格栅行以内部象素为界。例如,此区域可以是16×16宏块。
当一个特定的外部象素位于相应场块中的区域的两个边缘之间,但不在VOP边界象素与该区域边缘之间并且也不在两个VOP边界象素之间时,根据下面至少之—给此特定外部象素指定一个值(a)最靠近此特定外部象素在此区域中水平移动的一个填充外部象素;和(b)最靠近此特定外部象素,在此区域中垂直移动的一个填充外部象素。例如,当填充外部象素可从此特定外部象素在该区域中水平和垂直移动时,可使用平均值。


图1是根据本发明的视频目标平面(VOP)编码与解码过程的示意图;图2是根据本发明的编码器的方框图;图3表示用于半象素搜索的内插方案;图4表示根据本发明具有限制性的运动矢量的运动估算方案;图5表示根据本发明具有非限制运动矢量的运动估算方案;
图6表示根据本发明在自适应帧/场预测方案中象素行的重新排序;图7表示根据本发明的具有包括有关的候选运动矢量预测值的相邻帧模式块的当前场模式宏块;图8表示根据本发明的具有包括有关的候选运动矢量预测值的相邻的帧模式块与场模式宏块的当前场模式宏块;图9表示根据本发明的具有包括有关的候选运动矢量预测值的相邻帧模式块与场模式宏块的当前超前(advanced)的预测模式块;图10表示根据本发明用于运动预测的以宏块为基础的VOP填充;图11表示根据本发明用于运动预测的宏块内的重复填充;图12表示根据本发明在分组同场象素行之后用于运动预测的宏块内的重复填充;图13是根据本发明的解码器的方框图;图14表示根据本发明的宏块层结构。
提供用于是自身交错编码的和/或使用是交错编码的基准图象的VOP的ME/MC编码的方法和设备以及用于交错VOP编码的基准图象区域的填充方法和设备。
图1是根据本发明的视频目标平面(VOP)编码与解码过程的示意图。帧105包括三个图象单元,含有正方形前景单元107、长方形前景单元108和风景背景单元(Landscape backdrop element)109。在帧115中,单元利用分段限制框(mask)指定给VOP,使得VOP 117代表正方形前景单元107,VOP 118代表长方形前单元108,并且VOP 119代表风景背景单元109。VOP可具有任意形状,一系列的VOP称为视频目标。一个完整的长方形视频帧也可认为是VOP。因此,术语“VOP”这里用于指示任意和非任意(例如,长方形)图象区域形状。分段屏蔽(mask)利用公知技术获得,并具有类似ITU-R601亮度数据的格式。每个象素识别为属于视频帧中某一区域。
帧105和来自帧115的VOP数据提供给独立编码功能。特别地,VOP117、118与119分别在编码器137、138与139上进行形状、运动和结构编码。利用形状编码,编码二进制和灰度等级形状信息。利用运动编码,使用帧内的运动估算编码形状信息。利用结构编码,进行诸如DCT的空间变换,获得能是可变长度压缩编码的变换系数。
于是,在多路复用器(MUX)140上组合编码的VOP数据以便经频道145传输。可选择地,数据可在记录介质上存储。所接收的编码的VOP数据由多路分用器(DEMUX)150分离,以致解码和恢复分离的VOPs117-119。帧155、165与175表示VOP117、118与119已分别进行解码和恢复,并且因此能利用例如与视频库170接口的复合器160独立进行操作。
合成器可以是诸如个人计算机的装置,位于用户家中以允许用户编辑所接收的数据来提供定制的图象。例如,用户的个人视频库170可包括不同于所接收VOP的先前存储的VOP178(例如,一个园),用户可以复合其中园形VOP178替代正方形VOP117的帧185,帧185于是包括接收的VOP118和119以及本地存储的VOP178。
在另一示例中,背景VOP109可由用户选择的背景替代。例如,在观看电视新闻广播时,播音员可编码为从背景中独立出来的VOP,诸如新闻播音室。用户可以从库170或从另一电视节目中选择背景,诸如具有股价格或天气信息的频道,用户因此能充当频视编辑。
视频库170也可以存储经频道145接收的VOP,并且可以经过诸如互联网的网络存取VOP和其他图象单元。一般地,电视会议包括单个VOP或一系列的VOP。
图1的视频目标编码和解码处理可以进行许多娱乐、商业和教育应用,包括个人计算机游戏、虚拟环境、图象用户接口、电视会议、互联网应用等等。具体地,根据本发明的具有交错编码(例如,场模式)VOP的ME/MC能力甚至提供更大的能力。
图2是根据本发明的编码器的方框图,此编码器适于与预测编码的VOPs(P-VOP)和双向编码的VOPs(B-VOP)一起使用。
P-VOP可以包括可利用帧内模式或帧间模式单独编码的许多宏块。利用帧内(TNTRA)编码,宏块进行编码而不干扰其他宏块,利用帧间(INTER)编码,宏块的称为前向预测的模式相对于暂时后续的帧进行差分编码。此暂时后续的帧称为基础帧(anchor frame)或基准帧,基础帧(例如,VOP)必定是P-VOP而不是B-VOP。
利用前向预测,当前宏块与基础帧中宏块的搜索区域相比以确定最佳匹配。相应的运动矢量描述当前宏块相对于最佳匹配宏块的相对位移。可选择地,可使用P-VOP的超前预测模式,其中的8×8块而不是在16×16宏块上执行运动补偿。而且,帧内和帧间编码的P-VOP宏块能以帧模式或场模式进行编码。
B-VOP能结合P-VOP以及后向预测使用如上所述的前向预测模式、双向预测和直接模式,这些全是帧间技术。B-VOP自前不使用涉及先前的MPEG-4视频检验模型版本7.0下面的帧内编码宏块,尽管这是要改变的。基础帧(例如,VOP)必定是P-VOP而不是B-VOP。
利用B-VOP的后向预测,当前宏块与暂时超前的基础帧中宏块的搜索区域相比以确定最佳匹配。相应的运动矢量描述当前宏块相对于最佳匹配宏块的相对位移。利用B-VOP的双向预测,当前宏块与超前的暂时基础帧后续的暂时基出帧二者中宏块的搜索区域相比以确定最佳匹配。前向与向向运动矢量描述当前宏块相对于最佳匹配宏块的相对位移。
利用B-VOP的直接模式预测,在位于下面P-VOP中的宏块使用8×8超前预测模式时,导出8×8块的运动矢量,P-VOP中8×8块的运动矢量线性定标以导出B-VOP中块的运动矢量而不必搜索来找到最佳匹配块。
一般以200表示的编码器包括形状编码器210运动估算功能220、运动功能230和纹理结构编码器240,每一个均接收在端口205输入的视频象素数据。运动估算功能220、运动补偿功能230、纹理结构编码器240和形状编码器210也接收在端口207上输入的VOP形状信息,诸如MPEG-4参数任意形状的VOP。当这个参数是零时,VOP是有长方形形状,并因此不使用形状编码器210。
重构的基础VOP功能250提供由运动估算功能220和运动补偿功能230使用的重构的基础VOP。对于P-VOP,基础VOP以表示顺序出现在当前VOP后面,并且可以利用一个或多个中间图象从当前VOP中分离出来。在减法器260中从运动补偿基础VOP中减去当前VOP以提供在纹理结构编码器240上编码的余数,纹理结构编码器240执行DCT以提供纹理结构信息(例如,变换系数)给多路复用器(MUX)280。纹理结构编码器240也提供在加法器270上与运动补偿器230的输出相加的信息以便输入给重构的基础VOP功能250。
运动信息(例如,运动矢量)从运动估算功能220提供给MUX280,同时表示VOP形状的形状信息从形状编码功能210提供给MUX280。MUX280提供相应的多路复用数据流给缓冲器290,用于通过数据信道进行后续通信。
输入给编码器的象素数据具有YUV4∶2∶0格式。利用有界的长方形代表VOP,有界长方形的左上边坐标四舍五八到不大于严格长方形的左上边坐标的最接近的偶数。因此,色度分量中的有界长方形左上边坐标是亮度分量的一半。
图3表示半象素搜索的内插方案。运动估算和运动补偿(ME/ME)一般采用当前视频帧的块(例如,当前块)与基准帧搜索区域中的块(例如,预测块或基准块)的匹配。基准帧可以利用一个或多个中间图象从当前帧中分离出来,基准块相对当前块的位移是运动矢量(MV),它具有水平(x)和垂直(y)分量。MV分量的正值表示预测块是在当前块的右边口下面。
通过逐点从当前块的象素值中减去预测块的象素值形成运动补偿差块。随后对此差块执行纹理结构编码。差块所编码的MV和编码的纹理结构信息发送给解码器。解码器随后能通过根据MV将量化的差块加到预测块来重构近似的当前块用于ME/MC的块可以是16×16帧块(宏块)、8×8帧块或16×8场块。
在ME/MC中,一般希望具有差块小的余数值、使用运动矢量较少的比特并具有低计算复杂性。由于其相对其他差异测量的较低的计算复杂性,绝对差的和(SAD)通常用于选择满足如下这些准则的运动矢量。假定C(i,j),i,j=0,1,…,N-1}是当前块的象素,而P(m,n),m,n=-R,-R+1,…,-1,0,1,…,R+N-1}是基准帧搜索区域中的象素。那么
其中{x,y=R,-R+1,…,-1,0,0…,R-1},R与C是正常数。
导致最小SAD值的(x,y)对是具有水平与垂直分量的最佳全象素运动矢量(MV),例如,(MVx,MVy)。注意由于在(x,y)=(0,0)时从SAD中减去正常数C,所以(0,0)的MV是有利的。例如,对于16×16块,C=128。因此,MV的分布可以集中靠近(0,0),以使MV的熵偏码更有效。
(MVx,MVy)的精度设置在半象素上。必须在基础帧上使用内插,以便定义是半整数的x或y的P(i+x,j+y)。如图3所示进行内插。整数象素位置利用符号“+”代表,如A、B、C与D所示的。半象素位置利用园圈表示,如a、b、c与d所示的。如图所示,a=A,b=(A+B)∥2,c=(A+C)∥2,而d=(A+B+C+D)∥4,其中“∥”表示四舍五入除法,如下面结合表2与3所讨论的。
运动补偿差块定义为d(i,j)=C(i,j)-p(i+MVx,j+MVy),i,j=0,1,…,N-1。差块d(i,j)进行变换、量化和熵编码。在解码器中,运动矢量(MVx,MVy)和量化的差块d(i,j)}可用于重构如下的当前帧c^(i,j)=d^(i,j)-p(i+MVx,j+MVy),i,j=0.1......N-1.]]>对于Y∶U∶V=4∶2∶0的彩色格式,宏块尺寸是用于Y(亮度)分量的16×16象素,以及用于U/N(色度)分量的8×8象素。搜索区域R(在半象素单元中)可由用户选择并利用称为f码的参数表示,其中R=(x,y)∶-2f码+3≤x,y<2f码+3},如下表1所示。例如,对于f码=1,运动矢量分量可假定为从-16至+15.5的值,以半象素递增。对于f码=2,运动矢量分量可假定为从-32至+31.5的值,以半象素递增。
表1f码 R1 322 643 1284 256用于色度块的运动矢量从亮度块的运动矢量中导出。由于色度块中的一个象素对应相应亮度块中每个方向上的两个象素,即色度分量的分辨率是亮度的一半,用于色度块的MV是亮度块的MV的一半。而且,由于亮度块的MV可具有半象素值,因而用于色度块的MV具有1/4象素值。然而,由于只有半象素内插用于色度块的MC,所以四分之一象素值必须四舍五入为半象素值。下表2表示如何执行所要求的四舍五入操作。例如,1/4四舍五入为1/2,2/4与1/2相同,并且3/4四舍五入为1/2。
表2
虽然只有重构的先前帧可在解码器上用于MC,但在编码器上有ME的选择,以便使用重新构造的先前帧或原始的先前帧。由于复杂性较低,所以在ME中使用原始先前帧是有利,而不是在MC中,并且MV可更接近地代表真实运动,以致可以更准确地预测色度分量。
对于一些视频序列,诸如有快速运动或景色变化,编码差块可以要求比当前块实际亮度值的直接DCT编码更多的比特。因此,希望具有自适应选择的判定准则以便直接编码当前块(例如,INTRA模式)或差分编码当前块(例如,INTER模式)。计算下列参数以便进行INTRA/INTER判定mean=1N2Σi=0N-1Σj=0N-1c(i,j)andA=Σi=0N-1Σj=0N-1|c(i,j)-mean|,]]>其中N是块的大小(例如,N=16),如果A<(SADinter(MVx,MVy)-2*Nc),则选择INTRA模式,否则,使用INTER模式。注意用于此判定的SADinter(MVx,MVy)中的MV是整数象素分辨率。如果选择INTRA模式,不需要进一步的运动搜索操作。如果选择INTER模式,继续半象素MV的运动搜索。
图4表示根据本发明具有限制运动矢量的运动估算方案。先进的(advanced)ME/MC技术包括非限制的运动矢量、更进一步的(advanced)预测和双向ME/MC。在基本的ME/MC技术中,预测块是先前帧中的块。然而,如果当前块是在当前帧的角落或边沿,限制MV的区域。先进的(advanced)技术允许用于如此角落和边沿块的非限制MV。
利用这个技术,通过根据表示运动相对区域的码字(例如f码,如上表1所述的)多次重复(例如,填充)边沿象素,在四个方向(例如,左、上、右和下)扩展先前帧。利用较大区域的运动,要求相应较大搜索区域。通过将ME/MC应用于扩展的先前帧并得到当前块与可能部分出了帧边界的预测块之间的差生成差块,这个技术改善边界块的编码效率并能导致改善的图象。
例如,利用基本的ME/ME技术,先前帧400包括在搜索区域420中的预测块410,当前帧的相关宏块(MB)位置以虚线430表示。例如,如果预测块水平向右位移8个象素并垂直位移零象素,则相应的运动矢量可以是(MVx,MVy)=(8、0)。
图5表示根据本发明具有非限制运动矢量的运动估算方案,相同标号的元素对应图4中的元素。利用此超前ME/MC技术,搜索区域520能穿过先前帧400的边界进入扩展的先前帧500。例如,如果预测块水平向右位移8个象素并垂直向上位移10个象素,其中垂直向下作为正方向,则相应的运动矢量可以是(MVx,MVy)=(8,-10)。
图6表示根据本发明的自适应帧/场预测方案中象素行的重新排序。在超前预测技术的第一方案,自适应技术用于确定16×16象素的当前宏块是否应是原样进行ME/MC编码或每个划分为8×8象素的4个块,其中每个8×8块是独立进行ME/MC编码,或是否应使用基于场的运动估算,其中宏块的象素行重新排列的便将同场的行组合为2个16×8的场块,并且每个16×8块独立地进行ME/MC编码。
例如16×16宏块的场模式图象一般以600表示,此宏块包括偶数行602、604、606、608、610、612、614与614以及奇数行603、605、607、609、611、613、615与617,因此交错偶数和奇数行,并分别形成顶部与底部(或第一与第二)场。
当排列图象600中的象素行以形成同场亮度块时,形成一般以650表示的宏块。一般以645表示的箭头表示行602-617的重新排列。例如,是宏块600的第一行的偶数行602也是宏块650的第一行。偶数行604重新排列为宏块650中的第二行。类似地,偶数行606、608、610、612、614与616分别重新排列为宏块650的第三至第八行。因此,形成具有偶数行的16×8亮度区域680。类似地,奇数行603、605、607、609、611、613、615与617形成16×8区域685。
选择P-VOP的MC模式的判定过程如下。对于帧模式视频,首先得到单个16×16块的绝对差的点和(SAD),例如SAD16(MVx,MVy);以及四个8×8块绝对差的总和,例如,SAD8(MVx1,MVy1)、SAD8(MVx2,MVy2)、SAD8(MVx3,MVy3)和SAD8(MVx4,MVy4)。如果Σi=14SAD8(MVx1,MVy1)<SAD16(MVx,MVy)-128,]]>SAD8(MVx1,MVy1),SAD8(MVx2,My2),SADs(MVx3,MVy3),and SAD8(MVx4,MVy4).则选择8×8预测;否则,选择16×16预测。
对于隔行视频,得到SADtop(MVx-top,MVy-top)、SADbottom(MVx-bottom,MVy-bottom),其中(MVx-top,MVy-top)和(MVx-bottom,MVy-bottom)是用于顶部(偶数)和底部(奇数)场的运动矢量。于是,从半场样值搜索中选择具有最小SAD(例如,SADtop和SADbottom)的基准场。
整个预测模式判定是基于选择下列最小值(a)SAD16(MVx,MVy),(b)Σi=14SAD8(MVx1,MVy1)+128,]]>(c)SADtop(MVx_top,MVy_top)+SADbottom(MVx_bottom,MVy_bottom)+64如果项(a)是最小值,则使用16×16预测;如果项(b)是最小值,则使用8×8运动进一步的预测模式);如果项(c)是最小值,则使用基于场的运动估算。
如果选择8×8预测,有用于4个8×8亮度块的四个MV,即每个8×8块一个MV。然后,通过获取这四个MV的平均值并将此平均值除2来得到两个亮度块的MV。由于8×8亮度块的每个MV具有半象素精确度,所以色度块的MV可具有十六分之一(sixteenth)象素值。下表3表示芭度MV的1/16象素值到半象素值的变换。例如,0至2/16四舍五入为0,3/16至13/16四舍五入为1/2,而14/16和15/16四舍五入为2/2=1。
表3<
利用场预测,有用于两个16×8块的两个MV。亮度预测生成如下,宏块的偶数行(例如,行602、604、606、608、610、612、614与616)由上半场运动矢量利用指定的基准场定义。以帧坐标表示运动矢量,以使全部的象素垂直位移对应垂直运动矢量坐标的偶整数值,并且半象素垂直位移由奇整数值表示。在表示半象素垂直偏移时,仅组合来自同一基准场内行的象素。
用于两个色度块的MV通过将每个分量除以2并随后如下进行四舍五入来从(亮度)运动矢量中导出。水平分量通过将所有分数值变换为半象素偏移进行四舍五入。这是与表2中所述相同的过程。垂直运动矢量分量是一个整数并且所得到的色度运动矢量垂直分量四舍五入为一个整数。如果除以2的结果产生非整数值,则四舍五入为相邻的奇整数。注意此奇整数值表示同场行之间垂直内插。
先进的预测技术的第二方案是重叠MC。在下面讨论中,4个MV总是假定为16×16亮度块。一个16×16MV的情况可考虑为具有四个相同的8×8MV。8×8亮度预测块中每个象素是以下式表示的三个预测值的加权和p’(i,j)=(H0(i,j)·q(i,j)+H1(i,j)·r(i,j)-H2(i,j)·s(i,j))/8其中被8除是化整为最接近的半象素,化整为偏离零。H0(i,j),H1(i,j)和H2(i,j)的加权矩阵分别在下表4-6中表示,(i,j)=(0,0)是每个表中上边左手值,而(i,j)=(7,7)是下边右手角落值。
在表5中,上面4行表示上部相邻运动矢量加权,而底部四行表示底部相邻运动矢量加权。在表6中,四个左手列表示左手相邻运动矢量加权,而四个右手列表示右手相邻运动矢量加权。
表4
表5
q(i,j),r(i,j)和s(i,j)的值是先前帧的象素,定义如下表6
其中(MVx0,MVy0)是当前8×8亮度块的MV,(MVx1,MVy1)是当前块上面(对于j=0,1,2,3)或下面(对于j=4,5,6,7)的块的MV,而(MVx2,MVy2)是当前块左边(对于i=0,1,2,3)或右边(对于i=4,5,6,7)的块的MV。
图7表示根据本发明与具有有关候选运动矢量预测值的帧模式块相邻的当前场模式宏块。可使用P-VOP。在使用INTER模式编码时,必须发送当前图象块的运动矢量。利用已发送的运动矢量的空间差分编码运动矢量。即,由于实际上所有视频标准都从图象顶部至底部和从左至右处理数据,所以来自当前块上面和/或左边的块的运动矢量可用于处理当前块。这些运动矢量因而是用于差分编码的候选预测值(predictor)。
独立地对当前块的水平和垂直分量进行运动矢量编码。例如,对于P-VOP中每个MV分量,可以计算同一分量的候选预测值(predictor)的中间值,并且可以利用可变长度代码编码分量与中间值之间的差值。
当使用交错编码工具时,能获得如下的当前P-VOP中基于场的运动矢量的候选预测值。假定宏块700是当前场模式宏块(例如,16×16象素)。周围宏块包括紧跟在当前行715中当前宏块700前面的宏块710、紧接在前一行725中当前宏块上面的宏块720和紧跟在前一行中宏块720后面的宏块730。
宏块700具有各自有关的第一场水平与垂直运动矢量MVxf1与MVyf1以及第二场水平与垂直运动矢量MVxf2与MVyf2,垂直与水平运动矢量分量为简化起见未在图7中分开示出。例如,假定第一场包括偶数标号的行,而第二场包括奇数标号的行。而且,在所示的示例中,先进的(advanced)预测模式用于宏块710、720和730,以致宏块710包括分别具有有关的水平与垂直运动矢量MV1x与MV1y的8×8候选块712,宏块720包括分别具有有关的水平与垂直运动矢量分量MV2x与MV2y的8×8候选块722,并且宏块730包括分别具有有关的水平与垂直运动矢量分量MV3x与MV3y的8×8候选块732。然而,也有可能任一个或所有候选块712、722与732是宏块,即其中不使用先进的(padvanced)预测模式。没有一个宏块710、720、730在本说明中是场预测的。
当宏块的一个特定8×8子块用于候选,则此宏块将具有含有有关的水平与垂直运动矢量分量的三个其他子块,适用于在差分编码当前场编码宏块700的运动矢量分量时使用。一般地,希望选择最靠近当前宏块上面左手部分的特定宏块中的子块作为所示的候选块。
预测值(predictor)水平与垂直运动矢量分量Px与Py分别能根据本发明从Px=中间值(MV1x,MV2x,MV3x)与Py=中间值(MV1y,MV2y,MV3y)中进行确定,已发现中间值的使用提供有效编码,此中间值是具有奇数量单元的排序序列中的中间数,或是具有偶数量单元的序列中的两上中间数的平均值。例如,序列(1、2、4)的中间值是2,而序列(1、2、4、10)是中间值是3。当一序列中有两个数,则中间值与平均值相同。
可以使用除中间值之外的其他函数。例如,可使用平均值,即Px=1/3MV1x+1/3MV2x+1/3MV3x。可选择地,可使用一些其他加权方案,例如,Px=0.4MV1x+0.4MV2x+0.2MV3x。而且,虽然本示例中使用三个候选块,但可使用2个或更多个。而且,候选块的位置可以变化。例如,可以使用紧跟在宏块720前面的候选块(未示出)。还有,对于采用充足缓冲容量的编码方案,可以使用紧跟在当前行715或后续行(未示出)中当前宏块700后面的候选块。
对于为获得运动矢量差值MVD的当前宏块的差分编码,根据本发明,两个场使用相同预测值(predicfor)。即,MVDxf1=MVxf1-Px,MVDyf1=MVyf1-Py,MVDxf2=MVxf2-Px,以及MVDyf2=MVyf2-Py。
图8表示根据本发明具有相邻帧模式块的当前场模式宏块以及具有有关候选运动矢量预测值的场模式宏块。可使用P-VOP,相同标号的单元相对应图7中的单元。为简化起见,在图8中未单独示出垂直与水平运动矢量分量。这里,对紧跟在先前行725中当前宏块700上面的候选宏块820进行场编码,因此,宏块820具有有关的第一与第二场矢量,包括水平运动矢量分量MV2xf1与MV2xf2以及垂直运动矢量分量MV2yf1和MV2yf2。
一般地,当当前宏块进行场预测并且至少一个空间相邻宏块是场预测时,则利用候选块的同一场生成候选运动矢量预测值。即,对于当前宏块的第一场,使用围绕场预测宏块的第一场运动矢量。类似地,对于当前宏块的第二场,使用围绕场预测宏块的第二场运动矢量。
具体地,第一场水平预测值是Pxf1=中间值(MV1x,MV2x,MV3x),第一场垂直预测值是Pyf1=中间值(MV1y,MV2yf1,MV3y),第二场水平预测值是Pxf2中间值(MV1x,MV2xy2,MV3x),而且第二场垂直预测值是Pxf2=中间值(MV1y,MV2yf2,MV3y)。运动矢量差值是MVDxfl=MVxf1-Pxf1,MVDyfl=MVyf1-Pyf1,MVDxf2=MVxf2-Pxf2,并且MVDyf2=MVyf2-Pyf2。
可选择地,可以平均宏块820(和任何其他场模式候选宏块)的第一与第二场运动矢量以获得平均的水平与垂直运动矢量分量。随后,如同结合图7所讨论的进行处理。具体地,宏块820的平均水平运动矢量分量是MV2x=(MV2xf1+MV2xf2)/2而宏块820的平均垂直运动矢量分量是MV2y=(MV2yf1+MV2yf2)/2。预测值水平与垂直运动矢量分量分别是Px=中间值(MV1x,MV2x,MV3x),和Py=中间值(MV1y,MV2y,MV3y)。当前宏块700的运动矢量差值是,MVDxf1=MVxf1-Px,MVDyf1=MVyf1-Py,MVDxf2=MVxf2-Px,并且MVDyf2=MVyf2-Py。
当两个或多个候选宏块是场预测时,如上进行每个场预测宏块的处理。
至于编码效率,为了保证场运动矢量的垂直分量是一个整数,垂直差运动矢量分量在此特流中编码为MVDyf1=(MVyf1-int(Py)/2,其中int(Py)表示DY在零方向上舍位为最接近的整数。这保证所有小数象素偏移变换为半象素位移。例如,如果MVxf1=4并且Py=3.5,则MVDyf1=(MVyf1-int(Py))/2=(4-int(3.5))/2=(4-3)/2-0.5,否则,如果没有“int”函数,则/MVDyf1=(MVyf1-Py)/2=(4-3.5)/2=(0.5)/2=0.25,这不能有效地进行编码。1/2的系数用于减小MVDyf1的幅值,从而使它更有效地利用运动矢量VLC进行编码。
图9表示根据本发明具有相邻帧模式块的当前进一步(advanced)预测模式块和具有关的候选运动矢量预测值的场模式宏块。可使用P-VOP,相同标号的单元对应图7与8中的单元。为简化起见,在图9中未单独示出垂直与水平运动矢量分量。当前宏块900中的当前块912表示为进一步(advanced)预测8×8块。可选择地,当前块912可以是与宏块900相同的帧模式(逐级的)宏块。利用进一步(advanced)预测模式调用那个块,宏块中四个8×8块的每个块单独进行ME/MC编码。
一般地,在当前块编码为逐级宏块或进一步(advanced)预测(8×8)块,并且至少一个编码的空间相邻宏块是场预测时,能利用第一与第二场运动矢量分量二者作为候选块或利用第一与第二场运动矢量分量之一但不是二者都使用来平均第一与第二场运动矢量分量而生成候选运动矢量分量。具体地,在第一种选择中,在块内平均交错的候选宏块的运动矢量分量。例如对于宏块820,平均的运动矢量分量是MV2x=(MVxf1+MV2xf2)/2和MV2y=(MV2yf1+MV2yf2)/2,预测值水平与垂直运动矢量分量分别是Px=中间值(MV1x,MV2x,MV3x)和Py=中间值(MV1y,MV2y,MV3y),并且当前块912的运动矢量差值是MVDx=MVx-Px和MVDy=MVy-Py。MVx和MVy分别是当前块912的水平与垂直运动矢量分量。
在第二种选择中,宏块820的场运动矢量二者是候选预测值。例如,对于宏块820,预测值水平与垂直运动矢量分量Px与Py分别能从Px=中间值(MV1x,MV2xf1,MV2xf2,MV3x)和Py=中间值(MV1y,MV2yf1,MV2yf2,MVy)中确定,并且当前块912的运动矢量差值是MVDx=MVx-Px和MVDy=MVy-Py。
在第三种选择中,宏块820的第一场运动矢量是候选预测值。例如,对于宏块820,预测值水平与垂直运动矢量分量分别是Px=中间值(MV1x,MV2xf1,MV3x)和Px=中间值(MV1y,MV2y+1,MVy)。当前块912的运动矢量差值是MVDx=MVx-Px和MVDy=MVy-Py。
在第四种选择中,宏块820的第二场运动矢量是候选预测值。例如,对于宏块820,预测值水平与垂直运动矢量分量分别是Px=中间值(MV1x,MV2xf1,MV3x)和Py=中间值(MV1y,MV2y+1,MVy)。当前块912的运动矢量差值是MVDx=MVx-Px和MVDy=MVy-Py。
如先前所讨论的,当平均来自第一与第二场的象素数据时,所有小数象素偏移为了编码效率而变换为半象素位移。
图10表示根据本发明用于运动预测的以宏块为基础的VOP填充。在编码器上,填充用于在运动补偿之前增加运动估算的基准图象区域。此技术特别适于与任意形状的视频目标平面(VOP)一起使用。当重构宏块时,在解码器上类似地填充宏块。例如,在帧或其他图象区域1000中星状的VOP 1010可进行填充以填满在VOP边界上的块以及其他相邻宏块。
利用较亮的明暗度表示的块(例如,诸如块1020)都是边界块并利用正常填充进行处理。以较暗明暗度表示的块(例如,诸如块1030)与边界块相邻并利用扩展的填充进行处理。进一步扩展的块(未示出)也可以进行填充。所要求的填充量与上面结合表1所讨论的参数f码有关。块可以是16×16亮度块或8×8色度块。
填充通过重复VOP边界象素来填满VOP外面的区域。如果VOP外面的一个象素能利用多于1个的边界象素的重复进行填充,则使用那些特定边界象素的平均值。正常填充指边界块内的填充。首先,扫描帧1000中块的每个水平行以提供VOP内部(例如,包括VOP边界象素)或VOP外部的连续行片段。如果块中的整行在VOP内部,则不进行填充。
如果一个块中有内部和外部片段并且外部片段位于内部片段与块边沿之间,则外部片段中的象素设置为在最靠近那个特定外部片段的VOP边界上的内部片段象素值。例如,对于16象素扫描行中从左至右序列E1-E5和I6-I16,其中“E”表示外部象素,而“I”表示内部象素,E1-E5设置为I6。对于序列E1-E5、I6-I10和E11-E16,E1-E5设置为I6,而E11-E16设置为I10。
如果外部片段在两个内部片段之间,利用内部片段的两个边界象素的平均值填满外部片段。例如,对于序列I1-I5,E6-E10和I11-I16,E6-E10设置为(I5+I11)/2。
对于每块中每个水平与垂直扫描行重复上面过程。如果能利用水平与垂直边界象素填充象素,则使用平均值。
外部行片段有可能水平穿越块来扩展而不必遇到内部行片段。在这种情况中,对于行片段中每个象素,在两个方向上水平扫描以找到最靠近的填充外部象素。如果有结(tie)(即,填充象素离开当前象素左右相等的距离),则使用当前象素左边的象素。
类似地,外部行片段有可能垂直穿越块来扩展而不必遇到内部行片段。在这种情况中,对于行片段中的每个象素,在两个方向中垂直扫描以找到最靠近的填充外部象素。如果有结(即,填充象素离当前象素上下相等的距离),则使用当前象素上面的象素。然后,利用在水平与垂直双向扫描中找到的象素平均值替代外部象素。
然而,当VOP是交错编码时,可以使用如下所述的修改的填充技术。
图11表示根据本发明在用于运动预测的宏块内的重复填充。它示出了诸如16×16亮度宏块1100的块,每个象素位置利用(i,j)坐标表示,图11与12中使用的(i,j)坐标系统不必对应说明书中别处使用的(i,j)坐标或变量。例如,上部左手象素表示为(0,0)。宏块1100中的每列象素标号为0至15,而每行也标号为0至15。
阴影的象素位置是VOP的一部分。例如,象素(0,6-15),(1,7-15),(2,8-15),(3,9-15),(4,10-15),(5,11-15),(6,12-15),(7,13-15),(8,14与15),(9,15),(12,15),(13,14与15),(14,13-15)和(15,12-15)是VOP一部分。无阴影线(即,外部)象素不是VOP的一部分。利用结合图10所讨论的填充技术,外部象素可利用VOP的边界(例如,内部)象素值进行填充。例如,外部象素(0,0-5)设置为VOP边界象素(0,6),外部象素(1,6)设置为边界象素(0,6)与(1,7)的平均值,外部象素(10,15)设置为边界象素(9,15)与(12,15)的平均值,外部象素(9,14)设置为边界象素(8,14)与(9,15)的平均值,等等。
图12表示根据本发明在组合同场象素行之后在用于运动预测的宏块内的重复填充,当VOP是交错编码时,用于ME/MC的基准VOP的亮度象素值需要修改的填充技术。根据本发明,亮度象素值划分为上半场和下半场,并在每场中独立进行填充。例如,如块1200所示,来自图11的帧1100的偶数行象素数据划分为上半场块1210(例如,VOP-top)和下半场块1220(例如,VOP-bottom),每个场块是16×8。由“i”表示的列号从0扩展至15,而以“j”表示的行数从0,2,4,…,14和1,3,5,…,15中扩展。因此能利用(i,j)坐标描述块1200中的每个象素值。
上半场块1210包括行0、2、4、6、8、10、12与14,而下半场块1220包括行1、3、5、7、9、11、13与15。
接下来,水平扫描各个块中的每行以便如上所讨论的提供外部和内部行片段。例如,(0-8,14)和(13-15,14)是内部行片段,而(9-12,14)是外部行片段。
然后重复填充独立应用于每个场。例如,在上半场块1210中,外部象素(0,0),(0,2)与(0,4)设置为内部象素(0,6)的值,外部象素(9,14)设置为边界象素(8,14)与(13,14)值的平均值,外部象素(1,6)设置为边界象素(0,6)与(1,8)的平均值,等等。在下半场块1220中,外部象素(0,1),(0,3)与(0,5)设置为内部象素(0,7)值。
最后,在填充之后,组合两个场块1210与1220以形成单个亮度填充的基准VOP。即,行以图11所示的交错顺序重新记录。
图13是根据本发明的解码器的方框图。一般以1300表示的解码器可用于接收和解码从图2编码器中发送的编码数据信号。编码的视频图象数据和差分编码的运动矢量数据在终端1340。上接收并提供给多路分用器(DEMUX)1342。编码的视频图象数据,一般以DCT变换系数差分编码为预测差错信号(例如,余数)。
形状解码功能1344在VOP具有任意形状时处理数据以恢复形状信息,此形状信息又提供给运动补偿功能1350和VOP重构功能1352。纹理结构解码功能1346对变换系数进行反向DCT以恢复余数信息。对于INTRA编码的宏块,象素信息直接进行恢复并提供给VOP重构功能1352。对于INTER编码的块和宏块,从纹理结构解码功能1346提供给重构VOP功能1352的象素信息代表当前宏块与基准宏块之间的余数。
对于INTER编码的块和宏块,运动解码功能1348处理编码的运动矢量数据以便恢复差分的运动矢量并将它们提供给运动补偿功能1350和诸如RAM的运动矢量存储器1349。运动补偿功能1350根据本发明接收差分运动矢量数据并确定基准运动矢量(例如,运动矢量预测值),基准运动矢量从与当前宏块空间相邻的一个或多个宏块中得到。
例如,当编码器提供是三个相邻宏块中间值的基准运动矢量时,运动补偿功能1350必须重新计算中间值运动矢量分量(例如,水平与垂直),并将中间值分量与当前宏块的差分运动矢量分量相加以获得当前宏块的满(full)运动矢量。运动补偿功能也可需要具有用于平均场编码相邻宏块的上半场和下半场的运动矢量分量的电路。
因此,要求运动矢量存储器1349在确定相邻宏块的满运动矢量时存储这些满运动矢量。例如,利用图7-9中所公开的方案,紧跟在当前行的当前宏块前面的宏块的运动矢量必须与直接在当前宏块上面和上面及右边的前面行的宏块一起进行存储。为了逐行处理视频帧或VOP,存储器1349可能需要存储多达1行的运动矢量数据。这可通过注意在确定当前宏块的满运动矢量时看出,此值必须存储以便在确定后续基准运动矢量中使用,这是因为在处理下一行时,当前宏块将是前一行中相邻的宏块。而且,当相邻宏块是场编码时,必须存储用于顶部和下半场二者的运动矢量分量。
一旦运动补偿功能1350确定满基准运动矢量并将它与当前宏块的差分运动矢量相加时,当前宏块的满运动矢量是可用的。因此,运动补偿功能1350现在能从诸如RAM的VOP存储器1354中查找基础帧最佳匹配数据,并提供基础帧象素数据给VOP重构功能以便重构当前宏块。根据本发明,利用相邻宏块的满运动矢量来改善重构宏块的图象质量以确定基准运动矢量。
也可利用运动补偿功能1350执行填充。所查找的最佳匹配数据在VOP重构功能1352上加回到象素余数以获得解码的当前宏块或块。重构的块作为视频输出信号输出并且也提供给VOP存储器1 354以便提供新的基础帧数据。注意根据帧传输和显示顺序可以要求合适的视频数据缓冲能力,这是因为P-VOP的基础帧在显示顺序中是时间上将来的帧。
一般地,解码器将执行与编码器相同的步骤,以确定用作当前VOP或块的运动矢量预测值的中间值或其他值。可选择地,当运动矢量预测值与候选宏块之一的运动矢量相同时,有可能发送一个码字给解码器,此确字表示特定宏块。例如,码00可以表示使用同一行中前一块的运动矢量,码01可以表示使用前一行中当前块上面的运动矢量,并且码10可以表示使用前一行中下一块的运动矢量。在这种情况中,解码器可以直接使用指定宏块的运动矢量预测值,并且不必存取每个候选宏块的运动矢量来重新计算运动矢量预测值。11码可以表示运动矢量预测值不同于所有候选宏块的运动矢量,所以解码器必须重新计算运动矢量预测值。本领域技术人员将意识到可以软件、固件或硬件实施必要的操作,这个处理可以相对低廉的费用和低的复杂性实施。
图14表示根据本发明的宏块层结构,此结构适于P-VOP,并指示由解码器接收的数据格式。第一层1410包括场第一形状码(first Shape code)、MVD-sh、CR、ST和BAC,第二层1430包括场COD和MCBPC,第三层1450包括场AC_pred_flag(标志)、CBPY、DQUANT、隔行信息(Interlaced_information)、MVD、MVD2、MVD3和MVD4,第四层包括场CODA、Alpha_ACpred_flag、CBPA、Alpha Block Data(块数据)和Block Data。每个上面的场根据MPEG-4标准定义。
每三层1450中的场隔行信息表示宏块是否是交错编码,并提供场运动矢量基准数据,此基准数据将当前宏块或块的编码模式通知解码器,解码器在计算当前宏块的运动矢量时利用此信息。例如,如果当前宏块不是交错编码,但至少一个基准宏块是交错编码,则解码器将平均每个交错编码的基准宏块的运动矢量分量以便在确定当前宏块的基准运动矢量时使用。可选择地,使用基准宏块中顶部或下半场的运动矢量,但不同时使用二者。如果当前宏块是交错编码的,则解码器将知道独立地计算每个场的基准运动矢量。编码模式也可以指定哪个候选宏块(如果有的话)具有与在差分编码当前宏块的运动矢量时使用的基准运动矢量相同的运动矢量。
隔行信息场可以为了后续所要求的使用存储在运动矢量存储器1349或解码器的其他存储器中。
隔行信息场也可以包括标记dct_type,这标记表示场编码宏块中顶部与度部场象素行是否是例如从用于填充的交错顺序中重新排序的。
将意识列图14所示的安排仅是一个示例,并且各种用于将相关信息传送给解码器的其他安排对于本领域技术人员是显而易见的。
现在描述根据本发明所使用的比特流语法。MPEG-4提供具有等级分层的视频语法,包括电视会谈(VS)、视频目标(VO)、视频目标层(VOL)或纹理结构目标层(SOL)、视频目标平面组以及最底的视频目标平面。如下所提出的视频目标平面层语法能表示当前宏块是否是根据所下如示的本发明进行交错编码的。未有阴影的语法是本发明的一部分(例如,交错的;如果(交错的)和fop_field_first (上半场第一))。这里,如果当前宏块是交错编码的,则项“interlaced(交错的)”=1,项“top_field_first”表示当前宏块的上半场要首先进行处理。其他项在上述的“MPEG-4 Video Verification Model Version7.0”中进行定义。为了紧凑性,仅示出常规语法的一部分,而省略的部分利用三个垂直安排的点表示。
在Interlaced_information场=1时根据本发明更详细的宏块层语法如下所示。如果当前宏块是交错预测的,则(field-prediction)(场预测)=1,基准的场标记具有上半场的零值和下半场的值1。对于P-VOP,当场预测field-prediction=1时,两个运动矢量差在语法之后,而上半场运动矢量之后是下半场运动矢量。
语法也解释B-VOP。具体地,对于B-VOP,当field-prediction=1时,编码两个或四个运动矢量差,内插宏块的运动矢量差顺序是上半场向前、下半场向前,上半场向后和下半场向后。对于全方向的交错预测(例如,只向前或向后),上半场运动矢量差后面是下半场运动矢量差。
因此,能看出本发明提供用于诸如视频目标平面(VOP)的数字视频图象编码的方法和设备,具体地,提供用于隔行数字视频的运动估算和补偿技术。用于提供在差分编码当前场预测宏块时使用的预测值运动矢量的技术利用周围块或宏块的运动矢量的中间值,当周围宏块自身是交错编码的时,可使用那个宏块的平均运动磁量,而小数象素值变换为半象素。当当前块不是交错编码而周围块是交错编码时,周围块的场运动矢量可以单独使用或进行平均。
根据本发明的解码器使用比特流语法来确定宏块的编码模式,诸如宏块是否是场编码的,解码器可以存储相邻宏块的编码模式以便以后的使用。
在并错编码VOP的重复填充技术中,组合VOP与周围块的顶部和底部行。在每场内,外部象素通过将它们设置为最靠近边界象素值或两个边界象素平均值进行填充,然后重新排序行以提供单个基准VOP图象。
虽然本发明已结合各个具体实施例进行描述,但本领域技术人员将意识到,可以对此进行许多修改和变化而不脱离权利要求书中所提出的本发明的精神和范畴。
权利要求
1.用于差分编码数字视频图象当前块的各水平与垂直运动矢量分量中的提供水平与垂直运动矢量分量的一种方法,其中候选的第一、第二与第三块具有有关的水平与垂直运动矢量分量;所述第一块至少是紧跟在当前行中所述当前块前面的第一宏块的一部分;所述第二块至少是紧跟在前一行中所述当前块上面的第二宏块的一部分;所述第三块至少是紧跟在所述前一行中所述第二宏块后面的第三宏块的一部分;和所述第一、第二与第三候选块及所述当前块中至少一个是场编码的;所述方法包括至少下列步骤之一(a)根据从所述第一、第二与第三候选块的水平运动矢量分量中导出的一个值,选择在差分编码所述当前块的水平运动矢量分量时使用的水平运动矢量分量;和(b)根据从所述第一、第二与第三候选块的垂直运动矢量分量中导出的一个值,选择在差分编码所述当前块的垂直运动矢量分量时使用的垂直运动矢量分量。
2.根据权利要求1的方法,其中所述第一、第二与第三宏块中的至少特定一个包括多个块,每个块具有有关的适于在差分编码所述当前块的所述运动矢量分量时使用的水平与垂直运动矢量分量,所述方法包括以下另外的步骤选择最靠近所述当前块上部左手部分的所述特定宏块中的所述多个块之一作为所述特定宏块的候选块。
3.根据权利要求1或2的方法,包括另一步骤向用于传输的数据提供表示所述当前块是否是场编码的至少一个差分编码的运动矢量分量。
4.根据前面任一权利要求的方法,其中所述当前块是逐级编码的或先进的预测编码的块;和至少一个所述候选块是具有第一与第二场的场编码的候选宏块,每个具有各自的水平与垂直运动矢量分量。
5.根据权利要求4的方法,其中所述水平运动矢量分量选择步骤根据所述候选块的水平运动矢量分量的中间值进行选择,其中水平运动矢量分量,包括所述至少一个场编码的候选宏块的所述第一与第二场的所述相应的水平运动矢量分量;和所述垂直运动矢量分量选择步骤根据所述候选块的垂直运动矢量分量的中间值进行选择,其中垂直运动矢量分量包括所述至少一个场编码的候选宏块的所述第一与第二场的所述相应的垂直运动矢量分量。
6.根据权利要求4或5的方法,包括下面另外的步骤平均此至少一个场编码的候选宏块的各自第一与第二场水平运动矢量分量以得到至少一个相应平均的水平运动矢量分量;其中所述水平运动矢量分量选择步骤根据所述候选块而不是所述至少一个场编码的候选宏块的水平运动矢量分量的中间值进行选择,如果有的话,并根据所述至少一个相应平均的水平运动矢量分量进行选择;和平均此至少一个场编码的候选宏块的各自第一与第二场垂直运动矢量分量以获得至少一个相应平均的垂直运动矢量分量;其中所述垂直运动矢量分量选择步骤根据所述候选块而不是所述至少一个场编码的候选宏块的垂直运动矢量分量的中间值进行选择,如果有的话,并根据所述至少一个相应的平均垂直运动矢量分量进行选择。
7.根据权利要求6的方法,其中将此至少一个场编码的候选宏块的第一与第二场水平运动矢量分量进行平均,以使所有小数的象素偏移变换为半象素位移;和将此至少一个场编码的候选宏块的第一与第二场垂直运动矢量分量进行平均,以使所有小数的象素偏移变换为半象素位移。
8.根据权利要求1至3之一的方法,其中所述当前块是具有第一与第二场的场编码宏块,每个场具有各自的水平与垂直运动矢量分量,所述方法包括下面另外的步骤根据从所述第一、第二与第三候选块的水平运动矢量分量中导出的一个值,选择在差分编码所述当前场编码宏块的所述第一与第二场的所述水平运动矢量分量时使用的水平运动矢量分量;和根据从所述笫一、第二与第三候选块的垂直运动矢量分量中导出的一个值,选择在差分编码所述当前场编码的宏块的所述第一与第二场的所述垂直运动矢量分量时使用的垂直运动矢量分量。
9.根据权利要求8的方法,其中至少一个所述候选块是具有第一与第二场的场编码候选宏块,每个场具有各自的水平与垂直运动矢量分量。
10.根据权利要求9的方法,其中所述水平运动矢量分量选择步骤根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第一场的水平运动矢量分量的中间值进行用于编码所述当前宏块的所述第一场的所述水平运动矢量分量的选择;所述水平运动矢量分量选择步骤根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第二场的水平运动矢量分量的中间值进行用于编码所述当前宏块的所述第二场的所述水平运动矢量分量的选择;所述垂直运动矢量分量选择步骤根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码的候选宏块的第一场的垂直运动矢量分量的中间值确定用于编码所述当前宏块的所述第一场的所述垂直运动矢量分量的选择;和所述垂直运动矢量分量选择步骤根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第二场的垂直运动矢量分量的中间值确定用于编码所述当前宏块的所述第二场的所述垂直运动矢量分量的选择。
11.根据权利要求9的方法,包括另外的步骤平均至少一个场编码候选宏块各个的第一与第二场水平运动矢量分量以获得至少一个相应的平均的水平运动矢量分量;其中在差分编码所述当前宏块的所述第一与第二场的至少一个场的水平运动矢量分量中使用的所选择的水平运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量的中间值,如果有的话,和根据(ⅱ)所述至少一个相应平均的水平运动矢量分量进行确定;和平均至少一个场编码候选宏块的各个第一与第二场垂直运动矢量分量以获得至少一个相应平均的垂直运动矢量分量;其中在差分编码所述当前宏块的所述第一与第二场的至少一个场的垂直运动矢量分量中使用的所选择的垂直运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量的中间值,如果有的话,和根据(ⅱ)所述至少一个相应平均的垂直运动矢量分量进行确定。
12.根据权利要求11的方法,其中将至少一个场编码候选宏块的第一与第二场水平运动矢量分量进行平均,以使所有小数象素偏移变换为半象素位移;和将至少一个场编码候选宏块的第一与第二场垂直运动矢量分量进行平均,以使所有小数象素偏移变换为半象素位移。
13.用于解码数字视频图象数据当前块的一种方法,所述当前块具有有关的差分编码的水平与垂直运动矢量分量,包括至少下面步骤之一(a)根据基于第一、第二与第三候选块的水平运动矢量分量的一个值,确定在差分编码所述当前块的所述水平运动矢量分量中使用的水平运动矢量分量;和(b)根据基于所述第一、第二和第三候选块的垂直运动矢量分量的一个值,确定在差分编码所述当前块的垂直运动矢量分量中使用的垂直运动矢量分量;其中所述第一块至少是紧接在当前行的所述当前块前面的第一宏块的一部分;所述第二块至少是紧接在前一行的所述当前块上面的第二宏块的一部分;所述第三块至少是紧跟在所述前一行的所述第二宏块后面的第三宏块的一部分;和至少所述第一、第二与第三候选块和所述当前块之一是场编码的。
14.根据权利要求13的方法,其中所述当前块是逐级编码或先进的预测编码块;和至少一个所述候选块是具有第一与第二场的场编码候选宏块,每个场具有各自的水平与垂直运动矢量分量。
15.根据权利要求14的方法,其中在编码所述当前宏块的所述第一场的水平运动矢量分量中使用的水平运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第一场的水平运动矢量分量的中间值进行确定;在编码所述当前宏块的所述第二场的水平运动矢量分量中使用的水平运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第二场的水平运动矢量分量的中间值进行确定;在编码所述当前宏块的所述第一场的垂直运动矢量分量中使用的垂直运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第一场的垂直运动矢量分量的中间值进行确定;和在编码所述当前宏块的所述第二场的垂直运动矢量分量中使用的垂直运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,(ⅱ)所述至少一个场编码候选宏块的第二场的垂直运动矢量分量的中间值进行确定。
16.根据权利要求14或15的方法,包括另外的步骤平均至少一个场编码候选宏块各个第一与第二场水平运动矢量分量,以获得至少一个相应的平均的水平运动矢量分量;其中在差分编码所述当前宏块的所述第一与第二场的至少一个场的水平运动矢量分量中使用的水平运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量的中间值,如果有的话,和(ⅱ)所述至少一个相应平均的水平运动矢量分量的中间值进行确定;和平均至少一个场编码候选宏块各个第一与第二场垂直运动矢量分量,以获得至少一个相应的平均的垂直运动矢量分量;其中在差分编码所述当前宏块的所述第一与第二场至少一个场的垂直运动矢量分量中使用的垂直运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量的中间值,如果有的话,和(ⅱ)所述至少一个相应平均的垂直运动矢量分量的中间值进行确定。
17.根据权利要求16的方法,其中将此至少一个场编码的候选宏块的第一与第二场水平运动矢量分量进行平均,以使所有小数象素偏移变换为半象素位移;和将此至少一个场编码的候选宏块的第一与第二场垂直运动矢量分量进行平均,以使所有小数象素偏移变换为半象素位移。
18.根据权利要求13至17之一的方法,其中所述当前块是具有第一与第二场的场编码宏块,每个场具有各自的水平与垂直运动矢量分量,所述方法包括另外的步骤根据基于所述第一、第二与第三候选块的水平运动矢量分量的一个值,确定在差分编码所述当前场编码宏块的所述第一与第二场的所述水平运动矢量分量中使用的水平运动矢量分量;和根据基于所述第一、第二与第三候选块的垂直运动矢量分量的一个值,确定在差分编码所述当前场编码宏块的所述第一与第二场的所述垂直运动矢量分量中使用的垂直运动矢量分量。
19.根据权利要求18的方法,其中至少一个所述候选块是具有第一与第二场的场编码宏块,每个场具有各自的水平与垂直运动矢量分量。
20.根据权利要求19的方法,其中在差分编码所述当前场编码宏块的所述第一与第二场中至少一个场的所述水平运动矢量分量中使用的水平运动矢量分量,根据所述候选块的水平运动矢量分量的中间值进行确定,其中所述候选块的水平运动矢量分量包括所述至少一个场编码候选宏块的所述第一与第二场的所述相应的水平运动矢量分量;和在差分编码所述当前场编码宏块的所述第一与第二场的至少一个场的所述垂直运动矢量分量中使用的所述垂直运动矢量分量,根据所述候选块的垂直运动矢量分量的中间值进行确定,其中所述候选块的垂直运动矢量分量包括所述至少一个场编码候选宏块的所述第一与第二场的所述相应的垂直运动矢量分量。
21.根据权利要求19的方法,还包括步骤平均至少一个场编码候选宏块的各个第一与第二场水平运动矢量分量,以获得至少一个相应平均的水平运动矢量分量;其中在差分编码所述当前场编码宏块的所述第一与第二场的所述水平运动矢量分量中使用的所述水平运动矢量分量,根据所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量的中间值确定,如果有的话,并根据与所述至少一个相应平均的水平运动矢量分量的中间值确定;和平均至少一个场编码候选宏块各个第一与第二场垂直运动矢量分量,以获得至少一个相应平均的垂直运动矢量分量;其中在差分编码所述当前场编码宏块的所述第一场与第二场的所述垂直运动矢量分量中使用的所述垂直运动矢量分量,根据所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量的中间值确定,如果有的话,并根据与所述至少一个相应平均的垂直运动矢量分量的中间值确定。
22.根据权利要求21的方法,其中将此至少一个场编码候选宏块的第一与第二场水平运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移;和将此至少一个场编码候选宏块的第一与第二场垂直运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移。
23.根据权利要求13至22之一的方法,其中在差分编码所述当前块的所述水平运动矢量分量中使用的水平运动矢量分量根据所述第一、第二与第三候选块的水平运动矢量分量中间值进行确定;和在差分编码所述当前块的所述垂直运动矢量分量中使用的垂直运动矢量分量根据所述第一、第二与第三候选块的垂直运动矢量分量中间值进行确定。
24.根据权利要求13至23之一的方法,还包括另外步骤解码所述候选第一、第二与第三块,以便恢复与之有关的所述水平与垂直运动矢量分量。
25.根据权利要求13至24之一的方法,还包括步骤利用表示所述当前块是否是场编码的所述至少一个差分编码的运动矢量分量恢复所发送的数据。
26.根据权利要求25的方法,其中所述编码模式指定所述候选第一、第二与第三块之一的运动矢量分量与差分编码所述当前块的运动矢量分量中所使用的运动矢量分量相同。
27.根据权利要求13至26之一的方法,其中所述数字视频图象包括逐行进行处理的宏块,此方法包括另外步骤处理所述前一行中的所述第二与第三宏块以恢复与之有关的所述水平与垂直运动矢量;存储与所述第二和第三宏块有关的所述水平与垂直运动矢量分量;处理所述当前行中的所述第一宏块以恢复与之有关的所述水平与垂直运动矢量分量;和随后恢复与所述第二和第三宏块有关的所述水平与垂直运动矢量分量以便在所述至少一个所述确定步骤中使用。
28.用于填充包括场编码视频目标平面(VOP)的数字视频图象以便提供一个基准填充VOP的一种方法,其中场编码VOP包括以交错顺序传送的上半场和下半场象素行,所述VOP至少部分地在包括对于所述VOP的边界象素是外部的象素的区域中进行传送,所述方法包括步骤以所述交错顺序处理所述上半场和下半场象素行,以便提供包括所述上半场象素行的上半场块和包括所述下半场象素行的下半场块;和分别在所述各个上半与下半场块内填充所述外部象素。
29.根据权利要求28的方法,还包括步骤以所述交错顺序处理包括所述填充的外部象素的所述上半与下半场象素行。
30.根据权利要求28或29的方法,其中当特定的一个所述外部象素位于相应场块中所述VOP的两个所述边界象素之间时,所述填充步骤还包括步骤根据所述两个边界象素的平均值给所述特定一个所述外部象素赋一个值。
31.根据权利要求28或29的方法,其中当特定一个所述外部象素位于所述VOP的一个所述边界象素与相应场块中所述区域的边缘之间,而不在相应场块中所述VOP的两个所述边界象素之间时,所述填充步骤包括另一步骤根据所述一个所述边界象素给所述特定一个所述外部象素赋一个值。
32.根据权利要求28或29的方法,其中当特定的一个所述外部象素位于相应场块中所述区域的两个边缘之间,而不在所述VOP的一个所述边界象素与相应场块中所述区域的一个边缘之间,并且也不在相应场块中所述VOP的两个所述边界象素之间时,所述填充步骤包括另一步骤根据下面至少之一给所述特定一个所述外部象素赋一个值(a)最靠近在相应场块的所述区域中水平移动的所述特定一个所述外部象素的一个填充的外部象素;和(b)最靠近在相应场块的所述区域中垂直移动的所述特定一个所述外部象素的一个填充的外部象素。
33.用于提供在差分编码数字视频图象当前块的各个水平与垂直运动矢量分量中使用的水平与垂直运动矢量分量的一种设备,其中候选第一、第二与第三块具有相关的水平与垂直运动矢量分量;所述第一块至少是紧跟在当前行中所述当前块前面的第一宏块的一部分;所述第二块至少是紧接在前一行中所述当前块上面的第二宏块的一部分;所述第三块至少是紧跟在所述前一行中所述第二宏块后面的第三宏块的一部分;和所述第一、第二与第三候选块和所述当前块中至少一个是场编码的;所述设备包括至少下列之一(a)用于根据从所述第一、第二与第三候选块的水平运动矢量分量中导出的一个值,选择在差分编码所述当前块的水平运动矢量分量中使用的水平运动矢量分量的装置;和(b)用于根据从所述第一、第二与第三候选块的垂直运动矢量分量中导出的一个值,选择在差分编码所述当前块的垂直运动矢量分量中使用的垂直运动矢量分量的装置。
34.根据权利要求33的设备,其中所述第一、第二和第三宏块中至少特定一个包括多个块,每个块具有适于在差分编码所述当前块的所述运动矢量分量中使用的有关的水平与垂直运动矢量分量,所述设备还包括用于选择最靠近所述当前块上面左手部分的所述特定宏块中所述多个块之一为所述特定宏块的选块的装置。
35.根据权利要求33或34的设备,还包括用于向待传输的数据提供表示所述当前块是否是场编码的所述至少一个差分编码的运动矢量分量的装置。
36.根据权利要求33至35之一的设备,其中所述当前块是逐级编码的或先进的预测编码的块;和至少一个所述候选块是具有第一与第二场的场编码候选宏块,每个场具有各自的水平与垂直运动矢量分量。
37.根据权利要求36的设备,其中所述用于选择水平运动矢量分量的装置根据包括所述至少一个场编码候选宏块的所述第一与第二场的所述相应水平运动矢量分量的所述候选块的水平运动矢量分量的中间值进行选择;和所述用于选择垂直运动矢量分量的装置根据包括所述至少一个场编码候选宏块的所述第一与第二场的所述相应垂直运动矢量分量的所述候选块的垂直运动矢量分量的中间值进行选择。
38.根据权利要求36的设备,还包括用于平均至少一个场编码候选宏块的各个第一与第二场水平运动矢量分量以获得至少一个相应平均的水平运动矢量分量的装置;其中所述用于选择水平运动矢量分量的装置,根据所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量的中间值进行选择,如果有的话,并根据与所述至少一个相应平均的水平运动矢量分量的中间值进行选择;和用于平均至少一个场编码候选宏块的各个第一与第二场垂直运动矢量分量,以获得至少一个相应平均的垂直运动矢量分量的装置;其中所述用于选择垂直运动矢量分量的装置根据所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量的中间值进行选择,如果有的话,并根据与所述至少一个相应平均的垂直运动矢量分量的中间值进行选择。
39.根据权利要求38的设备,其中将此至少一个场编码候选宏块的第一与第二场水平运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移;和将此至少一个场编码候选宏块的第一与第二场垂直运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移。
40.根据权利要求33至35之一的设备,其中所述当前块是场编码宏块,此宏块具有第一与第二场,每场具有各自的水平与垂直运动矢量分量;所述水平运动矢量分量选择装置根据从所述第一、第二与第三候选块的水平运动矢量分量中导出的一个值,选择在差分编码所述当前场编码宏块的所述第一与第二场的所述水平运动矢量分量中使用的水平运动矢量分量;和所述垂直运动矢量分量选择装置根据从所述第一、第二与第三候选块的垂直运动矢量分量中导出的一个值,选择在差分编码所述当前场编码宏块的所述第一与第二场的所述垂直运动矢量分量中使用的垂直运动矢量分量。
41.根据权利要求40的设备,其中至少一个所述候选块是具有第一与第二场的场编码候选宏块,每场具有各自的水平与垂直运动矢量分量。
42.根据权利要求41的设备,其中所述用于选择水平运动矢量分量的装置根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第一场的水平运动矢量分量的中间值,进行用于编码所述当前宏块的所述第一场的所述水平运动矢量分量的选择;所述用于选择水平运动矢量分量的装置根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第二场的水平运动矢量分量的中间值进行用于编码所述当前宏块的所述第二场的所述水平运动矢量分量的选择;所述用于选择垂直运动矢量分量的装置根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第一场的垂直运动矢量分量的中间值,进行用于编码所述当前宏块的所述第一场的所述垂直运动矢量分量的选择;和所述用于选择垂直运动矢量分量的装置根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第二场的垂直运动矢量分量的中间值,进行用于编码所述当前宏块的所述第二场的所述垂直运动矢量分量的选择。
43.根据权利要求41或42的设备,还包括用于平均至少一个场编码候选宏块的各个第一与第二场水平运动矢量分量,以获得至少一个相应平均的水平运动矢量分量的装置;其中所选择的在差分编码所述当前宏块的所述第一与第二场中至少一个场的水平运动矢量分量中使用的水平运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量的中间值,如果有的话,和(ⅱ)与所述至少一个相应平均的水平运动矢量分量的中间值进行确定;和用于平均至少一个场编码候选宏块的各个第一与第二场垂直运动矢量分量,以获得至少一个相应平均的垂直运动矢量分量的装置;其中所选择的在差分编码所述当前宏块的所述第一与第二场中至少一个场的垂直运动矢量分量中使用的垂直运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量的中间值,如果有的话,和(ⅱ)与所述至少一个相应平均的垂直运动矢量分量的中间值进行确定。
44.根据权利要求43的设备,其中将此至少一个场编码的候选宏块的第一与第二场的水平运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移;和将此至少一个场编码的候选宏块的第一与第二场的垂直运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移。
45.用于解码数字视频图象数据的当前块的一种设备,所述当前块具有有关的差分编码的水平与垂直运动矢量分量,此设备至少包括下列之一(a)用于根据基于第一、第二与第三候选块的水平运动矢量分量的一个值确定在差分编码所述当前块的所述水平运动矢量分量中使用的水平运动矢量分量的装置;和(b)用于根据基于所述第一、第二与第三候选块的垂直运动矢量分量的一个值,确定在差分编码所述当前块的垂直运动矢量分量中使用的垂直运动矢量分量的装置;其中所述第一块至少是紧接在当前行中所述当前块前面的第一宏块的一部分;所述第二块至少是紧接在前一行中所述当前块上面的第二宏块的一部分;所述第三块至少是紧接在所述前一行中所述第二宏块后面的第三宏块的一部分;和所述第一、第二与第三候选块和所述当前块中至少一个是场编码的。
46.根据权利要求45的设备,其中所述当前块是逐级编码的或先进的预测编码的块;和至少一个所述候选块是具有第一与第二场的场编码候选宏块,每场具有各自的水平与垂直运动矢量分量。
47.根据权利要求46的设备,其中在编码所述当前宏块的所述第一场的水平运动矢量分量中所使用的水平运动矢量分量是根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量的中间值,如果有的话,和(ⅱ)与所述至少一个场编码候选宏块的第一场的水平运动矢量分量的中间值进行确定的;在编码所述当前宏块的所述第二场的水平运动矢量分量中所使用的水平运动矢量分量是根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第二场的水平运动矢量分量的中间值进行确定的;在编码所述当前宏块的所述第一场的垂直运动矢量分量中所使用的垂直运动矢量分量是根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第一场的垂直运动矢量分量的中间值确定的;和在编码所述当前宏块的所述第二场的垂直运动矢量分量中所使用的垂直运动矢量分量是根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,和(ⅱ)所述至少一个场编码候选宏块的第二场的垂直运动矢量分量的中间值确定的。
48.根据权利要求46的设备,还包括用于平均至少一个场编码候选宏块各个第一与第二场水平运动矢量分量,以获得至少一个相应平均的水平运动矢量分量的装置;其中在差分编码所述当前宏块的所述第一与第二场中至少一场的水平运动矢量分量中所使用的水平运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的水平运动矢量分量,如果有的话,和(ⅱ)所述至少一个相应平均的水平运动矢量分量的中间值进行确定;和用于平均至少一个场编码候选宏块各个第一与第二场垂直运动矢量分量以获得至少一个相应平均的垂直运动矢量分量的装置;其中在差分编码所述当前宏块的所述第一与第二场中至少一场的垂直运动矢量分量中所使用的垂直运动矢量分量根据(ⅰ)所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,和(ⅱ)所述至少一个相应平均的垂直运动矢量分量的中间值进行确定。
49.根据根据要求48的设备,其中将此至少一个场编码候选宏块的第一与第二场水平运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移;和将此至少一个场编码候选宏块的第一与第二场垂直运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移。
50.根据权利要求45的设备,其中所述当前块是具有第一与第二场的场编码宏块,每场具有各自的水平与垂直运动矢量分量,所述设备还包括用于根据基于所述第一、第二与第三候选块的水平运动矢量分量的一个值确定在差分编码所述当前场编码宏块的所述第一与第二场的所述水平运动矢量分量中所使用的水平运动矢量分量的装置;和用于根据基于所述第一、第二与第三候选块的垂直运动矢量分量的一个值,确定在差分编码所述当前场编码宏块的所述第一与第二场的所述垂直运动矢量分量中所使用的垂直运动矢量分量的装置。
51.根据权利要求50的设备,其中至少一个所述候选块是具有第一与第二场的场编码宏块,每场具有各自的水平与垂直运动矢量分量。
52.根据权利要求51的设备,其中在差分编码所述当前场编码宏块的所述第一与第二场中至少一场的所述水平运动矢量分量中所使用的水平运动矢量分量根据所述候选块的水平运动矢量分量的中间值进行确定,该水平运动矢量分量包括所述至少一个场编码候选宏块的所述第一与第二场的所述相应水平运动矢量分量;和在差分编码所述当前场编码宏块的所述第一与第二场中至少一场的所述垂直运动矢量分量中所使用的所述垂直运动矢量分量根据所述候选块的垂直运动矢量分量的中间值进行确定,该垂直运动矢量分量包括所述至少一个场编码候选宏块的所述第一与第二场的所述相应垂直运动矢量分量。
53.根据权利要求51或52的设备,还包括用于平均至少一个场编码候选宏块的各个第一与第二场水平运动矢量分量,以获得至少一个相应平均的水平运动矢量分量的装置;其中在差分编码所述当前场编码宏块的所述第一与第二场的所述水平运动矢量分量中所使用的所述水平运动矢量分量根据所述选块而不是所述至少一个场编码候选宏块的水平运动矢量分量,如果有的话,并与所述至少一个相应平均的水平运动矢量分量的中间值进行确定;和用于平均至少一个场编码的候选宏块的各个第一与第二场垂直运动矢量分量以获得至少一个相应平均的垂直运动矢量分量的装置;其中在差分编码所述当前场编码宏块的所述第一与第二场的所述垂直运动矢量分量中所使用的所述垂直运动矢量分量根据所述候选块而不是所述至少一个场编码候选宏块的垂直运动矢量分量,如果有的话,并与所述至少一个相应平均的垂直运动矢量分量的中间值进行确定。
54.根据权利要求53的设备,其中将此至少一个场编码候选宏块的第一与第二场水平运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移;和将此至少一个场编码候选宏块的第一与第二场垂直运动矢量分量进行平均,以使所有小数象素偏移都变换为半象素位移。
55.根据权利要求45至52之一的设备,其中在差分编码所述当前块的所述水平运动矢量分量中所使用的水平运动矢量分量根据所述第一、第二与第三候选块的水平运动矢量分量中间值进行确定;和在差分编码所述当前块的所述垂直运动矢量分量中所使用的垂直运动矢量分量根据所述第一、第二与第三候选块的垂直运动矢量分量中间值进行确定。
56.根据权利要求45至55之一的设备,还包括解码器,用于解码所述候选第一、第二与第三块以恢复与之有关的所述水平与垂直运动矢量分量。
57.根据权利要求45至56之一的设备,还包括一个装置,用于利用表示所述当前块是否是场编码的所述至少一个差分编码的运动矢量分量来恢复所发送的数据。
58.根据权利要求57的设备,其中所述编码模式指定所述候选第一、第二与第三块之一的运动矢量分量与在差分编码所述当前块的运动矢量分量中所使用的运动矢量分量相同。
59.根据权利要求45至58之一的设备,其中所述数字视频图象包括逐行进行处理的宏块,此设备还包括用于处理在所述前一行中所述第二与第三宏块以恢复与之有关的所述水平与垂直运动矢量分量的装置;用于存储与所述第二与第三宏块有关的所述水平与垂直运动矢量分量的装置;用于处理所述当前行中所述第一宏块以恢复与之有关的所述水平与垂直运动矢量分量的装置;和用于随后恢复与所述第二和第三宏块有关的由所述确定装置至少之一用的所述水平与垂直运动矢量分量。
60.用于填充包括场编码视频目标平面(VOP)的数字视频图象以便提供基准填充VOP的一种设备,其中场编码VOP包括以交错顺序传送的上半与下半场象素行,所述VOP至少部分地在包括对于所述VOP的边界象素是外部的象素的区域中进行传送,所述设备包括用于以所述交错顺序处理所述上半与下半场象素行以提供包括所述上半场象素行的上半场块和包括所述下半场象素行的下半场块的装置;和用于独立地在所述各个上半与下半场块内填充所述外部象素的装置。
全文摘要
提供用于如视频目标平面(VOP)的隔行数字视频的运动估算和补偿技术,差分编码当前场编码宏块中使用的预测值运动矢量利用周围块或宏块的运行矢量的中间值得到。当周围宏块自身是交错编码,使用那个宏块的平均运动矢量而小数象素值变换为半象素。若当前块不是交错编码而周围块是交错编码时可独立地使用或平均场运动矢量。在交错编码的VOP的重复填充技术中,VOP和周围块的偶数和奇数行进行组合。
文档编号H04N7/26GK1226781SQ9810926
公开日1999年8月25日 申请日期1998年3月6日 优先权日1997年3月7日
发明者罗伯特·O·艾弗雷格, 陈学敏, 阿贾伊·卢特拉 申请人:次级系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1