(57)【要約】本発明は、処理ユニット１２及びメモリユニット１４を有するデータ処理装置と、データ処理装置のメモリユニット１４の動作の制御方法とに関する。メモリユニット１４は、主要メモリ１６と、処理装置１２へ直接的に接続され、処理ユニット１２による読出アクセスのために現在処理対象であるスライド検索範囲の全ての画素を保持するよう構成される低レベルキャッシュメモリ２０．２と、低レベルキャッシュメモリとフレームメモリとの間に接続される高レベルキャッシュメモリ１８と、高レベルキャッシュメモリと低レベルキャッシュメモリとの間に接続され、処理ユニットに従う走査方向及び走査順序に依存して画素ブロックの１つの検索範囲行又は１つの検索範囲列を保持するよう構成される第１のプレフェッチ・バッファ２０．１とを有する。読出機能及びフェッチ機能はメモリユニット１４で分離される。フェッチ機能はより高いキャッシュレベルに集められ、読出機能はより低いキャッシュレベルに集められる。このようにして、同時の読出及びフェッチは達成され、データ処理装置の性能が向上する。
2008530680.tif 000002
【特許請求の範囲】
【請求項１】
データ要素の２次元主要配列を処理するデータ処理装置であって、
−  前記主要配列を保存する主要メモリを有する主要メモリユニットと、
−  前記主要配列の２次元サブ配列を形成するデータブロックを順次に処理し、前記主要配列の予め設定された数のデータブロック列及びデータブロック行に広がるスライド検索範囲のデータ要素に関する読み出し要求を供給するよう構成される処理ユニットと、
−  前記主要メモリへ接続される高レベルキャッシュメモリを有する高レベルキャッシュユニットであって、
−  前記スライド検索範囲よりも大きい画像のスライド領域を形成するためのデータブロックを前記主要メモリからフェッチし、
−  前記高レベルキャッシュメモリから第１のプレフェッチ・バッファへ前記スライド検索範囲を更新するために必要とされる保存されたスライド領域のデータ要素をプレフェッチして、これらのデータ要素を前記第１のプレフェッチ・バッファの出力で供給するよう構成される高レベルキャッシュユニットと、
−  前記処理ユニットと前記第１のプレフェッチ・バッファとの間に直接的に接続される低レベルキャッシュメモリを有する低レベルキャッシュユニットであって、
−  前記第１のプレフェッチ・バッファの出力で供給される前記データ要素を用いて、前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新し、
−  前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記処理ユニットへ必要とされるデータ要素を選択及び出力するよう構成される低レベルキャッシュユニットと、
を有するデータ処理装置。
【請求項２】
前記高レベルキャッシュユニットは、
予め設定された数のビット部分を有し、前記主要配列のフォーマットによって使用されない全てのビット部分へ所定ビット値を割り当てる固定データフォーマットに従って、
その出力部で前記スライド領域のデータ要素を供給するよう構成される、請求項１記載のデータ処理装置。
【請求項３】
前記第１のプレフェッチ・バッファは、並列な方法で前記低レベルキャッシュメモリへデータを供給するよう構成される、請求項１記載のデータ処理装置。
【請求項４】
前記第１のプレフェッチ・バッファは、検索範囲の１つのデータブロック列又は１つのデータブロック行を置換するデータ要素を保存するよう構成される、請求項１記載のデータ処理装置。
【請求項５】
前記低レベルキャッシュユニットは低レベルスクラッチパッドを有する、請求項１記載のデータ処理装置。
【請求項６】
前記低レベルキャッシュユニットは、先入れ先出し交換方式に従って、前記低レベルスクラッチパッドに保存されるデータ要素を置換するよう構成される、請求項５記載のデータ処理装置。
【請求項７】
前記低レベルキャッシュメモリは複数のメモリバンクを有し、
前記低レベルキャッシュメモリは、データブロックの連続するデータ行に属するデータ要素を異なるメモリバンクに保存し、並行して前記処理ユニットへ必要とされるデータブロックの複数のデータ行を出力するよう構成される、請求項１記載のデータ処理装置。
【請求項８】
低レベルキャッシュユニットは、円循環方式で連続するメモリバンク内のアドレス指定可能な場所へ連続するアドレスを割り当てながら、交互的な方法で前記低レベルキャッシュメモリ内の場所をアドレス指定するよう構成される、請求項７記載のデータ処理装置。
【請求項９】
低レベルキャッシュメモリは複数の行ユニットを有し、夫々の行ユニットは各自の第１のメモリバンク数を有し、夫々のメモリバンクは第２のデータ要素数を保存するアドレス指定可能な場所を有し、
前記低レベルキャッシュユニットは、データブロックの各自のデータ行の、又はデータブロックの各自の交互にされたデータ行の組に属するデータ行の、データ要素を保存するよう構成され、前記メモリバンクの各自のアドレス指定可能な場所は、夫々、連続するデータ要素群が、該群に属する前記各自のデータ行のデータ要素を保存する前記行ユニットの前記メモリバンクに亘って円循環方式で区別されるように、データ行に沿った前記第２の数の連続するデータ要素から成る各自のデータ要素群を保存するよう構成され、
前記低レベルキャッシュユニットは、前記スライド検索範囲の移動時に前記スライド検索範囲から落ちる陳腐化したデータ要素を前記メモリバンクにおいて、前記陳腐化したデータ要素と同じデータ行からの前記検索範囲における新しいデータ要素によって置換することによって前記スライド検索範囲を更新するよう構成され、更に、複数の行ユニットから各自のデータ行に関してデータ要素を並行して取り出して出力するよう構成される、請求項１記載のデータ処理装置。
【請求項１０】
前記高レベルキャッシュユニットは高レベルスクラッチパッドを有する、請求項１記載のデータ処理装置。
【請求項１１】
前記高レベルキャッシュメモリと前記主要メモリとの間に接続され、並列な方法で前記高レベルキャッシュメモリへデータを供給するよう構成される第２のプレフェッチ・バッファを更に有する、請求項１記載のデータ処理装置。
【請求項１２】
前記高レベルキャッシュユニットは、所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる前記主要配列の選択されたデータブロックを、前記主要メモリから前記第２のプレフェッチ・バッファへプレフェッチし、前記高レベルキャッシュメモリにおける前記スライド領域を前記第２のプレフェッチ・バッファの出力で供給されるデータ要素により更新するよう構成される、請求項１１記載のデータ処理装置。
【請求項１３】
前記低レベルキャッシュユニットは、窓座標及び窓サイズパラメータを前記処理ユニットから受け取った前記読み出し要求から取り出し、該取り出された窓座標及び窓サイズパラメータに依存して前記処理ユニットへ前記低レベルキャッシュユニットに保存されるデータ要素を供給するよう構成される、請求項１記載のデータ処理装置。
【請求項１４】
当該装置は画像処理装置であって、
前記低レベルキャッシュユニットは、画素データがサブピクセル精度で前記処理ユニットによって処理されるかどうかを、読み出し要求から取り出された前記窓座標から検出し、前記処理ユニットへサブピクセル精度処理のために必要とされる全ての更なる画素を供給するよう構成される、請求項１３記載のデータ処理装置。
【請求項１５】
各ブロック行における所定の走査方向は左から右又は右から左であり、あるいは、代替的に、各ブロック列における所定の走査方向は上から下又は下から上であり、
前記高レベルキャッシュユニットは、前記主要配列の新しいデータブロック行又はデータブロック列の始まりでデータブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全てのデータ要素を、夫々、前記高レベルキャッシュメモリにおいて選択して、前記第１のプレフェッチ・バッファを介して供給するよう構成される、請求項１記載のデータ処理装置。
【請求項１６】
前記高レベルキャッシュユニットは、新しい主要配列の始まりでデータブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全てのデータ要素を前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて選択して、前記第１のプレフェッチ・バッファを介して供給するよう構成される、請求項１記載のデータ処理装置。
【請求項１７】
メモリユニットの主要メモリに保存される主要配列の２次元サブ配列を形成するデータブロックを順次に処理して、前記主要配列の予め設定された数のデータブロック列及びデータブロック行に広がるスライド検索範囲のデータブロックに関して前記メモリユニットへ読み出し要求を供給する処理ユニットによりデータ処理装置の前記メモリユニットの動作を制御する方法であって、
−  前記スライド検索範囲よりも大きい前記主要配列のスライド領域を前記主要メモリから高レベルキャッシュメモリへフェッチして、前記スライド領域を前記高レベルキャッシュメモリに保存するステップと、
−  前記スライド領域を更新するためのデータブロックを前記主要メモリから前記高レベルキャッシュメモリへフェッチして、データ行又はデータ列への分配に従って前記高レベルキャッシュメモリに前記データブロックを保存するステップと、
−  後のスライド検索範囲の移動において前記検索範囲を更新するために必要とされる前記検索領域のデータ要素を前記高レベルキャッシュメモリから第１のプレフェッチ・バッファへプレフェッチして、前記第１のプレフェッチ・バッファの出力で供給するステップと、
−  前記第１のプレフェッチ・バッファの出力で供給される前記データ要素を用いて、前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新するステップと、
−  前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリから前記処理ユニットへ必要とされるデータ要素を選択及び出力するステップと、
を有する方法。
【請求項１８】
予め設定された数のビット部分を有し、前記主要配列のフォーマットによって使用されない全てのビット部分へ所定ビット値を割り当てる固定データフォーマットに従って、低レベルキャッシュメモリへ前記スライド領域のデータ要素を供給するステップを有する、請求項１７記載の方法。
【請求項１９】
データは、並列な方法で前記第１のプレフェッチ・バッファから前記低レベルキャッシュメモリへ供給される、請求項１７記載の方法。
【請求項２０】
前記スライド検索範囲の全てのデータ要素は前記低レベルキャッシュメモリで供給され、
前記低レベルキャッシュメモリに保存される選択されたデータ要素は、先入れ先出し交換方式に従って新しいデータ要素により前記スライド検索範囲を更新するために置換される、請求項１７記載の方法。
【請求項２１】
前記低レベルキャッシュメモリは複数のメモリバンクを有し、
データブロックの連続するデータ行に属するデータ要素は、異なるメモリバンクに保存され、
必要とされるデータブロックの複数のデータ行は、並行して前記低レベルキャッシュメモリから前記処理ユニットへ出力される、請求項１７記載の方法。
【請求項２２】
前記低レベルキャッシュメモリ内の場所は、円循環方式で連続するメモリバンク内のアドレス指定可能な場所へ連続するアドレスを割り当てながら、交互的な方法でアドレス指定される、請求項２１記載の方法。
【請求項２３】
所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる前記主要配列の選択されたデータブロックを、前記主要メモリから第２のプレフェッチ・バッファへプレフェッチし、前記高レベルキャッシュメモリにおける前記スライド領域を前記第２のプレフェッチ・バッファの出力で供給されるデータ要素により更新するステップを有する、請求項１７記載の方法。
【請求項２４】
窓座標及び窓サイズパラメータを前記処理ユニットから受け取った前記読み出し要求から取り出し、該取り出された窓座標及び窓サイズパラメータに依存して前記処理ユニットへ前記低レベルキャッシュユニットに保存されるデータ要素を供給するステップを有する、請求項１７記載の方法。
【請求項２５】
各ブロック行における所定の走査方向は左から右又は右から左であり、あるいは、代替的に、各ブロック列における所定の走査方向は上から下又は下から上である場合に、
前記主要配列の新しいデータブロック行又はデータブロック列の始まりでデータブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全てのデータ要素を、夫々、前記高レベルキャッシュメモリにおいて選択して、前記第１のプレフェッチ・バッファを介して供給するステップを有する、請求項１７記載の方法。
【請求項２６】
新しい主要配列の始まりでデータブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全てのデータ要素を前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて選択して、前記第１のプレフェッチ・バッファを介して供給するステップを有する、請求項１７記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に映像データ処理用途のための、処理ユニット及びメモリユニットを有するデータ処理装置に関する。本発明は、また、このようなデータ処理装置のメモリユニットの動作を制御する方法に関する。
【背景技術】
【０００２】
欧州特許出願ＥＰ０４１０１６７７．５は、全体として、本願に参照することによって援用される。
【０００３】
映像データ処理装置は、一方では高速な処理速度を実現するために必要とされるが、他方で、それらは柔軟であるべきである。映像データ処理装置の柔軟性は、スケーリング、フィルタリング、動作検出などのような様々な映像処理アルゴリズムを扱うことが可能なその機能と、様々なビデオ画像フォーマットを処理可能なその能力とによって反映される。
【０００４】
映像処理システムのメモリユニットは、一般的にフレームメモリを有する。フレームメモリは、フレームとも呼ばれる映像シーケンスの１又は幾つかのビデオ画像を表示するために必要とされる情報を保持する。動作推定のような多数の映像アプリケーションは、キャッシュメモリにおいて現在処理されるビデオ画像のセグメントをバッファリングすることによる利益を享受する。よく知られるように、キャッシュメモリは、フレームメモリに比較してそのサイズがより小さく、また、処理ユニットへ直接に接続されるので、待ち時間の減少をもたらし、更に、動作に要する電力がより小さい。待ち時間は、処理ユニットからの読み出し要求の後に最初の画像データを取り出すために必要とされるタイムスパンを決定する。
【０００５】
既知の映像データ処理装置で、メモリユニットは、多層キャッシュメモリを有する階層メモリアーキテクチャを有する。最下のキャッシングレベルにある、以降単にキャッシュとも呼ばれるキャッシュメモリは処理ユニットに最も近く、一方、最高のキャッシングレベルにあるキャッシュメモリはフレームメモリに最も近い。
【０００６】
処理ユニットとフレームメモリとの間に異なるキャッシングレベルを提供することによって、メモリユニットの費用と性能との間のバランスは達成される。費用要因は、映像データ処理装置全体のチップ領域及び電力条件である。
【０００７】
キャッシュ内のデータに関する交換方法は、映像処理アルゴリズムの形式及びシステムの所望の予測可能性に依存して、動的又は静的のいずれか一方である。動的交換方法を伴うメモリユニットでは、キャッシュ・ヒット又はキャッシュ・ミスのいずれか一方が生ずる。キャッシュ・ミス状態で、所望のデータは、アクセスされるキャッシュでは見つけられず、より高いキャッシングレベルから又はフレームメモリから複製される必要がある。これに関連する時間ペナルティは、待ち時間及びメモリの帯域幅（ｂａｎｄｗｉｄｔｈ）に依存する。メモリの帯域幅は、いくつのビットが１つのクロック周期でメモリによって供給され得るかを決定する。
【０００８】
対照的に、キャッシュ・ミス状態は、例えば、よく知られる先入れ先出し交換方法などの静的な交換方法を用いる場合には生ずる可能性が低い。静的な交換方法は、予測可能なメモリアクセスパターンを伴う処理アルゴリズムに適する。
【０００９】
ＵＳ６，４４９，６９２Ｂ１は、３段階キャッシュ構造を有するメモリユニットを備える映像データ処理装置について記載する。キャッシングレベルはＬ１からＬ３で表される。キャッシュレベルの番号表示は、処理ユニットが、キャッシュからのデータ読み出し又はキャッシュへのデータ書き込みの最中である場合にキャッシュにアクセスするところの昇順に対応する。これは、メモリユニットへの読み出しアクセスが最初にＬ１キャッシュへアドレス指定され、キャッシュ・ミスがそのキャッシュに生ずる場合には、Ｌ２キャッシュへのアクセスが後に続き、ヒットがキャッシュ又は最終的に主要メモリで成立するまで、以降同様に続くことを意味する。
【００１０】
ＵＳ６，４４９，６９２Ｂ１の装置におけるメモリユニットのキャッシングレベルＬ１及びＬ２は、非画素情報しか保存しない。非画素情報は、処理ユニットへのアクセスを可能にするアドレス変換情報又は命令を含む。対照的に、Ｌ３キャッシュメモリは、非画素情報だけでなく画素データも保存する。非画素情報又は画素データのいずれか一方へキャッシングレベルＬ３の区分を動的に割り当てるキャッシュ制御回路が設けられる。アドレス及びアービトレーション回路は、異なるキャッシュレベルへの処理ユニットのアクセスを制御する。バスインターフェースユニットは、直接的にＬ３キャッシュレベル及び処理ユニットに主要メモリへのアクセスを提供する。処理ユニットが画素データに関する読み出し要求を発行し、キャッシュ・ヒットが生ずる場合に、Ｌ３キャッシュは、Ｌ１及びＬ２キャッシュレベルをバイパスするレジスタを介して処理ユニットへ要求されるデータを供給する。キャッシュ・ミスが生ずる場合には、処理ユニットは直接的に主要メモリをアドレス指定する。
【００１１】
ＵＳ６，４４９，６９２Ｂ１の映像データ処理装置で、全てのキャッシュレベルは、フェッチ機能のみならず読み出し機能を提供する。各キャッシュレベルは、その各自のサポートされる形式のデータを目的とする。映像データ処理装置の総体的な処理速度は、キャッシュメモリユニットが処理ユニットへの出力（読み出し機能）及び主要メモリ又はより高いレベルのキャッシュからのデータの記憶（フェッチ機能）を並行して、即ち同時に実行することができないという事実によって制限される。
【特許文献１】欧州特許出願ＥＰ０４１０１６７７．５
【特許文献２】米国特許ＵＳ６，４４９，６９２Ｂ１
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従って、本発明は、同時タスクとして読み出し動作及びフェッチ動作を実行することが可能な、メモリユニットを有する映像データ処理装置及び、データ処理装置のメモリユニットの動作を制御する方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の態様に従って、データ要素の２次元主要配列を処理するデータ処理装置は、
−  前記主要配列を保存する主要メモリを有する主要メモリユニットと、
−  前記主要配列の２次元サブ配列を形成するデータブロックを順次に処理し、前記主要配列の予め設定された数のデータブロック列及びデータブロック行に広がるスライド検索範囲のデータ要素に関する読み出し要求を供給するよう構成される処理ユニットと、
−  前記主要メモリへ接続される高レベルキャッシュメモリを有する高レベルキャッシュユニットであって、
−  前記スライド検索範囲よりも大きい画像のスライド領域を形成するためのデータブロックを前記主要メモリからフェッチし、
−  前記高レベルキャッシュメモリから第１のプレフェッチ・バッファへ前記スライド検索範囲を更新するために必要とされる保存されたスライド領域のデータ要素をプレフェッチして、これらのデータ要素を前記第１のプレフェッチ・バッファの出力で供給するよう構成される高レベルキャッシュユニットと、
−  前記処理ユニットと前記第１のプレフェッチ・バッファとの間に直接的に接続される低レベルキャッシュメモリを有する低レベルキャッシュユニットであって、
−  前記第１のプレフェッチ・バッファの出力で供給される前記データ要素を用いて、前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新し、
−  前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記処理ユニットへ必要とされるデータ要素を選択及び出力するよう構成される低レベルキャッシュユニットと、
を有する。
【００１４】
本発明のデータ処理装置の好ましい使用は映像処理との関連であるが、それはこのような用途に制限されない。本発明のデータ処理装置は、いずれかの２次元データ配列、例えば、地震学データ（ｓｅｉｓｍｏｌｏｇｉｃａｌ  ｄａｔａ）の配列の処理との関連で使用され得る。２次元データ配列は、２次元行列に対応する方法で順序づけられるデータ構造の組である。画像処理との具体的関連では、主要配列とも称される２次元データ配列は画像である。
【００１５】
他の一般的用語は、これに関連して以下のように言い換えられるべきである。
【００１６】
“データ要素”→“画素”、
“データブロック”→“画素ブロック”、
“データ行”→“画素行”、
“データ列”→“画素列”、
“データブロック列”→“画素ブロック列”、
“データブロック行”→“画素ブロック行”。
【００１７】
以下で、本発明に係るデータ処理装置は、ビデオ画像の処理における好ましい使用との関連で記載される。映像処理アプリケーションで、画像は、例えば、映像フレーム又は映像フィールドであっても良い。映像フレームは、通常、画像の全ての画素を含む。映像フィールドは、通常、インタレース式に配置された画素行の組を含む。インタレース走査は、当該技術では広く知られた概念であり、相補的なサブセットの画素行を有する時間的に連続するビデオ画像の供給に関する。
【００１８】
画像は、当該データ処理装置の主要メモリに保存される。当該データ処理装置の処理ユニットは、前記画像の２次元サブ配列を形成する画素ブロックを順次に処理するよう構成される。従って、画素ブロックは一時に１つを処理される。画素ブロックは、例えば、８×８、１６×１６又は３２×３２の画素から成る。前記処理ユニットは、異なる映像処理コンテキストで異なる画素ブロックサイズを用いるよう構成されても良い。
【００１９】
前記処理ユニットは、更に、前記画像の予め設定された数の画素ブロック列及び画素ブロック行に広がるスライド検索範囲の画素に関する読み出し要求を供給するよう構成される。スライド検索範囲の概念は、当該技術でよく知られており、例えば、様々な既知の動作推定アルゴリズムのような検索方法を用いる映像処理アルゴリズムにおいて使用される。検索範囲は、画像のサブ配列を形成する画素ブロックの２次元配列である。スライド移動検索範囲は、検索範囲の一端で画素ブロックを検出して、検索範囲の反対の端で画素ブロックを加えることによって実現される。どの画素ブロックが検出され、どの画素ブロックが加えられるかは、画像の全域における検索範囲のスライド移動の所定方向に依存する。検索範囲の移動は、例えば、水平に左から右への移動であっても良い。検索範囲の移動は、画素ブロックを処理するために処理ユニットによって用いられる処理アルゴリズムの走査方向及び走査順序と結合される。様々な動作方向及び動作順序の例は、図４の記載に関連して以下で説明される。検索範囲のサイズ、即ち、２次元で検索範囲に含まれる画素ブロックの数は、処理ユニットによって使用されるアルゴリズムの形式に依存する。例えば、検索範囲のサイズは、動作推定アルゴリズムにおいて運動ベクトルの長さに依存する。それは、また、映像アプリケーションではフレームサイズに依存する。
【００２０】
本発明のデータ処理装置は、高レベルキャッシュメモリを有する高レベルキャッシュユニットと、低レベルキャッシュメモリを有する低レベルキャッシュユニットとを有する。前記低レベルキャッシュメモリは、以降、Ｌ０キャッシュ、検索範囲バッファ、又はＳＡバッファとも呼ばれる。留意すべきは、本発明の好ましい適用分野では、通常、前記処理ユニットと高レベルキャッシュメモリとの間にはレジスタが存在しない。他の適用分野では、表示Ｌ０キャッシュはレジスタと呼ぶ。しかし、本願では、Ｌ０キャッシュとしての低レベルキャッシュメモリの表示は、このキャッシュメモリがレジスタであることを示唆しない。
【００２１】
夫々のメモリに加えて、高レベルキャッシュユニット及び低レベルキャッシュユニットは、通常、関連する制御ユニットを有する。この制御ユニットは、ここではキャッシュ制御装置と呼ばれる。キャッシュ制御装置は、ハードウェア又はソフトウェアのいずれか一方で実施され得る。これに対して、低レベルキャッシュ制御装置はＬ０キャッシュ制御装置とも呼ばれる。高レベルキャッシュは、以降、Ｌ１キャッシュ又は縞地（ｓｔｒｉｐｅ）バッファとも呼ばれる。これに対して、高レベルキャッシュ制御装置はＬ１キャッシュ制御装置とも呼ばれる。
【００２２】
本発明に係るデータ処理装置は、フェッチが１つのキャッシュレベルに集中し、読み出しが他のキャッシュレベルに集中する場合に、同時の読み出し及びフェッチが達成され得るという一般概念に基づく。
【００２３】
特に、本発明は、読み出し動作及びフェッチ動作の間に認められるパラメータの解析に基づく。これらのパラメータは、異なる映像フォーマット規格及び異なる映像処理アルゴリズムで変化するので、柔軟性のために提供することが重要である。本発明に係る映像処理装置は、スケーリング、フィルタリング、動作検出などのような様々なアルゴリズムと、共通中間フォーマット（Ｃｏｍｍｏｎ  Ｉｎｔｅｒｍｅｄｉａｔｅ  Ｆｏｒｍａｔ；ＣＩＦ）、標準精細度テレビジョン（Ｓｔａｎｄａｒｄ  Ｄｅｆｉｎｉｔｉｏｎ  Ｔｅｌｅｖｉｓｉｏｎ；ＳＤＴＶ）、又は高精細度テレビジョン（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｔｅｌｅｖｉｓｉｏｎ；ＨＤＴＶ）のような様々な映像フォーマットとを扱うことができる。
【００２４】
本発明に係る映像処理装置は、読み出し及びフェッチに関してメモリユニットの動作に影響を及ぼす以下のパラメータの認識に基づく。
【００２５】
［１．ブロックサイズ］
前記メモリユニットのフレームメモリは、様々なブロックサイズ、例えば、８×８又は１６×１６の画素で編成され得る。ブロック編成は、低レベルキャッシュの交換方法、即ち、いくつ、どの画素が、処理が続く場合に低レベルキャッシュにロードされる必要があるのかを制御する。
【００２６】
［２．走査方向及び走査順序］
連続する画素ブロックの処理において、前記処理ユニットは、様々な映像処理アルゴリズムにおいて様々な方向及び順序に従い、従って、様々な可能な順序でメモリユニットに保存される映像フレームの画素にアクセスすることができる。走査方向は、上から下、下から上、左から右、又は右から左のいずれか１つである。走査順序は、画素ブロック行ごと若しくは画素ブロック列ごと又は蛇行式（ｍｅａｎｄｅｒｉｎｇ  ｓｔｙｌｅ）のいずれか１つである。
【００２７】
［３．映像フォーマット］
フレームメモリは、様々な色空間又は映像フォーマットで編成され得る。映像フォーマットは、色ごとに８ビット若しくは画素ごとに２４ビットを必要とするＲＧＢ、又は様々な二段抽出ＹＵＶフォーマットのいずれか１つである。これらは、輝度及び色の違いに基づく既知の映像フォーマットである。
【００２８】
［４．サブピクセル精度］
よく知られるように、フレーム内の対象間に滑らかな境界を発生させるデータは、画素グリッドよりも細かい精度を必要とする。必要とされるブロックの座標を基に、メモリユニットは、更なる画素とともに適切なブロックを検出して供給するべきである。これは、必要とされるサブピクセル精度を発生させるために、例えばバイリニア補間などの補間の実行を可能にする。
【００２９】
［５．窓サイズ］
窓サイズは、前記メモリユニットから読み出される領域のサイズを決定するために前記処理ユニットによって使用されるパラメータである。
【００３０】
［６．窓座標］
窓座標は、例えば、現在求められる読み出し窓の左上角を決定するような（Ｘ，Ｙ）座標の形式で前記処理ユニットによって与えられる。
【００３１】
本発明に係るデータ処理装置は、パラメータ１〜３、即ち、ブロックサイズ、走査方向及び走査順序、並びに映像フォーマットがフェッチ動作に関連するという認識に基づく。本発明の映像処理装置に係る好ましい実施例では、これらのパラメータは、より高いキャッシュレベルで扱われる。従って、フェッチ機能は、高レベルキャッシュ及び高レベルキャッシュ制御装置に集められる。
【００３２】
しかし、１つの固定の映像フォーマットしか処理しないよう構成される処理装置も本発明の適用範囲に含まれることが知られる。映像フォーマット（パラメータ３）の柔軟性を可能にする処理装置は、本発明のデータ処理装置に係る好ましい実施例として以下で更に記載される。
【００３３】
対照的に、パラメータ４〜６、即ち、サブピクセル精度、窓サイズ及び窓座標が読み出し動作に関連することは、本発明のデータ処理装置の根底にある更なる認識である。本発明のデータ処理装置で、これらのパラメータ４〜６は、より高いキャッシュレベルでは扱われず、より低いキャッシュレベルで扱われる。従って、読み出し機能は、低レベルキャッシュ及び低レベルキャッシュ制御装置に集められる。
【００３４】
本発明に従う低レベルキャッシュユニット及び高レベルキャッシュユニットにおいて扱うパラメータの分配は、以下の表で簡単に述べられる。
【表１】
2008530680.tif 000003
【００３５】
先と同じく、映像フォーマットパラメータは、表の完全性のために含まれる。本発明の一実施例で、高レベルキャッシュユニットは、例えば、ＣＩＦ規格、ＳＤＴＶ規格又はＨＤＴＶ規格のような、画素データを保存するための１つの一般的な標準映像フォーマットに適合される。
【００３６】
記載されるパラメータの分配を達成するよう、本発明に係るデータ処理装置の高レベルキャッシュユニットは、画素ブロックへの画素の分配ではなく、画素行の分配に従って、高レベルキャッシュを編成する。より厳密には、前記高レベルキャッシュユニットは、前記スライド検索範囲よりも大きい画像のスライド領域を形成する画素ブロックを前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて画素行又は画素列への分配に従って前記スライド領域を保存するよう構成される。前記スライド領域は、概して、前記スライド検索範囲と同じ移動を行う。望ましくは、前記高レベルキャッシュユニットは、画素行へのフェッチされる画素の分配を使用するよう構成される。代替案として、前記高レベルキャッシュユニットは、画素列へのフェッチされる画素の分配を使用するよう構成される。この代替の実施例は、例えば、垂直ピークにおいて適用される。
【００３７】
更に、スライド検索範囲を更新するために、前記高レベルキャッシュユニットは、所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる画素ブロックを前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて画素行又は画素列への分配に従って前記画素ブロックを保存するよう構成される。従って、より高いキャッシュレベルで画素行分配を導入することによって、前記低レベルキャッシュユニットに関してブロックサイズ（パラメータ１）の概念は存在しない。
【００３８】
更に、前記第１のプレフェッチ・バッファの提供は、走査方向及び走査順序（パラメータ２）が、前記低レベルキャッシュユニットの観点からすれば関連しないことを確実にする。前記低レベルキャッシュユニットは、単に、前記プレフェッチ・バッファで供給されるデータを複製すべきである。前記低レベルキャッシュメモリへこれらのデータを複製することによって、前記低レベルキャッシュによって提供される検査範囲は更新される。前記高レベルキャッシュユニットは、前記高レベルキャッシュメモリから前記第１のプレフェッチ・バッファへ、前記スライド検索範囲を更新するために必要とされる前記保存されるスライド領域の画素をプレフェッチすることによってこの処理を制御し、前記第１のプレフェッチ・バッファの出力で前記画素を供給する。このプレフェッチの実施は、どの画素が前記処理ユニットによって必要とされうるかを予測するために、特定の映像処理アルゴリズムの知識を含む。このようにして、前記高レベルキャッシュユニットは、前記高レベルキャッシュメモリに保存される適切な画素行を然るべく選択し、該選択される画素行を前記第１のプレフェッチ・バッファへ複製する。従って、前記低レベルキャッシュ制御装置は、走査方向及び走査順序のフェッチ関連のパラメータを扱う必要はない。望ましくは、複製は、スライド移動ステップにより前記検索範囲から落ちる前記低レベルキャッシュメモリ内の画素の上書きを含む。
【００３９】
本発明に係るデータ処理装置の低レベルキャッシュユニットは、前記第１のプレフェッチ・バッファの出力で供給される前記データ要素を用いて、前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新し、前記高レベルキャッシュユニットの前記フェッチ及びプレフェッチ動作と同時に必要とされるデータ要素を前記低レベルキャッシュメモリから選択して、前記処理ユニットへ出力するよう構成される。以下で更に記載される詳細な実施例で、前記処理ユニットによって必要とされる画素の選択は、前記処理ユニットで実施される特定の処理アルゴリズムによって使用される場合に、パラメータ４〜６、即ち、サブピクセル精度、窓サイズ及び窓座標の認識を暗に示す。
【００４０】
従って、本発明に従って、前記主要メモリからのフェッチに関連する全てのパラメータは、前記高レベルキャッシュ制御装置によって扱われ、一方、前記低レベルキャッシュ制御装置は、前記処理ユニットからの読み出し要求への応答及び前記処理ユニットへの画素データの供給に係る機能に制限され得る。本発明に係るデータ処理装置では、より低いキャッシュレベルからより高いキャッシュレベルへ又は前記主要メモリへ送られるフェッチ要求は必要とされない。
【００４１】
本発明に係るデータ処理装置におけるフェッチ機能及び読み出し機能の分離達成に起因して、前記高レベルキャッシュユニット及び前記低レベルキャッシュユニットは、並行してフェッチ動作及び読み出し動作を実行することが可能となる。これは、同時通信及び計算とも呼ばれる。これは、総じて、即ち、主要メモリ及び全てのキャッシュレベルを含め、当該データ処理装置のメモリユニットの待ち時間を減少させる。更に、フェッチステップ及び読み出しステップの分離は、全てのキャッシュレベルにおいて機能の好ましくない重複を低減する。これは、それ自体の中核機能のための必要とされるチップ面積及び性能に関して各キャッシュレベルを最適化することを可能にする。更に、保全性及び可能な機能拡張は、より良い効率を伴って処理され得る。
【００４２】
以下で、本発明に係るデータ処理装置の好ましい実施形態が記載される。
【００４３】
前記低レベルキャッシュにおける選択される映像フォーマット（パラメータ３）の影響は、予め設定された数のビット部分を有し、画像の映像フォーマットによって使用されない全てのビット部分へ所定ビット値を割り当てる固定された画素データフォーマットに従ってその出力部で前記スライド領域のデータ要素を供給する前記高レベルキャッシュ制御装置の適合によって、本発明に係るデータ処理装置の好ましい実施例では取り除かれる。本発明に係るデータ処理装置の本実施形態の高レベルキャッシュユニットによって使用される画素フォーマットは、予め設定された数のビット位置を有する。従って、全ての映像フォーマットの画素は、前記低レベルキャッシュユニットの観点からすれば外観は全く同一である。画素フォーマットにおけるビット位置の数は、全ての既知の映像フォーマットに適合するために十分に大きく選択される。現在処理される映像フォーマットによって使用されない画素フォーマットのビット位置は、例えば「０」といった所定ビット値により前記高レベルキャッシュユニットによって補充される。ビット値「０」の使用は、接続される処理データ経路を簡単に保つ。前記第１のプレフェッチ・バッファにより前記高レベルキャッシュメモリを介して使用されないビット位置へ「０」を書き込むことによって、映像フォーマット制御は前記低レベルキャッシュで必要とされない。前記低レベルキャッシュメモリの出力は正しいフォーマットを有する。
【００４４】
本発明の更なる実施形態で、前記低レベルキャッシュユニットは、２つの窓座標及び窓サイズパラメータを前記処理ユニットから受け取った前記読み出し要求から取り出し、該取り出された窓座標及び窓サイズパラメータ（パラメータ５及び６）に依存して前記処理ユニットへ前記低レベルキャッシュメモリに保存される画素を供給するよう構成される。
【００４５】
更なる実施形態で、望ましくは、前記低レベルキャッシュ制御装置は、更に、前記処理ユニットがサブピクセル精度で画素データを処理するかどうかを、読み出し要求から取り出された前記窓座標から検出し、前記処理ユニットへサブピクセル精度処理のために必要とされる全ての更なる画素を供給するよう構成される。
【００４６】
本発明に係るデータ処理装置の他の好ましい実施形態は、前記高レベルキャッシュメモリと前記主要メモリとの間に接続され、並列な方法で前記高レベルキャッシュメモリへ画素データを供給するよう構成される第２のプレフェッチ・バッファを更に有する。この実施形態で、前記高レベルキャッシュユニットは、所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる前記画像の選択された画素ブロックを前記主要メモリから前記第２のプレフェッチ・バッファへプレフェッチし、前記高レベルキャッシュメモリにおける前記スライド領域を前記第２のプレフェッチ・バッファの出力で供給される画素により更新するよう構成される。
【００４７】
前記第２のプレフェッチ・バッファは、然るべく前記高レベルキャッシュの隣に複製されるべき画素を前記第２のプレフェッチ・バッファにロードすることによって、フェッチ動作を更に加速させることができる。データは、前記第２のプレフェッチ・バッファから前記高レベルキャッシュメモリへ並行して供給される。前記第２のプレフェッチ・バッファの動作は、前記高レベルキャッシュ制御装置によって制御され、先と同じく、前記処理ユニットが現在処理される画像の画素を要求するところの順序の認識に基づく。
【００４８】
本発明に係るデータ処理装置に設けられる前記主要メモリユニットは、更なる実施形態で、複数の画素ブロック行及び画素ブロック列で配置される画素ブロックへの前記画像の分配に従って読み出し動作及び書き込み動作において前記主要メモリにアクセスするよう構成される。
【００４９】
好ましい実施形態で、前記低レベルキャッシュメモリはスクラッチパッドの形をとる。即ち、前記低レベルキャッシュメモリは、この実施形態で、完全な検索範囲を保持するよう構成される。このようにして、完全な検索範囲は、処理が始まる前に、低レベルスクラッチパッドに保存され得る。キャッシュ・ミスは、この実施形態では完全に回避される。望ましくは、低レベルキャッシュユニットは、検索範囲が画像において次の位置へ動く場合に、先入れ先出し交換方法に従って前記低レベルスクラッチパッドに保存される画素を置換するよう構成される。
【００５０】
映像用途にとってスクラッチパッドは好ましいが、本発明に係るデータ処理装置の他の用途は、より低いキャッシュレベルで完全な検索範囲の存在を必要としない。このような用途に関して、検索範囲よりも小さく画像の領域を保つよう構成されるキャッシュメモリが使用される。
【００５１】
他の実施形態で、前記低レベルキャッシュメモリは、複数のメモリバンクを有する。前記低レベルキャッシュユニットは、画素ブロックの連続する画素行に属する画素を異なるメモリバンクに保存し、並行して前記処理ユニットへ必要とされる画素ブロックの複数の画素行を出力するよう構成される。このようにして、前記処理ユニットと前記低レベルキャッシュとの間の通信の帯域幅は、更に増大しうる。望ましくは、前記低レベルキャッシュユニットは、円循環方式で連続するメモリバンク内のアドレス指定可能な場所へ連続するアドレスを割り当てながら、交互的な方法（ｉｎｔｅｒｌｅａｖｅｄ  ｍａｎｎｅｒ）で前記低レベルキャッシュメモリ内の場所をアドレス指定するよう構成される。このようにして、バンク衝突は、並行して幾つかの行を出力する場合に回避される。
【００５２】
本発明に係るデータ処理装置の好ましい実施形態で、前記低レベルキャッシュメモリは複数の行ユニットを有し、夫々の行ユニットは各自の第１のメモリバンク数を有し、夫々のメモリバンクは第２の画素数を保存するアドレス指定可能な場所を有する。前記低レベルキャッシュユニットは、画素ブロックの各自の画素行の、又は画素ブロックの各自の交互にされた画素行の組に属する画素行の、画素を保存するよう構成される。前記メモリバンクの各自のアドレス指定可能な場所は、夫々、画素行に沿った前記第２の数の連続する画素から成る各自の画素群を保存するよう構成される。従って、連続する画素群は、該群に属する前記各自の画素行の画素を保存する前記行ユニットの前記メモリバンクに亘って円循環方式で区別される。前記低レベルキャッシュユニットは、前記スライド検索範囲の移動時に前記スライド検索範囲から落ちる陳腐化した画素を前記メモリバンクにおいて、前記陳腐化した画素と同じ画素行からの前記検索範囲における新しい画素によって置換することによって前記スライド検索範囲を更新するよう構成される。前記低レベルキャッシュユニットは、複数の行ユニットから各自の画素行に関して画素を並行して取り出して出力するよう構成される。
【００５３】
本発明の更なる実施形態で、各画素ブロック行における所定の走査方向は左から右又は右から左のいずれかであり、あるいは、代替的に、各ブロック列における所定の走査方向は上から下又は下から上のいずれかである。言い換えると、前記走査方向は蛇行していない。よく知られるように、蛇行する走査方向は夫々の行とともに変わる。即ち、例えば、第１の行が左から右へ処理される場合に、次の行は右から左へ処理されうる。この実施形態で、前記高レベルキャッシュユニットは、前記画像の新しい画素ブロック行又は画素ブロック列の始まりで画素ブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全ての画素を、夫々、前記高レベルキャッシュメモリにおいて選択して、前記第１のプレフェッチ・バッファを介して供給するよう構成される。
【００５４】
更なる実施形態で、前記高レベルキャッシュユニットは、新しい画像の始まりで画素ブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全ての画素を前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて選択して、前記第１のプレフェッチ・バッファを介して供給するよう構成される。
【００５５】
明細書及び特許請求の範囲で記載される本発明に係るデータ処理装置の実施形態は、特に明記しない限り、互いに組み合わされ得る。
【００５６】
本発明の第２の態様に従って、メモリユニットの主要メモリに保存される画像の２次元サブ配列を形成する画素ブロックを順次に処理して、前記画像の予め設定された数の画素ブロック列及び画素ブロック行に広がるスライド検索範囲の画素ブロックに関して前記メモリユニットへ読み出し要求を供給する処理ユニットによりデータ処理装置の前記メモリユニットの動作を制御する方法であって、
−  前記スライド検索範囲よりも大きい前記画像のスライド領域を前記主要メモリから高レベルキャッシュメモリへフェッチして、画素行又は画素列への分配に従って前記スライド領域を前記高レベルキャッシュメモリに保存するステップと、
−  所定の動作順序及び走査方向に従って前記スライド領域を更新するための画素ブロックを前記主要メモリから前記高レベルキャッシュメモリへフェッチして、画素行又は画素列への分配に従って前記高レベルキャッシュメモリに前記画素ブロックを保存するステップと、
−  後のスライド検索範囲の移動において前記検索範囲を更新するために必要とされる前記検索領域の画素を前記高レベルキャッシュメモリから第１のプレフェッチ・バッファへプレフェッチして、前記第１のプレフェッチ・バッファの出力で供給するステップと、
−  前記第１のプレフェッチ・バッファの出力で供給される前記画素を用いて、前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリにおいて前記スライド検索範囲を保存及び更新するステップと、
−  前記フェッチ及びプレフェッチ動作と同時に前記低レベルキャッシュメモリから前記処理ユニットへ必要とされる画素を選択及び出力するステップと、
を有する方法が提供される。
【００５７】
本発明に係る方法は、本発明に係るデータ処理装置のメモリサブシステムの制御に関連する。当該方法の利点は、データ処理装置に関して上述された利点に対応する。
【００５８】
以下で、本発明に係る方法の好ましい実施形態が説明される。この実施形態は、上述されたように、同時の読み出し及びフェッチを可能にするデータ処理装置の実施形態に関する方法態様を表す。従って、以下の記載は省略されており、更なる説明のために上記項目が更に参照される。
【００５９】
本発明の１つの実施形態は、予め設定された数のビット部分を有し、前記画像の映像フォーマットによって使用されない全てのビット部分へ所定ビット値を割り当てる固定データフォーマットに従って、低レベルキャッシュメモリへ前記スライド領域の画素を供給するステップを有する。
【００６０】
更なる実施形態で、前記スライド検索範囲の全ての画素は前記低レベルキャッシュメモリで供給され、前記低レベルキャッシュメモリに保存される画素は、先入れ先出し交換方式に従って前記スライド検索範囲を更新するために置換される。
【００６１】
更なる実施形態で、前記低レベルキャッシュメモリは複数のメモリバンクを有する。画素ブロックの連続する画素行に属する画素は、異なるメモリバンクに保存され、必要とされる画素ブロックの複数の画素行は、並行して前記低レベルキャッシュメモリから前記処理ユニットへ出力される。
【００６２】
他の実施形態で、前記低レベルキャッシュメモリ内の場所は、円循環方式で連続するメモリバンク内のアドレス指定可能な場所へ連続するアドレスを割り当てながら、交互的な方法でアドレス指定される。
【００６３】
更なる実施形態は、所定の走査順序及び走査方向に従って前記スライド領域を更新するために必要とされる前記画像の選択された画素ブロックを、前記主要メモリから第２のプレフェッチ・バッファへプレフェッチするステップと、前記高レベルキャッシュメモリにおける前記スライド領域を前記第２のプレフェッチ・バッファの出力で供給される画素により更新するステップとを有する。
【００６４】
更なる実施形態は、窓座標及び窓サイズパラメータを前記処理ユニットから受け取った前記読み出し要求から取り出すステップと、該取り出された窓座標及び窓サイズパラメータに依存して前記処理ユニットへ前記低レベルキャッシュユニットに保存される画素を供給するステップとを有する。
【００６５】
他の実施形態で、各ブロック行における所定の走査方向は左から右又は右から左であり、あるいは、代替的に、各ブロック列における所定の走査方向は上から下又は下から上である。この実施形態に係る方法は、前記画像の新しい画素ブロック行又は画素ブロック列の始まりで画素ブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全ての画素を、夫々、前記高レベルキャッシュメモリにおいて選択して、前記第１のプレフェッチ・バッファを介して供給するステップを有する。
【００６６】
他の実施形態は、新しい画像の始まりで画素ブロックを処理するために、前記低レベルキャッシュメモリにおける完全な交換のための各自のスライド検索範囲の全ての画素を前記主要メモリからフェッチして、前記高レベルキャッシュメモリにおいて選択して、前記第１のプレフェッチ・バッファを介して供給するステップを有する。
【００６７】
本発明の更なる実施形態は、添付の図面を参照して以下で記載される。
【発明を実施するための最良の形態】
【００６８】
図１は、本発明のデータ処理装置の第１の実施例を形成する映像処理装置１０のブロック図を示す。映像処理装置１０は、処理ユニット１２と、処理ユニット１２へ接続されたメモリユニット１４とを有する。映像処理システム１０は、スケーリング、フィルタリング、動作検出、動作推定などのような映像処理アルゴリズムを実行することに特化した組み込みシステムを表す。
【００６９】
映像処理装置１０のメモリユニット１４は、フレームメモリ１６と、処理ユニット１２とフレームメモリ１６との間に接続された高レベルスクラッチパッド１８及び低レベルスクラッチパッド２０とを有する。高レベルスクラッチパッド１８は、以降、Ｌ１スクラッチパッドとも称される。第１のプレフェッチ・バッファ２０．１は、高レベルスクラッチパッド１８と低レベルスクラッチパッド２０．２との間に設けられる。低レベルスクラッチパッド２０は、以降、Ｌ０スクラッチパッド及び検索範囲（ＳＡ）スクラッチパッドとも称される。
【００７０】
処理ユニット１２と接続してメモリユニット１４を動作させるために必要な全ての制御動作は、１又は幾つかのメモリ制御装置によって制御される。本実施例で、フレームメモリ制御装置２２はフレームメモリ１６の動作を制御し、高レベルスクラッチパッド制御装置２４はＬ１スクラッチパッド１８及びプレフェッチ・バッファ２０．１の動作を制御し、低レベルキャッシュ制御装置２６は検索範囲スクラッチパッド２０．２の動作を制御する。高レベルスクラッチパッド制御装置２４及び高レベルスクラッチパッド１８は高レベルキャッシュユニットを形成する。低レベルキャッシュ制御装置２６及び低レベルスクラッチパッド２０．２は低レベルキャッシュユニットを形成する。高レベルスクラッチパッド制御装置２４及び低レベルキャッシュ制御装置２６は、また、Ｌ１スクラッチ制御装置及びＬ０スクラッチ制御装置と夫々称される。以下の項目は、幾つかの例として、Ｌ０スクラッチパッド２０．２、Ｌ１スクラッチパッド１８、及びプレフェッチ・バッファ２０．１のサイズ及び帯域幅を決定するための指針を与える。
【００７１】
［１．Ｌ０スクラッチパッド］
扱われる映像フォーマットの柔軟性を提供しない実施形態で、Ｌ０スクラッチパッドの必要とされるメモリサイズは、一般的に、処理される映像フォーマットに依存する。以下の表２は、検索範囲サイズ及びメモリサイズに関して３つの映像フォーマット、即ち、ＣＩＦ、ＳＤＴＶ、及びＨＤＴＶのサイズ要求を簡単に述べる。メモリサイズは、２つの場合、即ち、以下の表で「Ｙ」と呼ばれる８ビットの輝度情報しか搬送しない画素の場合及び、表２でＲＧＢと呼ばれる、全部で２４ビットに達する３つの色に関する輝度情報を搬送するカラー画素の場合に関して特定される。
【表２】
2008530680.tif 000004
【００７２】
上の表を読むための指針として、１つの例が表２の一番下の行に関して説明される。ＨＤＴＶフォーマットにおける検索範囲は、水平方向において１７の８×８画素ブロックを有し、垂直方向に置いて９の８×８画素ブロックを有する。全ての画素が２４ビットを保持するところのＲＧＢ画素フォーマットでは、１７×９×８×８×２４＝２３５００８ビット＝２２９．５ｋｂｉｔがＳＡバッファのために必要とされる。画素ごとに８ビットの輝度情報しか用いない場合に、７８３３６ビット、即ち、７６．５ｋｂｉｔはＬ０スクラッチパッドの最小サイズである。
【００７３】
選択される映像フォーマットの柔軟性を提供する実施形態で、ＳＡスクラッチパッドのサイズは、サポートされる映像フォーマットによって必要とされる最大値である。
【００７４】
他の実施形態では、Ｌ０キャッシュがＬ０スクラッチパッドよりむしろ使用される。この実施形態で、Ｌ０キャッシュは、全部の調整範囲を保存するために必要とされるよりも小さいメモリ容量を有しても良い。しかし、処理ユニット１２によって実行される特定の映像処理アルゴリズムに依存して選択される適切なプレフェッチ方法は、読み出し要求がＬ０キャッシュへ入力される場合に、キャッシュ・ミス状態を完全に回避することができる。
【００７５】
［２．Ｌ１スクラッチパッド］
ＨＤＴＶフォーマットの例に関して、Ｌ１スクラッチパッドのメモリサイズは、８×８の画素を含む２０００の画素ブロックの全てが保存される必要があるという必要条件によって決定される。２４ビットの画素サイズを考えると、Ｌ１スクラッチパッドは３Ｍｂｉｔのメモリサイズを有するべきである。
【００７６】
一実施形態では、Ｌ１キャッシュがＬ１スクラッチパッドの代わりに使用される。それは、Ｌ１キャッシュ１８がスライド領域よりも小さい状態にあることを意味する。望ましくは、この実施形態は、Ｌ１キャッシュ１８．２に加えて第２のプレフェッチ・バッファ１８．１を有する図２の実施例に関連して用いられる。高レベルキャッシュ制御装置２４′で適切なキャッシュ交換方法を実施することによって、Ｌ１キャッシュは、常に、Ｌ０スクラッチパッド２０．２又はＬ０キャッシュ２０．２で検索範囲を更新するために必要とされる画素を保持することができる。
【００７７】
［３．第１のプレフェッチ・バッファ］
Ｌ０スクラッチパッド２０の第１のプレフェッチ・バッファ２０．１のサイズは、ＨＤＴＶ映像フォーマットの例に関して与えられる以下の指針に従って定められる。検索範囲の高さ、又は、言い換えると、１つの検索範囲列のサイズは、８×８画素を夫々有する９の画素ブロックである。従って、定常状態の間、９の画素ブロックの１つのこのような検索範囲列は、検索範囲を更新するために必要とされる。全ての画素は最大２４ビットを有するので、プレフェッチ・バッファ２０．１は、９×８×８×２４＝１３８２４ビット＝１３．５ｋｂｉｔの大きさを有するべきである。
【００７８】
［４．帯域幅］
メモリ帯域幅に関して、通常、処理データ経路並列処理は、画素ブロックの画素行のサイズ、例えば、８×８画素ブロックの場合に８の画素に等しい。これは、一時的なアップコンバージョンや非インタレース走査などのための動作推定のようなブロックに基づく処理アプリケーションの場合に保持する。
【００７９】
帯域幅は、連続する画素行が異なるメモリバンクにあるようにメモリシステムを編成することによって並行して画素ブロックの複数の画素行を供給することによって、更に増大する。バンクセットの中でバンク行を交互配置することによって、バンク衝突は、並行して幾つかの行を出力する場合に回避される。並行して幾つかの連続する画素行を出力するよう構成されるメモリ構造の例は、欧州特許出願ＥＰ０４１０１６７７．５の請求項１９及び請求項２０に係る実施例で、及び、出願当初のＥＰ０４１０１６７７．５の１２〜２３頁で詳細に記載されるＥＰ０４１０１６７７．５の図７のメモリ構造で、与えられる。
【００８０】
図１の映像処理装置の動作に関する記載に戻ると、代替の実施例は図２を参照して簡単に記載される。図２のブロック図は、本発明の第２の実施例に従う映像処理装置の詳細を示す。図２の映像処理装置１０′の構造は、ほとんどの部分で、図１の映像処理装置１０の構造に対応する。本記載は相違点に限られ、他に特に与えられない限り、同じ部分に関して図１の参照符号を用いうる。映像処理装置１０′の高レベルスクラッチパッド１８′は、フレームメモリ１６とＬ１スクラッチパッド１８．２との間に接続された第２のプレフェッチ・バッファ１８．１を有する。プレフェッチ・バッファ１８．１は、Ｌ１スクラッチパッド１８．２へ並列に幾つかの画素を供給可能な並列出力を有する。第２のプレフェッチ・バッファ１８．１の動作は高レベルキャッシュ制御装置２４′によって制御される。
【００８１】
次に、同時の通信及び計算に関する図１及び図２の映像処理装置の動作は、更に図３〜７を参照して記載される。
【００８２】
初期化相の間、Ｌ１スクラッチパッドは、ホストシステムを介してフェッチ関連パラメータをロードされる。この情報を基に、スライド領域は、フレームメモリ１６からＬ１スクラッチパッド１８へフェッチされる。Ｌ１スクラッチパッド制御装置２４はフェッチ動作を処理する。スライド検索範囲は、幾つかの画素ブロック行に及び、少なくともスライド検索範囲に含まれる画素ブロック行の数に広がる。これは、処理ユニット１２によって実行されるべき映像処理アルゴリズムによって使用される。Ｌ１スクラッチパッド１８に記憶されるスライド領域は、例えば、映像フレームの全ての画素ブロック列に及び多数の画素ブロック行に広がる縞地を形成する。これは、検索範囲に含まれる画素ブロック行と同一である。特に上から下への処理ユニットの走査方向に適する他の例では、スライド領域は、水平方向に検索範囲と同じ広がりを有するが、垂直方向では、検索範囲よりも多い画素ブロック行に、又はフレームの完全な垂直伸長に広がる。Ｌ１スクラッチパッド１８は画素行形態でスライド領域を保持し、一方、フレームメモリ１６は画素ブロックへの分配に従ってフレームを保持する。Ｌ１はダイレクトマッピング方式で編成される。
【００８３】
Ｌ０スクラッチパッド２０．２は、プレフェッチ・バッファ２０．１を介して、処理されるべき第１の画素ブロックへ割り当てられる各自の検索範囲の必要とされるデータをロードすることによって、初期化される。Ｌ１スクラッチパッド制御装置２４は、データが所定順序でプレフェッチ・バッファ２０．１を介して供給されるよう制御する。
【００８４】
図３は、検索領域に基づく映像処理アルゴリズムを表し、且つ、本発明の映像処理装置の実施例で実施されるスクラッチパッド交換方法を表す図を示す。
【００８５】
画素ブロックグリッド３０は、完全な映像フレームのサブセットを形成する１２×７の画素ブロックの領域を表す。各画素ブロックは８×８画素から成る。これは、画素ブロックグリッド３０の左上角にある画素ブロック３２の２つの側面に書かれた番号によって示される。画素ブロックグリッド３０の中の検索範囲３４は、実線によって輪郭を描かれる。検索範囲は９×５＝４５の画素ブロックから成る。検索範囲の行は９の画素ブロックから成る。検索範囲の列は５の画素ブロックから成る。検索範囲の現在処理される中央の画素ブロックは、大文字Ｎによって示される。検索範囲の以前の中央画素ブロックは、大文字Ｏによって示される。
【００８６】
現在の中央画素ブロックの処理は、現在の中央画素ブロックの周りの９×５の画素ブロックの夫々の検索範囲の走査を含む。従って、前の中央画素ブロックＯの処理が終了する場合に、検索範囲は、処理ユニット１２が新しい中央画素ブロックＮを処理する前に、Ｌ１スクラッチパッド１８及びプレフェッチ・バッファ２０．１を介して既知の走査順序及び走査方向に従ってＬ０スクラッチパッド２０．２において更新される。
【００８７】
図３で示される例で、Ｌ０スクラッチパッド２０．２における検索範囲は、同時にＳＡバッファ２０．２から前の左端の検索範囲列３８を消去しながら、ＳＡバッファ２０．２に新しい検索範囲列３６をロードすることによって更新される。新しい右端の検索範囲列３６は図３で網掛けによって強調され、一方、検索範囲バッファ２０．２から消去されるブロックは「Ｘ」の印を付される。右への検索範囲の結果として得られるスライド方向は、矢印４０によって示される。
【００８８】
第１のプレフェッチ・バッファ２０．１に関して、第１のプレフェッチ・バッファ２０．１に含まれる画素は、新しい検索範囲列３６に含まれる画素である。これらの画素は、画素行によって画素行をＬ０スクラッチパッド２０．２へ供給され、同時に、画素行の全ての画素が供給される。先に説明されたように、実際には、より低いキャッシュレベルではブロックサイズの概念は存在しない。
【００８９】
図４は、走査順序及び走査方向の組合せの幾つかの例を示し、これらは、映像フレーム又は映像フィールドを処理するための様々なアルゴリズムによって使用され得る。概して、走査方向は、連続する画素行又は画素列の処理順序を示す。走査順序は、処理が行ごとに又は列ごとに実行されるかどうかを示す。映像処理アルゴリズムによって用いられる走査順序及び走査方向の認識は、適切なキャッシュ又はスクラッチパッド交換方法の選択に極めて重要である。必要とされるデータのプレフェッチを含むこのような交換方法の実施は、当該技術ではよく知られる。
【００９０】
図４ａ）は、処理ユニット１２が上から下への走査方向及び行ごとの走査順序で検索範囲内の画素ブロックを処理するところの実施形態を示す。この実施形態で、各処理ブロック行における処理は左から右へ実行される。
【００９１】
図４ｂ）は、処理ユニット１２が下から上へと続く走査方向及び行ごとの走査順序で含まれる画素ブロックの処理を実行するところの代替の実施形態を示す。この実施形態で、各画素ブロック行の画素ブロックは右から左へ走査される。
【００９２】
図４ｃ）は、処理が左から右への走査方向及び列ごとの走査順序で実行されるところの第３の代替の実施形態を示す。この実施形態で、各画素ブロック列は下から上へ走査される。
【００９３】
図４ｄ）は、処理が上から下への走査方向及び行ごとの走査順序で実行されるところの第４の代替の実施形態を示す。この実施形態は、画素ブロック行における処理が蛇行式で実行されるという事実を除けば、図４ａ）の実施形態と同じである。一番上の画素ブロック行は左から右へ走査され、一方、下方向で次の画素ブロック行は右から左へ処理され、以下同様に続く。
【００９４】
図４ｅ）は、処理ユニット１２が下から上への走査方向及び行ごとの走査モードで検索範囲を走査するところの第５の代替の実施形態を示す。図４ｂ）の実施形態とは対照的に、処理は蛇行式で実行される。一番下の画素ブロック行は右から左へ走査され、一方、上方向で次の画素ブロック行は左から右へ走査され、以下同様に続く。
【００９５】
図４ｆ）は、処理ユニット１２が左から右への走査方向及び列ごとの走査順序で検索範囲を処理するところの第６の代替の実施形態を示す。図４ｃ）の実施形態とは対照的に、列の走査は蛇行式に実行される。一番左端の列は下から上へ走査され、一方、右方向で次の列は上から下へ走査され、以下同様に続く。図４ａ）〜４ｃ）の非蛇行式の例で、特別の注意は、新しい行又は列への切替えに関する交換方法を設計する際に払われるべきである。この場合に、全ての検索範囲は、概して、処理ユニット１２が進み、次の行又は列の最初の画素ブロックを処理する前に、Ｌ０スクラッチパッド２０．２において置換されるべきであり得る。この状況におけるスクラッチパッド交換は、上述された初期化相に対応する。当然、Ｌ１及びＬ０スクラッチパッドの更新前に現在の映像処理アルゴリズムのフェッチ関連のパラメータをリロードすることは、この状況では不要である。
【００９６】
図５は、Ｌ０スクラッチパッド２０．２での交換方法における走査方向の影響の説明図である。図５は、図３の例の代替案を形成する検索範囲の第２の例を示す。本例で、検索範囲は、１２の画素ブロックの検索範囲行と、８の画素ブロックの検索範囲列とから成る。図３の例と同様に、破線のグリッドは画素ブロックを示す。図５の説明図は、４つの可能な実施形態を簡単に述べる。図５に示される第１の実施形態で、走査範囲のスライド方向は、図３に示される方向と同じであり、即ち、左から右へ移動する。結果として、現在処理対象となっている検索範囲の右端の検索範囲列４４は、Ｌ０スクラッチパッド２０．２に補充されるべきであり、高レベルキャッシュ制御装置２４によって第１のプレフェッチ・バッファ２０．１にロードされる。検索範囲列４４の右側隣に位置する矢印は、この実施形態に関して検索範囲のスライド方向を示す。
【００９７】
図５で示される第２の実施形態で、走査範囲は右から左へスライドし、新しい左端の検索範囲列４６は、プレフェッチ・バッファ２０．１及びＬ１スクラッチパッド１８を介してＬ０スクラッチパッド２０．２にロードされるべきである。検索範囲列４６の左側隣に位置する矢印は、この実施形態に関して検索範囲のスライド方向を示す。
【００９８】
図５で示される第３の実施形態で、検索範囲は上から下へスライドする。従って、新しい下端の検索範囲行４８は、処理が続く場合に、Ｌ０スクラッチパッド２０．２にロードされるべきである。検索範囲行４８の下側隣に位置する矢印は、この実施形態に関して検索範囲のスライド方向を示す。
【００９９】
最後に、図５で示される第４の実施形態で、検索範囲は下から上への方向でスライドする。従って、新しい上端の検索範囲行５０はＬ０スクラッチパッド２０．２にロードされるべきである。検索範囲行５０の上側隣に位置する矢印は、この実施形態に関して検索範囲のスライド方向を示す。
【０１００】
図６は、窓及び窓座標によるその定義に関する説明図である。図６には検索範囲５２が示される。範囲５２の中の窓５４は、所定の窓サイズ並びに１つのＸ座標及び１つのＹ座標によって定められる。検索範囲の左上角は、窓５４の左上角の位置を定めるための検索範囲の原点を形成する。窓座標Ｘ及びＹは、Ｌ０スクラッチパッド制御装置２６による読み出し要求から得られる。例えば、窓座標Ｘ及びＹは、４分の１画素解像度で２つの正の整数値によって形成され得る。このように固定小数点数演算は回避される。Ｌ０スクラッチパッド制御装置２６は、図７を参照して以下で説明されるように、可能なサブピクセル解像度を検出する。
【０１０１】
図７は、Ｌ０スクラッチパッド制御装置２６に含まれる制御回路の一部とともに、図１のＬ０スクラッチパッド２０．２の区分の描写を示す。図示されるＬ０スクラッチパッド区分は１２のメモリバンクから成る。その中のメモリバンク５６〜６６は、個々の参照符号を付される。各メモリバンクは、４画素の幅と、３２画素の深さとを有する。窓５４′は、メモリバンク５６〜６４の部分に広がるよう示される。Ｌ０スクラッチパッド２０．２は、本実施形態ではダイレクトマッピングをなされる。従って、多数のバンクからの寄与は、窓を完全にするために必要とされる。窓５４′の座標は、サブピクセル精度であると仮定される。従って、窓は、補間フィルタリングをサポートするよう更なる画素により広げられる。窓サイズが１６×１６画素であるところの例を考えると、Ｌ０スクラッチパッド制御装置２６は、サブピクセル精度を検出し、処理ユニット１２へ１７×１７の窓を供給する。
【図面の簡単な説明】
【０１０２】
【図１】本発明のデータ処理装置の第１の実施例を形成する映像処理装置のブロック図を示す。
【図２】本発明の第２の実施例に従う映像処理装置の詳細を示す。
【図３】検索範囲に基づく映像処理アルゴリズムを表し、且つ、本発明の第３の実施例に従うキャッシュ交換方法を表す図を示す。
【図４】本発明の様々な実施例における走査順序及び走査方向の組合せの幾つかの例を示す。
【図５】本発明の様々な実施例でのキャッシュ交換方法における走査方向の影響の説明図である。
【図６】窓座標の説明図である。
【図７】ダイレクトマッピング・キャッシュを用いる本発明の更なる実施例における窓サイズの説明図である。
【図１】
2008530680.tif 000005
【図２】
2008530680.tif 000006
【図３】
2008530680.tif 000007
【図４ａ】
2008530680.tif 000008
【図４ｂ】
2008530680.tif 000009
【図４ｃ】
2008530680.tif 000010
【図４ｄ】
2008530680.tif 000011
【図４ｅ】
2008530680.tif 000012
【図４ｆ】
2008530680.tif 000013
【図５】
2008530680.tif 000014
【図６】
2008530680.tif 000015
【図７】
2008530680.tif 000016
【国際調査報告】
2008530680.tif 000017
2008530680.tif 000018
2008530680.tif 000019