CN1107383C - 高速可变长度码解码装置 - Google Patents

高速可变长度码解码装置 Download PDF

Info

Publication number
CN1107383C
CN1107383C CN95117534A CN95117534A CN1107383C CN 1107383 C CN1107383 C CN 1107383C CN 95117534 A CN95117534 A CN 95117534A CN 95117534 A CN95117534 A CN 95117534A CN 1107383 C CN1107383 C CN 1107383C
Authority
CN
China
Prior art keywords
sequence
output
code word
bit
decoding
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
CN95117534A
Other languages
English (en)
Other versions
CN1128439A (zh
Inventor
金圭
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.)
Fengye Vision Technology Co., Ltd.
Original Assignee
Daewoo Electronics Co Ltd
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 Daewoo Electronics Co Ltd filed Critical Daewoo Electronics Co Ltd
Publication of CN1128439A publication Critical patent/CN1128439A/zh
Application granted granted Critical
Publication of CN1107383C publication Critical patent/CN1107383C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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
    • H03M7/425Conversion 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 for the decoding process only
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

可变长度码解码装置,包括移位电路,提供一个窗口输出序列;位生成电路,通过采用窗口输出序列作为N位输出序列的低阶位生成N位输出序列;解码序列生成电路,响应码字长度信号,产生该两个固定长度段的一个解码输出序列;表存储装置,响应开始于解码输出序列的第一位的位置的可变长度码字,产生固定长度码字及码字长度;输出选择电路,响应输出选择信号,选择一个输出码字和一个码字长度;以及进位信号生成装置,生成位置控制信号。

Description

