(57)【特許請求の範囲】
【請求項１】
画像を格納するフレームメモリと、
前記フレームメモリに格納された画像に施す変形処理パラメータにプリフェッチ命令が付加されたプリフェッチ命令付変形処理パラメータを格納するパラメータメモリと、
前記フレームメモリに格納された画像の画素データの一部を一時的に格納することで、前記フレームメモリからの画素データ読み込み効率を向上させるキャッシュメモリと、
前記パラメータメモリに格納されたプリフェッチ命令に従って前記フレームメモリから前記キャッシュメモリに画素データをロードするプリフェッチ制御部と、
前記パラメータメモリに格納された変形処理パラメータを使用して前記キャッシュメモリに格納された画像に変形処理を施す変形処理部と、
を備えることを特徴とする画像変形装置。
【請求項２】
前記プリフェッチ制御部は、所定の画素データの読み込み要求が出される前にその画素データが含まれるデータブロックのロードを完了させることを特徴とする請求項１記載の画像変形装置。
【請求項３】
前記プリフェッチ命令付変形処理パラメータには、前記変形処理パラメータと前記プリフェッチ命令とが独立したデータ列として処理順に並べられていることを特徴とする請求項２記載の画像変形装置。
【請求項４】
前記プリフェッチ命令付変形処理パラメータには、前記変形処理パラメータと同一のデータ列に前記プリフェッチ命令が埋め込まれる形で処理順に並べられていることを特徴とする請求項２記載の画像変形装置。
【請求項５】
前記プリフェッチ命令が埋め込まれている場合よりも埋め込まれていない場合の方が前記変形処理パラメータに割り当てるビット長が長いことを特徴とする請求項４記載の画像変形装置。
【請求項６】
前記プリフェッチ命令付変形処理パラメータには、前記プリフェッチ命令の一部分のみが前記変形処理パラメータと同一のデータ列に埋め込まれる形で処理順に並べられ、その詳細は前記パラメータメモリ上の別の領域に格納されていることを特徴とする請求項２記載の画像変形装置。
【請求項７】
画像に施す変形処理に使用される変形処理パラメータを解析する解析部と、
前記解析部の解析結果に基づいて前記変形処理パラメータに変形処理を行う対象となる画像データに関するプリフェッチ命令を付加することでプリフェッチ命令付変形処理パラメータを生成する命令付加部と、
を備えることを特徴とする命令付加装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像変形装置および命令付加装置に関する。
【背景技術】
【０００２】
従来、入力された画像を変形させて出力する画像処理装置が知られている。例えば、図１２に示すように、魚眼レンズや超広角レンズを用いた撮像装置より入力される画像は歪んでいるため、この歪みを電子的に補正する画像変形装置１０が提案されている（特許文献１参照）。また、プロジェクタやＨＵＤ（Head Up Display）のような投影装置を用いた場合は、投影装置の設置角度や投射対象となるスクリーン形状が原因で、入力画像をそのまま投影すると投影画像が歪むことがある。そこで、図１３に示すように、入力画像をあらかじめ画像変形装置１０で変形させておき、変形後の画像を投影装置に送ることで投影画像の歪みを解消する技術が提案されている（特許文献２参照）。
【０００３】
画像変形装置１０において画像を変形するには次の手順を踏む。まず、外部より入力されてきた画像1フレーム分を走査線順に画像メモリ（以下、フレームメモリ１２）へ格納する。次に、これを出力する際に、走査線順ではなく変形を考慮した画素データ読み込み制御を行うことで変形を実現する。読み込み制御は、変形形状を表すパラメータ（以下、変形処理パラメータＰ１）に沿って行われる。歪みの形状が台形のように数式で表現できる場合は、変形処理パラメータＰ１を逐次計算して生成することができる。一方、歪みの形状を数式で表現するのが困難な場合は、あらかじめ求めておいた変形処理パラメータＰ１をパラメータメモリ１３上のテーブルに格納しておき、これを参照する方法がとられている。これを実現する場合、図１４のような構成をとる。
【０００４】
前記“変形を考慮した画素データ読み込み制御”は、具体的には“入力画像の画素データ再配置”という操作にあたる。入力画像上の座標系（以下「入力座標系」）と、出力画像上の座標系（以下「出力座標系」）とを考え、入力画像と出力画像それぞれの画素を入力座標系と出力座標系それぞれの格子点に対応させる。そして、出力座標系の各格子点について入力座標系上で対応する位置を求め、その位置における画素値から出力画素を計算する。出力座標系上の格子点が入力座標系上の格子点と１対１で対応している場合は、入力画素がそのまま出力画素として出力される。しかし、変形形状によっては対応する位置の座標が整数値にならない、つまり出力座標系上の格子点が入力座標系上の格子点上にない場合がある。この場合は、指定された位置に最も近い入力座標系格子点で代表させる方法（ニアレストネイバー）や、周囲の画素値に対して補間演算（バイリニア, バイキュービック）を用いて出力画素値を得る。
【０００５】
図１５に画素データ再配置の例を示す。図１５は、入力座標系と出力座標系の対応をデータ配列（変形処理パラメータＰ１）によって表すタイプの変形方法である。ここで、出力座標系上の点O[0,0]に着目し、この出力点に対応する入力座標系上の点を求める場合を考える。この場合、入力座標系と出力座標系の対応を記した変形処理パラメータＰ１を参照することで、出力座標系上の点O[0,0]に対応するのは入力座標系上の点I[0,0]であることがわかるため、この画素値を出力する。次に、出力座標系上の点O[2,1]に着目した場合、これに対応する入力座標系上の点はI[2,1.5]であるが、この位置は入力座標系上の格子点ではなく１対１で対応する画素は存在しない。この場合にとりうる方法としては、I[2,1]とI[2,2]の画素値に対して補間演算を適用しI[2,1.5]の画素値を合成する方法や（バイリニア）、 I[2,1]に代表させる方法（ニアレストネイバー）などがある。
【０００６】
ところで、例に挙げた画像変形装置１０においては、画面サイズに応じたフレームメモリ１２が必要となる。レンズの歪み補正に限らず、台形や平行四辺形といった変形形状に対応するためには、フレームメモリ１２の特定の箇所を高速に読み出す必要がある。特定の箇所を高速に読み出すアクセス、一般に「ランダムアクセス」と呼ばれるアクセスにはSRAM（Static Random Access Memory）が適している。しかし、フレームメモリ１２を実現するための大容量のSRAMは非常に高価であり、これを画像変形装置１０のフレームメモリ１２に使うことはとても現実的とはいえない。逆に安価なDRAM（Dynamic Random Access Memory）を使用すると、変形形状によっては画素データの読み込みが変形処理に追いつかず、リアルタイム処理を実現できないといった問題がある。
【０００７】
そこで、図１６に示すように、DRAMで構成されたフレームメモリ１２と変形処理部１６との間にキャッシュメモリ１４を設け、フレームメモリ１２からの画素データ読み込み効率を改善する方法がとられる（非特許文献１参照）。キャッシュメモリ１４は、読み込みデータの局所性を利用し、読み込み対象となったデータだけではなく、次サイクルや次々サイクルで読み込まれる可能性が高い周辺データをもあらかじめ読み込んでおく（以下、プリフェッチ）。次に、フレームメモリ１２へのアクセスがあった時、フレームメモリ１２にアクセスする代わりに、あらかじめキャッシュメモリ１４に読み込んであるデータを参照する。こうすることでフレームメモリ１２へのランダムアクセスが頻発するような状況を防ぐ。
【０００８】
図１７は、キャッシュメモリ１４を用いた画像変形装置１０の基本的な動作を示したフローチャートである。変形処理部１６は、パラメータメモリ１３から変形処理パラメータＰ１を読み込み、処理対象となる画素データをキャッシュメモリ１４に対して要求する（Ｓ３１→Ｓ３２）。ここで、処理対象となる画素データがキャッシュメモリ１４中にある場合はそのまま画素データを読み込む（Ｓ３３→Ｓ３５）。そうでない場合は、処理対象となる画素データと一緒に次サイクルや次々サイクルで読み込まれる可能性が高い周辺データをフレームメモリ１２からキャッシュメモリ１４へ読み込んでおく（Ｓ３３→Ｓ３４）。
【０００９】
以下、図１８をもとに詳しく説明する。図１８は、画像変形装置１０内におけるフレームメモリ１２およびキャッシュメモリ１４の概念図である。フレームメモリ１２には２次元ブロック状で画素データが格納されており、キャッシングもこのブロック単位で行われるとする。今仮にフレームメモリ１２中のデータ[0], データ[1], データ[2]…への読み込み要求が変形処理部１６より順に発行された場合を考える。
【００１０】
変形処理部１６は、最初のデータ[0]を読み出すため、キャッシュメモリ１４に読み込み要求を出す。しかし、キャッシュメモリ１４中にはデータ[0]が存在しないので、キャッシュメモリ１４はフレームメモリ１２へ読み込み要求を出し、データ[0]を含むデータブロックA0をキャッシュメモリ１４へ読み込んでくる。その後、変形処理部１６は、キャッシュメモリ１４よりデータ[0]を読み込む。次に、データ[1]の読み込み要求があった場合、このデータ[1]はキャッシュメモリ１４中に存在するため、フレームメモリ１２へのアクセスは発生しない。以降、データ[7]まではキャッシュメモリ１４へのアクセスのみでデータ読み込みが完了する。データ[8]を読み込む際には、フレームメモリ１２から再度データブロックB0を読み込む必要がある。まとめると、図１７に示すフローチャートおよび図１９に示すタイムチャートの通り、(1)キャッシュヒット、(2)キャッシュミス、(3)フレームメモリからデータ読み込み、というサイクルを繰り返す。
【００１１】
図１６の構成をとる場合、キャッシュミスが発生するたびにフレームメモリ１２から1データブロックを読み込んでくるため、その間は処理が停止してしまう。これを改善するために、次に必要なデータブロックをあらかじめキャッシュメモリ１４に読み込んでおくという方法が提案されている（特許文献３参照）。ここでは、次に必要となると予測される画素データを含むデータブロックをあらかじめ読み込んでおくことで、キャッシュミスを減らし、メモリアクセスのさらなる効率化を実現している。このためには、図２０に示すように、過去のアクセスパターン傾向から次に必要となる画素データを予測するアクセス予測部１８、および実際に必要な制御を行うプリフェッチ制御部１５が必要となる。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開平４−６１５７０号公報
【特許文献２】特開平８−９８１１９号公報
【特許文献３】特開平１１−１６７５２０号公報
【非特許文献】
【００１３】
【非特許文献１】David A. Patterson, John L. Hennessy, “Computer Architecture, Third Edition : A Quantitative Approach”, Morgan Kaufmann
【発明の概要】
【発明が解決しようとする課題】
【００１４】
しかし、図２０に示すようなアクセス予測部１８を備えると、これによる装置のコストアップだけではなく、周辺回路の制御も複雑化し、設計負荷の増大につながる。また、アクセス予測部１８が行うのはあくまで「予測」であり、的中率100%でキャッシュミスが発生しないような予測器を作るのは困難である。そして、キャッシュのヒット率によりアクセス速度が大きく変化するような構成では、リアルタイム性が必須である動画像処理などでパフォーマンスアップがしにくいという弊害がある。
【００１５】
本発明は前記課題を解決するためになされたものであり、その目的は、装置の複雑化の原因となるアクセス予測部を搭載することなしに、これを搭載したときと同様以上の効果、すなわちキャッシュミスのないアクセスを可能にする画像変形装置および命令付加装置を提供することである。
【課題を解決するための手段】
【００１６】
前記課題を解決するために、本発明の実施形態に係る画像変形装置は、画像を格納するフレームメモリと、前記フレームメモリに格納された画像に施す変形処理パラメータにプリフェッチ命令が付加されたプリフェッチ命令付変形処理パラメータを格納するパラメータメモリと、前記フレームメモリに格納された画像の画素データの一部を一時的に格納することで、前記フレームメモリからの画素データ読み込み効率を向上させるキャッシュメモリと、前記パラメータメモリに格納されたプリフェッチ命令に従って前記フレームメモリから前記キャッシュメモリに画素データをロードするプリフェッチ制御部と、前記パラメータメモリに格納された変形処理パラメータを使用して前記キャッシュメモリに格納された画像に変形処理を施す変形処理部とを備えることを特徴とする。
【００１７】
前記プリフェッチ制御部は、所定の画素データの読み込み要求が出される前にその画素データが含まれるデータブロックのロードを完了させてもよい。
【００１８】
前記プリフェッチ命令付変形処理パラメータには、前記変形処理パラメータと前記プリフェッチ命令とが独立したデータ列として処理順に並べられていてもよい。
【００１９】
前記プリフェッチ命令付変形処理パラメータには、前記変形処理パラメータと同一のデータ列に前記プリフェッチ命令が埋め込まれる形で処理順に並べられていてもよい。
【００２０】
前記プリフェッチ命令が埋め込まれている場合よりも埋め込まれていない場合の方が前記変形処理パラメータに割り当てるビット長が長くてもよい。
【００２１】
前記プリフェッチ命令付変形処理パラメータには、前記プリフェッチ命令の一部分のみが前記変形処理パラメータと同一のデータ列に埋め込まれる形で処理順に並べられ、その詳細は前記パラメータメモリ上の別の領域に格納されていてもよい。
【００２２】
前記課題を解決するために、本発明の実施形態に係る命令付加装置は、画像に施す変形処理に使用される変形処理パラメータを解析する解析部と、前記解析部の解析結果に基づいて前記変形処理パラメータに変形処理を行う対象となる画像データに関するプリフェッチ命令を付加することでプリフェッチ命令付変形処理パラメータを生成する命令付加部とを備えることを特徴とする。                                                                             
【発明の効果】
【００２３】
本発明によれば、装置の複雑化の原因となるアクセス予測部を搭載することなしに、これを搭載したときと同様以上の効果、すなわちキャッシュミスのないメモリアクセスを可能にする画像変形装置および命令付加装置を提供することが可能である。
【図面の簡単な説明】
【００２４】
【図１】実施形態１における画像変形装置の構成を示す図である。
【図２】実施形態１における命令付加装置の構成を示す図である。
【図３】実施形態１におけるプリフェッチ命令格納方法を示す図である。
【図４】実施形態１における画像変形装置の処理順序を示すフローチャートである。
【図５】実施形態１における動作時のタイムチャートである。
【図６】実施形態２におけるプリフェッチ命令格納方法を示す図である。
【図７】実施形態２における画像変形装置の処理順序を示すフローチャートである。
【図８】実施形態２における読み込み対象データブロックの指定方法を示す図である。
【図９】実施形態３におけるプリフェッチ命令格納方法を示す図である。
【図１０】実施形態４におけるプリフェッチ命令格納方法を示す図である。
【図１１】実施形態４における画像変形装置の処理順序を示すフローチャートである。
【図１２】従来の一般的な画像変形装置の説明図である。
【図１３】従来の一般的な画像変形装置の説明図である。
【図１４】従来の一般的な画像変形装置の構成を示す図である。
【図１５】従来の一般的な画像変形処理の原理を示す図である。
【図１６】従来の別の画像変形装置の構成を示す図である。
【図１７】従来の別の画像変形装置の処理順序を示すフローチャートである。
【図１８】従来のフレームメモリおよびキャッシュメモリの概念を示す図である。
【図１９】従来の画像変形装置の動作時のタイムチャートである。
【図２０】従来の別の画像変形装置の構成を示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について図面を参照して詳細に説明する。ただし、この実施形態で記載されている構成は本発明の特徴をわかりやすく説明するための例であり、発明の範囲を限定するものではない。
【００２６】
（実施形態１）
実施形態１における画像変形システムは、図１に示す画像変形装置１０と、図２に示す命令付加装置２０とを備えている。画像変形装置１０は、画像を変形させる装置（ＬＳＩ等）であって、図１に示すように、入力部１１と、フレームメモリ１２と、パラメータメモリ１３と、キャッシュメモリ１４と、プリフェッチ制御部１５と、変形処理部１６と、出力部１７とを備えている。入力部１１は、外部からの入力信号（画像）を受け取る。フレームメモリ１２は、入力部１１が受け取った画像を格納する。パラメータメモリ１３は、フレームメモリ１２に格納された画像に施す変形処理パラメータＰ１にプリフェッチ命令Ｐ２が付加されたプリフェッチ命令付変形処理パラメータＰ３を格納する。キャッシュメモリ１４は、フレームメモリ１２に格納された画像の画素データの一部を一時的に格納することで、フレームメモリ１２からの画素データ読み込み効率を向上させる。プリフェッチ制御部１５は、パラメータメモリ１３に格納されたプリフェッチ命令Ｐ２に従ってフレームメモリ１２からキャッシュメモリ１４に画素データをロードする。変形処理部１６は、パラメータメモリ１３に格納された変形処理パラメータＰ１を使用してキャッシュメモリ１４に格納された画像に変形処理を施す。出力部１７は、変形処理部１６により変形処理が施された画像を出力する。一方、命令付加装置２０は、変形処理パラメータＰ１にプリフェッチ命令Ｐ２を付加する装置（ＰＣ等）であって、図２に示すように、解析部２１と、命令付加部２２とを備えている。解析部２１は、画像に施す変形処理に使用される変形処理パラメータＰ１を解析する。命令付加部２２は、解析部２１の解析結果に基づいて変形処理パラメータＰ１にプリフェッチ命令Ｐ２を付加することでプリフェッチ命令付変形処理パラメータＰ３を生成する。このように生成されたプリフェッチ命令付変形処理パラメータＰ３は画像変形装置１０に入力されるようになっている。
【００２７】
図３は、実施形態１におけるプリフェッチ命令格納方法を示す図である。命令付加装置２０は、与えられた変形処理パラメータＰ１を事前に解析し、図３に沿ったフォーマットで必要なプリフェッチ命令Ｐ２を付加する。すなわち、変形処理パラメータＰ１とプリフェッチ命令Ｐ２とが独立したデータ列として処理順に並べられている。
【００２８】
このプリフェッチ命令付変形処理パラメータＰ３は、画像変形装置１０内のパラメータメモリ１３に格納され、図４のフローチャートに沿った手順で処理される。つまり、パラメータメモリ１３から読み込んだ１要素のパラメータが変形処理パラメータＰ１である場合は変形処理を実行し（Ｓ１→Ｓ２→Ｓ３→Ｓ６→Ｓ７→Ｓ８）、プリフェッチ命令Ｐ２である場合はフレームメモリ１２からキャッシュメモリ１４へデータブロックを読み込む（Ｓ１→Ｓ２→Ｓ４→Ｓ５）。読み込み対象のデータブロックは、プリフェッチ命令Ｐ２に含まれるＸ座標フィールドおよびＹ座標フィールドで指定される。また、プリフェッチ命令Ｐ２であるかどうかは、ワードの先頭に付加されている付加ビットにより判断することができる。ここでは、付加ビットが“００”であれば変形処理パラメータＰ１、付加ビットが“０１”であればプリフェッチ命令Ｐ２であると判断することとしている。
【００２９】
この結果、図５のタイムチャートに示すように、キャッシュミスのない効率的なメモリアクセスを実現することができる。ここでは、１データブロックをフレームメモリ１２からキャッシュメモリ１４にロードするには４サイクル必要であると仮定し、変形処理部１６がデータ[8]の読み込み要求を出す４サイクル前にデータブロックＢ０のロードを開始するようにしている。このようにすれば、変形処理部１６がデータ[8]の読み込み要求を出す前に、このデータ[8]が含まれるデータブロックＢ０のロードを完了させることが可能である。
【００３０】
以上のように、実施形態１における画像変形装置１０では、変形処理パラメータＰ１にプリフェッチ命令Ｐ２を付加しておき、そのプリフェッチ命令Ｐ２に従ってキャッシュメモリ１４を制御するようにしている。これにより、装置の複雑化の原因となるアクセス予測部を搭載することなしに、これを搭載したときと同様以上の効果、すなわちキャッシュミスのないアクセスが可能となる。このような画像変形装置１０は、レンズ歪みの補正、プロジェクタの台形補正、ヘッドアップディスプレイなど、入力されてくる静止画および動画の形状を変形する装置に適用することができる。特に、変形の程度が大きくメモリ上に蓄えられた画像データに高速にアクセスする必要がある場合に有効である。
【００３１】
（実施形態２）
実施形態２における画像変形システムは、実施形態１と同様、図１に示す画像変形装置１０と、図２に示す命令付加装置２０とを備えている。以下、実施形態２における画像変形システムの構成を実施形態１と異なる点を中心に説明する。
【００３２】
図６は、実施形態２におけるプリフェッチ命令格納方法を示す図である。命令付加装置２０は、与えられた変形処理パラメータＰ１を事前に解析し、図６に沿ったフォーマットで必要なプリフェッチ命令Ｐ２を付加する。ここでは、実施形態１と異なり、変形処理パラメータＰ１と同一のデータ列にプリフェッチ命令Ｐ２を埋め込む方式をとる。
【００３３】
このプリフェッチ命令付変形処理パラメータＰ３は、画像変形装置１０内のパラメータメモリ１３に格納され、図７のフローチャートに沿った手順で処理される。つまり、パラメータメモリ１３から読み込んだ１要素のパラメータにプリフェッチ命令Ｐ２が含まれている場合のみプリフェッチ処理を行い（Ｓ１１→Ｓ１２→Ｓ１３）、その後、画像変形処理を行う（Ｓ１４→Ｓ１５→Ｓ１６）。ここで、読み込み対象のデータブロックは、埋め込まれたプリフェッチ命令Ｐ２の下位３ビットにて相対指定される。すなわち、現在データ読み込み対象となっているデータブロックを基準に、図８に示される方向のデータブロックをプリフェッチする。例の場合、付加ビットの下位３ビットは“100”となっており、この場合は現在データ読み込み対象となっているデータブロックに対して、右隣のデータブロックｂ１００を読み込む。この結果、図５のタイムチャートに示すように、キャッシュミスのない効率的なメモリアクセスを実現することができる。
【００３４】
以上のように、実施形態２における画像変形装置１０によれば、実施形態１と同様、キャッシュミスのないアクセスが可能となる。また、パラメータメモリ１３に格納するプリフェッチ命令付変形処理パラメータＰ３のデータ量がプリフェッチ命令Ｐ２の数にかかわらず一定であるので、装置におけるパラメータメモリ１３の量を必要量だけに限定することができる。
【００３５】
（実施形態３）
実施形態３における画像変形システムは、実施形態１や２と同様、図１に示す画像変形装置１０と、図２に示す命令付加装置２０とを備えている。以下、実施形態３における画像変形システムの構成を実施形態１や２と異なる点を中心に説明する。
【００３６】
図９は、実施形態３におけるプリフェッチ命令格納方法を示す図である。命令付加装置２０は、実施形態２と同様、与えられた変形処理パラメータＰ１に必要なプリフェッチ命令Ｐ２を埋め込むが、その埋め込み方が実施形態２とは異なる。すなわち、実施形態３においては、プリフェッチ命令Ｐ２が埋め込まれている場合よりも埋め込まれていない場合の方が変形処理パラメータＰ１に割り当てるビット長が長い。具体的には、変形処理に使用されるＸ座標部とＹ座標部の少数部ビット長は、プリフェッチ命令Ｐ２が埋め込まれている場合は３ビット、プリフェッチ命令Ｐ２が埋め込まれていない場合は４ビットとしている。実施形態３におけるデータブロックの指定方法は実施形態２（図８）と同様であり、また、実施形態３における処理手順も実施形態２（図７）と同様である。この結果、図５のタイムチャートに示すように、キャッシュミスのない効率的なメモリアクセスを実現することができる。
【００３７】
以上のように、実施形態３における画像変形装置１０によれば、実施形態１や２と同様、キャッシュミスのないアクセスが可能となる。また、プリフェッチ命令Ｐ２が埋め込まれないであろう大多数の変形処理パラメータＰ１には、より高精度の変形座標パラメータを持たせることができるので、高精細な画像の変形において実施形態２より優れている。
【００３８】
（実施形態４）
実施形態４における画像変形システムは、実施形態２や３と同様、図１に示す画像変形装置１０と、図２に示す命令付加装置２０とを備えている。以下、実施形態４における画像変形システムの構成を実施形態２や３と異なる点を中心に説明する。
【００３９】
図１０は、実施形態４におけるプリフェッチ命令格納方法を示す図である。命令付加装置２０は、実施形態２や３と同様、与えられた変形処理パラメータＰ１に必要なプリフェッチ命令Ｐ２を埋め込むが、その埋め込み方が実施形態２や３とは異なる。すなわち、実施形態４においては、プリフェッチ命令Ｐ２の一部分のみが変形処理パラメータＰ１と同一のワードに埋め込まれ、その詳細はパラメータメモリ１３上の別の領域に格納される。この形式は、パラメータメモリ１３のワード長に余裕がなく、実施形態２や３のようにプリフェッチ命令Ｐ２のすべてを同一ワード内に埋め込むことのできない場合に有効である。
【００４０】
図１０に一例を示す。ここでは、プリフェッチ命令Ｐ２の有無を示すフラグのみが変形処理パラメータＰ１と同一のワードに格納されており、その詳細はパラメータメモリ１３の別領域に処理順に格納されている。そこで、図１１に示すように、変形処理部１６は、変形処理パラメータＰ１を読み込んだ際、同一ワード上にプリフェッチ命令Ｐ２の存在を示すフラグが格納されているか否かを確認する（Ｓ２１→Ｓ２２）。そして、フラグが格納されていた場合は、プリフェッチ命令Ｐ２本体をパラメータメモリ１３の別領域から読み込み、プリフェッチ制御部１５によってプリフェッチを実行するようになっている（Ｓ２３→Ｓ２４）。
【００４１】
以上のように、実施形態４における画像変形装置１０によれば、実施形態１〜３と同様、キャッシュミスのないアクセスが可能となる。また、プリフェッチ命令Ｐ２の一部分のみが変形処理パラメータＰ１と同一のワードに埋め込まれ、その詳細はパラメータメモリ１３上の別の領域に格納されるので、プリフェッチ命令Ｐ２のすべてを同一ワード内に埋め込むことのできない場合に有効である。
【００４２】
なお、図１０においては、変形処理パラメータＰ１とプリフェッチ命令Ｐ２を同一ワード長のメモリに格納しているが、本発明はこれに限られるものではない。すなわち、変形処理パラメータＰ１とプリフェッチ命令Ｐ２のそれぞれを別ワード長のメモリに格納したり、１ワード中に２つのプリフェッチ命令Ｐ２を格納したりしてもよい。これにより、プリフェッチ命令Ｐ２の余り部分を削減することができ、その結果、メモリの総容量も削減することが可能となる。
【００４３】
また、実施形態１，２，３，４で示したプリフェッチ命令格納方法では、１ワード３２ビット、付加ビット４ビットの場合を示したが、本発明はこれに限られるものではない。すなわち、１ワード４８ビット、６４ビットといった場合にも適用できる。また、付加ビットのビット数も４ビットに限られたものではなく、５ビット、６ビットといった指定も可能である。
【００４４】
また、実施形態２，３で示したデータブロックの指定方法（図８）は、これに限られるものではない。例えば、付加ビットを５ビット、そのうちデータブロックの指定に４ビットを割り当てる構成も可能である。この場合、あるパターン（例えばb1000）を「現在データ読み込み対象となっているデータブロックに対して２つ右隣のデータブロックを読み込む」という隣接データブロック以外の指定に割り当ててもよい。あるいは、あるパターン（例えばb1000）を「現在データ読み込み対象となっているデータブロックに対して右隣と斜め右下の２つのデータブロックを順に読み込む」という複数データブロックの指定に割り当ててもよい。
【００４５】
また、実施形態２，３で示したデータブロックの指定方法（図８）は相対指定に限られたものではない。すなわち、ビット長に余裕がある場合、付加ビット部分に実施形態１と同様の絶対値指定によるプリフェッチ命令を挿入することも可能である。
【００４６】
また、画像データと変形処理パラメータは図面上別のメモリ上に格納されているとしているが、あくまで概念上のものであり、本発明はこれに限ったものではない。すなわち、同一メモリの別の区域に画像データと変形処理パラメータを格納する構成も可能であるし、ひとつのフレームメモリ１２やパラメータメモリ１３が複数の物理メモリを使用して構成されてもよい。
【００４７】
また、図２に挙げている命令付加装置２０について、その実装方式は問わない。すなわち、すべてソフトウェアで実装してもよいし、ＤＳＰやＦＰＧＡなどのハードウェアを利用した構成でもかまわない。
【符号の説明】
【００４８】
１０…画像変形装置
１１…入力部
１２…フレームメモリ
１３…パラメータメモリ
１４…キャッシュメモリ
１５…プリフェッチ制御部
１６…変形処理部
１７…出力部
２０…命令付加装置
２１…解析部
２２…命令付加部
Ｐ１…変形処理パラメータ
Ｐ２…プリフェッチ命令
Ｐ３…プリフェッチ命令付変形処理パラメータ
【図１】
0005708072.tif 000002
【図２】
0005708072.tif 000003
【図３】
0005708072.tif 000004
【図４】
0005708072.tif 000005
【図５】
0005708072.tif 000006
【図６】
0005708072.tif 000007
【図７】
0005708072.tif 000008
【図８】
0005708072.tif 000009
【図９】
0005708072.tif 000010
【図１０】
0005708072.tif 000011
【図１１】
0005708072.tif 000012
【図１２】
0005708072.tif 000013
【図１３】
0005708072.tif 000014
【図１４】
0005708072.tif 000015
【図１５】
0005708072.tif 000016
【図１６】
0005708072.tif 000017
【図１７】
0005708072.tif 000018
【図１８】
0005708072.tif 000019
【図１９】
0005708072.tif 000020
【図２０】
0005708072.tif 000021