KR101549740B1 - Binary data compression and decompression method and apparatus - Google Patents

Binary data compression and decompression method and apparatus Download PDF

Info

Publication number
KR101549740B1
KR101549740B1 KR1020130067891A KR20130067891A KR101549740B1 KR 101549740 B1 KR101549740 B1 KR 101549740B1 KR 1020130067891 A KR1020130067891 A KR 1020130067891A KR 20130067891 A KR20130067891 A KR 20130067891A KR 101549740 B1 KR101549740 B1 KR 101549740B1
Authority
KR
South Korea
Prior art keywords
binary
cluster
carry
compression
data
Prior art date
Application number
KR1020130067891A
Other languages
Korean (ko)
Other versions
KR20140145437A (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 KR1020130067891A priority Critical patent/KR101549740B1/en
Publication of KR20140145437A publication Critical patent/KR20140145437A/en
Application granted granted Critical
Publication of KR101549740B1 publication Critical patent/KR101549740B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Abstract

본 발명은 압축연산부가 이진 데이터를 최하위비트로부터 미리 설정된 기준비트수 단위로 분할하여 적어도 하나의 바이너리 클러스터를 생성하는 단계; 상기 압축연산부가 각 바이너리 클러스터에 대하여, 상기 각 바이너리 클러스터가 제 1 캐리포인트를 기점으로 하여 최초로 캐리다운 이벤트(carry down event)를 일으키도록 하는, 상기 제 1 캐리포인트의 위치를 시점으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 각 바이너리 클러스터에 감산하는 단계; 및 상기 압축연산부가 상기 제 1 캐리포인트의 위치를 한 자리씩 상위자리로 이동시키면서 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산하는 단계를 반복하여, 적어도 하나의 압축 클러스터를 생성하는 단계를 포함하되, 상기 캐리다운 이벤트는 상기 각 바이너리 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미하고, 상기 제 1 캐리포인트는 상기 각 바이너리 클러스터의 최하위자리로부터 시작하여 한 자리씩 상위자리로 이동하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축방법에 관한 것이다.The present invention is characterized in that the compression operation unit divides binary data into a predetermined number of reference bits from a least significant bit to generate at least one binary cluster; Wherein the compression operation unit performs, for each of the binary clusters, a first carry point to start a carry down event with the first carry point as a start point, Subtracting a binary number consisting only of a minimum number of 1s in each binary cluster; And repeating the step of subtracting for each of the binary clusters until the carry-down event is no longer generated while the compression operation moves the position of the first carry point by one digit to the upper digit, Wherein the carry-down event refers to borrowing a number from the top when subtracting each of the binary clusters, wherein the first carry point is a one-digit starting from the least significant digit of each binary cluster, To a higher position in the compression device.

Figure R1020130067891
Figure R1020130067891

Description

이진 데이터의 압축 및 압축해제 방법과 장치{BINARY DATA COMPRESSION AND DECOMPRESSION METHOD AND APPARATUS}BINARY DATA COMPRESSION AND DECOMPRESSION METHOD AND APPARATUS [0002]

본 발명은 이진 데이터의 압축 및 압축해제 방법과 장치에 관한 것으로서, 보다 구체적으로는 간단한 연산과 하드웨어적 구성을 통해 이진 데이터를 효과적이고 효율적으로 압축하고 압축해제할 수 있는 이진 데이터의 압축 및 압축해제 방법과 장치에 관한 것이다.
The present invention relates to a method and apparatus for compressing and decompressing binary data, and more particularly, to a method and apparatus for compressing and decompressing binary data, which can compress and decompress binary data effectively and efficiently through simple computation and hardware configuration. ≪ / RTI >

일반적으로, 통상의 전송 채널에서 이용 가능한 주파수 대역폭은 제한되어 있으므로, 많은 양의 데이터를 전송하기 위해서 모뎀과 같은 다양한 전송 시스템은 전송 데이터의 양을 압축하거나 줄일 수 있는 효과적인 데이터 압축 기법을 이용해 왔다.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 is complicated and requires a relatively high-performance hardware device for processing and compressing data, and it is difficult to increase the processing speed and to increase the reliability of the compression result value .

본 발명의 배경기술은 대한민국 공개특허공보 제 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 method and apparatus for quickly and efficiently compressing and decompressing binary data through a simple operation and a hardware configuration, And to provide a method and apparatus for compressing and decompressing data.

본 발명의 일 측면에 따르면, 본 발명은 압축장치의 이진 데이터 압축 방법으로서, 압축연산부가 이진 데이터를 최하위비트로부터 미리 설정된 기준비트수 단위로 분할하여 적어도 하나의 바이너리 클러스터를 생성하는 단계; 상기 압축연산부가 각 바이너리 클러스터에 대하여, 상기 각 바이너리 클러스터가 제 1 캐리포인트를 기점으로 하여 최초로 캐리다운 이벤트(carry down event)를 일으키도록 하는, 상기 제 1 캐리포인트의 위치를 시점으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 각 바이너리 클러스터에 감산하는 단계; 및 상기 압축연산부가 상기 제 1 캐리포인트의 위치를 한 자리씩 상위자리로 이동시키면서 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산하는 단계를 반복하여, 적어도 하나의 압축 클러스터를 생성하는 단계를 포함하되, 상기 캐리다운 이벤트는 상기 각 바이너리 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미하고, 상기 제 1 캐리포인트는 상기 각 바이너리 클러스터의 최하위자리로부터 시작하여 한 자리씩 상위자리로 이동하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축방법을 제공한다.According to one aspect of the present invention, there is provided a method of compressing binary data of a compression apparatus, the method comprising: generating at least one binary cluster by dividing binary data from a least significant bit into a predetermined number of reference bits; Wherein the compression operation unit performs, for each of the binary clusters, a first carry point to start a carry down event with the first carry point as a start point, Subtracting a binary number consisting only of a minimum number of 1s in each binary cluster; And repeating the step of subtracting for each of the binary clusters until the carry-down event is no longer generated while the compression operation moves the position of the first carry point by one digit to the upper digit, Wherein the carry-down event refers to borrowing a number from the top when subtracting each of the binary clusters, wherein the first carry point is a one-digit starting from the least significant digit of each binary cluster, To a higher position on the basis of the result of the comparison.

본 발명에서, 송신부가 상기 압축연산부에 의해 생성된 상기 적어도 하나의 압축 클러스터를 목적 장치로 전송하는 단계를 더 포함하는 것을 특징으로 한다.In the present invention, the transmitting unit may further include transmitting the at least one compressed cluster generated by the compression computing unit to the destination apparatus.

삭제delete

본 발명에서, 상기 이진 데이터를 최하위비트로부터 분할하여 생성된 상기 적어도 하나의 바이너리 클러스터 중 비트수가 상기 기준비트수보다 적은 바이너리 클러스터는, 그에 대응하는 압축클러스터를 생성하지 않고 원본 자체로 상기 목적장치로 전송하거나, 대응하는 압축 클러스터를 생성한 후 상기 바이너리 클러스터에 대한 정보를 가지는 시그널 비트와 함께 전송하는 것을 특징으로 한다.In the present invention, a binary cluster in which the number of bits of the at least one binary cluster generated by dividing the binary data from the least significant bit is smaller than the reference number of bits does not generate a corresponding compression cluster, Or a corresponding compressed cluster, and then transmits the compressed cluster together with a signal bit having information on the binary cluster.

본 발명에서, 상기 적어도 하나의 바이너리 클러스터 중 최상위비트에 0이 포함된 바이너리 클러스터는 최상위비트로부터 연속하여 배치된 적어도 하나의 0을 제거한 후 상기 압축방법을 수행하는 것을 특징으로 한다.
In the present invention, a binary cluster including 0 in the most significant bit of the at least one binary cluster removes at least one contiguous sequence of 0's from the most significant bit, and then performs the compression method.

삭제delete

삭제delete

삭제delete

본 발명의 또 다른 측면에 따르면, 본 발명은 이진 데이터를 최하위비트로부터 미리 설정된 기준비트수 단위로 분할하여 적어도 하나의 바이너리 클러스터를 생성하고, 각 바이너리 클러스터에 대하여 상기 각 바이너리 클러스터가 제 1 캐리포인트를 기점으로 하여 최초로 캐리다운 이벤트를 일으키도록 하는, 상기 제 1 캐리포인트의 위치를 시점으로 하여 최소 개수의 1로만 이루어진 이진수를 상기 각 바이너리 클러스터에 감산하는 감산연산을 수행하되, 상기 제 1 캐리포인트의 위치를 한 자리씩 상위자리로 이동시키면서 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산연산을 반복하여 적어도 하나의 압축 클러스터를 생성하는 압축연산부를 포함하되, 상기 캐리다운 이벤트는 상기 각 바이너리 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미하고, 상기 제 1 캐리포인트는 상기 각 바이너리 클러스터의 최하위자리로부터 시작하여 한 자리씩 상위자리로 이동하는 것을 특징으로 하는, 이진 데이터 압축장치를 제공한다.According to another aspect of the present invention, there is provided a method for generating binary data by dividing binary data into a predetermined number of reference bits from a least significant bit to generate at least one binary cluster, and for each binary cluster, Performing a subtraction operation for subtracting a binary number consisting of a minimum number of 1s from the position of the first carry point to each of the binary clusters so as to cause a carry-down event to occur first, starting from the first carry point And a compression operation unit for generating at least one compressed cluster by repeating the subtraction operation for each binary cluster until a carry-down event is no longer generated while moving the position of the carry- The down event may be an event Wherein the first carry point refers to borrowing a number from the top position when subtracting the luster, and the first carry point moves from the least significant digit of each binary cluster to the most significant digit by one digit. do.

본 발명에서, 상기 압축연산부에 의해 생성된 상기 적어도 하나의 압축 클러스터를 목적 장치로 전송하는 송신부를 더 포함하는 것을 특징으로 한다.The present invention is further characterized by a transmitter for transmitting the at least one compressed cluster generated by the compression computation unit to a target apparatus.

삭제delete

본 발명에서, 상기 이진 데이터를 최하위비트로부터 분할하여 생성된 상기 적어도 하나의 바이너리 클러스터 중 비트수가 상기 기준비트수보다 적은 바이너리 클러스터는, 그에 대응하는 압축클러스터를 생성하지 않고 원본 자체로 상기 목적장치로 전송하거나, 대응하는 압축 클러스터를 생성한 후 상기 바이너리 클러스터에 대한 정보를 가지는 시그널 비트와 함께 전송하는 것을 특징으로 한다.In the present invention, a binary cluster in which the number of bits of the at least one binary cluster generated by dividing the binary data from the least significant bit is smaller than the reference number of bits does not generate a corresponding compression cluster, Or a corresponding compressed cluster, and then transmits the compressed cluster together with a signal bit having information on the binary cluster.

본 발명에서, 상기 압축연산부는, 상기 적어도 하나의 바이너리 클러스터 중 최상위비트에 0이 포함된 바이너리 클러스터의 경우 최상위비트로부터 연속하여 배치된 적어도 하나의 0을 제거한 후 상기 압축 클러스터를 생성하는 것을 특징으로 한다.In the present invention, in the case of a binary cluster in which 0 is included in the most significant bit among the at least one binary cluster, the compression calculation unit removes at least one 0 continuously arranged from the most significant bit, do.

본 발명에서, 상기 압축연산부는 상기 이진 데이터를 분할하여 상기 적어도 하나의 바이너리 클러스터를 생성하는 데이터 분할부; 및 각 바이너리 클러스터에 대하여, 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산연산을 반복하여 상기 적어도 하나의 압축 클러스터를 생성하는 압축클러스터 생성부를 포함하는 것을 특징으로 한다.
In the present invention, the compression operation unit may include a data division unit for dividing the binary data to generate the at least one binary cluster; And a compression cluster generating unit for generating the at least one compressed cluster by repeating the subtraction operation for each binary cluster until a carry down event no longer occurs for each binary cluster.

삭제delete

삭제delete

삭제delete

삭제delete

본 발명에 따른 이진 데이터의 압축 및 압축해제 방법과 장치는, 간단한 연산과 하드웨어적 구성을 통해 이진 데이터를 신속하고 효율적으로 압축하고 압축해제할 수 있을 뿐만 아니라, 압축률도 뛰어나며 압축 데이터 및 압축 해제 데이터의 신뢰성도 높일 수 있다.
The method and apparatus for compressing and decompressing binary data according to the present invention can quickly and efficiently decompress and decompress binary data through a simple operation and a hardware configuration, Can be increased.

도 1은 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축장치 및 압축해제장치의 구성을 도시한 것이다.
도 2는 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축방법을 설명하기 위한 흐름도이다.
도 3은 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축해제방법을 설명하기 위한 흐름도이다.
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 a flowchart illustrating a method of decompressing binary data according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.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 similar parts are denoted by like reference characters 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은 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축장치 및 압축해제장치의 구성을 도시한 것으로서, 이를 참조하여 본 발명을 설명하면 다음과 같다. 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. Referring to FIG.

도 1에 도시된 바와 같이, 본 실시예에 따른 이진 데이터 압축장치(100)는 압축연산부(110) 및 송신부(120)를 포함한다.As shown in FIG. 1, the binary data compression apparatus 100 according to the present embodiment includes a compression calculation unit 110 and a transmission unit 120.

압축연산부(110)는 이진 데이터를 최하위비트로부터 미리 설정된 기준비트수 단위로 분할하여 적어도 하나의 바이너리 클러스터를 생성하고, 각 바이너리 클러스터에 대하여 상기 각 바이너리 클러스터가 제 1 캐리포인트를 기점으로 하여 최초로 캐리다운 이벤트를 일으키도록 하는, 상기 제 1 캐리포인트의 위치를 시점으로 하여 최소 개수의 1로만 이루어진 이진수를 상기 각 바이너리 클러스터에 감산하는 감산연산을 수행하되, 상기 제 1 캐리포인트의 위치를 한 자리씩 상위자리로 이동시키면서 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산연산을 반복하여 적어도 하나의 압축 클러스터를 생성한다. 여기서, 상기 캐리다운 이벤트는 상기 각 바이너리 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미하고, 상기 제 1 캐리포인트는 상기 각 바이너리 클러스터의 최하위자리로부터 시작하여 한 자리씩 상위자리로 이동하는 것을 특징으로 한다.The compression operation unit 110 generates binary data by dividing the binary data into a predetermined number of reference bits from the least significant bit to generate at least one binary cluster, and for each binary cluster, each binary cluster starts with a first carry point as a start point And a second carry-point generating unit that performs a subtraction operation for subtracting a binary number consisting of a minimum number of 1's from the position of the first carry point to each binary cluster, And the at least one compression cluster is generated by repeating the subtraction operation for each binary cluster until the carry-down event no longer occurs. Here, the carry-down event refers to borrowing a number from the top in subtraction of each binary cluster, and the first carry point starts from the lowest position of each binary cluster and moves to the upper place by one place .

송신부(120)는 상기 압축연산부(110)에 의해 생성된 상기 적어도 하나의 압축 클러스터를 압축해제장치(200) 등의 목적 장치로 전송한다.The transmitting unit 120 transmits the at least one compressed cluster generated by the compression computing unit 110 to a destination apparatus such as the decompression apparatus 200 or the like.

압축연산부(110)는 이진 데이터를 분할하여 상기 적어도 하나의 바이너리 클러스터를 생성하는 데이터 분할부(111); 및 각 바이너리 클러스터에 대하여 캐리다운 이벤트가 더 이상 발생하지 않을 때까지, 상기 각 바이너리 클러스터에 대하여 상기 감산연산을 반복하여 상기 적어도 하나의 압축 클러스터를 생성하는 압축클러스터 생성부(112)를 포함한다.The compression computation unit 110 includes a data division unit 111 for dividing binary data to generate the at least one binary cluster; And a compression cluster generation unit (112) for generating the at least one compressed cluster by repeating the subtraction operation for each binary cluster until a carry down event no longer occurs for each binary cluster.

또한, 도 1에 도시된 바와 같이, 본 실시예에 따른 이진 데이터 압축해제장치(200)는 수신부(210) 및 압축해제연산부(220)를 포함한다.1, the binary data decompression apparatus 200 according to the present embodiment includes a reception unit 210 and a decompression calculation unit 220. [

수신부(210)는 압축장치(100)의 송신부(120)를 통하여 전송된 적어도 하나의 압축 클러스터를 수신하여 압축해제연산부(220)로 전달한다.The receiving unit 210 receives at least one compressed cluster transmitted through the transmitting unit 120 of the compression apparatus 100 and transmits the received at least one compressed cluster to the decompression computing unit 220.

압축해제연산부(220)는 각 압축 클러스터에 대하여, 상기 각 압축 클러스터가 제 2 캐리포인트를 기점으로 하여 최초로 캐리업 이벤트(carry up event)를 일으키도록 하는, 상기 제 2 캐리포인트의 위치를 시점으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 각 압축 클러스터에 가산하는 가산연산을 수행하되, 상기 제 2 캐리포인트의 위치를 한 자리씩 하위자리로 이동시키면서 최하위 비트에 이를 때까지 상기 각 압축 클러스터에 대하여 상기 가산연산을 반복하여 적어도 하나의 압축 해제 바이너리 클러스터를 생성하고, 상기 적어도 하나의 압축 해제 바이너리 클러스터를 결합하여 이진 데이터를 생성한다. 여기서, 상기 캐리업 이벤트는 상기 각 압축 클러스터에 대한 덧셈시 윗자리로 숫자를 올림하는 것을 의미하고, 상기 제 2 캐리포인트는 상기 각 압축 클러스터의 최상위자리로부터 배치된 적어도 0개 이상의 0에 의해 결정되는 자리로부터 시작하여 한 자리씩 하위자리로 이동하는 것을 특징으로 한다.The decompression arithmetic operation unit 220 determines, for each of the compressed clusters, the position of the second carry point, which causes each of the compressed clusters to cause a carry-up event for the first time starting from the second carry point as a start point And performing a summation operation for adding a binary number consisting of a minimum number of 1s to each of the compression clusters in the direction of the upper bit by shifting the position of the second carry point by one digit to a lower position, Repeating the addition operation on the compressed cluster to generate at least one decompression binary cluster, and combining the at least one decompression binary cluster to generate binary data. Here, the carry-up event means increasing the number to the top of the accumulation for each compressed cluster, and the second carry point is determined by at least 0 or more zeros arranged from the most significant digit of each compressed cluster And moves to the lower digit by one digit starting from the digit.

압축해제연산부(220)는 각 압축 클러스터에 대하여, 상기 제 2 캐리포인트의 위치를 한 자리씩 하위자리로 이동시키면서 최하위 비트에 이를 때까지 상기 각 압축 클러스터에 대하여 상기 가산연산을 반복하여 상기 적어도 하나의 압축 해제 바이너리 클러스터를 생성하는 압축해제 바이너리 클러스터 생성부(221); 및 상기 적어도 하나의 압축 해제 바이너리 클러스터를 결합하여 이진 데이터를 생성하는 클러스터 결합부(220)를 포함한다.
The decompression computation unit 220 repeats the addition operation for each compression cluster until the least significant bit is reached by moving the position of the second carry point by one digit to the lower digit for each compression cluster, An uncompressed binary cluster generating unit 221 for generating an uncompressed binary cluster; And a cluster combining unit 220 for combining the at least one decompression binary cluster to generate binary data.

이와 같이 구성된 본 실시예의 동작 및 작용을 도 1 내지 도 3을 참조하여 구체적으로 설명한다.The operation and operation of the present embodiment thus configured will be described in detail with reference to Figs. 1 to 3. Fig.

도 2는 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축방법을 설명하기 위한 흐름도로서, 이를 참조하여 본 실시예에 따른 이진 데이터의 압축방법을 설명한다.FIG. 2 is a flowchart for explaining a method of compressing binary data according to an embodiment of the present invention. Referring to FIG. 2, a method of compressing binary data according to this embodiment will be described.

먼저, 압축연산부(110)의 데이터 분할부(111)가 이진 데이터를 최하위비트로부터 미리 설정된 기준비트수 단위로 분할하여 적어도 하나의 바이너리 클러스터를 생성한다(S201). 이진 데이터 "10001010101010101111011"를 예로 들면, 압축장치(100)는 이 이진 데이터를 기준비트수 예를 들어 5비트 단위로 최하위비트로부터 다음과 같이 분할한다.First, the data divider 111 of the compression computation unit 110 divides binary data into a predetermined number of reference bits from the least significant bit to generate at least one binary cluster (S201). Taking the binary data "10001010101010101111011" as an example, the compression apparatus 100 divides the binary data from the least significant bit, for example, in units of 5 bits as follows.

100 / 01010 / 10101 / 01011 / 11011100/01010/10101/01011/11011

즉, 상기 분할 결과, 이진 데이터는 4개의 바이너리 클러스터(5비트수) 및 1개의 바이너리 클러스터(3비트수)로 분할된다. 물론, 상기 기준비트수는 5비트수 뿐만 아니라 다양한 비트수로 적용될 수 있다.That is, as a result of the division, the binary data is divided into four binary clusters (5-bit number) and one binary cluster (3-bit number). Of course, the reference bit number can be applied not only to the number of 5 bits but also to various bits.

이어서, 압축연산부(110)의 압축 클러스터 생성부(112)는 각 바이너리 클러스터에 대하여, 상기 각 바이너리 클러스터가 제 1 캐리포인트를 기점으로 하여 최초로 캐리다운 이벤트(carry down event)를 일으키도록 하는 이진수를 감산한다(S202). Next, for each binary cluster, the compression cluster generating unit 112 of the compression calculating unit 110 generates a binary number for causing each of the binary clusters to carry out a carry down event for the first time starting from the first carry point (S202).

상기에서, "캐리다운 이벤트"란 복수의 자리(비트수)로 이루어진 제 1 이진수에서 다른 제 2 이진수를 뺄 때, 상기 제 1 이진수의 어떤 자리에서의 뺄셈을 위하여 그 윗자리로부터 숫자를 빌려오면서 자리내림 현상이 발생하는 것을 의미한다. 예를 들어, 이진수 101에서 이진수 1을 빼면 그 결과는 100이 되는데, 이 경우 뺄셈 후의 100은 뺄셈 전의 101과 비교하여 자리내림 현상이 발생하지 않는다. 즉, 뺄셈을 위하여 윗자리로부터 숫자를 빌려오는 현상인 캐리다운 이벤트가 발생하지 않는다. 반면, 이진수 101에서 이진수 11을 빼면 그 결과는 10이 되는데, 이 경우 뺄셈 후의 10은 뺄셈 전의 101과 비교하여 자리내림 현상이 발생한 것이다. 즉, 2번째자리에서의 뺄셈을 위하여 그 윗자리인 세번째자리로부터 숫자 1을 빌려와서 2번째자리에서의 뺄셈을 수행하는 "캐리다운 이벤트"가 발생하며, 이를 통해 101로부터 자리내림하여 10이라는 결과가 얻어진다. 이 캐리다운 이벤트는 원래 숫자의 비트수 자체가 작아지는 경우뿐만 아니라, 내부에서 일어나는 최초의 자리내림 현상까지 포함하는 개념으로 사용된다. 즉, 이진수 110에서 이진수 1을 빼면 101이 되는 경우와 같이, 두번째 자리에서 자리내림이 발생한 것도 110에서 1이라는 캐리키를 이용하여 자리내림인 캐리다운 이벤트가 발생한 것으로 본다.Herein, the "carry down event" refers to a case where, when a second binary number is subtracted from a first binary number composed of a plurality of digits (bit number), a digits from the first digit are subtracted It means that a falling phenomenon occurs. For example, subtracting binary 1 from binary 101 results in 100, in which case 100 after subtraction does not fall off compared to 101 before subtraction. That is, a carry down event, which is a phenomenon of borrowing numbers from the top for subtraction, does not occur. On the other hand, if the binary number 101 is subtracted from the binary number 11, the result is 10. In this case, 10 after the subtraction is compared with 101 before the subtraction. That is, for the subtraction in the second digit, a "carry down event" occurs in which the digit 1 is borrowed from the third digit of the first digit to perform subtraction in the second digit, . This carry-down event is used not only when the number of bits of the original number itself becomes smaller, but also when the carry-down event includes the first falling-down phenomenon occurring inside. That is, if the binary number 110 is subtracted from the binary number 101, then the carry-down event is considered to have occurred by using the carry-key of 110 to 1 in the case where the second place is down.

또한, 원래 이진수에 대하여 캐리다운 이벤트를 일으키도록 하기 위하여 뺄셈을 하는 이진수는 상기 제 1 캐리포인트의 위치를 시점으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수(예를 들어, 1, 11, 111, 1111,...)를 말하며, 이하 "캐리키"라고 한다. 예를 들어 이진수 100의 경우에는 1을 빼면 11로 캐리다운 이벤트가 발생하여 이 때에는 캐리키가 1이 된다. 하지만, 101의 경우에는 1을 빼더라도 캐리다운 이벤트가 발생하지 않고 11을 빼야만 10이 되어 캐리다운 이벤트가 발생하므로 이 때 캐리키는 11이 된다. In order to cause a carry-down event to occur with respect to the original binary number, the binary number to be subtracted is a binary number (for example, 1, 11, or 12) having a minimum number of 1s in the upper bit direction, 111, 1111, ...), hereinafter referred to as "carry key ". For example, in case of binary number 100, if 1 is subtracted, a carry down event occurs at 11, and the carry key becomes 1 at this time. However, in the case of 101, even if 1 is subtracted, the carry-down event does not occur but subtracting 11 is 10, so that the carry-down event occurs.

그리고, 상기에서 "제 1 캐리포인트"는 상기 캐리다운 이벤트를 일으키기 위한 캐리키의 가장 낮은 비트가 위치하는 자리를 의미하며, 후술하는 바와 같이 이 제 1 캐리포인트는 처음에는 이진 데이터의 가장 낮은 자리(최하위비트)에 위치하다가 감산이 반복하여 수행됨에 따라 한자리씩 상위 비트 방향으로 이동한다.
Here, the "first carry point" means a place where the lowest bit of the carry key for causing the carry-down event is located. As will be described later, the first carry point is the lowest position (Least significant bit), and then subtracting is repeatedly performed, and moves to the upper bit direction by one digit.

자리수Number of digits 44 33 22 1One 00 원본데이터Original data 1One 1One 00 1One 1One (-)(-) 캐리키Carrie 1One 1One 1One 1차감산데이터First-order sensitivity data 1One 00 1One 00 00 (-)(-) 캐리키Carrie 1One 2차감산데이터Second-order sensitivity data 1One 00 00 1One 00 (-)(-) 캐리키Carrie 1One

표 1은 바이너리 클러스터 "11011"에 대하여 감산연산을 통해 압축을 수행하는 과정을 예시로 나타낸 것이다. 바이너리 클러스터 "11011"의 경우, 먼저 제 1 캐리포인트는 "0"번째 비트자리가 되며, 뺄셈을 통해 처음으로 캐리다운 이벤트를 일으키게 하는 캐리키는 "111"이 된다.Table 1 shows an example of a process of performing compression on a binary cluster "11011 " by a subtraction operation. In the case of the binary cluster "11011 ", the first carry point becomes the" 0 "-bit position first, and the carry key causing the carry-down event for the first time through subtraction becomes" 111 ".

다음으로, 압축클러스터 생성부(112)는 추가적인 캐리다운 이벤트가 발생할 수 있는지 판단한다(S203). 즉, 압축클러스터 생성부(112)는 단계(S202)에서의 캐리키 감산결과값에 대해 추가적인 캐리다운 이벤트가 발생할 수 있는지 판단한다. 표 1의 예를 참조하면, 표 1에서는 캐리키의 1차 감산결과 "10100"이라는 데이터가 생성되고, 이 데이터는 캐리키와의 감산에 의해 추가적인 캐리다운 이벤트가 발생할 수 있는 경우라고 할 수 있다.Next, the compression cluster generation unit 112 determines whether an additional carry down event can occur (S203). That is, the compression cluster generation unit 112 determines whether an additional carry down event can occur with respect to the carry key reduction result in step S202. Referring to the example of Table 1, in the case of Table 1, data of "10100" is generated as the first subtraction result of the carry key, and this data can be considered as a case where an additional carry down event can be generated by subtracting from the carry key .

상기 단계(S203)에서의 판단결과, 추가적인 캐리다운 이벤트가 발생할 수 있다고 판단되면, 압축클러스터 생성부(112)는 제 1 캐리포인트를 1자리만큼 상위 비트 방향으로 이동시키고(S204), 이후 단계(S202)의 과정을 반복한다. 즉, 단계(S202)에서의 2번째 감산연산의 경우에는, 그 이전 단계보다 제 1 캐리포인트를 1자리만큼 상위 비트방향으로 이동시켜 캐리키를 생성한 다음 감산연산을 수행한다. 표 1의 예를 참조하면, 1차 캐리키 감산 후 제 1 캐리포인트는 상위비트 방향으로 1자리만큼 이동되어 "1"번째 비트자리가 되고, 이 자리를 기점으로 하여 "10100"에 대해 최초 캐리다운 이벤트가 발생하게 하는 캐리키로서 "1"이 선택되어 감산연산이 수행되어 "10010"이 생성된다.As a result of the determination in step S203, if it is determined that an additional carry down event can occur, the compression cluster generation unit 112 shifts the first carry point by one digit in the upper bit direction (S204) S202) are repeated. That is, in the case of the second subtraction operation in step S202, the carry key is generated by shifting the first carry point by one digit in the higher bit direction than the previous step, and the subtraction operation is performed. Referring to the example of Table 1, after subtracting the first carry key, the first carry point is shifted by one digit in the upper bit direction to become the "1" -th bit position, "1" is selected as a carry key for causing the down event to occur, and a subtraction operation is performed to generate "10010 ".

단계(S202) ~ 단계(S204)는 캐리다운 이벤트가 더 이상 발생되지 않을 때까지 반복된다. 표 1의 예시의 경우, 캐리키의 2차 감산 후 제 1 캐리포인트는 상위비트 방향으로 1자리만큼 더 이동되어 "2"번째 비트자리가 되고, 이 자리를 기점으로 하여 "10010"에 대해 최초 캐리다운 이벤트가 발생하게 하는 캐리키로서 "1"이 선택되어 감산연산이 수행되어 "1110"이 생성된다.Steps S202 to S204 are repeated until no carry-down event is generated. In the example of Table 1, after the second subtraction of the carry key, the first carry point is shifted by one digit in the direction of the higher bit to become the "2" -bit position, Quot; 1 "is selected as the carry key for causing the carry-down event to occur, and the subtraction operation is performed to generate" 1110 ".

한편, 단계(S203)의 판단결과, 더 이상 캐리다운 이벤트가 발생하지 않는다고 판단되면 압축 클러스터 생성부(112)는 그 결과값인 압축 클러스터를 송신부(120)를 통하여 압축 해제장치(200) 등의 목적 장치로 전송한다(S205). 즉, 압축 클러스터 생성부(112)는 각각의 이진 데이터에 대하여 적어도 하나 이상의 압축 클러스터를 생성하여 송신부(120)를 통하여 목적장치로 전송한다.On the other hand, if it is determined in step S203 that the carry-down event no longer occurs, the compression-cluster generating unit 112 transmits the resultant compressed cluster to the decompressor 200 through the transmitting unit 120 To the destination apparatus (S205). That is, the compression cluster generation unit 112 generates at least one compression cluster for each binary data, and transmits the generated compression cluster to the destination device through the transmission unit 120.

한편, 바이너리 클러스터 "01011"과 같이, 최상위비트에 0이 포함된 바이너리 클러스터의 경우에는 최상위비트로부터 연속하여 배치된 하나 이상의 0을 제거한 후 상기에서 설명한 압축방법을 수행하도록 한다. 즉, "01011"에서 먼저 0을 제거하여 "1011"로 만든 후, 아래와 같은 과정을 통해 압축을 수행한다.On the other hand, in the case of a binary cluster including 0 in the most significant bit, as in the binary cluster "01011 ", one or more consecutively arranged 0s are removed from the most significant bit, and then the above described compression method is performed. That is, in the "01011", 0 is firstly removed to make "1011", and compression is performed through the following process.

삭제delete

1011    1011

(-) 111(-) 111

----------------------

100     100

(-) 1(-) One

------------------------

10      10

이렇게 하여 전송함으로써, 앞에 배치된 0을 모두 포함하여 전송할 때와 비교하여, 전송데이터량을 감소시켜 압축 효율을 증가시킬 수 있다. 물론, 압축해제시에는 원본 바이너리 클러스터의 비트수가 이미 약속되어 있을 것이기 때문에, 이에 맞춰서 0을 앞에 추가하는 방법을 통해 압축해제가 이루어지면 될 것이다.By transmitting in this way, it is possible to increase the compression efficiency by reducing the amount of data to be transmitted, as compared with the case of including all zeros arranged beforehand. Of course, since the compressed binary representation will already have the number of bits in the original binary cluster, decompression should be done by adding a leading zeros to it.

한편, 상기 이진 데이터를 최하위비트로부터 분할하여 생성된 적어도 하나 이상의 바이너리 클러스터 중, 비트수가 기준비트수(예를 들어, 5 비트)보다 적은 마지막 바이너리 클러스터의 경우에는, 기준비트수의 바이너리 클러스터와는 다른 방법에 따라 전송할 수 있다. 즉, 해당 마지막 바이너리 클러스터의 압축 클러스터를 전송하기에 앞서 먼저 시그널비트(예를 들어, 0, 00, 1...)를 전송하여, 해당 압축클러스터의 원본 바이너리 클러스터가 기준비트수보다 작은 크기의 마지막 바이너리 클러스터임을 나타내도록 할 수 있다. 예를 들어, 시그널비트로 "0"을 전송하는 경우에는 대응하는 압축클러스터의 원본 바이너리 클러스터는 앞에 0을 하나 가지는 데이터이고, 시그널비트로 "00"을 전송하는 경우에는 대응하는 압축클러스터의 원본 바이너리 클러스터는 앞에 00을 가지고 있는 데이터이며, 시그널비트로 1을 전송하는 경우에는 대응하는 압축클러스터 자체가 원본 바이너리 클러스터의 압축데이터임을 나타내는 것이다. 또한, 실시예에 따라서는, 기준비트수 미만 크기의 마지막 바이너리 클러스터는 그 갯수 및 데이터량 자체가 매우 작으므로, 압축하지 않고 그대로 목적장치로 전송할 수도 있다.
On the other hand, in the case of the last binary cluster in which the number of bits is smaller than the reference number of bits (for example, 5 bits) among the at least one binary cluster generated by dividing the binary data from the least significant bit, It can be transmitted by other methods. That is, a signal bit (for example, 0, 00, 1,...) Is transmitted before the compression cluster of the last binary cluster is transmitted so that the original binary cluster of the compression cluster is smaller than the reference number of bits To indicate that it is the last binary cluster. For example, in the case of transmitting "0" as the signal bit, the original binary cluster of the corresponding compression cluster is data having a leading 0, and when transmitting "00" as the signal bit, the original binary cluster of the corresponding compression cluster is , And when 1 is transmitted as a signal bit, it indicates that the corresponding compression cluster itself is compressed data of the original binary cluster. In addition, according to the embodiment, since the number of the last binary clusters smaller than the reference bit number and the data amount itself are very small, they may be transmitted to the destination apparatus without compression.

도 3은 본 발명에 의한 일 실시예에 따른 이진 데이터의 압축해제방법을 설명하기 위한 흐름도로서, 이를 참조하여 본 실시예에 따른 이진 데이터의 압축해제방법을 설명한다.FIG. 3 is a flowchart for explaining a method of decompressing binary data according to an embodiment of the present invention. Referring to FIG. 3, a decompression method of binary data according to this embodiment will be described.

먼저, 압축해제장치(200)의 수신부(210)가 압축장치(100) 등의 목적장치로부터 압축 클러스터를 수신한다(S301). 즉, 압축해제장치(200)는 각각의 이진 데이터에 대한 적어도 하나 이상의 압축 클러스터를 압축장치(100)의 송신부(120)로부터 수신한다.First, the receiving unit 210 of the decompression apparatus 200 receives a compressed cluster from a destination apparatus such as the compression apparatus 100 (S301). That is, the decompression apparatus 200 receives at least one compressed cluster for each binary data from the transmission unit 120 of the compression apparatus 100.

이어서, 압축해제 연산부(220)의 압축해제 바이너리 클러스터 생성부(221)는 각 압축 클러스터가 제 2 캐리포인트를 기점으로 하여 최초로 캐리업 이벤트(carry up event)를 일으키도록 하는 이진수를 가산한다(S302). 상기에서, "캐리업 이벤트"란 복수의 자리(비트수)로 이루어진 제 1 이진수에서 다른 제 2 이진수를 가산할 때, 상기 제 1 이진수의 어떤 자리에서의 덧셈 결과 그 자리에서 숫자가 넘쳐서 그 윗자리로의 자리올림 현상이 발생하는 것을 의미한다. 예를 들어, 이진수 100에서 이진수 1을 더하면 그 결과는 101이 되는데, 이 경우 덧셈 후의 101은 덧셈 전의 100과 비교하여 자리올림 현상이 발생하지 않는다. 즉, 덧셈을 위하여 윗자리로 숫자를 올려주는 현상인 캐리업 이벤트가 발생하지 않는다. 반면, 이진수 10에 이진수 11을 더하면 그 결과는 101이 되는데, 이 경우 덧셈 후의 101은 덧셈 전의 10과 비교하여 자리올림 현상, 즉 캐리업 이벤트가 발생한 것이다. 이를 통해 10로부터 자리올림하여 101이라는 결과가 얻어진다. 이 캐리업 이벤트는 원래 숫자의 비트수 자체가 커지는 경우뿐만 아니라, 내부에서 일어나는 최초의 자리올림 현상까지 포함하는 개념으로 사용된다. 즉, 이진수 101에 이진수 1을 더하면 110이 되는 경우와 같이, 첫번째 자리에서 자리올림이 발생한 것도 101에 1이라는 캐리키를 이용하여 자리올림인 캐리업 이벤트가 발생한 것으로 본다.Next, the decompression binary cluster generation unit 221 of the decompression calculation unit 220 adds binary numbers for causing each of the compression clusters to cause a carry-up event first as a starting point from the second carry point (S302 ). The "carry-up event" as used herein refers to a case where, when a second binary number is added from a first binary number consisting of a plurality of digits (bits), the number of the addition result at a certain position of the first binary number overflows, Which means that a carry-over phenomenon occurs. For example, if the binary number is 100 and the binary number is 1, the result is 101. In this case, 101 after addition is not compared with 100 before addition. That is, the carry-up event, which is the phenomenon of increasing the number to the top position for addition, does not occur. On the other hand, if the binary number 10 is added to the binary number 11, the result is 101. In this case, 101 after addition is compared with 10 before addition, so that a carry-up event occurs. As a result, the result of the rounding from 10 to 101 is obtained. This carry-up event is used not only in the case where the number of bits of the original number itself increases, but also in the concept including the first carry-over phenomenon occurring inside. That is, as in the case where 110 is added to the binary number 101 by 1, a carry-up event in which the carry-up is carried out using a carry key of 1 in 101 is considered to have occurred in the first place.

