特許第6648985号(P6648985)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ハンファテクウィン株式会社の特許一覧

<>
  • 特許6648985-画像処理装置および画像処理方法 図000002
  • 特許6648985-画像処理装置および画像処理方法 図000003
  • 特許6648985-画像処理装置および画像処理方法 図000004
  • 特許6648985-画像処理装置および画像処理方法 図000005
  • 特許6648985-画像処理装置および画像処理方法 図000006
  • 特許6648985-画像処理装置および画像処理方法 図000007
  • 特許6648985-画像処理装置および画像処理方法 図000008
  • 特許6648985-画像処理装置および画像処理方法 図000009
  • 特許6648985-画像処理装置および画像処理方法 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6648985
(24)【登録日】2020年1月20日
(45)【発行日】2020年2月19日
(54)【発明の名称】画像処理装置および画像処理方法
(51)【国際特許分類】
   G06T 3/00 20060101AFI20200210BHJP
   G06T 1/60 20060101ALI20200210BHJP
   H04N 5/232 20060101ALI20200210BHJP
【FI】
   G06T3/00 710
   G06T1/60 450D
   H04N5/232
【請求項の数】4
【全頁数】17
(21)【出願番号】特願2015-100972(P2015-100972)
(22)【出願日】2015年5月18日
(65)【公開番号】特開2016-218612(P2016-218612A)
(43)【公開日】2016年12月22日
【審査請求日】2018年4月12日
(73)【特許権者】
【識別番号】518455561
【氏名又は名称】ハンファテクウィン株式会社
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(72)【発明者】
【氏名】田岡 峰樹
【審査官】 山田 辰美
(56)【参考文献】
【文献】 特開2011−002940(JP,A)
【文献】 特開2010−263475(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/00
G06T 1/60
H04N 5/232
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
出力画像領域を複数のタイルに分割する分割部と、
前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第1領域を演算する補正領域演算部と、
前記第1領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第2領域を決定する画像領域決定部と、
前記第2領域の画像データを取得して記憶部にキャッシュデータとして記憶させるデータ取得部と、
前記記憶部に記憶された前記第2領域の画像データに対して前記歪補正処理を実施する歪補正部と、
前記第1領域の位置情報を参照して、前記第2領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定するキャッシュ領域決定部と、
を備え、
前記データ取得部は、更に、前記歪補正処理が実施された後、前記記憶部にキャッシュデータとして記憶された画像データの積算量に基づいて、前記記憶部に前記キャッシュ領域を確保することができるか否かを判定し、前記記憶部に前記キャッシュ領域を確保できる場合、前記記憶部に記憶された前記第2領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放し、前記記憶部に前記キャッシュ領域を確保することができない場合、前記記憶部の全記憶領域を前記第2領域の画像データを記憶するために使用し、前記記憶部に前記キャッシュ領域の画像データを残さない、画像処理装置。
【請求項2】
前記データ取得部は、前記記憶部に前記キャッシュ領域を確保できる場合、前記キャッシュ領域の画像データを除く前記第2領域の画像データを取得して前記記憶部に記憶させる、請求項1に記載の画像処理装置。
【請求項3】
前記画像領域決定部は、前記複数のタイルのうち、前記歪補正処理の対象となっているタイルに隣接するタイルの先頭ラインの位置情報に基づいて前記キャッシュ領域を決定することを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
出力画像領域を複数のタイルに分割する第1段階と、
前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第1領域を演算する第2段階と、
前記第1領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第2領域を決定する第3段階と、
前記第2領域の画像データを取得して記憶部にキャッシュデータとして記憶させる第4段階と、
前記記憶部に記憶された前記第2領域の画像データに対して前記歪補正処理を実施する第5段階と、
前記記憶部にキャッシュデータとして記憶された画像データの積算量に基づいて、前記記憶部にキャッシュ領域を確保することができるか否かを判定する第6段階と、
前記記憶部に前記キャッシュ領域を確保できる場合、前記第1領域の位置情報を参照して、前記第2領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定する第段階と、
前記記憶部に記憶された前記第2領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放する第8段階と、
前記記憶部に前記キャッシュ領域を確保できない場合、前記記憶部の全記憶領域を前記第2領域の画像データを記憶するために使用し、前記記憶部に前記キャッシュ領域の画像データを残さない第9段階と、
を含、画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関し、例えば歪曲収差の影響を含む画像の歪補正に好適な画像処理技術に関する。
【背景技術】
【0002】
従来、レンズの歪曲収差を補正する画像処理装置がある(特許文献1参照)。この種の画像処理装置では、歪補正後の出力画像に必要な領域を算出し、歪曲収差を有する入力画像が格納されたメモリから、上記出力画像に対応する入力画像領域の画像データを読み出して歪補正する。この場合、回路規模を削減する目的で、出力画像の領域が所謂タイルと呼ばれる複数の矩形の領域に分割され、タイル単位で歪補正処理を実施することが行われている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−43060号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述の従来技術によれば、各タイルの歪補正処理を実施する場合、歪補正に用いる入力画像データとして、実際のタイルよりも大きい入力画像領域の画像データを上記メモリから読み出す必要がある。この場合、隣り合うタイル間で入力画像領域が重複するため、入力画像領域の画像データがメモリから重複して読み出される。このため、入力画像が格納されたメモリから画像データを読み出す頻度が増え、画像データを読み出すための処理の負担が増加するという問題がある。
【0005】
本発明は、上記事情に鑑みてなされたものであり、歪補正に用いる画像データの重複した読み出しを抑制することができる画像処理装置および画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様による画像処理装置は、出力画像領域を複数のタイルに分割する分割部と、前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第1領域を演算する補正領域演算部と、前記第1領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第2領域を決定する画像領域決定部と、前記第2領域の画像データを取得して記憶部にキャッシュデータとして記憶させるデータ取得部と、前記記憶部に記憶された前記第2領域の画像データに対して前記歪補正処理を実施する歪補正部と、前記第1領域の位置情報を参照して、前記第2領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定するキャッシュ領域決定部と、を備え、前記データ取得部は、更に、前記歪補正処理が実施された後、前記記憶部に記憶された前記第2領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放する、画像処理装置の構成を有する。
【0007】
前記データ取得部は、例えば、前記キャッシュ領域の画像データを除く前記第2領域の画像データを取得して前記記憶部に記憶させる。
前記画像領域決定部は、例えば、前記複数のタイルのうち、前記歪補正処理の対象となっているタイルに隣接するタイルの先頭ラインの位置情報に基づいて前記キャッシュ領域を決定する。
前記データ取得部は、例えば、前記記憶部にキャッシュデータとして記憶された画像データの積算量に基づいて、前記記憶部に前記キャッシュ領域を確保することができるか否かを判定し、前記キャッシュ領域を確保することができない場合、前記記憶部に前記キャッシュ領域の画像データを記憶させない。
【0008】
本発明の一態様による画像処理方法は、出力画像領域を複数のタイルに分割する第1段階と、前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第1領域を演算する第2段階と、前記第1領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第2領域を決定する第3段階と、前記第2領域の画像データを取得して記憶部にキャッシュデータとして記憶させる第4段階と、前記記憶部に記憶された前記第2領域の画像データに対して前記歪補正処理を実施する第5段階と、前記第1領域の位置情報を参照して、前記第2領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定する第6段階と、を含み、前記第4段階では、更に、前記歪補正処理が実施された後、前記記憶部に記憶された前記第2領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放する、画像処理方法の構成を有する。
【発明の効果】
【0009】
本発明によれば、歪補正に用いる画像データの重複した読み出しを抑制することができる。
【図面の簡単な説明】
【0010】
図1】本発明の第1実施形態による画像処理装置の構成例を示すブロック図である。
図2】本発明の第1実施形態による画像処理装置の動作の流れを説明するためのフローチャートである。
図3】本発明の第1実施形態による画像処理装置のタイル分割部の動作(タイル分割)を説明するための図である。
図4】本発明の第1実施形態による画像処理装置の補正領域演算部の動作を説明するための図である。
図5】本発明の第1実施形態による画像処理装置の画像領域決定部の動作を説明するための図である。
図6】本発明の第1実施形態による画像処理装置の画像領域決定部の動作を補足説明するための図であり、(A)は、入力画像領域の決定手法を説明するための図であり、(B)は、入力画像領域の重複領域を説明するための図である。
図7】本発明の第1実施形態による画像処理装置の動作上の課題を説明するための図であり、(A)は、上述した図4または図5に示す入力タイルの形状に含まれる歪曲収差の影響を誇張して表現し直した図であり、(B)は、上述した図4に示す入力タイルの形状に含まれる歪曲収差の影響を誇張して表現し直した図である。
図8】本発明の第1実施形態による画像処理装置の動作上の課題を補足説明するための図である。
図9】本発明の第2実施形態による画像処理装置の動作の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら、本発明の実施形態を説明する。
(第1実施形態)
図1は、本発明の第1実施形態による画像処理装置100の構成例を示すブロック図である。画像処理装置100は、出力画像領域を複数のタイルに分割し、タイルごとに入力画像データに対する歪補正を実施する装置であり、記憶部110、メモリ120、データ取得部130、歪補正部140、メモリ150、タイル分割部160、補正領域演算部170、画像領域決定部180、キャッシュ領域決定部190を備えている。ここで、タイルとは、歪補正の処理単位となる画像領域を指す。
【0012】
記憶部110は、入力画像を形成する画像データ(以下、「入力画像データ」と称す。)を一時的に保持するためのラインメモリであり、例えば複数のSRAM(Static Random Access Memory)から構成される。記憶部110は、画像処理装置100の外部メモリであってもよい。メモリ120は、入力画像データが予め格納されたメモリであり、例えばSDRAM(Synchronous Dynamic Random Access Memory)である。メモリ120は、画像処理装置100の外部メモリであってもよい。
【0013】
ここで、入力画像データによって形成される入力画像は、図示しないデジタルカメラ等の撮像装置により得られた撮像画像であり、その撮像装置に備えられたレンズの歪曲収差を含む光学特性の影響を含んでいる。入力画像を形成する入力画像データは、画像処理装置100の歪補正部140による歪補正処理の対象となる画像データである。
【0014】
タイルの水平方向のサイズは、記憶部110によって構成されるラインメモリの水平方向のサイズによって定まり、例えば512ピクセル分のサイズである。また、タイルの垂直方向のサイズは、画像処理装置100の後段側の処理の仕様によって定まり、後段側の処理としてJPEG(Joint Photographic Experts Group)標準のコーデック処理を想定した場合、タイルの垂直方向のサイズは例えば8ピクセルである。ただし、この例に限定されず、タイルのサイズは任意に設定し得る。
【0015】
データ取得部130は、記憶部110およびメモリ120に対する入力画像データの書き込み及び読み出しを実施するための要素である。データ取得部130は、タイル単位でメモリ120から入力画像データを取得して記憶部110にキャッシュデータとして記憶させると共に、記憶部110から入力画像データを読み出して歪補正部140に供給する。データ取得部130は、データ供給部131、キャッシュコントローラ132、読取領域決定部133、テーブル管理部134、テーブル135を備えている。
【0016】
ここで、データ供給部131は、読取領域決定部133により決定される後述の読取領域によって特定されるメモリ120の記憶領域から入力画像データを読み取ってキャッシュコントローラ132に供給するための要素である。キャッシュコントローラ132は、テーブル管理部134から供給される後述の管理情報によって特定される記憶部110の記憶領域に対する入力画像データの書き込み及び読み出しを実施するための要素である。
【0017】
読取領域決定部133は、画像領域決定部180によって決定される後述の入力画像領域のうち、実際にメモリ120から読み出すべき入力画像データが記憶された記憶領域をを読取領域として決定するための要素である。テーブル管理部134は、記憶部110の記憶領域をテーブル135で管理するための要素である。テーブル135には、記憶部110の記憶領域のうち、入力画像データの格納が可能な空き領域と、入力画像データが格納された使用領域とを示す管理情報が更新可能に登録されている。
【0018】
データ取得部130の後段に配置された歪補正部140は、記憶部110に記憶された入力画像データのうち、データ取得部130によって記憶部110から読み出された入力画像データに対して所定の歪補正処理を実施するための要素である。歪補正部140は、例えば所定の補間比率で入力画像を補間することにより、入力画像に含まれる歪曲収差の影響を抑圧した出力画像を生成する。ただし、この例に限定されず、歪補正部140による歪補正処理は、任意のアルゴリズムに基づく補正処理であり得る。
【0019】
メモリ150は、歪補正部140により歪補正処理が施された画像データ(以下、「出力画像データ」と称す。)を格納するための要素であり、例えばSDRAMである。メモリ150は、画像処理装置100の外部メモリであってもよい。以下では、適宜、出力画像データによって形成される画像を「出力画像」と称す。
【0020】
タイル分割部160は、上述の出力画像データによって形成される出力画像全体の表示領域(以下、「出力画像領域」と称す。)を、歪補正の処理単位となる複数のタイルに分割するための要素である。以下では、歪補正の処理単位となる1つのタイルに対応する出力画像上のタイルを「出力タイル」と称す。タイル分割部160により分割された複数の出力タイルの各サイズは互いに同一であるものとする。上述したように、出力タイルのサイズは、記憶部110によって構成されるラインメモリの水平方向のサイズと後段側の処理の仕様によって決定されることから、タイル分割部160によるタイルの分割数は、出力タイルのサイズに応じて一義的に決定される。
【0021】
タイル分割部160は、分割された出力タイルの領域の情報として、出力タイルの領域に対応したメモリ120のアドレス空間上のアドレス情報を出力する。また、タイル分割部160には、入力画像データの歪補正処理において、複数の出力タイルP11〜P44のそれぞれを特定するためのカウンタが内蔵されている。
【0022】
補正領域演算部170は、タイル分割部160によって分割された出力画像上の複数のタイルのうち、歪補正部140による歪補正処理の対象となる1つのタイルに対応する入力画像上の領域(第1領域)の位置および位相情報を演算するための要素である。ここで、位相情報とは、出力画像上のタイルに対応した入力画像上の領域を特定するための情報であって、ピクセルとピクセルとの間の中間位置を表す情報である。
【0023】
以下では、歪補正処理の対象となる1つのタイルに対応する入力画像上の領域(第1領域)を「入力タイル」と称す。入力画像上の入力タイル(第1領域)は、歪曲収差の影響を含んだ歪補正前のタイルのピクセルが存在する画像領域に相当する。入力タイル(第1領域)の詳細は後述する。補正領域演算部170は、タイル分割部160によって分割された複数のタイルのそれぞれに対応する入力画像上の入力タイル(第1領域)の位置を順次的に演算する。
【0024】
画像領域決定部180は、入力画像上の入力タイル(第1領域)の画像(歪補正前のタイルの画像)を歪補正するのに必要とされる入力画像データに対応した入力画像上の矩形の入力画像領域(第2領域)を決定するための要素である。入力画像上の上記入力画像領域(第2領域)は、歪補正部140による歪補正の処理単位となる入力画像データの集合に対応したピクセルが存在する画像領域に相当する。入力画像領域(第2領域)の詳細は後述する。以下では、入力画像領域(第2領域)の入力画像データの集合を「カーネル」と称す。
【0025】
キャッシュ領域決定部190は、補正領域演算部170により演算された入力画像上の入力タイル(第1領域)の位置を参照して、入力画像上の入力画像領域(第2領域)のうち、キャッシュデータとして再利用すべき入力画像データを含むキャッシュ領域を決定するための要素である。前述したデータ取得部130は、歪補正部140により歪補正処理が実施された後、記憶部110に記憶された入力画像領域(第2領域)の画像データ(カーネル)のうち、キャッシュ領域決定部190により決定されたキャッシュ領域の入力画像データを記憶部110に残して再利用する。この場合、データ取得部130は、上記キャッシュ領域決定部190により決定されたキャッシュ領域の入力画像データを除くその他の画像データが記憶された記憶部110の記憶領域を開放して空き領域とする。その詳細は後述する。
【0026】
次に、図2に示すフローに沿って、第1実施形態による画像処理装置100の動作を説明する。
図2は、本発明の第1実施形態による画像処理装置100の動作の流れを説明するためのフローチャートである。
ここでは、画像処理装置100の動作の前提として、メモリ120には、歪補正の対象となる入力画像データが予め格納されているものとする。
【0027】
タイル分割部160は、入力画像を歪補正して得られる出力画像全体の表示領域に相当する出力画像領域を複数のタイルに分割する(ステップST1)。ここで、タイル分割の対象である出力画像領域は、図示しないデジタルカメラ等の撮像装置に備えられたレンズの歪曲収差が補正された出力画像全体の領域であり、歪曲収差の影響を含まない仮想的な入力画像全体の領域に相当する。
【0028】
図3は、本発明の第1実施形態による画像処理装置100のタイル分割部160の動作(タイル分割)を説明するための図である。
図3の例では、説明の便宜上、出力画像領域Pが4行4列の16個の出力タイルP11〜P44に分割されている。ただし、出力画像領域Pの分割数(タイルの数)は任意に設定し得る。
【0029】
画像処理装置100は、タイル分割された複数の出力タイルP11〜P44のそれぞれを順次的に歪補正処理の対象とするが、図2のステップST2〜ST10は、個々のタイルの歪補正処理の過程で実施される。従って、ステップST2〜ST10は、タイルの個数だけ繰り返し実施される。以下では、ステップST2〜ST10の繰り返しサイクルを歪補正サイクルと称す。
【0030】
第1実施形態では、複数の出力タイルP11〜P44を、タイル分割部160に内蔵されたカウンタ(図示なし)により管理し、カウンタのカウント値によって示されるタイルを現在の歪補正サイクルにおける歪補正処理の対象とする。そして、現在の歪補正サイクルが終了すると、カウンタをインクリメントし、このインクリメントされたカウント値によって示されるタイルを次回の歪補正サイクルでの歪補正処理の対象とする。ここでは、説明の便宜上、16個の出力タイルP11,P12,P13,P14,…,P41,P42,P43,P44に、タウント値1,2,3,4,…,13,14,15,16が割り当てられているものとする。
【0031】
補正領域演算部170は、上記カウンタのカウント値に従って、タイル分割部160により分割された複数の出力タイルP11〜P44のそれぞれについて、出力画像領域上の各タイルに対応する入力画像上の入力タイル(第1領域)の位置を順次演算する(ステップST2)。
【0032】
図4は、本発明の第1実施形態による画像処理装置の補正領域演算部170の動作を説明するための図である。
ここで、図4において、一点鎖線は、上述の図3に示す出力タイルP11〜P44の各領域を示し、実線は、出力画像領域上の複数の出力タイルP11〜P44に対応する入力画像上の複数の入力タイルQ11〜Q44を示している。
【0033】
補正領域演算部170は、上記カウンタのカウント値に従って、メモリ120に格納された歪補正の対象となる入力画像データを供給する撮像装置のレンズの光学特性を表す関数を用いて、複数の出力タイルP11〜P44に対応する入力画像上の複数の入力タイルQ11〜Q44の各位置を順次演算する。上記関数は、入力画像と出力画像との間の対応関係を記述する関数であり、例えば、メモリ120に格納された入力画像データを供給する上記撮像装置に備えられたレンズの歪曲収差による画像の歪量を表す関数である。
【0034】
続いて、画像領域決定部180は、上記カウンタのカウント値に従って、入力画像上の矩形の入力画像領域(第2領域)として、図5に示す入力画像領域R11〜R44を順次決定する(ステップST3)。ここで、入力画像上の入力画像領域(第2領域)は、入力画像上の複数の入力タイルQ11〜Q44の各タイルの画像を歪補正するのに必要とされる入力画像データの集合が含まれる画像領域である。画像領域決定部180は、入力画像上の複数の入力タイルQ11〜Q44のうち、歪補正処理の対象となっているタイルに隣接する垂直方向のタイルの先頭の水平ラインの位置情報に基づいて、次に説明するキャッシュ領域に対応した入力画像領域を決定する。
【0035】
図5は、本発明の第1実施形態による画像処理装置100の画像領域決定部180の動作を説明するための図である。
ここで、図5において、実線で示す入力タイルQ11〜Q44は、図4に示す入力画像上の入力タイルQ11〜Q44であり、点線で示す入力画像領域R11〜R11(第2領域)には、各タイルを歪補正するために必要とされるピクセルが存在する。
【0036】
図5を参照すると、例えば、前述の出力画像上の出力タイルP11に対応する入力画像上の入力タイルQ11を歪補正する場合、画像領域決定部180は、入力タイルQ11を含む矩形の入力画像領域R11(第2領域)を決定する。入力画像領域R11の頂点位置は、次に説明するように、歪補正処理の際に入力タイルQ11のピクセルを補間するのに必要な所定の周辺ピクセルの入力画像データを含むように設定される。他の入力タイルQ12〜Q44のそれぞれについても同様に入力画像領域R12〜R44の各頂点位置が決定される。
【0037】
図6は、本発明の第1実施形態による画像処理装置100の画像領域決定部180の動作を補足説明するための図であり、上述の入力画像領域R11〜R44の各頂点位置を決定する手法の一例を示す図である。ここで、図6(A)は、入力画像領域R11の決定手法を説明するための図であり、図6(B)は、入力画像領域R11と入力画像領域21との重複領域を説明するための図である。
【0038】
図6(A)を参照すると、例えば入力画像領域R11を決定する場合、画像領域決定部180は、入力画像上の入力タイルQ11を囲む入力画像領域R11が入力タイルQ11の全体を囲むように、入力画像領域R11の各辺の位置を決定する。具体的には、画像領域決定部180は、入力タイルQ11の先頭の水平ラインL11と入力画像領域R11の上辺との間の垂直方向の最小距離が歪補正処理(補間処理)に必要とされる所定の周辺のピクセル数に相当する距離になるように、入力画像領域R11の上辺の位置を決定する。
【0039】
また、画像領域決定部180は、入力タイルQ11の垂直方向に隣接する入力タイルQ21の先頭の水平ラインL21と入力画像領域R11の下辺との間の垂直方向の最小距離が歪補正処理(補間処理)に必要とされる所定の周辺のピクセル数に相当する距離になるように、入力画像領域R11の下辺の位置を決定する。
【0040】
入力画像領域R11の左辺および右辺の各位置についても同様の手法で決定される。
このように、入力画像領域R11の上辺、下辺、左辺、右辺の各位置が決定されると、入力画像領域R11の頂点位置が確定される。他の入力画像領域R12〜R44の各頂点位置についても、上述の入力画像領域R11と同様の手法を用いて決定される。
【0041】
ここで、入力タイルQ11を囲む入力画像領域R11は、入力タイルQ11の歪補正処理に必要な入力画像データを含む領域であり、入力タイルQ21を囲む入力画像領域R21は、入力タイルQ21の歪補正処理に必要な入力画像データを含む領域である。入力画像領域R11と入力画像領域R21とが決定されると、図6(B)に示すように、入力画像領域R11と入力画像領域R21との重複領域Sが発生する。
【0042】
仮に、入力画像領域R11,R21のそれぞれによって個別に特定される画像領域に含まれる入力画像データをメモリ120から読み出すものとすると、重複領域Sの入力画像データが重複して読み出されることになり、メモリ120から入力画像データを読み出すための処理の負担が増える。
【0043】
そこで、第1実施形態では、例えば、入力タイルQ11の歪補正処理の際に、重複領域Sの入力画像データを記憶部110にキャッシュデータとして残しておく。逆に言えば、確実に使用しない入力画像データはキャッシュとして残さない。そして、入力タイルQ21の歪補正処理のための歪補正サイクルにおいて、入力画像領域R21に含まれる入力タイルQ21の入力画像データをメモリ120から読み出す際に、重複領域Sの画像データの読み出しを省略する。換言すると、データ取得部130は、入力タイルQ21の入力画像データをメモリ120から読み出して記憶部110に記憶させる際、重複領域Sの入力画像データが残された記憶部110のキャッシュ領域の画像データを除いて、入力画像領域R21(第2領域)の画像データをメモリ120から取得して記憶部110に記憶させる。
【0044】
続いて、データ取得部130の読取領域決定部133は、上記カウンタのカウント値に従って、上述の入力画像領域R11〜R44を、歪補正に必要な入力画像データをメモリ120から実際に読み取るための読取領域として順次決定し、この読取領域の入力画像データをデータ供給部131に要求する(ステップST4)。ここで、読取領域決定部133は、図4または図5に示す入力タイルQ11〜Q44のうち、第1行目の入力タイルQ11〜Q14の入力画像領域R11〜R14について、そのまま読取領域として決定し、第2行目の入力タイルQ21〜Q24については、入力画像領域R21〜R24のそれぞれから上述の重複領域Sに相当する領域を除いた領域を読取領域として決定する(ステップST3)。
【0045】
そして、読取領域決定部133は、第2行目の入力タイルQ21〜Q24については、画像領域決定部180により決定された入力画像領域R21〜R44の各入力画像データから上述の重複領域Sに相当する記憶部110のキャッシュ領域に含まれる入力画像データを除いた入力画像データをデータ供給部131に要求する(ステップST4)。第3行目の入力タイルQ31〜Q34および第4行目の入力タイルQ41〜Q44についても、上述の第2行目のタイルと同様である。
【0046】
続いて、データ取得部130のデータ供給部131は、読取領域決定部133の上記要求に従って、第1行目の入力タイルQ11〜Q14については、入力画像領域R11〜R14に含まれる入力画像データをメモリ120から順次取得してキャッシュコントローラ132に供給し、キャッシュコントローラ132を通じて記憶部110に記憶させる(ステップST5)。
【0047】
また、データ供給部131は、読取領域決定部133の上記要求に従って、第2行目から第4行目の入力タイルQ21〜Q44については、入力画像領域R21〜R44に含まれる入力画像データのうち、上記重複領域Sに対応した記憶部110のキャッシュ領域に含まれる入力画像データを除く入力画像データをメモリ120から取得して記憶部110に記憶させる(ステップST5)。
【0048】
また、前述のように補正領域演算部170が出力画像上の複数の出力タイルP11〜P44に対応する入力画像上の入力タイルQ11〜Q44の各の位置を演算すると、その各領域の位置に関する情報はテーブル管理部134に供給される。テーブル管理部134は、補正領域演算部170から供給される入力画像上の入力タイルQ11〜Q44の各位置に関する情報を参照して、歪補正処理の対象となる各タイルの入力画像データに対し記憶部110の記憶領域の空き領域を割り当てる。
【0049】
テーブル管理部134は、入力タイルQ11の入力画像データに割り当てられた記憶部110の記憶領域を示す管理情報をテーブル135に登録して、テーブル135を更新する。そして、テーブル管理部134は、更新されたテーブル135で管理される管理情報をキャッシュコントローラ132に供給する。他の入力タイルQ12〜Q44についても同様である。
【0050】
続いて、キャッシュコントローラ132は、テーブル管理部134から供給される管理情報によって示される記憶部110の記憶領域から、歪補正処理の対象となる入力画像上の入力タイルQ11の入力画像データを読み出して歪補正部140に供給する(ステップST6)。他の入力タイルQ12〜Q44についても同様である。
【0051】
続いて、歪補正部140は、キャッシュコントローラ132から供給された入力タイルQ11の入力画像データに対し所定の歪補正処理を実施し(ステップST7)、歪曲収差が補正された出力画像データを生成する。そして、歪補正部140は、歪補正処理が施された入力タイルQ11の出力画像データをメモリ150に記憶させる(ステップST8)。他の入力タイルQ12〜Q44についても同様である。
【0052】
続いて、キャッシュ領域決定部190は、歪補正部140による入力タイルQ11に対する歪補正処理が終了した後、補正領域演算部170によって演算された複数の出力タイルP11〜P44の各タイルに対応する入力画像上の入力タイルQ11の位置に関する位置情報を参照して、画像領域決定部180により決定された入力タイルQ11の入力画像領域R11(第2領域)のうち、キャッシュデータとして再利用すべき入力画像データを含むキャッシュ領域を決定する(ステップST9)。他の入力タイルQ12〜Q44についても同様である。
【0053】
ここで、前述したように、再利用すべき画像データを含むキャッシュ領域は、図6に示す重複領域Sに対応した領域である。キャッシュ領域決定部190は、入力タイルQ11の先頭ラインの位置と入力タイルQ21の先頭ラインの位置とを用いて重複領域Sを特定し、特定された重複領域Sを、再利用すべき入力画像データを含むキャッシュ領域として決定する(ステップST9)。
【0054】
続いて、テーブル管理部134は、キャッシュ領域決定部190により決定されたキャッシュ領域に再利用すべき入力画像データが格納されていることを示す管理情報をテーブル135に書き込み、テーブル135を更新する(ステップST10)。このとき、テーブル管理部134は、入力タイルQ11の入力画像領域R11に含まれる入力画像データのうち、上記キャッシュ領域以外の入力画像データが格納された記憶領域を開放する情報をテーブル135に書込み、テーブル135を更新する(ステップST10)。
【0055】
テーブル管理部134は、上記更新されたテーブル135で管理された管理情報をキャッシュコントローラ132に供給する。キャッシュコントローラ132は、記憶部110に記憶された入力タイルQ11の入力画像領域R11の入力画像データのうち、テーブル管理部134から供給される管理情報によって示されるキャッシュ領域(重複領域Sに対応するキャッシュ領域)の入力画像データを記憶部110に残して再利用する。この場合、キャッシュコントローラ132は、テーブル管理部134の管理の下、上記キャッシュ領域以外の入力画像データが記憶された記憶部110の記憶領域を開放して空き領域とする(または、上記キャッシュ領域以外の入力画像データが記憶された記憶部110の記憶領域に、データ供給部131から新たに供給される入力画像データを上書きする)。この後、第1行目の入力タイルQ12〜Q14について、入力タイルQ11と同様に上述の一連の処理(ステップST1〜ST10)が繰り返し実施される。
【0056】
次に、第2行目の入力タイルQ21〜Q24を対象とした歪補正のための処理(ステップST1〜ST10)が実施される。この場合、データ取得部130のテーブル管理部134は、第2行目の入力タイルQ21の入力画像領域R21に含まれる入力画像データをメモリ120から取得する際、テーブル135の管理情報を参照することにより、入力タイルQ21の入力画像領域R21に含まれる入力画像データのうち、上述の入力タイルQ11の入力画像領域R11との重複領域Sの入力画像データがキャッシュデータとして記憶部110に既に記憶されていることを把握する。
【0057】
そこで、テーブル管理部134は、重複領域Sの入力画像データがキャッシュデータとして記憶部110に既に記憶されていることを示す管理情報を読取領域決定部133に供給する。
読取領域決定部133は、テーブル管理部134から供給される管理情報を受けて、入力タイルQ21の入力画像領域R21の読取領域を決定する際、入力画像領域R21から重複領域Sを除いた残りの領域を読取領域として決定し(ステップST3)、その読取領域の入力画像データをデータ供給部131に要求する(ステップST4)。
【0058】
データ供給部131は、読取領域決定部133からの要求を受け、読取領域決定部133により決定された読取領域に従って、入力画像領域R21から重複領域Sを除いた残りの領域の入力画像データをメモリ120から取得してキャッシュコントローラ132を通じて記憶部110に記憶させる(ステップST5)。これにより、入力画像領域R11と入力画像領域R21との重複領域Sの入力画像データがメモリ120から重複して読み出されることなく、記憶部110には、入力タイルQ21の入力画像領域R21の全ての入力画像データがキャッシュデータとして保持された状態になる。
【0059】
キャッシュコントローラ132は、入力タイルQ21の入力画像データを記憶部110から読み出す(ステップST6)。歪補正部140は、記憶部110に記憶された入力タイルQ21の入力画像領域R21の入力画像データをキャッシュコントローラ132から受け取って、入力タイルQ21の入力画像データを用いて歪補正処理を実施する(ステップST7)。歪補正部140は、歪補正された画像データをメモリ150に記憶させる(ステップST8)。
【0060】
この後、入力タイルQ21の入力画像領域R21の重複領域に相当するキャッシュ領域の決定とテーブル135の構成が、上述の第1行目と同様に行われる(ステップST9,S10)。また、第2行目の入力タイルQ22〜Q24について、入力タイルQ21と同様に上述の一連の処理(ステップST1〜ST10)が繰り返し実施される。
【0061】
第2行目の入力タイルQ21〜Q24について歪補正処理が終了すると、第3行目の入力タイルQ31〜Q34と第4行目の入力タイルQ41〜Q44についても同様に上述の一連の処理(ステップST1〜ST10)が実施される。この場合も上述した第2行目の入力タイルQ21〜Q24と同様に、入力画像領域から重複領域Sを除いた読出領域が決定され、この読出領域によって示される入力画像上の入力画像データが取得される。
【0062】
従って、第1実施形態によれば、重複領域Sの入力画像データが重複して読み出されないので、メモリ120から読み出す入力画像データ量を低減することができる。このため、メモリ120から入力画像データを読み出すための読み出し処理の負担を軽減することができる。また、メモリ120から無駄な入力画像データを読み出すことがなくなるので処理速度を向上させることができると共に、低消費電力化を図ることができる。
【0063】
また、第1実施形態によれば、重複領域Sに対応するキャッシュ領域以外の入力画像データが記憶された記憶部110の記憶領域を空き領域とするので、または、上記キャッシュ領域以外の入力画像データの記憶領域を開放するので、記憶部110の記憶容量を削減することができる。このため、画像処理装置100の回路規模を抑制することができ、装置コストを低減することができる。
【0064】
なお、従来のタイル分割法を用いた歪補正処理を、歪曲収差の影響を含む画像に適用した場合、上述した図6(B)に例示する重複領域Sが発生することにより、処理時間が増加すると共に消費電力が増加する。また、歪補正処理に多くのキャッシュメモリを必要とする。
【0065】
(第2実施形態)
次に、本発明の第2実施形態を説明する。
上述した第1実施形態では、重複領域Sに対応した記憶部110のキャッシュ領域の入力画像データの積算量(厳密には、キャッシュ領域の入力画像データの積算量に、歪補正の対象となっている1タイル分の入力画像データを加えたデータ量)が記憶部110の記憶容量を超えると、入力画像上の各タイルの入力画像データを記憶部110にキャッシュデータとして保持することが困難になる状況が発生し、歪補正部140による歪補正処理に支障が生じる場合が起こり得る。
【0066】
図7を参照して、歪補正に必要な入力画像データを記憶部110にキャッシュデータとして確保することが困難になる状況を具体的に説明する。
図7は、上述した本発明の第1実施形態による画像処理装置100の動作上の課題を説明するための図であり、記憶部110にキャッシュデータとして確保することが困難になる理由を説明するための図である。
【0067】
ここで、図7(A)は、上述した図4または図5に示す入力タイルQ11,Q21の形状に含まれる歪曲収差の影響を誇張して表現し直した図であり、図7(B)は、上述した図4に示す入力タイルQ12,Q22の形状に含まれる歪曲収差の影響を誇張して表現し直した図である。図7(A)に示すように、歪曲収差の影響が顕著になる画像の周辺領域に位置する入力タイルQ11,Q21の変形は大きくなる。
【0068】
これに対し、図7(B)に示すように、歪曲収差の影響が少ない画像の中心に近い領域に位置する入力タイルQ11,Q21の変形が小さくなる。このため、画像の周辺領域に位置する入力タイルQ12の入力画像領域R11と入力タイルQ21の入力画像領域R21との間の重複領域S1の面積は、画像の中心に近い領域に位置する入力タイルQ12の入力画像領域R12とQ22の入力画像領域R22との間の重複領域S2の面積よりも大きくなる傾向を示す。
【0069】
図8は、上述した本発明の第1実施形態による画像処理装置100の動作上の課題を補足説明するための図であり、上述の入力画像領域の重複領域S(S1,S2)に対応する記憶部110のキャッシュ領域の入力画像データの積算量と入力画像の水平方向における各タイルの位置との間の関係を示している。図8において、横軸の左手方向は、画像の左手方向を指し、横軸の右手方向は、画像の右手方向を指している。
【0070】
図8の例では、入力画像データの積算量を表す12本の柱が示されているが、各柱は、例えば図4または図5に例示する第1行目の入力タイルQ11〜Q14のうち、先頭の入力タイルQ11から歪補正処理の対象となっているタイルまでの重複領域Sに対応した記憶部110のキャッシュ領域の入力画像データの積算量を表している。
【0071】
図8において、画像の左手周辺の領域Aに示す矢印(点線)の傾きに表されているように、画像の左手周辺の領域Aでは、図7(A)に例示するようにタイルの変形量が大きくなるため、記憶部110の上記キャッシュ領域の入力画像データの積算量の増加率は大きくなる傾向を示す。右手周辺の領域Cについても同様の傾向を示す。これに対し、画像の中心付近の領域Bでは、タイルの変形量が小さいため、記憶部110の上記キャッシュ領域の入力画像データの積算量の増加率が小さくなる傾向を示す。
【0072】
図8の例では、右手方向の領域Cにおいて、記憶部110のキャッシュ領域の入力画像データの積算量の増加率が急激に大きくなる。このため、歪補正処理の対象が領域Bから領域Cに位置するタイルに移行すると、記憶部110にキャッシュデータとして記憶される入力画像データが加速度的に増える。この場合、歪補正処理に必要な入力画像データを記憶部110にキャッシュデータとして確保することが困難になる可能性が急激に高まることになる。
【0073】
そこで、第2実施形態では、データ取得部130は、重複領域Sに対応したキャッシュ領域の入力画像データの積算量が所定値THを超えた場合、重複領域Sに対応したキャッシュ領域の入力画像データを記憶部110に残さず、記憶部110の記憶領域の全てをカーネルに割り当てる。ここで、所定値THは、記憶部110の全記憶容量に安全率を乗じた入力画像データ量であり、一例として、記憶部110の全記憶容量の80パーセントのデータ量を示す値である。ただし、所定値THは任意に設定し得る。
【0074】
次に、図9に示すフローに沿って、第2実施形態による画像処理装置100の動作を説明する。
第2実施形態では、上述した第1実施形態の図1から図5を援用する。また、図9に示すステップのうち、ステップST8Aを除けば、第2実施形態による画像処理装置100の動作フローは第1実施形態と同様であり、ここではステップST8Aに着目して説明する。
【0075】
概略的には、第2実施形態では、データ取得部130は、記憶部110に記憶された上記重複領域Sに対応したキャッシュ領域の入力画像データの積算量に基づいて、次の歪補正処理の際に記憶部110に上記重複領域Sの入力画像データのためのキャッシュ領域を確保することができるか否かを判定し、上記キャッシュ領域を確保することができない場合、記憶部110に上記キャッシュ領域の画像データを記憶部110に記憶させない。その他は、第1実施形態と同様である。
【0076】
ステップST8Aに着目して詳細に説明すると、第1実施形態と同様に歪補正部140が歪補正された画像データがメモリ150に記憶されると(ステップST8)、データ取得部130のテーブル管理部134は、テーブル135を参照して、記憶部110の全記憶領域のうち、使用されている記憶領域のデータ量が所定値THを超えていないかどうか、即ち、次回の歪補正処理で使用される重複領域Sの入力画像データを記憶させるためのキャッシュ領域を確保することが可能か否かを判定する(ステップST8A)。
【0077】
キャッシュ領域決定部190は、歪補正部140による入力タイルQ11に対する歪補正処理が終了した後、次回の歪補正サイクルで使用される重複領域S(S1,S2)に対応するキャッシュ領域を確保することが可能である場合(ステップST8A;YES)、補正領域演算部170によって演算された複数の出力タイルP11〜P44の各タイルに対応する入力画像上の入力タイルの位置に関する位置情報を参照して、画像領域決定部180により決定された入力タイルQ11の入力画像領域R11(第2領域)のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定する(ステップST9)。
【0078】
データ取得部130のテーブル管理部134は、キャッシュ領域決定部190により決定されたキャッシュ領域に再利用すべき入力画像データが格納されていることを示す管理情報をテーブル135に書き込むと共に、上記キャッシュ領域以外の入力画像データが格納された記憶領域を開放する旨を示す管理情報をテーブル135に書き込んで、テーブル135を更新する(ステップST10)。
【0079】
これに対し、記憶部110の全記憶領域のうち、使用されている記憶領域のデータ量が所定値THを超えており、次回の歪補正処理で使用される重複領域Sに対応するキャッシュ領域を確保することができない場合(ステップST8A;NO)、テーブル管理部134は、記憶部110の全記憶領域を、歪補正対象のタイルの入力画像領域の入力画像データ(カーネル)を記憶するために使用し、歪補正処理の後、重複領域Sに対応するキャッシュ領域の入力画像データを残さない。
その他は第1実施形態と同様である。
【0080】
従って、第2実施形態によれば、記憶部110に重複領域Sに対応したキャッシュ領域を確保することができない状況になると、記憶部110の記憶領域の全てがカーネルの記憶領域に割り当てられるので、歪補正部140による歪補正処理に支障を生じることがなくなる。よって、全てのタイルの歪補正処理を安定的に実施することが可能になる。
【0081】
また、第2実施形態によれば、記憶部110に重複領域Sに対応したキャッシュ領域を確保することが可能な状況においては、上述した第1実施形態と同様に、メモリ120からの無駄な入力画像データの読み出しを抑制する効果を得ることができる。
【0082】
上述した実施形態では、本発明を画像処理装置として表現したが、本発明は、画像処理方法として表現することもできる。この場合、本発明による画像処理方法は、出力画像領域を複数のタイルに分割する第1段階と、前記複数のタイルのうち、歪補正処理の対象となっているタイルに対応する入力画像上の第1領域を演算する第2段階と、前記第1領域の画像を歪補正するのに必要とされる画像データを含む前記入力画像上の矩形の第2領域を決定する第3段階と、前記第2領域の画像データを取得して記憶部にキャッシュデータとして記憶させる第4段階と、前記記憶部に記憶された前記第2領域の画像データに対して前記歪補正処理を実施する第5段階と、前記第1領域の位置情報を参照して、前記第2領域のうち、キャッシュデータとして再利用すべき画像データを含むキャッシュ領域を決定する第6段階と、を含み、前記第4段階では、更に、前記歪補正処理が実施された後、前記記憶部に記憶された前記第2領域の画像データのうち、前記キャッシュ領域の画像データを前記記憶部に残し、その他の画像データが記憶された前記記憶部の記憶領域を開放する、画像処理方法として表現することができる。
【0083】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で、種々の変形、修正、置換などが可能である。
例えば、上述の実施形態では、本発明を画像処理装置として表現したが、本発明は、例えば歪補正装置、歪補正回路、歪補正方法等として表現することもできる。
【符号の説明】
【0084】
100…画像処理装置、110…記憶部、120…メモリ、130…データ取得部、131…データ供給部、132…キャッシュコントローラ、133…読取領域決定部、134…テーブル管理部、135…テーブル、140…歪補正部、150…メモリ、160…タイル分割部、170…補正領域演算部、180…画像領域決定部、ST1〜ST10,ST8A…処理ステップ。
図1
図2
図3
図4
図5
図6
図7
図8
図9