hirax.net::Keywords::「ハーフトーン」のブログ



1999-09-26[n年前へ]

デバイスドライバーは仮免 

ClearTypeの秘密

 昨年、COMDEX/Fall '98においてMicrosoftが発表した「ClearType」技術というものがある。液晶ディスプレイなどの表示の解像度をソフトウェアのみで向上させるという技術である。PCだけでなく、液晶を使った電子ブックなどをターゲットにしているという。(参照:http://www.zdnet.co.jp/news/9811/16/gates.html)

 技術の詳細については、「特許申請中」ということで、明らかにされていない。しかし、その技術について推論している人は数多くいる。例えば、

や、Gibson Research Corporationのといった所がある。中でも、The Technologyof Sub-Pixel Font RenderingからはFree & Clearというデモプログラムをダウンロードすることができる。
Free & Clearの動作画面(縮小後、JPEGに変換しているのでこの画面では効果はわからない)

 ビックリすることに、確かに効果があるのである。カラーシフティングによりシャッキリした文字になるのだ。しかも滑らかなのである。デジタル接続の液晶を用いている方は確認すると面白いと思う。

 もっとも、こういう画像はWEB上で納得するのは難しい。JPEGのような圧縮画像では、情報が完全には保存されず、意図した出力ができないからである。とりあえず、デジタル接続の液晶ディスプレイを使っている方はとにかく試してみると良い。目からウロコである。

 さて、この原理であるが、カラーシフトについては色々なところで説明してあるが、若干わかりにくい画像例が多い。そこで、自分流に解釈しなおして考えてみたい。そして、実験してみようと思う。

 まずは、右上から左下に走る黒字に白斜線を考えてみる。1ドット幅で、しかも、上から下へ行く間に1ドット右から左にずれるようなものである。液晶の1ドットはRGBが縦に並んでいる。例えば、

で計測した画像例だと、
液晶ディスプレイの拡大画面
という感じである。良く見ればRed,Green,Blueの順番で並んでいるのがわかるだろう。

 1ドット幅で、しかも、上から下へ行く間に1ドット右から左にずれる黒字に白い斜線を考えてみる。これはそのような斜線を拡大したものである。

1ドット幅で、しかも、上から下へ行く間に1ドット右から左にずれる斜線
従って画像幅は本来2ドットである。

 そのような斜線を液晶で描くと通常は下の左図のようになる。通常の処理が左で、カラーシフトを用いた処理が右である。通常の処理ではRGBの位置を同じものとして処理しているので、RGBそれぞれが同じように変化している。しかし、カラーシフトを用いた処理においては、RGBの各位置が異なっていることを考慮の上、処理を行ってみたものである。そのため、滑らかな斜線になっているのがわかると思う。

左が通常の処理、右はカラーシフト処理

 このように、デバイスの個性を把握した上できちんと生かしてやれば、デバイスの能力をもっと引き出すことができるわけだ。 個性の違いを越える世界というのは、個性を無視した世界とはまったく逆であり、個性を最大限理解して初めて個性の違いを超えることができるのだ。

 さて、効果を確認するために、そのようなハーフトーンパターンを作成してみた。ただし、ここで表示している画像はJPEGに変換してしまっているので、効果は現れない。また、本来見えるはずの画像とはかなり異なってしまっているので、各画像をクリックしてオリジナルのTIFファイルをダウンロードして確認して欲しい。

1ドット幅で、しかも、上から下へ行く間に1ドット右から左にずれる斜線ハーフトーン
クリックでオリジナルのTIFFファイルにリンクしている
ノーマル斜線
カラーシフトを用いた斜線

  さて、この画像ではわからないだろうが、TIFFファイルの方を見て頂くと、カラーシフトを用いた斜線ハーフトーンの方では、色模様が出現してしまっているのがわかると思う。それは、液晶のガンマ特性を考慮していないからである。

 このガンマ補正については、一般的に使われるガンマの意味だけでないものが含まれている。一言では簡単には説明しきれないので、説明は次の機会にする。Free&Crearでもそのガンマ特性を調整する機能がついている。白地に黒文字であるか、黒字に白文字であるかの違いがあることに注意すれば、その数字の意味がわかる。ここでは、その補正をしたものを示すだけにしておく。と、いっても、私が使用している液晶のガンマを考慮したものなので、一般的には役に立たないだろう。

上の画像をそれぞれガンマ補正したもの
ノーマル斜線(ガンマ補正後)
カラーシフトを用いた斜線(ガンマ補正後)

 あなたが目にしている画像では、画像ではガンマ補正した方が変に見えていると思う。それは、私とあなたの使っているデバイス(と視点)が異なるからである。ここでやったのと同じやり方で、あなたの液晶に合わせて(なおかつ、同じ視点で)やれば、きれいに出るはずだ。
 さて、この結果を私の液晶で見てみると、カラーシフトを用いた斜線(ガンマ補正後)の方ではきれいに斜線のハーフトーンが出ている。ただ、いくつか問題があるのだが、それは次回までの宿題だ。と、いってもヒントはすでに「できるかな?」中でも出現している。ごく最近の話題でも、だ。

 このカラーシフト技術は実に単純なアイデアである。しかし、これは実に面白いアイデアであると思う。効果が有る無しに関わらず、こういうネタは私は大好きである。ただ、こういう技術が日本のデバイス屋さんから出てこないことが少し残念だとは思う。デバイスもドライバーも両方作っているところにがんばって欲しいものだ。それまでは、「デバイスドライバーは仮免」といった所だろう。 .....うーん、ちょっと、強引かな。というわけで、何故か私の手元にはPalm-size PCであるCasio E-500があり、そして、久しぶりにVisualStudioをいじり始めるのであった。。

1999-10-07[n年前へ]

CCDカメラをバラせ! 

モアレは自然のClearText

 あまり、「できるかな?」では工作の話題が出ていない。いや、もしかしたら全然出ていないかもしれない。そこで、手元に8mmビデオのジャンクがあったので、こいつをバラしてみることにした。そして、これまで「できるかな?」に登場しているような話に関連していることがないか調べてみるのだ。いや、本当は嘘で計画済みの伏線張りまくりの話である。もしかしたら、勘のいい方はもう話の風向きはもうおわかりかもしれない。

 さて、今回分解するカメラはかなり前(といっても数年前)のモデルである。まずは、分解してみよう。

1 8mmビデオカメラのCCD&レンズ部分.
2. 方向を変えるとこんな感じ
3. 正面のレンズを外す
4. もっとばらす。中央にCCDチップ部分がある。
5. これがCCD部分。
6. CCD前部のフィルターを外す
7. CCD素子を正面から見ると
8. もっともっと拡大するとこうだ

 5.の写真でわかるように、CCD前部にはフィルターが着けてある。(当初はこれを赤外線フィルターだと考えていた。なので、このフィルターを外してやると、画質はとんでもないことになる。しかし、その上で赤外線投光器を装着すれば面白いカメラになりそうである。が、用途を間違えるととんでもないことになるので、今回はやらない。が、いつかやってみようとは思っている。もちろん、私は品行方正がモットーであるので、悪用はするわけがない。もちろんである。)と、書いたがその後、「これは赤外線とは逆のエイリアシング防止用のハイカットフィルタだろう」というご指摘を頂いた。フィルターが青色だったので、単純に赤外線カット用途かと思い込んでいたが、どうやら違うらしい。指摘の文章をそのまま、使わせていただくと「CCDは空間サンプリング素子であり、サンプリング周期(ピクセルのピッチ)よりも短い波長の光が入ると、エイリアシング(折り返しノイズ)を生じて擬似カラー、干渉縞を生じてしまいます。これを避けるためのハイカットフィルタです。」とある。その後、知人から頂いた資料(勉強しなおせ、ということだろう)を読むと、水晶板をだぶらせて2重像にすることにより、細かい解像ができないようにしているローパスフィルターであるようだ。空間周波数のローパスである。今回のCCDでは3層構造になっており、中央の層にのみ色がついている。反省がてら、次回にもう少し調べてみようと思う。

 ところで、7.などの拡大画像で周辺部が丸くケラれているのがわかると思う。これは、

と同じく実体顕微鏡の接眼部からデジカメで撮影を行っているからである。デジカメはこういう時に何より重宝する。さて、デジカメと言えば、こちらも同じくCCDを用いているわけである。

 さて、8.の拡大画像を見ると、このカメラのCCDのカラーフィルターは補色方式(CMYG=シアン、イエロー、マゼンダ、グリーン)であることがわかる。原色タイプでないところを見ると、どうやら感度重視の製品であるようだ。また、この拡大画像などを眺めると、

