ビデオに選択するサイズ変更アルゴリズムはどれですか?


21

これらの設定でのエンコードにVirtualDubを使用していますアルゴリズムのサイズ変更

ただし、1920x1080で記録し、1280x720にサイズ変更します。質問:バランスの取れた品質とファイルサイズの決定を行う際に、どのアルゴリズムを選択する必要がありますか?

それは事前に構成されたものだからです。私の質問では、これらの説明はまったく役に立ちません。

回答:


25

TL; DR

サンプリングする場合:LanczosまたはSplineフィルタリングを使用します。

サンプリングする場合:バイキュービックまたはランチョスフィルタリングを使用します。

これらは、私が長年にわたって読んだ資料に基づいており、業界で使用されているものを見てきました。推奨事項は、コンテンツタイプとアプリケーション領域によって異なる場合があります。

なぜそれが重要なのですか?

ビデオをダウンスケールする場合、サイズ変更フィルターはそれほど重要ではないと主張できます。さらに重要なことは、アップスケール時に品質に影響を与えることです。そもそもデータが存在しない場所でデータを生成する必要があるからです。

これらのフィルターはすべて、ファイルサイズにわずかな影響しか与えません。したがって、大きな違いについて心配する必要はありません。

事実は、ビデオをエンコードするときのように、結果がソース素材に大きく依存することです。常に結果を予測することはできませんが、最適な結果を確認してください。

異なるアルゴリズム

例として、ここにあるバイキュービック補間バイリニアは

     ここに画像の説明を入力してください

バイキュービック補間がより滑らかなエッジをもたらすことがわかりますか?これは非常に一般的な説明ですが、ここで画像スケーリングアルゴリズムの概要を見つけることができます。

  • バイリニア補間は、ピクセルの2x2環境を使用し、これらのピクセルの平均を使用して新しい値を補間します。これは最良のアルゴリズムではなく、むしろ高速です。

  • バイキュービック補間は、ピクセルの4x4環境を使用して、最も内側のピクセルをより高く重み付けし、次に平均値を使用して新しい値を補間します。私の知る限り、最も人気があります。

  • 面積平均化では、ソースピクセルとデスティネーションピクセルのマッピングを使用し、カバーされるデスティネーションピクセルの割合に関してソースピクセルを平均化します。このページによると、ダウンサンプリングの際により良い結果が得られるはずです。

  • スプラインおよび sinc補間は高次の多項式を使用するため、バイキュービック補間よりも計算が困難です。処理時間の全体的な増加はそれらを使用する価値があるとは思わない。

  • ランチョスのリサンプリングには、sincフィルターも含まれます。計算コストは​​高くなりますが、通常は非常に高品質と言われ、アップサンプリングやダウンサンプリングに使用できます。

  • hqxおよび 2xSaIフィルターは、ピクセルアートスケーリング(ゲームエミュレーターなど)に使用されます。ビデオでそれらを使用する正当な理由はないと思います。

ジェフ・アトウッドの比較

ジェフアトウッドは画像補間アルゴリズムの比較をしたことがわかりました。彼の経験則は、ダウンサンプリングにバイキュービック補間を使用し、アップサンプリング時にバイリニア補間を使用することでした。とはいえ、これはビデオエンコーディングに一般的に推奨されるものではありません。一部のコメント者は、この分野におけるAtwoodの専門知識について疑問を呈しています。

しかし、彼は…

画像の縮小は完全に安全で合理的​​な操作です。情報を破棄するだけで、精度と解像度が低下します。画像を必要なだけ小さくして、完全な忠実度を実現します。これは、許可したピクセル数の範囲内です。どのアルゴリズムを選択しても、良い結果が得られます。(まあ、nave Pixel ResizeまたはNearest Neighborアルゴリズムを選択しない限り。)

他の例

ここであり、画像補間アルゴリズムのいくつかの詳細例 Iは、上述したものを含むが、。

また、ダウンサンプリングのバイキュービックフィルタリングを明示的に禁止しているビデオエンコーディングシーンからドキュメント(シーンルール)を見つけました。代わりに、ランチョス、スプライン、または「ブラックマン」のリサンプリングを推奨しています。


以前は常に「正確なバイキュービックA = 100」を使用していました。更新されたプログラムを再インストールすると、Lanczosがデフォルトになり、多くの人が気に入っていました。私はそれを長い間そのように残しました。やがて、後でエンコードされたLanczosのものを見て回り、エンコードの次のセットとしては良くないと思い、バイキュービックに戻しました。圧縮も処理していましたが、総データサイズをそれほど小さくしようとしないのであれば、ランチョスの方がよさそうだと思います。
サイコギーク

2
FWIWジェフ・アトウッドは画像処理の専門家だとは思いません。その記事では、双線形、最近傍、または双三次の(特定のバリアント)以外は調べていません。ほとんどの人は、拡大が悪い場合にバイリニアを使用するという彼の推奨に同意するでしょう。
thomasrutter

1
@thomasrutterありがとう。私はこれに同意します。これを書いたとき、おそらく今のように画像処理についてあまり知らなかったでしょう。その記事への参照を削除し、他のソースを見つけると思います。
slhck

8

これのいくつかを文書化した良い画像を見つけました。

ここに画像の説明を入力してください

フルサイズ版はこちら

一般的に、大きな画像を小さな画像にするには穏やかなシャープ効果を、小さな画像を大きな画像にするには穏やかなぼかし効果を使用します。MadVRフィルターは、アップスケーリングの場合はデフォルトでLanczosに、ダウンスケーリングの場合はバイキュービックに設定されます。


2

3x3の元のピクセルを2x2のターゲットピクセルに変換しています。

鋭い線を維持したい場合は、ランチョスまたは周囲のピクセルをより多く使用して、鋭い線をぼかすことがないもの(毛皮や反射など)を選択します。

それ以外の場合、面積平均など(双線形/三線形)で十分です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.