매크로 블록 분할

매크로 블록은 다음 세그먼트로 나눌 수 있습니다. (이 작업은 다양한 특성을 가진 영역을 구획화하기 위해 수행됩니다.) 다음 다이어그램에서는 macroblock을 다음 세그먼트로 나눌 수 있는 방법을 보여 줍니다.

diagram illustrating basic macroblock partitioning schemes.

MPEG-2의 경우 프레임 그림에서 필드 구조화된 매크로 블록의 위쪽 및 아래쪽 부분은 서로 다른 인스턴스에서 캡처된 두 개의 서로 다른 필드의 선을 1초 간격으로 1/50초만큼 나타냅니다. 따라서 매크로 블록으로 덮인 프레임 영역의 두 필드 간에 상당한 이동이 일어난 경우 위쪽과 아래쪽 부분은 완전히 상호 관련되지 않은 콘텐츠를 가질 수 있습니다. 다음 그림과 같이 필드 구조 그림에 16x8 스키마가 추가되어 예측의 세분성이 더 세분화되어 가장자리와 동작 특성이 다른 작은 개체를 더 잘 수용할 수 있습니다.

diagram illustrating two mpeg-2 macroblock 16x8 partitions.

예측 블록 자체는 셰이프의 근사값이며 예측 블록이 나타내는 매크로 블록의 부분에 속하는 모든 샘플에 대한 동작 벡터의 손상 선택을 나타냅니다. 이상적으로 각 샘플에는 고유한 동작 벡터가 있지만, 이는 상당한 수의 비트를 소비하고 처리에 추가 오버헤드가 필요합니다.

예측 블록은 매크로 블록의 파티션 하나에만 영향을 줍니다. 전체 예측 블록은 매크로 블록의 16x16 영역을 포함합니다. (모든 H.261 및 MPEG-1 예측의 경우입니다.) MPEG-2는 매크로 블록의 이중 필드/프레임 특성을 해결하기 위해 16x8 예측 셰이프를 도입했습니다. 또한 MPEG-2 필드 구조 그림에 사용하기 위해 16x8 셰이프를 대여하여 보다 세분화된 예측을 만들었습니다. 8x8 셰이프는 H.263(고급 예측) 및 MPEG-4에 배포됩니다. 표준 모델 동작이 모든 색 구성 요소에 대해 동일하기 때문에 각 색광 예측 블록은 일반적으로 해당 광도 예측 블록의 동작 벡터에서 파생된 동작 벡터를 사용합니다.

색차 예측 블록은 일반적으로 해당 광도 예측 블록의 가로 방향과 세로 방향 모두에서 절반의 크기를 갖습니다. 따라서 색소 벡터는 일반적으로 각 광도 및 색소 샘플 차원의 차이를 고려하여 광도 벡터를 축소하여 파생됩니다. MPEG-2의 16x8 광도 예측 블록에는 해당하는 8x4 색차 셰이프가 있습니다.

광도 예측 블록이 너무 작아질 때 색소 블록 차원의 크기를 조정하는 방법에 대한 예외는 종종 발생합니다. 예를 들어 H.263 고급 예측 모드에서 색차 예측 블록은 8x8 모양으로 유지되며, 색광 동작 벡터는 4개의 8x8 광도 동작 벡터의 배율 평균에서 파생됩니다.