全5571文字
PR

高解像度になるほど性能差が大

 AV1/VVC/H.265の違いで特徴的なのは、符号化ブロックの分割サイズと形状である。映像符号化では、映像のフレームごとにN×N画素のブロックに分割し、その単位で符号化処理をする。H.265では、最大で64×64画素のブロックに分割していたが、AV1とVVCでは最大で128×128画素のブロックに対応した。

 ブロックの画素数を大きくすると、広範囲の画素を一度に符号化できる。同じ背景が連続するなど映像があまり変化しない範囲を大きなブロックで処理できれば、符号化処理の数が減り、計算量を減らせる(図1)。4Kや8Kなど高解像度映像で特に効果的である。

(a)AV1の符号化ブロック分割例
(a)AV1の符号化ブロック分割例
[画像のクリックで拡大表示]
(b)H.265/HEVCの符号化ブロック分割例
(b)H.265/HEVCの符号化ブロック分割例
[画像のクリックで拡大表示]
図1 最大ブロックサイズの拡大で同色部分を効率的に符号化
背景が白色など均一色のエリアが大きい画像の場合、H.265では符号化処理を4回に分ける必要があった領域が、最大ブロックサイズが大きくなったAV1なら1回で済むことがある。VVCでも同様だ。さらに、分割形状の種類が増えたことで分割回数を減らせる領域が多くなる。

 一方で、それほど画素数の多くないHD映像(720p)などでは、大きなブロックにして計算量を抑える分よりも、探索範囲が多くなり計算量が増えてしまう分で、全体で損する可能性があり、最大サイズを抑えて使うなどの工夫が要る注2)

注2)例えばドワンゴは、開発したAV1用ハードウエアエンコーダーでHD映像をリアルタイム処理する際、圧縮率や実装基板の大きさなどを考慮し、64×64画素を選択した。

 さらにAV1とVVCでは、映像の輪郭やエッジに合わせて分割しやすくした。具体的にはブロックの形状にバリエーションを持たせた。例えば、分割形状がAV1は10種類、VVCは6種類と多い(図2)。H.265は4種類である。加えて、繰り返し分割の最小サイズを4×4画素まで小さくした。H.265は最小で8×8画素だった。

図2 分割形状を増やして映像のひずみを抑える
図2 分割形状を増やして映像のひずみを抑える
符号化処理時のブロック分割パターンは、AV1は10種類、VVCは6種類になり、H.265の4種類から増加した。AV1とVVCはどちらも最大128×128画素のブロックサイズに対応し、H.265の最大64×64画素より大きくなった。VVCでは、ブロックを1:2:1の割合で分割できる三分木分割が可能になる予定だ。
[画像のクリックで拡大表示]