1. 엔트로피 부호기
엔트로피 부호화는 부호화 대상 심볼 집합의 각각의 원소의 발생 확률에 근거한 정보량인 엔트로피에 근접한 성능을 내도록 하기 위한 부호화 기법이다. 영상의 경우 엔트로피 부호화만으로는 만족할 만한 성능을 낼 수는 없지만, 움직임 보상, 영상 변환, 양자화 등과 결합하여 부호열의 길이를 줄이는데 사용된다.
1.1 엔트로피와 무손실 부호화
□ 랜덤 변수의 집합에 대한 무작위성의 정도를 나타내는 척도를 엔트로피(entropy)라고 한다.
□ M개의 랜덤 변수로 구성된 집합이 있을 때, 각각의 랜덤변수의 확률이 pk, k=1, 3, …, M이라고 하면, 비트 단위로 표현한 이 집합의 엔트로피 H는 다음과 같이 정의된다.

□ 부호화 응용에서 이 엔트로피는 부호기에 입력될 수 있는 값들의 집합과 관련된 정보의 양을 나타낸다.
예제 1.
부호기에 입력될 수 있는 심볼의 종류가 8가지가 있고, 각각의 심볼이 입력될 확률이 모두 동일하다. 이 입력 심볼의 집합의 엔트로피는 얼마인가?(풀이) 8개의 심볼이 모두 동일한 확률로 입력될 수 있으므로, 각 심볼의 입력 확률은 1/8이다. 그러므로 ![]() 이다. 즉, 이 입력 심볼 집합의 정보량은 3비트이며, 이는 최소한 3비트가 있어야 이 심볼들을 구분하여 표현할 수 있음을 의미한다. 사실 3비트면 23=8개의 심볼을 표현할 수 있으므로, 이 경우가 최대의 경우가 된다.
|
예제 2. 부호기에 입력될 수 있는 심볼의 종류가 8가지가 있고, p1=1, p2=p3=…p8=0 이다. 이 경우 이 입력 심볼의 집합의 엔트로피는 얼마인가? (풀이) 이 입력 심볼의 집합에 대한 엔트로피는 ![]() 이다. 즉, 이 경우는 정보량이 0 이므로 한 비트도 필요하지 않다. 사실 p1이 1이로 나머지는 모두 0이므로, 심볼을 표현할 필요도 없이 무조건 1번 심볼이라고 보면 된다. |
예제 3. 부호기에 입력될 수 있는 값의 집합이 {-2, -1, 0, 1, 2}이고, 각 값들의 발생 확률이 다음 표와 같다. 이 경우 이 입력 집합의 엔트로피는 얼마인가?
(풀이) 이 입력 심볼의 집합에 대한 엔트로피는
![]() 이다. 즉, 정보량이 2.12비트이므로 이론적으로 평균 2.12비트만 있으면 주어진 입력 값들을 표현할 수 있다. |
□ 이와 같이 입력 데이터 열이 포함하는 정보량은 각각의 데이터가 발생할 확률에 따라 결정된다. 모든 확률이 동일할 경우
개의 비트로 각각의 데이터를 표현할 수 있다.
□ 그러나 일반적으로 모든 입력 데이터의 발생 확률이 동일하지 않으므로, 이보다 적은 수의 비트로 표현할 수 있다. 특히 평균 보호 길이가 엔트로피와 같도록 부호화를 한다면 가장 효율이 좋다고 할 수 있으며, 이처럼 최대한 엔트로피에 가까운 평균 부호 길이를 낼 수 있도록 하는 무손실 부호화 기법들을 엔트로피 부호화(entropy coding)라고 한다.
□ 대신 모든 데이터가 동일한 길이로 표현되지 못하고, 데이터에 따라 표현된 길이가 서로 다르게 된다. 따라서 이러한 부호화 기법들을 가변길이 부호화(variable length coding)라고 한다.
□ 이처럼 부호의 길이가 데이터에 따라 다른 부호화 기법에서는 부호화된 비트열로부터 원래의 데이터를 정확하게 복호화할 수 있어야 한다.
예제 4. 부호기에 입력될 수 있는 값의 집합이 {-2, -1, 0, 1, 2}이고, 각각의 값에 대해 부여된 부호가 다음 표와 같다. 이때 데이터 열 (-1, 0, 1, -2, 0)을 부호화하여 얻게 되는 비트열은 무엇인가? 이 비트열을 다시 복호화하면 어떤 데이터 열을 얻게 되는가?
(풀이)
▷ 부호화 : 각각의 데이터를 표에서 제시한 부호로 대체하면 ‘100111100’이라는 비트열을 얻게 된다.
▷ 복호화 : ‘100111100’이라는 비트열은 ‘10 0 11 110 0’으로 보아 (-1, 0, 1, -2, 0)이라는 데이터 열을 얻을 수도 있지만, ‘10 0 111 10 0’으로 해석하여 (-1, 0, 2, -1, 0)이라는 데이터 열이라고 볼 수도 있다. 따라서 이러한 부호 체계로는 올바른 복호화를 할 수 없다.
|
예제 5. 예제 4의 부호책을 다음과 같이 바꾸었다고 하자. 이때 데이터 열 (-1, 0, 1, -2, 0)을 부호화하여 얻게 되는 비트열은 무엇인가? 이 비트열을 다시 복호화하면 어떤 데이터 열을 얻게 되는가?
▷ 부호화 : 각각의 데이터를 표에서 제시한 부호로 대체하면 ‘01010110001’이라는 비트열을 얻게 된다. ▷ 복호화 : 앞에서부터 차례로 부호 비트열을 해석하면 ‘010 1 011 000 1’로밖에 해석할 수 없다. 따라서 이 비트열로부터는 (-1, 0, 1, -2, 0)이라는 원래의 데이터 열만을 유일하게 얻을 수 있다. |
□ 유일하게 복호 가능한 부호
▷ 예제 5에서와 같이 부호화된 비트열로부터 원래의 데이터 열만을 유일하게 복호화할 수 있는 부호를 유일하게 복호 가능한 부호(uniquely decodable code)라고 한다. 이처럼 가변길이 부호기는 유일하게 복호 가능한 부호를 만들어 내야만 올바른 복호화를 할 수 있다.
▷ 유일하게 복호를 할 수 없는 부호는 짧은 부호가 긴 부호들 중 선두에서부터 같은 비트값 순서를 갖는 것이 있다. 예를 들어 예제 4에서 11은 110 또는 111의 선두 두 비트와 같다.
1.2 허프만 부호화
□ 1952년 허프만(Huffman)이 제안한 허프만 부호화는 각 심볼의 발생 확률에 따라 유일하게 복호 가능한 부호를 만들어 낼 수 있는 가변길이 부호화 기법이다.
□ 허프만 부호의 구성 과정은 각각의 심볼을 트리의 리프로 하여 부호 체계를 표현하는 트리를 구성하는 것으로 설명할 수 있다.
허프만 부호 트리 생성 과정 1. 심볼과 심볼의 발생 확률을 저장하는 리프 노드들을 준비하고, 이들을 확률 순위 목록에 넣는다. 2. 확률 순위 목록에 하나의 노드만 남을 때까지 다음을 반복한다. 2.1. 가장 작은 확률을 갖는 노드 2개를 꺼낸다. 2.2. 이 두 노드를 자식으로 하는 새로운 노드를 생성하고, 이 노드의 확률은 두 자식 노드의 합으로 한다. 각각의 자식으로 이어지는 가지에 각각 0과 1이라는 라벨을 부여한다. 2.3. 생성된 노드를 확률 순위 목록에 넣는다. 3. 루트로부터 각각의 리프까지 도달하는 가지에 붙인 라벨을 순서대로 나열하여 각각의 리프에 해당되는 심볼에 대한 부호를 결정한다. |
예제 6. 비디오 내의 어떠한 영상(영상1)의 움직임 벡터 차이 값을 부호화하려고 한다. 차이 값의 집합 {-2, -1, 0, 1, 2}에서 각각의 값이 발생할 확률이 다음 표와 같을 때, 이 데이터 집합을 위한 허프만 부호를 설계하라.
(풀이)
▷ 허프만 부호 트리 생성 : 가장 작은 확률 값을 갖는 두 노드를 선택하여, 이들을 자식노드로 하는 부모노드를 생성하는 과정을 반복 ![]() ▷ 루트로부터 각각의 리프까지 이어지는 경로에 부여된 라벨에 의해 부호 결정
![]() ▷ 그 결과 -2는 000, -1은 010, 0은 1, 1은 011, 2는 001로 부호가 결정된다. |
제 7. 비디오 내의 다음 영상(영상2)의 움직임 벡터 차이 값을 부호화하려고 한다. 차이 값의 집합 {-2,-1, 0, 1, 2}에서 각각의 값이 발생할 확률이 다음 표와 같이 변화하였을 때, 이 데이터 집합을 위한 허프만 부호를 설계하라.
(풀이)
▷ 허프만 부호 트리 생성 : 가장 작은 확률 값을 갖는 두 노드를 선택하여, 이들을 자식노드로 하는 부모노드를 생성하는 과정을 반복
![]() ▷ 루트로부터 각각의 리프까지 이어지는 경로에 부여된 라벨에 의해 부호 결정 ![]() ▷ 그 결과 -2는 0000, -1은 001, 0은 1, 1은 01, 2는 0001로 부호가 결정된다. |
□ 할당된 부호의 길이는 발생 확률이 높은 값은 짧고, 발생 확률이 낮은 값은 길다. 또한 긴 부호의 선두 일부 비트가 짧은 부호와 일치하는 것이 없기 때문에 유일한 복호를 할 수 있다.
□ 결정된 부호들은 참조표(look-up table)에 저장하여 입력 데이터 열을 부호화하는데 사용할 수 있다.
□ 복호기는 부호기와 동일한 허프만 부호 트리 또는 부호 참조표를 가지고 있어야 부호화된 비트열을 복호화할 수 있다.
□ 예제 6에서 결정된 부호를 사용한다면 각각의 값을 표현하는데 사용되는 평균 비트 길이는 다음과 같다.
R = 1×0.4 + 3×0.6 = 2.2(bits)
이 결과는 예제 3에서 구한 엔트로피 2.12에 비해 0.08비트 크다. 이것은 이상적인 부호의 길이와는 달리 정수개의 비트로 부호를 결정하기 때문에 발생하는 비트 손실이 있기 때문이다.
□ 예제 7에서 결정된 부호를 사용한다면 각각의 값을 표현하는데 사용되는 평균 비트 길이는 다음과 같다.
R = 4×0.02 + 3×0.07 + 1×0.8 + 2×0.08 + 4×0.03 = 1.37(bits)
이 데이터 집합에 대한 엔트로피는 1.08로, 평균 비트 길이와는 0.29비트의 차이가 난다.
□ 예 : MPEG-4 Visual 변환 계수(TCOEF) VLC
▷ MPEG-5 Visual은 양자화된 변환 계수를 (run, level, last)로 표현하는 3차원 run-level 부호화를 한다. 이를 위해 총 102개의 미리 정의한 (run, level, last)에 가변길이 부호를 할당하였다. 다음 표는 그 일부이다.
▷ 각 코드의 마지막에는 부호비트(s)가 첨부되는데, 0은 양, 1은 음을 나타낸다. 즉, 100은 (0,1, 0)을, 101은 (0, -1, 0)을 나타낸다.
▷ 가변길이 부호표에 나오지 않은 모든 (run, level, last) 조합은 특수한 ESCAPE코드(0000011)에 이어 (run, level, last)를 나타내는 13비트 고정길이 코드를 사용한다.
1.4 산술 부호화
(1) 개요
□ 산술 부호화의 기본 개념은 1960년대 초반 Elias에 의해 제시되었다. 이 방법에서는 하나의 심볼에 하나의 부호 단어를 부여하는 대신, 여러 개의 연속적인 심볼들을 하나의 소수로 변환한다.
□ 산술 부호화는 심볼 집합에 대한 누적 확률분포함수(CDF, cumulative distribution function)를 바탕으로 한 각 심볼에 대한 누적 확률 구간을 사용한다.
▷ CDF는 심볼의 확률 밀도 함수를 적분하여 구한다.
▷ 심볼의 누적 확률 구간은 이전 심볼의 CDF 값보다 크거나 같고, 자기 자신의 CDF 값보다 작은 구간을 의미한다.
▷ 예를 들어 {a, b, c, d, e}라는 심볼들로 구성된 집합에서 각 심볼의 발생 확률이 p(a)=0.1,p(b)=0.3, p(c)=0.4, p(d)=0.15, p(e)=0.05일 때, 각 심볼의 누적 확률 구간은 다음과 같이 정의된다.

▷ 따라서 전체 구간 [0, 1)에서 [0, 0.1)은 a, [0.1, 0.4)는 b, [0.4, 0.8)은 c, [0.8, 0.95)는 d, [0.95, 1.0)은 e를 나타내는 구간이다. (※ [x, y)는 x 이상, y 미만의 구간을 나타낸다.)
▷ 산술 부호화는 연속되는 심볼들의 열을 이와 같은 구간을 나타내는 값으로 표현하는 부호화 방법이다.
(2) 부호화 과정
□ 산술 부호화에서는 여러 개의 연속적인 심볼들을 하나의 구간으로 표현한다. m개의 연속적인 심볼에 대한 부호화 과정의 전체적인 흐름은 다음과 같다.
▷ 첫 번째 심볼을 나타내는 구간 [x1, y1)을 구한다.
▷ 첫 번째 심볼 구간 [x1, y1)을 각 심볼의 구간으로 비례적으로 나눈 다음, 그 중 두 번째 심볼에 해당되는 구간 [x2, y2)를 구한다.
▷ 이 과정을 m개의 심볼에 대해 반복하여 구간 [xm, ym)을 구한다.
▷ [xm, ym) 구간을 나타내는 값으로 이 구간 내의 한 값을 선택하여 심볼 열을 표현하는 부호 단어로 표현한다.
예제 8. 예제 6의 비디오 내의 어떠한 영상(영상1)의 움직임 벡터 차이 값을 산술 부호화하려고 한다. 차이 값의 집합 {-2, -1, 0, 1, 2}에서 각각의 값이 발생할 확률이 다음 표와 같을 때, 연속적인 값 (0, -1, 0, 2)에 대한 부호화 과정을 설명하라.
(풀이)
![]() 1. 초기 범위를 설정한다. ▷ 범위 = [0, 1.0) 2. 0에 해당되는 누적확률 구간이 선택된다. ▷ 누적확률 구간 = [0.3, 0.7) 3. 이 구간을 새로운 범위로 설정한다. ▷ 범위 = [0.3, 0.7) 4. 새로운 범위에서 -1에 해당되는 누적확률 구간이 선택된다. 전체 범위가 [0.3, 0.7)로 크기가 0.4 이므로, 이에 대한 [0.1, 0.3) 구간은 [0.4×0.1+0.3, 0.4×0.3+0.3) = [0.34, 0.42)가 된다. ▷ 누적확률 구간 = [0.34, 0.42) 5. 이 구간을 새로운 범위로 설정한다. ▷ 범위 = [0.34, 0.42) 6. 새로운 범위에서 0에 해당되는 누적확률 구간이 선택된다. 전체 범위가 [0.34, 0.42)로 크기가 0.08 이므로, 이에 대한 [0.3, 0.7) 구간은 [0.364, 0.396)이 된다. ▷ 누적확률 구간 = [0.364, 0.396) 7. 이 구간을 새로운 범위로 설정한다. ▷ 범위 = [0.364, 0.396) 8. 새로운 범위에서 2에 해당되는 누적확률 구간이 선택된다. 전체 범위가 [0.364, 0.396)로 크기가 0.032 이므로, 이에 대한 [0.9,1.0) 구간은 [0.3928, 0.396)이 된다. ▷ 누적확률 구간 = [0.3928, 0.396) 9. 이 구간을 새로운 범위로 설정하고, 이 범위를 표현할 수 있는 소수를 결정한다. 이 소수는 [0.3928, 0.396) 내의 어느 값이어도 된다. ▷ 예 : 0.394 |
□ 이러한 과정을 수행하는 알고리즘은 다음과 같이 정의할 수 있다. 여기에서
▷ low, high : 범위의 하한 및 상한
▷ cdf[symbol] : symbol의 CDF
▷ prevSymbol(symbol) : 심볼 목록에서 symbol의 앞 심볼
산술 부호화 - 부호기 low = 0.0, high = 1.0; for i=1 to m do range = high - low; high = low + range * cdf[symboli]; low = low + range * cdf[prevSymbol(symboli)]; end-for; 범위 [low, high)에 속하는 값을 주어진 심볼 열을 나타내는 부호 단어로 선택; |
(3) 복호화 과정
□ 부호화 과정에서 심볼 열에 대해 구한 누적확률 구간은 다른 심볼 열에 대한 구간과는 완전히 분리되므로, 그 구간의 어느 값이든 부호 단어로 선택하여도 원래의 심볼 열을 복호화 할 수 있다.
□ 복호화 과정은 부호 단어가 각 단계에서 어느 심볼의 누적확률 구간에 속하는가를 판단하는 과정의 반복이다.
예제 9. 예제 8에서 얻은 부호 단어 0.394를 이용하여 심볼열을 복호화 하는 과정을 보이시오. (풀이) ![]() 1. [0, 1) 범위에서 0.394가 속한 누적확률 구간을 찾는다. ▷ 소속 누적확률 구간 : [0.3, 0.7)
2. 해당 확률 구간에 대한 값 ‘0’이 복호화 된다. ▷ s1 = 0
3. 새로운 범위 [0.3, 0.7)에서 0.394가 속한 누적확률 구간을 찾는다.
▷ 소속 누적확률 구간 : [0,34, 0.42)
4. 해당 확률 구간에 대한 값 ‘-1’이 복호화 된다.
▷ s2 = -1
5. 새로운 범위 [0,34, 0.42)에서 0.394가 속한 누적확률 구간을 찾는다.
▷ 소속 누적확률 구간 : [0.364, 0.396)
6. 해당 확률 구간에 대한 값 ‘0’이 복호화 된다.
▷ s3 = 0
7. 새로운 범위 [0,364, 0.396)에서 0.394가 속한 누적확률 구간을 찾는다.
▷ 소속 누적확률 구간 : [0.3928, 0.396)
8. 해당 확률 구간에 대한 값 ‘2’가 복호화 된다.
▷ s4 = 2
⇨ 복호화된 심볼 열 : (0, -1, 0, 2) |
□ 이러한 과정을 수행하는 알고리즘은 다음과 같이 정의할 수 있다. 여기에서
▷ low, high : 범위의 하한 및 상한
▷ cdf[symbol] : symbol의 CDF
▷ prevSymbol(symbol) : 심볼 목록에서 symbol의 앞 심볼
산술 부호화 - 복호기 low = 0.0, high = 1.0, i = 0; while not end-of-symbol-sequence i = i + 1; range = high + low; low + range * cdf[prevSymbol(s)] ≤ codeWord < low + range * cdf[s]인 심볼 s를 찾는다.; symboli = s; high = low + range * cdf[symboli]; low = low + range * cdf[prevSymbol(symboli)]; end-while |
□ 복호화 과정이 무한히 반복되지 않으려면 심볼 열의 길이가 알려지거나, 심볼 열의 끝을 알리는 특수한 심볼을 심볼 열의 끝에 첨부하여 부호화 하는 것이 필요하다.
2. 하이브리드 DPCM/DCT 비디오 코덱 모델
대부분의 비디오 부호화 표준들은 지금까지 논의한 부호화 기법들을 혼합하여 사용하고 있다. 특히 화면간 움직임 보상 예측 부호화, DCT, 엔트로피 부호화가 함께 결합되어 코덱이 구성되고 있다. 이러한 모델을 하이브리드 DPCM/DCT 코덱이라고 부른다. 본 절에서는 하이브리드 DPCM/DCT 코덱의 전반적인 구조를 살펴보려고 한다.
2.1 부호기
□ 전반적인 처리 과정(움직임 보상, DCT 등)은 16×16 크기의 매크로 블록 또는 이에 대한 서브 블록 단위로 처리된다.
□ 부호화 대상인 현재 영상 Fn의 각각의 매크로 블록들은 F'n-1을 기준 영상으로 하여 움직임 추정 및 보상을 한다. F'n-1은 복호기와 동일한 처리 과정을 통해 얻은 재생 영상을 사용한다.
□ 현재 영상 Fn의 각각의 매크로 블록에서 움직임 보상을 통해 구한 그 블록에 대한 예측 매크로 블록 P를 뺀 오차 블록 Dn은 DCT와 양자화를 거친다.
□ 양자화 계수들(그림에서 X)은 엔트로피 부호기에서 효과적으로 부호화를 할 수 있도록 순서가 재배치 된다.
□ 재배치 된 양자화 계수들은 움직임 추정 단계에서 구한 움직임 벡터와 함께 적절한 헤더 정보가 결합되어 엔트로피 부호화 된다. 그 결과 부호화된 비트열을 얻는다.
□ 양자화 계수들(X)은 다음 DPCM 과정에서 기준 영상으로 사용하기 위해 복호기에서와 동일한 방법으로 재생 영상으로 변환된다.
▷ 역 양자화(Q-1) 및 IDCT를 통해 오차 블록 D'n을 구한다.
▷ 움직임 보상된 블록 P를 더하여 재생 영상을 구한다.

