画像を縮小する前にローパスフィルターを使用する必要がありますか?


8

どうやら、バイキュービックピクセル補間は、(リアルタイムかどうかに関係なく)画像を拡大または縮小するのに適しています。

ダウンサイジングする前にローパスフィルターを使用することをお勧めしますか、それともバイキュービックサンプリングはエイリアシングの問題をまったく処理しますか?


1
私はあなたの前提について少し混乱しています...ローパスフィルターは質的にダウンサンプリングとどのように違うのですか?つまり、アルゴリズムは異なりますが、すべてが隣接するピクセルからサンプルを収集し、高周波を抑制します。大きな違いは結果画像の解像度です。それ以外の場合、2つの演算は同型です。両方を適用するのは冗長なようです。
ホルヘロドリゲス

よくここに私を混乱させます。エイリアシングを取得せずに画像をダウンサンプリングすることはできないことを知っています。画像を大きくするときにピクセルのバイキュービック補間を実行すると、非常に効果的で見栄えがよくなります。画像を小さくしてSEEMSを適切に機能させる場合も同じことを行いますが、結果としてエイリアスが多くなる可能性があるかどうかはわかりませんでした。技術的には、バイキュービックサンプリングを実行する前に画像になんらかのローパスフィルターを適用する必要があるのか​​、それともバイキュービックサンプリングが実際には十分であるのかと思いました。多分それ自体が一種のローパスフィルターであることがわかりました。
アランウルフ

1
他の質問で述べたMitchell-Netravaliの論文は、この考えを具体的に扱っています。彼はキュービックスを一般化し、エイリアスが最も少ないパラメーターを見つけました。これは、エイリアスがまったくないという意味ではありませんが、エイリアシングを最小限に抑えるためにどのキュービックを使用するかを指示するでしょう。
ホルヘロドリゲス

回答:


7

ダウンサンプリングパスが適切に設計されている場合、ダウンサンプリングの一部として効果的にローパスフィルタリングが実行されます。個別のローパスフィルター操作は必要ありません。

基本的に、ダウンサンプリングするときは、ソース(高解像度)の画像ピクセルに対してフィルターを実行しますが、フィルターは宛先(低解像度)のピクセルの位置でのみ評価します。このフィルターのフットプリントは、ソースピクセルの間をスキップして情報の欠落を回避するために、ターゲットピクセル間のおおよその間隔である必要があります。しかし、これはフィルターのフットプリントがいくつかのソースピクセル幅になるため、ソースを効果的にローパスすることを意味します。

たとえば、画像を各軸で正確に10倍ダウンサンプリングするとします。ボックスフィルター(たとえば)を使用して、各宛先ピクセルをソースピクセルの10x10ボックスの平均に設定します。これは10px未満の機能をすべて消去するため、実質的にローパスフィルターです。

あなたはバイキュービック補間について言及しています。ここでは、フィルタリングと補間を区別する必要があります。補間は、ダウンサンプリングではなく、アップサンプリングに適しています。バイキュービック補間は、バイキュービックスプラインパッチをピクセルの4x4近傍に適合させ、補間されたポイントでパッチを評価することで機能します。小さな係数(最大2倍程度)で画像をダウンサンプリングするには十分に機能する可能性がありますが、それよりもはるかに遠い場合は失敗します。たとえば、前の例のように10倍のダウンサンプリングを行った場合、バイキュービックでソースピクセルの大部分が失われ、結果にかなりエイリアスが発生する可能性があることがわかります。

一方、バイキュービックフィルタリングは、(ボックス、三角形、ガウス、ランチョスなどのカーネルではなく)バイキュービック関数であるカーネルを使用した、単なる標準のフィルタリングです。Mitchell-Netravaliカーネルは、このタイプの典型的な例です。ダウンサンプリングに使用する場合、カーネルは先に説明したように宛先ピクセルの間隔に合わせて適切にサイズ設定する必要があり、4x4またはその他の固定サイズの近傍だけでなく、フットプリントのすべてのピクセルを合計します。

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