KR20030016859A - 허프만 부호의 복호화 방법 - Google Patents

허프만 부호의 복호화 방법 Download PDF

Info

Publication number
KR20030016859A
KR20030016859A KR1020010050638A KR20010050638A KR20030016859A KR 20030016859 A KR20030016859 A KR 20030016859A KR 1020010050638 A KR1020010050638 A KR 1020010050638A KR 20010050638 A KR20010050638 A KR 20010050638A KR 20030016859 A KR20030016859 A KR 20030016859A
Authority
KR
South Korea
Prior art keywords
group
huffman code
value
huffman
symbol
Prior art date
Application number
KR1020010050638A
Other languages
English (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 KR1020010050638A priority Critical patent/KR20030016859A/ko
Publication of KR20030016859A publication Critical patent/KR20030016859A/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/42Conversion 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
    • 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

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 허프만 부호의 복호화 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은, 허프만 부호 테이블을 허프만 부호의 비트패턴에 의해 분할하여 그룹으로 만들어, 그 그룹내에서 검색되도록 하며, 허프만 부호의 존재 정보를 표시하는 그룹 정보를 이용하여 검색시간을 최소화하고 메모리 소요를 줄일 수 있는 복호화 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공함.
3. 발명의 해결방법의 요지
본 발명은, 허프만 부호를 비트패턴에 따라 그룹화 한 그룹검색 테이블과 그룹별 허프만 부호 테이블을 제공하는 제 1 단계; 상기 제 1 단계에 제공된 그룹 검색 테이블을 기초로, 입력 비트스트림을 분석하여 그룹을 찾는 제 2 단계; 및 상기의 제 2 단계의 그룹을 찾은 후, 제공된 해당 그룹 허프만 부호 테이블에서 입력된 비트스트림과 상응되는 복호화 심볼을 찾아내는 제 3 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 허프만 부호 복호기 등에 이용됨.

Description

허프만 부호의 복호화 방법{The decoding method of Huffman code}
본 발명은 디지털 통신분야 등에서 많이 쓰이는 허프만 부호를 복호화 하는 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
허프만 부호화는 디지털 통신 등에서 데이터를 효율적으로 압축하기 위해 가장 널리 쓰이는 방법이며, 그 응용분야는 광범위하다. 복호화부에서 부호화된 모든 데이터를 처리해야 하기 때문에 시스템을 설계할 때 이러한 연산부하가 고려되어야 한다. 허프만 부호의 복호화부를 최적화 시킴으로 해서 시스템의 전반적인 연산부하를 개선할 수 있다.
종래의 허프만 부호의 복호화 기법은 크게 두 가지로 나눌 수 있다. 즉 입력된 부호를 허프만 부호 테이블의 모든 부호와 비교하여 찾는 방법(Full search)과 이진트리를 이용하여 찾는 방법(Binary tree search)으로 나누어 진다. 그러나 이러한 검색 기법들은 불균형적인 구조를 가지고 있고, 또한, 복호화하기 위해서는 입력되는 부호를 각 비트단위로 심볼이 존재하는 지 검사를 해야 하므로 허프만 부호의 길이가 N개인 경우 N번의 비교를 수행한다. 위와 같이 상기의 방법들은 메모리와 검색속도면에서 상당한 부하를 가지고 있기 때문에 개선된 검색 기법이 요구된다.
한편, 이러한 연산 부하를 고려한 미국 특허 제6147629호의 "Method and apparatus for variable length decoding"가 제안된 바 있다. 그 내용을 간략히 소개하면 다음과 같다.
선행 특허는 허프만코드화된 비트스트림을 복호화하는 방법과 장치에 관한내용으로, 비트스트림으로부터 N비트를 읽어서 이미 작성된 첫 번째 테이블로부터 첫 번째 값을 복원하고, 다시 그 첫 번째 값을 사용하여 이미 작성된 두 번째 테이블로부터 두 번째 값을 복원, 유효한 코드인지 판별하는 것이 선행특허의 기본 기법이다.
그러나 선행특허는 런 랭스 코드(Run Length code)로 부터 압축된 알고리듬만 적용가능하기 때문에 허프만 부호로 된 모든 알고리듬에 적용가능한 방법이 필요하다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 제안된 것으로, 허프만 부호 테이블을 허프만 부호의 비트패턴에 의해 분할하여 그룹으로 만들어, 그 그룹내에서 검색되도록 하며, 허프만 부호의 존재 정보를 표시하는 그룹 정보를 이용하여 검색시간을 최소화하고 메모리 소요를 줄일 수 있는 복호화 방법을 제공하는데 그 목적이 있다.
또한 본 발명은, 허프만 부호의 복호화 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 그 목적이 있다.
도 1 는 본 발명이 적용되는 허프만 부호 복호화기의 일실시예 구조도.
도 2 는 본 발명에 따른 허프만 부호 테이블의 비트패턴에 의한 그룹분할의 일실시 예시도.
도 3 은 본 발명에 따른 그룹검색 테이블과 그룹 허프만 부호 테이블이 적용되는 메모리 일실시예 구조도.
도 4 는 본 발명에 따른 허프만 부호 테이블 검색 기법을 이용한 허프만 부호의 복호화 방법에 대한 일실시예 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
101 : 허프만 부호 복호화기 102 : 그룹 검색부
103 : 그룹별 허프만 부호 검색부
상기 목적을 달성하기 위한 본 발명은, 허프만 부호를 비트패턴에 따라 그룹화 한 그룹검색 테이블과 그룹별 허프만 부호 테이블을 제공하는 제 1 단계; 상기제 1 단계에 제공된 그룹 검색 테이블을 기초로, 입력 비트스트림을 분석하여 그룹을 찾는 제 2 단계; 및 상기의 제 2 단계의 그룹을 찾은 후, 제공된 해당 그룹 허프만 부호 테이블에서 입력된 비트스트림과 상응되는 복호화 심볼을 찾아내는 제 3 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명은, 허프만 부호를 비트패턴에 따라 그룹화 한 그룹검색 테이블과 그룹별 허프만 부호 테이블을 제공하는 제 1 기능; 상기 제 1 기능에 제공된 그룹 검색 테이블을 기초로, 입력 비트스트림을 분석하여 그룹을 찾는 제 2 기능; 및 상기의 제 2 기능의 그룹을 찾은 후, 제공된 해당 그룹 허프만 부호 테이블에서 입력된 비트스트림과 상응되는 복호화 심볼을 찾아내는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
위와 같이 본 발명은 허프만 부호를 복호화하는데 있어서 허프만 부호 테이블을 허프만 부호의 비트패턴에 의해 분할하여 그룹으로 만들어 그 그룹내에서 검색하도록 하고, 그룹내에서의 검색은 허프만 부호의 존재 정보를 표시하는 그룹정보를 이용하여 검색속도를 개선한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 는 본 발명이 적용되는 허프만 부호 복호화기 구조도이다.
도 1 에 도시된 바와같이 허프만 부호 복호화기는, 입력 비트스트림을 그룹 검색부(102)에서 받아 분석한 후, 입력 비트스트림의 해당 그룹의 포인터를 찾는다, 찾아진 포인터를 이용하여 그룹별 허프만 부호 검색부(103)로 이동하고, 허프만 부호 검색부에서 입력 비트스트림의 복호화 심볼을 찾아 출력한다.
그룹 검색부(102)는 등장확률(entrance possibility)에 따라 부호화 되어 불균등한 이진트리의 형태를 갖는 허프만 부호의 구조적인 특성에 따라 허프만 부호 테이블을 비트패턴에 의해 그룹으로 분할된 테이블에서 해당하는 그룹을 찾는 부분이다.
그룹에서의 허프만 부호 검색부(103)는 그룹내에서 입력 비트스트림과 대응되는 허프만 부호를 검색하여 복호화 심볼을 찾아 출력하는 부분이다.
도 2 는 본 발명에 따른 허프만 부호 테이블의 비트패턴에 의한 그룹분할의 일실시 예시도이다
도 2 에 도시된 바와 같이, 허프만 테이블을 허프만 부호의 비트패턴에 따라 그룹으로 분할하고, (표 2)처럼 허프만 부호 테이블을 분할된 그룹에 따라 그룹을 색인하는 그룹검색 테이블과 (표 3), (표 4)와 같이 그룹내의 허프만 부호를 색인하는 그룹별 허프만 부호 테이블로 재표현된다. (표 1)은 허프만 부호 테이블의 그룹분할에 관한 표이고 아래와 같다.
그룹 심볼 허프만 부호 비트패턴
그룹 1 s1 011 01
s2 010 01
그룹 2 s3 001111 001
s4 0011110 001
s5 0011101 001
s6 0011100 001
s7 0011011 001
s8 0011010 001
s9 0011001 001
s10 0011000 001
s11 0010111 001
s12 001010 001
s13 0010101 001
s14 0010100 001
s15 0010100 001
s16 0010011 001
s17 00100101 001
그룹 3 0001
그룹 4 00001
아래 (표 2)의 그룹검색 테이블은 해당 그룹이 존재하는 그룹별 허프만 부호테이블의 메모리 주소 옵셋으로 표현되어 진다. 또한 (표 2)의 그룹별 허프만 부호 테이블은 그룹정보와 심볼값, 그리고 옵셋으로 구성되어 진다. 그룹정보는 그 그룹내에서 심볼들이 최초로 나타나는 레벨값을 나타낸다. 심볼값은 각 허프만 부호에 해당하는 복원된 값이다. 옵셋은 노드 0, 노드 1, 노드 2, 노드 3와 같이 자식노드들을 가지는 어미노드로부터 자식노드들이 존재하는 메모리상의 주소 옵셋에 해당된다. (표 2)는 허프만 부호 테이블을 재구성한 그룹검색 테이블이고, (표 3)은 그룹1의 허프만 부호 테이블이고, (표 4)는 그룹2의 허프만 부호 테이블 이다.
색인 0 1 2 3 4 ..
0x1000 0x1011 0x10xx 0x10xx 0x10xx ...
의미 그룹 1 테이블의 메모리 옵셋 그룹 2 테이블의 메모리 옵셋 그룹 3 테이블의 메모리 옵셋 그룹 4 테이블의 메모리 옵셋 그룹 5 테이블의 메모리 옵셋 ...
색인 0 1 2
1 s2 s1
의미 그룹정보 심볼 심볼
색인 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
4 옵셋 옵셋 옵셋 옵셋 옵셋 s14 s13 s11 s10 s8 s7 s6 s5 s4 s3 s22 s21 s19
의미 그룹정보 노드 0 노드1 노드2 노드3 심볼 심볼 심볼 심볼 심볼 심볼 심볼 심볼 심볼 심볼 심볼 심볼 심볼 심볼
(표 1), (표 2), (표 3), (표 4)의 예로 든 그룹 검색 테이블과 그룹별 허프만 부호 테이블을 재 구성하여 허프만 부호 테이블의 메모리상 구조를 나타낸 것이 도 3 에 나타난다.
도 3 에 도시된 바와 같이 구성된 테이블로부터, 일실시예 인 비트열 '00100101001...'에 해당하는 심볼을 찾아보자. 우선 한 비트를 읽어서 '0'인지 '1'인지 판단한다. '0'이면 '0'으로 시작하는 테이블에 해당한다. 한 비트씩 읽어서 '1'이 나올 때까지 '0'의 횟수를 센다. 처음의 '0'을 뺀다면 '01', 즉 두번째비트열에서 '1'을 찾을 수 있다. 두번째이므로 그룹검색 테이블의 그룹 2에 해당하고, 현재의 메모리 포인터'0x00001000'에 그룹 2까지의 옵셋에 해당하는 값'0x0103'을 더해 그룹 2 허프만 부호 테이블의 처음 주소인 '0x00001103'이 된다. 메모리로부터 그룹정보를 읽으면 '4'가 되고, 이것은 현재 읽어진 비트부터 4비트를 더 읽으라는 의미이다. 비트열 '00100101001...'에서 4비트를 읽어오면 '0010'이 되고, 이 값은 십진수로 2이며, 현재의 메모리 포인터에 2+1만큼 이동시킨다. 현재 메모리 포인터가 가리키는 값이 심볼인지 옵셋값인지를 먼저 판별한 후, 심볼이면 현재 값을 출력으로 내보내고 옵셋이면 메모리 포인터를 해당값 만큼 증가시킨다. 예에서는 옵셋(0x0012)이므로 포인터는 주소 '0x00001118'로 이동하게 된다. 다음 한 비트를 더 읽어 메모리와 더한다. 예에서는 '1'이므로 메모리 포인터가 '1' 증가한 '0x00001119'가 되며, 메모리로부터 읽어와 심볼인지 옵셋인지 판단한다. 옵셋이면 다시 한 비트 더 읽어와 더하고, 심볼이면 현재 메모리가 가리키는 값을 출력한다. 예에서는 심볼에 해당되고 '00100101'에 해당되는 S17을 출력으로 내보내면 복호화가 된다. 여기서 중간에 그룹정보에 해당하는 만큼 비트를 읽어와 처리한다.
도 4 는 본 발명에 따른 허프만 부호 테이블 검색 기법을 이용한 허프만 부호의 복호화 방법에 대한 일실시예 흐름도이다.
도 4 는 도 3 에서의 그룹검색 테이블과 그룹 허프만 부호 테이블이 적용된 일실시예 메모리 구조를 기반으로 허프만 부호의 복호화 방법이 기술 되었다.
도 4 는 입력된 비트스트림을 분석하여 그룹 검색부에서 그룹을 찾고, 해당그룹 허프만 부호 검색부에서 허프만 부호에 해당하는 복호화 심볼을 찾는 과정이다.
먼저 301과정에서 부터 303과정 까지는 그룹 검색부에서 해당 그룹을 찾는 과정이고, 나머지 304과정에서 313과정까지는 그룹별 허프만 부호 검색부에서의 입력된 비트스트림의 복호화 심볼을 찾는 과정이다.
도 4 에 도시된 바와 같이, 입력된 비트스트림들로 부터 한 비트를 얻어 1인지를 확인한다(301). 301과정에서 1이 아니면, 1이 나올때까지 '제로 카운트'를 계속 증가 시킨다(302). 이 '제로 카운트'의 값이 그룹의 레벨값이다. 302과정 후, 그룹별 허프만 부호 검색부에서의 해당 그룹별 허프만 부호 테이블의 위치를 찾기위하여, 먼저 그룹 검색부의 시작 포인터인 '시작그룹 포인터'에 위의 301과정의 '제로 카운트'만큼 이동시킨 값을 '그룹 포인터'라 하고(303), 이 '그룹 포인터'가 가리키는 옵셋값과 '시작그룹 포인터'를 더한 값이 그룹별 허프만 테이블 검색부의 해당 그룹 허프만 부호 테이블의 위치를 가리키는 '허프만 포인터' 값이다(304). '허프만 포인터'가 가리키는 값인 '그룹 정보'의 수 만큼 비트스트림으로 부터 비트수를 읽어와 '비트스트림 값'으로 한다(305. 306). '비트스트림 값'을 십진화하여 허프만 포인터에 '1'과 함께 더한다(307, 308). 이 값만큼 이동시킨 값을 다시 '허프만 포인터'로 한다(308). '허프만 포인터'가 가리키는 값이 옵셋인지, 심볼인지를 판단한다(309). 심볼이면, 이 값은 복호화 값으로 출력한다(310). 만약 309과정이 옵셋이면, '포인터'에 '옵셋'값을 더해, 이 것을 '허프만 포인터'로 하고(311), 그 다음 입력 비트스트림으로 부터 한 비트를 받아, 그 비트 값을 '허프만 포인터'에 더한다(312, 313). 이 '허프만 포인터'값을 이용하여 다시 309과정부터 심볼값이 찾아질 때까지 계속한다.
상기와 같이 본 발명은, 허프만 부호 검색부에서 미리 테이블화한 허프만 부호를 검색하는데 있어서 첫 허프만 부호가 존재하는 레벨미만의 비트들은 검색할 필요가 없기 때문에 각 비트를 확인하여 트리 경로를 찾는 방법보다 검색시간이 줄어들며, 원래 값이 위치한 포인터에 의해 인텍싱 처리하기 때문에 소요되는 메모리를 줄일 수 있다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 허프만 부호 테이블을 허프만 부호의 비트패턴에 따라 그룹으로 분할하고, 그룹안에서만 복호화 심볼을 검색하도록 하여 검색에 필요한 시간과 메모리 소요를 줄여, 허프만 부호 테이블을 효율적으로 검색하는 기법을 이용함으로써 허프만 부호를 이용하는 멀티미디어 압축기술인 MPEG, JPEG 등과 같은 응용분야에 적용하여 복호기의 전반적인 성능을 개선하는 효과가 있다.

Claims (6)

  1. 허프만 부호를 복호화 하는 방법에 있어서,
    허프만 부호를 비트패턴에 따라 그룹화 한 그룹검색 테이블과 그룹별 허프만 부호 테이블을 제공하는 제 1 단계;
    상기 제 1 단계에 제공된 그룹 검색 테이블을 기초로, 입력 비트스트림을 분석하여 그룹을 찾는 제 2 단계; 및
    상기의 제 2 단계의 그룹을 찾은 후, 제공된 해당 그룹 허프만 부호 테이블에서 입력된 비트스트림과 상응되는 복호화 심볼을 찾아내는 제 3 단계
    를 포함하는 허프만 부호의 복호화 방법.
  2. 제 1 항에 있어서,
    상기 그룹 검색 테이블은,
    해당 그룹 허프만 부호 테이블이 존재하는 메모리를 가리키기 위한 옵셋들을 포함함
    을 특징으로 하는 허프만 부호의 복호화 방법.
  3. 제 1 항에 있어서,
    상기 그룹별 허프만 검색 테이블은,
    해당 그룹내에 심볼들이 최초로 나타나는 레벨값을 의미하는 그룹정보, 각 허프만 부호에 해당되는 복호화값을 나타내는 심볼값, 자식노드들을 가지는 어미노드로부터 자식노드들이 존재하는 메모리상의 주소를 나타내는 옵셋값
    을 특징으로 하는 허프만 부호의 복호화 방법.
  4. 제 1 항에 있어서,
    상기 제 2 단계는,
    입력된 비트스트림들로 부터 한 비트를 얻어 '1'인지를 확인하고 '1'이 아니면, '1'이 나올때까지 '0'의 수를 세는 제 4 단계;
    상기 제 4 단계 이후, 그룹별 허프만 부호 검색부에서의 해당 그룹별 허프만 부호 테이블의 위치를 찾기위하여, 먼저 그룹 검색부의 시작 포인터에서 상기 제 4 단계의 '0'의 수만큼 이동시킨 포인터가 가리키는 내용인 옵셋값을 찾는 제 5 단계; 및
    상기 제 5 단계의 옵셋값과 그룹 검색부의 시작 포인터를 더한 값이, 해당 그룹별 허프만 부호 테이블의 포인터인 제 6 단계
    를 포함하는 허프만 부호의 복호화 방법.
  5. 제 1 항 또는 2 항에 있어서,
    상기 제 3 단계는,
    해당 그룹 허프만 부호 테이블의 포인터가 가리키는 값인, '그룹 정보'의 수 만큼 입력된 비트스트림으로 부터 비트수를 읽어와 이를 십진화하여 그 값에 1을 더하여 해당 그룹 허프만 부호 테이블의 위치를 그 값만큼 이동하는 제 7 단계;
    상기 제 7 단계에서, 이동된 해당 그룹 허프만 부호 테이블의 값이 옵셋인지 심볼인지를 판단하여 심볼이면 이 심볼을 복호화 값으로 출력하고 종료 하는 제 8 단계; 및
    상기의 제 8 단계에서 판단된 값이 옵셋이면 현재의 해당 그룹 허프만 부호 테이블의 포인터에 그 옵셋값과 입력 비트스트림으로 부터 읽은 다음 비트값을 함께 더하여 상기 제 8단계를 수행하는 제 9 단계
    를 포함하는 허프만 부호의 복호화 방법.
  6. 허프만 부호 복호화를 위해, 프로세서를 구비한 복호화 시스템에,
    허프만 부호를 비트패턴에 따라 그룹화 한 그룹검색 테이블과 그룹별 허프만 부호 테이블을 제공하는 제 1 기능;
    상기 제 1 기능에 제공된 그룹 검색 테이블을 기초로, 입력 비트스트림을 분석하여 그룹을 찾는 제 2 기능; 및
    상기의 제 2 기능의 그룹을 찾은 후, 제공된 해당 그룹 허프만 부호 테이블에서 입력된 비트스트림과 상응되는 복호화 심볼을 찾아내는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020010050638A 2001-08-22 2001-08-22 허프만 부호의 복호화 방법 KR20030016859A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010050638A KR20030016859A (ko) 2001-08-22 2001-08-22 허프만 부호의 복호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010050638A KR20030016859A (ko) 2001-08-22 2001-08-22 허프만 부호의 복호화 방법

Publications (1)

Publication Number Publication Date
KR20030016859A true KR20030016859A (ko) 2003-03-03

Family

ID=27720270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010050638A KR20030016859A (ko) 2001-08-22 2001-08-22 허프만 부호의 복호화 방법

Country Status (1)

Country Link
KR (1) KR20030016859A (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468742B1 (ko) * 2002-06-26 2005-01-29 삼성전자주식회사 이진 검색 기법을 이용한 jpeg 허프만 테이블 디코더및 그 방법
KR100968675B1 (ko) * 2007-09-17 2010-07-06 엔비디아 코포레이션 Jpeg 어플리케이션의 가변 길이 코드 디코딩
US8339406B2 (en) 2004-01-30 2012-12-25 Nvidia Corporation Variable-length coding data transfer interface
US8477852B2 (en) 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
US8502709B2 (en) 2007-09-17 2013-08-06 Nvidia Corporation Decoding variable length codes in media applications
US8934539B2 (en) 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US9307267B2 (en) 2008-12-11 2016-04-05 Nvidia Corporation Techniques for scalable dynamic data encoding and decoding

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100468742B1 (ko) * 2002-06-26 2005-01-29 삼성전자주식회사 이진 검색 기법을 이용한 jpeg 허프만 테이블 디코더및 그 방법
US8339406B2 (en) 2004-01-30 2012-12-25 Nvidia Corporation Variable-length coding data transfer interface
US8427494B2 (en) 2004-01-30 2013-04-23 Nvidia Corporation Variable-length coding data transfer interface
US8477852B2 (en) 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
KR100968675B1 (ko) * 2007-09-17 2010-07-06 엔비디아 코포레이션 Jpeg 어플리케이션의 가변 길이 코드 디코딩
US8502709B2 (en) 2007-09-17 2013-08-06 Nvidia Corporation Decoding variable length codes in media applications
US8849051B2 (en) 2007-09-17 2014-09-30 Nvidia Corporation Decoding variable length codes in JPEG applications
US8934539B2 (en) 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US9307267B2 (en) 2008-12-11 2016-04-05 Nvidia Corporation Techniques for scalable dynamic data encoding and decoding

Similar Documents

Publication Publication Date Title
KR100950607B1 (ko) 허프만 코딩
EP0951753B1 (en) Computer sorting system for data compression
US7102552B1 (en) Data compression with edit-in-place capability for compressed data
WO2019153700A1 (zh) 编解码方法、装置及编解码设备
US8838551B2 (en) Multi-level database compression
JP3778087B2 (ja) データ符号化装置及びデータ復号装置
US6646577B2 (en) Method of performing Huffman decoding
US20130019029A1 (en) Lossless compression of a predictive data stream having mixed data types
US9665590B2 (en) Bitmap compression for fast searches and updates
JP2003273748A (ja) 改善されたハフマンデコーディング方法及び装置
US7068192B1 (en) System and method for encoding and decoding variable-length data
KR20030016859A (ko) 허프만 부호의 복호화 방법
Pibiri et al. Inverted Index Compression.
US6122402A (en) Pattern encoding and decoding method and encoder and decoder using the method
Cannane et al. General‐purpose compression for efficient retrieval
CN100546200C (zh) 用于从位流解码可变长代码字的方法、解码器、系统和设备
US9697899B1 (en) Parallel deflate decoding method and apparatus
US20030052802A1 (en) Method and apparatus for huffman decoding technique
US6785699B1 (en) Prefix comparator
Bharathi et al. A plain-text incremental compression (pic) technique with fast lookup ability
Subathra et al. Performance analysis of dictionary based data compression algorithms for high speed networks
JPH06274311A (ja) データ圧縮装置及びデータ復元装置
JP2005175926A (ja) 復号装置及び方法
KR20050037307A (ko) N-트리 검색에 기초한 허프만 디코딩 방법 및 장치
GB2360916A (en) Compression encoder which transmits difference between new data word and recent data word where this falls within a threshold

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application