KR100245036B1 - 개선된 모뎀용 부호화 시스템 및 그 코드워드 생성방법 - Google Patents
개선된 모뎀용 부호화 시스템 및 그 코드워드 생성방법 Download PDFInfo
- Publication number
- KR100245036B1 KR100245036B1 KR1019970027163A KR19970027163A KR100245036B1 KR 100245036 B1 KR100245036 B1 KR 100245036B1 KR 1019970027163 A KR1019970027163 A KR 1019970027163A KR 19970027163 A KR19970027163 A KR 19970027163A KR 100245036 B1 KR100245036 B1 KR 100245036B1
- Authority
- KR
- South Korea
- Prior art keywords
- codeword
- string matching
- pointer
- code table
- codewords
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/497—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems by correlative coding, e.g. partial response coding or echo modulation coding transmitters and receivers for partial response systems
-
- 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)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
본 발명은 입력되는 심볼들에 대한 중첩 스트링 매칭 기법을 이용하여 코드 테이블에 등록하고자 하는 코드워드를 고속 생성함으로써 부호화 효율을 개선할 수 있도록 한 개선된 모뎀용 부호화 시스템에 관한 것으로, 이를 위하여 본 발명은, 부호화를 위해 아날로그 신호를 디지탈 신호로 변환한 변환 데이터를 저장하는 메모리; 메모리로부터 제공되는 n 비트의 입력 심볼에 대해 제 1 포인터를 이용한 스트링 매칭을 통해 n 비트의 코드워드를 생성하여 코드 테이블의 소정 어드레스에 등록하는 제 1 스트링 매칭 블록; 제 1 포인터에 의한 n 번의 스트링 매칭이 수행된 문자열중 처음 스트링 매칭이 수행된 제 1 포인터의 위치에 제 2 포인터를 위치시켜 새로운 p 비트의 패싱 코드워드를 생성하여 코드 테이블의 소정 어드레스에 등록하는 제 2 스트링 매칭 블록; 스트링 매칭에 따른 코드워드 생성 등록 및/또는 갱신 등록과 병행하여 n 비트의 입력 데이터와 코드 테이블에 등록된 다수의 코드워드들간의 매칭을 수행하여 n 비트 입력 데이터에 대응하는 해당 코드워드의 인덱스 정보를 인출하여 가변길이로 전송채널에 송신하는 엔코딩 블록; n 비트의 입력 데이터 부호화가 수행될 때마다 발생되는 코드워드 인출 요구신호에 의거하여, 각 n 비트 입력 데이터에 대응하는 해당 코드워드의 부호화 사용횟수를 카운트하여 저장하는 카운터; 및 n 비트 입력 심볼에 대한 스트링 매칭이 수행될 때마다 포인터 제어신호를 발생하여 제 2 스트링 매칭 블록으로 제공하고, 코드 테이블에서 데이터 풀상태가 발생될 때 등록된 각 코드워드들의 총 사용횟수 카운트값에 의거하여 삭제하고자 하는 갱신대상 코드워드를 결정하며, 이 결정된 갱신대상 코드워드를 코드 테이블내의 해당 어드레스에서 삭제하는 제어 블록을 포함한다.
Description
본 발명은 모뎀용 부호화 시스템에 관한 것으로, 더욱 상세하게는 CCITT V.42 비스(bis)에서 규정하고 있는 Lempel - Ziv coding(LZC) 알고리즘에 적용하는 데 적합한 모뎀용 부호화 시스템에서 이용되는 코드 테이블에 등록하고자 하는 코드워드를 스트링 매칭을 통해 고속으로 생성하는 데 적합한 모뎀용 부호화 시스템 및 그 코드워드 생성 방법에 관한 것이다.
잘 알려진 바와같이, 디지털 신호의 전송은 아날로그 신호의 전송에 비해 고화질의 영상 이미지를 전달할 수 있다. 그러나, 일련의 이미지 프레임을 포함하는 이미지 신호가 디지털 형태로 표현될 때 아날로그 신호에 비해 상대적으로 많은 데이터를 발생하게 된다.
따라서, 디지탈 데이터를 전송하는 통신 모뎀에서는 유효 주파수 대역이 한정되어 있으므로, 제한된 채널폭을 통해 원하는 양의 데이터를 전송하기 위하여 가변길이 부호화, 고정길이 부호화 등의 압축기법을 이용하여 전송하고자 하는 데이터를 압축 부호화하고 있다.
여기에서, 가변길이 부호화는 상대적으로 발생빈도가 많은 심볼들에 대해 짧은 길이의 부호를 할당하고 발생빈도가 적은 심볼들에 대해서는 긴 길이의 부호를 할당함으로써 데이터를 압축하는 것이고, 고정길이 부호화는 모든 심볼들에 대해 고정된 길이의 부호를 할당하여 데이터를 압축하는 것이다.
이때, 가변길이 부호화 또는 고정길이 부호화를 수행하는 경우, 스트링 매칭을 통해 준비된 코드 테이블에서 입력 심볼에 대응하는 코드워드를 탐색하여 그에 상응하는 코드워드 인덱스를 전송하는 데, 이때 부호화 효율은 입력 데이터와 코드 테이블 사이의 스트링 매칭이 결정한다고 볼 수 있다. 여기에서, 본 발명은 고정길이 부호화 기법의 개선에 관련된다.
한편, 본 발명에 관련되는 LZC 코드는 입력 데이터의 통계적 특성을 미리 알 수 없을 때 입력 데이터의 유사성을 이용하여 부호화를 수행하는 유니버셜 부호화 기법이다. 이러한 부호화 기법은, 예를들면 모뎀 등을 이용한 양방향 통신 등과 같이 데이터의 통계적 특성을 미리 알 수 없는 상황에서의 데이터 압축기법으로써 널리 이용되고 있다.
즉, 상기한 부호화 기법은 부호화를 위해 입력되는 심볼(즉, 문자열)들은 스트링 매칭(즉, 문자열 마추기)을 통해 코드 테이블의 소정 어드레스에 코드워드로써 등록됨과 동시에 n 비트의 입력 데이터(심볼)에 상응하는 기등록된 코드워드의 인덱스 정보를 고정길이로 부호화하여 데이터를 압축한다. 따라서, 이러한 부호화 기법에 있어서는 코드 테이블의 최적화가 압축효율을 결정하는 큰 요인중의 하나가 된다.
한편, 종래 방법에서는 입력 데이터의 스트링 매칭을 한 심볼씩 받아들이면서 연속적으로 수행하는 데, 이와같은 스트링 과정이 어느 정도 지난 후에도 한 심볼씩 받아들여 스트링 매칭을 수행한다는 것은 데이터의 압축 효율을 저하시키는 한 원인이 되고 있다. 즉, 연속적으로 스트링 매칭이 수행된 문자열(즉, 적어도 두 번의 스트링 매칭이 수행된 문자열)에 존재하는 다른 코드워드(즉, 매칭되지 않은 문자열)를 간과하고 지나치는 경우가 흔히 발생함으로써, 결과적으로 부호화의 효율이 저하된다는 문제가 있다.
본 발명은 상기한 종래기술의 문제점을 해결하기 위한 것으로, 입력되는 심볼들에 대한 중첩 스트링 매칭 기법을 이용하여 코드 테이블에 등록하고자 하는 코드워드를 고속 생성함으로써 부호화 효율을 개선할 수 있는 개선된 모뎀용 부호화 시스템을 제공하는 데 그 목적이 있다.
본 발명의 다른 목적은 입력되는 심볼들에 대한 중첩 스트링 매칭을 이용하여 모뎀용 부호화 시스템에서 사용되는 코드 테이블에 등록하고자 하는 코드워드를 보다 긴 길이를 갖는 코드워드들로 갱신해 가면서 고속으로 생성할 수 있는 모뎀용 부호화 시스템에서의 코드워드 생성 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 일관점에 따른 본 발명은, 비트스트림 형태의 입력 디지탈 데이터와 코드 테이블내 코드워드들간의 스트링 매칭을 이용하여 디지탈 데이터를 압축 부호화하는 모뎀용 부호화 시스템에 있어서, 상기 코드 테이블은, 0 및 1 의 기본코드가 소정 어드레스에 각각 등록된 상태로 초기화되며, 부호화를 위해 아날로그 신호를 디지탈 신호로 변환한 변환 데이터를 저장하는 메모리; 상기 기본코드보다 적어도 큰 비트길이를 가지며 상기 메모리로부터 제공되는 n 비트의 입력 심볼에 대해 제 1 포인터를 이용한 스트링 매칭을 통해 n 비트의 코드워드를 생성하여 상기 코드 테이블의 소정 어드레스에 등록하고, 스트링 매칭이 수행될 때마다 그에 상응하는 출력신호를 발생하는 제 1 스트링 매칭 블록; 상기 제 1 포인터에 의해 기설정된 n 번의 스트링 매칭이 수행될 때마다 제공되는 포인터 이동 제어신호에 응답하여, 상기 제 1 포인터에 의한 n 번의 스트링 매칭이 수행된 문자열중 처음 스트링 매칭이 수행된 상기 제 1 포인터의 위치에 제 2 포인터를 위치시켜 새로운 p 비트의 패싱 코드워드를 생성하여 상기 코드 테이블의 소정 어드레스에 등록하고, 스트링 매칭이 수행될 때마다 그에 상응하는 출력신호를 발생하는 제 2 스트링 매칭 블록; 상기 스트링 매칭에 따른 코드워드 생성 등록 및/또는 갱신 등록과 병행하여 상기 n 비트의 입력 데이터와 상기 코드 테이블에 등록된 다수의 코드워드들간의 매칭을 수행하여 상기 n 비트 입력 데이터에 대응하는 해당 코드워드의 인덱스 정보를 인출하여 가변길이로 전송채널에 송신하는 엔코딩 블록; 상기 엔코딩 블록에서 n 비트의 입력 데이터 부호화가 수행될 때마다 발생되는 코드워드 인출 요구신호에 의거하여, 각 n 비트 입력 데이터에 대응하는 해당 코드워드의 부호화 사용횟수를 카운트하여 저장하는 카운터; 및 상기 n 비트 입력 심볼에 대한 스트링 매칭이 수행될 때마다 상기 제 1 스트링 매칭 블록으로부터 제공되는 출력신호에 의거하여 상기 포인터 제어신호를 발생하여 상기 제 2 스트링 매칭 블록으로 제공하고, 상기 코드 테이블에서 데이터 풀상태가 발생될 때 등록된 각 코드워드들의 총 사용횟수 카운트값에 의거하여 삭제하고자 하는 갱신대상 코드워드를 결정하며, 이 결정된 갱신대상 코드워드를 상기 코드 테이블내의 해당 어드레스에서 삭제하는 제어 블록으로 이루어진 모뎀용 부호화 시스템을 제공한다.
상기 목적을 달성하기 위한 다른 관점에 따른 본 발명은, 비트스트림 형태의 입력 디지탈 데이터와 코드 테이블내 코드워드들간의 스트링 매칭을 이용하여 디지탈 데이터를 압축 부호화하는 모뎀용 부호화 시스템에서 코드워드를 생성하는 방법에 있어서, 상기 부호화 시스템이 초기화될 때, 0 및 1 의 기본코드를 소정 어드레스에 각각 등록하여 상기 코드 테이블을 초기화시키는 제 1 과정; 상기 기본코드보다 적어도 큰 비트길이를 가지며 상기 입력 디지탈 데이터의 n 비트 입력 심볼에 대해 제 1 포인터를 이용한 스트링 매칭을 통해 n 비트의 코드워드를 생성하여 상기 코드 테이블의 소정 어드레스에 등록하는 제 2 과정; 상기 제 1 포인터를 다음 위치로 이동해 가면서 상기 제 1 포인터를 이용한 스트링 매칭이 기설정된 n 횟수 만큼 수행될 때까지 상기 제 2 과정을 반복 수행하는 제 3 과정; 상기 제 1 포인터를 이용한 스트링 매칭이 상기 기설정된 n 횟수 만큼 수행되면, 상기 제 1 포인터에 의한 생성된 n 비트 심볼로 된 문자열에서 첫 번째 스트링 매칭이 수행된 제 1 포인터의 위치에 제 2 포인터를 셋팅시켜 상기 문자열에 존재하는 새로운 p 비트의 패싱 코드워드를 생성하고, 이 생성된 패싱 코드워드를 상기 코드 테이블의 소정 어드레스에 등록하는 제 4 과정; 상기 생성된 p 비트 패싱 코드워드의 등록이 완료되면, 상기 제 1 포인터를 다음 위치인 상기 문자열의 최상위 심볼로 이동시킨 다음, 상기 제 2 과정 내지 제 4 과정을 반복 수행함으로써, 상기 디지탈 데이터의 입력이 종료될 때까지 상기 코드 테이블로의 코드워드 등록을 연속적으로 수행하는 제 5 과정; 및 상기 코드 테이블로의 코드워드 또는 패싱 코드워드 등록될 때 상기 코드 테이블에서의 풀상태 발생을 연속적으로 체크하며, 상기 풀상태가 발생될 때마다 상기 등록된 다수의 코드워드들중의 한 코드워드를 갱신대상 코드워드로 결정하여 등록해제시키는 제 6 과정으로 이루어진 모뎀용 부호화 시스템에서의 코드워드 생성 방법을 제공한다.
도 1은 본 발명의 바람직한 실시예에 따른 개선된 모뎀용 부호화 시스템의 블록구성도,
도 2는 디지탈 데이터가 입력될 때 두 개의 포인터를 이용하는 스트링 매칭을 통해 고속으로 코드워드를 생성하는 과정을 설명하기 위해 도시한 입력 디지탈 데이터의 일예를 도시한 도면,
도 3은 본 발명에 따라 생성되어 코드 테이블에 등록되는 코드워드의 일예를 도시한 도면,
도 4는 본 발명에 따라 입력 디지탈 데이터에 의거하여 코드 테이블에 등록하고자 하는 코드워드를 생성하는 과정을 도시한 플로우챠트,
도 5는 본 발명에 따른 코드워드의 생성시에 갱신/등록을 수행하는 과정을 도시한 플로우챠트.
<도면의 주요부분에 대한 부호의 설명>
102 : 메모리 104, 108 : 스트링 매칭 블록
106 : 제어 블록 110 : 코드 테이블
112 : 엔코딩 블록 114 : 카운터
본 발명의 상기 및 기타 목적과 여러가지 장점은 이 기술분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 하기에 기술되는 본 발명의 바람직한 실시예로 부터 더욱 명확하게 될 것이다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 모뎀용 부호화 시스템의 블록구성도를 나타낸다.
동도면에 도시된 바와같이, 본 발명의 부호화 시스템은 메모리(102), 제 1 스트링 매칭 블록(104), 제어 블록(106), 제 2 스트링 매칭 블록(108), 코드 테이블(110), 엔코딩 블록(112) 및 카운터(114)를 포함한다.
도 1을 참조하면, 메모리(102)는, 예를들면 프레임 메모리로서 부호화하고자 하는 입력 디지탈 데이터를 저장하는 것으로, 여기에 저장된 디지탈 데이터는 라인 L11을 통해 제 1 및 제 2 스트링 매칭 블록(104,108)과 후술하는 엔코딩 블록(112)으로 각각 제공된다.
다음에, 제 1 스트링 매칭 블록(104)에서는, 도 2의 하단부분에 일예로서 도시된 바와같은 제 1 포인터(P1)를 이용하여 입력 데이터와 코드 테이블(110)간의 스트링 매칭을 통해 코드 테이블(110)에 등록하고자 하는 소정길이의 코드워드를 연속적으로 생성하는 데, 여기에서 생성되는 n 비트의 코드워드들은 코드 테이블(110)의 소정 어드레스에 각각 등록된다.
또한, 제 1 스트링 매칭 블록(104)은 제 2 스트링 매칭 블록(108)에서의 스트링 매칭에 이용되는 제 2 포인터(P2)를 적절하게 이동시킬 수 있도록 스트링 매칭이 수행될 때마다 그에 상응하는 출력신호(예를들면, 하이 또는 로우레벨의 논리신호)를 라인 L12 상에 발생하여 후술하는 제어 블록(106)으로 제공한다.
한편, 제어 블록(106)에서는, 예를들면 부호화 시스템의 전반적인 동작제어를 수행하는 마이크로 프로세서를 포함하는 것으로, 상기한 제 1 스트링 매칭 블록(104)으로부터 새로운 스트링 매칭이 수행될 때마다 제공되는 라인 L12 상의 출력신호에 의거하여 제 2 스트링 매칭 블록(108)에서의 스트링 매칭을 위한 제 2 포인터의 이동을 위한 제어신호를 라인 L13 상에 발생, 즉 제 1 포인터를 이용하여 적어도 두 번의 스트링 매칭이 수행된 문자열에 매칭되지 않은 문자열(즉, 패싱 코드워드)가 존재할 때 제 2 포인터의 위치가 스트링 매칭이 수행된 문자열에서 처음 스트링 매칭이 수행된 제 1 포인터의 위치로 이동하도록 제어한다.
다른한편, 제 2 스트링 매칭 블록(108)에서는 라인 L13을 통해 상기한 제어 블록(106)으로 제공되는 스트링 제어신호에 의거하여 라인 L11을 통해 메모리(102)에서 제공되는 입력 심볼(즉, 입력 데이터)들중에서 제 1 스트링 매칭 블록(104)에서의 스트링 매칭시에 지나친 구간의 코드워드(즉, 패싱 코드워드), 즉 도 2에 도시된 바와같이, 제 1 스트링 매칭 블록(104)에서 스트링 매칭을 통해“10”,“01”및“11”(제 1 포인터(P1)의 N1, N2 및 N3 위치)의 세 코드워드를 생성하여 코드 테이블(110)에 등록했다고 가정할 때 입력 심볼(문자열)에서 지나친“101”(제 2 포인터(P2)의 M1 위치)의 코드워드를 생성하여 코드 테이블(110)의 소정 어드레스에 등록한다.
즉, 제 2 스트링 매칭 블록(108)에서는 제어 블록(106)으로 부터의 제어신호에 의거하여 제 1 스트링 매칭 블록(104)에 의해 스트링 매칭이 수행된 문자열 구간내에 존재하는 등록되지 않은 또다른 n 비트의 코드워드(즉, 패싱 코드워드)를 생성하여 코드 테이블(110)에 등록하게 된다. 이때, 본 발명에 따른 효과적인 스트링 매칭(즉, 중첩 스트링 매칭)을 통해 등록하고자 하는 코드워드들을 보다 빠르게 생성한다는 것은 그만큼 긴 길이를 갖는 코드워드들이 빨리 생성된다는 것을 의미하는 데, 이것은 결국 후술하는 엔코딩 블록(112)에서의 부호화 효율을 개선시킬 것이다. 이때, 제 2 스트링 매칭 블록(108)에서 생성되는 n 비트의 패싱 코드워드는 바로 이전에 제 1 스트링 매칭 블록(104)에서 생성된 n 비트 코드워드보다 적어도 긴 길이를 갖는 코드워드이다.
또한, 제 2 스트링 매칭 블록(108)은 스트링 매칭이 완료되면 라인 L13 상에 그에 상응하는 출력신호(예를들면, 하이 또는 로우레벨의 논리신호)를 발생하여 제어 블록(106)으로 제공한다. 따라서, 제어 블록(106)에서는 라인 L13을 통해 출력신호가 제공될 때 라인 L14를 통해 제 1 스트링 매칭 블록(104)에 스트링 매칭의 재개를 위한 제어신호를 발생하며, 그 결과 제 1 스트링 매칭 블록(104)에서의 다음 스트링 매칭 동작이 시작된다.
따라서, 상술한 바와같은 과정을 통해 제 1 및 제 2 스트링 매칭 블록(104,108)에서 각각 생성되는 코드워드들이 코드 테이블에 등록되는 데, 이때 코드 테이블은 초기화 상태에서, 일예로서 도 3에 도시된 바와같이, 0번 및 1번 어드레스에“0”및“1”기본코드가 미리 등록되어 있다.
다음에, 본 발명에 코드 테이블(110)에 입력 문자열에 상응하는 스트링 매칭을 통해 생성되는 n 비트 코드워드들을 등록하는 과정에 대하여 입력 데이터의 일예롤 도시한 도 2 및 생성되는 코드워드들의 등록표를 도시한 도 3을 참조하여 설명한다.
일예로서, 부호화 시스템이 초기화된 상태에서 도 2에 도시된 바와같은 입력 데이터가 제공되면, 제 1 스트링 매칭 블록(104)에서는“0”과“1”이 이미 코드 테이블(110)이 0번 및 1번 어드레스에 기등록되어 있으므로 스트링 매칭을 통해 심볼“10”값을 코드 테이블(106)의 2번 어드레스에 등록시키고, 제 1 포인터(P1)를 N2 의 위치로 이동시켜 심볼“01”값을 3번 어드레스에 등록시키며, 다시 제 1 포인터(P1)를 N3 위치로 이동시켜 심볼“11”값을 4번 어드레스에 등록시킨다. 이때, 제 1 스트링 매칭 블록(104)에서는 제 1 포인터(P1)를 이용한 스트링 매칭이 수행될 때마다 라인 L12를 통해 그에 상응하는 출력신호(예를들면, 하이 또는 로우레벨의 논리신호)를 발생하여 제어 블록(106)으로 제공한다. 또한, 후술하는 엔코딩 블록(112)에서는 라인 L17을 통해 코드 테이블(110)에서 제공되는 심볼“10”,“01”,“11”에 대한 각각의 인덱스 부호를 도시 생략된 전송채널로 전송하게 될 것이다.
따라서, 제 2 스트링 매칭 블록(108)에서는 라인 L13을 통해 제어 블록(106)으로부터 제공되는 스트링 제어신호에 응답하여, 제 1 포인터(P1)에 의해 바로 이전에 스트링 매칭이 수행된 문자열(즉, 1011 의 문자열)에서 제 1 포인터(P1)가 처음 스트링 매칭을 수행한 위치(즉, N1 위치에 대응하는 M1 위치)로 제 2 포인터(P2)의 위치를 셋팅시킨 다음 스트링 매칭을 수행하여 문자열(즉, 1011)내에 존재하지만 제 1 스트링 매칭 블록(104)에서 간과한 코드워드, 즉“101”의 패싱 코드워드를 생성하여 코드 테이블(110)의 5번 어드레스에 등록함과 동시에 라인 L13을 통해 그에 따른 출력신호를 제어 블록(106)으로 제공한다.
이때, 제 1 포인터(P1)를 이용한 최초 스트링 매칭시에는 제 1 포인터(P)에 의한 세 번의 스티링 매칭후에 제 2 포인터(P2)에 의한 스트링 매칭이 수행될 수 있으나 그 이후부터는 제 1 포인터(P1)에 의한 두 번의 스트링 매칭후에 제 2 포인터(P2)에 의한 한 번의 스트링 매칭이 수행된다.
다음에, 제 1 스트링 매칭 블록(104)에서는 제 1 포인터(P1)를 N4 위치로 이동시켜 수행하는 스트링 매칭을 통해 생성되는“100”의 코드워드를 6번 어드레스에 등록하고, 다시 제 1 포인터(P1)를 N5 위치로 이동시켜 수행하는 스트링 매칭을 통해 생성되는“011”의 코드워드를 7번 어드레스에 등록하며, 이어서 제 2 스트링 매칭 블록(108)에서는 제 2 포인터(P2)를 바로 이전에 제 1 포인터(P1)에 의한 스트링 매칭이 수행된 문자열의 처음, 즉 N4 위치에 대응하는 M2 위치로 제 2 포인터(P2)를 이동시켜 스트링 매칭을 수행하며 그 결과로써 생성되는“1001”의 패싱 코드워드를 8번 어드레스에 등록한다. 마찬가지로, 엔코딩 블록(112)에서는 라인 L17을 통해 코드 테이블(110)에서 제공되는 심볼“100”,“011”에 대한 각각의 기설정된 고정길이의 인덱스 부호, 즉“10” 및“01”의 인덱스 부호“2”및“3”를 도시 생략된 전송채널로 순차적으로 전송하게 될 것이다.
다시, 제 1 스트링 매칭 블록(104)에서는 제 1 포인터(P1)를 N6 위치로 이동시켜 스트링 매칭을 수행하는 데, 이때 문자열“100” 및 그 문자열에 한 심볼을 더한 문자열“1001”이 이전에 이미 생성되어 코드 테이블(110)의 6번 및 8번 어드레스에 기등록되어 있으므로, 제 1 포인터(P1)를 N7 위치로 이동시켜 스트링 매칭을 수행하며, 여기에서 생성되는“110”의 코드워드는 9번 어드레스에 등록된다.
따라서, 제 2 스트링 매칭 블록(108)에서는 제 2 포인터(P2)를 M3 위치로 이동시킨 다음 바로 이전에 제 1 포인터(P1)에 의해 스트링 매칭이 수행된 문자열(100110)에 대한 스트링 매칭을 수행하며, 여기에서 생성되는 패싱 코드워드“10011”(즉, 제 1 포인터(P1)에 의한 스트링 매칭시에 지나친 코드워드)를 10번 어드레스에 등록된다.
이어서, 제 2 스트링 매칭 블록(108)에서의 동작이 끝나면 제 1 스트링 매칭 블록(104)에서는 제 1 포인터(P1)를 N8 위치로 이동시켜 스트링 매칭을 수행하며, 이때 생성되는“0110”의 코드워드는 11번 어드레스에 등록된다.
따라서, 본 발명에서는 긴 길이를 갖는 문자열을 갖는 코드워드를 보다 빨리 생성하여 코드 테이블에 등록할 수 있도록 함으로써 엔코딩 블록(112)에서의 부호화시에 그 부호화 효율을 개선할 수 있다.
한편, 상술한 바와같이 두 개의 포인터를 이용한 스트링 매칭을 통해 코드워드를 생성하여 코드 테이블(110)에 등록할 때 제어 블록(106)에서는 코드 테이블(110)에서의 풀상태 발생(즉, 코드워드가 모두 채워지는 상태)을 체크하며, 이러한 체크결과에 의거하여 코드 테이블(110)에 기등록된 코드워드의 갱신을 제어하는 데, 이때 풀상태 발생에 따른 코드워드 갱신은 코드 테이블(110)에 등록된 각 코드워드들의 사용횟수(즉, 엔코딩 블록(112)에서의 부호화에 사용된 횟수)에 기초한다.
즉, 제어 블록(106)에서는 라인 L15를 통해 엔코딩 블록(112)으로부터 코드워드 인출 요구신호가 발생될 때마다 해당 코드워드의 사용횟수를 카운트하고, 또한 각 코드워드들의 사용횟수에 대한 카운트값을 저장하며, 코드 테이블(110)에서의 풀상태가 발생될 때 기등록된 코드워드들중 현재까지 카운트된 사용횟수가 가장 적은 코드워드를 갱신대상 코드워드로 결정하고, 라인 L16 상에 결정된 갱신대상 코드워드를 삭제하기 위한 클리어 신호를 발생함으로써 코드 테이블(110)내의 소정 어드레스에 기등록된 해당 코드워드를 삭제시킨다.
이때, 코드 테이블(110)에 기등록된 코드워드들중 워드 길이가 작은 코드워드들이 갱신대상으로 결정될 확률이 상대적으로 높은 데, 이것은 부호화가 진행될수록 긴 심볼(입력 데이터) 단위로 부호화가 수행되기 때문이다.
더욱이, 코드 테이블(110)에서의 풀상태 발생으로 인해 삭제(등록해제)하고자 하는 갱신대상 코드워드를 결정할 때 비교적 최근에 등록된 코드워드들은 상대적으로 부호화에 사용된 횟수가 적을 수밖에 없는 데, 이러한 점을 감안하여 제어 블록(106)에서는 비교적 최근에 등록된 코드워드들에 대해서는 기설정된 가중치를 부여함으로써 갱신대상 코드워드로 결정되는 것을 방지한다.
따라서, 코드 테이블(110)에서는, 라인 l16 상의 클리어 신호에 의거하여 소정의 어드레스에 등록된 n 비트의 갱신대상 코드워드가 클리어되며, 이와같이 클리어되는 어드레스들은 다음 코드워드의 등록에 다시 이용될 것이다. 이것은, 결국 코드 테이블용 메모리 용량을 최소화시키기 위해서이다. 이와같이 코드 테이블(110)에 등록 또는 갱신 등록되는 코드워드들은 각 코드워드들의 생성과 동시에 엔코딩 블록(112)에서 수행되는 부호화시에 라인 L17을 통해 엔코딩 블록(112)으로 제공될 것이다.
한편, 엔코딩 블록(112)에서는, 입력 심볼과 코드워드들간의 매칭에 의거하여 라인 L11을 통해 메모리(102)에서 제공되는 입력 데이터(즉, 심볼)들에 대하여 n 비트 단위(즉, 코드워드로 생성되는 단위)로 라인 L17으로부터 제공되는 대응하는 코드워드 인덱스 정보로 기설정된 고정길이로 부호화하며, 이와같이 부호화된 인덱스 정보들은 도시 생략된 전송채널로 전송된다.
다음에, 상술한 바와같은 구성을 갖는 본 발명에 따른 모뎀용 부호화 시스템에서 코드워드들을 생성하는 과정에 대하여 첨부된 도 4를 주로 참조하여 설명한다.
도 4는 본 발명에 따라 입력 디지탈 데이터에 의거하여 코드 테이블에 등록하고자 하는 코드워드를 생성하는 과정을 도시한 플로우챠트이다.
도 4를 참조하면, 시스템이 초기화, 즉 코드 테이블(110)의 0번 및 1번 어드레스에 코드워드“0”및“1”이 각각 등록된 상태로 초기화되면(단계 402), 제 1 포인터(P1)를 특정 위치(처음에는 처음 입력 심볼 위치)로 설정한 다음 스트링 매칭을 수행하여 n 비트의 코드워드를 생성한 다음(단계 404), 이 생성된 n 비트의 코드워드를 코드 테이블(110)의 소정 어드레스에 등록한다(단계 406).
다음에, 단계(408)에서는 현재 제 1 포인터(P1)에 의한 스트링 매칭이 기설정된 횟수(즉, 초기인 경우에는 세 번, 그 이후의 경우에는 두 번)만큼 행해졌는지의 여부를 체크하며, 여기에서의 체크결과 제 1 포인터(P1)에 의한 스트링 매칭이 기설정된 횟수만큼 행해지지 않은 것으로 판단되면, 제 1 포인터(p1)의 위치를 다음 위치로 이동시킨 다음(단계 410), 처리는 상기한 단계(404)로 되돌아가 그 이후의 과정을 반복 수행한다.
즉, 두 단계(404,406)의 반복 수행을 통해 제 1 포인터(P1)를 이용하여 다시 새로운 코드워드를 하나 더 생성하여 코드 테이블(110)의 소정 어드레스에 생성한다.
일예로서, 도 2에 도시된 바와같이, 제 1 포인터(P1)가 N4 위치에서 스트링 매칭을 수행했다고 가정할 때 제 1 포인터(P1)를 N5 위치로 이동시켜 스트링 매칭을 수행함으로써 새로운 코드워드를 생성하고, 이를 코드 테이블(110)의 소정 어드레스에 등록한다.
이때, 제 1 포인터(P1)를 이용하여 세 번 또는 두 번의 스트링 매칭을 수행하는 것은 제 1 포인터(P1)에 의해 세 번 또는 두 번의 스트링 매칭이 이미 행해진 문자열상에 존재 가능한 다른 새로운 코드워드를 제 2 포인터(P2)에 의거한 스트링 매칭을 통해 찾아내기 위해서이다.
한편, 상기 단계(408)에서의 체크결과, 제 1 포인터(P1)에 의한 스트링 매칭이 기설정된 횟수만큼 행해진 것으로 판단되면, 제 2 포인터(P2)의 위치를 제 1 포인터(P1)에 의한 두 번의 스트링 매칭중 첫 번째 스트링 매칭의 시작 위치로 이동, 일예로서 도 2에 도시된 바와같이, 제 1 포인터(P1)의 N4 및 N5 위치에서 스트링 매칭이 행해졌다고 가정할 때 제 2 포인터(P2)는 M2 위치로 이동되며, 이와같이 이동된 위치에서의 스트링 매칭을 통해 제 1 포인터(P1)에 의한 바로 이전의 두 번의 스트링 매칭에서 간과하고 지나친 패싱 코드워드를 생성한다(단계 412).
즉, 도 3에 있어서, 제 1 포인터(P1)의 N4 및 N5 위치에서 스트링 매칭이 수행되어“100”및“011”의 코드워드들이 생성되어 6번 및 7번 어드레스에 등록되었다고 가정할 때, 제 2 포인터(P2)에 의한 스트링 매칭을 통해“10011”의 문자열에 존재하는 간과하고 지나친“1001”의 패싱 코드워드를 생성하여 코드 테이블(110)의 8번 어드레스에 등록한다(단계 414). 따라서, 긴 길이를 갖는 코드워드들을 보다 빠르게 생성하여 등록할 수 있게 된다.
다음에, 제 2 포인터(P2)에 의한 패싱 코드워드(간과한 코드워드)의 생성이 완료되고, 처리는 단계(416)로 진행되어 다음 문자열, 즉 심볼의 입력여부를 체크, 즉 입력 데이터가 더 있는지의 여부를 체크하며, 여기에서의 체크결과 입력 데이터가 없을 때는 모든 처리를 종료한다.
한편, 상기 단계(416)에서의 체크결과 다음 입력 데이터(심볼)가 있는 것으로 판단되면, 제 1 포인터(P1)의 위치를 다음 위치로 이동시킨 다음(단계 418), 처리는 전술한 단계(404)로 되돌아가 그 이후의 과정을 반복 수행하게 된다.
따라서, 본 발명에서는 상술한 바와같은 과정을 통해 제 1 포인터(P1)를 이용한 세 번 또는 두 번의 스트링 매칭시에 지나친 코드워드들을 제 2 포인터(P2)를 이용하는 스트링 매칭을 통해 생성하도록 함으로써, 목표로 하는 코드워드들의 생성 등록을 고속으로 실현할 수 있다.
다음에, 상술한 바와같은 과정을 통해 코드워드들을 생성하여 코드 테이블에 등록하는 도중에 코드 테이블에서 풀상태가 발생될 때 이에 대응하여 갱신등록을 수행하는 과정에 대하여 도 5를 참조하여 설명한다.
도 5는 본 발명에 따른 코드워드의 생성시에 갱신/등록을 수행하는 과정을 도시한 플로우챠트이다.
도 5를 참조하면, 먼저, 본 발명에 따른 스트링 매칭을 통해 n 비트의 코드워드들을 생성하여 코드 테이블(110)의 소정 어드레스에 등록함과 동시에 엔코딩 블록(112)에서 부호화를 수행할 때, 도 1의 제어 블록(106)은 코드 테이블(110)에 기등록된 코드워드들과 입력 데이터간의 매칭을 통해 n 비트 입력 데이터에 대응하는 코드워드 인덱스가 결정될 때마다 해당 코드워드의 사용횟수를 체크(단계 502), 즉 라인 L15를 통해 엔코딩 블록(112)으로부터 제공되는 코드워드 인출 요구신호에 의거하여 n 비트 입력 데이터에 대응하는 코드워드가 부호화에 사용된 횟수를 카운트하여 저장한다(단계 504).
즉, 제어 블록(106)에서는 코드 테이블(110)에 기등록된 코드워드들이 부호화에 사용될 때마다 그 사용횟수를 카운트하고, 각 코드워드에 대한 최종 사용횟수 카운트값을 저장한다.
다음에, 상기한 바와같은 코드 테이블(110)로의 코드워드(또는 패싱 코드워드) 등록 및 입력 데이터와 코드워드들간의 매칭을 통한 부호화시에 제어 블록(106)에서는 코드 테이블(110)의 풀상태를 지속적으로 체크하는 데(단계 508), 여기에서의 체크결과 코드 테이블(110)에서의 풀상태 발생이 없으면 처리는 상술한 단계(502)로 진행되어 그 이후의 과정을 연속하여 반복 수행한다.
한편, 상기 단계(508)에서의 체크결과, 코드 테이블(110)에서의 풀상태가 발생한 것으로 판단되면, 코드 테이블(110)내에 현재 등록된 코드워드들중 등록해제(삭제)해야 할 갱신대상 코드워드를 결정하는 게 되는 데, 이때 갱신대상 코드워드의 결정은 비교적 최근에 등록된 코드워드들이 그 이전에 등록된 코드워드들에 비해 상대적으로 부호화에 사용된 횟수가 적을 수밖에 없다는 점을 고려하여 비교적 최근에 등록된 코드워드들에 대해서는 기설정된 가중치(즉, 사용횟수 증가를 위한 가중치)를 부여한다(단계 510).
다음에, 단계(512)에서는 현재까지 카운트된 총 카운트값을 각각 갖는 기등록된 코드워드들의 카운트값들중 가장 작은 총 카운트값을 갖는 코드워드를 갱신대상 코드워드로 결정한다(단계 512). 이때, 코드 테이블(110)에 기등록된 코드워드들중 워드 길이가 작은 코드워드들이 갱신대상으로 결정될 확률이 상대적으로 높은 데, 이것은 부호화가 진행될수록 긴 심볼(입력 데이터) 단위로 부호화가 수행되기 때문이다.
따라서, 현재 풀상태가 발생된 코드 테이블(110)에서는 라인 L16을 통해 제어 블록(106)으로부터 제공되는 클리어 신호에 의거하여 갱신대상으로 결정된 n 비트 코드워드가 삭제되며(단계 512), 이와같이 클리어되는 어드레스는 다음코드워드의 등록에 다시 이용된다.
따라서, 상술한 바와같은 과정을 통해 코드 테이블(110)에서 데이터 풀상태가 발생될 때마다 그 부호화 사용횟수에 의거하여 결정되는 갱신대상 코드워드들을 삭제해 가면서 갱신등록을 수행하게 된다.
이상 설명한 바와같이 본 발명에 따르면, 코드 테이블을 사용하는 모뎀용 부호화 시스템에 있어서, 두 개의 포인터를 이용하여 한 포인터가 두 번의 스트링 매칭을 통해 두 개의 새로운 코드워드를 생성할 때 그들 두 코드워드를 이루는 문자열에서 간과하고 지나친 다른 코드워드를 다른 포인터에 의거하여 생성/등록하도록 함으로써, 등록하고자 하는 긴 길이의 코드워드들을 보다 빠르게 생성할 수 있으므로, 모뎀용 부호화 시스템에서의 부호화 효율을 더욱 증진시킬 수 있다.
Claims (7)
- 비트스트림 형태의 입력 디지탈 데이터와 코드 테이블내 코드워드들간의 스트링 매칭을 이용하여 디지탈 데이터를 압축 부호화하는 모뎀용 부호화 시스템에 있어서,상기 코드 테이블은, 0 및 1 의 기본코드가 소정 어드레스에 각각 등록된 상태로 초기화되며,부호화를 위해 아날로그 신호를 디지탈 신호로 변환한 변환 데이터를 저장하는 메모리;상기 기본코드보다 적어도 큰 비트길이를 가지며 상기 메모리로부터 제공되는 n 비트의 입력 심볼에 대해 제 1 포인터를 이용한 스트링 매칭을 통해 n 비트의 코드워드를 생성하여 상기 코드 테이블의 소정 어드레스에 등록하고, 스트링 매칭이 수행될 때마다 그에 상응하는 출력신호를 발생하는 제 1 스트링 매칭 블록;상기 제 1 포인터에 의해 기설정된 n 번의 스트링 매칭이 수행될 때마다 제공되는 포인터 이동 제어신호에 응답하여, 상기 제 1 포인터에 의한 n 번의 스트링 매칭이 수행된 문자열중 처음 스트링 매칭이 수행된 상기 제 1 포인터의 위치에 제 2 포인터를 위치시켜 새로운 p 비트의 패싱 코드워드를 생성하여 상기 코드 테이블의 소정 어드레스에 등록하고, 스트링 매칭이 수행될 때마다 그에 상응하는 출력신호를 발생하는 제 2 스트링 매칭 블록;상기 스트링 매칭에 따른 코드워드 생성 등록 및/또는 갱신 등록과 병행하여 상기 n 비트의 입력 데이터와 상기 코드 테이블에 등록된 다수의 코드워드들간의 매칭을 수행하여 상기 n 비트 입력 데이터에 대응하는 해당 코드워드의 인덱스 정보를 인출하여 가변길이로 전송채널에 송신하는 엔코딩 블록;상기 엔코딩 블록에서 n 비트의 입력 데이터 부호화가 수행될 때마다 발생되는 코드워드 인출 요구신호에 의거하여, 각 n 비트 입력 데이터에 대응하는 해당 코드워드의 부호화 사용횟수를 카운트하여 저장하는 카운터; 및상기 n 비트 입력 심볼에 대한 스트링 매칭이 수행될 때마다 상기 제 1 스트링 매칭 블록으로부터 제공되는 출력신호에 의거하여 상기 포인터 제어신호를 발생하여 상기 제 2 스트링 매칭 블록으로 제공하고, 상기 코드 테이블에서 데이터 풀상태가 발생될 때 등록된 각 코드워드들의 총 사용횟수 카운트값에 의거하여 삭제하고자 하는 갱신대상 코드워드를 결정하며, 이 결정된 갱신대상 코드워드를 상기 코드 테이블내의 해당 어드레스에서 삭제하는 제어 블록으로 이루어진 모뎀용 부호화 시스템.
- 제 1 항에 있어서, 상기 제어 블록은, 상기 갱신대상 코드워드를 결정할 때, 상기 코드 테이블에 등록된 다수의 코드워드들중 상기 풀상태 발생 시점 바로 이전의 기설정된 시간 범위내에 등록된 코드워드들에 대해 기설정된 사용횟수 가중치를 가산하는 것을 특징으로 하는 모뎀용 부호화 시스템.
- 제 2 항에 있어서, 상기 제어 블록은, 상기 기설정된 사용횟수 가중치가 가산된 코드워드들을 포함하는 상기 등록된 다수의 코드워드들중 가장 작은 총 사용횟수 카운트값을 갖는 코드워드를 상기 갱신대상 코드워드로 결정하는 것을 특징으로 하는 모뎀용 부호화 시스템.
- 비트스트림 형태의 입력 디지탈 데이터와 코드 테이블내 코드워드들간의 스트링 매칭을 이용하여 디지탈 데이터를 압축 부호화하는 모뎀용 부호화 시스템에서 코드워드를 생성하는 방법에 있어서,상기 부호화 시스템이 초기화될 때, 0 및 1 의 기본코드를 소정 어드레스에 각각 등록하여 상기 코드 테이블을 초기화시키는 제 1 과정;상기 기본코드보다 적어도 큰 비트길이를 가지며 상기 입력 디지탈 데이터의 n 비트 입력 심볼에 대해 제 1 포인터를 이용한 스트링 매칭을 통해 n 비트의 코드워드를 생성하여 상기 코드 테이블의 소정 어드레스에 등록하는 제 2 과정;상기 제 1 포인터를 다음 위치로 이동해 가면서 상기 제 1 포인터를 이용한 스트링 매칭이 기설정된 n 횟수 만큼 수행될 때까지 상기 제 2 과정을 반복 수행하는 제 3 과정;상기 제 1 포인터를 이용한 스트링 매칭이 상기 기설정된 n 횟수 만큼 수행되면, 상기 제 1 포인터에 의한 생성된 n 비트 심볼로 된 문자열에서 첫 번째 스트링 매칭이 수행된 제 1 포인터의 위치에 제 2 포인터를 셋팅시켜 상기 문자열에 존재하는 새로운 p 비트의 패싱 코드워드를 생성하고, 이 생성된 패싱 코드워드를 상기 코드 테이블의 소정 어드레스에 등록하는 제 4 과정;상기 생성된 p 비트 패싱 코드워드의 등록이 완료되면, 상기 제 1 포인터를 다음 위치인 상기 문자열의 최상위 심볼로 이동시킨 다음, 상기 제 2 과정 내지 제 4 과정을 반복 수행함으로써, 상기 디지탈 데이터의 입력이 종료될 때까지 상기 코드 테이블로의 코드워드 등록을 연속적으로 수행하는 제 5 과정; 및상기 코드 테이블로의 코드워드 또는 패싱 코드워드 등록될 때 상기 코드 테이블에서의 풀상태 발생을 연속적으로 체크하며, 상기 풀상태가 발생될 때마다 상기 등록된 다수의 코드워드들중의 한 코드워드를 갱신대상 코드워드로 결정하여 등록해제시키는 제 6 과정으로 이루어진 모뎀용 부호화 시스템에서의 코드워드 생성 방법.
- 제 4 항에 있어서, 상기 갱신대상 코드워드의 등록해제 과정은:n 비트 단위의 상기 입력 데이터와 상기 등록된 다수의 코드워드들간의 매칭이 발생할 때마다 각각 발생하는 코드워드 인출 요구신호에 의거하여, 상기 각 n 비트 입력 데이터에 대응하는 해당 코드워드의 부호화 사용횟수를 카운트하여 저장하는 제 1 단계;상기 코드 테이블을 탐색하여 상기 풀상태 발생을 체크될 때까지 상기 제 1 단계를 반복 수행하는 제 2 단계;상기 코드 테이블에서의 풀상태가 발생될 때, 상기 저장된 각 코드워드들의 총 사용횟수 카운트값에 상기 등록된 다수의 코드워드들중 하나를 상기 갱신대상 코드워드로 결정하는 제 3 단계; 및상기 결정된 갱신대상 코드워드를 상기 코드 테이블내의 해당 어드레스에서 삭제하는 제 4 단계를 포함하는 것을 특징으로 하는 모뎀용 부호화 시스템에서의 코드워드 생성 방법.
- 제 5 항에 있어서, 상기 갱신대상 코드워드를 결정할 때, 상기 코드 테이블에 등록된 다수의 코드워드들중 상기 풀상태 발생 시점 바로 이전의 기설정된 시간 범위내에 등록된 코드워드들에 대해 기설정된 사용횟수 가중치를 가산하는 것을 특징으로 하는 모뎀용 부호화 시스템에서의 코드워드 생성 방법.
- 제 6 항에 있어서, 상기 기설정된 사용횟수 가중치가 가산된 코드워드들을 포함하는 상기 등록된 다수의 코드워드들중 가장 작은 총 사용횟수 카운트값을 갖는 코드워드를 상기 갱신대상 코드워드로 결정하는 것을 특징으로 하는 모뎀용 부호화 시스템에서의 코드워드 생성 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970027163A KR100245036B1 (ko) | 1997-06-25 | 1997-06-25 | 개선된 모뎀용 부호화 시스템 및 그 코드워드 생성방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970027163A KR100245036B1 (ko) | 1997-06-25 | 1997-06-25 | 개선된 모뎀용 부호화 시스템 및 그 코드워드 생성방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990003312A KR19990003312A (ko) | 1999-01-15 |
KR100245036B1 true KR100245036B1 (ko) | 2000-02-15 |
Family
ID=19511126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970027163A KR100245036B1 (ko) | 1997-06-25 | 1997-06-25 | 개선된 모뎀용 부호화 시스템 및 그 코드워드 생성방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100245036B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925183B2 (en) * | 2001-08-16 | 2005-08-02 | Asustek Computer Inc. | Preventing shortened lifetimes of security keys in a wireless communications security system |
-
1997
- 1997-06-25 KR KR1019970027163A patent/KR100245036B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990003312A (ko) | 1999-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3273119B2 (ja) | データ圧縮・伸長装置 | |
US7403136B2 (en) | Block data compression system, comprising a compression device and a decompression device and method for rapid block data compression with multi-byte search | |
US5870036A (en) | Adaptive multiple dictionary data compression | |
US5003307A (en) | Data compression apparatus with shift register search means | |
US5229768A (en) | Adaptive data compression system | |
US5239298A (en) | Data compression | |
US7215259B2 (en) | Data compression with selective encoding of short matches | |
EP0691628A2 (en) | Data compression method and system | |
EP0880100A2 (en) | Cache-based data compression/decompression | |
GB2305089A (en) | Method and apparatus for compressing arbitrary data | |
KR100353171B1 (ko) | 적응형데이터압축을수행하는방법및장치 | |
JP2979106B2 (ja) | データ圧縮 | |
JPH09214353A (ja) | データ圧縮装置及びデータ復元装置 | |
WO1995019662A1 (en) | Data compression apparatus and method | |
JPS6356726B2 (ko) | ||
US6515598B2 (en) | System and method for compressing and decompressing data in real time | |
US5463389A (en) | Data compression method and device utilizing children arrays | |
US5555323A (en) | System for bi-level symbol coding/decoding with saved storage and method for same | |
JP4156381B2 (ja) | 文字テーブルによって実施されるデータ圧縮の方法および装置 | |
KR100245036B1 (ko) | 개선된 모뎀용 부호화 시스템 및 그 코드워드 생성방법 | |
US6415061B1 (en) | Method of updating dictionaries in a data transmission system using data compression | |
US6104323A (en) | Data compression apparatus for compensating a deviation of a compression rate | |
JP3241787B2 (ja) | データ圧縮方式 | |
GB2360915A (en) | Run length compression encoding of selected bits of data words | |
GB2311704A (en) | Compression of arbitrary data using context modelling and entropy coding |
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: 20121101 Year of fee payment: 14 |
|
FPAY | Annual fee payment |
Payment date: 20131101 Year of fee payment: 15 |
|
LAPS | Lapse due to unpaid annual fee |