で調べた液晶のフィルターと同じような構造であることがわかる。よくストライプ模様の服を着ている人をCCDビデオカメラで撮影すると、モアレが発生することがあるが、それはこういったフィルターの色の並びに起因しているわけである。フィルターの周期とストライプの模様が干渉してモアレが生じてしまうのである。

 最近のものではソフト的にかなりの処理をしてモアレが出にくいようにしているし、CCDも高解像度化が進んでいるので、なおさら出にくい。私が使用している富士写真フィルムのFinePix700でそのようなモアレを出そうと思ってみたが、なかなか出なかった。むしろ、ピントを正確に合わせることができなかった。それでも、何とか白黒の縦線模様を撮影して、モアレを出してみたのが下の写真である。左がオリジナルで、右がそれに強調処理をかけたものである。

FinePix700で白黒の縦線模様を撮影した際のモアレ
(左上から右下へ斜めにモアレが出ている)
オリジナル
左に強調処理をかけたもの

 モアレが発生しているのがわかると思う。さてさて、こういう白黒ストライプをよく眺めてみれば、

で登場したこの画像を思い出すはずだ。
ノーマル
ノーマル斜線
カラーシフトを用いた斜線

 そう両者ともまったく同じ斜線である。そもそも、前回作成したパターンは今回への伏線であったのである。白黒の縞模様を撮影しているのであるから、普通は白黒模様しか撮影されない。しかし、モアレが発生している場合というのは、CMYGからなる1画素の中でのさらに細かな位置情報が判るのである。先ほどのCCDの色フィルターの拡大写真のような配置になっていることを知っているのであるから、その配置も考慮の上処理してやれば良いのである。もちろん、白黒の2値からなる画像を撮影しているという前提条件は必要である。その前提条件さえつけてやれば、モアレが生じていることを逆に利用して、高解像処理ができるはずだ。

 例えば、

CCDのCMYGからなる一画素
GreenMagenda
YellowCyan

という画素のGreenだけ出力が大きかったとすると、グレイ画像であるとの前提さえ入れてしまえば、1画素のさらに1/4の領域まで光が当たっている位置を推定できるということになる。もちろん、実際のカメラでも4色の間で演算をしてやり、ある程度の推定はしているだろう。しかし、前提条件を入れてやれば、より高解像度が出せるだろう。

 ClearTextの場合は白黒2値の文字パターン、あるいはハーフトーンという前提条件をつけて液晶に出力を行った。今回は、白黒2値の文字パターン、あるいはハーフトーンという前提条件をつけて、CCDからの出力を解釈してやれば良いわけである。CCDカメラにおいては自然が自動的にカラーシフト処理をしてくれるのである。そのカラーシフト処理からオリジナルの姿を再計算してやれば良いわけである。もっとも、これらのことは光学系がきちんとしている場合の話である。

 今回考えたような、そういった処理はもうやられていると思う。FinePix700でも撮影モードに

  • カラー
  • 白黒
の2種類があるので、もしかしたらそういう処理が含まれているのかもしれないと思う。それでは、実験してみよう。白黒の方がキレイに縞模様が撮影できているだろうか?
FinePix700で白黒の縦線模様を撮影した際のモアレ
(左上から右下へ斜めにモアレが出ている)
白黒モードで撮影
カラーモードで撮影

 うーん、白黒のほうがキレイなような気もするが、よく判らない。念の為、強調処理をかけてみる。もしかしたら、違いがわかるかもしれない。

上の画像に対して強調処理をかけたもの

 うーん、これではますます違いがよくわからない。これは、次回(すぐにとは限らないが)に要再実験だ。ただ使っている感覚では、まずピントがきちんと合わないような気がする。うーん、難しそうだ。それに、今回の実験はローパスのフィルター部分をなくしたものでなければならなかったようにも思う。ならば、FinePix700を使うのはマズイ(直すのメンドクサイから)。どうしたものか。

2000-01-23[n年前へ]

偽札作りのライセンス 

このページはプリント禁止

 「殺しのライセンス」を持つのはジェイムズ・ボンドである。コードネームで言えば、007である。殺しのライセンスを持つ人が本当にいるのかどうかしらないが、「偽札作りのライセンス」を持つ人はきっといるに違いない。

 「そんなのは当たり前だ」という声も聞こえてきそうな気もするし、「まさか」という声も聞こえてきそうな気がする。そこで、そう思う理由を一応書いておく。

 紙幣を識別する装置というのはたくさんある。例えば、自動販売機などその最たるものである。こういう紙幣識別機というものの動作確認には偽札が必要である。本物の紙幣(や硬貨)を「本物である」と認識する試験は割に簡単にできる。しかし、「偽札」を偽物だと検出するかどうかの試験をするには偽札を作って、テストしてみなければならない。

 タヌキではあるまいし、「葉っぱ」を自動販売機に押し込んでみて、それを「千円札」とは違うと認識したところで何の意味もない。やはり本物とよく似ている「偽札」を使ってテストしなければならないだろう。そうなると、やはり「偽札」が必要になるわけである。

 そういう「偽札」が必要となるからには、「偽札」を作る人も必要とされるだろう。まさか、「紙幣識別機」開発のために法を犯せ、と言うわけにはいかない筈である。ならば、「偽札作りのライセンス」がきっとあるに違いない、というわけである。

 そんなわけで、きっと、「偽札作りのライセンス」は存在すると思うわけであるが、それでは「偽札を作って配る」ライセンスというのは存在するだろうか?紙幣(硬貨)識別装置の開発のためのテスト用に、「偽札」を作るのではない。「偽札」を配布するのが目的とするライセンスは存在するのだろうか?これが今回の問題である。

 私はきっとあると思うのだ。何故なら私の手元にはそれらしき「偽札」があるのだ。本物のような、偽物のような紙幣があるのだ。

 まずは、その「偽札」の画像を示してみる。以下に示す画像の内のどれが本物だか判るだろうか?あるいは、どこが違うか判るだろうか?
 

どれが本物?
(A)
(B)
(C)

 「一目瞭然だぁ。」という声も聞こえるが、結構よく出来ている「偽札」だとは思わないだろうか?よく出来すぎと言っても良いほどである。福沢諭吉の目の辺りの拡大写真を示してみる。
 

どれが本物?
(A)
(B)
(C)

 本物の(A)に対して(B)は実によく似ている。(C)の場合はハーフトーンパターンで細線などはつぶれてはいるが、それでもやはりよく似ている。(B)も(C)も明らかに本物の紙幣をスキャニングしてデザインを少し変えた後に印刷している。

 根拠無しにそんなことを言うのも何なので簡単なチェックをしてみた。下の写真はそのやり方を示す写真である。ここでは、例として(A)と(B)の違いをチェックしているところを示す。

 (A)の画像を「赤」チャンネルで表示し、その上に「緑」チャンネルで表示した(B)を重ねる。違いがあるところでは色ずれが生じるのですぐわかるのである。人間の目は色ずれには結構厳しいので、こうするとすぐに(A)と(B)の違いがわかるのである。もちろん、画像の差をとっても良いのだが、まず画像サイズや位置を合わせるまでは、今回のやり方の方が楽なのである。

 例えば、下の画像では(A)と(B)の画像の大きさをまだ正確に合わせてないため、福沢諭吉の辺りでは違いが見られないのに対して、その他の部分では色ずれが生じている。また、福沢諭吉の下の部分に「ケンコーチョコレート」という表示があるが、これなど(A)と(B)の違いがあるので色ずれが生じていることがわかる。
 

(A)と(B)の違いをチェックしているところ

 こういったテストをしてみた結果、本物の紙幣と「偽札」の間での簡単にわかる違いは、オリジナルの

  • (A) 日本銀行券、一万円、日本銀行、紙幣番号、印影、大蔵省印刷局製造
という部分に対して、
  • (B) 子供銀行券五万円子供銀行ケンコーチョコレート、印影、大蔵省印刷局製造
  • (C) 子供銀行券、一万円、子供銀行、紙幣番号、玩具印影印刷所表示なし
という風に異なる(異なる部分は赤字で表示)部分であった。きっと、こういった「偽札は明らかに異なる点が認識できれば、作っても良い」ということになっているのだろう。例えば、
見本
というような文字を印刷するならば作って配布しても良い、という所なのだろう。

 私が面白いと思うのは、「大蔵省印刷局製造」の表示である。紙幣中央部下の表示である。これは他のもの(例えば、子供銀行券の表示)等と違いあまり目立たない部分である。この「大蔵省印刷局製造」の部分の拡大写真を示してみよう。
 

