[osask 6788] Re: Jenny2

  こんにちは、川合です。これは技術的に論ずるに価すると思った内容
のレスです。


I.Tak. さんは 2003/12/16 12:57:46 の「[osask 6785] Re: Jenny2」
で書きました:

> 並べて見比べるとかいうんじゃなくて、もっと過激に混ぜるんですよ。
>高速モードとそうでないのとで部分フラッシュするんです。作ってみます。

  たとえば、8x8ドットくらいのグラフィックボックスを4個くらい横に
ならべて、

    +---+   +---+  +---+  +---+
    | A |   | B |  | C |  | D |
    +---+   +---+  +---+  +---+

ABCDのどれも灰色で埋め尽くすとします。それぞれ明るさが、

    A < B < C < D

の関係になるようにします。

  で、ABCDのどれも全部高速モードでフラッシュしたら、画面上の色が

     A <= B <= C <= D

になるのは自明です。また、全部を非高速モードでフラッシュしても、
上記の関係通りになります。

  i8とn8の違いを演出するとしたら、高速と非高速を混在させるのがい
いと思います。でも、そんなに問題視するほどの差が出るかなあ。

  タイリングで混ざった色は混ぜない色よりも明るかったり暗かったり
してみえる、という想定にたてば、i8でも、輝度の逆転は起こっちゃう
しなあ。そもそも高速モードというのは、こういうのを犠牲にしてでも
速く描画してくれってことなので、だから多少は入れ違っても僕は気に
ならないと思います。

  しかしうまい例を作ってくれたら、気が変わるかもしれません。楽し
みに待ちます。

>>   ・・・と、ようするに僕が言いたいのは、混じりを感じるかどうかは
>> 個人差があって、容易に共通の見解が得られるわけではないだろう、と
>> いうことです。混じりを感じないという前提に立てば、n系も一つの考
>> え方でしょう。
>
> 感じるというか直感したということです。ああこれは*離れて見たら*
>飽和して見えるだろうな、と。
>
> つまり川合さんは空間的混色の拡大に納得できなかったんですよね。
>じゃ、離れて見たら空間的混色が成立すると思いませんか。

  その「離れて見たら」っていうのは、あまり現実的じゃない気がする
ので(もちろん遠くから見ることもたまにはあるとは思いますよ)、発
想を逆転させて、表示対象を縮小するとか、解像度がむやみに高くなっ
たと考えてみることにします(それでもいいですよね?・・・駄目だっ
たら、以下の考察は無視してください)。

  もし目の分解能を超えて小さくなったら、それはもはや点に見えるで
しょう。そのレベルまで行けば、確実に混ざります。

  でもこうなると、そもそもグラデーションがどっち向きなのかすら分
からなくなっているかもしれません。仮に向きがどっち向きなのかぎり
ぎり分かるとしても、その両端の問題に気づくくらいに見えているとし
たら、きっとそんなに混ざって見えてはいないと思います。つまり、こ
の観点ではn8とi8を人間の目では区別できないでしょう。

  I.Tak.さんの指摘したいことが実感できそうなもっといい方法を考え
ました。ある点を、時間的に徐々に明るくしていったり暗くしていった
りする場合を考えるのはどうでしょうか(点とはいっても、まあ2x2ド
ットくらいはあるとする・・・点じゃなくて、面でもいいのか)。これ
なら、明るさの変化の速度が最初と最後で、ちょっとおかしいと感じら
れるかもしれません。何とも思わないかもしれません。見てみたいです
。見てみないと僕には何ともいえません。

  時間変化の例が気に入らなければ他のでもいいです、とにかく、実感
しやすそうな例を考えて、もし可能ならテストプログラムを作ってくだ
さい。

  一方、僕が気にしている等高線問題は、もっとずっと現実的な問題で
す。縮小するとか、遠くから見る、というレアなケースを持ちだすまで
もなく、既にfujiやtest043ではっきり見えています。少なくとも僕に
はよく見えます。どこに等高線が入るかが、どうでもいい問題だとは、
僕は思いません。そして僕はn系の入れ方がきれいだと思っています(
=元の絵=グラデーションの印象に近い)。I.Tak.さんはそう思わない
ようですが、きれいきたないとか、印象が近い近くないというのは、各
自の主観によるところが大きいと思うので、見解が一致しないのは、特
に問題ではありません。僕は説得する気はありませんので、等高線を無
理に否定しないでいいです。

>>   むしろ、高速モードは多少色が狂っても(僕はn系が狂っているとは
>> 思っていませんが)、簡単なアルゴリズムであるべきです。イメージの
>> 忠実さよりも、まずは高速に描画することを求められているからです。
>> 基本的にビットシフトだけで済むようなn系のアルゴリズムは、3/255や
>> 31/255という複雑な定数を乗じなければいけないものよりも、一般的に
>> 見て有利だと思われます。
>
> 13/256倍は複雑じゃないんですか? まあどちらが有利か、あるいは本当に
>n系は常に有利なのか、それは125色使った新しい改造版を出せばはっきり
>しますので少し待っててください。

  13/256倍は間違いなく複雑です。3/255と同レベルといってもいいと
思います。でも、僕はここでは高速モードの話をしておりまして、タイ
リング使用モードのことは論じておりません。だから、この直後に、

([OSASK 6784]より)
>>  しかし、タイリングモードでは、高速性はそれほど関係ないので、
>>i系を使うべきだというのも、一理あるとは思います。

と書きました。

  僕は今まで125色版というのは一体どういうことなんだろうと、OSASK
-Wikiを見ながら思案していたのですが(16色モードのタイリングが5階
調なので、そのこととごっちゃになったのかなあとか、125という数字
は何かの間違いなのかなあとか、そんな感じで)、これはひょっとして
256色モードで125個もパレットを使い、高速モードで5階調、タイリン
グモードでは17階調ということなんでしょうか。

  これはもちろん、i8よりもn8よりも明らかにきれいになると思います
が、その改善の度合いは、数割でしょう(きれいさを数値で判断するこ
とは簡単ではないですけど)。その程度の改善のために、貴重なパレッ
トリソースをさらに61個もシステムリザーブしてしまうというのは、あ
きらかにまずいです。

  今まではアプリに開放されているパレットが176個ありました(もっ
とも今はパレットを使うAPIがないので使えないことに変わりはないで
すが)。それが115個になってしまいます。使いすぎです。システムリ
ザーブが多すぎだと思います。

  でも、I.Tak.さんのアルゴリズムが完全に没になる事はありません。
システムとしてOSASKが組み込むのはだめですが、パレットを使うアプ
リとして生き残ることはできます(アプリは最大で176個までパレット
を使える)。256色モード向けのグラフィックビュワーとして、重宝す
るかもしれません。

  しかし、表示したい絵のRGBのヒストグラムを作って、そこから使う
べきパレット値を決めて、それで「減色」する方法のグラフィックビュ
ワーが出たら、そっちのほうが重宝しちゃうかもしれませんが。

  まあ実は僕の64個のパレットをアプリに開放させる手段もなくはない
ので、それを考えれば125個でもいいじゃんという気もちょっとします
が、うーん、どうかなあ。・・・この路線で行くと、1画面に1アプリな
んてことになりかねないからなあ。

>>   いや、僕は「a と b は近い」と言われても、分からないので質問し
>> たのです。aとbは、cとdよりも近い、というのは分かります。単にaとb
>> は近いと言われても、それは主観的な判断でしかないので、僕には賛成
>> も反対もできません。僕でも分かるように、何と比べて近いと言ってい
>> るのかを教えてもらえないでしょうか。
>
> だから、aとbを比べているんです。aとbは許容できないほどの差があり
>ますか。主観的な判断で結構ですので。

  主観もなにも、いったいどういうレベルの話なのか分からないので、
許容できると思うか思わないかも分からない・・・。

  0123を「0と3しか使えない状況で」表わすというなら、0033は近いと
思いますよ。でも、今は高さの話をしているんですよね。つまり他に、
0011とか0022とか1122みたいなものも選択肢にあるということなんです
か?それなら(=つまり1や2も使えるなら)、0033なんかよりも、0123
のままのほうがいいに決まっています。そう考えると許容できません。

  近い遠いは、差の問題であります。差が大きいか、小さいかというこ
とです。たとえばこれを長さで考えてみると、「出かけるとしたら」
1kmや10kmはそんなに大きな差ではない(=近い)というでしょう。し
かし「リムーバブルメディアの大きさ」ということなら、1mだって大き
すぎです。

  比較の対象を例示してもらえたら、どういうレベルの話なのか推察で
きますから、それをお願いしたのです。例示ができないなら他の方法で
もいいですから、とにかくどういう質問なのか、それを言ってもらえな
いと答えられません。

  I.Tak.さんは「aとbを比べる」と言っておりますが、それは嘘です。
aとbを比べているのなら、僕の回答は「aです」とか「bです」とかにな
ります。僕が「0123のほうです」とか「0033のほうです」と答えるのが
正解なんですか?そうじゃないですよね。この差違を大きいと思うかど
うかじゃないですか。

  I.Tak.さんは「a-b」の値と、何かを比べているのです(それはたと
えば「a-c」かもしれない)。そのcか、もしくはa-cを教えてもらえな
いと、僕には答えられないわけです。

> グレイスケールが色ずれを起こすとおっしゃいますが、緑一色の画像を
>減色するなら全ビット使って処理した方が好ましい結果になると思われ
>ませんか。トレードオフですよ。どちらを重視するべきかは私には分かり
>ません。

  緑一色の画像を処理するなら、全ビット使うほうがいいというのには
僕も大いに賛成であります。しかし僕にはどちらを重視するべきかは、
自明です。だって、緑一色の画像なんて、滅多にないですからね。

  仮に緑一色の画像が9割を占め、たまに普通の色の画像が来るとして
も、僕は緑の最下位ビットを捨てるでしょう。それくらい、色ずれは汚
いと感じています。こうすると当然9割の緑画像にも影響するわけです
が、その差違は僕には十分に許容できます。そんな代償でたまに現われ
てしまう色ずれが克復できるなら、安いものです。割合が、百対一くら
いになったら、やっと悩むかなあ。

  ということで、僕にとっては「トレードオフ」というほどの問題では
ないように感じます。

  ところで質問ですが、I.Tak.さんはなぜ「どちらを重視するべきかは
私には分かりません。」なのでしょうか。誤差こそ全てという目を持っ
ているなら、どちらを重視するべきかは即答できるでしょう。即答でき
ないのはなぜでしょうか。誤差だけがすべてではないという僕の主張も
(部分的には)うなずけるからですか?

  もしそうであれば、誤差(これはリニアからの誤差という意味です)
を根拠にn8がおかしいというかつての主張は、主張として自己矛盾があ
るように思います。現在の飽和問題は、これとは別だと思われますので
それは問題ありません。

>>   そのまさかですよ。主観でしか決められないというのが僕の見解です
>> ので、とりあえずOSASKにどれを使うかは僕の主観こそすべてでありま
>> す。いくつか絵を変換してみて(というかたいていはグラデーションパ
>> ターンでありますが)、どちらが好ましいのかを判断しています。
>
> じゃあ、川合さんの主観における判断基準はなんなのか、ということを
>教えてください。感性は説明不能ということでしょうか。

  まあ確かに感性は説明不可能という面はあるでしょう。しかし、少し
は説明もできると思います。自分でいろいろ見比べて、好ましいと思っ
たり思わなかったりするわけですが、その時に、どうして好ましいと思
ったんだろうと、自問するわけです。その結果として、

  ・色ずれしないのは好ましい
  ・リニアなグラデーションに対して、等高線がゾーンを等しい面積で
    分けているのは、好ましい

を得たのです。

> ところで川合さんは本当に最初から見比べを第一基準にしていたので
>しょうか。

  はいそうです。それが第一です。

> [osask 6706]を見ると、i8の設計について誤解した上でそれは汚いとし
>(数学的には美しいと部分的に評価が変わったのでしょうか。それとも
>最初から数学的美しさは眼中に無かったのかな)、n8のアルゴリズムの
>単純さも気に入っているということでした。i4については特に「特殊な
>事情を前提にしたものはよろしくない」というアルゴリズム関係の批判を
>いただいています。これが二次的な基準とは思えないことは↓に書きます。

  はい、そういう指摘は確かにしました。誤差という観点を貫く姿勢は
一理あると思ったので、数学的に美しいと思いました。見た目はk8より
はいいですが、n8には劣ると「主観的に」思いました。

  n8は単純になりました(i8やk8にくらべて単純だと僕は思っておりま
す)。少なくとも、説明は単純です。色域を4等分、もしくは13等分し
ただけです。・・・僕は単純なものが好きなんだなあとたまに感じるの
で、だからこれでしっくりきたときに、ああ、単純だから好ましいと思
うのかな、と思ったのです。

  「特殊な事情を前提にしたものはよろしくない」=「特殊な事情を前
提にしたものは僕にはきたなく見える」ということです。これは、もち
ろんアルゴリズムを批判しております。アルゴリズムを変えれば、違う
結果になりますから。

  なお、ここで、i8の設計について誤解しているとI.Tak.さんは書いて
いますが、それは偽りの主張です。それについてはまた別のメールで解
説します。

> 最終的に判断するのが人間なのは分かりますが、微妙〜なところでは
>どうするんですか。例えば、FUJI.JPGの減色ではi8とn8の差は微妙なの
>でしたね。こういう場合、判断しないんですか。

  はい、判断しません。むしろ聞きたいですが、どうやって判断するん
ですか?常に成立していると確信できる評価関数(この場合は誤差なの
かな)があって、それが使える場合にはもちろん使うべきですが、今は
そのようなものを僕は持っていないわけです。だから、判断しません。

> グラデーションを減色した結果については、オリジナルと印象が近いか
>否か、という評価はされませんでした。チャンス (確率) がどうのこうの
>という話になって、それでn8の方が良いと思う、ということでした。

  そうです。単純に印象というだけでは、I.Tak.さんには理解してもら
えないと思ったのです。それでその代わりに、どういうときに僕が印象
が近いと思うかを説明しようと思いました。チャンスが等しいというの
は、つまり、ゾーンの面積が等しいということです。僕はそういう等高
線の現われ方が、もとのグラデーションの印象に近いと感じるのです。

> 色の出現確率がどうのとおっしゃるので理論的な評価基準があるのだと
>思っていました。少なくとも、本当に直感だけで評価しているとは信じ
>られませんでした。

  そうでしたか。それは残念です。僕は見た目で判断しているとも書い
ていました。それは認めるところだと思います。・・・公平に判断する
なら、どっちなのか分からない、というのが普通ではないでしょうか。
そうなれば、自然に確認をとることにつながったと思います。

  こういうのが、(僕が指摘している)本当の誤解です。

  誤解の話は、別のメールで説明しますので、そちらでまとめて反論し
てください。

> 私は採用してくれなんて一言も書いてません。仮に書きたいとしても書き
>ません。仕方がありませんから。

  I.Tak.さんがそれを分かっていることは知っています。僕がこの話を
あえて書いたのはその点を思い出して、次のことを再確認してほしいの
です。

  僕がOSASKに関するほとんどの場合で、客観的な理由で判断していな
いということを、いいたいのです。もちろん、サイズが小さいほうを選
ぶとか、そういうのはあります。サイズは客観的な指標です。でも、サ
イズの小さいことがいいかどうかは意見の分かれるところですよね。だ
からこれは主観的な理由です。

> グレイスケール化は減色以外の効果を持っていると見るのが一般的で
>あろうと思います。少なくとも今回の文脈ではグレイスケール化は不適切
>でしょう。

  了解です。じゃあ、グレイスケール化は厳密には「減色」ではない、
とします。ちなみにこの件に関して「今回の文脈では」という言い方は
、自分で自分の主張を批判する行為です。これも別のメールで詳しく説
明しますので、そっちで反論してください。

>>   つまり、僕が何度も言い換えをするのは効果がなくて、僕が最初に一
>> 度言った言葉の意味にこだわり続け、その後の訂正は基本的に無視する
>> ということなのですね。とても残念です。
>
> どこで訂正されましたか? 明示的に訂正されなければ連続した議論だと
>思うのは当然だと思います。言い換えは上書きではありません。補強です。

  訂正というか、付加かな。明示はされていますよ。・・・これはこの
メールで書かないほうがいいかな。じゃあ、別のメールで。

(小柳さんの発言)
> 川合さんがn系の話だけをしていたのかどうかは判断しかねます。減色
>について議論してきたのだと信じていましたから。私に分かったのは
>基準が違うということです。

  じゃあ、あれは小柳さんだけの印象だったということですね、きっと
。あのときI.Tak.さんは僕が誤差をそれほど重視していないのは、既に
分かっていたわけですし。そしてその話にあわせてくれたのですから(
=飽和へ話を変えた)。だから小柳さんの言う意味の「減色(=誤差の
み)」の話は、小柳さんだけの話だったと思っています。

  それとも小柳さんは一番最初のころのことを指摘していたのかな。確
かに最初のころは、I.Tak.さんも誤差のみ派だったし。・・・ああ、な
るほど、そういうことだったのか。それなら分かるな。

  基準が違うということは僕も分かっています。基準が違うというか、
立場が違うわけですが。

  I.Tak.さんはi系アルゴリズムが客観的にn系よりも優れていることを
主張しなければいけなくて、僕はそうではないことを言えばいいだけだ
からです。I.Tak.さんの主張の矛盾を突くだけでもいいですし、何か反
例を挙げるだけでもいいわけです。

> 私は一般に受け入れられる減色を目指していると信じています。誤差
>という極めて客観的な基準を出しているからです。もちろん、何に対する
>誤差であるかは融通がききます。川合さんが元の画像との誤差を重視せず、
>ビデオカードの差を吸収するための補正を考えていることも理解してい
>ます。だから私は理想の (256階調出力の) 減色曲線を考え、それに対する
>誤差を重視して議論し、パレットインデックスの段階でコントラストが
>上がっている、飽和している、と言っていました。

  誤差は客観的な指標です。しかし、だからといって一般に受け入れら
れるかどうかは分かりません。たとえば、僕の指標の一つである「グラ
デーションに対して変換後の色の出現比のばらつきが少ない」というの
も、客観的に評価できる指標の一つです。

  また「実行ファイルのサイズが小さいほどよい」というのも客観的な
指標です。しかしこれでプログラムの優劣を論じてよいかどうかは、ま
だ客観的とは言い切れません。とくに、サイズが小さいが機能も少ない
、といった競合する問題を抱えているときに、この客観的な指標は、一
般に受け入れられると想定するのは(現時点では)無謀でしょう。

  だからi系は客観的な指標があってn系にはないとか、かりに両方に指
標があったとしても、一般に受け入れられるのはi系に違いないみたい
な主張は(もしそういうことがいいたいのなら)、もっと細かいところ
を言わないと、効果がないです。


  それでは。

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

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