KR20160021004A - Binary data compression and restoration method and apparatus - Google Patents
Binary data compression and restoration method and apparatus Download PDFInfo
- Publication number
- KR20160021004A KR20160021004A KR1020140153197A KR20140153197A KR20160021004A KR 20160021004 A KR20160021004 A KR 20160021004A KR 1020140153197 A KR1020140153197 A KR 1020140153197A KR 20140153197 A KR20140153197 A KR 20140153197A KR 20160021004 A KR20160021004 A KR 20160021004A
- Authority
- KR
- South Korea
- Prior art keywords
- binary data
- general
- dictionary
- mapping dictionary
- ascending order
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
-
- 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/3066—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction by means of a mask or a bit-map
-
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
본 발명은 이진 데이터의 압축 및 복원 방법과 장치에 관한 것으로서, 보다 구체적으로는 간단한 연산과 하드웨어적 구성을 통해 이진 데이터를 효과적이고 효율적으로 압축하고 복원할 수 있을 뿐만 아니라 데이터 전송 속도와 효율도 향상시킬 수 있는 이진 데이터의 압축 및 복원 방법과 장치에 관한 것이다.
The present invention relates to a method and apparatus for compressing and restoring binary data, and more particularly, to an apparatus and method for efficiently and efficiently compressing and restoring binary data through a simple operation and a hardware configuration, And more particularly to a method and apparatus for compressing and restoring binary data.
일반적으로, 통상의 전송 채널에서 이용 가능한 주파수 대역폭은 제한되어 있으므로, 많은 양의 데이터를 전송하기 위해서 모뎀과 같은 다양한 전송 시스템은 전송 데이터의 양을 압축하거나 줄일 수 있는 효과적인 데이터 압축 기법을 이용해 왔다.In general, since the frequency bandwidth available in a normal transmission channel is limited, various transmission systems such as a modem have used an effective data compression technique to compress or reduce the amount of transmission data in order to transmit a large amount of data.
다양한 압축기법 중의 하나로서, 국제 전기 통신 동맹(ITU : International Telecommunication Union)에 의해 표준화된 부호화 알고리즘으로, 모뎀과 같은 데이터 전송 시스템에서 채용하고 있는 CCITT V.42 bis 가 있다. 이 부호화 표준안에 적용된 기초는 Ziv-Lempel code(ZLC)이며, 이 방식은 입력 데이터로부터 적응적으로 사전을 형성해 가면서 앞의 입력 데이터와 동일한 구문(phrase)이 저장되어 있는 사전의 주소값을 부호어로 전송하는 방법이다. 사전화(dictionary) 작업은 입력 데이터와 계속적인 스트링 매칭(string matching)을 수행하여 최대 길이의 매칭 스트링에 매칭안된 문자를 결합하여 사전에 추가하는 과정으로 사전을 업데이트한다.One of the various compression schemes is the CCITT V.42 bis employed in a data transmission system such as a modem with a coding algorithm standardized by the International Telecommunication Union (ITU). The basis applied to this coding standard is a Ziv-Lempel code (ZLC). In this method, an address value of a dictionary storing the same phrase as the previous input data is formed as a codeword while adaptively forming a dictionary from the input data. Lt; / RTI > The dictionary operation performs a continuous string matching with the input data to update the dictionary by adding the unmatched characters to the maximum matching string and adding them to the dictionary.
그러나, 이러한 종래의 압축 방식은 데이터의 압축 및 복원에 대한 처리 연산이 복잡하고 비교적 고사양의 하드웨어적 장치를 필요로 하며, 처리 속도의 향상에 제한이 따르고 압축 결과값에 대한 신뢰성을 높이기 힘든 문제점이 있었다.
However, such a conventional compression method requires complicated processing of data compression and decompression, requires a relatively high-performance hardware device, limits the improvement of the processing speed, and increases the reliability of the compression result value there was.
본 발명의 배경기술은 대한민국 공개특허공보 제 1999-0022960호(1999. 3. 25 공개)에 개시되어 있다.
The background art of the present invention is disclosed in Korean Patent Laid-Open Publication No. 1999-0022960 (published on Mar. 25, 1999).
본 발명이 이루고자하는 기술적 과제는, 간단한 연산과 하드웨어적 구성을 통해 이진 데이터를 신속하고 효율적으로 압축하고 복원할 수 있고, 압축률도 뛰어나며 압축 데이터 및 복원 데이터의 신뢰성도 높일 수 있을 뿐만 아니라 데이터 전송시 전송효율과 속도도 향상시킬 수 있는 이진 데이터의 압축 및 복원 방법과 장치를 제공하는 데에 있다.
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide a data compression method and a data compression method that can compress and restore binary data quickly and efficiently through simple computation and hardware configuration, And a method and apparatus for compressing and restoring binary data that can improve transmission efficiency and speed.
본 발명의 일 측면에 따르면, 본 발명은 이진데이터 압축장치에 의해 수행되는 이진데이터의 압축방법으로서, 원본 이진데이터를 스캐닝하는 단계; 상기 스캐닝된 원본 이진데이터를 제너럴 클러스터 단위로 분할하여 복수의 제너럴 클러스터를 획득하는 단계; 상기 복수의 제너럴 클러스터의 각 값과, 유니버설 코드 간의 대응관계를 정의한 매핑사전을 생성하는 단계; 및 상기 매핑사전을 참조하여, 상기 원본 이진데이터로부터 복수의 유니버설 코드를 포함하는 압축데이터를 생성하는 단계를 포함하되, 상기 제너럴 클러스터는 상기 원본 이진데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이의 이진수를 포함하는 이진수를 나타내고, 상기 유니버설 코드는 최상위비트의 "10", 0개 이상의 연속된 "1", 및 상기 "10"과 상기 0개 이상의 연속된 "1" 사이에 배치된 적어도 0개 이상의 "0"을 포함하여 구성되는, 것을 특징으로 하는 이진 데이터의 압축방법을 제공한다.According to an aspect of the present invention, there is provided a method of compressing binary data performed by a binary data compression device, comprising: scanning original binary data; Dividing the scanned original binary data into units of a general cluster to obtain a plurality of general clusters; Generating a mapping dictionary defining a corresponding relationship between each value of the plurality of general clusters and the universal code; And generating compressed data including a plurality of universal codes from the original binary data by referring to the mapping dictionary, wherein the general cluster includes a plurality of universal codes, Quot; 10 ", and a binary number comprising a binary number between "10" and the immediately preceding "10 &Quot; and at least zero or more "0" s disposed between the zero or more consecutive "1" s.
본 발명에서, 상기 매핑사전은 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징으로 한다.In the present invention, the mapping dictionary defines a corresponding relationship between each value of the plurality of general clusters sorted in ascending order and a universal code sequentially arranged in ascending order.
본 발명에서, 상기 매핑사전을 생성하는 단계에서, 상기 이진데이터 압축장치는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과 오름차순으로 순차적으로 정렬된 유니버설 코드의 값이 달라질 때부터, 상기 복수의 제너럴 클러스터의 각 값과 상기 유니버설 코드 간의 대응관계를 정의하여 상기 매핑사전을 생성하는 것을 특징으로 한다.In the present invention, in the step of generating the mapping dictionary, the binary data compression apparatus may further include a step of, when the values of the universal codes sequentially aligned in ascending order with the respective values of the plurality of general clusters sorted in ascending order are changed, And generating the mapping dictionary by defining a corresponding relation between each value of the general cluster and the universal code.
본 발명에서, 상기 매핑사전을 생성하는 단계에서, 상기 복수의 제너럴 클러스터의 각 값의 표현시, 각 제너럴 클러스터의 최상의 비트의 "10"을 제외한 "0"의 갯수와 "1"의 갯수의 조합에 의해 표현하는 것을 특징으로 한다.In the present invention, in the step of generating the mapping dictionary, when expressing each value of the plurality of general clusters, a combination of the number of "0" s and the number of "1" Is expressed by the following expression.
본 발명에서, 상기 매핑사전을 생성하는 단계에서, 상기 이진데이터 압축장치는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값을 상위비트 방향 또는 하위비트방향으로 일렬로 배열하여 상기 매핑사전을 생성하는 것을 특징으로 한다.In the present invention, in the step of generating the mapping dictionary, the binary data compression device arranges each value of the plurality of general clusters sorted in ascending order in an upper bit direction or a lower bit direction in a row to generate the mapping dictionary .
본 발명에서, 상기 복수의 제너럴 클러스터를 획득하는 단계에서, 상기 원본 이진데이터의 최상위 비트 앞에 "10"을 추가하여 분할을 수행하는 것을 특징으로 한다.In the present invention, in the step of acquiring the plurality of general clusters, "10" is added to the most significant bit of the original binary data to perform division.
본 발명에서, 상기 매핑사전을 생성하는 단계에서, 상기 원본 이진데이터에 포함된 복수의 제너럴 클러스터를 N개씩 조합하여 클러스터그룹을 생성하여 오름차순으로 정렬하고, 상기 유니버셜 코드를 오름 차순으로 정렬하여 N개씩 조합한 코드그룹을 생성하며, 상기 정렬된 클러스터 그룹과 상기 코드그룹 간의 대응관계를 정의하여 상기 매핑사전을 생성하는 것을 특징으로 한다.In the present invention, in the step of generating the mapping dictionary, a plurality of general clusters included in the original binary data are combined into N cluster groups to generate cluster groups, and the cluster groups are sorted in ascending order, the universal codes are sorted in ascending order, Generating a combined code group, and defining a corresponding relation between the sorted cluster group and the code group to generate the mapping dictionary.
본 발명은 상기 압축데이터와 상기 매핑사전을 결합한 결합데이터를 목적 장치로 전송하는 단계를 더 포함할 수 있다.The present invention may further comprise transmitting the combined data obtained by combining the compressed data and the mapping dictionary to a target device.
본 발명에서, 상기 매핑사전은, 제너럴 클러스터의 출현빈도의 내림차순에 따라 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징한다.In the present invention, the mapping dictionary defines a correspondence relationship between each value of the plurality of general clusters sorted in ascending order of appearance frequency of the general cluster, and a universal code sequentially arranged in ascending order.
본 발명의 다른 측면에 따르면, 본 발명은 이진데이터 압축방법에 의해 압축된 이진 데이터를 복원장치가 복원하는 방법으로서, 복원부가 상기 매핑사전을 참조하여 상기 압축데이터로부터 이진데이터를 복원하는 단계를 포함하는 것을 특징으로 하는, 복원장치의 이진데이터 복원방법을 제공한다.
According to another aspect of the present invention, there is provided a method of restoring binary data compressed by a binary data compression method, wherein the restoration unit restores binary data from the compressed data with reference to the mapping dictionary And a restoration device for restoring the binary data.
본 발명의 또 다른 측면에 따르면, 본 발명은 원본 이진데이터를 스캐닝하고, 상기 스캐닝된 원본 이진데이터를 제너럴 클러스터 단위로 분할하여 복수의 제너럴 클러스터를 획득하는 데이터 스캐닝부; 상기 복수의 제너럴 클러스터의 각 값과, 유니버설 코드 간의 대응관계를 정의한 매핑사전을 생성하는 사전생성부; 및 상기 매핑사전을 참조하여, 상기 원본 이진데이터로부터 복수의 유니버설 코드를 포함하는 압축데이터를 생성하는 압축부를 포함하되, 상기 제너럴 클러스터는 상기 원본 이진데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이의 이진수를 포함하는 이진수를 나타내고, 상기 유니버설 코드는 최상위비트의 "10", 0개 이상의 연속된 "1", 및 상기 최상위 비트의 "0"과 상기 0개 이상의 연속된 "1" 사이에 배치된 적어도 0개 이상의 "0"을 포함하여 구성되는, 것을 특징으로 하는 이진 데이터 압축장치를 제공한다.According to another aspect of the present invention, there is provided a data scanning apparatus comprising: a data scanning unit scanning original binary data, dividing the scanned original binary data into units of a general cluster to obtain a plurality of general clusters; A dictionary generating unit for generating a mapping dictionary defining a corresponding relationship between each value of the plurality of general clusters and the universal code; And a compression unit for generating compressed data including a plurality of universal codes from the original binary data by referring to the mapping dictionary, wherein the general cluster includes: 10 ", and a binary number including a binary number between "10" and the immediately preceding "10 ", and the universal code indicates a binary number consisting of the most significant bit" 10 ", zero or more consecutive & And at least zero or more " 0 "s placed between" 0 "
본 발명에서, 상기 매핑사전은 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징으로 한다.In the present invention, the mapping dictionary defines a corresponding relationship between each value of the plurality of general clusters sorted in ascending order and a universal code sequentially arranged in ascending order.
본 발명에서, 상기 매핑사전의 생성시, 상기 사전생성부는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과 오름차순으로 순차적으로 정렬된 유니버설 코드의 값이 달라질 때부터, 상기 복수의 제너럴 클러스터의 각 값과 상기 유니버설 코드 간의 대응관계를 정의하여 상기 매핑사전을 생성하는 것을 특징으로 한다.In the present invention, at the time of generation of the mapping dictionary, the dictionary generation unit may calculate the number of each of the plurality of generic clusters from the value of the universal codes sequentially aligned in ascending order with the values of the plurality of general clusters sorted in ascending order, And generating the mapping dictionary by defining a corresponding relation between the value and the universal code.
본 발명에서, 상기 매핑사전의 생성함에 있어, 상기 사전생성부는 상기 복수의 제너럴 클러스터의 각 값의 표현시 각 제너럴 클러스터의 최상의 비트의 "10"을 제외한 "0"의 갯수와 "1"의 갯수의 조합에 의해 표현하는 것을 특징으로 한다.In the present invention, in generating the mapping dictionary, the dictionary generation unit may be configured such that, when expressing each value of the plurality of generic clusters, the number of "0" s excluding the " 10 " In the present invention.
본 발명에서, 상기 매핑사전의 생성시, 상기 사전생성부는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값을 상위비트 방향 또는 하위비트방향으로 일렬로 배열하여 상기 매핑사전을 생성하는 것을 특징으로 한다.In the present invention, at the time of generation of the mapping dictionary, the dictionary generation unit generates the mapping dictionary by arranging each value of the plurality of general clusters sorted in ascending order in a line in the upper bit direction or the lower bit direction .
본 발명에서, 상기 복수의 제너럴 클러스터를 획득시, 상기 데이터 스캐닝부는 상기 원본 이진데이터의 최상위 비트 앞에 "10"을 추가하여 분할을 수행하는 것을 특징으로 한다.In the present invention, when acquiring the plurality of general clusters, the data scanning unit performs division by adding "10" to the most significant bit of the original binary data.
본 발명에서, 상기 매핑사전의 생성시, 상기 사전생성부는 상기 원본 이진데이터에 포함된 복수의 제너럴 클러스터를 N개씩 조합하여 클러스터그룹을 생성하여 오름차순으로 정렬하고, 상기 유니버셜 코드를 오름 차순으로 정렬하여 N개씩 조합한 코드그룹을 생성하며, 상기 정렬된 클러스터 그룹과 상기 코드그룹 간의 대응관계를 정의하여 상기 매핑사전을 생성하는 것을 특징으로 한다.In the present invention, at the time of generating the mapping dictionary, the dictionary generation unit generates cluster groups by combining N generic groups included in the original binary data in ascending order, arranges the universal codes in ascending order And generating a mapping dictionary by defining a mapping relationship between the sorted cluster group and the code group.
본 발명은 상기 압축데이터와 상기 매핑사전을 결합한 결합데이터를 목적 장치로 전송하는 송신부를 더 포함할 수 있다.The present invention may further include a transmitter for transmitting the combined data obtained by combining the compressed data and the mapping dictionary to a target device.
본 발명에서, 상기 매핑사전은, 제너럴 클러스터의 출현빈도의 내림차순에 따라 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징으로 한다.In the present invention, the mapping dictionary defines a correspondence relationship between each value of the plurality of general clusters sorted in descending order of appearance frequency of the general cluster, and a universal code sequentially arranged in ascending order.
본 발명의 또 다른 측면에 따르면, 본 발명은 이진데이터 압축장치에 의해 압축된 이진 데이터를 복원하는 장치로서, 상기 매핑사전을 참조하여 상기 압축데이터로부터 이진데이터를 복원하는 복원부를 포함하는 것을 특징으로 하는, 이진데이터 복원장치를 제공한다.
According to another aspect of the present invention, there is provided an apparatus for reconstructing binary data compressed by a binary data compression apparatus, the apparatus comprising: a reconstruction unit for reconstructing binary data from the compressed data by referring to the mapping dictionary; A binary data restoration device.
본 발명에 따른 이진 데이터의 압축 및 복원 방법과 장치는, 간단한 연산과 하드웨어적 구성을 통해 이진 데이터를 신속하고 효율적으로 압축하고 복원할 수 있고, 압축률도 뛰어나며 압축 데이터 및 복원 데이터의 신뢰성도 높일 수 있을 뿐만 아니라 데이터 전송시 전송효율과 속도도 향상시킬 수 있다.
The method and apparatus for compressing and restoring binary data according to the present invention are capable of quickly and efficiently compressing and restoring binary data through a simple operation and a hardware configuration, and also have excellent compression rate and reliability of compressed data and restored data Not only the transmission efficiency and the speed of data transmission can be improved.
도 1은 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축장치 및 복원장치의 구성을 도시한 것이다.
도 2는 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축방법을 설명하기 위한 흐름도이다.
도 3은 본 실시예의 매핑사전에서 제너럴 클러스터와 유니버설 코드 간의 대응관계를 나타낸 일 예이다.
도 4는 이진데이터에서 제너럴 클러스터 값의 순번이 증가함에 따라 제너럴 클러스터의 길이와 그에 대응하는 유니버설 코드의 길이 간의 관계를 예시적으로 나타낸 것이다.1 is a block diagram of a binary data compression apparatus and a decompression apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating a method of compressing binary data according to an embodiment of the present invention.
3 is an example showing the correspondence relationship between the general cluster and the universal code in the mapping dictionary of this embodiment.
FIG. 4 exemplarily shows the relationship between the length of a general cluster and the length of a universal code corresponding thereto as the number of generic cluster values increases in binary data.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and like parts are denoted by similar reference numerals throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.
도 1은 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축장치 및 복원장치의 구성을 도시한 것이고, 도 2는 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축방법을 설명하기 위한 흐름도로서, 이를 참조하여 본 발명에 따른 실시예를 설명하면 다음과 같다.BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram of a binary data compression apparatus and a decompression apparatus according to an embodiment of the present invention. FIG. 2 is a flowchart for explaining a binary data compression method according to an embodiment of the present invention , And an embodiment according to the present invention will be described with reference to the following.
도 1에 도시된 바와 같이, 본 실시예에 따른 이진데이터 압축장치(100)는 데이터 스캐닝부(110), 사전생성부(120), 압축부(130) 및 송신부(140)를 포함한다. 1, the binary
데이터 스캐닝부(110)는 원본 이진데이터를 스캐닝하고, 상기 스캐닝된 원본 이진데이터를 제너럴 클러스터 단위로 분할하여 복수의 제너럴 클러스터를 획득한다. 그리고, 사전생성부(120)는 상기 복수의 제너럴 클러스터의 각 값과, 유니버설 코드 간의 대응관계를 정의한 매핑사전을 생성한다.The
압축부(130)는 상기 매핑사전을 참조하여, 상기 원본 이진데이터로부터 복수의 유니버설 코드를 포함하는 압축데이터를 생성한다.The
송신부(140)는 상기 압축데이터와 상기 매핑사전을 결합한 결합데이터를 복원장치(200) 등의 목적 장치로 전송한다.The
상기에서, 제너럴 클러스터는 상기 원본 이진데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이의 이진수를 포함하는 이진수를 나타내고; 상기 유니버설 코드는 최상위비트의 "10", 0개 이상의 연속된 "1", 및 상기 최상위비트의 "10"과 상기 0개 이상의 연속된 "1" 사이에 배치된 적어도 0개 이상의 "0"을 포함하여 구성된다.In this case, the general cluster represents a binary number including "10" which is encountered while moving from the least significant bit to the upper bit of the original binary data, and a binary number between "10" and the immediately preceding "10" The universal code includes at least 0 "s " arranged between the most significant bit" 10 ", zero or more consecutive "1" s and the most significant bit & .
상기 복수의 제너럴 클러스터의 획득시, 데이터 스캐닝부(110)는 상기 원본 이진데이터의 최상위 비트 앞에 "10"을 추가하여 분할을 수행한다.When acquiring the plurality of general clusters, the
상기 매핑사전은 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징으로 한다.The mapping dictionary defines a correspondence relationship between each value of the plurality of general clusters sorted in ascending order and a universal code sequentially arranged in ascending order.
상기 매핑사전의 생성시, 사전생성부(120)는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과 오름차순으로 순차적으로 정렬된 유니버설 코드의 값이 달라질 때부터, 상기 복수의 제너럴 클러스터의 각 값과 상기 유니버설 코드 간의 대응관계를 정의하여 상기 매핑사전을 생성할 수 있다.When generating the mapping dictionary, the
또한, 사전생성부(120), 상기 매핑사전의 생성함에 있어, 상기 복수의 제너럴 클러스터의 각 값의 표현시 각 제너럴 클러스터의 최상의 비트의 "10"을 제외한 "0"의 갯수와 "1"의 갯수의 조합에 의해 표현할 수 있다.In generating the mapping dictionary, the
또한, 상기 매핑사전의 생성시, 사전생성부(120)는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값을 상위비트 방향 또는 하위비트방향으로 일렬로 배열하여 상기 매핑사전을 생성할 수 있다.When generating the mapping dictionary, the
아울러, 상기 매핑사전의 생성시, 사전생성부(120)는 상기 원본 이진데이터에 포함된 복수의 제너럴 클러스터의 값을 오름 차순으로 정렬하여 N개씩 클러스터그룹으로 조합하고, 상기 유니버셜 코드를 오름 차순으로 정렬하여 N개씩 조합한 코드그룹을 생성하며, 상기 클러스터 그룹과 상기 코드그룹 간의 대응관계를 정의하여 상기 매핑사전을 생성할 수도 있다.When generating the mapping dictionary, the
본 실시예에 따른 이진데이터 복원장치는 상기 매핑사전을 참조하여 상기 이진데이터 압축장치에 의해 압축된 압축데이터로부터 원본 이진데이터를 복원하는 복원부(210)를 포함한다.
The binary data decompression apparatus according to the present embodiment includes a
이와 같이 구성된 본 실시예의 동작 및 작용을 도 1 내지 도 4를 참조하여 구체적으로 설명한다.The operation and operation of the present embodiment thus constructed will be described in detail with reference to Figs. 1 to 4. Fig.
먼저, 데이터 스캐닝부(110)가 원본 이진데이터를 스캐닝하고, 그 스캐닝된 원본 이진데이터를 제너럴 클러스터 단위로 분할하여 복수의 제너럴 클러스터를 획득한다(S201,S202). 이 때, 복수의 제너럴 클러스터의 획득시, 데이터 스캐닝부(110)는 상기 원본 이진데이터의 최상위 비트 앞에 "10"을 추가하여 분할을 수행한다. 또한, 제너럴 클러스터는 이진 데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이의 이진수를 포함하는 이진수를 나타낸다. First, the
모든 이진데이터는 제너럴 클러스터로 분리가 가능한데, 제너럴 클러스터의 분리는 이진데이터의 최상위 비트에서 최하위 비트로 이동하면 처음 만나는 “10”마다 분리하거나 최하위 비트에서 최상위 비트로 이동하면서 처음 만나서 “10”으로 분리할 수 있다.All binary data can be separated into general clusters. The separation of a general cluster can be separated from the most significant bit to the least significant bit of the binary data, separated from each other by a first "10" or moved from the least significant bit to the most significant bit, have.
예를들어, 10011011010101011010101011 이라는 이진수 데이터는For example, binary data 10011011010101011010101011
==> 1001 / 101 / 10 / 10 / 10 / 101 / 10 / 10 / 10 / 1011 과 같이 10개의 제너럴 클러스터로 구분이 될 수 있다. 10 generic clusters can be divided into 10 general clusters as shown in FIG.
만약, 원본 이진데이터의 최상위 비트가 "10"으로 시작하지 않는 경우에는, 상술한 바와 같이 원본 이진데이터를 분할하기 전에 무조건 원본 이진데이터 앞에 "10"을 추가한 뒤, 향후 압축해제(복원)시 최상위 비트의 "10"을 제거하는 방식으로 원본 이진데이터를 복원하면 된다. 이렇게 최상위를 “10”으로 만들어주는 방법은 매우 다양하다.If the most significant bit of the original binary data does not start with "10 ", as described above, unconditionally add" 10 "before the original binary data before dividing the original binary data, The original binary data can be restored by removing the most significant bit "10 ". There are many ways to make the top 10 "10".
예를 들어, 1111000101010101 과 같은 이진수라면,For example, if the binary number is 1111000101010101,
111 / 1000 / 10 / 10 / 10 / 101 로 구분이 되는데, 맨앞은 111 로서, "10"이 존재하지 않기 때문에 제너럴 클러스터를 생성하는 조건을 만족하지 못한다. 따라서, 이와 같은 경우 무조건 압축시작시에 최상위비트 위치에, "10"을 붙인뒤 제너럴 클러스터로 구분한다. 즉,111/1000/10/10/10/101, the front is 111, and since the "10" does not exist, the condition for generating the general cluster is not satisfied. Therefore, in such a case, "10" is added to the most significant bit position at the start of unconditional compression, and then classified into a general cluster. In other words,
101111000101010101101111000101010101
===> 10111 / 1000 / 10 / 10 / 10 / 101 로 바이너리 클러스터가 나뉜다. 복원(압축해제) 시에는, 최상위 비트의 "10"은 최종 복원데이터에서 제거하는 방법으로 완벽하게 원본 이진데이터를 복원할 수 있다.===> 10111/1000/10/10/10/101 The binary cluster is divided. At restoration (decompression), "10" of the most significant bit can be completely recovered from the original restored data by the method of removing it from the final restored data.
다음으로, 사전생성부(120)가 상기 복수의 제너럴 클러스터의 각 값과, 유니버설 코드 간의 대응관계를 정의한 매핑사전을 생성한다(S203). 이를 좀 더 구체적으로 설명하면 아래와 같다.Next, the
예를 들어, 아래와 같은 604842 bit의 실제의 어떤 파일의 이진데이터를 제너럴 클러스터 단위로 분리할 수 있다.For example, binary data of a real file of 604842 bits as shown below can be divided into general cluster units.
1001010000010010110000001100000100000101000000000000000110000000000000100000000000000000000000000000100001000000000011011011110111111010010111000011011101000000010000000000000000010001100000110000000000000000000001001100000000000010000000001001011011010000110110111101101110011101000110010101101110011101000101111101010100011110010111000001100101011100110101110100101110011110000110110101101100001000001010001000000100000000100010100010100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000..........1001010000010010110000001100000100000101000000000000000110000000000000100000000000000000000000000000100001000000000011011011110111111010010111000011011101000000010000000000000000010001100000110000000000000000000001001100000000000010000000001001011011010000110110111101101110011101000110010101101110011101000101111101010100011110010111000001100101011100110101110100101110011110000110110101101100001000001010001000000100000000100010100010100000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ..........
상기 이진데이터를 제너럴 클러스터별로 분할하면 표 1과 같다. 아래 예는 최상위 비트로부터 최하위 비트로 이동하면서 제너럴 클러스터를 구분한 결과이다. 전체적으로 상기 예시의 경우, 138472개의 제너럴 클러스터로 분할되었고, 2비트 짜리에서부터 4099비트 짜리까지 전체 201종으로 구성되었다. 아래 표 1은 그 일부를 보인 것이다.Table 1 shows the binary data divided into general clusters. The following example is a result of dividing a general cluster by moving from the most significant bit to the least significant bit. In the above example, 138472 general clusters are divided into a total of 201 species ranging from 2 bits to 4099 bits. Table 1 below shows some of them.
이제 이렇게 구분된 제너럴 클러스터를 비트수 길이에 따른 오름차순으로 정렬하면 표 2와 같다. 한편, 제너럴 클러스터의 정렬 기준과 관련하여 본 실시예에서는 제너럴 클러스터의 비트수 길이의 오름차순 정렬기준을 이용하는 것을 중심으로 하여 기술하고 있으나, 실시예에 따라서는 제너럴 클러스터의 출현빈도수의 내림차순 정렬기준을 이용하여 정렬한 뒤 이하의 과정을 수행하도록 할 수도 있다.Table 2 summarizes these generalized clusters in ascending order according to the number of bits. In the present embodiment, in accordance with the sorting criterion of the general cluster, an ascending sorting criterion of the number of bits of the general cluster is mainly used. However, according to the embodiment, the descending sorting criterion of the occurrence count of the general cluster is used And then perform the following process.
이렇게 정렬된 최소길이의 제너럴 클러스터로부터 최대길이의 바이너리 클러스터까지의 값에 1:1로 대응되는 유니버설 코드(universal code)를 자동으로 생성하여 대응시켜서 매핑사전을 생성한다. 여기서, 유니버설 코드는 최상위비트의 "10", 0개 이상의 연속된 "1", 및 상기 최상위비트의 "10"과 상기 0개 이상의 연속된 "1" 사이에 배치된 적어도 0개 이상의 "0"을 포함하여 구성된다. 상기 매핑사전은 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징으로 한다. 후술하는 바와 같이, 압축부(130)는 원본 이진데이터의 모든 제너럴 클러스터에 대하여 해당 유니버설 코드를 1:1 매핑 치환함으로써 압축이 되고, 반대과정을 거치면 복원(압축해제)이 된다.A mapping dictionary is generated by automatically generating and associating a universal code corresponding to 1: 1 from the aligned minimum length general cluster to the maximum length binary cluster. Here, the universal code includes at least 0 " 0 "s arranged between the most significant bit" 10 ", zero or more consecutive "1 ", and the most significant bit & . The mapping dictionary defines a correspondence relationship between each value of the plurality of general clusters sorted in ascending order and a universal code sequentially arranged in ascending order. As will be described later, the
이 때, 이러한 1:1 제너럴 클러스터 - 유니버설 코드 매핑 테이블(매핑사전)은 그대로 압축결과화일에 포함시킬 수도 있고, 공지된 다양한 압축방법을 이용하여 별도의 압축과정을 통해 보다 작은 형태로 압축결과화일에 담을 수도 있다. 특히 제너럴 클러스터의 길이가 긴 것의 경우, 대부분 RUN-LENGTH code형태로서, RLE방식으로 효과적으로 사전을 압축할 수 있다. In this case, the 1: 1 general cluster-universal code mapping table (mapping dictionary) may be included in the compression result file as it is or may be compressed in a smaller form through a separate compression process using various known compression methods. . Especially, when the length of the general cluster is long, most of the RL-LENGTH codes can be effectively compressed by the RLE method.
특히, 오름차순으로 정렬된 복수의 제너럴 클러스터의 각 값과, 이에 대응하여 오름차순으로 순차적으로 정렬된 유니버설 코드가 최초로 불일치하는 위치에서부터 매핑사전을 생성하여도 무방하다. 이것은 유니버설 코드와 제너럴 클러스터가 일치하는 부분은 유니버설 코드를 가장 작은 값부터 순차적으로 자동 생성함으로써 각 제너럴 클러스터와의 매핑관계까지 모두 알 수 있기 때문이다. 이런 방식을 쓰면 매핑사전의 크기를 보다 더 줄일 수 있다.In particular, the mapping dictionary may be generated from a position where the values of a plurality of general clusters aligned in ascending order and the universal codes sequentially aligned in ascending order correspond to the first disagreement. This is because the portion where the universal code and the general cluster coincide is automatically generated by sequentially starting from the smallest value of the universal code so that the mapping relation with each general cluster can be known. This way, you can further reduce the size of the mapping dictionary.
예를 들어, 아래 표 3에 표시된 바와 같이, 좌측의 제너럴 클러스터와 우측의 유니버설 코드가 일치하는 부분은 제너럴 클러스터의 길이가 짧을 경우 더 높은 확률로 나타나게 되는데, 아래와 같이, 적어도 제너럴 클러스터 10,100,101,1000,1001,1011,....와 유니버설 코드 10,100,101,1000,1001,1011,...는 일치하고, 이에 대해서는 유니버설 코드를 가장 작은 값부터 순차적으로 생성함으로써 자동으로 생성할 수 있기 때문에, 최초로 바이너리 클러스터와 유니버설 코드가 불일치하는 부분부터 매핑사전을 생성하면 매핑사전의 크기를 줄일 수 있다.For example, as shown in Table 3 below, the portion where the left common cluster coincides with the right universal code appears at a higher probability when the length of the general cluster is short. At least the
클러스터 General
cluster
출현빈도Within Original Data
Appearance frequency
클러스터 길이General
Cluster length
(U code)Universal code
(U code)
한편, 유니버설 코드는, 10으로부터 시작하여 차례대로 자동적으로 생성되는데, 각각은 "10", "1011(10/11)","1000111(10/00/111)" 등과 같이 각 유니버설 코드의 최하위 비트로부터 연속된 적어도 0개 이상의 "1", 최상위비트로부터 배치된 "10", 및 상기 연속된 적어도 0개 이상의 "1"과 상기 최상위비트로부터 배치된 "10" 사이에 배치되는 적어도 0개 이상의 연속된 "0"을 포함하여 구성된다. 이러한 조건을 만족하는 유니버설 코드 중 비트길이가 가장 작은 이진수는 "10"이 되며, 그 이후로 100, 101, 1000, 1001, 1011, 10000, 10001, 10011, 10111, 100000...와 같이 오름차순으로 순차적으로 나열할 수 있다.On the other hand, a universal code is automatically generated in order starting from 10, and each of the universal codes is automatically generated in the order of 10, 1011 (10/11), 1000111 (10/00/111) Quot; 1 "arranged from the most significant bit and " 10 " arranged from the most significant bit, and at least zero or more consecutive Quot; 0 " Among the universal codes satisfying these conditions, the binary number having the smallest bit length becomes "10 ", and thereafter, in ascending order such as 100, 101, 1000, 1001, 1011, 10000, 10001, 10011, 10111, You can list them sequentially.
여기서 알 수 있는 바와 같이, 유니버설 코드는 반드시 맨 앞에 "10"을 가지고 있어야 하며, 이후 비트자릿수를 늘려 가면서 최하위비트로부터 "1"의 갯수를 늘려가되 최상위비트 쪽에 "10"은 반드시 남아 있어야 하고 "101111"과 같이 "10" 다음에 더 이상 "0"이 존재하지 않게 되면 비트자릿수를 한자리 늘려서 "1000000"로 넘어가게 된다. 이러한 유니버설 코드를 비트 길이가 작은 것부터 순차적으로 나열하여 각각에 대해 원본 이진데이터의 제너럴 클러스터와 대응시키면 아래의 표4와 같이 대응시킬 수 있다. 여기서, 순번은 원본 이진데이터에 포함된 제너럴 클러스터의 값을 오름차순으로 나열했을 때 각 제너럴 클러스터에 대응되는 순번을 의미한다.As can be seen here, the universal code must have a "10" at the beginning, then increase the number of bits and increase the number of "1" s from the least significant bit, while the "10" If there is no more "0" after "10", as in "101111", the number of bits is increased by one digit to "1000000". These universal codes are sequentially arranged from the smallest bit length to the common cluster of the original binary data, and they are corresponded to each other as shown in Table 4 below. Here, the order numbers refer to the order numbers corresponding to the respective general clusters when the values of the general clusters included in the original binary data are listed in ascending order.
이렇게 각 제너럴 클러스터의 값을 오름차순으로 정렬한 결과에 상기 생성된 유니버설 코드를 매핑한 결과는 표 5와 같다. 표 5에 표시된 바와 같이, 제너럴 클러스터의 비트수가 작을 때에는 유니버설 코드도 동일한 비트로 함께 성장하므로, 압축효과가 없다.Table 5 shows the result of mapping the generated universal codes to the result of sorting the values of each general cluster in ascending order. As shown in Table 5, when the number of bits in the general cluster is small, the universal code also grows with the same bit, so there is no compression effect.
클러스터 General
cluster
출현빈도Within Original Data
Appearance frequency
그러나, 상기 표 5에서 이어지는 표 6을 보면, 아직 압축되지 않은 원본 이진데이터에서 제너럴 클러스터의 길이는 통상적으로 유니버설 코드보다도 더 빠른속도로 증가하고 있음을 확인할 수 있고, 이에 따라 유니버설 코드 길이와 제너럴 클러스터의 코드길이가 차이가 나기 시작한다. 이와 같이 유니버설 코드와 제너럴 클러스터 간에 길이가 불일치하는 클러스터가 많고, 그러한 클러스터의 빈도가 높을수록 압축 효율은 높아지게 된다.However, according to Table 6 below, it can be seen that the length of the general cluster in the original uncompressed original binary data increases at a speed higher than that of the universal code, and accordingly, the length of the universal code, The code length of the code starts to differ. As described above, there are many clusters whose lengths are inconsistent between the universal code and the general cluster, and the higher the frequency of the clusters, the higher the compression efficiency.
출현빈도Within Original Data
Appearance frequency
(delta)Difference between universal code and general cluster length
(delta)
도 3은 본 실시예의 매핑사전에서 제너럴 클러스터와 유니버설 코드 간의 대응관계를 나타낸 일 예이다. 도 3에 도시된 예에서, 아래에서 세 번째의 경우 2049 비트짜리 1개의 제너럴 클러스터에, 21비트짜리 201번째 유니버설 코드만으로도 심볼화가 가능하다. 이 때 2049 - 21 = 2028 비트의 압축효과가 있고, 이러한 제너럴 클러스터가 3개 나타났으므로 6084 비트의 압축효과가 상기 제너럴 클러스터에서 나타나게 된다.3 is an example showing the correspondence relationship between the general cluster and the universal code in the mapping dictionary of this embodiment. In the example shown in FIG. 3, in the third case from below, it is possible to symbolize only one 21-bit universal code of 2049 bits in one general cluster. At this time, there is a compressing effect of 2049 - 21 = 2028 bits. Since three such general clusters have appeared, a compressing effect of 6084 bits appears in the general cluster.
상기의 사항을 그래프로 다시 표현하면 도 4와 같다. 도 4는 이진데이터에서 제너럴 클러스터 값의 순번이 증가함에 따라 제너럴 클러스터의 길이와 그에 대응하는 유니버설 코드의 길이 간의 관계를 예시적으로 나타낸 것이다. 제너럴 클러스터의 길이가 불규칙적으로 증가하는 시점부터는, 제너럴 클러스터의 길이는 유니버설 코드의 성장길이보다도 매우 급격하게 증가하여 그 비트수의 차이가 나타남을 알 수 있고, 이 차이가 있는 부분에서 압축의 효과가 발생하는 것이다.The above matters are expressed in a graph as shown in FIG. FIG. 4 exemplarily shows the relationship between the length of a general cluster and the length of a universal code corresponding thereto as the number of generic cluster values increases in binary data. From the point at which the length of the general cluster increases irregularly, it can be seen that the length of the general cluster increases more sharply than the growth length of the universal code, and the difference in the number of bits appears. It happens.
이와 같은 원리에 따라 수리적으로 압축효과가 나타남을 알 수 있으며, 원본 이진데이터의 각 제너럴 클러스터를 1:1로 유니버설 코드로 치환하기 위한 매핑사전을 구현하는 방법을 구체적으로 설명하면 다음과 같다.A method of implementing a mapping dictionary for replacing each general cluster of original binary data with a universal code by 1: 1 will be described in detail as follows.
아래 표 7과 같이, 원본 이진데이터를 구성하는 제너럴 클러스터를 오름차순으로 정렬하면, 길이 17인, "10000000000000000" 에서 처음으로 유니버설 코드와 불일치가 발생하기 시작한다. 이 위치는 유니버설 코드의 순번으로는 120번 위치이다.
As shown in Table 7 below, when the general clusters constituting the original binary data are sorted in the ascending order, the inconsistency with the universal code starts to occur for the first time at "1700000000000000" having the length of 17. This position is
General cluster
(U code)Universal code
(U code)
(delta)Difference between universal code and general cluster length
(delta)
상술한 바와 같이, 사전생성부(120)는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과 오름차순으로 순차적으로 정렬된 유니버셜 코드의 값이 달라질 때부터, 상기 복수의 제너럴 클러스터의 각 값과 상기 유니버셜 코드 간의 대응관계를 정의하여 매핑사전을 생성할 수 있다. As described above, the
또한, 상기 매핑사전의 생성시, 사전생성부(120)는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값을 상위비트 방향 또는 하위비트방향으로 일렬로 배열하여 상기 매핑사전을 생성할 수 있다. 이 때, 매핑사전은 비트길이가 가장 짧은 제너럴 클러스터로부터 시작하여 오름차순으로 작성될 수도 있고; 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과 오름차순으로 순차적으로 정렬된 유니버셜 코드의 값이 달라질 때부터 작성될 수도 있다.When generating the mapping dictionary, the
그 두번째 경우를 예로 들면, 매핑 사전은 표 8과 같이 제너럴 클러스터 길이 17인, "10000000000000000" 부터 일렬로 붙여서 가장 긴 제너럴 클러스터까지 순차적으로 이어 붙이고, 유니버설 코드의 순번 120을 저장하는 형태로 완성할 수 있다.
Taking the second case as an example, the mapping dictionary can be completed in the form of storing the
매핑 사전의 실제적인 모습은 다음과 같다. 이때 "/" 는 가상적인 구분자이며 실제로는 존재하지 않아도 제너럴 클러스터의 유일복호성에 따라 상기 표 8과 같이 정확하게 복원된다. 그리고, 오름차순으로 순차적으로 나열할 때 120번째 순번의 유니버설 코드, 즉 10000000000000000부터 아래의 매핑사전의 제너럴 클러스터에 차례로 대응된다. 상기에서 유일복호성이란 아래와 같이 생성된 매핑사전에서 제너럴 클러스터가 복호화되는 방법이 하나밖에 없다는 것을 의미하는 것으로, 바이너리 형태의 매핑사전은 최하위 비트로부터 시작하여 "10"을 만날 때마다 바로 그 앞에서 분리하여 각각의 제너럴 클러스터가 분리된다.The actual appearance of the mapping dictionary is as follows. At this time, "/" is a virtual delimiter, and even if it does not exist, it is correctly restored as shown in Table 8 according to the unique decryption property of the general cluster. When sequentially sequenced in the ascending order, the universal codes of the 120th order, that is, from 10000000000000000 to the general clusters of the mapping dictionaries below are sequentially mapped. In the above description, the singularity means that there is only one method for decoding the general cluster in the mapping dictionary generated as follows. The binary type mapping dictionary starts from the least significant bit and is separated from the front bit every time it encounters "10" Each general cluster is separated.
10000000000000000 / 10000000000000001 /10000000000000011 / ........... / 10000000000000000000000 / ......... 10000000000000000/10000000000000001/10000000000000011 / ........... / 10000000000000000000000 / .........
한편, 상기 매핑사전을 생성하는 단계(S203)에서, 복수의 제너럴 클러스터의 각 값의 표현시, 각 제너럴 클러스터의 최상의 비트의 "10"을 제외한 "0"의 갯수와 "1"의 갯수의 조합에 의해 표현하여 매핑사전을 생성할 수도 있다. 매핑사전 내 제너럴 클러스터는 연속된 0, 1 이 다수의 빈도로 연속된 형태로 나타나는 경우가 매우 많으므로, 아래 표 9와 같이 제너럴 클러스터의 최상위비트 위치의 "10"을 제외한 이후부터의 연속된 "0"의 갯수, 연속된 "0" 이후에 연속된 "1"의 갯수의 형태로 조합하여, 매핑사전을 숫자형태로 표현하는 방법도 매우 효과적일것이다.On the other hand, in the step of generating the mapping dictionary (S203), when expressing each value of the plurality of general clusters, a combination of the number of "0" s and the number of "1" To generate a mapping dictionary. Since the generic clusters in the mapping dictionary often show consecutive 0's and 1's in a continuous form at a plurality of frequencies, a continuous "10 " 0 "and the number of consecutive " 1" s after consecutive "0 "
즉, 매핑사전의 형태는 (15,0)(14,1)(13,2)(12,3)(8,7),....(4,12)...형태의 제너럴 클러스터와, 제너럴 클러스터와 유니버설 코드가 처음으로 불일치할 때의 유니버설 코드의 생성 순번 정보의 조합, 즉 (X.X)...(X.X) + 순번정보 형태가 될 수 있을 것이다. That is, the form of the mapping dictionary is (15,0) (14,1) (13,2) (12,3) (8,7), ... (4,12) (XX) ... (XX) + sequential information form of the generation sequence information of the universal code when the universal code first disagrees with the general cluster.
상기와 같은 매핑사전 정보를 저장하고, 메모리 상에서 매핑사전 정보를 팽창시키면, 아래 표 10과 같은 형태가 될 것이다. 즉, 첫번째 매핑사전 생성방법(표 8 이하의 방법)에 따라서 생성된 매핑사전When the mapping dictionary information is stored and the mapping dictionary information is expanded in the memory, the mapping information will be as shown in Table 10 below. That is, the mapping dictionary generated according to the first mapping dictionary creation method (the method described below in Table 8)
10000000000000000 / 10000000000000001 /10000000000000011 / ........... / 10000000000000000000000 / ......... 10000000000000000/10000000000000001/10000000000000011 / ........... / 10000000000000000000000 / .........
에서, 오름차순으로 정렬된 제너럴 클러스터의 각 값과 오름차순으로 순차적으로 정렬된 유니버셜 코드의 값이 달라질 때부터의 순번정보가 120 일 경우, 순번정보 1~ 119 번까지는 유니버설 코드와 제너럴 클러스터가 일치하므로 자동적으로 제너럴 클러스터의 값과 유니버설 코드 간의 대응관계를 생성할 수 있고, 순번 정보 120부터는 상기 바이너리 형태의 매핑사전을 각각 제너럴 클러스터의 유일복호성을 이용하여 분리한 뒤, 순번정보 120부터의 유니버설 코드를 오름차순으로 순차적으로 자동적으로 생성하여 매핑할 수 있다. 이렇게 하면, 아래 표 10과 같이 압축 및 복원을 위한 사전 생성된다.The universal code and the general cluster are identical to each other in the
다음으로, 압축부(130)는 상기 매핑사전을 참조하여, 원본 이진데이터로부터 복수의 유니버설 코드를 포함하는 압축데이터를 생성한다(S204). 즉, 상기 생성된 매핑사전(상기 팽창된 매칭사전)을 참조하여, 단계(S202)에서 분할된 원본 이진데이터의 각각의 제너럴 클러스터를 이에 대응하는 유니버설 코드로 치환하여 합침으로써 압축데이터를 생성할 수 있다. Next, the
이어서, 송신부(140)는 상기 압축데이터와 상기 매핑사전을 결합한 결합데이터를 복원 장치(200) 등의 목적 장치로 전송한다(S205). Then, the transmitting
이와 같이 압축된 압축데이터를 전송함으로써 데이터 전송 속도 및 전송 효율을 향상시킬 수 있다. By transmitting the compressed data in this way, the data transmission rate and transmission efficiency can be improved.
한편, 매핑사전을 생성하는 또 다른 응용예에 대해서 살펴보면, 매핑사전을 생성하는 단계(S203)에서, 사전생성부(120)는 원본 이진데이터에 포함된 복수의 제너럴 클러스터를 N개씩 조합하여 클러스터그룹을 생성하여 오름차순으로 정렬하고, 상기 유니버셜 코드를 오름 차순으로 정렬하여 N개씩 조합한 코드그룹을 생성하며, 상기 정렬된 클러스터 그룹과 상기 코드그룹 간의 대응관계를 정의하여 상기 매핑사전을 생성할 수도 있다. 이를 좀 더 자세히 살펴 보면 다음과 같다.Meanwhile, in another exemplary application for generating a mapping dictionary, in step S203 of generating a mapping dictionary, the
원본 이진데이터를 2개이상의 제너럴 클러스터 단위로 분리하고, 길이에 따라 오름차순으로 정렬한 뒤 예를 들어 2개씩 묶어서 클러스터그룹을 생성하고, 유니버설 코드도 오름차순으로 순차적으로 정렬한 뒤 예를 들어 2개씩 묶어서 코드그룹을 생성한다. 그리고, 이렇게 하여 생긴 각각의 클러스터그룹과 코드그룹을 1:1로 대응시켜 매핑사전을 생성한다. 이 때 묶는 제너럴 클러스터의 갯수와 유니버설 코드의 갯수는 상기와 같이 2개(2차)가 될 수 있을 뿐만 아니라, 설정에 따라서는 자연수 N개(N차)가 될 수도 있다. The original binary data is divided into two or more general cluster units and sorted in ascending order according to the length. Then, for example, two cluster groups are created by grouping them in ascending order, and the universal codes are also sequentially sorted in ascending order. Create a code group. Then, a mapping dictionary is generated by associating each cluster group and code group thus generated with 1: 1. In this case, the number of the general clusters and the number of the universal codes that are combined at this time can be not only two (secondary) as described above, but also N (natural) numbers depending on the setting.
원본 이진데이터를 N개씩의 제너럴 클러스터 단위(클러스터그룹)로 분리할 경우, 각각의 클러스터그룹은 매핑사전에 근거하여 N개씩의 유니버설코드(코드그룹)에 1;1로 매핑된다. 아래 표 11은 그 결과를 예시적으로 표현한 것이다.When original binary data is divided into N general cluster units (cluster groups), each cluster group is mapped to N universes (code groups) 1: 1 based on a mapping dictionary. Table 11 below is an exemplary representation of the results.
클러스터General
cluster
예를 들어 2차 코드그룹을 생성하는 방법에 대해 살펴 보면, 2 개의 유니버설 코드를 조합하여 유니버설 코드의 그룹(코드그룹)을 생성하면 표 12와 같다.For example, a method of generating a secondary code group will be described. A universal code group (code group) is generated by combining two universal codes as shown in Table 12.
표 12에 표시된 바와 같이 2개의 유니버설 코드그룹 각각에 대하여 비트길이가 작은 수부터 순차적으로 이진수를 만들어 가게 된다. 이렇게 여러 개의 코드를 조합하게 되면, 전체적으로 단일 코드만으로 특정 정수값을 부호화한 결과값보다는 부호화 결과가 짧은 비트길이를 형성하게 된다. As shown in Table 12, for each of the two universal code groups, a binary number is sequentially generated starting from a bit having a small bit length. Combining multiple codes in this way results in a shorter bit length than the result of encoding a particular integer value with a single code as a whole.
그런데, 표 12의 경우에는, 처음에 첫번째 코드를 "10"으로 고정하고, 다음 코드는 "10"에서 계속 다음 단계인 "100", "101", "1000", "1001", "1011",... 순으로 선택하였는바, 이보다 더 효과적으로 2개의 코드를 조합하여 부호화를 수행할 수 있는 방법도 있을 수 있다. 이러한 방법의 일 예로서, 각각의 조합에 사용되는 최대비트 길이의 코드를 부호화하고자 하는 원본 이진데이터의 갯수에 따라 선택하는 것을 생각해 볼 수 있다. 예를 들어, 100개의 원본 이진데이터에 대하여 부호화데이터를 만들려고 하는 경우, 100개의 순번에 대해 2개의 코드로 구성된 유니버설 코드그룹을 만든다면, 100의 제곱근값인 10 이상의 최소의 자연수 10개의 가장 작은 코드를 조합하여 유니버설 코드를 만들고, 최종 생성된 코드를 비트수 길이대로 오름차순 정렬하여 상위 100개를 취하여 최종 유니버설 코드로 하면 된다. 즉,아래 표 13에서 비트길이가 짧은 순서대로 "10"~"10111"까지의 코드가 필요하다.
In the case of Table 12, the first code is fixed to "10" at the beginning, and the next code is "100", "101", "1000", "1001" , ..., and so on. However, there may be a method that can perform encoding by combining two codes more effectively. As an example of such a method, it is conceivable to select the code of the maximum bit length used for each combination according to the number of original binary data to be encoded. For example, if you want to create encoded data for 100 original binary data, if you create a universal code group consisting of two codes for 100 sequences, you would have a minimum natural number of 10, the square root of 100, The codes are combined to create a universal code, and the final generated code is sorted in ascending order of the number of bits and the top 100 is taken as the final universal code. That is, the code from "10" to "10111"
그리고, 이러한 코드들을 중복을 허락하여 2개씩 조합하게 되면 10*10=100And, if two codes are combined by allowing these codes to be duplicated, 10 * 10 = 100
개의 조합된 부호화 데이터(코드그룹)가 생성되고, 이 부호화 데이터를 비트길이에 따라 오름차순으로 정렬한 뒤, 비트길이(비트수)가 짧은 순으로 상위 100개만을 추출하면, 100개 순번까지 유니버설 코드를 자동적으로 생성할 수 있게 되는 것이다.
(Code group) are generated. When the encoded data is sorted in ascending order according to the bit length and only the upper 100 bits are extracted in the order of the shorter bit length (the number of bits) Can be automatically generated.
상기와 같은 과정을 통해 이진 데이터가 압축되어 전송되면, 이진 데이터 복원장치(200)는 수신부(210)를 통해 상기 압축데이터를 수신하여 복원부(220)에 전달한다. 복원부(220)는 상기 결합데이터(압축데이터+매핑사전)에 포함되어 있는 상기 매핑사전을 참조하여, 상기 압축데이터로부터 원본 이진 데이터를 복원한다. 이 때 복원부(220)는 상술한 압축과정과는 반대의 과정을 통해 이진 데이터를 복원한다. 이 때, 복원부(220)는 상기 매핑사전을 참조하여 복원된 이진데이터에서 최상위비트에 있는 "10"을 삭제하여 최종적인 원본 이진데이터를 복원한다. 이것은 상술한 압축과정에 최상위비트에 추가된 "10"을 삭제하기 위한 것이다.
When the binary data is compressed and transmitted through the above process, the binary
이상 살펴 본 바와 같이, 본 실시예에 따른 이진 데이터의 압축 및 복원 방법과 장치는, 간단한 연산과 하드웨어적 구성을 통해 이진 데이터를 신속하고 효율적으로 압축하고 복원할 수 있고, 압축률도 뛰어나며 압축 데이터 및 복원 데이터의 신뢰성도 높일 수 있을 뿐만 아니라 데이터 전송시 전송효율과 속도도 향상시킬 수 있다.As described above, the method and apparatus for compressing and restoring binary data according to the present embodiment can quickly and efficiently compress and restore binary data through a simple operation and a hardware configuration, Not only the reliability of the restored data can be increased, but also the transmission efficiency and speed can be improved in data transmission.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고, 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
While the invention has been shown and described in detail in the foregoing description, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art, Of the right.
100 : 이진데이터 압축장치
110 : 데이터 스캐닝부
120 : 사전생성부
130 : 압축부
140 : 송신부
200 : 이진데이터 복원장치
210 : 수신부
220 : 복원부100: binary data compression device
110: Data scanning unit
120:
130:
140:
200: Binary data restoration device
210:
220:
Claims (20)
원본 이진데이터를 스캐닝하는 단계;
상기 스캐닝된 원본 이진데이터를 제너럴 클러스터 단위로 분할하여 복수의 제너럴 클러스터를 획득하는 단계;
상기 복수의 제너럴 클러스터의 각 값과, 유니버설 코드 간의 대응관계를 정의한 매핑사전을 생성하는 단계; 및
상기 매핑사전을 참조하여, 상기 원본 이진데이터로부터 복수의 유니버설 코드를 포함하는 압축데이터를 생성하는 단계를 포함하되,
상기 제너럴 클러스터는 상기 원본 이진데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이의 이진수를 포함하는 이진수를 나타내고,
상기 유니버설 코드는 최상위비트의 "10", 0개 이상의 연속된 "1", 및 상기 최상위비트의 "10"과 상기 0개 이상의 연속된 "1" 사이에 배치된 적어도 0개 이상의 "0"을 포함하여 구성되는, 것을 특징으로 하는 이진 데이터의 압축방법.
A method of compressing binary data performed by a binary data compression apparatus,
Scanning the original binary data;
Dividing the scanned original binary data into units of a general cluster to obtain a plurality of general clusters;
Generating a mapping dictionary defining a corresponding relationship between each value of the plurality of general clusters and the universal code; And
Generating compressed data including a plurality of universal codes from the original binary data by referring to the mapping dictionary,
Wherein the general cluster represents a binary number including "10" to meet in moving from the least significant bit to the most significant bit of the original binary data, and a binary number between "10"
The universal code includes at least 0 "s " arranged between the most significant bit" 10 ", zero or more consecutive "1" s and the most significant bit & And compressing the binary data.
상기 매핑사전은 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징으로 하는 이진데이터 압축방법.
The method according to claim 1,
Wherein the mapping dictionary defines a mapping relationship between each value of the plurality of general clusters sorted in ascending order and a universal code sequentially arranged in ascending order.
상기 매핑사전을 생성하는 단계에서,
상기 이진데이터 압축장치는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과 오름차순으로 순차적으로 정렬된 유니버설 코드의 값이 달라질 때부터, 상기 복수의 제너럴 클러스터의 각 값과 상기 유니버설 코드 간의 대응관계를 정의하여 상기 매핑사전을 생성하는 것을 특징으로 하는, 이진데이터 압축방법.
3. The method of claim 2,
In the step of generating the mapping dictionary,
Wherein the binary data compression device calculates a correspondence relationship between each value of the plurality of general clusters and the universal code from a value of a universal code sequentially aligned in ascending order with each value of the plurality of general generators sorted in an ascending order To generate the mapping dictionary. ≪ Desc / Clms Page number 19 >
상기 매핑사전을 생성하는 단계에서,
상기 복수의 제너럴 클러스터의 각 값의 표현시, 각 제너럴 클러스터의 최상의 비트의 "10"을 제외한 "0"의 갯수와 "1"의 갯수의 조합에 의해 표현하는 것을 특징으로 하는 이진데이터 압축방법.
3. The method of claim 2,
In the step of generating the mapping dictionary,
And expressing each value of the plurality of general clusters by a combination of the number of "0" s and the number of "1 " s except for the most significant bit of each general cluster.
상기 매핑사전을 생성하는 단계에서,
상기 이진데이터 압축장치는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값을 상위비트 방향 또는 하위비트방향으로 일렬로 배열하여 상기 매핑사전을 생성하는 것을 특징으로 하는 이진데이터 압축방법.
3. The method of claim 2,
In the step of generating the mapping dictionary,
Wherein the binary data compression device generates the mapping dictionary by arranging each value of the plurality of general clusters arranged in ascending order in a line in an upper bit direction or a lower bit direction.
상기 복수의 제너럴 클러스터를 획득하는 단계에서, 상기 원본 이진데이터의 최상위 비트 앞에 "10"을 추가하여 분할을 수행하는 것을 특징으로 하는 이진데이터 압축방법.
The method according to claim 1,
In the step of acquiring the plurality of general clusters, division is performed by adding "10" to the most significant bit of the original binary data.
상기 매핑사전을 생성하는 단계에서,
상기 원본 이진데이터에 포함된 복수의 제너럴 클러스터를 N개씩 조합하여 클러스터그룹을 생성하여 오름차순으로 정렬하고, 상기 유니버셜 코드를 오름 차순으로 정렬하여 N개씩 조합한 코드그룹을 생성하며, 상기 정렬된 클러스터 그룹과 상기 코드그룹 간의 대응관계를 정의하여 상기 매핑사전을 생성하는 것을 특징으로 하는 이진데이터 압축방법.
The method according to claim 1,
In the step of generating the mapping dictionary,
Generating a cluster group by combining the plurality of general clusters included in the original binary data in an ascending order and generating a clustered code group by sorting the universal codes in ascending order, And a mapping relation between the code group and the code group is defined to generate the mapping dictionary.
상기 압축데이터와 상기 매핑사전을 결합한 결합데이터를 목적 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는 이진데이터 압축방법.
The method according to claim 1,
And transmitting the combined data obtained by combining the compressed data and the mapping dictionary to a target device.
상기 매핑사전은, 제너럴 클러스터의 출현빈도의 내림차순에 따라 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징으로 하는 이진데이터 압축방법.
The method according to claim 1,
Wherein the mapping dictionary defines a correspondence relationship between each value of the plurality of general clusters sorted in descending order of occurrence frequency of a general cluster and a universal code sequentially arranged in ascending order.
복원부가 상기 매핑사전을 참조하여 상기 압축데이터로부터 이진데이터를 복원하는 단계를 포함하는 것을 특징으로 하는, 복원장치의 이진데이터 복원방법.
A method for restoring binary data compressed by the binary data compression method according to any one of claims 1 to 9,
And restoring the binary data from the compressed data by referring to the mapping dictionary.
원본 이진데이터를 스캐닝하고, 상기 스캐닝된 원본 이진데이터를 제너럴 클러스터 단위로 분할하여 복수의 제너럴 클러스터를 획득하는 데이터 스캐닝부;
상기 복수의 제너럴 클러스터의 각 값과, 유니버설 코드 간의 대응관계를 정의한 매핑사전을 생성하는 사전생성부; 및
상기 매핑사전을 참조하여, 상기 원본 이진데이터로부터 복수의 유니버설 코드를 포함하는 압축데이터를 생성하는 압축부를 포함하되,
상기 제너럴 클러스터는 상기 원본 이진데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이의 이진수를 포함하는 이진수를 나타내고,
상기 유니버설 코드는 최상위비트의 "10", 0개 이상의 연속된 "1", 및 상기 최상위비트의 "10"과 상기 0개 이상의 연속된 "1" 사이에 배치된 적어도 0개 이상의 "0"을 포함하여 구성되는, 것을 특징으로 하는 이진 데이터 압축장치.
A binary data compression apparatus comprising:
A data scanning unit for scanning the original binary data and dividing the scanned original binary data into units of a general cluster to obtain a plurality of general clusters;
A dictionary generating unit for generating a mapping dictionary defining a corresponding relationship between each value of the plurality of general clusters and the universal code; And
And a compression unit for referring to the mapping dictionary to generate compressed data including a plurality of universal codes from the original binary data,
Wherein the general cluster represents a binary number including "10" to meet in moving from the least significant bit to the most significant bit of the original binary data, and a binary number between "10"
The universal code includes at least 0 "s " arranged between the most significant bit" 10 ", zero or more consecutive "1" s and the most significant bit & Wherein the binary data compression device comprises:
상기 매핑사전은 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징으로 하는 이진데이터 압축장치.
12. The method of claim 11,
Wherein the mapping dictionary defines a corresponding relationship between each value of the plurality of general clusters sorted in ascending order and a universal code sequentially arranged in ascending order.
상기 매핑사전의 생성시,
상기 사전생성부는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값과 오름차순으로 순차적으로 정렬된 유니버설 코드의 값이 달라질 때부터, 상기 복수의 제너럴 클러스터의 각 값과 상기 유니버설 코드 간의 대응관계를 정의하여 상기 매핑사전을 생성하는 것을 특징으로 하는, 이진데이터 압축장치.
13. The method of claim 12,
Upon creation of the mapping dictionary,
Wherein the dictionary generation unit defines a corresponding relationship between each value of the plurality of general clusters and the universal code from a value of a universal code sequentially aligned in ascending order with each value of the plurality of generic clusters sorted in an ascending order And generates the mapping dictionary.
상기 매핑사전의 생성함에 있어, 상기 사전생성부는 상기 복수의 제너럴 클러스터의 각 값의 표현시 각 제너럴 클러스터의 최상의 비트의 "10"을 제외한 "0"의 갯수와 "1"의 갯수의 조합에 의해 표현하는 것을 특징으로 하는 이진데이터 압축장치.
13. The method of claim 12,
In generating the mapping dictionary, the dictionary generating unit may generate a plurality of general clusters by combining the number of "0" s and the number of "1" s excluding the " 10 " The binary data compression apparatus comprising:
상기 매핑사전의 생성시,
상기 사전생성부는 오름차순으로 정렬된 상기 복수의 제너럴 클러스터의 각 값을 상위비트 방향 또는 하위비트방향으로 일렬로 배열하여 상기 매핑사전을 생성하는 것을 특징으로 하는 이진데이터 압축장치.
13. The method of claim 12,
Upon creation of the mapping dictionary,
Wherein the dictionary generating unit generates the mapping dictionary by arranging each value of the plurality of general clusters sorted in ascending order in a line in an upper bit direction or a lower bit direction.
상기 복수의 제너럴 클러스터의 획득시, 상기 데이터 스캐닝부는 상기 원본 이진데이터의 최상위 비트 앞에 "10"을 추가하여 분할을 수행하는 것을 특징으로 하는 이진데이터 압축장치.
12. The method of claim 11,
Wherein when the plurality of general clusters are acquired, the data scanning unit performs division by adding "10" to the most significant bit of the original binary data.
상기 매핑사전의 생성시,
상기 사전생성부는 상기 원본 이진데이터에 포함된 복수의 제너럴 클러스터를 N개씩 조합하여 클러스터그룹을 생성하여 오름차순으로 정렬하고, 상기 유니버셜 코드를 오름 차순으로 정렬하여 N개씩 조합한 코드그룹을 생성하며, 상기 정렬된 클러스터 그룹과 상기 코드그룹 간의 대응관계를 정의하여 상기 매핑사전을 생성하는 것을 특징으로 하는 이진데이터 압축장치.
12. The method of claim 11,
Upon creation of the mapping dictionary,
Wherein the dictionary generation unit generates a cluster group by combining N generic clusters included in the original binary data in ascending order and generates a code group in which N universal codes are arranged in ascending order, And generates the mapping dictionary by defining a mapping relationship between the cluster group and the code group.
상기 압축데이터와 상기 매핑사전을 결합한 결합데이터를 목적 장치로 전송하는 송신부를 더 포함하는 것을 특징으로 하는 이진데이터 압축장치.
12. The method of claim 11,
Further comprising a transmitter for transmitting the combined data obtained by combining the compressed data and the mapping dictionary to a target device.
상기 매핑사전은, 제너럴 클러스터의 출현빈도의 내림차순에 따라 정렬된 상기 복수의 제너럴 클러스터의 각 값과, 오름차순으로 순차적으로 정렬된 유니버설 코드 간의 대응관계를 정의한 것임을 특징으로 하는 이진데이터 압축장치.
12. The method of claim 11,
Wherein the mapping dictionary defines a correspondence relationship between each value of the plurality of general clusters sorted in descending order of occurrence frequency of the general cluster and a universal code sequentially arranged in ascending order.
상기 매핑사전을 참조하여 상기 압축데이터로부터 이진데이터를 복원하는 복원부를 포함하는 것을 특징으로 하는, 이진데이터 복원장치.
An apparatus for restoring binary data compressed by a binary data compression apparatus according to any one of claims 11 to 19,
And a decompression unit for decompressing the binary data from the compressed data by referring to the mapping dictionary.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20140106466 | 2014-08-15 | ||
KR1020140106466 | 2014-08-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160021004A true KR20160021004A (en) | 2016-02-24 |
KR101632115B1 KR101632115B1 (en) | 2016-06-20 |
Family
ID=55449748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140153197A KR101632115B1 (en) | 2014-08-15 | 2014-11-05 | Binary data compression and restoration method and apparatus |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101632115B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6674908B1 (en) * | 2002-05-04 | 2004-01-06 | Edward Lasar Aronov | Method of compression of binary data with a random number generator |
KR20120109753A (en) * | 2011-03-25 | 2012-10-09 | 삼성전자주식회사 | Data compressing method of storage device |
-
2014
- 2014-11-05 KR KR1020140153197A patent/KR101632115B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6674908B1 (en) * | 2002-05-04 | 2004-01-06 | Edward Lasar Aronov | Method of compression of binary data with a random number generator |
KR20120109753A (en) * | 2011-03-25 | 2012-10-09 | 삼성전자주식회사 | Data compressing method of storage device |
Also Published As
Publication number | Publication date |
---|---|
KR101632115B1 (en) | 2016-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1057269B1 (en) | Block-wise adaptive statistical data compressor | |
US8872677B2 (en) | Method and apparatus for compressing data-carrying signals | |
KR101575939B1 (en) | Binary data compression and restoration method and apparatus | |
KR101632115B1 (en) | Binary data compression and restoration method and apparatus | |
KR20160100496A (en) | Improved huffman code method and apprartus thereof by using binary clusters | |
KR20160106229A (en) | IMPROVED HUFFMAN CODING METHOD AND APPARATUS THEREOF BY CREATING CONTEXT-BASED INNER-BLOCK AND GROUP BASED ON VARIANCE IN GROUP's SYMBOL FREQUENCY DATA | |
KR101612281B1 (en) | Binary data compression and restoration method and apparatus | |
KR101590790B1 (en) | Binary data compression and restoration method and apparatus | |
KR101549740B1 (en) | Binary data compression and decompression method and apparatus | |
KR101632116B1 (en) | Binary data compression and restoration method and apparatus | |
KR101791877B1 (en) | Method and apparatus for compressing utf-8 code character | |
KR101471833B1 (en) | Binary data compression and decompression method and apparatus | |
KR101652735B1 (en) | Binary data compression and restoration method and apparatus | |
KR102361730B1 (en) | Data compressing method and apparatus | |
KR101676421B1 (en) | Data compression and restoration method and apparatus | |
KR20160049627A (en) | Enhancement of data compression rate by efficient mapping binary cluster with universal code based on frequency of binary cluster | |
KR101752281B1 (en) | Method and apparatus for compressing utf-8 code character | |
KR101760070B1 (en) | Data encoding and decoding method and apparatus | |
Rawat et al. | Evaluation of Burrows Wheeler Transform based image compression algorithm for multimedia applications | |
KR20160115086A (en) | Real time compressed transferring and decompression of binary stream data by binary cluster | |
KR101676420B1 (en) | Data compression and restoration method and apparatus | |
KR20160047686A (en) | Data compression method by increasing variance of clusters by dividing data based on collected number of the same kind of cluster | |
JPH0629861A (en) | Data compression method | |
CN113810057B (en) | Method, apparatus and system for semantic value data compression and decompression | |
KR101603866B1 (en) | Method of data compressing, method of data recovering, and the apparatuses thereof |
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 |