KR100244766B1 - Improving modem coder and decoder - Google Patents

Improving modem coder and decoder Download PDF

Info

Publication number
KR100244766B1
KR100244766B1 KR1019970027161A KR19970027161A KR100244766B1 KR 100244766 B1 KR100244766 B1 KR 100244766B1 KR 1019970027161 A KR1019970027161 A KR 1019970027161A KR 19970027161 A KR19970027161 A KR 19970027161A KR 100244766 B1 KR100244766 B1 KR 100244766B1
Authority
KR
South Korea
Prior art keywords
code
bit
registered
input
codewords
Prior art date
Application number
KR1019970027161A
Other languages
Korean (ko)
Other versions
KR19990003310A (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 KR1019970027161A priority Critical patent/KR100244766B1/en
Publication of KR19990003310A publication Critical patent/KR19990003310A/en
Application granted granted Critical
Publication of KR100244766B1 publication Critical patent/KR100244766B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • 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

Landscapes

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

Abstract

본 발명은 송신측에서 입력 디지탈 데이터와 코드 테이블간의 스트링 매칭을 통해 코드워드의 연속적인 생성 및 갱신을 수행하고, 생성 및 갱신된 코드워드를 이용하여 입력 디지탈 데이터를 압축 부호화하며, 수신측에서 수신된 부호 데이터를 스트링 매칭을 통해 코드워드를 생성해 가면서 부호화 전의 원신호로 복원할 수 있도록 한 시스템에 관한 것으로, 이를 위하여 본 발명은: 송신측에서는 초기에 코드워드 인덱스 할당 비트 변환용 인식코드, 0 및 1 의 기본코드를 송신측 코드 테이블의 소정 어드레스에 각각 등록되며,기본코드보다 적어도 큰 비트길이를 가지며 n 비트의 입력 심볼과 코드 테이블간의 스트링 매칭을 수행하여 얻어지는 새로운 코드워드들을 기본코드가 등록된 어드레스 이후의 어드레스에 순차적으로 등록하고, 부호화를 위해 입력되는 n 비트 디지탈 데이터의 마스크 비트구간을 결정하며, 이 마스크 비트구간에 의해 결정되는 n 비트의 입력 디지탈 데이터중 최하위 비트를 제외한 나머지 입력 비트값과 송신측 코드 테이블에서 제공되는 상기 등록된 코드워드들간의 매칭을 수행하고, 매칭결과 나머지 입력 비트값에 대응하는 가변길이를 갖는 n 비트의 코드워드 인덱스 정보를 인출하여 전송채널로 송신하며; 수신측에서는 전송채널을 통해 수신되는 n 비트의 부호 데이터중 최하위 비트를 제외한 나머지 비트값의 스트링 매칭을 수행하여 n 비트 입력 부호 데이터에 대응하는 m 비트의 코드워드를 복원하며, 이 복원된 코드워드들을 기본코드가 등록된 수신 코드 테이블의 어드레스에 순차적으로 등록하고, 부호 비트스트림에 포함된 n 비트의 인식코드 정보를 검출하며, 검출된 인식코드 정보에 의거하여 원신호로의 복원을 위해 제공되는 n 비트 입력 부호 데이터의 마스크 비트구간을 결정하고, 이 마스크 결정신호에 따라 결정되는 n 비트의 입력 부호 데이터와 수신 코드 테이블에서 제공되는 등록된 코드워드들간의 매칭을 수행하며, 매칭결과 입력 부호 데이터에 대응하는 인덱스에 등록된 코드워드를 입력 부호 데이터의 복원 데이터로 출력한다.The present invention performs continuous generation and update of codewords through string matching between input digital data and code table at the transmitting side, compresses and encodes input digital data using the generated and updated codeword, and receives at receiving side. The present invention relates to a system capable of restoring an encoded code data through a string matching to an original signal before encoding. And a basic code of 1 are respectively registered at predetermined addresses of the transmitting side code table, and the basic code registers new codewords having a bit length at least larger than the basic code and obtained by performing string matching between an n-bit input symbol and the code table. Register sequentially to the address after the received address, and The mask bit section of the n-bit digital data to be input is determined, and the registered codeword provided in the transmission code table and the remaining input bit values except the least significant bit of the n-bit input digital data determined by the mask bit section. Perform matching between the two, and extract n-bit codeword index information having a variable length corresponding to the remaining input bit value as a result of the matching and transmit the same to the transport channel; The receiver performs string matching of the remaining bit values except the least significant bit among the n bits of code data received through the transmission channel, and restores the m bits of codewords corresponding to the n bits of input code data. The base code is sequentially registered to the address of the registered reception code table, the detection code information of n bits included in the code bitstream is detected, and n provided for restoring to the original signal based on the detected recognition code information. The mask bit section of the bit input code data is determined, and the matching between the n bit input code data determined according to the mask determination signal and the registered codewords provided in the reception code table is performed. The codeword registered at the corresponding index is output as the reconstruction data of the input code data.

Description

개선된 모뎀용 부호화 및 복호화 시스템Improved Modem Encoding and Decoding System

본 발명은 모뎀용 부호화 및 복호화 기법에 관한 것으로, 더욱 상세하게는 CCITT V.42 비스(bis)에서 규정하고 있는 Lempel - Ziv coding(LZC) 알고리즘에 적용하는 데 적합한 개선된 모뎀용 부호화 및 복호화 시스템과 그 부호/복호화 방법에 관한 것이다.The present invention relates to a coding and decoding technique for a modem, and more particularly, to an improved coding and decoding system for a modem suitable for application to the Lempel-Ziv coding (LZC) algorithm defined in CCITT V.42 bis. And a code / decoding method thereof.

잘 알려진 바와같이, 디지털 신호의 전송은 아날로그 신호의 전송에 비해 고화질의 영상 이미지를 전달할 수 있다. 그러나, 일련의 이미지 프레임을 포함하는 이미지 신호가 디지털 형태로 표현될 때 아날로그 신호에 비해 상대적으로 많은 데이터를 발생하게 된다.As is well known, the transmission of digital signals can deliver higher quality video images than the transmission of analog signals. However, when an image signal including a series of image frames is represented in digital form, it generates relatively more data than an analog signal.

따라서, 디지탈 데이터를 전송하는 통신 모뎀에서는 유효 주파수 대역이 한정되어 있으므로, 제한된 채널폭을 통해 원하는 양의 데이터를 전송하기 위하여 가변길이 부호화, 고정길이 부호화 등의 압축기법을 이용하여 전송하고자 하는 데이터를 압축 부호화하고 있다.Therefore, since a valid frequency band is limited in a communication modem transmitting digital data, data to be transmitted using a compression method such as variable length coding or fixed length coding is used to transmit a desired amount of data through a limited channel width. Compression coding.

여기에서, 가변길이 부호화는 상대적으로 발생빈도가 많은 심볼들에 대해 짧은 길이의 부호를 할당하고 발생빈도가 적은 심볼들에 대해서는 긴 길이의 부호를 할당함으로써 데이터를 압축하는 것이고, 고정길이 부호화는 모든 심볼들에 대해 고정된 길이의 부호를 할당하여 데이터를 압축하는 것이다.In this case, variable length coding compresses data by assigning a short length code to relatively frequent symbols and a long length code to low frequency symbols. Compressed data is assigned by assigning fixed length symbols to symbols.

한편, 가변길이 부호화, 고정길이 부호화를 수행할 때 스트링 매칭을 통해 준비된 코드 테이블에서 입력 심볼에 대응하는 코드워드를 탐색하여 그에 상응하는 코드워드 인덱스를 전송하는 데, 이때 부호화 효율은 입력 데이터와 코드 테이블 사이의 스트링 매칭이 결정한다고 볼 수 있다.Meanwhile, when performing variable length encoding or fixed length encoding, a codeword corresponding to an input symbol is searched for in a code table prepared through string matching, and a corresponding codeword index is transmitted. It can be said that string matching between tables is determined.

이때, 종래 방법에서는 입력 데이터와 코드 테이블간의 스트링 매칭을 한 심볼씩 받아들이면서 연속적으로 수행하는 데, 이와같은 스트링 과정이 어느 정도 지난 후에도 한 심볼씩 받아들여 스트링 매칭을 수행한다는 것은 데이터의 압축 효율을 저하시키는 한 원인이 되고 있다.At this time, in the conventional method, string matching between the input data and the code table is performed continuously by receiving one symbol, and even after such a string process is performed, the string matching is performed by one symbol after a certain amount of time. It is a cause to reduce.

본 발명은 상기한 종래기술의 문제점을 해결하기 위한 것으로, 송신측 모뎀에서 입력 디지탈 데이터와 코드 테이블간의 스트링 매칭을 통해 코드워드의 연속적인 생성 및 갱신을 수행하고, 생성 및 갱신된 코드워드를 이용하여 입력 디지탈 데이터를 압축 부호화할 수 있는 모뎀용 부호화 시스템을 제공하는 데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention solves the problems of the prior art, and performs generation and update of codewords continuously through string matching between input digital data and code table in a transmitting modem, and uses generated and updated codewords. It is an object of the present invention to provide a coding system for a modem capable of compressing and encoding input digital data.

본 발명의 다른 목적은 본 발명의 부호화 시스템에 따라 제공되는 부호 데이터를 스트링 매칭을 통해 코드워드를 생성해 가면서 부호화 전의 원신호로 복원할 수 있는 복호화 시스템을 제공하는 데 있다.Another object of the present invention is to provide a decoding system capable of reconstructing code data provided according to an encoding system of the present invention to an original signal before encoding while generating codewords through string matching.

상기 목적을 달성하기 위한 일관점에 따른 본 발명은, 비트스트림 형태의 입력 디지탈 데이터와 코드 테이블내 코드워드들간의 스트링 매칭을 이용하여 디지탈 데이터를 압축 부호화하는 모뎀용 부호화 시스템에 있어서, 상기 코드 테이블은, 초기에 코드워드 인덱스 할당 비트 변환용 인식코드, 0 및 1 의 기본코드가 소정 어드레스에 각각 등록되며, 부호화를 위해 아날로그 신호를 디지탈 신호로 변환한 변환 데이터를 저장하는 메모리; 상기 기본코드보다 적어도 큰 비트길이를 가지며 상기 메모리로부터 제공되는 n 비트의 입력 심볼과 코드 테이블간의 스트링 매칭을 수행하여 얻어지는 새로운 코드워드들을 상기 기본코드가 등록된 어드레스 이후의 어드레스에 순차적으로 등록하고, 부호화를 위해 상기 메모리로부터 제공되는 n 비트 입력 디지탈 데이터의 비트구간을 결정하는 마스크 결정신호를 발생하는 스트링 매칭 블록; 상기 스트링 매칭을 통해 생성되는 n 비트의 코드워드들이 등록될 때 상기 코드 테이블을 탐색하여 동일한 n 비트 길이를 갖는 코드워드들이 모두 등록되었는 지의 여부를 체크하며, 체크결과 동일한 n 비트 길이를 갖는 특정 코드워드들이 모두 등록된 것으로 판단될 때 그에 따른 특정 코드워드 등록 완료신호를 발생하는 코드워드 등록 판단 블록; 상기 코드워드 등록 판단 블록으로부터 상기 특정 코드워드 등록 완료신호가 수신될 때, n-2 비트 길이를 갖는 코드워드들을 클리어시키기 위한 클리어 결정신호를 발생하여 상기 코드 테이블의 소정 어드레스에 등록된 상기 n-2 비트 길이를 갖는 코드워드들을 삭제시키는 갱신 결정 블록; 및 상기 스트링 매칭 블록으로부터 제공되는 상기 마스크 결정신호에 따라 결정되는 n 비트의 입력 디지탈 데이터중 최하위 비트를 제외한 나머지 입력 비트값과 상기 코드 테이블에서 제공되는 상기 등록된 코드워드들간의 매칭을 수행하며, 매칭결과 상기 나머지 입력 비트값에 대응하는 가변길이를 갖는 n 비트의 코드워드 인덱스 정보를 인출하여 전송채널로 송신하고, 상기 나머지 입력 비트값과 상기 등록된 코드워드간의 매칭을 통한 코드워드 인덱스 정보 추출은 해당 입력 데이터에 상응하는 코드워드의 생성 등록과 병행하여 수행하는 엔코딩 블록으로 이루어진 개선된 모뎀용 부호화 시스템을 제공한다.In accordance with an aspect of the present invention, there is provided a coding system for a modem which compresses and encodes digital data by using string matching between input digital data in a bitstream form and codewords in a code table. Is a memory for initially storing codeword index allocation bit conversion recognition codes, 0 and 1 basic codes, respectively, at predetermined addresses, and storing conversion data obtained by converting an analog signal into a digital signal for encoding; Sequentially registering new codewords having a bit length greater than the base code and obtained by performing string matching between an n-bit input symbol provided from the memory and a code table at an address after the base code is registered; A string matching block for generating a mask determination signal for determining a bit section of n-bit input digital data provided from said memory for encoding; When the n-bit codewords generated through the string matching are registered, the code table is searched to check whether all codewords having the same n-bit length are registered, and the specific code having the same n-bit length is checked. A codeword registration determination block for generating a specific codeword registration completion signal when it is determined that all of the words are registered; When the specific codeword registration completion signal is received from the codeword registration determination block, a clear decision signal for clearing codewords having n-2 bit lengths is generated to be registered at the n- address of the code table. An update decision block for deleting codewords having a 2-bit length; And matching the remaining input bit values except the least significant bit among the n bit input digital data determined according to the mask determination signal provided from the string matching block with the registered codewords provided in the code table. As a result of the matching, n-bit codeword index information having a variable length corresponding to the remaining input bit values is extracted and transmitted to a transport channel, and codeword index information extraction is performed through matching between the remaining input bit values and the registered codeword. Provides an improved encoding system for a modem consisting of an encoding block that is performed in parallel with the generation registration of a codeword corresponding to the input data.

상기 목적을 달성하기 위한 다른 관점에 따른 본 발명은, 코드워드 인덱스 할당 비트 변환 인식을 위한 인식코드를 포함하는 부호 비트스트림 형태로 입력되는 부호 데이터와 코드 테이블내 코드워드들간의 스트링 매칭을 이용하여 상기 입력 부호 데이터를 부호화전의 원신호로 복원하는 모뎀용 복호화 시스템에 있어서, 상기 코드 테이블은, 0 및 1 의 기본코드가 소정 어드레스에 각각 등록되며, 전송채널을 통해 수신되는 상기 입력 부호 데이터들을 저장하는 메모리; 상기 기본코드보다 적어도 큰 비트길이를 가지며 상기 메모리로부터 제공되는 n 비트의 부호 데이터중 최하위 비트를 제외한 나머지 비트값의 스트링 매칭을 수행하여 상기 n 비트 입력 부호 데이터에 대응하는 m 비트의 코드워드를 복원하며, 이 복원된 코드워드들을 상기 기본코드가 등록된 어드레스 이후의 어드레스에 순차적으로 등록하고, 상기 부호 비트스트림에 포함된 n 비트의 상기 인식코드 정보를 검출하며, 상기 검출된 인식코드 정보에 의거하여 원신호로의 복원을 위해 상기 메모리로부터 제공되는 n 비트 입력 부호 데이터의 비트구간을 결정하는 마스크 결정신호를 발생하는 스트링 매칭 블록; 상기 스트링 매칭을 통해 생성되는 m 비트의 코드워드들이 등록될 때 상기 코드 테이블을 탐색하여 동일한 n 비트 길이를 갖는 코드워드들이 모두 등록되었는 지의 여부를 체크하며, 체크결과 동일한 n 비트 길이를 갖는 특정 코드워드들이 모두 등록된 것으로 판단될 때 n-2 비트 길이를 갖는 코드워드들을 클리어시키기 위한 클리어 결정신호를 발생하여 상기 코드 테이블의 소정 어드레스에 등록된 상기 n-2 비트 길이를 갖는 코드워드들을 삭제시키는 갱신 결정 블록; 및 상기 스트링 매칭 블록으로부터 제공되는 상기 마스크 결정신호에 따라 결정되는 n 비트의 입력 부호 데이터와 상기 코드 테이블에서 제공되는 상기 등록된 코드워드들간의 매칭을 수행하며, 매칭결과 상기 입력 부호 데이터에 대응하는 인덱스에 등록된 코드워드를 상기 입력 부호 데이터의 복원 데이터로 출력하고, 상기 입력 부호 데이터와 상기 등록된 코드워드간의 매칭을 통한 데이터 복원은 해당 입력 부호 데이터에 상응하는 코드워드의 생성 등록과 병행하여 수행하는 디코딩 블록으로 이루어진 개선된 모뎀용 복호화 시스템을 제공한다.According to another aspect of the present invention, a string matching between code data in a code bitstream and codewords in a code table is input. In the modem decoding system for restoring the input code data to the original signal before encoding, the code table stores the input code data received through a transmission channel, in which a basic code of 0 and 1 is registered at a predetermined address, respectively. Memory; M-bit codeword corresponding to the n-bit input code data is restored by performing string matching of the remaining bit values except the least significant bit among the n-bit code data provided from the memory and having a bit length greater than that of the basic code. Register the reconstructed codewords sequentially at an address after the base code is registered, detect the n-bit recognition code information included in the code bitstream, and based on the detected recognition code information. A string matching block for generating a mask determination signal for determining a bit section of n-bit input code data provided from the memory for restoration to an original signal; When the m-bit codewords generated through the string matching are registered, the code table is searched to check whether all codewords having the same n-bit length are registered, and the specific code having the same n-bit length is checked. When it is determined that all of the words are registered, a clear decision signal for clearing codewords having an n-2 bit length is generated to delete the codewords having the n-2 bit length registered at a predetermined address of the code table. Update decision block; And performing matching between the n-bit input code data determined according to the mask determination signal provided from the string matching block and the registered codewords provided in the code table, and matching the input code data. The codeword registered in the index is output as reconstruction data of the input code data, and the data reconstruction through matching between the input code data and the registered codeword is performed in parallel with the generation registration of the codeword corresponding to the input code data. Provided is an improved decoding system for a modem consisting of decoding blocks to perform.

도 1은 본 발명의 바람직한 실시예에 따른 개선된 모뎀용 부호화 시스템의 블록구성도,1 is a block diagram of an improved coding system for a modem according to a preferred embodiment of the present invention;

도 2a는 부호화를 위해 입력되는 비트스트림의 일예를 도시한 도면,2A illustrates an example of a bitstream input for encoding;

도 2b는 입력 비트스트림에 따라 생성되는 코드 테이블의 일예를 도시한 도면,2B illustrates an example of a code table generated according to an input bitstream;

도 3은 본 발명의 바람직한 실시예에 따른 개선된 모뎀용 복호화 시스템의 블록구성도,3 is a block diagram of an improved decoding system for a modem according to a preferred embodiment of the present invention;

도 4는 본 발명에 따라 스트링 매칭을 통해 복원되는 데이터의 일예를 도시한 도면.4 illustrates an example of data restored through string matching in accordance with the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the code | symbol about the principal part of drawing>

102,302 : 메모리104,304 : 스트링 매칭 블록102,302: Memory 104,304: String Matching Block

106,306 : 코드 테이블108 : 코드워드 등록 판단 블록106306: Code table 108: Codeword registration decision block

110,308 : 갱신 결정 블록112 : 엔코딩 블록110,308: update decision block 112: encoding block

310 : 디코딩 블록310: decoding block

본 발명의 상기 및 기타 목적과 여러가지 장점은 이 기술분야에 숙련된 사람들에 의해 첨부된 도면을 참조하여 하기에 기술되는 본 발명의 바람직한 실시예로 부터 더욱 명확하게 될 것이다.The above and other objects and various advantages of the present invention will become more apparent from the preferred embodiments of the present invention described below with reference to the accompanying drawings by those skilled in the art.

이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 바람직한 실시예에 따른 모뎀용 부호화 시스템의 블록구성도를 나타낸다.1 is a block diagram of a coding system for a modem according to a preferred embodiment of the present invention.

동도면에 도시된 바와같이, 본 발명의 부호화 시스템은 메모리(102), 스트링 매칭 블록(104), 코드 테이블(106), 코드워드 등록 판단 블록(108), 갱신 결정 블록(110) 및 엔코딩 블록(112)을 포함한다.As shown in the figure, the encoding system of the present invention comprises a memory 102, a string matching block 104, a code table 106, a codeword registration decision block 108, an update decision block 110 and an encoding block. (112).

도 1을 참조하면, 메모리(102)는, 예를들면 프레임 메모리로서 부호화하고자 하는 입력 데이터를 저장하는 것으로, 여기에 저장된 디지탈 데이터는 라인 L11을 통해 스트링 매칭 블록(104) 및 엔코딩 블록(112)으로 각각 전달된다.Referring to FIG. 1, the memory 102 stores input data to be encoded as a frame memory, for example, the digital data stored therein is a string matching block 104 and an encoding block 112 through a line L11. Is passed to each.

다음에, 스트링 매칭 블록(104)에서는 포인터(P)를 이용하여 입력 데이터와 코드 테이블(106)간의 스트링 매칭을 통해 코드 테이블(106)에 등록하고자 하는 소정길이의 코드워드를 연속적으로 생성하는 데, 여기에서 생성되는 n 비트의 코드워드들은 코드 테이블(106)의 소정 어드레스에 각각 등록된다.Next, the string matching block 104 continuously generates a codeword of a predetermined length to be registered in the code table 106 through string matching between the input data and the code table 106 using the pointer P. The n-bit codewords generated here are registered at predetermined addresses of the code table 106, respectively.

또한, 스트링 매칭 블록(104)은 후술하는 엔코딩 블록(112)에서의 입력 데이터 부호화시에 부호화를 위해 분할하는 입력 데이터의 마스크 구간을 결정하는 마스크 제어신호(MS)를 라인 L12 상에 발생하여 엔코딩 블록(112)에 제공한다.Also, the string matching block 104 generates and encodes a mask control signal MS on a line L12 that determines a mask section of input data to be divided for encoding at the time of encoding the input data in the encoding block 112 described later. To block 112.

일예로서, 부호화 시스템이 초기화된 상태(예를들면, 도 2b에 도시된 바와같이, 0번 어드레스에“0”의 값을 갖는 스탭업(step up) 코드워드가 등록되고 1번 어드레스 및 2번 어드레스의 코드워드값이“0”및“1”로 등록된 상태)에서 입력 데이터가 도 2a에 도시된 바와같이“0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, ---- ”라고 가정할 때, 스트링 매칭 블록(104)에서는 심볼“0”및“1”이 이미 등록되어 있으므로 심볼“01”이 코드 테이블(106)에 등록되었는지의 여부를 체크하며, 체크결과,“01”의 값이 등록되어 있지 않으므로 3번 어드레스에“01”의 코드워드값을 등록하고, 포인터(P)는“1”의 심볼 위치로 이동한다. 이때, 후술하는 엔코딩 블록(112)에서는 심볼“0”의 인덱스 부호“01”을 전송하게 된다. 이어서, 다음 심볼“10”의 등록여부를 체크하여 4번 어드레스에“10”의 코드값을 등록하고, 포인터(P)는“0”의 심볼 위치로 이동한다. 이때, 엔코딩 블록(112)에서는 코드 인덱스 할당 비트 변환 인식을 위한 스텝업 코드 부호“00”을 전송한 다음 심볼“1”의 인덱스 부호“010”을 전송하게 된다.As an example, a step up codeword having a value of "0" at address 0 is registered, as shown in FIG. 2B, and the encoding system is initialized. In the state where the codeword value of the address is registered as "0" and "1"), the input data is "0, 1, 0, 0, 1, 1, 0, 0, 1, 1, Assuming 1, ---- ", the string matching block 104 checks whether the symbol" 01 "is registered in the code table 106 because the symbols" 0 "and" 1 "are already registered. As a result of the check, since the value of "01" is not registered, the codeword value of "01" is registered at address 3, and the pointer P moves to the symbol position of "1". At this time, the encoding block 112 described later transmits the index code "01" of the symbol "0". Subsequently, it is checked whether or not the next symbol "10" is registered, and a code value of "10" is registered at address 4, and the pointer P moves to the symbol position of "0". At this time, the encoding block 112 transmits the step-up code code "00" for recognizing the code index allocation bit conversion, and then transmits the index code "010" of the symbol "1".

상술한 바와 마찬가지로, 다음 심볼“00”을 5번 어드레스에 등록함과 동시에 심볼“0”의 인덱스 부호“001”을 전송하고, 포인터(P)를 이동하여 다음 심볼을 체크한다. 이때, 심볼“00”에 이어지는 다음 심볼“01”은 이미 3번 어드레스에 기등록되어 있으므로 이어지는 다음 한 비트까지인“011”을 체크하여 6번 어드레스에 등록함과 동시에 심볼“01”의 인덱스 부호“011”을 전송하고, 포인터(P)를 이동하여 다음 심볼을 체크한다. 마찬가지로, “011”에 이어지는 다음 심볼“10”은 이미 4번 어드레스에 기등록되어 있으므로 이어지는 다음 한 비트까지인“100”을 체크하여 7번 어드레스에 등록함과 동시에 심볼“10”의 인덱스 부호“100”을 전송한다.As described above, the next symbol "00" is registered at address 5, the index code "001" of symbol "0" is transmitted, and the pointer P is moved to check the next symbol. At this time, since the next symbol "01" following the symbol "00" is already registered at address 3, check the "011" which is up to the next one bit and register it at the address 6, and at the same time, the index code of the symbol "01" Send "011" and move the pointer P to check the next symbol. Similarly, the next symbol "10" following "011" is already registered at address 4, so check "100", which is the next one bit, and register it at address 7, and at the same time, the index code of symbol "10" Send 100 ”.

