JP2009536392A - プログラマブルデータ処理回路 - Google Patents

プログラマブルデータ処理回路 Download PDF

Info

Publication number
JP2009536392A
JP2009536392A JP2009508631A JP2009508631A JP2009536392A JP 2009536392 A JP2009536392 A JP 2009536392A JP 2009508631 A JP2009508631 A JP 2009508631A JP 2009508631 A JP2009508631 A JP 2009508631A JP 2009536392 A JP2009536392 A JP 2009536392A
Authority
JP
Japan
Prior art keywords
memory
circuit
data
parameter value
instruction
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
Application number
JP2009508631A
Other languages
English (en)
Other versions
JP5248482B2 (ja
Inventor
ピント,カルロス アー アルバ
セトゥラマン,ラマナサン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2009536392A publication Critical patent/JP2009536392A/ja
Application granted granted Critical
Publication of JP5248482B2 publication Critical patent/JP5248482B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

プログラマブルデータ処理回路は、ピクセル値又はより一般的にはデータ値を信号におけるポジションの関数として格納するメモリを有する。プログラマブルデータ処理回路は、複数のデータ値がメモリからのパラレル出力のためどのように構成される必要があるか示す選択されたパラメータ値セットの指示を有する命令をサポートする。異なるパラメータ値セットを示す命令が、互いに合成されて実行可能である。プログラマブルデータ処理回路は、パラメータ格納回路から選択されたパラメータ値セットを抽出し、選択されたパラメータ値セットに少なくとも部分的に応じて、メモリ回路のメモリポートとデータポートとの間のスイッチング回路を制御することによってこのタイプの命令に応答する。

Description

本発明は、ピクセル位置の関数である2次元画像におけるピクセル値などの位置に依存するデータ値を格納するメモリを備えたプログラマブルデータ処理回路に関する。本発明はまた、位置に依存したデータ値の処理方法と、位置に依存したデータ値を処理するコンピュータプログラムプロダクトに関する。
画像処理は、一般にメモリに格納されているピクセル値の利用を伴う。異なるピクセル位置のピクセル値が異なるメモリ位置に格納される。ピクセル位置のメモリ位置への各種マッピングが利用可能である。このようなマッピングは、画像処理に対して大きな効果を有している。US2005/0083337は、適切なマッピングによってメモリアクセススピードをどのように向上させることが可能であるか記載している。WO2005/104027は、複数のピクセル位置のピクセル値が画像処理演算用のオペランドとしてパラレルに使用される際にマッピングを補償するメモリアクセス回路について記載する。
US2005/0083337は、メモリに画像データを格納する他の方法を提供する画像処理システムについて記載する。異なる画像処理アルゴリズムが、異なるピクセル位置のシーケンスに従ってピクセル値へのアクセスを要求する。従って、例えば、画像の表示はライン単位による読み込みを要求し、画像伸張は典型的にはブロックベースの読み込みを要求する。異なるメモリ部分に分散されて格納されているピクセル値より、連続的に格納されているピクセル値へのより高速なアクセスを提供するメモリデバイスが使用される。この結果、表示のためのアクセスは、画像ラインに沿ったピクセル値が連続的に格納されている場合に最も迅速に実行可能であるが、ブロックベースのアクセスは、ブロックの連続するラインに沿ったピクセル値が連続的に格納されている場合に最も迅速に実行可能である。
多くのアプリケーションでは、ラインベースアクセスを利用した表示と、ブロックベースアクセスを利用した伸張との双方が利用される。US2005/0083337は、異なるアクセス形式について最適なスピードを実現することができるように、異なる方法によりグループ化されたピクセル値を格納することによってこれをサポートする。このグループ化は、ブロック幅及び高さなどの各パラメータ、アドレスの確率分布並びにメモリバス幅及びメモリバンク数などのメモリデバイスの各性質に依存する。ピクセル値が書き込まれるとき、ピクセル値の複数のコピーが、ピクセル値の読み込み方法に従って異なる方法により書き込み及びグループ化される。
US2005/0083337は、論理アドレス(ピクセル座標など)からデータ値が書き込まれるメモリの物理アドレスへのアドレスマッピングを提供する。異なるグループ化によりピクセル値を格納するのに異なるアドレスマッピングが必要とされる。マッピングを記述するため、ルックアップテーブルメモリが設けられる。アドレス生成手段が、ルックアップテーブルを利用して論理アドレスから物理アドレスを生成する。アドレスマッピングは、所与のプログラムについて最小コスト(アクセススピードに関する)をもたらすマッピングの決定に基づき選択される。US2005/0083337は、複数のピクセル値のパラレル処理に関するものでない。
WO2005/104027は、ワーキングメモリからのピクセル値へのパラレルアクセスを提供する画像処理回路について記載する。ワーキングメモリは、ある領域のピクセル位置のピクセル値を格納する。典型的には、この領域は、そのピクセル値がメインメモリに格納されるより大きな画像の一部である。この場合、ワーキングメモリは、メインメモリからのピクセル値の一部のコピーを格納するキャッシュとして機能する。
ワーキングメモリは、ピクセル値をパラレルに出力可能なメモリバンクを有する。パラレル出力されるピクセルは、任意的にはレジスタファイルのレジスタへの中間的なパラレル格納後、パラレルピクセルプロセッサ(SIMD(Single Instruction Multiple Data)回路など)に供給される。ピクセル値がパラレルに供給されるとき、パラレル出力におけるピクセル値の各位置と、アドレス指定された画像部分(アドレス指定されたブロックなど)に関する対応するピクセル位置の相対位置との間には所定の関係が存在しなければならない。
WO2005/104027では、ピクセル値はラインセグメント形式にラップアラウンドされるワーキングメモリに格納され、画像の水平方向のラインセグメントに沿った連続するピクセル位置のピクセル値は、連続するラストメモリバンクから連続する第1メモリバンクにラップアラウンドされる連続するバンクに格納される。次の水平方向のラインのセグメントのピクセル位置のピクセル値が、前のラインセグメント(任意的には同じメモリバンクに整列された)のピクセル値に続いて同様に格納される。典型的には、格納されるピクセル値のピクセル位置の領域が、画像に沿ってスライドする。この場合、当該領域からスライドされたピクセル位置のメモリ位置が、当該領域にスライドされたピクセル位置について再利用可能である。このため、領域の左上の位置のピクセル値を格納する所定のメモリバンクは存在しないこととなる。
WO2005/104027は、格納されている領域内のピクセル位置のブロックのピクセル値のパラレル出力を可能にする。このパラレル出力は、領域のブロックのアドレスを提供することによって制御される(ブロックの左上隅のx−y座標などに関して)。ワーキングメモリは、ブロックのアドレスに対してピクセル位置により規定される出力におけるブロックからのピクセル値を出力することによって応答する。従って例えば、ブロックの左上隅の位置のピクセル値が所定の第1出力において出力されるなどである。
このタイプの処理はメモリアクセスを制御するため多数のパラメータを必要とすることに留意することが重要である。例えば、アドレス指定されたブロックの位置とメモリバンクとの間には所定の関係は存在しない。従って、メモリバンクと出力との接続は、格納されている領域の所定のピクセル位置のピクセル値が格納されているメモリバンクと、アドレス指定されたブロックの座標とに応じて制御される必要がある。パラメータが必要とされる他の具体例として、ピクセル位置後のデータ量が可変とされるケースがあげられる。例えば、一部の画像処理アプリケーションでは、格納されているルミナンス関連値と比較して、格納されているカラー関連値について低減された解像度が利用される。このため、バンクと出力の間の接続は、カラーとルミナンスについて異なるかもしれない。同じことが、異なる量子化精度がカラー及びルミナンスについて使用される場合に成り立つかもしれない。さらに、残りのバンクを利用して他の画像(又は同一画像の他のカラー成分など)の出力を提供するため、メモリバンクのフル数に到達する前にいくつかの画像のピクセル値の格納をラップアラウンドすることが所望されるかもしれない。これはまた、出力とメモリバンクとの間の関係を複雑化するかもしれない。
WO2005/104027のデータ処理回路では、必要なパラメータはメモリアクセス回路に維持される。メモリのあるブロックがアクセスされると、メモリアクセス回路は、当該ブロックのアドレス(それの座標など)を受け取り、当該アドレスをメモリバンクと出力との間の必要な接続を選択するためのパラメータと組み合わせる。一度に1つのパラメータセットしか利用可能でない。
特に、信号の各位置とメモリ位置との異なる形式のマッピングが同時に利用可能な信号の位置に依存した複数のデータ値のパラレル処理を可能にすることを課題とする。
特に、異なる方法により信号の位置に依存したデータ値を同時に利用するパラレル処理を可能にするさらなる実施例を提供することを課題とする。
本発明は、独立形式の請求項により規定される。従属形式の請求項は、効果的な実施例を規定する。
請求項1記載のプログラマブルデータ処理回路が提供される。この処理回路は、複数のパラメータ値セットを格納する。処理回路の特定の命令は、これらのセットに対する参照を含む。このような命令に応答して、処理回路は、選択されたパラメータ値セットを抽出し、ピクセル値などのデータ値のパラレル出力のため、メモリポート上のデータ値の各ポジションからデータポート上のデータ値の各ポジションへの割当てを制御する。これは、メモリ回路に互いに異なる方法により格納され、互いに合成された互いに異なるタイプのデータに関する異なるデータ値セットに対するデータ値のパラレル処理を実行するための命令を実行することを可能にする。ここで使用される互いに異なるパラメータ値セットの指示を有する複数の指示は、各パラメータ値セットに従って複数のデータセットがメモリに同時に格納され続ける期間中に実行されるとき、合成されて実行されると言われる。
一実施例では、パラメータセットストレージは、パラメータ値セットを格納するのに十分なサイズのメモリ位置(レジスタなど)を有するレジスタファイルなどの専用メモリである。他の実施例では、レジスタファイルのレジスタが十分なサイズを有する場合、他のタイプの情報も格納するレジスタファイルが利用されるかもしれない。
一実施例では、各命令は、画像信号におけるピクセル位置など、信号におけるデータ値の信号位置を示す位置オペランドを有する。本実施例では、データポート上のデータ値の各位置の命令ベースの割当ては、信号位置と選択されたパラメータ値セットとから計算される。また、メモリに供給されるアドレスが、このように計算されてもよい。従って、各命令は、異なる方法により格納され、又は異なるタイプを有する信号位置に依存したデータ値の同様の位置オペランドを利用することが可能である。
一実施例では、メモリ回路は、複数の少なくとも部分的に独立にアドレス指定可能なメモリバンクを有する。本実施例では、メモリバンクは、異なるデータ値の位置に対するデータ値を供給し、異なるデータ値の位置について異なるアドレスの利用を可能にする。メモリバンクのアドレスは、信号位置と選択されたパラメータ値セットから求められる。このため、各命令は、メモリバンク間に異なる方法により分散される信号位置に依存したデータ値について同様の位置オペランドを利用することが可能である。
各種実施例では、パラメータ値は、例えば、メモリバンクにおけるデータセットの格納のスタートのオフセット値、サブサンプリングファクタ及び/又は使用されるメモリバンクの有効数などを表すかもしれない。
パラレル計算回路は、好ましくは、データポートに接続される入出力を有する。データポートとパラレル計算回路との間で機能的に接続されるレジスタファイルは、データポートの複数データ値オペランド及び/又は結果を格納するのに利用されるかもしれない。
このようなデータ処理回路のプログラムは、互いに合成されて異なる方法により格納される異なるデータセットを参照する命令を利用することが可能である。データセットは、複数のメモリバンクなどにおける異なる格納オフセットを有し、異なるサブサンプリングファクタを利用し、及び/又は異なる個数のメモリバンクを利用するかもしれない。一実施例では、このような異なるデータセットを利用するプログラムにおける命令は、異なるパラメータセットへの参照と組み合わされる同一タイプの位置オペランドを利用して、各セットをアドレス指定する。これは、プログラムを簡単化し、その実行を高速化する。
上記及び他の課題及び効果的な特徴は、以下の図面を用いた実施例の説明から明らかとなるであろう。
図1は、算術ユニット10とメモリアクセスユニット12とを含む複数の機能ユニット10,12、命令発行回路14及びレジスタファイル16を有する処理回路を示す。命令発行回路14は、命令を発行するため機能ユニット10,12の各入力に接続された出力を有する。機能ユニット10,12は、レジスタファイル16のリードポートとライトポートに接続される。例えば、2つの機能ユニットしか示されていないが、算術ユニット又はメモリアクセスユニット以外の機能ユニットを含むより多くの機能ユニットが使用されることが理解されるべきである。
図2は、複数のメモリバンク20、スイッチング回路22及び制御回路24を有するメモリアクセスユニットを示す。スイッチング回路22は、メモリバンク20からメモリポート21と、レジスタファイル(図示せず)の入出力26との間に接続される。制御回路24は、出力命令発行回路(図示せず)と制御出力に接続される命令入力28に接続される命令入力を有する。命令入力28の一部は、レジスタファイル(図示せず)のポート制御入力に接続される。制御回路24は、スイッチング回路22及びメモリバンク20に接続された制御出力を有する。
制御回路24は、パラメータセット制御回路240、アドレス生成回路242、スイッチ制御生成回路244及びパラメータセットメモリ246を有する。パラメータセット制御回路240は、命令入力28とレジスタファイル(図示せず)のリードポートと荷接続された入力と、アドレス生成回路242とスイッチ制御生成回路244とに接続された出力とを有する。パラメータセット選択制御回路240は、パラメータセットのストレージとして機能するパラメータセットメモリ246に接続される。アドレス生成回路242とスイッチ制御生成回路244は、スイッチング回路22とメモリバンク20とに接続された出力を有する。
動作について、命令発行ユニット14は、連続的な命令を機能ユニット10,12に供給する。命令の少なくとも一部はそれぞれ、少なくとも1つの機能ユニット10,12に対する各自のコマンドを含む、コマンドの少なくとも一部は、処理、エペランドレジスタ及びレジスタファイル16の結果レジスタを指定する。コマンドの実行中、オペランドデータが指定されたオペランドレジスタから供給され、機能ユニット10,12は、オペランドデータを用いて指定された処理を実行し、結果データを結果レジスタに供給する。実施例では、各命令は異なる機能ユニット10,12に対するコマンドをパラレルに含むが、あるいは、命令は命令毎に1つのコマンドにより利用されるかもしれない。また、コマンドは、オペランドレジスタアドレス、オペコード及びコマンドの結果レジスタアドレスを連続的に供給するなどによって、パイプライン形式で発行されるかもしれない。
図3は、算術機能ユニットの一例を示す。算術機能ユニットは、オペランド入力30a,30bのペア、コマンド入力32、複数の算術回路34及び結果出力36を有する。オペランド入力30a,30bは、レジスタファイル(図示せず)の各リードポートに接続される。典型的には、各オペランド入力は、オペランドの各ビットを提供する複数のコンダクタを有する。内部的には、算術機能ユニットは、各オペランド入力を複数のセクション(ボックス31a,31bにより示される分割)に分割する。各算術回路34は、両方のオペランド入力30a,30bの各セクションからオペランドの一部を受け取る。同様に、算術実行ユニットは、内部的に複数のセクションの組み合わせ(ボックス37により示される組み合わせ)からの結果出力を構成し、各算術回路34は各セクションにおける結果の一部を供給する。コマンド入力32は、算術回路34により実行される処理の選択を制御するため、算術回路34に接続される。
一例となる動作について、各オペランドは各算術回路34により処理される複数のピクセル値を有し、結果は各算術回路34により生成される複数のピクセル値を有する。
この算術機能ユニットは利用可能な機能ユニットの単なる一例に過ぎないことが理解されるべきである。他の例では、算術回路は同一オペランドからのセクション組み合わせからのピクセル値を処理し、及び/又はセクションの組み合わせに対する結果を生成するかもしれない。算術回路の代わりに、又はそれと組み合わせて、論理回路が利用されるかもしれないが、便宜上すべてのタイプの回路が算術回路という用語により想定される。
図1,2を参照して、メモリアクセスユニット12は、メモリバンク20とレジスタファイル16の各レジスタの間のデータ伝送を提供するコマンドを実行する。さらなる実施例では、メモリバンク20はバックグラウンドメモリ(図示せず)のキャッシュとして機能する。このさらなる実施例では、メモリアクセスユニットはまた、それがメモリバンク20にないときにはバックグラウンドメモリからデータをフェッチし、及び/又はメモリバンク20からバックグラウンドメモリにデータを書き込むことを含むキャッシュ管理を実行する。
メモリアクセスユニット12のコマンドは、算術ユニット10によるパラレル処理に使用するため、複数のメモリバンク20からパラレルに結果データを出力するためのコマンドを含む。メモリアクセスユニット12のコマンドのオペランドは、典型的には、データ値のアドレスを示すのに使用される。リードコマンドのベースでは、結果はメモリバンク20から読み込まれたデータ値を含む。一実施例では、オペランドはオペランド値を含むレジスタファイル16のレジスタのアドレスにより示されるが、他の実施例では、1以上のオペランド値が文字通りオペランドに含まれるかもしれない。
メモリアクセスユニット12のコマンドは、パラメータセットを示すオペランドを有するあるタイプのコマンドを有する。簡単化のため、パラメータセットが文字通り命令入力28を介し示されるが、あるいはパラメータセットの表示がレジスタファイル16のリードポートを介しレジスタから与えられる実施例が説明される。
パラメータセットオペランドは、メモリバンク20からデータがどのように読み込まれるか制御するのに利用される。パラメータセットは、データ値がメモリバンク20にどのように格納されるか、スイッチング回路22がメモリバンクと出力26とをどのように接続する必要があるかを示す。例えば、メモリバンク20にピクセル値を格納するいくつかの方法が説明される。
第1の具体例では、矩形領域のピクセル位置における各ポジションの関数としてのピクセル値が格納される。当該領域の各y座標について、当該領域は各x座標を有するピクセル位置のラインセグメントを含む。ラインセグメントに沿ったピクセル位置のピクセル値は、すべてのバンクがアクセスされると第1バンクに戻り、前のラインセグメントのエンド後に次のy座標のラインセグメントをスタートして、各バンクに連続的に格納される。従って、例えば、第1バンクの第1及び第2メモリ位置は、第1ラインセグメントに沿った第1及び第5ピクセル位置のピクセル値を含み、第2バンクの第1及び第2メモリ位置は、第1ラインセグメントに沿った第2及び第6ピクセル位置のピクセル値を含み、これが第4バンクまで続けられる。第2ラインセグメントに沿った第1及び第5ピクセル位置のピクセル値は、第1バンクの第3及び第4メモリ位置に格納されるなどである。
より一般的には、N個のバンクが存在する場合、i番目のバンクは、yのすべての値についてx座標がi=x mod Nとなるピクセル値を含むかもしれない。当該領域がMピクセル幅であり、MがNの倍数でない場合、異なるラインセグメントのピクセル値が、第1メモリバンクからスタートして、すなわち、先頭から格納されるかもしれない。この場合において、ピクセル位置のx及びy座標はx及びyである場合、第iバンクは、i=x+M*y mod Nとなるピクセル位置のピクセル値を格納する。
他の例では、ピクセル値はあるオフセットを有して格納されてもよく、これは領域の最初のピクセル値が格納されるメモリバンクに影響を与える。この場合、ピクセル位置のx及びy座標がx及びyである場合には、第iバンクは、i=x0+x+M*(y+y0) mod Nとなるピクセル位置のピクセル値を格納する。ここで、x0及びy0はx及びyの各オフセット値である。同一のx座標によるピクセルが同一のバンクに格納される実施例では、i=x0+x mod Nである。
さらなる具体例では、各メモリ位置は複数のピクセル値を含む。一例では、第1バンクの第1メモリ位置は、第1ラインセグメントに沿った第1〜第4ピクセル位置のピクセル値を含み、第2バンクの第1メモリ位置は、第1ラインセグメントに沿った第5〜第8ピクセル位置のピクセル値を含むなどである。第1バンクの第2メモリ位置では、第1ラインセグメントに沿った第17〜第20ピクセルのピクセル値が格納されるなどである。第1ラインセグメントが22のピクセル位置を含むと仮定すると、第1バンクの第3メモリ位置は、第2ラインセグメントに沿って第1〜第4ピクセル位置のピクセル値などを含む。
より一般的には、このさらなる具体例において、N個のバンクがある場合、第iバンクはyのすべての値についてi=j+P*x mod N(j=0,...,P−1)のx座標を有するピクセル値を含むかもしれない(Pは、あるメモリ位置におけるピクセル値の個数である)。当該領域がMピクセル幅であり、MがNの倍数でない場合、異なるラインセグメントのピクセル値が、第1メモリバンクからスタートして、すなわち、先頭から格納されるかもしれない。この場合、あるピクセル位置のx及びy座標がx及びyである場合には、第iバンクは、i=j+P*x+P*M*y mod Nのピクセル位置のピクセル値を格納する。他の例では、ピクセル稚児のビット数は異なるデータについて異なっているかもしれない。例えば、8ビットピクセル値がルミナンスデータに使用され、ピクセル毎に4ビットがカラー値に使用され、より多くのビットが動きベクトルに使用されるかもしれない。これは、より多くのピクセル値が同じ位置に格納可能である、すなわち、Pが異なるタイプのデータについて異なるという効果を有する。この場合もまた、1以上のオフセットx0,y0が利用されるかもしれない。
他の例では、サブサンプリングされたピクセル値が利用されてもよく、これは、データ値が選択されたピクセル位置についてのみ格納されることを意味する。これらのピクセル位置は、座標(x,y)=(x0+ix*Sx,y0+iy*Sy)により記述可能である。ここでは、Sx,Syは、水平方向と垂直方向のサブサンプルファクタ(Sx,Sy=1/2など)であり、ix及びiyは整数である。サブサンプリングが使用されるとき、好ましくは、未使用位置についてメモリ位置は確保されない。この場合、ix及びiyは、メモリ位置の決定においてx及びy座標の役割を引き継ぐ。
上記具体例では、このポイントまで、同一の初期的なメモリバンクが常に格納されている領域における最初のピクセル位置のピクセル値を格納していることが仮定された。この場合、(j+j1)mod N番目(j及びj1は整数である)のバンクのメモリバンクは、第jバンクについて上述された役割を引き継ぐ。この場合、j1のバンクオフセットが存在する。
上記具体例では、このポイントまで、連続するピクセル位置のピクセル値が、連続するピクセル位置の第1部分のすべてのメモリバンクを用いて連続するメモリバンクに格納され、連続するピクセル位置の次の部分のピクセル値がすべてのメモリバンクになるなど仮定されてきた。他の実施例では、メモリバンクの一部のみが選択されたピクセル値セットについて利用されるかもしれない。このため、例えば、ピクセル位置セットの第1カラー値(U個の値など)が第1及び第2メモリバンクに格納され、第2カラー値(V個の値など)が第3及び第4メモリバンクに格納されるかもしれない。より一般的には、これは、バンクの総数Nより少ないバンクの有効数N’が、選択されたピクセル値セットのNの代わりに利用されることを意味する。さらに、最初のバンク番号Bは、何れのバンクが使用されるか示すのに利用されるかもしれない。
ピクセル値がまずx座標に昇順に、次にy座標の昇順に従って格納される具体例が与えられたが、ピクセル値がまずy座標又は座標値の昇順若しくは降順に従って格納可能であることが理解されるであろう。ピクセル値セットについて何れの格納形式が利用されるか示すパラメータが利用されるかもしれない。
上記具体例はピクセル値に関して与えられたが、既知の画像処理アルゴリズムのコンプレクシティによって、異なる形式の格納の利用が特に効果的である。しかしながら、この格納形式はまた一般には少なくとも2次元信号(画像信号に限らない)又は1次元信号(オーディオ信号などの時間に依存した信号など)にも適用可能であることに留意すべきである。さらに多次元の信号に利用されるとき(例えば、ピクセル座標と時間との関数としての画像やピクセル座標とスケールとの関数としての座標など)、典型的には、より多くのパラメータが格納を制御するのに利用される。
具体例から実現されるように、各種パラメータが格納位置に影響を与える。パラメータは、格納されている領域のラインセグメントにおけるピクセル位置数M、オフセットx0,y0、サブサンプルファクタSx,Sy、メモリ位置P毎のピクセル値の個数、バンクオフセットj1、バンクの有効数N’、最初のバンクB、主格納座標の表示(例えば、xが主座標である場合には真であり、yが主座標である場合には偽であるブール値など)の何れか又は組み合わせを含むかもしれない。これらの代わりに又は追加して、他のパラメータが利用されるかもしれない。
メモリアクセスユニット12は、異なるデータ値セット(ピクセル値など)の格納を記述スため、このようなパラメータについて複数の値のセットを同時に使用することをサポートする。これらの値のセットはパラメータセットメモリ246に格納される。メモリアクセス回路12は、格納されているセットの1つを選択するための表示を含むあるタイプの命令をサポートする。一実施例では、この表示は文字通りのデータとして命令に含められ、他の実施例では、レジスタファイル16からのオペランドに提供される。このタイプの命令はさらに、例えば、現在領域に対する座標などに関するピクセル位置の表示を有する位置オペランド(又はより一般的には信号における位置など)を有する。
このタイプの命令を受け付けると、パラメータセット制御回路240は、パラメータセットメモリ246から選択されたパラメータセット(又は少なくともその一部)を抽出し、位置オペランドと組み合わせて選択されたパラメータを利用して、アドレス生成回路242及びスイッチ制御生成回路244を制御する。アドレス生成回路242は、パラメータセット制御回路240からの信号に依存してメモリバンク20のアドレスを生成する。スイッチ制御生成回路244は、パラメータセット制御回路240からの信号に依存してスイッチング回路22のためのスイッチ制御信号を生成する。
このタイプの命令は、リードタイプ又はライトタイプの命令であり得る。リードタイプ命令の制御の下、メモリバンク20はリード処理を実行する。リードタイプ命令の場合、メモリバンク20は複数のデータ値(ピクセル値など)をパラレルに出力し、スイッチング回路22は、レジスタファイル16のライトポートに少なくともこれら複数のデータ値を有する結果をパラレルに出力する。スイッチング回路22は、必要に応じてデータ値を出力するメモリバンク20と、レジスタファイル16のライトポートに出力される結果のポジションとの間の関係を再構成する。一実施例では、結果におけるデータ値のポジションは、位置オペランドにより示される位置に対する信号ポジション(ピクルセル位置など)にのみ依存することが保証される。
第iメモリバンク20がピクセル座標x,yのピクセル位置のピクセル値を格納している例では、i=(x0+x+M*(y+y0))mod Nである場合、スイッチング回路22は、第jバンクからのピクセル値を、レジスタファイル16のライトポートに供給される結果におけるポジション(j−i0)mod R(ここで、Rは結果におけるピクセル値のポジションの個数であり、i0は命令の位置オペランドにより示される位置のピクセル値を格納しているメモリバンクの番号である)に供給する。この場合、パラメータセット制御回路240は、x0,y0,Mのパラメータ値を利用して、スイッチ制御生成回路244を制御する。
同様に、パラメータセット制御回路240は、アドレス生成回路242による異なるメモリバンクのアドレスの選択を制御する。典型的には、アドレスがパラレルに出力される必要があるピクセル位置の系列に沿って変換するかに応じて、2つの異なる隣接するアドレスが使用されるか、又は各メモリバンク20について同一のアドレスが使用される。上記具体例では、第iメモリバンクのアドレスは、例えば、(i−i0)/Nであるかもしれず、この場合、パラメータセット制御回路240とアドレス生成回路242は対応するアドレスを供給する。
使用されるパラメータとメモリバンクのアドレス指定方法に応じて、メモリバンク20のアドレス指定とスイッチング回路22による選択とを制御するため、より複雑な計算が利用されてもよいことが理解されるであろう。パラメータセット制御回路240、アドレス生成回路242及びスイッチ制御生成回路244に使用される具体的な回路は、サポートされるパラメータの性質に依存する。
図4は、これらの回路の組み合わせの典型的な実施例を示す。計算部分のみが示され、読み込みと書き込みとを選択するための制御接続などは示されていない。本実施例では、この組み合わせは加算手段42に接続された出力を有する乗算手段40を有し(例えば、許容されるウィンドウサイズ、サンプリングファクタなどが2の冪乗であるときのバレルシフト回路の形式など)、加算手段42はモジュロー回路43(典型的には、2の冪乗のモジュローを演算する)、さらなる加算手段44と直列に接続される。さらなる加算手段44は、変換回路46,48に接続される出力を有する。
この典型的な実施例では、乗算手段40は、例えば、領域幅M(位置オペランドから求められるy座標との乗算)及び/又はサブサンプリングファクタを考慮するのに利用される。加算手段42は、x及びy座標による貢献の加算であり、オフセットの加算を処理する。モジュロー回路43は、選択されるバンクの有効数N’を考慮する。さらなる加算手段44は、バンクオフセットを加算する。本実施例では、さらなる加算手段44は、結果における第1ポジションに出力される第1ピクセル値を含むバンクのバンク番号を出力する。第1変換回路46は、これをスイッチング回路(図示せず)のための制御信号に変換する。第2変換回路48は、最初のバンク番号、関連するピクセル値セットのアドレスオフセット及び計算されたアドレスを用いて、異なるメモリバンクのアドレスを決定する。各種要素は、メモリアクセスユニットに対するコマンドの選択されたパラメータ値セットの指示に応答して、パラメータ値メモリ246から取得されるパラメータ値を受け取る。
図4の回路は、スイッチング回路22のスイッチ制御信号とメモリバンク20のアドレスとを生成する回路の単なるシンプルな一例であることが強調されるべきである。メモリアクセスユニットによりサポートされるパラメータの特定の組み合わせについて必要に応じて、同様の処理又は簡単化された若しくはより複雑な処理を実行するための多数の代替が存在する。
ライトタイプ命令の場合、データは、レジスタファイル16のリードポートからメモリバンクのメモリ位置に書き込まれる。この場合、スイッチング回路22は、リードポートの各部分をメモリバンク20の制御可能な各メモリバンク22に接続する。ライトタイプコマンドの制御の下、メモリバンク20はライト処理を実行する。スイッチング制御信号とアドレスとを生成するための制御回路24の処理は、リードタイプ命令のケースと同様である。
理解されるように、説明された回路は、リードタイプ命令に応答してメモリバンク20からの出力を複数のデータ値による結果に変換する機能及び/又はリードタイプ命令に応答してライトタイプ命令のオペランドの各部分をメモリバンク20に格納する機能を実行する。各ケースでは、回路は、メモリバンクと結果のポジションとの間の調整可能に制御される関係を利用する。この関係は、制御回路24の複数のパラメータ値セットのうちのあるパラメータ値セットの選択を示すリード又はライトタイプ命令の情報によって制御される。
動作について、回路は、異なるパラメータ値セットを示すリード及び/又はライトタイプ命令の組み合わせを含む命令プログラムを実行する。一実施例では、異なるパラメータ値セットが、メモリバンク系列の1つのオフセットからスタートして格納されている第1ピクセル位置領域のピクセル値と、メモリバンク系列の他のオフセットからスタートして格納されている第2ピクセル位置領域のピクセル値とを提供するよう格納されるかもしれない。このため、これら異なる領域へのアクセスは、異なる領域をロード及びリロードすることなく同時に実行可能である(すなわち、互いに組み合わされた各命令による)。
他の実施例では、異なるパラメータ値セットが、メモリバンクの異なる部分におけるサブサンプリングされた解像度による第2ピクセル値(U及び/又はV)と共に、ある空間解像度により格納される第1ピクセル値(ルミナンス値Yなど)。同様に、このタイプのデータは、さらに低い解像度によるピクセル位置の動きベクトルデータと合成されるかもしれない。従って、これら異なるタイプのデータへのアクセスが、異なるデータをロード及びリロードすることなく同時に実行することができる。
さらなる実施例では、このようなデータの異なるセットが、メモリバンク20の互いに排他的なサブセットに格納されるかもしれない。本実施例では、メモリアクセスユニットは、同一の命令において複数のパラメータセットの指示を受け取り、これら複数のパラメータセットの指示に従って調整されたデータ値をレジスタファイル16のライトポート又はリードポートに入出力するよう構成される。これは、例えば、1つの指示を処理する回路を複製し、複製された回路の出力からスイッチング制御信号とメモリアドレスの各部分を選択することによって実現することができる。従って、データセットの組み合わせへのアクセスは、同一の命令により実行可能である。
一実施例では、メモリアクセスユニットは、パラメータ値をパラメータ値メモリの選択された位置に書き込むためのさらなる命令タイプをサポートするよう構成される。動作について、メモリバンク20におけるデータ値の読み書き前に、パラメータ値の各値を設定する命令を含むプログラムが実行される。
メモリバンク20しか示されていないが、これらのバンクはバックグラウンドメモリのキャッしとして機能するよう利用されることが理解されるべきである。図5は、キャッシュメモリ50がメモリバンク20を有するキャッシュコンフィギュレーションを示す。メモリアクセスユニットはまた、キャッシュ制御回路52と、バックグラウンドメモリ54とのインタフェース回路56とを有する。キャッシュ制御自体は既知である。一実施例では、キャッシュ制御回路52はまた、異なるピクセル位置のデータ値がバックグラウンドメモリ54に格納される方法に適切となるように、キャッシュメモリのデータの一部とメインメモリ54の対応するアドレスとに対応するパラメータセットに従ってキャッシュメモリ50のアドレスを計算することによって、バックグラウンドメモリ54におけるデータをフェッチ又は格納するためのバックグラウンドメモリアドレスを決定するのに利用される格納されているパラメータ値にアクセス可能である。
本発明の実施例は、以下のように要約することができる。プログラマブルデータ処理回路は、ピクセル値、又はより一般にはデータ値を信号のポジションの関数として格納するメモリを有する。プログラマブルデータ処理回路は、複数のデータ値がメモリからのパラレル出力についてどのように構成される必要があるかを示す選択されたパラメータ値セットの指示を含む命令をサポートする。異なるパラメータ値セットを示す命令が、互いに混合されて実行可能である。プログラマブルデータ処理回路は、パラメータ格納回路246から選択されたパラメータ値セットを抽出し、少なくとも部分的に選択されたパラメータ値セットに応じて、メモリ回路20のメモリポート21とデータポート26との間のスイッチング回路22を制御することによって、このタイプの命令に応答する。
パラメータ値メモリ246がパラメータ格納回路の一例として示されたが、何れかの形式の格納が利用されてもよいことが理解されるべきである。図示された具体例では、パラメータ値セットの指示に応答して、パラメータ値メモリからすべてのパラメータ値が提供される。このため、パラメータ値メモリは、パラメータセットのレジスタを有する専用のレジスタファイルとして機能する。このように、大きなパラメータセットのための特殊なレジスタを設けることが可能である。しかしながら、他の実施例では、パラメータ値の一部は、レジスタファイル16のレジスタがパラメータセットを保持するのに十分である場合、例えば、レジスタから命令のオペランドデータとして部分的に又はすべて供給されるかもしれない。この場合、パラメータ値メモリ246はレジスタファイルの一部となる。何れかのタイプのパラメータ格納回路が利用されてもよい。
オペランドと結果(パラメータ値セット以外)が1つのレジスタファイルに読み書きされる実施例が説明されたが、実際には、1つのレジスタファイルは異なるサイズのレジスタを有する複数のレジスタファイルを有することが理解されるべきである。従って例えば、位置オペランド又はパラメータセットの選択指示を有するレジスタは、複数のデータ値を含むレジスタより小さいかもしれない。
さらに、他の実施例では、オペランドと結果は、レジスタファイルの中間的な格納を利用することなく、直接的に及び/又はメモリアクセスユニットから算術回路に提供されてもよい。
データがオペランド/結果とメモリバンク20との間でどのように再構成されるか制御するパラメータに関する具体例が与えられたが、再構成を制御する他のパラメータ及び方法が利用可能であることが理解されるべきである。
命令の発行、レジスタの読み書き、命令の実行、アドレス選択、スイッチング選択などの命令に対する各種処理が説明されたが、異なる処理がパイプライン式に実行されてもよいことが理解されるべきである。
さらに、算術回路の一例が示されたが、記載された形式のメモリアクセスは、複数のデータ値を含む結果を生成し、及び/又はオペランドを処理する他のタイプの機能要素と共に実行可能であることが理解されるべきである。
このため、上述した実施例は本発明を限定するものでなく例示するものであり、当業者は添付した請求項の範囲から逸脱することなく他の多数の実施例を設計可能であることが留意されるべきである。請求項において、括弧内の参照符号は請求項を限定するものとして解釈されるべきでない。“有する”という用語は、請求項に列記した以外の要素又はステップの存在を排除するものでない。要素に先行する“ある”という単語は、当該要素が複数存在することを排除するものでない。本発明は、複数の要素を有するハードウェアによって、及び/又は適切にプログラムされたプロセッサによって実現可能である。複数の手段を列記した装置クレームでは、これらの手段のいくつかは1つの同一のハードウェアアイテムにより実現可能である。特定の手段が互いに異なる従属クレームに記載されているという事実は、これらの手段の組み合わせが効果的には利用可能でないことを示すものでない。
図1は、処理回路を示す。 図2は、メモリアクセスユニットを示す。 図3は、算術機能要素を示す。 図4は、メモリアクセス制御回路の一部を示す。 図5は、キャッシュコンフィギュレーションを示す。

Claims (25)

  1. メモリポートを有するメモリ回路と、
    データポートと、
    前記メモリポートと前記データポートとの間に接続され、制御信号に応じて前記データポートの各データ値のポジションと前記メモリポートのデータ値のポジションとの間の制御可能な接続を提供する制御可能スイッチング回路と、
    各パラメータ値セットが少なくとも1つのパラメータ値を有し、各パラメータ値セットは前記データポートのデータ値のポジションの前記メモリポートのデータ値のポジションへの割当てを少なくとも部分的に決定する複数のパラメータ値セットを格納するパラメータ格納回路と、
    前記スイッチング回路と前記パラメータ格納回路とに接続される命令実行制御回路と、
    を有するプログラマブルデータ処理回路であって、
    前記命令実行制御回路の命令セットは、選択されたパラメータ値セットの指示を有する命令を有し、
    前記命令実行制御回路は、前記パラメータ格納回路から前記選択されたパラメータ値セットを抽出することにより前記命令に応答し、前記選択されたパラメータ値セットを用いて決定された割当てに従って前記スイッチング回路を制御するよう構成されるプログラマブルデータ処理回路。
  2. 前記命令はさらに、信号におけるデータ値の信号位置を示す位置オペランドを有し、
    前記命令実行制御回路は、前記信号位置と前記選択されたパラメータ値セットとから前記割当てを計算するよう構成される、請求項1記載のプログラマブルデータ処理回路。
  3. 前記命令実行制御回路は、前記メモリ回路にアドレスを供給し、前記信号位置と前記選択されたパラメータ値セットとから前記アドレスを計算するよう構成される、請求項2記載のプログラマブルデータ処理回路。
  4. 前記メモリ回路は、複数の少なくとも部分的に独立にアドレス指定可能なメモリバンクを有し、
    各メモリバンクは、前記メモリポートを介し前記データ値の各ポジションの少なくとも1つのデータ値を読み書きするよう構成され、
    前記命令実行制御回路は、前記メモリバンクにアドレスを供給し、前記信号位置と前記選択されたパラメータ値セットとから前記アドレスを計算するよう構成される、請求項2記載のプログラマブルデータ処理回路。
  5. 前記パラメータ値セットはそれぞれ、オフセット値を少なくとも規定し、
    前記命令実行制御回路は、前記オフセット値を前記位置オペランドのバンクの有効数に対するモジュローから求められた値に加算することにより前記割当てを計算するよう構成される、請求項4記載のプログラマブルデータ処理回路。
  6. 前記パラメータ値セットはそれぞれ、オフセット値を少なくとも規定し、
    前記命令実行制御回路は、前記オフセット値と前記位置オペランドから求められた値との和に応じて、前記メモリバンクのアドレスを計算するよう構成される、請求項4記載のプログラマブルデータ処理回路。
  7. 前記パラメータ値セットはそれぞれ、サブサンプリングファクタを少なくとも規定し、
    前記命令実行制御回路は、前記サブサンプリングファクタと前記位置オペランドから求められた値との積から、前記割当て及び/又は前記メモリバンクのアドレスを計算するよう構成される、請求項4記載のプログラマブルデータ処理回路。
  8. 前記パラメータ値セットはそれぞれ、前記命令について使用されるメモリバンクの有効数を少なくとも規定し、
    前記命令実行制御回路は、前記位置オペランドの前記使用されるメモリバンクの有効数に対するモジュローを用いて求められる値から、前記割当て及び/又は前記メモリバンクのアドレスを計算するよう構成される、請求項4記載のプログラマブルデータ処理回路。
  9. 前記データポートに接続される入出力を有するパラレル計算回路をさらに有する、請求項1記載のプログラマブルデータ処理回路。
  10. 前記データポートと前記パラレル計算回路との間で機能的に接続されるレジスタファイルをさらに有する、請求項9記載のプログラマブルデータ処理回路。
  11. 前記命令実行制御回路は、前記命令のオペランドによりアドレス指定されるレジスタから、前記パラメータ値セットの選択の指示を受け取るよう構成される、請求項1記載のプログラマブルデータ処理回路。
  12. 前記命令実行制御回路は、文字通りのデータから前記パラメータ値セットの選択の指示を受け取るよう構成される、請求項1記載のプログラマブルデータ処理回路。
  13. 前記命令による前記メモリ回路の各データ値を、互いに異なるパラメータ値セットの選択を示す指示を有する命令を利用して、同時にアドレス指定するプログラムによってプログラムされる、請求項1記載のプログラマブルデータ処理回路。
  14. 前記メモリ回路は、前記メモリポートに接続されるキャッシュメモリと、バックグラウンドメモリと、前記パラメータ値セットを用いて前記バックグラウンドメモリの各位置について前記キャッシュメモリの各位置を選択するよう構成されるキャッシュ制御回路とを有する、請求項1記載のプログラマブルデータ処理回路。
  15. 請求項1記載のプログラマブルデータ処理回路のためのプログラムを有するコンピュータプログラムであって、
    前記プログラムは、各命令が選択されたパラメータ値セットの各指示を有する命令を有し、
    前記命令の少なくとも一部は、互いに合成された互いに異なるパラメータ値セットを選択し、
    前記プログラムの一部において、該プログラムの実行中、前記命令の各部分によりアドレス指定されるデータ値が、前記選択されたパラメータ値セットに少なくとも部分的に応じて、各データ値とパラレル出力中のデータポートの各パラレルポートへのマッピングを制御するため、メモリ回路に同時に格納されるコンピュータプログラム。
  16. 各命令が選択されたパラメータ値セットの各指示を有する命令であって、該命令の少なくとも一部が互いに合成された互いに異なるパラメータ値セットを選択する命令を実行するステップと、
    パラメータ格納回路から前記選択されたパラメータ値セットを抽出することによって、前記命令に応答するステップと、
    メモリ回路のメモリポートとデータポートとの間のスイッチング回路を、前記データポートの各データ値のポジションと前記メモリポートのデータ値の各ポジションとの間の制御可能な接続を提供するため、前記選択されたパラメータ値セットに少なくとも部分的に応じて制御するステップと、
    を有する方法。
  17. 前記命令の信号位置オペランドと前記選択されたパラメータ値セットとの組み合わせから、前記データポートのデータ値の各ポジションの前記メモリポートのデータ値の各ポジションへの割当てを計算するステップを有する、請求項16記載の方法。
  18. 前記メモリ回路に少なくとも1つのアドレスを適用し、前記信号位置と前記選択されたパラメータ値セットとから、前記メモリ回路の少なくとも1つのアドレスを計算するステップを有する、請求項17記載の方法。
  19. 前記メモリ回路は、複数の少なくとも部分的に独立にアドレス指定可能なメモリバンクを有し、
    各メモリバンクは、前記メモリポートを介し前記データ値の各ポジションの少なくとも1つのデータ値を読み書きするよう構成され、
    当該方法は、前記メモリバンクにアドレスを供給し、前記信号位置と前記選択されたパラメータ値セットとから前記アドレスを計算するステップを有する、請求項17記載の方法。
  20. 前記パラメータ値セットはそれぞれ、オフセット値を少なくとも規定し、
    前記割当ては、前記オフセット値を前記位置オペランドのバンクの有効数に対するモジュローから求められた値に加算することにより計算される、請求項19記載の方法。
  21. 前記パラメータ値セットはそれぞれ、オフセット値を少なくとも規定し、
    当該方法は、前記オフセット値と前記位置オペランドから求められた値との和に応じて、前記メモリバンクのアドレスを計算するステップを有する、請求項19記載の方法。
  22. 前記パラメータ値セットはそれぞれ、サブサンプリングファクタを少なくとも規定し、
    当該方法は、前記サブサンプリングファクタと前記位置オペランドから求められた値との積から、前記割当て及び/又は前記メモリバンクのアドレスを計算するステップを有する、請求項19記載の方法。
  23. 前記パラメータ値セットはそれぞれ、前記命令について使用されるメモリバンクの有効数を少なくとも規定し、
    当該方法は、前記位置オペランドの前記使用されるメモリバンクの有効数に対するモジュローを用いて求められる値から、前記割当て及び/又は前記メモリバンクのアドレスを計算するステップを有する、請求項19記載の方法。
  24. データ値を処理するプロセッサであって、
    各命令が選択されたパラメータ値セットの各指示を有する命令であって、該命令の少なくとも一部が互いに合成された互いに異なるパラメータ値セットを選択する命令を実行する手段と、
    パラメータ格納回路から前記選択されたパラメータ値セットを抽出することによって、前記命令に応答する手段と、
    メモリ回路のメモリポートとデータポートとの間のスイッチング回路を、前記データポートの各データ値のポジションと前記メモリポートのデータ値の各ポジションとの間の制御可能な接続を提供するため、前記選択されたパラメータ値セットに少なくとも部分的に応じて制御する手段と、
    を有するプロセッサ。
  25. 信号におけるポジションの関数としてデータ値を格納する手段と、
    複数のデータ値がメモリからのパラレル出力のためどのように構成される必要があるか示す選択されたパラメータ値セットの指示を有する命令であって、異なるパラメータ値セットを示す命令が互いに合成されて実行可能な命令をサポートする手段と、
    前記異なるパラメータ値セットを示す命令に、パラメータ格納回路から前記選択されたパラメータ値セットを抽出し、前記選択されたパラメータ値セットに少なくとも部分的に応じて、メモリ回路のメモリポートとデータポートの間のスイッチング回路を制御することによって応答する手段と、
    を有するプログラマブルデータ処理回路。
JP2009508631A 2006-05-09 2007-05-07 プログラマブルデータ処理回路 Expired - Fee Related JP5248482B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP06113654 2006-05-09
EP06113654.5 2006-05-09
PCT/IB2007/051703 WO2007132399A1 (en) 2006-05-09 2007-05-07 Programmable data processing circuit

Publications (2)

Publication Number Publication Date
JP2009536392A true JP2009536392A (ja) 2009-10-08
JP5248482B2 JP5248482B2 (ja) 2013-07-31

Family

ID=38520618

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009508631A Expired - Fee Related JP5248482B2 (ja) 2006-05-09 2007-05-07 プログラマブルデータ処理回路

Country Status (6)

Country Link
US (1) US8339405B2 (ja)
EP (1) EP2024928B1 (ja)
JP (1) JP5248482B2 (ja)
KR (1) KR101311311B1 (ja)
CN (1) CN101443809A (ja)
WO (1) WO2007132399A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9820210D0 (en) 1998-09-16 1998-11-11 Vg Elemental Limited Means for removing unwanted ions from an ion transport system and mass spectrometer
GB0210930D0 (en) 2002-05-13 2002-06-19 Thermo Electron Corp Improved mass spectrometer and mass filters therefor
JP2010086497A (ja) * 2008-10-03 2010-04-15 Renesas Technology Corp 画像処理装置及びデータプロセッサ
US20140307055A1 (en) 2013-04-15 2014-10-16 Microsoft Corporation Intensity-modulated light pattern for active stereo

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341489A (en) * 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
EP0629952A1 (en) * 1993-06-16 1994-12-21 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Variable interleaving level memory and related configuration unit

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819152A (en) * 1985-04-05 1989-04-04 Raytheon Company Method and apparatus for addressing a memory by array transformations
US5341486A (en) * 1988-10-27 1994-08-23 Unisys Corporation Automatically variable memory interleaving system
US6657621B2 (en) * 2001-05-01 2003-12-02 Hewlett-Packard Development Company, L.P. Device and method for scrolling stored images across a display
AU2003205953A1 (en) * 2002-02-21 2003-09-09 Koninklijke Philips Electronics N.V. Method of storing data-elements
JP4744510B2 (ja) 2004-04-22 2011-08-10 シリコン ハイブ ビー・ヴィー データ値の多次元アレイへのパラレルなアクセスを提供するデータ処理装置
US7451282B2 (en) * 2005-03-09 2008-11-11 Dolphin Interconnect Solutions North America Inc. System and method for storing a sequential data stream

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341489A (en) * 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
EP0629952A1 (en) * 1993-06-16 1994-12-21 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Variable interleaving level memory and related configuration unit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7012003553; 'SELECTABLE MEMORY CARD INTERLEAVE SCHEME' IBM Technical Disclosure Bulletin Vol.30, No.11, 198804, pp.158-161, IBM Corp. *

Also Published As

Publication number Publication date
KR20090012320A (ko) 2009-02-03
JP5248482B2 (ja) 2013-07-31
KR101311311B1 (ko) 2013-09-25
EP2024928A1 (en) 2009-02-18
CN101443809A (zh) 2009-05-27
EP2024928B1 (en) 2013-07-24
WO2007132399A1 (en) 2007-11-22
US20090135192A1 (en) 2009-05-28
US8339405B2 (en) 2012-12-25

Similar Documents

Publication Publication Date Title
KR100648293B1 (ko) 그래픽 시스템 및 그것의 그래픽 처리 방법
KR930013968A (ko) 그래픽 시스템용의 확장 가능한 다영상 버퍼
JP2008176788A (ja) 3次元グラフィック加速器及びそのピクセル分配方法
KR20090064394A (ko) 복수의 메모리 뱅크를 이용한 데이터 처리
JP5248482B2 (ja) プログラマブルデータ処理回路
JP3985797B2 (ja) プロセッサ
US20030231176A1 (en) Memory access device, semiconductor device, memory access method, computer program and recording medium
JP4896839B2 (ja) マイクロプロセッサおよびデータ処理方法
US5893928A (en) Data movement apparatus and method
KR970008189B1 (ko) 메모리 공간 제어방법 및 메모리 장치
JPH03138779A (ja) テクスチャ・マッピング方法およびその装置
US11429523B2 (en) Two-way interleaving in a three-rank environment
JP2673602B2 (ja) 制御装置
JPH0528771A (ja) メモリ素子
JP4482996B2 (ja) データ記憶装置とその方法および画像処理装置
JP2510219B2 (ja) 画像処理装置
JP4195953B2 (ja) 画像処理装置
CN117795946A (zh) 一种数据读取装置及相关方法
CN110009559A (zh) 图像处理方法及装置
JP2007122209A (ja) 3次元グラフィックス描画装置、その方法及びプログラム
JP2018147304A (ja) ヒストグラム生成回路及びヒストグラム生成方法
JPH02165385A (ja) 画像メモリ制御方式
JPH0348549B2 (ja)
JPH012147A (ja) プログラムトレ−サ
JPH01311339A (ja) 多バンクメモリ用並列アドレス生成回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100430

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121204

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130410

R150 Certificate of patent or registration of utility model

Ref document number: 5248482

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160419

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees