JP2016100717A - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP2016100717A
JP2016100717A JP2014235697A JP2014235697A JP2016100717A JP 2016100717 A JP2016100717 A JP 2016100717A JP 2014235697 A JP2014235697 A JP 2014235697A JP 2014235697 A JP2014235697 A JP 2014235697A JP 2016100717 A JP2016100717 A JP 2016100717A
Authority
JP
Japan
Prior art keywords
image
coordinates
correction
correction image
reading
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
JP2014235697A
Other languages
English (en)
Other versions
JP6440465B2 (ja
Inventor
江幡 裕也
Hironari Ehata
裕也 江幡
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014235697A priority Critical patent/JP6440465B2/ja
Publication of JP2016100717A publication Critical patent/JP2016100717A/ja
Application granted granted Critical
Publication of JP6440465B2 publication Critical patent/JP6440465B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】記憶容量、回路規模及び消費電力を抑え、高性能に歪補正を行うことができるようにする。【解決手段】DRAMなどのメモリからSRAMなどの矩形画像保持部に矩形画像を書き込むために座標演算部で座標を演算し、矩形画像の周辺座標を出力する制御を行っている期間と、画素補間部が矩形画像保持部から矩形画像を画素単位で読み出すために、座標演算部で演算している期間とを交互に設け、補正前画像をメモリから読み出す時の座標の演算と、補正前画像を矩形画像保持部から読み出す時の座標の演算とを、1つの補正前座標演算部で実行する。【選択図】図1

Description

本発明は、特に、光学的要因による歪みを信号処理によって補正するために用いて好適な画像処理装置、画像処理方法及びプログラムに関する。
近年、デジタルカメラやビデオカメラ等の撮像装置では、撮像レンズにおける歪曲収差の特性の影響により、光学的要因による歪みが撮像画像に生じる。高価な高性能のレンズでは、歪曲収差の特性の影響が小さいため、このような歪みは目立たない。しかし、低コストのレンズや光学ズームレンズを使用した場合には、歪みが目立つようになり画質が劣化する。そこで、近年、光学的要因による歪みを信号処理によって補正する撮像装置が、例えば、特許文献1及び2に提案されている。
特許文献1には、歪補正処理部が歪補正処理を行うのに必要な歪補正前(入力)画像範囲を算出する歪補正範囲算出部を備えた技術が開示されている。この構成により、歪補正によって得られる補正画像(出力画像)は画像出力範囲に対して過不足なく出力することを可能としている。そして、元データである入力画像データを有効に活用した歪補正処理を行い、糸巻き型歪や、樽型歪、陣笠型歪などに対しても有効な歪補正処理を行うことが提案されている。
さらに特許文献2に記載の方法では、補正後画像座標系に対応する補正前座標を記憶し、補正後画像の各画素に対応する補正前座標を記憶部から読み出して座標を出力する。そして出力された補正前座標に対応する補正前画像のデータを、補正後画像の画素のデータとして出力する。ここで、座標出力部から出力された補正前座標が小数点以下の数値を含む場合には、補正前座標の近傍複数画素のデータを基に加重平均を算出することにより、その補正前座標に対応する補正後画像の画素のデータを出力している。
特開2005−44098号公報 国際公開第2008/139577号
しかしながら、特許文献1に開示されている技術では、補正後画像の座標を基準に補正前画像のどの位置から画素を取ってくるかの演算を行う関係上、入力部と歪補正演算部との両方で歪補正前座標が必要となる。そのため、座標演算回路が2つ必要となり、回路規模及び消費電力が増加してしまう。
また、光学ズーム倍率に応じて歪み率は異なってくるため、特許文献2に開示されている技術では、補正後画像座標系に対応する補正前座標を記憶することから、ズーム倍率に応じた補正前座標を記憶しておく必要がある。そのため、記憶容量が増大する可能性がある。そこで、特許文献2には、矩形ブロックに分けて頂点のみの座標を保持する技術が開示されているが、この場合、糸巻き型歪、樽型歪には対応できるが、陣笠型歪の対応が困難となる可能性がある。
さらに、補正前画像をブロックラインバッファに保持しているが、ブロックラインバッファは、補正前画像と補正後画像との間での座標の最大移動分の垂直ライン分必要となるため、次のことが懸念される。例えばブロックラインバッファをSRAMとした場合は、近年の画素数増加に伴い水平画素数が多くなっているため、膨大なデータ量に対応するための記憶容量が不足するという問題がある。また、ブロックラインバッファをDRAMとした場合は、記憶容量は十分に備えているが、補正前座標が小数点以下の場合は、補間用に近傍複数画素のデータをDRAMから読み出すことになるため、ランダムアクセスが発生して性能が低下するという問題がある。
本発明は前述の問題点に鑑み、記憶容量、回路規模及び消費電力を抑え、高性能に歪補正を行うことができるようにすることを目的としている。
本発明に係る画像処理装置は、光学系を用いて被写体が撮像された画像データにおける前記光学系の歪曲収差を補正する画像処理装置であって、前記画像データを補正前画像として記憶する第1の記憶手段と、前記歪曲収差が補正された補正後画像の座標を生成する座標生成手段と、前記座標生成手段によって生成された補正後画像の座標に対応する前記補正前画像の座標を演算する演算手段と、前記演算手段によって演算された前記補正前画像における矩形領域の一部の座標を元に、前記第1の記憶手段から前記補正前画像を矩形領域ごとに読み出す読み出し制御手段と、前記読み出し制御手段によって読み出された補正前画像を矩形領域ごとに一時的に記憶する第2の記憶手段と、前記演算手段によって演算された前記補正前画像における矩形領域内の座標を元に、前記第2の記憶手段から前記補正前画像を読み出して前記補正後画像を生成する画像処理手段とを有し、前記座標生成手段は、前記第1の記憶手段から前記補正前画像を読み出す座標を前記演算手段が演算するための座標を生成するとともに、前記第2の記憶手段から前記補正前画像を読み出す座標を前記演算手段が演算するための座標を生成し、前記演算手段は、前記第1の記憶手段から前記補正前画像を読み出すための座標、または前記第2の記憶手段から前記補正前画像を読み出すための座標を演算することを特徴とする。
本発明によれば、記憶容量、回路規模及び消費電力を抑え、高性能に歪補正を行うことができる。
実施形態に係る収差補正部の詳細な構成例を示すブロック図である。 実施形態に係るデジタルカメラの構成例を示すブロック図である。 第1の実施形態における補正前座標演算部の詳細な構成例を示すブロック図である。 画像の中心と補正前画像の画素位置と補正後画像の画素位置とを示した図である。 矩形画像保持部における入出力の関係を模式的に示した図である。 第1の実施形態において、座標演算部の処理状況と、矩形画像保持部へ矩形画像を書き込むタイミングとを説明するための図である。 収差により樽型歪が生じた補正前画像と補正後画像とを示す図である。 収差補正部による1矩形画像の補正前座標の演算処理手順の一例を示すフローチャートである。 収差により糸巻きが生じた補正前画像及び補正後画像の矩形分割を示した図である。 第2の実施形態における補正前座標演算部の詳細な構成例を示すブロック図である。 第2の実施形態において、座標演算部の処理状況と、矩形画像保持部へ矩形画像を書き込むタイミングとを説明するための図である。
(第1の実施形態)
以下、図面を参照しながら本発明の第1の実施形態について説明する。なお、本実施形態では画像処理装置の一例としてデジタルカメラについて説明するが、デジタルビデオカメラ、カメラ付き携帯電話、車載カメラ等の撮像装置あるいは、プロジェクタなど収差補正が必要な装置を採用することも可能である。
図2は、本実施形態に係るデジタルカメラ10の構成例を示すブロック図である。
図2において、撮像素子200は、受光した被写体像を電気信号に変換して画像データを作成するCCDやCMOSセンサ等の受光素子である。A/D変換器201は、撮像素子200のアナログ出力信号をデジタル信号に変換する。
画像処理部202は、撮像/現像処理部203、収差補正部100及びDMAC110を備えている。さらに、画像バッファメモリ、画像データの圧縮処理や伸長処理を行う圧縮伸長部、モニタなどに表示する表示部、記録媒体に画像データを記録する記録処理部(いずれも図示せず)などを備えている。
撮像/現像処理部203は、A/D変換器201により変換された画像データに対して黒レベル補正、シェーディング補正などを適正に行う。また、撮像/現像処理部203は、補正処理された画像データや、画像バッファメモリまたはメモリ107に格納された画像データに対して以下の処理を行う。具体的には、画素補間やフィルタ処理、縮小といったリサイズ処理や色変換処理、例えば圧縮画像データに保存するのに最適なフォーマットであるYCbCr形式のフォーマットに変換する処理などの現像処理を適正に行う。
収差補正部100は、画像データに対して歪曲収差を補正する。この処理の詳細については後述する。DMAC110は、データ転送を行うDirect Memory Accessコントローラである。画像データは、DMAC110によってバス105に出力され、メモリ制御部106を介してメモリ107に一時記憶される。メモリ107に一時記憶された画像データは、DMAC110によってメモリ107からバス105に出力され、DMAC110を経由して、画像処理部202に画像データが出力される。また、DMAC110は複数の画像処理のデータ転送を行うために、複数のDMAチャネルを有している。
バス105は、システムバスと画像データバスとを兼用するバスであるが、システムバスと画像データバスとを異なるバスで構成するものであってもよい。メモリ制御部106は、システム制御部204或いはDMAC110からの指示に応じて、メモリ107にデータを書き込んだり、メモリ107からデータを読み出したりする。なお、A/D変換器201からの出力データがメモリ107に直接書き込まれる場合もある。メモリ107は、所定枚数の静止画像や、所定時間の動画像、音声等のデータやシステム制御部204の動作用の定数、プログラム等を格納するのに十分な記憶容量を備える記憶装置であり、例えばDRAMなどが用いられる。
不揮発性メモリ制御部206は、システム制御部204からの指示に応じて、不揮発性メモリ207にデータを書き込んだり、不揮発性メモリ207からデータを読み出したりする。不揮発性メモリ207は、電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。また、不揮発性メモリ207には、システム制御部204の動作用の定数、プログラム等が記憶されている。
システム制御部204は、デジタルカメラ10の動作制御を司るマイクロコンピュータなどで構成され、デジタルカメラ10を構成する各機能ブロックに対して様々な指示を行い、各種の制御処理を実行する。また、システム制御部204は、バス105を介して接続された画像処理部202、メモリ制御部106、不揮発性メモリ制御部206、操作部205、及び撮像素子200を制御する。マイクロコンピュータは、前述した不揮発性メモリ207に記録されたプログラムを実行することにより、本実施形態の各処理を実現する。
操作部205は、ユーザーにより操作されるスイッチやボタン等を含み、電源のON/OFF、シャッターのON/OFF等の操作に使用される。
図1は、本実施形態に係る収差補正部100の詳細な構成例を示すブロック図である。なお、図2と同一の構成については、同一の符号を付しており、詳細な説明は省略する。
図1において、補正後座標生成部111は、第一補正後座標生成部101と第二補正後座標生成部102とから構成され、補正後画像の座標を生成する。
第一補正後座標生成部101は、補正後画像の座標を生成する。この補正後画像の座標は、メモリ107から補正前画像を読み出して矩形画像保持部108に書き込むための座標を補正前座標演算部103に演算させるために用いられる。具体的には、補正後画像を矩形に分割し、矩形領域内の一部の座標として矩形内の周辺画素毎の座標を生成する。さらに、第一補正後座標生成部101は、システム制御部204の制御により、収差補正率に応じた矩形サイズの調整を行うことができる。矩形サイズは、1枚の画像に対して、すべて同一サイズであってもよいし、異なるサイズであってもよい。また、第一補正後座標生成部101は、矩形内の周辺画素毎の座標の情報を保持するバッファを備えている。
第二補正後座標生成部102は、補正後画像の座標を生成する。この補正後画像の座標は、矩形画像保持部108に保持されている補正前画像を読み出す際に、画素補間部109が画素単位で読み出す座標を補正前座標演算部103に演算させるために用いられる。具体的には、第一補正後座標生成部101と同様に補正後画像を矩形に分割して、矩形内全ての画素の座標を生成する。なお、補正前画像及び補正後画像の座標と矩形分割とについては、図7及び図9を用いて後述する。
補正前座標演算部103は、補正前座標を演算する。なお、処理の詳細については、図3を用いて後述する。矩形読み出し制御部104は、補正前座標演算部103の演算結果を受けて、メモリ107の読み出しアドレスを生成する。矩形画像保持部108は、詳細は後述するが、書き込み及び読み出しが頻繁に行われることから例えばSRAMなどで構成され、補正前画像が矩形毎に書き込まれ、一時的に保持している。本実施形態では、2Bank構成とするが、Bank数を2以外にしてもよい。
画素補間部109は、補正前座標演算部103が演算した座標を元に、矩形画像保持部108に保持されている矩形の補正前画像(矩形画像)の補正対象画素、および補正対象画素の複数の矩形内周辺画素を読み出す。そして、補正前座標演算部103の座標値を用いて、バイリニア補間あるいはバイキュービック補間などで画素を補正し、補正後画像を得る。
ここで、図7及び図9を参照しながら、補正前画像及び補正後画像の座標と矩形分割とについて説明する。図7は、収差により樽型歪が生じた補正前画像700と補正後画像701とを示す図である。ここで補正後画像701の座標は、第一補正後座標生成部101により生成された補正後画像の座標の一例である。補正後画像701の座標(X、Y)に対応する補正前座標が、補正前画像700の座標(x、y)である。また、矩形画像703、707、709は、補正後画像を矩形分割時の1矩形を示し、矩形画像703、707、709に対応する補正前画像の矩形画像はそれぞれ矩形画像702、706、708である。
また、拡大画像704、705は、補正後の矩形画像703の拡大画像である。拡大画像704では、第一補正後座標生成部101で生成する座標を斜線で示し、第一補正後座標生成部101が矩形画像703内の周辺画素の座標のみを生成することを示している。また、拡大画像705は、第二補正後座標生成部102で生成する座標を斜線で示し、第二補正後座標生成部102が矩形画像703内に対して全ての座標を生成することを示している。
図9は、収差により糸巻きが生じた補正前画像903及び補正後画像900の矩形分割を示した図である。図9(A)に示す例では、補正後矩形画像901は、補正後画像900の第一の矩形画像を示し、長方形に矩形分割されていることを示している。補正後矩形画像902は、補正後画像900の第二の矩形画像を示し、同様に長方形に矩形分割されていることを示している。
補正前矩形画像904は、矩形画像保持部108に保持される矩形サイズを示す。このうち、矩形画像906がメモリ107から読み出す第一の矩形画像であり、斜線部が補正に使用する有効画素となり、空白は使用しない無効画素を示す。また、矩形画像907は、矩形画像保持部108に保持されず、未使用領域となる。
また、補正前矩形画像905は、矩形画像保持部108に保持される矩形サイズを示す。補正前矩形画像905は、さらにメモリ107から読み出す、補正後矩形画像902に対応した第二の矩形画像を示し、斜線部が補正に使用する有効画素となり、空白は使用しない無効画素を示す。
一方、図9(B)に示す例では、補正後矩形画像908は、補正後画像900の第一の矩形画像を示し、正方形に矩形分割されていることを示している。また、補正後矩形画像909は、補正後画像900の第二の矩形画像を示し、正方形に矩形分割されていることを示している。
補正前矩形画像910は、矩形画像保持部108に保持される矩形サイズを示す。補正前矩形画像910は、さらにメモリ107から読み出す、補正後矩形画像908に対応した第一の矩形画像を示し、斜線部が補正に使用する有効画素となり、空白は使用しない無効画素を示す。
また、補正前矩形画像911は、矩形画像保持部108に保持される矩形サイズを示す。補正前矩形画像911は、さらにメモリ107から読み出す、補正後矩形画像909に対応した第二の矩形画像を示し、斜線部が補正に使用する有効画素となり、空白は使用しない無効画素を示す。
図9(A)及び図9(B)に示すように、正方形に近い形でメモリ107から読み出すと、矩形に有効画素を多く含むため、矩形画像保持部108を有効に使用できる。また、後述する周辺座標保持部304の矩形内周辺座標を保持する座標数が、面積(保存領域)が同じであれば、長方形よりも正方形の方が少なくなる。そのため、本実施形態においては、第一補正後座標生成部101は、正方形に近い形でメモリ107から矩形画像を読み出すものとする。
図3は、本実施形態における補正前座標演算部103の詳細な構成例を示すブロック図である。なお、図1及び図2と同一の構成については、同一の符号を付しており、詳細な説明を省略する。
図3において、矩形周辺判定部301は、第二補正後座標生成部102から入力された座標情報を元に、与えられた座標が矩形内の周辺座標かどうかを判定する。ここで、矩形内の周辺座標と判定する条件は、第二補正後座標生成部102から座標が与えられず、かつ矩形画像保持部108の2Bankとも補正前画像(矩形画像)がない場合である。判定結果は第一のセレクタ302及び第二のセレクタ300のセレクト条件として使用される。また、判定とともに、第二補正後座標生成部102から入力された座標情報を第一のセレクタ302に出力する。
第一のセレクタ302は、矩形周辺判定部301による矩形内の周辺座標か否かの判定結果に応じて切り替える。具体的には、周辺座標の場合は、第一補正後座標生成部101から入力された座標情報を座標演算部303に出力し、周辺座標でない場合は、矩形周辺判定部301から入力された座標情報を座標演算部303に出力する。
座標演算部303は、入力された座標に対して一般的な収差補正方法により補正前画像の画素位置を算出する。なお、座標演算部303の演算方法の詳細については後述する。周辺座標保持部304は、例えばSRAMなどで構成され、矩形周辺判定部301により周辺座標と判定された場合に、周辺座標として、座標演算部303の出力結果を保持する。そして、周辺座標保持部304が保持している周辺座標を座標情報として第二のセレクタ300に出力する。
第二のセレクタ300は、矩形周辺判定部301により周辺画素と判定された場合は、周辺座標保持部304から出力された座標情報を矩形画像保持部108に出力する。また、矩形周辺判定部301により周辺座標でないと判定された場合は、座標演算部303の出力結果を矩形画像保持部108に出力する。
次に、図4を参照しながら座標演算部303の処理の一例について説明する。なお、収差補正が可能であれば他の方法を採用してもよい。一般的に補正前画像の画素に着目すると、本来、着目画素に結像されるべき像は、それぞれの収差によって着目画素と画像の中心とを結ぶ線上に移動されて結像されている。
図4は、画像の中心400と補正前画像の画素位置402と補正後画像の画素位置401とを示した図である。図4においては、撮像素子200の出力画素を走査方向に沿って水平軸を規定し、走査方向に直交して垂直軸を規定する二次元の直交座標系の画像で表されている。
補正前画像の画素位置402を補正するための補正量Cは、画像の中心からの距離を表す像高Rと、光学系の特性とによって求められることが一般的に知られている。画像の中心400の水平方向と画像の中心400からの補正後画像の画素位置401の方向との角度θと、補正量Cとから座標変換して補正前画像の画素位置402を算出することができる。また、補正前画像の画素位置402は必ずしも撮像素子の画素単位ではなく、撮像素子の画素と画素との間に移動される場合があり、小数点までを演算するものとする。
次に、図5、図6及び図8を参照しながら本実施形態の制御について説明する。図5は、矩形画像保持部108における入出力の関係を模式的に示した図である。図5において、Bank500、501は、RAMなどで構成されているバッファである。
まず、図5(A)に示すように、メモリ107からBank500に第一の矩形画像が書き込まれ、保持する。続いて、図5(B)に示すように、メモリ107からBank501に第二の矩形画像が書き込まれると、これを保持し、Bank500から第一の矩形画像が画素単位で画素補間部109により読み出される。さらに、図5(C)に示すように、メモリ107からBank500に第三の矩形画像が書き込まれると、これを保持し、Bank501から第二の矩形画像が画素単位で画素補間部109により読み出される。以降、図5(b)及び図5(c)に示す状態を繰り返し、1枚の画像を処理するまで続く。
図6は、本実施形態における座標演算部303の処理状況と、矩形画像保持部108へ矩形画像を書き込むタイミングとを説明するための図である。
図6において、タイミングチャート610は、座標演算部303による、第一補正後座標生成部101から入力された座標情報に基づいて、補正前画像を読み出すための座標演算をHighまたはLowで示し、Highが演算期間を示している。
タイミングチャート611は、座標演算部303による、矩形周辺判定部301から入力された座標情報に基づいて、補正前画像を読み出すための座標演算をHighまたはLowで示し、Highが演算期間を示している。さらにタイミングチャート612は、補正前画像を矩形画像保持部108に書き込むタイミングを示し、Highが書き込み期間を示している。
期間600、601は、それぞれメモリ107から補正前画像の第一の矩形画像及び第二の矩形画像を読み出すために、第一補正後座標生成部101が生成した座標に対して座標演算部303で演算している期間である。つまり、期間600は第一の矩形座標演算期間を示し、期間601は第二の矩形座標演算期間を示している。
期間602は、矩形画像保持部108のBank500に補正前画像の第一の矩形画像を書き込んでいる期間を示し、図5(A)の状態を表している。そして、期間603は、矩形画像保持部108のBank501に補正前画像の第二の矩形画像を書き込んでいる期間を示し、図5(B)の状態を表している。
また、期間603は、タイミングチャート611に示すように、画素補間部109が第一の矩形画像を画素単位で読み出すために、座標演算部303で演算している期間でもある。さらに、タイミングチャート610に示すように、期間603においては、メモリ107から矩形画像保持部108のBank500に第三の矩形画像を書き込むために、座標演算部303で演算している。なお、座標演算部303は、どちらか一方の処理を行うことになるため、タイミングチャート610とタイミングチャート611とで同時にHighになることはない。以下、処理の切り替えについて説明する。
期間604は、メモリ107から矩形画像保持部108のBank500に第三の矩形画像を書き込むために座標演算部303で演算している期間である。さらに期間604は、周辺座標保持部304から第一の矩形画像の周辺座標を出力し、出力する際に、第三の矩形画像の周辺座標を保持している期間を示している。
期間605は、画素補間部109が矩形画像保持部108から第一の矩形画像を画素単位で読み出すために、座標演算部303で演算している期間である。つまり、期間603以降は、タイミングチャート610のHighの期間は、座標演算部303で演算を行い、さらに周辺座標保持部304に周辺座標を保持し、さらに前の矩形画像の周辺座標を出力する期間を示している。なお、期間600、601におけるタイミングチャート610のHighの期間は、座標演算部303で演算を行い、さらに周辺座標保持部304に周辺座標を保持している期間となる。
また、期間606は、矩形画像保持部108のBank500に補正前画像の第三の矩形画像を書き込んでいる期間を示し、図5(C)の状態を示している。なお、図6に示す例は、矩形画像保持部108のBank500への書き込みタイミングと、画素補間部109が矩形画像を画素単位で読み出すタイミングとを同じとしている。ところが、矩形画像保持部108のBank500への書き込みが早く終了する場合や、画素補間部109が矩形画像を画素単位で読み出すのが終了するタイミングが早い場合もありうる。この場合には、同じBankに書き込みと読み出しとが発生しないように制御する。
図8は、収差補正部100による1つの矩形画像の補正前座標の演算処理手順の一例を示すフローチャートである。
まず、ステップS800において、第一補正後座標生成部101は、補正後画像の矩形内の周辺画素毎の座標情報を生成して保持する。第一補正後座標生成部101に保持する期間は、例えば第三の矩形画像の場合は、図6の期間602で保持することになる。
続いてステップS801において、補正前座標演算部103は、矩形画像保持部108の少なくとも1つのBankにデータがないかどうかを判定する。この判定の結果、少なくとも1つのBankにデータがない場合は、ステップS804に進み、いずれのBankにもデータがある場合は、ステップS802に進む。
ステップS802においては、補正前座標演算部103は、第二補正後座標生成部102から座標情報が入力されるまで待機する。そして、第二補正後座標生成部102から座標情報が入力されると、次のステップS803に進む。
次に、ステップS803において、補正前座標演算部103は、入力された座標が矩形内の周辺座標かどうかを判定する。この判定の結果、周辺座標である場合はステップS804に進み、周辺座標でない場合は、ステップS806に進む。なお、ステップS801からS803の処理は、補正前座標演算部103の矩形周辺判定部301で行われる。
ステップS804においては、座標演算部303は、第一補正後座標生成部101から座標情報を入力し、座標演算を行う。そして、ステップS805において、座標演算部303は、演算結果を矩形読み出し制御部104に出力するとともに、周辺座標保持部304に演算結果を出力して保持するようにする。このとき、補正前座標演算部103は、周辺座標保持部304に保持していた周辺座標を矩形画像保持部108に出力するようにする。
一方、ステップS806においては、座標演算部303は、矩形周辺判定部301から座標情報を入力し、座標演算部303で座標演算を行う。そして、ステップS807において、座標演算部303は、演算結果を矩形画像保持部108に出力する。
次のステップS808においては、矩形内の座標の全ての演算が終わったかどうかを判定する。この判定の結果、演算が全て終わっていない場合はステップS801に戻る。一方、ステップS808の判定の結果、演算が全て終了した場合は、1矩形画像の補正前座標の演算を終了する。
以上説明したように本実施形態によれば、補正前画像をメモリ107から読み出す時の座標の演算と、補正前画像を矩形画像保持部108から読み出す時の座標の演算とを、1つの補正前座標演算部(回路)で実行することができる。これにより、回路規模及び消費電力を削減することができる。
また、第一補正後座標生成部101、第二補正後座標生成部102、矩形画像保持部108、矩形周辺判定部301、第一のセレクタ302、周辺座標保持部304、及び第二のセレクタ300により、メモリ107へのランダムアクセスを低減している。これにより、2つの補正前座標演算部を実装した場合と同等の性能を維持することが可能となる。
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。なお、本実施形態では、前述した第1の実施形態と異なる部分のみを説明し、同一の部分については、同一の符号を付すなどして詳細な説明は省略する。
図10は、本実施形態における補正前座標演算部103の詳細な構成例を示すブロック図である。
図10に示すように、本実施形態に係る補正前座標演算部103は、入力判定部1000と座標演算部303とを備えている。
入力判定部1000は、第一補正後座標生成部101と第二補正後座標生成部102とのどちらかから出力された座標情報かを判定し、先に入力された座標情報を座標演算部303に出力する。また、第一補正後座標生成部101と第二補正後座標生成部102とから座標が略同時に入力された場合は、第一補正後座標生成部101から出力された座標情報を優先して座標演算部303に出力する。
また、第二補正後座標生成部102は、補正前座標演算部103に入力された座標に対応する補正前座標が出力されるまで、同じ座標を出力するようにする。このように補正前座標演算部103で演算されるまで、同じ座標を出力することにより、第一補正後座標生成部101と第二補正後座標生成部102との座標を全て演算することが可能となる。
図11は、本実施形態における座標演算部303の処理状況と、矩形画像保持部108へ矩形画像を書き込むタイミングとを説明するための図である。
図11において、タイミングチャート1110は、座標演算部303による、第一補正後座標生成部101から入力された座標情報に基づいて、補正前画像を読み出すための座標演算をHighまたはLowで示し、Highが演算期間を示している。
タイミングチャート1111は、座標演算部303による、第二補正後座標生成部102から入力された座標情報に基づいて、補正前画像を読み出すための座標演算をHighまたはLowで示し、Highが演算期間を示している。さらにタイミングチャート1112は、補正前画像を矩形画像保持部108に書き込むタイミングチャートを示し、Highが書き込み期間を示している。
期間1100、1101は、それぞれメモリ107から補正前画像の第一の矩形画像及び第二の矩形画像を読み出すために、第一補正後座標生成部101の座標に対して座標演算部303で演算している期間である。つまり、期間1100は第一の矩形座標演算期間、期間1101は、第二の矩形座標演算期間を示している。
期間1102は、矩形画像保持部108のBank500に補正前画像の第一の矩形画像を書き込んでいる期間を示し、図5(A)の状態を表している。そして、期間1103は、矩形画像保持部108のBank501に補正前画像の第二の矩形画像を書き込んでいる期間を示し、図5(B)の状態を表している。
ここで、期間1103中の期間1105は、タイミングチャート1111に示すように、画素補間部109が第一の矩形画像を画素単位で読み出すために、座標演算部303で演算している期間を示している。さらに、期間1103中の期間1104は、タイミングチャート1110に示すように、メモリ107から矩形画像保持部108のBank500に第三の矩形画像を書き込むために、座標演算部303で演算している期間を示している。なお、座標演算部303は、どちらか一方の処理を行うことになるため、タイミングチャート1110とタイミングチャート1111とで同時にHighになることはない。
また、期間1106は、矩形画像保持部108のBank500に補正前画像の第三の矩形画像を書き込んでいる期間を示し、図5(C)の状態を表している。ここで、期間1106中の期間1108は、タイミングチャート1111に示すように、画素補間部109が第二の矩形画像を画素単位で読み出すために、座標演算部303で演算している期間を示している。さらに、期間1106中の期間1107は、タイミングチャート1110に示すように、メモリ107から矩形画像保持部108のBank500に第四の矩形画像を書き込むために、座標演算部303で演算している期間を示している。
図11に示す例は、矩形画像保持部108のBank500への書き込むタイミングと、画素補間部109が矩形画像を画素単位で読み出すタイミングとを同じとしている。ところが、矩形画像保持部108のBank500への書き込みが早く終了する場合や、画素補間部109が矩形画像を画素単位で読み出すのが終了するタイミングが早い場合もありうる。この場合には、同じBankに書き込みと読み出しとが発生しないように制御する。
以上説明したように本実施形態によれば、補正前画像をメモリ107から読み出す時の座標の演算と、補正前画像を矩形画像保持部108から読み出す時の座標の演算とを、1つの補正前座標演算部で実行することができる。これにより、回路規模及び消費電力を削減することができる。
(その他の実施形態)
以上、第1及び第2の実施形態について具体的に説明したが、本発明は、例えば、ローリング歪などその他の歪補正に関しても適応可能であり、実施形態に限定されるものではない。その要旨を逸脱しない範囲において種々の変更が可能であることは言うまでもない。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
103 補正前座標演算部
104 矩形読み出し制御部
107 メモリ
108 矩形画像保持部
109 画素補間部
111 補正後座標生成部

Claims (9)

  1. 光学系を用いて被写体が撮像された画像データにおける前記光学系の歪曲収差を補正する画像処理装置であって、
    前記画像データを補正前画像として記憶する第1の記憶手段と、
    前記歪曲収差が補正された補正後画像の座標を生成する座標生成手段と、
    前記座標生成手段によって生成された補正後画像の座標に対応する前記補正前画像の座標を演算する演算手段と、
    前記演算手段によって演算された前記補正前画像における矩形領域の一部の座標を元に、前記第1の記憶手段から前記補正前画像を矩形領域ごとに読み出す読み出し制御手段と、
    前記読み出し制御手段によって読み出された補正前画像を矩形領域ごとに一時的に記憶する第2の記憶手段と、
    前記演算手段によって演算された前記補正前画像における矩形領域内の座標を元に、前記第2の記憶手段から前記補正前画像を読み出して前記補正後画像を生成する画像処理手段とを有し、
    前記座標生成手段は、前記第1の記憶手段から前記補正前画像を読み出す座標を前記演算手段が演算するための座標を生成するとともに、前記第2の記憶手段から前記補正前画像を読み出す座標を前記演算手段が演算するための座標を生成し、
    前記演算手段は、前記第1の記憶手段から前記補正前画像を読み出すための座標、または前記第2の記憶手段から前記補正前画像を読み出すための座標を演算することを特徴とする画像処理装置。
  2. 前記演算手段は、
    前記座標生成手段によって生成された補正後画像の座標が、前記補正後画像における矩形領域の一部の座標か否かを判定する判定手段と、
    前記判定手段によって前記矩形領域の一部の座標と判定された場合に、前記補正後画像における当該矩形領域に対応する、前記補正前画像における矩形領域の一部の座標を一時的に保持する保持手段とを有し、
    前記画像処理手段は、前記保持手段に保持されている座標に基づいて前記第2の記憶手段から前記補正前画像を読み出して前記補正後画像を生成することを特徴とする請求項1に記載の画像処理装置。
  3. 前記演算手段は、前記第2の記憶手段に前記補正前画像における第1の矩形領域が記憶されている場合において、前記判定手段によって前記補正後画像の座標が前記第1の矩形領域とは異なる矩形領域と対応する矩形領域の一部の座標であると判定された場合に、前記演算手段は、前記補正後画像における当該矩形領域に対応する、前記補正前画像における第2の矩形領域の一部の座標を演算し、
    前記画像処理手段は、前記保持手段に保持されている前記補正前画像における第1の矩形領域の座標に基づいて前記第2の記憶手段から前記補正前画像を読み出して前記補正後画像を生成することを特徴とする請求項2に記載の画像処理装置。
  4. 前記演算手段は、前記第1の記憶手段から前記補正前画像を読み出すための座標の演算を、前記第2の記憶手段から前記補正前画像を読み出すための座標の演算よりも優先することを特徴とする請求項1〜3の何れか1項に記載の画像処理装置。
  5. 前記矩形領域は正方形の領域であることを特徴とする請求項1〜4の何れか1項に記載の画像処理装置。
  6. 前記演算手段は、1つの回路によって構成されていることを特徴とする請求項1〜5の何れか1項に記載の画像処理装置。
  7. 前記第1の記憶手段はDRAMであり、前記第2の記憶手段はSRAMであることを特徴とする請求項1〜6の何れか1項に記載の画像処理装置。
  8. 光学系を用いて被写体が撮像された画像データを補正前画像として第1の記憶手段に記憶し、前記画像データにおける前記光学系の歪曲収差を補正する画像処理装置の画像処理方法であって、
    前記歪曲収差が補正された補正後画像の座標を生成する座標生成工程と、
    前記座標生成工程において生成された補正後画像の座標に対応する前記補正前画像の座標を演算する演算工程と、
    前記演算工程において演算された前記補正前画像における矩形領域の一部の座標を元に、前記第1の記憶手段から前記補正前画像を矩形領域ごとに読み出し、第2の記憶手段に一時的に記憶する制御工程と、
    前記演算工程において演算された前記補正前画像における矩形領域内の座標を元に、前記第2の記憶手段から前記補正前画像を読み出して前記補正後画像を生成する画像処理工程とを有し、
    前記座標生成工程においては、前記第1の記憶手段から前記補正前画像を読み出す座標を前記演算工程において演算するための座標を生成するとともに、前記第2の記憶手段から前記補正前画像を読み出す座標を前記演算工程において演算するための座標を生成し、
    前記演算工程においては、前記第1の記憶手段から前記補正前画像を読み出すための座標、または前記第2の記憶手段から前記補正前画像を読み出すための座標を演算することを特徴とする画像処理方法。
  9. 光学系を用いて被写体が撮像された画像データを補正前画像として第1の記憶手段に記憶し、前記画像データにおける前記光学系の歪曲収差を補正する画像処理装置を制御するためのプログラムであって、
    前記歪曲収差が補正された補正後画像の座標を生成する座標生成工程と、
    前記座標生成工程において生成された補正後画像の座標に対応する前記補正前画像の座標を演算する演算工程と、
    前記演算工程において演算された前記補正前画像における矩形領域の一部の座標を元に、前記第1の記憶手段から前記補正前画像を矩形領域ごとに読み出し、第2の記憶手段に一時的に記憶する制御工程と、
    前記演算工程において演算された前記補正前画像における矩形領域内の座標を元に、前記第2の記憶手段から前記補正前画像を読み出して前記補正後画像を生成する画像処理工程とをコンピュータに実行させ、
    前記座標生成工程においては、前記第1の記憶手段から前記補正前画像を読み出す座標を前記演算工程において演算するための座標を生成するとともに、前記第2の記憶手段から前記補正前画像を読み出す座標を前記演算工程において演算するための座標を生成し、
    前記演算工程においては、前記第1の記憶手段から前記補正前画像を読み出すための座標、または前記第2の記憶手段から前記補正前画像を読み出すための座標を演算することを特徴とするプログラム。
JP2014235697A 2014-11-20 2014-11-20 画像処理装置、画像処理方法及びプログラム Active JP6440465B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014235697A JP6440465B2 (ja) 2014-11-20 2014-11-20 画像処理装置、画像処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014235697A JP6440465B2 (ja) 2014-11-20 2014-11-20 画像処理装置、画像処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016100717A true JP2016100717A (ja) 2016-05-30
JP6440465B2 JP6440465B2 (ja) 2018-12-19

Family

ID=56078161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014235697A Active JP6440465B2 (ja) 2014-11-20 2014-11-20 画像処理装置、画像処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6440465B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190043200A1 (en) * 2017-08-04 2019-02-07 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362069A (ja) * 2003-06-02 2004-12-24 Olympus Corp 画像処理装置
JP2008118306A (ja) * 2006-11-01 2008-05-22 Canon Inc 歪曲収差補正処理装置、撮像装置及び撮像システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362069A (ja) * 2003-06-02 2004-12-24 Olympus Corp 画像処理装置
JP2008118306A (ja) * 2006-11-01 2008-05-22 Canon Inc 歪曲収差補正処理装置、撮像装置及び撮像システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190043200A1 (en) * 2017-08-04 2019-02-07 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium

Also Published As

Publication number Publication date
JP6440465B2 (ja) 2018-12-19

Similar Documents

Publication Publication Date Title
US8228396B2 (en) Image processing apparatus, image capturing apparatus, and image distortion correction method
US8094230B2 (en) Image processing apparatus, image processing method, and program
US8335398B2 (en) Zoom lens distortion correcting apparatus
JP2008118306A (ja) 歪曲収差補正処理装置、撮像装置及び撮像システム
JP2011002940A (ja) 画像処理装置及び撮像装置
US8928782B2 (en) Image processing device and image capture device
US7499082B2 (en) Distortion correction circuit for generating distortion-corrected image using data for uncorrected image
JP2013218654A (ja) 画像処理装置
JP2012033007A (ja) 画像処理装置および画像処理方法
US10395337B2 (en) Image processing apparatus, image processing method, and storage medium
US10713757B2 (en) Image processing apparatus, control method thereof, and storage medium
JP2005135096A (ja) 画像処理方法および画像処理装置、並びにプログラム
JP6440465B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP5676233B2 (ja) 画像処理装置、画像処理方法、及び撮像装置
JP6762775B2 (ja) 画像処理装置、撮像装置、制御方法及びプログラム
WO2015098721A1 (ja) 画像処理装置、画像処理方法、画像処理用プログラム、および、撮像装置
JP2017017609A (ja) 画像処理装置
JP2009003953A (ja) 画像処理装置
US9917972B2 (en) Image processor, image-processing method and program
JP2013257665A (ja) 映像処理装置、映像処理装置の制御方法
JP4769880B2 (ja) 画像処理装置及び方法
JP2018098612A (ja) 画像処理装置及び画像処理方法、撮像装置、プログラム、記憶媒体
JP2009033498A (ja) 光学歪み補正装置とその方法及びプログラム並びに撮像装置
JP2003037769A (ja) 信号処理装置、撮像装置、及び信号処理方法
CN108770374B (zh) 图像处理装置及图像处理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180926

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: 20181023

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181120

R151 Written notification of patent or utility model registration

Ref document number: 6440465

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151