用于在视频编码系统中指示量化器参数的方法与设备的制作方法

文档序号:7894180阅读:250来源:国知局
专利名称:用于在视频编码系统中指示量化器参数的方法与设备的制作方法
技术领域
本发明涉及一种用于数字视频编码的方法、编码器、解码器和设备。更具体地说,本发明涉及在视频编码系统中量化参数(QP)值的指示。
背景技术
数字视频序列类似记录在胶片上的常规影片,它包括一个静止图像序列,通常通过以一个在15和30帧/秒之间的速率连续地显示所述图像来产生运动的错觉。一个未压缩数字视频序列的每一帧包括一个图像像素阵列。在一个通常使用的数字视频格式中,例如,四分公共互换格式(QCIF),一帧包括176×144像素的一个阵列(即25,344像素)。接着,每个像素由某一数量的比特来表示,这些比特携带有关对应于像素的图像区域的亮度和/或颜色内容的信息。通常,一个称为YUV的颜色模型被用于表示图像内容的亮度和色度。辉度或者说是Y分量表示图像的强度(亮度),而图像的颜色内容由标记为U和V的两个色度或颜色差别分量来表示。
与基于包括原始颜色(即红、绿和蓝、RGB)表示的颜色模型相比,基于图像内容的辉度/色度表示的颜色模型提供某些优点。与人的视觉系统对颜色变化的敏感度相比,人的视觉系统对强度变化更敏感,并且通过对于色度分量(U,V)比对于亮度分量(Y)使用一个更低的空间分辨率,YUV颜色模型利用此性质。用这种方式,以一个可接受的图像质量降低,可以降低在图像中编码颜色信息所需要的信息量。
通常通过次抽样来获得色度分量的更低空间分辨率。典型地,视频序列的每一帧被分成称为″宏块(macroblock)″的块中,它们包括辉度(Y)信息和相关的色度(U,V)信息,其被空间次抽样。图1举例说明了可以形成宏块的一种方式。如图1所示,视频序列的一帧使用YUV颜色模型来表示,每个分量具有相同的空间分辨率。通过在原始图像中表示一个16×16图像像素区域来形成宏块作为四块辉度信息,每个辉度块包括一个8×8阵列的辉度(Y)值和两个空间相应的色度分量(U和V),它们在水平和垂直方向上通过因子二被次抽样,以产生8×8色度(U,V)值的对应阵列。根据某些视频编码建议,诸如国际电信联盟(ITU-T)建议H.26L之类的,在宏块内使用的块尺寸可以是不同于8×8的尺寸,例如4×8或4×4(参见T.Wiegand,″Joint Model Number 1″,Doc.JVT-A003,Joint Video Team(JVT)of ISO/IEC MPEG and ITU-T VCEG,2002年1月,第2.2和2.3节)。ITU-T建议H.26L还允许宏块被组织在一起以便形成称为″slice″(片段)的片。更具体地说,按照编码顺序从多个连续的宏块中形成每个片段,并以这样的方式被编码以使不必参考同一帧的任何其它片段就能够独立地解码它。此方案是有利的,因为它倾向于限制人为现象在可能由于传输差错引起的解码视频中的传播。虽然对于其中可以构成片段的方式没有具体的限制,但是一个简单的方案是把所有的宏块作为一个片段一起归组在一帧的一行中。在图2中说明了这个方案和把一个QCIF格式图像分成16×16个宏块。
正如能够从图2中看到的那样,一个QCIF图像包括11×9个宏块(在这种情况下,每个被归组成为11个连续宏块的9个片段)。如果用8比特分辨率表示辉度块和色度块(其数目在范围0到255内),则每一宏块所需要的比特总数是(16×16×8)+2×(8×8×8)=3072比特。以QCIF格式表示一个图像帧所需的比特数目因此是99×3072=304,128比特。这意味着以QCIF格式发射/记录/显示一个未压缩的视频序列所需要的数据量(以30帧/秒的速率、使用一个YUV颜色模型来表示)大于9Mbps(百万比特/秒)。这是一个很高的数据速率并且由于所需要的极大存储容量、发射信道能力和硬件性能,所以用于在视频记录、发射和显示应用中使用是不切实际的。
如果视频数据要在诸如ISDN(综合业务数字网)或传统PSTN(公用交换电话网)之类的固定线路网上实时发射,则可用数据发射带宽典型的大约为64kbits/s。在移动视频电话中,其中发射至少部分地发生在无线电通信链路上,可用带宽会低至20kbits/s。这意味着必须达到被使用来表示视频数据的信息量中的一个重要降低,以便启动通过低带宽通信网的数字视频序列的传输。由于这个原因,已经开发了在保持一个可接受图像质量的同时减少所发射信息量的视频压缩技术。
视频压缩方法是以减少视频序列中多余的以及感觉不相关的那些部分为基础。视频序列中的冗余度可以被分类为空间、暂时和频谱冗余度。″空间冗余度″是用于描述一帧内邻近像素之间的相关性(相似性)的术语。术语″暂时冗余度″表示出现在一个序列的一帧中的目标可能出现在后续帧中的事实,而″频谱冗余度″是指同一图像的不同颜色分量之间的相关性。
组成数字视频序列的每一帧的像素之间常常有一个显著的空间冗余量。换言之,该序列一帧内的任何像素值基本上与它紧邻的附近地区中的其它像素值相同。典型地,视频编码系统使用一个称为″基于块的转换编码″的技术降低空间冗余度,其中,诸如二维离散余弦转换(DCT)之类的数学转换被应用到图像像素块。这把图像数据从包括像素值的一个表述转换为包括表示空间频率分量的一组系数值的形式。图像数据的这个可选表述较大地降低了空间冗余度并从而产生了图像数据的更压缩表述。
不参考序列内的任何其它帧,使用基于块的转换编码来压缩的一个视频序列的各个帧被称为帧内编码的或I帧。
通常,视频编码系统不但减少视频序列的个体帧内的空间冗余度,而且使用称为″运动补偿预测″的技术来降低序列中的暂时冗余度。使用运动补偿预测,从序列中称为″参考″帧的一个或多个其它帧中″预测″一个数字视频序列中的一些(常常许多)帧的图像内容。通过使用″运动矢量″跟踪要被编码(压缩)的帧和一个或者多个参考帧之间的物体或图像区域的运动来获得图像内容的预测。正如在帧内编码的情况下那样,视频帧的运动补偿预测通常一个宏块一个宏块地执行。
使用运动补偿预测压缩的一个视频序列帧通常被称为帧间编码的或者P帧。运动补偿预测单独很少提供一个视频帧图像内容十分精确的表述,因此通常需要向每一帧间编码帧提供一个称为″预测误差″(PE)帧。预测误差帧表示帧间编码帧的解码形式和要被编码的帧图像内容之间的差值。更具体地说,预测误差帧包括表示在要被编码的帧中的像素值和根据当前帧的预测形式形成的对应重建像素值之间的差值的数值。因此,预测误差帧特性类似于静止图像的特性并且基于块的转换编码能够被应用以便减少它的空间冗余度以及减少因此表示它所需的数据量(比特数)。
为了更详细地说明视频编码系统的操作,现在将参考图3和4。图3是采用帧内和帧间编码组合来产生一个已压缩(已编码)视频比特流的通用视频编码器简图。一个相应的解码器在图4中被说明并稍后将在文本中进行描述。
视频编码器100包括一个输入端101,用于接收来自摄像机或其他视频源(未示出)的数字视频信号。它还包括一个被安排来执行基于块的离散余弦转换(DCT)的转换单元104,一个量化器106,一个反向量化器108,一个被安排来执行反向基于块的离散余弦转换(DDCT)的反转换单元110,合并器112和116,以及一个帧存储器120。编码器还包括一个运动估计器130、一个运动场编码器140和一个运动补偿的预测器150。开关102和114被控制管理器160同操作性地操作来在帧内视频编码模式和帧间视频编码模式之间切换编码器。所述编码器100还包括一个视频多路复用编码器170,它从编码器100产生的各种类型的信息中形成单个比特流,用于进一步发射给一个远程接收终端,或者,例如用于存储在诸如计算机硬盘驱动器(未示出)之类的大容量存储介质上。
编码器100操作如下。从视频源提供到输入端101的每一未压缩视频帧最好按照光栅扫描的顺序被一个宏块一个宏块地处理。当一个新的视频序列编码开始时,要被编码的第一帧被编码为一个帧内编码帧。随后,编码器被编程来以帧间编码格式编码每一帧,除非如下条件之一被满足1)判断正被编码的帧的当前宏块与在它的预测中所使用的参考帧的像素值太不相同而导致产生过大的预测误差信息,在此情况下,按照帧内编码格式编码当前宏块;2)一个预定义帧内帧重复周期已经到期;或3)从一个接收终端收到的反馈指示以帧内编码格式提供一帧的一个请求。
现在将描述编码器100帧内编码模式的操作。在帧内编码模式中,控制管理器160操作开关102接受来自输入线118的视频输入。一个宏块一个宏块地接收视频信号输入,并且组成每个宏块的辉度和色度值块被传到DCT转换块104。在这里,执行一个2维离散余弦转换并且为每一块形成一个2维DCT系数阵列。
每一块的DCT系数被传到量化器106,在此,使用一个量化参数QP来量化它们。量化参数QP的选择经由控制线115由控制管理器160控制。
更详细地,通过用量化参数QP除每一系数值并把结果舍入为最近的整数来执行DCT系数的量化。用这种方式,量化处理产生一组已量化DCT系数值,这组已量化DCT系数值与DCT转换块104最初生成的值相比具有一个更低数值精度。因此,总的来说,每一个已量化DCT系数可以由一个比量化之前表示相应系数所需要的数据比特数目更小的一个数据比特数目来表示。此外,某些DCT系数通过量化处理被降低为零,从而减少了必须被编码的系数数目。这些效果都导致表示一个图像块的DCT系数所需要的数据量(即数据比特)减少。因此,量化提供另外一个机件,通过它,可以减少表示每个视频序列图像所需的数据量。这还引入一个不可逆的信息损失,这导致图像质量的一个相应降低。虽然图像质量中的这个降低也许不总是令人想要的,但是DCT系数值的量化提供了可能性来调整编码视频序列所需要的比特数目,以便考虑例如可用于编码序列发射的带宽或者编码视频的期望质量。更具体地说,通过增加用于量化DCT系数的QP值,会引起一个更低的质量但是可产生一个更加压缩的视频序列表述。反过来,通过减少QP值,可以形成一个更高质量但是更小压缩的编码比特流。
每一块的已量化DCT系数从量化器106传递到视频多路复用编码器170,如图1中线125所示。视频多路复用编码器170使用一个折线扫描程序排序每个块的转换系数,从而把已量化转换系数值组的二维阵列转换成为一维阵列。通常,视频多路复用编码器170接下来用一对数值表示一维阵列中的每个非零量化系数,称为级(level)和游程(run),级是已量化系数数值而游程是所述系数前面的连续零值系数数目。使用熵编码进一步压缩游程和级数值。例如,一个诸如可变长度编码(VLC)之类的方法可用来产生一组表示每个(run,level)对的可变长度码字。
一旦(run,level)对已经被熵(例如可变长度)编码,则视频多路复用编码器170进一步把它们与也被熵编码了的控制信息(例如使用适于这一种所述信息的一种可变长度编码方法)组合,来形成单个压缩的编码图像信息比特流135。它是这样的比特流,包括表示(run,level)对和尤其与用于量化从编码器中发射的DCT系数的量化参数QP关联的控制信息的可变长度码字。
宏块的本地解码形式也在编码器100中形成。这个处理通过传递由量化器106输出的每一块的已量化转换系数、通过反向量化器108并在反转换块110中应用一个反向DCT转换从而来被完成。通过把量化器106中执行的量化操作反转来执行反向量化。更具体地说,反向量化器108尝试通过把每一已量化DCT系数值与量化参数QP相乘来恢复一个给定图像块的原始DCT系数。由于作为量化器106中量化处理的一部分而执行的舍入操作,通常不可能精确地恢复原始DCT系数值。这导致恢复的DCT系数值和由DCT转换块104最初产生的那些DCT系数值之间的一个差异(因此不可逆信息损失是指上述差异)。
由反向量化器108和逆转换块110执行的操作为宏块的每一块产生一个重建像素阵列。结果的解码图像数据被输入到合并器112。在帧内编码模式中,开关114被组以使经由开关114对合并器112的输入为零。用这种方式,合并器112执行的操作与传递未被改变的解码图像数据等效。
当在块104、106、108、110和112中当前帧的后续宏块被接收并受到前述编码和本地解码步骤时,帧内编码帧的解码形式在帧存储器120中被建立。当当前帧的最后一个宏块已经被帧内编码并随后解码时,帧存储器120包含一个完全解码了的帧,可用于作为一个预测参考帧使用在以帧间编码格式编码一个随后接收到的图像帧中。线条122提供指示帧内或帧间编码格式的标记。
现在将描述编码器100的帧间编码模式操作。在帧间编码模式中,控制管理器160操作开关102接收它的来自线117的输入,其包括合并器116的输出。合并器116一个宏块一个宏块地接收来自输入101的视频输入信号。当合并器116接收组成宏块的亮度和色度值块时,它形成相应的预测误差信息块。预测误差信息表示所述块与其在运动补偿预测块150中产生的预测之间的差值。更具体地说,宏块每一块的预测误差信息包括一个二维阵列值,其中每一个表示被编码的辉度或色度信息块中的像素值和根据如下所述的程序通过形成该块运动补偿预测所获得的解码像素值之间的差值。
宏块每一块的预测误差信息被传到DCT转换块104,DCT转换块104对每一块预测误差值执行一个二维离散余弦转换以便为每一块产生DCT转换系数的二维阵列。
每个预测误差块的转换系数被传到量化器106,在量化器106中使用一个量化参数QP以类似上述有关于编码器帧内编码模式操作的方式来量化它们。同样,量化参数QP的选择经由控制线115由控制管理器160控制。预测误差编码的精确度可以根据可用频带和/或编码视频的所需质量来调整。在基于典型离散余弦转换(DCT)的系统中,这通过变化使用于把DCT系数量化到一个特定精确度的量化器参数(QP)来完成。
表示宏块每一块的预测误差信息的已量化DCT系数从量化器106被传递到视频多路复用编码器170,如图1中线125所示。正如在帧内编码模式中那样,视频多路复用编码器170使用一个折线扫描程序排序每一预测误差块的转换系数,然后把每一非零量化系数表示为一个(run,level)对。它还以类似上述有关于帧内编码模式的方式使用熵编码来压缩(run,level)对。视频多路复用编码器170还经由线126从运动场编码块140中接收运动矢量信息(在下面描述)并从控制管理器160中接收控制信息(例如包括已量化参数QP的指示)。它对运动矢量信息和控制信息进行熵编码并形成编码图像信息的单个比特流135,其包括已熵编码的运动矢量、预测误差和控制信息。已量化参数QP的指示,qz,经由线124被提供给多路复用xoswe 170。
表示宏块每一块的预测误差信息的已量化DCT系数还从量化器106被传递给反向量化器108。在这里,它们以类似上述有关于编码器的帧内编码模式操作的方式被反向量化。在帧间编码模式中,通过变化应用到表示预测误差信息的DCT系数上的量化级,可以调整表示视频序列所需要的已编码视频比特流质量和比特数目。
结果的反向已量化DCT系数块被应用到反向DCT转换块110,在此,它们经受反向DCT转换以便产生本地已解码的预测误差值块。本地已解码预测误差值块然后被输入到合并器112。在帧间编码模式中,开关114被设置以使合并器112还接收由运动补偿预测块150生成的宏块每一块的预测像素值。合并器112把每一本地已解码预测误差值块与一个相应的预测像素值块合并来产生重建图像块并把它们存储在帧存储器120中。
当在块104、106、108、110、112中视频信号的后续宏块从视频源中被接收并经受前述编码和解码步骤时,帧的解码形式在帧存储器120中建立。当该帧的最后一个宏块已被处理时,帧存储器120包含一个完全解码了的帧,可用于作为一个预测参考帧使用在以帧间编码格式编码一个随后接收到的图像帧中。
现在将描述当前帧的一个宏块的预测格式。以帧间编码格式编码的任何帧需要一个参考帧用于运动补偿预测。这必定意味着当编码一个视频序列时,要被编码的第一个帧不管它是序列中的第一个帧还是其它帧,则它都必须以帧内编码模式被编码。这反过来意味着当视频编码器100由控制管理器160切换到码间编码模式时,通过对预先编码帧进行本地解码所形成的一个完整参考帧早已可用于编码器的帧存储器120中。总的来说,通过对一个帧内部编码帧或帧间编码帧进行本地解码来形成参考帧。
在形成当前帧的一个宏块的预测时的第一步由运动估计块130执行。运动估计块130接收亮度和色度值块,它们组成经由线128被编码的所述帧的当前宏块。它然后执行一个块匹配运算以便识别参考帧中与当前宏块基本上对应的一个区域。为了执行块匹配运算,运动估计块经由线127访问存储在帧存储器120中的参考帧数据。更具体地说,通过计算差值(例如绝对差值和)(所述差值表示在检查中的宏块和来自存储在帧存储器120中的一个参考帧的最佳匹配像素区域之间的像素值差值),则运动估计块130执行块匹配。为参考帧预定义搜索区域内的所有可能位置处的候选区域产生一个差值,并且运动估计块130确定计算出的最小差值。当前帧中的宏块和产生最小差值的参考帧中的像素值的候选块之间的偏移定义所述宏块的运动矢量。
一旦运动估计块130已经为宏块产生一个运动矢量,则它把运动矢量输出给运动场编码块140。运动场编码块140约等于使用包括一组基础函数和运动系数的一个运动模型而从运动估计块130中收到的运动矢量。更具体地说,运动场编码块140把运动矢量表示为一组运动系数值,当它乘以基础函数时形成运动矢量的一个近似。通常,只有两个运动系数和基础函数的一个平移运动模型被使用,但是也可以使用更复杂的运动模型。
运动系数从运动场编码块140被传送给运动补偿预测块150。运动补偿预测块150还接收由运动估计块130从帧存储器120中识别的像素值的最佳匹配候选区域。使用由运动场编码块140生成的运动矢量的近似表示和来自参考帧的最佳匹配候选区域像素值,则运动补偿预测块150为宏块的每一块生成一个预测像素值阵列。预测像素值的每一块被传到合并器116,在此,在当前宏块的相应块中从实际的(输入)像素值中减去预测像素值,从而形成该宏块的一组预测误差块。
现在将描述如图2所示的视频解码器200的操作。解码器200包括一个视频多路复用解码器270,它接收来自编码器100的一个已编码视频比特流135并把它解复用成为它的组成部分;一个反向量化器210;一个反向DCT转换器220;一个运动补偿预测块240;一个帧存储器250;一个合并器230;一个控制管理器260和一个输出280。
控制管理器260响应于一个帧内或帧间编码帧正被解码而控制解码器200的操作。一个使解码器在解码模式之间切换的帧内/帧间触发器控制信号例如从与从编码器中收到的每一压缩视频帧相关的图片类型信息中导出。帧内/帧间触发器控制信号被视频多路复用解码器270从已编码视频比特流中提取并经由控制线215被传到控制管理器260。
一个宏块一个宏块地执行帧内编码帧的解码。视频多路复用解码器270从与所述宏块有关的可能控制信息中分离出宏块各个块的编码信息。一个帧内编码宏块每一块的编码信息包括可变长度码字,其表示这块的非零量化DCT系数的VLC已编码级和游程值。视频多路复用解码器270使用与使用于编码器100中的编码方法对应的一个可变长度解码方法来解码可变长度码字并从而恢复(run,level)对。它然后为宏块的每一块重建已量化转换系数值阵列并把它们传送给反向量化器210。与宏块有关的任何控制信息还在视频多路复用解码器中利用一个适当的解码方法被解码并被传到控制管理器260。特别地,与应用到转换系数上的量化级有关的信息(即量化参数QP)被视频多路复用解码器270从已编码比特流中提取并经由控制线217提供给控制管理器260。控制管理器接着经由控制线218把这个信息传送给反向量化器210。反向量化器210根据与量化参数QP有关的控制信息为宏块的每一块反向量化已量化DCT系数并把现在已反向量化的DCT系数提供给反向DCT转换器220。由反向量化器210执行的反向量化操作和编码器中的反向量化器108执行的操作相同。
反向DCT转换器220为宏块的每一块对已反向量化DCT系数执行一个反向DCT转换以便形成包括已重建像素值的解码图像信息块。宏块每一块的重建像素值经由合并器230被传递到解码器的视频输出280,在此,它们例如能够被提供到一个显示设备(未示出)。宏块每一块的重建像素值也被存储在帧存储器250中。因为运动补偿预测不使用在帧内编码宏块的编码/解码中,所以控制管理器260如此控制合并器230把像素值的每一块传递到视频输出280和帧存储器250。当帧内编码帧的后续宏块被解码并存储时,一个已解码帧被累进地组合在帧存储器250中并从而变得可用于使用作为一个参考帧,用于与随后接收到的帧间编码帧的解码有关的运动补偿预测。
帧间编码帧也是一个宏块一个宏块地解码。视频多路复用解码器270接收到已编码视频比特流135并从已编码运动矢量信息和与所述宏块有关的可能控制信息中分开帧间编码宏块每一块的已编码预测误差信息。正如上文解释的,宏块每一块的已编码预测误差信息包括可变长度码字,其表示所述预测误差块的非零量化转换系数的级和游程值。视频多路复用解码器270使用与使用于编码器100中的编码方法对应的一个可变长度解码方法来解码可变长度码字并从而恢复(run,level)对。它然后为每个预测误差块重建已量化转换系数值阵列并把它们传送给反向量化器210。与帧间编码宏块有关的任何控制信息还在视频多路复用解码器270中利用一个适当的解码方法被解码并被传到控制管理器260。与应用到预测误差块的转换系数上的量化级有关的信息(QP)从已编码比特流中被提取并经由控制线217提供给控制管理器260。控制管理器接着经由控制线218把这个信息传送给反向量化器210。反向量化器210根据与量化参数QP有关的控制信息反向量化表示宏块每一块的预测误差信息的量化DCT系数并把现在已反向量化的DCT系数提供给反向DCT转换器220。同样,由反向量化器210执行的反向量化操作和编码器中的反向量化器108执行的操作相同。帧内/帧间标记在线215中被提供。
表示每一块的预测误差信息的反向量化DCT系数然后在反向DCT转换器220中被逆转换以便为宏块的每一块产生一个重建预测误差值阵列。
与宏块相关的已编码运动矢量信息被视频多路复用解码器270从已编码视频比特流135中提取并被解码。因此获得的已解码运动矢量信息经由控制线225被传递到运动补偿预测块240,它使用与编码器100中用于编码帧间已编码宏块的模型相同的运动模型来为宏块重建一个运动矢量。重建的运动矢量约等于编码器的运动估计块130最初确定的运动矢量。解码器的运动补偿预测块240使用重建的运动矢量来识别存储在帧存储器250中的一个预测参考帧中的重建像素区域。由重建运动矢量指示的像素区域被用来形成所述宏块的一个预测。更具体地说,通过从参考帧中识别的像素区域中拷贝相应的像素值,运动补偿预测块240为宏块的每一块形成一个像素值阵列。从参考帧中导出的这些像素值块从运动补偿预测块240被传送到合并器230,在此,它们与已解码预测误差信息合并。实际上,每一预测块的像素值被加到反向DCT转换器220输出的相应的重建预测误差值上。用这种方式获得宏块每一块的重建像素值阵列。重建像素值被传到解码器的视频输出280并且还被存储在帧存储器250中。
当帧内编码帧的后续宏块被解码并存储时,一个已解码帧被累进地组合在帧存储器250中并从而变得可用于使用作为一个参考帧,用于其它帧间编码帧的运动补偿预测。
如上所述,典型的视频编码和解码系统(通常被称为视频编解码器)基于运动补偿预测和预测误差编码。通过使用运动信息来分析并编码视频帧和重建图像分段之间的运动从而获得运动补偿预测。预测误差编码被用来编码运动补偿图像分段和原始图像相应分段之间的差值。可以根据可用带宽和编码视频的所需质量来调整预测误差编码的精确度。在一个典型的基于离散余弦转换(DCT)的系统中,这通过改变使用于把DCT系数量化到一个特定精确度上的量化参数(QP)来完成。
应该注意为了保持与编码器同步,解码器必须知道使用于已编码视频序列中的QP精确值。通常,每一片段就发射QP值一次,导致增加了编码该图像所需的比特数目。(正如先前解释的,一个片段包含图像的一部分并相对于其它片段独立地编码,以避免图片内部可能的传输误差增长)。例如,如果单个QP值的编码采用6个比特,并且每一秒发射20个图像(每一个分成10个片段),则QP信息单独消耗1.2kbps。
现有技术解决方案(例如,T.Wiegand的文档″Joint Model Number 1″(Doc.JVT-A003,Joint Video Team(JVT)of ISO/IEC MPEG and ITU-T VCEG,2002年1月)中提出的H.26L视频编码建议)以一个固定或可变长度码独立地编码图片/片段QP参数。如上所述,这导致增加发射比特速率。更具体地说,根据H.26L联合型号1,使用于量化DCT系数值中的量化参数值QP通常在每个图片开始时在已编码比特流中被指示(参见T.Wiegand″Joint Model Number 1″(Doc.JVT-A003,Joint Video Team(JVT)of ISO/IEC MPEG and ITU-T VCEG,2002年1月,3.3.1节))。如果一帧内的宏块被安排成片段,那么也还在该帧的每一片段开始的时候指示QP值(例如在已编码比特流的一个可选片段报头部分中)。在两个情况中,QP值被如此指示或者使用一个适当的可变长度编码方案被编码。如上所述,应该了解这个方案在表示量化参数信息所需比特数目方面很昂贵,尤其是在帧被分成许多片段和/或者可用于已编码视频序列发射的可用带宽很低的情况下更是如此。这在通过无线电通信链路发射已编码视频比特流的运动视频应用中是一个特别重要的问题。在这种情形中,可用于发射已编码视频比特流的带宽可能低至20kbits/s并且包括在比特流中的QP信息可能代表了整个可用带宽的一个重要比例。
此外,根据H.26L,通过把一个量化器变化参数(Dquant)插入在表示所述宏块的已编码比特流部分中,则QP值在宏块级处可以任意变化(参见T.Wiegand″Joint Model Number 1″,Doc.JVT-A003,Joint Video Team(JVT)ofISO/IEC MPEG and ITU-T VCEG,2002年1月,3.4.7节)。这导致已编码比特流中投入到QP相关信息指示中的信息量的进一步增加。
据前所述,应该明白很需要一种用于指示与视频编码系统中的量化参数值有关的信息的改良机件。

发明内容
本发明通过引入一个序列级改善了用于指示QP相关信息的现有技术解决方案。这允许编码器应用决定使用于图片/片段QP编码中的视频序列相关参考QP。现在,根据本发明,代替编码图片/片段QP的绝对值,只编码参考序列QP和实际使用的图片/片段QP之间的差值就足够了。用这种方式,不需要为每一图片/片段都发射一个完整的QP,而是一个在统计上较小的差值值被发射并用于重建图片/片段QP,因此导致发射比特速率降低。
在QP恒定的情况下比特速率节省最明显。在这种情况下,每一片段只发送一个比特来指示当解码该片段时该序列QP要被使用就足够了。例如,在先前所述的示例中,QP的比特速率从1.2kbps降低到0.2kbps(代替每一片段发送六个比特,现在只需要发送一个比特)。
根据本发明的第一方面,提供一种编码数字视频序列的方法,所述方法在视频编码应用中被应用来产生一个表示数字视频序列的已编码视频比特流。数字视频序列包括若干帧并且被分成多个块,其中所述序列的每一帧包括一个像素阵列,每一块包括某一数量的像素。所述方法包括通过把运动补偿的预测应用到像素块来编码数字视频序列帧,从而产生相应的预测误差值块。一个转换编码技术被应用到所述预测误差值块以便产生表示所述预测误差值块的转换系数值组并且一个量化级被应用到所述转换系数值组以便产生已量化转换系数值组。根据本发明,所述方法还包括定义一个缺省量化级,所述缺省量化级在整个数字视频序列编码过程中被使用来量化转换系数值组。
有利地,根据本发明第一方面的方法还被用于以类似上述用于指示用于量化表示按照帧间编码模式编码的帧所产生的预测误差值的转换系数值组的量化参数值的方式,来指示用于量化表示为按照帧内编码模式编码的帧所产生的像素值块的转换系数值组的量化参数(QP)值。
有利地,在整个数字视频序列编码过程中被使用的缺省量化级对已编码视频序列是特定的。可替代地,缺省量化级对视频编码应用是特定的。
优选地,在整个数字视频序列编码过程中被使用的缺省量化级的指示被提供。更优选地,一个缺省量化级指示提供于表示数字视频序列的编码比特流中。有利地,包括在整个数字视频序列编码过程中被使用的缺省量化级指示在内的编码比特流被发射给一个视频解码设备。
有利地,在整个数字视频序列编码过程中被使用来量化转换系数值组的缺省量化级在数字视频序列编码期间可以被更新并且表示已更新缺省量化级的另外一个指示被提供。
优选地,已更新缺省量化级的指示有利地在表示数字视频序列的已编码比特流中被发射给一个视频解码设备。
有利地,应用到所述转换系数值组的量化级可以如此调整以使应用到转换系数值组的实际量化级不同于在整个数字视频序列编码过程中被使用的缺省量化级。优选地,被应用的实际量化级被表示为相对于缺省量化级的一个差值。有利地,相对于缺省量化级的差值的一个指示被提供于表示数字视频序列的编码比特流中。
在根据本发明第一方面的视频编码方法实施例中,应用到转换系数值组的量化级可以从该数字视频序列的一帧调整到另一帧以使应用到该数字视频序列特定帧的转换系数组的实际量化级不同于在整个数字视频序列编码过程中被使用的缺省量化级。有利地,在本实施例中,使用于该特定帧中的实际量化级被表示为相对于缺省量化级的一个差值并且相对于缺省量化级的差值的一个指示被提供于表示该数字视频序列的编码比特流中。
在根据本发明第一方面的视频编码方法的一个替换实施例中,把该数字视频序列的一帧划分成多个块,所述多个块被归组成一个或多个分段并且应用到所述转换系数值组的量化级可以从一帧的一个分段调整到另一分段以使应用到一帧的一个特定分段的转换系数值组的实际量化级不同于在整个数字视频序列编码过程中被使用的缺省量化级。有利地,在替换实施例中,使用于该特定分段中的实际量化级被表示为相对于缺省量化级的一个差值并且相对于缺省量化级的差值的一个指示被提供于表示该数字视频序列的编码比特流中。
有利地,如果缺省量化级要被用来量化在数字视频序列各处的所有转换系数值组,一个缺省量化级指示和另外一个指示一起被提供,所述另外一个指示表示所述缺省级要被用来量化在数字视频序列各处的所有转换系数值组。
根据本发明的第二方面,提供一种解码一个已编码数字视频序列的方法,该方法在一个视频解码应用中被应用来产生一个已解码数字视频序列。数字视频序列包括若干帧并且被分成多个块,其中所述序列的每一帧包括一个像素阵列,每一块包括某一数量的像素,通过把运动补偿预测应用到像素块来产生相应的预测误差值块以及把一个转换编码技术应用到所述预测误差值块以便产生表示所述预测误差值块的转换系数值组并且把一个量化级应用到所述转换系数值组以便产生表示所述预测误差值块的已量化转换系数值组,从而来编码该数字视频序列帧。根据本发明,所述解码方法还包括定义一个缺省反向量化级,所述缺省量化级在整个数字视频序列解码过程中被使用来反向量化所述已量化转换系数值组。
有利地,所述缺省反向量化级和在视频序列编码期间用于量化转换系数值组的缺省量化级相同。
有利地,所定义的在整个已编码数字视频序列的解码过程中被使用的缺省反向量化级对被解码的已编码视频序列是特定的。可替代地,缺省反向量化级对视频解码应用是特定的。
有利地,所述解码方法包括优选地从表示已编码数字视频序列的一个比特流中重现所述缺省反向量化级的一个指示。
有利地,所述缺省反向量化级可以在数字视频序列的解码期间被更新。优选地,响应于从表示已编码数字视频序列的一个比特流中重现的、在视频序列的编码期间使用的一个已更新缺省量化级指示来执行缺省反向量化级的更新。可替代地,响应于从一个视频编码设备中发射的、在视频序列的编码期间使用的一个已更新缺省量化级指示来执行缺省反向量化级的更新。
有利地,应用到已量化转换系数值组的反向量化级可以如此调整以使应用到已量化转换系数值组的一个实际反向量化级不同于在整个已编码数字视频序列的解码过程中被使用的缺省反向量化级。在这种情况下,通过把一个差值加到缺省反向量化级上来确定实际反向量化级,该差值表示缺省反向量化级和被应用的实际反向量化级之间的差值。优选地,从表示已编码数字视频序列的一个比特流中重现一个差值指示。
在根据本发明第二方面的视频解码方法实施例中,应用到已量化转换系数值组的反向量化级可以从该数字视频序列的一帧调整到另一帧以使应用到该数字视频序列一个特定帧的已量化转换系数组的实际反向量化级不同于在整个数字视频序列解码过程中被使用的缺省反向量化级。有利地,在本实施例中,通过把一个帧特定的差值加到缺省反向量化级来确定被使用于特定帧中的实际反向量化级,所述帧特定的差值表示缺省反向量化级和使用于该特定帧中的实际反向量化级之间的差值。优选地,从表示已编码数字视频序列的一个比特流中重现所述帧特定的差值的一个指示。
在根据本发明第二方面的视频解码方法的一个替换实施例中,把所述数字视频序列的一帧划分成多个块,所述多个块被归组成一个或多个分段并且应用到所述已量化转换系数值组的反向量化级可以从一帧的一个分段调整到另一分段以使应用到一帧的一个特定分段的已量化转换系数值组的实际反向量化级不同于在整个数字视频序列解码过程中被使用的缺省反向量化级。有利地,在替换实施例中,通过把一个分段特定的差值加到缺省反向量化级来确定被使用于特定分段中的实际反向量化级,所述分段特定的差值表示缺省反向量化级和使用于该特定分段中的实际反向量化级之间的差值。优选地,从表示已编码数字视频序列的一个比特流中重现该分段特定的差值的一个指示。
根据本发明第三方面,提供一个用于编码数字视频序列以便产生一个表示该数字视频序列的已编码视频比特流的编码器,其中该数字视频序列包括若干帧,序列的每一帧包括一个像素阵列并被分成多块,每一块包括某一数目的像素。根据本发明第三方面的视频编码器被安排来通过把运动补偿预测应用到像素块从而产生相应的预测误差值块,来编码该数字视频序列的一帧。这还被安排来把一个转换编码技术应用到所述预测误差值块以便产生表示所述预测误差值块的转换系数值组并且把一个量化级应用到所述转换系数值组以便产生已量化转换系数值组。根据本发明,视频编码器还被安排来定义一个缺省量化级,所述缺省量化级在整个数字视频序列编码过程中被使用来量化转换系数值组。
有利地,根据本发明第三方面的编码器还被安排来以类似述安排于指示安排于量化表示按照帧间编码模式编码的帧所产生的预测误差值的转换系数值组的量化参数值的方式,来指示安排于量化表示为按照帧内编码模式编码的帧所产生的像素值块的转换系数值组的量化参数(QP)值。
有利地,被视频编码器定义的缺省量化级对已编码视频序列是特定的。
有利地,视频编码器还被安排来在表示数字视频序列的一个比特流中提供所述缺省量化级的一个指示。更有利地,它被安排来发射已编码比特流给一个相应的视频解码器。
有利地,视频编码器还被安排来在数字视频序列编码期间更新缺省量化级并且被安排来提供已更新缺省量化级的一个指示。优选地,编码器还被安排来发射已更新缺省量化级指示给一个相应的视频解码器。有利地,编码器把已更新缺省量化级指示包括在表示数字视频序列的编码比特流中。
优选地,视频编码器还被安排来调整应用到转换系数值组的量化级并从而被安排来把不同于缺省量化级的一个实际量化级应用到转换系数值组。优选地,视频编码器还进一步被安排来把实际量化级表示为相对于缺省量化级的一个差值并且把相对于缺省量化级的差值指示提供在表示数字视频序列的编码比特流中。
在一个实施例中,根据本发明第三方面的视频编码器被安排来把应用到转换系数值组的量化级从该数字视频序列的一帧调整到另一帧。用这种方式,它被安排来把与在整个数字视频序列编码过程中被使用的缺省量化级不同的一个实际量化级应用到一个特定帧的转换系数组。有利地,根据本实施例的视频编码器还被安排来把使用于该特定帧中的实际量化级表示为相对于缺省量化级的一个差值并且把相对于缺省量化级的差值指示提供在表示数字视频序列的编码比特流中。
在一个替换实施例中,根据本发明第三方面的视频编码器还被安排来把该数字视频序列的一帧所分成的多个块归组为一个或多个分段并且把应用到该转换系数值组上的量化级从一帧的一个分段调整到另外一个分段。用这种方式,视频编码器被安排来把与在整个数字视频序列编码过程中被使用的缺省量化级不同的一个实际量化级应用到一帧的一个特定分段的转换系数组。有利地,根据替换实施例的视频编码器还被安排来把使用于该特定分段中的实际量化级表示为相对于缺省量化级的一个差值并且把相对于缺省量化级的差值指示提供在表示数字视频序列的编码比特流中。
在一个特定实施例中,视频编码器被安排来提供一个缺省量化级指示和一个缺省级被用来量化数字视频序列各处所有转换系数值组的指示。
有利地,根据本发明第三方面的视频编码器被提供于一个多媒体终端中。更优选地,它被实现在一个无线电信设备中。
根据本发明的第四方面,提供一种解码一个已编码数字视频序列以便产生一个已解码视频比特流的解码器。数字视频序列包括若干帧并且被分成多个块,其中所述序列的每一帧包括一个像素阵列,每一块包括某一数量的像素,通过把运动补偿预测应用到像素块来产生相应的预测误差值块以及把一个转换编码技术应用到所述预测误差值块以便产生表示所述预测误差值块的转换系数值组并且把一个量化级应用到所述转换系数值组以便产生表示所述预测误差值块的已量化转换系数值组,从而来编码该数字视频序列的一帧。根据本发明,视频解码器还被安排来定义一个缺省反向量化级,所述缺省反向量化级在整个数字视频序列解码过程中被使用来反向量化已量化转换系数值组。
优选地,所述缺省反向量化级和在视频序列编码期间用于量化转换系数值组的缺省量化级相同。
有利地,所定义的在整个已编码数字视频序列的解码过程中被使用的缺省反向量化级对被解码的已编码视频序列是特定的。
有利地,所述视频解码器被安排来从表示已编码数字视频序列的一个比特流中重现所述缺省反向量化级的一个指示。
有利地,视频解码器被安排来优选地通过从表示已编码数字视频序列的一个比特流中重现已更新缺省量化级的一个指示,来在数字视频序列解码期间更新缺省反向量化级。可替代地,视频解码器被安排来接收从视频编码设备中发射的一个已更新缺省量化级指示。
优选地,视频解码器被安排来调整应用到已量化转换系数值组的反向量化级并且被安排来把不同于缺省反向量化级的一个实际反向量化级应用到已量化转换系数值组。有利地,解码器被安排来通过把一个差值加到缺省反向量化级来确定实际反向量化的,该差值表示缺省反向量化级和被应用的实际反向量化级之间的差值。有利地,所述视频解码器被安排来从表示已编码数字视频序列的一个比特流中重现所述差值的一个指示。
在一个实施例中,根据本发明第四方面的一个视频解码器被安排来把应用到已量化转换系数值组的反向量化级从该数字视频序列的一帧调整到另一帧并且被安排来把一个与在整个已编码数字视频序列的解码过程中被使用的缺省反向量化级不同的实际反向量化级应用到该数字视频序列的一个特定帧的已量化转换系数组。有利地,该解码器被安排来通过把一个帧特定的差值加到缺省反向量化级来确定被使用于该特定帧中的实际反向量化级,所述帧特定的差值表示缺省反向量化级和被使用于特定帧中的实际反向量化级之间的差值。优选地,所述视频解码器被安排来从表示已编码数字视频序列的一个比特流中重现所述帧特定的差值的一个指示。
在一个替换实施例中,根据本发明第四方面的视频解码器被安排来解码一个编码视频序列,其中所述数字视频序列的一帧被划分成多个块,所述多个块被归组成一个或多个分段,并且视频解码器还被安排来把应用到已量化转换系数值组的反向量化级从一帧的一个分段调整到另一分段并且把与在整个已编码数字视频序列的解码过程中被使用的缺省反向量化级不同的一个实际反向量化级应用到一帧的一个特定分段的已量化转换系数组。优选地,该解码器被安排来通过把一个分段特定的差值加到缺省反向量化级来确定被使用于该特定分段中的实际反向量化级,所述分段特定的差值表示缺省反向量化级和被使用于特定分段中的实际反向量化级之间的差值。优选地,所述视频解码器被安排来从表示已编码数字视频序列的一个比特流中重现所述分段特定的差值的一个指示。
根据本发明的第五方面,提供一个包括根据本发明第三方面的编码器的多媒体终端。
根据本发明的第六方面,提供一个包括根据本发明第四方面的解码器的多媒体终端。
优选地,根据本发明第五和/或第六方面的多媒体终端是一个被安排来利用无线电连接与移动电信网通信的移动多媒体终端。


