1. 예측 부호화
영상과 같은 신호는 시간적, 공간적으로 인접한 신호가 현재의 신호와 밀접한 상관관계가 있다.
이러한 점을 이용하여 실제로 전달할 신호의 에너지를 크게 줄일 수 있도록 하는 방법이 예측 부호화이다. 이 절에서는 예측 부호화의 전반적 처리 흐름을 중심으로 동작 원리를 학습하고자 한다.
1.1 예측 부호화 개요
□ 예측 부호화기는 부호화하려는 신호 f(t)의 예측 신호인 ~f (t )를 예측기를 통해 구한다. 그 다음 원래 신호 f(t)와 예측신호 ~f (t )의 차인 e(t)를 구한다. 일반적으로 예측오차 e(t)에 대해 양자화와 같은 손실 부호화를 거쳐 전송할 신호 i(t)가 만들어진다.
□ 복호기는 신호 i(t)를 전달받아 손실 부호화에 대한 복호화를 한다. 그 결과 얻게 되는 것은 원래의 예측오차 e(t)가 아니라 약간의 손실이 발생한 예측오차 ^e (t )가 된다. 이 예측오차를 이용하여 현재 화면을 복원하므로, 이 때 복원되는 신호는 원래의 신호 f(t)가 아니라 오차가 포함된 신호 ^f (t )이다. 그리고 이 신호를 기준신호로 사용하여 다음 신호를 예측하게 된다.
□ 그러므로 부호기에서도 복호기와 동일한 방법으로 기준신호를 얻은 다음, 이 신호로부터 예측 신호를 구해야 한다. 그렇지 않으면 오차가 누적되어 시간이 갈수록 신호가 왜곡되는 문제가 발생한다.
□ 비디오 신호에 대해서는 시간적 예측 부호화가 이루어질 수도 있고, 공간적인 예측 부호화가 이루어질 수도 있다.
1.2 화면 간 예측 부호화
□ 비디오 신호에 대한 시간적 예측 부호화는 이전에 전송된 프레임을 기준으로 현재 프레임에 대한 예측 데이터를 생성하는 것으로, 움직임 보상 예측 부호화가 이에 해당된다.
□ 움직임 보상 예측 부호화의 경우도 부호기 안에 복호기 모듈이 포함되어 부호기와 복호기가 동일한 기준프레임을 이용하여 움직임 보상이 이루어지도록 한다.
□ 예측기 내에는 움직임 보상의 기준프레임을 저장하기 위한 버퍼를 가지고 있다. 이 그림의 예에서는 버퍼 안에 복원된 직전화면을 보관하고 있는 것으로 표현하고 있으나, 직전화면이 기준프레임으로 사용되어야만 하는 것은 아니다.
1.3 화면 내 예측 부호화
□ 예측 부호화는 한 화면 내의 데이터에 대해서도 이루어질 수 있다. 이 방법에서는 화면 내의 이전 픽셀들로부터 현재의 픽셀 값을 예측한다. 화면 내 예측 부호화는 H.264 화면 내 부호화의 주요 요소이다.
□ 이러한 화면 내에서의 공간적 예측은 종종 ‘Differential Pulse Code Modulation(DPCM)’이라고 표현된다.
□ 공간적 예측의 예 - 픽셀 X의 부호화 및 복호화 (그림3)
(1) 인코더 측
▷ 픽셀 X의 주변에 있는, 이미 전송한 픽셀들의 값을 기준으로 하여 X의 값을 예측한다.
P(X) = (2A' + B' + C') / 4
¤ 손실 부호화를 사용할 경우 복호기 측에서는 부호기 측에서의 원래의 값을 그대로 전달받지 못하므로, 원 화면의 픽셀 값 A, B, C를 이용하여 예측할 경우 오차가 누적되는 문제가 있다. 그러므로 부호기에서는 복호기를 포함하도록 설계함으로써, 기 전송 픽셀들을 복호화한 값인 A', B', C'을 사용하여 X를 예측하도록 한다.
▷ 원래의 픽셀 값과 예측한 픽셀 값의 차인 R(X)를 구한다.
R(X) = X - P(X)
▷ R(X)를 양자화하여 전송한다.
(2) 디코더 측
▷ 인코더와 동일한 방법으로 픽셀 X를 예측한다.
P(X) = (2A' + B' + C') / 4
▷ 전송 받은 오차 값을 역 양자화 하여 R'(X)를 구한 후, 이를 P(X)에 더하여 픽셀을 복원한다.
X' = R'(X) + P(X)
□ 예측기의 성능이 부호화 효율에 영향을 미친다.
▷ 예측기의 정확도가 높다면 예측 오차의 에너지가 낮아져서 더 적은 비트 수로 오차를 표현할 수 있다.
▷ 예측기의 정확도를 높이기 위해 화면의 통계적 특성(예: 단순한 영역, 수직 성분이 강한 영역, 수평 성분이 강한 영역 등)에 따라 적절한 예측기를 선택하도록 할 수 있다. 대신 선택된 예측기를 알리기 위한 추가 비트가 필요하다.
2.1 개요
□ 영상 내의 픽셀들은 인접 픽셀들과 상관관계가 높다. 상관관계가 높다는 것은 정보가 중복되어 있다는 것을 의미하며, 이를 표현하는 데 소요되는 비트 수가 필요한 양보다 많다는 것을 의미한다.
□ 만일 표현하고자 하는 값의 공간을 상관관계가 낮은 성분으로 구성된 새로운 공간으로 변환할 수 있다면 보다 효과적인 부호화를 할 수 있다.
□ 예 : (그림4)
▷ 인접 픽셀은 서로 상관관계가 높다.
▷ 좌표계 변환을 통해 축이 45도씩 회전한 새로운 좌표계를 얻는다면, 새로운 좌표계 내에서 각각의 좌표들의 상관관계는 크게 줄어든다.
▷ 새로운 좌표계 내에서 에너지는 u'에 집중된다.
□ 영상 부호화에 사용할 변환은 다음 기준을 만족해야 한다.
① 변환 영역의 데이터는 상관관계가 최소화 되어야 하고(비 상관화), 데이터가 밀집되어 있어야 한다(에너지 집중)
② 역 변환이 가능해야 한다.
③ 계산이 용이해야 한다.
□ 영상 변환기법의 종류
① 블록 기반 변환
▷ 주어진 영상을 N×N 크기의 블록으로 분할하여 변환을 한다.
▷ Karhunen-Loeve Transform(KLT), Discrete Cosine Transform(DCT) 등의 변환을 사용한다.
▷ 부호기가 복호기에 변환 계수를 완전하게 전달하지 않으면 복원된 영상에서 블록화 현상이 발생할 수 있다.
② 이미지 기반 변환
▷ 한 장의 영상 전체에 대해 변환을 한다.
▷ Discrete Wavelet Transform(DWT)
¤ 정지영상 변환에서 블록 기반 변환에 비해 성능이 우수한 것으로 입증되었다.
¤ 메모리 소요량이 많고, 블록기반 움직임 보상과 잘 조화되지 않는다.
▷ KLT, DCT 등도 이미지 기반 변환을 할 수 있지만, TV 영상과 같이 큰 화면을 한꺼번에 변환하는 것은 너무 많은 시간이 소비되므로 비현실적이다.
2.2 DCT
□ Discrete Cosine Transform
□ 영상 부호화 표준에서 일반적으로 사용되고 있는 변환이다.
□ 유한한 개수로 이루어진 1차원 입력 데이터 {x(n), 0≤n≤N-1}에 대한 1차원 DCT와 역DCT는 다음과 같이 정의된다.
{y(k), 0≤k≤N-1}은 변환 계수이다.
□ 이러한 1차원 DCT는 영상과 같은 2차원 신호에 확장되어 적용될 수 있다 . □ N×N 샘플로 구성된 블록 X에 대한 2차원 DCT는 다음과 같다. 여기에서 Y는 계수 행렬이다 .
▷ 순방향 DCT
Y = AXA T
▷ 역방향 DCT
X = A T YA
▷ 변환행렬 A는 다음과 같다.
□ 예 : N=4인 경우의 변환행렬 A
□ 2차원 DCT의 기본 패턴 (그림5)
▷ 각각의 패턴은 N×N DCT 계수들 중 해당 위치의 계수만 1이고, 나머지는 모두 0으로 지정한 후 이를 역변환한 것이다.
▷ (0, 0) 위치의 계수에 대한 패턴은 전 영역에 걸쳐 균일한 값이다.
▷ (0, 1) 위치의 계수에 대한 패턴은 세로축 방향으로는 변화가 없고, 가로축 방향으로 변화하는 픽셀 값들로 나타나는 것을 볼 수 있다. 또한 우측 계수로 갈수록 그 변화 주기가 짧아지는 것을 볼 수 있다.
▷ 반면 (1, 0) 위치의 계수는 가로축 방향으로는 일정하고, 세로축 방향으로 변화하는 픽셀 값들로 구성되는 패턴이며, 아래의 계수로 갈수록 그 변화 주기가 짧아지는 것을 볼 수 있다.
▷ 이처럼 2차원 DCT 계수는 (0, 0) 위치를 기준으로 우측에 있는 것일수록 가로축 방향의 변화를, 아래에 있는 것일수록 세로축 방향의 변화를 표현한다고 볼 수 있으며, 대각선 방향의 계수는 복합적인 변화를 나타내게 된다.
▷ 따라서 2차원 DCT는 주어진 영상 블록을 이러한 패턴의 가중치 합으로 표현하는 것이며, 각각의 가중치들이 DCT 계수인 것이라고 개념적 이해를 할 수 있다.
□ DCT 및 역DCT의 사례
▷ 4×4 블록의 DCT 결과 (그림6)
▷ 역 DCT (Inverse DCT, IDCT)
¤ DC 계수((0,0) 위치의 1개의 계수) 1개만 남겨두고 나머지 계수를 모두 0으로 지운 다음 역변환하면 모든 픽셀의 값이 같은 것을 볼 수 있다. 또한 그 값은 원래 블록의 픽셀 값들의 평균이다. 그래서 이 (0, 0) 위치의 계수를 DC 계수라고 부르는 것이며, 나머지 계수는 AC 계수라고 부른다. (DC 계수는 블록의 전반적인 값(평균값)이며, AC 계수는 이 평균값을 기준으로 변화 성분을 표현한다고 보면 된다.)
¤ DC 계수와 함께 가장 크기가 큰 (0, 1) 위치의 계수를 포함하여 역 DCT를 구하면 DC 계수만을 사용하여 복원된 평균값을 기준으로 수직 방향의 변화를 반영하고 있는 것을 볼 수 있다.
¤ 사용하는 계수의 수를 늘이면 점차 원래의 4×4 블록의 모양으로 접근해 가며, 모든 계수를 다 사용하면 원래의 블록이 복원된다.
2.3 웨이블릿 변환
□ 개념
▷ 웨이블릿 변환(wavelet transform)은 이산 웨이블릿 함수에 해당되는 계수 값을 갖는 필터들의 집합에 기반을 두고 있다.
▷ 변환을 하고자 하는 N개의 값으로 구성된 신호에 대해 한 쌍의 필터를 적용한다. 하나의 필터는 저역통과 필터(low pass filter)의 역할을 하는 필터이고, 다른 하나는 고역통과 필터(high pass filter)의 역할을 하는 필터이다.
▷ 이러한 필터를 통과한 신호는 저역 통과된 저주파 대역(L)과 고역 통과된 고주파 대역(H)으로 분리된다. 분리된 두 신호는 전체 대역폭의 반에 해당되는 대역의 성분만 포함되어 있으므로, N/2개의 값으로 다운 샘플링(down-sampling)한다.
□ 2차원 영상에 대한 적용
▷ N×N 2차원 영상에 대해 행 단위로 저역통과 필터와 고역통과 필터를 취하여 얻은 두 영상을 각각 행 방향으로 다운 샘플링하여 두 장의 (N/2)×N 영상을 구한다. 이 두 영상에 대해 동일한 과정을 열 단위로 수행하면 4장의 서브 이미지(LL, LH, HL, HH)로 분해된다.
¤ LL 영상 : 원본 영상에 수평과 수직 방향으로 저역통과 필터를 적용하여 행 및 열에 대해 인수 2로 다운 샘플링한 영상
¤ LH 영상 : 수평방향으로 저역통과 필터, 수직방향으로 고역통과 필터를 적용하여 행 및 열에 대해 인수 2로 다운 샘플링한 영상
¤ HL 영상 : 수평방향으로 고역통과 필터, 수직방향으로 저역통과 필터를 적용하여 행 및 열에 대해 인수 2로 다운 샘플링한 영상
¤ HH 영상 : 수평과 수직 방향으로 고역통과 필터를 적용하여 행 및 열에 대해 인수 2로 다운 샘플링한 영상
□ 영상 부호화에서의 활용
▷ 부호기
¤ 다단계에 걸쳐 웨이블릿 분리과정을 수행한다.
¤ 1단계 웨이블릿 분리 결과 중 LL 영상을 다시 행/열방향 저역/고역통과 필터 및 다운 샘플링을 통해4장의 영상(LL-LL, LL-LH, LL-HL, LL-HH)으로 분리한다.
¤ 이 과정을 반복하면 계층적인 서브밴드 영상 트리를 생성할 수 있다.
¤ 높은 주파수의 서브밴드 영상 중 많은 샘플(계수)들이 0에 가까운 값에 해당되므로, 이와 같은 중요하지 않은 계수들을 제거함으로써 압축을 수행할 수 있다.
▷ 복호기
¤ 반복적인 업 샘플링(up-sampling)과 필터링, 덧셈을 통해 원본 영상을 복원한다.
¤ 낮은 주파수의 서브밴드부터 복원해 나감에 따라 점차 높은 주파수 밴드에 해당되는 세밀한 부분이 더해져 점진적으로 원본 영상이 복원된다.
¤ 이와 같은 부호화와 복호화 과정은 영상을 블록 단위로 분할하여 변환하는 방법과는 달리 전체 영상을 대상으로 수행되므로, 블록화 현상이 발생하지 않는다.
3. 양자화
디지털 신호에 대한 양자화는 어떠한 범위의 값들을 그룹화하여 하나의 값으로 표현함으로써 보다 적은 수의 비트로 표현하는 것이다. 이러한 과정을 통해 원본 데이터를 더 작은 크기로 압축할 수 있으나, 양자화에 따른 오차가 발생된다. 이 절에서는 하나 하나의 입력 샘플을 양자화된 값으로 대체하는 스칼라 양자화와, 하나의 입력 샘플 그룹(벡터)을 양자화된 그룹으로 대체하는 벡터 양자화의 개념을 학습한다.
3.1 스칼라 양자화
□ N 레벨 스칼라 양자화기(scalar quantizer)는 입력 신호의 값을 N개의 구간으로 나누어 각 구간을 대표하는 값으로 대체한다.
□ 다음은 양자화 단계가 선형으로 변환되도록 설정된 선형 양자화 및 역 양자화이다.
▷ 양자화
▷ 역 양자화
▷ 예 : QP에 따른 양자화기 입력과 역 양자화기 출력의 관계
□ 비선형 양자화
▷ 입력과 출력의 관계가 선형이 아닌 양자화
▷ 예 : 0의 주위로 ‘dead zone’을 갖는 비선형 양자화 (그림12)
¤ 작은 입력을 0으로 대체하는 효과가 있다.
□ 영상 및 비디오 코덱에서의 양자화
▷ 영상 및 비디오 코덱에는 양자화기(순방향 양자화기, forward quantizer, FQ)와 역 양자화기 (역방향 양자화기, inverse quantizer, IQ)가 포함된다.
▷ 양자화는 복구할 수 없는 오차를 발생시킨다. 즉, 어떠한 값을 양자화 한 후 이를 다시 역양자화 하면 두 값 사이에는 대부분 차이가 발생할 수 있는데, 이를 양자화 오차라고 한다.
양자화 스텝이 크면 양자화기가 출력할 수 있는 값들의 수가 적으므로 더 적은 수의 비트로 데이터를 표현할 수 있다. 그러나 양자화 오차가 커져 원래 신호와의 차이가 커지므로, 적절한 절충이 필요하다.
▷ MPEG과 같은 비디오 부호화 표준에서는 DCT 계수를 양자화 함으로써 전송할 비트량을 감소시킨다.
3.2 벡터 양자화
□ 벡터 양자화(vector quantization)는 하나 하나의 데이터에 대해 양자화를 하는 것이 아니라, 여러 개의 값의 그룹에 대해 양자화를 한다.
□ 영상의 경우 일정한 크기의 영상 블록을 대상으로 양자화를 한다.
□ 벡터 양자화기의 부호기와 복호기는 동일한 코드북을 가지고 있다. 코드북은 영상을 표현하는데 있어서 나타날 수 있는 벡터(즉, 블록)들의 표를 가지고 있다. 이를 이용하여 영상을 벡터 양자화 하는 과정은 다음과 같다. (그림13)
① 원본 영상을 여러 개의 미리 정한 크기의 영역으로 분할한다.
② 부호기는 각각의 블록과 코드북 내의 블록들을 비교하여 가장 근사하게 정합되는 벡터를 선택한다.
③ 선택된 코드북 벡터를 나타내는 인덱스를 전송한다.
④ 복호기는 전달받은 인덱스를 이용하여 코드북 검색을 함으로써 해당 블록의 근사값을 제시 한다.
□ 코드북은 표본 블록들의 집합으로부터 학습을 통해 만들어 낸다. 적절한 코드북 설계와 코드북에서 최적의 벡터를 효율적으로 탐색하는 것이 벡터 양자화기의 성능을 좌우한다.
4. 양자화된 변환계수의 순서 재배치
DCT나 웨이블릿 부호화를 한 결과 얻게 되는 변환계수는 양자화를 거쳐 엔트로피 인코딩을 통해 최종적으로 압축한다. 그런데 양자화를 거치게 되면 고주파 성분의 상당 부분이 0의 값을 갖게 되는데 이 계수들이 흩어져 있는 것 보다는 최대한 한 곳에 몰려 있는 것이 더 효과적인 부호화를 할 수 있다. 그러므로 엔트로피 인코딩을 하기 전에 먼저 계수들을 재배치하여 0 값을 갖는 계수들이 모여 있도록 하는 과정을 거친다. 이 절에서는 이와 같은 재배치에 대하여 살펴본다.
4.1 DCT 계수의 재배치
(1) 계수의 분포
□ 일반적으로 DCT 계수 블록에서 큰 값이 존재하는 곳은 DC 계수인 (0, 0)과 그 위치 주위에 있는 저주파에 해당되는 곳이다.
□ [그림14] : 0이 아닌 DCT 계수가 분포하는 확률
▷ 순차주사방식에서 오차 프레임에 대한 8×8 DCT 계수의 경우 (0, 0) 위치의 DC 계수를 중심으로 수평 및 수직 주파수 영역으로 멀어질수록 낮은 확률을 보이고 있다.
▷ 반면 2:1 비월주사의 경우는 영상을 상하로 1/2 크기만큼 압축하여 놓은 형태이므로 수직방향의 변화가 수평방향 변화에 비해 고주파 영역에서 더 크게 나타날 가능성이 높은 것을 볼 수 있다.
(2) 계수의 주사
□ 이러한 계수 분포 확률에 근거하여 DCT 변환 계수를 지그재그 주사함으로써, 계수값들을 나열 하였을 때 0인 계수가 뒤쪽으로 모이도록 한다.
▷ 순차주사의 경우 : DC 계수로부터 지그재그 순으로 저주파에서 고주파 순으로 나열한다.
▷ 2:1 비월주사의 경우 : 수직 공간주파수 영역에서 0이 아닌 계수가 존재할 확률이 높으므로 이를 고려한 주사를 한다. (그림은 MPEG-2의 예)
(3) Run-Level 부호화
□ 재배열되어 나열된 계수들을 부호화하는 과정에서, 0인 계수들이 연속될 때 이를 효과적으로 표현하기 위한 방법이다.
□ 2차원 run-level 부호화
▷ 0이 아닌 계수들만을 부호화한다.
▷ (run, level)의 연속으로 표현한다. run은 0이 아닌 계수가 나왔을 때 그 앞에 있는 0인 계수의 수이다.
□ 3차원 run-level 부호화
▷ 계수 열의 뒷부분이 연속되는 0으로 끝나는 경우 이를 쉽게 표현하기 위한 방법이다.
▷ (run, level, last)의 연속으로 표현하며, last는 현재 부호화하는 계수 다음부터 계수가 모두 0일때 1, 그렇지 않은 경우 0인 한 비트의 값이다.
4.2 웨이블릿 계수의 재배치
□ 웨이블릿 계수는 고주파의 서브밴드로 갈수록 많은 계수가 0에 가까우며, 이러한 계수는 화질의 큰 손실 없이 0으로 양자화 될 수 있다.
□ 0이 아닌 계수는 이미지 구조에 대응하는 경향이 있다.
▷ 저주파 서브밴드의 계수가 0이 아닐 때 고주파 서브밴드 내의 이 계수 위치에 대응하는 지점의 값 또한 0이 아닐 확률이 높다. 역으로 어떠한 저주파 서브밴드에 0인 계수가 존재할 경우 이 계수의 위치에 대응하는 고주파 계수 위치에 0인 계수가 존재할 가능성이 높다.
▷ 예 : [그림18]
¤ 레이어1에 존재하는 모자의 뒷 부분에 있는 수평방향의 변화는 레이어2에서도 존재할 가능성이 높다. (레이어2에서 해당 위치는 레이어1의 2배 크기의 영역이다.)
¤ 동일한 위치에 대해 LH나 HH 서브밴드에서는 작은 계수만 존재한다.
□ 이와 같은 특성을 이용하여 저주파 서브밴드의 뿌리에서 시작하는 트리 형태로 계수들을 배열하여 부호화 한다. 레이어1의 하나의 계수 위치는 레이어2의 서브밴드에서 네 개의 하위계수에 대응한다.
□ 웨이블릿 계수들을 나열하여 부호화하는 대표적인 방법의 예인 EZW(embedded zerotree wavelet coding)는 이와 같은 트리 구조 특성을 이용한다.
정리하기
1. 요약정리
□ 예측 부호화
▷ 예측 부호화기는 부호화하려는 신호 f(t)의 예측 신호인 ~f (t )를 예측기를 통해 구한다.
▷ 복호기에 전달하는 값은 원본 신호와 예측 신호의 차에 해당되는 예측 오차이다.
▷ 복호기에 전달되는 예측 오차 신호가 완전하게 전달되지 않는 손실 부호화의 경우 부호기에는 복호기의 모듈의 포함되어야 오차 누적을 막을 수 있다.
▷ 화면간 예측 부호화의 경우 예측기에는 기준 프레임을 저장하기 위한 버퍼가 있어야 한다.
▷ 예측기의 정확도가 높다면 예측 오차의 에너지가 낮아져서 더 적은 비트 수로 오차를 표현할 수 있다.
□ 변환 부호화
▷ 변환 영역에서 데이터의 상관관계가 최소화 되고, 데이터가 밀집되어 에너지가 집중되는 변환을 사용한다.
▷ 영상을 N×N 크기의 블록으로 분할하여 변환을 하는 블록 기반 변환과, 한 장의 영상 전체에 대해 변환을 하는 이미지 기반 변환이 있다.
▷ DCT는 영상 부호화 표준에서 일반적으로 사용되는 변환이다. 2차원 DCT 변환계수들 중 (0,0) 위치의 계수는 블록 전반에 걸친 평균값과 관련된 요소이며, 이 계수를 기준으로 우측의 계수들은 수평 방향의 값의 변화, 아래의 계수들은 수직 방향의 값의 변화와 관련된다.
▷ 영상 부호화에 DCT를 적용할 경우 일반적으로 블록 기반 부호화를 한다. (0, 0) 위치의 변환계수인 DC 계수만을 이용하여 IDCT를 하면 각 블록의 평균값들로 구성된 블록들로 표현된 영상을 얻게 되며, 계수를 더 포함시킬수록 원 영상에 더욱 근사한 영상을 얻게 된다.
▷ 웨이블릿 변환은 이산 웨이블릿 함수에 해당되는 계수 값을 갖는 필터들의 집합을 사용하여 입력 신호를 저주파 대역 신호와 고주파 대역 신호로 분리하는 과정을 반복한다. 웨이블릿 합성 과정은 저주파 대역의 흐릿한 영상에 고주파 대역의 세밀한 성분이 합쳐져 보다 향상된 영상을 만들어 내는 과정이 반복된다.
□ 양자화
▷ 스칼라 양자화는 디지털 신호를 구성하는 하나 하나의 값들에 대해 양자화를 하는 것으로, 입력 신호의 값을 N개의 구간으로 나누어 각 구간을 대표하는 값으로 대체한다.
▷ 영상 압축 표준에서는 DCT 계수를 스칼라 양자화를 하여 전송할 비트량을 감소시킨다.
▷ 벡터 양자화는 여러 개의 값의 그룹(일반적으로 정해진 크기의 직사각형 블록)에 대해 양자화를 한다. 일반적인 영상을 잘 표현할 수 있는 벡터들로 구성된 코드북이 코덱에 포함되며, 입력 블록과 가장 잘 정합되는 코드북 내의 벡터에 대한 인덱스를 전송하는 방식을 사용한다.
▷ 양자화는 양자화 오차를 발생시키며, 이 오차는 복원할 수 없다. 그러므로 양자화를 포함하는 부호화는 손실 부호화가 된다.
□ 양자화 계수의 재배치
▷ 엔트로피 부호화 단계로 넘어가기 전에 보다 효과적인 부호화를 할 수 있도록 하기 위해 변환 계수를 재배치한다.
▷ 보통 저주파 대역보다는 고주파 대역의 계수들이 양자화 결과 0이 될 가능성이 높다. 이러한 특성을 이용하여 양자화 계수를 재배치한다.
▷ DCT 계수의 경우 저주파 대역으로부터 고주파 대역의 순으로 계수들이 나열되도록 지그재그 주사를 한다.
▷ 웨이블릿 계수의 경우 어떠한 저주파 서브밴드에 0이 아닌 계수가 존재할 경우 이 계수의 위치에 대응하는 고주파 계수 위치에 0이 아닌 계수가 존재할 가능성이 높다. 역으로 어떠한 저주파 서브밴드에 0인 계수가 존재할 경우 이 계수의 위치에 대응하는 고주파 계수 위치에 0인 계수가 존재할 가능성이 높다.
2. 참고자료
□ 김재균 저, 영상통신시스템, 영지문화사, 2000.