KR101467684B1 - 이진데이터 압축 및 압축해제 장치와 방법 - Google Patents

이진데이터 압축 및 압축해제 장치와 방법 Download PDF

Info

Publication number
KR101467684B1
KR101467684B1 KR1020130056165A KR20130056165A KR101467684B1 KR 101467684 B1 KR101467684 B1 KR 101467684B1 KR 1020130056165 A KR1020130056165 A KR 1020130056165A KR 20130056165 A KR20130056165 A KR 20130056165A KR 101467684 B1 KR101467684 B1 KR 101467684B1
Authority
KR
South Korea
Prior art keywords
cluster
binary
carry
compression
general
Prior art date
Application number
KR1020130056165A
Other languages
English (en)
Other versions
KR20140136118A (ko
Inventor
김정훈
Original Assignee
김정훈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김정훈 filed Critical 김정훈
Priority to KR1020130056165A priority Critical patent/KR101467684B1/ko
Publication of KR20140136118A publication Critical patent/KR20140136118A/ko
Application granted granted Critical
Publication of KR101467684B1 publication Critical patent/KR101467684B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6017Methods or arrangements to increase the throughput
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6011Encoder aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC

Landscapes

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

Abstract

본 발명은 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터를 추출하고, 최초의 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 빼서 압축 클러스터를 획득하며, 이진데이터에서 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터에 대해서 뒤에서 앞으로 순차적으로 이동하면서 압축 클러스터를 각각 획득하고, 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터에 대해서 압축 클러스터를 획득하는 압축연산부; 및 압축연산부에 의해 순차적으로 획득된 압축 클러스터를 목적장치로 순차적으로 송신하는 송신부를 포함하는 이진데이터 압축 장치와 이진데이터 압축해제 장치 및 그 방법들에 관한 것이다. 본 발명에 따르면, 압축 및 압축해제를 위한 처리 속도를 향상시킬 수 있고, 압축율이 뛰어나며, 압축 및 압축해제의 결과값에 대한 신뢰성을 높일 수 있고, 이진데이터 전송의 실질적인 트래픽을 획기적으로 절감할 수 있다.

Description

이진데이터 압축 및 압축해제 장치와 방법{Binary data compression and decompression apparatus and method thereof}
본 발명은 이진데이터 압축 및 압축해제 장치와 방법에 관한 것으로서, 보다 상세하게는 이진수로 이루어진 데이터의 압축 및 압축해제 효율이 우수한 이진데이터 압축 및 압축해제 장치와 방법에 관한 것이다.
일반적으로, 이진수는 이진법으로 표현되는 수를 말하며, 0과 1로 나타내어지고, 컴퓨터 등에서 사용되는 데이터의 처리 및 표현에 사용된다.
이와 같은 이진수로 이루어진 이진데이터는 그 처리 속도 및 저장 용량 등을 고려하여 압축이 요구되는데, 종래의 이진데이터의 압축 및 압축해제 방법으로는 한국공개특허 제10-1999-022960호의 "이진 코드 압축과 복원방법 및 병렬압축과 복원 프로세서"가 개시된 바 있는데, 이는 이진 코드의 압축 방법으로서, 코드화된 신호 비트 값과 직교 부호화 함수 값과의 연속 곱(serial multiplication), 이후 일정 시간 주기 동안의 모든 곱(products)의 합산을 통한 초기 데이터 흐름의 변환을 포함하는 이진 코드 압축 방식에 있어서, 함수의 이산값이 부호화 함수로서 사용되며, 상기 함수는 주파수를 가진 가우시안 펄스 형태인 구분적 연속 함수이며, 부호화 변환로서 Duamel 시퀀스의 계산법이 사용되며, 데이터 입력 흐름과 부호화 함수의 이산값은 상기 시퀀스의 독립변수로 사용된다.
그러나, 이와 같은 이진데이터의 압축 방법은 데이터의 압축 및 압축해제에 대한 처리 과정이 복잡하여 처리 속도 향상에 제한이 따르고, 결과값에 대해서 신뢰성을 높이기가 어렵다는 문제점을 가지고 있었다.
상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여, 본 발명은 압축 및 압축해제를 위한 처리 속도를 향상시킬 수 있고, 압축율이 뛰어나며, 압축 및 압축해제의 결과값에 대한 신뢰성을 높이도록 하는데 목적이 있다.
본 발명의 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일측면에 따르면, 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 상기 최초의 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 획득하며, 상기 이진데이터에서 상기 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터(general cluster)에 대해서 뒤에서 앞으로 순차적으로 이동하면서 상기 압축 클러스터를 각각 획득하고, 상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터를 획득하는 압축연산부; 및 상기 압축연산부에 의해 순차적으로 획득된 상기 압축 클러스터를 목적장치로 순차적으로 송신하는 송신부를 포함하는 이진데이터 압축 장치가 제공된다.
상기 압축연산부는 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 상기 압축 클러스터로서 획득하고, 상기 제 1 결과치가 상기 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우에 상기 제 1 결과치를 구성하고 있는 모든 1을 상기 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 상기 압축 클러스터로서 획득하며, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 상기 송신부에 의해 송신하도록 할 수 있다.
상기 압축연산부는 상기 이진데이터로부터 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 식별하는 압축식별부; 상기 압축식별부에 의해 식별된 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터로부터 연산에 의해 상기 제 1 결과치를 획득하는 1차 캐리다운연산부; 상기 1차 캐리다운연산부에 의해 획득된 상기 제 1 결과치로부터 상기 캐리 다운 이벤트 연산 또는 0으로의 변환에 의해 상기 제 2 결과치로서 상기 압축 클러스터를 획득하는 2차 캐리다운연산부; 및 상기 2차 캐리다운연산부에 의해 획득되는 상기 압축 클러스터를 상기 송신부에 순차적으로 개별 전송하며, 상기 시그날 비트를 상기 송신부에 의해 송신하도록 하는 압축전송부를 포함할 수 있다.
본 발명의 다른 측면에 따르면, 상기한 이진데이터 압축 장치로부터 순차적으로 수신되는 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 각각 획득하는 압축해제연산부; 및 상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속적으로 배열하여 저장하는 메모리부를 포함하는 이진데이터 압축해제 장치가 제공된다.
상기 압축해제연산부는 상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하되, 상기 압축 클러스터가 0으로만 이루어진 경우, 0의 자리수와 동일한 자리수의 1로 변환하여 상기 제 3 결과치로서 획득하고, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환할 수 있다.
상기 압축해제연산부는 상기 압축 클러스터를 순차적으로 식별하는 압축해제식별부; 상기 압축해제식별부에 의해 식별된 상기 압축 클러스터로부터 상기 캐리 업 이벤트 연산 또는 1로의 변환에 의해 상기 제 3 결과치를 획득하는 1차 캐리업연산부; 상기 1차 캐리업연산부에 의해 획득된 상기 제 3 결과치로부터 상기 캐리 업 이벤트 연산에 의해 상기 제 4 결과치로서 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 획득하는 2차 캐리업연산부; 및 상기 2차 캐리업연산부에 의해 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 상기 메모리부에 순차적으로 개별 전송하는 압축해제전송부를 포함하고, 상기 압축해제식별부가 상기 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 으로 변환하여 압축해제전송부에 의해 전송할 수 있다.
본 발명의 또 다른 측면에 따르면, 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 상기 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 압축연산부에 의해 획득하는 단계; 상기 압축연산부에 의해 획득된 압축 클러스터를 송신부에 의해 목적장치로 송신하는 단계; 상기 이진데이터에서 상기 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터에 대해서 뒤에서 앞으로 순차적으로 이동하면서 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을 반복적으로 수행하도록 하는 단계; 및 상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을 수행하도록 하는 단계를 포함하는 이진데이터 압축 방법이 제공된다.
상기 압축 클러스터를 획득하는 단계는 상기 압축연산부에 의해서, 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 상기 압축 클러스터로서 획득하고, 상기 제 1 결과치가 상기 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우에는 상기 제 1 결과치를 구성하고 있는 모든 1을 상기 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 상기 압축 클러스터로서 획득하며, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 상기 송신부에 의해 송신하도록 할 수 있다.
본 발명의 또 다른 측면에 따르면, 상기한 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터를 수신받아, 상기 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 압축해제연산부에 의해 각각 획득하는 단계; 및 상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속적으로 배열하여 메모리부에 저장하는 단계를 포함하는 이진데이터 압축해제 방법이 제공된다.
상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 각각 획득하는 단계는 상기 압축해제연산부에 의해서, 상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하되, 상기 압축 클러스터가 0으로만 이루어진 경우, 0의 자리수와 동일한 자리수의 1로 변환하여 상기 제 3 결과치로서 획득하고, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환할 수 있다.
본 발명에 따른 이진데이터 압축 및 압축해제 장치와 방법에 의하면, 압축 및 압축해제를 위한 처리 속도를 향상시킬 수 있고, 압축율이 뛰어나며, 압축 및 압축해제의 결과값에 대한 신뢰성을 높일 수 있고, 이진데이터 전송의 실질적인 트래픽을 획기적으로 절감할 수 있다.
도 1은 본 발명에 따른 이진데이터 압축 장치와 이진데이터 압축해제 장치를 도시한 구성도이고,
도 2는 본 발명에 따른 이진데이터 압축 방법을 도시한 흐름도이고,
도 3은 본 발명에 따른 이진데이터 압축해제 방법을 도시한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고, 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고, 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니고, 본 발명의 기술 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 식으로 이해되어야 하고, 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명하며, 도면 부호에 관계없이 동일하거나 대응하는 구성요소에 대해서는 동일한 참조 번호를 부여하고, 이에 대해 중복되는 설명을 생략하기로 한다.
도 1은 본 발명에 따른 이진데이터 압축 장치와 이진데이터 압축해제 장치를 도시한 구성도이다.
도 1에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축 장치(100)는 압축연산부(120)와 송신부(130)를 포함할 수 있다.
압축연산부(120)는 이진데이터에서 뒷자리인 하위비트로부터 앞자리인 상위비트로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 최초의 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 획득하며, 이진데이터에서 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 윗자리의 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터(general cluster)에 대해서 뒤에서 앞으로 순차적으로 이동하면서 압축 클러스터를 각각 획득하고, 이진데이터에서 최종적인 제너럴 클러스터의 경우, 앞에 위치하는 나머지 이진수("1")들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 압축 클러스터를 획득한다. 또한 압축연산부(120)는 최종적인 10이 가장 좌측 비트였다면 최종적인 제너럴 클러스터가 헤드 바이너리 클러스터가 되도록 할 수 있다.
예를 들면, 101011101011이라는 이진수에 있어서, 10 / 1011 / 10 / 1011 로 바이너리 클러스터로 나눌수 있는데, 우측에서 3개의 클러스터는 제네럴 바이너리 클러스터이고, 맨 앞이 헤드 바이너리 클러스터가 되는데, 헤드 바이너리 클러스터는 이렇게 10 형태의 제네럴 클러스터 형태도 가질 수 있다. 물론 이때 “10” 앞에 또 다른 “0”은 결코 존재할 수 없다. 또는 110101010101과 같은 이진수에 있어서는, 110 / 10 / 10 / 10 / 101 과 같이 맨 앞의 헤드 바이너리 클러스터의 경우처럼 110과 같이 “10” 앞에 “1”이 연속하여 1개 또는 그 이상도 존재할 수 있는 것은 물론이며, 이때 “10” 앞에 또 다른 “0”은 결코 존재할 수 없다.
압축연산부(120)는 제너럴 클러스터 또는 헤드 바이너리 클러스터로부터 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 압축 클러스터로서 획득하고, 제 1 결과치가 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우, 즉 1로만 이루어진 경우, 예를 들어 헤드 바이너리 클러스터가 100이었다면, 1차 캐리다운 이벤트 이후에는 11로 바뀌어 있는 경우에 제 1 결과치를 구성하고 있는 모든 1을 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 압축 클러스터로서 획득할 수 있고, 이로써 2차 캐리다운 이벤트 연산에 갈음하게 되며(바로 앞에 든 예의 경우에는 11이 00으로 바뀌게 된다), 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 송신부(130)에 의해 송신하도록 할 수 있다.
압축연산부(120)는 일례로 이진데이터로부터 제너럴 클러스터와 헤드 바이너리 클러스터를 식별하는 압축식별부(121)와, 압축식별부(121)에 의해 식별된 제너럴 클러스터와 헤드 바이너리 클러스터로부터 연산에 의해 제 1 결과치를 획득하는 1차 캐리다운연산부(122)와, 1차 캐리다운연산부(122)에 의해 획득된 제 1 결과치로부터 캐리 다운 이벤트 연산 또는 0으로의 변환에 의해 제 2 결과치로서 압축 클러스터를 획득하는 2차 캐리다운연산부(123)와, 2차 캐리다운연산부(123)에 의해 획득되는 압축 클러스터를 송신부(130)에 순차적으로 개별 전송하며, 시그날 비트를 송신부에 의해 송신하도록 하는 압축전송부(124)를 포함할 수 있다. 또한 압축연산부(120)는 압축에 따른 제어를 위하여 제어부(미도시)를 더 포함할 수 있고, 나아가서, 구동에 필요한 프로그램이나 데이터의 저장을 위하여 메모리부(미도시)를 더 포함할 수 있다.
송신부(130)는 압축연산부(120)에 의해 순차적으로 획득된 압축 클러스터를 목적장치, 예컨대 이진데이터 압축해제 장치(200)이거나, 그 밖에 압축된 이진데이터를 필요로 하는 프로세스 장치나 메모리 장치 등으로 순차적으로 송신한다. 여기서, 송신부(130)는 목적 장치의 통신 방법에 따라, 와이어나 케이블 등으로 이루어져서 유선으로 신호를 송신하거나, 블루투스, 와이파이, 3G, LTE 등의 통신모듈로 이루어져서 무선으로 신호를 송신할 수도 있다.
한편, 본 발명에 따른 이진데이터 압축 장치(100)는 외부 장치(1), 예컨대 별도의 프로세스 장치나 메모리 장치로부터 이진 데이터를 수신받기 위하여, 유선 또는 무선 통신을 위한 와이어, 케이블 또는 통신 모듈 등으로 이루어지는 수신부(110)를 더 포함할 수 있다. 여기서, 외부 장치(1)는 이진데이터 압축 장치(100)와 구별되는 장치를 의미하는 것으로서, 이진데이터 압축 장치(100)와 함께 단일의 장치로 이루어지거나, 이진데이터 압축 장치(100)와 별개로 이루어질 수 있다.
도 1에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축해제 장치(200)는 상기한 본 발명에 따른 이진데이터 압축해제 장치(100)에 의해 순차적으로 송신되는 압축 클러스터로부터 압축을 해제하여 원본의 이진데이터를 추출하는 장치로서, 압축해제연산부(220)와 메모리부(230)를 포함할 수 있다.
압축해제연산부(220)는 이진데이터 압축 장치(100)로부터 순차적으로 수신되는 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 각각 획득한다.
압축해제연산부(220)는 압축 클러스터로부터 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 제너럴 클러스터 또는 헤드 바이너리 클러스터로서 획득하되, 1차 압축해제 연산을 위해 또는 2차 압축해제 연산에서 압축 클러스터가 0으로만 이루어진 경우, 0의 자리수와 동일한 자리수의 1로 변환하여 제 3 결과치로서 획득하고, 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 시그날 비트를 통해서 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환할 수 있다.
압축해제연산부(220)는 일례로 압축 클러스터를 순차적으로 식별하는 압축해제식별부(221)와, 압축해제식별부(221)에 의해 식별된 압축 클러스터로부터 캐리 업 이벤트 연산 또는 1로의 변환에 의해 제 3 결과치를 획득하는 1차 캐리업연산부(222)와, 1차 캐리업연산부(222)에 의해 획득된 제 3 결과치로부터 캐리 업 이벤트 연산에 의해 제 4 결과치로서 제너럴 클러스터와 헤드 바이너리 클러스터를 획득하는 2차 캐리업연산부(223)와, 2차 캐리업연산부(223)에 의해 획득되는 제너럴 클러스터와 헤드 바이너리 클러스터를 메모리부(230)에 순차적으로 개별 전송하는 압축해제전송부(224)를 포함할 수 있으며, 압축해제식별부(221)가 시그날 비트를 수신하여, 시그날 비트를 통해서 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환하여 압축해제전송부(224)에 의해 전송할 수 있다. 또한 압축해제연산부(220)는 압축해제에 따른 제어를 위하여 제어부(미도시)를 더 포함할 수 있고, 나아가서, 구동에 필요한 프로그램이나 데이터의 저장을 위하여 메모리부(230)를 사용하거나 별도의 메모리부를 더 포함할 수 있다.
메모리부(230)는 압축해제연산부(220)에 의해 순차적으로 획득되는 제너럴 클러스터와 헤드 바이너리 클러스터를 연속적으로 배열하여 일시 또는 영구적으로 저장하며, 압축해제연산부(220)와 함께 단일로 이루어지거나, 압축해제연산부(220)와 별개로 이루어질 수도 있다. 또한 메모리부(230)는 수신부(210)에 의해 수신되는 압축 클러스터를 일시적으로 저장하여 압축해제연산부(220)가 압축 해제를 하도록 제공하는 버퍼 역할을 수행할 수도 있다.
본 발명에 따른 이진데이터 압축해제 장치(200)는 이진데이터 압축 장치(100)의 송신부(130)로부터 압축 클러스터에 대한 데이터를 유선 또는 무선으로 수신받아 압축해제식별부(221)로 전달하기 위하여, 와이어나 케이블 또는 무선통신모듈 등으로 이루어지는 수신부(210)를 더 포함할 수 있다.
한편, 상기한 제너럴 클러스터, 헤드 바이너리 클러스터, 캐리키, 캐리 다운 이벤트, 캐리 업 이벤트 등을 보다 자세히 설명하기로 하며, 이는 후술하게 될 이진데이터 압축 방법과 이진데이터 압축해제 방법 모두 적용될 수 있다.
예를 들면, 이진수인 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이라는 캐리키로 자리내림이 발생한 것으로 본다.
이진수 101에서 캐리키 중에서 가장 작은 1을 더하는 경우, 그 결과 110과 같이 이진법 첫 번째 자리에서 숫자가 넘쳐서 다음 자리에 캐리 업(carry up)되는 현상이 일어나는데, 이를 캐리 업 이벤트라고 한다.
또한 예컨대 2진수인 1101010101010의 경우에 있어서, 이러한 캐리 업 이벤트 및 캐리 다운 이벤트가 발생하기 위한 최소한의 단위로 묶을 수 있는데, 110 / 10 / 10 / 10 / 10 / 10과 같은 형태이다. 여기에서 맨 앞의 110을 헤드 바이너리 클러스터라고 한다. 다른 예로서, 100101101011이라는 이진수의 경우에, 100 / 101 / 10 / 1011로 분리가 가능하다. 이렇게 분리되는 것은 맨 뒤쪽에서부터 1비트씩 앞쪽으로 이동하되, 한번에 2비트씩 취하면서 만나게 되는 10을 기준으로 분리한다. 이때 맨 앞의 100이 헤드 바이너리 클러스터가 된다. 한편, 헤드 바이너리 클러스터는 10을 1개 포함해야 하는 것이 제네럴 클러스터와 동일하나, 제너럴 클러스터와 달리 10 앞에 1이 연속으로 여러 개 올 수도 있다. 물론 원본데이터인 이진데이터에 따라 1이 연속으로 하나도 오지 않을 수 있으며, 이 경우 헤드 바이너리 클러스터는 제너럴 바이너리 클러스터와 동일한 형태가 될 것이다.
이와 같이 클러스터를 묶는 방법은 압축식별부(121)에 의해 수행될 수 있는데, 일례로 맨 뒤의 이진수에서부터 앞의 이진수로 이동하면서 비트를 스캔하다가 먼저 10을 만나면, 이 위치의 바로 앞 위치(“10”중에 특히 “1”의 앞 위치)를 기억해 두고, 다음으로 나오는 10 바로 앞 위치까지(특히 “1”의 위치)를 찾은 뒤, 이 두 개의 10사이의 이진수를 이용하여 다음과 같이 클러스터를 묶는 방법으로 수행될 수 있다. 다만, 10을 최초로 만나는 경우에는 “10”에서 “1”의 위치와 맨 첫 번째 비트사이의 이진수가 최초의 제너럴 클러스터가 될 것은 자명하다. 예를 들어, 101011의 경우 10 / 1011일 때, 1011 제너럴 클러스터, "10" 이 처음으로 나오는 것이므로, 맨 처음자리까지의 이진수를 묶어서 “1011”로 만든다는 의미이다. “10”은 헤드 바이너리 클러스터임은 자명하다.
예를 들어, 아래의 표 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)가 된다고 정의할 수 있다.
A B C D E
1 1 0 1 0
헤드 바이너리 클러스터 이후의 바이너리 클러스터들은 모두 제너럴 클러스터에 해당된다. 또한 헤드 바이너리 클러스터와 제너럴 클러스터를 통칭하여 바이너리 클러스터라고 할 수 있다.
캐리 다운 이벤트 및 캐리 업 이벤트를 발생시키는 캐리키는 1, 11, 111,....과 같이 무한하다. 이때 캐리키는 압축의 효율성을 고려하여 여러 가지가 있을 수 있다. 그런데 캐리 다운 이벤트 및 캐리 업 이벤트를 발생시키는 캐리키의 크기에 따라 연산전후에 값이 변화하는 비트들의 총 갯수가 달라지는데, 이를 캐리 이벤트 엔트로피(carry event enthropy)라고 한다. 예를 들어, 아래의 표 2에서와 같이 이진수인 10010에서, 캐리키 1을 사용하여 캐리 다운 이벤트가 일어나도록 할 수 있는데, 그 결과는 10001이다. 또한 캐리키 11을 사용하여 캐리 업 이벤트를 발생시킬 수 있는데, 그 결과는 10101이다. 또한 동일한 10010에 대하여 캐리키 11을 사용하여 캐리업 이벤트도 발생시킬 수 있는데, 그 결과는 10101이다. 이렇게 동일한 이진수에 대해서도 캐리업 이벤트 또는 캐리다운 이벤트를 모두 일으킬 수는 있으나, 이는 캐리키를 더하느냐 빼느냐에 따라 정하여지는 것이다.
A B C D E
1 0 0 1 0
그런데 이 두 경우를 비교해 보면, 첫 번째의 경우 숫자의 변화가 생긴 비트의 수는 D, E 비트에서 10이 01로 2개가 바뀌었고, 두 번째의 경우 C, D, E 비트의 010이 101로 바뀌었다. 캐리업 이벤트와 캐리다운 이벤트에서의 본 발명에서 중요한 것은 엔트로피의 절대 크기이며, 압축해제 또는 압축시에는 각각 클러스터에 따라 엔트로피의 변화를 적게 일으키는 캐리키를 선택하여 압축 또는 압축해제 과정을 거치게 된다. 압축해제시에는 캐리업 이벤트를 선택하되, 캐리업 이벤트시 엔트로피가 최소치가 되는 키를 선택한다.
도 2는 본 발명에 따른 이진데이터 압축 방법을 도시한 흐름도이다.
도 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)를 포함한다.
압축 클러스터를 획득하는 단계(S11)는 압축연산부(120)에 의해서, 제너럴 클러스터 또는 헤드 바이너리 클러스터로부터 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 압축 클러스터로서 획득하고, 제 1 결과치가 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우에는 제 1 결과치를 구성하고 있는 모든 1을 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 압축 클러스터로서 획득하며, 이러한 경우에는 제 2 결과치를 갈음하게 되며, 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 송신부(130)에 의해 송신하도록 할 수 있다.
도 3은 본 발명에 따른 이진데이터 압축해제 방법을 도시한 흐름도이다.
도 3에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축해제 방법은 본 발명에 따른 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터로부터 제너럴 클러스터와 헤드 바이너리 클러스터를 획득하는 방법으로서, 본 발명에 따른 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 압축해제연산부(220)에 의해 각각 획득하는 단계(S21)와, 압축해제연산부(220)에 의해 순차적으로 획득되는 제너럴 클러스터와 헤드 바이너리 클러스터를 연속적으로 배열하여 메모리부(230)에 저장하는 단계(S22)를 포함하며, 이는 최종 압축 클러스터가 수신부(210)에 수신될 때까지 반복적으로 수행될 수 있다(S23).
제너럴 클러스터와 헤드 바이너리 클러스터를 각각 획득하는 단계(S21)는 압축해제연산부(220)에 의해서, 압축 클러스터로부터 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 제너럴 클러스터 또는 헤드 바이너리 클러스터로서 획득하되, 압축 클러스터가 0으로만 이루어진 경우, 0의 자리수와 동일한 자리수의 1로 변환하여 제 3 결과치로서 획득하고, 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 시그날 비트를 통해서 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환한다.
본 발명에 따른 이진데이터 압축 방법과 이진데이터 압축해제 방법을 예로 들어 설명하면, 이진수인 100101011101010101001101010의 경우에, 바이너리 클러스터, 즉 헤드 바이너리 클러스터와 제너럴 클러스터를 나눌 수 있는데, 맨 뒤의 1번 비트에서부터, 앞으로 이동하면서, 10 형태가 처음 나올 때, 클러스터를 분할하게 된다. 이에 따라 위의 이진수는 100 / 10 / 1011 / 10 / 10 / 10 / 10 / 1001 / 10 / 10 / 10 형태로 분할이 가능하며, 맨 앞의 클러스터는 헤드 바이너리 클러스터가 되고, 나머지는 제너럴 클러스터가 된다. 이렇게 나뉘어진 바이너리 클러스터에 대하여 각각 최소 크기의 캐리키로 캐리 다운 이벤트를 발생시킨다.
상기한 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로 표현된다.
다음으로, 현재 분류된 바이너리 클러스터에서 다시 한번 캐리 다운 이벤트를 발생시키는데, 11과 같은 바이너리 클러스터의 경우와 같이, 캐리키로는 다시 캐리 다운 이벤트를 일으킬 수 없는 경우에는, 00으로 변환하여 준다. 따라서, 상기한 2차 캐리 다운 이벤트를 발생시킨 경우 00 / 0 / 11 / 0 / 0 / 0 / 0 / 101 / 0 / 0 / 0 으로 표현이 된다. 따라서 27비트의 원본 이진데이터는 11개의 바이너리 클러스터를 이루면서 15비트의 정보로 압축된다. 이때 송신부에서는 클러스터로 나뉘어져 있음을 송신과정 중에는 11개의 바이너리 클러스터를 아는 상태를 유지한다.
이와 같이 변환된 정보를 유무선 네트워크 장비 또는 데이터 전송장치를 통하여, 바이너리 클러스터 단위로 원본 데이터가 있는 소스 장치에서 목적 데이터를 저장할 목적 장치로 전송하는 방법에 있어서, 원본 이진데이터를 바이너리 클러스터별로 구분한 뒤, 바이너리 클러스터별 비트수 단위로 데이터를 목적 장치로 전송을 하고, 수신부(210)에서는 전송받은 데이터를 압축해제연산부(220)에 의해 최소 크기의 캐리키를 이용하여 2번의 연속된 캐리 업 이벤트를 통하여 원래의 이진데이터로 압축해제하여 메모리부(230)에 저장할 수 있다. 이때 압축해제연산부(220)에 의해서 예외적으로 수신받은 원본데이터가 0, 00, 000의 경우에는 캐리 업 이벤트를 적용하지 않고, 1차적으로 1, 11, 111로 자동적으로 변환한 뒤, 2차 캐리 업 이벤트를 수행한다.
위와 같은 과정을 1:1로 모든 원본 이진데이터의 바이너리 클러스터에 대하여 진행하면서 데이터를 전송한다.
이와 같은 방법을 적용할 경우, 송신부(130)에서는 캐리 다운 이벤트를 연속적으로 2번 일으킨 데이터 및 제로 예외 처리를 이용하여 변환하여 원본 이진데이터보다 훨씬 적은 데이터를 수신부(210)로 전송하기만 하면, 수신부(210)에서는 제로 예외처리 및 캐리 업 이벤트를 이용하여 원본으로 전환하여 수신받는 데이터 마다 환원하여 계속적으로 붙여나가면서 원본 이진데이터를 최종적으로 만들게 된다. 따라서, 데이터 전송의 실질적인 트래픽을 획기적으로 절감할 수 있다.
이와 같이 첨부된 도면을 참조하여 본 발명을 설명하였으나, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 수정 및 변형이 이루어질 수 있음은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 한정되어서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이러한 특허청구범위와 균등한 것들에 의해 정해져야 한다.
1,2 : 외부장치 110 : 수신부
120 : 압축연산부 121 : 압축식별부
122 : 1차 캐리다운연산부 123 : 2차 캐리다운연산부
124 : 압축전송부 130 : 송신부
210 : 수신부 220 : 압축해제연산부
221 : 압축해제식별부 222 : 1차 캐리업연산부
223 : 2차 캐리업연산부 224 : 압축해제전송부
230 : 메모리부

Claims (10)

  1. 이진데이터에서 뒷자리인 하위비트로부터 앞자리인 상위비트로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 상기 최초의 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 획득하며, 상기 이진데이터에서 상기 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 윗자리의 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터(general cluster)에 대해서 뒤에서 앞으로 순차적으로 이동하면서 상기 압축 클러스터를 각각 획득하고, 상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터를 획득하는 압축연산부; 및
    상기 압축연산부에 의해 순차적으로 획득된 상기 압축 클러스터를 목적장치로 순차적으로 송신하는 송신부를 포함하는, 이진데이터 압축 장치.
  2. 제 1 항에 있어서, 상기 압축연산부는,
    상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 상기 압축 클러스터로서 획득하고, 상기 제 1 결과치가 상기 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우에 상기 제 1 결과치를 구성하고 있는 모든 1을 상기 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 상기 압축 클러스터로서 획득하며, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 상기 송신부에 의해 송신하도록 하는, 이진데이터 압축 장치.
  3. 제 2 항에 있어서, 상기 압축연산부는,
    상기 이진데이터로부터 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 식별하는 압축식별부;
    상기 압축식별부에 의해 식별된 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터로부터 연산에 의해 상기 제 1 결과치를 획득하는 1차 캐리다운연산부;
    상기 1차 캐리다운연산부에 의해 획득된 상기 제 1 결과치로부터 상기 캐리 다운 이벤트 연산 또는 0으로의 변환에 의해 상기 제 2 결과치로서 상기 압축 클러스터를 획득하는 2차 캐리다운연산부; 및
    상기 2차 캐리다운연산부에 의해 획득되는 상기 압축 클러스터를 상기 송신부에 순차적으로 개별 전송하며, 상기 시그날 비트를 상기 송신부에 의해 송신하도록 하는 압축전송부를 포함하는, 이진데이터 압축 장치.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 기재된 이진데이터 압축 장치로부터 순차적으로 수신되는 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 각각 획득하는 압축해제연산부; 및
    상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속적으로 배열하여 저장하는 메모리부를 포함하는, 이진데이터 압축해제 장치.
  5. 제 4 항에 있어서, 상기 압축해제연산부는,
    상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하되, 상기 압축 클러스터가 0으로만 이루어진 경우, 0의 자리수와 동일한 자리수의 1로 변환하여 상기 제 3 결과치로서 획득하고, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환하는, 이진데이터 압축해제 장치.
  6. 제 5 항에 있어서, 상기 압축해제연산부는,
    상기 압축 클러스터를 순차적으로 식별하는 압축해제식별부;
    상기 압축해제식별부에 의해 식별된 상기 압축 클러스터로부터 상기 캐리 업 이벤트 연산 또는 1로의 변환에 의해 상기 제 3 결과치를 획득하는 1차 캐리업연산부;
    상기 1차 캐리업연산부에 의해 획득된 상기 제 3 결과치로부터 상기 캐리 업 이벤트 연산에 의해 상기 제 4 결과치로서 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 획득하는 2차 캐리업연산부; 및
    상기 2차 캐리업연산부에 의해 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 상기 메모리부에 순차적으로 개별 전송하는 압축해제전송부를 포함하고,
    상기 압축해제식별부가 상기 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환하여 압축해제전송부에 의해 전송하는, 이진데이터 압축해제 장치.
  7. 이진데이터에서 뒷자리인 하위비트로부터 앞자리인 상위비트로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 상기 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 압축연산부에 의해 획득하는 단계;
    상기 압축연산부에 의해 획득된 압축 클러스터를 송신부에 의해 목적장치로 송신하는 단계;
    상기 이진데이터에서 상기 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 윗자리의 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터에 대해서 뒤에서 앞으로 순차적으로 이동하면서 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을 순차적으로 반복 수행하도록 하는 단계; 및
    상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을 수행하도록 하는 단계를 포함하는, 이진데이터 압축 방법.
  8. 제 7 항에 있어서, 상기 압축 클러스터를 획득하는 단계는,
    상기 압축연산부에 의해서, 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 상기 압축 클러스터로서 획득하고, 상기 제 1 결과치가 상기 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우에는 상기 제 1 결과치를 구성하고 있는 모든 1을 상기 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 상기 압축 클러스터로서 획득하며, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 상기 송신부에 의해 송신하도록 하는, 이진데이터 압축 방법.
  9. 제 7 항 또는 제 8 항에 기재된 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터를 수신받아, 상기 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 압축해제연산부에 의해 각각 획득하는 단계; 및
    상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속적으로 배열하여 메모리부에 저장하는 단계를 포함하는, 이진데이터 압축해제 방법.
  10. 제 9 항에 있어서, 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 각각 획득하는 단계는,
    상기 압축해제연산부에 의해서, 상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하되, 상기 압축 클러스터가 0으로만 이루어진 경우, 0의 자리수와 동일한 자리수의 1로 변환하여 상기 제 3 결과치로서 획득하고, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환하는, 이진데이터 압축해제 방법.
