H.262/MPEG-2 파트 2
H.262 또는 MPEG-2 파트 2(공식 명칭은 ISO/IEC 13818-2이나 MPEG-2 비디오)는 ITU-T 영상 부호화 전문가 그룹(VCEG)과 ISO/IEC 동화상 전문가 그룹(MPEG)이 공동으로 개발하였고, 유지/보수하는 디지털 비디오 압축, 인코딩 표준이다. ITU-T 권고 H.262와 ISO/IEC 13818-2 문서는 동일하다. H.262 표준은 ITU-T와 ISO에 돈을 지불해야 사용할 수 있다.
MPEG-2 영상은 MPEG-1과 비슷하지만 MPEG-2는 인터레이스 영상(아날로그 방송 TV 시스템에서 사용되는 형식)을 지원한다. MPEG-2 영상은 낮은 비트레이트(1 Mbit/s보다 낮은 비트레이트)에 최적화 되어있지 않지만 3Mbit/s 이상으로 MPEG-1을 능가한다. 표준을 따르는 MPEG-2 모든 영상 디코더는 MPEG-1 영상 스트림을 재생하는 것이 가능하다.
H.262에 대한 ISO/IEC 승인 과정은 1994년 11월에 완료되었다. 첫 번째 판은 1995년 7월에 승인되었으며, 1996년에 ITU-T와 ISO/IEC가 발표하였다.
1996년, Preetahm이 저작권 식별자와 4:2:2 프로파일을 포함하기 위해 2가지 수정을 거쳤다. ITU-T는 1996년 수정안을 발표하였으며, 1997년에 ISO가 발표하였다.
이후에도 ITU-T와 ISO는 다른 수정안들을 발표하였다.
HDTV 카메라는 24FPS('Frame' Per Second) 영상에서 초당 149,299,200 (=24*1920*1080*3)바이트의 비압축 영상 스트림을 발생시킨다. 이 스트림은 디지털 TV가 사용 가능한 TV 채널 대역에 맞거나, 영화가 DVD에 맞도록 압축되어야 한다. 다행히도 사진 데이터는 공간 중복성 또는 시간 중복성을 가지기 때문에 영상 압축은 효과적이다. 예를 들면, 하늘은 영상의 윗부분에서 파랗게 보이는데, 이 파란 하늘은 몇 프레임 동안 지속된다. 또한, 인간의 눈이 볼 수 있는 한계 때문에 영상에서 인식할 수 없을 정도의 영상 품질감소를 통해 데이터를 줄이는 것이 가능하다.
TV 카메라는 보통 초당 25장(유럽 기준) 또는 29.97장(북미 기준)의 프레임을 발생시킨다. 디지털 TV는 컴퓨터 하드웨어를 통해 처리하기 위해 이러한 사진들을 디지털화할 수 있어야 한다. 그런 다음 각각의 화소는 하나의 루마 숫자와 두 개의 색차 숫자로 표현된다. 이 세 가지가 밝기와 픽셀의 색상을 표현한다.(YCbCr 참조.) 그러므로 각 디지털화된 사진은 처음에 3가지 직사각형 숫자 배열으로 표현된다.
방송/인코딩에서 데이터 양을 줄이기 위한 일반적이고 전통적인 방법은 두 필드로 나누는 것이다. '톱 필드'(top field)는 홀수 번째 수평선들이고, '바텀 필드'(bottom field)는 짝수 번째 수평선들이다. 수신/디코딩에서는 한 필드의 수평선들이 이전 필드의 수평선들에 끼워지고 번갈아가며 표시된다. 이러한 방식을 비월 주사 방식이라고 하며 두 연속적인 필드를 합쳐 '프레임'이라고 한다. 일반적인 필드 레이트는 50(유럽/PAL) 또는 59.94(미국/NTSC)FPS('Field' Per Second)이다. 비월주사방식처럼 필드가 끼워지지 않는 방식을 순차주사방식이라 하며 각각의 사진을 프레임이라 한다. MPEG은 두 가지 방식을 모두 지원한다.
데이터레이트를 줄이기 위한 또 다른 일반적인 방식은 '씬 아웃'(thin out)하거나, 두 색차 평면을 서브샘플링하는 것이다. 결과적으로 남아있는 색차 값은 삭제된 주변값들을 표현한다. 씬 아웃이 통하는 이유는 인간의 눈이 색차 세부정보보다 밝기 세부정보를 더 잘 결정하기 때문이다. 색차 형식은 색차값의 절반이 삭제되었다는 것을 나타낸다. 4:2:0 색차 형식은 3/4의 색차값이 삭제되었다는 것을 나타낸다. 어떠한 색차값도 삭제되지 않았다면, 그 색차 형식은 4:4:4이다. MPEG은 세 가지를 모두 지원한다.
MPEG-2는 비압축 프레임을 압축하는 방식을 세 가지 종류의 프레임으로 나누어 규정한다.(I-프레임, P-프레임, B-프레임)
I-프레임은 하나의 비압축 프레임의 압축된 버전이다. 이 프레임은 공간적 중복성과, 인간의 눈이 사진의 일정한 변화를 감지하지 못 한다는 것을 이용한다. P-프레임과 B-프레임과는 다르게 I-프레임은 이전 또는 다음 프레임의 데이터에 의존하지 않는다. 쉽게 말해서, 비압축 프레임은 8x8 픽셀 블록으로 분할된다는 것이다. 각각의 블록에 존재하는 데이터는 이산 코사인 변환(DCT)을 통해 변환된다. 변환의 결과는 계수의 8x8 행렬이다. 이산 코사인 변환은 주파수 변수로 공간적 변수를 변환하지만, 블록의 정보를 변환시키지는 않는다. 원래의 블록은 역 이산 코사인 변환을 적용함으로써 정확히 재생성될 수 있다. 이렇게 함으로써 얻는 이점은 사진이 계수의 양자화를 통해서 간단화될 수 있다는 것이다. 많은 계수들 중 보통 높은 주파수를 가진 구성요소가 0이 될 수 있다. 이 과정의 나쁜 점은 밝기와 색상의 미세한 구별이 손실된다는 것이다. 만약 하나가 행렬로의 역이산 코사인 변환을 양자화된 행렬에 적용하면 그 하나는 원본 이미지와 매우 비슷해보이지만 세밀하지 못한 이미지를 얻게 된다. 그 다음, 양자화된 계수 행렬이 그자체로 압축된다. 보통, 양자화된 행렬의 한 귀퉁이는 0으로 채워진다. 행렬의 반대쪽 코너부터 시작함으로써, 계수를 한 줄로 결합시키기 위해 행렬을 통해 지그재깅한고, 그 한 줄 안의 연속적 영을 위한 런 렝스 부호화를 대체하고허프만 부호화를 결과에 적용하고 하나는 더 작은 수 배열로 행렬을 감소시킨다. 방송되거나 DVD에 넣는 것은 이 배열이다. 수신기 또는 플레이어에서, 수신기를 정밀하고 원래의 프레임을 재구성하도록 하는 모든 과정은 반대이다.
보통 모든 15번째 또는 그 이상의 프레임은 I-프레임으로 만들어진다. P-프레임과 B-프레임은 사진 그룹(GOP)을 형성하기 위해 IBBPBBPBBPBB(I)와 같은 I-프레임을 따를 수도 있다. 그러나 H.262/MPEG-2 파트 2는 이에 대해 유연한 기준을 적용한다.
P-프레임은 이전의 I-프레임이나 P-프레임의 데이터를 이용할 수 있기 때문에 I-프레임보다 더 압축할 수 있다.(레퍼런스 프레임:기준 프레임) P-프레임을 발생시키기 위해 이전 기준 프레임은 TV 수신기나 DVD 플레이어에서와 마찬가지로 재구성된다. 압축된 P-프레임은 16x16 픽셀 매크로블록으로 분할된다. 그리고 나서 각각의 매크로블록에 대해 재구성된 기준 프레임이 압축된 매크로블록과 제일 적합한 16x16 매크로블록을 검색한다. 오프셋은 '모션 벡터'로서 인코딩된다. 많은 경우에 오프셋은 0이 된다. 그러나 사진 속의 무엇인가가 움직이면 오프셋은 '오른쪽으로 23픽셀, 위쪽으로 4픽셀' 등과 같이 변하게 된다. 두 매크로 블록 간의 매치가 종종 완벽하지는 않을 것이다. 이것을 맞추기 위해 인코더는 두 매크로블록의 모든 일치하는 픽셀의 차이를 가질 것이다. 이 "residual"은 모션벡터와, 각각의 압축된 매크로블록을 위한 DVD에 저장된 수신기로 보내진 결과에 덧붙여진다. 가끔씩 적합하지 않은 매치가 찾아진다. 그러고 나서 매크로블록은 I-프레임 매크로블록처럼 취급된다.
B-프레임을 처리하는 방식은, B-프레임이 기준 프레임 이전 사진과 더불어 레퍼런스 프레임의 다음 사진을 사용하는 것을 제외하고는, P-프레임의 처리와 비슷하다. 결과적으로 B-프레임은 보통 P-프레임보다 더 압축될 수 있다. B-프레임은 기준 프레임이 될 수 없다.
위에서 일반적인 MPEG-2 영상 압축에 대해 설명하였지만, 필드, 색차 포맷, 장면 전환에 대한 응답, 비트스트림의 부분에 붙여진 특별한 부호, 다른 정보를 포함해서 논의되지 않은, 많은 세부사항이 존재한다.