私はビデオ圧縮に堪能ではありませんが、現在はH.264を使用して残像を圧縮するプロジェクトに取り組んでいます。ブロック動き補償エンコーダ - 基準フレームのブロックノイズを処理する方法?
私の質問はビデオエンコーダに関する一般的な性質です。 私が理解しているように(Wikipediaが説明しているように)、ブロック動き補償エンコーダは、現在のフレームが出てきた参照フレームでチェックする各ブロックについて、現在のフレームをいくつかの重複しないブロックに分割し、所望のブロックおよび動き補償されたブロックを生成し、この残差を何らかの形で符号化する。
「ブロック動き補償の主な欠点は、ブロック境界に不連続性を導入することです(ブロッキングアーチファクト)。これらのアーチファクトは、人間の目によって容易に検出される鮮明な水平および垂直エッジの形で現れます。残差フレームの変換符号化に使用されるフーリエ関連変換においてリンギング効果(高周波サブバンドの大きな係数)を生成する」と述べている。
したがって、(符号化されているため)参照フレームにはブロックアーティファクトが既に含まれているため、これらのブロックアーティファクトが現在のブロックにシフトされ、残差が計算されると、ブロックアーティファクトによって作成された高周波数シフトされたブロックの境界では残差の不連続点としても表示されます。また、不連続性は一般に圧縮には悪い。
動き補償ブロックエンコーダは、残差を圧縮する前にこのブロックアーティファクトをどうにか処理しますか?ブロックがどのようにシフトされたかを正確に把握しているので、ブロック境界がどこにあるかを知っており、残差を符号化する前または符号化中に何かを行うことができ、不要な高周波を除去/無視することができます。 このようなことがH.264のようなコーデックで実行されている場合、エンコーダがどのようにこれを行うのかについての主な概念を説明できる人がいますか? エンコーダは、参照フレーム内のブロックアーティファクトをどう扱うのですか?
素晴らしい質問です。うわー! – Alex