あなたの車にもWindows入ってますか? マイクロソフト カーナビOSの今 Windows Automotive、Microsoft Autoは“Motegi”で統合 |
マイクロソフトのカーナビOSについて話を伺った、マイクロソフト株式会社OEMエンベデッド本部オートモーティブビジネスユニット シニアアカウントマネージャの清水尚利氏 |
マイクロソフトは1999年頃からカーナビ用OSに積極的に取り組んできており、現在日本国内市場向けには「Windows Automotive 5.5」というOSをカーナビベンダーに対して提供し、実は結構なシェアを獲得している。今回、マイクロソフト OEMエンベデッド本部の清水尚利氏にマイクロソフトのカーナビ用OSの現状と、将来についてお話を伺ってきた。
■あなたの車のカーナビにもWindows入ってます?
エンドユーザーにとってのカーナビといえば、やはりアフターマーケット向けに販売されているパイオニアの「カロッツエリア」ブランドのカーナビなどがすぐ思いつく製品だろう。しかし、その中にも、実はマイクロソフトのWindowsが入っていると言われれると、“え?”と聞き返したくなる気分になるのではないだろうか。
マイクロソフトのWindowsと言えば、知らない人はいないと思われるほど有名なパソコン用のOSだ。独自のOSを採用しているアップルのパソコンを除けば、ほとんどのパソコンがWindowsベースのものになっている。完全に32ビット化されたWindows XP以降、Windowsは非常に安定したOSとなっているが、その昔はWindowsと言えば“ブルースクリーン”(Windowsがクラッシュした時に表示される画面、青いことからこう呼ばれている)という言葉に象徴されるような不安定なことがよく揶揄されていた時代もあったので、“安定性”"どころか“安全性”が優先される自動車のコンポーネントに利用されるソフトウェアとしてはちょっとなというオールドユーザーも少なくないのではないだろうか。確かに、道を走っているときに“ブルースクリーン”が出て“ご不便をかけて申し訳ありません”と謝られても少々困る感じだ。
Windows Embedded CEをベースに開発されているマイクロソフトのカーナビ用OS |
だが、心配ご無用。実はカーナビ向けに採用されているWindowsは、Windows Vistaのようなパソコン向けのWindowsではなく、Windows Embedded CEという民生機用の別系統のOSがベースになっているのだ。Windows Embedded CEは、民生機などにカスタマイズして組み込むことを目的として開発されたOSで、1996年に最初のバージョン(バージョン1.0)がリリースされ現時点ではバージョン6.0が最新版となっている。余談になるが、Windows CEがベースになっているOSとして、エンドユーザーにとって身近な製品と言えば、携帯電話のOSとなっているWindows Mobileがある。最近ではスマートフォンと呼ばれる高機能な携帯電話のOSとして注目を集めている。
マイクロソフトが主に日本のカーナビメーカーに提供しているのは、このWindows Embedded CEをベースとして自動車向けにカスタマイズが加えられたWindows Automotive 5.5で、前出のパイオニアのカーナビ以外にも複数のカーナビメーカーですでに採用されている。
■増え続けるソフトウェア開発のコスト、その解決策として汎用OSが求められる
そもそも、なぜマイクロソフトのOSがカーナビのOSとして採用されるようになったのだろうか? マイクロソフトの清水氏によれば「カーナビにも汎用のOSが採用されてきた背景には、カーナビの低価格化という世界的なトレンドがある」と言う。というのも、ヨーロッパなどからいわゆるPND(Portable Navigation Device)と呼ばれるポータブルなナビが急速に普及してきたため、自動車と同時に出荷される純正ナビに関しても価格への圧力が強くなっており、「以前であれば2000~3000ドル程度の価格帯であったものが、現在では500ドル前後が主流になっている」(清水氏)という状況が発生しているのだ。そこで、ナビメーカーは、少しでもコストを抑え、かつ高機能な製品を出していかなければならないという相反する命題を抱えてしまっているのだ。
そこで各メーカーが目をつけたのがソフトウェアの開発にかかるコストだ。Windows Automotiveのような汎用のOSが普及する前は、カーナビメーカーはμITRON(マイクロアイトロン)などの組み込み向けのOSをベースに、各社で作り込んでいた。カーナビの機能が、単純にルート案内と、音楽CDやMDの再生程度でよかった時代には特にそれで問題なかったのだが、近年になりインターネットの機能を備えたり、音楽CDやMDだけでなく、MP3、AAC、WMAなどを再生できるようにしたり、さらには動画の再生までできるようにしたりするなど、カーナビに実装する機能は増える一方だ。そうした時代に自社で機能を作り込んでいくと、それだけソフトウェアにかかるコストが膨大になり、販売価格に見合わなくなってしまうのだ。
例えば、インターネットの機能を実装することを考えてみよう。この場合、Webブラウザーやメールクライアントというエンドユーザーの目の届くところにある部分だけでなく、TCP/IPというインターネットの標準で利用されている情報をやり取りする手順(プロトコル)の部分も自社で開発する必要がある。特にこの部分は複雑で、仮にゼロから開発する場合には膨大なコストがかかることになる。
それに対して、マイクロソフトのWindows Automotiveのような汎用OSの場合、TCP/IPはもちろんのこと、Webブラウザーやメールソフトのコア部分は標準で用意されており、カーナビベンダーはユーザーが実際に目に触れる部分であるUI(ユーザーインターフェース)の部分だけを作り込むだけでよくなり、開発費を削減できるのだ。要するに自社だけでそれを開発したら、それこそ汎用OSを開発するのと同じコストがかかるが、汎用OSをマイクロソフトなどから購入すれば、言ってみればその開発費をほかのカーナビベンダーと折半できる訳で、その効果は大きいことはすぐ理解できるだろう。
このため、2000年代に入り、急速にカーナビに汎用OSが採用されていくようになった。実際マイクロソフトでも、1999年にカーナビ用の部署が設立され、2002年に大手自動車メーカーの純正ナビに採用されて以降、カーナビベンダー各社などに採用される例が徐々に増えているのだと言う。
図1:開発コストの分担イメージ(筆者作成) | Windows Automotive 5.5の概要 | Windows Automotiveの開発経緯 |
■カーナビベンダーの開発工程の50%を占めるUI開発を助けるAUITK
現在マイクロソフトが日本のカーナビベンダー向けに提供しているWindows Automotive 5.5は、前出のWindows Embedded CEのバージョン5.0をベースに開発されたもので、Windows Embedded CE 5.0をベースに車向けの機能がパッケージングされ、カーナビベンダーに提供されている。
清水氏によれば、Windows Automotive 5.5の最大の特徴は、カーナビベンダーが容易に独自UIを開発できるようになっていることにあると言う。「現代のカーナビの開発に占める開発工程の50%はUIの開発です。同じプラットフォームのカーナビでも、各自動車メーカー向けに差別化しないといけないし、複数の言語や地域の特性にも対応する必要がある。また、自動車メーカーはカーナビの画面もインテリアの1つと考えているので、普及価格帯の車と高級車ではカーナビの画面を差別化する必要がある。このため、Windows AutomotiveではAUITK(Automotive UI ToolKit)という開発キットを用意し、できるだけカーナビベンダーが容易にUIを開発できるように配慮しています」とのとおり、カーナビベンダーの側も差別化の大きなポイントがUIになってきているため、その開発をより容易にするための開発キットであるAUITKを用意することで、Windows Automotiveの持つ高機能(例えばメディア再生機能やTCP/IP、カーナビのコントロール機能)を生かして、オリジナルの操作体系をカーナビベンダーが容易に開発できるようになっている。
現代のカーナビ開発ではUIの開発が開発工程の50%を占めている | AUITKのシステム構成例。カーナビベンダーはピンク色の部分だけを開発すればよいようになっている | AUITKを利用して開発されたUIの例。HMIとはHuMan Interfaceのこと |
■システムチューニングのツールにより、性能を上げていくためのお手伝いを
また、もう1つの大きな課題として、システムチューニングへの対応が挙げられる。読者のみなさんも、カー用品量販店などの店頭に行くと、各社のカーナビが展示してあり、横並びで触れる状況にあることが多い。そうしたときに、さまざまな機能を起動したり終了させたりして、反応が速いか、遅いかをチェックするというのはよくあるのではないだろうか。逆に言えば、そこでキビキビ動かなければ、ユーザーが買ってくれない可能性は高く、カーナビベンダーにとっては売れ行きを左右する大きなポイントの1つであると言える。
だが、それを実現するのは容易なことではない。「実際、カーナビに利用されているハードウェアを見ると、各社間でさほど大きな違いはない。しかし、実装しなければいけない機能は増えており、少ないリソースを効率よく使い切っていかにパフォーマンスを出すかが重要になっている。最近の例でも実際にサンプルのボード(試作品の基板)上で動き出すまでは早いのだが、その後実際にパフォーマンスを出すまでには時間がかかる」(清水氏)とのとおり、どのベンダーも似通ったハードウェアを利用しているため、その差を出すのは難しくなっているが、その中でも地道なチューニングを行っていき、最終的に性能を出すのだ。
そこで、マイクロソフトはWindows Automotiveの機能の1つとしてAST(Automotive System Tools)という仕組みを用意している。これは言ってみればマイクロソフト謹製のベンチマークプログラムのようなもので、これを利用してカーナビベンダーはさまざまな性能をチェックして、少しでも高速に起動したりすることができるようにしている。清水氏によれば、ASTにはCPU時間測定ツール、起動時間高速化のためのツールなどが用意されており、スレッドと呼ばれるソフトウェアの実行単位にかかる時間や、データをロードするまでにかかった時間などを計測していく。これらを利用して地道に計測していき、前述のような店頭のデモ(もちろん実際にも)でも高速な動作ができるようにしていくのだ。
現代のカーナビ開発ではシステムチューニングが大きな課題となっている | ASTにはCPU時間測定ツールなどが用意されている、要するにベンチマークプログラムだ | 左の画面のアップ。スレッドごとに詳細な実行時間などが表示される |
付属の起動高速化ツールを利用した効果。何も利用しなかった場合にくらべて半分以下に起動時間が高速化されていることが分かる |
■CANなどの車内ネットワークとの通信もReady Guardにより対応
こうした仕組みを採用することで、日本のカーナビベンダーへ浸透しているWindows Automotiveだが、今後を見据えた仕組みも採用している。それがカーナビが担っている情報系の機能と、今後カーナビとの接続が予想される車の制御系の融合だ。よく知られているように、車の中には独自のネットワークがあり、車の中に搭載されているコンピュータ(いわゆるECU)やセンサーがそれぞれ接続されている。CAN(Controller Area Network)という名称で知られるネットワークがそれで、すでに一部の純正カーナビはCANと接続されており、例えばエンジンの回転数や水温、燃費などといった数値がカーナビに渡されドライバーがモニタリングするということが可能になっている。
しかし、CANなどの車内ネットワークに接続されるということは、カーナビで問題が発生したとしてもCAN側に影響を及ぼさないような設計にしておかなければならない。カーナビがパソコンとは異なる品質で作られているとはいえ、究極のカスタムコンピューターであるECUとは求められる信頼性のレベルが異なるからだ。
清水氏によれば「例えばCANでは100ms程度で起動しなければ切り離されてしまうので、カーナビではCAN用にサブCPUを用意して対応することになる。しかし、その場合はコストの問題が発生する」とのことで、こうした問題に対して何らかの回答を示す必要があるのだ。そこで、マイクロソフトはWindows Automotiveに「Ready Guard」という仕組みを用意している。Ready GuardではOSの中に小型のOSを起動するという手法を採り、ほかのソフトウェアを起動しても影響を受けないセキュアOSという小型OSをCANの通信用に起動する。これにより、メインのOSに何かがあっても100msの範囲内で小型OSのほうに切り替えて通信させることができるので、問題なく通信することができるようになっているのだ。
新しい課題としては、CANなどの車内ネットワークとの接続などがある | Ready Guardを利用すると、メインOSとは別にミニOSを起動し、メインOSに何かがあっても、そちらには影響を受けない仕組みにすることができる | Ready Guardの特徴、サブCPUを省略してコストを削減することができる |
■Microsoft AutoとWindows Automotiveの違いとは?
マイクロソフトが日本のカーナビベンダーに提供しているのはWindows Automotiveだが、海外ではMicrosoft Autoという別バージョンを提供している。実際、米国ではFord Motor Companyの「Sync」、欧州ではFIATの「Blue&Me」という純正カーナビの基盤としてMicrosoft Autoが利用されている。
清水氏によれば、Microsoft AutoとWindows Automotiveの違いは、両地域でのメーカーの考え方の違いだと言う。「Microsoft Autoの方はまずは標準化ありきという考え方で作られている。標準化のためのミドルウェアという考え方がMicrosoft Autoの方にある。これに対して、Windows Automotiveの方は現状のナビ製品というのがあり、それを作るためのOSとして考えられていて、標準化にはそれほどこだわらない」と、基本な考え方の違いがあるのだ。
この違いは一言でいえば、カーナビの歴史の違いだろう。欧米では、これまであまり純正品としてのカーナビはほとんど用意されてこなかった。このため、ゼロからカーナビを作ることになるので、カーナビの機能としての定義もまったくないところから始めることになる。マイクロソフト側にある程度定義してもらい、その上でユーザーインターフェースなどで差別化していくというのが基本的な考え方になる。このため、マイクロソフトは最新版のMicrosoft Auto 3.1においてメディア接続(iPodやZune[マイクロソフトの携帯オーディオプレイヤー、日本未発売]との接続)機能、Bluetooth機能、音声認識・操作、機能のアップデートといった機能を定義し、それらをミドルウェアとしてメーカー側に提供している
それに対して、Windows Automotiveでは機能の定義というのは行われていない。すでにカーナビベンダー側に過去の製品があり、それを置き換える製品として利用されるのが主であるので、逆に言えば機能を定義する必要がないということなのだろう。つまり、そうした日本のカーナビベンダーのニーズを取り入れて作られたのがWindows Automotiveであるとも言える。
■“Motegi”でWindows AutomotiveとMicrosoft Autoを統合
とはいえ、マイクロソフトにとっても1つのマーケットに対して2つの製品を開発していくというのはロスも多い。このため、将来的には両製品は統合される予定となっている。
それが“Motegi(モテギ)”という開発コードネームで知られる次期製品だ。なお、昨年の11月に報道関係者向けに行われた「Microsoft Car Navigation Day 2008」ではMotegiのリリース時期が2009年中とされていたが、そのスケジュールは変更されたようで、取材時点ではリリース時期は未定となっていた。おそらく2010年あたりのリリースということになるのではないだろうか。
このMotegiではWindows AutomotiveとMicrosoft Autoの2つの製品の機能を統合した製品となる。また、ベースとなるWindows Embedded CEも次期バージョンになるほか、SMP(Symmetric Multi-Processing)の機能をサポートするなど機能の拡張も行われることになる。現在のWindows Embedded CE 5.0では、スレッド数と呼ばれるOSが処理できるソフトウェアの数が32に制限されているが、次期CEではそうした制限が取り払われることになり、SMPのサポートによりシステムのパフォーマンスを引き上げることも可能になる。
ちなみに、Motegiという開発コードネームはつい先日Moto GPが開催されたツインリンクもてぎに由来する。ツインリンクもてぎはロードコースとオーバルコースの2つのコースを持つサーキットであるので、現在のWindows AutomotiveとMicrosoft Autoが2つが1つになるということの意味を込めてつけられたものだという。
清水氏によれば、マイクロソフトの調布事業所にカーナビ専任の開発チームを用意しており、顧客のサポートやWindows Automotiveの開発を行ってきた。次期バージョンとなるMotegiでは、2つのOSは合併するが、調布の開発チームに関しては引き続き維持され、Motegiの機能のうちのいくつかは引き続き調布で開発されているのだと言う。そうした意味で、引き続き日本の要求に関してはMotegiに反映されることになるので、日本のメーカーも安心してMotegiを採用していくことができそうだ。
マイクロソフトのカーナビ向けOSロードマップ | MotegiではWindows AutomotiveとMicrosoft Autoの2つのOSを統合する | Motegiのブロック図。Windows Automotive、Microsoft Auto、2つのOSの優れた点が生かされることになる |
(笠原一輝)
2009年 4月 27日