410 likes | 749 Views
11 장 MPEG 비디오 부호화 I ᅳ MPEG-1 과 2. 11.1 개요 11.2 MPEG-1 11.3 MPEG-2 11.4 보충 학습. 11.1 개요. MPEG: Moving Pictures Experts Group 은 디지털 비디오의 개발을 위해 1988 년에 설립 . 소유권의 관심은 MPEG 표준의 패밀리 안에서 유지되는 것이 필요하다는 것을 적절하게 인식시킴 . 함축적으로 복호화기를 정의하는 압축된 비트스트림만 정의함으로써 이루어짐 .
E N D
11장 MPEG 비디오 부호화 I ᅳ MPEG-1과 2 11.1 개요 11.2 MPEG-1 11.3 MPEG-2 11.4 보충 학습 멀티미디어시스템
11.1 개요 • MPEG: Moving Pictures Experts Group은 디지털 비디오의 개발을 위해 1988년에 설립. • 소유권의 관심은 MPEG 표준의 패밀리 안에서 유지되는 것이 필요하다는 것을 적절하게 인식시킴. • 함축적으로 복호화기를 정의하는 압축된 비트스트림만 정의함으로써 이루어짐. • 따라서, 압축 알고리즘과 부호화기는 완전히 제조업자들에게 달려있음. 멀티미디어시스템
11.2 MPEG-1 • MPEG-1은 SIF(Source Input Format)로 알려져 있는 디지털 TV 형식 CCIR601을 채택. • MPEG-1은 오직 인터레이스(interlace) 되지 않은 비디오만을 지원. 일반적으로, 그것의 영상 화상도는 다음과 같음: • 30 fps에서 NTSC 비디오를 위해 352×240 • 25 fps에서 PAL 비디오를 위해 352×288 • 그것은 4:2:0 색도 서브샘플링을 이용. • MPEG-1 표준은 또한 ISO/IEC 11722로 참조됨. 그것은 5개의 부분을 가짐: 11172-1 시스템, 11172-2 비디오, 11172-3 오디오, 11172-4 적합성, 그리고 11172-5 소프트웨어 멀티미디어시스템
MPEG-1에서의 움직임 보상 • H.261에서 움직임 보상(MC)기반 비디오 부호화는 다음과 같이 동작함: • 움직임 예측(ME: Motion Estimation)에서, 목표 P 프레임의 각 매크로블럭(MB)은 이전에 부호화된 I 혹은 P 프레임으로부터 가장 잘 매칭되는 매크로블럭을 할당함 ᅳ예측(prediction) • 예측 오차(prediction error): 매크로블럭과 그것의 매칭 매크로블럭 사이의 차분인데, DCT와 그것의 다음 부호화 단계로 보내짐. • 예측은 이전 프레임으로부터 이루어 짐 ᅳ순방향 예측(forward prediction) 멀티미디어시스템
목표 프레임에서 공의 부분을 포함하는 매크로블럭은 이전 프레임에서 좋은 매칭 매크로블럭을 찾을 수 없음. 왜냐하면 공의 절반이 다른 물체에 의해 가려졌기 때문임. 그러나, 매치는 다음 프레임으로부터 쉽게 획득될 수 있음. 그림 11.1: 양방향 탐색의 필요성 멀티미디어시스템
MPEG-1에서의 움직임 보상(계속) • MPEG은 세 번째 프레임 형인 B 프레임과 그것을 수반하는 양방향 움직임 보상을 수반함. • 움직임 보상-기반 B 프레임 부호화 개념을 그림 11.2에서 설명함: • B-프레임으로부터 각 매크로블럭은 두 개의 움직임 벡터들(MVs)을 가질 것임.(순방향 예측으로부터 하나와 역방향 예측으로부터 하나) • 만약 양방향에서 매칭이 성공적이면, 두 개의 움직임 벡터는 보내질 것이고, 두 개에 대응되는 매칭 매크로블럭은 예측 오차를 생성하기 위해 목표 프레임과 비교되기 전에 평균 내어짐.(그림에서 “%”에 의해 나타남.) • 만약 받아들여질 수 있는 매치가 참조 프레임 중 오직 하나에서만 발견된다면, 오직 하나의 움직임 벡터와 그것과 대응되는 매크로블럭은 순방향 혹은 역방향 예측 중의 하나로부터 사용될 것임. 멀티미디어시스템
그림 11.2: 양방향 움직임 보상 기반 B 프레임 부호화 멀티미디어시스템
그림 11.3: MPEG 프레임 순서 멀티미디어시스템
H.261과의 다른 주요 차이점 • 소스 형식을 지원: • H.261은 오직 CIF(352×288)와 QCIF(176×144) 소스 형식을 지원. MPEG-1은 SIF(NTSC를 위해 352×240, PAL을 위해 352×288)을 지원. • 또한 MPEG-1은 표 11.1에서 보여지는 것처럼 제한된 매개변수 집합(CPS: Constrained Parameter Set)을 만족하는 동안의 다른 형식에 대한 명세를 허용. 표 11.1: MPEG-1의 제한적인 매개변수 집합 멀티미디어시스템
H.261과의 다른 주요 차이점(계속) • H.261에서와 같은 GOB들 대신에, MPEG-1 영상은 하나 이상의 슬라이스(slices)로 나눌 수 있음.(그림 11.4): • 하나의 영상 안에서 가변수의 매크로블럭을 포함. • 또한 그것들이 전체 영역을 가득 채우는 한, 어디에서든지 시작하고 끝낼 수 있음. • 각 슬라이스는 독립적으로 부호화됨. ᅳ비트율 제어에서 추가적인 융통성 • 슬라이스 개념은 오류 복원을 위해 중요함. 멀티미디어시스템
그림 11.4: MPEG-1 그림에서 슬라이스 멀티미디어시스템
H.261과의 다른 주요 차이점(계속) • 양자화(Quantization): • MPEG-1 양자화는 그것의 인트라 부호화와 인터 부호화를 위해 다른 양자화 표를 사용.(표 11.2와 11.3) • 인트라 모드에서 DCT 계수는 다음과 같음: • 인터 모드에서 DCT계수는 다음과 같음:
표 11.2: 인트라-부호화를 위한 기본 양자화 표(Q1) 표 11.3: 인터-부호화를 위한 기본 양자화 표(Q2) 멀티미디어시스템
H.261과의 다른 주요 차이점(계속) • MPEG-1은 부분-화소 정확도(sub-pixel precision) (1/2 화소)의 움직임 벡터를 허용. H.263을 위해 “쌍선형 보간법(bilinear interpolation)”은 반-화소(half-pixel) 위치에서 필요한 값을 생성하기 위해 사용됨. • H.261에서 움직임 벡터를 위한 ±15 화소의 최대 범위와 비교해 보면, MPEG-1은 반-화소 정확도(half-pixel precision) 움직임 벡터를 위해 [-512, 511.5]의 범위를, 전-화소 정확도(full-pixel precision) 움직임 벡터를 위해 [-1,024, 1,023]의 범위를 지원함. • MPEG-1 비트스트림은 임의 접근(random access)을 허용. ᅳ GOP 계층에 의해 수행되는데 각 GOP라는 시간 부호화됨. 멀티미디어시스템
MPEG-1 프레임의 전형적인 크기 • 압축된 P 프레임의 전형적인 크기는 I 프레임의 그것보다 훨씬 더 작음. ᅳ 왜냐하면 인터-프레임 압축에서 시간 중복성을 이용하기 때문임. • B 프레임은 P 프레임보다 더 작음. ᅳ 왜냐하면, (a) 양방향 예측의 이점과 (b)가장 낮은 우선순위가 B 프레임에 주어지는 것 때문임. 표 11.4: MPEG-1 프레임의 전형적인 압축 성능 멀티미디어시스템
그림 11.5: MPEG-1 비디오 비트스트림의 계층 멀티미디어시스템
11.3 MPEG-2 • MPEG-2: 4Mbps 이상의 비트율에서 고화질 비디오를 위한 것임. • 다른 응용들을 목표로 한 7개의 프로파일을 정의: • Simple, Main, SNR scalable, Spatially scalable, High, 4:2:2, Multiview. • 각 프로파일 안에서, 4개의 레벨까지 정의됨. (표 11.5) • DVD 비디오 명세서는 오직 4개의 디스플레이 해상도만을 허용함: 720×480, 704 ×480, 352 ×480, 그리고 352 ×240. ᅳ Main과 Low레벨에서 MPEG-2 Main 프로파일의 제한적 형식. 멀티미디어시스템
표 11.5: MPEG-2에서 프로파일과 레벨 표 11.6: MPEG-2의 Main 프로파일에서 4가지 레벨 멀티미디어시스템
인터레이스된 비디오 지원 • MPEG-2는 디지털 방송 TV와 HDTV를 위한 옵션 중의 하나이기 때문에 인터레이스된 비디오를 지원해야 함. • 인터레이스된 비디오에서 각 프레임은 위쪽-필드(top-field)와 아래쪽 필드(bottom-field)로 참조되는 두 필드로 구성. • 프레임-영상(Frame-picture)에서, 두 필드로부터의 모든 주사선은 하나의 프레임을 구성하기 위해 사이에 끼워 넣어짐. 그 후에 16×16 매크로 블록으로 나누어지고 움직임 보상을 사용하여 부호화됨. • 만약 각 필드가 개별적인 영상으로 다룬다면, 그것을 필드-영상(Field-picture)이라 부름. 멀티미디어시스템
(a) 프레임 영상 대 필드 영상 (b) 필드 영상을 위한 필드 예측 그림 11.6: MPEG-2에서의 필드 영상과 필드 영상을 위한 필드 예측 멀티미디어시스템
5가지 예측 모드 • MPEG-2는 5가지 예측 모드뿐만 아니라 프레임 예측(Frame Prediction)과 필드 예측(Field Prediction)을 정의함: 1. 프레임-영상을 위한 프레임 예측: P 프레임과 B 프레임 둘 다에서 MPEG-1의 움직임 보상-기반 예측 방법과 동일함. 2. 필드-영상을 위한 필드 예측: 필드-영상으로부터 16×16 크기의 매크로블럭을 사용. 자세한 것을 위해서는, 그림 11.6(b)를 참조. 멀티미디어시스템
3. 프레임-영상을 위한 필드 예측: 프레임 영상의 위쪽-필드와 아래쪽-필드는 분리해서 다룸. 목표 프레임 영상으로부터 각 16×16 매크로블럭(MB)은 각 하나의 필드로부터 오는 두 개의 16×8부분으로 분리됨. 필드예측은 그림 11.6(b)에서 보여지는 것과 비슷한 방식으로 이 16×8 부분들을 위해 수행됨. 4. 필드-영상을 위한 16×8의 움직임 보상: 목표 필드-영상으로부터 각 16×16 매크로블럭은 16×8 절반의 위쪽과 아래쪽으로 분리됨. 필드 예측은 각 절반에서 수행됨. P 필드-영상에서는 각 16×16 매크로블럭을 위해 두 개의 움직임 벡터가 생성되고, B 필드-영상에서는 각 매크로블럭을 위해 4개의 움직임 벡터까지 생성됨. 이 모드는 움직임이 빠르고 불규칙적일 때 더 세밀한 움직임 보상에서 유용함. 멀티미디어시스템
5. P 영상을 위한 듀얼-프라임: 처음에는 같은 패리티(위쪽 혹은 아래쪽)를 가지는 각각의 이전 필드로부터 필드 예측이 만들어짐. 그 다음에 각 움직임 벡터 mv는 시간적 스케일링과 위쪽과 아래쪽 필드에서 선들 사이에 수직 이동을 고려하여 반대 패리티를 갖는 필드에서 계산된 움직임 벡터 cv를 유도하기 위해 사용됨. 각 매크로블럭을 위한 mv와 cv쌍은 두 개의 예비 예측을 낳음. 그것들의 예측 오차를 평균 내어 최대 예측 오차로써 사용됨. 이 모드는 역방향 예측을 채택하지 않은 P 영상을 위해 B 영상 예측을 모방함.(그러므로, 더 많은 부호화 지연을 함) 이것은 프레임-영상 혹은 필드-영상 둘 중 하나를 위해 사용될 수 있는 유일한 방식임. 멀티미디어시스템
교차 주사와 필드_DCT (Field_DCT) • 예측 오차에 대한 DCT의 효율성을 향상시키는 것을 목표로 하는 기술. 오직 인터레이스된 비디오에서 프레임-영상에만 적용 가능함: • 인터레이스된 비디오 특성 때문에 8×8 블럭에서 연속적인 열은 다른 필드로부터 옴. 교차하는 열 사이보다 그것들 사이의 상관성이 더 낮게 존재함. • 교차 주사는 인터레이스된 비디오에서 수직 방향으로 더 높은 공간 주파수 성분들이 더 큰 크기를 가진다는 것을 인지하고, 그것들이 순서에서 더 일찍 주사되게 함. • MPEG-2에서, 필드 DCT는 같은 문제점을 다룰 수 있음. 멀티미디어시스템
그림 11.7: MPEG-2에서 점진적이고 인터레이스된 비디오를 위한 DCT 계수의 지그재그와 교차 주사 멀티미디어시스템
MPEG-2 스케일러빌러티 • MPEG-2 스케일러블 부호화(scalable coding):기본 계층과 하나 이상의 향상 계층을 정의할 수 있음 ᅳ또한 계층 부호화(layered coding)로 알려져 있음. • 기본 계층은 기본적인 비디오 화질을 얻기 위해 독립적으로 부호화되고, 전송되고, 복호화될 수 있음. • 향상 계층의 부호화와 복호화는 기본 계층 혹은 이전의 향상 계층에 의존. • 스케일러블 부호화는 특히 다음의 특성을 가지는 네트워크를 통해 전송되는 MPEG-2 비디오에 유용함. • 아주 다른 비트율을 가진 네트워크 • 가변 비트율(VBR: variable bit rate) 채널을 가진 네트워크 • 잡음 있는 연결을 가진 네트워크 멀티미디어시스템
MPEG-2 스케일러빌러티(계속) • MPEG-2는 다음의 스케일러빌러티를 지원: 1. SNR 스케일러빌러티(SNR Scalability) ᅳ향상 계층은 더 높은 SNR을 제공. 2. 공간적 스케일러빌러티(Spatial Scalability) ᅳ향상 계층은 더 높은 공간 해상도를 제공. 3. 시간적 스케일러빌러티(Temporal Scalability) ᅳ향상 계층은 더 높은 프레임을 용이하게 함. 4. 하이브리드 스케일러빌러티(Hybrid Scalability) ᅳ위의 세 가지 스케일러빌러티 중 어떤 두 개의 결합. 5. 데이터 분할(Data Partitioning) ᅳ양자화된 DCT 계수들은 파티션으로 나누어짐. 멀티미디어시스템
SNR 스케일러빌러티 • SNR 스케일러빌러티: 신호–잡음비(SNR: Signal-Noise-Ratio)를 통해 향상시키기 위해 기본 계층에 대한 향상/정련을 언급함. • MPEG-2 SNR 스케일러블 부호화기는 두 계층에서 출력 비트스트림 Bits_base와 Bits_enhance를 생성: 1. 기본 계층에서는, 더 적은 비트들과 상대적으로 저 화질 비디오의 결과로서 DCT 계수에 정밀하지 못한 양자화가 사용됨. 2. 그리고 나서 정밀하지 않게 양자화된 DCT 계수는 역으로 양자화(Q-1)되고 원래의 DCT와 비교하기 위하여 향상 계층으로 공급됨. 3. 그것의 차분은 DCT 계수 정련(DCT coefficient refinement) 생성하기 위해 정교하게 양자화되는데, 그것은 가변 길이 부호화(VLC) 이후에 Bit_enhance라 불리는 비트스트림이 됨. 멀티미디어시스템
그림 11.8 (a): MPEG-2 SNR 스케일러빌러티(부호화기) 멀티미디어시스템
그림 11.8 (b): MPEG-2 SNR 스케일러빌러티(복호화기) 멀티미디어시스템
공간적 스케일러빌러티 • 기본 계층은 축소된 해상도 영상의 비트스트림을 생성하기 위해 설계되었음. 향상 계층과 결합할 때, 원래 해상도의 영상을 만듬. • MPEG-2 공간적 스케일러빌러티를 위한 기본 및 향상 계층은 SNR 스케일러빌러티만큼 엄격하게 연결되지는 않음. • 그림 11.9(a)는 전형적인 블럭도를 보여줌. 그림 11.9(b)는 시간적 및 공간적 예측이 결합된 경우를 보여줌. 멀티미디어시스템
그림 11.9: MPEG-2 공간적 스케일러빌러티를 위한 부호화기 (a) 블럭도 (b) 향상 계층에서의 부호화를 위한 시간적 및 공간적 예측 결합 멀티미디어시스템
시간적 스케일러빌러티 • 입력 비디오는 시간적으로 원 프레임 율의 절반을 각각 운반하는 두 부분으로 역 다중화함. • 기본 계층 부호화기는 입력 비디오 자기자신을 위한 정상적인 단일-계층 부호화 과정을 수행하고 출력 비트스트림 Bits_base를 생성함. • 향상 계층에서 매칭 매크로블럭의 예측은 두 가지 방법으로 얻을 수 있음: • 계층간 움직임-보상(Motion-Compensated) 예측 (그림 11.10(b)) • 결합된 움직임-보상 예측과 계층간 움직임-보상 예측 (그림 11.10(c)) 멀티미디어시스템
(a) 블럭도 그림 11.10: MPEG-2 시간적 스케일러빌러티를 위한 부호화기 멀티미디어시스템
(b) 계층간 움직임-보상(MC) 예측 (c) 결합된 움직임 보상 예측과 계층간 움직임 보상 예측 그림 11.10(계속): MPEG-2 시간적 스케일러빌러티를 위한 부호화기 멀티미디어시스템
하이브리드 스케일러빌러티 • 앞의 세가지 스케일러빌러티 중 임의의 두 개를 결합하여 하이브리드 스케일러빌러티를 구성할 수 있음: 1. 공간적 및 시간적 하이브리드 스케일러빌러티 2. SNR과 공간적 하이브리드 스케일러빌러티 3. SNR과 시간적 하이브리드 스케일러빌러티 • 일반적으로, 기본 계층, 향상 계층 1, 향상 계층 2로 구성된 세 계층 하이브리드 부호화기가 채택. 멀티미디어시스템
데이터 분할 • 기본 분할은 저 주파수 DCT 계수를 포함하고, 향상 분할은 고 주파수 DCT 계수를 포함. • 엄격히 말하면, 데이터 분할은 계층화된 부호화가 아님. 왜냐하면 비디오 데이터의 한 스트림은 단순하게 나누어지고 게다가 향상 분할이 생성될 때 기본 분할에 의존하지 않기 때문임. • 잡음 채널을 통한 전송이나 점진적인 전송에 유용함. 멀티미디어시스템
MPEG-1과의 다른 주요 차이점 • 비트-오류에 대한 더 나은 복원력: 프로그램 스트림에 더하여, 전송 스트림은 MPEG-2 비트스트림에 추가함. • 4:2:2와 4:4:4 색소 부표본화의 지원 • 더 제한적인 슬라이스 구조: MPEG-2 슬라이스는 같은 매크로블럭 행에서 시작하고 끝나야 함. 다시 말하자면, 영상의 왼쪽 가장자리는 항상 새로운 슬라이스가 시작하고 MPEG-2에서 가장 긴 슬라이스는 오직 한 매크로블럭의 행을 가질 수 있음. • 더 유연성 있는 비디오 형식: 그것은 DVD, ATV 및 HDTV에 의해 정의된 다양한 영상 해상도를 지원함. 멀티미디어시스템
MPEG-1과의 다른 주요 차이점(계속) • 비선형 양자화(nonlinear quantization) ᅳ두 가지 형태의 스케일이 허용: 1. 첫 번째 유형을 위해, scale은 MPEG-1에서와 동일한 [1, 31] 범위의 정수이며 scalei=i임. 2. 두 번째 유형을 위해, 비선형 관계가 존재함. 즉, scalei≠i임. i번째 scale 값은 표 11.7에서 찾아볼 수 있음. 표 11.7: MPEG-2에서 가능한 비선형 스케일 멀티미디어시스템