KR0125125B1 - High-speed apparatus for decoding variable length code - Google Patents
High-speed apparatus for decoding variable length codeInfo
- 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
Links
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/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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
제 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)
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) |
-
1994
- 1994-07-29 KR KR1019940018638A patent/KR0125125B1/en not_active IP Right Cessation
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 |