コンテンツにスキップ

画像スケーリング

出典: フリー百科事典『ウィキペディア(Wikipedia)』
最近傍スケーリング(左)と2×SaIスケーリング(右)でスケーリングされた画像

画像スケーリング(がぞうスケーリング、英語: Image scaling)とは、コンピュータグラフィックスデジタル画像処理でのデジタル画像のサイズ変更を指す。

ビデオ技術では、デジタル素材の拡大はアップスケーリングまたは解像度向上技術英語版として知られている。

ベクトルグラフィック画像をスケーリングする場合、画像を構成するグラフィックプリミティブは、画質英語版を損なうことなく、幾何学的変換を使用してスケーリングできる。ラスターグラフィック画像を拡大縮小する場合、ピクセル数が多い、または少ない新しい画像を生成する必要がある。ピクセル数を減らす(スケールダウンする)場合、これは通常、目に見える品質の低下をもたらす。デジタル信号処理の観点から、ラスターグラフィックスのスケーリングは、離散信号をサンプリングレート(この場合はローカルサンプリングレート)から別のサンプリングレートに変換するサンプリング周波数変換の2次元の例である。

数学上

[編集]

画像スケーリングは、ナイキストサンプリング定理の観点から、画像のリサンプリングまたは画像の再構成の一種として解釈できる。この定理によれば、高解像度のオリジナルからより小さな画像へのダウンサンプリングは、エイリアシングアーティファクトを防ぐために適切な2Dアンチエイリアシングフィルター英語版を適用した後にのみ実行できる。画像は、より小さな画像で保持できる情報に縮小される。

アップサンプリングの場合、アンチエイリアシングフィルターの代わりに再構成フィルター英語版が使用される。

アップスケーリングへのより洗練されたアプローチは、問題を逆問題として扱い、スケールダウンすると入力画像のように見えるもっともらしい画像を生成するという問題を解決する。これには、正則化項を使用した最適化手法や例からの機械学習の使用など、さまざまな手法が適用される。

アルゴリズム

[編集]

画像サイズはいくつかの方法で変更できる。

最近傍補間

[編集]

画像サイズを拡大する簡単な方法の1つは、最近傍補間で、すべてのピクセルを出力内の最も近いピクセルに置き換える。アップスケーリングの場合、これは同じ色の複数のピクセルが存在することを意味する。これにより、ピクセルアートの鮮明なディテールを維持できるが、以前は滑らかだった画像にジャギーが生じる。最近傍の「最近傍」は、数学的に最も近い必要はありません。一般的な実装の1つは、常にゼロに向かって丸めることである。このように丸めると、アーティファクトが少なくなり、計算が速くなる。[要出典]

このアルゴリズムは、滑らかなエッジがほとんどない、あるいは全くない画像にしばしば使用される。一般的な応用例は、ピクセルアートに見られる。

バイリニアおよびバイキュービックアルゴリズム

[編集]

バイリニア補間は、ピクセルの色の値を補間することで、元の素材が離散的な変化を持つ場合でも、連続的に変化する出力を得られる。 これは連続トーン画像には望ましいが、このアルゴリズムはコントラスト英語版(エッジのシャープネス)を低下させるため、線画には望ましくない場合がある。 バイキュービック補間は、計算コストは増大するが大幅に優れた結果をもたらす。[要出典]

Sincとランチョスのリサンプリング

[編集]

理論上、Sincリサンプリング英語版は、完全に帯域制限された信号に対して可能な限り最良の再構成を提供する。しかし実際には、Sincリサンプリングの前提は現実世界のデジタル画像では完全には満たされない。Sinc法の近似であるランチョス・リサンプリング英語版は、より良い結果をもたらす。バイキュービック補間は、ランチョス・リサンプリングの計算効率の高い近似と見なすことができる。[要出典]

ボックスサンプリング

[編集]

バイリニア、バイキュービック、および関連するアルゴリズムの1つの弱点は、特定の数のピクセルをサンプリングすることである。すべてのバイサンプリングアルゴリズムで、特定のしきい値(1/2倍未満など)を下回るダウンスケーリングを行うと、アルゴリズムは隣接していないピクセルをサンプリングするため、データが失われ、結果が粗くなる。[要出典]

この問題の簡単な解決策は、ボックスサンプリングである。これは、ターゲットピクセルを元の画像のボックスと見なし、ボックス内のすべてのピクセルをサンプリングするものである。これにより、すべての入力ピクセルが出力に寄与することが保証される。このアルゴリズムの主な弱点は、最適化が難しいことである。[要出典]

ミップマップ

[編集]

