こんにちは、I.Tak.です。 From: Hidemi KAWAI <kawai !Atmark! imasy.org> Subject: [osask 6778] Re: Jenny2 Date: Sun, 14 Dec 2003 18:00:11 +0900 (減色結果を元に戻す話) > i8モデルの場合は、多分下位ビットに0を追加するだけです。だって > 最近値への丸めは、もう済んでいるはずですから。ここで変に0x58なん > てしようものなら、これを16階調に戻したときに6になりかねません。 それは誤解です。それでは傾きが保存されません。 y = x * 3 / 255 というのが変換の式で, 逆変換は x = y * 255 / 3 です。すなわち85倍にします。なんで64倍にするんですか? From: Hidemi KAWAI <kawai !Atmark! imasy.org> Subject: [osask 6780] Re: Jenny2 Date: Sun, 14 Dec 2003 18:40:57 +0900 > > そうかなあ。パレットインデックス値はどちらも4階調なのに > >傾きが違うのは変ですよ。 > > それはタイルを色の混合のための手段と見ているときは正しいのです > 。でも僕のように、混合の手段ではなく、混合された色域をフルに使っ > て色を割り振り直すという観点に立てば変わるわけです。 でも高速モードと高品質モードを混ぜたら (画像の一部を高速モード、 一部を高品質モードで出力したら) 矛盾が生じるわけですよ? それって 「高速」以上の大きな違いじゃありませんか。 > > 些細な変更で破綻するほど係数を大きくして、結果、入力最大値と > >出力最大値が一致しないモデルになっているというのが私の主張です。 > > 分かっております。その主張を撤回せよとは申しておりません。ただ > 、僕はこの主張はあいかわらず主観的意見の域を越えていないと思いま > す。つまり、飽和している理由は、減色結果から導き出されたものでは > なく、変換式の解釈によるものです。論より証拠であります。 減色結果から飽和を示さないと納得できないということでしたら, 図示しないと難しいので↓のページを見てください。 http://user.ecc.u-tokyo.ac.jp/~g240845/osask/n8.html > > 「受ける印象」が本当に等高線の間隔だけで決まると思いますか? > >地図ならともかく, 絵では等高線がどの程度の"高さ"にあるかは一目瞭然 > >です。 > > 0 1 2 3 > >というグラデーションと > > 0 0 3 3 > >というグラデーション (?) では, 等高線の間隔こそ違うものの受ける印象は > >近くなりませんか? > > この場合、おそらくオリジナルとしては、 > > 0123456789abcdef > > みたいなものを考えていると思います。そうすると、 それは誤解です。深読みしすぎですよ。 あえてオリジナルと減色結果と言うなら、0 1 2 3 がオリジナルで、 0 0 3 3 が減色結果です (でも区別する必要はありません)。「a と b が あって、c に近いのは a である」と言いたいのではなく、「a と b は近い」 と言いたいのです。そういう文ですよね? 等高線の間隔ではなく, 傾きこそ本質であるとずっと言っていたのです。 > ([OSASK 6709]より) > > 僕の方式はそもそも誤差という考えがないのです。最終的にパレット > >でどの色に変換されるかということをほとんど考えず、リニアなものを > >リニアに変換しようというだけです。最大がffだとか最小が00だという > >ことには全く関心がないわけです。画面モードが違えば、同じ00で同じ > >暗さにならないかもしれませんし、ffにも同じ事がいえます。だから僕 > >は気にしないことにしました。 > > ここで僕が言いたかったリニアは、「0123456789abcdefを、逆順にし > たり、波打たせたりするような変換ではない」という意味合いでしか使 > っていないつもりです。僕がどんな意味合いで、リニアという語を使っ > たのかということを無視して、リニアという語にこだわっても、何にも > なりません。僕が「それは違うよ」と言えば違うのです。そこに固執し > ていては、実りのない、ただの揚げ足とりになりかねません。 リニアにこだわったのは、「正しい減色は線型」という共通の理解が あると思ったからです。しかしそうではなかったんですね。 なお極めて私見ですが、あの文から「"リニア"≠線型」という意図を 汲み取るのは困難です。エスパーかニュータイプでなければ無理でしょう。 ここからは一応横槍です。 From: Hidemi KAWAI <kawai !Atmark! imasy.org> Subject: [osask 6782] Re: Jenny2 Date: Sun, 14 Dec 2003 22:31:13 +0900 > >「減色は選択した色群(パレット)を使用して各ピクセルの元の値からの誤差 > >を小さくする変換である」という定義について、川合さんは納得して > >いただけますか? > > この定義は、僕の理解とはあいません。本当にこんな定義なのでしょ > うか。 川合さんの定義をぜひとも教えていただきたく思います。 > もちろんこのような減色もありますが、たとえば自由なパレットを30 > 個与えて、そのパレットのRGB値を決めつつ、処理をする場合もあるよ > うに思います。そのような処理は、この定義の外になってしまいます。 それは誤解でしょう。 この定義は、*誰が*選択した色群かを明示していません。人間が決めた 色群もプログラムが勝手に決めた色群も含むんじゃないんですか。 私が今まで見た減色ツールはパレットを決めてから上記のようなアルゴ リズム (まさかそのまま実装してはいないと思いますが) で減色している ようでした。 > また元の絵からの誤差を小さくする変換とした場合、何をもって誤差 > とするのでしょうか。RGB値ですか?それとも明度や色相?それともま > た別の指標? 誤差は 入力値→出力値ベクトル として表すのが一般的でしょう (今のOSASKに入れてある誤差拡散ルーチンはそのようになっています)。 なおRGB空間とYCbCr空間やYUV空間は行列計算と定数の加減算によって 変換可能です。誤差がどれかの空間で小さくなればほかの空間でも小さく なるはずです。 > 僕は僕なりに元の絵に近づけようとしています。それを減色でないと > 言い切るには、もうちょっと説明がほしいです。 川合さんがどんな基準でもって「元の絵に近くなった」と判断するのか 私には分かりませんので、教えてください。「元の絵に近い印象を与える」 と言われますが、それはどのように数値化されるのでしょうか。例えば ある写真のオリジナルと減色後Aと減色後Bを比較して、AとBとどちらが どの程度良いかをどう評価しますか。 まさか「人間が見て判断する (私がルールブックだ!)」とは言いません よね。 > 僕は「減色」という言葉は、アルゴリズムを規定しないと思っていま > した。例えば、グレイスケールにするのも減色の一種だと思っていまし > た。グレイスケールではRGB値的に一番近い色を選ぶのではなく、明度 > が近い色を選んでいます。 私も、アルゴリズムが規定されるとは思いません。そもそも上の"定義" にアルゴリズムが規定されているようには思えません。定義されているの は減色ルーチンの評価基準であるように思います。 > 僕は言葉をそのまま解釈するのではなく、何を言おうとしているかを > 読み取ります。もし言葉の使い方に食い違いがありそうだと思えば、誤 > 解ではないかとたずねて確認します。・・・むしろ、少ない言葉で正確 > に表現できることのほうが稀(まれ)であると僕は考えているので、言 > 葉にこだわることなく、できるだけ複数の方法で同じ事を説明しようと > 思うくらいです。正確な言葉にこだわりすぎたら、書くペースはお互い > に大いに下がり、議論は停滞するでしょう。 少ない言葉で楽に正確に表現するために, 専門用語が定義されています。 > > 私と、I.Takさんは「減色」のアルゴリズムについて話していたのですが、 > >川合さんは n式色調変換アルゴリズムについて話しているので話が > >かみ合わないわけです。 > > そうなんですか?>I.Tak.さん 何をもって「良い」減色とみなすかが完全に食い違っているように 思います (もしかしたら川合さんは減色しようとさえしていないのかも 知れませんが)。だから川合さんの基準をぜひ教えてください。 > 追加的なことをいうと、I.Tak.さんとしては、リニア性が高いほうが > 高品質だとしたいようです。僕も、i系アルゴリズムのほうが、僕の求 > めるレベル以上にリニアであることは認めます。しかし、僕はリニアで > あることが高品質だとは思っていません。・・・むしろ情報の損失が少 > ない分だけ(=全ての色の出現率が均等な分だけ)、n系のほうが高品 > 質といえるのではないか、と思ってしまうくらいです。 「リニア性が高いほうが高品質」まったくその通りでしょう。「ビデオ カードのA/Dコンバータは線形に反応している」と仮定すると、線形な減色 こそ自然です。基本的な物理には線型がたくさん出てきますし、類推して 線型を仮定するのは一般的なことです。 > それで確認ですが、整数論でリニアという語があるんでしょうか。つ > まりi8は整数から整数への変換であって、しかも丸めを伴っています。 > そういうときにリニアという言葉を普通に使っていて、それは線形量子 > 化を意味するのでしょうか。後学のために、教えてください。 私は知りません。i8がn8より線型であることを定義から導けるはずだと 考えて苦労しました。ところが川合さんは整数関数の線型性を重視して いないのでしたとさ。あちゃー。 I.Tak. <g240845 !Atmark! mail.ecc.u-tokyo.ac.jp> http://user.ecc.u-tokyo.ac.jp/~g240845/