KR0144633B1 - Lzw를 이용한 완성형 한글의 데이타 압축방법 - Google Patents
Lzw를 이용한 완성형 한글의 데이타 압축방법Info
- Publication number
- KR0144633B1 KR0144633B1 KR1019940039802A KR19940039802A KR0144633B1 KR 0144633 B1 KR0144633 B1 KR 0144633B1 KR 1019940039802 A KR1019940039802 A KR 1019940039802A KR 19940039802 A KR19940039802 A KR 19940039802A KR 0144633 B1 KR0144633 B1 KR 0144633B1
- Authority
- KR
- South Korea
- Prior art keywords
- lzw
- string
- character
- compression method
- hangul
- 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/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
-
- 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
- H03M7/4037—Prefix coding
- H03M7/4043—Adaptive prefix coding
- H03M7/4062—Coding table adaptation
-
- 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/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
LZW를 이용한 데이타 압축 방식에서, 일반적으로 사용되는 1바이트 영문전용 압축방식을 변형하여, 2바이트 한글에 대하여도 높은 데이타 압축률을 가질 수 있도록 LZW 압축 알고리즘에 사용되는 딕셔너리 트리(dictionary tree)와 내부 테이블을 재구성하여 압축률을 증가 시킨다.
Description
제1도는 본 발명의 LZW를 이용한 데이타 압축방법의 흐름선도.
제2도의 a는 종래의 LZW를 이용한 데이타 압축방법의 기본 알고리즘의 초기 내부 테이블 구조 도해도.
제2도의 b는 본 발명의 LZW를 이용한 데이타 압축방법의 한글인식 알고리즘의 초기 내부 테이블 구조 도해도.
본 발명은 LZW(Lempel Zive. Welch)를 이용한 데이타 압축 방법에 관한 것이며, 특히, LZW 압축 기법에 한글인식 과정을 부가시켜, LZW 압축 알고리즘에 딕셔너리 트리(dictionary tree), 즉 내부 테이블을 재구성 시켜 압축률을 향상시킬 수 있는 데이타 압축 방법에 관한 것이다.
일반적으로, 데이타 전송속도를 향상시킬 수 있는 데이타 압축 방법에는 허프만 부호화 기법, 산술 부호화 기법과 LZW 압축기법이 있는데 그중 가장 많이 사용되고 있는 LZW 압축기법은 상술한 두가지 기법에 사용되는 입력 데이타의 확률 통계적인 성질에 의존하지 않고, 화일을 한번만 읽어서 처리하도록 하여 실시간 환경에서 좀더 효율적으로 적용하게 할 수 있는 유니버셜 데이타 압축 기법이다.
상기 LZW 압축방법은 스트링 테이블(string table)이라는 번역 테이블을 만들어 이를 이용하는 방법으로, 논리적으로는 딕셔너리 트리(dictionary tree)라는 구조를 만들어, 각 기호열을 관리하게 되는데, 문자열을 이 트리의 한노드에 할당하고, 이 번지만을 전송하게 함으로써 압축이 이루어지는 방법이다.
그러나, 상술한 종래의 LZW 압축방법에서는 한글 인식 과정이 없이 모두 8비트 심볼 단위로 처리를 하였기 때문에, 2바이트로 구성되는 한들의 특성을 살리지 못하고, 압축과정을 수행함으로써, 압축률을 높일 수 있는 요소가 배제되는 문제점이 있었다.
본 발명은 상술한 문제점을 해결하기 위해, 종래의 LZW 압축방식에 완성형 한글인식 및 처리과정을 부가시킴으로써, 데이타 압축율을 높혀서, 데이타 전송속도를 향상시키는 것을 목적으로 한다.
상기 목적을 달성하기 위해, 본 발명은 LZW 압축기법에 한글인식 과정을 첨가시켜, 영문전용의 1바이트가 아닌 한글용 2바이트를 하나의 심볼로 인식하게 하고, LZW 압축 알고리즘에 사용되는 딕셔너리 트리와 내부 테이블을 재구성 시키는 방법을 특징으로 한다.
이하, 첨부된 도면으로 본 발명을 더욱 상세하게 설명하기로 한다.
제1도는 본 발명의 LZW 압축방법을 이용한 데이타 압축방법의 흐름선도로서, 그 첫 번째 단계는, 7비트 ASCⅡ 코드용 128개의 노드와 완성형 한글 코드용 2350자를 딕셔너리 트리에 초기화 시키는 단계(SⅠ-2)로서, 이는 종래의 방법에서, 비트 부호의 모든 가능한 256개의 노드를 딕셔너리 트리에 초기화 시키는 단계(SⅠ-1)를 대체한 것으로 된다. 그 다음 단계부터는 종래의 방법에서와 동일한 단계를 거치게 되는데, 즉, 입력문자를 읽어 스트링 w을 취하는 단계(S2)와, 다음 입력문자가 존재하는가를 판단하는 단계(S3)로 진행되는데, 만약 입력문자가 존재하지 않으면, 전단계(S2)의 스트링에 할당된 부호어를 출력하며(S10), 입력문자가 있으면, 다음 입력 문자를 읽어 캐릭터(k)로 설정하는 단계(S4)로 진행된다. 다음에 스트링과 캐릭터가 딕셔너리에 존재하는가를 판단하며(S5), 존재하면 스트링과 캐릭터를 새로운 스트링으로 하여(S6) 다시 상술한 S4단계로 진행된다. 만약에, 스트링과 캐릭터가 딕셔너리 트리에 존재하지 않으면, 스트링(w)에 할당한 부호어를 출력하며(S7), 계속하여, 딕셔너리 트리에 대한 새로운 노드를 생성하여 부호어를 할당시키며(S8), 다음에 캐릭터(k)를 새로운 스트링으로 취하며(S9), 다시 전단계(S4)로 궤환한다. 즉, 본 발명의 흐름선도에서는 점선으로 표시된 종래의 초기화 단계(SⅠ-1)를 단계(SⅠ-2)로 대체하는데 단계(SⅠ-1)에서는 한글 존재의 여부을 판단하지 않고 모든 문자를 8비트 단위로 처리하였으나, 본 발명은 단계(SⅠ-2)을 이용하여 더높은 압축률을 가진다.
제2도의 (a)는 종래의 LZW를 이용한 데이타 압축 방법의 기본 알고리즘의 내부 테이블 구조의 도해도이며, 제2도의 (b)는 본 발명의 LZW를 이용한 데이타 압축방식의 한글 인식 알고리즘의 내부 테이블 구조 도해도로서, 테이블의 총크기를 8192로 하는 LZW 알고리즘에서의 내부 테이블 구조를 각각 나타낸다.
제2도의 (a)에서, 0에서 255까지의 부호어는 ASCⅡ코드로, 256 내지 511까지의 부호어는 9비트 부호화 영역으로, 512 내지 1023까지의 부호어는 10비트 부호화 영역으로, 1024 내지 2047까지의 부호어는 11비트 부호화 영역으로 하며, 2048 내지 4095까지의 부호어는 12비트 부호화 영역으로 하며, 4096 내지 8191까지의 부호어는 13비트 부호화 영역으로 한다. 반면에 제2도의 (b)에 따른 본 발명의 알고리즘의 내부 테이블 구조에서는, 딕셔너리 트리 테이블을 생성하는 단계에서, 제2도의 (a)의 초기에 256개의 ASCⅡ코드노드를 사용하는 대신 128개의 ASCⅡ코드와 2350자의 한글 코드용 노드를 딕셔너리 트리에 초기화시켜 사용한다. 즉, 제2도의 (a)에서의 9비트, 10비트, 11비트 부호화 영역 및 12비트 부호화 영역중 일부를 본 발명에서는 한글 코드가 차지하게 된다. 즉, KSC 완성형 코드에 대한 한글 데이타 처리를 위하여 KSC 5601에 정의된 한글2350자를 초기 테이블 노드에 할당함으로써, 초기 테이블 노드는 ASCⅡ코드를 위한 128자+2350자인 2478자가 되도록 한다.
압축진행시 1617개의 부호어는 12비트로 하고, 나머지는 13비트로 출력하게 하여, 완성형 한글 인식 알고리즘의 내부 테이블 구조를 완성시킨다.
따라서, 변경된 초기 테이블 노드를 이용하여 LZW 알고리즘에 따라 압축을 행하게 한다.
이상, 본 발명에 따른 데이타 압축 방법에서는 영문 1바이트 대신에 2바이트 한 음절을 하나의 심볼로 간주하여 더 긴 비트 크기의 문자열에 대해 부호어를 할당시킴으로, 압축율의 향상을 가져온다.
Claims (3)
- 데이타 전송속도를 향상시키기 위한 데이타 압축용 LZW 압축 방법에서, 7비트 ASCⅡ코드용 노드와 한글코드용 노드를 딕셔너리 초기에 초기화 시키는 단계와, 입력문자를 읽어 스트링(w)을 취하고, 다음 입력 문자를 읽어 캐릭터 (k)를 취하는 단계와, 상기 스트링(w)과 캐릭터(k)가 딕셔너리 트리에 존재하는 가를 판단하여, 존재하면, 스트링과 캐릭터를 새로운 스트링으로 하고, 존재하지 않으면, 스트링 W에 할당한 부호어를 출력하여, 딕셔너리 트리에 대한 새로운 노드를 생성하여 부호어를 할당한 후, 캐릭터(k)을 새로운 스트링으로 취하는 단계를 포함하는 LZW를 이용한 데이타 압축방법.
- 제1항에 있어서, 상기 7비트 ASCⅡ코드용 노드와 한글 코드용 노드를 딕셔너리 초기에 초기화 시키는 단계에서 7비트 ASCⅡ코드용 노드는 128개이며, 한글 코드용 노드는 2350개인 것을 특징으로 하는 LZW를 이용한 데이타 압축방법.
- 제1항 또는 제2항에 있어서, 상기 한글 코드용 노드를 위해 2바이트 한글 코드용 압축 방법을 이용하는 것을 특징으로 하는 LZW를 이용한 데이타 압축방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940039802A KR0144633B1 (ko) | 1994-12-30 | 1994-12-30 | Lzw를 이용한 완성형 한글의 데이타 압축방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940039802A KR0144633B1 (ko) | 1994-12-30 | 1994-12-30 | Lzw를 이용한 완성형 한글의 데이타 압축방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960025207A KR960025207A (ko) | 1996-07-20 |
KR0144633B1 true KR0144633B1 (ko) | 1998-08-17 |
Family
ID=19405823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940039802A KR0144633B1 (ko) | 1994-12-30 | 1994-12-30 | Lzw를 이용한 완성형 한글의 데이타 압축방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0144633B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100418349B1 (ko) * | 2001-09-05 | 2004-02-11 | (주) 한국인프라 | 데이터 압축 및 복원 방법 |
US7298783B2 (en) | 2002-10-17 | 2007-11-20 | Pantech Co., Ltd | Method of compressing sounds in mobile terminals |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100320686B1 (ko) * | 1999-12-31 | 2002-01-19 | 김기영 | 한글 데이터의 압축 및 복원방법 |
KR100755533B1 (ko) * | 2005-07-25 | 2007-09-06 | 주식회사 팬택 | 캐릭터 셋 생성 방법 및 그 장치 |
-
1994
- 1994-12-30 KR KR1019940039802A patent/KR0144633B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100418349B1 (ko) * | 2001-09-05 | 2004-02-11 | (주) 한국인프라 | 데이터 압축 및 복원 방법 |
US7298783B2 (en) | 2002-10-17 | 2007-11-20 | Pantech Co., Ltd | Method of compressing sounds in mobile terminals |
Also Published As
Publication number | Publication date |
---|---|
KR960025207A (ko) | 1996-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5867114A (en) | Method and apparatus for performing data compression | |
Nevill-Manning et al. | Compression by induction of hierarchical grammars | |
EP0695040B1 (en) | Data compressing method and data decompressing method | |
Núñez et al. | Gbit/s lossless data compression hardware | |
JP2863065B2 (ja) | マッチングストリング探索およびハフマン符号化を用いたデータ圧縮装置および方法ならびにデータ伸長装置および方法 | |
JP3397431B2 (ja) | データ圧縮方法および装置ならびにデータ復元方法および装置 | |
JPH03204232A (ja) | 圧縮データの符号化方法 | |
US5585793A (en) | Order preserving data translation | |
JPH03204233A (ja) | データ圧縮方法 | |
JPH09214353A (ja) | データ圧縮装置及びデータ復元装置 | |
KR20010006554A (ko) | 무손실 데이터 압축을 위한 방법 및 그 장치 | |
US5901177A (en) | High speed variable length code decoding apparatus and method | |
US5394144A (en) | Variable length code decoding apparatus | |
KR0144633B1 (ko) | Lzw를 이용한 완성형 한글의 데이타 압축방법 | |
Zavadskyi et al. | Reverse multi-delimiter compression codes | |
Lin | A hardware architecture for the LZW compression and decompression algorithms based on parallel dictionaries | |
JPH03204235A (ja) | 圧縮データの復号方法 | |
JPH03204234A (ja) | 圧縮データ復元方法 | |
US5736946A (en) | High speed apparatus and method for decoding variable length code | |
Li et al. | Lossless compression algorithms | |
Kwong et al. | A statistical Lempel-Ziv compression algorithm for personal digital assistant (PDA) | |
JPH08149016A (ja) | 文字列の符号化方法 | |
EP0494038A2 (en) | Run-length encoding in extensible character sets | |
JPH08265165A (ja) | 高速可変長符号復号化装置 | |
JP3088740B2 (ja) | データ圧縮及び復元方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |