加藤(大阪)です。 Mon, 3 Mar 2003 15:12:42 +0900 付 cachu <cachu@xxxxxxxxxxxxxx> さんのメールより: > > パラメータ 222 はどういう根拠で選ばれたのでしょう。 > > > > 自分なら良く考えもせず 256 とかやってしまいそうなのですが・・・ > > まずなぜ ppmquant を挟んだかですが、フィルターを試す前にターミナル上で > > $ bmptoppm hoge.bmp | ppmtoxpm > hoge.xpm > > としたら「色数が多すぎます、ppmquant 256 を試してください」と出ましたの > で、減色をする必要があると判断し ppmquant を挟みました。 > > つづいて「なぜ 222 なのか?」ですが、深い理由はありません。フィルターの > 書式のサンプルとして /usr/share/tgif/tgif.Xdefaults を見ますと PNG → XPM > や JPEG → XPM の例がありました。そのいずれも ppmquant 222 としていました > ので、256 ではなく 222 にすることに何か意味があるのだろうと思ってそうし > ました。特に根拠はありません。 > > ただ意味付けとしては小澤さんの書かれた > > Noriaki OZAWA <ozawa@xxxxxxxxxxxxxxxxxx> wrote: > > > TGIFで表示する程度ならば普通は256色もあれば十分なので,減色させるよう > > です.例題のフィルタが222色なのはデフォルトで予約されているのを浸食し > > ないようにだと思います. > > なのかなという気もします。 お付き合いいただき、有り難うございます。 おっしゃる事は了解致しました。256色 - (標準パレット 19色 + α) = 222色 と言う事なのですね。 そこで、自分の環境(Vine 2.6r1 + update)で同じ事を確かめてみたのですが。 $ bmptoppm bc.bmp | ppmtoxpm > bc.xpm bmptoppm: Windows BMP, 714x536x24 ppmtoxpm: (Computing colormap... ppmtoxpm: ...Done. 140022 colors found.) と、問題無く 24bit true color に変換できました(実使用色は上に見られる ように、14万色ですが)。 この画像は、bmp の方は、先に[vine-users:058743]で書きました ppmquant フィルタなしの bmp 読み込みフィルタを通して Tgif に読み込むことが 出来ます。変換後の xpm の方も同様で、Tgif で obj ファイルに保存した 場合、どちらを挿入した場合も当然ながら同等の結果と成りました。 opj ファイルの頭の部分も、 color_info(140041,65535,0,[ "magenta", 65535, 0, 65535, 65535, 0, 65535, 1, ................ と、納得の行く色数と成っています。 ちなみに、Tgif と、各フォーマット変換ツールのバージョンは、 $ rpm -q tgif tgif-4.1.42-0vl1 $ bmptoppm --version bmptoppm: Using libpbm from Netpbm Version: Netpbm 9.24 bmptoppm: Compiled 2002年 6月 9日 日曜日 02:20:30 JST by user "tkoba" bmptoppm: BSD defined bmptoppm: RGB_ENV='RGBDEF' bmptoppm: RGBENV= 'RGBDEF' (env vbl is unset) $ ppmtoxpm --version ppmtoxpm: Using libpbm from Netpbm Version: Netpbm 9.24 ppmtoxpm: Compiled 2002年 6月 9日 日曜日 02:20:30 JST by user "tkoba" ppmtoxpm: BSD defined ppmtoxpm: RGB_ENV='RGBDEF' ppmtoxpm: RGBENV= 'RGBDEF' (env vbl is unset) $ rpm -q netpbm netpbm-9.24-4vl1 でした。 なお、このスレッドで提案された方法を各々 Tgif に挿入して試してみたところ、 写真系の画像(デジカメ画像、スキャナ取り込み画像等)ではどの方法でも、 それなりの画質が得られたのですが、CG 系の画像(3DCG出力等)では、以下の ような問題が出ました。 png 16M色ファイル、bmp(cachu さんのフィルタによる) 著しい画質劣化が見られました。(ブロックノイズ様の劣化) png 16M色 の場合も ppmquant 同等のフィルタが働いているようで、 よく似た傾向の劣化でした。 間引き減色によるものと思われます。 convert -colors 256 による減色画像 グラディション内にマッハバンドが見られました。 上の png 16M色、bmp + 減色フィルタ、程ひどくは有りませんが、プリンタ 出力した場合等は目立つかも知れません。 スレッド元の寺西さんの場合、(プログラムによる)実験結果の出力画像と 言う事でしたので、CG 系の画像と推測できますが、この場合、 可能な限りの高画質を求められるなら、 cachu さんのフィルタから減色フィルタを除いたもので bmp を直接 挿入するか、フルカラー xpm に変換して挿入する。 程々の画質で妥協できるなら、 gimp 等で適切なディザ処理を施した減色を行い、png、xpm、gif、etc の 256色ファイルに落してから挿入する。 が、良い結果を得られると思われます。 --- 加藤 雅 <mkato@xxxxxxxxxxxxx> http://isweb15.infoseek.co.jp/diary/add10/rox/