KR0125125B1 - High-speed apparatus for decoding variable length code - Google Patents

High-speed apparatus for decoding variable length code

Info

Publication number
KR0125125B1
KR0125125B1 KR1019940018638A KR19940018638A KR0125125B1 KR 0125125 B1 KR0125125 B1 KR 0125125B1 KR 1019940018638 A KR1019940018638 A KR 1019940018638A KR 19940018638 A KR19940018638 A KR 19940018638A KR 0125125 B1 KR0125125 B1 KR 0125125B1
Authority
KR
South Korea
Prior art keywords
length
signal
bits
variable length
code
Prior art date
Application number
KR1019940018638A
Other languages
Korean (ko)
Other versions
KR960006611A (en
Inventor
손영석
Original Assignee
배순훈
대우전자주식회사
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 배순훈, 대우전자주식회사 filed Critical 배순훈
Priority to KR1019940018638A priority Critical patent/KR0125125B1/en
Publication of KR960006611A publication Critical patent/KR960006611A/en
Application granted granted Critical
Publication of KR0125125B1 publication Critical patent/KR0125125B1/en

Links

Classifications

    • 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
    • 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

Landscapes

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

Abstract

The apparatus improves operation speed by demodulating code word every half period of clock signal. It includes processors(120,140) latching bit stream of variable length code and providing variable length code data having preset number of bit according 1st and 2nd length signal out of the latched bit stream, a demodulator(200) detecting the code word and providing decoded word, latches(310,320) latching the length signal respectively with falling and rising edges, and a selector(340) providing the length signal of the latch(310) and adder(330) as 2nd length signal selectively.

Description

고속 가변길이부호 복호화 장치High speed variable length code decoding device

제 1 도는 본 발명에 따른 고속 가변길이부호 복호화 장치를 도식적으로 설명하기 위한 블럭도,1 is a block diagram for schematically illustrating a fast variable length code decoding apparatus according to the present invention;

제 2 도는 본 발명에 따른 고속 가변길이부호 복호화 장치를 구성하는 제어부의 동작을 설명하기 위한 타이밍도.2 is a timing diagram for explaining the operation of the control unit constituting the fast variable length code decoding apparatus according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

100 : 인터페이스부 120 : 제 1 처리부100: interface unit 120: first processing unit

140 : 제 2 처리부 200 : 복호화부140: second processing unit 200: decoding unit

300 : 제어부 310 : 제 1 래치300: control unit 310: first latch

320 : 제 2 래치 330 : 제 1 가산기320: second latch 330: first adder

340 : 선택부 350 : 제 1 누산부340: selection unit 350: first accumulator

360 : 제 2 누산부 370 : 제 4 가산기360: second accumulator 370: fourth adder

본 발명은 가변길이부호(Variable Length Code) 복호화(Decoding) 장치에 관한 것으로, 특히 구조개선으로 고속동작이 가능한 고속 가변길이부호 복호화 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a variable length code decoding device, and more particularly, to a fast variable length code decoding device capable of high speed operation due to structural improvement.

고화질(High Definition) 영상 시스템에 있어서 가변길이 부호화는 다양한 무손실 데이타 압축을 위해 이용되고 있다. 가변길이 부호화는 데이타의 통계치에 근거하여 고정된 길이의 데이타를 가변길이 데이타로 변환하는 것으로, 정보원에 포함된 각 부호의 발생빈도에 의해 빈도가 많은 것을 짧은 길이의 부호로, 발생 빈도가 적은 것은 긴 길이의 부호로 표시하는 방법이다. 이렇게 함으로써 모든 부호에 동일한 길이를 할당하는 것에 비해 부호길이의 평균치를 줄일 수 있다. 대표적인 가변길이부호로는 호프만(Huffman) 부호가 있다.In high definition image systems, variable length coding is used for various lossless data compression. Variable-length coding converts fixed-length data into variable-length data based on the statistics of the data.The frequency of occurrence of each code included in the information source is shorter and less frequent. This is a method of displaying a long length code. In this way, the average value of the code lengths can be reduced compared to assigning the same length to all codes. A typical variable length code is the Huffman code.

일반적으로, 부호하(Coding)과정은 테이블 어드레서(Address)을 위해 입력 데이타를 이용하는 룩업-테이블(Lookup-Table)에 의해 구현될 수 있으며, 부호워드(code-word) 및 워드길이(word-length)는 테이블 내용으로 기억된다. 그러나, 복호화(Decoding) 과정은 매우 복잡하다. 즉, 가변길이 특성으로 인해 각각의 부호워드는 수신된 가변길이부호의 비트스트림으로 부터 분할되고 난 후에 정보원 부호워드로 복호화된다. 따라서, 통상 가변길이부호 복호화 장치의 설계는 가변길이 부호화 장치의 설계보다 어렵다.In general, the coding process may be implemented by a lookup-table that uses input data for the table address, code-word and word-word. length) is stored as table contents. However, the decoding process is very complicated. That is, due to the variable length feature, each codeword is decoded from the received bitstream of the variable length code and then decoded into an information source codeword. Therefore, the design of the variable length code decoding apparatus is generally more difficult than the design of the variable length coding apparatus.

이러한 가변길이부호 복호화를 위해서 다양한 방법이 제안되어 있다. 이러한 방법의 하나로 트리-검색( Tree Searching) 알고리즘이 주로 이용되었으며, 트리-검색 알고리즘을 이용한 복호화 장치는 트리에 대응하는 논리회로와 부호트리에 대해 트리운행(tree traversal)을 수행하는 제어회로를 포함한다. 그러나, 이러한 접근방법은 상당히 속도가 느리며, 각 부호워드에 대해 부호트리를 통해 비트단위 검색이 요구된다. 따라서, 트리검색을 기초로한 복호화 장치는 하나의 복호화된 워드 데이타를 얻기 위해서는 상당히 많은 횟수의 트리 검색이 이루어져야 하고, 이로 인해 장치 전체의 동작속도가 지연된다는 커다른 문제점이 있었다.Various methods have been proposed for such variable length code decoding. As one of the methods, a tree search algorithm is mainly used, and a decoding apparatus using the tree search algorithm includes a logic circuit corresponding to a tree and a control circuit for performing tree traversal on a code tree. do. However, this approach is considerably slower and requires a bitwise search through the code tree for each codeword. Therefore, the decoding apparatus based on the tree search requires a large number of tree searches to obtain one decoded word data, which causes a large problem of delaying the overall operation speed of the apparatus.

이러한 가변길이부호 복호화 장치의 속도를 개선하기 위해 제안된 방법중에 가장 대표적인 것이, 바로 1993년 9월 14일자로 선밍팅(Ming-Ting Sun) 등에게 부여된 미합중국 특허 제5,245,338호의 가변길이부호 복호화 장치이다.The most representative of the proposed methods for improving the speed of the variable length code decoding device is the variable length code decoding device of US Patent No. 5,245,338, which was granted to Ming-Ting Sun on September 14, 1993. to be.

선밍팅 등에 의해 제안되었던 종래의 고속 가변길이부호 복호화 장치는, 입력된 소정 비트 수의 부호 데이타 즉, 비트스트림 데이타를 길이신호에 따라서 순차적으로 소정비트씩 분할하여 출력하는 베릴쉬프터(barrel shifter)와 복호 테이블(decoding table)을 포함한다. 이때 복호 테이블은, 베릴쉬프터로 부터 인가되는 일련의 가변길이부호들 중 의미있는 가변길이부호 구간 즉, 부호워드(code word)을 검출하기 위한 앤드-플랜(AND-Plane)의 부호길이 테이블과, 검출된 가변길이부호 구간의 비트수를 검출하기 위한 오아-플랜(OR-Plane)의 부호길이 테이블과, 검출된 가변길이 부호 구간을 복호화하기 위한 앤드-플랜의 복호워드 테이블로 구성된다.The conventional fast variable length code decoding apparatus proposed by mingming and the like includes a barrel shifter for sequentially dividing input code data, that is, bit stream data, by predetermined bits according to a length signal. It includes a decoding table. The decoding table may include a code length table of an AND-plane for detecting a meaningful variable length code interval, that is, a code word, among a series of variable length codes applied from a beryl shifter, A code length table of an OR-Plane for detecting the number of bits of the detected variable length code interval and a decoded word table of the end plan for decoding the detected variable length code interval.

이러한 종래의 가변길이부호 복호화 장치는, 종래의 비트단위 검색과는 달리, 베릴쉬프터를 이용하여 클릭 신호의 한 주기마다, 검출된 부호워드 전체를 자리이동시킬 수 있고, 이에 따라서 수신된 비트스트림 데이타로부터 클럭신호의 주기마다 부호워드의 검출이 이루어질 수 있기 때문에 고속 부호화가 가능하다.Unlike the conventional bit unit search, the conventional variable length code decoding apparatus can shift the entire detected code word at one period of the click signal by using a beryl shifter, thereby receiving the received bitstream data. Since codewords can be detected for each cycle of the clock signal, the fast encoding is possible.

그런데, 상술한 바와 같은 고속 가변길이부호 복호화 장치는 종래의 트리검색을 기초로한 복호와 장치에 비해 어느 정도의 속도 개선을 가져왔으나, 짧은 시간내에 많은 양의 데이타를 처리해야 하는 고화질 영상 시스템에서는 가변길이부호 복호화 장치의 데이타 처리속도의 향상은 최근 더욱 더 강력히 요구되고 있다.By the way, the above-described fast variable length code decoding apparatus has a certain speed improvement compared to the conventional decoding and decoding apparatus based on the tree search. However, in the high quality video system which needs to process a large amount of data in a short time, Increasing the data processing speed of the variable length code decoding apparatus has been increasingly demanded in recent years.

따라서, 본 발명의 목적은 구조개선으로 보다 더 향상된 고속동작이 가능한 고속 가변길이부호 복호화 장치를 제공하는데 있다.Accordingly, an object of the present invention is to provide a fast variable length code decoding apparatus capable of further improved high speed operation due to structural improvement.

상술한 바와 같은 목적을 달성하기 위해, 입력되는 가변길이부호(Variable Length Code)의 비트스트림(bit Stream)을 래치(Latch)하고, 상기 래치된 비트스트림 데이타 중 제 1 길이신호(Length Signal)에 응답하여 자리이동된 비트위치로부터 기설정된 비트 수의 가변길이부호 데이타를 출력하는 제 1 처리부와, 상기 제 1 처리부로부터 제공되는 기설정된 비트 수의 가변길이부호 데이타를 래치하고, 상기 래치된 가변길이부호 중 제 2 길이신호에 응답하여 자리이동된 비트위치로부터 기설정된 비트 수의 가변길이부호 데이타를 출력하는 제 2 처리부를 갖는 인터페이스부와, 상기 인터페이스부로부터 제공되는 기설정된 비트수의 가변길이부호 데이타 중 의미있는 가변길이부호 구간인 부호워드(Code Word)를 검출하고, 상기 검출된 부호워드의 복호화(Decoding)를 수행하여 복호화된 워드(Decoded Word)를 출력하고, 상기 검출된 부호워드의 비트 수를 길이신호로서 출력하는 복호화부와, 상기 복호화부로부터 제공되는 상기 길이신호를 래치하고, 클럭신호에 응답하여 상기 길이신호를 상기 인터페이스부로 출력하는 제어부를 갖는 본 발명의 고속 가변길이부호 복호화 장치는, 상기 제어부가, 클럭신호의 하강 모서리(Falling Edge)에 응답하여, 상기 복호화부로부터 제공되는 길이신호를 래치하는 제 1 래치부(310)와 ; 클럭신호의 상승 모서리(Rising Edge)에 응답하여, 상기 복호화부로부터 제공되는 길이신호를 래치하는 제 2 래치부와 ; 상기 제 1 및 제 2 래치부로부터 제공되는 길이신호를 가산하여 출력하는 제 1 가산부와 ; 상기 제 1 래치부 및 상기 제 1 가산부로부터 신호를 입력받고, 클럭신호의 하강 모서리에 응답하여 상기 제 1 래치부로부터 제공된 길이신호를, 그리고 클럭신호의 상승 모서리에 응답하여 상기 제 1 가산부로부터 제공된 신호를, 제 2 길이신호로서 제 2 처리부로 출력하는 선택부와 ; 상기 제 1 래치부로부터 제공되는 길이신호를 누산(Accumulation)하여 출력하는 제 1 누산부와 ; 상기 제 2 래치부로부터 제공되는 상기 길이신호를 누산하여 출력하는 제 2 누산부와 ; 상기 제 1 및 제 2 누산부로 제공되는 신호를 가산하여 제 1 길이신호로서 제 1 처리부로 출력하는 제 2 가산부를 포함한다.In order to achieve the object described above, a bit stream of an input variable length code is latched, and a first length signal of the latched bit stream data is latched. A first processor for outputting a variable length code data of a predetermined number of bits from the bit position shifted in response, and a variable length code data of a predetermined number of bits provided from the first processor, and latching the latched variable length. A variable length code having a second processor for outputting variable length code data of a predetermined number of bits from a bit position shifted in response to a second length signal of the code; and a variable length code of a predetermined number of bits provided from the interface unit. Detects a code word which is a meaningful variable length code section among data and decodes the detected code word. A decoding unit for outputting a decoded word, outputting the number of bits of the detected code word as a length signal, and latching the length signal provided from the decoding unit, the length signal in response to a clock signal. The fast variable length code decoding apparatus of the present invention having a control unit for outputting the control unit to the interface unit comprises: a first control unit for latching a length signal provided from the decoding unit in response to a falling edge of a clock signal; A latch portion 310; A second latch unit for latching a length signal provided from the decoder in response to a rising edge of a clock signal; A first adder which adds and outputs length signals provided from the first and second latch units; A signal is received from the first latch unit and the first adder, the length signal provided from the first latch unit in response to the falling edge of the clock signal, and the first adder in response to the rising edge of the clock signal. A selection unit for outputting a signal provided from the second processing unit as a second length signal; A first accumulating unit accumulating and outputting a length signal provided from the first latch unit; A second accumulating unit which accumulates and outputs the length signal provided from the second latch unit; And a second adder that adds signals provided to the first and second accumulators and outputs the first length signal to the first processor.

이하, 첨부된 도면을 참조로 하여 본 발명의 실시예에 대하여 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도면은 본 발명에 따른 고속 가변길이부호 복호화 장치의 동작을 도식적으로 설명하기 위한 블럭도로서, 인터페이스부(100), 복호화부(200), 그리고 제어부(300)로 구성된다.FIG. 4 is a block diagram schematically illustrating an operation of the fast variable length code decoding apparatus according to the present invention, and includes an interface unit 100, a decoder 200, and a controller 300.

인터페이스부(100)는 제 1 및 제 2 처리부(120 및 140)로 구성되는데, 제 1 처리부(120)는 송신단(도시안됨)으로부터 전송된 가변길이부호(Variable Length Code)의 비트스트림(bit Stream) 데이타를 일시적으로 저장하는 버퍼부(도시안됨)로부터 일정한 비율로 비트스트림 데이타를 제공받아 래치(LATCH)하고, 상기 래치된 비트스트림 데이타 중 후술하는 제어부(300)로부터 제공되는 누산된 길이신호(Accumulated Length Signal)에 응답하여 자리이동된 비트위치로부터 기설정된 비트수의 가변길이부호를 출력한다. 그리고 제 2 처리부(140)는 제 1 처리부(120)로부터 제공되는 기설정된 비트 수의 가변길이부호를 래치하고, 상기 래치된 가변길이부호 중 후술하는 제어부(300)로부터 제공되는 길이신호에 응답하여 자리이동된 위치로부터 기설정된 비트 수의 가변길이부호를 출력한다.The interface unit 100 includes first and second processing units 120 and 140, and the first processing unit 120 includes a bit stream of a variable length code transmitted from a transmitting end (not shown). Latch the bitstream data at a constant rate from a buffer unit (not shown) that temporarily stores data, and accumulate the length signal (1) provided from the controller 300 to be described later among the latched bitstream data. In response to the Accumulated Length Signal), a variable length code of a predetermined number of bits is output from the shifted bit position. The second processor 140 latches a variable length code of a predetermined number of bits provided from the first processor 120, and responds to a length signal provided from the controller 300, which will be described later, among the latched variable length codes. Outputs a variable length code of a predetermined number of bits from the shifted position.

상술한 바와 같은 과정에 의해 인터페이스부(100)로부터 출력된 기설정된 비트 수의 가변길이부호는 복호화부(200)로 입력되는데, 복호화부(200)는 입력된 가변길이부호 중 의미있는 가변길이부호 구간 즉, 부호워드(code word)를 검출하고, 상기 검출된 부호워드의 복호화를 수행하여 복호화된 워드(decoded word)를 출력하고, 상기 검출된 부호워드의 비트 수를 길이신호로서 출력한다. 이때, 복호화된 워드는 후행하는 줄 길이부호화장치(도시안됨), 역양자화장치(도시안됨)를 거치게 되고, 길이신호는 제어부(300)로 제공된다.The variable length code of the predetermined number of bits output from the interface unit 100 by the above-described process is input to the decoder 200, and the decoder 200 has a meaningful variable length code among the input variable length codes. A section, that is, a code word is detected, a decoded word is output by decoding the detected code word, and the number of bits of the detected code word is output as a length signal. In this case, the decoded word passes through a subsequent line length encoder (not shown) and an inverse quantizer (not shown), and the length signal is provided to the controller 300.

제어부(300)는 제 1 및 제 2 래치(310 및 320), 제 1 가산기(330), 선택부(340), 제 1 및 제 2 누산부(350 및 360), 그리고 제 4 가산기(370)로 구성된다. 이때, 제 1 누산부(350)는 제 2 가산기(352) 및 제 3 래치(354)로, 그리고 제 2 누산부(360)는 제 3 가산기(362) 및 제 4 래치(354)로 구성된다.The controller 300 includes first and second latches 310 and 320, a first adder 330, a selector 340, first and second accumulators 350 and 360, and a fourth adder 370. It consists of. In this case, the first accumulator 350 includes a second adder 352 and a third latch 354, and the second accumulator 360 includes a third adder 362 and a fourth latch 354. .

이렇게 구성된 본 발명에 따른 고속 가변길이부호 복호화 장치의 동작을 좀 더 상세히 설명하기로 하자.The operation of the fast variable length code decoding apparatus according to the present invention configured as described above will be described in more detail.

먼저, 송신단(도시안됨)으로부터 전송된 가변길이부호의 비트스트림 데이타는 버퍼부(도시안됨)로 일시적으로 저장되었다가, 일정한 비율로 제 1 처리부(100)로 제공된다. 이때, 제 1 처리부(120)는 래치부(도시안됨) 및 베럴쉬프터(도시안됨)를 갖고 있어서, 입력된 비트스트림 데이타는 래치부(도시안됨)에 래치되어 베럴쉬프터(도시안됨)로 제공된다. 베럴쉬프터(도시안됨)는 입력된 비트스트림 데이타를 기설정된 비트수 단위로 출력하는데, 제어부(300)로부터 제공되는 누산된 길이신호에 응답하여 자리이동된 비트위치로부터 시작하여 기설정된 비트수의 가변길이부호를 출력한다. 예를들어, 제어부(300)로부터 제공되는 누산된 길이신호가 8비트이고 출력되는 기설정된 비트수가 48비트라면, 버퍼부(도시안됨)로부터 입력된 비트스트림 데이타 중 상위 9비트 위치로부터 시작하여 48비트의 가변길이부호를 출력한다. 이렇게 제 1 처리부(120)로부터 출력되는 48비트의 가변길이부호는 제 2 처리부(140)로 제공된다.First, bitstream data having a variable length code transmitted from a transmitting end (not shown) is temporarily stored in a buffer unit (not shown) and then provided to the first processing unit 100 at a constant rate. At this time, the first processing unit 120 includes a latch unit (not shown) and a barrel shifter (not shown), so that the input bitstream data is latched to the latch unit (not shown) and provided to the barrel shifter (not shown). . The barrel shifter (not shown) outputs the input bitstream data in units of a predetermined number of bits. The barrel shifter (not shown) varies the preset number of bits starting from the shifted bit position in response to the accumulated length signal provided from the controller 300. Output length code. For example, if the accumulated length signal provided from the control unit 300 is 8 bits and the preset number of bits to be output is 48 bits, starting from the position of the upper 9 bits of the bitstream data input from the buffer unit (not shown), the 48 bits are stored. Outputs the variable length code of the bit. The 48-bit variable length code output from the first processor 120 is provided to the second processor 140.

