(57)【要約】  消費者向けの電子サブシステム及び電子プロダクトを構成するよう用いることができる内部接続可能なモジュール（１８乃至６２）システム。容易なセットアップや制御に関して、関連する特徴が含まれている。データは、データフローの経路決定や再構成を容易に行うことを可能にする共通インターフェースを用いてモジュール間を通過する。【選択図】図１
2010507973.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト指向ハードウエアシステムが、
ハードウエアに実装されている少なくとも一つの信号処理モジュール（１８乃至３６、５８乃至６２）であって、信号の機能を実行するよう構成されている信号処理モジュールと、
前記信号処理モジュールへデータを送り、又は、前記信号処理モジュールからデータを受けるよう構成されている少なくとも一つのインプットモジュール及び／又はアウトプットモジュール（３８乃至４８）と
を備え、
前記信号処理モジュール（１８乃至３６、５８乃至６２）は、単一の電子コンポーネントより多く、別々に販売される消費者向け電子デバイス全体よりは少ないことを特徴とするシステム。
【請求項２】
請求項１に記載のシステムであって、前記信号処理モジュールは、フィルターモジュール（２０）、ディクリプションモジュール（２２）、エンクリプションモジュール（２４）、トランスコードモジュール（２６）、マルチプレクサモジュール（２８）、デマルチプレクサモジュール（３０）、及び、スケーラーモジュール（３２）からなるモジュールの群から選択されることを特徴とするシステム。
【請求項３】
請求項１に記載のシステムであって、フィルターモジュール（２０）、ディクリプションモジュール（２２）、エンクリプションモジュール（２４）、トランスコードモジュール（２６）、マルチプレクサモジュール（２８）、デマルチプレクサモジュール（３０）、及び、スケーラーモジュール（３２）を備え、それらモジュールは、少なくとも一つのスイッチ（１２乃至１６）の手段によって互いに通信することを特徴とするシステム。
【請求項４】
請求項１に記載のシステムであって、前記インプットモジュール及び／又は前記アウトプットモジュール（３８乃至４８）は、ファーストインファーストアウト（ＦＩＦＯ）バッファモジュール（３４）、Ｐ＿＿Ｏ＿＿Ｄ＿＿（“ＰＯＤ”）モジュール（３８）、取り外し可能なメモリ媒体（４０）、ビデオ供給モジュール（４２）、ｉＬｉｎｋインタフェースモジュール（４４）、パーソナルコンピュータインターフェース（ＰＣＩ）モジュール（４６）、ＩＤＥインターフェース（４８）からなる群から選択されることを特徴とするシステム。
【請求項５】
請求項３に記載のシステムであって、ファーストインファーストアウト（ＦＩＦＯ）バッファモジュール（３４）、Ｐ＿＿Ｏ＿＿Ｄ＿＿（“ＰＯＤ”）モジュール（３８）、取り外し可能なメモリ媒体（４０）、ビデオ供給モジュール（４２）、ｉＬｉｎｋインタフェースモジュール（４４）、パーソナルコンピュータインターフェース（ＰＣＩ）モジュール（４６）、ＩＤＥインターフェース（４８）を備えることを特徴とするシステム。
【請求項６】
請求項１に記載のシステムであって、前記信号処理モジュールは、ハイデフィニションメディアインタフェース（ＨＤＭＩ）受信機モジュール（５８、６０、６２）であることを特徴とするシステム。
【請求項７】
請求項６に記載のシステムであって、前記受信機モジュール（５８、６０、６２）を画像コンポジッタモジュール（６６）又は画像ミラーモジュール（６８）の少なくとも一つに接続する汎用パイプラインスイッチ（６４）を備え、前記ＨＤＭＩ受信機からのビデオ情報は、視覚的表示によるビデオの表示のためにディスプレイドライバモジュール（７０）へ送られることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にオブジェクト指向ハードウエアのためのシステム及び方法に関する。
【背景技術】
【０００２】
通常、複雑なタスクは、より小さいタスクに分割することによって処理される。ソフトウエアにおいて、これは、オブジェクト指向設計と呼ばれる。オブジェクトは、機能についての自己完結型のモジュールとして定義される。
【０００３】
今日のデジタルプロダクト設計（例えば、デジタルテレビの設計など）のアプローチは、チップに関して、理想的なシステムとの統合を最大限生かすことに焦点があてられている。ここで分かるように、このハードウエアの複雑性は、リードタイム（lead time）を長くする。リードタイムが長くなることは、ユニットのコスト削減のための適応性を犠牲にする可能性がある。チップの準備が整うまで、それは、所望の特徴のいくらかを欠く可能性があるにもかかわらず、未使用の機能を含む可能性がある。したがって、所望の特徴のセットを実現すると同時に、使用されない、又は、少なくとも求められていないチップの全体の機能を強化するよう追加のパーツが必要とされる可能性がある。その結果、ソフトウエアには、全てのコンポーネントを同時に動作させるタスクが付与される。
【０００４】
ここで、さらに分かるように、デジタルプロダクトは、汎用コンピュータを常に必要とする訳ではない。さらに、一般的な時分割バスは、専用のデータを移動させる最良の方法とは限らない。
【０００５】
そして、さらに分かるように、多くの消費者向け電子機器（consumer electronics、CE）は、実行される特定のタスクを有し、タスクの変化は、人間のゆっくりとした入力にペースが合わせられる。所定の機能及び性能順序の詳細が異なる所定のプロダクトを用いた場合、通常、タスクの分割は、シリアルパイプラインとして実行される一連のステップ又は機能を伴うこととなる。したがって、理解される通り、デジタルテレビを含むそのようなＣＥプロダクトは、オブジェクト指向ハードウエアアーキテクチャの対象となる。
【発明の概要】
【課題を解決するための手段】
【０００６】
オブジェクト指向ハードウエアシステムは、ハードウエアに実装されている一又は二以上の信号処理モジュールであって、信号の機能をそれぞれ実行するよう構成されている信号処理モジュールと、その信号処理モジュールへデータを送り、又は、その信号処理モジュールからデータを受けるよう構成されている一又は二以上のインプットモジュール及び／又はアウトプットモジュールとを備える。その信号処理モジュールは、単一の電子コンポーネントより多く、別々に販売される消費者向け電子デバイス全体よりは少ない。
【０００７】
例として、信号処理モジュールは、フィルターモジュール、ディクリプションモジュール、エンクリプションモジュール、トランスコードモジュール、マルチプレクサモジュール、デマルチプレクサモジュール、スケーラーモジュール、又は、ハイデフィニションメディアインタフェース（ＨＤＭＩ）受信機モジュールとすることができる。対照的に、インプットモジュール及び／又はアウトプットモジュールは、ファーストインファーストアウト（ＦＩＦＯ）バッファモジュール、Ｐ＿＿Ｏ＿＿Ｄ＿＿（“ＰＯＤ”）モジュール、取り外し可能なメモリ媒体、ビデオ供給モジュール、ｉＬｉｎｋインタフェースモジュール、パーソナルコンピュータインターフェース（ＰＣＩ）モジュール、ＩＤＥ（integrated drive electronics）インターフェースとすることができる。ＨＤＭＩ受信機からのビデオ情報が視覚的表示によるビデオの表示のためにディスプレイドライバモジュールへ送られる場合、汎用パイプラインスイッチは、例えば、モジュールを画像コンポジッタモジュール又は画像ミラーモジュールに接続するよう用いることができる。
【０００８】
他の側面において、消費者向け電子（ＣＥ）デバイスを設計するための方法は、共通の通信機能を用いて、複数のオブジェクト指向ハードウエアモジュールを設置することを含む。また、方法は、ＣＥデバイスを実現する設計において、モジュールのサブセットを選択すること、そして、モジュールのサブセットを構成することを含む。
【０００９】
さらに他の側面において、オブジェクト指向ハードウエアシステムは、ハードウエアに実装されている一又は二以上の信号処理モジュールと、その信号処理モジュールへデータを送り、又は、その信号処理モジュールからデータを受けるよう構成されている一又は二以上のインプットモジュール及び／又はアウトプットモジュールとを備える。その信号処理モジュールは、単一の電子コンポーネントより多く、別々に販売される消費者向け電子デバイス全体よりは少ない。
【００１０】
本発明の詳細、さらに、それの構造及び動作については、添付の図面の参照によって最も良く理解することができる。図面においては、同じ参照番号は同じパーツを表す。
【図面の簡単な説明】
【００１１】
【図１】オブジェクト指向ハードウエアシステムの第１実施例のブロック図である。
【図２】オブジェクト指向ハードウエアシステムの第２実施例のブロック図である。
【図３】オブジェクト指向ハードウエアシステムにおいて用いることが可能なモジュール（スケーラ）例のブロック図である。
【００１２】
概して、本発明では、ＣＥプロダクトのためのアーキテクチャがハードウエアオブジェクトのライブラリを用いて設計可能であることが分かる。そのハードウエアオブジェクトは、共通のインターフェース構造を用いて互いに接続される。ここで理解されるように、このハードウエアのモジュール性は、プロダクト特性の適応性を最大にし、さらに、プロダクトレベルよりむしろモジュールレベルで差別化されるべき特徴をなくすこと（コモディティ化）を可能にする。オブジェクト指向ハードウエアアーキテクチャは、オブジェクト、インターフェース、データの経路決定という３つの対処すべき問題と関係する。
【００１３】
最初に図１は、制限されない第１のオブジェクト指向ハードウエアの全体１０を示す。図１において、ハードウエアで実装されている様々なモジュール（または、以下、「オブジェクト」とも呼ぶ）は、所望の機能に従う。すなわち、システム内で実行される任意の機能は、ハードウエアモジュールの対象となる。この分割は、必要に応じて、容易な利用を可能にし、さらに、機能の代理を可能にする。
【００１４】
“ハードウエアモジュール”又は“ハードウエアオブジェクト”については、単一のレジスタや、キャパシタ、トランジスタなどのような単一の電子コンポーネントよりも多く、完成品であるテレビ、ディスクプレーヤー、ＰＶＲなどのような別々に販売されるＣＥコンポーネント全体よりは少ないことを意味する。
【００１５】
ここで考慮されるハードウエアオブジェクトの中には、ＮＴＳＣチューナー、ＡＴＳＣチューナー、コンポジット用アナログインプットモジュール、Ｓ−ＶＩＤＥＯ用アナログインプットモジュール、コンポーネントインプット用アナログインプットモジュール、ＩＰネットワーク通信モジュール、ＨＤＭＩ（又はＤＶＩ）インプットモジュール、ＶＧＡインプットモジュール、デコーダー（ＭＰＥＧ、ＡＶＣ、ＤＶなど）モジュール、スケーラーモジュール、画像処理（image enhancement）モジュール（例えば、インタレース除去モジュールなど）、ユーザーインターフェースを生成するためのグラフィックジェネレータモジュール、ディスプレイドライバモジュールなどがある。
【００１６】
したがって、当然のことながら、オブジェクト指向ハードウエアアプローチは、所望の機能を実現するよう互いにパイプライン接続が可能であり、データ経路の中又は外にスイッチすることが可能であるモジュールのライブラリを構築する。
【００１７】
図１は、本発明であるオブジェクト指向ハードウエアの原理を用いた第１例のシステム１０を示す。そのオブジェクト指向ハードウエアは、テレビ用ビデオ処理システムとして採用されてもよい。図１に示す各要素は、それぞれのハードウエアモジュールによって実装することが可能である。そして、必要に応じて、全てのハードウエアモジュールは、同一の回路基板上に配置されていてもよい。モジュールは、データ交換を行うよう３つのスイッチの手段１２、１４、１６によって通信する。以下で詳述するように、スイッチ１２、１４、１６は、任意のインプットを任意のアウトプットに経路決定することを可能にするクロスポイントスイッチとしてもよい。
【００１８】
図１の限定されていない例に示すモジュールの中には、復調器（demodulator）モジュール１８がある。その復調器モジュール１８は、例としてオーディオ−ビデオ源から情報を受ける。信号をフィルターにかけるフィルターモジュール２０が用いられていてもよく、さらに、暗号化されているデータストリームを復号するディクリプションモジュール２２が用いられていてもよい。同様に、システム１０によって出力されるデータを暗号化するエンクリプションモジュール２４が用いられていてもよい。ビデオのトランスコーディングは、トランスコードモジュール２６で行ってもよい。
【００１９】
発信データの多重化及び受信データの逆多重化（demultiplexing）は、それぞれマルチプレクサモジュール２８及びデマルチプレクサモジュール３０によって提供されるようにしてもよい。ビデオのスケーリングは、スケーラーモジュール３２によって提供されてもよい。データインプット及び／又はデータアウトプットは、ファーストインファーストアウト（ＦＩＦＯ）モジュール３４によって操作されていてもよい。フィールドプログラマブルゲートアレイ（ＦＰＧＡ）によって実装可能なコントロールモジュール３６は、上記の信号処理モジュールの様々な動作を制御／調整することが可能である。
【００２０】
一般に、上記の信号処理モジュールのそれぞれは、唯一の機能を実行するよう構成されていることに加えて、図１は、システム１０が外側のコンポーネントと通信するための様々なインプットモジュール／アウトプットモジュールを備え得ることを示す。制限されない例とするために、システム１０は、Ｐ＿＿Ｏ＿＿Ｄ（“ＰＯＤ”）モジュール３８、ソニーメモリースティック（株式会社ソニーの商標）のような取り外し可能なメモリ媒体４０、ビデオ供給（video delivery）モジュール４２、ｉＬｉｎｋインタフェースモジュール４４、パーソナルコンピュータインターフェース（ＰＣＩ）モジュール４６、ＩＤＥ（Integrated Drive Electronics）インターフェース４８を含んでもよい。
【００２１】
図２は、他の例として、テレビディスプレイを動作させるのに用いることが可能なオブジェクト指向ハードウエアモジュールシステム５０を示す。図で示す通り、システム１０は、第１乃至第３ソースインターフェースモジュール５２、５４、５６から、ビデオ情報を受けることが可能である。各ソースインターフェースは、デジタル著作権管理によって保護されているビデオストリームを個別のハイデフィニションメディアインタフェース（ＨＤＭＩ）受信機モジュール５８、６０、６２に送ることが可能である。ＨＤＭＩ受信機モジュールからのストリームは、汎用パイプラインスイッチ（universal pipeline switch）６４を介して画像コンポジッタモジュール６６（例えば、３つのデータストリームから合成画像を描画（rendering）する）や画像ミラーモジュール６８などのような適切な信号処理モジュールにスイッチさせることが可能である。図に示すように、信号処理モジュールのアウトプットは、テレビディスプレイ７２上にビデオ画像を写すためにスイッチ６４を介してディスプレイドライバ７０に送られてもよい。
【００２２】
図３は、デジタルテレビに用いられるモジュールのより詳細な例を示す。その図では、スケーラーモジュールを例示する。示してあるスケーラーモジュールは、インプットＦＩＦＯ７４でビデオのフレームを受け、デマルチプレクサ７６でそれを逆多重化し、そして、それをインプットキャンバス７８、クリッパー８０、スケーラープロセッサ８２を通じて処理して、後に続くモジュールの要求を満たすようビデオのサイズを変更する。サイズ変更されたビデオは、アウトプットキャンバス８４を通じて送られ、アウトプットＦＩＦＯバファー８６を介して、後に続くモジュールに出力される。制御パラメータは、インプットフォーマット及び所望のアウトプットフォーマットを表す。スケーラーのアルゴリズムのためのオプションが存在する場合、マイクロコードは、読み込まれて選択され得る。
【００２３】
本発明によって理解されるように、共通のインターフェースがモジュールを相互に接続するよう用いられるとき、上述のハードウエアのモジュール性は、最も汎用性が高くなる。専用のモジュールは、外側のコンポーネントに結合され、さらに、内部の相互接続は、共有インターフェースのために互換性を有する。
【００２４】
重要なインターフェースは、パイプラインで結合されているデータをモジュールからモジュールへ移動させる。ＰＣＩエクスプレスのために用いられるようなシリアルマルチギガビット技術や、ギガビットイーサネット（登録商標）を用いることも可能である。これら通信方法は、数十センチメーター伸びる単純な一組のワイヤ上でデータを転送する。例であるが、その通信方法は、テレビの筐体内における配線の調整を容易にする。パイプラインにおける各モジュール毎のデータ転送速度は、システムで共通にすることが可能であり、各ポイントでの接続についての固定又は動的な要求を満たすようプログラムしてもよい。また、データを保護するようデジタル著作権管理のサポートを含めることが可能である。
【００２５】
共通のインターフェースにおける他のコンポーネントは、制御情報及びステータス情報を交換する手段を具備することが可能である。これは、Ｉ２Ｃ、又は、同様な低ビットレートバスによって使用可能となる。その低ビットレートバスは、使用料（royalty）の問題を回避するために用いられる。共通の基準クロックソースは、全てのモジュールに供給されていてもよい。内部の位相同期回路（phase-locked loop、ＰＬＬ）又は同様なクロック乗算器は、例えば、必要な内部クロックを生成するよう２５ＭＨｚを使用することが可能である。低スピードかつメトロノームのようなストローブ（すなわち、フレームクロック）をシステムの同期のために用いてもよい。
【００２６】
次にデータの経路決定について検討すると、専用の単純な接続は、常にお互いへデータを供給するモジュール間に存在させてもよいが、前述のように、スイッチを用いることによって、より高い適応性を実現してもよい。これは、筐体上の異なる領域におけるモジュールを集団として集め易くする。スイッチは、比較的高度でない技術であるセレクターから、より汎用性の高いクロスポイントにまで及ぶ。
【００２７】
クロスポイントスイッチは、任意のインプットを任意のアウトプット（同時に、一つ以上のアウトプット）に経路決定することを可能にする。動的構成は、論理パイプラインの中及び外のモジュールを変更するよう用いてもよい。シーケンス順序でも変更可能である。ＦＩＦＯは、データを平坦化させ、クロックレートを調和させるよう連結ポイントで実装可能である。
【００２８】
上記説明に加えて、ここで考慮されるように、本発明のオブジェクト指向ハードウエアモジュールは、既知である動作中のシステムへの追加部として検査され確認されるユニットとすることができる。新しいモジュールは、動作中の製造ラインに段階的に導入することができる。最も汎用性が高く統合された形態は、各モジュールを単一のクロスポイントに接続することである。
【００２９】
また、モジュールをサブシステムに組み込んでもよい。そのサブシステムは、上位の機能のセットを有する単一のモジュールとして扱われる。ある実施例では、複数のプロダクト間で用いることが可能なアナログインプットインターフェース用とすることができる。同一プロダクトでよく用いられるモジュール用のパッケージングを共通にすることは、コストの削減を可能にする。他のモジュールは、フィールド更新（field upgrades）を扱えるようにする物理的なプラグインとして構成してもよい。
【００３０】
システムセットアップ及びシステム制御に関して、図１に関して上述されているように単純なマイクロプロセッサ及び状態機械を用いてもよい。制御は、オブジェクトの初期化及びデータの経路決定の仕様を含めることが可能である。
【００３１】
モジュールのパイプラインにおける動作は、動作モードの選択から始まる。これは、必要なマイクロコードを（パイプラインバスを通じて）読み込み、そして、そのマイクロコードを所望のトポロジーと調和するセットとなるよう切り替え（switch）を行う。仕様は、モードの変更を容易に行えるようテーブル内に記述されていてもよい。
【００３２】
上記説明を考慮すると、オブジェクト指向ハードウエアは、消費者向けデジタル電子機器を設計し構築する有利なシステムのアプローチであることが分かる。それは、プロダクトを別個の機能的なタスクに分け、そのタスクは、分離して完成されており、消費者のニーズを満たすよう内外で交換され得る。それは、非常に機動的で、市場における変化と需要への迅速な対応を可能にする。
【００３３】
追加の非制限的実装の詳細
一連のバースト又はバッファの第１ビットが送られるとき、データは、有効な状態の同期ラインを用いて連続的に送られることが可能である。第１データビットの後、即座に、又は、バーストの間の空白時間前の任意の時間に、同期信号は削除されてもよい。受信モジュールは、有効な状態の同期信号の端部を用いることができ、その同期信号の端部は、新しいバッファの開始を示す。バッファのフォーマットは、送信モジュール及び受信モジュールの両方によって認められているものとすることができる。典型的なフォーマットは、一連のＭＰＥＧ２トランスポートストリームのフォーマットである。
【００３４】
“プッシュ”モードは、送信モジュールにクロックラインを動作させることによって実行されてもよい。“プル”モードは、受信モジュールにクロックラインを動作させることによって実行されてもよい。追加の準備ラインは、フロー制御のためのクロックを動作させない側で動作することが可能である。第５のラインは、エラーを有するバッファにフラグを付加するよう用いることが可能であるが、一般に、送信エラー及びコンテンツエラーは、“帯域内”（in band）のビットを用いて、又は、制御バス／通知バスを用いることによって操作され得る。プッシュモード／プルモードは、全てのシリアルデータストリーム接続のための機器構成レジスタの選択肢とすることが可能である。
【００３５】
各シリアルポート接続は、方向及びストリームのタイプに応じて設定可能とすることができる。各ポートのために４又は５つのピンを用いることができる。主要な４つの信号は、シリアルトランスポートストリームのために用いられてもよく、第５信号は、ストリームアドレスを提供する外部装置のためのメカニズムを提供する。
＊シリアルデータ（インプット／アウトプット）
＊データクロック（インプット／アウトプット）
＊データ同期（インプット／アウトプット−データと同様）
＊有効であるか／準備が完了しているか（無効なソースによってアクティブな状態にされる、準備が完了していない受信機によってアクティブな状態にされる）
＊アドレス（送られるストリームをインプットが表す）
【００３６】
クロックが外部に供給されるとき、上述のクロスポイントスイッチは、アドレス可能なポートを有することができる。これは、ポートアドレスをさらに特定する非同期アドレス値をクロスポイントに提供する追加のインプットラインを意味する。最初に開始ビットを有効な状態にすることによって、ポートのサブアドレスが供給されてもよく、その後に、４つのビットアドレス値及び合計６つのビットについてのチェックビットが、供給されてもよい。ビットの変化は、システム全体のクロック値によって同期をとることができる。サブアドレスは、他のサブアドレスに明示的に置き換えられるまで有効であり続けるようにしてもよい。この特徴は、１３９４や、ＵＳＢ、イーサネット（登録商標）などの時分割のストリームを有するデバイスに接続するときに有用である。
【００３７】
モジュール間でデータを通過させるために用いられるインターフェースは、相互接続を容易にするよう規格化されていてもよい。
【００３８】
制御バスへの接続に加えて、モジュールは、インプットデータストリーム、アウトプットデータストリーム、通知バスへの接続、そして、外部のバス又はデバイスへの接続さえも有することができる。
【００３９】
内部モジュールでの通信の概要
モジュール間の通信は、３つの共通のメカニズムである制御、通知、データを用いることが可能である。３つ全ては、接続の数を最小化するよう直列的に実装されていてもよい。
【００４０】
全てのモジュールに共通する特徴
＊システムクロック
＊ソフトウエアリセット
＊省電力モード
【００４１】
全てのモジュールに共通するいくつかの特徴が存在する。システムクロックは、タイミングを調整する目的で用いるよう全てのモジュールへ供給される。（このクロックは、シリアルデータバスのクロック調整に用いてもよいが、必須ではない。）制御レジスタは、電源投入時と同じ状態にモジュールをリセットするよう用いることができる。他のレジスタは、モジュールを省電力モードにするよう用いることができる。省電力モードであるとき、モジュールは、省電力モードを抜けるコマンドを受けることのみが可能な最小電力を使用する。
【００４２】
制御バス／ステータスバス
制御は、Ｉ２Ｃバスを介して実行されてもよい。これは、構成機器レジスタ、コマンド供給、ステータス検索へのアクセスを提供する。
【００４３】
通知バス
上記バスの一つは、通知バスとしてもよい。その通知バスは、専用の完了メッセージ又は緊急メッセージのために用いてもよく、通常、それらメッセージは、割り込み構造により実現される。通知を生成することができる各モジュールは、予定される用途ごとに構成機器レジスタを有してもよい。通知は、処理のために制御モジュールによって待ち行列に入れられて（キューされて）もよい。どんなタイプのモジュールでも、通知を送ることが可能であるが、制御モジュールのみは、それを処理することが要求される。
【００４４】
各通知は、３２ビット長であり、制御モジュールによって定義されるフォーマット内にある。（制御モジュールが、各モジュールにおける構成機器レジスタの初期化に関与することを再呼び出しする。）０値は、有効ではないとして扱われ、電源投入時又はリセット時の状態である。通知内のビットである通知の優先度及び通知の記述は、使用可能である制御モジュールのＩＤを表すよう割当てることができる。
【００４５】
通知は、それ自体で再生成させるか、又は、再送されるよう再度動作状態にすることを要求するかのどちらかを行う。それ自体で再生成する通知は、通知をトリガーするイベントが発生するたびに自動的に送られてもよい。これは、通常、非周期的かつ予期しないイベントに利用される。バッファ不足などのような状態に合わせて変化する通知は、状態の変化のみに応じて送られてもよく、各システムクロックを用いて繰り返し送られるようなことはない。再度作動状態となっている通知は、再送されるまえに通知を受け入れるようコマンドを要求することができる。
【００４６】
通知バスは、オープンコレクタードライバーを有する単一回線であって、端部の同期化のために用いられるシステムクロックを有する単一回線としてもよい。モジュールは、常に、バスを低ビットで動作させる。通知を送るまえに、モジュールは、バスが休止していることを保証するよう１６のクロックの周期（通知長さ）の間、通知バスをリッスンする。各通知は、開始ビットを有効な状態にすることによって開始することができる。開始ビットの後に最初のデータビットＭＳＢが続く。モジュールが、それの通知のビットである論理１を有効な状態にし、それは、他のモジュールが同時に論理０を有効な状態にしていないか確認する。そのような衝突が検出された場合、論理１を有効な状態にするモジュールは、それの有効な状態を一時的に中断し、再び休止となるバスを待つ。この衝突管理スキームは、最小値の通知が最高の優先度となるようにし、より高い優先度の通知を遅延しないようにする。
【００４７】
通知を受けるよう専用の回路を用いることが可能である。それは、ＣＰＵ又は他の制御デバイスを使用可能にするためにフィルターの前で優先順位を決定するように機能することができる。通知は、優先順位のリストのようなＦＩＦＯにキューされてもよい。割り込みレベル（level type interrupt）は、任意の通知がキューされているときはいつでも有効な状態としてもよい。デバイスの読み取り部（メモリの位置など）は、通知の間、最高の優先度（数値としては最小値）となり得る。空の通知の読み取りでは、null（ヌル）の通知を表す“全て１”の値となり得る。キューがオーバーフローした場合、専用の通知は、装置によって、それ自体で生成され得る（高位のビットである０、低位のビットｎは放棄された数を示す）。
【００４８】
利用可能なモジュールの例は以下を含む。
＊ＱＡＭ復調器
＊８ＶＳＢ復調器
＊クロスポイントスイッチ
＊ＮＴＳＣからＭＰＥＧ２へのトランスコーダ
＊ＭＰＥＧからＮＴＳＣへのトランスコーダ
＊ＤＶからＭＰＥＧ２へのトランスコーダ
＊ＰＩＤフィルター及びＰＩＤトランスレータ
＊ＣＰＵバッファへのシリアルデータストリーム（ＰＣＩのイニシエータを介した）
＊シリアルデータストリームへのＣＰＵバッファ（ＰＣＩのイニシエータを介した）
＊ディクリプションモジュール
＊エンクリプションモジュール
＊ビデオデマルチプレクサ（アウトプットコンポーネントビデオ）
＊オーディオデマルチプレクサ（右／左アウトプット）
＊オーディオデマルチプレクサ（５．１アウトプット）
＊オーディオデマルチプレクサ（その他のアウトプット） 
＊一般的なＦＰＧＡ（動的にダウンロード可能なプログラムを用いて）
＊システムコントローラ（ＲＡＭや、ＲＯＭ、フラッシュを用いたＣＰＵ）
＊データストリームＦＩＦＯ
＊ボイスオーバーアイピー
＊配置のポイント（Ｐｏｉｎｔ  Ｏｆ  Ｄｅｐｌｏｙｍｅｎｔ、ＰＯＤ）
＊ＤＡＶＩＣ
＊ＤＯＣＳＩＳ
＊ｉ.ＬＩＮＫ （１３９４）
＊メモリースティック
＊ＩＤＥ
ＦＩＦＯモジュール
【００４９】
ＦＩＦＯモジュールは、ファーストインファーストアウトに基づいてデータをバッファに格納するよう用いられるメモリ要素とすることができる。また、それは、記憶要素や、転送要素、遅延ライン、再スキャンバッファモード、タイムスタンプに基づくフロー制御などとして用いることができる。
【００５０】
ＦＩＦＯに関して、データは、上流要素からプッシュ（データが利用可能であるときプルされる）されることが可能であり、そして、下流要素によってプルされることが可能である。データビットは、通常、個別に記憶されるが、ランレングスエンコーディングスキームは、圧縮可能なデータのために用いることができる。長いデータブロックを有するストリームのタイプに関して、インプットストリームからの同期ビットは、カウンタレジスタによってＦＩＦＯ内に記憶され得る。そのカウンタレジスタは、主要なＦＩＦＯ内の下位のＦＩＦＯとして機能する。データビットがクロックに調整されるのと同時に、カウンタレジスタに一定数を追加することができる。同期ビットとなったとき、レジスタは、下位のＦＩＦＯにプッシュされ、新しいカウンタが開始する。データビットがＦＩＦＯからプルされると同時に、最後に更新された（最も古い）カウンタは、そのカウンタが０になるまで各ビットとともに一定数が減らされる。この点において、アウトプット同期信号は、有効な状態となり、次のカウンタは、下位のＦＩＦＯからプルされる。短いデータブロックのストリームのタイプに関して、同期ビットは、主要なデータストリームへのパラレルビットストリームとして記憶されてもよい。
【００５１】
記憶及び転送の特性は、ステータス情報をデータバッファの終了部分から始まりの部分にまで移動するよう用いられてもよい。通常の方式において、データは、ＦＩＦＯにプッシュされてもよいが、全てのバッファが受け取られるまでアウトプットの利用は妨げられる。プログラム可能なカウンタは、バッファの長さを特定するよう用いることができる。受け取られる最後の追跡ビットは、バッファステータスとして維持されてもよい。そして、ＦＩＦＯのアウトプット側が、使用可能となる。ステータスビットは、主要データの前に、最初に送られてもよい（ストリームの位置ＴＢＤ）。この特徴は、ソースモジュール（それ自体はストレージを有さない）が、その場でバッファを構成し、さらに、事後に不備をフラグによって示すことを可能にする。あて先モジュール（それ自体もストレージを有さない）は、前もって不備を知る。
【００５２】
ＦＩＦＯは、最小のバッファ深さをプログラムすることによって遅延ラインとして用いてもよい。データは、通常のＦＩＦＯと同様にプッシュされるが、アウトプットの利用は、必要なデータ量がキューされない限り、有効な状態とはならない。これは、複数ストリームの同期化を行うジョブを軽減させる（すなわち、オーディオのリップシンク）。
【００５３】
新しいプッシュによって置き換えられるまで、再スキャンバッファモードは、同一のデータが、バッファから繰り返しプルされることを可能にする。これは、挿入パケットのために用いることができる。その挿入パケットは、ストリームに定期的に挿入されるが、時おり更新される。無作為な書き込みが可能となる。
【００５４】
フロー制御のＦＩＦＯは、各バッファの始まりにタイムスタンプを追加することによって実装されてもよい。このタイムスタンプは、上流のプロセスによって、又は、ＦＩＦＯインプットハードウエアの一部として実行されていてもよい。内部の時間基準が、キューの先頭のバッファに付加されているタイムスタンプの値に到達するまで、又は、次のバッファのタイムスタンプが“新しくない”場合に、次のバッファが破棄されるまで、ＦＩＦＯから外へのデータは、保持される。
【００５５】
インプットの準備ラインは、実際の完全なものから、ある水準までの意味となるように幅があるようプログラムすることができる。同じことは、アウトプットの準備ラインにも当てはまる。読み取り及び書き込みのポインターは、プログラムの制御下にあってもよい。
【００５６】
ＰＣＩのサポートは、より複雑なモジュールの一つを必要とする。モジュールの特徴は、ＰＣＩインターフェースの機器構成レジスタ、Ｉ２Ｃ制御バス／ステータスバスへのアクセスが計画されている（mapped）メモリ、そして、複数のストリーム転送をサポートするようなＤＭＡを含む。
【００５７】
同時に存在する八つのシリアルデータストリーム転送は、同時に有効とすることができる。各ストリームは、ダブルバンク（double ranked）のアドレスレジスタ／カウンタレジスタのセット、そして、いくつかの動作モードを有する。カウンタは、送られるバイト数と、ＰＣＩメモリバスの転送場所へアドレスポイントを特定する。二重のスタックが有効であるか、同一のバッファが連続的なループとして用いられるか、転送の完了をどのように報告するか、転送がプッシュ／プルであるかなどに応じて、ストリームの専用制御レジスタは、転送方向を特定する。
【００５８】
さらに、システムは、任意の数のＣＰＵモジュールを含んでもよい。ＣＰＵが、外部のモジュールをサポートする場合、内部にＣＰＵを存在させる必要はない。その対極として、複数のＣＰＵを有するシステムとすることが可能である。一つのＣＰＵは、鍵の取り扱い及び生成などのようなセキュリティ上の問題を扱うことが可能である。その他のＣＰＵは、フロントエンドのモジュールに向けられており、そのフロントエンドのモジュールは、信号を調整し（tune）、信号の前方誤り訂正を行い（FEC）、さらに、信号を完成品のチューナーサブシステムに復調する。
【００５９】
前述のクロスポイントスイッチは、モジュール間でデータを交換する一般的かつ順応性のある手段として用いてもよい。任意のインプットは、任意のアウトプットに経路が決定されていてもよい。インプットは、同時に２以上のアウトプットに経路が決定されていてもよい。クロスポイントスイッチは、より大きなスイッチを形成するようカスケード接続されていてもよい。そして、そのスイッチは、より多くのストリームを扱うことができるようになる。
【００６０】
クロスポイントのポートは、プッシュモードかプルモードのどちらかに動作させるようプログラムされていてもよく、さらに、完全なＦＩＦＯが不要となるよう少量のバッファ量を含んでもよい。
【００６１】
したがって、本発明の原理によるモジュールは、基本となる５つのカテゴリに分類できる。すなわち、制御、データ交換、内部処理、ストレージ、そして、端部又は外部のインターフェースである。制御モジュールは、処理モジュール間のデータフローの意識的な意思決定及び調整に関連する。データ交換モジュールは、最小の仲介制御を用いて流れるデータを維持する自立的かつ神経的なシステムとして機能する。物理的な“調査”と論理的な“調査”の組み合わせは、モジュール間のデータストリームの経路を決定する。処理モジュールは、それの設計機能を実現するために、データを組み合わせ、分割し、そして、変換する。一又は二以上のデータストリームは、インプットとすることができ、そして、一又は二以上のデータストリームは、アウトプットとすることもできる。プログラムされているレジスタは、付加価値を有する特徴を制御する。ストレージモジュールは、プロセス間のデータを記憶し、通常、ＦＩＦＯとして実装される。端部のピースは、外部の世界と結合する。これは、アナログ−デジタル変換のような電気的な変化とすることができる。
【００６２】
特定のオブジェクト指向ハードウエアのためのシステム及び方法がここに示され、詳細に説明した。当然のことながら、本発明によって網羅される対象は特許請求の範囲の記載のみによって制限される。
【図１】
2010507973.tif 000003
【図２】
2010507973.tif 000004
【図３】
2010507973.tif 000005
【国際調査報告】
2010507973.tif 000006