首页> 中国专利> 用于隔行数字视频的宏数据块内的DC和AC系数预测

用于隔行数字视频的宏数据块内的DC和AC系数预测

摘要

通过从相邻左手块和相邻顶块中选择预测器DC和AC系数对INTRA编码块的DC和AC DCT变换系数进行差分编码。每个块根据帧模式、重新排序场模式和非重新排序场模式编码。根据所述块的各自编码模式以及其中驻留有DC预测器的块选择AC预测器块。当顶块和当前块都处于重新排序场模式、或都处于帧模式和/或非重新排序场模式以及DC预测器驻留在所述顶块内时,选择顶块作为AC预测器。

著录项

  • 公开/公告号CN1198639A

    专利类型发明专利

  • 公开/公告日1998-11-11

    原文格式PDF

  • 申请/专利权人 次级系统公司;

    申请/专利号CN98108053.7

  • 申请日1998-03-06

  • 分类号H04N7/36;

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人蹇炜

  • 地址 美国伊利诺斯

  • 入库时间 2023-12-17 13:13:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-30

    专利权有效期届满 IPC(主分类):H04N7/50 授权公告日:20040505 申请日:19980306

    专利权的终止

  • 2016-03-23

    专利权的转移 IPC(主分类):H04N7/50 登记生效日:20160304 变更前: 变更后: 申请日:19980306

    专利申请权、专利权的转移

  • 2013-10-16

    专利权的转移 IPC(主分类):H04N7/50 变更前: 变更后: 登记生效日:20130917 申请日:19980306

    专利申请权、专利权的转移

  • 2005-03-02

    专利权人的姓名或者名称、地址的变更 变更前: 变更后: 申请日:19980306

    专利权人的姓名或者名称、地址的变更

  • 2004-05-05

    授权

    授权

  • 2000-05-24

    实质审查请求的生效

    实质审查请求的生效

  • 1998-11-11

    公开

    公开

查看全部

说明书

本发明特别涉及到当当前宏数据块和/或相邻宏数据块是隔行(例如场)代码时用于对与宏数据块内数字视频相关的DC和AC系数编码的方法和装置。选择来自相邻宏数据块的预测器系数对当前宏数据块的系数进行编码以使编码系数最佳化。所述系数例如是从诸如离散余弦变换(DCT)的空间变换得到的。

本发明特别适用于各种多媒体,和与在1997年7月出版的文献ISO/IEC/JTC1/SC29/WG11 N1796中文章名称为“MPEG-4视频验证模型版本8.0”描述的MPEG-4验证模型(VM)8.0标准(MPEG-4 VM 8.0)兼容,此文在此一并作为参考。MPEG-2标准是MPEG-4标准的前身,并在1994年3月25日的文献ISO/IEC 13818-2中名称为“信息技术—运动图象和相关视频的类属编码,推荐H.262”中做了描述,这里,该文献也一并作为参考。

MPEG-4是一种新的编码标准,它提供了一种灵活的机制和开创了一组用于数字音频-可视数据的通信、访问和操作的编码工具。MPEG-4的灵活机构支持各种编码工具的组合以及它们相应的功能性,以满足诸如数据库浏览、信息、提取和相互作用通信等计算机、远距离通信和娱乐(即:电视和电影)等的需要。    

MPEG-4提供多种标准的核心技术,以允许有效地存储、传送和操作多媒体环境下的数据。MPEG-4实现有效的压缩、目标可量测性、空间和时间可量测性以及误差恢复性。

MPEG-4视频VM编码器/解码器(codec)是一种具有运动补偿的以块和目标块为基础的混合编码器。利用使用重叠块运动补偿的8×8离散余弦变换(DCT)对文理结构编码。使用以内容为基础的算术编码(CAE)算法或经过改进的DCT编码器将目标形状表示为字母映象并对其编码,两者都使用时间预测。当它们被从计算机图表中了解时,所述编码器能够处理空间。其它编码方法,诸如子波和弹性编码也可以用于特殊用途。

运动图象纹理编码是一种公知的用于视频编码的途径和可以被模型化为三级处理。第一级是信号处理,包括运动估计和补偿(ME/MC)以及两维(2-D)空间变换。ME/MC和空间变换的目标是按视频顺序取时间和空间的优点以便使量化速度分布和在复杂性约束下的熵信息最佳化-用于ME/MC的最公知技术是块匹配和最公知的空间变换是DCT。

另外,在某些情况下,当宏数据块被INTRA编码时,例如不参考时间在后或在前的预测器宏数据块,可以改善编码效率。INTRA编码可用于具有重复运动、景象变化或重复变化等其中可以具有很小帧-帧相关性的明亮条件下的图象顺序。通过使用相邻块的系数作为预测器系数对当前块的DCT系数差分编码,编码效率可以进一步得到改善。

但是,利用诸如MPEG-4的编码方案,在视频目标平面(VOP)或其它图象区域中可以具有彼此靠近的一个帧模式宏数据块和一个场模式宏数据块。因此,在自适应编码系统中,场模式宏数据块可以被重新排序或不被重新排序。因此,希望具有一个系统用于选择用于对当前INTRA编码块的AC和DC的DCT系数差分编码的预测器系数,其中,以帧模式、非重新排序场模式和/或重新排序场模式对当前块和/或相邻块编码。

所述系统还提供DC变换系数的非线性量化。

本发明提供一个具有上述和其它优点的系统。    

根据本发明,提供一种方法和装置,用于选择用于对当前INTRA编码块的系数进行差分编码的预测器系数。

用于对数字视频图象中的当前INTRA编码块的空间变换系数进行编码的力法包括用于识别相邻左手块、相邻顶块和与左手块以及顶块相邻的左顶块的步骤。所述左手块、顶块和左顶块中的每一个都具有一个DC空间变换系数和多个AC空间变换系数。另外,所有这些块中的每一个都以根据帧模式、重新排序场模式或非重新排序场模式的编码模式编码。预测器AC空间变换系数从左手块或顶块中选择,以用于对当前块的AC空间变换系数差分编码。选择步骤考虑当前块和顶块的编码模式。

特别是,当根据帧模式或非重新排序场模式对顶块编码和根据重新排序场模式对当前块编码时,AC空间变换系数可以从左手块选择。

当根据帧模式或非重新排序场模式对当前块编码和根据重新排序场模式对顶块编码时,AC空间变换系数可以从左手块中选择。

用于对当前块的DC空间变换系数进行差分编码的DC空间变换系数可以根据左手块和左顶块的DC空间变换系数之间的梯度和顶块和左顶块的DC空间变换系数之间的梯度从左手块或顶块中选择。

AC空间变换系数可以根据所选择的DC空间变换系数从左手块或顶块中选择。    

当DC空间变换系数是从顶块中选择、根据帧模式或非重新排序场模式对当前块编码以及根据帧模式或非重新排序场模式对顶块编码时,AC空间变换系数可以从顶块中选择。    

当DC空间变换系数从顶块中选择以及根据重新排序场模式对当前块和顶块编码时,AC空间变换系数可以从所述顶块中选择。

当所选择的块不是被INTRA编码时可以利用归零AC空间变换系数代替来自所选择块的AC空间变换系数。

再有,当当前块驻留在当前视频目标平面(VOP)内时,可以在当所选择的块没有驻留在当前VOP中时利用归零AC空间变换系数代替来自所选择块的AC空间变换系数。

所述DC系数可以被非线性量化。

还提供了一种相应的解码方法。通过执行在编码器处使用的选择处理,解码器可以独立地识别预测器系数,或解码器可以从传送的位流中恢复用于识别预测器系数的代码字。

还提供了一种相应的装置。

图1的方框图示出了本发明的编码器。

图2示出了根据本发明在自适应帧/场DCT方案中象素行的重新排序。

图3示出了根据本发明用于INTRA编码块的DC系数预测。

图4(a)-(d)示出了根据本发明当前块和候选预测器块的4种可能的排列。

图5示出了根据本发明用于INTRA编码块的AC系数预测。

图6是的方框图示出了根据本发明的解码器。

图7示出了根据本发明的宏数据块包的结构。

提供了一种用于选择用于对当前INTRA编码宏数据块的系数差分编码的预则器系数的方法和装置。通过从左手相邻块和顶相邻块选择预测器DC和AC系数对DC和AC系数进行差分编码。每个块根据帧模式、重新排序模式或非重新排序模式编码。根据所述块的的各自编码模式和其中驻留DC预测器的块选择AC预测器块。当顶块和当前块都被以场模式、或以帧模式和/或非重新排序模式重新排序和DC预测器驻留在顶块中时,顶块被选择作为一个AC预测器块。当所选择块不是被INTRA编码或不是驻留于作为当前块的同一个视频目标平面(VOP)内时,归零AC空间变换系数被用于来自所选择块的空间变换系数。在这种情况下,DC系数可以被类似地设置成非零值。

图1的方框图示出了本发明的编码器。该编码器适用于符合诸如在MPEG-4标准中各种规定的视频目标平面(VOP)。所述VOP是帧内图象元件。VOP可以具有任意形状,和作为视频目标,VOP的连续性是公知的。全矩形视频帧也可以被认为是一个VOP。因此,这里,术语“VOP”将被用于指出任意和非任意(例如,矩形)图象区域形状。当属于一个特定VOP时,一帧中的每个象素被识别。

VOP可以被分为预测VOP(P-VOP)、编码内VOP(I-VOP)或双向预测VOP(B-VOP)。但是,单一的一个VOP可以包括不同类型的宏数据块。特别是,一个VOP可以包括一定数量的单独使用帧内模式或帧间模式编码的宏数据块(MB)。利用帧内(INTRA)编码,不必参考暂时在前或在后的MB对所述MB编码。利用帧间(INTER)编码,可以相对暂时在后和/或在前的基准(例如锚)帧对MB差分编码。用于一个P-VOP的锚帧(例如,VOP)必须是另一个P-VOP或I-VOP,而不能是B-VOP。一个I-VOP包括多个不被预测编码的自包含(例如帧内编码的)块。

此外,可以利用帧模式、重新排序模式或非重新排序模式对帧内和帧间编码的MB编码。B-VOP可以使用P-VOP的正向预测以及后向预测、双向预测和直接模式,所有这些部属于帧间技术。B-VOP不能直接使用参考尽管是预先经过变化的MPEG-4VM 8.0下的帧内编码的MB。用于B-VOP的锚帧(例如,VOP)必须是P-VOP或I-VOP。而不能是其它B-VOP。

以标号100表示的编码器包括一个形状编码器110、运动估计函数120、于动补偿函数130和纹理编码器140,其中的每一个接收在端105处的视频象素数据输入。运动故居函数120、运动补偿函数130、纹理编码器140和形状编码器110还接收端107处诸如MPEG-4参数VOP_of_arbitrary_shape的VOP形状信息输入。当这个参数是零时,VOP的形状为矩形,和因此不使用形状编码器110。

利用INTRA编码,重新构成的锚VOP函数150提供由运动估计函数120和运动补偿函数130使用的重新构成锚VOP。在减法器160中从运动补偿在先VOP中减去当前VOP以提供一个在纹理编码器140处编码的余数。纹理编码器140对所述余数执行DCT,以提供纹理信息(例如,变换系数)给多路转换器(MUX)180。纹理编码器140还提供一个信息,该信息与来自运动补偿器130的输出在加法器170处相加用于到在前重新构成的VOP150的输入。

对于INTRA编码,对来自当前块的象素数据、而不是来自所述余数的DCT系数执行DCT。但是,如下面将要讨论的,DCT系数本身可以使用来自与同一个VOP中当前块相邻的所选择块的AC和DC系数进行差分编码。

对于INTRA编码块,运动信息(例如,运动矢量)被从运动估计函数120提供给MUX180,同时,指出VOP形状的形状信息信息从形状编码函数110提供给MUX180。MUX180提供相应多路转换的数据流给缓冲器190,以用于数据通道上的连续通信。

输入给编码器的象素数据可以具有YUV 4∶2∶0的格式。并借助于一个矩形表示所述VOP。所述约束矩形的左顶坐标被限制为不大于相邻矩形左顶坐标的最近偶数。因此,色度分量中约束矩形的左顶坐标是亮度分量中约束矩形左顶坐标的一半。    

对于诸如具有快速运动或景物变化的某些视频序列,它可以非常有效地直接编码当前块而不必使用VOP间差分编码。因此,希望具有一种判决准则用于自适应地选择对当前块直接(例如,INTRA模式)编码或差分(例如,INTER模式)编码。计算下述参数以进行INTRA/INTER判决: >>mean>=>>1>>N>2> >>Σ>>i>=>0>>>N>->1>>>>Σc>>j>=>0>>>N>->1>>>>(>i>,>j>)>>>s>   and    >>A>=>>Σ>>i>=>0>>>N>->1>>>>Σ>>j>=>0>>>N>->1>>>|>c>>(>i>,>j>)>>->mean>|>,>>s>

其中,N是所述块的尺寸(例如,对于16×16的宏数据块,N=16)。项c(i、j)当前宏数据块的亮度取样,其中,“i”是水平索引,“j”是垂直索引。如果A<(SADinter(MVx,MVY)-2*Nc),选择INTRA模式,反之,使用INTER模式。SADinter是当前宏数据块象素和最佳匹配宏数据块象素之间逐个象素基础上所取差的绝对值。最佳匹配宏数据块分别由水平和垂直运动矢量参考。Nc是在当前COP中象素的数量。一个VOP通常包括多个宏数据块。注意,在用于这个判决的SADinter(MVX,MVY)位于整数象素分辨率处。如果选择INTRA模式,没有其它的操作用于运动搜索。如果选择INTER模式,运动搜索继续用于半-象素分辨率MV。

图2示出了在根据本发明的自适应帧/场DCT方案中象素行的重新排序。

当隔行(即场模式)视频被编码时,通过重新排序一个宏数据块的行以形成组成来自一个场的数据的8×8亮度块,有时能够获得主能压缩(superiorenergy compaction)。然后对包括相同场象素行(即底场的一个顶)的重新排序的宏数据块执行DCT。当 >>>Σ>>i>=>0>>6>>>Σ>>j>=>0>>15>>>>(>>p>>2>i>.>1>>>->>p>>2>i>->1>.>j>>>)>>2>>+>>>(>>p>>2>i>->1>.>j>>>->>p>>2>i>->2>.>j>>>)>>2>>>>>Σ>>i>=>0>>6>>>Σ>>j>=>0>>15>>>>(>>p>>2>i>.>j>>>->>p>>2>i>->2>.>j>>>)>>2>>+>>>(>>p>>2>i>->1>.>j>>>->>p>>2>i>->3>.>j>>>)>>2>>>s>

时,使用场DCT行排序,

其中,Pi.j是空间亮度取样,用于在执行8×8 DCT之前进行INTRA编码(或INTER差分编码)。项“i”和“j”分别是水平和垂直索引。当MPEG-4标记dct_type=1(即.重新排序场模式)时,指出场DCT排列。非重新排序模式和帧模式由dct_type=0指出。对排序行的判决在对使用INTRA或INTER编码编码判决之后执行。