제 2 처리부(140)는 제 1 처리부(120)와 마찬가지로, 래치부(도시안됨) 및 베럴쉬프터(도시안됨)로 구성되어 있다. 따라서 제 1 처리부(120)로 부터 제공되는 48비트의 가변길이부호는 래치부(도시안됨)에 래치되어 베럴쉬프터(도시안됨)로 제공된다. 이 때, 제 1 처리부(120)에서와 마찬가지로, 베럴시프터(도시안됨)는 입력된 비트스트림 데이타를 기설정된 비트수 단위로 출력하는데, 제어부(300)로 부터 제공되는 길이신호에 응답하여 자리이동된 위치로부터 시작하여 기설정된 비트 수의 가변길이부호를 출력한다.Like the first processing unit 120, the second processing unit 140 includes a latch unit (not shown) and a barrel shifter (not shown). Accordingly, the 48-bit variable length code provided from the first processing unit 120 is latched by the latch unit (not shown) and provided to the barrel shifter (not shown). At this time, as in the first processing unit 120, the barrel shifter (not shown) outputs the input bitstream data in units of a predetermined number of bits, and shifts the seat in response to the length signal provided from the controller 300. Outputs a variable length code of a predetermined number of bits starting from the specified position.

상술한 바와 같은 과정을 통해 제 2 처리부(140)로 부터 출력되는 48비트의 가변길이부호는 복호화부(200)로 입력된다. 복호화부(200)는 통상적인 가변길이부호 복호화 장치에서 사용되는 공지의 복호 테이블 수단 즉, 피엘에이(PLAs ; Programmable Logic Arrays)를 이용한 복호 테이블수단으로서, 입력된 48비트의 가변길이부호 중 의미있는 부호워드를 검출하고, 상기 검출된 부호워드의 복호화를 수행하여 복호된 워드를 출력하고, 상기 검출된 부호워드의 비트수를 길이신호로서 출력한다. 예를 들어 검출된보호워드가 3비트였다면, 복호화부(200)는 3비트의 길이신호를 출력한다.Through the above-described process, the 48-bit variable length code output from the second processor 140 is input to the decoder 200. The decoding unit 200 is a decoding table means using known decoding table means used in a conventional variable length code decoding apparatus, that is, PLAs (PLAs), which is meaningful among the input 48-bit variable length codes. A code word is detected, the detected code word is decoded to output a decoded word, and the number of bits of the detected code word is output as a length signal. For example, if the detected protection word is 3 bits, the decoding unit 200 outputs a 3-bit length signal.

제 2 도는 제어부(300)의 동작을 설명하기 위한 예시적인 타이밍도(Timing Diagram)로서, (A)는 클럭신호, (B)는 복호화부(200)로 부터 출력되는 길이신호, (C)는제 1 래치(310)에 래치되는 길이신호, (D)는 제 2 래치(320)에 래치되는 길이신호, (E)는 제 1 가산기(320)에서 가산되어 출력되는 신호, (F)는 선택부(340)로 부터 출력되는(또는 제 2 처리부(140)로 입력되는) 길이신호, (G)는 제 2 가산기(352)에서 가산되어 출력되는 신호, (H)는 제 3 래치(354)에 래치되는 신호, (I)는 제 3 가산기(362)에서 가산되어 출력되는 신호, (J)는 제 4 래치(364)에 래치되는 신호, (K)는 제 4 가산기(370)에서 가산되어 출력되는(또는 제 1 처리부(120)로 입력되는) 신호이다.2 is an exemplary timing diagram for explaining an operation of the controller 300, (A) is a clock signal, (B) is a length signal output from the decoder 200, (C) is The length signal latched in the first latch 310, (D) is the length signal latched in the second latch 320, (E) is a signal added and output from the first adder 320, (F) is a selector The length signal outputted from 340 (or inputted to the second processor 140), (G) is added to and output from the second adder 352, and (H) is transmitted to the third latch 354. The latched signal, (I), is added to and output from the third adder 362, (J) is latched to the fourth latch 364, and (K) is added and output from the fourth adder 370. It is a signal to be input (or input to the first processing unit 120).

이제, 제 2 도의 타이밍도를 참조로 하여 제어부(300)의 동작을 좀 더 상세히 설명하기로 하자.Now, the operation of the controller 300 will be described in more detail with reference to the timing diagram of FIG. 2.

클럭신호의 주기가 제 3(A)도에 도시된 바와 같다고 할 때, 복호화부(200)로 부터 출력되는 길이신호는 제 2(B)도에 도시되어 있다. 다시 말해서, 클럭신호의 주기마다 3비트, 5비트, 2비트, 7비트, 3비트, 5비트, 6비트, 7비트 등의 길이신호가 순차적으로 출력된다.Assuming that the period of the clock signal is as shown in FIG. 3A, the length signal output from the decoder 200 is shown in FIG. In other words, length signals such as 3 bits, 5 bits, 2 bits, 7 bits, 3 bits, 5 bits, 6 bits, 7 bits, etc. are sequentially output for each cycle of the clock signal.

제 1 및 제 2 래치(310 및 320)는 각각 클럭신호의 하강모서리(falling edge) 및 상승모서리(rising edge)에 응답하여, 복호화부(200)로 부터 출력되는 길이신호를 래치한다. 좀 더 상세하게는, 제 1 래치(310)는 클럭신호의 하강 모서리에 응답하여, 복호화부(200)로 부터출력되는 길이신호 3비트, 2비트, 3비트, 6비트를 제2(C)도에 도시된 바와 같이 래치한다. 한편, 제 2 래치(320)는 클럭신호의 상승 모서리에 응답하여, 복호화부(200)로 부터 출력되는 길이신호 5비트, 7비트, 5비트, 7비트를 제2(D)도에 도시된 바와 같이 래치한다. 결국, 복호화부(200)로 부터 출력되는 길이신호는클럭신호의 반주기 마다 제 1 래치(310) 및 제 2 래치(320)에 교번적으로 래치된다.The first and second latches 310 and 320 latch the length signal output from the decoder 200 in response to the falling edge and the rising edge of the clock signal, respectively. In more detail, the first latch 310 receives the length signal of 3 bits, 2 bits, 3 bits, and 6 bits from the decoder 200 in response to the falling edge of the clock signal. Latch as shown in the figure. On the other hand, the second latch 320 in response to the rising edge of the clock signal, the length signal 5 bits, 7 bits, 5 bits, 7 bits output from the decoder 200 shown in the second (D) Latch as shown. As a result, the length signal output from the decoder 200 is alternately latched to the first latch 310 and the second latch 320 at every half period of the clock signal.

이어서, 제 1 래치(310)에 래치된 길이신호는 제 1 가산기(330), 선택부(340), 그리고 제 1 누산부(350)로 제공되며, 제 2 래치(310)에 래치된 길이신호는 제 1가산기(330), 그리고 제 2 누산부(360)로 제공된다.Subsequently, the length signal latched to the first latch 310 is provided to the first adder 330, the selector 340, and the first accumulator 350, and the length signal latched to the second latch 310. Is provided to the first adder 330 and the second accumulator 360.

제 2(E)도는 제 1 가산부(330)가 제 1 및 제 2 래치(310 및 320)로 부터 제공된 길이신호를 가산하여 출력하는 신호 3비트, (3+5의)8비트, (5+2의)7비트, (2+7의)9비트, (7+3의)10비트, (3+5의)8비트, (5+6의)11비트, (6+7의)13비트를 도시하고 있다.In FIG. 2E, the first adder 330 adds and outputs the length signals provided from the first and second latches 310 and 320, 8 bits (3 + 5), 8 bits, and (5). +2) 7 bits, (2 + 7) 9 bits, (7 + 3) 10 bits, (3 + 5) 8 bits, (5 + 6) 11 bits, (6 + 7) 13 The bit is shown.

또한, 제 2(F)도는, 매 클럭신호의하강 모서리 및 상승모서리 때에 선택부(340)로부터 출력되는 신호를 도시하고 있다. 좀 더 상세하게는, 선택부(340)는 제 1 래치(310) 및 제 1 가산기(330)로 부터 제공된 신호를 입력받는다. 그리고 선택부(340)는 클럭신호의 하강 모서리에 응답하여 제 1 래치(310)로 부터 제공된 길이신호를 출려고하는 반면, 클럭신호의 상승 모서리에 응답하여 제 1 가산기(330)로 부터 제공된 신호를 출력한다. 이 때, 선택부(340)로 부터 출력되는 신호는 길이신호로서 제 2 처리부(140)로 제공되므로, 제 2(F)도는 선택부(340)로 부터 순차적으로 출력되는 또는 제 2 처리부(140)로 순차적으로 입력되는 신호 3비트, 8비트, 2비트, 9비트, 3비트, 8비트, 6비트, 13비트를 도시하고 있다.FIG. 2 (F) also shows the signal output from the selection unit 340 at the falling edge and rising edge of every clock signal. More specifically, the selector 340 receives a signal provided from the first latch 310 and the first adder 330. The selector 340 attempts to output the length signal provided from the first latch 310 in response to the falling edge of the clock signal, while the signal provided from the first adder 330 in response to the rising edge of the clock signal. Outputs At this time, since the signal output from the selector 340 is provided to the second processor 140 as a length signal, the second (F) diagram is sequentially output from the selector 340 or the second processor 140. 3 bits, 8 bits, 2 bits, 9 bits, 3 bits, 8 bits, 6 bits, and 13 bits are sequentially shown.

이어서, 제 1 누산부(350)의 제 2 가산기(352)는 제 1 래치(310)로 부터 현재 제공되는 길이신호와 제 3 래치(354)로 부터 출력되는 신호를 가산하여 출력하는데, 제 2 가산부(352)로 부터 출력되는 신호는 제 2(G)도에 도시되어 있다. 이 때, 제 3 래치(354)는 제 2 (H)도에 도시된 바와 같이, 클럭신호의 하강 모서리에 응답하여 제 2 가산부(352)로 부터 제공되는 신호를 순차적으로 래치한다. 그리고 제 3 래치(354)에 래치된 신호는 선행하는 길이신호로서 제 2 가산기(352)로 제공되어 현재 제공되는 길이신호와 가산된다.Subsequently, the second adder 352 of the first accumulator 350 adds and outputs the length signal currently provided from the first latch 310 and the signal output from the third latch 354. The signal output from the adder 352 is shown in FIG. At this time, the third latch 354 sequentially latches the signal provided from the second adder 352 in response to the falling edge of the clock signal, as shown in FIG. The signal latched to the third latch 354 is provided to the second adder 352 as a preceding length signal and added to the currently provided length signal.

한편, 제 2 누산부(360)의 제 3 가산기(362)는 제 2 래치(320)로 부터 제공되는 길이신호와 제 4 래치(364)로 부터 제공되는 신호를 가산하여 출력하는데, 제 3 가산기(362)로 부터 출력되는 신호는 제 2(I)도에 도시되어 있다. 이 때, 제 4 래치(364)는 클럭신호의 상승 모서리에 응답하여, 제 2(J)도에 도시된 바와 같이 제 3 가산기(352)로 부터 제공되는 신호를 순차적으로 래치한다. 그리고 제 4 래치(364)에 래치된 신호는 선행하는 길이신호로서 제 3 가산기(362)로 제공되어 현재 제공되는 길이신호와 가산된다.On the other hand, the third adder 362 of the second accumulator 360 adds and outputs the length signal provided from the second latch 320 and the signal provided from the fourth latch 364. The signal output from 362 is shown in FIG. 2 (I). At this time, the fourth latch 364 sequentially latches the signal provided from the third adder 352 in response to the rising edge of the clock signal. The signal latched to the fourth latch 364 is provided to the third adder 362 as the preceding length signal and added to the currently provided length signal.

이러한 과정에 의해 제 2 및 제 3 가산기(352 및 362)로 부터 출력된 신호는 제 4 가산기(370)로 입력된다. 제2(K)도는 제 4 가산기(370)로 부터 가산되어 출력되는 신호 즉, 누산된 신호 3비트, 8비트, 10비트, 17비트, 20비트, 25비트, 31비트, 38비트를 도시하고 있다. 이 때, 제 1 처리부(120)는 제 4 가산기(370)로 부터 출력되는 누산된 신호에 응답하여 자리이동된 비트위치로 부터 시작하여 48비트의 가변길이부호를 출력한다.In this manner, the signals output from the second and third adders 352 and 362 are input to the fourth adder 370. FIG. 2 (K) shows signals added and output from the fourth adder 370, that is, accumulated signals 3 bits, 8 bits, 10 bits, 17 bits, 20 bits, 25 bits, 31 bits, and 38 bits. have. At this time, the first processor 120 outputs a 48-bit variable length code starting from the shifted bit position in response to the accumulated signal output from the fourth adder 370.

결국, 본 발명에 따른 고속 가변길이부호 복호화 장치는구조개선으로 클럭신호의 반주기마다 부호워드의 복호화를 수행함으로서, 복호화 장치의 동작속도를 더욱 향상시킬 수 있다는 커다란 이점이 있다.As a result, the fast variable length code decoding apparatus according to the present invention has a great advantage that the operation speed of the decoding apparatus can be further improved by decoding the code word every half cycle of the clock signal by improving the structure.

Claims (1)

입력되는 가변길이부호(Variable Length Code)의 비트스트림(bit Stream)을 래치(Latch)하고, 상기 래치된 비트스트림 데이타 중 제 1 길이신호(Length Signal)에 응답하여 자리이동된 비트위치로 부터 기설정된 비트 수의 가변길이부호 데이타를 출력하는 제 1 처리부(120)와, 상기 제 1 처리부(120)로 부터 제공되는 기설정된 비트 수의 가변길이부호 데이타를 래치하고, 상기 래치된 가변길이부호 중 제 2 길이신호에 응답하여 자리이동된 비트위치로 부터 기설정된 비트 수의 가변길이부호 데이타를 출력하는 제 2 처리부(140)를 갖는 인터페이스부(100)와, 상기 인터페이스부(100)로 부터 제공되는 기설정된 비트 수의 가변길이부호 데이타 중 의미있는 가변길이부호 구간인 부호워드(Code Word)를 검출하고, 상기 검출된 부호워드의 부호화(Decoding)를 수행하여 복호화된 워드(Decoded Word)를 출력하여, 상기 검출된 부호워드의 비트 수를 길이신호로서 출력하는 복호화부(200)와, 상기 복호화부(200)로 부터 제공되는 상기 길이신호를 래치하고, 클럭신호에 응답하여 상기 길이신호를 상기 인터페이스부(100)로 출력하는 제어부(300)를 갖는 고속 가변 길이부호 복호화 장치에 있어서, 상기 제어부(300)가 클럭신호의 하강 모서리(Falling Edge)에 응답하여, 상기 복호화부(200)로부터 제공되는 길이신호를 래치하는 제 1 래치부(310)와 ; 클럭신호의 상승 모서리(Rising Edge)에 응답하여, 상기 복호화부(200)로부터 제공되는 길이신호를 래치하는 제 2 래치부(320)와 ; 상기 제 1 및 제 2 래치부(310 및 320)로부터 제공되는 길이신호를 가산하여 출력하는 제 1 가산부(330)와 ; 상기 제 1 래치부(310) 및 상기 제 1 가산부(330)로부터 신호를 입력받고, 클럭신호의 하강 모서리에 응답하여 상기 제 1 래치부(310)로부터 제공된 길이신호를, 그리고 클럭신호의 상승모서리에 응답하여 상기 제 1 가산부(330)로부터 제공된 신호를, 제 2 길이신호로서 제 2 처리부(140)로 출력하는 선택부(340)와 ; 상기 제 1 래치부(310)로 부터 제공되는 길이신호를 누산(Accumulation)하여 출력하는 제 1 누산부(350)와 ; 상기 제 2 래치부(320)로 부터 제공되는 상기 길이신호를 누산하여 출력하는 제 2 누산부(360)와 ; 상기 제 1 및 제 2 누산부(350 및 360)로부터 제공되는 신호를 가산하여 제 1 길이신호로서 제 1 처리부(100)로 출력하는 제 2 가산부(370)을 포함하는 것을 특징으로 하는 고속 가변길이부호 복호화기.Latching a bit stream of an input variable length code, and relocating from a bit position shifted in response to a first length signal of the latched bit stream data. Latching a first processor 120 for outputting variable length code data of a set number of bits and variable length code data of a predetermined number of bits provided from the first processor 120, and among the latched variable length codes. An interface unit 100 having a second processor 140 for outputting variable length code data of a predetermined number of bits from a bit position shifted in response to a second length signal, and provided from the interface unit 100. Decoded word (Dec) by detecting a code word which is a meaningful variable length code section among variable length code data of a predetermined number of bits and decoding the detected code word odd word), and outputs the number of bits of the detected code word as a length signal, and latches the length signal provided from the decoder 200, in response to a clock signal. In the fast variable length code decoding apparatus having a control unit 300 for outputting the length signal to the interface unit 100, the control unit 300 in response to the falling edge of the clock signal, the decoding unit A first latching unit 310 for latching a length signal provided from 200; A second latch unit 320 for latching a length signal provided from the decoder 200 in response to a rising edge of a clock signal; A first adder 330 for adding and outputting length signals provided from the first and second latch units 310 and 320; The signal is input from the first latch unit 310 and the first adder 330, and the length signal provided from the first latch unit 310 is increased in response to the falling edge of the clock signal. A selector 340 for outputting a signal provided from the first adder 330 to the second processor 140 as a second length signal in response to an edge; A first accumulator 350 accumulating and outputting a length signal provided from the first latch unit 310; A second accumulator 360 accumulating and outputting the length signal provided from the second latch unit 320; And a second adder 370 that adds signals provided from the first and second accumulators 350 and 360 and outputs the first length signal to the first processor 100 as a first length signal. Length code decoder.
KR1019940018638A 1994-07-29 1994-07-29 High-speed apparatus for decoding variable length code KR0125125B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940018638A KR0125125B1 (en) 1994-07-29 1994-07-29 High-speed apparatus for decoding variable length code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019940018638A KR0125125B1 (en) 1994-07-29 1994-07-29 High-speed apparatus for decoding variable length code

Publications (2)

Publication Number Publication Date
KR960006611A KR960006611A (en) 1996-02-23
KR0125125B1 true KR0125125B1 (en) 1997-12-01

Family

ID=19389306

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940018638A KR0125125B1 (en) 1994-07-29 1994-07-29 High-speed apparatus for decoding variable length code

Country Status (1)

Country Link
KR (1) KR0125125B1 (en)

Also Published As

Publication number Publication date
KR960006611A (en) 1996-02-23

Similar Documents

Publication Publication Date Title
US4420771A (en) Technique for encoding multi-level signals
US5696507A (en) Method and apparatus for decoding variable length code
EP0443255B1 (en) Method and apparatus for carrying-over control in arithmetic entropy coding
US5173695A (en) High-speed flexible variable-length-code decoder
KR100324833B1 (en) Variable length code decoder
KR970005575B1 (en) Bitrate reduction method and circuitry
US5225832A (en) High speed variable length decoder
US5491480A (en) Variable length decoder using serial and parallel processing
KR100748485B1 (en) A variable length codeword decoder and a variable length codeword decoding method
US5561690A (en) High speed variable length code decoding apparatus
JP2006054865A (en) Binary arithmetic decoding apparatus and methods using pipelined structure
KR0178201B1 (en) Variable length decoding apparatus
US5280349A (en) HDTV decoder
US5663726A (en) High speed variable-length decoder arrangement with reduced memory requirements for tag stream buffering
KR100486251B1 (en) Decoding apparatus for variable length code and method thereof
US5394144A (en) Variable length code decoding apparatus
US5666116A (en) High speed variable-length decoder arrangement
WO2008021304A2 (en) Data encoder
KR960003452B1 (en) Vlc
KR100207385B1 (en) Variable length decoding apparatus
US5701126A (en) High speed variable length decoder
KR0125125B1 (en) High-speed apparatus for decoding variable length code
Rudberg et al. New approaches to high speed Huffman decoding
KR0125126B1 (en) High-speed apparatus for decoding variable length code
US5568140A (en) Header detector and associated decoding apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111004

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20121002

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee