CN1085009C - 图像信号的可变长度译码器 - Google Patents
图像信号的可变长度译码器 Download PDFInfo
- Publication number
- CN1085009C CN1085009C CN95106522A CN95106522A CN1085009C CN 1085009 C CN1085009 C CN 1085009C CN 95106522 A CN95106522 A CN 95106522A CN 95106522 A CN95106522 A CN 95106522A CN 1085009 C CN1085009 C CN 1085009C
- Authority
- CN
- China
- Prior art keywords
- aforementioned
- bit
- code word
- latch
- output
- 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 - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
- H03M7/425—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
在本发明中,译码器产生与扫描宽度一致期间的时间的第2行程等效信号和经过该期间时的第1行程等效信号,并响应于第2行程等效信号输出数据“0”和第1行程等效信号输出电平。码字长度发生器产生对应于进入筒形移位器23的输出的第1可变长度码字的码字长度,累加运算器把以前累加的码字长度和来自码字长度发生器的码字长度相加并作模数-N运算,然后将累加余数的码字长度中应得的部分输出到载波信号。
Description
本发明涉及信号处理频率高的数据传送系统用的可变长度译码器,特别涉及把图像信号的可变长度编码的码字译成编码前的符号的可变长度译码器。
在最近的HD-TV、HD-VTR、数字VTR、数字摄录机和多媒体之类的系统中,主要使用的方式是先把图像信号和声音信号编码成数字信号进行传送,同时存储在记录媒体上,再把它译码后重放出来。为了大大提高在这样的编码和译码系统中的数据传送效率,就要求采用进一步压缩传送数据量的技术,一般所使用的图像信号的编码方式中有变换编码、DPCM、矢量量子化、可变长度编码等。使用这些编码方式是为去掉数字信号中包含的冗长数据来减小整个数据量。
上述编码方式中的可变长度编码由扫描宽度编码和(变形的)哈夫曼(ハフマン)编码构成,扫描宽度编码用“扫描宽度”(runlengths)表示连续的0的个数,从而减少取样数。由扫描宽度编码产生的0的个数即“扫描宽度”和不是0的取样的“大小”或“电平”对应于一个码字。例如:任意数据按a,o,o,b,o,o,o,o,c,d,o,e……(其中a,b,c,d,e≠0)的顺序输入时,扫描宽度编码的数据为:“[0,a],[2,b],[4,c],[0,d],[1,e]…”。其中[0,a]表示在不是0的第1位电平“a”之前一个0也没有,[2,b]表示不是0的第2位电平b之前有两个0,这样,经扫描宽度编码的数据对哈夫曼代码表来说对频度高的数据分配短码字,而对频度低的数据分配长码字。由于扫描宽度不适合作得无限的长,所以它以任意的数据块单位进行可变长度编码。经可变长度编码的数据的比特流中包含表示任意区间的开始的符号和表示结束的符号、表示是视频信号的符号、表示数据块末端BOD的符号、各种控制符号、状态显示符号等。状态显示符号表示比特流中所包含的各符号是何种性质的符号。即:状态显示符是用来区分构成比特流的符号的形态的信息。
图1表示用来对经可变长度编码过的数据进行译码的已有的可变长译码器,在有关视频技术电路及系统电气及电子工程师协会会刊1991年3月第1卷第1号的147-155页由Shaw-min Lei和Ming-ting Sun撰写的论文“用于数字HDTV应用的一种平均信息量编码系统”(IEEE Transactions on Circuits and System forVideo Technology.Vol.1,No.1,March,1991.pp 147-155,Shaw-min Lei and Ming-ting Sun“An Entropy CodingSystem for Digital HDTV Applications”)中详细记载了图1所示的这种机器。因此,在本说明书中只简单说明图1所示机器的动作。
经可变长度编码的数据被存储在缓冲器(未示出)中,每当码字长度累加器5施加读出信号READ,缓冲器就把N比特数据输出到第1寄存器1中。每当在码字长度累加器5施加读出信号READ,第1寄存器1就把由缓冲器(未示出)输出的经可变长度编码的N比特数据锁存起来,第2寄存器2锁存由第1寄存器输出的N比特数据。筒形移位器3被加上第1及第2寄存器1,2的输出信号,再按照由码字长度累加器5输出的经累加的码字长度输出。
更具体说,筒形移位器3把进入到经过来自码字长累加器5所累加的码字长度移位窗口内的N比特数据输出到可编程逻辑阵列电路(PLA)4。PLA4把筒形移位器3输出的N比特可变长度编码后的数据译码,然后把译码中所使用的比特数据即码字长度输出到码字长度累加器5。且PLA4输出译码取样及其码长,码字长度累加器5把PLA4送来的码字长度加到所存储的累加码字长度上而生成新的累加码字长度。如果新生成的累加码字长度大于等于N比特,则码字长度累加器5就产生读出信号READ,并从经累加的码字长度减去比特数“N”,从而计算出供给筒形移位器3的码字长度。但是,如果累加的码字长度小于N比特的话,码字长度累加器5就把累加的码字长度原样输出到筒形移位器3。筒形移位器3把寄存器1,2供给的2N比特数据中经过码字长度累加器5累加的码字长度移位的窗口内的数据输出到PLA4。前述Shaw-min Lei和Ming-Ting Sun的论文中记载有包含这种筒形移位器3的动作的有关图1的具体说明。
另外,1993年9月14日授权的Ming-Ting Sun的美国专利5,245,338号“高速可变长度译码器”中记载有HD-TV系统的高速系统中用的高速可变长度译码器。
本发明的目的是提供一种用不同于前述现有技术的其他形式的结构对可变长度编码的数据进行译码的装置。
为达到上述目的的本发明的可变长度译码器包含:译码器、第1比特存储装置、码字长度发生器、累加运算装置、缓冲器、第2比特存储装置、第1移位器装置、第3比特存储装置、第4比特存储装置,以及第2移位器装置。其中译码器为了按照一定的时钟速率所产生的时钟脉冲对输入比特串内的各可变长度码字译码,产生对应起始于具有存在于比特流内的至少最长的可变长度码字的长度为比特数N的N比特序列内第1比特位置的一个可变长度码字的扫描宽度和电平,施加与前述扫描宽度一致个数的时钟脉冲之前产生第2行程等效信号,如果施加到与前述扫描宽度一致个数的时钟脉冲的话,产生第1行程等效信号,对应于所产生的第2行程等效信号存储前述所产生的电平,而对应所产生的第1行程等效信号,该译码器则输出前述的所产生的电平;第1比特存储装置把存储着的N比特序列供给前述译码器,并按照由前述译码器施加第1行程等效信号期间的各时钟脉冲存储N比特输入序列,而且按施加第2行程等效信号期间的各时钟脉冲保持所存储的N比特序列;由前述第1比特存储装置提供的N比特序列施加到所述码字长度发生器,该码字长度发生器在前述译码器施加第1行程等效信号期间的每个时钟脉冲时产生并输出开始于N比特序列内的第1比特位置的一个可变长度码字的码字长度;累加运算装置把以前累加的码字长度与来自前述码字长度发生器的码字长度相加得到的结果除以比特数N,输出该除得结果所剩余的累加码字长度,若有其应得的部分则产生并输出载波信号;缓冲器存储输入比特流,根据来自前述累加运算装置的载波信号按顺序输出由所存储的比特串内的第1比特位置开始的N比特序列;对应于从前述累加运算装置输出的载波信号,第2比特存储装置在每个时钟脉冲时存储由前述缓冲器输出的至少连续的2N比特的序列;对应于前述载波信号和累加的码字长度,前述第1移位装置从存储在前述第2比特存储装置中的至少2N比特序列中的第1比特位置开始输出始于经累加码字长度移位的比特位置的N比特序列;第3比特存储装置在每个时钟脉冲时存储来自前述第1移位装置的N比特序列;第4比特存储装置在每个时钟脉冲时存储从前述第1比特存储装置供给的N比特序列;第2移位装置从存储在前述第4比特存储装置中存储的N比特序列先于第3比特存储装置中存储的N比特序列所构成的2N比特序列之中的第1比特位置开始把经过来自前述码字长度发生器的码字长度移位的比特位置上具有第1比特的N比特序列输出到前述第1比特存储装置、第4比特存储装置以及前述码字长度发生器。
附图简要说明
图1是对可变长度编码数据进行译码的已有的可变长度译码器。
图2是按照本发明优选实施例的可变长度译码器的方框图。
图3A~3J是说明图2装置的动作的时序图。
以下根据图2及图3A~3J详细说明本发明的优选实施例。
图2表示按照本发明的优选实施例的可变长度译码器的方框图。
图2的可变长度译码器把可变长度码字即经可变长度编码后的数据译码成为编码前的状态。更详细说,就是图2的可变长度译码器从图像信号的可变长度编码得到的码字产生经延迟扫描宽度后的电平,因此,图2的可变长度译码器的输出成了能直接用于逆变换编码的数据的形式。
可变长度码字以串行或并行比特串的形式输入到FIF0存储器11,FIFO存储器11存储输入的可变长度码字,每当由反相器12送来载波信号“0”,FIFO就把存储的数据中最初输入的N比特数据输出到锁存器13。因为FIFO存储器11把每个以串行或并行比特串形式输入的比特之中的N比特以并行形式的序列输出,所以从FIFO存储器11输出的N比特数据的最上位比特就成了串行比特串上的同一N比特数据中的最前面的比特,其中比特数据N是可变长度码字可能有的最长的比特数。因此,在N比特序列内时而只进入一个可变长度码字,时而又进入两个可变长度码字。如果输入时钟脉冲,那么锁存器13锁存由FIFO存储器11输出的N比特序列,锁存器14锁存来自锁存器13的数据,而锁存器15则锁存由锁存器13供给的数据。锁存器13、14、15用载波信号为“1”的期间所施加的时钟脉冲来锁存所提供的N比特序列,如果载波信号为“1”,第1多路转移器16选择锁存器13的输出供给筒形移位器18,若载波信号为“0”,则选择锁存器14的输出供给筒形移位器18。而如果载波信号为“1”,第2多路转换器17选择锁存器14的输出供给筒形移位器18,载波信号为“0”,则选择锁存器15的输出供给筒形移位器18。筒形移位器18把经移位的窗口内的N比特数据输出到锁存器21,所述窗口移位的位数是通过多路转换器16,17供给的2N比特序列中累加的码字长度ACL。这里所述的窗口的移位是从多路转换器17送来的N比特序列的第1比特开始移位所累积的码字长ACL。例如:累加码字长为“m”的情况下,筒形移位器18把来自多路转换器17的N比特序列内的第1比特开始除去m个比特所剩的N-m个比特以及由多路转换器16送来的N比特序列内的第1比特开始的m个比特输出到锁存器21。
每当施加时钟脉冲时,锁存器21就锁存由筒形移位器18供给的数据。每当施加时钟脉冲时,锁存器22把与前述筒形移位器18同样动作的筒形移位器23供给的数据锁存起来。筒形移位器23把进入经移位的窗口内的N比特序列输出到码字长度表24和锁存器41,其中所述窗口的移位量是锁存器21,22供给的2N比特序列之中的码字长CL。
码字长度表24用状态信号值把进入筒形移位器23供给的N比特序列内的第1可变长度码字的长度和对应状态信号值的码字长度之中的一个输出到与门25。
本发明的一实施例中所使用的状态信号是4比特的数据,若状态信号值为“0”,则码字长度表24输出码字长度“0”;当状态信号值为“1”至“14”之间的值的情况下,输出由筒形移位器23的输出数据所得到的码字长度;而状态信号值为“15”的情况下,则输出码字长度“N”。在使用多个码字长度表的情况下,用状态信号值“1”至“14”来区分这些码字长度。
在初始化区间的时间内,即图2的装置根据由可变码字长度得到的编码长度和扫描宽度正常动作之前的5个数据块区间的时间内,这种状态信号由外部设备(未示出)供给。而且,图2装置正常动作期间的状态信号使用由码字长度表24得到的码字长度,与初始化期间同样可以由外部设备提供。
在比较器45给出行程等效信号“1”时,与门25把来自码字长度表24的码字长度供给锁存器26,而给出行程等效信号“0”时,把“0”供给锁存器26。锁存器26用时钟脉冲来锁存由与门25供给的数据,筒形移位器23用来自锁存器26的码字长度使决定数据输出的窗口移位。
锁存器26内存储的码字长度被送到累加运算器32,锁存器31根据时钟脉冲锁存由累加运算器32输出的经累加的码字长度,累加运算器32把由锁存器26供给的码字长度加到由锁存器31供给的累积后的码字长度上,而且,累加运算器32把累加的结果值作“模数-N”运算,把应得的部分输出到载波信号,把其乘余部分输出到被累加的码字长度。即:如果新得到的累加码字长度大于或等于“N”,累积运算器32就输出载波信号“1”和作为模数-N运算的剩余部分的累加码字长度;如果新得的累加码字长度小于“N”则输出载波信号“0”和作为模数-N运算的剩余部分的累加码字长度。由累加运算器32输出的累加的码字长度被送到锁存器31和筒形移位器18,载波信号被送到反相器12、锁存器13、14、15以及多路转换器16、17。另一方面,锁存器22、26、31通过反相器6用各自的下沿触发的清零端上所加的初始化信号清零。
锁存器41根据比较器45施加的行程等效信号被启动,一旦加上时钟脉冲,锁存器41就锁存筒形移位器23供给的N比特序列,即:锁存器41在行程等效信号为“1”的期间加上时钟脉冲时就锁存来自筒形移位器23的N比特序列。电平表42输出对应于进入锁存器41供给的N比特序列内的第1可变长度码字的电平,该电平被送到锁存器46,加上时钟脉冲时,锁存器46内锁存的电平就被送到锁存器48。
另一方面,行程表43输出对应于由锁存器41供给的N比特序列内的第1可变长度码字的扫描宽度,比较器45输出来自行程表43的扫描宽度和来自计数器44的计数值。如果计数值和扫描宽度一致,比较器45输出行程等效信号“1”,若不一致,则输出行程等效信号“0”,作为比较器45的输出的行程等效信号被供给锁存器41、47以及门电路52和与门,锁存器47根据时钟脉冲锁存来自比较器45的行程等效信号,锁存器47的输出被用作锁存器48的清零信号。因此,加上时钟脉冲时,如果锁存器47送来“0”,锁存器48就输出“0”;如果锁存器47送来“1”,锁存器48就锁存由锁存器46供给的电平。
比较器51把数据块终端信号EOD与状态信号相比较,并把其比较结果输出到门电路52,即:如果状态信号变为和数据块终端信号EOB相同的信号,比较器51就输出“1”,如果不相同,则输出“0”。比较器51能使对新的数据块的可变长度的译码正常进行。门电路52计算行程等效信号的翻转信号和比较器51输出的翻转信号及所加的初始化信号的逻辑和,并输出到计数器44。计数器44是时钟脉冲计数的增加计数器,它把门电路52的输出信号施加在清零信号上。因此,当计数值和扫描宽度一致时,计数器44就被比较器45产生的行程等效信号“1”清零。这种计数器44对时钟脉冲计数,一直持续到计数值与扫描宽度一致时为止。
以下根据图3A至图3J说明具有前述构成的图2的装置的动作。
在施加第1时钟脉冲CLK1之前,初始化信号(图3B)具有高电平,从施加第1时钟脉冲CLK1到第4时钟脉冲CLK4期间状态信号(图3C)的值是“15”,第5时钟脉冲CLK5到来时该值为“0”,而在第6时钟脉冲CLK6以后则由筒形移位器23改变其值。为说明简便起见,规定由累加运算器32产生的载波信号变为“1”时,FIFO存储器11按F1、F2、F3、F4...的顺序分别输出N比特的数据。
施加第1时钟脉冲CLK1之前串行比特串形式的可变长度码字被输入并存储在FIFO存储器11中,初始化信号(图3B)经过反相器6被送到图2的装置中。锁存器22、26、31根据初始化信号被清零,在初始化信号的高电平期间的时间,门电路52输出“0”,计数器44根据来自门电路52的信号“0”被清零。
因此,锁存器26输出如图3D所示的码字长“0”,锁存器26的输出“0”被输出到累加运算器32,累加运算器32把根据初始信号清过零的锁存器31的输出和锁存器26的输出相加来进行模数-N运算。这时,由于锁存器31的输出为“0”,所以累加运算器32输出载波信号“0”和累加的码字长度“0”,FIFO存储器11和锁存器13、14、15由于载波信号“0”而不动作。
如图3D至3J所示,第1时钟脉冲被施加之前的锁存器26、13、14、21、22以及41的输出的值都是“0”。另一方面,比较器45输出行程等效信号“1”,并把这个行程等效信号“1”送到与门25。这时的状态信号如图3C所示其值为“15”。而且,对应于状态信号“15”,码字长度表24把码字长度“N”输出到与门25。由于变为来自比较器45的行程等效信号,所以与门25把来自码字长度表24的码字长度“N”输出到锁存器26。
如果施加第1时钟脉冲CLK1的话,锁存器26就锁存来自与门25的码字长“N”,累加运算器32把来自锁存器26的输出“N”加到来自锁存器31的输出“0”中,并且输出由其结果值“N”的模数-N运算出的载波信号“1”和所累加的码字长度“0”。FIFO存储器11把根据反相器12翻转的载波信号存储的数据中最先输出的N比特数据“F1”输出到锁存器13,出现第1时钟脉冲CLK1以后,如图3E至图3J所示,锁存在锁存器13、14、15、21、22以及41中的数据都是“0”。另一方面,由于来自行程表43的扫描宽度不供给比较器45,所以比较器45输出行程等效信号“1”,等效信号“1”被送到与门25,与门25要把来自码字长度表24的输出送到锁存器26。
按照这种方式,在图2的装置进行过有关第2时钟脉冲CLK2和第3时钟CLK3的动作之后,如果加上第4时钟CLK4,锁存器21锁存由筒形移位器18输出的数据“F1”,锁存器15,14和13分别锁存来自锁存器14的数据“F1”、来自锁存器13的数据“F2”和由FIFO存储器11输出的数据“F3”。这时,因为锁存器26锁存与门25的输出“N”,所以筒形移位器23就把移位来自锁存器26的码字长度“N”之后的窗口内的N比特序列即来自锁存器21的数据“F1”输出到码字长度表24和锁存器22及41。
另一方面,累加运算器32输出由锁存器26的输出“N”和锁存器31的输出“0”得到的载波信号“1”和累加过的码字长度“0”。FIFO存储器11响应来自累加运算器32的载波信号“1”输出其次的N比特数据“F4”。多路转换器16响应载波信号“1”,把来自锁存器13的数据“F3”供给筒形移位器18,多路转换器17把来自锁存器14的数据“F2”供给筒形移位器18,筒形移位器18响应来自累加运算器32的累加的码字长度“0”把由多路转换器17供给的数据“F2”输出到锁存器21,码字长度表24把由施加第4时钟CLK4时的状态信号的值“0”得出的码字长度“0”输出到与门25,因为这时的行程等效信号为“1”,所以与门25把码字长度“0”输出到锁存器26。
如果施加第5时钟脉冲CLK5,锁存器41就把由筒形移位器23供给的数据“F1”锁存起来,电平表42输出对应于进入到N比特序列内的第1可变长度码字的电平,行程表43被施加来自锁存器41的数据“F1”后,把对应于从电平表42输出的电平的扫描宽度输出到比较器45,比较器45把计数器44的输出“0”与扫描宽度相比较,两个值如果相同,输出行程等效信号“1”,若不同,则输出行程等效信号“0”。在本发明的一个实施例中,把对应于最初从电平表42输出的电平的扫描宽度规定为“0”,因此,比较器45输出行程等效信号“1”。行程等效信号“1”分别被供给锁存器41、47、门电路52和与门25。
另一方面,锁存器22和锁存器21根据第4时钟脉冲CLK4分别锁存由筒形移位器23输出的数据“F1”和来自筒形移位器18的数据“F2”。锁存器15锁存来自锁存器14的数据“F2”,锁存器14锁存来自锁存器13的数据“F3”,而锁存器13锁存由FIFO存储器11输出的数据“F4”。这时,由于锁存器26锁存由与门25输出的码字长“0”,所以筒形移位器23响应来自锁存器26的输出“0”,把来自锁存器22的数据“F1”输出到锁存器22及41和码字长度表24。这时的状态信号,如图3C所示,码字长度表24输出对应于进入到由筒形移位器23所加的数据“F1”内的第1可变长度码字的码字长度“X1”。因此,码字长度表24输出对应于进入数据“F1”内的最初的可变长度码字的码字长“X1”。与门25根据由比较器45所加的行程等效信号“1”把来自码字长表24的码字长“X1”输出到锁存器26。
累加运算器32输出对由第4时钟CLK4得到的锁存器26的输出“0”和锁存器31的输出“0”进行加法运算及模数-N运算的结果得到的载波信号“0”和被累加的码字长“0”。因此,FIFO存储器11响应载波信号“0”不输出数据,而响应载波信号“0”,多路转换器16和17分别把锁存器14的输出“F3”和锁存器15的输出“F2”传送到筒形移位器18,筒形移位器18响应累加的码字长度“0”把来自锁存器15的数据“F2”输出到锁存器21。
如果施加第6时钟CLK6,锁存器46和47分别锁存由电平表42输出的电平和来自比较器45的行程等效信号“1”,锁存器41响应行程等效信号“1”锁存由筒形移位器23供给的数据“F1”,电平表42输出对应于进入数据“F1”的可变长度码字的电平,行程表43把对应于施加了来自锁存器41的数据“F1”的电平表42所输出的电平的扫描宽度输出到比较器45,比较器45把扫描宽度与计数器44的输出“0”相比较,并输出由其比较结果得出的行程等效信号“1”,把行程等效信号“1”分别供给锁存器41、47、门电路52和与门25。
另一方面,根据第5时钟CLK5,锁存器22和锁存器21分别锁存由筒形移位器23输出的数据“F1”和来自筒形移位器18的数据“F2”。而且,锁存器15、14、13分别原样具有数据“F2”、“F3”、“F4”,FIFO存储器11不输出数据,这是因为施加第6时钟CLK6时的载波信号的值为“0”。由于锁存器26锁存由第5时钟CLK5得到的与门25的输出“X1”,所以筒形移位器23响应来自锁存器26的输出“X1”而把窗口位移“X1”比特,并把位移过的窗口内的N比特数据输出到锁存器22和41以及码字长度表24。因此,这时的筒形移位器23的输出就成了除加到FIFO存储器11内的比特流上的第1可变长度码字之外的比特,筒形移位器23的输出被供给锁存器22、41和码字长度表24,码字长度表24输出对应于进入到由筒形移位器23输出的数据内的第1可变长度码字的码字长“X2”,与门25响应行程等效信号“1”,把来自码字长度表24的码字长度“X2”输出到锁存器26。
累积运算器32对锁存器26的输出“X1”和锁存器31的输出“0”进行加法运算和模数-N运算,然后输出由其结果得到的载波信号和所累加的码字长。这时,由累加运算器32输出的载波信号和所累加的码字长用码字长“X1”来决定,如果码字长度“X1”大于“N”,则产生载波信号“1”和码字长“X1”被“N”除所余下的累加码字长度。另一方面,在码字长“X1”的值比“N”小的情况下,载波信号为“0”,码字长“X1”成为由累加运算器32输出的累加过的码字长度。响应累加运算器32的载波信号,多路转换器16和17分别来自锁存器13与14之一的N比特序列和来自锁存器14和15之一的N比特序列。筒形移位器18响应由累加运算器32输出的累加过的码字长度来移动窗口,并且把移动过的窗口内的N比特序列输出到锁存器21。
如果施加第7时钟CLK7,锁存器48响应于锁存器47中存储的行程等效信号“1”锁存由锁存器46供给的电平,在这里,锁存器48锁存的数据是对应于加到FIFO存储器11的比特串的最初的可变长度码字的电平。锁存器46再次锁存对应于上述最初的可变长度码字的电平,锁存器47则锁存对应于其可变长度码字的扫描宽度。锁存器41的情况是响应行程等效信号“1”锁存除比特串上最初的可变长度码字之外的比特所构成的N比特数据,锁存器41所锁存的数据是对应于根据第6时钟CLK6由码字长度表24输出的码字长度“X2”的数据。电平表42输出对应于由锁存器41输出的数据中的最初可变长度码字的电平,行程表43输出对应于该电平的扫描宽度。这时,计数器44供给比较器45的计数值变为“0”,其原因是计数器44成为由以前的行程等效信号“1”清过零的状态。比较器45把计数器44的输出与行程表43的输出相比较,然后把由比较结果得到的行程等效信号“1”或“0”输出到锁存器41和47以及门电路52和与门25,当由行程表43输出的扫描宽度与由计数器44输出的计数值不同时,比较器45输出行程信号“0”。在比较器45输出的行程等效信号“0”而对应于电平表42输出的电平的扫描宽度不是“0”的情况下,锁存器41把所锁存的数据保持相当于该扫描宽度的时钟数,锁存器22同样也把所锁存的数据持续相当于该扫描宽度的时钟数。而且,行程等效信号变为“0”的话,供给锁存器26的数据同样也就为“0”,因此,筒形移位器18、23就具有与施加刚好在前的时钟时的输出数据相同的输出数据。
在状态信号和数据块终端信号EOB相同的情况下,比较器51的输出使计数器44清零。图2的装置能对新的数据块正常进行译码。
图2的装置一面重复前述的过程,一面对进入比特串的可变长度码字译码,因此,本领域技术人员从前述的例子可以明白图2的可变长度译码器的动作。
如上所述,本发明能够以高的信号处理频率对图象信号可变长度编码的码字进行可变长度译码,不仅可以代替对应可变长度码字的取样,而且能用产生扫描宽度的数据“0”以及伴随它的电平的方式以HD-TV系统中要求的信号处理频率对经过变换编码和可变长度编码的图象信号进行译码。而且,根据行程等效信号必须延迟系统的动作,所以受限于信号处理频率的可用硬件的范围就被扩大了。
Claims (8)
1.一种可变长度译码器,用于按照一定的时钟速率产生的时对输入比特串内的各可变长度码字译码,其特征在于,该可变长度译码器包括:
译码器,用以产生对应起始于具有存在于比特串内的至少最长的可变长度码字的长度为比特数为N的N比特序列内的第1比特位置的一个可变长度码字的扫描宽度和电平,并在施加与所述产生的扫描宽度一致的时钟之前产生第2行程等效信号,如果施加与所述产生的扫描宽度一致的时钟的话,就产生第1行程等效信号,根据所产生的第2行程等效信号存储前述所产生的电平,而根据所产生的第1行程等效信号,则输出前述所产生的电平;
第1比特存储装置,用来把存储着的N比特序列供给前述译码器,并按照由前述译码器施加的第1行程等效信号期间的各时钟脉冲存储N比特的输入序列,而且按照施加第2行程等效信号期间的各时钟脉冲保持所存储的N比特序列;
码字长度发生器,用于在施加前述第1比特存储装置提供的N比特序列后,对于由前述译码器施加第1行程等效信号期间的各时钟产生并输出起始于N比特序列内的第1比特位置的一个可变长度码字的码字长度;
累加运算装置,用于把以前累加的码字长度和来自前述码字长发生器的码字长相加,将得到的结果除以比特数N,将除得的结果输出至载波信号,将余数输出至码字长度;
缓冲器,用于存储输入比特串,根据来自前述运算装置的载波信号按顺序输出起始于所存储的比特串内的第1比特位置的N比特序列;
第2比特存储装置,用于响应前述累加运算装置输出的载波信号,按各时钟存储前述缓冲器输出的至少连续的2N比特序列;
第1移位装置,用于响应前述载波信号和累积的码字长度,从存储在前述第2比特存储装置中的至少2N比特序列内的第1比特位置起,输出起始于经过累加码字长度移位的比特位置的N比特序列;
第3比特存储装置,用于对应各时钟存储来自前述第1移位装置的N比特序列;
第4比特存储装置,用于对应各时钟存储从前述第1比特存储装置供给的N比特序列;以及
第2移位装置,用于接受分别存储于前述第3和第4比特存储装置的N比特序列的输入,并使前述第4比特存储装置的N比特、先行于所述第3比特存储装置的N比特序列而构成2N比特的序列,从所构成的2N比特序列之中的第1比特位置起,在只把经过来自前述码字长度发生器的码字长度移位的比特位置上开始的N比特序列输出到前述第1和第4比特存储装置和前述码字长度发生器。
2.根据权利要求1的可变长度译码器,其特征在于,前述译码器包括:
输出对应于输入端连接到前述第1比特存储装置的输出端,从第1比特存储装置供给的N比特序列中的从第1比特位置开始的一个可变长度码字的电平的电平表;
输出对应于输入端连接到前述第1比特存储装置的输出端,并施加N比特序列的前述电平表输出的电平的扫描宽度的行程表;
接受输出自前述行程表的扫描宽度的输入,在施加与接受输入的扫描宽度一致的时钟之前产生第2行程等效信号,而且在施加与前述扫描宽度一致的时钟时则产生第1行程等效信号的比较部;以及
接受输出自前述电平表的电平的输入,在施加前述来自比较器的第2行程等效信号时不输出,如果施加前述第1行程等效信号才输出接受的输入电平的输出部。
3.根据权利要求2的可变长度译码器,其特征在于,前述比较部包括:
对各时钟计数并输出计数值的计数器;以及
将输入端对应地连接到前述行程表和计数器的输出端,以比较输入的扫描宽度和计数值,根据比较的结果,如果这两个值一致则产生第1行程等效信号,若这两个值不一致就产生第2行程等效信号,并把所产生的第1行程等效信号供给前述计数器的清零信号的比较器。
4.根据权利要求3的可变长度译码器,其特征在于,前述比较器在初始状态下在第5时钟期间时产生第1行程等效信号。
5.根据权利要求2的可变长度译码器,其特征在于,前述输出部包括:
接受输出自前述电平表的电平的输入并存储于各时钟的第1锁存器;
接受在比较部产生的第1及第2行程等效信号的输入并存储于各时钟的第2锁存器;以及
在施加来自前述第2锁存器的第1行程等效信号的期间,在各时钟存储并输出从前述第1锁存器供给的电平,并在施加来自前述第2锁存器的第2行程等效信号的期间,在各时钟输出数据值“0”的第3锁存器。
6.根据权利要求1的可变长度译码器,其特征在于,前述码字长度发生器包括:
输出对应于输入端连接到前述第2移位装置的输出端,从第2移位装置施加的N比特序列内的第1比特位置开始的一个可变长度码字的码字长度的码字长表;
接受从前述码字长度表输出的码字长度的输入,并在前述译码器施加前述第1行程等效信号时输出接受的输入码字长度的门电路;以及
接受从前述门电路输出的码字长度的输入,并存储于各时钟的第4锁存器。
7.根据权利要求6的可变长译码器,其特征在于,前述码字长度表在从初始状态计算的第5时钟内产生用来把比特串上的起始N比特序列存储在前述第3比特存储装置的码字长度。
8.根据权利要求1的可变长度译码器,其特征在于,前述第2比特存储装置包括:
响应于从前述累加运算装置施加的载波信号,在各时钟存储由前述缓冲器输出的N比特序列的第5锁存器;
响应于从前述累加运算装置施加的载波信号,在各时钟存储从前述第5锁存器供给的N比特序列的第6锁存器;
响应于从前述累加运算装置施加的载波信号,在各时钟存储从前述第6锁存器供给的N比特序列的第7锁存器;
前述第1移位装置包括:
如果施加来自前述累加运算装置的载波信号就输出从前述第5锁存器供给的N比特序列,如果不施加载波信号就输出从所述第6锁存器供给的N比特序列的第1多路转换器;
如果施加来自前述累加运算装置的载波信号就输出从前述第6锁存器供给的N比特序列,如果不施加载波信号就输出从第7锁存器供给的N比特序列的第2多路转换器;
施加由前述第1和第2多路转换器分别输出的N比特序列,使前述第2多路转换器的N比特序列超前于来自所述第1多路转换器的N比特序列而构成2N比特序列,然后输出在构成的2N比特序列之中的第1比特位置被移位来自前述累加运算装置的累加码字长度的比特位置开始的N比特序列的筒形移位器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940009922A KR0152032B1 (ko) | 1994-05-06 | 1994-05-06 | 영상신호를 위한 가변장복호기 |
KR9922/94 | 1994-05-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1119813A CN1119813A (zh) | 1996-04-03 |
CN1085009C true CN1085009C (zh) | 2002-05-15 |
Family
ID=19382582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN95106522A Expired - Fee Related CN1085009C (zh) | 1994-05-06 | 1995-05-05 | 图像信号的可变长度译码器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5696506A (zh) |
EP (1) | EP0681404A3 (zh) |
JP (1) | JP3032134B2 (zh) |
KR (1) | KR0152032B1 (zh) |
CN (1) | CN1085009C (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0178201B1 (ko) * | 1995-08-31 | 1999-05-01 | 배순훈 | 가변 길이 복호화 장치 |
KR100203246B1 (ko) * | 1995-10-19 | 1999-06-15 | 윤종용 | 고속의 가변장복호화장치 |
US5668548A (en) * | 1995-12-28 | 1997-09-16 | Philips Electronics North America Corp. | High performance variable length decoder with enhanced throughput due to tagging of the input bit stream and parallel processing of contiguous code words |
US5835035A (en) * | 1995-12-28 | 1998-11-10 | Philips Electronics North America Corporation | High performance variable length decoder with two-word bit stream segmentation and related method |
KR100192269B1 (ko) * | 1996-03-25 | 1999-06-15 | 구자홍 | 가변길이 코드 디코더 |
CN100521787C (zh) * | 1996-05-28 | 2009-07-29 | 松下电器产业株式会社 | 图像预测编码方法 |
JP3520670B2 (ja) * | 1996-06-28 | 2004-04-19 | ソニー株式会社 | 可変長符号処理装置および画像処理装置 |
DE19707974C2 (de) * | 1997-02-27 | 1999-01-14 | Siemens Ag | Schaltungsanordnung zur Dekodierung von Codes variabler Länge |
JPH11215008A (ja) * | 1998-01-27 | 1999-08-06 | Oki Electric Ind Co Ltd | 復号回路 |
US6215424B1 (en) * | 1998-12-16 | 2001-04-10 | Thomson Licensing S.A. | System for variable length codeword processing suitable for video and other applications |
JP4559652B2 (ja) * | 2000-03-24 | 2010-10-13 | パナソニック株式会社 | 可変長復号化回路 |
TWI245571B (en) * | 2004-11-05 | 2005-12-11 | Ali Corp | Variable-length decoding apparatus and method for the image format of a digital video camera |
CN100466748C (zh) * | 2004-11-12 | 2009-03-04 | 扬智科技股份有限公司 | 数字摄影机影像格式的可变长度解码装置及方法 |
KR20090117580A (ko) * | 2008-05-08 | 2009-11-12 | 엘지전자 주식회사 | 부호어의 생성 방법 |
CN105718402B (zh) * | 2016-01-13 | 2021-04-20 | 福州瑞芯微电子股份有限公司 | 可编程时序发生器 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5060242A (en) * | 1989-02-24 | 1991-10-22 | General Electric Company | Non-destructive lossless image coder |
JP3013381B2 (ja) * | 1990-03-28 | 2000-02-28 | ソニー株式会社 | 可変長データの復号装置 |
US5173695A (en) * | 1990-06-29 | 1992-12-22 | Bell Communications Research, Inc. | High-speed flexible variable-length-code decoder |
US5181031A (en) * | 1991-07-30 | 1993-01-19 | Lsi Logic Corporation | Method and apparatus for decoding huffman codes by detecting a special class |
US5208593A (en) * | 1991-07-30 | 1993-05-04 | Lsi Logic Corporation | Method and structure for decoding Huffman codes using leading ones detection |
GB2260458B (en) * | 1991-10-04 | 1995-03-22 | Sony Broadcast & Communication | Data decoder |
JPH05199122A (ja) * | 1992-01-20 | 1993-08-06 | Canon Inc | 復号回路 |
US5233348A (en) * | 1992-03-26 | 1993-08-03 | General Instrument Corporation | Variable length code word decoder for use in digital communication systems |
US5369405A (en) * | 1992-05-19 | 1994-11-29 | Goldstar Co., Ltd. | Coefficient generation apparatus for variable length decoder |
US5245338A (en) * | 1992-06-04 | 1993-09-14 | Bell Communications Research, Inc. | High-speed variable-length decoder |
KR960003452B1 (ko) * | 1992-12-31 | 1996-03-13 | 대우전자주식회사 | 가변길이부호 복호장치 |
-
1994
- 1994-05-06 KR KR1019940009922A patent/KR0152032B1/ko not_active IP Right Cessation
-
1995
- 1995-05-02 JP JP10865695A patent/JP3032134B2/ja not_active Expired - Fee Related
- 1995-05-05 CN CN95106522A patent/CN1085009C/zh not_active Expired - Fee Related
- 1995-05-05 EP EP19950303102 patent/EP0681404A3/en not_active Withdrawn
- 1995-05-08 US US08/436,866 patent/US5696506A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0879747A (ja) | 1996-03-22 |
US5696506A (en) | 1997-12-09 |
EP0681404A3 (en) | 1996-10-16 |
CN1119813A (zh) | 1996-04-03 |
KR0152032B1 (ko) | 1998-10-15 |
KR950035400A (ko) | 1995-12-30 |
EP0681404A2 (en) | 1995-11-08 |
JP3032134B2 (ja) | 2000-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1085009C (zh) | 图像信号的可变长度译码器 | |
US5225832A (en) | High speed variable length decoder | |
KR100324833B1 (ko) | 가변길이부호디코더 | |
US5491480A (en) | Variable length decoder using serial and parallel processing | |
US5627917A (en) | Variable length coding system having a zig-zag FIFO for selectively storing each data coefficient and zero-run count | |
US5162795A (en) | Coding and decoding apparatus of variable length data | |
JP2831888B2 (ja) | Hdtv復号化器 | |
KR0180169B1 (ko) | 가변길이 부호기 | |
US5504823A (en) | Image data partitioning circuit for parallel image decoding system | |
US5808570A (en) | Device and method for pair-match Huffman transcoding and high-performance variable length decoder with two-word bit stream segmentation which utilizes the same | |
CN1113473C (zh) | 使用相对地址的可变长译码装置 | |
EP0812496A1 (en) | Variable length decoder | |
US5313203A (en) | Coding apparatus and method for coding information symbol strings by assigning fixed length codes thereto | |
KR0154010B1 (ko) | 가변길이 복호화 장치 | |
US5757295A (en) | Variable length decoder with enhanced throughput due to parallel processing of contiguous code words of identical type | |
KR960003452B1 (ko) | 가변길이부호 복호장치 | |
US5835035A (en) | High performance variable length decoder with two-word bit stream segmentation and related method | |
JPH08275168A (ja) | ランレングス符号化方法及びその装置 | |
US5701126A (en) | High speed variable length decoder | |
KR0180164B1 (ko) | 가변길이 부호기 | |
CN1107384C (zh) | 高速可变长度码解码装置 | |
GB2319689A (en) | An entropy encoder using context modelling with data reordering | |
JP2934603B2 (ja) | 可変長さコードの復号化方法及びその装置 | |
EP0855106A1 (en) | High performance variable length decoder with two-word bit stream segmentation and related method | |
Park et al. | Area efficient fast Huffman decoder for multimedia applications |
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 | ||
C19 | Lapse of patent right due to non-payment of the annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |