KR101549740B1 - Binary data compression and decompression method and apparatus - Google Patents
Binary data compression and decompression method and apparatus Download PDFInfo
- 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
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
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.
Description
본 발명은 이진 데이터의 압축 및 압축해제 방법과 장치에 관한 것으로서, 보다 구체적으로는 간단한 연산과 하드웨어적 구성을 통해 이진 데이터를 효과적이고 효율적으로 압축하고 압축해제할 수 있는 이진 데이터의 압축 및 압축해제 방법과 장치에 관한 것이다.
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
압축연산부(110)는 이진 데이터를 최하위비트로부터 미리 설정된 기준비트수 단위로 분할하여 적어도 하나의 바이너리 클러스터를 생성하고, 각 바이너리 클러스터에 대하여 상기 각 바이너리 클러스터가 제 1 캐리포인트를 기점으로 하여 최초로 캐리다운 이벤트를 일으키도록 하는, 상기 제 1 캐리포인트의 위치를 시점으로 하여 최소 개수의 1로만 이루어진 이진수를 상기 각 바이너리 클러스터에 감산하는 감산연산을 수행하되, 상기 제 1 캐리포인트의 위치를 한 자리씩 상위자리로 이동시키면서 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산연산을 반복하여 적어도 하나의 압축 클러스터를 생성한다. 여기서, 상기 캐리다운 이벤트는 상기 각 바이너리 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미하고, 상기 제 1 캐리포인트는 상기 각 바이너리 클러스터의 최하위자리로부터 시작하여 한 자리씩 상위자리로 이동하는 것을 특징으로 한다.The
송신부(120)는 상기 압축연산부(110)에 의해 생성된 상기 적어도 하나의 압축 클러스터를 압축해제장치(200) 등의 목적 장치로 전송한다.The transmitting
압축연산부(110)는 이진 데이터를 분할하여 상기 적어도 하나의 바이너리 클러스터를 생성하는 데이터 분할부(111); 및 각 바이너리 클러스터에 대하여 캐리다운 이벤트가 더 이상 발생하지 않을 때까지, 상기 각 바이너리 클러스터에 대하여 상기 감산연산을 반복하여 상기 적어도 하나의 압축 클러스터를 생성하는 압축클러스터 생성부(112)를 포함한다.The
또한, 도 1에 도시된 바와 같이, 본 실시예에 따른 이진 데이터 압축해제장치(200)는 수신부(210) 및 압축해제연산부(220)를 포함한다.1, the binary
수신부(210)는 압축장치(100)의 송신부(120)를 통하여 전송된 적어도 하나의 압축 클러스터를 수신하여 압축해제연산부(220)로 전달한다.The
압축해제연산부(220)는 각 압축 클러스터에 대하여, 상기 각 압축 클러스터가 제 2 캐리포인트를 기점으로 하여 최초로 캐리업 이벤트(carry up event)를 일으키도록 하는, 상기 제 2 캐리포인트의 위치를 시점으로 하여 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 각 압축 클러스터에 가산하는 가산연산을 수행하되, 상기 제 2 캐리포인트의 위치를 한 자리씩 하위자리로 이동시키면서 최하위 비트에 이를 때까지 상기 각 압축 클러스터에 대하여 상기 가산연산을 반복하여 적어도 하나의 압축 해제 바이너리 클러스터를 생성하고, 상기 적어도 하나의 압축 해제 바이너리 클러스터를 결합하여 이진 데이터를 생성한다. 여기서, 상기 캐리업 이벤트는 상기 각 압축 클러스터에 대한 덧셈시 윗자리로 숫자를 올림하는 것을 의미하고, 상기 제 2 캐리포인트는 상기 각 압축 클러스터의 최상위자리로부터 배치된 적어도 0개 이상의 0에 의해 결정되는 자리로부터 시작하여 한 자리씩 하위자리로 이동하는 것을 특징으로 한다.The decompression
압축해제연산부(220)는 각 압축 클러스터에 대하여, 상기 제 2 캐리포인트의 위치를 한 자리씩 하위자리로 이동시키면서 최하위 비트에 이를 때까지 상기 각 압축 클러스터에 대하여 상기 가산연산을 반복하여 상기 적어도 하나의 압축 해제 바이너리 클러스터를 생성하는 압축해제 바이너리 클러스터 생성부(221); 및 상기 적어도 하나의 압축 해제 바이너리 클러스터를 결합하여 이진 데이터를 생성하는 클러스터 결합부(220)를 포함한다.
The
이와 같이 구성된 본 실시예의 동작 및 작용을 도 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
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
상기에서, "캐리다운 이벤트"란 복수의 자리(비트수)로 이루어진 제 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
또한, 원래 이진수에 대하여 캐리다운 이벤트를 일으키도록 하기 위하여 뺄셈을 하는 이진수는 상기 제 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
그리고, 상기에서 "제 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.
표 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
상기 단계(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
단계(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-
한편, 바이너리 클러스터 "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
이어서, 압축해제 연산부(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
또한, 원래 이진수에 대하여 캐리업 이벤트를 일으키도록 하기 위하여 덧셈을 하는 이진수는 상기 제 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.
표 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
상기 단계(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
단계(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
한편, 압축 클러스터 "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
한편, 압축 해제 후의 바이너리 클러스터가 그 비트수가 기준비트수(예를 들어, 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.
송신부가 상기 압축연산부에 의해 생성된 상기 적어도 하나의 압축 클러스터를 목적 장치로 전송하는 단계를 더 포함하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축방법.
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.
상기 이진 데이터를 최하위비트로부터 분할하여 생성된 상기 적어도 하나의 바이너리 클러스터 중 비트수가 상기 기준비트수보다 적은 바이너리 클러스터는, 그에 대응하는 압축클러스터를 생성하지 않고 원본 자체로 상기 목적장치로 전송하거나, 대응하는 압축 클러스터를 생성한 후 상기 바이너리 클러스터에 대한 정보를 가지는 시그널 비트와 함께 전송하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축방법.
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.
상기 적어도 하나의 바이너리 클러스터 중 최상위비트에 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.
이진 데이터를 최하위비트로부터 미리 설정된 기준비트수 단위로 분할하여 적어도 하나의 바이너리 클러스터를 생성하고, 각 바이너리 클러스터에 대하여 상기 각 바이너리 클러스터가 제 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.
상기 압축연산부에 의해 생성된 상기 적어도 하나의 압축 클러스터를 목적 장치로 전송하는 송신부를 더 포함하는 것을 특징으로 하는, 압축장치의 이진 데이터 압축장치.
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.
상기 이진 데이터를 최하위비트로부터 분할하여 생성된 상기 적어도 하나의 바이너리 클러스터 중 비트수가 상기 기준비트수보다 적은 바이너리 클러스터는, 그에 대응하는 압축클러스터를 생성하지 않고 원본 자체로 상기 목적장치로 전송하거나, 대응하는 압축 클러스터를 생성한 후 상기 바이너리 클러스터에 대한 정보를 가지는 시그널 비트와 함께 전송하는 것을 특징으로 하는, 이진 데이터 압축장치.
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.
상기 압축연산부는, 상기 적어도 하나의 바이너리 클러스터 중 최상위비트에 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.
상기 압축연산부는
상기 이진 데이터를 분할하여 상기 적어도 하나의 바이너리 클러스터를 생성하는 데이터 분할부; 및
각 바이너리 클러스터에 대하여, 캐리다운 이벤트가 더 이상 발생하지 않을 때까지 상기 각 바이너리 클러스터에 대하여 상기 감산연산을 반복하여 상기 적어도 하나의 압축 클러스터를 생성하는 압축클러스터 생성부를 포함하는 것을 특징으로 하는, 이진 데이터 압축장치.
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.
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)
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)
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 |
-
2013
- 2013-06-13 KR KR1020130067891A patent/KR101549740B1/en active IP Right Grant
Patent Citations (1)
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 |