또한,심볼“100”에 이어지는 다음 심볼“001”이 이미 6번 어드레스에 기등록되어 있으므로 이어지는 다음 한 비트까지인“0111”을 체크하여 8번 어드레스에 등록한다. 이때, 후술하는 엔코딩 블록(112)에서는 코드 인덱스 할당 비트 변환 인식을 위한 스텝업 코드 부호“000”을 전송한 다음 심볼“011”의 인덱스 부호“0110”을 전송한다.In addition, since the next symbol "001" following the symbol "100" is already registered at address 6, check "0111", which is up to the next next bit, is registered in address 8. At this time, the encoding block 112 described later transmits the step-up code code "000" for recognizing the code index allocation bit conversion, and then transmits the index code "0110" of the symbol "011".

따라서, 스트링 매칭 블록(104)에서는 상술한 바와같은 과정을 통해 포인터(P)를 이동해 가면서 해당 심볼의 등록여부를 체크하며, 그 체크결과에 의거하여 등록되지 않은 새로운 코드들을 코드 테이블(106)의 소정 어드레스에 등록시키며, 이러한 과정을 통해 코드 테이블(106)로의 연속적인 코드 등록 또는 등록갱신이 수행된다.Therefore, the string matching block 104 checks whether the corresponding symbol is registered while moving the pointer P through the above-described process, and based on the check result, new codes not registered are added to the code table 106. The code is registered at a predetermined address, and a continuous code registration or registration update to the code table 106 is performed through this process.

한편, 코드워드 등록 판단 블록(108)에서는 상기한 바와같은 과정을 통해 코드 테이블(106)에 코드들의 등록이 수행될 때 코드 테이블(106)을 탐색하여 특정 비트길이에 대한 코드워드가 모두 등록되었는 지의 여부를 체크, 즉 4개의 2비트 코드워드가 모두 등록되었는지를 체크하고, 2비트 코드워드의 등록이 완료되면 다시 8개의 3비트 코드워드가 완전 등록여부를 체크하는 방식으로 특정 비트길이에 대한 완전 등록 여부를 체크하며, 체크결과 2비트 코드워드의 등록이 완료된 것으로 판단되면, 라인 L15 상에 등록 완료신호를 발생하여 갱신 결정 블록(110)에 제공한다.Meanwhile, in the codeword registration determination block 108, when the registration of codes is performed in the code table 106 through the above-described process, the codeword 106 is searched to register all the codewords for a specific bit length. Check whether all four 2-bit codewords are registered, and when the registration of the 2-bit codewords is completed, the eight 3-bit codewords are again checked for complete registration. If it is determined whether registration is complete or not, and if it is determined that the registration of the 2-bit codeword is completed, a registration completion signal is generated on the line L15 and provided to the update decision block 110.

다음에, 갱신 결정 블록(110)은 코드 테이블(106)에 등록되는 코드워드의 갱신을 위한 클리어 결정신호를 발생하여 라인 L16을 통해 코드 테이블(106)에 제공하는 것으로, 예를들어 도 2b에 도시된 바와같이 2비트의 코드워드들이 모두 등록(생성)되고 3비트의 코드워드 생성을 위한 스트링 매칭이 수행될 때 기등록된 1비트의 코드워드들을 클리어시키기 위한 클리어 결정신호를 라인 L16 상에 발생한다.Next, the update decision block 110 generates a clear decision signal for updating the codeword registered in the code table 106 and provides it to the code table 106 via the line L16. For example, in FIG. As shown, when a 2-bit codewords are all registered (generated) and string matching for 3-bit codeword generation is performed, a clear decision signal for clearing the pre-registered 1-bit codewords is provided on the line L16. Occurs.

따라서, 코드 테이블(106)에서는, 1번 및 2번 어드레스에 등록된 2비트 코드워드들이 모두 클리어되며, 이와같이 클리어되는 어드레스들은 다음 코드워드들(즉, 4비트 이상의 코드워드들)의 등록에 다시 이용될 것이다. 이것은, 결국 코드 테이블용 메모리 용량을 최소화시키기 위해서이다. 따라서, 소정시간 동안의 스트링 매칭과정이 지나면 코드 테이블(106)에는 소정의 비트길이(예를들면, 8비트, 10 비트 등)를 갖는 코드워드들로 채워지게 될 것이다.Therefore, in the code table 106, all 2-bit codewords registered at addresses 1 and 2 are cleared, and the addresses thus cleared are again registered at the next codewords (i.e., 4-bit or more codewords). Will be used. This is, after all, to minimize the memory capacity for the code table. Therefore, after a string matching process for a predetermined time, the code table 106 will be filled with codewords having a predetermined bit length (eg, 8 bits, 10 bits, etc.).

다른한편, 엔코딩 블록(112)에서는 라인 L12를 통해 상기한 스트링 매칭 블록(104)으로부터 제공되는 마스크 구간 설정신호에 따라 부호화하고자 하는 입력 데이터의 구간을 설정하며, 그 설정된 마스크 구간에 포함되는 입력 데이터와 라인 L13을 통해 코드 테이블(106)에서 제공되는 코드워드들간의 매칭을 통해 그에 상응하는 코드워드 인덱스 정보를 도시 생략된 전송채널로 송신한다. 일예로서, 마스크 구간의 심볼이“01”이면 심볼“0”의 인덱스 부호“01”을 전송하고, 마스크 구간의 심볼이“10”이면 코드 인덱스 할당 비트 변환 인식을 위한 스텝업 코드 부호“00”을 전송한 다음 심볼“1”의 인덱스 부호“010”을 전송하는 등의 방법으로 각 심볼에 대응하는 인덱스 부호를 전송한다.On the other hand, the encoding block 112 sets a section of the input data to be encoded according to the mask section setting signal provided from the string matching block 104 through the line L12, and input data included in the set mask section. The codeword index information corresponding to the codewords provided in the code table 106 is transmitted through a line L13, and are transmitted to the transport channel, not shown. For example, if the symbol of the mask section is "01", the index code "01" of the symbol "0" is transmitted. If the symbol of the mask section is "10", the step-up code code "00" for code index allocation bit conversion recognition is transmitted. Then, the index code corresponding to each symbol is transmitted by transmitting the index code "010" of symbol "1".

이때, 엔코딩 블록(112)에서는 코드워드 인덱스 정보를 고정된 가변길이 정보로서 전송, 예를들면 1번, 2번 및 3번 어드레스의 코드워드 인덱스 정보는 2비트로 할당하여 전송하고, 4번 내지 7번 코드워드 인덱스 정보는 3비트로 할당하여 전송하며, 8번 내지 15번 코드워드 인덱스 정보는 4비트로 할당하여 전송하는 등의 방식으로 코드워드 인덱스 정보를 고정된 가변길이로 할당하여 전송함으로써, 부호화 효율을 더욱 증진시킨다.In this case, the encoding block 112 transmits codeword index information as fixed variable length information, for example, codeword index information of addresses 1, 2, and 3 is allocated as 2 bits, and transmitted. The codeword index information is allocated by 3 bits and transmitted, and the codeword index information of 8 to 15 is allocated by 4 bits and transmitted in such a manner that the codeword index information is transmitted by assigning a fixed variable length, thereby encoding efficiency. Further promote.

이를 위하여, 엔코딩 블록(112)에서는 코드워드 인덱스 정보에 할당되는 비트량이 가변되는 초기, 즉 2비트에서 3비트로 변환할 때 최초 발생하는 3비트 코드워드 인덱스 정보를 보내기에 앞서 코드 테이블(106)의 0번 어드레스에 기등록된 스텝업 코드(즉, 디코더에서 인식가능한 코드)(예를들면,“00”,“000”등)를 먼저 전송한다. 따라서, 복호화 시스템측에서는 이러한 컨트롤 코드의 수신을 통해 인덱스 정보의 할당 비트 변환을 인식하게 될 것이다.To this end, the encoding block 112 of the code table 106 prior to sending the initial three-bit codeword index information that occurs when the amount of bits allocated to the codeword index information is changed, that is, the first time when converting from 2 bits to 3 bits The step-up code (i.e., code recognizable by the decoder) previously registered at address 0 (for example, "00", "000", etc.) is transmitted first. Therefore, the decoding system side will recognize the allocation bit conversion of the index information through the reception of such a control code.

예를들어, 라인 L11 상의 입력 데이터가 도 2a에 도시된 바와같고 그에 따라 등록되는 코드워드가 도 2b에 도시된 바와 같을 때, 엔코딩 블록(112)에서 출력되는 코드워드 인덱스들의 전송 비트스트림은“01 00 010 001 011 100 000 0110 - - - - ”가 될 것이다. 여기에서, 밑줄그어진 00 및 000 는 코드워드 인덱스 할당 비트 변환 인식을 위한 스텝업 코드인 것으로, 이러한 스텝업 코드는 할당 비트가 1비트 증가할 때마다 이전 비트길이값으로 맨 처음에 보내는 일종의 인식코드이다.For example, when the input data on the line L11 is as shown in FIG. 2A and the codeword registered accordingly is as shown in FIG. 2B, the transport bitstream of the codeword indices output in the encoding block 112 is " 01 00 010 001 011 100 000 0110---- Here, the underlined 00 and 000 are step-up codes for codeword index allocation bit conversion recognition, and this step-up code is a kind of recognition code that is first sent to the previous bit length value every time the allocation bit is increased by one bit. to be.

다음에, 상술한 바와같이 본 발명의 부호화 시스템에 따라 부호화된 다음 전송채널을 통해 수신되는 부호화 비트스트림을 부호화전의 원신호(즉, 복원된 디지탈 데이터)로 복원하는 과정에 대하여 상세하게 설명한다.Next, as described above, a process of restoring the encoded bitstream encoded according to the encoding system of the present invention and then received through the transport channel to the original signal (that is, the recovered digital data) before encoding will be described in detail.

도 3은 본 발명의 바람직한 실시예에 따른 개선된 모뎀용 복호화 시스템의 블록구성도를 나타낸다. 동도면에 도시된 바와같이, 본 발명의 복호화 시스템은 메모리(302), 스트링 매칭 블록(304), 코드 테이블(306), 갱신 결정 블록(308) 및 디코딩 블록(310)을 포함한다.3 shows a block diagram of an improved modem decoding system according to a preferred embodiment of the present invention. As shown in the figure, the decoding system of the present invention includes a memory 302, a string matching block 304, a code table 306, an update decision block 308, and a decoding block 310.

먼저, 스트링 매칭 블록(304)에서는 포인터(P)를 이용하여 입력측의 메모리(예를들면, 프레임 메모리)(302)로부터 제공되는 부호화된 입력 데이터(즉, 인식코드를 포함하는 인덱스 정보)와 코드 테이블(306)간의 스트링 매칭을 통해 코드 테이블(306)에 등록하고자 하는 소정길이의 코드를 연속적으로 생성하는 데, 여기에서 생성되는 n 비트의 코드들은 코드 테이블(306)의 소정 어드레스에 각각 등록된다.First, in the string matching block 304, the coded input data (i.e., index information including the identification code) and the code provided from the memory (e.g., the frame memory) 302 of the input side using the pointer P are coded. Through string matching between the tables 306, codes of a predetermined length that are to be registered in the code table 306 are continuously generated, and the n-bit codes generated therein are registered at predetermined addresses of the code table 306, respectively. .

또한, 스트링 매칭 블록(304)은 후술하는 디코딩 블록(310)에서의 입력 데이터 복호화(즉, 복원)시에 복원을 위해 분할하는 입력 데이터의 마스크 구간을 결정하는 마스크 제어신호(MS)를 라인 L32 상에 발생하여 디코딩 블록(310)에 제공, 즉 인덱스 할당 비트 변환을 의미하는 스텝업코드(인식코드)가 검출될 때마다 그에 상응하는 마스크 구간 설정용 제어신호를 라인 L32 상에 발생한다.In addition, the string matching block 304 lines a mask control signal MS for determining a mask section of input data to be divided for reconstruction at the time of decoding (ie, reconstructing) the input data in the decoding block 310 to be described later. Each time a step-up code (recognition code) which is generated and provided to the decoding block 310, i.e., index allocation bit conversion, is detected, a control signal for mask section setting is generated on the line L32.

이때, 복호화 시스템내의 코드 테이블(306)은 전술한 부호화 시스템내의 코드 테이블(106)은 과 마찬가지로 동일한 초기화 상태, 즉 도 2b에 도시된 바와같이, 0번 어드레스에“0”의 값을 갖는 스탭업(step up) 코드워드가 등록되고 1번 어드레스 및 2번 어드레스의 코드워드값이“0”및“1”로 각각 등록된 상태이다.At this time, the code table 306 in the decoding system has the same initialization state as the code table 106 in the encoding system described above, that is, as shown in FIG. 2B, the step-up has a value of "0" at address 0. (step up) Codewords are registered and codeword values of address 1 and address 2 are registered as "0" and "1", respectively.

따라서, 스트링 매칭 블록(304)에서는, 일예로서 도 4에 도시된 바와같은 부호 데이터가 도시 생략된 전송채널을 통해 수신된다고 가정할 때, 2비트의 입력부호“01”의 스트링인“0”이 이미 등록되어 있으므로 다음 입력부호를 받아들인다. 이때, 후술하는 디코딩 블록(310)에서는 입력부호“01”의 어드레스에 대응하는 데이터“0”을 복원하며, 이때 포인터(P)는“0”에 위치한다. 이어지는 다음 입력부호“00”은 코드 인덱스 할당 비트 변환 인식을 위한 스텝업 코드이므로 이를 버리고 이어지는 다음 3비트의 입력부호를 받아들임과 동시에 라인 L32 상에 마스크 구간 설정신호를 발생한다. 따라서, 디코딩 블록(310)에서도 라인 L32 상의 마스크 구간 설정신호에 응답하여 코드 인덱스 할당 비트 변환 인식을 위한 스텝업 코드를 버리고 이후에는 1비트 증가된 3비트씩의 입력부호를 받아들이게 될 것이다.Accordingly, in the string matching block 304, assuming that code data as shown in FIG. 4 is received through a transmission channel not shown, as an example, "0" which is a string of two bits of input code "01" Since it is already registered, the following input code is accepted. At this time, the decoding block 310 to be described later restores the data "0" corresponding to the address of the input code "01", where the pointer P is located at "0". Subsequent input code "00" is a step-up code for code index allocation bit conversion recognition, discards it, receives the next 3 bits input code, and generates a mask section setting signal on line L32. Therefore, the decoding block 310 also discards the step-up code for recognizing the code index allocation bit conversion in response to the mask period setting signal on the line L32 and subsequently receives an input code of 1 bit incremented by 3 bits.

마찬가지로, 다음 입력부호“010”의 스트링인“01”이 코드 테이블(306)상에 등록되어 있지 않으므로 이를 3번 어드레스에 등록하고, 입력부호“010”의 어드레스에 대응하는 데이터“1”을 복원하며, 포인터(P)의 위치는“1”로 이동(0 1 : 여기에서 _ 는 포인터(P)의 위치)한다. 또한, 다음 입력부호“001”어드레스의 스트링인“0”을 복원하고 스트링 매칭을 수행하여“10”을 4번 어드레스에 등록한 다음 포인터(P)를“0”으로 이동(0 1 0)한다.Similarly, since "01", which is the string of the next input code "010", is not registered on the code table 306, it is registered at address 3, and data "1" corresponding to the address of the input code "010" is restored. The position of pointer P moves to “1” (0 1: where _ is the position of pointer P). Further, "0", which is a string of the following input code "001" address, is restored and string matching is performed to register "10" at address 4, and then move the pointer P to "0" (0 1 0).

다음에, 입력부호“011”어드레스의 스트링인“01”을 복원하고 스트링 매칭을 수행하여“00”을 5번 어드레스에 등록한 다음 포인터(P)를“0”으로 이동(0 1 0 0 1)한다. 또한, 입력부호“100”어드레스의 스트링인“10”을 복원하고 스트링 매칭을 수행하여“011”을 6번 어드레스에 등록한 다음 포인터(P)를“1”로 이동(0 1 0 0 1 1 0)한다.Next, restore the string "01" of the input code "011" address, perform string matching, register "00" at address 5, and then move the pointer P to "0" (0 1 0 0 1) do. Also, restore the string "10" of the input code "100" address, perform string matching, register "011" at address 6, and move the pointer P to "1" (0 1 0 0 1 1 0 )do.

다시, 이어지는 다음 입력부호“000”은 코드 인덱스 할당 비트 변환 인식을 위한 스텝업 코드이므로 이를 버리고 이어지는 다음 4비트의 입력부호를 받아들임과 동시에 라인 L32 상에 마스크 구간 설정신호를 발생한다. 따라서, 디코딩 블록(310)에서도 라인 L32 상의 마스크 구간 설정신호에 응답하여 코드 인덱스 할당 비트 변환 인식을 위한 스텝업 코드를 버리고 이후에는 1비트 증가된 4비트씩의 입력부호를 받아들이게 될 것이다.Again, since the next input code "000" is a step-up code for code index allocation bit conversion recognition, it is discarded and the next four bits of input code are accepted and the mask section setting signal is generated on the line L32. Therefore, the decoding block 310 also discards the step-up code for recognizing the code index allocation bit conversion in response to the mask period setting signal on the line L32 and subsequently receives an input code of 1 bit incremented by 4 bits.

따라서, 다음 입력부호“0110”어드레스의 스트링인“011”을 복원하고 스트링 매칭을 수행하여“100”을 7번 어드레스에 등록한 다음 포인터(P)를“0”으로 이동(0 1 0 0 1 1 0 0 1 1)한다.Therefore, restore the string "011" of the next input code "0110" address, perform string matching, register "100" at address 7, and then move the pointer P to "0" (0 1 0 0 1 1 0 0 1 1).

즉, 상술한 바와같은 과정을 통해 코드 테이블(306)에는 전술한 부호화 시스템의 코드 테이블(106)에 등록된 것과 동일한 코드들이 등록 또는 등록갱신 되며, 이때 등록되는 코드 정보들은 입력 부호 데이터의 복원시에 라인 L35를 통해 디코딩 블록(310)으로 제공된다.That is, the same codes as those registered in the code table 106 of the above-described encoding system are registered or registered in the code table 306 through the above-described process, and the registered code information is restored when the input code data is restored. Is provided to decoding block 310 via line L35.

한편, 갱신 결정 블록(308)에서는 상기한 바와같은 과정을 통해 디코딩을 위한 코드들의 등록이 수행될 때 코드 테이블(106)을 탐색하여 특정 비트길이에 대한 코드워드가 모두 등록되었는 지의 여부를 체크, 즉 4개의 2비트 코드워드가 모두 등록되었는지를 체크하고, 2비트 코드워드의 등록이 완료되면 다시 8개의 3비트 코드워드의 완전 등록여부를 체크하는 방식으로 특정 비트길이에 대한 완전 등록 여부를 체크하며, 체크결과 일예로서 2비트의 코드워드들이 모두 등록(생성)되고 3비트의 코드워드 생성을 위한 스트링 매칭이 수행될 때 기등록된 1비트의 코드워드들을 클리어시키기 위한 클리어 결정신호를 라인 L34 상에 발생하며, 그 결과 코드 테이블(306)의 1번 및 2번 어드레스에 등록된 코드워드들은 클리어될 것이다.Meanwhile, in the update decision block 308, when the registration of codes for decoding is performed through the above-described process, the code table 106 is searched to check whether all codewords for a specific bit length are registered. In other words, it is checked whether all four 2-bit codewords are registered, and when the registration of the 2-bit codeword is completed, the complete registration of the specific bit length is checked by checking whether or not the eight 3-bit codewords are fully registered again. As a result of the check, as an example, when a 2-bit codeword is registered (generated) and string matching for 3-bit codeword generation is performed, a clear decision signal for clearing the pre-registered 1-bit codeword is line L34. Codewords registered at addresses 1 and 2 of the code table 306 will be cleared.

따라서, 상기한 바와같은 스트링 매칭과정이 소정시간 지나게 되면 코드 테이블(306)에는 도 1에 도시된 송신측 코드 테이블(106)과 동일한 값의 소정의 비트길이(예를들면, 8비트, 10 비트 등)를 갖는 코드워드들이 채워지게 될 것이다.Therefore, when the above-described string matching process passes a predetermined time, the code table 306 has a predetermined bit length (for example, 8 bits and 10 bits) having the same value as that of the transmitting code table 106 shown in FIG. Codewords) will be filled.

다른한편, 디코딩 블록(310)에서는 라인 L32를 통해 상기한 스트링 매칭 블록(304)으로부터 제공되는 마스크 구간 설정신호에 따라 복원하고자 하는 입력 부호(인식코드를 포함하는 인덱스 정보)의 구간을 설정하며, 그 설정된 마스크 구간에 포함되는 입력 부호와 라인 L35를 통해 코드 테이블(306)에서 제공되는 코드워드들간의 매칭을 통해 입력 부호(인덱스 정보)를 그에 대응하는 코드워드, 즉 디지탈 데이터를 변환함으로써 부호화전의 원신호로 복원하게 될 것이다.On the other hand, the decoding block 310 sets the section of the input code (index information including the identification code) to be restored according to the mask section setting signal provided from the string matching block 304 through the line L32, By converting the input code (index information) to the corresponding codeword, that is, digital data, through matching between the input code included in the set mask period and the codewords provided in the code table 306 through the line L35, The original signal will be restored.

즉, 전술한 바와같이“01 00 010 001 011 100 000 0110 - - - - ”의 부호 데이터가 입력된다고 가정할 때, 디코딩 블록(310)에서는 스텝업코드인“00”및“000”값은 버리고, 나머지 부호 정보들에 상응하는“0, 1, 0, 0, 1, 1, 0, 0, 1, 1, ---- ”의 복원된 디지탈 데이터를 출력하게 될 것이다.That is, assuming that code data of "01 00 010 001 011 100 000 0110----" is input as described above, the decoding block 310 discards the values "00" and "000", which are step-up codes. Then, the recovered digital data of "0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, ----" corresponding to the remaining sign information will be output.

이상 설명한 바와같이 본 발명에 따르면, 송신측 모뎀에서 입력 디지탈 데이터와 코드 테이블간의 스트링 매칭을 통해 코드워드의 연속적인 생성 및 갱신을 수행하고, 이와같이 갱신/생성된 코드워드를 이용하여 입력 디지탈 데이터를 가변길이를 갖는 코드워드 인덱스 정보로 압축 부호화함으로써 디지탈 데이터의 부호화 효율을 더욱 증진시킬 수 있다.As described above, according to the present invention, the transmission modem performs continuous generation and update of codewords through string matching between input digital data and code table, and input / output digital data is generated using the updated / generated codeword. By encoding and coding the codeword index information having a variable length, the coding efficiency of digital data can be further improved.

또한, 본 발명에 따르면, 입력 데이터에 의거하여 코드워드를 등록 및 갱신해 가면서 코드 부호화를 수행한 결과 데이터, 즉 수신되는 부호 데이터들에 의거하여 수신측에서의 부호 데이터를 복원하는 데 이용되는 수신측 코드 테이블에 등록되는 코드워드들을 송신측의 코드 테이블과 동일하게 생성함으로써 가변길이로 부호화된 부호 정보들을 부호화전의 원신호로 효과적으로 복원할 수 있다.Further, according to the present invention, the receiving side code used to restore the code data on the receiving side based on the data obtained as a result of performing the code encoding while registering and updating the codeword based on the input data, that is, the received code data. By generating the codewords registered in the table in the same way as the code table on the transmitting side, the code information encoded with the variable length can be effectively restored to the original signal before encoding.

Claims (8)

비트스트림 형태의 입력 디지탈 데이터와 코드 테이블내 코드워드들간의 스트링 매칭을 이용하여 디지탈 데이터를 압축 부호화하는 모뎀용 부호화 시스템에 있어서,A coding system for a modem that compresses and encodes digital data by using string matching between input digital data in a bitstream form and codewords in a code table. 상기 코드 테이블은, 초기에 코드워드 인덱스 할당 비트 변환용 인식코드, 0 및 1 의 기본코드가 소정 어드레스에 각각 등록되며,In the code table, a codeword index allocation bit conversion recognition code and a base code of 0 and 1 are respectively registered at predetermined addresses, 부호화를 위해 아날로그 신호를 디지탈 신호로 변환한 변환 데이터를 저장하는 메모리;A memory for storing converted data obtained by converting an analog signal into a digital signal for encoding; 상기 기본코드보다 적어도 큰 비트길이를 가지며 상기 메모리로부터 제공되는 n 비트의 입력 심볼과 코드 테이블간의 스트링 매칭을 수행하여 얻어지는 새로운 코드워드들을 상기 기본코드가 등록된 어드레스 이후의 어드레스에 순차적으로 등록하고, 부호화를 위해 상기 메모리로부터 제공되는 n 비트 입력 디지탈 데이터의 비트구간을 결정하는 마스크 결정신호를 발생하는 스트링 매칭 블록;Sequentially registering new codewords having a bit length greater than the base code and obtained by performing string matching between an n-bit input symbol provided from the memory and a code table at an address after the base code is registered; A string matching block for generating a mask determination signal for determining a bit section of n-bit input digital data provided from said memory for encoding; 상기 스트링 매칭을 통해 생성되는 n 비트의 코드워드들이 등록될 때 상기 코드 테이블을 탐색하여 동일한 n 비트 길이를 갖는 코드워드들이 모두 등록되었는 지의 여부를 체크하며, 체크결과 동일한 n 비트 길이를 갖는 특정 코드워드들이 모두 등록된 것으로 판단될 때 그에 따른 특정 코드워드 등록 완료신호를 발생하는 코드워드 등록 판단 블록;When the n-bit codewords generated through the string matching are registered, the code table is searched to check whether all codewords having the same n-bit length are registered, and the specific code having the same n-bit length is checked. A codeword registration determination block for generating a specific codeword registration completion signal when it is determined that all of the words are registered; 상기 코드워드 등록 판단 블록으로부터 상기 특정 코드워드 등록 완료신호가 수신될 때, n-2 비트 길이를 갖는 코드워드들을 클리어시키기 위한 클리어 결정신호를 발생하여 상기 코드 테이블의 소정 어드레스에 등록된 상기 n-2 비트 길이를 갖는 코드워드들을 삭제시키는 갱신 결정 블록; 및When the specific codeword registration completion signal is received from the codeword registration determination block, a clear decision signal for clearing codewords having n-2 bit lengths is generated to be registered at the n- address of the code table. An update decision block for deleting codewords having a 2-bit length; And 상기 스트링 매칭 블록으로부터 제공되는 상기 마스크 결정신호에 따라 결정되는 n 비트의 입력 디지탈 데이터중 최하위 비트를 제외한 나머지 입력 비트값과 상기 코드 테이블에서 제공되는 상기 등록된 코드워드들간의 매칭을 수행하며, 매칭결과 상기 나머지 입력 비트값에 대응하는 가변길이를 갖는 n 비트의 코드워드 인덱스 정보를 인출하여 전송채널로 송신하고, 상기 나머지 입력 비트값과 상기 등록된 코드워드간의 매칭을 통한 코드워드 인덱스 정보 추출은 해당 입력 데이터에 상응하는 코드워드의 생성 등록과 병행하여 수행하는 엔코딩 블록으로 이루어진 개선된 모뎀용 부호화 시스템.Performing matching between the remaining input bit values except the least significant bit among the n bits of input digital data determined according to the mask determination signal provided from the string matching block and the registered codewords provided in the code table, and matching As a result, the n-bit codeword index information having a variable length corresponding to the remaining input bit values is extracted and transmitted to the transport channel, and the codeword index information extraction through matching between the remaining input bit values and the registered codeword is performed. An improved modem coding system, comprising an encoding block that is performed in parallel with the generation registration of a codeword corresponding to the input data. 제 1 항에 있어서, 상기 등록된 코드워드들이 삭제되는 어드레스들은, 이후에 생성되는 다른 코드워드들의 어드레스로 재할당되는 것을 특징으로 하는 개선된 모뎀용 부호화 시스템.2. The improved encoding system of claim 1, wherein the addresses at which the registered codewords are deleted are reassigned to addresses of other codewords that are subsequently generated. 제 1 항 또는 제 2 항에 있어서, 상기 엔코딩 블록은, 상기 코드워드 인덱스 정보에 할당되는 비트값이 1비트 증가할 때마다 상기 인식코드를 이용하여 그에 상응하는 스텝업 코드를 생성하며, 상기 비트수 증가된 코드워드 인덱스 정보의 전송에 앞서 상기 생성된 스텝업 코드를 먼저 송신하는 것을 특징으로 하는 개선된 모뎀용 부호화 시스템.The method according to claim 1 or 2, wherein the encoding block generates a corresponding step-up code using the recognition code whenever the bit value allocated to the codeword index information is increased by one bit. And transmitting the generated step-up code prior to transmitting the number of increased codeword index information. 제 3 항에 있어서, 상기 생성되는 스텝업 코드는, 바로 이전에 발생된 코드워드 인덱스 정보와 동일한 비트수를 갖는 것을 특징으로 하는 개선된 모뎀용 부호화 시스템.4. The improved coding system for a modem according to claim 3, wherein the generated step-up code has the same number of bits as the codeword index information generated immediately before. 코드워드 인덱스 할당 비트 변환 인식을 위한 인식코드를 포함하는 부호 비트스트림 형태로 입력되는 부호 데이터와 코드 테이블내 코드워드들간의 스트링 매칭을 이용하여 상기 입력 부호 데이터를 부호화전의 원신호로 복원하는 모뎀용 복호화 시스템에 있어서,Codeword Index Assignment Modem for reconstructing the input code data to the original signal before encoding using string matching between code data input in the form of code bit stream including recognition code for bit conversion recognition and codewords in code table In the decoding system, 상기 코드 테이블은, 0 및 1 의 기본코드가 소정 어드레스에 각각 등록되며,In the code table, 0 and 1 basic codes are registered at predetermined addresses, respectively. 전송채널을 통해 수신되는 상기 입력 부호 데이터들을 저장하는 메모리;A memory for storing the input code data received via a transport channel; 상기 기본코드보다 적어도 큰 비트길이를 가지며 상기 메모리로부터 제공되는 n 비트의 부호 데이터중 최하위 비트를 제외한 나머지 비트값의 스트링 매칭을 수행하여 상기 n 비트 입력 부호 데이터에 대응하는 m 비트의 코드워드를 복원하며, 이 복원된 코드워드들을 상기 기본코드가 등록된 어드레스 이후의 어드레스에 순차적으로 등록하고, 상기 부호 비트스트림에 포함된 n 비트의 상기 인식코드 정보를 검출하며, 상기 검출된 인식코드 정보에 의거하여 원신호로의 복원을 위해 상기 메모리로부터 제공되는 n 비트 입력 부호 데이터의 비트구간을 결정하는 마스크 결정신호를 발생하는 스트링 매칭 블록;M-bit codeword corresponding to the n-bit input code data is restored by performing string matching of the remaining bit values except the least significant bit among the n-bit code data provided from the memory and having a bit length greater than that of the basic code. Register the reconstructed codewords sequentially at an address after the base code is registered, detect the n-bit recognition code information included in the code bitstream, and based on the detected recognition code information. A string matching block for generating a mask determination signal for determining a bit section of n-bit input code data provided from the memory for restoration to an original signal; 상기 스트링 매칭을 통해 생성되는 m 비트의 코드워드들이 등록될 때 상기 코드 테이블을 탐색하여 동일한 n 비트 길이를 갖는 코드워드들이 모두 등록되었는 지의 여부를 체크하며, 체크결과 동일한 n 비트 길이를 갖는 특정 코드워드들이 모두 등록된 것으로 판단될 때 n-2 비트 길이를 갖는 코드워드들을 클리어시키기 위한 클리어 결정신호를 발생하여 상기 코드 테이블의 소정 어드레스에 등록된 상기 n-2 비트 길이를 갖는 코드워드들을 삭제시키는 갱신 결정 블록; 및When the m-bit codewords generated through the string matching are registered, the code table is searched to check whether all codewords having the same n-bit length are registered, and the specific code having the same n-bit length is checked. When it is determined that all of the words are registered, a clear decision signal for clearing codewords having an n-2 bit length is generated to delete the codewords having the n-2 bit length registered at a predetermined address of the code table. Update decision block; And 상기 스트링 매칭 블록으로부터 제공되는 상기 마스크 결정신호에 따라 결정되는 n 비트의 입력 부호 데이터와 상기 코드 테이블에서 제공되는 상기 등록된 코드워드들간의 매칭을 수행하며, 매칭결과 상기 입력 부호 데이터에 대응하는 인덱스에 등록된 코드워드를 상기 입력 부호 데이터의 복원 데이터로 출력하고, 상기 입력 부호 데이터와 상기 등록된 코드워드간의 매칭을 통한 데이터 복원은 해당 입력 부호 데이터에 상응하는 코드워드의 생성 등록과 병행하여 수행하는 디코딩 블록으로 이루어진 개선된 모뎀용 복호화 시스템.Performing matching between the n-bit input code data determined according to the mask determination signal provided from the string matching block and the registered codewords provided in the code table, and a matching index corresponds to the input code data. Outputs the codeword registered in the data as reconstruction data of the input code data, and data reconstruction through matching between the input code data and the registered codeword is performed in parallel with the generation registration of the codeword corresponding to the input code data. Improved decoding system for a modem consisting of a decoding block. 제 4 항에 있어서, 상기 등록된 코드워드들이 삭제되는 어드레스들은, 이후에 생성되는 다른 코드워드들의 어드레스로 재할당되는 것을 특징으로 하는 개선된 모뎀용 복호화 시스템.5. The improved decoding system of claim 4, wherein the addresses at which the registered codewords are deleted are reassigned to addresses of other codewords that are subsequently generated. 제 4 항 또는 제 5 항에 있어서, 상기 디코딩 블록은, 상기 스트링 매칭 블록으로부터 상기 마스크 결정신호가 제공될 때마다 상기 메모리로부터 제공되는 부호 데이터에 포함된 n 비트의 인식코드를 제거하고, 데이터 복원을 위한 비트구간을 1비트씩 증가시키는 것을 특징으로 하는 개선된 모뎀용 복호화 시스템.6. The decoding block according to claim 4 or 5, wherein the decoding block removes n-bit recognition codes included in code data provided from the memory whenever the mask determination signal is provided from the string matching block, and restores data. Improved decoding system for a modem, characterized in that for increasing the bit interval by one bit. 제 6 항에 있어서, 상기 인식 코드는, 바로 이전에 복원된 부호 데이터와 동일한 비트수를 갖는 것을 특징으로 하는 개선된 모뎀용 복호화 시스템.7. The improved decoding system of claim 6, wherein the identification code has the same number of bits as the code data just recovered.
KR1019970027161A 1997-06-25 1997-06-25 Improving modem coder and decoder KR100244766B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970027161A KR100244766B1 (en) 1997-06-25 1997-06-25 Improving modem coder and decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970027161A KR100244766B1 (en) 1997-06-25 1997-06-25 Improving modem coder and decoder

