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

High-speed apparatus for decoding variable length code

Info

Publication number
KR0125126B1
KR0125126B1 KR1019940018639A KR19940018639A KR0125126B1 KR 0125126 B1 KR0125126 B1 KR 0125126B1 KR 1019940018639 A KR1019940018639 A KR 1019940018639A KR 19940018639 A KR19940018639 A KR 19940018639A KR 0125126 B1 KR0125126 B1 KR 0125126B1
Authority
KR
South Korea
Prior art keywords
signal
length
bits
response
adder
Prior art date
Application number
KR1019940018639A
Other languages
Korean (ko)
Other versions
KR960006612A (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 KR1019940018639A priority Critical patent/KR0125126B1/en
Publication of KR960006612A publication Critical patent/KR960006612A/en
Application granted granted Critical
Publication of KR0125126B1 publication Critical patent/KR0125126B1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

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

Abstract

The apparatus for improving operation speed by demodulating code word every half period of clock signal includes a controller(300) comprising of latches(331,332,364,365) latching length signal, selectors(334,363) providing the length signal of the latches, and adders(333,361,362) adding the length signal.

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 : 제어부 330 : 길이신호 제어부300: control unit 330: length signal control unit

331 : 제 1 래치 332 : 제 2 래치331: first latch 332: second latch

333 : 제 1 가산기 334 : 제 1 선택부333: first adder 334: first selector

360 : 누산된 길이신호 제어부 361 : 제 2 가산기360: accumulated length signal controller 361: second adder

362 : 제 3 가산기 363 : 제 2 선택부362: third adder 363: second selector

364 : 제 3 래치 365 : 제 4 래치364: third latch 365: fourth latch

본 발명은 가변길이부호(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 encoding 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 in frequency and less incidence in frequency. 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 a table address, and includes a codeword and a word-length. Is remembered as table contents. However, the decoding process is very complicated. That is, the design of the variable length encoding apparatus in which each codeword is received due to the variable length characteristic is more difficult than the design of the variable length encoding apparatus.

이러한 가변길이부호 복호화를 위해서 다양한 방법이 제안되어 있다. 이러한 방법의 하나로 트리-검색(Tree-Searching)알고리즘이 주로 이용되었으며, 트리-검색 알고리즘을 이용한 복호화 장치는 트리에 대응하는 논리회로와 부호트리에 대해 트리운행(tree traversal)을 수행하는 제어회로를 포함한다. 그러나, 이러한 접근방법은 상당히 속도가 느리며, 각 부호워드에 대해 부호트리를 통해 비트단위 검색이 요구된다. 따라서, 트리검색을 기초로한 복호화 장치는 하나의 복호화된 워드 데이타를 얻기 위해서는 상당히 많은 횟수의 트리 검색이 이루어져야 하고, 이로 인해 장치 전체의 동작속도가 지연된다는 커다란 문제점이 있었다.Various methods have been proposed for such variable length code decoding. As one of the methods, a tree-searching algorithm is mainly used, and a decoding apparatus using a tree-search algorithm includes a logic circuit corresponding to a tree and a control circuit that performs tree traversal on a code tree. Include. 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 significant problem of delaying the operation speed of the entire 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 apparatus is the fast variable length code decoding of U.S. Patent No. 5,245,338 issued to Ming-Ting Sun on September 14, 1993. Device.

선밍팅 등에 의해 제안되었던 종래의 고속 가변길이부호 복호화 장치는, 입력된 소정 비트수의 부호 데이타 즉, 비트스트림 데이타를 길이신호에 따라서 순차적으로 소정비트씩 분할하여 출력하는 베럴쉬프터(barrel shifter)와 복호 테이블(decoding table)을 포함한다. 이 때 복호 테이블은, 베럴쉬프터로 부터 인가되는 일련의 가변길이부호들 중 의미있는 가변길이부호 구간 즉, 부호워드(code word)을 검출하기 위한 앤드-플랜(AND-plane)의 부호워드 테이블과, 검출된 가변길이부호 구간의 비트수를 검출하기 위한 오아-플랜(OR-Plane)의 부호길이 테이블과, 검출된 가변길이부호 구간을 복호화하기 위한 앤드-플랜의 복호워드 테이블로 구성된다.The conventional high speed variable length code decoding apparatus proposed by mingming has 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. In this case, the decoding table includes a codeword table of an AND-plane for detecting a meaningful variable length code section, that is, a code word, among a series of variable length codes applied from a barrel shifter. And a code length table of an OR-Plane for detecting the number of bits of the detected variable length code section, and a decoded word table of the end plan for decoding the detected variable length code section.

이러한 종래의 가변길이부호 복호화 장치는, 종래의 비트단위 검색과는 달리, 베럴쉬프터를 이용하여 클럭 신호의 한 주기마다, 검출된 부호워드 전체를 자리이동시킬 수 있고, 이에 따라서 수신된 비트스트림 데이타로 부터 클럭신호의 주기마다 부호워드의 검출이 이루어질 수 있기 때문에 고속 부호화가 가능하다.Unlike the conventional bit unit search, such a conventional variable length code decoding apparatus can shift the entire detected code word at one period of a clock signal using a barrel shifter, thereby receiving the received bitstream data. Since the code word can be detected at every 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 apparatus based on tree search, but it is variable in a high definition video system that needs to process a large amount of data in a short time. Increasing the data processing speed of the 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 Strem)을 래치(Latch)하고, 상기 래치된 비트스트림 데이타 중 제 1 길이신호(Length Signal)에 응답하여 자리이동된 비트위치로 부터 기설정된 비트수의 가변길이부호 데이타를 래치하고, 상기 래치된 가변길이부호 중 제 2길이신호에 응답하여 자리이동된 비트위치로 부터 기설정된 비트수의 가변길이부호 데이타를 출력하는 제 2 처리부를 갖는 인터페이스부와, 상기 인터페이스부로 부터 제공되는 기설정된 비트 수의 가변길이부호 데이타 중 의미 있는 가변길이부호 구간인 부호워드(Code Word)를 검출하고, 상기 검출된 부호워드의 복호화(Decoding)를 수행하여 복호화된 워드(Decoded Word)를 출력하고, 상기 검출된 부호워드의 비트수를 길이신호로서 출력하는 복호화부와, 상기 복호화부로 부터 제공되는 상기 길이신호를 래치하고, 클럭신호에 응답하여 상기 길이신호를 상기 인터페이스부로 출력하는 제어부를 갖는 본 발명의 고속 가변길이 부호 복호화 장치는, 상기 제어부가, 클럭신호의 하강 모서리(Falling Edge)에 응답하여, 상기 복호화부로 부터 제공되는 길이신호를 래치하는 제 1 래치부와 ; 클럭신호의 상승 모서리(Rising Edge)에 응답하여, 상기 복호화부로 부터 제공되는 길이신호를 래치하는 제 2 래치부와 ; 상기 제1 및 제2 래치부로 부터 제공되는 길이신호를 가산하여 출력하는 제 2 가산부와 ; 상기 제 1 래치부 및 상기 제 1 가산부로 부터 신호를 입력받고, 클럭신호의 하강 모서리에 응답하여 상기 제 1 래치부로 부터 제공된 길이신호를, 그리고 클럭신호의 상승 모서리에 응답하여 상기 제 1 가산부로 부터 제공된 신호를, 제 2 길이신호로서 제 2 처리부로 출력하는 제 1 선택부와 ; 상기 제1 및 제 2 래치부로 부터 제공되는 길이신호를 누산하고, 클럭신호 반주기마다 상기 누산된 길이신호를 제 1 길이신호로서 제 1 처리부로 출력하는 제 1 길이신호 제어부를 포함한다.In order to achieve the object described above, a bit stream of a variable length code input is latched, and a first length signal of the latched bit stream data is latched. In response to latching the variable length code data of the predetermined number of bits from the shifted bit position, and the variable length of the predetermined number of bits from the shifted bit position in response to a second length signal of the latched variable length code. A code word, which is a meaningful variable length code section, among the variable length code data of a predetermined number of bits provided from the interface unit, and detecting the code word A decoding is performed to decode a code word to output a decoded word, and output the number of bits of the detected code word as a length signal. In the fast variable length code decoding apparatus of the present invention having a control unit and a control unit for latching the length signal provided from the decoding unit and outputting the length signal to the interface unit in response to a clock signal, the control unit includes a clock signal. A first latch unit for latching a length signal provided from the decoder in response to a falling edge of the first and second edges; A second latch unit for latching a length signal provided from the decoder in response to a rising edge of a clock signal; A second adder which adds and outputs length signals provided from the first and second latch units; The signal is input from the first latch unit and the first adder, and the length signal provided from the first latch unit in response to the falling edge of the clock signal is sent to the first adder in response to the rising edge of the clock signal. A first selector for outputting the signal provided by the second processor to the second processor; And a first length signal controller for accumulating the length signals provided from the first and second latch units and outputting the accumulated length signals as first length signals to the first processing unit every half of a clock signal.

이하, 첨부된 도면을 참조로 하여 본 발명의 실시예에 대하여 상세히 설명하기로 한다.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 decoding unit 200, and a control unit 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. The first processing unit 120 includes a bitstream of a variable length code transmitted from a transmitting end (not shown). Stream) receives and latches bitstream data at a constant rate from a buffer unit (not shown) that temporarily stores data, and accumulates from the latched bitstream data provided from the controller 300 to be described later. A variable length code of a predetermined number of bits is output from the shifted bit position in response to an accumulated length signal. In addition, the second processor 140 latches a variable length code of a predetermined number of bits provided from the first processor 120, and applies a length signal provided from the controller 300 to be described later among the latched variable length codes. In response, the variable length code of the predetermined number of bits is output 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 decoding unit 200, and the decoding unit 200 has a meaningful variable length among the input variable length codes. A code section, that is, a code word is detected, a decoded word is output by decoding the detected code word, and the number of detected codeword bits is output as a length signal. At this time, the decoded word passes through a trailing line length encoding device (not shown) and an inverse quantization device (not shown), and the length signal is provided to the controller 300.

제어부(300)는 길이신호 제어부(330)와 누산된 길이신호 제어부(360)로 구성된다. 또한, 길이신호 제어부(330)는 제1 및 제 2 래치(331 및 332), 제 1 가산기(333) 및 선택부(334)로 구성되며, 누산된 길이신호 제어부(360)는 제 2 가산기(361), 제 3 가산기(362), 제 2 선택부(363), 제 3 래치(364), 그리고 제 4 래치(365)로 구성된다.The controller 300 includes a length signal controller 330 and an accumulated length signal controller 360. In addition, the length signal controller 330 includes first and second latches 331 and 332, a first adder 333, and a selector 334. The accumulated length signal controller 360 includes a second adder ( 361, a third adder 362, a second selector 363, a third latch 364, and a fourth latch 365.

이렇게 구성된 본 발명에 따른 고속 가변길이부호 복호화 장치의 동작을 좀 더 상세히 설명하기로 하자.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)는 래치부(도시 안됨) 및 베럴쉬프터(도시 안됨)를 갖고 있어서, 입력된 비트스트림 데이타는 래치부(도시 안됨)에 래치되어 베럴쉬프터(도시 안됨)로 제공된다. 베럴쉬프터(도시 안됨)는 입력된 비트스트림 데이타를 기설정된 비트수 단위로 출력하는데, 누산된 길이신호 제어부(360)로 부터 제공되는 누산된 길이신호에 응답하여 자리 이동된 비트위치로 부터 시작하여 기설정된 비트수의 가변길이부호를 출력한다. 예를 들어, 누산된 길이신호 제어부(360)로 부터 제공되는 누산된 길이신호가 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 has 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, starting from a bit position shifted in response to the accumulated length signal provided from the accumulated length signal controller 360. Outputs a variable length code of the preset number of bits. For example, if the accumulated length signal provided from the accumulated length signal controller 360 is 8 bits and the preset number of bits to be output is 48 bits, the top 9 of the bitstream data input from the buffer unit (not shown) are input. Outputs a 48-bit variable length code starting from the bit position. 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)에서와 마찬가지로, 베럴쉬프터(도시 안됨)는 입력된 비트스트림 데이타를 기설정된 비트수 단위로 출력하는데, 길이신호제어부(330)로 부터 제공되는 길이신호에 응답하여 자리이동된 위치로 부터 시작하여 기설정된 비트수의 가변길이부호를 출력한다.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 a latch unit (not shown) and provided to a 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, which is located in response to the length signal provided from the length signal controller 330. Outputs the variable length code of the preset number of bits starting from the moved 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 a known decoding table means used in a conventional variable length code decoding device, 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 code word is 3 bits, the decoding unit 200 outputs a 3-bit length signal.

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

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

