JP5253404B2 - オブジェクト指向ハードウエアのためのシステム及び方法 - Google Patents

オブジェクト指向ハードウエアのためのシステム及び方法 Download PDF

Info

Publication number
JP5253404B2
JP5253404B2 JP2009534578A JP2009534578A JP5253404B2 JP 5253404 B2 JP5253404 B2 JP 5253404B2 JP 2009534578 A JP2009534578 A JP 2009534578A JP 2009534578 A JP2009534578 A JP 2009534578A JP 5253404 B2 JP5253404 B2 JP 5253404B2
Authority
JP
Japan
Prior art keywords
module
signal processing
function
modules
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009534578A
Other languages
English (en)
Other versions
JP2010507973A (ja
Inventor
ロバート アラン アンガー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of JP2010507973A publication Critical patent/JP2010507973A/ja
Application granted granted Critical
Publication of JP5253404B2 publication Critical patent/JP5253404B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Description

本発明は、一般にオブジェクト指向ハードウエアのためのシステム及び方法に関する。
通常、複雑なタスクは、より小さいタスクに分割することによって処理される。ソフトウエアにおいて、これは、オブジェクト指向設計と呼ばれる。オブジェクトは、機能についての自己完結型のモジュールとして定義される。
今日のデジタルプロダクト設計(例えば、デジタルテレビの設計など)のアプローチは、チップに関して、理想的なシステムとの統合を最大限生かすことに焦点があてられている。ここで分かるように、このハードウエアの複雑性は、リードタイム(lead time)を長くする。リードタイムが長くなることは、ユニットのコスト削減のための適応性を犠牲にする可能性がある。チップの準備が整うまで、それは、所望の特徴のいくらかを欠く可能性があるにもかかわらず、未使用の機能を含む可能性がある。したがって、所望の特徴のセットを実現すると同時に、使用されない、又は、少なくとも求められていないチップの全体の機能を強化するよう追加のパーツが必要とされる可能性がある。その結果、ソフトウエアには、全てのコンポーネントを同時に動作させるタスクが付与される。
ここで、さらに分かるように、デジタルプロダクトは、汎用コンピュータを常に必要とする訳ではない。さらに、一般的な時分割バスは、専用のデータを移動させる最良の方法とは限らない。
そして、さらに分かるように、多くの消費者向け電子機器(consumer electronics、CE)は、実行される特定のタスクを有し、タスクの変化は、人間のゆっくりとした入力にペースが合わせられる。所定の機能及び性能順序の詳細が異なる所定のプロダクトを用いた場合、通常、タスクの分割は、シリアルパイプラインとして実行される一連のステップ又は機能を伴うこととなる。したがって、理解される通り、デジタルテレビを含むそのようなCEプロダクトは、オブジェクト指向ハードウエアアーキテクチャの対象となる。
オブジェクト指向ハードウエアシステムは、ハードウエアに実装されている一又は二以上の信号処理モジュールであって、信号の機能をそれぞれ実行するよう構成されている信号処理モジュールと、その信号処理モジュールへデータを送り、又は、その信号処理モジュールからデータを受けるよう構成されている一又は二以上のインプットモジュール及び/又はアウトプットモジュールとを備える。その信号処理モジュールは、単一の電子コンポーネントより多く、別々に販売される消費者向け電子デバイス全体よりは少ない。
例として、信号処理モジュールは、フィルターモジュール、ディクリプションモジュール、エンクリプションモジュール、トランスコードモジュール、マルチプレクサモジュール、デマルチプレクサモジュール、スケーラーモジュール、又は、ハイデフィニションメディアインタフェース(HDMI)受信機モジュールとすることができる。対照的に、インプットモジュール及び/又はアウトプットモジュールは、ファーストインファーストアウト(FIFO)バッファモジュール、P__O__D__(“POD”)モジュール、取り外し可能なメモリ媒体、ビデオ供給モジュール、iLinkインタフェースモジュール、パーソナルコンピュータインターフェース(PCI)モジュール、IDE(integrated drive electronics)インターフェースとすることができる。HDMI受信機からのビデオ情報が視覚的表示によるビデオの表示のためにディスプレイドライバモジュールへ送られる場合、汎用パイプラインスイッチは、例えば、モジュールを画像コンポジッタモジュール又は画像ミラーモジュールに接続するよう用いることができる。
他の側面において、消費者向け電子(CE)デバイスを設計するための方法は、共通の通信機能を用いて、複数のオブジェクト指向ハードウエアモジュールを設置することを含む。また、方法は、CEデバイスを実現する設計において、モジュールのサブセットを選択すること、そして、モジュールのサブセットを構成することを含む。
さらに他の側面において、オブジェクト指向ハードウエアシステムは、ハードウエアに実装されている一又は二以上の信号処理モジュールと、その信号処理モジュールへデータを送り、又は、その信号処理モジュールからデータを受けるよう構成されている一又は二以上のインプットモジュール及び/又はアウトプットモジュールとを備える。その信号処理モジュールは、単一の電子コンポーネントより多く、別々に販売される消費者向け電子デバイス全体よりは少ない。
本発明の詳細、さらに、それの構造及び動作については、添付の図面の参照によって最も良く理解することができる。図面においては、同じ参照番号は同じパーツを表す。
オブジェクト指向ハードウエアシステムの第1実施例のブロック図である。 オブジェクト指向ハードウエアシステムの第2実施例のブロック図である。 オブジェクト指向ハードウエアシステムにおいて用いることが可能なモジュール(スケーラ)例のブロック図である。
概して、本発明では、CEプロダクトのためのアーキテクチャがハードウエアオブジェクトのライブラリを用いて設計可能であることが分かる。そのハードウエアオブジェクトは、共通のインターフェース構造を用いて互いに接続される。ここで理解されるように、このハードウエアのモジュール性は、プロダクト特性の適応性を最大にし、さらに、プロダクトレベルよりむしろモジュールレベルで差別化されるべき特徴をなくすこと(コモディティ化)を可能にする。オブジェクト指向ハードウエアアーキテクチャは、オブジェクト、インターフェース、データの経路決定という3つの対処すべき問題と関係する。
最初に図1は、制限されない第1のオブジェクト指向ハードウエアの全体10を示す。図1において、ハードウエアで実装されている様々なモジュール(または、以下、「オブジェクト」とも呼ぶ)は、所望の機能に従う。すなわち、システム内で実行される任意の機能は、ハードウエアモジュールの対象となる。この分割は、必要に応じて、容易な利用を可能にし、さらに、機能の代理を可能にする。
“ハードウエアモジュール”又は“ハードウエアオブジェクト”については、単一のレジスタや、キャパシタ、トランジスタなどのような単一の電子コンポーネントよりも多く、完成品であるテレビ、ディスクプレーヤー、PVRなどのような別々に販売されるCEコンポーネント全体よりは少ないことを意味する。
ここで考慮されるハードウエアオブジェクトの中には、NTSCチューナー、ATSCチューナー、コンポジット用アナログインプットモジュール、S−VIDEO用アナログインプットモジュール、コンポーネントインプット用アナログインプットモジュール、IPネットワーク通信モジュール、HDMI(又はDVI)インプットモジュール、VGAインプットモジュール、デコーダー(MPEG、AVC、DVなど)モジュール、スケーラーモジュール、画像処理(image enhancement)モジュール(例えば、インタレース除去モジュールなど)、ユーザーインターフェースを生成するためのグラフィックジェネレータモジュール、ディスプレイドライバモジュールなどがある。
したがって、当然のことながら、オブジェクト指向ハードウエアアプローチは、所望の機能を実現するよう互いにパイプライン接続が可能であり、データ経路の中又は外にスイッチすることが可能であるモジュールのライブラリを構築する。
図1は、本発明であるオブジェクト指向ハードウエアの原理を用いた第1例のシステム10を示す。そのオブジェクト指向ハードウエアは、テレビ用ビデオ処理システムとして採用されてもよい。図1に示す各要素は、それぞれのハードウエアモジュールによって実装することが可能である。そして、必要に応じて、全てのハードウエアモジュールは、同一の回路基板上に配置されていてもよい。モジュールは、データ交換を行うよう3つのスイッチの手段12、14、16によって通信する。以下で詳述するように、スイッチ12、14、16は、任意のインプットを任意のアウトプットに経路決定することを可能にするクロスポイントスイッチとしてもよい。
図1の限定されていない例に示すモジュールの中には、復調器(demodulator)モジュール18がある。その復調器モジュール18は、例としてオーディオ−ビデオ源から情報を受ける。信号をフィルターにかけるフィルターモジュール20が用いられていてもよく、さらに、暗号化されているデータストリームを復号するディクリプションモジュール22が用いられていてもよい。同様に、システム10によって出力されるデータを暗号化するエンクリプションモジュール24が用いられていてもよい。ビデオのトランスコーディングは、トランスコードモジュール26で行ってもよい。
発信データの多重化及び受信データの逆多重化(demultiplexing)は、それぞれマルチプレクサモジュール28及びデマルチプレクサモジュール30によって提供されるようにしてもよい。ビデオのスケーリングは、スケーラーモジュール32によって提供されてもよい。データインプット及び/又はデータアウトプットは、ファーストインファーストアウト(FIFO)モジュール34によって操作されていてもよい。フィールドプログラマブルゲートアレイ(FPGA)によって実装可能なコントロールモジュール36は、上記の信号処理モジュールの様々な動作を制御/調整することが可能である。
一般に、上記の信号処理モジュールのそれぞれは、唯一の機能を実行するよう構成されていることに加えて、図1は、システム10が外側のコンポーネントと通信するための様々なインプットモジュール/アウトプットモジュールを備え得ることを示す。制限されない例とするために、システム10は、P__O__D(“POD”)モジュール38、ソニーメモリースティック(株式会社ソニーの商標)のような取り外し可能なメモリ媒体40、ビデオ供給(video delivery)モジュール42、iLinkインタフェースモジュール44、パーソナルコンピュータインターフェース(PCI)モジュール46、IDE(Integrated Drive Electronics)インターフェース48を含んでもよい。
図2は、他の例として、テレビディスプレイを動作させるのに用いることが可能なオブジェクト指向ハードウエアモジュールシステム50を示す。図で示す通り、システム10は、第1乃至第3ソースインターフェースモジュール52、54、56から、ビデオ情報を受けることが可能である。各ソースインターフェースは、デジタル著作権管理によって保護されているビデオストリームを個別のハイデフィニションメディアインタフェース(HDMI)受信機モジュール58、60、62に送ることが可能である。HDMI受信機モジュールからのストリームは、汎用パイプラインスイッチ(universal pipeline switch)64を介して画像コンポジッタモジュール66(例えば、3つのデータストリームから合成画像を描画(rendering)する)や画像ミラーモジュール68などのような適切な信号処理モジュールにスイッチさせることが可能である。図に示すように、信号処理モジュールのアウトプットは、テレビディスプレイ72上にビデオ画像を写すためにスイッチ64を介してディスプレイドライバ70に送られてもよい。
図3は、デジタルテレビに用いられるモジュールのより詳細な例を示す。その図では、スケーラーモジュールを例示する。示してあるスケーラーモジュールは、インプットFIFO74でビデオのフレームを受け、デマルチプレクサ76でそれを逆多重化し、そして、それをインプットキャンバス78、クリッパー80、スケーラープロセッサ82を通じて処理して、後に続くモジュールの要求を満たすようビデオのサイズを変更する。サイズ変更されたビデオは、アウトプットキャンバス84を通じて送られ、アウトプットFIFOバファー86を介して、後に続くモジュールに出力される。制御パラメータは、インプットフォーマット及び所望のアウトプットフォーマットを表す。スケーラーのアルゴリズムのためのオプションが存在する場合、マイクロコードは、読み込まれて選択され得る。
本発明によって理解されるように、共通のインターフェースがモジュールを相互に接続するよう用いられるとき、上述のハードウエアのモジュール性は、最も汎用性が高くなる。専用のモジュールは、外側のコンポーネントに結合され、さらに、内部の相互接続は、共有インターフェースのために互換性を有する。
重要なインターフェースは、パイプラインで結合されているデータをモジュールからモジュールへ移動させる。PCIエクスプレスのために用いられるようなシリアルマルチギガビット技術や、ギガビットイーサネット(登録商標)を用いることも可能である。これら通信方法は、数十センチメーター伸びる単純な一組のワイヤ上でデータを転送する。例であるが、その通信方法は、テレビの筐体内における配線の調整を容易にする。パイプラインにおける各モジュール毎のデータ転送速度は、システムで共通にすることが可能であり、各ポイントでの接続についての固定又は動的な要求を満たすようプログラムしてもよい。また、データを保護するようデジタル著作権管理のサポートを含めることが可能である。
共通のインターフェースにおける他のコンポーネントは、制御情報及びステータス情報を交換する手段を具備することが可能である。これは、I2C、又は、同様な低ビットレートバスによって使用可能となる。その低ビットレートバスは、使用料(royalty)の問題を回避するために用いられる。共通の基準クロックソースは、全てのモジュールに供給されていてもよい。内部の位相同期回路(phase-locked loop、PLL)又は同様なクロック乗算器は、例えば、必要な内部クロックを生成するよう25MHzを使用することが可能である。低スピードかつメトロノームのようなストローブ(すなわち、フレームクロック)をシステムの同期のために用いてもよい。
次にデータの経路決定について検討すると、専用の単純な接続は、常にお互いへデータを供給するモジュール間に存在させてもよいが、前述のように、スイッチを用いることによって、より高い適応性を実現してもよい。これは、筐体上の異なる領域におけるモジュールを集団として集め易くする。スイッチは、比較的高度でない技術であるセレクターから、より汎用性の高いクロスポイントにまで及ぶ。
クロスポイントスイッチは、任意のインプットを任意のアウトプット(同時に、一つ以上のアウトプット)に経路決定することを可能にする。動的構成は、論理パイプラインの中及び外のモジュールを変更するよう用いてもよい。シーケンス順序でも変更可能である。FIFOは、データを平坦化させ、クロックレートを調和させるよう連結ポイントで実装可能である。
上記説明に加えて、ここで考慮されるように、本発明のオブジェクト指向ハードウエアモジュールは、既知である動作中のシステムへの追加部として検査され確認されるユニットとすることができる。新しいモジュールは、動作中の製造ラインに段階的に導入することができる。最も汎用性が高く統合された形態は、各モジュールを単一のクロスポイントに接続することである。
また、モジュールをサブシステムに組み込んでもよい。そのサブシステムは、上位の機能のセットを有する単一のモジュールとして扱われる。ある実施例では、複数のプロダクト間で用いることが可能なアナログインプットインターフェース用とすることができる。同一プロダクトでよく用いられるモジュール用のパッケージングを共通にすることは、コストの削減を可能にする。他のモジュールは、フィールド更新(field upgrades)を扱えるようにする物理的なプラグインとして構成してもよい。
システムセットアップ及びシステム制御に関して、図1に関して上述されているように単純なマイクロプロセッサ及び状態機械を用いてもよい。制御は、オブジェクトの初期化及びデータの経路決定の仕様を含めることが可能である。
モジュールのパイプラインにおける動作は、動作モードの選択から始まる。これは、必要なマイクロコードを(パイプラインバスを通じて)読み込み、そして、そのマイクロコードを所望のトポロジーと調和するセットとなるよう切り替え(switch)を行う。仕様は、モードの変更を容易に行えるようテーブル内に記述されていてもよい。
上記説明を考慮すると、オブジェクト指向ハードウエアは、消費者向けデジタル電子機器を設計し構築する有利なシステムのアプローチであることが分かる。それは、プロダクトを別個の機能的なタスクに分け、そのタスクは、分離して完成されており、消費者のニーズを満たすよう内外で交換され得る。それは、非常に機動的で、市場における変化と需要への迅速な対応を可能にする。
追加の非制限的実装の詳細
一連のバースト又はバッファの第1ビットが送られるとき、データは、有効な状態の同期ラインを用いて連続的に送られることが可能である。第1データビットの後、即座に、又は、バーストの間の空白時間前の任意の時間に、同期信号は削除されてもよい。受信モジュールは、有効な状態の同期信号の端部を用いることができ、その同期信号の端部は、新しいバッファの開始を示す。バッファのフォーマットは、送信モジュール及び受信モジュールの両方によって認められているものとすることができる。典型的なフォーマットは、一連のMPEG2トランスポートストリームのフォーマットである。
“プッシュ”モードは、送信モジュールにクロックラインを動作させることによって実行されてもよい。“プル”モードは、受信モジュールにクロックラインを動作させることによって実行されてもよい。追加の準備ラインは、フロー制御のためのクロックを動作させない側で動作することが可能である。第5のラインは、エラーを有するバッファにフラグを付加するよう用いることが可能であるが、一般に、送信エラー及びコンテンツエラーは、“帯域内”(in band)のビットを用いて、又は、制御バス/通知バスを用いることによって操作され得る。プッシュモード/プルモードは、全てのシリアルデータストリーム接続のための機器構成レジスタの選択肢とすることが可能である。
各シリアルポート接続は、方向及びストリームのタイプに応じて設定可能とすることができる。各ポートのために4又は5つのピンを用いることができる。主要な4つの信号は、シリアルトランスポートストリームのために用いられてもよく、第5信号は、ストリームアドレスを提供する外部装置のためのメカニズムを提供する。
*シリアルデータ(インプット/アウトプット)
*データクロック(インプット/アウトプット)
*データ同期(インプット/アウトプット−データと同様)
*有効であるか/準備が完了しているか(無効なソースによってアクティブな状態にされる、準備が完了していない受信機によってアクティブな状態にされる)
*アドレス(送られるストリームをインプットが表す)
クロックが外部に供給されるとき、上述のクロスポイントスイッチは、アドレス可能なポートを有することができる。これは、ポートアドレスをさらに特定する非同期アドレス値をクロスポイントに提供する追加のインプットラインを意味する。最初に開始ビットを有効な状態にすることによって、ポートのサブアドレスが供給されてもよく、その後に、4つのビットアドレス値及び合計6つのビットについてのチェックビットが、供給されてもよい。ビットの変化は、システム全体のクロック値によって同期をとることができる。サブアドレスは、他のサブアドレスに明示的に置き換えられるまで有効であり続けるようにしてもよい。この特徴は、1394や、USB、イーサネット(登録商標)などの時分割のストリームを有するデバイスに接続するときに有用である。
モジュール間でデータを通過させるために用いられるインターフェースは、相互接続を容易にするよう規格化されていてもよい。
制御バスへの接続に加えて、モジュールは、インプットデータストリーム、アウトプットデータストリーム、通知バスへの接続、そして、外部のバス又はデバイスへの接続さえも有することができる。
内部モジュールでの通信の概要
モジュール間の通信は、3つの共通のメカニズムである制御、通知、データを用いることが可能である。3つ全ては、接続の数を最小化するよう直列的に実装されていてもよい。
全てのモジュールに共通する特徴
*システムクロック
*ソフトウエアリセット
*省電力モード
全てのモジュールに共通するいくつかの特徴が存在する。システムクロックは、タイミングを調整する目的で用いるよう全てのモジュールへ供給される。(このクロックは、シリアルデータバスのクロック調整に用いてもよいが、必須ではない。)制御レジスタは、電源投入時と同じ状態にモジュールをリセットするよう用いることができる。他のレジスタは、モジュールを省電力モードにするよう用いることができる。省電力モードであるとき、モジュールは、省電力モードを抜けるコマンドを受けることのみが可能な最小電力を使用する。
制御バス/ステータスバス
制御は、I2Cバスを介して実行されてもよい。これは、構成機器レジスタ、コマンド供給、ステータス検索へのアクセスを提供する。
通知バス
上記バスの一つは、通知バスとしてもよい。その通知バスは、専用の完了メッセージ又は緊急メッセージのために用いてもよく、通常、それらメッセージは、割り込み構造により実現される。通知を生成することができる各モジュールは、予定される用途ごとに構成機器レジスタを有してもよい。通知は、処理のために制御モジュールによって待ち行列に入れられて(キューされて)もよい。どんなタイプのモジュールでも、通知を送ることが可能であるが、制御モジュールのみは、それを処理することが要求される。
各通知は、32ビット長であり、制御モジュールによって定義されるフォーマット内にある。(制御モジュールが、各モジュールにおける構成機器レジスタの初期化に関与することを再呼び出しする。)0値は、有効ではないとして扱われ、電源投入時又はリセット時の状態である。通知内のビットである通知の優先度及び通知の記述は、使用可能である制御モジュールのIDを表すよう割当てることができる。
通知は、それ自体で再生成させるか、又は、再送されるよう再度動作状態にすることを要求するかのどちらかを行う。それ自体で再生成する通知は、通知をトリガーするイベントが発生するたびに自動的に送られてもよい。これは、通常、非周期的かつ予期しないイベントに利用される。バッファ不足などのような状態に合わせて変化する通知は、状態の変化のみに応じて送られてもよく、各システムクロックを用いて繰り返し送られるようなことはない。再度作動状態となっている通知は、再送されるまえに通知を受け入れるようコマンドを要求することができる。
通知バスは、オープンコレクタードライバーを有する単一回線であって、端部の同期化のために用いられるシステムクロックを有する単一回線としてもよい。モジュールは、常に、バスを低ビットで動作させる。通知を送るまえに、モジュールは、バスが休止していることを保証するよう16のクロックの周期(通知長さ)の間、通知バスをリッスンする。各通知は、開始ビットを有効な状態にすることによって開始することができる。開始ビットの後に最初のデータビットMSBが続く。モジュールが、それの通知のビットである論理1を有効な状態にし、それは、他のモジュールが同時に論理0を有効な状態にしていないか確認する。そのような衝突が検出された場合、論理1を有効な状態にするモジュールは、それの有効な状態を一時的に中断し、再び休止となるバスを待つ。この衝突管理スキームは、最小値の通知が最高の優先度となるようにし、より高い優先度の通知を遅延しないようにする。
通知を受けるよう専用の回路を用いることが可能である。それは、CPU又は他の制御デバイスを使用可能にするためにフィルターの前で優先順位を決定するように機能することができる。通知は、優先順位のリストのようなFIFOにキューされてもよい。割り込みレベル(level type interrupt)は、任意の通知がキューされているときはいつでも有効な状態としてもよい。デバイスの読み取り部(メモリの位置など)は、通知の間、最高の優先度(数値としては最小値)となり得る。空の通知の読み取りでは、null(ヌル)の通知を表す“全て1”の値となり得る。キューがオーバーフローした場合、専用の通知は、装置によって、それ自体で生成され得る(高位のビットである0、低位のビットnは放棄された数を示す)。
利用可能なモジュールの例は以下を含む。

*QAM復調器
*8VSB復調器
*クロスポイントスイッチ
*NTSCからMPEG2へのトランスコーダ
*MPEGからNTSCへのトランスコーダ
*DVからMPEG2へのトランスコーダ
*PIDフィルター及びPIDトランスレータ
*CPUバッファへのシリアルデータストリーム(PCIのイニシエータを介した)
*シリアルデータストリームへのCPUバッファ(PCIのイニシエータを介した)
*ディクリプションモジュール
*エンクリプションモジュール
*ビデオデマルチプレクサ(アウトプットコンポーネントビデオ)
*オーディオデマルチプレクサ(右/左アウトプット)
*オーディオデマルチプレクサ(5.1アウトプット)
*オーディオデマルチプレクサ(その他のアウトプット)
*一般的なFPGA(動的にダウンロード可能なプログラムを用いて)
*システムコントローラ(RAMや、ROM、フラッシュを用いたCPU)
*データストリームFIFO
*ボイスオーバーアイピー
*配置のポイント(Point Of Deployment、POD)
*DAVIC
*DOCSIS
*i.LINK (1394)
*メモリースティック
*IDE
FIFOモジュール
FIFOモジュールは、ファーストインファーストアウトに基づいてデータをバッファに格納するよう用いられるメモリ要素とすることができる。また、それは、記憶要素や、転送要素、遅延ライン、再スキャンバッファモード、タイムスタンプに基づくフロー制御などとして用いることができる。
FIFOに関して、データは、上流要素からプッシュ(データが利用可能であるときプルされる)されることが可能であり、そして、下流要素によってプルされることが可能である。データビットは、通常、個別に記憶されるが、ランレングスエンコーディングスキームは、圧縮可能なデータのために用いることができる。長いデータブロックを有するストリームのタイプに関して、インプットストリームからの同期ビットは、カウンタレジスタによってFIFO内に記憶され得る。そのカウンタレジスタは、主要なFIFO内の下位のFIFOとして機能する。データビットがクロックに調整されるのと同時に、カウンタレジスタに一定数を追加することができる。同期ビットとなったとき、レジスタは、下位のFIFOにプッシュされ、新しいカウンタが開始する。データビットがFIFOからプルされると同時に、最後に更新された(最も古い)カウンタは、そのカウンタが0になるまで各ビットとともに一定数が減らされる。この点において、アウトプット同期信号は、有効な状態となり、次のカウンタは、下位のFIFOからプルされる。短いデータブロックのストリームのタイプに関して、同期ビットは、主要なデータストリームへのパラレルビットストリームとして記憶されてもよい。
記憶及び転送の特性は、ステータス情報をデータバッファの終了部分から始まりの部分にまで移動するよう用いられてもよい。通常の方式において、データは、FIFOにプッシュされてもよいが、全てのバッファが受け取られるまでアウトプットの利用は妨げられる。プログラム可能なカウンタは、バッファの長さを特定するよう用いることができる。受け取られる最後の追跡ビットは、バッファステータスとして維持されてもよい。そして、FIFOのアウトプット側が、使用可能となる。ステータスビットは、主要データの前に、最初に送られてもよい(ストリームの位置TBD)。この特徴は、ソースモジュール(それ自体はストレージを有さない)が、その場でバッファを構成し、さらに、事後に不備をフラグによって示すことを可能にする。あて先モジュール(それ自体もストレージを有さない)は、前もって不備を知る。
FIFOは、最小のバッファ深さをプログラムすることによって遅延ラインとして用いてもよい。データは、通常のFIFOと同様にプッシュされるが、アウトプットの利用は、必要なデータ量がキューされない限り、有効な状態とはならない。これは、複数ストリームの同期化を行うジョブを軽減させる(すなわち、オーディオのリップシンク)。
新しいプッシュによって置き換えられるまで、再スキャンバッファモードは、同一のデータが、バッファから繰り返しプルされることを可能にする。これは、挿入パケットのために用いることができる。その挿入パケットは、ストリームに定期的に挿入されるが、時おり更新される。無作為な書き込みが可能となる。
フロー制御のFIFOは、各バッファの始まりにタイムスタンプを追加することによって実装されてもよい。このタイムスタンプは、上流のプロセスによって、又は、FIFOインプットハードウエアの一部として実行されていてもよい。内部の時間基準が、キューの先頭のバッファに付加されているタイムスタンプの値に到達するまで、又は、次のバッファのタイムスタンプが“新しくない”場合に、次のバッファが破棄されるまで、FIFOから外へのデータは、保持される。
インプットの準備ラインは、実際の完全なものから、ある水準までの意味となるように幅があるようプログラムすることができる。同じことは、アウトプットの準備ラインにも当てはまる。読み取り及び書き込みのポインターは、プログラムの制御下にあってもよい。
PCIのサポートは、より複雑なモジュールの一つを必要とする。モジュールの特徴は、PCIインターフェースの機器構成レジスタ、I2C制御バス/ステータスバスへのアクセスが計画されている(mapped)メモリ、そして、複数のストリーム転送をサポートするようなDMAを含む。
同時に存在する八つのシリアルデータストリーム転送は、同時に有効とすることができる。各ストリームは、ダブルバンク(double ranked)のアドレスレジスタ/カウンタレジスタのセット、そして、いくつかの動作モードを有する。カウンタは、送られるバイト数と、PCIメモリバスの転送場所へアドレスポイントを特定する。二重のスタックが有効であるか、同一のバッファが連続的なループとして用いられるか、転送の完了をどのように報告するか、転送がプッシュ/プルであるかなどに応じて、ストリームの専用制御レジスタは、転送方向を特定する。
さらに、システムは、任意の数のCPUモジュールを含んでもよい。CPUが、外部のモジュールをサポートする場合、内部にCPUを存在させる必要はない。その対極として、複数のCPUを有するシステムとすることが可能である。一つのCPUは、鍵の取り扱い及び生成などのようなセキュリティ上の問題を扱うことが可能である。その他のCPUは、フロントエンドのモジュールに向けられており、そのフロントエンドのモジュールは、信号を調整し(tune)、信号の前方誤り訂正を行い(FEC)、さらに、信号を完成品のチューナーサブシステムに復調する。
前述のクロスポイントスイッチは、モジュール間でデータを交換する一般的かつ順応性のある手段として用いてもよい。任意のインプットは、任意のアウトプットに経路が決定されていてもよい。インプットは、同時に2以上のアウトプットに経路が決定されていてもよい。クロスポイントスイッチは、より大きなスイッチを形成するようカスケード接続されていてもよい。そして、そのスイッチは、より多くのストリームを扱うことができるようになる。
クロスポイントのポートは、プッシュモードかプルモードのどちらかに動作させるようプログラムされていてもよく、さらに、完全なFIFOが不要となるよう少量のバッファ量を含んでもよい。
したがって、本発明の原理によるモジュールは、基本となる5つのカテゴリに分類できる。すなわち、制御、データ交換、内部処理、ストレージ、そして、端部又は外部のインターフェースである。制御モジュールは、処理モジュール間のデータフローの意識的な意思決定及び調整に関連する。データ交換モジュールは、最小の仲介制御を用いて流れるデータを維持する自立的かつ神経的なシステムとして機能する。物理的な“調査”と論理的な“調査”の組み合わせは、モジュール間のデータストリームの経路を決定する。処理モジュールは、それの設計機能を実現するために、データを組み合わせ、分割し、そして、変換する。一又は二以上のデータストリームは、インプットとすることができ、そして、一又は二以上のデータストリームは、アウトプットとすることもできる。プログラムされているレジスタは、付加価値を有する特徴を制御する。ストレージモジュールは、プロセス間のデータを記憶し、通常、FIFOとして実装される。端部のピースは、外部の世界と結合する。これは、アナログ−デジタル変換のような電気的な変化とすることができる。
特定のオブジェクト指向ハードウエアのためのシステム及び方法がここに示され、詳細に説明した。当然のことながら、本発明によって網羅される対象は特許請求の範囲の記載のみによって制限される。

Claims (7)

  1. オブジェクト指向ハードウエアシステムであって
    ハードウエアに実装されており、第1の機能、第2の機能、及び、第3の機能をそれぞれ実行するよう構成されている第1の信号処理モジュール、第2の信号処理モジュール、及び、第3の信号処理モジュールを少なくとも備え、
    前記第1のモジュールは、第2の機能又は第3の機能を実行せず、前記第2のモジュールは、第1の機能又は第3の機能を実行せず、前記第3のモジュールは、第1の機能又は第2の機能を実行せず、
    システムは、さらに、
    前記信号処理モジュールへデータを送り、又は、前記信号処理モジュールからデータを受けるよう構成されており、前記第1の機能、前記第2の機能、又は、前記第3の機能を実行しない、少なくとも一つのインプットモジュール及び/又はアウトプットモジュールと
    前記第1の信号処理モジュール、前記第2の信号処理モジュール、及び、前記第3の信号処理モジュールそれぞれを互いに接続し、前記インプットモジュール及び/又はアウトプットモジュールを前記第1の信号処理モジュール、前記第2の信号処理モジュール、及び、前記第3の信号処理モジュールに接続する少なくとも三つのクロスポイントスイッチと、
    を備え、
    前記クロスポイントスイッチは、前記第1の機能、前記第2の機能、又は、前記第3の機能を実行せず、前記モジュールのいずれかの出力が他のモジュールに経路決定されるよう構成されており、これにより、当該モジュールの論理パイプラインを設定し、そして、当該論理パイプラインの中及び外のモジュールを変更し、当該論理パイプラインのシーケンス順序を変更するよう動的に構成されていることを特徴とするシステム。
  2. 請求項1に記載のシステムであって、前記信号処理モジュールは、フィルターモジュール、ディクリプションモジュール、エンクリプションモジュール、トランスコードモジュール、マルチプレクサモジュール、デマルチプレクサモジュール、及び、スケーラーモジュールからなるモジュールの群から選択されることを特徴とするシステム。
  3. 請求項1に記載のシステムであって、フィルターモジュール、ディクリプションモジュール、エンクリプションモジュール、トランスコードモジュール、マルチプレクサモジュール、デマルチプレクサモジュール、及び、スケーラーモジュールを備え、それらモジュールは、前記クロスポイントスイッチによって互いに通信することを特徴とするシステム。
  4. 請求項1に記載のシステムであって、前記インプットモジュール及び/又は前記アウトプットモジュールは、ファーストインファーストアウト(FIFO)バッファモジュール、取り外し可能なメモリ媒体、ビデオ供給モジュール、パーソナルコンピュータインターフェース(PCI)モジュール、IDEインターフェースからなる群から選択されることを特徴とするシステム。
  5. 請求項3に記載のシステムであって、ファーストインファーストアウト(FIFO)バッファモジュール、取り外し可能なメモリ媒体、ビデオ供給モジュール、パーソナルコンピュータインターフェース(PCI)モジュール、IDEインターフェースを備えることを特徴とするシステム。
  6. 請求項1に記載のシステムであって、前記信号処理モジュールは、ハイデフィニションメディアインタフェース(HDMI)受信機モジュールであることを特徴とするシステム。
  7. 請求項6に記載のシステムであって、前記受信機モジュールを画像コンポジッタモジュール又は画像ミラーモジュールの少なくとも一つに接続する汎用パイプラインスイッチを備え、前記HDMI受信機からのビデオ情報は、視覚的表示によるビデオの表示のためにディスプレイドライバモジュールへ送られることを特徴とするシステム。
JP2009534578A 2006-10-24 2007-09-25 オブジェクト指向ハードウエアのためのシステム及び方法 Expired - Fee Related JP5253404B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US85419106P 2006-10-24 2006-10-24
US60/854,191 2006-10-24
US11/726,593 US7786996B2 (en) 2006-10-24 2007-03-22 System and method for object oriented hardware including cross-point switch interconnecting modules with I/O
US11/726,593 2007-03-22
PCT/US2007/020774 WO2008115205A2 (en) 2006-10-24 2007-09-25 System and method for object oriented hardware

Publications (2)

Publication Number Publication Date
JP2010507973A JP2010507973A (ja) 2010-03-11
JP5253404B2 true JP5253404B2 (ja) 2013-07-31

Family

ID=39319572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009534578A Expired - Fee Related JP5253404B2 (ja) 2006-10-24 2007-09-25 オブジェクト指向ハードウエアのためのシステム及び方法

Country Status (7)

Country Link
US (1) US7786996B2 (ja)
EP (1) EP2095229A4 (ja)
JP (1) JP5253404B2 (ja)
KR (1) KR101384491B1 (ja)
CN (1) CN101529381B (ja)
CA (1) CA2666872C (ja)
WO (1) WO2008115205A2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009039375A2 (en) * 2007-09-20 2009-03-26 C & S Operations, Inc. Computer system
US7861017B2 (en) * 2007-10-19 2010-12-28 Sony Corporation Consumer electronics control (CEC) line enhancement method for HDMI network that selects a transfer rate from a plurality of transfer rates
US20130215069A1 (en) * 2010-10-26 2013-08-22 Tsu-Chang Lee Apparatus for network based modular electronic systems
CN102111263A (zh) * 2011-02-21 2011-06-29 山东中孚信息产业股份有限公司 一种数据流加密的方法
SE1751567A1 (sv) * 2017-12-18 2019-06-19 Komatsu Forest Ab Arbetsmaskin samt metod för att övervaka ett styrsystem vid en arbetsmaskin

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2616022B2 (ja) 1989-07-08 1997-06-04 富士ゼロックス株式会社 画像読取装置
US5546595A (en) * 1993-12-21 1996-08-13 Taligent, Inc. Object-oriented system using objects representing hardware devices, physical connectors and connections between the physical connectors for configuring a computer
US5608448A (en) * 1995-04-10 1997-03-04 Lockheed Martin Corporation Hybrid architecture for video on demand server
US6128467A (en) * 1996-03-21 2000-10-03 Compaq Computer Corporation Crosspoint switched multimedia system
US5905726A (en) * 1996-05-21 1999-05-18 Cisco Technology, Inc. Broadband communication system having a virtual circuit space switch
US6615279B1 (en) * 1997-01-29 2003-09-02 Iq Systems Central and distributed script servers in an object oriented processor array
US7062769B1 (en) * 1999-07-07 2006-06-13 National Semiconductor Corporation Object-oriented processor design and design methodologies
JP5075313B2 (ja) 2000-01-28 2012-11-21 インフィネオン テヒノロジース アクチェンゲゼルシャフト 構成可能なスペクトル拡散通信装置のためのコンフィギュレーションを生成する方法
AU2001264205A1 (en) * 2000-07-13 2002-01-30 Nds Limited Configurable hardware system
JP2002042122A (ja) * 2000-07-21 2002-02-08 Nippon Steel Corp 画像処理装置
US7657916B2 (en) 2000-07-31 2010-02-02 Cisco Technology, Inc. Digital subscriber television networks with local physical storage devices and virtual storage
EP1540848B1 (en) 2000-08-03 2009-02-11 Infineon Technologies AG Flexible tdma system architecture
JP4328905B2 (ja) * 2000-10-06 2009-09-09 学校法人東京電機大学 集積回路およびその制御方法
US7962716B2 (en) 2001-03-22 2011-06-14 Qst Holdings, Inc. Adaptive integrated circuitry with heterogeneous and reconfigurable matrices of diverse and adaptive computational units having fixed, application specific computational elements
US6925180B2 (en) 2001-09-27 2005-08-02 Sony Corporation PC card recorder
US7493375B2 (en) * 2002-04-29 2009-02-17 Qst Holding, Llc Storage and delivery of device features
FR2848043B1 (fr) 2002-12-03 2005-01-28 Philippe Guenebaud Module, systeme et procede de traitement de signaux numeriques
US7310423B2 (en) * 2003-04-24 2007-12-18 General Instrument Corporation Processing multiple encrypted transport streams
CA2489999A1 (en) * 2003-12-09 2005-06-09 Lorne M. Trottier A secure integrated media center
US8185600B2 (en) * 2003-12-29 2012-05-22 Broadcom Corporation Programming system and method for a video network
WO2006067709A1 (en) * 2004-12-22 2006-06-29 Koninklijke Philips Electronics N.V. Data processing system and method for configuring a network on an at least one integrated circuit
US7586888B2 (en) 2005-02-17 2009-09-08 Mobitrum Corporation Method and system for mesh network embedded devices
US7624417B2 (en) * 2006-01-27 2009-11-24 Robin Dua Method and system for accessing media content via the internet

Also Published As

Publication number Publication date
CA2666872C (en) 2014-11-18
US7786996B2 (en) 2010-08-31
JP2010507973A (ja) 2010-03-11
WO2008115205A2 (en) 2008-09-25
EP2095229A2 (en) 2009-09-02
CN101529381B (zh) 2013-06-19
US20080098438A1 (en) 2008-04-24
KR20090082194A (ko) 2009-07-29
KR101384491B1 (ko) 2014-04-10
CA2666872A1 (en) 2008-09-25
CN101529381A (zh) 2009-09-09
EP2095229A4 (en) 2012-01-11
WO2008115205A3 (en) 2008-12-11

Similar Documents

Publication Publication Date Title
US7061942B2 (en) Apparatus for redundant multiplexing and remultiplexing of program streams and best effort data
US6327253B1 (en) Method and apparatus for controlling switching of connections among data processing devices
US6002687A (en) MPEG transport stream remultiplexer
CA2460521C (en) Aliasing and routing of plural mpeg data streams
US8581915B2 (en) System and method for configuring a display pipeline using a network
US7484034B2 (en) Microcontrol architecture for a system on a chip (SoC)
JP5253404B2 (ja) オブジェクト指向ハードウエアのためのシステム及び方法
JP2008544390A (ja) アドレスベースのプロデューサ回路及びコンシューマ回路間の自己同期型データストリーミング
CA2460421C (en) High speed serial data transport between communications hardware modules
US20110191572A1 (en) Configurable Access Kernel
JP2004023132A (ja) 画像音声処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130416

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees