KR101573983B1 - 데이터 압축 및 데이터 복원 방법과 장치 - Google Patents

데이터 압축 및 데이터 복원 방법과 장치 Download PDF

Info

Publication number
KR101573983B1
KR101573983B1 KR1020130138593A KR20130138593A KR101573983B1 KR 101573983 B1 KR101573983 B1 KR 101573983B1 KR 1020130138593 A KR1020130138593 A KR 1020130138593A KR 20130138593 A KR20130138593 A KR 20130138593A KR 101573983 B1 KR101573983 B1 KR 101573983B1
Authority
KR
South Korea
Prior art keywords
data
compressed data
compression
binary
cluster
Prior art date
Application number
KR1020130138593A
Other languages
English (en)
Other versions
KR20150055965A (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 KR1020130138593A priority Critical patent/KR101573983B1/ko
Publication of KR20150055965A publication Critical patent/KR20150055965A/ko
Application granted granted Critical
Publication of KR101573983B1 publication Critical patent/KR101573983B1/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 압축부가 이진 데이터를 복수의 클러스터 단위로 분할하여 압축하는 압축연산을 적어도 1회 이상 단계적으로 반복실행하여 압축데이터를 생성하는 단계; 변환부가 상기 압축데이터를 미리 약속된 포맷의 변환 압축데이터로 변환하는 단계; 및 출력부가 상기 변환 압축데이터를 출력하는 단계를 포함하는 것을 특징으로 하는, 데이터 압축방법에 관한 것이다.

Description

데이터 압축 및 데이터 복원 방법과 장치{METHOD OF DATA COMPRESSING, METHOD OF DATA RECOVERING, AND THE APPARATUSES THEREOF}
본 발명은 데이터 압축 및 데이터 복원 방법과 장치에 관한 것으로서, 보다 구체적으로는 간단한 연산과 하드웨어적 구성을 통해 데이터를 다양한 포맷의 변환 압축데이터로 효과적이고 효율적으로 압축할 수 있고, 변환 압축데이터로부터 데이터를 복원할 수 있도록 하는, 데이터 압축 및 데이터 복원 방법과 장치에 관한 것이다.
일반적으로, 통상의 전송 채널에서 이용 가능한 주파수 대역폭은 제한되어 있으므로, 많은 양의 데이터를 전송하기 위해서 모뎀과 같은 다양한 전송 시스템은 전송 데이터의 양을 압축하거나 줄일 수 있는 효과적인 데이터 압축 기법을 이용해 왔다.
다양한 압축기법 중의 하나로서, 국제 전기 통신 동맹(ITU : International Telecommunication Union)에 의해 표준화된 부호화 알고리즘으로, 모뎀과 같은 데이터 전송 시스템에서 채용하고 있는 CCITT V.42 bis 가 있다. 이 부호화 표준안에 적용된 기초는 Ziv-Lempel code(ZLC)이며, 이 방식은 입력 데이터로부터 적응적으로 사전을 형성해 가면서 앞의 입력 데이터와 동일한 구문(phrase)이 저장되어 있는 사전의 주소값을 부호어로 전송하는 방법이다. 사전화(dictionary) 작업은 입력 데이터와 계속적인 스트링 매칭(string matching)을 수행하여 최대 길이의 매칭 스트링에 매칭안된 문자를 결합하여 사전에 추가하는 과정으로 사전을 업데이트한다.
그러나, 이러한 종래의 압축 방식은 데이터의 압축 및 압축 해제에 대한 처리 연산이 복잡하고 비교적 고사양의 하드웨어적 장치를 필요로 하며, 처리 속도의 향상에 제한이 따르고 압축 결과값에 대한 신뢰성을 높이기 힘든 문제점이 있었다.
한편, 바코드는 영숫자나 특수글자를 기계가 읽을 수 있는 형태로 표현하기 위해 굵기가 다른 수직 막대들의 조합으로 나타내어, 광학적으로 판독이 가능하도록 한 코드로서, 다양한 용도로 사용되는 인식 코드이다. 그런데, 이러한 종래의 바코드는 표현하거나 수록하기 위한 데이터를 데이터 원본 그대로 수록함으로써, 일정 크기의 바코드를 통해 수록할 수 있는 데이터의 양이 한정되어 있고, 표현하고자 하는 데이터의 크기가 커지는 경우에는 바코드의 크기도 함께 커져야 하는 등 바코드 활용 효율이 떨어지는 문제점이 있었다.
본 발명의 배경기술은 대한민국 공개특허공보 제 2003-0022630호(2003. 3. 17 공개)에 개시되어 있다.
본 발명이 이루고자하는 기술적 과제는, 간단한 연산과 하드웨어적 구성을 통해 데이터를 다양한 포맷의 변환 압축데이터로 효과적이고 효율적으로 압축할 수 있고, 변환 압축데이터로부터 데이터를 복원할 수 있도록 하는, 데이터 압축 및 데이터 복원 방법과 장치를 제공하는 데에 있다.
본 발명의 일 측면에 따르면, 본 발명은 압축부가 이진 데이터를 복수의 클러스터 단위로 분할하여 압축하는 압축연산을 적어도 1회 이상 단계적으로 반복실행하여 압축데이터를 생성하는 단계; 변환부가 상기 압축데이터를 미리 약속된 포맷의 변환 압축데이터로 변환하는 단계; 및 출력부가 상기 변환 압축데이터를 출력하는 단계를 포함하는 것을 특징으로 하는, 데이터 압축방법을 제공한다.
본 발명에서, 상기 압축데이터를 생성하는 단계는, i) 상기 압축연산을 적어도 1회 이상 단계적으로 반복실행하는 단계; ii) 상기 각각의 압축연산에 의해 생기는 압축연산데이터가 최상위비트로부터 N개(N은 2상의 자연수)의 1을 포함하는 경우, 상기 압축연산데이터에서 최상위비트로부터 (N-1)개의 1을 분할하는 단계; iii) 상기 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1을 취득하는 단계; 및 iv) 상기 (N-1)개의 1이 분할된 압축연산데이터에 대해 상기 단계 i) 내지 iii)을 반복하는 단계를 포함하는 것을 특징으로 한다.
본 발명에서, 상기 각각의 압축연산은, 이진 데이터를 최하위비트로부터 분할하여 복수의 제너럴 클러스터를 획득하고, 상기 복수의 제너럴 클러스터 중 최상위비트를 포함하는 제 1 제너럴 클러스터가 최초로 캐리다운 이벤트를 일으키도록 해당 제 1 제너럴 클러스터의 최하위비트 자리로부터 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 제 1 제너럴 클러스터에 감산하여 압축 클러스터를 생성하고, 상기 제 1 제너럴 클러스터를 제외한 나머지 제너럴 클러스터에 대해서는 1은 0으로, 0은 1로 변경하는 것에 의해 이루어지되, 상기 제너럴 클러스터는 이진 데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이에 있는 이진수를 포함하는 이진수를 나타내고, 상기 캐리다운 이벤트는 상기 제너럴 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미하는 것을 특징으로 한다.
본 발명에서, 상기 변환 압축데이터로 변환하는 단계는, 상기 각 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1에 근거하여 상기 압축데이터를 상기 미리 약속된 포맷의 변환 압축데이터로 변환하는 것에 의해 수행되는 것을 특징으로 한다.
본 발명에서, 상기 변환부는 복수의 색상을 포함하는 바코드를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하여 바코드요소의 길이를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 바코드요소의 색상과 명도를 결정하는 것을 특징으로 한다.
본 발명에서, 상기 변환부는 클럭신호를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하는 길이만큼 제 1 전압레벨의 클럭을 생성하고, 이어서 상기 압축연산의 횟수에 대응하는 길이만큼 상기 제 1 전압레벨과는 다른 제 2 전압레벨의 클럭을 생성하는 것을 특징으로 한다.
본 발명에서, 상기 변환부는 클럭신호를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하여 클럭의 길이를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 클럭의 극성 및 전압레벨을 결정하는 것을 특징으로 한다.
본 발명의 다른 측면에 따르면, 본 발명은 상기 데이터 압축방법에 의해 출력된 변환 압축데이터를 복원하는 데이터 복원방법으로서, 입력부가 상기 변환 압축데이터를 입력받는 단계; 역변환부가 상기 변환 압축데이터를 상기 압축데이터로 역변환하는 단계; 및 복원부가 상기 압축데이터를 복수의 클러스터 단위로 복원하는 복원연산을 적어도 1회 이상 단계적으로 반복 실행하여 이진 데이터를 복원하는 단계를 포함하는 것을 특징으로 하는, 데이터 복원방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 이진 데이터를 복수의 클러스터 단위로 분할하여 압축하는 압축연산을 적어도 1회 이상 단계적으로 반복실행하여 압축데이터를 생성하는 압축부; 상기 압축데이터를 미리 약속된 포맷의 변환 압축데이터로 변환하는 변환부; 및 상기 변환 압축데이터를 출력하는 출력부를 포함하는 것을 특징으로 하는, 데이터 압축장치를 제공한다.
본 발명에서, 상기 압축데이터의 생성시 상기 압축부는, i) 상기 압축연산을 적어도 1회 이상 단계적으로 반복실행하는 단계; ii) 상기 각각의 압축연산에 의해 생기는 압축연산데이터가 최상위비트로부터 N개(N은 2상의 자연수)의 1을 포함하는 경우, 상기 압축연산데이터에서 최상위비트로부터 (N-1)개의 1을 분할하는 단계; iii) 상기 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1을 취득하는 단계; 및 iv) 상기 (N-1)개의 1이 분할된 압축연산데이터에 대해 상기 단계 i) 내지 iii)을 반복하는 단계를 수행하도록 구성된 것을 특징으로 한다.
본 발명에서, 상기 각각의 압축연산은, 이진 데이터를 최하위비트로부터 분할하여 복수의 제너럴 클러스터를 획득하고, 상기 복수의 제너럴 클러스터 중 최상위비트를 포함하는 제 1 제너럴 클러스터가 최초로 캐리다운 이벤트를 일으키도록 해당 제 1 제너럴 클러스터의 최하위비트 자리로부터 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 제 1 제너럴 클러스터에 감산하여 압축 클러스터를 생성하고, 상기 제 1 제너럴 클러스터를 제외한 나머지 제너럴 클러스터에 대해서는 1은 0으로, 0은 1로 변경하는 것에 의해 이루어지되, 상기 제너럴 클러스터는 이진 데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이에 있는 이진수를 포함하는 이진수를 나타내고, 상기 캐리다운 이벤트는 상기 제너럴 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미하는 것을 특징으로 한다.
본 발명에서, 상기 압축데이터를 상기 변환 압축데이터로 변환함에 있어, 상기 변환부는 상기 각 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1에 근거하여 상기 압축데이터를 상기 미리 약속된 포맷의 변환 압축데이터로 변환하는 것을 특징으로 한다.
본 발명에서, 상기 변환부는 복수의 색상을 포함하는 바코드를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하여 바코드요소의 길이를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 바코드요소의 색상과 명도를 결정하는 것을 특징으로 한다.
본 발명에서, 상기 변환부는 클럭신호를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하는 길이만큼 제 1 전압레벨의 클럭을 생성하고, 이어서 상기 압축연산의 횟수에 대응하는 길이만큼 상기 제 1 전압레벨과는 다른 제 2 전압레벨의 클럭을 생성하는 것을 특징으로 한다.
본 발명에서, 상기 변환부는 클럭신호를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하여 클럭의 길이를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 클럭의 극성 및 전압레벨을 결정하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 상기 데이터 압축장치에 의해 출력된 변환 압축데이터를 복원하는 데이터 복원장치로서, 상기 변환 압축데이터를 입력받는 입력부; 상기 변환 압축데이터를 상기 압축데이터로 역변환하는 역변환부; 및 상기 압축데이터를 복수의 클러스터 단위로 복원하는 복원연산을 적어도 1회 이상 단계적으로 반복 실행하여 이진 데이터를 복원하는 복원부를 포함하는 것을 특징으로 하는, 데이터 복원장치를 제공한다.
본 발명에 따른 데이터 압축 및 데이터 복원 방법과 장치는, 간단한 연산과 하드웨어적 구성을 통해 데이터를 다양한 포맷의 변환 압축데이터로 효과적이고 효율적으로 압축하고 변환 압축데이터로부터 데이터를 복원할 수 있도록 함으로써, 다양한 포맷의 변환 압축데이터를 통해 전달하고자 하는 정보의 양을 증가시킬 수 있고 데이터 압축과 복원의 성능 및 활용도를 증가시킬 수 있다.
도 1은 본 발명에 의한 일 실시예에 따른 데이터 압축장치의 구성을 도시한 것이다.
도 2는 본 발명에 의한 일 실시예에 따른 데이터 복원장치의 구성을 도시한 것이다.
도 3은 본 발명에 의한 일 실시예에 따른 데이터 압축방법을 설명하기 위한 흐름도이다.
도 4는 본 발명에 의한 일 실시예에 따른 데이터 복원방법을 설명하기 위한 흐름도이다.
도 5는 본 실시예에 따라 생성된 변환 압축데이터의 일 실시예로서 바코드의 실시형태를 도시한 것이다.
도 6은 본 실시예에 따라 바코드를 생성할 때 각 색상에 대한 명도 설정방법을 설명하기 위한 예시도이다.
도 7a는 본 실시예에 따라 생성된 변환 압축데이터의 일 실시예로서 클럭신호의 실시형태를 도시한 것이다.
도 7b는 본 실시예에 따라 생성된 변환 압축데이터의 일 실시예로서 클럭신호의 다른 실시형태를 도시한 것이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명에 의한 일 실시예에 따른 데이터 압축장치의 구성을 도시한 것이고, 도 2는 본 발명에 의한 일 실시예에 따른 데이터 복원장치의 구성을 도시한 것으로서, 이를 참조하여 본 발명을 설명하면 다음과 같다.
도 1에 도시된 바와 같이, 본 실시예에 따른 데이터 압축장치(100)는 이진 데이터를 복수의 클러스터 단위로 분할하여 압축하는 압축연산을 적어도 1회 이상 단계적으로 반복실행하여 압축데이터를 생성하는 압축부(110); 상기 압축데이터를 미리 약속된 포맷의 변환 압축데이터로 변환하는 변환부(120); 및 상기 변환 압축데이터를 출력하는 출력부(130)를 포함한다.
상기 압축데이터의 생성시 압축부(110)는, i) 상기 압축연산을 적어도 1회 이상 단계적으로 반복실행하는 단계; ii) 상기 각각의 압축연산에 의해 생기는 압축연산데이터가 최상위비트로부터 N개(N은 2상의 자연수)의 1을 포함하는 경우, 상기 압축연산데이터에서 최상위비트로부터 (N-1)개의 1을 분할하는 단계; iii) 상기 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1을 취득하는 단계; 및 iv) 상기 (N-1)개의 1이 분할된 압축연산데이터에 대해 상기 단계 i) 내지 iii)을 반복하는 단계를 수행하도록 구성된다.
상기 각각의 압축연산은, 이진 데이터를 최하위비트로부터 분할하여 복수의 제너럴 클러스터를 획득하고, 상기 복수의 제너럴 클러스터 중 최상위비트를 포함하는 제 1 제너럴 클러스터가 최초로 캐리다운 이벤트를 일으키도록 해당 제 1 제너럴 클러스터의 최하위비트 자리로부터 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 제 1 제너럴 클러스터에 감산하여 압축 클러스터를 생성하고, 상기 제 1 제너럴 클러스터를 제외한 나머지 제너럴 클러스터에 대해서는 1은 0으로, 0은 1로 변경하는 것에 의해 이루어질 수 있다. 여기서, 제너럴 클러스터는 이진 데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이에 있는 이진수를 포함하는 이진수를 나타내고, 캐리다운 이벤트는 상기 제너럴 클러스터에 대한 뺄셈시 윗자리로부터 숫자를 빌려오는 것을 의미한다.
변환부(120)는 복수의 색상을 포함하는 바코드를 상기 변환 압축데이터로서 생성할 수도 있고, 클럭신호를 상기 변환 압축데이터로서 생성할 수도 있다.
한편, 도 2에 도시된 바와 같이, 본 실시예에 따른 데이터 복원장치(200)는 상기데이터 압축장치(100)에 의해 출력된 변환 압축데이터를 복원하는 데이터 복원장치로서, 상기 변환 압축데이터를 입력받는 입력부(210); 상기 변환 압축데이터를 상기 압축데이터로 역변환하는 역변환부(220); 및 상기 압축데이터를 복수의 클러스터 단위로 복원하는 복원연산을 적어도 1회 이상 단계적으로 반복 실행하여 이진 데이터를 복원하는 복원부(230)를 포함한다.
이와 같이 구성된 본 실시예의 동작 및 작용을 도 1 내지 도 6을 참조하여 구체적으로 설명한다.
도 3은 본 발명에 의한 일 실시예에 따른 데이터 압축방법을 설명하기 위한 흐름도로서, 이를 참조하여 본 실시예에 따른 데이터 압축방법을 설명한다.
먼저, 데이터 압축장치(100)의 압축부(110)는 이진 데이터를 복수의 클러스터 단위로 분할하여 압축하는 압축연산을 적어도 1회 이상 단계적으로 반복실행하여 압축데이터를 생성한다(S301).
이를 좀 더 구체적으로 살펴 보면, 우선 압축부(110)는 이진 데이터를 복수의 클러스터 단위로 분할하여 압축하는 압축연산을 적어도 1회 이상 단계적으로 반복 실행하는데, 각각의 압축연산과정에 대해 먼저 설명한다. 압축부(110)는 이진 데이터를 최하위비트로부터 분할하여 복수의 제너럴 클러스터를 획득한다. 제너럴 클러스터는 이진 데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이의 이진수를 포함하는 이진수를 나타낸다. 물론, 이진 데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 맨 처음 만나는 "10"의 경우 그 이전에 만난 "10"이 없을 것이므로, 이 경우에는 해당 "10" 및 그 전에 있는 이진수를 포함하는 이진수가 제너럴 클러스터가 된다.
이진 데이터 "10111010101"를 예로 들면, 압축부(110)는 이 이진 데이터를 최하위 비트로부터 시작하여 "10"이 나오는 부분을 찾아서 이 "10"을 기준으로 하여 아래와 같이 분할한다.
1011 / 10 / 10 / 101
즉, "10"을 찾아서 각 "10"의 앞부분을 분할하는 바, 그 분할된 각각의 바이너리 클러스터가 제너럴 클러스터가 된다. 다만, 예를 들어 상위비트에 "1101" 등과 같이 "10" 앞에 하나 이상의 "1"이 더 있는 경우에는 "10"의 앞부분에서 분할하여 "1 / 101"로 분할할 수 있다.
이어서, 압축부(110)는 상기 복수의 제너럴 클러스터 중 최상위비트를 포함하는 제너럴 클러스터가 최초로 캐리다운 이벤트를 일으키도록 해당 제너럴 클러스터의 최하위비트 자리로부터 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 해당 제너럴 클러스터에 감산하여 압축 클러스터를 생성한다. 그리고, 압축부(110)는 상기 최상위비를 포함하는 제너럴 클러스터를 제외한 나머지 제너럴 클러스터에 대해서는 1은 0으로, 0은 1로 변경한다.
여기서, "캐리다운 이벤트"란 복수의 자리(비트수)로 이루어진 제 1 이진수에서 다른 제 2 이진수를 뺄 때, 상기 제 1 이진수의 어떤 자리에서의 뺄셈을 위하여 그 윗자리로부터 숫자를 빌려오면서 자리내림 현상이 발생하는 것을 의미한다. 예를 들어, 이진수 101에서 이진수 1을 빼면 그 결과는 100이 되는데, 이 경우 뺄셈 후의 100은 뺄셈 전의 101과 비교하여 자리내림 현상이 발생하지 않는다. 즉, 뺄셈을 위하여 윗자리로부터 숫자를 빌려오는 현상인 캐리다운 이벤트가 발생하지 않는다. 반면, 이진수 101에서 이진수 11을 빼면 그 결과는 10이 되는데, 이 경우 뺄셈 후의 10은 뺄셈 전의 101과 비교하여 자리내림 현상이 발생한 것이다. 즉, 2번째자리에서의 뺄셈을 위하여 그 윗자리인 세번째자리로부터 숫자 1을 빌려와서 2번째자리에서의 뺄셈을 수행하는 "캐리다운 이벤트"가 발생하며, 이를 통해 101로부터 자리내림하여 10이라는 결과가 얻어진다.
상기 실시예 "10111010101"의 경우, 최상위 비트를 포함하고 있는 제너럴 클러스터인 "1011"에 대해서는 이 제너럴 클러스터가 최초로 캐리다운 이벤트를 일으키도록 하는 이진수인 "111"을 감산하여 압축 클러스터인 "100"을 생성한다. 그리고, 나머지 제너럴 클러스터인 "10 / 10 / 101"에 대해서는 1은 0으로, 0은 1로 각각 변경하여 "0101010"으로 변경한다. 따라서, 이러한 압축연산의 1회 시행결과 이진 데이터 "10111010101"로부터 "1000101010"이라는 압축연산데이터가 얻어진다.
압축부(110)는 이렇게 얻어진 압축연산데이터에 대하여 상술한 압축연산을 단계적으로 반복 실행하면서 데이터를 압축시키되, 압축연산데이터의 최상위비트로부터 N개(N은 2상의 자연수)의 1이 나타날 때까지 상기 압축연산을 수행한다. 즉, 상기 실시예 "10111010101"의 경우 다음 표 1과 같은 압축연산데이터가 단계적으로 생성된다. 물론, 후술하는 바와 같이 1비트 크기의 최종 압축연산데이터로 "1"이 생성될 경우에는 더 이상 압축연산을 수행하지 않는다.
이진 데이터 압축연산 횟수
10111010101
1000101010 1
111010101 2
압축부(110)는 압축연산의 단계적인 반복 수행 결과 상기와 같이 압축연산데이터의 최상위비트로부터 N개(N은 2상의 자연수)의 1이 나타날 경우, 상기 압축연산데이터에서 최상위비트로부터 (N-1)개의 1을 분할하여 취득하고, 그 이전에 수행된 상기 압축연산의 횟수도 취득한다. 상기 표 1의 실시예의 경우 압축연산 2회 실시 후 생성된 압축연산데이터에서 최상위비트의 "11"을 분할하여 취득하고, 이와 함께 그 이전에 실시된 압축연산 횟수인 "2"도 함께 취득한다.
이어서, 압축부(110)는 최상위비트의 (N-1)개의 1이 제거된 압축연산데이터에 대하여 상술한 바와 같은 압축연산을 단계적으로 반복 수행하여, 최종적으로 1비트 크기의 압축연산데이터가 생성될 때까지 상술한 과정을 반복한다. 즉, 상기 실시예의 경우 다음 표 2와 같은 압축연산의 반복 수행에 의해 압축연산데이터가 단계적으로 생성된다.
이진 데이터 압축연산 횟수
11---------------------1010101
101010 1
10101 2
1010 3
101 4
10 5
1 6
결과적으로, 상술한 실시예인 "10111010101"의 경우, 먼저 단계적인 압축연산의 시행결과 압축연산 횟수 "2"라는 데이터와 최상위비트 "11"이라는 데이터가 1차적으로 얻어지고, 이후 다시 단계적인 압축연산이 시행되어 압축연산 횟수 "6"이라는 데이터와 마지막 압축연산데이터의 최상위비트 "1"이라는 데이터가 2차적으로 얻어진다.
참고로, 상기 표 2에서 압축연산 횟수는 0에서 시작할 수도 있으며, 이것은 후술하는 바코드의 색상 단계나 전압 레벨 등의 단계를 상징할 수 있다. 예를 들면 0~5도 6단계이고 1~6도 6단계이다. 즉, 연산횟수의 시작점과 끝점 사이의 간격이 상대적으로 동일하게 나타나기만 하면 된다.
다음으로, 변환부(120)는 상기 단계(S301)에 의해 생성되는 압축데이터를 미리 약속된 포맷의 변환 압축데이터로 변환한다(S302). 여기서, 압축부(110)로부터 제공되는 상기 압축데이터는 최상위비트의 (N-1)개의 1을 분할할 때마다 각 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1에 관한 정보를 포함하여 구성된다. 변환부(120)는 상기 각 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 N-1개의 1에 관한 정보에 근거하여 상기 압축데이터를 미리 약속된 포맷의 변환 압축데이터로 변환한다.
이 때, 변환부(120)는 복수의 색상을 포함하는 바코드를 상기 변환 압축데이터로서 생성할 수 있다. 즉, 변환부(120)는 상기 (N-1)개의 1에 대응하여 바코드요소의 길이(또는 폭)를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 바코드요소의 색상과 명도를 결정하여, 이를 반영한 바코드를 생성할 수 있다.
도 5는 본 실시예에 따라 생성된 변환 압축데이터의 일 실시예로서 바코드의 실시형태를 도시한 것이다. 상기 표 1 및 표 2에 따른 압축데이터의 경우, 1차적인 일련의 압축과정을 거쳐 얻어진 압축연산 횟수 "2"와 최상위비트 "11"을 비롯하여, 2차적인 일련의 압축과정을 거쳐 얻어진 압축연산 횟수 "6"과 최상위비트 "1"이라는 데이터는 도 5에 도시된 바와 같은 바코드로 변환될 수 있다. 즉, 1차적인 일련의 압축과정과 관련하여서는 최상위비트 "11"의 1의 갯수에 대응하는 2단위 길이(폭) 및 압축연산 횟수 "2"에 대응하는 2단계 명도의 흑색(가장 어두운 기준 흑색으로부터 2단계 밝은 명도의 색)을 채용하고, 2차적인 일련의 압축과정과 관련하여 최상위비트 "1"의 1의 갯수에 대응하는 1단위 길이(폭) 및 압축연산 횟수 "6"에 대응하는 6단계 명도의 백색(가장 밝은 기준 백색으로부터 6단계 어두운 명도의 색)을 채용함으로써, 변환부(120)는 도 5에 도시된 바와 같은 바코드를 생성할 수 있다. 이 때 바코드 생성시 선택하는 색상의 순서는 도 5와 같이 흑-백-흑-백-...의 순으로 할 수도 있지만 백-흑-백-흑-...의 순으로 할 수도 있다.
도 6은 본 실시예에 따라 바코드를 생성할 때 각 색상에 대한 명도 설정방법을 설명하기 위한 예시도로서, 변환부(120)는 각 색상에 대한 명도 결정시 취득된 단계 정보에 대응하는 색을 도 6과 같은 색상으로 선택할 수 있다. 물론, 본 실시예에서 제시된 흑, 백 이라는 색상 외에도 다른 다양한 색상에 대하여 각각 명도를 결정하여 바코드를 생성하는 것도 가능하다.
또한, 변환부(120)는 클럭신호를 상기 변환 압축데이터로서 생성할 수도 있다. 즉, 변환부(120)는 상기 (N-1)개의 1에 대응하여 클럭의 길이를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 클럭의 극성 및 전압레벨을 결정하여, 이를 반영한 클럭신호를 생성할 수도 있다.
도 7a는 본 실시예에 따라 생성된 변환 압축데이터의 일 실시예로서 클럭신호의 실시형태를 도시한 것이다. 상기 표 1 및 표 2에 따른 압축데이터의 경우, 1차적인 일련의 압축과정을 거쳐 얻어진 압축연산 횟수 "2"와 최상위비트 "11"를 비롯하여, 2차적인 일련의 압축과정을 거쳐 얻어진 압축연산 횟수 "6"과 최상위비트 "1"이라는 데이터는 도 7a에 도시된 바와 같은 클럭신호로 변환될 수 있다. 즉, 1차적인 일련의 압축과정과 관련하여서는 최상위비트 "11"의 1의 갯수에 대응하는 2단위 길이(시간) 및 압축연산 횟수 "2"에 대응하는 2단계 (+)전압레벨의 클럭을 채용하고, 2차적인 일련의 압축과정과 관련하여 최상위비트 "1"의 1의 갯수에 대응하는 1단위 길이(시간) 및 압축연산 횟수 "6"에 대응하는 6단계 (-)전압레벨의 클럭을 채용함으로써, 변환부(120)는 도 7a에 도시된 바와 같은 클럭신호를 생성할 수 있다. 이 때 클럭신호 생성시 선택하는 극성의 순서는 도 7a와 같이 (+)(-)(+)(-)...의 순으로 할 수도 있지만 (-)(+)(-)(+)...의 순으로 할 수도 있다.
또한, 상기 표 1 및 표 2에 따른 결과 데이터를 도 7b에 도시된 바와 같은 클럭신호로 변환할 수도 있다. 도 7b는 본 실시예에 따라 생성된 변환 압축데이터의 일 실시예로서 클럭신호의 다른 실시형태를 도시한 것이다. 즉, 최상위비트 "11", "1"에 대해서는 제 1 전압레벨(예를 들어 +1레벨, -1레벨, 0레벨 등)의 클럭을 1의 갯수에 대응하는 길이(시간)만큼 생성하고, 압축연산 횟수 "2", "6"에 대해서는 상기 제 1전압레벨과는 다른 제 2 전압레벨(예를 들어 0레벨, +1레벨, -1레벨 등)의 클럭을 상기 압축연산 횟수에 대응하는 길이(시간)만큼 생성할 수 있다. 예를 들면, 도 7b에 도시된 바와 같이, 1차적인 일련의 압축과정과 관련하여서는 최상위비트 "11"의 1의 갯수에 대응하는 2단위 길이(시간)만큼 +1레벨(제 1전압레벨)의 클럭을 생성하고 압축연산 횟수 "2"에 대응하는 2단위 길이(시간)만큼 0레벨(제 2전압레벨)의 클럭을 생성하며; 2차적인 일련의 압축과정과 관련하여 최상위비트 "1"의 1의 갯수에 대응하는 1단위 길이(시간)만큼 +1레벨(제 1전압레벨)의 클럭을 생성하고 압축연산 횟수 "6"에 대응하는 6단위 길이(시간)만큼 0레벨(제 2전압레벨)의 클럭을 생성할 수 있다. 물론, 이 때 상기 제 1 및 제 2 전압레벨은 설계자의 선택에 따라 임의로 선택될 수 있다.
마지막으로, 출력부(130)는 상기 변환 압축데이터를 출력한다(S130). 즉, 출력부(130)는 변환부(120)에 의해 생성된 바코드 정보 또는 클럭신호 정보를 이용하여 실제 바코드를 출력한다거나 전기적 클럭신호를 출력하는 등으로 변환 압축데이터를 출력한다.
이와 같이 본 실시예에 따르면, 간단한 연산과 하드웨어적 구성을 통해 이진 데이터를 효과적이고 효율적으로 압축함으로써, 출력 또는 전송하고자 하는 정보의 양을 증가시켜 압축 성능이나 활용도를 증가시킬 수 있다
도 4는 본 발명에 의한 일 실시예에 따른 데이터 복원방법을 설명하기 위한 흐름도로서, 이를 참조하여 본 실시예에 따른 데이터 복원방법을 설명하면 다음과 같다.
먼저, 데이터 복원장치(200)의 입력부(210)는 상기 데이터 압축장치(100)에 의해 생성된 변환 압축데이터를 입력받는다(S401). 이 입력부(210)는 변환 압축데이터를 입력받아 이에 관한 데이터를 취득하여 역변환부(220)로 제공하는 수단으로서, 상기 변환 압축데이터로서 예를 들어 도 5의 바코드가 제공되는 경우에는 이를 판독하여 그 판독정보를 제공할 수 있고, 상기 변환 압축데이터로서 예를 들어 도 7a 또는 7b의 클럭신호가 수신되는 경우에는 이를 검출하여 그 검출 정보를 제공한다.
이어서, 역변환부(220)는 상기 검출(또는 판독)된 변환 압축데이터를 압축데이터로 역변환한다(S402). 역변환부(220)는 상술한 미리 약속된 포맷의 변환 압축데이터(예를 들어, 바코드 데이터, 클럭신호 데이터...)를 역변환하여, 상기 데이터 압축방법에서의 각 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 N-1개의 1에 관한 정보를 상기 압축데이터로서 생성한다. 즉, 역변환부(220)는 최상위비트의 (N-1)개의 1을 분할할 때마다 각 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1에 관한 정보를 포함하여 구성되어 있는 압축 데이터를 생성한다.
이 때, 입력부(210)로부터 제공된 정보가 바코드 정보인 경우에는, 역변환부(220)는 바코드요소의 길이(또는 폭)에 대응하여 (N-1)개의 1을 추출하고, 상기 바코드요소의 색상과 명도에 대응하여 상기 압축연산의 횟수, 즉 복원연산을 수행해야 하는 횟수를 추출하며, 그 과정은 상술한 데이터 압축방법에서와 반대 과정을 거쳐서 이루어진다. 또한, 입력부(210)로부터 제공된 정보가 클럭신호 정보인 경우에는, 역변환부(220)는 클럭신호의 길이(또는 시간)에 대응하여 (N-1)개의 1을 추출하고, 상기 클럭신호의 극성과 전압레벨에 대응하여 상기 압축연산의 횟수, 즉 복원연산을 수행해야 하는 횟수를 추출하며, 그 과정은 상술한 데이터 압축방법에서와 반대 과정을 거쳐서 이루어진다.
예를 들어, 도 5의 바코드정보 또는 도 7a, 7b의 클럭신호 정보에 근거하여 역변환을 수행할 경우, 역변환부(220)는 1차적인 일련의 압축과정을 거쳐 얻어진 압축연산 횟수 "2"(즉, 복원시 2차적으로 실시될 일련의 복원연산의 횟수)와 최상위비트 "11"을 비롯하여, 2차적인 일련의 압축과정을 거쳐 얻어진 압축연산 횟수 "6"(즉, 복원시 1차적으로 실시될 일련의 복원연산의 횟수)과 최상위비트 "1"이라는 데이터를 추출할 수 있다.
다음으로, 복원부(230)는 상기 압축데이터를 복수의 클러스터 단위로 복원하는 복원연산을 적어도 1회 이상 단계적으로 반복 실행하여 이진 데이터를 복원한다(S403).
이를 좀 더 구체적으로 살펴 보면, 우선 복원부(230)는 상기 추출된 압축연산 횟수에 관한 정보와 최상위비트의 (N-1)개의 1에 관한 정보를 이용하여, 상기 데이터 압축방법에서와는 반대의 과정을 거쳐 이진데이터를 복원한다. 이 때, 복원부(230)는 각 단계에서의 압축연산데이터의 최상위 비트의 1에 대해서는 캐리업연산을 일으키도록 하는 이진수를 가산하여 수행한다.
"캐리업 이벤트"란 복수의 자리(비트수)로 이루어진 제 1 이진수에 다른 제 2 이진수를 가산할 때, 상기 제 1 이진수의 어떤 자리에서의 덧셈 결과 그 자리에서 숫자가 넘쳐서 그 윗자리로의 자리올림 현상이 발생하는 것을 의미한다. 예를 들어, 이진수 100에서 이진수 1을 더하면 그 결과는 101이 되는데, 이 경우 덧셈 후의 101은 덧셈 전의 100과 비교하여 자리올림 현상이 발생하지 않는다. 즉, 덧셈을 위하여 윗자리로 숫자를 올려주는 현상인 캐리업 이벤트가 발생하지 않는다. 반면, 이진수 10에 이진수 11을 더하면 그 결과는 101이 되는데, 이 경우 덧셈 후의 101은 덧셈 전의 10과 비교하여 자리올림 현상, 즉 캐리업 이벤트가 발생한 것이다. 이를 통해 10로부터 자리올림하여 101이라는 결과가 얻어진다.
상기 표 1 및 표 2에서 압축된 데이터를 예를 들어 설명하면 다음 표 3 및 표4와 같이 데이터가 복원된다.
이진 데이터 복원연산 횟수
1
10 1
101 2
1010 3
10101 4
101010 5
1010101 6
즉, 복원부(230)는 복원연산 횟수"6"이라는 데이터를 이용하여 이진 데이터 1로부터 시작하여 6단계에 걸친 복원연산을 수행하여 표 3에서와 같이 "1010101"이라는 데이터를 생성한다. 그리고, 복원부(240)는 상기 추출된 최상위비트 "11"이라는 데이터와 복원연산 횟수 "2"라는 데이터를 이용하여 2차적인 일련의 복원연산을 표 4와 같이 수행한다.
이진 데이터 복원연산 횟수
111010101
1000101010 1
10111010101 2
복원부(230)는 표 4에 나타난 바와 같이 "1010101"에 상기 추출된 최상위비트 "11"을 추가하여 "111010101"이라는 데이터를 얻은 다음, 복원연산을 2회 실시하여 최종적으로 "10111010101"이라는 원본 데이터를 복원한다.
이상 살펴 본 바와 같이, 본 실시예에 따른 데이터 압축 및 데이터 복원 방법과 장치는, 간단한 연산과 하드웨어적 구성을 통해 데이터를 다양한 포맷의 변환 압축데이터로 효과적이고 효율적으로 압축하고 변환 압축데이터로부터 데이터를 복원할 수 있도록 함으로써, 다양한 포맷의 변환 압축데이터를 통해 전달하고자 하는 정보의 양을 증가시킬 수 있고 데이터 압축 및 복원의 활용도를 증가시킬 수 있다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100 : 데이터 압축장치
110 : 압축부 120 : 변환부
130 : 출력부
200 : 데이터 복원장치
210 : 입력부 220 : 역변환부
230 : 복원부

Claims (16)

  1. 압축부가 이진 데이터를 복수의 클러스터 단위로 분할하여 압축하는 압축연산을 적어도 1회 이상 반복실행하여 압축데이터를 생성하는 단계;
    변환부가 상기 압축데이터를 미리 약속된 포맷의 변환 압축데이터로 변환하는 단계; 및
    출력부가 상기 변환 압축데이터를 출력하는 단계를 포함하되,
    상기 압축데이터를 생성하는 단계는,
    i) 상기 압축연산을 적어도 1회 이상 반복실행하는 단계;
    ii) 상기 각각의 압축연산에 의해 생기는 압축연산데이터가 최상위비트로부터 N개(N은 2상의 자연수)의 1을 포함하는 경우, 상기 압축연산데이터에서 최상위비트로부터 (N-1)개의 1을 분할하는 단계;
    iii) 상기 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1을 취득하는 단계; 및
    iv) 상기 (N-1)개의 1이 분할된 압축연산데이터에 대해 상기 단계 i) 내지 iii)을 반복하는 단계를 포함하는 것을 특징으로 하는, 데이터 압축방법.
  2. 삭제
  3. 제 1항에 있어서,
    상기 각각의 압축연산은, 분할 전의 이진 데이터를 최하위비트로부터 분할하여 복수의 제너럴 클러스터를 획득하고, 상기 복수의 제너럴 클러스터 중 최상위비트를 포함하는 제 1 제너럴 클러스터가 최초로 캐리다운 이벤트를 일으키도록 하는 이진수 중 해당 제 1 제너럴 클러스터의 최하위비트 자리로부터 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 제 1 제너럴 클러스터에 감산하여 압축 클러스터를 생성하고, 상기 제 1 제너럴 클러스터를 제외한 나머지 제너럴 클러스터에 대해서는 1은 0으로, 0은 1로 변경하는 것에 의해 이루어지되,
    상기 제너럴 클러스터는 이진 데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이에 있는 이진수를 포함하는 이진수를 나타내고,
    상기 캐리다운 이벤트는 상기 제 1 제너럴 클러스터에 대한 감산시 윗자리로부터 숫자를 빌려오는 것을 의미하는 것을 특징으로 하는, 데이터 압축방법.
  4. 제 1항에 있어서,
    상기 변환 압축데이터로 변환하는 단계는,
    상기 각 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1에 근거하여 상기 압축데이터를 상기 미리 약속된 포맷의 변환 압축데이터로 변환하는 것에 의해 수행되는 것을 특징으로 하는, 데이터 압축방법.
  5. 제 4항에 있어서,
    상기 변환부는 복수의 색상을 포함하는 바코드를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하여 바코드요소의 길이를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 바코드요소의 색상과 명도를 결정하며,
    상기 바코드요소는 상기 바코드를 구성하는 막대기호를 나타내는 것을 특징으로 하는, 데이터 압축방법.
  6. 제 4항에 있어서,
    상기 변환부는 클럭신호를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하여 클럭의 길이를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 클럭의 극성 및 전압레벨을 결정하는 것을 특징으로 하는, 데이터 압축방법.
  7. 제 4항에 있어서,
    상기 변환부는 클럭신호를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하는 길이만큼 제 1 전압레벨의 클럭을 생성하고, 이어서 상기 압축연산의 횟수에 대응하는 길이만큼 상기 제 1 전압레벨과는 다른 제 2 전압레벨의 클럭을 생성하는 것을 특징으로 하는, 데이터 압축방법.
  8. 제 1항 및 제 3항 내지 제 7항 중 어느 한 항에 기재된 데이터 압축방법에 의해 출력된 변환 압축데이터를 복원하는 데이터 복원방법으로서,
    입력부가 상기 변환 압축데이터를 입력받는 단계;
    역변환부가 상기 변환 압축데이터를 상기 압축데이터로 역변환하는 단계; 및
    복원부가 상기 압축데이터를 복수의 클러스터 단위로 복원하는 복원연산을 적어도 1회 이상 반복 실행하여 이진 데이터를 복원하는 단계를 포함하는 것을 특징으로 하는, 데이터 복원방법.
  9. 이진 데이터를 복수의 클러스터 단위로 분할하여 압축하는 압축연산을 적어도 1회 이상 반복실행하여 압축데이터를 생성하는 압축부;
    상기 압축데이터를 미리 약속된 포맷의 변환 압축데이터로 변환하는 변환부; 및
    상기 변환 압축데이터를 출력하는 출력부를 포함하되,
    상기 압축데이터의 생성시 상기 압축부는,
    i) 상기 압축연산을 적어도 1회 이상 반복실행하는 단계;
    ii) 상기 각각의 압축연산에 의해 생기는 압축연산데이터가 최상위비트로부터 N개(N은 2상의 자연수)의 1을 포함하는 경우, 상기 압축연산데이터에서 최상위비트로부터 (N-1)개의 1을 분할하는 단계;
    iii) 상기 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1을 취득하는 단계; 및
    iv) 상기 (N-1)개의 1이 분할된 압축연산데이터에 대해 상기 단계 i) 내지 iii)을 반복하는 단계를 수행하도록 구성된 것을 특징으로 하는, 데이터 압축장치.
  10. 삭제
  11. 제 9항에 있어서,
    상기 각각의 압축연산은, 분할 전의 이진 데이터를 최하위비트로부터 분할하여 복수의 제너럴 클러스터를 획득하고, 상기 복수의 제너럴 클러스터 중 최상위비트를 포함하는 제 1 제너럴 클러스터가 최초로 캐리다운 이벤트를 일으키도록 하는 이진수 중 해당 제 1 제너럴 클러스터의 최하위비트 자리로부터 상위비트 방향으로 최소 개수의 1로만 이루어진 이진수를 상기 제 1 제너럴 클러스터에 감산하여 압축 클러스터를 생성하고, 상기 제 1 제너럴 클러스터를 제외한 나머지 제너럴 클러스터에 대해서는 1은 0으로, 0은 1로 변경하는 것에 의해 이루어지되,
    상기 제너럴 클러스터는 이진 데이터의 최하위비트로부터 상위비트 방향으로 이동하면서 만나는 "10", 및 상기 "10"과 그 직전에 만난 "10" 사이에 있는 이진수를 포함하는 이진수를 나타내고,
    상기 캐리다운 이벤트는 상기 제 1 제너럴 클러스터에 대한 감산시 윗자리로부터 숫자를 빌려오는 것을 의미하는 것을 특징으로 하는, 데이터 압축장치.
  12. 제 9항에 있어서,
    상기 압축데이터를 상기 변환 압축데이터로 변환함에 있어, 상기 변환부는 상기 각 분할단계 전에 수행된 상기 압축연산의 횟수 및 상기 (N-1)개의 1에 근거하여 상기 압축데이터를 상기 미리 약속된 포맷의 변환 압축데이터로 변환하는 것을 특징으로 하는, 데이터 압축장치.
  13. 제 12항에 있어서,
    상기 변환부는 복수의 색상을 포함하는 바코드를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하여 바코드요소의 길이를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 바코드요소의 색상과 명도를 결정하며,
    상기 바코드요소는 상기 바코드를 구성하는 막대기호를 나타내는 것을 특징으로 하는, 데이터 압축장치.
  14. 제 12항에 있어서,
    상기 변환부는 클럭신호를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하여 클럭의 길이를 결정하고, 상기 압축연산의 횟수에 대응하여 상기 클럭의 극성 및 전압레벨을 결정하는 것을 특징으로 하는, 데이터 압축장치.
  15. 제 12항에 있어서,
    상기 변환부는 클럭신호를 상기 변환 압축데이터로서 생성하되, 상기 (N-1)개의 1에 대응하는 길이만큼 제 1 전압레벨의 클럭을 생성하고, 이어서 상기 압축연산의 횟수에 대응하는 길이만큼 상기 제 1 전압레벨과는 다른 제 2 전압레벨의 클럭을 생성하는 것을 특징으로 하는, 데이터 압축장치.
  16. 제 9항 및 제 11항 내지 제 15항 중 어느 한 항에 기재된 데이터 압축장치에 의해 출력된 변환 압축데이터를 복원하는 데이터 복원장치로서,
    상기 변환 압축데이터를 입력받는 입력부;
    상기 변환 압축데이터를 상기 압축데이터로 역변환하는 역변환부; 및
    상기 압축데이터를 복수의 클러스터 단위로 복원하는 복원연산을 적어도 1회 이상 반복 실행하여 이진 데이터를 복원하는 복원부를 포함하는 것을 특징으로 하는, 데이터 복원장치.

KR1020130138593A 2013-11-14 2013-11-14 데이터 압축 및 데이터 복원 방법과 장치 KR101573983B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130138593A KR101573983B1 (ko) 2013-11-14 2013-11-14 데이터 압축 및 데이터 복원 방법과 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130138593A KR101573983B1 (ko) 2013-11-14 2013-11-14 데이터 압축 및 데이터 복원 방법과 장치

Publications (2)

Publication Number Publication Date
KR20150055965A KR20150055965A (ko) 2015-05-22
KR101573983B1 true KR101573983B1 (ko) 2015-12-02

Family

ID=53391408

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130138593A KR101573983B1 (ko) 2013-11-14 2013-11-14 데이터 압축 및 데이터 복원 방법과 장치

Country Status (1)

Country Link
KR (1) KR101573983B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101676420B1 (ko) * 2015-07-01 2016-11-15 김정훈 데이터의 압축 및 복원 방법과 장치

Also Published As

Publication number Publication date
KR20150055965A (ko) 2015-05-22

Similar Documents

Publication Publication Date Title
RU2682009C2 (ru) Способ и устройство для кодирования и декодирования исходных данных с использованием сжатия символов
US10499086B2 (en) Video data encoding and decoding methods and apparatuses
CN101795407B (zh) 用于对比特序列进行编码的方法和设备
WO2021031877A1 (zh) 图像编解码的方法、装置和芯片
JP5913748B2 (ja) セキュアで損失のないデータ圧縮
KR100647192B1 (ko) 데이터의 복원 시간을 단축하는 데이터 압축 장치 및 그방법
KR101023536B1 (ko) 데이터 무손실 압축 방법
KR101573983B1 (ko) 데이터 압축 및 데이터 복원 방법과 장치
KR101575939B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
KR101587944B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
KR20160100496A (ko) 바이너리 클러스터를 이용한 허프만 부호화 효율화 방법 및 그 장치
CN104682966A (zh) 列表数据的无损压缩方法
KR101590790B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
KR101549740B1 (ko) 이진 데이터의 압축 및 압축해제 방법과 장치
KR101541869B1 (ko) 가변길이코딩을 이용한 인코딩 방법, 디코딩 방법, 및 그 시스템
KR100462789B1 (ko) 이진 산술 부호화를 이용한 다중 부호 데이터 압축 방법및 장치
KR101676421B1 (ko) 데이터의 압축 및 복원 방법과 장치
JPH0723238A (ja) 画像データ圧縮及び復元装置
KR101603866B1 (ko) 데이터 압축 및 데이터 복원 방법과 장치
KR101676420B1 (ko) 데이터의 압축 및 복원 방법과 장치
KR101632116B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
Reddy et al. LosslessGrayscaleImage Compression Using Intra Pixel Redundancy
KR102109768B1 (ko) Uhd 영상의 고속 처리를 위한 cabac 이진 산술 부호화기
KR101760070B1 (ko) 데이터 부호화 및 복호화 방법과 장치
JPH03209923A (ja) データ圧縮方式

Legal Events

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

Payment date: 20181126

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20191127

Year of fee payment: 5

R401 Registration of restoration