(57)【要約】【課題】ソフトウェア開発の負担を軽減するとともに個々のプロセッサが効率的に処理を行えるようにする。【解決手段】ＣＰＵとストリームプロセッサとを有する情報処理装置において、アプリケーションプログラム５００は、ストリームプロセッサに対する処理実行要求をＣＰＵの制御のもとで発行する。ストリーム制御ＡＰＩ実処理部５２１およびオーディオ制御ＡＰＩ実処理部５２２は、ストリームプロセッサにおいて定義されているアプリケーションインタフェース処理を当該ストリームプロセッサの制御のもとで実行する。ストリーム制御ＡＰＩ透過エントリ５０１およびオーディオ制御ＡＰＩ透過エントリ５０２は、アプリケーションプログラム５００からアプリケーションインタフェース処理の実行要求が発行されたときに、当該アプリケーションインタフェース処理の実行要求を、ＰＣＩバスを通じて透過ＡＰＩ通信インタフェース５１１，５１２に転送し、実処理部へ伝える。【選択図】      図１
2005078356.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵとストリームデータ処理用のストリームプロセッサとを有する情報処理装置において、
前記ストリームプロセッサに対する処理実行要求を、前記ＣＰＵの制御のもとで発行する処理実行要求手段と、
前記ストリームプロセッサにおいて定義されているアプリケーションインタフェース処理を、当該ストリームプロセッサの制御のもとで実行する実処理手段と、
前記処理実行要求手段から前記アプリケーションインタフェース処理の実行要求が発行されたときに、当該アプリケーションインタフェース処理の実行要求を、通信バスを通じて前記実処理手段へ伝えるインタフェース処理手段と
を具備することを特徴とする情報処理装置。
【請求項２】
前記ストリームプロセッサにおいて定義されているデバイスドライバインタフェース処理を、当該ストリームプロセッサの制御のもとで実行するドライバと、
前記処理実行要求手段から前記デバイスドライバインタフェース処理の実行要求が発行されたときに、当該デバイスドライバインタフェース処理の実行要求を、通信バスを通じて前記ドライバへ伝えるインタフェース処理手段と
を更に具備することを特徴とする請求項１の情報処理装置。
【請求項３】
ＣＰＵと、
通信バスと、
前記ＣＰＵと前記通信バスとの間に接続され、グラッフィックデータを送信するグラフィックスコントローラを備えたブリッジ装置と、
前記通信バスに接続されるストリームデータ処理用のストリームプロセッサと、
前記グラフィックスコントローラと前記ストリームプロセッサとを接続するビデオバスと、
前記ＣＰＵの制御のもとで、グラッフィックデータを前記グラフィックスコントローラから前記ビデオバスを通じて前記ストリームプロセッサへ転送させるとともに、当該グラッフィックデータを画面上で透過表示する際の描画領域上の矩形範囲および透過率を指定した透過表示情報を、前記通信バスを経由して前記ストリームプロセッサへ転送させる制御手段と
を具備することを特徴とする情報処理装置。
【請求項４】
前記ストリームプロセッサは、前記ビデオバスを通じて転送されてくる前記グラッフィックデータを、前記通信バスを通じて転送されてくる前記透過表示情報に示される矩形範囲および透過率に従ってビデオ画像に重ね合わせ、透過表示を行うことを特徴とする請求項３記載の情報処理装置。
【請求項５】
ＣＰＵと、
通信バスと、
前記ＣＰＵと前記通信バスとの間に接続されるブリッジ装置と、
前記通信バスに接続されるストリームデータ処理用のストリームプロセッサと、
前記通信バスに接続され、パワーオン信号が検出されたときに、前記通信バスを通じて前記ストリームプロセッサと前記ＣＰＵとに対してリセット信号を発行するとともに、前記ストリームプロセッサに対してリセット解除信号を発行した後に、前記ＣＰＵに対してリセット解除信号を発行する制御手段と
を具備することを特徴とする情報処理装置。
【請求項６】
前記制御手段は、前記通信バスの監視を行い、前記ストリームプロセッサから前記通信バスへのアクセスが発行されたか否かを確認することによって当該ストリームプロセッサが正常に起動したか否かを判別することを特徴とする請求項５記載の情報処理装置。
【請求項７】
前記制御手段は、前記通信バスの監視を行い、前記ストリームプロセッサまたは前記ＣＰＵから前記通信バスへのアクセスが一定時間経過しても無ければ、前記ストリームプロセッサおよび前記ＣＰＵをリセットして再起動させることを特徴とする請求項６記載の情報処理装置。
【請求項８】
ＣＰＵと、
通信バスと、
前記ＣＰＵと前記通信バスとの間に接続され、第１のＭＩＩ／ＭＤＩ（Media Independent Interface/Media Dependent Interface）処理部を搭載したブリッジ装置と、
前記第１のＭＩＩ／ＭＤＩ処理部との間で通信を行う第２のＭＩＩ／ＭＤＩ処理部を搭載し、ネットワークとの通信を行うネットワークプロセッサと
を具備することを特徴とする情報処理装置。
【請求項９】
通信バスと、
前記通信バスに接続され、第１のＭＩＩ／ＭＤＩ（Media Independent Interface/Media Dependent Interface）処理部を搭載したネットワークインタフェース装置と、
前記第１のＭＩＩ／ＭＤＩ処理部との間で通信を行う第２のＭＩＩ／ＭＤＩ処理部を搭載し、ネットワークとの通信を行うネットワークプロセッサと
を具備することを特徴とする情報処理装置。
【請求項１０】
ＣＰＵと、
通信バスと、
前記ＣＰＵと前記通信バスとの間に接続される第１のブリッジ装置と、
前記通信バスに接続されるストリームデータ処理用のストリームプロセッサと、
フラッシュメモリと、
前記通信バスと前記フラッシュメモリとの間に接続される第２のブリッジ装置と
を具備することを特徴とする情報処理装置。
【請求項１１】
前記ＣＰＵは、前記第１のブリッジ装置および前記第２のブリッジを通じて前記フラッシュメモリにアクセス可能であることを特徴とする請求項１０記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置に関し、特に放送番組データなどのストリームデータを処理するストリームプロセッサを備えた情報処理装置に関する。
【背景技術】
【０００２】
近年、マルチメディア機能を持つ、パーソナルコンピュータ、ゲーム機などのような情報処理装置が開発されている。これら情報処理装置は、ビデオ、オーディオなどの様々なコンテンツデータを処理することができる。
【０００３】
最近では、パーソナルコンピュータ、ゲーム機、ＴＶ、オーディオ機器、などの家庭内の各種電子機器同士を融合させるためのホームネットワークシステムの開発が進められている。
【０００４】
ホームネットワークシステムにおいては、一般に、放送番組データなどのストリームデータを処理するための専用のストリームプロセッサが備えられており、ストリームデータ処理において２種類のプロセッサ（ＣＰＵおよびストリームプロセッサ）で分散処理を行うことがある。
【０００５】
一方、ストリームデータ処理に関する特定の機能を実現するソフトウェアを開発するような場合、ストリームプロセッサ側とＣＰＵ側との両方に対して、それぞれ独立したソフトウェアを構築することとなる。しかし、システムアーキテクチャやデバイスの追加変更が生じた場合、それに応じてストリームプロセッサ側のソフトウェアとＣＰＵ側のソフトウェアとの両方に大幅な変更を施さなければならず、多くの時間や費用を費やす結果となる。
【０００６】
なお、特許文献１には、異種のハードウェアユニットに対して、グラフィクスライブラリの再設計および再コーディングを必要としないグラフィックスディスプレイシステムが開示されている。
【特許文献１】特開平９−２９７５７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記文献のシステムはストリームプロセッサを搭載したものではなく、２種類のプロセッサ（ＣＰＵおよびストリームプロセッサ）で分散処理を行う形態のシステムではない。このため、上記文献の技術では、上で述べた問題を解決することはできない。
【０００８】
本発明は上述の事情を考慮してなされたものであり、ソフトウェア開発の負担を軽減するとともに個々のプロセッサが効率的に処理を行える情報処理装置および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る情報処理装置は、ＣＰＵとストリームデータ処理用のストリームプロセッサとを有する情報処理装置において、前記ストリームプロセッサに対する処理実行要求を、前記ＣＰＵの制御のもとで発行する処理実行要求手段と、前記ストリームプロセッサにおいて定義されているアプリケーションインタフェース処理を、当該ストリームプロセッサの制御のもとで実行する実処理手段と、前記処理実行要求手段から前記アプリケーションインタフェース処理の実行要求が発行されたときに、当該アプリケーションインタフェース処理の実行要求を、通信バスを通じて前記実処理手段へ伝えるインタフェース処理手段とを具備することを特徴とする。
【００１０】
また、本発明に係る情報処理装置は、ＣＰＵと、通信バスと、前記ＣＰＵと前記通信バスとの間に接続され、グラッフィックデータを送信するグラフィックスコントローラを備えたブリッジ装置と、前記通信バスに接続されるストリームデータ処理用のストリームプロセッサと、前記グラフィックスコントローラと前記ストリームプロセッサとを接続するビデオバスと、前記ＣＰＵの制御のもとで、グラッフィックデータを前記グラフィックスコントローラから前記ビデオバスを通じて前記ストリームプロセッサへ転送させるとともに、当該グラッフィックデータを画面上で透過表示する際の描画領域上の矩形範囲および透過率を指定した透過表示情報を、前記通信バスを経由して前記ストリームプロセッサへ転送させる制御手段とを具備することを特徴とする。
【００１１】
また、本発明に係る情報処理装置は、ＣＰＵと、通信バスと、前記ＣＰＵと前記通信バスとの間に接続されるブリッジ装置と、前記通信バスに接続されるストリームデータ処理用のストリームプロセッサと、前記通信バスに接続され、パワーオン信号が検出されたときに、前記通信バスを通じて前記ストリームプロセッサと前記ＣＰＵとに対してリセット信号を発行するとともに、前記ストリームプロセッサに対してリセット解除信号を発行した後に、前記ＣＰＵに対してリセット解除信号を発行する制御手段とを具備することを特徴とする。
【００１２】
また、本発明に係る情報処理装置は、ＣＰＵと、通信バスと、前記ＣＰＵと前記通信バスとの間に接続され、第１のＭＩＩ／ＭＤＩ（Media Independent Interface/Media Dependent Interface）処理部を搭載したブリッジ装置と、前記第１のＭＩＩ／ＭＤＩ処理部との間で通信を行う第２のＭＩＩ／ＭＤＩ処理部を搭載し、ネットワークとの通信を行うネットワークプロセッサとを具備することを特徴とする。
【００１３】
また、本発明に係る情報処理装置は、通信バスと、前記通信バスに接続され、第１のＭＩＩ／ＭＤＩ（Media Independent Interface/Media Dependent Interface）処理部を搭載したネットワークインタフェース装置と、前記第１のＭＩＩ／ＭＤＩ処理部との間で通信を行う第２のＭＩＩ／ＭＤＩ処理部を搭載し、ネットワークとの通信を行うネットワークプロセッサとを具備することを特徴とする。
【００１４】
また、情報処理装置は、ＣＰＵと、通信バスと、前記ＣＰＵと前記通信バスとの間に接続される第１のブリッジ装置と、前記通信バスに接続されるストリームデータ処理用のストリームプロセッサと、フラッシュメモリと、前記通信バスと前記フラッシュメモリとの間に接続される第２のブリッジ装置とを具備することを特徴とする。
【発明の効果】
【００１５】
ソフトウェア開発の負担を軽減するとともに個々のプロセッサが効率的に処理を行える。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施形態を説明する。  
図１には、本発明の一実施形態に係る情報処理装置を用いたホームネットワークシステムの構成が示されている。情報処理装置はホームサーバ１１として機能する。ホームサーバ１１は、ホームネットワークシステムを構築するために用いられるサーバであり、家庭内の各種電子機器、すなわち、各パーソナルコンピュータ（ＰＣ）３、カメラなどの各種ＩＥＥＥ１３９４デバイス５、およびＴＶ受像機６、などに接続されている。
【００１７】
ホームサーバ１１と各パーソナルコンピュータ（ＰＣ）３は有線または無線のＬＡＮ２を介して接続されており、またホームサーバ１１と各種ＩＥＥＥ１３９４デバイス５はＩＥＥＥ１３９４バス４を介して接続されている。
【００１８】
ホームサーバ１１は、各パーソナルコンピュータ（ＰＣ）３に対して、例えばＴＶ番組のような放送コンテンツの視聴、およびインターネット閲覧等に関するサービスを提供する。
【００１９】
すなわち、ホームサーバ１１は、各パーソナルコンピュータ３をインターネット１に接続し、インターネット１上のＷＥＢサイトとパーソナルコンピュータ３との間のデータの送受信を行う。さらに、ホームサーバ１１は、ＴＶ放送受信アンテナ７に接続されており、例えばＢＳ、ＣＳ等の衛星放送によって提供されるＴＶ番組などの放送コンテンツデータを受信することが出来る。ホームサーバ１１によって受信された放送コンテンツデータはＴＶ受像機６で再生できる他、ＬＡＮ２を介して各パーソナルコンピュータ３に送信することが出来る。
【００２０】
図２には、ホームサーバ１１のシステム構成が示されている。ホームサーバ１１には、ＣＰＵ１１１、ノースブリッジ１１２、メモリ１１３、ＴＶチューナ１１４、ストリームプロセッサ１１５、ディスク記憶装置１１７、ネットワークプロセッサ１１８、およびＩＥＥＥ１３９４プロセッサ１１９等が設けられている。
【００２１】
ＣＰＵ１１１はこのホームサーバ１１の動作を制御するプロセッサであり、ディスク記憶装置１１７からメモリ１１３にロードされるオペレーティングシステムおよび各種アプリケーションプログラムを実行する。オペレーティングシステムはファイルシステムを有しており、ディスク記憶装置１１７に記録される各種コンテンツデータそれぞれをファイルとして管理する。ディスク記憶装置１１７に対するデータの書き込みおよび読み出しの制御は、ＣＰＵ１１１によって実行される。ＣＰＵ１１１はノースブリッジ１１２を介してＰＣＩバス１００に接続されている。このＰＣＩバス１００は、それに接続されたデバイス間の各種データ転送に使用されるバスである。
【００２２】
ＴＶチューナ１１４は、ＢＳ、ＣＳ等の衛星放送によって提供される、ＴＶ番組などの放送コンテンツデータを受信する受信装置である。衛星放送によって提供される放送コンテンツデータは、ＭＰＥＧ２トランスポートストリーム（ＴＳ）と称される圧縮符号化されたストリームデータから構成されている。ＴＶチューナ１１４は、ストリームデータ（ＴＳ）を転送するための専用バス（ＴＳバス）１０１を介して、ストリームプロセッサ１１５に接続されている。
【００２３】
ＴＶチューナ１１４によって受信されたストリームデータ（ＴＳ）は、ＴＳバス１０１を介してストリームプロセッサ１１５に転送される。また、ＴＶチューナ１１４は、Ｉ２Ｃバス１０２を介してストリームプロセッサ１１５に接続されている。Ｉ２Ｃバス１０２は、ストリームプロセッサ１１５からＴＶチューナ１１４を制御するための制御バスとして使用される。例えば、どのチャネルのＴＶ番組を受信すべきであるかを示す制御情報などが、Ｉ２Ｃバス１０２を介してストリームプロセッサ１１５からＴＶチューナ１１４に送られる。
【００２４】
ストリームプロセッサ１１５は、ストリームデータに関する処理を実行するために設けられたプロセッサである。ストリームプロセッサ１１５は、ＭＰＵ４０１を内蔵している。ＭＰＵ４０１は、ディスク記憶装置１１７を制御するためのドライバプログラム、およびストリームデータを処理するためのドライバプログラムなどを実行する。
【００２５】
ストリームプロセッサ１１５は、ＣＰＵ１１１との間でプロセッサ間通信を実行しながら動作する。ストリームプロセッサ１１５は、ＰＣＩバス１００を介してＣＰＵ１１１から通知されるディスクアクセス要求に基づき、ＰＣＩバス１００バスを介して入力されるデータおよびそのデータをファイルとして管理するためのファイル管理情報をディスク記憶装置１１７に書き込む処理、およびディスク記憶装置１１７からＰＣＩバス１００上にファイルを構成するデータを読み出す処理を実行する。
【００２６】
ファイル管理情報は、ファイルを構成する各データのディスクアドレス、アクセス権情報、等を含む。例えば、ＵＮＩＸ（Ｒ）のファイルシステムにおいては、ファイル管理情報はｉノードに相当する。ｉノードは、それに対応する個々のファイル／ディレクトリを管理するためのデータ構造である。１つのファイルに対して１つのｉノードが存在する。ＣＰＵ１１１は、ｉノードリストを用いて、ディスク記憶装置１１７に記憶されている各ファイルを管理する。ｉノードリストは、ディスク記憶装置１１７に記憶されている全てのファイルそれぞれに対応するｉノードの集合である。ディスク記憶装置１１７に記憶されている各ｉノードは、それに対応するｉノード番号によって参照される。ｉノード番号は個々のファイルを一意に識別するためのファイル識別子である。ｉノード番号は、対応するファイルのｉノードを、そのファイル名等から索引するためのインデックスとして使用される。通常、ファイル名とｉノード番号は一対一で対応付けられている。
【００２７】
ディスク記憶装置１１７との間のデータの入出力は、通常は、ＰＣＩバス１００経由で行われるが、放送コンテンツデータをディスク記憶装置１１７に書き込む場合には、ディスク記憶装置１１７に書き込むべきデータは、ＴＳバス１０１を介してＴＶチューナ１１４からストリームプロセッサ１１５に転送される。ＰＣＩバス１００は使用されない。ＰＣＩバス１００を介してＣＰＵ１１１からストリームプロセッサ１１５に転送されるのは、放送コンテンツデータをファイルとして管理するためのファイル管理情報のみである。
【００２８】
ストリームプロセッサ１１５には、メモリ１１６が接続されている。このメモリ１１６は、ストリームプロセッサ１１５によって実行される各プログラムのワークエリアとして使用される他、ＴＶチューナ１１４から転送されるストリームデータを一時的に保持するバッファメモリとして使用される。
【００２９】
メモリ１１６は、ＣＰＵ１１１がアクセス可能なメモリアドレス空間の一部に割り当てられている。つまり、メモリ１１６はストリームプロセッサ１１５とＣＰＵ１１１とによって共有されており、ストリームプロセッサ１１５とＣＰＵ１１１との間のプロセッサ間通信はメモリ１１６を通じて行われる。もちろん、ＰＣＩバス１００あるいは専用のプロセッサ間バスを介して、メッセージを授受することによって、ストリームプロセッサ１１５とＣＰＵ１１１との間のプロセッサ間通信を実行することも出来る。
【００３０】
さらに、ストリームプロセッサ１１５は、ＣＰＵ１１１からの指示に従い、ディスク記憶装置１１７に記録された放送コンテンツのストリームデータをデコードおよび再生する機能を有している。ストリームプロセッサ１１５は、まず、放送コンテンツのストリームデータに含まれるビデオデータをデコードする。そして、ストリームプロセッサ１１５は、デコードされたビデオデータをＴＶ出力用のビデオ信号に変換した後に、ビデオ出力端子３００からＴＶ受像機６に供給する。放送コンテンツのストリームデータに含まれるオーディオデータについても同様にしてデコードおよび再生処理され、オーディオデータに対応する音信号がオーディオ出力端子３０１を通じてＴＶ受像機６または他のオーディオ機器に供給される。
【００３１】
ストリームプロセッサ１１５がデコード及び再生可能なストリームデータは、ＭＰＥＧ２トランスポートストリーム（ＴＳ）である。
【００３２】
ディスク記憶装置１１７はハードディスクドライブから構成されており、ＩＤＥバスを介してストリームプロセッサ１１５に接続されている。ディスク記憶装置１１７は、様々なコンテンツデータ（放送コンテンツ、インターネットコンテンツ、その他）の記録に使用される。ディスク記憶装置１１７に記録されているどのコンテンツデータもＣＰＵ１１１によってファイルとして管理されているので、ＣＰＵ１１１は、ディスクアクセス要求をストリームプロセッサ１１５に発行することによって、任意のコンテンツのファイルをディスク記憶装置１１７から読み出すことが出来る。
【００３３】
上述したように、ＴＶ番組などの放送コンテンツデータの再生処理はストリームプロセッサ１１５によって実行されるが、例えばストリーミング技術を利用したインターネットコンテンツのようなストリームデータの再生処理は、ＣＰＵ１１１によって実行される。具体的には、ＣＰＵ１１１によって実行されるＷＥＢブラウザまたはそれにプラグインされたプログラムが、インネットコンテンツの再生処理を実行する。
【００３４】
このように、ホームサーバ１１においては、互いにデータ形式が異なる２種類のストリームデータ（放送コンテンツとインターネットコンテンツ）が扱われる。どちらのタイプのストリームデータも、ＴＶ受像機６で視聴することが出来る。
【００３５】
ここで、インターネットコンテンツのストリームデータをＴＶ受像機６で視聴する場合を想定する。インターネットコンテンツのストリームデータは、ＣＰＵ１１１によってデコードされた後に、ノースブリッジ１１２に内蔵されているグラフィクスコントローラ２０１に送られる。グラフィクスコントローラ２０１は、デコードされたストリームデータを表示用のビデオ信号（例えばＲＧＢ信号）に変換し、それをビデオバス１０３を介してストリームプロセッサ１１５に送信する。ストリームプロセッサ１１５は、ビデオバス１０３を介して入力されたビデオ信号をＴＶ出力用のビデオ信号に変換して、ビデオ出力端子３００から出力する。
【００３６】
また、ディスク記憶装置１１７はネットワークドライブとしても利用することが出来る。この場合、ディスク記憶装置１１７に記録されている各コンテンツデータを、ＬＡＮ２上の各パーソナルコンピュータ３から参照することが出来る。
【００３７】
ネットワークプロセッサ１１８は、ホームサーバ１１をＬＡＮ２およびインターネット１にそれぞれ接続するための通信制御専用のプロセッサであり、ルータおよびアクセスポイントとして機能する。ネットワークプロセッサ１１８は、ＰＣＩバス１００に接続されている。
【００３８】
ネットワークプロセッサ１１８は、インターネット１に接続するためのＷＡＮコネクタ３０２と、ＬＡＮ２に接続するためのＬＡＮコネクタ３０３を有している。ネットワークプロセッサ１１８もＭＰＵを内蔵しており、必要に応じてＣＰＵ１１１およびストリームプロセッサ１１５それぞれとの間のプロセッサ間通信を行うことが出来る。
【００３９】
ネットワークプロセッサ１１８は、ストリームプロセッサ１１５との間のプロセッサ間通信によって、ディスク記憶装置１１７にファイルとして格納されている各コンテンツデータをストリームプロセッサ１１５から取得することが出来る。すなわち、ディスク記憶装置１１７に格納されたコンテンツデータをＬＡＮ２上のパーソナルコンピュータ３に送信する場合、ネットワークプロセッサ１１８は、ＰＣＩバス１００を介してストリームプロセッサ１１５にディスクアクセス要求を発行する。これにより、ネットワークプロセッサ１１８は、パーソナルコンピュータ３から要求された放送コンテンツ等のストリームデータを、ディスク記憶装置１１７から読み出して、要求元のパーソナルコンピュータ３に送信することが出来る。
【００４０】
ＩＥＥＥ１３９４プロセッサ１１９は、ホームサーバ１１と各Ｉ３９４デバイス５との間の通信を制御するためのプロセッサであり、ＰＣＩバス１００に接続されている。ＩＥＥＥ１３９４プロセッサ１１９もＭＰＵを内蔵しており、必要に応じてＣＰＵ１１１およびストリームプロセッサ１１５それぞれとの間のプロセッサ間通信を行うことが出来る。
【００４１】
ＩＥＥＥ１３９４プロセッサ１１９は、ストリームプロセッサ１１５との間のプロセッサ間通信によって、ディスク記憶装置１１７に格納されたコンテンツデータをストリームプロセッサ１１５から取得することが出来る。すなわち、ディスク記憶装置１１７に格納されたコンテンツデータを１３９４バス４上のＩＥＥＥ１３９４デバイス５に送信する場合、ＩＥＥＥ１３９４プロセッサ１１９は、ＰＣＩバス１００を介してストリームプロセッサ１１５にディスクアクセス要求を発行する。これにより、ＩＥＥＥ１３９４プロセッサ１１９は、ＩＥＥＥ１３９４デバイス５から要求された放送コンテンツ等のストリームデータを、ディスク記憶装置１１７から読み出して、要求元のＩＥＥＥ１３９４デバイス５に送信することが出来る。
【００４２】
図３には、ストリームプロセッサ１１５の内部構成が示されている。
【００４３】
ストリームプロセッサ１１５の内部バス４００には、上述のＭＰＵ４０１に加え、図示のように、メモリコントローラ４０２、ＩＤＥコントローラ４０３、ＭＰＥＧ２デコーダ４０４、グラフィクスコントローラ４０５、オーディオコントローラ４０７、ストリーム受信インタフェース４０８、Ｉ２Ｃインタフェース４０９、およびＰＣＩバスインタフェース４１０が接続されている。
【００４４】
メモリコントローラ４０２およびＩＤＥコントローラ４０３は、それぞれ上述のメモリ１１６およびディスク記憶装置１１７を制御する。ＭＰＥＧ２デコーダ４０４は、ＭＰＥＧ２トランスポートストリームをデコードする。このデコード処理においては、まず、ＭＰＥＧ２トランスポートストリームからビデオデータとオーディオデータが分離され、次いで、ビデオデータのデコード処理とオーディオデータのデコード処理とが実行される。
【００４５】
グラフィクスコントローラ４０５は、ＭＰＥＧ２デコーダ４０４によってデコードされたビデオデータを、ＴＶ出力用のビデオ信号（例えば、デジタルビデオ、アナログビデオ、ＤＶＩ等）に変換する。ＮＴＳＣ方式のＴＶ受像機を使用する場合には、グラフィクスコントローラ４０５によって得られたビデオ信号は、ＮＴＳＣエンコーダ４１１によってＮＴＳＣ信号に変換される。
【００４６】
また、グラフィクスコントローラ４０５には、ＲＧＢインタフェース４０６が接続されている。ＲＧＢインタフェース４０６は、ビデオバス１０３を介して入力されるビデオデータ（ＲＧＢ）を受信するインタフェースである。ＲＧＢインタフェース４０６によって受信されたビデオデータ（ＲＧＢ）はグラフィクスコントローラ４０５に送られ、そこでＴＶ出力用のビデオ信号（例えば、デジタルビデオ、アナログビデオ、ＤＶＩ等）に変換される。
【００４７】
オーディオコントローラ４０７は、ＭＰＥＧ２デコーダ４０４によってデコードされたオーディオデータを音データに変換する音源デバイスである。オーディオコントローラ４０７によって得られた音データはＤ／Ａコンバータ（ＤＡＣ）４１２によってデジタル信号からアナログ信号に変換された後に、オーディオ出力端子３０１から出力される。
【００４８】
ストリーム受信インタフェース４０８は、ＴＳバスを介してＴＶチューナ１１４から入力されるストリームデータを受信するインタフェースである。ストリーム受信インタフェース４０８によって受信されたストリームデータは、メモリコントローラ４０２によってメモリ１１６に書き込まれる。Ｉ２Ｃインタフェース４０９は、Ｉ２Ｃバス１０２を介してチャネル選択用の制御情報をＴＶチューナ１１４に送信する。ＰＣＩバスインタフェース４１０はＰＣＩバス４１０と内部バス４００とを繋ぐインタフェースである。
【００４９】
図４は、ストリームプロセッサ１１５において定義されているアプリケーションインタフェース（以下、ＡＰＩ）処理などの実行をＣＰＵ１１１側から透過的に制御する手法を説明するための図である。
【００５０】
同図に示されるように、ＣＰＵ１１１側のソフトウェアスタックとして、アプリケーションプログラム５００、ストリーム制御ＡＰＩ透過エントリ５０１、オーディオ制御ＡＰＩ透過エントリ５０２、Ｉ２Ｃドライバ透過エントリ５０３、ＵＡＲＴ（Universal Asynchronous Receiver-Transmitter）ドライバ５０４などが設けられ、それぞれＣＰＵ１１１のもとで制御される。すなわち、透過エントリには、ＡＰＩ用の透過エントリとデバイスドライバに対応するエントリとの２種類がある。
【００５１】
一方、ストリームプロセッサ１１５側のソフトウェアスタックとしては、上記透過エントリ５０１〜５０４にそれぞれ対応するように、透過ＡＰＩ通信インタフェース５１１，５１２および透過ドライバ通信インタフェース５１３，５１４が設けられ、それぞれストリームプロセッサ１１５のもとで制御される。また、これら通信インタフェース５１１〜５１４にそれぞれ対応するように、ストリーム制御ＡＰＩ実処理部５２１、オーディオ制御ＡＰＩ実処理部５２２、Ｉ２Ｃドライバ５２３、ＵＡＲＴドライバ５２４が設けられ、それぞれストリームプロセッサ１１５のもとで制御される。
【００５２】
アプリケーションプログラム５００は、ＣＰＵ１１１の制御のもとでストリームプロセッサ１１５に対する処理実行要求（もしくはアクセス要求）を発行したり、ストリームプロセッサ１１５側から返される応答を受け取ったりする。例えば、アプリケーションプログラム５００は、指定された関数を実行し、関連するパラメータを含む処理実行要求をストリームプロセッサ１１５へ送るよう該当する透過エントリへ指示し、ストリームプロセッサ１１５側から返されてくる処理結果（返り値）を同じ透過エントリを介して受け取る。
【００５３】
個々の透過エントリ５０１〜５０４は、実処理については一切行わず、主にＣＰＵ１１１とストリームプロセッサ１１５との間のＰＣＩバス１００上の通信（Ｉ2Ｏ通信）のインタフェース処理を行うものである。
【００５４】
ストリーム制御ＡＰＩ透過エントリ５０１は、アプリケーションプログラム５００からストリーム制御ＡＰＩ処理の実行要求が発行されたときにこれを受け、ＰＣＩバス１００を通じて、当該実行要求を透過ＡＰＩ通信インタフェース５１１へ送る。また、透過ＡＰＩ通信インタフェース５１１から応答が返ってきたときにはこれをアプリケーションプログラム５００に渡す。透過ＡＰＩ通信インタフェース５１１は、透過エントリ５０１からＰＣＩバス１００を通じてストリームプロセッサ１１５に送られてくる処理実行要求を受け取り、その処理実行要求をストリーム制御ＡＰＩ実処理部５２１に渡す。また、この実処理部５２１から処理実行結果を受けたときにはこれを透過エントリ５０１へ返す。ストリーム制御ＡＰＩ実処理部５２１は、通信インタフェース５１１から渡される処理実行要求に従って、ストリームプロセッサ１１５において定義されているストリーム制御ＡＰＩ処理を実行し、処理実行結果を通信インタフェース５１１に返す。
【００５５】
オーディオ制御ＡＰＩ透過エントリ５０２は、アプリケーションプログラム５００からオーディオ制御ＡＰＩ処理の実行要求が発行されたときにこれを受け、ＰＣＩバス１００を通じて、当該実行要求を透過ＡＰＩ通信インタフェース５１２へ送る。また、透過ＡＰＩ通信インタフェース５１２から応答が返ってきたときにはこれをアプリケーションプログラム５００に渡す。透過ＡＰＩ通信インタフェース５１２は、透過エントリ５０２からＰＣＩバス１００を通じてストリームプロセッサ１１５に送られてくる処理実行要求を受け取り、その処理実行要求をオーディオ制御ＡＰＩ実処理部５２２に渡す。また、この実処理部５２２から処理実行結果を受けたときにはこれを透過エントリ５０２へ返す。オーディオ制御ＡＰＩ実処理部５２２は、通信インタフェース５１２から渡される処理実行要求に従って、ストリームプロセッサ１１５において定義されているオーディオ制御ＡＰＩ処理を実行し、処理実行結果を通信インタフェース５１２に返す。
【００５６】
Ｉ２Ｃドライバ透過エントリ５０３は、アプリケーションプログラム５００からＩ２Ｃドライバインタフェース処理の実行要求が発行されたときにこれを受け、ＰＣＩバス１００を通じて、当該実行要求を透過ドライバ通信インタフェース５１３へ送る。また、透過ドライバ通信インタフェース５１３から応答が返ってきたときにはこれをアプリケーションプログラム５００に渡す。透過ドライバ通信インタフェース５１３は、透過エントリ５０３からＰＣＩバス１００を通じてストリームプロセッサ１１５に送られてくる処理実行要求を受け取り、その処理実行要求をＩ２Ｃドライバ５２３に渡す。また、このＩ２Ｃドライバ５２３での処理実行結果を受けたときにはこれを透過エントリ５０３へ返す。Ｉ２Ｃドライバ５２３は、通信インタフェース５１３から渡される処理実行要求に従って、ストリームプロセッサ１１５において定義されているＩ２Ｃドライバインタフェース処理を実行し、処理実行結果を通信インタフェース５１３に返す。
【００５７】
ＵＡＲＴドライバ透過エントリ５０４は、アプリケーションプログラム５００からＵＡＲＴドライバインタフェース処理の実行要求が発行されたときにこれを受け、ＰＣＩバス１００を通じて、当該実行要求を透過ドライバ通信インタフェース５１４へ送る。また、透過ドライバ通信インタフェース５１４から応答が返ってきたときにはこれをアプリケーションプログラム５００に渡す。透過ドライバ通信インタフェース５１４は、透過エントリ５０４からＰＣＩバス１００を通じてストリームプロセッサ１１５に送られてくる処理実行要求を受け取り、その処理実行要求をＵＡＲＴドライバ５２４に渡す。また、このＵＡＲＴドライバ５２４での処理実行結果を受けたときにはこれを透過エントリ５０４へ返す。ＵＡＲＴドライバ５２４は、通信インタフェース５１４から渡される処理実行要求に従って、ストリームプロセッサ１１５において定義されているＵＡＲＴドライバインタフェース処理を実行し、処理実行結果を通信インタフェース５１４に返す。
【００５８】
図４で説明した手法によれば、２つのプロセッサ（ここでは、ＣＰＵ１１１およびストリームプロセッサ１１５）で分散処理を行う場合、ＣＰＵ１１１側が透過的にストリームプロセッサ１１５側の通信インタフェースにアクセスすることができ、ＣＰＵ１１１側にてストリームプロセッサ１１５内のＡＰＩ処理やデバイスドライバ処理を集中して制御することができる。また、ＣＰＵ１１１が接続されていない状態であっても、処理速度は遅くなるものの、ストリームプロセッサ１１５内で閉じた状態でもデバッグすることができる。また、プロセッサ間の接続方式が変わっても、通信インタフェースが同一ならば、既存のアプリケーションを問題無く動作させることができる。
【００５９】
図５は、ストリームプロセッサ１１５にグラッフィックデータを効率的に透過表示（アルファブレンディング）させる手法を説明するための図である。  
ストリームプロセッサ１１５で生成されるビデオ画像とグラフィックスコントローラ２０１で生成されるグラフィック画像とを重ね合わせて表示させたい場合には、グラッフィック画像の透過表示を行う必要がある。そのような要求が発生した場合、ＣＰＵ１１１の制御のもとで動作する特定のプログラムは、グラッフィックデータをグラフィックスコントローラ２０１からビデオバス１０３を通じてストリームプロセッサ１１５へ転送させるとともに、当該グラッフィックデータを画面上で透過表示する際の描画領域上の矩形範囲（例えば、座標(x1, y1)および(x2, y2)で矩形範囲を指定）および透過率αを指定した透過表示情報を、図中の符号Ｃに示されるようにＰＣＩバス１００を経由してストリームプロセッサ１１５へ転送させるための制御を行う。この場合、ストリームプロセッサ１１５は、ビデオバス１０３を通じて転送されてくるグラッフィックデータを、ＰＣＩバス１００を通じて転送されてくる透過表示情報に示される矩形範囲および透過率に従ってビデオ画像に重ね合わせ、透過表示を行う。
【００６０】
ここで、図６を参照して、透過表示のための動作を説明する。  
透過表示要求を受けると（ステップＡ１）、指定された矩形範囲および透過率を含むパケットが生成され、ＰＣＩバス１００を介してグラフィックスコントローラ２０１へ転送される（ステップＡ２）。これにより、グラフィックスコントローラ２０１は、転送されてくるパケットから矩形範囲および透過率を取り出し、それらをメモリ１１６に記憶する（ステップＡ３）。
【００６１】
また、グラフィックスコントローラ２０１は、グラッフィックデータをビデオバス（ＲＧＢバス）１０３を介して転送する（ステップＡ４）。
【００６２】
ストリームプロセッサ１１５は、ビデオバス（ＲＧＢバス）１０３を介して転送されてきたグラッフィックデータを、矩形範囲および透過率に従ってビデオ画像に重ね合わせ、透過表示を行う（ステップＡ５）。
【００６３】
図５及び図６で説明した手法によれば、バス負荷を低減させた効率的な透過表示を行うことができる。すなわち、従来はＲＧＢの各プレーンと同一容量のバス幅を必要とした透過表示情報を、非常に少ないデータ量で転送できる。
【００６４】
図７は、システム制御マイコンを配置することによって個々のプロセッサの動作状況を監視する手法を説明するための図である。
【００６５】
システム制御マイコン１２１は、ＰＣＩバス１００に接続されており、個々のプロセッサの動作状況（パワーオン処理、リブート処理、シャットダウン処理）を並行して監視することが可能である。
【００６６】
システムの立ち上がり条件としては、ストリームプロセッサ１１５が最初に起動し、この起動が完了した後にＣＰＵ１１１が起動する手順でなければならない。そのため、システム制御マイコン１２１は、マニュアルパワーオン信号およびシステムパワーオン信号が検出されたときには、ＰＣＩバス１００を通じてストリームプロセッサ１１５とＣＰＵ１１１とに対してリセット信号を発行するとともに、ストリームプロセッサ１１５に対してリセット解除信号を発行した後に、ＣＰＵ１１１に対してリセット解除信号を発行するようになっている。その際に、システム制御マイコン１２１は、ＰＣＩバス１００の監視を行い、ストリームプロセッサ１１５からＰＣＩバス１００へのアクセスが発行されたか否かを確認することによって当該ストリームプロセッサが正常に起動したか否かを判別することができるようになっている。
【００６７】
また、システム制御マイコン１２１は、定期的にＰＣＩバス１００の監視を行っており、ストリームプロセッサ１１５またはＣＰＵ１１１からＰＣＩバス１００へのアクセスが一定時間経過しても無ければ、ストリームプロセッサ１１５またはＣＰＵ１１１が暴走したとみなし、当該ストリームプロセッサ１１５およびＣＰＵ１１１を強制的にリセットして再起動させることができる。
【００６８】
ここで、図８を参照して、システム制御マイコン１２１による各プロセッサの起動制御処理を説明する。  
システム制御マイコン１２１は、信号の発行を待ち（ステップＢ１）、マニュアルパワーオン信号およびシステムパワーオン信号が検出された場合（ステップＢ２のＹｅｓ）、ＣＰＵ１１１側とストリームプロセッサ１１５側とにそれぞれリセット信号を発行する（ステップＢ３）。
【００６９】
そして、システム制御マイコン１２１は、ストリームプロセッサ１１５側のリセット解除を行い（ステップＢ４）、その後に、ＣＰＵ１１１側のリセット解除を行う（ステップＢ５）。
【００７０】
次に、図９を参照して、システム制御マイコン１２１による各プロセッサの動作状況監視処理を説明する。  
システム制御マイコン１２１は、定期的にＰＣＩバス１００の監視を行い（ステップＣ１）、ストリームプロセッサ１１５またはＣＰＵ１１１からＰＣＩバス１００へのアクセスがあるか否かを判別し（ステップＣ２）、一定時間経過しても無ければ（ステップＣ３，Ｃ４）、ストリームプロセッサ１１５およびＣＰＵ１１１を強制的にリセットして再起動させる（ステップＣ５）。
【００７１】
図７〜図９で説明した手法によれば、個々のプロセッサの起動時には、ストリームプロセッサ１１５のリセット解除、ストリームプロセッサ１１５の動作確認を行ったのちに、ＣＰＵ１１１のリセット解除を行うため、安定したシステム起動を実現できる。また、特別なソフトウェアを実装することなく、ＣＰＵ１１１およびストリームプロセッサ１１５からのバスアクセスを監視するので、ウォッチドックタイマに相当する機能を実現でき、ＣＰＵ１１１やストリームプロセッサ１１５が暴走したときのリセット処理を容易に行える。
【００７２】
図１０は、ネットワークプロセッサ１１８を設置する際の第１の接続手法を説明するための図である。また、図１１は、ネットワークプロセッサ１１８を設置する際の第２の接続手法を説明するための図である。
【００７３】
ネットワークプロセッサ１１８は、一般には、図２のようにＰＣＩバス１００上に直接接続される。この接続の際には、ハードウェアの大幅な変更、ＢＩＯＳの初期化の変更、新規ドライバの作成などの処理を行わなければならない。また、ネットワーク通信のためのＰＣＩバスのトラフィックが増大してしまうという問題もある。
【００７４】
そこで、図１０に示されるように、ノースブリッジ１１２がＭＩＩ／ＭＤＩ（Media Independent Interface/Media Dependent Interface）処理部１３１を搭載（内蔵）しているのであれば、同じ仕様のＭＩＩ／ＭＤＩ処理部１３２を搭載（内蔵）しているネットワークプロセッサ１１８をノースブリッジ１１２につなぎ、互いのＭＩＩ／ＭＤＩ処理部をライン１３３により接続する。このような接続を行うことにより、ルータなどのネットワーク処理をネットワークプロセッサ１１８側で実行することができる。この場合、１ポート分のネットワークインタフェースを用意することにより、本体ハードウェアやソフトウェアの大幅な変更を行うことなく、ネットワークプロセッサ１１８を実装できる。
【００７５】
一方、図１１に示されるように、ノースブリッジ１１２がＭＩＩ／ＭＤＩ処理部を搭載（内蔵）していない場合は、ＭＩＩ／ＭＤＩ処理部１３５を搭載（内蔵）しているネットワークインタフェース１３４をＰＣＩバス１００に接続する。さらに、このネットワークインタフェース１３４に、ＭＩＩ／ＭＤＩ処理部１３２を搭載（内蔵）しているネットワークプロセッサ１１８をつなぎ、互いのＭＩＩ／ＭＤＩ処理部をライン１３３により接続する。この場合も、１ポート分のネットワークインタフェースを用意することにより、本体ハードウェアやソフトウェアの大幅な変更を行うことなく、ネットワークプロセッサ１１８を実装できる。
【００７６】
上記構成では、ＩＰＶ６／ルータ処理などはネットワークプロセッサ１１８側で処理することになるため、ＣＰＵ１１１やストリームプロセッサ１１５はＩＰＶ６／ルータ処理を行う必要がない。
【００７７】
図１０及び図１１で説明した手法によれば、外部と接続するネットワークインタフェースをＰＣＩバス１００経由でなく、ＭＩＩ／ＭＤＩ経由で接続することにより、アプリケーションの変更を最小限に抑えながらネットワークプロセッサ１１８を機器に実装することができる。
【００７８】
図１２は、ＰＣＩバス１００上にＰＣＩフラッシュメモリブリッジ１４１を接続することによってフラッシュメモリへの高速アクセスを実現する手法を説明するための図である。
【００７９】
ＣＰＵ１１１がデータアクセスを行う際は、通常、ストリームプロセッサ１１５に接続されたディスク記憶装置１１７をアクセス対象とする。しかし、読み書きを行う必要がなく、読み出しのみでよく、頻繁にアクセスされる使用頻度の高いデータ（設定値データ、フォントデータ、辞書データなど）については、ディスク記憶装置１１７に記録することなく、フラッシュメモリ１４２に記憶させる。この場合、フラッシュメモリ１４２とＰＣＩバス１００との間に、両者間のブリッジ処理を行うＰＣＩフラッシュメモリブリッジ１４１を設ける。
【００８０】
この構成により、ＣＰＵ１１１は、ノースブリッジ１１２およびＰＣＩフラッシュメモリブリッジ１４１を通じてフラッシュメモリ上のデータに高速にアクセスすることができる。この場合、ストリームプロセッサ１１５に負荷をかけることなく、また、ストリームプロセッサ１１５経由のネットワークディスクアクセスよりも高速にデータへのアクセスを行える。
【００８１】
図１２で説明した手法によれば、フォントデータや辞書データなどの読み出し用途で頻繁にアクセスされるデータに対しては、ストリームプロセッサ１１５に接続されたディスク記憶装置１１７にアクセスすることなく、ＰＣＩフラッシュメモリブリッジ１４１に接続されたフラッシュメモリ１４２にアクセスすることになるので、ストリームプロセッサ１１５に負荷をかけず、システム全体のスループットを向上させることができる。
【００８２】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００８３】
【図１】本発明の一実施形態に係るホームネットワークシステムの構成を示すブロック図。
【図２】図１のホームネットワークシステムで使用されるホームサーバの構成を示すブロック図。
【図３】図２のホームサーバに設けられたストリームプロセッサの構成を示すブロック図。
【図４】ストリームプロセッサにおいて定義されているアプリケーションインタフェース（ＡＰＩ）処理などの実行をＣＰＵ側から透過的に制御する手法を説明するための図。
【図５】ストリームプロセッサにグラッフィックデータを効率的に透過表示（アルファブレンディング）させる手法を説明するための図。
【図６】透過表示のための動作を示すフローチャート。
【図７】システム制御マイコンを配置することによって個々のプロセッサの動作状況を監視する手法を説明するための図。
【図８】システム制御マイコンによる各プロセッサの起動制御処理を示すフローチャート。
【図９】システム制御マイコンによる各プロセッサの動作状況監視処理を示すフローチャート。
【図１０】ネットワークプロセッサを設置する際の第１の接続手法を説明するための図。
【図１１】ネットワークプロセッサを設置する際の第２の接続手法を説明するための図。
【図１２】ＰＣＩバス上にＰＣＩフラッシュメモリブリッジを接続することによってフラッシュメモリへの高速アクセスを実現する手法を説明するための図。
【符号の説明】
【００８４】
１１…ホームサーバ、１００…ＰＣＩバス、１１１…ＣＰＵ、１１２…ノースブリッジ、１１３…メモリ、１１４…ＴＶチューナ、１１５…ストリームプロセッサ、１１６…メモリ、１１７…ディスク記憶装置、１１８…ネットワークプロセッサ、１１９…ＩＥＥＥ１３９４プロセッサ、１２１…システム制御マイコン、１３１，１３２，１３５…ＭＩＩ／ＭＤＩ処理部、１３４…ネットワークインタフェース、１４１…ＰＣＩフラッシュメモリブリッジ、１４２…フラッシュメモリ。
【図１】
2005078356.tif 000003
【図２】
2005078356.tif 000004
【図３】
2005078356.tif 000005
【図４】
2005078356.tif 000006
【図５】
2005078356.tif 000007
【図６】
2005078356.tif 000008
【図７】
2005078356.tif 000009
【図８】
2005078356.tif 000010
【図９】
2005078356.tif 000011
【図１０】
2005078356.tif 000012
【図１１】
2005078356.tif 000013
【図１２】
2005078356.tif 000014