이진데이터 압축 및 압축해제 장치와 방법(Binary data compression and decompression apparatus and method thereof)
(19) 대한민국특허청(KR)
(12) 공개특허공보(A)
(11) 공개번호 10-2016-0063581
(43) 공개일자 2016년06월07일
(51) 국제특허분류(Int. Cl.)
H03M 7/30 (2006.01)
(21) 출원번호 10-2014-0166994
(22) 출원일자 2014년11월27일
심사청구일자 없음
(71) 출원인
김정훈
서울특별시 중랑구 신내로 155 ,807동1102호(신
내동,두산아파트)
(72) 발명자
김정훈
서울특별시 중랑구 신내로 155 ,807동1102호(신
내동,두산아파트)
전체 청구항 수 : 총 10 항
(54) 발명의 명칭 이진데이터 압축 및 압축해제 장치와 방법
(57) 요 약
본 발명은 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이
루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 상기 최초의 제너럴 클러스터로부터 뺄셈을 위
하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중
(뒷면에 계속)
대 표 도 - 도1
공개특허 10-2016-0063581
- 1 -
에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 획득하며, 상기 이진데이
터에서 상기 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와
현재 만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터(general cluster)에 대해서 뒤에서 앞으로
순차적으로 이동하면서 상기 압축 클러스터를 각각 획득하고, 상기 이진데이터에서 최종적인 제너럴 클러스터의
경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 상
기 압축 클러스터를 획득하는 압축연산부; 및 상기 압축연산부에 의해 순차적으로 획득된 상기 압축 클러스터를
목적장치로 순차적으로 송신하는 송신부를 포함하는 이진데이터 압축 장치와 이진데이터 압축해제 장치 및 그 방
법들에 관한 것이다.
본 발명에 따르면, 압축 및 압축해제를 위한 처리 속도를 향상시킬 수 있고, 압축율이 뛰어나며, 압축 및 압축해
제의 결과값에 대한 신뢰성을 높일 수 있고, 이진데이터 전송의 실질적인 트래픽을 획기적으로 절감할 수 있다.
공개특허 10-2016-0063581
- 2 -
명 세 서
청구범위
청구항 1
이진데이터에서 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry
down event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry
key)를 빼서 압축 클러스터를 획득하며, 상기 이진데이터에서 모든 제너럴 클러스터(general cluster)에 대해서
뒤에서 앞으로 순차적으로 상기 압축 클러스터를 획득하고, 상기 이진데이터에서 최종적인 제너럴 클러스터의
경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서
상기 압축 클러스터를 획득하는 압축연산부; 및
상기 압축연산부에 의해 순차적으로 획득된 상기 압축 클러스터를 목적장치로 순차적으로 송신하는 송신부를 포
함하는, 이진데이터 압축 장치.
청구항 2
제 1 항에 있어서, 상기 압축연산부는,
상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의
캐리키를 1차로 뺀 제 1 결과치를 상기 압축 클러스터로서 획득하는 이진데이터 압축 장치.
청구항 3
제 2 항에 있어서, 상기 압축연산부는,
상기 이진데이터로부터 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 식별하는 압축식별부;
상기 압축식별부에 의해 식별된 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터로부터 연산에 의해 상기
제 1 결과치를 획득하는 1차 캐리다운연산부;
및
상기 1차 캐리다운연산부에 의해 획득되는 상기 압축 클러스터를 상기 송신부에 순차적으로 개별 전송하는 이진
데이터 압축 장치.
청구항 4
제 1 항 내지 제 3 항 중 어느 한 항에 기재된 이진데이터 압축 장치로부터 순차적으로 수신되는 압축 클러스터
에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진
수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를
각각 획득하는 압축해제연산부; 및
상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속
적으로 배열하여 저장하는 메모리부를 포함하는, 이진데이터 압축해제 장치.
청구항 5
제 4 항에 있어서, 상기 압축해제연산부는,
상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치를 상
기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하는 이진데이터 압축해제 장치.
청구항 6
제 5 항에 있어서, 상기 압축해제연산부는,
공개특허 10-2016-0063581
- 3 -
상기 압축 클러스터를 순차적으로 식별하는 압축해제식별부;
상기 압축해제식별부에 의해 식별된 상기 압축 클러스터로부터 상기 캐리 업 이벤트 연산 또는 1로의 변환에 의
해 상기 제 3 결과치를 획득하는 1차 캐리업연산부;
및
상기 1차 캐리업연산부에 의해 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 상기 메모리부
에 순차적으로 개별 전송하는 압축해제전송부를 포함하는 이진데이터 압축해제 장치.
청구항 7
이진데이터에서 제너럴 클러스터(general cluster)를 추출하고, 상기 제너럴 클러스터로부터 뺄셈을 위하여 윗
자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진수 중에서 최
소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 압축연산부에 의해 획득하는 단
계;
상기 압축연산부에 의해 획득된 압축 클러스터를 송신부에 의해 목적장치로 송신하는 단계;
상기 이진데이터에서 모든 제너럴 클러스터에 대해서 뒤에서 앞으로 순차적으로 상기 압축 클러스터의 획득 및
상기 압축 클러스터의 송신을 반복적으로 수행하도록 하는 단계; 및
상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바
이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을
수행하도록 하는 단계를 포함하는, 이진데이터 압축 방법.
청구항 8
제 7 항에 있어서, 상기 압축 클러스터를 획득하는 단계는,
상기 압축연산부에 의해서, 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이
벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치를 상기 압축 클러스터로서 획득하는 이진데이터
압축 방법.
청구항 9
제 7 항 또는 제 8 항에 기재된 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터를 수신받아,
상기 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로
만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드
바이너리 클러스터를 압축해제연산부에 의해 각각 획득하는 단계; 및
상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속
적으로 배열하여 메모리부에 저장하는 단계를 포함하는, 이진데이터 압축해제 방법.
청구항 10
제 9 항에 있어서, 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 각각 획득하는 단계는,
상기 압축해제연산부에 의해서, 상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키
를 1차로 더한 제 3 결과치를 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하는 이진데이
터 압축해제 방법.
발명의 설명
기 술 분 야
본 발명은 이진데이터 압축 및 압축해제 장치와 방법에 관한 것으로서, 보다 상세하게는 이진수로 이루어진 데[0001]
공개특허 10-2016-0063581
- 4 -
이터의 압축 및 압축해제 효율이 우수한 이진데이터 압축 및 압축해제 장치와 방법에 관한 것이다.
배 경 기 술
일반적으로, 이진수는 이진법으로 표현되는 수를 말하며, 0과 1로 나타내어지고, 컴퓨터 등에서 사용되는 데이[0002]
터의 처리 및 표현에 사용된다.
이와 같은 이진수로 이루어진 이진데이터는 그 처리 속도 및 저장 용량 등을 고려하여 압축이 요구되는데, 종래[0003]
의 이진데이터의 압축 및 압축해제 방법으로는 한국공개특허 제10-1999-022960호의 "이진 코드 압축과 복원방법
및 병렬압축과 복원 프로세서"가 개시된 바 있는데, 이는 이진 코드의 압축 방법으로서, 코드화된 신호 비트 값
과 직교 부호화 함수 값과의 연속 곱(serial multiplication), 이후 일정 시간 주기 동안의 모든 곱(product
s)의 합산을 통한 초기 데이터 흐름의 변환을 포함하는 이진 코드 압축 방식에 있어서, 함수의 이산값이 부호화
함수로서 사용되며, 상기 함수는 주파수를 가진 가우시안 펄스 형태인 구분적 연속 함수이며, 부호화 변환로서
Duamel 시퀀스의 계산법이 사용되며, 데이터 입력 흐름과 부호화 함수의 이산값은 상기 시퀀스의 독립변수로 사
용된다.
그러나, 이와 같은 이진데이터의 압축 방법은 데이터의 압축 및 압축해제에 대한 처리 과정이 복잡하여 처리 속[0004]
도 향상에 제한이 따르고, 결과값에 대해서 신뢰성을 높이기가 어렵다는 문제점을 가지고 있었다.
발명의 내용
해결하려는 과제
상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여, 본 발명은 압축 및 압축해제를 위한 처리 속도를 향[0005]
상시킬 수 있고, 압축율이 뛰어나며, 압축 및 압축해제의 결과값에 대한 신뢰성을 높이도록 하는데 목적이
있다.
본 발명의 다른 목적들은 이하의 실시예에 대한 설명을 통해 쉽게 이해될 수 있을 것이다.[0006]
과제의 해결 수단
상기한 바와 같은 목적을 달성하기 위해, 본 발명의 일측면에 따르면, 이진데이터에서 뒷자리로부터 앞자리로[0007]
이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터를 추출하고, 상
기 최초의 제너럴 클러스터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down
event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를
빼서 압축 클러스터를 획득하며, 상기 이진데이터에서 상기 최초의 제너럴 클러스터로부터 앞자리로 이동하면서
만나는 10과 직전에 만났던 10사이의 이진수와 현재 만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러
스터(general cluster)에 대해서 뒤에서 앞으로 순차적으로 이동하면서 상기 압축 클러스터를 각각 획득하고,
상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수들을 포함하는 헤드 바
이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터를 획득하는 압축연산부; 및 상기 압축연산
부에 의해 순차적으로 획득된 상기 압축 클러스터를 목적장치로 순차적으로 송신하는 송신부를 포함하는 이진데
이터 압축 장치가 제공된다.
상기 압축연산부는 상기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로부터 상기 캐리 다운 이벤트를 일[0008]
으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐
리키를 2차로 뺀 제 2 결과치를 상기 압축 클러스터로서 획득하고, 상기 제 1 결과치가 상기 캐리 다운 이벤트
를 더 이상 일으킬 수 없는 경우에 상기 제 1 결과치를 구성하고 있는 모든 1을 상기 제 1 결과치의 자리수와
동일한 자리수의 0으로 변환하여 상기 압축 클러스터로서 획득하며, 상기 이진데이터가 0으로 시작하는 경우와
1로 시작하는 경우를 식별하기 위한 시그날 비트를 상기 송신부에 의해 송신하도록 할 수 있다.
상기 압축연산부는 상기 이진데이터로부터 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 식별하는 압[0009]
축식별부; 상기 압축식별부에 의해 식별된 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터로부터 연산에
의해 상기 제 1 결과치를 획득하는 1차 캐리다운연산부; 상기 1차 캐리다운연산부에 의해 획득된 상기 제 1 결
과치로부터 상기 캐리 다운 이벤트 연산 또는 O으로의 변환에 의해 상기 제 2 결과치로서 상기 압축 클러스터를
획득하는 2차 캐리다운연산부; 및 상기 2차 캐리다운연산부에 의해 획득되는 상기 압축 클러스터를 상기 송신부
에 순차적으로 개별 전송하며, 상기 시그날 비트를 상기 송신부에 의해 송신하도록 하는 압축전송부를 포함할
공개특허 10-2016-0063581
- 5 -
수 있다.
본 발명의 다른 측면에 따르면, 상기한 이진데이터 압축 장치로부터 순차적으로 수신되는 압축 클러스터에 덧셈[0010]
을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에
서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 각각
획득하는 압축해제연산부; 및 상기 압축해제연산부에 의해 순차적으로 획득되는 상기 제너럴 클러스터와 상기
헤드 바이너리 클러스터를 연속적으로 배열하여 저장하는 메모리부를 포함하는 이진데이터 압축해제 장치가 제
공된다.
상기 압축해제연산부는 상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로[0011]
더한 제 3 결과치에 다시 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 상
기 제너럴 클러스터 또는 상기 헤드 바이너리 클러스터로서 획득하되, 상기 압축 클러스터가 0으로만 이루어진
경우, O의 자리수와 동일한 자리수의 1로 변환하여 상기 제 3 결과치로서 획득하고, 상기 이진데이터가 0으로
시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기
헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환할 수 있다.
상기 압축해제연산부는 상기 압축 클러스터를 순차적으로 식별하는 압축해제식별부; 상기 압축해제식별부에 의[0012]
해 식별된 상기 압축 클러스터로부터 상기 캐리 업 이벤트 연산 또는 1로의 변환에 의해 상기 제 3 결과치를 획
득하는 1차 캐리업연산부; 상기 1차 캐리업연산부에 의해 획득된 상기 제 3 결과치로부터 상기 캐리 업 이벤트
연산에 의해 상기 제 4 결과치로서 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 획득하는 2차 캐리
업연산부; 및 상기 2차 캐리업연산부에 의해 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를
상기 메모리부에 순차적으로 개별 전송하는 압축해제전송부를 포함하고, 상기 압축해제식별부가 상기 시그날 비
트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 으로 변
환하여 압축해제전송부에 의해 전송할 수 있다.
본 발명의 또 다른 측면에 따르면, 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그[0013]
뒤에 위치하는 이진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 상기 제너럴 클러스
터로부터 뺄셈을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이
루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 압축
연산부에 의해 획득하는 단계; 상기 압축연산부에 의해 획득된 압축 클러스터를 송신부에 의해 목적장치로 송신
하는 단계; 상기 이진데이터에서 상기 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에
만났던 10사이의 이진수와 현재 만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터에 대해서 뒤에
서 앞으로 순차적으로 이동하면서 상기 압축 클러스터의 획득 및 상기 압축 클러스터의 송신을 반복적으로 수행
하도록 하는 단계; 및 상기 이진데이터에서 최종적인 제너럴 클러스터의 경우, 그 앞에 위치하는 나머지 이진수
들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 상기 압축 클러스터의 획득 및 상기 압
축 클러스터의 송신을 수행하도록 하는 단계를 포함하는 이진데이터 압축 방법이 제공된다.
상기 압축 클러스터를 획득하는 단계는 상기 압축연산부에 의해서, 상기 제너럴 클러스터 또는 상기 헤드 바이[0014]
너리 클러스터로부터 상기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 상
기 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 상기 압축 클러스터로서 획득하
고, 상기 제 1 결과치가 상기 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우에는 상기 제 1 결과치를 구성하
고 있는 모든 1을 상기 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환하여 상기 압축 클러스터로서 획득
하며, 상기 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 상기 송신
부에 의해 송신하도록 할 수 있다.
본 발명의 또 다른 측면에 따르면, 상기한 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터를[0015]
수신받아, 상기 압축 클러스터에 덧셈을 위하여 윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일
으키는 1로만 이루어지는 이진수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스
터와 헤드 바이너리 클러스터를 압축해제연산부에 의해 각각 획득하는 단계; 및 상기 압축해제연산부에 의해 순
차적으로 획득되는 상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 연속적으로 배열하여 메모리부에 저
장하는 단계를 포함하는 이진데이터 압축해제 방법이 제공된다.
상기 제너럴 클러스터와 상기 헤드 바이너리 클러스터를 각각 획득하는 단계는 상기 압축해제연산부에 의해서,[0016]
상기 압축 클러스터로부터 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다
시 상기 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 상기 제너럴 클러스터 또
공개특허 10-2016-0063581
- 6 -
는 상기 헤드 바이너리 클러스터로서 획득하되, 상기 압축 클러스터가 0으로만 이루어진 경우, O의 자리수와 동
일한 자리수의 1로 변환하여 상기 제 3 결과치로서 획득하고, 상기 이진데이터가 0으로 시작하는 경우와 1로 시
작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 상기 시그날 비트를 통해서 상기 헤드 바이너리 클러스
터의 최초 비트가 0인 경우 이를 0으로 변환할 수 있다.
발명의 효과
본 발명에 따른 이진데이터 압축 및 압축해제 장치와 방법에 의하면, 압축 및 압축해제를 위한 처리 속도를 향[0017]
상시킬 수 있고, 압축율이 뛰어나며, 압축 및 압축해제의 결과값에 대한 신뢰성을 높일 수 있고, 이진데이터 전
송의 실질적인 트래픽을 획기적으로 절감할 수 있다.
도면의 간단한 설명
도 1은 본 발명에 따른 이진데이터 압축 장치와 이진데이터 압축해제 장치를 도시한 구성도이고,[0018]
도 2는 본 발명에 따른 이진데이터 압축 방법을 도시한 흐름도이고,
도 3은 본 발명에 따른 이진데이터 압축해제 방법을 도시한 흐름도이다.
발명을 실시하기 위한 구체적인 내용
본 발명은 다양한 변경을 가할 수 있고, 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하[0019]
고, 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니고, 본
발명의 기술 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 식으로 이해되어야
하고, 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 하기 실시예에 한정되는 것은 아니다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세히 설명하며, 도면 부호에 관계없이 동일하거나 대[0020]
응하는 구성요소에 대해서는 동일한 참조 번호를 부여하고, 이에 대해 중복되는 설명을 생략하기로 한다.
도 1은 본 발명에 따른 이진데이터 압축 장치와 이진데이터 압축해제 장치를 도시한 구성도이다.[0021]
도 1에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축 장치(100)는 압축연산부(120)와 송신부(130)를 포함[0022]
할 수 있다.
압축연산부(120)는 이진데이터에서 뒷자리로부터 앞자리로 이동하면서 최초로 만나는 10과 그 뒤에 위치하는 이[0023]
진수로 이루어지는 최초의 제너럴 클러스터(general cluster)를 추출하고, 최초의 제너럴 클러스터로부터 뺄셈
을 위하여 윗자리에서 숫자를 빌려오는 캐리 다운 이벤트(carry down event)를 일으키는 1로만 이루어지는 이진
수 중에서 최소 크기를 가진 이진수에 해당하는 캐리키(carry key)를 빼서 압축 클러스터를 획득하며, 이진데이
터에서 최초의 제너럴 클러스터로부터 앞자리로 이동하면서 만나는 10과 직전에 만났던 10사이의 이진수와 현재
만난 10을 포함하는 이진수로 이루어지는 모든 제너럴 클러스터(general cluster)에 대해서 뒤에서 앞으로 순차
적으로 이동하면서 압축 클러스터를 각각 획득하고, 이진데이터에서 최종적인 제너럴 클러스터의 경우, 앞에 위
치하는 나머지 이진수("1")들을 포함하는 헤드 바이너리 클러스터(head binary cluster)에 대해서 압축 클러스
터를 획득한다. 또한 압축연산부(120)는 최종적인 10이 가장 좌측 비트였다면 최종적인 제너럴 클러스터가 헤드
바이너리 클러스터가 되도록 할 수 있다.
예를 들면, 101011101011이라는 이진수에 있어서, 10 / 1011 / 10 / 1011 로 바이너리 클러스터로 나눌수 있는[0024]
데, 우측에서 3개의 클러스터는 제네럴 바이너리 클러스터이고, 맨 앞이 헤드 바이너리 클러스터가 되는데, 헤
드 바이너리 클러스터는 이렇게 10 형태의 제네럴 클러스터 형태도 가질 수 있다. 물론 이때 “10” 앞에 또 다
른 “0”은 결코 존재할 수 없다. 또는 110101010101과 같은 이진수에 있어서는, 110 / 10 / 10 / 10 / 101 과
같이 맨 앞의 헤드 바이너리 클러스터의 경우처럼 110과 같이 “10” 앞에 “1”이 연속하여 1개 또는 그 이상
도 존재할 수 있는 것은 물론이며, 이때 “10” 앞에 또 다른 “0”은 결코 존재할 수 없다.
압축연산부(120)는 제너럴 클러스터 또는 헤드 바이너리 클러스터로부터 캐리 다운 이벤트를 일으키는 최소 크[0025]
기의 캐리키를 1차로 뺀 제 1 결과치에 다시 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 2차로 뺀 제 2
결과치를 압축 클러스터로서 획득하고, 제 1 결과치가 캐리 다운 이벤트를 더 이상 일으킬 수 없는 경우, 즉 1
로만 이루어진 경우, 예를 들어 헤드 바이너리 클러스터가 100이었다면, 1차 캐리다운 이벤트 이후에는 11로 바
공개특허 10-2016-0063581
- 7 -
뀌어 있는 경우에 제 1 결과치를 구성하고 있는 모든 1을 제 1 결과치의 자리수와 동일한 자리수의 0으로 변환
하여 압축 클러스터로서 획득할 수 있고, 이로써 2차 캐리다운 이벤트 연산에 갈음하게 되며(바로 앞에 든 예의
경우에는 11이 00으로 바뀌게 된다), 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한
시그날 비트를 송신부(130)에 의해 송신하도록 할 수 있다.
한편, 반드시 압축바이너리 클러스터를 생성할 때, 2차에 걸친 압축바이너리 클러스터 생성과정에서 본발명에서[0026]
필수적인 것은 아니다. 상기 제1결과치 만으로도 충분히 압축효과가 있으며, 제 1결과치를 최종 압축바이너리
클러스터로 하여 송신부에서 수신부로 전송한뒤, 압축연산해제부에서도 역시 1회의 압축해제 연산을 통해서 원
본데이터를 복구할 수 있다. 다만 압축효과자체는 제2결과치까지 2차 압축한 압축바이너리 클러스터보다는 작을
수는 있다.
압축연산부(120)는 일례로 이진데이터로부터 제너럴 클러스터와 헤드 바이너리 클러스터를 식별하는 압축식별부[0027]
(121)와, 압축식별부(121)에 의해 식별된 제너럴 클러스터와 헤드 바이너리 클러스터로부터 연산에 의해 제 1
결과치를 획득하는 1차 캐리다운연산부(122)와, 1차 캐리다운연산부(122)에 의해 획득된 제 1 결과치로부터 캐
리 다운 이벤트 연산 또는 O으로의 변환에 의해 제 2 결과치로서 압축 클러스터를 획득하는 2차 캐리다운연산부
(123)와, 2차 캐리다운연산부(123)에 의해 획득되는 압축 클러스터를 송신부(130)에 순차적으로 개별 전송하며,
시그날 비트를 송신부에 의해 송신하도록 하는 압축전송부(124)를 포함할 수 있다. 또한 압축연산부(120)는 압
축에 따른 제어를 위하여 제어부(미도시)를 더 포함할 수 있고, 나아가서, 구동에 필요한 프로그램이나 데이터
의 저장을 위하여 메모리부(미도시)를 더 포함할 수 있다.
송신부(130)는 압축연산부(120)에 의해 순차적으로 획득된 압축 클러스터를 목적장치, 예컨대 이진데이터 압축[0028]
해제 장치(200)이거나, 그 밖에 압축된 이진데이터를 필요로 하는 프로세스 장치나 메모리 장치 등으로 순차적
으로 송신한다. 여기서, 송신부(130)는 목적 장치의 통신 방법에 따라, 와이어나 케이블 등으로 이루어져서 유
선으로 신호를 송신하거나, 블루투스, 와이파이, 3G, LTE 등의 통신모듈로 이루어져서 무선으로 신호를 송신할
수도 있다.
한편, 본 발명에 따른 이진데이터 압축 장치(100)는 외부 장치(1), 예컨대 별도의 프로세스 장치나 메모리 장치[0029]
로부터 이진 데이터를 수신받기 위하여, 유선 또는 무선 통신을 위한 와이어, 케이블 또는 통신 모듈 등으로 이
루어지는 수신부(110)를 더 포함할 수 있다. 여기서, 외부 장치(1)는 이진데이터 압축 장치(100)와 구별되는 장
치를 의미하는 것으로서, 이진데이터 압축 장치(100)와 함께 단일의 장치로 이루어지거나, 이진데이터 압축 장
치(100)와 별개로 이루어질 수 있다.
도 1에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축해제 장치(200)는 상기한 본 발명에 따른 이진데이터[0030]
압축해제 장치(100)에 의해 순차적으로 송신되는 압축 클러스터로부터 압축을 해제하여 원본의 이진데이터를 추
출하는 장치로서, 압축해제연산부(220)와 메모리부(230)를 포함할 수 있다.
압축해제연산부(220)는 이진데이터 압축 장치(100)로부터 순차적으로 수신되는 압축 클러스터에 덧셈을 위하여[0031]
윗자리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크
기를 가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 각각 획득한다.
압축해제연산부(220)는 압축 클러스터로부터 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3[0032]
결과치에 다시 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 제너럴 클러스터 또
는 헤드 바이너리 클러스터로서 획득하되, 1차 압축해제 연산을 위해 또는 2차 압축해제 연산에서 압축 클러스
터가 0으로만 이루어진 경우, O의 자리수와 동일한 자리수의 1로 변환하여 제 3 결과치로서 획득하고, 이진데이
터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수신하여, 시그날 비트를 통해
서 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환할 수 있다.
한편, 이렇게 시그널 비트와 헤드바이너리 클러스터의 개념을 도입하면 발명이 번거롭게 되는 측면이 있으므로,[0033]
이진데이터의 최상위 비트앞에 "10","101","1000","10111",,.. 등 "1"로 시작하고 1개이상의 연속된 "0" 그리
고 0개이상의 연속된 "1"로 이루어진 바이너리 클러스터를 하나 선택하여 강제적으로 추가하면, 헤드바이너리
클러스터는 생기지 않을것이고, 모두 제너럴 바이너리 클러스터로 나뉘고, 이에 따라 각각 압축 클러스터를 생
성하여 전송할 수 있다. 한편 수신부의 압축해제 연산부에서 압축해제하여 나온 스트리밍 데이터에서의 최상위
비트가운데 상기 선정하여 강제적으로 붙인 바이너리 클러스터를 구성하고 있는 비트값을 제거하면 원본데이터
공개특허 10-2016-0063581
- 8 -
가 완벽히 복구될 수 있다.
압축해제연산부(220)는 일례로 압축 클러스터를 순차적으로 식별하는 압축해제식별부(221)와, 압축해제식별부[0034]
(221)에 의해 식별된 압축 클러스터로부터 캐리 업 이벤트 연산 또는 1로의 변환에 의해 제 3 결과치를 획득하
는 1차 캐리업연산부(222)와, 1차 캐리업연산부(222)에 의해 획득된 제 3 결과치로부터 캐리 업 이벤트 연산에
의해 제 4 결과치로서 제너럴 클러스터와 헤드 바이너리 클러스터를 획득하는 2차 캐리업연산부(223)와, 2차 캐
리업연산부(223)에 의해 획득되는 제너럴 클러스터와 헤드 바이너리 클러스터를 메모리부(230)에 순차적으로 개
별 전송하는 압축해제전송부(224)를 포함할 수 있으며, 압축해제식별부(221)가 시그날 비트를 수신하여, 시그날
비트를 통해서 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환하여 압축해제전송부(224)에 의
해 전송할 수 있다. 또한 압축해제연산부(220)는 압축해제에 따른 제어를 위하여 제어부(미도시)를 더 포함할
수 있고, 나아가서, 구동에 필요한 프로그램이나 데이터의 저장을 위하여 메모리부(230)를 사용하거나 별도의
메모리부를 더 포함할 수 있다.
메모리부(230)는 압축해제연산부(220)에 의해 순차적으로 획득되는 제너럴 클러스터와 헤드 바이너리 클러스터[0035]
를 연속적으로 배열하여 일시 또는 영구적으로 저장하며, 압축해제연산부(220)와 함께 단일로 이루어지거나, 압
축해제연산부(220)와 별개로 이루어질 수도 있다. 또한 메모리부(230)는 수신부(210)에 의해 수신되는 압축 클
러스터를 일시적으로 저장하여 압축해제연산부(220)가 압축 해제를 하도록 제공하는 버퍼 역할을 수행할 수도
있다.
본 발명에 따른 이진데이터 압축해제 장치(200)는 이진데이터 압축 장치(100)의 송신부(130)로부터 압축 클러스[0036]
터에 대한 데이터를 유선 또는 무선으로 수신받아 압축해제식별부(221)로 전달하기 위하여, 와이어나 케이블 또
는 무선통신모듈 등으로 이루어지는 수신부(210)를 더 포함할 수 있다.
한편, 상기한 제너럴 클러스터, 헤드 바이너리 클러스터, 캐리키, 캐리 다운 이벤트, 캐리 업 이벤트 등을 보다[0037]
자세히 설명하기로 하며, 이는 후술하게 될 이진데이터 압축 방법과 이진데이터 압축해제 방법 모두 적용될 수
있다.
예를 들면, 이진수인 101의 경우에 이진수로 1을 빼면 그 결과는 100이 된다. 이 경우 3자리의 이진수인 100에[0038]
있어서, 101과 비교하여 자리내림현상이 발생하지 않는다. 즉, 뺄셈을 위해서 윗자리에서 숫자를 빌려오는 현상
이 발생하지 않는다. 그러면 이진수인 11을 빼보면 그 결과는 10이 된다. 이 경우 3자리의 이진수인 101은 이진
수인 11을 뺌으로써, 3번째 자리의 1에서 2를 빌려와서 두 번째자리의 1과 연산을 통해 10의 수치를 얻게 되는
데, 이를 캐리 다운 이벤트라고 한다. 본 발명에서는 캐리키라고 불리는 1, 11, 111, 1111,... 과 같은 수치에
서 가장 작은 수치로 일어나는 최초의 자리내림 현상을 캐리 다운 이벤트라고 정의한다. 이때 캐리 다운 이벤트
는 원래 숫자의 비트수 자체가 작아지는 경우뿐만 아니라, 내부에서 일어나는 최초의 자리내림까지도 포함할 수
있다. 즉 이진수인 110을 이진수인 1로 빼면 101이 되는 것과 같이, 두 번째 자리에서 자리내림이 발생한 것도
110에서 1이라는 캐리키로 자리내림이 발생한 것으로 본다.
이진수 101에서 캐리키 중에서 가장 작은 1을 더하는 경우, 그 결과 110과 같이 이진법 첫 번째 자리에서 숫자[0039]
가 넘쳐서 다음 자리에 캐리 업(carry up)되는 현상이 일어나는데, 이를 캐리 업 이벤트라고 한다.
또한 예컨대 2진수인 1101010101010의 경우에 있어서, 이러한 캐리 업 이벤트 및 캐리 다운 이벤트가 발생하기[0040]
위한 최소한의 단위로 묶을 수 있는데, 110 / 10 / 10 / 10 / 10 / 10과 같은 형태이다. 여기에서 맨 앞의 110
을 헤드 바이너리 클러스터라고 한다. 다른 예로서, 100101101011이라는 이진수의 경우에, 100 / 101 / 10 /
1011로 분리가 가능하다. 이렇게 분리되는 것은 맨 뒤쪽에서부터 1비트씩 앞쪽으로 이동하되, 한번에 2비트씩
취하면서 만나게 되는 10을 기준으로 분리한다. 이때 맨 앞의 100이 헤드 바이너리 클러스터가 된다. 한편, 헤
드 바이너리 클러스터는 10을 1개 포함해야 하는 것이 제네럴 클러스터와 동일하나, 제너럴 클러스터와 달리 10
앞에 1이 연속으로 여러 개 올 수도 있다. 물론 원본데이터인 이진데이터에 따라 1이 연속으로 하나도 오지 않
을 수 있으며, 이 경우 헤드 바이너리 클러스터는 제너럴 바이너리 클러스터와 동일한 형태가 될 것이다.
이와 같이 클러스터를 묶는 방법은 압축식별부(121)에 의해 수행될 수 있는데, 일례로 맨 뒤의 이진수에서부터[0041]
앞의 이진수로 이동하면서 비트를 스캔하다가 먼저 10을 만나면, 이 위치의 바로 앞 위치(“10”중에 특히 “1
”의 앞 위치)를 기억해 두고, 다음으로 나오는 10 바로 앞 위치까지(특히 “1”의 위치)를 찾은 뒤, 이 두 개
의 10사이의 이진수를 이용하여 다음과 같이 클러스터를 묶는 방법으로 수행될 수 있다. 다만, 10을 최초로 만
나는 경우에는 “10”에서 “1”의 위치와 맨 첫 번째 비트사이의 이진수가 최초의 제너럴 클러스터가 될 것은
자명하다. 예를 들어, 101011의 경우 10 / 1011일 때, 1011 제너럴 클러스터, "10" 이 처음으로 나오는 것이므
공개특허 10-2016-0063581
- 9 -
로, 맨 처음자리까지의 이진수를 묶어서 “1011”로 만든다는 의미이다. “10”은 헤드 바이너리 클러스터임은
자명하다.
예를 들어, 아래의 표 1에서와 같이, 11010의 경우에 E 비트에서부터 A 비트까지 스캔하면서, 10이 최초로 나[0042]
타나는 D 비트에서부터 E 비트를 찾아서 D~E를 연속하여 최초의 제너럴 클러스터로 하고, D-1, 즉 C 위치에서
좌측으로 이동하다 다시 B 비트에서의 10을 처음 만나면 B~C를 다시 두번째 제너럴 클러스터라고 할 수 있다.
그러나, 이 때 B-1 위치, 즉 A 위치까지 10이 더 이상 없으므로 B-1 위치, 즉 A 위치까지의 모든 1을 포함하여
두번째 제너럴 클러스터는 헤드 바이너리 클러스터(A~C)가 된다고 정의할 수 있다.
표 1
A[0043] B C D E
1 1 0 1 0
헤드 바이너리 클러스터 이후의 바이너리 클러스터들은 모두 제너럴 클러스터에 해당된다. 또한 헤드 바이너리[0044]
클러스터와 제너럴 클러스터를 통칭하여 바이너리 클러스터라고 할 수 있다.
캐리 다운 이벤트 및 캐리 업 이벤트를 발생시키는 캐리키는 1, 11, 111,....과 같이 무한하다. 이때 캐리키는[0045]
압축의 효율성을 고려하여 여러 가지가 있을 수 있다. 그런데 캐리 다운 이벤트 및 캐리 업 이벤트를 발생시키
는 캐리키의 크기에 따라 연산전후에 값이 변화하는 비트들의 총 갯수가 달라지는데, 이를 캐리 이벤트 엔트로
피(carry event enthropy)라고 한다. 예를 들어, 아래의 표 2에서와 같이 이진수인 10010에서, 캐리키 1을 사용
하여 캐리 다운 이벤트가 일어나도록 할 수 있는데, 그 결과는 10001이다. 또한 캐리키 11을 사용하여 캐리 업
이벤트를 발생시킬 수 있는데, 그 결과는 10101이다. 또한 동일한 10010에 대하여 캐리키 11을 사용하여 캐리
업 이벤트도 발생시킬 수 있는데, 그 결과는 10101이다. 이렇게 동일한 이진수에 대해서도 캐리업 이벤트 또는
캐리다운 이벤트를 모두 일으킬 수는 있으나, 이는 캐리키를 더하느냐 빼느냐에 따라 정하여지는 것이다.
표 2
A[0046] B C D E
1 0 0 1 0
그런데 이 두 경우를 비교해 보면, 첫 번째의 경우 숫자의 변화가 생긴 비트의 수는 D, E 비트에서 10이 01로 2[0047]
개가 바뀌었고, 두 번째의 경우 C, D, E 비트의 010이 101로 바뀌었다. 캐리업 이벤트와 캐리다운 이벤트에서의
본 발명에서 중요한 것은 엔트로피의 절대 크기이며, 압축해제 또는 압축시에는 각각 클러스터에 따라 엔트로피
의 변화를 적게 일으키는 캐리키를 선택하여 압축 또는 압축해제 과정을 거치게 된다. 압축해제시에는 캐리업
이벤트를 선택하되, 캐리업 이벤트시 엔트로피가 최소치가 되는 키를 선택한다.
도 2는 본 발명에 따른 이진데이터 압축 방법을 도시한 흐름도이다.[0048]
도 2에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축 방법은 이진데이터에서 뒷자리로부터 앞자리로 이동[0049]
하면서 최초로 만나는 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)를 포함한다.
공개특허 10-2016-0063581
- 10 -
압축 클러스터를 획득하는 단계(S11)는 압축연산부(120)에 의해서, 제너럴 클러스터 또는 헤드 바이너리 클러스[0050]
터로부터 캐리 다운 이벤트를 일으키는 최소 크기의 캐리키를 1차로 뺀 제 1 결과치에 다시 캐리 다운 이벤트를
일으키는 최소 크기의 캐리키를 2차로 뺀 제 2 결과치를 압축 클러스터로서 획득하고, 제 1 결과치가 캐리 다운
이벤트를 더 이상 일으킬 수 없는 경우에는 제 1 결과치를 구성하고 있는 모든 1을 제 1 결과치의 자리수와 동
일한 자리수의 0으로 변환하여 압축 클러스터로서 획득하며, 이러한 경우에는 제 2 결과치를 갈음하게 되며, 이
진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 송신부(130)에 의해 송신
하도록 할 수 있다.
도 3은 본 발명에 따른 이진데이터 압축해제 방법을 도시한 흐름도이다.[0051]
도 3에 도시된 바와 같이, 본 발명에 따른 이진데이터 압축해제 방법은 본 발명에 따른 이진데이터 압축 방법에[0052]
의해 순차적으로 송신되는 압축 클러스터로부터 제너럴 클러스터와 헤드 바이너리 클러스터를 획득하는 방법으
로서, 본 발명에 따른 이진데이터 압축 방법에 의해 순차적으로 송신되는 압축 클러스터에 덧셈을 위하여 윗자
리로 숫자를 올리는 캐리 업 이벤트(carry up event)를 일으키는 1로만 이루어지는 이진수 중에서 최소 크기를
가진 이진수에 해당하는 캐리키를 더해서, 제너럴 클러스터와 헤드 바이너리 클러스터를 압축해제연산부(220)에
의해 각각 획득하는 단계(S21)와, 압축해제연산부(220)에 의해 순차적으로 획득되는 제너럴 클러스터와 헤드 바
이너리 클러스터를 연속적으로 배열하여 메모리부(230)에 저장하는 단계(S22)를 포함하며, 이는 최종 압축 클러
스터가 수신부(210)에 수신될 때까지 반복적으로 수행될 수 있다(S23).
제너럴 클러스터와 헤드 바이너리 클러스터를 각각 획득하는 단계(S21)는 압축해제연산부(220)에 의해서, 압축[0053]
클러스터로부터 캐리 업 이벤트를 일으키는 최소 크기의 캐리키를 1차로 더한 제 3 결과치에 다시 캐리 업 이벤
트를 일으키는 최소 크기의 캐리키를 2차로 더한 제 4 결과치를 제너럴 클러스터 또는 헤드 바이너리 클러스터
로서 획득하되, 압축 클러스터가 0으로만 이루어진 경우, O의 자리수와 동일한 자리수의 1로 변환하여 제 3 결
과치로서 획득하고, 이진데이터가 0으로 시작하는 경우와 1로 시작하는 경우를 식별하기 위한 시그날 비트를 수
신하여, 시그날 비트를 통해서 헤드 바이너리 클러스터의 최초 비트가 0인 경우 이를 0으로 변환한다.
본 발명에 따른 이진데이터 압축 방법과 이진데이터 압축해제 방법을 예로 들어 설명하면, 이진수인[0054]
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의 경우, 캐리 다운 이벤트를 일으키는 최[0055]
소 크기의 캐리키는 각각 1 / 1 / 111 / 1 / 1 / 1 / 1 / 11 / 1 / 1 / 1이며, 이러한 캐리키를 바이너리 클러
스터에 각각 뺄 경우, 11 / 1 / 100 / 1 / 1 / 1 / 1 / 110 / 1 / 1 / 1로 표현된다.
다음으로, 현재 분류된 바이너리 클러스터에서 다시 한번 캐리 다운 이벤트를 발생시키는데, 11과 같은 바이너[0056]
리 클러스터의 경우와 같이, 캐리키로는 다시 캐리 다운 이벤트를 일으킬 수 없는 경우에는, 00으로 변환하여
준다. 따라서, 상기한 2차 캐리 다운 이벤트를 발생시킨 경우 00 / 0 / 11 / 0 / 0 / 0 / 0 / 101 / 0 / 0 / 0
으로 표현이 된다. 따라서 27비트의 원본 이진데이터는 11개의 바이너리 클러스터를 이루면서 15비트의 정보로
압축된다. 이때 송신부에서는 클러스터로 나뉘어져 있음을 송신과정 중에는 11개의 바이너리 클러스터를 아는
상태를 유지한다.
이와 같이 변환된 정보를 유무선 네트워크 장비 또는 데이터 전송장치를 통하여, 바이너리 클러스터 단위로 원[0057]
본 데이터가 있는 소스 장치에서 목적 데이터를 저장할 목적 장치로 전송하는 방법에 있어서, 원본 이진데이터
를 바이너리 클러스터별로 구분한 뒤, 바이너리 클러스터별 비트수 단위로 데이터를 목적 장치로 전송을 하고,
수신부(210)에서는 전송받은 데이터를 압축해제연산부(220)에 의해 최소 크기의 캐리키를 이용하여 2번의 연속
된 캐리 업 이벤트를 통하여 원래의 이진데이터로 압축해제하여 메모리부(230)에 저장할 수 있다. 이때 압축해
제연산부(220)에 의해서 예외적으로 수신받은 원본데이터가 0, 00, 000의 경우에는 캐리 업 이벤트를 적용하지
않고, 1차적으로 1, 11, 111로 자동적으로 변환한 뒤, 2차 캐리 업 이벤트를 수행한다.
위와 같은 과정을 1:1로 모든 원본 이진데이터의 바이너리 클러스터에 대하여 진행하면서 데이터를 전송한다.[0058]
이와 같은 방법을 적용할 경우, 송신부(130)에서는 캐리 다운 이벤트를 연속적으로 2번 일으킨 데이터 및 제로[0059]
예외 처리를 이용하여 변환하여 원본 이진데이터보다 훨씬 적은 데이터를 수신부(210)로 전송하기만 하면, 수신
공개특허 10-2016-0063581
- 11 -
부(210)에서는 제로 예외처리 및 캐리 업 이벤트를 이용하여 원본으로 전환하여 수신받는 데이터 마다 환원하여
계속적으로 붙여나가면서 원본 이진데이터를 최종적으로 만들게 된다. 따라서, 데이터 전송의 실질적인 트래픽
을 획기적으로 절감할 수 있다.
이와 같이 첨부된 도면을 참조하여 본 발명을 설명하였으나, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에[0060]
서 다양한 수정 및 변형이 이루어질 수 있음은 물론이다. 그러므로, 본 발명의 범위는 설명된 실시예에 한정되
어서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이러한 특허청구범위와 균등한 것들에 의해 정해져야
한다.
본 발명은 압축 클러스터들을 모두 그대로 이어붙이고, 그것을 수신부로 1회에 전송하는 방식이 아니라, 원본[0061]
데이터로부터 압축 바이너리 클러스터를 각각 생성한 뒤에, 송신부(130) 측의 메모리로부터 순차적으로 압축바
이너리 클러스터를 각각 수신부(210)로 1개씩 전송을 하고, 수신부(210) 측에서는 해당 압축클러스터를 받자마
자 캐리업 계산을 통해 압축해제를 한 뒤, 메모리부(230)에 저장하고 ,다시 다음 압축클러스터를 받아서 해제
후, 이어서 붙이는 과정을 통해 원본데이터를 정확하게 복구하는 과정을 통해 압축전송의 효과를 수신부로 전
달하게 된다.
예를 든다면 A(송신측)에서 공에 바람이 꽉 차있는 100개의 공을 B측(수신측)에 전달하기 위해서, 우선 A에서는[0062]
1개의 공에 대해서 각각 공의 바람을 뺀 뒤, 그 공을 바로 B에 던지고, B는 바람이 빠진 공의 바람을 채워넣는
과정을 통해 원래의 공을 복구합니다.
이러한 순차적 전송방식은 매우 다양하게 구현될 수 있다.[0063]
예를들어, 이진 데이터 압축장치가 각각의 결합 압축 클러스터를 다수의 전송채널을 통해 전송하는 통신방식을[0064]
채택하고 있는 통신환경 하에서는, 압축해제장치는 이렇게 다수의 전송채널을 통해 독립적 또는 별도로 전송되
어 오는 각각의 결합 압축 클러스터를 수신하여 이들을 압축해제하면 되기 때문에, 이 경우에도 별도의 식별자
가 필요없어도 되며,
물리적으로 전파의 변복조 방식을 2가지를 조합하여, 한가지 방식으로는 클러스터 구분을 다른 방식으로는 클러[0065]
스터내의 데이터를 구분하는 전송방식으로도 전송이 가능하고, 혹은 전송시의 물리적 전송에너지 또는 전송전
압/전류의 차이등으로도 클러스터간의 구분 및 클러스터내의 구분도 가능하다.
혹은 각 압축클러스터에 대하여 압축클러스터의 종류에 따라 기존의 공지의 알고리즘을 통해 부호화하여 전송할[0066]
수도 있으며 유니버설 코드에 각 압축클러스터를 매핑하여 전송시킬수도 있다
부호의 설명
1,2 : 외부장치 110 : 수신부[0067]
120 : 압축연산부 121 : 압축식별부
122 : 1차 캐리다운연산부 123 : 2차 캐리다운연산부
124 : 압축전송부 130 : 송신부
210 : 수신부 220 : 압축해제연산부
221 : 압축해제식별부 222 : 1차 캐리업연산부
223 : 2차 캐리업연산부 224 : 압축해제전송부
230 : 메모리부
공개특허 10-2016-0063581
- 12 -
도면
도면1
도면2
공개특허 10-2016-0063581
- 13 -
도면3
공개특허 10-2016-0063581
- 14 -