どれが本物?
(A)
(B)
(C)

 (B)ではそのまま「大蔵省印刷局製造」と残っているが、(C)では文字部分は削除されている。

 これは、(まさかとは思うが)デザインをしている時に、「大蔵省印刷局製造」の表示に気づかなかった、あるいは気にしなかったのだが、後でクレームがついたのではないだろうか?あるいは、後になって「これはちょっとマズイだろう」という判断をしたのではないだろうか?
 そこらへんのことを想像すると、ちょっと面白い。

 さて、「偽札」事件のよくある動機は技術者が自分の技術力を誇示しようとして作ってみた、というのが多いと聞く。私も実は作ってみたくてたまらないのである。「偽札作りのライセンス」が欲しくてたまらないのである。
 
 

2000-05-02[n年前へ]

モアレがタネの科学のふろく 

うれし、懐かし、学研の科学


 先日、友人夫妻で面白いものを見せてもらった。そこで、すかさずオネダリをして手に入れてきた。それが下の写真のものである。
 

6年の科学 1998年1号 トリックトランプ「マル秘」超魔術13

 これは学研の科学の学習教材である。「科学の学習教材」というよりは、「科学のふろく」といった方が通りが良いかもしれない。この写真のものは「6年の科学 1998年1号 トリックトランプ「マル秘」超魔術13」である。これを私にくれた友人(妻の方)は「学研教室」の「先生」をやっているので、こういう面白いものを持っているのである。

 残念ながら、付録の一部だけで、中身が全部揃っているわけではない。それに加えて、本誌もない。そこで、手元にある材料からトランプトリックを想像しなければならない。しかし、その想像しなければならないところが、また面白いのである。手品の「タネ」を想像し、実際に検証できるのだから、楽しくないわけがない。

 こういう理系心をくすぐる、懐かしいものというのは色々ある。以前登場した、学研の電子ブロックもそうであるし、雑誌の「子供の科学」もそうだ。そういった中でも、この学研の科学のふろく(学習教材)はその最たるものだろう。こういった、科学の付録は学研のサイト内の

でいくつか眺めることができる。私が持っていた(すぐなくしたけど)ものもいくつか掲載されている。

 さて、今回の「6年の科学 1998年1号 トリックトランプ「マル秘」超魔術13」のネタ探しをしていると、面白いものを見つけた。それが下の写真である。何にも書いてないトランプに半透明シートをかけると、アラ不思議、ハートの5が現れるのである。
 

何にも書いてないトランプに半透明シートをかけるとアラ不思議
ハートの5が現れる

 この「魔法のトランプ」のタネはもちろん「アレ」だ。「できるかな?」にもよく登場してきた「モアレ」である。これまで、

という感じで「モアレ」を調べてきたが、それをネタに使ったトランプ手品なのである。私がモアレを考えるときには、違うものの「ネタ・Seed」として眺めることが多いのであるが、こういう手品の「タネ」として扱われているものを見ると、新鮮で面白い。

 このトランプの表面の模様を拡大してみるとこんな感じになる。これは「ハートの先端部分の拡大写真」だ。赤い線によるハーフトーンパターンが変化している部分(実はハートマークの先端部分)があるのがわかる。この模様は結構細かく、400線/inchくらいである。
 

ハートの先端部分の拡大写真

 このようなトランプに、黒い斜線が描かれた半透明シートをかぶせると、モアレが発生して模様が見えるわけである。下の写真が、トランプに半透明シートをかぶせたところである。半透明シートには実は黒い斜線模様が描かれていることがわかる。
 

このようなトランプに、
黒い斜線が描かれた半透明シートをかぶせると、
モアレが発生して模様が見える

 そして、トランプの模様と半透明シートの模様の間でモアレが発生して、その結果として「5」
の文字が浮かび上がっているのがわかると思う。

 このトランプのタネのような画像を自分でも適当に作ってみることにする。やり方はとても簡単である。ハーフトーン模様を作成して、模様を書いて、模様部分だけハーフトーンを変化させてやればいいだけである。そして、元のハーフトーンと重ね合わせてやれば、模様が浮き上がるのである。こういう細工をしないと読めない画像を使って、何か面白いことをできるかもしれない。
 

同じような画像の例
A ハーフトーンを作成する
B 模様を書いて、模様部分だけハーフトーンを変化させてやる
C AとBを重ね合わせるとアラ不思議(子供にとってはね)

 一応、モアレはデバイスに依存するか?(1998.11.20)の時のように今回も二つの画像の重ね合わせの時に、線形性が成り立つ場合と、成り立たない場合の比較をしておく。
 

上の画像の重ねあわせにおいて、線形性が成り立つ場合と成り立たない場合の比較
線形性が成り立つようにして
先のAとBを重ね合わせてみたもの
上の画像を平滑化したもの
線形性が成り立つ場合には、モアレが発生していないのがわかる
ちなみにこれが先のCを平滑化したもの
つまり、非線形性を持つ場合
この場合にはモアレが発生する

 今回の場合も当然、線形性が成り立つ場合にはモアレが発生しないのがわかると思う。今回のトランプ手品も、半透明シートとトランプの模様の間の重ね合わせの非線形性を利用していたわけである。
 この線形性と非線形性の重ね合わせの違いも利用してみれば、もっと新しい何か面白い手品やおもちゃのネタになるかもしれない。インクジェットプリンターの淡色インクと、濃いインクの違いを利用して何か面白いトリックはできないだろうか?

 さて、先の知人夫妻は共に「先生」である。なので、時折子供に「どうやって教えるか」という話になることがある。子供という「タネ」をどうやって育てていくか、という話である。子どもが人から言われたことでなく、自分で調べて何かを覚えるにはどうしたら良いか、などだ。もちろん、それは「先生」もまた同じである。人に言われたことを鵜呑みにするのではなく、自分で「実感する」のはむしろ子どもより「先生」の方が難しいかもしれない。

 私も先日あるメーリングリストで

「先々」のある(製造業に携わる)子ども・青年などわずかでしょう
という言葉を見てしまって以来、そういったことについて色々と考えてしまうことが多いのであるが、こういう「タネ」つながりについて考えているのも面白いかもしれないな、と思うのである。
 

2001-09-25[n年前へ]

純愛で世界を描ききれ 

Study of the Regular Division of the Plane with Innocent Love

 先日、出張先で話をしようとした途端、いきなりこんなコトを言われた。

「最近、更新頻度が下がってますねぇ、あとアッチ系のネタが多いですねぇ。」
また別の人には、
たかが風圧がオッパイに思えるものでしょうか?自分には、そこがなんとも不思議で納得できないのであります。」
「一体、指の何処でその感触を感じると思われますか?」
「それに、モンローウォークの動画はまるで全裸みたいに見えて、思わず自分はウィンドーを閉じてしまったのであります。」
などと言われた。本来、私は真面目な話をしに行ったハズなのであるが、思わず弁解したくなって、
「いや、掌の広げ方次第で、空気が指に与える圧力が動的に変化するのだが、その指の動きに応じて動的に弾力が変化するさまがアノ感触に近いという想像は如何なものだろうか?たかが風圧、されど風圧、と謙虚に考えるべきではないだろうか?」
とか
「空気流が指の側面を押す力が主たる個所だろう、それすなわち、指の周りからこぼれるおちるアレが指に与える感覚なのである。」
とか、
「実はOLスーツ編の動画も作成したのだが、そっちの方が私的にはイヤラシク倫理的にNGだったのだ。」
とか色々言ってしまったのである。しかし、実はその話をしている仕事場には他にも人が何人もいて、しかもその人達には私は面識は無い。ということは、私は他人の仕事場にイキナリ来たと思ったら、「アノ感触」とか「OLスーツ」とかそんなことを話し出すトンデモない奴にしか見えないのである。これはちょっといけない。いや、かなりマズイ。

 そこで、そんなことを言われないために、今回は「できるかな?」のスタート地点である「画像」の話題を考えてみたい。しかも、ただ考えるだけではつまらないので、「できるかな?」風に「愛」を込めて「画像」について考えてみたい、と思う。というわけで、今回は題して「純愛で世界を描ききれ」である。
 

 八月に台風が関東地方を直撃した日、私は東京タワーのすぐ横で「高画質化のための画像処理技術」という研究会を聴講していた。会場に辿り付くまでの間ひどい雨と風に襲われて、最初のうちは「こ・これは、風速25m/s位はあるな。ってことは25mx 3600 s /1000mで時速90kmか…ってことは、計算によればE〜Fカップが今まさに体中にぶつかってきているのかぁ!」なんて(自分を元気づけるために)考えていたのだけれど、風だけでなくて雨もひどかったので、ついには濡れねずみになってしまい、ただ「………」と何も考えずとぼとぼ歩くだけのゾンビ状態になってしまった。

 何はともあれ、そんな感じでやっとのこと会場に辿り付いて、いくつかの話を聞いていたのだけれど、その中でもとても面白かったのが、大日本印刷の阿部淑人氏の「シミュレーテッド・アニーリングによるディザマトリックスの最適化」という話だった。色々な項目を適当に重み付けしながら、ハーフトーンパターンを自動で生成して、理想のハーフトーンパターンを作成しよう、というものである。その話の後半では、工芸的なスクリーンの話も俎上に上がり、M.C.Escherの"Sky& Water I"をグラデーションの例に挙げてみたり(残念ながら実際にそんなハーフトーニングをしたわけではないが)、菩薩像を般若心経でハーフトン処理してみせたり、となかなか「できるかな?」心をくすぐるものだった。そこで、私も似たようなことにチャレンジしてみて、さらにはM.C.Escherの版画を使ったハーフトーニングを行ってみたいと思うのである。
 

