KR20110127456A - 영상 압축 장치 및 방법 - Google Patents

영상 압축 장치 및 방법 Download PDF

Info

Publication number
KR20110127456A
KR20110127456A KR1020100046954A KR20100046954A KR20110127456A KR 20110127456 A KR20110127456 A KR 20110127456A KR 1020100046954 A KR1020100046954 A KR 1020100046954A KR 20100046954 A KR20100046954 A KR 20100046954A KR 20110127456 A KR20110127456 A KR 20110127456A
Authority
KR
South Korea
Prior art keywords
block
prediction
information
residual
data block
Prior art date
Application number
KR1020100046954A
Other languages
English (en)
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 KR1020100046954A priority Critical patent/KR20110127456A/ko
Publication of KR20110127456A publication Critical patent/KR20110127456A/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/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/124Quantisation
    • 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/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/17Methods 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 an image region, e.g. an object
    • H04N19/176Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/186Methods 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 colour or a chrominance component
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 영상 압축 장치 및 방법에 관한 것으로서, 특히 예측 방향을 기반으로 압축정보를 생성하는 영상 압축 장치 및 방법에 관한 것이다. 본 발명의 한 실시예에 따른 영상 압축 장치는 데이터 블록의 예측 방향을 결정하는 방향 예측 및 결정부, 그리고 상기 예측 방향에 따라 생성된 예측 블록과 상기 데이터 블록의 차이로 생성된 잔여블록을 코딩하는 잔여 코딩부를 포함하고, 상기 예측 방향은 상기 예측 블록을 생성하는 상기 데이터 블록의 이웃 화소를 지시한다.

Description

영상 압축 장치 및 방법{DEVICE AND METHOD OF COMPRESSING IMAGE}
본 발명은 영상 압축 장치 및 방법에 관한 것으로서, 특히 예측 방향을 기반으로 압축정보를 생성하는 영상 압축 장치 및 방법에 관한 것이다.
영상 프레임은 행렬 형태로 배열된 복수의 화소로 구성된다. 영상 프레임이 하나이면 정지 영상이고, 영상 프레임이 복수이면 동영상이다. 일반적으로, 영상 프레임을 구성하는 각 화소는 적색, 녹색, 청색의 삼원색에 대한 색정보를 갖는다. 예를 들어, 영상 프레임이 256*256 화소로 구성되고, 각 화소마다 3*8 비트의 색정보를 갖는다고 가정하면, 영상 프레임은 256*256*3*8 비트의 정보를 갖는다. 영상 프레임이 갖는 정보의 양은 매우 크기 때문에 영상 압축 장치를 통해 영상 프레임의 정보를 압축할 필요가 있다.
일반적인 6:1 영상 압축 방법은 BTC(block truncation coding)를 기반으로 한다. BTC 방법은 영상에서 한 화소값은 주변 화소값과 높은 유사도를 갖는다는 특징을 이용하여, 영상을 여러 개의 겹치지 않는 작은 블록으로 나누고, 각 블록을 2-레벨 양자화 알고리즘을 적용하여 압축하는 방법이다.
VQBTC(vector quantization BTC) 방법은 대표적인 6:1 영상 압축 방법으로 각 RGB 화소값을 벡터로 표현하여 BTC를 적용하는 방법이다. 4*4 크기의 블록을 2개의 벡터로 구분하고, 각 화소의 비트맵과 2 벡터를 전송한다. 2개의 벡터로 구분할 때 PCA(principal component analysis) 방법이 이용될 수 있다.
FBTC(fixed BTC) 방법은 1개의 블록을 평균값 동적 범위, 비트맵으로 표현한다. 좀 더 개선된 BTC 방법은 기하학적 방법으로 벡터에 할당할 비트량을 줄임으로써 남은 비트를 가장자리(edge)를 개선(refine)하는 과정에 사용한다. 이와 달리, DWT(discrete wavelet transform)를 이용한 라인 기반의 압축 방법에서는 기존의 DWT를 보다 간단하게 수정하고 지수 골룸 코딩(exponential Golomb coding)으로써 웨이블릿 계수(wavelet coefficient)를 엔트로피 코딩한다.
그런데 영상 압축을 통해 영상 프레임의 정보량을 줄일 수 있으나, 영상 프레임의 정보가 영상 압축을 통해 손실될 수 있다. 영상 프레임의 정보의 손실이 크면 화질이 감소하는 문제가 발생한다. 따라서 화질을 향상시킬 수 있는 효율적인 영상 압축 장치 및 방법을 제공할 필요가 있다.
본 발명의 해결하고자 하는 과제는 화질을 향상시킬 수 있는 영상 압축 장치 및 방법을 제공하는 것이다.
본 발명의 한 실시예에 따른 영상 압축 장치는 데이터 블록의 예측 방향을 결정하는 방향 예측 및 결정부, 그리고 상기 예측 방향에 따라 생성된 예측 블록과 상기 데이터 블록의 차이로 생성된 잔여블록을 코딩하는 잔여 코딩부를 포함하고, 상기 예측 방향은 상기 예측 블록을 생성하는 상기 데이터 블록의 이웃 화소를 지시한다.
상기 데이터 블록은 휘도 데이터 블록 및 색상 데이터 블록을 포함하고, 상기 예측 방향은 상기 휘도 데이터 블록 및 상기 색상 데이터 블록에 대해 동일하고, 상기 잔여블록은 휘도 잔여블록 및 색상 잔여블록을 포함할 수 있다.
영상 프레임에 포함된 적색 데이터 블록, 녹색 데이터 블록 및 청색 데이터 블록을 상기 휘도 데이터 블록 및 상기 색상 데이터 블록으로 변환하는 색변환부를 더 포함할 수 있다.
상기 예측 방향은 복수의 예측 방향 중 상기 잔여블록의 에너지를 최소로 만드는 예측 방향으로 결정될 수 있다.
상기 잔여 코딩부는 상기 잔여블록을 하다마드 변환하고, 양자화하여 양자화 블록을 생성하는 하다마드 변환 및 양자화부, 그리고 상기 양자화 블록을 엔트로피 코딩하여 압축정보를 생성하는 엔트로피 코딩부를 포함할 수 있다.
상기 압축정보는 모드 필드, 예측 방향 필드, 양자화 파라미터 필드 및 코딩 정보 필드를 포함하고, 상기 모드 필드는 상기 데이터 블록을 코딩하는 모드를 지시하고, 상기 예측 방향 필드는 상기 예측 방향을 지시하고, 상기 양자화 파라미터 필드는 양자화 파라미터를 지시하고, 상기 코딩 정보 필드는 양자화 블록이 코딩된 정보일 수 있다.
합산기를 더 포함하고, 상기 방향 예측 및 결정부는 상기 데이터 블록을 제1 서브블록 및 제2 서브블록으로 분할하고, 상기 제1 서브블록의 제1 예측 방향 및 상기 제2 서브블록의 제2 예측 방향을 결정하고, 상기 잔여 코딩부는 상기 제1 예측 방향에 따라 생성된 제1 예측 블록과 상기 제1 서브블록의 차이인 제1 잔여블록을 코딩하여 제1 압축정보를 생성하고, 상기 제2 예측 방향에 따라 생성된 제2 예측 블록과 상기 제2 서브블록의 차이인 제2 잔여블록을 코딩하여 제2 압축정보를 생성하고, 상기 합산기는 상기 제1 압축정보 및 상기 제2 압축정보를 기반으로 상기 데이터 블록의 압축정보를 생성할 수 있다.
상기 데이터 블록의 크기는 2*4이고, 상기 제1, 2 서브블록의 크기는 각각 2*2일 수 있다.
본 발명의 다른 실시예에 따른 영상 압축 장치는 영상 프레임에 포함된 데이터 블록에 대해 복수의 예측 방향마다 예측 블록을 생성하고, 상기 예측 블록과 상기 데이터 블록의 차이인 잔여블록을 생성하는 방향 예측부, 상기 복수의 예측 방향마다 상기 잔여블록을 코딩하여 압축정보를 생성하고, 상기 압축정보를 디코딩하여 왜곡정보를 생성하는 잔여 코딩부, 그리고 상기 복수의 예측 방향마다 생성된 상기 압축정보 및 상기 왜곡정보를 기반으로 상기 복수의 예측 방향 중 하나의 예측 방향을 선택하고, 선택된 예측 방향의 압축정보를 출력하는 방향 결정부를 포함하고, 상기 예측 방향은 상기 예측 블록을 위한 상기 데이터 블록의 이웃 화소를 지시한다.
상기 잔여 코딩부는 상기 잔여블록을 하다마드 변환하고, 양자화하여 양자화 블록을 생성하는 하다마드 변환 및 양자화부, 상기 양자화 블록을 엔트로피 코딩하여 상기 압축정보를 생성하는 엔트로피 코딩부, 그리고 상기 압축정보를 디코딩하여 상기 왜곡정보를 생성하는 역양자화 및 역하다마드 변환부를 포함할 수 있다.
합산기를 더 포함하고, 상기 방향 예측부는 상기 데이터 블록을 제1, 2 서브블록으로 분할하고, 상기 제1, 2 서브블록에 대해 복수의 예측 방향마다 제1, 2 예측 블록을 생성하고, 상기 제1, 2 예측 블록과 상기 데이터 블록의 차이인 제1, 2 잔여블록을 생성하고, 상기 잔여 코딩부는 상기 제1 잔여블록을 코딩하여 제1 압축정보를 생성하고, 상기 제1 압축정보를 디코딩하여 제1 왜곡정보를 생성하고, 상기 제2 잔여블록을 코딩하여 제2 압축정보를 생성하고, 상기 제2 압축정보를 디코딩하여 제2 왜곡정보를 생성하고, 상기 방향 결정부는 상기 복수의 예측 방향마다 생성된 상기 제1 압축정보 및 상기 제1 왜곡정보를 기반으로 상기 복수의 예측 방향 중 하나의 예측 방향을 선택하고, 선택된 예측 방향의 제1 압축정보를 출력하고, 상기 복수의 예측 방향마다 생성된 상기 제2 압축정보 및 상기 제2 왜곡정보를 기반으로 상기 복수의 예측 방향 중 하나의 예측 방향을 선택하고, 선택된 예측 방향의 제2 압축정보를 출력하고, 상기 합산기는 상기 제1 압축정보 및 상기 제2 압축정보를 기반으로 상기 데이터 블록의 압축정보를 생성할 수 있다.
상기 잔여 코딩부는 상기 제1, 2 잔여블록 각각을 하다마드 변환하고, 양자화하여 제1, 2 양자화 블록을 생성하는 하다마드 변환 및 양자화부, 상기 제1, 2 양자화 블록 각각을 엔트로피 코딩하여 상기 제1, 2 압축정보를 생성하는 엔트로피 코딩부, 그리고 상기 제1, 2 압축정보 각각을 디코딩하여 상기 제1, 2 왜곡정보를 생성하는 역양자화 및 역하다마드 변환부를 포함할 수 있다.
상기 데이터 블록의 크기는 2*4이고, 상기 제1, 2 서브블록의 크기는 각각 2*2일 수 있다.
본 발명의 또 다른 실시예에 따른 영상 압축 방법은 데이터 블록의 예측 방향을 결정하는 단계, 그리고 상기 예측 방향에 따라 생성된 예측 블록과 상기 데이터 블록의 차이로 생성된 잔여블록을 코딩하는 단계를 포함하고, 상기 예측 방향은 상기 예측 블록을 생성하는 상기 데이터 블록의 이웃 화소를 지시한다.
상기 예측 방향을 결정하는 단계는 상기 데이터 블록을 제1 서브블록 및 제2 서브블록으로 분할하는 단계, 그리고 상기 제1 서브블록의 제1 예측 방향 및 상기 제2 서브블록의 제2 예측 방향을 결정하는 단계를 포함하고, 상기 잔여블록을 코딩하는 단계는 상기 제1 예측 방향에 따라 생성된 제1 예측 블록과 상기 제1 서브블록의 차이인 제1 잔여블록을 코딩하여 제1 압축정보를 생성하는 단계, 상기 제2 예측 방향에 따라 생성된 제2 예측 블록과 상기 제2 서브블록의 차이인 제2 잔여블록을 코딩하여 제2 압축정보를 생성하는 단계, 그리고 상기 제1 압축정보 및 상기 제2 압축정보를 기반으로 상기 데이터 블록의 압축정보를 생성하는 단계를 포함할 수 있다.
상기 데이터 블록의 크기는 2*4이고, 상기 제1, 2 서브블록의 크기는 각각 2*2일 수 있다.
화질을 향상시킬 수 있는 영상 압축 장치 및 방법을 제공할 수 있다.
도 1은 본 발명의 제1 실시예에 따른 영상 압축 장치의 구조를 도시한 블록도이다.
도 2는 2*4 크기의 데이터 블록의 8개의 예측 방향의 예를 나타낸다.
도 3은 도 1의 잔여 코딩부 구조의 예를 도시한 블록도이다.
도 4는 도 3의 하다마드 변환 및 양자화부가 출력한 양자화 블록의 예이다.
도 5는 도 3의 잔여 코딩부로부터 출력된 압축정보의 예이다.
도 6은 본 발명의 제2 실시예에 따른 영상 압축 장치의 구조를 도시한 블록도이다.
도 7은 도 6의 잔여 코딩부 구조의 예를 도시한 블록도이다.
도 8은 본 발명의 제3 실시예에 따른 영상 압축 장치의 구조를 도시한 블록도이다.
도 9는 2*2 크기의 서브블록의 8개의 예측 방향의 예를 나타낸다.
도 10은 데이터 블록 내 서브블록마다 독립적인 예측 방향을 적용한 경우의 예를 나타낸다.
도 11은 서브블록으로부터 생성된 양자화 블록의 예이다.
도 12는 도 8의 합산기로부터 출력된 압축정보의 예이다.
도 13은 본 발명의 제4 실시예에 따른 영상 압축 장치의 구조를 도시한 블록도이다.
도 14는 도 13의 잔여 코딩부 구조의 예를 도시한 블록도이다.
도 15는 검사 영상을 VQBTC 방법과 2*4 블록 코딩 방법으로 각각 코딩하는 경우, R에 대한 PSNR(peak signal to noise ratio)을 나타내고, 도 16은 G에 대한 PSNR을 나타내고, 도 17은 B에 대한 PSNR을 나타낸다.
도 18은 기본 블록을 분할하여 서브블록마다 독립적으로 코딩하는 경우, 이미지 인덱스별 RGB의 PSNR을 나타낸다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
도 1은 본 발명의 제1 실시예에 따른 영상 압축 장치의 구조를 도시한 블록도이다.
도 1을 참조하면, 영상 압축 장치는 색변환부(100), 방향 예측 및 결정부(200), 잔여 코딩부(300) 및 버퍼(400)를 포함한다.
영상 압축 장치는 영상 프레임이 갖는 영상 정보를 압축한다. 영상 프레임은 행렬 형태로 배열된 복수의 화소로 구성된다. 영상 프레임이 하나이면 정지 영상이고, 영상 프레임이 복수이면 동영상이다. 영상 프레임을 구성하는 각 화소는 적색, 녹색 및 청색에 대한 색정보를 갖는다. 영상 프레임은 서로 중복되지 않는 복수의 영상 블록으로 분할될 수 있다. 영상 블록은 2행의 화소와 4열의 화소로 구성될 수 있다. 영상 블록이 2행의 화소와 4열의 화소로 구성될 때, 영상 블록의 크기는 2*4이다. 복수의 영상 블록 각각은 적색 영상 블록, 녹색 영상 블록 및 청색 영상 블록을 포함한다.
색변환부(100)는 적색 영상 블록, 녹색 영상 블록 및 청색 영상 블록을 휘도 데이터 블록 및 색상 데이터 블록으로 변환한다. 방향 예측 및 결정부(200)는 데이터 블록의 예측 방향을 결정한다. 데이터 블록은 휘도 데이터 블록 및 색상 데이터 블록을 포함한다. 잔여 코딩부(300)는 잔여블록을 코딩하여 압축정보를 생성한다. 잔여블록은 방향 예측 및 결정부(200)에서 결정된 예측 방향으로 예측된 예측 블록과 데이터 블록의 차이로 생성된다. 버퍼(400)는 압축정보를 저장한다.
이와 같이, 예측 방향을 기반으로 잔여블록을 생성함으로써, 데이터 블록의 불필요한 반복(redundancy)를 없애고, 코딩할 정보량을 줄일 수 있다.
*이하, 영상 압축 장치가 압축정보를 생성하는 과정을 상술한다.
적색 영상 블록, 녹색 영상 블록 및 청색 영상 블록에서 동일한 위치의 화소가 갖는 색정보를 각각 R, G, B라 할 때, R, G, B는 하나의 휘도(luminance) 정보 Y와 2개의 색상(chrominance) 정보 U, V(또는 Cb, Cr)로 변환된다. 휘도 정보 Y는 휘도 데이터 블록을 구성하고, 2개의 색상 정보 U, V(또는 Cb, Cr)는 2개의 색상 데이터 블록을 구성한다.
색변환부(100)는 변환 행렬(conversion matrix)을 통해 R, G, B를 Y, U, V(또는 Cb, Cr)로 변환할 수 있다. 색변환 행렬은 JPEG2000(joint photographic coding experts group 2000)의 복구 가능한 색변환을 참조할 수 있다.
다음 수학식은 R, G, B로부터 Y, Cb, Cr로의 변환의 예이다.
Figure pat00001
다음 수학식은 Y, Cb, Cr로부터 R, G, B로의 변환의 예이다.
Figure pat00002
상기 수학식들의 변환 행렬은 JPEG2000의 색변환보다 효율적인 색 상호 변환이 가능하다.
방향 예측 및 결정부(200)는 데이터 블록의 예측 방향을 결정한다.
영상에서 경계는 주변 정보의 연장으로 볼 수 있다. 따라서 데이터 블록을 데이터 블록의 이웃 화소를 기반으로 예측하여 예측 행렬을 생성할 수 있다. 예측 방향은 예측 블록을 생성하는 데이터 블록의 이웃 화소를 지시한다. 데이터 블록이 휘도 데이터 블록 및 색상 데이터 블록을 포함하므로, 예측 블록 역시 휘도 데이터 블록을 예측한 휘도 예측 블록 및 색상 데이터 블록을 예측한 색상 예측 블록을 포함한다. 예측 방향은 휘도 데이터 블록 및 색상 데이터 블록에 대해 동일하다. 색상 성분은 색정보의 손실을 피하기 위해, 서브샘플링(subsampling)과정을 수행하지 않았기 때문에 휘도 정보와 동일한 예측 방향으로 예측이 가능하다.
방향 예측 및 결정부(200)는 데이터 블록의 예측 방향을 복수의 예측 방향 중에서 선택할 수 있다. 예측 방향은 영상 프레임을 구성하는 복수의 데이터 블록마다 독립적으로 결정된다. 복수의 예측 방향은 H.264/AVC(advanced video coding)의 인트라 블록 코딩(intra block coding) 방법을 참조할 수 있다.
도 2는 2*4 크기의 데이터 블록의 8개의 예측 방향의 예를 나타낸다.
도 2를 참조하면, 화소 A 내지 H는 데이터 블록의 이웃 화소들이다. A, B, C 및 D는 데이터 블록 바로 윗 행의 화소들이다. E, F, G 및 H는 화소 D의 좌측에 있는 화소들이다. L, K, J 및 I는 화소 A의 우측에 있는 화소들이다. 도면에 표시된 화살표는 예측 방향을 나타낸다.
예측 방향 0(DIR 0)에서 예측 블록 내 화소 정보는 모두 A, B, C 및 D의 화소 정보의 평균값으로 생성된다. 휘도 예측 블록 내 화소의 휘도 정보는 A, B, C 및 D의 휘도 정보의 평균값이다. 색상 예측 블록 내 화소의 색상 정보는 A, B, C 및 D의 휘도 정보의 평균값이다.
예측 방향 1(DIR 1)에서 예측 블록 내 2행 중 윗 행의 화소들의 화소 정보는 각각 A, B, C 및 D의 화소 정보로부터 생성된다. 그리고 예측 블록 내 2행 중 아래 행의 화소들의 화소 정보 역시 각각 A, B, C 및 D의 화소 정보로부터 생성된다. 휘도 예측 블록 내 2행 중 윗 행의 화소들의 휘도 정보는 각각 A, B, C 및 D의 휘도 정보로부터 생성된다. 그리고 예측 블록 내 2행 중 아래 행의 화소들의 휘도 정보 역시 각각 A, B, C 및 D의 휘도 정보로부터 생성된다. 색상 예측 블록 내 화소들의 색상 정보 역시 A, B, C 및 D의 색상 정보로부터 생성된다.
예측 방향 2(DIR 2)에서 예측 블록 내 2행 중 윗 행의 화소들의 화소 정보는 각각 B, C, D 및 E의 화소 정보로부터 생성된다. 그리고 예측 블록 내 2행 중 아래 행의 화소들의 화소 정보는 각각 C, D, E 및 F의 화소 정보로부터 생성된다.
예측 방향 3(DIR 3)에서 예측 블록 내 2행 중 윗 행의 화소들의 화소 정보는 각각 I, A, B 및 C의 화소 정보로부터 생성된다. 그리고 예측 블록 내 2행 중 아래 행의 화소들의 화소 정보는 각각 J, I, A 및 B의 화소 정보부터 생성된다.
예측 방향 4(DIR 4)에서 예측 블록 내 2행 중 윗 행의 화소들의 화소 정보는 각각 A와 B의 화소 정보의 평균값, B와 C의 화소 정보의 평균값, C와 D의 화소 정보의 평균값 및 D와 E의 화소 정보의 평균값으로 생성된다. 그리고 예측 블록 내 2행 중 아래 행의 화소들의 화소 정보는 각각 B, C, D 및 E의 화소 정보부터 생성된다.
예측 방향 5(DIR 5)에서 예측 블록 내 2행 중 윗 행의 화소들의 화소 정보는 각각 I와 A의 화소 정보의 평균값, A와 B의 화소 정보의 평균값, B와 C의 화소 정보의 평균값, C와 D의 화소 정보의 평균값 및 D와 E의 화소 정보의 평균값으로 생성된다. 그리고 예측 블록 내 2행 중 아래 행의 화소들의 화소 정보는 각각 I, A, B 및 C의 화소 정보부터 생성된다.
예측 방향 6(DIR 6)에서 예측 블록 내 2행 중 윗 행의 화소들의 화소 정보는 각각 J, I, A 및 B의 화소 정보로부터 생성된다. 그리고 예측 블록 내 2행 중 아래 행의 화소들의 화소 정보는 각각 L, K, J 및 I의 화소 정보부터 생성된다.
예측 방향 7(DIR 7)에서 예측 블록 내 2행 중 윗 행의 화소들의 화소 정보는 각각 C, D, E 및 F의 화소 정보로부터 생성된다. 그리고 예측 블록 내 2행 중 아래 행의 화소들의 화소 정보는 각각 E, F, G 및 H로부터 생성된다.
다시 도 1을 참조하면, 방향 예측 및 결정부(200)는 복수의 예측 방향 중 잔여블록의 에너지를 최소로 만드는 예측 방향으로 결정할 수 있다. 잔여블록은 휘도 잔여블록 및 색상 잔여블록을 포함한다. 휘도 잔여블록은 휘도 예측 블록과 휘도 데이터 블록의 차이로 생성되고, 색상 잔여블록은 색상 예측 블록과 색상 데이터 블록의 차이로 생성된다.
다음 수학식은 방향 예측 및 결정부(200)가 예측 방향(DIR)을 결정하는 예이다.
Figure pat00003
여기서, Org(comp,j,i)는 데이터 블록 내 i행 j열의 화소 정보이고, Pre(comp,j,i)는 예측 블록 내 i행 j열의 화소 정보이다.
데이터 블록이 프레임의 경계에 위치하여 데이터 블록의 이웃 화소가 없는 경우도 있다. 데이터 블록의 이웃 화소가 없는 경우, 데이터 블록의 예측 블록은 미리 정해진 디폴트(default) 블록일 수 있다.
이하, 잔여 코딩부(300)가 잔여블록을 코딩하여 압축정보를 생성하는 방법을 상술한다.
도 3은 도 1의 잔여 코딩부 구조의 예를 도시한 블록도이다.
도 3을 참조하면, 잔여 코딩부(300)는 하다마드 변환 및 양자화부(310) 및 엔트로피 코딩부(320)를 포함한다.
하다마드 변환 및 양자화부(310)는 잔여블록을 하다마드 변환하고, 양자화하여 양자화 블록을 생성한다. 잔여블록의 크기가 2*4인 경우, 하다마드 변환 및 양자화부(310)는 잔여블록에 2*4 하다마드 변환을 수행하여 계수(coefficient)를 생성하고, 계수를 양자화 파라미터(quantization parameter)를 이용하여 양자화하여 양자화 블록을 생성한다. 하다마드 변환을 통해, 에너지 압축(energy compaction) 효과를 얻을 수 있고, 영상 압축 장치의 하드웨어 설계가 비교적 간단해질 수 있다.
엔트로피 코딩부(320)는 양자화 블록을 스캔하면서 엔트로피 코딩하여 압축정보를 생성한다. 엔트로피 코딩은 테이블 형식의 반복 길이 코딩(run-length coding)이거나, 고정 길이 코딩(fixed-length coding)일 수 있다. 예를 들어, 엔트로피 코딩부(320)가 고정 길이 코딩을 하는 경우, '0'인 계수(zero coefficient)에 1 비트, '0'이 아닌 계수(non-zero coefficient)에 5 비트를 할당할 수 있다. 고정 길이 코딩을 할 경우, 영상 압축 장치의 하드웨어 설계가 비교적 간단해질 수 있다.
도 4는 도 3의 하다마드 변환 및 양자화부가 출력한 양자화 블록의 예이다.
도 4를 참조하면, 양자화 블록은 휘도 양자화 블록(Qy) 및 색상 양자화 블록(Qu, Qv)를 포함한다. 양자화 블록의 크기가 2*4인 경우, 양자화 블록은 하나의 하나의 DC(direct current) 계수와 7개의 AC(alternating current) 계수를 포함한다.
양자화 블록의 계수(yij, uij, vij)에서 i(=0, 1)는 양자화 블록 내 행의 위치를 지시하는 인덱스이고, j(=0, 1, 2, 3)는 양자화 블록 내 열의 위치를 지시하는 인덱스이다. y00, u00, v00은 DC 계수이고, 나머지는 AC 계수이다.
휘도 양자화 블록(Qy)에서 y13은 0이다. 색상 양자화 블록(Qu, Qv)에서 AC 계수는 모두 0이다.
양자화 블록은 다음 2가지 방식으로 스캔될 수 있다.
첫째, 엔트로피 코딩부(320)는 휘도 양자화 블록(Qy)을 지그재그 스캔(zig-zag scan)하면서 엔트로피 코딩하고, 색상 양자화 블록(Qu, Qv)은 DC 계수만 주어진 비트로 코딩할 수 있다.
둘째, 엔트로피 코딩부(320)는 휘도 양자화 블록 및 색상 양자화 블록(Qy, Qu, Qv) 각각을 지그재그 스캔하면서 엔트로피 코딩할 수 있다. 휘도 양자화 블록 및 색상 양자화 블록(Qy, Qu, Qv)을 모두 지그재그 스캔하는 방식을 벡터 지그재그 스캔이라 한다. 벡터 지그재그 스캔은 휘도 성분과 색상 성분에 합당한 비트량을 할당하기 위한 스캔 방식이다. 벡터 지그재그 스캔을 통해, 색상 성분을 완전히 무시하지 않으면서, 휘도 성분의 우선권을 보장할 수 있다.
양자화 블록의 스캔 방식은 다음과 같이 선택될 수 있다.
일 예로, 색상 양자화 블록(Qu, Qv)에서 AC 계수가 모두 0인 경우, 엔트로피 코딩부(320)는 휘도 양자화 블록(Qy)을 지그재그 스캔하면서 엔트로피 코딩하고, 색상 양자화 블록(Qu, Qv)은 DC 계수만 주어진 비트로 코딩할 수 있다. 아니면, 엔트로피 코딩부(320)는 휘도 양자화 블록 및 색상 양자화 블록(Qy, Qu, Qv)을 벡터 지그재그 스캔하면서, 나머지 비트를 모두 사용할 때까지 엔트로피 코딩할 수 있다. 다른 예로, 양자화 블록을 2가지 방식으로 스캔한 후, 오류가 적은 스캔 방식을 선택할 수 있다. 이와 같은 스캔 방식을 통해 양자화 블록 내 화소의 휘도 정보와 색상 정보는 동일한 우선권을 갖는다.
도 5는 도 3의 잔여 코딩부로부터 출력된 압축정보의 예이다.
도 5를 참조하면, 압축정보는 모드(mode) 필드, 방향(DIR) 필드, 양자화 파라미터(QP) 필드 및 코딩 정보(CRyuv) 필드를 포함한다.
모드 필드는 압축 방법를 지시하는 필드이다. 모드 필드의 크기는 2 비트일 수 있다. 모드 필드의 값이 '00'인 경우, 압축 방법이 2*4 블록 코딩임을 지시할 수 있다. 방향 필드는 데이터 블록의 예측 방향을 지시한다. 방향 필드의 크기는 3 비트일 수 있다. 양자화 파라미터 필드는 양자화 파라미터를 지시한다.
코딩 정보 필드는 휘도 양자화 블록 및 색상 양자화 블록(Qy, Qu, Qv)이 코딩된 정보이다. 엔트로피 코딩부(320)는 '0'인 계수에는 비트를 할당하지 않고, '0'이 아닌 계수에 3 비트를 할당할 수 있다. 도 4의 휘도 양자화 블록 및 색상 양자화 블록(Qy, Qu, Qv)을 엔트로피 코딩할 때, 휘도 양자화 블록(Qy)에 대한 코딩 정보의 크기는 21(=3*7) 비트이고, 색상 양자화 블록(Qu, Qv)에 대한 코딩 정보의 크기는 각각 3 비트일 수 있다. 이 경우, 압축정보는 34 비트가 된다. 이는 6:1로 압축된 것이다.
도 5의 압축정보가 포함하는 필드의 종류 및 필드의 크기는 예시일 뿐, 압축정보에 대해 제한하는 것은 아니다.
지금까지 설명한 영상 압축 장치는 방향 예측 및 결정부(200)에서 데이터 블록의 정확한 예측 방향을 선택하는 과정을 미리 수행한다. 이를 통해, 모든 예측 방향에 대해 잔여블록을 생성하고, 잔여블록에 대해 잔여 코딩 및 역양자화(inverse quantization), 역변환(inverse transform) 등의 재구성 과정이 필요하지 않다.
도 6은 본 발명의 제2 실시예에 따른 영상 압축 장치의 구조를 도시한 블록도이다.
도 6을 참조하면, 영상 압축 장치는 색변환부(100), 방향 예측부(500), 복수의 잔여 코딩부(300), 방향 결정부(600) 및 버퍼(400)를 포함한다.
방향 예측부(500)는 복수의 예측 방향마다 잔여블록을 출력하여 복수의 잔여 코딩부(300)에 입력한다. 복수의 잔여 코딩부(300)마다 대응되는 예측 방향의 잔여블록에 대해 잔여 코딩을 수행하여 압축정보를 생성하고, 압축정보를 디코딩하여 복원 블록을 생성한다. 복원 블록과 잔여블록을 비교함으로써 왜곡(distortion) 정보를 생성한다. 왜곡정보는 복원 블록과 잔여블록의 차이일 수 있다.
방향 결정부(600)는 왜곡정보를 기반으로 복수의 예측 방향 중 하나의 예측 방향을 선택한다. 그리고 선택된 예측 방향에 대한 압축정보를 버퍼(400)로 출력한다. 방향 결정부(600)는 왜곡정보가 가장 최소가 되는 예측 방향을 선택할 수 있다.
이와 같이, 도 6의 영상 압축 장치는 도 1과 달리 모든 예측 방향의 잔여블록에 대한 잔여 코딩 및 재구성 과정을 포함한다.
도 7은 도 6의 잔여 코딩부 구조의 예를 도시한 블록도이다.
도 7을 참조하면, 잔여 코딩부(300-n)는 하다마드 변환 및 양자화부(310-n), 엔트로피 코딩부(320-n), 역양자화 및 역하다마드 변환부(330-n)를 포함한다. 도 7의 잔여 코딩부(300-n)는 도 3과 달리 역양자화 및 역하다마드 변환부(330-n)를 더 포함한다.
잔여 코딩부(300-n)는 예측 방향 n(DIR n)에 대한 잔여블록을 입력받는다. 역양자화 및 역하다마드 변환부(330-n)는 엔트로피 코딩부(320-n)에서 출력된 예측 방향 n에 대한 압축정보를 역양자화하고, 역하다마드 변환을 통해 예측 방향 n에 대한 복원 블록을 생성한다. 그리고 예측 방향 n에 대해 복원 블록과 잔여블록을 비교함으로써, 예측 방향 n에 대한 왜곡정보를 생성한다.
지금까지 2*4 크기의 데이터 블록의 압축 방법을 설명하였다. 그런데 압축의 효율을 높이기 위해, 데이터 블록을 복수의 서브블록으로 분할하여 압축할 수 있다.
2*4 데이터 블록은 2개의 2*2 크기의 제1, 2 서브블록으로 분할하여, 서브블록별로 독립적으로 압축을 수행할 수 있다. 이하, 2*4 데이터 블록을 구성하는 2개의 서브블록 중 왼쪽에 위치한 서브블록을 제1 서브블록이라 하고, 오른쪽에 위치한 서브블록을 제2 서브블록이라 한다.
도 8은 본 발명의 제3 실시예에 따른 영상 압축 장치의 구조를 도시한 블록도이다.
도 8을 참조하면, 영상 압축 장치는 색변환부(100), 방향 예측 및 결정부(200), 잔여 코딩부(300), 합산기(700) 및 버퍼(400)를 포함한다.
방향 예측 및 결정부(200)는 데이터 블록을 제1 서브블록 및 제2 서브블록으로 분할하고, 각 서브블록에 대한 예측 방향을 결정한다. 방향 예측 및 결정부(200)는 제1 서브블록의 제1 예측 방향을 결정하는 제1 방향 예측 및 결정부(200a)와 제2 서브블록의 제2 예측 방향을 결정하는 제2 방향 예측 및 결정부(200b)를 포함한다.
잔여 코딩부(300)는 제1 잔여 코딩부(300a) 및 제2 잔여 코딩부(300b)를 포함한다. 제1 잔여 코딩부(300a)는 제1 예측 방향에 따라 생성된 제1 예측 블록과 제1 서브블록의 차이인 제1 잔여블록을 코딩하여 제1 압축정보를 생성한다. 제2 잔여 코딩부(300b)는 제2 예측 방향에 따라 생성된 제2 예측 블록과 제2 서브블록의 차이인 제2 잔여블록을 코딩하여 제2 압축정보를 생성한다.
제1, 2 잔여 코딩부(300a, 300b)는 각각 하다마드 변환 및 양자화부(미도시) 및 엔트로피 코딩부(미도시)를 포함할 수 있다. 하다마드 변환 및 양자화부는 제1, 2 잔여블록을 하다마드 변환하고, 양자화하여 제1, 2 양자화 블록을 생성한다. 제1, 2 잔여블록의 크기가 2*2인 경우, 하다마드 변환 및 양자화부는 제1, 2 잔여블록에 2*2 하다마드 변환을 수행하여 계수를 생성하고, 계수를 양자화 파라미터를 이용하여 양자화하여 제1, 2 양자화 블록을 생성한다. 엔트로피 코딩부는 제1, 2 양자화 블록을 스캔하면서 엔트로피 코딩하여 제1, 2 압축정보를 생성한다.
합산기(700)는 제1 압축정보 및 제2 압축정보를 기반으로 데이터 블록의 압축정보를 생성한다. 버퍼(400)는 압축정보를 저장한다.
도 9는 2*2 크기의 서브블록의 8개의 예측 방향의 예를 나타낸다.
도 9를 참조하면, 예측 방향 0(DIR 0)에서 제1 예측 블록 내 화소 정보는 모두 A 및 B의 평균값으로 생성된다. 제2 예측 블록 내 화소 정보는 모두 C 및 D의 평균값으로 생성된다. 예측 방향 0을 제외한 다른 예측 방향은 도 2와 동일하다.
도 10은 데이터 블록 내 서브블록마다 독립적인 예측 방향을 적용한 경우의 예를 나타낸다.
도 10을 참조하면, 제1 서브블록에는 예측 방향 1(DIR 1)이 적용되고, 제2 서브블록에는 예측 방향 2(DIR 2)가 적용된다.
도 11은 서브블록으로부터 생성된 양자화 블록의 예이다.
도 11을 참조하면, 양자화 블록은 휘도 양자화 블록(Qy) 및 색상 양자화 블록(Qu, Qv)를 포함한다. 양자화 블록의 크기가 2*2인 경우, 양자화 블록은 하나의 하나의 DC 계수와 3개의 AC 계수를 포함한다. 휘도 양자화 블록(Qy)에서 y00과 y10을 제외한 계수는 0이다. 색상 양자화 블록(Qu, Qv)에서 AC 계수는 모두 0이다.
도 12는 도 8의 합산기로부터 출력된 압축정보의 예이다.
도 12를 참조하면, 압축정보는 모드(mode) 필드, 제1, 2 서브블록(1st, 2nd subblock) 필드를 포함한다. 도 12의 압축정보가 포함하는 필드의 종류 및 필드의 크기는 예시일 뿐, 압축정보에 대해 제한하는 것은 아니다.
모드 필드는 압축 방법을 지시하는 필드이다. 모드 필드의 값이 '01'인 경우, 압축 방법이 2*4 데이터 블록을 제1, 2 서브블록으로 분할하여 각 서브블록을 독립적으로 압축하는 2*2 블록 코딩임을 지시할 수 있다.
제1, 2 서브블록 필드에 각각 16 비트씩 할당할 수 있다. 이 경우, 압축정보는 34 비트가 된다. 이는 6:1로 압축된 것이다.
제1, 2 서브블록 필드는 방향(DIR) 서브필드, 양자화 파라미터(QP) 서브필드 및 코딩 정보(CRyuv) 서브필드를 포함한다. 방향 서브필드는 서브블록의 예측 방향을 지시한다. 양자화 파라미터 서브필드는 양자화 파라미터를 지시한다. 코딩 정보 서브필드는 휘도 양자화 블록 및 색상 양자화 블록(Qy, Qu, Qv)이 코딩된 정보이다. 도 11의 휘도 양자화 블록 및 색상 양자화 블록(Qy, Qu, Qv)을 엔트로피 코딩할 때, 휘도 양자화 블록(Qy)에서 DC 계수에 4 비트, AC 계수에 3 비트를 할당하고, 색상 양자화 블록(Qu, Qv)에서는 DC 계수에만 2 비트를 할당할 수 있다.
도 12의 압축정보가 포함하는 필드의 종류 및 필드의 크기는 예시일 뿐, 압축정보에 대해 제한하는 것은 아니다.
도 13은 본 발명의 제4 실시예에 따른 영상 압축 장치의 구조를 도시한 블록도이다.
도 13을 참조하면, 영상 압축 장치는 색변환부(100), 방향 예측부(500), 복수의 잔여 코딩부(300), 복수의 서브블록 방향 결정부(600), 합산기(700) 및 버퍼(400)를 포함한다.
방향 예측부(500)는 데이터 블록을 제1, 2 서브블록으로 분할하고, 제1, 2 서브블록에 대해 복수의 예측 방향마다 제1, 2 잔여블록을 출력하여 복수의 잔여 코딩부(300)에 입력한다. 복수의 잔여 코딩부(300)마다 대응되는 예측 방향의 제1, 2 잔여블록에 대해 잔여 코딩을 수행하여 제1, 2 압축정보를 생성하고, 제1, 2 압축정보를 디코딩하여 제1, 2 복원 블록을 생성한다. 제1, 2 복원 블록과 제1, 2 잔여블록을 비교함으로써 제1, 2 왜곡정보를 생성한다. 제1, 2 왜곡정보는 제1, 2 복원 블록과 제1, 2 잔여블록의 차이일 수 있다.
방향 결정부(600)는 제1, 2 왜곡정보를 기반으로 제1, 2 서브블록에 대해 복수의 예측 방향 중 하나의 예측 방향을 선택한다. 방향 결정부(600)는 제1, 2 왜곡정보가 가장 최소가 되는 제1, 2 예측 방향을 선택할 수 있다. 방향 결정부(600)는 제1 왜곡정보를 기반으로 제1 서브블록의 제1 예측 방향을 결정하는 제1 방향 결정부(600a)와 제2 왜곡정보를 기반으로 제2 서브블록의 제2 예측 방향을 결정하는 제2 방향 결정부(600b)를 포함한다.
방향 결정부(600)는 제1 압축정보 및 제2 압축정보를 합산기(700)로 출력한다. 합산기(700)는 제1 압축정보 및 상기 제2 압축정보를 기반으로 데이터 블록의 압축정보를 생성한다. 버퍼(400)는 압축정보를 저장한다.
이와 같이, 도 13의 영상 압축 장치는 도 8과 달리 모든 예측 방향마다 제1, 2 잔여블록에 대한 잔여 코딩 및 재구성 과정을 포함한다.
도 14는 도 13의 잔여 코딩부 구조의 예를 도시한 블록도이다.
도 14를 참조하면, 잔여 코딩부(300-n)는 하다마드 변환 및 양자화부(310-n), 엔트로피 코딩부(320-n), 역양자화 및 역하다마드 변환부(330-n)을 포함한다.
하다마드 변환 및 양자화부(310-n)는 제1, 2 잔여블록 각각을 하다마드 변환하고, 양자화하여 제1, 2 양자화 블록을 생성한다. 제1, 2 잔여블록은 제1, 2 서브블록에 대한 예측 방향 n(DIR n)의 잔여블록이다. 하다마드 변환 및 양자화부(310-n)는 제1 잔여블록을 입력받아 제1 양자화 블록을 생성하는 제1 하다마드 변환 및 양자화부(310a-n) 및 제2 잔여블록을 입력받아 제2 양자화 블록을 생성하는 제2 하다마드 변환 및 양자화부(310b-n)를 포함한다.
엔트로피 코딩부(320-n)는 제1, 2 양자화 블록을 엔트로피 코딩하여 제1, 2 압축정보를 생성한다. 엔트로피 코딩부(320-n)는 제1 압축정보를 생성하는 제1 엔트로피 코딩부(320a-n) 및 제2 압축정보를 생성하는 제2 엔트로피 코딩부(320b-n)를 포함한다.
역양자화 및 역하다마드 변환부(330-n)는 제1, 2 압축정보를 역양자화하고, 역하다마드 변환을 통해 제1, 2 복원 블록을 생성하고, 제1, 2 복원 블록과 제1, 2 잔여블록의 차이인 제1, 2 왜곡정보를 생성한다. 역양자화 및 역하다마드 변환부(330-n)는 제1, 2 역양자화 및 역하다마드 변환부(330a-n, 330b-n)를 포함한다.
제1 역양자화 및 역하다마드 변환부(330a-n)는 제1 압축 정보로부터 제1 왜곡 정보를 생성하고, 제2 역양자화 및 역하다마드 변환부(330b-n)는 제2 압축 정보로부터 제2 왜곡 정보를 생성한다.
도 15는 검사 영상을 VQBTC 방법과 2*4 블록 코딩 방법으로 각각 코딩하는 경우, R에 대한 PSNR(peak signal to noise ratio)을 나타내고, 도 16은 G에 대한 PSNR을 나타내고, 도 17은 B에 대한 PSNR을 나타낸다.
도 15 내지 도 17을 참조하면, x축은 200장의 검사 영상을 지시하고, y축은 PSNR(dB)을 지시한다. 기존의 VQBTC 방법보다 2*4 블록 코딩 방법을 사용하는 경우에 PSNR이 향상됨을 알 수 있다.
다음 표는 200장의 검사 영상을 QBTC 방법과 2*4 블록 코딩 방법으로 각각 코딩하는 경우, RGB의 평균 PSNR을 나타낸다.
R(dB) G(dB) B(dB) 평균
VQBTC 30.19 30.39 30.19 30.26
블록 코딩 33.57 34.75 33.39 33.90
상기 표를 참조하면, 블록 코딩 방법이 VQBTC 방법보다 RGB 각각에 대해 3.38dB, 4.36dB, 3.2dB 성능이 향상된다.
다음 표는 기본 블록을 분할하여 서브블록마다 독립적으로 코딩하는 경우, RGB 및 Y의 평균 PSNR을 나타낸다.
R G B Y
PSNR(dB) 36.55 37.44 36.22 39.52
상기 표를 참조하면, 블록 코딩의 경우보다 서브블록 분할 코딩이 RGB 각각에 대해 2.98dB, 2.69dB, 2.83dB 성능이 향상된다. 전체적으로 약 3dB 성능이 향상된다. PSNR이 3dB 향상된 것은 오차가 2배 감소됨을 의미한다.
도 18은 기본 블록을 분할하여 서브블록마다 독립적으로 코딩하는 경우, 이미지 인덱스별 RGB의 PSNR을 나타낸다.
도 18을 참조하면, x축은 이미지 인덱스이고, y축은 PSNR(dB)을 지시한다. 서브블록 분할 코딩하는 경우, PSNR이 향상됨을 알 수 있다.
이와 같이, 화질을 향상시킬 수 있는 영상 압축 장치 및 방법을 제공할 수 있다. 또한 영상 압축 장치의 설계를 간단히 할 수 있다.
지금까지 설명한 영상 압축 장치 및 방법은 액정 표시 장치(liquid crystal display, LCD)를 위해 사용될 수 있다.
일반적인 액정 표시 장치는 화소 전극 및 공통 전극이 구비된 두 표시판과 그 사이에 들어 있는 유전율 이방성(dielectric anisotropy)을 갖는 액정층을 포함한다. 화소 전극은 행렬의 형태로 배열되어 있고 박막 트랜지스터(TFT) 등 스위칭 소자에 연결되어 한 행씩 차례로 데이터 전압을 인가 받는다. 공통 전극은 표시판의 전면에 걸쳐 형성되어 있으며 공통 전압을 인가 받는다. 화소 전극과 공통 전극 및 그 사이의 액정층은 회로적으로 볼 때 액정 축전기를 이루며, 액정 축전기는 이에 연결된 스위칭 소자와 함께 화소를 이루는 기본 단위가 된다.
이러한 액정 표시 장치에서는 두 전극에 전압을 인가하여 액정층에 전계를 생성하고, 이 전계의 세기를 조절하여 액정층을 통과하는 빛의 투과율을 조절함으로써 원하는 화상을 얻는다. 이때, 액정층에 한 방향의 전계가 오랫동안 인가됨으로써 발생하는 열화 현상을 방지하기 위하여 프레임별로, 행별로, 또는 도트별로 공통 전압에 대한 데이터 전압의 극성을 반전시킨다.
그러나 액정 분자의 응답 속도가 느리기 때문에 액정 축전기에 충전되는 전압(이하 "화소 전압"이라 함)이 목표 전압, 즉 원하는 휘도를 얻을 수 있는 전압까지 도달하는 데는 어느 정도의 시간이 소요되며, 이 시간은 액정 축전기에 이전에 충전되어 있던 전압과의 차에 따라 달라진다. 따라서 예를 들어 목표 전압과 이전 전압의 차가 큰 경우 처음부터 목표 전압만을 인가하면 스위칭 소자가 턴온되어 있는 시간 동안 목표 전압에 도달하지 못할 수 있다. 이에 따라 이를 보상하기 위한 DCC(dynamic capacitance compensation) 방식이 제안되었다. 즉, DCC 방식은 액정 축전기 양단에 걸린 전압이 클수록 충전 속도가 빨라진다는 점을 이용한 것으로서 해당 화소에 인가하는 데이터 전압(실제로는 데이터 전압과 공통 전압의 차이지만 편의상 공통 전압을 0으로 가정한다)을 목표 전압보다 높게 하여 화소 전압이 목표 전압까지 도달하는 데 걸리는 시간을 단축한다.
이와 같이, DCC 방식으로 인하여 액정 표시 장치의 약점 중 하나였던 응답시간 성능을 개선할 수 있다. 하지만 DCC는 계산 과정에서 이전 프레임 영상의 실시간 저장 및 출력을 반복해야 하며, 이 과정에 활용되는 고속 메모리는 HD 고해상도 표시 장치 제작에 있어 높은 하드웨어적 부담 및 비용 상승의 원인이 된다.
*지금까지 설명한 2*4 블록 코딩 및 2*2 블록 코딩은 영상 압축 장치 및 방법은 액정 표시 장치의 프레임 메모리를 최소화함으로써, 하나의 칩 또는 임베디드 메모리로 구현될 수 있게 한다. 또한 풀 HD, UD와 같은 고해상도 표시 장치를 제공할 수 있다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100: 색변환부
200: 방향 예측 및 결정부
300: 잔여 코딩부
400: 버퍼
500: 방향 예측부
600: 방향 결정부
700: 합산기

Claims (16)

  1. 데이터 블록의 예측 방향을 결정하는 방향 예측 및 결정부, 그리고
    상기 예측 방향에 따라 생성된 예측 블록과 상기 데이터 블록의 차이로 생성된 잔여블록을 코딩하는 잔여 코딩부를 포함하고,
    상기 예측 방향은 상기 예측 블록을 생성하는 상기 데이터 블록의 이웃 화소를 지시하는 영상 압축 장치.
  2. 제1항에서,
    상기 데이터 블록은 휘도 데이터 블록 및 색상 데이터 블록을 포함하고,
    상기 예측 방향은 상기 휘도 데이터 블록 및 상기 색상 데이터 블록에 대해 동일하고,
    상기 잔여블록은 휘도 잔여블록 및 색상 잔여블록을 포함하는 영상 압축 장치.
  3. 제2항에서,
    영상 프레임에 포함된 적색 데이터 블록, 녹색 데이터 블록 및 청색 데이터 블록을 상기 휘도 데이터 블록 및 상기 색상 데이터 블록으로 변환하는 색변환부를 더 포함하는 영상 압축 장치.
  4. 제3항에서,
    상기 예측 방향은 복수의 예측 방향 중 상기 잔여블록의 에너지를 최소로 만드는 예측 방향으로 결정되는 영상 압축 장치.
  5. 제4항에서,
    상기 잔여 코딩부는
    상기 잔여블록을 하다마드 변환하고, 양자화하여 양자화 블록을 생성하는 하다마드 변환 및 양자화부, 그리고
    상기 양자화 블록을 엔트로피 코딩하여 압축정보를 생성하는 엔트로피 코딩부를 포함하는 영상 압축 장치.
  6. 제5항에서,
    상기 압축정보는 모드 필드, 예측 방향 필드, 양자화 파라미터 필드 및 코딩 정보 필드를 포함하고,
    상기 모드 필드는 상기 데이터 블록을 코딩하는 모드를 지시하고,
    상기 예측 방향 필드는 상기 예측 방향을 지시하고,
    상기 양자화 파라미터 필드는 양자화 파라미터를 지시하고,
    상기 코딩 정보 필드는 양자화 블록이 코딩된 정보인 영상 압축 장치.
  7. 제1항에서,
    합산기를 더 포함하고,
    상기 방향 예측 및 결정부는 상기 데이터 블록을 제1 서브블록 및 제2 서브블록으로 분할하고, 상기 제1 서브블록의 제1 예측 방향 및 상기 제2 서브블록의 제2 예측 방향을 결정하고,
    상기 잔여 코딩부는 상기 제1 예측 방향에 따라 생성된 제1 예측 블록과 상기 제1 서브블록의 차이인 제1 잔여블록을 코딩하여 제1 압축정보를 생성하고,
    상기 제2 예측 방향에 따라 생성된 제2 예측 블록과 상기 제2 서브블록의 차이인 제2 잔여블록을 코딩하여 제2 압축정보를 생성하고,
    상기 합산기는 상기 제1 압축정보 및 상기 제2 압축정보를 기반으로 상기 데이터 블록의 압축정보를 생성하는 영상 압축 장치.
  8. 제7항에서,
    상기 데이터 블록의 크기는 2*4이고, 상기 제1, 2 서브블록의 크기는 각각 2*2인 영상 압축 장치.
  9. 영상 프레임에 포함된 데이터 블록에 대해 복수의 예측 방향마다 예측 블록을 생성하고, 상기 예측 블록과 상기 데이터 블록의 차이인 잔여블록을 생성하는 방향 예측부,
    상기 복수의 예측 방향마다 상기 잔여블록을 코딩하여 압축정보를 생성하고, 상기 압축정보를 디코딩하여 왜곡정보를 생성하는 잔여 코딩부, 그리고
    상기 복수의 예측 방향마다 생성된 상기 압축정보 및 상기 왜곡정보를 기반으로 상기 복수의 예측 방향 중 하나의 예측 방향을 선택하고, 선택된 예측 방향의 압축정보를 출력하는 방향 결정부를 포함하고,
    상기 예측 방향은 상기 예측 블록을 위한 상기 데이터 블록의 이웃 화소를 지시하는 영상 압축 장치.
  10. 제9항에서,
    상기 잔여 코딩부는
    상기 잔여블록을 하다마드 변환하고, 양자화하여 양자화 블록을 생성하는 하다마드 변환 및 양자화부,
    상기 양자화 블록을 엔트로피 코딩하여 상기 압축정보를 생성하는 엔트로피 코딩부, 그리고
    상기 압축정보를 디코딩하여 상기 왜곡정보를 생성하는 역양자화 및 역하다마드 변환부를 포함하는 영상 압축 장치.
  11. 제9항에서,
    합산기를 더 포함하고,
    상기 방향 예측부는 상기 데이터 블록을 제1, 2 서브블록으로 분할하고, 상기 제1, 2 서브블록에 대해 복수의 예측 방향마다 제1, 2 예측 블록을 생성하고, 상기 제1, 2 예측 블록과 상기 데이터 블록의 차이인 제1, 2 잔여블록을 생성하고,
    상기 잔여 코딩부는 상기 제1 잔여블록을 코딩하여 제1 압축정보를 생성하고, 상기 제1 압축정보를 디코딩하여 제1 왜곡정보를 생성하고,
    상기 제2 잔여블록을 코딩하여 제2 압축정보를 생성하고, 상기 제2 압축정보를 디코딩하여 제2 왜곡정보를 생성하고,
    상기 방향 결정부는 상기 복수의 예측 방향마다 생성된 상기 제1 압축정보 및 상기 제1 왜곡정보를 기반으로 상기 복수의 예측 방향 중 하나의 예측 방향을 선택하고, 선택된 예측 방향의 제1 압축정보를 출력하고,
    상기 복수의 예측 방향마다 생성된 상기 제2 압축정보 및 상기 제2 왜곡정보를 기반으로 상기 복수의 예측 방향 중 하나의 예측 방향을 선택하고, 선택된 예측 방향의 제2 압축정보를 출력하고,
    상기 합산기는 상기 제1 압축정보 및 상기 제2 압축정보를 기반으로 상기 데이터 블록의 압축정보를 생성하는 영상 압축 장치.
  12. 제11항에서,
    상기 잔여 코딩부는
    상기 제1, 2 잔여블록 각각을 하다마드 변환하고, 양자화하여 제1, 2 양자화 블록을 생성하는 하다마드 변환 및 양자화부,
    상기 제1, 2 양자화 블록 각각을 엔트로피 코딩하여 상기 제1, 2 압축정보를 생성하는 엔트로피 코딩부, 그리고
    상기 제1, 2 압축정보 각각을 디코딩하여 상기 제1, 2 왜곡정보를 생성하는 역양자화 및 역하다마드 변환부를 포함하는 영상 압축 장치.
  13. 제12항에서,
    상기 데이터 블록의 크기는 2*4이고, 상기 제1, 2 서브블록의 크기는 각각 2*2인 영상 압축 장치.
  14. 데이터 블록의 예측 방향을 결정하는 단계, 그리고
    상기 예측 방향에 따라 생성된 예측 블록과 상기 데이터 블록의 차이로 생성된 잔여블록을 코딩하는 단계를 포함하고,
    상기 예측 방향은 상기 예측 블록을 생성하는 상기 데이터 블록의 이웃 화소를 지시하는 영상 압축 방법.
  15. 제14항에서,
    상기 예측 방향을 결정하는 단계는
    상기 데이터 블록을 제1 서브블록 및 제2 서브블록으로 분할하는 단계, 그리고
    상기 제1 서브블록의 제1 예측 방향 및 상기 제2 서브블록의 제2 예측 방향을 결정하는 단계를 포함하고,
    상기 잔여블록을 코딩하는 단계는
    상기 제1 예측 방향에 따라 생성된 제1 예측 블록과 상기 제1 서브블록의 차이인 제1 잔여블록을 코딩하여 제1 압축정보를 생성하는 단계,
    상기 제2 예측 방향에 따라 생성된 제2 예측 블록과 상기 제2 서브블록의 차이인 제2 잔여블록을 코딩하여 제2 압축정보를 생성하는 단계, 그리고
    상기 제1 압축정보 및 상기 제2 압축정보를 기반으로 상기 데이터 블록의 압축정보를 생성하는 단계를 포함하는 영상 압축 방법.
  16. 제15항에서,
    상기 데이터 블록의 크기는 2*4이고, 상기 제1, 2 서브블록의 크기는 각각 2*2인 영상 압축 방법.
KR1020100046954A 2010-05-19 2010-05-19 영상 압축 장치 및 방법 KR20110127456A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100046954A KR20110127456A (ko) 2010-05-19 2010-05-19 영상 압축 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100046954A KR20110127456A (ko) 2010-05-19 2010-05-19 영상 압축 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20110127456A true KR20110127456A (ko) 2011-11-25

Family

ID=45406913

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100046954A KR20110127456A (ko) 2010-05-19 2010-05-19 영상 압축 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20110127456A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8824788B2 (en) 2011-04-06 2014-09-02 Samsung Display Co., Ltd. Device and method of compressing image for display device
WO2014098456A3 (ko) * 2012-12-17 2014-10-23 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 이를 이용하는 장치
CN116505952A (zh) * 2023-06-27 2023-07-28 厦门立林科技有限公司 红外码压缩方法、装置、智能设备及存储介质
CN117354529A (zh) * 2023-11-28 2024-01-05 广东匠芯创科技有限公司 基于视频编码系统的图像处理方法、电子设备及介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8824788B2 (en) 2011-04-06 2014-09-02 Samsung Display Co., Ltd. Device and method of compressing image for display device
WO2014098456A3 (ko) * 2012-12-17 2014-10-23 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 이를 이용하는 장치
US9743091B2 (en) 2012-12-17 2017-08-22 Lg Electronics Inc. Method for encoding/decoding image, and device using same
CN116505952A (zh) * 2023-06-27 2023-07-28 厦门立林科技有限公司 红外码压缩方法、装置、智能设备及存储介质
CN116505952B (zh) * 2023-06-27 2023-09-08 厦门立林科技有限公司 红外码压缩方法、装置、智能设备及存储介质
CN117354529A (zh) * 2023-11-28 2024-01-05 广东匠芯创科技有限公司 基于视频编码系统的图像处理方法、电子设备及介质
CN117354529B (zh) * 2023-11-28 2024-03-12 广东匠芯创科技有限公司 基于视频编码系统的图像处理方法、电子设备及介质

Similar Documents

Publication Publication Date Title
US10244264B2 (en) Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
US9584810B2 (en) Encoding/decoding method and device for high-resolution moving images
US11831893B2 (en) Image coding device, image decoding device, image coding method, and image decoding method
KR101394153B1 (ko) 양자화 방법 및 장치, 역양자화 방법 및 장치
US9774872B2 (en) Color image encoding device, color image decoding device, color image encoding method, and color image decoding method
US20160094860A1 (en) Image encoding device, image encoding method, image decoding device, and image decoding method
US20150023420A1 (en) Image decoding device, image encoding device, image decoding method, and image encoding method
JP2005507184A (ja) ゴロム・ライスを使用する無損失フレーム内符号化
CN1526236A (zh) 用于改善压缩图像色度信息的方法和系统
KR101320611B1 (ko) 양자화 파라미터가 확장된 N bit 영상 데이터부호화/복호화 방법 및 장치
KR20070090700A (ko) 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP2005517316A (ja) 構成可能なパターン最適化器
US20150256827A1 (en) Video encoding device, video decoding device, video encoding method, and video decoding method
JP2005502235A (ja) ディジタル画像および音声データを無損失に復号化するためのシステムおよび方法
KR101312632B1 (ko) N-bit 영상 데이터 부호화/복호화 장치 및 방법
KR20110127456A (ko) 영상 압축 장치 및 방법
WO2002091282A2 (en) Color video codec method and system
JP2004528791A (ja) インターフレーム符号化方法および装置
US10602147B2 (en) Efficient entropy coding group grouping methodology for transform mode
CN113994677A (zh) 图像编码装置、图像解码装置、方法和程序
WO2015045301A1 (ja) 映像符号化装置、映像符号化方法および映像符号化プログラム
KR20100013142A (ko) 프레임 메모리 압축방법
WO2023138391A1 (zh) 系数解码方法、装置、图像解码器及电子设备
JP2023139325A (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
Groder et al. Design methodolgy for HD photo compression algorithm targeting a FPGA

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application