JP2013186624A - 画像処理装置、および画像処理装置の動作方法 - Google Patents

画像処理装置、および画像処理装置の動作方法 Download PDF

Info

Publication number
JP2013186624A
JP2013186624A JP2012050226A JP2012050226A JP2013186624A JP 2013186624 A JP2013186624 A JP 2013186624A JP 2012050226 A JP2012050226 A JP 2012050226A JP 2012050226 A JP2012050226 A JP 2012050226A JP 2013186624 A JP2013186624 A JP 2013186624A
Authority
JP
Japan
Prior art keywords
pixel
area
pixel value
image
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012050226A
Other languages
English (en)
Other versions
JP5893445B2 (ja
Inventor
Kazuma Takahashi
一真 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MegaChips Corp filed Critical MegaChips Corp
Priority to JP2012050226A priority Critical patent/JP5893445B2/ja
Priority to US13/785,183 priority patent/US8953904B2/en
Publication of JP2013186624A publication Critical patent/JP2013186624A/ja
Application granted granted Critical
Publication of JP5893445B2 publication Critical patent/JP5893445B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Studio Devices (AREA)
  • Geometry (AREA)

Abstract

【課題】画像データの転送量を減らすことが可能な技術を提供する。
【解決手段】入力画像に歪み補正処理を施して出力画像を出力する画像処理装置1Aは、出力画像を分割して得られる矩形領域中の所定画素に対する、入力画像上での対応位置を取得する相対座標取得部301と、矩形領域の入力画像上での対応領域を内包した参照領域を、出力画像上で連続して並ぶ複数の矩形領域それぞれについて特定する参照領域特定部304と、上記複数の矩形領域それぞれに関する各参照領域を併合して、併合領域を得る読出領域決定部305と、入力画像において、併合領域に含まれる各画素の画素値を読み出させる読出制御手段と、当該読出制御手段によって読み出された画素の画素値を用いて、歪み補正処理を実行し、出力画像の画素値を取得する補正処理手段とを備える。
【選択図】図3

Description

本発明は、画像処理技術に関する。
一般に、撮像装置等に用いられる撮像レンズは、球面収差、歪曲収差等の様々な収差を有している。このため、撮像レンズを作成する際には、これらの収差を抑えたレンズ設計が行われる。
しかし、レンズ設計のみでこれらの収差を取り除くことは困難であるため、被写体像を撮像素子によって画像データとして取得可能な場合は、レンズの収差に起因して生じた画像の歪みをデータ上の画像処理によって補正する技術が提案されている。
例えば、特許文献1には、撮像レンズを介して得られた撮像画像等の入力画像に歪み補正処理を施して出力画像を取得する技術が記載されている。具体的には、特許文献1には、出力画像を分割して得られる矩形領域に対する入力画像上での対応領域を特定し、当該対応領域を囲む参照領域内の画像データを読み出して、矩形領域ごとに歪み補正処理を実行する技術が記載されている。
特開2011−113234号公報
しかしながら、特許文献1に記載される技術のように、矩形領域ごとに歪み補正処理を実行した場合、隣接する矩形領域それぞれの参照領域間では、重なり部分が生じることになるため、画像データの転送量が増大していた。
そこで、本発明は、画像データの転送量を減らすことが可能な技術を提供することを目的とする。
本発明に係る画像処理装置の第1の態様は、入力画像に歪み補正処理を施して出力画像を出力する画像処理装置であって、前記出力画像を分割して得られる矩形領域中の所定画素に対する、前記入力画像上での対応位置を取得する取得手段と、前記矩形領域の前記入力画像上での対応領域を内包した参照領域を、前記出力画像上で連続して並ぶ複数の矩形領域それぞれについて特定する特定手段と、前記複数の矩形領域それぞれに関する各参照領域を併合して、併合領域を得る併合手段と、前記入力画像において、前記併合領域に含まれる各画素の画素値を読み出させる読出制御手段と、前記読出制御手段によって読み出された各画素の画素値を用いた補間演算により、前記出力画像の画素値を取得する補正処理手段とを備える。
また、本発明に係る画像処理装置の第2の態様は、上記第1の態様であって、前記読出制御手段は、前記各画素の画素値を画素の行ごとに行方向に沿って順次に読み出させる。
また、本発明に係る画像処理装置の第3の態様は、上記第1の態様または上記第2の態様であって、前記特定手段は、矩形の領域を前記参照領域として特定し、前記併合手段は、矩形の前記参照領域に対して、領域の角を削る面取り処理を施し、前記面取り処理後の領域を用いて、併合領域を得る。
また、本発明に係る画像処理装置の第4の態様は、上記第3の態様であって、前記併合手段は、前記矩形領域の頂点に対する、前記入力画像上での対応位置を通る直線であって、所定角度の傾きを有した直線を前記参照領域上に仮想的に規定し、前記直線によって前記参照領域を分断して得られる2つの領域のうち、面積の小さい領域を前記参照領域から除外する。
また、本発明に係る画像処理装置の第5の態様は、上記第1の態様から上記第4の態様のいずれかであって、前記補正処理手段は、前記対応位置の位置情報を記憶する第1記憶手段と、前記位置情報に基づいて、前記所定画素の画素値の算出に用いる前記対応位置周辺の周辺画素の画素値が前記読出制御手段によって読み出されたか否かを判定する判定手段と、前記判定手段によって前記周辺画素の画素値が読み出されたと判定された場合、前記周辺画素の画素値を記憶する第2記憶手段と、前記第2記憶手段に記憶された前記周辺画素の画素値を用いた補間によって、前記所定画素の画素値を算出する算出手段とを備える。
また、本発明に係る画像処理装置の動作方法は、入力画像に歪み補正処理を施して出力画像を出力する画像処理装置の動作方法であって、a)前記出力画像を分割して得られる矩形領域中の所定画素に対する、前記入力画像上での対応位置を取得する工程と、b)前記矩形領域の前記入力画像上での対応領域を内包した参照領域を、前記出力画像上で連続して並ぶ複数の矩形領域それぞれについて特定する工程と、c)前記複数の矩形領域それぞれに関する各参照領域を併合して、併合領域を得る工程と、d)前記入力画像において、前記併合領域に含まれる各画素の画素値を読み出させる工程と、e)前記d)工程において読み出された各画素の画素値を用いた補間演算により、前記出力画像の画素値を取得する工程とを備える。
本発明によれば、画像データの転送量を減らすことが可能になる。
本発明の実施形態に係る画像処理装置の構成を示す概略図である。 歪み補正処理の様子を示す図である。 画像処理装置における歪み補正部の詳細構成を示す図である。 画素値記憶部の詳細構成を示す図である。 歪み補正処理の処理工程と歪み補正部の構成との対応関係を示す図である。 実行対象ブロックと、入力画像において当該実行対象ブロックに対応する対応ブロックとの関係を示す図である。 オフセット処理と参照領域特定処理とを説明するための図である。 相対座標算出処理を説明するための図である。 相対座標系で表された各対応相対位置と連想メモリの記憶状態との関係を示す図である。 入力画像上に参照領域を重畳して表示した図である。 併合される2つの参照領域を示す図である。 読出領域から読み出される画素の読出順序を模式的に示す図である。 読出領域の一部を示す図である。 読出領域中の或る参照領域に含まれる各対応相対位置と連想メモリの記憶状態との関係を示す図である。 ローカルメモリの記憶状態を示す図である。 読出領域の一部を示す図である。 出力画素値の算出の様子を示す図である。 4つの参照領域を併合して得られる読出領域を示す図である。 加工後の参照領域を併合して得られる併合領域の一例を示す図である。 変形例に係る画像処理装置の構成を示す概略図である。 変形例に係る画像処理装置の構成を示す概略図である。 変形例に係る撮像装置を示す図である。
以下、実施形態について図面を参照して説明する。
<1.実施形態>
[1−1.構成概要]
図1は、本発明の実施形態に係る画像処理装置1Aの構成を示す概略図である。当該画像処理装置1Aは、例えば、パーソナルコンピュータ(PC)、携帯情報端末機等において実現される。
図1に示されるように、画像処理装置1Aは、いずれも基板上に集積回路として構成された、第1処理回路2および第2処理回路3を備えている。
第1処理回路2は、レンズデータ記憶部21と画像データ記憶部22とを有している。画像データ記憶部22は、複数の画像データを記憶可能な容量を有する画像メモリ(例えば、DRAM)であり、画像処理装置1Aに入力された入力画像の画像データGDを記憶する。レンズデータ記憶部21には、入力された画像データGDを撮像した撮像装置のレンズに関するレンズデータが記憶されている。レンズデータとしては、例えば、レンズの収差に起因した画像の歪みに関する情報(「歪み情報」とも称する)が記憶されている。歪み情報についての詳細は、後述する。
第2処理回路3は、画像処理回路として構成され、画像データ記憶部22に保存された画像データGDに対して、各種の画像処理を施す。特に、本実施形態の第2処理回路3は、入力された画像データGDに対して、画像の歪みを補正する処理(「歪み補正処理」とも称する)を施す歪み補正部30を有している。
ここで、歪み補正処理の概略について説明する。図2は、歪み補正処理の様子を示す図であり、図2には、樽型の歪曲収差を有する入力画像IGと、歪み補正処理後の出力画像UGとが示されている。なお、入力画像IGには、歪曲収差による被写体の歪みが破線によって示されている。
図2に示されるように、画像処理装置1Aで実行される歪み補正処理は、出力画像UGを複数の領域に分割して得られる矩形領域(「画素ブロック」または単に「ブロック」とも称する)BKにおいて、連続して並ぶ複数の矩形領域を一つの処理単位として行われる。
例えば、連続して並ぶ2つのブロックBK1,BK2が歪み補正処理を施す対象領域(「実行対象領域」とも称する)BR(図2中のハッチング領域)に含まれる場合を想定する。この場合、入力画像IGにおいて当該2つのブロックBK1,BK2それぞれに対応する対応ブロック(「対応領域」とも称する)TB1,TB2を内包する領域RN(後述の読出領域)から読み出された画像データを用いて、ブロックBK1,BK2の各画素の画素値が算出される。
なお、ブロックBKの大きさは、画像処理装置1Aによって自動で設定される態様としてもよく、ユーザによって指定可能な態様としてもよい。本実施形態では、ブロックBKが縦8画素、横8画素のブロック、すなわち8×8の画素を有するブロックである場合を例にして説明する。また、ここでは、実行対象領域BRに含まれるブロックを実行対象ブロックBTとも称する。
図1の説明に戻って、第2処理回路3は、メモリ間のデータ転送を制御するDMAC(ダイレクトメモリアクセスコントローラ)35,36をさらに有している。画像処理装置1Aでは、第1処理回路2と第2処理回路3との間のバスを介したデータ転送は、CPUの代わりに当該DMAC35,36からの制御信号に応じて行われる。
[1−2.歪み補正処理]
ここで、画像処理装置1Aで実行される、画像の歪み補正処理について説明する。図3は、画像処理装置1Aにおける歪み補正部30の詳細構成を示す図である。図4は、画素値記憶部307の詳細構成を示す図である。図5は、歪み補正処理の処理工程と歪み補正部30の構成との対応関係を示す図である。図6は、出力画像UGにおけるブロックBK1と、入力画像IGにおいて当該ブロックBK1に対応する対応ブロックTB1との関係を示す図である。図7は、オフセット処理と参照領域特定処理とを説明するための図である。図8は、相対座標算出処理を説明するための図である。図9は、相対座標系で表された各対応相対位置と連想メモリ303の記憶状態との関係を示す図である。
図3に示されるように、歪み補正部30は、相対座標取得部301と、レンズデータ読出制御部302と、連想メモリ303(CAM:Content Addressable Memory)と、参照領域特定部304と、読出領域決定部305と、読出位置特定部306と、画素値記憶部307と、画素値算出部308と、出力データ記憶部309とを有している。
相対座標取得部301は、出力画像UGにおいて、歪み補正処理の実行対象領域BRに含まれる各実行対象ブロックBT中の各画素の入力画像IG上での対応位置を取得する機能を有している。
レンズデータ読出制御部302は、DMAC35を介して、レンズデータ記憶部21に記憶されたデータの読出を制御する。
連想メモリ303は、情報を記憶する記憶機能(第1記憶手段)と、記憶した全情報の中から、指定された情報と一致する情報を検索し、指定された情報と一致する情報を発見した場合は、当該一致する情報を記憶する番地(アドレス)を出力する検索機能とを有している。
参照領域特定部304は、入力画像IGにおいて、実行対象ブロックBTに対応する対応ブロックを内包する最小の矩形領域を参照領域FRとして、対応ブロックごとに特定する機能を有している。
読出領域決定部305は、各対応ブロックの参照領域FRを併合(マージ)する併合手段として機能し、画像データ記憶部22に記憶された入力画像IGにおける読出領域RNを決定する。
また、読出領域決定部305は、入力画像IG上の読出領域RNに含まれる画像データを、DMAC36を介して、画像データ記憶部22から読み出す読出制御手段としても機能する。
読出位置特定部306は、画像データ記憶部22から読み出された画素の読出位置を読出領域決定部305からの情報に基づいてカウントする機能を有している。
画素値記憶部307は、図4に示されるように、所定画素分の画素値を記憶可能なラインメモリ371と、画素値を一時的に記憶可能なレジスタRG1,RG2と、第1メモリLM1、第2メモリLM2、第3メモリLM3および第4メモリLM4で構成されるローカルメモリLMとを有している。このような構成を有する画素値記憶部307は、画像データ記憶部22から読み出された画像データの中から、歪み補正に用いる画素の画素値を記憶する機能を有している。
画素値算出部308は、画素値記憶部307に記憶された歪み補正用の画素の画素値を用いた補間演算を行って、出力画像中の画素の画素値を算出する。
当該画素値算出部308と、上述の連想メモリ303、読出位置特定部306、および画素値記憶部307とは、互い協働して動作し、入力画像IG上の読出領域RNから読み出された各画素の画素値に基づいて、出力画像UGの画素値を取得する補正処理手段として機能することになる。
出力データ記憶部309は、画素値算出部308で算出された出力画像中の画素の画素値を一時的に記憶する機能を有している。出力データ記憶部309に記憶されたデータは、所定の出力形式になると、歪み補正後の画像データとして歪み補正部30の外部に出力されることになる。例えば、8画素×8画素のブロック単位で、歪み補正後の画像データを出力する場合、出力データ記憶部309は、8×8のブロックを構成する画素の画素値が全て揃うまで、画素値算出部308によって算出された画素の画素値を記憶することになる。
図5に示されるように、歪み補正処理は、歪み補正部30における上記各構成要素301〜309の協働により、相対座標取得段階ST1、読出領域決定段階ST2、画素値読込段階ST3、および出力画素値算出段階ST4の4つの処理段階を経て実行される。なお、以下では、図2のように、ブロックBK1,BK2が歪み補正処理の実行対象領域BRに含まれる場合を例にして説明する。
最初の処理段階である相対座標取得段階ST1では、対応位置特定処理と、オフセット処理と、相対座標算出処理と、相対座標記憶処理とがこの順序で実行される。図5に示されるように、対応位置特定処理、オフセット処理、および相対座標算出処理は、相対座標取得部301によって行われ、相対座標記憶処理は、連想メモリ303によって行われる。
具体的には、対応位置特定処理では、実行対象ブロックBTの頂点に位置する画素(頂点画素)のうち、1の頂点画素(基準頂点画素)の入力画像IG上での対応位置が特定される。
本実施形態では、実行対象ブロックBTにおける左上の頂点画素を1の頂点画素とする場合を例示する。この場合、例えば、図6に示されるように、実行対象領域BRに含まれる実行対象ブロックBT1の左上の頂点画素VAが1の頂点画素となる。そして、当該頂点画素VAの入力画像IG上での対応位置PAが特定される。
また、対応位置特定処理では、1の頂点画素以外の他の各頂点画素に隣接する各画素(頂点隣接画素)の入力画像IG上での対応位置もそれぞれ特定される。例えば、図6では、実行対象ブロックBT1の他の頂点画素VB,VC,VDに隣接する頂点隣接画素NB,NC,NDの入力画像IG上での対応位置PB,PC,PDがそれぞれ特定されることになる。このような対応位置特定処理によって、実行対象ブロックBT1に対応する、入力画像上の対応ブロックTB1の各頂点の座標が特定されることになる。
1の頂点画素および頂点隣接画素の入力画像IG上での対応位置を特定する際には、レンズデータ記憶部21に記憶された歪み情報が用いられる。
歪み情報は、出力画像UGにおける各ブロックの頂点画素となり得る複数の主要画素の入力画像IG上での対応位置に関する情報であり、レンズデータ記憶部21に予め記憶されている。歪み情報として記憶された入力画像IG上での対応位置は、入力画像IGの左上の画素を原点GPとしたときの座標として与えられている。対応位置特定処理では、レンズデータ記憶部21に記憶された歪み情報が取得され、当該歪み情報に基づいて1の頂点画素および頂点隣接画素の入力画像IG上での対応位置がそれぞれ特定されることになる。
特定された対応位置は、入力画像IGの左上の画素を原点GPとしたときの絶対座標として与えられる。例えば、図6に示されるように、対応位置PA,PB,PC,PDの座標は、それぞれ(4,3+128/256)、(11+80/256,2+96/256)、(2+80/256,10+208/256)、(10+48/256,9+176/256)と与えられる。
なお、図6に示されるように、頂点隣接画素NB,NC,NDは、いずれも他のブロックBKの左上の頂点画素であることから、歪み情報としては、各ブロックBKの1の頂点画素の入力画像IG上での対応位置に関する情報が記録されていればよい。
また、上記のような対応位置特定処理は、実行対象領域BRに含まれる各実行対象ブロックBTそれぞれについて実行される。すなわち、図6に示されるように、実行対象領域BRに2つの実行対象ブロックBT1,BT2が存在する場合、2つの実行対象ブロックBT1,BT2それぞれについて対応位置特定処理が実行されることになる。
次のオフセット処理では、対応位置特定処理で特定された4つの対応位置の座標が、基準点からの相対座標に変換される。
具体的には、4つの対応位置の座標(対応位置座標)の中から、最小のx座標と、最小のy座標とが抽出され、最小のx座標以下の最大の整数(第1整数)と、最小のy座標以下の最大の整数(第2整数)とが特定される。そして、4つの対応位置の座標それぞれのx座標から第1整数を差し引くとともに、4つの対応位置の座標それぞれのy座標から第2整数を差し引くことによって、各対応位置の座標を変更する。このように変更された各対応位置の座標は、第1整数をx座標とし第2整数をy座標とする基準点KPを原点としたときの相対座標となる。
例えば、図7では、4つの対応位置の座標における最小のx座標は「2+80/256」であり、最小のy座標は「2+96/256」であることから、第1整数および第2整数は、いずれも「2」となる。そして、対応位置PAのx座標から第1整数「2」を差し引くとともに、対応位置PAのy座標から第2整数「2」を差し引くことによって、相対位置(「対応相対位置」とも称する)RA(2,1+128/256)が算出される。また、対応位置PB,PC,PDについても第1整数および第2整数を用いた同様の演算が行われて、相対位置RB,RC,RDがそれぞれ取得される。なお、基準点KP(2,2)は、相対位置を規定する座標の原点となることから相対座標系の仮想原点VPとも称される。
相対座標算出処理では、図8に示されるように、実行対象ブロックBTを構成する各画素(出力画素)の入力画像IG上での対応相対位置PUの相対座標がそれぞれ算出される。各出力画素の対応相対位置PUは、1の頂点画素および頂点隣接画素の入力画像IG上での対応相対位置の相対座標を用いて、補間によって算出される。補間により算出される対応相対位置PUの数は、実行対象ブロックBTの大きさ、すなわち実行対象ブロックBTに含まれる画素数に応じて異なり、本実施形態では、8×8画素の対応相対位置が算出されることになる。各対応相対位置PUの算出は、1の頂点画素および頂点隣接画素の入力画像IG上での各対応相対位置間の距離を「8」で除算することにより、算出される。1の頂点画素の対応相対位置は既得であるため、上述のような相対座標算出処理によって、1の頂点画素以外の出力画素の対応相対位置PUが算出された場合、実行対象ブロックBTを構成する全ての出力画素の入力画像IG上での対応相対位置が得られることになる。
なお、1の頂点画素以外の出力画素の対応相対位置PUを、2の累乗である「8」の除算により算出することによれば、ビットシフトによって対応相対位置の算出を実現できるので、演算を高速化することが可能になる。すなわち、本実施形態では、ブロックBKに含まれる画素の数を2の累乗となるように設定することが好ましい。
相対座標記憶処理では、実行対象ブロックBTを構成する全出力画素の入力画像IG上での対応相対位置の位置情報が、連想メモリ303に書き込まれる。連想メモリ303への書き込みは、対応相対位置ごとに保存先の番地(アドレス)を指定して行われ、1の番地に1の出力画素についての相対座標の整数部分が、対応相対位置の位置情報として記憶される。
例えば、各対応相対位置の相対座標が、図9に示される相対座標系で表される場合、各対応相対位置のうち、左上の対応相対位置RAの相対座標の整数部分(2,1)が連想メモリ303の0番地に書き込まれる。次に、同一行において隣接する対応相対位置PU1の相対座標の整数部分(3,1)が、連想メモリ303の1番地に書き込まれる。以後、同一行における各対応相対位置の相対座標の整数部分が、連想メモリ303の所定番地(「2」〜「7」)に順次に書き込まれる。そして、同一行の対応相対位置の書き込みが終了すると、次の行に移行して対応相対位置の書き込みが行われる。すなわち、対応相対位置PU8の相対座標の整数部分(1,2)が、連想メモリ303の8番地に書き込まれ、以後、対応相対位置PU8から始まる同一行における各対応相対位置の相対座標の整数部分が、連想メモリ303に書き込まれる。このような連想メモリ303への書き込みは、行単位で進み、全ての対応相対位置の位置情報が、連想メモリ303の63番地に書き込まれた時点で終了する。
このように、対応相対位置の位置情報の記憶処理は、上記1の頂点画素の対応相対位置を始点として一定の行方向に沿って順次に行われる。
なお、各対応相対位置の指定された保存先の番地は、各対応相対位置に関する通し番号であるともみることができる。また、本実施形態では、画像(または所定領域)上の始点画素から一定の行方向に沿って順次に画素(または位置)を読み出す際の画素等の順序づけをラスター順とも称する。
また、このような相対座標記憶処理は、実行対象領域BRに内包される各実行対象ブロックBTそれぞれについて実行される。すなわち、図6に示されるように、実行対象領域BRに2つの実行対象ブロックBT1,BT2が存在する場合、2つの実行対象ブロックBT1,BT2それぞれに含まれる各画素の入力画像IG上での対応相対位置の位置情報が、連想メモリ303に記憶されることになる。なお、歪み補正部30には、実行対象ブロックBTのブロック数以上の連想メモリ303が存在し、相対座標記憶処理は、実行対象ブロックBTごとに異なる連想メモリ303を用いて行われる。例えば、実行対象領域BRに2つの実行対象ブロックBT1,BT2が存在する場合、実行対象ブロックBT1,BT2それぞれに関する対応相対位置の位置情報は、実行対象ブロックBT1,BT2ごとに2つの連想メモリ303に分けて記憶されることになる。
図5に示されるように、相対座標取得段階ST1が終了すると、歪み補正処理は、読出領域決定段階ST2へと移行する。読出領域決定段階ST2では、参照領域特定処理と、読出領域決定処理とが実行される。図10は、入力画像上に参照領域を重畳して表示した図である。図11は、併合される2つの参照領域を示す図である。
参照領域特定処理では、対応ブロックTBを内包する最小の矩形領域が参照領域FRとして特定される。
図10に示されるように、参照領域FRの設定は、対応ブロックTB1の頂点の相対座標を用いて行われる。具体的には、4頂点の相対座標の中から、最大のx座標と、最大のy座標とが抽出され、最大のx座標以上の最小の整数(第3整数)と、最大のy座標以上の最小の整数(第4整数)とが特定される。そして、第3整数をx座標とし第4整数をy座標とする点、第3整数をx座標とし「0」をy座標とする点、「0」をx座標とし第4整数をy座標とする点、および仮想原点VP(0,0)それぞれを頂点とする矩形領域が参照領域FRとして設定される。
例えば、図10では、4頂点の相対座標における最大のx座標は「9+80/256」であり、最大のy座標は「8+208/256」であることから、第3整数および第4整数は、それぞれ「10」、「9」となる。すなわち、図10では、点VP(0,0)、点NP1(10,0)、点NP2(0,9)、点NP3(10,9)を頂点とする矩形領域が参照領域FRとして設定されることになる。
このような参照領域特定処理は、実行対象領域BRに内包される各実行対象ブロックBTそれぞれの対応ブロックTBについて実行される。すなわち、図6に示されるように、実行対象領域BRに2つの実行対象ブロックBT1,BT2が存在する場合、2つの実行対象ブロックBT1,BT2それぞれの対応ブロックについて参照領域がそれぞれ特定されることになる。
読出領域決定処理では、各参照領域FRの頂点の座標を同一座標系で比較することによって、各参照領域FRを併合する処理が行われる。各参照領域FRを併合して得られる併合領域は、次の画素値読込段階ST3において、入力画像IGから画像データを読み出す際の読出領域RNとして用いられる。このように、併合領域は読出領域として用いられるため、読出領域決定処理では、併合領域に含まれる画素の行ごとに読出開始位置の情報と読出終了位置の情報とが取得されることになる。
参照領域FRの併合手法としては、例えば、次のような手法を採用することができる。
具体的には、まず、各参照領域FRの頂点の座標を同一座標系で表した上で、各頂点のうち、最小のy座標を有する頂点と最大のy座標を有する頂点とが特定される。
そして、最小のy座標を有する頂点が属する行から最大のy座標を有する頂点が属する行まで、行ごとに、読出開始位置と読出終了位置とが決定される。
各行における読出開始位置および読出終了位置は、行ごとに、行と交差する各参照領域の各縦辺のx座標同士を互いに比較することによって決定することができる。
例えば、図11に示されるように、2つの参照領域FR1,FR2を併合する場合を想定する。この場合、注目行LFの読出開始位置は、当該注目行LFと交差する参照領域FR1,FR2の各縦辺EL11,EL12,EL21,EL22のうち、最小のx座標を有する縦辺EL11によって示される位置PSとなる。
また、注目行LFの読出終了位置を決定する際には、読出開始位置PSを含む縦辺EL11を有する参照領域FR1において、当該縦辺EL11と対になる縦辺EL12によって示される位置P12が、読出終了候補位置として設定される。
そして、当該読出終了候補位置よりも小さいx座標の縦辺が、参照領域FR1以外の他の参照領域FR2に存在するか否かに基づいて、読出終了候補位置が、読出終了位置となるか否かが判定される。読出終了候補位置よりも小さいx座標の縦辺が存在する場合、読出終了候補位置の更新が行われる。一方、読出終了候補位置よりも小さいx座標の縦辺が存在しない場合、現在の読出終了候補位置が読出終了位置として決定される。図11では、参照領域FR2における縦辺EL21のx座標が、読出終了候補位置よりも小さいため、読出終了候補位置の更新が行われることになる。
読出終了候補位置の更新は、現在の読出終了候補位置よりも小さいx座標の縦辺EL21を有する参照領域FR2において、当該縦辺EL21と対になる縦辺EL22によって示される位置P22が、新たな読出終了候補位置として設定される。
そして、新たな読出終了候補位置よりも小さいx座標の縦辺が、参照領域FR1,FR2以外の他の参照領域に存在するか否かに基づいて、新たな読出終了候補位置が、読出終了位置となるか否かが判定される。図11では、参照領域FR1,FR2以外の他の参照領域が存在しないため、新たな読出終了候補位置よりも小さいx座標の縦辺を有する他の参照領域は存在しない。したがって、新たな読出終了候補位置が、注目行LFの読出終了位置PEとして設定されることになる。
このように、読出領域決定処理では、読出開始位置および読出終了位置の特定が行ごとに行われ、複数の参照領域FRを併合した読出領域RNが決定される。複数の参照領域FRを併合して読出領域RNを設定することによれば、参照領域FR同士の重複部分における画像データの重複読み出しをなくすことができる。
図5に示されるように、読出領域決定段階ST2が終了すると、歪み補正処理は、画素値読込段階ST3へと移行する。画素値読込段階ST3では、画素値読出処理と、座標検索処理と、特定画素値記憶処理とが実行される。図12は、読出領域RNから読み出される画素の読出順序を模式的に示す図である。図13は、読出領域RNの一部を示す図である。
具体的には、画素値読出処理では、入力画像IGを構成する画素のうち、読出領域RNに含まれる入力画素の画素値が、画像データ記憶部22から読み出される。画素値の読出順序は、図12に示されるようなラスター順となる。すなわち、読出領域RNにおいて、最小のy座標を有する行から最大のy座標を有する行まで、行ごとに各行の読出開始位置から読出終了位置まで各入力画素の画素値が順次に読み出される。
このような画素値の読出は、読出制御手段としての機能をも有する読出領域決定部305の制御に基づいて行われる。読出領域決定部305は、読出領域決定処理で特定された、行ごとの読出開始位置および読出終了位置の情報に基づいて読出アドレスを生成し、当該読出アドレスをDMAC36に出力する。DMAC36は、読出アドレスに基づいて、画像データ記憶部22から入力画素の画素値を読み出す。
そして、画像データ記憶部22から読み出された入力画素の画素値は、セレクタSLを介して画素値記憶部307に順次に入力される。
画素値記憶部307は、読出領域RNから読み出された入力画素の画素値を記憶する機能を有し、歪み補正部30内には、読出領域RNに含まれる参照領域FRごとに画素値記憶部307がそれぞれ設けられている。
セレクタSLは、読出位置特定部306から入力される制御信号に応じて、画像データ記憶部22から読み出された入力画素の画素値を、参照領域FRごとに対応して設けられた画素値記憶部307に出力する。これにより、読出領域RN中の参照領域FR1から読み出された入力画素の画素値は、参照領域FR1用の画素値記憶部307に記憶され、参照領域FR2から読み出された入力画素の画素値は、参照領域FR2用の画素値記憶部307に記憶されることになる。
各画素値記憶部307では、図4に示されるように、セレクタSLを介して入力された画素の画素値が、ラインメモリ371に入力される。
ラインメモリ371は、参照領域FRにおける1行分(1ライン分)の画素の画素値を記憶可能な容量を有するとともに、いわゆるFIFO方式でデータを処理する機能を有している。すなわち、ラインメモリ371は、参照領域FRにおける1ライン分の画素値が記憶された状態で、新たな画素の画素値が入力されると、最初に記憶されていた画素値を出力する。
当該ラインメモリ371から出力された1画素分の画素値は、ローカルメモリLM中の第1メモリLM1に直接入力されるとともに、1画素分の画素値を保持可能なレジスタRG1を一旦介してローカルメモリLM中の第2メモリLM2に入力される。
このような構成を有する画素値記憶部307では、第2メモリLM2には、第1メモリLM1に入力される画素の画素値よりも、1画素前の画素の画素値が入力されることになる。詳細には、ラインメモリ371から出力された第1所定画素の画素値が第1メモリLM1に入力される場合は、第2メモリLM2には、上記第1所定画素よりも1つ前に出力された画素の画素値(1画素分前の画素の画素値)が入力されることになる。
また、画素値記憶部307では、画像データ記憶部22から入力された画素の画素値は、ラインメモリ371の他に、ローカルメモリLM中の第3メモリLM3に直接入力されるとともに、1画素分の画素値を保持可能なレジスタRG2を介してローカルメモリLM中の第4メモリLM4にも入力される。
これにより、第4メモリLM4には、第3メモリLM3に入力される画素の画素値よりも、1画素前に画素値記憶部307に入力された画素の画素値が入力されることになる。詳細には、画素値記憶部307に入力された第2所定画素の画素値が第3メモリLM3に記憶される場合は、第4メモリLM4には、上記第2所定画素よりも1つ前に入力された画素の画素値(1画素分前の画素の画素値)が入力されることになる。
ここで、画素値記憶部307における画素の記憶状態について詳述する。
例えば、図13に示されるような読出領域RNに含まれる各画素の画素値について画素値読出処理が実行されると、参照領域FR用の画素値記憶部307には、参照領域FRに含まれる入力画素が、仮想原点VPに位置する画素PE0からラスター順で画素値記憶部307に入力されることになる。すなわち、各参照領域FRにおける画素値読出処理では、第1行目LN1の画素PE0から順に画素値が画素値記憶部307に入力され、第1行目LN1の画素PE10まで画素値の入力が終了すると、画素PE11から順に第2行目LN2の画素の画素値が入力される。以後、読出領域RNに含まれる全ての入力画素の画素値が読み出されるまで、画素値の読み出しが順次に行われる。
このような画素値読出処理によって、ラインメモリ371には、参照領域FRにおける1ライン分の画素の画素値が記憶されることになる。例えば、画像データ記憶部22から第2行目LN2の画素PE18の画素値が読み出され、画素値記憶部307に入力される場合を想定する。
このとき、ラインメモリ371には、画素PE18直前の1ライン分の画素、すなわち第1行目LN1の画素PE7から第2行目LN2の画素PE17までの11個の画素PE7〜PE18に関する各画素値が記憶されていることになる。またこのとき、レジスタRG1には、ラインメモリ371から前回出力された第1行目LN1の画素PE6の画素値が保持され、レジスタRG2には、画素値記憶部307に前回入力された第2行目LN2の画素PE17の画素値が保持されていることになる。
このような状態において、上記想定どおり画素値記憶部307に画素PE18の画素値が入力されると、第1メモリLM1には、ラインメモリ371から出力された画素PE7の画素値が記憶されることになる。第2メモリLM2には、レジスタRG1に保持されていた画素PE6の画素値が記憶されることになる。第3メモリLM3には、入力された当該画素PE18の画素値がそのまま記憶されることになる。第4メモリLM4には、レジスタRG2に保持されていた画素PE17の画素値が記憶されることになる。
ここで、ローカルメモリLMに記憶されている各画素値を有する各画素の位置をみると、ローカルメモリLMには、参照領域FRに設定された整数の相対座標によって規定される格子(空間格子)の各格子点に位置する画素(「格子画素」とも称する)の画素値が記憶されていることが分かる。例えば、第2行目LN2の画素PE18の画素値が画素値記憶部307に入力される上記想定では、格子KC1(図12の斜線ハッチング領域を参照)の各格子点に位置する画素PE6,PE7,PE17,PE18の各画素値がローカルメモリLMに記憶されている。
そして、ローカルメモリLMに記憶される画素値は、画像データ記憶部22から新たな画素の画素値が入力される度に、記憶対象とする格子の位置を変更しつつ、更新されることになる。例えば、上記想定からさらに進展して、次の画素PE19(すなわち、画素PE18に隣接する画素PE19)の画素値が画素値記憶部307に入力されると、ローカルメモリLMには、格子KC2の各格子点に位置する画素PE7,PE8,PE18,PE19の各画素値がローカルメモリLMに記憶されることになる。
このように画素値記憶部307は、隣り合う4つの画素で形成された格子の格子点の組を、入力された各画素を組み替えることによって編成する編成機能(編成手段)を有し、画素値記憶部307では、当該編成機能によって編成された格子画素の画素値が、ローカルメモリLMに同時期に一時的に記憶された状態となる。
図5に戻って、画素値読込段階ST3における座標検索処理では、連想メモリ303と読出位置特定部306との協働により、連想メモリ303に記憶された対応相対位置の位置情報の中から、画像データ記憶部22から画素値記憶部307に入力された画素の読み出し位置に関連した位置情報を検索する処理が行われる。図14は、読出領域RN中の或る参照領域FRに含まれる各対応相対位置と連想メモリ303の記憶状態との関係を示す図である。
具体的には、画像データ記憶部22から読出領域RNに含まれる入力画素の読み出しが開始されると、読出領域決定部305の制御に応じて、読出位置特定部306では、読み出された画素の読出位置がカウントされる。読出位置のカウントは、入力画素の読み出しに応じて、読出領域RNにおける読出位置を示す座標を更新することによって行われる。
読出位置が更新されると、更新された読出位置は、各参照領域FRそれぞれの基準点KPを原点とした相対座標系に変換される。このような座標変換は、読出位置を示す座標から各参照領域FRそれぞれの基準点KPを差し引くことによって、行うことができる。
また、読出位置特定部306では、座標変換後の読出位置の座標に基づいて、現在の読出位置がいずれの参照領域FRに含まれるかが特定される。
そして、読出位置特定部306は、現在の読出位置が、いずれの参照領域FRに含まれるかに関する情報(「所属領域情報」とも称する)を、セレクタSLおよび連想メモリ303に出力するとともに、座標変換後の読出位置の座標を、連想メモリ303に出力する。
連想メモリ303では、読出位置特定部306から入力された所属領域情報に基づいて、現在の読出位置における参照領域FRに含まれる対応ブロック内の対応相対位置の位置情報を記憶した連想メモリ303が特定される。
そして、特定された連想メモリ303では、当該連想メモリ303に記憶された対応相対位置の位置情報の中から、読出位置特定部306より入力された読出位置の座標よりもx座標およびy座標の値がいずれも「1」ずつ小さい座標の位置情報が検索される。当該検索によって、連想メモリ303に記憶された対応相対位置の位置情報の中から、入力された読出位置の座標よりも(1,1)分小さい位置情報が発見された場合は、連想メモリ303は、当該対応相対位置の位置情報を記憶する番地、換言すれば当該対応相対位置の通し番号を含む信号を画素値記憶部307に対して出力する。
例えば、図14に示されるように、画像データ記憶部22から画素PE18の画素値が読み出された場合は、参照領域FRにおける画素PE18の座標(7,1)が、読出位置特定部306から連想メモリ303に入力される。連想メモリ303では、連想メモリ303に記憶された対応相対位置の位置情報の中から、入力された読出位置の座標(7,1)よりも(1,1)分小さい座標(6,0)を有する位置情報の検索が行われる。図14に示されるように、連想メモリ303には、「5」番地に座標(6,0)の対応相対位置の位置情報が記憶されていることから、連想メモリ303は、通し番号「5」を画素値記憶部307に出力することになる。
このような座標検索処理は、上記画素値読出処理と並行して行われ、次の特定画素値記憶処理(図5参照)では、座標検索処理の処理結果と画素値読出処理の処理結果とを反映した処理が行われる。図15は、ローカルメモリLMの記憶状態を示す図である。図16は、読出領域RNの一部を示す図である。
具体的には、特定画素値記憶処理では、連想メモリ303からの信号入力に応じて、ローカルメモリLMに記憶されている各画素値の記憶処理が行われる。より詳細には、特定画素値記憶処理では、連想メモリ303から信号入力があると、当該信号の入力時点においてローカルメモリLMに一時的に記憶されている各画素値が、当該信号に含まれる通し番号によって指定される番地に特定画素値として記憶される。
例えば、画像データ記憶部22から画素PE18の画素値が読み出される上記想定では、画素値読出処理によって、画素PE6,PE7,PE17,PE18の各画素値がローカルメモリLMに一時的に記憶された状態になるとともに、座標検索処理によって、通し番号「5」を含む信号が画素値記憶部307に出力されることになる。このような状態で特定画素値記憶処理が実行されると、図15に示されるように、ローカルメモリLMに一時的に記憶されている画素PE6の画素値PV(6,0)、画素PE7の画素値PV(7,0)、画素PE17の画素値PV(6,1)、および画素PE18の画素値PV(7,1)が、ローカルメモリLM内の通し番号「5」によって指定される番地「5」に記憶されることになる。より詳細には、ローカルメモリLM内の第1メモリLM1、第2メモリLM2、第3メモリLM3および第4メモリLM4それぞれにおいて一時的に記憶されていた各画素値が、第1メモリLM1、第2メモリLM2、第3メモリLM3および第4メモリLM4それぞれの「5」番地に記憶される。
ここで、ローカルメモリLMの「5」番地に記憶された各画素値は、上述のように、通し番号「5」番の対応相対位置PU5を内包する格子KC1の各格子点に位置する画素PE6,PE7,PE17,PE18の画素値となる(図16参照)。すなわち、画像データ記憶部22から画素PE18の画素値が読み出された場合は、対応相対位置PU5を内包する格子画素PE6,PE7,PE17,PE18の画素値がローカルメモリLMに記憶される。
このような対応相対位置を内包する格子画素(「内包格子画素」とも称する)の画素値を記憶する処理は、読出領域RNに含まれる各参照領域FRにおける全ての対応相対位置について行われる。すなわち、特定画素値記憶処理では、各参照領域FRに含まれる対応相対位置それぞれに関する、4つの内包格子画素の画素値が特定画素値として、参照領域ごとに対応して設けられた各画素値記憶部307のローカルメモリLMの所定番地に記憶されることになる。
このように、画素値読込段階ST3では、画像データ記憶部22から読出領域RNに含まれる入力画素が読み出される度に、対応相対位置を内包する内包格子画素が読み出されたか否かが判定される。そして、或る対応相対位置を内包する内包格子画素が読み出されたと判定された場合は、当該内包格子画素の画素値が、当該或る対応相対位置の識別番号(ここでは、通し番号)と関連付けて記憶される。
なお、内包格子画素が読み出されたか否かの判定は、連想メモリ303の検索機能によって実現されるため、連想メモリ303は、内包格子画素が読み出されたか否かの判定手段として機能するとも表現できる。また、内包格子画素は、後述の画素値算出処理による対応相対位置に対応した出力画素の画素値の算出のために用いられる対応相対位置周辺の画素(「周辺画素」とも称する)となる。
図5に示されるように、画素値読込段階ST3が終了すると、歪み補正処理は、出力画素値算出段階ST4へと移行する。出力画素値算出段階ST4では、相対座標取得処理と、画素値算出処理とが実行される。図17は、出力画素値の算出の様子を示す図である。
相対座標取得処理は、相対座標取得部301によって実行され、各実行対象ブロックBTを構成する全ての出力画素の入力画像IG上での対応相対位置の相対座標が取得される。対応相対位置の相対座標は、上述の対応位置特定処理とオフセット処理と相対座標算出処理とを再度実行することによって取得できる。或いは、相対座標取得段階ST1において、算出された対応相対位置の相対座標を一旦記憶し、記憶しておいた対応相対位置の相対座標を用いる態様としてもよい。
画素値算出処理は、画素値算出部308によって実行され、対応相対位置の相対座標と当該対応相対位置についての内包格子画素の画素値とを用いたバイリニア補間によって、当該対応相対位置における画素値が算出される。
例えば、図17に示されるように、通し番号「2」番の対応相対位置PU2における画素値を算出する場合は、ローカルメモリLMの「2」番地に格納された内包格子画素の画素値が読み出され、対応相対位置PU2の相対座標と4つの内包格子画素PE14,PE15,PE25,PE26の画素値PV(3,1),PV(4,1)PV(3,2),PV(4,2)とを用いたバイリニア補間によって、対応相対位置PU2の画素値が算出される。そして、当該画素値算出処理によって算出された対応相対位置PU2の画素値は、出力画像UGの実行対象ブロックBTにおいて対応する出力画素PT2の画素値として出力されることになる。
このような対応相対位置における画素値の算出処理は、各実行対象ブロックBTにおける全ての出力画素について行われ、画素値算出処理によって、各実行対象ブロックBTにおける全ての出力画素の画素値が算出されることになる。そして、画素値算出部308から出力された出力画素の画素値は、出力データ記憶部309に転送され、記憶される。
以上のように、画像処理装置1Aは、入力画像IGに歪み補正処理を施して出力画像UGを出力する画像処理装置であって、出力画像UGを分割して得られる矩形領域BK中の所定画素に対する、入力画像IG上での対応位置を取得する相対座標取得部301と、矩形領域BKの入力画像IG上での対応領域を内包した参照領域FRを、出力画像UG上で連続して並ぶ複数の矩形領域BKそれぞれについて特定する参照領域特定部304と、上記複数の矩形領域BKそれぞれに関する各参照領域FRを併合して、併合領域を得る読出領域決定部305と、入力画像IGにおいて、併合領域に含まれる各画素の画素値を読み出させる読出制御手段と、当該読出制御手段によって読み出された画素の画素値を用いて、歪み補正処理を実行し、出力画像UGの画素値を取得する補正処理手段とを備えている。
このような画像処理装置1Aでは、出力画像UG上で連続して並ぶ複数の矩形領域BKそれぞれに関する各参照領域FRを併合し、併合して得られた併合領域に含まれる、入力画像IG上の各画素の画素値が読み出される。このため、参照領域FRごとに入力画像IG上の各画素の画素値を読み出す場合に比べて、画素の重複読み出しを減らすことができるので、画像データの転送量を減らすことが可能になり、ひいては、画像データの読み出しに要する時間を短縮することができる。
また、画像処理装置1Aでは、入力画像IGにおいて、併合領域に含まれる各画素の画素値が、画素の行ごとに行方向に沿って順次に読み出される。これによれば、画像データ記憶部22からのデータ読み出しに際して、行方向に長くアクセスすることが可能になり、メモリの転送効率を高めることができる。より詳細には、連続して並ぶブロックを併合した併合領域単位で画像データを読み出すことによれば、ブロックBKごとに画像データを読み出す場合に比べて、一度に行うメモリ転送の単位を大きくすることができるので、データの転送効率を高めることができる。
<2.変形例>
以上、実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
例えば、上記実施形態では、2つの参照領域FRを併合して読出領域RNを決定する場合について例示したが、併合する参照領域FRの数は、2つに限定されず、3つ以上であってもよい。図18は、4つの参照領域を併合して得られる読出領域を示す図である。
具体的には、図18で示されるように、4つの対応ブロックTB10〜TB13を内包する各参照領域を併合することによって得られる領域RNaを読出領域としてもよい。
また、読出領域決定部305は、各参照領域FRをそのまま併合して併合領域を得ていたが、参照領域FRを加工した後、加工後の参照領域FRを併合して読出領域を決定する態様としてもよい。図19は、加工後の参照領域FRを併合して得られる併合領域の一例を示す図である。
具体的には、図19に示されるように、各参照領域FRに対して、領域の角を削る面取り処理を施し、面取り処理後の領域を併合して得られる併合領域を、読出領域としてもよい。
より詳細には、読出領域決定部305は、対応ブロックTBの頂点ごとに、当該頂点を通る直線であって所定角度の傾きを有した直線(切取直線)LKをそれぞれ求め、参照領域FRにおいて、当該切取直線LKによって切り取られる除外領域RE1,RE2(図19の斜線ハッチング領域)を特定する。そして、読出領域決定部305は、参照領域FRから除外領域RE1,RE2を省いて得られる領域を、面取り処理後の領域とする。このような処理を各参照領域FRそれぞれに対して施すことによって、各参照領域FRに関する、面取り処理後の領域をそれぞれ求める。そして、各参照領域FRに関する面取り処理後の領域を併合して、読出領域RNbを決定する。
このように、各参照領域FRに対して、面取り処理を施し、面取り処理後の領域を併合して読出領域RNbを決定することによれば、出力画素の画素値の算出に用いない不要な画素を読出対象から省くことができるので、読み出しによる画像データの転送量を減らすことが可能になる。
なお、切取直線LKによって参照領域FRを分断すると2つの領域が得られるが、2つの領域のうち、面積の小さい領域が除外領域RE1(RE2)とされる。また、入力画像において、隣り合う4つの画素によって格子領域を形成した場合、切取直線LKが通る各格子領域の各格子点に位置する各画素は、面取り処理によって取り除かれない画素、すなわち除外領域RE1,RE2に含まれない画素となる。
また、除外領域RE1,RE2の特定に用いられる切取直線LKの傾きは、±45度であることが好ましい。面取り処理を行わないときの通常の読出領域、±45度の傾きを有する直線を用いて面取り処理を行ったときの読出領域、および対応ブロックそれぞれに含まれる画素数の比は、113:101:100となる。このように、面取り処理によって読み出す画素数を大幅に減らすことが可能になる。
また、上記実施形態では、歪み補正部30を一つ有する構成としていたが、これに限定されず、歪み補正部を複数個有する構成としてもよい。図20は、変形例に係る画像処理装置1Bの構成を示す概略図である。
具体的には、図20に示される画像処理装置1Bでは、第2処理回路3において、複数の歪み補正部30A〜30Cが設けられている。当該画像処理装置1Bでは、各歪み補正部30A〜30Cにおいて、同一の出力画像UGにおける異なる実行対象領域BRについての歪み補正処理が並行して行われる。このように、複数の歪み補正部30A〜30Cを設けて、歪み補正処理を並行して行うことによれば、スループットの向上および歪み補正処理の高速化を実現することができる。
なお、歪み補正処理を並行して実行する場合、各歪み補正部30A〜30Cにおける歪み補正処理は、歪み補正処理の処理段階ST1〜ST4をずらして実行してもよい。例えば、歪み補正部30Aにおいて実行される歪み補正処理の処理段階が、相対座標取得段階ST1であった場合は、歪み補正部30Bでは画素値読込段階ST3、歪み補正部30Cでは出力画素値算出段階ST4となるように歪み補正処理の実行タイミングがずらされる。このように各歪み補正部30A〜30Cにおいて、歪み補正処理の実行タイミングをずらすことによれば、歪み補正処理によるバスの利用を分散することができるので、バスの利用効率を高めることができる。
また、上記実施形態の画像処理装置1Aにおいて、歪み補正部30の後段に圧縮処理部37をさらに設けてもよい。図21は、変形例に係る画像処理装置1Cの構成を示す図である。
具体的には、図21の画像処理装置1Cは、第2処理回路3において圧縮処理部37をさらに有し、圧縮処理部37は、画素値算出部308から入力された画像データに対して、例えばJPEG方式で圧縮処理を施す。ここで、画像の圧縮処理は、画像を所定サイズ(例えば8×8画素)のブロックに分割して、ブロック単位で行われるため、歪み補正部30の後段に圧縮処理部37を設けることが、回路上、好適な配置となる。
具体的には、歪み補正部30からは、歪み補正処理の施された画像データがブロック単位で出力される。このため、歪み補正部30の後段に圧縮処理部37を設けると、圧縮処理部37には、ブロック単位の画像データが入力されることになり、圧縮処理部37では、入力されたブロック単位の画像データに対してそのまま圧縮処理を施すことが可能になる。このように、歪み補正部30の後段に圧縮処理部37を設けることによれば、画像データを一時記憶するための記憶部(例えばレジスタ)を設けることなく、歪み補正処理と圧縮処理とを連続して行うことができ、回路構成の単純化を図ることが可能になる。
また、上記実施形態では、実行対象ブロックBTの大きさが8×8画素である場合を例示したが、これに限定されず、実行対象ブロックBTの大きさを32×32画素、または128×128画素としてもよい。
また、上記実施形態では、歪み情報に基づいて、各実行対象ブロックBTにおける1の頂点画素および頂点隣接画素の入力画像IG上での対応位置がそれぞれ特定される態様としていたが、これに限定されない。
具体的には、歪み情報に基づいて、複数の実行対象ブロックBTをひとまとまりにして形成される領域(複数ブロック領域)における1の頂点画素および頂点隣接画素の入力画像IG上での対応位置がそれぞれ特定される態様としてもよい。複数ブロック領域に含まれる各実行対象ブロックBTの位置は、予め既知である。このため、複数ブロック領域における1の頂点画素および頂点隣接画素の入力画像IG上での対応位置を用いた補間演算により、複数ブロック領域に含まれる各実行対象ブロックBTそれぞれの1の頂点画素および頂点隣接画素を特定することができる。
このように、複数ブロック領域における1の頂点画素および頂点隣接画素の入力画像IG上での対応位置に基づいて、複数ブロック領域に含まれる各実行対象ブロックBTそれぞれの1の頂点画素および頂点隣接画素を算出することによれば、レンズデータ記憶部21に記憶する歪み情報の情報量を削減することが可能になる。また、レンズデータ記憶部21からのデータの転送量をも減らすことができる。
また、上記実施形態では、画像処理装置1Aにおいて歪み補正処理を実現していたが、これに限定されない。図22は、変形例に係る撮像装置100を示す図である。
図22に示されるように、撮像装置100は、例えば、COMSセンサまたはCCDセンサなどの撮像素子101を有して構成され、被写体像を形成する光(被写体光)を受光して、被写体像に関する画像信号を生成する機能を有している。
撮像素子101で取得された撮影画像の画像データは、第1処理回路2の画像データ記憶部22に記憶される。そして、撮像装置100では、当該画像データに対して、第2処理回路3の歪み補正部30によって上述の歪み補正処理が施される。
1A,1B,1C 画像処理装置
2 第1処理回路
3 第2処理回路
21 レンズデータ記憶部
22 画像データ記憶部
30,30A〜30C 歪み補正部
301 相対座標取得部
302 レンズデータ読出制御部
303 連想メモリ
304 参照領域特定部
305 読出領域決定部
306 読出位置特定部
307 画素値記憶部
308 画素値算出部
309 出力データ記憶部
LM ローカルメモリ
BK,BK1,BK2 ブロック(矩形領域)
BR 実行対象領域
BT,BT1,BT2 実行対象ブロック
FR,FR1,FR2 参照領域
IG 入力画像
UG 出力画像
KP 基準点
LF 注目行
LK 切取直線
RN,RNa,RNb 読出領域
TB,TB1,TB2,TB10〜TB13 対応ブロック