KR1020130056165A 2013-05-20 2013-05-20 이진데이터 압축 및 압축해제 장치와 방법 KR101467684B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130056165A KR101467684B1 (ko) 2013-05-20 2013-05-20 이진데이터 압축 및 압축해제 장치와 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130056165A KR101467684B1 (ko) 2013-05-20 2013-05-20 이진데이터 압축 및 압축해제 장치와 방법

Publications (2)

Publication Number Publication Date
KR20140136118A KR20140136118A (ko) 2014-11-28
KR101467684B1 true KR101467684B1 (ko) 2014-12-01

Family

ID=52456452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130056165A KR101467684B1 (ko) 2013-05-20 2013-05-20 이진데이터 압축 및 압축해제 장치와 방법

Country Status (1)

Country Link
KR (1) KR101467684B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101723336B1 (ko) * 2015-05-14 2017-04-06 김정훈 이진데이터 압축 및 압축 해제 방법
KR101652735B1 (ko) * 2015-05-18 2016-08-31 김정훈 이진 데이터의 압축 및 복원 방법과 장치
KR101648674B1 (ko) * 2015-05-31 2016-08-16 김정훈 이진데이터 압축 및 압축해제 방법
KR101670606B1 (ko) * 2015-06-01 2016-10-28 김정훈 이진데이터의 압축 및 압축해제 방법
KR101700537B1 (ko) * 2015-11-20 2017-01-26 김정훈 이진데이터 압축 및 압축해제 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997040581A1 (fr) * 1996-04-18 1997-10-30 Milto, Jury Petrovich Procede de compression et de decompression de code binaire et processeur parallele de compression et de decompression
US20050055204A1 (en) * 2003-09-10 2005-03-10 Microsoft Corporation System and method for providing high-quality stretching and compression of a digital audio signal

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997040581A1 (fr) * 1996-04-18 1997-10-30 Milto, Jury Petrovich Procede de compression et de decompression de code binaire et processeur parallele de compression et de decompression
US20050055204A1 (en) * 2003-09-10 2005-03-10 Microsoft Corporation System and method for providing high-quality stretching and compression of a digital audio signal

Also Published As

Publication number Publication date
KR20140136118A (ko) 2014-11-28

Similar Documents

Publication Publication Date Title
KR101467684B1 (ko) 이진데이터 압축 및 압축해제 장치와 방법
RU2682009C2 (ru) Способ и устройство для кодирования и декодирования исходных данных с использованием сжатия символов
US10003356B2 (en) Devices and methods of source-encoding and decoding of data
JP2019522448A5 (ko)
CN109040759B (zh) 一种图像并行压缩装置及方法
US20140029864A1 (en) Compression encoding and decoding method and apparatus
CN104378634B (zh) 输入符号二值化的方法以及从码字中产生索引值的方法
CN112134568A (zh) 一种有损的数据压缩、解压缩方法及其系统
US20150348231A1 (en) Data compression apparatus
US10116328B2 (en) Encoders, decoders and methods utilizing mode symbols
CN105281777A (zh) 一种遥控器学习数据的压缩方法、系统及遥控器
US20140269896A1 (en) Multi-Frame Compression
KR101575939B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
US10362325B2 (en) Techniques for compressing multiple-channel images
US10340946B2 (en) Encoders, decoders, and methods
KR101587944B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
KR101549740B1 (ko) 이진 데이터의 압축 및 압축해제 방법과 장치
KR20160063581A (ko) 이진데이터 압축 및 압축해제 장치와 방법
KR101468307B1 (ko) 이진데이터 압축 및 압축해제 장치와 방법
CN102469307B (zh) 解码器及码流解析装置
KR101733299B1 (ko) 이진데이터의 실시간 압축 및 압축해제 방법
KR20160065432A (ko) 클럭신호의 위상변화와 신호레벨 범위정보를 이용한 이진데이터 압축 및 압축해제 장치와 방법
KR101573983B1 (ko) 데이터 압축 및 데이터 복원 방법과 장치
US20170280097A1 (en) Spectrum pre-shaping in video
JP2013031025A5 (ko)

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181126

Year of fee payment: 5