또한, 원래 이진수에 대하여 캐리업 이벤트를 일으키도록 하기 위하여 덧셈을 하는 이진수는 상기 제 2 캐리포인트의 위치를 시점으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수(예를 들어, 1, 11, 111, 1111,...)를 말하며, 이 또한 "캐리키"라고 할 수 있다. 예를 들어 이진수 11의 경우에는 1을 더하면 100로 캐리업 이벤트가 발생하여 이 때에는 캐리키가 1이 된다. 하지만, 110의 경우에는 1을 더하더라도 캐리업 이벤트가 발생하지 않고 11을 더해야만 1001이 되어 캐리업 이벤트가 발생하므로 이 때 캐리키는 11이 된다.In order to cause the carry-up event to occur with respect to the original binary number, the binary number to be added is a binary number (for example, 1, 11, 111, 1111, ...), which can also be referred to as "carrie ". For example, in case of binary number 11, if 1 is added, a carry-up event occurs at 100, so that the carry key is 1 at this time. However, in the case of 110, even if 1 is added, if the carry-up event is not generated but 11 is added, the carry-up event occurs because the carry-up event occurs.

그리고, 상기에서 "제 2 캐리포인트"는 상기 캐리업 이벤트를 일으키기 위한 캐리키의 가장 낮은 자리의 비트가 위치하는 자리를 의미하며, 데이터 압축해제를 위해 캐리업 이벤트를 실시하기 위한 캐리키의 첫번째 위치로부터 시작하여 가산연산이 반복하여 수행됨에 따라 한자리씩 하위 비트 방향으로 이동한다.Here, the "second carry point" means the place where the least significant bit of the carry key for generating the carry-up event is located, and the first carry key for carrying out the carry- As the addition operation is repeatedly performed starting from the position, it moves in the lower bit direction by one digit.

자리수Number of digits 44 33 22 1One 00 압축클러스터Compression cluster 1One 1One 1One 00 (+)(+) 캐리키Carrie 1One 2차변환데이터Secondary transformation data 1One 00 00 1One 00 (+)(+) 캐리키Carrie 1One 3차변환데이터Tertiary transformation data 1One 00 1One 00 00 (+)(+) 캐리키Carrie 1One 1One 1One 압축해제데이터Decompressed data 1One 1One 00 1One 1One

표 2의 예시의 경우, 제 2 캐리포인트를 "2"번째 비트자리로 결정한다. 즉, 제 2 캐리포인트는 "2"번째 비트자리가 되고, 덧셈을 통해 처음으로 캐리업 이벤트를 일으키게 하는 캐리키는 "1"이 되어 가산연산을 통해 "10010"이라는 데이터가 생성된다.In the example of Table 2, the second carry point is determined as the "2" -th bit position. That is, the second carry point is a "2" -bit bit, and the carry key for causing the carry-up event for the first time through addition is "1"

삭제delete

다음으로, 압축해제 바이너리 클러스터 생성부(221)는 추가적인 캐리업 이벤트가 발생할 수 있는지 판단한다(S303). 즉, 압축해제 바이너리 클러스터 생성부(221)는 단계(S302)에서의 캐리키 가산결과값에 대해 추가적인 캐리업 이벤트가 발생할 수 있는지 판단한다. 표 2의 예를 참조하면, 표 2에서는 캐리키의 1차 가산결과 "10010"이라는 데이터가 생성되고, 이 데이터는 캐리키와의 가산에 의해 추가적인 캐리업 이벤트가 발생할 수 있는 경우라고 할 수 있다.Next, the decompression binary cluster generation unit 221 determines whether an additional carry-up event can occur (S303). That is, the decompression binary cluster generation unit 221 determines whether an additional carry-up event can occur with respect to the carry-key addition result in step S302. Referring to the example of Table 2, in the table 2, the data "10010" is generated as a result of the primary addition of the carry key, and this data can be referred to as a case where an additional carry-up event can be generated by adding to the carry key .

상기 단계(S303)에서의 판단결과, 추가적인 캐리업 이벤트가 발생할 수 있다고 판단되면, 압축해제 바이너리 클러스터 생성부(221)는 제 2 캐리포인트를 1자리만큼 하위 비트 방향으로 이동시키고(S304), 이후 단계(S302)의 과정을 반복한다. 즉, 단계(S302)에서의 2번째 가산연산의 경우에는, 그 이전 단계보다 제 2 캐리포인트를 1자리만큼 하위 비트방향으로 이동시켜 캐리키를 생성한 다음 가산연산을 수행한다. 표 2의 예를 참조하면, 1차 캐리키 가산 후 제 2 캐리포인트는 하위비트 방향으로 1자리만큼 이동되어 "1"번째 비트자리가 되고, 이 자리를 기점으로 하여 "10010"에 대해 최초 캐리업 이벤트가 발생하게 하는 캐리키로서 "1"이 선택되어 가산연산이 수행되어 "10100"이 생성된다.If it is determined in step S303 that an additional carry-up event can be generated, the decompression binary cluster generation unit 221 moves the second carry point by one digit in the lower bit direction (S304) The process of step S302 is repeated. That is, in the case of the second addition operation in step S302, the carry key is generated by shifting the second carry point by one digit in the lower bit direction than the previous step, and then the addition operation is performed. Referring to the example of Table 2, the second carry point after the addition of the first carry key is shifted by one digit in the lower bit direction to become the "1" -th bit position, Quot; 1 "is selected as a carry key for causing the up event to occur, and an addition operation is performed to generate" 10100 ".

단계(S302) ~ 단계(S304)는 캐리업 이벤트가 더 이상 발생되지 않을 때까지 반복된다. 표 2의 예시의 경우, 캐리키의 2차 가산 후 제 2 캐리포인트는 하위비트 방향으로 1자리만큼 더 이동되어 "0"번째 비트자리가 되고, 이 자리를 기점으로 하여 "10100"에 대해 최초 캐리업 이벤트가 발생하게 하는 캐리키로서 "111"이 선택되어 가산연산이 수행되어 "11011"이 생성된다.Steps S302 to S304 are repeated until a carry-up event is no longer generated. In the example of Table 2, the second carry point after the second addition of the carry key is shifted by one position in the lower bit direction to become the "0" -th bit position, "111" is selected as the carry key for causing the carry-up event to occur and the addition operation is performed to generate "11011 ".

단계(S303)의 판단결과, 더 이상 캐리업 이벤트가 발생하지 않는다고 판단되면 압축해제 바이너리 클러스터 생성부(221)는 그 결과인 압축해제 바이너리 클러스터를 클러스터 결합부(222)에 전달하고, 클러스터 결합부(222)는 적어도 하나 이상의 압축해제 바이너리 클러스터를 결합하여 이진 데이터를 생성한다(S305).If it is determined in step S303 that the carry-up event no longer occurs, the decompression binary cluster generation unit 221 transfers the resultant decompression binary cluster to the cluster combining unit 222, (222) combines at least one decompression binary cluster to generate binary data (S305).

한편, 압축 클러스터 "10"과 같이, 최상위비트가 1인 압축클러스터의 경우에는, 이 1이 있는 자리를 제 2 캐리포인트로 결정한 후 아래와 같은 과정을 통해 압축해제를 수행한다.On the other hand, in the case of a compression cluster having a most significant bit of 1, such as a compression cluster "10 ", decompression is performed through the following process after determining a place having the 1 as a second carry point.

10      10

(+) 1(+) 1

----------------------

100     100

(+) 111(+) 111

------------------------

1011    1011

이와 같이 1011이라는 데이터가 얻어지면, 압축해제 바이너리 클러스터 생성부(221)는 1011의 앞에 0을 추가하여 기준비트수의 "01011"이라는 데이터를 압축해제 바이너리 클러스터로 생성한다. 즉, 원본 바이너리 클러스터의 기준비트수는 이미 약속되어 있을 것이기 때문에, 압축해제시에는 이에 맞춰서 0을 앞에 추가하는 방법을 통해 압축해제를 수행한다.When data of 1011 is obtained in this way, the decompression binary cluster generation unit 221 adds 0 to the front of 1011 to generate data of "01011 " as the number of reference bits into the decompression binary cluster. In other words, since the number of reference bits of the original binary cluster is already agreed, decompression is performed by adding 0 in front of the compressed solution.

한편, 압축 해제 후의 바이너리 클러스터가 그 비트수가 기준비트수(예를 들어, 5 비트)보다 적은 마지막 바이너리 클러스터의 경우에는, 압축클러스터와 함께 수신된 시그널비트를 이용하여 압축해제 바이너리 클러스터를 생성한다. 예를 들어, 시그널비트로 "0"이 전송된 경우에는 대응하는 압축해제 바이너리 클러스터는 앞에 0을 하나 가지는 데이터이고, 시그널비트로 "00"이 전송된 경우에는 대응하는 압축해제 바이너리 클러스터는 앞에 00을 가지고 있는 데이터이며, 시그널비트로 1이 전송된 경우에는 대응하는 압축해제 바이너리 클러스터는 그 자체가 압축해제 데이터임을 나타내는 것이다. 또한, 실시예에 따라서는, 기준비트수 미만 크기의 마지막 바이너리 클러스터는 그 갯수 및 데이터량 자체가 매우 작으므로, 압축되지 않은 상태로 수신하여 이를 그대로 이진데이터 합성시 결합할 수도 있다.
On the other hand, when the binary cluster after decompression is the last binary cluster whose number of bits is smaller than the reference number of bits (for example, 5 bits), the decompression binary cluster is generated using the signal bits received together with the compression cluster. For example, when "0" is transmitted as a signal bit, the corresponding uncompressed binary cluster is data having a leading 0, and when "00" is transmitted as the signal bit, the corresponding uncompressed binary cluster is preceded by 00 And when 1 is transmitted as a signal bit, the corresponding decompression binary cluster is itself a decompressed data. Also, according to an embodiment, since the number of the last binary clusters smaller than the reference bit number and the data amount itself are very small, they may be received in an uncompressed state and may be combined in the binary data synthesis as it is.

이상 살펴 본 바와 같이, 본 발명에 따른 이진 데이터의 압축 및 압축해제 방법과 장치는, 간단한 연산과 하드웨어적 구성을 통해 이진 데이터를 신속하고 효율적으로 압축하고 압축해제할 수 있을 뿐만 아니라, 압축률도 뛰어나며 압축 데이터 및 압축 해제 데이터의 신뢰성도 높일 수 있다.
As described above, the method and apparatus for compressing and decompressing binary data according to the present invention can quickly and efficiently decompress and decompress binary data through a simple operation and a hardware configuration, The reliability of the compressed data and the decompressed data can be increased.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

100 : 이진 데이터 압축장치
110 : 압축 연산부 111 : 데이터 분할부
112 : 압축클러스터 생성부 120 : 송신부
200 : 압축해제장치
210 : 수신부 220 : 압축해제 연산부
221 : 압축해제 바이너리 클러스터 생성부
222 : 클러스터 결합부
100: binary data compression device
110: Compression operation unit 111: Data division unit
112: compression cluster generation unit 120:
200: decompression device
210: Receiving unit 220:
221: decompression binary cluster generation unit
222:

Claims (16)

압축장치의 이진 데이터 압축 방법으로서,
압축연산부가 이진 데이터를 최하위비트로부터 미리 설정된 기준비트수 단위로 분할하여 적어도 하나의 바이너리 클러스터를 생성하는 단계;
상기 압축연산부가 각 바이너리 클러스터에 대하여, 상기 각 바이너리 클러스터가 제 1 캐리포인트를 기점으로 하여 최초로 캐리다운 이벤트(carry down event)를 일으키도록 하는, 상기 제 1 캐리포인트의 위치를 시점으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 각 바이너리 클러스터에 감산하는 단계; 및
상기 압축연산부가 상기 제 1 캐리포인트의 위치를 한 자리씩 상위자리로 이동시키면서 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산하는 단계를 반복하여, 적어도 하나의 압축 클러스터를 생성하는 단계를 포함하되,
상기 캐리다운 이벤트는 상기 각 바이너리 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미하고, 상기 제 1 캐리포인트는 상기 각 바이너리 클러스터의 최하위자리로부터 시작하여 한 자리씩 상위자리로 이동하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축방법.
A method of compressing binary data of a compression device,
Generating at least one binary cluster by dividing the binary data by a predetermined number of reference bits from the least significant bit;
Wherein the compression operation unit performs, for each of the binary clusters, a first carry point to start a carry down event with the first carry point as a start point, Subtracting a binary number consisting only of a minimum number of 1s in each binary cluster; And
Wherein the compression computation unit repeats the step of subtracting for each binary cluster until the carry-down event no longer occurs while moving the position of the first carry point by one digit to the upper digit, And generating a control signal,
Wherein the carry-down event refers to borrowing a number from the top of the binary cluster when subtracting the binary cluster, wherein the first carry point moves from the lowest position to the highest position of the binary cluster, A method of compressing binary data of a compression device.
제 1항에 있어서,
송신부가 상기 압축연산부에 의해 생성된 상기 적어도 하나의 압축 클러스터를 목적 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축방법.
The method according to claim 1,
Further comprising the step of the transmitting unit transmitting the at least one compressed cluster generated by the compression computing unit to the destination apparatus.
삭제delete 제 2항에 있어서,
상기 이진 데이터를 최하위비트로부터 분할하여 생성된 상기 적어도 하나의 바이너리 클러스터 중 비트수가 상기 기준비트수보다 적은 바이너리 클러스터는, 그에 대응하는 압축클러스터를 생성하지 않고 원본 자체로 상기 목적장치로 전송하거나, 대응하는 압축 클러스터를 생성한 후 상기 바이너리 클러스터에 대한 정보를 가지는 시그널 비트와 함께 전송하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축방법.
3. The method of claim 2,
A binary cluster in which the number of bits of the at least one binary cluster generated by dividing the binary data from the least significant bit is smaller than the reference bit number may be transmitted to the destination device as the original itself without generating a corresponding compression cluster, And transmitting the compressed binary data together with a signal bit having information on the binary cluster.
제 1항에 있어서,
상기 적어도 하나의 바이너리 클러스터 중 최상위비트에 0이 포함된 바이너리 클러스터는 최상위비트로부터 연속하여 배치된 적어도 하나의 0을 제거한 후 상기 압축방법을 수행하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축방법.
The method according to claim 1,
Wherein the binary cluster including 0 in the most significant bit of the at least one binary cluster performs the compression method after removing at least one continuously arranged from the most significant bit.
삭제delete 삭제delete 이진 데이터 압축 장치로서,
이진 데이터를 최하위비트로부터 미리 설정된 기준비트수 단위로 분할하여 적어도 하나의 바이너리 클러스터를 생성하고, 각 바이너리 클러스터에 대하여 상기 각 바이너리 클러스터가 제 1 캐리포인트를 기점으로 하여 최초로 캐리다운 이벤트를 일으키도록 하는, 상기 제 1 캐리포인트의 위치를 시점으로 하여 최소 개수의 1로만 이루어진 이진수를 상기 각 바이너리 클러스터에 감산하는 감산연산을 수행하되, 상기 제 1 캐리포인트의 위치를 한 자리씩 상위자리로 이동시키면서 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산연산을 반복하여 적어도 하나의 압축 클러스터를 생성하는 압축연산부를 포함하되,
상기 캐리다운 이벤트는 상기 각 바이너리 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미하고, 상기 제 1 캐리포인트는 상기 각 바이너리 클러스터의 최하위자리로부터 시작하여 한 자리씩 상위자리로 이동하는 것을 특징으로 하는, 이진 데이터 압축장치.
A binary data compression apparatus comprising:
At least one binary cluster is generated by dividing the binary data by a predetermined number of reference bits from the least significant bit, and for each binary cluster, each of the binary clusters causes a carry-down event to be generated first starting from the first carry point Performing a subtraction operation for subtracting a binary number consisting of a minimum number of 1s from the first carry point to each binary cluster, shifting the position of the first carry point by one digit to the upper digit, And a compression operation unit for generating at least one compressed cluster by repeating the subtraction operation for each binary cluster until a down event no longer occurs,
Wherein the carry-down event refers to borrowing a number from the top of the binary cluster when subtracting the binary cluster, wherein the first carry point moves from the lowest position to the highest position of the binary cluster, A binary data compression device.
제 8항에 있어서,
상기 압축연산부에 의해 생성된 상기 적어도 하나의 압축 클러스터를 목적 장치로 전송하는 송신부를 더 포함하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축장치.
9. The method of claim 8,
Further comprising: a transmitter for transmitting the at least one compressed cluster generated by the compression computation unit to a destination apparatus.
삭제delete 제 9항에 있어서,
상기 이진 데이터를 최하위비트로부터 분할하여 생성된 상기 적어도 하나의 바이너리 클러스터 중 비트수가 상기 기준비트수보다 적은 바이너리 클러스터는, 그에 대응하는 압축클러스터를 생성하지 않고 원본 자체로 상기 목적장치로 전송하거나, 대응하는 압축 클러스터를 생성한 후 상기 바이너리 클러스터에 대한 정보를 가지는 시그널 비트와 함께 전송하는 것을 특징으로 하는, 이진 데이터 압축장치.
10. The method of claim 9,
A binary cluster in which the number of bits of the at least one binary cluster generated by dividing the binary data from the least significant bit is smaller than the reference bit number may be transmitted to the destination device as the original itself without generating a corresponding compression cluster, And transmits the compressed cluster together with a signal bit having information on the binary cluster.
제 8항에 있어서,
상기 압축연산부는, 상기 적어도 하나의 바이너리 클러스터 중 최상위비트에 0이 포함된 바이너리 클러스터의 경우 최상위비트로부터 연속하여 배치된 적어도 하나의 0을 제거한 후 상기 압축 클러스터를 생성하는 것을 특징으로 하는, 이진 데이터 압축장치.
9. The method of claim 8,
Wherein the compression operation unit removes at least one zeros consecutively arranged from the most significant bit in the case of a binary cluster including 0 in the most significant bit of the at least one binary cluster, Compression device.
제 8항에 있어서,
상기 압축연산부는
상기 이진 데이터를 분할하여 상기 적어도 하나의 바이너리 클러스터를 생성하는 데이터 분할부; 및
각 바이너리 클러스터에 대하여, 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산연산을 반복하여 상기 적어도 하나의 압축 클러스터를 생성하는 압축클러스터 생성부를 포함하는 것을 특징으로 하는, 이진 데이터 압축장치.
9. The method of claim 8,
The compression operation unit
A data dividing unit dividing the binary data to generate the at least one binary cluster; And
And a compression cluster generation unit for generating, for each binary cluster, the at least one compressed cluster by repeating the subtraction operation for each binary cluster until no carry-down event occurs any more. Data compression device.
삭제delete 삭제delete 삭제delete
KR1020130067891A 2013-06-13 2013-06-13 Binary data compression and decompression method and apparatus KR101549740B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130067891A KR101549740B1 (en) 2013-06-13 2013-06-13 Binary data compression and decompression method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130067891A KR101549740B1 (en) 2013-06-13 2013-06-13 Binary data compression and decompression method and apparatus

Publications (2)

Publication Number Publication Date
KR20140145437A KR20140145437A (en) 2014-12-23
KR101549740B1 true KR101549740B1 (en) 2015-09-04

Family

ID=52675224

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130067891A KR101549740B1 (en) 2013-06-13 2013-06-13 Binary data compression and decompression method and apparatus

Country Status (1)

Country Link
KR (1) KR101549740B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101652735B1 (en) * 2015-05-18 2016-08-31 김정훈 Binary data compression and restoration method and apparatus
KR101682829B1 (en) * 2015-09-23 2016-12-12 김정훈 Message compression method and apparatus

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6737994B2 (en) 2002-05-13 2004-05-18 International Business Machines Corporation Binary-ordered compression for unicode

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6737994B2 (en) 2002-05-13 2004-05-18 International Business Machines Corporation Binary-ordered compression for unicode

Also Published As

Publication number Publication date
KR20140145437A (en) 2014-12-23

Similar Documents

Publication Publication Date Title
KR101737294B1 (en) Methods and devices for source-coding and decoding of data involving symbol compression
US8902090B2 (en) Compressing and decompressing signal data
EP3108583B1 (en) Devices and methods of source-encoding and decoding of data
KR101610609B1 (en) Data encoder, data decoder and method
EP2962398A1 (en) Encoder, decoder and method
KR101467684B1 (en) Binary data compression and decompression apparatus and method thereof
KR101549740B1 (en) Binary data compression and decompression method and apparatus
EP2962396A1 (en) Entropy modifier and method
EP3163876A1 (en) Method and apparatus for performing arithmetic coding by limited carry operation
KR101575939B1 (en) Binary data compression and restoration method and apparatus
KR20150093060A (en) Binary data compression and restoration method and apparatus
KR101471833B1 (en) Binary data compression and decompression method and apparatus
KR100636370B1 (en) Apparatus and method for coding using bit-precision, and apparatus and method for decoding according to the same
US10340946B2 (en) Encoders, decoders, and methods
EP3886324B1 (en) Compression and/or decompression of activation data
US8754791B1 (en) Entropy modifier and method
KR101652735B1 (en) Binary data compression and restoration method and apparatus
KR101676421B1 (en) Data compression and restoration method and apparatus
KR101676420B1 (en) Data compression and restoration method and apparatus
KR101573983B1 (en) Method of data compressing, method of data recovering, and the apparatuses thereof
KR102361730B1 (en) Data compressing method and apparatus
KR101670606B1 (en) Binary data compression and decompression method
KR102109768B1 (en) Cabac binary arithmetic encoder for high speed processing of uhd imge
US20130257634A1 (en) Data Encoding and Decoding Method and Device
US20160323603A1 (en) Method and apparatus for performing an arithmetic coding for data symbols

Legal Events

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

Payment date: 20190801

Year of fee payment: 5