バイサンプリングスケーリングのダウンスケール問題に対する別の解決策は、ミップマップである。ミップマップは、事前にスケーリングされたダウンスケールコピーのセットである。ダウンスケーリングする際には、最も近い大きなミップマップが原点として使用され、バイリニアスケーリングの有効なしきい値を下回るスケーリングが使用されないようにする。このアルゴリズムは高速で、最適化も容易である。これは、OpenGLなどの多くのフレームワークで標準的に採用されている。代償として、画像メモリの使用量が増加し、標準の実装ではちょうど3分の1増加する。

フーリエ変換法

[編集]

フーリエ変換に基づく単純な補間により、周波数領域にゼロ成分を埋め込む(スムーズウィンドウベースのアプローチではリンギング英語版が低減される)。細部が良好に保存(または復元)される一方で、コンテンツの左端から右端への(およびその逆の)リンギングと循環ブリーディングが顕著である。

エッジ保存補間

[編集]

エッジ保存補間アルゴリズムは、階段状のアーティファクトが生じる可能性のある他のアルゴリズムとは異なり、スケーリング後に画像のエッジを保持することを目的としている。

このタスクのアルゴリズムの例としては、新エッジ指向補間(New Edge-Directed Interpolation、略称:NEDI) [1] [2] 、エッジガイド画像補間(Edge-Guided Image Interpolation、略称:EGGI) [3]反復曲率ベース補間英語版(Iterative Curvature-Based Interpolation、略称:ICBI)[4]、および方向性3次畳み込み補間英語版(Directional Cubic Convolution Interpolation、略称:DCCI) [5] などがあげられる。2013年の分析では、一連のテスト画像でDCCIのPSNRSSIM英語版において 最高のスコアを示したことがわかった [6]

hqx

[編集]

解像度が低い、または色数が少ない(通常2から256色)のコンピュータグラフィックスを拡大する場合、hqxまたは他のピクセルアート・スケーリング・アルゴリズム英語版によってより良い結果を得ることができる。これらは鋭いエッジを生成し、高レベルのディテールを維持する。

ベクトル化

[編集]

ベクトル抽出、またはベクトル化は、別のアプローチを提供する。ベクトル化では、最初に、スケーリングされるグラフィックの解像度に依存しないベクトル表現を作成する。次に、解像度に依存しないバージョンを、目的の解像度でラスター画像としてレンダリングする。この手法は、Adobe Illustrator 、Live Trace、およびInkscapeで使用されている [7]スケーラブル・ベクター・グラフィックスは単純な幾何学的画像に適しているが、写真は複雑であるため、ベクトル化には適していない。

深層畳み込みニューラルネットワーク

[編集]

この方法では、機械学習を使用して、写真や複雑なアートワークなどのより詳細な画像を取得する。この方法を使用するプログラムには、waifu2x、Imglarger、NeuralEnhanceが含まれる。

イーヴリン・ド・モーガンによる Phosphorus and Hesperus (クリックするとフルサイズ)を使用した、従来のアップスケーリングとノイズリダクションを使用したWaifu2xアップスケーリングのデモンストレーション。
元の画像
PaintShop Proを使用して200%アップスケールされた画像。
waifu2xを使用して200%アップスケールされた画像。中程度のノイズリダクションを備えた写真モード。
Topaz A.I.を使用して400%アップスケールされた画像。低ノイズリダクションのギガピクセル。
RealSR DF2K-JPEGを使用して400%アップスケールされた画像

MyHeritage Photo Enhancer英語版などの AI 駆動型ソフトウェアを使用すると、オリジナルには存在しないディテールと鮮明さを歴史的な写真に追加できる。

アプリケーション

[編集]

全般的

[編集]

画像スケーリングは、 ウェブブラウザ[8]画像エディタ、画像およびファイルビューア、ソフトウェア拡大鏡、デジタルズーム、サムネイル画像の生成プロセス、および画面やプリンタを介した画像の出力などのアプリケーションで使用される。

ビデオ

[編集]

このアプリケーションは、DVDプレーヤーなどのPAL解像度のコンテンツを、ホームシアター向けのHDTV対応出力機器向けに拡大する。アップスケーリングはリアルタイムで実行され、出力信号は保存されない。

ピクセルアートスケーリング

[編集]

ピクセルアートグラフィックスは通常、低解像度であるため、個々のピクセルを注意深く配置する必要があり、多くの場合、色のパレットが制限されている。これにより、個々のピクセルに至るまで解像度の低い、定型化された視覚的な手がかりに依存した複雑な形状を定義するグラフィックスが作成される。このため、ピクセルアートのスケーリングは特に難しい問題になる。

従来のスケーリングアルゴリズムは知覚的な手がかりを考慮に入れていないため、ピクセルアートグラフィックスを処理するための特殊なアルゴリズム[9]が開発された。

典型的なアプリケーションは、アーケードおよびコンソールエミュレーターでの第4世代のビデオゲームコンソール英語版以前のビデオゲームの外観を改善することであるため、多くは、小さな入力画像に対して毎秒60フレームでリアルタイムに実行するように設計されている。

高速ハードウェアでは、これらのアルゴリズムはゲームやその他のリアルタイム画像処理に適している。これらのアルゴリズムは、ぼやけを最小限に抑えながら、シャープでクリスプなグラフィックを提供する。スケーリングアートアルゴリズムは、HqMAMEやDOSBoxなどのさまざまなエミュレーター、2DゲームエンジンScummVMなどのゲーム・エンジン・レクリエーション英語版に実装されている。 これらの技術はゲーマーの間で高く評価され、1980年代と1990年代のゲーム体験の復活を促した。[要出典]

このようなフィルターは現在、 Xbox Live仮想コンソール、およびPSNの商用エミュレーターで使用されており、従来の低解像度ゲームを最新のHDディスプレイでより美しく表示できるようになっている。これらのフィルターを組み込んだ最近リリースされたゲームには、ソニック アルティメット ジェネシスコレクション悪魔城ドラキュラ Xクロニクル悪魔城ドラキュラX 月下の夜想曲悪魔城ドラキュラX 血の輪廻などがある。

リアルタイムスケーリング

[編集]

多くの企業が、ビデオゲームで画面に描画されるときなどに、ビデオフレームをリアルタイムでアップスケールする技術を開発している。 Nvidiaディープラーニングスーパーサンプリング(deep learning super sampling、略称:DLSS)は、高解像度のコンピュータモニターに表示するためにディープラーニングを使用して、低解像度の画像を高解像度にアップサンプリングする [10]AMDのFidelityFX Super Resolution(略称:FSR)1.0は機械学習を採用しておらず、従来のシェーディングユニットで空間的なアップスケールを実現するために従来の人が作成したアルゴリズムを使用している。 FSR 2.0は、これも人によりチューニングされたアルゴリズムを使用した時間的(temporal)なアップスケールを利用している。 FSRの標準化されたプリセットは強制されておらず、Dota 2などの一部のタイトルでは解像度スライダーが提供されている [11]。 その他の技術には、Intel XeSSやNvidia Image Scaler(略称:NIS)がある [12][13]

脚注

[編集]
  1. Edge-Directed Interpolation”. 2016年2月19日閲覧。
  2. Xin Li; Michael T. Orchard. “NEW EDGE DIRECTED INTERPOLATION”. 2000 IEEE International Conference on Image Processing: 311.
  3. Zhang, D.; Xiaolin Wu (2006). “An Edge-Guided Image Interpolation Algorithm via Directional Filtering and Data Fusion”. IEEE Transactions on Image Processing 15 (8): 2226–38. Bibcode:2006ITIP...15.2226Z. doi:10.1109/TIP.2006.877407. PMID 16900678.
  4. K.Sreedhar Reddy; Dr.K.Rama Linga Reddy (December 2013). “Enlargement of Image Based Upon Interpolation Techniques”. International Journal of Advanced Research in Computer and Communication Engineering 2 (12): 4631.
  5. Dengwen Zhou. Image Zooming Using Directional Cubic Convolution Interpolation”. 2015年9月13日閲覧。
  6. Shaode Yu; Rongmao Li. “Performance evaluation of edge-directed interpolation methods for noise-free images”. arXiv:1303.6455 [cs.CV].
  7. Johannes Kopf and Dani Lischinski (2011). “Depixelizing Pixel Art”. ACM Transactions on Graphics 30 (4): 99:1–99:8. doi:10.1145/2010324.1964994 2012年10月24日閲覧。.
  8. Analysis of image scaling algorithms used by popular web browsers
  9. Pixel Scalers”. 2016年2月19日閲覧。
  10. NVIDIA DLSS: Your Questions, Answered (英語). www.nvidia.com. 2021年10月5日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
  11. Valve's Dota 2 Adds AMD FidelityFX Super Resolution - Phoronix”. www.phoronix.com. 2021年7月21日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
  12. Gartenberg, Chaim (2021年8月19日). Intel shows off its answer to Nvidia's DLSS, coming to Arc GPUs in 2022 (英語). The Verge. 2021年8月19日時点のオリジナルよりアーカイブ。2021年10月13日閲覧。
  13. What Is Nvidia Image Scaling? Upscaling Tech, Explained (英語). Digital Trends (2021年11月16日). 2021年12月3日閲覧。

関連項目

[編集]