KR950008487B1 - 가변 길이 디코딩 장치 - Google Patents
가변 길이 디코딩 장치 Download PDFInfo
- Publication number
- KR950008487B1 KR950008487B1 KR1019930005971A KR930005971A KR950008487B1 KR 950008487 B1 KR950008487 B1 KR 950008487B1 KR 1019930005971 A KR1019930005971 A KR 1019930005971A KR 930005971 A KR930005971 A KR 930005971A KR 950008487 B1 KR950008487 B1 KR 950008487B1
- Authority
- KR
- South Korea
- Prior art keywords
- group
- circuit
- decoder
- code word
- shift
- Prior art date
Links
Classifications
-
- 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/4031—Fixed length to variable length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
내용 없음.
Description
제1도는 본 발명의 바람직한 실시예에 따른 가변 길이 디코딩 장치의 블럭구성도.
제2도는 제1도의 디코딩 과정중 각 부호들을 같은 부호들끼리 그룹핑하는 방법을 예시하는 도면.
제3도는 종래의 전형적인 가변 길이 디코딩 장치의 블럭구성도.
* 도면의 주요부분에 대한 부호의 설명
11,12 : 제1 및 제2 래치회로 20 : 바렐 쉬프트 회로
31 : 각 그룹 디코더 선택회로
32 : 다수의 디코더그룹(제1, 제2,…제n디코더 그룹)
35 : 논리합 회로 50 : 가산기 회로.
본 발명은 가변 길이 디코딩 장치 및 방법에 관한 것으로, 특히 다수의 그룹 디코딩 회로를 이용함으로서 가변 길이 디코딩의 고속동작이 가능한 개선된 가변 길이 디코딩 장치에 관한 것이다.
통상적으로, 가변 길이 코딩(variable length coding ; 이하 VLC라 칭함)은 다양한 무손실 데이타 압축을 위해 이용되고 있다. 즉, VLC는 데이타의 통계치에 근거하여 고정된 길이의 데이타를 가변 길이 데이타로 변환하는 것으로, 정보원 데이타에 포함된 각 부호 워드의 가변 길이 데이타로 변환하는 것으로, 정보원 데이타에 포함된 각 부호 워드의 발생빈도에 따라 발생빈도가 많은 부호 워드는 짧은 길이의 부호 워드로 변환하고, 발생빈도가 적은 부호 워드는 긴 길이의 부호 워드로 표시하는 방법이다. 이 경우, 평균 워드길이가 정보원 데이타의 평균 워드 길이보다 더 작게 되므로서, 실질적인 데이타 압축이 이루어질 수 있게 된다. 알려진 데이타 통계치에 대한 최소 용장(rdundancy)성을 갖는 VLC를 구현하는 데는 통상적으로 호프만(Huffman) 부호가 이용된다.
일반적으로, 코딩 과정은 입력 데이타를 테이블를 어드레싱하는데 이용되는 테이블 검색(table lookup)에 의해 구현될 수 있으며, 부호 워드 및 워드 길이는 테이블 내용으로 기억된다. 그러나, 디코딩 과정은 매우 복잡하다. 즉, 가변길이 특성으로 인해 각각의 부호 워드는 수신된 비트 스트림으로부터 분할되고 난후에 정보원 부호 워드로 디코딩된다. 이 때문에, 통상 가변 길이 디코더의 설계는 가변 길이 엔코더 설계보다 훨씬 어렵다.
이러한 가변 길이 디코딩을 위한 다양한 방법이 제안되었으며, 이러한 방법중의 하나로는 트리-검색(tree-look up)이라는 알고리즘을 이용하는 것이 있다. 이러한 트리-검색 알고리즘을 이용한 디코더는 트리에 대응하는 논리회로와 부호 트리에 대해 트리 운행(tree traversal)을 수행하는 제어회로를 포함한다. 그러나, 이러한 접근방법은 상당히 속도가 느리며, 각 디코더 심볼에 대해 부호 트리를 통해 비트 단위검색의 요구된다. 따라서, 트리 검색을 기초로 한 디코더는 출력 데이타 속도에 비해 수배의 속도로 동작해야 한다는 문제가 있었다.
한편, 가변 길이 디코더의 디코딩 동작속도를 개선하기 위한 또다른 방법으로는, 제3도에 도시된 바와같이, 선밍팅(Ming-Ting Sun)등에 의해 제안된 개선된 테이블 검색지원 가변 길이 디코더가 있다.
제3도를 참조하면, 종래의 테이블 검색지원 가변 길이 디코더는 CMOS 집적회로를 이용한 것으로, 역부호화된 부호 워드에 대응하는 비트의 수를 자리 이동하도록 설계된 바렐 쉬프트 회로(barrel shifter)(20)를 이용한다. 이러한 바렐 쉬프트 회로(20)는 부호 워드 테이블 및 워드 길이 테이블과 결합하여 1단계 고속 디코딩을 가능하게 한다. 즉, 부호 워드의 길이가 알려진 경우, 종래의 비트 단위 검색과는 달리, 개선된 테이블 검색지원 가변 길이 디코더는 바렐 쉬프터를 이용하여 한번에 전체 부호 워드를 자리이동 시킬수 있다. 이에 따라, 수신된 비트 스트림으로부터 부호 워드의 검출이 1단계로 이루어질 수 있기 때문에 고속 디코딩이 가능해진다.
다른 한편, 이 기술분야에 잘 알려진 바와 같이, 상기한 디코딩 장치는 일차적으로 그룹을 알아내는 부분의 처리속도에 따라 실질적으로 그 디코딩 동작속도가 결정된다.
그러나, 상기한 바와 같은 바렐 쉬프트 회로(20)를 이용한 통상의 테이블 검색지원 가변-길이 디코더는 전술한 종래의 테이블 검색지원 가변 길이 디코더에 비해 어느 정도의 속도 개선을 가져왔으나, 1단계내에서 바렐 쉬프터의 동작이 원하는 비트 단위로 자리이동을 하기 때문에 이것 역시 디코딩 속도에 제약이 따를 수 밖에 없다는 문제가 있었다.
즉, 바렐 쉬프터를 이용하는 종래장치는 디코딩부(60)를 이루는 PLA (Progra mable Logic Array) 부분에서 역부호값과 역부호의 길이를 동시에 디코딩하기 때문에 역부호들이 한 PLA에 모두 있어야 하고, 또한 역부호의 길이도 디코딩 해야만 하므로 그 회로가 복잡해질 뿐만 아니라 그로 인해 회로전체의 동작속도가 지연되는 결과아 초래되는 문제가 있다.
따라서, 본 발명은 복수의 그룹 디코더회로를 이용하여 가변 길이 디코더의 하드웨어를 보다 간단하게 하고, 부호 워드들을 그풉핑 처리함으로서 지원 시간을 줄여 디코딩의 동작속도를 개선한 가변 길이 디코딩장치를 제공하는데 있다.
상기 목적을 달성하기 위한 일관점에 따른 본 발명은, 가변길이 코딩되어 비트 스트림 형태로 수신되는 영상 데이타에 대해 그 비트 스트림의 비트 워드의 부호 길이값에 따라 가변 길이 디코딩하는 장치에 있어서, 상기 수신된 비트 스트림에 대해 소정의 비트 워드를 래치하여 다음 비트 워드가 입력될 때까지 기억하는 제1 래치 ; 상기 제1 래치회로로부터 제공되는 선행의 소정의 비트 워드를 래치하여 다음 비트 워드가 입력될 때까지 기억하는 제2 래치회로 ; 상기 제1 및 제2 래치회로로부터 각각 제공되는 상기 래치된 비트워드 데이타에 대해 최상위 비트부터 출력될 수 있도록 바로 이전에 쉬프트되어 출력된 부호 워드의 길이정보에 기초한 쉬프트값에 의거하여 해당 비트 워드 데이타를 왼쪽으로 쉬프트한 다음 소정의 쉬프트된 비트스트림을 출력하는 바렐 쉬프트회로 ; 상기 바렐 쉬프트회로로부터 현재 제공되는 쉬프트된 부호 워드 데이타를 입력으로 하여, 그의 부호 워드 길이정보를 발생하고, 상기 해당 부호 워드 데이타의 가변 길이 정보에 의거해 상기 해당 부호 워드를 소정의 그룹으로 분류하여 그에 상응하는 선택신호를 발생함과 동시에 해당 부호 워드 데이타를 출력하는 그룹 디코더 선택회로 ; 상기 그룹 디코더 선택회로로부터의 부호 워드 길이정보에 의거하여 상기 쉬프트값을 연산한 다음 상기 바렐 쉬프트회로에 제공하는 쉬프트값 생성수단 ; 및 복수의 디코더 그룹으로 구성되며, 상기 그룹 디코더 선택회로로부터의 선택신호에 의거하여 선택된 해당디코더 그룹을 통해 상기 그룹 디코더 선택회로로부터 제공되는 상기 부호 워드 데이타를 각 그룹의 테이블값에 의거하여 디코딩하는 디코딩수단으로 이루어진 가변 길이 디코딩 장치를 제공한다.
이하, 본 발명의 바람직한 실시예에 대하여 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
제1도는 본 발명에 따른 보다 개선된 가변 길이 디코딩 장치에 대한 블럭구성도를 나타낸다. 동도면에 도시된 바와 같이, 본 발명의 가변 길이 디코더(100)는 크게 인터페이스 회로(10)와 그룹 디코더 회로(30)를 포함한다.
제1도에 있어서, 인터페이스 회로(10)는 가변 길이 코딩된 영상의 비트 스트림을 수신하여 래치하고, 이코딩된 비트의 수를 추적하여, 상기 비트 스트림중 기 설정된 비트를 출력하기 위한 것으로, 제1 및 제2 래치회로(11,12)와 바렐 쉬프트 회로(20) 및 가산기 회로(50)를 포함한다.
여기에서, 제1 래치회로(11)는 수신 채널(도시생략)로부터 입력되는 기 설정된 길이이 비트 스트림중 소정의 비트 워드를 래치하여 다음 비트 워드가 입력될 때까지 기억하는 것으로, 수신측으로부터 다음의 비트워드가 입력되면 바로 이전에 래치되어 저장되어 있는 비트 워드를 제2 래치회로(12)와 바렐 쉬프트 회로(20)로 출력한다.
한편, 발레 쉬프트 회로(20)에는 제1 및 제2 래치회로(11,12)에서 출력되는 비트 워드가 동시에 제공되며, 또한 바렐 쉬프트 회로(20)는 다음 디코딩할 데이타를 최상위 비트(MSB)부터 출력될 수 있도록 상기 가산기 회로(50)로부터 제공되는 쉬프트값(부호 길이 정보)만큼 순차적으로 왼쪽으로 쉬프트(left shift)한다. 여기에서, 가산기 회로(50)는 처음에는 그룹 디코더 회로(30)에서 출력되는 부호 길이값을 그대로 통과시켜 바렐 쉬프트 회로(20)에 쉬프트값 정보로서 제공하고, 그 이후에는 상기 가산기 회로(50)를 통과한 값과 그룹 디코더 회로(30)를 통과한 값을 계속적을 가산하여, 이 가산된 부호 길이값을 쉬프트값 정보로서 상기한 바렐 쉬프트회로(20)에 제공한다.
또한, 그룹 디코더 회로(30)는 각 그룹 디코더 선택회로(31), 다수의 디코더 그룹들(제1, 제2,…제n디코더 그룹)(32) 및 논리합 회로(35)를 포함한다. 각 그룹 디코더 선택회로(31)는 상기한 바렐 쉬프트 회로(20)에서 제공하는 부호 워드가 입력되면 상기한 가산기 회로(50)로 해당 부호의 길이값을 제공하며, 또한 입력되는 부호들에 대해 같은 길이를 갖는 부호들끼리 그룹핑한 다음 다수의 디코더 그룹들(제1, 제2,…제n디코더 그룹)(32)중 해당 비트 워드를 디코디하기 위한 그룹을 선택하는 선택신호를 발생하고, 또한 해당그룹의 테이블 값을 선택된 그룹에 제공한다. 이후에 상기 다수의 디코더 그룹들(제1, 제2,…제n디코더 그룹)(32)중 선택된 디코더 그룹은 상기한 각 그룹 디코더 선랙회로(31)에서 제공하는 선택신호 및 그룹의 테이블 값에 의해 해당 비트 워드를 디코딩한 후 논리합 회로(35)를 통해 역부호값(디코드값)으로 출력한다.
따라서, 본 발명의 가변 길이 디코딩 장치는 일차적으로 입력된 해당 부호가 어느 그룹에 속하는 부호인지를 역부호하는 수단을 거치고, 이차적으로 선택된 그룹이 어떤 부호인지를 그 그룹안에서 역부호하는 수단을 거침으로서 최종적으로 역변환 부호가 출력된다.
제2도는 본 발명에 따른 영상 비트 스트림의 디코딩중에 제1도에서 각 부호들을 그룹핑하는 방법을 예시하는 도면이다. 일예로서, 제2도에 도시한 바와 같은 8개의 그룹으로 설정된 가변 길이 부호가 있다고 가정하고, 이 부호를 디코딩 하는 과정에 대하여 설명한다.
제2도에서, 우선, 가변길이 부호의 길이가 동일한 것을 그룹화 하면, 그룹 1(G1)에는 부호값 1이, 그룹 2(G2)에는 부호값 2 및 3이 그리고 그룹 3((G3)에는 부호값 4 및 5로 그룹핑수 있다. 동일한 방법으로 그룹 8(G8)은 부호값 22 내지 32가 설정된다.
따라서, 각 그룹 디코더 선택회로(31)에서는 전술한 바와 같은 8개의 그룹을 입력되는 가변 길이에 따라 분리하여 출력한다. 즉, 입력이 1XXX XXXX XX이면 그룹 1, 01XX XXXX XX이면 그룹 2,001X XXXX XX이면 그룹 3,0001 XXXX XX이면 그룹 4.0000 11XX XX이면 그룹 5,0000 10XX XX 또는 0000 011XXX일때는 그룹 6,000 0101 XX 또는 0000 0100 1X일때는 그룹 7,0000 0100 0X 또는 0000 0011XX일때는 그룹 8이 된다. 전술한 바와 같이, 8 그룹의 가변길이 디코딩을 하면 부호 길이를 알 수 있다. 또한, 이러한 부호 길이는 다음의 디코딩을 위한 쉬프트 값을 연산하기 위해 가산기 회로(50)를 통해 바렐쉬프트 회로(20)로 인가된다.
따라서, 본 발명은 이와 같은 과정으로 8그룹만을 디코딩하므로서, 전술한 종래기술에 따라 전체를 디코딩하는 시간에 비해 상당히 짧은 실행시간을 갖기 때문에 다음 동작을 위한 실행시간을 절약할 수 있다. 예를 들면, 0000 010111이 입력 되었다고 가정하면, 전술한 바와 같이, 0000 0101 XX 또는 0000100 1X일 때는 그룹 7이므로 각 그룹 디코더 선택회로(31)에서 그룹 7로 분류되고, 해당 데이타는 제7 디코더 그룹(32)을 통해 디코딩되며, 그 후에 나머지 비트 11을 디코딩 하면 부호값 16이 출력된다. 이 과정에서, 그룹 7이 선택됨과 동시에 다음 디코딩을 위해 부호 길이가 10비트임을 가산기 회로(50)를 통해 상기 바렐 쉬프트 회로(20)에 인가되어 연속적인 동작이 이루어지므로 보다 빠른 디코딩을 실현할 수 있다.
이상 설명한 바와 같이, 본 발명에 다른 개선된 다수의 그룹 디코더 회로를 이용한 가변 길이 디코딩 장치는 한 부호의 디코딩 과정이 끝나야만 디코딩 부호 길이를 알 수 있었던 종래기술에 비해, 그 동작 속도를 크게 개선하였으며, 또 디코딩 테이블을 많이 사용할 수도록 승수로 증가하는 하드웨어의 복잡도 문제에 대해서는 복수의 그룹 디코더회로를 이용함으로 전체 하드웨어의 구조를 보다 간소화시킨 효과가 있다.
본 발명이 비록, 바람직한 실시예로서 설명되고 도시되었으나, 이 기술분야의 숙련자라면, 본 발명의 사상 및 범주를 벗어남이 없이도, 부가 및 변경이 있을 수 있음을 알 수 있을 것이다.
Claims (3)
- 가변길이 코딩되어 비트 스트림 형태로 수신되는 영상 데이타에 대해 그 비트 스트림의 비트 워드의 부호 길이값에 따라 가변길이 디코딩하는 장치에 있어서, 상기 수신된 비트 스트림에 대해 소정의 비트 워드를 래치하여 다음 비트 워드가 입력될 때까지 기억하는 제1 래치(11) ; 상기 제1 래치회로(11)로부터 제공되는 선행의 소정의 비트 워드를 래치하여 다음 비트 워드가 입력될 때까지 기억하는 제2 래치회로(12) ; 상기 제1 및 제2 래치회로(11,12)로부터 각각 제공되는 상기 래치된 비트 워드 데이타에 대해 최상위 비트부터 출력될 수 있도록 바로 이전에 쉬프트되어 출력된 부호 워드의 길이정보에 기초한 쉬프트값에 의거하여 해당 비트 워드 데이타를 왼쪽을 쉬프트한 다음 소정의 쉬프트된 비트 스트림을 출력하는 바렐 쉬프트회로(20) ; 상기 바렐 쉬프트회로(20)로부터 제공되는 쉬프트된 부호 워드 데이타를 입력으로 하여, 그의 부호 워드 길이정보를 발생하고, 상기 해당 부호 워드 데이타의 가변길이 정보에 의거해 상기 해당 부호 워드를 소정의 그룹으로 분류하여 그에 상응하는 선택신호를 발생함과 동시에 해당 부호 워드 데이타를 출력하는 그룹 디코더 선택회로(31), 상기 그룹 디코더 신택회로(31)로부터의 부호 워드 길이정보에 의거하여 상기 쉬프트값을 연산한 다음 상기 바렐 쉬프트회로(20)에 제공하는 쉬프트값 생성수단(50) ; 및 복수의 디코더 그룹으로 구성되며, 상기 그룹 디코더 선택회로(31)로부터의 선택신호에 의거하여 선택된 해당 디코더 그룹을 통해 상기 그룹 디코더 선택회로(31)로부터 제공되는 상시 부호 워드 데이타를 각 그룹의 테이블값에 의거하여 디코딩하는 디코딩수단(32,35)으로 이루어진 가변 길이 디코딩 장치.
- 제1항에 있어서, 상기 쉬프트값 생성수단(50)은, 상기 그룹 디코더 선택회로(31)로부터 최초로 제공되는 상기 부호 워드 길이정보를 상기 쉬프트값으로서 상기 바렐 쉬프트회로(20)에 제공하고, 그 이후에 입력되는 부호 워드 길이정보를 연속적으로 가산한 다음 이 가산된 길이정보를 상기 쉬프트값으로서 상기 바렐 쉬프트회로(20)에 제공하는 가산기로 구성된 것을 특징으로 하는 가변 길이 디코딩 장치.
- 제1항에 있어서, 상기 디코딩 수단(32,35)은 : 상기 그룹 디코더 선택회로로부터의 상기 선택신호에 의거하여 선택되어 상기 그룹 디코더 선택회로로부터 제공되는 상기 부호 워드 데이타를 각 그룹의 테이블 값에 의거하여 각각 디코딩하는 복수의 디코더 그룹과 ; 상기 복수의 디코더 그룹들로부터 출력되는 디코딩된 값을 논리합하는 오아게이트로 구성된 것을 특징으로 하는 가변 길이 디코딩 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930005971A KR950008487B1 (ko) | 1993-04-09 | 1993-04-09 | 가변 길이 디코딩 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930005971A KR950008487B1 (ko) | 1993-04-09 | 1993-04-09 | 가변 길이 디코딩 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR940025197A KR940025197A (ko) | 1994-11-19 |
KR950008487B1 true KR950008487B1 (ko) | 1995-07-31 |
Family
ID=19353712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019930005971A KR950008487B1 (ko) | 1993-04-09 | 1993-04-09 | 가변 길이 디코딩 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR950008487B1 (ko) |
-
1993
- 1993-04-09 KR KR1019930005971A patent/KR950008487B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR940025197A (ko) | 1994-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5351047A (en) | Data decoding method and apparatus | |
US5173695A (en) | High-speed flexible variable-length-code decoder | |
EP0663730B1 (en) | Apparatus for decoding variable length codes | |
KR0138971B1 (ko) | 허프만 부호 복호회로 | |
KR940010433B1 (ko) | 가변길이 코드 디코딩장치 | |
KR20000047765A (ko) | 가변 길이 코드워드 디코더 | |
KR20030040567A (ko) | 허프만 디코딩을 수행하는 방법 | |
US5901177A (en) | High speed variable length code decoding apparatus and method | |
JPH088755A (ja) | 高速可変長復号化装置 | |
JP3189876B2 (ja) | 可変長符号復号化回路 | |
US20030053700A1 (en) | System and method for decoding signal and method of generating lookup table for using in signal decoding | |
JPH0651943A (ja) | 可変長符号の復号化回路 | |
US6094151A (en) | Apparatus and method for finite state machine coding of information selecting most probable state subintervals | |
KR20040012403A (ko) | 가변 길이 코드 복호화 장치 및 방법 | |
US7348901B2 (en) | Method and system for decoding variable length encoded signals, computer program product therefor | |
US5648775A (en) | High speed variable length code decoding apparatus | |
EP0079442B1 (en) | Data translation apparatus translating between raw and compression encoded data forms | |
US5701126A (en) | High speed variable length decoder | |
KR950008487B1 (ko) | 가변 길이 디코딩 장치 | |
US5708430A (en) | High speed variable length code decoding apparatus | |
JP3304745B2 (ja) | 可変長符号復号化器 | |
JP4537089B2 (ja) | 可変長復号装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP2003174365A (ja) | 復号化装置及びその方法 | |
JP2004056417A (ja) | 復号装置および復号方法 | |
JP3389389B2 (ja) | 可変長コード復号化装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120702 Year of fee payment: 18 |
|
EXPY | Expiration of term |