マクロブロックは、線形ブロック変換(通常は離散コサイン変換(DCT))に基づく画像およびビデオ圧縮フォーマットの処理単位である。マクロブロックは通常16×16のサンプルで構成され、さらに変換ブロックに細分化され、さらに予測ブロックに細分化されることもある。マクロブロックに基づくフォーマットには、 MCUブロックと呼ばれるJPEG、H.261、MPEG-1 Part 2、H.262/MPEG-2 Part 2、H.263、MPEG-4 Part 2、およびH.264/MPEG-4 AVCがある。[1] [2] [3] [4] H.265/HEVCでは、基本処理単位としてのマクロブロックはコーディングツリーユニットに置き換えられた。[5]
技術的な詳細
ブロックを変換する
マクロブロックは変換ブロックに分割され、DCT などの線形ブロック変換への入力として機能します。マクロブロックを使用する最初のビデオ コーデックである H.261 では、変換ブロックのサイズは 8×8 サンプルに固定されています。[1] 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ハイプロファイルでは、変換ブロックのサイズは4×4または8×8のいずれかになり、マクロブロックごとに調整されます。[4]
予測ブロック
変換ブロックへの分割とは異なり、マクロブロックは予測ブロックに分割できます。H.261、MPEG-1 Part 2、H.262/MPEG-2 Part 2 などの初期の標準では、マクロブロックごとに 1 つの動きベクトルを使用して動き補償が実行されます。[1] [2] H.264/AVC などのより新しい標準では、マクロブロックをパーティションと呼ばれる複数の可変サイズの予測ブロックに分割できます。[4] H.264/AVC のインター予測マクロブロックでは、パーティションごとに個別の動きベクトルが指定されます。[4]同様に、サンプルが隣接ブロックのエッジから外挿して予測されるイントラ予測マクロブロックでは、予測方向がパーティションごとに指定されます。[4] H.264/AVC では、予測パーティションのサイズは、インター予測 (動き補償) とイントラ予測の両方で 4×4 から 16×16 サンプルの範囲です。[4]
ビットストリーム表現
動き補償と変換符号化を使用するビデオコーデックにおけるマクロブロックの可能なビットストリーム表現を以下に示します。[6]これはH.261で使用される形式に似ています。[1]
+------+------+----------+----------+-----+----+----+-- ------+ | アドレス | タイプ | 数量 | ベクトル | CBP | b0 | b1 | ... b5 | +------+------+----------+----------+-----+----+----+-- ------+
- ADDR — イメージ内のブロックのアドレス
- TYPE — マクロブロックのタイプを識別します (イントラフレーム、インターフレーム、双方向インターフレーム)
- QUANT — 量子化を変化させる量子化値
- VECTOR —モーションベクトル
- CBP — コード化ブロック パターン。これは、どのブロックに係数が存在するかを示すビット マスクです。
- bN — ブロック(4 Y、1 Cr、1 Cb)
マクロブロッキング
マクロブロッキングという用語は、通常、ブロック コーディング アーティファクトを指すために使用されます。
参照
- JPEG、H.261、MPEG-1 パート 2、H.262/MPEG-2 パート 2、H.263、H.264
- コーディングツリーユニット
- 離散コサイン変換
- ビデオ圧縮画像タイプ
- 圧縮アーティファクト
- デブロッキングフィルタ
- ピクセル化
参考文献
- ^ abcd ITU-T (1993年3月). 「px 64 kbit/sのオーディオビジュアルサービス向けビデオコーデック」2013年4月28日閲覧。
- ^ ab ITU-T (2012年2月). 「汎用オーディオビジュアルサービスのための高度なビデオコーディング」 . 2013年4月28日閲覧。
- ^ ITU-T (2005年1月). 「低ビットレート通信のためのビデオ符号化」. 2013年4月28日閲覧。
- ^ abcdefg ITU-T (2013年4月). 「情報技術 - 動画および関連オーディオ情報の汎用コーディング:ビデオ」 . 2013年4月28日閲覧。
- ^ GJ Sullivan、J.-R. Ohm、W.-J. Han、T. Wiegand ( 2012-05-25 )。「高効率ビデオコーディング (HEVC) 規格の概要」(PDF)。IEEE Transactions on Circuits and Systems for Video Technology。2013-04-26閲覧。
- ^ Marshall, Dave (2001-04-10). 「フレーム内コーディング」。マルチメディアモジュール番号: CM0340 。 2014年2月13日閲覧。
