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)画像へと前処理しておくことがお勧めだ。
2001-03-04[n年前へ]
■柿ピーのシーソー・ゲーム
柿とピーナツの供給バランスを考える
結婚しようとするカップルが少しばかり気にした方がよいのが、「柿ピーの好み」である。知らない人がいるとは思えないが、念のために書いておこう。柿ピーと言えば、柿ピー= 柿の種 + ピーナッツであって、亀田製菓の大ヒット商品である。そして、何と言ってもビールの安上がりのおつまみだ。
この「安上がりで手軽なおつまみ」というところが、結婚しようとするカップルにはとても重要である。何故なら、結婚する前のカップルであれば洒落た店で飲むことも多いかもしれないが、結婚後はなかなかそうはいかない。いつの間にか手に持ったワイングラスは缶ビール(しかも発泡酒)に変〜身し、「テーブルの上の豪華な食事」はちゃぶ台の上の亀田製菓の柿ピーにバケラッタしているのである。
そうなると、かつては「このソースとても美味しいよね。うふっ。」なんて言っていた二人も変わらざるをえない。そりゃそうだ。柿ピーを目の前にして、気取ってみてもしょうがないわけだ。そんな時、こんな会話に走りがちである。
「柿の種ばっか、食べないでよ!」そう、柿ピーがなまじ「柿の種 + ピーナッツ」なので、片方がどんどん減っていったりすると、これがもう大変。かつては、ワインを片手に愛を語らっていた二人も、今やビール(しかも実は発泡酒)を片手に食い物の奪い合いをすることになるのである。
「オマエこそ、ピーナッツどんどん食えよ!」
これが、カップルの二人がとても似たもの同士で、「私達二人とも柿の種がスゴ〜ク好きだから、ピーナッツなんかいらないの。だから、- 柿の種だけが100%入った柿の種 - を買うの!」なんて感じなら、もちろんノープロブレムだろうし、あるいは、「ぼくらは、ピーナッツだけを買うのさ!」という感じのカップルでも同様だろう。
あるいは、もう「ぼくは柿の種が好きだけど、きみはピーナッツが好き。二人は違っているから良い組み合わせなのさ。柿の種はぼくがどんどん食べるから、君はピーナッツをお食べ」なんてカップルでもいいだろう。こちらも、「ひとまずは」ノープロブレムである。つまりは、全く同じが正反対のカップルであれば、大抵の場合ほとんど問題はないのである。
しかし、「柿ピーは柿の種とピーナッツが適当な割合で入っているから良いのさ」なんていうグルメ気取りのカップルがいたりすると、大変である。
「アンタの食べる割合、少しおかしくない?」となるのは必至である。この数分後には、巨人の星の一徹父ちゃんのごとく、ちゃぶ台はひっくり返されているのに違いないのである。柿ピーの割合恐るべしだ。
「何言ってんだよ!オマエの方が柿ピー食べ過ぎだってんだよ!」
「そんなことないわよ!」
そして、しかもこれが理系カップルともなれば、もう最低だ。
「柿とピーの割合は7:3で食べなさいよ!」という具合になるに決まっているのだ。このままいくと、柿ピーを前にして離婚談義にもなりかねない。なんともオソロシイ話である。(* ピー柿は7:3でピーナツの方が多い。そんなのが実在することが私にとっては驚きである。)
「違うだろ、6:4が適正値に決まってるだろ!」
「そんなにピーナッツを食べたいなら、柿ピーじゃなくてピー柿*にしなさいよ!」
「別にピーナッツが過半数を超えるほどがイイって言ってんじゃねぇ〜!」
「何よ、もっと定量的に話しなさいよ!」
そういうわけで、「柿ピーの好み」「柿ピーの割合」「柿ピーの消費の割合」なんていうものは、結構結婚しようとするカップルには重要なのである。結婚しようとするカップルはぜひとも心して聞いておいてもらいたい。とはいえ、モテモテ度テストで
「女にモテない、というより、女に興味がないオマエ。今、一番気になることがドリキャスの値下げだったりなんかしない? まーそれも人生だけど、モテたほうがおいしいことは多いぜ? もうちょい女に関心持てよ。」と判定された私が言っても説得力がないか。
ところで、そもそも柿ピーの割合はどのくらいが普通なのだろうか?WEBで検索してみると、柿ピー10に対して
- 柿の種 : 7〜6
- ピーナッツ : 3〜4
そこで、試しに私も手元にあった小袋入り亀田の柿ピーの中身を調べてみた。調べたのは「小袋入り亀田の柿ピー」である。
この一袋の中身を開けてみると大体こんな感じである。
もちろん、単に数えても良いわけではあるが、「クダラナイことに、無意味なほどに大ゲサな道具を使うのがこのサイトのポリシー」でもあったりするので、まずは画像処理ソフトを使って柿の種とピーナッツの個数をカウントしてみた。使ったソフトはUTHSCSAImageTool である。PCベースでフリーでお手軽で粒子カウントとなるとこのソフトになるだろう。もちろんNIH-imageベースのScionImagePCという選択肢もないわけではないが、こと粒子カウントになるとはるかにImageToolの方が使いやすい。マクロの取っつきやすさ(機能は較べものにならないほどおちるが)もNIH-image系よりも上である。
さて、まずは上の画面内で柿の種を粒子カウントしてみたのが次の画面だ。この画面では見つかった柿の種は赤い縁取りがされ、個数がマーキングされていることがわかると思う。ちなみに、この画面内では93個の柿の種が見つかった。しつこいようだが、「数えた方が早いだろっ!」というツッコミはこの「できるかな?」では厳禁である。
同じようにして、ピーナッツをカウントしてみたのが次の画面である。この画面では、ピーナッツは23個見つかった。
すると、個数ベースでピーナッツが23/(93+23) = 20%で、残りが柿の種で80%ということになる。柿ピーの割合は大体8:2であったことになる。確か、WEBの亀田製菓に関する情報では
「柿ピー」のブレンドは、柿の種6に対してピーナッツ4が基本と書いてあったような気がするので、今回の8:2というデータは測定誤差、とその他の何らかの誤差が重なったものだろう。いや、そんな誤差はどうでも良いか。
ところで、大きな袋に入った柿ピーを食べながらよく考えることがある。私は柿の種が大好きなので、柿の種ばっかり選んで食べていくと、袋の口近くの上の方にはピーナッツばかりが残り、明らかに袋の場所ごとに柿の種とピーナッツの割合が異なってしまっていることがよくある。この柿の種とピーナッツの割合の時間的・空間的変化は一体どうなっているものだろうか?そこで、今回その「ピーナッツの柿ピーに占める割合の時間・空間的変化」について、少し考えてみることにした。
まずは簡単に判るように、袋の中から均等に柿の種とピーナッツを「柿ピーの割合を適当な割合で」食べていった場合、「ピーナッツの柿ピーに占める割合」は次の図のようになる。この図は横軸が時間で、縦軸がピーナッツの柿ピーに占める割合である。
緑 : 柿ピーを8:3の割合で食べた場合 |
今回の場合柿ピーは8:2で入っているので、青の場合のように柿ピーを8:2の割合で食べていくと、時間にして10分後に柿ピーがなくなるまで、ピーナッツの柿ピーに占める割合は20%をキープしたままである。しかし、(少しばかりピーナッツが好きな人が)柿ピーを8:3の割合で食べてしまうと、つまりピーナッツを過剰に食べてしまうと、どんどんピーナッツの割合は減ってしまい、ついに8分経過後にはピーナッツが袋の中から無くなってしまうのである。つまり、あとの2分は悲しみと共に柿の種を食べ続けなければならないのである(私は柿の種が好きなので悲しくもなんともないが)。
じゃぁ、袋の中の空間的分布も考えてみたらどうなるか、というのを次に計算してみた。まずは、袋を大きく二つに分けて、袋の入り口で適当な割合で柿ピーを食べた後、袋の奥から袋の入り口の方へ柿ピーを持ってくる。また、その際に適度に柿ピーをかき混ぜる。そして、柿ピーがなくなるまで柿ピーの割合の変化を調べてみるのである。ちなみに、IE4以降+Excel2000以降?の人であれば、ここをクリックすれば、その計算シートで遊ぶことができると思う。
例えば、「柿ピーを8:2の割合で食べた場合」と「柿ピーを8:5の割合で食べた場合」のピーナッツの柿ピーに占める割合の時間・空間的変化を調べてみたのが、次に示す結果である。ちなみに、このいずれも横軸は時間である。また、時間軸にして30前後の時点で柿ピーは完全になくなっている。
ちょっと計算上の誤差が大きいが、それはちょっと無視してもらいたい。 |
さて、左の「柿ピーを8:2の割合で食べた場合」、つまり本来の柿ピー比と同じ割合で食べていった場合には、入り口近くでも奥の方でも柿ピーの比率は変わらない。そして、入り口の方から柿ピーを取った分を、奥の方から補給しているので、奥の方では時間軸20の時点で空になってしまっている。左の図でピーナツの割合がゼロになっているように見えるのは、実は単に柿ピーがなくなっただけなのである。そして、入り口近くの柿ピーが時間軸30の時点で空になっているまで、柿ピーの比率は変わることはない。当たり前だ。
では、「柿ピーを8:5の割合で食べた場合」はどうだろうか?つまり、本来の割合よりもピーナッツを多く食べがちな人の場合だ。そんな場合の右を見てみると、奥の方は単に入り口近くに柿ピーを補給しているだけなので、柿ピーの割合は変わらないままだ。しかし、入り口近くではあっという間にピーナッツの割合が減ってしまっている。ほとんどなくなっている、といっても良いくらいの状態である。つまり、ピーナッツ大好き人間にとっては、手の届く袋の入り口近くには全然ピーナッツがないという、拷問状態なのである。周りに女子校や共学の学校はあるけど、自分の通う学校が男子校だったみたいなキツイ状態である。ちなみに、私は高校時代に私服の共学の学校に通った結果、制服の女子高生に強い強い憧れを抱くに至ったことを否定できなかったりするのである。
話を戻して、それでは「袋を適当にかき混ぜながら」、「柿ピーを8:5の割合で食べた場合」はどうなるだろうか?というのが次の結果である。こうすると、奥の方のピーナッツもどんどん消費されているのがわかる。入り口近くも奥の方も、同じようにどんどんピーナッツの割合がどんどん減ってしまい、時間軸15の時点で完全になくなってしまっている。あとは柿の種がなくなる時間軸30の時点まではもう柿の種と向かい合うだけの人生なのである。ツラすぎる(ピーナッツ好きの人にとっては)。私の知人のオッパイ星人が結婚後に妻から、
*一部、不適当な発言がありましたことをお詫びします。
つまりは、ピーナッツが食べたいからといって、あまり柿ピーの袋をかき混ぜるのは良くないということなのである。もちろん、短期的にはピーナッツがたくさん食べることができて良いわけであるが、長期的に見ればその後の長い「柿の種人生」が待っているのである。それが端的にわかるのが、次の「ピーナッツをどれだけ食べているか」を示す結果である。
この結果の中で、上の方に示した「柿ピーの袋をかき混ぜない場合」では、結構最後までピーナッツを細々と食べていけることがわかるだろう。柿ピーがなくなるのが時間軸で30前後の時点であるが、その少し前23位の時点までピーナッツを食べていけるのである。それに対して、ピーナッツを早く食べたいばかりに、柿ピーの袋をかき混ぜまくりの下の「柿ピーの袋をかき混ぜた場合」には、時間軸で13前後の時点でもうピーナッツがなくなってしまっている。もう、コイツには「柿の種人生」しか残されていないのである。
柿ピーの袋をかき混ぜない場合 結構最後までピーナッツを細々と食べていける |
柿ピーの袋をかき混ぜた場合 なんとも、太く短くのピーナッツの食べ方である… |
とはいえ、柿ピーの袋をかき混ぜながら太く短くピーナッツを食べるか、それをじっとガマンの子で細々と最後までピーナッツを食べるか、どっちが良いかは難しいところだ。ちなみに、私はかき混ぜまくりで柿の種を食いまくり、残ったピーナッツは人にプレゼントするというとても良い性格である。だったら、100%柿の種を買えって感じであるが、売店には置いてないことも多いから、しょうがないのである。
というわけで、今回はビール(やっぱりあくまで発泡酒)を左手にそして柿ピーを右手でつまみながら、酔っぱらった頭で(いつものことだが)、ツマラナイことを考えてみた。モノが本当の柿の種であればオチて芽が出るのが普通なのだけれど、今回の柿ピーの話はオチがあるわけでも芽が出るわけでもない。酔っぱらいのタワゴトだから意味なんか全然ないのである。と、日記には書いておこう(意味不明)。
2002-05-23[n年前へ]
■ImageTool Final
去年の新人君(金の卵)に計測画像処理の話を聞かれたので、とりあえずいつものようにImageToolとScion Image PC辺りを簡単に説明。で、つい前に3.0Finalバージョンになってた。粒子解析のまずは超入門編としては超おすすめです。
あともちろんNIH ImageのPC版のScion Image PCはStack機能を使いまくるのがコツ、と。もちろんどちらもフリー。(リンク)(リンク)