KR100275267B1 - High speed variable length code decoding apparatus - Google Patents
High speed variable length code decoding apparatus Download PDFInfo
- Publication number
- KR100275267B1 KR100275267B1 KR1019940021709A KR19940021709A KR100275267B1 KR 100275267 B1 KR100275267 B1 KR 100275267B1 KR 1019940021709 A KR1019940021709 A KR 1019940021709A KR 19940021709 A KR19940021709 A KR 19940021709A KR 100275267 B1 KR100275267 B1 KR 100275267B1
- Authority
- KR
- South Korea
- Prior art keywords
- header information
- decoding
- codeword
- variable length
- data processing
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
도면은 본 발명에 따른 고속 복호화 장치의 동작을 도식적으로 설명하기 위한 블럭도BRIEF DESCRIPTION OF THE DRAWINGS Fig. Is a block diagram schematically illustrating the operation of a fast decoding apparatus according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
100 : 전송 데이타 처리부 110 : 제 1 테이블100: transmission data processing unit 110: first table
130 : 제 1 래치부 150 : 제 2 래치부130: first latch portion 150: second latch portion
170 : 선택부 190 : 제 2 테이블170: selection unit 190: second table
본 발명은 고속(High Speed) 가변길이부호(Variable Length Code) 복호화(Decoding)장치에 관한 것으로, 특히 구조개선으로 데이타 처리에 시간지연이 발생하지 않는 고속 가변길이부호 복호화 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a high speed variable length code decoding apparatus, and more particularly, to a high speed variable length code decoding apparatus in which time delay does not occur in data processing 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 codeword lengths can be reduced compared to allocating the same length to all the codes. A typical variable length code is the Huffman code.
일반적으로, 부호화(Coding)과정은 테이블 어드레스(Address)를 위해 입력 데이타를 이용하는 룩업-테이블(Lookup-Table)에 의해 구현될 수 있으며, 부호워드(code-word) 및 부호워드길이(code-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 codeword length. -length) is stored as the table contents. However, the decoding process is very complicated. That is, because of the variable length feature, each codeword is divided 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.
이러한 가변길이부호 복호화를 위해서 다양한 방법이 제안되고 있는데, 가장 대표적으로 알려진 것은 "선밍팅(Ming-Ting Sun)"에 의해 처음으로 제안된 고속 가변길이부호 복호화장치이다. 좀 더 상세히 설명하면, "선밍팅(Ming-Ting Sun)"에 의해 제안된 고속 가변길이부호 복호화장치는 입력된 소정 비트수의 부호 데이타 즉, 비트스트림 데이타를 길이신호에 따라서 순차적으로 소정비트씩 분할하여 출력하는 베럴쉬프터(Barrel Shifter)와 복호테이블(Decoding Table)를 포함한다. 복호 테이블은 제 1 및 제 2 복호테이블로 구성되어, 베럴쉬프터로 부터 인가되는 일련의 가변길이부호들 중 의미있는 가변길이부호 구간 즉, 부호워드(code-word)를 검출하고, 검출된 가변길이부호 구간의 비트수를 검출하여 부호워드길이로 출력하며, 그리고 검출된 가변길이부호 구간을 복호화하여 출력한다. 이때, 각 부호워드의 상위비트는 헤더(header)정보로서 각 부호워드의 전체 비트수 및 복호화 특성등을 갖고 있는 정보이다. 제 2 테이블은 입력되는 부호워드를 복호화 하기 위한 다수개의 복호 테이블을 갖고 있는데, 제 1 테이블로 부터 제공되는 헤더정보는 각 부호워드의 복호화를 수행할 복호 테이블을 지정해 준다.Various methods have been proposed for such variable length code decoding, and the most known one is a fast variable length code decoding apparatus first proposed by "Ming-Ting Sun". In more detail, the fast variable length code decoding apparatus proposed by "Ming-Ting Sun" sequentially inputs a predetermined number of bits of code data, that is, bitstream data, sequentially by predetermined bits according to a length signal. It includes a barrel shifter and a decoding table for dividing the output. The decoding table is composed of first and second decoding tables, and detects a meaningful variable length code interval, that is, a codeword, among the series of variable length codes applied from the barrel shifter, and detects the detected variable length. The number of bits in the code interval is detected and output as the codeword length, and the detected variable length code interval is decoded and output. At this time, the upper bits of each code word are header information, and the information includes the total number of bits and decoding characteristics of each code word. The second table has a plurality of decoding tables for decoding input codewords. The header information provided from the first table designates a decoding table for decoding each codeword.
그런데, 상술한 바와 같이 제 1 및 제 2 복호화 테이블을 갖는 종래의 고속 가변길이부호 복호화 장치는 제 1 복호화 테이블로 가변길이부호를 제공하기 위한 추가의 배럴쉬프터가 필요하며, 부호워드길이를 처리하기 위한 가산기등이 필요하다. 따라서, 구조가 복잡할 뿐만 아니라 복잡한 구조로 인해 데이타 처리에 많은 시간지연(Time-Delay)이 발생한다는 커다란 문제점이 있어 왔다.However, the conventional fast variable length code decoding apparatus having the first and second decoding tables as described above requires an additional barrel shifter for providing a variable length code to the first decoding table, and processes the codeword length. Adder for is necessary. Therefore, there has been a big problem that not only the structure is complicated but also a large time-delay occurs in the data processing due to the complicated structure.
따라서, 본 발명의 목적은 구조개선으로 데이타 처리에 시간지연이 발생하지 않는 보다 더 향상된 고속 가변길이부호 복호화 장치를 제공하는데 있다.Accordingly, an object of the present invention is to provide an improved fast variable length code decoding apparatus in which time delay does not occur in data processing due to structural improvement.
상술한 바와 같은 목적을 달성하기 이해, 입력되는 가변길이부호(Variable Length Code)의 비트스트림(Bit Stream)을 래치하고, 상기 래치된 비트스트림 데이타 중, 입력되는 부호워드길이(Code-Word-Length)에 해당하는 상위비트를 부호워드로 출력하고, 상기 부호워드로 출력된 상위비트 다음 위치로 부터 기설정된 비트수의 가변길이부호 데이타를 출력하는 전송 데이타 처리부를 갖는 본 발명의 고속 가변길이 부호 복호화 장치는, 상기 전송 데이타 처리부로 부터 제공되는 기설정된 비트수의 가변길이부호 데이타 중, 부호워드길이 및 복호화 특성을 포함하는 헤더(Header)정보를 검출하여, 부호워드길이 및 헤더정보를 각각 출력하는 제 1 테이블과, 클럭신호의 상승 모서리에 응답하여, 상기 제 1 테이블로 부터 제공되는 헤더정보를 래치하는 제 1 래치부와, 클럭신호의 하강 모서리에 응답하여, 상기 제 1 테이블로 부터 제공되는 헤더정보를 래치하는 제 2 래치부와, 상기 제 1 및 제 2 래치부로 부터 헤더정보를 입력받고, 클럭신호의 상승 모서리에 응답하여 상기 제 1 래치부로 부터 제공되는 헤더정보를, 그리고 클럭신호의 하강 모서리에 응답하여 상기 제 2 래치부로 부터 제공되는 헤더정보를 출력하는 선택부와, 상기 선택부로 부터 제공되는 헤더정보에 응답하여, 상기 전송 데이타 처리부로 부터 제공되는 부호워드를 복호화하여 출력하는 제 2 테이블을 포함한다.In order to achieve the object as described above, a bit stream of a variable length code input is latched, and a code word length of the latched bit stream data is input. Fast variable-length code decoding of the present invention having a transmission data processing unit for outputting a high-order bit corresponding to) as a codeword and outputting variable-length coded data of a predetermined number of bits from a position following a higher-order bit output as the codeword. The apparatus detects header information including a codeword length and a decoding characteristic among variable length code data of a predetermined number of bits provided from the transmission data processing unit, and outputs codeword length and header information, respectively. A first latch section for latching header information provided from said first table in response to a first table, a rising edge of a clock signal, and a clock; In response to a falling edge of the call, receiving a second latch portion for latching header information provided from the first table, header information from the first and second latch portions, and in response to a rising edge of a clock signal; A selection unit for outputting header information provided from the first latch unit and header information provided from the second latch unit in response to the falling edge of the clock signal, and in response to the header information provided from the selection unit, And a second table for decoding and outputting a codeword provided from the transmission data processor.
이하, 첨부된 도면을 참조로 하여 본 발명의 실시예에 대하여 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
제 1 도는 본 발명에 따른 고속 가변길이부호 복호화 장치의 동작을 도식적으로 설명하기 위한 블럭도로서, 전송 데이타 처리부(100), 제 1 테이블(110), 제 1 래치부(130), 제 1 래치부(150), 선택부(170), 그리고 제 2 테이블(190)로 구성된다.FIG. 1 is a block diagram schematically illustrating an operation of a fast variable length code decoding apparatus according to the present invention. The transmission data processor 100, the first table 110, the first latch unit 130, and the first latch are shown in FIG. The unit 150 includes a selector 170, a selector 170, and a second table 190.
먼저, 전송 데이타 처리부(100)는 송신단(도시안됨)으로 부터 전송된 가변길이부호(Variable Length Code)의 비트스트림(Bite Stream) 데이타를 일시적으로 저장하는 버퍼부(도시안됨)로 부터 일정한 비율로 비트스트림 데이타를 제공받아 래치(Latch)하고, 상기 래치된 비트스트림 데이타중 후술하는 제 1 테이블(110)로 부터 제공되는 부호워드길이(code-word-length)에 해당하는 상위비트를 부호워드로 출력하고, 그리고 상기 부호워드로 출력된 상위 비트 다음 위치로 부터 기설정된 비트수의 가변길이부호 데이타를 각각 출력한다.First, the transmission data processing unit 100 at a constant rate from a buffer unit (not shown) that temporarily stores bit stream data of a variable length code transmitted from a transmitting end (not shown). The bitstream data is received and latched, and an upper bit corresponding to a codeword length provided from the first table 110 described later among the latched bitstream data is converted into a codeword. And variable length code data of a predetermined number of bits are output from the next position after the upper bits output as the codeword.
이어서 제 1 테이블(110)은 상기 전송 데이타 처리부(100)로 부터 제공되는 기설정된 비트수의 가변길이부호 데이타 중 헤더정보를 검출하여 출력한다. 이때, 헤더정보는 후술하는 제 2 테이블(190)에서 복호화될 부호워드의 전체 비트수 즉, 부호워드길이 및 복호화 특성을 갖고 있는데, 제 1 테이블(110)은 헤더정보로 부터 부호워드길이를 추출하여 전송 데이타 처리부(100)로 출력한다.Subsequently, the first table 110 detects and outputs header information among variable length code data of a predetermined number of bits provided from the transmission data processing unit 100. In this case, the header information has the total number of bits of the codeword to be decoded in the second table 190 to be described later, that is, the codeword length and the decoding characteristic. The first table 110 extracts the codeword length from the header information. To the transmission data processing unit 100.
상술한 바와 같이 제 1 테이블(110)로 부터 제공되는 헤더정보는 제 1 및 제 2 래치부(130및150)로 래치된다. 즉, 클럭신호(CLK)의 상승 모서리(Rising edge)에 응답하여, 제 1 래치부(130)는 제 1 테이블(110)로 부터 제공되는 헤더정보를 래치한다. 또한, 클럭신호의 하강 모서리(Falling Edge)에 응답하여, 제 2 래치부(150)는 제 1 테이블(110)로 부터 제공되는 헤더정보를 래치한다. 결국, 제 1 테이블(110)로 부터 제공되는 헤더정보는 클럭신호의 반주기 마다 제 1 래치(130) 및 제 2 래치(150)에 교번적으로 래치된다.As described above, the header information provided from the first table 110 is latched by the first and second latch units 130 and 150. That is, in response to the rising edge of the clock signal CLK, the first latch unit 130 latches the header information provided from the first table 110. In addition, in response to the falling edge of the clock signal, the second latch unit 150 latches the header information provided from the first table 110. As a result, the header information provided from the first table 110 is alternately latched to the first latch 130 and the second latch 150 at every half period of the clock signal.
이어서, 제 1 및 제 2 래치(130및150)에 래치된 헤더정보는 선택부(170)로 제공되는데, 클럭신호의 상승 및 하강 모서리에 응답하여 선택부(170)는 선택적으로 출력한다. 즉, 클럭신호의 상승 모서리에 응답하여, 선택부(170)는 제 1 래치부(130)로 부터 제공되는 헤더정보를 출력한다. 그리고 클럭신호의 하강 모서리에 응답하여, 선택부(170)는 제 2 래치부(150)로 부터 제공되는 헤더정보를 출력한다.Subsequently, the header information latched in the first and second latches 130 and 150 is provided to the selector 170. The selector 170 selectively outputs in response to the rising and falling edges of the clock signal. That is, in response to the rising edge of the clock signal, the selector 170 outputs the header information provided from the first latch unit 130. In response to the falling edge of the clock signal, the selector 170 outputs the header information provided from the second latch unit 150.
제 2 테이블(190)는 전송 데이타 처리부(100)로 부터 제공되는 부호워드를 복호화한다. 이때, 제 2 테이블(190)는 부호워드길이 및 복호화 특성 별로 부호워드의 복호화를 수행하는 다수개의 복호 테이블을 갖고 있는데, 현재 입력된 부호워드의 복호화를 수행할 복호 테이블은 선택부(170)로 부터 제공되는 헤더정보에 의해 결정된다. 이러한 과정을 통해, 제 2 테이블(190)로 부터는 클럭신호의 반주기 마다 복호화된 워드가 출력된다.The second table 190 decodes the codeword provided from the transmission data processing unit 100. At this time, the second table 190 has a plurality of decoding tables for decoding the code words for each codeword length and decoding characteristics. The decoding table for decoding the currently input codeword is selected by the selection unit 170. It is determined by header information provided from. Through this process, the decoded word is output from the second table 190 every half period of the clock signal.
상술한 바와 같은 과정에 의해, 본 발명에 따른 고속 가변길이부호 복호화 장치는 구조를 개선하여, 추가의 배럴쉬프터, 그리고 가산기 등이 더 이상 필요치 않게 되었으며, 따라서 데이타 처리에 시간지연이 발생하지 않는다는 커다란 잇점이 있다.By the above-described process, the fast variable length code decoding apparatus according to the present invention is improved in structure, so that an additional barrel shifter, an adder, and the like are no longer needed, and thus there is no significant time delay in data processing. There is an advantage.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940021709A KR100275267B1 (en) | 1994-08-31 | 1994-08-31 | High speed variable length code decoding apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940021709A KR100275267B1 (en) | 1994-08-31 | 1994-08-31 | High speed variable length code decoding apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960009729A KR960009729A (en) | 1996-03-22 |
KR100275267B1 true KR100275267B1 (en) | 2000-12-15 |
Family
ID=19391608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940021709A KR100275267B1 (en) | 1994-08-31 | 1994-08-31 | High speed variable length code decoding apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100275267B1 (en) |
-
1994
- 1994-08-31 KR KR1019940021709A patent/KR100275267B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR960009729A (en) | 1996-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5225832A (en) | High speed variable length decoder | |
US5491480A (en) | Variable length decoder using serial and parallel processing | |
US4420771A (en) | Technique for encoding multi-level signals | |
US6339386B1 (en) | Variable length coder of a video coder | |
JP3294026B2 (en) | High-speed variable-length decoding device | |
US5280349A (en) | HDTV decoder | |
US5648774A (en) | Variable length coding with three-field codes | |
KR20000047765A (en) | A variable length codeword decoder | |
KR0178201B1 (en) | Variable length decoding apparatus | |
US5706001A (en) | Run-length decoding apparatus for use in a video signal decoding system | |
US5663726A (en) | High speed variable-length decoder arrangement with reduced memory requirements for tag stream buffering | |
US5394144A (en) | Variable length code decoding apparatus | |
EP2055007B1 (en) | Data encoder | |
KR20080070949A (en) | Method and apparatus for transmitting/receiving serial data in serial communication system | |
US5781135A (en) | High speed variable length code decoder | |
GB2333000A (en) | Finite state machine coding of information | |
US5663725A (en) | VLC decoder with sign bit masking | |
KR960003452B1 (en) | Vlc | |
US5701126A (en) | High speed variable length decoder | |
KR100275267B1 (en) | High speed variable length code decoding apparatus | |
KR0125125B1 (en) | High-speed apparatus for decoding variable length code | |
KR0164097B1 (en) | Apparatus and method for parallel input/serial output | |
JPH08265165A (en) | High-speed variable-length code decoder | |
JPS6352812B2 (en) | ||
KR0125126B1 (en) | High-speed apparatus for decoding variable length code |
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: 20110901 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20120903 Year of fee payment: 13 |
|
LAPS | Lapse due to unpaid annual fee |