高速可变长度码解码装置
发明领域
本发明涉及一种可变长度码(VLC)解码装置;并且尤其是涉及一种通过有效地减少其查询表处理的操作延迟能够提供高速解码操作的改进的VLC解码装置。
背景技术
可变长度编码是一种经常用于无损耗数据压缩的技术。这种技术用于基于数据的统计发生率将固定长度数据转换为可变长度码字。该码字长度以这样一种方式选择,使得较短的码字用于表示较多出现的数据,而较长的码字被选出表示较少出现的数据。通过适当地分配可变长度码字到所有可能的源码字的字库,可变长度码字的平均字长变得短于原数据的字长,从而致使可能获得数据压缩。
在这方面,霍夫曼码设计是一种普遍用于构成一种用于已知的数据统计的最小冗余可变长度码的方法。一般地,编码过程可通过使用输入数据寻址该表的查表处理而完成。码字和字长信息作为表的内容被存储并通过使用一个缓冲器以一恒定的数据速率相继地输出到数据通道上。
但是在接收端,解码过程更复杂,由于变化长度的特性,各码字在其能被解码成源符号之前不得不自接收的位串被分成段。因此,可变字长解码器的设计较可变长度编码器更困难。
有一些用于解码可变长度码字流的已知装置。其中,最经常使用的是诸如公开在1990年2月6日授予Gary Kahan的No.4,899,149美国专利中的采用树搜索算法的VLC解码器。在该装置中,可变长度码由带有作为树叶(也称作终端节点)的码字的树表示。解码过程从码树的根开始并被接收的位流引导以跟随在各节点两个分枝中的一个。当达到一个树叶时,码字的端部被检测到并被从余下的位流中分段出来。这种类型的解码装置包括一个对应于树的逻辑电路和一个横断码树的控制电路。但是这种方法可能很慢,特别是对长的码字,因为需要对各个解码的符号进行通过码树的逐位搜索。
一种引入的加快操作速度的VLC解码器是诸如公开在1992年12月22日授予Ming-Ting Sun等人的美国专利No.5,173,695中的基于可变长度解码器的查询表。该解码器包括两个串联的锁存电路,其各有一个等于最大码字长度的位容量,存储自一个用于存储待被以固定长度数据段存储进行解码的流的输入缓冲存储器提供的连续的位;一个桶形移位器,连接到两个锁存电路上,用于提供在长度上等于最大码字长度的滑动解码窗口输出;一个累加器用于累加最大码字长度的模数,顺序解码的可变长度码字的长度;以及一个查询表存储装置,用于输出对应于一个包含在滑动解码窗口输出中的可变长度码字的一个固定长度字并用于输出该可变长度码字的长度。当一个码字在各时钟周期期间被解码时,其长度被累加并且桶形移位器的解码窗口被移位至在待被解码的下一个码字的第一位开始。当在一个时钟周期期间,累加的长度超过最大码字长度时,表明第二锁存电路中的所有位已被解码,第一锁存电路中的位被传送入第二锁存电路,并且位的下一固定数据段被从输入缓冲存储器读入第一锁存电路。
尽管这种装置可以通过基于可变长度解码的查询表加快操作速度,但是它不能减少查询表延迟,而后者对诸如高清晰度电视系统中要求的高速解码具有有害的影响,因此不能提供完全减少操作延迟的VLC解码。
发明内容
因此,本发明的主要目的是提供一种能够减少查询表处理的操作延迟,从而有利地获得高速解码操作的VLC解码装置。
根据本发明,一种可变长度码解码装置,用于以固定的时钟速率解码自一个输入缓冲器提供的连续的可变长度码字,该输入缓冲器以固定长度段存储待被解码的输入位流,所述固定长度段具有等于可变长度码字的最大长度的长度,所述装置包括:
第一和第二锁存电路,响应于一读信号,用于连续地存储来自输入缓冲器的两个固定长度段;
一个移位装置,连接至第一和第二锁存电路,并有一个用于提供该两个固定长度段的M位窗口输出序列的输出窗口,M是从0到可变长度码字的最大长度的一半的变化的一个数,并且输出窗口响应位置控制信号和码字长度信号被定向移动,其中位置控制信号指示在两个固定长度段中的一个位的位置,窗口输出序列从该位开始输出,而码字长度信号指示有多少位将被包含在窗口输出序列中;
一个位生成装置,用于通过采用窗口输出序列作为N位输出序列的低阶位,生成一个N位输出序列,N是该可变长度码字的最大长度的一半;
一个解码序列生成装置,连接至位生成装置,用于响应该码字长度信号,产生该两个固定长度段的一个解码输出序列,所述解码序列生成装置包括:
锁存电路,用于解码输出序列并将其分为低阶位序列和高阶位序列;
“或”电路,用于通过对低阶位序列和自位生成装置生成的位输出序列进行逻辑“或”运算,并提供经逻辑“或”运算的位序列;
移位器,用于接收经逻辑“或”运算的位序列和高阶位序列,响应该码字长度直接沿着高位方向移位所接收的位序列,其中该码字长度指示该移位器应从接收的位序列的最高有效位中提取多少位,而且该移位器去除被移位的位并用零填充由被移位的位产生的接收的位序列的最低有效位中的空间以产生一个新的位序列;并提供新的位序列作为下一输出序列;
一个存储装置,耦合至解码序列生成装置上,并有若干个查询表,用于响应开始于该解码输出序列的第一位的位置的可变长度码字,产生固定长度码字,并用于产生对应于该解码的可变长度码字的码字长度;
一个可变长度解码控制装置,用于生成一个输出选择信号和一个时钟信号;
一个输出选择装置,用于响应时钟信号和输出选择信号在产生的固定长度码字和对应于解码的可变长度码字的码字长度中选择一个输出码字和一个码字长度;
一个进位信号生成装置,用于生成由在先前累加的码字长度上加“1”表示的位置控制信号,并用于将该选择的码字长度与先前累加的码字长度相加,当先前累加的码字长度大于可变长度码字的最大长度的一半时,该生成装置生成读信号以抽取存储在输入缓冲器中的下一个固定长度段,该下一个固定长度段被存储在第一锁存电路中,并且先前存储在第一锁存电路中的固定长度段被传送至第二锁存电路。
附图说明
本发明的上述和其他目的及特征将通过结合附图对优选实施例的下述描述变得显而易见,附图中:
图1示出了根据本发明的一个VLC解码装置的示意图;
图2描绘了用于说明图1中所示的VLC解码装置的操作的输入位流;以及
图3提供了用于说明图1中所示的VLC解码装置的操作的说明性图。
具体实施方式
一个根据本发明的一个优选实施例的VLC解码器示出在图1中。为了说明的目的,假设要解码的可变长度码字的最大长度为16位。VLC解码器100对以连续的位流输入其中的连续的可变长度码字进行解码,并以一个固定的符号时钟相应地输出解码的固定长度的码字。
在数据通道52上接收到的串行的数据流被输入到输入缓冲存储器101,后者以固定长度数据段存储该串行数据流可变长度字并响应引线32上的一个读信号,顺序地输出固定长度数据段,例如8位段到引线11上,其中数据段的位长度是可变长度码字的最大位长度的一半。
锁存电路103连接至输入缓冲存储器101,用于响应引线32上的读信号,顺序地接收固定长度数据段。锁存电路105连接至锁存电路103,用于接收以前保存在锁存电路103中的固定长度数据段。当需要提供一个新的数据段时,一个读信号在引线32上被激活。每当引线32上的读信号被激活,缓冲存储器101就将下一个数据段供给到引线11上;锁存电路103接收该下一个数据段;先前保存在锁存电路103中的数据段被传送到锁存电路105;并且锁存电路105中的数据段被转储。因此,锁存电路105总是包含在时间顺序上早于包含在锁存电路103中的数据段的数据段。包含在这两个锁存电路103和105中的两个数据段包括该串行输入数据的一个16位序列,其与最大长度码字的大小相等。
锁存电路103和105中的这两个数据段分别通过并行引线12和13被输入到移位电路107。即这一新段中的位与先前段中的位串联然后被传送入移位电路107。引线34上的移位电路107的输出是两个输入数据段,即从锁存电路105输出的先前的数据段及从锁存电路103输出的当前的数据段的一个M位窗口输出序列,M是0和最大长度码字的一半,即“8”,之间的一个可变数字。M位输出窗口是可滑动穿过输入到移位电路107的16位的,其位置直接根据引线33上的位置控制信号和引线53上的码字长度被确定的,其中位置控制信号指示存储的该窗口输出序列自其开始的两个数据段中的位的位置,而码字长度指示有多少位将被包括在该窗口输出序列中。引线34上的M位窗口输出序列然后被耦合到位生成电路109,后者用于通过使用M位窗口输出序列生成一个8位输出序列。即,位生成电路109通过使用窗口输出序列作为该8位输出序列的低阶位生成一个8位输出序列。来自位生成电路109的线14上的8位输出序列被耦合到一个“或”电路111,后者也通过引线15被耦合到一个16位锁存电路113。锁存电路113锁存来自移位器115的引线42上的解码输出序列,并被分成一个低阶8位序列和一个高阶8位序列。解码输出序列的被分成的低阶位和高阶位序列分别通过引线15和23被馈送至“或”电路111和移位器115,以产生下一个解码输出序列。“或”电路111对其上的两个输入,即来自位生成电路109的线14上的8位输出序列和来自锁存电路113的引线15上的解码输出序列的低阶8位序列进行逻辑“或”运算,并生成经逻辑“或”运算的位序列到引线22上。然后在各自的引线22和23上的解码输出序列的高阶位序列和经逻辑“或”运算的位序到被同时耦合到移位器115。移位器115响应引线53上的码字长度直接以高阶方向移位加在其上的16位序列。码字长度告知移位器它应从位序列的最高有效位(MSB)中取多少位。因此移位器115取并移动等于自该位序列的MSB开始的码字长度的值的位数。然后,该序列被移位使得该位序列中的各位向MSB移动该码字长度的值,并且由被移动的位产生的在位序列中的最低有效位(LSB)中的空间用零填充。然后这个数位序列被移位器作为输出序列发送到引线42上。
移位器115的输出在引线42上被连接至存储装置121,后者包括若干查询表用于提供宏程序块地址、宏程序块类型、宏程序块模式、运动矢量和DCT(离散余弦变换)系数,其中各查询表包括一个码字表“与”平面,一个字长度表“或”平面和一个解码的字表“或”平面。为了简单起见,图1中所示的存储装置121被选为有两个查询表124和126。
众所周知,各码字根据该码字的位模式被表示为码字表“与”平面的一项。由于在具有16位的最大字长容量的码字库中大部分码字的位数少于16位,除了码字表中的实际码字位模式之外,从移位器输出的位的位置被指定为“无关紧要”的位置。当来自移位器115的一个序列与存储在码字表“与”平面中的一个码字位模式相匹配时,一个码字被检测到。因此,例如如果一个可变长度码字位模式为“00”,并且从移位器115输出的16位序列有“0001 1011 0111 0111”的模式,那么匹配出现在头两位。因此头两位被识别为一个可变长度码字且下一个字从第三位开始。
当引线42上的解码输出序列与各码字表“与”平面中的一项相匹配时,各该字长表“或”平面中的该项和各该解码的字表“或”平面中的该项被激活。各该解码的字表“或”平面输出对应于各该码字表“与”表面中该匹配的可变长度码字的解码的固定长度字到输出选择单元117。并且各字长表“或”平面生成一个字长信号到输出选择单元117,其中字长信号指示各码字表中的经匹配的可变长度码字的长度。输出选择单元117响应从可变长度解码(VLD)控制单元119产生的一个输出选择信号和一个时钟信号,从查询表124和126选择两个固定长度码字之一及其对应固定长度码字的字长,并提供该选择的码字及其字长到各引线54和53上。在上述例子的情况中,字长表输出“2”,代表被检测的字“00”的长度。根据本发明,引线53上的这个码字长度被直接耦合至移位器115以事先产生一个输出序列来完成查询表处理。引线53上的码字长度也被输入到进位信号生成器123。响应来自VLD控制单元119的时钟信号,进位信号生成器123生成由在存储在其中的先前累加的模8码字长度上加“1”表示的位置控制信号;并且将引线53上的码字长度与先前累加的模8码字长度相加。
当先前累加的模8码字长度超过7时,进位信号生成器123激活一个读信号。这个读信号“1”输出到引线32上至输入缓冲存储器101和锁存电路103,以将输入缓冲存储器101中的下一个8位数据段带入锁存电路103,而将锁存电路103中的内容传送到锁存电路105。
图1中的解码器的操作可通过参考图2和3中以表格形式示出的一个例子而更加容易理解。假设从图1中所示的数据通道52输入到输入缓冲存储器101中的数据流包括如图2所示位流“0001 1011 0111 0111 1011 1110 11111101 1101 1110……”。
参见图3,在第一时钟滴答之前,移位器115被提供有待被解码的第一和第二数据段,即“0001 1011 0111 0111”;第四个数据段即“1011 1110”被输入到锁存电路105;并且第五个数据段即“1111 1101”被馈送到锁存电路103。这时,锁存电路103和105的输出,移位器115的输出和存储装置117的输出是噪声值。
在第一时钟的时间脉冲时,序列“0001 1011 0111 0111”作为一个解码输出序列被同时从移位器115通过引线42提供给锁存电路113和存储装置121。存储装置121中的两个查询表124和126识别头两位即解码输出序列中的“00”作为解码的字,例如“A”和“A’”,并且分别输出这些固定长度的解码的字A和A’到输出选择单元117。各查询表也输出“00”的长度到输出选择单元117。
在第二时钟的时间脉冲时,输出选择单元117响应来自VLD控制单元119的输出选择信号和时钟信号分别输出两个解码的字A和A’中的一个,例如A,作为解码的码字及对应于该解码的码字的码字长度即“2”到引线54和53上。响应引线53上的码字长度,移位器115直接移动若干等于自存储于其中的“0001 1001 0111 0111”的位序列的MSB开始的码字长度的值的位。然后该序列被移位以使得位序列中的各位向MSB移动该码字长度的值,并且由该被移动的位所产生的在位序列的最低有效位(LSB)中的空间由零填充。然后新的位序列“0110 1101 1101 1100”作为输出序列由移位器发送到引线42上。根据本发明,引线42上的新的位序列被同时耦合到锁存电路113和存储装置121,以当进位信号生成器123、移位电路107和位生成电路119被操作时产生下一个解码输出序列并完成查询表处理。进位信号生成器123响应来自VLD控制单元119的时钟信号产生一个由在存储于其中的先前累加的模8字长上加“1”表示的位置控制信号到移位电路107;并将引线53上“00”的码字长度与先前累加的模8字长相加,其中先前累加的模8字长是“0”。在本发明的优选实施例中,移位电路107响应引线53上的位置控制信号和码字长度产生一个窗口输出序列,其中该窗口输出序列开始于由该位置控制信号指示的来自两个锁存电路103和105的数据段中的一位,并且该窗口输出序列的长度等于引线53上的码字的长度。因此,由于位置控制信号是“1”并且引线53上的码字长度是“2”,移位电路107产生数据段“1011 1110 1111 1101”中的“10”作为窗口输出序列。然后该2位序列“10”被耦合到位生成电路109。位生成电路109通过使用窗口输出序列作为8位输出序列的低阶序列生成一个8位输出序列。即位生成电路109通过使用窗口输出序列,即来自移位电路107的“10”作为8位输出序列的低阶序列,生成“0000 0010”作为8位输出序列。该“或”电路111对其两个输入,即来自位生成电路109的引线14上的8位输出序列“0000 0010”和锁存在锁存电路113中的16位序列“01101101 1101 1100”的低阶8位序列即引线15上的“1101 1100”进行逻辑“或”运算。并生成经逻辑“或”运算的位序列即“1101 1110”到引线22上。锁存电路113也提供其内的16位序列中的高阶8位序列,即“0110 1101”到引线23上。然后,分别在引线23和22上的高阶8位序列和经逻辑“或”运算的位序列被同时耦合到移位器115,后者将“0110 1101 1101 1110”作为解码输出序列传送到引线42上。引线42上的解码输出序列通过引线42被耦合入锁存电路113和存储装置121。存储装置121识别该解码输出序列“0110 1101 1101 1110”中的头两位,即“01”作为解码的字,例如“B”和“B′”,并输出这些经固定长度解码的字,B和B′到输出选择单元117。存储装置121也输出“01”的长度到输出选择单元117。
在第三时钟的时间脉冲时,输出选择单元117响应来自VLD控制单元119的输出选择信号和时钟信号,分别输出两个经解码的字B和B′之一,例如B,作为经解码的码字和对应于该解码的码字的码字长度即“2”到引线54和53。移位器115响应引线53上的码字长度直接移动两位,即开始于存储在其中的位序列“0110 1101 1101 1110”的MSB的“01”;并提供下一位序列“1011 0111 0111 1000”到引线42上。由于先前累加的模8的字长是“2”,进位信号生成器123响应来自VLD控制单元119的时钟信号产生表明移位电路107中数据段“1011 1110 1111 1101”中第三位的位置的位置控制信号到引线33上;并将引线53上的“01”的码字长度与先前累加的模8字长即“2”相加。移位电路107生成作为窗口输出序列的“11”到引线34上,因为输出窗口响应位置控制信号和引线53上的码字长度即“2”被移位以包围数据段“1011 1110 1111 1101”中的第三位到第四位。然后,该2位序列“11”被耦合到位生成电路109。位生成电路109通过使用来自移位电路107的“11”作为8位输出序列的低阶序列,生成“0000 0011”作为8位输出序列到引线14上。“或”电路111对其两个输入,即引线14上的“0000 0011”和引线15上的锁存器113中的16位序列“10110111 0111 1000”的低阶8位序列,即“0111 1000”,进行逻辑“或”运算;并生成经逻辑“或”运算的位序列,即“0111 1011”到引线22上。锁存电路113也提供其中16位序列中的高阶8位序列即“1011 0111”到引线23上。然后,分别在引线23和22上的高阶8位序列和经逻辑“或”运算的位序列被同时耦合到移位器115,后者将“1011 0111 01111011”作为解码输出序列传送到引线42上。引线42上的解码输出序列通过引线42被耦合到锁存电路113中的存储装置121。存储装置121识别解码输出序列即“1011 0111 0111 1011”中的头五位,即“1010”作为解码的字,例如“C”和“C′”,并将这些固定长度解码的字,C和C′输出到输出选择单元117。存储装置121也输出“10110”的长度到输出选择单元117。
在第四时钟的时间脉冲时,输出选择单元117响应来自VLD控制单元119的输出选择信号和时钟信号,分别输出两个解码的字C和C′中的一个,例如C作为解码的码字以及对应于该解码的码字的码字长度,即“5”到引线54和53上。移位器115响应引线53上的码字长度“5”,直接移动自存储在其中的位序列“1011 0111 0111 1011”的MSB开始的五位,即“10110”,并提供新的位序列“1110 1111 0110 0000”到引线42上。由于先前累加的模8字长是“4”,响应来自VLD控制单元119的时钟信号,进位信号生成器123产生表明移位电路107中的数据段“1011 1110 1111 1101”中的第五位的位置的位置控制信号到引线33上;并将引线53上的“10110”的码字长度与先前累加的模8字长即“4”相加。移位电路107生成“11101”作为输出序列到引线34上,因为响应位置控制信号和码字长度即引线53上的“5”,输出窗口被移位以包围数据段“10111110 1111 1101”中的第五位至第九位。然后,5位序列“11101”被耦合至位生成电路109。位生成电路109通过使用来自移位电路107的“11101”作为8位输出序列的低阶序列,生成“0001 1101”作为8位输出序列到引线14上。“或”电路111对其两个输入即引线14上的“0001 1101”和引线15上的锁存电路113中锁存的16位序列“1110 1111 0110 0000”中的低阶8位序列,即“0110 0000”进行逻辑“或”运算;并生成经逻辑“或”运算的位序列,即“0111 1101”到引线22上。锁存电路113也提供其中16位序列中的高阶8位序列即“1110 1111”到引线23上。然后,分别在引线23和22上的高阶8位序列和经逻辑“或”运算的位序列被同时耦合到移位器115。移位器115提供“1110 1111 0111 1101”作为解码输出序列到引线42上。引线42上的解码输出序列经过引线42被耦合至锁存电路113和存储装置121。存储装置121识别解码输出序列即“1110 1111 0111 1101”中的头四位即“1110”作为解码的字,例如“D”和“D′”,并输出这些固定长度解码的字D和D′到输出选择单元117。存储装置121也输出“1110”的长度到输出选择单元117。
在第五时钟的时间脉冲时,输出选择单元117响应来自VLD控制单元119的输出选择信号和时钟信号,分别输出两个解码的字D和D′中的一个例如D,作为解码的码字以及对应于该解码的码字的码字长度,即“4”到引线54和53上。移位器响应引线53上的码字长度“4”,直接移动自存储在其中的位序列“1110 1111 0111 1101”的MSB开始的四位即“1110”;并提供新的位序列“1111 0111 1101 0000”到引线42上。由于先前累加的码字长度大于“7”,进位信号生成器123激活读信号。在该读信号的作用下,下一数据段“1101 1110”被从输入缓冲存储器101抽取出来,并作为当前数据段被锁存进锁存电路103;并且先前锁存在锁存电路103中的数据段“1111 1101”被作为先前的数据段传送入锁存电路105。当前和先前的数据段被同时耦合入移位电路107,由于先前累加的模8字长是“9(模8+1)”,移位电路107传送开始于先前的数据段的第二位的窗口输出序列“1111”到引线34上。然后,4位序列“1111”被耦合至位生成电路109,后者通过使用来自将位电路107的“1111”作为8位输出序列的低阶序列,生成“0000 1111”作为8位输出序列到引线14上。“或”电路111对其两个输入,即引线14上的“0000 1111”和引线15上的锁存在锁存电路113中的16位序列“1111 0111 1101 0000”的低阶8位序列,即“1101 0000”进行逻辑“或”运算;并生成经逻辑“或”运算的位序列,即“1101 1111”到引线22上。锁存电路113也提供其中16位序列中的高阶8位序列,即“1111 0111”到引线23上。然后,分别在引线23和22上的高阶8位序列和经逻辑“或”运算的位序列被同时耦合到移位器115。移位器115提供“1111 0111 1101 1111”作为解码输出序列到引线42上。
正如由上面可以看出的,应该赞赏的是,由于当进位信号生成器123、移位电路107和位生成电路109进行操作时,存储装置121中的查表处理被完成,本发明的VLC解码装置提供了操作延迟的进一步减少,从而有利地获得了高速度的解码操作。
虽然本发明只是结合优选实施例进行示出和描述的,但是对于本领域内的普通技术人员而言,显然可以做出许多变化和修改而不脱离由所附的权利要求限定的本发明的精神和范围。

Claims (1)

1、一种可变长度码解码装置,用于以固定的时钟速率解码自一个输入缓冲器提供的连续的可变长度码字,该输入缓冲器以固定长度段存储待被解码的输入位流,所述固定长度段具有等于可变长度码字的最大长度的长度,所述装置包括:
第一和第二锁存电路,响应于一读信号,用于连续地存储来自输入缓冲器的两个固定长度段;
一个移位装置,连接至第一和第二锁存电路,并有一个用于提供该两个固定长度段的M位窗口输出序列的输出窗口,M是从0到可变长度码字的最大长度的一半的变化的一个数,并且输出窗口响应位置控制信号和码字长度信号被定向移动,其中位置控制信号指示在两个固定长度段中的一个位的位置,窗口输出序列从该位开始输出,而码字长度信号指示有多少位将被包含在窗口输出序列中;
一个位生成装置,用于通过采用窗口输出序列作为N位输出序列的低阶位,生成一个N位输出序列,N是该可变长度码字的最大长度的一半;
一个解码序列生成装置,连接至位生成装置,用于响应该码字长度信号,产生该两个固定长度段的一个解码输出序列,所述解码序列生成装置包括:
锁存电路,用于解码输出序列并将其分为低阶位序列和高阶位序列;
“或”电路,用于通过对低阶位序列和自位生成装置生成的位输出序列进行逻辑“或”运算,并提供经逻辑“或”运算的位序列;
移位器,用于接收经逻辑“或”运算的位序列和高阶位序列,响应该码字长度直接沿着高位方向移位所接收的位序列,其中该码字长度指示该移位器应从接收的位序列的最高有效位中提取多少位,而且该移位器去除被移位的位并用零填充由被移位的位产生的接收的位序列的最低有效位中的空间以产生一个新的位序列;并提供新的位序列作为下一输出序列;
一个存储装置,耦合至解码序列生成装置上,并有若干个查询表,用于响应开始于该解码输出序列的第一位的位置的可变长度码字,产生固定长度码字,并用于产生对应于该解码的可变长度码字的码字长度;
一个可变长度解码控制装置,用于生成一个输出选择信号和一个时钟信号;
一个输出选择装置,用于响应时钟信号和输出选择信号在产生的固定长度码字和对应于解码的可变长度码字的码字长度中选择一个输出码字和一个码字长度;
一个进位信号生成装置,用于生成由在先前累加的码字长度上加“1”表示的位置控制信号,并用于将该选择的码字长度与先前累加的码字长度相加,当先前累加的码字长度大于可变长度码字的最大长度的一半时,该生成装置生成读信号以抽取存储在输入缓冲器中的下一个固定长度段,该下一个固定长度段被存储在第一锁存电路中,并且先前存储在第一锁存电路中的固定长度段被传送至第二锁存电路。
CN95117534A 1994-11-17 1995-11-17 高速可变长度码解码装置 Expired - Lifetime CN1107383C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR30161/1994 1994-11-17
KR1019940030161A KR0141298B1 (ko) 1994-11-17 1994-11-17 가변 길이 복호화 장치

Publications (2)

Publication Number Publication Date
CN1128439A CN1128439A (zh) 1996-08-07
CN1107383C true CN1107383C (zh) 2003-04-30

Family

ID=19398138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN95117534A Expired - Lifetime CN1107383C (zh) 1994-11-17 1995-11-17 高速可变长度码解码装置

Country Status (3)

Country Link
US (1) US5648775A (zh)
KR (1) KR0141298B1 (zh)
CN (1) CN1107383C (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5818364A (en) * 1996-06-19 1998-10-06 Hewlett-Packard Company High bit-rate huffman decoding
AU728882B2 (en) * 1997-04-30 2001-01-18 Canon Kabushiki Kaisha Compression
KR100292050B1 (ko) * 1997-11-08 2001-06-01 김영환 가변장복호기의 데이타 가변장치
US6147629A (en) * 1998-10-15 2000-11-14 Intel Corporation Method and apparatus for variable length decoding
FI116813B (fi) * 2002-06-20 2006-02-28 Nokia Corp Menetelmä ja järjestelmä vaihtuvapituisen koodauksen purkamiseksi, ja koodisanojen paikannuslaite
US6956511B2 (en) * 2004-01-06 2005-10-18 Sharp Laboratories Of America, Inc. Multi-symbol/coefficient decode operation for Huffman codes
CN100466748C (zh) * 2004-11-12 2009-03-04 扬智科技股份有限公司 数字摄影机影像格式的可变长度解码装置及方法
KR101696350B1 (ko) 2015-03-31 2017-01-13 주식회사 아세아텍 송풍식 방제장치
KR102551995B1 (ko) 2018-11-16 2023-07-06 엘지디스플레이 주식회사 수직 구조 트랜지스터 및 전자장치
KR20240011979A (ko) 2022-07-20 2024-01-29 김응기 공기공급장치를 적용한 이동식 농업방재장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
US5245338A (en) * 1992-06-04 1993-09-14 Bell Communications Research, Inc. High-speed variable-length decoder

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899149A (en) * 1986-02-28 1990-02-06 Gary Kahan Method of and apparatus for decoding Huffman or variable-length coees

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
US5245338A (en) * 1992-06-04 1993-09-14 Bell Communications Research, Inc. High-speed variable-length decoder

Also Published As

Publication number Publication date
US5648775A (en) 1997-07-15
KR960020495A (ko) 1996-06-17
KR0141298B1 (ko) 1998-06-15
CN1128439A (zh) 1996-08-07

Similar Documents

Publication Publication Date Title
US5608396A (en) Efficient Ziv-Lempel LZI data compression system using variable code fields
CN1059525C (zh) 解码可变长度码的装置
US5696507A (en) Method and apparatus for decoding variable length code
US5245338A (en) High-speed variable-length decoder
US5055841A (en) High-speed feedforward variable word length decoder
US5561690A (en) High speed variable length code decoding apparatus
US5703581A (en) Method and apparatus for data compression and decompression
US5877711A (en) Method and apparatus for performing adaptive data compression
US5874908A (en) Method and apparatus for encoding Lempel-Ziv 1 variants
CN1107383C (zh) 高速可变长度码解码装置
KR0178201B1 (ko) 가변 길이 복호화 장치
US5394144A (en) Variable length code decoding apparatus
CN1115783C (zh) 高速可变长度码解码装置
US5555323A (en) System for bi-level symbol coding/decoding with saved storage and method for same
US5432512A (en) Apparatus for decoding variable length codes
JP3853439B2 (ja) 高速可変長コード復号化装置及び高速可変長コード復号化方法
CN1108014C (zh) 具有字节校准单元的可变长度码编码及分段装置
CN1107384C (zh) 高速可变长度码解码装置
JPH08223055A (ja) 可変長コードデコーダ
JP3389389B2 (ja) 可変長コード復号化装置
CN1098565C (zh) 译码变长码的方法和设备
GB2360915A (en) Run length compression encoding of selected bits of data words
JP2934603B2 (ja) 可変長さコードの復号化方法及びその装置
KR100462060B1 (ko) 유니버셜 가변 길이 코드 부호어 다중 추출 방법 및 그를위한 룩-업 테이블 구성 방법
KR0125126B1 (ko) 고속 가변길이부호 복호화 장치

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: 20030516

Patentee after: Daewoo Electronics Co., Ltd.

Patentee before: Daewoo Electronics Co., Ltd.

ASS Succession or assignment of patent right

Owner name: FENGYE VISION TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: DAEWOO ELECTRONICS CO., LTD.

Effective date: 20130503

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130503

Address after: Ontario

Patentee after: Fengye Vision Technology Co., Ltd.

Address before: Seoul, South Kerean

Patentee before: Daewoo Electronics Co., Ltd.

CX01 Expiry of patent term

Granted publication date: 20030430

EXPY Termination of patent right or utility model