CN1620761B - 自适应可变长度编码和解码方法和对应的编码器和解码器 - Google Patents
自适应可变长度编码和解码方法和对应的编码器和解码器 Download PDFInfo
- Publication number
- CN1620761B CN1620761B CN038025507A CN03802550A CN1620761B CN 1620761 B CN1620761 B CN 1620761B CN 038025507 A CN038025507 A CN 038025507A CN 03802550 A CN03802550 A CN 03802550A CN 1620761 B CN1620761 B CN 1620761B
- Authority
- CN
- China
- Prior art keywords
- data symbol
- variable length
- value
- length codeword
- characteristic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/152—Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明涉及一种自适应可变长度编码方法,其中数据符号集包含了具有第一数值的第一数量的数据符号以及值与第一数值不同的第二数量的数据符号,所述数据符号集由可变长度码字所表示。根据本发明,应用于数据符号的可变长度编码的至少一个特性是根据值不同于第一数值的数据符号的第二数量而被适配的。本发明还涉及一种相应的可变长度解码方法,以及一种实施根据本发明的编码和解码方法的编码器和解码器。
Description
发明领域
本发明涉及数据符号的可变长度编码。更准确地说,本发明涉及一种适合数字视频编码中的应用的可变长度编码方法。
发明背景
对那些与胶片记录的常规电影相类似的数字视频序列来说,这些序列包含了一系列静止图像(通常称之为“帧”),运动错觉是通过以相对较快的速率接连显示图像而产生的,该速率通常是每秒15到30帧。由于具有相对较快的速率,因此连续帧中的图像往往非常相似,由此包含了相当多的冗余信息。例如,在典型的场景中既可以包括某些静态元素,例如背景景物,也可以包括一些采用了多种不同形式的运动区域,例如新闻广播员面部、移动的交通量等等。作为选择,记录场景的摄像机本身也可以移动,在这种情况下,图像中的所有元素具有相同类型的运动。这在很多情况中都意味着一个视频帧与下一个视频帧之间的整体变化非常小。
未压缩数字视频序列中的每个帧都包括一个图像像素阵列。例如,在以四分之一通用中间格式(QCIF)著称的常用数字图像格式中,一个帧包含了一个176×144像素的阵列,在这种情况下,每个帧具有25,344个像素。每个像素进而由一定数量的比特表示,这些比特传送的是与像素相对应的图像区域的亮度和/或颜色内容方面的信息。一般来说,可以使用所谓的YUV颜色模型来表示图像的亮度和色度内容。其中亮度或Y分量表示图像光亮度(明亮度),而图像的颜色内容则是两个用U和V标记的色度或色差分量来表示的。
与基于包含原色(也就是红、绿、蓝,RGB)的表示的颜色模型相比,基于亮度/色度表示的颜色模型更具有优势。人类的视觉系统更易于感受到光亮变化而不是颜色变化,与亮度分量(Y)相比,YUV颜色模型为色度分量(U,V)使用了较低空间分辨率,由此利用到了这种特性。并且这样一来,可以在可接受地降低图像质量的情况下减少对图像颜色信息进行编码所需要的信息量。
一般来说,色度分量的较低空间分辨率是通过二次抽样实现的。通常,视频序列中的每个帧都分成了包含亮度(Y)信息和在空间上二次抽样的相关色度(U,V)信息的所谓“宏块”。图3描述了一种宏块的形成方式。图3a显示的是用YUV颜色模型表示的视频序列帧,其中每一个分量都具有相同的空间分辨率。所述宏块是通过将原始图像(图3b)中的16×16的图像像素区域表示成四个亮度信息块以及在空间上对应的两个色度分量(U和V)而形成的,每一个亮度块都包括一个8×8的亮度(Y)值阵列,而在x和y方向上则使用了因数2来对所述色度分量(U和V)进行二次抽样,进而产生相应的8×8的色度(U,V)值阵列(参见图3c)。依照某些视频编码建议,例如国际电联(ITU-T)建议H.26L,在宏块内部使用的基本块的大小可以不同于8×8,例如,所述基本块的大小也可以是4×8或4×4(参见G.Bjontegaard在2001年6月发表于VCEG-N10第2.3节的“H.26L Test Model Long Term Number 8(TML-8)draft 0”)。
一个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(公共交换电话网)之类的固定线路上实时传送视频序列,那么可用数据传输带宽通常约为64kb/s。在移动可视电话中,传输至少部分是经由无线电通信链路进行的,由此可用带宽可能会降至20kb/s。这意味着必须显著减少用于表示视频数据的信息量,以便在低带宽通信网络上传送数字视频序列。为此目的,目前开发了多种在保持可接受图像质量的同时减少传送信息量的视频压缩技术。
视频压缩方法是以减少视频序列中的冗余部分以及与感知无关的部分为基础的。视频序列中的冗余度可以归类为空间、时间和频谱冗余度。“空间冗余 度”是用于描述帧内相邻像素之间的相关性(相似性)的术语。术语“时间冗余度”则表示这样一个事实,即序列中出现的某个帧的对象很可能会在后续帧中出现,而“频谱冗余度”则是指同一图像的不同颜色分量之间的相关性。
一般来说,只减少指定图像序列中的不同形式的冗余度是无法实现足够有效的压缩的。因此,当前大多数的视频编码器还降低了视频序列中那些在主观上最不重要的部分的质量。此外,压缩视频比特流自身的冗余度是借助了有效的无损编码技术降低的。通常,这种处理是使用一种名为熵编码的技术实现的。
通常,在构成各个数字视频序列帧的像素之间存在着很大冗余度。换句话说,在某个序列帧内部,任何一个像素的值与紧挨着它的其他像素的值实际是相同的。通常,视频编码系统是用一种名为“基于块的变换编码”的技术来减少空间冗余的,在这种编码技术中则是逐个宏块地将数学变换应用于图像像素。变换编码将源自一个包含了像素值显示的图像数据转换成包含一组系数值的形式,每一个系数值都是一个用于所论述变换的基函数的因数(乘数)。通过使用一些数学变换,例如二维离散余弦变换(DCT),可以显著降低数字视频序列帧内部的空间冗余度,进而产生更简洁的图像数据显示。
在没有参考序列内部其他任何帧的情况下,使用基于块的变换编码所压缩的视频序列帧称为帧内编码或I帧。此外,如果可能的话,帧内编码帧的块是从同一个帧内部的先前编码的块中预测的。这种技术即为通常所说的帧内预测,它具有进一步减少表示帧内编码帧所需要的数据量的效果。
通常,视频编码系统不但降低了视频序列中个别帧内部的空间冗余度,而且还使用了名为“运动补偿预测”的技术来降低序列中的时间冗余度。通过使用运动补偿预测技术,可以从数字视频序列中的名为“参考”或“锚点”的一个或多个帧中“预测”该序列中的某些(通常很多)帧的图像内容。图像内容的预测是通过对所要编码(压缩)的帧与一个或多个使用了“运动矢量”的参考帧之间的对象运动或图像区域进行追踪来完成的。一般来说,在视频序列中,一个或多个参考帧可以先于所要编码的帧,但也可以跟随在这些帧之后。与帧内编码中的情况一样,对视频帧进行的运动补偿预测通常是基于逐个宏块来执行的。
使用运动补偿预测技术压缩的视频序列帧通常被称为帧间编码或P帧。单独的运动补偿预测很少能提供足够精确的视频帧的图像内容显示,因此通常有 必要为每一个帧间编码帧提供一个所谓的“预测误差(PE)”帧。所述预测误差帧表示的是帧间编码帧的解码版本与所要编码的帧的图像内容之间的差别。更确切的说,预测误差帧包含的数值代表的是将要编码的帧的像素值与根据所论述帧的预测(帧间编码)版本而形成的相应重建像素值之间的差值。因此,预测误差帧具有与静止图像相类似的特性,并且可以通过应用基于块的变换编码来减少表示该帧的空间冗余度,进而减少描绘所述帧所需要的数据量(比特数目)。
为了更详细地描述视频编码系统的操作,现在将对图1和图2进行参考。图1是使用帧内与帧间编码的组合来产生一个压缩(编码)视频比特流的常规视频编码器的示意图。图2中则对相应的解码器进行了描述,并且稍后在文中将对解码器进行描述。
视频编码器100包括一个用于从相机或其他视频源(未显示)接收数字视频信号的输入端101。它还可以包括一个被安排为执行基于块的离散余弦变换(DCT)的变换单元104,一个量化器106,一个逆量化器108,一个被安排为执行基于块的反离散余弦变换(IDCT)的逆变换单元110,组合器112和116,以及一个帧存储器120。所述编码器还包括一个运动估计器130,一个运动现场编码器140以及一个运动补偿预测器150。开关102和114由控制管理器160协同操作,以便在视频编码帧内模式与视频编码帧间模式之间切换编码器。编码器100还包括一个视频复用编码器170,它从编码器100生成的各种类型信息中产生一个单独比特流115,以便进一步将其传送到远程接收终端,或者举例来说,该编码器也可以将比特流存入一个大容量存储介质,例如计算机硬盘(未显示)。
编码器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为每一个块产生一个系数值阵列,所述系数值的数目取决于构成宏块的块的特性。举例来说,如果在宏块中使用的基本块的大小是4×4,那么DCT变换单元104会为每一个块产生一个4×4的DCT系数阵列。如果块大小是8×8,则产生一个8×8的DCT系数阵列。
每一个块的DCT系数都传递到量化器106,在所述量化器106中则使用量化参数QP来对其进行量化。量化参数QP的选择由控制管理器160经由控制线115来进行控制。与DCT变换块104初始产生的系数相比,经过量化的系数的数值精度相对较低,因此所述量化将会引入某种信息丢失。这样一来则提供了另外一种用以减少表示视频序列中的各个图像所需要的数据量的机制。 然而,与实际无损的DCT变换所不同,量化引入的信息丢失将会导致不可逆地降低图像质量。应用于DCT系数的量化程度越高,图像质量的损失也就越大。
如图1的线路125所示,对每一个块来说,其经过量化的DCT系数从量化器106传递到视频复用编码器170。视频复用编码器170使用一个Z形扫描过程来对每个块的量化变换系数进行排序。这个操作是将那些经过量化的变换系数的二维阵列转换成一个一维阵列。如图4所示的4×4陈列典型Z形扫描大致是以空间频率递增的顺序来对系数进行排序的。此外,这种操作往往还根据系数值来对系数进行排序,由此使得一维阵列中位置较前的系数的绝对值更有可能大于阵列中位置靠后的系数。出现这种情况则是因为在图像块内部,较低的空间频率往往具有较大的幅度。因此,在经过量化的变换系数的一维阵列中,接近末端的值往往为零。
通常,视频复用编码器170是用两个名为等级(level)和游程(run)的值来表示一维阵列中经过量化的各个非零系数的。其中等级是经过量化的系数的值,游程是所论述系数之前的连续零值系数的数目。对给定系数来说,其游程和等级值将被排序,以使等级值先于相关的游程值。在这里使用了大小为零的等级值来表明块中不再存在非零系数。这个0等级值被称为EOB(块结束)符号。
在视频复用器170中是通过使用熵编码来对游程和等级值进行进一步编码的。熵编码是一种无损操作,它利用的是所要编码的数据集内部的符号通常具有不同出现概率这一事实。由于与其他值相比,某些等级和游程值更有可能出现,因此可以有效地使用熵编码技术来减少表示游程和等级值所需要的比特数目。在这里可以使用多种不同方法来实施熵编码。视频编码系统中常用的一种方法则是通常所说的可变长度编码(VLC)。一般来说,VLC码字是一个为使指定码字长度与其表示的符号出现频率相对应而构造的比特序列(即“0”和“1”)。由此可以分配一个可变数字,以便用比特较少的码字来表示较有可能出现的符号,而不是使用固定数量的比特来表示每个符号。由于码字长度可能(并且通常会)发生变化,因此必须用一种可以唯一解码的方式来构造码字。换句话说,如果解码器接收到具有某个有限长度的有效比特序列,那么应该只有一种可能的输出符号序列与接收到的比特序列相对应。在图1所示的视 频编码器中,使用可变长度编码所进行的游程和等级参数的熵编码可以借助于查找表实施,所述查找表定义了所要编码的数据集中的每一个可能符号与相应的可变长度码之间的映射。这种查找表一般是通过对训练资料进行统计分析来定义的,其中所述训练资料与所编码数据集包含了相同的符号并且具有相似的统计特性。
熵编码的一种替换方法则是通常所说的算术编码,该方法也可用于将游程和等级值转换成可变长度码字。例如,当对一个符号集进行算术编码时,对经过量化的转换系数块来说,其游程和等级值是作为单独的浮点型十进制数编码的。并且在这种熵编码方法中是使用单个码字来对符号集进行编码的,与独立表示各个符号的可变长度编码之类的方法相比,这种方法可以实现改进的压缩效率。举例来说,从1999年由Kluwer Academic Publishers出版、VasudevBhaskaran和Konstantinos Konstantinides编著且ISBN号为0-7923-9952-8的“Image and Video Compression Standards”一书的第2版第2.9节中可以找到关于算术编码的更多细节。
一旦通过使用恰当方法而对游程和等级值进行了熵编码,则视频复用编码器170进一步将其与控制信息结合,从而形成编码图像信息135的单独压缩比特流,其中所述控制信息也是使用适合所论述信息类型的可变长度编码方法来进行熵编码的。虽然在这里是结合视频复用编码器170执行的操作来对熵编码进行描述的,但是应该指出,在替换实施方式中也可以提供一个单独的熵编码单元。
宏块的局部解码版本也是在编码器100中形成的。这个操作是通过将量化器106输出的每一个块的量化变换系数经由逆量化器108来进行传递以及在逆变换单元110中应用一种反向DCT变换来完成的。这样一来,重建的像素阵列是为宏块中的各个块构造的。最终得到的解码图像数据将会输入到组合器112中。而在帧内编码模式中则是对开关114进行设定,以使经由开关114到达组合器112的输入为零。这样一来,组合器112执行的操作等价于传递那些没有发生变化的解码图像数据。
在接收到当前帧的后续宏块并对其执行单元104、106、108、110和112中的前述编码和解码步骤时,在帧存储器120中构造了帧内编码帧的解码版本。在对当前帧的最后一个宏块执行帧内编码并且随后对其进行解码的时候,帧存 储器120将会包含一个完整解码的帧,而在用帧间编码格式对后续接收的视频帧进行编码的过程中,这个完全解码的帧可以充当一个预测参考帧。
现在将对帧间编码模式中的编码器100的操作进行描述。在帧间编码模式中,控制管理器160通过操作开关102来接收源自线路117的输入,其中所述输入包含了组合器116的输出。组合器116以逐个宏块的方式接收源自输入端101的视频输入信号。当组合器116接收到构成宏块的亮度和色度值块时,它会形成相应的预测误差信息块。该预测误差信息表示所论述的块与运动补偿预测单元150产生的预测值之间的差值。更具体地说,对宏块中的每个块来说,其预测误差信息包括一个二维阵列,这个二维阵列是由代表了所编码的亮度或色度信息块的像素值与解码像素值之间的差值的数值构成的,其中所述解码像素值的获取是依照以下描述的过程而为这些块形成一个运动补偿预测来完成的。因此举例来说,如果每个宏块都包含了由亮度和色度值构成的4×4个块的组合,那么对宏块中的每个块而言,其预测误差信息也包括一个4×4的预测误差值阵列。
宏块中各个块的预测误差信息传递到DCT变换单元104,该单元对每一个预测值块执行二维离散余弦变换,以便为每一个块产生一个二维的DCT变换系数阵列。DCT变换单元104为每一个预测误差块产生一个系数值阵列,所述系数值的数目取决于构成宏块的块的特性。举例来说,如果宏块中使用的基本块的大小是4×4,那么DCT变换单元104将会为每一个预测误差块产生一个4×4的DCT系数阵列。如果块大小为8×8,则产生一个8×8的DCT系数阵列。
每一个预测误差块的变换系数都传递到量化器106,在量化器中则使用量化参数QP并以类似于上文结合帧内模式中的编码器操作所描述的方式来对其进行量化。同样,量化参数QP的选择是由控制管理器160经由控制线115来进行控制的。
经过量化的DCT系数表示的是宏块中的每个块的预测误差信息,如图1的线路125所示,这些系数从量化器106传递到视频复用器170。与帧内编码模式一样,视频复用编码器170使用了前述Z形扫描过程(参见图3)来对各个预测误差块的变换系数进行排序,然后则将每一个非零量化系数表示成一个等级和一个游程值。并且它还使用了熵编码并以一种类似于上文中结合帧内编 码模式所描述的方式来对游程和等级值进行压缩。此外,所述视频复用编码器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将会包含一个完全解码的帧,在用帧间编码格式编码后续接收的视频帧的过程中,这个完全解码的帧可以充当预测参考帧。
现在将要描述的是如何为当前帧的宏块形成一个预测。任何一个用帧间编码格式编码的帧都需要一个用于运动补偿预测的参考帧。这意味着在对视频序列进行编码的过程中,无论所编码的首个帧是序列中的第一个帧还是其他帧,都有必要采用帧间编码格式来对其进行编码。这进而意味着当控制管理器160将视频编码器100切换成帧间编码模式时,在编码器的帧存储器120中已经可以使用通过对先前编码帧进行局部解码所形成的完整参考帧。通常,参考帧是通过对帧内编码帧或帧间编码帧进行局部解码而形成的。
在为当前帧的一个宏块生成预测的过程中,第一个步骤由运动估计单元130执行。运动估计单元130经由线路128接收那些构成所编码帧的当前宏块的亮度和色度值块。然后,该单元执行一个块匹配操作,以便识别参考帧中实际对应于当前宏块的某个区域。为了执行块匹配操作,运动估计单元经由线路127来访问帧存储器120中保存的参考帧数据。更确切的说,运动估计单元130 通过计算表示被检宏块与像素最佳匹配候选区域之间的像素值差值的不同数值(例如绝对差值之和)来执行块匹配,其中所述像素最佳匹配区域源自帧存储器120中保存的参考帧。在这里为处于参考帧的预定搜索范围以内的所有可能偏移上的候选区域都计算一个差值,并且运动估计单元130将会确定计算得到的最小差值。当前帧的宏块与产生最小差值的参考帧候选像素值块之间的偏移则为所论述宏块定义了运动矢量。
一旦运动估计单元130为宏块产生运动矢量,则它会将运动矢量输出到运动现场编码单元140。所述运动现场编码单元140使用一个包含一组基函数和运动系数的运动模型来近似估计这个从运动估计单元130接收的运动矢量。更具体的说,运动现场编码单元140将运动矢量表示成一组运动系数值,在将所述值与基函数相乘的时候将会形成运动矢量的一个近似值。通常,一个平移运动模型只具有两个运动系数,并且在这里所述模型使用的是基函数,然而在这里也可以使用更复杂的运动模型。
运动系数从运动现场编码单元140传递到运动补偿预测单元150。所述运动补偿预测单元150还从帧存储器120中接收运动估计单元130识别的像素值最佳匹配候选区域。通过使用运动现场编码单元140产生的运动矢量近似表示以及来自参考帧的像素最佳匹配候选区域的像素值,所述运动补偿预测单元150为宏块中的每个块都产生一个预测像素值阵列。每个预测像素值块都传递到组合器116,在所述组合器中则从当前宏块的相应块的实际(输入)像素值中减去预测像素值。由此可以得到该宏块的一组预测误差块。
现在将对图2所示的视频解码器200的操作进行描述。解码器200包括一个从编码器100接收编码比特流并且将所述比特流135解复用成其组成部分的视频复用解码器270,一个逆量化器210,一个反向DCT变换器220,一个运动补偿预测单元240,一个帧存储器250,一个组合器230,一个控制管理器260以及一个输出端280。
依照所解码的是帧内编码帧还是帧间编码帧,控制管理器260相应地对解码器200的操作进行控制。帧内/帧间触发控制信号使得解码器在解码模式中进行切换,其中举例来说,所述信号可以是从编码器接收的各个压缩视频帧的报头部分提供的图像类型信息中导出的。帧内/帧间触发控制信号是由视频复用解码器270从编码视频比特流中提取并经由控制线215传递到控制管理器260的。
帧内编码帧的解码是逐个宏块地执行的,实际上,每一个宏块都是在识别出接收视频比特流135中与之相关的编码信息的时候解码的。视频复用解码器270首先从涉及所论述宏块的可能控制信息中分离出那些关于宏块中的块的编码信息。而帧内编码宏块中的每个块的编码信息则包括可变长度码字,这些码字表示的是关于块中非零量化DCT系数的经过熵编码的等级和游程值。视频复用解码器270使用了一种可变长度解码方法来对可变长度码字进行解码,由此恢复等级和游程值,其中所述方法对应于编码器100中使用的编码方法。然后,解码器为宏块中的每个块重建量化变换系数阵列,并且将其传递到逆量化器210。此外,在视频解复用器中使用了一种恰当的可变长度解码方法来对涉及宏块的任何控制信息进行解码,并且还将所述信息传递到控制管理器260。特别地,与应用于变换系数的量化等级有关的信息由视频复用解码器270从编码比特流中提取并经由控制线217提供到控制管理器260。所述控制管理器进而将这个信息经由控制线218传递到逆量化器210。逆量化器210则根据所述控制信息来反向量化宏块中的各个块的量化DCT系数,以及将当前执行了逆量化的DCT系数提供给反向DCT变换器220。
反向DCT变换器220对宏块中的各个块的反向量化DCT系数执行反向DCT变换,以便构成一个包含重建像素值的解码图像信息块。由于在帧内编码宏块的编码/解码中没有使用运动补偿预测,因此控制管理器260将会用一种防止在帧内编码宏块的解码中使用任何参考信息的方式来控制组合器230。宏块中每一个块的重建像素值都传递到解码器的视频输出端280,其中举例来说,这些值可以提供给一个显示设备(未显示)。此外,宏块中每一个块的重建像素值还保存在帧存储器250中。在解码和保存帧内编码帧的后续宏块的时候,在帧存储器250中将会逐渐汇聚出一个解码帧,由此可以将所述帧当作一个参考帧,以便在与后续接收的帧间编码帧的解码操作相关联的运动补偿预测中加以使用。
帧间编码帧也是逐个宏块地解码的,实际上,每个帧间编码宏块都是在从接收比特流135中识别出相关编码信息的时候解码的。视频复用解码器270从编码运动矢量信息和涉及所论述宏块的可能控制信息中分离出帧间编码宏块中的各个块的编码预测误差信息。如上所述,宏块中每个块的编码预测误差信息全都包含了可变长度码字,它表示的是用于所述预测误差块的非零量化变换系 数并且经过了熵编码的等级和游程值。视频复用解码器270使用一种与编码器100中使用的编码方法相对应的可变长度解码方法来对可变长度码字进行解码,进而恢复等级和游程值,所述解码器为宏块中的每一个块重建一个量化变换系数阵列,并且将其传递到逆量化器210。在视频复用解码器270中同样使用了一种恰当的可变长度编码方法来解码那些与帧间编码宏块有关的控制信息,并且还将所述信息传递到控制管理器260。与应用于预测误差块的变换系数量化等级相关联的信息是从编码比特流中提取并经由控制线217提供给控制管理器260的。控制管理器进而将这个信息经由控制线218传递到逆量化器210。所述逆量化器210根据这个控制信息来逆量化那些表示宏块中每个块的预测误差信息的量化DCT系数,并且还将当前这些经过逆量化的DCT系数提供到逆量化器220。然后,在反向DCT变换器220中对表示各个块的预测误差信息的逆量化DCT系数进行反向变换,以便为宏块中的每个块生成一个重建的预测误差值阵列。
与宏块相关联的编码运动矢量信息由视频复用解码器270从编码视频比特流135中提取并解码。由此得到的解码运动矢量经由控制线225传递到运动补偿预测单元240,该单元使用一个编码器100中对所述帧间编码宏块进行编码时使用的运动模型相同的运动模型来为宏块重建一个运动矢量。重建的运动矢量类似于编码器运动估计单元130最初确定的运动矢量。解码器的运动补偿预测单元240使用重建运动矢量来识别重建像素区域在帧存储器250保存的预测参考帧中的位置。例如,参考帧可以是先前解码的帧内编码帧,也可以是先前解码的帧间编码帧。不论哪种情况,重建运动矢量表示的像素区域都被用于构成所论述宏块的预测。更具体地说,运动补偿预测单元240通过从参考帧中识别的像素区域那里拷贝相应像素值来形成宏块中各个块的像素值阵列。所述预测则是从参考帧中导出的像素值块并且从运动补偿预测单元240传递到组合器230,在组合器230中它将会与经过解码的预测误差信息相结合。实践中则是将每个预测块的像素值添加到反向DCT变换器220输出的相应的重建预测误差值中。由此可以得到宏块中各个块的重建像素值阵列。重建像素值传递到解码器的视频输出端280并保存在帧存储器250中。当解码和保存帧间编码帧的宏块时,在帧存储器250中将会逐渐汇聚成一个解码帧,由此可以将所述解码帧作为参考帧,以便在其他帧间编码帧的运动补偿预测中加以使用。
现在借助实例来对与使用了可变长度编码(VLC)技术的量化变换系数相关联的游程和级别的熵编码进行更详细描述。如上文所述,在这里首先使用Z形扫描方案来扫描量化变换系数的二维阵列,以便形成一个有序的一维阵列,其中所述阵列是通过变换编码以及量化亮度/色度数据(帧内编码模式)或预测误差数据(帧间编码模式)而产生的。图4中描述了用于4×4的系数值阵列的典型扫描顺序。本领域技术人员可以清楚了解,在这里可以对Z形扫描顺序的确切特性加以改变。此外也可以将类似的Z形扫描方案应用于与4×4的系数值阵列所不同的其他阵列。
在这里对Z形扫描操作产生的有序一维阵列进行检查,所述序列是用一个游程值和一个等级值表示的。如先前所述,游程值表示处于所论述系数之前的连续非零系数的数目。这样一来,它在扫描中提供了非零系数的位置指示。等级值则是所述系数的值。块结束(EOB)符号通常是一个等于零的等级值,它被用于表示块中不再有非零系数。
在替换方案中,每一个非零系数都是用3个值(游程,等级,末端)表示的。在这种表示中,等级和游程参数的作用与先前段落中的描述相同。末端参数则表示所述扫描中不再有非零系数。当使用这种系数表示的时候,可以使用一个独立的语法元素来表明对指定的块进行编码,并且由此不再需要使用单独的EOB符号。
为了进行熵编码,一般是将每个(游程,等级)对(或三元组(游程,等级,末端))视为一个单独符号。由此将VLC码字分配给可能出现的不同(游程,等级)对。此外还将唯一的码字指定给EOB符号。通常,可能出现的(游程,等级)对与VLC码字之间的映射是以编码器和解码器所了解的固定查找表的形式实施的。VLC码字用于将符号转换成一个二进制表示,其中所述表示传送到解码器并以一种可以唯一解码的方式加以指定。实际上,这意味着不会有哪一个VLC码字会是另一个码字的前缀。
表1是一个上述类型的查找表,其中显示了特定(游程,等级)对与VLC码字之间的示范性映射。其中在表1所给出的实例中为EOB符号分配了最短的码字。
游程 | 等级 | VLC索引 | VLC码字 |
- | EOB | 0 | 1 |
0 | 1 | 1 | 001 |
0 | -1 | 2 | 011 |
1 | 1 | 3 | 00001 |
1 | -1 | 4 | 00011 |
2 | 1 | 5 | 01001 |
2 | -1 | 6 | 01011 |
0 | 2 | 7 | 0000001 |
0 | -2 | 8 | 0000011 |
3 | 1 | 9 | 0001001 |
3 | -1 | 10 | 0001011 |
4 | 1 | 11 | 0100001 |
4 | -1 | 12 | 0100011 |
... | ... | ... |
表1(游程,长度)对与VLC码字之间的映射
图5显示的是4×4量化变换系数阵列的一个实例,其中举例来说,所述阵列既可以是在视频编码器中用帧内编码模式为图像块产生的阵列,也可以是用帧间编码模式为预测差错值块产生的阵列。在应用了图4所示的Z形扫描方案之后,由此产生的有序一维量化系数序列具有以下元素:
0,1,2,0,0,0,-1,0,0,0,0,0,0,0,0,0
这个序列可以进一步表示成终止于EOB符号的以下(游程,等级)对的集合:
(1,1),(0,2),(3,-1),EOB。
通过应用表1给出的(游程,等级)对与VLC码字之间的映射,可以产生下列比特序列:
00001|0000001|0001011|1
如上所述,这些序列是以比特流形式从编码器传送到解码器的量化变换系数的二进制表示。为了正确解码比特流,解码器需要了解VLC码字与(游程, 等级)对之间的映射。换句话说,编码器和解码器都使用了相同的VLC码字集合并以相同方式将符号分配给VLC码字。
为了最大化可变长度编码所提供的压缩,在这里为所编码数据中最频繁出现的那些符号分配了最短的VLC码字。然而在图像编码中,不同变换系数的出现频率(也就是概率)以及不同(游程,等级)对的概率是随着图像内容和编码图像类型而变化的。因此,如果使用单独的可变长度码字集合并且在所编码/解码的可变长度码字与VLC之间只提供一个单独映射,那么通常无法实现最优的编码效率。
这个问题的一个解决方案是将可变长度码字及其与不同数据符号之间的分配关系作为比特流的一部分来进行传送。这种可能方案包含在由联合图像专家组开发的名为“Digital Compression and Coding of Continuous-Tone Still Images”/ITU-T建议T.81的国际静止图像压缩标准ISO/IEC10918-1中,并且通常将其称为JPEG图像编码标准。如果使用这个选项,则为所编码的每一个图像计算不同数据符号的概率,例如不同的(游程,等级)对的概率。然后则是使用这个信息来创建VLC码字并且定义数据符号与码字之间的映射。其中举例来说,所述码字和映射信息可以包含在指定图像的压缩文件中并以比特流的形式从编码器传送到解码器。这种解决方案允许以一种自适应所编码图像特性/内容的方式来构造码字以及码字与数据符号之间的映射。由此实现的数据压缩等级通常会超出使用固定码字和映射所获取的压缩等级。然而,这种方法存在很多技术缺陷,由此使得该技术不适合在视频应用中使用。更确切的说,由于在编码和传送任何图像数据之前需要对每一个图像或者图像的每一部分进行预处理,因此将会引入一个明显的延迟。此外,这其中还需要使用大量比特来规定可变长度编码以及编码相对于数据符号的分配信息。另外,错误适应性同样是一个影响很大的问题。如果在解码器上对码字信息或码字与数据符号之间的映射关系执行过纠错之后,所述信息丢失或者存在残留误差,那么是不能正确解码那些包含了编码图像数据的比特流的。
在一种旨在提高由可变长度编码提供的数据压缩率的名为自适应VLC编码的替换技术中,初始VLC码和映射是在编码器和解码器上根据一个先验符号概率估计而被同时计算的。在图像编码应用中,通过使用所谓的“训练”图像数据库,可以预先计算出这些概率估计,其中所述“训练”表示的是那些将 要编码和传送的图像。随后,当传送其他编码数据符号的时候,在编码器和解码器中将会对符号概率估计进行更新。通过使用更新的概率估计,编码器和解码器重新计算VLC码字及其分配关系。这个重新计算可以非常频繁地执行,例如在接收到每一个新的符号之后执行。这种方法的主要缺点是具有很高的计算复杂性(尤其是在频繁地重新计算概率估计的情况下)以及很低差错适应性。如果没有正确解码一个符号,那么将会导致编码器与解码器符号计数不匹配,进而造成在编码器和解码器中设计的VLC码不同于从该点开始的VLC码。这意味着需要频繁复位所述概率计数,而这往往会降低使用这种方法所实现的编码效率。
如先前所述,现代视频编码系统通常会提供一种以上的熵编码方法。举例来说,正如在G.Bjontegaard在2001年6月发表于VCEG-N10第5章的“H.26LTest Model Long Term Number 8(TML-8)draft 0”一文中描述的那样,ITU-T建议H.26L提供了两种备选的熵编码方法/模式。默认的第一种方法以可变长度编码为基础,另一种方法则是一种算术编码,即通常所说的基于上下文的二进制算术编码(或者简写为CABAC)。
H.26L的可变长度编码提供了很多表格,在这些表格中规定了VLC码字及其相对于数据符号的分配关系。在编码器中,所选用的特定表格取决于编码和传送的信息类型。举例来说,在这里可以为那些与不同类型的编码图像块(例如帧内编码(I)或帧间编码(P)类型的块)、不同颜色模型分量(亮度或色度)或不同量化参数(QP)值相关联的数据符号(例如(游程,等级)对)编码提供独立的VLC查找表。这种方法在计算复杂性与压缩效率之间提供了很好的折衷。然而,该方法的性能取决于那些用以切换表征数据符号统计特性的表格的参数。
对H.26L来说,基于上下文的二进制算术编码模式利用了算术编码固有的自适应特性,与缺省的VLC编码模式相比,该模式通常会提供改进的压缩效率。然而,该方法的计算复杂性相对较高,在易出错环境中使用这种方法将会出现问题。特别地,如果因为传送差错而导致不正确地解码了某部分码字,那么有可能会在编码器和解码器之间出现失步,而与这种失步有关的技术缺陷将会影响到所述方法。另外,对于H.26L建议中采用的CABAC方法而言,其计算复杂性在解码器端是非常高的,其中对符号进行解码所花费的时间可能代表 了总的解码时间中的很大一部分。
由于与算术编码相关联的固有的高计算复杂性以及相对于传送差错的敏感性,目前仍旧将可变长度编码视为一种可以用在视频编码系统中的强大有效的熵编码方法。然而,目前仍旧希望并需要改进VLC编码方案相对于所编码数据符号的类型和统计特性的适应性,以便始终能够达到较高的数据压缩程度。由此将会产生一个技术问题,该问题涉及的是一种在不显著提高计算复杂性或传输差错敏感度的情况下实现改进的适应性和压缩效率的方式。
发明概述
上述问题涉及的是在保持低计算复杂性和良好差错适应性的情况下提高可变长度编码方法相对于所编码数据符号类型以及统计特性的适应性,根据本发明的方法则试图解决这些问题。
概括的说,本发明可以应用于下列任何一种情况,其中将要进行VLC编码的数据符号集包含了具有第一值的第一数量的数据符号,以及值不同于第一值的第二数量的数据符号,对应用于所述数据符号集的可变长度编码来说,其至少一个特性是根据那些值不同于第一值的数据符号的数量而被改变或修改的。更确切的说,如果使用可变长度编码来对那些以(游程,等级)对的形式表示的数据进行编码,那么可以使用根据本发明的方法。在这种情况下,所要编码/解码的数据符号集包含了一定数量的非零数据符号以及一定数量的零值数据符号,在这些数据符号中,非零数据符号是以(游程,等级)对的形式表示的。本发明则在非零值数据符号数目、用于表示(游程,等级)对的码字以及(游程,等级)对与码字的映射之间建立了联系。
本领域技术人员将会了解,一般来说,依照本发明的方法可以应用于由(游程,等级)对表示的数据符号或是所要编码的数据符号集的等价显示的VLC编码,在实际执行依照本发明的方法的过程中提供了多个VLC查找表,并且根据值不同于第一数值(例如非零值数据符号的数目)的集合内部的数据符号数量来选择某个查找表,以便编码/解码所述数据符号集。
在对源自图像数据的量化变换系数进行游程-长度编码的时候将会生成游程和等级值的观察统计属性,而依照本发明的方法的促动因素则是由此产生的。更准确地说,可以注意到的是,当非零量化变换系数数目很小的时候,具有较高游程值和较小等级(幅度/绝对值)值的(游程,等级)对更有可能出现。 与此相反,当非零系数数目很大的时候,游程值很小并且等级值很高的(游程,等级)对具有较大的概率。因此,这两种情况中,在(游程,等级)对的统计属性中存在着明显的差别,而较为有利的则是依照编码效率(压缩)使用不同VLC码字和/或数据符号与VLC码字之间的映射,进而顾及到这个差值。
根据本发明的第一个方面,在这里提供了一种对一个数据符号集进行可变长度编码的方法,其中所述数据符号集包括具有第一数值的第一数量的数据符号,并且包括值与所述第一值不同的第二数量的数据符号。依照所述方法,应用于数据符号的可变长度编码的至少一个特征是根据值不同于第一数值的数据符号的第二数目而被适配的。
优选地,第一值是零,由此数据符号集包含了第一数量的零值数据符号以及第二数量的非零数据符号。
优选地,该方法包括以一种形成表示数据符号集的第一和第二数值对的方式并使用一对数值来表示第一数目的非零数据符号中的每一个符号,其中这对值包括一个表示非零数据符号的值的第一值,以及表示非零值数据符号之前或之后的零值数据符号数目的第二数值。非常有利的是,这种操作是以一种形成表示数据符号集的编码数值集合的方式通过执行一个映射操作来完成的,其中第一和第二数值对集合中的每一对都被分配了一个码字,所述码字则是从一个码字集合中选出的,当在映射操作中使用的时候,所述码字集合旨在减少表示所述数据符号集所需要的信息量。依照本发明的方法,映射操作是使用至少一个码字集合执行的,其中将所述码字设计成依赖于数据符号集中非零数据符号的数目。
非常有利的是,码字和数据符号之间的映射也依赖于所述数据符号集中非零数据符号的数目。
非常有利的是,映射操作是借助一个分配表执行的,其中所述分配表定义了第一和第二数值对相对于码字的分配关系。
优选地,映射操作是如下完成的:选择可选分配表集合中的某个分配表,根据选定分配表定义的映射而将每一个所述第一和第二数值对分配给码字。
非常有利的是,分配表可以是根据数据符号集的另一个特性选择的。并且较为有利的是,所述另一个特性是量化参数值。
优选地,分配表是根据数据符号集中的分零数据符号的数目选择的。
非常有利的是,数据符号集是量化变换系数值的集合。
优选地,依照本发明的可变长度编码方法是在一个编码设备中执行的。在本发明的一个实施例中,所述编码设备是一个视频编码器。较为有利的是,所述编码设备是在一个移动电信设备中实现的。
非常有利的是,依照本发明的方法还包括对表示数据符号集的编码数值集合进行解码的步骤。
优选地,解码步骤包括执行反向映射操作,其中使用了构成所述编码值集合的每一个码字来识别第一和第二数值对中的某个特定数值对。
优选地,反向映射操作是借助分配表执行的,所述分配表定义了第一和第二数值相对于码字的分配关系。
更为优选的是,反向映射操作是如下执行的:选择可选分配表集合中的一个分配表,根据选定分配表定义的分配关系来识别第一和第二数值对集合中的某个特定数值对。
非常有利的是,在这里使用了表示所述数据符号集中非零数据符号数目的数值来选择可选分配表之一,以便在对编码数值集合进行解码的过程中使用。
作为选择,在这里使用了表示数据符号集中零值数据符号数目的数值来选择可选分配表之一,以便在对编码数据集合进行解码的过程中加以使用。
非常有利的是,解码步骤还包括从第一和第二数值对集合中重建数据符号集。
优选地,解码步骤是在一个解码设备中执行的。在本发明的一个实施例中,所述解码设备是一个视频解码器。其中较为有利的是,所述解码设备是在一个移动电信设备中实现的。
优选地,表示数据符号集中非零数据符号数目的数值从编码设备传送到解码设备。作为选择,表示数据符号集中零值数据符号数目的数值同样从编码设备传送到解码设备。
依照本发明的第二个方面,在这里提供了一种用于对数据符号集进行可变长度编码的编码器,其中所述数据符号集包括具有第一数值的第一数量的数据符号,以及值不同于所述第一数值的第二数量的数据符号。根据本发明,编码器被安排为根据数据符号的第二数目来适应应用于数据符号的可变长度编码的至少一个特性。
根据本发明的第三个方面,在这里提供了一种用于对表示数据符号集的可变长度码字进行可变长度解码的解码器,所述数据符号集包含了具有第一数值的第一数量的数据符号,以及值不同于所述第一数值的第二数量的数据符号。依照本发明,在这里将解码器安排为根据所述数据符号集中的数据符号的第二数目的指示来与应用于可变长度码字的可变长度解码的至少一个特性相适配。
更准确地说,根据本发明的编码方法的特征主要在于:应用于将要进行可变长度编码的符号集合的可变长度编码是根据将要进行可变长度编码的符号的数目来进行适配的。根据本发明的解码方法的特征主要在于:应用于可变长度码字的解码的至少一个特性是根据执行了可变长度编码的所述符号集中的符号数目的指示来适配的。根据本发明的编码器的特征主要在于:编码器被安排为根据所编码符号的数目来适配应用于将要进行可变长度编码的符号集的可变长度编码的至少一个特性。根据本发明的解码器的特征主要在于:所述解码器被安排为根据执行了可变长度编码的所述数据集中的符号数目的指示来适配应用于可变长度码字的解码的至少一个特性。
附图简述
现在参考附图并借助实例来描述本发明的实施例,其中:
图1是依照现有技术的普通视频编码器的示意性框图;
图2是依照现有技术并与图1所示的编码器相对应的普通视频解码器的示意性框图;
图3描述的是依照本发明的宏块形成过程。
图4描述的是示范性的Z形扫描顺序;
图5显示的是二维量化变换系数值阵列的实例;
图6是依照本发明一个实施例的视频编码器的示意性框图;
图7是依照本发明一个实施例并且与图6所示的编码器相对应的视频解码器的示意性框图;以及
图8是可以实施根据本发明的方法的多媒体通信终端的示意性框图。
发明详述
以下关于本发明的详细描述中将会介绍根据本发明的方法的示范性实施例。所述示范性实施例涉及的是(游程,等级)对的可变长度编码,其中所述对表示的是由视频编码器中的基于块的变换编码及其在相应视频解码器中的后 续解码产生的非零变换系数。然而应该了解的是,根据本发明的可变长度编码和解码方法可以更为普遍地应用于将要编码的其他类型的数据。
图6是可以应用依照本发明这个实施例的方法的视频编码器600的示意性框图。实际上,图6所示的视频编码器的结构与图1所示的现有技术的视频编码器的结构是相同的,其中只对执行可变长度编码操作的编码器部分进行了适当修改。对视频编码器来说,其中所有那些与前述现有技术视频编码器按照相同方式执行功能和操作的部分都是用相同的参考数字表示的。而在说明书中则假设所有可变长度编码操作都是在视频复用编码器670中执行的。然而应该了解,在本发明的替换实施例中也可以提供一个或多个独立的可变长度编码单元。此外还应该指出,依照本发明的方法也可以应用于某些由视频编码器产生的数据符号(例如与非零变换系数相关联的(游程,等级)对),并且可以使用其它的VLC编码方法来编码其它数据符号。
现在将对视频编码器600的操作进行详细考虑。在对数字视频的某个帧进行编码的时候,编码器600以一种类似于先前结合图1所描述的方式来进行操作,由此产生了经过帧内编码和帧间编码的压缩视频帧。如本文先前所述,在帧内编码模式中,离散余弦变换(DCT)被应用于图像数据的每一个块(像素值),由此产生相应的二维变换系数值阵列。DCT操作是在变换块104中执行的,随后则将由此产生的系数传递到对其进行量化的量化器106。在帧间编码模式中,在单元104执行的DCT变换被应用于预测误差值块。由这个操作产生的变换系数还传递到量化器106,其中在所述量化器中同样对其进行了量化。帧间编码帧可以包括经过帧内编码的图像块。某些情况下则并没有将变换编码应用于某些图像块。举例来说,如果在帧内编码模式中使用帧内预测,那么可以从一个或多个先前编码的图像块中预测出某些图像块。在这种情况下,编码器为解码器提供预测中使用的先前块的指示,但是并未输出任何变换系数数据。在帧内编码模式中,关于某个块的预测与块本身的图像数据之间的差别可能很小,以至于相对于数据压缩比而言,不传送任何预测差错信息才是有利的。
依照这个实施例,根据本发明的方法被应用于那些经历了变换编码以及后续的变换系数量化的图像块。当视频复用编码器670接收到一个量化变换系数块(二维阵列)时,它会确定所述阵列中的非零系数数目。这个数目在比特流635中传送到解码器。该数目可以原样传送,但也可以在传送之前使用某种VLC 编码形式来对其进行编码。
接着,视频复用编码器将非零系数表示成(游程,等级)对。这个操作可以通过现有技术中已知的方式实施。更为特别的是,在这里首先使用如图4所示的预定扫描顺序来对二维量化变换系数矩阵进行扫描,以便产生一个有序的一维阵列。然后,有序的一维阵列中的每一个非零系数值都是用一个游程值和一个等级值表示的,其中等级值表示的是系数值,游程值表示的是非零系数之前的连续零值系数数目。与先前描述的现有技术中的游程-长度编码方法不同,依照本发明的方法,这其中没有必要传送EOB符号。并且根据本发明的方法,非零量化变换系数的值是显性指示给解码器的,由此可以不传送EOB符号。这样一来,在解码指定图像块的(游程,等级)对的时候,解码器可以对经过解码的对的数目进行计数。当经过解码的对(对应于非零值系数的数目)的数目达到指示给解码器的非零系数数目的时候,则可以停止对所论述的块进行解码。
然后,视频复用编码器670以一种为各个(游程,等级)对都分配一个单独VLC码字的方式而将可变长度编码应用于游程和等级值。依照本发明,VLC编码是通过选择编码器600保存的可变长度编码(查找)表集合中的某个表来执行的。每一个编码表不但定义了一个可变长度码字集合,而且还定义了码字与可能在图像块量化变换系数数据中出现的(游程,等级)对的可能数值之间的映射。依照本发明,视频复用编码器670根据所编码图像块的量化变换系数阵列中的非零系数数目来选择一个编码表,以便加以使用。通过使用选定查找表中定义的映射,视频复用编码器为每一个(游程,等级)对分配一个码字,并且在比特流635中将所述码字传送到解码器。
在本发明的不同实施例中,不同VLC编码表的数目是可以改变的。本发明的一个实施例中为每一个可能出现的非零量化变换系数数目都提供了一个单独的查找表。在应用于从量化变换系数值阵列中导出的(游程,等级)对集合的时候,用于每一个表格的码字以及(游程,等级)对与码字之间的映射全都设计成了提供最优数据压缩,其中所述系数值具有特定数量的非零值系数。相对于非零值量化变换系数而言,(游程,等级)对的统计特性变化的信息可以通过经验获取,例如通过预先对很多测试(“训练”)图像或是视频序列进行编码来获取。然后则可以在编码器中对VLC码字和码字之间的映射进行设计 并将其保存为一个或多个查找表。
在一个优选实施例中只提供了两个VLC编码表,以便在对源自4×4的图像块的(游程,等级)对进行编码的过程中使用,其中一个表是在非零量化变换系数数目小于或等于8的时候使用,另一个则在非零量化变换系数大于8的时候使用。表2和3描述了本发明这个实施例中的(游程,等级)对的不同概率分布。这些统计信息是通过使用一个依照当前的ITU-T建议H.26L Test Model8(TML8)实施的视频编码器来收集的,并且这些信息涉及码间编码图像块。在表中为最可能出现的对分配了编号1,并且为第二可能出现的对分配了编号2,并且在这里列举了前15个最有可能出现的对。
表2非零量化系数的数目小于或等于8(4×4的码间编码块)时(游程,等级)对的概率
表3非零量化系数数目大于8(4×4的码间编码块)时(游程,等级)对的概率
在本发明的替换实施例中,通过改变所传送的符号类型,可以提高编码效率。这其中使用了(等级,末端)对来表示量化变换系数,并且将一个VLC码字分配给了每一个(等级,末端)对,而不是将所述系数表示成(游程,等级)对。(等级,末端)对中的等级表示的是系数的值,但与先前描述的(游程,等级)对所不同,所述值可以采用数值0。末端参数则用于指示块中不再有非零系数。例如,所述参数可以用作一个二进制标记,这样一来,如果某个系数的等级值是0并且所有后续系数值都是0,则将末端设定成等于1。量化变换参数的这种替换显示可以提供编码效率(数据压缩)方面的改进,对帧内编码块和使用很小的QP值的情况而言则更是如此。
在本发明的另一个替换实施例中使用了一个固定的VLC码字集合,并且只有码字与所编码的(游程,等级)对之间的映射是根据非零系数数目改变的。
在本发明的另一个替换实施例中,也可以根据某些其他参数来为某个图像块选择VLC编码表,举例来说,所述参数可以是用于量化图像块变换系数的量化参数(QP)值或是帧或图像块(帧内/帧间)的类型。在这种情况下,为某个量化变换系数阵列选择VLC编码表的操作将会依赖于非零系数数目和其他参数值。
在本发明的另一个替换实施例中则可以确定零值量化变换系数值的数目,并且将其用作一个参数,其中根据所述参数来设计VLC码字以及所述码字与数据符号之间的映射,并且根据所述参数来选择VLC查找表。
现在参考图7来描述根据本发明一个实施例的视频解码器700的操作。实际上,图7描述的视频解码器的构造与图2所示的现有技术的视频编码器的构造是相同的,其中只对那些执行可变长度解码操作的解码器部分进行了恰当修改。对视频解码器来说,所有那些与前述现有技术视频解码器按照相同方式执行功能和操作的部分都是用相同的参考数字标识的。在说明书中假设所有可变长度解码操作都是在视频复用解码器770中执行的。然而应该了解,在本发明的替换实施例中,也可以提供一个或多个独立的可变长度解码单元。
现在将对视频解码器的操作进行详细描述。在这里假设图7的视频解码器与结合图6所描述的编码器相对应,由此所述视频解码器能够接收并解码所述编码器600传送的比特流635。在解码器中,视频复用解码器770接收比特流并将其分离成它的组成部分。如结合先前关于现有技术的描述所说明的那样, 从比特流中提取的压缩视频数据是以逐个宏块的方式处理的。帧内编码宏块的压缩视频数据包含了可变长度码字以及经过编码的控制信息(例如涉及量化参数QP),其中所述码字表示的是关于宏块中每个块的经过了VLC编码的(游程,等级)对。帧间编码宏块的压缩视频数据则包含了关于每一个块的经过VLC编码的预测误差信息、用于宏块的运动矢量信息以及经过编码的控制信息。
帧内编码宏块中每个块的VLC编码(游程,等级)对以及与帧间编码宏块相关联的预测误差数据的每个宏块的VLC编码(游程,等级)对都是以相同方式解码的。更确切的说,在对帧内或帧间编码图像块的VLC编码(游程,等级)对进行解码的时候,视频复用解码器770首先确定块中非零量化变换系数的数目。如先前所述,编码器600将涉及非零量化变换系数数目的信息插入比特流635中。解码器700从接收到的比特流中提取这个信息。如果涉及非零量化变换系数数目的信息自身进行了VLC编码,那么视频复用解码器770将会执行一个恰当的可变长度解码操作来恢复所述信息。
一旦确定了非零量化变换系数的数目,则视频复用解码器770将会根据块中非零量化变换系数的数目来选择一个可变长度解码表。所述解码表是从一组与编码器中所用查找表相同的查找表中选出的。该解码表预先保存在解码器中,它定义了在比特流635中接收的VLC码字与可能在图像块的量化变换系数数据中出现的(游程,等级)对的可能值之间的映射。在根据非零量化变换系数选择了表格之后,视频复用解码器770使用选定查找表中定义的映射来恢复游程和等级值。然后,它为所述块重建量化变换系数值,并且将其传送到逆量化器210。视频解码过程的剩余部分则是像结合现有技术的视频解码器200所描述的那样继续执行,由此为每一个图像块形成重建的像素值。
应该了解的是,与先前描述的现有技术的VLC编码方法相比,依照本发明的方法提供了非常显著的优点。特别地,它提供了一种可变长度编码和解码方法,该方法自适应于将要编码/解码的数据符号的统计特性,同时还保持了较低的计算复杂性以及很高的传输差错适应性。该方法的适应性源于为具有不同数量的非零量化变换系数的图像块使用不同的可变长度码字和/或映射。通过提供不同码字和/或映射并且以此作为编码器和解码器中的查找表,可以将计算复杂性保持在很低的程度。这同样有助于降低对于数据传输差错的敏感度,因为用于指定图像块的特定查找表是借助一个表明块中非零变换系数数目的值而被 告知解码器的。
图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多媒体终端还可以适配成在移动通信应用中使用。如果与无线通信链路结合使用,那么如图8中的替换单元93所示,调制解调器91可以由任何适当的无线接口所取代。例如,H.324/M多媒体终端可以包括一个能够连接到当前的第二代GSM移动电话网络或是被建议的第三代UMTS(通用移动电话系统)的无线电收发信机。
应该指出的是,在为双向通信,也就是为了发送和接收视频数据而设计的多媒体终端中,较为有利的是同时提供根据本发明的视频编码器和视频解码 器。这种编码器和解码器对通常是作为单独的组合功能单元实现的,并且通常将其称为“编解码器”。
现在将参考图8来进一步详细描述典型的H.324多媒体终端。
多媒体终端80包括多种名为“终端设备”的部件。这其中包含了视频/音频和远程信息处理设备,它们分别是用参考数字81、82、83表示的。例如,视频设备81可以包括一个用于捕获视频图像的视频摄像机、一个用于显示接收到的视频内容的监视器以及可选的视频处理设备。音频设备82通常包括一个用于获取例如语音消息的麦克风,以及用于再现接收到的音频内容的扬声器。此外,所述音频设备还可以包括附加的音频处理单元。远程信息处理设备83可以包括数据终端、键盘、电子白板或是静止图像收发信机,例如传真单元。
视频设备81与一个视频编解码器85相耦合。视频编解码器85包括依照本发明实施的视频编码器和相应的视频解码器。在下文中将对这种编码器和解码器进行描述。视频编解码器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)相连的可视电话或者其它的电信设备。在一个优选实施例中,一旦对第一个分段进行了编码,则开始进行图像数据传输,由此接收方能在具有最小延迟的情况下开始相应的解码处理。
Claims (46)
1.一种用于对数据符号集进行可变长度编码的方法,其中所述数据符号集包含了具有第一数值的第一数量的第一数据符号以及值与所述第一数值不同的第二数量的第二数据符号,所述方法包括分配可变长度码字以表示所述数据符号集,其特征在于:根据所述第二数量,对应用于所述数据符号集的可变长度编码的至少一个特性进行适配,其中所述适配包括以下中的至少一个:
选择包括码字的编码表;
定义要被编码的数据符号与码字之间的映射;或者
定义如何针对可变长度码字的分配表示所述第一数据符号和所述第二数据符号;
其中,用一对值来表示所述第二数据符号中的数据符号,所述一对值包含了表示所述第二数据符号值的第一对值以及表示所述第二数据符号之前或之后的零值数据符号数目的第二对值。
2.根据权利要求1的方法,其特征在于:
在编码比特流中提供所述第二数量的指示。
3.根据权利要求1或2的方法,其特征还在于:
响应于所述数据符号集中的数据符号,至少部分的基于所述第二数量来生成可变长度码字。
4.根据权利要求3的方法,其特征还在于:
所述数据符号集是量化变换系数值集合,并且进一步根据用于形成量化变换系数值的量化参数来生成可变长度码字。
5.根据权利要求1或2的方法,其特征还在于所述第一数据符号是零值数据符号并且所述第二数据符号是非零数据符号,并且该方法进一步包括:
至少部分的基于所述第二数量来生成至少一个可变长度码字,所述至少一个可变长度码字表示所述第一对值和所述第二对值。
6.根据权利要求5的方法,其特征在于:所述数据符号集是一个量化变换系数值集合,并且所述第一数据符号是零值量化变换系数并且所述第二数据符号是非零量化变换系数。
7.根据权利要求1或2的方法,其特征还在于:
根据所述第二数量选择分配表集合中的一个分配表,其中所述分配表集合中每一个表都定义了数据符号值到可变长度码字的分配关系;并且
响应于所述数据符号集中的数据符号,根据所选择的分配表来生成可变长度码字。
8.根据权利要求1或2的方法,其特征还在于:
基于所述第二数量从多个可变长度码字集合中选择一个可变长度码字集合,每个可变长度码字集合表示数据符号值;和
响应于所述数据符号集中的数据符号,从所选择的可变长度码字集合中生成可变长度码字。
9.根据权利要求1或2的方法,其特征还在于:
基于所述第二数量从多个可变长度编码映射确定可变长度编码映射;和
根据所确定的可变长度编码映射来生成可变长度码字。
10.根据权利要求1或2的方法,其特征还在于:所述数据符号集是表示图像块的信息的量化变换系数值集合,并且进一步根据用于编码所述图像块的编码方法来生成可变长度码字。
11.根据权利要求10的方法,其特征还在于:所述编码方法是帧内编码方法和帧间编码方法之一。
12.一种用于对数据符号集进行可变长度编码的编码器,其中所述数据符号集包含了具有第一数值的第一数量的第一数据符号以及值与所述第一数值不同的第二数量的第二数据符号,所述编码器被安排为分配可变长度码字以表示所述数据符号集,其特征在于:所述编码器被安排为根据所述第二数量,对应用于所述数据符号集的可变长度编码的至少一个特性进行适配,其中所述编码器被安排为通过使用以下中的至少一个来执行适配:
选择包括码字的编码表;
定义要被编码的数据符号与码字之间的映射;或者
定义如何针对可变长度码字的分配表示所述第一数据符号和所述第二数据符号;
其中,用一对值来表示所述第二数据符号中的数据符号,所述一对值包含了表示所述第二数据符号值的第一对值以及表示所述第二数据符号之前或之后的零值数据符号数目的第二对值。
13.根据权利要求12的编码器,其特征在于:它被安排为在编码比特流中形成一个比特流,该比特流包含了所述第二数量的指示。
14.根据权利要求12或13的编码器,其特征在于:它还被安排为响应于所述数据符号集中的数据符号,至少部分的基于所述第二数量来生成可变长度码字。
15.根据权利要求14的编码器,其特征在于:所述数据符号集是量化变换系数值集合,并且所述编码器还被安排为根据用于形成量化变换系数值的量化参数来生成可变长度码字。
16.根据权利要求12或13的编码器,其特征还在于:所述第一数据符号是零值数据符号并且所述第二数据符号是非零数据符号,并且所述编码器还被安排为:
至少部分的基于所述第二数量来生成至少一个可变长度码字,所述至少一个可变长度码字表示所述第一对值和所述第二对值。
17.根据权利要求16的编码器,其特征在于:所述数据符号集是量化变换系数值集合,并且所述第一数据符号是零值量化变换系数,并且所述第二数据符号是非零量化变换系数。
18.根据权利要求12或13的编码器,其特征还在于:所述编码器还被安排为:
基于所述第二数量选择分配表集合中的一个,所述分配表集合中的每个表定义了将数据符号数值分配给可变长度码字集合;和
响应于所述数据符号集中的数据符号,根据所述选择的分配表生成可变长度码字。
19.根据权利要求12或13的编码器,其特征还在于所述编码器还被安排为:
基于所述第二数量从多个可变长度码字集合中选择一个可变长度码字集合,每个可变长度码字集合表示数据符号值;和
响应于所述数据符号集中的数据符号,从所选择的可变长度码字集合中生成可变长度码字。
20.根据权利要求12或13的编码器,其特征还在于所述编码器还被安排为:
基于所述第二数量从多个可变长度编码映射中确定可变长度编码映射;和
根据所确定的可变长度编码映射,生成可变长度码字。
21.根据权利要求12或13的编码器,其特征还在于:所述数据符号集是表示图像块的信息的量化变换系数值集合,并且进一步根据用于编码所述图像块的编码方法来生成可变长度码字。
22.根据权利要求21的编码器,其特征还在于:所述编码方法是帧内编码方法和帧间编码方法之一。
23.一种用于对表示数据符号集的可变长度码字进行解码的方法,其中数据符号集包含了具有第一数值的第一数量的第一数据符号以及值不同于所述第一数值的第二数量的第二数据符号,所述方法包括使用可变长度码字来识别所述数据符号集中的符号,其特征在于:根据所述第二数量,对应用于所述可变长度码字的可变长解码的至少一个特性进行适配,其中所述适配包括以下中的至少一个:
选择包括码字的编码表;
定义码字与数据符号之间的映射;或者
定义如何针对所述数据符号集中的所述符号的识别由所述可变长度码字表示所述第一数据符号和所述第二数据符号;
其中,至少一个可变长度码字表示一对值,该一对值包含了第一对值和第二对值,其中所述第一对值表示所述第二数据符号中的数据符号值以及所述第二对值表示所述第二数据符号中的数据符号之前或之后的零值数据符号数目。
24.根据权利要求23的方法,其特征还在于:
从编码比特流接收所述第二数量的指示。
25.根据权利要求23或24的方法,其特征还在于:
至少部分的基于所述第二数量从可变长度码字中解码所述数据符号集中的数据符号。
26.根据权利要求25的方法,其特征还在于:
所述数据符号集是量化变换系数值集合,并且进一步根据用于形成所述量化变换系数值的量化参数来解码可变长度码字。
27.根据权利要求23或24的方法,其特征在于所述第一数据符号是零值数据符号并且所述第二数据符号是非零数据符号,并且该方法进一步:
至少部分地基于所述第二数量来解码所述至少一个可变长度码字;和
根据第一对值和第二对值来确定所述数据符号集中的数据符号。
28.根据权利要求27的方法,其特征在于:所述数据符号集是量化变换系数值集合,并且所述第一数据符号是零值量化变换系数,并且所述第二数据符号是非零量化变换系数。
29.根据权利要求23或24的方法,其特征在于:
根据所述第二数量选择分配表集合中的一个分配表,其中所述分配表集合中每一个表都定义了数据符号值到可变长度码字的分配关系,并且
根据所选择的分配表来从可变长度编码码字中解码所述数据符号集中的数据符号。
30.根据权利要求23或24的方法,其特征还在于:
根据所述第二数据从多个可变长度码字集合中选择一个可变长度码字集合,每个可变长度码字集合表示数据符号值,和
根据所选择的可变长度码字集合从可变长度码字中解码所述数据符号集中的数据符号。
31.根据权利要求23或24的方法,其特征还在于:
基于所述第二数量从多个可变长度解码映射中确定可变长度解码映射;和
根据所确定的可变长度解码映射从可变长度码字中解码所述数据符号集中的数据符号。
32.根据权利要求23或24的方法,其特征还在于:所述数据符号集是表示图像块的信息的量化变换系数值集合,并且进一步根据用于编码所述图像块的编码方法来对可变长度码字进行解码以重建量化变换系数值。
33.根据权利要求32的方法,其特征还在于:所述编码方法是帧内编码方法和帧间编码方法之一。
34.一种用于对表示数据符号集的可变长度码字进行解码的解码器,其中所述数据符号集包含了具有第一数值的第一数量的第一数据符号以及值不同于所述第一数值的第二数量的第二数据符号,所述解码器被安排为使用可变长度码字来识别所述数据符号集中的符号,其特征在于:所述解码器被安排为根据所述第二数量,对应用于所述可变长度码字的可变长度解码的至少一个特性进行适配,其中所述适配包括以下中的至少一个:
选择包括码字的编码表;
定义码字与数据符号之间的映射;或者
定义如何针对所述数据符号集中的所述符号的识别由所述可变长度码字表示所述第一数据符号和所述第二数据符号;
其中,至少一个可变长度码字表示一对值,该一对值包含了第一对值和第二对值,其中所述第一对值表示所述第二数据符号中的数据符号值以及所述第二对值表示所述第二数据符号中的所述数据符号之前或之后的零值数据符号数目。
35.根据权利要求34的解码器,其特征在于:所述解码器还被安排为从编码比特流接收所述第二数量的指示。
36.根据权利要求34或35的解码器,其特征还在于:所述解码器还被安排为至少部分的基于所述第二数量从可变长度码字中解码所述数据符号集中的数据符号。
37.根据权利要求34或35的解码器,其特征还在于:所述数据符号集是量化变换系数值集合,并且所述解码器还被安排为进一步根据用于形成所述量化变换系数值的量化参数来解码可变长度码字。
38.根据权利要求34或35的解码器,其特征在于:所述第一数据符号是零值数据符号并且所述第二数据符号是非零数据符号,并且所述解码器还被安排为:
至少部分地基于所述第二数量来解码所述至少一个可变长度码字;和
根据第一对值和第二对值来确定所述数据符号集中的数据符号。
39.根据权利要求38的解码器,其特征在于:所述数据符号集是量化变换系数值集合,并且所述第一数据符号是零值量化变换系数,所述第二数据符号是非零量化变换系数。
40.根据权利要求34的解码器,其特征在于:所述解码器被安排为如下执行:根据所述第二数量选择分配表集合中的一个分配表,其中所述分配表集合中每一个表都定义了数据符号值到可变长度码字的分配关系;并且
根据所选择的分配表从可变长度码字中解码所述数据符号集中的数据符号。
41.据权利要求34或35的解码器,其特征还在于:
根据所述第二数据从多个可变长度码字集合中选择一个可变长度码字集合,每个可变长度码字集合表示数据符号值,和
根据所选择的可变长度码字集合从可变长度码字中解码所述数据符号集中的数据符号。
42.据权利要求34或35的解码器,其特征还在于:
基于所述第二数量从多个可变长度解码映射中确定可变长度解码映射;和
根据所确定的可变长度解码映射从可变长度码字中解码所述数据符号集中的数据符号。
43.据权利要求34或35的解码器,其特征还在于:
所述数据符号集是表示图像块的信息的量化变换系数值集合,并且进一步根据用于编码所述图像块的编码方法来解码可变长度码字。
44.据权利要求43的解码器,其特征还在于:所述编码方法是帧内编码方法和帧间编码方法之一。
45.一种多媒体终端,其中包含了根据权利要求12的编码器。
46.一种多媒体终端,其中包含了根据权利要求34的解码器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810091747.7A CN101267563B (zh) | 2002-01-22 | 2003-01-22 | 自适应可变长度编码 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/054,610 US6690307B2 (en) | 2002-01-22 | 2002-01-22 | Adaptive variable length coding of digital video |
US10/054,610 | 2002-01-22 | ||
PCT/FI2003/000055 WO2003063360A1 (en) | 2002-01-22 | 2003-01-22 | Adaptive variable length coding |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810091747.7A Division CN101267563B (zh) | 2002-01-22 | 2003-01-22 | 自适应可变长度编码 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1620761A CN1620761A (zh) | 2005-05-25 |
CN1620761B true CN1620761B (zh) | 2012-03-21 |
Family
ID=27609144
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN038025507A Expired - Lifetime CN1620761B (zh) | 2002-01-22 | 2003-01-22 | 自适应可变长度编码和解码方法和对应的编码器和解码器 |
CN200810091747.7A Expired - Lifetime CN101267563B (zh) | 2002-01-22 | 2003-01-22 | 自适应可变长度编码 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810091747.7A Expired - Lifetime CN101267563B (zh) | 2002-01-22 | 2003-01-22 | 自适应可变长度编码 |
Country Status (10)
Country | Link |
---|---|
US (2) | US6690307B2 (zh) |
EP (1) | EP1470646A1 (zh) |
JP (5) | JP2005516456A (zh) |
KR (1) | KR100969645B1 (zh) |
CN (2) | CN1620761B (zh) |
BR (1) | BR0307053A (zh) |
IL (1) | IL162994A (zh) |
MX (1) | MXPA04007054A (zh) |
NO (1) | NO335451B1 (zh) |
WO (1) | WO2003063360A1 (zh) |
Families Citing this family (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU754877B2 (en) * | 1998-12-28 | 2002-11-28 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Method and devices for coding or decoding an audio signal or bit stream |
US7082450B2 (en) | 2001-08-30 | 2006-07-25 | Nokia Corporation | Implementation of a transform and of a subsequent quantization |
US7203373B2 (en) * | 2001-10-30 | 2007-04-10 | Texas Instruments Incorporated | Image and video coding with redundant run-length-level-last codewords removed |
DK2268033T3 (en) * | 2001-11-22 | 2016-09-19 | Godo Kaisha Ip Bridge 1 | A method for variable-length encoding and the method for decoding variable length |
US6823015B2 (en) * | 2002-01-23 | 2004-11-23 | International Business Machines Corporation | Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data |
US7450149B2 (en) * | 2002-03-25 | 2008-11-11 | Polycom, Inc. | Conferencing system with integrated audio driver and network interface device |
JP3679083B2 (ja) * | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム |
JP4240283B2 (ja) * | 2002-10-10 | 2009-03-18 | ソニー株式会社 | 復号装置及び復号方法 |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
EP1675908B1 (en) * | 2003-10-07 | 2008-12-17 | Coloplast A/S | Composition useful as an adhesive ans use of such a composition |
US8098817B2 (en) | 2003-12-22 | 2012-01-17 | Intel Corporation | Methods and apparatus for mixing encrypted data with unencrypted data |
US6956511B2 (en) * | 2004-01-06 | 2005-10-18 | Sharp Laboratories Of America, Inc. | Multi-symbol/coefficient decode operation for Huffman codes |
US7573406B2 (en) * | 2004-05-21 | 2009-08-11 | Broadcom Corporation | System and method for decoding context adaptive variable length coding |
US7113115B2 (en) * | 2004-06-30 | 2006-09-26 | Intel Corporation | Variable length code table look ups |
DE102004049156B4 (de) * | 2004-10-08 | 2006-07-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom |
JP4937741B2 (ja) * | 2005-01-07 | 2012-05-23 | 日本電信電話株式会社 | 映像符号化方法及び装置、映像復号方法及び装置、それらのプログラムおよびそれらプログラムを記録した記録媒体 |
KR100694098B1 (ko) * | 2005-04-04 | 2007-03-12 | 한국과학기술원 | 산술 복호 방법 및 그 장치 |
KR100664936B1 (ko) * | 2005-04-13 | 2007-01-04 | 삼성전자주식회사 | 코딩 효율이 향상된 컨텍스트 기반 적응적 산술 코딩 및디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오 코딩및 디코딩 방법과 이를 위한 장치 |
KR100703773B1 (ko) * | 2005-04-13 | 2007-04-06 | 삼성전자주식회사 | 향상된 코딩 효율을 갖는 엔트로피 코딩 및 디코딩 방법과이를 위한 장치, 이를 포함하는 비디오 코딩 및 디코딩방법과 이를 위한 장치 |
WO2006109974A1 (en) * | 2005-04-13 | 2006-10-19 | Samsung Electronics Co., Ltd. | Method for entropy coding and decoding having improved coding efficiency and apparatus for providing the same |
WO2006109990A1 (en) * | 2005-04-13 | 2006-10-19 | Samsung Electronics Co., Ltd. | Context-based adaptive arithmetic coding and decoding methods and apparatuses with improved coding efficiency and video coding and decoding methods and apparatuses using the same |
EP1889151A2 (en) * | 2005-05-21 | 2008-02-20 | Kula Media Group | Media distribution over a network |
US8032368B2 (en) * | 2005-07-11 | 2011-10-04 | Lg Electronics Inc. | Apparatus and method of encoding and decoding audio signals using hierarchical block swithcing and linear prediction coding |
US8599925B2 (en) | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
WO2007035070A1 (en) * | 2005-09-26 | 2007-03-29 | Samsung Electronics Co., Ltd. | Method and apparatus for enhancing performance of entropy coding, and video coding method and apparatus using the entropy coding performance enhancing method |
WO2007035056A1 (en) * | 2005-09-26 | 2007-03-29 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy encoding and entropy decoding fine-granularity scalability layer video data |
US7348903B2 (en) * | 2005-09-26 | 2008-03-25 | Samsung Electronics Co., Ltd. | Method and apparatus for enhancing performance of entropy coding, and video coding method and apparatus using the entropy coding performance enhancing method |
EP1841231A1 (en) * | 2006-03-29 | 2007-10-03 | Sony Deutschland Gmbh | Method for motion estimation |
JP4730183B2 (ja) * | 2006-04-17 | 2011-07-20 | 株式会社日立製作所 | 映像表示装置 |
US8275045B2 (en) | 2006-07-12 | 2012-09-25 | Qualcomm Incorporated | Video compression using adaptive variable length codes |
US8565314B2 (en) * | 2006-10-12 | 2013-10-22 | Qualcomm Incorporated | Variable length coding table selection based on block type statistics for refinement coefficient coding |
US8325819B2 (en) * | 2006-10-12 | 2012-12-04 | Qualcomm Incorporated | Variable length coding table selection based on video block type for refinement coefficient coding |
US8599926B2 (en) * | 2006-10-12 | 2013-12-03 | Qualcomm Incorporated | Combined run-length coding of refinement and significant coefficients in scalable video coding enhancement layers |
US9319700B2 (en) * | 2006-10-12 | 2016-04-19 | Qualcomm Incorporated | Refinement coefficient coding based on history of corresponding transform coefficient values |
US7813567B2 (en) * | 2007-04-26 | 2010-10-12 | Texas Instruments Incorporated | Method of CABAC significance MAP decoding suitable for use on VLIW data processors |
US7885473B2 (en) * | 2007-04-26 | 2011-02-08 | Texas Instruments Incorporated | Method of CABAC coefficient magnitude and sign decoding suitable for use on VLIW data processors |
KR101539240B1 (ko) * | 2007-06-14 | 2015-07-30 | 삼성전자주식회사 | 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치 |
US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
KR101361512B1 (ko) * | 2007-07-09 | 2014-02-10 | 삼성전자 주식회사 | 방송처리장치 및 그 제어방법 |
US8605786B2 (en) * | 2007-09-04 | 2013-12-10 | The Regents Of The University Of California | Hierarchical motion vector processing method, software and devices |
US8265162B2 (en) * | 2007-10-01 | 2012-09-11 | Cisco Technology, Inc. | Context adaptive position and amplitude coding of coefficients for video compression |
US8204327B2 (en) * | 2007-10-01 | 2012-06-19 | Cisco Technology, Inc. | Context adaptive hybrid variable length coding |
US8848787B2 (en) * | 2007-10-15 | 2014-09-30 | Qualcomm Incorporated | Enhancement layer coding for scalable video coding |
ES2373240T3 (es) | 2007-12-20 | 2012-02-01 | Panasonic Corporation | Señalización de canal de control usando un campo de señalización común para el formato de transporte y la versión de redundancia. |
KR20090072510A (ko) * | 2007-12-28 | 2009-07-02 | 삼성전자주식회사 | 디스플레이장치 및 그 제어방법 |
RU2479935C2 (ru) * | 2008-06-27 | 2013-04-20 | Сони Корпорейшн | Устройство для обработки изображения и способ обработки изображения |
SG171883A1 (en) * | 2008-12-03 | 2011-07-28 | Nokia Corp | Switching between dct coefficient coding modes |
JP5274317B2 (ja) * | 2009-03-17 | 2013-08-28 | パナソニック株式会社 | 符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路 |
US8660261B2 (en) * | 2009-06-04 | 2014-02-25 | Mediatek Singapore Pte. Ltd. | System and apparatus for integrated video/image encoding/decoding and encryption/decryption |
TWI396448B (zh) * | 2009-10-30 | 2013-05-11 | Hon Hai Prec Ind Co Ltd | 熵解碼裝置 |
KR101768207B1 (ko) | 2010-01-19 | 2017-08-16 | 삼성전자주식회사 | 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
US20110206132A1 (en) * | 2010-02-19 | 2011-08-25 | Lazar Bivolarsky | Data Compression for Video |
US20110206118A1 (en) * | 2010-02-19 | 2011-08-25 | Lazar Bivolarsky | Data Compression for Video |
US9313526B2 (en) | 2010-02-19 | 2016-04-12 | Skype | Data compression for video |
US9609342B2 (en) * | 2010-02-19 | 2017-03-28 | Skype | Compression for frames of a video signal using selected candidate blocks |
US9819358B2 (en) * | 2010-02-19 | 2017-11-14 | Skype | Entropy encoding based on observed frequency |
AU2011236288A1 (en) * | 2010-04-01 | 2012-11-01 | Sony Corporation | Image processing device and method |
KR20120016991A (ko) * | 2010-08-17 | 2012-02-27 | 오수미 | 인터 프리딕션 방법 |
US20120082230A1 (en) * | 2010-10-01 | 2012-04-05 | Qualcomm Incorporated | Variable length coding of video block coefficients |
US20120147970A1 (en) * | 2010-12-08 | 2012-06-14 | Qualcomm Incorporated | Codeword adaptation for variable length coding |
US9490839B2 (en) | 2011-01-03 | 2016-11-08 | Qualcomm Incorporated | Variable length coding of video block coefficients |
CN102685503B (zh) | 2011-03-10 | 2014-06-25 | 华为技术有限公司 | 变换系数的编码方法、变换系数的解码方法,和装置 |
US9516316B2 (en) | 2011-06-29 | 2016-12-06 | Qualcomm Incorporated | VLC coefficient coding for large chroma block |
US9338456B2 (en) | 2011-07-11 | 2016-05-10 | Qualcomm Incorporated | Coding syntax elements using VLC codewords |
US20130083845A1 (en) | 2011-09-30 | 2013-04-04 | Research In Motion Limited | Methods and devices for data compression using a non-uniform reconstruction space |
EP2595382B1 (en) | 2011-11-21 | 2019-01-09 | BlackBerry Limited | Methods and devices for encoding and decoding transform domain filters |
LT3599766T (lt) * | 2011-12-15 | 2020-11-25 | Tagivan Ii Llc | Skaisčio-spalvio koduotų blokų žymų (cbf) signalų perdavimas vaizdo kodavime |
KR102013240B1 (ko) * | 2012-02-02 | 2019-08-22 | 삼성전자주식회사 | 영역별 특성에 기초한 영상 부호화 방법 및 그 장치, 그리고 영상 복호화 방법 및 그 장치 |
US20140205199A1 (en) * | 2013-01-23 | 2014-07-24 | Qamarul Islam | Storage Area and Temporal Based Optimized Run Length Codec For Classic JPEG Image Compression (SAT-BORL CODEC) |
US20160037509A1 (en) * | 2014-07-30 | 2016-02-04 | Onavo Mobile Ltd. | Techniques to reduce bandwidth usage through multiplexing and compression |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
WO2017118495A1 (en) * | 2016-01-03 | 2017-07-13 | Auro Technologies Nv | A signal encoder, decoder and methods using predictor models |
WO2017141926A1 (en) | 2016-02-15 | 2017-08-24 | Kyoto Prefectural Public University Corporation | Human functional corneal endothelial cell and application thereof |
US10366698B2 (en) * | 2016-08-30 | 2019-07-30 | Dts, Inc. | Variable length coding of indices and bit scheduling in a pyramid vector quantizer |
USD836405S1 (en) * | 2017-03-28 | 2018-12-25 | Ryan A. Roberts | Beverage can holder with retaining ring |
USD836406S1 (en) * | 2017-03-28 | 2018-12-25 | Ryan A. Roberts | Beverage can holder with retaining ring |
CN107947799B (zh) * | 2017-11-28 | 2021-06-29 | 郑州云海信息技术有限公司 | 一种数据压缩方法及装置 |
US10666985B1 (en) | 2018-11-18 | 2020-05-26 | Sony Corporation | Sub-block based entropy coding for image coding |
US10841595B2 (en) * | 2018-11-27 | 2020-11-17 | Semiconductor Components Industries, Llc | Methods and apparatus for transform coefficient encoding and decoding |
CN110417811B (zh) * | 2019-08-22 | 2021-08-10 | 上海兆芯集成电路有限公司 | 比特流编码压缩的方法及装置 |
CN112564713B (zh) * | 2020-11-30 | 2023-09-19 | 福州大学 | 高效率低时延的动觉信号编解码器及编解码方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
US5835145A (en) * | 1996-01-19 | 1998-11-10 | Lsi Logic Corporation | Conversion system using programmable tables for compressing transform coefficients |
CN1219803A (zh) * | 1997-12-08 | 1999-06-16 | 大宇电子株式会社 | 可变长编码方法及其装置 |
US20010033697A1 (en) * | 2000-04-20 | 2001-10-25 | Toshiaki Shimada | Variable length coding unit and variable length decoding unit |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2812446B2 (ja) * | 1991-11-21 | 1998-10-22 | 三洋電機株式会社 | 画像符号化方式 |
JPH05316359A (ja) * | 1992-05-14 | 1993-11-26 | Fujitsu Ltd | 画像データ符号化装置 |
KR0162197B1 (ko) * | 1992-05-30 | 1998-12-15 | 강진구 | 영상데이타의 가변장부호와/복호화방법 및 장치 |
JP3016456B2 (ja) * | 1992-06-15 | 2000-03-06 | 日本電信電話株式会社 | 適応的可変長符号化方法 |
KR0129558B1 (ko) * | 1992-10-26 | 1998-04-10 | 배순훈 | 적응적 가변길이 부호화 방법 및 장치 |
JPH06225279A (ja) * | 1992-10-26 | 1994-08-12 | Sony Corp | 符号化方法、復号化方法、符号化装置及び復号化装置 |
EP0651574B1 (en) * | 1993-03-24 | 2001-08-22 | Sony Corporation | Method and apparatus for coding/decoding motion vector, and method and apparatus for coding/decoding image signal |
JP3163880B2 (ja) * | 1993-12-16 | 2001-05-08 | 松下電器産業株式会社 | 画像圧縮符号化装置 |
KR970009408B1 (ko) * | 1994-01-18 | 1997-06-13 | 대우전자 주식회사 | 인터/인트라 테이블 선택 회로 |
KR100254402B1 (ko) * | 1994-12-19 | 2000-05-01 | 전주범 | 줄-길이 부호화방법 및 줄-길이 부호화기 |
JP2951861B2 (ja) * | 1994-12-28 | 1999-09-20 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
KR100209410B1 (ko) * | 1995-03-28 | 1999-07-15 | 전주범 | 영상 신호 부호화 장치 |
EP1835762A3 (en) * | 1996-05-28 | 2007-10-03 | Matsushita Electric Industrial Co., Ltd. | decoding apparatus with intra prediction |
US5751231A (en) * | 1996-06-26 | 1998-05-12 | Intel Corporation | Method and apparatus for run-length encoding using special long-run codes |
US5793314A (en) * | 1996-07-03 | 1998-08-11 | Motorola, Inc. | Method and apparatus for bound-based adaptive entropy encoding/decoding |
KR100249487B1 (ko) * | 1997-06-25 | 2000-03-15 | 전주범 | 적응적인 형태 부호화 장치 및 방법 |
US6412112B1 (en) * | 1998-06-30 | 2002-06-25 | Webtv Networks, Inc. | System for transmitting digital data through a lossy channel |
JP4560694B2 (ja) * | 2000-04-05 | 2010-10-13 | ソニー株式会社 | 符号化装置及びその方法 |
EP1391121B1 (en) * | 2001-03-23 | 2012-08-15 | Nokia Corporation | Variable length coding |
-
2002
- 2002-01-22 US US10/054,610 patent/US6690307B2/en not_active Expired - Lifetime
-
2003
- 2003-01-22 KR KR1020047011253A patent/KR100969645B1/ko active IP Right Grant
- 2003-01-22 MX MXPA04007054A patent/MXPA04007054A/es active IP Right Grant
- 2003-01-22 CN CN038025507A patent/CN1620761B/zh not_active Expired - Lifetime
- 2003-01-22 EP EP03700323A patent/EP1470646A1/en not_active Ceased
- 2003-01-22 BR BR0307053-0A patent/BR0307053A/pt not_active Application Discontinuation
- 2003-01-22 WO PCT/FI2003/000055 patent/WO2003063360A1/en active Application Filing
- 2003-01-22 JP JP2003563102A patent/JP2005516456A/ja not_active Withdrawn
- 2003-01-22 CN CN200810091747.7A patent/CN101267563B/zh not_active Expired - Lifetime
- 2003-07-29 US US10/629,085 patent/US6879268B2/en not_active Expired - Lifetime
-
2004
- 2004-07-13 IL IL162994A patent/IL162994A/en active IP Right Grant
- 2004-07-15 NO NO20042983A patent/NO335451B1/no not_active IP Right Cessation
-
2007
- 2007-09-26 JP JP2007249933A patent/JP2008067395A/ja not_active Withdrawn
-
2011
- 2011-05-18 JP JP2011111718A patent/JP2011176878A/ja not_active Withdrawn
-
2013
- 2013-02-12 JP JP2013024179A patent/JP2013153444A/ja not_active Withdrawn
-
2015
- 2015-08-21 JP JP2015163601A patent/JP2016026426A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
US5835145A (en) * | 1996-01-19 | 1998-11-10 | Lsi Logic Corporation | Conversion system using programmable tables for compressing transform coefficients |
CN1219803A (zh) * | 1997-12-08 | 1999-06-16 | 大宇电子株式会社 | 可变长编码方法及其装置 |
US20010033697A1 (en) * | 2000-04-20 | 2001-10-25 | Toshiaki Shimada | Variable length coding unit and variable length decoding unit |
Also Published As
Publication number | Publication date |
---|---|
WO2003063360A1 (en) | 2003-07-31 |
MXPA04007054A (es) | 2004-10-11 |
CN101267563A (zh) | 2008-09-17 |
BR0307053A (pt) | 2004-10-26 |
JP2008067395A (ja) | 2008-03-21 |
EP1470646A1 (en) | 2004-10-27 |
NO20042983L (no) | 2004-09-22 |
JP2011176878A (ja) | 2011-09-08 |
CN1620761A (zh) | 2005-05-25 |
CN101267563B (zh) | 2015-11-25 |
JP2013153444A (ja) | 2013-08-08 |
JP2005516456A (ja) | 2005-06-02 |
US6690307B2 (en) | 2004-02-10 |
KR100969645B1 (ko) | 2010-07-14 |
IL162994A (en) | 2012-05-31 |
JP2016026426A (ja) | 2016-02-12 |
KR20040075945A (ko) | 2004-08-30 |
NO335451B1 (no) | 2014-12-15 |
US20030151529A1 (en) | 2003-08-14 |
US6879268B2 (en) | 2005-04-12 |
US20040021592A1 (en) | 2004-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1620761B (zh) | 自适应可变长度编码和解码方法和对应的编码器和解码器 | |
CN100521550C (zh) | 用于数字视频的编码方法、解码方法、编码器和解码器 | |
CN1327395C (zh) | 基于上下文的自适应二进制算术编码的方法和系统 | |
CN100380980C (zh) | 用于在视频编码系统中指示量化器参数的方法与设备 | |
US6571016B1 (en) | Intra compression of pixel blocks using predicted mean | |
TW297984B (zh) | ||
CN1620816A (zh) | 图像/视频编码器和/或解码器中的编码变换系数 | |
US7162091B2 (en) | Intra compression of pixel blocks using predicted mean | |
CN100581232C (zh) | 用于在视频序列中对运动进行编码的方法 | |
CN1874509B (zh) | 基于上下文的自适应二进制算术编码的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160112 Address after: Espoo, Finland Patentee after: NOKIA TECHNOLOGIES OY Address before: Espoo, Finland Patentee before: NOKIA Corp. |
|
CX01 | Expiry of patent term |
Granted publication date: 20120321 |
|
CX01 | Expiry of patent term |