説明

画像歪曲補正処理方法、装置、及びプログラム

【課題】従来の歪曲補正処理では、入力画像を全部読み込んでから処理を行うため、メモリが大量に必要であった。また、入力画像の画素は、歪曲補正後に移動しており、その移動量は一定ではなく画素ごとに異なるため、出力画像のライン範囲を必要最小限に設定することも困難だった。
【解決手段】そこで本発明は、入出力画像の両方のメモリを削減することにより、処理時間の短縮を図ることを目的とする。上記目的を達成するために、入力画像の画素のデータを用いて出力画像の画素毎に補正処理を行う補正処理手段を備え、補正処理が完了した画素のデータを出力画像の走査順で1ライン毎に出力するように、入力画像の画素を読み込むことで、出力画像を1ライン得るために必要な入力画像のライン数のみを確保する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像の歪みを電子的に補正する技術に関し、特に、処理時におけるメモリの削減に関するものである。
【背景技術】
【0002】
従来の技術では、入力画像を全部読み込んでから歪曲補正を行うため、メモリが大量に必要であった。画像を2次元座標で表した場合、歪みを補正する前の入力画像の画素α(αx、αy)は、補正後の出力画像で、α´(αx+β、αy+γ)となり、座標位置が移動する。その移動量は一定ではなく画素ごとに異なるため、たとえば入力画像1ライン分の歪曲補正を行うと、出力される画像のライン範囲は複数ラインに及ぶ。また、同じ理由で、出力画像のライン範囲は入力画像のライン位置によって変動するため、出力画像のライン範囲を必要最小限に設定することが困難だった。そこで、この問題を解決するために、入力画像の1ラインを歪曲補正したときに必要となる出力画像の最大ライン数を計算で求めることにより、メモリの確保量を少なくするという方法が考案された。(特許文献1参照)
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平4−61570号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1では、出力画像用のメモリを複数ライン数に絞っても、入力画像1枚分のメモリが必要となる。そして、大量のメモリ確保は全体の処理速度低下にもつながる。そこで本発明は、入出力画像の両方のメモリを削減することにより、処理時間の短縮を図ることを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明の画像歪曲補正処理は、入力画像の画素のデータを用いて出力画像の画素毎に補正処理を行う補正処理手段を備え、補正処理が完了した画素のデータを出力画像の走査順で1ライン毎に出力するように、入力画像の画素を読み込むことを特徴とする。
【0006】
さらに補正処理手段は、入力画像データの一部である複数ライン分の入力画素のデータを一時的に記憶するラインメモリと、ある出力画素の1ライン分のデータを走査順に生成するために必要な複数の入力画素のデータがラインメモリに記憶されているかどうかを判断する制御手段と、制御手段が出力画素の1ライン分のデータを走査順に生成するのに必要な複数の入力画素のデータがラインメモリに記憶されていると判断した場合、それらの複数の入力画素のデータを合成することで補正処理を行う合成処理手段とを更に備える。
【0007】
このような構成により、画像歪曲補正処理において、入力画像1枚分のメモリを確保するのではなく、出力画像を1ライン得るために必要な入力画像のライン数を確保することが可能となり、出力画像用に大量のメモリを確保する必要もなくなる。
【発明の効果】
【0008】
以上のように、本発明の画像歪曲補正処理によれば、入力画像については、複数ライン分のみ、出力画像については1ライン分のメモリを確保するだけで処理が可能である。また、メモリ確保量が削減されることにより、従来よりも処理速度も向上する。
【図面の簡単な説明】
【0009】
【図1】本発明の実施例の歪曲補正処理の全体構成図
【図2】本発明の実施例の歪曲補正処理を表すフローチャート
【図3】本発明の実施例の歪曲補正処理の入力ラインメモリの状態図
【図4】本発明の別の実施例の歪曲補正処理の全体構成図
【発明を実施するための形態】
【0010】
以下本発明を実施するための最良の形態について、図面を参照しながら説明する。
【実施例】
【0011】
本発明の実施例について、図面を参照しながら説明する。図1は、本発明の実施例の画像歪曲補正処理の全体構成である。図1において、101は歪がある入力画像、102は入力画像101の一部である複数ライン分の画素をラインメモリ103に読み込む入力画像読み込み手段、103は入力画像読み込み手段102で読み込んだ入力画像101の複数ライン分の画素を一時的に記憶する入力ラインメモリ、104は出力画像の1ライン分の画素を走査順に生成するために必要な、入力画像の複数ライン分の画素がラインメモリ102に記憶されているかどうかを判断する制御手段、105は制御手段104が出力画像の1ライン分の画素を走査順に生成するのに必要な、入力画像の複数ライン分の画素がラインメモリ103に記憶されていると判断した場合、入力ラインメモリ103に記憶している画素を合成することで入力画像101の歪曲補正処理を行う合成処理手段、106は合成処理手段105によって作成される出力画像である。図2は、本発明の実施例のフロー図である。
以上のように構成された画像歪曲補正処理装置について、以下、その全体的な動きについて図1、図2を用いて説明する。
歪曲補正処理が開始されると(ステップS201)、入力画像読み込み手段102は、入力画像101から1ラインずつ順に入力ラインメモリ103に読み込んでいく(ステップS202)。入力ラインメモリ103に1ライン分の画素が追加されると、制御手段104は、出力画像108を1ライン出力するために必要な入力ライン数が確保されたかどうか判断する(ステップS203)。その結果、入力ラインメモリ103に出力画像108を1ライン出力するために必要な入力ライン数が確保されている場合、合成処理手段105によって歪曲補正を行い、出力画像の1ライン分の画素を生成する(ステップS204)。生成必要な入力ライン数が確保されていない場合、入力画像読み込み手段102は、再度、入力画像101から1ラインを入力ラインメモリ103に読み込む(ステップS202)。上記を繰り返し、出力画像を1ラインずつ生成していき、合成処理手段105が出力画像を生成し終えたと判断すると(ステップS205)、歪曲補正処理を終了する(ステップS206)。なお、合成処理手段105による出力画像の生成終了の判断は、入力画像に含まれている情報や、その他の外部情報から取得してもよいし、あらかじめ設定した固定値で判断してもよい。
次に入力ラインメモリ103の状態遷移について、図3を用いて説明する。図3は入力画像101と入力ラインメモリ103と出力画像106の関係を、入力ラインメモリ103の状態別に示した図である。
1は、入力画像の1ライン目から順に入力ラインメモリ103に読み込み、aライン目まで読み込んだときに、出力画像の1ライン目を得たときの状態である。このとき入力ラインメモリ103には、入力画像の1ライン目からaライン目までが記録されており、まだ領域に空きがある状態である。
1の状態の次は、出力画像の2ライン目を得るために、入力画像の(a+1)ライン目をラインメモリ103に追加する。このように繰り返された結果、ラインメモリ103に、入力画像の(a+1)ライン目からbライン目まで追加され、出力画像の2ライン目が得られた状態が2である。このとき入力ラインメモリ103には、入力画像の1ライン目からbライン目までが記録されており、まだ領域に空きがある状態である。
さらに次は、出力画像の3ライン目を得るために、入力画像の(b+1)ライン目をラインメモリ103に追加する。このように繰り返された結果、ラインメモリ103に、入力画像の(b+1)ライン目からcライン目まで追加され、出力画像の3ライン目が得られる。このとき入力ラインメモリ103には、入力画像の1ライン目からcライン目までが記録されており、まだ領域に空きがある状態である。なお、実際に出力画像の3ライン目を得るために、入力ラインの1ライン目からcライン目まで全て必要とは限らない。たとえば、2ライン目からcライン目までだけが必要である可能性もあるが、入力ラインメモリ103の保持領域にまだ余裕があり、実行時間短縮のためにも不要なラインは消去せず残している。これが3の状態である。
このように処理を繰り返していくと、やがて入力ラインメモリ103の記憶領域に空きがなくなる。たとえば、入力ラインメモリの領域が、入力画像のdライン目を保持した状態で空き領域がなくなった場合で、出力画像の次の1ラインを出力するために、(d+3)ライン目までが必要な場合、(d+1)ラインから(d+3)ラインは入力ラインメモリ103のデータを上書きする必要がある。これが4の状態である。具体的には、(d+1)ラインから(d+3)ラインを、1ライン目から3ライン目の部分に上書きする。このように、入力ラインメモリ103は、リングバッファのように扱えるため、出力画像の1ラインを得るために必要な、最大入力画像ライン数を確保できる領域があればよい。なお、この最大入力画像ライン数とは、すなわち入力画像の最も歪曲している部分のことであり、一般的に画像の中心からの距離に比例する。
なお、本発明の全体構成図は、図4のように、合成処理手段の他に、出力ラインメモリと出力画像書き込み手段を追加してもよい。
【産業上の利用可能性】
【0012】
本発明の歪曲補正処理によれば、入出力画像の両方のメモリを削減し、かつ処理時間を短縮できることから、PC上のアプリケーション、デジタルカメラなど、動画・静止画の歪曲を補正するあらゆる機器に搭載することが可能である。
【符号の説明】
【0013】
101 入力画像
102 入力画像読み込み手段
103 入力ラインメモリ
104 制御手段
105 合成処理手段
106 出力画像

【特許請求の範囲】
【請求項1】
入力画像の画素のデータを用いて出力画像の画素毎に補正処理を行う補正処理手段と、
前記補正処理手段で補正処理が完了した画素のデータを出力画像の走査順で1ライン毎に出力するように、入力画像の画素を読み込む入力手段とを備えることを特徴とする画像歪曲補正処理装置。
【請求項2】
前記補正処理手段は、
入力画像データの一部である複数ライン分の入力画素のデータを一時的に記憶するラインメモリと、
ある出力画素の1ライン分のデータを走査順に生成するために必要な複数の入力画素のデータが前記ラインメモリに記憶されているかどうかを判断する制御手段と、
前記制御手段が出力画素の1ライン分のデータを走査順に生成するのに必要な複数の入力画素のデータが前記ラインメモリに記憶されていると判断した場合、それらの複数の入力画素のデータを合成することで補正処理を行う合成処理手段とをさらに備えることを特徴とする、請求項1記載の画像歪曲補正装置。
【請求項3】
入力画像の画素のデータを用いて出力画像の画素毎に補正処理を行う補正処理ステップと、
前記補正処理ステップで補正処理が完了した画素のデータを出力画像の走査順で1ライン毎に出力するように、入力画像の画素を読み込む入力ステップとを有することを特徴とする画像歪曲補正処理方法。
【請求項4】
前記補正処理ステップは、
ある出力画素の1ライン分のデータを走査順に生成するために必要な複数の入力画素のデータが、入力画像データの一部である複数ライン分の入力画素のデータを一時的に記憶するラインメモリに記憶されているかどうかを判断する制御ステップと、
前記制御ステップが出力画素の1ライン分のデータを走査順に生成するのに必要な複数の入力画素のデータが該ラインメモリに記憶されていると判断した場合、それらの複数の入力画素のデータを合成することで補正処理を行う合成処理ステップとをさらに有することを特徴とする、請求項3記載の画像歪曲補正方法。
【請求項5】
請求項3または請求項4に記載の補正方法を含むプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−142530(P2011−142530A)
【公開日】平成23年7月21日(2011.7.21)
【国際特許分類】
【出願番号】特願2010−2533(P2010−2533)
【出願日】平成22年1月8日(2010.1.8)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】