Claims (6)

  1. 入力画像に歪み補正処理を施して出力画像を出力する画像処理装置であって、
    前記出力画像を分割して得られる矩形領域中の所定画素に対する、前記入力画像上での対応位置を取得する取得手段と、
    前記矩形領域の前記入力画像上での対応領域を内包した参照領域を、前記出力画像上で連続して並ぶ複数の矩形領域それぞれについて特定する特定手段と、
    前記複数の矩形領域それぞれに関する各参照領域を併合して、併合領域を得る併合手段と、
    前記入力画像において、前記併合領域に含まれる各画素の画素値を読み出させる読出制御手段と、
    前記読出制御手段によって読み出された各画素の画素値を用いた補間演算により、前記出力画像の画素値を取得する補正処理手段と、
    を備える画像処理装置。
  2. 前記読出制御手段は、前記各画素の画素値を画素の行ごとに行方向に沿って順次に読み出させる請求項1に記載の画像処理装置。
  3. 前記特定手段は、矩形の領域を前記参照領域として特定し、
    前記併合手段は、矩形の前記参照領域に対して、領域の角を削る面取り処理を施し、前記面取り処理後の領域を用いて、併合領域を得る請求項1または請求項2に記載の画像処理装置。
  4. 前記併合手段は、前記矩形領域の頂点に対する、前記入力画像上での対応位置を通る直線であって、所定角度の傾きを有した直線を前記参照領域上に仮想的に規定し、前記直線によって前記参照領域を分断して得られる2つの領域のうち、面積の小さい領域を前記参照領域から除外する請求項3に記載の画像処理装置。
  5. 前記補正処理手段は、
    前記対応位置の位置情報を記憶する第1記憶手段と、
    前記位置情報に基づいて、前記所定画素の画素値の算出に用いる前記対応位置周辺の周辺画素の画素値が前記読出制御手段によって読み出されたか否かを判定する判定手段と、
    前記判定手段によって前記周辺画素の画素値が読み出されたと判定された場合、前記周辺画素の画素値を記憶する第2記憶手段と、
    前記第2記憶手段に記憶された前記周辺画素の画素値を用いた補間によって、前記所定画素の画素値を算出する算出手段と、
    を備える請求項1から請求項4のいずれかに記載の画像処理装置。
  6. 入力画像に歪み補正処理を施して出力画像を出力する画像処理装置の動作方法であって、
    a)前記出力画像を分割して得られる矩形領域中の所定画素に対する、前記入力画像上での対応位置を取得する工程と、
    b)前記矩形領域の前記入力画像上での対応領域を内包した参照領域を、前記出力画像上で連続して並ぶ複数の矩形領域それぞれについて特定する工程と、
    c)前記複数の矩形領域それぞれに関する各参照領域を併合して、併合領域を得る工程と、
    d)前記入力画像において、前記併合領域に含まれる各画素の画素値を読み出させる工程と、
    e)前記d)工程において読み出された各画素の画素値を用いた補間演算により、前記出力画像の画素値を取得する工程と、
    を備える画像処理装置の動作方法。
JP2012050226A 2012-03-07 2012-03-07 画像処理装置、および画像処理装置の動作方法 Active JP5893445B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012050226A JP5893445B2 (ja) 2012-03-07 2012-03-07 画像処理装置、および画像処理装置の動作方法
US13/785,183 US8953904B2 (en) 2012-03-07 2013-03-05 Image processing apparatus and method of operating image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012050226A JP5893445B2 (ja) 2012-03-07 2012-03-07 画像処理装置、および画像処理装置の動作方法

Publications (2)

Publication Number Publication Date
JP2013186624A true JP2013186624A (ja) 2013-09-19
JP5893445B2 JP5893445B2 (ja) 2016-03-23

Family

ID=49114190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012050226A Active JP5893445B2 (ja) 2012-03-07 2012-03-07 画像処理装置、および画像処理装置の動作方法

Country Status (2)

Country Link
US (1) US8953904B2 (ja)
JP (1) JP5893445B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016103169A (ja) * 2014-11-28 2016-06-02 株式会社リコー 画像処理装置、画像処理方法および電子機器
JP2017175498A (ja) * 2016-03-25 2017-09-28 日立オートモティブシステムズ株式会社 画像処理装置及び画像処理方法
WO2021053948A1 (ja) * 2019-09-20 2021-03-25 ソニー株式会社 画像処理装置と画像処理方法およびプログラム
JP7513032B2 (ja) 2019-09-20 2024-07-09 ソニーグループ株式会社 画像処理装置と画像処理方法およびプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6762775B2 (ja) * 2016-06-20 2020-09-30 キヤノン株式会社 画像処理装置、撮像装置、制御方法及びプログラム
JP2018128937A (ja) * 2017-02-09 2018-08-16 コニカミノルタ株式会社 画像処理装置、画像処理方法およびプログラム
CN112930557A (zh) * 2018-09-26 2021-06-08 相干逻辑公司 任何世界视图生成
CN113962877B (zh) * 2019-07-17 2024-06-25 中国电子科技集团公司第十三研究所 一种像素畸变的校正方法、校正装置及终端

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101396A (ja) * 1999-09-30 2001-04-13 Toshiba Corp 画像歪み補正処理装置および方法、並びに画像歪み補正処理を行うプログラムを格納した媒体
JP2005044098A (ja) * 2003-07-28 2005-02-17 Olympus Corp 画像処理装置及び画像処理方法
WO2008139577A1 (ja) * 2007-05-09 2008-11-20 Fujitsu Microelectronics Limited 画像処理装置、撮像装置、および画像歪み補正方法
US20100111440A1 (en) * 2008-10-31 2010-05-06 Motorola, Inc. Method and apparatus for transforming a non-linear lens-distorted image
JP2010154035A (ja) * 2008-12-24 2010-07-08 Akuseru:Kk ディストーション補正装置
JP2011002940A (ja) * 2009-06-17 2011-01-06 Olympus Imaging Corp 画像処理装置及び撮像装置
JP2011071622A (ja) * 2009-09-24 2011-04-07 Fujitsu Ltd 動き検出回路
JP2011113234A (ja) * 2009-11-26 2011-06-09 Mega Chips Corp 画像処理装置、および画像処理装置の動作方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613357B2 (en) * 2005-09-20 2009-11-03 Gm Global Technology Operations, Inc. Method for warped image object recognition

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001101396A (ja) * 1999-09-30 2001-04-13 Toshiba Corp 画像歪み補正処理装置および方法、並びに画像歪み補正処理を行うプログラムを格納した媒体
JP2005044098A (ja) * 2003-07-28 2005-02-17 Olympus Corp 画像処理装置及び画像処理方法
WO2008139577A1 (ja) * 2007-05-09 2008-11-20 Fujitsu Microelectronics Limited 画像処理装置、撮像装置、および画像歪み補正方法
US20100111440A1 (en) * 2008-10-31 2010-05-06 Motorola, Inc. Method and apparatus for transforming a non-linear lens-distorted image
JP2010154035A (ja) * 2008-12-24 2010-07-08 Akuseru:Kk ディストーション補正装置
JP2011002940A (ja) * 2009-06-17 2011-01-06 Olympus Imaging Corp 画像処理装置及び撮像装置
JP2011071622A (ja) * 2009-09-24 2011-04-07 Fujitsu Ltd 動き検出回路
JP2011113234A (ja) * 2009-11-26 2011-06-09 Mega Chips Corp 画像処理装置、および画像処理装置の動作方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6015047347; 関 海克、外2名: '"画像処理による歪曲収差補正とパノラマ画像"' RICOH TECHNICAL REPORT No.23, 19970925, pp.45-52, 株式会社リコー *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016103169A (ja) * 2014-11-28 2016-06-02 株式会社リコー 画像処理装置、画像処理方法および電子機器
JP2017175498A (ja) * 2016-03-25 2017-09-28 日立オートモティブシステムズ株式会社 画像処理装置及び画像処理方法
US10672100B2 (en) 2016-03-25 2020-06-02 Hitachi Automotive Systems, Ltd. Image processing apparatus and image processing method
WO2021053948A1 (ja) * 2019-09-20 2021-03-25 ソニー株式会社 画像処理装置と画像処理方法およびプログラム
JP7513032B2 (ja) 2019-09-20 2024-07-09 ソニーグループ株式会社 画像処理装置と画像処理方法およびプログラム