M.C.Escher Sky & Water I 1938

 そもそも、ハーフトーニングとは多値階調を持つ画像などをニ値出力の(もしくは少ない階調しか持たない)機器で出力するために、多値の階調をニ値(もしくは少ない階調)の面積比率で置き換えることにより出力する方法のことである。例えば、下の例はグレイスケールのグラデーションパターンを円スクリーンによりハーフトーニングしたものである。
 

グラデーションパターンを円スクリーンによりハーフトーニングしたもの
グレイスケールのグラデーションパターン

上を円スクリーンによりハーフトーニングしたもの

 Photoshopを使っている場合には、簡単に任意形状のハーフトーニングを行うことができる。例えば、こんなパターンをカスタムパターンとして登録すると、そのパターンとの明暗比較を行うことにより、
 

という風にニ値化ハーフトーニングを行うことができる。ところが、じゃぁこれと同じようにEscherの版画を使ってハーフトーニングしようと思っても、そう簡単にできるわけではない。なぜなら、このハーフトーニングが明暗比較によって行う以上、ハーフトーニングに使うパターンは多値の画像でなければならないのである。

 Escherの版画も版画という(例えば白か黒かといった)ニ値の出力機器を用いているため、やはりニ値の画像に過ぎない。例えば、下の版画はEscherの”Studyof the Regular Division of the Plane with Horsemen”である。
 

Study of the Regular Division of the Plane with Horsemen 1946

 上の版画の一部を(ちょっとだけ細工をしつつ)抜き出してみたのが下の画像だが、白黒半分づつのニ値画像であることがわかるだろう。また、きれいな繰り返しパターンになっていて、平面にこのパターンできれいに埋め尽くすことができるのがわかるだろう。
 

上の画像の一区画(黒:白の比率は厳密に1:1)

 この画像をPhotoshopのカスタムパターンを用いて、グレイスケールをニ値化ハーフトーニングすると、この画像がニ値画像であるため、下のように階調をきれいに出力することができず、結局のところ「黒か白か」といった階調飛びの画像になってしまうのである。
 

ニ値画像を使って単純にハーフトーニングしようとすると…
グレイスケール
単純にパターンニ値化すると…

 そこで、まずはニ値の画像を元に多値のハーフトーン用パターンを作成するプログラムを作成してみた。作成するやり方としては、初期値を元にして暗い方。明るい方それぞれの方向にローパスフィルターで演算をしつつ、256階調分のハーフトーンを作成し、さらにそれをPhotoshopで処理できるように多値画像として出力することができるようにしてみた。先の発表のやり方で言えば、「高周波を減らす」という項目に重みをおいて、ハーフトーンパターンを自動生成するアプリケーションを作成してみたわけだ(バグ満載状態で)。説明は一切無し、しかもボタンを押す順番を間違えると上手く動かないという状態ではあるが、一応ここにおいておく。名前はhiraxtone.exeでバージョンは0.0…01という感じである。(白黒ニ値だけど24bitモードの)Bitmapファイルを読み込んで、多値のスクリーンを生成するようにしてある。

 それでは、このhiraxtoneを用いて、ニ値画像を元に作成した多値階調ハーフトーンパターンの一例を次に示してみる。これは、先の"Studyof the Regular Division of the Plane with Horsemen"の一部分を縮小したニ値画像をもとにして処理してみたものである。
 
右:オリジナルのニ値画像
左:ニ値画像を元に作成した多値階調ハーフトーンパターン

 でもって、上で作成した多値階調ハーフトーンパターンを用いて、グラデーションパターンをハーフトーニングしてみた例が下の画像である。「単純にパターンニ値化した場合」と違って、「hiraxtone1で作成したパターンを使用した場合」はグラデーションが保持されているのがわかると思う。また、階調が保持されているというだけではなくて、まるでEscherのオリジナルの"Studyof the Regular Division of the Plane with Horsemen"のようなパターンにできあがっていることも判ると思う。
 

