KR960016012B1 - 부분적 코드 변환을 이용한 가변 길이 디코딩 장치 - Google Patents

부분적 코드 변환을 이용한 가변 길이 디코딩 장치 Download PDF

Info

Publication number
KR960016012B1
KR960016012B1 KR1019930005974A KR930005974A KR960016012B1 KR 960016012 B1 KR960016012 B1 KR 960016012B1 KR 1019930005974 A KR1019930005974 A KR 1019930005974A KR 930005974 A KR930005974 A KR 930005974A KR 960016012 B1 KR960016012 B1 KR 960016012B1
Authority
KR
South Korea
Prior art keywords
code
variable length
rom
circuit
length
Prior art date
Application number
KR1019930005974A
Other languages
English (en)
Other versions
KR940024594A (ko
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 KR1019930005974A priority Critical patent/KR960016012B1/ko
Publication of KR940024594A publication Critical patent/KR940024594A/ko
Application granted granted Critical
Publication of KR960016012B1 publication Critical patent/KR960016012B1/ko

Links

Classifications

    • 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/4093Variable length to variable length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • H03M13/6505Memory efficient implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

내용없음.

Description

부분적 코드 변환을 이용한 가변 길이 디코딩장치
제1도는 본 발명에 따른 부분적 코드 변환을 이용한 가변 길이 디코딩 장치의 블록도.
제2도는 제1도의 코드 변환기 회로 및 롬을 상세하게 설명하는 도면.
제3도는 일반적인 디코딩 테이블 및 본 발명에 따른 코드 변환에 이용된 테이블을 설명하는 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 데이터 패킹 회로 20 : 데이터 래치 및 쉬프터 회로
30 : 코드 변환기 회로 및 롬 3l : 다수의 코드변환부(T1, T2, …, Tg)
35, 36 : 제1 및 제2롬 40 : 제어기 회로
본 발명은 가변 길이 디코딩 장치에 관한 것으로, 수신된 가변 길이 비트의 코드를 변환시켜, 가변 길이코드를 복호화하는 부분적 코드 변환을 이용한 가변 길이 디코딩 장치에 관한 것이다.
통상적으로 가변 길이 코딩(variable length coding : 이하 VLC라 칭함)은 다양한 무손실 데이터 압축을 위해 이용되고 있다. VLC는 데이터 통계치에 근거하여 고정된 길이의 데이터를 가변 길이 데이터 변환하는 것으로, 정보원 데이터에 포함된 각 코드 워드의 발생 빈도에 따라 발생 빈도가 큰 코드 워드는 짧은 길이의 코드 워드로 변환하고, 발생 빈도가 적은 코드 워드는 긴 길이의 코드 워드로 표시하는 방법이다.
이 경우, 평균 워드 길이는 정보원 데이터의 평균 워드 길이보다 더 작게되어, 데이터 압축이 이루어질 수 있게 된다. 알려진 데이터 통계치에 대해 최소 용장성(Rredundancy)을 갖는 VLC를 구현하는 데는 호프만(Huffman) 코드가 통상 이용된다.
일반적으로, 코딩 과정은 입력 데이터로 테이블을 어드레싱하는데 이용되는 테이블 검색(table lookup)에 의해 구현될 수 있으며, 코드 워드 및 워드 길이는 테이블 내용으로 기억된다. 그러나, 디코딩 과정은 매우 복잡하다. 즉, 가변 길이 특성으로 인해 각각의 코드 워드는 수신된 비트 스트림으로부터 분할되고 난 후에 정보원 코드 워드로 디코드된다. 이 때문에, 통상 가변 길이 디코더의 설계는 가변 길이 엔코더 설계보다 어렵다.
이러한 통상적인 가변 길이 디코딩은 발생 빈도에 따라 부호어를 달리 지정함으로써, 데이터를 효과적으로 압축할 수도 있지만, 부호화된 데이터를 길이가 가변인 부호어들이 서로간의 구별없이 연속적으로 입력되므로 이들 부호어를 분리하는 데에 복잡한 문제가 발생한다.
또한, 통상적인 가변 길이 디코딩으로서, 비트 단위로 코딩에 해당하는 값을 갖는 직렬 처리 방식과, N비트를 이용하여 어드레스를 만들고 이 어드레스를 이용해서 테이블에 이미 지정된 코드 길이를 추출하여 이코드 길이만큼 입력 데이터를 쉬프트 시키는 방식이 있다.
그러나, 전술한 방식들은 부호어의 길이가 n비트인 경우, 필요한 메모리(롬…등) 용량은 n비트의 코드로서 억세스할 수 있는 만큼이 필요하고, 이것은 가변 길이 코드의 갯수에 비하면 상당히 많은 수의 메모리가 요구된다. 그러나, 실제로 사용되는 메모리는 가변 길이 코드의 수만큼만이 사용되므로 메모리 용량이 과소비된다는 문제가 있었다.
본 발명은 이러한 문제를 해결하기 위하여 안출한 것으로서, 본 발명의 목적은 가변 길이 코드를 부분적으로 코드 변환함으로써 보다 효율적으로 메모리를 사용할 수 있고, 보다 간단한 하드웨어 구현이 가능한 개선된 가변 길이 디코딩 장치를 제공하는데 있다.
본 발명에 따르면, 가변 길이 복호화 장치에 있어서, 가변 길이 부호화된 비트 스트림을 수신하여 소정의 비트로 패킹하는 데이터 패킹 회로와; 패킹 회로에 패킹된 가변 길이 코드를 래치하고, 하기 코드 변환기 회로 및 롬에서 입력되는 코드 길이 만큼 가변 길이 부호를 쉬프트시키는 데이터 래치 및 쉬프터 회로와; 데이터 래치 및 쉬프트 회로에서 인가되는 가변 길이 코드중 소정 상위 비트를 그보다 적은 비트의 소정 비트로 변환시키고, 상기 변환 코드와 코드 변환하지 않은 가변 길이 부호의 조합에 대응하는 코드 값 및 코드 길이를 출력하는 코드 변환기 회로 및 롬을 포함한다.
이하, 본 발명을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
제1도는 본 발명에 따른 부분적 코드 변환을 이용한 가변 길이 디코딩 장치의 블록도로서, 상기 장치(100)는 데이터 패킹 회로(10), 데이터 래치 및 쉬프터 회로(20), 코드 변환기 회로 및 롬(30)과 제어기 회로(40)를 포함한다.
데이터 패킹 회로(10)는 송신단에서 디지탈 코팅 시스템에서의 가변 길이 코딩 과정을 통과하여 압축된 가변 길이 코드 데이터를 소정의 비트로 패킹(Packing)시킨다. 데이터 래치 및 쉬프트 회로(20)에서는 상기 블록(10)에서 패킹된 가변 길이 코드 비트를 래치하고, 그 다음 코드 변환기 회로 및 롬(30)에서 제공하는 코드 길이 값을 입력받고 그 길이 값만큼의 가변 길이 코드 비트를 쉬프트한다. 또한, 코드 변환기 회로 및 롬(30)은 상기 데이터 래치 및 쉬프터 회로(20)에서 출력되는 소정의 비트 스트림을 수신하여 상위 비트일부를 코드 변환하고, 이와 같이 변환된 정보와 코드 변환하지 않은 비트를 모두 포함한 데이터로 소정의 디코딩 테이블을 어드레싱하여 코드 값과 코드 길이를 추출하여 코드 길이 값은 상기 블록(20)에 제공하고, 코드 값은 다음 블록(40)으로 제공한다.
제2도를 참조하면, 코드 변환기 및 롬(30)은 다수의 코드 변환부(31)(T1, T2, …, Tg)와 제1 및 제2롬(35, 36)을 포함한다.
각각의 코드 변환부(T1, T2, …, Tg)는 가변 길이 코드들의 비트 수를 변환시켜 출력하도록 구성되어 있다. 즉, 가변 길이 코드는 원 코드를 코딩하는 과정에서 원 코드 발생 확률에 따라 1비트로부터 수 비트까지의 비트 수를 각각 할당하여 코드화하고 있다. 이때, 각각 가변 길이 코드의 최상위 비트로부터 순차적으로 소정 비트까지의 부분 코드들은 실제적으로 소정 비트로서 표현할 수 있는(조합가능한) 모든 경우를 포함하고 있지 않다.
제3도에는 22개의 원 코드들이 그 발생 빈도에 따라 가변 길이 코드가 할당된 상태가 도시되어 있다 도시된 바와 같이 최상의 비트로부터 6번째 비트까지 가변 길이 부호가 할당된 상태를 보면 총 8가지(010, 0011, 0010, 00011, 00010, 000011, 000010, 0000001)의 조합 경우만 사용되었고 나머지 경우에 대하여는 사용되지 않고 있음을 알 수 있다.
이때, 8가지의 경우를 표현할 수 있는 일반적인 비트 수는 3(23=8)이며 이에 따라 제3도에서 최상위 비트로부터 6비트까지의 코드는 3비트의 코드로서 표현이 가능하여 이 변환 상태가 도시되어 있다.
제3도에서 최상위 비트로부터 6비트까지의 코드와 대응하는 3비트의 코드를 (표 1)에 나타내었다.
[표 1]
즉, 코드 변환부(T1)는 (표 1)에서와 같이 소정 비트외 가변 길이 코드를 그보다 비트 수가 다른(적은) 코드로 변환시켜 출력하는 것이다. 이때, 변환된 코드들과 변환되지 않은 잔여 가변 길이 코드들의 총 비트수가 6비트 이상인 경우가 존재할 수 있으며, 이 경우 다음 코드 변환부(T2)는 이를 다시 3비트로 변환시킬 수 있고 이러한 과정은 코드 변환부(T3, T4, …, Tg)에 의하여 연속적으로 수행될 수 있을 것이다.
이러한 과정을 통하여 마지막 변환부(Tg)(31)에서 변환된 코드들과 각 코드 변환부(T1 내지 Tg)로부터 변환되지 않는 잔여 가변 길이 코드 워드는 제1롬 및 제2롬(35), (36)에 저장되어 있는 소정 테이블에 대한 어드레싱 정보로서 이용한다.
즉, 제1롬 및 제2롬(35),(36)에는 원 코드 및 가변 길이 코드의 길이들이 코드 변환부(Tg)의 변환 코드에 대응하여(어드레스로 하여) 각각 저장되어 있으며, 이 변환 코드에 대응하여 저장되어 있던 원 코드 및 가변 길이 코드의 길이를 출력하는 것이다. 이때, 제2롬(36)의 길이 정보(코드 길이)는 블록(20)으로 전달함으로써 블록(20)으로 하여금 길이 정보(코드 길이)에 해당하는 길이 만큼 가변 길이 코드 비트를 쉬프트하게 한다.
또한, 제1롬(35)의 경우, 상술한 코드 변환부(T2 내지 Tg)가 다수 형성되어 있고, 이 코드 변환부(T1 내지 Tg)에 의하여 가변 길이 코드가 수회 변환된 경우, 이 변환된 코드를 역변환시킬 수 있는 테이블의 구성이 필요하며, 이 구성은 본 발명의 기술 분야에서 통상의 지식을 가진 자는 용이하게 구현할 수 있는바, 본 명세서에서는 구체적인 도시 및 설명을 생략하였다.
또한, 제어기 회로(40)는 상기 블록(30)에서 제공하는 디코딩 값(코드 값)을 입력받아 출력하고 또, 상기블록(30)으로의 테이블 선택 신호를 제공한다. 여기서, 테이블 선택 신호는 가변 길이 부호의 정보 예컨대, 영상에 관계된 것인지 또는 음성에 관계된 것인지에 따라 블록내의 롬(35), (36)은 다양한 종류로 구성이 가능한 바, 이들 롬의 종류를 선택하기 위한 것이며, 본 발명의 필수 구성요소가 아님은 본 발명의 기술 분야에서 통상의 지식을 가진 자는 용이하게 알 수 있을 것이다.
제3도에 나타낸 바와 같이, 최대 가변 길이 코드가 11비트인 경우 종래에는 11비트의 어드레스를 갖는 메모리가 필요하게 되나, 본 발명의 경우 11비트의 코드를 8비트로서 변환시킴으로써(코드 변환부(T1)만을 채용한 경우) 8비트의 어드레스를 갖는 메모리로서 가변 길이 코드의 디코딩이 가능하게 된다.
이와 같이 본 발명은 가변 길이 코드에서 소정 비트로서 표현할 수 있는 모든 코드 값을 사용하지 않고 있음을 이용하여, 가변 길이 코드를 보다 작은 비트로 변환시키고 이 변환 코드로서 원 코드를 저장하고 있는 메모리를 억세스하게 함으로써 메모리의 용량을 절감할 수 있다는 효과가 있다.

Claims (2)

  1. 가변 길이 복호화 장치에 있어서, 가변 길이 부호화된 비트 스트림을 수신하여 소정의 비트로 패킹하는 데이터 패킹 회로(10)와; 상기 패킹 회로(10)에 패킹된 가변 길이 코드를 래치하고, 하기 코드 변환기 회로 및 롬(30)에서 입력되는 코드 길이만큼 가변 길이 부호를 쉬프트시키는 데이터 래치 및 쉬프터 회로(20)와; 상기 데이터 래치 및 쉬프터 회로(20)에서 인가되는 가변 길이 코드중 소정 상위 비트를 그보다 적은 비트의 소정 비트로 변환시키고, 상기 변환 코드와 코드 변환하지 않은 가변 길이 부호의 조합에 대응하는 코드 값 및 코드 길이를 출력하는 코드 변환기 회로 및 롬(30)을 포함하여 이루어지는 것을 특징으로 하는 부분적 코드 변환을 이용한 가변 길이 디코딩 장치.
  2. 제1항에 있어서, 상기 코드 변환기 회로 및 롬(30)은, 상기 변환 코드 및 상기 가변 길이 코드의 소정 상위 비트를 입력받아, 상기 입력 가변 길이 코드의 비트보다 작은 비트의 코드로 변환시켜 출력하는 다수개의 코드 변환부(T1, T2, …, Tg)(31)와; 상기 가변 길이 코드의 원 코드 값이 저장되어 있으며, 상기 다수개의 코드 변환부(31)로부터 출력되는 최종 변환된 코드와 상기 코드 변환부(31)에서 변환되지 않은 잔여 가변 길이 코드를 어드레스로 하여 상기 저장된 코드를 출력하는 제1롬(35)과; 상기 가변 길이 코드의 길이 정보가 저장되어 있으며, 상기 다수개의 코드 변환부(31)부터 출력되는 최종 변환된 코드와 코드 변환부(31)에서 변흰되지 않은 잔여 가변 길이 코드를 어드레스로하여 상기 가변 길이 코드의 코드 길이를 출력하는 제2롬(36)을 구비하는 것을 특징으로 하는 부분적 코드 변환을 이용한 가변 길이 디코딩 장치.
KR1019930005974A 1993-04-09 1993-04-09 부분적 코드 변환을 이용한 가변 길이 디코딩 장치 KR960016012B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930005974A KR960016012B1 (ko) 1993-04-09 1993-04-09 부분적 코드 변환을 이용한 가변 길이 디코딩 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930005974A KR960016012B1 (ko) 1993-04-09 1993-04-09 부분적 코드 변환을 이용한 가변 길이 디코딩 장치

Publications (2)

Publication Number Publication Date
KR940024594A KR940024594A (ko) 1994-11-18
KR960016012B1 true KR960016012B1 (ko) 1996-11-25

Family

ID=19353716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930005974A KR960016012B1 (ko) 1993-04-09 1993-04-09 부분적 코드 변환을 이용한 가변 길이 디코딩 장치

Country Status (1)

Country Link
KR (1) KR960016012B1 (ko)

Also Published As

Publication number Publication date
KR940024594A (ko) 1994-11-18

Similar Documents

Publication Publication Date Title
US5696507A (en) Method and apparatus for decoding variable length code
US4044347A (en) Variable-length to fixed-length conversion of minimum-redundancy codes
US5173695A (en) High-speed flexible variable-length-code decoder
US5604498A (en) Huffman decoder
US5710562A (en) Method and apparatus for compressing arbitrary data
US5396595A (en) Method and system for compression and decompression of data
US5561690A (en) High speed variable length code decoding apparatus
US6563439B1 (en) Method of performing Huffman decoding
EP0683568B1 (en) Decoding of Huffman Codes with MSB and LSB look-up tables
KR0124191B1 (ko) 가변길이 코드 디코딩장치
US6140944A (en) Variable-length coding device and method using table that holds information on presence/absence of code correspondingly to region represented by combination of run data and level data
US5594435A (en) Permutation-based data compression
US5901177A (en) High speed variable length code decoding apparatus and method
US5648774A (en) Variable length coding with three-field codes
US5394144A (en) Variable length code decoding apparatus
US5677690A (en) High speed variable length code decoding apparatus
JPH03503707A (ja) 統計的にコード化されたデジタル・データを復号するシステム
US5648775A (en) High speed variable length code decoding apparatus
US5736946A (en) High speed apparatus and method for decoding variable length code
KR960016012B1 (ko) 부분적 코드 변환을 이용한 가변 길이 디코딩 장치
US6778107B2 (en) Method and apparatus for huffman decoding technique
US5708430A (en) High speed variable length code decoding apparatus
EP0644660B1 (en) Variable length coder
US6324306B1 (en) Variable length code decoder and moving picture decoder having variable length code decoder
JP2537551B2 (ja) 可変長符号復号回路

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

G160 Decision to publish patent application
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19991030

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee