KR20120103654A - 데이터 압축/해제장치 및 방법 - Google Patents

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

Info

Publication number
KR20120103654A
KR20120103654A KR1020127015998A KR20127015998A KR20120103654A KR 20120103654 A KR20120103654 A KR 20120103654A KR 1020127015998 A KR1020127015998 A KR 1020127015998A KR 20127015998 A KR20127015998 A KR 20127015998A KR 20120103654 A KR20120103654 A KR 20120103654A
Authority
KR
South Korea
Prior art keywords
value
information
information bit
bit
binary
Prior art date
Application number
KR1020127015998A
Other languages
English (en)
Other versions
KR101367811B1 (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 고려대학교 산학협력단
Publication of KR20120103654A publication Critical patent/KR20120103654A/ko
Application granted granted Critical
Publication of KR101367811B1 publication Critical patent/KR101367811B1/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
    • 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

본 발명은 데이터를 압축하거나 압축된 데이터를 복원하는 데이터 처리장치 및 방법에 관한 것이다.
이를 위해 압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 m(≥1) 개의 은닉 정보 비트를 추가로 선택한다. 그리고 상기 추가로 선택한 m(≥1)개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환한다.

Description

데이터 압축/해제장치 및 방법{DATA COMPRESSION/DECOMPRESSION DEVICE AND METHOD}
본 발명은 데이터 처리장치 및 방법에 관한 것으로, 특히 데이터를 압축하거나 압축된 데이터를 복원하는 장치 및 방법에 관한 것이다.
일반적으로 데이터를 처리하는 전자 장비에서는 데이터의 량을 줄이기 위해 다양한 압축 기술 및 압축 해제 (이하 "복원"이라 칭함) 기술이 적용되거나 제안되고 있다. 이와 같이 데이터의 량을 줄이기 위한 시도는 데이터를 기록하기 위한 기록 매체의 용량을 효율적으로 사용하기 위한 측면과, 전달의 용이성을 제공하기 위한 측면 등을 기반으로 한다.
통상적으로 최고 수준으로 데이터를 압축하는 방법들은 아주 복잡한 데이터 처리 장치가 필요할 뿐만 아니라 흔히 처리 속도가 느리다. 이에 반하여 낮은 수준으로 데이터를 압축하는 방법들은 처리 속도가 빠를 뿐만 아니라 상대적으로 하드웨어가 복잡하지 않다.
따라서 종래에는 하드웨어의 복잡성이나 처리 시간을 고려하여 원하는 수준의 품질을 얻기 위한 데이터 압축 기법을 선택하여 사용하였다. 하지만 향후에는 하드웨어의 복잡도와 처리 시간을 줄이면서도 높은 수준의 품질을 얻을 수 있는 압축 기법 및 이에 상응하는 복원 기법의 마련이 시급하다 할 것이다.
본 발명은 가역 정보 은닉을 이용하여 바이너리 데이터를 무손실 압축하는 장치 및 방법을 제공한다.
또한 본 발명은 가역 정보 은닉을 이용하여 무손실 압축된 데이터에 대한 압축을 해제하는 장치 및 방법을 제공한다.
또한 본 발명은 압축을 위한 이진 문자열에서 확률이 가장 높은 값에 소정 비트의 이진 문자를 은닉하는 압축 장치 및 방법과 이에 상응하는 압축 해제장치 및 방법을 제공한다.
본 발명의 일 실시 예에 따라 데이터를 압축하기 위한 장치는, 압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 추가로 선택한 m(≥1) 개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환하는 정보 은닉부와, 상기 정보 은닉부로부터 출력되는 2m+1 진 정보 심볼 열을 부호화하여 출력하는 부호화부를 포함한다.
본 발명의 일 실시 예에 따라 데이터를 압축하기 위한 방법은, 압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 추가로 선택한 m(≥1) 개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환하는 과정을 포함한다.
본 발명의 다른 실시 예에 따라 데이터를 압축하기 위한 장치는, 길이가 n인 피 은닉 정보 비트 열과 길이가 k인 은닉 정보 비트 열을 입력으로 하고, 상기 피 은닉 정보 비트 열의 각 비트 중 결정 값에 해당하는 비트의 값을 상기 은닉 정보 비트 열로부터 순차적으로 추출한 m(≥1) 개의 비트들에 상응하는 2m진 값으로 치환하는 정보 은닉부와, 상기 정보 은닉부로부터 출력되는 2m+1 진 정보 심볼 열을 부호화하여 출력하는 부호화부를 포함한다.
본 발명의 다른 실시 예에 따라 데이터를 압축하기 위한 방법은, 길이가 n인 피 은닉 정보 비트 열과 길이가 k인 은닉 정보 비트 열을 입력으로 하고, 상기 피 은닉 정보 비트 열의 각 비트 중 결정 값에 해당하는 비트의 값을 상기 은닉 정보 비트 열로부터 순차적으로 추출한 m(≥1)개의 비트들에 상응하는 2m 진 값으로 치환하는 과정을 포함한다.
본 발명의 다른 실시 예에 따라 데이터를 압축하기 위한 방법은, 압축을 위한 2진 정보 비트 열로부터 1비트의 피 은닉 정보 비트를 선택하고, 상기 선택한 피 은닉 정보 비트의 값이 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 결정 값인지를 판단하는 과정과, 상기 선택한 피 은닉 정보 비트의 값이 상기 결정 값이 아닌 경우, 상기 선택한 피 은닉 정보 비트 값을 2m으로 치환하는 과정과, 상기 선택한 피 은닉 정보 비트의 값이 상기 결정 값인 경우, 상기 2진 정보 비트 열에서 상기 선택한 피 은닉 정보 비트 값의 다음 비트를 포함하여 연속하는 m개의 비트들에 상응하는 2m진 값에 의해 상기 피 은닉 정보 비트의 값을 치환하는 과정을 포함한다.
본 발명의 실시 예에 따라 압축 데이터를 복원하기 위한 장치는, 부호화된 정보 심볼 열을 복호하는 복화화부와, 상기 복호화된 정보 심볼 열로부터 순차적으로 선택되는 2m+1 진의 복원 정보 심볼의 값이 결정 값인 경우 상기 선택한 복원 정보 심볼의 값을 상기 결정 값에 상응하는 2진 정보 비트 값으로 복원하고, 상기 선택한 복원 정보 심볼의 값이 상기 결정 값이 아닌 경우 상기 선택한 복원 정보 심볼의 값에 상응하는 길이가 m+1인 2진 정보 비트 값으로 복원하는 정보 복원부를 포함한다.
본 발명의 실시 예에 따라 압축 데이터를 복원하기 위한 방법은, 정보 심볼 열로부터 순차적으로 선택되는 2m+1 진의 복원 정보 심볼의 값이 결정 값인 경우, 상기 선택한 복원 정보 심볼의 값을 상기 결정 값에 상응하는 2진 정보 비트 값으로 복원하는 과정과, 상기 선택한 복원 정보 심볼의 값이 상기 결정 값이 아닌 경우, 상기 선택한 복원 정보 심볼의 값에 상응하는 길이가 m+1인 2진 정보 비트 값으로 복원하는 과정을 포함한다.
본 발명은 하드웨어의 복잡도와 처리 시간을 줄이면서도 압축 성능이 우수한 무 손실 압축이 가능하도록 하였다. 한편 그 외의 다양한 효과는 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 것이다.
도 1은 본 발명의 제1실시 예에 따른 압축장치의 구성을 보이고 있는 도면;
도 2는 본 발명의 제1실시 예에 따른 압축 장치에서 데이터 압축을 위한 제어 흐름을 보이고 있는 도면;
도 3은 본 발명의 제1실시 예에서 제안하는 압축 기술에 따라 무손실 압축을 수행하는 예를 보이고 있는 도면;
도 4는 본 발명의 제2실시 예에 따른 압축장치의 구성을 보이고 있는 도면;
도 5는 본 발명의 제2실시 예에 따른 압축 장치에서 데이터 압축을 위한 제어 흐름을 보이고 있는 도면;
도 6은 본 발명의 제2실시 예에서 제안하는 압축 기술에 따라 무손실 압축을 수행하는 예를 보이고 있는 도면;
도 7은 본 발명의 제1실시 예에 따른 복원장치의 구성을 보이고 있는 도면;
도 8은 본 발명의 제1실시 예에 따른 복원장치에서 압축 데이터를 복원하기 위한 제어 흐름을 보이고 있는 도면;
도 9는 본 발명의 제1실시 예에서 제안하는 복원 기술에 따라 무손실 압축된 정보 심볼에 대한 복원을 수행하는 예를 보이고 있는 도면;
도 10은 본 발명의 제2실시 예에 따른 복원장치의 구성을 보이고 있는 도면;
도 11은 본 발명의 제2실시 예에 따른 복원장치에서 압축 데이터를 복원하기 위한 제어 흐름을 보이고 있는 도면;
도 12는 본 발명의 제2실시 예에서 제안하는 복원 기술에 따라 무손실 압축된 정보 심볼에 대한 복원을 수행하는 예를 보이고 있는 도면.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
후술될 본 발명의 실시 예에서는 2진 정보 비트 열을 압축하여 정보 패킷을 생성하는 압축 기술과 압축된 정보 패킷을 복원하여 2진 정보 비트 열을 생성하는 복원 기술에 대해 구체적으로 설명할 것이다.
본 발명의 실시 예에서 제안하는 압축 기술을 위해 후술될 상세한 설명에서는 정보를 은닉한 후 부호화를 통해 데이터를 압축하는 구성에 대해 구체적으로 살펴볼 것이다.
또한 본 발명의 실시 예에서 제안하는 복원 기술을 위해 후술될 상세한 설명에서는 압축된 패킷으로부터 데이터를 디코딩한 후 상기 디코딩된 데이터에 은닉된 정보를 추출함으로써 이진화 데이터를 복원하는 구성에 대해 구체적으로 살펴볼 것이다.
A. 압축 기술
먼저 본 발명의 제1실시 예에 따른 압축 기술에서는 하나의 바이너리 데이터, 즉 2진 정보 비트 열이 제공되는 경우를 가정하고 있다. 이 경우에는 하나의 바이너리 데이터로부터 피 은닉 정보 열과 적어도 하나의 은닉 정보 열을 분리하기 위한 동작이 생략될 수 있다.
본 발명의 제1실시 예에 따른 압축 기술에서는 2진 정보 비트 열로부터 정보를 은닉할 대상 비트, 즉 피 은닉 정보 비트를 선택한다. 그리고 상기 선택된 피 은닉 정보 비트의 값을 기반으로 하여 치환할 값을 결정하고, 상기 결정된 값에 의해 상기 피 은닉 정보 비트의 값을 치환한다. 이때 상기 치환할 값을 결정하기 위해 상기 피 은닉 정보 비트의 값에 대한 확인이 선행되어야 한다. 즉 상기 피 은닉 정보 비트의 값이 정보 은닉을 수행할 대상 값인지를 판단하고, 상기 판단 결과에 의해 정보 은닉을 수행할 대상 값에 대해서만 은닉 정보 비트들에 대응하여 미리 결정된 값으로 치환하는 동작을 수행한다.
상기 은닉 정보 비트들은 상기 2진 정보 비트 열로부터 추출한다. 상기 은닉 정보 비트들을 추출하는 예로써, 상기 2진 정보 비트 열로부터 미리 결정된 비트 단위에 의해 순차적으로 읽어 들인 비트들을 상기 은닉 정보 비트들로 선택한다. 이때 상기 은닉 정보 비트들의 비트 수는 둘 이상인 것이 바람직하며, 상기 비트 수가 클수록 압축 율을 증가시킬 수 있으나 계산의 복잡도가 증가할 수 있다.
따라서 본 발명의 제1실시 예에 따른 압축 기술에서는 피 은닉 정보 비트의 값에 의해 정보 은닉을 수행할지 여부를 결정하기 위한 구성 및 상기 결정에 의해 은닉 정보 비트들을 추출하기 위한 구성에 대해 구체적으로 설명할 것이다. 그리고 피 은닉 정보 비트의 값을 다른 값으로 치환하기 위한 구성에 대해서도 구체적으로 설명할 것이다.
다음으로 본 발명의 제2실시 예에 따른 압축 기술에서는 하나의 바이너리 데이터, 즉 2진 정보 비트 열로부터 획득한 피 은닉 정보 비트 열과 은닉 정보 비트 열을 이용하는 경우를 가정하고 있다. 이 경우에는 하나의 2진 정보 비트 열로부터 피 은닉 정보 비트 열과 은닉 정보 비트 열을 획득하기 위한 분리 동작이 요구된다.
그리고 상기 획득한 피 은닉 정보 비트 열로부터 피 은닉 정보 비트를 순차적으로 선택한다. 상기 선택한 피 은닉 정보 비트의 값이 정보를 은닉할 대상 비트 값인 경우, 상기 획득한 은닉 정보 비트 열로부터 순차적으로 선택된 소정 개수의 은닉 정보 비트들에 대응한 값에 의해 상기 피 은닉 정보 비트의 값을 치환한다.
한편 본 발명의 실시 예에서 사용되는 정보를 은닉할 대상 비트 값으로 제1실시 예에서는 피 은닉 정보 열을 구성하는 비트 값들에서 확률이 가장 높은 값 (Most Probable Symbol, 이하 "MPS"라 칭함) 또는 확률이 가장 낮은 값 (Least Probable Symbol, 이하 "LPS"라 칭함) 중 하나가 사용될 수 있다. 그리고 제2실시 예에서는 2진 정보 비트 열을 구성하는 비트 값들에서 확률이 가장 높은 값 (Most Probable Symbol, 이하 "MPS"라 칭함) 또는 확률이 가장 낮은 값 (Least Probable Symbol, 이하 "LPS"라 칭함) 중 하나가 사용될 수 있다.
하지만 압축율을 고려할 때에 상기 정보를 은닉할 대상 비트 값으로 MPS를 사용하는 것는 바람직할 것이다.
A-1. 제1실시 예 (압축 기술)
도 1은 본 발명의 제1실시 예에 따른 압축장치의 구성을 보이고 있다.
도 1을 참조하면, 정보 은닉부(110)는 정보 비트 열 X를 입력으로 수신하고, 가역 정보 은닉을 이용하여 상기 정보 비트 열 X에 대한 무손실 압축을 수행함으로써 압축 심볼 열 Z'을 출력한다.
예컨대 상기 정보 은닉부(110)는 상기 정보 비트 열 X로부터 피 은닉 정보 비트에 상응한 1 비트를 선택하고, 상기 선택한 피 은닉 정보 비트 값이 MPS인지를 판단한다.
만약 상기 선택한 피 은닉 정보 비트 값이 MPS라고 판단되면, 상기 정보 비트 열 X로부터 은닉 정보 비트들에 상응한 m 비트를 추가로 선택한다. 그리고 상기 선택한 피 은닉 정보 비트 값을 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값으로 치환한다. 이때 상기 은닉 정보 비트들은 상기 정보 비트 열 X에서 상기 선택한 피 은닉 정보 비트에 연속하는 m 개의 비트들이 될 수 있다.
또한 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값은 상기 m을 고려하여 결정하는 것이 바람직하다. 예컨대 상기 m이 2인 경우, 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값은 0, 1, 2, 3이 사용될 수 있다.
그렇지 않고 상기 선택한 피 은닉 정보 비트 값이 MPS가 아닌 LPS라고 판단되면, 상기 선택한 피 은닉 정보 비트 값을 미리 설정된 값으로 치환한다. 이때 상기 미리 설정된 값은 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값과 중복되어서는 안된다. 일 예로써 상기 미리 설정된 값은 2m이 될 수 있다. 여기서 m은 상기 선택한 피 은닉 정보 비트 값이 MPS인 경우에 추가로 선택되는 은닉 정보 비트들의 비트 수이다.
상술한 바와 같이 상기 정보 은닉부(110)에서 수행되는 무손실 압축의 구체적인 예에 의한 설명은 후술될 것이다.
상기 정보 은닉부(110)에 의해 출력되는 압축 심볼 열 Z'은 부호화부(120)로 입력된다. 상기 부호화부(120)는 상기 정보 은닉부(110)로부터 입력되는 압축 심볼 열 Z'을 소정의 코딩 기법에 의해 압축하여 출력한다.
상기 부호화부(120)에는 일 예로 엔트로피 코딩 (Entropy coding) 기법이 적용될 수 있다. 상기 엔트로피 코딩 기법은 출현 빈도가 높은 심볼에 짧은 코드를 배정하고 빈도가 낮은 심볼에 긴 코드를 배정하는 코딩 기법이다. 상기 엔트로피 코딩 기법은 일명 가변 길이 코딩(Variable-length coding) 기법이라고도 한다.
한편, 엔트로피 코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 코딩 기법으로는 허프만 코더 (Huffman coder)와 산술 부호 코더 중 어느 것이나 사용할 수 있다. 상기 엔트로피 코딩 기법은 미리 각 심볼의 출현 빈도를 알아야 최적의 압축이 가능하다. 이때 허프만 코딩을 사용하는 경우에는 각각의 심볼에 하나씩 코드워드를 배정하므로 정수 길이의 코드워드만 허용한다.
도 2는 본 발명의 제1실시 예에 따른 압축 장치에서 데이터 압축을 위한 제어 흐름을 보이고 있다.
도 2를 참조하면, 압축 장치는 210단계에서 2진 정보 비트 열을 외부로부터 입력 받는다. 그 후 상기 압축 장치는 212단계에서 상기 입력된 2진 정보 비트 열로부터 피 은닉 정보 비트를 선택한다. 상기 압축 장치는 214단계에서 상기 선택한 피 은닉 정보 비트 값이 MPS인지를 판단한다. 앞에서도 정의된 바와 같이 상기 MPS는 상기 2진 정보 비트 열을 구성하는 비트 값들 중 확률이 가장 높은 값을 의미한다.
상기 압축 장치는 상기 선택한 피 은닉 정보 비트 값이 MPS가 아닌 LPS라고 판단하면, 216단계에서 상기 선택한 피 은닉 정보 비트 값을 미리 결정된 값으로 치환한다. 이때 상기 미리 결정된 값은 MPS를 가지는 피 은닉 정보 비트에 대해 치환할 값과 중복되어서는 안된다. 일 예로 상기 미리 결정된 값은 2m이 될 수 있다.
하지만 상기 선택한 피 은닉 정보 비트 값이 MPS라고 판단하면, 상기 압축 장치는 218단계에서 상기 선택한 피 은닉 정보 비트에 은닉할 적어도 하나의 은닉 정보 비트를 선택한다. 상기 적어도 하나의 은닉 정보 비트는 상기 2진 정보 비트 열에서 상기 선택한 피 은닉 정보 비트에 연속하는 적어도 하나의 비트가 될 수 있다.
상기 적어도 하나의 은닉 정보 비트를 선택하면, 상기 압축 장치는 220단계에서 상기 선택한 피 은닉 정보 비트 값을 상기 선택한 적어도 하나의 은닉 정보 비트에 대응하여 미리 결정된 값으로 치환한다. 이때 미리 결정된 값은 은닉 정보 비트로 선택한 비트 수를 고려하여 결정하여야 한다.
상기 압축 장치는 상기 216단계 또는 상기 220단계에서 피 은닉 정보 비트를 다른 값으로 치환하는 동작이 완료되면, 222단계에서 가역 정보 은닉을 이용하여 상기 입력된 2진 정보 비트 열에 대한 무손실 압축이 완료되었는지를 판단한다.
상기 압축 장치는 무손실 압축이 완료되지 않았다고 판단되면, 상기 212단계로 리턴하여 새로 선택한 피 은닉 정보 비트에 대한 무손실 압축 동작을 반복하여 수행한다.
하지만 상기 입력된 2진 정보 비트 열에 대한 무손실 압축이 완료되었다고 판단되면, 상기 압축 장치는 상술한 동작에 의해 다른 값으로 치환이 이루어진 정보 심볼 열에 대한 부호화를 수행한다. 이때 부호화는 엔트로피 압축 기법에 의해 이루어질 수 있다. 상기 엔트로피 압축 기법은 앞에서도 밝힌 바와 같이 허프만 코드 또는 산술 부호 코더 중 어떠한 것을 사용하여도 좋다.
상기 압축 장치는 226단계에서 부호화를 통해 압축된 정보 심볼 열에 대한 패킹을 통해 정보 패킷을 생성한다.
도 3은 본 발명의 제1실시 예에서 제안하는 압축 기술에 따라 무손실 압축을 수행하는 예를 보이고 있다.
도 3에서는 압축을 위해 입력되는 이진 문자 열인 정보 비트 열 X의 길이가 n이고, MPS가 '0', LPS가 '1'이라 가정한다. 또한 상기 정보 비트 열 X에서 MPS인 '0'의 값을 가지는 비트가 피 은닉 정보 비트로 선택될 확률이 p라고 가정한다.
따라서 상기 정보 비트 열 X에서 선택될 피 은닉 정보 비트 중 그 비트 값이 '0'인 비트의 수는 n ×p라고 예측할 수 있으며, 상기 예측한 MPS를 가지는 피 은닉 정보 비트의 수에 의해 은닉 정보 비트로 선택할 비트 수 m을 예측할 수 있다. 상기 은닉 정보 비트로 선택할 비트 수 m에 대한 예측 방안을 일반화시키면 하기 <수학식 1>과 같이 정리할 수 있다.
Figure pct00001
상기 <수학식 1>에 의해 계산된 결과에서 나머지가 존재할 경우에는 획득한 몫에 1을 더한 값을 m으로 결정한다. 도 3에서는 앞에서 살펴본 바에 의해 m이 2로 결정되었음을 가정하고 있다.
또한 선택한 피 은닉 정보 비트의 값이 MPS인 경우, m 개의 은닉 정보 비트들에 의해 상기 선택한 피 은닉 정보 비트의 값인 MPS를 치환할 값은 미리 결정되어야 한다. 하기 <표 1>에서는 m 개의 은닉 정보 비트들에 대응하여 미리 결정된 치환할 값의 일 예를 정의하고 있다.
Figure pct00002
한편 상기 <표 1>에 의한 미리 결정된 값에는 LPS에 상응하는 값인 '1'이 포함되어 있다. 따라서 LPS에 상응하는 값인 '1'이 피 은닉 정보 비트로 선택될 경우에는 상기 선택된 피 은닉 정보 비트의 값을 상기 <표 1>에서 미리 결정된 값으로 정의하고 있지 않은 다른 값으로 치환할 필요가 있다. 이를 위해 도 3에서는 상기 LPS에 상응하는 값인 '1'이 피 은닉 정보 비트로 선택될 경우, 상기 선택된 피 은닉 정보 비트의 값을 '4'로 치환하는 것을 가정한다.
도 3을 참조하면, 압축장치는 길이가 n이고 이진 문자 열인 정보 비트 열 X로부터 1 비트의 피 은닉 정보 비트를 선택한다. 그리고 상기 선택한 피 은닉 정보 비트의 값이 MPS인지를 판단한다.
도 3에서 첫 번째로 선택된 피 은닉 정보 비트의 값이 MPS에 해당하는 '0'이므로, 상기 압축장치는 상기 정보 비트 열 X 내에서 상기 선택한 피 은닉 정보 비트에 연속하는 2 개의 비트들인 '10'을 은닉 정보 비트들로 선택한다. 그리고 상기 선택된 피 은닉 정보 비트의 값 '0'을 상기 선택된 은닉 정보 비트들인 '10'에 대응하여 상기 <표 1>에서 정의하고 있는 미리 결정된 값인 '2'로 치환한다. 이로 인해 결과적으로 '010'으로 구성된 3 비트가 하나의 값인 '2'로 압축되었음을 확인할 수 있다. 즉 '10'으로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
그 후 상기 압축 장치는 상기 정보 비트 열에서 상기 은닉 정보 비트들로 선택된 비트들의 다음 비트를 두 번째 피 은닉 정보 비트로 선택한다. 이때 선택된 두 번째 피 은닉 정보 비트는 LPS에 해당하는 '1'의 값을 가지므로, 상기 압축 장치는 상기 선택한 피 은닉 정보 비트의 값인 '1'을 미리 결정된 값인 '4'로 치환한다.
다음으로 상기 압축 장치는 상기 정보 비트 열 X에서 두 번째 피 은닉 정보 비트로 선택된 비트의 다음 비트를 세 번째 피 은닉 정보 비트로 선택한다. 이때 선택된 세 번째 피 은닉 정보 비트는 MPS에 해당하는 '0'이므로, 상기 압축장치는 상기 정보 비트 열 X 내에서 상기 세 번째 피 은닉 정보 비트에 연속하는 2 개의 비트들인 '00'을 은닉 정보 비트들로 선택한다. 그리고 상기 세 번째 피 은닉 정보 비트의 값 '0'을 상기 선택된 은닉 정보 비트들인 '00'에 대응하여 상기 <표 1>에서 정의하고 있는 미리 결정된 값인 '0'으로 치환한다. 이로 인해 결과적으로 '000'으로 구성된 3 비트가 하나의 값인 '0'으로 압축되었음을 확인할 수 있다. 즉 '00'으로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
다음으로 상기 압축 장치는 상기 정보 비트 열 X에서 세 번째 피 은닉 정보 비트로 인해 선택된 은닉 정보 비트들의 다음 비트를 네 번째 피 은닉 정보 비트로 선택한다. 이때 선택된 네 번째 피 은닉 정보 비트는 MPS에 해당하는 '0'이므로, 상기 압축장치는 상기 정보 비트 열 X 내에서 상기 네 번째 피 은닉 정보 비트에 연속하는 2 개의 비트들인 '11'을 은닉 정보 비트들로 선택한다. 그리고 상기 네 번째 피 은닉 정보 비트의 값 '0'을 상기 선택된 은닉 정보 비트들인 '11'에 대응하여 상기 <표 1>에서 정의하고 있는 미리 결정된 값인 '3'으로 치환한다. 이로 인해 결과적으로 '011'로 구성된 3 비트가 하나의 값인 '3'으로 압축되었음을 확인할 수 있다. 즉 '11'로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
그 후 상기 압축 장치는 상기 정보 비트 열에서 네 번째 피 은닉 정보 비트로 인해 선택된 은닉 정보 비트들의 다음 비트를 다섯 번째 피 은닉 정보 비트로 선택한다. 이때 선택된 다섯 번째 피 은닉 정보 비트는 LPS에 해당하는 '1'의 값을 가지므로, 상기 압축 장치는 상기 다섯 번째 피 은닉 정보 비트의 값인 '1'을 미리 결정된 값인 '4'로 치환한다.
한편 도 3에서는 선택한 피 은닉 정보 비트의 값이 MPS인 경우에 추가로 은닉 정보 비트들을 선택하는 동작을 선택 (selection) 동작 (도 3에서 점선으로 표시)이라 정의하였으며, 피 은닉 정보 비트의 값을 치환할 값을 상기 선택 동작에 의해 선택된 은닉 정보 비트들에 의해 결정하는 동작을 결정 (decision) 동작 (도 3에서 실선으로 표시)이라 정의하였다. 한편 선택한 피 은닉 정보 비트의 값이 LPS인 경우에 미리 결정된 값으로 치환하는 동작 또한 결정 동작에 해당한다.
따라서 상술한 선택 동작 및 결정 동작에 의해 가역 정보 은닉을 이용한 정보 비트 열 X의 무손실 압축이 이루어질 수 있으며, 상기 무손실 압축에 의해서는 압축된 (2m+1)진 정보 심볼 열 Z'을 얻을 수 있다. 상기 압축된 정보 심볼 열 Z'은 엔트로피 압축기에 의해 압축이 이루어진다.
한편 도 3에서 예시하고 있는 무손실 압축 기법은 다양한 형태로의 구현이 가능할 것이며, 하기 <표 2>은 매틉랩 (MATLAP) 표기법을 적용하여 도 3에서 예시한 무손실 압축 기법을 구현한 예를 보이고 있다.
Figure pct00003
A-2. 제2실시 예 (압축 기술)
도 4는 본 발명의 제2실시 예에 따른 압축장치의 구성을 보이고 있다.
도 4를 참조하면, 비트 분리부(410)는 정보 비트 열 X를 입력으로 하고, 상기 정보 비트 열 X로부터 피 은닉 정보 열 Yn과 은닉 정보 열 Vk을 분리한다.
여기서 상기 피 은닉 정보 열 Yn은 은닉 정보 열 Vk을 숨기기 위한 정보 비트 열을 의미하며, 상기 은닉 정보 열 Vk은 피 은닉 정보 열 Yn에 숨길 은닉 정보들의 비트 열을 의미한다. 상기 피 은닉 정보 열을 지칭하는 Yn와 상기 은닉 정보 열을 지칭하는 Vk에서 아래 첨자는 해당 정보 열의 길이를 의미한다. 이때 상기 k는 n ×p ×m 의해 결정된다. 여기서 상기 n은 피 은닉 정보 열 Yn의 길이를 의미하고, p는 피 은닉 정보 열 Yn에서 MPS의 확률, 즉 상기 피 은닉 정보 열 Yn에서 MPS를 가지는 비트가 선택될 확률을 의미하며, m은 하나의 피 은닉 정보 비트에 은닉할 은닉 정보 비트의 수를 의미한다. 상기 은닉 정보 비트로 선택할 비트 수 m에 대한 예측 방안을 일반화시키면 하기 <수 2>과 같이 정리할 수 있다.
Figure pct00004
상기 <수학식 2>에 의해 계산된 결과에서 나머지가 존재할 경우에는 획득한 몫에 1을 더한 값을 m으로 결정한다.
상기 비트 분리부(410)에 의해 분리된 피 은닉 정보 열 Yn과 은닉 정보 열 Vk은 정보 은닉부(420)로 제공한다. 하지만 무손실 압축을 위해 피 은닉 정보 열 Yn과 은닉 정보 열 Vk이 구분되어 입력되는 경우에는 상기 비트 분리부(410)가 별도로 구비될 필요가 없다. 즉 피 은닉 정보 열 Yn과 은닉 정보 열 Vk이 구분되어 입력되는 경우에 상기 비트 분리부(410)는 무손실 압축을 위한 필수 구성이라 할 수 없다.
상기 정보 은닉부(420)는 가역 정보 은닉을 이용하여 피 은닉 정보 열 Yn에 은닉 정보 열 Vk을 은닉함으로써, 무손실 압축에 의한 압축 심볼 열 Z'을 출력한다.
예컨대 상기 정보 은닉부(420)는 피 은닉 정보 열 Yn으로부터 피 은닉 정보 비트에 상응한 1 비트를 선택하고, 상기 선택한 피 은닉 정보 비트 값이 MPS인지를 판단한다.
만약 상기 선택한 피 은닉 정보 비트 값이 MPS라고 판단되면, 은닉 정보 열 Vk로부터 은닉 정보 비트들에 상응한 m 비트를 선택한다. 그리고 상기 선택한 피 은닉 정보 비트 값을 상기 선택한 은닉 정보 비트들에 대응하는 값으로 치환한다.
또한 상기 선택한 은닉 정보 비트들에 대응하는 값은 상기 <수 2>에 의해 획득한 m을 고려하여 결정하는 것이 바람직하다. 예컨대 상기 m이 2인 경우, 은닉 정보 비트들에 대응하여 미리 결정된 값은 하기 <표 3>에서 보이고 있는 바와 같이 0, 1, 2, 3이 될 수 있다.
Figure pct00005
그렇지 않고 상기 선택한 피 은닉 정보 비트 값이 MPS가 아닌 LPS라고 판단되면, 상기 선택한 피 은닉 정보 비트 값을 미리 설정된 값으로 치환한다. 이때 상기 미리 설정된 값은 상기 추가로 선택한 은닉 정보 비트들에 대응하는 값과 중복되어서는 안된다. 일 예로써 상기 미리 설정된 값은 2m이 될 수 있다. 여기서 m은 앞에서 정의된 바와 같이 피 은닉 정보 비트의 값이 MPS인 경우에 선택되는 은닉 정보 비트들의 비트 수이다.
상술한 바와 같이 상기 정보 은닉부(420)에서 수행되는 무손실 압축의 구체적인 예에 의한 설명은 후술될 것이다.
상기 정보 은닉부(420)에 의해 출력되는 압축 심볼 열 Z'n 은 부호화부(430)로 입력된다. 상기 부호화부(430)는 상기 정보 은닉부(420)로부터 입력되는 압축 심볼 열 Z'n 을 소정의 코딩 기법에 의해 압축하여 Zn을 출력한다.
상기 부호화부(430)에는 일 예로 엔트로피 코딩 (Entropy coding) 기법이 적용될 수 있다. 상기 엔트로피 코딩 기법은 출현 빈도가 높은 심볼에 짧은 코드를 배정하고 빈도가 낮은 심볼에 긴 코드를 배정하는 코딩 기법이다. 상기 엔트로피 코딩 기법은 일명 가변 길이 코딩(Variable-length coding) 기법이라고도 한다.
한편, 엔트로피 코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 코딩 기법으로는 허프만 코더 (Huffman coder)와 산술 부호 코더 중 어느 것이나 사용할 수 있다. 상기 엔트로피 코딩 기법은 미리 각 심볼의 출현 빈도를 알아야 최적의 압축이 가능하다. 이때 허프만 코딩을 사용하는 경우에는 각각의 심볼에 하나씩 코드워드를 배정하므로 정수 길이의 코드워드만 허용한다.
도 5는 본 발명의 제2실시 예에 따른 압축 장치에서 데이터 압축을 위한 제어 흐름을 보이고 있다.
도 5를 참조하면, 압축 장치는 510단계에서 2진 정보 비트 열을 외부로부터 입력 받는다. 그 후 상기 압축 장치는 512단계에서 상기 2진 정보 비트 열로부터 피 은닉 정보 비트 열과 은닉 정보 비트 열을 분리한다. 이때 상기 압축 장치는 상기 피 은닉 정보 비트 열의 길이 n과 MPS의 선택 확률 p 및 은닉 정보 비트 열의 길이 k 또는 정보 은닉을 위해 선택할 은닉 정보 비트의 수 m을 기반으로 상기 피 은닉 정보 비트 열과 은닉 정보 비트 열을 분리할 수 있다.
하지만 상기 피 은닉 정보 비트 열과 상기 은닉 정보 비트 열 각각이 2진 정보 비트 열로써 구분되어 입력되는 경우에는 상기 512단계에서의 동작은 생략될 수 있다.
상기 압축 장치는 상기 피 은닉 정보 비트 열과 상기 은닉 정보 비트 열의 분리가 완료되면, 514단계로 진행하여 상기 피 은닉 정보 비트 열로부터 피 은닉 정보 비트를 선택한다. 상기 압축 장치는 516단계에서 상기 선택한 피 은닉 정보 비트 값이 MPS인지를 판단한다. 앞에서도 정의된 바와 같이 상기 MPS는 상기 피 은닉 정보 비트 열을 구성하는 비트 값들 중 확률이 가장 높은 값을 의미한다.
상기 압축 장치는 상기 선택한 피 은닉 정보 비트 값이 MPS가 아닌 LPS라고 판단하면, 518단계에서 상기 선택한 피 은닉 정보 비트 값을 미리 결정된 값으로 치환한다. 이때 상기 미리 결정된 값은 MPS를 가지는 피 은닉 정보 비트에 대해 치환할 값과 중복되어서는 안된다. 일 예로 상기 미리 결정된 값은 2m이 될 수 있다.
하지만 상기 선택한 피 은닉 정보 비트 값이 MPS라고 판단하면, 상기 압축 장치는 520단계에서 상기 선택한 피 은닉 정보 비트에 은닉할 적어도 하나의 은닉 정보 비트를 선택한다. 상기 적어도 하나의 은닉 정보 비트는 상기 은닉 정보 비트 열로부터 m 개씩 순차적으로 선택된다.
상기 적어도 하나의 은닉 정보 비트를 선택하면, 상기 압축 장치는 522단계에서 상기 선택한 피 은닉 정보 비트 값을 상기 선택한 적어도 하나의 은닉 정보 비트에 대응하여 미리 결정된 값으로 치환한다. 이때 미리 결정된 값은 은닉 정보 비트로 선택한 비트 수를 고려하여 결정하여야 한다. 이에 대한 일 예는 상기 <표 3>에서 보이고 있다.
상기 압축 장치는 상기 518단계 또는 상기 522단계에서 피 은닉 정보 비트를 다른 값으로 치환하는 동작이 완료되면, 524단계에서 가역 정보 은닉을 이용한 무손실 압축이 완료되었는지를 판단한다.
상기 압축 장치는 무손실 압축이 완료되지 않았다고 판단되면, 상기 514단계로 리턴하여 새로 선택한 피 은닉 정보 비트에 대한 무손실 압축 동작을 반복하여 수행한다.
하지만 무손실 압축이 완료되었다고 판단되면, 상기 압축 장치는 상술한 동작에 의해 생성된 정보 심볼 열에 대한 부호화를 수행한다. 이때 부호화는 엔트로피 압축 기법에 의해 이루어질 수 있다. 상기 엔트로피 압축 기법은 앞에서도 밝힌 바와 같이 허프만 코드 또는 산술 부호 코더 중 어떠한 것을 사용하여도 좋다.
상기 압축 장치는 528단계에서 부호화를 통해 압축된 정보 심볼 열에 대한 패킹을 통해 정보 패킷을 생성한다.
도 6은 본 발명의 제2실시 예에서 제안하는 압축 기술에 따라 무손실 압축을 수행하는 예를 보이고 있다.
도 6에서는 압축을 위해 입력되는 이진 문자 열인 정보 비트 열 X로부터 피 은닉 정보 비트 열과 은닉 정보 비트 열을 분리한다. 이때 상기 정보 비트 열 X로부터 분리되는 피 은닉 정보 비트 열의 길이가 n이고, 은닉 정보 비트 열의 길이가 k라고 가정한다. 그리고 MPS가 '0'이고, LPS가 '1'이라 가정하며, 상기 피 은닉 정보 비트 열에서 MPS인 '0'의 값을 가지는 비트가 피 은닉 정보 비트로 선택될 확률이 p라고 가정한다.
따라서 상기 정보 비트 열 X에서 선택될 피 은닉 정보 비트 중 그 비트 값이 '0'인 비트의 수는 n ×p라고 예측할 수 있으며, 상기 예측한 MPS를 가지는 피 은닉 정보 비트의 수에 의해 은닉 정보 비트로 선택할 비트 수 m을 예측할 수 있다. 상기 은닉 정보 비트로 선택할 비트 수 m에 대한 예측은 앞에서 정의된 <수 2>에 의해 일반화시킬 수 있다.
또한 선택한 피 은닉 정보 비트의 값이 MPS인 경우, m 개의 은닉 정보 비트들에 의해 상기 선택한 피 은닉 정보 비트의 값인 MPS를 치환할 값의 일 예는 앞에서 <표 3>에 의해 정의된 바와 같다.
한편 상기 <표 1>에 의한 미리 결정된 값에는 LPS에 상응하는 값인 '1'이 포함되어 있다. 따라서 LPS에 상응하는 값인 '1'이 피 은닉 정보 비트로 선택될 경우에는 상기 선택된 피 은닉 정보 비트의 값을 상기 <표 1>에서 미리 결정된 값으로 정의하고 있지 않은 다른 값으로 치환할 필요가 있다. 이를 위해 도 6에서는 상기 LPS에 상응하는 값인 '1'이 피 은닉 정보 비트로 선택될 경우, 상기 선택된 피 은닉 정보 비트의 값을 '4'로 치환하는 것을 가정한다.
도 6을 참조하면, 압축장치는 이진 문자 열인 정보 비트 열 X로부터 길이가 7인 피 은닉 정보 비트 열 Y7과 길이가 10인 은닉 정보 비트 열 V10을 분리한다. 도 6에서는 정보 비트 열 X가 '01000010100101100'이고, 상기 정보 비트 열 X의 앞에서 7 비트에 해당하는 '0100001'을 피 은닉 정보 비트 열 Y7로 분리하고, 그 이후의 10 비트에 해당하는 '0100101100'을 은닉 정보 비트 열 V10로 분리한다.
그리고 상기 분리된 피 은닉 정보 비트 열 Y7로부터 1 비트 단위의 피 은닉 정보 비트를 선택하는 선택 (selection) 동작 (도 6에서 점선으로 표시)과, 상기 선택된 피 은닉 정보 비트의 값을 치환할 값을 결정하는 결정 (decision) 동작 (도 6에서 실선으로 표시)을 수행한다.
보다 구체적으로 설명하면, 상기 분리된 피 은닉 정보 비트 열 Y7의 첫 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 첫 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 '0'이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 처음 비트부터 순차적으로 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 '01'이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 '0'을 상기 선택된 은닉 정보 비트들인 '01'에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 '1'로 치환한다. 이로 인해 결과적으로 '001'로 구성된 3 비트가 하나의 값인 '1'로 압축되었음을 확인할 수 있다. 즉 '01'로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
그 후 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 두 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 두 번째 피 은닉 정보 비트의 값이 LPS에 해당하는 '1'이므로, 상기 압축 장치는 상기 선택한 피 은닉 정보 비트의 값인 '1'을 미리 결정된 값인 '4'로 치환한다.
다음으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 세 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 세 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 '0'이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 앞에서 은닉 정보 비트들로 선택된 비트에 연속하는 2 개의 비트를 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 '00'이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 '0'을 상기 선택된 은닉 정보 비트들인 '00'에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 '0'으로 치환한다. 이로 인해 결과적으로 '000'으로 구성된 3 비트가 하나의 값인 '0'으로 압축되었음을 확인할 수 있다. 즉 '00'로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
다음으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 네 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 네 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 '0'이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 앞에서 은닉 정보 비트들로 선택된 비트에 연속하는 2 개의 비트를 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 '10'이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 '0'을 상기 선택된 은닉 정보 비트들인 '10'에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 '2'로 치환한다. 이로 인해 결과적으로 '010'으로 구성된 3 비트가 하나의 값인 '2'로 압축되었음을 확인할 수 있다. 즉 '10'로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
다음으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 다섯 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 다섯 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 '0'이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 앞에서 은닉 정보 비트들로 선택된 비트에 연속하는 2 개의 비트를 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 '11'이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 '0'을 상기 선택된 은닉 정보 비트들인 '11'에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 '3'으로 치환한다. 이로 인해 결과적으로 '011'로 구성된 3 비트가 하나의 값인 '3'으로 압축되었음을 확인할 수 있다. 즉 '11'로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
다음으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 여섯 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 여섯 번째 피 은닉 정보 비트의 값이 MPS에 해당하는 '0'이므로, 상기 압축장치는 상기 분리된 은닉 정보 비트 열 V10로부터 2 개의 은닉 정보 비트들을 선택한다. 이때 상기 2 개의 은닉 정보 비트들의 선택은 앞에서 은닉 정보 비트들로 선택된 비트에 연속하는 2 개의 비트를 선택하는 것이 바람직하다. 따라서 상기 2 개의 은닉 정보 비트들로는 '00'이 선택된다.
그리고 상기 선택된 피 은닉 정보 비트의 값 '0'을 상기 선택된 은닉 정보 비트들인 '00'에 대응하여 상기 <표 3>에서 정의하고 있는 미리 결정된 값인 '0'으로 치환한다. 이로 인해 결과적으로 '000'로 구성된 3 비트가 하나의 값인 '0'으로 압축되었음을 확인할 수 있다. 즉 '00'로 구성된 2 비트의 은닉 정보 비트들이 MPS를 가지는 1 비트의 피 은닉 정보 비트에 은닉됨을 알 수 있다.
마지막으로 상기 압축 장치는 상기 분리된 피 은닉 정보 비트 열 Y7의 일곱 번째 비트를 피 은닉 정보 비트로 선택한다. 이때 상기 선택한 일곱 번째 피 은닉 정보 비트의 값이 LPS에 해당하는 '1'이므로, 상기 압축 장치는 상기 선택한 피 은닉 정보 비트의 값인 '1'을 미리 결정된 값인 '4'로 치환한다.
상술한 동작에 의해 최종적으로 무손실 압축에 의해 출력되는(2m+1) 진 정보 심볼 열 Z'n은 '1402304'가 된다. 그 후 상기 가역 정보 은닉에 의해 압축된 (2m+1) 진 정보 심볼 열 Z'n은 엔트로피 압축기에 의해 압축이 이루어진다.
한편 도 6에서 예시하고 있는 무손실 압축 기법은 다양한 형태로의 구현이 가능할 것이며, 하기 <표 4>은 매틉랩 (MATLAP) 표기법을 적용하여 도 6에서 예시한 무손실 압축 기법을 구현한 예를 보이고 있다.
Figure pct00006
한편 앞에서 살펴본 본 발명의 제1 및 제2실시 예에 따른 압축 기술에서는 MPS를 기반으로 하여 압축을 수행하도록 하고 있다. 이로 인해 본 발명의 제1 및 제2실시 예에 의해 압축된 정보 심볼을 복원하기 위해서는 MPS에 관한 정보가 추가로 요구될 수 있다. 따라서 본 발명의 제1 및 제2실시 예에 의해 압축된 정보 심볼의 복원을 위해 MPS에 관한 정보가 추가로 기록될 수 있도록 하여야 한다. 이때 상기 MPS에 관한 정보는 압축을 위한 입력 정보 비트 열 또는 피 은닉 정보 비트 열에서 MPS를 가지는 비트가 피 은닉 정보 비트로 선택될 수 있는 확률 p 등이 될 수 있다.
B. 복원 기술
먼저 본 발명의 제1실시 예에 따른 압축 기술에 대응한 복원 기술에서는 정보 은닉이 이루어진 정보 심볼 열로부터 2진 정보 비트 열을 복원하는 방안을 마련한다.
이를 위해서는 압축된 정보 심볼 각각으로부터 하나의 정보 비트 또는 복수의 정보 비트들을 직접 복원한다. 즉 상기 압축된 정보 심볼의 값이 MPS에 대응하여 치환된 값인 경우에는 상기 압축된 정보 심볼의 값을 MPS로 복원한다. 하지만 상기 압축된 정보 심볼의 값이 MPS에 대응하여 치환된 값이 아닌 경우에는 상기 압축된 정보 심볼의 값을 미리 결정된 값을 가지는 복수의 비트들로 복원한다.
다음으로 본 발명의 제2실시 예에 따른 압축 기술에 대응한 복원 기술에서는 정보 은닉이 이루어진 정보 심볼 열로부터 피 은닉 정보 비트 열과 은닉 정보 비트 열을 복원하고, 상기 복원된 피 은닉 정보 비트 열과 은닉 정보 비트 열을 결합하여 2진 정보 비트 열을 출력한다.
이를 위해서는 압축된 정보 심볼 각각의 값이 MPS에 대응하여 치환된 값인지 아니면 LPS에 대응하여 치환된 값인지를 판단한다. 그리고 상기 압축된 정보 심볼의 값이 MPS에 대응하여 치환된 값인 경우에는 상기 MPS를 피 은닉 정보 비트로 복원하고, 상기 압축된 정보 심볼의 값에 대응하여 치환된 값을 은닉 정보 비트들로 복원한다. 하지만 상기 압축된 정보 심볼의 값이 LPS에 대응하여 치환된 값인 경우에는 상기 LPS를 피 은닉 정보 비트로만 복원한다.
그 후 상술한 바에 의해 복원된 피 은닉 정보 비트들에 의해 구성된 피 은닉 정보 비트 열과 상기 복원된 은닉 정보 비트들에 의해 구성된 은닉 정보 비트 열을 결합하여 복원이 완료된 2진 정보 비트 열을 획득한다.
B-1. 제1실시 예 (복원 기술)
도 7은 본 발명의 제1실시 예에 따른 복원장치의 구성을 보이고 있다.
도 7을 참조하면, 복호화부(710)는 복원할 정보 패킷 Z를 입력으로 하고, 상기 복원할 정보 패킷 Z를 소정의 디코딩 기법에 의해 m진 정보 심볼 열 Z'을 출력한다.
상기 복호화부(710)에는 일 예로 엔트로피 코딩 (Entropy coding) 기법에 상응하는 엔트로피 디코딩 기법이 적용될 수 있다. 상기 엔트로피 디코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 디코딩 기법으로는 허프만 코더 (Huffman coder)에 대응한 디코더와 산술 부호 코더에 대응한 디코더 중 어느 것이나 사용할 수 있다.
정보 복원부(720)는 정보 은닉이 이루어진 m진 정보 심볼 열 Z'을 입력으로 하고, 상기 입력되는 정보 은닉이 이루어진 m진 정보 심볼 열 Z'로부터 피 은닉 정보 비트와 은닉 정보 비트를 복원한다.
예컨대 상기 정보 복원부(720)는 상기 m진 정보 심볼 열 Z'로부터 하나의 복원 정보 심볼을 선택한다. 이때 정보 복원을 최초로 시작하는 경우에는 상기 m진 정보 심볼 열 Z'의 첫 번째 정보 심볼을 복원 정보 심볼로 선택하고, 정보 복원이 진행되고 있는 중인 경우에는 현재까지 복원이 이루어진 정보 심볼을 제외한 나머지 정보 심볼들 중 첫 번째 정보 심볼을 복원 정보 심볼로 선택한다.
그리고 상기 정보 복원부(720)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값인지를 판단한다. 이때 상기 LPS에 대응하여 치환된 값의 일 예는 2m이 될 수 있다. 상기 정보 복원부(720)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값이라고 판단하면, 상기 복원 정보 심볼을 LPS로 복원한다. 하지만 상기 정보 복원부(720)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값이 아니라고 판단하면, 상기 복원 정보 심볼을 피 은닉 정보 비트와 m 개의 은닉 정보 비트들로 복원한다. 이때 상기 피 은닉 정보 비트의 값은 MPS로 복원되며, 상기 m 개의 은닉 정보 비트들은 상기 복원 정보 심볼의 값에 대응하여 미리 결정된 비트들로 복원된다.
하기 <표 5>에서는 선택한 복원 정보 심볼에 대응하여 복원할 피 은닉 정보와 m 개의 은닉 정보 비트들에 대한 일 예를 정의하고 있다.
Figure pct00007
상기 <표 5>에서는 m이 2인 경우를 가정하고 있다. 그리고 상기 <표 5>에서 MPS는 0, LPS는 1임을 가정하고 있다.
따라서 상기 정보 복원부(720)는 복원 정보 심볼로 '2'가 선택되었다면, 2진 정보 비트들로 '010'을 복원한다. 하지만 복원 정보 심볼로 '4'가 선택되었다면, 2진 정보 비트로 '1'을 복원한다.
한편 상기 정보 복원부(720)는 상기 m진 정보 심볼 열 Z'를 구성하는 모든 정보 심볼들에 대한 복원을 완료하면, 상기 모든 정보 심볼들의 복원에 의해 생성한 2진 정보 비트 열 X를 출력한다.
도 8은 본 발명의 제1실시 예에 따른 복원장치에서 압축 데이터를 복원하기 위한 제어 흐름을 보이고 있다.
도 8을 참조하면, 복원장치는 810단계에서 입력되는 m진 정보 심볼 열 Z에 대한 복호화를 수행한다. 상기 복호화를 위해 일 예로 엔트로피 코딩 (Entropy coding) 기법에 상응하는 엔트로피 디코딩 기법이 적용될 수 있다. 상기 엔트로피 디코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 디코딩 기법으로는 허프만 코더 (Huffman coder)에 대응한 디코더와 산술 부호 코더에 대응한 디코더 중 어느 것이나 사용할 수 있다.
상기 복원장치는 상기 m진 정보 심볼 열 Z에 대한 복호화가 완료되면, 812단계에서 상기 복호화가 이루어진 m진 정보 심볼 열 Z'로부터 복원 정보 심볼을 순차적으로 선택한다. 즉 상기 복호화가 이루어진 m진 정보 심볼 열 Z'로부터 복원 정보 심볼을 한 심볼씩 선택한다.
그리고 상기 복원장치는 814단계에서 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값 (일 예로 2m)인지를 판단한다. 상기 복원장치는 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이라고 판단하면, 816단계로 진행하여 2진 정보 비트의 값을 LPS로 복원한다. 즉 상기 선택한 복원 정보 심볼의 값을 LPS로 복원한다.
하지만 상기 복원장치는 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이 아니라고 판단하면, 818단계로 진행하여 m+1 비트의 2진 정보 비트들의 값을 복원한다. 즉 상기 선택한 복원 정보 심볼의 값을 1비트의 MPS와 미리 결정된 m 비트의 값으로 복원한다. 상기 m 비트의 미리 결정된 값을 복원하는 예에 대해서는 상기 <표 5>에서 보이고 있다.
따라서 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값인 경우에는 상기 선택한 복원 정보 심볼이 1비트로 복원되고, 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이 아닌 경우에는 상기 선택한 복원 정보 심볼이 m+1 비트로 복원된다.
상기 복원장치는 820단계에서 상기 복호화가 이루어진 m진 정보 심볼 열 Z'을 구성하는 모든 정보 심볼들에 대한 복원이 이루어졌는지를 판단한다. 즉 상기 복호화가 이루어진 m진 정보 심볼 열 Z'에 대한 복원이 완료되었는지를 판단한다.
만약 복원이 완료되지 않았다고 판단되면, 상기 복원장치는 상기 812단계로 진행하여 다음 복원 정보 심볼을 선택하여 상술한 동작에 의한 복원 동작을 반복하여 수행한다.
하지만 복원이 완료되었다고 판단되면, 상기 복원장치는 822단계에서 앞에서 수행된 복원 동작에 의해 복원이 이루어진 비트들에 의해 2진 정보 비트 열을 생성한다.
도 9는 본 발명의 제1실시 예에서 제안하는 복원 기술에 따라 무손실 압축된 정보 심볼에 대한 복원을 수행하는 예를 보이고 있다. 도 9에서는 MPS가 '0'이고, LPS가 '1'이라 가정하며, 복원을 위해 앞에서 개시한 <표 5>를 이용하도록 한다.
도 9를 참조하면, 복원장치는 m진 정보 심볼 열 Z'인 '24034'로부터 순차적으로 복원 정보 심볼을 선택한다. 즉 상기 복원장치는 2, 4, 0, 3, 4의 순서로 복원 정보 심볼을 선택한다.
상기 복원장치는 첫 번째 복원 정보 심볼로 '2'를 선택하면, 상기 선택한 복원 정보 심볼 '2'가 LPS에 대응하여 미리 결정된 값인 '4'가 아니므로, 2진 정보 비트의 값을 MPS인 '0'과, 상기 선택한 복원 정보 심볼 '2'에 대응하여 미리 결정된 비트들인 '10'으로 복원한다. 따라서 상기 선택한 복원 정보 심볼 '2'는 '010'의 2진 정보 비트로 복원된다.
다음으로 상기 복원장치는 두 번째 복원 정보 심볼로 '4'를 선택하면, 상기 선택한 복원 정보 심볼 '4'가 LPS에 대응하여 미리 결정된 값이므로, 2진 정보 비트의 값을 LPS인 '1'로 복원한다. 그리고 상기 선택한 복원 정보 심볼 '4'에 대응하여 미리 결정된 2진 정보 비트들이 존재하지 않으므로 더 이상의 복원이 이루어지지 않는다. 따라서 상기 선택한 복원 정보 심볼 '4'는 '1'로 복원된다.
다음으로 상기 복원장치는 세 번째 복원 정보 심볼로 '0'을 선택하면, 상기 선택한 복원 정보 심볼 '0'이 LPS에 대응하여 미리 결정된 값인 '4'가 아니므로, 2진 정보 비트의 값을 MPS인 '0'과, 상기 선택한 복원 정보 심볼 '0'에 대응하여 미리 결정된 비트들인 '00'으로 복원한다. 따라서 상기 선택한 복원 정보 심볼 '0'는 '000'의 2진 정보 비트로 복원된다.
다음으로 상기 복원장치는 네 번째 복원 정보 심볼로 '3'을 선택하면, 상기 선택한 복원 정보 심볼 '3'이 LPS에 대응하여 미리 결정된 값인 '4'가 아니므로, 2진 정보 비트의 값을 MPS인 '0'과, 상기 선택한 복원 정보 심볼 '3'에 대응하여 미리 결정된 비트들인 '11'로 복원한다. 따라서 상기 선택한 복원 정보 심볼 '3'은 '011'의 2진 정보 비트로 복원된다.
마지막으로 상기 복원장치는 다섯 번째 복원 정보 심볼로 '4'를 선택하면, 상기 선택한 복원 정보 심볼 '4'가 LPS에 대응하여 미리 결정된 값이므로, 2진 정보 비트의 값을 LPS인 '1'로 복원한다. 그리고 상기 선택한 복원 정보 심볼 '4'에 대응하여 미리 결정된 2진 정보 비트들이 존재하지 않으므로 더 이상의 복원이 이루어지지 않는다. 따라서 상기 선택한 복원 정보 심볼 '4'는 '1'의 2진 정보 비트로 복원된다.
따라서 상술한 복원 동작에 의해 m진 정보 심볼 열 Z'인 '24034'로부터 2진 정보 비트 열 X인 '010100001110'이 복원된다.
B-2. 제2실시 예 (복원 기술)
도 10은 본 발명의 제2실시 예에 따른 복원장치의 구성을 보이고 있다.
도 10을 참조하면, 복호화부(1010)는 복원할 정보 패킷 Zn을 입력으로 하고, 상기 복원할 정보 패킷 Zn를 소정의 디코딩 기법에 의해 m진 정보 심볼 열 Z'n을 출력한다.
상기 복호화부(1010)에는 일 예로 엔트로피 코딩 (Entropy coding) 기법에 상응하는 엔트로피 디코딩 기법이 적용될 수 있다. 상기 엔트로피 디코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 디코딩 기법으로는 허프만 코더 (Huffman coder)에 대응한 디코더와 산술 부호 코더에 대응한 디코더 중 어느 것이나 사용할 수 있다.
정보 복원부(1012)는 정보 은닉이 이루어진 m진 정보 심볼 열 Z'n을 입력으로 하고, 상기 입력되는 정보 은닉이 이루어진 m진 정보 심볼 열 Z'n로부터 피 은닉 정보 비트와 은닉 정보 비트를 복원한다.
예컨대 상기 정보 복원부(1012)는 상기 m진 정보 심볼 열 Z'n로부터 하나의 복원 정보 심볼을 선택한다. 이때 정보 복원을 최초로 시작하는 경우에는 상기 m진 정보 심볼 열 Z'n의 첫 번째 정보 심볼을 복원 정보 심볼로 선택하고, 정보 복원이 진행되고 있는 중인 경우에는 현재까지 복원이 이루어진 정보 심볼을 제외한 나머지 정보 심볼들 중 첫 번째 정보 심볼을 복원 정보 심볼로 선택한다.
그리고 상기 정보 복원부(1012)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값인지를 판단한다. 이때 상기 LPS에 대응하여 치환된 값의 일 예는 2m이 될 수 있다. 상기 정보 복원부(1012)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값이라고 판단하면, 상기 복원 정보 심볼에 대응한 피 은닉 정보 비트 값을 LPS로 복원한다. 하지만 상기 정보 복원부(1012)는 상기 선택한 복원 정보 심볼이 LPS에 대응하여 치환된 값이 아니라고 판단하면, 상기 복원 정보 심볼에 대응하여 피 은닉 정보 비트의 값을 MPS로 복원하고 m 개의 은닉 정보 비트들을 미리 결정된 비트 값들로 복원한다.
하기 <표 6>에서는 선택한 복원 정보 심볼에 대응하여 복원할 피 은닉 정보와 m 개의 은닉 정보 비트들에 대한 일 예를 정의하고 있다.
Figure pct00008
상기 <표 6>에서는 m이 2인 경우를 가정하고 있다. 그리고 상기 <표 6>에서 MPS는 0, LPS는 1이 될 수 있다.
따라서 상기 정보 복원부(1012)는 복원 정보 심볼로 '2'가 선택되었다면, 피 은닉 정보 비트로 '0'을 복원하고, 은닉 정보 비트들로 '10'을 복원한다. 하지만 복원 정보 심볼로 '4'가 선택되었다면, 피 은닉 정보 비트만을 '1'로 복원한다.
한편 상기 정보 복원부(1012)는 상기 m진 정보 심볼 열 Z'n를 구성하는 모든 정보 심볼들에 대한 복원을 완료하면, 상기 모든 정보 심볼들의 복원에 의해 생성한 피 은닉 정보 비트 열 Yn과 은닉 정보 비트 열 Vk을 출력한다.
상기 정보 복원부(1012)로부터 출력되는 피 은닉 정보 비트 열 Yn과 은닉 정보 비트 열 Vk는 비트 결합부(1014)로 입력된다. 상기 비트 결합부(1014)는 상기 정보 복원부(1012)로부터 입력되는 피 은닉 정보 비트 열 Yn과 은닉 정보 비트 열 Vk을 결합하여 2진 정보 비트 열 X를 출력한다.
도 11은 본 발명의 제2실시 예에 따른 복원장치에서 압축 데이터를 복원하기 위한 제어 흐름을 보이고 있다.
도 11을 참조하면, 복원장치는 1110단계에서 입력되는 m진 정보 심볼 열 Zn에 대한 복호화를 수행한다. 상기 복호화를 위해 일 예로 엔트로피 코딩 (Entropy coding) 기법에 상응하는 엔트로피 디코딩 기법이 적용될 수 있다. 상기 엔트로피 디코딩 기법에서는 심볼의 빈도만을 고려하는데, 상기 엔트로피 디코딩 기법으로는 허프만 코더 (Huffman coder)에 대응한 디코더와 산술 부호 코더에 대응한 디코더 중 어느 것이나 사용할 수 있다.
상기 복원장치는 상기 m진 정보 심볼 열 Zn에 대한 복호화가 완료되면, 812단계에서 상기 복호화가 이루어진 m진 정보 심볼 열 Z'n로부터 복원 정보 심볼을 순차적으로 선택한다. 즉 상기 복호화가 이루어진 m진 정보 심볼 열 Z'n로부터 복원 정보 심볼을 한 심볼씩 선택한다.
그리고 상기 복원장치는 1114단계에서 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값 (일 예로 2m)인지를 판단한다. 상기 복원장치는 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이라고 판단하면, 1116단계로 진행하여 피 은닉 정보 비트의 값을 LPS로 복원한다. 즉 상기 선택한 복원 정보 심볼의 값을 LPS로 복원한다.
하지만 상기 복원장치는 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이 아니라고 판단하면, 1118단계로 진행하여 1비트의 피 은닉 정보 비트의 값을 MPS로 복원한다. 그리고 1120단계로 진행하여 상기 선택한 복원 정보 심볼에 대응하여 미리 결정되어 있는 m 비트의 값을 은닉 정보 비트들로 복원한다. 상기 m 비트의 은닉 정보 비트들의 값을 복원하는 예에 대해서는 상기 <표 6>에서 보이고 있다.
따라서 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값인 경우에는 상기 선택한 복원 정보 심볼이 1비트의 피 은닉 정보 비트로 복원되고, 상기 선택한 복원 정보 심볼의 값이 LPS에 대응하여 미리 결정된 값이 아닌 경우에는 상기 선택한 복원 정보 심볼이 1비트의 피 은닉 정보 비트와 m 비트의 은닉 정보 비트들로 복원된다.
상기 복원장치는 1122단계에서 상기 복호화가 이루어진 m진 정보 심볼 열 Z'n을 구성하는 모든 정보 심볼들에 대한 복원이 이루어졌는지를 판단한다. 즉 상기 복호화가 이루어진 m진 정보 심볼 열 Z'n에 대한 복원이 완료되었는지를 판단한다.
만약 복원이 완료되지 않았다고 판단되면, 상기 복원장치는 상기 1112단계로 진행하여 다음 복원 정보 심볼을 선택하여 상술한 동작에 의한 복원 동작을 반복하여 수행한다.
하지만 복원이 완료되었다고 판단되면, 상기 복원장치는 1124단계에서 앞에서 수행된 복원 동작에 의해 복원이 이루어진 피 은닉 정보 비트 열과 은닉 정보 비트 열을 결합하여 2진 정보 비트 열을 생성한다.
도 12는 본 발명의 제2실시 예에서 제안하는 복원 기술에 따라 무손실 압축된 정보 심볼에 대한 복원을 수행하는 예를 보이고 있다. 도 12에서는 MPS가 '0'이고, LPS가 '1'이라 가정하며, 복원을 위해 앞에서 개시한 <표 6>을 이용하도록 한다.
도 12를 참조하면, 복원장치는 m진 정보 심볼 열 Z'n인 '1402304'로부터 순차적으로 복원 정보 심볼을 선택한다. 즉 상기 복원장치는 1, 4, 0, 2, 3, 0, 4의 순서로 복원 정보 심볼을 선택한다.
상기 복원장치는 첫 번째 복원 정보 심볼로 '1'을 선택하면, 상기 선택한 복원 정보 심볼 '1'이 LPS에 대응하여 미리 결정된 값인 '4'가 아니므로, 피 은닉 정보 비트의 값을 MPS인 '0'으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 '1'에 대응하여 미리 결정된 비트들인 '01'을 은닉 정보 비트들로 복원한다.
다음으로 상기 복원장치는 두 번째 복원 정보 심볼로 '4'를 선택하면, 상기 선택한 복원 정보 심볼 '4'가 LPS에 대응하여 미리 결정된 값이므로, 피 은닉 정보 비트의 값을 LPS인 '1'로 복원한다. 그리고 상기 선택한 복원 정보 심볼 '4'에 대응하여 미리 결정된 은닉 정보 비트들이 존재하지 않으므로 더 이상의 복원이 이루어지지 않는다.
다음으로 상기 복원장치는 세 번째 복원 정보 심볼로 '0'을 선택하면, 상기 선택한 복원 정보 심볼 '0'이 LPS에 대응하여 미리 결정된 값인 '4'가 아니므로, 피 은닉 정보 비트의 값을 MPS인 '0'으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 '0'에 대응하여 미리 결정된 비트들인 '00'을 은닉 정보 비트들로 복원한다.
다음으로 상기 복원장치는 네 번째 복원 정보 심볼로 '2'를 선택하면, 상기 선택한 복원 정보 심볼 '2'가 LPS에 대응하여 미리 결정된 값인 '4'가 아니므로, 피 은닉 정보 비트의 값을 MPS인 '0'으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 '2'에 대응하여 미리 결정된 비트들인 '10'을 은닉 정보 비트들로 복원한다.
다음으로 상기 복원장치는 다섯 번째 복원 정보 심볼로 '3'을 선택하면, 상기 선택한 복원 정보 심볼 '3'이 LPS에 대응하여 미리 결정된 값인 '4'가 아니므로, 피 은닉 정보 비트의 값을 MPS인 '0'으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 '3'에 대응하여 미리 결정된 비트들인 '11'을 은닉 정보 비트들로 복원한다.
다음으로 상기 복원장치는 여섯 번째 복원 정보 심볼로 '0'을 선택하면, 상기 선택한 복원 정보 심볼 '0'이 LPS에 대응하여 미리 결정된 값인 '4'가 아니므로, 피 은닉 정보 비트의 값을 MPS인 '0'으로 복원한다. 그리고 상기 선택한 복원 정보 심볼 '0'에 대응하여 미리 결정된 비트들인 '00'을 은닉 정보 비트들로 복원한다.
마지막으로 상기 복원장치는 일곱 번째 복원 정보 심볼로 '4'를 선택하면, 상기 선택한 복원 정보 심볼 '4'가 LPS에 대응하여 미리 결정된 값이므로, 피 은닉 정보 비트의 값을 LPS인 '1'로 복원한다. 그리고 상기 선택한 복원 정보 심볼 '4'에 대응하여 미리 결정된 은닉 정보 비트들이 존재하지 않으므로 더 이상의 복원이 이루어지지 않는다.
따라서 상술한 복원 동작에 의해 m진 정보 심볼 열 Z'n인 '1402304'로부터 2진 피 은닉 정보 비트 열인 '0100001'과 2진 은닉 정보 비트 열인 '0100101100'을 복원한다. 그리고 상기 2진 피 은닉 정보 비트 열인 '0100001'과 상기 2진 은닉 정보 비트 열인 '0100101100'을 결합한 2진 정보 비트 열 X인 '01000010100101100'을 생성한다.
한편 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어 져서는 안 될 것이다.

Claims (25)

  1. 정보 은닉에 의한 데이터 압축 방법에 있어서,
    압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 추가로 선택한 m(≥1)개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환하는 데이터 압축 방법.
  2. 제1항에 있어서,
    상기 선택한 피 은닉 정보 비트의 값이 설정 값이 아닌 경우 상기 선택한 피 은닉 정보 비트를 상기 미리 설정된 2m 진 값과 중복되지 않는 값으로 치환하는 데이터 압축 방법.
  3. 제1항 또는 제2항에 있어서,상기 결정 값은 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 값임을 특징으로 하는 데이터 압축 방법.
  4. 제2항에 있어서,
    상기 미리 설정된 2m 진 값과 중복되지 않는 값은 2m임을 특징으로 하는 데이터 압축 방법.
  5. 정보 은닉에 의한 데이터 압축 방법에 있어서,
    길이가 n인 피 은닉 정보 비트 열과 길이가 k인 은닉 정보 비트 열을 입력으로 하고, 상기 피 은닉 정보 비트 열의 각 비트 중 결정 값에 해당하는 비트의 값을 상기 은닉 정보 비트 열로부터 순차적으로 추출한 m(≥1)개의 비트들에 상응하는 2m진 값으로 치환하는 데이터 압축 방법.
  6. 제5항에 있어서,압축을 위한 2진 정보 비트 열로부터 상기 길이가 n인 피 은닉 정보 비트 열과 상기 길이가 k인 은닉 정보 비트 열을 분리하는 과정을 더 포함하는 데이터 압축 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 피 은닉 정보 비트 열의 각 비트 중 상기 결정 값이 아닌 비트의 값을 상기 2m 진 값과 중복되지 않는 값으로 치환하는 데이터 압축 방법.
  8. 제5항에 있어서,
    상기 결정 값은 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 값임을 특징으로 하는 데이터 압축 방법.
  9. 제7항에 있어서,
    상기 2m진 값과 중복되지 않는 값은 2m임을 특징으로 하는 데이터 압축 방법.
  10. 정보 은닉에 의한 데이터 압축 장치에 있어서,
    압축을 위한 2진 정보 비트 열로부터 선택한 피 은닉 정보 비트의 값이 결정 값인 경우 상기 2진 정보 비트 열로부터 추가로 선택한 m(≥1)개의 은닉 정보 비트에 대응하여 미리 설정된 2m 진 값으로 상기 선택한 피 은닉 정보 비트와 상기 추가로 선택한 m 개의 은닉 정보 비트를 치환하는 정보 은닉부와,
    상기 정보 은닉부로부터 출력되는 2m+1 진 정보 심볼 열을 부호화하여 출력하는 부호화부를 포함하는 데이터 압축 장치.
  11. 제10항에 있어서, 상기 정보 은닉부는,
    상기 선택한 피 은닉 정보 비트의 값이 설정 값이 아닌 경우 상기 선택한 피 은닉 정보 비트를 상기 미리 설정된 2m 진 값과 중복되지 않는 값으로 치환하는 데이터 압축 장치.
  12. 제10항 또는 제11항에 있어서,
    상기 결정 값은 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 값임을 특징으로 하는 데이터 압축 장치.
  13. 제11항에 있어서,
    상기 미리 설정된 2m 진 값과 중복되지 않는 값은 2m임을 특징으로 하는 데이터 압축 장치.
  14. 정보 은닉에 의한 데이터 압축 장치에 있어서,
    길이가 n인 피 은닉 정보 비트 열과 길이가 k인 은닉 정보 비트 열을 입력으로 하고, 상기 피 은닉 정보 비트 열의 각 비트 중 결정 값에 해당하는 비트의 값을 상기 은닉 정보 비트 열로부터 순차적으로 추출한 m(≥1)개의 비트들에 상응하는 2m진 값으로 치환하는 정보 은닉부와,
    상기 정보 은닉부로부터 출력되는 2m+1진 정보 심볼 열을 부호화하여 출력하는 부호화부를 포함하는 데이터 압축 장치.
  15. 제14항에 있어서,
    압축을 위한 2진 정보 비트 열로부터 상기 길이가 n인 피 은닉 정보 비트 열과 상기 길이가 k인 은닉 정보 비트 열을 분리하는 비트 분리부를 더 포함하는 데이터 압축 장치.
  16. 제14항 또는 제15항에 있어서,
    상기 피 은닉 정보 비트 열의 각 비트 중 상기 결정 값이 아닌 비트의 값을 상기 2m 진 값과 중복되지 않는 값으로 치환하는 데이터 압축 장치.
  17. 제14항에 있어서,
    상기 결정 값은 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 값임을 특징으로 하는 데이터 압축 장치.
  18. 제16항에 있어서,
    상기 2m 진 값과 중복되지 않는 값은 2m임을 특징으로 하는 데이터 압축 장치.
  19. 데이터 압축 방법에 있어서,
    압축을 위한 2진 정보 비트 열로부터 1비트의 피 은닉 정보 비트를 선택하고, 상기 선택한 피 은닉 정보 비트의 값이 상기 2진 정보 비트 열 내의 비트 값들 중 가장 높은 비율을 갖는 결정 값인지를 판단하는 과정과,
    상기 선택한 피 은닉 정보 비트의 값이 상기 결정 값이 아닌 경우, 상기 선택한 피 은닉 정보 비트 값을 2m으로 치환하는 과정과,
    상기 선택한 피 은닉 정보 비트의 값이 상기 결정 값인 경우, 상기 2진 정보 비트 열에서 상기 선택한 피 은닉 정보 비트 값의 다음 비트를 포함하여 연속하는 m개의 비트들에 상응하는 2m 진 값에 의해 상기 피 은닉 정보 비트의 값을 치환하는 과정을 포함하는 데이터 압축 방법.
  20. 데이터 복원 방법에 있어서,
    정보 심볼 열로부터 순차적으로 선택되는 2m+1 진의 복원 정보 심볼의 값이 결정 값인 경우, 상기 선택한 복원 정보 심볼의 값을 상기 결정 값에 상응하는 2진 정보 비트 값으로 복원하는 과정과,
    상기 선택한 복원 정보 심볼의 값이 상기 결정 값이 아닌 경우, 상기 선택한 복원 정보 심볼의 값에 상응하는 길이가 m+1인 2진 정보 비트 값으로 복원하는 과정을 포함하는 데이터 복원 방법.
  21. 제20항에 있어서,
    상기 결정 값은 2m임을 특징으로 하는 데이터 복원 방법.
  22. 제20항 또는 제21항에 있어서,
    상기 순차적으로 선택되는 2m+1진의 복원 정보 심볼에 의해 복원한 2진 정보 비트 값들을 연결하여 압축이 해제된 2진 정보 비트 열을 획득하는 데이터 복원 방법.
  23. 데이터 복원 방법에 있어서,
    부호화된 정보 심볼 열을 복호하는 복화화부와,
    상기 복호화된 정보 심볼 열로부터 순차적으로 선택되는 2m+1진의 복원 정보 심볼의 값이 결정 값인 경우 상기 선택한 복원 정보 심볼의 값을 상기 결정 값에 상응하는 2진 정보 비트 값으로 복원하고, 상기 선택한 복원 정보 심볼의 값이 상기 결정 값이 아닌 경우 상기 선택한 복원 정보 심볼의 값에 상응하는 길이가 m+1인 2진 정보 비트 값으로 복원하는 정보 복원부를 포함하는 데이터 복원 장치.
  24. 제23항에 있어서,
    상기 결정 값은 2m임을 특징으로 하는 데이터 복원 장치.
  25. 제23항 또는 제24항에 있어서, 상기 정보 복원부는,
    상기 순차적으로 선택되는 2m+1진의 복원 정보 심볼에 의해 복원한 2진 정보 비트 값들을 연결하여 압축이 해제된 2진 정보 비트 열을 획득하는 데이터 복원 장치.
KR1020127015998A 2010-01-25 2011-01-25 데이터 압축/해제장치 및 방법 KR101367811B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20100006688 2010-01-25
KR1020100006688 2010-01-25
PCT/KR2011/000518 WO2011090359A2 (ko) 2010-01-25 2011-01-25 데이터 압축/해제장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120103654A true KR20120103654A (ko) 2012-09-19
KR101367811B1 KR101367811B1 (ko) 2014-02-27

Family

ID=44307429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127015998A KR101367811B1 (ko) 2010-01-25 2011-01-25 데이터 압축/해제장치 및 방법

Country Status (2)

Country Link
KR (1) KR101367811B1 (ko)
WO (1) WO2011090359A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101468307B1 (ko) * 2013-05-27 2014-12-02 김정훈 이진데이터 압축 및 압축해제 장치와 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390153B (zh) * 2021-12-02 2023-07-11 中南大学 一种秘密信息的无损传输、隐藏、读取方法及计算机系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100389702B1 (ko) * 2000-09-18 2003-06-27 주식회사 보람씨앤씨 비트치환에 의한 무손실 데이터압축 및 복원방법
US6895101B2 (en) * 2002-06-28 2005-05-17 University Of Rochester System and method for embedding information in digital signals
EP1692637A4 (en) * 2003-12-05 2009-11-04 New Jersey Tech Inst SYSTEM AND METHOD FOR ROBUST REVERSIBLE DATA MANAGEMENT AND RECOVERY IN THE SPATIAL DOMAIN
CN102144237B (zh) * 2008-07-03 2014-10-22 美国唯美安视国际有限公司 压缩媒体的有效水印方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101468307B1 (ko) * 2013-05-27 2014-12-02 김정훈 이진데이터 압축 및 압축해제 장치와 방법

Also Published As

Publication number Publication date
WO2011090359A2 (ko) 2011-07-28
KR101367811B1 (ko) 2014-02-27
WO2011090359A3 (ko) 2012-01-05

Similar Documents

Publication Publication Date Title
CN108880556B (zh) 基于lz77的无损数据压缩方法、误码修复方法及编码器和解码器
JP4801776B2 (ja) データ圧縮
CN108768403B (zh) 基于lzw的无损数据压缩、解压方法及lzw编码器、解码器
KR100894002B1 (ko) 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법
KR101049699B1 (ko) 데이터의 압축방법
JP3397431B2 (ja) データ圧縮方法および装置ならびにデータ復元方法および装置
US7375660B1 (en) Huffman decoding method
JPH1065551A (ja) データ圧縮方法
JP5656593B2 (ja) 符号化データを復号する装置及び方法
JP2007043595A (ja) 可変長符号復号化方法および装置ならびにデータ伸長装置
Saravanan et al. Enhancing efficiency of huffman coding using Lempel Ziv coding for image compression
Rahmani et al. An efficient histogram-based index mapping mechanism for reversible data hiding in VQ-compressed images
Kwon et al. Novel error detection algorithm for LZSS compressed data
JP5913748B2 (ja) セキュアで損失のないデータ圧縮
KR101367811B1 (ko) 데이터 압축/해제장치 및 방법
JP4758494B2 (ja) ビット長を符号に変換する回路及び方法
Mathpal et al. A research paper on lossless data compression techniques
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
KR100636370B1 (ko) 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법
JP6249608B2 (ja) 復号化装置及び方法
KR101268934B1 (ko) 데이터 압축/해제장치 및 방법
Wu et al. Error-resilient LZW data compression
JP2005521324A (ja) 損失のないデータの圧縮および圧縮解除方法および装置
KR20130015798A (ko) 데이터 부호화/복호화 장치 및 방법
Begum et al. An efficient text compression for massive volume of data

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: 20170109

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180108

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 6