新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

「たけのこ」とマルコ

ザグレブには「そら」と「たけのこ」という二つの日本料理店があるらしい。マルコのお気に入りは「たけのこ」だ。「そら」は値段が高すぎてちょっといけないらしい。「そら」はどういう意味かと聞くので「空」すなわちskyだと教えてあげた。すると、「ああ確かにビルの最上階にある」という。そしてもうひとつの意味「から」を教えると「財布が空になるんだよ」と笑った。みんな漢字には興味があるらしい。「空」の話が出たついでに「北京」と「東京」の話が出た。漢字で書いて意味を説明すると実に興味深そうに聞いていた。

金曜日、第一週目の最終日はマルコから logiLENS, logiBAYER の話を聞いた。ここからにわかに技術の話になる。たまにはちゃんと技術の話を書かないとあいつはザグレブで何をしているんだという話になりかねない。

logiLENS は魚眼レンズを補正するIPコアだ。まず入力されたデータを補正値にしたがって配置しなおす。その際に、CCDから来た情報をすべて使うのではなくはじのほうはカットする。これは補正によって拡大される部分がある代わりに補正後の長方形からはみ出す部分があることためである。次に補正によって幾つかのドットが失われてしまう。それを補間していく。変換の際にライト・スルー・キャッシュを使う。これは散逸する情報をメモリに転送するときに効率よくバースト的に行うためである。logiLENS はそのため4つのバッファを使う。logiWIN は3つだからひとつ多いことになる。補正の為の情報は LUT として 1024 x 2 のブロックRAMに収められる。これはユーザが後から変更することも可能であるし、あらかじめハードコーディングすることの可能である。logiLENS の入力は RGB でこれは logiBAYER の入力を期待している。logiWIN からの入力も可能とのこと。この場合は NTSC を logiWIN で入力して logiLENS で補正するということが可能だ。

logiBAYER は CCD カメラ用の IP コアだ。CCD カメラは素のデータを出力するのだがベイヤーパターンという特殊なデータを使い時分割で色情報を出力する。ベイヤーパターン自身は一般的な用語なのでそれらは他のウェブサイトの情報に任せる。logiBAYER が対応している入力は一般的な DE, DIN, VSYNC と Micro MT9V022 の持つ LVDS に対応している。

さっそくアニータにソフトウェアのデモをしてもらう。まずは Windows 上で補正値を計算する。そしてその結果を C のソースあるいは VHDL のソースに変換する。VHDL のソースをシンセサイズするとハードコーティングされるため特別にソフトがなくてもすぐに魚眼レンズに対応すことが出来るようになる。