(57)【特許請求の範囲】
【請求項１】
出力画像領域を複数のタイルに分割する分割部と、
前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第１領域を演算する補正領域演算部と、
前記第１領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第２領域を決定する画像領域決定部と、
前記第２領域の画像データを取得して記憶部にキャッシュデータとして記憶させるデータ取得部と、
前記記憶部に記憶された前記第２領域の画像データに対して前記歪補正処理を実施する歪補正部と、
前記第１領域の位置情報を参照して、前記第２領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定するキャッシュ領域決定部と、
を備え、
前記データ取得部は、更に、前記歪補正処理が実施された後、前記記憶部にキャッシュデータとして記憶された画像データの積算量に基づいて、前記記憶部に前記キャッシュ領域を確保することができるか否かを判定し、前記記憶部に前記キャッシュ領域を確保できる場合、前記記憶部に記憶された前記第２領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放し、前記記憶部に前記キャッシュ領域を確保することができない場合、前記記憶部の全記憶領域を前記第２領域の画像データを記憶するために使用し、前記記憶部に前記キャッシュ領域の画像データを残さない、画像処理装置。
【請求項２】
前記データ取得部は、前記記憶部に前記キャッシュ領域を確保できる場合、前記キャッシュ領域の画像データを除く前記第２領域の画像データを取得して前記記憶部に記憶させる、請求項１に記載の画像処理装置。
【請求項３】
前記画像領域決定部は、前記複数のタイルのうち、前記歪補正処理の対象となっているタイルに隣接するタイルの先頭ラインの位置情報に基づいて前記キャッシュ領域を決定することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
出力画像領域を複数のタイルに分割する第１段階と、
前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第１領域を演算する第２段階と、
前記第１領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第２領域を決定する第３段階と、
前記第２領域の画像データを取得して記憶部にキャッシュデータとして記憶させる第４段階と、
前記記憶部に記憶された前記第２領域の画像データに対して前記歪補正処理を実施する第５段階と、
前記記憶部にキャッシュデータとして記憶された画像データの積算量に基づいて、前記記憶部にキャッシュ領域を確保することができるか否かを判定する第６段階と、
前記記憶部に前記キャッシュ領域を確保できる場合、前記第１領域の位置情報を参照して、前記第２領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定する第７段階と、
前記記憶部に記憶された前記第２領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放する第８段階と、
前記記憶部に前記キャッシュ領域を確保できない場合、前記記憶部の全記憶領域を前記第２領域の画像データを記憶するために使用し、前記記憶部に前記キャッシュ領域の画像データを残さない第９段階と、
を含む、画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関し、例えば歪曲収差の影響を含む画像の歪補正に好適な画像処理技術に関する。
【背景技術】
【０００２】
従来、レンズの歪曲収差を補正する画像処理装置がある（特許文献１参照）。この種の画像処理装置では、歪補正後の出力画像に必要な領域を算出し、歪曲収差を有する入力画像が格納されたメモリから、上記出力画像に対応する入力画像領域の画像データを読み出して歪補正する。この場合、回路規模を削減する目的で、出力画像の領域が所謂タイルと呼ばれる複数の矩形の領域に分割され、タイル単位で歪補正処理を実施することが行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−４３０６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術によれば、各タイルの歪補正処理を実施する場合、歪補正に用いる入力画像データとして、実際のタイルよりも大きい入力画像領域の画像データを上記メモリから読み出す必要がある。この場合、隣り合うタイル間で入力画像領域が重複するため、入力画像領域の画像データがメモリから重複して読み出される。このため、入力画像が格納されたメモリから画像データを読み出す頻度が増え、画像データを読み出すための処理の負担が増加するという問題がある。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、歪補正に用いる画像データの重複した読み出しを抑制することができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様による画像処理装置は、出力画像領域を複数のタイルに分割する分割部と、前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第１領域を演算する補正領域演算部と、前記第１領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第２領域を決定する画像領域決定部と、前記第２領域の画像データを取得して記憶部にキャッシュデータとして記憶させるデータ取得部と、前記記憶部に記憶された前記第２領域の画像データに対して前記歪補正処理を実施する歪補正部と、前記第１領域の位置情報を参照して、前記第２領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定するキャッシュ領域決定部と、を備え、前記データ取得部は、更に、前記歪補正処理が実施された後、前記記憶部に記憶された前記第２領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放する、画像処理装置の構成を有する。
【０００７】
前記データ取得部は、例えば、前記キャッシュ領域の画像データを除く前記第２領域の画像データを取得して前記記憶部に記憶させる。
前記画像領域決定部は、例えば、前記複数のタイルのうち、前記歪補正処理の対象となっているタイルに隣接するタイルの先頭ラインの位置情報に基づいて前記キャッシュ領域を決定する。
前記データ取得部は、例えば、前記記憶部にキャッシュデータとして記憶された画像データの積算量に基づいて、前記記憶部に前記キャッシュ領域を確保することができるか否かを判定し、前記キャッシュ領域を確保することができない場合、前記記憶部に前記キャッシュ領域の画像データを記憶させない。
【０００８】
本発明の一態様による画像処理方法は、出力画像領域を複数のタイルに分割する第１段階と、前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第１領域を演算する第２段階と、前記第１領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第２領域を決定する第３段階と、前記第２領域の画像データを取得して記憶部にキャッシュデータとして記憶させる第４段階と、前記記憶部に記憶された前記第２領域の画像データに対して前記歪補正処理を実施する第５段階と、前記第１領域の位置情報を参照して、前記第２領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定する第６段階と、を含み、前記第４段階では、更に、前記歪補正処理が実施された後、前記記憶部に記憶された前記第２領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放する、画像処理方法の構成を有する。
【発明の効果】
【０００９】
本発明によれば、歪補正に用いる画像データの重複した読み出しを抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施形態による画像処理装置の構成例を示すブロック図である。
【図２】本発明の第１実施形態による画像処理装置の動作の流れを説明するためのフローチャートである。
【図３】本発明の第１実施形態による画像処理装置のタイル分割部の動作（タイル分割）を説明するための図である。
【図４】本発明の第１実施形態による画像処理装置の補正領域演算部の動作を説明するための図である。
【図５】本発明の第１実施形態による画像処理装置の画像領域決定部の動作を説明するための図である。
【図６】本発明の第１実施形態による画像処理装置の画像領域決定部の動作を補足説明するための図であり、（Ａ）は、入力画像領域の決定手法を説明するための図であり、（Ｂ）は、入力画像領域の重複領域を説明するための図である。
【図７】本発明の第１実施形態による画像処理装置の動作上の課題を説明するための図であり、（Ａ）は、上述した図４または図５に示す入力タイルの形状に含まれる歪曲収差の影響を誇張して表現し直した図であり、（Ｂ）は、上述した図４に示す入力タイルの形状に含まれる歪曲収差の影響を誇張して表現し直した図である。
【図８】本発明の第１実施形態による画像処理装置の動作上の課題を補足説明するための図である。
【図９】本発明の第２実施形態による画像処理装置の動作の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照しながら、本発明の実施形態を説明する。
（第１実施形態）
図１は、本発明の第１実施形態による画像処理装置１００の構成例を示すブロック図である。画像処理装置１００は、出力画像領域を複数のタイルに分割し、タイルごとに入力画像データに対する歪補正を実施する装置であり、記憶部１１０、メモリ１２０、データ取得部１３０、歪補正部１４０、メモリ１５０、タイル分割部１６０、補正領域演算部１７０、画像領域決定部１８０、キャッシュ領域決定部１９０を備えている。ここで、タイルとは、歪補正の処理単位となる画像領域を指す。
【００１２】
記憶部１１０は、入力画像を形成する画像データ（以下、「入力画像データ」と称す。）を一時的に保持するためのラインメモリであり、例えば複数のＳＲＡＭ(Static Random Access Memory)から構成される。記憶部１１０は、画像処理装置１００の外部メモリであってもよい。メモリ１２０は、入力画像データが予め格納されたメモリであり、例えばＳＤＲＡＭ(Synchronous Dynamic Random Access Memory)である。メモリ１２０は、画像処理装置１００の外部メモリであってもよい。
【００１３】
ここで、入力画像データによって形成される入力画像は、図示しないデジタルカメラ等の撮像装置により得られた撮像画像であり、その撮像装置に備えられたレンズの歪曲収差を含む光学特性の影響を含んでいる。入力画像を形成する入力画像データは、画像処理装置１００の歪補正部１４０による歪補正処理の対象となる画像データである。
【００１４】
タイルの水平方向のサイズは、記憶部１１０によって構成されるラインメモリの水平方向のサイズによって定まり、例えば５１２ピクセル分のサイズである。また、タイルの垂直方向のサイズは、画像処理装置１００の後段側の処理の仕様によって定まり、後段側の処理としてＪＰＥＧ(Joint Photographic Experts Group)標準のコーデック処理を想定した場合、タイルの垂直方向のサイズは例えば８ピクセルである。ただし、この例に限定されず、タイルのサイズは任意に設定し得る。
【００１５】
データ取得部１３０は、記憶部１１０およびメモリ１２０に対する入力画像データの書き込み及び読み出しを実施するための要素である。データ取得部１３０は、タイル単位でメモリ１２０から入力画像データを取得して記憶部１１０にキャッシュデータとして記憶させると共に、記憶部１１０から入力画像データを読み出して歪補正部１４０に供給する。データ取得部１３０は、データ供給部１３１、キャッシュコントローラ１３２、読取領域決定部１３３、テーブル管理部１３４、テーブル１３５を備えている。
【００１６】
ここで、データ供給部１３１は、読取領域決定部１３３により決定される後述の読取領域によって特定されるメモリ１２０の記憶領域から入力画像データを読み取ってキャッシュコントローラ１３２に供給するための要素である。キャッシュコントローラ１３２は、テーブル管理部１３４から供給される後述の管理情報によって特定される記憶部１１０の記憶領域に対する入力画像データの書き込み及び読み出しを実施するための要素である。
【００１７】
読取領域決定部１３３は、画像領域決定部１８０によって決定される後述の入力画像領域のうち、実際にメモリ１２０から読み出すべき入力画像データが記憶された記憶領域をを読取領域として決定するための要素である。テーブル管理部１３４は、記憶部１１０の記憶領域をテーブル１３５で管理するための要素である。テーブル１３５には、記憶部１１０の記憶領域のうち、入力画像データの格納が可能な空き領域と、入力画像データが格納された使用領域とを示す管理情報が更新可能に登録されている。
【００１８】
データ取得部１３０の後段に配置された歪補正部１４０は、記憶部１１０に記憶された入力画像データのうち、データ取得部１３０によって記憶部１１０から読み出された入力画像データに対して所定の歪補正処理を実施するための要素である。歪補正部１４０は、例えば所定の補間比率で入力画像を補間することにより、入力画像に含まれる歪曲収差の影響を抑圧した出力画像を生成する。ただし、この例に限定されず、歪補正部１４０による歪補正処理は、任意のアルゴリズムに基づく補正処理であり得る。
【００１９】
メモリ１５０は、歪補正部１４０により歪補正処理が施された画像データ（以下、「出力画像データ」と称す。）を格納するための要素であり、例えばＳＤＲＡＭである。メモリ１５０は、画像処理装置１００の外部メモリであってもよい。以下では、適宜、出力画像データによって形成される画像を「出力画像」と称す。
【００２０】
タイル分割部１６０は、上述の出力画像データによって形成される出力画像全体の表示領域（以下、「出力画像領域」と称す。）を、歪補正の処理単位となる複数のタイルに分割するための要素である。以下では、歪補正の処理単位となる１つのタイルに対応する出力画像上のタイルを「出力タイル」と称す。タイル分割部１６０により分割された複数の出力タイルの各サイズは互いに同一であるものとする。上述したように、出力タイルのサイズは、記憶部１１０によって構成されるラインメモリの水平方向のサイズと後段側の処理の仕様によって決定されることから、タイル分割部１６０によるタイルの分割数は、出力タイルのサイズに応じて一義的に決定される。
【００２１】
タイル分割部１６０は、分割された出力タイルの領域の情報として、出力タイルの領域に対応したメモリ１２０のアドレス空間上のアドレス情報を出力する。また、タイル分割部１６０には、入力画像データの歪補正処理において、複数の出力タイルＰ１１〜Ｐ４４のそれぞれを特定するためのカウンタが内蔵されている。
【００２２】
補正領域演算部１７０は、タイル分割部１６０によって分割された出力画像上の複数のタイルのうち、歪補正部１４０による歪補正処理の対象となる１つのタイルに対応する入力画像上の領域（第１領域）の位置および位相情報を演算するための要素である。ここで、位相情報とは、出力画像上のタイルに対応した入力画像上の領域を特定するための情報であって、ピクセルとピクセルとの間の中間位置を表す情報である。
【００２３】
以下では、歪補正処理の対象となる１つのタイルに対応する入力画像上の領域（第１領域）を「入力タイル」と称す。入力画像上の入力タイル（第１領域）は、歪曲収差の影響を含んだ歪補正前のタイルのピクセルが存在する画像領域に相当する。入力タイル（第１領域）の詳細は後述する。補正領域演算部１７０は、タイル分割部１６０によって分割された複数のタイルのそれぞれに対応する入力画像上の入力タイル（第１領域）の位置を順次的に演算する。
【００２４】
画像領域決定部１８０は、入力画像上の入力タイル（第１領域）の画像（歪補正前のタイルの画像）を歪補正するのに必要とされる入力画像データに対応した入力画像上の矩形の入力画像領域（第２領域）を決定するための要素である。入力画像上の上記入力画像領域（第２領域）は、歪補正部１４０による歪補正の処理単位となる入力画像データの集合に対応したピクセルが存在する画像領域に相当する。入力画像領域（第２領域）の詳細は後述する。以下では、入力画像領域（第２領域）の入力画像データの集合を「カーネル」と称す。
【００２５】
キャッシュ領域決定部１９０は、補正領域演算部１７０により演算された入力画像上の入力タイル（第１領域）の位置を参照して、入力画像上の入力画像領域（第２領域）のうち、キャッシュデータとして再利用すべき入力画像データを含むキャッシュ領域を決定するための要素である。前述したデータ取得部１３０は、歪補正部１４０により歪補正処理が実施された後、記憶部１１０に記憶された入力画像領域（第２領域）の画像データ（カーネル）のうち、キャッシュ領域決定部１９０により決定されたキャッシュ領域の入力画像データを記憶部１１０に残して再利用する。この場合、データ取得部１３０は、上記キャッシュ領域決定部１９０により決定されたキャッシュ領域の入力画像データを除くその他の画像データが記憶された記憶部１１０の記憶領域を開放して空き領域とする。その詳細は後述する。
【００２６】
次に、図２に示すフローに沿って、第１実施形態による画像処理装置１００の動作を説明する。
図２は、本発明の第１実施形態による画像処理装置１００の動作の流れを説明するためのフローチャートである。
ここでは、画像処理装置１００の動作の前提として、メモリ１２０には、歪補正の対象となる入力画像データが予め格納されているものとする。
【００２７】
タイル分割部１６０は、入力画像を歪補正して得られる出力画像全体の表示領域に相当する出力画像領域を複数のタイルに分割する（ステップＳＴ１）。ここで、タイル分割の対象である出力画像領域は、図示しないデジタルカメラ等の撮像装置に備えられたレンズの歪曲収差が補正された出力画像全体の領域であり、歪曲収差の影響を含まない仮想的な入力画像全体の領域に相当する。
【００２８】
図３は、本発明の第１実施形態による画像処理装置１００のタイル分割部１６０の動作（タイル分割）を説明するための図である。
図３の例では、説明の便宜上、出力画像領域Ｐが４行４列の１６個の出力タイルＰ１１〜Ｐ４４に分割されている。ただし、出力画像領域Ｐの分割数（タイルの数）は任意に設定し得る。
【００２９】
画像処理装置１００は、タイル分割された複数の出力タイルＰ１１〜Ｐ４４のそれぞれを順次的に歪補正処理の対象とするが、図２のステップＳＴ２〜ＳＴ１０は、個々のタイルの歪補正処理の過程で実施される。従って、ステップＳＴ２〜ＳＴ１０は、タイルの個数だけ繰り返し実施される。以下では、ステップＳＴ２〜ＳＴ１０の繰り返しサイクルを歪補正サイクルと称す。
【００３０】
第１実施形態では、複数の出力タイルＰ１１〜Ｐ４４を、タイル分割部１６０に内蔵されたカウンタ（図示なし）により管理し、カウンタのカウント値によって示されるタイルを現在の歪補正サイクルにおける歪補正処理の対象とする。そして、現在の歪補正サイクルが終了すると、カウンタをインクリメントし、このインクリメントされたカウント値によって示されるタイルを次回の歪補正サイクルでの歪補正処理の対象とする。ここでは、説明の便宜上、１６個の出力タイルＰ１１，Ｐ１２，Ｐ１３，Ｐ１４，…，Ｐ４１，Ｐ４２，Ｐ４３，Ｐ４４に、タウント値１，２，３，４，…，１３，１４，１５，１６が割り当てられているものとする。
【００３１】
補正領域演算部１７０は、上記カウンタのカウント値に従って、タイル分割部１６０により分割された複数の出力タイルＰ１１〜Ｐ４４のそれぞれについて、出力画像領域上の各タイルに対応する入力画像上の入力タイル（第１領域）の位置を順次演算する（ステップＳＴ２）。
【００３２】
図４は、本発明の第１実施形態による画像処理装置の補正領域演算部１７０の動作を説明するための図である。
ここで、図４において、一点鎖線は、上述の図３に示す出力タイルＰ１１〜Ｐ４４の各領域を示し、実線は、出力画像領域上の複数の出力タイルＰ１１〜Ｐ４４に対応する入力画像上の複数の入力タイルＱ１１〜Ｑ４４を示している。
【００３３】
補正領域演算部１７０は、上記カウンタのカウント値に従って、メモリ１２０に格納された歪補正の対象となる入力画像データを供給する撮像装置のレンズの光学特性を表す関数を用いて、複数の出力タイルＰ１１〜Ｐ４４に対応する入力画像上の複数の入力タイルＱ１１〜Ｑ４４の各位置を順次演算する。上記関数は、入力画像と出力画像との間の対応関係を記述する関数であり、例えば、メモリ１２０に格納された入力画像データを供給する上記撮像装置に備えられたレンズの歪曲収差による画像の歪量を表す関数である。
【００３４】
続いて、画像領域決定部１８０は、上記カウンタのカウント値に従って、入力画像上の矩形の入力画像領域（第２領域）として、図５に示す入力画像領域Ｒ１１〜Ｒ４４を順次決定する（ステップＳＴ３）。ここで、入力画像上の入力画像領域（第２領域）は、入力画像上の複数の入力タイルＱ１１〜Ｑ４４の各タイルの画像を歪補正するのに必要とされる入力画像データの集合が含まれる画像領域である。画像領域決定部１８０は、入力画像上の複数の入力タイルＱ１１〜Ｑ４４のうち、歪補正処理の対象となっているタイルに隣接する垂直方向のタイルの先頭の水平ラインの位置情報に基づいて、次に説明するキャッシュ領域に対応した入力画像領域を決定する。
【００３５】
図５は、本発明の第１実施形態による画像処理装置１００の画像領域決定部１８０の動作を説明するための図である。
ここで、図５において、実線で示す入力タイルＱ１１〜Ｑ４４は、図４に示す入力画像上の入力タイルＱ１１〜Ｑ４４であり、点線で示す入力画像領域Ｒ１１〜Ｒ１１（第２領域）には、各タイルを歪補正するために必要とされるピクセルが存在する。
【００３６】
図５を参照すると、例えば、前述の出力画像上の出力タイルＰ１１に対応する入力画像上の入力タイルＱ１１を歪補正する場合、画像領域決定部１８０は、入力タイルＱ１１を含む矩形の入力画像領域Ｒ１１（第２領域）を決定する。入力画像領域Ｒ１１の頂点位置は、次に説明するように、歪補正処理の際に入力タイルＱ１１のピクセルを補間するのに必要な所定の周辺ピクセルの入力画像データを含むように設定される。他の入力タイルＱ１２〜Ｑ４４のそれぞれについても同様に入力画像領域Ｒ１２〜Ｒ４４の各頂点位置が決定される。
【００３７】
図６は、本発明の第１実施形態による画像処理装置１００の画像領域決定部１８０の動作を補足説明するための図であり、上述の入力画像領域Ｒ１１〜Ｒ４４の各頂点位置を決定する手法の一例を示す図である。ここで、図６（Ａ）は、入力画像領域Ｒ１１の決定手法を説明するための図であり、図６（Ｂ）は、入力画像領域Ｒ１１と入力画像領域２１との重複領域を説明するための図である。
【００３８】
図６（Ａ）を参照すると、例えば入力画像領域Ｒ１１を決定する場合、画像領域決定部１８０は、入力画像上の入力タイルＱ１１を囲む入力画像領域Ｒ１１が入力タイルＱ１１の全体を囲むように、入力画像領域Ｒ１１の各辺の位置を決定する。具体的には、画像領域決定部１８０は、入力タイルＱ１１の先頭の水平ラインＬ１１と入力画像領域Ｒ１１の上辺との間の垂直方向の最小距離が歪補正処理（補間処理）に必要とされる所定の周辺のピクセル数に相当する距離になるように、入力画像領域Ｒ１１の上辺の位置を決定する。
【００３９】
また、画像領域決定部１８０は、入力タイルＱ１１の垂直方向に隣接する入力タイルＱ２１の先頭の水平ラインＬ２１と入力画像領域Ｒ１１の下辺との間の垂直方向の最小距離が歪補正処理（補間処理）に必要とされる所定の周辺のピクセル数に相当する距離になるように、入力画像領域Ｒ１１の下辺の位置を決定する。
【００４０】
入力画像領域Ｒ１１の左辺および右辺の各位置についても同様の手法で決定される。
このように、入力画像領域Ｒ１１の上辺、下辺、左辺、右辺の各位置が決定されると、入力画像領域Ｒ１１の頂点位置が確定される。他の入力画像領域Ｒ１２〜Ｒ４４の各頂点位置についても、上述の入力画像領域Ｒ１１と同様の手法を用いて決定される。
【００４１】
ここで、入力タイルＱ１１を囲む入力画像領域Ｒ１１は、入力タイルＱ１１の歪補正処理に必要な入力画像データを含む領域であり、入力タイルＱ２１を囲む入力画像領域Ｒ２１は、入力タイルＱ２１の歪補正処理に必要な入力画像データを含む領域である。入力画像領域Ｒ１１と入力画像領域Ｒ２１とが決定されると、図６（Ｂ）に示すように、入力画像領域Ｒ１１と入力画像領域Ｒ２１との重複領域Ｓが発生する。
【００４２】
仮に、入力画像領域Ｒ１１，Ｒ２１のそれぞれによって個別に特定される画像領域に含まれる入力画像データをメモリ１２０から読み出すものとすると、重複領域Ｓの入力画像データが重複して読み出されることになり、メモリ１２０から入力画像データを読み出すための処理の負担が増える。
【００４３】
そこで、第１実施形態では、例えば、入力タイルＱ１１の歪補正処理の際に、重複領域Ｓの入力画像データを記憶部１１０にキャッシュデータとして残しておく。逆に言えば、確実に使用しない入力画像データはキャッシュとして残さない。そして、入力タイルＱ２１の歪補正処理のための歪補正サイクルにおいて、入力画像領域Ｒ２１に含まれる入力タイルＱ２１の入力画像データをメモリ１２０から読み出す際に、重複領域Ｓの画像データの読み出しを省略する。換言すると、データ取得部１３０は、入力タイルＱ２１の入力画像データをメモリ１２０から読み出して記憶部１１０に記憶させる際、重複領域Ｓの入力画像データが残された記憶部１１０のキャッシュ領域の画像データを除いて、入力画像領域Ｒ２１（第２領域）の画像データをメモリ１２０から取得して記憶部１１０に記憶させる。
【００４４】
続いて、データ取得部１３０の読取領域決定部１３３は、上記カウンタのカウント値に従って、上述の入力画像領域Ｒ１１〜Ｒ４４を、歪補正に必要な入力画像データをメモリ１２０から実際に読み取るための読取領域として順次決定し、この読取領域の入力画像データをデータ供給部１３１に要求する（ステップＳＴ４）。ここで、読取領域決定部１３３は、図４または図５に示す入力タイルＱ１１〜Ｑ４４のうち、第１行目の入力タイルＱ１１〜Ｑ１４の入力画像領域Ｒ１１〜Ｒ１４について、そのまま読取領域として決定し、第２行目の入力タイルＱ２１〜Ｑ２４については、入力画像領域Ｒ２１〜Ｒ２４のそれぞれから上述の重複領域Ｓに相当する領域を除いた領域を読取領域として決定する（ステップＳＴ３）。
【００４５】
そして、読取領域決定部１３３は、第２行目の入力タイルＱ２１〜Ｑ２４については、画像領域決定部１８０により決定された入力画像領域Ｒ２１〜Ｒ４４の各入力画像データから上述の重複領域Ｓに相当する記憶部１１０のキャッシュ領域に含まれる入力画像データを除いた入力画像データをデータ供給部１３１に要求する（ステップＳＴ４）。第３行目の入力タイルＱ３１〜Ｑ３４および第４行目の入力タイルＱ４１〜Ｑ４４についても、上述の第２行目のタイルと同様である。
【００４６】
続いて、データ取得部１３０のデータ供給部１３１は、読取領域決定部１３３の上記要求に従って、第１行目の入力タイルＱ１１〜Ｑ１４については、入力画像領域Ｒ１１〜Ｒ１４に含まれる入力画像データをメモリ１２０から順次取得してキャッシュコントローラ１３２に供給し、キャッシュコントローラ１３２を通じて記憶部１１０に記憶させる（ステップＳＴ５）。
【００４７】
また、データ供給部１３１は、読取領域決定部１３３の上記要求に従って、第２行目から第４行目の入力タイルＱ２１〜Ｑ４４については、入力画像領域Ｒ２１〜Ｒ４４に含まれる入力画像データのうち、上記重複領域Ｓに対応した記憶部１１０のキャッシュ領域に含まれる入力画像データを除く入力画像データをメモリ１２０から取得して記憶部１１０に記憶させる（ステップＳＴ５）。
【００４８】
また、前述のように補正領域演算部１７０が出力画像上の複数の出力タイルＰ１１〜Ｐ４４に対応する入力画像上の入力タイルＱ１１〜Ｑ４４の各の位置を演算すると、その各領域の位置に関する情報はテーブル管理部１３４に供給される。テーブル管理部１３４は、補正領域演算部１７０から供給される入力画像上の入力タイルＱ１１〜Ｑ４４の各位置に関する情報を参照して、歪補正処理の対象となる各タイルの入力画像データに対し記憶部１１０の記憶領域の空き領域を割り当てる。
【００４９】
テーブル管理部１３４は、入力タイルＱ１１の入力画像データに割り当てられた記憶部１１０の記憶領域を示す管理情報をテーブル１３５に登録して、テーブル１３５を更新する。そして、テーブル管理部１３４は、更新されたテーブル１３５で管理される管理情報をキャッシュコントローラ１３２に供給する。他の入力タイルＱ１２〜Ｑ４４についても同様である。
【００５０】
続いて、キャッシュコントローラ１３２は、テーブル管理部１３４から供給される管理情報によって示される記憶部１１０の記憶領域から、歪補正処理の対象となる入力画像上の入力タイルＱ１１の入力画像データを読み出して歪補正部１４０に供給する（ステップＳＴ６）。他の入力タイルＱ１２〜Ｑ４４についても同様である。
【００５１】
続いて、歪補正部１４０は、キャッシュコントローラ１３２から供給された入力タイルＱ１１の入力画像データに対し所定の歪補正処理を実施し（ステップＳＴ７）、歪曲収差が補正された出力画像データを生成する。そして、歪補正部１４０は、歪補正処理が施された入力タイルＱ１１の出力画像データをメモリ１５０に記憶させる（ステップＳＴ８）。他の入力タイルＱ１２〜Ｑ４４についても同様である。
【００５２】
続いて、キャッシュ領域決定部１９０は、歪補正部１４０による入力タイルＱ１１に対する歪補正処理が終了した後、補正領域演算部１７０によって演算された複数の出力タイルＰ１１〜Ｐ４４の各タイルに対応する入力画像上の入力タイルＱ１１の位置に関する位置情報を参照して、画像領域決定部１８０により決定された入力タイルＱ１１の入力画像領域Ｒ１１（第２領域）のうち、キャッシュデータとして再利用すべき入力画像データを含むキャッシュ領域を決定する（ステップＳＴ９）。他の入力タイルＱ１２〜Ｑ４４についても同様である。
【００５３】
ここで、前述したように、再利用すべき画像データを含むキャッシュ領域は、図６に示す重複領域Ｓに対応した領域である。キャッシュ領域決定部１９０は、入力タイルＱ１１の先頭ラインの位置と入力タイルＱ２１の先頭ラインの位置とを用いて重複領域Ｓを特定し、特定された重複領域Ｓを、再利用すべき入力画像データを含むキャッシュ領域として決定する（ステップＳＴ９）。
【００５４】
続いて、テーブル管理部１３４は、キャッシュ領域決定部１９０により決定されたキャッシュ領域に再利用すべき入力画像データが格納されていることを示す管理情報をテーブル１３５に書き込み、テーブル１３５を更新する（ステップＳＴ１０）。このとき、テーブル管理部１３４は、入力タイルＱ１１の入力画像領域Ｒ１１に含まれる入力画像データのうち、上記キャッシュ領域以外の入力画像データが格納された記憶領域を開放する情報をテーブル１３５に書込み、テーブル１３５を更新する（ステップＳＴ１０）。
【００５５】
テーブル管理部１３４は、上記更新されたテーブル１３５で管理された管理情報をキャッシュコントローラ１３２に供給する。キャッシュコントローラ１３２は、記憶部１１０に記憶された入力タイルＱ１１の入力画像領域Ｒ１１の入力画像データのうち、テーブル管理部１３４から供給される管理情報によって示されるキャッシュ領域（重複領域Ｓに対応するキャッシュ領域）の入力画像データを記憶部１１０に残して再利用する。この場合、キャッシュコントローラ１３２は、テーブル管理部１３４の管理の下、上記キャッシュ領域以外の入力画像データが記憶された記憶部１１０の記憶領域を開放して空き領域とする（または、上記キャッシュ領域以外の入力画像データが記憶された記憶部１１０の記憶領域に、データ供給部１３１から新たに供給される入力画像データを上書きする）。この後、第１行目の入力タイルＱ１２〜Ｑ１４について、入力タイルＱ１１と同様に上述の一連の処理（ステップＳＴ１〜ＳＴ１０）が繰り返し実施される。
【００５６】
次に、第２行目の入力タイルＱ２１〜Ｑ２４を対象とした歪補正のための処理（ステップＳＴ１〜ＳＴ１０）が実施される。この場合、データ取得部１３０のテーブル管理部１３４は、第２行目の入力タイルＱ２１の入力画像領域Ｒ２１に含まれる入力画像データをメモリ１２０から取得する際、テーブル１３５の管理情報を参照することにより、入力タイルＱ２１の入力画像領域Ｒ２１に含まれる入力画像データのうち、上述の入力タイルＱ１１の入力画像領域Ｒ１１との重複領域Ｓの入力画像データがキャッシュデータとして記憶部１１０に既に記憶されていることを把握する。
【００５７】
そこで、テーブル管理部１３４は、重複領域Ｓの入力画像データがキャッシュデータとして記憶部１１０に既に記憶されていることを示す管理情報を読取領域決定部１３３に供給する。
読取領域決定部１３３は、テーブル管理部１３４から供給される管理情報を受けて、入力タイルＱ２１の入力画像領域Ｒ２１の読取領域を決定する際、入力画像領域Ｒ２１から重複領域Ｓを除いた残りの領域を読取領域として決定し（ステップＳＴ３）、その読取領域の入力画像データをデータ供給部１３１に要求する（ステップＳＴ４）。
【００５８】
データ供給部１３１は、読取領域決定部１３３からの要求を受け、読取領域決定部１３３により決定された読取領域に従って、入力画像領域Ｒ２１から重複領域Ｓを除いた残りの領域の入力画像データをメモリ１２０から取得してキャッシュコントローラ１３２を通じて記憶部１１０に記憶させる（ステップＳＴ５）。これにより、入力画像領域Ｒ１１と入力画像領域Ｒ２１との重複領域Ｓの入力画像データがメモリ１２０から重複して読み出されることなく、記憶部１１０には、入力タイルＱ２１の入力画像領域Ｒ２１の全ての入力画像データがキャッシュデータとして保持された状態になる。
【００５９】
キャッシュコントローラ１３２は、入力タイルＱ２１の入力画像データを記憶部１１０から読み出す（ステップＳＴ６）。歪補正部１４０は、記憶部１１０に記憶された入力タイルＱ２１の入力画像領域Ｒ２１の入力画像データをキャッシュコントローラ１３２から受け取って、入力タイルＱ２１の入力画像データを用いて歪補正処理を実施する（ステップＳＴ７）。歪補正部１４０は、歪補正された画像データをメモリ１５０に記憶させる（ステップＳＴ８）。
【００６０】
この後、入力タイルＱ２１の入力画像領域Ｒ２１の重複領域に相当するキャッシュ領域の決定とテーブル１３５の構成が、上述の第１行目と同様に行われる（ステップＳＴ９，Ｓ１０）。また、第２行目の入力タイルＱ２２〜Ｑ２４について、入力タイルＱ２１と同様に上述の一連の処理（ステップＳＴ１〜ＳＴ１０）が繰り返し実施される。
【００６１】
第２行目の入力タイルＱ２１〜Ｑ２４について歪補正処理が終了すると、第３行目の入力タイルＱ３１〜Ｑ３４と第４行目の入力タイルＱ４１〜Ｑ４４についても同様に上述の一連の処理（ステップＳＴ１〜ＳＴ１０）が実施される。この場合も上述した第２行目の入力タイルＱ２１〜Ｑ２４と同様に、入力画像領域から重複領域Ｓを除いた読出領域が決定され、この読出領域によって示される入力画像上の入力画像データが取得される。
【００６２】
従って、第１実施形態によれば、重複領域Ｓの入力画像データが重複して読み出されないので、メモリ１２０から読み出す入力画像データ量を低減することができる。このため、メモリ１２０から入力画像データを読み出すための読み出し処理の負担を軽減することができる。また、メモリ１２０から無駄な入力画像データを読み出すことがなくなるので処理速度を向上させることができると共に、低消費電力化を図ることができる。
【００６３】
また、第１実施形態によれば、重複領域Ｓに対応するキャッシュ領域以外の入力画像データが記憶された記憶部１１０の記憶領域を空き領域とするので、または、上記キャッシュ領域以外の入力画像データの記憶領域を開放するので、記憶部１１０の記憶容量を削減することができる。このため、画像処理装置１００の回路規模を抑制することができ、装置コストを低減することができる。
【００６４】
なお、従来のタイル分割法を用いた歪補正処理を、歪曲収差の影響を含む画像に適用した場合、上述した図６（Ｂ）に例示する重複領域Ｓが発生することにより、処理時間が増加すると共に消費電力が増加する。また、歪補正処理に多くのキャッシュメモリを必要とする。
【００６５】
（第２実施形態）
次に、本発明の第２実施形態を説明する。
上述した第１実施形態では、重複領域Ｓに対応した記憶部１１０のキャッシュ領域の入力画像データの積算量（厳密には、キャッシュ領域の入力画像データの積算量に、歪補正の対象となっている１タイル分の入力画像データを加えたデータ量）が記憶部１１０の記憶容量を超えると、入力画像上の各タイルの入力画像データを記憶部１１０にキャッシュデータとして保持することが困難になる状況が発生し、歪補正部１４０による歪補正処理に支障が生じる場合が起こり得る。
【００６６】
図７を参照して、歪補正に必要な入力画像データを記憶部１１０にキャッシュデータとして確保することが困難になる状況を具体的に説明する。
図７は、上述した本発明の第１実施形態による画像処理装置１００の動作上の課題を説明するための図であり、記憶部１１０にキャッシュデータとして確保することが困難になる理由を説明するための図である。
【００６７】
ここで、図７（Ａ）は、上述した図４または図５に示す入力タイルＱ１１，Ｑ２１の形状に含まれる歪曲収差の影響を誇張して表現し直した図であり、図７（Ｂ）は、上述した図４に示す入力タイルＱ１２，Ｑ２２の形状に含まれる歪曲収差の影響を誇張して表現し直した図である。図７（Ａ）に示すように、歪曲収差の影響が顕著になる画像の周辺領域に位置する入力タイルＱ１１，Ｑ２１の変形は大きくなる。
【００６８】
これに対し、図７（Ｂ）に示すように、歪曲収差の影響が少ない画像の中心に近い領域に位置する入力タイルＱ１１，Ｑ２１の変形が小さくなる。このため、画像の周辺領域に位置する入力タイルＱ１２の入力画像領域Ｒ１１と入力タイルＱ２１の入力画像領域Ｒ２１との間の重複領域Ｓ１の面積は、画像の中心に近い領域に位置する入力タイルＱ１２の入力画像領域Ｒ１２とＱ２２の入力画像領域Ｒ２２との間の重複領域Ｓ２の面積よりも大きくなる傾向を示す。
【００６９】
図８は、上述した本発明の第１実施形態による画像処理装置１００の動作上の課題を補足説明するための図であり、上述の入力画像領域の重複領域Ｓ（Ｓ１，Ｓ２）に対応する記憶部１１０のキャッシュ領域の入力画像データの積算量と入力画像の水平方向における各タイルの位置との間の関係を示している。図８において、横軸の左手方向は、画像の左手方向を指し、横軸の右手方向は、画像の右手方向を指している。
【００７０】
図８の例では、入力画像データの積算量を表す１２本の柱が示されているが、各柱は、例えば図４または図５に例示する第１行目の入力タイルＱ１１〜Ｑ１４のうち、先頭の入力タイルＱ１１から歪補正処理の対象となっているタイルまでの重複領域Ｓに対応した記憶部１１０のキャッシュ領域の入力画像データの積算量を表している。
【００７１】
図８において、画像の左手周辺の領域Ａに示す矢印（点線）の傾きに表されているように、画像の左手周辺の領域Ａでは、図７（Ａ）に例示するようにタイルの変形量が大きくなるため、記憶部１１０の上記キャッシュ領域の入力画像データの積算量の増加率は大きくなる傾向を示す。右手周辺の領域Ｃについても同様の傾向を示す。これに対し、画像の中心付近の領域Ｂでは、タイルの変形量が小さいため、記憶部１１０の上記キャッシュ領域の入力画像データの積算量の増加率が小さくなる傾向を示す。
【００７２】
図８の例では、右手方向の領域Ｃにおいて、記憶部１１０のキャッシュ領域の入力画像データの積算量の増加率が急激に大きくなる。このため、歪補正処理の対象が領域Ｂから領域Ｃに位置するタイルに移行すると、記憶部１１０にキャッシュデータとして記憶される入力画像データが加速度的に増える。この場合、歪補正処理に必要な入力画像データを記憶部１１０にキャッシュデータとして確保することが困難になる可能性が急激に高まることになる。
【００７３】
そこで、第２実施形態では、データ取得部１３０は、重複領域Ｓに対応したキャッシュ領域の入力画像データの積算量が所定値ＴＨを超えた場合、重複領域Ｓに対応したキャッシュ領域の入力画像データを記憶部１１０に残さず、記憶部１１０の記憶領域の全てをカーネルに割り当てる。ここで、所定値ＴＨは、記憶部１１０の全記憶容量に安全率を乗じた入力画像データ量であり、一例として、記憶部１１０の全記憶容量の８０パーセントのデータ量を示す値である。ただし、所定値ＴＨは任意に設定し得る。
【００７４】
次に、図９に示すフローに沿って、第２実施形態による画像処理装置１００の動作を説明する。
第２実施形態では、上述した第１実施形態の図１から図５を援用する。また、図９に示すステップのうち、ステップＳＴ８Ａを除けば、第２実施形態による画像処理装置１００の動作フローは第１実施形態と同様であり、ここではステップＳＴ８Ａに着目して説明する。
【００７５】
概略的には、第２実施形態では、データ取得部１３０は、記憶部１１０に記憶された上記重複領域Ｓに対応したキャッシュ領域の入力画像データの積算量に基づいて、次の歪補正処理の際に記憶部１１０に上記重複領域Ｓの入力画像データのためのキャッシュ領域を確保することができるか否かを判定し、上記キャッシュ領域を確保することができない場合、記憶部１１０に上記キャッシュ領域の画像データを記憶部１１０に記憶させない。その他は、第１実施形態と同様である。
【００７６】
ステップＳＴ８Ａに着目して詳細に説明すると、第１実施形態と同様に歪補正部１４０が歪補正された画像データがメモリ１５０に記憶されると（ステップＳＴ８）、データ取得部１３０のテーブル管理部１３４は、テーブル１３５を参照して、記憶部１１０の全記憶領域のうち、使用されている記憶領域のデータ量が所定値ＴＨを超えていないかどうか、即ち、次回の歪補正処理で使用される重複領域Ｓの入力画像データを記憶させるためのキャッシュ領域を確保することが可能か否かを判定する（ステップＳＴ８Ａ）。
【００７７】
キャッシュ領域決定部１９０は、歪補正部１４０による入力タイルＱ１１に対する歪補正処理が終了した後、次回の歪補正サイクルで使用される重複領域Ｓ（Ｓ１，Ｓ２）に対応するキャッシュ領域を確保することが可能である場合（ステップＳＴ８Ａ；ＹＥＳ）、補正領域演算部１７０によって演算された複数の出力タイルＰ１１〜Ｐ４４の各タイルに対応する入力画像上の入力タイルの位置に関する位置情報を参照して、画像領域決定部１８０により決定された入力タイルＱ１１の入力画像領域Ｒ１１（第２領域）のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定する（ステップＳＴ９）。
【００７８】
データ取得部１３０のテーブル管理部１３４は、キャッシュ領域決定部１９０により決定されたキャッシュ領域に再利用すべき入力画像データが格納されていることを示す管理情報をテーブル１３５に書き込むと共に、上記キャッシュ領域以外の入力画像データが格納された記憶領域を開放する旨を示す管理情報をテーブル１３５に書き込んで、テーブル１３５を更新する（ステップＳＴ１０）。
【００７９】
これに対し、記憶部１１０の全記憶領域のうち、使用されている記憶領域のデータ量が所定値ＴＨを超えており、次回の歪補正処理で使用される重複領域Ｓに対応するキャッシュ領域を確保することができない場合（ステップＳＴ８Ａ；ＮＯ）、テーブル管理部１３４は、記憶部１１０の全記憶領域を、歪補正対象のタイルの入力画像領域の入力画像データ（カーネル）を記憶するために使用し、歪補正処理の後、重複領域Ｓに対応するキャッシュ領域の入力画像データを残さない。
その他は第１実施形態と同様である。
【００８０】
従って、第２実施形態によれば、記憶部１１０に重複領域Ｓに対応したキャッシュ領域を確保することができない状況になると、記憶部１１０の記憶領域の全てがカーネルの記憶領域に割り当てられるので、歪補正部１４０による歪補正処理に支障を生じることがなくなる。よって、全てのタイルの歪補正処理を安定的に実施することが可能になる。
【００８１】
また、第２実施形態によれば、記憶部１１０に重複領域Ｓに対応したキャッシュ領域を確保することが可能な状況においては、上述した第１実施形態と同様に、メモリ１２０からの無駄な入力画像データの読み出しを抑制する効果を得ることができる。
【００８２】
上述した実施形態では、本発明を画像処理装置として表現したが、本発明は、画像処理方法として表現することもできる。この場合、本発明による画像処理方法は、出力画像領域を複数のタイルに分割する第１段階と、前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第１領域を演算する第２段階と、前記第１領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第２領域を決定する第３段階と、前記第２領域の画像データを取得して記憶部にキャッシュデータとして記憶させる第４段階と、前記記憶部に記憶された前記第２領域の画像データに対して前記歪補正処理を実施する第５段階と、前記第１領域の位置情報を参照して、前記第２領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定する第６段階と、を含み、前記第４段階では、更に、前記歪補正処理が実施された後、前記記憶部に記憶された前記第２領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放する、画像処理方法として表現することができる。
【００８３】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で、種々の変形、修正、置換などが可能である。
例えば、上述の実施形態では、本発明を画像処理装置として表現したが、本発明は、例えば歪補正装置、歪補正回路、歪補正方法等として表現することもできる。
【符号の説明】
【００８４】
１００…画像処理装置、１１０…記憶部、１２０…メモリ、１３０…データ取得部、１３１…データ供給部、１３２…キャッシュコントローラ、１３３…読取領域決定部、１３４…テーブル管理部、１３５…テーブル、１４０…歪補正部、１５０…メモリ、１６０…タイル分割部、１７０…補正領域演算部、１８０…画像領域決定部、ＳＴ１〜ＳＴ１０，ＳＴ８Ａ…処理ステップ。
【図１】
0006648985.tif 000002
【図２】
0006648985.tif 000003
【図３】
0006648985.tif 000004
【図４】
0006648985.tif 000005
【図５】
0006648985.tif 000006
【図６】
0006648985.tif 000007
【図７】
0006648985.tif 000008
【図８】
0006648985.tif 000009
【図９】
0006648985.tif 000010