(57)【要約】本発明によるホームコントロールプラットホーム及びアーキテクチャは、ホームコントロールプラットホームに接続された様々な処理デバイス間に通信を提供する複数のシリアルバスを含む。バス制御ユニットが通信サービスをリクエストしたデバイス間にこれらバスを割当てるように構成される。このプラットホームは、伝統的なデバイス、ユーザとネットワーク間のインタフェース、ブラウザ、その他に対するインタフェースを提供する一つ或いは複数の制御プロセッサをサポートする。このプラットホームは、さらに、特定のタスク、例えば、MPEG符号化及び復号、信号処理、ビデオ及びオーディオCODEC、その他に対するコープロセッサとして機能するオプションとしてのプラグインカードも収容する。このプラットホームをサポートするために、ソフトウェアアーキテクチャの面においては、制御プロセッサの所にリアルタイムマイクロカーネルオペレーティングシステム（OS）が用いら、これによってタスクコープロセッサとのインタフェース、及び標準のOS、例えば、Vxworks、WinCE、LINUXとのインタフェースが図られる。このマイクロカーネルOSは、さらに、タスクメモリとCPU空間との分離、ウイルス保護、及び安全な金融取引サービスに対するプリミティブも提供する。
2005504378.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理ユニット間に相互接続を提供するように構成された複数のシリアルバスと、
前記複数の処理ユニットから帯域幅割当てに対するリクエストを受信し、前記複数のシリアルバスの内のこれらリクエストを満たすサブセットを割当てるように構成されたバス割当て制御ユニットと、を備えることを特徴とするホームコントロールプラットホーム。
【請求項２】
前記複数の処理ユニットの内の少なくとも一つの処理ユニットを更に含むことを特徴とする請求項1記載のホームコントロールプラットホーム。
【請求項３】
前記複数のシリアルバスのおのおのが自己タイミング方式に構成されることを特徴とする請求項1記載のホームコントロールプラットホーム。
【請求項４】
さらに、
前記複数の処理ユニット間のデータ転送を制御するように構成された少なくとも一つの制御プロセッサを含むことを特徴とする請求項1記載のホームコントロールプラットホーム。
【請求項５】
前記少なくとも一つの制御プロセッサが
前記複数のシリアルバスに接続され、前記複数のシリアルバスを介してのデータの転送を遂行するように構成されたバスインタフェースユニットと、
前記バスインタフェースユニットに接続され、前記バスインタフェースユニットからの入力データを処理し、処理されたデータを前記バスインタフェースユニットに供給するように構成された中央処理ユニットと、を含むことを特徴とする請求項４記載のホームコントロールプラットホーム。
【請求項６】
前記少なくとも一つの制御プロセッサがさらにマイクロカーネルを含み、このマイクロカーネルが少なくとも：
セマファ、
メッセージング、
スケジューリング、
例外管理、
タスク管理、
メモリ管理、の一つを含む基本オペレーティングシステムサービスを提供するように構成されることを特徴とする請求項４記載のホームコントロールプラットホーム。
【請求項７】
前記少なくとも一つの制御プロセッサがさらに
前記マイクロカーネルを標準のオペレーティングシステムに接続するように構成されたインタフェースを含むことを特徴とする請求項６記載のホームコントロールプラットホーム。
【請求項８】
前記タスク管理（プログラム）が前記複数の処理ユニットの少なくとも一つへのダイレクトアクセスを提供するように構成され、
前記複数の処理ユニットの前記少なくとも一つがコープロセッサとして構成され、
前記ダイレクトアクセスがコープロセッサインタフェース層を介して提供されることを特徴とする請求項６記載のホームコントロールプラットホーム。
【請求項９】
ホームコントロールプラットホーム内で用いるための処理ユニットであって、
一つ或いは複数のフィルタユニットと、
前記ホームコントロールプラットホームの複数のシリアルバスに接続されたバスインタフェースユニットと、を備え、このバスインタフェースユニットが、
前記ホームコントロールプラットホームからの前記複数のバスの内の選択された一つ或いは複数のバス割当てを受信し、
前記選択された一つ或いは複数のバスを介して前記ホームコントロールプラットホームと前記一つ或いは複数のフィルタユニットとの間の通信を提供するように構成されることを特徴とする処理ユニット。
【請求項１０】
ホームコントロールプラットホーム内で用いるための制御プロセッサであって、
前記ホームコントロールプラットホームの複数のシリアルバスに接続され、これら複数のシリアルバスを介してのデータの転送を、前記複数のシリアルバスの内の前記ホームコントロールプラットホームによって選択された一つ或いは複数のバスの割当てに基づいて実行するように構成されたバスインタフェースユニットと、
前記バスインタフェースユニットに接続され、このバスインタフェースユニットからの入力データを処理し、処理されたデータをこのバスインタフェースユニットに供給するように構成された中央処理ユニットと、を備えることを特徴とする制御プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータシステムの分野、より詳細には、スケーラブルホームコントロールシステム及びネットワークを提供するためのプラットホーム及びアーキテクチャに係る。
【背景技術】
【０００２】
従来のホームコントロールシステムは生来的にスケーラブル（scalable）ではない。マルチメディア、高速分散型インターネットアクセス、統合型アプリケーション等に対する進歩したアプリケーションが普及するにつれて、従来のホームコントロールシステムでは、これらアプリケーションを完全にサポートするために要求される帯域幅とフレキシビリティを十分には提供できなくなることが予想される。
【０００３】
従来のPCアーキテクチャは、データを様々な機能ボード間でパラレルに転送するためのバス構造を含む。例えば、PCMCIA標準インタフェースは、１６或いは３２ビット幅のデータインタフェースと、２６ビット幅のアドレスインタフェースとに加えて、様々な制御ラインを含む。あるデバイスがこのインタフェースを使用している間は、他のデバイスは、事実上、このインタフェースを用いることはできない。見かけ上このインタフェースに複数のデバイスが同時にアクセスできるようにする時分割多重化方式がしばしば用いられるが、ただし、ある特定の転送が時間に敏感である場合は、時分割多重方式では、そのアプリケーションに対して十分な数のタイムスロットを提供することはできない。同様にして、将来、２４ビット語の使用が普及した場合には、１６或いは３２ビット幅のデータインタフェースの使用は、大きなオーバヘッドの非効率化を招きかねない。
【０００４】
さらに、従来のPCアーキテクチャは、特定のインタフェースプロトコルに対して、様々な進展する標準の各々をマスタするための大変な学習曲線の習得を含めて、多大な投資を必要とする。このため、より効率的な処理技術を導入しようとする意欲は、現存のインタフェース技術を放棄することについてのためらいのために、しばしば挫折させられる。例えば、上述の２４ビット語構造は、RGBビデオアプリケーションに対しては非常に有効な構造でることがわかっても、対応する２４ビットインタフェースアーキテクチャを採用するためにはかなりのコストがかかるために、とりわけ、現存の１６或いは３２ビット標準に対して多くの時間と資金が投入されている場合は、この構造の採択は遅延される。そして、その後のこの２４ビット構造からの変更についても類似のためらいが予想される。
【０００５】
同様に、従来のホームコントロールアーキテクチャは多様なアプリケーションを収容するように設計されてはいるが、これらの幾つかはかなり異なるインタフェシング要件を有する。例えば、家庭にもっぱら頒布マルチメディア娯楽（distributed multi-media entertainment）を提供するように設計されたシステムは、家庭にもっぱら快適な令暖房及び空調を提供するように設計されたシステムとは大きく異なる要件を有する。従来のホームコントロールアーキテクチャは、典型的には、将来に備えてより高いセットの設計要件を有するように設計され、より低いセットの設計要件を要するデバイスに対しては過剰設計される。そして、次世代のセットのデバイスが市販されるように段階で、そのシステムでは、上述のより高いセットの要件が新たなセットのデバイスを予測しきれなかったためにそれらデバイスを収容することができないことが判明したり、或いはそのシステムでもこれらデバイスを収容できることが後になって明らかとなる。ただし、収容できる場合でも、このことはそのシステムが前の世代のデバイスに対しては過剰設計されていたことを意味する。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従って、ホームコントロールプラットホームの将来の使用を収容するために大きな設計変更を導入したり、これらの使用の将来の変化についての正確な定義或いは推定を必要とされることなく、将来の使用における変化に対応可能なホームコントロールプラットホーム及びアーキテクチャに対する必要性が存在する。このようなホームコントロールプラットホームは、幅広いレンジのアプリケーションに対して効率的なアーキテクチャを有する「スケーラブル（scalable）」なホームコントロールプラットホームであることを特徴とする。
【０００７】
本発明の一つの目的は、スケーラブルなホームコントロールプラットホームを提供することにある。本発明のもう一つの目的は、同一のインタフェースプロトコルを、プラットホームによってサポートされるアプリケーションのスケールとは関係なく用いるスケーラブルなホームコントロールプラットホームを提供することにある。本発明のさらにもう一つの目的は、多様な現存の及び将来のアプリケーションを収容できることが期待できるホームコントロールプラットホームに対するアーキテクチャを提供することにある。
【課題を解決するための手段】
【０００８】
これら及び他の目的を達成するために、本発明によるホームコントロールプラットホーム及びアーキテクチャは、ホームコントロールプラットホームに接続された様々な処理デバイス間に通信を提供する複数のシリアルバスを含む。バス制御ユニットが通信サービスをリクエストしたデバイス間にこれらバスを割当てるように構成される。このプラットホームは、伝統的なデバイス、ユーザとネットワーク間のインタフェース、ブラウザ、その他に対するインタフェースを提供する一つ或いは複数の制御プロセッサをサポートする。このプラットホームは、さらに、特定のタスク、例えば、MPEG符号化及び復号、信号処理、ビデオ及びオーディオCODEC、その他に対するコープロセッサとして機能するオプションとしてのプラグインカードも収容する。このプラットホームをサポートするために、ソフトウェアアーキテクチャの面においては、制御プロセッサの所にリアルタイムマイクロカーネルオペレーティングシステム（OS）が用いら、これによってタスクコープロセッサとのインタフェース、及び標準のOS、例えば、Vxworks、WinCE、LINUXとのインタフェースが図られる。このマイクロカーネルOSは、さらに、タスクメモリとCPU空間との分離、ウイルス保護、及び安全な金融取引サービスに対するプリミティブも提供する。
【発明を実施するための最良の形態】
【０００９】
以下では、本発明について、添付の図面を参照しながらより詳細に説明する。図面を通じて、同一の参照番号は類似の或いは対応する要素或いは機能を示す。
【００１０】
図１は本発明による一例としてのホームコントロールプラットホーム１００のブロック図である。プラットホーム１００は、処理ユニット１１０、制御プロセッサ１２０、及び補助ユニット１３０がデータの伝送及び処理を複数の高速シリアルバス１５０を介して効率的にできるようにするための構造及びアーキテクチャを提供する。本発明の一面によると、これらシリアルバスは、好ましくは、セルフタイムド（self-timed）方式とされ、これによって帯域幅及びデータスループットのスケーラビリティ（scalability）が提供される。
【００１１】
ホームコントロールプラットホーム１００に結合される各デバイスは、データを選択された一つ或いは複数のシリアルバスを介してやりとりするように構成されたバスインタフェースユニット１６０を含む。バスインタフェースユニット１６０は、必要に応じて、シリアルバス１５０のシリアルフォーマットからパラレルフォーマットへの、或いはこの逆への変換、並びに、バスアービトレーション及びルーティングを提供する。一つの好ましい実施例においては、バスインタフェースユニット１６０は、ダイレクトメモリアクセス（direct memory access, DMA）コピー機能をサポートする。また、一つの好ましい実施例においては、これらバス１５０は拡張可能（extendable）とされる。補助ユニット１３０は、例えば、プラットホーム１００を光ファイバ１３１を介してデバイス１１０、１２０、１３０の別のバンクに拡張することを可能とするエレクトロ・オプティクス結合デバイス（electro-optic coupling device）を含む。デバイス１１０、１２０、１３０の他のバンク上の対応する補助ユニット１３０は、他のバンク上の対応する複数のシリアルバスへのインタフェースを提供する。
【００１２】
図２は本発明によるホームコントロールプラットホーム内で用いるための一例としての制御プロセッサ１２０のブロック図である。図示するように、バスインタフェースユニット（bus interface unit, BIU）１６０は、図１のシリアルバス１５０に接続するためのコネクション（connections）１６１を含む。この一例としての制御プロセッサ１２０は、バス１５０の図１の個々のデバイス１１０、１２０、１３０間への割当てを制御するように構成されたバス制御ユニット（bus control unit, BCU）２１０を含む。本発明の一つの好ましい実施例においては、これらバス１５０の一つは、この制御機能のために専用に用いられる。一つ或いは複数の残りのバス１５０へのアクセスを必要とするデバイスは、この専用の制御バスを介して、バス制御ユニット２１０に割当てリクエストを送る。この割当てリクエストに応答して、バス制御ユニット２１０は一つ或いは複数のバス１５０をリクエストしたユニットに割当て、この割当てをこの専用の制御バスを介してリクエストしたデバイスに送り返す。
【００１３】
この割当てのためには、従来の任意の多様な技法を用いることができる。一つの率直な実施例においては、先に来たものが先に扱われる割当て手続き（first-come first-served allocation procedure）が用いられる。他の割当て技法には、各デバイスに少なくともある合意された最小割当てが提供され、その時点において余裕がある場合は、追加の割当てが提供されるように設計されたサービス品質（quality-of-service, QoS）割当て、その他が含まれる。幾つかのアプリケーション、例えば、リアルタイムビデオ処理は、要求された資源の全量が確保されるまで資源は割当てられないオール・オア・ナッシング（all-or-nothing）ポリシーを用いて割当てられる。
【００１４】
従来のパラレルバスアーキテクチャにおいては、バス上で一度に一つのデバイスしか通信しない。このため、各デバイスには同一の資源、つまり単一のパラレルバスが割当てられる。このため、低帯域幅アプリケーション、例えば、テキストの処理やアラームの監視は、パラレルバスアーキテクチャにおいては、バスの低帯域幅アプリケーションへの各割り当てが高速アプリケーションへの割当てを阻止するために、必然的に広帯域幅アプリケーション、例えば、ビデオ処理を「妨害（interferes）」する。一般に、パラレルバス構成を採用するシステムは、この「妨害」が各アプリケーションの性能に悪影響を及ぼすことがないことが確保できるよう十分なバファリング（buffering）が得られるように設計される。つまり、高帯域幅アプリケーションは低帯域幅アプリケーションによる通信の度にパラレルバスをあきらめなければならないが、パラレルバスベースの高帯域幅アプリケーションはパラレルバスへのアクセス間に「ギャップ（gaps）」が許されるよう十分なバッファリングが得られるように構成される。ただし、様々なアプリケーションの帯域幅要件の増加のために、あるパラレルバスシステムが飽和した場合には、共通のバスを共有することによる障害（interference）が明らかとなる。例えば、従来のPC-ベースのビデオアプリケーションは、しばしば、他の幾つかのアプリケーションがバスにアクセスし、そのビデオアプリケーションが自身のバッファリングされたフレームを使い尽くすと、「フリーズ（freeze）」する。ますます多くの帯域幅を要求するアプリケーションが消費者に供給されるようになっている現状を鑑みると、このパラレルバスアーキテクチャは、その飽和点に達した時点で、不十分なものであると発見される宿命にある。
【００１５】
本発明における通信資源の割当ては個々のシリアルバス１５０に基づくために、あるアプリケーションに対する割当ては、他の割当てに影響を与えることなく収容することができる。つまり、例えば、１０個のバス１５０が割当てのために利用でき、あるリアルタイムビデオ処理アプリケーションに、既に、これらの内の８個が、このアプリケーションに対してこの８個のパラレルなシリアルバスを介してパラレル処理が提供できるように割当てられているものと想定すると、２つのバスが他のアプリケーションへの割当てのために残されていることとなる。その後、各アプリケーションが割当てをリクエストするにつれて、バス制御ユニット２１０は、これら残りの２つのシリアルバスを割当てる。そして、その後のアプリケーションが、これら２つのシリアルバス間から調達できるよりそれより多くの資源をリクエストした場合は、これら２つのシリアルバスは飽和し、リクエストは拒絶されることとなる。ただし、これら２つのシリアルバスの飽和は、既に他の８個のシリアルバスを割当てられたビデオ処理アプリケーションにはなんの影響も与えない。このような分離（isolation）は、パラレルバスアーキテクチャにおいては、資源の共有、及び資源が不十分な場合の影響の共有は単一の資源（パラレルバス）を異なるアプリケーション間で割当てることを要求されるシステムにおいては生来的に避けられないために、達成することは困難である。提供できる分離の程度、並びに、ピークスループット要件の推定に基づくアーキテクチャパラメータは、シリアルバス１５０の数によって決まる。一つの好ましい実施例においては、少なくとも１６個のシリアルバス１５０が提供される。
【００１６】
本発明の一つの好ましい実施例においては、制御プロセッサ１２０は、ブラウザ、ネットワークインタフェース管理、プロトコルスタック等を含む現存のソフトウェアがランできるように従来のマイクロプロセッサアーキテクチャを含む。典型的な制御プロセッサ１２０は、必要に応じて、メモリ資源を、典型的には、SDRAM２２０の一つ或いは複数のバンクの形式にて含む。従来のマイクロプロセッサシステムと同様に、制御プロセッサ１２０は、中央処理ユニット（central processing unit, CPU）２３０、一つ或いは複数のコープロセッサ２４０、及び入・出力（inpup/output, I/O）インタフェース２５０を含む。一つの好ましい実施例においては、制御プロセッサ１２０或いは補助デバイス１３０（図１）は、プラットホーム１００内の他のデバイス１１０、１２０、１３０に調整された電力を供給するように構成された電力モジュール２６０を含む。また、一つの好ましい実施例においては、デバイス１１０、１２０、１３０は、（デバイス１１０、１２０、１３０を、プラットホーム１００及び現存のデバイス１１０、１２０、１３０の動作を停止することなく、プラットホーム１００に追加或いはこれから除去できるように）、おのおのデバイス１１０、１２０、１３０の「ホット」プラグ・インが許されるように構成される。各デバイス１１０、１２０、１３０をプラットホーム１００に接続するために用いられるEuroCard 96-wireコネクタ等のコネクタは、デバイス１１０、１２０、１３０のホットプラグ・インを可能とする。
【００１７】
図３は本発明によるホームコントロールプラットホーム１００の一例としてのシステムアーキテクチャのブロック図である。最も重要なことに、このホームコントロールプラットホーム１００は、「伝統的な（legacy）」デバイス、例えば、現存するホームコントロールネットワークに現在接続されているデバイスをサポートするように構成される。ホームコントロールプラットホーム１００に接続された一つ或いは複数のデバイス１１０、１２０、１３０は、好ましくは、これら伝統的なデバイス、例えば、現存のテレビ３０１、電話３０２、その他３０３、３０４等に対するサポートを提供するように構成される。
【００１８】
プラットホーム１００の伝統的なI/Oコンポーネント３１０は、伝統的な周辺装置３０１−３０４を、これら周辺装置３０１−３０４に対して電子メール及び基本的なホームコントロール機能を提供することでサポートする。
【００１９】
追加のコンポーネント３２０は、現在及び将来のアプリケーションを統合及びサポートするためのプラットホーム１００の付加価値（added value）を提供する。例えば、ケーブル或いは衛星網３３１にインタフェース（モデム或いはチューナ）を追加することで、ユーザは、ビデオオンデマンド番組（video-on-demand programs）をダウンロードし、これを伝統的なテレビ３０１を用いて視聴することが可能となる。同様にして、メディアセンタ３３２からプラットホーム１００へのインタフェースを提供することで、メディアセンタ３３２は、現存する伝統的なスピーカ３０４を利用することが可能となる。同様に、ホームセキュリティシステム３３３に対するサポートを提供することで、セキュリティシステム３３３は、潜在的に、伝統的なシステムの状態を、並びに、プラットホーム１００とインタフェース（接続される）するように設計された様々なシステム、例えば、メディアセンタ３３２をモニタすることが可能となる。例えば、冷蔵庫３３４を、その温度勾配が特定の上限或いは下限温度に向かって進行していることを示したとき、ホームセキュリティシステムを介して警告を発するように構成することもできる。無線網３９０へのインタフェースは、ユーザが、携帯デバイス、例えば、ノート型コンピュータ、セルラ電話、パーソナルデータアシスタント（personal-data-assistants, PDA）等を用いてホームコントロールネットワークに入ることを可能にする。
【００２０】
コンポーネント３２０は、図３においては、制御処理コンポーネント３４０、フィルタ処理コンポーネント３５０、及び音声入/出力コンポーネント３６０を含むものとして示される。ただし、当業者においては、ここでの開示から、ホームコントロールシステムに追加できる他のコンポーネントを容易に想像できるものである。制御処理コンポーネントには、上で図２の一例としての制御プロセッサ１２０との関連で説明された機能及び能力、並びに、後に図５の一例としてのソフトウェアアーキテクチャとの関連で説明される機能及び能力が含まれる。フィルタ処理コンポーネント３５０には、後に図４の処理ユニット１１０との関連で説明されるような、データの専用処理を、典型的には、制御処理コンポーネント３４０の制御下にて提供するように構成された様々なコンポーネントが含まれる。
【００２１】
一つの好ましい実施例においては、ホームコントロールプラットホーム１００とユーザとの対話は、音声I/Oコンポーネント３６０を用いて、音声入/出力を介して行なわれる。これらコンポーネント３６０には、例えば、図１及び２の制御プロセッサ１２０上でランし、効果的に音声出力を処理し、これをユーザに送るために、必要に応じて、処理ユニット１１０及び補助ユニット１３０を用いる従来の音声シンセサイザアプリケーションが含まれる。同様に、コンポーネント３６０には、ユーザがシステム１００と音声入力を介して通信できるように音声認識機能を遂行するように構成された制御、処理、及び補助ユニット１２０、１１０、１３０が含まれる。
【００２２】
図４は本発明によるホームコントロールプラットホーム１００内で用いるための一例としてのフィルタプロセッサ１１５のブロック図である。図１に示すように、処理ユニット１１０は、典型的には、ルーティングマトリックスとして配列された複数のフィルタプロセッサ１１５を含む。このようなマトリックスは、とりわけ、ビットスライス・パイプラインアーキテクチャ（bit-slice and pipeline architecture）に対して有効であり、このアーキテクチャにおいては、各フィルタプロセッサ１１５はあるデータ項目に関してある特定のタスクを遂行し、次に、これを「ロック・ステップ（lock-step）」方式にて次のフィルタプロセッサ１１５にパスする。現在のデータ項目が処理されている最中に、次のデータ項目を処理するために必要とされるパラメータが対応するシリアルバス１５０から得られる。同様にして、各データ項目が処理された後に、処理されたデータ項目はそれと対応するシリアルバス１５０を介して他のデバイスに送られる。これが図４のバスインタフェースユニット４６０から出る通信路４６１として概念的に示される。バスインタフェースユニット４６０は、図１の処理ユニット１１０のバスインタフェースユニット１６０の内の、上述の図２のバス制御ユニット２１０によってこの特定のフィルタ１１５に割当てられたサブセットを図解する目的で示される。
【００２３】
フィルタユニット１１５は、プログラムメモリ４１０（４４０）を用いるプログラマブルなユニットであっても、専用ユニットであっても、或いは両者の組合せであっても構わない。専用のフィルタユニット１１５は、特定のアプリケーション、例えば、MPEG符号化或いは復号アプリケーションに対して専用化される。通常は、プログラマブルフィルタユニット１１５は、信号処理機能、例えば、圧縮及び伸張（可変長符号化及び復号、VLE、VLD）等、カーネル機能（高速フーリエ変換、FFT）、例えば、ビデオ及びオーディオ符号器及び復号器（CODECs）の離散コサイン変換（DCT）、及び他の専用処理機能に対して専用化された限られたセットのインストラクションを有する。
【００２４】
各フィルタユニット１１５は、好ましくは、典型的には、そのフィルタユニット１１５を使用するアプリケーションをホストする（扱う）制御プロセッサ１２０の所に含まれるSDRAM２２０とペアで用いられる（図２参照）。例えば、制御プロセッサ１２０は、MPEGビデオアプリケーションをホストし、MPEGのビデオ復号を遂行するために、一群のフィルタユニット１１５を呼び出し、SDRAM２２０内に含まれるMPEGデータを処理する。フィルタユニット１１５は、処理を終えると、復号されたデータをSDRAM２２０に供給する。SDRAM２２０との間のバスインタフェースユニット４６０を介してのデータのやりとりを効率化するために、SDRAM２２０をバッファ４２０に接続する点線として示されるように、複数のストリーミングバッファ４２０から成るマルチバッファリング（multiple buffer ring）が用いられる。代替として、処理集中型タスク（processing intensive tasks）、例えば、メディア処理は、殆ど全て、処理ユニット１１０の所で遂行することもできる。このような実施例においては、処理ユニット１１０は、好ましくは、フィルタユニット１１０とSDRAMの両方を含む。
【００２５】
図５は本発明によるホームコントロールプラットホームの一例としてのソフトウェアアーキテクチャのブロック図である。図１の各コントロールプロセッサ１２０には、セマフォ、メッセージング、スケジューリング、例外、タスク及びメモリ管理を含む、少なくとも最小のオペレーティングシステム機能を提供する小さなリアルタイムマイクロカーネル５１０が含まれる。好ましくは、マイクロカーネル５１０は、さらに、タスクメモリとCPU空間との分離、ウイルス保護、及び安全な金融取引サービスのためのプリミティブも含む。標準のオペレーティングシステム、例えば、Vxworks 、WinCE、或いは LINUX等は、好ましくは、ハードウェアレベルではなく、マイクロカーネル５１０層の所でインタフェースする。
【００２６】
図示するように、コープロセッサインタフェース層５２０は、マイクロカーネル５１０と図１の処理ユニット１１０の所に位置するフィルタプログラム５３０との間のインタフェースを提供する。タスクアプリケーション５４０、５５０も、フィルタプログラム５３０へのインタフェース層５２０を介してのダイレクトアクセスを有する。これらタスクアプリケーションには、図示するように、ユーザタスク５４０と、サービスタスク５５０が含まれる。ユーザタスク５４０には、例えば、ブラウザアプリケーションが含まれる。サービスタスク５５０には、マイクロカーネル５１０によって提供されるプリミティブ及び基本サービス上に構築されたより高いレベルのオペレーティングシステム機能、例えば、フラッシュファイルシステム、ネットワーキング等が含まれる。
【００２７】
上述のように、処理集中型タスクは、好ましくは、処理ユニット１１０にダウンロードされ、ここで実行される。フィルタプレプロセッサ５６０が、好ましくは、従来のC或いはJAVA（登録商標）プログラム上に、フィルタ１１５の能力を含むようにシンタックスを拡張するために構築される。コンパイラ５７０は、フィルタプログラム５３０に対するコードを、直接、かつ、簡単に生成することを可能にする。
【００２８】
上の説明は単に本発明の原理を解説するためのものである。当業者においては、ここには明示的には示されなかったが、本発明の原理を具現し、従って、クレームの精神及び範囲に入る様々な構成が考えられるものである。
【００２９】
上述の少なくとも一つの処理ユニット１１０は、  第一の実施例においては、
MPEG復号器、
MPEG符号器、
信号プロセッサ、
可変長復号器、
可変長符号器、
符号・復号器（CODEC）
ビデオCODEC、
オーディオCODEC、
高速フーリエ変換デバイス、
離散コサイン変換デバイス、
ビデオプロセッサ、
オーディオプロセッサ、
の少なくとも一つを含む。
【００３０】
上述の少なくとも一つの処理ユニット１１０は、第二の実施例においては、
シリアル/パラレル変換器、
パラレル/シリアル変換器、
バスアービトレータ、
バスルータ、
ダイレクトメモリアクセス（DMA）デバイス、
の少なくとも一つを含む。
【００３１】
上述の少なくとも一つの処理ユニット１１０は、第三の実施例においては、
フィルタユニット１１５と、
SDRAM２２０とを、
含む。
【００３２】
フィルタユニット１１５は、例えば、プログラマブルに構成される。
【００３３】
上述の少なくとも一つの制御プロセッサ１２０は、第一の実施例においては、
網インタフェース、
網マネージャ、
ブラウザ、
ユーザインタフェース、
の少なくとも一つを含む。
【００３４】
上述の少なくとも一つの制御プロセッサ１２０は、もう一つの実施例においては、
シリアル/パラレル変換器、
パラレル/シリアル変換器、
バスアービトレータ、
バスルータ、
プロトコルスタック、
ダイレクトメモリアクセス（DMA）デバイス、
の少なくとも一つを含む。
【００３５】
例えば、上述の少なくとも一つの制御プロセッサ１２０は、さらに、
タスクメモリとCPU空間の分離、
ウイルス保護、
メモリ管理、
の少なくとも一つを提供するように構成される。
【００３６】
上述の少なくとも一つの制御プロセッサ１２０は、もう一つの実施例においては、さらに、ホームコントロールプラットホーム１００と、少なくとも一つの伝統的な消費者製品３０１−３０４の間のインタフェースを提供するように構成され、これら少なくとも一つの伝統的な消費者製品３０１−３０４には、
テレビ３０１、
電話３０２、
オーディオシステム３０４、
ビデオシステム、
家電製品、
の少なくとも一つが含まれる。
【００３７】
上述の少なくとも一つの制御プロセッサ１２０は、さらにもう一つの実施例においては、
音声認識システム３６０、
音声合成システム３６０、
無線デバイスインタフェースシステム、
の少なくとも一つを含む。
【図面の簡単な説明】
【００３８】
【図１】本発明による一例としてのホームコントロールプラットホームのブロック図である。
【図２】本発明によるホームコントロールプラットホーム内で用いるための一例としての制御プロセッサのブロック図である。
【図３】本発明によるホームコントロールプラットホームの一例としてのシステムアーキテクチャのブロック図である。
【図４】本発明によるホームコントロールプラットホーム内で用いるための一例としてのフィルタプロセッサのブロック図である。
【図５】本発明によるホームコントロールプラットホームの一例としてのソフトウェアアーキテクチャのブロック図である。
【符号の説明】
【００３９】
１００  ホームコントロールプラットホーム
１１０  処理ユニット
１１５  フィルタプロセッサ
１２０  制御プロセッサ
１３０  補助ユニット
１３１  光ファイバ
１５０  複数の高速シリアルバス
１６０  バスインタフェースユニット（BIU）
２１０  バス制御ユニット（BCU）
２２０  SDRAM
２３０  中央処理ユニット（CPU）
２４０  コープロセッサ
２５０  入・出力（ I/O）インタフェース
２６０  電力モジュール
４６０  バスインタフェースユニット
５１０  マイクロカーネル
【図１】
2005504378.tif 000003
【図２】
2005504378.tif 000004
【図３】
2005504378.tif 000005
【図４】
2005504378.tif 000006
【図５】
2005504378.tif 000007
【国際公開パンフレット】
2005504378.tif 000008
2005504378.tif 000009
2005504378.tif 000010
2005504378.tif 000011
2005504378.tif 000012
2005504378.tif 000013
2005504378.tif 000014
2005504378.tif 000015
2005504378.tif 000016
2005504378.tif 000017
2005504378.tif 000018
2005504378.tif 000019
2005504378.tif 000020
2005504378.tif 000021
2005504378.tif 000022
2005504378.tif 000023
【国際調査報告】
2005504378.tif 000024
2005504378.tif 000025