(57)【要約】  本発明は、１つまたは複数のプロセッサとメモリとを有するプラットフォーム中で、同じタイプの基本情報（２５４、２５６、２５８、２６０、１５４、１５６、１５８、１６０）からなるオブジェクト（５５）を処理する方法に関し、本方法は、処理されるオブジェクト（２５５）を、Ｎ個の基本情報（２５４、２５６、２５８、１５４、１５６、１５８）からそれぞれなる少なくとも２つのサブオブジェクト（２５０、２５１、２５２、および２５３）に分解するステップを含み、すべてのサブオブジェクト（２５０、２５１、２５２、および２５３）は同じ数量Ｎの基本情報を有し、処理操作は、各サブオブジェクトの基本情報に対して少なくとも１つの特有操作シーケンスを実施することにあり、本方法はさらに、各サブオブジェクトにつき各特有操作を少なくともＮ回実施するステップを含み、それにより、一方では、各サブオブジェクト（２５０、２５１、２５２、および２５３）の各基本情報が少なくとも１回適用され、他方では、各特有操作につきＮ個の結果（２６４）が生成され、特有操作のシーケンスは、シーケンスの少なくとも１つの特有操作（２６２）が、そのＮ回の適用（２６２ａ、２６２ｂ、２６２ｃ、２６２ｄ、２６２ｅ、および２６２ｆ）の間に少なくとも１回、別のサブオブジェクトの処理に使用される結果（２６０、１６０）を生成するようなシーケンスである。
2009524123.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のプロセッサとメモリとを有するプラットフォーム中で、同じタイプの基本情報（２５４、２５６、２５８、２６０、１５４、１５６、１５８、および１６０）からなるオブジェクト（２５５）を処理する方法であって、処理される前記オブジェクトを、Ｎ個の基本情報（２５４、２５６、２５８、１５４、１５６、１５８）からそれぞれなる少なくとも２つのサブオブジェクト（２５０、２５１、２５２、および２５３）に分解するステップを含み、すべてのサブオブジェクト（２５０、２５１、２５２、および２５３）は同じ数量Ｎの基本情報を有し、前記処理操作は、各サブオブジェクト（２５０、２５１、２５２、２５３）の前記基本情報に対して少なくとも１つの特有操作シーケンスを実施することにあり、さらに、各サブオブジェクトにつき各特有操作を少なくともＮ回実施するステップを含み、それにより、一方では、各サブオブジェクトの各基本情報が少なくとも１回適用され、他方では、各特有操作のＮ個の結果が生成され、前記特有操作のシーケンスは、前記シーケンスの少なくとも１つの特有操作（２６２）が、そのＮ回の適用（２６２ａ、２６２ｂ、２６２ｃ、２６２ｄ、２６２ｅ、２６２ｆ）全体のうちで少なくとも１回、別のサブオブジェクトの処理に使用される結果（２６０、１６０）を生成するようなシーケンスである、方法。
【請求項２】
前記オブジェクトは次元ＤＯを含み、前記サブオブジェクトは、前記オブジェクトの次元ＤＯから選択された次元ＤＳＯを含み、前記オブジェクトからサブオブジェクトへの前記分解は、前記サブオブジェクトの次元の少なくとも１つに従って前記サブオブジェクトがオーバーレイを有さないような分解である、請求項１に記載の方法。
【請求項３】
前記プラットフォームは、サブオブジェクトの処理中に実施され別のサブオブジェクトの処理に使用される、基本情報および／または特有操作からの結果を記憶するために、少なくとも１つのオブジェクト間通信メモリを備える、前記請求項のうちの一項に記載の方法。
【請求項４】
前記特有操作のシーケンスは、前記オブジェクトの処理中に同じデータを適用する１つの単一特有操作のみを含む、前記請求項のうちの一項に記載の方法。
【請求項５】
前記オブジェクトは次元ＤＯを含み、前記基本情報は、前記オブジェクトのＤＥ次元に従って、次いで他の次元に従って前記プラットフォームに送出され、前記サブオブジェクトは、前記オブジェクトの次元ＤＯから選択され前記ＤＥ次元を含む次元ＤＳＯを含み、前記処理はさらに、前記ＤＥ次元に従って実施される少なくとも１つの内部サブオブジェクトスクローリングループを含む、前記請求項のうちの一項に記載の方法。
【請求項６】
前記オブジェクトは次元ＤＯを含み、前記基本情報は、前記オブジェクトのＤＥ次元に従って、次いで他の次元に従って前記プラットフォームに送出され、前記サブオブジェクトは前記オブジェクトの次元ＤＯを含み、あるいは前記サブオブジェクトは、前記オブジェクトの次元ＤＯから選択され前記ＤＥ次元を含まない次元ＤＯ−１を含み、前記処理はさらに、前記ＤＥ次元に従って実施される少なくとも１つの内部サブオブジェクトスクローリングループを含む、前記請求項のうちの一項に記載の方法。
【請求項７】
各次元におけるサブオブジェクトのサイズは、前記オブジェクトのサイズ、ならびに／または、基本情報が前記プラットフォームに送出される送出速度、ならびに／または、前記プラットフォームの計算速度、ならびに／または、前記プラットフォームのメモリのうちの少なくとも１つのサイズおよび速度、に従って決定される、前記請求項のうちの一項に記載の方法。
【請求項８】
前記特有操作の少なくとも一部分は、少なくとも１つのパラメータ値を適用し、同じ特有操作を同時に計算するＱ個の計算ユニットによって実施され、前記特有操作のシーケンスは少なくとも１つの特有選択操作を含み、前記特有選択操作は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って、計算ユニットごとに差別化された方式で、前記Ｑ個の計算ユニット上で同時にＣ個のパラメータ値からパラメータ値を選択することを実施する、前記請求項のうちの一項に記載の方法。
【請求項９】
特有操作の少なくとも一部分は、同じ特有操作を同時に計算するＱ個の計算ユニットによって実施され、前記特有操作のシーケンスは少なくとも１つの特有選択操作を含み、前記特有選択操作は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値から得られる相対変位に従って、計算ユニットごとに差別化された方式で、前記Ｑ個の計算ユニット上で同時にデータＣからデータ項目を選択することを実施する、前記請求項のうちの一項に記載の方法。
【請求項１０】
前記特有操作のシーケンスは少なくとも１つの特有位置操作を含み、前記オブジェクトは次元ＤＯを含み、前記特有位置操作は、前記次元ＤＯの１つに従った位置情報を生成する、前記請求項のうちの一項に記載の方法。
【請求項１１】
前記特有操作のシーケンスは、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って相対位置を生成する少なくとも１つの特有操作を含む、前記請求項のうちの一項に記載の方法。
【請求項１２】
特有操作の少なくとも一部分はＱ個の計算ユニットによって実施され、ＱはＮに等しいかまたはＮの約数である、前記請求項のうちの一項に記載の方法。
【請求項１３】
ＱとＮとは異なり、サブオブジェクトの処理はＮ／Ｑ個の反復の内部ループを１つだけ含む、請求項１２に記載の方法。
【請求項１４】
前記Ｑ個の計算ユニットは同一である、請求項１２または１３に記載の方法。
【請求項１５】
１つの同じ特有操作からのＮ個の結果は、１つの同じ計算ユニットによって計算される、前記請求項のうちの一項に記載の方法。
【請求項１６】
少なくとも１つの特有操作は少なくとも１つのパラメータを適用し、前記特有操作は、前記パラメータ値の一部を含むメモリユニットへのアクセスを有する少なくとも１つの計算ユニットによって実施され、前記一部は、前記計算ユニットによって実施される特有操作に従って決定される、前記請求項のうちの一項に記載の方法。
【請求項１７】
少なくとも１つの特有操作は少なくとも１つのパラメータを適用し、前記パラメータの値は、処理される前記オブジェクトにおける、前記サブオブジェクトおよび／または前記基本情報の位置に依存する、前記請求項のうちの一項に記載の方法。
【請求項１８】
前記特有操作は、連鎖された計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
【請求項１９】
前記特有操作は、１つの次元における連鎖に従って連鎖された計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
【請求項２０】
前記特有操作は、少なくとも１つの循環的連鎖に従って連鎖された計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
【請求項２１】
前記特有操作は、少なくとも１つの循環的連鎖に従って連鎖された計算ユニットによって実施され、前記循環的連鎖はさらに少なくとも１つの待ち行列を含む、前記請求項のうちの一項に記載の方法。
【請求項２２】
前記サブオブジェクトは次元ＤＳＯを含み、前記特有操作は、前記サブオブジェクトの各次元での少なくとも１つの循環的連鎖に従って連鎖された計算ユニットによって実施され、前記サブオブジェクトの各Ｄ１特有次元での前記循環的連鎖（１つまたは複数）はさらに、前記サブオブジェクトのＤ１特有次元での前記循環的連鎖（１つまたは複数）間で共有されるかまたは共有されない少なくとも１つの待ち行列を含む、前記請求項のうちの一項に記載の方法。
【請求項２３】
前記サブオブジェクトは次元ＤＳＯを含み、前記特有操作は、少なくとも１つのＣＣ１循環的連鎖を用いて前記サブオブジェクトのＤＤ所定次元の１つに従って連鎖された計算ユニットによって実施され、前記ＣＣ１循環的連鎖はさらに少なくとも１つの待ち行列を含み、さらに、少なくとも１つの特有命令に対し、前記特有命令が適用される度に、ＵＣ１計算ユニット上で実施された前記特有命令からの前記適用の結果を、前記連鎖に従って前記ＵＣ１計算ユニットに続くＵＣ２計算ユニットまたは待ち行列に送出するステップを含む、前記請求項のうちの一項に記載の方法。
【請求項２４】
別のサブオブジェクトのサブ処理中に使用される特有操作からの結果を、前記サブオブジェクトとの関係における前記別のサブオブジェクトの相対位置に従って、メモリに共にグループ化して記憶するステップをさらに含む、前記請求項のうちの一項に記載の方法。
【請求項２５】
前記特有操作は、連鎖された計算ユニットによって実施され、前記計算ユニットの前記連鎖および前記シーケンスに従って前記特有操作を前記計算ユニットに割り当てるステップを含む、前記請求項のうちの一項に記載の方法。
【請求項２６】
特有操作の順序および／またはタイプを修正することができる、前記請求項のうちの一項に記載の方法。
【請求項２７】
前記特有操作は、少なくとも１つの所定の特有操作シーケンスに従ってケーブルされた計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
【請求項２８】
少なくとも１つの特有操作は、基本情報および／または特有操作からの結果を記憶するための限られた容量のメモリユニットが備わった少なくとも１つの計算ユニットによって実施され、前記メモリは、多くとも１６個の基本情報および／または特有操作からの結果を含む、前記請求項のうちの一項に記載の方法。
【請求項２９】
少なくとも１つの特有操作は、他のサブオブジェクトからの少なくとも１つの基本情報および／または少なくとも１つの特有操作結果を含む通信メモリユニットへのアクセスを有する少なくとも１つの計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
【請求項３０】
前記通信メモリユニットは０．３＊Ｎアクセス／サブオブジェクト／特有操作よりも低いアクセス速度を有する、請求項２９に記載の方法。
【請求項３１】
とりわけ前記処理プラットフォームが携帯電話機に統合された場合に使用され、Ｑの値は１に固定され、Ｎは２と１６の間に含まれる、前記請求項のうちの一項に記載の方法。
【請求項３２】
少なくとも１つの特有操作は少なくとも２つの同一の計算ユニットによって同時に実施される、前記請求項のうちの一項に記載の方法。
【請求項３３】
前記特有操作からの結果の少なくとも一部分は、メモリ中で「ベースアドレス＋オフセット」または「（ベースアドレス＋オフセット）ｍｏｄ（バッファメモリのサイズ）」のフォーマットのアドレスに記憶され、前記オフセットは、１つの同じ特有操作からのすべての結果に対して一定である、前記請求項のうちの一項に記載の方法。
【請求項３４】
前記ベースアドレスは、前記サブオブジェクトが前記処理操作において変更される度に修正される、請求項３３に記載の方法。
【請求項３５】
特有操作からの結果の少なくとも一部分は、メモリ中で、１つの同じ操作のすべての結果に対して事前に決定されたアドレスに記憶される、前記請求項のうちの一項に記載の方法。
【請求項３６】
前記特有操作は、少なくとも１つのレジスタユニットと少なくとも１つのサブオブジェクト通信メモリとが備わった少なくとも１つの計算ユニットによって実施され、前記処理プラットフォームのトランジスタの数は、前記通信メモリ中の関連レジスタユニットを含めて、１計算ユニット当たり１００００個未満である、前記請求項のうちの一項に記載の方法。
【請求項３７】
前記プラットフォームには、汎用フォーマット化データから計算された特有フォーマット化データが、好ましくは直接的に提供され、前記汎用フォーマット化データは、少なくとも１つの汎用操作シーケンスを記述する第１のデータ項目を含み、特有フォーマット化データの前記計算は、前記プラットフォーム中の基本情報に関するスクローリングモードと、汎用操作からの特有操作とを反映して実施され、前記特有操作は、前記プラットフォーム中でのオブジェクトの処理中に前記オブジェクトに対して実施される特有操作のシーケンスを形成する、前記請求項のうちの一項に記載の方法。
【請求項３８】
処理される前記オブジェクトは画像であり、前記基本情報は前記画像のピクセルである、前記請求項のうちの一項に記載の方法。
【請求項３９】
前記処理プラットフォームは画像取込みおよび／またはレンダリングデバイスの一部であり、前記操作は、前記操作のシーケンスに、かつ／または前記処理プラットフォームに、かつ／または処理される前記オブジェクトに依存する値を有するパラメータを適用し、前記パラメータ値は、前記画像取込みおよび／またはレンダリングデバイスの、光学機構および／またはセンサおよび／またはイメージャおよび／または電子機構および／またはソフトウェアの特性にリンクされる、前記請求項のうちの一項に記載の方法。
【請求項４０】
処理される前記オブジェクトはディジタルオーディオ信号であり、前記基本情報は前記信号のオーディオサンプルである、請求項１から３７のうちの一項に記載の方法。
【請求項４１】
処理される前記オブジェクトは数値メッシュであり、前記基本情報はメッシングの各点を特徴付ける空間および／または時間情報である、請求項１から３７のうちの一項に記載の方法。
【請求項４２】
同じタイプの基本情報（５４、５６、５８、６０、１５４、１５６、１５８、および１６０）からなるオブジェクト（５５）を処理することになっている、１つまたは複数のプロセッサとメモリとを有するプラットフォームであって、処理される前記オブジェクトを、Ｎ個の基本情報（５４、５６、５８、１５４、１５６、１５８）からそれぞれなる少なくとも２つのサブオブジェクト（５０、５１、５２、および５３）に分解する手段であってすべてのサブオブジェクト（５０、５１、５２、および５３）が同じ数量Ｎの基本情報を有する手段と、各サブオブジェクトの基本情報（５０、５１、５２、５３）に対して少なくとも１つの特有操作シーケンスを実施する手段とを備え、前記処理手段は、各サブオブジェクトにつき各特有操作を少なくともＮ回実施する手段を備え、それにより、一方では、各サブオブジェクトの各基本情報が少なくとも１回適用され、他方では、各特有操作のＮ個の結果が生成され、
前記処理手段は、前記特有操作のシーケンスの少なくとも１つの特有操作（６２）が、そのＮ回の適用（６２ａ、６２ｂ、６２ｃ、６２ｄ、６２ｅ、６２ｆ）の間に少なくとも１回、別のサブオブジェクトの処理に使用される結果（６０、１６０）を生成するような処理手段である、プラットフォーム。
【請求項４３】
処理される前記オブジェクトは次元ＤＯを含み、前記サブオブジェクトは、前記オブジェクトの次元ＤＯから選択された次元ＤＳＯを含み、前記オブジェクトを分解する前記手段は、前記サブオブジェクトの次元の少なくとも１つに従って前記サブオブジェクトがオーバーレイを有さないような手段である、請求項４２に記載のプラットフォーム。
【請求項４４】
サブオブジェクトの処理中に実施され別のサブオブジェクトの処理に使用される、基本情報および／または特有操作からの結果を記憶するために、少なくとも１つのオブジェクト間通信メモリを備える、請求項４２または４３に記載のプラットフォーム。
【請求項４５】
前記オブジェクトの処理中に同じデータを適用する１つの単一特有操作のみを含む特有操作のシーケンスを実施する手段を備える、請求項４２から４４のうちの一項に記載のプラットフォーム。
【請求項４６】
前記オブジェクトは次元ＤＯを含み、基本情報は、前記オブジェクトのＤＥ次元に従って、次いで他の次元に従って受け取られ、前記サブオブジェクトは、前記オブジェクトの次元ＤＯから選択され前記ＤＥ次元を含む次元ＤＳＯを含み、前記処理操作に含まれる内部サブオブジェクトスクローリングループは前記ＤＥ次元に従って実施される、請求項４２から４５のうちの一項に記載のプラットフォーム。
【請求項４７】
前記オブジェクトは次元ＤＯを含み、基本情報は、前記オブジェクトのＤＥ次元に従って、次いで他の次元に従って受け取られ、前記サブオブジェクトは、前記オブジェクトの次元ＤＯを含むか、または前記オブジェクトの次元ＤＯから選択され前記ＤＥ次元が含まれない次元ＤＯ−１を含み、前記処理操作に含まれる内部サブオブジェクトスクローリングループは前記ＤＥ次元に従って実施される、請求項４２から４６のうちの一項に記載のプラットフォーム。
【請求項４８】
処理される前記オブジェクトを分解する前記手段は、各次元におけるサブオブジェクトのサイズが、前記オブジェクトのサイズ、ならびに／または、基本情報が前記プラットフォームによって受け取られる速度、ならびに／または、前記プラットフォームの計算速度、ならびに／または、前記プラットフォームのメモリのうちの少なくとも１つのサイズおよび速度、に従って決定されるような手段である、請求項４２から４７のうちの一項に記載のプラットフォーム。
【請求項４９】
前記特有操作の少なくとも一部分が少なくとも１つのパラメータ値を適用する場合、同じ特有操作を同時に計算するＱ個の計算ユニットを備え、さらに、少なくとも１つの特有選択操作を含む少なくとも１つの特有操作シーケンスを実施する手段を備え、前記特有選択操作は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って、プロセッサごとに差別化された方式で、前記Ｑ個の計算ユニット上で同時にパラメータ値Ｃからパラメータ値を選択することを実施する、請求項４２から４８のうちの一項に記載のプラットフォーム。
【請求項５０】
同じ特有操作を同時に計算するＱ個の計算ユニットを備え、さらに、少なくとも１つの特有選択操作を含む少なくとも１つの特有操作シーケンスを実施する手段を備え、前記特有選択操作は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って、プロセッサごとに差別化された方式で、前記Ｑ個の計算ユニット上で同時にデータＣからデータを選択することを実施する、請求項４２から４９のうちの一項に記載のプラットフォーム。
【請求項５１】
少なくとも１つの特有位置操作を含む特有操作のシーケンスを実施する手段を備え、前記オブジェクトは次元ＤＯを含み、前記特有位置操作は、前記次元ＤＯの１つに従った位置情報を生成する、請求項４２から５０のうちの一項に記載のプラットフォーム。
【請求項５２】
少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って相対位置を生成する少なくとも１つの特有操作を含む特有操作のシーケンスを実施する手段を備える、請求項４２から５１のうちの一項に記載のプラットフォーム。
【請求項５３】
特有操作の少なくとも一部分を実施するためのＱ個の計算ユニットを備え、ＱはＮに等しいかまたはＮの約数である、請求項４２から５２のうちの一項に記載のプラットフォーム。
【請求項５４】
Ｑ個の計算ユニットの数はＮとは異なり、前記サブオブジェクトの処理はＮ／Ｑ個の反復の内部ループを１つだけ含む、請求項５３に記載のプラットフォーム。
【請求項５５】
前記Ｑ個の計算ユニットは同一である、請求項５３または５４に記載のプラットフォーム。
【請求項５６】
１つの同じ特有操作からのＮ個の結果が、１つの同じ計算ユニットによって計算されるような手段を備える、請求項４２から５５のうちの一項に記載のプラットフォーム。
【請求項５７】
−少なくとも１つの特有操作が少なくとも１つのパラメータを適用するとき、前記特有操作を実施する手段と、
−前記パラメータ値の一部を含むメモリユニットへのアクセスを有する計算ユニットとを備え、前記一部は、前記計算ユニットによって実施される特有操作に従って決定される、請求項４２から５６のうちの一項に記載のプラットフォーム。
【請求項５８】
少なくとも１つの特有操作が少なくとも１つのパラメータを適用するとき、前記パラメータの値が、処理される前記オブジェクトにおける、前記サブオブジェクトおよび／または前記基本情報の位置に依存するような手段を備える、請求項４２から５７のうちの一項に記載のプラットフォーム。
【請求項５９】
連鎖された計算ユニットを備える、請求項４２から５８のうちの一項に記載のプラットフォーム。
【請求項６０】
１つの次元における連鎖に従って連鎖された計算ユニットを備える、請求項４２から５９のうちの一項に記載のプラットフォーム。
【請求項６１】
少なくとも１つの循環的連鎖に従って連鎖された計算ユニットを備える、請求項４２から６０のうちの一項に記載のプラットフォーム。
【請求項６２】
少なくとも１つの循環的連鎖に従って連鎖された計算ユニットを備え、前記循環的連鎖は少なくとも１つの待ち行列も含む、請求項４２から６１のうちの一項に記載のプラットフォーム。
【請求項６３】
前記サブオブジェクトの各次元での少なくとも１つの循環的連鎖に従って連鎖された計算ユニットを備え、前記サブオブジェクトは次元ＤＳＯを含み、前記サブオブジェクトの各Ｄ１特有次元での前記循環的連鎖（１つまたは複数）はさらに、前記サブオブジェクトのＤ１特有次元での前記循環的連鎖（１つまたは複数）間で共有されるかまたは共有されない少なくとも１つの待ち行列を含む、請求項４２から６２のうちの一項に記載のプラットフォーム。
【請求項６４】
循環的連鎖ＣＣ１を用いて前記サブオブジェクトのＤＤ所定次元の少なくとも１つに従って連鎖された計算ユニットを備え、前記循環的連鎖はさらに少なくとも１つの待ち行列を含み、特有命令が適用される度に、第１のＵＣ１計算ユニット中での前記適用の結果が、前記連鎖に従って前記第１のＵＣ１計算ユニットに続くＵＣ２計算ユニットまたは待ち行列に送出される、請求項４２から６３のうちの一項に記載のプラットフォーム。
【請求項６５】
別のサブオブジェクトのサブ処理中に使用される特有操作からの結果を、前記サブオブジェクトとの関係における前記別のサブオブジェクトの相対位置に従って記憶するための少なくとも１つのメモリを備える、請求項４２から６４のうちの一項に記載のプラットフォーム。
【請求項６６】
少なくとも１つの循環的連鎖に従って連鎖された計算ユニットと、計算ユニットの前記連鎖および前記シーケンスに従って前記特有操作を前記計算ユニットに割り当てる手段とを備える、請求項４２から６５のうちの一項に記載のプラットフォーム。
【請求項６７】
特有操作の順序および／またはタイプを修正することができるような手段を備える、請求項４２から６６のうちの一項に記載のプラットフォーム。
【請求項６８】
少なくとも１つの所定の特有操作シーケンスに従って前記特有操作を実施するためのケーブルされた計算ユニットを備える、請求項４２から６７のうちの一項に記載のプラットフォーム。
【請求項６９】
基本情報および／または特有操作からの結果を記憶するための限られた容量のメモリユニットが備わった少なくとも１つの計算ユニットを備え、前記メモリは少なくとも１６個の基本情報および／または特有操作からの結果を含む、請求項４２から６８のうちの一項に記載のプラットフォーム。
【請求項７０】
他のサブオブジェクトからくる少なくとも１つの基本情報および／または特有操作からの少なくとも１つの結果を含む通信メモリへのアクセスを有する少なくとも１つの計算ユニットを備える、請求項４２から６９のうちの一項に記載のプラットフォーム。
【請求項７１】
通信メモリユニットは０．３＊Ｎアクセス／サブオブジェクト／特有操作よりも低いアクセス速度を有する、請求項７０に記載のプラットフォーム。
【請求項７２】
とりわけ携帯電話機に統合され、Ｑの値が１に固定されＮの値が２と１６の間に含まれるような手段を備える、請求項４２から７１のうちの一項に記載のプラットフォーム。
【請求項７３】
少なくとも１つの同じ特有操作を同時に実施する少なくとも２つの同一の計算ユニットを備える、請求項４２から７２のうちの一項に記載のプラットフォーム。
【請求項７４】
特有操作からの結果の少なくとも一部分がメモリ中で「ベースアドレス＋オフセット」または「ベースアドレス＋ｍｏｄオフセット（バッファメモリのサイズ）」のフォーマットのアドレスに記憶されるような手段を備え、前記オフセットは、１つの同じ特有操作のすべての結果に対して一定である、請求項４２から７３のうちの一項に記載のプラットフォーム。
【請求項７５】
前記サブオブジェクトが前記処理操作において変更される度に前記ベースアドレスを変更する手段を備える、請求項７４に記載のプラットフォーム。
【請求項７６】
特有操作の結果の少なくとも一部分が、メモリ中で、１つの同じ操作からのすべての結果に対して事前に決定されたアドレスに記憶されるような手段を備える、請求項４２から７５のうちの一項に記載のプラットフォーム。
【請求項７７】
少なくとも１つのレジスタユニットと少なくとも１つの通信メモリとが備わった少なくとも１つの計算ユニットを備え、トランジスタの数は、通信メモリなしの関連レジスタユニットを含めて、１計算ユニット当たり１００００個未満である、請求項４２から７６のうちの一項に記載のプラットフォーム。
【請求項７８】
汎用フォーマット化データから計算された特有フォーマット化データを、入力上で好ましくは直接的に受け取る手段を備え、前記汎用フォーマット化データは、少なくとも１つの汎用操作シーケンスを記述する第１のデータを含み、特有フォーマット化データの前記計算は、前記プラットフォーム中の基本情報に関するスクローリングモードと、汎用操作からの特有操作とを反映して実施され、前記特有操作は特有操作のシーケンスを形成し、前記特有操作のシーケンスをオブジェクトに対して実施する手段を備える、請求項４２から７７のうちの一項に記載のプラットフォーム。
【請求項７９】
画像で構成されるオブジェクトを処理する手段を備え、前記基本情報は前記画像のピクセルである、請求項４２から７８のうちの一項に記載のプラットフォーム。
【請求項８０】
画像取込みおよび／またはレンダリングデバイスの一部であり、前記操作は、操作のシーケンスに、かつ／または前記プラットフォームに、かつ／または処理される前記オブジェクトに依存する値を有するパラメータを適用し、前記パラメータ値は、前記画像取込みおよび／またはレンダリングデバイスの、光学機構および／またはセンサおよび／またはイメージャおよび／または電子機構および／またはソフトウェアの特性にリンクされる、請求項４２から７９のうちの一項に記載のプラットフォーム。
【請求項８１】
ディジタルオーディオ信号で構成されるオブジェクトを処理する手段を備え、前記基本情報が前記信号のオーディオサンプルである、請求項４２から８０のうちの一項に記載のプラットフォーム。
【請求項８２】
数値メッシュで構成されるオブジェクトを処理する手段を備え、前記基本情報がメッシングの各点を特徴付ける空間および時間情報である、請求項２から８１のうちの一項に記載のプラットフォーム。
【請求項８３】
請求項１から４１のうちの一項による処理方法で処理されるオブジェクト。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つまたは複数のプロセッサとメモリとを有するプラットフォーム上で、基本情報からなるオブジェクトを処理する方法に関する。本発明はさらに、このような方法を使用するプラットフォームにも関する。
【背景技術】
【０００２】
この記述では、基本情報は、処理される情報の要素であり、１つまたは複数の数値で表される。この情報は、８ビット符号化、１０ビット符号化、さらには１６ビット符号付き符号化など、様々なタイプの符号化に従って符号化することができる。処理されるオブジェクトが画像である場合、基本情報はこの画像のピクセルとなる。
【０００３】
プラットフォーム中でオブジェクトに施されることになる処理は、様々な分野に介入することのできるアルゴリズムに対応し、これらの分野は例えば、画像処理、データ圧縮および圧縮解除、オーディオ処理、信号変調および復調、測定、データ分析、データベース索引付けまたは検索、コンピュータによる閲覧、グラフィック処理、シミュレーションなど、あるいは多量のデータを使用する任意の分野である。
【０００４】
プロセッサとメモリとを有するプラットフォーム中で、同じタイプの基本情報からなるオブジェクトの処理が必要とされるとき、基本情報の処理順序と、ループと、対応する操作シーケンスとを決定することについては大きな自由裁量の範囲がある。
【０００５】
しかし、コードサイズ、計算時間、メモリアクセス速度、メモリサイズ、および規則性に関係する制限は相容れない可能性があり、所与のアルゴリズムに対してできる限りプラットフォームの並列処理を活用するのは難しい。
【０００６】
この問題を解決するために従来、重畳、乗算、さらには相関表の適用など、物理ブロックに対して様々な処理操作を実施することのできる低レベルライブラリの使用が知られている。これによれば、各プラットフォームにつきこれらのライブラリを１回だけ最適化すればよい。しかし、この方法には、以下のように多くの不都合がある。
【０００７】
−ライブラリのサイズ、したがってコードのサイズがかなり大きい。
−ライブラリ呼出し時間が与えられた場合に、比較的大きいサイズの物理ブロックを使用する必要があり、この結果、かなりのメモリ使用となる。
【０００８】
−基本情報に対する内部ループがライブラリ内に位置する場合、操作のシーケンスを最適化することができず、この結果、性能が制限される。
−物理ブロックはメモリに記憶され、この結果、メモリ使用が集中的になり、メモリから中間データを読み書きするのに多くの時間が費やされる。
【０００９】
さらに、プログラム可能なプロセッサ、例えば、スカラプロセッサタイプ、ベクトル信号プロセッサタイプ、信号処理プロセッサタイプ、とりわけＳＩＭＤ（「単一命令複数データ」）タイプのものでは、基本情報で構成されブロックまたはサブオブジェクトに（すなわち基本情報のグループに）分解されるオブジェクトに、アルゴリズムを適用することができる。
【００１０】
従来、各操作が、完全なブロックに適用され、次いで次の操作が、ブロックに対して実行されるが、このブロックはサイズが縮小される可能性があった。実際、これらの操作のいくつかは、ブロックのサイズを縮小し、後続の操作が実施されるときにエッジ効果を生じる。その後、アルゴリズムが既知のプロセッサで適用されることになるとき、多数のメモリアクセス操作が必要である。というのは、１つの操作がすべてのブロックに連続して適用された後で次の操作に進むからであり、この状況は、メモリ中での頻繁な読み書きを引き起こす。
【００１１】
また、エッジ効果を低減するためにサイズの大きいブロックを使用する必要もあり、したがって、これらのサイズの大きいブロックを記憶できるように比較的大きいサイズのメモリを有する必要がある。さらに、ループの数量が多いことは、ループおよびエンドオブループ初期化コードが多くの回数にわたって存在することを意味し、それによりサイズの大きいコードを誘発する。
【００１２】
さらに、相関表や、局所変位の適用など、ある種の操作は、オフセットまたは置換による通信スキーマが備わったベクトルシグナリングプロセッサに統合するのには適さない。
さらに、操作が適用されるブロックのサイズは、ある操作から別の操作で変動するので、コードは規則性の問題を提起することもわかっている。したがって、メモリおよび／または計算時間の点で、このコードを最適化するのは難しい。というのは、最適化は、シーケンス全体ではなく、１ブロックにつき１つの操作に制限されるからである。
【００１３】
したがって、アルゴリズム＋プラットフォームの各組合せを最適化するのにかなりの時間を費やすことなく、コードのサイズ、メモリのサイズ、および必要とされる命令の数量を最適化するのは非常に難しい。実際、各プラットフォームは、装置（例えばプロセッサの数およびタイプや、メモリのサイズおよびタイプ）と、使用言語（スカラプロセッサの場合はＣ、ベクトル信号プロセッサの場合はアセンブリ言語）との両方の点で、それ自体の特性を有する。
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明の目的は、前述の欠点の少なくとも１つを正すことによって、プラットフォーム中でのオブジェクトの処理を可能にする方法である。とりわけ、本発明は、コードサイズ、計算時間、メモリアクセス速度、メモリサイズの点で、処理の最適化を可能にする。
【００１５】
この最適化は、アルゴリズムの計算時間、計算パワーに必要な電気的消費、メモリサイズしたがってシリコン表面、データを減少させる。
この最適化はさらに、シリコン表面などハードウェアプロパティと、所与の計算時間に対するアルゴリズムの実行に必要とされる電気的消費との、節約を達成することを可能にする。
【課題を解決するための手段】
【００１６】
したがって本発明は、１つまたは複数のプロセッサとメモリとを有するプラットフォーム中で、同じタイプの基本情報からなるオブジェクトを処理する方法に関し、本方法は、処理されるオブジェクトを、Ｎ個の基本情報からそれぞれなる少なくとも２つのサブオブジェクトに分解するステップを含み、すべてのサブオブジェクトは同じ数量Ｎの基本情報を有し、処理は、各サブオブジェクトの基本情報に対して少なくとも１つの特有操作シーケンスを実施することにあり、本方法はさらに、各サブオブジェクトにつき各特有操作を少なくともＮ回実施するステップを含み、それにより、一方では、各サブオブジェクトの各基本情報が少なくとも１回適用され、他方では、各特有操作のＮ個の結果が生成され、特有操作のシーケンスは、シーケンスの少なくとも１つの特有操作ｋが、そのＮ回の適用全体のうちで少なくとも１回、別のサブオブジェクトの処理に使用される結果を生成するようなシーケンスである。
【００１７】
好ましくは、特有操作のシーケンスはループを含まない。
一実施形態では、プラットフォームはＱ個のプロセッサを備える。好ましくは、各サブオブジェクトの処理は、Ｑ個のプロセッサにわたって分散され、各プロセッサは、特有操作シーケンスからの少なくとも１つの特有操作ＩＳ８を実施する。したがって、すべてのプロセッサは、各サブオブジェクトに使用され、１つの同じプロセッサは、サブオブジェクトのセットに使用される。したがって、サブオブジェクトをプロセッサに割り当てる必要はない。
【００１８】
好ましくは、サブオブジェクトを処理するために特有操作がプロセッサによって実施されるとき、同じ特有操作がまた、他のすべてのサブオブジェクトを処理するために同じプロセッサによって実施される。したがって処理は規則的である。特有操作はプロセッサに割り当てられ、次いで各サブオブジェクトのサブ処理操作のために周期的に実施される。
【００１９】
好ましくは、処理に必要なループのセットは、オブジェクトのトポロジおよびプラットフォームに依存するが、特有操作のシーケンスから独立している。
【００２０】
好ましくは、ループは、特有操作の完全なシーケンスの周りで相互の中に埋め込まれる。このようにして、ループは特有操作のシーケンス全体をカプセル化し、特有操作のシーケンスは、それぞれがループに囲まれたサブシーケンスに分割されることはない。同様にして、完全なオブジェクトを記憶する必要も、特有操作の結果のセットを記憶する必要もなしに、ただ別のサブオブジェクトの処理に必要な結果を一時的に記憶するだけで、サブオブジェクトを同時に処理することによってオブジェクトを処理することができる。したがってメモリ使用が削減される。
【００２１】
好ましくは、サブオブジェクトは、連続した基本情報で構成される。このため、少なくとも１つの待ち行列を含むプロセッサの連鎖を実施することが可能である。
次に、本発明による待ち行列の概念を定義する。
【００２２】
待ち行列は、基本情報、または特有操作からの結果を、送出および／または記憶するのに使用される。
待ち行列は、メモリを備えるかまたは使用することができる。
待ち行列は、ＦＩＦＯ（先入れ先出し）タイプの１つまたは複数のプロセスを使用して実現することができる。
【００２３】
待ち行列は、少なくとも１つの入力および少なくとも１つの出力を備える。
−待ち行列は、任意の手段を介して入力計算ユニットおよび出力計算ユニットに動作可能に接続させることができる。
−待ち行列はまた、任意の手段を介してＰＲ入力計算ユニットおよびＰＲ出力計算ユニットに動作可能に接続させることができ、この場合、待ち行列は、それぞれが入力計算ユニットを出力計算ユニットにリンクするＰＲ待ち行列のように挙動する。
【００２４】
好ましくは、待ち行列は、いくつかのデータフラックスを独立して管理するのに使用することができ、各フラックスは所定の特有命令に関連する。
一実施形態では、待ち行列中で読取りと書込みを同時に行うことが可能である。
好ましくは、待ち行列は、少なくとも１つのメモリユニットを使用して、各フラックスにつき同一数量ＮＦのデータを記憶する。
【００２５】
好ましくは、ＮＦは、サブオブジェクトの相対的な配置およびスクローリングモードに従って決定され、それにより、データを生成するサブオブジェクトの処理と、同じデータを使用するサブオブジェクトの処理との間で、ＮＦ−１個のサブオブジェクトが処理される。
【００２６】
好ましくは、計算ユニットと待ち行列とを含む連鎖は、ブート操作の管理を可能にする機構を含む。待ち行列は、定期的に、例えば待ち行列が水平連鎖の一部でありオブジェクトが画像である場合は各ラインの最初に、初期化される。待ち行列がＮＦ個のデータを含まないならば、連鎖中で待ち行列に続くプロセッサは、出力において送出するデータを入力として取る。次に、連鎖中で待ち行列に続くプロセッサは、待ち行列中で最も古いデータを入力において取り、これを待ち行列から除去する。
【００２７】
好ましくは、待ち行列は、待ち行列に入力されたときと同じ順序でデータを出力することを可能にする。
好ましくは、循環的連鎖は一方向である。好ましくは、循環的連鎖は、計算ユニットごとに、入力に１つの単一リンクがあり、出力に１つの単一リンクがあるような連鎖である。
【００２８】
このように、少なくとも１つの待ち行列の使用により、少なくとも１つの他のサブオブジェクトの計算で必要とされる特有操作からの結果を送出することができる。
待ち行列は、例えば、マイクロプロセッサを使用して実現される。
この記述全体を通して、用語「計算ユニット」と「プロセッサ」とは同じ意味を有することに留意することができる。
【００２９】
一実施形態では、Ｎ個の基本情報からなるサブオブジェクトを処理するために、シーケンスの各特有操作が総計Ｎ回実施され、Ｑ個のプロセッサそれぞれにつきＮ／Ｑ回実施される。特有操作のシーケンスが条件付き接続を含む場合、各プロセッサは、これらの条件付き接続を反映するシーケンスの部分を実施する。
【００３０】
一実施形態では、サブオブジェクトは、少なくとも１つの次元に従ってオーバーレイされない。したがって、あるサブオブジェクトの処理中に生成された少なくとも１つの特有操作結果が、別のサブオブジェクトの処理中に使用される。
【００３１】
好ましくは、サブオブジェクトは、どんな次元に従ってもオーバーレイされない。したがって、各プロセッサは、計算を繰り返さずに１００％使用することができる。
好ましくは、特有操作のシーケンスは、シーケンスのうちの少なくとも１つの特有操作ｋが、そのＮ回の適用中に少なくとも１回、別のサブオブジェクトの処理に使用される結果を生成するようなシーケンスである。
【００３２】
好ましくは、サブオブジェクトの同じ１つの次元に従ったいくつかの循環的連鎖がある場合（とりわけプロセッサがグリッドに従って配置されているとき）、待ち行列は、同じ次元に従ったすべての循環的連鎖間で共有される。好ましくは、サブオブジェクトの各次元につきちょうど１つの待ち行列があり、各待ち行列は、同じ次元に従ったすべての循環的連鎖間で共有される。したがって、プロセッサ間の通信は特に単純である。したがって、メモリの構成は特に単純である。
【００３３】
本発明はさらに、所与のアルゴリズムに対し、アルゴリズムもメモリサイズも変更せずに、また小さいサイズのプロセッサを使用して、プロセッサの数に比例した性能を得ることを可能にする。
【００３４】
したがって、本発明は、０．０９μプロセスで刻印されたコンポーネントの場合に、１ｍｍ２当たり毎秒数百億個の演算の計算パワーをコンポーネント上で利用できるようにすることを可能にする。従来、このような密度は、最適化されたケーブル接続型アーキテクチャを必要とし、これはしたがって開発の時宜を得ており、アルゴリズムを変更するためのフレキシビリティがない。反対に、本発明は、どんなアルゴリズムも非常に容易に、したがってごく短時間のうちに、プログラムすることを可能にする。
【００３５】
これはまた、単一のコンポーネント上で、毎秒およそ数兆個の演算の性能を達成可能にする。
この目的で、本発明は、エッジ効果を呈示する操作からなる処理操作を規則的なものにする。
【００３６】
前述のような方法によって処理されるオブジェクトは、好ましくは、デモザイキング操作前の未処理画像（「生」タイプのもの）であり、この場合、
−一代替形態では、基本情報は、ピクセルの絶対位置に従って例えば赤、緑、または青に対応する数値で表されるピクセルである。
【００３７】
−別の代替形態では、基本情報は、１ピクセル当たり１数値で表されるピクセルのグループ（例えば２＊２の緑、赤、および青のピクセルのグループ。緑は「バイエル（Ｂａｙｅｒ）」に対応する）である。
【００３８】
オブジェクトは可視画像とすることもでき、この場合、基本情報は、例えば３つの数値で表されるピクセルであり、各数値は色、例えば赤、緑、および青を表す。
オブジェクトは画像のシーケンス、とりわけ未処理または可視画像のシーケンスとすることもでき、この場合、基本情報は、画像シーケンスからの画像のピクセルである。したがって、オブジェクトは例えばビデオに対応する。
【００３９】
オブジェクトが画像である場合、画像は、画像取込みデバイスから受け取ることができ、かつ／または画像レンダリングデバイスに向けることができる。
−画像取込みデバイスは、例えば使い捨てカメラ、ディジタルカメラ、レフレックスカメラ（ディジタルまたは非ディジタル）、スキャナ、ファクス、内視鏡、ビデオカメラ、カムコーダ、監視カメラ、玩具、電話機またはパーソナルアシスタントまたはコンピュータに統合されたかリンクされたビデオカメラまたはカメラ、サーマルカメラ、超音波マシン、ＭＲＩ（磁気共鳴）撮像ユニット、Ｘ線撮影ユニットである。
【００４０】
−画像レンダリングデバイスは、例えばスクリーン、プロジェクタ、テレビジョン、仮想現実ゴーグル、またはプリンタである。
−画像取込みおよび画像レンダリングデバイスは、例えばスキャナ／ファクス／プリンタ、小型写真印刷ラボ、ビデオ会議デバイスである。
【００４１】
処理プラットフォームは、適用例に応じて種々の形をとることができる。例えば、オブジェクトが画像である場合に、とりわけ処理プラットフォームが以下のデバイスの１つに統合された場合について列挙する。
【００４２】
−処理済み画像を生成する画像取込みデバイス。例えば、処理プラットフォームを統合したディジタルカメラ。
−処理済み画像を表示または印刷する画像レンダリングデバイス。例えば、処理プラットフォームを備えるビデオプロジェクタまたはプリンタ。
【００４３】
−これらの要素上の欠陥を訂正する混合デバイス。例えば、処理プラットフォームを備えるスキャナ／プリンタ／ファクス。
−処理済み画像を生成するプロ用画像取込みデバイス。例えば、処理プラットフォームを備える内視鏡。
【００４４】
処理プラットフォームは、完全にまたは部分的にサーバ上に移すことができる。
アルゴリズム、またはオブジェクト処理操作は、例えば、オブジェクトが画像である場合、限定しないが以下に挙げるものに対応する。
【００４５】
−自動ホワイトバランスに関する、とりわけ統計ベースの計算、ならびに／あるいは、
−自動露光に関する、とりわけ統計ベースの計算、ならびに／あるいは、
−自動フォーカスに関する、とりわけ統計ベースの計算、ならびに／あるいは、
−自動コントラスト改善に関する、とりわけ統計ベースの計算、ならびに／あるいは、
【００４６】
−未処理画像から可視画像への変換（「イメージパイプ」または「画像信号処理（ＩＳＰ）」、ならびに／あるいは、
−光学障害の補正、ならびに／あるいは、
−被写界深度の改善、ならびに／あるいは、
【００４７】
−特許出願ＰＣＴ／ＦＲ２００６／０５００２２「Ｍｅｔｈｏｄ  ｆｏｒ  ｃｒｅａｔｉｎｇ  ａｎ  ｉｍａｇｅ  ｃａｐｔｕｒｉｎｇ  ａｎｄ／ｏｒ  ｒｅｎｄｅｒｉｎｇ  ｄｅｖｉｃｅ，ａｎｄ  ｄｅｖｉｃｅ  ｏｂｔａｉｎｅｄ  ｂｙ  ｔｈｉｓ  ｍｅｔｈｏｄ」および／または特許出願ＰＣＴ／ＦＲ２００６／０５０１９７「Ｍｅｔｈｏｄ  ｆｏｒ  ｃｏｍｍａｎｄｉｎｇ  ａｎ  ａｃｔｉｏｎ，ｎｏｔａｂｌｙ  ａ  ｍｏｄｉｆｉｃａｔｉｏｎ  ｏｆ  ｓｈａｒｐｎｅｓｓ，ｕｓｉｎｇ  ａ  ｄｉｇｉｔａｌ  ｃｏｌｏｕｒ  ｉｍａｇｅ」に記載されている処理操作、ならびに／あるいは、
【００４８】
−センサ障害の補正、ならびに／あるいは、
−イメージャ障害の補正、ならびに／あるいは、
−処理操作、とりわけ鮮鋭度の改善、ならびに／あるいは、
−処理操作、とりわけ色表現の改善、ならびに／あるいは、
−処理操作、とりわけコントラスト表現の改善、ならびに／あるいは、
−処理操作、とりわけディテール表現の改善、ならびに／あるいは、
【００４９】
−雑音低減、ならびに／あるいは
−測定、ならびに／あるいは、
−圧縮、ならびに／あるいは、
−圧縮解除、ならびに／あるいは、
−補間またはズーム、ならびに／あるいは、
−走査、ならびに／あるいは、
−特殊効果。
【００５０】
本発明によれば、オブジェクトに適用される処理操作は、特有操作とも呼ばれる操作のシーケンスにあるものとすることができる。特有操作からの結果もまた基本情報と呼ばれ、オブジェクトの基本情報と同じタイプとすることもでき、そうでないものとすることもできる。
【００５１】
サブオブジェクトは、形およびサイズを有する基本情報のセットであり、この形およびサイズは、場合に応じて、プラットフォームの特性（とりわけメモリのサイズおよびタイプに関して、ならびに、ベクトル信号プロセッサの場合にはベクトルのサイズに関して）に依存するが、処理されるオブジェクトの特性にも依存する。
【００５２】
一実施形態では、オブジェクトおよびサブオブジェクト、ならびに論理ブロックは、いくつかの次元を有する。
サブオブジェクトおよび論理ブロックの次元は、オブジェクトの次元のすべてまたは一部に対応する。次元は種々のタイプとすることができ、とりわけ以下のタイプである。
【００５３】
−空間的。例えば、距離、角度、または、メッシュ中でのスクローリング。
−時間的。
−周波数。例えば、色、周波数、周波数帯。
−位相。
−ベクトル空間基底に従った分解。例えば、ウェーブレットへの分解、または高バイト、低バイトへの分解。
【００５４】
−一般に、任意のトポロジの任意の空間の次元。
以下の非網羅的なリストに、オブジェクトの例をその次元と共に提供する。
−２つの次元を有する静止画。各次元は、距離、とりわけピクセルで測定される距離に対応する。
【００５５】
−２つの次元を有する未処理静止画。各次元は距離に対応し、各ピクセルには色、例えば赤、緑、または青が備わる。
−２つの次元を有する静止カラー画像。各次元は距離に対応し、一方の次元はカラーチャネルを表す周波数、例えば赤／緑／青を表す周波数に対応する。
−３つの次元を有する動画。次元のうちの２つは、距離、とりわけピクセルで測定される距離に対応し、１つは時間に対応する。
【００５６】
−３つの次元を有するレリーフ画像。次元は距離に対応する。
−３つの次元を有するレリーフ画像。次元のうちの２つは距離に対応し、第３の次元は視野角に対応する。
【００５７】
−距離次元およびおそらくチャネル次元を有する医療画像。
−視野角次元を有するホログラム。
−より一般的に、距離および／または角度および／または時間および／または周波数の次元を有する画像。
【００５８】
−時間に対応する次元を有する音声。
−時間およびチャネルに対応する２つの次元を有する音声。
−時間、およびおそらく周波数、およびおそらく空間における位置、または角度に対応する１つまたは複数の次元を有する被変調信号。
【００５９】
−１つまたは複数の次元に従って配置された基本情報によって示される、信号変調および復調、測定、データの分析、データベース索引付けまたは検索、コンピュータによる閲覧、グラフィック処理、シミュレーション。
【００６０】
−より一般的に、１つまたは複数の次元を有するオブジェクト。
本発明によれば、オブジェクトの基本情報は、絶対的な位置および／またはスケールを有することができ、これらはとりわけ、空間および／または時間および／または周波数によるものとすることができるが、同様に、オブジェクトの次元の任意の他の１つに従ったものとすることもできる。
【００６１】
−「オーディオ」オブジェクトに関する基本情報は、強度に対応することができる。この場合、基本情報は、時間における所与の瞬間に対応する絶対位置を有し、複数チャネル音声の場合は、所与のチャネルに対応する絶対位置を有する。
−「画像」オブジェクトに関する基本情報は、ピクセルに対応することができる。この場合、基本情報は、画像中の位置に対応する絶対位置を有し、ビデオ画像の場合は、時間における所与の瞬間に対応する絶対位置を有する。
【００６２】
−「データシミュレーション」オブジェクトに関する基本情報は、ステータスに対応することができる。この場合、基本情報は、メッシングノードと、時間における所与の瞬間とに対応する絶対位置を有する。
【００６３】
−「被変調信号」オブジェクトに関する基本情報は、強度および／または位相に対応することができる。この場合、基本情報は、時間における所与の時点に対応する絶対位置を有し、おそらく、複数のアンテナまたは送信機が使用される場合は、所与の周波数および／または所与の位置に対応する絶対位置を有する。
【００６４】
とりわけ空間的および／または時間的な少なくとも１つの次元に従った相対位置、および絶対または相対スケールは、オブジェクトのタイプに応じて様々な概念に対応することができる。これらは、タイプにかかわらず任意の２つのブロック間で適用される（前述のような画像の場合、論理ブロックはとりわけ、未処理、赤、緑、８ビットなどとすることができる）。
【００６５】
オブジェクトが正方形ピクセルを含む静止画である場合、絶対または相対位置は、一実施形態では、２つの値（垂直および水平）に対応することができ、絶対または相対スケールは、２つの値（垂直および水平）に対応することができる。オブジェクトの最上ラインのピクセルは、絶対位置として（０；０）（０；１）（０；２）．．．を有することができ、ｎ番目のラインのピクセルは、絶対位置として（ｎ；０）（ｎ；１）（ｎ；２）を有することができる。この場合、相対位置は、次のようにしてコーディングすることができる。すなわち、（−１；０）は上を示し、（０；０）はヌル変位に対応し、（０；１）は右を示し、（２；−２）は２ピクセル下および２ピクセル左を示す。この場合、（０．５；０．５）の相対スケールは、各方向への半分の解像度に対応する。
【００６６】
より一般的には、相対変位と相対スケールの組合せは、次のようにして２つの関数ｆおよびｇを使用してコーディングすることができる。すなわち、絶対位置の各ピクセルにつき（ｆ（ｘ；ｙ）；ｇ（ｘ；ｙ））である。例えば最も近いピクセルを取るためには、丸め規則が必要であることに留意されたい。したがって、
−上の相対位置は、ｆ（ｘ；ｙ）＝−１およびｇ（ｘ；ｙ）＝０でコーディングされる。
【００６７】
−相対スケール０．７は、ｆ（ｘ；ｙ）＝０．７＊（ｘ−ｘ０）およびｇ（ｘ；ｙ）＝０．７＊（ｙ−ｙ０）でコーディングされる。ｘ０およびｙ０は、絶対位置に対するパラメータに対応する。
【００６８】
−歪み補正は、歪みフィールドに対応するｆおよびｇでコーディングされる。
−ＹＵＶ４：２：２フォーマット変更、すなわち、別々のＹ、Ｕ、Ｖ輝度およびクロミナンス情報を使用するＹＹＵＶは、Ｙ１  Ｙ２  Ｙ３  Ｙ４．．．を使用してＹ１  Ｙ２  ｘｘ  ｘｘ  Ｙ３  Ｙ４  ｘｘ  ｘｘ．．．を得るために、後続の関数を使用することができる。すなわち、ｘが偶数ならｆ（ｘ；ｙ）＝（ｘ−ｘ０）＊０．５、ｘ−ｘ０が奇数なら（ｘ＋１−ｘ０）＊０．５を使用することができ、ｆ（ｙ）＝ｙ−ｙ０である。ｘ０およびｙ０は、絶対位置に関するパラメータに対応する。
【００６９】
以下の非網羅的なリストに、様々な異なるタイプのオブジェクトによる実施形態の他の例を提供する。
【００７０】
−オブジェクトが、ラインに沿って配置された六角形のピクセルを含む静止画であって、２つの連続したラインが半ピクセル分ずれている場合、絶対または相対位置は、２つの値（垂直および水平）に対応することができ、絶対または相対スケールは、２つの値（垂直および水平）に対応することができる。オブジェクトの最上ラインのピクセルは、絶対位置として（０；０）（０；１）（０；２）．．．を有することができ、ｎ番目のラインのピクセルは、絶対位置として、ラインが奇数ラインならば（ｎ；０．５）（ｎ；１．５）（ｎ；２．５）．．．を有することができ、ラインが偶数ラインならば（ｎ；０）（ｎ；１）（ｎ；２）．．．を有することができる。相対位置は、２つの値（垂直および水平）に対応することができ、例えば、（−０．５；０．５）は右上を示し、（０，１）は右を示し、（−０．５；１．５）は右上のピクセルの右に位置するピクセルを示す。この場合、相対スケール（０．５；０．５）は、各方向への半分の解像度に対応する。また、相対変位と相対スケールの組合せは、２つの関数ｆおよびｇを次のようにして使用してコーディングすることができる。すなわち、絶対位置ｘ，ｙの各ピクセルにつき（ｆ（ｘ；ｙ）；ｇ（ｘ；ｙ））である。例えば最も近いピクセルを取るためには、丸め規則が必要であることに留意されたい。
【００７１】
オブジェクトが、正方形のピクセルを含む動画である場合、絶対または相対位置は３つの値（垂直、水平、および時間）に対応することができ、例えば、（−１；０；０）は、同じ画像中の上に位置するピクセルを示し、（０；０；−１）は、前の画像中の同じ位置のピクセルを示し、（２；−２；−１）は、前の画像中の２ピクセル下および２ピクセル左に位置するピクセルを示す。また、相対変位と相対スケールの組合せは、３つの関数ｆ、ｇ、ｈを次のようにして使用してコーディングすることができる。すなわち、時間ｔにおける絶対位置ｘ，ｙの各ピクセルにつき（ｆ（ｘ；ｙ；ｔ）；ｇ（ｘ；ｙ；ｔ）；ｈ（ｘ；ｙ；ｔ））である。例えば最も近いピクセルを取るためには、丸め規則が必要であることに留意されたい。
【００７２】
−オブジェクトが単一チャネルの音声である場合、絶対または相対位置は１つの値（時間）に対応することができる。例えば、（−１）は前の時間を示し、（２）は２つの時間後を示す。この場合、関数ｆ（ｔ）が、変位および相対スケールのコーディングを可能にする。最も近い時間を取るためには、丸め規則が使用される。
【００７３】
−オブジェクトが複数チャネル音声である場合、絶対または相対位置は２つの値（時間、チャネル）に対応することができる。例えば、（−１，０）は、同じチャネルでの前の時間を示し、（２，１）は、後続のチャネルでの２つの時間後を示し、このチャネルは例えば循環的な方式で空間配置される。また、相対変位と相対スケールの組合せは、２つの関数ｆ、ｇを次のようにして使用してコーディングすることができる。すなわち、チャネルｃで時間ｔに位置する各オーディオサンプルにつき（ｆ（ｔ；ｃ）；ｇ（ｔ；ｃ））である。例えば最も近い時間およびチャネルを取るためには、丸め規則が必要であることに留意されたい。
【００７４】
−オブジェクトがシミュレーションメッシュである場合、絶対または相対位置はｎ個の値に対応することができ、各値は、メッシングのトポロジに従った空間または時間次元に対応する。また、相対変位と相対スケールの組合せは、ｎ個の関数を使用してコーディングすることができる。例えば最も近いノードおよび時間を取るためには、丸め規則が必要であることに留意されたい。
【００７５】
−オブジェクトが被変調信号である場合、絶対または相対位置はｎ個の値に対応することができ、各値は、時間と、妥当な場合に周波数チャネル（複数の周波数上での送信または受信）と、妥当な場合に空間次元（空間的に配置された複数の送信機または受信機）とに対応する。また、相対変位と相対スケールの組合せはｎ個の関数を使用してコーディングすることができ、丸め規則を選択しなければならない。
【００７６】
−オブジェクトが測定値のセットである場合、絶対または相対位置はｎ個の値に対応することができ、各値はオブジェクトの次元の１つに対応し、これらの次元は、場合に応じて、時間、空間、周波数、位相、または他のタイプであることがある。また、相対変位と相対スケールの組合せはｎ個の関数を使用してコーディングすることができ、丸め規則を選択しなければならない。
−オブジェクトが次元ｎのオブジェクトである一般的な場合、絶対または相対位置はｎ個の値に対応することができ、各値はオブジェクトの次元の１つに対応し、これらの次元は、場合に応じて、時間、空間、周波数、位相、または他のタイプであることがある。また、相対変位と相対スケールの組合せはｎ個の関数を使用してコーディングすることができ、丸め規則を選択しなければならない。
【００７７】
オーバーレイを有さないサブオブジェクトの種々のタイプを、図１ａ〜１ｄによって示す。これらの図では、１つの同じ画像を、ライン（図１ａのライン９０、９１、９２、９３）、列（図１ｂの列９４、９５、９６、９７）、他の任意の形のサブオブジェクト（図１ｃの形７０、７１、７２、７３）に、または矩形（図１ｄの形６０、６１、６２、６３、６４、６５、６６、６７）にすら分割できることが示されている。サブオブジェクトがオーバーレイを有さない場合、フィルタの計算中に、１つ前の別のサブオブジェクトに関する基本情報にアクセスして、エッジを失わずにサブオブジェクトの基本情報を処理する必要がある。
【００７８】
したがって、一実施形態では、処理されるオブジェクトは次元ＤＯを有し、オブジェクトの次元ＤＯから選択された次元ＤＳＯを有するサブオブジェクトに分解され、オブジェクトの分解は、サブオブジェクトの次元の少なくとも１つに従ってサブオブジェクトがオーバーレイを有さないような分解である。
【００７９】
この構成では、２つのサブオブジェクトに属する基本情報を直接的または間接的に適用する特有命令を再計算する必要はない。
好ましい一実施形態では、本方法はさらに、各サブオブジェクトにつき、各特有操作をちょうどＮ回実施するステップを含む。好ましくは、ＤＳＯはＤＯと等しいことになる。
【００８０】
一実施形態では、本方法はさらに、オブジェクトをオーバーレイなしにサブオブジェクトに分解することができるように、少なくとも１つの基本情報をオブジェクトに加えるステップを含む。
【００８１】
サブオブジェクトへの分解はまた、オブジェクトに対して実施されることになる操作のシーケンス、とりわけ、このシーケンス中に存在する水平または垂直のフィルタの数およびタイプにも依存することができる。
【００８２】
さらに、シーケンスの特有操作のいくつかがエッジ効果を有するときは、アルゴリズムの実行中に基本情報が失われないように、画像を、非ヌルのオーバーレイを有するサブオブジェクトに分解する必要がある。この構成を、図１ｅおよび１ｆで示す。図１ｅには、操作のシーケンスが各エッジで１ピクセルを失う場合の６×６基本情報を含むサブオブジェクトを示し、図１ｆには、１００個の基本情報を含むオブジェクトを示す。
【００８３】
この図１ｅでは、サブオブジェクトが４つの矩形８０、８２、８３、および８４であり、それぞれが３６個の基本情報を含むのが示されている。矩形８０は、画像の左上に位置する３６個の基本情報で構成され、矩形８２は、画像の右上に位置する３６個の基本情報で構成される。したがって、８つの基本情報８６が、サブオブジェクト８０と８２の両方に共通である。また、８つの基本情報８５が、両方のサブオブジェクト８０と８３とに共通である。８つの基本情報８８が、両方のサブオブジェクト８２と８４とに共通である。また、８つの基本情報８９が、両方のサブオブジェクト８３と８４とに共通である。最後に、４つの基本情報８７が、すべての４つのサブオブジェクト８０と８２と８３と８４とに共通である。
【００８４】
オブジェクトが画像である場合、一実施形態では、画像は、並置された矩形サブオブジェクトに分解され、これらのサブオブジェクトは、例えば左から右へ、次いで上から下へ処理される。プラットフォームに応じて、サブオブジェクトは、限定しないが以下に挙げる方式のうちの１つに従って選択および記憶される。
【００８５】
−小さい高速アクセスメモリおよび大きい低速メモリを伴う信号処理プロセッサの場合、サブオブジェクトのサイズは、低速メモリにアクセスせずにサブオブジェクトを処理することができるように選択される。例えば、３２×３２ピクセルの正方形に対応するサブオブジェクトを採用することが可能となり、現在のサブオブジェクトに関する計算中に、かつ、次のサブオブジェクトに関する計算に必要とされるデータが低速メモリから高速アクセスメモリに転送される間に、前のサブオブジェクトに対する計算の結果が低速メモリに転送される。
【００８６】
−小さいキャッシュメモリおよび大きい低速メモリを伴うスカラプロセッサの場合、サブオブジェクトのサイズは、キャッシュメモリをできるだけ使用してサブオブジェクトの処理を実施することができるように選択される。例えば、３２×３２ピクセルの正方形に対応するサブオブジェクト、あるいは１ピクセルのサブオブジェクト、あるいは、とりわけ「生」タイプの未処理画像の場合は４ピクセル（２＊２）またはＮ１＊２ピクセルのサブオブジェクトを採用することが可能となる。
【００８７】
−ベクトル信号プロセッサの場合、サブオブジェクトのサイズは、プラットフォームが処理および記憶することのできるベクトルのサイズと同数またはその倍数として選択され、例えば、６４個の水平ピクセルに対応するサブオブジェクトを採用することができる。
オブジェクトが画像とは異なるタイプである場合でも、同様にしてサブオブジェクトへの分解をプラットフォームに適応させることができる。
【００８８】
本発明による方法は、毎回同じ数量Ｎの操作が実施されるので、サブオブジェクトに対して実施される特有操作のシーケンシングスケジュールを規則的にすることを可能にする。これにより、ハードウェアアーキテクチャおよびアルゴリズムを単純化することができる。毎回Ｎ個の操作の実行は、これらの操作の実行において、操作が適用されるサブオブジェクトとは異なるサブオブジェクトに属する基本情報が適用されることによって可能になる。
【００８９】
このようにして、操作ｋが適用される基本情報は、特有操作のタイプとサブオブジェクトにおける基本情報の位置とに従って、同じサブオブジェクトまたは異なるサブオブジェクトに属する可能性がある。
【００９０】
このことはまた、異なるサブオブジェクトの境界で「エッジ効果」が生じるのを防止する。実際、毎回Ｎ個の結果を生成するＮ個の特有操作を使用すると、サブオブジェクトのエッジに位置する基本情報を含めたすべての基本情報を処理することを余儀なくされる。この場合、操作の実行中に、他のサブオブジェクトに属する基本情報が要求される。
【００９１】
さらに、本方法は、いくつかの連続した特有操作を１つの同じサブオブジェクトに、例えば画像のラインに適用した後で、次のサブオブジェクトに進むことを可能にする。したがって、１つのラインを読み取っていくつかの特有操作に適用した後で、他のサブオブジェクトの処理に必要な結果だけをメモリに書き込んで次のラインに進むことができるので、メモリアクセス操作の数を削減することができる。
【００９２】
一実施形態では、プラットフォームは、サブオブジェクトの処理中に計算され別のサブオブジェクトの処理に使用される、基本情報および／または特有操作からの結果を記憶するために、少なくとも１つのオブジェクト間通信メモリを備える。したがって、冗長な計算が削減される。
【００９３】
さらに別の実施形態では、特有操作のシーケンスは、オブジェクトの処理中に同じデータを適用する１つの単一特有操作のみを含む。
以下、「通信データ」は、いくつかのサブオブジェクトの処理に、またはいくつかの異なる特有操作に使用される、基本情報および／または操作の結果を示す。
【００９４】
好ましくは、サブオブジェクト間の通信データは、それらのサイズおよび計算の数が最小限になるように選択される。
例えば、１つの次元に従ったオブジェクト間通信データは、とりわけ、この次元に従ったフィルタへの入力データ、ならびに、フィルタ出力と組み合わせられることになるデータを含む（これらが相互との関係で正しく整列していない場合）。
【００９５】
オブジェクト間通信メモリ、すなわちオブジェクト間通信データを記憶するのに使用されるメモリは、必要とされる記憶継続時間および速度に従って本質的に異なる。例えば、このメモリは、内部サブオブジェクトスクローリングループの次元に従った通信のためのレジスタおよび／またはローカルメモリ、ならびに／あるいは、他の次元に従った通信のためのローカルおよび／または共有メモリにあるものとすることができる。
【００９６】
オブジェクトが次元ＤＯを含む本発明の一実施形態では、基本情報は、最初に、選択されたＤＥ次元に従ってプラットフォームに送出され、次いで他の次元に従って送出される。この実施形態では、サブオブジェクトは、オブジェクトの次元ＤＯから選択されＤＥ次元を含む次元ＤＳＯを有し、処理は、ＤＥ次元に従って実施される少なくとも１つの内部サブオブジェクトスクローリングループを含む。
【００９７】
内部ループは、サブオブジェクトを処理するためのループに対応し、これはＱ個のプロセッサを使用してＮ個のデータを処理することを可能にする。
この実施形態は、コンポーネントが、処理操作に使用される計算ユニットと同じコンポーネント上に位置するメモリをオブジェクト間通信に使用して、「実行中に」、すなわちリアルタイムで、基本情報がプラットフォームに入力される速度でデータを処理する場合に特に適応されている。したがって、コンポーネントのコストが削減され、メモリアクセス速度は計算ユニットの数に比例する。とりわけ、この実施形態は、スカラまたはベクトル信号またはパイプラインプロセッサの場合に使用される。
【００９８】
好ましくは、サブオブジェクトは、ＤＳＯが１に等しいようなサブオブジェクト、あるいは「生」画像の場合はＤＳＯが２に等しいようなサブオブジェクトである。後者の場合、第２の次元におけるサブオブジェクトのサイズは２である。
好ましくは、特有操作は、ＤＥ次元に従って配置された計算ユニットによって実施される。
【００９９】
好ましくは、各次元におけるサブオブジェクトのサイズは、当該の次元におけるプロセッサの行列のサイズの倍数である。
好ましくは、次元ＤＳＯは、ＤＥ次元であり、かつ、必要とされるオブジェクト間通信メモリを縮小するために、次元ＤＯのうちで最も小さい次元である。
【０１００】
好ましくは、次元ＤＯのいずれでもサブオブジェクトのオーバーレイはなく、それにより、各基本情報は１度だけ処理される。したがってループは埋め込まれ、したがってコードはコンパクトである。
【０１０１】
好ましくは、２つのサブオブジェクトの処理中に、計算が再計算されることはない。
好ましくは、サブオブジェクトスクローリングループは、基本情報がプラットフォーム上に到着する際の次元と同じ順序に従って埋め込まれる。
【０１０２】
オブジェクトが次元ＤＯを含む一実施形態では、基本情報は、オブジェクトのＤＥ次元に従って、次いで他の次元に従ってプラットフォームに送出される。この実施形態では、サブオブジェクトは、オブジェクトの次元ＤＯを含むか、または、オブジェクトの次元ＤＯから選択されＤＥ次元が含まれない次元ＤＯ−１を含む。処理はさらに、ＤＥ次元に従って実施される少なくとも１つの内部サブオブジェクトスクローリングループを含む。
【０１０３】
別の実施形態では、各次元におけるサブオブジェクトのサイズは、オブジェクトのサイズ、ならびに／または、基本情報がプラットフォームに送出される送出速度、ならびに／または、プラットフォームの計算速度、ならびに／または、プラットフォームのメモリのうちの少なくとも１つのサイズおよび速度、に従って決定される。
【０１０４】
この実施形態は、コンポーネントが、処理操作に使用される計算ユニットと同じコンポーネント上に位置するローカルメモリであって、ＤＯ−１（１つの次元がＤＥに対応するのではない）に従った通信データの長期記憶に使用されるより低速な共有外部メモリのための中継としての働きをするローカルメモリを、オブジェクト間通信に使用して、「実行中に」、基本情報がプラットフォームに入力される速度でデータを処理する場合に特に適する。この場合、ローカルメモリのサイズはサブオブジェクトのサイズに伴って増大し、共有メモリによる速度はサブオブジェクトのサイズに伴って減少し、外部メモリのサイズは、ＤＥ次元以外の次元に従ったサブオブジェクトのサイズに伴って増大し、したがって、内部および外部メモリのサイズと、外部メモリの速度は、サブオブジェクトのサイズを調整することによって調整することができる。したがってコストが削減され、メモリによる速度はオブジェクトのサイズから独立し、コンポーネントは、オブジェクトサイズに最適化させることができ、より大きいサイズのオブジェクトのために外部メモリを用いて再使用することができる。
【０１０５】
この実施形態はまた、コンポーネントが、基本情報がプラットフォームに入力される速度よりも遅い速度で基本情報を処理し、処理操作中にメモリを使用してオブジェクトを記憶する場合に、より特有に適応されている。この場合、目的は、内部メモリのサイズおよび処理速度を制限して、必要とされる内部メモリサイズ、計算ユニットの数、およびメモリ速度を低減することである。
【０１０６】
この実施形態は、とりわけスカラまたはベクトル信号またはパイプラインプロセッサに適用される。
好ましくは、特有操作は、Ｑよりも大きいサイズ次元に従って配置されたＱ個の計算ユニットによって実施される。
好ましくは、各次元におけるサブオブジェクトのサイズは、当該の次元におけるプロセッサの行列のサイズの倍数である。
【０１０７】
好ましくは、ＤＥ次元を除いて、次元ＤＳＯは、必要とされるオブジェクト間通信メモリを制限するために、次元ＤＯのうちで最も小さい次元である。
好ましくは、次元ＤＯのいずれでもサブオブジェクトのオーバーレイはなく、それにより、各基本情報を１度だけ処理することが可能である。したがってループは埋め込まれ、コードはコンパクトである。
【０１０８】
好ましくは、サイズの小さい次元では、サブオブジェクトのオーバーレイはなく、２つのサブオブジェクトの処理中に計算が再計算されることはないが、サイズの大きい次元では、このことは重要性が劣る。というのは、再計算はほんのわずかなコストを表すだけだからである。
【０１０９】
好ましくは、現在のサブオブジェクトの計算中に、前のサブオブジェクトの計算中に生成されたオブジェクト間通信データがローカルメモリから外部メモリに転送され、後続のサブオブジェクトの計算に必要とされるオブジェクト間通信データが外部メモリからローカルメモリに転送される。内部サブオブジェクトスクローリングループはＤＥ次元に従って実施されるので、内部と外部のメモリ間の転送は、ＤＥ次元を除く次元ＤＯ−１に従ったオブジェクト間通信データのみに関係する。したがって、必要とされるローカルメモリは、これらの次元ＤＯ−１に従ったオブジェクト間通信データの３倍のサイズと、ＤＥ次元に従ったオブジェクト間通信データの１倍のサイズとを足したサイズに制限される。例えば、画像処理アルゴリズムの場合、必要とされる内部メモリサイズは、毎秒数千万ピクセルを処理するのに数百または数千バイトに制限される。
【０１１０】
好ましくは、データは次のように移行する。すなわち、オブジェクトの基本情報が外部メモリに記憶される。少なくとも１つのサブオブジェクトが共有メモリ中にあるとき、サブオブジェクトが外部メモリから読み取られる。ＤＥ次元を除く次元ＤＯ−１に従ったオブジェクト間通信データが共有メモリから読み取られる。サブオブジェクト処理からの結果と、ＤＥ次元を除く次元ＤＯ−１に従ったオブジェクト間通信データとが、共有メモリに書き込まれる。出力に使用される次元に従った完全なデータが共有メモリ中にあるとき、このデータは共有メモリ中で読み取られ、利用可能になる。これにより、移行は予測可能であり、単純であり、規則的である。
【０１１１】
好ましくは、サブオブジェクトスクローリングループは、基本情報がプラットフォーム上に到着する際の次元と同じ順序に従って埋め込まれる。
以下の実施形態は、ベクトル信号プロセッサの場合、Ｑ個の計算ユニット上で同時に実施される特有操作のシーケンスに含まれるＱ個の計算ユニット上での任意の処理操作に適用することができる。このシーケンスは、必ずしも同じタイプの基本情報からなるオブジェクトに適用されるとは限らない。これらの実施形態は、例えばベクトル信号プロセッサの場合に、異なる計算ユニット間で通信をセットアップするための新しい方法を記述する。
【０１１２】
特有操作の少なくとも一部分が少なくとも１つのパラメータ値を適用し、特有操作が、同じ特有操作を同時に計算するＱ個の計算ユニットによって実施される一実施形態では、特有操作のシーケンスは、Ｑ個の計算ユニット上で同時にＣ個のパラメータ値からパラメータ値を選択する少なくとも１つの特有選択操作を含む。この選択は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って、プロセッサにより差別化された方式で行われる。
【０１１３】
一例では、Ｃは８に等しい。
相関表を計算するには、例えばＣモジュロ表に対する入力値Ｘに従って３つの特有選択操作を使用して、Ｘのａ、ｂ、およびｃ関数を得て、Ｑ個のスプライン関数の並列計算に対応するａ＊Ｘ２＋ｂ＊Ｘ＋ｃを計算することができる。
ｎ／Ｃのデフェージングに対応する補間フィルタ係数を決定するには、補間係数を与える入力値ｎに従って特有選択操作を使用することができる。
【０１１４】
絶対位置の関数であるパラメータ値を選択するには、１とＣの間の結果を与える位置の関数を計算することができ、次いで、この計算からの結果を、絶対位置に関するパラメータ値を与える特有選択操作のための入力で使用する。したがって例えば、位置のデファジー強度関数を適応させることができる。
【０１１５】
色、解像度などにおける絡み合ったチャネルそれぞれに対して差別化された値を選択するには、１とＣの間の位置の関数をやはり計算することができ、次いで、この計算の結果を、絶対位置に関するパラメータ値を与える特有選択操作のための入力で使用する。
【０１１６】
従来、ベクトル信号プロセッサでは、オフセットと置換のいずれかによってデータを選択する特有操作が知られている。しかし、ベクトル信号プロセッサは、とりわけプロセッサの複雑さを最適化するためにＣがＱよりも小さい場合に、データＣに対してインダイレクションを実施することを許容しない。
【０１１７】
Ｑ個のプロセッサが１つの次元におけるベクトルに対応する一実施形態では、Ｃ個の定数は、複製によってＱ個の定数のレジスタ中で拡張される。ベクトルの右のＣ個の定数、次いでＣ個の定数、次いで以下同様となる。特有選択操作を使用して、ベクトルの各要素の左の値Ｃから値が選択される。
【０１１８】
特有操作の少なくとも一部分が、同じ特有操作を同時に計算するＱ個の計算ユニットによって実施される一実施形態では、特有操作のシーケンスは、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値から得られる相対変位に従って、プロセッサにより差別化された方式で、Ｑ個の計算ユニット上で同時にＣ個のデータからデータを選択することを実施する少なくとも１つの特有選択操作を含む。
【０１１９】
実際上は、循環的に連鎖されたベクトルに従ってＱ個の計算ユニットが配置された例では、各計算ユニットは、同時かつ独立した方式で、左にあるその近傍のＣからのデータにアクセスすることができる。
【０１２０】
２＊Ｃ個以上のデータからの選択を可能にするために、特有選択操作は条件付きとすることができる。
したがって、局所的な変形、例えば位置に従った歪みを計算することができ、ベクトルに局所的に適用することができる。データはまた、局所的に結合して、フィルタを生成することができ、スケールを変更することができ、あるいは、局所変位を適用する他の任意の操作を実施することができる。
【０１２１】
一実施形態では、データＣよりも多くを必要とする変位は、少なくとも１つの一様な変位と、それに続く、少なくとも１つの選択操作を使用して実施される差別化された局所変位とに分解することができる。一様な変位は、とりわけ、いくつかの選択操作を適用することによって、または通信メモリを使用することによって実施することができる。
【０１２２】
一例では、相対変位は、あるサブオブジェクトおよび／またはオブジェクトに関する、すべての基本情報に共通である。別の例では、相対変位は、基本情報ごとに異なり、サブオブジェクトにおける基本情報の絶対位置、および／またはオブジェクトにおけるサブオブジェクトの絶対位置に依存するものとすることもでき、そうでないものとすることもできる。より一般的には、この変位は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従った計算の結果である。
【０１２３】
特有操作のシーケンスが少なくとも１つの特有位置操作を含み、オブジェクトが次元ＤＯを含む一実施形態では、特有位置操作は、次元ＤＯの１つに従った位置情報を生成する。
【０１２４】
位置はとりわけ、以下に挙げるものに限定しないが、オブジェクトにおける基本情報の絶対位置、サブオブジェクトの位置、Ｃモジュロプロセッサの位置、複数スケールデータの位置、グリッドとの関係における相対位置、または他の任意の位置とすることができる。
【０１２５】
一実施形態では、特有操作のシーケンスは、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って相対位置を生成する少なくとも１つの特有操作を含む。
【０１２６】
特有相対位置計算操作は、特有選択操作の前に使用することができる。
一例では、相対位置は、あるサブオブジェクトおよび／またはオブジェクトに属する、すべての基本情報に共通である。別の例では、相対位置は、基本情報ごとに異なり、あるいは、サブオブジェクトにおける基本情報の絶対位置、および／またはオブジェクトにおけるサブオブジェクトの絶対位置に依存するものとすることもでき、そうでないものとすることもできる。より一般的には、相対位置は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従った計算の結果とすることができる。
【０１２７】
サブオブジェクトのサイズ、すなわち各オブジェクト中に存在する基本情報の数量Ｎは、例えば、処理操作に使用されるプラットフォームのアーキテクチャに従って決定される。したがって、一実施形態では、特有操作の少なくとも一部分はＱ個の計算ユニットによって実施され、ＱはＮに等しいかまたはＮの約数である。ＮがＱの倍数であることにより、処理操作はより一層規則的になる。というのは、すべての計算ユニットが同時に計算ステップを完了するからである。
【０１２８】
一実施形態では、Ｑ個のプロセッサの数とＮ個の基本情報の数とは異なり、サブオブジェクトの処理は、Ｎ／Ｑ個の反復の内部ループを１つだけ含む。
したがって処理は規則的であり、メモリと使用レジスタ数は最小限になり、各サブオブジェクト内での通信は、好ましくはレジスタを用いて実施される。
【０１２９】
一実施形態では、数十個から数百個までの計算ユニットがあり、これらの計算ユニットはとりわけ、０．１３μコンポーネントの製造方法を使用して、毎秒、数千万ピクセルを含む画像に対して数百個の演算の計算の実施を可能にする。
【０１３０】
別の実施形態では、計算ユニットの数は数千個から数百万個であり、本発明は、プログラミングの単純性の高さを維持しながら、また計算ユニットの数に比例した性能により、この計算パワーを使用してオブジェクトを処理することを可能にする。
この規則性をさらに改善するために、特有操作の数ＰもまたＱの倍数とすることができる。一般に、特有操作は、プラットフォームの上流でコンパイラによって決定され、コンパイラは、特有操作の数がＱの倍数でない場合に、この関係（特有操作の数がＱの倍数であること）を得るために、効果なしの特有操作を生み出すように構成される。したがって、種々の計算ユニットに対する特有操作の割当てがどんなものであろうと、処理は完全に規則的になる。
【０１３１】
本発明の一実施形態では、プラットフォーム中のＱ個の計算ユニットはすべて同一である。
【０１３２】
いくつかの特有操作はパラメータを使用し、この場合、これらのパラメータの値もまた処理される。これらのパラメータは、例えば乗率とすることができる。これらのパラメータは、例えば、限定しないが以下に挙げるものに対応することができる。
【０１３３】
−フィルタ係数、および／または
−飽和度の値、および／または
−オフセット値、および／または
−相関表
【０１３４】
一実施形態では、特有操作によって使用されるパラメータの値は、これらの特有操作において直接的または間接的に適用される基本情報のサブオブジェクトにおける位置に依存する。例えば、処理されるオブジェクトが画像である場合、撮影に使用された光学機構のせいで画像に欠陥が現れることがある。これらの欠陥は、画像全体にわたり概して一様ではなく、とりわけエッジでは一様ではない。
【０１３５】
この場合、この不鮮明を補償するために、画像のすべてのピクセルに同じ補償係数が適用されることにはならない。
例えば、すべての基本情報に共通のパラメータをフィルタに対して使用すると、鮮鋭度を一様に高めることができる。
【０１３６】
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存するパラメータをフィルタに対して使用すると、光学的な欠陥を補償するためにエッジでより大幅に鮮鋭度が高まる。
【０１３７】
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存するパラメータをビネッティング補正に使用すると、光学的な欠陥を補償するためにエッジでより高い補償が生み出される。
【０１３８】
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存するパラメータをデモザイキング操作に使用すると、センサから受け取られた未処理画像中の「赤」ピクセル、「緑」ピクセル、および「青」ピクセルを異なる方式で処理することができる。
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存する第２のデータ、とりわけ変位を、ディジタル拡大計算（「ズーム」）または歪み補正計算に使用すると、各点における補間を計算するのに必要なピクセルが生成される。
【０１３９】
パラメータの値は、それによって、このパラメータのタイプに応じて、
−一定であり、アルゴリズムに固有である。この場合、パラメータの値はとりわけ、処理手段またはプラットフォームに送出することができる。かつ／あるいは、
【０１４０】
−オブジェクトのソースまたは宛先に依存する。例えば、処理されるオブジェクトが、所与の光学機構を備えたデバイスからの画像である場合、パラメータの値は、光学機構のタイプに依存する可能性があり、光学機構のタイプは、画像中の鮮鋭度のレベルに影響を有する。この場合、パラメータの値はとりわけ、処理手段またはプラットフォームに送出することができる。かつ／あるいは、
【０１４１】
−処理されるオブジェクトに依存する。例えば、処理されるオブジェクトがセンサからの画像である場合、パラメータの値は、このオブジェクトを取り込むのに効果的に使用されるセンサの利得に依存する可能性があり、センサの利得は、画像中の雑音のレベルに影響を有する。この場合、パラメータの値はとりわけ、プラットフォームによって送出、選択、または計算することができる。かつ／あるいは、
【０１４２】
−オブジェクトにおける基本情報の絶対位置に依存する。この場合、パラメータの値はとりわけ、プラットフォームによって送出、選択、または計算することができる。かつ／あるいは、
【０１４３】
−オブジェクトにおける基本情報の絶対位置に依存しない。
パラメータ値は、アルゴリズムの定義との関係で、同時にまたはアポステリオリに決定することができる。
【０１４４】
ある種のパラメータの値が、あるオブジェクトと別のオブジェクト、あるサブオブジェクトと別のサブオブジェクト、またはある基本情報と別の基本情報とで変動する可能性があることを見てきた。
【０１４５】
この場合、一実施形態では、パラメータの値は、変更の度に計算される。別の実施形態では、パラメータの可能な値はアプリオリに計算され、変更の度に索引またはアドレスが決定されて、それにより、パラメータの値へのアクセスが例えば表の中で可能になる。
【０１４６】
別の実施形態は、よりパラメータに特有に適応され、それにより値がサブオブジェクトの絶対位置に従ってあるサブオブジェクトと別のサブオブジェクトとで変動し、かつそれにより値の数が制限される（例えば光学的な鮮鋭度特性に対応するパラメータ）ものだが、この実施形態では、有限数のパラメータ値セットが決定され、各セットは記憶され、各サブオブジェクトにつき、使用されるセットが、例えば使用されるセットのアドレスを与える位置の関数を計算することによって選択される。
【０１４７】
計算ユニットに対する特有操作の割当ては、操作のタイプと、シーケンスと、計算ユニット自体とに依存する。
【０１４８】
例えば、一実施形態では、計算ユニットは特殊化されている。すなわち、１つの同じ特有操作からのＮ個の結果は、１つの同じ計算ユニットによって計算される。特有操作が、プラットフォームのメモリの１つに存在するパラメータを必要とする場合、特殊化された計算ユニットを配置することは時間を節約する。というのは、この操作を担う計算ユニットは、処理の始めにメモリアクセスを実施してパラメータを取り出し、次いで、メモリに再びアクセスする必要なしに操作をＮ回適用することができるからである。
【０１４９】
したがって、一実施形態では、少なくとも１つの特有操作が少なくとも１つのパラメータを適用するとき、この特有操作は、パラメータ値の一部分を含むメモリユニットへのアクセスを有する少なくとも１つの計算ユニットによって実施され、この部分は、この計算ユニットによって実施される特有操作に従って決定される。これらのパラメータ値を記憶するために、種々のハードウェア構成が存在することができ、これらについては後で詳細に述べる。例えば、各計算ユニットがそれ自体のメモリを有することができ、あるいはすべてのユニットに共通のメモリが存在することができ、あるいは計算ユニットは共にグループ化されて、グループごとのメモリを有することさえできる。
【０１５０】
一実施形態では、少なくとも１つの特有操作が少なくとも１つのパラメータを適用するとき、このパラメータの値は、処理されるオブジェクトにおける、サブオブジェクトおよび／または基本情報の位置に依存する。
【０１５１】
いくつかの操作では、パラメータ値は、処理されるオブジェクト全体に対して固定されることになり、他の操作では、この値は位置に応じて変動することになる。したがって、例えば、画像不鮮明補正係数は、位置が画像の中央であるかエッジであるかに応じて、いくらか高くすることができる。
【０１５２】
処理操作を実施するのに使用されるプラットフォームに応じて、計算ユニットの構成は様々とすることができる。したがって一実施形態では、特有操作は、連鎖された計算ユニットによって実施される。
【０１５３】
実際、この場合、計算ユニットは「直列に」またはツリーに従って連鎖させることができ、処理される基本情報に対する計算の結果が、あるユニットから別のユニットに移行する。このような構成は、処理操作が規則的であること、およびそれにより基本情報の移行を規則的に実施できることによって可能になる。
【０１５４】
計算ユニットはまた、いくつかの基本情報を同時に処理するために並列に配置することもできる。この場合、計算ユニットは、異なる基本情報からの計算（例えばフィルタ）の結果を結合することができるように連鎖される。
【０１５５】
一実施形態では、種々のプロセッサを含むコンポーネントのケーブリングを容易にするために、計算ユニットは、１つの次元における連鎖に従って連鎖される。別の実施形態では、計算ユニットは、少なくとも１つの循環的連鎖に従って連鎖される。この後者の実施形態は、途切れのない処理操作を生成する。というのは、基本情報はすべての計算ユニットの中を移行し、いくつかの特有操作を受け、その後で再び最初の計算ユニットに送出されるからである。
【０１５６】
計算ユニットが少なくとも１つの循環的連鎖に従って連鎖される一実施形態では、それにより連鎖は少なくとも１つの待ち行列も含む。
本方法のこの実施形態は、このようにして実施することができる。
サブオブジェクトが次元ＤＳＯを含む本発明の別の実施形態では、特有操作は、サブオブジェクトの各次元での少なくとも１つの循環的連鎖に従って連鎖された計算ユニットによって実施される。サブオブジェクトの各Ｄ１特有次元での循環的連鎖（１つまたは複数）はさらに、サブオブジェクトのＤ１特有次元での循環的連鎖（１つまたは複数）間で共有されるかまたは共有されない少なくとも１つの待ち行列を含む。
【０１５７】
本方法のこの実施形態は、このようにして実施することができる。これについては後で図によって詳細に述べる。
好ましくは、サブオブジェクトの同じ１つの次元に従っていくつかの循環的連鎖がある場合（とりわけプロセッサがグリッドに従って配置されているとき）、待ち行列は、同じ次元に従ったすべての循環的連鎖間で共有される。好ましくは、サブオブジェクトの各次元につきちょうど１つの待ち行列があり、各待ち行列は、同じ次元に従ったすべての循環的連鎖間で共有される。
【０１５８】
サブオブジェクトが次元ＤＳＯを含む本発明の別の実施形態では、特有操作は、少なくとも１つのＣＣ１循環的連鎖を用いてサブオブジェクトのＤＤ所定次元に従って連鎖された計算ユニットによって実施される。このＣＣ１循環的連鎖はさらに、少なくとも１つの待ち行列を含む。この実施形態では、本方法はさらに、少なくとも１つの特有命令に対し、この特有命令が適用される度に、計算ユニットＵＣ１上で実施された特有命令のこの適用の結果を、この連鎖に従ってこの計算ユニットＵＣ１に続く計算ユニットＵＣ２または待ち行列に送出するステップを含む。
【０１５９】
本方法のこの実施形態は、このようにして実施することができる。
一実施形態では、サブオブジェクトは次元ＤＳＯを含み、特有操作は、少なくとも１つのＣＣ１循環的連鎖を用いてサブオブジェクトのＤＤ所定の次元に従って連鎖された計算ユニットによって実施される。このＣＣ１循環的連鎖は、少なくとも１つの待ち行列をさらに含む。本方法はさらに、少なくとも１つの特有操作に対して、この特有操作が適用される度に以下のステップを含む。
【０１６０】
−計算ユニットＵＣ１上で実施された特有操作の上記適用からの結果を、この連鎖に従ってこの計算ユニットＵＣ１に続く計算ユニットＵＣ２または待ち行列に送出する。
−別のサブオブジェクトの処理中に待ち行列に送出された特有命令の適用の結果を、待ち行列から、待ち行列中の後続の処理ユニットＵＣ０に、オブジェクトにおけるサブオブジェクトの位置に従って条件付きで送出する。
【０１６１】
一実施形態では、計算ユニットはそれぞれ少なくとも１つの連鎖に属し、この連鎖は、サブオブジェクトの各次元にある。
一実施形態では、本方法はさらに、少なくとも２つの特有命令に対し、２つの特有命令の一方が適用される度に、計算ユニットＵＣ１上で実施された特有命令のこの適用の結果を、特有命令ごとに独立した方式で事前に決定された連鎖に従って、この計算ユニットＵＣ１に続く計算ユニットＵＣ２または待ち行列に送出するステップを含む。実際には、使用される連鎖は、特有命令シーケンスによって実行されるフィルタ（例えば垂直または水平）のタイプに依存する。
【０１６２】
一実施形態では、以下のような２つのタイプの特有操作がある。
−連鎖を適用しない。
−または、連鎖を系統的に、すなわち特有操作が実施される度に、適用する。この場合、異なるプロセッサによる同じ特有操作によって適用されるすべての連鎖は、同じ次元に従う。
【０１６３】
一実施形態では、特有操作は、少なくとも１つの循環的連鎖に従って連鎖された計算ユニットによって実施される。この連鎖は、特有操作からの結果を、この結果を生成したプロセッサに対する連鎖中の後続のプロセッサまたは待ち行列に送出できるようにする。
【０１６４】
一実施形態では、特有操作は、少なくとも１つの循環的連鎖に従って連鎖された計算ユニットによって実施される。この循環的連鎖はさらに、少なくとも１つのファイルを含む。このファイルは、少なくとも１つの他のサブオブジェクトの計算に必要な特有操作からの結果を送出できるようにする。
【０１６５】
別の実施形態では、本方法は、別のサブオブジェクトのサブ処理操作中に使用される特有操作からの結果を、当該サブオブジェクトとの関係におけるこの別のサブオブジェクトの相対位置に従って、メモリに共にグループ化して記憶するステップを含む。
【０１６６】
一実施形態では、本方法はさらに、別のサブオブジェクトのサブ処理中に使用される特有操作からの結果を、少なくとも１つの待ち行列中に共にグループ化するステップを含む。
【０１６７】
さらに、いくつかの実施形態では、本方法はさらに、特有操作からのこれらの結果の少なくとも一部分をメモリまたは待ち行列中で保持できるようにする命令をプラットフォームに提供するステップを含む。
【０１６８】
処理操作は、当然、プラットフォームのハードウェア能力を最適に利用するために、このプラットフォームの構成に適応させなければならない。この目的で、一実施形態では、本方法は、計算ユニットの連鎖に従って、かつシーケンスに従って特有操作を計算ユニットに割り当てるステップを含む。このステップはまた、プラットフォームの上流に位置するコンパイラによって実施することもできる。
【０１６９】
さらに、やはりプラットフォームの能力を最適に利用するために、プログラム可能な計算ユニットを使用すること、すなわち、特有操作のシーケンスを、および／または種々の計算ユニットに対する特有操作の割当てを、これらの計算ユニットを含むコンポーネントが作成された後で修正できることは、興味深いことである可能性がある。したがって、一実施形態では、特有操作の順序および／または性質を修正することができる。しかし、計算ユニットがプログラム可能であっても、計算ユニットは、コンポーネントの作成時に最初にプログラムすることができる。このようにして、本発明の一実施形態では、特有操作は、少なくとも１つの所定の特有操作シーケンスに従ってケーブルされた計算ユニットによって実施される。この実施形態は、例えば、外部メモリを使用する必要を回避する。実際、アルゴリズムに関して実施されることになる操作のシーケンシングスケジュールをこのようなメモリが含むようにするのではなく、オブジェクトに適用されることになるこのアルゴリズムに対応する順序で操作が実施されるように計算ユニットをケーブルすることができる。
【０１７０】
処理操作が実行されるプラットフォームは、種々のタイプのメモリを有することができ、これらのメモリは、容量とアクセス速度の両方の点で様々である。例えば、高速メモリおよび／またはレジスタは、ある種のデータをすぐに再使用する必要のあるフィルタなどの操作の場合に、操作からの結果を短期間にわたり記憶するのに使用することができる。したがって、一実施形態では、少なくとも１つの特有操作は、基本情報および／または特有操作からの結果を記憶するための限られた容量のメモリユニットが備わった少なくとも１つの計算ユニットによって実施され、このメモリは、少なくとも１６個の基本情報および／または特有操作からの結果を含む。ここでは高速メモリは一般に容量が限られているので、場合によっては、より多くの基本情報および／または特有操作からの結果を記憶するために、より容量の大きいメモリも有する必要がある。
【０１７１】
この目的で、一実施形態では、少なくとも１つの特有操作は、他のサブオブジェクトからの少なくとも１つの基本情報および／または少なくとも１つの特有操作結果を含む通信メモリユニットへのアクセスを有する少なくとも１つの計算ユニットによって実施される。
【０１７２】
この通信メモリは一般に、他のサブオブジェクトの処理に使用される基本情報および／または特有操作からの結果を、長期間にわたり記憶するのに使用される。特有操作の一部のみがこのようなデータを生成または使用し、したがって、必要な速度は限られている。本発明によってもたらされる規則性は、このデータが何であるかについて非常に単純な決定を可能にし、したがってキャッシュメモリ機構を使用する必要を回避し、これにより、プラットフォームの複雑さおよびコストが低減する。したがって、一実施形態では、通信メモリユニットは、０．３＊Ｎアクセス／サブオブジェクト／特有操作よりも低いアクセス速度を有する。比較的アクセス速度の低いこのようなメモリは、高速と高容量の両方であったメモリが必要とされた場合よりも低コストとなる。このことは、本発明の利点の１つである。
【０１７３】
処理プラットフォームが、メモリ容量が縮小されたような処理プラットフォームである場合、サブオブジェクトのサイズは、処理操作を正しく適用できるように選択しなければならない。したがって、とりわけプラットフォームが携帯電話機に統合された場合に用いられる一実施形態では、Ｑの値は１に固定され、Ｎの値は２と１６の間に含まれる。例えば、プラットフォームが、携帯電話機によって撮影された写真を処理するようになっている場合、すべての操作は、一度に１つの単一ピクセルずつに適用されることになる。
【０１７４】
反対に、例えばプラットフォームがベクトル信号プロセッサを備えているときのような、いくつかの場合では、多数の計算ユニットを有することが可能である。このハードウェア構成は、計算ユニットが節度をもって使用された場合、オブジェクトの処理操作の高速化を可能にする。この目的で、一実施形態では、少なくとも１つの特有操作は、少なくとも２つの同一の計算ユニットによって同時に実施される。したがって本発明は、処理操作の規則性によって、プロセッサの最適な使用を可能にする。
【０１７５】
実施形態に応じて、特有操作は、加算、減算、乗算、相関表の適用、最小値、最大値、および選択を含むグループからの、少なくとも１つの特有計算操作を含む。
したがって、一実施形態では、少なくとも１つの特有計算操作はまた、オフセットおよび／または飽和度および／または丸めを実施する。本発明によれば、特有選択計算操作は、少なくとも２つのデータ項目から、第３のデータ項目の値に従ってデータを選択することを可能にする。
【０１７６】
一実施形態では、相関表の適用は、表の入力と有限数の係数とを使用した計算によって実施される。一実施形態では、係数の有限数は８に固定される。
【０１７７】
さらに、別の実施形態では、特有操作は、少なくとも１つの循環的連鎖ＣＣ１を用いて、連鎖された計算ユニットによって実施される。この循環的連鎖ＣＣ１はさらに、少なくとも１つの待ち行列を含む。特有操作シーケンスからの少なくとも１つの特有操作ＩＳ４は、計算ユニットＵＣ１上で実施された特有操作ＩＳ５の結果を、この連鎖に従ってこの計算ユニットＵＣ１に続く計算ユニットＵＣ２または待ち行列に送出する。
【０１７８】
一実施形態では、ＩＳ４特有操作は、前のサブ処理操作中に実施された特有操作ＩＳ５の結果を、待ち行列から、待ち行列に続く計算ユニットＵＣ０に送出する。好ましくは、待ち行列は、待ち行列に入力された順序と同じ順序でデータを出力することを可能にする。好ましくは、計算ユニットと待ち行列とを含む連鎖は、ブート操作の管理を可能にする機構を含む。待ち行列は、定期的に、例えば待ち行列が水平連鎖の一部でありオブジェクトが画像である場合は各ラインの最初に、初期化される。特有命令ＩＳ４の最初の実行時は、待ち行列からＵＣ０に送出されるデータはない。次に、特有操作ＩＳ４は、前のサブ処理操作中に実施された特有操作ＩＳ５の結果を、待ち行列から、待ち行列に続く計算ユニットＵＣ０に送出する。
【０１７９】
値ＮおよびＱは、実施形態に従って変動する。各実施形態は、異なる利点を有する。したがって、一実施形態では、ＮはＱの倍数ではない。この実施形態の一代替形態では、Ｑは、汎用操作のシーケンスを変換することによって得られるシーケンスの特有操作の数量に等しい。
【０１８０】
一実施形態では、ＮはＱの倍数である。これにより処理は規則的になる。好ましくは、Ｎ＝Ｑである。これにより、一時的な結果を記憶するのに必要とされるメモリの量が削減される。
【０１８１】
一実施形態では、Ｑ＝１およびＮ＝４である。これにより、１つの同じ特有操作を複数回適用するのに、同じパラメータ値を再使用することができる。
一実施形態では、Ｑ＞１およびＮ＝Ｑである。これにより、ベクトル信号プロセッサのＱ個の計算ユニットを１００％使用することができる。
【０１８２】
一実施形態では、Ｑ＞１であり、ＮはＱの倍数である。これにより、ベクトル信号プロセッサのＱ個の計算ユニットを１００％使用することができ、サブオブジェクトの処理中に実施され別のサブオブジェクトの処理に使用される特有操作からの結果の数量を削減することができる。
【０１８３】
一実施形態では、各プロセッサが、特有操作のシーケンスのすべての操作を実施する。
一実施形態では、すべてのプロセッサが、同じ特有操作を同時に実施する。別の実施形態では、すべてのプロセッサが、同じ特有操作を連続して実施し、これは再帰型フィルタの実施を可能にする。
【０１８４】
基本情報および操作結果をメモリに記憶することは、基本情報検索中に時間を浪費しすぎないように、比較的単純なアドレス指定を必要とする。この目的で、一実施形態では、特有操作結果の少なくとも一部分は、メモリ中で「ベースアドレス＋オフセット」または「ベースアドレス＋ｍｏｄオフセット（バッファメモリのサイズ）」のフォーマットのアドレスに記憶され、オフセットは、１つの同じ特有操作からのすべての結果に対して一定である。バッファメモリは、好ましくは、処理プラットフォームのメモリの１つに統合される。とりわけ、バッファメモリは待ち行列とすることができる。
【０１８５】
別の実施形態では、ベースアドレスは、サブオブジェクトが処理操作において変更される度に修正される。
一実施形態では、このアドレス指定は、とりわけ、少なくとも１つの次元に従ったサブオブジェクト間の通信のためのデータに使用することができる。
【０１８６】
ベクトル信号プロセッサの特定の場合では、アドレス計算はすべてのプロセッサに共通であり、サブオブジェクトのサイズに対する基本情報および／または特有操作結果のグループを送達するメモリを使用することができる。
【０１８７】
ある種のハードウェア構成では各計算ユニットがそれ自体のメモリを有することを上に示した。この場合、所与のアドレスは、いくつかのメモリに関係があるものとすることができる。すなわち、ここで定義されるメモリアドレスは、実際には、１つの同じ特有操作を実施するすべての計算ユニットによって使用されるすべてのメモリアドレスを表す。
【０１８８】
一実施形態では、特有操作結果の少なくとも一部分は、メモリ中で、１つの同じ特有操作からのすべての結果に対して事前に決定されたアドレスに記憶される。
上記の方法は、処理操作を実施するのに必要とされる計算ユニットの数を比較的少数とすることができるような方法である。したがって、一実施形態では、少なくとも１つのレジスタユニットと少なくとも１つのサブオブジェクト通信メモリとが備わった少なくとも１つの計算ユニットによって特有操作が実施されるとき、処理プラットフォーム上のトランジスタの数は、通信メモリなしの関連レジスタのユニットを含めて、１計算ユニット当たり１００００個未満である。
【０１８９】
本発明の一実施形態では、プラットフォームには、汎用フォーマット化データに基づいて計算された特有フォーマット化データが、好ましくは直接的に提供され、この汎用フォーマット化データは、少なくとも１つの汎用操作シーケンスを記述する第１のデータを含み、特有フォーマット化データの計算は、プラットフォーム中の基本情報に関するスクローリングモードと、汎用操作からの特有操作とを反映して実施され、これらの特有操作は、プラットフォーム中でのオブジェクトの処理中にオブジェクトに対して実施される特有操作のシーケンスを形成する。したがって、オブジェクトの処理は、汎用フォーマット化データを変更して、プラットフォームに最適化された特有フォーマット化データを自動的に得ることによって、容易に修正することができる。それにより、プラットフォームの市場リリースにかかる時間が加速される。それにより、コードサイズ、計算時間、およびメモリの数量が最適化される。それにより、電気的消費およびプラットフォームのコストが削減される。
【０１９０】
汎用操作は、基本情報からなりオブジェクトのすべてまたは一部を構成することのできる、サイズやフォーマットの概念を伴わない論理ブロックすなわち抽象エンティティに適用される操作である。
【０１９１】
この記述では、汎用フォーマット化データは、データ処理プラットフォームによってオブジェクトに対して実施されることになる処理操作を、プラットフォーム自体から独立して記述するのに使用されるディジタルデータである。特有フォーマット化データは、コンパイラを使用して、特有フォーマット化データを使用するプラットフォームに適応されたバイナリコードを生成することで、直接的または間接的に提供することができる。
【０１９２】
種々の可能なスクローリングモードがあり、これらのいくつかについては以下にさらに述べる。これらのスクローリングモードを使用して、処理されるオブジェクトに適用される特有操作を生成することもできる。これにより、比較的短期間のうちにアルゴリズムを市場リリースすることが可能になる。
【０１９３】
一実施形態では、汎用操作は、論理ブロックおよび／またはパラメータの加算、論理ブロックおよび／またはパラメータの減算、論理ブロック間の差の絶対値の計算、論理ブロックおよび／またはパラメータの乗算、少なくとも２つの論理ブロックおよび／またはパラメータのうちの最大値、少なくとも２つの論理ブロックおよび／またはパラメータのうちの最小値、相関表の適用、論理ブロックおよび／またはパラメータの条件付き選択（この選択は、ａ＞ｂならばｃが選択され、そうでなければｄが選択されるように行われる。ａ、ｂ、ｃ、およびｄは、論理ブロックおよび／またはパラメータである）、論理ブロックに関するヒストグラム、論理ブロックに関するスケール変更、少なくとも１つの座標を含むブロックを生成する操作、を含むグループに含まれる少なくとも１つの基本汎用操作を含む。
【０１９４】
別の実施形態では、基本情報は固定点における数値で表され、汎用操作は、オフセット操作、飽和度操作、および／または、この飽和度操作と組み合わせた少なくとも１つの基本汎用操作を含む。
【０１９５】
たった今定義したハードウェア特性はすべて、どんなタイプのプラットフォームが使用されようと、またどんなタイプのオブジェクトが処理されることになろうと、有効であることが明白である。
【０１９６】
したがって、一実施形態では、処理されるオブジェクトは画像であり、基本情報はこの画像のピクセルである。この場合、処理プラットフォームは、例えば画像取込みおよび／またはレンダリングデバイスの一部であり、操作は、操作のシーケンスに、かつ／または処理プラットフォームに、かつ／または処理されるオブジェクトに依存する値を有するパラメータを適用し、これらのパラメータ値は、画像取込みおよび／またはレンダリングデバイスの、光学機構および／またはセンサおよび／またはイメージャおよび／または電子機構および／またはソフトウェアの特性にリンクされる。特性は、例えば、すべてのオブジェクトに対する固有の固定特性とすることもでき、あるいはオブジェクトに従った変数とすることもでき、例えば、センサの利得に従って変動する雑音特性とすることができる。特性はまた、基本情報の絶対位置に従って、すべての基本情報または可変情報に対して同一とすることもでき、例えば光学的な鮮鋭度の特性とすることができる。
他の実施形態では、処理されるオブジェクトはディジタルオーディオ信号であり、基本情報は、この信号のオーディオサンプルにある。さらには、処理されるオブジェクトは数値メッシュですらあり、基本情報は、メッシングの各点を特徴付ける空間および時間情報である。
【０１９７】
本発明はまた、同じタイプの基本情報（５４、５６、５８、６０、１５４、１５６、１５８、および１６０）からなるオブジェクト（５５）を処理することになっている、１つまたは複数のプロセッサとメモリとを有するプラットフォームに関し、このプラットフォームは、処理されるオブジェクトを、Ｎ個の基本情報（５４、５６、５８、１５４、１５６、１５８）からそれぞれなる少なくとも２つのサブオブジェクト（５０、５１、５２、および５３）に分解する手段であってすべてのサブオブジェクト（５０、５１、５２、および５３）が同じ数量Ｎの基本情報を有する手段と、各サブオブジェクトの基本情報（５０、５１、５２、５３）に対して少なくとも１つの特有操作シーケンスを実施する手段とを備え、この処理手段はさらに、各サブオブジェクトにつき各特有操作を少なくともＮ回実施する手段を備え、それにより、一方では、各サブオブジェクトの各基本情報が少なくとも１回適用され、他方では、各特有操作のＮ個の結果が生成され、この処理手段は、特有操作のシーケンスの少なくとも１つの特有操作（６２）が、そのＮ回の適用（６２ａ、６２ｂ、６２ｃ、６２ｄ、６２ｅ、６２ｆ）全体のうちで少なくとも１回、別のサブオブジェクトに属する基本情報（６０、１６０）を直接的または間接的に適用するような処理手段である。
【０１９８】
一実施形態では、処理されるオブジェクトは次元ＤＯを含み、サブオブジェクトは、オブジェクトの次元ＤＯから選択された次元ＤＳＯを含み、オブジェクトを分解する手段は、サブオブジェクトの次元の少なくとも１つに従ってサブオブジェクトがオーバーレイを有さないような手段である。
【０１９９】
したがって、好ましくは、特有操作は、サブオブジェクトがオーバーレイを有さない次元に従った少なくとも１つの循環的連鎖に従って連鎖された計算ユニットによって実施される。
【０２００】
また好ましくは、サブオブジェクトは、どんな次元に従ったオーバーレイも有さない。
一実施形態では、プラットフォームは、サブオブジェクトの処理中に実施され別のサブオブジェクトの処理に使用される、基本情報および／または特有操作からの結果を記憶するために、少なくとも１つのオブジェクト間通信メモリを備える。
【０２０１】
一実施形態では、プラットフォームは、オブジェクトの処理中に同じデータを適用する特有操作を含まない特有操作のシーケンスを実施する手段を備える。
【０２０２】
一実施形態では、オブジェクトは次元ＤＯを含み、基本情報は、プラットフォーム中で、オブジェクトのＤＥ次元の１つに従って、次いで他の次元に従って受け取られ、サブオブジェクトは、オブジェクトの次元ＤＯから選択されＤＥ次元を含む次元ＤＳＯを含み、プラットフォームは、処理操作に含まれる内部サブオブジェクトスクローリングループがＤＥ次元に従って実施されるようなプラットフォームである。
【０２０３】
一実施形態では、オブジェクトは次元ＤＯを含み、基本情報は、プラットフォーム中で、オブジェクトのＤＥ次元の１つに従って、次いで他の次元に従って受け取られ、サブオブジェクトは、オブジェクトの次元ＤＯを含むか、またはオブジェクトの次元ＤＯから選択されＤＥ次元が含まれない次元ＤＯ−１を含み、プラットフォームは、処理操作に含まれる内部サブオブジェクトスクローリングループがＤＥ次元に従って実施されるようなプラットフォームである。
【０２０４】
一実施形態では、処理されるオブジェクトを分解する手段は、各次元におけるサブオブジェクトのサイズが、オブジェクトのサイズ、ならびに／または、基本情報がプラットフォームによって受け取られる速度、ならびに／または、プラットフォームの計算速度、ならびに／または、プラットフォームのメモリのうちの少なくとも１つのサイズおよび速度、に従って決定されるような手段である。
【０２０５】
一実施形態では、特有操作の少なくとも一部分が少なくとも１つのパラメータ値を適用する場合、プラットフォームは、同じ特有操作を同時に計算するＱ個の計算ユニットを備え、プラットフォームはさらに、少なくとも１つの特有選択操作を含む少なくとも１つの特有操作シーケンスを実施する手段を備え、この特有選択操作は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って、プロセッサごとに差別化された方式で、Ｑ個の計算ユニット上で同時にＣ個のパラメータ値からパラメータ値を選択することを実施する。
【０２０６】
一実施形態では、プラットフォームは、同じ特有操作を同時に計算するＱ個の計算ユニットを備え、さらに、少なくとも１つの特有選択操作を含む少なくとも１つの特有操作シーケンスを実施する手段を備え、この特有選択操作は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って、プロセッサごとに差別化された方式で、Ｑ個の計算ユニット上で同時にデータＣからデータ項目を選択することを実施する。
【０２０７】
一実施形態では、プラットフォームは、少なくとも１つの特有位置操作を含む特有操作のシーケンスを実施する手段を備え、オブジェクトは次元ＤＯを含み、この特有位置操作は、次元ＤＯの１つに従った位置情報を生成する。
【０２０８】
一実施形態では、プラットフォームは、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って相対位置を生成する少なくとも１つの特有操作を含む特有操作のシーケンスを実施する手段を備える。
【０２０９】
一実施形態では、プラットフォームは、特有操作の少なくとも一部分を実施するためのＱ個の計算ユニットを備え、ＱはＮに等しいかまたはＮの約数である。
一実施形態では、Ｑ個の計算ユニットの数はＮとは異なり、サブオブジェクトの処理は、Ｎ／Ｑ個の反復の単一内部ループを１つ含む。
一実施形態では、プラットフォームは、Ｑ個の計算ユニットが同一であるようなプラットフォームである。
【０２１０】
一実施形態では、プラットフォームは、１つの単一特有操作からのＮ個の結果が、１つの同じ計算ユニットによって計算されるような手段を備える。
一実施形態では、プラットフォームは、少なくとも１つの特有操作が少なくとも１つのパラメータを適用するとき、この特有操作を実施する手段を備え、プラットフォームはさらに、パラメータの値の一部分を含むメモリユニットへのアクセスを有する計算ユニットを備え、プラットフォームは、この部分が、この計算ユニットによって実施される特有操作に従って決定されるようなプラットフォームである。
【０２１１】
一実施形態では、プラットフォームは、少なくとも１つの特有操作が少なくとも１つのパラメータを適用するとき、このパラメータが、処理されるオブジェクトにおけるサブオブジェクトに依存するような手段を備える。
一実施形態では、プラットフォームは、連鎖された計算ユニットを備える。
一実施形態では、プラットフォームは、１つの連鎖および１つの次元に従って連鎖された計算ユニットを備える。
【０２１２】
一実施形態では、プラットフォームは、少なくとも１つの循環的連鎖に従って連鎖された計算ユニットを備える。
さらに、この連鎖は、一実施形態では、少なくとも１つの待ち行列を含むことができる。
【０２１３】
サブオブジェクトが次元ＤＳＯを含む一実施形態では、プラットフォームは、サブオブジェクトの各次元での循環的連鎖に従って連鎖された計算ユニットを備える。サブオブジェクトの各Ｄ１特有次元での循環的連鎖（１つまたは複数）はさらに、サブオブジェクトのＤ１特有次元での循環的連鎖（１つまたは複数）間で共有されるかまたは共有されない少なくとも１つの待ち行列を含む。
【０２１４】
一実施形態では、プラットフォームは、循環的連鎖ＣＣ１を用いてサブオブジェクトの所定次元ＤＤの少なくとも１つに従って連鎖された計算ユニットを備える。循環的連鎖はさらに、少なくとも１つの待ち行列を含む。プラットフォームは、特有命令が適用される度に、第１の計算ユニットＵＣ１中でのこの適用の結果が、この連鎖に従ってこの第１の計算ユニットＵＣ１に続く計算ユニットＵＣ２または待ち行列に送出されるようなプラットフォームである。
【０２１５】
一実施形態では、プラットフォームは、別のサブオブジェクトのサブ処理操作中に使用される特有操作からの結果を、当該サブオブジェクトとの関係におけるこの別のサブオブジェクトの相対位置に従って記憶するための少なくとも１つのメモリを備える。
【０２１６】
さらに別の実施形態では、プラットフォームは、少なくとも１つの循環的連鎖に従って連鎖された計算ユニットと、計算ユニットの連鎖およびシーケンスに従って特有操作を計算ユニットに割り当てる手段とを備える。
【０２１７】
一実施形態では、プラットフォームは、特有操作の順序および／またはタイプを修正することができるような手段を備える。
一実施形態では、プラットフォームは、少なくとも１つの所定の特有操作シーケンスに従って特有操作を実施するためのケーブルされた計算ユニットを備える。
【０２１８】
一実施形態では、プラットフォームは、基本情報および／または特有操作結果を記憶するための限られた容量のメモリユニットが備わった少なくとも１つの計算ユニットを備え、このメモリは、少なくとも１６個の基本情報および／または特有操作結果を含む。
【０２１９】
一実施形態では、プラットフォームは、他のサブオブジェクトからの基本情報および／または特有操作結果を含む通信メモリユニットへのアクセスを有する少なくとも１つの計算ユニットを備える。
一実施形態では、プラットフォームは、通信メモリユニットが０．３＊Ｎアクセス／サブオブジェクト／特有操作よりも低いアクセス速度を有するようなプラットフォームである。
【０２２０】
一実施形態では、プラットフォームはとりわけ携帯電話機に統合され、Ｑの値が１に固定されＮの値が２と１６の間に含まれるような手段を備える。
一実施形態では、プラットフォームは、少なくとも１つの特有操作を同時に実施する少なくとも２つの同一の計算ユニットを備える。
【０２２１】
一実施形態では、プラットフォームは、特有操作結果の少なくとも一部分がメモリ中で「ベースアドレス＋オフセット」または「ベースアドレス＋ｍｏｄオフセット（バッファメモリのサイズ）」のフォーマットのアドレスに記憶されるような手段を備え、オフセットは、１つの同じ特有操作からのすべての結果に対して一定である。
【０２２２】
一実施形態では、プラットフォームは、サブオブジェクトが処理操作において変更される度にベースアドレスを修正する手段を備える。
一実施形態では、プラットフォームは、特有操作結果の少なくとも一部分が、メモリ中で、１つの同じ操作からのすべての結果に対して事前に決定されたアドレスに記憶されるような手段を備える。
【０２２３】
一実施形態では、プラットフォームは、メモリが備わった少なくとも１つの計算ユニットを備え、トランジスタの数は、関連メモリユニットを含めて、１計算ユニット当たり１００００個未満である。
【０２２４】
一実施形態では、プラットフォームは、汎用フォーマット化データから計算された特有フォーマット化データを、入力上で好ましくは直接的に受け取る手段を備え、この汎用フォーマット化データは、少なくとも１つの汎用操作シーケンスを記述する第１のデータを含み、特有フォーマット化データの計算は、プラットフォーム中の基本情報に関するスクローリングモードと、汎用操作からの特有操作とを反映して実施され、これらの特有操作は特有操作のシーケンスを形成し、プラットフォームは、この特有操作シーケンスをオブジェクトに対して実施する手段を備える。
【０２２５】
一実施形態では、プラットフォームは、画像で構成されるオブジェクトを処理する手段を備え、基本情報はこの画像のピクセルである。
一実施形態では、プラットフォームは、画像取込みおよび／またはレンダリングデバイスの一部であり、操作は、操作のシーケンスに、かつ／またはこのプラットフォームに、かつ／または処理されるオブジェクトに依存する値を有するパラメータを適用し、これらのパラメータ値は、画像取込みおよび／またはレンダリングデバイスの、光学機構および／またはセンサおよび／またはイメージャおよび／または電子機構および／またはソフトウェアの特性にリンクされる。
【０２２６】
一実施形態では、プラットフォームは、ディジタルオーディオ信号で構成されるオブジェクトを処理する手段を備え、基本情報はこの信号のオーディオサンプルである。
一実施形態では、プラットフォームは、数値メッシュで構成されるオブジェクトを処理する手段を備え、基本情報は、メッシングの各点を特徴付ける空間および時間情報である。
【０２２７】
本発明は、前述の方法による処理方法で処理されるオブジェクトにも関する。
本発明の他の特徴および利点は、その実施形態のいくつかに関する非限定的な記述から明らかになるであろう。この記述は図によってサポートされる。
【発明を実施するための最良の形態】
【０２２８】
図２に示すデバイスは、画像２２を処理するために使用され、この画像は、少なくとも１つの数値で表されるピクセルのセットである。
このデバイス中で、ディジタルデータ処理手段１０に汎用フォーマット化データ１２が提供される。この処理手段は、例えばコンパイラとすることができる。
【０２２９】
本発明による方法によって供給される汎用フォーマット化データは、第１および第２のデータ１４を含み、第１および第２のデータ１４は、汎用操作のシーケンスを記述し、また、これらの汎用操作に関係する論理ブロックの相対位置を提供する。この第１および第２のデータについては、図３に例示する。
【０２３０】
処理手段１０はまた、画像取込みまたはレンダリングデバイスなどの処理プラットフォーム２０の特性に従って決定された、プラットフォーム中の基本情報に関するスクローリングモード２４を、入力上で受け取る。
この汎用フォーマット化データ１２およびこれらのパラメータを使用して、処理手段１０は、処理プラットフォーム２０に特有フォーマット化データ１８を提供する。
【０２３１】
特有フォーマット化データは、プラットフォームのメモリにおけるピクセルの構成、ピクセルがプラットフォームによって処理される順序、さらにはプラットフォームによって実施される特有操作のグループ化に関するデータなど、種々のタイプのデータを含む。
【０２３２】
次いでプラットフォーム２０は、この特有フォーマット化データ１８を使用して、インバウンドで受け取った画像２２を処理する。
【０２３３】
以下の表４および図３に、論理ブロックＢ１に適用される汎用操作のシーケンスの形で、汎用フォーマット化データの例を示す。このシーケンスは、３つの汎用操作を含む。表の列は、順番に以下の項目を示す。
【０２３４】
−シーケンスにおける操作のランク。
−汎用操作の名前。
−汎用操作の結果が書き込まれる論理ブロック（出力）。すなわち、オブジェクトが各操作の終わりに再構成された場合に、この結果が位置することになる場所。
−汎用操作の第１の入力（入力１）。これは論理ブロックまたはパラメータとすることができる。
【０２３５】
−妥当な場合に、入力１における論理ブロックに関連して使用される論理ブロックの相対位置。
−汎用操作の第２の入力（入力２）。これもまた論理ブロックまたはパラメータとすることができる。
−妥当な場合に、入力２における論理ブロックに関連して使用される論理ブロックの相対位置。
【０２３６】
「相対位置」の列に位置する情報は、本発明による方法を使用して処理手段に提供される第２のデータ中に存在する情報である。
一実施形態では、汎用フォーマット化データは第２のデータを含み、第２のデータは、とりわけ空間的および／または時間的な、オブジェクトの次元の少なくとも１つに従った、相互との関係におけるブロックおよび／またはパラメータの相対位置を参照し、かつ／あるいは、とりわけ空間的および／または時間的な、オブジェクトの次元の少なくとも１つに従った、相互との関係における論理ブロックおよび／またはパラメータの相対スケールを参照する。
【０２３７】
この表では、この情報は、簡略化のために「左」および「右」の形で出ているが、実際は、汎用フォーマット化データ中で、（０；１）などの数値で、かつ／またはｆ（ｘ；ｙ）などの関数でコーディングすることもできる。
【０２３８】
一実施形態では、ある汎用操作は、オブジェクトの次元の１つに従った絶対位置で構成される論理ブロックを生成し、インダイレクションと呼ばれる別の汎用操作は、第３のブロックから、第２のブロックで示される変位および／またはスケール変更によってブロックを生成する。この場合、ブロックに対する汎用操作を使用してから、汎用インダイレクション操作を使用して相対変位および／または対応する相対スケール変更を実施して、相対位置および／または相対スケールを提供する関数、例えば０．５＊（ｘ−１００）を計算することができる。
【０２３９】
表４はコーディングの一例に過ぎず、第１のデータおよび第２のデータは様々な方式でコーディングすることができ、表フォーマットでも、しかし記号フォーマットやグラフフォーマットでも、あるいは他のどんなフォーマットでもコーディングすることができる。さらにこの例では、簡略化のために、データ型、オフセット、および飽和度に関する追加情報は示していない。
【表１】
2009524123.tif 000003
【０２４０】
この操作シーケンスで使用される第１の論理ブロックは、論理ブロックＢ１（５１）である。第１の汎用操作は、左にずれた論理ブロックＢ１（５１ｇ）と右にずれた論理ブロックＢ１（５１ｄ）との加算（５２）である。この加算の結果は、ブロックＢ２（５３）に記録される。すなわちＢ２＝Ｂ１ｌｅｆｔ＋Ｂ１ｒｉｇｈｔである。
【０２４１】
第２の操作（５４）は、表に関連してブロックＢ２（５３）を変形することである。したがってこの操作は、入力におけるブロックＢ２（５３）と、修正表を表すパラメータＰａｒａｍ１（５５）とを有する。この操作の結果は、ブロックＢ３（５６）に記録される。すなわちＢ３＝ＬＵＴ（Ｐａｒａｍ１，Ｂ２）である。
【０２４２】
このシーケンスにおける第３かつ最後の操作（５７）は、論理ブロックの乗算である。この操作は、論理ブロックＢ３（５６）および論理ブロックＢ１（５１）を有し、すなわち入力に対してＢ４＝Ｂ３＊Ｂ１である。
したがって、論理ブロックＢ４（５８）は、汎用操作のシーケンスの終わりに得られるブロックである。
【０２４３】
表１の例における汎用フォーマット化データは、プラットフォームと、オブジェクトのサブオブジェクトへの分解と、オブジェクトの基本情報のスクローリングモードと、基本情報がプラットフォーム中で処理されることになる順序とから、ならびに記憶された構成から独立している。実際、表１の汎用フォーマット化データは、様々な方式で特有フォーマット化データやプラットフォーム用コードに変換することができ、これは例えば、限定しないが以下に挙げる変換に従って行うことができる。
【０２４４】
第１の変換例は、メモリおよび計算時間の点で最適ではないが、サブオブジェクトへの分解を伴わない単純な変換を例示する。
左側と右側の２つの列を除いた、入力オブジェクトのピクセルＢＰ１（論理ブロックＢ１に対応する）のそれぞれにつき（ピクセルは左から右へ、次いで上から下へスクロールされる）、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果を物理ブロックＢＰ２（論理ブロックＢ２に対応する）に記憶する。
【０２４５】
左から右へ、次いで上から下へスクロールされるＢＰ２の各ピクセルにつき、
現ピクセルに表を適用し、結果を物理ブロックＢＰ３（論理ブロックＢ３に対応する）に記憶する。
左から右へ、次いで上から下へスクロールされるＢＰ３の各ピクセルにつき、
現ピクセルにＢＰ１の対応ピクセルを乗算し、結果を物理出力ブロックＢＰ４（論理ブロックＢ４に対応する）に記憶する。
【０２４６】
第２の変換例は、汎用フォーマット化データを変更することなくサイズおよび使用メモリを低減できることを示す。実際、第１の例では、画像に近いサイズの４つの物理ブロックが使用される。ＢＰ２、ＢＰ３、およびＢＰ４に同じメモリを使用して、２つの物理ブロックのみを使用することができる。以下の変換が得られる。
【０２４７】
左側と右側の２つの列を除いた、入力オブジェクトのピクセルＢＰ１（論理ブロックＢ１に対応する）のそれぞれにつき（ピクセルは左から右へ、次いで上から下へスクロールされる）、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果を物理ブロックＢＰ２（論理ブロックＢ２に対応する）に記憶する。
【０２４８】
左から右へ、次いで上から下へスクロールされるＢＰ２の各ピクセルにつき、
現ピクセルに表を適用し、結果を物理ブロックＢＰ２（今や論理ブロックＢ３に対応する）に記憶する。
【０２４９】
左から右へ、次いで上から下へスクロールされるＢＰ２の各ピクセルにつき、
現ピクセルに対応ＢＰ１ピクセルを乗算し、結果を物理出力ブロックＢＰ２（今や論理ブロックＢ４に対応する）に記憶する。
【０２５０】
第３の変換例は、汎用フォーマット化データを変更することなく計算時間を短縮できることを示す。実際、第２の例では、画像に近いサイズの２つの物理ブロックが使用されるが、物理ブロックＢＰ２は３回にわたって完全に書き込まれ、物理ブロックＢＰ１は２回にわたって完全に読み取られ、物理ブロックＢＰ２は２回にわたって完全に読み取られる。これを、異なるスクローリングモードおよび異なるブロックを用いて、１回の読取りおよび１回の書込みだけに制限することができる。これにより、必要とされる操作の数が減少するが、メモリアクセス要件もまた減少する。この場合、サブオブジェクトは１つのピクセルで構成される。以下の変換が得られる。
【０２５１】
左側と右側の２つの列を除いた、入力オブジェクトのピクセルＢＰ１（論理ブロックＢ１に対応する）のそれぞれにつき（ピクセルは左から右へ、次いで上から下へスクロールされる）、
以下の特有操作シーケンスを実施する。現ピクセルの左のピクセルと右のピクセルとを加算し、結果に表を適用し、表出力に現ピクセルを乗算し、結果を現在の物理出力ブロックＢＰ２（論理ブロックＢ４に対応する）に記憶する。
【０２５２】
第４の例は、より特有にキャッシュ付きスカラプロセッサに適応されているが、この第４の例では、結果は入力と同じメモリゾーンに書き込まれる。これにより、メモリサイズがより一層縮小され、メモリアクセスがローカルになる。このことは、キャッシュメモリまたはページドメモリの場合に非常に有益である。この場合、サブオブジェクトは１つのピクセルで構成される。したがって、以下の変換が得られる。
左側と右側の２つの列を除いた、入力オブジェクトのピクセルＢＰ１（論理ブロックＢ１に対応する）のそれぞれにつき（ピクセルは左から右へ、次いで上から下へスクロールされる）、
以下の特有操作シーケンスを実施する。
【０２５３】
現ピクセルの左のピクセルと右のピクセルとを加算し、結果に表を適用し、表出力に現ピクセルを乗算し、結果を、現在の物理出力ブロックＢＰ１に、現ピクセルの左のピクセルに代えて記憶する（この左ピクセルは、次の反復のための左ピクセルになる現ピクセルとは反対に、もはや使用されない）。ＢＰ１は、部分的に論理ブロックＢ４に対応し、部分的に論理ブロックＢ１に対応する）。
【０２５４】
第５の変換例は、小さい高速アクセスメモリおよび大きい低速メモリを伴う信号処理プロセッサに特に適応されており、各サブオブジェクトは、例えば３２×３２の矩形、または高速アクセスメモリの使用を最大限にする他の任意の値の矩形であり、矩形は隣接する。したがって、以下の変換が得られる。
【０２５５】
各サブオブジェクトにつき（サブオブジェクトは左から右へ、次いで上から下へスクロールされる）、
次の物理入力ブロックを、ＤＭＡ（「直接メモリアクセス」）機構を介して低速メモリから高速アクセスメモリに転送することを開始する。この物理入力ブロックは、左に１列分、右に１列分拡張されて３２×３４となる次のサブオブジェクトに対応する。
【０２５６】
前の物理出力ブロックを、ＤＭＡ（「直接メモリアクセス」）機構を介して高速アクセスメモリから低速メモリに転送することを開始する。
左および右への追加の列で拡張されて３２×３４となり、前の反復のＤＭＡの終わりに得られる現サブオブジェクトに対応する物理ブロックを取る。
【０２５７】
以下の特有操作シーケンスを実施する。左側と右側の２つの列を除いた、物理入力ブロック（論理ブロックＢ１に対応する）の各ピクセル（左から右へ、次いで上から下へスクロールされる）につき、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果に表を適用し、表出力にブロックの現ピクセルを乗算し、結果を現在の物理出力ブロック（論理ブロックＢ４に対応する）に記憶する。
【０２５８】
第６の変換例は、１つの同じ計算をベクトルの種々のピクセルに適用することのできるベクトル信号プロセッサに特に適応されており、各サブオブジェクトは、例えば６４個の水平ピクセルの矩形、またはプラットフォームが処理および記憶できるベクトルのサイズと等しい他の任意の値の矩形である。ベクトルは１度に１つずつ処理されるので、この変換はどんなメモリも必要としない。したがって、以下の変換が得られる。
【０２５９】
左の２つの列を除いた、入力オブジェクトＢＰ１（論理ブロックＢ１に対応する）の各サブオブジェクトＶ１につき（サブオブジェクトは左から右へ、次いで上から下へスクロールされる）、以下の特有操作シーケンスを実施する。
【０２６０】
各ラインの開始で、ラインの２つの左側ピクセルを右に含むベクトルＶ０を生み出す。
Ｖ０およびＶ１から、Ｖ０の２つの右側ピクセルと、Ｖ０の２つの右側ピクセルを除いたＶ１の左側ピクセルとに対応するベクトルＶ２を抽出する。Ｖ１とＶ２とを加算してＶ２を得て、Ｖ２の各ピクセルに表を適用してＶ２を得る。Ｖ０およびＶ１から、Ｖ０の右側ピクセルと、Ｖ０の右側ピクセルを除いたＶ１の左側ピクセルとに対応するベクトルＶ３を抽出する。以下の反復について、Ｖ１をＶ０にコピーする。すなわち、Ｖ２にＶ３を乗算してＶ２を得て、結果Ｖ２を現在の物理出力ブロックに記憶する。
【０２６１】
上記の第３、第４、第５、および第６の例は、とりわけメモリおよび並列処理の点で異なるアーキテクチャを有する種々のプラットフォームに関する、本発明による実施形態に対応する。本発明では特に、
【０２６２】
−１つの単一ループのみを使用して、コードのサイズを縮小することができる。かつ／または、
−メモリのサイズを、例では０に縮小することができるが、垂直フィルタのあるより一般的な場合では、垂直フィルタの入力データに対して計算を繰り返す必要を避けるために、いくつかのメモリラインが必要とされる。かつ／または、
【０２６３】
−とりわけループをグループ化することによって、必要とされる命令の数を削減することができる。かつ／または、
−どんなサイズのベクトルにも適応することができる。かつ／または、
−どんなメモリアーキテクチャにも適応することができる。
【０２６４】
簡略化のために、これらの例は、入力画像よりも小さい画像を生成する。必要なら、各ラインの最初と最後にコードを追加してエッジピクセルを複製することによって、入力画像と同一サイズの出力画像を容易に得ることができる。
【０２６５】
図４に、処理手段１０の出力における特有フォーマット化データの構造を示す。このデータは、本発明による方法に従って処理プラットフォーム２０に提供されることになっている。
【０２６６】
特有フォーマット化データは、処理手段に提供された汎用フォーマット化データ３２を使用して、かつ、この処理手段によって決定された、プラットフォーム中の基本情報をスクロールするためのモード３４を使用して、処理手段によって計算される。汎用フォーマット化データは、処理手段によって実施される少なくとも１つの汎用操作または操作シーケンスを記述するデータ３８を含む第１のデータ３６を含む。汎用フォーマット化データはまた、少なくとも２つの論理ブロックを使用する汎用操作に関して、相互との関係における論理ブロックの位置および相対スケールを参照する第２のデータ４０も含む。この汎用フォーマット化データおよびスクローリングモード３４を使用して、処理手段は、特有操作に関係するデータ４２およびループに関係するデータ４４を提供する。このデータ４２および４４は、特有フォーマット化データ３０の一部である。
【０２６７】
図５に、操作、またはオブジェクト特有の操作の適用を示す。この図では、オブジェクト５５が、４つのサブオブジェクト２５０、２５１、２５２、および２５３に分割される。各サブオブジェクトは、６つの基本情報からなる。操作２６２は、オブジェクト２５５に適用される操作のシーケンスの１つである。この操作は、各サブオブジェクトに対して６回適用され（２６２ａ、２６２ｂ、２６２ｃ、２６２ｄ、２６２ｅ、および２６２ｆ）、それにより６つの結果が生成される（２６４）。操作２６２は、あるサブオブジェクトに対して６回適用される間に、別のサブオブジェクトに関する基本情報を適用する。例えば、サブオブジェクト２５０への操作２６２の適用は、次のように行われる。適用２６２ａは基本情報２５４および２５６を適用し、適用２６２ｂは基本情報２５６および２５８を適用し、適用２６２ｃは基本情報２５８および２６０を適用し、基本情報２６０はサブオブジェクト２５２に属する。また、適用２６２ｄは基本情報１５４および１５６を適用し、適用６２ｅは基本情報１５６および１５８を適用し、適用６２ｆは基本情報１５８および１６０を適用し、基本情報１６０はサブオブジェクト２５２に属する。
【０２６８】
次に、本発明による方法によって決定することのできるスクローリングモードのいくつかの例について述べる。これらのスクローリングモードはそれぞれ、図５〜７のうちの１つに示すアーキテクチャのプラットフォーム中で使用されるようになっている。
【０２６９】
図６に示す第１の例では、処理プラットフォームは、１つの次元で連鎖された５つのプロセッサを備える。すなわち、プロセッサＰｒｏｃＡから出力された計算結果がプロセッサＰｒｏｃＢへの入力に使用され、以下同様となる。ＰｒｏｃＥプロセッサから出力された基本情報は、プロセッサＰｒｏｃＡの入力に適用される。
【０２７０】
各プロセッサには、ＭｅｍＡ〜ＭｅｍＥとして言及する、限られた容量のメモリユニットが備わる。このメモリユニットは、プロセッサによって実施される特有操作に使用されるパラメータ値、あるいは、プロセッサによってすぐに再使用されるよう定められた基本情報または操作からの結果を記憶するようになっている。
【０２７１】
この第１の例では、処理操作は、ＯＰ１〜ＯＰ８として言及する８つの操作のシーケンスを、オブジェクトを構成する基本情報に適用することにある。
【０２７２】
オブジェクトは、処理されるために、それぞれＮ個の基本情報のサブオブジェクトに分解されなければならない。ＮはＱ（Ｑ＝５、計算ユニットの数量）の倍数でなければならないが、このＮは、本発明による方法によって、とりわけプラットフォームのメモリ容量に従って、プラットフォームから上流で決定される。この例では、Ｎ＝５である。
【０２７３】
さらに、使用される特有操作の規則的なシーケンシングを実施するために、プラットフォームの上流に位置する処理手段によって、効果なしの特有操作ＯＰ９およびＯＰ１０が生み出され、それにより、各サブオブジェクトに対して実施される特有操作の数が、利用可能なプロセッサの数の倍数になる。
【０２７４】
具体的な操作タイプに従って、各操作は、プロセッサによって実施されるように割り当てられる。ここでは、
−プロセッサＡはＯＰ１およびＯＰ６を実施する。
−プロセッサＢはＯＰ２およびＯＰ７を実施する。
−プロセッサＣはＯＰ３およびＯＰ８を実施する。
−プロセッサＤはＯＰ４およびＯＰ９を実施する。
−プロセッサＥはＯＰ５およびＯＰ１０を実施する。
【０２７５】
各プロセッサは、割り当てられた特有操作に対応する命令のセット（ＩｎｓＡ〜ＩｎｓＥ）を実行する。限られた容量のメモリに記憶されたパラメータもまた、この割当てに依存する。例えば、ＯＰ１が、２を乗算することである場合、ＭｅｍＡメモリは数字２を含むことになる。
【０２７６】
これらの割当てが行われると、以下の表Ｉによって述べるシーケンシングスケジュールに従って操作が行われる。
この表では、プロセス進行時間をＴ１、Ｔ２、．．．．．．Ｔ１４として示す。
【表２】
2009524123.tif 000004
【０２７７】
各ラインは、１０個の特有操作ＯＰ１〜ＯＰ１０のうちの１つを表す。各列は、基本情報ＩＥ１〜ＩＥ５のうちの１つを表し、各基本情報は、処理されるサブオブジェクトを構成する。このＩＥ１〜ＩＥ５の表記は形式的なものであり、必ずしも空間的または時間的現実に対応するとは限らない。実際、ある種の特有操作は基本情報の変位を生成する。したがって、例えば特有操作ＯＰ１が、左にずらすことにある場合、特有操作ＯＰ２によって処理される情報ＩＥ１は、特有操作ＯＰ１が情報ＩＥ１に適用された結果ではなく、この特有操作ＯＰ１が情報ＩＥ２に適用された結果であることがある。
【０２７８】
この表中の各枠は、特有操作を実施するプロセッサの名前、ならびにこの特有操作が処理操作中に実施される時間を含む。明白なことだが、この表は、処理操作の一部を表すに過ぎない。ここでは、必要とされる特有操作からのすべての結果が、処理操作においてすでに計算されていると仮定する。
【０２７９】
したがって、時間Ｔ１で、ＰｒｏｃＡプロセッサがサブオブジェクト１の第１の情報ＩＥ１に対して操作ＯＰ１を実施するのが示されている。この時点で、他のプロセッサは、この表に示されていない他の操作を実施している。
【０２８０】
時間Ｔ５で、各プロセッサがサブオブジェクト１の情報の１つに対して操作を実施するのが示されている。
プロセッサがサブオブジェクトのすべての基本情報に対して特有操作を実施したとき、プロセッサは、それに割り当てられた次の操作に進む。したがって、ＰｒｏｃＡプロセッサは、Ｔ６から操作ＯＰ６を実施する。
【０２８１】
プロセッサがそれに割り当てられたすべての特有操作を実施すると、次のサブオブジェクトが処理される。したがって、２つの異なるサブオブジェクト（サブオブジェクト１とサブオブジェクト２）が、プラットフォーム中で同時に処理される。
この表では、各特有操作がＮ回（ここではＮ＝５）実施されることがはっきりと示されている。
【０２８２】
このシーケンシングスケジュールは、プロセッサの次元の１つにおける循環的連鎖によって得られる。したがって、基本情報は、ある計算ユニットから他の計算ユニットに移行することができる。例えば、基本情報ＩＥ１は、すべてのプロセッサの中を進んで特有操作ＯＰ１〜ＯＰ５を「経験し」、次いで、ＰｒｏｃＡプロセッサに戻って再び循環を開始し、操作ＯＰ６〜ＯＰ７を「経験する」。最初の基本情報ＩＥ１は、必ずしもすべてのステップでＩＥ１情報になるとは限らないことに注意されたい。
【０２８３】
図７に示す第２の例では、プラットフォームは、共通のメモリにリンクされた５つのプロセッサを備える。このような構造は古典的である。すなわち、ベクトル信号プロセッサ（「単一命令複数データ」つまりＳＩＭＤタイプのもの）の構造に対応する。この例では、各プロセッサは、相関表Ｔなどのパラメータを含むことのできる小さいメモリに、個別にリンクされる。この構造では、各プロセッサがすべての特有操作を実施する。したがって、すべてのプロセッサは同じ命令セットＩＮＳを受け取る。
【０２８４】
この第２の例では、操作のうちの１つが、表を使用して１つまたは複数の基本情報を修正することにある場合について考える。上記からわかるように、各プロセッサはそれ自体の表へのアクセスを有し、すべての表は同一である。一代替形態では、各メモリは一群のプロセッサによって共有される。一代替形態では、一群のプロセッサは同じメモリを共有し、同じパラメータを同時に得る。この場合、例えば多項式を計算するための、１つまたは複数のパラメータを使用した計算によって、相関表を適用し実施しなければならない。
【０２８５】
これは並列操作を伴う。すなわち、プロセスの各時間で、すべてのプロセッサが、同じ操作を異なる基本情報に対して実施する。このプロセスを以下の表ＩＩによって例示する。
この表では、プロセス進行時間をＴ１、Ｔ２、．．．．．．Ｔ１０として示す。
【表３】
2009524123.tif 000005
【０２８６】
この表では、所与の時間Ｔｉで、特有操作ＯＰｉが、各プロセッサＰｒｏｃＡ〜ＰｒｏｃＥによって基本情報ＩＥ１〜ＩＥ５に対してそれぞれ実施されることがわかる。
１０回目のインクリメントの後には、特有操作のシーケンス中の各特有操作が、サブオブジェクトの各基本情報に対して実施されていることに気付くことができる。
【０２８７】
この場合、特有操作はすべてのプロセッサによって並列で実施されるので、効果なしの操作によって特有操作のシーケンスを完全なものにする必要はないことが明らかである。このようにして、操作ＯＰ８が完了すると、次のサブオブジェクトを構成する基本情報に操作ＯＰ１を適用することによって、プロセスを繰り返すことができる。
【０２８８】
図８に示す第３の例では、プラットフォームは、とりわけＰＣタイプのコンピュータ内に存在するベクトル信号プロセッサと同様の、共通のメモリにリンクされた５つのプロセッサで構成されるベクトル信号プロセッサを備える。またこれらのプロセッサはすべて、パラメータ、およびとりわけ相関表を含むことのできる、小さいメモリにリンクされる。この構造では、各プロセッサがすべての特有操作を実施する。したがって、すべてのプロセッサは、実施されるすべての特有操作を記述したデータを含む同じＩＮＳ命令セットを受け取る。
【０２８９】
この例では、２つの特有操作のシーケンスが、表を使用して１つまたは複数の基本情報を修正することにある場合について考える。ここで、表は１つの単一場所にのみ存在し、したがってプロセッサはこれらの表を共有しなければならない。
【０２９０】
すべてのプロセッサはサブオブジェクトの異なる基本情報に対して１つの同じ操作を同時に実施するので、プロセスの始めには、並列操作が実施されている。このプロセスを以下の表ＩＩＩによって例示する。
この表では、プロセス進行時間をＴ１、Ｔ２、．．．．．．Ｔ１８として示す。
【表４】
2009524123.tif 000006
【０２９１】
この表の最初の３つのラインでは、所与の時間Ｔｉで、特有操作ＯＰｉが、各プロセッサＰｒｏｃＡ〜ＰｒｏｃＥによって基本情報ＩＥ１〜ＩＥ５に対してそれぞれ実施されることがわかる。
【０２９２】
表を使用する操作ＯＰ４に達したとき、アクセス問題に遭遇する。というのは、すべてのプロセッサが同時にこの表にアクセスすることはできないからである。したがって、プロセッサは、「自分の順番を待つ」こと、すなわち前のプロセッサが表の使用を終えて自分が表を使用できるようになるまで待機することを余儀なくされる。このため、操作ＯＰ４は、時間Ｔ４〜Ｔ８でプロセッサＰｒｏｃＡ〜ＰｒｏｃＥによってそれぞれ実施される。操作ＯＰ５もまた表を使用すると仮定すると、同様にして以下の状況が生じることになる。すなわち、操作ＯＰ５は、時間Ｔ９〜Ｔ１３でプロセッサＰｒｏｃＡ〜ＰｒｏｃＥによってそれぞれ実施される。
【０２９３】
これらの操作が実施されると、プロセスは通常どおり継続することができる。
図９ａに、サブオブジェクトの次元の１つに従ったいくつかの循環的連鎖を含むプラットフォームの一実施形態例を示す。この第１の例では、オブジェクトは２つの次元を有する画像であり、サブオブジェクトは４つの基本情報を含み、プラットフォームは、水平に４つのプロセッサと垂直に１つのプロセッサとの矩形に対応する４＊１プロセッサのグリッドに従って配置された、４つのプロセッサを備える。これらのプロセッサを、左から右にＰ１、Ｐ２、Ｐ３、およびＰ４と呼ぶ。本方法はまた、この例では２つの待ち行列も適用する。
【０２９４】
−水平待ち行列ＦＨａが、入力でＰ４の出力に接続され、出力でプロセッサＰ１の入力に接続される。Ｐ１の出力はＰ２の入力に接続される。Ｐ２の出力はＰ３の入力に接続され、Ｐ３の出力はＰ４の入力に接続される。
【０２９５】
−垂直待ち行列ＦＶａが、入力でＰ１、Ｐ２、Ｐ３、およびＰ４の出力に接続され、出力でプロセッサＰ１、Ｐ２、Ｐ３、およびＰ４の入力に接続される。
【０２９６】
−特有操作のシーケンスは、４つのプロセッサを１００％使用しながら、任意の数量の水平フィルタＦＨを適用することができる。例えば、特有操作ＯＳ１の結果と、左における同じ特有操作ＯＳ１の結果との加算からなるフィルタの計算を実施する特有操作ＯＳ２の場合、プロセッサＰ４からの操作ＯＳ１の結果は、待ち行列ＦＨａに配置され、後続のサブオブジェクトの計算中にＰ１上でＯＳ２によって使用されることになる。プロセッサＰ３からの操作ＯＳ１の結果は、Ｐ４上のＯＳ１の結果と共にＰ４上でＯＳ２によって使用されるように、プロセッサＰ４に転送される。プロセッサＰ２からの操作ＯＳ１の結果は、Ｐ３上のＯＳ１の結果と共にＰ３上でＯＳ２によって使用されるように、Ｐ３に転送される。プロセッサＰ１からの操作ＯＳ１の結果は、Ｐ２上のＯＳ１の結果と共にＰ２上でＯＳ２によって使用されるように、プロセッサＰ２に転送される。前のサブオブジェクトの計算中にＰ４によって実施された操作ＯＳ１の結果は、待ち行列ＦＨａから出力され、Ｐ１上のＯＳ１の結果と共にＰ１上でＯＳ２によって使用されるように、プロセッサＰ１に転送される。このシーケンスに関する別の操作ＯＳ３が別の水平フィルタを適用することができ、待ち行列を使用して正しい順序でデータが取り出される。
【０２９７】
−必要に応じて変更を加えて、特有操作のシーケンスは、４つのプロセッサを１００％使用しながら、任意の数量の垂直フィルタＦＶを適用することができる。
【０２９８】
−最後に、特有操作のシーケンスは、４つのプロセッサを１００％使用しながら、水平と垂直の両方の次元に従って分離不可能な任意の数量のフィルタＦＶＨを適用することができる。例えば、１つの特有操作ＯＳ４からの４つの結果に適用される非分離型３×３フィルタは、ＦＶａを２回プロンプトし、次いでＦＨａを６回プロンプトして、前に計算された４つのＯＳ４結果を８セット入手し、現サブオブジェクトからのＯＳ４結果のセットと結合されるようにすることができる。例えば、これらの非分離型フィルタは、垂直および／または水平フィルタと共に使用することができ、この２つの待ち行列は、データを正しい順序で取り出せるようにする。
【０２９９】
２つのフィルタが適用されるとき、特有操作のシーケンスはしたがって、シーケンスとは別個の少なくとも２つの特有操作がそれぞれ、そのＮ回の適用中に少なくとも１回、別のサブオブジェクトの処理に使用される結果を生成するようなシーケンスである。別のサブオブジェクトの処理に使用される結果は、待ち行列（１つまたは複数）を介して移行する。
【０３００】
同様にして、図９ｂに第２の例を示すが、この例では、オブジェクトは２つの次元を有する画像であり、サブオブジェクトは４つの基本情報を含み、プラットフォームは、水平に２つのプロセッサと垂直に２つのプロセッサとの矩形に対応する２＊２プロセッサのグリッドに従って配置された、４つのプロセッサを備える。これらのプロセッサを、左から右に、上のラインにあるものはＰ４およびＰ５、下のラインにあるものはＰ６およびＰ７と呼ぶ。本方法はまた、この例では２つの待ち行列も使用する。
【０３０１】
−水平待ち行列ＦＨｂが、入力でＰ３およびＰ６の出力に接続され、出力でＰ１およびＰ４の入力に接続される。
−垂直待ち行列ＦＶｂが、入力でＰ４およびＰ５の出力に接続され、出力でプロセッサＰ６およびＰ７の入力に接続される。
【０３０２】
図９ａの例のように、特有操作のシーケンスは、４つのプロセッサを１００％使用しながら、任意の数量の垂直および／または水平および／または非分離型フィルタを適用することができる。
【０３０３】
図９ｃに示す第３の例では、プラットフォームは、水平待ち行列ＦＨｃと垂直待ち行列ＦＶｃとに接続された単一のプロセッサＰ８を備える。この２つの待ち行列は、後で再使用されることになっている特有操作からの結果を記憶するためにプロセッサが使用することができる。
【０３０４】
図９ａの例でもまた、特有操作のシーケンスは、プロセッサを１００％使用しながら、任意の数量の垂直および／または水平および／または非分離型フィルタを適用することができる。
【図面の簡単な説明】
【０３０５】
【図１ａ】本発明による、画像をサブオブジェクトに分解する例を示す図である。
【図１ｂ】本発明による、画像をサブオブジェクトに分解する例を示す図である。
【図１ｃ】本発明による、画像をサブオブジェクトに分解する例を示す図である。
【図１ｄ】本発明による、画像をサブオブジェクトに分解する例を示す図である。
【図１ｅ】本発明による、画像をサブオブジェクトに分解する例を示す図である。
【図１ｆ】本発明による、画像をサブオブジェクトに分解する例を示す図である。
【図２】本発明による方法を使用するデバイスを示す図である。
【図３】いくつかの論理ブロックと１つのパラメータとに適用される汎用操作のシーケンスの例を示す図である。
【図４】本発明による方法においてプラットフォームに提供される特有フォーマット化データの構造を示す図である。
【図５】オブジェクト特有の操作の適用を示す図である。
【図６】本発明による方法に従ってオブジェクトを処理することのできるプラットフォームの種々のアーキテクチャを示す図である。
【図７】本発明による方法に従ってオブジェクトを処理することのできるプラットフォームの種々のアーキテクチャを示す図である。
【図８】本発明による方法に従ってオブジェクトを処理することのできるプラットフォームの種々のアーキテクチャを示す図である。
【図９ａ】本発明によるプラットフォーム中のプロセッサ連鎖の例を示す図である。
【図９ｂ】本発明によるプラットフォーム中のプロセッサ連鎖の例を示す図である。
【図９ｃ】本発明によるプラットフォーム中のプロセッサ連鎖の例を示す図である。
【図１ａ】
2009524123.tif 000007
【図１ｂ】
2009524123.tif 000008
【図１ｃ】
2009524123.tif 000009
【図１ｄ】
2009524123.tif 000010
【図１ｅ】
2009524123.tif 000011
【図１ｆ】
2009524123.tif 000012
【図２】
2009524123.tif 000013
【図３】
2009524123.tif 000014
【図４】
2009524123.tif 000015
【図５】
2009524123.tif 000016
【図６】
2009524123.tif 000017
【図７】
2009524123.tif 000018
【図８】
2009524123.tif 000019
【図９ａ】
2009524123.tif 000020
【図９ｂ】
2009524123.tif 000021
【図９ｃ】
2009524123.tif 000022
【手続補正書】
【提出日】平成19年10月17日(2007.10.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つまたは複数のプロセッサとメモリとを有するプラットフォーム中で、同じタイプの基本情報（２５４、２５６、２５８、２６０、１５４、１５６、１５８、および１６０）からなるオブジェクト（２５５）を処理する方法であって、処理される前記オブジェクトを、Ｎ個の基本情報（２５４、２５６、２５８、１５４、１５６、１５８）からそれぞれなる少なくとも２つのサブオブジェクト（２５０、２５１、２５２、および２５３）に分解するステップを含み、すべてのサブオブジェクト（２５０、２５１、２５２、および２５３）は同じ数量Ｎの基本情報を有し、前記処理操作は、各サブオブジェクト（２５０、２５１、２５２、２５３）の前記基本情報に対して少なくとも１つの特有操作シーケンスを実施することにあり、さらに、各サブオブジェクトにつき各特有操作を少なくともＮ回実施するステップを含み、それにより、一方では、各サブオブジェクトの各基本情報が少なくとも１回適用され、他方では、各特有操作のＮ個の結果が生成され、前記特有操作のシーケンスは、前記シーケンスの少なくとも１つの特有操作（２６２）が、そのＮ回の適用（２６２ａ、２６２ｂ、２６２ｃ、２６２ｄ、２６２ｅ、２６２ｆ）全体のうちで少なくとも１回、別のサブオブジェクトの処理に使用される結果（２６０、１６０）を生成するようなシーケンスである、方法。
【請求項２】
前記オブジェクトは次元ＤＯを含み、前記サブオブジェクトは、前記オブジェクトの次元ＤＯから選択された次元ＤＳＯを含み、前記オブジェクトからサブオブジェクトへの前記分解は、前記サブオブジェクトの次元の少なくとも１つに従って前記サブオブジェクトがオーバーレイを有さないような分解である、請求項１に記載の方法。
【請求項３】
前記プラットフォームは、サブオブジェクトの処理中に実施され別のサブオブジェクトの処理に使用される、基本情報および／または特有操作からの結果を記憶するために、少なくとも１つのオブジェクト間通信メモリを備える、前記請求項のうちの一項に記載の方法。
【請求項４】
前記オブジェクトは次元ＤＯを含み、前記基本情報は、前記オブジェクトのＤＥ次元に従って、次いで他の次元に従って前記プラットフォームに送出され、
前記サブオブジェクトは、前記オブジェクトの次元ＤＯから選択され前記ＤＥ次元を含む次元ＤＳＯを含み、および／または
前記サブオブジェクトは前記オブジェクトの次元ＤＯを含み、もしくは前記サブオブジェクトは、前記オブジェクトの次元ＤＯから選択され前記ＤＥ次元を含まない次元ＤＯ−１を含み、
前記処理はさらに、前記ＤＥ次元に従って実施される少なくとも１つの内部サブオブジェクトスクローリングループを含む、前記請求項のうちの一項に記載の方法。
【請求項５】
前記特有操作の少なくとも一部分は、少なくとも１つのパラメータ値を適用し、同じ特有操作を同時に計算するＱ個の計算ユニットによって実施され、前記特有操作のシーケンスは少なくとも１つの特有選択操作を含み、前記特有選択操作は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って、計算ユニットごとに差別化された方式で、前記Ｑ個の計算ユニット上で同時に、データＣからデータ項目を選択することおよびＣ個のパラメータ値からパラメータ値を選択することを実施する、前記請求項のうちの一項に記載の方法。
【請求項６】
前記特有操作のシーケンスは少なくとも１つの特有位置操作を含み、前記オブジェクトは次元ＤＯを含み、前記特有位置操作は、前記次元ＤＯの１つに従った位置情報を生成し、ならびに／あるいは前記特有操作は、少なくとも１つの基本情報および／または少なくとも１つの特有操作結果および／または少なくとも１つのパラメータ値に従って相対位置を生成する、前記請求項のうちの一項に記載の方法。
【請求項７】
特有操作の少なくとも一部分はＱ個の計算ユニットによって実施され、ＱはＮに等しいかまたはＮの約数であり、サブオブジェクトの処理はＮ／Ｑ個の反復の内部ループを１つだけ含む前記請求項のうちの一項に記載の方法。
【請求項８】
少なくとも１つの特有操作は少なくとも１つのパラメータを適用し、前記パラメータの値は、処理される前記オブジェクトにおける、前記サブオブジェクトおよび／または前記基本情報の位置に依存し、前記特有操作は、前記パラメータ値の一部を含むメモリユニットへのアクセスを有する少なくとも１つの計算ユニットによって実施され、前記一部は、前記計算ユニットによって実施される特有操作に従って決定される、前記請求項のうちの一項に記載の方法。
【請求項９】
前記特有操作は、１つの次元における連鎖と、循環的連鎖と、少なくとも１つの待ち行列を含む循環的連鎖とを含むグループに含まれる連鎖に従って、連鎖された計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
【請求項１０】
前記サブオブジェクトは次元ＤＳＯを含み、前記特有操作は、前記サブオブジェクトの各次元での少なくとも１つの循環的連鎖に従って連鎖された計算ユニットによって実施され、前記サブオブジェクトの各Ｄ１特有次元での前記循環的連鎖（１つまたは複数）はさらに、前記サブオブジェクトのＤ１特有次元での前記循環的連鎖（１つまたは複数）間で共有されるかまたは共有されない少なくとも１つの待ち行列を含む、前記請求項のうちの一項に記載の方法。
【請求項１１】
別のサブオブジェクトのサブ処理中に使用される特有操作からの結果を、前記サブオブジェクトとの関係における前記別のサブオブジェクトの相対位置に従って、メモリに共にグループ化して記憶するステップをさらに含む、前記請求項のうちの一項に記載の方法。
【請求項１２】
前記特有操作は、連鎖された計算ユニットによって実施され、前記計算ユニットの前記連鎖および前記シーケンスに従って前記特有操作を前記計算ユニットに割り当てるステップを含む、前記請求項のうちの一項に記載の方法。
【請求項１３】
特有操作の順序および／またはタイプを修正することができる、前記請求項のうちの一項に記載の方法。
【請求項１４】
前記特有操作は、少なくとも１つの所定の特有操作シーケンスに従ってケーブルされた計算ユニットによって実施される、前記請求項のうちの一項に記載の方法。
【請求項１５】
前記特有操作からの結果の少なくとも一部分は、メモリ中で「ベースアドレス＋オフセット」または「（ベースアドレス＋オフセット）ｍｏｄ（バッファメモリのサイズ）」のフォーマットのアドレスに記憶され、前記オフセットは、１つの同じ特有操作からのすべての結果に対して一定であり、前記処理はさらに、前記サブオブジェクトが前記処理操作において変更される度に前記ベースアドレスを修正するステップを含む、前記請求項のうちの一項に記載の方法。
【請求項１６】
前記プラットフォームには、汎用フォーマット化データから計算された特有フォーマット化データが、好ましくは直接的に提供され、前記汎用フォーマット化データは、少なくとも１つの汎用操作シーケンスを記述する第１のデータ項目を含み、特有フォーマット化データの前記計算は、前記プラットフォーム中の基本情報に関するスクローリングモードと、汎用操作からの特有操作とを反映して実施され、前記特有操作は、前記プラットフォーム中でのオブジェクトの処理中に前記オブジェクトに対して実施される特有操作のシーケンスを形成する、前記請求項のうちの一項に記載の方法。
【請求項１７】
処理される前記オブジェクトは、画像と、ディジタルオーディオ信号と、数値メッシュとを含むグループに含まれ、前記基本情報はそれぞれ、前記画像のピクセルと、前記信号のオーディオサンプルと、メッシングの各点を特徴付ける空間および／または時間情報とを含むグループに含まれる、前記請求項のうちの一項に記載の方法。
【請求項１８】
前記処理プラットフォームは画像取込みおよび／またはレンダリングデバイスの一部であり、前記操作は、前記操作のシーケンスに、かつ／または前記処理プラットフォームに、かつ／または処理される前記オブジェクトに依存する値を有するパラメータを適用し、前記パラメータ値は、前記画像取込みおよび／またはレンダリングデバイスの、光学機構および／またはセンサおよび／またはイメージャおよび／または電子機構および／またはソフトウェアの特性にリンクされる、前記請求項のうちの一項に記載の方法。
【請求項１９】
同じタイプの基本情報（５４、５６、５８、６０、１５４、１５６、１５８、および１６０）からなるオブジェクト（５５）を処理することになっている、１つまたは複数のプロセッサとメモリとを有するプラットフォームであって、請求項１から１８のうちの一項に記載の方法を実施する手段を備えるプラットフォーム。
【請求項２０】
請求項１から１９のうちの一項による処理方法で処理されるオブジェクト。
【国際調査報告】
2009524123.tif 000023
2009524123.tif 000024
2009524123.tif 000025
2009524123.tif 000026
2009524123.tif 000027
2009524123.tif 000028
2009524123.tif 000029
2009524123.tif 000030
2009524123.tif 000031