ユビキタス Ubiquitous DeviceSQL活用事例:オリンパスイメージング |
|
組み込み技術の集大成といえるコンシューマ製品――デジタルカメラ。高機能化が目覚しいこの分野でいま注目されている機能の1つに、画像検索機能がある。ユーザーが見たい画像をさまざまな要素から検索し、瞬時に表示できるこの機能には、組み込みデータベースの技術が採用されている。デジカメの世界で活用されている世界最小の組み込みデータベース「Ubiquitous DeviceSQL」(以下、DeviceSQL)の事例を紹介する。 |
近年、デジタルカメラ(デジカメ)の高機能化が目覚しい。その進化を影で支えているのが最新の組み込みソフトウェア技術だ。顔認識技術や多彩なシーンモードでのオート機能などは、組み込みソフトウェア技術なしでは語れない。
そんなデジカメの世界に、“撮影後の画像を自由に楽しむ”という新たなトレンドが生まれつつある。その背景には、フラッシュメモリの低価格化で大容量のメモリカードが気軽に使えようになったことが挙げられるが、そのギガクラスの大容量メモリカードは一方で大量の撮影枚数から画像を探し出すのを困難にするという課題も生み出した。そこで注目されてきたのが、組み込みデータベースを使った画像検索機能だ。
2010年2月にオリンパスイメージングから発売されたコンパクトデジカメ「μTOUGHシリーズ」に搭載され話題となった「フォトサーフィン」は、日付/場所/人物情報/シーンモードなどさまざまなカテゴリで画像を検索できる注目の新機能だが、これを実現しているのがユビキタスが開発した世界最小の組み込みデータベース「DeviceSQL」だ。
![]() |
| さまざまなカテゴリで画像を検索できる注目の新機能「フォトサーフィン」 |
フォトサーフィンでは、撮影データの中に含まれるメタデータ(Exif)に記録された顔情報(顔の有無)や日付、または画像管理ソフト「ib」で書き込んだ位置情報や人物情報などをデータベース化して、ユーザーが見たい画像をさまざまな要素から検索し、瞬時に表示できる。カメラ内の画像を思いのままにサーフィンする感覚で鑑賞できることからこの名前が付けられた。
オリンパスイメージング 開発本部 デバイス開発部 デバイス開発3グループ 課長の尾方 利廣氏は「大量の撮影データをリソースの限られたデジカメで管理しようと考えたとき、全画像のメタデータをメモリ上に展開して検索をかけるという方法は、リソース面だけでなく速度面でも現実的ではない。そこで以前から注目していた組み込みデータベースの活用を検討し始めた」と導入の経緯を語る。
| 小さなフットプリントで高速処理 |
世の中に出回っているデータベースソフトは種類も豊富で特にPCで使われているものはメジャーなものも多いが、これらは数百KB〜数MBクラスのフットプリントが必要だったり、動作時にメモリをたくさん必要とするなど、組み込み用途ではなかなか活用しづらい。また冷却装置の搭載が前提のPCはCPUの動作クロックも高速にできるが、デジカメは限られた消費電力の中で動作させなくてはいけないほか熱の問題も重要で、データベース処理のためにプロセッサを高速動作させるということも難しい。
DeviceSQLでは、DeviceSQL言語でデータロジックを記述し、コンパイラを用いてCコードに変換する方式を採用している。これにより、ほかの組み込みデータベースソフトが通常ランタイム環境で行うSQL文の解釈/構文チェック/エラーチェックなどの処理をプリコンパイル時に行うことで、メモリフットプリントの極小化(最小時24KB、一般的な使用の場合50〜80KB)と高速処理を実現している。
![]() |
| DeviceSQLではプログラム内でCの関数やDeviceSQL関数をインポート/エクスポートすることが可能。きめ細かなデータ操作でプログラム制御とテーブル/データ操作の分離が行える |
「フットプリントの小ささは、DeviceSQLを採用した大きな理由の1つ。当初はそんなに小さいサイズに希望する機能が果たして入っているのかとにわかに信じられない気持ちだった。ハード設計時にフットプリントとして用意している領域も、デジカメの限られたリソースの中では開発が進むうちに取り合いになるので、フットプリントはできる限り小さい方がいい。もっとも、デジカメにデータベースを組み込むのが本来の目的ではなく、あくまでもたくさんある画像データをユーザーが使いやすいように見せられることが主眼。今回は、顔情報/日付/位置情報などをもとに、ユーザーが求めるデータだけを選び出して表示するという機能を実現するための“手段”として、DeviceSQLを使った」(尾方氏)。
| 短期開発の助けになる充実のサポート体制 |
組み込みデータベースソフトもさまざまあるが、その中でDeviceSQLを選んだ理由として尾方氏は「一番の理由はフットプリントの小ささと高速処理だが、サポート体制が充実している点も大きな理由の1つだった」と語る。
「とにかく短期間に実装しなければいけなかった。今回のデジカメ開発では、実際にデータベースに必要な情報が整ってからデータベースのチューニング(パラメータ調整など)を行うまでの期間は数週間程度で、まさに時間との勝負。ユビキタスさんにはかなり無理なお願いもしたが、しっかりとサポートしてくれた」(尾方氏)。
検索時間は、データベースソフトの使い方やデータベーステーブルの構成などでまったく変わってくる。そのあたりを両社の担当者同士でじっくり詰めることができたことで、検索の高速化を実現できたという。
デジカメのようなコンシューマ向け組み込み機器はユーザーにいつ電源を切られるか分からないので、クリティカルな情報の処理が終わるまでは電源を落とさないような保護機能が備わっている。だが、処理速度が遅いためにいつまでも電源が落ちないようでは本末転倒。それだけに組み込みのリソース内でしっかりと処理スピードが出るということは、デジカメとして非常に重要なことなのだ。
大容量メモリカードが安価に入手できるようになり、銀塩カメラ時代のネガフィルムのように撮影データをメモリカードに入れたまま保存するユーザーも増えている。組み込みデータベースを使った画像検索は、このような使い方で特に大きな効果を発揮する。数百〜千枚以上の画像が収められた大容量メモリカードから希望の1枚を瞬時に探し出すためには、データベースによる画像管理が欠かせない。
「組み込みデータベースを利用するシステムでは、機能追加の場合にもテーブルを追加するだけで対応できる。今後の発展性を考えてもデジカメへの組み込みデータベース搭載は非常に有効。今後もデジカメでの組み込みデータベース活用を積極的に行っていきたい」(尾方氏)。





