イー・フォース株式会社

Success STORIES
Success STORIES
イー・フォース株式会社
イー・フォース株式会社
ARMデュアルコアSoCを活かせる
リアルタイムOSとして
「μC3/Standard」を採用
カシオ計算機(以下、カシオ)では、EXILIM(エクシリム)ブランドのデジタルスチルカメラ(以下、デジカメ)を展開している。EXILIM は、
たものもあります。EX-H10 という製品ですが、
ことが多いが 、こと組込みシステムでは AMP
ここまでの撮影枚数を実現できたのはいままで
( Asymmetric Multiple Processor )での動作が
有利となる。
にありませんでした」
(渋谷氏)。
ラテン語の「eximius」と英語の「slim」を組合せた造語で「驚くほど薄い」という意味である。この EXILIM にイー・フォースのリア
このクイックレスポンスに加えカシオが取り
「SMP での動作はある程度システムにお任せ
ルタイム OS である「μC3(マイクロ・シー・キューブ)/Standard」が採用された。ARM デュアルコア SoC「EXILIM エンジン HS」の
組んだのは、高速連写である。EX-F1 という製
になってしまいますが、AMP はタスクを意図的
品では、1 秒間に 60 枚という動画並みの連写機
に切り替えるなど、きめ細かなチューニングが
能を実現した。
可能です」
(カシオ 細田氏)という。
性能を活かせる OS として評価されたからだ。ここでは、EXILIM の魅力やμC3/Standard の導入メリットなどを探る。
最新製品「EX-ZR シリーズ」は、このクイック
EXILIM エンジン HS は、AMP で動作させるこ
レスポンスと高速連写を、コンパクトデジカメ
とで、起動やオートフォーカスの高速化、快速
で実現させたものだ。EX-ZR20 と EX-ZR200 であ
シャッターなどを実現している(図 2)。
カシオ計算機株式会社
る(図 1)
。これらに採用されているのが、ARM
CPU を 1 つだけ搭載していたものでは、撮影
羽村技術センター
QV 事業部 商品企画部
デュアルコア SoC「EXILIM エンジン HS」である。
後の画像処理に時間がかかってしまい、次の撮
影までの間隔があいてしまう。EXILIM エンジン
部長
渋谷 敦 氏
イー・フォース製OS の高い完成度と
HS では、1 つの CPU でリアルタイム性が求めら
フレキシビリティが採用の決め手に
れる処理を行っている間、もう一方の CPU では
画像処理やファイルへの書き込みなどを行わせ
化に加え、0.01 秒というレリーズタイムラグを
実現することで、シャッターボタンを押したと
EXILIM エンジン HS は、ARM コアとハードウ
ている。
エアロジックを 2 つずつ搭載したデュアルコア
この EXILIM エンジン HS の OS としてイー・
SoC である。さらに、リコンフィギュラブルプ
フォースのμC3/Standard が採用された。μC3/
画像処理エンジンの低消費電力化、高密度実装
ロセッサも搭載している。これにより、FPGA
Standard は、μITRON 4.0 に準拠したリアルタ
による小型/薄型化、さらに大容量バッテリの
(Field-Programmable Gate Array)よりも高速
同時に撮影できるものにしました」
(渋谷氏)。
その後 EXILIM シリーズは、液晶画面の大型化、
搭載などによって進化してきた。
イム OS である。
数あるμITRON 4.0 準拠の OS のなかで、なぜ
にハードウエア処理を切り替えることができる。
「CIPA(カメラ映像機器工業会)の撮影枚数基
デュアルコアは、パソコンの世界では SMP
準で、満充電時に 1,000 枚の撮影枚数を実現し
(Symmetric Multiple Processor)で動作させる
イ ー・ フ ォ ー ス 製 品 を 選 ん だ の か。「EXILIM
エンジン HS の性能を活かす OS を探していて、
快速シャッター
1 枚目
2 枚目
画像処理
従来機
Capture
クイックレスポンスと高速連写を
コンパクトデジカメで実現
全世界でのデジカメ出荷台数は 1.3 億台を超
えており、いまや成熟産業となっている。
カシオでは、デジカメの黎明期ともいえる
1995 年に QV-10 を発表して以来、市場を牽引
してきた。
22
ARM PARTNERS SUCCESS
「当時、QV-10 は世界で初めて 280g 未満のデ
11.3mm という薄さに抑えたものです。重視
ジカメとして液晶モニタを搭載したもので、こ
したのは、この薄さに加え、パッと出して、
こから一般向けデジカメ市場が始まったとい
パッと撮るというクイックレスポンスです」
えるでしょう」
(カシオ 渋谷氏)。2002 年から
「EXILIM シリーズ」が投入された。現在このブ
製品がラインアップされている。
るまでのロス時間となるレリーズタイムラグが
大きかった。「EX-S1 では、起動やズームの高速
2 枚目
撮影間隔
0.29 秒
CPU
0
Capture
3 枚目
撮影間隔
0.29 秒
Capture
4 枚目
撮影間隔
0.29 秒
Capture
Capture
ZR15
当 時 の デ ジ カ メ は、 起 動 や ズ ー ム が 遅 く、
シャッターボタンを押してから実際に撮影され
「EXILIM シ リ ー ズ の 第 一 弾 と な る EX-S1 は、
1 枚目
(渋谷氏)。
ランドで統一されており、2012 年 3 月現在 22
Capture
CPU
1
図 1:最新製品の EX-ZR20(左 シルバー / ブラック)と EX-ZR200(中央)、
自分撮りで人気の EX-TR100(右)。
画像処理
画像処理
図 2:「EXILIM エンジン HS」は、2 つの CPU に処理を分散することで快速シャッターを実現。
図は、2011 年 9 月に発表された「EX-ZR15」の場合。
ARM PARTNERS SUCCESS
23
Success STORIES
テクニカル・ノート
Technical NOTE
イー・フォース株式会社
ART 画像、背景ボカシなど一眼レフカメラのよ
マルチコアでリアルタイム処理を実現する
うな撮影が可能となっている。
μC3/Standard AMP マルチコア拡張
HDR は、露出の異なる 5 枚の連写画像から適
切な明るさの 3 枚を組合せてピクセル単位で合
成するもので、まるで肉眼で見たような画像
を得られるものだ。HDR ART は、絵画調などの
リアルタイム処理に適した AMP
アート処理を高速に行うことである。HDR ART
は、動画撮影でも行うことができる。
カシオ計算機株式会社
羽村技術センター
QV 事業部
開発部 第三開発室
室長
細田 潤 氏
デュアルコアとは対称型マルチプロセッサ SMP(Symmetric Multiple
「いままでのコンパクトデジカメでは、たと
Processor )ですが、必ずしも SMP 型カーネルを使う必要はあり
えば人物に合わせてしまうと青空がうまく写
ません。むしろ組込み機器では非対称型マルチプロセッサ(AMP:
りませんでした。HDR なら青空と人物の両方に
最適な露出で美しい写真が撮れます」
(渋谷氏)。
イー・フォース株式会社
Asymmetric Multiple Processor)でなくても、コア毎にカーネルを
代表取締役
載せる AMP 型カーネルの方が良い場合が少なからずあります。つま
与曽井 陽一 氏
しかも、フル HD の動画を撮影中に高速連写も
通りのコアへ処理を割り振ることで負荷配分ができるからです。μC3/
できるなど、いままでのコンパクトデジカメの
概念を超えた新しい機能を実現している。
り、負荷配分を自動で行うのではなく、プログラマが負荷を予測し思い
今回は国内デバッガメーカとの組合せで良い結
Standard では拡張機能として AMP マルチコア拡張を用意し、デュア
ルコア上で AMP 型カーネルとして使えるようにしました。
高速連写によるプレミアムオート PRO とい
果をもたらすことができた。
「OSの情報をデバッ
こういったハードウエアで目指す性能などを
う機能も搭載している。これは、逆光や夜景、
ガ上で表示させる機能をつけるなど、カシオ様
一般的なAMP型カーネルと言えば、異なったアーキテクチャのコア間や、
イー・フォースさんに相談したところ、フレキ
ズーム撮影といった難しいシーンでも、カメラ
の使い勝手の向上につとめました」
(与曽井氏)
。
マルチプロセッサ間に対応したカーネルを連想すると思います。この場
シブルに対応していただいたことが決め手でし
が状況に応じ、高速連写で得られた画像の自動
さらに、通信ではとかくオーバーヘッドが課
た。マルチコアの SoC を採用するには、いろい
合成を実施することで、より綺麗な写真を撮れ
題になることが多いが、あらかじめ通信のオー
しかし、デュアルコアのように、同じアーキテクチャや、メモリを含め
ろと大変だと思いました。そこで、OS について
るものだ。
バーヘッドをシミュレーションしておき、その
内蔵デバイスを共有できるとなれば、違った形のAMP型カーネルが考え
側に代わってシステムコールを実行する手法が一般的です。これでは、
ハード的には密結合のプロセッサでありながら、カーネル的には疎結合
と言えます。AMP マルチコア拡張では、カーネルのクリティカルな部
分で通信を行うパイプを持った密結合とし、待ちの発生しない同期・
通信機能を中心としたコア間システムコールが実装されています。
割込み応答性の高いμC3/Standard
μC3/Standard では割込み応答性を高めるため、システムコールの処
理は割込み許可状態で実行されます。そのため、割込みから呼び出され
たシステムコールはキューイングされ、割込み終了後にまとめて処理さ
合は、コア毎にプログラムを作成し、割込みと共有メモリで通信します。
れます。このように割込みから呼び出されるシステムコールは非同期に
実行( 遅延実行と呼ぶ )され、割込み以外からのシステムコールは呼び
出しに同期して実行されます。図2のようにコア間システムコールも同
様に、割込みから呼び出したシステムコールはバッファリングされ非同
期に実行し、割込み以外から呼び出したシステムコールはコア間で同期
して実行されるなど、安全を考えて通常のシステムコールと同じ振る舞
も各社の製品を比較検討したり、社内でも教育
また、マルチフレーム超解像技術で光学ズー
ままの性能で納品されたので助かったという。
られます。そのAMP型カーネルとは、コア別だったプログラムを一括し
を行うなど、かなり慎重に選定しました」
(細
ムの約 2 倍まで解像度を保ったまま高品位な
ちなみに現在、リアルタイム OS 以外の OS
てリンクすることです。これによりコードが共通化され、ポインタ渡し
いになるように設計されています。
田氏)という。
ズームができるプレミアムズーム機能も実現し
を組込みシステムに採用する事例も増えてい
ができるなど、より効率の良いプログラミングが可能になります。図1
このようにμC3/Standard AMP マルチコア拡張は、AMP 型カーネル
「イー・フォースをお使いいただく最大のメ
た。ちなみに、EX-ZR200 は光学 12.5 倍/プレ
るが、割込み時間が保証されないなどの課題
リットは、フットワークの軽さを活かしてお客
ミアムズーム 25 倍、EX-ZR20 は光学 8 倍/プレ
もある。「結果としてサクサク動かせたことか
様の指向にフレキシブルに合わせられ、サポー
ミアムズーム 16 倍となっている。
ら、μITRON を採用して正解でした」
(細田氏)
トも迅速に対応できることです」
(イー・フォー
という。
ス 与曽井氏)
。ユーザー志向の優れた製品としっ
省電力ながら
かりとしたサポートが高い評価を得ている。
機敏な動作などの得意分野で、
イー・フォース製 OS の活躍を期待
高速連写機能を活かし
一眼レフカメラのような撮影が可能に
「CPU 間の通信は極めて重要なポイントであり、
ままで蓄積したソフトウエア資産を流用して
きました。OSの出来がかなり良く、納入後の問
い性能を実現している。
「省電力ながら動作が機敏などイー・フォース
(細田氏)。さらに、今後の製品開発には、い
ZR200 で は、 約 0.98 秒 の 起 動 時 間、 約 0.13 秒
い合わせも少なく助かりました」
(細田氏)という。
こと SoC だと、OS ベンダは半導体メーカとの
しにくいのですが、AMP では明確に役割を分担
を出していただきました」
(細田氏)。「採用さ
とんこだわった製品ですので、ぜひ APS の読者
EXILIM エンジン HS では、高速連写機能を活
かした HDR(High Dynamic Range)画像や HDR
ARM PARTNERS SUCCESS
開発環境とのリンクも大切だ。イー・フォー
スは、各ツールベンダとの関係が良好であり、
ミングできる環境になっています。
お問い合わせ先
仕様に準拠したシングルプロセッサ用のカーネルですが、この手法に
おいてμC3/Standardは共通モジュールとして扱うことができます。
イー・フォース株式会社
〒103-0014 東京都中央区日本橋蛎殻町 1-26-8 三愛水天宮ビル 2F
AMP 型カーネルにおいても、コア間でシステムコールを呼び出す最小
限の機能は必要です。簡単な実装としては、エージェントと呼ばれる
物理アドレス
コア 0 の仮想アドレス
TEL:03-5614-6918 FAX:03-5614-6919
Web:http://www.eforce.co.jp email:[email protected]
コア1の仮想アドレス
コア 0
であるエンジニアの皆さんにも触れていただき、
その良さを体感していただきたい」と結んだ。
イー・フォースは、今後もカシオのデジカメの
高性能化、差異化に大きく貢献していくだろう。
コア 1
タイムイベント
ハンドラ
タイムイベント
ハンドラ
共有メモリ
共有メモリ
コア 0 とコア1の
ロードモジュール
タスク
共有メモリ
μC3/Standard
管理領域1
共通モジュールの
静的領域1
いう印象です」
(与曽井氏)という。
最 後 に カ シ オ の 渋 谷 氏 は、「 技 術 的 に と こ
合わせは比較的スムーズでした」
(与曽井氏)。
でありながらコア間で連携しつつシングルコアの場合と同様にプログラ
想アドレスに割り付けます。そして、μC3/Standard はμI TRON4.0
か、カシオ様は高次元で使いこなされていると
スケジュールに合わせて、きっちりとした OS
スを引き出すことができました」
(細田氏)。
ルの静的データ領域は、異なる物理メモリ領域を異なるコアで同一の仮
「マルチコアは大変というイメージが多いな
緊密な打ち合わせが必要となる。「SoC の開発
れた SoC が国内メーカのものだったので、打ち
使用するコアのみからアクセスできるようにします。また、共通モジュー
いくという。
「SMP ですと各タスクの処理をコントロール
させることができるため、最高のパフォーマン
のように、コードは全てのコアからアクセスできるようにし、データは
ス の μC3/ Compact の 採 用 が 決 定 し て い る。
イー・フォースのサポートへの評価も高い。
イー・フォースさんには柔軟に対応していただ
では約 0.024 秒、撮影間隔は約 0.27 秒という高
すでに別のプロジェクトでもイー・フォー
さんの得意分野での活躍を期待しています」
EXILIM エンジン HS によって、新製品の EX-
のオートフォーカス時間、レリーズタイムラグ
24
処理を実行させ、呼び出しの対象となるコアのエージェントが呼び出す
割込み
タスク
同期要求割込み
μC3/Standard
管理領域 0
μC3/Standard
管理領域 0
共通モジュールの
静的領域 0
共通モジュールの
静的領域 0
μC3/Standard
管理領域1
共通モジュールの
静的領域1
コア1の
アプリケーションデータ
コア1の
アプリケーションデータ
コア 0 の
アプリケーションデータ
コア 0 の
アプリケーションデータ
コア 0 とコア1の
アプリケーション
コード
コア 0 とコア1の
アプリケーション
コード
コア 0 とコア1の
アプリケーション
コード
共通モジュール
共通モジュール
共通モジュール
μC3/Standard
コード
μC3/Standard
コード
μC3/Standard
コード
図 1:メモリマップ
コア
0
割込み要求
コア
1
システムコールの
詳細データ
割込みで
実行中の処理を
中断して
受け取り
コア 1 への
システムコール
呼び出し
システム
コールの
処理待ち
SVC同期処理ハンドラ
システムコールの
詳細データ
コア 0 が
要求した
システム
コールを
実行
結果通知
割込み要求
コア間非同期通信
タスクへ
タスクへ
コア間同期通信
図 2:コア間通信
ARM PARTNERS SUCCESS
25