当使用场DCT模式时,宏数据块空间域内用于INTRA模式的亮度行(或用于INTER模式的亮度行)被从帧DCT取向到场DCT结构排列。所生成的宏数据块通常被进行变换、量化和VLC编码。在对场DCT宏数据块解码的过程中,在从IDCT获得所有的亮度块之后执行相反的排列。在4∶2∶0的格式下,利用这种模式不能对色度数据有效编码。通常在20处示出了场模式图象,即一个16×16宏数据块(MB)。所述MB包括偶数行202、204、206、208、210、212、214和216以及奇数行203、205、207、209、211、213、215和217。偶数和奇数行然后被交错,和分别形成顶和底场。

当图象20的象素行被排列以形成同场亮度块时,形成了通常在25处示出的MB。通常在245处示出的箭头指出行202-217的重新排序。例如,MB200的第一个偶数行202也是MB250的第一个偶数行。偶数行204被重新排序成MB250中的第二行。类似的,偶数行204、206、208、210、212、214和216被分别重新排序成MB250的第三到第八行。由此,形成具有偶数行的16×8个亮度区域。类似的,奇数行203、205、207、209、211、213、215和217形成16×8区域285。

关于纹理编码,对顶区280中的两个块和底区285中的两个块执行8×8DCT。使用可分离的两维DCT。如下面将要描述的,通过使用来自与当前块相邻的块的预测器系数对DCT系数差分编码能够实现其它的编码系数。

图3示出了根据本发明用于INTRA编码块的DC系数预测。DC系数预测不受所述块是帧模式还是场模式影响。在熵编码之前,执行DCT的量化DC和某些AC系数的无损预测以集中围绕零的系数分布从而使所述熵编码更加有效。用于当前块或直接关于该当前块、即在前行的自适应DC预测方法包括到当前块左侧的块的量化DC(QDC)值。

此外,DC系数的量化可以是线性的或非线性的。对于线性量化,利用用于8的亮度和色度分量的DC系数的步长,QDC=dc//8,其中,“dc”是来自11位未量化变换系数值。“//”表示循环划分。

下面结合表1描述用于宏数据块内DC系数的非线性量化。

表1

  量类型用于量化器  (Qp)范围的    scaler    dc_    1到4    5到8    9到24    25到31    亮度    8    2Qp    Qp+8    2Qp-16    色度    8    (Qp+13)/2    Qp-6

利用量化级Qp按照分段关系解释用于DCT块DC系数的非线性换算电路参数(dc_scaler)。通过相应的非线性换算电路量化亮度和色度块的DC系数。例如,对于具有1-4 Qp范围的亮度块来讲,dc_scaler=8。对于Qp值为6的亮度块,dc_scaler=2*Qp=12。这样,使用QDC=dc_//dc_scaler执行正向量化,和使用dc=dc_scalar*QDC计算重新构成的DC值。

DC预测器系数的自适应选择以围绕当前块产生的水平和垂直QDC值为基础。例如,假设块X 310是一个当前正在被编码的INTRA宏数据块中DCT系数的8×8块。块X包括DC系数312。块A320是一个与块X左手直接相邻的8×8块,块C340是一个与块X顶部直接相邻的8×8块,块B330是一个与块C左手直接相邻的8×8块。块A包括DC系数322,块C包括DC系数342,和块B包括DC系数332。

对于DC系数的线性量化,块X的QDC预测器值QDC’X在比较水平和垂直QDC梯度的基础上从块A的QDC值QDCA或块C的QDC值QDCC中获得。特别是,如果(|QDCA-QDCB|<|QDCB-QDCC|),那么,QDC’X=QDCC。否则,QDC’X=QDCA。

然后如下获得差分DC值DQDCX:DQDCX=QDCX-QDC’X。差分DC值被变长编码和以位流形式传送给一个解码器。对宏数据块的每个块单独重复执行该处理,和然后对VOP或帧中的每个宏数据块进行处理。在所述解码器中,从运算QDCX=DQDCX+QDC’X中获得全DC系数。

如果A、B和C中的任何一个位于VOP或帧边界的外部,或它们不属于一个INTRA编码的宏数据块,它们的QDC预测值被假定取值为2(bits_per_pixel-1)。例如,当bits_per_pixel=8时,使用27=128的值。以类似用于亮度和一个块两个色度分量中每一个的方式选择DC预测块。

当用于块A320、B330和C340的dc_scaler不同时,可以对上述用于线性量化的方案进行改进以用于DC系数的非线性量化。即,对于这三个块的每一个块来讲,dc_scaler都不相同。由于量化级逐个宏数据块可以不同,所以,这是可能发生的。

如果(|QDC(1)A-QDC(1)B|<|QDC(1)B-QDC(1)C|)

QDCX=QDC(1)C

另外,

QDCX=QDC(1)A,

其中,QDCX=dcX//dc_svalarX,

QDC(1)A=(QDCA*dc_svalarA)//dc_scalarX,和QDCA=dcA//dc_scalarA,

QDC(1)B=(QDCB*dc_scalarB)//dc_scalarX,和QDCB=dcB//dc_scalarB,

QDC(1)C=(QDCC*dc_scalarC)//dc_scalarX,和QDCC=dcC//dc_scalarC。

特别是,根据其中驻留有DC系数的宏数据块和其中驻留有被选择预测块的宏数据块的量化级定标所述DC值。通常,dc_scaler在逐个MB的基础上被指定。参数QDC和Qp可以以数字流的形式转送给解码器。Qp被逐个MB编码和作为MPEG-4参数DQUANT传送。在所述解码器处,根据表1,从DQUANT中获得Qp,和从Qp获得dc_scaler。QDC预测器通过重新计算水平和垂直梯度和考虑其它预测器选择标准确定,和最后,使用未定标QDC值和dc_scaler值获得定标的QDC值QDC(1)。

图4(a)-4(d)示出了根据本发明当前块和电位预测器块的4种可能配置。DC系数预测器的选择不受宏数据块中当前块X相对位置的影响。

图4(a)示出了与图3所示配置对应的第一种配置。特别是,当前正在被编码的块X310是宏数据块300的左上手块,块A320是宏数据块420的右上手块,块B是宏数据块430的右下手块,和块C340是宏数据块440的左下手块。

图4(b)示出了第二种配置,其中,块X310是宏数据块300的右上手块,块A320是宏数据块300的左上手块,块B330是宏数据块440的左下手块,和块C是宏数据块440的右下手块。

通常,相同宏数据块中的所有块都处于帧模式或都处于没有重新排序的场模式或都处于重新排序的场模式。相同宏数据块中的所有块都是INTRA编码或都是INTER编码。此外,相邻宏数据块中的块可以具有不同的模式。由此,在图4(b)中,块A320和块C340要么都处于帧模式,要么都处于没有重新排序的场模式,要么都处于重新排序的场模式。类似的,块B330和块C340要么都处于帧模式,要么都处于没有重新排序的场模式,要么都处于重新排序的场模式。

图4(c)示出了第三种配置,其中,块X310是宏数据块300的左下手块,块A320是宏数据块420的右下手块,块B是宏数据块420的右上手块,和块C是宏数据块420的左上手块。块A320和块B330或处于帧模式、或处于没有重新排序的场模式、或处于重新排序的场模式。类似的,块X310和块C340或处于帧模式、或处于没有重新排序的场模式或处于重新排序的场模式。

图4(d)示出了第四种配置,其中,块X310是右下手块,块A320是左下手块,块B330是左上手块,和块C340是右上手块。由于块A、B、C和D位于同一个宏数据块内,所以,它们或都处于帧模式,或都处于没有重新排序的场模式,或都处于重新排序的场模式。    

图5示出了根据本发明用于INTRA编码块的AC系数预测。利用AC系数预测,选择左手相邻块或顶部相邻块用于对当前块的AC DCT系数进行差分编码。本专业技术领域内的技术人员能够识别除了是DC系数的左上手系数以外DCT块中的所有系数都是AC系数。因此,对于8×8块来讲有63个AC系数和一个DC系数。“DC”被称之为直流,它描述备用状态系数能量,而“AC”被称之为交流,它描述相对于DC电平变化的系数能量。

通常,AC系数中的能量分布如下:接近一个块右下手部分的系数为零值或近似零值,和因此而不需要差分编码,而接近一个块左上手部分的系数需要被差分编码。

由于所述块可以是图4(a)-(d)所示4种配置中的一种,所以,图5没有示出宏数据块的边界。另外,当每个宏数据块包括64个系数时,所有的系数并没有单独示出。块X310包括AC系数314的第一行和AC系数316的第一列,块C包括AC系数344的第一行,和块A包括AC系数324的第一列。

块A320中的DC系数322或块C340中的DC系数342被选择作为用于块X310中DC系数312的预测器。此外,来自在前编码块(即,在同一个VOP内)第一行或第一列的AC系数被用于预测当前块的相应系数。

对于每个编码块来讲,当所述当前块和预测块具有相同的dct_type时,所选择用于DC系数预测的方向还被用于选择用于AC系数预测的方向。即,当当前块和预测块都具有dct_type=0(即:没有重新排序场模式,或帧模式)或dct_type=1(即:重新排序场模式)时,DC预测器块的AC系数被用于对当前块的AC系数进行差分编码。MPEG-4标记“dct_type”已经如上结合图2进行了讨论。

在第一个例子中,假设当前块、即块X310被如图4(a)所示配置。如果块X、A和C具有相同的dct_type,那么,DC预测器块的AC系数被用于对当前块的AC系数进行差分编码。

例如,如果块C340是一个DC预测器块,那么,块C的AC系数344的第一行被用于在逐个系数的基础上预测块X的AC系数314的第一行。即,行314的第一个AC系数被用于预测行314的第一个AC系数,如箭头346所示;行344的第二个AC系数被用于预测行314的第二个AC系数,等等。类似的,块C340D AC系数的第二行被用于预测块X310的AC系数的第二行,等等,直到块C的AC系数的最后一行被用于预测块X的AC系数的最后一行为止。注意,每个块的第一行具有7个AC系数,而其余行具有8个AC系数。

另外,仍然假设块A、B和C具有相同的dct_type,如果块A是一个DC系数块,那么,块C的AC系数324的第一列被用于在逐个系数的基础上预测块X的AC系数的第一列316。例如,列324的第一个AC系数被用于预测列316的第一个AC系数,如箭头326所示。类似的。块A的AC系数的第二列被用于预测块X的AC系数的第二列,等等,直到块A的AC系数的最后一列被用于预测块X的AC系数的最后一列为止。注意,每个块的第一列具有7个AC系数,而其余的列具有8个AC系数。    

仍然假设使用图4(a)所示的配置,如果块X和块C具有不同的dct_type,那么,不必考虑DC预测器块,选择块A作为AC预测器块。即使是块A和块X具有不同的dct_type,但由于在重新排序模式下行的重新排序不会对与没有重新排序模式块和帧模式块相关的水平空间频率的分布产生多大影响,所以在这种状态下,选择块A作为AC预测器。因此,使用块A作为AC预测器块仍然能够改善编码效率。

如果块X和块C具有相同的dct_type但块X和块A具有不同的dct_type,那么,选择块C作为AC预测块而不考虑DC预测块。    

由此,例如DC预测器可以来自块C,而AC预测器可以来自块A。另外,DC预测器可以来自块A和AC预测器可以来自块C。

通常,当块C和块X具有不同的dct_type时避免将块C作为AC预测器块的原因是象素行的重新排序改变了一个块中的空间能量,从而在具有不同dct_type的两个块之间的空间频率之间的相关性被有效地减少。

例如,假设块X是一个具有垂直边界并跨越所述块快速运动目标的图象。在这种情况下,块X可以被编码为重新排序场模式块以避免对垂直边界产生波动或锯齿形影响。由顶和底场之间的时间延迟引起的这种波动在所述块中被表示成垂直矩形线。但是,如果所述运动图象的垂直边界的确没有延伸到块C中,那么,块C可以以非重新排序场模式或帧模式编码。在这种情况下,由于AC系数间的相关性较差,所以,块C不能为块X提供良好的AC预测器系数,因此,块A被用做AC预测器块。块A通常提供较高的相关性。

在第二个例子中,假设当前块的配置如图4(b)所示。这里,块A和块X彼此具有相同的dct_type,块B和块C彼此具有相同的dct_type。如果块X和C彼此也具有相同的dct_type,那么,DC预测器块的AC系数被用于对当前块的AC系数进行差分编码。如果块X和C具有不同的dct_type,不能块A被用做AC预测器块,而不必考虑DC预测器块。

在第三个例子中,假设当前块的配置如图4(c)所示。块X和块C彼此具有相同的dct_type,块A和B彼此具有相同的dct_type。如果块X和A彼此也具有相同的dct_type,那么,DC预测器块的AC系数被用于对当前块的AC系数进行差分编码。如果块X和A具有不同的dct_type,那么,块C被用做AC预测器块,而不考虑DC预测器块。

在第四个例子中,假设当前块的配置如图4(d)所示。由于块A、B、C和X部位于同一个宏数据块300当中,所以,它们具有相同的dct_type。因此,DC预测器块的AC系数被用于对当前块的AC系数差分编码。

作为一般规律,只有当块X和块C具有相同的dct_type和DC预测器来自块C时,块C才被用做AC预测器块。反之,块A被用做AC预测器块。此外,AC预测的执行类似于对亮度和两个色度分量的预测。

注意,当由于错误而选择了块A(即,当块X和块C具有不同的dct_type时)但实际上不存在块A时,诸如当块X位于一个行中第一宏数据块的左半部分中时,零被用于AC预测器。

在图4和图5的例子中,每个块都被假设是INTR编码和位于公共VOP边界之内。但是,如果块A、B或C中的任何一个位于包含块X的边界之外或不属于INTRA编码宏数据块,那么,它们的量化AC(QAC)值被假设取0值以用于计算预测值。所述QDC值如所讨论的被设置成非零常数。

此外,为了补偿在当前块AC系数中使用的在前水平相邻或垂直相邻块的量化,需要对预测系数定标。预测被修改以便利用当前量化步长和预测块量化步长之比定标所述预测器。

特别是,如果块A被选择作为用于当前块(例如,块X)的AC预测器,被定标的水平AC预测是: >>>QAC>>iO>>X>′>>>>=>>>>QAC>iOA>>×>>QP>A>>>>QP>X> >>s>

其中,QACiOA是用于第(I,0)个系数的未定标量化AC值,QPA是用于块A的量化参数,和QPX是用于块X的量化参数。    

如果块C被选择为AC预测器,被定标的垂直AC预测是: >>>QAC>>Oj>>X>′>>>>=>>>>QAC>OjC>>×>>QP>C>>>>QP>X> >>s>

其中,QACjOc是用于第(0,j)系数的未定标量化AC值,QPC是用于块C的量化参数,和QPX是用于块X的量化参数。对(i,j)表示在一个块中由水平“i”位置和垂直“j”位置构成的一个特定系数。例如,(i,j)=(0,0)表示一个块中的左上手系数,和(i,j)=(8×8)表示一个块中的右下手系数。

如果块A或块C位于驻留有块X的VOP之外,那么,对应的QP值被假设等于QPX。

虽然如结合图3-5所述通过减少表示数据的量,在INTRA块中DCT系数的差分编码通常特别能够改善编码效率。但是,并不总是这种情况。因此,当AC系数预测导致和原始信号比较的较大幅值误差时,希望禁止AC预测。但是,为了避免连续的额外数据,AC预测能够在逐个宏数据块而不是在逐个块的基础上被转换成导通或关断状态。用于转换AC预测导通或关断的判断是在比较在宏数据块中将被预测的所有AC系数的绝对值的和与预测系数绝对值的和的基础上进行的。特别是,如果块A被选择作为AC预测块,判据S计算如下: >>S>=>>(>>Σ>>i>=>1>>7>>|>>QAC>iOX>>|>->>Σ>>i>=>1>>7>>|>>QAC>iOX>>->>QAC>>iO>>X>′>>>>|>)>>>s>假如块C被选择作为用于当前块的DC预测器,判据计算如下: >>S>=>>(>>Σ>>j>=>1>>7>>|>>QAC>OjX>>|>->>Σ>>j>=>1>>7>>|>>QAC>OjX>>->>QAC>>Oj>>X>′>>>>|>)>>>s>

接着,对于需要做出公共判决的宏数据块中的所有块来讲,计算信号∑S和诸如MPEG-4标记“ACpred_flag”的一个标记是设置/复位到使能/禁止AC预测。特别是,如果(∑S=0),设置ACpred_flag=1,以使能AC预测。反之,设置ACpred_flag=0,以禁止AC预测。在两种状态下的任何一种系状态下,DC预测仍被使能。ACpred_flag被传送给解码器,以用于恢复每个块的DCT系数。

图6的框图示出了本发明的一个解码器。通常用标号600表示的解码器可以被用于接收和解码从图1所示编码器传送的编码数据信号。编码视频图象数据和差分编码运动矢量(MV)数据在端640被接收和提供给多路转换器(DEMUX)642。对于INTRA宏数据块来讲,编码视频图象数据被差分编码成DCT变换系数以作为预测误差信号(例如,余数)。对于INTER宏数据块来讲,视频图象本身不被差分编码,但DCT系数可以使用同一个VOP中的相邻变换系数、即根据ACpred_flag差分编码。    

当VOP具有任意形状用于恢复接下来将被提供给运动补偿函数650和VOP重新构成函数652时,形状解码函数644处理数据。纹理编码函数646对变换系数执行逆DCT以恢复用于INTER编码宏数据块的余数信息。

对于INTRA编码宏数据块(MB),象素数据被直接恢复和提供给VOP重新构成函数652。特别是,当Acpyed_flag=0时,由于AC系数不是被差分编码的,所以,纹理编码函数646处的逆DCT直接恢复当前块的AC系数。使用顶部或左上手块的DC系数(例如预测器)对DC系数差分编码。当所选择的预测器块位于当前VOP之外或来自INTER编码块时,DC预测器可以被归零。通过使当前块差分编码的DC系数和预测器DC系数相加,即通过运算QDCX=DQDCX+QDC’X恢复全DC系数。    

对于具有Acpyrd_flag=1的INTRA编码宏数据块,当前块的AC和DC系数都被差分编码。DC系数被恢复成如上讨论的用于当ACpred_flag=0的情况,通过执行逆DCT获得当前块差分编码AC系数和使该差分编码AC系数和预测器块的相应AC系数相加、即根据运算QACX=DQACX+QAC’来恢复全AC系数。当所选择的预测器块位于当前VOP之外或不是INTER编码块时,所述AC预测器可以被归零。

由此,对于INTYA编码块来讲,它需要一个解码器去识别分别用于AC和DC系数的适当的预测器块。这可以通过在位流中提供一个或多个用于被用来指出预测块器的每个宏数据块的代码字来实现。例如,代码字“00”可以指出顶块是一个用于AC和DC系数的预测器,代码字“01”可以指出左手块是一个用于AC和DC系数的预测器,代码字“10”可以指出左手块是一个用于DC系数的预测器而顶块是一个用于AC系数的预测器,和代码字“11”可以指出左于块是一个用于AC系数的预测器而顶块是一个用于DC系数的预测器。

另外,代码字的其它位可以被用于指出归零预测器将被用于DC或AC系数。或解码器可以单独检查所选择的预测器块是否是被INTRA编码或是否是位于当前VOP之外,和当需要时将预测器系数设置为零或非零常数。

另外,在解码器600处的纹理解码函数646可以独立执行上面结合图3-5所述的选择算法以确定当前预测器的系数。在这种情况下,纹理解码函数646可以具有一个存储器,用于存储在对当前块处理过程中使用的左手块、顶块和左上手块的解码DCT系数。标记dct_type也必须是可变的,以用于这种情况下的每个宏数据块。可以构成一个适当的电路以利用软件、固化软件或硬件识别所希望的预测器系数以便对当前块解码。

对于诸如是在B-VOP中的INTER编码块和MB,从纹理解码函数646提供给重新构成VOP函数652的象素信息表示在确定MB和基准图象之间的一个余项。基准图象可以是来自一个由正向或反向MV指出的单一锚MB的象素数据。另外,对于一个隔行MB来讲,基准图象是一个来自两个基准MB、即一个过去的锚MB和一个将来的锚MB的象素数据的平均值。在这种情况下,解码器必须根据正向和反向MB在恢复确定MB象素数据之前计算平均象素数据。    

对于INTER编码块和MB来讲,运动解码函数648处理解码MV数据以恢复差分MV和提供它们给运动补偿函数650和诸如RAM的矢量存储器649。运动补偿函数650接收差分MV数据和根据位流序列中的编码模式和当前MB的PMV[]索引以及在前MB确定PMV。

一旦运动补偿函数650确定了全基准MV以及它与当前MB的差分MV之和,可以得到当前MB的全MV。因此,运动补偿函数650现在可以从诸如RAM的VOP存储器654中提取锚帧最佳匹配数据,如果需要则计算平均值,和提供锚帧象素数据给VOP重新构成函数以重新构成当前MB。

被提取或计算的最佳匹配数据被加回到VOP重新构成函数652处的象素余项上以获得解码的当前块或块。重新构成的块被输出作为视频输出信号和被提供给VOP存储器654以提供新的锚帧数据。

图7示出了根据本发明的宏数据块包结构。该机构指出解码器所接收数据的格式。注意,为简便起见,概图仅示出了4行。所述包实际上被串联传送,它始于顶行,并在该行内从左到右。第一行716包括场first_shape_code、MVD_shape、CR、ST和BAC。第二行包括场COD和MCBPC。第三行包括场ACpred_flag753、CBPY、DQUANT、Interlaced_information、MVD、MVD2、MVD3和MVD4。第四行包括场CODA、Alpha_ACpyed_flag、CBPA、Alpha块数据和块数据。上述场的每一个都是根据MPEG-4 VM 8.0规定的。

项first_shape_code指出MB是否位于一个VOP的边界框内。CR指出二进制字母块的转换比。ST指出水平或垂直扫描顺序。BAC称之为二进制算术代码字。

COD和COSA表示灰度标量形状编码。MCBPC表示宏数据块类型和与色度们关的编码块模式如上所述,ACpred_flag753是一位标记,当它被设置为零时,表示只执行用于当前INTRA块的DC预测。ACpred_flag=1表示对当前INTRA块执行AC和DC预测。CBPY表示用于亮度的编码块模式。DQUANT规定逐个宏数据块量化器Qp值的变化。

在第三行750中场Interlaced_information指出所述宏数据块是否是隔行编码的。Interlaced_information场可以被存储以当需要时被连续用于运动矢量存储器1349或解码器中的其它存储器。Interlaced_information场还可以包括标记dtc_type,如上所述,该标记指出在场编码宏数据块中的顶或底场象素行是否被恢复。

MVD、MVD2、MVD3和MVD4表示运动矢量数据。Alpha_ACpred_flag表示一个用于字母形状编码的ACpred_flag。字母块数据表示在字母平面中已知的二进制和灰度标量形状信息。    

图7的的配置仅是一个例子。对于本专业技术领域内的技术人员来讲用于将相关信息通知给解码器的各种其它配置是很明显的。

在本发明中使用的位流语法和MB包语法在MPEG-4 VM 8.0以及指定给Eifrig等人、申请日为1997年7月21日、发明名称为“用于视频目标平面的隔行数字视频的运动估计和补偿”美国专利申请No.08/897,847中都已经做了描述,这里一并作为参考。    

因此,可以看到,本发明提供了一种用于对INTRA编码块的DC和AC DCT变换系数差分编码的方案。通过从左手相邻块和顶相邻块选择预测器DC和AC系数对DC和AC系数差分编码。每个块被根据帧模式或没有重新排序场模式编码。根据所述块的各自编码模式和其中驻留有DC预测器的块选择AC预测器块。当顶块和当前块都处于重新排序场模式或都处于帧模式和/或没有重新排序场模式时,顶块被选择作为AC预测器。归零空间变换系数被用于当所选择的块不是被INTRA编码或不是驻留于作为当前块的同一个视频目标平面(VOP)中时AC空间变换系数来自所选择块的场合。在这种情况下,DC系数被类似地设置成非零值。

特别是,本发明在以前方案的基础上改善了编码效率,以前的方案不能提供作为专用预测器块的顶块,或本发明解释了当前和专用块是以帧模式、没有重新排序场模式还是以重新排序场模式编码。当前块和顶块之间的空间频率相关性可以导致编码效率的改善。另外,包括当专用预测器位于当前视频目标平面(VOP)之外时提供归零预测器系数的MPEG-4标准的方案不必INTRA编码,或反之则不可得。    

另外,所述方案与DCT系数的线性和非线性量化兼容。特别是,披露了DC系数的非线性量化,其中,根据其中驻留有所述系数的宏数据块和其中驻留有被选择预测块的宏数据块的量化级在解码器处定标编码系数以恢复被定标的系数。

虽然结合各种特殊定的实施例对本发明进行了描述,但本专业技术领域内的技术人员很清楚,可以对它做出很多变动和修改而不脱离本发明权利要求所描述的精神和范围。例如,当本发明结合DCT变换系数加以讨论时,本发明还适用于其它空间变换的系数。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号