□ 하이브리드 DPCM/DCT 복호화 과정은 부호화 과정의 역으로 이루어진다.
□ 부호화된 비트열은 엔트로피 복호화를 통해 양자화 변환 계수와 함께 헤더 정보 및 움직임 벡터 정보를 추출한다.
□ 양자화 변환계수는 원래의 순서대로 다시 재배치 되어 역 양자화기(Q-1)를 거친다.
□ 그 결과 얻은 DCT 변환계수는 양자화에 의해 오차가 존재하는 상태로 역DCT 된다. 그 결과 기준 영상과의 오차 영상 D'n이 복원된다.
□ 기준 영상은 엔트로피 복호화 과정에서 추출한 움직임 벡터를 활용하여 움직임 보상을 함으로써, 현재 재생할 영상에 대한 예측 영상 P를 만들어 낸다.
□ 오차 영상 D'n과 움직임 보상된 예측 영상 P를 더하여 재생 영상 만들어진다.
□ F'n은 다음 영상을 예측하기 위한 기준 영상으로 사용된다.
정리하기
1. 요약정리
□ 엔트로피 부호기
▷ 랜덤 변수의 집합에 대한 무작위성의 정도를 나타내는 척도를 엔트로피라고 한다. 부호화 응용에서 이 엔트로피는 부호기에 입력될 수 있는 값들의 집합과 관련된 정보의 양을 나타낸다.
▷ 엔트로피 부호화는 최대한 엔트로피에 가까운 평균 부호 길이를 낼 수 있도록 하는 무손실 부호화 기법들을 나타낸다.
▷ 이러한 부호화 기법들은 데이터의 집합에 따라 이를 표현하는 부호 비트열의 길이가 다르며, 따라서 가변길이 부호화라고 한다.
▷ 부호화된 비트열로부터 원래의 데이터 열만을 유일하게 복호화 할 수 있는 부호를 유일하게 복호 가능한 부호라고 한다.
□ 허프만 부호화
▷ 심볼의 발생 확률에 따라 유일하게 복호 가능한 부호를 만들어 낼 수 있는 가변길이 부호화 기법이다.
▷ 각각의 심볼 및 그 심볼의 발생 확률을 나타내는 노드를 리프로 하고, 가장 낮은 확률을 갖는 두 노드를 자식으로 하며 확률은 그 합으로 하는 부모노드를 생성하는 과정을 반복하여 허프만 부호 트리를 만든다. 각각의 가지에 ‘0’과 ‘1’의 라벨을 할당하고, 루트로부터 리프에 이르는 경로상의 라벨을 차례로 나열하여 부호 단어를 구성한다.
▷ 이와 같이 구성된 부호책을 부호기와 복호기가 똑같이 가지고 있도록 하여, 부호화 및 복호화를 한다.
▷ 비디오 압축 표준안들에서는 일반적인 비디오 영상의 확률 분포에 바탕을 둔 부호 집합을 미리 정의하여 사용한다.
□ 산술 부호화
▷ 하나의 심볼에 하나의 부호 단어를 부여하는 대신, 여러 개의 연속적인 심볼들을 하나의 부호 단어로 변환한다.
▷ 심볼 집합에 대한 누적 확률분포함수(CDF)를 바탕으로 한 누적 확률 구간을 사용한다.
▷ [0, 1)의 범위에서 시작하여 심볼 열의 선두 심볼부터 해당 누적 확률 구간을 선택하고, 다시 이 구간을 범위로 하여 다음 심볼의 상대적인 누적 확률 구간을 선택하는 과정을 반복한다. 이 과정을 통해 분할된 심볼 열에 대한 구간들은 서로 중첩되지 않으며, 이 구간을 나타내는 값으로 부호 단어를 구성한다.
□ 하이브리드 DPCM/DCT 비디오 코덱 모델
▷ 일반적으로 비디오 코덱들은 움직임 보상 예측 부호화, 영상 변환, 양자화, 엔트로피 부호화 단계를 결합한 하이브리드 DPCM/DCT 비디오 코덱 형태를 취하고 있다.
▷ 이 과정을 통해 영상 내에 존재하는 시간적, 공간적, 통계적 중복 요소를 제거함으로써 비디오 데이터의 양을 크게 줄인다.
2. 참고자료
□ 김재균 저, 영상통신시스템, 영지문화사, 2000.
□ Rafael C. Gonzalez, Digital Image Processing, Addison-Wesley, 1992.