CN1153463C - 一种自适应可变长度编码器/解码器 - Google Patents

一种自适应可变长度编码器/解码器 Download PDF

Info

Publication number
CN1153463C
CN1153463C CNB941006719A CN94100671A CN1153463C CN 1153463 C CN1153463 C CN 1153463C CN B941006719 A CNB941006719 A CN B941006719A CN 94100671 A CN94100671 A CN 94100671A CN 1153463 C CN1153463 C CN 1153463C
Authority
CN
China
Prior art keywords
code word
block
code
state
data
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
Application number
CNB941006719A
Other languages
English (en)
Other versions
CN1097088A (zh
Inventor
T�����ߵٰ�
T·萨瓦蒂埃
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.)
Technicolor USA Inc
Original Assignee
Thomson Consumer Electronics 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 Thomson Consumer Electronics Inc filed Critical Thomson Consumer Electronics Inc
Publication of CN1097088A publication Critical patent/CN1097088A/zh
Application granted granted Critical
Publication of CN1153463C publication Critical patent/CN1153463C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • H03M7/42Conversion 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
    • 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/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

Abstract

一种可变长度编码/解码系统,其采用了分层信号格式,并自适应地提供VLC变化而无附加信号开销,包括有多个VLC编码表,它们的每一个都以与预计的信号统计相关的VLC码编程。分层的信号包括有受共用参数支配的数据块(102),它们与信号的统计相关联。这种数据块包含有指示这种参数的信息。每一个数据包都要被查验(104),以发现共用参数,并响应该共用参数来设定一个缺席规则VLC编码/解码表(105)。在另一个实施例中(112-115),用于每一个连续码字的VLC表根据用于最新码字以及最新码字相关值的表来决定。

Description

一种自适应可变长度编码器/解码器
技术领域
本发明涉及用于对压缩的视频信号进行可变长度编码的装置,尤其涉及其本身为自适应的可变长度编码/解码设备。
背景技术
可变长度即统计编码器是设计用来以可变长度的码字编码固定长度的码字,以用于信号的传输和存储的目的。总的说来,这种技术降低了欲被发送或存储的数据量。可变长度编码(VLC)包括有确定一信号类型的一般统计,以便在欲被编码信号动态范围内辨别不同幅值出现的频率,然后形成表示一个类似动态范围可变长度码字的一个代码集。随后,在输入固定长度码字和可变长度码字之间建立相应的关系,以使得以最大频率出现的输入码字被赋以较短比特宽度的可变长度码。最经常出现的输入码字被指定为较小比特宽度的可变长度的码字,则使输入码字对数据均值的影响因而降低。从定义上说,一旦可变长度码字——输入码字的对应关系确立,则该可变长度码字以依照本对应关系的地址位置被输入一个存储器。输入码字随地址加到存储器,且该存储器输出提供VLC已编码信号。在接收机处,以一个在存储中的倒数表执行解码。
对于信号统计而言,其改变使得一特定的VLC可能变得不那么有效是常见的情况。这种情况可以通过连续地监视输入信号的统计、并当它们变化到某种预定程度时,将可变长度码变换成一种更有效率的可变长度码的方法来克服。这种分别的码可以作为分离的表输入到编码/解码存储器,这种表的选择是利用加到一个更有效的存储器地址比特的控制信号实现的(在普通存储器中选择各种表是一种公知技术)。
如果是多个表用于编码一个信号,在编码器处的VLC表的改变必须要传给接收机。有些公知的系统每当一个VLC变换生效时就发送该解码表。如果信号统计时常改变,这种做法当然不实际。另有些系统伴随着已编码的数据而发送表型码字,以通知接收机一个码转换已生效以及多个表的哪一个用来解码。对于那些时常要求有VLC改变、且几乎没有信号开销可用的系统来说,这种表型码字可能加重这种类型系统的负担。在一个系统信号规约已经被标准化而不用规定前述的VLC变化类型而使第三种情形出现的情况中,所期望的是在使用该规约的一个系统中使用VLC改变。这样的一个系统/规约的例子是由国际标准化组织的运动图象专家组(称为MPEG)所提出的压缩视频信号格式。
发明内容
本发明是一个可变长度编码/解码系统,其采用了分层信号格式,并自适应地提供VLC变化而无附加的信号开销。它提供了多个VLC编码表,它们的每一个都以与预计的信号统计相关联的VLC码编程。分层的信号包含受共用参数支配的数据的数据块,这些共用参数可与信号统计相关联。这种数据块包含有指示这种参数的信息。每一个数据包都要对共用参数进行查验,并响应其共用参数来设定一个缺席规则(default)VLC编码/解码表。在另一个实施例中,用于每一个连续码字的VLC表是根据用于最新码字以及最新码字相关值的表制定的。
根据本发明,提供一种用于自适应可变长度编码压缩视频信号的设备,所述信号包含码字,所述码字是根据其是由一个第一处理方法或是第二处理方法所产生的而排列在相互排斥的码字块中,而其中的标记与各个用以标识所述第一或第二处理方法的所述码字块有关,并与各个包括第一和第二信号分量的码字有关,所述设备包括:所述压缩信号的一个输入码字源;编码装置,用于根据在第一状态下的一个第一输入码字一输出码字对应性和根据在第二状态下的一个第二输入码字-输出码字对应性来对所述输入码字进行选择性可变长度编码;一个装置,用于,响应于所述标记,根据每个块是由第一或是第二处理方式所处理的来对于所述块将所述可变长度编码设备初始化到所述第一和第二状态中的一个状态;比较装置,用于将各个码字的第一和第二信号分量与第一和第二参考值进行分别比较,以及当所述编码设备处于所述第一状态而所述第一信号分量小于或等于所述第一参考值且所述第二信号分量大于所述第二参考值时调整所述编码设备以切换状态。
附图说明
图1是MPEG型信号编码等级的图示表示;
图2是已压缩视频数据的传输数据包的格式及内容的图示表示;
图3是实现本发明的可变长度编码设备的方框图;
图4是实现本发明的可变长度解码设备的方框图;
图5是图3和4中示出的表逻辑(TABLE LOGIC)功能的操作流程图;
图6是图5中示出的子程序步骤流程图;
图7是表逻辑功能的又一个实施例之操作的流程图。
具体实施方式
本发明将在一个MPEG形的视频信号压缩/传输系统的环境中作描述,然而应当理解,采用其它压缩方法仍可实践本发明,在其方法中,具有共同特征的数据被合并为各自的数据组。在描述本发明以前,先参考图1和图2来对MPEG型的压缩信号格式作描述,以便为理解在此所用的技术术语提供一个背景。MPEG规约把连续出现的帧分割成帧的序列或组GOF。在各个GOF中的帧根据三个过程即帧内编码(I帧)、正向帧间编码(P帧)和正向/反向帧间编码(B帧)而进行压缩。已编码数据的各帧被分割成表示例如16个图象行的数据片。每一个数据片被分割成若干个宏数据块,而每个宏数据块代表例如16×16的象素矩阵。每一个宏数据块又分割成六个数据块,其中有涉及亮度信号的四个信息数据块和涉及色度信号的两个信息数据块。这些亮度和色度信息被分别地编码并随后组合以便传输。该亮度数据块包括关于各个8×8象素矩阵的数据。每一个色度数据块包括关于由该宏数据块代表的象素全部16×16矩阵的一个8×8数据矩阵。
根据桢内编码而被编码的数据的数据块包括有离散余弦系的矩阵。就是说各个8×8的象素数据块经过一个离散余弦变换(DCT)以提供已编码信号。这些系数经过自适应量化,并进行游程长度和可变长度编码。因此,传输数据的各个数据块可以包含少于8×8矩阵的码字。帧内编码数据的宏数据块包括确定所采用的量化电平、宏数据块地址或存储单元指示、宏数据块类型(内编码)和在一个宏数据块内的六个数据块的每一个的DCT系数的信息,每一个后面都跟有结尾的数据块码EOB。
根据P或B帧间编码的已编码数据的数据块还包括离散余弦系数矩阵。然而在本例中,这些系数代表的是余数,即一个预测的8×8象素矩阵和一个实际的8×8象素矩阵之差。这些系数也要经历量化和游程长度及可变长度编码。在帧序列中,I和P帧被设计成锚定帧(anchor frames),每个P帧从最后出现的锚定帧中预测。每个B帧从所配置的一个或两个锚定帧中预测。预测编码处理包括产生移位矢量,这些矢量指示一个锚定帧的哪个宏数据块与目前被编码预测帧宏数据块最相匹配。在一锚定帧中该匹配数据块的象素数据以逐个象素为基础从正被编码帧的数据块中被减去,以产生余项。这些余项经过离散余弦变换,然后经变换的余项和运动矢量由对于预测帧的已编码数据构成。即使一个帧被预测编码,如果不能发现有合适的数据块匹配,在预测帧中的一个特定数据块或宏数据块可被帧内编码。此外,这些宏数据块中的某些可能不编码。通过增加下一个已编码宏数据块的地址,跳过一些宏数据块。帧间编码数据的宏数据块包括有确定采用的量化电平、宏数据块地址或位置指示、宏数据块类型(帧内编码、帧间编码)及用于在一宏数据块中的六个数据块的每一个的DCT系数的信息,这些信息的每一个都由数据块码EOB结尾。
在视频数据被编码后,是按MPEG型规约排列的。MPEG分级式的格式包括有每层都有各自的首标信息的多层。在定义上,每一首标都包括起始码、关于各自层的数据和用于添加首标扩展的规则。所要求的多数首标信息都是用于同步的目的。
图3示出了典型MPEG编码器的一部分,包括有可变长度编码器。在图3中,出自离散余弦变换(DCT)设备(未示出)的变换系数被送到对各自DCT系数值作限制的量化器9。该量化处理将许多DCT系数降为零值。已量化的系数送到游程长度编码器10。该游程长度编码器的输出是固定和不变比特长度的码字。这些固定比特长度码字的每一个都有在此定义为RUN的第一部分,用于传送涉及在最后一个非零值系数和随后的非零值系数之间的零值系数个数的信息,以及一个在此定义为LEVEL的第二部分,对应于各自随后非零值的系数值。这些码字被送到一个可变长度编码器VLC11。该VLC是一个存储器,它被以具有对应于地址值的可变长度码字的各自的地址单元编程。该存储器至少包括置于两个相互隔离的表中的两组VLC码字。这些各自的表是通过把选择比特应用于地址值最重要比特而被选择的。在这种情形中,该选择比特是由VLC表逻辑单元15所提供。
VLC编码数据耦合到数据格式器12,它与格式控制器13相连接,按MPEG规约排列已处理的数据。格式控制器13由全局系统控制器14所控制,它由更高级指令所编程用以建立帧的分组,I、P和B帧等等。响应该系统控制器,格式控制器13形成合适的数据序列。构成该序列的数据包括有来自VLC编码器11的VLC已编码系数、运动矢量、宏数据块码/非码的码字、来自一个预测编码器(未示出)的宏数据块类型(帧内/帧间)等等,以及首标数据的不同类型,这些首标数据或是从格式器12中的表中获得或是在格式控制器13或格式器12中产生的。
VLC表逻辑接收来自游程长度编码器10和格式控制器13的数据,以确定用于每个分别码字的VLC表。由于VLC表是根据已编码的数据选择的,所以该VLC表被指定成一个自适应可变长度编码器,即AVLC。
图4示出了一个可变长度解码器VLD,用来执行在图3所示的AVLC的相反的操作,由于没有表选择逻辑30,故图4中的部件示出了一个典型的VLD,可变长度编码的数据被加到总线25上并送到一个解码器/控制器和一个比特移位器26。控制器27识别插在数据流中用于同步整体设备的特定码字(例如首标)。响应该同步码字,该控制器置定一个状态以启动解码的进行。
输入到可变长度解码器(VLD)的是没有明确字边界的一个比特流。该VLD执行的连续操作顺序是:解码一个码字、确定其长度、并在码下一个码字以前,将输入的比特流移位一个与已解码码字的比特长度相对应的比特位数。状态机29调节该比特移位器,以便将VLC码的连续的序列加到其内已编程有解码表的存储器28的地址输入端口。该解码表不仅提供解码数据,还提供对应已解码VLC的比特宽度。该比特宽度信息被加到状态机29,该状态机29从该宽度信息计算欲被加到比特移位器26的随后的控制值。该状态机还可以响应已解码的数据,以预计在输入数据类型中的移位,从而保持正确的解码序列。状态机是否响应该已解码的数据,这要取决于控制器27的完善程度以及它所肩负的解码任务的情况。
在本系统中,不存在表选择逻辑30,存储器28可包括有多个解码表以便解码在预定间隔中出现的不同类型的数据。在此情形中,或是控制器27或是状态机29将用于识别这种间隔并在几个解码表中作转换。这种解码表转换的类型是与参照图3所描述的已编码的AVLC的解码相脱离且相区别的。
利用表选择逻辑30的优点来实现VLD成为自适应可变长度解码器(即AVLD)。表选择逻辑30响应已解码的数据来决定置于存储器28中的多个解码表中的哪一个应被利用来解码下一个可变长度码字。
在本例中,AVLC/AVLD使用了两个编码/解码表。其中一个称为VLC0(VLD0)而另一个为VLC1(VLD1)。VLC0(对应于VLC1)表被优化以用于较小赋值的系数而VLC1(VLD1)表被优化以用于较大赋值的系数。VLC0表实际上类似于MPEG推荐的VLC编码表。
可变长度编码/解码的自适应性取决于数据块类型(帧内编码的亮度与色度或帧间编码的亮度与色度)以及包含在由游程长度编码器所提供的各自的码字之中的信息。由游程长度编码器所提供的各自的码字调用具有RUN成分和LEVEL成分。应记住,由于用于帧间编码数据的DCT系数表示的是余项,因此它们的各自的值趋向于小于帧内系数。用以对每一个连续码字进行选择编码/解码表的第二个判据是它紧邻在先的码字的特征。在本例中,RUN成分和LEVEL成分的值是被检验的。如果编码器(解码器)是被实时地调节以使用编码/解码表VLC0,并且如果RUN是零且LEVEL值大于预定值V(例如V=1)的话,编码/解码即被转换到编码/解码表VLC1。如果编码器(解码器)被实时地调整以使用编码/解码表VLC1,并且如果RUN大于1且LEVEL的值是小于或等于V的话,系统转换到编码/解码表VLC0。最后,如果在先的码字是一个数据块编码的结尾,则系统复位到编码/解码表VLC0。
在各个宏数据块的起始,如果该宏数据块是帧内编码的,则编码表被置位于缺席规则编码表VLC1(VLD1),若是帧间编码,则编码表被置位于VLC0(VLD0),并且在宏数据块中的每一数据块的末端,该编码表置位于VLC0(VLD0)。各个数据块的DC系数因而依照现存表而被编码。在一个宏数据块的第一数据块的第一AC码字被编码之后,要对现行表型和RUN与LEVEL值作分析,以确定用于该宏数据块的第一数据块的第三码字的表VLCi。标引i被保存且编码器置位在开始利用表VLCi用以在该宏数据块其余数据块的第一码字(除去内部DC系数之外)。
用于AVLC和AVLD的表逻辑的操作如图5的流程图所示。除去步骤框107之外,两个系统的操作是类似的。在AVLD设备中,该框是一个VLC解码现行码字处理。编码/解码系统由一个全局系统控制器在步骤[100]所启动。编码器(解码器)在步骤[102]等待第一出现的宏数据块MB,并在它到来时获得它的类型[103]。该MB的类型被检验[104],如果该类型表示它为帧内(帧间)编码,则调整编码器(解码器)[105,106]采用VLC0(VLC1)编码/解码表。在MB中的第一系数利用该表进行编码/解码[107]。该码字被检测[108]以确定是否它为一个EOB码。如果是,系统被复位[109]成表VLC0,将系统调整用于下一个数据块的第一码字。如果最后的码字是一个EOB,则做一检测[110]以确定该EOB是否出现在一个MB的末端。如果是,系统被调节以等待下一个MB。如果不是,则系统被调整以编码(解码)下一个码字。
在一个码字进行可变长度编码(解码)之后[107],它的RUN和LEVEL成分被存取[111]。随后,如果系统现行被调节成使用编码(解码)表VLC0[112],并且最后的码字等于(例如)零[113]且LEVEL的值大于V[114]的话,则系统被转换[115]成使用表VLC1来编码/解码[107]下一个码字。如果现行表是VLC0而后两个条件不满足的话,系统就继续使用表VLC0[116A,116B]。
另一种情况是,如果系统现行地被调整为采用表VLC1编码(解码),且若RUN成分大于1[117]而LEVEL成分小于或等于V[119],则系统被转换[120]成采用表VLC0编码(解码)。如果系统现行被调节为采用表VLC1编码(解码),而若后两个条件不满足的话,系统则继续使用表VLC1[118,121]。
图6是子程序[150]的流程图。在宏数据块的后序分别的数据块中,这个子程序将第一AC系数的编码表置位于表VLCi,该VLCi被确定为宏数据块第一数据块的第三码字(在DC系数之后的第二码字)。在初始阶段中(图5中[100]),通过将标引B与W复位成零来启动[200]该子程序。标引B和W在本例中对应于数据块和码字计数。在每一个输入码字被编码之后,该字计数被递增[201],且在每一个EOB之后其数据块计数被递增[202]。标引B被检验[203],以确定是否在该宏数据块中的全部数据块已被处理。如果是的话则标引B和W被复位至零。如果不是全部数据块都已编码,则要查验标引B[205]以确定该编码器是否正在该宏数据的第一数据块(B=0)。如果系统正在编码第一数据块,则标引W被检验[206],以确定在第一数据块中的第二码字(除DC系数外)是否被最后编码。如果是,则对应于被确定为编码第二码字的表的标引i而被保存[207]。如果否,系统则继续下一个码字的编码。
如果系统不是正在编码宏数据块[205]的第一数据块而是宏数据块的一个随后的数据块,则标引W被检验[208]以确定下一个被处理的码字是否对应于该数据块的第一AC系数。如果是,在步骤[207]被保存的标引i则被用来将编码器置位[209]于采用对应该数据块的第一AC系数的码字的表VLCi。如果否,系统到步骤[108]。
图7是一个流程图,说明了用于实现AVLC(AVLD)自适应的表选择功能的一个第二、且最佳的实施例。在本实施例中,各个解码表在一数据片的起始被预置,且其后表的选择取决于预测值。如同上例那样,表的转换是由现用表和RUN及LEVEL的值所决定的。然而在本实施例中,被用来编码一个数据块型的第二码字(除去内DC系数)的表将被在整个数据片之内而不是以一个宏数据块为基础用来重新启动该同一类型的后续数据块的编码。
在后面的描述中,假定编码器总是按照表VLCi或VLDi编码,且标引i是对于各自的数据块和码字进行确定的。该标引出现在每一数据块编码的起始处,以表示可变预测标引的属性(MBBTYPE)。属性(MBBTYPE)值在每一数据片的起始被置为缺席规则值。随后,这些标引被置为用于解码每个分别的数据块型的(例如)第二个码字f的标引i。就是说,亮度信号帧内数据块第一次出现时,则对应于数据块的那种类型的属性(MBBTYPE)被复位成用于编码该数据块第二码字的标引i。类似地,在一亮度帧间、或色度帧间或色度帧内数据块第一次出现时,各自的属性(MBBTYPE)被刷新成对应的标引i并被保持用于该帧的剩余部分。每次有新的用于编码的数据块出现时,表的标引都被置为对应于该数据块类型的各自的属性(MBBTYPE)。
对应于帧内编码的亮度、帧间编码的亮度、帧内编码的色度以及帧间编码的色度有四个属性(MBBTYPE)。用于这四个类型的缺席规则属性(MBBTYPE)分别为1,0,1,0。在被压缩欲编码/解码的视频信号的每个数据片的开始时刻,这些缺席规则值输入到各个属性(MBBTYPE)中。
参考图7,在编码的起始[600],内部标引被置为初始值。当压缩视频信号的数据片到达时[602],各自的属性(MBBTYPE)被置为缺席规则值[604]。对宏数据块首标检验以知其类型,从而得知数据块的类型[605]。“类型”的可变性被检验[606],以确定是否该数据块被编码,以及如果它未被编码,则对应的属性(MBBTYPE)置0。如果数据块被编码,则标引i被置为与数据块类型对应的属性(MBBTYPE)值。在每一个编码数据块的起始,一个码字标引N被置为1[609]。随后码字N被编码[610]。在每一个码字被编码后,作一个检测[612],以决定它是否为一个EOB码。如果否,它的RUN和LEVEL值被存取[613],并且类似于在对图5的步骤[111-121]所描述的条件转换那样,标引i被有条件地转换[614-620]。码字标引N被检验[622]以确定该码字是否为一个数据块的第一码字(注意,帧内编码的DC系数不是码字N要考虑的部分)。如果标引N不等于1,则将N递增1并对下一个码字编码。如果N等于1,则合适的属性(MBBTYPE)被置位于最后确定的标引i[624]。随后标引N被递增且对下一个码字编码。
如果在步骤[612]的最后编码的码字是一个EOB,则标引i置为0[630]。标引N被检验,若其不等于1,则系统被调节以在步骤[602]继续得到下一个数据的数据块。若标引N确实为1,则有合适的属性(MBBTYPE)被置为最后采用的标引i。
在上述的几个例子中,作为RUN和LEVEL变量函数的编码/解码表的转换趋于增强整体系统的效率。如果RUN是大数值,可预见其系数将是接近零的。若在事实上LEVEL证实属一个小数值,则可以预见,下一码字可能有类似的特征。因此,系统可以转换到利用类似的特征。在此种情况下,随后码字的相关统计是从先前一个码字估计得到,而且编码表的选择是基于这种统计的估计。一种另外的可变长度编码(解码)系统可以依照变量RUN值而自适应地获得,而不考虑变量LEVEL的值。
编码与解码设备是相似的,在用于实现VLC(VLD)自适应性的相同基本方案中采用相同的基本参数。因而在随后的权利要求书中,使用的术语可变长度编码器或编码器意味着既包括一个编码设备也包括解码设备。

Claims (5)

1.用于自适应可变长度编码压缩视频信号的设备,所述信号包含码字,所述码字是根据其是由一个第一处理方法或是第二处理方法所产生的而排列在相互排斥的码字块中,而其中的标记与各个用以标识所述第一或第二处理方法的所述码字块有关,并与各个包括第一和第二信号分量的码字有关,所述设备包括:
所述压缩信号的一个输入码字源(9);
编码装置(11),用于根据在第一状态VLC0下的一个第一输入码字-输出码字对应性和根据在第二状态VLC1下的一个第二输入码字-输出码字对应性来对所述输入码字进行选择性可变长度编码;
一个装置,用于,响应于所述标记,根据每个块是由第一或是第二处理方式所处理的来对于所述块将所述可变长度编码设备初始化到所述第一和第二状态中的一个状态;
比较装置,用于将各个码字的第一和第二信号分量与第一和第二参考值进行分别比较,以及当所述编码设备处于所述第一状态而所述第一信号分量小于或等于所述第一参考值且所述第二信号分量大于所述第二参考值时调整所述编码设备以切换状态。
2.权利要求1所述的设备,其特征在于,所述比较装置还包括用于当所述编码设备处于所述第二状态而所述第一信号分量大于所述第一参考值且所述第二信号分量小于或等于所述第二参考值时调整所述可变长度编码设备以切换状态的装置。
3.权利要求1所述的设备,其特征在于,所述码字块包括子码字块,每个子码字块包括一个块码的末端,其中所述设备还包括:
用于检测各个块码末端出现,并响应于所述块码末端的检测以将所述用于可变长度编码的装置复位到所述第一和第二状态中的一个预定状态的装置。
4.权利要求1所述的设备,其特征在于,所述码字块包括以预定顺序产生的子码字块,而所述设备还包括:
存储装置,用于存储该编码装置的状态VLCi,i等于1或0,其中该编码装置被用于对一个宏块的第一出现子块的一个预定输入码字进行编码;和
用于,响应于所述指示,在宏块的各个剩余之快的相应预定输入码字进行编码之前将该编码装置调整到该状态VLCi。
5.权利要求1所述的设备,其特征在于,所述码字块包括以预定顺序产生的子码字块,而所述设备还包括:
存储装置,用于存储该编码装置的状态VLCi,并用于在后续子块产生时,为所述后续子块的一个相应预定输入码字将该编码装置重新初始化到该状态,其中i等于1或0。
CNB941006719A 1993-01-13 1994-01-12 一种自适应可变长度编码器/解码器 Expired - Lifetime CN1153463C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/002,875 US5400075A (en) 1993-01-13 1993-01-13 Adaptive variable length encoder/decoder
US002.875 1993-01-13
US002,875 1993-01-13

