[osask 6709] Re: Jenny2.

  こんばんは、川合です。


FORM-Akkie さんは 2003/11/29 23:04:25 の「[osask 6708] FORM: Re:
 Jenny2.」で書きました:

> 上記のようなわけで、川合さんの言うほどそのパレットに強く
>依存しているわけではないのです。発想は。
> 質問に対する回答です。前者を例にしますと、0xc0以下と以上で
>分けて、"以上"の範囲を潰してしまうしかありません。"以下"の
>範囲は従来どおりに処理します (0x00のパレットが最小で0xc0の
>パレットが最大であるとき、0xffをタイリングで表現することは
>不可能です)。
> そもそも、パレットから0x00, 0xffをはずすわけにはいかない
>と思います。タイリングは一次補間みたいなものですから。

  この辺が僕とは全然違うわけです。僕はリニアな階調さえあればいい
と考えているので、00、40、80、c0になってもアルゴリズムは全く変わ
らないわけです。一番明るい色(ff)を利用可能な範囲での一番明るい
色(c0)に置き換えることさえできればよい、と考えるわけです(そし
て残りの色を駆使してそれっぽい絵にする)。全体的に暗くなろうが明
るくなろうが、それはその範囲でベストを尽くしているからOKだと。

  ・・・だから、n8が出た今となっては、黒がつぶれてしまうk8は即刻
没になり、両端が欠けてしまうitak8もn8と比べると、うーん、なわけ
です。

  ああええと、念を押しておきますが、これは僕の主観的な判断であっ
て、他の人の賛意を求めてはいません。I.Tak.さんのスタンスが好きな
人もきっとたくさんいると思います。そのうちI.Tak.さんドライバを使
ったディストリビューションが出るかもしれません。・・・k8を好き好
んで使う人はいないと思いますが。

(itak4での0x84系の色の活用)
> ところがどっこい、それほど特殊なわけではありません。

  いや、それはやっぱり特殊にみえます、僕には。あるグラデーション
と別のグラデーションとで、階調数が違うわけです。そういうのは、見
栄えがあまりよくないと「僕は」思うのです。16bitカラーを変換した
場合に、灰色の部分から色が出てしまう、みたいな問題も良くないと思
うわけです(n4やn8ではあえてGのLSBを無視してこの問題を解決してい
ます)。誤差を考えるなら、これも退化といえるかもしれません。

> i*は入力に対して忠実だが、n*はコントラストが強くなってい
>る、というのが私の見解です。入力をx軸、出力をy軸にしてプロッ
>トすると分かると思いますが、i*の方が全体的に誤差が小さくなり
>ます。

  その見解は一理あります。

  僕の方式はそもそも誤差という考えがないのです。最終的にパレット
でどの色に変換されるかということをほとんど考えず、リニアなものを
リニアに変換しようというだけです。最大がffだとか最小が00だという
ことには全く関心がないわけです。画面モードが違えば、同じ00で同じ
暗さにならないかもしれませんし、ffにも同じ事がいえます。だから僕
は気にしないことにしました。

> どっちが普通か? という問題については、汎用の減色ツールに
>パレットを与えて減色してみれば分かることですので。やってみま
>すか。

  これについては、別にどちらの考えが一般的かということが重要では
ないと思いますし、ツールによりけりな気がしますので、どちらの結果
になってもあまり参考にならない気がします。・・・僕は自分の視点か
らの見解を添えて両方の視点から考えられるようにするために書いたま
でで、こっちが一般的であると主張するつもりはありません。そういう
見かたもあるな、程度に捉えてください。

(fuji比較)
> カラーバランスは、前述のように、外側と内側の分離が不完全
>だからですね。
> で、"さらに明るくな"るのは、たまたま苦手な色だったからだろ
>う、としか言いようがありません(--; どっちのパターンを出力す
>るか微妙な色だが、明るい方に近いから明るくした、ということで
>す。こういうことはどんな減色ルーチンでもあることです。n4にも
>そういう弱点色はあります (誤差が最大になる色は0x33とか0xccと
>かです) 。もしかしたら、裾野の緑色がそうなのかもしれません。

  空が明るくなったのは、たぶん、苦手な色だからではなく、0x84系の
色を使うためによる副作用であると、僕は思います。

> 裾野を見るか空を見るかという好みの問題は好みの分かれるとこ
>ろですので (?)、コメントは控えます。

  僕もそれには賛成です。そもそもいくつかの特定のサンプルだけで優
劣を決めるのは無理です。test043とかI.Tak.さんのグラデーションパ
ターンのようなものなら、ある程度客観的な評価もできますが。

> 私は、実装がどうであれ精度の良い出力が高速に出れば良いと
>考えています。プログラムに美しさを求めるのはかなりいいこと
>ですが、そのためにハードなり環境なりの特性を活かしきらない
>(パレットを8個しか使わないとか) のは、「そりゃエゴだよ!」と
>思うのです。

  僕は高速性も確かに重要だと思います。でも、高速モードが別にある
以上、変換速度によほどの大差が付かない限りは、「変換結果の見栄え
の良い(=元の絵を見てうける印象に近い)」アルゴリズムを使おうと
思います。プログラムやアルゴリズムが美しいかどうかは別です。誤差
が大きいか小さいかも全く考えていません。

  パレット8個しか使わない件に関しては、結局、入れたらかえって汚
くなるから入れないということであって、それ以外の理由はありません
(汚いというのは、印象が違うという意味です)。だから特定の色にだ
け階調が細かくなるといった、そういう汚さ(僕はこれは汚いと思うの
です)が無いような方法であれば、それは進んで取り入れると思います
。もちろん、僕自身は結果が美しいものはアルゴリズムも美しくなるの
ではないか、とは思っています。だから美しい結果を得るために、美し
いアルゴリズムを求める傾向があるのは認めます。でも、結果さえ美し
ければ、アルゴリズムがきれいでなくても、僕は全く構いません。

  ぶっちゃけた話、n8とitak8の見栄えの差は僅かです。もし、n8の変
換アルゴリズムを精いっぱい作ってもitak8の最高チューン版と2倍以上
の開きがあれば、n8の近似としてitak8を入れることはかなりありうる
と思います。そういう考えです。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/



ML番号でジャンプ
ML単語検索