JP2009524123A - 1つまたは複数のプロセッサとメモリとを有するプラットフォーム上でオブジェクトを処理する方法、およびこの方法を使用するプラットフォーム - Google Patents

1つまたは複数のプロセッサとメモリとを有するプラットフォーム上でオブジェクトを処理する方法、およびこの方法を使用するプラットフォーム Download PDF

Info

Publication number
JP2009524123A
JP2009524123A JP2008545068A JP2008545068A JP2009524123A JP 2009524123 A JP2009524123 A JP 2009524123A JP 2008545068 A JP2008545068 A JP 2008545068A JP 2008545068 A JP2008545068 A JP 2008545068A JP 2009524123 A JP2009524123 A JP 2009524123A
Authority
JP
Japan
Prior art keywords
sub
platform
dimension
basic information
specific
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
JP2008545068A
Other languages
English (en)
Other versions
JP5025658B2 (ja
Inventor
リエージェ、ブルーノ
Original Assignee
ディーエックスオー ラブズ
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 ディーエックスオー ラブズ filed Critical ディーエックスオー ラブズ
Publication of JP2009524123A publication Critical patent/JP2009524123A/ja
Application granted granted Critical
Publication of JP5025658B2 publication Critical patent/JP5025658B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Abstract

本発明は、1つまたは複数のプロセッサとメモリとを有するプラットフォーム中で、同じタイプの基本情報(254、256、258、260、154、156、158、160)からなるオブジェクト(55)を処理する方法に関し、本方法は、処理されるオブジェクト(255)を、N個の基本情報(254、256、258、154、156、158)からそれぞれなる少なくとも2つのサブオブジェクト(250、251、252、および253)に分解するステップを含み、すべてのサブオブジェクト(250、251、252、および253)は同じ数量Nの基本情報を有し、処理操作は、各サブオブジェクトの基本情報に対して少なくとも1つの特有操作シーケンスを実施することにあり、本方法はさらに、各サブオブジェクトにつき各特有操作を少なくともN回実施するステップを含み、それにより、一方では、各サブオブジェクト(250、251、252、および253)の各基本情報が少なくとも1回適用され、他方では、各特有操作につきN個の結果(264)が生成され、特有操作のシーケンスは、シーケンスの少なくとも1つの特有操作(262)が、そのN回の適用(262a、262b、262c、262d、262e、および262f)の間に少なくとも1回、別のサブオブジェクトの処理に使用される結果(260、160)を生成するようなシーケンスである。

Description

本発明は、1つまたは複数のプロセッサとメモリとを有するプラットフォーム上で、基本情報からなるオブジェクトを処理する方法に関する。本発明はさらに、このような方法を使用するプラットフォームにも関する。
この記述では、基本情報は、処理される情報の要素であり、1つまたは複数の数値で表される。この情報は、8ビット符号化、10ビット符号化、さらには16ビット符号付き符号化など、様々なタイプの符号化に従って符号化することができる。処理されるオブジェクトが画像である場合、基本情報はこの画像のピクセルとなる。
プラットフォーム中でオブジェクトに施されることになる処理は、様々な分野に介入することのできるアルゴリズムに対応し、これらの分野は例えば、画像処理、データ圧縮および圧縮解除、オーディオ処理、信号変調および復調、測定、データ分析、データベース索引付けまたは検索、コンピュータによる閲覧、グラフィック処理、シミュレーションなど、あるいは多量のデータを使用する任意の分野である。
プロセッサとメモリとを有するプラットフォーム中で、同じタイプの基本情報からなるオブジェクトの処理が必要とされるとき、基本情報の処理順序と、ループと、対応する操作シーケンスとを決定することについては大きな自由裁量の範囲がある。
しかし、コードサイズ、計算時間、メモリアクセス速度、メモリサイズ、および規則性に関係する制限は相容れない可能性があり、所与のアルゴリズムに対してできる限りプラットフォームの並列処理を活用するのは難しい。
この問題を解決するために従来、重畳、乗算、さらには相関表の適用など、物理ブロックに対して様々な処理操作を実施することのできる低レベルライブラリの使用が知られている。これによれば、各プラットフォームにつきこれらのライブラリを1回だけ最適化すればよい。しかし、この方法には、以下のように多くの不都合がある。
−ライブラリのサイズ、したがってコードのサイズがかなり大きい。
−ライブラリ呼出し時間が与えられた場合に、比較的大きいサイズの物理ブロックを使用する必要があり、この結果、かなりのメモリ使用となる。
−基本情報に対する内部ループがライブラリ内に位置する場合、操作のシーケンスを最適化することができず、この結果、性能が制限される。
−物理ブロックはメモリに記憶され、この結果、メモリ使用が集中的になり、メモリから中間データを読み書きするのに多くの時間が費やされる。
さらに、プログラム可能なプロセッサ、例えば、スカラプロセッサタイプ、ベクトル信号プロセッサタイプ、信号処理プロセッサタイプ、とりわけSIMD(「単一命令複数データ」)タイプのものでは、基本情報で構成されブロックまたはサブオブジェクトに(すなわち基本情報のグループに)分解されるオブジェクトに、アルゴリズムを適用することができる。
従来、各操作が、完全なブロックに適用され、次いで次の操作が、ブロックに対して実行されるが、このブロックはサイズが縮小される可能性があった。実際、これらの操作のいくつかは、ブロックのサイズを縮小し、後続の操作が実施されるときにエッジ効果を生じる。その後、アルゴリズムが既知のプロセッサで適用されることになるとき、多数のメモリアクセス操作が必要である。というのは、1つの操作がすべてのブロックに連続して適用された後で次の操作に進むからであり、この状況は、メモリ中での頻繁な読み書きを引き起こす。
また、エッジ効果を低減するためにサイズの大きいブロックを使用する必要もあり、したがって、これらのサイズの大きいブロックを記憶できるように比較的大きいサイズのメモリを有する必要がある。さらに、ループの数量が多いことは、ループおよびエンドオブループ初期化コードが多くの回数にわたって存在することを意味し、それによりサイズの大きいコードを誘発する。
さらに、相関表や、局所変位の適用など、ある種の操作は、オフセットまたは置換による通信スキーマが備わったベクトルシグナリングプロセッサに統合するのには適さない。
さらに、操作が適用されるブロックのサイズは、ある操作から別の操作で変動するので、コードは規則性の問題を提起することもわかっている。したがって、メモリおよび/または計算時間の点で、このコードを最適化するのは難しい。というのは、最適化は、シーケンス全体ではなく、1ブロックにつき1つの操作に制限されるからである。
したがって、アルゴリズム+プラットフォームの各組合せを最適化するのにかなりの時間を費やすことなく、コードのサイズ、メモリのサイズ、および必要とされる命令の数量を最適化するのは非常に難しい。実際、各プラットフォームは、装置(例えばプロセッサの数およびタイプや、メモリのサイズおよびタイプ)と、使用言語(スカラプロセッサの場合はC、ベクトル信号プロセッサの場合はアセンブリ言語)との両方の点で、それ自体の特性を有する。
本発明の目的は、前述の欠点の少なくとも1つを正すことによって、プラットフォーム中でのオブジェクトの処理を可能にする方法である。とりわけ、本発明は、コードサイズ、計算時間、メモリアクセス速度、メモリサイズの点で、処理の最適化を可能にする。
この最適化は、アルゴリズムの計算時間、計算パワーに必要な電気的消費、メモリサイズしたがってシリコン表面、データを減少させる。
この最適化はさらに、シリコン表面などハードウェアプロパティと、所与の計算時間に対するアルゴリズムの実行に必要とされる電気的消費との、節約を達成することを可能にする。
したがって本発明は、1つまたは複数のプロセッサとメモリとを有するプラットフォーム中で、同じタイプの基本情報からなるオブジェクトを処理する方法に関し、本方法は、処理されるオブジェクトを、N個の基本情報からそれぞれなる少なくとも2つのサブオブジェクトに分解するステップを含み、すべてのサブオブジェクトは同じ数量Nの基本情報を有し、処理は、各サブオブジェクトの基本情報に対して少なくとも1つの特有操作シーケンスを実施することにあり、本方法はさらに、各サブオブジェクトにつき各特有操作を少なくともN回実施するステップを含み、それにより、一方では、各サブオブジェクトの各基本情報が少なくとも1回適用され、他方では、各特有操作のN個の結果が生成され、特有操作のシーケンスは、シーケンスの少なくとも1つの特有操作kが、そのN回の適用全体のうちで少なくとも1回、別のサブオブジェクトの処理に使用される結果を生成するようなシーケンスである。
好ましくは、特有操作のシーケンスはループを含まない。
一実施形態では、プラットフォームはQ個のプロセッサを備える。好ましくは、各サブオブジェクトの処理は、Q個のプロセッサにわたって分散され、各プロセッサは、特有操作シーケンスからの少なくとも1つの特有操作IS8を実施する。したがって、すべてのプロセッサは、各サブオブジェクトに使用され、1つの同じプロセッサは、サブオブジェクトのセットに使用される。したがって、サブオブジェクトをプロセッサに割り当てる必要はない。
好ましくは、サブオブジェクトを処理するために特有操作がプロセッサによって実施されるとき、同じ特有操作がまた、他のすべてのサブオブジェクトを処理するために同じプロセッサによって実施される。したがって処理は規則的である。特有操作はプロセッサに割り当てられ、次いで各サブオブジェクトのサブ処理操作のために周期的に実施される。
好ましくは、処理に必要なループのセットは、オブジェクトのトポロジおよびプラットフォームに依存するが、特有操作のシーケンスから独立している。
好ましくは、ループは、特有操作の完全なシーケンスの周りで相互の中に埋め込まれる。このようにして、ループは特有操作のシーケンス全体をカプセル化し、特有操作のシーケンスは、それぞれがループに囲まれたサブシーケンスに分割されることはない。同様にして、完全なオブジェクトを記憶する必要も、特有操作の結果のセットを記憶する必要もなしに、ただ別のサブオブジェクトの処理に必要な結果を一時的に記憶するだけで、サブオブジェクトを同時に処理することによってオブジェクトを処理することができる。したがってメモリ使用が削減される。
好ましくは、サブオブジェクトは、連続した基本情報で構成される。このため、少なくとも1つの待ち行列を含むプロセッサの連鎖を実施することが可能である。
次に、本発明による待ち行列の概念を定義する。
待ち行列は、基本情報、または特有操作からの結果を、送出および/または記憶するのに使用される。
待ち行列は、メモリを備えるかまたは使用することができる。
待ち行列は、FIFO(先入れ先出し)タイプの1つまたは複数のプロセスを使用して実現することができる。
待ち行列は、少なくとも1つの入力および少なくとも1つの出力を備える。
−待ち行列は、任意の手段を介して入力計算ユニットおよび出力計算ユニットに動作可能に接続させることができる。
−待ち行列はまた、任意の手段を介してPR入力計算ユニットおよびPR出力計算ユニットに動作可能に接続させることができ、この場合、待ち行列は、それぞれが入力計算ユニットを出力計算ユニットにリンクするPR待ち行列のように挙動する。
好ましくは、待ち行列は、いくつかのデータフラックスを独立して管理するのに使用することができ、各フラックスは所定の特有命令に関連する。
一実施形態では、待ち行列中で読取りと書込みを同時に行うことが可能である。
好ましくは、待ち行列は、少なくとも1つのメモリユニットを使用して、各フラックスにつき同一数量NFのデータを記憶する。
好ましくは、NFは、サブオブジェクトの相対的な配置およびスクローリングモードに従って決定され、それにより、データを生成するサブオブジェクトの処理と、同じデータを使用するサブオブジェクトの処理との間で、NF−1個のサブオブジェクトが処理される。
好ましくは、計算ユニットと待ち行列とを含む連鎖は、ブート操作の管理を可能にする機構を含む。待ち行列は、定期的に、例えば待ち行列が水平連鎖の一部でありオブジェクトが画像である場合は各ラインの最初に、初期化される。待ち行列がNF個のデータを含まないならば、連鎖中で待ち行列に続くプロセッサは、出力において送出するデータを入力として取る。次に、連鎖中で待ち行列に続くプロセッサは、待ち行列中で最も古いデータを入力において取り、これを待ち行列から除去する。
好ましくは、待ち行列は、待ち行列に入力されたときと同じ順序でデータを出力することを可能にする。
好ましくは、循環的連鎖は一方向である。好ましくは、循環的連鎖は、計算ユニットごとに、入力に1つの単一リンクがあり、出力に1つの単一リンクがあるような連鎖である。
このように、少なくとも1つの待ち行列の使用により、少なくとも1つの他のサブオブジェクトの計算で必要とされる特有操作からの結果を送出することができる。
待ち行列は、例えば、マイクロプロセッサを使用して実現される。
この記述全体を通して、用語「計算ユニット」と「プロセッサ」とは同じ意味を有することに留意することができる。
一実施形態では、N個の基本情報からなるサブオブジェクトを処理するために、シーケンスの各特有操作が総計N回実施され、Q個のプロセッサそれぞれにつきN/Q回実施される。特有操作のシーケンスが条件付き接続を含む場合、各プロセッサは、これらの条件付き接続を反映するシーケンスの部分を実施する。
一実施形態では、サブオブジェクトは、少なくとも1つの次元に従ってオーバーレイされない。したがって、あるサブオブジェクトの処理中に生成された少なくとも1つの特有操作結果が、別のサブオブジェクトの処理中に使用される。
好ましくは、サブオブジェクトは、どんな次元に従ってもオーバーレイされない。したがって、各プロセッサは、計算を繰り返さずに100%使用することができる。
好ましくは、特有操作のシーケンスは、シーケンスのうちの少なくとも1つの特有操作kが、そのN回の適用中に少なくとも1回、別のサブオブジェクトの処理に使用される結果を生成するようなシーケンスである。
好ましくは、サブオブジェクトの同じ1つの次元に従ったいくつかの循環的連鎖がある場合(とりわけプロセッサがグリッドに従って配置されているとき)、待ち行列は、同じ次元に従ったすべての循環的連鎖間で共有される。好ましくは、サブオブジェクトの各次元につきちょうど1つの待ち行列があり、各待ち行列は、同じ次元に従ったすべての循環的連鎖間で共有される。したがって、プロセッサ間の通信は特に単純である。したがって、メモリの構成は特に単純である。
本発明はさらに、所与のアルゴリズムに対し、アルゴリズムもメモリサイズも変更せずに、また小さいサイズのプロセッサを使用して、プロセッサの数に比例した性能を得ることを可能にする。
したがって、本発明は、0.09μプロセスで刻印されたコンポーネントの場合に、1mm当たり毎秒数百億個の演算の計算パワーをコンポーネント上で利用できるようにすることを可能にする。従来、このような密度は、最適化されたケーブル接続型アーキテクチャを必要とし、これはしたがって開発の時宜を得ており、アルゴリズムを変更するためのフレキシビリティがない。反対に、本発明は、どんなアルゴリズムも非常に容易に、したがってごく短時間のうちに、プログラムすることを可能にする。
これはまた、単一のコンポーネント上で、毎秒およそ数兆個の演算の性能を達成可能にする。
この目的で、本発明は、エッジ効果を呈示する操作からなる処理操作を規則的なものにする。
前述のような方法によって処理されるオブジェクトは、好ましくは、デモザイキング操作前の未処理画像(「生」タイプのもの)であり、この場合、
−一代替形態では、基本情報は、ピクセルの絶対位置に従って例えば赤、緑、または青に対応する数値で表されるピクセルである。
−別の代替形態では、基本情報は、1ピクセル当たり1数値で表されるピクセルのグループ(例えば2*2の緑、赤、および青のピクセルのグループ。緑は「バイエル(Bayer)」に対応する)である。
オブジェクトは可視画像とすることもでき、この場合、基本情報は、例えば3つの数値で表されるピクセルであり、各数値は色、例えば赤、緑、および青を表す。
オブジェクトは画像のシーケンス、とりわけ未処理または可視画像のシーケンスとすることもでき、この場合、基本情報は、画像シーケンスからの画像のピクセルである。したがって、オブジェクトは例えばビデオに対応する。
オブジェクトが画像である場合、画像は、画像取込みデバイスから受け取ることができ、かつ/または画像レンダリングデバイスに向けることができる。
−画像取込みデバイスは、例えば使い捨てカメラ、ディジタルカメラ、レフレックスカメラ(ディジタルまたは非ディジタル)、スキャナ、ファクス、内視鏡、ビデオカメラ、カムコーダ、監視カメラ、玩具、電話機またはパーソナルアシスタントまたはコンピュータに統合されたかリンクされたビデオカメラまたはカメラ、サーマルカメラ、超音波マシン、MRI(磁気共鳴)撮像ユニット、X線撮影ユニットである。
−画像レンダリングデバイスは、例えばスクリーン、プロジェクタ、テレビジョン、仮想現実ゴーグル、またはプリンタである。
−画像取込みおよび画像レンダリングデバイスは、例えばスキャナ/ファクス/プリンタ、小型写真印刷ラボ、ビデオ会議デバイスである。
処理プラットフォームは、適用例に応じて種々の形をとることができる。例えば、オブジェクトが画像である場合に、とりわけ処理プラットフォームが以下のデバイスの1つに統合された場合について列挙する。
−処理済み画像を生成する画像取込みデバイス。例えば、処理プラットフォームを統合したディジタルカメラ。
−処理済み画像を表示または印刷する画像レンダリングデバイス。例えば、処理プラットフォームを備えるビデオプロジェクタまたはプリンタ。
−これらの要素上の欠陥を訂正する混合デバイス。例えば、処理プラットフォームを備えるスキャナ/プリンタ/ファクス。
−処理済み画像を生成するプロ用画像取込みデバイス。例えば、処理プラットフォームを備える内視鏡。
処理プラットフォームは、完全にまたは部分的にサーバ上に移すことができる。
アルゴリズム、またはオブジェクト処理操作は、例えば、オブジェクトが画像である場合、限定しないが以下に挙げるものに対応する。
−自動ホワイトバランスに関する、とりわけ統計ベースの計算、ならびに/あるいは、
−自動露光に関する、とりわけ統計ベースの計算、ならびに/あるいは、
−自動フォーカスに関する、とりわけ統計ベースの計算、ならびに/あるいは、
−自動コントラスト改善に関する、とりわけ統計ベースの計算、ならびに/あるいは、
−未処理画像から可視画像への変換(「イメージパイプ」または「画像信号処理(ISP)」、ならびに/あるいは、
−光学障害の補正、ならびに/あるいは、
−被写界深度の改善、ならびに/あるいは、
−特許出願PCT/FR2006/050022「Method for creating an image capturing and/or rendering device,and device obtained by this method」および/または特許出願PCT/FR2006/050197「Method for commanding an action,notably a modification of sharpness,using a digital colour image」に記載されている処理操作、ならびに/あるいは、
−センサ障害の補正、ならびに/あるいは、
−イメージャ障害の補正、ならびに/あるいは、
−処理操作、とりわけ鮮鋭度の改善、ならびに/あるいは、
−処理操作、とりわけ色表現の改善、ならびに/あるいは、
−処理操作、とりわけコントラスト表現の改善、ならびに/あるいは、
−処理操作、とりわけディテール表現の改善、ならびに/あるいは、
−雑音低減、ならびに/あるいは
−測定、ならびに/あるいは、
−圧縮、ならびに/あるいは、
−圧縮解除、ならびに/あるいは、
−補間またはズーム、ならびに/あるいは、
−走査、ならびに/あるいは、
−特殊効果。
本発明によれば、オブジェクトに適用される処理操作は、特有操作とも呼ばれる操作のシーケンスにあるものとすることができる。特有操作からの結果もまた基本情報と呼ばれ、オブジェクトの基本情報と同じタイプとすることもでき、そうでないものとすることもできる。
サブオブジェクトは、形およびサイズを有する基本情報のセットであり、この形およびサイズは、場合に応じて、プラットフォームの特性(とりわけメモリのサイズおよびタイプに関して、ならびに、ベクトル信号プロセッサの場合にはベクトルのサイズに関して)に依存するが、処理されるオブジェクトの特性にも依存する。
一実施形態では、オブジェクトおよびサブオブジェクト、ならびに論理ブロックは、いくつかの次元を有する。
サブオブジェクトおよび論理ブロックの次元は、オブジェクトの次元のすべてまたは一部に対応する。次元は種々のタイプとすることができ、とりわけ以下のタイプである。
−空間的。例えば、距離、角度、または、メッシュ中でのスクローリング。
−時間的。
−周波数。例えば、色、周波数、周波数帯。
−位相。
−ベクトル空間基底に従った分解。例えば、ウェーブレットへの分解、または高バイト、低バイトへの分解。
−一般に、任意のトポロジの任意の空間の次元。
以下の非網羅的なリストに、オブジェクトの例をその次元と共に提供する。
−2つの次元を有する静止画。各次元は、距離、とりわけピクセルで測定される距離に対応する。
−2つの次元を有する未処理静止画。各次元は距離に対応し、各ピクセルには色、例えば赤、緑、または青が備わる。
−2つの次元を有する静止カラー画像。各次元は距離に対応し、一方の次元はカラーチャネルを表す周波数、例えば赤/緑/青を表す周波数に対応する。
−3つの次元を有する動画。次元のうちの2つは、距離、とりわけピクセルで測定される距離に対応し、1つは時間に対応する。
−3つの次元を有するレリーフ画像。次元は距離に対応する。
−3つの次元を有するレリーフ画像。次元のうちの2つは距離に対応し、第3の次元は視野角に対応する。
−距離次元およびおそらくチャネル次元を有する医療画像。
−視野角次元を有するホログラム。
−より一般的に、距離および/または角度および/または時間および/または周波数の次元を有する画像。
−時間に対応する次元を有する音声。
−時間およびチャネルに対応する2つの次元を有する音声。
−時間、およびおそらく周波数、およびおそらく空間における位置、または角度に対応する1つまたは複数の次元を有する被変調信号。
−1つまたは複数の次元に従って配置された基本情報によって示される、信号変調および復調、測定、データの分析、データベース索引付けまたは検索、コンピュータによる閲覧、グラフィック処理、シミュレーション。
−より一般的に、1つまたは複数の次元を有するオブジェクト。
本発明によれば、オブジェクトの基本情報は、絶対的な位置および/またはスケールを有することができ、これらはとりわけ、空間および/または時間および/または周波数によるものとすることができるが、同様に、オブジェクトの次元の任意の他の1つに従ったものとすることもできる。
−「オーディオ」オブジェクトに関する基本情報は、強度に対応することができる。この場合、基本情報は、時間における所与の瞬間に対応する絶対位置を有し、複数チャネル音声の場合は、所与のチャネルに対応する絶対位置を有する。
−「画像」オブジェクトに関する基本情報は、ピクセルに対応することができる。この場合、基本情報は、画像中の位置に対応する絶対位置を有し、ビデオ画像の場合は、時間における所与の瞬間に対応する絶対位置を有する。
−「データシミュレーション」オブジェクトに関する基本情報は、ステータスに対応することができる。この場合、基本情報は、メッシングノードと、時間における所与の瞬間とに対応する絶対位置を有する。
−「被変調信号」オブジェクトに関する基本情報は、強度および/または位相に対応することができる。この場合、基本情報は、時間における所与の時点に対応する絶対位置を有し、おそらく、複数のアンテナまたは送信機が使用される場合は、所与の周波数および/または所与の位置に対応する絶対位置を有する。
とりわけ空間的および/または時間的な少なくとも1つの次元に従った相対位置、および絶対または相対スケールは、オブジェクトのタイプに応じて様々な概念に対応することができる。これらは、タイプにかかわらず任意の2つのブロック間で適用される(前述のような画像の場合、論理ブロックはとりわけ、未処理、赤、緑、8ビットなどとすることができる)。
オブジェクトが正方形ピクセルを含む静止画である場合、絶対または相対位置は、一実施形態では、2つの値(垂直および水平)に対応することができ、絶対または相対スケールは、2つの値(垂直および水平)に対応することができる。オブジェクトの最上ラインのピクセルは、絶対位置として(0;0)(0;1)(0;2)...を有することができ、n番目のラインのピクセルは、絶対位置として(n;0)(n;1)(n;2)を有することができる。この場合、相対位置は、次のようにしてコーディングすることができる。すなわち、(−1;0)は上を示し、(0;0)はヌル変位に対応し、(0;1)は右を示し、(2;−2)は2ピクセル下および2ピクセル左を示す。この場合、(0.5;0.5)の相対スケールは、各方向への半分の解像度に対応する。
より一般的には、相対変位と相対スケールの組合せは、次のようにして2つの関数fおよびgを使用してコーディングすることができる。すなわち、絶対位置の各ピクセルにつき(f(x;y);g(x;y))である。例えば最も近いピクセルを取るためには、丸め規則が必要であることに留意されたい。したがって、
−上の相対位置は、f(x;y)=−1およびg(x;y)=0でコーディングされる。
−相対スケール0.7は、f(x;y)=0.7*(x−x0)およびg(x;y)=0.7*(y−y0)でコーディングされる。x0およびy0は、絶対位置に対するパラメータに対応する。
−歪み補正は、歪みフィールドに対応するfおよびgでコーディングされる。
−YUV4:2:2フォーマット変更、すなわち、別々のY、U、V輝度およびクロミナンス情報を使用するYYUVは、Y1 Y2 Y3 Y4...を使用してY1 Y2 xx xx Y3 Y4 xx xx...を得るために、後続の関数を使用することができる。すなわち、xが偶数ならf(x;y)=(x−x0)*0.5、x−x0が奇数なら(x+1−x0)*0.5を使用することができ、f(y)=y−y0である。x0およびy0は、絶対位置に関するパラメータに対応する。
以下の非網羅的なリストに、様々な異なるタイプのオブジェクトによる実施形態の他の例を提供する。
−オブジェクトが、ラインに沿って配置された六角形のピクセルを含む静止画であって、2つの連続したラインが半ピクセル分ずれている場合、絶対または相対位置は、2つの値(垂直および水平)に対応することができ、絶対または相対スケールは、2つの値(垂直および水平)に対応することができる。オブジェクトの最上ラインのピクセルは、絶対位置として(0;0)(0;1)(0;2)...を有することができ、n番目のラインのピクセルは、絶対位置として、ラインが奇数ラインならば(n;0.5)(n;1.5)(n;2.5)...を有することができ、ラインが偶数ラインならば(n;0)(n;1)(n;2)...を有することができる。相対位置は、2つの値(垂直および水平)に対応することができ、例えば、(−0.5;0.5)は右上を示し、(0,1)は右を示し、(−0.5;1.5)は右上のピクセルの右に位置するピクセルを示す。この場合、相対スケール(0.5;0.5)は、各方向への半分の解像度に対応する。また、相対変位と相対スケールの組合せは、2つの関数fおよびgを次のようにして使用してコーディングすることができる。すなわち、絶対位置x,yの各ピクセルにつき(f(x;y);g(x;y))である。例えば最も近いピクセルを取るためには、丸め規則が必要であることに留意されたい。
オブジェクトが、正方形のピクセルを含む動画である場合、絶対または相対位置は3つの値(垂直、水平、および時間)に対応することができ、例えば、(−1;0;0)は、同じ画像中の上に位置するピクセルを示し、(0;0;−1)は、前の画像中の同じ位置のピクセルを示し、(2;−2;−1)は、前の画像中の2ピクセル下および2ピクセル左に位置するピクセルを示す。また、相対変位と相対スケールの組合せは、3つの関数f、g、hを次のようにして使用してコーディングすることができる。すなわち、時間tにおける絶対位置x,yの各ピクセルにつき(f(x;y;t);g(x;y;t);h(x;y;t))である。例えば最も近いピクセルを取るためには、丸め規則が必要であることに留意されたい。
−オブジェクトが単一チャネルの音声である場合、絶対または相対位置は1つの値(時間)に対応することができる。例えば、(−1)は前の時間を示し、(2)は2つの時間後を示す。この場合、関数f(t)が、変位および相対スケールのコーディングを可能にする。最も近い時間を取るためには、丸め規則が使用される。
−オブジェクトが複数チャネル音声である場合、絶対または相対位置は2つの値(時間、チャネル)に対応することができる。例えば、(−1,0)は、同じチャネルでの前の時間を示し、(2,1)は、後続のチャネルでの2つの時間後を示し、このチャネルは例えば循環的な方式で空間配置される。また、相対変位と相対スケールの組合せは、2つの関数f、gを次のようにして使用してコーディングすることができる。すなわち、チャネルcで時間tに位置する各オーディオサンプルにつき(f(t;c);g(t;c))である。例えば最も近い時間およびチャネルを取るためには、丸め規則が必要であることに留意されたい。
−オブジェクトがシミュレーションメッシュである場合、絶対または相対位置はn個の値に対応することができ、各値は、メッシングのトポロジに従った空間または時間次元に対応する。また、相対変位と相対スケールの組合せは、n個の関数を使用してコーディングすることができる。例えば最も近いノードおよび時間を取るためには、丸め規則が必要であることに留意されたい。
−オブジェクトが被変調信号である場合、絶対または相対位置はn個の値に対応することができ、各値は、時間と、妥当な場合に周波数チャネル(複数の周波数上での送信または受信)と、妥当な場合に空間次元(空間的に配置された複数の送信機または受信機)とに対応する。また、相対変位と相対スケールの組合せはn個の関数を使用してコーディングすることができ、丸め規則を選択しなければならない。
−オブジェクトが測定値のセットである場合、絶対または相対位置はn個の値に対応することができ、各値はオブジェクトの次元の1つに対応し、これらの次元は、場合に応じて、時間、空間、周波数、位相、または他のタイプであることがある。また、相対変位と相対スケールの組合せはn個の関数を使用してコーディングすることができ、丸め規則を選択しなければならない。
−オブジェクトが次元nのオブジェクトである一般的な場合、絶対または相対位置はn個の値に対応することができ、各値はオブジェクトの次元の1つに対応し、これらの次元は、場合に応じて、時間、空間、周波数、位相、または他のタイプであることがある。また、相対変位と相対スケールの組合せはn個の関数を使用してコーディングすることができ、丸め規則を選択しなければならない。
オーバーレイを有さないサブオブジェクトの種々のタイプを、図1a〜1dによって示す。これらの図では、1つの同じ画像を、ライン(図1aのライン90、91、92、93)、列(図1bの列94、95、96、97)、他の任意の形のサブオブジェクト(図1cの形70、71、72、73)に、または矩形(図1dの形60、61、62、63、64、65、66、67)にすら分割できることが示されている。サブオブジェクトがオーバーレイを有さない場合、フィルタの計算中に、1つ前の別のサブオブジェクトに関する基本情報にアクセスして、エッジを失わずにサブオブジェクトの基本情報を処理する必要がある。
したがって、一実施形態では、処理されるオブジェクトは次元DOを有し、オブジェクトの次元DOから選択された次元DSOを有するサブオブジェクトに分解され、オブジェクトの分解は、サブオブジェクトの次元の少なくとも1つに従ってサブオブジェクトがオーバーレイを有さないような分解である。
この構成では、2つのサブオブジェクトに属する基本情報を直接的または間接的に適用する特有命令を再計算する必要はない。
好ましい一実施形態では、本方法はさらに、各サブオブジェクトにつき、各特有操作をちょうどN回実施するステップを含む。好ましくは、DSOはDOと等しいことになる。
一実施形態では、本方法はさらに、オブジェクトをオーバーレイなしにサブオブジェクトに分解することができるように、少なくとも1つの基本情報をオブジェクトに加えるステップを含む。
サブオブジェクトへの分解はまた、オブジェクトに対して実施されることになる操作のシーケンス、とりわけ、このシーケンス中に存在する水平または垂直のフィルタの数およびタイプにも依存することができる。
さらに、シーケンスの特有操作のいくつかがエッジ効果を有するときは、アルゴリズムの実行中に基本情報が失われないように、画像を、非ヌルのオーバーレイを有するサブオブジェクトに分解する必要がある。この構成を、図1eおよび1fで示す。図1eには、操作のシーケンスが各エッジで1ピクセルを失う場合の6×6基本情報を含むサブオブジェクトを示し、図1fには、100個の基本情報を含むオブジェクトを示す。
この図1eでは、サブオブジェクトが4つの矩形80、82、83、および84であり、それぞれが36個の基本情報を含むのが示されている。矩形80は、画像の左上に位置する36個の基本情報で構成され、矩形82は、画像の右上に位置する36個の基本情報で構成される。したがって、8つの基本情報86が、サブオブジェクト80と82の両方に共通である。また、8つの基本情報85が、両方のサブオブジェクト80と83とに共通である。8つの基本情報88が、両方のサブオブジェクト82と84とに共通である。また、8つの基本情報89が、両方のサブオブジェクト83と84とに共通である。最後に、4つの基本情報87が、すべての4つのサブオブジェクト80と82と83と84とに共通である。
オブジェクトが画像である場合、一実施形態では、画像は、並置された矩形サブオブジェクトに分解され、これらのサブオブジェクトは、例えば左から右へ、次いで上から下へ処理される。プラットフォームに応じて、サブオブジェクトは、限定しないが以下に挙げる方式のうちの1つに従って選択および記憶される。
−小さい高速アクセスメモリおよび大きい低速メモリを伴う信号処理プロセッサの場合、サブオブジェクトのサイズは、低速メモリにアクセスせずにサブオブジェクトを処理することができるように選択される。例えば、32×32ピクセルの正方形に対応するサブオブジェクトを採用することが可能となり、現在のサブオブジェクトに関する計算中に、かつ、次のサブオブジェクトに関する計算に必要とされるデータが低速メモリから高速アクセスメモリに転送される間に、前のサブオブジェクトに対する計算の結果が低速メモリに転送される。
−小さいキャッシュメモリおよび大きい低速メモリを伴うスカラプロセッサの場合、サブオブジェクトのサイズは、キャッシュメモリをできるだけ使用してサブオブジェクトの処理を実施することができるように選択される。例えば、32×32ピクセルの正方形に対応するサブオブジェクト、あるいは1ピクセルのサブオブジェクト、あるいは、とりわけ「生」タイプの未処理画像の場合は4ピクセル(2*2)またはN1*2ピクセルのサブオブジェクトを採用することが可能となる。
−ベクトル信号プロセッサの場合、サブオブジェクトのサイズは、プラットフォームが処理および記憶することのできるベクトルのサイズと同数またはその倍数として選択され、例えば、64個の水平ピクセルに対応するサブオブジェクトを採用することができる。
オブジェクトが画像とは異なるタイプである場合でも、同様にしてサブオブジェクトへの分解をプラットフォームに適応させることができる。
本発明による方法は、毎回同じ数量Nの操作が実施されるので、サブオブジェクトに対して実施される特有操作のシーケンシングスケジュールを規則的にすることを可能にする。これにより、ハードウェアアーキテクチャおよびアルゴリズムを単純化することができる。毎回N個の操作の実行は、これらの操作の実行において、操作が適用されるサブオブジェクトとは異なるサブオブジェクトに属する基本情報が適用されることによって可能になる。
このようにして、操作kが適用される基本情報は、特有操作のタイプとサブオブジェクトにおける基本情報の位置とに従って、同じサブオブジェクトまたは異なるサブオブジェクトに属する可能性がある。
このことはまた、異なるサブオブジェクトの境界で「エッジ効果」が生じるのを防止する。実際、毎回N個の結果を生成するN個の特有操作を使用すると、サブオブジェクトのエッジに位置する基本情報を含めたすべての基本情報を処理することを余儀なくされる。この場合、操作の実行中に、他のサブオブジェクトに属する基本情報が要求される。
さらに、本方法は、いくつかの連続した特有操作を1つの同じサブオブジェクトに、例えば画像のラインに適用した後で、次のサブオブジェクトに進むことを可能にする。したがって、1つのラインを読み取っていくつかの特有操作に適用した後で、他のサブオブジェクトの処理に必要な結果だけをメモリに書き込んで次のラインに進むことができるので、メモリアクセス操作の数を削減することができる。
一実施形態では、プラットフォームは、サブオブジェクトの処理中に計算され別のサブオブジェクトの処理に使用される、基本情報および/または特有操作からの結果を記憶するために、少なくとも1つのオブジェクト間通信メモリを備える。したがって、冗長な計算が削減される。
さらに別の実施形態では、特有操作のシーケンスは、オブジェクトの処理中に同じデータを適用する1つの単一特有操作のみを含む。
以下、「通信データ」は、いくつかのサブオブジェクトの処理に、またはいくつかの異なる特有操作に使用される、基本情報および/または操作の結果を示す。
好ましくは、サブオブジェクト間の通信データは、それらのサイズおよび計算の数が最小限になるように選択される。
例えば、1つの次元に従ったオブジェクト間通信データは、とりわけ、この次元に従ったフィルタへの入力データ、ならびに、フィルタ出力と組み合わせられることになるデータを含む(これらが相互との関係で正しく整列していない場合)。
オブジェクト間通信メモリ、すなわちオブジェクト間通信データを記憶するのに使用されるメモリは、必要とされる記憶継続時間および速度に従って本質的に異なる。例えば、このメモリは、内部サブオブジェクトスクローリングループの次元に従った通信のためのレジスタおよび/またはローカルメモリ、ならびに/あるいは、他の次元に従った通信のためのローカルおよび/または共有メモリにあるものとすることができる。
オブジェクトが次元DOを含む本発明の一実施形態では、基本情報は、最初に、選択されたDE次元に従ってプラットフォームに送出され、次いで他の次元に従って送出される。この実施形態では、サブオブジェクトは、オブジェクトの次元DOから選択されDE次元を含む次元DSOを有し、処理は、DE次元に従って実施される少なくとも1つの内部サブオブジェクトスクローリングループを含む。
内部ループは、サブオブジェクトを処理するためのループに対応し、これはQ個のプロセッサを使用してN個のデータを処理することを可能にする。
この実施形態は、コンポーネントが、処理操作に使用される計算ユニットと同じコンポーネント上に位置するメモリをオブジェクト間通信に使用して、「実行中に」、すなわちリアルタイムで、基本情報がプラットフォームに入力される速度でデータを処理する場合に特に適応されている。したがって、コンポーネントのコストが削減され、メモリアクセス速度は計算ユニットの数に比例する。とりわけ、この実施形態は、スカラまたはベクトル信号またはパイプラインプロセッサの場合に使用される。
好ましくは、サブオブジェクトは、DSOが1に等しいようなサブオブジェクト、あるいは「生」画像の場合はDSOが2に等しいようなサブオブジェクトである。後者の場合、第2の次元におけるサブオブジェクトのサイズは2である。
好ましくは、特有操作は、DE次元に従って配置された計算ユニットによって実施される。
好ましくは、各次元におけるサブオブジェクトのサイズは、当該の次元におけるプロセッサの行列のサイズの倍数である。
好ましくは、次元DSOは、DE次元であり、かつ、必要とされるオブジェクト間通信メモリを縮小するために、次元DOのうちで最も小さい次元である。
好ましくは、次元DOのいずれでもサブオブジェクトのオーバーレイはなく、それにより、各基本情報は1度だけ処理される。したがってループは埋め込まれ、したがってコードはコンパクトである。
好ましくは、2つのサブオブジェクトの処理中に、計算が再計算されることはない。
好ましくは、サブオブジェクトスクローリングループは、基本情報がプラットフォーム上に到着する際の次元と同じ順序に従って埋め込まれる。
オブジェクトが次元DOを含む一実施形態では、基本情報は、オブジェクトのDE次元に従って、次いで他の次元に従ってプラットフォームに送出される。この実施形態では、サブオブジェクトは、オブジェクトの次元DOを含むか、または、オブジェクトの次元DOから選択されDE次元が含まれない次元DO−1を含む。処理はさらに、DE次元に従って実施される少なくとも1つの内部サブオブジェクトスクローリングループを含む。
別の実施形態では、各次元におけるサブオブジェクトのサイズは、オブジェクトのサイズ、ならびに/または、基本情報がプラットフォームに送出される送出速度、ならびに/または、プラットフォームの計算速度、ならびに/または、プラットフォームのメモリのうちの少なくとも1つのサイズおよび速度、に従って決定される。
この実施形態は、コンポーネントが、処理操作に使用される計算ユニットと同じコンポーネント上に位置するローカルメモリであって、DO−1(1つの次元がDEに対応するのではない)に従った通信データの長期記憶に使用されるより低速な共有外部メモリのための中継としての働きをするローカルメモリを、オブジェクト間通信に使用して、「実行中に」、基本情報がプラットフォームに入力される速度でデータを処理する場合に特に適する。この場合、ローカルメモリのサイズはサブオブジェクトのサイズに伴って増大し、共有メモリによる速度はサブオブジェクトのサイズに伴って減少し、外部メモリのサイズは、DE次元以外の次元に従ったサブオブジェクトのサイズに伴って増大し、したがって、内部および外部メモリのサイズと、外部メモリの速度は、サブオブジェクトのサイズを調整することによって調整することができる。したがってコストが削減され、メモリによる速度はオブジェクトのサイズから独立し、コンポーネントは、オブジェクトサイズに最適化させることができ、より大きいサイズのオブジェクトのために外部メモリを用いて再使用することができる。
この実施形態はまた、コンポーネントが、基本情報がプラットフォームに入力される速度よりも遅い速度で基本情報を処理し、処理操作中にメモリを使用してオブジェクトを記憶する場合に、より特有に適応されている。この場合、目的は、内部メモリのサイズおよび処理速度を制限して、必要とされる内部メモリサイズ、計算ユニットの数、およびメモリ速度を低減することである。
この実施形態は、とりわけスカラまたはベクトル信号またはパイプラインプロセッサに適用される。
好ましくは、特有操作は、Qよりも大きいサイズ次元に従って配置されたQ個の計算ユニットによって実施される。
好ましくは、各次元におけるサブオブジェクトのサイズは、当該の次元におけるプロセッサの行列のサイズの倍数である。
好ましくは、DE次元を除いて、次元DSOは、必要とされるオブジェクト間通信メモリを制限するために、次元DOのうちで最も小さい次元である。
好ましくは、次元DOのいずれでもサブオブジェクトのオーバーレイはなく、それにより、各基本情報を1度だけ処理することが可能である。したがってループは埋め込まれ、コードはコンパクトである。
好ましくは、サイズの小さい次元では、サブオブジェクトのオーバーレイはなく、2つのサブオブジェクトの処理中に計算が再計算されることはないが、サイズの大きい次元では、このことは重要性が劣る。というのは、再計算はほんのわずかなコストを表すだけだからである。
好ましくは、現在のサブオブジェクトの計算中に、前のサブオブジェクトの計算中に生成されたオブジェクト間通信データがローカルメモリから外部メモリに転送され、後続のサブオブジェクトの計算に必要とされるオブジェクト間通信データが外部メモリからローカルメモリに転送される。内部サブオブジェクトスクローリングループはDE次元に従って実施されるので、内部と外部のメモリ間の転送は、DE次元を除く次元DO−1に従ったオブジェクト間通信データのみに関係する。したがって、必要とされるローカルメモリは、これらの次元DO−1に従ったオブジェクト間通信データの3倍のサイズと、DE次元に従ったオブジェクト間通信データの1倍のサイズとを足したサイズに制限される。例えば、画像処理アルゴリズムの場合、必要とされる内部メモリサイズは、毎秒数千万ピクセルを処理するのに数百または数千バイトに制限される。
好ましくは、データは次のように移行する。すなわち、オブジェクトの基本情報が外部メモリに記憶される。少なくとも1つのサブオブジェクトが共有メモリ中にあるとき、サブオブジェクトが外部メモリから読み取られる。DE次元を除く次元DO−1に従ったオブジェクト間通信データが共有メモリから読み取られる。サブオブジェクト処理からの結果と、DE次元を除く次元DO−1に従ったオブジェクト間通信データとが、共有メモリに書き込まれる。出力に使用される次元に従った完全なデータが共有メモリ中にあるとき、このデータは共有メモリ中で読み取られ、利用可能になる。これにより、移行は予測可能であり、単純であり、規則的である。
好ましくは、サブオブジェクトスクローリングループは、基本情報がプラットフォーム上に到着する際の次元と同じ順序に従って埋め込まれる。
以下の実施形態は、ベクトル信号プロセッサの場合、Q個の計算ユニット上で同時に実施される特有操作のシーケンスに含まれるQ個の計算ユニット上での任意の処理操作に適用することができる。このシーケンスは、必ずしも同じタイプの基本情報からなるオブジェクトに適用されるとは限らない。これらの実施形態は、例えばベクトル信号プロセッサの場合に、異なる計算ユニット間で通信をセットアップするための新しい方法を記述する。
特有操作の少なくとも一部分が少なくとも1つのパラメータ値を適用し、特有操作が、同じ特有操作を同時に計算するQ個の計算ユニットによって実施される一実施形態では、特有操作のシーケンスは、Q個の計算ユニット上で同時にC個のパラメータ値からパラメータ値を選択する少なくとも1つの特有選択操作を含む。この選択は、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って、プロセッサにより差別化された方式で行われる。
一例では、Cは8に等しい。
相関表を計算するには、例えばCモジュロ表に対する入力値Xに従って3つの特有選択操作を使用して、Xのa、b、およびc関数を得て、Q個のスプライン関数の並列計算に対応するa*X+b*X+cを計算することができる。
n/Cのデフェージングに対応する補間フィルタ係数を決定するには、補間係数を与える入力値nに従って特有選択操作を使用することができる。
絶対位置の関数であるパラメータ値を選択するには、1とCの間の結果を与える位置の関数を計算することができ、次いで、この計算からの結果を、絶対位置に関するパラメータ値を与える特有選択操作のための入力で使用する。したがって例えば、位置のデファジー強度関数を適応させることができる。
色、解像度などにおける絡み合ったチャネルそれぞれに対して差別化された値を選択するには、1とCの間の位置の関数をやはり計算することができ、次いで、この計算の結果を、絶対位置に関するパラメータ値を与える特有選択操作のための入力で使用する。
従来、ベクトル信号プロセッサでは、オフセットと置換のいずれかによってデータを選択する特有操作が知られている。しかし、ベクトル信号プロセッサは、とりわけプロセッサの複雑さを最適化するためにCがQよりも小さい場合に、データCに対してインダイレクションを実施することを許容しない。
Q個のプロセッサが1つの次元におけるベクトルに対応する一実施形態では、C個の定数は、複製によってQ個の定数のレジスタ中で拡張される。ベクトルの右のC個の定数、次いでC個の定数、次いで以下同様となる。特有選択操作を使用して、ベクトルの各要素の左の値Cから値が選択される。
特有操作の少なくとも一部分が、同じ特有操作を同時に計算するQ個の計算ユニットによって実施される一実施形態では、特有操作のシーケンスは、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値から得られる相対変位に従って、プロセッサにより差別化された方式で、Q個の計算ユニット上で同時にC個のデータからデータを選択することを実施する少なくとも1つの特有選択操作を含む。
実際上は、循環的に連鎖されたベクトルに従ってQ個の計算ユニットが配置された例では、各計算ユニットは、同時かつ独立した方式で、左にあるその近傍のCからのデータにアクセスすることができる。
2*C個以上のデータからの選択を可能にするために、特有選択操作は条件付きとすることができる。
したがって、局所的な変形、例えば位置に従った歪みを計算することができ、ベクトルに局所的に適用することができる。データはまた、局所的に結合して、フィルタを生成することができ、スケールを変更することができ、あるいは、局所変位を適用する他の任意の操作を実施することができる。
一実施形態では、データCよりも多くを必要とする変位は、少なくとも1つの一様な変位と、それに続く、少なくとも1つの選択操作を使用して実施される差別化された局所変位とに分解することができる。一様な変位は、とりわけ、いくつかの選択操作を適用することによって、または通信メモリを使用することによって実施することができる。
一例では、相対変位は、あるサブオブジェクトおよび/またはオブジェクトに関する、すべての基本情報に共通である。別の例では、相対変位は、基本情報ごとに異なり、サブオブジェクトにおける基本情報の絶対位置、および/またはオブジェクトにおけるサブオブジェクトの絶対位置に依存するものとすることもでき、そうでないものとすることもできる。より一般的には、この変位は、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従った計算の結果である。
特有操作のシーケンスが少なくとも1つの特有位置操作を含み、オブジェクトが次元DOを含む一実施形態では、特有位置操作は、次元DOの1つに従った位置情報を生成する。
位置はとりわけ、以下に挙げるものに限定しないが、オブジェクトにおける基本情報の絶対位置、サブオブジェクトの位置、Cモジュロプロセッサの位置、複数スケールデータの位置、グリッドとの関係における相対位置、または他の任意の位置とすることができる。
一実施形態では、特有操作のシーケンスは、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って相対位置を生成する少なくとも1つの特有操作を含む。
特有相対位置計算操作は、特有選択操作の前に使用することができる。
一例では、相対位置は、あるサブオブジェクトおよび/またはオブジェクトに属する、すべての基本情報に共通である。別の例では、相対位置は、基本情報ごとに異なり、あるいは、サブオブジェクトにおける基本情報の絶対位置、および/またはオブジェクトにおけるサブオブジェクトの絶対位置に依存するものとすることもでき、そうでないものとすることもできる。より一般的には、相対位置は、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従った計算の結果とすることができる。
サブオブジェクトのサイズ、すなわち各オブジェクト中に存在する基本情報の数量Nは、例えば、処理操作に使用されるプラットフォームのアーキテクチャに従って決定される。したがって、一実施形態では、特有操作の少なくとも一部分はQ個の計算ユニットによって実施され、QはNに等しいかまたはNの約数である。NがQの倍数であることにより、処理操作はより一層規則的になる。というのは、すべての計算ユニットが同時に計算ステップを完了するからである。
一実施形態では、Q個のプロセッサの数とN個の基本情報の数とは異なり、サブオブジェクトの処理は、N/Q個の反復の内部ループを1つだけ含む。
したがって処理は規則的であり、メモリと使用レジスタ数は最小限になり、各サブオブジェクト内での通信は、好ましくはレジスタを用いて実施される。
一実施形態では、数十個から数百個までの計算ユニットがあり、これらの計算ユニットはとりわけ、0.13μコンポーネントの製造方法を使用して、毎秒、数千万ピクセルを含む画像に対して数百個の演算の計算の実施を可能にする。
別の実施形態では、計算ユニットの数は数千個から数百万個であり、本発明は、プログラミングの単純性の高さを維持しながら、また計算ユニットの数に比例した性能により、この計算パワーを使用してオブジェクトを処理することを可能にする。
この規則性をさらに改善するために、特有操作の数PもまたQの倍数とすることができる。一般に、特有操作は、プラットフォームの上流でコンパイラによって決定され、コンパイラは、特有操作の数がQの倍数でない場合に、この関係(特有操作の数がQの倍数であること)を得るために、効果なしの特有操作を生み出すように構成される。したがって、種々の計算ユニットに対する特有操作の割当てがどんなものであろうと、処理は完全に規則的になる。
本発明の一実施形態では、プラットフォーム中のQ個の計算ユニットはすべて同一である。
いくつかの特有操作はパラメータを使用し、この場合、これらのパラメータの値もまた処理される。これらのパラメータは、例えば乗率とすることができる。これらのパラメータは、例えば、限定しないが以下に挙げるものに対応することができる。
−フィルタ係数、および/または
−飽和度の値、および/または
−オフセット値、および/または
−相関表
一実施形態では、特有操作によって使用されるパラメータの値は、これらの特有操作において直接的または間接的に適用される基本情報のサブオブジェクトにおける位置に依存する。例えば、処理されるオブジェクトが画像である場合、撮影に使用された光学機構のせいで画像に欠陥が現れることがある。これらの欠陥は、画像全体にわたり概して一様ではなく、とりわけエッジでは一様ではない。
この場合、この不鮮明を補償するために、画像のすべてのピクセルに同じ補償係数が適用されることにはならない。
例えば、すべての基本情報に共通のパラメータをフィルタに対して使用すると、鮮鋭度を一様に高めることができる。
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存するパラメータをフィルタに対して使用すると、光学的な欠陥を補償するためにエッジでより大幅に鮮鋭度が高まる。
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存するパラメータをビネッティング補正に使用すると、光学的な欠陥を補償するためにエッジでより高い補償が生み出される。
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存するパラメータをデモザイキング操作に使用すると、センサから受け取られた未処理画像中の「赤」ピクセル、「緑」ピクセル、および「青」ピクセルを異なる方式で処理することができる。
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存する第2のデータ、とりわけ変位を、ディジタル拡大計算(「ズーム」)または歪み補正計算に使用すると、各点における補間を計算するのに必要なピクセルが生成される。
パラメータの値は、それによって、このパラメータのタイプに応じて、
−一定であり、アルゴリズムに固有である。この場合、パラメータの値はとりわけ、処理手段またはプラットフォームに送出することができる。かつ/あるいは、
−オブジェクトのソースまたは宛先に依存する。例えば、処理されるオブジェクトが、所与の光学機構を備えたデバイスからの画像である場合、パラメータの値は、光学機構のタイプに依存する可能性があり、光学機構のタイプは、画像中の鮮鋭度のレベルに影響を有する。この場合、パラメータの値はとりわけ、処理手段またはプラットフォームに送出することができる。かつ/あるいは、
−処理されるオブジェクトに依存する。例えば、処理されるオブジェクトがセンサからの画像である場合、パラメータの値は、このオブジェクトを取り込むのに効果的に使用されるセンサの利得に依存する可能性があり、センサの利得は、画像中の雑音のレベルに影響を有する。この場合、パラメータの値はとりわけ、プラットフォームによって送出、選択、または計算することができる。かつ/あるいは、
−オブジェクトにおける基本情報の絶対位置に依存する。この場合、パラメータの値はとりわけ、プラットフォームによって送出、選択、または計算することができる。かつ/あるいは、
−オブジェクトにおける基本情報の絶対位置に依存しない。
パラメータ値は、アルゴリズムの定義との関係で、同時にまたはアポステリオリに決定することができる。
ある種のパラメータの値が、あるオブジェクトと別のオブジェクト、あるサブオブジェクトと別のサブオブジェクト、またはある基本情報と別の基本情報とで変動する可能性があることを見てきた。
この場合、一実施形態では、パラメータの値は、変更の度に計算される。別の実施形態では、パラメータの可能な値はアプリオリに計算され、変更の度に索引またはアドレスが決定されて、それにより、パラメータの値へのアクセスが例えば表の中で可能になる。
別の実施形態は、よりパラメータに特有に適応され、それにより値がサブオブジェクトの絶対位置に従ってあるサブオブジェクトと別のサブオブジェクトとで変動し、かつそれにより値の数が制限される(例えば光学的な鮮鋭度特性に対応するパラメータ)ものだが、この実施形態では、有限数のパラメータ値セットが決定され、各セットは記憶され、各サブオブジェクトにつき、使用されるセットが、例えば使用されるセットのアドレスを与える位置の関数を計算することによって選択される。
計算ユニットに対する特有操作の割当ては、操作のタイプと、シーケンスと、計算ユニット自体とに依存する。
例えば、一実施形態では、計算ユニットは特殊化されている。すなわち、1つの同じ特有操作からのN個の結果は、1つの同じ計算ユニットによって計算される。特有操作が、プラットフォームのメモリの1つに存在するパラメータを必要とする場合、特殊化された計算ユニットを配置することは時間を節約する。というのは、この操作を担う計算ユニットは、処理の始めにメモリアクセスを実施してパラメータを取り出し、次いで、メモリに再びアクセスする必要なしに操作をN回適用することができるからである。
したがって、一実施形態では、少なくとも1つの特有操作が少なくとも1つのパラメータを適用するとき、この特有操作は、パラメータ値の一部分を含むメモリユニットへのアクセスを有する少なくとも1つの計算ユニットによって実施され、この部分は、この計算ユニットによって実施される特有操作に従って決定される。これらのパラメータ値を記憶するために、種々のハードウェア構成が存在することができ、これらについては後で詳細に述べる。例えば、各計算ユニットがそれ自体のメモリを有することができ、あるいはすべてのユニットに共通のメモリが存在することができ、あるいは計算ユニットは共にグループ化されて、グループごとのメモリを有することさえできる。
一実施形態では、少なくとも1つの特有操作が少なくとも1つのパラメータを適用するとき、このパラメータの値は、処理されるオブジェクトにおける、サブオブジェクトおよび/または基本情報の位置に依存する。
いくつかの操作では、パラメータ値は、処理されるオブジェクト全体に対して固定されることになり、他の操作では、この値は位置に応じて変動することになる。したがって、例えば、画像不鮮明補正係数は、位置が画像の中央であるかエッジであるかに応じて、いくらか高くすることができる。
処理操作を実施するのに使用されるプラットフォームに応じて、計算ユニットの構成は様々とすることができる。したがって一実施形態では、特有操作は、連鎖された計算ユニットによって実施される。
実際、この場合、計算ユニットは「直列に」またはツリーに従って連鎖させることができ、処理される基本情報に対する計算の結果が、あるユニットから別のユニットに移行する。このような構成は、処理操作が規則的であること、およびそれにより基本情報の移行を規則的に実施できることによって可能になる。
計算ユニットはまた、いくつかの基本情報を同時に処理するために並列に配置することもできる。この場合、計算ユニットは、異なる基本情報からの計算(例えばフィルタ)の結果を結合することができるように連鎖される。
一実施形態では、種々のプロセッサを含むコンポーネントのケーブリングを容易にするために、計算ユニットは、1つの次元における連鎖に従って連鎖される。別の実施形態では、計算ユニットは、少なくとも1つの循環的連鎖に従って連鎖される。この後者の実施形態は、途切れのない処理操作を生成する。というのは、基本情報はすべての計算ユニットの中を移行し、いくつかの特有操作を受け、その後で再び最初の計算ユニットに送出されるからである。
計算ユニットが少なくとも1つの循環的連鎖に従って連鎖される一実施形態では、それにより連鎖は少なくとも1つの待ち行列も含む。
本方法のこの実施形態は、このようにして実施することができる。
サブオブジェクトが次元DSOを含む本発明の別の実施形態では、特有操作は、サブオブジェクトの各次元での少なくとも1つの循環的連鎖に従って連鎖された計算ユニットによって実施される。サブオブジェクトの各D1特有次元での循環的連鎖(1つまたは複数)はさらに、サブオブジェクトのD1特有次元での循環的連鎖(1つまたは複数)間で共有されるかまたは共有されない少なくとも1つの待ち行列を含む。
本方法のこの実施形態は、このようにして実施することができる。これについては後で図によって詳細に述べる。
好ましくは、サブオブジェクトの同じ1つの次元に従っていくつかの循環的連鎖がある場合(とりわけプロセッサがグリッドに従って配置されているとき)、待ち行列は、同じ次元に従ったすべての循環的連鎖間で共有される。好ましくは、サブオブジェクトの各次元につきちょうど1つの待ち行列があり、各待ち行列は、同じ次元に従ったすべての循環的連鎖間で共有される。
サブオブジェクトが次元DSOを含む本発明の別の実施形態では、特有操作は、少なくとも1つのCC1循環的連鎖を用いてサブオブジェクトのDD所定次元に従って連鎖された計算ユニットによって実施される。このCC1循環的連鎖はさらに、少なくとも1つの待ち行列を含む。この実施形態では、本方法はさらに、少なくとも1つの特有命令に対し、この特有命令が適用される度に、計算ユニットUC1上で実施された特有命令のこの適用の結果を、この連鎖に従ってこの計算ユニットUC1に続く計算ユニットUC2または待ち行列に送出するステップを含む。
本方法のこの実施形態は、このようにして実施することができる。
一実施形態では、サブオブジェクトは次元DSOを含み、特有操作は、少なくとも1つのCC1循環的連鎖を用いてサブオブジェクトのDD所定の次元に従って連鎖された計算ユニットによって実施される。このCC1循環的連鎖は、少なくとも1つの待ち行列をさらに含む。本方法はさらに、少なくとも1つの特有操作に対して、この特有操作が適用される度に以下のステップを含む。
−計算ユニットUC1上で実施された特有操作の上記適用からの結果を、この連鎖に従ってこの計算ユニットUC1に続く計算ユニットUC2または待ち行列に送出する。
−別のサブオブジェクトの処理中に待ち行列に送出された特有命令の適用の結果を、待ち行列から、待ち行列中の後続の処理ユニットUC0に、オブジェクトにおけるサブオブジェクトの位置に従って条件付きで送出する。
一実施形態では、計算ユニットはそれぞれ少なくとも1つの連鎖に属し、この連鎖は、サブオブジェクトの各次元にある。
一実施形態では、本方法はさらに、少なくとも2つの特有命令に対し、2つの特有命令の一方が適用される度に、計算ユニットUC1上で実施された特有命令のこの適用の結果を、特有命令ごとに独立した方式で事前に決定された連鎖に従って、この計算ユニットUC1に続く計算ユニットUC2または待ち行列に送出するステップを含む。実際には、使用される連鎖は、特有命令シーケンスによって実行されるフィルタ(例えば垂直または水平)のタイプに依存する。
一実施形態では、以下のような2つのタイプの特有操作がある。
−連鎖を適用しない。
−または、連鎖を系統的に、すなわち特有操作が実施される度に、適用する。この場合、異なるプロセッサによる同じ特有操作によって適用されるすべての連鎖は、同じ次元に従う。
一実施形態では、特有操作は、少なくとも1つの循環的連鎖に従って連鎖された計算ユニットによって実施される。この連鎖は、特有操作からの結果を、この結果を生成したプロセッサに対する連鎖中の後続のプロセッサまたは待ち行列に送出できるようにする。
一実施形態では、特有操作は、少なくとも1つの循環的連鎖に従って連鎖された計算ユニットによって実施される。この循環的連鎖はさらに、少なくとも1つのファイルを含む。このファイルは、少なくとも1つの他のサブオブジェクトの計算に必要な特有操作からの結果を送出できるようにする。
別の実施形態では、本方法は、別のサブオブジェクトのサブ処理操作中に使用される特有操作からの結果を、当該サブオブジェクトとの関係におけるこの別のサブオブジェクトの相対位置に従って、メモリに共にグループ化して記憶するステップを含む。
一実施形態では、本方法はさらに、別のサブオブジェクトのサブ処理中に使用される特有操作からの結果を、少なくとも1つの待ち行列中に共にグループ化するステップを含む。
さらに、いくつかの実施形態では、本方法はさらに、特有操作からのこれらの結果の少なくとも一部分をメモリまたは待ち行列中で保持できるようにする命令をプラットフォームに提供するステップを含む。
処理操作は、当然、プラットフォームのハードウェア能力を最適に利用するために、このプラットフォームの構成に適応させなければならない。この目的で、一実施形態では、本方法は、計算ユニットの連鎖に従って、かつシーケンスに従って特有操作を計算ユニットに割り当てるステップを含む。このステップはまた、プラットフォームの上流に位置するコンパイラによって実施することもできる。
さらに、やはりプラットフォームの能力を最適に利用するために、プログラム可能な計算ユニットを使用すること、すなわち、特有操作のシーケンスを、および/または種々の計算ユニットに対する特有操作の割当てを、これらの計算ユニットを含むコンポーネントが作成された後で修正できることは、興味深いことである可能性がある。したがって、一実施形態では、特有操作の順序および/または性質を修正することができる。しかし、計算ユニットがプログラム可能であっても、計算ユニットは、コンポーネントの作成時に最初にプログラムすることができる。このようにして、本発明の一実施形態では、特有操作は、少なくとも1つの所定の特有操作シーケンスに従ってケーブルされた計算ユニットによって実施される。この実施形態は、例えば、外部メモリを使用する必要を回避する。実際、アルゴリズムに関して実施されることになる操作のシーケンシングスケジュールをこのようなメモリが含むようにするのではなく、オブジェクトに適用されることになるこのアルゴリズムに対応する順序で操作が実施されるように計算ユニットをケーブルすることができる。
処理操作が実行されるプラットフォームは、種々のタイプのメモリを有することができ、これらのメモリは、容量とアクセス速度の両方の点で様々である。例えば、高速メモリおよび/またはレジスタは、ある種のデータをすぐに再使用する必要のあるフィルタなどの操作の場合に、操作からの結果を短期間にわたり記憶するのに使用することができる。したがって、一実施形態では、少なくとも1つの特有操作は、基本情報および/または特有操作からの結果を記憶するための限られた容量のメモリユニットが備わった少なくとも1つの計算ユニットによって実施され、このメモリは、少なくとも16個の基本情報および/または特有操作からの結果を含む。ここでは高速メモリは一般に容量が限られているので、場合によっては、より多くの基本情報および/または特有操作からの結果を記憶するために、より容量の大きいメモリも有する必要がある。
この目的で、一実施形態では、少なくとも1つの特有操作は、他のサブオブジェクトからの少なくとも1つの基本情報および/または少なくとも1つの特有操作結果を含む通信メモリユニットへのアクセスを有する少なくとも1つの計算ユニットによって実施される。
この通信メモリは一般に、他のサブオブジェクトの処理に使用される基本情報および/または特有操作からの結果を、長期間にわたり記憶するのに使用される。特有操作の一部のみがこのようなデータを生成または使用し、したがって、必要な速度は限られている。本発明によってもたらされる規則性は、このデータが何であるかについて非常に単純な決定を可能にし、したがってキャッシュメモリ機構を使用する必要を回避し、これにより、プラットフォームの複雑さおよびコストが低減する。したがって、一実施形態では、通信メモリユニットは、0.3*Nアクセス/サブオブジェクト/特有操作よりも低いアクセス速度を有する。比較的アクセス速度の低いこのようなメモリは、高速と高容量の両方であったメモリが必要とされた場合よりも低コストとなる。このことは、本発明の利点の1つである。
処理プラットフォームが、メモリ容量が縮小されたような処理プラットフォームである場合、サブオブジェクトのサイズは、処理操作を正しく適用できるように選択しなければならない。したがって、とりわけプラットフォームが携帯電話機に統合された場合に用いられる一実施形態では、Qの値は1に固定され、Nの値は2と16の間に含まれる。例えば、プラットフォームが、携帯電話機によって撮影された写真を処理するようになっている場合、すべての操作は、一度に1つの単一ピクセルずつに適用されることになる。
反対に、例えばプラットフォームがベクトル信号プロセッサを備えているときのような、いくつかの場合では、多数の計算ユニットを有することが可能である。このハードウェア構成は、計算ユニットが節度をもって使用された場合、オブジェクトの処理操作の高速化を可能にする。この目的で、一実施形態では、少なくとも1つの特有操作は、少なくとも2つの同一の計算ユニットによって同時に実施される。したがって本発明は、処理操作の規則性によって、プロセッサの最適な使用を可能にする。
実施形態に応じて、特有操作は、加算、減算、乗算、相関表の適用、最小値、最大値、および選択を含むグループからの、少なくとも1つの特有計算操作を含む。
したがって、一実施形態では、少なくとも1つの特有計算操作はまた、オフセットおよび/または飽和度および/または丸めを実施する。本発明によれば、特有選択計算操作は、少なくとも2つのデータ項目から、第3のデータ項目の値に従ってデータを選択することを可能にする。
一実施形態では、相関表の適用は、表の入力と有限数の係数とを使用した計算によって実施される。一実施形態では、係数の有限数は8に固定される。
さらに、別の実施形態では、特有操作は、少なくとも1つの循環的連鎖CC1を用いて、連鎖された計算ユニットによって実施される。この循環的連鎖CC1はさらに、少なくとも1つの待ち行列を含む。特有操作シーケンスからの少なくとも1つの特有操作IS4は、計算ユニットUC1上で実施された特有操作IS5の結果を、この連鎖に従ってこの計算ユニットUC1に続く計算ユニットUC2または待ち行列に送出する。
一実施形態では、IS4特有操作は、前のサブ処理操作中に実施された特有操作IS5の結果を、待ち行列から、待ち行列に続く計算ユニットUC0に送出する。好ましくは、待ち行列は、待ち行列に入力された順序と同じ順序でデータを出力することを可能にする。好ましくは、計算ユニットと待ち行列とを含む連鎖は、ブート操作の管理を可能にする機構を含む。待ち行列は、定期的に、例えば待ち行列が水平連鎖の一部でありオブジェクトが画像である場合は各ラインの最初に、初期化される。特有命令IS4の最初の実行時は、待ち行列からUC0に送出されるデータはない。次に、特有操作IS4は、前のサブ処理操作中に実施された特有操作IS5の結果を、待ち行列から、待ち行列に続く計算ユニットUC0に送出する。
値NおよびQは、実施形態に従って変動する。各実施形態は、異なる利点を有する。したがって、一実施形態では、NはQの倍数ではない。この実施形態の一代替形態では、Qは、汎用操作のシーケンスを変換することによって得られるシーケンスの特有操作の数量に等しい。
一実施形態では、NはQの倍数である。これにより処理は規則的になる。好ましくは、N=Qである。これにより、一時的な結果を記憶するのに必要とされるメモリの量が削減される。
一実施形態では、Q=1およびN=4である。これにより、1つの同じ特有操作を複数回適用するのに、同じパラメータ値を再使用することができる。
一実施形態では、Q>1およびN=Qである。これにより、ベクトル信号プロセッサのQ個の計算ユニットを100%使用することができる。
一実施形態では、Q>1であり、NはQの倍数である。これにより、ベクトル信号プロセッサのQ個の計算ユニットを100%使用することができ、サブオブジェクトの処理中に実施され別のサブオブジェクトの処理に使用される特有操作からの結果の数量を削減することができる。
一実施形態では、各プロセッサが、特有操作のシーケンスのすべての操作を実施する。
一実施形態では、すべてのプロセッサが、同じ特有操作を同時に実施する。別の実施形態では、すべてのプロセッサが、同じ特有操作を連続して実施し、これは再帰型フィルタの実施を可能にする。
基本情報および操作結果をメモリに記憶することは、基本情報検索中に時間を浪費しすぎないように、比較的単純なアドレス指定を必要とする。この目的で、一実施形態では、特有操作結果の少なくとも一部分は、メモリ中で「ベースアドレス+オフセット」または「ベースアドレス+modオフセット(バッファメモリのサイズ)」のフォーマットのアドレスに記憶され、オフセットは、1つの同じ特有操作からのすべての結果に対して一定である。バッファメモリは、好ましくは、処理プラットフォームのメモリの1つに統合される。とりわけ、バッファメモリは待ち行列とすることができる。
別の実施形態では、ベースアドレスは、サブオブジェクトが処理操作において変更される度に修正される。
一実施形態では、このアドレス指定は、とりわけ、少なくとも1つの次元に従ったサブオブジェクト間の通信のためのデータに使用することができる。
ベクトル信号プロセッサの特定の場合では、アドレス計算はすべてのプロセッサに共通であり、サブオブジェクトのサイズに対する基本情報および/または特有操作結果のグループを送達するメモリを使用することができる。
ある種のハードウェア構成では各計算ユニットがそれ自体のメモリを有することを上に示した。この場合、所与のアドレスは、いくつかのメモリに関係があるものとすることができる。すなわち、ここで定義されるメモリアドレスは、実際には、1つの同じ特有操作を実施するすべての計算ユニットによって使用されるすべてのメモリアドレスを表す。
一実施形態では、特有操作結果の少なくとも一部分は、メモリ中で、1つの同じ特有操作からのすべての結果に対して事前に決定されたアドレスに記憶される。
上記の方法は、処理操作を実施するのに必要とされる計算ユニットの数を比較的少数とすることができるような方法である。したがって、一実施形態では、少なくとも1つのレジスタユニットと少なくとも1つのサブオブジェクト通信メモリとが備わった少なくとも1つの計算ユニットによって特有操作が実施されるとき、処理プラットフォーム上のトランジスタの数は、通信メモリなしの関連レジスタのユニットを含めて、1計算ユニット当たり10000個未満である。
本発明の一実施形態では、プラットフォームには、汎用フォーマット化データに基づいて計算された特有フォーマット化データが、好ましくは直接的に提供され、この汎用フォーマット化データは、少なくとも1つの汎用操作シーケンスを記述する第1のデータを含み、特有フォーマット化データの計算は、プラットフォーム中の基本情報に関するスクローリングモードと、汎用操作からの特有操作とを反映して実施され、これらの特有操作は、プラットフォーム中でのオブジェクトの処理中にオブジェクトに対して実施される特有操作のシーケンスを形成する。したがって、オブジェクトの処理は、汎用フォーマット化データを変更して、プラットフォームに最適化された特有フォーマット化データを自動的に得ることによって、容易に修正することができる。それにより、プラットフォームの市場リリースにかかる時間が加速される。それにより、コードサイズ、計算時間、およびメモリの数量が最適化される。それにより、電気的消費およびプラットフォームのコストが削減される。
汎用操作は、基本情報からなりオブジェクトのすべてまたは一部を構成することのできる、サイズやフォーマットの概念を伴わない論理ブロックすなわち抽象エンティティに適用される操作である。
この記述では、汎用フォーマット化データは、データ処理プラットフォームによってオブジェクトに対して実施されることになる処理操作を、プラットフォーム自体から独立して記述するのに使用されるディジタルデータである。特有フォーマット化データは、コンパイラを使用して、特有フォーマット化データを使用するプラットフォームに適応されたバイナリコードを生成することで、直接的または間接的に提供することができる。
種々の可能なスクローリングモードがあり、これらのいくつかについては以下にさらに述べる。これらのスクローリングモードを使用して、処理されるオブジェクトに適用される特有操作を生成することもできる。これにより、比較的短期間のうちにアルゴリズムを市場リリースすることが可能になる。
一実施形態では、汎用操作は、論理ブロックおよび/またはパラメータの加算、論理ブロックおよび/またはパラメータの減算、論理ブロック間の差の絶対値の計算、論理ブロックおよび/またはパラメータの乗算、少なくとも2つの論理ブロックおよび/またはパラメータのうちの最大値、少なくとも2つの論理ブロックおよび/またはパラメータのうちの最小値、相関表の適用、論理ブロックおよび/またはパラメータの条件付き選択(この選択は、a>bならばcが選択され、そうでなければdが選択されるように行われる。a、b、c、およびdは、論理ブロックおよび/またはパラメータである)、論理ブロックに関するヒストグラム、論理ブロックに関するスケール変更、少なくとも1つの座標を含むブロックを生成する操作、を含むグループに含まれる少なくとも1つの基本汎用操作を含む。
別の実施形態では、基本情報は固定点における数値で表され、汎用操作は、オフセット操作、飽和度操作、および/または、この飽和度操作と組み合わせた少なくとも1つの基本汎用操作を含む。
たった今定義したハードウェア特性はすべて、どんなタイプのプラットフォームが使用されようと、またどんなタイプのオブジェクトが処理されることになろうと、有効であることが明白である。
したがって、一実施形態では、処理されるオブジェクトは画像であり、基本情報はこの画像のピクセルである。この場合、処理プラットフォームは、例えば画像取込みおよび/またはレンダリングデバイスの一部であり、操作は、操作のシーケンスに、かつ/または処理プラットフォームに、かつ/または処理されるオブジェクトに依存する値を有するパラメータを適用し、これらのパラメータ値は、画像取込みおよび/またはレンダリングデバイスの、光学機構および/またはセンサおよび/またはイメージャおよび/または電子機構および/またはソフトウェアの特性にリンクされる。特性は、例えば、すべてのオブジェクトに対する固有の固定特性とすることもでき、あるいはオブジェクトに従った変数とすることもでき、例えば、センサの利得に従って変動する雑音特性とすることができる。特性はまた、基本情報の絶対位置に従って、すべての基本情報または可変情報に対して同一とすることもでき、例えば光学的な鮮鋭度の特性とすることができる。
他の実施形態では、処理されるオブジェクトはディジタルオーディオ信号であり、基本情報は、この信号のオーディオサンプルにある。さらには、処理されるオブジェクトは数値メッシュですらあり、基本情報は、メッシングの各点を特徴付ける空間および時間情報である。
本発明はまた、同じタイプの基本情報(54、56、58、60、154、156、158、および160)からなるオブジェクト(55)を処理することになっている、1つまたは複数のプロセッサとメモリとを有するプラットフォームに関し、このプラットフォームは、処理されるオブジェクトを、N個の基本情報(54、56、58、154、156、158)からそれぞれなる少なくとも2つのサブオブジェクト(50、51、52、および53)に分解する手段であってすべてのサブオブジェクト(50、51、52、および53)が同じ数量Nの基本情報を有する手段と、各サブオブジェクトの基本情報(50、51、52、53)に対して少なくとも1つの特有操作シーケンスを実施する手段とを備え、この処理手段はさらに、各サブオブジェクトにつき各特有操作を少なくともN回実施する手段を備え、それにより、一方では、各サブオブジェクトの各基本情報が少なくとも1回適用され、他方では、各特有操作のN個の結果が生成され、この処理手段は、特有操作のシーケンスの少なくとも1つの特有操作(62)が、そのN回の適用(62a、62b、62c、62d、62e、62f)全体のうちで少なくとも1回、別のサブオブジェクトに属する基本情報(60、160)を直接的または間接的に適用するような処理手段である。
一実施形態では、処理されるオブジェクトは次元DOを含み、サブオブジェクトは、オブジェクトの次元DOから選択された次元DSOを含み、オブジェクトを分解する手段は、サブオブジェクトの次元の少なくとも1つに従ってサブオブジェクトがオーバーレイを有さないような手段である。
したがって、好ましくは、特有操作は、サブオブジェクトがオーバーレイを有さない次元に従った少なくとも1つの循環的連鎖に従って連鎖された計算ユニットによって実施される。
また好ましくは、サブオブジェクトは、どんな次元に従ったオーバーレイも有さない。
一実施形態では、プラットフォームは、サブオブジェクトの処理中に実施され別のサブオブジェクトの処理に使用される、基本情報および/または特有操作からの結果を記憶するために、少なくとも1つのオブジェクト間通信メモリを備える。
一実施形態では、プラットフォームは、オブジェクトの処理中に同じデータを適用する特有操作を含まない特有操作のシーケンスを実施する手段を備える。
一実施形態では、オブジェクトは次元DOを含み、基本情報は、プラットフォーム中で、オブジェクトのDE次元の1つに従って、次いで他の次元に従って受け取られ、サブオブジェクトは、オブジェクトの次元DOから選択されDE次元を含む次元DSOを含み、プラットフォームは、処理操作に含まれる内部サブオブジェクトスクローリングループがDE次元に従って実施されるようなプラットフォームである。
一実施形態では、オブジェクトは次元DOを含み、基本情報は、プラットフォーム中で、オブジェクトのDE次元の1つに従って、次いで他の次元に従って受け取られ、サブオブジェクトは、オブジェクトの次元DOを含むか、またはオブジェクトの次元DOから選択されDE次元が含まれない次元DO−1を含み、プラットフォームは、処理操作に含まれる内部サブオブジェクトスクローリングループがDE次元に従って実施されるようなプラットフォームである。
一実施形態では、処理されるオブジェクトを分解する手段は、各次元におけるサブオブジェクトのサイズが、オブジェクトのサイズ、ならびに/または、基本情報がプラットフォームによって受け取られる速度、ならびに/または、プラットフォームの計算速度、ならびに/または、プラットフォームのメモリのうちの少なくとも1つのサイズおよび速度、に従って決定されるような手段である。
一実施形態では、特有操作の少なくとも一部分が少なくとも1つのパラメータ値を適用する場合、プラットフォームは、同じ特有操作を同時に計算するQ個の計算ユニットを備え、プラットフォームはさらに、少なくとも1つの特有選択操作を含む少なくとも1つの特有操作シーケンスを実施する手段を備え、この特有選択操作は、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って、プロセッサごとに差別化された方式で、Q個の計算ユニット上で同時にC個のパラメータ値からパラメータ値を選択することを実施する。
一実施形態では、プラットフォームは、同じ特有操作を同時に計算するQ個の計算ユニットを備え、さらに、少なくとも1つの特有選択操作を含む少なくとも1つの特有操作シーケンスを実施する手段を備え、この特有選択操作は、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って、プロセッサごとに差別化された方式で、Q個の計算ユニット上で同時にデータCからデータ項目を選択することを実施する。
一実施形態では、プラットフォームは、少なくとも1つの特有位置操作を含む特有操作のシーケンスを実施する手段を備え、オブジェクトは次元DOを含み、この特有位置操作は、次元DOの1つに従った位置情報を生成する。
一実施形態では、プラットフォームは、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って相対位置を生成する少なくとも1つの特有操作を含む特有操作のシーケンスを実施する手段を備える。
一実施形態では、プラットフォームは、特有操作の少なくとも一部分を実施するためのQ個の計算ユニットを備え、QはNに等しいかまたはNの約数である。
一実施形態では、Q個の計算ユニットの数はNとは異なり、サブオブジェクトの処理は、N/Q個の反復の単一内部ループを1つ含む。
一実施形態では、プラットフォームは、Q個の計算ユニットが同一であるようなプラットフォームである。
一実施形態では、プラットフォームは、1つの単一特有操作からのN個の結果が、1つの同じ計算ユニットによって計算されるような手段を備える。
一実施形態では、プラットフォームは、少なくとも1つの特有操作が少なくとも1つのパラメータを適用するとき、この特有操作を実施する手段を備え、プラットフォームはさらに、パラメータの値の一部分を含むメモリユニットへのアクセスを有する計算ユニットを備え、プラットフォームは、この部分が、この計算ユニットによって実施される特有操作に従って決定されるようなプラットフォームである。
一実施形態では、プラットフォームは、少なくとも1つの特有操作が少なくとも1つのパラメータを適用するとき、このパラメータが、処理されるオブジェクトにおけるサブオブジェクトに依存するような手段を備える。
一実施形態では、プラットフォームは、連鎖された計算ユニットを備える。
一実施形態では、プラットフォームは、1つの連鎖および1つの次元に従って連鎖された計算ユニットを備える。
一実施形態では、プラットフォームは、少なくとも1つの循環的連鎖に従って連鎖された計算ユニットを備える。
さらに、この連鎖は、一実施形態では、少なくとも1つの待ち行列を含むことができる。
サブオブジェクトが次元DSOを含む一実施形態では、プラットフォームは、サブオブジェクトの各次元での循環的連鎖に従って連鎖された計算ユニットを備える。サブオブジェクトの各D1特有次元での循環的連鎖(1つまたは複数)はさらに、サブオブジェクトのD1特有次元での循環的連鎖(1つまたは複数)間で共有されるかまたは共有されない少なくとも1つの待ち行列を含む。
一実施形態では、プラットフォームは、循環的連鎖CC1を用いてサブオブジェクトの所定次元DDの少なくとも1つに従って連鎖された計算ユニットを備える。循環的連鎖はさらに、少なくとも1つの待ち行列を含む。プラットフォームは、特有命令が適用される度に、第1の計算ユニットUC1中でのこの適用の結果が、この連鎖に従ってこの第1の計算ユニットUC1に続く計算ユニットUC2または待ち行列に送出されるようなプラットフォームである。
一実施形態では、プラットフォームは、別のサブオブジェクトのサブ処理操作中に使用される特有操作からの結果を、当該サブオブジェクトとの関係におけるこの別のサブオブジェクトの相対位置に従って記憶するための少なくとも1つのメモリを備える。
さらに別の実施形態では、プラットフォームは、少なくとも1つの循環的連鎖に従って連鎖された計算ユニットと、計算ユニットの連鎖およびシーケンスに従って特有操作を計算ユニットに割り当てる手段とを備える。
一実施形態では、プラットフォームは、特有操作の順序および/またはタイプを修正することができるような手段を備える。
一実施形態では、プラットフォームは、少なくとも1つの所定の特有操作シーケンスに従って特有操作を実施するためのケーブルされた計算ユニットを備える。
一実施形態では、プラットフォームは、基本情報および/または特有操作結果を記憶するための限られた容量のメモリユニットが備わった少なくとも1つの計算ユニットを備え、このメモリは、少なくとも16個の基本情報および/または特有操作結果を含む。
一実施形態では、プラットフォームは、他のサブオブジェクトからの基本情報および/または特有操作結果を含む通信メモリユニットへのアクセスを有する少なくとも1つの計算ユニットを備える。
一実施形態では、プラットフォームは、通信メモリユニットが0.3*Nアクセス/サブオブジェクト/特有操作よりも低いアクセス速度を有するようなプラットフォームである。
一実施形態では、プラットフォームはとりわけ携帯電話機に統合され、Qの値が1に固定されNの値が2と16の間に含まれるような手段を備える。
一実施形態では、プラットフォームは、少なくとも1つの特有操作を同時に実施する少なくとも2つの同一の計算ユニットを備える。
一実施形態では、プラットフォームは、特有操作結果の少なくとも一部分がメモリ中で「ベースアドレス+オフセット」または「ベースアドレス+modオフセット(バッファメモリのサイズ)」のフォーマットのアドレスに記憶されるような手段を備え、オフセットは、1つの同じ特有操作からのすべての結果に対して一定である。
一実施形態では、プラットフォームは、サブオブジェクトが処理操作において変更される度にベースアドレスを修正する手段を備える。
一実施形態では、プラットフォームは、特有操作結果の少なくとも一部分が、メモリ中で、1つの同じ操作からのすべての結果に対して事前に決定されたアドレスに記憶されるような手段を備える。
一実施形態では、プラットフォームは、メモリが備わった少なくとも1つの計算ユニットを備え、トランジスタの数は、関連メモリユニットを含めて、1計算ユニット当たり10000個未満である。
一実施形態では、プラットフォームは、汎用フォーマット化データから計算された特有フォーマット化データを、入力上で好ましくは直接的に受け取る手段を備え、この汎用フォーマット化データは、少なくとも1つの汎用操作シーケンスを記述する第1のデータを含み、特有フォーマット化データの計算は、プラットフォーム中の基本情報に関するスクローリングモードと、汎用操作からの特有操作とを反映して実施され、これらの特有操作は特有操作のシーケンスを形成し、プラットフォームは、この特有操作シーケンスをオブジェクトに対して実施する手段を備える。
一実施形態では、プラットフォームは、画像で構成されるオブジェクトを処理する手段を備え、基本情報はこの画像のピクセルである。
一実施形態では、プラットフォームは、画像取込みおよび/またはレンダリングデバイスの一部であり、操作は、操作のシーケンスに、かつ/またはこのプラットフォームに、かつ/または処理されるオブジェクトに依存する値を有するパラメータを適用し、これらのパラメータ値は、画像取込みおよび/またはレンダリングデバイスの、光学機構および/またはセンサおよび/またはイメージャおよび/または電子機構および/またはソフトウェアの特性にリンクされる。
一実施形態では、プラットフォームは、ディジタルオーディオ信号で構成されるオブジェクトを処理する手段を備え、基本情報はこの信号のオーディオサンプルである。
一実施形態では、プラットフォームは、数値メッシュで構成されるオブジェクトを処理する手段を備え、基本情報は、メッシングの各点を特徴付ける空間および時間情報である。
本発明は、前述の方法による処理方法で処理されるオブジェクトにも関する。
本発明の他の特徴および利点は、その実施形態のいくつかに関する非限定的な記述から明らかになるであろう。この記述は図によってサポートされる。
図2に示すデバイスは、画像22を処理するために使用され、この画像は、少なくとも1つの数値で表されるピクセルのセットである。
このデバイス中で、ディジタルデータ処理手段10に汎用フォーマット化データ12が提供される。この処理手段は、例えばコンパイラとすることができる。
本発明による方法によって供給される汎用フォーマット化データは、第1および第2のデータ14を含み、第1および第2のデータ14は、汎用操作のシーケンスを記述し、また、これらの汎用操作に関係する論理ブロックの相対位置を提供する。この第1および第2のデータについては、図3に例示する。
処理手段10はまた、画像取込みまたはレンダリングデバイスなどの処理プラットフォーム20の特性に従って決定された、プラットフォーム中の基本情報に関するスクローリングモード24を、入力上で受け取る。
この汎用フォーマット化データ12およびこれらのパラメータを使用して、処理手段10は、処理プラットフォーム20に特有フォーマット化データ18を提供する。
特有フォーマット化データは、プラットフォームのメモリにおけるピクセルの構成、ピクセルがプラットフォームによって処理される順序、さらにはプラットフォームによって実施される特有操作のグループ化に関するデータなど、種々のタイプのデータを含む。
次いでプラットフォーム20は、この特有フォーマット化データ18を使用して、インバウンドで受け取った画像22を処理する。
以下の表4および図3に、論理ブロックB1に適用される汎用操作のシーケンスの形で、汎用フォーマット化データの例を示す。このシーケンスは、3つの汎用操作を含む。表の列は、順番に以下の項目を示す。
−シーケンスにおける操作のランク。
−汎用操作の名前。
−汎用操作の結果が書き込まれる論理ブロック(出力)。すなわち、オブジェクトが各操作の終わりに再構成された場合に、この結果が位置することになる場所。
−汎用操作の第1の入力(入力1)。これは論理ブロックまたはパラメータとすることができる。
−妥当な場合に、入力1における論理ブロックに関連して使用される論理ブロックの相対位置。
−汎用操作の第2の入力(入力2)。これもまた論理ブロックまたはパラメータとすることができる。
−妥当な場合に、入力2における論理ブロックに関連して使用される論理ブロックの相対位置。
「相対位置」の列に位置する情報は、本発明による方法を使用して処理手段に提供される第2のデータ中に存在する情報である。
一実施形態では、汎用フォーマット化データは第2のデータを含み、第2のデータは、とりわけ空間的および/または時間的な、オブジェクトの次元の少なくとも1つに従った、相互との関係におけるブロックおよび/またはパラメータの相対位置を参照し、かつ/あるいは、とりわけ空間的および/または時間的な、オブジェクトの次元の少なくとも1つに従った、相互との関係における論理ブロックおよび/またはパラメータの相対スケールを参照する。
この表では、この情報は、簡略化のために「左」および「右」の形で出ているが、実際は、汎用フォーマット化データ中で、(0;1)などの数値で、かつ/またはf(x;y)などの関数でコーディングすることもできる。
一実施形態では、ある汎用操作は、オブジェクトの次元の1つに従った絶対位置で構成される論理ブロックを生成し、インダイレクションと呼ばれる別の汎用操作は、第3のブロックから、第2のブロックで示される変位および/またはスケール変更によってブロックを生成する。この場合、ブロックに対する汎用操作を使用してから、汎用インダイレクション操作を使用して相対変位および/または対応する相対スケール変更を実施して、相対位置および/または相対スケールを提供する関数、例えば0.5*(x−100)を計算することができる。
表4はコーディングの一例に過ぎず、第1のデータおよび第2のデータは様々な方式でコーディングすることができ、表フォーマットでも、しかし記号フォーマットやグラフフォーマットでも、あるいは他のどんなフォーマットでもコーディングすることができる。さらにこの例では、簡略化のために、データ型、オフセット、および飽和度に関する追加情報は示していない。
Figure 2009524123
この操作シーケンスで使用される第1の論理ブロックは、論理ブロックB1(51)である。第1の汎用操作は、左にずれた論理ブロックB1(51g)と右にずれた論理ブロックB1(51d)との加算(52)である。この加算の結果は、ブロックB2(53)に記録される。すなわちB2=B1left+B1rightである。
第2の操作(54)は、表に関連してブロックB2(53)を変形することである。したがってこの操作は、入力におけるブロックB2(53)と、修正表を表すパラメータParam1(55)とを有する。この操作の結果は、ブロックB3(56)に記録される。すなわちB3=LUT(Param1,B2)である。
このシーケンスにおける第3かつ最後の操作(57)は、論理ブロックの乗算である。この操作は、論理ブロックB3(56)および論理ブロックB1(51)を有し、すなわち入力に対してB4=B3*B1である。
したがって、論理ブロックB4(58)は、汎用操作のシーケンスの終わりに得られるブロックである。
表1の例における汎用フォーマット化データは、プラットフォームと、オブジェクトのサブオブジェクトへの分解と、オブジェクトの基本情報のスクローリングモードと、基本情報がプラットフォーム中で処理されることになる順序とから、ならびに記憶された構成から独立している。実際、表1の汎用フォーマット化データは、様々な方式で特有フォーマット化データやプラットフォーム用コードに変換することができ、これは例えば、限定しないが以下に挙げる変換に従って行うことができる。
第1の変換例は、メモリおよび計算時間の点で最適ではないが、サブオブジェクトへの分解を伴わない単純な変換を例示する。
左側と右側の2つの列を除いた、入力オブジェクトのピクセルBP1(論理ブロックB1に対応する)のそれぞれにつき(ピクセルは左から右へ、次いで上から下へスクロールされる)、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果を物理ブロックBP2(論理ブロックB2に対応する)に記憶する。
左から右へ、次いで上から下へスクロールされるBP2の各ピクセルにつき、
現ピクセルに表を適用し、結果を物理ブロックBP3(論理ブロックB3に対応する)に記憶する。
左から右へ、次いで上から下へスクロールされるBP3の各ピクセルにつき、
現ピクセルにBP1の対応ピクセルを乗算し、結果を物理出力ブロックBP4(論理ブロックB4に対応する)に記憶する。
第2の変換例は、汎用フォーマット化データを変更することなくサイズおよび使用メモリを低減できることを示す。実際、第1の例では、画像に近いサイズの4つの物理ブロックが使用される。BP2、BP3、およびBP4に同じメモリを使用して、2つの物理ブロックのみを使用することができる。以下の変換が得られる。
左側と右側の2つの列を除いた、入力オブジェクトのピクセルBP1(論理ブロックB1に対応する)のそれぞれにつき(ピクセルは左から右へ、次いで上から下へスクロールされる)、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果を物理ブロックBP2(論理ブロックB2に対応する)に記憶する。
左から右へ、次いで上から下へスクロールされるBP2の各ピクセルにつき、
現ピクセルに表を適用し、結果を物理ブロックBP2(今や論理ブロックB3に対応する)に記憶する。
左から右へ、次いで上から下へスクロールされるBP2の各ピクセルにつき、
現ピクセルに対応BP1ピクセルを乗算し、結果を物理出力ブロックBP2(今や論理ブロックB4に対応する)に記憶する。
第3の変換例は、汎用フォーマット化データを変更することなく計算時間を短縮できることを示す。実際、第2の例では、画像に近いサイズの2つの物理ブロックが使用されるが、物理ブロックBP2は3回にわたって完全に書き込まれ、物理ブロックBP1は2回にわたって完全に読み取られ、物理ブロックBP2は2回にわたって完全に読み取られる。これを、異なるスクローリングモードおよび異なるブロックを用いて、1回の読取りおよび1回の書込みだけに制限することができる。これにより、必要とされる操作の数が減少するが、メモリアクセス要件もまた減少する。この場合、サブオブジェクトは1つのピクセルで構成される。以下の変換が得られる。
左側と右側の2つの列を除いた、入力オブジェクトのピクセルBP1(論理ブロックB1に対応する)のそれぞれにつき(ピクセルは左から右へ、次いで上から下へスクロールされる)、
以下の特有操作シーケンスを実施する。現ピクセルの左のピクセルと右のピクセルとを加算し、結果に表を適用し、表出力に現ピクセルを乗算し、結果を現在の物理出力ブロックBP2(論理ブロックB4に対応する)に記憶する。
第4の例は、より特有にキャッシュ付きスカラプロセッサに適応されているが、この第4の例では、結果は入力と同じメモリゾーンに書き込まれる。これにより、メモリサイズがより一層縮小され、メモリアクセスがローカルになる。このことは、キャッシュメモリまたはページドメモリの場合に非常に有益である。この場合、サブオブジェクトは1つのピクセルで構成される。したがって、以下の変換が得られる。
左側と右側の2つの列を除いた、入力オブジェクトのピクセルBP1(論理ブロックB1に対応する)のそれぞれにつき(ピクセルは左から右へ、次いで上から下へスクロールされる)、
以下の特有操作シーケンスを実施する。
現ピクセルの左のピクセルと右のピクセルとを加算し、結果に表を適用し、表出力に現ピクセルを乗算し、結果を、現在の物理出力ブロックBP1に、現ピクセルの左のピクセルに代えて記憶する(この左ピクセルは、次の反復のための左ピクセルになる現ピクセルとは反対に、もはや使用されない)。BP1は、部分的に論理ブロックB4に対応し、部分的に論理ブロックB1に対応する)。
第5の変換例は、小さい高速アクセスメモリおよび大きい低速メモリを伴う信号処理プロセッサに特に適応されており、各サブオブジェクトは、例えば32×32の矩形、または高速アクセスメモリの使用を最大限にする他の任意の値の矩形であり、矩形は隣接する。したがって、以下の変換が得られる。
各サブオブジェクトにつき(サブオブジェクトは左から右へ、次いで上から下へスクロールされる)、
次の物理入力ブロックを、DMA(「直接メモリアクセス」)機構を介して低速メモリから高速アクセスメモリに転送することを開始する。この物理入力ブロックは、左に1列分、右に1列分拡張されて32×34となる次のサブオブジェクトに対応する。
前の物理出力ブロックを、DMA(「直接メモリアクセス」)機構を介して高速アクセスメモリから低速メモリに転送することを開始する。
左および右への追加の列で拡張されて32×34となり、前の反復のDMAの終わりに得られる現サブオブジェクトに対応する物理ブロックを取る。
以下の特有操作シーケンスを実施する。左側と右側の2つの列を除いた、物理入力ブロック(論理ブロックB1に対応する)の各ピクセル(左から右へ、次いで上から下へスクロールされる)につき、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果に表を適用し、表出力にブロックの現ピクセルを乗算し、結果を現在の物理出力ブロック(論理ブロックB4に対応する)に記憶する。
第6の変換例は、1つの同じ計算をベクトルの種々のピクセルに適用することのできるベクトル信号プロセッサに特に適応されており、各サブオブジェクトは、例えば64個の水平ピクセルの矩形、またはプラットフォームが処理および記憶できるベクトルのサイズと等しい他の任意の値の矩形である。ベクトルは1度に1つずつ処理されるので、この変換はどんなメモリも必要としない。したがって、以下の変換が得られる。
左の2つの列を除いた、入力オブジェクトBP1(論理ブロックB1に対応する)の各サブオブジェクトV1につき(サブオブジェクトは左から右へ、次いで上から下へスクロールされる)、以下の特有操作シーケンスを実施する。
各ラインの開始で、ラインの2つの左側ピクセルを右に含むベクトルV0を生み出す。
V0およびV1から、V0の2つの右側ピクセルと、V0の2つの右側ピクセルを除いたV1の左側ピクセルとに対応するベクトルV2を抽出する。V1とV2とを加算してV2を得て、V2の各ピクセルに表を適用してV2を得る。V0およびV1から、V0の右側ピクセルと、V0の右側ピクセルを除いたV1の左側ピクセルとに対応するベクトルV3を抽出する。以下の反復について、V1をV0にコピーする。すなわち、V2にV3を乗算してV2を得て、結果V2を現在の物理出力ブロックに記憶する。
上記の第3、第4、第5、および第6の例は、とりわけメモリおよび並列処理の点で異なるアーキテクチャを有する種々のプラットフォームに関する、本発明による実施形態に対応する。本発明では特に、
−1つの単一ループのみを使用して、コードのサイズを縮小することができる。かつ/または、
−メモリのサイズを、例では0に縮小することができるが、垂直フィルタのあるより一般的な場合では、垂直フィルタの入力データに対して計算を繰り返す必要を避けるために、いくつかのメモリラインが必要とされる。かつ/または、
−とりわけループをグループ化することによって、必要とされる命令の数を削減することができる。かつ/または、
−どんなサイズのベクトルにも適応することができる。かつ/または、
−どんなメモリアーキテクチャにも適応することができる。
簡略化のために、これらの例は、入力画像よりも小さい画像を生成する。必要なら、各ラインの最初と最後にコードを追加してエッジピクセルを複製することによって、入力画像と同一サイズの出力画像を容易に得ることができる。
図4に、処理手段10の出力における特有フォーマット化データの構造を示す。このデータは、本発明による方法に従って処理プラットフォーム20に提供されることになっている。
特有フォーマット化データは、処理手段に提供された汎用フォーマット化データ32を使用して、かつ、この処理手段によって決定された、プラットフォーム中の基本情報をスクロールするためのモード34を使用して、処理手段によって計算される。汎用フォーマット化データは、処理手段によって実施される少なくとも1つの汎用操作または操作シーケンスを記述するデータ38を含む第1のデータ36を含む。汎用フォーマット化データはまた、少なくとも2つの論理ブロックを使用する汎用操作に関して、相互との関係における論理ブロックの位置および相対スケールを参照する第2のデータ40も含む。この汎用フォーマット化データおよびスクローリングモード34を使用して、処理手段は、特有操作に関係するデータ42およびループに関係するデータ44を提供する。このデータ42および44は、特有フォーマット化データ30の一部である。
図5に、操作、またはオブジェクト特有の操作の適用を示す。この図では、オブジェクト55が、4つのサブオブジェクト250、251、252、および253に分割される。各サブオブジェクトは、6つの基本情報からなる。操作262は、オブジェクト255に適用される操作のシーケンスの1つである。この操作は、各サブオブジェクトに対して6回適用され(262a、262b、262c、262d、262e、および262f)、それにより6つの結果が生成される(264)。操作262は、あるサブオブジェクトに対して6回適用される間に、別のサブオブジェクトに関する基本情報を適用する。例えば、サブオブジェクト250への操作262の適用は、次のように行われる。適用262aは基本情報254および256を適用し、適用262bは基本情報256および258を適用し、適用262cは基本情報258および260を適用し、基本情報260はサブオブジェクト252に属する。また、適用262dは基本情報154および156を適用し、適用62eは基本情報156および158を適用し、適用62fは基本情報158および160を適用し、基本情報160はサブオブジェクト252に属する。
次に、本発明による方法によって決定することのできるスクローリングモードのいくつかの例について述べる。これらのスクローリングモードはそれぞれ、図5〜7のうちの1つに示すアーキテクチャのプラットフォーム中で使用されるようになっている。
図6に示す第1の例では、処理プラットフォームは、1つの次元で連鎖された5つのプロセッサを備える。すなわち、プロセッサProcAから出力された計算結果がプロセッサProcBへの入力に使用され、以下同様となる。ProcEプロセッサから出力された基本情報は、プロセッサProcAの入力に適用される。
各プロセッサには、MemA〜MemEとして言及する、限られた容量のメモリユニットが備わる。このメモリユニットは、プロセッサによって実施される特有操作に使用されるパラメータ値、あるいは、プロセッサによってすぐに再使用されるよう定められた基本情報または操作からの結果を記憶するようになっている。
この第1の例では、処理操作は、OP1〜OP8として言及する8つの操作のシーケンスを、オブジェクトを構成する基本情報に適用することにある。
オブジェクトは、処理されるために、それぞれN個の基本情報のサブオブジェクトに分解されなければならない。NはQ(Q=5、計算ユニットの数量)の倍数でなければならないが、このNは、本発明による方法によって、とりわけプラットフォームのメモリ容量に従って、プラットフォームから上流で決定される。この例では、N=5である。
さらに、使用される特有操作の規則的なシーケンシングを実施するために、プラットフォームの上流に位置する処理手段によって、効果なしの特有操作OP9およびOP10が生み出され、それにより、各サブオブジェクトに対して実施される特有操作の数が、利用可能なプロセッサの数の倍数になる。
具体的な操作タイプに従って、各操作は、プロセッサによって実施されるように割り当てられる。ここでは、
−プロセッサAはOP1およびOP6を実施する。
−プロセッサBはOP2およびOP7を実施する。
−プロセッサCはOP3およびOP8を実施する。
−プロセッサDはOP4およびOP9を実施する。
−プロセッサEはOP5およびOP10を実施する。
各プロセッサは、割り当てられた特有操作に対応する命令のセット(InsA〜InsE)を実行する。限られた容量のメモリに記憶されたパラメータもまた、この割当てに依存する。例えば、OP1が、2を乗算することである場合、MemAメモリは数字2を含むことになる。
これらの割当てが行われると、以下の表Iによって述べるシーケンシングスケジュールに従って操作が行われる。
この表では、プロセス進行時間をT1、T2、......T14として示す。
Figure 2009524123
各ラインは、10個の特有操作OP1〜OP10のうちの1つを表す。各列は、基本情報IE1〜IE5のうちの1つを表し、各基本情報は、処理されるサブオブジェクトを構成する。このIE1〜IE5の表記は形式的なものであり、必ずしも空間的または時間的現実に対応するとは限らない。実際、ある種の特有操作は基本情報の変位を生成する。したがって、例えば特有操作OP1が、左にずらすことにある場合、特有操作OP2によって処理される情報IE1は、特有操作OP1が情報IE1に適用された結果ではなく、この特有操作OP1が情報IE2に適用された結果であることがある。
この表中の各枠は、特有操作を実施するプロセッサの名前、ならびにこの特有操作が処理操作中に実施される時間を含む。明白なことだが、この表は、処理操作の一部を表すに過ぎない。ここでは、必要とされる特有操作からのすべての結果が、処理操作においてすでに計算されていると仮定する。
したがって、時間T1で、ProcAプロセッサがサブオブジェクト1の第1の情報IE1に対して操作OP1を実施するのが示されている。この時点で、他のプロセッサは、この表に示されていない他の操作を実施している。
時間T5で、各プロセッサがサブオブジェクト1の情報の1つに対して操作を実施するのが示されている。
プロセッサがサブオブジェクトのすべての基本情報に対して特有操作を実施したとき、プロセッサは、それに割り当てられた次の操作に進む。したがって、ProcAプロセッサは、T6から操作OP6を実施する。
プロセッサがそれに割り当てられたすべての特有操作を実施すると、次のサブオブジェクトが処理される。したがって、2つの異なるサブオブジェクト(サブオブジェクト1とサブオブジェクト2)が、プラットフォーム中で同時に処理される。
この表では、各特有操作がN回(ここではN=5)実施されることがはっきりと示されている。
このシーケンシングスケジュールは、プロセッサの次元の1つにおける循環的連鎖によって得られる。したがって、基本情報は、ある計算ユニットから他の計算ユニットに移行することができる。例えば、基本情報IE1は、すべてのプロセッサの中を進んで特有操作OP1〜OP5を「経験し」、次いで、ProcAプロセッサに戻って再び循環を開始し、操作OP6〜OP7を「経験する」。最初の基本情報IE1は、必ずしもすべてのステップでIE1情報になるとは限らないことに注意されたい。
図7に示す第2の例では、プラットフォームは、共通のメモリにリンクされた5つのプロセッサを備える。このような構造は古典的である。すなわち、ベクトル信号プロセッサ(「単一命令複数データ」つまりSIMDタイプのもの)の構造に対応する。この例では、各プロセッサは、相関表Tなどのパラメータを含むことのできる小さいメモリに、個別にリンクされる。この構造では、各プロセッサがすべての特有操作を実施する。したがって、すべてのプロセッサは同じ命令セットINSを受け取る。
この第2の例では、操作のうちの1つが、表を使用して1つまたは複数の基本情報を修正することにある場合について考える。上記からわかるように、各プロセッサはそれ自体の表へのアクセスを有し、すべての表は同一である。一代替形態では、各メモリは一群のプロセッサによって共有される。一代替形態では、一群のプロセッサは同じメモリを共有し、同じパラメータを同時に得る。この場合、例えば多項式を計算するための、1つまたは複数のパラメータを使用した計算によって、相関表を適用し実施しなければならない。
これは並列操作を伴う。すなわち、プロセスの各時間で、すべてのプロセッサが、同じ操作を異なる基本情報に対して実施する。このプロセスを以下の表IIによって例示する。
この表では、プロセス進行時間をT1、T2、......T10として示す。
Figure 2009524123
この表では、所与の時間Tiで、特有操作OPiが、各プロセッサProcA〜ProcEによって基本情報IE1〜IE5に対してそれぞれ実施されることがわかる。
10回目のインクリメントの後には、特有操作のシーケンス中の各特有操作が、サブオブジェクトの各基本情報に対して実施されていることに気付くことができる。
この場合、特有操作はすべてのプロセッサによって並列で実施されるので、効果なしの操作によって特有操作のシーケンスを完全なものにする必要はないことが明らかである。このようにして、操作OP8が完了すると、次のサブオブジェクトを構成する基本情報に操作OP1を適用することによって、プロセスを繰り返すことができる。
図8に示す第3の例では、プラットフォームは、とりわけPCタイプのコンピュータ内に存在するベクトル信号プロセッサと同様の、共通のメモリにリンクされた5つのプロセッサで構成されるベクトル信号プロセッサを備える。またこれらのプロセッサはすべて、パラメータ、およびとりわけ相関表を含むことのできる、小さいメモリにリンクされる。この構造では、各プロセッサがすべての特有操作を実施する。したがって、すべてのプロセッサは、実施されるすべての特有操作を記述したデータを含む同じINS命令セットを受け取る。
この例では、2つの特有操作のシーケンスが、表を使用して1つまたは複数の基本情報を修正することにある場合について考える。ここで、表は1つの単一場所にのみ存在し、したがってプロセッサはこれらの表を共有しなければならない。
すべてのプロセッサはサブオブジェクトの異なる基本情報に対して1つの同じ操作を同時に実施するので、プロセスの始めには、並列操作が実施されている。このプロセスを以下の表IIIによって例示する。
この表では、プロセス進行時間をT1、T2、......T18として示す。
Figure 2009524123
この表の最初の3つのラインでは、所与の時間Tiで、特有操作OPiが、各プロセッサProcA〜ProcEによって基本情報IE1〜IE5に対してそれぞれ実施されることがわかる。
表を使用する操作OP4に達したとき、アクセス問題に遭遇する。というのは、すべてのプロセッサが同時にこの表にアクセスすることはできないからである。したがって、プロセッサは、「自分の順番を待つ」こと、すなわち前のプロセッサが表の使用を終えて自分が表を使用できるようになるまで待機することを余儀なくされる。このため、操作OP4は、時間T4〜T8でプロセッサProcA〜ProcEによってそれぞれ実施される。操作OP5もまた表を使用すると仮定すると、同様にして以下の状況が生じることになる。すなわち、操作OP5は、時間T9〜T13でプロセッサProcA〜ProcEによってそれぞれ実施される。
これらの操作が実施されると、プロセスは通常どおり継続することができる。
図9aに、サブオブジェクトの次元の1つに従ったいくつかの循環的連鎖を含むプラットフォームの一実施形態例を示す。この第1の例では、オブジェクトは2つの次元を有する画像であり、サブオブジェクトは4つの基本情報を含み、プラットフォームは、水平に4つのプロセッサと垂直に1つのプロセッサとの矩形に対応する4*1プロセッサのグリッドに従って配置された、4つのプロセッサを備える。これらのプロセッサを、左から右にP1、P2、P3、およびP4と呼ぶ。本方法はまた、この例では2つの待ち行列も適用する。
−水平待ち行列FHaが、入力でP4の出力に接続され、出力でプロセッサP1の入力に接続される。P1の出力はP2の入力に接続される。P2の出力はP3の入力に接続され、P3の出力はP4の入力に接続される。
−垂直待ち行列FVaが、入力でP1、P2、P3、およびP4の出力に接続され、出力でプロセッサP1、P2、P3、およびP4の入力に接続される。
−特有操作のシーケンスは、4つのプロセッサを100%使用しながら、任意の数量の水平フィルタFHを適用することができる。例えば、特有操作OS1の結果と、左における同じ特有操作OS1の結果との加算からなるフィルタの計算を実施する特有操作OS2の場合、プロセッサP4からの操作OS1の結果は、待ち行列FHaに配置され、後続のサブオブジェクトの計算中にP1上でOS2によって使用されることになる。プロセッサP3からの操作OS1の結果は、P4上のOS1の結果と共にP4上でOS2によって使用されるように、プロセッサP4に転送される。プロセッサP2からの操作OS1の結果は、P3上のOS1の結果と共にP3上でOS2によって使用されるように、P3に転送される。プロセッサP1からの操作OS1の結果は、P2上のOS1の結果と共にP2上でOS2によって使用されるように、プロセッサP2に転送される。前のサブオブジェクトの計算中にP4によって実施された操作OS1の結果は、待ち行列FHaから出力され、P1上のOS1の結果と共にP1上でOS2によって使用されるように、プロセッサP1に転送される。このシーケンスに関する別の操作OS3が別の水平フィルタを適用することができ、待ち行列を使用して正しい順序でデータが取り出される。
−必要に応じて変更を加えて、特有操作のシーケンスは、4つのプロセッサを100%使用しながら、任意の数量の垂直フィルタFVを適用することができる。
−最後に、特有操作のシーケンスは、4つのプロセッサを100%使用しながら、水平と垂直の両方の次元に従って分離不可能な任意の数量のフィルタFVHを適用することができる。例えば、1つの特有操作OS4からの4つの結果に適用される非分離型3×3フィルタは、FVaを2回プロンプトし、次いでFHaを6回プロンプトして、前に計算された4つのOS4結果を8セット入手し、現サブオブジェクトからのOS4結果のセットと結合されるようにすることができる。例えば、これらの非分離型フィルタは、垂直および/または水平フィルタと共に使用することができ、この2つの待ち行列は、データを正しい順序で取り出せるようにする。
2つのフィルタが適用されるとき、特有操作のシーケンスはしたがって、シーケンスとは別個の少なくとも2つの特有操作がそれぞれ、そのN回の適用中に少なくとも1回、別のサブオブジェクトの処理に使用される結果を生成するようなシーケンスである。別のサブオブジェクトの処理に使用される結果は、待ち行列(1つまたは複数)を介して移行する。
同様にして、図9bに第2の例を示すが、この例では、オブジェクトは2つの次元を有する画像であり、サブオブジェクトは4つの基本情報を含み、プラットフォームは、水平に2つのプロセッサと垂直に2つのプロセッサとの矩形に対応する2*2プロセッサのグリッドに従って配置された、4つのプロセッサを備える。これらのプロセッサを、左から右に、上のラインにあるものはP4およびP5、下のラインにあるものはP6およびP7と呼ぶ。本方法はまた、この例では2つの待ち行列も使用する。
−水平待ち行列FHbが、入力でP3およびP6の出力に接続され、出力でP1およびP4の入力に接続される。
−垂直待ち行列FVbが、入力でP4およびP5の出力に接続され、出力でプロセッサP6およびP7の入力に接続される。
図9aの例のように、特有操作のシーケンスは、4つのプロセッサを100%使用しながら、任意の数量の垂直および/または水平および/または非分離型フィルタを適用することができる。
図9cに示す第3の例では、プラットフォームは、水平待ち行列FHcと垂直待ち行列FVcとに接続された単一のプロセッサP8を備える。この2つの待ち行列は、後で再使用されることになっている特有操作からの結果を記憶するためにプロセッサが使用することができる。
図9aの例でもまた、特有操作のシーケンスは、プロセッサを100%使用しながら、任意の数量の垂直および/または水平および/または非分離型フィルタを適用することができる。
本発明による、画像をサブオブジェクトに分解する例を示す図である。 本発明による、画像をサブオブジェクトに分解する例を示す図である。 本発明による、画像をサブオブジェクトに分解する例を示す図である。 本発明による、画像をサブオブジェクトに分解する例を示す図である。 本発明による、画像をサブオブジェクトに分解する例を示す図である。 本発明による、画像をサブオブジェクトに分解する例を示す図である。 本発明による方法を使用するデバイスを示す図である。 いくつかの論理ブロックと1つのパラメータとに適用される汎用操作のシーケンスの例を示す図である。 本発明による方法においてプラットフォームに提供される特有フォーマット化データの構造を示す図である。 オブジェクト特有の操作の適用を示す図である。 本発明による方法に従ってオブジェクトを処理することのできるプラットフォームの種々のアーキテクチャを示す図である。 本発明による方法に従ってオブジェクトを処理することのできるプラットフォームの種々のアーキテクチャを示す図である。 本発明による方法に従ってオブジェクトを処理することのできるプラットフォームの種々のアーキテクチャを示す図である。 本発明によるプラットフォーム中のプロセッサ連鎖の例を示す図である。 本発明によるプラットフォーム中のプロセッサ連鎖の例を示す図である。 本発明によるプラットフォーム中のプロセッサ連鎖の例を示す図である。

Claims (83)

  1. 1つまたは複数のプロセッサとメモリとを有するプラットフォーム中で、同じタイプの基本情報(254、256、258、260、154、156、158、および160)からなるオブジェクト(255)を処理する方法であって、処理される前記オブジェクトを、N個の基本情報(254、256、258、154、156、158)からそれぞれなる少なくとも2つのサブオブジェクト(250、251、252、および253)に分解するステップを含み、すべてのサブオブジェクト(250、251、252、および253)は同じ数量Nの基本情報を有し、前記処理操作は、各サブオブジェクト(250、251、252、253)の前記基本情報に対して少なくとも1つの特有操作シーケンスを実施することにあり、さらに、各サブオブジェクトにつき各特有操作を少なくともN回実施するステップを含み、それにより、一方では、各サブオブジェクトの各基本情報が少なくとも1回適用され、他方では、各特有操作のN個の結果が生成され、前記特有操作のシーケンスは、前記シーケンスの少なくとも1つの特有操作(262)が、そのN回の適用(262a、262b、262c、262d、262e、262f)全体のうちで少なくとも1回、別のサブオブジェクトの処理に使用される結果(260、160)を生成するようなシーケンスである、方法。
  2. 前記オブジェクトは次元DOを含み、前記サブオブジェクトは、前記オブジェクトの次元DOから選択された次元DSOを含み、前記オブジェクトからサブオブジェクトへの前記分解は、前記サブオブジェクトの次元の少なくとも1つに従って前記サブオブジェクトがオーバーレイを有さないような分解である、請求項1に記載の方法。
  3. 前記プラットフォームは、サブオブジェクトの処理中に実施され別のサブオブジェクトの処理に使用される、基本情報および/または特有操作からの結果を記憶するために、少なくとも1つのオブジェクト間通信メモリを備える、前記請求項のうちの一項に記載の方法。
  4. 前記特有操作のシーケンスは、前記オブジェクトの処理中に同じデータを適用する1つの単一特有操作のみを含む、前記請求項のうちの一項に記載の方法。
  5. 前記オブジェクトは次元DOを含み、前記基本情報は、前記オブジェクトのDE次元に従って、次いで他の次元に従って前記プラットフォームに送出され、前記サブオブジェクトは、前記オブジェクトの次元DOから選択され前記DE次元を含む次元DSOを含み、前記処理はさらに、前記DE次元に従って実施される少なくとも1つの内部サブオブジェクトスクローリングループを含む、前記請求項のうちの一項に記載の方法。
  6. 前記オブジェクトは次元DOを含み、前記基本情報は、前記オブジェクトのDE次元に従って、次いで他の次元に従って前記プラットフォームに送出され、前記サブオブジェクトは前記オブジェクトの次元DOを含み、あるいは前記サブオブジェクトは、前記オブジェクトの次元DOから選択され前記DE次元を含まない次元DO−1を含み、前記処理はさらに、前記DE次元に従って実施される少なくとも1つの内部サブオブジェクトスクローリングループを含む、前記請求項のうちの一項に記載の方法。
  7. 各次元におけるサブオブジェクトのサイズは、前記オブジェクトのサイズ、ならびに/または、基本情報が前記プラットフォームに送出される送出速度、ならびに/または、前記プラットフォームの計算速度、ならびに/または、前記プラットフォームのメモリのうちの少なくとも1つのサイズおよび速度、に従って決定される、前記請求項のうちの一項に記載の方法。
  8. 前記特有操作の少なくとも一部分は、少なくとも1つのパラメータ値を適用し、同じ特有操作を同時に計算するQ個の計算ユニットによって実施され、前記特有操作のシーケンスは少なくとも1つの特有選択操作を含み、前記特有選択操作は、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って、計算ユニットごとに差別化された方式で、前記Q個の計算ユニット上で同時にC個のパラメータ値からパラメータ値を選択することを実施する、前記請求項のうちの一項に記載の方法。
  9. 特有操作の少なくとも一部分は、同じ特有操作を同時に計算するQ個の計算ユニットによって実施され、前記特有操作のシーケンスは少なくとも1つの特有選択操作を含み、前記特有選択操作は、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値から得られる相対変位に従って、計算ユニットごとに差別化された方式で、前記Q個の計算ユニット上で同時にデータCからデータ項目を選択することを実施する、前記請求項のうちの一項に記載の方法。
  10. 前記特有操作のシーケンスは少なくとも1つの特有位置操作を含み、前記オブジェクトは次元DOを含み、前記特有位置操作は、前記次元DOの1つに従った位置情報を生成する、前記請求項のうちの一項に記載の方法。
  11. 前記特有操作のシーケンスは、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って相対位置を生成する少なくとも1つの特有操作を含む、前記請求項のうちの一項に記載の方法。
  12. 特有操作の少なくとも一部分はQ個の計算ユニットによって実施され、QはNに等しいかまたはNの約数である、前記請求項のうちの一項に記載の方法。
  13. QとNとは異なり、サブオブジェクトの処理はN/Q個の反復の内部ループを1つだけ含む、請求項12に記載の方法。
  14. 前記Q個の計算ユニットは同一である、請求項12または13に記載の方法。
  15. 1つの同じ特有操作からのN個の結果は、1つの同じ計算ユニットによって計算される、前記請求項のうちの一項に記載の方法。
  16. 少なくとも1つの特有操作は少なくとも1つのパラメータを適用し、前記特有操作は、前記パラメータ値の一部を含むメモリユニットへのアクセスを有する少なくとも1つの計算ユニットによって実施され、前記一部は、前記計算ユニットによって実施される特有操作に従って決定される、前記請求項のうちの一項に記載の方法。
  17. 少なくとも1つの特有操作は少なくとも1つのパラメータを適用し、前記パラメータの値は、処理される前記オブジェクトにおける、前記サブオブジェクトおよび/または前記基本情報の位置に依存する、前記請求項のうちの一項に記載の方法。
  18. 前記特有操作は、連鎖された計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
  19. 前記特有操作は、1つの次元における連鎖に従って連鎖された計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
  20. 前記特有操作は、少なくとも1つの循環的連鎖に従って連鎖された計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
  21. 前記特有操作は、少なくとも1つの循環的連鎖に従って連鎖された計算ユニットによって実施され、前記循環的連鎖はさらに少なくとも1つの待ち行列を含む、前記請求項のうちの一項に記載の方法。
  22. 前記サブオブジェクトは次元DSOを含み、前記特有操作は、前記サブオブジェクトの各次元での少なくとも1つの循環的連鎖に従って連鎖された計算ユニットによって実施され、前記サブオブジェクトの各D1特有次元での前記循環的連鎖(1つまたは複数)はさらに、前記サブオブジェクトのD1特有次元での前記循環的連鎖(1つまたは複数)間で共有されるかまたは共有されない少なくとも1つの待ち行列を含む、前記請求項のうちの一項に記載の方法。
  23. 前記サブオブジェクトは次元DSOを含み、前記特有操作は、少なくとも1つのCC1循環的連鎖を用いて前記サブオブジェクトのDD所定次元の1つに従って連鎖された計算ユニットによって実施され、前記CC1循環的連鎖はさらに少なくとも1つの待ち行列を含み、さらに、少なくとも1つの特有命令に対し、前記特有命令が適用される度に、UC1計算ユニット上で実施された前記特有命令からの前記適用の結果を、前記連鎖に従って前記UC1計算ユニットに続くUC2計算ユニットまたは待ち行列に送出するステップを含む、前記請求項のうちの一項に記載の方法。
  24. 別のサブオブジェクトのサブ処理中に使用される特有操作からの結果を、前記サブオブジェクトとの関係における前記別のサブオブジェクトの相対位置に従って、メモリに共にグループ化して記憶するステップをさらに含む、前記請求項のうちの一項に記載の方法。
  25. 前記特有操作は、連鎖された計算ユニットによって実施され、前記計算ユニットの前記連鎖および前記シーケンスに従って前記特有操作を前記計算ユニットに割り当てるステップを含む、前記請求項のうちの一項に記載の方法。
  26. 特有操作の順序および/またはタイプを修正することができる、前記請求項のうちの一項に記載の方法。
  27. 前記特有操作は、少なくとも1つの所定の特有操作シーケンスに従ってケーブルされた計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
  28. 少なくとも1つの特有操作は、基本情報および/または特有操作からの結果を記憶するための限られた容量のメモリユニットが備わった少なくとも1つの計算ユニットによって実施され、前記メモリは、多くとも16個の基本情報および/または特有操作からの結果を含む、前記請求項のうちの一項に記載の方法。
  29. 少なくとも1つの特有操作は、他のサブオブジェクトからの少なくとも1つの基本情報および/または少なくとも1つの特有操作結果を含む通信メモリユニットへのアクセスを有する少なくとも1つの計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
  30. 前記通信メモリユニットは0.3*Nアクセス/サブオブジェクト/特有操作よりも低いアクセス速度を有する、請求項29に記載の方法。
  31. とりわけ前記処理プラットフォームが携帯電話機に統合された場合に使用され、Qの値は1に固定され、Nは2と16の間に含まれる、前記請求項のうちの一項に記載の方法。
  32. 少なくとも1つの特有操作は少なくとも2つの同一の計算ユニットによって同時に実施される、前記請求項のうちの一項に記載の方法。
  33. 前記特有操作からの結果の少なくとも一部分は、メモリ中で「ベースアドレス+オフセット」または「(ベースアドレス+オフセット)mod(バッファメモリのサイズ)」のフォーマットのアドレスに記憶され、前記オフセットは、1つの同じ特有操作からのすべての結果に対して一定である、前記請求項のうちの一項に記載の方法。
  34. 前記ベースアドレスは、前記サブオブジェクトが前記処理操作において変更される度に修正される、請求項33に記載の方法。
  35. 特有操作からの結果の少なくとも一部分は、メモリ中で、1つの同じ操作のすべての結果に対して事前に決定されたアドレスに記憶される、前記請求項のうちの一項に記載の方法。
  36. 前記特有操作は、少なくとも1つのレジスタユニットと少なくとも1つのサブオブジェクト通信メモリとが備わった少なくとも1つの計算ユニットによって実施され、前記処理プラットフォームのトランジスタの数は、前記通信メモリ中の関連レジスタユニットを含めて、1計算ユニット当たり10000個未満である、前記請求項のうちの一項に記載の方法。
  37. 前記プラットフォームには、汎用フォーマット化データから計算された特有フォーマット化データが、好ましくは直接的に提供され、前記汎用フォーマット化データは、少なくとも1つの汎用操作シーケンスを記述する第1のデータ項目を含み、特有フォーマット化データの前記計算は、前記プラットフォーム中の基本情報に関するスクローリングモードと、汎用操作からの特有操作とを反映して実施され、前記特有操作は、前記プラットフォーム中でのオブジェクトの処理中に前記オブジェクトに対して実施される特有操作のシーケンスを形成する、前記請求項のうちの一項に記載の方法。
  38. 処理される前記オブジェクトは画像であり、前記基本情報は前記画像のピクセルである、前記請求項のうちの一項に記載の方法。
  39. 前記処理プラットフォームは画像取込みおよび/またはレンダリングデバイスの一部であり、前記操作は、前記操作のシーケンスに、かつ/または前記処理プラットフォームに、かつ/または処理される前記オブジェクトに依存する値を有するパラメータを適用し、前記パラメータ値は、前記画像取込みおよび/またはレンダリングデバイスの、光学機構および/またはセンサおよび/またはイメージャおよび/または電子機構および/またはソフトウェアの特性にリンクされる、前記請求項のうちの一項に記載の方法。
  40. 処理される前記オブジェクトはディジタルオーディオ信号であり、前記基本情報は前記信号のオーディオサンプルである、請求項1から37のうちの一項に記載の方法。
  41. 処理される前記オブジェクトは数値メッシュであり、前記基本情報はメッシングの各点を特徴付ける空間および/または時間情報である、請求項1から37のうちの一項に記載の方法。
  42. 同じタイプの基本情報(54、56、58、60、154、156、158、および160)からなるオブジェクト(55)を処理することになっている、1つまたは複数のプロセッサとメモリとを有するプラットフォームであって、処理される前記オブジェクトを、N個の基本情報(54、56、58、154、156、158)からそれぞれなる少なくとも2つのサブオブジェクト(50、51、52、および53)に分解する手段であってすべてのサブオブジェクト(50、51、52、および53)が同じ数量Nの基本情報を有する手段と、各サブオブジェクトの基本情報(50、51、52、53)に対して少なくとも1つの特有操作シーケンスを実施する手段とを備え、前記処理手段は、各サブオブジェクトにつき各特有操作を少なくともN回実施する手段を備え、それにより、一方では、各サブオブジェクトの各基本情報が少なくとも1回適用され、他方では、各特有操作のN個の結果が生成され、
    前記処理手段は、前記特有操作のシーケンスの少なくとも1つの特有操作(62)が、そのN回の適用(62a、62b、62c、62d、62e、62f)の間に少なくとも1回、別のサブオブジェクトの処理に使用される結果(60、160)を生成するような処理手段である、プラットフォーム。
  43. 処理される前記オブジェクトは次元DOを含み、前記サブオブジェクトは、前記オブジェクトの次元DOから選択された次元DSOを含み、前記オブジェクトを分解する前記手段は、前記サブオブジェクトの次元の少なくとも1つに従って前記サブオブジェクトがオーバーレイを有さないような手段である、請求項42に記載のプラットフォーム。
  44. サブオブジェクトの処理中に実施され別のサブオブジェクトの処理に使用される、基本情報および/または特有操作からの結果を記憶するために、少なくとも1つのオブジェクト間通信メモリを備える、請求項42または43に記載のプラットフォーム。
  45. 前記オブジェクトの処理中に同じデータを適用する1つの単一特有操作のみを含む特有操作のシーケンスを実施する手段を備える、請求項42から44のうちの一項に記載のプラットフォーム。
  46. 前記オブジェクトは次元DOを含み、基本情報は、前記オブジェクトのDE次元に従って、次いで他の次元に従って受け取られ、前記サブオブジェクトは、前記オブジェクトの次元DOから選択され前記DE次元を含む次元DSOを含み、前記処理操作に含まれる内部サブオブジェクトスクローリングループは前記DE次元に従って実施される、請求項42から45のうちの一項に記載のプラットフォーム。
  47. 前記オブジェクトは次元DOを含み、基本情報は、前記オブジェクトのDE次元に従って、次いで他の次元に従って受け取られ、前記サブオブジェクトは、前記オブジェクトの次元DOを含むか、または前記オブジェクトの次元DOから選択され前記DE次元が含まれない次元DO−1を含み、前記処理操作に含まれる内部サブオブジェクトスクローリングループは前記DE次元に従って実施される、請求項42から46のうちの一項に記載のプラットフォーム。
  48. 処理される前記オブジェクトを分解する前記手段は、各次元におけるサブオブジェクトのサイズが、前記オブジェクトのサイズ、ならびに/または、基本情報が前記プラットフォームによって受け取られる速度、ならびに/または、前記プラットフォームの計算速度、ならびに/または、前記プラットフォームのメモリのうちの少なくとも1つのサイズおよび速度、に従って決定されるような手段である、請求項42から47のうちの一項に記載のプラットフォーム。
  49. 前記特有操作の少なくとも一部分が少なくとも1つのパラメータ値を適用する場合、同じ特有操作を同時に計算するQ個の計算ユニットを備え、さらに、少なくとも1つの特有選択操作を含む少なくとも1つの特有操作シーケンスを実施する手段を備え、前記特有選択操作は、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って、プロセッサごとに差別化された方式で、前記Q個の計算ユニット上で同時にパラメータ値Cからパラメータ値を選択することを実施する、請求項42から48のうちの一項に記載のプラットフォーム。
  50. 同じ特有操作を同時に計算するQ個の計算ユニットを備え、さらに、少なくとも1つの特有選択操作を含む少なくとも1つの特有操作シーケンスを実施する手段を備え、前記特有選択操作は、少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って、プロセッサごとに差別化された方式で、前記Q個の計算ユニット上で同時にデータCからデータを選択することを実施する、請求項42から49のうちの一項に記載のプラットフォーム。
  51. 少なくとも1つの特有位置操作を含む特有操作のシーケンスを実施する手段を備え、前記オブジェクトは次元DOを含み、前記特有位置操作は、前記次元DOの1つに従った位置情報を生成する、請求項42から50のうちの一項に記載のプラットフォーム。
  52. 少なくとも1つの基本情報および/または少なくとも1つの特有操作結果および/または少なくとも1つのパラメータ値に従って相対位置を生成する少なくとも1つの特有操作を含む特有操作のシーケンスを実施する手段を備える、請求項42から51のうちの一項に記載のプラットフォーム。
  53. 特有操作の少なくとも一部分を実施するためのQ個の計算ユニットを備え、QはNに等しいかまたはNの約数である、請求項42から52のうちの一項に記載のプラットフォーム。
  54. Q個の計算ユニットの数はNとは異なり、前記サブオブジェクトの処理はN/Q個の反復の内部ループを1つだけ含む、請求項53に記載のプラットフォーム。
  55. 前記Q個の計算ユニットは同一である、請求項53または54に記載のプラットフォーム。
  56. 1つの同じ特有操作からのN個の結果が、1つの同じ計算ユニットによって計算されるような手段を備える、請求項42から55のうちの一項に記載のプラットフォーム。
  57. −少なくとも1つの特有操作が少なくとも1つのパラメータを適用するとき、前記特有操作を実施する手段と、
    −前記パラメータ値の一部を含むメモリユニットへのアクセスを有する計算ユニットとを備え、前記一部は、前記計算ユニットによって実施される特有操作に従って決定される、請求項42から56のうちの一項に記載のプラットフォーム。
  58. 少なくとも1つの特有操作が少なくとも1つのパラメータを適用するとき、前記パラメータの値が、処理される前記オブジェクトにおける、前記サブオブジェクトおよび/または前記基本情報の位置に依存するような手段を備える、請求項42から57のうちの一項に記載のプラットフォーム。
  59. 連鎖された計算ユニットを備える、請求項42から58のうちの一項に記載のプラットフォーム。
  60. 1つの次元における連鎖に従って連鎖された計算ユニットを備える、請求項42から59のうちの一項に記載のプラットフォーム。
  61. 少なくとも1つの循環的連鎖に従って連鎖された計算ユニットを備える、請求項42から60のうちの一項に記載のプラットフォーム。
  62. 少なくとも1つの循環的連鎖に従って連鎖された計算ユニットを備え、前記循環的連鎖は少なくとも1つの待ち行列も含む、請求項42から61のうちの一項に記載のプラットフォーム。
  63. 前記サブオブジェクトの各次元での少なくとも1つの循環的連鎖に従って連鎖された計算ユニットを備え、前記サブオブジェクトは次元DSOを含み、前記サブオブジェクトの各D1特有次元での前記循環的連鎖(1つまたは複数)はさらに、前記サブオブジェクトのD1特有次元での前記循環的連鎖(1つまたは複数)間で共有されるかまたは共有されない少なくとも1つの待ち行列を含む、請求項42から62のうちの一項に記載のプラットフォーム。
  64. 循環的連鎖CC1を用いて前記サブオブジェクトのDD所定次元の少なくとも1つに従って連鎖された計算ユニットを備え、前記循環的連鎖はさらに少なくとも1つの待ち行列を含み、特有命令が適用される度に、第1のUC1計算ユニット中での前記適用の結果が、前記連鎖に従って前記第1のUC1計算ユニットに続くUC2計算ユニットまたは待ち行列に送出される、請求項42から63のうちの一項に記載のプラットフォーム。
  65. 別のサブオブジェクトのサブ処理中に使用される特有操作からの結果を、前記サブオブジェクトとの関係における前記別のサブオブジェクトの相対位置に従って記憶するための少なくとも1つのメモリを備える、請求項42から64のうちの一項に記載のプラットフォーム。
  66. 少なくとも1つの循環的連鎖に従って連鎖された計算ユニットと、計算ユニットの前記連鎖および前記シーケンスに従って前記特有操作を前記計算ユニットに割り当てる手段とを備える、請求項42から65のうちの一項に記載のプラットフォーム。
  67. 特有操作の順序および/またはタイプを修正することができるような手段を備える、請求項42から66のうちの一項に記載のプラットフォーム。
  68. 少なくとも1つの所定の特有操作シーケンスに従って前記特有操作を実施するためのケーブルされた計算ユニットを備える、請求項42から67のうちの一項に記載のプラットフォーム。
  69. 基本情報および/または特有操作からの結果を記憶するための限られた容量のメモリユニットが備わった少なくとも1つの計算ユニットを備え、前記メモリは少なくとも16個の基本情報および/または特有操作からの結果を含む、請求項42から68のうちの一項に記載のプラットフォーム。
  70. 他のサブオブジェクトからくる少なくとも1つの基本情報および/または特有操作からの少なくとも1つの結果を含む通信メモリへのアクセスを有する少なくとも1つの計算ユニットを備える、請求項42から69のうちの一項に記載のプラットフォーム。
  71. 通信メモリユニットは0.3*Nアクセス/サブオブジェクト/特有操作よりも低いアクセス速度を有する、請求項70に記載のプラットフォーム。
  72. とりわけ携帯電話機に統合され、Qの値が1に固定されNの値が2と16の間に含まれるような手段を備える、請求項42から71のうちの一項に記載のプラットフォーム。
  73. 少なくとも1つの同じ特有操作を同時に実施する少なくとも2つの同一の計算ユニットを備える、請求項42から72のうちの一項に記載のプラットフォーム。
  74. 特有操作からの結果の少なくとも一部分がメモリ中で「ベースアドレス+オフセット」または「ベースアドレス+modオフセット(バッファメモリのサイズ)」のフォーマットのアドレスに記憶されるような手段を備え、前記オフセットは、1つの同じ特有操作のすべての結果に対して一定である、請求項42から73のうちの一項に記載のプラットフォーム。
  75. 前記サブオブジェクトが前記処理操作において変更される度に前記ベースアドレスを変更する手段を備える、請求項74に記載のプラットフォーム。
  76. 特有操作の結果の少なくとも一部分が、メモリ中で、1つの同じ操作からのすべての結果に対して事前に決定されたアドレスに記憶されるような手段を備える、請求項42から75のうちの一項に記載のプラットフォーム。
  77. 少なくとも1つのレジスタユニットと少なくとも1つの通信メモリとが備わった少なくとも1つの計算ユニットを備え、トランジスタの数は、通信メモリなしの関連レジスタユニットを含めて、1計算ユニット当たり10000個未満である、請求項42から76のうちの一項に記載のプラットフォーム。
  78. 汎用フォーマット化データから計算された特有フォーマット化データを、入力上で好ましくは直接的に受け取る手段を備え、前記汎用フォーマット化データは、少なくとも1つの汎用操作シーケンスを記述する第1のデータを含み、特有フォーマット化データの前記計算は、前記プラットフォーム中の基本情報に関するスクローリングモードと、汎用操作からの特有操作とを反映して実施され、前記特有操作は特有操作のシーケンスを形成し、前記特有操作のシーケンスをオブジェクトに対して実施する手段を備える、請求項42から77のうちの一項に記載のプラットフォーム。
  79. 画像で構成されるオブジェクトを処理する手段を備え、前記基本情報は前記画像のピクセルである、請求項42から78のうちの一項に記載のプラットフォーム。
  80. 画像取込みおよび/またはレンダリングデバイスの一部であり、前記操作は、操作のシーケンスに、かつ/または前記プラットフォームに、かつ/または処理される前記オブジェクトに依存する値を有するパラメータを適用し、前記パラメータ値は、前記画像取込みおよび/またはレンダリングデバイスの、光学機構および/またはセンサおよび/またはイメージャおよび/または電子機構および/またはソフトウェアの特性にリンクされる、請求項42から79のうちの一項に記載のプラットフォーム。
  81. ディジタルオーディオ信号で構成されるオブジェクトを処理する手段を備え、前記基本情報が前記信号のオーディオサンプルである、請求項42から80のうちの一項に記載のプラットフォーム。
  82. 数値メッシュで構成されるオブジェクトを処理する手段を備え、前記基本情報がメッシングの各点を特徴付ける空間および時間情報である、請求項2から81のうちの一項に記載のプラットフォーム。
  83. 請求項1から41のうちの一項による処理方法で処理されるオブジェクト。
JP2008545068A 2005-12-19 2006-12-19 プラットフォームおよびこのプラットフォームを用いた処理方法 Expired - Fee Related JP5025658B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0553945 2005-12-19
FR0553945A FR2895102B1 (fr) 2005-12-19 2005-12-19 Procede pour traiter un objet dans une plateforme a processeur(s) et memoire(s) et plateforme utilisant le procede
PCT/FR2006/051390 WO2007071884A2 (fr) 2005-12-19 2006-12-19 Procede pour traiter un objet dans une plateforme a processeur(s) et memoire(s) et plateforme utilisant le procede

Publications (2)

Publication Number Publication Date
JP2009524123A true JP2009524123A (ja) 2009-06-25
JP5025658B2 JP5025658B2 (ja) 2012-09-12

Family

ID=37307163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008545068A Expired - Fee Related JP5025658B2 (ja) 2005-12-19 2006-12-19 プラットフォームおよびこのプラットフォームを用いた処理方法

Country Status (7)

Country Link
US (1) US8412725B2 (ja)
EP (1) EP1964053A2 (ja)
JP (1) JP5025658B2 (ja)
KR (1) KR101391498B1 (ja)
CN (1) CN101375311A (ja)
FR (1) FR2895102B1 (ja)
WO (1) WO2007071884A2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60227374D1 (de) * 2001-07-12 2008-08-14 Do Labs Verfahren und System zur Bereitstellung formatierter Informationen für Bildverarbeitungsvorrichtungen
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US8755515B1 (en) 2008-09-29 2014-06-17 Wai Wu Parallel signal processing system and method
MY155432A (en) 2010-03-18 2015-10-15 Nuodb Inc Database management system
US20150070138A1 (en) * 2012-07-06 2015-03-12 Alan Haddy Detection of buried assets using current location and known buffer zones
US9501363B1 (en) 2013-03-15 2016-11-22 Nuodb, Inc. Distributed database management system with node failure detection
US11176111B2 (en) 2013-03-15 2021-11-16 Nuodb, Inc. Distributed database management system with dynamically split B-tree indexes
US10740323B1 (en) 2013-03-15 2020-08-11 Nuodb, Inc. Global uniqueness checking in distributed databases
US10037348B2 (en) 2013-04-08 2018-07-31 Nuodb, Inc. Database management system with database hibernation and bursting
US10255547B2 (en) 2014-12-04 2019-04-09 Nvidia Corporation Indirectly accessing sample data to perform multi-convolution operations in a parallel processing system
US10884869B2 (en) 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
US10067969B2 (en) 2015-05-29 2018-09-04 Nuodb, Inc. Table partitioning within distributed database systems
US11573940B2 (en) 2017-08-15 2023-02-07 Nuodb, Inc. Index splitting in distributed databases

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06222978A (ja) * 1993-01-22 1994-08-12 Matsushita Electric Ind Co Ltd データ分配回路
JPH06309349A (ja) * 1993-04-26 1994-11-04 Matsushita Electric Ind Co Ltd プログラム制御のプロセッサ
WO1999052040A1 (en) * 1998-04-08 1999-10-14 Stellar Technologies, Ltd. Architecture for graphics processing
US20030151608A1 (en) * 2002-01-17 2003-08-14 Chung Chris Yoochang Programmable 3D graphics pipeline for multimedia applications
WO2005064537A1 (en) * 2003-12-22 2005-07-14 Koninklijke Philips Electronics N.V. System for generating a distributed image processing application

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4839801A (en) * 1986-11-03 1989-06-13 Saxpy Computer Corporation Architecture for block processing computer system
US4939642A (en) * 1989-02-01 1990-07-03 The Board Of Trustees Of The Leland Stanford Jr. University Virtual bit map processor
DE69421103T2 (de) * 1993-01-22 2000-06-08 Matsushita Electric Industrial Co., Ltd. Programmgesteuertes Prozessor
DE60227374D1 (de) 2001-07-12 2008-08-14 Do Labs Verfahren und System zur Bereitstellung formatierter Informationen für Bildverarbeitungsvorrichtungen
FR2827459B1 (fr) * 2001-07-12 2004-10-29 Poseidon Procede et systeme pour fournir a des logiciels de traitement d'image des informations formatees liees aux caracteristiques des appareils de capture d'image et/ou des moyens de restitution d'image
EP1412918B1 (fr) * 2001-07-12 2007-02-21 DO Labs Procede et systeme pour produire des informations formatees liees aux distorsions geometriques
US6980980B1 (en) * 2002-01-16 2005-12-27 Microsoft Corporation Summary-detail cube architecture using horizontal partitioning of dimensions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06222978A (ja) * 1993-01-22 1994-08-12 Matsushita Electric Ind Co Ltd データ分配回路
JPH06309349A (ja) * 1993-04-26 1994-11-04 Matsushita Electric Ind Co Ltd プログラム制御のプロセッサ
WO1999052040A1 (en) * 1998-04-08 1999-10-14 Stellar Technologies, Ltd. Architecture for graphics processing
US20030151608A1 (en) * 2002-01-17 2003-08-14 Chung Chris Yoochang Programmable 3D graphics pipeline for multimedia applications
WO2005064537A1 (en) * 2003-12-22 2005-07-14 Koninklijke Philips Electronics N.V. System for generating a distributed image processing application
JP2007515731A (ja) * 2003-12-22 2007-06-14 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 分散画像処理アプリケーションを生成するシステム

Also Published As

Publication number Publication date
KR20080080398A (ko) 2008-09-03
CN101375311A (zh) 2009-02-25
FR2895102B1 (fr) 2012-12-07
JP5025658B2 (ja) 2012-09-12
WO2007071884A2 (fr) 2007-06-28
KR101391498B1 (ko) 2014-05-07
WO2007071884A3 (fr) 2007-08-16
US20080320038A1 (en) 2008-12-25
EP1964053A2 (fr) 2008-09-03
FR2895102A1 (fr) 2007-06-22
US8412725B2 (en) 2013-04-02

Similar Documents

Publication Publication Date Title
JP5025658B2 (ja) プラットフォームおよびこのプラットフォームを用いた処理方法
JP6085405B2 (ja) ディジタルデータ処理のための方法およびシステム
JP4144292B2 (ja) 画像処理装置と画像処理システム及び画像処理方法
US10754657B1 (en) Computer vision processing in hardware data paths
CN110648348B (zh) 基于neqr表达的量子图像分割方法
JP6388865B2 (ja) 相互関係のある二次元データセットを効率的かつ高速に処理するプロセッサ、システム、および方法
EP2997539B1 (en) Method and device for processing input image data
OA10382A (en) Apparatus and method for decoding video images
KR101391569B1 (ko) 디지털 처리 수단에 데이터를 제공하는 방법
JP2002171401A (ja) 間引き演算命令を備えたsimd型演算装置
WO2021127628A1 (en) Noise synthesis for digital images
US5555321A (en) Image data binary coding method and apparatus
US6938105B2 (en) Data apparatus and method having DMA circuitry to efficiently transfer multivalued bit-plane data
US20150262325A1 (en) Device for image decomposition using a wavelet transform
JP2010033507A (ja) メモリコントローラおよび画像処理装置
JP2790911B2 (ja) 直交変換演算装置
JPS63102467A (ja) 画像デ−タ解像度変換装置
TW202437762A (zh) 在圖形處理單元上寫碼視訊資料
JP2002108843A (ja) 離散コサイン変換・逆離散コサイン変換手法及びその装置
JP2002171412A (ja) X分木命令を備えるsimd型情報処理装置
WO2024157025A1 (en) Coding video data on a gpu
CN118229511A (zh) 一种适用DSP的小图像remap优化方法、系统、设备及介质
CN118798274A (zh) 一种面向dsp的多通道卷积优化方法及系统
JPH0481919B2 (ja)
JPH05336381A (ja) 符号化方法および符号化装置ならびに復号化方法および復号化装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120508

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: 20120529

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120619

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

Free format text: PAYMENT UNTIL: 20150629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5025658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees