KR100813258B1 - 화상 데이터 부호화 및 복호화 장치 및 방법 - Google Patents

화상 데이터 부호화 및 복호화 장치 및 방법 Download PDF

Info

Publication number
KR100813258B1
KR100813258B1 KR1020060063532A KR20060063532A KR100813258B1 KR 100813258 B1 KR100813258 B1 KR 100813258B1 KR 1020060063532 A KR1020060063532 A KR 1020060063532A KR 20060063532 A KR20060063532 A KR 20060063532A KR 100813258 B1 KR100813258 B1 KR 100813258B1
Authority
KR
South Korea
Prior art keywords
quantization
pixel values
bits per
pixel
quantization coefficient
Prior art date
Application number
KR1020060063532A
Other languages
English (en)
Other versions
KR20070008401A (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 PCT/KR2006/002744 priority Critical patent/WO2007027004A2/en
Priority to US11/484,699 priority patent/US7848586B2/en
Publication of KR20070008401A publication Critical patent/KR20070008401A/ko
Application granted granted Critical
Publication of KR100813258B1 publication Critical patent/KR100813258B1/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/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/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Abstract

화상 데이터 부호화 및 복호화 장치 및 방법이 개시된다. 화상 데이터 부호화 장치는 화상의 화소값들을 주파수 영역으로 변환하는 변환부, 사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하거나, 곱하여 상기 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하는 양자화 계수 결정부, 양자화 계수 결정부에서 결정된 양자화 계수에 따라, 변환부에서 변환된 화소값들을 양자화하는 양자화부 및 양자화 된 화소값들의 비트열을 생성하는 엔트로피 부호화부를 구비하는 것을 특징으로 한다.

Description

화상 데이터 부호화 및 복호화 장치 및 방법{Apparatus and method for encoding and decoding of image data}
도 1은 본 발명에 의한 화상 데이터 부호화 장치를 설명하기 위한 일 실시예의 블록도이다.
도 2는 본 발명에 의한 화상 데이터 복호화 장치를 설명하기 위한 일 실시예의 블록도이다.
도 3은 본 발명에 의한 화상 데이터 부호화 방법을 설명하기 위한 일 실시예의 플로차트이다.
도 4는 본 발명에 의한 화상 데이터 복호화 방법을 설명하기 위한 일 실시예의 플로차트이다.
본 발명은 화상 데이터의 부호화 및 복호화에 관한 것으로, 보다 상세하게는 화소당 비트수에 적응적인 양자화를 이용한 화상의 부호화 및 복호화장치 및 방법에 관한 것이다.
영상을 카메라로부터 취득한 후에 샘플링을 통하여 적절한 크기, 즉 화소의 수로 나타내게 된다. 이때 각 화소의 값을 표현하기 위해서 필요한 비트수가 결정되는데, 이 비트수의 크기가 클수록 표현할 수 있는 값이 많아져서 화상을 고화질로 표현할 수 있게 된다. 이 비트수는 장치가 발달할수록 점점 더 큰 값을 사용하고 있는데, 많은 분야에서 현재 8 비트를 사용하고 있고, 고화질 응용 분야에서는 10 비트 또는 12 비트를 사용하고 있다.
기존의 화상 압축에서는 일반적으로 8 비트 화상을 가정한 압축 기술이 개발되어 왔다. SMPTE (the Society of Motion Picture and Television Engineers)에서 표준화가 진행 중인 압축 비디오 코덱에 해당하는 VC-1(VC-1 Compressed Video Bitstream Format and Decoding Process)은 효과적인 양자화 방법을 제공하고 있는데, 이 방법에서는 다양한 화상 정보를 이용하여 각 경우에 적합한 양자화 방법을 적용할 수 있도록 하고 있다. 그러나, VC-1에서 사용하는 양자화 방법에서는 화소당 비트수를 8 비트로 고정하여 사용하고 있다. 비록 8 비트 화상이 일반적으로 화상 부호화를 위해 널리 사용되어 온 것이 사실이지만, 8 비트를 사용할 경우 나타낼 수 있는 화질에는 한계가 있다. 따라서, 점차적으로 고화질 영상에 대한 요구가 높아지는 것을 감안할 때에 8 비트보다 높은 화소 당 비트수를 사용하는 화상에도 적합한 양자화 방법을 사용할 수 있는 방법을 고안할 필요가 있다.
본 발명이 이루고자 하는 기술적 과제는 화소당 할당된 비트수에 자동적으로 적응하여 양자화하도록 함으로써, 높은 압축 효율을 유지하면서도 고화질의 화상을 구현하는 화상 데이터 부호화 및 복호화 장치를 제공하는데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는 화소당 할당된 비트수에 자동적으로 적응하여 양자화하도록 함으로써, 높은 압축 효율을 유지하면서도 고화질의 화상을 구현하는 화상 데이터 부호화 및 복호화 방법을 제공하는데 있다.
상기의 과제를 이루기 위해, 본 발명에 의한 화상 데이터 부호화 장치는 화상의 화소값들을 주파수 영역으로 변환하는 변환부, 사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하거나, 곱하여 상기 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하는 양자화 계수 결정부, 양자화 계수 결정부에서 결정된 양자화 계수에 따라, 변환부에서 변환된 화소값들을 양자화하는 양자화부 및 양자화 된 화소값들의 비트열을 생성하는 엔트로피 부호화부를 구비하는 것을 특징으로 한다.
상기의 다른 과제를 이루기 위해, 본 발명에 의한 화상 데이터 복호화 장치는 화상에 대한 화소값들의 비트열을 복호화하는 엔트로피 복호화부, 사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하거나, 곱하여 상기 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하는 양자화 계수 결정부, 양자화 계수 결정부에서 결정된 양자화 계수에 따라, 엔트로피 복호화부에서 복호화 된 화소값들을 역양자화하는 역양자화부 및 역양자화부에서 역양자화된 화소값들을 역변환하는 역변환부를 구비하는 것을 특징으로 한다.
상기의 다른 과제를 이루기 위해, 본 발명에 의한 화상 데이터 부호화 방법은 화상의 화소값들을 주파수 영역으로 변환하는 단계, 사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하거나, 곱하여 상기 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하는 단계, 결정된 양자화 계수에 따라, 변환된 화소값들을 양자화하는 단계 및 양자화 된 화소값들의 비트열을 생성하는 단계를 구비하는 것을 특징으로 한다.
상기의 다른 과제를 이루기 위해, 본 발명에 의한 화상 데이터 복호화 방법은 화상에 대한 화소값들의 비트열을 복호화하는 단계, 사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하거나, 곱하여 상기 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하는 단계, 결정된 양자화 계수에 따라, 복호화 된 화소값들을 역양자화하는 단계 및 역양자화된 화소값들을 역변환하는 단계를 구비하는 것을 특징으로 한다.
이하, 본 발명에 의한 화상 데이터 부호화 장치를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명에 의한 화상 데이터 부호화 장치를 설명하기 위한 일 실시예의 블록도로서, 시간상 예측부(100), 변환부(110), 양자화 계수 결정부(120), 양자화부(130), 역양자화부(140), 역변환부(150), 시간상 예측 보상부(160), 엔트로피 부호화부(170)로 구성된다.
시간상 예측부(100)는 시간상 이전 블록을 이용하여 현재 블록의 화소값들을 시간상 예측하고, 예측한 결과를 변환부(110)로 출력한다.
시간상 예측부(100)는 이전 프레임 화상 Fn-1′에서 움직임을 추정하여 현재 프레임 화상 Fn을 예측한다. 이때, 시간상 예측부(100)는 현재 부호화하고자 하는 소정 크기의 블록과 유사한 블록을 이전 화상에서 찾은 후에 현재 블록의 화소값에서 이전 블록의 화소값을 뺀다. 만일 첫 번째 화상을 처리하는 경우 이전 화상이 존재하지 않으므로 이 과정은 생략된다. 또는 랜덤 액세스, 오류 전파 방지 등을 이유로 사용자의 설정에 의해 생략될 수 있다.
변환부(110)는 화상의 화소값들을 주파수 영역으로 변환하고, 변환한 결과를 양자화 계수 결정부(120)로 출력한다. 변환 방식은 직교변환 부호화 방식이 적용된다. 직교 변환 부호화 방식 중에서 많이 사용되는 방식은 고속 푸리에 변환(FFT), 이산 코사인 변환(DCT: Discrete Cosine Transform), 카루넨 루베 변환(KLT), 아다마르 변환(Hadamard transform), 경사 변환(slant transform) 등이 있다.
변환부(110)에서 주파수 영역으로 변환된 화소값들은 저주파수 영역에 해당하는 DC 성분과 고주파수 영역에 해당하는 AC성분으로 구분된다. DC 성분은 (0, 0)에 해당하는 저주파수 영역의 변환된 화소값을 의미하고, 이 이외의 값들은 AC성분이 된다.
양자화 계수 결정부(120)는 사용자가 지정하는 양자화 변수를 조정하여 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하고, 결정한 결과를 양자화부(130) 및 역양자화부(140)로 출력한다.
여기서, 양자화 변수는 사용자에 의해 지정되는 값이며, 화상의 화소당 비트수(N)는 하나의 화소를 표현하는 비트수를 의미한다. 또한, 양자화 계수(QS)는 양자화를 수행하기 위한 양자화 값을 의미한다.
본 발명은 이러한 화상의 화소당 비트수가 변경됨에 따라 양자화 계수를 어떤 값으로 할 것인지를 결정하는데 그 목적이 있다. 이를 위하여 본 발명의 실시예에서, 양자화 계수 결정부(120)는 변경된 화소당 비트수에 따라 확장된 화소값의 범위를 이용하여 양자화 변수 값의 범위를 조정한다. 확장된 화소값의 범위(2(N-a))는 변경된 화소값에 의해 확장되는 화소값의 영역을 의미한다. 여기서, a는 기존의 화소를 표현하는 비트수에 해당한다. 이때, 본 발명의 실시예에서, 양자화 계수 결정부(120)는 화소당 비트수의 변경에 무관하게 기존의 양자화 간격을 유지하도록 설정하는 것을 특징으로 한다.
이러한 양자화 변수값의 범위 조정과 화소당 비트수의 변경을 이용하여 양자화 계수를 새롭게 결정하게 되는데, 첫번째 실시예로 양자화 계수 결정부(120)는 사용자에 의해 지정된 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하여 양자화 계수를 구한다.
이하에서는 VC-1에 한정하여 실시예를 설명하고자 한다. 그러나, 본 발명의 실시예는 이에 한정되는 것은 아니며, 본 발명의 실시예에 따른 내용을 다른 형식으로 변형하는 것은 당업자에게 자명할 것이다.
VC-1의 양자화 과정은 입력 화상의 화소당 비트수가 8 비트인 경우(즉, 전술한 a가 8인 경우)에 한정되어 있다. 이때, 사용자가 지정하는 양자화 변수는 [1, 31]의 범위를 갖는다. 입력 화상의 화소당 비트수가 8 비트 이상인 경우에도 부호화가 가능하도록 해 주기 위해서는 양자화 계수를 화소 당 비트수에 적응시키는 과정이 필요하다.
본 발명은 입력 영상의 화소 당 비트수가 N 비트라고 할 때, 양자화 계수의 값을 결정하기 위해 양자화 변수의 범위를 N에 따라 조정하는 방식을 사용한다. 본 발명에 의한 방식은 입력 화상의 화소 당 비트수 N의 변동과 관계없이 양자화 계수가 일정하게 유지된다. 즉, 양자화 계수가 일정하게 유지되므로 양자화 간격이 동일하다. 동일한 양자화 간격을 가지고 입력 화상의 화소 당 비트수 N이 나타내는 화소값을 양자화하기 위해 양자화 변수의 범위가 N에 따라 조정되어야 한다. 8 비트인 경우에 양자화 변수가 [1, 31]의 범위를 갖는다 할 때, 화소 당 비트수 N에 대한 양자화 변수의 최소값이 1인 경우, 양자화 변수의 최대값은 다음의 수학식 1에 의해 구해질 수 있다.
QPN -bit,MAX = QP8 -bit,MAX×2(N-8) = 31×2(N-8)
즉, 화소 당 비트수 N에 대한 양자화 변수의 범위는 [1, 31×2(N-8)]이 된다. 한편, 화소 당 비트수 N에 대한 양자화 변수의 최대값이 31이 되도록 범위를 조정할 경우에, 화소 당 비트수 N에 대한 양자화 변수의 범위는 [1-31×(2(N-8)-1), 31]가 된다.
이 경우 화소 당 비트수 N에 대한 양자화 변수로부터 양자화 계수의 값을 결정할 때에 다음의 수학식들을 사용한다.
양자화 계수 결정부(120)는 사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하여 양자화 계수를 결정하는 것을 특징으로 한다. 여기서, 확장된 화소값의 범위에 비례하는 값의 일 예로서 31×(2(N-8)-1)을 예시할 수 있는데, 확장된 화소값의 범위에 비례하는 값은 이러한 예에 한정되지는 않는다.
양자화 계수 결정부(120)는 다음의 수학식 2를 사용하여 저주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다. 저주파수 영역은 변환된 화소값들 중 DC 성분을 의미한다.
QP<(3-31×(2(N-8)-1))일 때,
QS=[QP+31×(2(N-8)-1)]×2,
QP=(3-31×(2(N-8)-1)) 또는 QP=(4-31×(2(N-8)-1))일 때,
QS=8,
QP가 전술한 범위 이외일 때,
QS=([QP+31×(2(N-8)-1)]/2)+6, 이다.
여기서, QS는 양자화 계수를 의미하고, QP는 사용자에 의해 지정되는 양자화 변수를 의미하고, N은 화소당 비트수를 의미하고, [QP+31×(2(N-8)-1)]은 화소당 비트수에 따라 조정된 양자화 변수를 의미한다.
또한, 양자화 계수 결정부(120)는 다음의 수학식 3을 사용하여 고주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다. 고주파수 영역은 변환된 화소값들 중 DC 성분을 제외한 AC 성분을 의미한다.
QS=[QP+31×(2(N-8)-1)]×2
여기서, QS는 양자화 계수를 의미하고, QP는 사용자에 의해 지정되는 양자화 변수를 의미하고, N은 화소당 비트수를 의미하고, [QP+31×(2(N-8)-1)]은 화소당 비트수에 따라 조정된 양자화 변수를 의미한다.
양자화부(130)는 양자화 계수 결정부(120)에서 결정된 양자화 계수에 따라, 변환부(110)에서 변환된 화소값들을 양자화하고, 양자화 된 결과를 역양자화부(140) 및 엔트로피 부호화부(170)로 출력한다.
양자화부(130)는 DC성분을 양자화하거나, AC 성분의 균일 양자화(uniform quantizing)를 수행할 때, 다음의 수학식 4를 사용하여 화소값들을 양자화한다.
q=c/QS
여기서, q는 양자화된 화소값을 의미하고, c는 상기 변환부에서 변환된 화소값을 의미하고, QS는 양자화 계수를 의미한다.
한편, 양자화부(130)는 고주파수 영역의 불균일 양자화(non-uniform quantizing)를 수행할 때, 양자화의 정밀도를 조정하기 위한 옵셋(offset)값을 변환부(110)에서 변환된 화소값과 합산하여 화소값들을 양자화하는 것을 특징으로 한다. 이때, 양자화부(130)는 AC 성분의 불균일 양자화(non-uniform quantizing)를 수행할 때, 다음의 수학식 5을 사용하여 화소값들을 양자화한다.
q=(c+{sign(c)×[QP+31×(2(N-8)-1)]×r})/QS
여기서, q는 양자화된 화소값을 의미하고, c는 상기 변환부에서 변환된 화소값을 의미하고, QS는 양자화 계수로서 QS=[QP+31×(2(N-8)-1)]×2를 의미하고, {sign(c)×[QP+31×(2(N-8)-1)]×r}는 불균일 양자화를 위한 옵셋(offset)값을 의미한다. 이때, sign(c)은 c>0일 때, sign(c)=1이고, c=0일 때, sign(c)=0이고, c<0일 때, sign(c)=-1이고, r은 0≤r≤1 범위 내의 상수이다.
역양자화부(140)는 양자화 계수 결정부(120)에서 결정된 양자화 계수에 따라, 양자화부(130)에서 양자화된 화소값들을 역양자화하고, 역양자화 한 결과를 역변환부(150)로 출력한다.
역양자화부(140)는 DC성분을 역양자화하거나, AC 성분의 균일 역양자화(uniform dequantizing)를 수행할 때, 다음의 수학식 6을 사용하여 양자화된 화소값들을 역양자화하는 것을 특징으로 한다.
c′= q×QS
여기서, c′는 역양자화 된 화소값을 의미하고, q는 양자화된 화소값을 의미하고, QS는 양자화 계수를 의미한다.
한편, 역양자화부(140)는 고주파수 영역의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 역양자화의 정밀도를 조정하기 위한 옵셋(offset)값을 사용해, 양자화된 화소값들을 역양자화하는 것을 특징으로 한다. 이때, 역양자화 부(140)는 AC 성분의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 다음의 수학식 7을 사용하여 양자화된 화소값들을 역양자화한다.
c′= q×QS + {sign(c)×[QP+31×(2(N-8)-1)]}
여기서, c′는 역양자화 된 화소값을 의미하고, q는 양자화된 화소값을 의미하고, QS는 양자화 계수로서 QS=[QP+31×(2(N-8)-1)]×2를 의미하고, {sign(c)×[QP+31×(2(N-8)-1)]}는 불균일 역양자화를 위한 옵셋(offset)값을 의미한다.
역변환부(150)는 역양자화부(140)에서 역양자화된 화소값들을 역변환하고, 역변환한 결과를 시간상 예측 보상부(160)로 출력한다.
시간상 예측 보상부(160)는 시간상 예측부(100)에서 예측된 화소값들의 역변환된 화소값들을 보상한다.
엔트로피 부호화부(170)는 양자화부(130)에서 양자화 된 화소값들의 비트열을 생성한다.
엔트로피 부호화부(170)는 화소당 비트수에 상응하여 조정된 양자화 변수에 따라, 양자화된 화소값들의 비트열을 생성하는 것을 특징으로 한다.
엔트로피 부호화 및 복호화를 할 때에 양자화된 값들의 특성이 양자화 변수와 밀접하게 관계가 있기 때문에 VC-1에서는 DC 값을 부호화 할 때, 주변 블록의 DC 값을 사용하여 DPCM 부호화를 통해 차 값을 생성하고, 생성된 차의 절대값인 DC Differential과 부호값인 DC Sign을 생성한 후에 부호화를 한다.
본 발명에서의 화소당 비트수에 상응하여 조정된 양자화 변수에 따라 부호화하는 과정은 다음과 같다.
[부호화 과정]
if(DCDifferential != 0) {
if(DCDifferential does not present in VLC table) {
vlc_encode(ESCAPECODE);
if(QP+31×(2(N-8)-1) == 1)
flc_encode(DCDifferential, 2+N);
else if(QP+31×(2(N-8)-1) == 2)
flc_encode(DCDifferential , 1+N);
else // QP+31×(2(N-8)-1) is > 2
flc_encode(DCDifferential, N);
}
else { // DCDifferential is present in VLC table
if(QP+31×(2(N-8)-1) == 1){
DCDifferential = DCDifferential + 4×2(N-8)-1;
vlc_encode((DCDifferential)/(4×2(N-8)));
flc_encode(DCDifferential-(DCDifferential/(4×2(N-8)))×4×2(N-8),2+N-8);
}
else if(QP+31×(2(N-8)-1) == 2){
DCDifferential = DCDifferential + 2×2(N-8)-1;
if(QP+31×(2(N-8)-1) == 1){
DCDifferential = DCDifferential + 2×2(N-8)-1;
vlc_encode((DCDifferential)/(2×2(N-8)));
flc_encode(DCDifferential-(DCDifferential/(2×2(N-8)))×2×2(N-8),1+N-8);
}
}
flc_encode(DCSign, 1); // DCSIGN
}
else
vlc_encode(DCDifferential);
여기서, vlc_encode( symbol )은 symbol의 값을 미리 정해진 table을 참조하여 해당되는 코드(code)로 변환시키는 가변 길이 부호화(variable length coding)를 하고, flc_encode(symbol, num)은 symbol의 값을 num 개수 만큼의 비트로 고정 길이 부호화(fixed length coding)를 한다.
전술한 부호화 과정에서 보는 바와 같이, 종래와 달리 조정된 양자화 변수에 따라 부호화가 이루어짐을 확인할 수 있다.
이하, 본 발명에 의한 화상 데이터 복호화 장치를 첨부된 도면을 참조하여 상세히 설명한다.
도 2는 본 발명에 의한 화상 데이터 복호화 장치를 설명하기 위한 일 실시예의 블록도로서, 엔트로피 복호화부(200), 양자화 계수 결정부(210), 역양자화부(220), 역변환부(230) 및 시간상 예측 보상부(240)로 구성된다.
엔트로피 복호화부(200)는 화상에 대한 화소값들의 비트열을 복호화하고, 복호화한 결과를 양자화 계수 결정부(210)로 출력한다.
한편, 엔트로피 복호화부(200)는 양자화 계수 결정부(210)에서 화소당 비트수에 상응하여 조정된 양자화 변수에 따라, 화소값들의 비트열을 복호화하고, 복호화한 결과를 역양자화부(220)로 출력한다.
엔트로피 복호화부(200)는 전술한 엔트로피 부호화부(170)의 역과정을 수행하는 것이다.
본 발명에서의 화소당 비트수에 상응하여 조정된 양자화 변수에 따라 복호화하는 과정은 다음과 같다.
[복호화 과정]
DCDifferential = vlc_decode( );
if(DCDifferential != 0) {
if(DCDifferential == ESCAPECODE) {
if(QP+31×(2(N-8)-1) == 1)
DCDifferential = flc_decode(2+N); // DCCOEF_ESC
else if(QP+31×(2(N-8)-1) == 2)
DCDifferential = flc_decode(1+N); // DCCOEF_ESC
else // QP+31×(2(N-8)-1) is > 2
DCDifferential = flc_decode(N); // DCCOEF_ESC
}
else { // DCDifferential is not ESCAPECODE
if(QP+31×(2(N-8)-1) == 1)
DCDifferential = DCDifferential×4×2(N-8) + flc_decode(2+N-8) - (4×2(N-8)-1);
else if(QP+31×(2(N-8)-1) == 2)
DCDifferential = DCDifferential×2×2(N-8) + flc_decode(1+N-8) - (2×2(N-8)-1);
}
DCSign = flc_decode(1); // DCSIGN
if (DCSign == 1)
DCDifferential = -DCDifferential
}
전술한 복호화 과정에서 보는 바와 같이, 종래와 달리 조정된 양자화 변수에 따라 비트열에 대한 복호화가 이루어짐을 확인할 수 있다.
양자화 계수 결정부(210)는 사용자가 지정하는 양자화 변수를 조정하여 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하고, 결정한 결과를 역양자화부(220)로 출력한다.
양자화 계수 결정부(210)는 변경된 화소당 비트수에 따라 확장된 화소값의 범위를 이용하여 양자화 변수 값의 범위를 조정한다. 양자화 계수 결정부(210)는 화소당 비트수의 변경에 무관하게 기존의 양자화 간격을 유지하도록 설정하는 것을 특징으로 한다. 이러한 양자화 변수값의 범위 조정과 화소당 비트수의 변경을 이용하여 양자화 계수를 새롭게 결정하게 되는데, 양자화 계수 결정부(210)는 사용자에 의해 지정된 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하여 양자화 계수를 구한다.
양자화 계수 결정부(210)는 전술한 수학식 2를 사용하여 저주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다. 또한, 양자화 계수 결정부(210)는 전술한 수학식 3을 사용하여 고주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다.
역양자화부(220)는 양자화 계수 결정부(210)에서 결정된 양자화 계수에 따라, 엔트로피 복호화부(200)에서 복호화 된 화소값들을 역양자화하고, 역양자화 결과를 역변환부(230)로 출력한다. 특히, 역양자화부(220)는 양자화 계수 결정부(210)에서 화소당 비트수에 상응하여 조정된 양자화 계수에 따라, 화소값들을 역양자화하는 것을 특징으로 한다.
역양자화부(220)는 DC성분을 역양자화하거나, AC 성분의 균일 역양자화(uniform dequantizing)를 수행할 때, 전술한 수학식 6을 사용하여 엔트로피 복호화부(200)에서 복호화 된 화소값들을 역양자화하는 것을 특징으로 한다.
한편, 역양자화부(140)는 고주파수 영역의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 역양자화의 정밀도를 조정하기 위한 옵셋(offset)값을 사용해, 양자화된 화소값들을 역양자화하는 것을 특징으로 한다. 역양자화부(220)는 AC 성분의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 전술한 수학식 7을 사용하여 엔트로피 복호화부(200)에서 복호화 된 화소값들을 역양자화하는 것을 특징으로 한다.
역변환부(230)는 역양자화부(220)에서 역양자화된 화소값들을 역변환하고, 역변환 한 결과를 시간상 예측 보상부(240)로 출력한다.
시간상 예측 보상부(240)는 역변환부(230)에서 역변환 된 화소값들에 대한 시간상 예측된 화소값들을 보상한다.
이하, 본 발명에 의한 화상 데이터 부호화 방법을 첨부된 도면을 참조하여 상세히 설명한다.
도 3은 본 발명에 의한 화상 데이터 부호화 방법을 설명하기 위한 일 실시예의 플로차트이다.
먼저, 시간상 이전 블록을 이용하여 현재 블록의 화소값들을 시간상 예측한다(제300 단계).
제300 단계 후에, 시간상 예측된 화상의 화소값들을 주파수 영역으로 변환한다(제302 단계).
제302 단계 후에, 사용자가 지정하는 양자화 변수를 조정하여 화상의 화소당 비트수에 상응하는 양자화 계수를 결정한다(제304 단계). 특히, 변경된 화소당 비트수에 따라 확장된 화소값의 범위를 이용하여 양자화 변수 값의 범위를 조정한다. 양자화 계수는 화소당 비트수의 변경에 무관하게 기존의 양자화 간격을 유지하도록 설정하는 것을 특징으로 한다. 이러한 양자화 변수값의 범위 조정과 화소당 비트수의 변경을 이용하여 양자화 계수를 새롭게 결정하게 되는데, 사용자에 의해 지정된 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하여 양자화 계수를 구한다.
제304 단계 후에, 결정된 양자화 계수에 따라, 변환된 화소값들을 양자화한다(제306 단계). 제306 단계는 DC성분을 양자화하거나, AC 성분의 균일 양자화(uniform quantizing)를 수행할 때, 전술한 수학식 4를 사용하여 화소값들을 양자화한다. 특히, 고주파수 영역의 불균일 양자화(non-uniform quantizing)를 수행할 때, 양자화의 정밀도를 조정하기 위한 옵셋(offset)값을 변환된 화소값과 합산하여 화소값들을 양자화하는 것을 특징으로 한다. 이때, AC 성분의 불균일 양자 화(non-uniform quantizing)를 수행할 때, 전술한 수학식 5을 사용하여 화소값들을 양자화한다.
제306 단계 후에, 양자화 된 화소값들의 비트열을 생성한다(제308 단계). 특히, 화소당 비트수에 상응하여 조정된 양자화 변수에 따라, 양자화된 화소값들의 비트열을 생성하는 것을 특징으로 한다. 전술한 엔트로피 부호화부(170)의 양자화 된 화소값들에 대한 비트열 생성 과정이 제308 단계에서 수행된다.
이하, 본 발명에 의한 화상 데이터 복호화 방법을 첨부된 도면을 참조하여 상세히 설명한다.
도 4는 본 발명에 의한 화상 데이터 복호화 방법을 설명하기 위한 일 실시예의 플로차트이다.
먼저, 화상에 대한 화소값들의 비트열을 복호화한다(제400 단계). 특히, 화소당 비트수에 상응하여 조정된 양자화 변수에 따라, 화소값들의 비트열을 복화화하는 것을 특징으로 한다. 전술한 엔트로피 복호화부(200)의 비트열 복호화 과정이 제400 단계에서 수행된다.
제400 단계 후에, 사용자가 지정하는 양자화 변수를 조정하여 화상의 화소당 비트수에 상응하는 양자화 계수를 결정한다(제402 단계). 특히, 변경된 화소당 비트수에 따라 확장된 화소값의 범위를 이용하여 양자화 변수 값의 범위를 조정한다. 양자화 계수는 화소당 비트수의 변경에 무관하게 기존의 양자화 간격을 유지하도록 설정하는 것을 특징으로 한다. 이러한 양자화 변수값의 범위 조정과 화소당 비트수의 변경을 이용하여 양자화 계수를 새롭게 결정하게 되는데, 사용자에 의해 지정된 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하여 양자화 계수를 구한다.
제402 단계 후에, 결정된 양자화 계수에 따라, 복호화 된 화소값들을 역양자화한다(제404 단계). DC성분을 역양자화하거나, AC 성분의 균일 역양자화(uniform dequantizing)를 수행할 때, 전술한 수학식 6을 사용하여 양자화된 화소값들을 역양자화한다. 특히, 고주파수 영역의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 역양자화의 정밀도를 조정하기 위한 옵셋(offset)값을 사용해, 양자화된 화소값들을 역양자화하는 것을 특징으로 한다. AC 성분의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 전술한 수학식 7을 사용하여 엔트로피 복호화부(200)에서 복호화 된 화소값들을 역양자화한다.
제404 단계 후에, 역양자화된 화소값들을 역변환한다(제406 단계).
제406 단계 후에, 역변환 된 화소값들에 대한 시간상 예측된 화소값들을 보상한다(제408 단계).
이하, 본 발명에 의한 화상 데이터 부호화 장치에 대한 또 다른 실시예를 전술한 도 1을 참조하여 상세히 설명한다.
시간상 예측부(100)는 시간상 이전 블록을 이용하여 현재 블록의 화소값들을 시간상 예측하고, 예측한 결과를 변환부(110)로 출력한다.
변환부(110)는 화상의 화소값들을 주파수 영역으로 변환하고, 변환한 결과를 양자화 계수 결정부(120)로 출력한다.
양자화 계수 결정부(120)는 사용자가 지정하는 양자화 변수를 조정하여 화상 의 화소당 비트수에 상응하는 양자화 계수를 결정하고, 결정한 결과를 양자화부(130) 및 역양자화부(140)로 출력한다. 두번째 실시예에서, 양자화 계수 결정부(120)는 사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 곱하여 양자화 계수를 결정하는 것을 특징으로 한다. 이때, 양자화 계수 결정부(120)는 조정되기 이전의 양자화 변수에 의한 양자화 계수를 조정된 양자화 변수에 따라 선형적으로 사상함으로써, 변경된 화소당 비트수에 따른 양자화 계수를 결정하는 것을 특징으로 한다.
전술한 바와 같이, 입력 화상의 화소당 비트수가 8 비트 이상인 경우에도 부호화가 가능하도록 해 주기 위해서는 양자화 계수를 화소 당 비트수에 적응시키는 과정이 필요하다. 본 발명은 입력 영상의 화소 당 비트수가 N 비트라고 할 때, 양자화 계수의 값을 결정하기 위해 양자화 변수의 범위를 N에 따라 조정하는 방식을 사용한다. 특히, N 비트의 복호화된 영상을 확장된 비트에 해당하는 숫자 2(N-8) 로 나눌 때, 8비트의 복호화된 영상과 유사한 화질을 갖도록 양자화 간격을 조절한다. 즉, N=10일 경우 10비트의 복호화된 영상의 모든 화소를 2(10-8)=4로 나눈 영상은 8비트의 복호화된 영상과 화질이 비슷한 수준을 갖도록 한다. 이에 따라, 8비트의 양자화 변수가 1이라면, 이에 대응하는 10비트의 양자화 변수는 4가 되고, 8비트의 양자화 변수가 2라면, 이에 대응하는 10비트의 양자화 변수는 8이 되고, 8비트의 양자화 변수가 3이라면, 이에 대응하는 10비트의 양자화 변수는 12가 되고, 8비트의 양자화 변수가 4라면, 이에 대응하는 10비트의 양자화 변수는 16이 된다. 이때, 8비트의 양자화 변수와 대응되지 않는 10비트의 양자화 변수들은 1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15, ... 등과 같이 선형적으로 증가되도록 한다.
8 비트인 경우에 양자화 변수가 [1, 31]의 범위를 갖는다 할 때, 화소 당 비트수 N에 대한 양자화 변수의 최소값이 1인 경우, 양자화 변수의 최대값은 전술한 수학식 1에 의해 구해질 수 있다.
이 경우 화소 당 비트수 N에 대한 양자화 변수로부터 양자화 계수의 값을 결정할 때에 다음의 수학식들을 사용한다.
전술한 바와 같이, 양자화 계수 결정부(120)는 사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 곱하여 양자화 계수를 결정한다. 여기서, 확장된 화소값의 범위에 비례하는 값의 일 예로서 2(N-8)을 예시할 수 있는데, 확장된 화소값의 범위에 비례하는 값은 이러한 예에 한정되지는 않는다.
양자화 계수 결정부(120)는 다음의 수학식 8을 사용하여 저주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다. 저주파수 영역은 변환된 화소값들 중 DC 성분을 의미한다.
QP≤2×2(N-8) 일 때,
QS=QP×2,
QP≤5×2(N-8) 일 때,
QS=8×2(N-8),
QP가 전술한 범위 이외일 때,
QS=(QP/2)+6×2(N-8), 이다.
여기서, QS는 양자화 계수를 의미하고, QP는 사용자에 의해 지정되는 양자화 변수를 의미하고, N은 화소당 비트수를 의미한다.
또한, 양자화 계수 결정부(120)는 다음의 수학식 9를 사용하여 고주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다. 고주파수 영역은 변환된 화소값들 중 DC 성분을 제외한 AC 성분을 의미한다.
QS=QP×2
여기서, QS는 양자화 계수를 의미하고, QP는 사용자에 의해 지정되는 양자화 변수를 의미하고, N은 화소당 비트수를 의미한다.
양자화부(130)는 양자화 계수 결정부(120)에서 결정된 양자화 계수에 따라, 변환부(110)에서 변환된 화소값들을 양자화하고, 양자화 된 결과를 역양자화부(140) 및 엔트로피 부호화부(170)로 출력한다.
양자화부(130)는 DC성분을 양자화하거나, AC 성분의 균일 양자화(uniform quantizing)를 수행할 때, 전술한 수학식 4를 사용하여 화소값들을 양자화한다.
한편, 양자화부(130)는 고주파수 영역의 불균일 양자화(non-uniform quantizing)를 수행할 때, 양자화의 정밀도를 조정하기 위한 옵셋(offset)값을 상 기 변환부에서 변환된 화소값과 합산하여 상기 화소값들을 양자화하는 것을 특징으로 한다. 양자화부(130)는 AC 성분의 불균일 양자화(non-uniform quantizing)를 수행할 때, 다음의 수학식 10을 사용하여 화소값들을 양자화한다.
q=(c+{sign(c)×QP×r})/QS
여기서, q는 양자화된 화소값을 의미하고, c는 상기 변환부에서 변환된 화소값을 의미하고, QS는 양자화 계수로서 QS=QP×2를 의미하고, {sign(c)×QP×r}는 불균일 양자화를 위한 옵셋(offset)값을 의미한다. 이때, sign(c)은 c>0일 때, sign(c)=1이고, c=0일 때, sign(c)=0이고, c<0일 때, sign(c)=-1이고, r은 0≤r≤1 범위 내의 상수이다.
역양자화부(140)는 양자화 계수 결정부(120)에서 결정된 양자화 계수에 따라, 양자화부(130)에서 양자화된 화소값들을 역양자화하고, 역양자화 한 결과를 역변환부(150)로 출력한다.
역양자화부(140)는 DC성분을 역양자화하거나, AC 성분의 균일 역양자화(uniform dequantizing)를 수행할 때, 전술한 수학식 6을 사용하여 양자화된 화소값들을 역양자화하는 것을 특징으로 한다.
한편, 역양자화부(140)는 고주파수 영역의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 역양자화의 정밀도를 조정하기 위한 옵셋(offset)값을 사용해 상기 양자화된 화소값들을 역양자화하는 것을 특징으로 한다. 역양자화부(140)는 AC 성분의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 다 음의 수학식 11을 사용하여 양자화된 화소값들을 역양자화한다.
c′= q×QS + {sign(c)×QP}
여기서, c′는 역양자화 된 화소값을 의미하고, q는 양자화된 화소값을 의미하고, QS는 양자화 계수로서 QS=QP×2를 의미하고, {sign(c)×QP}는 불균일 역양자화를 위한 옵셋(offset)값을 의미한다.
역변환부(150)는 역양자화부(140)에서 역양자화된 화소값들을 역변환하고, 역변환한 결과를 시간상 예측 보상부(160)로 출력한다.
시간상 예측 보상부(160)는 시간상 예측부(100)에서 예측된 화소값들의 역변환된 화소값들을 보상한다.
엔트로피 부호화부(170)는 양자화부(130)에서 양자화 된 화소값들의 비트열을 생성한다.
엔트로피 부호화부(170)는 화소당 비트수에 상응하여 조정된 양자화 변수에 따라, 양자화된 화소값들의 비트열을 생성하는 것을 특징으로 한다.
엔트로피 부호화 및 복호화를 할 때에 양자화된 값들의 특성이 양자화 변수와 밀접하게 관계가 있기 때문에 VC-1에서는 DC 값을 부호화 할 때, 주변 블록의 DC 값을 사용하여 DPCM 부호화를 통해 차 값을 생성하고, 생성된 차의 절대값인 DC Differential과 부호값인 DC Sign을 생성한 후에 부호화를 한다.
본 발명에서의 화소당 비트수에 상응하여 조정된 양자화 변수에 따라 부호화하는 과정은 다음과 같다.
[부호화 과정]
if(DCDifferential != 0) {
if(QS≤4×2(N-8)) {
offset2 = N-8;
if(QS > 2×2(N-8)){
offset = offset1 = 1;
}
else{
offset = 2;
offset1 = 3;
}
DCDifferential2 = (DCDifferential2+offset1)>>offset;
if(DCDifferential2 does not present in VLC table) {
vlc_encode(ESCAPECODE);
flc_encode(DCDifferential, 8+offset+offset2);
else {
vlc_encode(DCDifferential2);
flc_encode(DCDifferential+offset1 - DCDifferential2<<offset,offset);
}
else {
if(DCDifferential does not present in VLC table){
vlc_encode(ESCAPECODE);
flc_encode(DCDifferential, 8);
}
else{
vlc_encode(DCDifferential);
}
flc_encode(DCSign, 1); // DCSIGN
}
else
vlc_encode(DCDifferential);
여기서, vlc_encode( symbol )은 symbol의 값을 미리 정해진 table을 참조하여 해당되는 코드(code)로 변환시키는 가변 길이 부호화(variable length coding)를 하고, flc_encode(symbol, num)은 symbol의 값을 num 개수 만큼의 비트로 고정 길이 부호화(fixed length coding)를 한다.
전술한 부호화 과정에서 보는 바와 같이, 종래와 달리 조정된 양자화 변수에 따라 부호화가 이루어짐을 확인할 수 있다.
이하, 본 발명에 의한 화상 데이터 복호화 장치에 대한 또 다른 실시예를 전 술한 도 2를 참조하여 상세히 설명한다.
엔트로피 복호화부(200)는 화상에 대한 화소값들의 비트열을 복호화하고, 복호화한 결과를 양자화 계수 결정부(210)로 출력한다.
한편, 엔트로피 복호화부(200)는 양자화 계수 결정부(210)에서 화소당 비트수에 상응하여 조정된 양자화 변수에 따라, 화소값들의 비트열을 복호화하고, 복호화한 결과를 역양자화부(220)로 출력한다.
엔트로피 복호화부(200)는 전술한 엔트로피 부호화부(170)의 역과정을 수행하는 것이다.
본 발명에서의 화소당 비트수에 상응하여 조정된 양자화 변수에 따라 복호화하는 과정은 다음과 같다.
[복호화 과정]
DCDifferential = vlc_decode( );
if(DCDifferential != 0) {
if(DCDifferential == ESCAPECODE) {
if(QS ≤ 2×2(N-8))
DCDifferential = flc_decode(2+N); // DCCOEF_ESC
else if (QS ≤ 4×2(N-8))
DCDifferential = flc_decode(1+N); // DCCOEF_ESC
else // QS > 4×2(N-8)
DCDifferential = flc_decode(8); // DCCOEF_ESC
}
else { // DCDifferential is not ESCAPECODE
if(QS ≤ 2×2(N-8))
DCDifferential = DCDifferential×4 + flc_decode(2) - 3;
else if (QS ≤ 4×2(N-8))
DCDifferential = DCDifferential×2 + flc_decode(1) - 1;
}
DCSign = flc_decode(1); // DCSIGN
if (DCSign == 1)
DCDifferential = -DCDifferential
}
전술한 복호화 과정에서 보는 바와 같이, 종래와 달리 조정된 양자화 변수에 따라 비트열에 대한 복호화가 이루어짐을 확인할 수 있다.
양자화 계수 결정부(210)는 사용자가 지정하는 양자화 변수를 조정하여 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하고, 결정한 결과를 역양자화부(220)로 출력한다. 양자화 계수 결정부(210)는 사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 곱하여 양자화 계수를 결정하는 것을 특징으로 한다. 이때, 양자화 계수 결정부(210)는 조정되기 이전의 양자화 변수에 의한 양자화 계수를 조정된 양자화 변수에 따라 선형적으로 사상함으로써, 변경된 화소당 비트수에 따른 양자화 계수를 결정하는 것을 특징으로 한다.
양자화 계수 결정부(210)는 전술한 수학식 8을 사용하여 저주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다. 또한, 양자화 계수 결정부(210)는 전술한 수학식 9를 사용하여 고주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다.
역양자화부(220)는 양자화 계수 결정부(210)에서 결정된 양자화 계수에 따라, 엔트로피 복호화부(200)에서 복호화 된 화소값들을 역양자화하고, 역양자화 결과를 역변환부(230)로 출력한다. 특히, 역양자화부(220)는 양자화 계수 결정부(210)에서 화소당 비트수에 상응하여 조정된 양자화 계수에 따라, 화소값들을 역양자화하는 것을 특징으로 한다.
역양자화부(220)는 DC성분을 역양자화하거나, AC 성분의 균일 역양자화(uniform dequantizing)를 수행할 때, 전술한 수학식 6을 사용하여 엔트로피 복호화부(200)에서 복호화 된 화소값들을 역양자화하는 것을 특징으로 한다.
한편, 역양자화부(220)는 AC 성분의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 전술한 수학식 11을 사용하여 엔트로피 복호화부(200)에서 복호화 된 화소값들을 역양자화하는 것을 특징으로 한다.
역변환부(230)는 역양자화부(220)에서 역양자화된 화소값들을 역변환하고, 역변환 한 결과를 시간상 예측 보상부(240)로 출력한다.
시간상 예측 보상부(240)는 역변환부(230)에서 역변환 된 화소값들에 대한 시간상 예측된 화소값들을 보상한다.
이하, 본 발명에 의한 화상 데이터 부호화 방법에 대한 또 다른 실시예를 전술한 도 3을 참조하여 설명한다.
먼저, 시간상 이전 블록을 이용하여 현재 블록의 화소값들을 시간상 예측한다(제300 단계).
제300 단계 후에, 시간상 예측된 화상의 화소값들을 주파수 영역으로 변환한다(제302 단계).
제302 단계 후에, 사용자가 지정하는 양자화 변수를 조정하여 화상의 화소당 비트수에 상응하는 양자화 계수를 결정한다(제304 단계). 특히, 제304 단계는 전술한 수학식 8을 사용하여 저주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다. 또한, 제304 단계는 전술한 수학식 9를 사용하여 고주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다.
제304 단계 후에, 결정된 양자화 계수에 따라, 변환된 화소값들을 양자화한다(제306 단계). 제306 단계는 DC성분을 양자화하거나, AC 성분의 균일 양자화(uniform quantizing)를 수행할 때, 전술한 수학식 4를 사용하여 화소값들을 양자화한다. 특히, 제306 단계는 AC 성분의 불균일 양자화(non-uniform quantizing)를 수행할 때, 전술한 수학식 10을 사용하여, 변환된 화소값들을 양자화하는 것을 특징으로 한다.
제306 단계 후에, 양자화 된 화소값들의 비트열을 생성한다(제308 단계). 특히, 화소당 비트수에 상응하여 조정된 양자화 변수에 따라, 양자화된 화소값들의 비트열을 생성하는 것을 특징으로 한다. 전술한 엔트로피 부호화부(170)의 양자화 된 화소값들에 대한 비트열 생성 과정이 제308 단계에서 수행된다.
이하, 본 발명에 의한 화상 데이터 복호화 방법에 대한 또 다른 실시예를 전술한 도 4를 참조하여 설명한다.
먼저, 화상에 대한 화소값들의 비트열을 복호화한다(제400 단계). 특히, 화소당 비트수에 상응하여 조정된 양자화 변수에 따라, 화소값들의 비트열을 복화화하는 것을 특징으로 한다. 전술한 엔트로피 복호화부(200)의 비트열 복호화 과정이 제400 단계에서 수행된다.
제400 단계 후에, 사용자가 지정하는 양자화 변수를 조정하여 화상의 화소당 비트수에 상응하는 양자화 계수를 결정한다(제402 단계). 특히, 전술한 수학식 8을 사용하여 저주파수 영역의 양자화 계수를 결정하는 것을 특징으로 하고, 전술한 수학식 9를 사용하여 고주파수 영역의 양자화 계수를 결정하는 것을 특징으로 한다.
제402 단계 후에, 결정된 양자화 계수에 따라, 복호화 된 화소값들을 역양자화한다(제404 단계). DC성분을 역양자화하거나, AC 성분의 균일 역양자화(uniform dequantizing)를 수행할 때, 전술한 수학식 6을 사용하여 양자화된 화소값들을 역양자화한다. 또한, AC 성분의 불균일 역양자화(non-uniform dequantizing)를 수행할 때, 전술한 수학식 11을 사용하여 복호화 된 화소값들을 역양자화하는 것을 특징으로 한다.
제404 단계 후에, 역양자화된 화소값들을 역변환한다(제406 단계).
제406 단계 후에, 역변환 된 화소값들에 대한 시간상 예측된 화소값들을 보 상한다(제408 단계).
한편, 상술한 본 발명의 화상 데이터의 부호화 및 복호화 방법은 컴퓨터에서 읽을 수 있는 코드/명령들(instructions)/프로그램으로 구현될 수 있고, 매체, 예를 들면 컴퓨터로 읽을 수 있는 기록 매체를 이용하여 상기 코드/명령들/프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는 마그네틱 저장 매체(예를 들어, 롬, 플로피 디스크, 하드디스크, 마그네틱 테이프 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장 매체를 포함한다. 또한, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 코드를 내장하는 매체(들)로서 구현되어, 네트워크를 통해 연결된 다수개의 컴퓨터 시스템들이 분배되어 처리 동작하도록 할 수 있다. 본 발명을 실현하는 기능적인 프로그램들, 코드들 및 코드 세그먼트(segment)들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 쉽게 추론될 수 있다.
이러한 본원 발명인 화상 데이터 부호화 및 복호화 장치 및 방법은 이해를 돕기 위하여 도면에 도시된 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위에 의해 정해져야 할 것이다.
본 발명에 의한 화상 데이터 부호화 및 복호화 장치 및 방법은 화소당 할당 된 비트수에 자동적으로 적응하여 양자화하도록 함으로써, 높은 압축 효율을 유지하면서도 고화질의 화상을 구현할 수 있는 효과가 있다.
또한, 본 발명에 의한 화상 데이터 부호화 및 복호화 장치 및 방법은 기존의 기술(예를 들어, VC-1 표준 기술)의 구조를 최대한 유지시키면서, 최소한의 변경만 을 통해 화소당 비트수에 적응적인 부호화 및 복호화를 수행할 수 있도록 하였다.

Claims (28)

  1. 화상의 화소값들을 주파수 영역으로 변환하는 변환부;
    사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하거나, 곱하여 상기 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하는 양자화 계수 결정부;
    상기 양자화 계수 결정부에서 결정된 양자화 계수에 따라, 상기 변환부에서 변환된 화소값들을 양자화하는 양자화부; 및
    상기 양자화 된 화소값들의 비트열을 생성하는 엔트로피 부호화부를 구비하는 것을 특징으로 하는 화상 데이터 부호화 장치.
  2. 제1항에 있어서, 상기 양자화 계수 결정부는
    변경된 화소당 비트수에 대응하여 확장된 화소값의 범위에 따라 양자화 변수의 범위를 조정하는 것을 특징으로 하는 화상 데이터 부호화 장치.
  3. 제2항에 있어서, 상기 양자화 계수 결정부는
    상기 조정된 양자화 변수의 범위를 사용하여 상기 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 부호화 장치.
  4. 제3항에 있어서, 상기 양자화 계수 결정부는
    기존의 화소당 비트수에 따른 양자화 간격을 유지하도록 상기 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 부호화 장치.
  5. 삭제
  6. 제4항에 있어서, 상기 양자화 계수 결정부는
    조정되기 이전의 양자화 변수에 의한 양자화 계수를 상기 조정된 양자화 변수에 따라 선형적으로 사상함으로써, 상기 변경된 화소당 비트수에 따른 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 부호화 장치.
  7. 화상에 대한 화소값들의 비트열을 복호화하는 엔트로피 복호화부;
    사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하거나, 곱하여 상기 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하는 양자화 계수 결정부;
    상기 양자화 계수 결정부에서 결정된 양자화 계수에 따라, 상기 엔트로피 복호화부에서 복호화 된 화소값들을 역양자화하는 역양자화부; 및
    상기 역양자화부에서 역양자화된 화소값들을 역변환하는 역변환부를 구비하는 것을 특징으로 하는 화상 데이터 복호화 장치.
  8. 제7항에 있어서, 상기 양자화 계수 결정부는
    변경된 화소당 비트수에 대응하여 확장된 화소값의 범위에 따라 양자화 변수의 범위를 조정하는 것을 특징으로 하는 화상 데이터 복호화 장치.
  9. 제8항에 있어서, 상기 양자화 계수 결정부는
    상기 조정된 양자화 변수의 범위를 사용하여 상기 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 복호화 장치.
  10. 제9항에 있어서, 상기 양자화 계수 결정부는
    기존의 화소당 비트수에 따른 양자화 간격을 유지하도록 상기 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 복호화 장치.
  11. 삭제
  12. 제10항에 있어서, 상기 양자화 계수 결정부는
    조정되기 이전의 양자화 변수에 의한 양자화 계수를 상기 조정된 양자화 변수에 따라 선형적으로 사상함으로써, 상기 변경된 화소당 비트수에 따른 양자화 계 수를 결정하는 것을 특징으로 하는 화상 데이터 복호화 장치.
  13. 제7항에 있어서, 상기 역양자화부는
    상기 양자화 계수 결정부에서 상기 화소당 비트수에 상응하여 조정된 양자화 계수에 따라, 상기 비트열을 복호화하는 것을 특징으로 하는 화상 데이터 복호화 장치.
  14. 화상의 화소값들을 주파수 영역으로 변환하는 단계;
    사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하거나, 곱하여 상기 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하는 단계;
    상기 결정된 양자화 계수에 따라, 상기 변환된 화소값들을 양자화하는 단계; 및
    상기 양자화 된 화소값들의 비트열을 생성하는 단계를 구비하는 것을 특징으로 하는 화상 데이터 부호화 방법.
  15. 제14항에 있어서, 상기 양자화 계수를 결정하는 단계는
    변경된 화소당 비트수에 대응하여 확장된 화소값의 범위에 따라 양자화 변수의 범위를 조정하는 것을 특징으로 하는 화상 데이터 부호화 방법.
  16. 제15항에 있어서, 상기 양자화 계수를 결정하는 단계는
    상기 조정된 양자화 변수의 범위를 사용하여 상기 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 부호화 방법.
  17. 제16항에 있어서, 상기 양자화 계수를 결정하는 단계는
    기존의 화소당 비트수에 따른 양자화 간격을 유지하도록 상기 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 부호화 방법.
  18. 삭제
  19. 제17항에 있어서, 상기 양자화 계수를 결정하는 단계는
    조정되기 이전의 양자화 변수에 의한 양자화 계수를 상기 조정된 양자화 변수에 따라 선형적으로 사상함으로써, 상기 변경된 화소당 비트수에 따른 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 부호화 방법.
  20. 제14항 내지 제17항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  21. 화상에 대한 화소값들의 비트열을 복호화하는 단계;
    사용자가 지정한 양자화 변수에 확장된 화소값의 범위에 비례하는 값을 더하거나, 곱하여 상기 화상의 화소당 비트수에 상응하는 양자화 계수를 결정하는 단계;
    상기 결정된 양자화 계수에 따라, 상기 복호화 된 화소값들을 역양자화하는 단계; 및
    상기 역양자화된 화소값들을 역변환하는 단계를 구비하는 것을 특징으로 하는 화상 데이터 복호화 방법.
  22. 제21항에 있어서, 상기 양자화 계수를 결정하는 단계는
    변경된 화소당 비트수에 대응하여 확장된 화소값의 범위에 따라 양자화 변수의 범위를 조정하는 것을 특징으로 하는 화상 데이터 복호화 방법.
  23. 제22항에 있어서, 상기 양자화 계수를 결정하는 단계는
    상기 조정된 양자화 변수의 범위를 사용하여 상기 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 복호화 방법.
  24. 제23항에 있어서, 상기 양자화 계수를 결정하는 단계는
    기존의 화소당 비트수에 따른 양자화 간격을 유지하도록 상기 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 복호화 방법.
  25. 삭제
  26. 제24항에 있어서, 상기 양자화 계수를 결정하는 단계는
    조정되기 이전의 양자화 변수에 의한 양자화 계수를 상기 조정된 양자화 변수에 따라 선형적으로 사상함으로써, 상기 변경된 화소당 비트수에 따른 양자화 계수를 결정하는 것을 특징으로 하는 화상 데이터 복호화 방법.
  27. 제21항에 있어서, 상기 역양자화하는 단계는
    상기 화소당 비트수에 상응하여 조정된 양자화 계수에 따라, 상기 비트열을 복호화하는 것을 특징으로 하는 화상 데이터 복호화 방법.
  28. 제21항 내지 제24항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020060063532A 2005-07-12 2006-07-06 화상 데이터 부호화 및 복호화 장치 및 방법 KR100813258B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2006/002744 WO2007027004A2 (en) 2005-07-12 2006-07-12 System, medium, and method encoding and/or decoding image data
US11/484,699 US7848586B2 (en) 2005-07-12 2006-07-12 System, medium, and method encoding and/or decoding image data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050062932 2005-07-12
KR20050062932 2005-07-12

Publications (2)

Publication Number Publication Date
KR20070008401A KR20070008401A (ko) 2007-01-17
KR100813258B1 true KR100813258B1 (ko) 2008-03-13

Family

ID=38010607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060063532A KR100813258B1 (ko) 2005-07-12 2006-07-06 화상 데이터 부호화 및 복호화 장치 및 방법

Country Status (3)

Country Link
US (1) US7848586B2 (ko)
KR (1) KR100813258B1 (ko)
WO (1) WO2007027004A2 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288453B2 (en) * 2011-04-22 2016-03-15 Thomson Licensing Method and device for lossy encoding data and corresponding device for reconstructing data
KR101874100B1 (ko) * 2011-12-02 2018-07-04 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US10194147B2 (en) * 2017-01-19 2019-01-29 Google Llc DC coefficient sign coding scheme
US11190810B2 (en) 2018-01-26 2021-11-30 Samsung Electronics Co., Ltd. Device and method for compressing image data using quantization parameter and entropy tables
KR20200065367A (ko) 2018-11-30 2020-06-09 삼성전자주식회사 이미지 처리 장치 및 프레임 버퍼 컴프레서

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107682A1 (en) 2002-06-14 2003-12-24 Koninklijke Philips Electronics N.V. A method and system for optimizing image sharpness during coding
KR20040061048A (ko) * 2002-12-30 2004-07-07 에스케이 텔레콤주식회사 적응적 양자기 선택방법
KR20040076034A (ko) * 2003-02-24 2004-08-31 삼성전자주식회사 동 영상의 가변 비트율 부호화 방법 및 장치

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5115309A (en) * 1990-09-10 1992-05-19 At&T Bell Laboratories Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders
KR100287624B1 (ko) 1992-09-28 2001-04-16 야스카와 히데아키 화상데이타의압축,해제방법및그장치
AU698055B2 (en) 1994-07-14 1998-10-22 Johnson-Grace Company Method and apparatus for compressing images
KR0170937B1 (ko) * 1994-12-14 1999-03-20 배순훈 영상 데이타 부호화 장치
JP3170193B2 (ja) 1995-03-16 2001-05-28 松下電器産業株式会社 画像信号の符号化装置及び復号装置
JPH1079940A (ja) 1996-09-05 1998-03-24 Mitsubishi Electric Corp 画像符号化装置
KR100303054B1 (ko) 1997-02-08 2001-09-24 모리시타 요이찌 정지영상과동영상부호화를위한양자화매트릭스
US6111991A (en) * 1998-01-16 2000-08-29 Sharp Laboratories Of America Method and apparatus for optimizing quantizer values in an image encoder
US6532262B1 (en) * 1998-07-22 2003-03-11 Matsushita Electric Industrial Co., Ltd. Coding method and apparatus and recorder
GB2346282B (en) * 1999-01-28 2003-02-19 Snell & Wilcox Ltd Bit rate control in compression encoding
US6738423B1 (en) 2000-01-21 2004-05-18 Nokia Mobile Phones Ltd. Method for encoding and decoding video information, a motion compensated video encoder and a corresponding decoder
US6501739B1 (en) * 2000-05-25 2002-12-31 Remoteability, Inc. Participant-controlled conference calling system
US7295609B2 (en) * 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
US7130876B2 (en) 2001-11-30 2006-10-31 General Instrument Corporation Systems and methods for efficient quantization
US6763068B2 (en) 2001-12-28 2004-07-13 Nokia Corporation Method and apparatus for selecting macroblock quantization parameters in a video encoder
JP4462823B2 (ja) 2002-11-20 2010-05-12 ソニー株式会社 画像信号の処理装置および処理方法、それに使用される係数データの生成装置および生成方法、並びに各方法を実行するためのプログラム
US7403561B2 (en) * 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US7580584B2 (en) 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US7492820B2 (en) * 2004-02-06 2009-02-17 Apple Inc. Rate control for video coder employing adaptive linear regression bits modeling
US8045614B2 (en) * 2005-05-11 2011-10-25 Dolby Laboratories Licensing Corporation Quantization control for variable bit depth
US7499592B2 (en) 2004-06-15 2009-03-03 Canon Kabushiki Kaisha Image decoding apparatus and its control method
JP2008507206A (ja) * 2004-07-13 2008-03-06 ドルビー・ラボラトリーズ・ライセンシング・コーポレーション 画像圧縮のための不遍丸め
US20070147510A1 (en) 2005-12-27 2007-06-28 Islam Asad Method and module for altering color space parameters of video data stream in compressed domain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003107682A1 (en) 2002-06-14 2003-12-24 Koninklijke Philips Electronics N.V. A method and system for optimizing image sharpness during coding
KR20040061048A (ko) * 2002-12-30 2004-07-07 에스케이 텔레콤주식회사 적응적 양자기 선택방법
KR20040076034A (ko) * 2003-02-24 2004-08-31 삼성전자주식회사 동 영상의 가변 비트율 부호화 방법 및 장치

Also Published As

Publication number Publication date
WO2007027004A2 (en) 2007-03-08
US20070019871A1 (en) 2007-01-25
KR20070008401A (ko) 2007-01-17
US7848586B2 (en) 2010-12-07

Similar Documents

Publication Publication Date Title
KR100850705B1 (ko) 시공간적 복잡도를 고려한 적응적 동영상 부호화 방법 및그 장치
US7680346B2 (en) Method and apparatus for encoding image and method and apparatus for decoding image using human visual characteristics
US7457471B2 (en) Method of adaptively encoding and decoding motion image and apparatus therefor
US20140307781A1 (en) Methods and devices for data compression using offset-based adaptive reconstruction levels
WO2012042646A1 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
EP1860886A1 (en) Encoding device and dynamic image recording system having the encoding device
JP2008523687A (ja) ファイングラニュラースケーラビリティのためのデジタルビデオのリアルタイムトランスコーディングのシステム及び方法
JP2008526072A (ja) スケーラブル符号化
KR101366086B1 (ko) 잔차 블록의 계수들에 대한 부호화 결정 방법, 장치,인코더 및 디코더
KR20020026198A (ko) 비디오 압축
RU2689327C1 (ru) Способ и устройство для определения набора опорных картинок изображения
KR20070115552A (ko) 양자화 파라미터가 확장된 N bit 영상 데이터부호화/복호화 방법 및 장치
KR100813258B1 (ko) 화상 데이터 부호화 및 복호화 장치 및 방법
US6775325B1 (en) Method and apparatus for converting the bitrate of an encoded bitstream without full re-encoding
KR101450645B1 (ko) 비디오 비트율 제어 방법 및 장치
KR101045205B1 (ko) 화상 데이터 부호화 및 복호화 장치 및 방법
KR20090090152A (ko) 영상의 부호화, 복호화 방법 및 장치
JPH10108184A (ja) 画像データ処理装置およびその方法
KR20040079084A (ko) 시간적 복잡도를 고려한 적응적 동영상 부호화와 그 장치
KR20070033363A (ko) 처리할 데이터 부분들이 선택되는 비디오 트랜스코딩
JP2006060836A (ja) 画像符号のトランスコーダ及び画像符号のトランスコーディング方法
US20150365673A1 (en) Video Decoder with Reduced Dynamic Range Transform with Inverse Transform Clipping
KR101088374B1 (ko) 화상 데이터 부호화 및 복호화 장치 및 방법
KR20030083109A (ko) 비트율 변환부호화장치
KR100932727B1 (ko) 비디오 스트림 전환 장치 및 방법

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130227

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140227

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160226

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170224

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee