(57)【要約】  本発明は、汎用フォーマット化データ（１２）を特有フォーマット化データ（１８）に変換するようになっている少なくとも１つのディジタルデータ処理手段（１０）に、汎用フォーマット化データを提供する方法に関する。汎用フォーマット化データ（１２）は論理ブロックに関係するデータを含み、論理ブロックの少なくとも１つは、プロセッサ（１つまたは複数）とメモリ（１つまたは複数）とを有する少なくとも１つの処理プラットフォーム（２０）によって特有フォーマット化データ（１８）に直接的または間接的に従って処理されることになるオブジェクト（２２）に対応し、プラットフォームは処理手段（１０）の上流に位置するかまたは処理手段（１０）に統合され、オブジェクト（２２）は同じタイプの基本情報で構成され、すべての情報は少なくとも１つの数値で表される。【選択図】図１【特許請求の範囲】
【請求項１】
画像と、ディジタルオーディオ信号と、画像のシーケンスと、被変調信号と、シミュレーションデータと、数値メッシュとを含むグループに含まれる１つまたはいくつかの次元のオブジェクト（２２）に対して実施されることになる処理操作を記述する汎用フォーマット化データ（１２）を提供する方法であって、前記汎用フォーマット化データは、前記汎用フォーマット化データを特有フォーマット化データ（１８）に変換するようになっている少なくとも１つのディジタルデータ処理手段（１０）に提供され、前記汎用フォーマット化データ（１２）は論理ブロックに関係するデータを含み、前記論理ブロックの少なくとも１つは、プロセッサ（１つまたは複数）とメモリ（１つまたは複数）とを有する少なくとも１つの処理プラットフォーム（２０）によって特有フォーマット化データ（１８）に直接的または間接的に従って処理されることになるオブジェクト（２２）に対応し、前記プラットフォームは前記処理手段（１０）の上流に位置するかまたは前記処理手段（１０）に統合され、前記オブジェクト（２２）は同じタイプの基本情報で構成され、すべての情報は少なくとも１つの数値で表され、前記基本情報は、画像のピクセルと、ディジタルオーディオ信号のサンプルと、被変調信号の強度および位相と、シミュレーションデータのステータスを特徴付けるデータと、数値メッシュの点を特徴付ける時間および／または空間情報とを含むグループに含まれ、前記方法は、
−汎用フォーマット化データの一部である第１のデータ（１４）であって少なくとも１つの論理ブロックおよび／または少なくとも１つのパラメータに対して実施されることになる少なくとも１つの汎用操作シーケンスを記述する第１のデータ（１４）が、前記ディジタル処理手段に提供されるステップと、
−いくつかの論理ブロックを使用する汎用操作に関して第２のデータ（１４）が前記ディジタル処理手段に提供されるステップとを含み、前記第２のデータ（１４）は汎用フォーマット化データの一部であり、とりわけ空間的および／または時間的な、前記オブジェクトの次元の少なくとも１つに従った、相互との関係における論理ブロックおよび／またはパラメータの相対位置を参照し、かつ／あるいは、とりわけ空間的および／または時間的な、相互との関係における論理ブロックおよび／またはパラメータの相対スケールを参照し、
前記ディジタル処理手段（１０）に提供される前記汎用フォーマット化データ（１２）は、基本情報の識別と、前記基本情報が前記プラットフォームによって処理されることになる順序とに関係するデータを除外し、それにより、前記汎用フォーマット化データ（１２）は、使用される前記処理プラットフォーム（２０）から独立しており、提供される前記汎用フォーマット化データ（１２）は、前記オブジェクトからサブオブジェクトへの分解と、前記サブオブジェクトの形、サイズ、およびオーバーレイと、基本情報をメモリに記憶することとに関係するデータから独立しており、
前記順序に関係するデータ、および前記オブジェクトからサブオブジェクトへの分解に関係するデータは、前記処理手段（１０）によって決定可能である、方法。
【請求項２】
前記処理手段に提供される前記第２のデータの少なくとも１つのセクション、および／または少なくとも１つのパラメータの値は、所与の汎用操作に対して、処理される前記オブジェクトのすべての基本情報に共通である、請求項１に記載の方法。
【請求項３】
前記処理手段に提供される前記第２のデータ、および／または前記パラメータ（１つまたは複数）の値は、所与の汎用操作に対して、処理される前記オブジェクトにおける基本情報の絶対位置に依存する、請求項１または２に記載の方法。
【請求項４】
前記汎用操作は、前記オブジェクトの次元の１つに従った絶対位置で構成される論理ブロックを生成する少なくとも１つの汎用位置操作、ならびに、第１のブロックから、第３のブロックまたはパラメータに従った変位および／またはスケール変更によって第２のブロックを生成する汎用インダイレクション操作を含む、前記請求項のうちの一項に記載の方法。
【請求項５】
前記汎用操作は、論理ブロックおよび／またはパラメータの加算、論理ブロックおよび／またはパラメータの減算、論理ブロック間の差の絶対値の計算、論理ブロックおよび／またはパラメータの乗算、少なくとも２つの論理ブロックおよび／またはパラメータのうちの最大値、少なくとも２つの論理ブロックおよび／またはパラメータのうちの最小値、論理ブロックのグループ化およびグループ化解除、相関表に対応するパラメータを論理ブロックに適用することによる論理ブロックの計算、少なくとも２つの論理ブロックおよび／またはパラメータからの、論理ブロックの条件付き選択（この選択は、ａ＞ｂならばｃが選択され、そうでなければｄが選択されるようにして行われる。ａ、ｂ、ｃ、およびｄは、論理ブロックおよび／またはパラメータである）、論理ブロックに関する棒グラフ、パラメータおよび／または論理ブロックに従った、論理ブロックのスケール変更、パラメータおよび／または論理ブロックに従った、論理ブロックの相対変位、少なくとも１つの座標を含むブロックを生成する操作、を含むグループに含まれる少なくとも１つの基本汎用操作を含む、前記請求項のうちの一項に記載の方法。
【請求項６】
前記汎用操作は、それら自体使用される基本汎用操作のグループに対応する、複合的な汎用操作を含み、前記グループはとりわけ、少なくとも３つの論理ブロックおよび／またはパラメータの中央値の計算（最小値および最大値からなる汎用操作のグループに対応する）、論理ブロックおよび／またはパラメータの乗算／累算、論理ブロックとパラメータとの重畳（いくつかの相対位置による乗算および加算からなる汎用操作のグループに対応する）、最大値および最小値と組み合わせた加算、最大値および最小値と組み合わせた減算、勾配の計算（２つの相対位置による差の絶対値に対応する）、ベクトルからなるパラメータといくつかの論理ブロックとのスカラ積による論理ブロックの生成、補間によるスケール変更の計算（いくつかの相対位置によるスケール変更と乗算と加算とからなる汎用操作のグループに対応する）、論理ブロックの結合（いくつかの相対位置によるスケール変更からなる汎用操作のグループに対応する）を含む、請求項５に記載の方法。
【請求項７】
とりわけ空間的および／または時間的な、前記オブジェクトの次元の少なくとも１つに従った、論理ブロックの相対位置および／または相対スケールは、整数値または分数値を有する、前記請求項のうちの一項に記載の方法。
【請求項８】
前記基本情報は固定点における数値で表され、前記汎用操作は、オフセット操作、飽和度操作、および／または、前記飽和度操作と組み合わせた少なくとも１つの基本汎用操作を含む、前記請求項のうちの一項に記載の方法。
【請求項９】
処理される前記オブジェクトは画像であり、前記基本情報は前記画像のピクセルである、前記請求項のうちの一項に記載の方法。
【請求項１０】
前記処理プラットフォームは画像取込みおよび／またはレンダリングデバイスの一部であり、前記パラメータの値は、前記画像取込みおよび／または画像レンダリングデバイスの、光学機構および／またはセンサおよび／またはイメージャおよび／または電子機構および／またはソフトウェアの特性にリンクされる、請求項９に記載の方法。
【請求項１１】
処理される前記オブジェクトはディジタルオーディオ信号であり、前記基本情報は前記信号のオーディオサンプルである、請求項１から８のうちの一項に記載の方法。
【請求項１２】
処理される前記オブジェクトは数値メッシュであり、前記基本情報はメッシングの各点を特徴付ける空間および／または時間情報である、請求項１から８のうちの一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタルデータ処理手段に汎用フォーマット化データを提供する方法に関する。
【背景技術】
【０００２】
消費メモリおよび消費計算パワーの点で主要な制約を有する１つまたは複数のオブジェクト処理プラットフォーム用に新しいアルゴリズムが開発されるとき、開発プロセスは非常に長い時間がかかる。実際、各プラットフォームは、装置（例えばプロセッサの数およびタイプや、メモリのサイズおよびタイプ）と、使用言語（スカラプロセッサの場合はＣ、ベクトル信号プロセッサの場合はアセンブリ言語）との両方の点で、それ自体の特性を有する。したがって、あるプラットフォーム用にアルゴリズムがすでに開発されたとしても、別のプラットフォーム用にこのアルゴリズムの最適化された適応を行うには、プログラムまたはコードをほぼ完全に書き換える必要がある。
【０００３】
例えば、信号プロセッサは、小さいローカルメモリを有し、メインメモリとこのローカルメモリとの間でデータをコピーしなければならない。別の例として、ベクトル信号プロセッサ、とりわけＳＩＭＤ（単一命令複数データ）タイプのものは、プラットフォームに従って種々のサイズのベクトルにグループ化されたデータを処理しなければならず、言語Ｃなどの言語が使用されるときは、ベクトルをプラットフォームから独立して表現することはできない。
【０００４】
これらの適応は、新しいアルゴリズムの配布において障害をなす。というのは、例えば画像処理ソフトウェアプログラムをあるタイプの写真装置に適応させるには、開発に数カ月かかる可能性があるからである。
【０００５】
カメラの市場、とりわけ、「カメラホン」タイプのカメラ付き電話機の市場は、非常に動的であり、６カ月から１２カ月ごとに品揃えが一新され、機能の点で非常に速く進化する。したがって、これらの新しい機能に素早く適応できることが、市場に遅れずについて行くためには必須となっている。
【０００６】
さらに、計算パワーは非常に速く増大しており、したがって、ますます強力なアルゴリズムを素早く最適化することができるとすればこれらのアルゴリズムと共に、この性能を活用することが可能である。さらに、センサの特性は非常に速く進化しており、したがって、画像処理アルゴリズムを素早く最適化することができるとすれば、画像処理アルゴリズムをこれらのセンサの特性に、とりわけ小型化に伴って増大する雑音関連の特性に適応させる必要がある。
【０００７】
本発明は、これらの欠点を正すためには、データ構成および処理順序から独立した言語で、この情報を手動で明示的にコーディングすることなくアルゴリズムを開発して、プラットフォームから独立した状態を維持するとともにどんな術策の余地も自動ツールに任せる必要があるという分析に基づく。
【０００８】
既存の言語ではこの目的を達成することができない。というのは、これらの言語はすべて、所与のプラットフォーム用にアルゴリズムを特徴付ける条件を課すからである。
【０００９】
このように、例えば、言語Ｃなどの命令型言語は、ループの明示的コーディング、したがって処理順序の定義を課す。Ｍａｔｌａｂなどの表言語では、表処理操作を基本情報に対する直接的な処理操作と混合することができ、これらの直接的な処理操作は結果的に、コードの規則性を乱し、拡張的な自動最適化を妨げる。
【００１０】
さらに、既知の言語では、相対変位または相対スケール（とりわけオブジェクトにおける絶対位置に依存する）を用いて画像に対する操作を実施するためには、ピクセルとループとへのアクセスを使用して基本情報の明示的な操作を使用する必要があるが、これは、とりわけメモリおよび並列処理の点で、コードがプラットフォームに大きく依存することを引き起こす。
【００１１】
したがって、このような言語で書かれたプログラムは、基本情報を直接使用する命令を含むので、データ処理プラットフォームに依存する。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
本発明の目的は、前述の欠点の少なくとも１つを正すために汎用フォーマット化データを提供し、したがって、任意のアルゴリズムの最適化された実装を様々なプラットフォームに対して自動的に素早く得ることによってデータ（特に画像）処理用の装置およびソフトウェアの市場リリースを加速することである。
【００１３】
さらに、本発明は、アルゴリズムを遅れて修正することを可能にするが、これによって例えば以下のことが可能になる。
【００１４】
−プロセッサが市場にリリースされてすぐにこれらの性能の利益を得ること、ならびに／あるいは、
−データ（特に画像）の処理に関する最新の進歩の利益を得ること、ならびに／あるいは、
−プラットフォーム特有の特性を反映して、例えば画像取込みデバイスの場合にアルゴリズムをセンサおよび／または光学機構の特性に素早く適応させること。
【課題を解決するための手段】
【００１５】
したがって本発明は、汎用フォーマット化データを特有フォーマット化データに変換するようになっている少なくとも１つのディジタルデータ処理手段に、汎用フォーマット化データを提供する方法に関する。汎用フォーマット化データは論理ブロックに関係するデータを含み、論理ブロックの少なくとも１つは、プロセッサ（１つまたは複数）とメモリ（１つまたは複数）とを有する少なくとも１つの処理プラットフォームによって特有フォーマット化データに直接的または間接的に従って処理されることになるオブジェクトに対応し、プラットフォームは、処理手段の上流に位置するかまたは処理手段に統合される。処理されるオブジェクトは同じタイプの基本情報で構成され、すべての情報は少なくとも１つの数値で表される。
【００１６】
本方法は、以下のステップを含む。
【００１７】
−汎用フォーマット化データの一部である第１のデータであって、少なくとも１つの論理ブロックおよび／または少なくとも１つのパラメータに対して実施されることになる少なくとも１つの汎用操作シーケンスを記述する第１のデータが、ディジタル処理手段に提供される。
【００１８】
−いくつかの論理ブロックを使用する汎用操作に関して、第２のデータがディジタル処理手段に提供される。この第２のデータは汎用フォーマット化データの一部であり、とりわけ空間的および／または時間的な、オブジェクトの次元の少なくとも１つに従った、相互との関係におけるブロックおよび／またはパラメータの相対位置を参照し、かつ／あるいは、とりわけ空間的および／または時間的な、オブジェクトの次元の少なくとも１つに従った、相互との関係における論理ブロックおよび／またはパラメータの相対スケールを参照する。
【００１９】
汎用フォーマット化データは、１つまたはいくつかの次元のオブジェクトに対して実施されることになる処理操作を記述するディジタルデータであり、オブジェクトは、画像、ディジタルオーディオ信号、画像のシーケンス、被変調信号、シミュレーションデータ、および数値メッシュを含むグループに含まれる。
【００２０】
処理されるオブジェクトは、基本情報の形の物理データで構成される物理エンティティであり、基本情報は、画像のピクセル、ディジタルオーディオ信号のサンプル、被変調信号の強度および位相、シミュレーションデータのステータスを特徴付けるデータ、数値メッシュの点を特徴付ける時間および／または空間情報を含むグループに含まれる。
【００２１】
処理手段に提供される汎用フォーマット化データは、基本情報の識別と、基本情報がプラットフォームによって処理されることになる順序とに関係するデータを除外し、それにより、汎用フォーマット化データは、使用される処理プラットフォームから独立している。この汎用フォーマット化データはまた、オブジェクトからサブオブジェクトへの分解と、これらのサブオブジェクトの形、サイズ、およびオーバーレイと、これらのサブオブジェクトを形成する基本情報をメモリに記憶することとに関係するデータから独立している。
【００２２】
順序とサブオブジェクトへの分解とに関係するこのデータは、処理手段によって決定される。
【００２３】
本明細書では、汎用フォーマット化データは、データ処理プラットフォームによってオブジェクトに対して実施されることになる処理操作を、プラットフォーム自体から独立して記述するのに使用されるディジタルデータである。この汎用フォーマット化データは、本発明では、処理プラットフォームを含むことができるかまたは処理プラットフォームの上流に位置する、処理手段に供給される。処理されるオブジェクトは、同じタイプの基本情報のセットに対応する。これらのオブジェクトは、例えば画像、ディジタルオーディオ、ビデオ、またはシミュレーションデータですらある。
【００２４】
好ましくは、汎用操作のシーケンスはループを含まない。
【００２５】
一実施形態では、第２のデータは汎用フォーマット化データの一部であり、とりわけ空間的および／または時間的な、オブジェクトの次元の少なくとも１つに従った、相互との関係におけるブロックおよび／またはパラメータの相対位置を参照し、かつ／あるいは、とりわけ空間的および／または時間的な、オブジェクトの次元の少なくとも１つに従った、相互との関係における論理ブロックおよび／またはパラメータの相対スケールを参照する。
【００２６】
一実施形態では、オブジェクトおよびサブオブジェクト、ならびに論理ブロックは、いくつかの次元を有する。
【００２７】
サブオブジェクトおよび論理ブロックの次元は、オブジェクトの次元のすべてまたは一部に対応する。次元は種々のタイプとすることができ、とりわけ以下のタイプである。
【００２８】
−空間的。例えば、距離、角度、または、メッシュ中でのスクローリング。
【００２９】
−時間的。
【００３０】
−周波数。例えば、色、周波数、周波数帯。
【００３１】
−位相。
【００３２】
−別のベクトル空間基底に従った分解。例えば、ウェーブレットへの分解。
【００３３】
−一般に、任意のトポロジの任意の空間の次元。
【００３４】
以下の非網羅的なリストに、オブジェクトの例をその次元と共に提供する。
【００３５】
−２つの次元を有する静止画。各次元は、距離、とりわけピクセルで測定される距離に対応する。
【００３６】
−２つの次元を有する未処理静止画。各次元は距離に対応し、各ピクセルには色、例えば赤、緑、または青が備わる。
【００３７】
−２つの次元を有する静止カラー画像。各次元は距離に対応し、一方の次元はカラーチャネルを表す周波数、例えば赤／緑／青を表す周波数に対応する。
【００３８】
−３つの次元を有する動画。次元のうちの２つは、距離、とりわけピクセルで測定される距離に対応し、１つは時間に対応する。
【００３９】
−３つの次元を有するレリーフ画像。次元は距離に対応する。
【００４０】
−３つの次元を有するレリーフ画像。次元のうちの２つは距離に対応し、第３の次元は視野角に対応する。
【００４１】
−距離次元およびおそらくチャネル次元を有する医療画像。
【００４２】
−視野角次元を有するホログラム。
【００４３】
−より一般的に、距離および／または角度および／または時間および／または周波数の次元を有する画像。
【００４４】
−時間に対応する次元を有する音声。
【００４５】
−時間およびチャネルに対応する２つの次元を有する音声。
【００４６】
−時間、およびおそらく周波数、およびおそらく空間における位置、または角度に対応する１つまたは複数の次元を有する被変調信号。
【００４７】
−１つまたは複数の次元に従って配置された基本情報によって示される、信号変調および復調、測定、データの分析、データベース索引付けまたは検索、コンピュータによる閲覧、グラフィック処理、シミュレーション。
【００４８】
−より一般的に、１つまたは複数の次元を有するオブジェクト。
【００４９】
本発明では、オブジェクトの基本情報は、絶対的な位置および／またはスケールを有することができ、これらはとりわけ、空間および／または時間および／または周波数によるものとすることができるが、同様に、オブジェクトの次元の少なくとも１つ、ならびに任意の空間、とりわけウェーブレットで構成された空間に従ったものとすることもできる。
【００５０】
−「オーディオ」オブジェクトに関する基本情報は、強度に対応することができる。この場合、基本情報は、時間における所与の瞬間に対応する絶対位置を有し、複数チャネル音声の場合は、所与のチャネルに対応する絶対位置を有する。
【００５１】
−「画像」オブジェクトに関する基本情報は、ピクセルに対応することができる。この場合、基本情報は、画像中の位置に対応する絶対位置を有し、ビデオ画像の場合は、時間における所与の瞬間に対応する絶対位置を有する。
【００５２】
−「データシミュレーション」オブジェクトに関する基本情報は、ステータスに対応することができる。この場合、基本情報は、メッシングノードと、時間における所与の瞬間とに対応する絶対位置を有する。
【００５３】
−「被変調信号」オブジェクトに関する基本情報は、強度および／または位相に対応することができる。この場合、基本情報は、時間における所与の時点に対応する絶対位置を有し、おそらく、複数のアンテナまたは送信機が使用される場合は、所与の周波数および／または所与の位置に対応する絶対位置を有する。
【００５４】
基本情報は、処理される情報の要素であり、１つまたは複数の数値で表される。この情報は、８ビット符号付き符号化、１０ビット符号化、または１６ビット符号付き符号化など、様々なタイプの符号化に従って符号化することができる。例えばオブジェクトが画像である場合、基本情報はこの画像のピクセルとなる。
【００５５】
オブジェクトは、デモザイキング操作前の未処理画像（「生」タイプのもの）とすることができる。この場合、基本情報は、ピクセルの絶対位置に従って例えば赤、緑、または青に対応する数値で表されるピクセルである。オブジェクトは可視画像とすることもでき、この場合、基本情報は、例えば３つの数値で表されるピクセルであり、各数値は色、例えば赤、緑、および青を表す。
【００５６】
オブジェクトは画像のシーケンス、とりわけ未処理または可視画像のシーケンスとすることもでき、この場合、基本情報は、画像シーケンスからの画像のピクセルである。したがって、オブジェクトは例えばビデオに対応する。
【００５７】
オブジェクトが画像である場合、画像は、画像取込みデバイスから受け取ることができ、かつ／または画像レンダリングデバイスに向けることができる。
【００５８】
−画像取込みデバイスは、例えば使い捨てカメラ、ディジタルカメラ、レフレックスカメラ（ディジタルまたは非ディジタル）、スキャナ、ファクス、内視鏡、ビデオカメラ、カムコーダ、監視カメラ、玩具、電話機またはパーソナルアシスタントまたはコンピュータに統合されたかリンクされたビデオカメラまたはカメラ、サーマルカメラ、超音波マシン、ＭＲＩ（磁気共鳴）撮像ユニット、Ｘ線撮影ユニットである。
【００５９】
−画像レンダリングデバイスは、例えばスクリーン、プロジェクタ、テレビジョン、仮想現実ゴーグル、またはプリンタである。
【００６０】
−画像取込みおよび画像レンダリングデバイスは、例えばスキャナ／ファクス／プリンタ、小型写真印刷ラボ、ビデオ会議デバイスである。
【００６１】
処理プラットフォームは、適用例に応じて種々の形をとることができる。例えば、オブジェクトが画像である場合に、とりわけ処理プラットフォームが以下のデバイスの１つに統合された場合について列挙する。
【００６２】
−処理済み画像を生成する画像取込みデバイス。例えば、処理プラットフォームを統合したディジタルカメラ。
【００６３】
−処理済み画像を表示または印刷する画像レンダリングデバイス。例えば、処理プラットフォームを備えるビデオプロジェクタまたはプリンタ。
【００６４】
−これらの要素上の欠陥を訂正する混合デバイス。例えば、処理プラットフォームを備えるスキャナ／プリンタ／ファクス。
【００６５】
−処理済み画像を生成するプロ用画像取込みデバイス。例えば、処理プラットフォームを備える内視鏡。
【００６６】
処理プラットフォームは、完全にまたは部分的にサーバ上に移すことができる。
【００６７】
プラットフォーム中でオブジェクトに施されることになる処理は、例えば画像処理、データ圧縮および圧縮解除、オーディオ処理、信号変調および復調、測定、データ分析、データベース索引付けまたは検索、コンピュータによる閲覧、グラフィック処理、シミュレーションなど様々な分野、あるいは多量のデータを使用する任意の分野に介入することのできる、１つまたは複数の汎用操作シーケンスによって記述されるアルゴリズムに対応する。
【００６８】
汎用操作は、サイズ、形、時間の概念を伴わない論理ブロックすなわち抽象エンティティに適用される操作である。汎用操作は、論理ブロックを生成することができる。好ましくは、少なくとも１つの論理ブロックは、処理されるオブジェクトに対応する。
【００６９】
２つの論理ブロックおよび／またはパラメータの相対スケールおよび相対位置の概念は、限定しないがとりわけ以下に挙げることを可能にする。
【００７０】
−絶対位置に従った、いくつかの論理ブロックおよび／または可変パラメータの結合、ならびに／あるいは、
−スケールの変更、ならびに／あるいは、
−近傍に対するフィルタの生成、ならびに／あるいは、
−値がオブジェクトの基本情報の絶対位置に依存するときの、パラメータの値の決定、ならびに／あるいは、
−表現の変更。
【００７１】
本発明では、論理ブロックは、汎用操作に従ったいくつかのタイプのものである。例えば、オブジェクトが画像である場合、
−少なくとも１つの論理ブロックは「未処理」タイプであり、かつ／または、
−少なくとも１つの論理ブロックは赤タイプであり、かつ／または、
−少なくとも１つの論理ブロックは緑タイプであり、かつ／または、
−少なくとも１つの論理ブロックは青タイプであり、かつ／または、
−少なくとも１つの論理ブロックは８ビットデータで表すことができ、かつ／または、
−少なくとも１つの論理ブロックは１６ビットデータで表すことができる。
【００７２】
一実施形態では、少なくとも１つの論理ブロックは、複数スケールデータ、例えばスケール１、１／２、１／４、および１／８のデータを含む。これにより、汎用操作をいくつかのスケールで実施して、その後、結果を結合することが可能になる。
【００７３】
処理時、論理ブロックは、一実施形態では、論理ブロックのタイプに応じて、基本情報と同じタイプの要素で構成されるか、さもなければ基本情報とは異なるタイプの要素で構成される物理ブロックに対応することができる。絶対または相対位置の概念は、論理ブロックのタイプから独立している。本発明によれば、基本情報の概念は、論理ブロックがどんなタイプであろうとすべての要素に当てはまる。
【００７４】
アルゴリズムは、例えば、オブジェクトが画像である場合、限定しないが以下に挙げるものに対応することができる。
【００７５】
−自動ホワイトバランスに関する、とりわけ統計ベースの計算、ならびに／あるいは、
−自動露光に関する、とりわけ統計ベースの計算、ならびに／あるいは、
−自動フォーカスに関する、とりわけ統計ベースの計算、ならびに／あるいは、
−自動コントラスト改善に関する、とりわけ統計ベースの計算、ならびに／あるいは、
−未処理画像から可視画像への変換（「イメージパイプ」）、ならびに／あるいは、
−光学障害の補正、ならびに／あるいは、
−センサ障害の補正、ならびに／あるいは、
−イメージャ障害の補正、ならびに／あるいは、
−処理操作、とりわけ鮮鋭度の改善、ならびに／あるいは、
−処理操作、とりわけ色表現の改善、ならびに／あるいは、
−処理操作、とりわけコントラスト表現の改善、ならびに／あるいは、
−処理操作、とりわけディテール表現の改善、ならびに／あるいは、
−雑音低減、ならびに／あるいは
−測定、ならびに／あるいは、
−圧縮、ならびに／あるいは、
−圧縮解除、ならびに／あるいは、
−補間または拡大（ズーム）、ならびに／あるいは、
−走査、ならびに／あるいは、
−特殊効果。
【００７６】
処理されるオブジェクトは一般に、処理中に、空間と時間の両方でまたはオブジェクトの他の次元で、サブオブジェクト、すなわち所定のサイズおよび形を有する基本情報のグループに分解される。
【００７７】
一般に、アルゴリズムの汎用操作は、基本情報に加えて、例えば乗率などのパラメータを使用する。
【００７８】
これらのパラメータは、例えば、限定しないが以下に挙げるものに対応することができる。
【００７９】
−フィルタ係数
−飽和度の値
−オフセット値
−相関表
一実施形態では、パラメータの値は、このパラメータのタイプに応じて、
−一定でありアルゴリズムに固有とすることができる。この場合、パラメータの値はとりわけ、処理手段またはプラットフォームに送出することができる。かつ／あるいは、
−オブジェクトのソースまたは宛先に依存することができる。例えば、処理されるオブジェクトが、所与の光学機構を備えたデバイスからの画像である場合、パラメータの値は、光学機構のタイプに依存することができ、光学機構のタイプは、画像中の鮮鋭度のレベルに影響を有する。この場合、パラメータの値はとりわけ、処理手段またはプラットフォームに送出することができる。かつ／あるいは、
−処理されるオブジェクトに依存することができる。例えば、処理されるオブジェクトがセンサからの画像である場合、パラメータの値は、このオブジェクトを取り込むのに効果的に使用されるセンサの利得に依存することができ、センサの利得は、画像中の雑音のレベルに影響を有する。この場合、パラメータの値はとりわけ、プラットフォームによって送出、選択、または計算することができる。かつ／あるいは、
−オブジェクトにおける基本情報の絶対位置に依存することができる。この場合、パラメータの値はとりわけ、プラットフォームによって送出、選択、または計算することができる。かつ／あるいは、
−オブジェクトにおける基本情報の絶対位置に依存しないものとすることができる。
【００８０】
パラメータ値は、アルゴリズムの定義との関係で、同時にまたはアポステリオリに決定することができる。
【００８１】
ある種のパラメータの値が、あるオブジェクトと別のオブジェクト、あるサブオブジェクトと別のサブオブジェクト、またはある基本情報と別の基本情報とで変動する可能性があることを見てきた。この場合、一実施形態では、パラメータの値は、変更の度に計算される。別の実施形態では、パラメータの可能な値はアプリオリに計算され、変更の度に索引またはアドレスが決定されて、それにより、パラメータの値へのアクセスが例えば表の中で可能になる。よりパラメータに特有に適応され、それにより値がサブオブジェクトの絶対位置に従ってあるサブオブジェクトと別のサブオブジェクトとで変動し、かつそれにより値の数が制限される（例えば光学的な鮮鋭度の特性に対応するパラメータ）別の実施形態では、有限数のパラメータ値セットが決定され、各セットは記憶され、各サブオブジェクトにつき、使用されるセットが、例えば使用されるセットのアドレスを与える位置の関数を計算することによって選択される。
【００８２】
オブジェクトが画像である場合、一実施形態では、画像は、並置された矩形サブオブジェクトに分解され、これらのサブオブジェクトは、例えば左から右へ、次いで上から下へ処理される。プラットフォームに応じて、サブオブジェクトは、限定しないが以下に挙げる方式のうちの１つに従って選択および記憶される。
【００８３】
−小さい高速アクセスメモリおよび大きい低速メモリを伴う信号処理プロセッサの場合、サブオブジェクトのサイズは、低速メモリにアクセスせずにサブオブジェクトを処理することができるように選択される。例えば、３２×３２ピクセルの正方形に対応するサブオブジェクトを採用することが可能となり、現在のサブオブジェクトに関する計算中に、かつ、次のサブオブジェクトに関する計算に必要とされるデータが低速メモリから高速アクセスメモリに転送される間に、前のサブオブジェクトに対する計算の結果が低速メモリに転送される。
【００８４】
−小さいキャッシュメモリおよび大きい低速メモリを伴うスカラプロセッサの場合、サブオブジェクトのサイズは、キャッシュメモリをできるだけ使用してサブオブジェクトの処理を実施することができるように選択される。例えば、３２×３２ピクセルの正方形に対応するサブオブジェクト、あるいは１ピクセルのサブオブジェクト、あるいは、とりわけ「生」タイプの未処理画像の場合は４ピクセルのサブオブジェクトを採用することが可能となる。
【００８５】
−ベクトル信号プロセッサの場合、サブオブジェクトのサイズは、プラットフォームが処理および記憶することのできるベクトルのサイズと同数またはその倍数として選択され、例えば、６４個の水平ピクセルに対応するサブオブジェクトを採用することができる。
【００８６】
オブジェクトが画像とは異なるタイプである場合でも、同様にしてサブオブジェクトへの分解をプラットフォームに適応させることができる。
【００８７】
Ｃなどの言語では、サブオブジェクトへのこの分解および対応するループのコーディングは、プラットフォームに従って明示的でなければならず、プラットフォームごとに手動で実施しなければならない。コーディングされたループからサブオブジェクトを明示的に抽出しようと努めるベクトル信号コンパイラが存在するが、これらのコンパイラは、アルゴリズム概念を自動的にコーディングする前に抽出しなければならず、これは非常に難しいので、これらのコンパイラの効率は限られている。
【００８８】
したがって本発明は、どんなプラットフォームへの適応でも、自動化および効率向上できるようにする。
【００８９】
以下の表に、本発明と既知の言語との主な違いを要約する。
【００９０】
【表１】
2009520256.tif 000002
一実施形態では、第１および第２のデータ、ならびにパラメータ値は、プラットフォームがオブジェクトを処理できるのに十分である。
【００９１】
さらに、第１のデータは、論理ブロックを表す値が符号化されたビットの数に関する情報を含む。
【００９２】
特有フォーマット化データは、処理手段の出力から得られるデータである。このデータは、実際、汎用フォーマット化データの変換であり、したがってこれらも同様にして、処理されるオブジェクトに適用されることになっている処理アルゴリズムを表す。この特有フォーマット化データはとりわけ、汎用操作からの特有操作であってプラットフォームでの処理中にオブジェクト自体に対して実施されることになる命令を記述する特有操作を含む。
【００９３】
本発明による汎用フォーマット化データは、この特有フォーマット化データの計算を可能にするだけの十分な情報を、ただしこのプラットフォームに依存せずに含む。実際、汎用フォーマット化データによって定義される操作は、上でさらに定義したような論理ブロックに適用される汎用操作である。したがって、第１のデータは、同じ論理ブロック（１つまたは複数）に属する他の基本情報から独立して１つまたは複数の基本情報を使用する汎用操作を記述するデータを除外する。実際、論理ブロックが抽象エンティティであるとすれば、それを構成する異なる基本情報を区別および識別するのは不可能である。
【００９４】
したがって、プラットフォームがどんなアーキテクチャタイプであろうと、また処理されるオブジェクトがどんなフォーマットであろうと、汎用フォーマット化データは、種々の処理プラットフォームに供給することができる。例えば、３百万ピクセルの画像に関する汎用フォーマット化データは、５百万ピクセルの画像に関するものと同じとなる。このようにすれば、新しいアルゴリズムが開発されたときは、汎用フォーマット化データを１度定義するだけで、ごく短時間の後に、このアルゴリズムを、性能およびメモリサイズの点で最適化された方式で種々のプラットフォーム上で動作させることができる。
【００９５】
処理アルゴリズム中で使用される汎用操作のタイプに従って、第２のデータは異なる特性を呈する可能性がある。
【００９６】
本発明の一実施形態によれば、処理手段に提供される第２のデータの少なくとも１つのセクション、および／または少なくとも１つのパラメータの値は、所与の汎用操作に対して、処理されるオブジェクトのすべての基本情報に共通である。
【００９７】
別の実施形態によれば、処理手段に提供される第２のデータの少なくとも１つのセクション、および／または少なくとも１つのパラメータの値は、処理されるオブジェクトにおける基本情報の絶対位置に依存する。
【００９８】
例えば、すべての基本情報に共通のパラメータをフィルタに使用すると、鮮鋭度を一様に高めることができる。
【００９９】
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存するパラメータをフィルタに使用すると、光学的な欠陥を補償するためにエッジでより大幅に鮮鋭度が高まる。
【０１００】
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存するパラメータをビネッティング補正に使用すると、光学的な欠陥を補償するためにエッジでより高い補償が生み出される。
【０１０１】
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存するパラメータをデモザイキング操作に使用すると、センサから受け取られた未処理画像中の「赤」ピクセル、「緑」ピクセル、および「青」ピクセルを異なる方式で処理することができる。
【０１０２】
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存する第２のデータ、とりわけ変位を、ディジタル拡大計算（「ズーム」）または歪み補正計算に使用すると、各点における補間を計算するのに必要とされるピクセルが生成される。
【０１０３】
例えば、処理されるオブジェクトにおける基本情報の絶対位置に依存する第２のデータ、とりわけ変位を、フォーマットの変更に使用すると、新しいフォーマットに必要とされるピクセルが生成される。したがって例えば、別々の輝度（Ｙ）ならびに赤および青（ＵおよびＶ）クロミナンス情報を使用して、例えばＹＵＶタイプの色符号化のためのピクセルの値を得ることが可能である。
【０１０４】
本発明の一実施形態では、汎用操作は、オブジェクトの次元の１つに従った絶対位置で構成される論理ブロックを生成する少なくとも１つの汎用位置操作、ならびに、第３のブロックに従ったまたはパラメータに従った変位および／またはスケール変更によって第１のブロックから第２のブロックを生成する汎用インダイレクション操作を含む。
【０１０５】
別の実施形態では、汎用操作は、論理ブロックおよび／またはパラメータの加算、論理ブロックおよび／またはパラメータの減算、論理ブロック間の差の絶対値の計算、論理ブロックおよび／またはパラメータの乗算、少なくとも２つの論理ブロックおよび／またはパラメータのうちの最大値、少なくとも２つの論理ブロックおよび／またはパラメータのうちの最小値、論理ブロックのグループ化およびグループ化解除、相関表に対応するパラメータを論理ブロックに適用することによる論理ブロックの計算、少なくとも２つの論理ブロックおよび／またはパラメータからの、論理ブロックの条件付き選択（この選択は、ａ＞ｂならばｃが選択され、そうでなければｄが選択されるように行われる。ａ、ｂ、ｃ、およびｄは、論理ブロックおよび／またはパラメータである）、論理ブロックに関する棒グラフ、パラメータおよび／または論理ブロックに従った、論理ブロックのスケール変更、パラメータおよび／または論理ブロックに従った、論理ブロックの相対変位、少なくとも１つの座標を含むブロックを生成する操作、を含むグループに含まれる少なくとも１つの基本汎用操作を含む。
【０１０６】
加算など、論理ブロックおよびパラメータを使用する汎用操作は、プラットフォーム中での操作に変換することができ、例えば、汎用操作が加算に関するものであるときは、この汎用操作は、論理ブロックに対応する処理される物理ブロックの各要素または基本情報を、処理される要素または基本情報の絶対位置に対応するパラメータの値に加算することに対応する。
【０１０７】
これらの操作は、まさにその性質により、画像処理では比較的標準的な操作だが、他の種類のオブジェクトの処理でもそうである。しかし、これらの操作は、第２のデータと共に論理ブロックに適用されるとき、提起されている問題への解決法を提供する。これらは、データ処理アルゴリズム中で実施することのできるすべての操作を形成するための基礎としての働きをする。
【０１０８】
したがって、一実施形態では、汎用操作は、それら自体も使用される基本汎用操作のグループに対応する、複合的な汎用操作を含む。これらのグループはとりわけ、少なくとも３つの論理ブロックおよび／またはパラメータの中央値の計算（最小値および最大値の計算からなる汎用操作のグループに対応する）、論理ブロックおよび／またはパラメータの乗算／累算、論理ブロックとパラメータとの重畳（いくつかの相対位置による乗算および加算からなる汎用操作のグループに対応する）、最大値および最小値と組み合わせた加算、勾配の計算（２つの相対位置の差の絶対値に対応する）、ベクトルからなるパラメータといくつかの論理ブロックとのスカラ積による論理ブロックの生成、補間によるスケール変更の計算（いくつかの相対位置によるスケール変更と乗算および加算とからなる汎用操作のグループに対応する）、論理ブロックの結合（いくつかの相対位置によるスケール変更からなる汎用操作のグループに対応する）を含む。
【０１０９】
操作のいくつかは、複数の論理ブロックを使用する。この場合、相互との関係で実現される論理ブロックの位置に関して、第２のデータが提供されることはすでに示した。
【０１１０】
相対位置および相対スケールは、オブジェクトのタイプに応じて様々な概念に対応することができる。これらは、タイプにかかわらず任意の２つのブロック間で適用される（前述のような画像の場合、論理ブロックはとりわけ、未処理、赤、緑、８ビットなどとすることができる）。
【０１１１】
オブジェクトが正方形ピクセルを含む静止画である場合、絶対または相対位置および絶対または相対スケールはそれぞれ、一実施形態では、２つの値（垂直および水平）に対応することができる。オブジェクトの最上ラインのピクセルは、絶対位置として（０；０）（０；１）（０；２）．．．を有することができ、ｎ番目のラインのピクセルは、絶対位置として（ｎ；０）（ｎ；１）（ｎ；２）を有することができる。この場合、相対位置は、次のようにしてコーディングすることができる。すなわち、（−１；０）は上を示し、（０；１）は右を示し、（２；−２）は２ピクセル下および２ピクセル左を示す。この場合、（０．５；０．５）の相対スケールは、各方向への半分の解像度に対応する。
【０１１２】
より一般的には、相対変位と相対スケールの組合せは、次のようにして２つの関数ｆおよびｇを使用してコーディングすることができる。すなわち、絶対位置の各ピクセルにつき（ｆ（ｘ；ｙ）；ｇ（ｘ；ｙ））である。例えば最も近いピクセルを取るためには、丸め規則が必要であることに留意されたい。したがって、
−上の相対位置は、ｆ（ｘ；ｙ）＝−１およびｇ（ｘ；ｙ）＝０でコーディングされる。
【０１１３】
−相対スケール０．７は、ｆ（ｘ；ｙ）＝０．７＊（ｘ−ｘ０）およびｇ（ｘ；ｙ）＝０．７＊（ｙ−ｙ０）でコーディングされる。ｘ０およびｙ０は、絶対位置に対するパラメータに対応する。
【０１１４】
−歪み補正は、歪みフィールドに対応するｆおよびｇでコーディングされる。
【０１１５】
−ＹＵＶ４：２：２フォーマット変更、すなわち、別々のＹ、Ｕ、Ｖ輝度およびクロミナンス情報を使用するＹＹＵＶは、Ｙ１  Ｙ２  Ｙ３  Ｙ４．．．を使用してＹ１  Ｙ２  ｘｘ  ｘｘ  Ｙ３  Ｙ４  ｘｘ  ｘｘ．．．を得るために、次の関数を使用することができる。すなわち、ｘが偶数ならｆ（ｘ；ｙ）＝（ｘ−ｘ０）＊０．５、ｘ−ｘ０が奇数なら（ｘ＋１−ｘ０）＊０．５を使用することができ、ｆ（ｙ）＝ｙ−ｙ０である。ｘ０およびｙ０は、絶対位置に関するパラメータに対応する。
【０１１６】
以下の非網羅的なリストに、様々な異なるタイプのオブジェクトによる実施形態の他の例を提供する。
【０１１７】
−オブジェクトが、ラインに沿って配置された六角形のピクセルを含む静止画であって、２つの連続したラインが半ピクセル分ずれている場合、絶対または相対位置および絶対または相対スケールは、それぞれ２つの値（垂直および水平）に対応することができる。オブジェクトの最上ラインのピクセルは、絶対位置として（０；０）（０；１）（０；２）．．．を有することができ、ｎ番目のラインのピクセルは、絶対位置として、ラインが奇数ラインならば（ｎ；０．５）（ｎ；１．５）（ｎ；２．５）．．．を有することができ、ラインが偶数ラインならば（ｎ；０）（ｎ；１）（ｎ；２）．．．を有することができる。相対位置は、２つの値（垂直および水平）に対応することができ、例えば、（−０．５；０．５）は右上を示し、（０，１）は右を示し、（−０．５；１．５）は右上のピクセルの右に位置するピクセルを示す。この場合、相対スケール（０．５；０．５）は、各方向への半分の解像度に対応する。また、相対変位と相対スケールの組合せは、２つの関数ｆおよびｇを次のようにして使用してコーディングすることができる。すなわち、絶対位置ｘ，ｙの各ピクセルにつき（ｆ（ｘ；ｙ）；ｇ（ｘ；ｙ））である。例えば最も近いピクセルを取るためには、丸め規則が必要であることに留意されたい。
【０１１８】
−オブジェクトが、正方形のピクセルを含む動画である場合、絶対または相対位置は３つの値（垂直、水平、および時間）に対応することができ、例えば、（−１；０；０）は、同じ画像中の上に位置するピクセルを示し、（０；０；−１）は、前の画像中の同じ位置のピクセルを示し、（２；−２；−１）は、前の画像中の２ピクセル下および２ピクセル左に位置するピクセルを示す。また、相対変位と相対スケールの組合せは、３つの関数ｆ、ｇ、ｈを次のようにして使用してコーディングすることができる。すなわち、時間ｔにおける絶対位置ｘ，ｙの各ピクセルにつき（ｆ（ｘ；ｙ；ｔ）；ｇ（ｘ；ｙ；ｔ）；ｈ（ｘ；ｙ；ｔ））である。例えば最も近いピクセルを取るためには、丸め規則が必要であることに留意されたい。
【０１１９】
−オブジェクトが単一チャネルの音声である場合、絶対または相対位置は１つの値（時間）に対応することができる。例えば、（−１）は前の時間を示し、（２）は２つの時間後を示す。この場合、関数ｆ（ｔ）が、変位および相対スケールのコーディングを可能にする。最も近い時間を取るためには、丸め規則が使用される。
【０１２０】
−オブジェクトが複数チャネル音声である場合、絶対または相対位置は２つの値（時間、チャネル）に対応することができる。例えば、（−１，０）は、同じチャネルでの前の時間を示し、（２，１）は、後続のチャネルでの２つの時間後を示し、このチャネルは例えば循環的な方式で空間配置される。また、相対変位と相対スケールの組合せは、２つの関数ｆ、ｇを次のようにして使用してコーディングすることができる。すなわち、チャネルｃで時間ｔに位置する各オーディオサンプルにつき（ｆ（ｔ；ｃ）；ｇ（ｔ；ｃ））である。例えば最も近い時間およびチャネルを取るためには、丸め規則が必要であることに留意されたい。
【０１２１】
−オブジェクトがシミュレーションメッシュである場合、絶対または相対位置はｎ個の値に対応することができ、各値は、メッシングのトポロジに従った空間または時間次元に対応する。また、相対変位と相対スケールの組合せは、ｎ個の関数を使用してコーディングすることができる。例えば最も近いノードおよび時間を取るためには、丸め規則が必要であることに留意されたい。
【０１２２】
−オブジェクトが被変調信号である場合、絶対または相対位置はｎ個の値に対応することができ、各値は、時間と、妥当な場合に周波数チャネル（複数の周波数上での送信または受信）と、妥当な場合に空間次元（空間的に配置された複数の送信機または受信機）とに対応する。また、相対変位と相対スケールの組合せはｎ個の関数を使用してコーディングすることができ、丸め規則を選択しなければならない。
【０１２３】
−オブジェクトが測定値のセットである場合、絶対または相対位置はｎ個の値に対応することができ、各値はオブジェクトの次元の１つに対応し、これらの次元は、場合に応じて、時間、空間、周波数、位相、または他のタイプであることがある。また、相対変位と相対スケールの組合せはｎ個の関数を使用してコーディングすることができ、丸め規則を選択しなければならない。
【０１２４】
−オブジェクトが次元ｎのオブジェクトである一般的な場合、絶対または相対位置はｎ個の値に対応することができ、各値はオブジェクトの次元の１つに対応し、これらの次元は、場合に応じて、時間、空間、周波数、位相、または他のタイプであることがある。また、相対変位と相対スケールの組合せはｎ個の関数を使用してコーディングすることができ、丸め規則を選択しなければならない。
【０１２５】
したがって、本発明の一実施形態では、とりわけ空間的および／または時間的な、オブジェクトの次元の少なくとも１つに従った、論理ブロックの相対位置および／または相対スケールは、上記の例で述べたように整数値または分数値を有する。
【０１２６】
一実施形態では、基本情報は、固定点における数値で表される。この場合、結果においてどんな情報も失わないように、操作を適用するときにこの固定点を考慮しなければならない。この目的で、本発明の同じ実施形態では、汎用操作は、オフセッティング操作、１つの飽和度操作、および／または、この飽和度操作と組み合わせた少なくとも１つの基本汎用操作を含む。
【０１２７】
一実施形態では、パラメータは、基本情報の符号化のタイプを表す情報を含む。
【０１２８】
例えば、基本情報が画像のピクセルである場合、これらは例えば、赤−緑−青符号化（ＲＶＢ）における３色を表す２４ビット上で表され、さらには、センサから受け取られた未処理画像では、ピクセルの位置に従って変動する１ピクセル当たり１色を表すＮビット上で表され、さらには、ＹＵＶタイプの符号化による符号化済み画像では、ＹまたはＵまたはＶの輝度およびクロミナンス情報に対応する８ビット上で表される。したがって、汎用フォーマット化データを正しく変換するために、符号化のタイプを処理手段が知ることができるようにするデータを処理手段に提供することは有用である。
【０１２９】
好ましくは、汎用フォーマット化データは、画像を構成するオブジェクトであってピクセルを形成する基本情報で構成されるオブジェクトを処理するためのアルゴリズムを表す。
【０１３０】
したがって、一実施形態では、処理プラットフォームは、画像取込みまたはレンダリングデバイスの一部であり、パラメータの値は、画像取込みおよび／またはレンダリングデバイスの、光学機構および／またはセンサおよび／またはイメージャおよび／または電子機構および／またはソフトウェアの特性にリンクされる。
【０１３１】
特性はとりわけ、すべてのオブジェクトに対する固有の固定特性とすることもでき、あるいはオブジェクトに従った変数とすることもでき、例えば、センサの利得に従って変動する雑音特性とすることができる。
【０１３２】
特性はまた、基本情報の絶対位置に従って、すべての基本情報または可変情報に対して同一とすることもでき、例えば光学的な鮮鋭度の特性とすることができる。
【０１３３】
しかし、汎用フォーマット化データは、他のタイプのデータ処理アルゴリズムを表すこともできる。したがって、一実施形態では、処理されるオブジェクトはディジタルオーディオ信号であり、この場合、基本情報は、この信号のオーディオサンプルにある。この場合、第２のデータ中に存在する相対位置は一般に、時間的位置になる。しかし、これらの位置が空間的になることも起こりうる。これはとりわけ、処理されるオブジェクトが、複数のチャネル上に存在する音声である場合である。
【０１３４】
本発明の別の実施形態では、とりわけディジタルシミュレーションの場合、処理されるオブジェクトは数値メッシュであり、基本情報は、メッシングの各点を特徴付ける空間および／または時間情報である。
【０１３５】
本発明の他の特性および利点は、その実施形態のいくつかに関する非限定的な記述から明らかになるであろう。この記述は図によってサポートされる。
【発明を実施するための最良の形態】
【０１３６】
図１に示すデバイスは、画像２２を処理するようになっている。この画像はピクセルのセットを含み、各ピクセルは少なくとも１つの数値で表される。
【０１３７】
このデバイス中で、ディジタルデータ処理手段１０に汎用フォーマット化データ１２が提供される。この処理手段は、この例ではコンパイラである。
【０１３８】
本発明による方法によって供給される汎用フォーマット化データは、第１および第２のデータ１４を含み、第１および第２のデータ１４は、汎用操作のシーケンスを記述するとともに、これらの汎用操作に関係する論理ブロックの相対位置を記述する。この第１および第２のデータについては、表１によって例示する。
【０１３９】
この汎用フォーマット化データ１２を使用して、処理手段１０は、例えばコンパイラを介して、画像取込みまたは画像レンダリングデバイスなどの処理プラットフォーム２０に特有フォーマット化データ１８を直接的または間接的に提供する。
【０１４０】
特有フォーマット化データは、プラットフォームのメモリにおけるピクセルの構成、ピクセルがプラットフォームによって処理される順序、さらにはプラットフォームによって実施される特有操作およびそれらのグループ化に関するデータなど、種々のタイプのデータを含む。
【０１４１】
次いで処理プラットフォーム２０は、この特有フォーマット化データ１８を使用して、インバウンドで受け取った画像２２を処理する。
【０１４２】
図２に示すシステムは、図１に示したシステムに類似するが、２つの処理プラットフォームが使用される場合のものである。
【０１４３】
この場合、２系列の汎用フォーマット化データ３２ａおよび３２ｂが、処理手段３０に提供される。この汎用フォーマット化データ３２ａおよび３２ｂはそれぞれ第１および第２のデータを含み、これらはそれぞれ、汎用フォーマット化データ３２ａについては３４ａ、汎用フォーマット化データ３２ｂについては３４ｂである。この第１および第２のデータは、図１に関して述べた第１および第２のデータと同じ特性を呈する。
【０１４４】
この処理手段３０は、汎用フォーマット化データ３２ａおよび３２ｂにそれぞれ対応する特有フォーマット化データ３８ａおよび３８ｂを、２つのプラットフォーム４０ａおよび４０ｂに提供する。したがってプラットフォーム４０ａは、データ３２ａまたはデータ３２ｂに従ってオブジェクト４２ａを処理する。また、プラットフォーム４０ｂは、データ３２ａまたはデータ３２ｂに従ってオブジェクト４２ｂを処理する。このように、同じ処理手段３０を使用して、２つの異なる処理プラットフォーム４０ａおよび４０ｂに特有フォーマット化データが提供される。
【０１４５】
したがって図２は、以下のような、本発明のいくつかの利点を例示する。
【０１４６】
−プラットフォーム４０ａと４０ｂとが同一である場合、汎用フォーマット化データ３２ａを３２ｂで素早く置き換え、プラットフォームに最適化された特有フォーマット化データ３８ｂに変換することができる。これにより、プラットフォームの市場リリースにかかる時間が短縮されることになる。
【０１４７】
−プラットフォーム４０ａと４０ｂとが異なり、フォーマット化データ３２ａと３２ｂとが同一である場合、これらを、各プラットフォームに最適化された特有フォーマット化データ３８ａおよび３８ｂに素早く変換することができる。これによりまた、複数のプラットフォームの市場リリースにかかる時間が短縮されることになる。
【０１４８】
以下の表１および図３に、論理ブロックＢ１に適用される汎用操作のシーケンスの例を示す。このシーケンスは、３つの汎用操作を含む。表の列は、順番に以下の項目を示す。
【０１４９】
−シーケンスにおける操作のランク。
【０１５０】
−汎用操作の名前。
【０１５１】
−汎用操作の結果が書き込まれる論理ブロック（出力）。すなわち、オブジェクトが各操作の終わりに再構成された場合に、この結果が位置することになる場所。
【０１５２】
−汎用操作の第１の入力（入力１）。これは論理ブロックまたはパラメータとすることができる。
【０１５３】
−妥当な場合に、入力１における論理ブロックに関連して使用される論理ブロックの相対位置。
【０１５４】
−汎用操作の第２の入力（入力２）。これもまた論理ブロックまたはパラメータとすることができる。
【０１５５】
−妥当な場合に、入力２における論理ブロックに関連して使用される論理ブロックの相対位置。
【０１５６】
「相対位置」の列に位置する情報は、本発明による方法を使用して処理手段に提供される第２のデータ中に存在する情報である。この表では、この情報は、簡略化のために「左」および「右」の形で出ているが、実際には、汎用フォーマット化データ中で、上記の実施形態例で述べたように（０；１）などの数値で、かつ／またはｆ（ｘ；ｙ）などの関数でコーディングすることもできる。
【０１５７】
一実施形態では、汎用操作は、オブジェクトの次元の１つに従った絶対位置で構成される論理ブロックを生成する少なくとも１つの汎用位置操作、ならびに、第１のブロックから、第３のブロックまたはパラメータに従った変位および／またはスケール変更によって第２のブロックを生成する汎用インダイレクション操作を含む。この場合、ブロックに対する汎用操作を使用してから、汎用インダイレクション操作を使用して相対変位および／または対応する相対スケール変更を実施して、相対位置および／または相対スケールを提供する関数、例えば０．５＊（ｘ−１００）を計算することができる。
【０１５８】
表１はコーディングの一例に過ぎず、第１のデータおよび第２のデータは様々な方式でコーディングすることができ、表フォーマットでも、しかし記号フォーマットやグラフフォーマットでも、あるいは他のどんなフォーマットでもコーディングすることができる。さらにこの例では、簡略化のために、データ型、オフセット、および飽和度に関する追加情報は示していない。
【０１５９】
【表２】
2009520256.tif 000003
この操作シーケンスで使用される第１の論理ブロックは、論理ブロックＢ１（５１）である。第１の汎用操作は、左にずれた論理ブロックＢ１（５１ｇ）と右にずれた論理ブロックＢ１（５１ｄ）との加算（５２）である。この加算の結果は、ブロックＢ２（５３）に記録される。すなわちＢ２＝Ｂ１ｌｅｆｔ＋Ｂ１ｒｉｇｈｔである。
【０１６０】
第２の操作（５４）は、表に関連してブロックＢ２（５３）を変形することである。したがってこの操作は、入力におけるブロックＢ２（５３）と、修正表を表すパラメータＰａｒａｍ１（５５）とを有する。この操作の結果は、ブロックＢ３（５６）に記録される。すなわちＢ３＝ＬＵＴ（Ｐａｒａｍ１，Ｂ２）である。
【０１６１】
このシーケンスにおける第３かつ最後の操作（５７）は、論理ブロックの乗算である。この操作は、論理ブロックＢ３（５６）および論理ブロックＢ１（５１）を有し、すなわち入力に対してＢ４＝Ｂ３＊Ｂ１である。
【０１６２】
したがって、論理ブロックＢ４（５８）は、汎用操作のシーケンスの終わりに得られるブロックである。
【０１６３】
表１の例における汎用フォーマット化データは、プラットフォームと、オブジェクトのサブオブジェクトへの分解と、オブジェクトの基本情報のスクローリングモードと、基本情報がプラットフォーム中で処理されることになる順序とから、ならびに記憶された構成から独立している。実際、表１の汎用フォーマット化データは、様々な方式で特有フォーマット化データやプラットフォーム用コードに変換することができ、これは例えば、限定しないが以下に挙げる変換に従って行うことができる。
【０１６４】
第１の変換例は、メモリおよび計算時間の点で最適ではないが、サブオブジェクトへの分解を伴わない単純な変換を例示する。
【０１６５】
左側と右側の２つの列を除いた、入力オブジェクトのピクセルＢＰ１（論理ブロックＢ１に対応する）のそれぞれにつき（ピクセルは左から右へ、次いで上から下へスクロールされる）、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果を物理ブロックＢＰ２（論理ブロックＢ２に対応する）に記憶する。
【０１６６】
左から右へ、次いで上から下へスクロールされるＢＰ２の各ピクセルにつき、
現ピクセルに表を適用し、結果を物理ブロックＢＰ３（論理ブロックＢ３に対応する）に記憶する。
【０１６７】
左から右へ、次いで上から下へスクロールされるＢＰ３の各ピクセルにつき、
現ピクセルにＢＰ１の対応ピクセルを乗算し、結果を物理出力ブロックＢＰ４（論理ブロックＢ４に対応する）に記憶する。
【０１６８】
第２の変換例は、汎用フォーマット化データを変更することなくサイズおよび使用メモリを低減できることを示す。実際、第１の例では、画像に近いサイズの４つの物理ブロックが使用される。ＢＰ２、ＢＰ３、およびＢＰ４に同じメモリを使用して、２つの物理ブロックのみを使用することができる。以下の変換が得られる。
【０１６９】
左側と右側の２つの列を除いた、入力オブジェクトのピクセルＢＰ１（論理ブロックＢ１に対応する）のそれぞれにつき（ピクセルは左から右へ、次いで上から下へスクロールされる）、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果を物理ブロックＢＰ２（論理ブロックＢ２に対応する）に記憶する。
【０１７０】
左から右へ、次いで上から下へスクロールされるＢＰ２の各ピクセルにつき、
現ピクセルに表を適用し、結果を物理ブロックＢＰ２（今や論理ブロックＢ３に対応する）に記憶する。
【０１７１】
左から右へ、次いで上から下へスクロールされるＢＰ２の各ピクセルにつき、
現ピクセルに対応ＢＰ１ピクセルを乗算し、結果を物理出力ブロックＢＰ２（今や論理ブロックＢ４に対応する）に記憶する。
【０１７２】
第３の変換例は、汎用フォーマット化データを変更することなく計算時間を短縮できることを示す。実際、第２の例では、画像に近いサイズの２つの物理ブロックが使用されるが、物理ブロックＢＰ２は３回にわたって完全に書き込まれ、物理ブロックＢＰ１は２回にわたって完全に読み取られ、物理ブロックＢＰ２は２回にわたって完全に読み取られる。これを、異なるスクローリングモードおよび異なるブロックを用いて、１回の読取りおよび１回の書込みだけに制限することができる。これにより、必要とされる命令の数が減少するが、メモリアクセス要件もまた減少する。以下の変換が得られる。
【０１７３】
左側と右側の２つの列を除いた、入力オブジェクトのピクセルＢＰ１（論理ブロックＢ１に対応する）のそれぞれにつき（ピクセルは左から右へ、次いで上から下へスクロールされる）、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果に表を適用し、表出力に現ピクセルを乗算し、結果を現在の物理出力ブロックＢＰ２（論理ブロックＢ４に対応する）に記憶する。
【０１７４】
第４の例は、より特有にキャッシュ付きスカラプロセッサに適応されているが、この第４の例では、結果は入力と同じメモリゾーンに書き込まれる。これにより、メモリサイズがより一層縮小され、メモリアクセスがローカルになる。このことは、キャッシュメモリまたはページドメモリの場合に非常に有益である。したがって、以下の変換が得られる。
【０１７５】
左側と右側の２つの列を除いた、入力オブジェクトのピクセルＢＰ１（論理ブロックＢ１に対応する）のそれぞれにつき（ピクセルは左から右へ、次いで上から下へスクロールされる）、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果に表を適用し、表出力に現ピクセルを乗算し、結果を、現在の物理出力ブロックＢＰ１に、現ピクセルの左のピクセルに代えて記憶する（この左ピクセルは、次の反復のための左ピクセルになる現ピクセルとは反対に、もはや使用されない。ＢＰ１は、部分的に論理ブロックＢ４に対応し、部分的に論理ブロックＢ１に対応する）。
【０１７６】
第５の変換例は、小さい高速アクセスメモリおよび大きい低速メモリを伴う信号処理プロセッサに特に適応されており、各サブオブジェクトは、例えば３２×３２の矩形、または高速アクセスメモリの使用を最大限にする他の任意の値の矩形であり、矩形は隣接する。したがって、以下の変換が得られる。
【０１７７】
各サブオブジェクトにつき（サブオブジェクトは左から右へ、次いで上から下へスクロールされる）、
次の物理入力ブロックを、ＤＭＡ（「直接メモリアクセス」）機構を介して低速メモリから高速アクセスメモリに転送することを開始する。この物理入力ブロックは、左に追加の１列分、右に１列分拡張されて３２×３４となる次のサブオブジェクトに対応する。
【０１７８】
前の物理出力ブロックを、ＤＭＡ（「直接メモリアクセス」）機構を介して高速アクセスメモリから低速メモリに転送することを開始する。
【０１７９】
左および右への追加の列で拡張されて３２×３４となり、前の反復のＤＭＡの終わりに得られる現サブオブジェクトに対応する物理ブロックを取る。
【０１８０】
左側と右側の２つの列を除いた、物理入力ブロック（論理ブロックＢ１に対応する）の各ピクセル（左から右へ、次いで上から下へスクロールされる）につき、
現ピクセルの左のピクセルと右のピクセルとを加算し、結果に表を適用し、表出力にブロックの現ピクセルを乗算し、結果を現在の物理出力ブロック（論理ブロックＢ４に対応する）に記憶する。
【０１８１】
第６の変換例は、１つの同じ計算をベクトルの種々のピクセルに適用することのできるベクトル信号プロセッサに特に適応されており、各サブオブジェクトは、例えば６４個の水平ピクセルの矩形、またはプラットフォームが処理および記憶できるベクトルのサイズと等しい他の任意の値の矩形である。ベクトルは１度に１つずつ処理されるので、この変換はどんなメモリも必要としない。したがって、以下の変換が得られる。
【０１８２】
左の２つの列を除いた、入力オブジェクトＢＰ１（論理ブロックＢ１に対応する）の各サブオブジェクトＶ１につき（サブオブジェクトは左から右へ、次いで上から下へスクロールされる）。
【０１８３】
各ラインの開始で、ラインの２つの左側ピクセルを右に含むベクトルＶ０を生み出す。
【０１８４】
Ｖ０およびＶ１から、Ｖ０の２つの右側ピクセルと、Ｖ０の２つの右側ピクセルを除いたＶ１の２つの左側ピクセルとに対応するベクトルＶ２を抽出する。Ｖ１とＶ２とを加算してＶ２を得て、Ｖ２の各ピクセルに表を適用してＶ２を得る。Ｖ０およびＶ１から、Ｖ０の右側ピクセルと、Ｖ０の右側ピクセルを除いたＶ１の左側ピクセルとに対応するベクトルＶ３を抽出する。以下の反復について、Ｖ１をＶ０にコピーする。すなわち、Ｖ２にＶ３を乗算してＶ２を得て、結果Ｖ２を現在の物理出力ブロックに記憶する。
【０１８５】
上記の変換例は、極めて多様なプラットフォームに適応されたメモリ構造、ループ、および並列処理の度合いにより、同じ汎用フォーマット化データを使用していくつかの方式で変換することが可能であることを示す。特に、
−１つの単一ループのみを使用して、コードのサイズを縮小することができる。かつ／または、
−メモリのサイズを、例では０に縮小することができるが、垂直フィルタのあるより一般的な場合では、垂直フィルタの入力データに対して計算を繰り返す必要を避けるために、いくつかのメモリラインが必要とされる。かつ／または、
−とりわけループをグループ化することによって、必要とされる操作の数を削減することができる。かつ／または、
−どんなサイズのベクトルにも適応することができる。かつ／または、
−どんなメモリアーキテクチャにも適応することができる。
【０１８６】
簡略化のために、これらの例は、入力画像よりも小さい画像を生成する。必要なら、各ラインの最初と最後にコードを追加してエッジピクセルを複製することによって、入力画像と同一サイズの出力画像を得ることができる。
【図面の簡単な説明】
【０１８７】
【図１】本発明による方法を使用するデータ処理デバイスを示す図である。
【図２】いくつかの処理プラットフォームが使用される場合の、図１のデバイスに類似するデバイスを示す図である。
【図３】いくつかの論理ブロックと１つのパラメータとに適用される汎用操作のシーケンスの例を示す図である。
【図１】
2009520256.tif 000004
【図２】
2009520256.tif 000005
【図３】
2009520256.tif 000006