PCを利用したHAVi対応家電の構築

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ソリューション株式会社
早稲田大学中島研究室