PCを利用したHAVi対応家電の構築 副島康太 松田正彦 飯野徹 林豪敏 (富士通LSIソリューション株式会社) 中島達夫 (早稲田大学理工学部情報学科) 発表内容 • • • • • • • • • • • • • • • • 背景 ミドルウェアの利用 Javaを利用したミドルウェア開発 Linuxの利用 Java、Linuxの利用は現実的か? PCを利用した開発 システムアーキテクチャ 開発した情報家電システムの概要 HAViについて 開発した情報家電システムの構成 開発した情報家電システムの実装 開発した情報家電システムの動作例 開発した情報家電システムの性能評価 開発にJava、Linuxを利用した経験 まとめ デモについて 富士通LSIソリューション株式会社 早稲田大学中島研究室 背景(1) • これからの情報家電とは? – 様々なネットワーク • インターネット、デジタル放送、iモード、Bluetooth、HAVi、 ECHONET、無線LAN、・・・ – 複雑な機能 • マルチメディア機能、著作権保護機能、セキュリティ機能、・・・ – 高度なユーザーインターフェース • GUI、音声合成/認識、文字認識、・・・ – 高性能ハードウェア • 32bit以上のCPU、大容量RAM/ROM 富士通LSIソリューション株式会社 早稲田大学中島研究室 背景(2) • 家電用ソフトウェアの開発の現状 – 実装に依存したシンプルなファームウェア上での開発 • ソフトウェアの再利用性が低い • 開発ツールの種類が少ない • 既製のライブラリを利用するには本格的な移植が必要 情報家電用のソフトウェアには 新しいアプローチが必要! 富士通LSIソリューション株式会社 早稲田大学中島研究室 ミドルウェアの利用(1) • ネットワークプロトコルやGUIフ レームワーク等の基本的な機能を アプリケーションから分離。 • ミドルウェアとアプリケーションを 別々に開発可能となり、開発期間 を短縮できる。 • ミドルウェアが標準APIを提供する ことにより、アプリケーションの再 利用が可能。 アプリケーション 標準API 標準API ミドルウェア OS ミドルウェア OS プラットフォームB プラットフォームA 富士通LSIソリューション株式会社 早稲田大学中島研究室 ミドルウェアの利用(2) • 情報家電用のミドルウェアは大規模化、複雑化 していく。 • 開発ターゲットへのミドルウェアの移植作業に多 大な労力が必要だとメリットは少ない。 要求 – ミドルウェアの開発効率を高くしたい。 – ミドルウェアの移植性を高くしたい。 富士通LSIソリューション株式会社 早稲田大学中島研究室 Javaを利用したミドルウェア開発 Javaの利用により、要求を解決できるのではないか? • Javaの利点 – – – – オブジェクト指向言語であり、コードの再利用性が高い。 ライブラリが標準化されている。 バグが作りこまれにくい仕様になっている。 バーチャルマシン上で実行されるためハードウェアに依存しない。 ミドルウェアの開発にJavaを利用することにより、移植 性と開発効率を向上させる。 富士通LSIソリューション株式会社 早稲田大学中島研究室 Linuxの利用(1) • Javaによるミドルウェアだけでは実現できない機能がある。 – 非常に高速な処理が要求される機能 – リアルタイム性能の確保等のOSに依存した機能 Linuxを利用することにより、Javaだけでは実現できない 機能に関しても開発効率、移植性の向上をはかることがで きるのではないか? 富士通LSIソリューション株式会社 早稲田大学中島研究室 Linuxの利用(2) • Linuxの利点 – オープンソースであるため、各種CPUへの移植が進んでいる。 – APIが標準化されているため、ハードウェアが異なるシステム間でもソフ トウェアの移植は容易。 – Linux用の多数のライブラリ、アプリケーションが公開されているため、 それらを利用できれば開発期間の短縮につながる。 • ミドルウェア、アプリケーションをLinuxに対応させることにより、 Linuxを搭載したプラットフォーム間での移植性を向上させる。 • Linux用に公開されているライブラリ、ソフトウェアを利用することに より、アプリケーションの開発効率を向上させる。 富士通LSIソリューション株式会社 早稲田大学中島研究室 Java、Linuxの利用は現実的か? • 最近の話題 – – – – – Linux搭載の家庭用ネット端末。 家電機器には既にJavaの採用例。 PDA、携帯電話等でもJavaVMの動作が可能に。 組込み向けの小フットプリントのLinux。 リアルタイム機能を付加したLinux。 富士通LSIソリューション株式会社 早稲田大学中島研究室 PCを利用した開発 • Java、Linuxを利用する場合の開発環境として はPCが適している。 – – – – 開発ツールが豊富。 周辺ハードウェアが豊富。 開発システムの準備が短期間で可能。 コストパフォーマンスが高い。 富士通LSIソリューション株式会社 早稲田大学中島研究室 システムアーキテクチャ PC環境 アプリケーション ミドルウェア アプリケーション ミドルウェア OS依存 ライブラリ JavaVM Linuxを搭載した ターゲット環境 JavaVM Linuxを搭載しない ターゲット環境 アプリケーション ミドルウェア OS依存 ライブラリ OS依存 ライブラリ JavaVM Linux Linux OS PC 組込み機器 組込み機器 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発した情報家電システムの概要 • HAVi規格に対応したミドルウェアをJavaで開発。 • 開発したミドルウェアを用いて、LinuxとWindows 上に情報家電システムを構築。 • オープンソースのソフトウェアや、市販のライブラリ を利用して家電の機能を実現するプログラムを開 発。 富士通LSIソリューション株式会社 早稲田大学中島研究室 HAViについて • HAVi(Home Audio/Video interoperability)はホー ムネットワークを実現するための機器アーキテク チャの規格であり、特にAV家電機器に適している。 アプリケーション API • HAVi規格に準拠した機器は、IEEE1394ケーブ ルで接続するだけで、協調動作が可能になる。 HAViミドルウェア OS ハードウェア • 協調動作実現のために、HAVi機器同士がやり取 りを行なうためのプロトコルとアプリケーションに 対するAPIを定義している。 1394ケーブル プロトコル 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発した情報家電システムの構成 ≪HAVi対応デジタルTV≫ ≪HAVi対応デジタルチューナー≫ HAViアプリケーション HAViアプリケーション HAViミドルウェア HAViミドルウェア JavaVM 1394 IF プログラム デジタルTV プログラム (MPEG2) デジタルTV プログラム (DV) JavaVM 1394 IF チューナーIF デジタル チューナー プログラム プログラム プログラム Linux Windows98SE PCPC PC IEEE1394 ボード MPEG2デコーダ ボード IEEE1394 ボード MPEG2エンコーダ ボード シリアル ((( IEEE1394バス IEEE1394バス TVチューナー リモコン DVカメラ 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発した情報家電システムの実装(1) • ミドルウェア – HAVi規格で標準化されたAPIのうち、基本的な部分 を実装した。 – ほとんどをJavaで実装し、1394にアクセスする部分 のみをC言語で開発した。 • HAViアプリケーション – Javaで実装。 – HAViのAPIを利用し、1394へのアクセスを行なう。 – GUIを提供。 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発した情報家電システムの実装(2) • 家電機能 – Linux用のオープンソースのソフトウェアを利用して、DVの映像 ストリームをIEEE1394で受信し、デコードと表示を行なう「デジ タルTVプログラム(DV用)」を開発した。 – Linux用の市販MPEG2デコーダボードを利用して、MPEG2の 映像ストリームをIEEE1394で受信し、デコードと表示を行なう 「デジタルTVプログラム(MPEG2用)を開発した。 – Windows用の市販MPEG2エンコーダボードを利用して、映像 をMPEG2圧縮し、IEEE1394上に送信する「デジタルチュー ナープログラム」を開発した。 – 市販のビデオデッキをシリアル及びプログラムリモコンを通して 制御可能にし、TVチューナーとして利用できるようにした。 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発した情報家電システムの動作例 ← Windows版 Linux版 → 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発した情報家電システムの性能評価(1) OS 測定1 IEEE1394アクセス速度 A syncR ead A syncW rite OS JD K 測定2 Java-IEEE1394アクセス速度 測定3 H A V i-IEEE1394アクセス速度 A syncR ead A syncW rite A syncR ead A syncW rite OS JD K 測定4 H A V iローカルメッセ-ジング速度 〈測定マシンスペック〉 *1 CPU:PentiumⅢ850MHz メモリ: SDRAM 512MBytes(PC100)、 マザーボード:ASUSTeK P3B-F チップセット:440BX IEEE1394ボード:テクノスコープ製 PFW-41 W indow s98SE *1 Linux *2 (カーネルV er.2.2.14) 550 550 28 28 W indow s98SE *1 Linux (カーネルV er.2.2.14)*2 Sun Sun IB M JD K1.1.8 Sun JD K1.1.8 JD K1.3.0 JD K1.3.0 JIT有り JIT無し JIT有り JIT無し rc1-b17 736 748 826 113 120 133 760 660 860 136 142 170 1492 1514 2394 200 226 19929 1320 1340 1560 254 216 19914 W indow s98SE *1 Linux (カーネルV er.2.2.14)*2 Sun Sun IB M JD K1.1.8 Sun JD K1.1.8 JD K1.3.0 JD K1.3.0 JIT有り JIT無し JIT有り JIT無し rc1-b17 654 740 631 253 299 20040 単位:μ秒/回 *2 CPU:PentiumⅢ800MHz メモリ: SDRAM 512MBytes(PC100)、 マザーボード:ASUSTeK P3B-F チップセット:440BX IEEE1394ボード:メルコ製IFC-ILP 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発した情報家電システムの性能評価(2) • (結果概要) – Cで記述したプログラムから1394へのアクセスは、30μ秒程度 (Linux) – HAViアプリケーションから1394へのアクセスは200~260μ秒 程度(Linux) – HAViモジュール間のローカルメッセ-ジング時間は250μ秒程 度 • HAViアプリケーションの主な役割はユーザーイ ンターフェースの提供と他機器の制御なので、性 能的には問題無い。 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発にJava、Linuxを利用した経験 (1) • Javaに関して – LinuxとWindowsではほとんど同じコードが利用でき た。移植の手間はわずかなもの。 – LinuxとWindows以外に、Javaチップ上にpersonal Javaが搭載されたシステムへも移植を行なったが、 ほとんどのコードをそのまま動作させることができた。 – Javaのスレッド制御機能はもう少し充実して欲しい。 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発にJava、Linuxを利用した経験 (2) • Javaチップ上で動作する開発システム 富士通LSIソリューション株式会社 早稲田大学中島研究室 開発にJava、Linuxを利用した経験 (3) • Linuxに関して – オープンソースのソフトウェアは利用できるものがあ ればかなり有利 • DV映像を表示するデジタルTVプログラムの開発では、複数 のオープンソースのソフトウェアを改造して利用した。全て自 前で作成すれば、何倍も開発期間がかかっただろう。 – 問題の原因究明が容易 • 問題が起きたとき、ライブラリやドライバのソースコードを見る ことができるため、原因がどこにあるのかを特定しやすい。 – モジュール毎のクオリティにばらつきがある。 • 実装の問題ならば手を入れることも可能だが、APIの問題の 場合、修正は容易ではない。 富士通LSIソリューション株式会社 早稲田大学中島研究室 まとめ • 大規模化・複雑化していく情報家電機器用のソフトウェア 開発においては、開発効率の向上は重要な要素である。 • ミドルウェアをJavaで開発することにより、ミドルウェアの 開発効率や移植性を高めることができる。 • 開発システムとターゲットの両方にLinuxを利用すれば、 アプリケーションの開発効率をさらに高めることができる。 • 本開発では、実際にJava、Linuxを利用して情報家電シ ステムの構築を行ない、この手法の実現性と効果を確認 した。 富士通LSIソリューション株式会社 早稲田大学中島研究室 デモ(1) 富士通LSIソリューション株式会社 早稲田大学中島研究室 デモ(2) 富士通LSIソリューション株式会社 早稲田大学中島研究室
© Copyright 2024 ExpyDoc