■ 貧乏人のためのCG講座 アラカルト編

2.画像の変形・拡大・縮小方式

 一口に画像の変形・拡大・縮小といっても、ソフトによってその処理の仕方はさまざまです。それらの方法の特徴をまったく気にせずに処理してしまうと「しまった!」ということもおこると思いますので、ここで簡単に説明したいと思います。

 画像の変形、拡大、縮小といった操作でよく用いられるのは次の3つのアルゴリズムです。

 ソフトによってはこの3つのアルゴリズムから処理方法を選ぶことができるものもあるし、1種類しか搭載していないものもあるけどね。


■ニアレストネイバー法
縮小前 縮小後

 最も原始的なアルゴリズムで、D-Pixedの「拡大・縮小」機能はこれを採用しています。この方法では、まず変形後のあるピクセルが変形前にどこの座標に位置していたかを計算します。そして得られた座標を四捨五入または小数点以下切り捨てし、その座標にあるピクセルの色を変形後の色として採用します。

 変形後のピクセルの色は変形前の画像から単純に拾ってくるだけですから、この方法では変形前と変形後で色数が変化しないという特徴があります。256色専用ソフトのD-Pixedで採用されているのはこのためです。しかし、結果的に元画像のピクセルを間引いただけということになりますので、できあがってくる画像の質は上の例を見てのとおり最低です。よほど特別な場合以外、使い道はないと思います。

■バイリニア法
縮小前 縮小後

 いわゆる「線形補間」というヤツで、直感的で非常に分かりやすいアルゴリズムです。この方法では、変形後のあるピクセルが変形前のどの領域に相当するかを計算し、その領域内にあるピクセルの色の平均値を変形後のピクセルの色とします。

 複数のピクセルの色の平均値を使うので、変形後の画像には変形前には存在しなかった色が含まれることになります。また、一般に色数も増えますが、256色以下しか扱えないというような場合以外はあまり問題にならないでしょう。できあがってくる画像の質は「普通」です。素直なアルゴリズムだけに、これといった長所もありませんが短所もないのです。何も考えずに使っても大きな失敗のない方法です。

■バイキュービック法
縮小前 縮小後

 この方法はバイリニア法の発展形とも言えるものです。バイリニア法では「変形後のピクセルが、変形前に占めていた領域」だけを評価対象にしていましたが、バイキュービック法ではさらにその周りの領域に含まれる色も考慮に入れて変換を行います。

 バイリニア法よりも広い領域を扱うので、より精度の高い処理が行えるんじゃないかと直感的に感じると思いますが、事実その通りで、この方法を用いると非常に自然できれいな変形が行えます。色数が増える傾向にあるのはバイリニア法と一緒です。

 ただし、この方法には1つだけ注意しなくてはいけない点があります。

 バイキュービック法では周りの領域も扱うので、バイリニア法のように単純に平均を取るというわけにはいきません。そこで別の関数を使って処理するのですが、この関数の特性で、変形後の画像はエッジが強調される傾向になります。ちょうどフォトレタッチソフトなんかにある「アンシャープマスク」をかけたのと同じような状態です。

 下の2枚の絵を見てください。これはそれぞれバイリニア法とバイキュービック法で縮小した画像の一部を拡大したものですが、バイキュービック法で縮小した方には黒い主線の周りに、バイリニア法で縮小したものには見られない明るい色のピクセルが混じっているのが分かるでしょうか?

バイリニア法 バイキュービック法
Fig. バイリニア法(左)とバイキュービック法(右)

 大した差ではありませんが、絵によっては目立つ場合もあるかもしれません。特に色数の少ないアニメ調の絵では要注意です。そういう場合はバイリニア法を使ったほうがいいでしょう。もっとも、裏を返せば、バイキュービック法では変形・縮小しても画像がボヤケにくいということでもあります。このあたりはまさしく好みの問題になってきます。



前のページへ 目次へ サイトトップへ