私はビデオ圧縮にまったく精通していませんが、現在、H.264 を使用して残余画像を圧縮するプロジェクトに取り組んでいます。
私の質問は、ビデオ エンコーダーに関する一般的な性質のものです。私が理解しているように(ウィキペディアが説明しているように)、ブロックモーション補償エンコーダーは現在のフレームをいくつかの重複しないブロックに分割し、現在のブロックの元の参照フレームでチェックするブロックごとに、目的のブロックと動き補償されたブロックの場合、この残差を何らかの方法でエンコードします。
ウィキペディアは次のように述べています。「ブロック モーション補正の主な欠点は、ブロックの境界に不連続性が生じることです (ブロッキング アーティファクト)。これらのアーティファクトは、人間の目で簡単に見つけられ、リンギング効果を生み出す鋭い水平および垂直エッジの形で現れます (残差フレームの変換コーディングに使用されるフーリエ関連変換の高周波数サブバンドの大きな係数)。」
したがって、参照フレームには既にブロック アーティファクトが含まれているため (エンコードされているため)、これらのブロック アーティファクトが現在のブロックにシフトされ、残差が計算されます。シフトされたブロックは、残差の不連続としても表示されます。また、不連続性は一般に圧縮に悪影響を及ぼします。
動き補償されたブロック エンコーダーは、残差を圧縮する前に、このブロック アーティファクトをどうにかして処理しますか? ブロックがどのようにシフトされたかを正確に知っているため、ブロック境界がどこにあるかを知っており、残差をエンコードする前またはエンコード中に、この場所で不要な高周波数を削除/無視して、それらについて何かを行うことができます。このようなことが H.264 のようなコーデックで実行される場合、エンコーダーがこれを行う方法の主な概念を説明したり、用語を説明したりできますか? エンコーダーは参照フレーム内のブロック アーティファクトをどのように処理しますか?