图1说明了根据现有技术的一个16×16宏块格式。
图2说明了一个QCIF图片细分成16×16宏块并且把连续的宏块归组成片段。
图3是根据现有技术的一个通用视频编码器的示意框图。
图4是根据现有技术并对应于如图3所示编码器的一个通用视频解码器的示意框图。
图5是根据本发明实施例的一个视频编码器的示意框图。
图6是根据本发明实施例并对应于如图5所示编码器的一个视频解码器的示意框图。
图7说明了根据本发明一个可能实施例的解码过程。通过把序列QP(SQP)加到片段特定的差值QP值(ΔQPn)上来获得每一片段的量化参数(QP)。
图8是其中可以执行根据本发明的方法的一个多媒体通信终端示意框图。
具体实施例方式
在本发明的一个优选实施例中,一个视频序列特定的量化参数(QP)被发射并且当编码和解码实际图片/片段量化参数时被使用作为一个参考。用这种方式,不需要为每一图片/片段都发射一个完整的QP,而是一个在统计上较小的差值值被发射并用于重建图片/片段QP,因此导致发射比特速率降低。
现在将参考图5到8描述本发明的实施例。
图5是根据本发明优选实施例实现的一个视频编码器600的示意框图。如图5所示的视频编码器的结构基本上和图3中说明的现有技术的视频编码器结构相同,只是对编码器执行与使用于视频编码过程中的DCT转换系数的量化和量化参数(QP)值信令有关操作的那些部分做了适当修改。视频编码器中以与前述现有技术的视频编码器相同的方式执行功能和进行操作的所有那些部分用完全相同的附图标记来标识。因为本发明尤其涉及片段级或帧级的量化参数(QP)值的信令,因此在如下描述中将假设根据本发明优选实施例的视频编码器600特别适用于应用一种视频编码方法,其中该方法要被编码的一个视频序列的各个帧被分成宏块并且宏块进一步被归组成片段,量化参数指示在每一帧开始的时候以及在一帧内在每一新片段开始的时候被提供。这样一个视频编码方法示例是先前引用的ITU-TH.26L视频编码建议,正如T.Wiegand的″JointModel Number 1″(Doc.JVT-A003,Joint Video Team(JVI)of ISO/IEC MPEG andITU-T VCEG,2002年1月)中所述。可替代地,该方法可以被应用在视频编码系统中,其中量化参数指示只在一帧开始的时候被给出。虽然如下详细说明被特别编写来说明根据本发明的方法在片段级量化的指示和信令中的应用,但是应该理解该方法可以以一个完全类似的方式应用到帧(图片)级量化参数的表述中。
现在将详细地考虑视频编码器600的操作。当编码一个数字视频序列时,编码器600以类似于先前有关于图3所述方式操作来生成帧内编码和帧间编码压缩的视频帧。正如早先在正文中解释的,在帧内编码模式中,一个离散余弦转换(DCT)被应用到图像数据(像素值)的每一块以便产生一个相应的转换系数值二维阵列。在转换块104中执行DCT操作并且从而产生的系数随后被传到量化器106,它们在那里被量化。在帧间编码模式中,在块104中执行的DCT转换被应用到预测误差值块。作为此操作的结果而产生的转换系数还被传到量化器106,它们也在此被量化。
根据本发明,当开始编码一个新的视频序列时,编码器600确定在整个数字视频序列编码过程中被使用的缺省或参考量化级以便量化在量化器106中生成的DCT系数值。在整个如下描述中,此缺省或参考量化级将被称为一个″序列级量化参数″或简称SQP。为一个给定视频序列选择一个SQP由控制管理器660控制,并且例如可以基于要被编码的序列的属性以及发射编码器产生的编码比特流的可用带宽的考虑。
在本发明的优选实施例中,编码器600把SQP确定为当操作在帧间编码模式时(即当在转换块104中生成的DCT系数表示预测误差值时的情形中)要使用的缺省或参考量化级。应该理解根据本发明的方法还可以被应用到在不利用空间预测的传统帧内编码模式中产生的DCT系数值的量化中。可是,给定帧内和帧间编码模式中不同的转换系数起源(在帧内编码模式中产生的DCT系数从像素值中导出,而在帧间编码模式中生成的那些系数通过把一个DCT转换应用到预测误差值来产生),未必能够确定在帧内和帧间编码模式中对于DCT系数的量化都最佳的单个SQP值。因此,在根据本发明的方法被使用于帧内和帧间编码模式中的实施例中,优选地使用两个SQP值,一个提供帧内编码模式中QP值信息的最有效表述,另外一个提供在帧间编码期间使用的QP值的最有效表述。在所有其它方面中,根据本发明的方法可以以完全类似的方法被应用在帧内和帧间编码模式中。当然,在一个替换实施例中,单个SQP值可以被定义并被使用作为帧内和帧间编码模式两者的序列级量化参数。这是一个实用的方法,特别是在诸如T.Wiegand的″Joint Model Number 1″(Doc.JVT-A003,Joint Video Team(JVT)of ISO/IEC MPEG and ITU-T VCEG,2002年1月)中所述系统之类的现代视频编码系统中更是如此,其中空间预测在用DCT编码帧内预测误差之前被应用到帧内编码的宏块。
还应当指出因为一个典型视频序列中的大多数帧被编码为帧间帧,所以通过把根据本发明的方法应用到帧间编码模式中的QP值表述,实现了比特速率的最大节省。因此,在本发明的优选实施例中,单个SQP值被使用,这个值表示一个缺省或参考量化值,它被使用于量化表示在帧间编码模式中的预测误差值的DCT系数中。
已经确定被用于该序列的SQP值,则控制管理器660经由控制线122提供选定SQP值的一个指示给视频多路复用编码器670,视频多路复用编码器670接着把该SQP值的一个指示插入到表示视频序列的编码图像信息的比特流635中。优选地,这个指示被提供于编码视频比特流635的序列报头部分中。
视频编码器600然后开始编码该视频序列。正如结合图3中说明的现有技术视频编码器100的说明所解释的,序列要被编码的第一帧按照帧内格式被编码。因为根据本发明优选实施例定义的SQP值对在帧间编码模式中产生DCT系数值的量化来说是特定的,所以编码器600在帧内编码模式中的操作完全类似于现有技术视频编码器的操作并且将不在这里进一步详细考虑。
一旦第一帧编码完成,则控制管理器660把视频编码器切换到帧间编码模式中。在帧间编码模式中,开关102操作来接收它来自线117的输入,该输入包括合并器116的输出。合并器116一个宏块一个宏块地接收来自输入101的视频输入信号并为宏块的每一块形成一个预测误差信息块。每一块的预测误差信息被传到DCT转换器104,DCT转换器104对预测误差值的每一块执行一个二维离散余弦转换以便为所述块产生一个DCT转换系数二维阵列。每一预测误差块的转换系数然后被传到量化器106,正如先前所述,它们在那里利用一个量化参数QP被量化。帧间编码处理的其余部分正如先前有关于现有技术的视频编码器100所述的那样继续。
当每个宏块被接收时,控制管理器660确定当前被处理的宏块是否是一个片段的第一宏块。如果是,则控制管理器确定一个量化参数值QP要被使用于量化DCT转换器104中生成的DCT系数值中。应该注意基于为该帧所允许的比特预算、在前一片段或同一帧中早已消耗的比特、以及可能在前一帧中的片段所消耗的比特,则关于QP做出判断是可能的。完成这之后,控制管理器660确定先前定义的序列级量化参数值SQP和被用于所述片段的实际QP值之间的差值(ΔQP)。然后它经由控制线624把这个差值的指示传送给视频多路复用编码器670,视频多路复用编码器670在比特流635中还包括该差值ΔQP的一个指示。优选地,这个指示被提供于编码视频比特流635的片段报头部分中,该已编码视频比特流635包含所述片段特定的控制信息。此过程被重复直到当前帧的所有片段都已经被以帧间编码格式编码为止,在此,视频编码器开始编码视频序列的下一帧。
现在将参考图6描述根据本发明优选实施例实现的一个视频解码器700。图6中说明的视频解码器的结构基本上和如图4所示现有技术视频编码器的结构相同,只是对解码器执行与DCT转换系数的反向量化有关操作的那些部分做了适当的修改。视频解码器中以与前述现有技术的视频解码器相同的方式执行功能和进行操作的所有那些部分用完全相同的附图标记来标识。
在这里假设图6的视频解码器对应于结合图5描述的编码器并因此能够接收并解码编码器600发射的比特流635。正如先前所述,在本发明的优选实施例中,编码器600确定使用于帧间编码模式中的序列级量化参数SQP。相应地,解码器700适用于接收这个SQP值的一个指示并把序列级量化参数SQP使用在反向量化参数的确定中以便被应用到帧间编码帧的编码比特流中接收到的已量化转换系数值块(表示预测误差值)。在本发明的一个替换实施例中,相同的处理还可以被应用到从帧内编码帧的比特流中提取的已量化转换系数值。正如上面解释的,在这个替换实施例中,可以提供两个SQP值的一个指示,一个用于该序列的帧内编码帧而一个用于帧间编码。在另外一个替换实施例中,可以为在帧内和帧间编码模式中编码的各个帧指示单个序列级量化参数。
现在将详细描述根据本发明优选实施例的视频解码器的操作。解码器700接收比特流635并把它分离到它的组成部分中。此操作由视频多路复用解码器770执行。
当开始解码一个新的序列时,视频多路复用解码器770首先从接收到的比特流635的序列报头部分中提取作为一个整体与该序列有关的信息和参数。正如上面有关于编码器600的描述所解释的,根据本发明的优选实施例,比特流的序列报头部分被修改来包含使用于帧间编码模式中产生的DCT系数值的量化中的序列级量化参数SQP的一个指示。视频多路复用解码器从比特流中提取SQP值的指示,并且如果它被编码,例如使用可变长度编码被编码,则应用适当的解码来恢复该SQP值。它然后把SQP值传送给解码器的控制管理器760,其把它存储在解码器的存储器中。
视频解码器700然后开始解码视频序列的编码帧,视频解码器一开始接收与视频比特流635中的帧有关的信息,则每一帧的解码就开始。视频多路复用解码器770从与编码比特流635中接收到的每一压缩视频帧相关的图片类型信息中提取一个帧内/帧间触发器控制信号。控制管理器760响应于帧内/帧间触发器控制信号来控制解码器操作,使得把解码器切换到正确的解码模式中。
在本发明优选实施例中,以帧内格式编码的帧的解码以类似上述有关于现有技术视频解码器200的操作所述的方式被执行。另一方面,以帧间格式编码的帧的解码如下所述继续。
当它接收到视频多路复用解码器770从接收比特流中提取的一个指示(所述指示指示出要被解码的下一帧是一个帧间编码帧)时,控制管理器760把解码器700切换到帧间模式。正如结合编码器600的描述所解释的,根据本发明的优选实施例,其中每一帧的宏块被归组成片段,编码比特流635包括某些片段特定的控制信息,它包括片段特定的QP值的指示,其被表示为相对于序列级量化参数SQP的一个差值ΔQP。有利地,与每一片段特别相关的控制信息作为所述片段特定的一个报头部分被提供于比特流中。在接收这样一个比特流部分时,视频多路复用解码器从比特流的片段报头部分中提取片段特定的控制信息并把从比特流中重现的片段的ΔQP指示经由控制线717传送到控制管理器760。
接下来,控制管理器760确定被应用到片段中宏块的已量化DCT系数上的反向量化级。这通过把片段的ΔQP与预先接收并存储在解码器存储器中的序列特定的量化参数SQP合并来完成。正如早先在文本中所述的,在解码器中执行的反向量化操作涉及把每一已量化DCT系数乘以一个等于最初应用的量化级的值,即,乘以使用于相应编码器中以便量化DCT系数的QP值。因此,根据本发明的优选实施例,控制管理器760通过把接收到的片段的ΔQP值加到SQP上来确定片段的宏块的反向量化级。它然后把这个值经由控制线218传送给反向量化器210。
当片段每一宏块的编码信息在比特流635中被接收时,视频多路复用解码器770从编码运动矢量信息中分离宏块每一块的编码预测误差信息。它重建表示每一块的预测误差值的已量化DCT转换系数并把它们传送给反向量化器210。反向量化器210然后根据由控制管理器760的ΔQP和SQP值构成的片段QP来反向量化已量化DCT系数。它然后提供反向已量化DCT系数给反向DCT转换器220。解码过程的其余部分如先前结合现有技术视频解码器200所述的那样继续。
为该帧的每一片段重复接收一个片段特定的ΔQP值、合并ΔQP与SQP并为片段内的宏块的每一块反向量化已量化DCT系数的这些步骤,直到当前帧间编码帧的所有片段都已经被解码为止。此时,视频编码器700开始解码已编码视频序列的下一帧。
图7说明了根据本发明优选实施例重建片段特定的QP值的方法。正如从这张图中可以看见的,该过程包括如下步骤1.重现一个序列级量化参数(SQP);2.重现一个图片或片段级差值量化参数(ΔQP);3.把差值量化参数加到序列级量化参数以便获得一个图片或片段的量化参数;4.利用所述图片或片段量化参数构造接收到的预测误差编码系数。
图8提供了一个终端设备,它包括可以适用于根据本发明操作的视频编码和解码设备。更准确的说,这张图说明了根据ITU-T建议H.324实现的一个多媒体终端80。该终端可以被认为是一个多媒体收发信机设备。它包含捕获、编码并多路复用经由通信网用于发射的多媒体数据流的元件,以及接收、解复用、解码和显示接收到的多媒体内容的元件。ITU-T建议H.324定义终端的总体操作并且引用管理它各种组成部分操作的其它建议。这种多媒体终端可被用于诸如会话视频电话之类的实时应用中或者诸如从互联网的一个多媒体内容服务器中重现和/或流动视频片之类的非实时应用中。
在本发明环境中,应该理解如图8所示的H.324终端只是适于本发明方法应用的若干备用多媒体终端实施中的一个。应当指出与终端设备的位置和实施有关的若干备用方案存在。正如图8中说明的,多媒体终端可以位于连接到诸如模拟PSTN(公用交换电话网)之类的一个固定有线电话网上的通信设备中。在这种情况下,多媒体终端具有符合ITU-T建议V.8、V.34以及可选地符合V.8bis的调制解调器91。可替代地,多媒体终端可以连接到一个外部调制解调器。调制解调器启动由多媒体终端产生的多路复用数字数据和控制信号到适合于通过PSTN发射的一种模拟形式的转换。它还使多媒体终端按照模拟形式从PSTN中接收数据和控制信号并把它们转换成为能够被终端以一个适当的方式解复用并处理的一个数据数据流。
也可以以这样的方式实现一个H.324多媒体终端以使它能够直接连接到一个诸如ISDN(综合业务数字网)之类的数字固定线路网。在这种情况下,调制解调器91被替换为ISDN用户网络接口。在图8中,这个ISDN用户网络接口由备用块92表示。
H.324多媒体终端还可能适于使用在移动通信应用中。如果用一个无线通信链路使用,调制解调器91能够被替换为图8中由备用块93表示的任何适当的无线接口。例如,一个H.324/M多媒体终端可以包括允许连接到当前第二代GSM移动电话网络或已建议的第三代UMTS(通用移动电话系统)的一个无线电收发信机。
应该注意在为双向通信设计的多媒体数据中,即用于视频数据的发射和接收,有利的是提供根据本发明实现的视频编码器和视频解码器。这样一个编码器和解码器对常常被实现为单个组合的功能单元,被称为一个″编解码器″。
现在将参考图8进一步详细描述一个典型H.324多媒体终端。
多媒体终端80包括被称为″终端设备″的各种元件。这包括属类上分别由附图标记81、82和83表示的视频、音频和信息通信设备。电视设备81例如可以包括用于捕获视频图像的摄像机,用于显示接收视频内容的显示器以及可选的视频处理设备。音频设备82通常包括例如用于捕获口头讲的消息的送话器和用于再现收到的音频内容的扬声器。音频设备还可以包括附加的音频处理单元。信息通信设备83包括可以数据终端、键盘、电子白板或诸如传真单元之类的静止图像收发信机。
电视设备81耦合到电视编解码器85。电视编解码器85包括根据本发明实现的视频编码器600和相应的视频解码器700(参见图5和6)。视频编解码器85负责以一个适当的形式编码捕获到的视频数据用于通过通信链路进一步发射并解码从通信网中收到的压缩视频内容。在图8中说明的示例中,根据ITU-T建议H.26L实现该视频编解码器,只是把根据本发明的方法实现在视频编解码器的编码器和解码器中做了适当修改。
终端的音频设备耦合到图8中由附图标记86表示的一个音频编解码器上。像视频编解码器那样,音频编解码器包括一个编码器/解码器对。它把终端音频设备捕获的音频数据转换成一种适合于通过通信链路发射的形式并把从网络中收到的已编码音频数据转换回适合于一种例如在终端扬声器上再现的形式。音频编解码器的输出被传到延迟块87。这补偿了视频编码过程引入的延迟并从而确保音频和视频内容的同步。
多媒体终端的系统控制块84使用一个适当的控制协议(信令块88)控制终端到网络的信令以便在发射和接收终端之间建立一个公共操作模式。信令块88交换关于发射和接收终端的编码和解码性能的信息并可用于启动视频编码器的各种编码模式。系统控制块84还控制数据加密的使用。关于使用于数据发射中的加密类型的信息从加密块89传送到多路复用器/去多路复用器(MUX/DMUX单元)90。
在多媒体终端的数据发射期间,MUX/DMUX单元90把已编码已同步的视频和音频流与来自信息通信设备83中的数据输入以及可能的控制数据合并,以便形成单个比特流。关于由加密块89提供的被应用到比特流上的数据加密类型(如果有)的信息被用来选择一个加密模式。相应地,当一个已多路复用并可能已加密的多媒体比特流正在被接收时,MUX/DMUX单元90负责解密比特流,把它划分成它的组成多媒体分量并把那些分量传送到适当的编解码器(组)和/或终端设备用于解码和再现。
如果多媒体终端80是一个移动终端,即,如果它具有无线电收发信机93,则本领域技术人员应该理解它还可能包括附加的元件。在一个实施例中,它包括具有显示器和键盘的用户接口,其启动用户对多媒体终端80的操作;一个诸如微处理器之类的中央处理单元,它控制负责多媒体终端不同功能的各个块;一个随机访问存储器RAM;一个只读存储器ROM和一个数字照相机。微处理器的操作指令是对应于多媒体终端80的基本功能的程序代码,被存储在只读存储器ROM中并能够在微处理器需要时(例如在用户的控制之下)被执行,根据该程序代码,微处理器使用无线电收发信机93来与移动通信网络形成一个连接,启动多媒体终端80通过一条无线电路径发射信息给移动通信网络并从移动通信网络接收信息。
微处理器监控用户接口的状态并控制数字照相机。响应于用户命令,微处理器命令照相机记录数字图像到RAM中。一旦一个图像被捕获,或者在捕获过程期间,微处理器把图像分段成图像分段(例如宏块)并使用编码器执行分段的运动补偿编码以便生成一个压缩图像序列,如上述说明书中所解释。用户可以命令多媒体终端80在它的显示器上显示捕获的图像或者使用无线电收发信机93把压缩图像序列发送给另一多媒体终端、连接到固定线路网(PSTN)的一个可视电话或者其它电信设备。在一个优选实施例中,第一分段一被编码就开始图像数据的传输以使接收者可以以最小延迟开始一个相应的解码过程。
虽然在特定实施例的环境中进行了描述,但是对本领域技术人员来说很显然可以对这些教义进行许多修改和各种变化。因此,虽然已经相对于本发明的一个或多个优选实施例特别示出并描述了本发明,但是本领域技术人员应该理解不偏离上面阐明的本发明的范围和精神,可以进行某些修改或变化。
特别地,根据本发明的第二可能实施例,不发射一个序列QP,而是改为把一个应用特定的常数使用作为序列QP。
在本发明的第三可能实施例中,如果一种发射新序列QP的可靠方法可用,则取决于视频序列的变更特性,可以更新序列QP。更新了的SQP值可以被包括在表示视频序列的已编码比特流中或者能够在一个相关的控制信道中直接从编码器发射到解码器。
在本发明的第四可能实施例中,如果QP对于整个视频序列是常数,则只有序列QP值和一个信息一起被发射,所述信息表示它应该被使用作为所有图片/片段的QP。
权利要求
1.一种对用在视频编码应用中的数字视频序列进行编码以便产生一个表示数字视频序列的已编码视频比特流的方法,所述数字视频序列包括若干帧,所述序列中的每一帧包括分成多个块的一个像素阵列,每一块包括某一数量的所述像素,所述方法包括如下步骤通过把运动补偿的预测应用到像素块来编码数字视频序列的一帧用于产生相应的预测误差值块;和把一种转换编码技术应用到所述预测误差值块以便产生表示所述预测误差值块的转换系数值组,所述编码方法其特征在于定义一个用在数字视频序列编码中的一个缺省量化级以便量化所述转换系数值组。
2.根据权利要求1的编码方法,其特征在于所述缺省量化级对于正在被编码的视频序列是特定的。
3.根据权利要求1的编码方法,其特征在于所述缺省量化级对于视频编码应用是特定的。
4.根据权利要求1到3任何一个的编码方法,其特征还在于提供缺省量化级指示给一个解码处理。
5.根据权利要求4的编码方法,其特征在于所述缺省量化级指示提供于表示数字视频序列的编码比特流中。
6.根据权利要求5的编码方法,其特征在于已编码比特流从一个视频编码设备发射到一个相应的视频解码设备。
7.根据权利要求1到6任何一个的编码方法,其特征在于所述缺省量化级在数字视频序列编码期间被更新,所述方法还包括提供更新了的缺省量化级的指示给解码处理的步骤。
8.根据权利要求1到7任何一个的编码方法,其特征在于基于不同于缺省量化级的一个量化级,量化所述转换系值块,以产生表示所述预测误差值块的量化了的转换系数值组。
9.根据权利要求8的编码方法,其特征还在于向解码处理提供所述量化级和缺省量化级之间的差值的指示。
10.根据权利要求8或9的编码方法,其特征在于所述量化级从数字视频序列的一帧到另一帧进行调整,以使对于数字视频序列的一个特定帧,应用到转换系数组的实际量化级不同于缺省量化级。
11.根据权利要求10的编码方法,其特征在于所述实际量化级可表示为相对于缺省量化级的一个差值。
12.根据权利要求10的编码方法,其特征还在于向解码处理提供所述实际量化级和缺省量化级之间差值的一个指示。
13.根据权利要求8到12任何一个的编码方法,其特征在于所述数字视频序列的一帧被划分到多个像素块,所述多个像素块被归组到一个或多个分段,并且其中应用到所述转换系数值组的量化级从一帧的一分段到另一分段进行调整,以使对于一帧的一个特定分段,应用到转换系数组的实际量化级不同于缺省量化级。
14.根据权利要求13的编码方法,其特征还在于向解码处理提供所述量化级和缺省量化级之间差值的一个指示。
15.一种用于对数字视频序列进行编码以便产生一个表示该数字视频序列的已编码视频比特流的视频编码器,所述数字视频序列包括若干帧,所述序列的每一帧包括分成多个块的一个像素阵列,每一块包括某一数量的所述像素,所述视频编码器包括通过把运动补偿的预测应用到像素块以便提供相应的预测误差值块,用于编码数字视频序列的一帧的装置;和用于转换所述预测误差值块以便提供表示所述预测误差值块的转换系数值组的装置,所述视频编码器其特征在于用于选择一个用于量化所述转换系数值组的缺省量化级的装置。
16.根据权利要求15的视频编码器,其特征在于所述缺省量化级对要编码的视频序列是特定的。
17.根据权利要求15的视频编码器,其特征还在于用于在表示数字视频序列的编码比特流中提供所述缺省量化级的一个指示的装置。
18.根据权利要求15到17任何一个的视频编码器,其特征在于基于不同于缺省量化级的一个量化级,量化所述转换系值组,以产生表示所述预测误差值块的量化了的转换系数值组。
19.根据权利要求18的视频编码器,其特征还在于用于在编码比特流中提供所述量化级和缺省量化级之间差值的一个指示的装置。
20.根据权利要求15到19任何一个的视频编码器,其特征在于缺省量化级可以被更新,并且视频编码器被安排用来在编码比特流中提供更新了的缺省量化级的一个指示。
21.根据权利要求20的视频编码器,其特征在于基于不同于更新了的缺省量化级的一个量化级,量化所述转换系值组,以产生表示所述预测误差值块的量化了的转换系数值组。
22.根据权利要求18的视频编码器,其特征在于应用到所述转换系数值组的所述量化级可以从数字视频序列的一帧到另一帧进行调整,使得对于该数字视频序列的一个特定帧,把一个实际量化级应用到转换系数组,并且在其中,所述实际量化级不同于缺省量化级。
23.根据权利要求22的视频编码器,其特征还在于用于在表示数字视频序列的已编码比特流中提供相对于缺省量化级的所述差值的一个指示的装置。
24.根据权利要求18的视频编码器,其特征还在于用于将多个块归组成一个或多个分段的装置,其中所述数字视频序列的一帧被分成所述多个块;和用于从一帧的一个分段到另一分段调整应用到所述转换系数值组的量化级,从而使得对于一帧的一个特定分段,把一个实际量化级应用到转换系数组的装置,所述编码器其特征还在于所述实际量化级不同于缺省量化级,所述视频编码器还被安排用来将用在该特定分段中的实际量化级表示为相对于缺省量化级的一个差值。
25.根据权利要求24的视频编码器,其特征还在于用于在表示数字视频序列的已编码比特流中提供相对于缺省量化级的所述差值的一个指示的装置。
26.根据权利要求15到25任何一个的视频编码器,被提供在一个多媒体终端中。
27.根据权利要求15到25任何一个的视频编码器,被提供在一个无线电信设备中。
28.一种用在视频解码应用中解码一个已编码数字视频序列以便产生一个已解码数字视频序列的方法,所述数字视频序列包括若干帧,所述序列的每一帧包括一个分成多个块的像素阵列,每一块包括某一数量的所述像素,该数字视频序列的一帧通过如下步骤被编码把运动补偿的预测应用到像素块用于产生相应的相应的预测误差值块;把一种转换编码技术应用到所述预测误差值块以便产生表示所述预测误差值块的转换系数值组;和把一个量化级应用到所述转换系数值组以便产生表示所述预测误差值块的已量化转换系数值组,其中,所述量化级的一个指示被提供在包括已编码数字视频序列的已编码比特流中,所述解码方法其特征在于选择一个缺省反向量化级使用在已编码数字视频序列的解码中,以便反向量化所述已量化转换系数值组,基于提供在已编码比特流中的所述量化级指示来选择所述缺省级。
29.根据权利要求28的解码方法,其特征在于所述缺省反向量化级对正在被解码的已编码视频序列是特定的。
30.根据权利要求28的解码方法,其特征在于所述缺省反向量化级对视频解码应用是特定的。
31.根据权利要求28到30任何一个的解码方法,其特征在于所述量化级在所述已量化转换系数值组的所述产生过程中被更新,所述解码方法其特征还在于响应于更新了的量化级来更新缺省反向量化级。
32.一种用于解码已编码数字视频序列以便产生一个已解码数字视频序列的视频解码器,所述数字视频序列包括若干帧,所述序列的每一帧包括分成多个块的一个像素阵列,每一块包括某一数量的所述像素,该数字视频序列的一帧通过如下步骤被编码把运动补偿的预测应用到像素块用于产生相应的相应的预测误差值块;把一个转换编码技术应用到所述预测误差值块以便产生表示所述预测误差值块的转换系数值组;和把一个量化级应用到所述转换系数值组以便产生表示所述预测误差值块的已量化转换系数值组,其中,所述量化级的一个指示被提供在包括已编码数字视频序列的已编码比特流中,所述视频解码器其特征在于用于从已编码比特流中重现已编码数字视频序列的装置;和用于选择一个使用在已编码数字视频序列的解码中的缺省反向量化级,以便反向量化所述已量化转换系数值组的装置,基于提供在已编码比特流中的所述量化级的所述指示来选择所述缺省反向量化级。
33.根据权利要求32的视频解码器,其特征在于所述缺省反向量化级对正在被解码的已编码视频序列是特定的。
34.根据权利要求32或33的视频解码器,其特征在于所述量化级在所述已量化转换系数值组的所述产生过程中被更新,所述视频解码器被安排用来响应于更新了的量化级来更新缺省反向量化级。
35.根据权利要求32到34任何一个的视频解码器,被提供在一个多媒体终端中。
36.根据权利要求32到34任何一个的视频解码器,被提供在一个无线电信设备中。
全文摘要
一种用于编码数字视频序列(图5)的方法,其中量化参数(QP)的指示被提供在用于解码目的编码比特流中(108,110)。通过引入一个序列级量化参数值SQP来指示QP相关信息(122)。更具体地说,代替编码图片/片段QP的绝对值,序列级量化参数SQP和图片/片段QP之间差值的指示?QP被提供(624)。这消除了对发射每个图片/片段的一个完整QP的需要,并且允许发射统计上较小的差值,如此提供发射比特速率中的一个降低(635)。差值随后被使用于一个相应解码器中以便重建图片/片段QP。
文档编号H04N7/26GK1647541SQ03809010
公开日2005年7月27日 申请日期2003年4月23日 优先权日2002年4月23日
发明者J·莱恩马 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1