KR20160065432A - Binary data compression and decompression apparatus and method thereof - Google Patents
Binary data compression and decompression apparatus and method thereof Download PDFInfo
- Publication number
- KR20160065432A KR20160065432A KR1020140169328A KR20140169328A KR20160065432A KR 20160065432 A KR20160065432 A KR 20160065432A KR 1020140169328 A KR1020140169328 A KR 1020140169328A KR 20140169328 A KR20140169328 A KR 20140169328A KR 20160065432 A KR20160065432 A KR 20160065432A
- Authority
- KR
- South Korea
- Prior art keywords
- cluster
- binary
- carry
- compression
- general
- 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3002—Conversion to or from differential modulation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3002—Conversion to or from differential modulation
- H03M7/3004—Digital delta-sigma modulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
본 발명은 이진데이터 압축 및 압축해제 장치와 방법에 관한 것으로서, 보다 상세하게는 이진수로 이루어진 데이터의 압축 및 압축해제 효율이 우수한 이진데이터 압축 및 압축해제 장치와 방법에 관한 것이다.The present invention relates to a binary data compression and decompression apparatus and method, and more particularly, to a binary data compression and decompression apparatus and method having excellent compression and decompression efficiency of binary data.
일반적으로, 이진수는 이진법으로 표현되는 수를 말하며, 0과 1로 나타내어지고, 컴퓨터 등에서 사용되는 데이터의 처리 및 표현에 사용된다.Generally, a binary number refers to a binary number expressed by 0 and 1, and is used for processing and representation of data used in a computer or the like.
이와 같은 이진수로 이루어진 이진데이터는 그 처리 속도 및 저장 용량 등을 고려하여 압축이 요구되는데, 종래의 이진데이터의 압축 및 압축해제 방법으로는 한국공개특허 제10-1999-022960호의 "이진 코드 압축과 복원방법 및 병렬압축과 복원 프로세서"가 개시된 바 있는데, 이는 이진 코드의 압축 방법으로서, 코드화된 신호 비트 값과 직교 부호화 함수 값과의 연속 곱(serial multiplication), 이후 일정 시간 주기 동안의 모든 곱(products)의 합산을 통한 초기 데이터 흐름의 변환을 포함하는 이진 코드 압축 방식에 있어서, 함수의 이산값이 부호화 함수로서 사용되며, 상기 함수는 주파수를 가진 가우시안 펄스 형태인 구분적 연속 함수이며, 부호화 변환로서 Duamel 시퀀스의 계산법이 사용되며, 데이터 입력 흐름과 부호화 함수의 이산값은 상기 시퀀스의 독립변수로 사용된다.Binary data consisting of such binary numbers are required to be compressed in consideration of their processing speed and storage capacity. Conventional methods of compressing and decompressing binary data are disclosed in Korean Patent Publication No. 10-1999-022960 entitled " And a parallel compression and restoration processor, which is a method of compressing a binary code, comprising serial multiplication of a coded signal bit value and an orthogonal coding function value, products, the discrete value of the function is used as an encoding function, the function is a piecewise continuous function which is in the form of a Gaussian pulse with a frequency, and the encoding transformation And the discrete values of the data input flow and the encoding function are used as independent variables of the above sequence It is used as a waterway.
그러나, 이와 같은 이진데이터의 압축 방법은 데이터의 압축 및 압축해제에 대한 처리 과정이 복잡하여 처리 속도 향상에 제한이 따르고, 결과값에 대해서 신뢰성을 높이기가 어렵다는 문제점을 가지고 있었다.However, such a method of compressing binary data has a problem in that it is difficult to improve the processing speed and the reliability of the resultant value because of a complicated process for compressing and decompressing the data.
상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여, 본 발명은 압축 및 압축해제를 위한 처리 속도를 향상시킬 수 있고, 압축율이 뛰어나며, 압축 및 압축해제의 결과값에 대한 신뢰성을 높이도록 하는데 목적이 있다.In order to solve the problems of the prior art as described above, it is an object of the present invention to improve the processing speed for compression and decompression, to provide an excellent compression ratio, and to improve the reliability of the result of compression and decompression have.
본 발명의 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.Other objects of the present invention will become readily apparent from the following description of the embodiments.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일측면에 따르면, 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터를 추출하고, 상기 최초의 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 획득하며, 상기 이진데이터에서 상기 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터(general cluster)에 대해서 뒤에서 앞으로 순차적으로 이동하면서 상기 압축 클러스터를 각각 획득하고, 상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터를 획득하는 압축연산부; 및 상기 압축연산부에 의해 순차적으로 획득된 상기 압축 클러스터를 목적장치로 순차적으로 송신하는 송신부를 포함하는 이진데이터 압축 장치가 제공된다.In order to achieve the above object, according to an aspect of the present invention, there is provided a method of extracting a first general cluster consisting of 10 and a binary number located first after moving from a back position to a front position in binary data, Subtracting a carry key corresponding to a binary number having a minimum size from a binary number consisting of only 1 that causes a carry down event to borrow a number from the top to subtract from the cluster to obtain a compression cluster, Moving from the first general cluster to the first cluster sequentially moves from back to forth with respect to all the generic clusters consisting of a binary number between 10 and 10 that have been encountered and a binary number containing 10 that is currently encountered, each Deukhago, for a final general cluster in the binary data, a compression unit for acquiring the compressed cluster with respect to the rest of the binary number binary cluster head (head binary cluster) including a position in front; And a transmission unit sequentially transmitting the compressed clusters sequentially obtained by the compression calculation unit to a target device.
상기 압축연산부는 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 상기 압축 클러스터로서 획득하고, 상기 제 1 결과치가 상기 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우에 상기 제 1 결과치를 구성하고 있는 모든 1을 상기 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 상기 압축 클러스터로서 획득하며, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 상기 송신부에 의해 송신하도록 할 수 있다. Wherein the compression operation unit is operable to generate, from the general cluster or the head binary cluster, a second result value obtained by first subtracting a carry key of a minimum size causing the carry down event from a second And if the first result value can not cause the carry-down event any more , convert all of the ones constituting the first result value to a number of digits equal to the number of digits in the first result value, And a signal bit for identifying the case where the binary data starts with 0 and the case where the binary data starts with 1 can be transmitted by the transmission unit.
상기 압축연산부는 상기 이진데이터로부터 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 식별하는 압축식별부; 상기 압축식별부에 의해 식별된 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터로부터 연산에 의해 상기 제 1 결과치를 획득하는 1차 캐리다운연산부; 상기 1차 캐리다운연산부에 의해 획득된 상기 제 1 결과치로부터 상기 캐리 다운 이벤트 연산 또는 O으로의 변환에 의해 상기 제 2 결과치로서 상기 압축 클러스터를 획득하는 2차 캐리다운연산부; 및 상기 2차 캐리다운연산부에 의해 획득되는 상기 압축 클러스터를 상기 송신부에 순차적으로 개별 전송하며, 상기 시그날 비트를 상기 송신부에 의해 송신하도록 하는 압축전송부를 포함할 수 있다.Wherein the compression operation unit comprises: a compression identification unit for identifying the general cluster and the head binary cluster from the binary data; A primary carry down operation unit for obtaining the first result value by operation from the general cluster and the head binary cluster identified by the compression identification unit; A secondary carry-down operation unit for obtaining the compressed cluster as the second result value by the carry-down event operation or the conversion to O from the first resultant value obtained by the primary carry-down operation unit; And a compression transmission unit for sequentially transmitting the compressed clusters acquired by the secondary carry-down operation unit to the transmission unit, and transmitting the signal bits by the transmission unit .
본 발명의 다른 측면에 따르면, 상기한 이진데이터 압축 장치로부터 순차적으로 수신되는 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 각각 획득하는 압축해제연산부; 및 상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속적으로 배열하여 저장하는 메모리부를 포함하는 이진데이터 압축해제 장치가 제공된다.According to another aspect of the present invention, there is provided a binary data compression apparatus comprising: a binary data compression unit for generating a carry up event for incrementing a number of bits in a compression cluster sequentially received from the binary data compression apparatus, A decompression computation unit for acquiring a general cluster and a head binary cluster, respectively, And a memory unit for sequentially arranging and storing the general cluster and the head binary cluster sequentially obtained by the decompression operation unit.
상기 압축해제연산부는 상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하되, 상기 압축 클러스터가 0으로만 이루어진 경우, O의 자리수와 동일한 자리수의 1로 변환하여 상기 제 3 결과치로서 획득하고, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환할 수 있다. Wherein the decompression arithmetic operation unit adds a fourth result value obtained by adding a carriage key of a minimum size that causes the carry-up event to the third result value, Cluster, or the head binary cluster, and when the compression cluster is composed of only 0, it is converted into 1, which is the same as the number of digits of O, as the third result value, and when the binary data starts with 0 and 1 , And when the first bit of the head binary cluster is 0 through the signal bit, it can be converted into 0 via the signal bit.
상기 압축해제연산부는 상기 압축 클러스터를 순차적으로 식별하는 압축해제식별부; 상기 압축해제식별부에 의해 식별된 상기 압축 클러스터로부터 상기 캐리 업 이벤트 연산 또는 1로의 변환에 의해 상기 제 3 결과치를 획득하는 1차 캐리업연산부; 상기 1차 캐리업연산부에 의해 획득된 상기 제 3 결과치로부터 상기 캐리 업 이벤트 연산에 의해 상기 제 4 결과치로서 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 획득하는 2차 캐리업연산부; 및 상기 2차 캐리업연산부에 의해 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 상기 메모리부에 순차적으로 개별 전송하는 압축해제전송부를 포함하고, 상기 압축해제식별부가 상기 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 으로 변환하여 압축해제전송부에 의해 전송할 수 있다. Wherein the decompression calculation unit comprises: a decompression identification unit for sequentially identifying the compression clusters; A first order carry operation unit for obtaining the third result value from the compression cluster identified by the decompression identification unit by the carry-up event operation or the conversion to 1; A secondary carry operation unit for obtaining the general cluster and the head binary cluster as the fourth result value by the carry-up event operation from the third result value obtained by the primary carry-up operation unit; And a decompression transmission unit for sequentially transmitting the general cluster and the head binary cluster obtained by the secondary carry-up operation unit to the memory unit, wherein the decompression identification unit receives the signal bit, If the first bit of the head binary cluster is 0 through a bit, it can be converted into a bit and transmitted by the decompressing transmission unit.
본 발명의 또 다른 측면에 따르면, 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 상기 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 압축연산부에 의해 획득하는 단계; 상기 압축연산부에 의해 획득된 압축 클러스터를 송신부에 의해 목적장치로 송신하는 단계; 상기 이진데이터에서 상기 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터에 대해서 뒤에서 앞으로 순차적으로 이동하면서 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을 반복적으로 수행하도록 하는 단계; 및 상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을 수행하도록 하는 단계를 포함하는 이진데이터 압축 방법이 제공된다.According to another aspect of the present invention, there is provided a method for extracting a first general cluster consisting of binary data 10 and a binary data which are first encountered while moving from a back position to a front position in binary data, Obtaining a compressed cluster by a compression operation unit by subtracting a carry key corresponding to a binary number having a minimum size from a binary number consisting of only 1 causing a carry down event to borrow a number; Transmitting a compressed cluster obtained by the compression calculation unit to a destination apparatus by a transmission unit; While moving in the binary data by the binary number and order from back to front with respect to all the general cluster composed of a binary number containing 10 currently met between 10 ran to 10 and just prior to see while moving in the front seat from the first general cluster acquisition of the compressed cluster And repeatedly performing transmission of the compressed cluster; And comprising to perform the final case of the general cluster, the front of which comprises the rest of the binary number which is located the head binary cluster acquisition of the compressed cluster for (head binary cluster) and transmission of the compressed cluster in the binary data A binary data compression method is provided.
상기 압축 클러스터를 획득하는 단계는 상기 압축연산부에 의해서, 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 상기 압축 클러스터로서 획득하고, 상기 제 1 결과치가 상기 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우에는 상기 제 1 결과치를 구성하고 있는 모든 1을 상기 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 상기 압축 클러스터로서 획득하며, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 상기 송신부에 의해 송신하도록 할 수 있다. Wherein the step of acquiring the compressed cluster further includes a step of, by the compression operation unit, generating, from the general cluster or the head binary cluster, a first result obtained by first subtracting a carry key of a minimum size causing the carry- And if the first result value can not cause the carry-down event to occur any more, then all the ones constituting the first result value are acquired as the first cluster value, And a signal bit for identifying the case where the binary data starts with 0 and the case where the binary data starts with 1 can be transmitted by the transmission unit.
본 발명의 또 다른 측면에 따르면, 상기한 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터를 수신받아, 상기 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 압축해제연산부에 의해 각각 획득하는 단계; 및 상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속적으로 배열하여 메모리부에 저장하는 단계를 포함하는 이진데이터 압축해제 방법이 제공된다.According to another aspect of the present invention, there is provided a data compression method comprising: receiving a compression cluster sequentially transmitted by the binary data compression method and generating a carry up event for incrementing a number to the top of the compression cluster; Adding a carry key corresponding to a binary number having a minimum size among the binary numbers consisting of only the binary number to each of the general cluster and the head binary cluster by the decompression operation unit; And a step of successively arranging the general cluster and the head binary cluster sequentially obtained by the decompression operation unit and storing the general cluster and the head binary cluster in a memory unit.
상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 각각 획득하는 단계는 상기 압축해제연산부에 의해서, 상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하되, 상기 압축 클러스터가 0으로만 이루어진 경우, O의 자리수와 동일한 자리수의 1로 변환하여 상기 제 3 결과치로서 획득하고, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환할 수 있다.
Wherein the step of acquiring the general cluster and the head binary cluster further includes a step of, by the decompression computing unit, repeatedly transmitting the carry-up event to the third result value obtained by firstly adding a minimum-size carry key causing the carry- wherein the causing the fourth result value obtained by adding a carry key, the smallest second drive, but obtained as the general cluster or the head binary cluster, if the compression cluster is only made to 0, it is converted into one of the same number of digits and number of digits to the right of O and the third And receives a signal bit for identifying the case where the binary data starts with 0 and the case where it starts with 1, and when the first bit of the head binary cluster is 0 through the signal bit, can do.
본 발명에 따른 이진데이터 압축 및 압축해제 장치와 방법에 의하면, 압축 및 압축해제를 위한 처리 속도를 향상시킬 수 있고, 압축율이 뛰어나며, 압축 및 압축해제의 결과값에 대한 신뢰성을 높일 수 있고, 이진데이터 전송의 실질적인 트래픽을 획기적으로 절감할 수 있다.According to the binary data compression and decompression apparatus and method according to the present invention, the processing speed for compression and decompression can be improved, the compression rate can be improved, the reliability of the result of compression and decompression can be increased, The substantial traffic of the data transmission can be remarkably reduced.
도 1은 본 발명에 따른 이진데이터 압축 장치와 이진데이터 압축해제 장치를 도시한 구성도이고,
도 2는 본 발명에 따른 이진데이터 압축 방법을 도시한 흐름도이고,
도 3은 본 발명에 따른 이진데이터 압축해제 방법을 도시한 흐름도이다.BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a configuration diagram showing a binary data compression apparatus and a binary data decompression apparatus according to the present invention,
2 is a flowchart illustrating a binary data compression method according to the present invention,
3 is a flow chart illustrating a method for decompressing binary data according to the present invention.
본 발명은 다양한 변경을 가할 수 있고, 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니고, 본 발명의 기술 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 식으로 이해되어야 하고, 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but is to be understood to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention, And the scope of the present invention is not limited to the following examples.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명하며, 도면 부호에 관계없이 동일하거나 대응하는 구성요소에 대해서는 동일한 참조 번호를 부여하고, 이에 대해 중복되는 설명을 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like or corresponding elements are denoted by the same reference numerals, and redundant explanations thereof will be omitted.
도 1은 본 발명에 따른 이진데이터 압축 장치와 이진데이터 압축해제 장치를 도시한 구성도이다.1 is a block diagram showing a binary data compression apparatus and a binary data decompression apparatus according to the present invention.
도 1에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축 장치(100)는 압축연산부(120)와 송신부(130)를 포함할 수 있다.As shown in FIG. 1, the binary
압축연산부(120)는 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 최초의 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 획득하며, 이진데이터에서 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터(general cluster)에 대해서 뒤에서 앞으로 순차적으로 이동하면서 압축 클러스터를 각각 획득하고, 이진데이터에서 최종적인 제너럴 클러스터의 경우, 앞에 위치하는 나머지 이진수("1")들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 압축 클러스터를 획득한다. 또한 압축연산부(120)는 최종적인 10이 가장 좌측 비트였다면 최종적인 제너럴 클러스터가 헤드 바이너리 클러스터가 되도록 할 수 있다.The
예를 들면, 101011101011이라는 이진수에 있어서, 10 / 1011 / 10 / 1011 로 바이너리 클러스터로 나눌수 있는데, 우측에서 3개의 클러스터는 제네럴 바이너리 클러스터이고, 맨 앞이 헤드 바이너리 클러스터가 되는데, 헤드 바이너리 클러스터는 이렇게 10 형태의 제네럴 클러스터 형태도 가질 수 있다. 물론 이때 “10” 앞에 또 다른 “0”은 결코 존재할 수 없다. 또는 110101010101과 같은 이진수에 있어서는, 110 / 10 / 10 / 10 / 101 과 같이 맨 앞의 헤드 바이너리 클러스터의 경우처럼 110과 같이 “10” 앞에 “1”이 연속하여 1개 또는 그 이상도 존재할 수 있는 것은 물론이며, 이때 “10” 앞에 또 다른 “0”은 결코 존재할 수 없다.For example, in a binary number of 101011101011, 10/1011/10/1011 can be divided into binary clusters. On the right side, three clusters are general binary clusters and the head side is a head binary cluster. It can also have a generic cluster type. Of course, another "0" before "10" can never exist at this time. Or 110101010101, there may be one or more consecutive " 1 " s preceded by " 10 " such as 110 as in the case of the first head binary cluster such as 110/10/10/10 / Of course, another "0" before "10" can never exist.
압축연산부(120)는 제너럴 클러스터 또는 헤드 바이너리 클러스터로부터 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 압축 클러스터로서 획득하고, 제 1 결과치가 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우, 즉 1로만 이루어진 경우, 예를 들어 헤드 바이너리 클러스터가 100이었다면, 1차 캐리다운 이벤트 이후에는 11로 바뀌어 있는 경우에 제 1 결과치를 구성하고 있는 모든 1을 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 압축 클러스터로서 획득할 수 있고, 이로써 2차 캐리다운 이벤트 연산에 갈음하게 되며(바로 앞에 든 예의 경우에는 11이 00으로 바뀌게 된다), 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 송신부(130)에 의해 송신하도록 할 수 있다.
The
한편, 반드시 압축바이너리 클러스터를 생성할 때, 2차에 걸친 압축바이너리 클러스터 생성과정에서 본발명에서 필수적인 것은 아니다. 상기 제1결과치 만으로도 충분히 압축효과가 있으며, 제 1결과치를 최종 압축바이너리 클러스터로 하여 송신부에서 수신부로 전송한뒤, 압축연산해제부에서도 역시 1회의 압축해제 연산을 통해서 원본데이터를 복구할 수 있다. 다만 압축효과자체는 제2결과치까지 2차 압축한 압축바이너리 클러스터보다는 작을 수는 있다.On the other hand, when generating compressed binary clusters, it is not essential in the present invention in the process of generating compressed binary clusters over the second order. The first resultant value is sufficiently effective for compression, and after the first resultant value is transmitted from the transmitting unit to the receiving unit as the final compressed binary cluster, the original data can be recovered through the single decompression operation also in the compression operation canceling unit. However, the compression effect itself may be smaller than the second compression compressed binary cluster up to the second result value.
압축연산부(120)는 일례로 이진데이터로부터 제너럴 클러스터와 헤드 바이너리 클러스터를 식별하는 압축식별부(121)와, 압축식별부(121)에 의해 식별된 제너럴 클러스터와 헤드 바이너리 클러스터로부터 연산에 의해 제 1 결과치를 획득하는 1차 캐리다운연산부(122)와, 1차 캐리다운연산부(122)에 의해 획득된 제 1 결과치로부터 캐리 다운 이벤트 연산 또는 O으로의 변환에 의해 제 2 결과치로서 압축 클러스터를 획득하는 2차 캐리다운연산부(123)와, 2차 캐리다운연산부(123)에 의해 획득되는 압축 클러스터를 송신부(130)에 순차적으로 개별 전송하며, 시그날 비트를 송신부에 의해 송신하도록 하는 압축전송부(124)를 포함할 수 있다. 또한 압축연산부(120)는 압축에 따른 제어를 위하여 제어부(미도시)를 더 포함할 수 있고, 나아가서, 구동에 필요한 프로그램이나 데이터의 저장을 위하여 메모리부(미도시)를 더 포함할 수 있다.The
송신부(130)는 압축연산부(120)에 의해 순차적으로 획득된 압축 클러스터를 목적장치, 예컨대 이진데이터 압축해제 장치(200)이거나, 그 밖에 압축된 이진데이터를 필요로 하는 프로세스 장치나 메모리 장치 등으로 순차적으로 송신한다. 여기서, 송신부(130)는 목적 장치의 통신 방법에 따라, 와이어나 케이블 등으로 이루어져서 유선으로 신호를 송신하거나, 블루투스, 와이파이, 3G, LTE 등의 통신모듈로 이루어져서 무선으로 신호를 송신할 수도 있다.The transmission unit 130 transmits the compressed clusters sequentially obtained by the
한편, 본 발명에 따른 이진데이터 압축 장치(100)는 외부 장치(1), 예컨대 별도의 프로세스 장치나 메모리 장치로부터 이진 데이터를 수신받기 위하여, 유선 또는 무선 통신을 위한 와이어, 케이블 또는 통신 모듈 등으로 이루어지는 수신부(110)를 더 포함할 수 있다. 여기서, 외부 장치(1)는 이진데이터 압축 장치(100)와 구별되는 장치를 의미하는 것으로서, 이진데이터 압축 장치(100)와 함께 단일의 장치로 이루어지거나, 이진데이터 압축 장치(100)와 별개로 이루어질 수 있다.Meanwhile, the binary
도 1에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축해제 장치(200)는 상기한 본 발명에 따른 이진데이터 압축해제 장치(100)에 의해 순차적으로 송신되는 압축 클러스터로부터 압축을 해제하여 원본의 이진데이터를 추출하는 장치로서, 압축해제연산부(220)와 메모리부(230)를 포함할 수 있다.As shown in FIG. 1, a binary
압축해제연산부(220)는 이진데이터 압축 장치(100)로부터 순차적으로 수신되는 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 각각 획득한다.The decompression
압축해제연산부(220)는 압축 클러스터로부터 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 제너럴 클러스터 또는 헤드 바이너리 클러스터로서 획득하되, 1차 압축해제 연산을 위해 또는 2차 압축해제 연산에서 압축 클러스터가 0으로만 이루어진 경우, O의 자리수와 동일한 자리수의 1로 변환하여 제 3 결과치로서 획득하고, 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 시그날 비트를 통해서 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환할 수 있다. The decompression
한편, 이렇게 시그널 비트와 헤드바이너리 클러스터의 개념을 도입하면 발명이 번거롭게 되는 측면이 있으므로, 이진데이터의 최상위 비트앞에 "10","101","1000","10111",,.. 등 "1"로 시작하고 1개이상의 연속된 "0" 그리고 0개이상의 연속된 "1"로 이루어진 바이너리 클러스터를 하나 선택하여 강제적으로 추가하면, 헤드바이너리 클러스터는 생기지 않을것이고, 모두 제너럴 바이너리 클러스터로 나뉘고, 이에 따라 각각 압축 클러스터를 생성하여 전송할 수 있다. 한편 수신부의 압축해제 연산부에서 압축해제하여 나온 스트리밍 데이터에서의 최상위 비트가운데 상기 선정하여 강제적으로 붙인 바이너리 클러스터를 구성하고 있는 비트값을 제거하면 원본데이터가 완벽히 복구될 수 있다.In the meantime, the concept of signal bits and head binary clusters can make the invention cumbersome. Therefore, the most significant bits of binary data are preceded by "10", "101", "1000", "10111" "And one binary cluster consisting of one or more consecutive" 0s " and zero or more consecutive "1s " is selected and forcedly added, the head binary cluster will not occur and all of the binary clusters are divided into general binary clusters The compressed clusters can be generated and transmitted. On the other hand, if the bit value constituting the binary cluster is selected, the original data can be completely recovered from among the most significant bits in the streaming data decompressed by the decompression computation unit of the receiving unit.
압축해제연산부(220)는 일례로 압축 클러스터를 순차적으로 식별하는 압축해제식별부(221)와, 압축해제식별부(221)에 의해 식별된 압축 클러스터로부터 캐리 업 이벤트 연산 또는 1로의 변환에 의해 제 3 결과치를 획득하는 1차 캐리업연산부(222)와, 1차 캐리업연산부(222)에 의해 획득된 제 3 결과치로부터 캐리 업 이벤트 연산에 의해 제 4 결과치로서 제너럴 클러스터와 헤드 바이너리 클러스터를 획득하는 2차 캐리업연산부(223)와, 2차 캐리업연산부(223)에 의해 획득되는 제너럴 클러스터와 헤드 바이너리 클러스터를 메모리부(230)에 순차적으로 개별 전송하는 압축해제전송부(224)를 포함할 수 있으며, 압축해제식별부(221)가 시그날 비트를 수신하여, 시그날 비트를 통해서 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환하여 압축해제전송부(224)에 의해 전송할 수 있다 . 또한 압축해제연산부(220)는 압축해제에 따른 제어를 위하여 제어부(미도시)를 더 포함할 수 있고, 나아가서, 구동에 필요한 프로그램이나 데이터의 저장을 위하여 메모리부(230)를 사용하거나 별도의 메모리부를 더 포함할 수 있다.The decompression
메모리부(230)는 압축해제연산부(220)에 의해 순차적으로 획득되는 제너럴 클러스터와 헤드 바이너리 클러스터를 연속적으로 배열하여 일시 또는 영구적으로 저장하며, 압축해제연산부(220)와 함께 단일로 이루어지거나, 압축해제연산부(220)와 별개로 이루어질 수도 있다. 또한 메모리부(230)는 수신부(210)에 의해 수신되는 압축 클러스터를 일시적으로 저장하여 압축해제연산부(220)가 압축 해제를 하도록 제공하는 버퍼 역할을 수행할 수도 있다. The
본 발명에 따른 이진데이터 압축해제 장치(200)는 이진데이터 압축 장치(100)의 송신부(130)로부터 압축 클러스터에 대한 데이터를 유선 또는 무선으로 수신받아 압축해제식별부(221)로 전달하기 위하여, 와이어나 케이블 또는 무선통신모듈 등으로 이루어지는 수신부(210)를 더 포함할 수 있다.The binary
한편, 상기한 제너럴 클러스터, 헤드 바이너리 클러스터, 캐리키, 캐리 다운 이벤트, 캐리 업 이벤트 등을 보다 자세히 설명하기로 하며, 이는 후술하게 될 이진데이터 압축 방법과 이진데이터 압축해제 방법 모두 적용될 수 있다.The general cluster, the head binary cluster, the carry key, the carry down event, the carry-up event, and the like described above will be described in detail, and both the binary data compression method and the binary data decompression method will be described later.
예를 들면, 이진수인 101의 경우에 이진수로 1을 빼면 그 결과는 100이 된다. 이 경우 3자리의 이진수인 100에 있어서, 101과 비교하여 자리내림현상이 발생하지 않는다. 즉, 뺄셈을 위해서 윗자리에서 숫자를 빌려오는 현상이 발생하지 않는다. 그러면 이진수인 11을 빼보면 그 결과는 10이 된다. 이 경우 3자리의 이진수인 101은 이진수인 11을 뺌으로써, 3번째 자리의 1에서 2를 빌려와서 두 번째자리의 1과 연산을 통해 10의 수치를 얻게 되는데, 이를 캐리 다운 이벤트라고 한다. 본 발명에서는 캐리키라고 불리는 1, 11, 111, 1111,... 과 같은 수치에서 가장 작은 수치로 일어나는 최초의 자리내림 현상을 캐리 다운 이벤트라고 정의한다. 이때 캐리 다운 이벤트는 원래 숫자의 비트수 자체가 작아지는 경우뿐만 아니라, 내부에서 일어나는 최초의 자리내림까지도 포함할 수 있다. 즉 이진수인 110을 이진수인 1로 빼면 101이 되는 것과 같이, 두 번째 자리에서 자리내림이 발생한 것도 110에서 1이라는 캐리키로 자리내림이 발생한 것으로 본다.For example, in the case of binary number 101, subtracting 1 as a binary number results in 100. In this case, in the case of 100, which is a binary number of three digits, the downward phenomenon does not occur as compared with 101. In other words, there is no borrowing of numbers from the top for subtraction. Then subtract the binary number 11 and the result is 10. In this case, 101, which is a 3 digit binary number, is 11, which is borrowed from 1 to 2 of the third digit, and the value of 10 is obtained through the operation of the second digit of 1, which is called a carry down event. In the present invention, a carry down event is defined as a first carry down phenomenon occurring in the smallest numerical value such as 1, 11, 111, 1111, ... called a carry key. At this time, the carry-down event may include not only the case where the number of bits of the original number itself becomes small, but also the first falling-down occurring inside. In other words, if the
이진수 101에서 캐리키 중에서 가장 작은 1을 더하는 경우, 그 결과 110과 같이 이진법 첫 번째 자리에서 숫자가 넘쳐서 다음 자리에 캐리 업(carry up)되는 현상이 일어나는데, 이를 캐리 업 이벤트라고 한다.In binary 101, if the smallest one of the carry keys is added, the result is that the number overflows at the first digit of the binary method as in 110, which carries up the next digit. This is called a carry-up event.
또한 예컨대 2진수인 1101010101010의 경우에 있어서, 이러한 캐리 업 이벤트 및 캐리 다운 이벤트가 발생하기 위한 최소한의 단위로 묶을 수 있는데, 110 / 10 / 10 / 10 / 10 / 10과 같은 형태이다. 여기에서 맨 앞의 110을 헤드 바이너리 클러스터라고 한다. 다른 예로서, 100101101011이라는 이진수의 경우에, 100 / 101 / 10 / 1011로 분리가 가능하다. 이렇게 분리되는 것은 맨 뒤쪽에서부터 1비트씩 앞쪽으로 이동하되, 한번에 2비트씩 취하면서 만나게 되는 10을 기준으로 분리한다. 이때 맨 앞의 100이 헤드 바이너리 클러스터가 된다. 한편, 헤드 바이너리 클러스터는 10을 1개 포함해야 하는 것이 제네럴 클러스터와 동일하나, 제너럴 클러스터와 달리 10 앞에 1이 연속으로 여러 개 올 수도 있다. 물론 원본데이터인 이진데이터에 따라 1이 연속으로 하나도 오지 않을 수 있으며, 이 경우 헤드 바이너리 클러스터는 제너럴 바이너리 클러스터와 동일한 형태가 될 것이다. For example, in the case of 1101010101010 which is a binary number, such a carry-up event and a carry-down event can be grouped in a minimum unit for generating such as 110/10/10/10/10/10. Here, the first 110 is called a head binary cluster. As another example, in the case of a binary number of 100101101011, separation into 100/101/10/1011 is possible. This separation is done by shifting one bit forward from the farthest backwards, separating two 10 bits at a time. At this time, the first 100 is the head binary cluster. On the other hand, a head binary cluster needs to include one 10, which is the same as a general cluster, but unlike a general cluster, there may be a plurality of 1s in succession. Of course, depending on the binary data of the original data, one may not come in consecutively. In this case, the head binary cluster will have the same form as the general binary cluster.
이와 같이 클러스터를 묶는 방법은 압축식별부(121)에 의해 수행될 수 있는데, 일례로 맨 뒤의 이진수에서부터 앞의 이진수로 이동하면서 비트를 스캔하다가 먼저 10을 만나면, 이 위치의 바로 앞 위치(“10”중에 특히 “1”의 앞 위치)를 기억해 두고, 다음으로 나오는 10 바로 앞 위치까지(특히 “1”의 위치)를 찾은 뒤, 이 두 개의 10사이의 이진수를 이용하여 다음과 같이 클러스터를 묶는 방법으로 수행될 수 있다. 다만, 10을 최초로 만나는 경우에는 “10”에서 “1”의 위치와 맨 첫 번째 비트사이의 이진수가 최초의 제너럴 클러스터가 될 것은 자명하다. 예를 들어, 101011의 경우 10 / 1011일 때, 1011 제너럴 클러스터, "10" 이 처음으로 나오는 것이므로, 맨 처음자리까지의 이진수를 묶어서 “1011”로 만든다는 의미이다. “10”은 헤드 바이너리 클러스터임은 자명하다. The method of binding clusters may be performed by the
예를 들어, 아래의 표 1에서와 같이, 11010의 경우에 E 비트에서부터 A 비트까지 스캔하면서, 10이 최초로 나타나는 D 비트에서부터 E 비트를 찾아서 D~E를 연속하여 최초의 제너럴 클러스터로 하고, D-1, 즉 C 위치에서 좌측으로 이동하다 다시 B 비트에서의 10을 처음 만나면 B~C를 다시 두번째 제너럴 클러스터라고 할 수 있다. 그러나, 이 때 B-1 위치, 즉 A 위치까지 10이 더 이상 없으므로 B-1 위치, 즉 A 위치까지의 모든 1을 포함하여 두번째 제너럴 클러스터는 헤드 바이너리 클러스터(A~C)가 된다고 정의할 수 있다.
For example, as shown in Table 1 below, in the case of 11010, scanning from E bit to A bit, finding the E bit from the D bit where 10 first appears, making D ~ E successively the first general cluster, and D -1, that is first encountered in the 10 is moved to the left from the position C back to B bits can be called again for the second general cluster B ~ C. However , at this time, since there are no more 10 to the B-1 position, i.e., the A position, it can be defined that the second general cluster including all 1s to the B-1 position, that is, the A position becomes the head binary cluster (A to C) have.
헤드 바이너리 클러스터 이후의 바이너리 클러스터들은 모두 제너럴 클러스터에 해당된다. 또한 헤드 바이너리 클러스터와 제너럴 클러스터를 통칭하여 바이너리 클러스터라고 할 수 있다. The binary clusters after the head binary cluster all belong to the general cluster. The head binary cluster and the general cluster are collectively referred to as a binary cluster.
캐리 다운 이벤트 및 캐리 업 이벤트를 발생시키는 캐리키는 1, 11, 111,....과 같이 무한하다. 이때 캐리키는 압축의 효율성을 고려하여 여러 가지가 있을 수 있다. 그런데 캐리 다운 이벤트 및 캐리 업 이벤트를 발생시키는 캐리키의 크기에 따라 연산전후에 값이 변화하는 비트들의 총 갯수가 달라지는데, 이를 캐리 이벤트 엔트로피(carry event enthropy)라고 한다. 예를 들어, 아래의 표 2에서와 같이 이진수인 10010에서, 캐리키 1을 사용하여 캐리 다운 이벤트가 일어나도록 할 수 있는데, 그 결과는 10001이다. 또한 캐리키 11을 사용하여 캐리 업 이벤트를 발생시킬 수 있는데, 그 결과는 10101이다. 또한 동일한 10010에 대하여 캐리키 11을 사용하여 캐리업 이벤트도 발생시킬 수 있는데, 그 결과는 10101이다. 이렇게 동일한 이진수에 대해서도 캐리업 이벤트 또는 캐리다운 이벤트를 모두 일으킬 수는 있으나, 이는 캐리키를 더하느냐 빼느냐에 따라 정하여지는 것이다.
The carry key generating the carry down event and the carry up event is infinite like 1, 11, 111, ..... At this time, there are various kinds of carry key considering the efficiency of compression. However, according to the size of the carry key generating the carry down event and the carry up event, the total number of bits whose values change before and after the operation differs, which is called a carry event entropy. For example, in the binary number 10010, as shown in Table 2 below, the carry-down event can be made to occur using carry-
그런데 이 두 경우를 비교해 보면, 첫 번째의 경우 숫자의 변화가 생긴 비트의 수는 D, E 비트에서 10이 01로 2개가 바뀌었고, 두 번째의 경우 C, D, E 비트의 010이 101로 바뀌었다. 캐리업 이벤트와 캐리다운 이벤트에서의 본 발명에서 중요한 것은 엔트로피의 절대 크기이며, 압축해제 또는 압축시에는 각각 클러스터에 따라 엔트로피의 변화를 적게 일으키는 캐리키를 선택하여 압축 또는 압축해제 과정을 거치게 된다. 압축해제시에는 캐리업 이벤트를 선택하되, 캐리업 이벤트시 엔트로피가 최소치가 되는 키를 선택한다. However, when comparing these two cases, the number of bits in the first case changed from 10 to 01 in the D and E bits, and 010 in the C, D and E bits changed to 101 in the second case It changed. In the carry-up event and the carry-down event, an important factor in the present invention is the absolute size of the entropy. In decompression or compression, a carry key that causes less change in entropy according to clusters is selected and compressed or decompressed. Select the carry-up event for the compacted presentation, but select the key with the smallest entropy at the carry-up event.
도 2는 본 발명에 따른 이진데이터 압축 방법을 도시한 흐름도이다.2 is a flowchart illustrating a binary data compression method according to the present invention.
도 2에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축 방법은 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 압축연산부(120)에 의해 획득하는 단계(S11)와, 압축연산부(120)에 의해 획득된 압축 클러스터를 송신부(130)에 의해 목적장치로 송신하는 단계(S12)와, 이진데이터에서 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 10을 포함하는 이진수로 이루어지는 다른 제너럴클러스터가 존재하는 것으로 판단시(S13), 이진데이터에서 상기한 모든 제너럴 클러스터에 대해서 뒤에서 앞으로 순차적으로 이동하면서 압축 클러스터의 획득(S11) 및 압축 클러스터의 송신(S12)을 반복적으로 수행하도록 하는 단계와, 이진데이터에서 최종적인 제너럴 클러스터의 경우, 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 제너럴 클러스터와 마찬가지로 압축 클러스터의 획득(S11) 및 압축 클러스터의 송신(S12)을 수행하도록 하는 단계(S14)를 포함한다.As shown in FIG. 2, the binary data compression method according to the present invention extracts a first general cluster consisting of 10 and a binary number located next to the first while moving from a back position to a front position in binary data, Subtracting a carry key corresponding to a binary number having a minimum size from among binary numbers consisting of only 1 that causes a carry down event to borrow a number from the top for subtraction from the cluster, (S12) of transmitting the compressed cluster acquired by the compression computation unit 120 to the destination apparatus by the transmission unit 130, and shifting the binary data from the first general cluster to the first position And the binary number between 10 that we met before and 10 that we met now Eojineun to perform the determination when (S13), transmission (S12) of all with respect to the general cluster while moving forward in sequence behind the acquisition of the compressed cluster (S11) and the compressed cluster, wherein the binary data to be used by other general clusters present in an iterative In the case of the final general cluster in the binary data, the acquisition of the compressed cluster S11 and the transmission of the compressed cluster S12 are performed for the head binary cluster including the remaining binary numbers located in front of the binary cluster (Step S14).
압축 클러스터를 획득하는 단계(S11)는 압축연산부(120)에 의해서, 제너럴 클러스터 또는 헤드 바이너리 클러스터로부터 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 압축 클러스터로서 획득하고, 제 1 결과치가 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우에는 제 1 결과치를 구성하고 있는 모든 1을 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 압축 클러스터로서 획득하며, 이러한 경우에는 제 2 결과치를 갈음하게 되며, 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 송신부(130)에 의해 송신하도록 할 수 있다. The step S11 of acquiring a compressed cluster is a step of acquiring a minimum value of a carry-down event that causes a carry-down event to occur again to a first result value obtained by first subtracting a carry-down event of a minimum size from a general cluster or a head- The second result value obtained by subtracting the carry key of the size from the second result value is obtained as the compression cluster, and when the first result value can not cause the carry down event any more , all the ones constituting the first result value are equal to the number of digits of the first result value The binary result is replaced with a signal bit for identifying the case where the binary data starts with 0 and the case where the binary data starts with 1 by the transmitting unit 130 It can be transmitted.
도 3은 본 발명에 따른 이진데이터 압축해제 방법을 도시한 흐름도이다.3 is a flow chart illustrating a method for decompressing binary data according to the present invention.
도 3에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축해제 방법은 본 발명에 따른 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터로부터 제너럴 클러스터와 헤드 바이너리 클러스터를 획득하는 방법으로서, 본 발명에 따른 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 압축해제연산부(220)에 의해 각각 획득하는 단계(S21)와, 압축해제연산부(220)에 의해 순차적으로 획득되는 제너럴 클러스터와 헤드 바이너리 클러스터를 연속적으로 배열하여 메모리부(230)에 저장하는 단계(S22)를 포함하며, 이는 최종 압축 클러스터가 수신부(210)에 수신될 때까지 반복적으로 수행될 수 있다(S23).As shown in FIG. 3, the method for decompressing binary data according to the present invention is a method for acquiring a general cluster and a head binary cluster from a compression cluster sequentially transmitted by the binary data compression method according to the present invention. A carry key corresponding to a binary number having a minimum size among the binary numbers consisting of only 1 which causes a carry up event in which a number is raised to the top position for addition in a compression cluster sequentially transmitted by the binary data compression method according to the present invention, (S21) of obtaining a general cluster and a head binary cluster by a decompression
제너럴 클러스터와 헤드 바이너리 클러스터를 각각 획득하는 단계(S21)는 압축해제연산부(220)에 의해서, 압축 클러스터로부터 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 제너럴 클러스터 또는 헤드 바이너리 클러스터로서 획득하되, 압축 클러스터가 0으로만 이루어진 경우, O의 자리수와 동일한 자리수의 1로 변환하여 제 3 결과치로서 획득하고, 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 시그날 비트를 통해서 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환한다. In step S21 of acquiring the general cluster and the head binary cluster, the decompression
본 발명에 따른 이진데이터 압축 방법과 이진데이터 압축해제 방법을 예로 들어 설명하면, 이진수인 100101011101010101001101010의 경우에, 바이너리 클러스터, 즉 헤드 바이너리 클러스터와 제너럴 클러스터를 나눌 수 있는데, 맨 뒤의 1번 비트에서부터, 앞으로 이동하면서, 10 형태가 처음 나올 때, 클러스터를 분할하게 된다. 이에 따라 위의 이진수는 100 / 10 / 1011 / 10 / 10 / 10 / 10 / 1001 / 10 / 10 / 10 형태로 분할이 가능하며, 맨 앞의 클러스터는 헤드 바이너리 클러스터가 되고, 나머지는 제너럴 클러스터가 된다. 이렇게 나뉘어진 바이너리 클러스터에 대하여 각각 최소 크기의 캐리키로 캐리 다운 이벤트를 발생시킨다. In the case of a binary number 100101011101010101001101010, a binary cluster, that is, a head binary cluster and a general cluster can be divided. In a binary data compression method and a binary data decompression method according to the present invention, Moving forward, when the first 10 types come out, the clusters are partitioned. Therefore, the above binary numbers can be divided into 100/10/1011/10/10/10/10/1001/10/10/10. The first cluster is a head binary cluster and the other is a general cluster do. The carry-down event is generated by a carry key of the minimum size for each of the divided binary clusters.
상기한 100 / 10 / 1011 / 10 / 10 / 10 / 10 / 1001 / 10 / 10 / 10의 경우, 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키는 각각 1 / 1 / 111 / 1 / 1 / 1 / 1 / 11 / 1 / 1 / 1이며, 이러한 캐리키를 바이너리 클러스터에 각각 뺄 경우, 11 / 1 / 100 / 1 / 1 / 1 / 1 / 110 / 1 / 1 / 1로 표현된다. In the case of 100/10/1011/10/10/10/10/100/10/10/10, the minimum size carry key causing the carry- 1/1/1/1/1/1/110/1/1/1 when these carry keys are subtracted from the binary clusters.
다음으로, 현재 분류된 바이너리 클러스터에서 다시 한번 캐리 다운 이벤트를 발생시키는데, 11과 같은 바이너리 클러스터의 경우와 같이, 캐리키로는 다시 캐리 다운 이벤트를 일으킬 수 없는 경우에는, 00으로 변환하여 준다. 따라서, 상기한 2차 캐리 다운 이벤트를 발생시킨 경우 00 / 0 / 11 / 0 / 0 / 0 / 0 / 101 / 0 / 0 / 0 으로 표현이 된다. 따라서 27비트의 원본 이진데이터는 11개의 바이너리 클러스터를 이루면서 15비트의 정보로 압축된다. 이때 송신부에서는 클러스터로 나뉘어져 있음을 송신과정 중에는 11개의 바이너리 클러스터를 아는 상태를 유지한다.Next, a carry down event is generated once again in the currently classified binary cluster. If the carry-down event can not be generated again with the carry key as in the case of the binary cluster such as 11, the carry down event is converted to 00. Therefore, when the secondary carry down event is generated, it is expressed as 00/0/11/0/0/0/0/101/0/0/0. Thus, the original binary data of 27 bits is compressed into 15 bits of information while forming 11 binary clusters. In this case, it is assumed that the transmitting unit is divided into clusters, and 11 binary clusters are known during the transmission process.
이와 같이 변환된 정보를 유무선 네트워크 장비 또는 데이터 전송장치를 통하여, 바이너리 클러스터 단위로 원본 데이터가 있는 소스 장치에서 목적 데이터를 저장할 목적 장치로 전송하는 방법에 있어서, 원본 이진데이터를 바이너리 클러스터별로 구분한 뒤, 바이너리 클러스터별 비트수 단위로 데이터를 목적 장치로 전송을 하고, 수신부(210)에서는 전송받은 데이터를 압축해제연산부(220)에 의해 최소 크기의 캐리키를 이용하여 2번의 연속된 캐리 업 이벤트를 통하여 원래의 이진데이터로 압축해제하여 메모리부(230)에 저장할 수 있다. 이때 압축해제연산부(220)에 의해서 예외적으로 수신받은 원본데이터가 0, 00, 000의 경우에는 캐리 업 이벤트를 적용하지 않고, 1차적으로 1, 11, 111로 자동적으로 변환한 뒤, 2차 캐리 업 이벤트를 수행한다. A method for transferring the converted information from a source device having original data to a destination device for storing target data in units of binary clusters through a wired or wireless network device or a data transmission device, , The data is transmitted to the destination apparatus in units of bits per binary cluster, and the receiving unit 210 transmits the received data to the decompression
위와 같은 과정을 1:1로 모든 원본 이진데이터의 바이너리 클러스터에 대하여 진행하면서 데이터를 전송한다.The above procedure is carried out for binary clusters of all original binary data at 1: 1, and data is transmitted.
이와 같은 방법을 적용할 경우, 송신부(130)에서는 캐리 다운 이벤트를 연속적으로 2번 일으킨 데이터 및 제로 예외 처리를 이용하여 변환하여 원본 이진데이터보다 훨씬 적은 데이터를 수신부(210)로 전송하기만 하면, 수신부(210)에서는 제로 예외처리 및 캐리 업 이벤트를 이용하여 원본으로 전환하여 수신받는 데이터 마다 환원하여 계속적으로 붙여나가면서 원본 이진데이터를 최종적으로 만들게 된다. 따라서, 데이터 전송의 실질적인 트래픽을 획기적으로 절감할 수 있다.If such a method is applied, the transmitting unit 130 converts the carry-down event by using the twice-consecutive data and the zero exception process, and transmits a much smaller amount of data than the original binary data to the receiving unit 210, The receiving unit 210 finally converts the original binary data into the original data using the zero exception process and the carry-up event, and returns the original binary data to the original data. Therefore, substantial traffic of data transmission can be remarkably reduced.
이와 같이 첨부된 도면을 참조하여 본 발명을 설명하였으나, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 수정 및 변형이 이루어질 수 있음은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 한정되어서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이러한 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although the present invention has been described with reference to the accompanying drawings, it is to be understood that various changes and modifications may be made without departing from the spirit of the invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the scope of the appended claims and equivalents thereof.
본 발명은 압축 클러스터들을 모두 그대로 이어붙이고, 그것을 수신부로 1회에 전송하는 방식이 아니라, 원본데이터로부터 압축 바이너리 클러스터를 각각 생성한 뒤에, 송신부(130) 측의 메모리로부터 순차적으로 압축바이너리 클러스터를 각각 수신부(210)로 1개씩 전송을 하고, 수신부(210) 측에서는 해당 압축클러스터를 받자마자 캐리업 계산을 통해 압축해제를 한 뒤, 메모리부(230)에 저장하고 ,다시 다음 압축클러스터를 받아서 해제 후, 이어서 붙이는 과정을 통해 원본데이터를 정확하게 복구하는 과정을 통해 압축전송의 효과를 수신부로 전달하게 된다.
The present invention is not a method of attaching all the compression clusters as they are and transferring the compression clusters to the receiving unit at once, but instead of generating compression binary clusters from the original data, sequentially compressing binary clusters from the memory of the transmission unit 130 side The receiving unit 210 transmits the data to the receiving unit 210. On receiving the data, the receiving unit 210 decompresses the data through the carry-up calculation as soon as the receiving unit 210 receives the data, and stores the data in the
예를 든다면 A(송신측)에서 공에 바람이 꽉 차있는 100개의 공을 B측(수신측)에 전달하기 위해서, 우선 A에서는 1개의 공에 대해서 각각 공의 바람을 뺀 뒤, 그 공을 바로 B에 던지고, B는 바람이 빠진 공의 바람을 채워넣는 과정을 통해 원래의 공을 복구합니다.For example, in order to transmit 100 balls with a full airflow from the A (transmitting side) to the B side (receiving side), first, in A, after subtracting the wind of each ball, To B, and B restores the original ball through the process of filling the wind of the wind with the wind.
이러한 순차적 전송방식은 매우 다양하게 구현될 수 있다.
Such a sequential transmission scheme can be implemented in various ways.
예를들어, 이진 데이터 압축장치가 각각의 결합 압축 클러스터를 다수의 전송채널을 통해 전송하는 통신방식을 채택하고 있는 통신환경 하에서는, 압축해제장치는 이렇게 다수의 전송채널을 통해 독립적 또는 별도로 전송되어 오는 각각의 결합 압축 클러스터를 수신하여 이들을 압축해제하면 되기 때문에, 이 경우에도 별도의 식별자가 필요없어도 되며, For example, under a communication environment in which a binary data compression apparatus transmits a combined compressed cluster through a plurality of transmission channels, the decompression apparatus may independently or separately transmit Each of the combined compressed clusters must be received and decompressed. In this case, therefore, a separate identifier is not required,
물리적으로 전파의 변복조 방식을 2가지를 조합하여, 한가지 방식으로는 클러스터 구분을 다른 방식으로는 클러스터내의 데이터를 구분하는 전송방식으로도 전송이 가능하고, 혹은 전송시의 물리적 전송에너지 또는 전송전압/전류의 차이등으로도 클러스터간의 구분 및 클러스터내의 구분도 가능하다.A combination of two types of modulation and demodulation of physical waves can be used. In one method, a cluster type can be transmitted in a different manner, or a transmission method in which data in a cluster is classified. Alternatively, a physical transmission energy or a transmission voltage / The difference between the clusters and the clusters in the clusters can be determined by the difference of the currents.
혹은 각 압축클러스터에 대하여 압축클러스터의 종류에 따라 기존의 공지의 알고리즘을 통해 부호화하여 전송할 수도 있으며 유니버설 코드에 각 압축클러스터를 매핑하여 전송시킬수도 있다
Alternatively, each compression cluster may be encoded and transmitted according to a known algorithm according to the type of the compression cluster, or may be transmitted by mapping each compression cluster to a universal code
한편, 이러한 압축바이너리 클러스터를 물리적인 통신망을 이용하여 전송할 수 있는 방법은 매우 다양하다.On the other hand, there are many ways in which such compressed binary clusters can be transmitted using a physical communication network.
예를들어, 다양한 통신방식에서, 클럭신호와 데이터 신호가 함께 전송이 되는데, 클럭신호에 있어서 아래와 같이 통상 일정한 클럭을 데이터와 함께 전송함으로써, 다양한 장비와의 데이터 송수신의 오류없이 전송되도록 하고 있다.For example, in a variety of communication systems, a clock signal and a data signal are transmitted together. In a clock signal, a normal clock is transmitted together with data as shown below so that data can be transmitted without errors in transmission and reception of data with various devices.
이러한 "동일위상"으로 전송되는 clock신호의 위상 변조를 통해 clock신호의 목적도 달성하고, 바이너리 클러스터 각각을 구분할 수 있도록함으로써, 별도의 클러스터 각각을 구분하기 위한 별도의 클럭이나 별도의 송신신호를 추가하지 않을 수 있도록 하였다. 클럭 신호(영어: clock signal)는 논리상태 H(high,논리 1)와 L(low,논리 0)이 주기적으로 나타나는 방형파 신호를 말한다.By achieving the purpose of the clock signal through the phase modulation of the clock signal transmitted in the "same phase" and distinguishing each of the binary clusters, a separate clock or a separate transmission signal is added to separate each cluster I do not want to. A clock signal (English: clock signal) refers to a square wave signal in which the logic states H (high, logic 1) and L (low, logic 0) appear periodically.
많은 경우 전자공학의 디지털 회로에서 클럭 신호에 맞추어 신호의 처리를 하는 동기 처리를 위해 사용한다. 클럭은 순차회로의 플립플럽에서 반드시 필요하다. 여러개의 플럽플럽이 비동기 클럭으로 동작하더라도 클럭입력은 필요하다. 논리 회로가 커지면 여러개의 클럭이 필요하므로 동기와 비동기 섞여 설계되어 동작한다. FPGA와 같은 큰 회로에서는 클럭 신호가 별도로 지정하는 경우도 있다.[1] 별도의 클럭 입력이 결정되어 있고, 내부에서 클럭 네트워크를 통해 각 논리 모듈로 전용 신호선이 존재한다.
In many cases, digital circuits in electronics are used for synchronous processing to process signals in response to clock signals. The clock is necessary at the flip flop of the sequential circuit. Even though several flop flops operate asynchronous clocks, clock input is required. As the logic circuit becomes larger, it needs several clocks, so it operates with synchronous and asynchronous design. In larger circuits such as FPGAs, clock signals may be specified separately [1] A separate clock input is determined, and a dedicated signal line exists in each logic module through a clock network from the inside.
클럭 신호의 요소는: 신호의 크기, 주기를 결정하는 주파수, 한 주기 동안 상태 H와 L의 시간비인 듀티비가 있다.The elements of the clock signal are: the magnitude of the signal, the frequency that determines the period, and the duty ratio, which is the time ratio of states H and L for one period.
클럭 신호는 디지털회로에서 많이 사용하므로 신호의 크기는 전압으로 나타난다. 디지털회로에서 전압은 보통 논리 게이트의 전압과 같게 설계한다. 전압상태의 기준은 0V(ground)을 L 상태로 Vcc을 H 상태로 발생 시키는 것이 보통이다. H는 5V, 3.3V 등 논리 게이트에 따라 다르고 처음 칩 설계시 고정되어 있다. 초기에 5V을 많이 사용하였으나 3.3V 등으로 낮아지는 경향이 있다.Since the clock signal is often used in digital circuits, the magnitude of the signal appears as a voltage. In digital circuits, the voltage is usually designed to be equal to the voltage of the logic gate. Normally, the reference voltage condition is 0 V (ground) to L state and Vcc to H state. H depends on logic gates such as 5V and 3.3V and is fixed at the first chip design. Although 5V was used initially, it tends to be lowered to 3.3V.
주파수는 디지털 회로 설계 요구사항에 따라 결정하는 것이 일반적이다. 규모가 있는 디지털 회로는 보통 다양한 주파수가 필요한 경우가 발생하는데, 내부의 카운터 회로에 의해 주파수 변환하여 사용한다. 따라서 필요한 가장 빠른 주파수를 수정 발진기을 사용하여 만들고 이것으로 분배한다. 수정 발진기의 발진 주파수 보다 빠른 경우 위상동기회로(PLL) 방식의 회로 구성을 통해 칩 내부에서 높은 주파수를 발진하여 사용한다.Frequency is usually determined by digital circuit design requirements. A digital circuit with a large scale usually requires various frequencies, and it is used by frequency conversion by an internal counter circuit. Therefore, the fastest frequency needed is created and distributed with a crystal oscillator. When the oscillation frequency of the crystal oscillator is faster than the oscillation frequency of the crystal oscillator, a high frequency is oscillated in the chip through a circuit configuration of a PLL circuit.
클럭 신호에서 한 주기 동안 H와 L의 시간차비인 듀티비가 보통 50%인 방형파를 많이 사용한다. 디지털 회로에서 신호가 반영하는 시점은, 신호의 상태 변화할 때의 짧은 순간에 이루어 지는 경우가 많다. 상태 L에서 H로 변화하는 순간인 상승에지(rising edge)나 H에서 L로 변하는 하강에지(falling edge)에서 동작하는 경우가 많다. 플립플럽은 상승 또는 하강에지에서 입력이 출력에 반영된다. 보통 마이크로프로세서에서는 듀티비가 50%을 많이 사용하지만, 경우에 따라 50%가 아닌경우도 있다:In the clock signal, a square wave with a duty ratio of 50%, which is the time ratio of H and L, is used for one cycle. The point at which the signal is reflected in the digital circuit is often made at a short time when the state of the signal changes. It often operates at the rising edge, which is the moment when the state changes from L to H, or the falling edge, which changes from H to L. [ Flip-flop is input on the rising or falling edge is reflected in the output. Usually a microprocessor uses a duty ratio of 50%, but in some cases it is not 50%:
듀티비 50%, 단상형 클럭(single-phase clock) : Z80[2], 8085, 8051Duty ratio 50%, single-phase clock: Z80 [2], 8085, 8051
듀티비 50% 유사, 이상형 클럭(two-phase clock) : 6809[3]
Duty ratio 50% similar, two-phase clock: 6809 [3]
본 발명은, 2차 압축클러스터를 전송함에 있어서 data신호는 2진으로 전송하되, 2차 압축 바이너리 클러스터간의 구분(/)을 clock 신호의 위상 변화를 이용하여 전송하는 방법을 설명하고자 한다. 아래 그림에서, 보듯이, clock신호는 아래 그림 처럼 통상 상승엣지 또는 하강엣지에서 통산 동기의 시점으로 하는데, In the present invention, a method of transmitting a data signal in binary in transmitting a secondary compression cluster, and transmitting a division (/) between secondary compression binary clusters using a phase change of a clock signal will be described. As shown in the figure below, the clock signal is normally synchronized at the rising edge or falling edge as shown below,
본 발명에서는, 클럭신호의 위상을 동일하게 아래와 같이 발생시키지 않고,In the present invention, the phase of the clock signal is not generated in the same manner as described below,
아래 그림처럼, 상승엣지와 하강엣지가 다양하게 반복되도록, 클럭의 위상을 변조하여 클럭신호를 발신시킬수 있다. 듀티비를 일정하게 한채로, 해당 T 내에서 엣지를 한번씩만 인식하도록 하면, T 간격마다 엣지의 종류를 인식할 수 있다.As shown in the figure below, the clock signal can be generated by modulating the phase of the clock so that the rising edge and the falling edge are repeated variously. If the edge is recognized only once in the corresponding T with the duty ratio being constant, the kind of the edge can be recognized every T intervals.
T간격마다 엣지의 변화를 인식하여 엣지의 상태가 바뀌었다면, 2차 압축 클러스터의 종류의 구분이 있는것이고 그렇지 않다면 같은 2차 압축 클러스터내의 데이터 전송임을 알 수 있는 것이다. 아래 그 개요을 보인다.
If the state of the edge is recognized by recognizing the change of the edge at intervals of T, it is possible to know that the type of the secondary compression cluster is classified, and if not, the data is transmitted in the same secondary compression cluster. Below you can see the outline.
상기 그림으로 엣지상태의 구분에 따라 클러스터 구분된 내용을 보인다.As shown in the above figure, the clustered contents are shown according to the classification of the edge state.
따라서 클럭전송신호의 위상변화를 통해 본 발명의 2차압축클러스터에 대해서 효과적으로 전송함으로써 전송속도와 압축전송의 효율을 기대할 수 있다.
Therefore, the transmission speed and the compression transmission efficiency can be expected by effectively transmitting to the secondary compression cluster of the present invention through the phase change of the clock transmission signal.
한편 통신신호레벨에 대하여 고찰해보면, On the other hand, when considering the communication signal level,
RS232C 신호의 경우 아래와 같이 노이즈 마진이 10V에 달하고, SPACE영역과 MARK영역이 대등한 영역을 가지고 폭이 넓으므로 노이즈에 강하다. 만약 RS-232C 신호의 예를들어, +15~5, +5~-5, -5~-15V 의영역 각각에 Space와 Mark를 할당하고, 그 사이를 노이주 마진 구간을 할당하고 있는데 그 노이즈 마진 구간정보를 활용하여바이너리 클러스터 노이즈 마진이 0이거나 매우 협소해 지기때문에, 전송시 오류가 발생할 가능성이 매우 크다. 그러나, 본 발명은 바이너리 클러스터간의 구간정보를나타내는 구간을 +5~-5 V구간의 노이즈 마진에 일부 범위를 할당하면, 바이너리 클러스터간 구분정보의 전송이 가능할 수 있다. 따라서 통신신호레벨의 일정 범위를 바이너리 클러스터 구분을 위한 구간을 할당하여, 본 발명의 2차 압축클러스터 정보를 전송할 수 있다. 한련 각 신호방식의 특성별로 신호레벨 구간에 어떤 영역을 할당할지는 매우 다양하게 결정되어 있고, 본 발명은 이러한 영역중에 적정한 영역을 선정하여 바이너리 클러스터간의 구분하는 용도로 사용할 수 있음을 설명한 것이다. 예를들어, 00 / 0 / 11 이라는 3개의 압축바이너리 클러스터를 전송한다고 하면, 신호레벨로는 다음과 같이 전송하되, 볼드체로 표기된 -5~-15구간중의 일부구간을 활용하여 바이너리 클러스터간의 간격정보를 담을 수 있다, 물론 이경우, 노이즈 마진이 그만큼 감소되어 오류에 다소 약해질수는 있지만, 압축효과를 고려할때 비용/효과분석을 통해 적용여부를 결정할 수 있을 것이다. 압축효과는, 특히 원본 클러스터가 "101" 과 같은경우, 1차 압축클러스터는 "10" 이 되고, 2차 압축클러스터는 "1" 이되어 2비트 감소가 되어, 클러스터간격구분을 위한 신호레벨 전송을 감안 하더라도 1비트가 순감소하는 효과가 있다.In the case of RS232C signal, the noise margin reaches 10V as shown below, and it is strong against noise because it has the area where the SPACE area and MARK area are equal and wide. For example, in the case of RS-232C signals, Space and Mark are allocated to areas of +15 to -5, +5 to -5, and -5 to -15 V, respectively, and an No- Since the binary cluster noise margin becomes zero or very narrow using the margin section information, there is a high possibility that an error occurs in transmission. However, according to the present invention, it is possible to transmit binary identification information between binary clusters when a range indicating interval information between binary clusters is allocated to a range of noise margin of + 5V to -5V interval . Accordingly, the secondary compression cluster information of the present invention can be transmitted by allocating a range for dividing the communication signal level to a binary cluster. It is to be noted that the area to be allocated to the signal level interval is determined in various ways according to the characteristics of each signaling method, and the present invention can be used to select an appropriate area from among these areas and to use it for the purpose of distinguishing between binary clusters. For example, if three compressed binary clusters of 00/0/11 are transmitted, the signal levels are transmitted as follows, but the interval between the binary clusters In this case, the noise margin may be reduced by that much, which may be somewhat weakened by the error. However, considering the compression effect, the cost / effect analysis can be used to determine whether or not to apply it. In particular, when the original cluster is equal to "101 ", the primary compression cluster becomes" 10 ", the secondary compression cluster becomes "1" There is an effect that one bit is reduced in a net.
(+5~+15)(+5~15) (+5~-5) (+5~+15) (+5~-15) (-5~-15)(-5~-15)
(+ 5 to + 15) (+ 5-15) (+5 to -5) (+ 5 to + 15) (+ 5 to -15) (-5 to -15) (-5 to -15)
1,2 : 외부장치 110 : 수신부
120 : 압축연산부 121 : 압축식별부
122 : 1차 캐리다운연산부 123 : 2차 캐리다운연산부
124 : 압축전송부 130 : 송신부
210 : 수신부 220 : 압축해제연산부
221 : 압축해제식별부 222 : 1차 캐리업연산부
223 : 2차 캐리업연산부 224 : 압축해제전송부
230 : 메모리부1,2: External device 110: Receiver
120: compression operation unit 121: compression identification unit
122: Primary carry down operation unit 123: Secondary carry down operation unit
124: compression transmission unit 130: transmission unit
210: Receiving unit 220:
221: decompression identification unit 222: primary carry-up operation unit
223: secondary carry-up operation unit 224: decompression transfer unit
230: memory unit
Claims (10)
상기 압축연산부에 의해 순차적으로 획득된 상기 압축 클러스터를 목적장치로 순차적으로 송신하는 송신부를 포함하는, 이진데이터 압축 장치.In binary data, subtracting the carry key corresponding to the minimum number of binary digits from the binary number consisting of only 1 that carries a carry down event that borrows a number from the top for subtraction from the general cluster, The binary clusters sequentially acquire the compressed clusters from back to forth in the binary data, and in the case of the final general cluster in the binary data, the head binary clusters including the remaining binary numbers located in front of the general clusters a compression operation unit for obtaining the compressed cluster with respect to a head binary cluster; And
And a transmission unit that sequentially transmits the compressed clusters sequentially acquired by the compression calculation unit to a destination device.
상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치를 상기 압축 클러스터로서 획득하는 이진데이터 압축 장치.2. The image processing apparatus according to claim 1,
And a first result value obtained by subtracting a carry key of a minimum size that causes the carry down event from the general cluster or the head binary cluster as a first cluster is obtained as the compressed cluster.
상기 이진데이터로부터 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 식별하는 압축식별부;
상기 압축식별부에 의해 식별된 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터로부터 연산에 의해 상기 제 1 결과치를 획득하는 1차 캐리다운연산부;
및
상기 1차 캐리다운연산부에 의해 획득되는 상기 압축 클러스터를 상기 송신부에 순차적으로 개별 전송하는 이진데이터 압축 장치.3. The image processing apparatus according to claim 2,
A compression identification unit for identifying the general cluster and the head binary cluster from the binary data;
A primary carry down operation unit for obtaining the first result value by operation from the general cluster and the head binary cluster identified by the compression identification unit;
And
And sequentially transmits the compression clusters acquired by the primary carry-down operation unit to the transmission unit.
상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속적으로 배열하여 저장하는 메모리부를 포함하는, 이진데이터 압축해제 장치.A binary data compression apparatus as set forth in any one of claims 1 to 3, characterized by comprising: means for generating a carry-up event for incrementing a number to the top in order to add to a compression cluster sequentially received, A decompression arithmetic unit for acquiring a general cluster and a head binary cluster, respectively, by adding a carry key corresponding to a binary number having a binary number; And
And a memory unit for sequentially arranging and storing the general cluster and the head binary cluster sequentially obtained by the decompression calculation unit.
상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치를 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하는 이진데이터 압축해제 장치.
5. The image processing apparatus according to claim 4,
And a third result value obtained by first adding a minimum-size carry key that causes the carry-up event from the compressed cluster as the general cluster or the head binary cluster.
상기 압축 클러스터를 순차적으로 식별하는 압축해제식별부;
상기 압축해제식별부에 의해 식별된 상기 압축 클러스터로부터 상기 캐리 업 이벤트 연산 또는 1로의 변환에 의해 상기 제 3 결과치를 획득하는 1차 캐리업연산부;
및
상기 1차 캐리업연산부에 의해 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 상기 메모리부에 순차적으로 개별 전송하는 압축해제전송부를 포함하는 이진데이터 압축해제 장치.6. The information processing apparatus according to claim 5,
A decompression identification unit for sequentially identifying the compressed clusters;
A first order carry operation unit for obtaining the third result value from the compression cluster identified by the decompression identification unit by the carry-up event operation or the conversion to 1;
And
And a decompression transmission unit for sequentially and independently transmitting the general cluster and the head binary cluster obtained by the primary carry-up operation unit to the memory unit.
상기 압축연산부에 의해 획득된 압축 클러스터를 송신부에 의해 목적장치로 송신하는 단계;
상기 이진데이터에서 모든 제너럴 클러스터에 대해서 뒤에서 앞으로 순차적으로 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을 반복적으로 수행하도록 하는 단계; 및
상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을 수행하도록 하는 단계를 포함하는, 이진데이터 압축 방법.A carry tree corresponding to a binary number having a minimum size among the binary numbers consisting of only one which extracts a general cluster from binary data and causes a carry down event to borrow a number from the top position for subtraction from the general cluster, Subtracting a carry key from the compressed cluster to obtain a compressed cluster;
Transmitting a compressed cluster obtained by the compression calculation unit to a destination apparatus by a transmission unit;
Repeatedly acquiring the compressed cluster and transmitting the compressed cluster successively back and forth to all the general clusters in the binary data; And
For the final General cluster in the binary data, with respect to the rest of the head binary cluster (head binary cluster) containing the binary which is located in front of which comprises to carry out the acquisition and transmission of the compressed cluster of the compression cluster, Binary data compression method.
상기 압축연산부에 의해서, 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치를 상기 압축 클러스터로서 획득하는 이진데이터 압축 방법.8. The method of claim 7, wherein acquiring the compressed cluster further comprises:
Wherein the compression operation unit obtains, as the compression cluster, a first result value obtained by first subtracting a carry key of a minimum size causing the carry down event from the general cluster or the head binary cluster.
상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속적으로 배열하여 메모리부에 저장하는 단계를 포함하는, 이진데이터 압축해제 방법.
A binary data compression method as set forth in claim 7 or 8, characterized by comprising the steps of: receiving a compression cluster sequentially transmitted and causing a carry up event to raise the number to the top position for addition to the compression cluster Adding a carry key corresponding to a binary number having a minimum size among binary numbers to obtain a general cluster and a head binary cluster by a decompression calculation unit, respectively; And
And sequentially storing the general cluster and the head binary cluster, which are successively obtained by the decompression operation unit, in a memory unit.
상기 압축해제연산부에 의해서, 상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치를 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하는 이진데이터 압축해제 방법.
10. The method of claim 9, wherein acquiring the general cluster and the head binary cluster, respectively,
And a third result value obtained by firstly adding a minimum-size carry key causing the carry-up event from the compression cluster to the general cluster or the head binary cluster by the decompression calculation unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140169328A KR20160065432A (en) | 2014-11-30 | 2014-11-30 | Binary data compression and decompression apparatus and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140169328A KR20160065432A (en) | 2014-11-30 | 2014-11-30 | Binary data compression and decompression apparatus and method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20160065432A true KR20160065432A (en) | 2016-06-09 |
Family
ID=56138741
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140169328A KR20160065432A (en) | 2014-11-30 | 2014-11-30 | Binary data compression and decompression apparatus and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20160065432A (en) |
-
2014
- 2014-11-30 KR KR1020140169328A patent/KR20160065432A/en not_active Application Discontinuation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8902090B2 (en) | Compressing and decompressing signal data | |
US20040202374A1 (en) | Compression system for integrated sensor devices | |
WO2016127357A1 (en) | Fpga-based time-to-digital converter | |
US20180063218A1 (en) | Apparatus, system on chip, and method for transmitting video image | |
CN103475935A (en) | Method and device for retrieving video segments | |
EP3737100A1 (en) | Encoding method, decoding method, and device | |
US20150030222A1 (en) | Method and system for data compression | |
CN116033034B (en) | Data processing system for wireless receiving and transmitting platform | |
CN106656195A (en) | Data compression decompression method and data compression decompression system | |
US10375140B2 (en) | Wireless receiving apparatus, data processing module, and data processing method, for receiving video image | |
Kau et al. | High performance architecture for the encoder of JPEG-LS on SOPC platform | |
VidyaSagar et al. | Modified run length encoding scheme for high data compression rate | |
EP3163876A1 (en) | Method and apparatus for performing arithmetic coding by limited carry operation | |
KR20160065432A (en) | Binary data compression and decompression apparatus and method thereof | |
US20150236714A1 (en) | Method and device for compressing digital data | |
Kim et al. | A high performance fully pipeline JPEG-LS encoder for lossless compression | |
KR101549740B1 (en) | Binary data compression and decompression method and apparatus | |
US9467199B1 (en) | Compression using mu-law approximation | |
KR101541869B1 (en) | Method for encoding and decoding using variable length coding and system thereof | |
JPH04343576A (en) | Highly efficient coding and decoding method | |
US10613797B2 (en) | Storage infrastructure that employs a low complexity encoder | |
US10585626B2 (en) | Management of non-universal and universal encoders | |
KR101733299B1 (en) | Binary data real time compression and decompression method | |
KR101670606B1 (en) | Binary data compression and decompression method | |
KR20160063581A (en) | Binary data compression and decompression apparatus and method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |