KR101726572B1 - 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치 - Google Patents

무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치 Download PDF

Info

Publication number
KR101726572B1
KR101726572B1 KR1020130057873A KR20130057873A KR101726572B1 KR 101726572 B1 KR101726572 B1 KR 101726572B1 KR 1020130057873 A KR1020130057873 A KR 1020130057873A KR 20130057873 A KR20130057873 A KR 20130057873A KR 101726572 B1 KR101726572 B1 KR 101726572B1
Authority
KR
South Korea
Prior art keywords
data
code
block
rice
modulation
Prior art date
Application number
KR1020130057873A
Other languages
English (en)
Other versions
KR20140137505A (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 KR1020130057873A priority Critical patent/KR101726572B1/ko
Priority to PCT/KR2014/004436 priority patent/WO2014189236A1/ko
Publication of KR20140137505A publication Critical patent/KR20140137505A/ko
Application granted granted Critical
Publication of KR101726572B1 publication Critical patent/KR101726572B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information
    • H04N1/415Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information in which the picture-elements are subdivided or grouped into fixed one-dimensional or two-dimensional blocks

Abstract

무손실 이미지 압축 방법은 무손실 이미지 압축 장치에서 수행된다. 무손실 이미지 압축 방법은 대상 이미지를 특정 사이즈의 픽셀 블록으로 분할하는 전처리 단계; 상기 픽셀 블록에 대해 차분 펄스 부호 변조(Differential Pulse Code Modulation, DPCM)를 수행하여 변조 블록을 생성하는 단계; 상기 변조 블록을 기초로 가변 골룸라이스(Golomb-Rice, GR) 인코딩을 수행하여 골룸라이스 블록을 생성하는 단계; 및 상기 변조 블록에 대한 부호 유무 및 부호 종류를 검출하여 부호열(Sign Row)을 생성하는 단계를 포함한다. 따라서, 대상 이미지는 손실 없이 높은 압축률을 유지하면서 빠른 속도로 압축될 수 있다.

Description

무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치{METHOD OF LOSSLESS IMAGE ENCONDING AND DECODING AND DEVICE PERFORMING THE SAME}
본 발명은 무손실 이미지 압축 및 복원 기술에 관한 것으로, 보다 상세하게는, 이미지를 손실 없이 압축하면서도 높은 압축률을 유지하고 고성능의 처리가 가능한 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치에 관한 것이다.
도 1은 종래 기술에 따른 무손실 이미지 압축 방법의 개념도이다.
도 1을 참조하면, 대상 이미지는 일정한 픽셀(예를 들어, 4 * 4)들의 그룹인 픽셀 블록(Pixel Block)들로 구성되고, 하나의 픽셀 블록은 YUV 또는 RGB의 3개의 블록으로 구성될 수 있다. 다시 말해, 하나의 픽셀 블록은 Y 블록, U 블록 및 V 블록을 각각 포함할 수 있다.
여기에서, YUV는 (1) 휘도 신호, (2) 휘도 신호와 청색 성분의 차 및 (3) 휘도 신호와 적색 성분의 차에 해당하는 3가지 정보로 색을 나타내는 형식에 해당하고, RGB는 적색, 녹색 및 청색에 의해 색을 정의하는 형식에 해당한다.
차분차분펄스부호변조부는 해당 픽셀 블록에 대해 차분 차분 펄스 부호 변조(Differential - Differential Pulse Coded Modulation, DDPCM)를 수행한다. 이를 통해, 하나의 기준 픽셀 값(또는 First Element)과 15개의 차분 값(Differential Value)들이 생성된다. 여기에서, 차분 값은 크기 값(Absolute Value)을 나타내는 크기 데이터와 부호(예를 들어, + 또는 -)를 나타내는 부호(Sign) 데이터로 구분된다. 크기 데이터는 각 픽셀당 1비트 내지 8비트(0부터 255까지)의 크기 비트를 포함하고, 부호 데이터는 15개의 부호 비트를 포함한다.
차분차분펄스부호변조부는 크기 데이터와 부호 비트를 각각 골룸라이스 인코더(Golomb-Rice Encoder, GR) 및 패킹부에 제공한다.
골룸라이스 인코더는 크기 데이터의 각 크기 값을 4(22)로 나누어 이를 나머지(remainder)와 몫(quotient)으로 구분한다. 이 때, 골룸라이스 인코더는 각각의 나머지를 결합하여 총 30 비트의 나머지 데이터를 생성하고, 각각의 몫을 결합하여 가변 길이의 몫 데이터를 생성한다.
골룸라이스 인코더는 몫 데이터에 단항 부호화(Unary Coding)을 수행하여, 가변 길이(Variable Length)를 갖고 단항 코드(Unary Code) 형태로 압축된 몫 데이터를 생성한다.
패킹부에서는 기준 픽셀 값, 부호 데이터, 나머지 데이터 및 압축된 몫 데이터를 기초로 하기의 구조와 같은 압축된 블록 데이터를 생성한다.
도 2는 압축된 이미지 데이터의 구조를 나타내는 예시도이다.
도 2(a)를 참조하면, 종래 기술에 의해 압축된 이미지 데이터의 구조를 나타내고 있다.
압축된 블록 데이터는 앞 부분에 압축된 블록 전체의 길이(또는 가변 길이에 해당하는 압축된 몫 데이터 부분의 길이)를 포함하고, 이후 순차적으로 기준 픽셀 값, 부호 데이터, 나머지 데이터 및 압축된 몫 데이터가 저장된다. 여기에서, 압축된 몫 데이터는 가변 길이를 가지고, 이 외의 데이터들은 고정 길이(Fixed Length)를 가진다.
대상 이미지를 복원하는 방법은 대상 이미지를 압축하는 방법을 역순으로 수행하는 과정과 동일하다.
언패킹부는 압축된 이미지를 수신하여 8비트의 기준 픽셀 값, 15비트의 부호 데이터, 30비트의 나머지 데이터 및 가변 길이의 압축된 몫 데이터를 각각 생성한다. 골룸라이스 디코더에서는 나머지 데이터와 압축된 몫 데이터를 기초로 크기 데이터를 복원한다. 차분차분펄스부호복조부는 부호 데이터, 복원된 크기 데이터 및 기준 픽셀 값을 기초로 4 * 4 사이즈의 픽셀 블록을 복원한다.
본 발명은 이미지를 손실 없이 압축하고 복원할 수 있는 무손실 이미지 압축 및 복원에 관한 기술을 제공하고자 한다.
본 발명은 보다 높은 압축률을 갖는 무손실 이미지 압축 및 복원에 관한 기술을 제공하고자 한다.
본 발명은 높은 압축률을 유지하면서도 고성능의 처리가 가능한 무손실 이미지 압축 및 복원에 관한 기술을 제공하고자 한다.
실시예들 중에서, 무손실 이미지 압축 방법은 무손실 이미지 압축 장치에서 수행된다. 상기 무손실 이미지 압축 방법은 대상 이미지를 특정 사이즈의 픽셀 블록으로 분할하는 전처리 단계; 상기 픽셀 블록에 대해 차분 펄스 부호 변조(Differential Pulse Code Modulation, DPCM)를 수행하여 변조 블록을 생성하는 단계; 상기 변조 블록을 기초로 가변 골룸라이스(Golomb-Rice, GR) 인코딩을 수행하여 골룸라이스 블록을 생성하는 단계; 및 상기 변조 블록에 대한 부호 유무 및 부호 종류를 검출하여 부호열(Sign Row)을 생성하는 단계를 포함한다.
일 실시예에서, 상기 골룸라이스 블록을 생성하는 단계는 상기 가변 골룸 라이스 인코딩의 제수(Divisor)를 2의 배수 중 하나로 결정하는 단계; 상기 변조 블록의 픽셀 각각에 대한 크기(Absolute) 데이터를 상기 결정된 제수를 기초로 나머지(Remainder) 데이터와 몫(Quotient) 데이터로 구분하는 단계; 및 상기 변조 블록의 상기 몫 데이터들을 기초로 몫 데이터 열(Row)을 생성하고, 상기 몫 데이터 열에 대하여 단항 부호화(Unary Coding)를 수행하여 단항 코드를 생성하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 골룸라이스 블록을 생성하는 단계는 상기 단항 코드와 상기 나머지 데이터를 기초로 제1 데이터를 생성하는 단계; 상기 가변 골룸 라이스 인코딩의 제수를 1로 결정하고, 상기 나머지 및 몫 데이터로 구분하는 단계와 상기 단항 코드를 생성하는 단계를 반복 수행하여 제2 데이터를 생성하는 단계; 및 상기 제1 및 제2 데이터의 크기를 비교하고, 비교한 결과 크기가 작은 데이터의 제수, 나머지 데이터 및 단항 코드를 기초로 상기 골룸라이스 블록을 갱신하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 부호열을 생성하는 단계는 상기 변조 블록의 픽셀 각각에 대한 크기 데이터가 특정 값에 해당하는지 여부를 확인하는 단계; 및 특정 값에 해당하는 경우, 해당 픽셀은 부호가 없는 것으로 판단하여 해당 픽셀의 부호를 나타내는 부호 비트를 상기 부호열에서 제거하는 단계를 포함할 수 있다.
일 실시예에서, 무손실 이미지 압축 방법은 상기 골룸라이스 블록 및 상기 부호열을 기초로 압축된 이미지 데이터를 생성하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 압축된 이미지 데이터는 상기 결정된 가변 골룸라이스 인코딩의 제수와 가변 길이의 부호열을 포함할 수 있다.
실시예들 중에서, 무손실 이미지 복원 방법은 무손실 이미지 복원 장치에서 수행된다. 무손실 이미지 압축 방법에 의해 생성된 압축 이미지에 대한 무손실 이미지 복원 방법은 상기 압축 이미지 데이터를 기초로 골룸라이스 블록 및 부호열을 각각 추출하는 단계; 상기 골룸라이스 블록을 기초로 가변 골룸라이스 디코딩을 수행하여 변조 블록을 생성하는 단계; 상기 생성된 변조 블록과 상기 부호열을 기초로 상기 변조 블록의 부호를 나타내는 부호 데이터를 생성하는 단계; 및 상기 생성된 부호 데이터를 기초로 상기 변조 블록을 갱신하고, 상기 갱신된 변조 블록에 대해 역 차분 펄스 부호 변조(Inverse DPCM)를 수행하여 픽셀 블록을 생성하는 단계를 포함한다.
일 실시예에서, 상기 변조 블록을 생성하는 단계는 상기 압축 이미지 데이터로부터 제수, 단항 코드 및 나머지 데이터를 각각 추출하는 단계; 상기 추출된 단항 코드에 대하여 단항 복호화(Unary Decoding)을 수행하여 몫 데이터를 생성하는 단계; 및 상기 추출된 제수, 상기 생성된 몫 데이터 및 상기 추출된 나머지 데이터를 기초로 상기 변조 블록의 픽셀 각각에 대한 크기 데이터를 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 변조 블록의 부호를 결정하는 단계는 상기 변조 블록의 픽셀 각각에 대한 크기 데이터가 특정 값에 해당하는지 여부를 확인하는 단계; 및 특정 값에 해당하는 경우, 상기 부호열에 특정 값을 삽입하여 부호 데이터를 생성하는 단계를 포함할 수 있다.
실시예들 중에서, 무손실 이미지 압축 장치는 대상 이미지를 특정 사이즈의 픽셀 블록으로 분할하는 전처리부; 상기 픽셀 블록에 대해 차분 펄스 부호 변조(Differential Pulse Code Modulation, DPCM)를 수행하여 변조 블록을 생성하는 차분펄스부호 변조부; 상기 변조 블록을 기초로 가변 골룸라이스(Golomb-Rice, GR) 인코딩을 수행하여 골룸라이스 블록을 생성하는 콜룸라이스 변조부; 및 상기 변조 블록에 대한 부호 유무 및 부호 종류를 검출하여 부호열(Sign Row)을 생성하는 부호 변조부를 포함한다.
일 실시예에서, 상기 골룸라이스 변조부는 상기 가변 골룸 라이스 인코딩의 제수(Divisor)를 2의 배수 중 하나로 결정하고, 상기 변조 블록의 픽셀 각각에 대한 크기(Absolute) 데이터를 상기 결정된 제수를 기초로 나머지(Remainder) 데이터와 몫(Quotient) 데이터로 구분하며, 상기 변조 블록의 상기 몫 데이터들을 기초로 몫 데이터 열을 생성하고, 상기 몫 데이터 열에 대하여 단항 부호화(Unary Coding)를 수행하여 단항 코드를 생성할 수 있다.
일 실시예에서, 상기 골룸라이스 변조부는 상기 단항 코드와 상기 나머지 데이터를 기초로 제1 데이터를 생성하고, 상기 가변 골룸 라이스 인코딩의 제수를 1로 결정하여 제2 데이터를 생성하며, 상기 제1 및 제2 데이터의 크기를 비교하고, 비교한 결과 크기가 작은 데이터의 제수, 나머지 데이터 및 단항 코드를 기초로 상기 골룸라이스 블록을 갱신할 수 있다.
일 실시예에서, 상기 부호 변조부는 상기 변조 블록의 픽셀 각각에 대한 크기 데이터가 특정 값에 해당하는지 여부를 확인하고, 특정 값에 해당하는 경우, 해당 픽셀은 부호가 없는 것으로 판단하여 해당 픽셀의 부호를 나타내는 부호 비트를 상기 부호열에서 제거할 수 있다.
일 실시예에서, 상기 무손실 이미지 압축 장치는 상기 골룸라이스 블록 및 상기 부호열을 기초로 압축된 이미지 데이터를 생성하는 패킹부를 더 포함할 수 있다.
일 실시예에서, 상기 압축된 이미지 데이터는 상기 결정된 가변 골룸라이스 인코딩의 제수와 가변 길이의 부호열을 포함할 수 있다.
실시예들 중에서, 무손실 이미지 복원 장치는 상기 압축 이미지 데이터를 기초로 골룸라이스 블록 및 부호열을 각각 추출하는 언패킹부; 상기 골룸라이스 블록을 기초로 가변 골룸라이스 디코딩을 수행하여 변조 블록을 생성하는 골룸라이스 복조부; 상기 생성된 변조 블록과 상기 부호열을 기초로 상기 변조 블록의 부호를 결정하는 부호 복조부; 및 상기 부호가 결정된 변조 블록에 대해 역 차분 펄스 부호 변조(Inverse DPCM)를 수행하여 픽셀 블록을 생성하는 차분 펄스 부호 복조부를 포함한다.
일 실시예에서, 상기 골룸라이스 복조부는 상기 압축 이미지로부터 제수, 단항 코드 및 나머지 데이터를 각각 추출하고, 상기 추출된 단항 코드에 대하여 단항 복호화(Unary Decoding)을 수행하여 몫 데이터를 생성하며, 상기 추출된 제수, 상기 생성된 몫 데이터 및 상기 추출된 나머지 데이터를 기초로 상기 변조 블록의 픽셀 각각에 대한 크기 테이터를 생성할 수 있다.
일 실시예에서, 상기 부호 복조부는 상기 변조 블록의 픽셀 각각에 대한 크기 데이터가 특정 값에 해당하는지 여부를 확인하고, 특정 값에 해당하는 경우, 상기 부호열에 특정 값을 삽입하여 부호 데이터를 생성할 수 있다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 무손실 이미지 압축 및 복원에 관한 기술은 차분 펄스 부호 변조 및 가변 골룸라이스 인코딩을 통해 이미지를 손실 없이 압축할 수 있다.
본 발명의 일 실시예에 따른 무손실 이미지 압축 및 복원에 관한 기술은 가변 골룸라이스 인코딩과 부호 변조화를 통해 이미지의 압축률을 높일 수 있다.
본 발명의 일 실시예에 따른 무손실 이미지 압축 및 복원에 관한 기술은 차분 펄스 부호 변조 및 부호 변조화를 통해 이미지 압축 및 복원에 대한 고성능의 처리가 가능할 수 있다.
도 1은 종래 기술에 따른 무손실 이미지 압축 및 복원 방법의 개념도이다.
도 2는 압축된 이미지 데이터의 구조를 나타내는 예시도이다.
도 3은 본 발명의 일 실시예에 따른 무손실 이미지 압축 장치를 설명하는 도면이다.
도 4는 도 3에 있는 무손실 이미지 압축 장치에서 수행하는 무손실 이미지 압축 방법을 설명하는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 무손실 이미지 복원 장치를 설명하는 도면이다.
도 6은 도 5에 있는 무손실 이미지 복원 장치에서 수행하는 무손실 이미지 복원 방법을 설명하는 흐름도이다.
도 7은 차분 펄스 부호 변조를 설명하는 예시도이다.
도 8은 단항 부호화를 설명하는 예시도이다.
도 9는 변조 블록을 나타내는 예시도이다.
도 10은 부호 변조 및 복조를 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
“제1”, “제2” 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c, ...)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 3은 본 발명의 일 실시예에 따른 무손실 이미지 압축 장치를 설명하는 도면이다.
도 3을 참조하면, 무손실 이미지 압축 장치(300)는 전처리부(310), 차분펄스부호변조부(320), 골룸라이스 변조부(330), 부호 변조부(340), 패킹부(350) 및 압축 제어부(360)를 포함한다.
무손실 이미지 압축 장치(300)는 수신한 특정 이미지를 특정 사이즈의 픽셀 블록으로 분할하고, 해당 픽셀 블록에 대해 차분 펄스 부호 변조, 가변 골룸라이스 인코딩 및 부호 변조를 각각 수행하며, 변조된 데이터를 기초로 압축된 이미지 데이터를 생성한다.
무손실 이미지 압축 장치(300)는 상기 기능을 수행하는 컴퓨팅 장치에 해당할 수 있으며, 예를 들어, 데스크톱(Desktop), 노트북(Laptop), 스마트폰(Smartphone) 또는 태블릿 PC(Tablet Personal Computer)에 해당할 수 있다. 나아가, 무손실 이미지 압축 장치(300)는 컴퓨팅 장치에 포함되어 있는 GPU(Graphic Processing Unit)와 같은 칩(Chip) 또는 회로 모듈에 해당할 수 있다.
여기에서, 무손실 이미지 압축 장치(300)는 컴퓨터가 읽을 수 있는 기록 매체로 구현된 나열형 콘텐츠 제공 프로그램을 제공할 수 있다. 여기에서, 제공은 컴퓨터 프로그램의 배포, 가상 또는 클라우드 컴퓨팅 환경에서의 컴퓨터 프로그램 실행을 포함할 수 있다.
무손실 이미지 압축 장치(300)는 이미지를 제공하거나 또는 무손실 이미지 압축 과정에서 생성되는 데이터를 저장하는 데이터베이스(예를 들어, 메모리)와 전기적으로 연결될 수 있다.
전처리부(310)는 대상 이미지를 특정 사이즈의 픽셀 블록으로 분할(Block Sizing)한다. 여기에서, 대상 이미지는 사진과 같은 정지 화면에 해당하거나 또는 동영상과 같은 연속된 화면의 한 프레임(Frame)에 해당할 수 있다.
보다 구체적으로, 전처리부(310)는 대상 이미지를 4 * 4, 8 * 8 또는 16 * 8 사이즈 등에 해당하는 픽셀 블록들로 분할할 수 있다.
예를 들어, 대상 이미지의 크기가 800 * 600에 해당하는 경우, 전처리부(310)는 대상 이미지를 4 * 4 사이즈의 픽셀 블록 300개(20 * 15)로 분할할 수 있다.
전처리부(310)는 대상 이미지를 무손실 이미지 압축 장치(300)의 외부로부터(예를 들어, 메모리) 수신할 수 있다.
차분펄스부호변조부(320)는 픽셀 블록들 각각에 대하여 차분펄스부호변조 (이하, DPCM 이라 함)를 수행하여 변조 블록을 생성한다.
도 7은 차분 펄스 부호 변조를 설명하는 예시도이다.
도 7을 참조하면, 차분펄스부호변조부(320)는 4 * 4 사이즈의 픽셀 블록을 수신하고, (0, 0) 위치에 해당하는 픽셀을 기준 픽셀로 결정한다. 여기에서, 기준 픽셀의 값 a는 제1 요소(First Element)에 해당한다.
차분펄스부호변조부(320)는 1차적으로 픽셀 블록의 행(row)에 대하여 제1 DPCM을 수행한다. 여기에서, 제1 DPCM은 특정 위치의 픽셀 값과 좌측으로 인접한 위치의 픽셀 값간의 차이를 구하는 방식으로 수행된다. 예를 들어, (0,1)의 픽셀 값은 b에서 a를 뺀 b-a에 해당하고, (0,2)와 (0,3)의 픽셀 값은 각각 c-b, d-c에 해당할 수 있다.
차분펄스부호변조부(320)는 2차적으로 픽셀 블록의 좌측 제1 열(Column)에 대하여 제2 DPCM를 수행한다. 여기에서, 제2 DPCM은 특정 위치의 픽셀 값과 상단으로 인접한 위치의 픽셀 값간의 차이를 구하는 방식으로 수행된다. 예를 들어, (1,0)의 픽셀 값은 e에서 a를 밴 e-a에 해당하고, (2,0)과 (3,0)의 픽셀 값은 각각 i-e, m-i에 해당할 수 있다.
차분펄스부호변조부(320)는 하나의 기준 픽셀 값과 15개의 차분 값을 포함하는 변조 블록을 생성할 수 있다.
본 실시예들은 4 * 4 사이즈의 픽셀 블록을 예시하여 기준 픽셀을 특정 위치로 설명하였지만, 본 발명은 이에 한정되지 아니한다.
차분펄스부호변조부(320)는 변조 블록의 차분 값들 각각을 크기 값과 부호 값으로 구분할 수 있다. 여기에서, 차분 값들에 대한 크기 값들과 부호값들은 각각 크기 데이터와 부호 데이터에 해당할 수 있다. 차분펄스부호변조부(320)는 변조 블록의 차분 값들 각각을 크기 값과 부호 값으로 구분하는 별도의 부호 변환 모듈(321)을 포함할 수 있다.
골룸라이스 변조부(330)는 변조 블록을 수신하여 가변 골룸라이스 인코딩(이하, 가변 GR 인코딩 이라 함)을 수행한다. 보다 구체적으로, 골룸라이스 변조부(330)는 변조 블록의 크기 데이터를 수신하여 가변 GR 인코딩을 수행한다. 여기에서, 가변 GR 인코딩은 GR 인코딩에서 사용하는 제수(Divisor, 또는 나눗수, 매개변수)를 블록 단위로 변경하여 적용하는 GR 인코딩에 해당한다.
일 실시예에서, 골룸라이스 변조부(330)는 가변 GR 인코딩의 제수(Divisor)를 2의 배수 중에서 결정하고, 변조 블록의 픽셀 각각에 대한 크기 값(absolute)을 결정된 제수를 기초로 나머지(Remainder) 데이터와 몫(Quotient) 데이터로 구분하며, 변조 블록의 몫 데이터들을 기초로 몫 데이터 열을 생성하고, 몫 데이터 열에 대하여 단항 부호화(Unary Coding)를 수행할 수 있다. 여기에서, 제수는 2k 형태로 표시될 수 있으며, k는 0을 포함하는 자연수에 해당할 수 있다. 특히, k는 0 또는 1에 해당할 수 있다. 골룸라이스 변조부(330)에서 k를 결정하는 과정은 후술한다.
예를 들어, 골룸라이스 변조부(330)는 제수를 2(k=1)로 결정할 수 있고, 변조 블록의 각 차분 값을 제수로 나누어 15 비트의 나머지 데이터와 가변 길이의 몫 데이터를 생성할 수 있다.
또 다른 예를 들어, 골룸라이스 변조부(330)는 제수를 1(k=0)로 결정할 수 있고, 이 경우에 나머지 데이터는 생성되지 않으며 변조 블록의 각 픽셀 값의 크기와 같은 몫 데이터를 생성할 수 있다.
일 실시예에서, 골룸라이스 변조부(330)는 결정된 제수를 이용하여 몫 데이터와 나머지 데이터를 생성하는 별도의 분배 모듈(Splitter, 331)를 포함할 수 있다.
골룸라이스 변조부(330)는 가변 길이의 몫 데이터에 대하여 단항 부호화를 수행하여 몫 데이터를 압축할 수 있다.
도 8은 단항 부호화를 설명하는 예시도이다.
도 8을 참조하면, 변조 블록의 몫 데이터는 순서대로 1, 3, 5, 0 및 2에 해당한다. 몫 데이터를 순서대로 이를 이진 데이터로 표현하면 각각 1, 111, 1111, 0, 11에 해당한다. 골룸라이스 변조부(330)는 각 몫 데이터들을 다른 몫 데이터들과 구분하기 위하여 이진 데이터의 끝 부분의 오른쪽에 1비트 크기의 0을 채워준다.
단항 부호화에 의해 부호화된 몫 데이터 열의 마지막은 항상 0에 해당한다.
골룸라이스 변조부(330)는 가변 길이의 몫 데이터에 대하여 단항 부호화를 수행하는 별도의 단항 부호화 모듈(332)을 포함할 수 있다.
일 실시예에서, 골룸라이스 변조부(330)는 가변 GR 인코딩의 제수를 각각 2의 배수와 1로 결정하여 생성된 단항 코드들과 나머지 데이터들을 기초로 제1 및 제2 데이터를 생성하고, 제1 및 제2 데이터의 크기를 비교하여 크기가 작은 데이터의 제수, 나머지 데이터 및 단항 코드를 기초로 상기 골룸라이스 블록을 생성할 수 있다.
예를 들어, 먼저 골룸라이스 변조부(330)는 가변 GR 인코딩의 제수를 2로 결정하고, 변조 블록에 대해 GR 인코딩을 수행하여 골룸라이스 블록에 해당하는 제1 데이터를 생성할 수 있다. 이후, 골룸라이스 변조부(330)는 가변 GR 인코딩의 제수를 1로 결정하고, 변조 블록에 대해 GR 인코딩을 다시 수행하여 골룸라이스 블록에 해당하는 제2 데이터를 생성할 수 있다. 마지막으로, 골룸라이스 변조부(330)는 제1 및 제2 데이터의 크기를 비교하여 크기가 작은 데이터의 제수, 나머지 데이터 및 단항 코드를 기초로 상기 골룸라이스 블록을 생성할 수 있다.
도 9는 변조 블록을 나타내는 예시도이다.
도 9(a)를 참조하면, 첫번째로, 가변 GR 인코딩의 제수가 2(k=1)에 해당하는 경우, 골룸라이스 변조부(330)는 [000000000000000]과 같이 15비트의 크기에 해당하는 나머지 데이터와 몫 데이터를 각각 생성할 수 있다. 골룸라이스 변조부(330)는 몫 데이터에 대해 단항 부호화를 수행하여 [000000000000000]과 같이 15비트의 크기에 해당하는 단항 코드를 생성할 수 있다. 결과적으로, 골룸라이스 변조부(330)는 총 30비트(나머지 데이터 15비트 + 단항 코드 15비트)의 데이터를 생성할 수 있다.
두번째로, 가변 GR 인코딩의 제수가 1에 해당하는 경우, 골룸라이스 변조부(330)는 [000000000000000]과 같이 15비트의 크기에 해당하는 몫 데이터를 생성할 수 있다. 이 경우, 나머지 데이터는 의미가 없으므로 골룸라이스 변조부(330)는 나머지 데이터를 생성하지 않을 수 있다. 앞서 설명한 바와 마찬가지로, 골룸라이스 변조부(330)는 몫 데이터에 대해 단항 부호화를 수행하여 [000000000000000]과 같이 15비트의 크기에 해당하는 단항 코드를 생성할 수 있다. 결과적으로, 골룸라이스 변조부(330)는 총 15비트(나머지 데이터 생략 + 단항 코드 15비트)의 데이터를 생성할 수 있다.
따라서, 골룸라이스 변조부(330)는 크기가 작은 두번째 경우의 제수 1(k=0)과 몫 데이터를 기초로 골룸라이스 블록의 데이터를 생성할 수 있다.
도 9(b)를 참조하면, 첫번째로, 가변 GR 인코딩의 제수가 2에 해당하는 경우, 골룸라이스 변조부(330)는 [111111111111111]과 같이 15비트의 크기에 해당하는 나머지 데이터와 몫 데이터를 각각 생성할 수 있다. 골룸라이스 변조부(330)는 몫 데이터에 대해 단항 부호화를 수행하여 [101010101010101010101010101010]과 같이 30비트의 크기에 해당하는 단항 코드를 생성할 수 있다. 결과적으로, 골룸라이스 변조부(330)는 총 45비트(나머지 데이터 15비트 + 단항 코드 45비트)의 데이터를 생성할 수 있다.
두번째로, 가변 GR 인코딩의 제수가 1에 해당하는 경우, 골룸라이스 변조부(330)는 [333333333333333]과 같이 30비트의 크기에 해당하는 몫 데이터를 생성할 수 있다. 여기에서, 3은 이진 데이터로 나타내는 경우 [11]에 해당하기 때문이다. 앞서 설명한 바와 마찬가지로, 골룸라이스 변조부(330)는 몫 데이터에 대해 단항 부호화를 수행하여 [1110]*[15회]와 같이 60비트의 크기에 해당하는 단항 코드를 생성할 수 있다. 결과적으로, 골룸라이스 변조부(330)는 총 60비트(나머지 데이터 생략 + 단항 코드 60비트)의 데이터를 생성할 수 있다.
따라서, 골룸라이스 변조부(330)는 크기가 작은 첫번째 경우의 제수 2(또는 제수의 승수 k=1), 몫 데이터와 나머지 데이터를 기초로 골룸라이스 블록의 데이터를 생성할 수 있다.
이를 통해, 골룸라이스 변조부(330)는 동적으로 GR 인코딩의 제수(또는 제수의 승수 k)를 결정할 수 있고, 결과적으로 최종 생성되는 압축 데이터의 크기를 감소시킬 수 있다.
골룸라이스 변조부(330)는 생성된 나머지 데이터와 단항 코드를 각각 패킹부(350)에 제공한다.
부호 변조부(340)는 변조 블록에 대한 부호 유무 및 부호 종류를 검출하여 부호열(Sign Row)을 생성한다. 보다 구체적으로, 변조 블록의 부호 데이터를 수신하고, 부호 변조(Sign Encoding)를 통해 가변 길이의 부호 데이터를 생성한다.
일 실시예에서, 부호 변조부(340)는 변조 블록의 픽셀 각각에 대한 크기 값(Absolute Value)이 특정 값에 해당하는지 여부를 확인하고, 특정 값에 해당하는 경우, 해당 픽셀에 대해서는 부호가 없는 것으로 판단하여 부호열에서 제거할 수 있다. 여기에서, 크기 값 대신 차분 값이 적용될 수 있다.
예를 들어, 부호 변조부(340)는 변조 블록의 픽셀 각각에 대한 크기 값이 0에 해당하는지 여부를 확인하고, 0에 해당하는 경우 해당 픽셀에 대한 부호 비트를 제거할 수 있다. 크기가 0인 크기 값(또는 차분 값)은 부호 비트가 필요하지 않기 때문이다.
도 10은 부호 변조 및 복조를 설명하는 도면이다.
도 10(a)를 참조하면, 부호 변조부(340)는 a0 내지 a5에 대하여 몫 데이터와 나머지 데이터가 모두 0에 해당하는지 여부를 확인할 수 있다. 부호 변조부(340)는 a1과 a3의 몫 데이터와 나머지 데이터가 모두 0에 해당함을 확인할 수 있다.
이 후, 부호 변조부(340)는 a1과 a3에 해당하는 부분, 즉, a0과 a2 사이 및 a2와 a4 사이의 0에 해당하는 부호 비트를 부호열에서 제거(또는 삭제)할 수 있다. 결과적으로, 부호 변조부(340)는 [10001]에 대해 부호 변조화를 통해 [101]에 해당하는 부호열을 생성할 수 있다.
특히, 인접한 픽셀들 각각의 값은 유사하여 차분 값이 0에 해당하는 경우가 많다는 점에서, 차분 값이 0인 부호 비트를 제거함으로써 부호 데이터의 크기를 현저히 감소시킬 수 있다.
부호 변조부(340)는 생성된 부호열을 패킹부(350)에 제공한다.
패킹부(350)는 수신한 골룸라이스 블록 및 부호열을 기초로 압축된 이미지 데이터를 생성한다. 보다 구체적으로 패킹부(350)는 골룸라이스 변조부(330)로부터 수신한 나머지 데이터 및 단항 코드와 부호 변조부(350)로부터 수신한 부호열을 기초로 압축된 블록 데이터를 생성한다.
도 2는 본 발명의 일 실시예에 따른 압축된 이미지 데이터의 구조를 나타내는 예시도이다.
도 2(b)를 참조하면, GR 인코딩 제수가 2(k=1)에 해당하는 경우, 패킹부(350)는 8 비트의 기준 픽셀 값과 15 비트의 나머지 데이터를 고정 길이 형태로 저장한다. 이 후, 패킹부(350)는 가변 길이를 갖는 단항 코드와 부호 데이터를 순서대로 저장한다.
패킹부(350)는 압축된 블록의 전체 길이 또는 가변 길이 데이터의 길이를 계산하여 저장할 수 있다. 패킹부(350)는 압축된 블록의 전체 길이 또는 가변 길이 데이터의 길이를 계산하는 별도의 길이 계산 모듈(351)을 더 포함할 수 있다.
GR 인코딩 제수가 1(k=0)에 해당하는 경우, 패킹부(350)는 8 비트의 기준 픽셀 값을 저장한다. 즉, 패킹부(350)는 나머지 데이터가 없으므로 이 부분을 제외한다. 이 후, 패킹부(350)는 가변 길이를 갖는 단항 코드와 부호 데이터가 순서대로 저장한다. 이와 같이, GR 인코딩 제수가 1에 해당하는 경우, 나머지 데이터 부분을 제외하는 구성은 이하에서 설명하는 압축된 이미지 데이터의 구조에 동일하게 적용된다.
이를 통해, 패킹부(350)는 압축된 블록 데이터를 생성할 수 있다.
도 2(c)를 참조하면, 패킹부(350)는 압축된 블록의 전체 길이 또는 가변 길이 데이터의 길이를 계산하여 저장하고, 선택된 GR 인코딩 제수(또는 제수의 승수 k)를 저장하며, 이후 도 2(b)에서 설명한 바와 같이 나머지 부분들을 순차적으로 저장하여 압축된 블록 데이터를 생성할 수 있다.
압축 제어부(360)는 전처리부(310), 차분펄스부호변조부(320), 골룸라이스 변조부(330), 부호 변조부(340) 및 패킹부(350) 간의 데이터 흐름을 제어한다.
도 4는 무손실 이미지 압축 장치에서 수행하는 무손실 이미지 압축 방법을 설명하는 흐름도이다.
전처리부(310)는 대상 이미지를 특정 사이즈의 픽셀 블록으로 분할한다(S410).
차분펄스부호변조부(320)는 픽셀 블록들 각각에 대해 DPCM을 수행하여 변조 블록을 생성한다(S420).
골룸라이스 변조부(330)는 변조 블록을 기초로 가변 GR 인코딩을 수행하여 골룸라이스 블록을 생성한다(S430).
보다 구체적으로, 골룸라이스 변조부(330)는 가변 GR 인코딩의 제수를 결정하고, 이를 기초로 변조 블록의 크기 데이터에 대해 가변 GR 인코딩을 수행하여 나머지 데이터와 몫 데이터를 생성하며, 몫 데이터에 대하여 단항 부호화를 수행하여 최종적으로 골룸라이스 블록을 생성할 수 있다.
한편, 부호 변조부(340)는 변조 블록에 대한 부호 유무 및 부호 종류를 검출하여 부호열(Sign Row)을 생성한다(S440).
보다 구체적으로, 부호 변조부(340)는 변조 블록의 픽셀 각각에 대한 크기 값이 특정 값(예를 들어, 0)에 해당하는지 여부를 확인하고, 특정 값에 해당하는 경우 해당 픽셀은 부호가 없는 것으로 판단하여 부호열에서 해당 비트를 제거하여 최종적인 부호열을 생성한다.
패킹부(350)는 골룸라이스 블록과 부호열을 수신하고, 이를 기초로 압축된 이미지 데이터를 생성한다(S450).
도 5는 본 발명의 일 실시에에 따른 무손실 이미지 복원 장치를 설명하는 도면이다.
도 5를 참조하면, 무손실 이미지 복원 장치(500)는 언패킹부(510), 골룸라이스 복조부(520), 부호 복조부(530), 차분 펄스 부호 복조부(540), 후처리부(550) 및 복원 제어부(560)을 포함한다.
무손실 이미지 복원 장치(500)는 무손실 이미지 압축 방법에 의해 생성된 압축 이미지를 기초로 골룸라이스 블록 및 부호열을 각각 추출하고, 추출된 골룸라이스 블록을 기초로 가변 골룸라이스 디코딩을 수행하여 변조 블록을 생성하며, 생성된 변조 블록과 부호열을 기초로 변조 블록의 부호를 결정하고, 부호가 결정된 변조 블록에 대해 역 차분 펄스 부호 변조(Inverse DPCM, 이하, IDPCM 이라 함)를 수행하여 픽셀 블록을 생성하고, 최종적으로 픽셀 블록들을 결합하여 원본 이미지를 생성한다.
무손실 이미지 복원 장치(500)는 앞서 설명한 무손실 이미지 압축 장치와 동일하게 상기 기능을 수행하는 컴퓨팅 장치 등에 해당할 수 있고, 컴퓨터가 읽을 수 있는 기록 매체로 구현된 나열형 콘텐츠 제공 프로그램을 제공할 수 있다.
무손실 이미지 복원 장치(500)는 이미지를 수신하거나 또는 무손실 이미지 복원 과정에서 생성되는 데이터를 저장하는 데이터베이스(예를 들어, 메모리)와 전기적으로 연결될 수 있다.
언패킹부(510)는 대상 압축 이미지를 기초로 골룸라이스 블록 및 부호열을 각각 추출한다. 여기에서, 대상 압축 이미지는 앞서 설명한 도 2d에 해당하는 데이터 구조로 구현될 수 있다.
보다 구체적으로, 언패킹부(510)는 대상 압축 이미지로부터 고정 길이를 갖는 기준 픽셀 값(예를 들어, 8비트)과 나머지 데이터(예를 들어, 15비트)를 생성한다. 또한, 언패킹부(510)는 가변 길이를 갖는 부호 데이터와 몫 데이터를 생성한다.
예를 들어, 언패킹부(510)는 대상 압축 이미지의 첫부분에 저장된 길이 데이터를 기초로 고정 길이 부분의 데이터와 가변 길이 부분의 데이터를 각각 구분할 수 있다. 이후, 언패킹부(510)는 기 설정된 값에 따라 8비트의 기준 픽셀 값과 15비트의 나머지 데이터를 각각 생성할 수 있다. 또한, 언패킹부(510)는 가변 길이 데이터에서 처음부터 15번째 0에 해당하는 부분까지를 몫 데이터로 생성하고, 그 이후부터 나머지 부분을 부호 데이터로 생성할 수 있다. 여기에서, 몫 데이터는 단항 부호화를 통해 생성된 데이터에 해당하고, 앞서 설명한 단항 부호화와 관련하여 마지막 값은 항상 0에 해당하기 때문이다.
언패킹부(510)는 추출된 기준 픽셀 값을 차분펄스부호복조부(540)에, 추출된 나머지 데이터와 몫 데이터를 골룸라이스 복조부(520)에, 추출된 부호 데이터를 부호 복조부(530)에 각각 제공한다.
골룸라이스 복조부(520)는 추출된 골룸라이스 블록을 기초로 가변 골룸라이스 디코딩(이하, 가변 GR 디코딩 이라 함)을 수행하여 변조 블록을 생성한다. 여기에서, 가변 GR 디코딩은 GR 디코딩에서 사용하는 제수(Divisor, 또는 나눗수)를 블록 단위로 변경하여 적용하는 GR 디코딩에 해당한다.
보다 구체적으로, 골룸라이스 복조부(520)는 언패킹부(510)로부터 수신한 몫 데이터에 대해 단항 복호화(Unary Decoding)를 수행하여 단항 복호화된 몫 데이터를 생성하고, 단항 복호화된 몫 데이터와 나머지 데이터를 기초로 크기 데이터를 생성한다.
골룸라이스 복조부(520)는 몫 데이터에 대해 단항 복호화를 수행하는 별도의 단항 복호화 모듈(521)을 포함할 수 있다.
골룸라이스 복조부(520)는 단항 복호화된 몫 데이터에 상기 언패킹부(510)에서 추출된 GR 인코딩 계수(또는 계수의 승수 k)를 곱하고, 그 결과에 나머지 데이터를 합하여 크기 데이터를 생성할 수 있다. 골룸라이스 복조부(520)는 상기 기능을 수행하는 별도의 재구성 모듈(522)를 포함할 수 있다.
골룸 라이스 복조부(530)는 크기 데이터를 기 설정된 사이즈의 픽셀 블록에 각각 삽입하여 변조 블록을 생성할 수 있다.
부호 복조부(530)는 골룸 라이스 복조부(520)에서 생성된 크기 데이터(또는 몫 데이터와 나머지 데이터)를 기초로 부호열에 대해 부호 복조를 수행하여 고정 길이의 부호 데이터를 생성한다.
보다 구체적으로, 부호 복조부(530)는 크기 데이터가 특정 값(예를 들어, 0)에 해당하는지 여부를 확인하고, 특정 값에 해당하는 경우, 해당 픽셀은 부호가 없는 것으로 판단하여 부호열에 해당 픽셀에 해당하는 부호 비트를 삽입하여 부호 데이터를 생성할 수 있다.
도 10은 부호 변조와 부호 복조를 설명하는 도면이다.
도 10(b)를 참조하면, 부호 복조부(530)는 a0 내지 a5에 대하여 몫 데이터와 나머지 데이터가 모두 0에 해당하는지 여부를 확인할 수 있다. 이를 통해, 부호 복조부(530)는 a1과 a3의 몫 데이터와 나머지 데이터가 모두 0에 해당함을 확인할 수 있다.
이 후, 부호 복조부(530)는 a1과 a3에 해당하는 부분, 즉, a0과 a2 사이 및 a2와 a4 사이에 0에 해당하는 부호 비트를 삽입할 수 있다. 이는 부호 변조화 과정에서 해당 부호 비트가 제거되었기 때문이다. 결과적으로, 부호 복조부(530)는 [101]에 대해 부호 복조화를 통해 [10001]에 해당하는 부호 데이터를 생성할 수 있다.
차분펄스부호복조부(540)는 크기 데이터를 포함하는 변조 블록에 생성된 부호 데이터를 반영하고, 부호가 결정된 변조 블록에 대해 IDPCM을 수행하여 픽셀 블록을 생성한다. 여기에서, 차분펄스부호복조부(540)는 변조 블록에 대해 앞서 설명한 DPCM의 역순으로 IDPCM을 수행한다.
도 4를 참조하면, 차분펄스부호복조부(540)는 언패킹부(510)으로부터 수신한 하나의 기준 픽셀 값과 15개의 차분 값을 포함하는 변조 블록을 생성할 수 있다.
차분펄스부호복조부(540)는 (0, 0) 위치에 기준 픽셀 값을 삽입할 수 있다.
차분펄스부호복조부(540)는 1차적으로 픽셀 블록의 좌측 제1 열(Column)에 대하여 제1 IDPCM를 수행한다. 여기에서, 제1 IDPCM은 특정 위치의 픽셀 값과 상단으로 인접한 위치의 픽셀 값의 합를 구하는 방식으로 수행된다.
예를 들어, (1,0)의 픽셀 값은 e-a와 a를 합한 e에 해당하고, (2,0)과 (3,0)의 픽셀 값은 각각 i와 m에 해당할 수 있다.
차분펄스부호복조부(540)는 2차적으로 픽셀 블록의 행(row)에 대하여 제2 IDPCM을 수행한다. 여기에서, 제2 IDPCM은 특정 위치의 픽셀 값과 좌측으로 인접한 위치의 픽셀 값의 합을 구하는 방식으로 수행된다.
예를 들어, (0,1)의 픽셀 값은 b-a와 a를 합한 b에 해당하고, (0,2)와 (0,3)의 픽셀 값은 각각 c와 d에 해당할 수 있다.
후처리부(550)는 차분펄스부호복조부(540)로부터 픽셀 블록들을 수신하고, 이를 기초로 이미지를 생성할 수 있다.
보다 구체적으로, 후처리부(550)는 픽셀 블록 단위로 데이터 값을 순차적으로 저장하여 전체 이미지를 생성할 수 있다.
복원 제어부(560)는 언패킹부(510), 골룸라이스 복조부(520), 부호 복조부(530), 차분 펄스 부호 복조부(540) 및 후처리부(550) 간의 데이터 흐름을 제어한다.
도 6는 무손실 이미지 복원 장치(500)에서 수행하는 무손실 이미지 복원 방법을 설명하는 흐름도이다.
언패킹부(510)는 수신된 압축 이미지를 기초로 골룸라이스 블록 및 부호열을 각각 추출한다(S610).
골룸라이스 복조부(520)는 골룸라이스 블록을 기초로 가변 GR 디코딩을 수행하여 변조 블록을 생성한다(S620).
보다 구체적으로, 골룸 라이스 복조부(520)는 언패킹부(510)로부터 수신한 몫 데이터를 단항 복호화(Unary Decoding)를 수행하여 단항 복호화된 몫 데이터를 생성하고, 단항 복호화된 몫 데이터와 나머지 데이터를 기초로 크기 데이터를 생성한다.
한편, 부호 복조부(530)는 골룸 라이스 복조부(520)에서 생성된 크기 데이터(또는 몫 데이터와 나머지 데이터)를 기초로 부호열에 대해 부호 복조를 수행하여 고정 길이의 부호 데이터를 생성한다(S630).
보다 구체적으로, 부호 복조부(530)는 크기 데이터가 특정 값(예를 들어, 0)에 해당하는지 여부를 확인하고, 특정 값에 해당하는 경우, 해당 픽셀은 부호가 없는 것으로 판단하여 부호열에 해당 픽셀에 해당하는 부호 비트를 삽입하여 부호 데이터를 생성할 수 있다.
차분펄스부호복조부(540)는 크기 데이터를 포함하는 변조 블록에 생성된 부호 데이터를 반영하고, 부호가 결정된 변조 블록에 대해 IDPCM을 수행하여 픽셀 블록을 생성한다(S640).
후처리부(550)는 차분펄스부호복조부(540)로부터 픽셀 블록들을 수신하고, 이를 기초로 이미지를 생성할 수 있다(S350).
한편, 무손실 이미지 복원 방법은 무손실 이미지 압축 장치(300)에서 무손실 이미지 압축 방법의 역순으로 수행될 수 있다. 무손실 이미지 복원 장치(500)의 언패킹부(510), 골룸라이스 복조부(520), 부호 복조부(530), 차분 펄스 부호 복조부(540), 후처리부(550) 및 복원 제어부(560)는 각각 무손실 이미지 압축 장치(300)의 패킹부(350), 골룸라이스 변조부(330), 부호 변조부(340), 차분펄스부호변조부(320), 전처리부(310) 및 압축 제어부(360)을 대응될 수 있다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
종래 기술에 따른 무손실 이미지 압축 장치(100)
무손실 이미지 압축 장치(300)
전처리부(310) 차분펄스부호변조부(320)
골룸라이스 변조부(330) 분배 모듈(331)
단항 부호화 모듈(332) 부호 변조부(340)
패킹부(350) 길이 계산 모듈(351)
압축 제어부(360)
무손실 이미지 복원 장치(500)
언패킹부(510) 골룸라이스 복조부(520)
단항 부호화 모듈(521) 분배 모듈(522)
부호 복조부(530) 차분펄스부호복조부(540)
후처리부(550) 복원 제어부(560)

Claims (16)

  1. 대상 이미지를 특정 사이즈의 픽셀 블록으로 분할하는 전처리 단계;
    상기 픽셀 블록에 대해 차분 펄스 부호 변조(Differential Pulse Code Modulation, DPCM)를 수행하여 변조 블록을 생성하는 단계;
    상기 변조 블록을 기초로 가변 골룸라이스(Golomb-Rice, GR) 인코딩을 수행하여 골룸라이스 블록을 생성하는 단계; 및
    상기 변조 블록에 대한 부호 유무 및 부호 종류를 검출하여 부호열(Sign Row)을 생성하는 단계를 포함하고,
    상기 골룸라이스 블록을 생성하는 단계는
    상기 가변 골룸 라이스 인코딩의 제수(Divisor)를 2의 배수 중 하나로 결정하는 단계;
    상기 변조 블록의 픽셀 각각에 대한 크기(Absolute) 데이터를 상기 결정된 제수를 기초로 나머지(Remainder) 데이터와 몫(Quotient) 데이터로 구분하는 단계; 및
    상기 변조 블록의 상기 몫 데이터들을 기초로 몫 데이터 열(Row)을 생성하고, 상기 몫 데이터 열에 대하여 단항 부호화(Unary Coding)를 수행하여 단항 코드를 생성하는 단계를 더 포함하는 무손실 이미지 압축 방법.
  2. 삭제
  3. 제1항에 있어서, 상기 골룸라이스 블록을 생성하는 단계는
    상기 단항 코드와 상기 나머지 데이터를 기초로 제1 데이터를 생성하는 단계;
    상기 가변 골룸 라이스 인코딩의 제수를 1로 결정하고, 상기 나머지 및 몫 데이터로 구분하는 단계와 상기 단항 코드를 생성하는 단계를 반복 수행하여 제2 데이터를 생성하는 단계; 및
    상기 제1 및 제2 데이터의 크기를 비교하고, 비교한 결과 크기가 작은 데이터의 제수, 나머지 데이터 및 단항 코드를 기초로 상기 골룸라이스 블록을 갱신하는 단계를 더 포함하는 무손실 이미지 압축 방법.
  4. 제1항에 있어서, 상기 부호열을 생성하는 단계는
    상기 변조 블록의 픽셀 각각에 대한 크기 데이터가 특정 값에 해당하는지 여부를 확인하는 단계; 및
    특정 값에 해당하는 경우, 해당 픽셀은 부호가 없는 것으로 판단하여 해당 픽셀의 부호를 나타내는 부호 비트를 상기 부호열에서 제거하는 단계를 포함하는 무손실 이미지 압축 방법.
  5. 제1항 또는 제4항에 있어서,
    상기 골룸라이스 블록 및 상기 부호열을 기초로 압축 이미지 데이터를 생성하는 단계를 더 포함하며, 상기 압축 이미지 데이터는 상기 결정된 가변 골룸라이스 인코딩의 제수와 가변 길이의 부호열을 포함하는, 무손실 이미지 압축 방법.
  6. 무손실 이미지 압축 방법에 의해 생성된 압축 이미지 데이터에 대한 무손실 이미지 복원 방법에 있어서,
    상기 압축 이미지 데이터를 기초로 골룸라이스 블록 및 부호열을 각각 추출하는 단계;
    상기 골룸라이스 블록을 기초로 가변 골룸라이스 디코딩을 수행하여 변조 블록을 생성하는 단계;
    상기 생성된 변조 블록과 상기 부호열을 기초로 상기 변조 블록의 부호를 나타내는 부호 데이터를 생성하는 단계; 및
    상기 생성된 부호 데이터를 기초로 상기 변조 블록을 갱신하고, 상기 갱신된 변조 블록에 대해 역 차분 펄스 부호 변조(Inverse DPCM)를 수행하여 픽셀 블록을 생성하는 단계를 포함하는 무손실 이미지 복원 방법.
  7. 제6항에 있어서, 상기 변조 블록을 생성하는 단계는
    상기 압축 이미지 데이터로부터 제수, 단항 코드 및 나머지 데이터를 각각 추출하는 단계;
    상기 추출된 단항 코드에 대하여 단항 복호화(Unary Decoding)을 수행하여 몫 데이터를 생성하는 단계; 및
    상기 추출된 제수, 상기 생성된 몫 데이터 및 상기 추출된 나머지 데이터를 기초로 상기 변조 블록의 픽셀 각각에 대한 크기 데이터를 생성하는 단계를 포함하는 무손실 이미지 복원 방법.
  8. 제6항에 있어서, 상기 부호 데이터를 생성하는 단계는
    상기 변조 블록의 픽셀 각각에 대한 크기 데이터가 특정 값에 해당하는지 여부를 확인하는 단계; 및
    특정 값에 해당하는 경우, 상기 부호열에 특정 값을 삽입하여 부호 데이터를 생성하는 단계를 포함하는 무손실 이미지 복원 방법.
  9. 대상 이미지를 특정 사이즈의 픽셀 블록으로 분할하는 전처리부;
    상기 픽셀 블록에 대해 차분 펄스 부호 변조(Differential Pulse Code Modulation, DPCM)를 수행하여 변조 블록을 생성하는 차분펄스부호 변조부;
    상기 변조 블록을 기초로 가변 골룸라이스(Golomb-Rice, GR) 인코딩을 수행하여 골룸라이스 블록을 생성하는 골룸라이스 변조부; 및
    상기 변조 블록에 대한 부호 유무 및 부호 종류를 검출하여 부호열(Sign Row)을 생성하는 부호 변조부를 포함하고,
    상기 골룸라이스 변조부는
    상기 가변 골룸 라이스 인코딩의 제수(Divisor)를 2의 배수 중 하나로 결정하고, 상기 변조 블록의 픽셀 각각에 대한 크기(Absolute) 데이터를 상기 결정된 제수를 기초로 나머지(Remainder) 데이터와 몫(Quotient) 데이터로 구분하며, 상기 변조 블록의 상기 몫 데이터들을 기초로 몫 데이터 열을 생성하고, 상기 몫 데이터 열에 대하여 단항 부호화(Unary Coding)를 수행하여 단항 코드를 생성하는 것을 특징으로 하는 무손실 이미지 압축 장치.
  10. 삭제
  11. 제9항에 있어서, 상기 골룸라이스 변조부는
    상기 단항 코드와 상기 나머지 데이터를 기초로 제1 데이터를 생성하고, 상기 가변 골룸 라이스 인코딩의 제수를 1로 결정하여 제2 데이터를 생성하며, 상기 제1 및 제2 데이터의 크기를 비교하고, 비교한 결과 크기가 작은 데이터의 제수, 나머지 데이터 및 단항 코드를 기초로 상기 골룸라이스 블록을 갱신하는 것을 특징으로 하는 무손실 이미지 압축 장치.
  12. 제9항에 있어서, 상기 부호 변조부는
    상기 변조 블록의 픽셀 각각에 대한 크기 데이터가 특정 값에 해당하는지 여부를 확인하고, 특정 값에 해당하는 경우, 해당 픽셀은 부호가 없는 것으로 판단하여 해당 픽셀의 부호를 나타내는 부호 비트를 상기 부호열에서 제거하는 것을 특징으로 하는 무손실 이미지 압축 장치.
  13. 제9항 또는 제12항에 있어서, 상기 무손실 이미지 압축 장치는
    상기 골룸라이스 블록 및 상기 부호열을 기초로 압축 이미지 데이터를 생성하는 패킹부를 더 포함하며, 상기 압축 이미지 데이터는 상기 결정된 가변 골룸라이스 인코딩의 제수와 가변 길이의 부호열을 포함하는 무손실 이미지 압축 장치.
  14. 무손실 이미지 압축 방법에 의해 생성된 압축 이미지 데이터에 대한 무손실 이미지 복원 방법을 수행하는 무손실 이미지 복원 장치에 있어서,
    상기 압축 이미지 데이터를 기초로 골룸라이스 블록 및 부호열을 각각 추출하는 언패킹부;
    상기 골룸라이스 블록을 기초로 가변 골룸라이스 디코딩을 수행하여 변조 블록을 생성하는 골룸라이스 복조부;
    상기 생성된 변조 블록과 상기 부호열을 기초로 상기 변조 블록의 부호를 결정하는 부호 복조부; 및
    상기 부호가 결정된 변조 블록에 대해 역 차분 펄스 부호 변조(Inverse DPCM)를 수행하여 픽셀 블록을 생성하는 차분 펄스 부호 복조부를 포함하는 무손실 이미지 복원 장치.
  15. 제14항에 있어서, 상기 골룸라이스 복조부는
    상기 압축 이미지로부터 제수, 단항 코드 및 나머지 데이터를 각각 추출하고, 상기 추출된 단항 코드에 대하여 단항 복호화(Unary Decoding)을 수행하여 몫 데이터를 생성하며, 상기 추출된 제수, 상기 생성된 몫 데이터 및 상기 추출된 나머지 데이터를 기초로 상기 변조 블록의 픽셀 각각에 대한 크기 테이터를 생성하는 무손실 이미지 복원 장치.
  16. 제14항에 있어서, 상기 부호 복조부는
    상기 변조 블록의 픽셀 각각에 대한 크기 데이터가 특정 값에 해당하는지 여부를 확인하고, 특정 값에 해당하는 경우, 상기 부호열에 특정 값을 삽입하여 부호 데이터를 생성하는 무손실 이미지 복원 장치.
KR1020130057873A 2013-05-22 2013-05-22 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치 KR101726572B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130057873A KR101726572B1 (ko) 2013-05-22 2013-05-22 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치
PCT/KR2014/004436 WO2014189236A1 (ko) 2013-05-22 2014-05-19 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130057873A KR101726572B1 (ko) 2013-05-22 2013-05-22 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치

Publications (2)

Publication Number Publication Date
KR20140137505A KR20140137505A (ko) 2014-12-03
KR101726572B1 true KR101726572B1 (ko) 2017-04-13

Family

ID=51933751

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130057873A KR101726572B1 (ko) 2013-05-22 2013-05-22 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치

Country Status (2)

Country Link
KR (1) KR101726572B1 (ko)
WO (1) WO2014189236A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3985970A4 (en) * 2019-06-11 2022-08-03 Wilus Institute of Standards and Technology Inc. VIDEO SIGNAL PROCESSING METHOD AND APPARATUS USING A BLOCK DPCM PREDICTION METHOD
JP7440544B2 (ja) * 2019-06-18 2024-02-28 エルジー エレクトロニクス インコーポレイティド 画像デコード方法及びその装置
CN113347426A (zh) * 2019-06-21 2021-09-03 杭州海康威视数字技术股份有限公司 一种编解码方法、装置、设备及存储介质
KR102142946B1 (ko) * 2019-11-08 2020-08-10 세종대학교산학협력단 다중 dpcm 기법을 이용한 무손실 이미지 데이터 압축 장치 및 방법
CN117354534B (zh) * 2023-12-04 2024-02-02 上海方诚光电科技有限公司 一种自适应图像无损压缩方法、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914160B1 (ko) 2001-07-02 2009-08-28 퀄컴 인코포레이티드 골롬-라이스를 이용하는 무손실의 프레임내 인코딩

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483581B2 (en) * 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
US7689051B2 (en) * 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
KR100809603B1 (ko) * 2005-12-01 2008-03-06 한국전자통신연구원 화소 단위 기반 영상 부호화 및 복호화 장치 및 방법
KR20110011361A (ko) * 2009-07-28 2011-02-08 삼성전자주식회사 샘플링을 이용한 영상 데이터 인코딩/디코딩 장치 및 인코딩/디코딩 방법
US8559741B2 (en) * 2010-06-02 2013-10-15 Altek Corporation Lossless image compression method
KR20120071253A (ko) * 2010-12-22 2012-07-02 광주과학기술원 무손실 부호화를 위한 엔트로피 부호화 방법 및 엔트로피 부호화기

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914160B1 (ko) 2001-07-02 2009-08-28 퀄컴 인코포레이티드 골롬-라이스를 이용하는 무손실의 프레임내 인코딩

Also Published As

Publication number Publication date
WO2014189236A1 (ko) 2014-11-27
KR20140137505A (ko) 2014-12-03

Similar Documents

Publication Publication Date Title
JP6195997B2 (ja) シンボル圧縮を伴うデータのソース符号化・復号方法及び装置
AU2020201708B2 (en) Techniques for encoding, decoding and representing high dynamic range images
CN1135494C (zh) 基于高效表查阅的视觉无损失图象压缩方案
JP6703032B2 (ja) 後方互換性拡張画像フォーマット
KR101726572B1 (ko) 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치
JP2017507590A5 (ko)
US20170310981A1 (en) Video and image encoding process
EP1886503A1 (en) Compression and decompression of media data
US8682091B2 (en) Real-time image compression
WO2016202470A1 (en) Encoder, decoder and method employing palette utilization and compression
TWI479456B (zh) 使用誤差平面編碼的數據壓縮方法及裝置
JP2017526252A (ja) エンコーダ、デコーダ、および方法
US6584226B1 (en) Method and apparatus for implementing motion estimation in video compression
US8155457B2 (en) Robust encoding of metadata in lossy encoded images
KR20080016881A (ko) 예측 값들의 보정을 사용하는 압축 및 압축 해제
CN105409129A (zh) 编码器设备、解码器设备和方法
US8600181B2 (en) Method for compressing images and a format for compressed images
US20170201759A1 (en) Method and device for image encoding and image decoding
CN115250351A (zh) 用于图像数据的压缩方法、解压方法及相关产品
JP4241517B2 (ja) 画像符号化装置及び画像復号装置
CN113395475A (zh) 数据处理方法、装置、电子设备及存储设备
CN111131857A (zh) 图像压缩方法、装置及电子设备
GB2539486B (en) Encoder, decoder and method employing palette compression
JP3781012B2 (ja) 画像データ圧縮方法、画像データ伸長方法、および画像データ伸長回路
CN117857794A (zh) 基于块搜索和可变位数残差的相似图像jpeg无损重压缩方法

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

Year of fee payment: 4