Publications (2)

Publication Number Publication Date
KR19990003310A KR19990003310A (en) 1999-01-15
KR100244766B1 true KR100244766B1 (en) 2000-02-15

Family

ID=19511124

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970027161A KR100244766B1 (en) 1997-06-25 1997-06-25 Improving modem coder and decoder

Country Status (1)

Country Link
KR (1) KR100244766B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1531218B (en) * 1999-07-06 2010-05-12 三星电子株式会社 Coder and coding method in communication system

Also Published As

Publication number Publication date
KR19990003310A (en) 1999-01-15

Similar Documents

Publication Publication Date Title
US5973630A (en) Data compression for use with a communications channel
US6489902B2 (en) Data compression for use with a communications channel
US6771824B1 (en) Adaptive variable length decoding method
US5703581A (en) Method and apparatus for data compression and decompression
JP3258552B2 (en) Data compression device and data decompression device
US5877711A (en) Method and apparatus for performing adaptive data compression
CN1547805A (en) Method of performing huffman decoding
CA2374389C (en) Lzw data compression/decompression apparatus and method with embedded run-length encoding/decoding
JP2836467B2 (en) Binary symbol encoding / decoding circuit
KR100635794B1 (en) Transmission system using a variable length encoder
US6240213B1 (en) Data compression system having a string matching module
KR100244766B1 (en) Improving modem coder and decoder
Sayood et al. A differential lossless image compression scheme
KR100281321B1 (en) Adaptive Arithmetic Coding and Its Decoding Method
KR100636370B1 (en) Apparatus and method for coding using bit-precision, and apparatus and method for decoding according to the same
US6104323A (en) Data compression apparatus for compensating a deviation of a compression rate
KR19990076303A (en) Data encoding and decoding method for modem
CA2367446C (en) Data compression method and apparatus with embedded run-length encoding
CN117465471A (en) Lossless compression system and lossless compression method for text file
KR100245036B1 (en) Improved encoding system for communication modem and codeword gengration method thereof
KR100443012B1 (en) Decoding process for byte stream of compressed data
KR0164772B1 (en) Variable length coding method for digital image processing
KR100490638B1 (en) Encoding and Decoding Systems for Lossless Encoding of Digital Audio Signals
BC et al. Q-Coder Bit Rate (MSB to LSB)(LSB to MSB) Plane BC GC BC GC BC GC
KR19990026980U (en) Data compression system

Legal Events

Date Code Title Description
A201 Request for examination
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