JP2007520115A6 - 装置、方法、システム、機械読み取り可能な媒体 - Google Patents
装置、方法、システム、機械読み取り可能な媒体 Download PDFInfo
- Publication number
- JP2007520115A6 JP2007520115A6 JP2006547296A JP2006547296A JP2007520115A6 JP 2007520115 A6 JP2007520115 A6 JP 2007520115A6 JP 2006547296 A JP2006547296 A JP 2006547296A JP 2006547296 A JP2006547296 A JP 2006547296A JP 2007520115 A6 JP2007520115 A6 JP 2007520115A6
- Authority
- JP
- Japan
- Prior art keywords
- processor
- video
- programmable processor
- port
- image processing
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims abstract description 101
- 238000007906 compression Methods 0.000 claims description 15
- 230000002123 temporal effect Effects 0.000 claims description 9
- 230000003190 augmentative Effects 0.000 claims 4
- 230000005540 biological transmission Effects 0.000 description 56
- 238000010586 diagram Methods 0.000 description 54
- 238000000034 method Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000011010 flushing procedure Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 230000003287 optical Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised Effects 0.000 description 2
- 230000001702 transmitter Effects 0.000 description 2
- 230000002457 bidirectional Effects 0.000 description 1
- 230000003139 buffering Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001186 cumulative Effects 0.000 description 1
- 230000002708 enhancing Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000002093 peripheral Effects 0.000 description 1
- 230000000644 propagated Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Images
Abstract
ある実施例では、方法は、ビデオをビデオディスプレイ装置に受信する段階を有する。前記方法はまた、前記ビデオディスプレイ装置は格納モードであると決定すると、少なくとも1つのプロセッサーにより、前記ビデオをメモリーに格納する段階を有する。更に、前記方法は、前記ビデオディスプレイ装置は画像処理モードであると決定すると、少なくとも1つのプロセッサーで、前記ビデオの拡張画像処理を実行する段階を有する。
Description
本発明は、一般に電子データ処理に関し、より詳細には、プログラム可能なビデオ処理及びビデオ格納アーキテクチャに関する。
多数の電子機器は、ビデオの記録及び視聴において視聴者を支援するために開発されている。このような機器の内、需要が増加している物には、ユーザーに中継テレビジョンを一時停止、巻き戻し、等を可能にするデジタルビデオレコーダーがある。
[発明を実施するための最良の形態]
本願は、米国特許出願10/600047号明細書(クライアント事件整理番号P15961、代理人事件整理番号884.898US1)、発明者はルイス.エー.リッピンコット(Louis A. Lippincott)、発明の名称は「プロセッサー・ツー・プロセッサー・コミュニケーション・イン・ア・データ・ドリブン・アーキテクチャ(Processor to Processor Communication in a Data Driven Architecture)」、出願日は2003年6月19日、代理人は本願と同一の、米国特許出願に関連する。本願はまた、米国特許出願10/600048号明細書(クライアント事件整理番号P15962、代理人事件整理番号884.899US1)、発明者はルイス.エー.リッピンコット(Louis A. Lippincott)、発明の名称は「コミュニケーション・ポーツ・イン・ア・データ・ドリブン・アーキテクチャ(Communication Ports in a Data Driven Architecture)」、出願日は2003年6月19日、代理人は本願と同一の、米国特許出願に関連する。
本願は、米国特許出願10/600047号明細書(クライアント事件整理番号P15961、代理人事件整理番号884.898US1)、発明者はルイス.エー.リッピンコット(Louis A. Lippincott)、発明の名称は「プロセッサー・ツー・プロセッサー・コミュニケーション・イン・ア・データ・ドリブン・アーキテクチャ(Processor to Processor Communication in a Data Driven Architecture)」、出願日は2003年6月19日、代理人は本願と同一の、米国特許出願に関連する。本願はまた、米国特許出願10/600048号明細書(クライアント事件整理番号P15962、代理人事件整理番号884.899US1)、発明者はルイス.エー.リッピンコット(Louis A. Lippincott)、発明の名称は「コミュニケーション・ポーツ・イン・ア・データ・ドリブン・アーキテクチャ(Communication Ports in a Data Driven Architecture)」、出願日は2003年6月19日、代理人は本願と同一の、米国特許出願に関連する。
本発明の実施例は、以下の説明及び実施例を説明する図を参照して理解される。本願明細書の図では、同一の要素を表す参照番号は、複数の図面で同一の参照番号により表される。例えば、システム100は図1にある。しかしながら、複数の図面内に示される同様の要素は、同一の参照番号を付与される。
プログラム可能な処理及びビデオ格納アーキテクチャの方法、装置及びシステムが説明される。以下の説明では、多くの詳細事項が説明される。しかしながら、本発明の実施例は、これらの特定の詳細を用いずに実施され得ることが理解されるだろう。他の例では、よく知られた回路、構造及び技術は、本願明細書の理解を不必要に不明瞭にすることを避けるため、詳細に示されない。本発明の実施例は、ビデオ処理及び格納に関して説明されるが、これらに制限されない。例えば、本発明の実施例は、音声、ビデオ及び/又は音声の一部であるメタデータ(例えば、関連する字幕、等)の処理及び格納を包含して良い。
この詳細な説明は、2つの節に分けられる。第1の節では、ハードウェア及び動作環境が説明される。第2の節では、プログラム可能なビデオ処理及びビデオ格納アーキテクチャのプログラム可能な処理装置の動作が説明される。第1及び第2の節は、更に分割されている。第1の節は、システムの説明、プログラム可能なビデオ処理装置の説明、プログラム可能なプロセッサーの説明、ポートリング及びプログラム可能なプロセッサーのポートの説明、及びプログラム可能なプロセッサー間の論理接続の説明に分かれている。第2の節は、プログラム可能なプロセッサー間のデータ送信動作の説明、及びプログラム可能な処理装置の複数の動作モードの説明に分かれている。
<ハードウェア及び動作環境>
この節では、ハードウェア及び動作環境が説明される。
この節では、ハードウェア及び動作環境が説明される。
[システムの説明]
図1は、本発明の実施例による、プログラム可能なビデオ処理及びビデオ格納アーキテクチャを有するシステム構成の簡単なブロック図を示す。図1に示されるように、システム100は、ビデオチューナー102、ビデオ信号プロセッサー104、プログラム可能な処理装置106、メモリー108、ビデオディスプレイプロセッサー110、及びビデオディスプレイ112を有する。ある実施例では、システム100は、異なる種類のテレビジョン、コンピューターモニター等のような、複数の異なる視聴装置内に存在し得る要素を有することができる。別の実施例では、一部の要素は、セットトップボックス、メディアセンター、等の一部であって良い。例えば、ビデオチューナー102、ビデオ信号プロセッサー104、プログラム可能な処理装置106及びメモリー108は、セットトップボックス内にあって良い。同時にビデオディスプレイプロセッサー110及びビデオディスプレイ112は、ディスプレイ装置(例えば、テレビジョン)内にあって良い。ある実施例では、メモリー108は、異なる種類のランダムアクセスメモリー(RAM)であって良い。例えば、メモリー108は、同期型DRAM(SDRAM)、DRAM、ダブルデータレート(DDR)同期型DRAM(SDRAM)、等であって良い。
図1は、本発明の実施例による、プログラム可能なビデオ処理及びビデオ格納アーキテクチャを有するシステム構成の簡単なブロック図を示す。図1に示されるように、システム100は、ビデオチューナー102、ビデオ信号プロセッサー104、プログラム可能な処理装置106、メモリー108、ビデオディスプレイプロセッサー110、及びビデオディスプレイ112を有する。ある実施例では、システム100は、異なる種類のテレビジョン、コンピューターモニター等のような、複数の異なる視聴装置内に存在し得る要素を有することができる。別の実施例では、一部の要素は、セットトップボックス、メディアセンター、等の一部であって良い。例えば、ビデオチューナー102、ビデオ信号プロセッサー104、プログラム可能な処理装置106及びメモリー108は、セットトップボックス内にあって良い。同時にビデオディスプレイプロセッサー110及びビデオディスプレイ112は、ディスプレイ装置(例えば、テレビジョン)内にあって良い。ある実施例では、メモリー108は、異なる種類のランダムアクセスメモリー(RAM)であって良い。例えば、メモリー108は、同期型DRAM(SDRAM)、DRAM、ダブルデータレート(DDR)同期型DRAM(SDRAM)、等であって良い。
ビデオチューナー102はビデオ信号プロセッサー104と結合される。ビデオ信号プロセッサー104はプログラム可能な処理装置106と結合される。プログラム可能な処理装置106はメモリー108及びビデオディスプレイプロセッサー110と結合される。ビデオディスプレイプロセッサー110はビデオディスプレイ112と結合される。ビデオチューナー102は信号114を受信するよう結合される。ある実施例では、信号114は無線周波数(RF)信号である。ビデオチューナー102は、信号114を受信し、信号114をビデオディスプレイ112で視聴するために現在選択されているチャネルに基づきアナログビデオ信号116に変換する。
ビデオ信号プロセッサー104は、アナログビデオ信号116を受信し、アナログビデオ信号116をデジタルビデオ信号118に変換する。ある実施例では、ビデオ信号プロセッサー104は、デジタルビデオ信号118へ変換する前に、アナログビデオ信号116をフィルターする。例えば、ビデオ信号プロセッサー104は、アナログビデオ信号116をフィルターし、隣接チャネルからの雑音を除去して良い。ある実施例では、ビデオ信号プロセッサー104は、アナログビデオ信号116をフィルターし、音声信号から雑音を除去する。デジタルビデオ信号118は、ビデオディスプレイ112に表示するための同期信号を有することができるデータストリームであって良い。
プログラム可能なビデオ処理106は、デジタルビデオ信号118を受信する。以下に更に説明されるように、ある実施例では、プログラム可能な処理装置106は、システム100の現在のモードに基づき、異なる動作を実行する。このようなある実施例では、プログラム可能な処理装置106は、2つのモード(1)格納モード及び(2)画像処理モードの1つで動作する。格納モードでは、システム100のユーザーは、システム100で受信されているビデオを保存又は再生して良い。ある実施例では、プログラム可能な処理装置106は、ビデオをメモリー108に格納する。説明のため、システム100はテレビジョンの一部であるとする。ユーザーは、信号114で受信されているビデオを保存して良い。例えば、ユーザーは、ビデオディスプレイ112で所与の時間の間に表示されているビデオを一時停止して良い。更に、格納モードでは、ユーザーは、ビデオディスプレイ112に表示されるビデオを再生し、それにより、到来するビデオをメモリー108に格納させて良い。
ある実施例では、ユーザーがプログラム可能な処理装置106を格納モードにしない場合、プログラム可能な処理装置106は、画像処理モードである。ある実施例では、プログラム可能な処理装置106は、メモリー108が表示のために格納されたビデオを有さない時まで、格納モードのままである。画像処理モードは、ユーザーがメモリー108内に保存されたビデオを再生しようとしない場合、又はユーザーがシステム100で受信されているビデオをメモリー108に保存しようとしない場合、有効にされ得る。以下に更に説明されるように、このようなある実施例では、プログラム可能な処理装置106は、到来するビデオ信号に対し拡張ビデオ処理を実行する。このような拡張は、ゴースト発生、雑音、ドットクロール等を減少させる。プログラム可能な処理装置106は、メモリー108を利用し、到来するビデオの複数のフレームを格納して良い。例えば、プログラム可能な処理装置106は、複数のフレームに亘る画像の拡張を実行して良い。例えば、プログラム可能な処理装置106は、複数のフレームに亘り時間的雑音低減を実行して良い。プログラム可能な処理装置106及びその動作は、以下に詳細に説明される。
ビデオディスプレイプロセッサー110は、ビデオをプログラム可能な処理装置106から受信し、ビデオディスプレイ112に表示するためにビデオに複数の動作を実行して良い。例えば、ビデオディスプレイプロセッサー110は、色設定、コントラスト設定、等に基づきビデオを調整して良い。ビデオディスプレイ112は、ビデオディスプレイプロセッサー110から信号を受信するよう結合される。ビデオディスプレイ112は複数の異なる種類のディスプレイであって良く、ある実施例では、ビデオディスプレイ112は、ブラウン管(CRT)、プラズマディスプレイ、液晶ディスプレイ(LCD)であって良い。
従って、本発明の実施例は、動作モードに基づき機能の選択を提供する、柔軟なプログラム可能なアーキテクチャを有する。このような機能は、デジタルビデオレコーダーの動作及びビデオの拡張画像処理をさせる動作を有する。従って、本発明の実施例を用いるディスプレイ装置は、ブロードバンドコンテンツの画質向上と同様に、所与のチャネルの巻き戻し、一時停止、早送り及び再生の機能を提供し得る。
[プログラム可能な処理装置の説明]
プログラム可能な処理装置106のある実施例を説明する。特に図2は、本発明の実施例による、プログラム可能な処理装置の詳細なブロック図を示す。示されるように、プログラム可能な処理装置106は、プログラム可能なプロセッサー202A−202Hを有する。プログラム可能なプロセッサー202A−202Hは、ポートリング250A−250Hをそれぞれ有する。以下に更に説明されるように、ポートリング250A−250Hは複数のポートを有し、このポートリングを通じてプログラム可能なプロセッサー202A−202Hはインターフェース(制御及びデータ)信号を送信する。ある実施例では、所与のポートリング250は8個のI/Oポートを有し、このようなI/Oポートのそれぞれは双方向接続であり、2つの独立した単方向データバスを通じてデータが同時に送信及び受信され得る。言い換えると、I/Oポートは、送信ポート及び受信ポートを有する。
プログラム可能な処理装置106のある実施例を説明する。特に図2は、本発明の実施例による、プログラム可能な処理装置の詳細なブロック図を示す。示されるように、プログラム可能な処理装置106は、プログラム可能なプロセッサー202A−202Hを有する。プログラム可能なプロセッサー202A−202Hは、ポートリング250A−250Hをそれぞれ有する。以下に更に説明されるように、ポートリング250A−250Hは複数のポートを有し、このポートリングを通じてプログラム可能なプロセッサー202A−202Hはインターフェース(制御及びデータ)信号を送信する。ある実施例では、所与のポートリング250は8個のI/Oポートを有し、このようなI/Oポートのそれぞれは双方向接続であり、2つの独立した単方向データバスを通じてデータが同時に送信及び受信され得る。言い換えると、I/Oポートは、送信ポート及び受信ポートを有する。
プログラム可能な処理装置106はまた、直接メモリーアクセス(DMA)装置204、DMA装置210、メモリーインターフェース206、入力/出力(I/O)インターフェース208、及びホストプロセッサー214を有する。図2は、8個のプログラム可能なプロセッサー202を示すが、実施例は制限されるものではなく、より多い及び/又はより少ない数のこのような要素がプログラム可能な処理装置106の実施例に組み込まれて良い。ある実施例では、ホストプロセッサー214は、汎用プロセッサーであって良い。I/Oインターフェース208は、I/O機器又は周辺構成要素へのインターフェースをプログラム可能な処理装置106に提供する。I/Oインターフェース208は、如何なる適切な通信接続をプログラム可能な処理装置106の異なる構成要素に提供する如何なる適切なインターフェース制御部を有して良い。ある実施例のI/Oインターフェース208は、適切な調停及びバッファリングを複数のインターフェースの1つに提供する。
示されるように、プログラム可能なプロセッサー202A−202Hの間の相互接続は、ポイントツーポイントの最も近い近隣の配置を設ける。所与のプログラム可能なプロセッサー202は、4個の他の構成要素(例えば、異なるプログラム可能なプロセッサー202、DMA装置204)とプログラム可能な処理装置106内で物理的に接続される。言い換えると、所与のプログラム可能なプロセッサー202は、プログラム可能な処理装置106内の他の全てのプログラム可能なプロセッサー202と物理的に接続されない。以下に更に説明されるように、データは送信元のプログラム可能なプロセッサー202から宛先のプログラム可能なプロセッサー202へ中間のプログラム可能なプロセッサー202を通じて送信されて良い。ある実施例では、中間の一連のプログラム可能なプロセッサー202を通じた送信では、データは中間のプログラム可能なプロセッサー202の受信ポートで受信され、ポートリング250を通じて、中間のプログラム可能なプロセッサー202の送信ポートで出力される。従って、如何なる中間のプログラム可能なプロセッサー202内のプロセッサー要素も、送信元から宛先のプログラム可能なプロセッサー202へのデータ送信の一部として、データに対し処理動作を実行しない。
ポートリング250Aを通じ、プログラム可能なプロセッサー202AはI/Oインターフェース208と2つのI/Oポートを通じて結合され、またプログラム可能なプロセッサー202Dのポートリング250Dと異なるI/Oポートを通じて結合される。ポートリング250Aを通じ、プログラム可能なプロセッサー202AはDMA装置204と2つの他の異なるI/Oポートを通じて結合される。ポートリング250Aを通じ、プログラム可能なプロセッサー202Aはまた、プログラム可能なプロセッサー202Bのポートリング250Bと2つの更に異なるI/Oポートを通じて結合される。更に、ポートリング250Aを通じ、プログラム可能なプロセッサー202Aは、プログラム可能なプロセッサー202Eのポートリング250Eと2つの他のI/Oポートを通じて結合される。
ポートリング250Bを通じ、プログラム可能なプロセッサー202BはDMA装置204と2つの他の異なるI/Oポートを通じて結合される。ポートリング250Bを通じ、プログラム可能なプロセッサー202Bはまた、プログラム可能なプロセッサー202Cのポートリング250Cと2つの他の異なるI/Oポートを通じて結合される。ポートリング250Bを通じ、プログラム可能なプロセッサー202Bはまた、プログラム可能なプロセッサー202Fのポートリング250Fと2つの更に異なるI/Oポートを通じて結合される。
ポートリング250Cを通じ、プログラム可能なプロセッサー202CはDMA装置204と2つの他の異なるI/Oポートを通じて結合される。ポートリング250Cを通じ、プログラム可能なプロセッサー202Cはまた、プログラム可能なプロセッサー202Dのポートリング250Dと2つの他の異なるI/Oポートを通じて結合される。ポートリング250Cを通じ、プログラム可能なプロセッサー202Cはまた、プログラム可能なプロセッサー202Gのポートリング250Gと2つの更に異なるI/Oポートを通じて結合される。
ポートリング250Dを通じ、プログラム可能なプロセッサー202DはDMA装置204と2つの他の異なるI/Oポートを通じて結合される。ポートリング250Dを通じ、プログラム可能なプロセッサー202DはDMA装置210と2つのI/Oポートを通じて結合され、またプログラム可能なプロセッサー202Aのポートリング250Aと異なるI/Oポートを通じて結合される。ポートリング250Dを通じ、プログラム可能なプロセッサー202Dはまた、プログラム可能なプロセッサー202Hのポートリング250Hと2つの更に異なるI/Oポートを通じて結合される。
ポートリング250Eを通じ、プログラム可能なプロセッサー202EはI/Oインターフェース208と2つのI/Oポートを通じて結合され、またプログラム可能なプロセッサー202Hのポートリング250Hと異なるI/Oポートを通じて結合される。ポートリング250Eを通じ、プログラム可能なプロセッサー202Eはまた、プログラム可能なプロセッサー202Fのポートリング250Fと2つの更に異なるI/Oポートを通じて結合される。更に、ポートリング250Eを通じ、プログラム可能なプロセッサー202Eは、プログラム可能なプロセッサー202Aのポートリング250Aと2つの他のI/Oポートを通じて結合される。
ポートリング250Fを通じ、プログラム可能なプロセッサー202Fはまた、プログラム可能なプロセッサー202Gのポートリング250Gと2つの他の異なるI/Oポートを通じて結合される。ポートリング250Fを通じ、プログラム可能なプロセッサー202Fはまた、プログラム可能なプロセッサー202Bのポートリング250Bと2つの更に異なるI/Oポートを通じて結合される。
ポートリング250Gを通じ、プログラム可能なプロセッサー202Gはまた、プログラム可能なプロセッサー202Hのポートリング250Hと2つの異なるI/Oポートを通じて結合される。ポートリング250Gを通じ、プログラム可能なプロセッサー202Gはまた、プログラム可能なプロセッサー202Cのポートリング250Cと2つの更に異なるI/Oポートを通じて結合される。
ポートリング250Hを通じ、プログラム可能なプロセッサー202HはDMA装置210と2つのI/Oポートを通じて結合され、またプログラム可能なプロセッサー202Eのポートリング250Eと異なるI/Oポートを通じて結合される。ポートリング250Hを通じ、プログラム可能なプロセッサー202Hはまた、プログラム可能なプロセッサー202Dのポートリング250Dと2つの更に異なるI/Oポートを通じて結合される。
I/Oインターフェース208はまた、異なる外部装置と外部から結合されて良い。ある実施例では、I/Oインターフェース208は、ビデオ信号プロセッサー104からのデジタルビデオ信号118と外部から結合され、またデジタルビデオ信号118をビデオディスプレイプロセッサー110へ送信するために外部から結合される。ある実施例では、I/Oインターフェース208は、他のプログラム可能な処理装置106と外部から結合されて良い。これにより、共に画像データを通信及び処理可能な複数のプログラム可能なプロセッサー202の数を拡張可能にする。ある実施例では、複数のプログラム可能な処理装置106は、共に連結され複数の異なるプログラム可能な処理装置106に亘りデータ処理を可能にして良い。
DMA装置204はメモリーインターフェース206と結合される。メモリーインターフェース206はメモリー108と結合される。以下に更に説明されるように、(プログラム可能なプロセッサー202の1つからの処理動作結果からの出力のような)データは、DMA装置204及びメモリーインターフェース206を通じメモリー108へ格納及び読み出し可能である。
ホストプロセッサー214は内部グローバルバス216と結合される。図2には示されないが、内部グローバルバス216は、プログラム可能な処理装置106内の異なる構成要素と結合される。従って、ホストプロセッサー214は、プログラム可能な処理装置106内の異なる構成要素のそれぞれと直接通信/設定して良い。
[プログラム可能なプロセッサーの説明]
図3は、本発明の実施例による、プログラム可能なプロセッサーの詳細なブロック図を示す。特に図3は、本発明の実施例による、プログラム可能なプロセッサー202の詳細なブロック図を示す。
図3は、本発明の実施例による、プログラム可能なプロセッサーの詳細なブロック図を示す。特に図3は、本発明の実施例による、プログラム可能なプロセッサー202の詳細なブロック図を示す。
プログラム可能なプロセッサー202は、入力プロセッサー要素302、出力プロセッサー要素304、複数のプロセッサー要素306A−306C、複数のレジスター308、複数のアクセラレーター装置310A−310B、メモリー314及びメモリー制御部316を有する。入力プロセッサー要素302、出力プロセッサー要素304、プロセッサー要素306A−306C、アクセラレーター装置310A−310B及びメモリー314(メモリー制御部316を通じて)は、レジスター308と結合される。レジスター308は、プロセッサー要素302、304及び306、アクセラレーター装置310A−310B及びメモリー314に、データを交換させ、及び所与のプロセッサー要素302、304及び306及びアクセラレーター装置310A−310Bに汎用レジスターとして利用され得る。更に、プロセッサー要素302、304及び306及びアクセラレーター装置310A−310Bは、複数のローカルレジスター(示されない)を有して良い。
ある実施例では、入力プロセッサー要素302、出力プロセッサー要素304及びプロセッサー要素306A−306Cは、命令メモリー及びデータ処理のための論理演算装置(ALU)を有する。入力プロセッサー要素302及び出力プロセッサー要素304は、プログラム可能なプロセッサー202とポートリング250を通じ、それぞれプログラム可能なプロセッサー202から入力されるデータを受信するため及び出力されるデータを送信するために結合される(プログラム可能なプロセッサー202は、図4−9を用い以下に詳細に説明される)。データの入力及び出力に加え、入力プロセッサー要素302及び/又は出力プロセッサー要素304は、(プロセッサー要素306A−306Cにより提供される処理と同様に)データを処理して良い。異なるプロセッサー要素306A−306Cは、汎用プロセッサー要素又は専用プロセッサー要素であって良い。例えば、プロセッサー要素306A−306Cは、積和演算(MAC)機能のための命令セットと共に汎用処理のための命令セットを有するMACプロセッサー要素であって良い。異なるプロセッサー要素306A−306Cは、汎用プロセッサー要素又は専用プロセッサー要素の組み合わせであって良い。例えば、プロセッサー要素306A及び306Cは、MACプロセッサー要素であって良く、同時にプロセッサー要素306Bは汎用プロセッサー要素であって良い。図3は、プログラム可能なプロセッサー202内の5個のプロセッサー要素を示すが、他の実施例では、より少ない又はより多い数のこのような要素がプログラム可能なプロセッサー202に組み込まれて良い。
入力プロセッサー要素302は、入力ポートとしてポートインターフェースを有する汎用プロセッサー要素である。ある実施例では、入力プロセッサー要素302内の命令は、レジスター308及び入力プロセッサー要素302内のローカルレジスターと共に追加の入力オペランドとしてポートを有する。出力プロセッサー要素304は、出力ポートとしてポートインターフェースを有する汎用プロセッサー要素である。ある実施例では、出力プロセッサー要素304内の命令は、レジスター308及び出力プロセッサー要素304内のローカルレジスターと共に追加の出力オペランドとしてポートを有する。
[プログラム可能なプロセッサーのポートリング及びポート]
図4は、本発明の実施例による、プログラム可能なプロセッサーのポートリング及び関連ポートを示す。プログラム可能なプロセッサー202は、ポートリング250を通じポート404A−404Hへデータを入力及び出力するよう結合される。示されるように、ある実施例では、ポート404A−404Hは、1つのプログラム可能なプロセッサー202から(異なるプログラム可能なプロセッサー202、DMA装置204、I/Oインターフェース208のような)異なる装置へデータを流す双方向データ接続である。
図4は、本発明の実施例による、プログラム可能なプロセッサーのポートリング及び関連ポートを示す。プログラム可能なプロセッサー202は、ポートリング250を通じポート404A−404Hへデータを入力及び出力するよう結合される。示されるように、ある実施例では、ポート404A−404Hは、1つのプログラム可能なプロセッサー202から(異なるプログラム可能なプロセッサー202、DMA装置204、I/Oインターフェース208のような)異なる装置へデータを流す双方向データ接続である。
所与のポート404A−404Hは、それぞれポート404へデータを受信及び404からデータを送信する、受信ポート及び送信ポートを有する。特に、ポート404A−404Hは、受信ポート406A−406H及び送信ポート408A−408Hをそれぞれ有する。受信ポートの実施例及び送信ポートの実施例は、それぞれ図6及び図7を用い以下に説明される。ある実施例では、プログラム可能なプロセッサー202は、(図2に示されるような)隣接する(最も近い近隣の)プログラム可能なプロセッサー202とポート404A−404Hを通じて結合される。
FIFOメモリーを有する(ポート404の1つの中の)受信及び送信ポートのある実施例を説明する。図5は、本発明の実施例による、送信機又は受信機内のFIFOメモリー及びメモリーの関連インターフェース信号を示す。
示されるように、FIFOメモリー500は、init_in信号506を受信し、init_out信号514を送信する。これらの信号は(以下に詳細に説明されるように)、異なるプログラム可能なプロセッサー202を通じてデータを送信するために用いられる論理接続の初期化及び生成のための制御信号である。FIFOメモリー500は、FIFOメモリー500のエントリーの1つにデータを入力するdata_in信号502を受信する。
FIFOメモリー500はまた、複数の許可/要求信号を示す。以下に更に説明されるように、ある実施例では、ポート404はハンドシェイクプロトコルを用い、これら許可/要求信号に基づきデータを送信する。従って、この許可/送信プロトコルは、データ駆動型アーキテクチャを可能にする。このアーキテクチャでは、画像処理動作は、以上のような動作が実行されるデータにより駆動される。
FIFOメモリー500は、request_in信号504を受信する。request_in信号504は、FIFOメモリー500のエントリーにデータを入力する異なるポートのFIFOメモリーからの制御信号である。FIFOメモリー500は、request_in信号504に応じて、grant_in信号508をこのFIFOメモリーへ送信し、このFIFOメモリーがFIFOメモリー500へデータを送信して良いことを示す。
FIFOメモリー500は、request_out信号512を異なるポートのFIFOメモリーへ送信し、本FIFOメモリー500からこの異なるFIFOメモリーへのデータ送信を要求する。本FIFOメモリー500は、request_out信号512に応じて、grant_out信号516をこの異なるFIFOメモリーから受信する。このgrant_out信号516は、異なるFIFOメモリーが本FIFOメモリー500からのデータを受信すると、本FIFOメモリー500に伝える。本FIFOメモリー500は、request_out信号512に応じてdata_out信号510を送信し、(grant_out信号516を通じ)データ送信を許可された異なるFIFOメモリーへデータを送信する。
図6は、本発明の実施例による、関連インターフェース信号と共に受信ポートの詳細なブロック図を示す。特に、図6は、(FIFO604を有する)受信ポート406及び関連するインターフェース信号のある実施例を示す。受信ポート406は、ポート404(図4に示される)の1つの中にあり、プログラム可能なプロセッサー202内へデータを受信する。
受信FIFO604は、インターフェース信号(grant_in信号508、data_in信号502、request_in信号504及びinit_in信号506)を、プログラム可能なプロセッサー202のポートリング250の外部にある送信ポート408から受信及び送信する。受信FIFO604はまた、インターフェース信号(複数のgrant_out信号516A−516N、data_out信号510、request_out信号512及びinit_out信号514)を、プログラム可能なプロセッサー202のポートリング250の内部にある送信ポート408又はプログラム可能なプロセッサー202内のプロセッサー要素から受信及び送信する。示されるように、grant_out信号516A−516Nは、マルチプレクサー602に受信される。受信ポート406は、選択信号606を用い、マルチプレクサー602に、受信FIFO604へ入力されるべきgrant_out信号516A−516Nの1つを選択させる。以上に説明されたように、ホストプロセッサー214は、プログラム可能なプロセッサー202を設定する。そしてプログラム可能なプロセッサー202内の1つのプロセッサー要素からの出力は、論理接続を通じて異なるプログラム可能なプロセッサー202内の異なるプロセッサー要素により処理されるために入力されて良い。従って、ホストプロセッサー214は、受信ポート406に選択信号606をアサートさせ、適切な送信ポート408/入力プロセッサー要素302からのgrant_out信号516を選択させる。
説明されたように、第1のプログラム可能なプロセッサー202内の第1の処理動作からの出力は、第2のプログラム可能なプロセッサー202へ送られ、第2の処理動作が実行されて良い。ある実施例によると、この出力は、複数のプログラム可能なプロセッサー202の複数のポート404を有する論理接続を通じて送信される。ある実施例では、初期化信号は、データが所与の論理接続へ送信される異なるポート404を通じて送信される。以上に説明されたように、プログラム可能な処理装置106のアーキテクチャでは、所与のプログラム可能なプロセッサー202は、他の全てのプログラム可能なプロセッサー202に直接接続されない。むしろ、プログラム可能なプロセッサー202は、隣接する(最も近い近隣の)装置と接続される。従って、データが1つのプログラム可能なプロセッサー202から別のプログラム可能なプロセッサー202へ送信される場合、論理接続は異なるプログラム可能なプロセッサー202の異なるポートを通じて確立され、データは送信元のプログラム可能なプロセッサー202から宛先のプログラム可能なプロセッサー202へ伝達する。
再び図2を参照する。プログラム可能なプロセッサー202C内のプロセッサー要素からの出力は、プログラム可能なプロセッサー202E内のプロセッサー要素へ送信され、更なる処理が行われるとする。複数の論理接続の1つは、プログラム可能なプロセッサー202Cからプログラム可能なプロセッサー202Eへ確立されて良い。論理接続のある例は、プログラム可能なプロセッサー202Cからプログラム可能なプロセッサー202Bへ、プログラム可能なプロセッサー202Aへ、そしてプログラム可能なプロセッサー202Eへと形成される。論理接続の別の例は、プログラム可能なプロセッサー202Cからプログラム可能なプロセッサー202Gへ、プログラム可能なプロセッサー202Fへ、そしてプログラム可能なプロセッサー202Eへと形成される。ある実施例では、ホストプロセッサー214は、同一の通信経路を利用し得る他のアクティブな論理接続に基づき、論理接続の選択を決定する。例えば、他の論理接続がプログラム可能なプロセッサー202Bからプログラム可能なプロセッサー202Aの間のポートを利用している場合、ホストプロセッサー214は、論理接続の後者の例を選択しデータ処理動作の待ち時間を減少して良い。
ある実施例では、データが発生するポート404は、初期化される。この初期化信号は、完全な論理接続を通じて伝達され、それによりこの所与の論理接続のデータ経路を初期化する。この初期化信号は登録され、長い論理接続を通ることから生じる累積伝達遅延を防ぐため、初期化信号がデータであるかのように、異なるポート404を通過する。ある実施例では、この初期化は、論理接続で用いられる受信及び送信FIFOのフラッシングを有して良い。従って、如何なるデータも前の論理接続からこれらFIFO内にあり、この初期化はFIFOからデータを削除させる。ある実施例では、これら異なるインターフェース信号は、このような方法で処理され、論理接続を通じた大きな連結遅延を防ぐ。従って、異なるプログラム可能なプロセッサー202間の経路選択は、論理接続のポートである異なるポートに登録されたポイントツーポイント接続を通じて処理される。
図7(A)−(G)は、本発明の実施例による、異なる送信ポートと通信する受信ポートの詳細なブロック図を示す。特に、図7(A)−(D)は、ポートリング250Bの外部にある送信ポート408Aと通信する受信ポート406の詳細なブロック図を示す。特に、図7(E)−(G)は、ポートリング250Bの内部にある送信ポート408Bと通信する受信ポート406の詳細なブロック図を示す。
図7(A)−(G)は、プログラム可能なプロセッサー202A及びプログラム可能なプロセッサー202Bを示す。プログラム可能なプロセッサー202A及びプログラム可能なプロセッサー202Bは、ポートリング250A及びポートリング250Bをそれぞれ有する。更に、プログラム可能なプロセッサー202A−202Bは、複数の受信及び送信ポートを有する。特に、所与のポート404(図4に示される)は、送信ポート及び受信ポートを有する。しかしながら、明確化のため、図7(A)−(G)は、所与のポート404の送信ポート又は受信ポートの何れかを示す。プログラム可能なプロセッサー202Aのポートリング250Aは、送信ポート408Aを有する。プログラム可能なプロセッサー202Bのポートリング250Bは、受信ポート406及び送信ポート408Bを有する。
図7(A)では、送信ポート408Aは、init_in信号506を受信ポート406へ送信し、(FIFO自身と受信ポート406の間の)論理接続の一部であるFIFOをフラッシュする。更に、図7(A)では、受信ポート406はこの初期化を、論理接続を通じ、init_out信号514として送信ポート408Bへポートリング250Bを通じて送信する。従って、論理接続は、送信ポート408A、受信ポート406A及び送信ポート408Bを有する。この論理接続は、複数の他のプログラム可能なプロセッサー202を有して良い。従って、この初期化は、送信ポート408Aにより異なるプログラム可能なプロセッサー202からポートリング250Aの内部受信ポート406の1つを通じて受信されて良い。更に、送信ポート408Bは、この初期化を別のプログラム可能なプロセッサー202へ送信して良い。論理接続の初期化が完了すると、データはこの論理接続を通じて送信されて良い。
図7(B)では、送信ポート408Aはrequest_in信号504を用い受信ポート406へのデータ入力を要求する。図7(C)では、request_in信号504に応じ、及び受信ポート406の受信FIFO604が格納可能になった後、受信ポート406は、grant_in信号508を用い、送信ポート408Aは受信ポート406へデータを送信して良いことを送信ポート408Aに示す。図7(D)では、送信ポート408Aは、data_in信号502を用い、request_in信号504及びgrant_in信号516がクロック信号を制御するプログラム可能な処理装置106のアクティブ端でアクティブな場合、受信ポート406の受信FIFO604に格納するデータを送信する。
更に図6に示されるように、受信ポート406は、共に同一のポートリング250の一部である送信ポート408Bからのインターフェース信号を送信及び受信する。図7(E)−(G)は、以上のような通信を示す。
図7(E)では、受信ポート406はrequest_out信号512を用い送信ポート408B(ポートリング250Bの内部送信ポートの1つ)へのデータ入力を要求する。図7(F)では、request_out信号512に応じ、送信ポート408Bは、grant_out信号516を受信ポート406へ送り返す。図7(G)では、受信ポート406は、data_out信号510を用い、request_out信号512及びgrant_out信号516がクロック信号を制御するプログラム可能な処理装置106のアクティブ端でアクティブな場合、送信ポート408Bへるデータを送信する。
更に図7(E)−(G)には示されないが、受信ポート406は、これらのインターフェース信号(request_out信号512、grant_out信号516及びdata_out信号510)を、入力プロセッサー要素302(図3に示される)へ/からプログラム可能なプロセッサー202Bへ送信/受信する。受信FIFO604内のデータが、プログラム可能なプロセッサー202内のプロセッサー要素(入力プロセッサー要素302、出力プロセッサー要素304及び/又はプロセッサー要素306A−306C)の1つに入力され処理される場合、受信ポート406は、request_out信号512を入力プロセッサー要素302へ送信する。受信ポート406内のデータが、プログラム可能なプロセッサー202(例えば、異なるプログラム可能なプロセッサー202、DMA装置204の1つ又は外部インターフェース208の1つ)の外部の装置へ送信される場合、受信ポート406は、request_out号512を適切な送信ポート408(論理接続の一部であるポート)へ送信する。
図8は、本発明の実施例による、関連インターフェース信号と共に送信ポートの詳細なブロック図を示す。特に、図8は、(送信FIFO806を有する)送信ポート408及び関連するインターフェース信号のある実施例を示す。送信ポート408は、ポート404(図4に示される)の1つの中にあり、プログラム可能なプロセッサー202内からデータを送出する。
示されるように、複数のinit_in信号506A−506H、複数のdata_in信号502A−502H及び複数のrequest_in信号504A−504Hは、このプログラム可能なプロセッサー202の内部にある(つまりプログラム可能なプロセッサー202のポートリング250の内部にある)受信ポート406の1つから、送信ポート408へ入力される。更に、grant_out信号516、request_out信号512、data_out信号510及びinit_out信号514は、送信ポート408から、このプログラム可能なプロセッサー202のポートリング250の外部にある受信ポート406へ出力される。
送信FIFO806は、インターフェース信号(複数のinit_in信号506A−506H、複数のdata_in信号502A−502H及び複数のrequest_in信号504A−504H)を、それぞれマルチプレクサー804A、マルチプレクサー804B及びマルチプレクサー804Cを通じて、プログラム可能なプロセッサー202のポートリング250の内部にある複数の受信ポート又は出力プロセッサー要素304(図8に示されない)から受信するよう結合される。
図9(A)−(E)は、本発明の実施例による、異なるインターフェース信号を使用する異なる受信ポートと通信する送信ポートの詳細なブロック図を示す。特に図9(A)は、送信ポート408が接続されているプログラム可能なプロセッサー202のポートリング250の内部にある要素からインターフェース信号を受信する送信ポート408の詳細なブロック図を示す。図9(B)−(E)は、送信ポート408が接続されているプログラム可能なプロセッサー202のポートリング250の外部にある受信ポート406からインターフェース信号を受信する送信ポート408の詳細なブロック図を示す。
図9(A)−(E)は、プログラム可能なプロセッサー202A及びプログラム可能なプロセッサー202Bを示す。プログラム可能なプロセッサー202A及びプログラム可能なプロセッサー202Bは、ポートリング250A及びポートリング250Bをそれぞれ有する。更に、プログラム可能なプロセッサー202A−202Bは、複数の受信及び送信ポートを有する。特に、所与のポート404(図4に示される)は、送信ポート及び受信ポートを有する。しかしながら、明確化のため、図9(A)−(E)は、所与のポート404の送信ポート又は受信ポートの何れかを示す。プログラム可能なプロセッサー202Aのポートリング250Aは、受信ポート406B−406H及び送信ポート408を有する。プログラム可能なプロセッサー202Bのポートリング250Bは、受信ポート406Aを有する。
図9(A)では、(プログラム可能なプロセッサー202内の)出力プロセッサー要素304は、init_in信号506A、data_in信号502A及びrequest_in信号504Aを送信するよう結合される。受信ポート406Bは、init_in信号506B、data_in信号502B及びrequest_in信号504Bを送信する。受信ポート406Cは、init_in信号506C、data_in信号502C及びrequest_in信号504Cを送信する。受信ポート406Dは、init_in信号506D、data_in信号502D及びrequest_in信号504Dを送信する。受信ポート406Eは、init_in信号506E、data_in信号502E及びrequest_in信号504Eを送信する。受信ポート406Fは、init_in信号506F、data_in信号502F及びrequest_in信号504Fを送信する。受信ポート406Gは、init_in信号506G、data_in信号502G及びrequest_in信号504Gを送信する。受信ポート406Hは、init_in信号506H、data_in信号502H及びrequest_in信号504Hを送信する。
図8では、送信ポート408内の送信FIFO806は、選択信号802を用い、マルチプレクサー804A−804Cにinit_in信号506の1つ、data_in信号502の1つ及びrequest_in信号504の1つを選択させる。以上に説明されたように、ホストプロセッサー214は、プログラム可能な処理装置106を設定する。そしてプログラム可能なプロセッサー202内の1つのプロセッサー要素からの出力は、論理接続を通じて異なるプログラム可能なプロセッサー202内の異なるプロセッサー要素により処理されるために入力されて良い。従って、ホストプロセッサー214は、送信FIFO806に選択信号802をアサートさせ、適切な送信元からのinit_in信号506、data_in信号502及びrequest_in信号504を選択させる。説明のため再び図2を参照する。受信ポートがデータをプログラム可能なプロセッサー202Bへ受信し、プログラム可能なプロセッサー202B内の送信ポート408を通じてプログラム可能なプロセッサー202A内の受信ポートへデータを出力する場合、ホストプロセッサー214は、この送信ポート408を設定し、この受信ポートから選択信号606を選択させる。
従って、選択された受信ポート406(又は選択された出力プロセッサー要素304)は、init_in信号506を用い、論理接続を初期化する。ある実施例では、この初期化は、論理接続で用いられる受信及び送信FIFOのフラッシングを有して良い。従って、如何なるデータも(論理接続の前に)これらFIFO内にあり、この初期化はFIFOからデータを削除させる。更に、選択された受信ポート406(又は選択された出力プロセッサー要素304)は、request_in信号504を用い、送信FIFO806への送信ポート408宛のデータを入力するよう要求する。選択された受信ポート406(又は選択された出力プロセッサー要素304)は、data_in信号502を用い、送信FIFO806へデータを送信する。
更に図8に示されるように、送信ポート408は、異なるプログラム可能なプロセッサー202(プログラム可能なプロセッサー202B)の受信ポート406Aからインターフェース信号を送信及び受信する。図9(B)−(E)は、以上のような通信を示す。
図9(B)では、送信ポート408は、init_out信号514を受信ポート406Aへ出力する。受信ポート406Aでは、(以上に説明されたように)データ送信に先立ち論理接続が生成される。図9(C)では、送信ポート408はrequest_out信号512を出力し受信ポート406Aの受信FIFOへのデータ入力を要求する。図9(D)では、それに応じて、受信ポート406Aの受信FIFO内の領域が利用可能になった後、受信ポート406Aは、送信ポート408により受信されるgrant_out信号516を出力する。図9(E)では、それに応じて、送信ポート408は、送信FIFO806から受信ポート406Aの受信FIFOへ、data_out信号510を用いてデータを出力する。
[プログラム可能なプロセッサー間の論理接続]
図10は、本発明の実施例による、送信元のプログラム可能なプロセッサーから宛先のプログラム可能なプロセッサーへの、所与の論理接続の複数の異なる経路を示す。以上に説明されたように、ホストプロセッサー214は、送信元のプログラム可能なプロセッサー202から宛先のプログラム可能なプロセッサー202へのデ―タ送信のために、複数の論理接続を確立できる。特に、第1のプログラム可能なプロセッサー202内の要素による1つの処理動作の出力は、第2のプログラム可能なプロセッサー202内の要素による異なる処理動作の入力として用いられて良い。
図10は、本発明の実施例による、送信元のプログラム可能なプロセッサーから宛先のプログラム可能なプロセッサーへの、所与の論理接続の複数の異なる経路を示す。以上に説明されたように、ホストプロセッサー214は、送信元のプログラム可能なプロセッサー202から宛先のプログラム可能なプロセッサー202へのデ―タ送信のために、複数の論理接続を確立できる。特に、第1のプログラム可能なプロセッサー202内の要素による1つの処理動作の出力は、第2のプログラム可能なプロセッサー202内の要素による異なる処理動作の入力として用いられて良い。
例えば、プログラム可能な処理装置106は、画像処理モード(以下に詳細に説明される)であるとする。第1のプログラム可能なプロセッサー202は、ビデオ内のゴースト低減処理を実行して良い。同時に第2のプログラム可能なプロセッサー202は、第1のプログラム可能なプロセッサー202からの出力を受信し、ビデオ内の雑音低減処理を実行して良い。第3のプログラム可能なプロセッサー202は、第2のプログラム可能なプロセッサー202からの出力を受信し、ビデオ内のドットクロール低減処理を実行して良い。ある実施例では、(以下に詳細に説明されるように)あるプログラム可能なプロセッサー202は所与の動作を実行するための専用のハードウェアアクセラレーターを有して良いので、異なるプログラム可能なプロセッサー202は、異なるデータ処理を実行する。
更にこの例では、1つのプログラム可能なプロセッサー202の動作の出力は、異なるプログラム可能なプロセッサー202へ直接送信されている。しかしながら、本発明の実施例は制限されるものではない。ある実施例では、1つのプログラム可能なプロセッサー202は、メモリー104の1つへ動作の出力を送信して良い。従って、第2のプログラム可能なプロセッサー202は、メモリー104から格納されたデータを読み出して良い。このような動作は、第2のプログラム可能なプロセッサー202が、第1の動作からのある量の出力を、動作に先立ち要求する場合に用いられて良い。例えば、第2のプログラム可能なプロセッサー202は、複数のビデオフレームに亘り時間的雑音低減を実行して良い。従って、第1のプログラム可能なプロセッサー202からの出力は、所定の数のフレームが処理されるまで、メモリー108に格納される。更にこの例では、第1のプログラム可能なプロセッサー202は、到来するビデオのゴースト低減動作を実行し続けて良い。同時に、第2のプログラム可能なプロセッサー202は、(以上に説明されたように)出力されるビデオの時間的雑音低減動作を実行して良い。同様に、プログラム可能な処理装置106は、格納モード(以下に更に詳細に説明される)の間、異なるプログラム可能なプロセッサー202に亘る複数の動作を実行して良い。
プロセッサーのアーキテクチャは、(図2に示されたように)ポイントツーポイント構成を有するので、第1のプログラム可能なプロセッサー202は、第2のプログラム可能なプロセッサー202へ直接接続されないかもしれない。従って、第1のプログラム可能なプロセッサー202(送信元のプログラム可能なプロセッサー202)から第2のプログラム可能なプロセッサー202(宛先のプログラム可能なプロセッサー202)への複数の中間のプログラム可能なプロセッサー202を通じた論理接続が確立される。
図10は、図2のプログラム可能な処理装置106と共に、プログラム可能なプロセッサー202Aからプログラム可能なプロセッサー202Hへの所与の論理接続のための5個の異なる経路を示す。
論理接続のための第1の経路1002は、プログラム可能なプロセッサー202A(送信元のプログラム可能なプロセッサー)から開始し、プログラム可能なプロセッサー202D(第1の中間のプログラム可能なプロセッサー)のポートリング250Dを通過し、そしてプログラム可能なプロセッサー202H(宛先のプログラム可能なプロセッサー)のポートリング250Hで終了する。特に、データは、プログラム可能なプロセッサー202Aのポートリング250Aの送信ポートから、プログラム可能なプロセッサー202Dのポートリング250Dの受信ポートへ送信される。プログラム可能なプロセッサー202Dのポートリング250Dの受信ポートは、プログラム可能なプロセッサー202Dのポートリング250Dの送信ポートへ(プログラム可能なプロセッサー202Dのポートリング250Dを通じて)データを送信する。このプログラム可能なプロセッサー202Dのポートリング250Dの送信ポートは、プログラム可能なプロセッサー202Hのポートリング250Hの受信ポートへデータを送信する。
論理接続のための第2の経路1004は、プログラム可能なプロセッサー202A(送信元のプログラム可能なプロセッサー)から開始し、プログラム可能なプロセッサー202E(第1の中間のプログラム可能なプロセッサー)を通過し、そしてプログラム可能なプロセッサー202H(宛先のプログラム可能なプロセッサー)で終了する。特に、データは、プログラム可能なプロセッサー202Aのポートリング250Aの送信ポートから、プログラム可能なプロセッサー202Eのポートリング250Eの受信ポートへ送信される。プログラム可能なプロセッサー202Eのポートリング250Eの受信ポートは、プログラム可能なプロセッサー202Eのポートリング250Eの送信ポートへ(プログラム可能なプロセッサー202Eのポートリング250Eを通じて)データを送信する。このプログラム可能なプロセッサー202Eのポートリング250Eの送信ポートは、プログラム可能なプロセッサー202Hのポートリング250Hの受信ポートへデータを送信する。
論理接続のための第3の経路1006は、プログラム可能なプロセッサー202A(送信元のプログラム可能なプロセッサー)から開始し、プログラム可能なプロセッサー202E(第1の中間のプログラム可能なプロセッサー)を通過し、プログラム可能なプロセッサー202F(第2の中間のプログラム可能なプロセッサー)を通過し、プログラム可能なプロセッサー202G(第3の中間のプログラム可能なプロセッサー)を通過し、そしてプログラム可能なプロセッサー202H(宛先のプログラム可能なプロセッサー)で終了する。特に、データは、プログラム可能なプロセッサー202Aのポートリング250Aの送信ポートから、プログラム可能なプロセッサー202Eのポートリング250Eの受信ポートへ送信される。プログラム可能なプロセッサー202Eのポートリング250Eの受信ポートは、プログラム可能なプロセッサー202Eのポートリング250Eの送信ポートへ(プログラム可能なプロセッサー202Eのポートリング250Eを通じて)データを送信する。このプログラム可能なプロセッサー202Eのポートリング250Eの送信ポートは、プログラム可能なプロセッサー202Fのポートリング250Fの受信ポートへデータを送信する。プログラム可能なプロセッサー202Fのポートリング250Fの受信ポートは、プログラム可能なプロセッサー202Fのポートリング250Fの送信ポートへ(プログラム可能なプロセッサー202Fのポートリング250Fを通じて)データを送信する。このプログラム可能なプロセッサー202Fのポートリング250Fの送信ポートは、プログラム可能なプロセッサー202Gのポートリング250Gの受信ポートへデータを送信する。プログラム可能なプロセッサー202Gのポートリング250Gの受信ポートは、プログラム可能なプロセッサー202Gのポートリング250Gの送信ポートへ(プログラム可能なプロセッサー202Gのポートリング250Gを通じて)データを送信する。このプログラム可能なプロセッサー202Gのポートリング250Gの送信ポートは、プログラム可能なプロセッサー202Hのポートリング250Hの受信ポートへデータを送信する。
論理接続のための第4の経路1008は、プログラム可能なプロセッサー202A(送信元のプログラム可能なプロセッサー)から開始し、プログラム可能なプロセッサー202B(第1の中間のプログラム可能なプロセッサー)を通過し、プログラム可能なプロセッサー202C(第2の中間のプログラム可能なプロセッサー)を通過し、プログラム可能なプロセッサー202D(第3の中間のプログラム可能なプロセッサー)を通過し、そしてプログラム可能なプロセッサー202H(宛先のプログラム可能なプロセッサー)で終了する。特に、データは、プログラム可能なプロセッサー202Aのポートリング250Aの送信ポートから、プログラム可能なプロセッサー202Bのポートリング250Bの受信ポートへ送信される。プログラム可能なプロセッサー202Bのポートリング250Bの受信ポートは、プログラム可能なプロセッサー202Bのポートリング250Bの送信ポートへ(プログラム可能なプロセッサー202Bのポートリング250Bを通じて)データを送信する。このプログラム可能なプロセッサー202Bのポートリング250Bの送信ポートは、プログラム可能なプロセッサー202Cのポートリング250Cの受信ポートへデータを送信する。プログラム可能なプロセッサー202Cのポートリング250Cの受信ポートは、プログラム可能なプロセッサー202Cのポートリング250Cの送信ポートへ(プログラム可能なプロセッサー202Cのポートリング250Cを通じて)データを送信する。このプログラム可能なプロセッサー202Cのポートリング250Cの送信ポートは、プログラム可能なプロセッサー202Dのポートリング250Dの受信ポートへデータを送信する。プログラム可能なプロセッサー202Dのポートリング250Dの受信ポートは、プログラム可能なプロセッサー202Dのポートリング250Dの送信ポートへ(プログラム可能なプロセッサー202Dのポートリング250Dを通じて)データを送信する。このプログラム可能なプロセッサー202Dのポートリング250Dの送信ポートは、プログラム可能なプロセッサー202Hのポートリング250Hの受信ポートへデータを送信する。
論理接続のための第5の経路1010は、プログラム可能なプロセッサー202A(送信元のプログラム可能なプロセッサー)から開始し、プログラム可能なプロセッサー202B(第1の中間のプログラム可能なプロセッサー)を通過し、プログラム可能なプロセッサー202F(第2の中間のプログラム可能なプロセッサー)を通過し、プログラム可能なプロセッサー202G(第3の中間のプログラム可能なプロセッサー)を通過し、そしてプログラム可能なプロセッサー202H(宛先のプログラム可能なプロセッサー)で終了する。従って、示されるように、複数の異なる経路の1つは、2つの異なるプログラム可能なプロセッサー202の間の論理接続を確立するために利用され得る。特に、データは、プログラム可能なプロセッサー202Aのポートリング250Aの送信ポートから、プログラム可能なプロセッサー202Bのポートリング250Bの受信ポートへ送信される。プログラム可能なプロセッサー202Bのポートリング250Bの受信ポートは、プログラム可能なプロセッサー202Bのポートリング250Bの送信ポートへ(プログラム可能なプロセッサー202Bのポートリング250Bを通じて)データを送信する。このプログラム可能なプロセッサー202Bのポートリング250Bの送信ポートは、プログラム可能なプロセッサー202Fのポートリング250Fの受信ポートへデータを送信する。プログラム可能なプロセッサー202Fのポートリング250Fの受信ポートは、プログラム可能なプロセッサー202Fのポートリング250Fの送信ポートへ(プログラム可能なプロセッサー202Fのポートリング250Fを通じて)データを送信する。このプログラム可能なプロセッサー202Fのポートリング250Fの送信ポートは、プログラム可能なプロセッサー202Gのポートリング250Gの受信ポートへデータを送信する。プログラム可能なプロセッサー202Gのポートリング250Gの受信ポートは、プログラム可能なプロセッサー202Gのポートリング250Gの送信ポートへ(プログラム可能なプロセッサー202Gのポートリング250Gを通じて)データを送信する。このプログラム可能なプロセッサー202Gのポートリング250Gの送信ポートは、プログラム可能なプロセッサー202Hのポートリング250Hの受信ポートへデータを送信する。
説明されたように、中間のプログラム可能なプロセッサー202を通じた伝達は、ポートリング250のポート404を通り、プロセッサー要素又はプログラム可能なプロセッサー202内部の他の要素を通らない。従って、中間のプログラム可能なプロセッサー202内のプロセッサー要素は、送信元から宛先のプログラム可能なプロセッサー202及び宛先のプログラム可能なプロセッサー202から送信されるデータに対し如何なる種類の動作も実行しない。
従って、このアーキテクチャは、配線で接続された設定可能なポイントツーポイント接続の組み合わせを利用する。送信ポートは、所定の宛先と接続されるが、プログラム可能な処理装置106のダイの直接配線も可能である。しかしながら、所与の送信ポートは、送信データのために複数の送信元の1つを選択できる。更に、受信ポートは、複数の送信ポートにデータを利用可能にする。このアーキテクチャは、データの効率的な経路選択及びプログラム可能なプロセッサー202のポートリング250内の制御を可能にする。更に、論理接続を通じた初期化信号の伝送は、データの送信元において、データが伝送される論理経路を単一箇所で消去することを可能にし、そして中間の接続がデータ転送の前又は後に消去又は無効にする必要をなくす。更に、不確定なデータ量を送信及び返送又は遅延させる論理接続は、送信元で開始し論理接続を伝達する単一の命令で消去される。
<プログラム可能な処理装置の動作>
ある実施例による、プログラム可能な処理装置106の動作を説明する。
ある実施例による、プログラム可能な処理装置106の動作を説明する。
[プログラム可能なプロセッサー間のデータ送信動作]
図11は、本発明の実施例による、プログラム可能な処理装置内の論理接続の確立及び初期化のフロー図を示す。
図11は、本発明の実施例による、プログラム可能な処理装置内の論理接続の確立及び初期化のフロー図を示す。
ブロック1102では、データ送信のために確立されるべき論理接続の設定データが受信される。図2を参照すると、異なるプログラム可能なプロセッサー202(送信元のプログラム可能なプロセッサー、中間のプログラム可能なプロセッサー及び宛先のプログラム可能なプロセッサー)は、データ送信のために確立されるべき論理接続のための設定データを受信する。ある実施例では、ホストプロセッサー214は、この設定データをこれらのプログラム可能なプロセッサー202へ内部グローバルバス212を通じて送信する。ある実施例では、ホストプロセッサー214は、論理接続の一部であるプログラム可能なプロセッサー202内へマイクロコードをダウンロードして良い。例えば、ホストプロセッサー214は、特別なアプリケーションを送信元及び/又は宛先のプログラム可能なプロセッサー202内へダウンロードして良い。制御はブロック1104で継続する。
ブロック1104では、論理接続が確立される。図6及び図8を参照すると、受信ポート406及び送信ポート408は(論理接続の一部としてこれらを通じ、データは送信される)、受信した設定データに基づき論理接続を確立する。以上に説明されたように、受信ポート406は、選択信号606を用い、どのgrant_out信号516がマルチプレクサー602により選択されるかを決定する。例えば、受信ポート406Aで受信されたデータが、送信するため送信ポート408Dへ出力され場合、設定データは、受信ポート406Aに選択信号606を用い、送信ポート408Dと接続されるgrant_out信号516を選択させる。同様に、送信ポート408は選択信号802を用い、どのrequest_in信号504、data_in信号502及びinit_in信号506が、それぞれマルチプレクサー804C、マルチプレクサー804B及びマルチプレクサー804Aに選択されるかを決定する。制御はブロック1106で継続する。
ブロック1106では、論理接続が初期化される。図2、図6及び図8を参照すると、この論理接続を開始する送信元のプログラム可能なプロセッサー202の送信ポート408は、init_out信号514を、この論理接続に含まれる次の送信元のプログラム可能なプロセッサー202の受信ポート406へ送信する。この受信ポート406は、この信号をinit_in信号506として受信し、init_out信号514としてこの送信元のプログラム可能なプロセッサー202内の送信ポートへ出力する。このinit_out信号514の送信及びinit_in信号506の受信は、論理接続と共に、宛先のプログラム可能なプロセッサー202の送信ポート408に到達するまで続く。従って、この初期化信号は、論理接続に含まれる異なるポートを初期化する。ある実施例では、この初期化は、論理接続で用いられる受信及び送信FIFOのフラッシングを有して良い。従って、如何なるデータも前の論理接続からこれらFIFO内にあり、この初期化はFIFOからデータを削除させる。
ある実施例では、一連の処理動作は、プログラム可能な処理装置106内の異なるプログラム可能なプロセッサー202の異なる要素により実行される。第1の処理動作の出力は、第2の処理動作の入力として利用される、等である。以上に説明されたように、論理接続は、異なるプログラム可能なプロセッサー202へのデータ送信のために確立される。従って、論理接続は、プログラム可能な処理装置106内のある要素から、プログラム可能な処理装置106内の異なる要素への送信毎に確立される。プログラム可能な処理装置106内のデータ処理のある実施例を説明する。図12は、本発明の実施例による、プログラム可能な処理装置によるデータ処理のフロー図を示す。特にフロー図1200は、本発明の実施例による、プログラム可能な処理装置106内のプログラム可能なプロセッサー202の1つによるデータ処理を示す。
ブロック1202では、データストリームが受信される。図2を参照すると、第1のプログラム可能なプロセッサー202は、複数の送信元の1つからデータストリームを受信する。例えば、プログラム可能なプロセッサー202Aは、(ビデオ信号プロセッサー104のような)外部の送信元からデータストリームを受信して良い。プログラム可能なプロセッサー202Aはまた、メモリー108からメモリーインタ―フェース206及びDMA装置204を通じてデータストリームを受信して良い。制御はブロック1204で継続する。
ブロック1204では、データストリームは、第1のプログラム可能なプロセッサーで処理される。図2を参照すると、第1のプログラム可能なプロセッサー202内の要素(例えば、プロセッサー要素302、304、306A−306Cの1つ又はアクセラレーター装置310A−310Bの1つ)は、第1の処理動作を実行する。入力プロセッサー要素302は、受信ポート406を通じてデータを受信する。ある実施例では、プロセッサー要素302、304、306A−306Cは、受信データに処理動作を実行する。ある実施例では、処理動作が関連する論理接続の設定の一部として、ホストプロセッサー214は、第1のプログラム可能なプロセッサー202内のどの要素が処理動作を実行すべきかを決定する。従って、入力プロセッサー要素302は、メモリー314にデータを格納して良く、指定された要素は、データを読み出し及び前記データに対し第1の処理を実行する。第1のプログラム可能なプロセッサー202は、データストリームの一部を処理した結果を出力すると同時に、データストリームの異なる部分の処理を続けて良い。例えば、第1のプログラム可能なプロセッサー202は、第1のビデオフレームを処理した結果を出力すると同時に、次のビデオフレームの処理を続けて良い。制御はブロック1206で継続する。
ブロック1206では、処理動作の出力は、異なるプログラム可能なプロセッサー又はメモリーへ論理接続を通じて送信されて良い。図2及び図3を参照すると、(第1の処理動作が実行されるプログラム可能なプロセッサー202内の)出力プロセッサー要素304は、処理動作の出力を、設定された論理接続の一部である送信ポート408を通じて、異なるプログラム可能なプロセッサー202又はメモリー108へ設定された論理接続を通じて送信する。制御はブロック1208で継続する。
ブロック1208では、結果は、異なるプログラム可能なプロセッサーで処理される。(ブロック1204で説明された)第1のプログラム可能なプロセッサー202内の処理と同様に、異なるプログラム可能なプロセッサー202内の要素(例えば、プロセッサー要素302、304、306A−306Cの1つ又はアクセラレーター装置310A−310Bの1つ)は、異なる画像処理動作を実行する。制御はブロック1210で継続する。
ブロック1210では、データストリームの処理動作が完了したか否かが決定される。特に、データストリームの一部を処理している現在のプログラム可能なプロセッサー202は、その動作の出力が異なるプログラム可能なプロセッサー202又はメモリー108へ論理接続を通じ送信されるべきか否かを、ホストプロセッサー214から受信した設定データに基づき決定する。特に、ホストプロセッサー214は、データストリームを受信し、そして5個の異なるプログラム可能なプロセッサー202内で5個の異なる圧縮/格納処理を実行するよう、プログラム可能な処理装置106を設定して良い。従って、ホストプロセッサー214は、5個の異なるプログラム可能なプロセッサー202へ所与の順序でデータを送信するよう、異なる論理接続を設定する。データストリームの処理動作が完了していないと判定されると、制御はブロック1006で継続し、処理結果は異なるプログラム可能なプロセッサー202又はメモリー108へ出力される。ブロック1206及び1206の動作は、データストリームの処理動作が完了するまで続く。
ブロック1212では、データストリームの処理動作が完了したと判定されると、結果が出力される。図2を参照すると、ある実施例では、現在のモードが格納モードの場合、データストリームを処理するプログラム可能なプロセッサーの連鎖の最後のプログラム可能なプロセッサー202は、メモリー108へ結果を出力する。図1を参照すると、ある実施例では、現在のモードが画像処理モードの場合、最後のプログラム可能なプロセッサー202は、ビデオディスプレイプロセッサー110へI/Oインターフェース208を通じ結果を出力する。
プログラム可能なプロセッサー202の異なるポート間の、ハンドシェイクプロトコルに基づくデータ送信の動作のある実施例を説明する。特に、図13(A)−(B)は、本発明の実施例による、プログラム可能なプロセッサー内の異なるポートのメモリー間の通信のフロー図を示す。例として及び制限ではなく、フロー図1300及び1330の動作は、これら異なるポート内のFIFOメモリーが深さ2(例えば、2エントリーのFIFO)を有するように示される。図13(A)は、ポートのメモリーへデータを受信するフロー図を示す。図13(B)は、ポートのメモリーからデータを送出するフロー図を示す。
ブロック1302では、データの受信要求は、プログラム可能なプロセッサーのポートリングの受信ポートへ受信される。図6を参照すると、受信ポート406は、request_in信号504を通じてデータの受信要求を受信する。以上に説明されたように、受信ポート406と結合された送信ポート408は、この要求を送信する。制御はブロック1304で継続する。
ブロック1304では、受信ポートの受信FIFOが全て使われているか否かが判定される。図6を参照すると、受信ポート406は、受信FIFO604が全て使われているか否かを判定する。受信ポート406の受信FIFO604が全て使われていると判定されると、制御は、この判定が再び行われるブロック1304で継続する。ある実施例では、この要求は、所定の期間の後タイムアウトして良く、アラームがホストプロセッサー214へ発行され、フロー図1300の動作は中止される。
ブロック1306では、受信ポート406の受信FIFO604が全て使われていないと判定されると、受信FIFOが半分使われているか否かの判定が行われる。以上に説明されたように、受信FIFO604は、深さ2を有するとして説明された。図6を参照すると、受信ポート406は、受信FIFO604が半分使われているか否かを判定する。言い換えると、受信ポート406は、受信FIFO604が空であるか又は1エントリーのデータを有するか否かを判定する。受信FIFO604が半分使われていない(つまり、受信FIFOは空である)と判定されると、制御は、以下に更に説明されるブロック1310で継続する。
ブロック1308では、受信FIFO604が半分使われていると判定されると、受信FIFOの第1のエントリーに格納されたデータは、受信FIFOの第2のエントリーへ移動される。図6を参照すると、受信ポート406は、受信FIFO604の第1のエントリーに格納されたデータを第2のエントリーへ移動する。制御はブロック1310で継続する。
ブロック1310では、許可は、要求している送信ポート(受信ポートへのデータ送信を要求している送信ポート)へ送られる。図6を参照すると、受信ポート406は、送信ポート408はデータを受信FIFO604へ送信して良いことを示すgrant_in信号508を通じ、送信ポート408へ許可を送信する。制御はブロック1312で継続する。
ブロック1312では、受信データは、受信ポートの受信FIFOへ格納される。図6を参照すると、受信ポート406は、送信ポート408はデータからdata_in信号502を通じて受信された、受信FIFO604の第1のエントリーへ受信データを格納する。
ポートのメモリーの外部へデータを送信する実施例は、図13(B)のフロー図1330を用いて説明される。ブロック1332では、データを受信ポートへ出力する要求が送信される。図8を参照すると、送信ポート408は、(送信ポート408が結合される)受信ポート406へrequest_out信号512を通じてデータを出力する要求を送信する。制御はブロック1334で継続する。
ブロック1334では、許可が受信ポートから受信されたか否かが判定される。図8を参照すると、送信ポート408は、許可が受信ポート406から受信されたか否かをgrant_out信号516の値に基づき判定する。許可が受信ポート406から受信されていないと判定されると、制御は、送信ポート408が再びこの判定を行うブロック1334で継続する。ある実施例では、この許可の検査は、所定の期間の後タイムアウトして良く、アラームがホストプロセッサー214へ発行され、フロー図1300の動作は中止される。
ブロック1336では、許可が受信ポートから受信されたと判定されると、送信FIFOが半分使われているか否かの判定が行われる。図8を参照すると、送信ポート408は、送信FIFO806が半分使われているか否かを判定する。フロー図1330の動作は開始されているので、送信FIFO806は空ではないとする。
ブロック1338では、送信FIFOが半分使われていない(送信FIFOは全て使われている)と判定されると、送信FIFOの第2のエントリーからのデータは、受信FIFOへ出力される。図8を参照すると、送信ポート408は、送信FIFO806の第2のエントリーからのデータをdata_out信号510を通じ、受信FIFOへ出力する。これによりフロー図1330の動作を終了する。
ブロック1340では、送信FIFOが半分使われていると判定されると、送信FIFOの第1のエントリーからのデータは、受信FIFOへ出力される。図8を参照すると、送信ポート408は、送信FIFO806の第1のエントリーからのデータをdata_out信号510を通じ、受信FIFOへ出力する。これによりフロー図1330の動作を終了する。
フロー図1300及び1330は、異なるポートリングの一部である受信及び送信ポート間の通信を説明する。説明されたハンドシェイクプロトコルの動作は、同じポートリングの一部である受信及び送信ポート間の通信にも適用される。更に、このようなハンドシェイクプロトコルの動作は、それぞれ入力プロセッサー要素302及び出力入力プロセッサー要素304へのデータ入力及び出力にも適用される。
従って、図13(A)−(B)に説明されたように、ある実施例では、画像処理動作のデータ駆動型アーキテクチャは、このハンドシェイクプロトコルに基づき、異なるポートを通じて論理接続へデータを送信する。バブルはクロック周期であり、如何なるデータトランザクションも生じない(つまり、データは所与のクロック周期で移動されない)。例えば、データは開始時には送信される状態になく、及び/又はデータは論理接続の終端で読み出されない。従って、データは論理接続に送出されないので、論理接続に空き空間があり得る。更に、説明されたように、送信元のプログラム可能なプロセッサー又は宛先のプログラム可能なプロセッサーにおけるデータ遅延状況のため、バブルが論理接続で形成される場合、データは単一の信号クロック周期の間、一時停止される。言い換えると、受信及び送信ポート内のFIFOメモリーは、論理接続内のバブルが、論理接続内のデ―タフローの中止及び再開から増大しないようにする。本発明の実施例では、バブルの後の論理接続の何れかの終端において遅延を強制しない。バブルはプログラム可能な処理装置106に、(回復のためバブル自体に関するクロック周期より多くのクロック周期を要求し得る)再同期を要求しない。
[プログラム可能な処理装置の複数のモードの動作]
プログラム可能な処理装置106の複数のモードの動作を説明する。図14は、本発明の実施例による、プログラム可能な処理装置の複数の動作モードのフロー図を示す。
プログラム可能な処理装置106の複数のモードの動作を説明する。図14は、本発明の実施例による、プログラム可能な処理装置の複数の動作モードのフロー図を示す。
フロー図1400のブロック1402では、ビデオが受信される。図1の実施例を参照すると、プログラム可能な処理装置106は、ビデオ信号プロセッサー104からI/Oインターフェース208を通じてビデオを受信する。ある実施例では、受信ビデオは、デジタルデータストリームである。
ブロック1404では、システムが格納モードか否かが判定される。図2の実施例を参照すると、ホストプロセッサー214はこの判定を行う。このようなある実施例では、システム100は、2つのモード(1)格納モード又は(2)画像処理モードの1つである。ホストプロセッサー214は、システム100のユーザーからの入力に基づきこの決定を行って良い。ある実施例では、システム100は、テレビジョン(又はセットトップボックス又はそれに接続されたメディアセンターの一部)内にあり、ユーザーはリモコンを用いて現在のモードを選択する。例えば、ユーザーは、ビデオディスプレイ112へのビデオの表示を一時停止する場合、システム100を格納モードにして良い。ユーザーはまた、ビデオディスプレイ112で表示されているビデオを巻き戻す場合、システム100を格納モードにして良い。従って、ホストプロセッサー214は、ユーザーからのこの入力を受信する。ある実施例では、システム100内のI/Oロジック(示されない)は、システム100の入力を受信及び処理して良い。このようなI/Oロジックは、この入力をホストプロセッサー214へ送って良い。
ある実施例では、システム100の現在のモードは、メモリー108が格納されたビデオを有さない時まで、格納モードのままである。例えば、ユーザーがビデオディスプレイ112の表示の一時停止動作を中断した場合(これによりビデオディスプレイ112は表示を再開する)、システム100は、メモリー108が格納されたビデオを有さなくなるまで格納モードのままである。従って、メモリー108が格納されたビデオを有さない場合、システム100は、ユーザーが早送り動作(例えばコマーシャルをスキップする)を実行するまで、格納モードのままで良い。このような動作は、メモリー108からのビデオの出力レートをメモリー108へ到来するビデオの入力レートを超過させる。
システム100の現在のモードが格納モードではない(画像処理モードである)と決定されると、制御は、以下に更に説明されるブロック1412で継続する。システム100の現在のモードが格納モードであると決定されると、制御は、以下に更に説明されるブロック1406及び1410で継続する。
ブロック1406では、ビデオが圧縮される。図2及び図3の実施例を参照すると、1つ以上のプログラム可能なプロセッサー202内の1つ以上のプロセッサー要素は、ビデオを圧縮する。ある実施例では、ビデオの圧縮の一部として、複数の異なる雑音低減動作を実施して良い。ある実施例では、ビデオの圧縮は、画像の拡大縮小、フレームレートの減少、等を有して良い。説明のため再び図2を参照すると、プログラム可能なプロセッサー202A内のプロセッサー要素は、雑音低減動作を実行して良い。プログラム可能なプロセッサー202Eは、この雑音低減動作からの出力を受信できる。プログラム可能なプロセッサー202E内のプロセッサー要素は、画像拡大縮小動作を通じてビデオの画像を減少できる。プログラム可能なプロセッサー202Hは、この拡大縮小動作からの出力を受信して良い。プログラム可能なプロセッサー202H内のプロセッサー要素は、フレームレート減少動作を通じてビデオを更に圧縮して良い。
従って、この例で説明されたように、ある実施例では、ホストプロセッサー214は、適切なマイクロコードを適切なプログラム可能なプロセッサー202へダウンロードする。特に、ホストプロセッサー214は、システム100の現在のモードが変化した場合、プログラム可能なプロセッサー202内へマイクロコードをダウンロードして良い。例えば、プログラム可能なプロセッサー202内のプロセッサー要素は、拡張ビデオ処理動作(以下に更に説明される)を、画像処理モードの一部として実行するよう設定されているとする。従って、システム100の現在のモードは、格納モードへ変更された後、ホストプロセッサー214は、フレームレート減少動作のため、マイクロコードをプログラム可能なプロセッサー202H内へダウンロードして良い。
更に、ホストプロセッサー214は、(以上に図10を参照して説明されたように)処理のためにプログラム可能なプロセッサー間の論理接続を設定して良い。ある実施例では、少なくとも1つのプログラム可能なプロセッサー202は、その結果を、続けて異なるプログラム可能なプロセッサー202により読み出されるメモリー108へ格納するよう設定されて良い。例えば、圧縮動作の1つが複数のビデオフレームに亘り実行される場合、所与の数のビデオフレームは、異なるプログラム可能なプロセッサー202による処理の前に、メモリー108へ格納されて良い。
再び異なるプログラム可能なプロセッサー内の異なるプロセッサー要素が異なる圧縮動作を実行する上記の例に戻ると、ホストプロセッサー214は、I/Oインターフェース208からプログラム可能なプロセッサー202Aへの論理接続を確立する。ホストプロセッサー214はまた、プログラム可能なプロセッサー202Aからプログラム可能なプロセッサー202Eへの論理接続を確立する。ホストプロセッサー214はまた、プログラム可能なプロセッサー202Eからプログラム可能なプロセッサー202Hへの論理接続を確立する。制御はブロック1408で継続する。
ブロック1408では、圧縮されたビデオが格納される。図2の実施例を参照すると、プログラム可能なプロセッサー202は、圧縮されたビデオを格納する。以上に説明されたように、ある実施例では、複数の圧縮動作は、ビデオに対し少なくとも1つのプログラム可能なプロセッサー202により実行される。圧縮動作を終了するプログラム可能なプロセッサー202は、メモリー108へ圧縮されたビデオを格納して良い。ブロック1406に関して以上に説明された例に戻ると、フレームレート減少動作の後、プログラム可能なプロセッサー202は、この結果をメモリー108へ(以上に説明されたように所与のプログラム可能なプロセッサー202とメモリー108の間の)論理接続を通じて格納する。
ブロック1410では、ビデオは制御入力に基づき(拡張ビデオ処理とは独立に)表示される。以上に説明されたように、ある実施例では、システム100は、テレビジョン又は他の視聴装置の一部である。このような装置のユーザーは、ビデオディスプレイ112のビデオの表示を制御する。例えば、ユーザーはリモコンを用いビデオディスプレイ112でビデオを一時停止、再生、早送り又は再生して良い。従って、制御入力は、ユーザーから受信されホストプロセッサー214へ送信される。制御入力がビデオを再生するものなら、ホストプロセッサー214は、複数の論理接続を確立し、メモリー108に格納されているビデオを解凍し、ビデオディスプレイ112で表示するため、そのビデオをビデオディスプレイプロセッサー110へ出力する。
説明のため、画像拡大縮小動作及びフレームレート減少動作は、メモリー108に格納されたビデオを圧縮するために実行されるとする。従って、ホストプロセッサー214は、伸長動作を実行するプログラム可能なプロセッサー202間に論理接続を確立する。例えば、論理接続は、メモリー108とプログラム可能なプロセッサー202Fの間に確立されて良い。プログラム可能なプロセッサー202F内のプロセッサー要素は、圧縮されたビデオをメモリー108から読み出し、(例えば、補間を利用し)ビデオにフレームを再挿入して良い。異なる論理接続は、プログラム可能なプロセッサー202Fとプログラム可能なプロセッサー202Dの間に確立されて良い。プログラム可能なプロセッサー202Fからの結果のビデオは、プログラム可能なプロセッサー202Dへ確立された論理接続を通じて送信される。プログラム可能なプロセッサー202Dは、画像拡大縮小動作を実行し、ビデオの画像サイズを増大させて良い。別の論理接続は、プログラム可能なプロセッサー202DとI/Oインターフェース208の間に確立されて良い。プログラム可能なプロセッサー202Dからの結果のビデオは、I/Oインターフェース208へ確立された論理接続を通じて送信される。ビデオはビデオディスプレイプロセッサー110へ出力される。
複数の圧縮動作と伸長動作の間に1対1の関係があるように説明されたが、実施例は制限されるものではない。説明のため以上に説明された例に戻ると、ある実施例では、ビデオへのフレームの再挿入は、伸長及び表示の実行を向上するために行われない。
(ブロック1410における)制御入力に基づくビデオの表示に関し、ビデオディスプレイ112へのビデオの表示は、一時停止されて良い。従って、以上に説明された伸長動作は、実行されない。更に、プログラム可能な処理装置106は、(以上にブロック1406及び1408で説明されたように)メモリー108へ到来するビデオを圧縮及び格納し続ける。
制御入力に基づき、ビデオディスプレイ112へのビデオの表示は、再生されて良い。ホストプロセッサー214は、ビデオは再生されるべきであると示す制御入力を受信する。従って、ホストプロセッサー214は、制御入力が変化するか又はメモリー108が格納されたビデオを有さなくなるまで前のフレームを伸長し逆の順序に表示するよう、プログラム可能なプロセッサー202を設定する。
制御入力に基づき、ビデオディスプレイ112へのビデオの表示は、到来するビデオが表示されているビデオになるまで、早送りされて良い。例えば、システム100のユーザーは、コマーシャルをスキップしたいと望むかも知れない。従って、ホストプロセッサー214は、ビデオが再生される場合と比較して速いレートでビデオを伸長及び表示するよう、プログラム可能なプロセッサー202を設定する。
フロー図1400に戻ると、ブロック1412で、システム100が格納モードではない(画像処理モードである)と決定されると、拡張ビデオ処理が実行される。図2の実施例を参照すると、1つ以上のプログラム可能なプロセッサー202内の1つ以上のプロセッサー要素は、拡張ビデオ処理を実行する。ある実施例では、拡張ビデオ処理は、ゴースト低減動作、(空間的、時間的、等の)雑音低減動作、ドットクロール低減動作、等を有する。
説明のため図2に戻ると、ある実施例では、ホストプロセッサー214は、I/Oインターフェース208と(以上に説明されたように)拡張ビデオ処理に関連する異なるプログラム可能なプロセッサー202の間の論理接続を確立する。更に、ホストプロセッサー214は、拡張ビデオ処理動作の一部として実行されるべきマイクロコードをダウンロードして良い。例えば、プログラム可能なプロセッサー202Bはゴースト低減動作を実行するよう設定され、プログラム可能なプロセッサー202Hは空間的雑音低減動作を実行するよう設定され、プログラム可能なプロセッサー202Cは時間的雑音低減動作を実行するよう設定され、そしてプログラム可能なプロセッサー202Eはドットクロール低減動作を実行するよう設定されているとする。
従って、ホストプロセッサー214は、マイクロコードをプログラム可能なプロセッサー202B、プログラム可能なプロセッサー202H、プログラム可能なプロセッサー202C及び/又はプログラム可能なプロセッサー202Eへダウンロードして良い。ホストプロセッサー214はまた、(データが受信される)I/Oインターフェース208から(ゴースト低減動作が実行される)プログラム可能なプロセッサー202Bへ論理接続を確立する。ホストプロセッサー214はまた、プログラム可能なプロセッサー202B及び(空間的雑音低減動作が実行される)プログラム可能なプロセッサー202Hからの論理接続を確立する。更に、時間的雑音低減動作は、複数のビデオデータフレーム対し実行され、ホストプロセッサー214は、プログラム可能なプロセッサー202Hから(時間的雑音低減動作の前に複数のビデオデータフレームを格納するための)メモリー108へ論理接続を確立するとする。ホストプロセッサー214はまた、メモリー108からプログラム可能なプロセッサー202Cへの論理接続を確立する。従って、所与の数のビデオデータフレームが、プログラム可能なプロセッサー202Hの出力からメモリー108へ格納された後、フレームは、(時間的雑音低減動作が実行される)プログラム可能なプロセッサー202Cへ入力される。ホストプロセッサー214はまた、プログラム可能なプロセッサー202C及び(ドットクロール低減動作が実行される)プログラム可能なプロセッサー202Eからの論理接続を確立する。ホストプロセッサー214はまた、プログラム可能なプロセッサー202Eから表示のためにビデオデータが出力されるI/Oインターフェース208への論理接続を確立する。
ブロック1414では、拡張ビデオ処理を用い、ビデオが表示される。図1及び図2の実施例を参照すると、I/Oインターフェース208は、表示のためビデオデータをビデオディスプレイプロセッサー110へ出力する。
従って、ある実施例では、システム100の現在のモードが変更された後、現在の動作は割り込まれ、制御は、ブロック1404においてシステムのモードに関する決定が行われる、ポイント1で継続する。例えば、現在のモードが画像処理モードであり、ユーザーが一時停止ボタンを選択肢ビデオディスプレイ112の表示を一時停止した場合、現在のモードは格納モードに変更され、制御は割り込まれ、ポイント1で継続する。
フロー図1400は、格納の前のビデオの圧縮を示すが、本発明の実施例は、これに制限されない。別の実施例では、ビデオは受信され圧縮動作なしにメモリー108へ格納される。
説明では、ロジックの実装、オペレーションコード、オペランドの指定手段、資源分割/共有/二重化の実装、システム要素の種類及び相互関係、及びロジックの分割/統合の選択が、本発明の完全な理解を提供するために説明された。しかしながら、当業者は、本発明の実施例がそのような特定の詳細にかかわらず実施されて良いことを理解するだろう。他の例では、制御構造、ゲートレベルの回路及び全体のソフトウェア命令シーケンスは、本願明細書の理解を不必要に不明瞭にすることを避けるため、詳細に示されない。当業者は、以上の説明により必要以上の実験なしに適切な機能を実施し得る。
本願明細書における「ある実施例」、「実施例」等の表現は、実施例と関連付けられて説明される特定の機能、構造、又は特徴が、本発明の実施例に包含されるが、各実施例は特定の機能、構造、又は特徴を必ずしも含まなくて良いことを意味する。更に、このような表現は必ずしも同一の実施例を参照しない。更に、特定の機能、構造、又は特徴が実施例を用いて説明された場合、当業者は、明示されているか否かに関わらず、これら特定の機能、構造、又は特徴が他の実施例と関連することを理解するだろう。
本発明の実施例は、機械読み取り可能な媒体により提供される機械により実行可能な命令に組み込まれ得る機能、方法又は処理を包含する。機械読み取り可能な媒体は、機械(例えば、コンピューター、通信装置、パーソナルデジタルアシスタント、製造ツール、1つ以上のプロセッサーを有する如何なる装置、等)によりアクセス可能な形式で情報を提供する(つまり格納及び/又は送信する)実施例では、機械読み取り可能な媒体は、揮発性及び/又は不揮発性媒体(例えば、読み出し専用メモリー(ROM)、ランダムアクセスメモリー(RAM)、磁気ディスク記憶媒体、光学式記憶媒体、フラッシュメモリー素子、等)とともに、電子的、光学的、音響的又は他の形式の伝搬信号(例えば、搬送波、赤外線信号、デジタル信号、等)を含む。
このような命令は、汎用又は専用プロセッサーに、命令を設定させ、本発明の実施例の方法及び処理を実行させるために利用される。また、本発明の実施例の機能又は動作は、動作を実行するための配線されたロジックを有する特定のハードウェア要素により、又は設定されたデータ処理要素及び特定のハードウェア要素により、実行される。本発明の実施例は、ソフトウェア、データ処理を行うハードウェア、データ処理を行うシステムに実装された方法、及び種々の処理動作、さらに本願明細書に記載されたものを包含する。
複数の図は、本発明の実施例に関連するプログラム可能なビデオ処理/格納アーキテクチャのシステム及び装置のブロック図を示す。複数の図は、プログラム可能なビデオ処理/格納アーキテクチャの動作を説明するフロー図を示す。フロー図の動作は、ブロック図に示されたシステム/装置を参照して説明された。しかしながら、フロー図の動作は、ブロック図を参照して説明されたシステム及び装置の実施例以外によっても実行され得るものであり、及びシステム/装置を参照して説明された実施例は、フロー図を参照して説明された以外の動作を実行し得るものであることが理解されるだろう。
本願明細書で説明された実施例の種々の置き換えが可能であり、この詳細な説明は、説明のみを目的とし、従って本発明の範囲を制限するものではない。説明のため、動作は、プログラム可能な処理装置106を参照して説明されたが、本発明の実施例、これらに制限されない。例えば、ある実施例では、複数の動作モードが、単一の汎用プロセッサーで実行されるソフトウェアアプリケーションにより実行されて良い。更に、ビデオ処理に関して説明されたが、本発明の実施例はこれらに制限されない。例えば、ある実施例では、複数の動作モードが、音声、音声と映像の組み合わせ等、他の種類のデータ処理に適用されて良い。更に本願明細書に記載の実施例の可能な置き換えを説明するため、複数の動作モードが2つのモードを参照して説明されたが、本発明の実施例は制限されるものではなく、このようなモードのより多くの数が可能である。例えば、ある実施例では、プログラム可能な処理装置106の第3のモードがビデオ処理の他の機能を包含して良い。更に実施例は、RF信号が受信されアナログ信号が生成されるアナログチューナーに関して説明されたが、本発明の実施例は、制限されるものではない。例えば、ある実施例では、ビデオチューナー102は、RF信号を受信しデジタル信号を生成するデジタルチューナーであって良い。本発明の請求の範囲は、従って、請求項の範囲と精神に包含される全てのこのような変形及び等価物を包含する。従って、本願明細書及び図は、制限的なものでなく説明のためであると見なされる。
Claims (30)
- 方法であって、
ビデオディスプレイ装置にビデオを受信する段階、
前記ビデオディスプレイ装置は格納モードであると決定されると、少なくとも1つのプロセッサーにより、前記ビデオをメモリーに格納する段階、
前記ビデオディスプレイ装置は画像処理モードであると決定されると、拡張画像処理を前記ビデオに前記少なくとも1つのプロセッサーで実行する段階、
を有する、方法。 - 前記ビデオディスプレイ装置は格納モードであると決定されると、前記ビデオを前記メモリーに格納する前に、前記少なくとも1つのプロセッサーにより、前記ビデオを圧縮する段階を更に有する、請求項1記載の方法。
- 前記少なくとも1つのプロセッサーにより、前記ビデオを圧縮する段階は、前記少なくとも1つのプロセッサーの第1のプロセッサーにより、前記ビデオのフレーム減少を実行する段階を有する、請求項2記載の方法。
- 前記少なくとも1つのプロセッサーにより、前記ビデオを圧縮する段階は、前記少なくとも1つのプロセッサーの第2のプロセッサーにより、前記ビデオの拡大縮小を実行する段階を有する、請求項3記載の方法。
- 前記ビデオに拡張画像処理を実行する段階は、ゴースト低減動作を実行する段階を有する、請求項1記載の方法。
- 前記ビデオに拡張画像処理を実行する段階は、雑音低減動作を実行する段階を有する、請求項1記載の方法。
- 前記少なくとも1つのプロセッサーで前記ビデオに拡張画像処理を実行する段階は、前記少なくとも1つのプロセッサーの第1のプロセッサーで前記ビデオに第1の拡張画像処理動作を実行する段階、及び前記少なくとも1つのプロセッサーの第2のプロセッサーで前記ビデオに第2の拡張画像処理動作を実行する段階、を有する、請求項1記載の方法。
- 前記第1の拡張画像処理動作の出力を前記第1のプロセッサーから前記第2のプロセッサーへ第3のプロセッサーへの経路を有する論理接続を通じて送信する段階を更に有し、前記第3のプロセッサーは、前記出力を論理接続を通じて送信する段階の一部として前記出力に処理動作を実行するよう設定されない、請求項7記載の方法。
- 装置であって、
メモリーと結合された入力/出力インターフェース、及び
前記装置の現在のモードが画像処理モードである場合、ビデオに第1の拡張画像処理動作を実行する第1のプログラム可能なプロセッサー、を有し、及び前記第1のプログラム可能なプロセッサーは、前記装置の現在のモードが格納モードである場合、前記メモリーに前記ビデオを格納する、装置。 - 前記装置の現在のモードが画像処理モードである場合、前記ビデオに第2の拡張画像処理動作を実行する第2のプログラム可能なプロセッサー、を更に有し、前記装置の現在のモードが格納モードである場合、前記第2のプロセッサーは、前記ビデオを前記メモリーに格納する前に前記ビデオにビデオ圧縮動作を実行する、請求項9記載の装置。
- 前記ビデオ圧縮動作は、画像拡大縮小動作及びフレームレート減少動作を有するグループから選択される、請求項10記載の装置。
- 前記装置の現在のモードが画像処理モードである場合、前記ビデオに第3の拡張画像処理動作を実行する第3のプログラム可能なプロセッサー、を更に有し、前記装置の現在のモードが格納モードである場合、前記第3のプロセッサーは、前記ビデオ圧縮動作の前に前記ビデオに雑音低減動作を実行する、請求項10記載の装置。
- 前記装置を有するビデオディスプレイ装置のユーザーから制御入力を受信するホストプロセッサーを更に有し、前記制御入力は、現在のモードに変化を生じさせ、前記制御入力が現在のモードからの変化を生じさせる場合、前記ホストプロセッサーは、前記第1のプログラム可能なプロセッサー内のマイクロコードを更新する、請求項9記載の装置。
- 装置であって、
メモリー、
前記装置の現在のモードが画像処理モードである場合、ビデオに第1の拡張画像処理動作を実行し、及び前記装置の現在のモードが格納モードである場合、前記ビデオに圧縮動作を実行する、第1のプログラム可能なプロセッサー、並びに、
前記第1の拡張画像処理動作からの出力を第3のプログラム可能なプロセッサーを通る経路を有する第1の論理接続を通じて受信し、前記装置の現在のモードが画像処理モードである場合、前記ビデオに第2の拡張画像処理動作を実行し、前記装置の現在のモードが格納モードである場合、前記圧縮動作からの出力を第4のプログラム可能なプロセッサーを通る経路を有する第2の論理接続を通じて受信し、前記ビデオを前記メモリーに格納する、第2のプログラム可能なプロセッサー、
を有する、装置。 - 前記装置を有するビデオディスプレイ装置のユーザーから制御入力を受信するホストプロセッサーを更に有し、前記制御入力は現在のモードに変化を生じさせ、前記装置の現在のモードが格納モードである場合、前記ホストプロセッサーは前記第1の論理接続を生成し、前記装置の現在のモードが画像処理モードである場合、前記ホストプロセッサーは前記第2の論理接続を生成する、請求項14記載の装置。
- 前記制御入力が現在のモードからの変化を生じさせる場合、前記ホストプロセッサーは、前記第1のプログラム可能なプロセッサー及び前記第2のプログラム可能なプロセッサー内のマイクロコードを更新する、請求項15記載の装置。
- 現在のモードを格納モードにさせる前記制御入力は、前記ビデオディスプレイ装置のビデオの表示の一時停止動作である、請求項16記載の装置。
- 現在のモードを格納モードにさせる前記制御入力は、前記ビデオディスプレイ装置のビデオの表示の巻き戻し動作である、請求項16記載の装置。
- システムであって、
信号を受信し、前記信号からの周波数でアナログビデオ信号を抽出するビデオチューナー、
前記アナログビデオ信号を受信し、前記アナログビデオ信号をデジタルビデオ信号へ変換する、ビデオ信号プロセッサー、
ダブルデータレート(DDR)ランダムアクセスメモリー(RAM)、及び
少なくとも1つのプログラム可能なプロセッサー及びホストプロセッサーを有するプログラム可能な処理装置、
を有し、
前記ホストプロセッサーは、前記システムが格納モードである場合、前記デジタルビデオ信号を圧縮しDDR RAMに格納するよう前記少なくとも1つのプログラム可能なプロセッサーを設定し、前記ホストプロセッサーは、前記システムが画像処理モードである場合、少なくとも1つの画像処理動作を実行するよう前記少なくとも1つのプログラム可能なプロセッサーを設定する、
システム。 - 前記少なくとも1つのプログラム可能なプロセッサーは、前記少なくとも1つの画像処理動作を前記デジタルビデオ信号の複数のフレームに亘って実行する、請求項19記載のシステム。
- 前記少なくとも1つのプログラム可能なプロセッサーの第1のプログラム可能なプロセッサーは、前記少なくとも1つの画像処理動作の第1の画像処理動作の結果をDDR RAMに格納し、前記少なくとも1つのプログラム可能なプロセッサーの第2のプログラム可能なプロセッサーは、前記DDR RAMから前記結果を読み出し、前記少なくとも1つの画像処理動作の第2の画像処理動作を実行する、請求項19記載のシステム。
- 前記少なくとも1つの画像処理動作は、ゴースト低減動作、時間的雑音低減動作及び空間的雑音低減動作を有するグループから選択される、請求項19記載のシステム。
- 機械により実行された場合に前記機械に動作を実行させる命令を提供する機械読み取り可能な媒体であって、
ビデオをビデオディスプレイ装置へ受信する段階、
前記ビデオディスプレイ装置は格納モードであると決定されると、少なくとも1つのプロセッサーにより、前記ビデオを前記メモリーに格納する段階、及び
前記ビデオディスプレイ装置は画像処理モードであると決定されると、前記少なくとも1つのプロセッサーで、前記ビデオに拡張画像処理動作を実行する段階、
を有する、機械読み取り可能な媒体。 - 前記ビデオディスプレイ装置は格納モードであると決定されると、前記ビデオを前記メモリーに格納する前に、少なくとも1つのプロセッサーにより、前記ビデオを圧縮する段階を更に有する、請求項23記載の機械読み取り可能な媒体。
- 前記少なくとも1つのプロセッサーにより、前記ビデオを圧縮する段階は、前記少なくとも1つのプロセッサーの第1のプロセッサーにより、前記ビデオのフレーム減少を実行する段階を有する、請求項24記載の機械読み取り可能な媒体。
- 前記少なくとも1つのプロセッサーにより、前記ビデオを圧縮する段階は、前記少なくとも1つのプロセッサーの第2のプロセッサーにより、前記ビデオの拡大縮小を実行する段階を有する、請求項25記載の機械読み取り可能な媒体。
- 前記ビデオに拡張画像処理を実行する段階は、ゴースト低減動作を実行する段階を有する、請求項23記載の機械読み取り可能な媒体。
- 前記ビデオに拡張画像処理を実行する段階は、雑音低減動作を実行する段階を有する、請求項23記載の機械読み取り可能な媒体。
- 前記少なくとも1つのプロセッサーで前記ビデオに拡張画像処理を実行する段階は、前記少なくとも1つのプロセッサーの第1のプロセッサーで前記ビデオに第1の拡張画像処理を実行する段階、及び前記少なくとも1つのプロセッサーの第2のプロセッサーで前記ビデオに第2の拡張画像処理を実行する段階、を有する、請求項23記載の機械読み取り可能な媒体。
- 前記第1の拡張画像処理動作の出力を前記第1のプロセッサーから前記第2のプロセッサーへ第3のプロセッサーを通る経路を有する論理接続を通じて送信する段階を更に有し、前記第3のプロセッサーは、前記出力を論理接続を通じて送信する段階の一部として前記出力に処理動作を実行するよう設定されない、請求項29記載の機械読み取り可能な媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/750,544 US8812749B2 (en) | 2003-12-31 | 2003-12-31 | Programmable video processing and video storage architecture |
US10/750,544 | 2003-12-31 | ||
PCT/US2004/043080 WO2005067290A2 (en) | 2003-12-31 | 2004-12-24 | Programmable video processing and video storage architecture |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2007520115A JP2007520115A (ja) | 2007-07-19 |
JP2007520115A6 true JP2007520115A6 (ja) | 2009-12-24 |
JP5085137B2 JP5085137B2 (ja) | 2012-11-28 |
Family
ID=34749332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006547296A Expired - Fee Related JP5085137B2 (ja) | 2003-12-31 | 2004-12-24 | 装置、方法、システム、機械読み取り可能な媒体 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8812749B2 (ja) |
JP (1) | JP5085137B2 (ja) |
KR (1) | KR100829647B1 (ja) |
CN (1) | CN100551005C (ja) |
DE (1) | DE112004002609T5 (ja) |
GB (1) | GB2423212B (ja) |
TW (1) | TWI285364B (ja) |
WO (1) | WO2005067290A2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040257372A1 (en) * | 2003-06-19 | 2004-12-23 | Lippincott Louis A. | Communication ports in a data driven architecture |
US7889951B2 (en) * | 2003-06-19 | 2011-02-15 | Intel Corporation | Processor to processor communication in a data driven architecture |
US8812749B2 (en) | 2003-12-31 | 2014-08-19 | Intel Corporation | Programmable video processing and video storage architecture |
CA2847360C (en) * | 2011-08-30 | 2020-03-24 | Allure Energy, Inc. | Resource manager, system, and method for communicating resource management information for smart energy and media resources |
CN102883199A (zh) * | 2012-09-29 | 2013-01-16 | 鸿富锦精密工业(深圳)有限公司 | 分体式电视及应用于所述分体式电视的控制盒 |
KR20140129607A (ko) * | 2013-04-30 | 2014-11-07 | 주식회사 칩스앤미디어 | 동영상 처리 방법 및 장치 |
CN105824389A (zh) * | 2015-09-10 | 2016-08-03 | 维沃移动通信有限公司 | 一种高保真的处理方法和装置 |
CN110619694A (zh) * | 2019-09-23 | 2019-12-27 | 北京百度网讯科技有限公司 | 存储感测数据的方法、装置、电子设备和计算机可读存储介质 |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4065808A (en) * | 1975-01-25 | 1977-12-27 | U.S. Philips Corporation | Network computer system |
JPS6364178A (ja) | 1986-08-29 | 1988-03-22 | インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション | 画像処理システム |
US4933836A (en) | 1986-10-29 | 1990-06-12 | United Technologies Corporation | n-Dimensional modular multiprocessor lattice architecture |
US4891751A (en) * | 1987-03-27 | 1990-01-02 | Floating Point Systems, Inc. | Massively parallel vector processing computer |
US5689647A (en) * | 1989-03-14 | 1997-11-18 | Sanyo Electric Co., Ltd. | Parallel computing system with processing element number setting mode and shortest route determination with matrix size information |
US5617577A (en) * | 1990-11-13 | 1997-04-01 | International Business Machines Corporation | Advanced parallel array processor I/O connection |
US5151783A (en) * | 1991-06-05 | 1992-09-29 | Faroudja Y C | Digital television with enhancement |
JPH0556372A (ja) | 1991-08-27 | 1993-03-05 | Toshiba Corp | Dsp使用テレビジヨン受像機 |
US5541640A (en) * | 1992-06-23 | 1996-07-30 | Larson; Craig R. | Videophone for simultaneous audio and video communication via a standard telephone line |
JPH0656732A (ja) | 1992-08-07 | 1994-03-01 | Teijin Ltd | アミンを用いたアルデヒド誘導体の製造方法 |
JPH06125539A (ja) | 1992-10-14 | 1994-05-06 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化装置 |
JPH06139210A (ja) | 1992-10-26 | 1994-05-20 | Toshiba Corp | 映像信号処理装置 |
US5557734A (en) * | 1994-06-17 | 1996-09-17 | Applied Intelligent Systems, Inc. | Cache burst architecture for parallel processing, such as for image processing |
US5630161A (en) * | 1995-04-24 | 1997-05-13 | Martin Marietta Corp. | Serial-parallel digital signal processor |
US5802278A (en) * | 1995-05-10 | 1998-09-01 | 3Com Corporation | Bridge/router architecture for high performance scalable networking |
KR100269106B1 (ko) * | 1996-03-21 | 2000-11-01 | 윤종용 | 멀티프로세서 그래픽스 시스템 |
US6389174B1 (en) | 1996-05-03 | 2002-05-14 | Intel Corporation | Video transcoding with interim encoding format |
JP3119584B2 (ja) * | 1996-06-20 | 2000-12-25 | 日本電気株式会社 | ゴースト除去装置 |
US5911056A (en) * | 1997-05-01 | 1999-06-08 | Hewlett-Packard Co. | High speed interconnect bus |
US6188381B1 (en) | 1997-09-08 | 2001-02-13 | Sarnoff Corporation | Modular parallel-pipelined vision system for real-time video processing |
US6151069A (en) | 1997-11-03 | 2000-11-21 | Intel Corporation | Dual mode digital camera for video and still operation |
US6125147A (en) | 1998-05-07 | 2000-09-26 | Motorola, Inc. | Method and apparatus for reducing breathing artifacts in compressed video |
US6598145B1 (en) * | 1999-02-12 | 2003-07-22 | Avici Systems | Irregular network |
JP3824440B2 (ja) * | 1999-03-09 | 2006-09-20 | 三菱電機株式会社 | 撮像装置 |
US6757019B1 (en) * | 1999-03-13 | 2004-06-29 | The Board Of Trustees Of The Leland Stanford Junior University | Low-power parallel processor and imager having peripheral control circuitry |
JP2001036484A (ja) | 1999-07-16 | 2001-02-09 | Nec Corp | 障害多発自動検出方法 |
JP3617390B2 (ja) | 1999-11-05 | 2005-02-02 | 日本ビクター株式会社 | ディジタル信号記録再生装置 |
US6804193B1 (en) * | 2000-07-28 | 2004-10-12 | Marconi Intellectual Property (Ringfence) Inc. | Protected Ethernet backplane communication |
US6967950B2 (en) | 2000-08-11 | 2005-11-22 | Texas Instruments Incorporated | Pull transfers and transfer receipt confirmation in a datapipe routing bridge |
US7619657B2 (en) * | 2000-10-04 | 2009-11-17 | Fujifilm Corp. | Recording apparatus, communications apparatus, recording system, communications system, and methods therefor for setting the recording function of the recording apparatus in a restricted state |
US6952576B2 (en) * | 2001-08-22 | 2005-10-04 | Matsushita Electric Industrial Co., Ltd. | Entertainment device having a content library and adaptive content selection |
US7430002B2 (en) * | 2001-10-03 | 2008-09-30 | Micron Technology, Inc. | Digital imaging system and method for adjusting image-capturing parameters using image comparisons |
JP4618956B2 (ja) | 2001-12-10 | 2011-01-26 | ソニー株式会社 | 信号処理装置、信号処理方法、信号処理システム、プログラム及び媒体 |
US20030220781A1 (en) * | 2002-02-25 | 2003-11-27 | Oak Technology, Inc. | Communication architecture utilizing emulator interface |
US7212574B2 (en) * | 2002-04-02 | 2007-05-01 | Microsoft Corporation | Digital production services architecture |
MXPA04009651A (es) * | 2002-04-05 | 2005-01-11 | Thomson Licensing Sa | Sistema de control remoto y metodo par videograbadora personal. |
US7861273B2 (en) * | 2002-04-26 | 2010-12-28 | Microsoft Corporation | TV control resource management |
FR2846506B1 (fr) * | 2002-10-28 | 2005-02-11 | Philippe Marie Alber Guenebaud | Dispositif de trans-compression d'un flux numerique audiovisuel pour l'adapter aux equipements de television existants |
US20040257372A1 (en) * | 2003-06-19 | 2004-12-23 | Lippincott Louis A. | Communication ports in a data driven architecture |
US7889951B2 (en) * | 2003-06-19 | 2011-02-15 | Intel Corporation | Processor to processor communication in a data driven architecture |
JP4317394B2 (ja) * | 2003-07-01 | 2009-08-19 | スミダコーポレーション株式会社 | 面実装インダクタ |
US8812749B2 (en) | 2003-12-31 | 2014-08-19 | Intel Corporation | Programmable video processing and video storage architecture |
-
2003
- 2003-12-31 US US10/750,544 patent/US8812749B2/en active Active
-
2004
- 2004-12-24 KR KR20067012934A patent/KR100829647B1/ko not_active IP Right Cessation
- 2004-12-24 GB GB0608720A patent/GB2423212B/en not_active Expired - Fee Related
- 2004-12-24 CN CNB2004800391781A patent/CN100551005C/zh not_active Expired - Fee Related
- 2004-12-24 DE DE112004002609T patent/DE112004002609T5/de not_active Withdrawn
- 2004-12-24 WO PCT/US2004/043080 patent/WO2005067290A2/en active Application Filing
- 2004-12-24 JP JP2006547296A patent/JP5085137B2/ja not_active Expired - Fee Related
- 2004-12-28 TW TW93140911A patent/TWI285364B/zh not_active IP Right Cessation
-
2014
- 2014-07-08 US US14/326,037 patent/US9654724B2/en not_active Expired - Fee Related
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9654724B2 (en) | Programmable video processing and video storage architecture | |
KR100817052B1 (ko) | 높은 메모리 대역폭을 요구하지 않는 영상 신호 처리 장치및 영상 신호 처리 방법 | |
JP3926873B2 (ja) | コンピュータシステム | |
JP2002049363A (ja) | 画像表示システム | |
JP2007520115A6 (ja) | 装置、方法、システム、機械読み取り可能な媒体 | |
US8259121B2 (en) | System and method for processing data using a network | |
JP2006106068A (ja) | 音声復号装置 | |
JP2000083064A (ja) | トランスポ―トストリ―ム処理装置 | |
US20070192565A1 (en) | Semiconductor device and mobile phone using the same | |
JP2000242549A (ja) | ラインメモリ構成方法およびラインメモリ | |
JP5125205B2 (ja) | データ信号処理装置、画像処理装置、画像出力装置、および、データ信号処理方法 | |
JP3925130B2 (ja) | データ転送回路、半導体装置、及び携帯装置 | |
KR100647446B1 (ko) | 데이터 스트림 인터리빙 회로 및 방법 | |
JP2000310985A (ja) | バッファ制御装置及び半導体集積回路 | |
KR100296683B1 (ko) | 동시 수신 동작을 실행가능한 데이터 수신 장치 | |
US20060282568A1 (en) | Interface apparatus, video processing apparatus and data communication method | |
JP3161344B2 (ja) | 復号化装置 | |
JPH10155123A (ja) | 圧縮復号データ表示システム | |
CN111930327A (zh) | 一种led镜子屏显示方法及装置 | |
JP2003037793A (ja) | 制御多重回路及びこれを用いた映像信号切替装置 | |
JP2007060542A (ja) | 通信装置および同装置のフレーム転送制御方法 | |
JPH07250102A (ja) | データ伝送回路 | |
JP2005269277A (ja) | マルチプレクサの画像送信装置 | |
JP2002232401A (ja) | 映像信号同期化装置および画像処理装置 | |
JPH10210084A (ja) | データ送受信装置 |