MPEG-2: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Salam32 (토론 | 기여)
편집 요약 없음
Npsp (토론 | 기여)
18번째 줄:
=== 간략한 MPEG-2 비디오 인코딩 절차 ===
 
MPEG-2는 ''오디오 신호를 비롯한 동영상의 일반적인 인코딩(부호화)''을 위한 규약이다. 부호화된 비디오 스트림은 인트라('''I'''ntra), 전방 예측('''P'''redictive), 양방향 예측('''B'''idirectional)의 세가지 프레임들이 GOP(Group of Pictures) 구조라는 특별한 구조를 이루어 만들어 진다만들어진다. 일반적으로 부호화할 원본은 소리가 포함된 일정한 해상도의 영상이 초당 25([[CCIR]]규정) 프레임 또는 초당 29.97([[FCC]]규정) 프레임의 속도로 바뀌는 동영상이다.
 
MPEG-2는 [[비월주사]](interlaced scan)와 [[순차주사]](progressive scan) 두 가지 방식의 비디오 스트림을 모두 지원한다. 순차주사 방식에선 부호화의 기본 유닛이 프레임(한 장의 영상)이 되고, 비월주사 방식에선 필드(한 장의 영상의 홀수줄, 혹은 짝수줄만으로 이루어짐)이다. 아래 설명에서 "픽처" 혹은 "정지 영상"이라고 말한 것은 각각의 기본 유닛(즉 필드나 프레임)을 가리킨다.
24번째 줄:
MPEG-2 스트림은 단일 영상을 부호화한 데이터 프레임의 연속이다. 각 정지영상을 부호화하는 방법엔 인트라(I), 전방 예측(P), 양방향 예측(B) 세 가지가 있다.
 
각 비디오 이미지는 루미넌스(명도) 성분 Y 와 두 개의 크로미넌스(색차) U, V 채널로 우선 나뉘어진다나눠진다. 각각에 대해 공간적으로 "매크로 블럭(macroblock)"이라 불리는 16x16 크기의 격자로 나뉘며, 이 매크로 블럭이 부호화의 기본적인 조각이 된다. 매크로 블럭은 8x8 크기의 "블럭" 4개가 합쳐진 것이다. 원본 이미지의 크로미넌스 포맷에 따라 한 매크로 블럭이 8x8 크기의 크로미넌스 블럭을 갖을지, 아니면 16x16을 갖을지가 결정된다. 예를 들어, 일반적으로 쓰이는 [[4:2:0]] 포맷에서는, 한 색상이 매크로 블럭 하나(16x16)당 한 개의 크로미넌스 블록(8x8)만을 갖게 되어, 하나의 매크로 블럭은 4개의 루미넌스 블럭, 1개의 U블럭, 1개의 V블럭으로 총 6개의 블럭을 갖게 된다.
 
I 픽처의 경우 이미지 데이터는 다음 문단에서 설명하는 인코딩 절차를 바로 거치게 되며, P (혹은 B) 픽처의 경우엔 우선 "움직임 보상"(motion compensation)이라 불리는 과정을 거쳐 이전 영상(B의 경우엔 이전과 이후의 영상)과의 관련성을 검색하여 이용한 후 다음 인코딩을 진행하게 된다. 움직임 보상에선 P (혹은 B) 픽처로 만들어질 영상의 각 매크로 블럭이 이전(B의 경우엔 이후도 포함) 영상의 어느 부분과 가장 관련성이 높은가를 알아내어 그 부분과의 공간상의 변위인 "움직임 벡터"(motion vector)와 두 영상간의 차이가 다음과 같이 부호화 되어 전송되게 된다.