클럭(CLK)신호의 주기가 제2(A)도에 도시된 바와 같다고 할 때, 복호화부(200)로 부터 출력되는 길이신호는 제2(B)도에 도시되어 있다. 다시 말해서, 클럭신호의 주기마다 3비트, 5비트, 2비트, 7비트, 3비트, 5비트, 6비트, 7비트 등의 길이신호가 순차적으로 출력된다.Assuming that the period of the clock CLK signal is as shown in FIG. 2A, 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.

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

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

제2(E)도는, 제 1 가산부(333)가 제1 및 제2 래치(331 및 332)로 부터 제공된 길이신호를 가산하여 출력하는 신호 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 333 adds and outputs the length signals provided from the first and second latches 331 and 332, 8 bits (of 3 + 5), ( 5 + 2) 7bit, (2 + 7) 9bit, (7 + 3) 10bit, (3 + 5) 8bit, (5 + 6) 11bit, (6 + 7) 13 bits are shown.

또한 제2(F)도는, 클럭신호의 하강 모서리 및 상승 모서리 때에 선택부(334)로 부터 출력되는 신호를 도시하고 있다. 좀 더 상세하게는, 선택부(334)는 제 1 래치(331) 및 제 1 가산기(333)로 부터 제공된 신호를 입력받는다. 그리고 선택부(334)는 클럭신호의 하강 모서리에 응답하여 제 1 래치(331)로 부터 제공된 길이신호를 출력하는 반면, 클럭신호의 상승 모서리에 응답하여 제 1 가산기(333)로 부터 제공된 신호를 출력한다.FIG. 2 (F) also shows a signal output from the selector 334 at the falling edge and rising edge of the clock signal. More specifically, the selector 334 receives a signal provided from the first latch 331 and the first adder 333. The selector 334 outputs the length signal provided from the first latch 331 in response to the falling edge of the clock signal, while receiving the signal provided from the first adder 333 in response to the rising edge of the clock signal. Output

이때, 선택부(334)로 부터 출력되는 신호는 길이신호로서 제 2 처리부(140)로 제공되므로, 제2(F)도는 선택부(340)로 부터 순차적으로 출력되는 또는 제 2 처리부(140)로 순차적으로 입력되는 신호 3비트, 8비트, 2비트, 9비트, 3비트, 8비트, 6비트, 13비트를 도시하고 있다.In this case, since the signal output from the selector 334 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 and 8 bits, 2 bits, 9 bits, 3 bits, 8 bits, 6 bits, and 13 bits are sequentially input.

이어서, 누산된 길이신호 제어부(360)의 제 2 가산기(361)는 제 1 래치(331)로 부터 현재 제공되는 길이신호와 제 4 래치(365)로 부터 제공되는 신호를 가산하여 출력하는데, 제 2 가산기(361)로 부터 출력되는 신호(3비트, 10비트, 20비트, 31비트)는 제2(G)도에 도시되어 있다.Subsequently, the second adder 361 of the accumulated length signal controller 360 adds and outputs the length signal currently provided from the first latch 331 and the signal provided from the fourth latch 365. The signals (3 bits, 10 bits, 20 bits, 31 bits) output from the two adders 361 are shown in the second (G) diagram.

또한, 누산된 길이신호 제어부(360)의 제 3 가산기(362)는 제 2 래치(332)로 부터 현재 제공되는 길이신호와 제 3 래치(364)로 부터 출력되는 신호를 가산하여 출력하는데, 제 3 가산기(362)로 부터 출력되는 신호(8비트, 17비트, 25비트, 38비트)는 제2(H)도에 도시되어 있다.In addition, the third adder 362 of the accumulated length signal controller 360 adds and outputs the length signal currently provided from the second latch 332 and the signal output from the third latch 364. The signals (8 bits, 17 bits, 25 bits, 38 bits) output from the three adders 362 are shown in FIG. 2 (H).

상술한 바와 같이 제2 및 제 3 가신기(361 및 362)로 부터 출력되는 신호는 제 2 선택부(363)로 입력된다. 제 2 선택부(363)는 클럭신호의 하강 및 상승 모서리에 각각 응답하여, 제2 및 제 3 가산기(361 및 362)로 부터 제공되는 신호를 출력한다. 제2(I)도는 제 2 선택부(363)로 부터 클럭신호의 반주기마다 출력되는 신호(8비트, 10비트, 17비트, 20비트, 25비트, 31비트, 38비트)를 도시하고 있다.As described above, signals output from the second and third trailing units 361 and 362 are input to the second selector 363. The second selector 363 outputs signals provided from the second and third adders 361 and 362 in response to the falling and rising edges of the clock signal, respectively. FIG. 2 (I) shows signals (8 bits, 10 bits, 17 bits, 20 bits, 25 bits, 31 bits, 38 bits) output from the second selector 363 every half cycle of the clock signal.

이렇게 제 2 선택부(363)로 부터 출력되는 신호는 제3 및 제 4 래치(364 및 365), 그리고 제 1 처리부(120)로 입력된다. 먼저, 제 3 래치(364)는 클럭신호의 상승 모서리에 응답하여, 제2(J)도에 도시한 바와 같이 제 2 선택부(363)로 부터 출력되는 신호(3비트, 10비트, 20비트, 31비트)를 래치하여, 선행하는 길이신호로서 제 3 가산기(362)로 제공한다. 한편, 제 4 래치(365)는 클럭신호의 하강 모서리에 응답하여 제 2 선택부(363)로부터 출력되는 신호(8비트, 17비트, 25비트)를 래치하여, 선행하는 길이신호로서 제 2 가산기(361)로 제공한다.The signal output from the second selector 363 is input to the third and fourth latches 364 and 365 and the first processor 120. First, the third latch 364 is a signal (3 bits, 10 bits, 20 bits) output from the second selector 363 in response to the rising edge of the clock signal as shown in FIG. 2 (J). , 31 bits) are provided to the third adder 362 as the preceding length signal. On the other hand, the fourth latch 365 latches a signal (8 bits, 17 bits, 25 bits) output from the second selector 363 in response to the falling edge of the clock signal, and thus the second adder as a preceding length signal. Provided at (361).

결국, 제 2 선택부(363)로 부터 클럭신호의 반주기 마다 출력되는 신호는 길이신호 처리부(330)로 부터 출력되는 길이신호가 누산된 신호로서, 상기한 바와 같이 제3 및 제 4 래치(364 및 365)로 제공될 뿐만 아니라, 제 1처리부(120)로 제공된다.As a result, the signal output from the second selector 363 every half cycle of the clock signal is a signal in which the length signal output from the length signal processor 330 is accumulated. As described above, the third and fourth latches 364 may be used. And 365), as well as the first processing unit 120.

상술한 바와 같이, 본 발명에 따른 고속 가변길이부호 복호화 장치는 구조개선으로 클럭신호의 반주기마다 부호워드의 복호화를 수행함으로서, 복호화 장치의 동작속도를 더욱 향상시킬 수 있다는 커다란 잇점이 있다.As described above, 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 with structural improvement.

Claims (2)

입력되는 가변길이부호(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 래치부(331)와 ; 클럭신호의 상승 모서리(Rising Edge)에 응답하여, 상기 복호화부(200)로 부터 제공되는 길이신호를 래치하는 제 2 래치부(332)와 ; 상기 제1 및 제 2 래치부(331 및 332)로 부터 제공되는 길이신호를 가산하여 출력하는 제 1 가산부(333)와 ; 상기 제 1 래치부(331) 및 상기 제 1 가산부(333)로 부터 신호를 입력받고, 클럭신호의 하강 모서리에 응답하여 상기 제 1 래치부(331)로 부터 제공된 길이신호를, 그리고 클럭신호의 상승 모서리에 응답하여 상기 제 1 가산부(333)로 부터 제공된 신호를, 제 2 길이신호로서 제 2 처리부(140)로 출력하는 제 1 선택부(334)와 ; 상기 제1 및 제 2 래치부(331 및 332)로 부터 제공되는 길이신호를 누산하고, 클럭신호 반주기마다 상기 누산된 길이신호를 제 1 길이신호로서 제 1 처리부로 출력하는 제 1 길이신호제어부(360)를 포함하는 것을 특징으로 하는 고속 가변길이부호 복호화 장치.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 processing unit 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. A code word that is a meaningful variable length code section is detected among variable length code data having a predetermined number of bits, and the decoded word is decoded by decoding the detected code word. ed Word) and a decoder 200 for outputting the number of bits of the detected code word as a length signal, and latching 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 A first latch unit 331 for latching a length signal provided from the unit 200; A second latch unit 332 for latching a length signal provided from the decoder 200 in response to a rising edge of a clock signal; A first adder 333 which adds and outputs a length signal provided from the first and second latch units 331 and 332; Receives a signal from the first latch unit 331 and the first adder 333, the length signal provided from the first latch unit 331 in response to the falling edge of the clock signal, and the clock signal A first selector 334 for outputting a signal provided from the first adder 333 to the second processor 140 as a second length signal in response to a rising edge of? A first length signal controller for accumulating the length signals provided from the first and second latch units 331 and 332 and outputting the accumulated length signals as first length signals to the first processing unit every half of a clock signal ( 360 variable length decoding apparatus comprising a. 제 1항에 있어서, 상기 제 1 길이신호 제어부(360)가, 상기 제 1 래치부(331)로 부터 제공되는 현재 처리할 길이신호와 선행하는 길이신호를 가산하여 출력하는 제 2 가산부(361)와 ; 상기 제 2 래치부(332)로 부터 제공되는 현재 처리할 길이신호와 선행하는 길이신호를 가산하여 출력하는 제 3 가산부(362)와 ; 상기 제2 및 제 3 가산부(361 및 362)로 부터 신호를 입력받고, 클럭신호의 하강 모서리에 응답하여 제 1 가산부(361)로 부터 제공되는 신로를 출력하고, 클럭신호의 상승 모서리에 응답하여 상기 제 2 가산부(362)로 부터 제공되는 신호를 출력하는 제 2 선택부(363)와 ; 클럭신호의 상승 모서리에 응답하여, 상기 제 2 선택부(363)로부터 제공되는 신호를 래치하고, 상기 래치된 신호를 선행하는 길이신호로서 제 3 가산부(362)로 출력하는 제 3 래치부(364)와 ; 클럭신호의 하강 모서리에 응답하여, 상기 제 2 선태부(363)로 부터 제공되는 길이신호를 래치하고, 상기 래치된 신호를 선행하는 길이신호로서 제 2 가산부(361)로 출력하는 제 4 래치부(365)를 포함하며, 상기 제 1 처리부(120)가 상기 제 1 길이신호를 상기 제 2 선택부(363)로 부터 제공받는 것을 특징으로 하는 고속 가변길이부호 복호화부.The second adder 361 according to claim 1, wherein the first length signal controller 360 adds and outputs the current length signal to be processed and the preceding length signal provided from the first latch part 331. )Wow ; A third adder 362 which adds and outputs a length signal to be processed and a preceding length signal provided from the second latch unit 332; The signal is input from the second and third adders 361 and 362, and outputs a path provided from the first adder 361 in response to the falling edge of the clock signal, and at the rising edge of the clock signal. A second selector 363 which outputs a signal provided from the second adder 362 in response; A third latch unit for latching a signal provided from the second selector 363 in response to the rising edge of the clock signal, and outputting the latched signal to the third adder 362 as a preceding length signal ( 364); In response to the falling edge of the clock signal, a fourth latch for latching the length signal provided from the second selection part 363 and outputting the latched signal to the second adder 361 as a preceding length signal. And a section (365), wherein the first processor (120) receives the first length signal from the second selector (363).
KR1019940018639A 1994-07-29 1994-07-29 High-speed apparatus for decoding variable length code KR0125126B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019940018639A KR0125126B1 (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
KR1019940018639A KR0125126B1 (en) 1994-07-29 1994-07-29 High-speed apparatus for decoding variable length code

Publications (2)

Publication Number Publication Date
KR960006612A KR960006612A (en) 1996-02-23
KR0125126B1 true KR0125126B1 (en) 1997-12-01

Family

ID=19389308

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR0125126B1 (en)

Also Published As

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

Similar Documents

Publication Publication Date Title
US4973961A (en) Method and apparatus for carry-over control in arithmetic entropy coding
US5696507A (en) Method and apparatus for decoding variable length code
US5173695A (en) High-speed flexible variable-length-code decoder
US5436626A (en) Variable-length codeword encoder
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
KR0178201B1 (en) Variable length decoding apparatus
EP0663730B1 (en) Apparatus for decoding variable length codes
US5663726A (en) High speed variable-length decoder arrangement with reduced memory requirements for tag stream buffering
KR940010433B1 (en) Apparatus for decoding variable length code
KR100486251B1 (en) Decoding apparatus for variable length code and method thereof
US5666116A (en) High speed variable-length decoder arrangement
JP3032134B2 (en) Variable length decoder for video signals
US5677690A (en) High speed variable length code decoding apparatus
US5686915A (en) Interleaved Huffman encoding and decoding method
US5432512A (en) Apparatus for decoding variable length codes
US5701126A (en) High speed variable length decoder
KR100207385B1 (en) Variable length decoding apparatus
Rudberg et al. New approaches to high speed Huffman decoding
KR0125126B1 (en) High-speed apparatus for decoding variable length code
US5708430A (en) High speed variable length code decoding apparatus
KR0125125B1 (en) High-speed apparatus for decoding variable length code
JP2638424B2 (en) Variable length decoding device
KR100207428B1 (en) Variable length coding apparatus and method adaptive to changes of the hoffman codes

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