Publications (2)

Publication Number Publication Date
CN1097088A CN1097088A (zh) 1995-01-04
CN1153463C true CN1153463C (zh) 2004-06-09

Family

ID=21702959

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB941006719A Expired - Lifetime CN1153463C (zh) 1993-01-13 1994-01-12 一种自适应可变长度编码器/解码器

Country Status (4)

Country Link
US (1) US5400075A (zh)
JP (1) JP3699136B2 (zh)
CN (1) CN1153463C (zh)
DE (1) DE4400355A1 (zh)

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3348310B2 (ja) * 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
FR2707118B1 (fr) * 1993-06-30 1995-10-06 Sgs Thomson Microelectronics Système à processeur, notamment de traitement d'image, comprenant un bus mémoire de taille variable.
KR970002483B1 (ko) * 1993-11-29 1997-03-05 대우전자 주식회사 고속의 가변길이 복호화장치
KR970009408B1 (ko) * 1994-01-18 1997-06-13 대우전자 주식회사 인터/인트라 테이블 선택 회로
JPH07298272A (ja) * 1994-04-28 1995-11-10 Canon Inc 映像符号化装置
US6549666B1 (en) * 1994-09-21 2003-04-15 Ricoh Company, Ltd Reversible embedded wavelet system implementation
KR0160668B1 (ko) * 1994-12-30 1999-01-15 김광호 영상압축 비트스트림의 스타트코드 검출장치
EP1802131A3 (en) * 1995-03-15 2008-11-12 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems
KR0181032B1 (ko) * 1995-03-20 1999-05-01 배순훈 인터리빙을 이용한 물체 기반 부호화방법 및 장치
US5526054A (en) * 1995-03-27 1996-06-11 International Business Machines Corporation Apparatus for header generation
KR100209410B1 (ko) * 1995-03-28 1999-07-15 전주범 영상 신호 부호화 장치
US5809173A (en) * 1995-04-18 1998-09-15 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression using previous frame DCT coefficients
US5872866A (en) * 1995-04-18 1999-02-16 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by predetermination of IDCT results based on image characteristics
WO1996033558A1 (en) * 1995-04-18 1996-10-24 Advanced Micro Devices, Inc. Method and apparatus for hybrid vlc bitstream decoding
US6002801A (en) * 1995-04-18 1999-12-14 Advanced Micro Devices, Inc. Method and apparatus for improved video decompression by selection of IDCT method based on image characteristics
FR2735258B1 (fr) * 1995-06-09 1997-09-05 Sgs Thomson Microelectronics Dispositif de decodage d'un flux de donnees
JP3992303B2 (ja) * 1995-06-22 2007-10-17 ソニー株式会社 信号圧縮装置と信号伸長装置および信号圧縮方法と信号伸長方法
EP0762771A3 (en) * 1995-09-11 1998-09-23 Matsushita Electric Industrial Co., Ltd. Apparatus and method for variable-length coding
US5694127A (en) * 1995-10-17 1997-12-02 Zapex Technologies, Inc. Method and apparatus for efficiently generating variable length code data
US6075918A (en) * 1995-10-26 2000-06-13 Advanced Micro Devices, Inc. Generation of an intermediate video bitstream from a compressed video bitstream to enhance playback performance
US5768536A (en) * 1995-10-26 1998-06-16 Advanced Micro Devices, Inc. Generation of a secondary video bitstream from a compressed video bitstream to enhance playback performance
US5835145A (en) * 1996-01-19 1998-11-10 Lsi Logic Corporation Conversion system using programmable tables for compressing transform coefficients
US5675382A (en) * 1996-04-08 1997-10-07 Connectix Corporation Spatial compression and decompression for video
EP0842585A2 (en) * 1996-06-05 1998-05-20 Koninklijke Philips Electronics N.V. Method and device for decoding coded digital video signals
US5903261A (en) * 1996-06-20 1999-05-11 Data Translation, Inc. Computer based video system
CN1136733C (zh) 1996-11-06 2004-01-28 松下电器产业株式会社 图象解码方法
US7116829B1 (en) * 1996-11-06 2006-10-03 Matsushita Electric Industrial Co., Ltd. Image coding and decoding methods, image coding and decoding apparatuses, and recording media for image coding and decoding programs
JP2870515B2 (ja) * 1996-12-27 1999-03-17 日本電気株式会社 可変長符号化装置
JP3189876B2 (ja) * 1997-06-09 2001-07-16 日本電気株式会社 可変長符号復号化回路
US6040861A (en) * 1997-10-10 2000-03-21 International Business Machines Corporation Adaptive real-time encoding of video sequence employing image statistics
US6044460A (en) * 1998-01-16 2000-03-28 Lsi Logic Corporation System and method for PC-relative address generation in a microprocessor with a pipeline architecture
JP2000059234A (ja) * 1998-08-10 2000-02-25 Mitsubishi Electric Corp 可変長符号処理装置
NO309299B1 (no) * 1998-10-23 2001-01-08 Telenor As Fremgangsmåte for komprimering av bilder og videosekvenser på digital form
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6983018B1 (en) 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
US6404931B1 (en) 1998-12-14 2002-06-11 Microsoft Corporation Code book construction for variable to variable length entropy encoding
US6300888B1 (en) 1998-12-14 2001-10-09 Microsoft Corporation Entrophy code mode switching for frequency-domain audio coding
US6223162B1 (en) 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
EP1124378A3 (en) * 2000-02-09 2004-12-08 Deutsche Thomson-Brandt Gmbh Method, encoding apparatus and decoding apparatus for protecting a data stream using encryption or for decoding a protected data stream using decryption
EP1124376A1 (en) * 2000-02-09 2001-08-16 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating a data stream protected by encryption
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
GB0120442D0 (en) * 2001-08-22 2001-10-17 Nds Ltd Non-standard coding systems
US9894379B2 (en) * 2001-07-10 2018-02-13 The Directv Group, Inc. System and methodology for video compression
EP1422944B8 (en) * 2001-08-31 2010-02-17 Panasonic Corporation Picture decoding method and apparatus thereof
EP1933568A3 (en) * 2001-09-14 2008-06-25 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
DE10218541A1 (de) 2001-09-14 2003-04-24 Siemens Ag Verfahren zur Videocodierung und Computerprogrammprodukt
US6856701B2 (en) * 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
AU2008202981B8 (en) * 2001-09-14 2011-11-17 Nokia Technologies Oy Method and system for context-based adaptive binary arithmetic
JP3764458B2 (ja) * 2001-11-16 2006-04-05 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラム
KR100992246B1 (ko) * 2001-11-22 2010-11-05 파나소닉 주식회사 부호화 방법 및 부호화 장치
CN102316320B (zh) * 2001-12-17 2014-07-09 微软公司 处理视频图像的方法
DE60347000C5 (de) 2002-01-22 2020-08-06 Nokia Technologies Oy Codierungstransformationskoeffizienten in bild-/videocodierern und/oder -decodierern
US6690307B2 (en) * 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US7099387B2 (en) * 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
WO2003084241A2 (en) * 2002-03-22 2003-10-09 Realnetworks, Inc. Context-adaptive macroblock type encoding/decoding methods and apparatuses
JP4090862B2 (ja) * 2002-04-26 2008-05-28 松下電器産業株式会社 可変長符号化方法および可変長復号化方法
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7280700B2 (en) * 2002-07-05 2007-10-09 Microsoft Corporation Optimization techniques for data compression
US7154952B2 (en) * 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
KR100585710B1 (ko) * 2002-08-24 2006-06-02 엘지전자 주식회사 가변길이 동영상 부호화 방법
DE60330198D1 (de) 2002-09-04 2009-12-31 Microsoft Corp Entropische Kodierung mittels Anpassung des Kodierungsmodus zwischen Niveau- und Lauflängenniveau-Modus
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7212681B1 (en) * 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7499495B2 (en) * 2003-07-18 2009-03-03 Microsoft Corporation Extended range motion vectors
US7317839B2 (en) * 2003-09-07 2008-01-08 Microsoft Corporation Chroma motion vector derivation for interlaced forward-predicted fields
US7616692B2 (en) 2003-09-07 2009-11-10 Microsoft Corporation Hybrid motion vector prediction for interlaced forward-predicted fields
US7782954B2 (en) * 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7606308B2 (en) * 2003-09-07 2009-10-20 Microsoft Corporation Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
US7577200B2 (en) 2003-09-07 2009-08-18 Microsoft Corporation Extended range variable length coding/decoding of differential motion vector information
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7623574B2 (en) 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7620106B2 (en) 2003-09-07 2009-11-17 Microsoft Corporation Joint coding and decoding of a reference field selection and differential motion vector information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
US7471841B2 (en) * 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length 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
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
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7499596B2 (en) 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
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
CN100466748C (zh) * 2004-11-12 2009-03-04 扬智科技股份有限公司 数字摄影机影像格式的可变长度解码装置及方法
US7848409B2 (en) * 2005-05-02 2010-12-07 Qualcomm Incorporated Macroblock level bit allocation
US7684981B2 (en) * 2005-07-15 2010-03-23 Microsoft Corporation Prediction of spectral coefficients in waveform coding and decoding
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US7693709B2 (en) 2005-07-15 2010-04-06 Microsoft Corporation Reordering coefficients for waveform coding or decoding
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7933337B2 (en) * 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US9077960B2 (en) * 2005-08-12 2015-07-07 Microsoft Corporation Non-zero coefficient block pattern coding
US7242328B1 (en) 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
US8275045B2 (en) * 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
US20080063202A1 (en) * 2006-09-12 2008-03-13 Michael Zhu Reconfigurable handheld device to perform various tasks
US8565314B2 (en) * 2006-10-12 2013-10-22 Qualcomm Incorporated Variable length coding table selection based on block type statistics 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
US8325819B2 (en) * 2006-10-12 2012-12-04 Qualcomm Incorporated Variable length coding table selection based on video block type for refinement coefficient coding
US7545293B2 (en) * 2006-11-14 2009-06-09 Qualcomm Incorporated Memory efficient coding of variable length codes
US8184710B2 (en) * 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
US7774205B2 (en) * 2007-06-15 2010-08-10 Microsoft Corporation Coding of sparse digital media spectral data
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US7557740B1 (en) * 2008-04-18 2009-07-07 Realtek Semiconductor Corp. Context-based adaptive binary arithmetic coding (CABAC) decoding apparatus and decoding method thereof
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US20100017196A1 (en) * 2008-07-18 2010-01-21 Qualcomm Incorporated Method, system, and apparatus for compression or decompression of digital signals
US8406307B2 (en) 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
CN102282770B (zh) * 2009-01-23 2014-04-16 日本电信电话株式会社 一种参数选择方法、参数选择装置
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
CN102460976B (zh) * 2009-05-19 2016-02-10 诺基亚技术有限公司 用于可变长度编码的方法和设备
JPWO2012096186A1 (ja) * 2011-01-14 2014-06-09 パナソニック株式会社 画像符号化方法、画像復号方法、メモリ管理方法、画像符号化装置、画像復号装置、メモリ管理装置および画像符号化復号装置
US10965786B2 (en) 2018-10-31 2021-03-30 At&T Intellectual Property I, L.P. Adaptive fixed point mapping for uplink and downlink fronthaul

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE454734B (sv) * 1987-02-20 1988-05-24 Harald Brusewitz Forfarande och anordning for sendning och mottagning vid variabel lengdkodning
NL8800988A (nl) * 1988-04-15 1989-11-01 Philips Nv Systeem voor overdracht van videosignalen met adaptieve codewoordtoewijzing, alsmede zender en ontvanger geschikt voor het systeem.
US4942467A (en) * 1988-12-05 1990-07-17 General Electric Company Predictor controlled encoder for digital transmission systems
JPH07109990B2 (ja) * 1989-04-27 1995-11-22 日本ビクター株式会社 適応型フレーム間予測符号化方法及び復号方法
JPH03145223A (ja) * 1989-10-30 1991-06-20 Toshiba Corp 可変長符号復調装置
US5216518A (en) * 1990-09-04 1993-06-01 Canon Kabushiki Kaisha Image processing method and apparatus for encoding variable-length data
US5111292A (en) * 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
US5146325A (en) * 1991-04-29 1992-09-08 Rca Thomson Licensing Corporation Video signal decompression apparatus for independently compressed even and odd field data
US5225832A (en) * 1992-02-13 1993-07-06 Industrial Technology Research Institute High speed variable length decoder
US5245338A (en) * 1992-06-04 1993-09-14 Bell Communications Research, Inc. High-speed variable-length decoder
JP3348310B2 (ja) * 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
US5343195A (en) * 1992-12-18 1994-08-30 Thomson Consumer Electronics, Inc. Variable length codeword decoding apparatus

