KR20090014602A - 이미지 데이터 압축 방법 및 장치 - Google Patents

이미지 데이터 압축 방법 및 장치 Download PDF

Info

Publication number
KR20090014602A
KR20090014602A KR1020070078669A KR20070078669A KR20090014602A KR 20090014602 A KR20090014602 A KR 20090014602A KR 1020070078669 A KR1020070078669 A KR 1020070078669A KR 20070078669 A KR20070078669 A KR 20070078669A KR 20090014602 A KR20090014602 A KR 20090014602A
Authority
KR
South Korea
Prior art keywords
bit
pixels
values
encoding
bit planes
Prior art date
Application number
KR1020070078669A
Other languages
English (en)
Other versions
KR101375662B1 (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 KR1020070078669A priority Critical patent/KR101375662B1/ko
Priority to US12/007,794 priority patent/US8675732B2/en
Publication of KR20090014602A publication Critical patent/KR20090014602A/ko
Application granted granted Critical
Publication of KR101375662B1 publication Critical patent/KR101375662B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • G09G3/3611Control of matrices with row and column drivers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/20Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters
    • G09G3/34Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source
    • G09G3/36Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes for presentation of an assembly of a number of characters, e.g. a page, by composing the assembly by combination of individual elements arranged in a matrix no fixed position being assigned to or needed to be assigned to the individual characters or partial characters by control of light from an independent source using liquid crystals
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0252Improving the response speed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/16Determination of a pixel data signal depending on the signal applied in the previous frame

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Chemical & Material Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 이미지 데이터를 압축하고 복원하는 시스템에 관한 것으로, 본 발명에 따른 데이터 압축 방법은 이미지를 구성하는 픽셀들 중 소정 픽셀들의 값과 소정 픽셀들 각각에 대응하는 참조 픽셀들의 값과의 차이 값들을 계산하고, 계산된 차이 값들의 비트 열들 각각에 대해 서로 대응하는 순위의 비트들을 비트 플레인으로 정렬한 후, 정렬된 비트 플레인의 순위에 따라 비트 플레인들을 부호화함으로써 LCD DCC 용 이미지 압축에 적합하도록 이미지 복원 과정에서 주관적인 화질을 향상시키면서도 LCD DCC 등에서 요구하는 압축율을 정확히 달성할 수 있다.

Description

이미지 데이터 압축 방법 및 장치{Method and apparatus for image data compression}
본 발명은 이미지 데이터를 압축하고 복원하는 시스템에 관한 것으로, 특히 LCD DDC(Liquid Crystal Display Dynamic Capacitance Compensation) 장치에 적합한 영상 부호화 장치/복호화 장치 시스템에 관한 것이다.
도 1은 종래의 LCD DCC 장치의 일부 구성도이다.
도 1을 참조하면, 종래의 LCD DCC 장치의 일부는 메모리(110) 및 LUT(Lookup Table) 모듈(120)로 구성된다. LCD DCC 장치는 TFT(Thin Film Transistor)-LCD 패널의 응답 시간을 향상시키기 위하여 LCD 패널의 픽셀의 전압을 이 픽셀에 요구되는 전압보다 높게 걸어주는 장치를 말한다. 예를 들여, LCD 패널의 픽셀의 현재 전압이 A이고, 이 픽셀의 다음 전압이 B라면, LCD DCC 장치는 (A→B)의 형태로 전압을 구동시키는 것이 아니라, (A→C→B)의 형태로 전압을 구동시킨다. 이하에서는 LCD DCC 장치 중 TFT-LCD 패널의 응답 시간을 향상시키기 위한 전압 값을 계산하는 부분까지만 설명하고 종래 기술의 문제점을 살펴보기로 한다.
메모리(110)는 현재 픽처를 입력받으면, 이것을 저장한다. 이와 같은 과정을 통하여, 메모리(110)에는 현재 픽처가 입력되는 시점에서 이전 픽처가 저장되어 있게 된다.
LUT 모듈(120)은 룩업테이블을 참조하여 TFT-LCD 패널의 타겟 응답 시간에 요구되는 전압 값을 산출한다. 보다 상세하게 설명하면, LUT 모듈(120)은 룩업 테이블로부터 현재 입력된 현재 픽처의 어느 하나의 픽셀의 휘도(luminance) 값과 메모리(110)에 저장된 이전 픽처의 픽셀의 휘도 값의 차이에 대응하는 전압 값 정보들을 알아내고, 이것과 TFT-LCD 패널의 타겟 응답 시간을 이용하여 TFT-LCD 패널의 타겟 응답 시간에 요구되는 전압 값을 산출한다.
이와 같이, LCD DCC 장치에서 TFT-LCD 패널의 타겟 응답 시간에 요구되는 전압 값을 산출하기 위해서는 메모리(110)에 이전 픽처가 저장되어 있어야 한다.
그런데 현재 영상의 품질들이 점점 높아짐에 따라 픽처 하나 하나의 데이터량이 매우 많아지게 되었다. 이에 따라, 메모리에 픽처를 저장할 때, LCD DCC 장치로 입력된 픽처를 그대로 저장하지 않고, 이것을 압축하여 저장하려는 시도들이 진행 중에 있다.
이미지 압축을 위한 종래 기술로는 JPEG(Joint Photographic Expert Group), H.264(intra coding), JPEG-LS 등이 있지만 LCD DCC에 적용하기에는 다음과 같은 문제점들이 있었다.
첫째, 다음과 같은 화질 측면에서의 문제점이 있었다. 상기된 이미지 압축 방식에 따라 이미지 데이터를 1/2 ~ 1/3 정도로 압축을 하게 되면 PSNR(Peak Signal-to-Noise Ratio)를 이용하여 측정하는 객관적인 화질에 있어서는 큰 문제가 없는 것으로 나타난다. 그러나, 변환 부호화(transform coding)를 기반으로 하는 JPEG 또는 H.264의 경우에는 주관적인 화질의 성능이 떨어진다. 특히, 이미지 내의 에지 부분이 뭉개지는 것으로 관찰됨에 따라 이 부분에서 화질이 떨어진다. 특히 JPEG의 경우 정수 배 이상의 압출 효율을 얻을 수 있지만, 원본 화질과 비교할 때 화질 열화를 쉽게 확인할 수 있다. LCD DCC 장치는 사람에게 직접 보여지는 TFT-LCD 채널을 구동시키기 위한 회로이기 때문에, LCD DCC 용 압축 코덱에서는 주관적인 화질이 아주 중요하다.
둘째, 정확한 압축비를 얻지 못한다는 문제점이 있었다. 상기된 이미지 압축 방식 모두 어느 정도 압축비를 제어하는 것이 가능하나, LCD DCC 장치 등에서와 같이 제한된 용량의 메모리에 데이터를 저장하기 위해서는 언제나 원하는 압축비를 얻을 수 있어야 한다. 특히, JPEG-LS의 경우, VLC(Variable Length Code)를 사용하기 때문에 원본 이미지의 비트보다 더 많은 비트가 필요하게 될 수도 있다.
본 발명이 이루고자 하는 기술적 과제는 LCD DCC 용 이미지 압축에 적합하도록 이미지 복원 과정에서 주관적인 화질을 향상시키면서도 LCD DCC 등에서 요구하는 압축비를 정확히 맞출 수 있는 방법 및 장치를 제공하는데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다.
상기 기술적 과제를 이루기 위한 본 발명에 따른 데이터 압축 방법은 이미지를 구성하는 픽셀들 중 소정 픽셀들의 값과 상기 소정 픽셀들 각각에 대응하는 참조 픽셀들의 값과의 차이 값들을 계산하는 단계; 상기 계산된 차이 값들의 비트 열들 각각에 대해 서로 대응하는 순위의 비트들을 상기 순위의 비트 플레인으로 정렬하는 단계; 및 상기 정렬된 비트 플레인의 순위에 따라 상기 비트 플레인들을 부호화하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 데이터 압축 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 이루기 위한 본 발명에 따른 데이터 압축 장치는 이미지를 구성하는 픽셀들 중 소정 픽셀들의 값과 상기 소정 픽셀들 각각에 대응하는 참조 픽셀들의 값과의 차이 값들을 계산하는 감산부; 상기 계산된 차이 값 들의 비트 열들 각각에 대해 서로 대응하는 순위의 비트들을 상기 순위의 비트 플레인으로 정렬하는 비트 정렬부; 및 상기 정렬된 비트 플레인의 순위에 따라 상기 비트 플레인들을 부호화하는 부호화부를 포함한다.
상기 또 다른 기술적 과제를 이루기 위한 본 발명에 따른 데이터 복원 방법은 부호화된 데이터를 복호화하는 단계; 상기 복호화된 데이터를 비트 플레인으로 정렬하는 단계; 상기 정렬된 비트 플레인들을 수직 방향으로 읽어서 예측 오차들의 값을 복원하는 단계; 및 상기 복원된 예측 오차들의 값과 상기 예측 오차들 각각에 대응하는 참조 픽셀들의 값을 가산함으로써 현재 픽셀들을 복원하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 데이터 복원 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 이루기 위한 본 발명에 따른 데이터 복원 장치는 부호화된 데이터를 복호화하는 복호화부; 상기 복호화된 데이터를 비트 플레인으로 정렬하는 비트 플레인 복원부; 상기 정렬된 비트 플레인들을 수직 방향으로 읽어서 예측 오차들의 값을 복원하는 예측 오차 복원부; 및 상기 복원된 예측 오차들의 값과 상기 예측 오차들 각각에 대응하는 참조 픽셀들의 값을 가산함으로써 현재 픽셀들을 복원하는 가산부를 포함한다.
상술한 바와 같이, 본 발명에 따른 데이터 압축 방법은 이미지를 구성하는 픽셀들 중 소정 픽셀들의 값과 소정 픽셀들 각각에 대응하는 참조 픽셀들의 값과의 차이 값들을 계산하고, 계산된 차이 값들의 비트 열들 각각에 대해 서로 대응하는 순위의 비트들을 비트 플레인으로 정렬한 후, 정렬된 비트 플레인의 순위에 따라 비트 플레인들을 부호화함으로써 LCD DCC 용 이미지 압축에 적합하도록 이미지 복원 과정에서 주관적인 화질을 향상시키면서도 LCD DCC 등에서 요구하는 압축비를 정확히 달성할 수 있는 효과가 있다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 LCD DCC 장치의 일부 구성도이다.
도 2를 참조하면, 본 실시예에 따른 LCD DCC 장치의 일부는 데이터 압축 장치(210), 메모리(220), 데이터 복원 장치(230) 및 LUT 모듈(240)로 구성된다.
데이터 압축 장치(210)는 인트라 예측, 엔트로피 부호화 등을 사용함으로써 데이터를 압축한다.
메모리(220)는 데이터 압축 장치(210)로부터 압축 데이터를 입력받으면, 이것을 저장한다. 이와 같은 과정을 통하여, 메모리(220)에는 현재 픽처가 입력되는 시점에서 이전 픽처에 해당하는 압축 데이터가 저장되어 있게 된다.
데이터 복원 장치(230)는 엔트로피 복호화 등을 사용함으로써 데이터를 복원한다.
LUT 모듈(240)은 룩업테이블을 참조하여 TFT-LCD 패널의 타겟 응답 시간에 요구되는 전압 값을 산출한다. 보다 상세하게 설명하면, LUT 모듈(240)은 룩업 테이블로부터 현재 입력된 현재 픽처의 어느 하나의 픽셀의 휘도 값과 데이터 복원 장치(230)에 의해 복원된 이전 픽처의 픽셀의 휘도 값의 차이에 대응하는 전압 값 정보들을 알아내고, 이것과 TFT-LCD 패널의 타겟 응답 시간을 이용하여 TFT-LCD 패널의 타겟 응답 시간에 요구되는 전압 값을 산출한다.
도 3은 본 발명의 일 실시예에 따른 데이터 압축 장치를 블록도로 도시한 것이다.
도 3을 참조하면, 데이터 압축 장치는 픽셀 추출부(300), 인트라 예측부(310), 감산부(320), 비트 정렬부(330), 제어부(340), 엔트로피 코딩부(350), 비트 패킹부(bit packing unit)(360), 복원부(370) 및 버퍼부(380)로 구성된다.
픽셀 추출부(300)는 이미지가 복수 개의 라인(line)들로 이루어져 있을 때, 이 라인들 중 어느 하나의 라인에 속한 픽셀들 중에서 복수의 픽셀들을 추출한다. 이때, 복수의 픽셀들을 추출하는 방법의 일 예는 하나의 라인에 속한 픽셀들을 N 개의 영역으로 분할하고, 분할된 각 영역에서 하나씩 픽셀을 추출하는 방법이다. 이때, 픽셀 추출부(300)에 의해 추출된 픽셀들은 본 실시예에 따른 데이터 압축 장치(210)의 압축 단위인 하나의 그룹을 형성한다. 또한, 다른 일 예로, 픽셀 추출부(300)는 도 4에 도시된 바와 같이 하나의 라인에서 일정한 간격으로 8 개의 픽셀들을 차례로 추출하여 하나의 그룹을 만들 수 있다. 도 4에 도시된 '↓'는 추출된 픽셀들을 가리킨다.
인트라 예측부(310)는 픽셀 추출부(300)에 의해 추출된 한 그룹의 픽셀들 각 각에 대하여 인트라 예측을 수행한다.
도 5는 도 3에 도시된 인트라 예측부(310)에 의해 사용되는 예측 방향을 도시한 도면이다. 도 5를 참조하면, 인트라 예측부(310)는 추출된 픽셀들 각각에 대하여 상 방향, 좌 방향 및 좌상 방향에 위치한 복원된 픽셀들을 이용하여 인트라 예측을 할 수 있다. 일 실시예로서, 인트라 예측부(310)는 에지 검출법(edge detecting method)을 사용하여 인트라 예측을 할 수 있다. 에지(edge)는 입력된 픽처에서 사물의 윤곽, 위치, 크기 등을 나타내고, 픽처의 밝기와 색이 급격한 변화가 있는 선을 말한다. 이러한 에지를 검출하는 방법으로 IEEE Trans. On Consumer Electronics, Vol 47, No.3, 2001, pp466-476 에 있는 "Two low cost algorithms for improved diagonal edge detection in JPEG-LS" 에 개시된 방법을 사용하는 것이 바람직하다. 도 6은 이러한 에지 검출법에 따라 인트라 예측을 수행하는데 사용되는 픽셀들을 도시한 도면이다.
도 6을 참조하여, 픽셀 x에 대한 에지 검출법의 알고리즘은 다음과 같다.
if (c >= max(a,b)) P = min(a,b);
else{
if (c <= min(a,b)) P = max(a,b);
else P = a+b-c;
}
(단, a, b 픽셀들의 값이고, max(a,b)는 a, b 중 큰 값, min(a,b)는 a, b 중 작은 값을 의미하고 P는 참조 픽셀의 값을 의미한다.)
이 알고리즘에 의하면, 참조 픽셀의 값(P)은 에지가 수평 방향인지 수직 방향인지 여부와 참조 픽셀의 값은 a 와 b 중에 큰 값이 무엇인지에 따라 결정된다. 만일, c >= max(a,b) 일 때, min(a,b)=a 이면 수평 방향의 에지를 가지며 참조 픽셀의 값(P)은 a로 결정된다. 그리고 c >= max(a,b) 일 때, min(a,b)=b 이면 수직 방향의 에지를 가지며 참조 픽셀의 값(P)은 b로 결정된다. 반면에 c <= min(a,b) 일 때, max(a,b)=a 이면 수평 방향의 에지를 가지며 참조 픽셀의 값(P)는 a로 결정된다. 그리고 c <= min(a,b) 일 때, max(a,b)=b 이면 수직 방향의 에지를 가지며 참조 픽셀의 값(P)는 b로 결정된다. 그리고 min(a,b) < c < max(a,b) 일 때에는 수직 또는 수평 방향의 에지를 가진다고 판정하기 어려우므로 참조 픽셀의 값(P)은 a, b, c 모두를 고려하여 P=a+b-c로 결정한다. 이렇게 함으로써, 간단하게 참조 픽셀들의 값을 결정할 수 있다.
이때, 데이터 압축 장치(210)가 하나의 그룹을 구성하는 픽셀들의 개수만큼의 복수 개의 인트라 예측부(310)들을 포함하고 있다면, 하나의 그룹을 이루는 픽셀들에 대하여 동시에 병렬적으로 인트라 예측을 수행할 수 있어서 부호화 시간을 줄일 수도 있다. 즉, 픽셀 추출부(300)에 의해 8 개의 픽셀들이 추출된 경우, 8 개의 인트라 예측부(310)는 8 개의 픽셀들에 대하여 병렬적으로 인트라 예측을 수행함으로써 부호화 시간을 줄일 수 있다.
감산부(320)는 픽셀 추출부(300)에 의해 추출된 픽셀들의 값으로부터 인트라 예측부(310)에 의해 결정된 참조 픽셀들의 값을 감산함으로써 한 그룹의 픽셀들에 대한 예측 오차들인 한 그룹의 예측 오차들을 계산한다.
비트 정렬부(330)는 감산부(320)에 의해 계산된 한 그룹의 예측 오차들의 비트 열들을 비트 플레인(bit plane)으로 정렬한다. 상세하게는, 비트 정렬부(330)는 예측 오차들에 비트 열들에 대하여, 각 예측 오차들의 최상위 비트(MSB:Most Significant Bit)들을 최상위 플레인인 0-플레인으로 정렬하고, 그 다음 상위 비트들을 그 다음의 상위 플레인인 1-플레인으로 정렬하는데, 최하위 비트(LSB:Last Significant Bit)들을 정렬할때까지 이 과정을 반복함으로써 한 그룹의 예측 오차들의 비트 열들을 비트 플레인(bit plain)으로 정렬한다.
도 7은 도 3에 도시된 비트 정렬부(330)에 의해 비트 플레인으로 정렬된 한 그룹의 예측 오차들의 일 예를 도시한 도면이다.
도 7을 참조하면, 한 그룹이 8 개의 픽셀들로 이루어지고 각 예측 오차들을 각각 8,18,7,2,4,7,14,5 라고 가정하면, 비트 정렬부(330)는 각 예측 오차들의 비트 열들을 0-플레인부터 7-플레인까지 정렬하므로, 0-플레인부터 2-플레인까지는 모두 '0' 비트, 3-플레인은 '0 1 0 0 0 0 0 0' 비트, 4-플레인은 '1 0 0 0 0 0 1 0' 비트, 5-플레인은 '0 0 1 0 1 1 1 1' 비트, 6-플레인은 '0 1 1 1 0 1 1 0' 비트, 7-플레인은 '0 0 1 0 0 1 0 1' 비트로 정렬한다.
제어부(340)는 비트 정렬부(330)에 의해 정렬된 비트 플레인들에 대하여 일부 비트 플레인들은 VLC(Variable Length Code)로 부호화되도록 제어하고, 나머지 일부 비트 플레인들에 대해서는 FLC(Fixed Length Code)로 부호화되도록 제어한다. 또한, 제어부(340)는 원하는 압출률을 달성할 수 있도록 하기 위해 일부 비트들은 잘라낸다.
먼저, 제어부(340)에서 일부 비트 플레인만을 VLC로 부호화하는 이유는 다음과 같다. 일반적으로, 감산부(320)에 의해 계산된 예측 오차들은 이미지에서 일부 경계를 이루는 픽셀 등에서 계산된 예측 오차들을 제외하면 대부분 작은 값을 가지므로, 도 7에 도시된 바와 같이 상위의 비트 플레인들에서는 '0' 비트가 나타날 가능성이 높고, 반면에 하위의 비트 플레인들로 갈수록 '1'비트가 나타날 가능성이 점점 증가하여 최하위 비트 플레인에서는 '0' 비트와 '1' 비트가 나타날 가능성이 비슷해진다. 따라서, 효율적인 데이터 압축을 위해 상위의 비트 플레인에 대해서는 VLC(Variable Length Code)로 부호화하는 것이 바람직하고, 하위의 비트 플레인에 대해서는 FLC(Fixed Length Code)로 부호화하는 것이 바람직하다. 예를 들면, 상위 5개의 비트 플레인인 0-플레인부터 4-플레인까지는 VLC로 부호화하고, 하위 3개의 비트 플레인인 5-플레인부터 7-플레인까지는 FLC로 부호화할 수 있다. 이 경우, 상위 몇 개의 비트 플레인까지 VLC로 부호화할지는 본 실시예에 따른 데이터 압축 장치(210)를 설계할 때에 설정될 수 있다.
그리고, 상위의 비트 플레인들 중 모든 비트가 '0'인 비트 플레인들에 대해서는 부호화할 필요가 없으므로, '0'비트가 아닌 최초로 '1'비트가 나오는 플레인에서부터 4-플레인까지 VLC로 부호화한다. 예를 들어, 도 6에 도시된 비트 플레인의 경우에는 0-플레인부터 2-플레인까지는 모든 비트가 '0'이고, 3-플레인에서 최초로 '1' 인 비트가 존재하므로, 3-플레인부터 VLC로 부호화한다.
제어부(340)는 정렬된 비트 플레인들에 대하여 래스터 스캔 순서(raster scan order)에 따라 부호화가 이루어질 수 있도록 제어한다. 래스터 스캔 순서는 최상위의 비트 플레인의 가장 좌측부터 시작해서 수평 방향으로 부호화를 진행하고 최상위의 비트 플레인이 모두 부호화되면 그 다음 상위의 비트 플레인을 부호화하는 것을 말한다.
또한, 본 실시예에 따른 데이터 압축 장치(210)는 일정한 압축율을 달성하는 것이 요구되므로, 제어부(340)는 이러한 일정한 압축율을 달성하기 위해 하위의 비트 플레인들을 부호화하지 않고 삭제한다.
도 8은 제어부(340)에서 일부 비트플레인에 대해 VLC로 부호화되도록 제어하는 일 예를 흐름도로 도시한 것이다.
도 8을 참조하면, 810 단계에서 제어부(340)는 부호화된 결과의 비트량이 데이터 압축 장치(210)가 달성해야 하는 압축율에 따른 비트량인 타겟 비트량에 도달하였는지 여부를 판단하여 판단 결과 타겟 비트량에 도달하였다면, 목표한 압출율을 달성하였으므로 부호화를 종료시킨다.
820 단계에서 제어부(340)는 810 단계에서의 판단 결과 타겟 비트량에 도달하지 않았다면, 부호화할 비트 플레인이 VLC로 부호화할 비트 플레인인지 여부를 판단한다.
830 단계에서 제어부(340)는 820 단계에서의 판단 결과 VLC로 부호화할 비트 플레인이면, 이 VLC로 부호화할 비트 플레인을 엔트로피 코딩부(350)에 제공함으로써 VLC로 부호화될 수 있도록 한다.
840 단계에서 제어부(340)는 820 단계에서의 판단 결과 VLC로 부호화할 비트 플레인이 아니면, 해당 비트 플레인을 FLC로 부호화함으로써 부호어를 생성한다. 이때, 일 예로서 FLC로 부호화하는 것은 현재 비트 플레인을 그대로 부호어(code word)로 하는 것을 의미한다.
엔트로피 코딩부(350)는 제어부(340)에 제어를 받아 VLC로 부호화할 비트플레인에 대해, 런 랭스 부호화(Run length coding) 및 골룸 부호화(Golomb coding)로 구성되는 무손실 압축 부호화를 수행함으로써 부호어(code word)를 생성한다.
먼저, 엔트로피 코딩부(350)는 런 랭스 부호화를 실행한다. 런 랭스 부호화는 이진 데이터에 대하여 0이 계속해서 반복되는 횟수를 규정하는 코드로 부호화하는 것을 말한다. 예를 들면, 4-플레인이 '1 0 0 0 0 0 1 0'이라면, 0이 0번 반복되고, 다시 0이 5번 반복되고, 다시 0이 1번 반복되므로, 런 랭스 부호화에 의해 '0 5 1' 의 심볼을 생성한다.
다음으로, 엔트로피 코딩부(350)는 런 랭스 부호화에 의해 생성된 심볼에 대해 골룸 부호화를 실행함으로써 부호어를 생성한다. 골룸 부호화는 음이 아닌 정수인 심볼에 대해 몇 가지 확률 분포에 따라 결정되는 부호어(code word)로 부호화하는 것으로써 도 9에 도시된 골룸 코드 테이블을 사용하여 부호화하는 허프만 부호화(Huffman coding)의 일종이다. 이러한 골룸 부호화를 위한 골룸 코드 테이블은 입력 심볼에 대한 이진 부호어가 간단한 규칙에 의해 계산될 수 있어서, 따로 저장할 필요가 있다. 그리고 골룸 코드 테이블에서 사용되는 파라미터 m은 각 심볼에 대해 생성되는 부호어의 길이가 최소가 될 수 있도록 선택되는 값이다. 만일, 모든 심볼에 대해 m=2인 파라미터를 사용하여 골룸 부호화를 수행한다면, 도 9에 도시된 바와 같이 심볼들이 클수록 골룸 부호화에 따라 생성된 부호어들의 길이가 매우 길 어짐을 알 수 있다. 따라서, 본 실시예에 따른 엔트로피 코딩부(350)는 런 랭스 부호화된 심볼이 0 내지 5까지는 m=2인 파라미터를 사용하여 골룸 부호화를 수행하고, 런 랭스 부호화된 심볼이 6 내지 11까지는 m=4인 파라미터를 사용하여 골룸 부호화를 수행하고, 런 랭스 부호화된 심볼이 12 내지 23까지는 m=8인 파라미터를 사용하여 골룸 부호화를 수행하는 등 심볼들이 큰 값을 가질 확률이 클수록 더 큰 m을 선택함으로써 부호어를 더욱 효율적으로 구현할 수 있다. 일 예로서 도 9에 도시된 골룸 코드 테이블을 사용하여, 4-플레인을 부호화를 한다고 할 때, 4-플레인의 심볼이 '0 5 1' 이므로 엔트로피 코딩부(350)는 m=4인 파라미터를 사용하여 '000 1001 001'의 부호어를 생성한다.
복원부(370)는 부호어와 인트라 예측부(310)에 결정된 참조 픽셀들을 사용하여 현재 픽셀들을 복원한다. 복원부(370)의 동작은 도 2에 도시된 데이터 복원 장치(230)의 동작과 동일하다. 따라서, 여기서는 복원부(370)에 대한 자세한 설명은 생략하기로 하며, 이하에서 설명된 데이터 복원 장치(230)의 동작 설명을 참조하기로 한다.
버퍼부(380)는 복원부(370)에 의해 복원된 픽셀들을 저장한다. 이를 통해 버퍼부(380)에는 현재 그룹의 픽셀들이 입력되는 시점에서 이전 그룹에 해당하는 픽셀들을 저장하게 되어 있다.
비트 패킹부(360)는 플레인 식별자, VLC 또는 FLC로 부호화된 부호어로 구성된 데이터 패킷을 생성하고, 이것을 메모리(220)에 제공한다. 도 8은 도 3에 도시된 비트 패킹부(360)에 의해 생성된 데이터 패킷의 일 예를 도시한 도면이다. 도 8 에서 플레인 식별자는 최초의 '1' 비트를 포함하는 비트 플레인을 표시하며, 최초로 엔트로피 코딩부(350)에 의해 부호화된 비트 프레인을 표시한다. 이러한 플레인 식별자는 0 내지 7 중 어느 하나의 값을 가지므로 3비트가 할당된다. 일 예로서, 도 10을 참조하면 압축률이 1/6 이면 비트 패킹부(360)는 비트 플레인 값의 3비트와 37 비트의 부호어를 패킹하여 총 40 비트의 데이터 패킷을 생성하고, 압축률이 1/4이면 비트 패킹부(360)는 비트 플레인 값의 3비트와 57 비트의 부호어를 패킹하여 60 비트의 데이터 패킷을 생성한다.
도 11은 도 2에 도시된 데이터 복원 장치(230)의 구성을 블록도로 도시한 것이다.
도 11을 참조하면, 데이터 복원 장치(230)는 비트 파서(bit parser)(1100), 제어부(1110), 엔트로피 디코더(1120), 비트 플레인 복원부(1130), 오차 복원부(1140), 인트라 예측부(1150), 가산부(1160), 픽셀 배치부(1170) 및 버퍼부(1180)로 구성된다.
비트 파서(1100)는 메모리(220)에 저장되어 있는 데이터 패킷을 읽어내고, 이 데이터 패킷을 파싱함으로써 3 비트의 플레인 식별자 및 부호화된 데이터인 부호어를 추출한다. 이때, 플레인 식별자는 최초의 '1' 비트를 포함하는 비트 플레인을 표시하며, 데이터 압축 장치(210)의 엔트로피 코딩부(350)에 의해 최초로 부호화된 비트 프레인을 표시하는 식별자이다.
제어부(1110)는 비트 파서(1100)에 의해 추출된 부호어가 엔트로피 복호화가 필요한지를 판단하여, 판단 결과 엔트로피 복호화가 필요하면 엔트로피 디코 더(1120)에 의해 복호화될 수 있도록 제어한다. 이때, 추출된 부호어가 엔트로피 복호화가 필요한지에 대한 판단은 해당 부호어가 엔트로피 복호화될 비트 플레인에 해당하는지를 확인함으로써 알 수 있다. 그리고, 엔트로피 복호화될 비트 플레인은 데이터 복원 장치(230)를 설계할 때 미리 설정되며, 데이터 압축 장치(210)에서 엔트로피 부호화된 비트 플레인과 일치한다.
엔트로피 디코더(1120)는 엔트로피 복호화가 필요한 부호어를 엔트로피 복호화한다. 이때, 엔트로피 디코더(1120)는 골룸 부호화와 런 랭스 부호화의 역과정을 수행한다.
비트 플레인 복원부(1130)는 비트 파서(1100)에 의해 추출된 부호어를 비트 플레인에 정렬한다. 상세하게는, 먼저 비트 플레인 복원부(1130)는 최상위 비트 플레인부터 플레인 식별자가 표시하는 비트 플레인의 상위 비트 플레인까지는 모두 '0' 비트를 기록한다. 그리고, 엔트로피 디코더(1120)에 의해 복호화된 부호어를 비트 플레인으로 정렬한 후, 정렬이 끝나면 추출된 부호어 중 복호화가 필요하지 않은 부호어를 그대로 비트 플레인에 정렬한다. 마지막으로, 나머지 비트 플레인에 대해서는 모두 '0' 비트를 기록함으로써 비트 플레인 복원을 완성한다.
오차 복원부(1140)는 비트 플레인 복원부(1130)에 의해 복원된 비트 플레인을 최상위 비트부터 수직 방향으로 읽음으로써 한 그룹의 예측 오차들을 복원한다.
인트라 예측부(1150)는 버퍼부(1180)에 저장된 복원된 픽셀들을 이용하여 현재 픽셀들에 대하여 인트라 예측을 수행한다. 이때에는 도 3의 인트라 예측부(310)에서 사용했던 것과 동일한 방식의 에지 검출법을 사용하여 참조 픽셀들의 값을 결 정한다.
가산부(1160)는 오차 복원부(1140)에 의해 복원된 예측 오차들과 인트라 예측부(1150)에 의해 결정된 참조 픽셀들의 값을 가산함으로써 현재 픽셀들을 복원한다.
픽셀 배치부(1170)는 복원된 현재 픽셀들을 원래의 라인 상의 위치로 배치한다.
버퍼부(1180)는 픽셀 배치부(1170)로부터 복원된 현재 픽셀들을 저장한다. 이를 통해, 버퍼부(1180)는 현재 그룹의 픽셀들이 입력되는 시점에서 이전 그룹에 해당하는 픽셀들을 저장하게 되어 있다.
도 12는 본 발명의 일 실시예에 따른 데이터 압축 방법을 흐름도로 도시한 것이다.
도 12를 참조하면, 본 실시예에 따른 데이터 압축 방법은 도 3에 도시된 데이터 압축 장치(210)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 3에 도시된 데이터 압축 장치에 관하여 이상에서 기술된 내용은 본 실시예에 따른 데이터 압축 방법에도 적용된다.
1210 단계에서 데이터 압축 장치(210)는 하나의 라인(line)에 속한 픽셀들을 중에서 복수의 픽셀들을 추출한다. 이때, 복수의 픽셀들을 추출하는 방법의 일 예는 하나의 라인에 속한 픽셀들을 N 개의 영역으로 분할하고, 분할된 각 영역에서 하나씩 픽셀을 추출하는 방법을 사용할 수 있다. 또한 다른 일 예로, 하나의 라인에 속한 픽셀들에 대하여 일정한 간격으로 하나씩 픽셀들을 추출하는 방법을 사용 할 수도 있다. 이때, 추출된 픽셀들은 본 실시예에 따른 데이터 압축 장치(210)의 압축 단위인 하나의 그룹을 형성한다.
1215 단계에서 데이터 압축 장치(210)는 1210 단계에서 추출된 한 그룹의 픽셀들 각각에 대하여 인트라 예측을 수행한다. 이때, 일 실시예로서 에지 검출법을 사용하여 한 그룹의 픽셀들 각각에 대한 참조 픽셀들의 값을 결정할 수 있다.
1220 단계에서 데이터 압축 장치(210)는 1210 단계에서 추출된 픽셀들의 값에서 1215 단계에서 결정된 참조 픽셀들의 값을 감산함으로써 한 그룹의 픽셀들에 대한 예측 오차들을 계산한다.
1225 단계에서 데이터 압축 장치(210)는 1220 단계에서 계산된 예측 오차들의 비트 열들을 비트 플레인(bit plane)으로 정렬한다. 상세하게는 비트 정렬부(330)는 한 그룹의 예측 오차들에 대해서, 각 예측 오차들의 최상위 비트(MSB:Most Significant Bit)들을 최상위 비트 플레인인 0-플레인으로 정렬하고, 그 다음 상위 비트들을 그 다음의 상위 비트 플레인인 1-플레인으로 정렬하는데, 최하위 비트(LSB:Last Significant Bit)들을 정렬할 때까지 이 과정을 반복함으로써 한 그룹의 예측 오차들을 비트 플레인(bit plain)으로 정렬한다.
1230 단계에서 데이터 압축 장치(210)는 1225 단계에서 정렬된 비트 플레인에 대하여 래스터 스캔 순서(raster scan order)에 따라 VLC로 부호화한다. 이때, 상위의 비트 플레인들 중 모든 비트가 '0'인 비트 플레인들에 대해서는 부호화할 필요가 없으므로, 최초로 '1' 비트를 포함하는 비트 플레인부터 VLC로 부호화하며, 최초로 부호화되는 비트 플레인을 식별할 수 있게 하는 플레인 식별자를 생성한다.
1235 단계에서 데이터 압축 장치(210)는 현재까지 부호화된 결과의 비트량이 달성해야 하는 압축율에 따른 비트량인 타겟 비트량에 도달하였는지 여부를 판단하여, 판단 결과 타겟 비트량에 도달하였다면, 목표한 압출율을 달성하였으므로 부호화를 종료하고, 1255 단계로 진행한다.
1240 단계에서 데이터 압축 장치(210)는 1235 단계에서 판단 결과 타겟 비트량에 도달하지 않았다면, 부호화할 비트 플레인이 VLC로 부호화할 비트 플레인인지 여부를 판단한다. 이때, 어떤 비트 플레인에 대해 VLC로 부호화할 것인지는 데이터 압축 장치(210)에서 미리 설정되어 있다.
1245 단계에서 데이터 압축 장치(210)는 1240 단계에서 판단 결과 VLC로 부호화할 비트 플레인에 해당하면, 현재 비트 플레인에 대하여 엔트로피 부호화를 실행하여 부호어를 생성한 후, 1235 단계로 진행한다. 즉, 데이터 압축 장치(210)는 VLC로 부호화할 비트 플레인을 런 랭스 부호화 및 골룸 부호화로 구성되는 무손실 압축 부호화인 엔트로피 부호화를 수행함으로써 부호어(code word)를 생성한다.
1250 단계에서 데이터 압축 장치(210)는 1240 단계에서 판단 결과 VLC로 부호화할 비트 플레인에 해당하지 않으면, 현재 비트 플레인에 대하여 FLC로 부호화하여 부호어를 생성하고, 1235 단계로 진행한다. 이때, 일 예로서 FLC로 부호화하는 것은 현재 비트 플레인을 그대로 부호어(code word)로 하는 것을 의미한다.
1255 단계에서 데이터 압축 장치(210)는 1230 단계에서 생성된 플레인 식별자와 부호어, 1245 단계에서 생성된 부호어 및 1250 단계에서 생성된 부호어 및 1220 단계에서 결정된 참조 픽셀을 사용하여 1210 단계에서 추출된 픽셀들을 복원 한다. 추출된 픽셀들을 복원하는 과정은 도 13에 도시된 데이터 복원 방법과 동일하므로, 여기서는 복원 과정에 대한 자세한 설명은 생략하기로 하며, 이하에서 설명된 데이터 복원 방법을 참조하기로 한다.
1260 단계에서 데이터 압축 장치(210)는 1230 단계에서 생성된 플레인 식별자와 부호어, 1245 단계에서 생성된 부호어, 1250 단계에서 생성된 부호어로 구성된 데이터 패킷을 생성하고, 이를 메모리(220)에 제공한다.
도 13은 본 발명의 일 실시예에 따른 데이터 복원 방법을 흐름도로 도시한 것이다.
도 13을 참조하면, 본 실시예에 따른 데이터 복원 방법은 도 3에 도시된 데이터 복원 장치(230)에서 시계열적으로 처리되는 단계들로 구성된다.
1310 단계에서 데이터 복원 장치(230)는 메모리(220)에 저장되어 있는 데이터 패킷을 읽어내고, 이 데이터 패킷을 파싱함으로써 3 비트의 플레인 식별자 및 부호화된 데이터인 부호어를 추출한다.
1315 단계에서 데이터 복원 장치(230)는 1310 단계에서 추출된 부호어가 엔트로피 복호화가 필요한지 여부를 판단한다. 이때, 추출된 부호어가 엔트로피 복호화가 필요한지에 대한 판단은 추출된 부호어가 엔트로피 복호화될 비트 플레인에 해당하는지를 확인함으로써 알 수 있다. 그리고, 엔트로피 복호화될 비트 플레인은 데이터 복원 장치(230)를 설계할 때 미리 설정되며, 데이터 압축 장치(210)에서 엔트로피 부호화된 비트 플레인과 일치한다.
1320 단계에서 데이터 복원 장치(230)는 1315 단계에서 판단 결과 엔트로피 복호화가 필요하지 않으면, 추출된 부호어를 비트 플레인에 정렬한다.
1325 단계에서 데이터 복원 장치(230)는 1315 단계에서 판단 결과 엔트로피 복호화가 필요하면, 추출된 부호어를 엔트로피 복호화한다. 일 예로서, 데이터 복원 장치(230)는 골룸 부호화와 런 랭스 부호화의 역과정을 수행함으로서 엔트로피 복호화를 수행한다.
1330 단계에서 데이터 복원 장치(230)는 1320 단계에서 엔트로피 복호화된 부호어를 비트 플레인에 정렬한다.
1335 단계에서 데이터 복원 장치(230)는 추출된 부호어가 더 있는지를 판단하고, 판단 결과 추출된 부호어가 더 있으면 1315 단계로 진행한다.
1340 단계에서 데이터 복원 장치(230)는 1335 단계에서 판단 결과 추출된 부호어가 더 없으면 나머지 비트 플레인에 대해 모두 '0' 비트를 기록함으로써 비트 플레인 복원을 완성한다.
1345 단계에서 데이터 복원 장치(230)는 1340 단계에서 복원이 완성된 비트 플레인에 대하여 최상위 비트부터 수직 방향으로 읽음으로써 한 그룹의 예측 오차들을 복원한다.
1350 단계에서 데이터 복원 장치(230)는 이전 그룹에 해당하는 픽셀들을 이용하여 인트라 예측을 수행한다. 이때에는 데이터 압축 장치(210)에서 인트라 예측을 할 때 사용했던 것과 동일한 방식의 에지 검출법을 사용하여 현재 그룹의 참조 픽셀들의 값을 결정한다.
1355 단계에서 데이터 복원 장치(230)는 1345 단계에서 복원된 예측 오차들 의 값에 1350 단계에서 결정된 참조 픽셀들의 값을 가산함으로써 현재 픽셀들을 복원한다.
1360 단계에서 데이터 복원 장치(230)는 1355 단계에서 복원된 픽셀들을 라인 상의 원래의 위치로 배치함으로써 데이터 압축 전의 이미지를 복원한다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이제까지 본 발명에 대하여 그 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 종래의 LCD DCC 장치의 일부 구성도이다.
도 2는 본 발명의 일 실시예에 따른 LCD DCC 장치의 일부 구성도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 압축 장치를 블록도로 도시한 것이다.
도 4는 도 3에 도시된 픽셀 추출부(300)에서 픽셀들을 추출하는 일 예를 도시한 도면이다.
도 5는 도 3에 도시된 인트라 예측부(310)에 의해 사용되는 예측 방향을 도시한 도면이다.
도 6은 도 3에 도시된 인트라 예측부(310)가 에지 검출법에 따라 인트라 예측을 수행하는데 사용되는 픽셀들을 도시한 도면이다.
도 7은 도 3에 도시된 비트 정렬부(330)에 의해 비트 플레인으로 정렬된 예측 오차들의 일 예를 도시한 도면이다.
도 8은 도 3에 도시된 제어부(340)에서 일부 비트 플레인에 대하여 VLC로 부호화하도록 제어하는 일 예를 흐름도로 도시한 것이다.
도 9는 도 3에 도시된 엔트로피 코딩부(350)에서 사용하는 파라미터 m에 따른 골룸 코드 테이블의 일 예를 도시한 도면이다.
도 10은 도 3에 도시된 비트 패킹부(360)에 의해 생성된 데이터 패킷의 일 예를 도시한 도면이다.
도 11은 도 2에 도시된 데이터 복원 장치(230)의 구성을 블록도로 도시한 것 이다.
도 12은 본 발명의 일 실시예에 따른 데이터 압축 방법을 흐름도로 도시한 것이다.
도 13은 본 발명의 일 실시예에 따른 데이터 복원 방법을 흐름도로 도시한 것이다.

Claims (16)

  1. 이미지를 구성하는 픽셀들 중 소정 픽셀들의 값과 상기 소정 픽셀들 각각에 대응하는 참조 픽셀들의 값과의 차이 값들을 계산하는 단계;
    상기 계산된 차이 값들의 비트 열들 각각에 대해 서로 대응하는 순위의 비트들을 상기 순위의 비트 플레인으로 정렬하는 단계; 및
    상기 정렬된 비트 플레인의 순위에 따라 상기 비트 플레인들을 부호화하는 단계를 포함함을 특징으로 하는 데이터 압축 방법.
  2. 제1 항에 있어서, 상기 부호화하는 단계는
    상기 부호화된 결과의 비트량이 소정의 타겟 비트량에 도달할 때까지 상기 비트 플레인의 순위에 따라 상기 비트 플레인들을 부호화하는 것을 특징으로 하는 데이터 압축 방법.
  3. 제1 항에 있어서, 상기 부호화하는 단계는
    상기 비트 플레인들을 무손실 압축 부호화하는 것을 특징으로 하는 데이터 압축 방법.
  4. 제1 항에 있어서, 상기 부호화하는 단계는
    상기 정렬된 비트 플레인 중 엔트로피 부호화가 필요한 비트 플레인을 런 랭 스 부호화 및 골룸 부호화함으로써 부호화하는 것을 특징으로 하는 데이터 압축 방법.
  5. 제1 항에 있어서, 상기 부호화하는 단계는
    상기 정렬된 비트 플레인 중 엔트로피 부호화가 필요하지 않은 비트 플레인을 그대로 부호어(code word)로 하는 것을 특징으로 하는 데이터 압축 방법.
  6. 제1 항에 있어서, 상기 소정 픽셀들은
    이미지를 구성하는 하나의 라인(line)에 속한 픽셀들을 복수의 영역들로 분할하여, 상기 분할된 각 영역들에서 하나씩 상기 추출된 픽셀들인 것을 특징으로 하는 데이터 압축 방법.
  7. 제1 항에 있어서, 상기 소정 픽셀들은
    이미지를 구성하는 하나의 라인에 속한 픽셀들에 대하여 일정한 간격으로 하나씩 추출된 픽셀들인 것을 특징으로 하는 데이터 압축 방법.
  8. 제1 항에 있어서, 상기 참조 픽셀들은
    상기 소정 픽셀들에 대한 에지들을 검출하고, 상기 검출된 에지들의 방향에 따라 대응하는 참조 픽셀들인 것을 특징으로 하는 데이터 압축 방법.
  9. 제1 항 내지 제8 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  10. 이미지를 구성하는 픽셀들 중 소정 픽셀들의 값과 상기 소정 픽셀들 각각에 대응하는 참조 픽셀들의 값과의 차이 값들을 계산하는 감산부;
    상기 계산된 차이 값들의 비트 열들 각각에 대해 서로 대응하는 순위의 비트들을 상기 순위의 비트 플레인으로 정렬하는 비트 정렬부; 및
    상기 정렬된 비트 플레인의 순위에 따라 상기 비트 플레인들을 부호화하는 부호화부를 포함함을 특징으로 하는 데이터 압축 장치.
  11. 제10 항에 있어서, 상기 부호화부는
    상기 부호화된 결과의 비트량이 소정의 타겟 비트량에 도달할 때까지 상기 비트 플레인의 순위에 따라 상기 비트 플레인들을 부호화하는 것을 특징으로 하는 데이터 압축 장치.
  12. 제10 항에 있어서, 상기 부호화부는
    상기 비트 플레인들을 무손실 압축 부호화하는 것을 특징으로 하는 데이터 압축 장치.
  13. 제10 항에 있어서, 상기 부호화부는
    상기 정렬된 비트 플레인 중 엔트로피 부호화가 필요한 비트 플레인을 런 랭스 부호화 및 골룸 부호화함으로써 부호화하는 것을 특징으로 하는 데이터 압축 장치.
  14. 부호화된 데이터를 복호화하는 단계;
    상기 복호화된 데이터를 비트 플레인으로 정렬하는 단계;
    상기 정렬된 비트 플레인들을 수직 방향으로 읽어서 예측 오차들의 값을 복원하는 단계; 및
    상기 복원된 예측 오차들의 값과 상기 예측 오차들 각각에 대응하는 참조 픽셀들의 값을 가산함으로써 현재 픽셀들을 복원하는 단계를 포함함을 특징으로 하는 데이터 복원 방법.
  15. 제14 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
  16. 부호화된 데이터를 복호화하는 복호화부;
    상기 복호화된 데이터를 비트 플레인으로 정렬하는 비트 플레인 복원부;
    상기 정렬된 비트 플레인들을 수직 방향으로 읽어서 예측 오차들의 값을 복원하는 오차 복원부; 및
    상기 복원된 예측 오차들의 값과 상기 예측 오차들 각각에 대응하는 참조 픽 셀들의 값을 가산함으로써 현재 픽셀들을 복원하는 가산부를 포함함을 특징으로 하는 데이터 복원 장치.
KR1020070078669A 2007-08-06 2007-08-06 이미지 데이터 압축 방법 및 장치 KR101375662B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070078669A KR101375662B1 (ko) 2007-08-06 2007-08-06 이미지 데이터 압축 방법 및 장치
US12/007,794 US8675732B2 (en) 2007-08-06 2008-01-15 Method and apparatus of compressing image data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070078669A KR101375662B1 (ko) 2007-08-06 2007-08-06 이미지 데이터 압축 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20090014602A true KR20090014602A (ko) 2009-02-11
KR101375662B1 KR101375662B1 (ko) 2014-03-18

Family

ID=40346493

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070078669A KR101375662B1 (ko) 2007-08-06 2007-08-06 이미지 데이터 압축 방법 및 장치

Country Status (2)

Country Link
US (1) US8675732B2 (ko)
KR (1) KR101375662B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526749B2 (en) 2007-10-04 2013-09-03 Samsung Electronics Co., Ltd. Apparatus, method, and medium encoding/decoding images through application of psycho-visual characteristics
US9813718B2 (en) 2013-10-03 2017-11-07 Samsung Display Co., Ltd. Apparatus and method for compact bit-plane data compression

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110292247A1 (en) * 2010-05-27 2011-12-01 Sony Corporation Image compression method with random access capability
CA2708737C (en) * 2010-06-29 2017-08-22 Ruggedcom Inc. Method of and device for recovering from a root bridge failure
JP2014078860A (ja) * 2012-10-11 2014-05-01 Samsung Display Co Ltd 圧縮器、駆動装置、表示装置および圧縮方法
US20150049105A1 (en) * 2013-08-13 2015-02-19 Mediatek Inc. Data processing apparatus for transmitting/receiving indication information of pixel data grouping setting via display interface and related data processing method
CN109155061B (zh) * 2017-12-20 2021-08-27 深圳市大疆创新科技有限公司 图像融合的方法、装置与无人机
CN112911290B (zh) * 2021-01-29 2022-11-01 华侨大学 一种基于预测差值压缩编码的密文图像可逆数据隐藏方法
CN113784140B (zh) * 2021-09-15 2023-11-07 深圳市朗强科技有限公司 一种数学无损编码方法及设备

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0537914A (ja) 1991-07-31 1993-02-12 N T T Data Tsushin Kk 視覚特性利用の画像伝送システム
DE69416773T2 (de) * 1993-09-23 1999-10-21 Lg Electronics Inc Variabler Längen-Kodieren und variabler Längen-Dekodierer
BR9702270A (pt) * 1996-05-17 1999-07-20 Matsushita Electric Ind Co Ltd Aparelho de codificacão de imagem aparelho de codificacão de imagem método de codificacão de imagem meio de gravacao do programa de codificacão de imagem
JP3962029B2 (ja) 1996-10-30 2007-08-22 株式会社沖データ 画像データの縮小装置及び方法
US6272180B1 (en) * 1997-11-21 2001-08-07 Sharp Laboratories Of America, Inc. Compression and decompression of reference frames in a video decoder
US6801665B1 (en) * 1998-09-15 2004-10-05 University Of Maryland Method and apparatus for compressing and decompressing images
US6980597B1 (en) * 1998-12-04 2005-12-27 General Instrument Corporation Fine granularity scalability using bit plane coding of transform coefficients
US6865299B1 (en) * 1999-07-27 2005-03-08 Canon Kabushiki Kaisha Coding apparatus and method
US6868186B1 (en) 2000-07-13 2005-03-15 Ceva D.S.P. Ltd. Visual lossless image compression
JP2002374422A (ja) 2001-06-18 2002-12-26 Fuji Xerox Co Ltd 画像符号化装置および方法
US7013050B2 (en) 2001-06-26 2006-03-14 Canon Kabushiki Kaisha Image encoding apparatus and method, program code, and storage medium
JP2004040246A (ja) * 2002-06-28 2004-02-05 Canon Inc 情報処理装置、情報処理方法
JP4003945B2 (ja) * 2002-08-26 2007-11-07 株式会社リコー 画像処理装置、画像処理方法、プログラム及び記憶媒体
KR100556838B1 (ko) * 2002-09-17 2006-03-10 엘지전자 주식회사 미세단위 신축형 부호화 및 복호화 장치와 방법
WO2005025072A1 (ja) * 2003-09-02 2005-03-17 Nippon Telegraph And Telephone Corporation 浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体
JP4135617B2 (ja) * 2003-09-08 2008-08-20 ソニー株式会社 画像符号化装置及び方法
US7237746B2 (en) 2003-12-08 2007-07-03 Sonoco Development, Inc. Spool having reversing spiral guide
JP4440051B2 (ja) * 2004-09-08 2010-03-24 キヤノン株式会社 画像符号化装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP4393319B2 (ja) * 2004-09-08 2010-01-06 キヤノン株式会社 画像符号化装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2006086579A (ja) * 2004-09-14 2006-03-30 Ricoh Co Ltd 画像処理装置、プログラム、及び記憶媒体
KR20060077776A (ko) 2004-12-30 2006-07-05 주식회사 하이닉스반도체 반도체 소자의 불량분석을 위한 시료 제작 방법
KR100727626B1 (ko) 2005-06-13 2007-06-13 엠텍비젼 주식회사 이미지 처리 장치
US8599925B2 (en) * 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
US7565018B2 (en) * 2005-08-12 2009-07-21 Microsoft Corporation Adaptive coding and decoding of wide-range coefficients
US7714873B2 (en) * 2006-06-29 2010-05-11 Microsoft Corporation Strategies for compressing textures
BRPI0621935A2 (pt) * 2006-07-28 2016-09-13 Toshiba Kk Toshiba Corp método e aparelho para codificar e decodificar imagem
JP2008048240A (ja) * 2006-08-18 2008-02-28 Nec Electronics Corp ビットプレーン復号装置およびビットプレーン復号方法
EP2080270A4 (en) * 2006-10-06 2010-11-17 Agency Science Tech & Res METHOD OF CODING, DECODING METHOD, CODIER, DECODER AND COMPUTER PROGRAM PRODUCTS
US8184710B2 (en) 2007-02-21 2012-05-22 Microsoft Corporation Adaptive truncation of transform coefficient data in a transform-based digital media codec
JP2009218742A (ja) * 2008-03-07 2009-09-24 Canon Inc 画像符号化装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8526749B2 (en) 2007-10-04 2013-09-03 Samsung Electronics Co., Ltd. Apparatus, method, and medium encoding/decoding images through application of psycho-visual characteristics
US9813718B2 (en) 2013-10-03 2017-11-07 Samsung Display Co., Ltd. Apparatus and method for compact bit-plane data compression

Also Published As

Publication number Publication date
KR101375662B1 (ko) 2014-03-18
US8675732B2 (en) 2014-03-18
US20090041112A1 (en) 2009-02-12

Similar Documents

Publication Publication Date Title
KR101375662B1 (ko) 이미지 데이터 압축 방법 및 장치
EP1968323B1 (en) Method, medium, and system visually compressing image data
KR101270167B1 (ko) 저복잡도의 이미지 압축 방법 및 장치, 저복잡도의 이미지복원 방법 및 장치
RU2637879C2 (ru) Кодирование и декодирование значащих коэффициентов в зависимости от параметра указанных значащих коэффициентов
JP5179889B2 (ja) 二進映像を効果的に圧縮して復元する方法及び装置
US8902992B2 (en) Decoder for selectively decoding predetermined data units from a coded bit stream
JP4491349B2 (ja) ビデオ・データのイントラ符号化方法及び装置
US20100177820A1 (en) Video encoding device, video decoding device, video encoding method, video decoding method, video encoding or decoding program
US8254700B1 (en) Optimized method and system for entropy coding
US9544599B2 (en) Context adaptive data encoding
US10803791B2 (en) Burrows-wheeler based stress profile compression
CN110708547B (zh) 针对变换模式的有效熵编码组分组方法
JP2008271039A (ja) 画像符号化装置及び画像復号化装置
EP3991420A1 (en) Image data encoding and decoding
TW200937942A (en) Coding system and method for a bit-plane
KR20100087845A (ko) 데이터 압축과 복원 방법 및 장치와 이를 이용한 액정표시장치
KR20170120634A (ko) 벡터 양자화에 의한 이미지들의 인코딩
WO2021058947A1 (en) Image data encoding and decoding
JP2007306528A (ja) 動画像復号装置および動画像復号方法
WO2007104522A1 (en) Method and apparatus for linewise image compression
KR20100006918A (ko) 데이터 압축과 복원 방법 및 장치와 이를 이용한액정표시장치와 그 구동방법
JPH0787487A (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: 20190227

Year of fee payment: 6