1999-07-08[n年前へ]
■走査線の狭間 
1/60秒の世界を目指せ
あぁ、今回は(今回も)めちゃくちゃマニアックな話である。トップページには「身近な疑問を調べる」、と書いてあるが、他の人にはぜんぜん身近ではないだろう。最近、妙に忙しいので、身近な疑問がおろそかにされているのだ。身近な疑問の解決は結構難しいのである。そのため小難しい話が続くのだ。困ったことだ。
さて、今回やったことを結論から言えば(*)、AVIファイルをフィールド毎に分解してBitmapファイルに落とすプログラムを作ったのだ。「このソフトはとても便利だ」と言ってくれる人がいたならば、感謝感激雨あられだ。とりあえず、私には欠かすのことのできないソフトである。なぜ、このソフトがそんなに便利なのかを、これから手短に(**)語りたい。
* 「結論から言えば」、とか、「要するに」という人は必ず結論を言わなかったり、全く要約されていない話をするのはなぜだろうか?
** 同じく、「手短に」ときたら、必ず話は長くなる。
一般的なTVで使われている信号はNTSCと呼ばれる。1秒あたり約30フレームからなり、1フレームは2フィールドにわけられる。というと、複雑に聞こえるが実はとても単純だ(***)。単に1フレームが奇数フィールドと偶数フィールドに分かれているだけである。フィールドというとわかりにくいので走査線と考えればわかりやすい、と思う。
*** 当然のごとく、単純ではない。
NTSCの信号を時系列で追うとこのような画像の集合になっている。例えば、こういう具合だ。
1フレーム目の奇数フィールド(走査線)
1フレーム目の偶数フィールド(走査線)
2フレーム目の奇数フィールド(走査線)
2フレーム目の偶数フィールド(走査線)
.
.
.
29フレーム目の奇数フィールド(走査線)
29フレーム目の偶数フィールド(走査線)
30フレーム目の奇数フィールド(走査線)
30フレーム目の偶数フィールド(走査線)
30フレームで約1秒であるから、1枚の画像(フレーム)は約1/30秒である。だから、普通のビデオカメラで撮影した画像は1/30分の1秒毎の画像を示しているのである。しかし、もっと高速度撮影したいと思うときがある。ウン百万出せば、1万分の1秒の撮影でも可能な高速度カメラが買えるが、個人ではとても買えない。また、そもそもやりたい用途向けの高速度撮影用のカメラが存在しない場合というのもままあるのだ。そういった場合には、時間軸に対しては1/30秒までの撮影にしか使うことはできない、と思えるだろう。
しかし、NTSCの信号もフィールド毎に分解すれば、1/30秒の半分、すなわち1/60秒毎の画像を示しているのである。たかだか2倍ではあるが、されど2倍である。1/30秒では見えていなくても、1/60秒では見える世界というのもあるのだ。
画像例を用いて説明しよう。左の1/30秒間の画像を奇数フィールドと偶数フィールドに分解したのが右の画像(a),(b)だ。(a),(b)を比べると、黒い矩形が左から右に移動しているのがわかるだろう。今回のソフトウェアはそういった計測には非常に便利なのだ。このソフトウェアを使えば、普通のビデオカメラの性能を2倍にすることができるのだ。スポーツをやる方などは自分のフォームをチェックするのに使うといいだろう(画像解析までしてフォームチェックはしないか、普通...)。これで、フォームチェックはプロ級だ。
| 1/30のままの例 | 1/60のフィールドに分解した例 |
![]() | ![]() |
![]() |
1/30と1/60がたかだか2倍でも結構違うという良い例は、1/30秒のシャッタースピードではブレた写真になってしまう人でも、1/60秒なら大丈夫、とか、ゲームを作る際に1/60秒以内に人間からの入力に対して反応を返してやれば、プレーヤーはスムーズに感じるが、1/30秒ではダメだ、とかいう話がある。
というわけで(****)、AVIで記録された動画ファイルを1/60毎の画像に分解するプログラムが今回作成したものである。
![]() |
奇数フィールドと偶数フィールドを分けることにより2枚の画像に分解し、それぞれの画像内で失われたフィールドを単純補間により復元することができる。奇数フィールドが先頭か、あるいは、偶数フィールドが先頭かは選ぶことができるし(奇数フィールドと偶数フィールドのどちらが先か選べるということでもわかるように、どちらが先であるか必ずしも決まっているわけではないらしい。そこらへんは、各映像機器によって変えなければならない。)、インターレースでなくノンインターレースの場合、つまり、単にAVIファイルの各画像を静止画におとすことだけもできる。
**** 「というわけで」は話を強引に次へつなげるときに使う。
このプログラムを使ったあとはScion ImagePCを使うのがお勧めだ。Macintoshの世界で一般的なNH-imageのWindows版である。今回のプログラムで作成した静止画群をスタック化して使うのがいいと思う。そうそう、Scion ImagePCに読む込むときには静止画を8bit(gray)画像へと前処理しておくことがお勧めだ。
2000-02-06[n年前へ]
■パノラマ写真と画像処理 Pt.1 
パノラマ写真を実感する
「パノラマ」という言葉は何故か大正ロマンを感じさせる。かつて、流行ったパノラマ館や江戸川乱歩の「パノラマ島奇譚」という言葉がそういったものを連想させるのだろう。私も自分で写真の現像・焼き付けをしていた頃は、フィルム一本まるまる使ってベタ焼きでパノラマ写真を撮るのが好きだった。
そういう癖は持ち歩くカメラが「写るんです」と「デジカメ」へ変化した今でも変わらない。例えば、
の時に撮ったこの写真もそうである。![]() |
そしてまた、次に示す写真もそうだ。これは1999年夏頃の早朝に箱根の湖尻で撮影したものである。360度のパノラマを撮影したものだ。
![]() |
観光に行った先で撮影したと思われるかもしれないが、残念ながら違う。出勤途中に撮影したものである。豊かな自然がありすぎて、涙が出そうである。
パノラマ写真としては、こういう景色を撮ったものも良いが、人が写っているものも良い。私の勤務先がこの大自然の中に移転してくる前、都会の中にあった頃に居室で撮ったパノラマ写真などはとても面白い。窓の向こうにはビルが見えたり、周りに写っている人ですでに退職した人が何人もいたりして、涙無しには見られない。
もちろん、こういった写真はパノラマ写真で楽しむのも良いが、もっと実感できるものに加工しても楽しい。私がかつて都会の居室で撮影したものは、当時はAppleのQuicktimeVRのムービーファイルに変換して遊んでいた。今はもうない居室の中をグリグリ動かすのはホロ哀しいものがあり、とても味わい深かった。
ところで、WEB上でそういうパノラマのVRファイルを見せるにはどうしたら良いだろうか?もちろん、AppleのQuicktimeVRを用いれば良いわけではあるが、プラグインが必要である。私はQuicktimeは好きであるが、ブラウザーのQuicktimeのプラグインは嫌いである。WEBを眺めているときに、「Quicktimeのアップグレードはいかがでしょう?」というダイアログが出ると、少しムッとしてしまう。そこで、Javaを使うことにした。いや、もちろんJavaをサポートしていないブラウザーもたくさんあるが、こちらの方がまだ好きなのである。
そのようなパノラマのVRを実現するJavaアプレットには、例えば
- Panoramania
- http://www.lamatek.com/lamasoft/Panoramic/test.html
- Javaアプレット(パノラマver1.1)
- http://village.infoweb.ne.jp/~fwbc6098/java/panorama/panorama.htm
- TheVRApplet1.0
- http://www.physik.uni-greifswald.de/~jonas/VRApplet/VRApplet.html
- how toinsert the panorama show (java applet) inside your home page ?
- http://persoweb.francenet.fr/~carl/brique/exapano1.htm
さて、ここまでは単なる前振りである。本題は、実はこれから始まる。先日このようなメールを頂いた。
私はWindowsを使っているのですが、AppleのQuicktimeVRに興味があって、QuicktimeVRのパノラマ・ムービーを作っています。しかし、素材となる画像の作成に四苦八苦しております。ご承知の通り、
- ライカ版カメラに24ミリ広角レンズをつけて、
- 三脚にパノラマヘッドをつけて、ぐるりと周囲を12枚撮りして、
- 現像、プリントし、
- スキャニングして、ステッチャソフトでレンダリングし、
- それをMacintosh上でMake-QTVR-Panoramaにドロップして、
- 8ミリビデオに広角レンズを付け、
- 90度横倒しにして、10秒程度で1回転するようにステッピングモーターで駆動するパノラマヘッド(自作)に乗せ、
- 高速シャッター撮影し、
- マックのAV機能で円周12枚の静止画を取り出
- し、
- 8ミリビデオを横倒しにして、
- モーター回転するヘッドでぐるりと360度撮影し、
- その撮影した動画ファイルの、各フレームから走査線にして数本分を抽出し(インターレースで256本のうちセンター128本目の前後数本の走査線分)、
- それを貯めて1枚のjpgファイルにする、
- そのJPEG画像をMakeQTVRPanoramaの入力にして、パノラマムービーを作る、
その場合には、スリットスキャンカメラを入手し、それをカラープリントする設備を準備すればいいのでしょうけど、高価です。
そこで、
長々と分かりにくいことを書きましたが、要は、「マックで動く電子スリットスキャンソフト」をなんとか作っていただけないでしょうか?もし、そのようなソフトがあれば、
まずは、答えを先に書いてしまおう。私が作らなくても、
- NIH-Image (MacOS)
- ScionImagePC (Windows)
- 複数画像(動画)からの走査線抽出
ScionImagePCの動作画面を以下に示す。NIH-Imageとほぼ同じである。
![]() |
これらのソフトのStack-Slice機能を用いれば「複数画像(動画)からの走査線抽出」ができる。その使用例と、その面白い座標軸変換について考えてみたい。しかし、このページは少々重くなってきた。まして、走査線の抽出の話は使用画像が多くならざるをえない。そこで、次回、詳しく使用例を紹介することにする。よく、次回といったまま数ヶ月経つことがあるが、今回は大丈夫である。少なくとも数日後には登場することと思う(多分)。
あれっ、ここまで書いてからinfoseekで検索すると、
- パノラマ写真のひっみっつっ!
- http://www.imagica.com/nomad/sig98/hitachi/
2000-04-22[n年前へ]
■怪しいレーダー・マン 
コウモリの発する音を聴け
最近、帰りが遅い日が続いていた。しかし、今日は7時過ぎには家へ帰ってきた。4月も中程になると、この時間でも薄暗いほどに、日が長くなってきた。さて、駐車場で車を止めて空を眺めていると、蝶々のようなものがさかんに近所を飛び回っている。あれ、もう蝶々が飛び回る季節だったかな、それにこんな時間に蝶々って飛び回るのかな、それともこいつらは蛾かな、などとボンヤリ考えながら眺めていた。すると、それは蝶々でも蛾でもなく、コウモリだと教えられた。
それを聞いた瞬間、当然私は家の中に駆け込み、そして秘密道具を手にして戻ってきた。もちろん、その秘密道具とはこれである。
の時に手に入れた超音波の音波を可聴域に変換する「バットディテクター」である。![]() |
こいつを使えば、コウモリが発する超音波を自分の耳で聞くことができる。イヤホンを耳に差し、コウモリに超音波マイクを向けると、聞こえる聞こえる。コウモリの発する超音波が聞こえる。「コッコッコッコッ…」というような音が聞こえるのである。
「コッコッコッコッ…」という音がどんどん大きくなってくるとき、すなわちコウモリが近づいてくる時は恐怖すら感じる。外が暗くてよく見えないために、なおさら怖いのである。目の前にいきなりコウモリが突然現れたらどうしようかと思うと、トイレへ走り込みたくなる。
さて、録音してみたコウモリの声をここにおいておく。とりあえずは、WAVファイルとMP3ファイルである。
この声を可視化してみたものが次の画面である。音声波形とスペクトログラムである。パルス上の「コッコッコッコッ…」という音が連続的に繰り返されているのがわかる。![]() |
さて、コウモリの発する音を録音している内に真っ暗になってしまった。しかし、一応コウモリの写真も撮影しておきたい。
普通であれば、真っ暗な中で被写体(コウモリ)がどこにいるかわからないのであるから、撮影は結構難しいだろう。しかし、私には「バットディテクター」がある。耳にイヤホンを差し、超音波マイクを空に向ければ、例え真っ暗でもコウモリがどこを飛んでいるかはわかるのだ。超音波によるレーダーが私の味方なのである。カッコイイ言い方をすれば、私は超能力を持つレーダー・マンなのである(あまり格好良くない気もするが…)。
そういうわけで、「バットディテクター」を頼りに「真っ暗な中を飛び回るコウモリ」をデジカメで撮影してみた。残念ながらピントがなかなか合わないのが難点であるが、とりあえず撮影してみた。それが、次の写真である。
![]() |
この写真を撮るために、私は真っ暗な中でデジカメのシャッターを押しまくった。当然、真っ暗闇の中でフラッシュだけが光り続けたわけである。考えてみれば、怪しさバツグンである。耳にイヤホンをつけて、変な器具(実は「バットディテクター」)を空に向けて、延々とフラッシュを光らせまくるヤツ、それが私である。これを見た誰かが警察に通報するのではないかと、と真剣に心配になった程である。いや、もちろんパトカーがもし来たとしても、その音も素早くキャッチできるハズである。しかし、自宅の前では逃げようがない。
作業が終了した今は、ただ、近所で悪い評判がたたないことをただ祈るのみである。
2000-07-15[n年前へ]
■外の世界を眺めてみれば 
ビデオ入力を活用しよう
先日、トランジスタ技術の2000/07号を読み直していた。読み直していたのは「色センサー」の記事である。有限会社レンテックが視覚障害者用の製品として発売しているものである。PICをよく使う人だったら、この記事を読んでいなかったとしても、多分よく知っている話だと思う。何しろ昨年の「第三回PICmicroデザイン・コンテスト」で優勝した作品だからである。PICと音声ICの数多い制限と、測定上の制限の中で、「(使用用途を考えた上での)安定した色名決定」を行うルーチンがとても苦労していて、読んでいてとても面白い。
個人的には、この「第三回PICmicroデザイン・コンテスト」で入賞している「マルチ・チャンネル分光器」と
みたいなものを組み合わせて、「5000円でできるパーソナル・マルチ・チャンネル分光器」なんてものを作ってみたいと思っているのだけれど、こちらはなかなか作業が進んでいない。それはさておき、この「色センサー」のように、持ち歩いて色々なところですぐに調べることのできる測定器というのはとても便利なものだ。そして何より、それを作っている側からしても面白いものである。そこで、私も試しに作ってみることにした。といっても、計測器を作り出すと仕事と区別がつかなくなってしまうので、ハード的に作業をするのは気分が全然のらない。そこで、PCに接続されているビデオカメラを用いて、ソフト的に作ってみることにした。やってみたことは、以前作成した「色覚モドキソフト」を、ビデオカメラからのリアルタイム入力用に作ってみただけである。
以前
ではインターネット上にある画像ファイルに対して、画像処理をかける「色覚モドキソフト」を作ってみた。コンピュータにネットワーク上のものが見える「色覚」を持たせて、ネットワーク上の画像について考えてみたわけだ。そして、ではそれを自分のPCの中にある画像ファイルをいじるようにしてみた。つまり、コンピュータに自分の中のものが見える「色覚」を持たせて、自分の中を覗いてみたのである。そして、今回はPCに接続されているビデオカメラを用いて、コンピュータに現実社会を眺める「色覚」を持たせてみることにしたのである。そんな現実社会を眺めることができて個性を持つコンピュータを通して、現実社会を眺めてみたいと思うわけだ。
最近の持ち歩き用の小型ノートPCにはビデオカメラが取り付けられているものが多い。例えば、こんな感じだ。
![]() | ![]() |
![]() | ![]() |
私もCasioのPalm-sizePCは使っているし、ノートPCにもUSB接続のビデオキャプチャーを取り付けている。こういう持ち歩けるPCに取り付けてあるビデオカメラを活用しないのは勿体ない、というわけで、以前作った
を改造し、で作ったtruecolorを合体させて、ちょこちょこっと作ってみたのがこれだ。- truecolor5.exe ( truecolor5.lzh 746kB)
例えば、次の画面はTVで放映している「ターミネーター」を見ているところである。一番左の画面がコンピュータのビデオカメラに写っているそのままの画面だ。そして、真ん中がリアルタイムに色調変換をかけている画面である。つまりは、「色覚に個性を持つ」コンピュータが眺めている「ターミネーター」である。また、一番右はシャッターを押したときに取り込まれた静止画像である。
![]() |
くれぐれも勘違いしないで欲しいのだが、上の一番左の画面で「赤い」部分が、真ん中の色調変換をかけた後では緑っぽく見えているからといって、このコンピュータがそこを「緑」と認識しているわけではない。あなたが、この真ん中の画面を見て何かを解釈しようとした瞬間に、それはコンピュータの感覚に加えてあなたの感覚が混入してしまうのである。もし、それでもそう考えたくなる人がいれば、そもそも「赤」とか「緑」という言葉はどういう意味なのかを考えてみると良い、と思う。
また、今回のL,M,S(これは具体的な何かを指すわけではないので、この意味についてはあえてここでは説明しない)の各スライダーの感度パーセンテージを以前のような0〜100%ではなくて、0〜200%の範囲で動かせるようにしてみた。もし、あなたのPCのモニタがこのLに対応するところが弱くなりがちならば、このLのスライダーをいじってやって、Lに関する情報を増幅してやることができる、と考える人もいるだろう。といっても、いじってみるとわかると思うが、そもそもモニタの出力可能な限界と画像フォーマット上の限界があるわけで、なかなかそういうわけにはいかない。ただ、色々と実験してみるのには面白いかもしれない。
ちなみに、次の画面は「週間アスキー」の広告を眺めている画面だ。おやおや、この広告はこのコンピュータには今ひとつアピールしないようだ。
![]() |
さて、先ほど
そもそも「赤」とか「緑」という言葉はどういう意味なのかを考えてみると良い、と思う。とあっさり書いたが、「言葉」とか、「現実」とか、あるいは「感覚」といったものはすこしづつ重なり合ってはいるけれど、それは一致し得ないものだと私は思っている。まして、それらは一人の人の中で完結できるものでもないし、同時に万人にとって同じでもない。以前書いた「クジラは哺乳類か魚か?」とかと同じで、心底考えてみることに意味があるんじゃないか、と思ってたりするのだ。
2001-01-02[n年前へ]
■KYOTO 2001 
Motions on Camera

京都の「五山送り火」が初めて大晦日にも行われた。「二十一世紀が始まる記念」というわけで、由緒正しいしきたりをたまには変えて「五山送り火」を大晦日にやってみよう、というわけだ。「昔から続けてきたしきたり」という伝統と、それをたまにはちょっと変えてやってみようという新しいことが混沌として両立しているところが実に京都らしくてちょっと面白い。京都という街は古くから同じ場所にずっと居るわけだけれど、自縛霊のようにじっとしているかというとそういうわけでもなくて、何故か同じ場所でずっと動き続けている。そんな「動き続ける自縛霊」が京都だと私は思う。
この夜は、珍しい「大晦日に燃え上がる大文字」を見るために、三条大橋の上にはもうたくさんの人がいた。もう、大文字はその文字通りの「人混み」の彼方にやっと見えたというくらい、人が多かった。ところが、その時に三条大橋の上で撮影したこの写真にはそのひどい人混みは写っていない。
何故かというと、この写真を撮るのに露出時間が数秒程度かかってしまったからだ。そのシャッターが開いていた数秒間の間に動いていたものはぼやけてしまい、写真には写らなかったのである。だから、この写真にはカメラの前を歩いていたたくさんの人達はほとんど写っていない。もちろん、よく見ればかすかに歩いていく人の姿が見えるような気もするけれど、やはりそれでもはっきりとは見えないだろう。結局、この写真には「動いていく人々」は写らずに、「動かないもの」だけが写ったわけだ。
もし、この写真に動かずに佇んでいる人が写っていたとしたら、どうなるだろうか?ずっと同じ場所で佇んで考えごとでもしている人がいたら、その人はきっとこの写真に写ったに違いない。それはもう自縛霊みたいなものだ。そこにうつっているのは単に「考えている人」ではなくて、もしかしたら自縛霊のように「同じ場所でずっと動かない思い」みたいなものかもしれない。
ところで、この写真はデジカメで撮った。だから、撮影した画面をその場で確認した時には、ちょっと不思議な気分になった。人だらけの三条大橋の喧噪の中で、誰も写っていない三条大橋の写真を見ていると、この写真に写っているものは一体何なのという疑問が頭の片隅にふと浮かんでしまった。写真に写っているものが一体何で、写真に写っていないのか一体何なのかなんてちょっと考えてみたけど、酔っぱらいの私には何だかよくわからなかった。