Also Published As

Publication number Publication date
CN1097088A (zh) 1995-01-04
US5400075A (en) 1995-03-21
DE4400355A1 (de) 1994-07-14
JPH0723398A (ja) 1995-01-24
JP3699136B2 (ja) 2005-09-28

Similar Documents

Publication Publication Date Title
CN1153463C (zh) 一种自适应可变长度编码器/解码器
US7437009B2 (en) Image coding apparatus, image coding method, and image coding program for coding at least one still frame with still frame coding having a higher quality than normal frame coding of other frames
JP3157101B2 (ja) 画像符号化方法及び画像符号化装置
EP1044566B1 (en) Improved video coding and decoding using adaptive coding of block parameters for coded/uncoded blocks
US7843998B2 (en) Method for improved entropy coding
US6956899B2 (en) Precise bit control apparatus with look-ahead for MPEG encoding
US20010026587A1 (en) Image encoding apparatus and method of same, video camera, image recording apparatus, and image transmission apparatus
KR100227298B1 (ko) 부호화 화상의 부호량 제어 방법
US20060233447A1 (en) Image data decoding apparatus and method
EP0925555B1 (en) Dual-speed variable length decoder and decoding architecture for mpeg-2 video data
EP2196031B1 (en) Method for alternating entropy coding
EP1720356A1 (en) A frequency selective video compression
US6687304B1 (en) Efficient video data data access using fixed ratio compression
KR20000023133A (ko) 화상 압축 방법과 그 방법을 실행하기 위한 장치
US6480544B1 (en) Encoding apparatus and encoding method
CN1327345A (zh) 用运动预测和块效应过滤进行视频源编码
JPH06105296A (ja) 可変長符号化および復号化方法
KR0181055B1 (ko) 영상 부호화 장치
JPH1051784A (ja) 動画像符号化装置
JP2000050277A (ja) 符号化装置及び符号化方法
JPH09149420A (ja) 動画像圧縮方法および装置
KR100197364B1 (ko) 영상 신호 부호화 시스템에서의 적응적 벡터 양자화장치
JP4238408B2 (ja) 画像圧縮装置
JP3517795B2 (ja) 画像符号化装置
KR0148155B1 (ko) 영상부호화의 esc 부호화장치 및 그 방법

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
CX01 Expiry of patent term
CX01 Expiry of patent term

Expiration termination date: 20140112

Granted publication date: 20040609