매크로 블록

Macroblock

매크로 블록은 선형 블록 변환(일반적으로 이산 코사인 변환(DCT))에 기초한 이미지 및 비디오 압축 형식의 처리 장치입니다.매크로 블록은 일반적으로 16×16개의 샘플로 구성되며 변환 블록으로 더욱 세분화되어 예측 블록으로 세분화될 수 있습니다.매크로 블록에 근거한 포맷에는 MCU 블록, H.261, MPEG-1 파트 2, H.262/MPEG-2 파트 2, H.263, MPEG-4 파트 2, H.264/MPEG-4 [1][2][3][4]AVC라고 불리는 JPEG가 있습니다.H.265/HEVC에서는 기본 처리 장치로서의 매크로 블록이 코딩 트리 장치[5]대체되었습니다.

기술적 세부사항

변환 블록

매크로 블록은 DCT와 같은 선형 블록 변환에 대한 입력으로 기능하는 변환 블록으로 분할됩니다.매크로 블록을 사용하는 최초의 비디오코덱인 H.261에서는 트랜스폼블록의 크기가 [1]8×8로 고정되어 있습니다.4:2:0 크로마 서브샘플링을 사용하는 YCbCr 색 공간에서 16×16 매크로 블록은 16×16 루마(Y) 샘플과 8×8 크로마(Cb 및 Cr) 샘플로 구성됩니다.이러한 샘플은 4개의 Y 블록, 1개의 Cb 블록, 1개의 Cr 블록으로 나뉩니다.이 설계는 JPEG 및 MPEG-1 Part 2 및 H.262/MPEG-2 Part 2와 같이 고정 트랜스폼블록 크기를 가진 대부분의 매크로 블록 기반 비디오코덱에도 사용됩니다.4:0:0, 4:2:2, 또는 4:4:4와 같은 다른 채도 서브샘플링 형식에서는 매크로 블록 내의 채도 샘플의 수는 더 작거나 더 크며, 그에 따라 채도 샘플의 블록으로의 그룹화는 달라집니다.

H.263 및 H.264/AVC와 같은 보다 현대적인 매크로 블록 기반 비디오 코딩 표준에서는 변환 블록의 크기가 8×8 샘플 이외의 것일 수 있습니다.예를 들어 H.264/AVC 메인 프로파일에서는 트랜스폼블록 사이즈는 4×[4]4 입니다.H.264/AVC High 프로파일에서 변환 블록 크기는 매크로 블록 [4]단위로 조정된 4×4 또는 8×8이 될 수 있습니다.

예측 블록

매크로 블록은 변환 블록으로 분할되는 것과는 달리 예측 블록으로 분할될 수 있습니다.H.261, MPEG-1 Part 2, H.262/MPEG-2 Part 2 등의 초기 표준에서는 매크로 [1][2]블록당 1개의 움직임 벡터로 움직임 보정을 실시한다.H.264/AVC와 같은 최신 표준에서는 매크로 블록을 [4]파티션이라고 하는 여러 가변 크기 예측 블록으로 분할할 수 있습니다.H.264/AVC의 예측간 매크로 블록에서는,[4] 파티션 마다 다른 움직임 벡터가 지정된다.이에 대응하여 인접 블록의 엣지로부터 추정함으로써 샘플을 예측하는 예측 매크로 블록에서는 파티션 [4]단위로 지정된 예측 방향이다.H.264/AVC에서 예측 파티션 크기는 예측 간(동작 보정) 및 예측 내(inter-prediction)[4] 모두에 대해 4×4 ~ 16×16 샘플 범위입니다.

비트스트림 표현

움직임 보상변환 부호화를 사용하는 비디오 코덱에서의 매크로 블록의 가능한 비트스트림 표현은 다음과 같다.[6]H.261에서 [1]사용되는 형식과 유사합니다.

+-------+-----+-----+---+---+---++---++---++--- ADDR TYPE QUANT VECTER CBP b0 b1 ...b5 +-------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------
  • ADDR : 이미지 내 블록 주소
  • TYPE : 매크로 블록 유형(프레임 내, 프레임 간, 양방향 인터프레임)을 식별합니다.
  • QUANT - 다양한 양자화를 위한 양자화 값
  • 벡터 - 움직임 벡터
  • CBP: 코드화된 블록 패턴. 이는 존재하는 블록 계수를 나타내는 비트 마스크입니다.
  • bN : 블록 (4 Y, 1 Cr, 1 Cb)

매크로 블로킹

매크로 블록이라는 용어는 일반적으로 블록 코딩 아티팩트를 가리키는 데 사용됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b c d ITU-T (March 1993). "Video codec for audiovisual services at p x 64 kbit/s". Retrieved 2013-04-28.
  2. ^ a b ITU-T (February 2012). "Advanced video coding for generic audiovisual services". Retrieved 2013-04-28.
  3. ^ ITU-T (January 2005). "Video coding for low bit rate communication". Retrieved 2013-04-28.
  4. ^ a b c d e f g ITU-T (April 2013). "Information technology — Generic coding of moving pictures and associated audio information: Video". Retrieved 2013-04-28.
  5. ^ G.J. Sullivan; J.-R. Ohm; W.-J. Han; T. Wiegand (2012-05-25). "Overview of the High Efficiency Video Coding (HEVC) Standard" (PDF). IEEE Transactions on Circuits and Systems for Video Technology. Retrieved 2013-04-26.
  6. ^ Marshall, Dave (2001-04-10). "Intra Frame Coding". Multimedia Module No: CM0340. Retrieved 2014-02-13.