(57)【要約】【課題】画像変形を行う画像処理装置において、その画像変形に必要な作業用ラインメモリの容量を削減する。【解決手段】ラインバッファ１０７には、水平セグメント毎に格納ライン位置を変えて入力画像が格納される。格納ライン位置記憶部１０８は、前記ラインバッファ１０７での各水平セグメント別の格納ライン位置が記憶される。ラインバッファ１０７の出力に対して、垂直補間部１０９は、垂直補間ライン位置と前記格納ライン位置との差によって垂直補間を行う。従って、ラインバッファ１０７に格納しておく垂直補間に必要なライン数を抑えることができる。【選択図】図１
2013218654.tif 000002
【特許請求の範囲】
【請求項１】
画像を変形する画像処理装置であって、
入力画像を格納するフレームメモリ部と、
出力画像の画素座標を入力画像の座標に変換する座標変換部と、
前記座標変換部によって得られた垂直座標に基づいて前記フレームメモリ部から読み出す画像データの位置を水平セグメント単位で決定する読出位置決定部と、
前記フレームメモリ部から水平セグメント単位で読み出した画像データを複数ライン分格納するラインバッファ部と、
前記ラインバッファ部に格納している画像データのライン位置を水平セグメント毎に記憶する格納ライン位置記憶部と、
前記ラインバッファ部の出力に対して垂直方向の一次元補間処理を行う垂直補間部と、
前記読出位置決定部は前記座標変換部によって得られた垂直座標の対象水平セグメント内での値に基づいて読み出すライン位置を決定し、
前記垂直補間部は前記座標変換部によって得られた垂直座標と前記格納ライン位置記憶部にセグメント毎に記憶したライン位置に基づいて前記ラインバッファ部の出力に対する垂直補間位置を決定する
ことを特徴とする画像処理装置。
【請求項２】
前記請求項１記載の画像処理装置において、
前記垂直補間部の後段に配置される水平補間部を備え、
前記水平補間部は、
前記座標変換部によって得られた水平座標に基づいて前記垂直補間部の出力に対して水平方向の一次元補間処理を行う
ことを特徴とする画像処理装置。
【請求項３】
前記請求項１又は請求項２記載の画像処理装置において、
前記垂直補間部は、
前記入力画像が歪んでいる場合に、その歪みを補正するように、垂直方向の一次元補間処理を行う
ことを特徴とする画像処理装置。
【請求項４】
前記請求項１又は請求項２記載の画像処理装置において、
前記垂直補間部は、
前記入力画像が歪みのない通常画像である場合に、その通常画像に歪み補正を施す拡張補正を行うように、垂直方向の一次元補間処理を行う
ことを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルカメラやビデオカメラなどの撮像装置に活用される画像処理装置に関し、特に、画像の拡大、縮小、回転を含む画像変形の技術に関するものである。
【背景技術】
【０００２】
従来、画像処理装置として、レンズの光学的な歪、いわゆる歪曲収差を電気的に補正するものがある（例えば、特許文献１参照）。図８は、前記特許文献１に記載された従来の画像処理装置を示す。
【０００３】
図８において、原画像９００に対して水平補正手段９０２で水平方向の歪みを補正し、この補正により得られた水平補正画像を水平補正画像記憶手段９０３に記憶し、その後、垂直補正手段９０４によって前記水平補正画像記憶手段９０３から水平補正画像を選択的に取得して、垂直方向の歪みを補正する。尚、水平補正手段９０２に与える水平補正パラメータと、垂直補正手段９０４に与える垂直補正パラメータとは、外部から供給される補正ベクトルをデコード手段９０１でデコードしたものであり、例えば、歪曲収差を補正する場合には、レンズポジション変化に合わせて補正ベクトルを変化させて、リアルタイム補正を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−８０５４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来の構成では、垂直補正手段９０４の前段に必要な水平補正画像記憶手段９０３として、垂直補正処理で補正しようとする垂直方向の変位量と、垂直補間処理で用いる垂直補間フィルタのタップ数とを合計した数以上のライン数の画像データを記憶する大容量のラインバッファを必要とし、このラインバッファは例えばＳＲＡＭなどの高価格のメモリで構成されるため、画像処理装置として高価格になるという課題を有していた。
【０００６】
本発明の目的は、画像変形を行う画像処理装置において、垂直補正で実現しようとする変位量が大きい場合であっても、大容量の作業用ラインバッファを必要としない画像処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明の画像処理装置は、ラインを水平方向に分割したセグメント単位で画像データを扱い、作業用ラインバッファに格納している画像データのライン位置を水平方向に分割したセグメント毎に管理して、必要とするラインバッファを小容量に制限することとする。
【０００８】
具体的に、請求項１記載の発明は、画像を変形する画像処理装置であって、入力画像を格納するフレームメモリ部と、出力画像の画素座標を入力画像の座標に変換する座標変換部と、前記座標変換部によって得られた垂直座標に基づいて前記フレームメモリ部から読み出す画像データの位置を水平セグメント単位で決定する読出位置決定部と、前記フレームメモリ部から水平セグメント単位で読み出した画像データを複数ライン分格納するラインバッファ部と、前記ラインバッファ部に格納している画像データのライン位置を水平セグメント毎に記憶する格納ライン位置記憶部と、前記ラインバッファ部の出力に対して垂直方向の一次元補間処理を行う垂直補間部と、前記読出位置決定部は前記座標変換部によって得られた垂直座標の対象水平セグメント内での値に基づいて読み出すライン位置を決定し、前記垂直補間部は前記座標変換部によって得られた垂直座標と前記格納ライン位置記憶部にセグメント毎に記憶したライン位置に基づいて前記ラインバッファ部の出力に対する垂直補間位置を決定することを特徴とする。
【０００９】
請求項２記載の発明は、前記請求項１記載の画像処理装置において、前記垂直補間部の後段に配置される水平補間部を備え、前記水平補間部は、前記座標変換部によって得られた水平座標に基づいて前記垂直補間部の出力に対して水平方向の一次元補間処理を行うことを特徴とする。
【００１０】
請求項３記載の発明は、前記請求項１又は請求項２記載の画像処理装置において、前記垂直補間部は、前記入力画像が歪んでいる場合に、その歪みを補正するように、垂直方向の一次元補間処理を行うことを特徴とする。
【００１１】
請求項４記載の発明は、前記請求項１又は請求項２記載の画像処理装置において、前記垂直補間部は、前記入力画像が歪みのない通常画像である場合に、その通常画像に歪み補正を施す拡張補正を行うように、垂直方向の一次元補間処理を行うことを特徴とする。
【００１２】
以上の構成によって、本発明の画像変形を行う画像処理装置では、水平方向の１ライン全体で見れば垂直補正で実現しようとする変位量が大きくても、その１ラインを複数セグメントに分割し、その各セグメント毎に作業用ラインバッファに格納しようとする画像データのライン位置を個別に管理しつつ、その格納しようとする画像データを作業用ラインバッファに格納すれば良いので、その作業用ラインバッファに必要なメモリ容量を小さく抑えることが可能である。
【発明の効果】
【００１３】
以上説明したように、本発明の画像処理装置によれば、垂直補正処理で必要となる作業用ラインバッファに必要なメモリ容量を大幅に削減しつつ、画像データの変位量の大きな垂直補正処理が実現できる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態１における画像処理装置のブロック図である。
【図２】（ａ）は同画像処理装置のフレームメモリへの入力画像の格納の様子を示す図、同図（ｂ）は同画像処理装置のラインバッファへの入力画像の格納の様子を示す図である。
【図３】画像拡大を行う座標変換の説明図である。
【図４】糸巻き型歪曲を補正する座標変換の説明図である。
【図５】樽型歪曲を補正する座標変換の説明図である。
【図６】傾き補正を行う座標変換の説明図である。
【図７】（ａ）は同画像処理装置のラインバッファへの入力画像の格納の変形例を示す図、同図（ｂ）は同ラインバッファへの入力画像の格納の他の変形例を示す図である。
【図８】従来の画像処理装置のブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態の画像処理装置について、図面を参照しながら説明する。
【００１６】
（実施形態１）
図１は、本発明の実施形態１における画像処理装置のブロック図を示す。
【００１７】
同図において、レンズ部１００から入射した光学像を撮像部１０１で電気的な映像信号に変換し、入力画像としてフレームメモリ１０２に映像データを格納する。フレームメモリ１０２には、図２（ａ）で点線の横線で示すように、入力画像がライン毎に格納される。
【００１８】
一方、出力画像側座標発生部１０４では、出力画像を構成する各画素に対応する座標を発生し、座標変換部１０５において目的とする画像の変形に相当する座標変換を行って、出力画像を構成する各画素に対応した入力画像での座標を求める。例えば、出力画像を構成する各画素の座標を、図３に示すように映像領域の左上隅を原点（０，０）、画素ピッチが１である座標（ＨＴ，ＶＴ）（ＨＴ、ＶＴは整数）とすると、画像を拡大する変形は、図３中に示すような式で座標変換することにより入力画像側の座標（ＨＳ，ＶＳ）（ＨＳ、ＶＳは実数）が求まる。つまり、出力画像における格子状の水平線、垂直線を細線で表すと、それを構成する画素の座標を入力画像側の座標に変換すると、太線のようになる。出力画像を構成する各々全ての画素に対して入力画像側で対応する座標（実数）を求め、入力画像でそれぞれの座標において求めた画素値で出力画像を構成すると、結果として、入力画像で太線で示すような領域が、細線で示すような領域に変形されて出力される。他にも、糸巻き型の歪曲を補正する変形は図４に示すような式で、樽型の歪曲を補正する変形は図５に示すような式で、歪曲に相当する座標変換を表す関数ｆｈ、ｆｖをレンズ部１００から取り出したレンズポジション情報１０３に基づいて変化させることにより、実現できる。また、傾きを補正する変形は図６に示すような式で座標変換すれば良い。
【００１９】
以上、画像変形は、拡大変形、糸巻き型の歪曲補正、樽型の歪曲補正、傾き補正を例示したが、その他、台形の歪み補正であっても良いし、台形の歪み補正や傾き補正等の２つ以上の補正を複合させて変形しても良い。更に、以上のように歪んだ画像を補正する画像変形だけでなく、逆に、歪んでいない通常の画像データに例えば図４の糸巻き型の歪曲補正を施して魚眼レンズ効果を出す場合や、傾いた通常画像データを水平データに積極的に歪ませて変換する場合などのように、積極的に歪み補正を施す拡張補正を行う画像変形であっても良い。従って、図１に示した画像処理装置は、画像歪みを補正する画像変形と、歪みのない通常画像に歪みを施す画像変形との２種類に対して適用可能である。
【００２０】
そして、以上のようにして座標変換部１０５で得られた入力画像側の垂直座標に基づいて読出位置決定部１０６で決定した位置の画像データをフレームメモリ１０２から読み出し、ラインバッファ１０７に格納する。ここで、フレームメモリ１０２では、図２（ａ）で点線の縦線で示すように、ラインを水平方向に分割した「セグメント」と呼ぶ単位で画像データを扱い、フレームメモリ１０２からラインバッファ１０７への画像データの転送も、このセグメント単位で行う。図２（ａ）では、点線の横線が入力画像のライン（Ｌ＃０〜Ｌ＃１７）を示し、点線の縦線がセグメント（Ｓ＃０〜Ｓ＃７）の区切りを示している。格納ライン位置記憶部１０８には、ラインバッファ１０７に格納している画像データの、入力画像での垂直位置の情報をセグメント毎に記憶する。
【００２１】
以上の動作を、出力画像を構成する走査線のある特定のラインに着目し、ラインを構成する画素の座標を座標変換部１０５で座標変換した結果、入力画像側における座標の軌跡が図２（ａ）の実線で示すように変換されたとして説明する。座標変換部１０５で求めた垂直座標の、水平セグメントＳ＃０の範囲における最大値がおよそ７．２であるとき、読出位置決定部１０６からフレームメモリ１０２に対して、水平セグメントＳ＃０に対して７．２を切り上げたライン位置Ｌ＃８での画像データを読み出すよう指示し、ラインバッファ１０７の水平セグメントＳ＃０の領域に追加する。その結果、ラインバッファ１０７の水平セグメントＳ＃０の領域には入力画像のライン位置Ｌ＃２〜Ｌ＃８の画像データが格納されることになる。このとき、ラインバッファ１０７の水平セグメントＳ＃０の領域に格納されている最も上側のライン位置「２」を基準ライン位置として、格納ライン位置記憶部１０８の水平セグメントＳ＃０に対応する値として記憶する。同様の処理を他の水平セグメントＳ＃１〜Ｓ＃７まで繰り返すと、ラインバッファ１０７には、図２（ｂ）に示すようなイメージで入力画像側の座標の軌跡付近の画像データが格納される。
【００２２】
次に、図２（ｂ）のような画像データをラインバッファ１０７から出力し、格納ライン位置記憶部１０８から各セグメント毎に、前記ラインバッファ１０７から出力される画像データの基準ライン位置を出力し、この基準ライン位置と座標変換部１０５でラインを構成する画素毎に求めた垂直座標との差を利用して、垂直補間部１０９で垂直補間処理を行うことにより、図２（ａ）の実線で示した入力画像側の座標の軌跡の位置における画素値を求める。具体的には、基準ライン位置と垂直座標との差の整数部に従って、ラインバッファ１０７から出力される複数ラインの画像データから垂直補間フィルタをかける水平位置の揃った、つまり垂直方向に一次元的に並んだデータを選択し、基準ライン位置と垂直座標との差の小数部で垂直補間フィルタの係数セットを切り替え、選択したデータ列と係数セットとを掛け合わせるフィルタ処理により、ライン間隔以下の補間を行う。最も簡単な垂直補間フィルタ処理は、２タップの直線補間（距離による重み付け）であるが、図２（ｂ）の場合、実線で示した軌跡の上下を挟む２本のラインのデータを選択し、その２本のラインと軌跡との距離による重み付けを行うことにより、軌跡の位置に相当する画素値を求めることができる。
【００２３】
このように、垂直補間部１０９から垂直方向に変形した画像が得られ、これを水平補間部１１０に入力して水平方向に変形させる。水平補間部１１０では、座標変換部１０５で求めた水平座標の整数部に従って、水平方向に一次元的に並んだデータから水平補間フィルタをかける画素データを選択し、水平座標の小数部で水平補間フィルタの係数セットを切り替えて、選択したデータ列と係数セットとを掛け合わせて画素間隔以下の補間を行う。
【００２４】
以上のようにして垂直方向及び水平方向に変形された画像データが最終的に得られる。
【００２５】
尚、タップ数の多い垂直補間フィルタを用いて高精度に垂直補間を行う場合には、読出位置決定部１０６から出力する画像データの読出しライン位置を垂直補間フィルタのタップ数に応じて大きくする。つまり、座標変換部１０５で求めたセグメント内での垂直座標の最大値を切り上げた値より大きな値を読み出しライン位置とする。
【００２６】
ここで、読出位置決定部１０６において、読出しライン位置を決定する方法は、垂直座標の最大値に基づく方法以外に、図７（ａ）のようにセグメント内での垂直座標の最小値から決定したり、同図（ｂ）のようにセグメント内での垂直座標の平均値、又は中央値から決定しても良い。
【００２７】
また、セグメント内での入力画像側の座標の軌跡の振れ幅が大きい場合には、ラインバッファ１０７に備えるラインメモリのライン数を増やす必要がある。
【００２８】
つまり、ラインバッファ１０７に備えるべきラインメモリのライン数は、セグメント内における入力画像側の座標の軌跡の振れ幅と、用いる垂直補間フィルタのタップ数とから決まる。言い換えれば、ラインを水平方向に分割する数を増やしてセグメントの幅を狭くすることにより、ラインバッファ１０７のメモリ容量、つまり格納するライン数を増やさずに、入力画像側の座標の軌跡のより大きな傾き、つまり、より大きな歪曲や、より大きな回転角度の画像変形に対応することができる。但し、水平セグメント数が増えると、格納ライン位置記憶部１０８に記憶するべき値も増えることになる。フレームメモリ１０２としてＤＤＲ（Double Data Rate）メモリを使用する場合、バースト転送モードのバースト長に基づいてセグメント幅を決めることにより、フレームメモリ１０２からラインバッファ１０７に転送する画像データのデータ転送効率を高めることができる。
【００２９】
尚、図１に示した画像処理装置においては、水平補間部１１０の位置を垂直補間部１０９の後段としたが、本発明はこの位置に限定されず、フレームメモリ１０２の前段、すなわち撮像部１０１の後段に配置しても良いのは勿論である。
【産業上の利用可能性】
【００３０】
本発明にかかる画像処理装置は、小メモリ容量の作業用ラインバッファで画像を大きく変形させることができるので、デジタルカメラやビデオカメラなどの撮像装置で画像変形を行う場合に有用である。
【符号の説明】
【００３１】
１００  レンズ部
１０１  撮像部
１０２  フレームメモリ
１０３  レンズポジション情報
１０４  出力画像側座標発生部
１０５  座標変換部
１０６  読出位置決定部
１０７  ラインバッファ
１０８  格納ライン位置記憶部
１０９  垂直補間部
１１０  水平補間部
【図１】
2013218654.tif 000003
【図２】
2013218654.tif 000004
【図３】
2013218654.tif 000005
【図４】
2013218654.tif 000006
【図５】
2013218654.tif 000007
【図６】
2013218654.tif 000008
【図７】
2013218654.tif 000009
【図８】
2013218654.tif 000010