説明

ローカル・レジスタを有する処理要素のアレイ

【課題】 ローカル・レジスタを有する処理要素のアレイを提供すること。
【解決手段】 特殊化された画像処理回路が、通常、単一命令複数データ(SIMD)アーキテクチャとして超並列方式でハードウェア中に実装される。公知の実装形態は一般に、処理要素とメモリ・サブシステムとの間の接続パスが長く複雑であり、その結果、最大動作周波数が制限されるという難点がある。最適化された画像処理用アーキテクチャは、2次元構造に配列された処理要素(PE00,...,PE77)を有し、各処理要素は、複数の参照ピクセルを含むローカル・ストレージ(X0,...,X8)を有するが、参照ピクセルは参照画像中の近隣ではない。そうではなく、参照ピクセルは参照画像の異なるブロックに属し、これは種々の符号化方式で様々である場合がある。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力データのためのローカル・レジスタを有する処理要素のアレイに関する。
【背景技術】
【0002】
動き推定(ME)は、非常に多くの処理力を必要とする時間クリティカルな適用例の一例である。従って通常、特殊化された回路が、単一命令複数データ(SIMD、single instruction multiple data)アーキテクチャとして超並列方式でハードウェア中に実装される。これらのアーキテクチャは、例えば現ピクチャのピクセルを参照ピクセルと比較するために、計算される1つの値につき、普通は1つの処理要素(PE)を有する。通常、前ピクチャ中の対応するピクセル、およびその近隣が、参照ピクセルとしての働きをする。より一般化された見方では、任意の1次元、2次元、または多次元データ・セットが、処理への入力としての働きをする。MEのためのPEは、現ピクセル、およびメモリに記憶されたいくつかの参照ピクセルにアクセスすることができる。ピクセルは通常、大きい画像メモリから、より速くアクセスできるより小さい動作用メモリにコピーされる。大きい画像メモリは遅いので、このコピー操作は比較的長くかかる。動作用メモリはいくつかのブロックを含み、これらのブロックは、利用される符号化方式に従って、現ブロックを予測するための参照としての働きをすることができる。ブロックはしばしば、16×16、8×8、または4×4ピクセルを含む正方形構造を有する。
【0003】
通常、ピクセル・ブロックに対するPEの結果は、現ブロックと特定の参照ブロックとの類似性の尺度を計算するために蓄積され、後続の回路が、最も類似する参照ブロックを決定し、このブロックに基づいて現ブロックを符号化する。
【0004】
従って、PEは、現ブロックと比較して相対的に大きい動作用メモリ全体に分散するいくつかの参照ピクセルへのアクセスを有する必要がある。冗長ピクセル記憶を防止すべきである場合、複雑な接続回路を含むアーキテクチャが必要とされる。例えば、US2003/0174252号は、ピクセル値をメモリ・サブシステムからPEに振り分けるために、プログラム可能なクロスバー・スイッチを使用する。ビット・マスクが、どのピクセル・データにPEからアクセスできるかを制御する。クロスバー・スイッチは一般に、深い階層に多数のマルチプレクサ要素を含み、このことは、より高い動作周波数の場合に不利である。
【0005】
通常、ME回路は、ハードウェア、例えばASIC中に実装される。しかし、公知の実装形態は一般に、PEとメモリ・サブシステムとの間の接続パスが長く複雑であり、その結果、最大動作周波数が制限されるという難点がある。従って、最適化されたアーキテクチャが望ましい。
【特許文献1】US2003/0174252号
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、PEとそのそれぞれのメモリ・サブシステムとの間の時間クリティカルな信号パスを最適化するアーキテクチャを提供する。従来技術の実装形態で、これらの信号パスは2つの異なる機能、すなわち参照ピクセルを整理し直すこと(遅い)および整理し直された参照ピクセルをPEと接続すること(速い必要がある)を、実現することが認識されている。本発明による最適化は、原則的に、この2つの機能を大きく分けることによって達成される。
【課題を解決するための手段】
【0007】
本発明の一態様は、複数のディジタル処理要素のアレイである。ディジタル処理要素は、ディジタル入力データを処理してディジタル出力データを提供するためのハードウェア構造であり、アレイは1つまたは複数の次元を有する。各ディジタル処理要素は、入力データを保持するための複数のレジスタを関連付けており、入力データは、(例えば最初に)ロード・モードで外部データ・ソースからロードすることができる。ディジタル処理要素の複数のレジスタはそれぞれ、切換え可能な接続を介して、アレイの各次元における2つの近隣処理要素に関連する少なくとも2つのレジスタに接続される。切換え可能な接続は、種々のシフト・レジスタ動作モードに切り換えることができる。アレイの境界にある処理要素に関連するレジスタは、アレイの反対側の境界にある処理要素に関連するレジスタに接続される。
【0008】
本発明の一実施形態では、シフト・レジスタ・モードは、複数のサブモードを含む。サブモードは、アレイの各次元の各方向へのシフトを可能にする。例えば、1次元では、「右」および「左」への異なるサブモードが可能であり、少なくとも2次元では、「北」「南」「東」「西」が可能である。
【0009】
本発明の一実施形態では、第2のレジスタ群がシフト・レジスタ・モードにある間に、第1のレジスタ群をロード・モードに切り換えることができる。本発明の一実施形態では、「ショート・シフト・レジスタ」モードという別のモードは、アレイの境界にない処理要素に関連するレジスタが、アレイの境界のうちの1つにある処理要素に関連するレジスタに接続されることを含む。従って、アレイのいくつかのPEのみのローカル・レジスタがシフト・レジスタとして配列され、他のローカル・レジスタは使用されず、例えばロードすることができる。これは、ロードが1クロック・サイクルよりも長くかかる場合に有利である。
【0010】
本発明の一実施形態では、アレイはクロック信号によって動作させられ、PEによる処理は、シフト・レジスタ・モードでのシフトと同じクロック・サイクルで実施される。
【0011】
本発明の一実施形態では、入力データは、1つまたは複数の次元で、ある順序で配列され、特定の処理要素に関連する複数のレジスタに記憶されている入力データは、この順序に従った近隣ではない。
【0012】
本発明の一実施形態では、入力データは隣接データ・ブロックに配列され、処理要素に関連する複数のレジスタは、異なるブロックからの入力データを記憶するためのものである(すなわち、各レジスタは異なるブロックからのデータを記憶する)。
【0013】
本発明の一実施形態によるアーキテクチャでは、複数のPEが2次元構造に配列され、各PEはローカル・ストレージを有する。各PEのローカル・ストレージは、複数の参照値、例えばピクセルを含み、これらの参照値は、入力データ・フィールド中、例えば参照画像中で近隣ではない。そうではなく、参照ピクセルは、参照画像の異なるブロックに属し、これは種々の符号化方式で様々である場合がある。画定された検索領域に応じて、参照ピクセルのうちの1つは、現ピクセルに直接に対応するものとすることができる。すなわちこの参照ピクセルは、現ピクセルが現画像中で有する座標と同じ座標を、参照画像中で有する。他の参照ピクセルは、例えば参照画像中の近隣ブロックまたはマクロブロックからのものとすることができる。これらは、8×8ピクセルよりも大きいブロック・サイズに使用される。
【0014】
2次元アレイ構造では、各PEはその直接の近隣に接続され、従って、ピクセル値を任意の近隣PEとの間でシフトすることができ、これは、本発明のこの実施形態で2次元シフト・レジスタを実現する。これにより、現ブロックを複数の参照ブロックにわたってシフトすることができる。
【0015】
さらに、本発明の一実施形態では、各PEのメモリ・サブシステムは、参照ピクセル・ロード領域としての働きをする拡張領域、すなわち、現ピクセルと比較される現在の実行の中にはないが次の実行の中にあるピクセルのための記憶領域を含む。これにより、ピクセルを主画像メモリから比較的低速でロードすることができる。というのは、拡張領域への書込みと、メモリの主検索領域の処理/シフトが干渉しないからである。このようなモードでは、主検索領域を別個にシフトすることができる。このロード機能により、参照ブロックを、他のデータの処理と同時に任意の方式で拡張することが可能である。
【0016】
本発明の有利な実施形態は、従属請求項、後続の記述、および図に開示する。
【0017】
本発明の例示的な実施形態を、添付の図面を参照しながら述べる。
【発明を実施するための最良の形態】
【0018】
動き推定では、前のフィールド/フレーム中で所与のブロックに最もよく合致する位置が検索される。これを達成するには、所与のブロックを検索領域中の多くの位置と比較しなければならない。必要な処理速度を達成するために、1ピクセルあたり1つのPEを有する並列ハードウェアが使用される。これは、図1に示すように、PEの2次元アレイまたはグリッドとして実現することができる。本発明のこの実施形態では、各PEは9つの特別なレジスタX,...,Xを有し、各レジスタは参照ピクセル値を保持する。例えば、1つのレジスタXは、参照画像の対応ブロックの対応ピクセルを保持し、3つのレジスタX、X、Xは、8×16、16×8、16×16のようなより大きいブロック・サイズに使用することのできる、参照画像の近隣ブロックの対応ピクセルを保持し、5つのレジスタX、X、X、X、Xは、後述するように16×16ブロックX−X−X−Xの中へまたは中からシフトされるピクセルをバッファリングするのに使用される。近隣参照ブロックは、例えば東X、南X、および東南Xと呼ばれるブロックである。さらに、1つのレジスタRが、検索すべき現ピクセルを保持する。加えて、いくつかの他のレジスタR〜Rも、この目的に利用可能とすることができる。これらのレジスタはすべて、PE中でローカルに利用可能である。従って、PE内におけるこれらのレジスタおよび処理ユニットの間の接続構造は、非常に単純である。さらに、現ブロックが8×8よりも大きい場合、各PEは、例えば現ブロックのさらに3つのピクセルを保持する他のレジスタR、R、Rを有することができる。これは、例えば8×16、16×8、または16×16ブロックに対するブロック・マッチングを可能にする。
【0019】
上述した構造は、各PEがローカルに記憶した単一ピクセルがどこから来たものであるかを考えたとき、よりよく理解される。図2に、参照画像の24×24ピクセルの領域を示す。各ピクセルはPEグリッド中にローカルに記憶される。参照画像の主検索領域は、この例では4つの8×8ブロックからなる。例えば、主検索領域の各ブロックの左上角は、PE00中のレジスタX、X、X、X中にローカルに記憶される。同様にして、他の参照ピクセルも、他のPEに振り分けられる。
【0020】
動き推定プロセス中に、現ブロックと参照ブロックとの類似性の尺度、例えば差分絶対値和(SAD、sum of absolute differences)が決定される。特定のPEについての8×8ブロックの現ピクセルがローカル・レジスタRに記憶されている場合、PEは差分絶対値|R−X|を計算し、高性能のプロセッサ、例えば累算器が、すべてのPEのSADを、SAD=Σ|R−X|として計算する。別の例では、8×16ブロックの現ピクセルが、ローカル・レジスタRおよびRに記憶されている。PEは、PEハードウェアに応じて1つまたは複数のステップで差分絶対値|R−X|および|R−X|を計算し、累算器はSAD=Σ(|R−X|+|R−X|)を計算する。このタイプの検索では、近隣参照ブロックのピクセルがPE中でローカルに利用可能であることが有利である。従って、上述した、各PEが現在値のための4つのレジスタR,...,Rを有する8×8PEのグリッドは、8×8データのブロックを処理する適用例に向けて最適化されているが、現在使用されているMEアルゴリズムの場合のように、8×16、16×8、または16×16データのブロックも扱うことができる。他の適用例では、PEの数、および/または1PEあたりのレジスタ数を変更するのが有利な場合がある。
【0021】
MEでは、SADが記憶され、検索領域が移動され、SAD計算が繰り返される。最小限のSADを有するブロックが決定され、このブロックは最終的に、動きベクトルを決定するための参照ブロックとして選択される。検索領域の移動は一般に、検索領域と参照領域とを相互に対して相対的にシフトすることによって行われる。これは普通、複雑なプロセスだが、本発明のアーキテクチャを使用すればずっと容易である。本発明の一態様によれば、より大きい検索(または参照)領域がシフトされ、より小さい現領域は、すべての位置が終わるまで一定に保たれる。従って、R〜Rレジスタ中の現在値は各PEごとに同じままであり、「特別な」レジスタ(X,...,X)中の値が変更される。
【0022】
本発明の一態様によれば、これらの「特別な」レジスタ(X,...,X)は、北、東、南、または西のシフトを可能にする2次元シフト・レジスタを実現する切換え可能な接続によって、近隣PEの対応する「特別な」レジスタに接続される。PEはこれらのレジスタ(X,...,X)を介してその値を近隣PEに通信することができるので、これらのレジスタを本明細書では通信レジスタと呼ぶ。切換え可能な接続は、典型的にはマルチプレクサを使用する。マルチプレクサは単純であって例えば6:1であり、短いワイヤを介して近隣PEに接続される。このため、高周波数の動作が可能である。PEの1つまたは複数の処理ステップが完了して、現ブロックが検索領域中の次の位置に移動されることになるとき、各PEのピクセルは単に、PEグリッドのすべてのマルチプレクサを相応に制御することによって、その近隣PEに(現在使用されている方向に)シフトされる。明らかに、検索方向を変更するのは非常に容易である。すなわち、異なるマルチプレクサ制御によって変更する。境界PEの近隣マッピングについては後述する。
【0023】
このように、PE間で検索データをやり取りするための効率的な方法を提供するシフト・レジスタが得られる。このシフト・レジスタにより、検索領域をピクセル単位で動かすことができる。例えば、「北」方向のシフト操作は、特定のPE、例えばPE11のピクセルを、その北の近隣PE01の対応レジスタにシフトすることになる。検索領域の外にシフトされるピクセルは、グリッドの反対側に入力される(これは「循環」とも呼ばれるが、本明細書では「シフト」という用語を使用する)。例えば、「北」シフトでは、PE01からのピクセルはPE71にシフトされる。同じことが逆に「南」シフト、さらには「東」および「西」シフトにも当てはまる。従って、すべてのPEの通信レジスタは、2次元リング・バッファをなす。しかし、この構造は、8×8ブロックのため複雑である。これは図2で見ることができ、図2はまた、シフト方向に応じた可能なリング・バッファの構造も示している。例えば、すべてのブロックにわたって「東」(=右)シフトに構成されたとき、一番上のピクセル・ラインを保持する1つのリング・バッファは、PE00〜PE07のすべてのXレジスタを含み、さらに、同じPEのすべてのXレジスタを含み、次いで、同じPEのすべてのXレジスタを含む。図3に示すように、このラインの最後のレジスタPE07Xは、最初のレジスタPE00Xに接続され、これはリング構造をなす。検索領域の他のラインも相応に配列され、同じことが列にも当てはまる。
【0024】
1つの検索中に、検索領域は、例えば行の順序でまたは蛇行走査順序で、8×8ブロック内のすべての可能な位置にわたって移動される。例えば、「南」方向への7回のシフト操作の後には、PE00X,PE10X,...,PE70Xの内容は、PE70X,PE00X,...,PE60Xに移動されている。蛇行走査順序を使用する場合、次いで「東」シフトが続き、それによりPE70X,PE00X,...,PE60Xの内容は、次のSADを計算するためにPE71X,PE01X,...,PE61Xに移動され、次いで8回の「北」シフト、もう1回の「東」シフトなどが続くことを意味し得る。最初のライン/列は、7回のシフトしか必要としない。というのは、最初の計算はデータがロードされる間にすでに行われたものとすることができるからである。他のタイプの蛇行走査が、他のアルゴリズム、例えば(7×E)−S−(8×W)−S−(8×E)−S−...または(7×N)−W−(8×S)−W−(8×N)−W−...を使用することもできる(例えば、Eは1回の「東」シフトおよびPE計算、などとする)。参照画像の現在使用されていない部分は、拡張レジスタX、X、X、X、X中にシフトされ、この部分は後でシフトして戻すことができる。他のタイプの走査順序、例えば中央ブロックから開始する螺旋走査を使用してもよい。有利なことに、提案する構造を使用してこれが可能である。というのは、PEの各レジスタが同等であり、従って例えば検索領域内で検索すべき8×8ソース・ブロックをRレジスタに記憶することができるが、利用される検索戦略に応じて例えばその代わりにRレジスタに記憶することもできるからである。同様に、拡張領域は、例えば螺旋走査で必要とされる場合があるように、上側または左側にあってもよい。というのもやはり、PE内の通信レジスタX〜Xが同等の構造を有するからである。
【0025】
このアーキテクチャの特有の利点の1つは、通信レジスタのうちの4つまでしか現検索位置として使用されないので、検索領域サイズの制限なしでグリッドまたはアレイをエッジで拡張できることである。図2に示したように、これらは各PEのX、X、X、Xレジスタである。例えば16×16ブロックを処理する場合、各PEは、次のシフトの前に4つの計算、すなわち|R−X|、|R−X|、|R−X|、|R−X|を実施する。これらの計算には4サイクルを必要とする場合がある。次いで、対応する拡張領域に有効データが事前にロードされていると仮定して、前述のようにシフトが適用される。
【0026】
例えば、「東」または「西」シフトの場合は、右の拡張領域(通信レジスタXおよびX)は事前にロードされていなければならず、「北」または「南」シフトの場合は、下の拡張領域(通信レジスタXおよびX)は事前にロードされていなければならない。8回のシフトの後、それぞれの拡張領域の通信レジスタは、最初に主検索領域にあったデータのみを保持している。蛇行走査順序が使用される場合、これらのデータはシフトされて戻されることになる。検索領域の拡張には、しかし、新しい拡張領域データを主画像メモリからロードするために過去の時間(4×8サイクル)が使用された場合がある。これは有利である。というのは、このロードは特定時点での主画像メモリへのアクセスを必要とせず、これらの32サイクル中の任意の時点で行うことができるからである。これにより、主画像メモリが遅いかまたは非常にビジーであるときもまた、MEのシームレスな操作が可能である。主画像メモリからの新しいデータは、中間バッファに収集し、8回目と9回目のシフトの間に単一ステップで拡張領域の通信レジスタにコピーすることができる。
【0027】
本発明によるアーキテクチャはまた、他のタイプの処理、特に、例えば2次元フィルタリングなどの画像処理にも有利である。PEの数、および/または1PEあたりの通信レジスタの数は、実際の適用例に従って様々である場合がある。何れの場合でも、PEは、種々のタイプのシフト・レジスタに動的に接続できるローカル・レジスタ(通信レジスタ)を有し、シフト・レジスタは、リング・バッファとして働く。すなわちシフト時にデータを失わない。このレジスタ構造を使用すると、大きい入力データ・フィールドのソースに絶えずアクセスする必要なしに、この入力データ・フィールドに作用することが可能である。これは、現在の操作ステップの入力データを、次の操作ステップで別のPEまたは同じPE中で再び使用するためにシフトすることによって達成される。従って、ある意味では、PEをそれらの現在の中間結果と共に入力データに沿って移動するのではなく、入力データがPEに沿って移動される。
【0028】
図4に、図3でも強調表示されているPE43の特定の通信レジスタXの回路を、例示的に、また原則的にのみ示す。このレジスタPE43Xは、マルチプレクサMX43Xを介して、PE43のローカル・レジスタ、ならびにその近隣すなわち南方向のPE53X、西方向のPE42X、北方向のPE33X、および東方向のPE44Xに接続される。制御信号CTRLによって制御されるマルチプレクサ位置に応じて、値はそれぞれの方向にシフトされる。さらに、現在値を保持するために、すなわちシフトが実施されないときに、1つのマルチプレクサ位置が必要とされる。制御信号CTRLは、一実施形態では、すべての通信レジスタおよびPEに対して同じである。別の実施形態では、図2の24×24レジスタの一部のみをシフトすることが可能であり、従って、PEアレイの異なる部分に対して異なる制御信号が使用される。例えば、東または西のシフトの場合、下の拡張領域は使用されないので、これはシフトする必要がない場合がある。8×8ブロック・モードでは、ブロックの1つのラインまたは1つの列をシフトすれば十分である。この場合は「ショート・シフト・レジスタ」モードが使用され、このモードでは、アレイの境界にない処理要素に関連するレジスタが、アレイの境界のうちの1つにある処理要素に関連するレジスタに接続される(このモードは図4では見られない)。
【0029】
図4にはさらに、PEの実際の処理ユニットPU43を、別のマルチプレクサMX43Xを介してそのローカル通信レジスタの何れかに接続できることが示してある。この接続は、現モードに応じて切り換えられる。例えば、ソース・ブロックが8×8ブロック・モードで左上角に位置決定される場合は、Xのみであり、16×16ブロック・モードでは、X、X、X、およびXである。しかし、すべてのレジスタX,...,Xは等価なので、ソース・ブロックはどこにでも位置決定することができる。一般的な16×16マクロブロックを構築するのに1PEあたり4つの通信レジスタしか必要でないので、検索領域を拡張するために新しいデータをメモリからロードするのに使用することのできる1つの行または列がある。例として、1つのブロックを循環させるのには8サイクルかかるが、新しい行または列をロードするのには3サイクルしかかからない。従って、余分なサイクルを必要とせずに検索領域を無限サイズまで動的に拡張することができる。
【0030】
図4に示すように、PEの9つの通信レジスタはそれぞれ、PEの外に4つの接続しか有さない。すべての接続は、PEの直接の近隣に対してローカルであり、従って短い。信号パスはレジスタから来ており、ターゲット・レジスタ中で終わる前に小さいマルチプレクサのみを有する。従って、オンチップ実装形態のためのルーティングおよびタイミング・クロージャは比較的容易である。
【0031】
さらに、PEがそれらの近隣に接続され、境界が回り込むので、境界において余分なサイクルは必要ない。例えば、PE07Xの「東」近隣はPE00Xであり、その「北」近隣はPE77Xである。
【0032】
図5の上部に、図1からのPEアレイPE00,...,PE77を示し、第2層に、PEの通信レジスタPE00〜X,...,PE77〜Xを示し、第3層に、図2の右下角に対応する入力データ・フィールドの一部を示す。9つの通信レジスタは異なるブロックからのピクセル・データを保持するので、これらのピクセルは参照画像中で近隣ではないが、9つの現ブロックの粗い表現の一種である。原則的に、このアーキテクチャは、複数ブロック・データ構造を単一ブロック・データ構造に、例えば3×3ブロックの参照領域を単一ブロックのPEにマッピングする。通信レジスタ間の相互接続は、図5には示されていない。
【0033】
実際の実装形態では、処理はシフトと同じサイクルで実施することができる。従って、8×8ブロック・モードで処理を前述のように1サイクルで実施することができる場合、データを継続的にシフトすると同時にPEによって処理することができる。
【0034】
本発明によるPE構造のプログラミングは、シフト・モードを選択するコマンド、異なるシフト・モードに対する異なるコマンド、データを外部(中間)メモリから拡張領域のうちの1つにロードするコマンドなど、単純だが特殊化されたコマンドを必要とする。
【0035】
本発明によるアーキテクチャはまた、例えば1次元フィルタリングにも有利である。入力データが行に配列されている場合、例えば画像データの単一のピクセル・ラインに配列されている場合は、これらをn個の連続する値のグループに編成することができる。通常のように1つのPEに1つのレジスタが関連するのではなく、各PEに複数のレジスタが接続されている。PEのこれらのレジスタはそれぞれ、入力データの異なるグループからのデータを記憶する。PEは、マルチプレクサを介して、その各入力レジスタに連続的に接続され、それぞれの出力値を計算する。次いで、値は近隣PEにシフトされる。異なるPEが異なるデータ・セットに対して異なる操作を実施してもよく、あるいは同じタイプの操作を実施してもよい。本発明による構造は、種々の処理方式を扱うように切換えまたは構成ができるので、例えば短縮されたデータ・ロード時間、入力データのための短い接続(これは高速回路に有利である)、およびフレキシビリティを提供する。
【0036】
本発明は、入力データ・アレイに作用するあらゆる種類の処理構造に、しかも2次元または多次元入力データ・フィールドにさえも有利であり、特に、常に同じタイプの計算が実施される場合に有利である。
【0037】
以下に他の実施例を例示する。
(1)複数のディジタル処理要素(PE00,...,PE77)のアレイであって、ディジタル処理要素は、ディジタル入力データを処理してディジタル出力データを提供するためのハードウェア構造であり、前記アレイは1つまたは複数の次元を有することができ、
各ディジタル処理要素は、入力データを保持するための複数のレジスタ(X,...,X)を関連付けており、前記入力データはロード・モードで外部データ・ソースからロードすることができ、
ディジタル処理要素の前記複数のレジスタ(X,...,X)はそれぞれ、切換え可能な接続を介して、前記アレイの各次元における2つの近隣処理要素に関連する前記レジスタのうちの少なくとも2つに接続され、前記切換え可能な接続はシフト・レジスタ動作モードに切り換えることができ、前記アレイの境界にある処理要素に関連するレジスタは、前記アレイの反対側の境界にある処理要素に関連するレジスタに接続されるアレイ。
(2)前記シフト・レジスタ・モードは複数のサブモードを含み、前記サブモードは前記アレイの各次元の各方向へのシフトを可能にする、(1)に記載のアレイ。
(3)第2のレジスタ群が前記シフト・レジスタ・モードにある間に、第1のレジスタ群を前記ロード・モードに切り換えることができる、(1)または(2)に記載のアレイ。
(4)「ショート・シフト・レジスタ」モードという別のモードで、前記アレイの境界にない処理要素に関連するレジスタが、前記アレイの境界のうちの1つにある処理要素に関連するレジスタに接続される、(1)から(3)のうちの一項に記載のアレイ。
(5)各処理要素は現データを保持するための少なくとも1つの第2のレジスタ(R)を有し、前記第1のレジスタが前記シフト・レジスタ・モードにあるときに前記第2のレジスタの内容はシフトされない、(1)から(4)のうちの一項に記載のアレイ。
(6)前記アレイはクロック信号によって動作させられ、前記処理要素による前記処理は前記シフト・レジスタ・モードでの前記シフトと同じクロック・サイクルで実施される、(1)から(5)のうちの一項に記載のアレイ。
(7)処理要素の前記アレイは1次元あたり8つの処理要素を含む2次元を有し、各処理要素は入力データを保持するために9つの前記レジスタ(X,...,X)を有する、(1)から(6)のうちの一項に記載のアレイ。
(8)前記入力データは、1つまたは複数の次元で、ある順序で配列され、処理要素の前記複数のレジスタに記憶されている入力データは前記順序に従った近隣ではない、(1)から(7)のうちの一項に記載のアレイ。
(9)前記入力データは隣接データ・ブロックに配列され、処理要素に関連する前記複数のレジスタ(X,...,X)は、異なるブロックからの入力データを記憶するためのものである、(8)に記載のアレイ。
(10)前記ディジタル入力データおよびディジタル出力データは複数ビットの値である、(1)から(9)のうちの一項に記載のアレイ。
(11)前記複数ビットの値は画像のピクセル値である、(10)に記載のアレイ。
【図面の簡単な説明】
【0038】
【図1a)】8×8のPEアレイを示す図である。
【図1b)】PEのローカル・メモリを示す図である。
【図2】主検索領域と、拡張領域と、PEへの関連ピクセルの割当てとの構造を示す図である。
【図3】境界PEと非境界PEとに対する例示的な近隣を示す図である。
【図4】特定の通信レジスタの回路を示す図である。
【図5】PEと、それらの通信レジスタと、入力データ・フィールド領域との構造を示す図である。
【符号の説明】
【0039】
PE00〜PE77 処理要素
〜X レジスタ
〜R レジスタ
MX43 マルチプレクサ
MX43X マルチプレクサ
MX44X マルチプレクサ
PU43 処理ユニット

【特許請求の範囲】
【請求項1】
複数のディジタル処理要素のアレイであって、ディジタル処理要素は、ディジタル入力データを処理してディジタル出力データを提供するためのハードウェア構造であり、前記アレイは1つまたは複数の次元を有することができ、
各ディジタル処理要素は、入力データを保持するための複数のレジスタを関連付けており、前記入力データはロード・モードで外部データ・ソースからロードすることができ、
ディジタル処理要素の前記複数のレジスタはそれぞれ、切換え可能な接続を介して、前記アレイの各次元における2つの近隣処理要素に関連する前記レジスタのうちの少なくとも2つに接続され、前記切換え可能な接続はシフト・レジスタ動作モードに切り換えることができ、前記アレイの境界にある処理要素に関連するレジスタは、前記アレイの反対側の境界にある処理要素に関連するレジスタに接続される、前記アレイ。
【請求項2】
前記シフト・レジスタ・モードは複数のサブモードを含み、前記サブモードは前記アレイの各次元の各方向へのシフトを可能にする、請求項1に記載のアレイ。
【請求項3】
第2のレジスタ群が前記シフト・レジスタ・モードにある間に、第1のレジスタ群を前記ロード・モードに切り換えることができる、請求項1または2に記載のアレイ。
【請求項4】
「ショート・シフト・レジスタ」モードという別のモードで、前記アレイの境界にない処理要素に関連するレジスタが、前記アレイの境界のうちの1つにある処理要素に関連するレジスタに接続される、請求項1から3のうちの一項に記載のアレイ。
【請求項5】
各処理要素は現データを保持するための少なくとも1つの第2のレジスタを有し、前記第1のレジスタが前記シフト・レジスタ・モードにあるときに前記第2のレジスタの内容はシフトされない、請求項1から4のうちの一項に記載のアレイ。
【請求項6】
前記アレイはクロック信号によって動作させられ、前記処理要素による前記処理は前記シフト・レジスタ・モードでの前記シフトと同じクロック・サイクルで実施される、請求項1から5のうちの一項に記載のアレイ。
【請求項7】
処理要素の前記アレイは1次元あたり8つの処理要素を含む2次元を有し、各処理要素は入力データを保持するために9つの前記レジスタを有する、請求項1から6のうちの一項に記載のアレイ。
【請求項8】
前記入力データは、1つまたは複数の次元で、ある順序で配列され、処理要素の前記複数のレジスタに記憶されている入力データは前記順序に従った近隣ではない、請求項1から7のうちの一項に記載のアレイ。
【請求項9】
前記入力データは隣接データ・ブロックに配列され、処理要素に関連する前記複数のレジスタは、異なるブロックからの入力データを記憶するためのものである、請求項8に記載のアレイ。
【請求項10】
前記ディジタル入力データおよびディジタル出力データは複数ビットの値である、請求項1から9のうちの一項に記載のアレイ。
【請求項11】
前記複数ビットの値は画像のピクセル値である、請求項10に記載のアレイ。

【図1a)】
image rotate

【図1b)】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−165756(P2008−165756A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【外国語出願】
【出願番号】特願2007−308198(P2007−308198)
【出願日】平成19年11月29日(2007.11.29)
【出願人】(501263810)トムソン ライセンシング (2,848)
【氏名又は名称原語表記】Thomson Licensing 
【住所又は居所原語表記】46 Quai A. Le Gallo, F−92100 Boulogne−Billancourt, France
【Fターム(参考)】