CN1774932A - 用于视频压缩的组合的游程长度编码和可变长度编码 - Google Patents

用于视频压缩的组合的游程长度编码和可变长度编码 Download PDF

Info

Publication number
CN1774932A
CN1774932A CNA2004800103727A CN200480010372A CN1774932A CN 1774932 A CN1774932 A CN 1774932A CN A2004800103727 A CNA2004800103727 A CN A2004800103727A CN 200480010372 A CN200480010372 A CN 200480010372A CN 1774932 A CN1774932 A CN 1774932A
Authority
CN
China
Prior art keywords
amplitude
pattern
incident
series
coefficient
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.)
Granted
Application number
CNA2004800103727A
Other languages
English (en)
Other versions
CN100518325C (zh
Inventor
陈文雄
吴方
格雷戈里·D·佩尔同
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1774932A publication Critical patent/CN1774932A/zh
Application granted granted Critical
Publication of CN100518325C publication Critical patent/CN100518325C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length 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)

Abstract

一种用于对图像数据块的变换的一系列量化后的系数进行编码的方法和装置。所述变换使得0是最可能发生的系数幅度,1是其次最可能发生的系数幅度。该方法包括为所遇到的每个非零幅度形成模式,并且为模式修改后的系列中的模式形成事件,所述模式修改后的系列是通过将除定义该模式的幅度外的其他所有非零幅度都设置为零来形成的。大于1幅度的模式的事件是其后跟随模式修改后的系列中的非零幅度的一连串的零个或多个零值系数。在一个实施例中,为幅度1定义第一模式,其中事件是其后跟随模式修改后的系列中的幅度1系数的一连串的零个或多个零值系数。在另一实施例中,为幅度1定义第一模式,其中事件是其后跟随一连串的预定序列集合中的一个序列的零个或多个零值系数的模式修改后的系列中的连续串,该集合中的每个序列是以幅度为1的系数开始的1和0的序列。在另一实施例中,为幅度1定义第一模式,其中事件是具有量化后的系数系列的长度的0和1的序列。该方法包括为所遇到的每个模式形成码字并且为模式中的所形成的事件形成码字。形成相对较短的码字以表示相对更可能发生的事件。

Description

用于视频压缩的组合的游程长度编码和可变长度编码
技术领域
本发明涉及图像压缩,具体地说涉及量化变换系数的可变长度编码。
背景技术
可变长度编码(VLC)常用于数字视频压缩中。已知的基于变换的压缩方案例如将图像分割成诸如8×8块这样的小块,利用诸如离散余弦变换(DCT)这样的变换来对块(帧间和/或帧内)进行变换,量化所产生的系数,沿块中的预定路径对量化后的系数排序以形成一系列系数—有时称为串行化块的系数,然后利用VLC对这一系列系数统计地编码,以对每个块的帧间和/或帧内变换系数进行编码。
二维可变长度编码(2D-VLC)是常用的VLC技术。在2D-VLC中,VLC所编码的每个符号—称为“事件”—不是单个系数,而是将先前的一连串零幅度系数与一个非零系数相组合。即,每个事件是一个二元组(doublet),其包括1)任何非零系数之前的零幅度系数的游程长度以及2)该非零系数的幅度。事件被用可变长度编码来统计地编码,以使得最常发生的事件被用最短的码字编码,而最少发生的事件被用最长的码字编码。
2D-VLC例如被用于常见的编码方案中,例如ISO/IEC JPEG、MPEG1、MPEG2和MPEG4,并且ITU H.261、H.262和H.263.2D-VLC目前被考虑用于MPEG4第10部分和H.264。
随着集成电路技术的发展,计算能力和存储器正在变得越来越可利用。因此实现提供比传统二维VLC更大的压缩的可变长度编码方案也变得可行了。
由于图像编码的广泛使用,已发布了关于不同形式的VLC的许多专利。例如,1987年10月6日发布的Wen-hsiung Chen的美国专利4,698,672描述了二维可变长度编码方法的一种形式,Wen-hsiung Chen也是本发明的发明人之一。
实现2D-VLC通常包括修改该方法,例如以降低硬件实现的复杂度。根据一种修改,仅事件的子集被用VLC编码。不太经常发生的事件的集合中的每一个被用相对长的、固定长度码字编码,而其他的、相对较常发生的事件中的每一个被用可变长度码字编码。码字开头处的转义码(escape code)被用于指示相对不常发生的事件的固定长度码字。
图1示出表查找可如何用于实现2D-VLC方案。在表查找之前,确定任何非零幅度之前的零幅度的游程长度以及该非零幅度。对于那些用可变长度编码进行编码的较可能发生的事件,表查找使用2D表。转义码固定长度码被用于相对不太可能发生的组合的集合。
在典型2D-VLC实现中,短的块结束(EOB)码指示已遇到了块中的最后的非零系数,即块中的剩余系数全为零。
对常见2D-VLC方法的扩展和变体是已知的。例如,ITU H.263压缩标准定义了一种这样的变体,该变体有时被称为三维VLC(3D-VLC)。参见1993年9月16日公布的标题为“PICTURE DATA ENCODINGMETHOD”的PCT专利公布WO 9318616(或其美国等同物,标题为“PICTURE DATA ENCODING METHOD”的美国专利5,579,413),以及ITU-T H.263标准。在3D-VLC中,每个符号(“事件”)是一个三元组(LAST,RUN,LEVEL),其包括:LAST,指示当前的非零幅度值是否是块中的最后的非零系数的二元标记;RUN,当前非零幅度之前的零值系数的游程长度,即自从上一个非零系数幅度之后的零的数目;以及LEVEL,当前非零系数幅度值。从而,不需要单独的EOB码字;关于非零系数是否是最后一个的信息被结合到了事件中。这里通过引用结合了美国专利5,579,413。
图2示出表查找可如何用于实现3D-VLC。
关于2D-VLC的专利及其扩展的存在以及由此产生的专利纠纷使得探求替换VLC方法变得重要。
从而,需要一种可用作已知2D-VLC的取代物的高效VLC方案。还需要能够提供比已知2D-VLC技术更好的压缩性能的高效VLC方案。
发明内容
这里所描述的是用于对一系列量化后的值进行编码的方法和装置,所述值一般是排序后的图像数据块的变换的系数。定义第一值子集,其包括最常见幅度和至少一个其他幅度。第二值子集包括不在第一子集中的幅度。在一个实施例中,该变换使得0是最可能发生的系数幅度,1是其次最可能发生的系数幅度。在这种情况下,第一子集包括值0和1。
该方法包括为所遇到的每个不是最常见幅度的幅度形成模式,并且为模式修改后的系列中的模式形成事件,所述模式修改后的系列是通过将除了定义模式的幅度外的其他所有幅度定义为最常见幅度而形成的。第二子集的幅度的模式的事件是其后跟随模式修改后的系列中除了最常见的幅度外的幅度的一连串的零个或多个连续的具有最常见幅度的系数。
在一个实施例中,为第一子集的幅度定义第一模式,其中模式修改后的系列中的事件是其后跟随具有来自第一值集合的幅度的系数的一连串的零个或多个具有最常见幅度的系数。
在另一实施例中,为第一值集合中的幅度定义第一模式,其中事件是其后跟随一连串的预定序列集合中的一个序列的零个或多个具有最常见幅度的系数的模式修改后的系列中的连续串,集合中的每个序列是以除了最常见幅度外的系数开始的第一值集合中的幅度的序列。
在另一实施例中,为第一值集合中的幅度定义第一模式,其中事件是第一集合的幅度的序列,所述序列具有量化后的系数系列的长度。
该方法包括为所遇到的每个模式形成码字并且为该模式中的每一个形成的事件形成码字。形成相对较短的码字以表示相对更可能发生的事件。
这里还描述了用于对编码后的位流进行解码以产生量化后的变换系数集合的方法和装置。
从以下描述中可看出其他实施例、特征、方面和优点。
附图说明
图1示出现有技术2-D VLC方法可如何通过表查找来实现。
图2示出称为3D-VLC的2-D VLC的常见现有技术变体可如何通过表查找来实现。
图3示出用于对一系列量化后的变换系数编码的装置的一个实施例的简化框图。
图4示出利用VLC进行编码的编码装置的一个实施例的简化框图。
图5示出解码装置的一个实施例的简化框图。
具体实施方式
传统二维可变长度编码
可变长度编码(VLC)对一系列数字值编码,该一系列数字值例如是一系列系数,这些系数是通过以下操作而获得的:变换图像的二维块(帧间或帧内),并根据系数的统计信息来量化变换和分配可变长度码,例如哈夫曼码或算术码,以使得较短的码字被分配给相对可能发生的事件而较长的码字被分配给不那么可能发生的事件。统计信息可以是已知的或先验地假设的,或者是在工作中收集的。
在2D-VLC中,当系数被沿指定的二维路径排序,例如沿8×8系数块或4×4系数块的Z字形路径排序,以形成一系列系数之时,为其形成码字的事件既包括量化后的系数幅度,也包括任何不是最可能发生的系数—例如非零幅度系数—之前的最可能发生的系数—例如零幅度系数—的游程长度。
在以下讨论中,假设零幅度是最可能发生的,例如最常遇到的幅度,1是其次最可能发生的—其次最常见的—幅度。但是,这里所描述的方法对于其他的可能性顺序也可起作用,以使得最可能发生的幅度—第一幅度—不需要为0,其次最可能发生的幅度—第二幅度不需要为1。此外,讨论假设发生的可能性是由发生频率所指示的。当然,发生的相对可能性不需要对应于在任何特定的变换后的图像块或变换后的图像块的汇集中发生的实际频率。
被跟踪的量的发生信息可被列在以下表1所示的二维表中,其中Sij,i,j=1,2,...是幅度为i并且其前有j个连续的零幅度系数的系数的号。
                              表1:为2D-VLC收集的统计信息
  系数幅度                            零值系数的游程长度
  0   1   2   3   4   5   6
1 S10 S11 S12 S13 s14 s15 s16
2 S20 S21 S22 S23 S24 S25 S26
3 S30 S31 S32 S33 S34 S35 S36
  4   S40   S41   S42   S43   S44   S45   S46
  5   S50   S51   S52   S53   S54   S55   S56
  6   S60   S61   S62   S63   S64   S65   S66
  7   S70   S71   S72   S73   S74   S75   S76
  8   S80   S81   S82   S83   S84   S85   S86
  9   S90   S91   S92   S93   S94   S95   S96
在2D-VLC中,符号(“事件”)被根据发生频率(数字Sij)和所使用的特定VLC方案—例如哈夫曼码或算术码—来分配可变长度码。最频繁发生的事件,即最大的Sij-通常是变换编码中的S10-被分配最短的码,而最少发生的组合(sij)被分配了最高位数的码。然后产生的2D-VLC可由表2所表示,其中Cij是分配给事件(i,j)的VLC:幅度为i且其前有j个连续的零幅度系数的系数的组合。
                         表2:2D-VLC
  系数幅度                 零值系数的游程长度
  0   1   2   3   4   5   6
  1   C10   C11   C12   C13   C14   C15   C16
  2   C20   C21   C22   C23   C24   C25   C26
  3   C30   C31   C32   C33   C34   C35   C36
  4   C40   C41   C42   C43   C44   C45   C46
  5   C50   C51   C52   C53   C54   C55   C56
  6   C60   C61   C62   C63   C64   C65   C66
  7   C70   C71   C72   C73   C74   C75   C76
  8   C80   C81   C82   C83   C84   C85   C86
  9   C90   C91   C92   C93   C94   C95   C96
  …   …   …   …   …   …   …   …
在实践中,统计信息(事件发生的可能性)被先验地确定—例如通过对可能发生的图像集合进行的实验—以形成固定的VLC表。还可使用自适应编码,其中编码取决于统计信息,例如从实际数据收集的柱状图。
在典型的使用2D-VLC的变换编码方案中,变换块被标识成帧间(具有或不具有运动补偿)或帧内的,并且当被沿二维路径排序时,每个经变换的块内的量化系数系列被利用表2所示的2D-VLC来编码。
在典型实现方式中,添加符号位以标识非零幅度是正的还是负的。此外,某些相对不太频繁的组合被用表示零的游程长度以及游程长度之后的幅度的组合的固定长度码来编码。标识使用了固定长度码的转义码也被用于每个这种固定长度码字的开始(或结束)处。
美国专利4,698,672的Chen等人的2D-VLC方法按如下方式选择可变长度码Cij:每个其后跟随幅度1的零的游程长度被用用于该游程长度的第一型可变长度码来编码。零幅度游程长度之后的幅度(1)不需要被编码,因为根据第一型可变长度码编码的任何码字在解码器处都可被假设为具有幅度1。每个其后跟随除1外的非零幅度的零的游程长度被用其后跟随该幅度的码的游程长度的第二型可变长度码来编码。
美国专利4,698,672还描述了以下扩展。假设信号系列,例如要编码的变换系数系列取至少n+3个可能的值,例如0、1、…、n,并且至少两个其他的值,例如n+1、n+2、…。该方法使用n个不同类型的游程长度码—第一、第二、…、第n型—来分别表示其后分别是1、2、…、n的一连串无或零。该方法还使用不同类型的游程长度码—即与第一、第二、…、第n型不同—来对其后跟随任一其他值的连串零编码。幅度编码还将对幅度,亦即一连串零之后的其他值编码。当使用第一、第二、…、第n型码之一时,游程长度码的类型标识一连串零之后是哪个幅度。在这种情况下,不需要对0后的幅度进一步进行幅度编码。
图3示出用于H.261标准的常见2-D VLC的每个码字的长度。MPEG-1和MPEG-2 2D-VLC表与H.261类似。只表示了113个最可能发生的符号(游程长度、幅度级别)。MPEG-1和MPEG-2使用类似的表。在MPEG-1中,不常见的事件被用20位或28位编码。转义符号是6位的,其后跟随用于零的游程长度的码,然后是幅度级别码。20位转义码字描述范围[-127,+127]中的级别,而28位双转义码字具有[-255,+255]的范围。MPEG-2将跨度增大到量化后的反向DCT系数的整个动态范围[-2047,+2047],并且利用用于这种事件的单个表示简化了转义机制。MPEG-2转义码字的总长度为24位(6位转义码,其后跟随6位游程长度值和12位幅度级别码)。
1-D可变长度编码表集合
本发明的一个方面利用各自定义一个“模式”的1-D可变长度编码表的集合取代了诸如表2那样的2-D可变长度编码表。此外,另一可变长度编码表标识使用哪个模式,即1-D表的集合中的哪个1-D表。从而,码字包括第一码,用于标识使用了哪个1-D表,即哪个模式;以及第二码,用于标识用于该模式的事件集合,即使用该1-D表的事件。
考虑所有可能的系数,并且单独考虑每个系数幅度,即所有其他的幅度为0。“模式修改后的系列”意思是具有除了将模式集合定义为零的幅度外的其他所有幅度的系数的有序系列。从而,例如,对于以下的例如可能是4×4块的变换的系数的16个系数的系列:
01-103-10100100000,
幅度为
0110310100100000。
对于幅度1,考虑模式修改后的系数系列:
0110010100100000;
对于幅度2,模式修改后的系数系列:
0000000000000000;
对于幅度3,模式修改后的系数系列:
0000300000000000;
以此类推。
VLC方法通常被应用到诸如被变换成块的变换系数集合的4×4或8×8块这样的块的变换系数。这些块可能是运动补偿之后的。变换系数被量化,并且量化后的块变换系数被通过沿诸如Z字形路径这样的预定路径扫描二维块来排序。排序形成块的系数系列。
在一个实施例中,为每个这种只有0和具有特定幅度(所有其他幅度被视为0)的系数的序列的事件收集非零幅度前的连续零值系数的数目的统计信息。这种统计信息可被写成1-D表系列,每个非零幅度有一个这种1-D表。这种1-D统计信息表集合在以下被示为表3-1、3-2、3-3、…:
     表3-1:为以1结束的连续串(其他均为0)收集的统计信息
                      零值系数的游程长度
  0   1   2   3   4   5   6
1S0 1S1 1S2 1S3 1S4 1S5 1S6
    表3-2:为以2结束的连续串(其他均为0)收集的统计信息
                    零值系数的游程长度
  0   1   2   3   4   5   6
 2S0  2S1  2S2  2S3  2S4  2S5  2S6
   表3-3:为以3结束的连续串(其他均为0)收集的统计信息
                  零值系数的游程长度
  0   1   2   3   4   5   6
 3S0  3S1  3S2  3S3  3S4  3S5  3S6
以此类推,其中iSj是长度为j的连续串的数目,该长度为j的游程即以幅度为i,i=1,2,3,...,的系数结束的一连串j个零幅度系数,其中所有不等于i的幅度被视为0。
注意这些表中的统计信息与表1中的不同行中的那些不同。例如,表1中的S33是用于从任何先前的非零幅度系数开始的具有三个连续零幅度之后是幅度3的序列的,而在表3-3中,3S3是用于从先前的幅度为3的系数开始的具有三个连续零幅度之后是幅度3的序列的。
基于这些统计信息,或先验可能性集合,1-D编码表系列可构造如下:
     表4-1:以1结束的连续串(其他均为0)的1-D VLC表
                      零值系数的游程长度
  0   1   2   3   4   5   6
1C0 1C1 1C2 1C3 1C4 1C5 1C6
      表4-2:以2结束的连续串(其他均为0)的1-D VLC表
                           零值系数的游程长度
  0   1   2   3   4   5   6
2C0 2C1 2C2 2C3 2C4 2C5 2C6
    表4-3:以3结束的连续串(其他均为0)的1-D VLC表
                     零值系数的游程长度
  0   1   2   3   4   5   6
3C0 3C1 3C2 3C3 3C4 3C5 3C6 ...
以此类推,其中iCj是表4-i,i=1,2,3,...,中用于长度为j的连续串,即以幅度为i(所有其他幅度都被视为0幅度)的系数结束的一连串j个零幅度系数的码字。最频繁发生的统计量被分配最短的位数,而最少发生的统计量被分配最长的位数。
此外,对于每个表中的事件的发生可搜集统计信息集合。这种统计信息集合可由表5描述如下:
             表5:表3-1、3-2、3-3…中每一个的统计信息
                         以下列值结束的幅度表
  1   2   3   4   5   6   7
 1ST  2ST  3ST  4ST  5ST  6ST  7ST
其中iST是用于由幅度i定义的模式的模式修改后的系列中的事件的数目,即iST是当所其他幅度被视为0时,以幅度为i的系数结束的任何长度的连串零的数目。注意TSi是表3-i,i=1,2,3,...中的条目的总数。
基于这些统计信息,或者基于所假设的其后跟随以特定幅度(所有其他幅度均为0)结束的系数的一连串零的可能性,1-D VLC表被构造为表6:
        表6:表3-1、3-2、3-3…中每一个的码
                   以下列值结束的幅度表
  1   2   3   4   5   6   7
1CT 2CT 3CT 4CT 5CT 6CT 7CT
其中iCT是用于使用模式i,即用于使用表4-i,i=1,2,3,...的码字。同样,最频繁发生的统计信息(通常是变换编码中的1CT)被分配最短码字,最少发生的表被分配最长码字。
在一个实施例中,诸如表4-1、4-2、…以及表6这样的编码表是固定的,并且是根据例如通过对于可能发生的图像集合进行的实验而先验地确定的统计信息来确定的。在其他实施例中,编码表可根据在工作中收集的数据而改变,例如根据诸如在工作中收集的柱状图这样的统计信息而改变,该统计信息例如采取诸如表3-1、3-2、3-3、…等等这样的表的形式。
为了对以下例如4×4块的变换的16个变换系数的序列编码:
01-103-10100100000,
符号被忽略(关于对符号的编码参见后文),幅度1被用表4-1编码,就好像除了0和1没有其他幅度一样,即,对于用于由幅度1定义的模式的模式修改后的系列:
0110010100100000。
幅度3被用表4-3编码,就好像除了0和3没有其他幅度一样,即,对于用于由幅度3定义的模式的模式修改后的系列:
0000300000000000。
来自表6的码在用于每个模式修改后的系列的每个码集合之前。产生的码序列(忽略符号)为:
1CT 1C1 1C0 1C2 1C1 1C2 3CT 3C4 EOB
其中EOB是指示块结束的码字。在一个实施例中,单个块结束(EOB)码字被用于指示该序列没有更多码;如果下一码字是来自模式表(表6)的码字,则不将EOB放置在每个序列的结束处。在另一实施例中,用于每个模式的码字的序列以EOB结束。
注意,可按将传统2-D VLC扩展到所谓的3-D VLC相同的方式扩展该方法,以使得不需要EOB码字。每个表除了具有游程长度外,还包括二元标记LAST,其指示该系数是否是该幅度的块中的最后的系数。参见以下提到的PCT专利公布WO9318616,这里通过引用将其包含进来。
在此讨论中,假设0幅度是最可能发生的,例如最频繁遇到的幅度,1是其次最可能发生的—其次最常见的—幅度。这对应于以下经验:以1结束的事件比以幅度2或更高结束的事件更频繁发生,对于帧间编码的块,例如经运动补偿的预测残余的变换后的块尤其如此。这对于诸如所提出的H.264标准中发生的4×4块这样的小块尤其正确。
从而,利用上述使用1-D表系列的实施例,我们预期连续串将会长于利用2-D VLC的情况;任何模式(即使用任何特定1-D表)中的每个事件的连续串是从先前的相同的系数开始的连续串,而在2-D VLC中,连续串是从先前的非零幅度系数开始的连续串。然而,由于预期用于每个1-D表(表4-I)的码将会短于2-D表(表2),并且来自幅度1表的大多数码以及指示这种表的码很可能相对较短,所以我们预期用于幅度序列的完整码将会与使用2-D-VLC的码不相上下。
在一个实施例中,某些相对不频繁的事件被用表示零的游程长度和该游程长度之后的幅度的组合的固定长度码来编码。标识正在使用固定长度码的转义码也被用在每个这种固定长度码字的开始处。在一个实现方式中,单个表示被用于由固定长度码字所编码的不太可能发生的事件。
可能发生的事件的可变长度编码表以及1-D可变长度编码表的另一集合
在事件是其后跟随0-和1-幅度模式的零个或多个零幅度系数的序列的情况下,在另一个实施例产生系数码。比起是其后跟随大于1的幅度的零个或多个零幅度系数的序列的事件来,这种事件被假设为(但不必须)更可能发生。这种情形可能适用于例如小的帧间编码的块,例如运动补偿后的帧间变换系数的8×8或4×4块。
根据这种实施例,定义幅度的第一子集,包括最常见的幅度以及一个或多个其次最常见的幅度。其他幅度被定义为幅度的第二子集。在一个实现方式中,幅度的第一子集包括0和1,两个最可能发生的幅度,第二子集包括大于1的那些幅度。定义表集合。第一表用于其后跟随预定序列集合之一的一连串最可能发生的幅度,其中预定序列集合是以除最可能发生的幅度外的其他幅度开始的来自幅度的第一子集的至少一个系数的序列。因为事件是由具有最可能发生的幅度的一连串的零个或多个系数所定义的,所以预定集合中的每个序列通常也以除最可能发生的幅度外的其他幅度结束。所有其他幅度都被设置为最可能发生的。通常,第一子集包括0和1,预定集合中的序列是只有0和1的序列。从而第一模式由幅度1所定义,并且事件是其后跟随模式修改后的系列中的预定集合序列的一个或多个重复的一连串的零个或多个零幅度。其他表中每一个用于由幅度的第二子集的幅度之一定义的一个模式,例如由大于1的幅度定义的一个模式。事件是其后跟随幅度的第二子集的单个幅度的一连串的零个或多个最可能发生的幅度,其中所有其他幅度被设置为最可能发生的,即是用于由该单个幅度所定义的模式的模式修改后的系列的。还存在其他表,其中每一个用于其后跟随2、3、4等等中的每一个的一连串的零个或多个0幅度。用于相同事件的这些表在以上表3-2、3-3、…中示出。
一旦定义了序列集合,则在一个实施例中,可为包括其后跟随一连串预定集合序列中的一个集合的一连串0幅度的符号(事件)搜集统计信息,其中所有其他幅度被设置为0。表7-1示出一个这种统计信息集合。
                   表7-1:其前是零系数幅度的系数幅度模式的统计信息
  系数幅度模式                               零值系数的游程长度
  0   1   2   3
  1   S1-1-0   S1-1-1   S1-1-2   S1-1-3
  11   S1-2-0   S1-2-1   S1-2-2   S1-2-3
  111   S1-3-0   S1-3-1   S1-3-2   S1-3-3
  …   …   …   …   …
  111111   S1-6-0   S1-6-1   S1-6-2   S1-6-3
  101   S101-1-0   S1-1-1   S1-1-2   S1-1-3
  1001   S1001-1-0   S1001-1-1   S1001-1-2   S1001-1-3
  1101   S1101-1-0   S1101-1-1   S1101-1-2   S1101-1-3
  1011   S1011-1-0   S1011-1-1   S1011-1-2   S1011-1-3
  10001   S10001-1-0   S10001-1-1   S10001-1-2   S10001-1-3
  11001   S11001-1-0   S11001-1-1   S11001-1-2   S11001-1-3
  10101   S10101-1-0   S10101-1-1   S10101-1-2   S10101-1-3
  10011   S10011-1-0   S10011-1-1   S10011-1-2   S10011-1-3
  11101   S11101-1-0   S11101-1-1   S11101-1-2   S11101-1-3
  10111   S10111-1-0   S10111-1-1   S10111-1-2   S10111-1-3
  101101   S101-2-0   S101-2-1   S101-2-2   S101-2-3
在这种情况下,量Si-j-k是其后将有序列i的j次重复的一连串k个0幅度的统计量。因此,S101-3-4是系数幅度序列0000101101,该序列为四个0之后是序列101的两次重复。
然后为Si-j-k中的每一个导出可变长度码,以提供如表8-1所示的VLC表。
                           表8-1:之前为零的系数幅度模式的VLC
  系数幅度模式                         零值系数的游程长度
  0   1   2   3
  1   C1-1-0   C1-1-1   C1-1-2   C1-1-3
  11   C1-2-0   C1-2-1   C1-2-2   C1-2-3
  111   C1-3-0   C1-3-1   C1-3-2   C1-3-3
  …   …   …   …   …
  111111   C1-6-0   C1-6-1   C1-6-2   C1-6-3
  101   C101-1-0   C101-1-1   C101-1-2   C101-1-3
  1001   C1001-1-0   C1001-1-1   C1001-1-2   C1001-1-3
  1101   C1101-1-0   C1101-1-1   C1101-1-2   C1101-1-3
  1011   C1011-1-0   C1011-1-1   C1011-1-2   C1011-1-3
  10001   C10001-1-0   C10001-1-1   C10001-1-2   C10001-1-3
  11001   C11001-1-0   C11001-1-1   C11001-1-2   C11001-1-3
  10101   C10101-1-0   C10101-1-1   C10101-1-2   C10101-1-3
  10011   C10011-1-0   C10011-1-1   C10011-1-2   C10011-1-3
  11101   C11101-1-0   C11101-1-1   C11101-1-2   C11101-1-3
  10111   C10111-1-0   C10111-1-1   C10111-1-2   C10111-1-3
  101101   C101-2-0   C101-2-1   C101-2-2   C101-3-3
其他表与表3-2、3-3等相同,编码表与表4-2、4-3等相同。
不同版本可包括序列集合中的更多或更少序列。一个实施例包括每个以幅度1开始的序列。另一个只包括表8-1所示的那些。此外,虽然一个版本具有每个序列的某些重复,但是另一版本只具有每个序列的一个实例。另一版本具有某些序列的重复,例如单幅度1的重复,但没有某些其他序列的重复。例如,一个版本最多只包括六个连续的幅度1,并且只包括两个101的序列,如表8-1所示。
此外,可收集与表5类似的统计信息表,只不过第一列是表8-1中的事件的统计信息。
      表9:表7-1、3-2、3-3…中每一个的统计信息
                 以下列值结束的幅度表
  1   2   3   4   5   6   7
 1ST  2ST  3ST  4ST  5ST  6ST  7ST
其中1ST是表7-1的连续串的数目,iST,i>1是表3-i,i=2,3,4,...中的条目的总数。
基于这些统计信息,或者基于假设的其后跟随以预定集合的特定序列或序列重复或>1的幅度(所有其他幅度为0)结束的系数的一连串零的可能性,1-D VLC表被构造为表10:
       表10:表7-1、3-2、3-3…中每一个的码
                以下列值结束的幅度表
  1   2   3   4   5   6   7
 1CT  2CT  3CT  4CT  5CT  6CT  7CT
其中1CT是用于使用表8-1的码,iCT,i>1是用于使用表4-i,i=2,3,4,...的码。同样,最频繁发生的统计量(通常是变换编码中的1CT)被分配最短位数,最少发生的表被分配最长位数。
同样,一个实施例使用固定表,该表例如是根据先验统计信息构造的。这种统计信息可从实验获得,这些实验是执行来确定最可能发生的序列的集合以及这种预定序列的一个或多个重复之后的一连串0的相对可能性的,其中所有其他系数为0。在另一实施例中,表可根据实际数据而改变。
为了使用编码表,在一个版本中,在变换块被标识为帧间(包括运动补偿后的帧)或帧内模式后,块内的量化后的变换系数系列被根据上表编码。
例如,为了对以下的例如4×4块的变换的16个变换系数的序列编码:
01-103-10100100000,
符号被忽略(关于对符号编码将参见后文),幅度1被用表8-1编码,就好像除了0和1外没有其他幅度一样。即,对于幅度1的模式修改后的系列:
0110010100100000。
幅度3被用表4-3编码,就好像除了0和3外没有其他幅度一样,即对于幅度3的模式修改后的系列:
0000300000000000。
来自表10的码在每个序列的每个码集合之前。产生的码序列(忽略符号)为:
1CT C11001-1-1 C1001-1-1 3CT 3C4 EOB
其中EOB是指示块结束的码字。在一个实施例中,单个块结束(EOB)码字被用于指示该序列没有更多码;如果下一码字是来自模式表(表10)的码字,则不将EOB放置在每个序列的结束处。在另一实施例中,每个模式的码字序列以EOB结束。
在一个实施例中,某些相对不频繁的事件被用固定长度码编码。所确具有可能发生的系数事件可变长度编码表和1-D可变长度编码表的另一个集合
当前提出的变换编码方案MPEG-4第10部分以及H.264对4乘4系数编码块进行变换。于是大于1的幅度的可能性远小于0和1幅度的可能性。16个0和1的序列具有216个可能的排列。在另一个实施例中,只是0和1的第一表包括用于0和1的所有可能组合的可变长度码。随着存储器成本的下降,对于4×4(甚至更大)的表来说存储这种表是可行的。这种1-D码表被示为以下表11-1。
  表11-1:系数幅度模式VLC
  系数幅度模式   VLC
  0000000000000001   C-1
  0000000000000010   C-2
  0000000000000011   C-3
  0000000000000100   C-4
0000000000000101 C-5
  0000000000000110   C-6
  0000000000000111   C-7
  0000000000001000   C-8
  0000000000001001   C-9
  …   …
  …   …
  1111111111111110   C-216-2
  1111111111111111   C-216-1
表11-1是通过以下方式构造的:搜集统计信息或通过对每个序列的可能性进行先验假设或实验(所有大于1的系数被设为0),然后为每个序列分配可变长度码。为何时使用表11-1以及何时使用码表4-2、4-3等构造了另一个码表。可构造与表6类似的码表,以分配使用指示表11-1、4-2、4-3等中的哪一个的码字。在此实施例中,1CT是用于使用表11-1的码,iCT,i>1是用于使用表4-i,i=2,3,4...的码。
当模式指示使用表11-1时,不需要确定先前的0的游程长度—该方法标识了完整的序列并且在表11-1中查找VLC。
再次考虑对以下的例如4×4块的变换的16个变换系数的序列编码的示例:
01-103-10100100000,
符号被忽略(关于对符号编码参考后文)。幅度1被用表11-1编码,就好像除了0和1外没有其他幅度一样。即,对于幅度1的模式修改后的系列:
0110010100100000。
幅度3被用表4-3编码,就好像除了0和3以外没有其他幅度一样,即,对于幅度3的模式修改后的系列:
0000300000000000。
来自表6的码在每个序列的每个码集合之前。产生的码序列(忽略符号)为:
1CT C-0110010100100000 3CT 3C4 EOB
以使得在表11-1的模式中只有单个码字C-0110010100100000。
在一个实施例中,某些相对不频繁的事件被用固定长度码来编码。
对符号信息编码
本发明的另一方面是对符号信息编码。每个系数可能是正的或负的。从而,为事件集合形成的码字被用指示事件中的任何非零幅度的符号的信息来编码。
在传统2-D VLC中,信号信息向每个码字添加了1位。在本发明的一个实施例中,来自1-D编码表的序列之一的每个码字包括指示符号的符号位。即,当事件是以特定幅度结束的连续串时,在用于使用每个1-D编码表的码序列中包括了另一位,用于指示符号位。
参见使用1-D编码表集合的实施例,考虑对以下的16个变换系数的序列编码的示例:
01-103-10100100000。
幅度1被用表4-1编码,就好像除了0和1外没有其他幅度一样。即,对于幅度1的模式修改后的系列:
01-100-10100100000。
幅度3被用表4-3编码,就好像除了0和3外没有其他幅度一样。即,对于幅度3的模式修改后的系列:
0000300000000000。
令s+表示正系数的符号位,并且令s-表示负系数的符号位。来自表6的码在每个序列的每个码集合之前。产生的码序列为:
1CT 1C1s+ 1C0s- 1C2s- 1C1s+ 1C2s+ 3CT 3C4s+ EOB
其中EOB是指示块结束的码字。
这也适用于使用某些常见的具有可能发生的系数的事件的可变长度编码表以及1-D可变长度编码表的另一个集合的实施例,以及使用所有具有可能发生的系数的事件的可变长度编码表以及1-D可变长度编码表的另一个集合的实施例。
在第一替换实施例中,对于具有常见幅度0和1并且在由幅度1定义的模式的模式修改后的系列中的事件的编码表,值+1被与值-1区分开来。从而,用于二元(0或1)幅度集合的表8-1被用以下具有三元值0、+1和-1的表12-1所取代,其中事件是其后跟随常见的0、+1和-1序列的一连串连续的0,该序列以+1或-1开始。通常,该序列也以+1或-1结束。
                                 表12-1:先前为零的系数模式的VLC
  系数幅度模式                           零值系数的游程长度
  0   1   2
  +1  +1C-1-0  +1C-1-1  +1C-1-2
  +1+1  +1C-2-0  +1C-2-1  +1C-2-2
  …   …   …   …
  +1+1+1+1+1+1  +1C-6-0  +1C-6-1  +1C-6-2 ...
  -1  -1C-1-0  -1C-1-1  -1C-1-2 ...
  -1-1  -1C-2-0  1C-2-1  -1C-2-2
  …   …   …   …
  -1-1-1-1-1-1  -1C-6-0  -1C-6-1  -1C-6-2
  +1-1  +1-1C-1-0  +1-1C-1-1  +1-1C-1-2
  -1+1  -1+1C-1-0  -1+1C-1-1  1+1C-1-2
  +1+1-1  +1+1-1C-1-0  +1+1-1C-1-1  +1+1-1C-1-2
  …   …   …   …
  +10+1  +10+1C-1-0  +10+1C-1-1  +10+1C-1-2
  +10-1  +10-1C-1-0  +10-1C-1-1  +10-1C-1-2
  -10+1  -10+1C-1-0  -10+1C-1-1  -10+1C-1-2
  -10-1  -10-1C-1-0  -10-1C-1-1  -10-1C-1-2
  +100+1  +100+1C-1-0  +100+1C-1-1  +100+1C-1-2
  +100-1  +100-1C-1-0  +100-1C-1-1  +100-1C-1-2
  -100+1  -100+1C-1-0  -100+1C-1-1  -100+1C-1-2
  -100-1  -100-1C-1-0  -100-1C-1-1  -100-1C-1-2
  +1+10+1  +1+10+1C-1-0  +1+10+1C-1-1  +1+10+1C-1-2
  …   …   …   …
  -10-1-10-1  -10-1C-2-0  -10-1C-2-1  -10-1C-2-2 ...
其中量iC-j-k在此情况下是用于其后将是序列i的j次重复的一连串k个0幅度的码字,其中i是以+1或-1开始和结束的序列,并且只包含0、+1和-1。因此,+100-1C-3-2将会是以下事件的码字
00+100-1+100-1+100-1,
这是其后跟随系数序列+100-1的三次重复的一连串两个0幅度。这假设了将由此表编码的序列集合包括系数序列+100-1的三次重复。如上所述,包括可能发生的值0、+1和-1的可能的系数序列的子集被选择为包括在表中。
一个实施例选择以非零幅度开始(通常也以非零幅度结束)的包括可能发生的值0、+1和-1的系数的序列的预定集合—可能的序列的子集—中的序列的单个实例,而另一实施例,例如表12-1,允许预定集合的序列的某些重复。
例如,为了对以下的例如4×4块的变换的16个变换系数的序列编码:
01-103-10100100000,
幅度1被用表12-1编码,就好像除了0和1外没有其他幅度一样。即,对于幅度1的模式修改后的系列:
01-100-10100100000。
幅度3被用表4-3编码,就好像除了0和3外没有其他幅度一样。即,对于幅度3的模式修改后的系列:
0000300000000000
来自表10的码(假设1CT指示使用表12-1)在每个序列的每个码集合之前。产生的码序列为:
1CT +1-100-1C-1-1+100+1C-1-1 3CT 3C4s+EOB,
其中s+是用于如上大于1的幅度的表的+的符号编码,EOB是指示块结束的码字。这假定了+1-100-1是包括在表12-1中的序列之一。
类似地,对于包括所有具有可能发生的系数的事件的可变长度编码表和1-D可变长度编码表的另一个集合的实施例,表11-1可由区分+1和-1的编码表所取代,即由是0、+1和-1的序列的所有事件的编码表取代。对于N个系数的序列,有3N-1个这样的序列。对于4乘4的块,这意味着表中有316-1个条目。这比43000000条目略多。随着存储器成本的稳定下降,这种表将会迅速变得可行。
根据本发明的另一方面,符号信息是以与符号变化有关的信息的形式来编码的。我们将这称为差分符号编码。
根据差分符号编码的一个实施例,与符号变化有关的信息是系数系列中的非零系数的符号的任何变化。
差分符号编码适用于使用1-D表系列,例如适用于对表4-1、4-2、4-3等编码,并且对于使用常见幅度序列的子集的编码表或者所有的常见幅度序列的表的实施例,差分符号编码适用于大于1的幅度的1-D表,例如适用于对表4-2、4-3等编码。
根据使用差分符号编码的一个实施例,可标识的码被用于指示从+到-和从-到+的变化。一个版本假设第一个符号是+,而另一个假设第一个符号是-。还有一个版本以指示第一个符号是+还是-的码开始,然后进行到只对符号变化编码。
一个实施例在与模式有关的系列的每个模式内使用差分符号编码。与符号变化有关的信息用于与模式有关的系数系列中的非零系数的符号的任何变化。再次考虑对以下的例如4x 4块的变换的16个变换系数的序列编码的示例:
01-103-10100100000。
假设一种方法,根据该方法第一个符号被假设为+。令sc为指示符号变化的唯一码。符号1被用表4-1编码,就好像除了0和1外没有其他幅度一样。即对于幅度1的模式修改后的系列:
01-100-10100100000。
幅度3被用表4-3编码,就好像除了0和3外没有其他幅度一样,即,对于幅度3的模式修改后的系列:
0000300000000000。
来自表6的码在用于使用每个1-D表的每个码字集合之前。产生的码序列为:
1CT 1C1sc 1C0 1C2sc 1C1 1C2 3CT 3C4 EOB
其中EOB是指示块结束的码字,并且符号变化码字在具有新符号的码字之前。在替换实施例中,符号变化码字在具有新符号的码字之后而不是之前。
对于包括对第一个符号的指示的实施例,产生的码序列为:
1CTs+ 1C1sc 1C0 1C2sc 1C1 1C2 3CTs+ 3C4 EOB
其中s+和s-分别指示第一个系数是+ve和-ve,EOB是指示块结束的码字,其中初始符号和符号变化码字在具有符号的码字之前。
根据另一个替换实施例,对系数符号的编码包括对所有非零系数的符号序列编码,以对所有符号产生单独的符号码字。只有非零系数被编码。这种编码只能根据非零系数的相对定位来完成,而不考虑非零系数的实际位置,例如,不考虑非零系数之前的连串的零幅度系数的长度。
对于示例性的16个系数的序列:
01-103-10100100000,
符号为
+-+-++。
因为在运动补偿后的残余图像的典型变换中,大多数系数为零,即较少数的非零系数比许多非零系数更可能发生,所以,在一个实施例中,符号序列的编码是为+编码1并且为-编码0,其前是指示随后的码字的唯一码。这提供了可变长度码。例如,上述符号序列的可变长度码字将会是
cs101011,
其中cs是指示随后的符号码字的码。在另一实施例中,不使用或需要cs码。符号序列可被附加在EOB结束处。
用于编码的装置
图3示出用于根据使用表6和表4-1、4-2、…的VLC实施例进行编码的装置的一个实施例300。一个实施例使用诸如表4-1、4-2、…这样的1-D查找表的集合以及诸如表6这样的查找表,来包括码码字。当应用到变换编码时,量化后的变换系数系列是通过变换2D图像块、沿块中路径对变换系数排序并且量化系数,从而获得的。系数系列被输入到事件识别器303中,在一个实施例中,该事件识别器包括识别所有非零幅度的识别器—称为模式识别器—并且为每个这种非零幅度生成事件集合,就好像所有其他幅度都是零一样,即对模式的每个模式修改后的系列生成事件集合。对于所遇到的每个非零幅度,事件识别器确定从上一个这种非零幅度(或者序列开始)直到所遇到的下一个非零幅度的每个连续串的0的游程长度集合,就好像不存在其他非零幅度一样。游程长度确定的一个版本使用并行操作的计数器。在这种版本中,单个计数器311持续从序列开始处计数。每次遇到先前未遇到的未零幅度时,将来自主计数器的值作为该幅度的第一游程长度进行传送,并且为该幅度开始新的计数器。在图3中,每个这种幅度的计数器被示为313、315、…并且被表示为cnt1、cnt2、…、cntN,用于所找到的N个不同的幅度。
使用并行计数器的事件识别303的一个实施例将事件集合并行传送到编码器305,一个集合用于所遇到的一个非零幅度。图3示出N个不同幅度的情况。每个事件集合包括该集合的幅度(模式)以及这种幅度之间的零的游程长度序列(假设所有其他幅度都是0)。
编码器305耦合到存储器307,该存储器将信息存储在1-D编码表4-1、4-2、…以及编码表(表6)中。编码器305包括查找设备,用于查找编码表以便输出模式的码字,然后查找用于这种模式的游程长度序列的编码表(好像所有其他幅度都为0一样)。一个实施例使用游程长度作为存储在带索引的列表中的码的索引。如上所述,对于某些事件,形成带有转义码的固定长度码字(参见下文)。然后编码器输出每个模式的完整的码字序列,每个序列以该模式的码字开始。还包括了符号信号。
虽然图3所示的实施例具有与查找设备相分离的存储查找表的存储器307,但是在另一实施例中,存储器是编码器305的查找设备的一部分。
图4示出实现上述方法实施例中的另一个实施例的装置的实施例400,其中模式之一用于其后跟随幅度1和0的预定序列集合中的一个序列的连串的0幅度,该序列以幅度1开始和结束。具体而言,实施例400实现了使用编码表表8-1、4-2、4-3、…和模式编码表10的版本。在一个版本中,编码表8-1只包括任何预定序列的单次重复。本领域的技术人员很清楚如何修改预定序列集合中的任何序列的重复。
如上所述,当应用到变换编码时,量化后的变换系数系列是通过变换3D图像块、沿块中路径对变换系数排序并且量化系数,从而获得的。系数系列被输入到事件识别器403中,该事件识别器在一个实施例中包括序列模式识别器,该序列模式识别器识别幅度1和0的M个序列的预定集合中的哪个序列跟随在一连串的零个或多个0之后。事件识别器403还识别大于1的非零幅度中的哪一个跟随在一连串的零个或多个0之后。事件识别器还确定从上一个识别出的预定集合的序列开始的连串的0的游程长度,就好像所有其他幅度都是0一样。此外,对于所遇到的每个除1外的非零幅度,事件识别器确定从上一个这种非零幅度(或序列开始)直到所遇到的下一个非零幅度的每个连续串的0的游程长度集合,就好像不存在其他非零幅度一样。
游程长度确定的一个版本使用并行操作的计数器。在这种版本中,单个计数器411持续从序列开始处计数。首次遇到预定序列之一时,声明计数器413。每次遇到先前未遇到过的除1外的非零幅度时,将来自主计数器的值作为该幅度的第一游程长度传送,并且为该幅度开始新的计数器。在图3中,每个这种幅度的计数器被示为415、…并且表示为cnt2、…、cntN,用于所找到的N-1个这种不同的大于1的幅度。
预定序列集合中的每个序列具有序列号。事件识别器403耦合到存储序列子集的存储器407。事件识别器输出信息到编码器405。对于大于1的幅度的输出与图3的实施例300的相同,对于序列,输出是模式指示符,其后跟随用于每个识别出的序列的两个数字的序列:识别出的序列号和从上一个识别出的序列开始的0的游程长度,就好像所有其他幅度都是0一样。
在一个实施例中编码器405包括查找设备,该查找设备耦合到将信息存储在表8-1、表4-2、403、…和表10中的存储器。在一个实施例中,与用于存储序列相同的存储器407被用于存储表。在另一实施例中,使用单独的存储器。
虽然图4所示的实施例具有与查找设备相分离的存储查找表的存储器,但是在另一实施例中,存储编码表的存储器是编码器405中的查找设备的一部分。“查找设备耦合到存储器”这一短语包括查找设备包括存储器的情况。
正如本领域中已知的那样,块结束(EOB)指示符可与任何上述编码方案一起使用,以指示块的结束,即块中的所有剩余系数都具有零幅度。
在每个编码方案的替换版本中,关于是否达到块结束的信息可作为事件的一部分被包括在内。换言之,事件现在包括附加的“维”,该维被称为“最后(last)”,指示事件是否是块中的最后事件,即块中该事件后的剩余系数都是最常见的幅度(零)。
注意可修改上述装置以包括所有上述的用于对系数序列编码的替换方式,并且本领域的技术人员将会清楚如何修改装置。此外,可修改上述装置以包括所有上述的用于对符号信息编码的方法,并且本领域的技术人员将会清楚如何修改装置。
解码
本发明的另一方面是用于对由任何这里所描述的编码方法所编码的位流进行解码的方法。例如,一个方面是用于对由包括码字模式的方法所编码的位流进行解码的方法。在一个实施例中,模式被定义为非零幅度。码字定义模式,并且在每个模式内,当所有其他幅度被定义为0时,为其后跟随该幅度的零个或多个零值系数的每个连续串形成码字。在另一版本中,模式之一用于幅度1系数,并且对于该模式,对于其后跟随一连串的预定序列集合之一的零个或多个零值系数的每个连续串形成码字,并且所有其他不是1的非零幅度被视为零。预定集合中的每个序列是以幅度为1的系数开始和结束的幅度1和0的序列。编码使得位流中的相对较短的码字表示相对更可能发生的事件,而相对较长的码字表示相对不那么可能发生的事件。解码方法包括确定模式,然后对于该模式,对于每个码字,确定每个码字所表示的事件,并且确定每个确定出的事件的系数的子系列,直到确定块中的所有系数。然后组合解码后的模式以提供原始序列。在一个版本中,表示块结束的码字被用于编码中,以指示块中的所有剩余系数都是0。当解码方法遇到表示块结束的码字时,它将幅度0分配给所有剩余系数。
在给定诸如编码表这样的对编码方案的描述的情况下,如何识别位流中的码字以及如何对识别出的码字解码是本领域中已知的。在一个实施例中,选择码以使得没有码字是更长的码字的前缀。编码方法包括随着获得输入位流的更多数据而逐位识别码字。一种方法使用解码表,它是提供用于所有可能的码字的事件的表。在识别出码字时,形成该码字的事件,即系数序列。
一种解码方法使用查找表。在这种实施例中,提供包含多个码字以及用于每个码字的事件的表。对于用于每个识别出的码字的事件的确定包括查找该表。
本发明的另一方面是用于对根据任何这里所描述的新颖方法编码的位流进行解码的装置。图5示出该装置的一个实施例。码字识别器502接受位流的位,并识别可能的码字的集合中的码字,每个可能的码字表示一个事件或一个模式。解码器504耦合到码字识别器502,并且确定由码字识别器所识别出的码字的模式或事件。在一个实施例中,解码器504是查找设备,其查找存储在存储器506中的表。该表提供该码字集合中的至少某些码字的事件。其他码字可包括转义码,以使得解码是通过除表查找以外的其他方式进行的。在一个实施例中,位流被存储在缓冲器908中,并且缓冲器的输出耦合到码字识别器。
虽然在图5所示的实施例中,存储器被示为与查找设备相分离,但是本领域的技术人员将会理解在其他实施例中,用于表的存储器是查找设备的一部分,并且这里包括这种其他实施例。
本发明的另一方面是存储编码数据结构的存储器(例如图3中的存储器307、图4中的存储器407和图5中的存储器506),该编码数据结构提供用于事件的码字,正如这里所描述的新颖的编码方法中的任何一种所描述的那样。在一个实施例中,数据结构采取一个或多个表的形式。例如,一个存储器实施例存储提供用于模式的码字的表,然后包括用于事件的表,这些事件是用于每个非零幅度的,每个事件是其后跟随该非零幅度的一连串的零个或多个零值系数的长度,就好像所有其他非零幅度都是零一样。对于每个幅度存在一个这种表。在另一实施例中,表中的一个定义了事件,其中每个事件是其后跟随一连串的预定序列集合之一的一连串的零个或多个零值系数,该集合中的每个序列或者是幅度大于1的单个系数,或者是以幅度为1的系数开始的1和0的序列,就好像所有其他非零系数都是零一样。表中相对较短的码字表示相对更可能发生的事件,相对较长的码字表示相对不那么可能发生的事件。
本说明书中提到“一个实施例”或“实施例”都是指联系该实施例描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。从而,在本说明书中各种地方出现的“在一个实施例中”或“在实施例中”的短语不一定都是指示相同的实施例。此外,正如对于本领域的技术人员显而易见的那样,在一个或多个实施例中,可以按任何合适的方式组合特定特征、结构或特性。
类似地,将会意识到在以上对于本发明的典型实施例的描述中,本发明的各种特征有时被聚集在其单个实施例、附图或描述中,以便简化公开文本并帮助理解各种发明性方面中的一个或多个。但是,这种公开方法不应该被解释为反映了希望所要求保护的发明要求比每个权利要求中明确陈述的特征更多的特征。相反,正如所附权利要求所反应的,存在的发明性方面少于单个前述公开的实施例的所有特征。从而,具体实施方式之后的权利要求因此被明确包含进此具体实施方式中,其中每个权利要求作为本发明的单独的实施例而独立存在。
还应该理解,虽然已在图像变换编码的上下文中描述了本发明,但是本发明不限于这种上下文,并且可用于各种其他压缩应用和系统。此外,本发明不限于任何一类体系结构或一类变换编码。例如,上文提到DCT作为一种变换。可使用其他变换,例如新的H.264/MEG-4第10部分AVC视频编码标准/草案标准定义了4×4块和类似DCT的4×4整数变换。如果使用了帧间编码的话,则本发明不依赖于任何特定类型的帧间编码,或者如果将运动补偿用于帧间编码的话,则本发明不依赖于任何特定类型的运动补偿,或者如果将帧内估值用于利用来自相邻块的信息对块的像素进行估值的话,则本发明不依赖于任何帧内估值。
注意可变长度编码有时被称为熵编码或统计编码。
另注意幅度这个词是不考虑符号的。因此,例如,值为+1和-1的系数的幅度均为1。
虽然这里描述的一个实施例包括了存储编码表的存储器,但是其他实施例以除了表之外的其他数据结构的形式来存储编码信息,所述数据结构例如是包括树的结构。也可使用其他数据结构。类似的,虽然这里描述的一个实施例包括了存储解码的存储器,但是其他实施例以除了用于解码的表以外的其他数据结构的形式来存储解码信息。
另外注意本发明不依赖于所使用的特定类型的VLC,并且例如对于哈夫曼编码和算术编码方法都起作用。此外,虽然已描述了基于假设的或先验的事件(也称为符号)发生可能性使用固定编码的实施例,即事件发生可能性不改变,但是其他实施例使用自适应编码,即编码可根据诸如从实际系数收集的柱状图这样的统计数据而改变。
从而,虽然已描述了被相信是本发明的优选实施例的实施例,但是本领域的技术人员将会意识到在不脱离本发明的精神的情况下,可对其做出其他和进一步的修改,并且希望将所有这种改变和修改都要求为落在本发明的范围之内。

Claims (57)

1.一种用于处理数字信号系列的方法,该数字信号系列中的每一个数字信号具有来自幅度集合的幅度,所述幅度集合包括第一值子集和第二值子集,所述第一值子集包括最常见幅度和至少一个其他幅度,所述处理用于减少用于表示所述数字信号的数据量以及用于形成码字,以使得最频繁出现的数字信号值序列由相对较短的码字表示,而不那么频繁出现的数字信号值序列被用相对较长的码字表示,所述方法包括,
为所述数字信号系列中遇到的模式集合中的每个模式形成一个码字,为所述第二值子集中的每个幅度定义不同的模式;以及
对于每个所遇到的模式,为所述所遇到的模式的信号系列中的事件形成码字,由所遇到的所述第二值子集的幅度定义的每个模式的每个事件是其后跟随这种所遇到的幅度的零个或多个具有所述最常见幅度的信号的游程长度,此时除了所述最常见幅度和所述所遇到的幅度之外的所有幅度都被视为好像它们具有最常见的所遇到的幅度一样,以使得形成相对较短的码字来表示相对更可能发生的模式,并且在任何模式内,形成相对较短的码字来表示相对更可能发生的事件。
2.如权利要求1所述的方法,其中所述第一值子集包括所述最常见幅度和至少一个其他幅度,并且其中为所述第一子集中除所述最常见幅度外的幅度定义第一模式,以使得每个模式的每个事件由所遇到的除所述最常见幅度之外的幅度所定义,并且每个模式的事件由所遇到的除所述最常见的之外的幅度之前的一连串的零个或多个连续的最常见幅度的游程长度所定义,此时除了所述最常见幅度和所述所遇到的幅度之外的其他所有幅度都被视为好像它们具有最常见的所遇到的幅度一样。
3.如权利要求1所述的方法,其中第一模式包括一个或多个信号序列的预定集合中的一个或多个序列,所述一个或多个信号中的每一个具有来自幅度的第一子集的幅度,所述序列以除了所述最常见幅度外的其他幅度开始,所述第一模式中的每个事件是其后跟随一连串的预定序列集合中的一个或多个相同序列的一连串的零个或多个具有所述最常见幅度的信号,就好像所述值的第二集合的所有幅度都等于所述最常见幅度一样。
4.如权利要求3所述的方法,其中提供表用于存储用于所述第一模式的事件集合的多个码字,所述表被组织为使得与不那么可能发生的事件相比,所述更可能发生的事件具有较短的码字,并且其中为所述第一模式的每一个所形成的事件形成码字的步骤包括查找所述表。
5.如权利要求1所述的方法,其中所述最常见值是最可能发生的幅度,并且其中所述第一幅度子集中的其他幅度比所述第二幅度子集中的幅度更可能发生。
6.如权利要求1所述的方法,其中第一模式包括具有所述信号系列的长度并且具有来自所述第一幅度子集的幅度的所有可能的序列,当所述第二子集的所有幅度被视为等于所述最常见幅度时,所述第一模式的每个事件是具有来自所述第一子集的幅度的序列之一。
7.如权利要求1所述的方法,还包括以下步骤:
为所述模式中的至少某些模式的事件中的至少某些事件形成固定长度码字。
8.如权利要求7所述的方法,其中为其形成固定码字的事件与为其使用可变长度码字的事件相比不那么可能发生,并且其中所述固定长度码字至少与任何可变长度码字一样长。
9.如权利要求1所述的方法,其中所述最常见幅度为零,所述第一值子集包括幅度1。
10.如权利要求1所述的方法
其中所述数字信号系列是变换后的图像数据块的量化后的系数系列,所述变换使得所述最常见幅度为0,
其中所述第一子集包括幅度0和1,并且
其中所述第二子集包括大于1的非零幅度,
以使得预定序列集合包括单个大于1的幅度,或者以1开始的幅度为1和1的序列,并且
以使得为其形成码字的每个事件是其后或者跟随一连串以1开始的0和1的相同序列或者跟随单个大于1的幅度的一连串的零个或多个0。
11.如权利要求5所述的方法,其中为每个事件形成码字是基于假设的先验的事件发生可能性而固定的。
12.如权利要求5所述的方法,其中为每个事件形成码字可根据从所述数字值系列收集的实际统计数据而改变。
13.如权利要求1所述的方法,还包括:
形成关于所述系列中的剩余数字信号何时具有所述最常见幅度的指示。
14.如权利要求1所述的方法,其中形成事件还包括指示所述事件是否是所述系列中的最后事件,以使得所述系列中所述事件之后的所有数字信号都具有所述最常见幅度。
15.如权利要求1所述的方法,还包括以下步骤:利用指示所述事件中的任何非零幅度的符号的信息对所述所形成的事件的码字编码。
16.一种用于对经排序的量化后的系数系列编码的方法,所述系数是图像数据块的变换的量化后的系数,所述量化后的系数被沿二维路径排序,以形成量化后的变换系数系列,所述方法包括:
定义一个或多个模式的集合,为以及通过所述系数系列中所遇到的每个不同的非零幅度包括不同的模式;
形成码字以指示每个所遇到的模式;
为模式修改后的系数系列中的每个模式形成事件,所述模式修改后的系列是通过将所述系数系列中除了定义所述模式的系数幅度外的其他所有非零系数都设置为零而形成的,由非零幅度定义的模式中的至少某些模式中的每个事件包括其后跟随定义所述模式的所述非零幅度的零个或多个零值系数的模式修改后的系列中的连续串;
为每个所形成的事件形成码字,
形成码字系列,所述码字包括用于指示所述模式的码字,并且对于每个模式包括用于指示所述模式的事件的码字,
以使得形成相对较短的码字来代表相对更可能发生的模式和模式内的事件。
17.如权利要求16所述的方法,其中每个模式由所述系数系列中的非零幅度所定义,并且其中每个模式中的事件由其后跟随定义所述模式的所述非零幅度的零个或多个零值系数的模式修改后的系列中的连续串的游程长度所定义。
18.如权利要求16述的方法,其中第一模式包括一个或多个系数的序列的预定集合中的一个或多个序列,所述一个或多个系数中的每一个具有幅度0或1,所述序列以幅度1开始,并且其中所述第一模式中的事件是其后跟随一连串的预定序列集合中的一个或多个相同序列的零个或多个零幅度系数的模式修改后的系列中的连续串。
19.如权利要求18所述的方法,其中提供表用于存储用于所述第一模式的事件集合的多个码字,所述表被组织为使得与不那么可能发生的事件相比,所述更可能发生的事件具有较短的码字,并且其中为所述第一模式的每个所形成的事件形成码字的步骤包括查找所述表。
20.如权利要求16所述的方法,
其中第一模式包括具有所述系数系列的长度、至少一个系数幅度为1并且所有其他系数幅度都为0或1的所有可能的序列,并且
其中所述第一模式的事件是所述第一模式的模式修改后的系列。
21.如权利要求20所述的方法,其中提供表用于存储用于所述第一模式的事件集合的多个码字,所述表被组织为使得与不那么可能发生的事件相比,所述更可能发生的事件具有较短的码字,并且其中为所述第一模式的每一个所形成的事件形成码字的步骤包括查找所述表。
22.如权利要求16所述的方法,还包括:
形成关于所述系列中的剩余系数何时具有幅度0的指示。
23.如权利要求16所述的方法,其中形成事件还包括指示所述事件是否是所述系列中的最后事件,以使得所述系列中所述事件之后的所有剩余系数都具有幅度0。
24.如权利要求16所述的方法,还包括以下步骤:利用关于所述事件的任何非零系数的符号的指示对所述所形成的事件的码字编码。
25.如权利要求24所述的方法,其中所述符号指示包括用于每个码字的符号位,以指示所述非零系数的符号。
26.如权利要求24所述的方法
其中由幅度1定义的第一模式包括一个或多个系数的序列的预定集合中的一个或多个序列,所述一个或多个系数中的每一个具有幅度0或1,所述序列以幅度1开始,并且值+1与值-1被区别开来,其中在幅度1的模式修改后的系列中值+1与值-1被区别开来,并且
其中所述第一模式中的事件是其后跟随一连串的以幅度为1的值开始的值0、+1和-1的序列的预定集合中的一个或多个相同序列的零个或多个连续的零幅度系数的模式修改后的系列中的连续串。
27.如权利要求24所述的方法,
其中由幅度1定义的第一模式包括与所述系列具有相同系数数目的所有可能的序列的集合中的任何序列,每个系数具有幅度0或1,所述集合中的每个序列包括至少一个非零幅度,并且值+1与值-1被区别开来,
其中在幅度1的模式修改后的系列中值+1与值-1被区别开来,并且
其中所述第一模式中的事件是其后跟随一连串的以幅度为1的值开始的值0、+1和-1的序列的预定集合中的一个或多个相同序列的零个或多个零幅度系数的模式修改后的系列中的连续串。
28.如权利要求24所述的方法,其中所述符号指示包括与符号变化有关的信息。
29.如权利要求24所述的方法,其中所述与符号变化有关的信息是关于所述系数系列中的非零系数的符号的任何变化的。
30.如权利要求24所述的方法,其中所述与符号变化有关的信息是用于所述与模式有关的系数系列中的非零系数的符号的任何变化的。
31.如权利要求28所述的方法,其中假设预定的初始符号。
32.如权利要求28所述的方法,其中包括关于第一非零系数的符号的指示。
33.如权利要求24所述的方法,其中所述符号指示包括所有非零系数的符号的序列的编码,以为所有符号产生单独的符号码字。
34.一种用于对图像数据块的变换的量化后的系数系列编码的装置,所述变换使得0是最可能发生的系数幅度,1是其次最可能发生的系数幅度,所述装置包括:
用于识别一个或多个定义的模式的集合中的任何一个模式的装置,为所述系数系列中所遇到的每个不同的非零幅度包括不同的模式,并由所述系数系列中所遇到的每个不同的非零幅度定义不同的模式;
用于形成码字以指示每个所遇到的模式的装置;
用于为模式修改后的系数系列中的每个模式形成事件的装置,所述模式修改后的系列是通过将所述系数系列中除了定义所述模式的系数幅度外的其他所有非零系数都设置为零而形成的,由非零幅度定义的模式中的至少某些模式中的每个事件包括其后跟随定义所述模式的所述非零幅度的零个或多个零值系数的模式修改后的系列中的连续串;
用于为每个所形成的事件形成码字的装置,
用于形成码字系列的装置,所述码字包括用于指示所述模式的码字,并且对于每个模式包括用于指示所述模式的事件的码字。
以使得形成相对较短的码字来代表相对更可能发生的模式和模式内的事件。
35.如权利要求34所述的装置,其中每个模式由所述系数系列中的非零幅度所定义,以使得每个模式中的事件由其后跟随定义所述模式的所述非零幅度的零个或多个零值系数的模式修改后的系列中的连续串的游程长度所定义。
36.如权利要求34所述的装置,其中第一模式包括一个或多个系数的序列的预定集合中的一个或多个序列,所述一个或多个系数中的每一个具有幅度0或1,所述序列以幅度1开始,并且其中所述第一模式中的事件是其后跟随一连串的预定序列集合中的一个或多个相同序列的零个或多个零幅度系数的模式修改后的系列中的连续串。
37.如权利要求34所述的装置,
其中第一模式包括具有所述系数系列的长度、至少一个系数幅度为1并且所有其他系数幅度都为0或1的所有可能的序列,并且
其中所述第一模式的事件是所述第一模式的模式修改后的系列。
38.如权利要求34所述的装置,还包括:
形成关于所述系列中的剩余系数何时具有幅度0的指示。
39.如权利要求34所述的装置,还包括以下步骤:利用关于所述事件的任何非零系数的符号的指示对所述所形成的事件的码字编码。
40.如权利要求34所述的装置,其中所述用于形成码字的装置包括
用于存储包含用于所述模式中的至少一个模式的事件集合的多个码字的表,所述表被组织为使得与不那么可能发生的事件相比,所述更可能发生的事件具有较短的码字,以及
用于查找所述表的装置。
41.一种用于对量化后的系数系列编码的装置,包括:
事件识别器,用于识别所述系列中所遇到的模式,每个模式由非零幅度定义,所述事件识别器还用于识别模式修改后的系列中的事件,所述模式修改后的系列是通过将除定义所述模式外的其他所有系数设置为0而从所述系列形成的,所述模式中的至少某些模式的事件由其后跟随单个具有定义所述模式的幅度的系数的一连串的零个或多个零值系数所定义,
编码器,其耦合到所述事件识别器,所述编码器用于为所遇到的每个模式形成码字并且为所述所遇到的模式中的识别出的事件形成码字,
以使得所述装置形成相对较短的码字来代表相对更可能发生的组合。
42.如权利要求41所述的装置,其中由幅度1定义的模式中的事件是其后跟随一连串的预定序列集合中的一个或多个序列的一连串的零个或多个零值系数,所述序列集合中的每个序列是以幅度为1的系数开始的1和0的序列,以使得对于每个事件,所述识别器在由幅度1定义的模式的情况下确定所述零个或多个零值系数的连续串的游程长度,识别所述序列的预定集合中的序列,并且在所述零个或多个零值系数的连续串之后跟随一连串的预定序列集合中的一个或多个序列的情况下确定所述识别出的序列的游程长度。
43.如权利要求42所述的装置,其中所述编码器包括查找设备,其耦合到所述事件识别器,并且通过查找码字表来确定用于所述事件中的至少某些事件的码字,所述码字是用于0的游程长度、识别出的序列以及所述识别出的序列的游程长度的组合的,所述表存储在存储器中。
44.如权利要求41所述的装置,其中所述事件识别器使得由幅度1定义的第一模式的每个事件是其后跟随以幅度为1的系数开始的1和0的序列的预定集合中的一个序列的零个或多个零值系数的模式修改后的系列中的连续串。
45.如权利要求41所述的装置,其中所述编码器为所述事件中的至少某些事件形成固定长度码字。
46.如权利要求41所述的装置,其中所述事件识别器还形成关于所述系列中的所有剩余系数何时具有幅度0的指示。
47.一种用于对位流解码以便形成图像数据块的变换的量化后的系数系列的方法,所述变换使得0是最可能发生的系数幅度,1是其次最可能发生的系数幅度,所述位流是由应用到系数系列的编码方法所编码的,所述编码方法包括:
为由非零系数幅度定义的每个模式形成码字,每个模式的事件是模式修改后的系列中的事件,所述模式修改后的系列是通过将除定义所述模式外的其他幅度设置为零而形成的,所述模式中的至少某些模式中的事件是其后跟随单个幅度大于1的系数的一连串的零个或多个零值系数,以使得所述位流中相对较短的码字表示相对更可能发生的事件,
所述解码方法包括:
识别用于模式的码字;
识别用于所述模式中的事件的码字;
确定由识别出的用于所述事件的码字所表示的事件;并且
确定每个确定出的事件的系数的子系列,直到确定出所述系列中的所有系数。
48.如权利要求47所述的方法,其中由幅度1定义的第一模式中的事件是其后跟随一连串的预定序列集合中的一个序列的一连串的零个或多个零值系数,所述集合中的每个序列是以幅度为1的系数开始的1和0的序列。
49.如权利要求47所述的方法,其中由幅度1定义的第一模式中的事件是幅度为0和1的系数系列,所述系数系列的长度与所述编码方法被应用到的所述系数系列的长度相同。
50.如权利要求48所述的方法,其中所述第一模式中的每个事件是其后跟随所述预定序列集合中的一个序列的一连串的零个或多个零值系数。
51.如权利要求48所述的方法,其中提供包含用于所述第一模式的多个码字和用于所述第一模式的码字中的至少某些码字的事件的表,并且其中确定识别出的所述第一模式中的码字的事件包括查找所述表。
52.如权利要求47所述的方法,其中所述编码使得固定长度码字被用于表示所述事件的子集。
53.一种用于对由编码方法所编码的位流解码的装置,所述装置包括:
码字识别器,用于接受所述位流的位并且识别代表模式的可能码字集合的码字,所述码字识别器还用于识别每个模式的事件,
解码器,其耦合到所述码字识别器,用于确定被所述码字识别器识别出的用于所述模式的码字的事件,
其中所述编码方法被应用到系数系列并且包括:
为由非零系数幅度定义的每个模式形成码字,每个模式的事件是模式修改后的系列中的事件,所述模式修改后的系列是通过将除定义所述模式外的其他幅度设置为零而形成的,所述模式中的至少某些模式中的事件是其后跟随单个幅度大于1的系数的一连串的零个或多个零值系数,以使得所述位流中相对较短的码字表示相对更可能发生的事件。
54.如权利要求53所述的装置,其中由幅度1定义的第一模式中的事件是其后跟随一连串的预定序列集合中的一个序列的一连串的零个或多个零值系数,所述集合中的每个序列是以幅度为1的系数开始的1和0的序列。
55.如权利要求53所述的装置,其中由幅度1定义的第一模式中的事件是幅度为0和1的系数系列,所述系数系列的长度与所述编码方法被应用到的所述系数系列的长度相同。
56.如权利要求54所述的装置,其中所述第一模式中的每个事件是其后跟随所述预定序列集合中的一个序列的一连串的零个或多个零值系数。
57.如权利要求54所述的装置,其中所述解码器包括查找设备,该查找设备为所述第一模式查找存储在存储器中的表,所述表提供用于所述第一模式的多个码字和用于所述第一模式的码字中的至少某些码字的事件。
CNB2004800103727A 2003-05-16 2004-03-03 用于视频压缩的组合的游程长度编码和可变长度编码 Expired - Fee Related CN100518325C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/439,536 US7194137B2 (en) 2003-05-16 2003-05-16 Variable length coding method and apparatus for video compression
US10/439,536 2003-05-16

Publications (2)

Publication Number Publication Date
CN1774932A true CN1774932A (zh) 2006-05-17
CN100518325C CN100518325C (zh) 2009-07-22

Family

ID=33417829

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800103727A Expired - Fee Related CN100518325C (zh) 2003-05-16 2004-03-03 用于视频压缩的组合的游程长度编码和可变长度编码

Country Status (6)

Country Link
US (2) US7194137B2 (zh)
EP (1) EP1625752A1 (zh)
CN (1) CN100518325C (zh)
AU (1) AU2004240453B2 (zh)
CA (1) CA2520652C (zh)
WO (1) WO2004105398A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729899A (zh) * 2009-11-02 2010-06-09 北京中星微电子有限公司 离散余弦变换系数的编码方法和装置
CN101878651A (zh) * 2007-10-02 2010-11-03 思科技术公司 用于图像和视频压缩的系数族的可变长度编码
CN101964912A (zh) * 2010-10-15 2011-02-02 北京中科大洋科技发展股份有限公司 一种在mpeg2中游程编码快速计算游程长度的方法
WO2018167592A1 (en) * 2017-03-14 2018-09-20 International Business Machines Corporation Non-binary context mixing compressor/decompressor
US10797723B2 (en) 2017-03-14 2020-10-06 International Business Machines Corporation Building a context model ensemble in a context mixing compressor

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1509046A1 (en) * 2003-08-22 2005-02-23 Alcatel Error resistant encoded image and video transmission using variable length codes (VLC)
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法
US7499596B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7454073B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
US7471841B2 (en) * 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length coding
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7492956B2 (en) * 2004-08-18 2009-02-17 Cisco Technology, Inc. Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
US7471840B2 (en) * 2004-08-18 2008-12-30 Cisco Technology, Inc. Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression
US7620258B2 (en) 2004-08-18 2009-11-17 Cisco Technology, Inc. Extended amplitude coding for clustered transform coefficients
US7680349B2 (en) * 2004-08-18 2010-03-16 Cisco Technology, Inc. Variable length coding for clustered transform coefficients in video compression
US7649938B2 (en) * 2004-10-21 2010-01-19 Cisco Technology, Inc. Method and apparatus of controlling a plurality of video surveillance cameras
NO322043B1 (no) 2004-12-30 2006-08-07 Tandberg Telecom As Fremgangsmate for forenklet entropikoding
WO2007010374A1 (en) * 2005-07-21 2007-01-25 Nokia Corporation Variable length codes for scalable video coding
KR100750145B1 (ko) * 2005-12-12 2007-08-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
US7345601B2 (en) * 2005-12-21 2008-03-18 Texas Instruments Incorporated Variable length coding algorithm for multiple coding modes
US7242328B1 (en) * 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
US8126062B2 (en) 2007-01-16 2012-02-28 Cisco Technology, Inc. Per multi-block partition breakpoint determining for hybrid variable length coding
US7796825B2 (en) * 2007-02-16 2010-09-14 Cisco Technology, Inc. Losslessly improving compression of compressed image data
US8144784B2 (en) 2007-07-09 2012-03-27 Cisco Technology, Inc. Position coding for context-based adaptive variable length coding
US8473428B2 (en) * 2008-12-18 2013-06-25 Cisco Technology, Inc. Generation and use of specific probability tables for arithmetic coding in data compression systems
JP5258664B2 (ja) * 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
JP2011028343A (ja) * 2009-07-22 2011-02-10 Fujitsu Ltd 演算処理装置、およびデータ転送方法
US9078009B2 (en) * 2010-02-19 2015-07-07 Skype Data compression for video utilizing non-translational motion information
US9609342B2 (en) 2010-02-19 2017-03-28 Skype Compression for frames of a video signal using selected candidate blocks
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
US9819358B2 (en) * 2010-02-19 2017-11-14 Skype Entropy encoding based on observed frequency
US20110206132A1 (en) * 2010-02-19 2011-08-25 Lazar Bivolarsky Data Compression for Video
US8934540B2 (en) 2010-07-20 2015-01-13 Cisco Technology, Inc. Video compression using multiple variable length coding methods for multiple types of transform coefficient blocks
US9025661B2 (en) 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
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
US8737464B1 (en) 2011-07-21 2014-05-27 Cisco Technology, Inc. Adaptive quantization for perceptual video coding
US8891888B2 (en) * 2012-09-05 2014-11-18 Google Inc. Entropy coding for recompression of images
CN106162201B (zh) * 2015-03-26 2019-02-15 北京君正集成电路股份有限公司 一种基于符号位分组的图像数据压缩方法及装置
US10602192B2 (en) * 2016-02-04 2020-03-24 Mediatek Inc. Methods and apparatuses for performing entropy encoding and entropy decoding with size determination of at least one bitstream portion

Family Cites Families (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US35093A (en) * 1862-04-29 Improvement in combined sword and pistol
JPS61107818A (ja) * 1984-10-30 1986-05-26 Nec Corp エントロピ−符号化方式とその装置
US4698672A (en) * 1986-10-27 1987-10-06 Compression Labs, Inc. Coding system for reducing redundancy
IT1197948B (it) * 1986-11-04 1988-12-21 Telettra Lab Telefon Codice a lunghezza variabile e dispositivi per trasmissione ad alta frequenza
US4920426A (en) * 1986-11-10 1990-04-24 Kokusai Denshin Denwa Co., Ltd. Image coding system coding digital image signals by forming a histogram of a coefficient signal sequence to estimate an amount of information
SE454734B (sv) * 1987-02-20 1988-05-24 Harald Brusewitz Forfarande och anordning for sendning och mottagning vid variabel lengdkodning
JP2508439B2 (ja) * 1987-05-29 1996-06-19 ソニー株式会社 高能率符号化装置
US5371811A (en) * 1987-07-09 1994-12-06 British Telecommunications Public Limited Company Data encoding
GB8717124D0 (en) * 1987-07-20 1987-08-26 British Telecomm P c m signal coding
GB8722394D0 (en) * 1987-09-23 1987-10-28 British Telecomm Video coder
US4813056A (en) * 1987-12-08 1989-03-14 General Electric Company Modified statistical coding of digital signals
US6563875B2 (en) * 1987-12-30 2003-05-13 Thomson Licensing S.A. Adaptive method of encoding and decoding a series of pictures by transformation, and devices for implementing this method
US4858017A (en) * 1988-01-22 1989-08-15 The Trustees Of Columbia University In The City Of New York System and method for hierarchal image encoding and decoding
US4985700A (en) * 1988-03-01 1991-01-15 Canon Kabushiki Kaisha Variable-length coding/decoding device
US4821119A (en) * 1988-05-04 1989-04-11 Bell Communications Research, Inc. Method and apparatus for low bit-rate interframe video coding
US5128758A (en) * 1989-06-02 1992-07-07 North American Philips Corporation Method and apparatus for digitally processing a high definition television augmentation signal
US5179442A (en) * 1989-06-02 1993-01-12 North American Philips Corporation Method and apparatus for digitally processing a high definition television augmentation signal
EP0406508B1 (en) * 1989-07-04 1993-09-29 Rai Radiotelevisione Italiana Device for reducing the redundancy in blocks of digital video data in dct encoding
US5086488A (en) * 1989-08-19 1992-02-04 Mitsubishi Denki Kabushiki Kaisha Transform coding apparatus
JPH0832039B2 (ja) * 1989-08-19 1996-03-27 日本ビクター株式会社 可変長符号化方法及びその装置
JPH0379182A (ja) * 1989-08-23 1991-04-04 Fujitsu Ltd 画像符号化制御方式
JPH03129987A (ja) * 1989-10-14 1991-06-03 Sony Corp 映像信号符号化装置及び映像信号符号化方法
DE69032177T2 (de) * 1989-12-25 1998-11-12 Mitsubishi Electric Corp Kodierungsgerät
JP3013381B2 (ja) * 1990-03-28 2000-02-28 ソニー株式会社 可変長データの復号装置
US5291282A (en) * 1990-04-19 1994-03-01 Olympus Optical Co., Ltd. Image data coding apparatus and method capable of controlling amount of codes
EP0469835B1 (en) * 1990-07-31 1998-09-30 Canon Kabushiki Kaisha Image processing apparatus and method
SG43860A1 (en) * 1990-09-10 1997-11-14 Mitsubishi Electric Corp Coding apparatus
JPH04185119A (ja) * 1990-11-20 1992-07-02 Matsushita Electric Ind Co Ltd 可変長符号化装置
USRE35093E (en) * 1990-12-03 1995-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods for coding even fields of interlaced video sequences
US5253053A (en) * 1990-12-31 1993-10-12 Apple Computer, Inc. Variable length decoding using lookup tables
DE69225621T2 (de) * 1991-01-17 1998-11-12 Mitsubishi Electric Corp Vorrichtung zur Kodierung eines Videosignals
DE69216436T2 (de) * 1991-01-29 1997-05-15 Canon Kk Bildsignalkodierungsgerät
EP1331825A3 (en) * 1991-04-10 2005-10-19 Mitsubishi Denki Kabushiki Kaisha Encoder and Decoder
US5647049A (en) * 1991-05-31 1997-07-08 Kabushiki Kaisha Toshiba Video recording/reproducing apparatus which uses a differential motion vector determined using two other motion vectors
JPH0541862A (ja) * 1991-08-03 1993-02-19 Sony Corp 動きベクトルの可変長符号化方式
JPH0568243A (ja) * 1991-09-09 1993-03-19 Hitachi Ltd 可変長符号化制御方式
US5475501A (en) * 1991-09-30 1995-12-12 Sony Corporation Picture encoding and/or decoding method and apparatus
NO175080B (no) 1992-03-11 1994-05-16 Teledirektoratets Forskningsav Fremgangsmåte for koding av bildedata
KR0160610B1 (ko) * 1992-04-07 1999-01-15 강진구 가변장부호화에 의한 영상압축방법과 신장방법 및 그 장치
JP2697479B2 (ja) * 1992-04-17 1998-01-14 国際電信電話株式会社 可逆可変長符号化方式
JPH05344490A (ja) * 1992-06-10 1993-12-24 Canon Inc 符号化方法および符号化装置
US5226082A (en) * 1992-07-02 1993-07-06 At&T Bell Laboratories Variable length decoder
US5253055A (en) * 1992-07-02 1993-10-12 At&T Bell Laboratories Efficient frequency scalable video encoding with coefficient selection
US5363097A (en) * 1992-09-14 1994-11-08 Industrial Technology Research Institute Direct sequential-bit variable length decoder
KR0129558B1 (ko) * 1992-10-26 1998-04-10 배순훈 적응적 가변길이 부호화 방법 및 장치
US5982437A (en) * 1992-10-26 1999-11-09 Sony Corporation Coding method and system, and decoding method and system
US5400075A (en) * 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5717394A (en) * 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
JP3446237B2 (ja) * 1993-04-16 2003-09-16 ソニー株式会社 可変長符号テーブル生成方法及び装置
JP3210996B2 (ja) * 1993-07-30 2001-09-25 三菱電機株式会社 高能率符号化装置及び高能率復号化装置
US5479527A (en) * 1993-12-08 1995-12-26 Industrial Technology Research Inst. Variable length coding system
KR0155784B1 (ko) * 1993-12-16 1998-12-15 김광호 영상데이타의 적응형 가변장 부호화/복호화방법
KR970009408B1 (ko) * 1994-01-18 1997-06-13 대우전자 주식회사 인터/인트라 테이블 선택 회로
US5491480A (en) * 1994-05-25 1996-02-13 Industrial Technology Research Institute Variable length decoder using serial and parallel processing
JP3220598B2 (ja) * 1994-08-31 2001-10-22 三菱電機株式会社 可変長符号テーブルおよび可変長符号化装置
JPH08102943A (ja) * 1994-09-30 1996-04-16 Fuji Xerox Co Ltd 画像符号化装置
KR0139161B1 (ko) * 1994-11-26 1998-05-15 김광호 가변장부호테이블의 심볼-부호어 재배정을 이용한 가변장 부호화/복호화 장치
KR100209877B1 (ko) * 1994-11-26 1999-07-15 윤종용 복수개의 허프만부호테이블을 이용한 가변장부호화장치 및 복호화장치
US5521718A (en) * 1994-12-05 1996-05-28 Xerox Corporation Efficient iterative decompression of standard ADCT-compressed images
KR0139164B1 (ko) * 1994-12-19 1998-06-01 김광호 적응적 직교변환부호화 장치
EP1802134A3 (en) * 1995-03-15 2008-12-31 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
US6104754A (en) * 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
KR100209410B1 (ko) * 1995-03-28 1999-07-15 전주범 영상 신호 부호화 장치
US5648774A (en) * 1995-05-08 1997-07-15 Industrial Technology Research Institute Variable length coding with three-field codes
JP3226439B2 (ja) * 1995-06-02 2001-11-05 松下電器産業株式会社 画像符号化方法および画像復号方法
JP3992303B2 (ja) * 1995-06-22 2007-10-17 ソニー株式会社 信号圧縮装置と信号伸長装置および信号圧縮方法と信号伸長方法
US5740283A (en) * 1995-07-06 1998-04-14 Rubin, Bednarek & Associates, Inc. Digital video compression utilizing mixed vector and scalar outputs
KR100188934B1 (ko) * 1995-08-28 1999-06-01 윤종용 영상 신호 부호화 장치 및 방법
JP3355888B2 (ja) * 1995-09-19 2002-12-09 松下電器産業株式会社 画像符号化記録再生装置
KR100304660B1 (ko) * 1995-09-22 2001-11-22 윤종용 누적에러처리를통한비디오신호부호화방법및부호화기
JP3267142B2 (ja) * 1996-02-23 2002-03-18 ケイディーディーアイ株式会社 可変長符号生成装置
US5818877A (en) * 1996-03-14 1998-10-06 The Regents Of The University Of California Method for reducing storage requirements for grouped data values
DE69724841T2 (de) * 1996-11-06 2004-07-08 Matsushita Electric Industrial Co., Ltd., Kadoma Methode zur Bilddekodierung mit Kodes variabler Länge
JP2870515B2 (ja) * 1996-12-27 1999-03-17 日本電気株式会社 可変長符号化装置
SE512613C2 (sv) * 1996-12-30 2000-04-10 Ericsson Telefon Ab L M Metod och organ för informationshantering
DE69829783T2 (de) * 1997-02-08 2005-09-01 Matsushita Electric Industrial Co., Ltd., Kadoma Quantisierungsmatrix für die Codierung von Stand- und Bewegtbildern
US6304607B1 (en) * 1997-03-18 2001-10-16 Texas Instruments Incorporated Error resilient video coding using reversible variable length codes (RVLCS)
JP3410629B2 (ja) * 1997-05-21 2003-05-26 シャープ株式会社 可変長符号化回路及び可変長符号化方法
US6111914A (en) * 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US6118822A (en) * 1997-12-01 2000-09-12 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US7263127B1 (en) * 1998-04-02 2007-08-28 Intel Corporation Method and apparatus for simplifying frame-based motion estimation
JP2000059234A (ja) * 1998-08-10 2000-02-25 Mitsubishi Electric Corp 可変長符号処理装置
KR100335138B1 (ko) * 1998-12-30 2002-11-27 엘지정보통신주식회사 비디오코더의가변부호화기및이를이용한코딩방법
TW425776B (en) * 1999-08-11 2001-03-11 Cyberlink Corp Method for generating symmetric reversible variable length code
US6445314B1 (en) * 2000-03-01 2002-09-03 Cisco Technology Inc. System and method for the decoding of variable length codes
JP4109404B2 (ja) * 2000-04-26 2008-07-02 松下電器産業株式会社 符号化装置および符号化方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101878651A (zh) * 2007-10-02 2010-11-03 思科技术公司 用于图像和视频压缩的系数族的可变长度编码
CN101878651B (zh) * 2007-10-02 2013-03-06 思科技术公司 用于图像和视频压缩的系数族的可变长度编码
CN101729899A (zh) * 2009-11-02 2010-06-09 北京中星微电子有限公司 离散余弦变换系数的编码方法和装置
CN101729899B (zh) * 2009-11-02 2014-03-26 北京中星微电子有限公司 离散余弦变换系数的编码方法和装置
CN101964912A (zh) * 2010-10-15 2011-02-02 北京中科大洋科技发展股份有限公司 一种在mpeg2中游程编码快速计算游程长度的方法
WO2018167592A1 (en) * 2017-03-14 2018-09-20 International Business Machines Corporation Non-binary context mixing compressor/decompressor
US10361712B2 (en) 2017-03-14 2019-07-23 International Business Machines Corporation Non-binary context mixing compressor/decompressor
GB2574957A (en) * 2017-03-14 2019-12-25 Ibm Non-binary context mixing compressor/decompressor
GB2574957B (en) * 2017-03-14 2020-08-19 Ibm Non-binary context mixing compressor/decompressor
US10797723B2 (en) 2017-03-14 2020-10-06 International Business Machines Corporation Building a context model ensemble in a context mixing compressor

Also Published As

Publication number Publication date
US20040228540A1 (en) 2004-11-18
WO2004105398A1 (en) 2004-12-02
CA2520652C (en) 2016-06-07
AU2004240453B2 (en) 2007-02-08
US20070104381A1 (en) 2007-05-10
US7194137B2 (en) 2007-03-20
CN100518325C (zh) 2009-07-22
AU2004240453A1 (en) 2004-12-02
EP1625752A1 (en) 2006-02-15
US7394942B2 (en) 2008-07-01
CA2520652A1 (en) 2004-12-02

Similar Documents

Publication Publication Date Title
CN1774932A (zh) 用于视频压缩的组合的游程长度编码和可变长度编码
CN1305311C (zh) 图像编码装置、图像解码装置、图像编码方法、及图像解码方法
CN1787384A (zh) 解码方法及编码方法
CN1132318C (zh) 数据并行编码和译码的方法和装置
CN1173581C (zh) 图象解码方法
CN1207897C (zh) 图象处理方法和设备
CN1238798C (zh) 在运动估计或补偿期间使用近似双立方过滤器的方法和系统
CN1650526A (zh) 信号编码及译码方法、编码及译码装置、编码及译码程序
CN1767395A (zh) 整数数据的无损自适应编码与解码
CN1656817A (zh) 上下文自适应的vlc视频变换系数编码/解码方法与设备
CN1799200A (zh) 浮点信号可逆编码方法、解码方法、其设备、程序及其记录介质
CN1469632A (zh) 视频编码/解码方法和设备
CN1456999A (zh) 色度运动矢量取整
CN1453725A (zh) 用于多阶段插值的取整控制
CN1656821A (zh) 防止非字节对齐和/或位移位位置起始码仿效的方法和系统
CN1681330A (zh) 自适应2n叉树生成方法及3D体数据编码和解码方法和设备
CN1535024A (zh) 视频编码设备、方法和程序及视频解码设备、方法和程序
CN1806447A (zh) 图像编码装置、图像解码装置、图像编码方法、图像解码方法、图像编码程序、图像解码程序、记录图像编码程序的记录媒体、记录图像解码程序的记录媒体
CN1947426A (zh) 用于实现运动可伸缩性的方法和设备
CN1282107C (zh) 一种对图像进行快速压缩和解压缩的方法
CN1685369A (zh) 视频编码的低复杂性和统一标准的变换
CN1610265A (zh) 算术解码/编码装置、携带终端、活动图像摄影及记录/重放装置
CN101040535A (zh) 转换成中间格式的两步算术解码
CN1739294A (zh) 图像编码方法
CN1270541C (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090722

Termination date: 20180303

CF01 Termination of patent right due to non-payment of annual fee