hiraxtoneで作成したパターンを使用してグラデーションパターンをハーフトーニングすると…
グレイスケール
単純にパターンニ値化した場合
hiraxtone1で作成したパターンを使用した場合

 さて、ニ値画像パターンを利用してハーフトーニングすることができる、となると他にも色々と遊ぶことができる。例えば、自分だけのハーフトーンパターンを作ってみたくなることだろう。そして、さらにはその素晴らしいスクリーンに自分の名前を付けて広めてやりたい、と思うのは至極当然の話である。古くはBayerなどがそうしたように、自分が作ったスクリーンに自分の名前をつけてみるわけだ。

 とはいえ、私が仮にスクリーンを作成してみたところで、そのスクリーンを私の名前で呼んでくれる保証はどこにもないのである。そこで、卑怯な手ではあるが、自分の名前を元画像にしてスクリーンを作成してみることにした。こうすれば、否でも応でもこのスクリーン形状を呼ぶために人は私の名前を使うことになるわけだ。

 というわけで、私の名前「純」という漢字を元データにして、ハーフトーンスクリーン「純」を作成してみた。また、「純」とくれば当然もうひとつ「愛スクリーン」もさらに作ってみた。いや、別に「純愛」を目指そう、と気負っているわけではなくて、単にうちの兄弟は長男が「純」で長女が「愛」なのである。いや、少し気恥ずかしいけど、ホントの話そうなのだからしょうがない。

 さて、作成した「純・愛スクリーン」さえあれば、「純愛」で世界を描ききることができるわけで、早速描いてみたのが、下の仲間由紀恵である。オマエの世界イコール仲間由紀恵か?とか、ソレってホントに「純愛」か?とか、つまらないツッコミを入れられそうな気もするが、そんなことはどうでも良いのだ。私はTRICK以来仲間由紀恵のファンになってしまったのだから、しょうがないのである。そしてまた、「純愛」を馬鹿にしてはイケナイ、と私は少しばかり思うわけなのである。(私の名前だから)
 

「純愛スクリーン」でハーフトーニングした仲間由紀恵
「純」スクリーンで描く仲間由紀恵
「愛」スクリーンで描く仲間由紀恵

 上の二枚をじっくり眺めてみると、結構キレイに仲間由紀恵が描かれていることが判ると思う。しかも、他でもないこの二枚の画像において、私は「純愛」で仲間由紀恵を描ききっているのである。これより、「純」で「愛」な仲間由紀恵はそうそういないハズなのだ。きっと、本物の仲間由紀恵が見たら「何てピュア〜でラブリーな私かしら。きっと、これを描いた人は心のキレイな人なのね!」と感激すること間違いなし、なのだ。

 ちなみに、「純愛スクリーン」でハーフトーニングした仲間由紀恵の左眼の部分を拡大してみたのが下の二枚の画像である。瞳の奥にも、「純」と「愛」が溢れていることが判るハズである。それは言い換えれば、この仲間由紀恵の瞳は「純」イコール「私」で満ち溢れ、さらにはその瞳は「愛」で満ち溢れているのである。
 

仲間由紀恵の目の部分の拡大図
「純」スクリーンの仲間由紀恵
(目の部分の拡大図)
「愛」スクリーンの仲間由紀恵
(目の部分の拡大図)

 う〜ん、正直ちょっとムナシイけれど、だけどちょっと気持ちが良いのもまた事実なのである。やはり、「純・愛スクリーン」で描かれる世界はとても素晴らしい世界なのである。そうなのである。

 さて、今回作成したhiraxtoneは、実際のところ自分でも言うのもなんだが、本当のところ今ひとつキレイな出力ができないし、大体思ったように動いてくれないのである。低周波優先として重み付けをしたハズなのに、どうもそんな風に動いていないし、計算にも時間がかかりすぎる。全てはビールを飲みながら行き当たりばったりにプログラミングするところがいけないのかもしれないが、どうも今ひとつなのである。また、本来であればもう少し元データの形状を残すことを優先(それは高周波優先にならざるをえないだろう)にするようなオプションもつけてみたいのである。

 が、とはいえ今回はいい加減思いページになってきたこともあるし、ちょっと疲れてきたこともあるし、とりあえず「純愛」で世界を描ききったところまでで今回は終りにして、続きは次回以降に遊んでみたいのである。



■Powered by yagm.net