Also Published As

Publication number Publication date
JP5893445B2 (ja) 2016-03-23
US20130236118A1 (en) 2013-09-12
US8953904B2 (en) 2015-02-10

Similar Documents

Publication Publication Date Title
JP5593060B2 (ja) 画像処理装置、および画像処理装置の動作方法
JP5893445B2 (ja) 画像処理装置、および画像処理装置の動作方法
CN107274338B (zh) 用于深度图的低等待时间变形的系统、方法和装置
US10356385B2 (en) Method and device for stereo images processing
US11620757B2 (en) Dense optical flow processing in a computer vision system
EP3161793B1 (en) Adaptive partition mechanism with arbitrary tile shape for tile based rendering gpu architecture
US9299182B2 (en) Divided-area-based rendering device and divided-area-based rendering method
US9460489B2 (en) Image processing apparatus and image processing method for performing pixel alignment
JP2010176547A (ja) 画像処理装置に含まれる制御装置、制御方法、及び制御処理プログラム
JP2005134976A (ja) 外観検査装置用画像処理装置
CN105427235A (zh) 一种图像浏览方法及系统
CN117115200A (zh) 用于致密光学流的阶层式数据组织
JP2021157404A (ja) 学習データ生成方法、学習データ生成装置、及び、プログラム
CN115294277B (zh) 一种物体的三维重建方法、装置、电子设备及存储介质
EP3474224B1 (en) Graphics processing method and device
JP6012207B2 (ja) データ転送装置
US10269131B2 (en) Image processing apparatus and image processing method
JP6110807B2 (ja) 画像処理装置
JP2021131377A (ja) 生成装置、生成方法およびプログラム
JP2010033507A (ja) メモリコントローラおよび画像処理装置
US8934736B2 (en) Image processing apparatus, image processing system, and method for having computer process image
CN111435416B (zh) 基于多流水线的条形码图像解析方法、装置及存储介质
US8417063B2 (en) Image processing apparatus and image processing system
JP2006338334A (ja) データ処理装置及びデータ処理方法
JP5669199B2 (ja) 画像描画装置、画像描画方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160224

R150 Certificate of patent or registration of utility model

Ref document number: 5893445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250