(57)【要約】  ある実施例では、方法は、ビデオをビデオディスプレイ装置に受信する段階を有する。前記方法はまた、前記ビデオディスプレイ装置は格納モードであると決定すると、少なくとも１つのプロセッサーにより、前記ビデオをメモリーに格納する段階を有する。更に、前記方法は、前記ビデオディスプレイ装置は画像処理モードであると決定すると、少なくとも１つのプロセッサーで、前記ビデオの拡張画像処理を実行する段階を有する。
2007520115.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
ビデオディスプレイ装置にビデオを受信する段階、
前記ビデオディスプレイ装置は格納モードであると決定されると、少なくとも１つのプロセッサーにより、前記ビデオをメモリーに格納する段階、
前記ビデオディスプレイ装置は画像処理モードであると決定されると、拡張画像処理を前記ビデオに前記少なくとも１つのプロセッサーで実行する段階、
を有する、方法。
【請求項２】
前記ビデオディスプレイ装置は格納モードであると決定されると、前記ビデオを前記メモリーに格納する前に、前記少なくとも１つのプロセッサーにより、前記ビデオを圧縮する段階を更に有する、請求項１記載の方法。
【請求項３】
前記少なくとも１つのプロセッサーにより、前記ビデオを圧縮する段階は、前記少なくとも１つのプロセッサーの第１のプロセッサーにより、前記ビデオのフレーム減少を実行する段階を有する、請求項２記載の方法。
【請求項４】
前記少なくとも１つのプロセッサーにより、前記ビデオを圧縮する段階は、前記少なくとも１つのプロセッサーの第２のプロセッサーにより、前記ビデオの拡大縮小を実行する段階を有する、請求項３記載の方法。
【請求項５】
前記ビデオに拡張画像処理を実行する段階は、ゴースト低減動作を実行する段階を有する、請求項１記載の方法。
【請求項６】
前記ビデオに拡張画像処理を実行する段階は、雑音低減動作を実行する段階を有する、請求項１記載の方法。
【請求項７】
前記少なくとも１つのプロセッサーで前記ビデオに拡張画像処理を実行する段階は、前記少なくとも１つのプロセッサーの第１のプロセッサーで前記ビデオに第１の拡張画像処理動作を実行する段階、及び前記少なくとも１つのプロセッサーの第２のプロセッサーで前記ビデオに第２の拡張画像処理動作を実行する段階、を有する、請求項１記載の方法。
【請求項８】
前記第１の拡張画像処理動作の出力を前記第１のプロセッサーから前記第２のプロセッサーへ第３のプロセッサーへの経路を有する論理接続を通じて送信する段階を更に有し、前記第３のプロセッサーは、前記出力を論理接続を通じて送信する段階の一部として前記出力に処理動作を実行するよう設定されない、請求項７記載の方法。
【請求項９】
装置であって、
メモリーと結合された入力／出力インターフェース、及び
前記装置の現在のモードが画像処理モードである場合、ビデオに第１の拡張画像処理動作を実行する第１のプログラム可能なプロセッサー、を有し、及び前記第１のプログラム可能なプロセッサーは、前記装置の現在のモードが格納モードである場合、前記メモリーに前記ビデオを格納する、装置。
【請求項１０】
前記装置の現在のモードが画像処理モードである場合、前記ビデオに第２の拡張画像処理動作を実行する第２のプログラム可能なプロセッサー、を更に有し、前記装置の現在のモードが格納モードである場合、前記第２のプロセッサーは、前記ビデオを前記メモリーに格納する前に前記ビデオにビデオ圧縮動作を実行する、請求項９記載の装置。
【請求項１１】
前記ビデオ圧縮動作は、画像拡大縮小動作及びフレームレート減少動作を有するグループから選択される、請求項１０記載の装置。
【請求項１２】
前記装置の現在のモードが画像処理モードである場合、前記ビデオに第３の拡張画像処理動作を実行する第３のプログラム可能なプロセッサー、を更に有し、前記装置の現在のモードが格納モードである場合、前記第３のプロセッサーは、前記ビデオ圧縮動作の前に前記ビデオに雑音低減動作を実行する、請求項１０記載の装置。
【請求項１３】
前記装置を有するビデオディスプレイ装置のユーザーから制御入力を受信するホストプロセッサーを更に有し、前記制御入力は、現在のモードに変化を生じさせ、前記制御入力が現在のモードからの変化を生じさせる場合、前記ホストプロセッサーは、前記第１のプログラム可能なプロセッサー内のマイクロコードを更新する、請求項９記載の装置。
【請求項１４】
装置であって、
メモリー、
前記装置の現在のモードが画像処理モードである場合、ビデオに第１の拡張画像処理動作を実行し、及び前記装置の現在のモードが格納モードである場合、前記ビデオに圧縮動作を実行する、第１のプログラム可能なプロセッサー、並びに、
前記第１の拡張画像処理動作からの出力を第３のプログラム可能なプロセッサーを通る経路を有する第１の論理接続を通じて受信し、前記装置の現在のモードが画像処理モードである場合、前記ビデオに第２の拡張画像処理動作を実行し、前記装置の現在のモードが格納モードである場合、前記圧縮動作からの出力を第４のプログラム可能なプロセッサーを通る経路を有する第２の論理接続を通じて受信し、前記ビデオを前記メモリーに格納する、第２のプログラム可能なプロセッサー、
を有する、装置。
【請求項１５】
前記装置を有するビデオディスプレイ装置のユーザーから制御入力を受信するホストプロセッサーを更に有し、前記制御入力は現在のモードに変化を生じさせ、前記装置の現在のモードが格納モードである場合、前記ホストプロセッサーは前記第１の論理接続を生成し、前記装置の現在のモードが画像処理モードである場合、前記ホストプロセッサーは前記第２の論理接続を生成する、請求項１４記載の装置。
【請求項１６】
前記制御入力が現在のモードからの変化を生じさせる場合、前記ホストプロセッサーは、前記第１のプログラム可能なプロセッサー及び前記第２のプログラム可能なプロセッサー内のマイクロコードを更新する、請求項１５記載の装置。
【請求項１７】
現在のモードを格納モードにさせる前記制御入力は、前記ビデオディスプレイ装置のビデオの表示の一時停止動作である、請求項１６記載の装置。
【請求項１８】
現在のモードを格納モードにさせる前記制御入力は、前記ビデオディスプレイ装置のビデオの表示の巻き戻し動作である、請求項１６記載の装置。
【請求項１９】
システムであって、
信号を受信し、前記信号からの周波数でアナログビデオ信号を抽出するビデオチューナー、
前記アナログビデオ信号を受信し、前記アナログビデオ信号をデジタルビデオ信号へ変換する、ビデオ信号プロセッサー、
ダブルデータレート（ＤＤＲ）ランダムアクセスメモリー（ＲＡＭ）、及び
少なくとも１つのプログラム可能なプロセッサー及びホストプロセッサーを有するプログラム可能な処理装置、
を有し、
前記ホストプロセッサーは、前記システムが格納モードである場合、前記デジタルビデオ信号を圧縮しＤＤＲ  ＲＡＭに格納するよう前記少なくとも１つのプログラム可能なプロセッサーを設定し、前記ホストプロセッサーは、前記システムが画像処理モードである場合、少なくとも１つの画像処理動作を実行するよう前記少なくとも１つのプログラム可能なプロセッサーを設定する、
システム。
【請求項２０】
前記少なくとも１つのプログラム可能なプロセッサーは、前記少なくとも１つの画像処理動作を前記デジタルビデオ信号の複数のフレームに亘って実行する、請求項１９記載のシステム。
【請求項２１】
前記少なくとも１つのプログラム可能なプロセッサーの第１のプログラム可能なプロセッサーは、前記少なくとも１つの画像処理動作の第１の画像処理動作の結果をＤＤＲ  ＲＡＭに格納し、前記少なくとも１つのプログラム可能なプロセッサーの第２のプログラム可能なプロセッサーは、前記ＤＤＲ  ＲＡＭから前記結果を読み出し、前記少なくとも１つの画像処理動作の第２の画像処理動作を実行する、請求項１９記載のシステム。
【請求項２２】
前記少なくとも１つの画像処理動作は、ゴースト低減動作、時間的雑音低減動作及び空間的雑音低減動作を有するグループから選択される、請求項１９記載のシステム。
【請求項２３】
機械により実行された場合に前記機械に動作を実行させる命令を提供する機械読み取り可能な媒体であって、
ビデオをビデオディスプレイ装置へ受信する段階、
前記ビデオディスプレイ装置は格納モードであると決定されると、少なくとも１つのプロセッサーにより、前記ビデオを前記メモリーに格納する段階、及び
前記ビデオディスプレイ装置は画像処理モードであると決定されると、前記少なくとも１つのプロセッサーで、前記ビデオに拡張画像処理動作を実行する段階、
を有する、機械読み取り可能な媒体。
【請求項２４】
前記ビデオディスプレイ装置は格納モードであると決定されると、前記ビデオを前記メモリーに格納する前に、少なくとも１つのプロセッサーにより、前記ビデオを圧縮する段階を更に有する、請求項２３記載の機械読み取り可能な媒体。
【請求項２５】
前記少なくとも１つのプロセッサーにより、前記ビデオを圧縮する段階は、前記少なくとも１つのプロセッサーの第１のプロセッサーにより、前記ビデオのフレーム減少を実行する段階を有する、請求項２４記載の機械読み取り可能な媒体。
【請求項２６】
前記少なくとも１つのプロセッサーにより、前記ビデオを圧縮する段階は、前記少なくとも１つのプロセッサーの第２のプロセッサーにより、前記ビデオの拡大縮小を実行する段階を有する、請求項２５記載の機械読み取り可能な媒体。
【請求項２７】
前記ビデオに拡張画像処理を実行する段階は、ゴースト低減動作を実行する段階を有する、請求項２３記載の機械読み取り可能な媒体。
【請求項２８】
前記ビデオに拡張画像処理を実行する段階は、雑音低減動作を実行する段階を有する、請求項２３記載の機械読み取り可能な媒体。
【請求項２９】
前記少なくとも１つのプロセッサーで前記ビデオに拡張画像処理を実行する段階は、前記少なくとも１つのプロセッサーの第１のプロセッサーで前記ビデオに第１の拡張画像処理を実行する段階、及び前記少なくとも１つのプロセッサーの第２のプロセッサーで前記ビデオに第２の拡張画像処理を実行する段階、を有する、請求項２３記載の機械読み取り可能な媒体。
【請求項３０】
前記第１の拡張画像処理動作の出力を前記第１のプロセッサーから前記第２のプロセッサーへ第３のプロセッサーを通る経路を有する論理接続を通じて送信する段階を更に有し、前記第３のプロセッサーは、前記出力を論理接続を通じて送信する段階の一部として前記出力に処理動作を実行するよう設定されない、請求項２９記載の機械読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に電子データ処理に関し、より詳細には、プログラム可能なビデオ処理及びビデオ格納アーキテクチャに関する。
【背景技術】
【０００２】
多数の電子機器は、ビデオの記録及び視聴において視聴者を支援するために開発されている。このような機器の内、需要が増加している物には、ユーザーに中継テレビジョンを一時停止、巻き戻し、等を可能にするデジタルビデオレコーダーがある。
【発明の開示】
【０００３】
［発明を実施するための最良の形態］
本願は、米国特許出願１０／６０００４７号明細書（クライアント事件整理番号Ｐ１５９６１、代理人事件整理番号８８４．８９８ＵＳ１）、発明者はルイス．エー．リッピンコット（Ｌｏｕｉｓ  Ａ．  Ｌｉｐｐｉｎｃｏｔｔ）、発明の名称は「プロセッサー・ツー・プロセッサー・コミュニケーション・イン・ア・データ・ドリブン・アーキテクチャ（Ｐｒｏｃｅｓｓｏｒ  ｔｏ  Ｐｒｏｃｅｓｓｏｒ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｉｎ  ａ  Ｄａｔａ  Ｄｒｉｖｅｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）」、出願日は２００３年６月１９日、代理人は本願と同一の、米国特許出願に関連する。本願はまた、米国特許出願１０／６０００４８号明細書（クライアント事件整理番号Ｐ１５９６２、代理人事件整理番号８８４．８９９ＵＳ１）、発明者はルイス．エー．リッピンコット（Ｌｏｕｉｓ  Ａ．  Ｌｉｐｐｉｎｃｏｔｔ）、発明の名称は「コミュニケーション・ポーツ・イン・ア・データ・ドリブン・アーキテクチャ（Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｐｏｒｔｓ  ｉｎ  ａ  Ｄａｔａ  Ｄｒｉｖｅｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）」、出願日は２００３年６月１９日、代理人は本願と同一の、米国特許出願に関連する。
【０００４】
本発明の実施例は、以下の説明及び実施例を説明する図を参照して理解される。本願明細書の図では、同一の要素を表す参照番号は、複数の図面で同一の参照番号により表される。例えば、システム１００は図１にある。しかしながら、複数の図面内に示される同様の要素は、同一の参照番号を付与される。
【０００５】
プログラム可能な処理及びビデオ格納アーキテクチャの方法、装置及びシステムが説明される。以下の説明では、多くの詳細事項が説明される。しかしながら、本発明の実施例は、これらの特定の詳細を用いずに実施され得ることが理解されるだろう。他の例では、よく知られた回路、構造及び技術は、本願明細書の理解を不必要に不明瞭にすることを避けるため、詳細に示されない。本発明の実施例は、ビデオ処理及び格納に関して説明されるが、これらに制限されない。例えば、本発明の実施例は、音声、ビデオ及び／又は音声の一部であるメタデータ（例えば、関連する字幕、等）の処理及び格納を包含して良い。
【０００６】
この詳細な説明は、２つの節に分けられる。第１の節では、ハードウェア及び動作環境が説明される。第２の節では、プログラム可能なビデオ処理及びビデオ格納アーキテクチャのプログラム可能な処理装置の動作が説明される。第１及び第２の節は、更に分割されている。第１の節は、システムの説明、プログラム可能なビデオ処理装置の説明、プログラム可能なプロセッサーの説明、ポートリング及びプログラム可能なプロセッサーのポートの説明、及びプログラム可能なプロセッサー間の論理接続の説明に分かれている。第２の節は、プログラム可能なプロセッサー間のデータ送信動作の説明、及びプログラム可能な処理装置の複数の動作モードの説明に分かれている。
【０００７】
＜ハードウェア及び動作環境＞
この節では、ハードウェア及び動作環境が説明される。
【０００８】
［システムの説明］
図１は、本発明の実施例による、プログラム可能なビデオ処理及びビデオ格納アーキテクチャを有するシステム構成の簡単なブロック図を示す。図１に示されるように、システム１００は、ビデオチューナー１０２、ビデオ信号プロセッサー１０４、プログラム可能な処理装置１０６、メモリー１０８、ビデオディスプレイプロセッサー１１０、及びビデオディスプレイ１１２を有する。ある実施例では、システム１００は、異なる種類のテレビジョン、コンピューターモニター等のような、複数の異なる視聴装置内に存在し得る要素を有することができる。別の実施例では、一部の要素は、セットトップボックス、メディアセンター、等の一部であって良い。例えば、ビデオチューナー１０２、ビデオ信号プロセッサー１０４、プログラム可能な処理装置１０６及びメモリー１０８は、セットトップボックス内にあって良い。同時にビデオディスプレイプロセッサー１１０及びビデオディスプレイ１１２は、ディスプレイ装置（例えば、テレビジョン）内にあって良い。ある実施例では、メモリー１０８は、異なる種類のランダムアクセスメモリー（ＲＡＭ）であって良い。例えば、メモリー１０８は、同期型ＤＲＡＭ（ＳＤＲＡＭ）、ＤＲＡＭ、ダブルデータレート（ＤＤＲ）同期型ＤＲＡＭ（ＳＤＲＡＭ）、等であって良い。
【０００９】
ビデオチューナー１０２はビデオ信号プロセッサー１０４と結合される。ビデオ信号プロセッサー１０４はプログラム可能な処理装置１０６と結合される。プログラム可能な処理装置１０６はメモリー１０８及びビデオディスプレイプロセッサー１１０と結合される。ビデオディスプレイプロセッサー１１０はビデオディスプレイ１１２と結合される。ビデオチューナー１０２は信号１１４を受信するよう結合される。ある実施例では、信号１１４は無線周波数（ＲＦ）信号である。ビデオチューナー１０２は、信号１１４を受信し、信号１１４をビデオディスプレイ１１２で視聴するために現在選択されているチャネルに基づきアナログビデオ信号１１６に変換する。
【００１０】
ビデオ信号プロセッサー１０４は、アナログビデオ信号１１６を受信し、アナログビデオ信号１１６をデジタルビデオ信号１１８に変換する。ある実施例では、ビデオ信号プロセッサー１０４は、デジタルビデオ信号１１８へ変換する前に、アナログビデオ信号１１６をフィルターする。例えば、ビデオ信号プロセッサー１０４は、アナログビデオ信号１１６をフィルターし、隣接チャネルからの雑音を除去して良い。ある実施例では、ビデオ信号プロセッサー１０４は、アナログビデオ信号１１６をフィルターし、音声信号から雑音を除去する。デジタルビデオ信号１１８は、ビデオディスプレイ１１２に表示するための同期信号を有することができるデータストリームであって良い。
【００１１】
プログラム可能なビデオ処理１０６は、デジタルビデオ信号１１８を受信する。以下に更に説明されるように、ある実施例では、プログラム可能な処理装置１０６は、システム１００の現在のモードに基づき、異なる動作を実行する。このようなある実施例では、プログラム可能な処理装置１０６は、２つのモード（１）格納モード及び（２）画像処理モードの１つで動作する。格納モードでは、システム１００のユーザーは、システム１００で受信されているビデオを保存又は再生して良い。ある実施例では、プログラム可能な処理装置１０６は、ビデオをメモリー１０８に格納する。説明のため、システム１００はテレビジョンの一部であるとする。ユーザーは、信号１１４で受信されているビデオを保存して良い。例えば、ユーザーは、ビデオディスプレイ１１２で所与の時間の間に表示されているビデオを一時停止して良い。更に、格納モードでは、ユーザーは、ビデオディスプレイ１１２に表示されるビデオを再生し、それにより、到来するビデオをメモリー１０８に格納させて良い。
【００１２】
ある実施例では、ユーザーがプログラム可能な処理装置１０６を格納モードにしない場合、プログラム可能な処理装置１０６は、画像処理モードである。ある実施例では、プログラム可能な処理装置１０６は、メモリー１０８が表示のために格納されたビデオを有さない時まで、格納モードのままである。画像処理モードは、ユーザーがメモリー１０８内に保存されたビデオを再生しようとしない場合、又はユーザーがシステム１００で受信されているビデオをメモリー１０８に保存しようとしない場合、有効にされ得る。以下に更に説明されるように、このようなある実施例では、プログラム可能な処理装置１０６は、到来するビデオ信号に対し拡張ビデオ処理を実行する。このような拡張は、ゴースト発生、雑音、ドットクロール等を減少させる。プログラム可能な処理装置１０６は、メモリー１０８を利用し、到来するビデオの複数のフレームを格納して良い。例えば、プログラム可能な処理装置１０６は、複数のフレームに亘る画像の拡張を実行して良い。例えば、プログラム可能な処理装置１０６は、複数のフレームに亘り時間的雑音低減を実行して良い。プログラム可能な処理装置１０６及びその動作は、以下に詳細に説明される。
【００１３】
ビデオディスプレイプロセッサー１１０は、ビデオをプログラム可能な処理装置１０６から受信し、ビデオディスプレイ１１２に表示するためにビデオに複数の動作を実行して良い。例えば、ビデオディスプレイプロセッサー１１０は、色設定、コントラスト設定、等に基づきビデオを調整して良い。ビデオディスプレイ１１２は、ビデオディスプレイプロセッサー１１０から信号を受信するよう結合される。ビデオディスプレイ１１２は複数の異なる種類のディスプレイであって良く、ある実施例では、ビデオディスプレイ１１２は、ブラウン管（ＣＲＴ）、プラズマディスプレイ、液晶ディスプレイ（ＬＣＤ）であって良い。
【００１４】
従って、本発明の実施例は、動作モードに基づき機能の選択を提供する、柔軟なプログラム可能なアーキテクチャを有する。このような機能は、デジタルビデオレコーダーの動作及びビデオの拡張画像処理をさせる動作を有する。従って、本発明の実施例を用いるディスプレイ装置は、ブロードバンドコンテンツの画質向上と同様に、所与のチャネルの巻き戻し、一時停止、早送り及び再生の機能を提供し得る。
【００１５】
［プログラム可能な処理装置の説明］
プログラム可能な処理装置１０６のある実施例を説明する。特に図２は、本発明の実施例による、プログラム可能な処理装置の詳細なブロック図を示す。示されるように、プログラム可能な処理装置１０６は、プログラム可能なプロセッサー２０２Ａ−２０２Ｈを有する。プログラム可能なプロセッサー２０２Ａ−２０２Ｈは、ポートリング２５０Ａ−２５０Ｈをそれぞれ有する。以下に更に説明されるように、ポートリング２５０Ａ−２５０Ｈは複数のポートを有し、このポートリングを通じてプログラム可能なプロセッサー２０２Ａ−２０２Ｈはインターフェース（制御及びデータ）信号を送信する。ある実施例では、所与のポートリング２５０は８個のＩ／Ｏポートを有し、このようなＩ／Ｏポートのそれぞれは双方向接続であり、２つの独立した単方向データバスを通じてデータが同時に送信及び受信され得る。言い換えると、Ｉ／Ｏポートは、送信ポート及び受信ポートを有する。
【００１６】
プログラム可能な処理装置１０６はまた、直接メモリーアクセス（ＤＭＡ）装置２０４、ＤＭＡ装置２１０、メモリーインターフェース２０６、入力／出力（Ｉ／Ｏ）インターフェース２０８、及びホストプロセッサー２１４を有する。図２は、８個のプログラム可能なプロセッサー２０２を示すが、実施例は制限されるものではなく、より多い及び／又はより少ない数のこのような要素がプログラム可能な処理装置１０６の実施例に組み込まれて良い。ある実施例では、ホストプロセッサー２１４は、汎用プロセッサーであって良い。Ｉ／Ｏインターフェース２０８は、Ｉ／Ｏ機器又は周辺構成要素へのインターフェースをプログラム可能な処理装置１０６に提供する。Ｉ／Ｏインターフェース２０８は、如何なる適切な通信接続をプログラム可能な処理装置１０６の異なる構成要素に提供する如何なる適切なインターフェース制御部を有して良い。ある実施例のＩ／Ｏインターフェース２０８は、適切な調停及びバッファリングを複数のインターフェースの１つに提供する。
【００１７】
示されるように、プログラム可能なプロセッサー２０２Ａ−２０２Ｈの間の相互接続は、ポイントツーポイントの最も近い近隣の配置を設ける。所与のプログラム可能なプロセッサー２０２は、４個の他の構成要素（例えば、異なるプログラム可能なプロセッサー２０２、ＤＭＡ装置２０４）とプログラム可能な処理装置１０６内で物理的に接続される。言い換えると、所与のプログラム可能なプロセッサー２０２は、プログラム可能な処理装置１０６内の他の全てのプログラム可能なプロセッサー２０２と物理的に接続されない。以下に更に説明されるように、データは送信元のプログラム可能なプロセッサー２０２から宛先のプログラム可能なプロセッサー２０２へ中間のプログラム可能なプロセッサー２０２を通じて送信されて良い。ある実施例では、中間の一連のプログラム可能なプロセッサー２０２を通じた送信では、データは中間のプログラム可能なプロセッサー２０２の受信ポートで受信され、ポートリング２５０を通じて、中間のプログラム可能なプロセッサー２０２の送信ポートで出力される。従って、如何なる中間のプログラム可能なプロセッサー２０２内のプロセッサー要素も、送信元から宛先のプログラム可能なプロセッサー２０２へのデータ送信の一部として、データに対し処理動作を実行しない。
【００１８】
ポートリング２５０Ａを通じ、プログラム可能なプロセッサー２０２ＡはＩ／Ｏインターフェース２０８と２つのＩ／Ｏポートを通じて結合され、またプログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄと異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ａを通じ、プログラム可能なプロセッサー２０２ＡはＤＭＡ装置２０４と２つの他の異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ａを通じ、プログラム可能なプロセッサー２０２Ａはまた、プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂと２つの更に異なるＩ／Ｏポートを通じて結合される。更に、ポートリング２５０Ａを通じ、プログラム可能なプロセッサー２０２Ａは、プログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅと２つの他のＩ／Ｏポートを通じて結合される。
【００１９】
ポートリング２５０Ｂを通じ、プログラム可能なプロセッサー２０２ＢはＤＭＡ装置２０４と２つの他の異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｂを通じ、プログラム可能なプロセッサー２０２Ｂはまた、プログラム可能なプロセッサー２０２Ｃのポートリング２５０Ｃと２つの他の異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｂを通じ、プログラム可能なプロセッサー２０２Ｂはまた、プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆと２つの更に異なるＩ／Ｏポートを通じて結合される。
【００２０】
ポートリング２５０Ｃを通じ、プログラム可能なプロセッサー２０２ＣはＤＭＡ装置２０４と２つの他の異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｃを通じ、プログラム可能なプロセッサー２０２Ｃはまた、プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄと２つの他の異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｃを通じ、プログラム可能なプロセッサー２０２Ｃはまた、プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇと２つの更に異なるＩ／Ｏポートを通じて結合される。
【００２１】
ポートリング２５０Ｄを通じ、プログラム可能なプロセッサー２０２ＤはＤＭＡ装置２０４と２つの他の異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｄを通じ、プログラム可能なプロセッサー２０２ＤはＤＭＡ装置２１０と２つのＩ／Ｏポートを通じて結合され、またプログラム可能なプロセッサー２０２Ａのポートリング２５０Ａと異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｄを通じ、プログラム可能なプロセッサー２０２Ｄはまた、プログラム可能なプロセッサー２０２Ｈのポートリング２５０Ｈと２つの更に異なるＩ／Ｏポートを通じて結合される。
【００２２】
ポートリング２５０Ｅを通じ、プログラム可能なプロセッサー２０２ＥはＩ／Ｏインターフェース２０８と２つのＩ／Ｏポートを通じて結合され、またプログラム可能なプロセッサー２０２Ｈのポートリング２５０Ｈと異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｅを通じ、プログラム可能なプロセッサー２０２Ｅはまた、プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆと２つの更に異なるＩ／Ｏポートを通じて結合される。更に、ポートリング２５０Ｅを通じ、プログラム可能なプロセッサー２０２Ｅは、プログラム可能なプロセッサー２０２Ａのポートリング２５０Ａと２つの他のＩ／Ｏポートを通じて結合される。
【００２３】
ポートリング２５０Ｆを通じ、プログラム可能なプロセッサー２０２Ｆはまた、プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇと２つの他の異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｆを通じ、プログラム可能なプロセッサー２０２Ｆはまた、プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂと２つの更に異なるＩ／Ｏポートを通じて結合される。
【００２４】
ポートリング２５０Ｇを通じ、プログラム可能なプロセッサー２０２Ｇはまた、プログラム可能なプロセッサー２０２Ｈのポートリング２５０Ｈと２つの異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｇを通じ、プログラム可能なプロセッサー２０２Ｇはまた、プログラム可能なプロセッサー２０２Ｃのポートリング２５０Ｃと２つの更に異なるＩ／Ｏポートを通じて結合される。
【００２５】
ポートリング２５０Ｈを通じ、プログラム可能なプロセッサー２０２ＨはＤＭＡ装置２１０と２つのＩ／Ｏポートを通じて結合され、またプログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅと異なるＩ／Ｏポートを通じて結合される。ポートリング２５０Ｈを通じ、プログラム可能なプロセッサー２０２Ｈはまた、プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄと２つの更に異なるＩ／Ｏポートを通じて結合される。
【００２６】
Ｉ／Ｏインターフェース２０８はまた、異なる外部装置と外部から結合されて良い。ある実施例では、Ｉ／Ｏインターフェース２０８は、ビデオ信号プロセッサー１０４からのデジタルビデオ信号１１８と外部から結合され、またデジタルビデオ信号１１８をビデオディスプレイプロセッサー１１０へ送信するために外部から結合される。ある実施例では、Ｉ／Ｏインターフェース２０８は、他のプログラム可能な処理装置１０６と外部から結合されて良い。これにより、共に画像データを通信及び処理可能な複数のプログラム可能なプロセッサー２０２の数を拡張可能にする。ある実施例では、複数のプログラム可能な処理装置１０６は、共に連結され複数の異なるプログラム可能な処理装置１０６に亘りデータ処理を可能にして良い。
【００２７】
ＤＭＡ装置２０４はメモリーインターフェース２０６と結合される。メモリーインターフェース２０６はメモリー１０８と結合される。以下に更に説明されるように、（プログラム可能なプロセッサー２０２の１つからの処理動作結果からの出力のような）データは、ＤＭＡ装置２０４及びメモリーインターフェース２０６を通じメモリー１０８へ格納及び読み出し可能である。
【００２８】
ホストプロセッサー２１４は内部グローバルバス２１６と結合される。図２には示されないが、内部グローバルバス２１６は、プログラム可能な処理装置１０６内の異なる構成要素と結合される。従って、ホストプロセッサー２１４は、プログラム可能な処理装置１０６内の異なる構成要素のそれぞれと直接通信／設定して良い。
【００２９】
［プログラム可能なプロセッサーの説明］
図３は、本発明の実施例による、プログラム可能なプロセッサーの詳細なブロック図を示す。特に図３は、本発明の実施例による、プログラム可能なプロセッサー２０２の詳細なブロック図を示す。
【００３０】
プログラム可能なプロセッサー２０２は、入力プロセッサー要素３０２、出力プロセッサー要素３０４、複数のプロセッサー要素３０６Ａ−３０６Ｃ、複数のレジスター３０８、複数のアクセラレーター装置３１０Ａ−３１０Ｂ、メモリー３１４及びメモリー制御部３１６を有する。入力プロセッサー要素３０２、出力プロセッサー要素３０４、プロセッサー要素３０６Ａ−３０６Ｃ、アクセラレーター装置３１０Ａ−３１０Ｂ及びメモリー３１４（メモリー制御部３１６を通じて）は、レジスター３０８と結合される。レジスター３０８は、プロセッサー要素３０２、３０４及び３０６、アクセラレーター装置３１０Ａ−３１０Ｂ及びメモリー３１４に、データを交換させ、及び所与のプロセッサー要素３０２、３０４及び３０６及びアクセラレーター装置３１０Ａ−３１０Ｂに汎用レジスターとして利用され得る。更に、プロセッサー要素３０２、３０４及び３０６及びアクセラレーター装置３１０Ａ−３１０Ｂは、複数のローカルレジスター（示されない）を有して良い。
【００３１】
ある実施例では、入力プロセッサー要素３０２、出力プロセッサー要素３０４及びプロセッサー要素３０６Ａ−３０６Ｃは、命令メモリー及びデータ処理のための論理演算装置（ＡＬＵ）を有する。入力プロセッサー要素３０２及び出力プロセッサー要素３０４は、プログラム可能なプロセッサー２０２とポートリング２５０を通じ、それぞれプログラム可能なプロセッサー２０２から入力されるデータを受信するため及び出力されるデータを送信するために結合される（プログラム可能なプロセッサー２０２は、図４−９を用い以下に詳細に説明される）。データの入力及び出力に加え、入力プロセッサー要素３０２及び／又は出力プロセッサー要素３０４は、（プロセッサー要素３０６Ａ−３０６Ｃにより提供される処理と同様に）データを処理して良い。異なるプロセッサー要素３０６Ａ−３０６Ｃは、汎用プロセッサー要素又は専用プロセッサー要素であって良い。例えば、プロセッサー要素３０６Ａ−３０６Ｃは、積和演算（ＭＡＣ）機能のための命令セットと共に汎用処理のための命令セットを有するＭＡＣプロセッサー要素であって良い。異なるプロセッサー要素３０６Ａ−３０６Ｃは、汎用プロセッサー要素又は専用プロセッサー要素の組み合わせであって良い。例えば、プロセッサー要素３０６Ａ及び３０６Ｃは、ＭＡＣプロセッサー要素であって良く、同時にプロセッサー要素３０６Ｂは汎用プロセッサー要素であって良い。図３は、プログラム可能なプロセッサー２０２内の５個のプロセッサー要素を示すが、他の実施例では、より少ない又はより多い数のこのような要素がプログラム可能なプロセッサー２０２に組み込まれて良い。
【００３２】
入力プロセッサー要素３０２は、入力ポートとしてポートインターフェースを有する汎用プロセッサー要素である。ある実施例では、入力プロセッサー要素３０２内の命令は、レジスター３０８及び入力プロセッサー要素３０２内のローカルレジスターと共に追加の入力オペランドとしてポートを有する。出力プロセッサー要素３０４は、出力ポートとしてポートインターフェースを有する汎用プロセッサー要素である。ある実施例では、出力プロセッサー要素３０４内の命令は、レジスター３０８及び出力プロセッサー要素３０４内のローカルレジスターと共に追加の出力オペランドとしてポートを有する。
【００３３】
［プログラム可能なプロセッサーのポートリング及びポート］
図４は、本発明の実施例による、プログラム可能なプロセッサーのポートリング及び関連ポートを示す。プログラム可能なプロセッサー２０２は、ポートリング２５０を通じポート４０４Ａ−４０４Ｈへデータを入力及び出力するよう結合される。示されるように、ある実施例では、ポート４０４Ａ−４０４Ｈは、１つのプログラム可能なプロセッサー２０２から（異なるプログラム可能なプロセッサー２０２、ＤＭＡ装置２０４、Ｉ／Ｏインターフェース２０８のような）異なる装置へデータを流す双方向データ接続である。
【００３４】
所与のポート４０４Ａ−４０４Ｈは、それぞれポート４０４へデータを受信及び４０４からデータを送信する、受信ポート及び送信ポートを有する。特に、ポート４０４Ａ−４０４Ｈは、受信ポート４０６Ａ−４０６Ｈ及び送信ポート４０８Ａ−４０８Ｈをそれぞれ有する。受信ポートの実施例及び送信ポートの実施例は、それぞれ図６及び図７を用い以下に説明される。ある実施例では、プログラム可能なプロセッサー２０２は、（図２に示されるような）隣接する（最も近い近隣の）プログラム可能なプロセッサー２０２とポート４０４Ａ−４０４Ｈを通じて結合される。
【００３５】
ＦＩＦＯメモリーを有する（ポート４０４の１つの中の）受信及び送信ポートのある実施例を説明する。図５は、本発明の実施例による、送信機又は受信機内のＦＩＦＯメモリー及びメモリーの関連インターフェース信号を示す。
【００３６】
示されるように、ＦＩＦＯメモリー５００は、ｉｎｉｔ＿ｉｎ信号５０６を受信し、ｉｎｉｔ＿ｏｕｔ信号５１４を送信する。これらの信号は（以下に詳細に説明されるように）、異なるプログラム可能なプロセッサー２０２を通じてデータを送信するために用いられる論理接続の初期化及び生成のための制御信号である。ＦＩＦＯメモリー５００は、ＦＩＦＯメモリー５００のエントリーの１つにデータを入力するｄａｔａ＿ｉｎ信号５０２を受信する。
【００３７】
ＦＩＦＯメモリー５００はまた、複数の許可／要求信号を示す。以下に更に説明されるように、ある実施例では、ポート４０４はハンドシェイクプロトコルを用い、これら許可／要求信号に基づきデータを送信する。従って、この許可／送信プロトコルは、データ駆動型アーキテクチャを可能にする。このアーキテクチャでは、画像処理動作は、以上のような動作が実行されるデータにより駆動される。
【００３８】
ＦＩＦＯメモリー５００は、ｒｅｑｕｅｓｔ＿ｉｎ信号５０４を受信する。ｒｅｑｕｅｓｔ＿ｉｎ信号５０４は、ＦＩＦＯメモリー５００のエントリーにデータを入力する異なるポートのＦＩＦＯメモリーからの制御信号である。ＦＩＦＯメモリー５００は、ｒｅｑｕｅｓｔ＿ｉｎ信号５０４に応じて、ｇｒａｎｔ＿ｉｎ信号５０８をこのＦＩＦＯメモリーへ送信し、このＦＩＦＯメモリーがＦＩＦＯメモリー５００へデータを送信して良いことを示す。
【００３９】
ＦＩＦＯメモリー５００は、ｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２を異なるポートのＦＩＦＯメモリーへ送信し、本ＦＩＦＯメモリー５００からこの異なるＦＩＦＯメモリーへのデータ送信を要求する。本ＦＩＦＯメモリー５００は、ｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２に応じて、ｇｒａｎｔ＿ｏｕｔ信号５１６をこの異なるＦＩＦＯメモリーから受信する。このｇｒａｎｔ＿ｏｕｔ信号５１６は、異なるＦＩＦＯメモリーが本ＦＩＦＯメモリー５００からのデータを受信すると、本ＦＩＦＯメモリー５００に伝える。本ＦＩＦＯメモリー５００は、ｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２に応じてｄａｔａ＿ｏｕｔ信号５１０を送信し、（ｇｒａｎｔ＿ｏｕｔ信号５１６を通じ）データ送信を許可された異なるＦＩＦＯメモリーへデータを送信する。
【００４０】
図６は、本発明の実施例による、関連インターフェース信号と共に受信ポートの詳細なブロック図を示す。特に、図６は、（ＦＩＦＯ６０４を有する）受信ポート４０６及び関連するインターフェース信号のある実施例を示す。受信ポート４０６は、ポート４０４（図４に示される）の１つの中にあり、プログラム可能なプロセッサー２０２内へデータを受信する。
【００４１】
受信ＦＩＦＯ６０４は、インターフェース信号（ｇｒａｎｔ＿ｉｎ信号５０８、ｄａｔａ＿ｉｎ信号５０２、ｒｅｑｕｅｓｔ＿ｉｎ信号５０４及びｉｎｉｔ＿ｉｎ信号５０６）を、プログラム可能なプロセッサー２０２のポートリング２５０の外部にある送信ポート４０８から受信及び送信する。受信ＦＩＦＯ６０４はまた、インターフェース信号（複数のｇｒａｎｔ＿ｏｕｔ信号５１６Ａ−５１６Ｎ、ｄａｔａ＿ｏｕｔ信号５１０、ｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２及びｉｎｉｔ＿ｏｕｔ信号５１４）を、プログラム可能なプロセッサー２０２のポートリング２５０の内部にある送信ポート４０８又はプログラム可能なプロセッサー２０２内のプロセッサー要素から受信及び送信する。示されるように、ｇｒａｎｔ＿ｏｕｔ信号５１６Ａ−５１６Ｎは、マルチプレクサー６０２に受信される。受信ポート４０６は、選択信号６０６を用い、マルチプレクサー６０２に、受信ＦＩＦＯ６０４へ入力されるべきｇｒａｎｔ＿ｏｕｔ信号５１６Ａ−５１６Ｎの１つを選択させる。以上に説明されたように、ホストプロセッサー２１４は、プログラム可能なプロセッサー２０２を設定する。そしてプログラム可能なプロセッサー２０２内の１つのプロセッサー要素からの出力は、論理接続を通じて異なるプログラム可能なプロセッサー２０２内の異なるプロセッサー要素により処理されるために入力されて良い。従って、ホストプロセッサー２１４は、受信ポート４０６に選択信号６０６をアサートさせ、適切な送信ポート４０８／入力プロセッサー要素３０２からのｇｒａｎｔ＿ｏｕｔ信号５１６を選択させる。
【００４２】
説明されたように、第１のプログラム可能なプロセッサー２０２内の第１の処理動作からの出力は、第２のプログラム可能なプロセッサー２０２へ送られ、第２の処理動作が実行されて良い。ある実施例によると、この出力は、複数のプログラム可能なプロセッサー２０２の複数のポート４０４を有する論理接続を通じて送信される。ある実施例では、初期化信号は、データが所与の論理接続へ送信される異なるポート４０４を通じて送信される。以上に説明されたように、プログラム可能な処理装置１０６のアーキテクチャでは、所与のプログラム可能なプロセッサー２０２は、他の全てのプログラム可能なプロセッサー２０２に直接接続されない。むしろ、プログラム可能なプロセッサー２０２は、隣接する（最も近い近隣の）装置と接続される。従って、データが１つのプログラム可能なプロセッサー２０２から別のプログラム可能なプロセッサー２０２へ送信される場合、論理接続は異なるプログラム可能なプロセッサー２０２の異なるポートを通じて確立され、データは送信元のプログラム可能なプロセッサー２０２から宛先のプログラム可能なプロセッサー２０２へ伝達する。
【００４３】
再び図２を参照する。プログラム可能なプロセッサー２０２Ｃ内のプロセッサー要素からの出力は、プログラム可能なプロセッサー２０２Ｅ内のプロセッサー要素へ送信され、更なる処理が行われるとする。複数の論理接続の１つは、プログラム可能なプロセッサー２０２Ｃからプログラム可能なプロセッサー２０２Ｅへ確立されて良い。論理接続のある例は、プログラム可能なプロセッサー２０２Ｃからプログラム可能なプロセッサー２０２Ｂへ、プログラム可能なプロセッサー２０２Ａへ、そしてプログラム可能なプロセッサー２０２Ｅへと形成される。論理接続の別の例は、プログラム可能なプロセッサー２０２Ｃからプログラム可能なプロセッサー２０２Ｇへ、プログラム可能なプロセッサー２０２Ｆへ、そしてプログラム可能なプロセッサー２０２Ｅへと形成される。ある実施例では、ホストプロセッサー２１４は、同一の通信経路を利用し得る他のアクティブな論理接続に基づき、論理接続の選択を決定する。例えば、他の論理接続がプログラム可能なプロセッサー２０２Ｂからプログラム可能なプロセッサー２０２Ａの間のポートを利用している場合、ホストプロセッサー２１４は、論理接続の後者の例を選択しデータ処理動作の待ち時間を減少して良い。
【００４４】
ある実施例では、データが発生するポート４０４は、初期化される。この初期化信号は、完全な論理接続を通じて伝達され、それによりこの所与の論理接続のデータ経路を初期化する。この初期化信号は登録され、長い論理接続を通ることから生じる累積伝達遅延を防ぐため、初期化信号がデータであるかのように、異なるポート４０４を通過する。ある実施例では、この初期化は、論理接続で用いられる受信及び送信ＦＩＦＯのフラッシングを有して良い。従って、如何なるデータも前の論理接続からこれらＦＩＦＯ内にあり、この初期化はＦＩＦＯからデータを削除させる。ある実施例では、これら異なるインターフェース信号は、このような方法で処理され、論理接続を通じた大きな連結遅延を防ぐ。従って、異なるプログラム可能なプロセッサー２０２間の経路選択は、論理接続のポートである異なるポートに登録されたポイントツーポイント接続を通じて処理される。
【００４５】
図７（Ａ）−（Ｇ）は、本発明の実施例による、異なる送信ポートと通信する受信ポートの詳細なブロック図を示す。特に、図７（Ａ）−（Ｄ）は、ポートリング２５０Ｂの外部にある送信ポート４０８Ａと通信する受信ポート４０６の詳細なブロック図を示す。特に、図７（Ｅ）−（Ｇ）は、ポートリング２５０Ｂの内部にある送信ポート４０８Ｂと通信する受信ポート４０６の詳細なブロック図を示す。
【００４６】
図７（Ａ）−（Ｇ）は、プログラム可能なプロセッサー２０２Ａ及びプログラム可能なプロセッサー２０２Ｂを示す。プログラム可能なプロセッサー２０２Ａ及びプログラム可能なプロセッサー２０２Ｂは、ポートリング２５０Ａ及びポートリング２５０Ｂをそれぞれ有する。更に、プログラム可能なプロセッサー２０２Ａ−２０２Ｂは、複数の受信及び送信ポートを有する。特に、所与のポート４０４（図４に示される）は、送信ポート及び受信ポートを有する。しかしながら、明確化のため、図７（Ａ）−（Ｇ）は、所与のポート４０４の送信ポート又は受信ポートの何れかを示す。プログラム可能なプロセッサー２０２Ａのポートリング２５０Ａは、送信ポート４０８Ａを有する。プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂは、受信ポート４０６及び送信ポート４０８Ｂを有する。
【００４７】
図７（Ａ）では、送信ポート４０８Ａは、ｉｎｉｔ＿ｉｎ信号５０６を受信ポート４０６へ送信し、（ＦＩＦＯ自身と受信ポート４０６の間の）論理接続の一部であるＦＩＦＯをフラッシュする。更に、図７（Ａ）では、受信ポート４０６はこの初期化を、論理接続を通じ、ｉｎｉｔ＿ｏｕｔ信号５１４として送信ポート４０８Ｂへポートリング２５０Ｂを通じて送信する。従って、論理接続は、送信ポート４０８Ａ、受信ポート４０６Ａ及び送信ポート４０８Ｂを有する。この論理接続は、複数の他のプログラム可能なプロセッサー２０２を有して良い。従って、この初期化は、送信ポート４０８Ａにより異なるプログラム可能なプロセッサー２０２からポートリング２５０Ａの内部受信ポート４０６の１つを通じて受信されて良い。更に、送信ポート４０８Ｂは、この初期化を別のプログラム可能なプロセッサー２０２へ送信して良い。論理接続の初期化が完了すると、データはこの論理接続を通じて送信されて良い。
【００４８】
図７（Ｂ）では、送信ポート４０８Ａはｒｅｑｕｅｓｔ＿ｉｎ信号５０４を用い受信ポート４０６へのデータ入力を要求する。図７（Ｃ）では、ｒｅｑｕｅｓｔ＿ｉｎ信号５０４に応じ、及び受信ポート４０６の受信ＦＩＦＯ６０４が格納可能になった後、受信ポート４０６は、ｇｒａｎｔ＿ｉｎ信号５０８を用い、送信ポート４０８Ａは受信ポート４０６へデータを送信して良いことを送信ポート４０８Ａに示す。図７（Ｄ）では、送信ポート４０８Ａは、ｄａｔａ＿ｉｎ信号５０２を用い、ｒｅｑｕｅｓｔ＿ｉｎ信号５０４及びｇｒａｎｔ＿ｉｎ信号５１６がクロック信号を制御するプログラム可能な処理装置１０６のアクティブ端でアクティブな場合、受信ポート４０６の受信ＦＩＦＯ６０４に格納するデータを送信する。
【００４９】
更に図６に示されるように、受信ポート４０６は、共に同一のポートリング２５０の一部である送信ポート４０８Ｂからのインターフェース信号を送信及び受信する。図７（Ｅ）−（Ｇ）は、以上のような通信を示す。
【００５０】
図７（Ｅ）では、受信ポート４０６はｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２を用い送信ポート４０８Ｂ（ポートリング２５０Ｂの内部送信ポートの１つ）へのデータ入力を要求する。図７（Ｆ）では、ｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２に応じ、送信ポート４０８Ｂは、ｇｒａｎｔ＿ｏｕｔ信号５１６を受信ポート４０６へ送り返す。図７（Ｇ）では、受信ポート４０６は、ｄａｔａ＿ｏｕｔ信号５１０を用い、ｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２及びｇｒａｎｔ＿ｏｕｔ信号５１６がクロック信号を制御するプログラム可能な処理装置１０６のアクティブ端でアクティブな場合、送信ポート４０８Ｂへるデータを送信する。
【００５１】
更に図７（Ｅ）−（Ｇ）には示されないが、受信ポート４０６は、これらのインターフェース信号（ｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２、ｇｒａｎｔ＿ｏｕｔ信号５１６及びｄａｔａ＿ｏｕｔ信号５１０）を、入力プロセッサー要素３０２（図３に示される）へ／からプログラム可能なプロセッサー２０２Ｂへ送信／受信する。受信ＦＩＦＯ６０４内のデータが、プログラム可能なプロセッサー２０２内のプロセッサー要素（入力プロセッサー要素３０２、出力プロセッサー要素３０４及び／又はプロセッサー要素３０６Ａ−３０６Ｃ）の１つに入力され処理される場合、受信ポート４０６は、ｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２を入力プロセッサー要素３０２へ送信する。受信ポート４０６内のデータが、プログラム可能なプロセッサー２０２（例えば、異なるプログラム可能なプロセッサー２０２、ＤＭＡ装置２０４の１つ又は外部インターフェース２０８の１つ）の外部の装置へ送信される場合、受信ポート４０６は、ｒｅｑｕｅｓｔ＿ｏｕｔ号５１２を適切な送信ポート４０８（論理接続の一部であるポート）へ送信する。
【００５２】
図８は、本発明の実施例による、関連インターフェース信号と共に送信ポートの詳細なブロック図を示す。特に、図８は、（送信ＦＩＦＯ８０６を有する）送信ポート４０８及び関連するインターフェース信号のある実施例を示す。送信ポート４０８は、ポート４０４（図４に示される）の１つの中にあり、プログラム可能なプロセッサー２０２内からデータを送出する。
【００５３】
示されるように、複数のｉｎｉｔ＿ｉｎ信号５０６Ａ−５０６Ｈ、複数のｄａｔａ＿ｉｎ信号５０２Ａ−５０２Ｈ及び複数のｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ａ−５０４Ｈは、このプログラム可能なプロセッサー２０２の内部にある（つまりプログラム可能なプロセッサー２０２のポートリング２５０の内部にある）受信ポート４０６の１つから、送信ポート４０８へ入力される。更に、ｇｒａｎｔ＿ｏｕｔ信号５１６、ｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２、ｄａｔａ＿ｏｕｔ信号５１０及びｉｎｉｔ＿ｏｕｔ信号５１４は、送信ポート４０８から、このプログラム可能なプロセッサー２０２のポートリング２５０の外部にある受信ポート４０６へ出力される。
【００５４】
送信ＦＩＦＯ８０６は、インターフェース信号（複数のｉｎｉｔ＿ｉｎ信号５０６Ａ−５０６Ｈ、複数のｄａｔａ＿ｉｎ信号５０２Ａ−５０２Ｈ及び複数のｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ａ−５０４Ｈ）を、それぞれマルチプレクサー８０４Ａ、マルチプレクサー８０４Ｂ及びマルチプレクサー８０４Ｃを通じて、プログラム可能なプロセッサー２０２のポートリング２５０の内部にある複数の受信ポート又は出力プロセッサー要素３０４（図８に示されない）から受信するよう結合される。
【００５５】
図９（Ａ）−（Ｅ）は、本発明の実施例による、異なるインターフェース信号を使用する異なる受信ポートと通信する送信ポートの詳細なブロック図を示す。特に図９（Ａ）は、送信ポート４０８が接続されているプログラム可能なプロセッサー２０２のポートリング２５０の内部にある要素からインターフェース信号を受信する送信ポート４０８の詳細なブロック図を示す。図９（Ｂ）−（Ｅ）は、送信ポート４０８が接続されているプログラム可能なプロセッサー２０２のポートリング２５０の外部にある受信ポート４０６からインターフェース信号を受信する送信ポート４０８の詳細なブロック図を示す。
【００５６】
図９（Ａ）−（Ｅ）は、プログラム可能なプロセッサー２０２Ａ及びプログラム可能なプロセッサー２０２Ｂを示す。プログラム可能なプロセッサー２０２Ａ及びプログラム可能なプロセッサー２０２Ｂは、ポートリング２５０Ａ及びポートリング２５０Ｂをそれぞれ有する。更に、プログラム可能なプロセッサー２０２Ａ−２０２Ｂは、複数の受信及び送信ポートを有する。特に、所与のポート４０４（図４に示される）は、送信ポート及び受信ポートを有する。しかしながら、明確化のため、図９（Ａ）−（Ｅ）は、所与のポート４０４の送信ポート又は受信ポートの何れかを示す。プログラム可能なプロセッサー２０２Ａのポートリング２５０Ａは、受信ポート４０６Ｂ−４０６Ｈ及び送信ポート４０８を有する。プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂは、受信ポート４０６Ａを有する。
【００５７】
図９（Ａ）では、（プログラム可能なプロセッサー２０２内の）出力プロセッサー要素３０４は、ｉｎｉｔ＿ｉｎ信号５０６Ａ、ｄａｔａ＿ｉｎ信号５０２Ａ及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ａを送信するよう結合される。受信ポート４０６Ｂは、ｉｎｉｔ＿ｉｎ信号５０６Ｂ、ｄａｔａ＿ｉｎ信号５０２Ｂ及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ｂを送信する。受信ポート４０６Ｃは、ｉｎｉｔ＿ｉｎ信号５０６Ｃ、ｄａｔａ＿ｉｎ信号５０２Ｃ及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ｃを送信する。受信ポート４０６Ｄは、ｉｎｉｔ＿ｉｎ信号５０６Ｄ、ｄａｔａ＿ｉｎ信号５０２Ｄ及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ｄを送信する。受信ポート４０６Ｅは、ｉｎｉｔ＿ｉｎ信号５０６Ｅ、ｄａｔａ＿ｉｎ信号５０２Ｅ及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ｅを送信する。受信ポート４０６Ｆは、ｉｎｉｔ＿ｉｎ信号５０６Ｆ、ｄａｔａ＿ｉｎ信号５０２Ｆ及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ｆを送信する。受信ポート４０６Ｇは、ｉｎｉｔ＿ｉｎ信号５０６Ｇ、ｄａｔａ＿ｉｎ信号５０２Ｇ及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ｇを送信する。受信ポート４０６Ｈは、ｉｎｉｔ＿ｉｎ信号５０６Ｈ、ｄａｔａ＿ｉｎ信号５０２Ｈ及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４Ｈを送信する。
【００５８】
図８では、送信ポート４０８内の送信ＦＩＦＯ８０６は、選択信号８０２を用い、マルチプレクサー８０４Ａ−８０４Ｃにｉｎｉｔ＿ｉｎ信号５０６の１つ、ｄａｔａ＿ｉｎ信号５０２の１つ及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４の１つを選択させる。以上に説明されたように、ホストプロセッサー２１４は、プログラム可能な処理装置１０６を設定する。そしてプログラム可能なプロセッサー２０２内の１つのプロセッサー要素からの出力は、論理接続を通じて異なるプログラム可能なプロセッサー２０２内の異なるプロセッサー要素により処理されるために入力されて良い。従って、ホストプロセッサー２１４は、送信ＦＩＦＯ８０６に選択信号８０２をアサートさせ、適切な送信元からのｉｎｉｔ＿ｉｎ信号５０６、ｄａｔａ＿ｉｎ信号５０２及びｒｅｑｕｅｓｔ＿ｉｎ信号５０４を選択させる。説明のため再び図２を参照する。受信ポートがデータをプログラム可能なプロセッサー２０２Ｂへ受信し、プログラム可能なプロセッサー２０２Ｂ内の送信ポート４０８を通じてプログラム可能なプロセッサー２０２Ａ内の受信ポートへデータを出力する場合、ホストプロセッサー２１４は、この送信ポート４０８を設定し、この受信ポートから選択信号６０６を選択させる。
【００５９】
従って、選択された受信ポート４０６（又は選択された出力プロセッサー要素３０４）は、ｉｎｉｔ＿ｉｎ信号５０６を用い、論理接続を初期化する。ある実施例では、この初期化は、論理接続で用いられる受信及び送信ＦＩＦＯのフラッシングを有して良い。従って、如何なるデータも（論理接続の前に）これらＦＩＦＯ内にあり、この初期化はＦＩＦＯからデータを削除させる。更に、選択された受信ポート４０６（又は選択された出力プロセッサー要素３０４）は、ｒｅｑｕｅｓｔ＿ｉｎ信号５０４を用い、送信ＦＩＦＯ８０６への送信ポート４０８宛のデータを入力するよう要求する。選択された受信ポート４０６（又は選択された出力プロセッサー要素３０４）は、ｄａｔａ＿ｉｎ信号５０２を用い、送信ＦＩＦＯ８０６へデータを送信する。
【００６０】
更に図８に示されるように、送信ポート４０８は、異なるプログラム可能なプロセッサー２０２（プログラム可能なプロセッサー２０２Ｂ）の受信ポート４０６Ａからインターフェース信号を送信及び受信する。図９（Ｂ）−（Ｅ）は、以上のような通信を示す。
【００６１】
図９（Ｂ）では、送信ポート４０８は、ｉｎｉｔ＿ｏｕｔ信号５１４を受信ポート４０６Ａへ出力する。受信ポート４０６Ａでは、（以上に説明されたように）データ送信に先立ち論理接続が生成される。図９（Ｃ）では、送信ポート４０８はｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２を出力し受信ポート４０６Ａの受信ＦＩＦＯへのデータ入力を要求する。図９（Ｄ）では、それに応じて、受信ポート４０６Ａの受信ＦＩＦＯ内の領域が利用可能になった後、受信ポート４０６Ａは、送信ポート４０８により受信されるｇｒａｎｔ＿ｏｕｔ信号５１６を出力する。図９（Ｅ）では、それに応じて、送信ポート４０８は、送信ＦＩＦＯ８０６から受信ポート４０６Ａの受信ＦＩＦＯへ、ｄａｔａ＿ｏｕｔ信号５１０を用いてデータを出力する。
【００６２】
［プログラム可能なプロセッサー間の論理接続］
図１０は、本発明の実施例による、送信元のプログラム可能なプロセッサーから宛先のプログラム可能なプロセッサーへの、所与の論理接続の複数の異なる経路を示す。以上に説明されたように、ホストプロセッサー２１４は、送信元のプログラム可能なプロセッサー２０２から宛先のプログラム可能なプロセッサー２０２へのデ―タ送信のために、複数の論理接続を確立できる。特に、第１のプログラム可能なプロセッサー２０２内の要素による１つの処理動作の出力は、第２のプログラム可能なプロセッサー２０２内の要素による異なる処理動作の入力として用いられて良い。
【００６３】
例えば、プログラム可能な処理装置１０６は、画像処理モード（以下に詳細に説明される）であるとする。第１のプログラム可能なプロセッサー２０２は、ビデオ内のゴースト低減処理を実行して良い。同時に第２のプログラム可能なプロセッサー２０２は、第１のプログラム可能なプロセッサー２０２からの出力を受信し、ビデオ内の雑音低減処理を実行して良い。第３のプログラム可能なプロセッサー２０２は、第２のプログラム可能なプロセッサー２０２からの出力を受信し、ビデオ内のドットクロール低減処理を実行して良い。ある実施例では、（以下に詳細に説明されるように）あるプログラム可能なプロセッサー２０２は所与の動作を実行するための専用のハードウェアアクセラレーターを有して良いので、異なるプログラム可能なプロセッサー２０２は、異なるデータ処理を実行する。
【００６４】
更にこの例では、１つのプログラム可能なプロセッサー２０２の動作の出力は、異なるプログラム可能なプロセッサー２０２へ直接送信されている。しかしながら、本発明の実施例は制限されるものではない。ある実施例では、１つのプログラム可能なプロセッサー２０２は、メモリー１０４の１つへ動作の出力を送信して良い。従って、第２のプログラム可能なプロセッサー２０２は、メモリー１０４から格納されたデータを読み出して良い。このような動作は、第２のプログラム可能なプロセッサー２０２が、第１の動作からのある量の出力を、動作に先立ち要求する場合に用いられて良い。例えば、第２のプログラム可能なプロセッサー２０２は、複数のビデオフレームに亘り時間的雑音低減を実行して良い。従って、第１のプログラム可能なプロセッサー２０２からの出力は、所定の数のフレームが処理されるまで、メモリー１０８に格納される。更にこの例では、第１のプログラム可能なプロセッサー２０２は、到来するビデオのゴースト低減動作を実行し続けて良い。同時に、第２のプログラム可能なプロセッサー２０２は、（以上に説明されたように）出力されるビデオの時間的雑音低減動作を実行して良い。同様に、プログラム可能な処理装置１０６は、格納モード（以下に更に詳細に説明される）の間、異なるプログラム可能なプロセッサー２０２に亘る複数の動作を実行して良い。
【００６５】
プロセッサーのアーキテクチャは、（図２に示されたように）ポイントツーポイント構成を有するので、第１のプログラム可能なプロセッサー２０２は、第２のプログラム可能なプロセッサー２０２へ直接接続されないかもしれない。従って、第１のプログラム可能なプロセッサー２０２（送信元のプログラム可能なプロセッサー２０２）から第２のプログラム可能なプロセッサー２０２（宛先のプログラム可能なプロセッサー２０２）への複数の中間のプログラム可能なプロセッサー２０２を通じた論理接続が確立される。
【００６６】
図１０は、図２のプログラム可能な処理装置１０６と共に、プログラム可能なプロセッサー２０２Ａからプログラム可能なプロセッサー２０２Ｈへの所与の論理接続のための５個の異なる経路を示す。
【００６７】
論理接続のための第１の経路１００２は、プログラム可能なプロセッサー２０２Ａ（送信元のプログラム可能なプロセッサー）から開始し、プログラム可能なプロセッサー２０２Ｄ（第１の中間のプログラム可能なプロセッサー）のポートリング２５０Ｄを通過し、そしてプログラム可能なプロセッサー２０２Ｈ（宛先のプログラム可能なプロセッサー）のポートリング２５０Ｈで終了する。特に、データは、プログラム可能なプロセッサー２０２Ａのポートリング２５０Ａの送信ポートから、プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄの受信ポートへ送信される。プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄの受信ポートは、プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄの送信ポートへ（プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄの送信ポートは、プログラム可能なプロセッサー２０２Ｈのポートリング２５０Ｈの受信ポートへデータを送信する。
【００６８】
論理接続のための第２の経路１００４は、プログラム可能なプロセッサー２０２Ａ（送信元のプログラム可能なプロセッサー）から開始し、プログラム可能なプロセッサー２０２Ｅ（第１の中間のプログラム可能なプロセッサー）を通過し、そしてプログラム可能なプロセッサー２０２Ｈ（宛先のプログラム可能なプロセッサー）で終了する。特に、データは、プログラム可能なプロセッサー２０２Ａのポートリング２５０Ａの送信ポートから、プログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅの受信ポートへ送信される。プログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅの受信ポートは、プログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅの送信ポートへ（プログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅの送信ポートは、プログラム可能なプロセッサー２０２Ｈのポートリング２５０Ｈの受信ポートへデータを送信する。
【００６９】
論理接続のための第３の経路１００６は、プログラム可能なプロセッサー２０２Ａ（送信元のプログラム可能なプロセッサー）から開始し、プログラム可能なプロセッサー２０２Ｅ（第１の中間のプログラム可能なプロセッサー）を通過し、プログラム可能なプロセッサー２０２Ｆ（第２の中間のプログラム可能なプロセッサー）を通過し、プログラム可能なプロセッサー２０２Ｇ（第３の中間のプログラム可能なプロセッサー）を通過し、そしてプログラム可能なプロセッサー２０２Ｈ（宛先のプログラム可能なプロセッサー）で終了する。特に、データは、プログラム可能なプロセッサー２０２Ａのポートリング２５０Ａの送信ポートから、プログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅの受信ポートへ送信される。プログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅの受信ポートは、プログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅの送信ポートへ（プログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｅのポートリング２５０Ｅの送信ポートは、プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆの受信ポートへデータを送信する。プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆの受信ポートは、プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆの送信ポートへ（プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆの送信ポートは、プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇの受信ポートへデータを送信する。プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇの受信ポートは、プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇの送信ポートへ（プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇの送信ポートは、プログラム可能なプロセッサー２０２Ｈのポートリング２５０Ｈの受信ポートへデータを送信する。
【００７０】
論理接続のための第４の経路１００８は、プログラム可能なプロセッサー２０２Ａ（送信元のプログラム可能なプロセッサー）から開始し、プログラム可能なプロセッサー２０２Ｂ（第１の中間のプログラム可能なプロセッサー）を通過し、プログラム可能なプロセッサー２０２Ｃ（第２の中間のプログラム可能なプロセッサー）を通過し、プログラム可能なプロセッサー２０２Ｄ（第３の中間のプログラム可能なプロセッサー）を通過し、そしてプログラム可能なプロセッサー２０２Ｈ（宛先のプログラム可能なプロセッサー）で終了する。特に、データは、プログラム可能なプロセッサー２０２Ａのポートリング２５０Ａの送信ポートから、プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂの受信ポートへ送信される。プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂの受信ポートは、プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂの送信ポートへ（プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂの送信ポートは、プログラム可能なプロセッサー２０２Ｃのポートリング２５０Ｃの受信ポートへデータを送信する。プログラム可能なプロセッサー２０２Ｃのポートリング２５０Ｃの受信ポートは、プログラム可能なプロセッサー２０２Ｃのポートリング２５０Ｃの送信ポートへ（プログラム可能なプロセッサー２０２Ｃのポートリング２５０Ｃを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｃのポートリング２５０Ｃの送信ポートは、プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄの受信ポートへデータを送信する。プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄの受信ポートは、プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄの送信ポートへ（プログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｄのポートリング２５０Ｄの送信ポートは、プログラム可能なプロセッサー２０２Ｈのポートリング２５０Ｈの受信ポートへデータを送信する。
【００７１】
論理接続のための第５の経路１０１０は、プログラム可能なプロセッサー２０２Ａ（送信元のプログラム可能なプロセッサー）から開始し、プログラム可能なプロセッサー２０２Ｂ（第１の中間のプログラム可能なプロセッサー）を通過し、プログラム可能なプロセッサー２０２Ｆ（第２の中間のプログラム可能なプロセッサー）を通過し、プログラム可能なプロセッサー２０２Ｇ（第３の中間のプログラム可能なプロセッサー）を通過し、そしてプログラム可能なプロセッサー２０２Ｈ（宛先のプログラム可能なプロセッサー）で終了する。従って、示されるように、複数の異なる経路の１つは、２つの異なるプログラム可能なプロセッサー２０２の間の論理接続を確立するために利用され得る。特に、データは、プログラム可能なプロセッサー２０２Ａのポートリング２５０Ａの送信ポートから、プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂの受信ポートへ送信される。プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂの受信ポートは、プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂの送信ポートへ（プログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｂのポートリング２５０Ｂの送信ポートは、プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆの受信ポートへデータを送信する。プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆの受信ポートは、プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆの送信ポートへ（プログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｆのポートリング２５０Ｆの送信ポートは、プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇの受信ポートへデータを送信する。プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇの受信ポートは、プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇの送信ポートへ（プログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇを通じて）データを送信する。このプログラム可能なプロセッサー２０２Ｇのポートリング２５０Ｇの送信ポートは、プログラム可能なプロセッサー２０２Ｈのポートリング２５０Ｈの受信ポートへデータを送信する。
【００７２】
説明されたように、中間のプログラム可能なプロセッサー２０２を通じた伝達は、ポートリング２５０のポート４０４を通り、プロセッサー要素又はプログラム可能なプロセッサー２０２内部の他の要素を通らない。従って、中間のプログラム可能なプロセッサー２０２内のプロセッサー要素は、送信元から宛先のプログラム可能なプロセッサー２０２及び宛先のプログラム可能なプロセッサー２０２から送信されるデータに対し如何なる種類の動作も実行しない。
【００７３】
従って、このアーキテクチャは、配線で接続された設定可能なポイントツーポイント接続の組み合わせを利用する。送信ポートは、所定の宛先と接続されるが、プログラム可能な処理装置１０６のダイの直接配線も可能である。しかしながら、所与の送信ポートは、送信データのために複数の送信元の１つを選択できる。更に、受信ポートは、複数の送信ポートにデータを利用可能にする。このアーキテクチャは、データの効率的な経路選択及びプログラム可能なプロセッサー２０２のポートリング２５０内の制御を可能にする。更に、論理接続を通じた初期化信号の伝送は、データの送信元において、データが伝送される論理経路を単一箇所で消去することを可能にし、そして中間の接続がデータ転送の前又は後に消去又は無効にする必要をなくす。更に、不確定なデータ量を送信及び返送又は遅延させる論理接続は、送信元で開始し論理接続を伝達する単一の命令で消去される。
【００７４】
＜プログラム可能な処理装置の動作＞
ある実施例による、プログラム可能な処理装置１０６の動作を説明する。
【００７５】
［プログラム可能なプロセッサー間のデータ送信動作］
図１１は、本発明の実施例による、プログラム可能な処理装置内の論理接続の確立及び初期化のフロー図を示す。
【００７６】
ブロック１１０２では、データ送信のために確立されるべき論理接続の設定データが受信される。図２を参照すると、異なるプログラム可能なプロセッサー２０２（送信元のプログラム可能なプロセッサー、中間のプログラム可能なプロセッサー及び宛先のプログラム可能なプロセッサー）は、データ送信のために確立されるべき論理接続のための設定データを受信する。ある実施例では、ホストプロセッサー２１４は、この設定データをこれらのプログラム可能なプロセッサー２０２へ内部グローバルバス２１２を通じて送信する。ある実施例では、ホストプロセッサー２１４は、論理接続の一部であるプログラム可能なプロセッサー２０２内へマイクロコードをダウンロードして良い。例えば、ホストプロセッサー２１４は、特別なアプリケーションを送信元及び／又は宛先のプログラム可能なプロセッサー２０２内へダウンロードして良い。制御はブロック１１０４で継続する。
【００７７】
ブロック１１０４では、論理接続が確立される。図６及び図８を参照すると、受信ポート４０６及び送信ポート４０８は（論理接続の一部としてこれらを通じ、データは送信される）、受信した設定データに基づき論理接続を確立する。以上に説明されたように、受信ポート４０６は、選択信号６０６を用い、どのｇｒａｎｔ＿ｏｕｔ信号５１６がマルチプレクサー６０２により選択されるかを決定する。例えば、受信ポート４０６Ａで受信されたデータが、送信するため送信ポート４０８Ｄへ出力され場合、設定データは、受信ポート４０６Ａに選択信号６０６を用い、送信ポート４０８Ｄと接続されるｇｒａｎｔ＿ｏｕｔ信号５１６を選択させる。同様に、送信ポート４０８は選択信号８０２を用い、どのｒｅｑｕｅｓｔ＿ｉｎ信号５０４、ｄａｔａ＿ｉｎ信号５０２及びｉｎｉｔ＿ｉｎ信号５０６が、それぞれマルチプレクサー８０４Ｃ、マルチプレクサー８０４Ｂ及びマルチプレクサー８０４Ａに選択されるかを決定する。制御はブロック１１０６で継続する。
【００７８】
ブロック１１０６では、論理接続が初期化される。図２、図６及び図８を参照すると、この論理接続を開始する送信元のプログラム可能なプロセッサー２０２の送信ポート４０８は、ｉｎｉｔ＿ｏｕｔ信号５１４を、この論理接続に含まれる次の送信元のプログラム可能なプロセッサー２０２の受信ポート４０６へ送信する。この受信ポート４０６は、この信号をｉｎｉｔ＿ｉｎ信号５０６として受信し、ｉｎｉｔ＿ｏｕｔ信号５１４としてこの送信元のプログラム可能なプロセッサー２０２内の送信ポートへ出力する。このｉｎｉｔ＿ｏｕｔ信号５１４の送信及びｉｎｉｔ＿ｉｎ信号５０６の受信は、論理接続と共に、宛先のプログラム可能なプロセッサー２０２の送信ポート４０８に到達するまで続く。従って、この初期化信号は、論理接続に含まれる異なるポートを初期化する。ある実施例では、この初期化は、論理接続で用いられる受信及び送信ＦＩＦＯのフラッシングを有して良い。従って、如何なるデータも前の論理接続からこれらＦＩＦＯ内にあり、この初期化はＦＩＦＯからデータを削除させる。
【００７９】
ある実施例では、一連の処理動作は、プログラム可能な処理装置１０６内の異なるプログラム可能なプロセッサー２０２の異なる要素により実行される。第１の処理動作の出力は、第２の処理動作の入力として利用される、等である。以上に説明されたように、論理接続は、異なるプログラム可能なプロセッサー２０２へのデータ送信のために確立される。従って、論理接続は、プログラム可能な処理装置１０６内のある要素から、プログラム可能な処理装置１０６内の異なる要素への送信毎に確立される。プログラム可能な処理装置１０６内のデータ処理のある実施例を説明する。図１２は、本発明の実施例による、プログラム可能な処理装置によるデータ処理のフロー図を示す。特にフロー図１２００は、本発明の実施例による、プログラム可能な処理装置１０６内のプログラム可能なプロセッサー２０２の１つによるデータ処理を示す。
【００８０】
ブロック１２０２では、データストリームが受信される。図２を参照すると、第１のプログラム可能なプロセッサー２０２は、複数の送信元の１つからデータストリームを受信する。例えば、プログラム可能なプロセッサー２０２Ａは、（ビデオ信号プロセッサー１０４のような）外部の送信元からデータストリームを受信して良い。プログラム可能なプロセッサー２０２Ａはまた、メモリー１０８からメモリーインタ―フェース２０６及びＤＭＡ装置２０４を通じてデータストリームを受信して良い。制御はブロック１２０４で継続する。
【００８１】
ブロック１２０４では、データストリームは、第１のプログラム可能なプロセッサーで処理される。図２を参照すると、第１のプログラム可能なプロセッサー２０２内の要素（例えば、プロセッサー要素３０２、３０４、３０６Ａ−３０６Ｃの１つ又はアクセラレーター装置３１０Ａ−３１０Ｂの１つ）は、第１の処理動作を実行する。入力プロセッサー要素３０２は、受信ポート４０６を通じてデータを受信する。ある実施例では、プロセッサー要素３０２、３０４、３０６Ａ−３０６Ｃは、受信データに処理動作を実行する。ある実施例では、処理動作が関連する論理接続の設定の一部として、ホストプロセッサー２１４は、第１のプログラム可能なプロセッサー２０２内のどの要素が処理動作を実行すべきかを決定する。従って、入力プロセッサー要素３０２は、メモリー３１４にデータを格納して良く、指定された要素は、データを読み出し及び前記データに対し第１の処理を実行する。第１のプログラム可能なプロセッサー２０２は、データストリームの一部を処理した結果を出力すると同時に、データストリームの異なる部分の処理を続けて良い。例えば、第１のプログラム可能なプロセッサー２０２は、第１のビデオフレームを処理した結果を出力すると同時に、次のビデオフレームの処理を続けて良い。制御はブロック１２０６で継続する。
【００８２】
ブロック１２０６では、処理動作の出力は、異なるプログラム可能なプロセッサー又はメモリーへ論理接続を通じて送信されて良い。図２及び図３を参照すると、（第１の処理動作が実行されるプログラム可能なプロセッサー２０２内の）出力プロセッサー要素３０４は、処理動作の出力を、設定された論理接続の一部である送信ポート４０８を通じて、異なるプログラム可能なプロセッサー２０２又はメモリー１０８へ設定された論理接続を通じて送信する。制御はブロック１２０８で継続する。
【００８３】
ブロック１２０８では、結果は、異なるプログラム可能なプロセッサーで処理される。（ブロック１２０４で説明された）第１のプログラム可能なプロセッサー２０２内の処理と同様に、異なるプログラム可能なプロセッサー２０２内の要素（例えば、プロセッサー要素３０２、３０４、３０６Ａ−３０６Ｃの１つ又はアクセラレーター装置３１０Ａ−３１０Ｂの１つ）は、異なる画像処理動作を実行する。制御はブロック１２１０で継続する。
【００８４】
ブロック１２１０では、データストリームの処理動作が完了したか否かが決定される。特に、データストリームの一部を処理している現在のプログラム可能なプロセッサー２０２は、その動作の出力が異なるプログラム可能なプロセッサー２０２又はメモリー１０８へ論理接続を通じ送信されるべきか否かを、ホストプロセッサー２１４から受信した設定データに基づき決定する。特に、ホストプロセッサー２１４は、データストリームを受信し、そして５個の異なるプログラム可能なプロセッサー２０２内で５個の異なる圧縮／格納処理を実行するよう、プログラム可能な処理装置１０６を設定して良い。従って、ホストプロセッサー２１４は、５個の異なるプログラム可能なプロセッサー２０２へ所与の順序でデータを送信するよう、異なる論理接続を設定する。データストリームの処理動作が完了していないと判定されると、制御はブロック１００６で継続し、処理結果は異なるプログラム可能なプロセッサー２０２又はメモリー１０８へ出力される。ブロック１２０６及び１２０６の動作は、データストリームの処理動作が完了するまで続く。
【００８５】
ブロック１２１２では、データストリームの処理動作が完了したと判定されると、結果が出力される。図２を参照すると、ある実施例では、現在のモードが格納モードの場合、データストリームを処理するプログラム可能なプロセッサーの連鎖の最後のプログラム可能なプロセッサー２０２は、メモリー１０８へ結果を出力する。図１を参照すると、ある実施例では、現在のモードが画像処理モードの場合、最後のプログラム可能なプロセッサー２０２は、ビデオディスプレイプロセッサー１１０へＩ／Ｏインターフェース２０８を通じ結果を出力する。
【００８６】
プログラム可能なプロセッサー２０２の異なるポート間の、ハンドシェイクプロトコルに基づくデータ送信の動作のある実施例を説明する。特に、図１３（Ａ）−（Ｂ）は、本発明の実施例による、プログラム可能なプロセッサー内の異なるポートのメモリー間の通信のフロー図を示す。例として及び制限ではなく、フロー図１３００及び１３３０の動作は、これら異なるポート内のＦＩＦＯメモリーが深さ２（例えば、２エントリーのＦＩＦＯ）を有するように示される。図１３（Ａ）は、ポートのメモリーへデータを受信するフロー図を示す。図１３（Ｂ）は、ポートのメモリーからデータを送出するフロー図を示す。
【００８７】
ブロック１３０２では、データの受信要求は、プログラム可能なプロセッサーのポートリングの受信ポートへ受信される。図６を参照すると、受信ポート４０６は、ｒｅｑｕｅｓｔ＿ｉｎ信号５０４を通じてデータの受信要求を受信する。以上に説明されたように、受信ポート４０６と結合された送信ポート４０８は、この要求を送信する。制御はブロック１３０４で継続する。
【００８８】
ブロック１３０４では、受信ポートの受信ＦＩＦＯが全て使われているか否かが判定される。図６を参照すると、受信ポート４０６は、受信ＦＩＦＯ６０４が全て使われているか否かを判定する。受信ポート４０６の受信ＦＩＦＯ６０４が全て使われていると判定されると、制御は、この判定が再び行われるブロック１３０４で継続する。ある実施例では、この要求は、所定の期間の後タイムアウトして良く、アラームがホストプロセッサー２１４へ発行され、フロー図１３００の動作は中止される。
【００８９】
ブロック１３０６では、受信ポート４０６の受信ＦＩＦＯ６０４が全て使われていないと判定されると、受信ＦＩＦＯが半分使われているか否かの判定が行われる。以上に説明されたように、受信ＦＩＦＯ６０４は、深さ２を有するとして説明された。図６を参照すると、受信ポート４０６は、受信ＦＩＦＯ６０４が半分使われているか否かを判定する。言い換えると、受信ポート４０６は、受信ＦＩＦＯ６０４が空であるか又は１エントリーのデータを有するか否かを判定する。受信ＦＩＦＯ６０４が半分使われていない（つまり、受信ＦＩＦＯは空である）と判定されると、制御は、以下に更に説明されるブロック１３１０で継続する。
【００９０】
ブロック１３０８では、受信ＦＩＦＯ６０４が半分使われていると判定されると、受信ＦＩＦＯの第１のエントリーに格納されたデータは、受信ＦＩＦＯの第２のエントリーへ移動される。図６を参照すると、受信ポート４０６は、受信ＦＩＦＯ６０４の第１のエントリーに格納されたデータを第２のエントリーへ移動する。制御はブロック１３１０で継続する。
【００９１】
ブロック１３１０では、許可は、要求している送信ポート（受信ポートへのデータ送信を要求している送信ポート）へ送られる。図６を参照すると、受信ポート４０６は、送信ポート４０８はデータを受信ＦＩＦＯ６０４へ送信して良いことを示すｇｒａｎｔ＿ｉｎ信号５０８を通じ、送信ポート４０８へ許可を送信する。制御はブロック１３１２で継続する。
【００９２】
ブロック１３１２では、受信データは、受信ポートの受信ＦＩＦＯへ格納される。図６を参照すると、受信ポート４０６は、送信ポート４０８はデータからｄａｔａ＿ｉｎ信号５０２を通じて受信された、受信ＦＩＦＯ６０４の第１のエントリーへ受信データを格納する。
【００９３】
ポートのメモリーの外部へデータを送信する実施例は、図１３（Ｂ）のフロー図１３３０を用いて説明される。ブロック１３３２では、データを受信ポートへ出力する要求が送信される。図８を参照すると、送信ポート４０８は、（送信ポート４０８が結合される）受信ポート４０６へｒｅｑｕｅｓｔ＿ｏｕｔ信号５１２を通じてデータを出力する要求を送信する。制御はブロック１３３４で継続する。
【００９４】
ブロック１３３４では、許可が受信ポートから受信されたか否かが判定される。図８を参照すると、送信ポート４０８は、許可が受信ポート４０６から受信されたか否かをｇｒａｎｔ＿ｏｕｔ信号５１６の値に基づき判定する。許可が受信ポート４０６から受信されていないと判定されると、制御は、送信ポート４０８が再びこの判定を行うブロック１３３４で継続する。ある実施例では、この許可の検査は、所定の期間の後タイムアウトして良く、アラームがホストプロセッサー２１４へ発行され、フロー図１３００の動作は中止される。
【００９５】
ブロック１３３６では、許可が受信ポートから受信されたと判定されると、送信ＦＩＦＯが半分使われているか否かの判定が行われる。図８を参照すると、送信ポート４０８は、送信ＦＩＦＯ８０６が半分使われているか否かを判定する。フロー図１３３０の動作は開始されているので、送信ＦＩＦＯ８０６は空ではないとする。
【００９６】
ブロック１３３８では、送信ＦＩＦＯが半分使われていない（送信ＦＩＦＯは全て使われている）と判定されると、送信ＦＩＦＯの第２のエントリーからのデータは、受信ＦＩＦＯへ出力される。図８を参照すると、送信ポート４０８は、送信ＦＩＦＯ８０６の第２のエントリーからのデータをｄａｔａ＿ｏｕｔ信号５１０を通じ、受信ＦＩＦＯへ出力する。これによりフロー図１３３０の動作を終了する。
【００９７】
ブロック１３４０では、送信ＦＩＦＯが半分使われていると判定されると、送信ＦＩＦＯの第１のエントリーからのデータは、受信ＦＩＦＯへ出力される。図８を参照すると、送信ポート４０８は、送信ＦＩＦＯ８０６の第１のエントリーからのデータをｄａｔａ＿ｏｕｔ信号５１０を通じ、受信ＦＩＦＯへ出力する。これによりフロー図１３３０の動作を終了する。
【００９８】
フロー図１３００及び１３３０は、異なるポートリングの一部である受信及び送信ポート間の通信を説明する。説明されたハンドシェイクプロトコルの動作は、同じポートリングの一部である受信及び送信ポート間の通信にも適用される。更に、このようなハンドシェイクプロトコルの動作は、それぞれ入力プロセッサー要素３０２及び出力入力プロセッサー要素３０４へのデータ入力及び出力にも適用される。
【００９９】
従って、図１３（Ａ）−（Ｂ）に説明されたように、ある実施例では、画像処理動作のデータ駆動型アーキテクチャは、このハンドシェイクプロトコルに基づき、異なるポートを通じて論理接続へデータを送信する。バブルはクロック周期であり、如何なるデータトランザクションも生じない（つまり、データは所与のクロック周期で移動されない）。例えば、データは開始時には送信される状態になく、及び／又はデータは論理接続の終端で読み出されない。従って、データは論理接続に送出されないので、論理接続に空き空間があり得る。更に、説明されたように、送信元のプログラム可能なプロセッサー又は宛先のプログラム可能なプロセッサーにおけるデータ遅延状況のため、バブルが論理接続で形成される場合、データは単一の信号クロック周期の間、一時停止される。言い換えると、受信及び送信ポート内のＦＩＦＯメモリーは、論理接続内のバブルが、論理接続内のデ―タフローの中止及び再開から増大しないようにする。本発明の実施例では、バブルの後の論理接続の何れかの終端において遅延を強制しない。バブルはプログラム可能な処理装置１０６に、（回復のためバブル自体に関するクロック周期より多くのクロック周期を要求し得る）再同期を要求しない。
【０１００】
［プログラム可能な処理装置の複数のモードの動作］
プログラム可能な処理装置１０６の複数のモードの動作を説明する。図１４は、本発明の実施例による、プログラム可能な処理装置の複数の動作モードのフロー図を示す。
【０１０１】
フロー図１４００のブロック１４０２では、ビデオが受信される。図１の実施例を参照すると、プログラム可能な処理装置１０６は、ビデオ信号プロセッサー１０４からＩ／Ｏインターフェース２０８を通じてビデオを受信する。ある実施例では、受信ビデオは、デジタルデータストリームである。
【０１０２】
ブロック１４０４では、システムが格納モードか否かが判定される。図２の実施例を参照すると、ホストプロセッサー２１４はこの判定を行う。このようなある実施例では、システム１００は、２つのモード（１）格納モード又は（２）画像処理モードの１つである。ホストプロセッサー２１４は、システム１００のユーザーからの入力に基づきこの決定を行って良い。ある実施例では、システム１００は、テレビジョン（又はセットトップボックス又はそれに接続されたメディアセンターの一部）内にあり、ユーザーはリモコンを用いて現在のモードを選択する。例えば、ユーザーは、ビデオディスプレイ１１２へのビデオの表示を一時停止する場合、システム１００を格納モードにして良い。ユーザーはまた、ビデオディスプレイ１１２で表示されているビデオを巻き戻す場合、システム１００を格納モードにして良い。従って、ホストプロセッサー２１４は、ユーザーからのこの入力を受信する。ある実施例では、システム１００内のＩ／Ｏロジック（示されない）は、システム１００の入力を受信及び処理して良い。このようなＩ／Ｏロジックは、この入力をホストプロセッサー２１４へ送って良い。
【０１０３】
ある実施例では、システム１００の現在のモードは、メモリー１０８が格納されたビデオを有さない時まで、格納モードのままである。例えば、ユーザーがビデオディスプレイ１１２の表示の一時停止動作を中断した場合（これによりビデオディスプレイ１１２は表示を再開する）、システム１００は、メモリー１０８が格納されたビデオを有さなくなるまで格納モードのままである。従って、メモリー１０８が格納されたビデオを有さない場合、システム１００は、ユーザーが早送り動作（例えばコマーシャルをスキップする）を実行するまで、格納モードのままで良い。このような動作は、メモリー１０８からのビデオの出力レートをメモリー１０８へ到来するビデオの入力レートを超過させる。
【０１０４】
システム１００の現在のモードが格納モードではない（画像処理モードである）と決定されると、制御は、以下に更に説明されるブロック１４１２で継続する。システム１００の現在のモードが格納モードであると決定されると、制御は、以下に更に説明されるブロック１４０６及び１４１０で継続する。
【０１０５】
ブロック１４０６では、ビデオが圧縮される。図２及び図３の実施例を参照すると、１つ以上のプログラム可能なプロセッサー２０２内の１つ以上のプロセッサー要素は、ビデオを圧縮する。ある実施例では、ビデオの圧縮の一部として、複数の異なる雑音低減動作を実施して良い。ある実施例では、ビデオの圧縮は、画像の拡大縮小、フレームレートの減少、等を有して良い。説明のため再び図２を参照すると、プログラム可能なプロセッサー２０２Ａ内のプロセッサー要素は、雑音低減動作を実行して良い。プログラム可能なプロセッサー２０２Ｅは、この雑音低減動作からの出力を受信できる。プログラム可能なプロセッサー２０２Ｅ内のプロセッサー要素は、画像拡大縮小動作を通じてビデオの画像を減少できる。プログラム可能なプロセッサー２０２Ｈは、この拡大縮小動作からの出力を受信して良い。プログラム可能なプロセッサー２０２Ｈ内のプロセッサー要素は、フレームレート減少動作を通じてビデオを更に圧縮して良い。
【０１０６】
従って、この例で説明されたように、ある実施例では、ホストプロセッサー２１４は、適切なマイクロコードを適切なプログラム可能なプロセッサー２０２へダウンロードする。特に、ホストプロセッサー２１４は、システム１００の現在のモードが変化した場合、プログラム可能なプロセッサー２０２内へマイクロコードをダウンロードして良い。例えば、プログラム可能なプロセッサー２０２内のプロセッサー要素は、拡張ビデオ処理動作（以下に更に説明される）を、画像処理モードの一部として実行するよう設定されているとする。従って、システム１００の現在のモードは、格納モードへ変更された後、ホストプロセッサー２１４は、フレームレート減少動作のため、マイクロコードをプログラム可能なプロセッサー２０２Ｈ内へダウンロードして良い。
【０１０７】
更に、ホストプロセッサー２１４は、（以上に図１０を参照して説明されたように）処理のためにプログラム可能なプロセッサー間の論理接続を設定して良い。ある実施例では、少なくとも１つのプログラム可能なプロセッサー２０２は、その結果を、続けて異なるプログラム可能なプロセッサー２０２により読み出されるメモリー１０８へ格納するよう設定されて良い。例えば、圧縮動作の１つが複数のビデオフレームに亘り実行される場合、所与の数のビデオフレームは、異なるプログラム可能なプロセッサー２０２による処理の前に、メモリー１０８へ格納されて良い。
【０１０８】
再び異なるプログラム可能なプロセッサー内の異なるプロセッサー要素が異なる圧縮動作を実行する上記の例に戻ると、ホストプロセッサー２１４は、Ｉ／Ｏインターフェース２０８からプログラム可能なプロセッサー２０２Ａへの論理接続を確立する。ホストプロセッサー２１４はまた、プログラム可能なプロセッサー２０２Ａからプログラム可能なプロセッサー２０２Ｅへの論理接続を確立する。ホストプロセッサー２１４はまた、プログラム可能なプロセッサー２０２Ｅからプログラム可能なプロセッサー２０２Ｈへの論理接続を確立する。制御はブロック１４０８で継続する。
【０１０９】
ブロック１４０８では、圧縮されたビデオが格納される。図２の実施例を参照すると、プログラム可能なプロセッサー２０２は、圧縮されたビデオを格納する。以上に説明されたように、ある実施例では、複数の圧縮動作は、ビデオに対し少なくとも１つのプログラム可能なプロセッサー２０２により実行される。圧縮動作を終了するプログラム可能なプロセッサー２０２は、メモリー１０８へ圧縮されたビデオを格納して良い。ブロック１４０６に関して以上に説明された例に戻ると、フレームレート減少動作の後、プログラム可能なプロセッサー２０２は、この結果をメモリー１０８へ（以上に説明されたように所与のプログラム可能なプロセッサー２０２とメモリー１０８の間の）論理接続を通じて格納する。
【０１１０】
ブロック１４１０では、ビデオは制御入力に基づき（拡張ビデオ処理とは独立に）表示される。以上に説明されたように、ある実施例では、システム１００は、テレビジョン又は他の視聴装置の一部である。このような装置のユーザーは、ビデオディスプレイ１１２のビデオの表示を制御する。例えば、ユーザーはリモコンを用いビデオディスプレイ１１２でビデオを一時停止、再生、早送り又は再生して良い。従って、制御入力は、ユーザーから受信されホストプロセッサー２１４へ送信される。制御入力がビデオを再生するものなら、ホストプロセッサー２１４は、複数の論理接続を確立し、メモリー１０８に格納されているビデオを解凍し、ビデオディスプレイ１１２で表示するため、そのビデオをビデオディスプレイプロセッサー１１０へ出力する。
【０１１１】
説明のため、画像拡大縮小動作及びフレームレート減少動作は、メモリー１０８に格納されたビデオを圧縮するために実行されるとする。従って、ホストプロセッサー２１４は、伸長動作を実行するプログラム可能なプロセッサー２０２間に論理接続を確立する。例えば、論理接続は、メモリー１０８とプログラム可能なプロセッサー２０２Ｆの間に確立されて良い。プログラム可能なプロセッサー２０２Ｆ内のプロセッサー要素は、圧縮されたビデオをメモリー１０８から読み出し、（例えば、補間を利用し）ビデオにフレームを再挿入して良い。異なる論理接続は、プログラム可能なプロセッサー２０２Ｆとプログラム可能なプロセッサー２０２Ｄの間に確立されて良い。プログラム可能なプロセッサー２０２Ｆからの結果のビデオは、プログラム可能なプロセッサー２０２Ｄへ確立された論理接続を通じて送信される。プログラム可能なプロセッサー２０２Ｄは、画像拡大縮小動作を実行し、ビデオの画像サイズを増大させて良い。別の論理接続は、プログラム可能なプロセッサー２０２ＤとＩ／Ｏインターフェース２０８の間に確立されて良い。プログラム可能なプロセッサー２０２Ｄからの結果のビデオは、Ｉ／Ｏインターフェース２０８へ確立された論理接続を通じて送信される。ビデオはビデオディスプレイプロセッサー１１０へ出力される。
【０１１２】
複数の圧縮動作と伸長動作の間に１対１の関係があるように説明されたが、実施例は制限されるものではない。説明のため以上に説明された例に戻ると、ある実施例では、ビデオへのフレームの再挿入は、伸長及び表示の実行を向上するために行われない。
【０１１３】
（ブロック１４１０における）制御入力に基づくビデオの表示に関し、ビデオディスプレイ１１２へのビデオの表示は、一時停止されて良い。従って、以上に説明された伸長動作は、実行されない。更に、プログラム可能な処理装置１０６は、（以上にブロック１４０６及び１４０８で説明されたように）メモリー１０８へ到来するビデオを圧縮及び格納し続ける。
【０１１４】
制御入力に基づき、ビデオディスプレイ１１２へのビデオの表示は、再生されて良い。ホストプロセッサー２１４は、ビデオは再生されるべきであると示す制御入力を受信する。従って、ホストプロセッサー２１４は、制御入力が変化するか又はメモリー１０８が格納されたビデオを有さなくなるまで前のフレームを伸長し逆の順序に表示するよう、プログラム可能なプロセッサー２０２を設定する。
【０１１５】
制御入力に基づき、ビデオディスプレイ１１２へのビデオの表示は、到来するビデオが表示されているビデオになるまで、早送りされて良い。例えば、システム１００のユーザーは、コマーシャルをスキップしたいと望むかも知れない。従って、ホストプロセッサー２１４は、ビデオが再生される場合と比較して速いレートでビデオを伸長及び表示するよう、プログラム可能なプロセッサー２０２を設定する。
【０１１６】
フロー図１４００に戻ると、ブロック１４１２で、システム１００が格納モードではない（画像処理モードである）と決定されると、拡張ビデオ処理が実行される。図２の実施例を参照すると、１つ以上のプログラム可能なプロセッサー２０２内の１つ以上のプロセッサー要素は、拡張ビデオ処理を実行する。ある実施例では、拡張ビデオ処理は、ゴースト低減動作、（空間的、時間的、等の）雑音低減動作、ドットクロール低減動作、等を有する。
【０１１７】
説明のため図２に戻ると、ある実施例では、ホストプロセッサー２１４は、Ｉ／Ｏインターフェース２０８と（以上に説明されたように）拡張ビデオ処理に関連する異なるプログラム可能なプロセッサー２０２の間の論理接続を確立する。更に、ホストプロセッサー２１４は、拡張ビデオ処理動作の一部として実行されるべきマイクロコードをダウンロードして良い。例えば、プログラム可能なプロセッサー２０２Ｂはゴースト低減動作を実行するよう設定され、プログラム可能なプロセッサー２０２Ｈは空間的雑音低減動作を実行するよう設定され、プログラム可能なプロセッサー２０２Ｃは時間的雑音低減動作を実行するよう設定され、そしてプログラム可能なプロセッサー２０２Ｅはドットクロール低減動作を実行するよう設定されているとする。
【０１１８】
従って、ホストプロセッサー２１４は、マイクロコードをプログラム可能なプロセッサー２０２Ｂ、プログラム可能なプロセッサー２０２Ｈ、プログラム可能なプロセッサー２０２Ｃ及び／又はプログラム可能なプロセッサー２０２Ｅへダウンロードして良い。ホストプロセッサー２１４はまた、（データが受信される）Ｉ／Ｏインターフェース２０８から（ゴースト低減動作が実行される）プログラム可能なプロセッサー２０２Ｂへ論理接続を確立する。ホストプロセッサー２１４はまた、プログラム可能なプロセッサー２０２Ｂ及び（空間的雑音低減動作が実行される）プログラム可能なプロセッサー２０２Ｈからの論理接続を確立する。更に、時間的雑音低減動作は、複数のビデオデータフレーム対し実行され、ホストプロセッサー２１４は、プログラム可能なプロセッサー２０２Ｈから（時間的雑音低減動作の前に複数のビデオデータフレームを格納するための）メモリー１０８へ論理接続を確立するとする。ホストプロセッサー２１４はまた、メモリー１０８からプログラム可能なプロセッサー２０２Ｃへの論理接続を確立する。従って、所与の数のビデオデータフレームが、プログラム可能なプロセッサー２０２Ｈの出力からメモリー１０８へ格納された後、フレームは、（時間的雑音低減動作が実行される）プログラム可能なプロセッサー２０２Ｃへ入力される。ホストプロセッサー２１４はまた、プログラム可能なプロセッサー２０２Ｃ及び（ドットクロール低減動作が実行される）プログラム可能なプロセッサー２０２Ｅからの論理接続を確立する。ホストプロセッサー２１４はまた、プログラム可能なプロセッサー２０２Ｅから表示のためにビデオデータが出力されるＩ／Ｏインターフェース２０８への論理接続を確立する。
【０１１９】
ブロック１４１４では、拡張ビデオ処理を用い、ビデオが表示される。図１及び図２の実施例を参照すると、Ｉ／Ｏインターフェース２０８は、表示のためビデオデータをビデオディスプレイプロセッサー１１０へ出力する。
【０１２０】
従って、ある実施例では、システム１００の現在のモードが変更された後、現在の動作は割り込まれ、制御は、ブロック１４０４においてシステムのモードに関する決定が行われる、ポイント１で継続する。例えば、現在のモードが画像処理モードであり、ユーザーが一時停止ボタンを選択肢ビデオディスプレイ１１２の表示を一時停止した場合、現在のモードは格納モードに変更され、制御は割り込まれ、ポイント１で継続する。
【０１２１】
フロー図１４００は、格納の前のビデオの圧縮を示すが、本発明の実施例は、これに制限されない。別の実施例では、ビデオは受信され圧縮動作なしにメモリー１０８へ格納される。
【０１２２】
説明では、ロジックの実装、オペレーションコード、オペランドの指定手段、資源分割／共有／二重化の実装、システム要素の種類及び相互関係、及びロジックの分割／統合の選択が、本発明の完全な理解を提供するために説明された。しかしながら、当業者は、本発明の実施例がそのような特定の詳細にかかわらず実施されて良いことを理解するだろう。他の例では、制御構造、ゲートレベルの回路及び全体のソフトウェア命令シーケンスは、本願明細書の理解を不必要に不明瞭にすることを避けるため、詳細に示されない。当業者は、以上の説明により必要以上の実験なしに適切な機能を実施し得る。
【０１２３】
本願明細書における「ある実施例」、「実施例」等の表現は、実施例と関連付けられて説明される特定の機能、構造、又は特徴が、本発明の実施例に包含されるが、各実施例は特定の機能、構造、又は特徴を必ずしも含まなくて良いことを意味する。更に、このような表現は必ずしも同一の実施例を参照しない。更に、特定の機能、構造、又は特徴が実施例を用いて説明された場合、当業者は、明示されているか否かに関わらず、これら特定の機能、構造、又は特徴が他の実施例と関連することを理解するだろう。
【０１２４】
本発明の実施例は、機械読み取り可能な媒体により提供される機械により実行可能な命令に組み込まれ得る機能、方法又は処理を包含する。機械読み取り可能な媒体は、機械（例えば、コンピューター、通信装置、パーソナルデジタルアシスタント、製造ツール、１つ以上のプロセッサーを有する如何なる装置、等）によりアクセス可能な形式で情報を提供する（つまり格納及び／又は送信する）実施例では、機械読み取り可能な媒体は、揮発性及び／又は不揮発性媒体（例えば、読み出し専用メモリー（ＲＯＭ）、ランダムアクセスメモリー（ＲＡＭ）、磁気ディスク記憶媒体、光学式記憶媒体、フラッシュメモリー素子、等）とともに、電子的、光学的、音響的又は他の形式の伝搬信号（例えば、搬送波、赤外線信号、デジタル信号、等）を含む。
【０１２５】
このような命令は、汎用又は専用プロセッサーに、命令を設定させ、本発明の実施例の方法及び処理を実行させるために利用される。また、本発明の実施例の機能又は動作は、動作を実行するための配線されたロジックを有する特定のハードウェア要素により、又は設定されたデータ処理要素及び特定のハードウェア要素により、実行される。本発明の実施例は、ソフトウェア、データ処理を行うハードウェア、データ処理を行うシステムに実装された方法、及び種々の処理動作、さらに本願明細書に記載されたものを包含する。
【０１２６】
複数の図は、本発明の実施例に関連するプログラム可能なビデオ処理／格納アーキテクチャのシステム及び装置のブロック図を示す。複数の図は、プログラム可能なビデオ処理／格納アーキテクチャの動作を説明するフロー図を示す。フロー図の動作は、ブロック図に示されたシステム／装置を参照して説明された。しかしながら、フロー図の動作は、ブロック図を参照して説明されたシステム及び装置の実施例以外によっても実行され得るものであり、及びシステム／装置を参照して説明された実施例は、フロー図を参照して説明された以外の動作を実行し得るものであることが理解されるだろう。
【０１２７】
本願明細書で説明された実施例の種々の置き換えが可能であり、この詳細な説明は、説明のみを目的とし、従って本発明の範囲を制限するものではない。説明のため、動作は、プログラム可能な処理装置１０６を参照して説明されたが、本発明の実施例、これらに制限されない。例えば、ある実施例では、複数の動作モードが、単一の汎用プロセッサーで実行されるソフトウェアアプリケーションにより実行されて良い。更に、ビデオ処理に関して説明されたが、本発明の実施例はこれらに制限されない。例えば、ある実施例では、複数の動作モードが、音声、音声と映像の組み合わせ等、他の種類のデータ処理に適用されて良い。更に本願明細書に記載の実施例の可能な置き換えを説明するため、複数の動作モードが２つのモードを参照して説明されたが、本発明の実施例は制限されるものではなく、このようなモードのより多くの数が可能である。例えば、ある実施例では、プログラム可能な処理装置１０６の第３のモードがビデオ処理の他の機能を包含して良い。更に実施例は、ＲＦ信号が受信されアナログ信号が生成されるアナログチューナーに関して説明されたが、本発明の実施例は、制限されるものではない。例えば、ある実施例では、ビデオチューナー１０２は、ＲＦ信号を受信しデジタル信号を生成するデジタルチューナーであって良い。本発明の請求の範囲は、従って、請求項の範囲と精神に包含される全てのこのような変形及び等価物を包含する。従って、本願明細書及び図は、制限的なものでなく説明のためであると見なされる。
【図面の簡単な説明】
【０１２８】
【図１】本発明の実施例による、プログラム可能なビデオ処理及びビデオ格納アーキテクチャを有するシステム構成の簡単なブロック図を示す。
【図２】本発明の実施例による、プログラム可能な処理装置の詳細なブロック図を示す。
【図３】本発明の実施例による、プログラム可能なプロセッサーの詳細なブロック図を示す。
【図４】本発明の実施例による、プログラム可能なプロセッサーのポートリング及び関連ポートを示す。
【図５】本発明の実施例による、送信機又は受信機内のＦＩＦＯメモリー及びメモリーの関連インターフェース信号を示す。
【図６】本発明の実施例による、関連インターフェース信号と共に受信ポートの詳細なブロック図を示す。
【図７（Ａ）】本発明の実施例による、異なる送信ポートと通信する受信ポートの詳細なブロック図を示す。
【図７（Ｂ）】本発明の実施例による、異なる送信ポートと通信する受信ポートの詳細なブロック図を示す。
【図７（Ｃ）】本発明の実施例による、異なる送信ポートと通信する受信ポートの詳細なブロック図を示す。
【図７（Ｄ）】本発明の実施例による、異なる送信ポートと通信する受信ポートの詳細なブロック図を示す。
【図７（Ｅ）】本発明の実施例による、異なる送信ポートと通信する受信ポートの詳細なブロック図を示す。
【図７（Ｆ）】本発明の実施例による、異なる送信ポートと通信する受信ポートの詳細なブロック図を示す。
【図７（Ｇ）】本発明の実施例による、異なる送信ポートと通信する受信ポートの詳細なブロック図を示す。
【図８】本発明の実施例による、関連インターフェース信号と共に送信ポートの詳細なブロック図を示す。
【図９（Ａ）】本発明の実施例による、異なるインターフェース信号を使用する異なる受信ポートと通信する送信ポートの詳細なブロック図を示す。
【図９（Ｂ）】本発明の実施例による、異なるインターフェース信号を使用する異なる受信ポートと通信する送信ポートの詳細なブロック図を示す。
【図９（Ｃ）】本発明の実施例による、異なるインターフェース信号を使用する異なる受信ポートと通信する送信ポートの詳細なブロック図を示す。
【図９（Ｄ）】本発明の実施例による、異なるインターフェース信号を使用する異なる受信ポートと通信する送信ポートの詳細なブロック図を示す。
【図９（Ｅ）】本発明の実施例による、異なるインターフェース信号を使用する異なる受信ポートと通信する送信ポートの詳細なブロック図を示す。
【図１０】本発明の実施例による、送信元のプログラム可能なプロセッサーから宛先のプログラム可能なプロセッサーへの、所与の論理接続の複数の異なる経路を示す。
【図１１】本発明の実施例による、プログラム可能な処理装置内の論理接続の確立及び初期化のフロー図を示す。
【図１２】本発明の実施例による、プログラム可能な処理装置によるデータ処理のフロー図を示す。
【図１３（Ａ）】本発明の実施例による、プログラム可能なプロセッサー内の異なるポートのメモリー間の通信のフロー図を示す。
【図１３（Ｂ）】本発明の実施例による、プログラム可能なプロセッサー内の異なるポートのメモリー間の通信のフロー図を示す。
【図１４】本発明の実施例による、プログラム可能な処理装置の複数の動作モードのフロー図を示す。
【図１】
2007520115.tif 000003
【図２】
2007520115.tif 000004
【図３】
2007520115.tif 000005
【図４】
2007520115.tif 000006
【図５】
2007520115.tif 000007
【図６】
2007520115.tif 000008
【図７Ａ】
2007520115.tif 000009
【図７Ｂ】
2007520115.tif 000010
【図７Ｃ】
2007520115.tif 000011
【図７Ｄ】
2007520115.tif 000012
【図７Ｅ】
2007520115.tif 000013
【図７Ｆ】
2007520115.tif 000014
【図７Ｇ】
2007520115.tif 000015
【図８】
2007520115.tif 000016
【図９Ａ】
2007520115.tif 000017
【図９Ｂ】
2007520115.tif 000018
【図９Ｃ】
2007520115.tif 000019
【図９Ｄ】
2007520115.tif 000020
【図９Ｅ】
2007520115.tif 000021
【図１０】
2007520115.tif 000022
【図１１】
2007520115.tif 000023
【図１２】
2007520115.tif 000024
【図１３Ａ】
2007520115.tif 000025
【図１３Ｂ】
2007520115.tif 000026
【図１４】
2007520115.tif 000027
【国際調査報告】
2007520115.tif 000028
2007520115.tif 000029
2007520115.tif 000030