加QNXは2014年2月26日、ドイツで開催されていたEmbedded World 2014にあわせてQNX SDP 6.6をリリースしたが、この内容に関する記者説明会が東京にて3月6日に開催された(Photo01)。

Photo01:説明を行われた中鉢善樹氏(ビジネスデベロップメントマネージャ、アジア太平洋地区自動車分野担当)

元々QNXは汎用というか、組み込み向け全般に向けたリアルタイムOSを提供してきたベンダーであるが、ここ数年は特に自動車向けに注力しており、2013年6月には「QNX CAR Platform for Infotainment 2.1」をリリースしたり、2014年1月にはQualcommと協業したりといったニュースが出ている。今回の発表もこうした路線に追従するものである。

さて、今回の発表はSDP 6.6に関するものである。通常だとOSと呼ぶものにあたる訳だが、同社は逢えてSDP(Software Development Platform)としているのは、単にOSのみならずその上で動作するアプリケーション開発環境まで全部提供するから、という意味だそうだ。そのSDP 6.6であるが、今回は3種類のパッケージで提供される(Photo02)

Photo02:QNXといえばNeutrinoという名前を御存知の方も居られようが、中鉢氏によれば今はNeutrinoはKernelの名称だそうで、これに様々なサービスや通信Stackを搭載したのがQNX SDPになるそうだ

ベースとなるのはQNX SDP 6.6で、これはいわばMinimum Featureの構成。もっともこのQNX SDPだけでもある程度のものは構成可能である。この上位に、今回新たに発表された「QNX SDK for Apps and Media 1.0」が追加されるというのが2つ目の構成。最上位は「QNX CAR Platform for Infotainment 2.1」を追加したものだが、このQNX CAR Platform for Infotainment 2.1の中には「QNX SDK for Apps and Media 1.0」も含まれる形だ。先ほどもちょっとリンクを示したが、QNX CAR Platform for Infotainmentそのものは既に昨年6月に発表されている。ただこれは言ってみればInfortaiment向けの機能を全部搭載したフルパッケージであり、「ここまでの機能は要らない」というメーカーの声もあったそうだ。実際最上位の車とエントリー向けの車では当然機能は異なる訳で、そこでエントリー向けの機能を抜き出したものがQNX SDK for Apps and Media 1.0という形になる。

さて話をQNX SDPに戻すと、前バージョンである「QNX SDP 6.5 SP1」からの違いとしてまずあげられたのが「セキュリティ機能」(Photo03)。セキュリティというよりは保護機能といった方が正確なのかもしれないが、様々な攻撃に対してより強固なシステム保護を提供する(以前よりはシステムに侵入されにくくなり、また侵入されてもハッキングなどがされにくくなった)という意味でセキュリティ機能と言っても間違いではないのだろう。

Photo03:システム権限レベルの細かな制御は、root権限を与えなくても細かく処理が出来るように権限を分割した事。ライフサイクル管理はいわゆるACL(Access Control List)、ヒープなどの保護機能はガードページを設け、スタックアンダーランなどを起こしたプロセスをその時点で補足するといった事も可能になっているそうだ

またGUI周りについては、ユニークな機能が提供されている(Photo04)。元々SDP自身はOpenGL ESのみがサポートされているが、後述するQNX SDK for Apps and MediaはWebKitを搭載しているのでHTML5で、またQNX CAR Platform for InfotainmentはQtでGUIが実装されている。こうした複数のGUIエンジンをシームレスに混合して表示できる、というのがSDP 6.6のGUIの特徴とされる。Photo05はスクリーンサンプルであるが、HTML5/OpenGL ES、Qt 5に加えてメディアプレイヤーからの映像をオーバレイプレーンに重ねるといった事が簡単に可能になるとした。

Photo04:こうした対応は当然GPUベンダーのハードウェア構成に依存する部分でもあるが、現状Qualcomm(Adreno)/ARM(Mali GPU)/Imagination(PowerVR)/NVIDIA(GeForce)といったGPUには既に対応しているそうである

Photo05:こうした複数のオーバーレイプレーンの合成は基本的にはハードウェアの仕事であり、SDP(とドライバ)が各々のGPUにあわせた形で処理を行う事になる

また、これは自動車向けとしてはあまり重要性は高くないのだろうが、Mobile向けにTickless ModeやTorrerant Timer、あるいはCortex-AのDVFSに対応といった事も追加されている(Photo06)。

Photo06:最後のレイジー割り込みはおそらくInterrupt Collectionに近い処理ではないかと思うが詳細は不明だった

このSDPの上位として新たに提供される様になったのが「QNX SDK for Apps and Media」である(Photo07)。要するに携帯メディアプレイヤーと連携して音楽/動画のハンドリングを行えるようにする機能である。メディアプレイヤーやスマートフォンを接続することで、再生の制御などがインフォテイメント機器の方から可能になる(Photo08)。先にもちょっと触れたが、SDKの中にはWebKitやJavaScript Coreなども含まれており、これを利用することでHTML5ベースでのアプリケーション開発が可能となっている。

Photo07:これだけだと良く判りにくいが、Media Playerとの連携機能にHTML5を加えたものになる

Photo08:ちなみにあくまでここの連携は音楽/動画などに限られ、例えばスマートフォン接続用のハンズフリーの機能などは別パッケージでの提供になる(QNX CAR Platform for Infotainmentの方には含まれるそうだ)

Photo09:ちなみにWebCoreやCSS、JavaScriptなどはApache Cordovaをベースにしているという話であった

最上位のパッケージとなるQNX CAR Platform for Infotainmentそのものは今回は特にUpdateはない。今年のCESでAudiと共同で発表されたAudi TTのDID(Driver Information Display)のデモはこちらで参照可能となっているが、国内でもいくつかのベンダーと既に共同開発を行っている(Photo10)。

Photo10:国内ではアイシンとエイチアイ、光庭ナビ&データなどの名前が挙がっている

実際会場ではInfortaiment DisplayとDriver Panelのデモが行われたが(Photo11~13)、カーナビの指示にあわせてドライバコンソールの中央に次のランドマークとかその先の進路/距離が表示されているのがわかるかと思う。中鉢氏によれば、実はこの連携そのものはQNXがAPIを決めて各社に提示しただけで、共同開発などは一切行っていないとの事。それでもこんな具合に簡単に連携が取れたアプリケーションを迅速に開発できるのがQNXの強みであるとした。

Photo11:これは光庭ナビ&データによるカーナビのデモ。QNXのリファレンスボード上で動作している

Photo12:こちらはアイシンによるやはりカーナビのデモ。同じリファレンスボードを使い、ブートのSSDを入れ替えて動作させたが、電源投入後すぐに立ち上がることを示した

Photo13:こちらはエイチアイによるドライバコンソール画面のデモ。カーナビとは別のリファレンスボードで動作しており、ただしネットワークで繋がっている模様。ちなみにこちらの画面はSDPだけで構成されており、画面はOpenGL ESで構成されているとの事

ところでPhoto10の左端にAppleのロゴがあるのが判ると思う。言うまでもなくこれはCarPlayの事を指していると思われるが、これに関してのQNXからのコメントは「スマートフォンその他モバイルデバイスとのコネクティビティは、QNXソフトウェアシステムズによるインフォテイメント向けプラットフォームの強みの1つであり、多くの自動車メーカーそしてティアワンサプライヤ企業が、各社の自動車でスマートフォンとヘッドユニットのインテグレーションを実装する際に弊社のプラットフォームを使用しています。弊社ではApple製デバイスとの高品質なコネクティビティ機能を確保するべくAppleと長きにわたるパートナーシップを保持しており、このパートナーシップはApple CarPlayの互換性サポートにも拡張されます」が公式(原文は英語であるが、この翻訳もQNXによるもの)なもので、「これ以外のことは申し上げられません」(中鉢氏)との事だった。