KR20040087193A - 데이터 사전 관리를 통한 데이터 압축 및 복원 방법 - Google Patents

데이터 사전 관리를 통한 데이터 압축 및 복원 방법 Download PDF

Info

Publication number
KR20040087193A
KR20040087193A KR1020030021464A KR20030021464A KR20040087193A KR 20040087193 A KR20040087193 A KR 20040087193A KR 1020030021464 A KR1020030021464 A KR 1020030021464A KR 20030021464 A KR20030021464 A KR 20030021464A KR 20040087193 A KR20040087193 A KR 20040087193A
Authority
KR
South Korea
Prior art keywords
data
address
transmitted
stored
function
Prior art date
Application number
KR1020030021464A
Other languages
English (en)
Other versions
KR100959489B1 (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 KR1020030021464A priority Critical patent/KR100959489B1/ko
Publication of KR20040087193A publication Critical patent/KR20040087193A/ko
Application granted granted Critical
Publication of KR100959489B1 publication Critical patent/KR100959489B1/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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야
본 발명은 데이터 사전 관리를 통한 데이터 압축 및 복원 방법과 상기 방법들을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 특히 CDMA 이동통신 시스템 등과 같이 상호 간섭에 의해 용량이 제한되는 무선통신 시스템에서 Lempel-Ziv 코딩/디코딩 방법을 수정하여 같은 양의 데이터 송수신을 위해 필요한 데이터 사전의 크기를 줄임으로써 메모리의 양을 줄이고, 데이터 사전 탐색 속도를 빠르게 하기 위한 데이터 압축 및 복원 방법과 상기 방법들을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하고자 함.
3. 발명의 해결 방법의 요지
본 발명은, 송신측에서 두 개의 신호를 하나의 전송 단위로 하는 데이터 압축 방법에 있어서, 현재 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있는지를 검사하는 제 1 단계; 상기 제 1 단계의 검사 결과에 따라, 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있지 않으면, 첫 번째 전송할 신호를 "참조 주소 없음"으로 정의("0")하여 전송하고 그 다음 전송할 데이터를 전송한 후, 해당 데이터를 상기 데이터 압축 테이블의 첫 번째 빈 공간에 저장하고 해당 주소의 참조 계수를 영("0")으로 설정하는 제 2 단계; 상기 제 1 단계의 검사 결과에 따라, 전송하려는 데이터가 상기 데이터 압축 테이블에 정의되어 있으면, 첫 번째 전송할 신호를 상기 데이터 압축 테이블의 주소로 하여 전송하고 그 다음 전송할 데이터를 전송한 후, 참조된 해당 주소의 참조 계수를 순차적으로 증가시키는 제 3 단계; 및 상기 제 3 단계에서, 참조된 계수가 압축 대상이 되는 데이터의 심볼 갯수와 동일하면, 그 주소에 저장된 해당 데이터를 상기 데이터 압축 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시키는 제 4 단계를 포함함.
4. 발명의 중요한 용도
본 발명은 데이터 압축/복원 등에 이용됨.

Description

데이터 사전 관리를 통한 데이터 압축 및 복원 방법{Method of coding and decoding data with managementing data reference table}
본 발명은 데이터 사전 관리를 통한 데이터 압축 및 복원 방법과 상기 방법들을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 특히 코드분할다중접속(CDMA : Code Division Multiple Access) 이동통신 시스템 등과 같이 상호 간섭에 의해 용량이 제한되는 무선통신 시스템에서 럼펠-지브(Lempel-Ziv) 코딩/디코딩 방법을 개선하여 보다 높은 압축/해제율을 제공하는 것이다.
본 발명에서 Lempel-Ziv 코딩/디코딩을 위해 참조하는 송신측의 데이터 압축 테이블(데이터 사전)과 수신측의 데이터 복원 테이블(데이터 사전)은 동일하다. 따라서, 이하에서는 Lempel-Ziv 코딩 방법을 위주로 설명하기로 한다.
데이터 압축은 데이터 뿐만 아니라 이미지, 문서 압축을 위해 광범위하게 사용되고 있다. 그중 Lempel-Ziv 압축 코딩 방법은 현재 가장 널리 쓰이는 데이터 압축 방법 중 하나이다.
일반적으로, CDMA 기반의 이동통신 시스템에서는 모든 사용자가 주파수를 공유하고, 전송 전력에 의해 다중 접근 방법이 제공되며, 서로 다른 직교 코드에 의해 각 사용자가 구분된다. 즉, CDMA 기반의 이동통신 시스템에서는 효율적으로 다양한 서비스들을 제공하기 위하여 서로 다른 전송속도와 서비스 품질 요구 사항들을 요구하는 데이터들이 같은 대역폭내에서 서로 다른 직교 코드로 확산되어 동시에 전송된다. 이러한 상호 간섭에 의해 용량이 제한되는 무선통신 시스템에서는 동일 주파수내의 다른 사용자들로부터의 신호가 잡음으로 인식된다.
따라서, 상기 Lempel-Ziv 코딩 방법을 사용하면, 같은 양의 데이터 전송을위해 필요한 신호의 수를 더욱 줄여 기존의 시간 기반의 부호화 방법보다 보다 짧은 시간내에 데이터 전송이 가능하므로, 특히 상호 간섭에 의해 시스템 용량이 제한되는 CDMA 이동통신 시스템에서 시스템의 용량 증대와 함께 데이터 전송을 위해 소모되는 전력을 최소화할 수 있다.
그러나, 기존 Lempel-Ziv 압축 방법은 런-렌스(Run-length) 압축 방법이나, 허프만(Huffman) 압축 방법에 비해 사용하는 메모리의 양이 많고, 메모리의 양에 의해 효율성이 영향을 받으며, 압축할 때 메모리에 있는 데이터 사전을 탐색하여야 하기 때문에 다른 방법들 보다 더 긴 시간이 소요되는 단점이 있다(도 2 참조).
본 발명은, 상기와 같은 문제점을 해결하기 위해 제안된 것으로, 특히 CDMA 이동통신 시스템 등과 같이 상호 간섭에 의해 용량이 제한되는 무선통신 시스템에서 Lempel-Ziv 코딩/디코딩 방법을 수정하여 같은 양의 데이터 송수신을 위해 필요한 데이터 사전의 크기를 줄임으로써 메모리의 양을 줄이고, 데이터 사전 탐색 속도를 빠르게 하기 위한 데이터 압축 및 복원 방법과 상기 방법들을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명이 적용되는 데이터 압축 및 복원을 위한 시스템의 구성 예시도.
도 2 는 종래기술에 따른 Lempel-Ziv 방법을 위해 사용되는 데이터 사전의 구성 예시도.
도 3 은 본 발명의 실시예에 따라 향상된 Lempel-Ziv 방법을 위해 사용되는 데이터 사전의 구성 예시도.
도 4a 내지 4h 는 본 발명에 따른 데이터 압축 및 복원을 위한 데이터 사전 구축 과정을 나타낸 일실시예 설명도.
도 5 는 본 발명에 따른 데이터 압축 방법에 대한 일실시예 흐름도.
도 6 은 본 발명에 따른 데이터 복원 방법에 대한 일실시예 흐름도.
상기 목적을 달성하기 위한 본 발명은, 송신측에서 두 개의 신호를 하나의전송 단위로 하는 데이터 압축 방법에 있어서, 현재 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있는지를 검사하는 제 1 단계; 상기 제 1 단계의 검사 결과에 따라, 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있지 않으면, 첫 번째 전송할 신호를 "참조 주소 없음"으로 정의("0")하여 전송하고 그 다음 전송할 데이터를 전송한 후, 해당 데이터를 상기 데이터 압축 테이블의 첫 번째 빈 공간에 저장하고 해당 주소의 참조 계수를 영("0")으로 설정하는 제 2 단계; 상기 제 1 단계의 검사 결과에 따라, 전송하려는 데이터가 상기 데이터 압축 테이블에 정의되어 있으면, 첫 번째 전송할 신호를 상기 데이터 압축 테이블의 주소로 하여 전송하고 그 다음 전송할 데이터를 전송한 후, 참조된 해당 주소의 참조 계수를 순차적으로 증가시키는 제 3 단계; 및 상기 제 3 단계에서, 참조된 계수가 압축 대상이 되는 데이터의 심볼 갯수와 동일하면, 그 주소에 저장된 해당 데이터를 상기 데이터 압축 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시키는 제 4 단계를 포함하여 이루어진 것을 특징으로 한다.
그리고, 본 발명은 수신측에서 두 개의 신호를 하나의 수신 단위로 하는 데이터 수신 방법에 있어서, 수신된 데이터의 첫 번째 신호가 참조 주소를 나타내고 있는지를 확인하는 제 1 단계; 상기 제 1 단계의 확인 결과에 따라, 수신된 첫 번째 신호가 "참조 주소 없음"으로 정의되어 있으면, 수신된 두 번째 신호를 복원하고 이 데이터를 데이터 복원 테이블의 첫 번째 빈공간에 저장한 후, 저장된 해당 주소의 참조 계수를 영("0")으로 초기화하는 제 2 단계; 상기 제 1 단계의 확인 결과에 따라, 수신된 첫 번째 신호가 "참조 주소 있음"으로 정의되어 있으면, 수신된첫 번째 신호가 의미하는 데이터 해제 테이블의 주소에 저장된 데이터를 읽어와 수신된 두 번째 신호를 그 데이터에 덧붙여 원래의 데이터를 복원한 후, 참조된 해당 주소의 참조 계수를 순차적으로 증가시키는 제 3 단계; 및 상기 제 3 단계에서, 참조된 계수가 복원 대상이 되는 데이터의 심볼 갯수와 동일하면, 그 주소에 저장된 해당 데이터를 상기 데이터 복원 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시키는 제 4 단계를 포함하여 이루어진 것을 특징으로 한다.
한편, 본 발명은 두 개의 신호를 하나의 전송 단위로 하는 데이터 압축을 위하여, 프로세서를 구비한 데이터 압축 시스템에, 현재 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있는지를 검사하는 제 1 기능; 상기 제 1 기능의 검사 결과에 따라, 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있지 않으면, 첫 번째 전송할 신호를 "참조 주소 없음"으로 정의("0")하여 전송하고 그 다음 전송할 데이터를 전송한 후, 해당 데이터를 상기 데이터 압축 테이블의 첫 번째 빈 공간에 저장하고 해당 주소의 참조 계수를 영("0")으로 설정하는 제 2 기능; 상기 제 1 기능의 검사 결과에 따라, 전송하려는 데이터가 상기 데이터 압축 테이블에 정의되어 있으면, 첫 번째 전송할 신호를 상기 데이터 압축 테이블의 주소로 하여 전송하고 그 다음 전송할 데이터를 전송한 후, 참조된 해당 주소의 참조 계수를 순차적으로 증가시키는 제 3 기능; 및 상기 제 3 기능에서, 참조된 계수가 압축 대상이 되는 데이터의 심볼 갯수와 동일하면, 그 주소에 저장된 해당 데이터를 상기 데이터 압축 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시키는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
그리고, 본 발명은 두 개의 신호를 하나의 수신 단위로 하는 데이터 복원을 위하여, 프로세서를 구비한 데이터 복원 시스템에, 수신된 데이터의 첫 번째 신호가 참조 주소를 나타내고 있는지를 확인하는 제 1 기능; 상기 제 1 기능의 확인 결과에 따라, 수신된 첫 번째 신호가 "참조 주소 없음"으로 정의되어 있으면, 수신된 두 번째 신호를 복원하고 이 데이터를 데이터 복원 테이블의 첫 번째 빈공간에 저장한 후, 저장된 해당 주소의 참조 계수를 영("0")으로 초기화하는 제 2 기능; 상기 제 1 기능의 확인 결과에 따라, 수신된 첫 번째 신호가 "참조 주소 있음"으로 정의되어 있으면, 수신된 첫 번째 신호가 의미하는 데이터 해제 테이블의 주소에 저장된 데이터를 읽어와 수신된 두 번째 신호를 그 데이터에 덧붙여 원래의 데이터를 복원한 후, 참조된 해당 주소의 참조 계수를 순차적으로 증가시키는 제 3 기능; 및 상기 제 3 기능에서, 참조된 계수가 복원 대상이 되는 데이터의 심볼 갯수와 동일하면, 그 주소에 저장된 해당 데이터를 상기 데이터 복원 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시키는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명은 데이터 압축/복원 방법인 Lempel-Ziv 코딩/디코딩 방법을 개선하여 보다 높은 압축/복원율을 제공하는 것으로, 수정된 Lempel-Ziv 코딩/디코딩 방법 적용시 정적인 데이터 사전 대신 동적으로 데이터 사전을 관리하여 더이상 사용되지 않는 항목을 데이터 사전에서 삭제함으로써, 보다 적은 메모리를 사용하여 보다 높은 압축/복원율을 제공할 수 있다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명이 적용되는 데이터 압축 및 복원을 위한 시스템의 구성 예시도이다.
일반적으로, 송신측에서의 데이터 송신시, 데이터 압축 모듈에서 압축된 데이터는 채널 부호화(channel encoding), 다중 접근 부호화(multiple access encoding), 신호 변조(modulate) 과정을 거쳐 전송 모듈(transmitter)에 의해 무선구간으로 전송된다.
한편, 수신측에서의 데이터 수신시, 무선구간을 통해 수신 모듈(receiver)에 수신된 데이터는 신호 복조(demodulate), 다중 접근 복호화(multiple access decoding), 채널 복호화(channel decoding) 과정을 거쳐 데이터 복원 모듈에서 복원된다.
데이터 송신시, 압축하여 전송할 데이터는 노트북, 컴퓨터(PC) 등과 연결된 데이터 저장장치에 있으며, 노트북, 컴퓨터 등의 프로세서와 메모리를 이용하여 데이터 압축을 수행하고, 압축된 데이터가 무선통신 단말기를 이용하여 무선통신망을 통해 전송된다. 그러나, 이에 한정되지 않고, 노트북, PC 등과 연동하지 않고도 무선통신 단말기 자체에서 메모리에 저장된 데이터의 압축을 수행하여 무선통신망을 통해 전송할 수도 있다.
한편, 데이터의 수신측에서는 무선통신 단말기가 무선통신망을 통해 데이터를 수신하여, 수신된 데이터를 노트북, PC 등의 프로세서와 메모리를 이용해 원래의 상태로 복원하여 데이터 저장장치에 저장하게 된다. 그러나, 이에 한정되지 않고, 노트북, PC 등과 연동하지 않고도 무선통신 단말기 자체에서 압축된 데이터를 해제하여 메모리에 저장할 수도 있다.
여기서, 무선통신 단말기는 사용자가 소지하고 이동하면서 통신할 수 있는 PDA(Personal Digital Assistants), 노트북, 셀룰러폰 혹은 PCS폰 등과 같은 이동통신 단말기, IMT-2000(International Mobile Telecommunication), UMTS(Universal Mobile Telecommunication Service) 등과 같은 차세대 이동통신 단말기 등이 될 수 있다.
그러나, 여기에서는 일측(송신측)의 무선통신 단말기가 무선통신망을 통해 타측(수신측)의 무선통신 단말기로 데이터를 전송하는 것을 가정하였으나, 이에 한정되지 않고, 일측의 단말기(PC, 노트북, PDA, 이동통신 단말기 등)에서 타측의 단말기(PC, 노트북, PDA, 이동통신 단말기 등)로의 전송도 가능하며, 단말기(PC, 노트북, PDA, 이동통신 단말기 등) 자체의 일측 위치에서 타측 위치로의 전송시에도 적용될 수 있음은 자명하다.
그럼, Lempel-Ziv 코딩 방법을 이용하여 "0"과 "1"로 조합된 숫자열을 압축하는 과정을 살펴보기로 한다.
CDMA 이동통신 시스템에서는 "0"과 "1"로 조합된 숫자열을 전송하므로, 예를 들어 "0 1 00 001 0011 11 111 00110" 심볼을 전송하는 경우에, 전송 데이터, 주소, 저장된 숫자열은 다음의 [표 1]과 같다.
심볼 0 1 00 001 0011 11 111 00110
전송 데이터 (0,0) (0,1) (1,0) (3,1) (4,1) (2,1) (6,1) (5,0)
주소 1 2 3 4 5 6 7 8
저장된 숫자열 0 1 00 001 0011 11 111 00110
여기서, 전송 데이터 (0,0)의 의미는 "0"이 기존의 주소에 저장되어 있지 않으며, 전송할 데이터 "0"을 주소1에 저장한다는 것을 의미한다. 이에 따라, 데이터 "0"이 전송되고, 송신측(데이터 압축 테이블)과 수신측(데이터 복원 테이블)에서는 "0"을 1번지에 저장한다.
그리고 나서, "1"도 마찬가지로 전송되고 주소2에 저장된다. 즉, 전송 데이터 (0,1)의 의미는 "0"이 기존의 주소에 저장되어 있지 않으며, 전송할 데이터 "1"을 주소2에 저장한다는 것을 의미한다.
세 번째 신호인 (1,0)은 주소1에 저장된 데이터, 즉 "0"과 새로운 데이터(전송할 데이터) "0"을 의미하며, 이때 전송되는 데이터는 "00"이 되고, 이 데이터("00")는 주소3에 저장된다.
네 번째 신호인 (3,1)은 주소3에 저장된 데이터, 즉 "00"과 새로운 데이터(전송할 데이터) "1"을 의미하며, 이때 전송되는 데이터는 "001"이 되고, 이 데이터("001")는 주소4에 저장된다.
다섯 번째 신호인 (4,1)은 주소4에 저장된 데이터, 즉 "001"과 새로운 데이터(전송할 데이터) "1"을 의미하며, 이때 전송되는 데이터는 "0011"이 되고, 이 데이터("0011")는 주소5에 저장된다.
여섯 번째 신호인 (2,1)은 주소2에 저장된 데이터, 즉 "1"과 새로운 데이터(전송할 데이터) "1"을 의미하며, 이때 전송되는 데이터는 "11"이 되고, 이 데이터("11")는 주소6에 저장된다.
일곱 번째 신호인 (6,1)은 주소6에 저장된 데이터, 즉 "11"과 새로운 데이터(전송할 데이터) "1"을 의미하며, 이때 전송되는 데이터는 "111"이 되고, 이 데이터("111")는 주소7에 저장된다.
여덟 번째 신호인 (5,0)은 주소5에 저장된 데이터, 즉 "0011"과 새로운 데이터(전송할 데이터) "0"을 의미하며, 이때 전송되는 데이터는 "00110"이 되고, 이 데이터("00110")는 주소8에 저장된다.
이런식으로 전송할 데이터에 대한 압축이 이루어진다.
그런데, 기존 Lempel-Ziv 코딩 방법을 위해 사용되는 데이터 사전은 도 2와 같다.
도 2의 기존 Lempel-Ziv 코딩 방법을 위해 사용되는 데이터 사전은, 항목수가 14개지만, 더 이상 참조되지 않을 데이터들이 포함되어 있다(즉, 주소1, 주소2, 주소5, 주소11의 데이터). 왜냐하면, 전송될 데이터가 "0" 또는 "1" 뿐이므로, 2번 참조된 데이터들은 더 이상 참조되지 않기 때문이다.
그러나, 본 발명에서와 같이 향상된 Lempel-Ziv 방법을 위해 사용하면 도 3과 같이 데이터 사전의 항목수를 줄일 수 있다. 즉, 도 2의 데이터 사전의 크기는 14이지만, 실제로는 도 3에 제시된 10개의 데이터 사전 항목만 가지고도 같은 압축작업을 수행할 수 있다. 이를 구체적으로 살펴보면 다음과 같다. 다만, 상기 [표 1]에서 각 주소에 저장되는 내용(저장된 숫자열)과 도 2 및 도 3, 도 4a 내지 4h에서 각 주소에 저장되는 내용(저장된 숫자열)은 설명의 편의상 일치하지 않음을 밝혀둔다.
도 4a에서 처럼 데이터 사전에 "01"이 추가되어 주소1에 저장된 "0"의 참조 횟수가 2가 되면, "0"은 더 이상 참조되지 않을 것이므로, 주소1에 저장된 "0"을 도 4a의 데이터 사전에서 삭제하고, 그 이후의 데이터들을 하나씩 데이터 사전의 앞주소로 이동시킨다. 이렇게 되면, 데이터 사전은 도 4b와 같이 각 항목의 주소가 재조정된다.
이후, 데이터가 계속 전송되어 도 4c와 같이 주소1에 저장된 "1"의 참조 횟수가 2가 되면, "1"은 더 이상 참조되지 않을 것이므로, 주소1에 저장된 "1"을 도 4c의 데이터 사전에서 삭제하고, 그 이후의 데이터들을 하나씩 데이터 사전의 앞주소로 이동시킨다. 이렇게 되면, 데이터 사전은 도 4d와 같이 각 항목의 주소가 재조정된다.
마찬가지로, 데이터가 계속 전송되어 도 4e와 같이 주소3에 저장된 "10"의 참조 횟수가 2가 되면, "10"은 더 이상 참조되지 않을 것이므로, 주소3에 저장된 "10"을 도 4e의 데이터 사전에서 삭제하고, 그 이후의 데이터들을 하나씩 데이터 사전의 앞주소로 이동시킨다. 이렇게 되면, 데이터 사전은 도 4f와 같이 각 항목의 주소가 재조정된다.
또한, 데이터가 계속 전송되어 도 4g와 같이 주소8에 저장된 "101011"의 참조 횟수가 2가 되면, "101011"은 더 이상 참조되지 않을 것이므로, 주소8에 저장된 "101011"을 도 4g의 데이터 사전에서 삭제하고, 그 이후의 데이터들을 하나씩 데이터 사전의 앞주소로 이동시킨다. 이렇게 되면, 데이터 사전은 도 4h와 같이 각 항목의 주소가 재조정되어 도 3과 같은 결과를 갖게 된다.
이처럼, 전송되는 데이터가 데이터 사전에 추가될 때마다 데이터 사전을 검사하여 참조 계수가 2가 되는 항목을 삭제하고 데이터 사전을 재구성한다.
그러나, 본 발명의 바람직한 실시예에서는 데이터가 이진데이터, 즉 "0" 또는 "1"이므로, 참조계수가 2이면 데이터 사전에서 삭제되어야 하지만, 예를 들어 2진 데이터가 아니라 데이터의 전송 단위가 알파벳인 경우 참조 계수가 26이 되면 데이터 사전에서 삭제된다. 따라서, 삭제의 기준이 되는 참조 계수는 압축 대상이 되는 데이터의 심볼 갯수에 따라 결정됨을 알 수 있다.
도 5 는 본 발명에 따른 데이터 압축 방법에 대한 일실시예 흐름도로서, 송신측에서의 이진 데이터 압축 절차를 나타낸다. 여기서는 두 개의 신호가 하나의 전송 단위가 된다.
이진 데이터 압축의 경우, 기존의 압축 방법과 마찬가지로 데이터를 압축하고, 데이터 압축시에 데이터 압축 테이블을 참조해 참조 계수를 확인하여, 참조 계수가 2가 되면 해당 데이터를 테이블에서 지우고, 그 뒤에 있는 데이터들을 하나씩 앞주소로 옮겨서 빈공간을 채운다.
이를 구체적으로 살펴보면, 먼저 데이터 전송 요청 대기 상태에서(501), 현재 전송하려는 데이터가 이미 데이터 압축 테이블에 정의되어 있는지를검사한다(502).
검사 결과, 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있지 않으면, 첫 번째 전송할 데이터를 "0"으로 해서 전송하고, 현재 전송할 데이터를 이어서 전송하며, 해당 데이터를 데이터 압축 테이블의 첫 번째 빈 공간에 저장한 후(507), 데이터 압축 테이블의 해당 주소의 참조 계수를 "0"으로 설정한다(508).
예를 들면, 전송할 데이터가 (0,0)인 경우 기존의 주소에 저장되어 있지 않으므로 전송할 데이터 "0"을 주소1에 저장하고, 전송할 데이터가 (0,1)인 경우 역시 기존의 주소에 저장되어 있지 않으므로 전송할 데이터 "1"을 주소2에 저장한다. 이때, 기존의 주소에 저장되어 있는 데이터를 참조하지 않았으므로, 참조 계수는 "0"으로 설정한다.
검사 결과, 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있으면, 첫 번째 전송할 데이터를 데이터 압축 테이블의 주소로 해서 전송하고, 그 다음 전송할 데이터를 이어서 전송한 후(503), 참조된 해당 데이터 압축 테이블의 주소의 참조 계수를 하나 증가시키고(504), 참조계수가 2가 되면(505) 참조가 2번된 데이터들은 더이상 참조되지 않으므로 해당 데이터를 테이블에서 지운다.
예를 들면, 전송할 데이터가 (1,0)인 경우, 주소1에 저장된 데이터 "0"을 전송하고, 새로운 데이터 "0"을 이어서 전송하므로, 이때 전송되는 데이터는 "00"이 된다. 이때, 주소1에 저장된 데이터 "0"이 참조되었으므로, 참조 계수는 "1"이 된다.
또한, 전송할 데이터가 (3,1)인 경우, 주소3에 저장된 "00"을 전송하고, 새로운 데이터 "1"을 이어서 전송하므로, 이때 전송되는 데이터는 "001"이 된다. 이때, 주소3에 저장된 데이터 "00"이 참조되었으므로, 참조 계수는 "1"이 된다.
이렇게 해당 주소에 저장된 데이터를 참조하는데, 참조된 계수가 2가 되면 그 주소에 저장된 데이터는 더이상 참조되지 않으므로 해당 데이터를 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시킨다.
도 6 은 본 발명에 따른 데이터 복원 방법에 대한 일실시예 흐름도로서, 수신측에서의 이진 데이터 복원 절차를 나타낸다. 여기서는 두 개의 신호가 하나의 수신 단위가 된다.
이진 데이터 복원의 경우, 기존의 복원 방법과 마찬가지로 데이터를 복원하고, 데이터 복원시에 데이터 복원 테이블을 참조해 참조 계수를 확인하여, 참조 계수가 2가 되면 해당 데이터를 테이블에서 지우고, 그 뒤에 있는 데이터들을 하나씩 앞주소로 옮겨서 빈공간을 채운다.
먼저, 수신 대기 상태에서(601), 수신된 첫 번째 신호가 "0"인지를 확인한다(602).
확인 결과, 수신된 첫 번째 신호가 "0"이면, 기존 주소에 저장되어 있지 않으므로, 수신된 두 번째 신호를 복원하고, 이 데이터를 데이터 복원 테이블의 첫 번째 빈공간에 저장한 후(603), 저장된 해당 데이터 압축 테이블의 주소의 참조 계수를 0으로 초기화한다(604).
예를 들면, 수신된 데이터가 (0,0)인 경우, 첫 번째 수신된 신호가 "0"이므로 기존의 주소에 저장되어 있지 않으므로 수신된 두 번째 신호를 복원하여(복원결과, 수신된 데이터가 "0"), 이 데이터 "0"을 데이터 복원 테이블의 주소1에 저장한다. 또한, 수신된 데이터가 (0,1)인 경우, 첫 번째 수신된 신호가 "0"이므로 기존의 주소에 저장되어 있지 않으므로 수신된 두 번째 신호를 복원하여(복원 결과, 수신된 데이터가 "1"), 이 데이터 "1"을 데이터 복원 테이블의 주소2에 저장한다.
이때, 기존의 주소에 저장되어 있는 데이터를 참조하지 않았으므로, 참조 계수를 "0"으로 초기화한다.
확인 결과, 수신된 첫 번째 신호가 "0"이 아니면, 기존 주소에 저장되어 있으므로 수신된 첫 번째 신호에 해당하는 데이터 복원 테이블에 가서 해당 데이터를 읽어 온 다음 수신된 두 번째 신호를 그 데이터에 덧붙여 원래의 데이터를 복원한 후(605), 참조된 해당 데이터 복원 테이블의 주소의 참조 계수를 하나 증가시키고(606), 참조계수가 2가 되면(607) 참조가 2번된 데이터들은 더이상 참조되지 않으므로 해당 데이터를 테이블에서 지우고 그 이후의 주소에 있는 복원 데이터들을 하나씩 앞으로 이동시킨다(608).
예를 들면, 수신된 데이터가 (1,0)인 경우, 첫 번째 수신된 신호가 "1"이므로 기존의 주소에 저장되어 있으므로 데이터 복원 테이블의 해당 주소1에 저장된 데이터("0")를 읽어온 다음, 수신된 두 번째 신호 "0"을 주소1에 저장된 데이터("0")에 덧붙여 원래의 데이터("00")를 복원한다. 이때, 주소1에 저장된 데이터 "0"이 참조되었으므로, 참조 계수는 "1"이 된다.
또한, 수신된 데이터가 (3,1)인 경우, 첫 번째 수신된 신호가 "3"이므로 기존의 주소에 저장되어 있으므로 데이터 복원 테이블의 해당 주소3에 저장된데이터("00")를 읽어온 다음, 수신된 두 번째 신호 "1"을 주소3에 저장된 데이터("00")에 덧붙여 원래의 데이터("001")를 복원한다. 이때, 주소3에 저장된 데이터 "00"이 참조되었으므로, 참조 계수는 "1"이 된다.
이렇게 해당 주소에 저장된 데이터를 참조하는데, 참조된 계수가 2가 되면 그 주소에 저장된 데이터는 더이상 참조되지 않으므로 해당 데이터를 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시킨다.
상기에서, 송신측의 데이터 압축 테이블과 수신측의 데이터 복원 테이블의 주소에 저장되는 정보는 동일하다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, Lempel-Ziv 방법을 수정하여 같은 양의 데이터 전송을 위해 기존의 방법보다 적은 신호만을 요구하도록 함으로써, 특히 CDMA와 같은 상호 간섭에 의해 시스템 용량이 제한되는 무선통신 시스템에서 보다 많은 용량의 데이터 서비스 제공이 가능하여 시스템의 용량 증대를 최대화할 수 있고, 데이터 송수신을 위해 소모되는 전력을 최소화할 수 있으며, 특히 더 적은 메모리만을 사용하며 데이터 압축/복원을 위한 데이터 사전 탐색 시간을 작게 함으로써 보다 고속, 대량의 데이터 압축/복원이 가능한 효과가 있다.

Claims (7)

  1. 송신측에서 두 개의 신호를 하나의 전송 단위로 하는 데이터 압축 방법에 있어서,
    현재 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있는지를 검사하는 제 1 단계;
    상기 제 1 단계의 검사 결과에 따라, 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있지 않으면, 첫 번째 전송할 신호를 "참조 주소 없음"으로 정의("0")하여 전송하고 그 다음 전송할 데이터를 전송한 후, 해당 데이터를 상기 데이터 압축 테이블의 첫 번째 빈 공간에 저장하고 해당 주소의 참조 계수를 영("0")으로 설정하는 제 2 단계;
    상기 제 1 단계의 검사 결과에 따라, 전송하려는 데이터가 상기 데이터 압축 테이블에 정의되어 있으면, 첫 번째 전송할 신호를 상기 데이터 압축 테이블의 주소로 하여 전송하고 그 다음 전송할 데이터를 전송한 후, 참조된 해당 주소의 참조 계수를 순차적으로 증가시키는 제 3 단계; 및
    상기 제 3 단계에서, 참조된 계수가 압축 대상이 되는 데이터의 심볼 갯수와 동일하면, 그 주소에 저장된 해당 데이터를 상기 데이터 압축 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시키는 제 4 단계
    를 포함하는 데이터 사전 관리를 통한 데이터 압축 방법.
  2. 제 1 항에 있어서,
    상기 데이터는,
    바람직하게는, 이진 데이터인 것을 특징으로 하는 데이터 사전 관리를 통한 데이터 압축 방법.
  3. 수신측에서 두 개의 신호를 하나의 수신 단위로 하는 데이터 수신 방법에 있어서,
    수신된 데이터의 첫 번째 신호가 참조 주소를 나타내고 있는지를 확인하는 제 1 단계;
    상기 제 1 단계의 확인 결과에 따라, 수신된 첫 번째 신호가 "참조 주소 없음"으로 정의되어 있으면, 수신된 두 번째 신호를 복원하고 이 데이터를 데이터 복원 테이블의 첫 번째 빈공간에 저장한 후, 저장된 해당 주소의 참조 계수를 영("0")으로 초기화하는 제 2 단계;
    상기 제 1 단계의 확인 결과에 따라, 수신된 첫 번째 신호가 "참조 주소 있음"으로 정의되어 있으면, 수신된 첫 번째 신호가 의미하는 데이터 해제 테이블의 주소에 저장된 데이터를 읽어와 수신된 두 번째 신호를 그 데이터에 덧붙여 원래의 데이터를 복원한 후, 참조된 해당 주소의 참조 계수를 순차적으로 증가시키는 제 3 단계; 및
    상기 제 3 단계에서, 참조된 계수가 복원 대상이 되는 데이터의 심볼 갯수와 동일하면, 그 주소에 저장된 해당 데이터를 상기 데이터 복원 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시키는 제 4 단계
    를 포함하는 데이터 사전 관리를 통한 데이터 복원 방법.
  4. 제 3 항에 있어서,
    상기 데이터는,
    바람직하게는, 이진 데이터인 것을 특징으로 하는 데이터 사전 관리를 통한 데이터 압축 방법.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 데이터 해제 테이블은,
    송신측의 데이터 압축 테이블과 동일한 것인 것을 특징으로 하는 데이터 사전 관리를 통한 데이터 복원 방법.
  6. 두 개의 신호를 하나의 전송 단위로 하는 데이터 압축을 위하여, 프로세서를 구비한 데이터 압축 시스템에,
    현재 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있는지를 검사하는 제 1 기능;
    상기 제 1 기능의 검사 결과에 따라, 전송하려는 데이터가 데이터 압축 테이블에 정의되어 있지 않으면, 첫 번째 전송할 신호를 "참조 주소 없음"으로 정의("0")하여 전송하고 그 다음 전송할 데이터를 전송한 후, 해당 데이터를 상기 데이터 압축 테이블의 첫 번째 빈 공간에 저장하고 해당 주소의 참조 계수를 영("0")으로 설정하는 제 2 기능;
    상기 제 1 기능의 검사 결과에 따라, 전송하려는 데이터가 상기 데이터 압축 테이블에 정의되어 있으면, 첫 번째 전송할 신호를 상기 데이터 압축 테이블의 주소로 하여 전송하고 그 다음 전송할 데이터를 전송한 후, 참조된 해당 주소의 참조 계수를 순차적으로 증가시키는 제 3 기능; 및
    상기 제 3 기능에서, 참조된 계수가 압축 대상이 되는 데이터의 심볼 갯수와 동일하면, 그 주소에 저장된 해당 데이터를 상기 데이터 압축 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시키는 제 4 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  7. 두 개의 신호를 하나의 수신 단위로 하는 데이터 복원을 위하여, 프로세서를 구비한 데이터 복원 시스템에,
    수신된 데이터의 첫 번째 신호가 참조 주소를 나타내고 있는지를 확인하는제 1 기능;
    상기 제 1 기능의 확인 결과에 따라, 수신된 첫 번째 신호가 "참조 주소 없음"으로 정의되어 있으면, 수신된 두 번째 신호를 복원하고 이 데이터를 데이터 복원 테이블의 첫 번째 빈공간에 저장한 후, 저장된 해당 주소의 참조 계수를 영("0")으로 초기화하는 제 2 기능;
    상기 제 1 기능의 확인 결과에 따라, 수신된 첫 번째 신호가 "참조 주소 있음"으로 정의되어 있으면, 수신된 첫 번째 신호가 의미하는 데이터 해제 테이블의 주소에 저장된 데이터를 읽어와 수신된 두 번째 신호를 그 데이터에 덧붙여 원래의 데이터를 복원한 후, 참조된 해당 주소의 참조 계수를 순차적으로 증가시키는 제 3 기능; 및
    상기 제 3 기능에서, 참조된 계수가 복원 대상이 되는 데이터의 심볼 갯수와 동일하면, 그 주소에 저장된 해당 데이터를 상기 데이터 복원 테이블에서 지우고, 그 이후의 데이터들을 하나씩 앞주소로 이동시키는 제 4 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020030021464A 2003-04-04 2003-04-04 데이터 사전 관리를 통한 데이터 압축 및 복원 방법 KR100959489B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030021464A KR100959489B1 (ko) 2003-04-04 2003-04-04 데이터 사전 관리를 통한 데이터 압축 및 복원 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030021464A KR100959489B1 (ko) 2003-04-04 2003-04-04 데이터 사전 관리를 통한 데이터 압축 및 복원 방법

Publications (2)

Publication Number Publication Date
KR20040087193A true KR20040087193A (ko) 2004-10-13
KR100959489B1 KR100959489B1 (ko) 2010-05-26

Family

ID=37369401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030021464A KR100959489B1 (ko) 2003-04-04 2003-04-04 데이터 사전 관리를 통한 데이터 압축 및 복원 방법

Country Status (1)

Country Link
KR (1) KR100959489B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111178490B (zh) * 2019-12-31 2021-08-24 北京百度网讯科技有限公司 数据输出方法、获取方法、装置和电子设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5874908A (en) 1997-09-19 1999-02-23 International Business Machines Corporation Method and apparatus for encoding Lempel-Ziv 1 variants

Also Published As

Publication number Publication date
KR100959489B1 (ko) 2010-05-26

Similar Documents

Publication Publication Date Title
US6356961B1 (en) Method and apparatus for minimizing an amount of data communicated between devices and necessary to modify stored electronic documents
CN101176268B (zh) 带有公共节点陷波滤波器的可调谐双工器
CN103684680A (zh) 解码经编码的数据块
WO2003058458A1 (fr) Serveur de contenu, procede de distribution de donnees de contenu, programme et support d'enregistrement
RU2009116675A (ru) Кодирование в беспроводной дальней связи
EP1659482A2 (en) Communication system, storage device and control device
CN1121776C (zh) 具有音频记录功能的电话装置
EP1240763B1 (en) Method and system for optimizing usage of air link
KR20060110423A (ko) Sms 메시지 교환 시스템 및 방법
US20080188202A1 (en) Apparatus and method for synchronizing phonebook data with messages in portable terminal
CN102377688B (zh) 一种文件的传输方法和设备
KR100959489B1 (ko) 데이터 사전 관리를 통한 데이터 압축 및 복원 방법
US7012884B2 (en) Zero-overhead method for sequence reversible and pattern independent orthogonal multiplexing
CN107222581A (zh) 数据传输系统、方法、外接设备和移动终端
WO2016145616A1 (zh) 一种信息传输方法、设备及系统
CN101867900A (zh) 可携式电子装置间的档案传输方法及系统及储存媒体
US20030139203A1 (en) Computer-readable storage medium containing program instructions for managing data in communication terminal
CN112383888A (zh) 一种短信系统、方法以及设备
WO2019160744A1 (en) Improving the performance of a data channel using polar codes for a wireless communication system
KR20040085808A (ko) 무선통신 시스템에서 시간 기반의 데이터 송수신 방법
Jung et al. Real-time VLSI compression for high-speed wireless local area networks
Anwar et al. Source coding-based compressions of Indonesian local languages for 5G potential applications
JP3389084B2 (ja) 無線通信装置
KR20070016331A (ko) 이동통신 단말기에서 파일분할 및 병합방법
CN113067664B (zh) 一种数据接收方法,数据发送方法以及相关设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130430

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140508

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee