KR100732664B1 - 텍스트 데이터 압축을 위한 방법 및 장치 - Google Patents
텍스트 데이터 압축을 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR100732664B1 KR100732664B1 KR1020057014498A KR20057014498A KR100732664B1 KR 100732664 B1 KR100732664 B1 KR 100732664B1 KR 1020057014498 A KR1020057014498 A KR 1020057014498A KR 20057014498 A KR20057014498 A KR 20057014498A KR 100732664 B1 KR100732664 B1 KR 100732664B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- case
- data segment
- match
- character
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Document Processing Apparatus (AREA)
Abstract
텍스트 스트링의 케이스 센시티비티를 고려하여, 텍스트 스트링을 압축된 스트링으로 압축하기 위한 방법 및 장치가 제공된다. 압축은 손실 모드 또는 무손실 모드로 수행될 수 있다. 손실 모드에서, 텍스트 스트링은 참조 소스에서 텍스트스트링에 대한 매치를 탐지하기 위한 탐색이 케이스 센시티비티에 기반하도록 텍스트 스트링의 케이스 센시티비티를 결정하도록 파싱된다. 대안적으로, 텍스트 스트링내의 문자들의 케이스 구성은 타깃 케이스로 변환되고, 케이스-변환된 텍스트 스트링에 대한 매치를 탐지하기 위하여 케이스-센시티브 탐색이 수행된다. 무손실 모드에서, 텍스트 스트링의 케이스 센시티비티에 상관없이 텍스트 스트링에 대한 매치를 탐지하기 위하여 케이스-인센시티브 탐색이 수행되고, 압축된 스트링이 케이스-정보-요소에 기반하여 재구성될 수 있도록 압축된 스트링에 케이스-정보-요소가 첨부된다.
텍스트, 스트링, 데이터, 케이스, 센시티비티, 압축
Description
본 발명은 일반적으로 텍스트-기반 데이터 또는 프로토콜 데이터의 압축에 관한 것으로, 특히 대역폭 제한 통신 링크들을 지닌 네트워크들을 통해 전송될 데이터의 압축에 관한 것이다.
일반적으로, 데이터 압축은 소정 포맷으로 정의된 데이터를 원래의 포맷보다 더 적은 수의 데이터 비트들을 포함하는 다른 포맷으로 변환한다. 원래의 데이터가 필요한 경우, 데이터를 원래의 포맷으로 복원하기 위하여 압축된 데이터는 압축해제된다. 데이터 압축은 손실 및 무손실로 분류될 수 있다. 상기 용어가 제시하는 바와 같이, 데이터는 무손실 방법에서 압축 및 압축해제동안 보존된다. 무손실 압축과는 달리, 손실 압축은 압축해제된 데이터가 원래의 데이터와 정확하게 동일하지 않은 방법들을 지칭한다. 무손실 데이터 압축 알고리즘들은 사전(dictionary) 부호화 및 통계 부호화 유형들로 분류된다. 가장 널리 사용되는 사전 부호화 알고리즘들은 렘펠-지브(Lempel-Ziv) 알고리즘들 및 그들의 변종들이다. 특히, LZ77 알고리즘은 지브 등("순차 데이터 압축을 위한 범용 알고리즘", 1977년 5월, 정보 이론에 대한 IEEE 회보, 볼륨.IT-23, 번호 3, 페이지 337-343)에 개시된 바와 같은 압축을 지칭하고 LZ78은 지브 등("가변 레이트 부호화를 통한 개별 시퀀스들의 압축", 1978년 9월, 정보 이론에 대한 IEEE 회보, 볼륨.IT-24, 번호 5, 페이지 530-535)에 개시된 바와 같은 방법을 지칭한다. LZ77은 문자들의 반복된 시퀀스를 포인터에 의한 시퀀스들의 이전 발생에 대한 참조로 대체하는 원리에 기반한다. LZ78은 스트링 매칭을 위해, 룩업 테이블 또는 사전과 같은, 적응적으로 성장하는 참조 소스에 기반하여 입력 데이터 문자들의 스트림을 부호화된 값들로 파싱한다.
많은 텍스트-기반 애플리케이션들 및 애플리케이션 프로토콜들에서, 텍스트 데이터의 몇몇 또는 모두는 케이스 인센시티브(case insensitive)하다. 케이스-인센시티브한 텍스트 데이터에서 있어서, 상기 텍스트 데이터의 의미(semantics)는 소문자 또는 대문자로 표현되는 텍스트들에 상관없이 동일하다. 예를 들어, HTTP 키워드들을 포함하여, 대부분의 하이퍼텍스트 전송 프로토콜(HTTP: Hypertext Transfer Protocol) 메시지 헤더 필드들은 케이스-인센시티브하다. 따라서, 균일 자원 식별자(URI: Uniform Resource Identifier) http://Nokia.com은 URI HTTP://NOKIA.COM 또는 http://nokia.com과 동일하다. 더욱이, HTTP 메시지 본문이 하이퍼텍스트 마크업 언어(HTML: HyperText Markup Language) 문서를 포함하는 경우, 상기 HTML 문서들내의 모든 요소 이름들 및 속성 이름들은 케이스-인센시티브하다. 상기 렘펠-지브 알고리즘들은 모든 데이터를 그들의 스트링 매치 로직에서 순수한 바이트들로서 처리하므로, 케이스 센시티비티에 관한 문제를 해결하지 못한다. 그 결과, 입력 데이터내의 텍스트들의 스트링은 사전이 이미 상이한 케이스 구성을 지닌 동일한 스트링을 포함할지라도 압축되지 않을 것이다. 이것은 압축률을 제한할 뿐만 아니라, 사전 및 그것의 메모리 저장부의 사용의 낭비를 야기한다. 특히, 상기 문제는 두가지 시나리오에서 압축 성능에 영향을 미친다: 1) 키워드들과 같은, 프로토콜 또는 애플리케이션 특정 데이터를 지닌 사전-상주 사전; 및 2) 다른 소스에 의해 생성된 동일한 애플리케이션 데이터를 압축하기 위하여 사전으로서 한 소스에 의해 생성된 애플리케이션 데이터.
따라서 텍스트-기반 데이터 압축에서의 압축률을 개선하기 위한 방법 및 장치를 제공하는 것이 유리하고 바람직하다.
본 발명의 주 목적은 텍스트-기반 데이터 또는 프로토콜 데이터를 효율적으로 압축하기 위한 방법 및 장치를 제공하는 것이다.
본 발명의 제1 태양에 의하면, 부호화된 데이터를 제공하기 위하여 데이터 세그먼트들의 형태로 통신 데이터를 부호화하는 방법이 제공된다.
상기 방법은,
참조 소스에서 데이터 세그먼트에 대한 매치를 탐지하는 단계; 및
상기 매치가 탐지된 경우 상기 부호화된 데이터에 압축된 데이터 세그먼트를 제공하기 위하여 상기 데이터 세그먼트를 압축하는 단계를 포함하며, 상기 탐지는 상기 데이터 세그먼트의 케이스 센시티비티에 기반하는 방식으로 수행되는 것을 특징으로 한다.
데이터 세그먼트는 적어도 하나의 데이터 유닛을 포함하고 케이스 센시티브하거나 케이스 인센시티브하다. 상기 적어도 하나의 데이터 유닛이 케이스 인센시티브한 경우 상기 데이터 세그먼트는 케이스 인센시티브하다.
유리하게는, 상기 방법은, 상기 탐지가 상기 참조 소스에서의 변경된 데이터 세그먼트에 대한 매치에 기반하도록 상기 변경된 데이터 세그먼트를 제공하기 위하여 상기 데이터 세그먼트가 케이스 인센시티브한 경우 상기 데이터 세그먼트를 변경하는 단계를 더 포함한다.
상기 데이터 세그먼트가 텍스트 스트링을 포함하고 상기 적어도 하나의 데이터 유닛 각각이 문자를 포함하는 경우, 상기 문자는 제1 케이스 구성 또는 제2 케이스 구성으로 되어 있고, 상기 방법에서, 상기 탐지는 상기 데이터 세그먼트가 케이스 인센시티브한 것처럼 어떤 방식으로 수행되며, 상기 방법은,
상기 적어도 하나의 데이터 유닛 각각에서의 상기 문자의 케이스 구성을 나타내는 정보를 상기 부호화된 데이터에 제공하여 상기 압축된 데이터 세그먼트가 상기 제공된 정보에 기초하여 압축해제되도록 하는 단계를 더 포함한다.
상기 텍스트 스트링은 다수의 문자들을 포함하고, 상기 제공된 정보가 다수의 데이터 비트들을 포함하며, 상기 다수의 데이터 비트들 각각이 상기 다수의 문자들 중 하나에 대응하는 경우, 각 데이터 비트에는 상기 대응하는 문자가 상기 제1 케이스 구성인지 또는 상기 제2 케이스 구성인지를 나타내는 값이 할당된다.
대안적으로, 상기 제공된 정보는 제1 케이스 구성으로 되어 있는 상기 적어도 하나의 데이터 유닛 각각에서의 상기 문자를 나타내는 값을 지닌 코드를 포함한다. 상기 제1 케이스 구성은 소문자이고 상기 제2 케이스 구성은 대문자이다. 또한, 상기 제1 케이스 구성은 대문자이고 상기 제2 케이스 구성은 소문자인 것이 가능하다.
유리하게는, 상기 텍스트 스트링은 선두 문자 및 적어도 하나의 후속 문자를 포함하는 복수의 문자들을 포함하고, 상기 제공된 정보는 제1 케이스 구성으로 된 상기 텍스트 스트링에서 단지 상기 선두 문자를 나타내는 코드를 포함한다.
본 발명의 제2 태양에 의하면, 부호화된 데이터를 제공하기 위하여 데이터 세그먼트들의 형태로 통신 데이터를 부호화하기 위한 압축기가 제공된다.
상기 압축기는,
참조 소스;
상기 참조 소스에서 데이터 세그먼트의 매치를 탐지하기 위한 비교 수단; 및
상기 부호화된 데이터에 압축된 데이터 세그먼트를 제공하기 위하여 상기 매치가 탐지된 경우 상기 데이터 세그먼트를 압축하기 위한 부호화 모듈을 포함하고, 상기 비교 수단은 상기 데이터 세그먼트의 케이스 센시티비티에 기초하여 상기 매치를 탐지하기 위한 매칭 알고리즘을 지니는 것을 특징으로 한다.
상기 압축기는, 상기 데이터 세그먼트에 응답하는 파서로서, 상기 데이터 세그먼트의 케이스 센시티비티를 결정하고 상기 비교 수단에 상기 데이터 세그먼트의 케이스 센시티비티를 나타내는 정보를 제공하기 위한 파서를 더 포함하고, 상기 제공된 정보는 상기 비교 수단에 전달된 데이터 플래그에 포함된다.
유리하게는, 상기 데이터 세그먼트는 적어도 하나의 문자를 포함하고 상기 적어도 하나의 문자 각각은 제1 케이스 구성 또는 제2 케이스 구성으로 되어 있다. 상기 압축기는, 상기 데이터 세그먼트에 응답하는 변환기 모듈로서, 상기 비교 수단에 케이스-변환된 데이터 세그먼트를 제공하기 위하여 상기 데이터 세그먼트내의 상기 적어도 하나의 문자 각각을 제1 케이스 구성으로 변환하여 상기 비교 수단이 상기 케이스-변환된 데이터 세그먼트에 기초하여 상기 참조 소스에서 상기 매치를 탐지하도록 허용하는 변환기 모듈을 더 포함한다.
대안적으로, 상기 데이터 세그먼트는 적어도 하나의 문자를 포함하고 상기 적어도 하나의 문자 각각은 제1 케이스 구성 또는 제2 케이스 구성으로 되어 있으며, 상기 압축기는 상기 데이터 세그먼트가 케이스 인센시티브한 것처럼 상기 참조 소스에서 상기 데이터 세그먼트의 매치를 탐지하고,
상기 적어도 하나의 문자 각각의 케이스 구성을 나타내는 정보가 상기 부호화된 데이터에 제공되어 상기 부호화된 데이터로부터의 상기 압축된 데이터 세그먼트가 상기 제공된 정보에 기초하여 압축해제되도록 허용한다.
본 발명의 제3 태양에 의하면, 데이터 세그먼트의 형태로 통신 데이터를 수신하고 송신하기에 적합한, 통신 네트워크내의 통신 요소가 제공된다. 상기 요소는,
송신용의 부호화된 데이터를 제공하기 위하여 상기 수신된 통신 데이터를 부호화하기 위한 압축기를 포함하고, 상기 압축기는,
참조 소스;
상기 참조 소스에서 데이터 세그먼트의 매치를 탐지하기 위한 알고리즘; 및
상기 부호화된 데이터에 압축된 데이터 세그먼트를 제공하기 위하여 상기 매치가 탐지된 경우 상기 데이터 세그먼트를 압축하기 위한 부호화 모듈을 포함하며, 상기 알고리즘은 상기 데이터 세그먼트의 케이스 센시티비티에 기초하여 상기 매치를 탐지하는 것을 특징으로 한다.
상기 통신 요소는 이동 단말기 또는 상기 통신 네트워크의 기반 구조내의 지원 노드일 수 있다.
본 발명의 제4 태양에 의하면, 데이터 세그먼트들의 형태로 통신 데이터를 부호화하기 위한 데이터 부호화 시스템이 제공된다. 상기 시스템은,
상기 통신 데이터를 부호화하기 위한 압축기; 및
부호화된 데이터를 복호화하기 위한 압축해제기를 포함하고,
상기 압축기는,
참조 소스;
상기 참조 소스에서 데이터 세그먼트의 매치를 탐지하기 위한 알고리즘; 및
압축된 데이터 세그먼트를 제공하기 위하여 상기 매치가 탐지된 경우 상기 데이터 세그먼트를 압축하기 위한 부호화 모듈을 포함하며, 상기 알고리즘은 상기 데이터 세그먼트의 케이스 센시티비티에 기초하여 상기 매치를 탐지하고, 상기 압축해제기는,
추가 참조 소스; 및
상기 추가 참조 소스로부터 상기 데이터 세그먼트를 탐지하기 위한 추가 알고리즘을 포함하는 것을 특징으로 한다.
본 발명은 도 1a 내지 도 7과 함께 설명을 읽을 때 명백해질 것이다.
도 1a는 본 발명에 의한, 손실 모드의 텍스트-기반 데이터 압축 방법을 도시한 흐름도이다.
도 1b는 손실 모드의 텍스트-기반 데이터 압축의 다른 버전을 도시한 흐름도이다.
도 2는 손실 모드의 텍스트-기반 데이터 압축의 다른 방법을 도시한 흐름도이다.
도 3은 무손실 모드의 텍스트-기반 데이터 압축 방법을 도시한 흐름도이다.
도 4는 본 발명에 의한, 손실 모드의 텍스트-기반 데이터 압축을 위한 압축기 및 원래의 데이터를 재구성하기 위한 압축해제기를 지닌 데이터 부호화 시스템을 도시한 블록도이다.
도 5는 손실 모드의 텍스트-기반 데이터 압축을 위한 압축기 및 원래의 데이터를 재구성하기 위한 압축해제기를 지닌 다른 데이터 부호화 시스템을 도시한 블록도이다.
도 6은 무손실 모드의 텍스트-기반 데이터 압축을 위한 압축기 및 원래의 데이터를 재구성하기 위한 압축해제기를 지닌 데이터 부호화 시스템을 도시한 블록도이다.
도 7은 본 발명에 의한, 압축기를 포함하는 복수의 통신 요소들을 지닌 통신 네트워크의 개략적인 표시이다.
본 발명은 두가지 동작 모드들을 제공한다: 손실 압축 및 무손실 압축. 케이 스-센시티브 데이터 세그먼트들 및 케이스-인센시티브 세그먼트들 양자를 포함하는 텍스트-기반 데이터에서, 케이스-인센시티브 세그먼트들만이 손실 압축에 의해 영향을 받는다. 손실 모드에서 케이스-센시티브 데이터 세그먼트들의 압축은 무손실 모드에서의 것과 동일하다. 손실 모드에서, 케이스-인센시티브 세그먼트들의 원래의 케이스 구성은 압축중 손실될 수 있지만, 원래 데이터의 의미는 변경되지 않는다. 본 발명에 의하면 손실 모드에서의 텍스트-기반 데이터 압축을 위한 압축기는 파서(parser) 및 부호기를 포함한다. 상기 파서는 압축될 텍스트 데이터에 대해 알도록 설계되어서 데이터 세그먼트가 케이스-센시티브한지 또는 케이스-인센시티브한지를 결정할 수 있다. 대부분의 데이터-압축 방법들에서와 같이, 텍스트-기반 데이터내의 데이터 세그먼트들은 매치(match)를 탐지하기 위하여, 사전과 같은 참조 소스에서의 탐색에 의존한다. 매칭된 데이터 세그먼트들만이 그들이 전송될 데이터 스트림에 적응되기 전에 압축된다.
손실 모드
본 발명에 의한 손실 모드 데이터 압축 방법은 두개의 압축 절차들로 수행될 수 있다.
절차 A:
- 입력 데이터내의 각 바이트는 텍스트 스트링이 케이스-센시티브한지 또는 케이스-인센시티브한지를 상기 파서가 결정하도록 허용하기 위하여 상기 파서를 통과한다.
- 상기 파서는 상기 바이트를 변경없이 상기 부호기로 전달한다.
- 상기 파서는 현재의 바이트가 케이스-인센시티브 세그먼트에 속한다고 결정하는 경우 케이스-인센시티브 플래그, CI-플래그를 참(TRUE)으로 설정한다. 그렇지 않으면 상기 CI-플래그는 거짓(FALSE)이 된다.
- 상기 부호기는 CI-플래그의 상태에 기반하여 상기 텍스트 스트링에 대한 스트링 매칭 절차를 수행한다.
상기 절차는 도 1a의 흐름도(100)에 도시되어 있다. 도시된 바와 같이, 단계 110에서 텍스트 스트링이 상기 파서를 통과할 때, 상기 파서는 단계 112에서 상기 스트링이 케이스-센시티브한지 또는 케이스-인센시티브한지를 결정한다. 상기 스트링이 케이스-센시티브한 경우, 상기 파서는 단계 114에서 CI-플래그를 거짓으로 설정한다. 그렇지 않으면 상기 파서는 단계 116에서 상기 플래그를 참으로 설정한다. 상기 파서는 상기 CI-플래그와 함께 부호기로 변경없이 상기 스트링내의 모든 바이트들을 전달한다. 단계 118에서, 상기 부호기는 상기 CI-플래그를 검사한다. 상기 CI-플래그가 참으로 설정된 경우, 상기 부호기는 단계 120에서 스트링 매칭 절차에서 케이스-인센시티브 비교를 수행한다. 그렇지 않으면, 상기 부호기는 단계 122에서 케이스-센시티브 비교를 수행한다. 스트링이 상기 참조 소스내의 엔트리와 매칭되는 경우에만, 상기 스트링은 단계 124 및 단계 126에 도시된 바와 같이, 압축될 것이다.
바이트별로 입력 데이터를 처리하는 스트링-매칭 알고리즘을 사용하여, 상기 CI-플래그가 한 상태에서 다른 상태로 전환될지라도, 현재 매칭된 스트링을 확장시키는 것이 유리하다.
도 1a에 도시된 바와 같은 흐름도(100)에서, 상기 파서 및 상기 부호기는 상기 압축기내의 개별 모듈들인 것으로 가정된다. 실제로, 상기 파서 로직을 상기 부호기에 통합시키는 것이 유리하다. 따라서, 흐름도에서 단계 114, 단계 116 및 단계 118은 도 1b의 흐름도(100')에 도시된 바와 같이, 제거될 수 있다.
절차 B:
- 상기 입력 데이터가 상기 파서를 통과한다.
- 현재의 바이트가 케이스-인센시티브 세그먼트에 속한다고 상기 파서가 결정하는 경우, 상기 파서는 상기 바이트를 타깃 케이스(예를 들어, 소문자)로 변환한다.
- 상기 파서는 상기 "케이스-변환된" 바이트를 상기 부호기로 전달한다.
- 상기 부호기는 데이터가 상기 입력 스트림으로부터 직접 수신되는 것처럼 상기 파서에 의해 전달된 데이터를 압축한다.
상기 절차는 도 2의 흐름도(200)에 도시되어 있다. 도시된 바와 같이, 단계 210에서, 텍스트 스트링이 상기 파서를 통과하는 경우, 단계 212에서 상기 파서는 상기 스트링이 케이스-센시티브한지 또는 케이스-인센시티브한지를 결정한다. 상기 스트링이 케이스-센시티브한 경우, 상기 파서는 상기 스트링을 변경하지 않고 상기 부호기로 상기 스트링을 전달한다. 상기 스트링이 케이스-인센시티브한 경우, 상기 파서는 단계 214에서 상기 스트링을 타깃 케이스로 변환한 후 상기 케이스-변환된 스트링을 상기 부호기로 전달한다. 상기 부호기는 단계 216에서 상기 스트링 매칭 절차에서 케이스-센시티브 비교를 수행한다. 스트링이 상기 참조 소스내의 엔트리 와 매칭되는 경우에만, 상기 스트링은 단계 218 및 단계 220에 도시된 바와 같이 압축된다.
비교시, 절차 B는 기존의 부호기들의 변경을 필요로 하지 않기 때문에 절차 B는 절차 A에 비해 선호된다. 하지만, 상기 파서의 부가는 상기 부호기에 명백할 수 있으므로, 상기 변경은 간단하다. 케이스-변환에 관해서는, 상기 파서에 의해 변환된 텍스트 스트링의 타깃 케이스는 사전-상주 사전과 같은 소스가 스트링 매칭에서 사용되는 경우, 사전-상주 사전과 같은 참조 소스내의 텍스트들의 케이스 구성과 매칭되어야 한다.
상기 입력 데이터 스트림 또는 사전-상주 사전에서의 첫번째 발생에 의해 "당연히" 결정되는 반복된 텍스트 스트링의 케이스 구성을 지니는 것을 우리가 선호할 때 절차 A가 유리하다. 예를 들어, 케이스-인센시티브 스트링 "MyFavoriteSite"가 "myfavoritesite" 이전에 발생하는 경우, "myfavoritesite"는 절차 A에서의 압축해제 이후에 "MyFavoriteSite"가 될 것이다.
도 1a 내지 도 2와 함께 설명된 바와 같이, 상기 손실 모드 압축 방법은 사전-상주 사전이 있거나 없는 텍스트-기반 압축에 적용가능하다. 압축기 및 압축해제기에 사전-상주 사전을 지니는 경우, 상기 손실 모드 압축 방법은 상기 사전 크기를 감소시키는 부가적인 이점을 지닌다. 케이스-인센시티브 압축에 있어서, 사전내의 동일한 엔트리는 문자들의 동일한 시퀀스로 구성되지만 상이한 케이스 구성을 지닌 어떤 스트링을 압축하는데 사용될 수 있다. 예를 들어, 사전내의 스트링 "abc"는 "abc" 뿐만 아니라 스트링들 "ABC", "ABc", "AbC", "aBC", "Abc", "aBc", "abC"를 압축하는데 사용될 수 있다. 따라서, 동일한 스트링이 케이스-센시티브 및 케이스-인센시티브 텍스트 스트링들 양자를 압축하는데 사용될 수 있어서, 각 텍스트 스트링의 하나의 복사본만이 상기 사전에 저장될 필요가 있다.
무손실 모드
LZ77 및 LZ78 알고리즘 계열과 같은, 기존의 무손실 압축 알고리즘을 사용하여 압축률을 개선하기 위하여 케이스 센시티비티가 사용될 수 있다. 단지 상기 압축기가 케이스-인센시티브 데이터 세그먼트들 및 케이스-센시티브 데이터 세그먼트들을 상이하게 처리하는 상기 손실 압축 방법과 달리, 무손실 압축 모드에서 상기 압축해제기는 마스크에 의해 제공되는 케이스 센시티비티에 기반하여 상기 압축된 데이터를 복원한다.
압축기 측-
압축기 측에서, 케이스-인센시티브 스트링 매칭 절차는 사전과 같은, 참조 소스내의 텍스트 스트링의 매치를 탐지하는데 사용된다. 기존의 압축 절차들에서와 같이, 상기 압축기는 매치가 탐지되는 경우에만 스트링을 부호화한다. 기존의 압축 절차들과는 달리, 케이스-정보-요소가 정상적인 부호화 요소에 첨부되는데, 이것은 베이스 요소로서 지칭될 수 있다. 예를 들어, 상기 LZ77 알고리즘 계열에서의 베이스 요소 (오프셋, 길이)는 이제 (오프셋, 길이, 케이스-정보-요소)가 되도록 변경되고, 상기 LZ78 알고리즘 계열에서의 베이스 요소 (코드워드)는 이제 (코드워드, 케이스-정보-요소)가 되도록 변경된다. 상기 케이스-정보-요소는 매칭된 스트링에 대한 탐색이 사전내의 스트링의 케이스 구성에 기반할지라도, 압축해제기가 원래의 스트링을 재구성하도록 허용하기 위하여 원래의 스트링의 케이스 구성에 관한 정보를 운반하는데 사용된다. 예를 들어, 입력 데이터가 텍스트 스트링 "tanglewood"를 포함하는 경우, 케이스-센시티브 스트링 "Tanglewood"를 포함하는 사전에서 매치가 탐지될 수 있다. "Tanglewood"의 압축된 스트링에 첨부된 상기 케이스-정보-요소를 가지고, 상기 압축해제기는 문자 "t"가 소문자라는 것을 알 수 있다.
압축해제기 측-
상기 압축해제기가 부호화된 매치를 수신하는 경우, 상기 압축해제기는 상기 베이스-요소(LZ77 알고리즘 계열에서 오프셋, 길이; LZ78 알고리즘 계열에서 코드워드)에서 운반된 정보에 따라 사전으로부터 매칭된 스트링을 인출한다. 상기 사전으로부터 인출된 스트링은 참조 스트링이다. 상기 케이스-정보-요소에서 운반된 정보를 가지고, 상기 압축기는 원래의 스트링을 재구성하기 위하여 상기 참조 스트링의 케이스 구성을 조정한다.
본 발명에 의한 상기 무손실 모드 압축 절차는 도 3에 도시되어 있다. 흐름도(300)에 도시된 바와 같이, 상기 압축기가 단계 310에서 입력 데이터에서 텍스트 스트링을 획득한 후, 상기 압축기는 단계 312에서 참조 소스에서 상기 텍스트 스트링의 매치를 탐지하기 위하여 케이스-인센시티브 스트링 매칭 절차를 수행한다. 상기 스트링에 대한 매치가 상기 참조 소스에서 탐지될 수 없는 경우, 아무런 압축도 수행되지 않는다. 단계 314에서 결정된 바와 같이 매치가 탐지되는 경우, 상기 스트링은 단계 316에서 압축된다. 케이스 구성 정보를 지닌 케이스-정보-요소는 단계 318에서 상기 압축된 스트링의 베이스 요소에 첨부된다. 상기 케이스-정보-요소 및 상기 베이스 요소 양자는 압축해제를 위해 복호기에 제공된다.
스트링 매칭에 대한 완화된 기준 때문에, 더 많은 텍스트-기반 데이터가 압축될 것이다. 이러한 이득에 대한 비용은 상기 케이스-정보-요소들을 부호화하는 오버헤드이다. 케이스-정보-요소를 부호화하는 많은 상이한 방법들이 존재한다. 단순한 방법은 N-비트 텍스트 스트링의 케이스 정보를 운반하기 위하여 N-비트 마스크를 사용하는 것이다. 상기 접근법에서, 상기 마스크내의 비트들 각각은 상기 원래의 스트링의 대응하는 위치에서의 문자가 소문자 또는 대문자인지를 나타낸다. 예를 들어, 4-비트 마스크 1010은 첫번째 및 세번째 문자들이 대문자인 것을 나타내고 반면에 두번째 및 네번째 문자들이 소문자인 것을 나타낸다. 따라서, 상기 마스크를 가지고, 상기 사전으로부터 인출된 바와 같은 참조 스트링 "abcd"는 "AbCd"로서 재구성될 수 있다. 상기 접근법을 사용하여, 상기 비트 마스크의 길이는 명시적으로 부호화될 필요는 없는데, 왜냐하면 상기 압축해제기는 이미 상기 압축해제된 스트링 자체의 길이로부터 이것을 획득할 수 있기 때문이다.
대안적으로, 가변장 부호화 방법이 상기 케이스-정보-요소를 부호화하는데 사용될 수 있다. 예를 들어, 단일 "0" 비트는 원래의 스트링이 사전으로부터 인출된 스트링과 정확하게 동일하다는 것을 나타내는데 사용될 수 있고, 3-비트 코드는 다음과 같이 케이스 구성에서의 차이들을 나타내는데 사용될 수 있다:
100 모든 문자들은 소문자이다
101 모든 문자들은 대문자이다
110 첫번째 문자를 제외한 모든 문자들은 소문자이다
111 다음에 오는 N-비트 마스크에 따라 케이스 조정이 수행된다.
상기 접근법에서, 상기 케이스 정보를 나타내기 위한 비용은 원래의 스트링이 인출된 스트링과 정확하게 동일한 경우 단지 1 비트이다. 케이스 구성에 의해 인출된 스트링들과 상이한 대부분의 다른 원래의 스트링들에 대해, 상기 비용은 3 비트이다. 일반적으로, 상기 사전이 엔트리 "myfavoritesite"를 포함한다고 가정하면, MyFavoriteSite와 같은 스트링과 10100000001000가 다음에 오는 111의 대응하는 케이스-정보-요소를 마주치는 것은 매우 드물다. 그럼에도 불구하고, 상기 케이스-정보-요소는 큰 오버헤드를 지닌다. 이 경우, 상기 부호기는 대안적인 방법이 사용되어야 하는지를 결정하기 위하여 작동중에 어떤 비용 분석을 적용할 수 있다. 예를 들어, 상기 스트링 "MyFavoriteSite"에 관한 상기 비트-마스크 오버헤드는 상기 문자 스트링내의 14 비트 플러스 "111"에서의 3 비트이기 때문에, 총 부호화된 데이터 길이는 (14+3+B)=(17+B) 비트가 되는데, B는 비트들의 단위의 베이스 요소의 길이이다. 상기 부호기는 상기 스트링을 (My)(Favorite)(Site)와 같이 3개의 부분들로 분해하는 것을 고려할 수 있고 상기 부분들을 개별적으로 부호화할 수 있다. 그러면, (상기 3개의 개별 부분들에 대한) 총 부호화된 데이터 길이는 (B+3)+(B+3)+(B+3)=(9+3*B) 비트가 된다. 그러므로 B>4 비트인 경우(보통 실제의 경우임), 전자의 선택(즉 한 유닛으로서 "MyFavoriteSite"를 부호화하는 것)은 총 비트 절감의 관점에서 후자보다 더 양호하다. 상기 예에서, 케이스-인센시티브 탐색이 없는 정상적인 부호기는 상기 스트링을 (M)(y)(F)(avorite)(S)(ite)와 같이 다수의 부분들로 분해할 것이어서 (8+8+8+B+8+B)=(32+2*B) 비트들을 초래할 것이라 는 것을 주목하는 것은 흥미롭다. 상기에 언급된 (17+B) 비트들에 비해, 그것은 상기 케이스-인센시티브 탐색이 (15+B) 비트들을 절감한다는 것을 보여준다.
더욱이, 케이스-인센시티브 스트링 매칭과 함께 상기 케이스-정보-요소가 상기 입력 데이터 스트림의 어떤 섹션들에서만 사용되고, 반면에 모든 다른 섹션들은 기존의 압축 알고리즘을 사용하여 압축되는 스위칭 방식을 구현하는 것이 또한 가능하다. 스트림 레벨에서의 명시적이고 동적인 시그널링에 의해, 상기 케이스-정보-요소내의 한 코드 포인트는 이러한 섹션들간의 토글 스위치로서 확보될 수 있다. 상기 스위치는 상기 압축된 데이터 스트림에서 작동중 부호화의 변경을 허용한다. 스위칭 결정은 히스토리에 기반할 수 있다. 예를 들어, 상기 케이스-정보-요소 및 케이스-인센시티브 비교 방법을 사용하는 것이 전체 압축률을 개선하지 않는다고 상기 압축기가 아는 경우, 그것은 케이스-센시티브 탐색이 상기 케이스-정보-요소없이 사용되는 기존의 알고리즘으로 스위칭하도록 선택할 수 있다.
상기 명시적이고 동적인 시그널링 방법은 패킷별로 구현될 수 있다. 예를 들어, 상기 입력 데이터가 패킷들의 단위로 운반되고 압축이 패킷 기준으로 수행되는 경우, 상기 압축기는 패킷내에서가 아니라, 패킷들간에 부호화 포맷을 스위칭할 것이다. 그것으로서, 시그널링에 대한 오버헤드는 단지 패킷당 1 비트가 된다. 스위칭 결정은 또한 상기에 논의된 바와 같이 히스토리에 기반할 수 있다. 대안적으로, 상기 압축기는, 한번은 기존의 알고리즘으로 그리고 다른 한번은 본 발명의 케이스-정보-요소 방법으로 각 패킷을 두번 압축하려고 시도할 수 있고, 그다음 전송을 위해 2개의 압축된 패킷들 중 더 작은 패킷을 선택할 수 있다. 하지만, 상기 동작 은 CPU 비용이 두배나 들기 때문에, CPU 리소스가 대역폭보다 더 높은 우선 순위를 갖는 경우 사용되지 않아야 한다.
상기 압축기 및 상기 압축해제기가 각각 파서를 갖고 있는 경우, 암시적이고 동적인 시그널링 방법이 사용될 수 있다. 파서는 현재의 스트링이 케이스-인센시티브 세그먼트에 속하는지를 결정하고 나타낼 수 있기 때문에, 그것은 상기에 논의된 바와 같이 두개의 부호화 포맷들간에 토글하는 스위치로서 사용될 수 있다. 상기 접근법이 상기 압축기와 상기 압축해제기간의 명시적인 시그널링을 회피할지라도, 그것은 각 종단에 파서를 필요로 한다.
대안적으로 무손실 모드는 미리-동의된 사전 데이터를 사용하여 암시적이고통계적으로 수행될 수 있다. 상기 접근법에서, 상기 사전의 어떤 부분으로부터 인출된 스트링만이 케이스-인센시티브 탐색에 의존할 것이고 상기 압축된 스트링은 그것에 첨부된 케이스-정보-요소를 지닌다. 모든 다른 스트링들은 기존의 알고리즘을 사용하여 압축될 것이다. 예를 들어, 상기 LZ77 알고리즘 계열에 있어서, 오프셋<X의 기준은 두개의 부호화 포맷들간의 토글하는 스위치로서 사용될 수 있다. 상기 LZ78 알고리즘 계열을 가지고, 코드워드 값은 이러한 스위치로서 사용될 수 있다.
도 1a 및 도 1b와 함께 설명된 바와 같은 상기 손실 압축 방법을 수행하기 위하여, 도 4에 도시된 바와 같은 압축기 구조를 사용하는 것이 가능하다. 도시된 바와 같이, 데이터 부호화 시스템(400)은 압축기(402)를 포함하는데, 압축기(402)는 입력 데이터내의 텍스트 스트링이 케이스 인센시티브한지를 결정하기 위하여 파 서(410)를 포함하고 그에 따라 CI 플래그(412)를 설정한다. 상기 파서(410)는 상기 입력 데이터를 변경없이 부호기(420)로 전달한다. 상기 부호기(420)는 상기 CI-플래그(412)에 따라 참조 소스(426)에서 상기 입력 텍스트 스트링에 대한 매치를 탐지하기 위하여 케이스-센시티브 매치 알고리즘(422) 및 케이스-인센시티브 매치 알고리즘(424)을 포함한다. 매치가 탐지된 경우, 상기 텍스트 스트링은 상기 부호기(420)에 의해 압축된다. 그렇지 않으면, 상기 텍스트 스트링은 압축되지 않는다. 압축해제기 측에서, 복호기(480)는 상기 압축된 데이터에 기반하여 사전(482)으로부터 상기 텍스트 스트링을 단순히 인출한다.
도 2와 함께 설명된 바와 같이 상기 손실 압축 방법을 수행할 수 있는 압축기가 도 5에 도시되어 있다. 도시된 바와 같이, 데이터 부호화 시스템(500)은 압축기(502)를 포함하는데, 상기 압축기(502)는 입력 데이터내의 데이터 세그먼트를 전 처리하기 위한 케이스 변환기(514) 및 파서(510)를 포함한다. 현재의 바이트가 케이스-인센시티브 세그먼트에 속한다고 상기 파서(510)가 결정하는 경우, 상기 케이스 변환기(514)는 상기 바이트를 타깃 케이스로 변환한다. 상기 케이스-변환된 데이터는 부호기(520)로 전달된다. 도 4에 도시된 부호기(420)와는 달리, 상기 부호기(520)는 참조 소스(526)에서 케이스-변환된 텍스트 스트링에 대한 매치를 탐지하기 위한 케이스-센시티브 매치 알고리즘(522)만을 구비한다. 상기 부호기(520)는 매치가 탐지되는 경우 상기 텍스트 스트링을 압축한다. 압축해제기 측에서, 복호기(580)는 상기 압축된 데이터에 기반하여 사전(582)으로부터 상기 텍스트 스트링을 단순히 인출한다.
본 발명에 의한 상기 무손실 압축 방법은 도 6에 도시된 바와 같은 압축기에서 수행될 수 있다. 도시된 바와 같이, 데이터 부호화 시스템(600)은 압축기(602)를 포함하는데, 상기 압축기(602)는 스트링 매칭을 위한 케이스-인센시티브 매치 알고리즘(624)을 사용하는, 부호기(620)를 포함한다. 상기 부호기(620)는 압축된 데이터에 케이스-정보-요소와 함께 베이스-요소를 제공하기 위하여 매치가 탐지되는 경우 상기 텍스트 스트링에 케이스-정보-요소를 첨부한다. 압축해제기 측에서, 복호기(680)는 아무런 케이스-정보-요소도 지정되지 않은 경우 압축된 데이터에 기반하여 사전(682)으로부터 텍스트 스트링을 단순히 인출한다. 그렇지 않으면, 상기 텍스트 스트링을 검색한 이후에, 상기 케이스-정보-요소에 기반하는 케이스 마스크(684)가 원래의 텍스트 스트링의 케이스 구성을 복원하는데 사용된다.
상기 압축기 측으로부터 상기 압축해제기 측으로 송신된 데이터가 압축해제되지 않고 상기 복호기로 통과될, 압축되지 않은 데이터를 포함할 수 있다는 것은 주목되어야 한다. 더욱이, 부호기에 의해 참조 소스와 매칭된 텍스트 스트링이 전송 대역폭을 절감하는 어떤 알고리즘을 사용하여 압축될 것이라는 것은 이해된다. 예를 들어, 상기 부호기는 참조에 기반하여 상기 복호기가 동일한 텍스트 스트링을 인출하도록 허용하기 위하여 상기 입력 텍스트 스트링을 상기 사전에 대한 참조로 대체할 수 있다. 상기 참조가 형성되는 방법은 상기 알고리즘에 의존하고 본 발명의 범위를 넘어선다.
본 발명은 장치내의 메모리 소비 또는 데이터 전송의 대역폭이 중요한 경우 유용하다. 따라서, 본 발명에 의한 상기 손실 및 무손실 방법들은 HTML, 다목적 인 터넷 메일 확장(MIME: Multipurpose Internet Mail Extensions)과 같은 텍스트-기반 인터넷 애플리케이션 데이터 및 HTTP, 실시간 스트리밍 프로토콜(RSTP: Real Time Streaming Protocol), 세션 개시 프로토콜(SIP: Session Initiation Protocol)과 같은 애플리케이션 데이터를 압축하는데 특히 유용하다. 예를 들어, 도 4 내지 도 6에 도시된 바와 같은 압축기는 도 7에 도시된 통신 네트워크내의 다양한 요소들로 구현될 수 있다. 도 7에 도시된 바와 같이, 일반 패킷 무선 서비스(GPRS: General Packet Radio Service) 네트워크(800)는 이동 단말기(810), 무선 액세스 네트워크(RAN: Radio Access Network)내의 기지국(820), 서빙 GPRS 지원 노드(SGSN: Serving GPRS Support Node)(830) 및 데이터 네트워크(860)와 통신하기 위하여 GPRS 기반 구조내의 GPRS 백본 네트워크(840)에 의해 링크된 게이트웨이 GPRS 지원 노드(GGSN: Gateway GPRS Support Node)(850)를 포함한다. 상기 이동국(810)은 인터넷 데이터/메시지들을 압축하거나 압축해제하기 위한 압축기(812) 및 압축해제기(814)를 구비한다. 마찬가지로, 상기 SGSN(830)는 압축기(832) 및 압축해제기(834)를 구비하고, 반면에 상기 GGSN(850)는 압축기(852) 및 압축해제기(854)를 구비한다. 보통 SGSN(830) 또는 GGSN(850) 중 하나만이 압축기/압축해제기 쌍을 구비한다는 것을 주목하라. 상기 압축기들(812, 832 및 852)은 도 1a, 도 1b, 도 2 및 도 3과 함께 설명된 바와 같은 방법들을 사용하여, 도 4, 도 5 및 도 6과 함께 설명된 바와 같은 압축기들과 유사하다. 마찬가지로, 상기 압축해제기들(814, 834 및 854)은 도 4, 도 5 및 도 6과 함께 설명된 바와 같은 압축해제기들과 유사하다.
본 발명에 의한 텍스트-기반 데이터 압축 방법들은 더 양호한 압축률 및 더 적은 메모리 소비를 달성하도록 기존의 데이터 압축 알고리즘들을 개선할 수 있다. 상기 손실 모드의 주요 이점들은 다음을 포함한다: 1) 기존의 알고리즘들과 본 발명의 무손실 모드의 압축률보다 더 높은 압축률; 2) 사전에 대한 적은 메모리 소비; 3) 기존의 부호기들은 사소한 변경으로 또는 변경없이 사용될 수 있음; 그리고 4) 기존의 복호기들과의 호환성. 상기 무손실 모드의 주요 이점들은 다음을 포함한다: 1) 압축해제된 데이터는 원래의 데이터와 비트 방식으로 동일함; 2) 기존의 알고리즘들의 압축률보다 더 높은 압축률; 그리고 3) 기존의 부호기들 및 복호기들이 사소한 변경으로 사용될 수 있다.
도 7에 도시된 바와 같은 네트워크 요소들이 범용 이동 통신 시스템(UMTS: Universal Mobile Telecommunication System) 패킷 네트워크 구조에서의 네트워크 요소들일 수 있다는 것은 주목되어야 한다. 따라서, 상기 이동 단말기(810)는 사용자 장비(UE: User Equipment)일 수 있다; 상기 기지국(820)은 UMTS 지상 무선 액세스 네트워크(UTRAN: UMTS Terrestrial Radio Access Network)내의 노드 B이다; 그리고 SGSN(830) 및 GGSN(850)는 UMTS 기반 구조내의 3G 요소들이다.
따라서, 본 발명이 본 발명의 바람직한 실시예에 대해 설명되었을지라도, 본 발명의 범위를 벗어나지 않고 본 발명의 형태 및 상세에 있어서의 상기한 그리고 다양한 다른 변경들, 생략들 및 변형이 행해질 수 있다는 것은 당업자에 의해 이해될 것이다.
Claims (24)
- 부호화된 데이터를 제공하기 위하여 데이터 세그먼트들의 형태로 통신 데이터를 부호화하는 방법에 있어서,참조 소스에서 데이터 세그먼트에 대한 매치(match)를 탐지하는 단계; 및상기 매치가 탐지된 경우 상기 부호화된 데이터에 압축된 데이터 세그먼트를 제공하기 위하여 상기 데이터 세그먼트를 압축하는 단계를 포함하며,상기 탐지는 상기 데이터 세그먼트의 대소문자 구별성(case sensitivity)에 기반하는 방식으로 수행되는 것을 특징으로 하는 방법.
- 제1항에 있어서, 데이터 세그먼트는 적어도 하나의 데이터 유닛을 포함하고, 상기 데이터 세그먼트는 대소문자를 구별하거나(case sensitive) 대소문자를 구별하지 아니하며(case insensitive), 상기 적어도 하나의 데이터 유닛이 대소문자를 구별하지 아니하는 경우 상기 데이터 세그먼트는 대소문자를 구별하지 않는 것을 특징으로 하는 방법.
- 제2항에 있어서, 상기 데이터 세그먼트가 대소문자를 구별하지 아니하는 경우, 상기 데이터 세그먼트를 변경하여 변경된 데이터 세그먼트를 제공함으로써, 상기 참조 소스에서의 매치의 탐지가 상기 변경된 데이터 세그먼트에 기반하도록 하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제2항에 있어서, 상기 데이터 세그먼트는 텍스트 스트링을 포함하고 상기 적어도 하나의 데이터 유닛 각각은 문자를 포함하며, 상기 문자는 제1 케이스 구성 또는 제2 케이스 구성으로 되어 있고, 상기 탐지는 상기 데이터 세그먼트가 대소문자를 구별하지 아니하는 경우의 방식으로 수행되고,상기 적어도 하나의 데이터 유닛 각각에서의 상기 문자의 케이스 구성을 나타내는 정보를 상기 부호화된 데이터에 제공하여 상기 압축된 데이터 세그먼트가 상기 제공된 정보에 기초하여 압축해제되도록 하는 단계를 더 포함하는 것을 특징으로 하는 방법.
- 제4항에 있어서, 상기 텍스트 스트링은 다수의 문자들을 포함하고, 상기 제공된 정보는 다수의 데이터 비트들을 포함하며, 상기 다수의 데이터 비트들 각각은 상기 다수의 문자들 중 하나에 대응하고, 각 데이터 비트에는 상기 대응하는 문자가 상기 제1 케이스 구성인지 또는 상기 제2 케이스 구성인지를 나타내는 값이 할당되는 것을 특징으로 하는 방법.
- 제4항에 있어서, 상기 제공된 정보는 제1 케이스 구성으로 되어 있는 상기 적어도 하나의 데이터 유닛 각각에서의 상기 문자를 나타내는 값을 지닌 코드를 포함하는 것을 특징으로 하는 방법.
- 제6항에 있어서, 상기 제1 케이스 구성은 소문자이고 상기 제2 케이스 구성 은 대문자인 것을 특징으로 하는 방법.
- 제6항에 있어서, 상기 제1 케이스 구성은 대문자이고 상기 제2 케이스 구성은 소문자인 것을 특징으로 하는 방법.
- 제4항에 있어서, 상기 텍스트 스트링은 선두 문자 및 적어도 하나의 후속 문자를 포함하는 복수의 문자들을 포함하고, 상기 제공된 정보는 제1 케이스 구성으로 된 상기 텍스트 스트링에서 단지 상기 선두 문자를 나타내는 코드를 포함하는 것을 특징으로 하는 방법.
- 제9항에 있어서, 상기 제1 케이스 구성은 대문자이고 상기 제2 케이스 구성은 소문자인 것을 특징으로 하는 방법.
- 부호화된 데이터를 제공하기 위하여 데이터 세그먼트들의 형태로 통신 데이터를 부호화하기 위한 압축기에 있어서,참조 소스;상기 참조 소스에서 데이터 세그먼트의 매치를 탐지하기 위한 비교 수단; 및상기 부호화된 데이터에 압축된 데이터 세그먼트를 제공하기 위하여 상기 매치가 탐지된 경우 상기 데이터 세그먼트를 압축하기 위한 부호화 모듈을 포함하고,상기 비교 수단은 상기 데이터 세그먼트의 대소문자 구별성에 기초하여 상기 매치를 탐지하기 위한 매칭 알고리즘을 지니는 것을 특징으로 하는 압축기.
- 제11항에 있어서, 상기 데이터 세그먼트에 응답하는 파서로서, 상기 데이터 세그먼트의 대소문자 구별성을 결정하고 상기 비교 수단에 상기 데이터 세그먼트의 대소문자 구별성을 나타내는 정보를 제공하기 위한 파서를 더 포함하는 것을 특징으로 하는 압축기.
- 제12항에 있어서, 상기 제공된 정보는 상기 비교 수단에 전달된 데이터 플래그에 포함되는 것을 특징으로 하는 압축기.
- 제11항에 있어서, 상기 데이터 세그먼트는 적어도 하나의 문자를 포함하고 상기 적어도 하나의 문자 각각은 제1 케이스 구성 또는 제2 케이스 구성으로 되어 있으며, 상기 압축기는,상기 데이터 세그먼트에 응답하는 파서로서 상기 데이터 세그먼트의 대소문자 구별성을 결정하기 위한 파서; 및상기 데이터 세그먼트에 응답하는 변환기 모듈로서, 상기 비교 수단에 케이스-변환된 데이터 세그먼트를 제공하기 위하여 상기 데이터 세그먼트내의 상기 적어도 하나의 문자 각각을 제1 케이스 구성으로 변환하여 상기 비교 수단이 상기 케이스-변환된 데이터 세그먼트에 기초하여 상기 참조 소스에서 상기 매치를 탐지하도록 허용하는 변환기 모듈을 더 포함하는 것을 특징으로 하는 압축기.
- 제11항에 있어서, 상기 데이터 세그먼트는 적어도 하나의 문자를 포함하고 상기 적어도 하나의 문자 각각은 제1 케이스 구성 또는 제2 케이스 구성으로 되어 있으며,상기 비교 수단은 상기 데이터 세그먼트가 대소문자를 구별하지 아니하는 것처럼 상기 참조 소스에서 상기 데이터 세그먼트의 매치를 탐지하고,상기 적어도 하나의 문자 각각의 케이스 구성을 나타내는 정보가 상기 부호화된 데이터에 제공되어 상기 부호화된 데이터로부터의 상기 압축된 데이터 세그먼트가 상기 제공된 정보에 기초하여 압축해제되도록 허용하는 것을 특징으로 하는 압축기.
- 데이터 세그먼트의 형태로 통신 데이터를 수신하고 송신하기에 적합한, 통신 네트워크내의 네트워크 요소에 있어서,송신용의 부호화된 데이터를 제공하기 위하여 상기 수신된 통신 데이터를 부호화하기 위한 압축기를 포함하고, 상기 압축기는,참조 소스;상기 참조 소스에서 데이터 세그먼트의 매치를 탐지하기 위한 알고리즘; 및상기 부호화된 데이터에 압축된 데이터 세그먼트를 제공하기 위하여 상기 매치가 탐지된 경우 상기 데이터 세그먼트를 압축하기 위한 부호화 모듈을 포함하며,상기 알고리즘은 상기 데이터 세그먼트의 대소문자 구별성에 기초하여 상기 매치를 탐지하는 것을 특징으로 하는 네트워크 요소.
- 제16항에 있어서, 이동 단말기를 포함하는 것을 특징으로 하는 네트워크 요소.
- 제16항에 있어서, 상기 통신 네트워크의 기반 구조에 지원 노드를 포함하는 것을 특징으로 하는 네트워크 요소.
- 데이터 세그먼트들의 형태로 통신 데이터를 부호화하기 위한 데이터 부호화 시스템에 있어서,상기 통신 데이터를 부호화하기 위한 압축기; 및부호화된 데이터를 복호화하기 위한 압축해제기를 포함하고,상기 압축기는,참조 소스;상기 참조 소스에서 데이터 세그먼트의 매치를 탐지하기 위한 알고리즘; 및압축된 데이터 세그먼트를 제공하기 위하여 상기 매치가 탐지된 경우 상기 데이터 세그먼트를 압축하기 위한 부호화 모듈을 포함하며,상기 알고리즘은 상기 데이터 세그먼트의 대소문자 구별성에 기초하여 상기 매치를 탐지하는 것을 특징으로 하는 데이터 부호화 시스템.
- 제19항에 있어서, 상기 압축해제기는,추가 참조 소스; 및상기 추가 참조 소스로부터 상기 데이터 세그먼트를 탐지하기 위한 추가 알고리즘을 포함하는 것을 특징으로 하는 데이터 부호화 시스템.
- 제19항 또는 제20항에 있어서, 상기 데이터 세그먼트에 응답하는 파서로서, 상기 데이터 세그먼트의 대소문자 구별성을 결정하고 상기 매칭 알고리즘에 상기 데이터 세그먼트의 대소문자 구별성을 나타내는 정보를 제공하기 위한 파서를 더 포함하는 것을 특징으로 하는 데이터 부호화 시스템.
- 제21항에 있어서, 상기 제공된 정보는 매칭 알고리즘에 전달된 데이터 플래그에 포함되는 것을 특징으로 하는 데이터 부호화 시스템.
- 제19항 또는 제20항에 있어서, 상기 데이터 세그먼트는 적어도 하나의 문자를 포함하고 상기 적어도 하나의 문자 각각은 제1 케이스 구성 또는 제2 케이스 구성으로 되어 있으며, 상기 압축기는,상기 데이터 세그먼트에 응답하는 파서로서 상기 데이터 세그먼트의 대소문자 구별성을 결정하기 위한 파서; 및상기 데이터 세그먼트에 응답하는 변환기 모듈로서, 상기 매칭 알고리즘에 케이스-변환된 데이터 세그먼트를 제공하기 위하여 상기 데이터 세그먼트내의 상기 적어도 하나의 문자 각각을 제1 케이스 구성으로 변환하여 상기 매칭 알고리즘이 상기 케이스-변환된 데이터 세그먼트에 기초하여 상기 참조 소스에서 상기 매치를 탐지하도록 허용하는 변환기 모듈을 포함하는 것을 특징으로 하는 데이터 부호화 시스템.
- 제19항에 있어서, 상기 데이터 세그먼트는 적어도 하나의 문자를 포함하고 상기 적어도 하나의 문자 각각은 제1 케이스 구성 또는 제2 케이스 구성으로 되어 있으며,상기 압축기는 상기 데이터 세그먼트가 대소문자를 구별하지 아니하는 것처럼 상기 참조 소스에서 상기 데이터 세그먼트의 매치를 탐지하고,상기 적어도 하나의 문자 각각의 케이스 구성을 나타내는 정보가 상기 압축된 데이터에 제공되어 상기 압축된 데이터로부터의 상기 압축된 데이터 세그먼트가 상기 제공된 정보에 기초하여 압축해제되도록 허용하는 것을 특징으로 하는 데이터 부호화 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/361,805 | 2003-02-07 | ||
US10/361,805 US6750791B1 (en) | 2003-02-07 | 2003-02-07 | Method and device for text data compression |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050098897A KR20050098897A (ko) | 2005-10-12 |
KR100732664B1 true KR100732664B1 (ko) | 2007-06-27 |
Family
ID=32393185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057014498A KR100732664B1 (ko) | 2003-02-07 | 2004-02-04 | 텍스트 데이터 압축을 위한 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6750791B1 (ko) |
EP (1) | EP1590889A4 (ko) |
KR (1) | KR100732664B1 (ko) |
CN (1) | CN1748369A (ko) |
WO (1) | WO2004070505A2 (ko) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7079054B2 (en) * | 2004-06-04 | 2006-07-18 | Broadcom Corporation | V.42bis standalone hardware accelerator and architecture of construction |
KR100789774B1 (ko) * | 2005-10-21 | 2007-12-28 | 주식회사 비즈위너스 | 압축 코드, 문자 압축 방법 및 장치 |
EP1972150A2 (en) * | 2006-01-12 | 2008-09-24 | Gary Demos | Efficient bit-exact lossless image coding residual system |
US20070276912A1 (en) * | 2006-05-05 | 2007-11-29 | Mike Rybak | Apparatus and method for forming and communicating a responsive data message |
US7817630B2 (en) * | 2006-12-18 | 2010-10-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Method, communications node, and memory for dynamic dictionary updating and optimization for compression and decompression of messages |
US7836396B2 (en) * | 2007-01-05 | 2010-11-16 | International Business Machines Corporation | Automatically collecting and compressing style attributes within a web document |
US7953881B1 (en) * | 2008-06-12 | 2011-05-31 | Juniper Networks, Inc. | Network characteristic-based compression of network traffic |
US7868789B1 (en) * | 2009-06-28 | 2011-01-11 | Sap Ag | Dictionary-based order-preserving string compression for main memory column stores |
DE102009059939A1 (de) * | 2009-12-22 | 2011-06-30 | Giesecke & Devrient GmbH, 81677 | Verfahren zum Komprimieren von Bezeichnern |
WO2013186074A1 (en) * | 2012-06-13 | 2013-12-19 | Telefonaktiebolaget L M Ericsson (Publ) | Software upgrading in a network |
US9912624B2 (en) | 2015-09-25 | 2018-03-06 | International Business Machines Corporation | Lossy text source coding by word length |
CN113114266B (zh) * | 2021-04-30 | 2022-12-13 | 上海智大电子有限公司 | 一种综合监控***实时数据化简压缩方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4494150A (en) | 1982-07-13 | 1985-01-15 | International Business Machines Corporation | Word autocorrelation redundancy match facsimile compression for text processing systems |
US5414650A (en) | 1993-03-24 | 1995-05-09 | Compression Research Group, Inc. | Parsing information onto packets using context-insensitive parsing rules based on packet characteristics |
US6411227B1 (en) | 2000-08-15 | 2002-06-25 | Seagate Technology Llc | Dual mode data compression for operating code |
US6434168B1 (en) | 1996-06-07 | 2002-08-13 | Nokia Telecommunications Oy | Data compression on a data connection |
US6459392B1 (en) | 2001-01-19 | 2002-10-01 | International Business Machines Corporation | Technique for encoding a sequence of periodic byte values with vertical correlation |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4906991A (en) * | 1988-04-29 | 1990-03-06 | Xerox Corporation | Textual substitution data compression with finite length search windows |
WO1995027335A1 (fr) * | 1994-04-01 | 1995-10-12 | Sony Corporation | Methode et dispositif de codage et de decodage d'informations, methode de transmission d'informations et support d'enregistrement de l'information |
EP0720362A3 (en) * | 1994-12-29 | 2000-12-13 | Thomson Consumer Electronics, Inc. | Television on-screen display system utilizing text data compression |
US6415061B1 (en) | 1997-06-13 | 2002-07-02 | Cisco Technology, Inc. | Method of updating dictionaries in a data transmission system using data compression |
US6400289B1 (en) | 2000-03-01 | 2002-06-04 | Hughes Electronics Corporation | System and method for performing lossless data compression and decompression |
US6388584B1 (en) | 2000-03-16 | 2002-05-14 | Lucent Technologies Inc. | Method and apparatus for data compression of network packets |
US20020107887A1 (en) * | 2001-02-06 | 2002-08-08 | Cousins Robert E. | Method for compressing character-based markup language files |
US6577254B2 (en) * | 2001-11-14 | 2003-06-10 | Hewlett-Packard Development Company, L.P. | Data compression/decompression system |
-
2003
- 2003-02-07 US US10/361,805 patent/US6750791B1/en not_active Expired - Lifetime
-
2004
- 2004-02-04 EP EP04707989A patent/EP1590889A4/en not_active Ceased
- 2004-02-04 KR KR1020057014498A patent/KR100732664B1/ko not_active IP Right Cessation
- 2004-02-04 WO PCT/IB2004/000283 patent/WO2004070505A2/en active Application Filing
- 2004-02-04 CN CNA200480003597XA patent/CN1748369A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4494150A (en) | 1982-07-13 | 1985-01-15 | International Business Machines Corporation | Word autocorrelation redundancy match facsimile compression for text processing systems |
US5414650A (en) | 1993-03-24 | 1995-05-09 | Compression Research Group, Inc. | Parsing information onto packets using context-insensitive parsing rules based on packet characteristics |
US6434168B1 (en) | 1996-06-07 | 2002-08-13 | Nokia Telecommunications Oy | Data compression on a data connection |
US6411227B1 (en) | 2000-08-15 | 2002-06-25 | Seagate Technology Llc | Dual mode data compression for operating code |
US6459392B1 (en) | 2001-01-19 | 2002-10-01 | International Business Machines Corporation | Technique for encoding a sequence of periodic byte values with vertical correlation |
Also Published As
Publication number | Publication date |
---|---|
US6750791B1 (en) | 2004-06-15 |
CN1748369A (zh) | 2006-03-15 |
EP1590889A2 (en) | 2005-11-02 |
WO2004070505A2 (en) | 2004-08-19 |
WO2004070505A3 (en) | 2005-05-06 |
KR20050098897A (ko) | 2005-10-12 |
EP1590889A4 (en) | 2006-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6606040B2 (en) | Method and apparatus for adaptive data compression | |
US6883035B2 (en) | System and method for communicating with temporary compression tables | |
US6633242B2 (en) | Entropy coding using adaptable prefix codes | |
US7051126B1 (en) | Hardware accelerated compression | |
US6985965B2 (en) | Static information knowledge used with binary compression methods | |
US6100824A (en) | System and method for data compression | |
US7821427B2 (en) | Data processing system and method | |
KR100732664B1 (ko) | 텍스트 데이터 압축을 위한 방법 및 장치 | |
US7640362B2 (en) | Adaptive compression in an edge router | |
US6963587B2 (en) | Communication system and method utilizing request-reply communication patterns for data compression | |
CA2428788C (en) | Static information knowledge used with binary compression methods | |
US6493766B1 (en) | Method, client device, server and article of manufacture for compressing universal resource identifiers using left/right string substitution | |
US6668092B1 (en) | Memory efficient variable-length encoding/decoding system | |
US7023365B1 (en) | System and method for compression of words and phrases in text based on language features | |
EP1334559A2 (en) | Communication system and method utilizing request-reply communication patterns for data compression | |
EP2113845A1 (en) | Character conversion method and apparatus | |
Fong et al. | Multimedia applications of self-synchronizing T-codes | |
Das et al. | Design an Algorithm for Data Compression using Pentaoctagesimal SNS | |
JPS62209948A (ja) | デ−タ圧縮伝送方法 | |
GB2360916A (en) | Compression encoder which transmits difference between new data word and recent data word where this falls within a threshold | |
Mittal | A Study of Lossless Data Compression Techniques for Energy Saving |
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: 20130603 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140605 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150519 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160517 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170522 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |