用于在视频序列中对运动进行编码的方法转让专利

申请号 : CN03806139.2

文献号 : CN100581232C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J·莱内马

申请人 : 诺基亚有限公司

摘要 :

一种运动补偿的视频编码方法,可使具有全局运动分量的视频序列以有效的方式被编码。视频编码器(600)被安排用于给将要编码的宏块分配特定的编码模式,该编码模式包括跳跃模式,用于指示以下两种可能的宏块运动:(a)零运动,或(b)全局或区域运动。在每个宏块都被编码时,检查该宏块周围的先前编码的区域,并判断该区域中的运动特性。通过跳跃模式,若该区域中的运动具有全局运动或区域运动的特性,则使该宏块与将要编码宏块和描述全局运动或区域运动的运动矢量相关联。若该区域表现出可忽略量级的运动,则使该宏块与零值运动矢量相关联。

权利要求 :

1.一种用于数字视频序列的编码的运动补偿预测方法,所述数 字视频序列包括多个帧,所述方法包括:利用关于序列中第二帧的运动补偿预测而给该序列中将要编码 的第一帧的一个片段分配一个编码模式,所述编码模式是包含跳跃 模式的一组编码模式中的一种,其中当所述跳跃模式被分配到第一 帧的所述片段时,它指示i)该片段具有可忽略量级的运动,这种情况下,通过从第二帧的 对应区域进行直接复制而形成对该片段的预测,或者ii)该片段在视频序列中具有全局或区域运动的运动特性,这种情 况下,利用表示所述全局或区域运动的运动信息,通过关于第二帧 的运动补偿预测而形成对该片段的预测。

2.如权利要求1所述的方法,还包括对将要编码的片段周围第 一帧的区域中的运动进行分析,以便确定所述区域中运动的特性。

3.如权利要求2所述的方法,其中,将要编码的片段周围第一 帧的所述区域包括该第一帧的先前编码过的片段。

4.如权利要求2所述的方法,其中,若判断将要编码的片段周 围第一帧的所述区域中的运动具有可忽略的量级,则将跳跃模式分 配为该片段的编码模式,并且指示零运动的运动信息与该片段相关 联。

5.如权利要求2所述的方法,其中,若判断将要编码的片段周 围第一帧的所述区域中的运动具有全局或区域运动的特性,则将跳 跃模式分配为该片段的编码模式,并且指示周围区域中的全局或区 域运动的运动信息与该片段相关联。

6.如权利要求2所述的方法,其中,所述分析包括检查将要编 码的所述片段周围第一帧的所述区域,以便识别以下的至少一种运 动类型:连续运动,具有共同速率的运动,和具有一定偏移量的运 动。

7.如权利要求2所述的方法,其中,若第一帧的一个片段在将 被编码的片段周围第一帧的区域中没有运动,则将跳跃模式分配为 该片段的编码模式,并且指示零运动的运动信息与该片段相关联。

8.一种用于对编码后数字视频序列进行解码的运动补偿预测方 法,所述数字视频序列包括多个帧,所述方法包括:接收编码模式的指示,该编码模式是利用关于序列中第二帧的运 动补偿预测而分配给该序列中将要解码的第一帧的一个片段的,所 述编码模式是包含跳跃模式的一组编码模式中的一种,和当指示所述跳跃模式作为分配给第一帧的所述片段的编码模式 时,判断

i)所述跳跃模式是否指示该片段具有可忽略量级的运动,这种情 况下,通过从第二帧的对应区域直接进行复制而执行对该片段的运 动补偿预测,或者ii)所述跳跃模式是否指示该片段在视频序列中具有全局或区域 运动的运动特性,这种情况下,利用表示所述全局或区域运动的运 动信息,关于第二帧来执行对该片段的运动补偿预测。

9.如权利要求8所述的方法,其中,该判断包括:

对将要解码的片段周围第一帧的先前解码区域中的运动进行分 析,以便确定所述区域中运动的特性。

10.如权利要求9所述的方法,其中,所述分析包括,检查将要 解码的所述片段周围第一帧的先前解码区域,以便识别以下的至少 一种运动类型:连续运动,具有共同速率的运动,和具有一定偏移 量的运动,其中,若在所述周围区域中识别出至少一种所述类型的 运动,则判断该跳跃模式指示将要解码的片段在视频序列中具有全 局或区域运动的运动特性。

11.如权利要求9所述的方法,其中,若第一帧的一个片段在将 要解码的片段周围第一帧的先前解码区域中没有运动,则判断该跳 跃模式指示将要解码的片段具有可忽略量级的运动。

12.一种安排为利用运动补偿预测来编码数字视频序列的视频编 码器,所述数字视频序列包括多个帧,所述编码器包括:利用关于序列中第二帧的运动补偿预测而给将要编码的该序列 中第一帧的一个片段分配一个编码模式的装置,其中所述编码模式 是包含跳跃模式的一组模式中的一种,和用于对该片段形成预测的装置,其中当所述跳跃模式被分配给第 一帧的所述片段时,指示i)该片段具有可忽略量级的运动,这种情况下,所述用于对该片 段形成预测的装置通过从第二帧的对应区域进行直接复制而形成对 该片段的预测,或者ii)该片段在视频序列中具有全局或区域运动的运动特性,这种情 况下,所述用于对该片段形成预测的装置利用表示所述全局或区域 运动的运动信息,关于第二帧而形成对该片段的预测。

13.如权利要求12所述的编码器,还包括对将要编码的片段周 围第一帧的区域中的运动进行分析的装置,以便确定所述区域中运 动的特性。

14.如权利要求13所述的编码器,其中,所述分析装置被安排 用于分析第一帧的先前编码过的片段中的运动。

15.如权利要求13所述的编码器,其中,若所述分析装置判断 所述区域中的运动具有可忽略的量级,则该编码器被安排用来将跳 跃模式分配为该片段的编码模式,并使指示零运动的运动信息与该 将要编码的片段相关联。

16.如权利要求13所述的编码器,其中,若所述分析装置判断 将要编码的片段周围第一帧的所述区域中的运动具有全局或区域运 动的特性,则编码器被安排用来将跳跃模式分配为该片段的编码模 式,并使指示该周围区域中的全局或区域运动的运动信息与该将要 编码的片段相关联。

17.如权利要求13所述的编码器,其中,所述分析装置包括, 用于识别以下至少一种运动类型的装置,所述运动类型为:连续运 动,具有共同速率的运动,和具有一定偏移量的运动。

18.如权利要求13所述的编码器,其中,若所述分析装置判断 第一帧的一个片段在将被编码的片段周围第一帧的区域中没有运 动,则编码器被安排用来将跳跃模式分配为该片段的编码模式,并 使指示零运动的运动信息与该将要编码的片段相关联。

19.一种被安排为利用运动补偿预测对编码后数字视频序列进行 解码的视频解码器,所述数字视频序列包括多个帧,所述解码器包 括:用于接收编码模式的指示的装置,该编码模式是利用关于序列中 第二帧的运动补偿预测而分配给该要解码的序列中第一帧的一个片 段的,所述编码模式是包含跳跃模式的一组编码模式中的一种,和用于对该片段形成预测的装置,其中当指示所述跳跃模式作为分 配给第一帧的所述片段的编码模式时,该解码器被安排用来判断i)所述跳跃模式是否指示该片段具有可忽略量级的运动,这种情 况下,所述用于对该片段形成预测的装置通过从第二帧的对应区域 直接进行复制而形成对该片段的预测,或者ii)所述跳跃模式是否指示该片段在视频序列中具有全局或区域 运动的运动特性,这种情况下,所述用于对该片段形成预测的装置 利用表示所述全局或区域运动的运动信息,通过关于第二帧的运动 补偿预测来形成对该片段的预测。

20.如权利要求19所述的解码器,还包括对将要解码的片段周 围第一帧的先前解码区域中的运动进行分析的装置,以便确定所述 区域中运动的特性。

21.如权利要求20所述的解码器,其中,若所述分析装置判断 所述区域中的运动具有可忽略的量级,则该解码器被安排用来使指 示零运动的运动信息与该将要解码的片段相关联。

22.如权利要求20所述的解码器,其中,若所述分析装置判断 所述区域中的运动具有全局或区域运动的特性,则该解码器被安排 用来使指示周围区域中的全局或区域运动的运动信息与该将要解码 的片段相关联。

23.如权利要求20所述的解码器,其中,所述分析装置包括用 于识别以下至少一种运动类型的装置,所述运动类型为:连续运动, 具有共同速率的运动,和具有一定偏移量的运动。

24.如权利要求20所述的解码器,其中,若所述分析装置判断 第一帧的一个先前解码的片段在所述区域中没有运动,则解码器被 安排用来使指示零运动的运动信息与该将要解码的片段相关联。

25.一种多媒体终端,包括

用于获得数字视频序列的装置;和

视频编码器,被安排用于利用运动补偿预测来编码该数字视频序 列,所述数字视频序列包括多个帧,其中该视频编码器包括:利用关于序列中第二帧的运动补偿预测而对将要编码的该序列 中第一帧的一个片段分配一个编码模式的装置,其中所述编码模式 是包含跳跃模式的一组模式中的一种,和用于对该片段形成预测的装置,其中当所述跳跃模式被分配给第 一帧的所述片段时,指示i)该片段具有可忽略量级的运动,这种情况下,视频编码器被安 排为使所述用于对该片段形成预测的装置通过从第二帧的对应区域 进行直接复制而形成对该片段的预测,或者ii)该片段在视频序列中具有全局或区域运动的运动特性,这种情 况下,视频编码器被安排为使所述用于对该片段形成预测的装置利 用表示所述全局或区域运动的运动信息,关于第二帧而形成对该片 段的预测。

26.一种多媒体终端,包括:

用于获得编码后的数字视频序列的装置;和

视频解码器,被安排用于利用运动补偿预测对编码后数字视频序 列进行解码,所述数字视频序列包括多个帧,所述解码器包括:用于接收一个编码模式的指示的装置,该编码模式是利用关于序 列中第二帧的运动补偿预测而分配给将要解码的该序列中第一帧的 一个片段的,所述编码模式是包含跳跃模式的一组编码模式中的一 种,和用于对该片段形成预测的装置,其中当指示所述跳跃模式作为分 配给第一帧的所述片段的编码模式时,解码器被安排用于判断i)所述跳跃模式是否指示该片段具有可忽略量级的运动,这种情 况下,所述用于对该片段形成预测的装置通过从第二帧的对应区域 直接进行复制而形成对该片段的预测,或者ii)所述跳跃模式是否指示该片段在视频序列中具有全局或区域 运动的运动特性,这种情况下,所述用于对该片段形成预测的装置 利用表示所述全局或区域运动的运动信息,通过关于第二帧的运动 补偿预测来形成对该片段的预测。

27.一种视频编解码器,包括:

视频编码器,被安排用于利用运动补偿预测来编码一个数字视频 序列,所述数字视频序列包括多个帧,所述编码器包括:利用关于序列中第二帧的运动补偿预测而对将要编码的该序列 中第一帧的一个片段分配一个编码模式的装置,其中所述编码模式 是包含跳跃模式的一组模式中的一种,和第一用于对该片段形成预测的装置,其中当所述跳跃模式被分配 到第一帧的所述片段时,指示i)该片段具有可忽略量级的运动,这种情况下,该视频编码器被 安排为使所述用于对该片段形成预测的装置通过从第二帧的对应区 域进行直接复制而形成对该片段的预测,或者ii)该片段在数字视频序列中具有全局或区域运动的运动特性,这 种情况下,该视频编码器被安排为使所述用于对该片段形成预测的 装置利用表示所述全局或区域运动的运动信息,关于第二帧而形成 对该片段的预测;和视频解码器,被安排用于利用运动补偿预测对编码后数字视频序 列进行解码,所述编码后数字视频序列包括多个帧,所述解码器包 括:用于接收一个编码模式的指示的装置,该编码模式是利用关于序 列中第二帧的运动补偿预测而分配给将要解码的该序列中第一帧的 一个片段的,所述编码模式是包含跳跃模式的一组编码模式中的一 种,和第二用于对该片段形成预测的装置,其中当指示所述跳跃模式作 为分配给第一帧的所述片段的编码模式时,该解码器被安排用于判 断i)所述跳跃模式是否指示该片段具有可忽略量级的运动,这种情 况下,所述用于对该片段形成预测的装置通过从第二帧的对应区域 直接进行复制而形成对该片段的预测,或者ii)所述跳跃模式是否指示该片段在编码后数字视频序列中具有 全局或区域运动的运动特性,这种情况下,所述用于对该片段形成 预测的装置利用表示所述全局或区域运动的运动信息,通过关于第 二帧的运动补偿预测来形成对该片段的预测。

说明书 :

技术领域

本发明通常涉及一种通信系统,特别是涉及视频编码中的运动补 偿。

背景技术

和胶片上记录的普通运动图像一样,数字视频序列包括一系列的静 止图像,通过以相对较快的速率,通常每秒15-30帧的速率一个接一 个的显示该序列中的连续图像,可以创建出运动的错觉。由于相对较 快的帧显示速率,在连续帧中的图像很可能非常类似,从而包含相当 多的冗余信息。例如,普通的场景可能包括一些静止单元,例如背景 景物,而形状可能各不相同的一些移动区域,例如新闻播音员的脸, 可能会快速运动。可替换地或附加地,例如由于记录场景的摄像机的 平移,摇摄或变焦,在视频序列中可能会出现所谓“全局运动”。然而, 在许多情况下,在一个视频帧和下一视频帧之间的总体变化还是较小 的。
未压缩的数字视频序列的每个帧都包括一个图像像素的阵列。例 如,在通常使用的数字视频格式中,例如已知的四分之一公用交换格 式(QCIF)中,一个帧包括176×144个像素,其中每个帧都有25,344 个像素。每个像素进而又由一定数目的比特来表示,这些比特携带有 关于该像素对应的图像区域的亮度和/或色度内容的信息。通常,使用 所谓的YUV颜色模型来表示图像的亮度和色度内容。亮度分量,或Y 分量,表示图像的强度(明亮度),而图像的色度内容由两个色度或色 差分量U和V来表示。
基于图像内容的亮度/色度表示的颜色模型,相对于基于基色(即 红,绿,蓝,RGB)表示的颜色模型更为有利。因为人的视觉系统对亮 度变化比对颜色变化更为敏感,而YUV颜色模型通过对色度分量(U,V) 使用比亮度分量(Y)更低的空间分辨率,来利用这种特性。这样,在 可以接受降低一定图像质量的前提下,可以减少图像中的彩色信息编 码所需的信息量。
色度分量的较低空间分辨率通常是通过空间子取样来获得的。典型 的,视频序列的每个帧都被划分为所谓“宏块”,这些宏块包括亮度(Y) 信息和相关的(空间子取样后的)色度(U,V)信息。图3示出了形成 宏块的一种方法。图3a表示利用YUV颜色模型来表示的视频序列的一 个帧,每个分量都具有相同的空间分辨率。宏块是这样形成的:将原 始图像(图3b)中的一个16×16图像像素的区域表示为四个亮度信息 块,每个亮度块包括一个8×8阵列的亮度(Y)值,以及两个空间对应 的色度分量(U和V),这两个色度分量在水平和垂直方向上被系数2 二次取样,从而产生对应的8×8色度(U,V)值的阵列(参见图3c)。
一个QCIF图像包括11×9个宏块。若亮度块和色度块以8比特分辨 率(即,由0到255范围内的数字)来表示,每个宏块所需比特的总 数为(16×16×8)+2×(8×8×8)=3072比特。因此表示一个QCIF格式的 视频帧所需的比特数为99×3072=304,128比特。这意味着以每秒30帧 的速率,用YUV颜色模型来表示的,QCIF格式的一个未压缩视频序列 的传输/记录/显示所需的数据量要大于9Mbps(兆比特每秒)。这是非 常大的数据率,并且在视频记录,传输和显示应用中是不现实的,因 为这需要非常大的存储容量,传输信道能力和硬件性能。
若视频数据将要在例如ISDN(综合业务数字网)或传统PSTN(公 共开关电话网络)这样的固定线网上实时传输,则可用数据传输带宽 一般为64kbits/s的数量级。在移动视频电话中,至少一部分传输是 在无线通信链路上进行的,则可用带宽最低可以是20kbits/s。这意 味着表示视频数据所用的信息量必须显著减少,才能在低带宽通信网 络上传输数字视频序列。为此,已研制出在保持可接受图像质量的同 时减少传输的信息量的视频压缩技术。
视频压缩方法的基础是减少视频序列中冗余的和与感觉不相关的部 分。视频序列中的冗余度可被归类为空间,时间和频谱冗余度。“空间 冗余度”是用来描述一个帧内相邻像素之间的相关性(相似性)的术 语。术语“时间冗余度”表示在序列的一个帧中出现的目标很可能在 随后的帧中也出现,而“光谱冗余度”是指在相同图像的不同彩色分 量之间的相关性。
仅仅减少给定图像序列中各种形式的冗余度并不能充分有效地实现 压缩。因此,目前大多视频编码器还减少视频序列中主观上最不重要 的部分的质量。另外,通过有效的丢失不重要部分(loss-less)的编 码方法,可以减少压缩后视频比特流本身的冗余度。通常,这是利用 熵编码技术来实现的。
在构成数字视频序列每个帧的像素之间通常都有大量的空间冗余 度。也就是说,在该序列的一个帧内任何像素的值基本上都与其邻近 的其他像素的值相同。典型地,视频编码系统利用已知的“基于块的 变换编码”来减少空间冗余度,其中对图像像素块应用数学变换,例 如二维离散余弦变换(DCT)。可将图像数据从包含像素值的表示方式 变换为包含一组表示空间频率分量的系数值的形式,显著减少了空间 冗余度,从而可产生更为简洁的图像数据的表示形式。
利用基于块的变换编码来压缩、并不参考视频序列中任何其他帧的 视频序列中的帧,被称为帧内编码的帧或I-帧。另外,可能的是,帧 内编码帧的块可根据相同帧内预先编码过的块来预测。这种技术,被 称为帧内预测,能够进一步减少表示帧内编码帧所需的数据量。
通常,视频编码系统不仅减少视频序列中各个帧内的空间冗余,还 利用已知的“运动补偿预测”技术来减少序列中的时间冗余。利用运 动补偿预测,数字视频序列中的某些(往往很多)帧的图像内容可根 据该序列中的一个或多个称为“参考”帧的其它帧来预测。图像内容 的预测是通过在将要编码(压缩)的帧和参考帧之间利用“运动矢量” 来追踪目标或图像区域的运动而实现的。通常,参考帧在视频序列中 可以在将要编码的帧之前或之后。在帧内编码的情况下,视频帧的运 动补偿预测通常是一个宏块一个宏块地执行的。
利用运动补偿预测来压缩的视频序列帧通常称为帧间编码的帧或P- 帧。仅仅是运动补偿预测还不能对视频帧的图像内容提供足够精确的 表示,因此还需要对每个帧间编码帧提供一种所谓“预测误差”(PE) 帧。该预测误差帧表示帧间编码帧的解码后版本和将要编码帧的图像 内容之间的差异。具体地说,该预测误差帧包括表示将要编码帧的像 素值和根据该讨论帧的预测版本而形成的对应重建像素值之间的差异 的值。因此,预测误差帧的特性类似于静止图像,并可以应用基于块 的变换编码,来减少其空间冗余,进而减少表示它所需的数据量(比 特数量)。
为了更详细地示出通用视频编码系统的操作,下面将参照随后的附 图1和2中所示的视频编码器和视频解码器来说明。图1的视频编码 器100使用帧帧内编码和帧间编码的结合来产生压缩(编码)后的视 频比特流,图2的解码器100用于接收和解码编码器100产生的视频 比特流,从而产生重建的视频序列。在通篇说明书中都假定一个宏块 的亮度分量包括以四个8×8块的阵列排列的16×16像素,相关的色度 分量都在水平和垂直方向上被系数2进行空间二次取样,以形成8×8 的块,如图3所示。本说明关于其他块尺寸和其他二次取样方案的扩 展对本领域的普通技术人员来说都是显而易见的。
视频编码器100包括输入端101,用于从摄像机或其他视频源(未 示出)接收数字视频信号。它还包括变换单元104,用于执行基于块的 离散余弦变换(DCT),量化器106,和逆量化器108,逆变换单元110, 用于执行基于块的离散余弦逆变换(IDCT),合成器112和116,以及 帧存储器120。编码器还包括运动估计器130,运动场编码器140,和 运动补偿预测器150。开关102和114通过控制管理器160而联合操 作,用于将编码器在帧内模式的视频编码和帧间模式的视频编码之间 切换。编码器100还包括视频复用编码器170,用于根据编码器100产 生的各种类型的信息而形成单独比特流,以便传输到远程接收终端, 或者,用于例如计算机硬盘驱动器(未示出)这样的大容量存储介质 的存储。
下面说明编码器100的操作。接收视频源向输入端101提供的未压 缩视频的每个帧,并逐个宏块地进行处理,最好按照光栅扫描的顺序。 当开始新的视频序列的编码时,将要编码的第一帧被编码为帧内编码 帧。随后,将编码器编程从而将每个帧都以帧间编码格式进行编码, 除非满足以下条件之一:1)判断被编码的当前宏块与其预测中使用的 参考帧的像素值非常不同,以致产生了过多的预测误差信息,这时该 当前宏块以帧内编码格式进行编码;2)到了预先定义的内帧重复间隔; 或3)从接收终端接收到反馈,指示某个帧以帧内编码格式提供的请求。
条件1)的出现可通过监视合成器116的输出来检测。合成器116 形成将要编码帧的当前宏块及其预测之间的差异,该预测在运动补偿 预测块150中产生。若该差异的测量值(例如像素值的绝对差值的和) 超过了预定的阈值,则合成器116通过控制线119通知控制管理器160, 控制管理器160通过控制线113操作开关102和114,将编码器100 切换到帧内编码模式。这样,不以帧间编码格式编码的一个帧可能包 括帧内编码的宏块。条件2)的出现通过控制管理器160中实施的计时 器或帧计数器来检测,这样若计时器溢出,或帧计数器到达预定的帧 数目,则控制管理器160通过控制线113操作开关102和114将编码 器切换到帧内编码模式。若控制管理器160通过控制线121从例如接 收端接收到反馈信号,指示接收端请求帧内帧的更新,则条件3)满足。 若先前传输的帧在其传输期间由于干扰被严重损坏,以致不能被接收 机解码,则可能会出现这种条件。在这种情况下,接收解码器发出一 个请求,请求下一帧以帧内编码格式被编码,从而重新初始化编码顺 序。
下面将说明帧内编码模式中编码器100的操作。在帧内编码模式 中,控制管理器160操作开关102从输入线118接收视频输入。视频 信号输入通过输入线118从输入端101被逐个宏块的接收。接收到它 们后,构成宏块的亮度和色度值的块被传送到DCT变换块104,对每个 数值块执行二维离散余弦变换,对每个块都产生一个DCT系数的二维 阵列。DCT变换块104对每个块都产生一个系数值的阵列,该系数值的 数目对应于构成宏块的块的维数(该例子中是8×8)。每个块的DCT系 数被传送到量化器106,利用量化参数QP进行量化。量化参数QP的选 择由控制管理器160通过控制线115来控制。
然后将每个块的量化后DCT系数的阵列从量化器106传送到视频复 用编码器170,如图1的线路125所示。视频复用编码器170利用Z 字形扫描程序对每个块的量化后变换系数进行排序,从而将量化后变 换系数的二维阵列转换为一维阵列。然后将该一维阵列中每个非零值 的量化系数表示为一对值,称为level和run,其中level是量化系 数的值,run是在当前系数之前的连续零值系数的数目。Run和level 的值进一步利用熵编码在视频复用编码器170中被压缩,该熵编码例 如是,可变长度编码(VLC),或运算编码。
在利用适当方法对run和level的值进行熵编码后,视频复用编码 器170还将它们与控制信息相结合,以形成单独的编码图像信息的压 缩后比特流135,其中该控制信息也利用适于该信息类型的适当方法进 行了熵编码。应当注意虽然熵编码是结合视频复用编码器170的操作 来说明的,但可以使用其它实施形式的独立熵编码单元。
在编码器100中还形成宏块的本地解码版本。这是通过经逆量化器 108传送量化器106输出的每个块的量化后变换系数,和在逆变换块110 中应用DCT逆变换来完成的。这样就对该宏块的每个块创建了重建后 的像素值阵列。将得到的解码后图像数据输入到合成器112。在帧内编 码模式中,设定开关114使得通过开关114对合成器112的输入为零。 这样,合成器112的操作等效于传送未改变的解码后图像数据。
在接收到当前帧的随后宏块并进行了前述在块104,106,108,110, 112中进行的编码和本地解码步骤后,在帧存储器120中建立起帧内编 码的帧的解码后版本。在当前帧的最后一个宏块已被帧内编码和随后 解码之后,帧存储器120存储一个完全解码的帧,用于在对随后接收 的帧间编码格式的视频帧编码时作为运动预测参考帧。
下面将说明编码器100的帧间编码模式。在帧间编码模式中,控制 管理器160操作开关102从线路117接收其输入,该输入包括合成器 116的输出。合成器116从输入端101逐个宏块地接收视频输入信号。 在合成器116接收到构成宏块的亮度和色度值的块之后,可形成对应 的预测误差信息的块。该预测误差信息表示当前块及其预测之间的差 异,该预测是在运动补偿预测块150中产生的。更具体地,该宏块的 每个块的预测误差信息包括一个数值二维阵列,每个数值都表示被编 码的亮度或色度信息的块中的像素值和解码的像素值之间的差异,该 解码的像素值是根据下述步骤对该块形成的运动补偿预测而获得的。 因此,在本例子的视频编码系统中,每个宏块包括,例如8×8块的集 合,所述块包含有亮度和色度值,该宏块的每个块的预测误差信息也 类似地包括一个预测误差值的8×8阵列。
将该宏块的每个块的预测误差信息传送到DCT变换块104,对预测 误差值的每个块执行二维离散余弦变换,以便产生每个块的DCT变换 系数的二维阵列。DCT变换块104对每个预测误差块产生一个系数值阵 列,该系数值的数目对应于构成该宏块的块的维数(本例中为8×8)。 从每个预测误差块得到的变换系数被传送到量化器106,利用量化参数 QP,以类似于上述帧内编码模式的编码器操作的方式进行量化。如前 所述,量化参数QP的选择由控制管理器160通过控制线115来控制。
表示该宏块的每个块的预测误差信息的量化后DCT系数从量化器 106被传送到视频复用编码器170,如图1的线路125所示。在帧内编 码模式中,视频复用编码器170利用一定的Z字形扫描程序对每个预 测误差块的变换系数进行排序,从而将每个非零值的量化系数表示为 游程-等级(run-level)对。还利用熵编码将该游程-等级对按照与 上述帧内编码模式类似的方式进一步压缩。视频复用编码器170还通 过线路126从运动场编码块140接收运动矢量信息(以下将说明),从 控制管理器160接收控制信息。它对运动矢量信息和控制信息进行熵 编码,并形成单独的编码图像信息的比特流135,它包括熵编码的运动 矢量,预测误差和控制信息。
表示该宏块的每个块的预测误差信息的量化后DCT系数还从量化器 106传送到逆量化器108。这里对它们进行逆量化,并将得到的逆量化 的DCT系数块施加到DCT逆变换块110,进行DCT逆变换,从而产生 本地解码的预测误差值的块。然后将本地解码的预测误差值的块输入 到合成器112。在帧间编码模式中,设定开关114,使得合成器112还 接收运动补偿预测块150产生的该宏块的每个块的预测像素值。合成 器112将每个本地解码的预测误差值的块与对应的预测像素值的块结 合起来,从而产生重建的图像块,并将它们存储在帧存储器120中。
在从视频源接收到视频信号的随后宏块并进行了前述的在块104, 106,108,110,112中进行的编码和解码步骤后,在帧存储器120中 建立起该帧的解码后版本。在该帧的最后一个宏块已被处理后,帧存 储器120存储一个完全解码的帧,用于在对随后接收的帧间编码格式 的视频帧编码时作为运动预测参考帧。
下面将说明视频编码器100执行的运动补偿预测。
以帧间编码格式编码的任何帧都需要一个参考帧,用于运动补偿预 测。这意味着,当编码视频序列时,将要编码的第一帧,不论其是该 序列中的第一帧,或是其他帧,都必须以帧内编码格式进行编码。这 反过来意味着,当视频编码器100被控制管理器160切换到帧间编码 模式时,已经可以使用在编码器的帧存储器120中的,通过对先前编 码的帧进行本地解码而形成的完全参考帧。通常,该参考帧是通过对 帧内编码帧或帧间编码帧进行本地解码后形成的。
在以下说明中,假定该编码器在宏块的基础上执行运动补偿预测, 即宏块是与运动信息相关的视频帧的最小单元。还假定,对给定宏块 的预测是通过识别参考帧的亮度分量中的16×16个值的区域来形成的, 该参考帧表示当前宏块的16×16个亮度值的最佳对应。下面将说明视 频编码系统中的运动补偿预测,其中运动信息可以与比宏块更小的单 元相关联。
形成当前帧的一个宏块的预测的第一步是由运动估计块130完成 的。运动估计块130通过线路128接收亮度和色度值的块,这些块构 成了将要编码帧的当前宏块。然后执行块匹配操作,从而识别参考帧 中与当前宏块最佳对应的一个区域。为了执行块匹配操作,运动估计 块130通过线路127访问帧存储器120中存储的参考帧数据。具体地 说,运动估计块130通过计算代表像素值差异的差值(例如,绝对差 值的和)而执行块匹配,该像素值差异是指在被估计宏块和帧存储器120 中存储的参考帧中备选的最佳匹配像素区域之间的像素值差异。在该 参考帧的预定搜索区域中产生所有可能偏移量的备选区域的差值,然 后运动估价块130判断最小的计算差值。产生该最小差值的备选区域 被选择为最佳匹配区域。在当前宏块和参考帧中识别的最佳匹配区域 之间的偏移量定义了当前宏块的一个“运动矢量”。该运动矢量通常包 括一对数值,一个表示当前宏块和参考帧的最佳匹配区域之间的水平 位移(Δx),另一个表示垂直位移(Δy)。
在运动估价块130产生该宏块的运动矢量后,它向运动场编码块140 输出该运动矢量。该运动场编码块140利用包含一组基本函数和运动 系数的运动模型,对从运动估计块130接收的运动矢量进行近似。更 具体地,运动场编码块140将运动矢量表示为一组运动系数值,当这 些运动系数值与基本函数相乘时可形成该运动矢量的近似。典型地, 变换运动模型只使用两个运动系数和基本函数,但也可以使用更复杂 的运动模型。
将运动系数从运动场编码块140传送到运动补偿预测块150。运动 补偿预测块150还从帧存储器120接收运动估计块130识别的像素值 的最佳匹配区域。利用运动场编码块140产生的运动矢量的近似表示, 和参考帧中最佳匹配像素区域的像素值,运动补偿预测块150可对当 前宏块的每个块产生一个预测像素值的阵列。将每个预测像素值的块 传送到合成器116,其中将当前宏块的对应块中的实际(输入)像素值 减去预测像素值。这样就得到该宏块的一组预测误差块。
下面将参照图2说明视频解码器200的操作。解码器200包括视频 复用解码器270,用于从编码器100接收编码后视频比特流135并将其 解复用为各个成分分量,逆量化器210,DCT逆变换器220,运动补偿 预测块240,帧存储器250,合成器230,控制管理器260,和输出端 280。
控制管理器260根据被解码的是帧内或帧间编码的帧来控制解码器 200的操作。使解码器在解码模式之间切换的帧内/帧间触发控制信号 是从,例如与编码器发送的每个压缩后视频帧相关的图像类型信息获 得的。该帧内/帧间触发控制信号是由视频复用解码器270从编码后视 频比特流提取出的,并通过控制线215传送到控制管理器260。
在逐个宏块的基础上执行帧内编码帧的解码,每个宏块基本上都在 视频比特流135中接收到与其相关的编码信息之后立刻被解码。视频 复用解码器270从与当前宏块相关的可能控制信息中分离出该宏块的 块的编码信息。帧内编码宏块的每个块的编码信息都包括可变长码字, 这些码字表示该块的非零量化的DCT系数的熵编码后的level和run 值。视频复用解码器270利用与编码器100使用的编码方法相对应的 可变长解码方法来解码该可变长码字,从而恢复出level和run的值。 然后重建该宏块的每个块的量化后变换系数值的阵列,并将它们传送 到逆量化器210。与该宏块相关的任何控制信息都在视频复用解码器270 中利用适当的解码方法被解码,并被传送到控制管理器260。特别地, 与施加到变换系数的量化级别相关的信息是由视频复用解码器270从 编码后比特流中提取的,并通过控制线217提供到控制管理器260。控 制管理器相应的将该信息通过控制线218传送到逆量化器210。逆量化 器210根据该控制信息逆量化每个块的量化DCT系数,并将逆量化的DCT 系数提供到DCT逆变换器220。
DCT逆变换器220对该宏块的每个块的逆量化DCT系数执行DCT逆 变换,形成包含重建像素值的图像信息的解码块。通过合成器230将 该宏块的每个块的重建像素值传送到解码器的视频输出端280,其中可 以将它们提供到显示设备(未示出)。每个块的重建像素值也被存储在 帧存储器250中。因为在帧内编码宏块的编码/解码中并未使用运动补 偿预测,因此控制管理器260控制合成器230将这样的每个像素值块 传送到视频输出280和帧存储器250。在帧内编码帧的随后宏块被解码 和存储后,在帧存储器250中逐步地组拼起一个解码帧,并成为在随 后接收的帧间编码帧的解码中可以使用的运动补偿预测的参考帧。
帧间编码帧也是逐个宏块地进行解码,每个帧间编码宏块基本上都 在视频比特流135中接收到与其相关的编码信息之后立刻被解码。视 频复用解码器270从编码后运动矢量信息和与当前宏块相关的可能控 制信息中分离出该帧间编码宏块的每个块的编码后预测误差信息。如 前所述,该宏块的每个块的编码后预测误差信息都包括可变长码字, 这些码字表示当前预测误差块的非零量化的变换系数的熵编码后的 level和run值。视频复用解码器270利用与编码器100使用的编码 方法相对应的可变长解码方法来解码该可变长码字,从而恢复出level 和run的值。然后重建每个预测误差块的量化后变换系数值的阵列, 并将它们传送到逆量化器210。与该帧间编码宏块相关的控制信息也在 视频复用解码器270中利用适当的解码方法被解码,并被传送到控制 管理器260。与施加到预测误差块的变换系数的量化级别相关的信息是 从编码后比特流中提取的,并通过控制线217提供到控制管理器260。 控制管理器相应的将该信息通过控制线218传送到逆量化器210。逆量 化器210根据该控制信息逆量化该量化DCT系数,该量化DCT系数表 示该宏块的每个块的预测误差信息,并将逆量化的DCT系数提供到DCT 逆变换器220。DCT逆变换器220对表示每个块的预测误差信息的逆量 化DCT系数执行逆变换,产生该宏块的每个块的重建预测误差值的阵 列。
视频复用解码器270从编码的视频比特流135中提取与该宏块相关 的编码后运动矢量信息,并进行解码。这样获得的解码后运动矢量信 息通过控制线225传送到运动补偿预测块240,利用与编码器100中编 码帧间编码宏块相同的运动模型,重建该宏块的运动矢量。重建的运 动矢量与编码器的运动估计块130初始确定的运动矢量非常近似。解 码器的运动补偿预测块240利用重建的运动矢量来识别帧存储器250 中存储的预测参考帧中的重建像素区域的位置。该参考帧可以是,例 如先前解码的帧内编码帧,或先前解码的帧间编码帧。无论哪种情况, 该重建运动矢量所指示的像素区域都用于形成当前宏块的预测。更具 体地,运动补偿预测块240通过从运动矢量所识别的像素区域中复制 对应的像素值而形成该宏块的每个块的像素值阵列。该预测,即由参 考帧得到的像素值的块,从运动补偿预测块240被传送到合成器230, 并与解码的预测误差信息相合成。实际上,每个预测块的像素值被增 加到DCT逆变换器220输出的对应重建预测误差值。这样就得到该宏 块的每个块的重建像素值的阵列。重建的象素值被传送到解码器的视 频输出280并被存储到帧存储器250中。在帧间编码帧的随后宏块被 解码和存储后,在帧存储器250中逐步地组拼起一个解码帧,并成为 其它帧间编码帧的运动补偿预测中可以使用的参考帧。
如上所述,在典型的视频编码系统中,运动补偿预测是在宏块的基 础上执行的,即宏块是与运动信息相关的视频帧的最小单元。然而, 由ISO/IEC MPEG(运动图像专家组)和ITU-T VCEG(视频编码专家组)的 联合视频组JVT所开发的当前的视频编码建议,还允许运动信息与比 宏块更小的单元相关联。在本说明书的以下所有描述中,将参照 T.Weigland发表在ISO/IEC MPEG和ITU-T VCEG的联合视频组 Doc.JVT-A003,2002年1月的文章:“Joint Model Number 1”中所 述的视频编码标准的版本,本文包含该文章的全部内容。为了简明, 该建议的版本将被称为“JVT编解码的JM1”。
根据该JVT编解码的JM1,视频图像被划分为许多16×16像素的宏 块,并在逐个宏块的基础上进行编码。该编码是按照图1和2所示的 通用视频编码器和解码器所述的基本原理来执行的。然而,根据JM1, 帧间编码宏块的运动补偿预测是按照与先前描述不同的方式进行的。 更具体的,每个宏块都根据该宏块的特性和该视频序列中的运动而被 分配“编码模式”。将被帧间编码的宏块根据七种编码模式被划分为多 个子块,每个子块包括N×M个像素,和与每个N×M子块相关而不是仅 与整个宏块相关的运动信息。在附图4中示出了JVT视频编解码标准 的JM1提出的将宏块划分为N×M子块的每个可能方法。从图中可看出, 可能的划分法有:16×16,8×16,16×8,8×8,4×8,8×4,4×4。这样, 若特定宏块被分配的编码模式是例如16×8模式,则该宏块被划分为两 个16×8像素的子块,每个子块都具有其自身的运动信息。另外,还提 出了第八编码模式,称为SKIP(或跳跃)模式。若一个宏块被分配为 该模式,则表示该宏块是直接从参考视频帧复制的,而不必使用运动 补偿预测。
对给定宏块的编码模式选择的判断通常被作为运动估计处理的一部 分。更具体地,在例如图1的视频编码器中,不是允许使用JVT编解 码中JM1的不同编码模式,而是对将该宏块划分为N×M子块的每种可 能划分法和对跳跃模式,重复运动估计块130执行的运动估计处理。 对跳跃模式的运动估计非常简单,由于不需要运动搜索,可只对该模 式分配一个恒定的零值矢量。对其余的帧间模式,通常通过对该宏块 内的每个运动块进行块匹配操作来估计运动。在这些操作之后,对该 宏块选择可使一定价值函数最小化的模式。该价值函数通常将预测误 差与所需的估计比特数目相结合,从而对宏块编码,并测量每种编码 模式的相对效率。
因为根据JVT编解码中JM1操作的视频编码器对每个帧间编码宏块 都分配一个特定编码模式,因此对应的视频解码器需要知道该编码模 式,以便对接收的当前宏块的相关信息进行正确解码。因此,在从视 频编码器向视频解码器传送的视频比特流中,提供对每个宏块所分配 的编码模式的指示。为了使指示编码模式所需的数据量最小,利用可 变长编码来指示每个宏块的编码模式。指示编码模式的码字以下述方 式指定,其中使用最短的码字来表示统计学上最可能出现的编码模式。 JVT编解码的JM1使用称为“通用可变长编码”(UVLC)的一个单独集 合来表示视频比特流中的所有语法(数据)单元,从而该码字集合还 可用来表示帧间编码宏块的编码模式信息。JM1中使用的UVLC码字可 以写作下述压缩形式,如下面表格1所示,其中xn项的值为0或1:

表格1:
根据JVT编解码的JM1用于产生UVLC码字的方案
表格2表示根据表格1的方案产生的第一个16UVLC码字。
  码字索引   UVLC码字   0   1   1   001   2   011
  3   00001   4   00011   5   01001   6   01011   7   0000001   8   0000011   9   0001001   10   0001011   11   0100001   12   0100011   13   0101001   14   0101011   15   000000001   ...   ...
表格2:
根据表格1的方案产生的JM1的第一个16UVLC码字
JVT编解码的JM1假定,跳跃模式是统计上对宏块最可能的编码模 式。在下一个非跳跃模式宏块之前的跳跃模式宏块的数目利用上述表 格2的单独UVLC码字来指示。剩余的编码模式由下述表格3所示的UVLC 码字来表示:
  码字索引   模式   UVLC码字   -   SKIP   编码长度   0   16×16   1   1   16×8   001   2   8×16   011   3   8×8   00001   4   8×4   00011   5   4×8   01001   6   4×4   01011
表格3:JM1的宏块编码模式
如前所述,上述表格中的N×M模式表示运动块的尺寸。
JVT编解码的JM1所采用的方法问题在于,跳跃模式总是最可能的 假定不成立。若视频序列包含全局运动(摇摄,变焦,等等),则实际 上并不使用跳跃模式。在这些情况下,由于编解码被迫使用高开销的M 宏块编码模式,因此压缩效率严重降低,特别是较低的比特率。
已知在全局运动中为改进运动补偿预测的编码效率有两种现有方 法。第一种称为“全局运动补偿”,并使用在例如ISO MPEG-4和ITU-T H.263+视频编码标准中。第二种方法在Doc.VCEG-O20,ITU-T视频 编码专家组(VCEG)会议,2001年12月4-7日,泰国,pattaya,Shijun Sun和Shawmin Lei的题为“全局运动矢量编码”的文章中有所描述, 这里引用该文章作为参考。下面简要介绍这两种方法的基本概念。
在1998年2月的国际电信联盟ITU-T的建议H.263“用于低比特 率通信的视频编码”的附件P“参考图像再取样”中,描述了全局运动 补偿的主旨就是,产生用于运动补偿的参考帧来抵消全局运动效应。 为此,在解码器中需要进行复杂的操作,来将参考帧扭曲成更好使用 的形式。另外,必须对解码器发送附加信息来引导用于全局运动补偿 的新参考帧的建立。特别地,在H.263视频编码标准中使用的全局运 动补偿方案使用一个再取样处理,来产生参考帧的扭曲后版本,用于 当前图像的运动补偿预测。该参考帧的扭曲版本包括相对于当前图像 的形状,大小,位置的改变。再取样处理是根据当前图像的四角和参 考帧的对应四角之间的映射而定义的。假定当前图像的亮度分量具有 水平尺寸H和垂直尺寸V,通过定义四个概念性运动矢量V00,VH0,V0V, VHV来执行映射,每个概念性运动矢量都描述了如何将当前图像的四角 之一移动,从而将它映射到参考帧的对应角。在图5中示出了该操作。 然后关于该扭曲的参考帧利用块匹配对当前图像的宏块执行运动补偿 预测。这使块匹配处理变得复杂了,因为块匹配处理中使用的扭曲后 参考帧的每个像素值,都必须通过将原始(未扭曲的)参考帧中的像 素值映射到扭曲后参考帧的共用坐标来产生。这是利用作为运算增强 操作的双线性内插完成的。读者可参见H.263视频编码标准的附件P 中,关于使用双线性内插处理来产生扭曲后参考帧的像素值的详细说 明。
全局运动矢量编码,正如上述文件VCEG-O20所述,是全局运动补 偿的一种简化版本。参考帧的使用不变,但传送附加信息来描述全局 运动,并在使用全局运动矢量时利用附加宏块模式进行指示。这种方 法比上述全局运动补偿技术较为简单,但需附加额外的编码器复杂度。 也就是,编码器必须执行额外的运动估计操作,来找到全局运动参数, 还需要评价更多的宏块模式来找到最佳模式。并且,对较小分辨率的 视频来说,需要被传输的额外的全局运动信息量太大了。
由于上述说明,应当认为,在出现全局运动时,例如摄像机平移, 摇摄或变焦时,关于数字视频序列的编码仍然存在显著的未解决的技 术问题。具体地说,上述三种现有的视频编码方法都有一些技术缺陷。 例如JVT编解码的JM1,对于视频序列中的全局运动没有考虑到任何专 门规定。因此,当出现这种运动时,就使视频编码器选择明确模仿该 运动的宏块编码模式。由于在每个帧间编码宏块(或子块)中都编码 全局运动分量,这导致编码效率的显著降低。全局运动补偿技术(H.263 视频编码标准的附件P)考虑到全局运动,将运动补偿预测中使用的参 考帧进行扭曲,从而相对于没有使用专门方法来编码全局运动的系统 而提高了编码效率。然而,该扭曲处理运动复杂,还必须在编码的视 频比特流中传送附加信息,来保证视频序列的正确解码。虽然全局运 动矢量编码的相关技术比全局运动补偿要求的运算较少,但也确实增 加了一定的编码器复杂性,在视频比特流中也必须传送附加信息来保 证视频数据的正确解码。
因此本发明的目的是将本地运动补偿的简单性和全局运动补偿的编 码效率结合起来,产生一种具有显著改进的压缩性能和可忽略的增加 复杂性的视频编码系统。

发明内容

为了克服,或至少减轻现有视频编码系统中全局运动编码的相关问 题的严重程度,本发明是基于对JVT编解码的JM1中使用的跳跃模式 概念进行的重新定义。根据本发明的方法不仅在出现全局运动(即影 响视频帧的全部区域的运动)时提供了编码效率的改进,还能以有效 的方式来表示区域运动。
根据本发明,跳跃模式概念被重新定义,即指定为跳跃模式的宏块 或者与零(无效)运动矢量相关,或者与非零(有效)运动矢量相关, 其中在零运动矢量的情况下,按照与传统跳跃模式宏块相同的方式来 处理,并由参考帧直接复制。关于宏块应当与零或非零运动矢量相关 的判断,是通过在将要编码宏块的周围区域中分析其他宏块或子块的 运动来进行的。若发现周围的区域表现出一定类型的运动,则产生表 示该运动的非零运动矢量,并使其与当前宏块相关联。具体地,可以 分析在周围宏块或子块中运动的连续性,速率或偏移。例如,若周围 区域中的运动表现出一定的连续性,一定的共同速率,或特定形式的 发散,则可以向该将要编码的当前宏块分配一个表示该运动的的运动 矢量。另一方面,若当前宏块周围的区域并未表现出这种连续性,共 同速率或发散性,并具有可忽略的运动,则向将要编码的宏块分配一 个零运动矢量,使其直接从参考帧被复制,就好像传统SKIP模式的宏 块那样。这样,根据本发明,SKIP模式的宏块可以适应周围区域中的 运动,以有效的方式来考虑全局或区域运动。
在本发明的优选实施例中,进行运动分析的周围宏块或子块是将要 编码宏块附近的先前编码宏块。这样可保证,在当前宏块被编码时, 与宏块周围区域相关的运动信息在编码器(解码器)中是可用的,并 可用来直接确定将被分配到当前宏块的运动矢量。该方法使编码器中 执行的对周围区域的运动分析在解码器中被准确复制。这样,反过来 意味着,根据本发明,不需要对解码器发送附加信息来模拟全局或区 域运动。
正如以下将要对本发明详细说明的,本发明所提出的对跳跃模式概 念的重新定义相对于先前描述的现有视频编码方法具有显著的技术优 点。具体地,根据本发明的方法以有效的方式来考虑视频序列中的全 局和区域运动,而不需要对参考帧的复杂扭曲或任何其他苛刻的运算 操作。并且,相对于前述的全局运动补偿和全局运动矢量编码方法, 不需要在视频比特流中传送附加信息以保证视频数据的正确解码。另 外,只需要最小量的修正就可将本发明的方法结合到现存的使用跳跃 模式宏块概念的视频编码系统中。
按照本发明,提供了一种用于数字视频序列的编码的运动补偿预 测方法,所述数字视频序列包括多个帧,所述方法包括:
利用关于序列中第二帧的运动补偿预测而给该序列中将要编码的 第一帧的一个片段分配一个编码模式,所述编码模式是包含跳跃模式 的一组编码模式中的一种,其中当所述跳跃模式被分配到第一帧的所 述片段时,它指示
i)该片段具有可忽略量级的运动,这种情况下,通过从第二帧的 对应区域进行直接复制而形成对该片段的预测,或者
ii)该片段在视频序列中具有全局或区域运动的运动特性,这种情 况下,利用表示所述全局或区域运动的运动信息,通过关于第二帧的 运动补偿预测而形成对该片段的预测。
按照本发明,提供了一种用于对编码后数字视频序列进行解码的 运动补偿预测方法,所述数字视频序列包括多个帧,所述方法包括:
接收编码模式的指示,该编码模式是利用关于序列中第二帧的运 动补偿预测而分配给该序列中将要解码的第一帧的一个片段的,所述 编码模式是包含跳跃模式的一组编码模式中的一种,和
当指示所述跳跃模式作为分配给第一帧的所述片段的编码模式 时,判断
i)所述跳跃模式是否指示该片段具有可忽略量级的运动,这种情 况下,通过从第二帧的对应区域直接进行复制而执行对该片段的运动 补偿预测,或者
ii)所述跳跃模式是否指示该片段在视频序列中具有全局或区域运 动的运动特性,这种情况下,利用表示所述全局或区域运动的运动信 息,关于第二帧来执行对该片段的运动补偿预测。
按照本发明,提供了一种安排为利用运动补偿预测来编码数字视 频序列的视频编码器,所述数字视频序列包括多个帧,所述编码器包 括:
利用关于序列中第二帧的运动补偿预测而给将要编码的该序列中 第一帧的一个片段分配一个编码模式的装置,其中所述编码模式是包 含跳跃模式的一组模式中的一种,和
用于对该片段形成预测的装置,其中当所述跳跃模式被分配给第 一帧的所述片段时,指示
i)该片段具有可忽略量级的运动,这种情况下,所述用于对该片 段形成预测的装置通过从第二帧的对应区域进行直接复制而形成对该 片段的预测,或者
ii)该片段在视频序列中具有全局或区域运动的运动特性,这种情 况下,所述用于对该片段形成预测的装置利用表示所述全局或区域运 动的运动信息,关于第二帧而形成对该片段的预测。
按照本发明,提供了一种被安排为利用运动补偿预测对编码后数 字视频序列进行解码的视频解码器,所述数字视频序列包括多个帧, 所述解码器包括:
用于接收编码模式的指示的装置,该编码模式是利用关于序列中 第二帧的运动补偿预测而分配给该要解码的序列中第一帧的一个片段 的,所述编码模式是包含跳跃模式的一组编码模式中的一种,和
用于对该片段形成预测的装置,其中当指示所述跳跃模式作为分 配给第一帧的所述片段的编码模式时,该解码器被安排用来判断
i)所述跳跃模式是否指示该片段具有可忽略量级的运动,这种情 况下,所述用于对该片段形成预测的装置通过从第二帧的对应区域直 接进行复制而形成对该片段的预测,或者
ii)所述跳跃模式是否指示该片段在视频序列中具有全局或区域运 动的运动特性,这种情况下,所述用于对该片段形成预测的装置利用 表示所述全局或区域运动的运动信息,通过关于第二帧的运动补偿预 测来形成对该片段的预测。
按照本发明,提供了一种多媒体终端,包括
用于获得数字视频序列的装置;和
视频编码器,被安排用于利用运动补偿预测来编码该数字视频序 列,所述数字视频序列包括多个帧,其中该视频编码器包括:
利用关于序列中第二帧的运动补偿预测而对将要编码的该序列中 第一帧的一个片段分配一个编码模式的装置,其中所述编码模式是包 含跳跃模式的一组模式中的一种,和
用于对该片段形成预测的装置,其中当所述跳跃模式被分配给第 一帧的所述片段时,指示
i)该片段具有可忽略量级的运动,这种情况下,视频编码器被安 排为使所述用于对该片段形成预测的装置通过从第二帧的对应区域进 行直接复制而形成对该片段的预测,或者
ii)该片段在视频序列中具有全局或区域运动的运动特性,这种情 况下,视频编码器被安排为使所述用于对该片段形成预测的装置利用 表示所述全局或区域运动的运动信息,关于第二帧而形成对该片段的 预测。
按照本发明,提供了一种多媒体终端,包括:
用于获得编码后的数字视频序列的装置;和
视频解码器,被安排用于利用运动补偿预测对编码后数字视频序列 进行解码,所述数字视频序列包括多个帧,所述解码器包括:
用于接收一个编码模式的指示的装置,该编码模式是利用关于序列 中第二帧的运动补偿预测而分配给将要解码的该序列中第一帧的一个 片段的,所述编码模式是包含跳跃模式的一组编码模式中的一种,和用 于对该片段形成预测的装置,其中当指示所述跳跃模式作为分配给第一 帧的所述片段的编码模式时,解码器被安排用于判断
i)所述跳跃模式是否指示该片段具有可忽略量级的运动,这种情况 下,所述用于对该片段形成预测的装置通过从第二帧的对应区域直接进 行复制而形成对该片段的预测,或者
ii)所述跳跃模式是否指示该片段在视频序列中具有全局或区域运 动的运动特性,这种情况下,所述用于对该片段形成预测的装置利用表 示所述全局或区域运动的运动信息,通过关于第二帧的运动补偿预测来 形成对该片段的预测。
按照本发明,提供了一种视频编解码器,包括:
视频编码器,被安排用于利用运动补偿预测来编码一个数字视频序 列,所述数字视频序列包括多个帧,所述编码器包括:
利用关于序列中第二帧的运动补偿预测而对将要编码的该序列中第 一帧的一个片段分配一个编码模式的装置,其中所述编码模式是包含跳 跃模式的一组模式中的一种,和
第一用于对该片段形成预测的装置,其中当所述跳跃模式被分配到 第一帧的所述片段时,指示
i)该片段具有可忽略量级的运动,这种情况下,该视频编码器被安 排为使所述用于对该片段形成预测的装置通过从第二帧的对应区域进 行直接复制而形成对该片段的预测,或者
ii)该片段在数字视频序列中具有全局或区域运动的运动特性,这种 情况下,该视频编码器被安排为使所述用于对该片段形成预测的装置利 用表示所述全局或区域运动的运动信息,关于第二帧而形成对该片段的 预测;和
视频解码器,被安排用于利用运动补偿预测对编码后数字视频序列 进行解码,所述编码后数字视频序列包括多个帧,所述解码器包括:
用于接收一个编码模式的指示的装置,该编码模式是利用关于序列 中第二帧的运动补偿预测而分配给将要解码的该序列中第一帧的一个 片段的,所述编码模式是包含跳跃模式的一组编码模式中的一种,和
第二用于对该片段形成预测的装置,其中当指示所述跳跃模式作为 分配给第一帧的所述片段的编码模式时,该解码器被安排用于判断
i)所述跳跃模式是否指示该片段具有可忽略量级的运动,这种情况 下,所述用于对该片段形成预测的装置通过从第二帧的对应区域直接进 行复制而形成对该片段的预测,或者
ii)所述跳跃模式是否指示该片段在编码后数字视频序列中具有全 局或区域运动的运动特性,这种情况下,所述用于对该片段形成预测的 装置利用表示所述全局或区域运动的运动信息,通过关于第二帧的运动 补偿预测来形成对该片段的预测。
本发明实施例的这些和其他特征,方面和优点在以下结合附图的详 细说明中变得明显。应当理解,该附图只是为了举例说明,而不是作为 限制本发明的定义。

附图说明

图1是根据现有技术的通用视频编码器的示意方框图。
图2是与图1所示编码器对应的根据现有技术的通用视频解码器的 示意方框图。
图3表示根据现有技术的宏块形成过程。
图4表示根据JVT视频编解码的JM1蒋宏块划分成块的7种可能的 分法。
图5表示根据H.263的附件P的全局运动补偿方案中产生概念性运 动矢量的过程,该矢量用于将当前图像的角映射到的参考图像的角。
图6是根据本发明实施例的视频编码器的示意方框图。
图7是与图6所示编码器对应的根据本发明实施例的视频解码器的 示意方框图。
图8表示在根据本发明实施例的编码器或解码器中用于跳跃模式宏 块的编码和解码块。
图9表示根据本发明的实施例的宏块划分,在将要编码或解码的宏 块周围的宏块中的运动,和对该宏块(图中的阴影部分)产生的跳跃 模式运动矢量的例子。
图10是其中可以实现根据本发明方法的多媒体通信终端的示意方 框图。

具体实施方式

下面将参照图6到10来具体说明本发明的实施例。
根据本发明,视频编码系统中的跳跃(或SKIP)模式宏块适应于 周围图像片段的运动。若在将要编码/解码的宏块周围检测到有效运 动,则产生符合该运动的运动参数,并对该宏块进行运动补偿。这样, 不需要从编码器向解码器传送附加信息。
图6是根据本发明实施例实现的视频编码器600的示意方框图。当 对数字视频序列的帧编码时,编码器600按照与先前结合图1描述的 现有视频编码器类似的方式来操作,以产生帧内编码和帧间编码的压 缩视频帧。图6所示视频编码器的结构基本上类似于图1所示的现有 视频编码器,并对运动估计部分有必要的适当修正,以便实施根据本 发明的视频编码方法。该视频编码器中具有与上述现有视频编码器相 同的功能和操作的所有部分都被表示为相同的参考标号。
因为本发明涉及帧间编码格式的视频帧的编码,特别涉及作为帧间 编码处理一部分的运动补偿预测的细节,因此将省略对帧内编码模式 中编码器600的描述,以下的说明将集中在帧间编码模式中编码器执 行的操作。
在帧间编码模式中,视频编码器的控制管理器160操作开关102从 线路117接收其输入,该输入包括合成器116的输出。合成器116从 输入端101逐个宏块地接收视频输入信号。在合成器116接收到构成 宏块的亮度和色度值的块之后,可形成对应的预测误差信息的块。该 预测误差信息表示当前块及其预测之间的差异,它在运动补偿预测块 650中产生。
将该宏块的每个块的预测误差信息传送到DCT变换块104,对预测 误差值的每个块执行二维离散余弦变换,以便产生每个块的DCT变换 系数的二维阵列。它们被传送到量化器106,利用量化参数QP被量化。 量化参数QP的选择由控制管理器160通过控制线115来控制。
然后,表示该宏块的每个块的预测误差信息的量化后DCT系数从量 化器106通过线路125被传送到视频复用编码器170。视频复用编码器 170利用Z字形扫描过程对每个预测误差块的变换系数进行排序,从而 将每个非零值的量化系数表示为游程-等级对,并利用熵编码将该游 程-等级对进一步压缩。视频复用编码器170还通过线路126从运动 场编码块640接收运动矢量信息,从控制管理器160接收控制信息。 它对运动矢量信息和控制信息进行熵编码,并形成单独的编码图像信 息的比特流135,它包括熵编码的运动矢量,预测误差和控制信息。
表示该宏块的每个块的预测误差信息的量化后DCT系数还从量化器 106传送到逆量化器108。这里对它们进行逆量化,并将得到的逆量化 的DCT系数块施加到DCT逆变换块110,进行DCT逆变换,从而产生 本地解码的预测误差值的块。然后将本地解码的预测误差值的块输入 到合成器112。在帧间编码模式中,设定开关114,使得合成器112还 接收运动补偿预测块650产生的该宏块的每个块的预测像素值。合成 器112将每个本地解码的预测误差值的块与对应的预测像素值的块结 合起来,从而产生重建的图像块,并将它们存储在帧存储器120中。
在从视频源接收到视频信号的随后宏块并进行了前述的在块104, 106,108,110,112中进行的编码和解码步骤后,在帧存储器120中 建立起该帧的解码后版本。在该帧的最后一个宏块已被处理后,帧存 储器120存储一个完全解码的帧,用于在对随后接收的帧间编码格式 的视频帧编码时用为运动预测参考帧。
下面将详细说明视频编码器600执行的运动补偿预测。
视频编码器600以类似于前述JVT编解码器的方式进行运动补偿预 测。换言之,适于根据所编码视频序列中宏块和运动的特性,对每个 帧间编码宏块分配一个编码模式。当检查将哪个编码模式分配到特定 宏块时,运动估计块630依次对每个编码模式执行运动估计操作。运 动估计块630通过线路128接收用于运动估计的,构成将被编码宏块 的亮度和色度值的块(见图6)。然后一个接一个地选择每种可能的编 码模式,并执行运动估计,以便根据选择的编码模式和将要编码宏块 的像素值,而识别参考帧中对该宏块的最佳匹配。(最佳匹配根据编码 模式将包括一个或多个最佳匹配的像素值区域)。每个最佳匹配都与总 体成本价值相关联,例如,在被检查宏块中像素值与参考帧中的最佳 匹配区域之间的绝对差值之和的线性组合,以及编码该模式和表示运 动矢量所需的估计比特数目。一旦获得每种编码模式的最佳匹配,运 动估计块630就选择产生最小总体成本值的编码模式作为当前宏块的 编码模式。
根据本发明,除了SKIP模式被重新定义以便允许表示全局和区域 运动,编码器600使用的编码模式对应于JVT编解码器的JM1提供的 那些编码模式(如表格3所示)。更具体地,对SKIP模式进行了修正, 使得根据当前宏块周围的图像片段中的运动的特性,对每个跳跃模式 宏块都关联一个零运动(无效)矢量或非零(有效)运动矢量。以下 这种类型的运动矢量将被称为“跳跃模式运动矢量”。
当检查作为对每种编码模式依次执行的前述运动估计处理一部分的 跳跃模式时,编码器首先判断应当使用零或非零的跳跃模式运动矢量。 为此,编码器将分析将被编码宏块周围的图像片段(例如宏块和/或子 块)的运动。若判断该周围区域表现出某种类型的运动,例如具有指 示全局或区域运动的特性,则产生一个非零值的跳跃模式运动矢量表 示该运动。另一方面,若编码器判断当前宏块周围的区域并未表现出 全局或区域运动,而是只有可忽略量级的运动,则产生一个零值的跳 跃模式运动矢量。换言之,若编码器判断当前宏块的周围区域中的运 动具有全局特性,则跳跃模式编码适于考虑这种运动(通过产生相关 联的非零值跳跃模式运动矢量来表示该运动)。或者,若没有出现这种 运动,则产生零值的运动矢量,使得本发明修正的该跳跃模式按照传 统方式操作,即零值的跳跃模式运动矢量导致该宏块直接从参考帧复 制。
在对包括根据本发明修正的跳跃模式的每种可用编码模式执行了运 动估计操作后,编码器600判断哪种编码模式产生了最小总体成本值, 并选择该模式作为当前宏块的编码模式。最后选择的编码模式的指示, 例如从表格3所示的一组码字中选择的一个可变长码字,与该宏块相 关联,并包含在视频比特流635中。这使对应的解码器可识别该宏块 的编码模式并可利用正确的运动补偿预测形式来正确地重建该宏块。
关于对将被编码宏块周围区域中的运动进行分析以便确定应当使用 零值还是非零值跳跃模式运动矢量,将参照附图中的图8进行详细说 明。图8表示与产生跳跃模式运动矢量相关的运动估计块630的功能 单元。包括运动信息存储器801,周围运动分析块802,有效运动参数 产生块803和零运动参数产生块804。
关于产生零值跳跃模式运动矢量还是非零值跳跃模式运动矢量的判 断是由周围运动分析块802做出的。通过利用预定的分析方案对将要 编码宏块周围的预定区域中宏块或子块的运动进行分析和归类,从而 做出该判断。为了执行分析,周围运动分析块802从运动信息存储器801 中检索与周围区域中宏块或子块相关的运动信息。根据实现的特定情 况,周围运动分析块可以分析在周围宏块或子块中运动的连续性,速 率或偏移。例如,若周围区域中的运动表现出一定级别的连续性,一 定的共同速率(例如图9所示),或特定形式的发散,则这可能意味着 出现了某种形式的全局或区域运动。结果周围运动分析块认为在周围 区域中出现了“有效运动”,应当使用非零值跳跃模式运动矢量。另一 方面,若当前宏块的周围区域并未表现出这种连续性,共同速率或发 散性,并具有通常可忽略的运动,则周围运动分析块认为在周围区域 中出现了“无效运动”,因此应当使用零值跳跃模式运动矢量。
如图8所示,若周围运动分析块判断在周围区域中出现了“有效运 动”,则它发送一个对该效应的指示到有效运动参数产生块803,形成 表示该周围区域中运动的非零值跳跃模式运动矢量。为此,有效运动 参数产生块803从运动信息存储器801中检索与周围宏块和/或子块相 关的运动信息。可替换地,可将该信息通过周围运动分析块802传送 到有效运动参数产生块。若周围运动分析块判断在周围区域中出现了 “无效运动”,则它发送一个对应的指示到零运动参数产生块804,形 成一个零值跳跃模式运动矢量。
在本发明的优选实施例中,周围运动分析块所分析的宏块或子块的 周围区域包括邻近将要编码宏块的先前编码的宏块(图9)。这时,在 编码器中执行的对周围区域中运动的分析和归类可以在解码器中被准 确地复制。这进而又意味着,根据本发明,不需要向解码器发送附加 信息来模拟全局或区域运动。
在本发明的可替换实施例中,当确定使用零值还是非零值的跳跃模 式运动矢量时,还要考虑已编码宏块的编码模式。例如,若周围运动 分析块判断存在一个或多个静止的邻近宏块,则使用零值跳跃模式运 动矢量。
在本发明的第一优选实施例中,周围运动分析块802根据以下三个 步骤对宏块周围区域中的运动进行归类。首先,周围运动分析块检索 将要编码宏块周围的宏块或子块的运动信息(即,将要编码宏块周围 的先前编码的宏块,如图9所示),并对该宏块产生一个中间运动矢量 预测。例如,该中间运动矢量预测是按照与JVT编解码器的JM1的运 动矢量预测(参见T.Weigland:“Joint Model Number 1”,Doc.JVT-A003, ISO/IEC MPEG和ITU-T VCEG的联合视频组,2002年1月)类似的方 式执行的。然后周围运动分析块判断,任何得到的运动矢量分量是否 具有大于一定阈值(例如像素的一半)的绝对值。若满足该条件,则 该运动被归类为“有效运动”,否则被归类为“无效运动”。最后,根 据归类的结果,周围运动分析块802发送一个指示到有效运动参数产 生块803或零运动参数产生块804,以便产生适当的跳跃模式运动参 数。
根据本发明第一优选实施例的周围运动分析块的实现由于以下两个 原因是非常有利的。第一,在典型的视频编解码器中,例如JVT编解 码器中,使用中间预测算子来预测图像方块的运动矢量。根据第一优 选实施例,在周围运动分析块和有效运动参数产生块中使用了该相同 的预测算子,来分析将要编码宏块的周围区域中的运动,并产生用于 SKIP模式宏块的运动参数。这样,本发明可以通过对视频编解码器附 加最小程度的总体实现复杂性来实现。第二,因为周围运动分析块802 通过产生和分析中间运动矢量而归类周围区域中的运动,因此有效运 动参数产生块803可以向运动补偿块只传送在周围运动分析块中已经 产生的中间运动参数。这也可以使实现的复杂性最小,因为不需要产 生额外的运动参数。
在根据本发明的第二优选实施例中,周围运动分析块分析将要编码 的宏块附近的运动,并将其归类为“有效运动”或“无效运动”。在“有 效运动”的情况下,激活有效运动参数产生块,在“无效运动”的情 况下,激活零运动参数产生块。在本实施例中若满足以下两个条件之 一或全部,则产生“无效运动”的类别,否则将该运动归类为“有效 运动”,这两个条件是:
条件1:紧挨在当前宏块的上面或左面的宏块不可用(即在图像之 外,或属于不同的图像条)。
条件2:在16×16帧间模式的运动矢量预测中使用的紧挨在上面或 左面的宏块或块具有零运动矢量,并使用最新的图像作为运动补偿的 参考。
下面将参照图7来说明根据本发明实施例的视频解码器700的操 作。图7所示视频解码器的结构基本上类似于图2所示的现有视频解 码器,并对解码器中执行运动估计操作的部分进行了适当的修正。该 视频解码器中具有与上述现有视频编码器相同的功能和操作的所有部 分都被表示为相同的参考标号。还假定图7的视频解码器对应于图6 的编码器,因此能够接收和解码编码器600发送的比特流635。并且, 由于本发明实施帧间编码格式的视频帧的解码,因此解码器700执行 的关于帧内编码帧的解码的说明将被省略。
帧间编码帧逐个宏块地执行解码,每个帧间编码宏块基本上都在视 频比特流635中接收到与其相关的编码信息之后立刻被解码。根据编 码模式,帧间编码宏块的比特流中包含的压缩视频数据可能包括每个 块的VLC编码的预测误差信息,该宏块(或子块)的运动矢量信息, 和编码的控制信息的组合,该编码控制信息包含编码当前宏块所使用 的编码模式的指示。若宏块以跳跃模式被编码,则该比特流中不包含 与该宏块相关的预测误差或运动矢量信息。
视频复用解码器270接收视频比特流635并从任何可能出现的编码 预测误差和/或运动矢量信息中分离出控制信息,该控制信息包含该宏 块的编码模式的指示。
如前所述,预测误差信息被编码为表示熵编码后的等级和游程值的 可变长度码字。若对当前宏块提供预测误差信息,则视频复用解码器270 通过利用对应编码器600所用编码方法的可变长度解码方法来解码该 可变长度码字而恢复出等级和游程值。然后重建每个预测误差块的量 化后DCT变换系数值的阵列,并将它们传送到逆量化器210进行逆量 化。逆量化后的DCT系数在DCT逆变换器220中进行逆变换,产生重 建后的该宏块每个块的预测误差值的阵列。
与该宏块相关的编码模式指示和编码后运动矢量信息(若有的话) 都在视频复用解码器中被解码,并通过控制线225被传送到运动补偿 预测块740。运动补偿预测块740利用编码模式指示和运动矢量信息(若 有的话)来形成当前宏块的预测。更具体地,运动补偿预测块740通 过从参考帧中的一个像素区域(或多个区域)复制对应的像素值,而 形成该宏块的每个块的像素值的阵列。该预测,即由参考帧导出的像 素值块,从运动补偿预测块740传送到合成器230,在合成器230中与 解码后的预测误差信息(若有的话)相结合。这样,就得到了该宏块 的每个块的重建后像素值的一个阵列。
重建的像素值被传送到解码器的视频输出端280,并存储在帧存储 器250中。从而,在帧间编码帧的随后宏块被解码和存储时,在帧存 储器250中逐步地组拼起一个解码帧,并作为其他帧间编码帧的运动 补偿预测中可以使用的参考帧。
根据本发明,解码器700的运动补偿预测块740包括类似于编码器 600中的运动信息存储块801,周围运动分析块802,有效运动参数产 生块803和零运动参数产生块804。这些功能块用于确定以跳跃模式编 码的宏块是应当与零值还是非零值的跳跃模式运动矢量相关联。更具 体地,当判断将被解码的宏块是以跳跃模式编码时,周围运动分析块802 在该将要解码的宏块周围的预定区域中按照对应于编码器600使用的 方式对先前解码的宏块和/或子块的运动进行分析和归类。作为分析结 果,当前宏块将与非零值的跳跃模式运动矢量或零值的跳跃模式运动 矢量相关联。然后使用该运动矢量来形成该宏块的预测。若该宏块与 零值的跳跃模式运动矢量相关联,则通过从参考帧的对应位置简单复 制像素值来重建。另一方面,若它与非零值的运动矢量相关联,则使 用该非零值运动矢量所指示的像素值区域来产生该宏块的像素值。
应当注意,通过以本发明提出的方式来修正跳跃模式概念,并在解 码器中执行周围运动分析,从而可以在视频序列中考虑到全局或区域 运动,而无需在视频比特流中提供关于这种运动的明确信息。
下面将说明包括适于根据本发明操作的编码和解码装置的终端设 备。附图中的图10示出了根据ITU-T建议H.324实现的多媒体终端80。 该终端可被认为是多媒体收发设备。它包括捕获、编码和复用多媒体 数据流以便通过通信网络传输的多个元件,以及接收、解复用、解码 和显示所接收到的多媒体内容的多个元件。ITU-T建议H.324定义了 该终端的全部操作并涉及到管理该终端不同构成部分的操作的其它建 议。这种多媒体终端可用于实时应用中,例如对话式电视电话,或非 实时应用,例如从互联网上的多媒体内容服务器中对视频片断的检索 和/或流播。
在本发明的上下文中,应当认识到图10中所示的H.324终端只是 可应用本发明方法的多种可替换多媒体终端设备中的一种。还应当注 意多种可替换终端的出现与终端设备的位置和实现有关。如图10所示, 多媒体终端可以位于与诸如模拟PSTN(公共交换电话网络)之类固定 线电话网络连接的通信设备中。在这种情况下,多媒体终端装备有调 制解调器91,它与ITU-T建议V.8,V.34以及可选的V.8bis兼容。可 替换地,多媒体终端可以与外部调制解调器连接。该调制解调器可以 将多媒体终端产生的复用后数字数据和控制信号转换为适于通过PSTN 传输的模拟形式。它还可以使多媒体终端能够从PSTN接收模拟的数据 和控制信号,并将它们转换为可以由该终端以适当方式解复用和处理 的数字数据流。
H.324多媒体终端还可以这种方式实现,即它可以与数字固定线路 网络例如ISDN(综合业务数字网)直接连接。在这种情况下,ISDN用户 网络接口将替换调制解调器91。在图10中,该ISDN用户网络接口由 可选方框92表示。
H.324多媒体终端可适用于移动通信应用中。如果与无线通信链接 一起使用,则可用图10中可选块93所表示的任何适当的无线接口来 替换调制解调器91。例如,H.324/M多媒体终端可包括无线电收发器, 该无线电收发器可以与当前第2代GSM移动电话网络或今后的第3代 UMTS(通用移动电话系统)连接。
应当注意,多媒体移动终端是设计用于双向通信的,它用于视频数 据的发送和接收,同时提供根据本发明实现的视频编码器和视频解码 器是有利的。这种编码器和解码器对通常被实现为一个单独的组合功 能单元,称为“编解码器”。
现在将参照图10来详细说明典型的H.324多媒体终端。
该多媒体终端80包括称为“终端装置”的多种元件。它包括分别 由参考数字81、82和83表示的视频、音频和综合信息设备。该视频 设备81可包括例如用于捕获视频图像的摄像机、用于显示所接收到的 视频内容的监视器和可选择的视频处理设备。音频设备82通常包括例 如用于捕获口头消息的麦克风和用于再现所接收到的音频内容的扬声 器。音频设备也可以包括附加的音频处理单元。综合信息设备83可包 括数据终端、键盘、电子书写板或静止图像收发器,例如传真单元。
视频设备81与视频编解码器85耦合。该视频编解码器85包括视 频编码器和对应的视频解码器,它们都是根据本发明实现的。下面将 说明这种编码器和解码器。该视频编解码器85负责以适当的形式对所 捕获的视频数据编码以便以便经过通信链路进行传输,以及对从通信 网络接收到的压缩视频内容进行解码。在图10所示的例子中,视频编 解码器是根据JVT编解码器的JM1经过适当的修正而实现的,从而在 视频编解码器的编码器和解码器中实现了根据本发明的修正后的SKIP 模式概念。
该终端的音频设备与图10中由附图标记86所标示的音频编解码器 耦合。与视频编解码器一样,音频编解码器包括一编码器/解码器对。 它将终端的音频设备所捕获的音频数据转换为适合于通过通信链路传 输的形式,并将从网络中接收到的编码音频数据转换为适合于在例如 终端的扬声器中再现的形式。该音频编解码器的输出被传送到一个延 迟块87。该延迟块87用于补偿视频编码处理所引入的延迟,从而确保 音频和视频内容的同步。
多媒体终端的系统控制块84利用适当的控制协议(信令块88)控 制终端到网络的信令,从而建立发射和接收终端之间的共同操作模式。 信令块88交换关于发射和接收终端的编码和解码能力的信息,并可用 于启动视频编码器的各种编码模式。该系统控制块84还控制数据加密 的使用。可以从加密块89向复用器/解复用器(MUX/DMUX单元)90传 输关于在数据传输中所用的加密类型的信息。
在多媒体终端的数据传输期间,MUX/DMUX单元90将编码和同步后 的视频和音频流与从综合信息设备83输入的数据以及可能的控制数据 合并,从而形成单一的比特流。由加密块89提供的将要应用于该比特 流的关于数据加密类型的信息(若有的话)可用于选择加密模式。因 此,当接收到复用后和可能加密后的多媒体比特流时,MUX/DUMU单元 90负责对该比特流解密,将其分割为它的构成多媒体分量,并将这些 分量传输到适当的编解码器和/或终端设备中以便解码和再现。
如果多媒体终端80为移动终端,即,如果它装备有无线电收发器 93,则本领域技术人员应当理解它可能还包含其它元件。在一个实施 例中,它包含具有显示器和键盘的用户接口,从而可以实现用户对多 媒体终端80的操作;中央处理单元,例如微处理器,它控制负责多媒 体终端不同功能的块;随机存取存储器RAM;只读存储器ROM和数字摄 像机。在只读存储器ROM中存储微处理器的操作指令,该操作指令为 对应多媒体终端80的基本功能的程序代码,可以在用户的控制下由微 处理器按照需要来执行。根据该程序代码,微处理器使用无线电收发 器93来形成与移动通信网络的连接,从而使多媒体终端80能够经过 无线电链路与移动通信网络之间发射信息和接收信息。
微处理器监视用户接口的状态并控制数字摄像机。响应于用户的命 令,微处理器命令摄像机将数字图像记录在RAM中。如前面所述,一 旦捕获到图像或数字视频序列时,或者可替换地在捕获处理期间,微 处理器就将图像分为图像片段(例如多个宏块),并使用编码器对这些 片段执行运动补偿编码,从而产生压缩后的图像序列。用户可以命令 多媒体终端80在其显示器上显示所捕获的图像,或利用无线电收发器 93将压缩后的视频序列发送到其它多媒体终端、与固定线路网络 (PSTN)连接的视频电话或其它电信设备。在优选实施例中,第一个 片段被编码后马上就开始图像数据的传输,从而可以使接收方能够以 最小延迟开始对应的解码处理。
虽然是在特定实施例中进行描述,但是本领域技术人员应当知道还 可以对这些教导进行多种变化和修改。因此,虽然在参照一个或多个 特定实施例描述本发明,本领域技术人员应当明白在不脱离本发明如 上所阐述的范围和精神的情况下还可以实现特定的修改或变化。
特别是,根据本发明的可替换实施例,周围运动分析块802适于将 周围区域的运动归类为两个以上的运动类型。例如,一种包含三种类 别的运动的有意义的分类可以是“连续运动”、“有效运动”、“无效运 动”。这样,就可以产生对应连续运动的典型情况的特定运动参数。
在本发明的另一个可替换实施例中,可以去掉周围运动分析块,并 对所有跳跃模式宏块激活有效运动参数产生块。
根据本发明的另一可替换实施例,并不使用周围运动分析块来指示 分类信息,而使用其它方式(例如宏块、片段、图像或序列级别中的 辅助信息)来指示。
在另一可替换实施例中,可以利用这种方式将周围运动分析块临时 禁用或启用。
在另一可替换实现中,根据周围运动分析块的输出可以刷新宏块模 式表从而给更可能出现的模式提供更高的优先级。在相关实施例中, 例如通过取消跳跃,可以根据周围运动分析块的输出来完全再生宏块 模式表。
应当理解,有效运动参数产生块803可以以多种方式来实现。在本 发明的特定实施例中,它适于根据例如周围运动的持续、速率或偏差 来产生运动参数。也可发送其它辅助信息来引导产生运动参数。在可 替换实施例中,有效运动参数产生块适于输出多个运动矢量,这些运 动矢量可用于宏块的不同部分。
本发明也可用于为SKIP模式以外或其它的宏块模式产生运动补偿 预测。它不受宏块结构的限制,可用于任何基于分段的视频编码系统。