(57)【特許請求の範囲】
【請求項１】
撮像光学系の歪曲収差特性に応じた歪曲収差を有する入力画像データに対する歪補正処理を行い、歪み補正された後の出力画像データを出力する歪補正部を有し、
前記歪補正部は、
歪補正処理を行って出力する前記出力画像データの位置に対応した前記入力画像データの位置を表す座標を求める歪補正座標変換部と、
前記歪補正座標変換部が求めた前記入力画像データの座標に基づいて、歪補正処理に用いる前記入力画像データの範囲を算出する範囲算出部と、
前記歪補正座標変換部が求めた前記入力画像データの座標および前記範囲算出部が算出した前記入力画像データの範囲の情報を記憶する記憶領域を複数備え、前記入力画像データの座標に引き続き、前記入力画像データの範囲の情報を記憶する補正情報記憶部と、
前記入力画像データの一部を一時的に記憶する入力画像データ記憶部と、
前記補正情報記憶部に前記入力画像データの範囲の情報が記憶された後、該記憶された前記入力画像データの範囲の情報に基づいて、前記入力画像データ記憶部に記憶している前記入力画像データの量を確認し、前記入力画像データ記憶部に記憶している前記入力画像データの量が補間演算に必要な量以上であるときに、前記補正情報記憶部に記憶されている前記入力画像データの座標に基づいて、前記入力画像データ記憶部に記憶している前記入力画像データに対して補間演算を行って前記出力画像データを生成する補間演算部と、
を備え、
歪み補正して出力する２次元の行列状に分布した前記出力画像データの内、列方向に１列に並べられた予め定められた数の前記出力画像データを１つのラインとし、
２次元の行列状に分布された前記入力画像データの内、列方向に１列に並べられた予め定められた数の前記入力画像データを１つのユニットラインとし、
前記入力画像データ記憶部に複数の前記ユニットラインを一時的に記憶し、
前記補正情報記憶部は、
前記ライン毎に前記入力画像データの座標および前記入力画像データの範囲の情報を記憶し、
前記補間演算部は、
前記入力画像データ記憶部に記憶している複数の前記ユニットラインに含まれる前記入力画像データに基づいて、前記ライン毎に歪補正処理を行うことによって、歪み補正された後の前記ラインの前記出力画像データを生成する、
ことを特徴とする画像処理装置。
【請求項２】
前記範囲算出部は、
歪み補正して出力する前記ラインに含まれる前記出力画像データの内、前記補間演算部によって最初に補間演算が行われる前記出力画像データに対応した前記入力画像データの座標が含まれる前記ユニットラインを基準とし、
前記補間演算部によってその後に補間演算が行われる前記出力画像データに対応した前記入力画像データの座標が含まれる前記ユニットラインが、前記基準としたユニットラインに対して直交する第１の方向に最大に離れている前記ユニットラインの数を表す第１のユニットライン数と、前記第１の方向とは逆の第２の方向に最大に離れている前記ユニットラインの数を表す第２のユニットライン数とを、前記入力画像データの範囲の情報として算出する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記入力画像データ記憶部は、
複数の前記ユニットラインの前記入力画像データを、前記ユニットライン毎に一時的に記憶し、
前記補間演算部は、
前記補正情報記憶部に記憶された前記第１のユニットライン数と前記第２のユニットライン数とに基づいて、前記入力画像データ記憶部に記憶している前記ユニットラインの数を確認し、該確認した結果に基づいて補間演算の開始を制御する演算制御部、
を備え、
前記演算制御部は、
前記第１のユニットライン数と前記第２のユニットライン数とを合わせた数以上の前記ユニットラインが、前記入力画像データ記憶部に記憶されていることが確認された後に、該補間演算部における補間演算を開始し、
該補間演算部は、
前記補正情報記憶部に記憶されている前記入力画像データの座標に基づいて、前記入力画像データ記憶部に記憶している複数の前記ユニットラインの前記入力画像データに対して補間演算を行うことによって、前記ラインに含まれる前記出力画像データをそれぞれ生成する、
ことを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記補正情報記憶部は、
前記出力画像データの前記ラインに含まれるそれぞれの前記出力画像データに対応して、前記歪補正座標変換部が求めた前記入力画像データの座標を記憶する座標記憶部と、
前記範囲算出部が算出した前記第１のユニットライン数と、前記第２のユニットライン数とを記憶するユニットライン数記憶部と、
を備え、
前記座標記憶部は、
前記ラインに含まれる前記出力画像データ分の前記入力画像データの座標を順次記憶し、
前記ユニットライン数記憶部は、
前記座標記憶部が記憶する前記ラインにおける前記第１のユニットライン数と前記第２のユニットライン数とをそれぞれ１つ記憶する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記範囲算出部が算出した前記第１のユニットライン数と前記第２のユニットライン数とに基づいて、前記入力画像データ記憶部に記憶することができる前記ユニットラインの数を確認するライン数確認部、
をさらに備え、
前記ライン数確認部は、
前記第１のユニットライン数と前記第２のユニットライン数とを合わせた数が、前記入力画像データ記憶部に記憶することができる前記ユニットラインの数以下である場合には、前記第１のユニットライン数と前記第２のユニットライン数とを前記補正情報記憶部に記憶し、
前記第１のユニットライン数と前記第２のユニットライン数とを合わせた数が、前記入力画像データ記憶部に記憶することができる前記ユニットラインの数よりも多い場合には、エラーを表す信号を出力する、
ことを特徴とする請求項３または請求項４に記載の画像処理装置。
【請求項６】
前記歪補正座標変換部は、
前記出力画像データの前記ラインに含まれるそれぞれの前記出力画像データの位置を表す補間位置を生成する補間位置生成部、
を備え、
前記間位置生成部が生成した前記補間位置を、予め設定された撮像光学系の歪曲収差特性に応じた変換特性に基づいて、前記入力画像データの位置を表す座標に変換する、
ことを特徴とする請求項１から請求項５のいずれか１の項に記載の画像処理装置。
【請求項７】
前記歪補正座標変換部は、
前記補正情報記憶部に前記入力画像データの座標を記憶することができる記憶領域があるときに、前記入力画像データの座標を順次求め、
前記補間演算部は、
前記補正情報記憶部に前記入力画像データの範囲の情報が書き込まれた後に、前記補正情報記憶部から前記入力画像データの範囲の情報を読み出して、前記入力画像データ記憶部に記憶している前記入力画像データの量を確認する、
ことを特徴とする請求項１から請求項６のいずれか１の項に記載の画像処理装置。
【請求項８】
撮像光学系の歪曲収差特性に応じた歪曲収差を有する入力画像データに対する歪補正処理を行い、歪み補正された後の出力画像データを出力する歪補正ステップを有し、
前記歪補正ステップは、
歪補正処理を行って出力する前記出力画像データの位置に対応した前記入力画像データの位置を表す座標を求め、該求めた入力画像データの座標を、記憶領域を複数備えた補正情報記憶部に記憶する歪補正座標変換ステップと、
前記歪補正座標変換ステップによって求めた前記入力画像データの座標に基づいて、歪補正処理に用いる前記入力画像データの範囲を算出し、該算出した入力画像データの範囲の情報を前記補正情報記憶部に記憶する範囲算出ステップと、
補正情報記憶部に前記範囲算出ステップによって算出した前記入力画像データの範囲の情報が記憶された後、前記補正情報記憶部から前記入力画像データの範囲の情報を読み出し、読み出した前記入力画像データの範囲の情報に基づいて、入力画像データ記憶部に記憶している前記入力画像データの量を確認し、前記入力画像データ記憶部に記憶している前記入力画像データの量が補間演算に必要な量以上であるときに、前記補正情報記憶部から前記入力画像データの座標を読み出し、読み出した前記入力画像データの座標に基づいて、前記入力画像データ記憶部に記憶している前記入力画像データに対して補間演算を行って前記出力画像データを生成する補間演算ステップと、
を含み、
歪み補正して出力する２次元の行列状に分布した前記出力画像データの内、列方向に１列に並べられた予め定められた数の前記出力画像データを１つのラインとし、
２次元の行列状に分布された前記入力画像データの内、列方向に１列に並べられた予め定められた数の前記入力画像データを１つのユニットラインとし、
前記入力画像データ記憶部に複数の前記ユニットラインを一時的に記憶し、
前記歪補正座標変換ステップは、
前記ライン毎に求めた前記入力画像データの座標を前記補正情報記憶部に記憶し、
前記範囲算出ステップは、
前記ライン毎に算出した前記入力画像データの範囲の情報を前記補正情報記憶部に記憶し、
前記補間演算ステップは、
前記入力画像データ記憶部に記憶している複数の前記ユニットラインに含まれる前記入力画像データに基づいて、前記ライン毎に歪補正処理を行うことによって、歪み補正された後の前記ラインの前記出力画像データを生成する、
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理方法に関する。
【背景技術】
【０００２】
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの画像処理装置においては、例えば、１枚の静止画像を生成する際に、複数の画像処理が行われる。この画像処理装置内で行う複数の画像処理を、少ないメモリアクセスで行えるようにした画像処理装置が提案されている（特許文献１参照）。
【０００３】
図５は、従来の画像処理装置の概略構成を示したブロック図である。図５に示した従来の画像処理装置は、バス１に接続された各部を制御するＣＰＵ２の制御によって、ＣＣＤなどの固体撮像装置から出力された撮像信号を、プリプロセス回路３によってプリプロセス処理する。このプリプロセス回路３によってプリプロセス処理された画像データは、バス１を介して、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのフレームメモリ４に一旦記憶される。続いて、イメージプロセス処理部５が、バス１を介してフレームメモリ４に記憶された画像データを読み出し、複数の画像処理を行った後に、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）処理回路６に出力する。そして、ＪＰＥＧ処理回路６によってＪＰＥＧ処理された後の画像データを、バス１を介して再びフレームメモリ４に記憶する。
【０００４】
このように、従来の画像処理装置においては、それぞれの画像処理を行う際に、例えば、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）によって、バス１を介したフレームメモリ４へのアクセスが行われる。図５に示した従来の画像処理装置では、イメージプロセス処理部５内の各画像処理回路（イメージプロセス回路５−１〜イメージプロセス回路５−ｎ）を直列に接続し、複数の画像処理をパイプライン処理することによって、少ないＤＭＡ帯域での複数の画像処理を実現している。
【０００５】
ところで、一般的にカメラの光学系においては、歪曲収差が現れる。図６は、光学系の歪曲収差の一例を示した図である。例えば、画像処理装置が、図６（ａ）に示したような格子状の被写体を撮影した場合、光学系の歪曲収差によって、図６（ｂ）に示すような樽型の歪みや、図６（ｃ）に示すような糸巻き型の歪みを持った撮影画像となってしまう。近年のカメラでは、光学ズームの機能が搭載された光学系が多く、広角側では樽型の歪みが現れ、望遠側では糸巻き型の歪みが現れるなど、広角側と望遠側とで歪曲収差の状態が変化することが多い。このため、画像処理回路として、光学系の状態によって変化する歪曲収差を補正するための歪補正回路を備えた画像処理装置が提案されている（特許文献２参照）。
【０００６】
特許文献２で提案されている従来の画像処理装置においては、歪曲収差の補正を行う歪補正回路を、例えば、図５に示した従来の画像処理装置のイメージプロセス処理部５内のイメージプロセス回路５−２として備えた場合を開示している。なお、図５に示した従来の画像処理装置においては、イメージプロセス処理部５によって画像処理を行った後に、ＪＰＥＧ処理回路６がＪＰＥＧ処理を行っている。このＪＰＥＧ処理は、横方向に８画素の画像データの単位で行われるため、イメージプロセス処理部５は、最初に画像データの縦横変換を行い、縦横変換した画像データに対して複数の画像処理を行った後の画像データをＪＰＥＧ処理回路６に出力するようになっている。そのため、従来の歪補正回路であるイメージプロセス回路５−２には、フレームメモリ４に一旦記憶されている画像データを前段の画像処理回路である縦横変換回路（イメージプロセス回路５−１）がＤＭＡによって取得し、さらに、縦横変換回路によって縦横変換された画像データが、入力画像データとして入力されている。そして、従来の歪補正回路は、入力された縦横変換後の画像データに対して光学系の歪曲収差の補正を行っている。
【０００７】
ここで、従来の歪補正回路に入力画像データを入力する前段の画像処理回路である縦横変換回路（イメージプロセス回路５−１）について説明する。図７は、縦横変換回路がフレームメモリ４から画像データを読み出し、歪補正回路に入力画像データを出力する動作を模式的に示した図である。図７は、フレームメモリ４に記憶されている１画面の画像データを表している。縦横変換回路は、フレームメモリ４に記憶されている１画面の画像データを、予め定められた行数の幅の領域（以下、「ブロックライン」という）４１に分割する。なお、各ブロックライン４１の領域は、それぞれの行方向の領域が隣接するブロックライン４１の領域と重複するように、各ブロックライン４１の行数の幅が設定されている。
【０００８】
そして、縦横変換回路は、ブロックライン４１内の画像データを、図７に示した読み出し方向４２のように、フレームメモリ４の行（Ｃｏｌｕｍｎ）方向に読み出す。その後、縦横変換回路は、読み出したブロックライン４１の画像データを、行（Ｃｏｌｕｍｎ）方向に直交した、図７に示した出力方向４３のようなフレームメモリ４の列（Ｒｏｗ）方向に出力する。この出力方向４３のようにフレームメモリ４の列（Ｒｏｗ）方向で出力された画像データが、入力画像データとして歪補正回路に入力される。このように、縦横変換回路は、縦横変換した画像データを歪補正回路に入力する。なお、図７に示した出力方向４３に読み出される画像データの１列（ライン）分を、「ユニットライン」という。
【０００９】
図８は、縦横変換回路の概略構成および概略動作を示した図である。図８（ａ）に示したように縦横変換回路は、２つの小さなメモリ部（メモリ部５１１および５１２）を備えている。メモリ部５１１とメモリ部５１２とは、図示しない制御部によって、図８（ｂ）に示すように、一方のメモリ部にフレームメモリ４から読み出した画像データを書き込んでいるときには、他方のメモリ部に書き込まれている画像データを読み出して歪補正回路に出力するように、切り替え制御がされる。図８（ａ）においては、メモリ部５１１にフレームメモリ４から読み出した画像データを書き込み（Ｗｒｉｔｅ）、メモリ部５１２から画像データを読み出して歪補正回路に出力（Ｒｅａｄ）している状態の例を示している。
【００１０】
メモリ部５１１またはメモリ部５１２に、フレームメモリ４から読み出した画像データを書き込む際には、図７に示した読み出し方向４２と同様のフレームメモリ４の行（Ｃｏｌｕｍｎ）方向に画像データをスキャン（ラスタスキャン）して、ブロックライン４１に分割して書き込む。なお、メモリ部５１１およびメモリ部５１２は、フレームメモリ４の行（Ｃｏｌｕｍｎ）方向と同じ長さのデータを記憶することができるメモリではなく、例えば、フレームメモリ４のバースト長の長さのデータを記憶することができるメモリである。従って、メモリ部５１１およびメモリ部５１２は、バースト長×予め定められた行数の幅の容量を持つメモリである。
【００１１】
また、メモリ部５１１またはメモリ部５１２に記憶している画像データを、歪補正回路に読み出す（出力する）際には、図７に示した出力方向４３と同様のフレームメモリ４の列（Ｒｏｗ）方向に画像データをスキャンしながら読み出して出力する。このように、メモリ部に書き込む方向とメモリ部から読み出す方向とを変えることによって、画像データの縦横変換を行っている。
【００１２】
次に、従来の画像処理装置において歪曲収差の補正を行う歪補正回路（イメージプロセス回路５−２）について説明する。図９は、従来の歪補正回路の概略構成を示したブロック図である。図９に示した従来の歪補正回路５２は、縦横変換回路から入力された入力画像データを補正し、補正後の出力画像データを次段の画像処理回路に出力する。
【００１３】
図９に示したように歪補正回路５２は、補間位置生成部５２１と、歪補正座標変換部５２２と、ラインメモリ５２３と、メモリ制御部５２４と、補間演算部５２５とから構成される。補間位置生成部５２１は、補間して出力する出力画像データの位置を表す補間位置を生成する。歪補正座標変換部５２２は、補間位置生成部５２１が生成した補間位置に対して、予め設定されている光学系のズーム位置などに応じた歪曲収差特性の歪み補正式を適用して、歪み補正前の入力画像データの位置を表す座標に変換する。これにより、補間位置生成部５２１が生成した出力画像データの補間位置のデータを、どの位置（座標）の入力画像データを用いて補間を実行するかを求めることができる。
【００１４】
ラインメモリ５２３は、イメージプロセス回路５−１から入力された入力画像データをユニットライン毎に一時的に記憶する。なお、ラインメモリ５２３は、予め定められた複数のユニットライン分の記憶領域を備え、各記憶領域が環（リング）状に接続されているような形態となっている。そして、補間演算に使用しなくなったユニットラインの入力画像データを順次書き換えることによって、予め定められているユニットライン分よりも多いユニットライン数の入力画像データを記憶することができるようになっている。
【００１５】
メモリ制御部５２４は、歪補正座標変換部５２２が変換した歪み補正前の入力画像データの座標に基づいて、ラインメモリ５２３を制御する。補間演算部５２５は、歪補正座標変換部５２２が変換した歪み補正前の入力画像データの座標に基づいて、ラインメモリ５２３に記憶されている入力画像データに対して補間演算を行った出力画像データを生成し、次段の画像処理回路に出力する。
【００１６】
ここで、従来の歪補正回路５２における補間演算について説明する。補間演算部５２５は、所定の出力画像データの補間演算を行う場合に、歪み補正前の入力画像データが含まれる列（ライン）の入力画像データと、その周辺に位置する入力画像データが含まれる前後のラインの入力画像データを用いて、例えば、バイリニア補間やバイキュービック補間によって出力画像データを生成する。図１０は、従来の歪補正回路５２に備えたラインメモリと、ラインメモリに記憶されている入力画像データとの一例を模式的に示した図である。図１０は、ラインメモリ５２３として１６ライン（ユニットライン）分の入力画像データを記憶することができる記憶領域を備え、１列（ライン）の出力画像データを出力する際、補間する出力画像データに対応した歪み補正前の入力画像データのラインと、補間演算に必要な入力画像データの範囲（ユニットライン数）を表している。そして、図１０に示した例では、出力画像データに対応した歪み補正前の入力画像データが記憶されているラインと、その１ライン前の入力画像データおよび２ライン後までの入力画像データを用いて、バイキュービック補間によって出力画像データを生成する例を示している。
【００１７】
ところで、図６に示したような歪曲収差を持った光学系を用いて撮影された撮影画像における各ラインの歪みの形状は、そのライン毎に異なる。このため、補間演算部５２５が所定のラインの出力画像データを出力するために必要な入力画像データのライン数（ユニットライン数）も、出力画像データを出力するライン毎に異なる。例えば、図１０に示したように、ラインａに示した入力画像データに基づいて１列（ライン）の出力画像データを生成する場合には、１ユニットライン目〜７ユニットライン目の入力画像データが必要であり、ラインｂに示した入力画像データに基づいて１列（ライン）の出力画像データを生成する場合には、９ユニットライン目〜１３ユニットライン目の入力画像データが必要であるというように、出力画像データを出力する列（ライン）毎に、必要な入力画像データのライン数（ユニットライン数）が異なる。
【００１８】
しかしながら、所定のラインの出力画像データを出力するために必要な入力画像データのライン数（ユニットライン数）は、事前に求めることは困難であり、実際に座標変換を実行してみないと、補間演算に必要な入力画像データの適切なライン数を求めることができない。実際に座標変換を実行して必要な入力画像データのライン数を求めずに補間処理を行ってしまうと、例えば、補間演算に必要な入力画像データのライン数に対して、ラインメモリ５２３に記憶している入力画像データのライン数が少ない場合には、補間演算の処理が正常に終了せず、エラーとなってしまう。そして、補間演算の処理がエラーとなった場合には、ラインメモリ５２３に記憶している入力画像データのライン数が必要なライン数以上揃った後に、補間処理を再度行うこととなり、補間処理を効率的に行うことができない。
【００１９】
このようなことから、各ラインの歪みの形状に影響されずに補間処理を正常に終了させるための対応として、ラインメモリ５２３に記憶する入力画像データのライン数、すなわち、ラインメモリ５２３に一時記憶することができる予め準備しておくユニットライン数を増やすことが考えられる。しかし、この対応では、実際の補間処理に使用しないユニットラインの入力画像データも記憶しておくこととなるため、ラインメモリの使用効率が低下してしまう。また、より多くのラインメモリを準備する必要があるため、歪補正回路の回路規模が増大してしまう要因ともなる。
【００２０】
そこで、特許文献２においては、補間して出力する出力画像データの範囲に対する歪み補正前の入力画像データの範囲を、歪み補正の処理に先立って実行する歪補正範囲算出部を備えた歪補正回路も提案されている。以下の説明においては、歪補正範囲算出部を備えていない従来の歪補正回路５２と区別するため、歪補正範囲算出部を備えた従来の歪補正回路を「歪補正回路５３」という。歪補正回路５３では、予め出力画像データの範囲、例えば、ブロックライン４１の四辺に沿って、歪補正座標変換部５２２と同様の歪座標変換演算を行って、歪み補正前の入力画像データの四辺の座標を求める。これは、出力画像データを出力する範囲において、一番外側の周囲の出力画像データを生成するために必要な入力画像データの範囲（座標）を事前に算出しておくことによって、全ての出力画像データを補間演算するために必要な入力画像データの範囲は、事前に算出した範囲内に存在する入力画像データであるから、補間演算の処理がエラーとなることを回避することができるという考えに基づいたものである。
【００２１】
特許文献２においては、求めた入力画像データの範囲の四辺の内、左端または右端のいずれかの一方の端の曲がり（歪み）が、一般的に考えられる最大の曲がり（歪み）であると仮定して、補間演算を行う際に用いる前側のユニットライン数と後側のユニットライン数とを決めている。すなわち、ブロックライン４１の左右端において歪みが大きいいずれか一方の端の入力画像データに基づいて、補間演算に用いる入力画像データの範囲（ユニットライン数）を決めている。そして、ここで決めた前側のユニットライン数と後側のユニットライン数とを、当該ブロックライン４１の補間演算を行う際に用いるユニットライン数として一律に設定している。
【００２２】
図１１は、従来の歪補正回路５３において、補間演算を行う際に用いる前側のユニットライン数と後側のユニットライン数とを求める方法を説明する図である。図１１は、歪補正範囲算出部が求めた入力画像データの範囲の左端または右端のいずれかの一方の端の入力画像データの位置を示している。補間演算を行う際に用いる前側のユニットライン数と後側のユニットライン数とを求めるときには、まず、最初に補間を行う入力画像データＡ（図１１においては、入力画像データラインの上端）の位置（座標）を中心とする。
【００２３】
そして、入力画像データのライン上で、中心とした入力画像データＡの位置（座標）に対して前側（図１１においては、左側）に最大に離れている入力画像データＨの位置（座標）との差に基づいて、前側、すなわち、中心とした入力画像データＡよりも過去の入力画像データＨが含まれるユニットライン数を、ｐｏｓｔＵＬＢ（ユニットラインバッファ：Ｕｎｉｔ  Ｌｉｎｅ  Ｂｕｆｆｅｒ）とする。また、入力画像データのライン上で、中心とした入力画像データＡの位置（座標）に対して後側（図１１においては、右側）に最大に離れている入力画像データＣの位置（座標）との差に基づいて、後側、すなわち、中心とした入力画像データＡよりも未来の入力画像データＣが含まれるユニットライン数をｐｒｅＵＬＢとする。このように、入力画像データの範囲の左端および右端の入力画像データのラインに対して、それぞれ前側のユニットラインの数（ｐｏｓｔＵＬＢ）と後側のユニットラインの数（ｐｒｅＵＬＢ）とを求める。
【００２４】
そして、入力画像データの範囲の左端のラインから求めたｐｏｓｔＵＬＢの値と、入力画像データの範囲の右端のラインから求めたｐｏｓｔＵＬＢの値との、いずれか大きい方の１つのｐｏｓｔＵＬＢの値（ユニットライン数）を最終的なｐｏｓｔＵＬＢとする。また、入力画像データの範囲の左端のラインから求めたｐｒｅＵＬＢの値と、入力画像データの範囲の右端のラインから求めたｐｒｅＵＬＢの値との、いずれか大きい方の１つのｐｒｅＵＬＢの値（ユニットライン数）を最終的なｐｒｅＵＬＢとする。このｐｏｓｔＵＬＢとｐｒｅＵＬＢとが、補間演算を行う際に用いるユニットライン数として一律に設定される。
【００２５】
そして、歪補正回路５３では、例えば、図９に示した従来の歪補正回路５２のメモリ制御部５２４にｐｏｓｔＵＬＢとｐｒｅＵＬＢとを設定し、歪補正座標変換部５２２が変換した歪み補正前の画像データの座標、および設定されたｐｏｓｔＵＬＢとｐｒｅＵＬＢとの値に基づいて、ラインメモリ５２３を制御する。すなわち、メモリ制御部５２４は、ラインメモリ５２３に記憶している入力画像データのライン数を、設定されたｐｏｓｔＵＬＢとｐｒｅＵＬＢとを満足するように、ラインメモリ５２３に記憶するライン数を制御する。これにより、特許文献２で開示された歪補正回路５３は、補間演算の処理がエラーとなることを回避し、補間演算を効率的に行うというものである。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特許第４１７９７０１号公報
【特許文献２】特開２００５−４５５１４号公報
【発明の概要】
【発明が解決しようとする課題】
【００２７】
しかしながら、光学系の歪曲収差を持った光学系によって撮影された撮影画像における各ラインの歪みの形状は、必ずしも入力画像データの範囲の四辺の左端または右端のいずれかの一方の端の曲がり（歪み）が最大であるとは限らない。例えば、図１２に示した入力画像データ範囲のラインの歪みの形状を模式的に示した例のように、左端のラインＬまたは右端のラインＲの曲がり（歪み）が最大ではなく、中央のラインＣの曲がり（歪み）が最大となる場合もある。そして、例えば、中央のラインＣの曲がり（歪み）が設定したｐｏｓｔＵＬＢおよびｐｒｅＵＬＢよりも大きい場合には、補間演算の処理がエラーとなり、ラインメモリ５２３に記憶している入力画像データのライン数が必要なライン数以上揃った後に、補間処理を再度行うこととなり、補間処理を効率的に行うことができないという問題がある。
【００２８】
このような場合を考慮して、特許文献２に開示されているような歪補正回路５３においても、ｐｏｓｔＵＬＢおよびｐｒｅＵＬＢに余裕（マージン）を持った値を設定するということが考えられる。しかしながら、マージンを持ったｐｏｓｔＵＬＢおよびｐｒｅＵＬＢを設定するということは、実際の補間処理に使用するラインよりも多くのラインメモリを使用することとなる。歪補正回路５３においては、ｐｏｓｔＵＬＢおよびｐｒｅＵＬＢを事前に設定しているため、歪補正回路５２に比べてマージンを少なくする設定することができるかもしれないが、マージンの量を最適にすることは困難であるため、やはり、ラインメモリの使用効率が低下してしまうという問題がある。また、マージンを考慮した多くのラインメモリを準備する必要があるため、歪補正回路の回路規模が増大してしまうことになる。
【００２９】
また、ラインメモリの使用効率が低下すると、画像処理装置においてパイプライン処理される各画像処理が停止（ストール）するという現象が発生しやすくなる。実際にパイプライン処理のストールが発生した場合には、パイプライン処理されている各画像処理を再度行う必要が発生し、画像処理装置の全体の処理時間が長くなってしまう。または、画像処理装置の全体の処理が正常に終了しないという場合もある。このような、画像処理装置におけるパイプライン処理のストールを回避する方法として、各画像処理回路にラインメモリを備えることも考えられるが、この場合には、画像処理装置の回路規模がさらに増大してしまうこととなる。
【００３０】
本発明は、上記の課題認識に基づいてなされたものであり、入力画像データの範囲内における各ラインの歪みの形状に応じて発生する補間演算の処理のエラーを回避し、歪補正処理を正常に終了することができる画像処理装置および画像処理方法を提供することを目的としている。
【課題を解決するための手段】
【００３１】
上記の課題を解決するため、本発明の画像処理装置は、撮像光学系の歪曲収差特性に応じた歪曲収差を有する入力画像データに対する歪補正処理を行い、歪み補正された後の出力画像データを出力する歪補正部を有し、前記歪補正部は、歪補正処理を行って出力する前記出力画像データの位置に対応した前記入力画像データの位置を表す座標を求める歪補正座標変換部と、前記歪補正座標変換部が求めた前記入力画像データの座標に基づいて、歪補正処理に用いる前記入力画像データの範囲を算出する範囲算出部と、前記歪補正座標変換部が求めた前記入力画像データの座標および前記範囲算出部が算出した前記入力画像データの範囲の情報を記憶する記憶領域を複数備え、前記入力画像データの座標に引き続き、前記入力画像データの範囲の情報を記憶する補正情報記憶部と、前記入力画像データの一部を一時的に記憶する入力画像データ記憶部と、前記補正情報記憶部に前記入力画像データの範囲の情報が記憶された後、該記憶された前記入力画像データの範囲の情報に基づいて、前記入力画像データ記憶部に記憶している前記入力画像データの量を確認し、前記入力画像データ記憶部に記憶している前記入力画像データの量が補間演算に必要な量以上であるときに、前記補正情報記憶部に記憶されている前記入力画像データの座標に基づいて、前記入力画像データ記憶部に記憶している前記入力画像データに対して補間演算を行って前記出力画像データを生成する補間演算部と、を備え、歪み補正して出力する２次元の行列状に分布した前記出力画像データの内、列方向に１列に並べられた予め定められた数の前記出力画像データを１つのラインとし、２次元の行列状に分布された前記入力画像データの内、列方向に１列に並べられた予め定められた数の前記入力画像データを１つのユニットラインとし、前記入力画像データ記憶部に複数の前記ユニットラインを一時的に記憶し、前記補正情報記憶部は、前記ライン毎に前記入力画像データの座標および前記入力画像データの範囲の情報を記憶し、前記補間演算部は、前記入力画像データ記憶部に記憶している複数の前記ユニットラインに含まれる前記入力画像データに基づいて、前記ライン毎に歪補正処理を行うことによって、歪み補正された後の前記ラインの前記出力画像データを生成する、ことを特徴とする。
【００３３】
また、本発明の前記範囲算出部は、歪み補正して出力する前記ラインに含まれる前記出力画像データの内、前記補間演算部によって最初に補間演算が行われる前記出力画像データに対応した前記入力画像データの座標が含まれる前記ユニットラインを基準とし、前記補間演算部によってその後に補間演算が行われる前記出力画像データに対応した前記入力画像データの座標が含まれる前記ユニットラインが、前記基準としたユニットラインに対して直交する第１の方向に最大に離れている前記ユニットラインの数を表す第１のユニットライン数と、前記第１の方向とは逆の第２の方向に最大に離れている前記ユニットラインの数を表す第２のユニットライン数とを、前記入力画像データの範囲の情報として算出する、ことを特徴とする。
【００３５】
また、本発明の前記入力画像データ記憶部は、複数の前記ユニットラインの前記入力画像データを、前記ユニットライン毎に一時的に記憶し、前記補間演算部は、前記補正情報記憶部に記憶された前記第１のユニットライン数と前記第２のユニットライン数とに基づいて、前記入力画像データ記憶部に記憶している前記ユニットラインの数を確認し、該確認した結果に基づいて補間演算の開始を制御する演算制御部、を備え、前記演算制御部は、前記第１のユニットライン数と前記第２のユニットライン数とを合わせた数以上の前記ユニットラインが、前記入力画像データ記憶部に記憶されていることが確認された後に、該補間演算部における補間演算を開始し、該補間演算部は、前記補正情報記憶部に記憶されている前記入力画像データの座標に基づいて、前記入力画像データ記憶部に記憶している複数の前記ユニットラインの前記入力画像データに対して補間演算を行うことによって、前記ラインに含まれる前記出力画像データをそれぞれ生成する、ことを特徴とする。
【００３６】
また、本発明の前記補正情報記憶部は、前記出力画像データの前記ラインに含まれるそれぞれの前記出力画像データに対応して、前記歪補正座標変換部が求めた前記入力画像データの座標を記憶する座標記憶部と、前記範囲算出部が算出した前記第１のユニットライン数と、前記第２のユニットライン数とを記憶するユニットライン数記憶部と、を備え、前記座標記憶部は、前記ラインに含まれる前記出力画像データ分の前記入力画像データの座標を順次記憶し、前記ユニットライン数記憶部は、前記座標記憶部が記憶する前記ラインにおける前記第１のユニットライン数と前記第２のユニットライン数とをそれぞれ１つ記憶する、ことを特徴とする。
【００３７】
また、本発明の画像処理装置は、前記範囲算出部が算出した前記第１のユニットライン数と前記第２のユニットライン数とに基づいて、前記入力画像データ記憶部に記憶することができる前記ユニットラインの数を確認するライン数確認部、をさらに備え、前記ライン数確認部は、前記第１のユニットライン数と前記第２のユニットライン数とを合わせた数が、前記入力画像データ記憶部に記憶することができる前記ユニットラインの数以下である場合には、前記第１のユニットライン数と前記第２のユニットライン数とを前記補正情報記憶部に記憶し、前記第１のユニットライン数と前記第２のユニットライン数とを合わせた数が、前記入力画像データ記憶部に記憶することができる前記ユニットラインの数よりも多い場合には、エラーを表す信号を出力する、ことを特徴とする。
【００３８】
また、本発明の前記歪補正座標変換部は、前記出力画像データの前記ラインに含まれるそれぞれの前記出力画像データの位置を表す補間位置を生成する補間位置生成部、を備え、前記間位置生成部が生成した前記補間位置を、予め設定された撮像光学系の歪曲収差特性に応じた変換特性に基づいて、前記入力画像データの位置を表す座標に変換する、ことを特徴とする。
【００３９】
また、本発明の前記歪補正座標変換部は、前記補正情報記憶部に前記入力画像データの座標を記憶することができる記憶領域があるときに、前記入力画像データの座標を順次求め、前記補間演算部は、前記補正情報記憶部に前記入力画像データの範囲の情報が書き込まれた後に、前記補正情報記憶部から前記入力画像データの範囲の情報を読み出して、前記入力画像データ記憶部に記憶している前記入力画像データの量を確認する、ことを特徴とする。
【００４０】
また、本発明の画像処理方法は、撮像光学系の歪曲収差特性に応じた歪曲収差を有する入力画像データに対する歪補正処理を行い、歪み補正された後の出力画像データを出力する歪補正ステップを有し、前記歪補正ステップは、歪補正処理を行って出力する前記出力画像データの位置に対応した前記入力画像データの位置を表す座標を求め、該求めた入力画像データの座標を、記憶領域を複数備えた補正情報記憶部に記憶する歪補正座標変換ステップと、前記歪補正座標変換ステップによって求めた前記入力画像データの座標に基づいて、歪補正処理に用いる前記入力画像データの範囲を算出し、該算出した入力画像データの範囲の情報を前記補正情報記憶部に記憶する範囲算出ステップと、補正情報記憶部に前記範囲算出ステップによって算出した前記入力画像データの範囲の情報が記憶された後、前記補正情報記憶部から前記入力画像データの範囲の情報を読み出し、読み出した前記入力画像データの範囲の情報に基づいて、入力画像データ記憶部に記憶している前記入力画像データの量を確認し、前記入力画像データ記憶部に記憶している前記入力画像データの量が補間演算に必要な量以上であるときに、前記補正情報記憶部から前記入力画像データの座標を読み出し、読み出した前記入力画像データの座標に基づいて、前記入力画像データ記憶部に記憶している前記入力画像データに対して補間演算を行って前記出力画像データを生成する補間演算ステップと、を含み、歪み補正して出力する２次元の行列状に分布した前記出力画像データの内、列方向に１列に並べられた予め定められた数の前記出力画像データを１つのラインとし、２次元の行列状に分布された前記入力画像データの内、列方向に１列に並べられた予め定められた数の前記入力画像データを１つのユニットラインとし、前記入力画像データ記憶部に複数の前記ユニットラインを一時的に記憶し、前記歪補正座標変換ステップは、前記ライン毎に求めた前記入力画像データの座標を前記補正情報記憶部に記憶し、前記範囲算出ステップは、前記ライン毎に算出した前記入力画像データの範囲の情報を前記補正情報記憶部に記憶し、前記補間演算ステップは、前記入力画像データ記憶部に記憶している複数の前記ユニットラインに含まれる前記入力画像データに基づいて、前記ライン毎に歪補正処理を行うことによって、歪み補正された後の前記ラインの前記出力画像データを生成する、ことを特徴とする。
【発明の効果】
【００４１】
本発明によれば、入力画像データの範囲内における各ラインの歪みの形状に応じて発生する補間演算の処理のエラーを回避し、歪補正処理を正常に終了することができるという効果が得られる。
【図面の簡単な説明】
【００４２】
【図１】本発明の第１の実施形態における歪補正回路の概略構成を示したブロック図である。
【図２】本発明の第２の実施形態における歪補正回路の概略構成を示したブロック図である。
【図３】本発明の第２の実施形態における歪補正回路に備える補間情報用メモリのメモリ構成の一例を示した図である。
【図４】本発明の第３の実施形態における歪補正回路の概略構成を示したブロック図である。
【図５】従来の画像処理装置の概略構成を示したブロック図である。
【図６】光学系の歪曲収差の一例を示した図である。
【図７】縦横変換回路がフレームメモリから画像データを読み出し、歪補正回路に入力画像データを出力する動作を模式的に示した図である。
【図８】縦横変換回路の概略構成および概略動作を示した図である。
【図９】従来の歪補正回路の概略構成を示したブロック図である。
【図１０】従来の歪補正回路に備えたラインメモリと、ラインメモリに記憶されている入力画像データとの一例を模式的に示した図である。
【図１１】従来の歪補正範囲算出部を備えた従来の歪補正回路において、補間演算を行う際に用いる前側のユニットライン数と後側のユニットライン数とを求める方法を説明する図である。
【図１２】入力画像データ範囲のラインの歪みの形状の一例を模式的に示した図である。
【発明を実施するための形態】
【００４３】
以下、本発明の実施形態について、図面を参照して説明する。本実施形態の画像処理装置は、図５に示した従来の画像処理装置に対して、イメージプロセス処理部５内の画像処理回路、より具体的には、イメージプロセス回路５−２として備えられた歪補正回路が異なる。
【００４４】
＜第１の実施形態＞
図１は、本第１の実施形態における歪補正回路の概略構成を示したブロック図である。図１に示した本第１の実施形態の歪補正回路５２０は、本実施形態の画像処理装置のイメージプロセス処理部５内のイメージプロセス回路５−２として備えられる。そして、前段の画像処理回路である縦横変換回路（イメージプロセス回路５−１）から入力された入力画像データを補正し、補正後の出力画像データを次段の画像処理回路に出力する。なお、歪補正回路５２０は、出力画像データの１列（ライン）を補正する単位として処理する。
【００４５】
図１に示したように本第１の実施形態の歪補正回路５２０は、補間位置生成部５２１と、歪補正座標変換部５２２と、ラインメモリ５２３と、メモリ制御部５２４と、ＵＬＢ算出部５２６と、座標用メモリ５２７と、ＵＬＢ用メモリ５２８と、補間演算部５２５と、から構成される。本第１の実施形態の歪補正回路５２０は、図９に示した従来の歪補正回路５２に対して、ＵＬＢ算出部５２６と、座標用メモリ５２７と、ＵＬＢ用メモリ５２８とが追加された構成であり、その他の構成要素における動作は、図９に示した従来の歪補正回路５２の構成要素の動作とほぼ同様である。従って、歪補正回路５２０において、図９に示した従来の歪補正回路５２と同様の動作を行う構成要素には、同一の符号を付与し、動作の違いのみを説明する。
【００４６】
補間位置生成部５２１は、補間して出力する１ラインに含まれる出力画像データの位置を表す補間位置を順次生成する。
【００４７】
歪補正座標変換部５２２は、補間位置生成部５２１が生成した補間位置に基づいて、歪み補正前の入力画像データの位置を表す座標に順次変換する。そして、歪補正座標変換部５２２は、変換した歪み補正前の入力画像データの位置を表す座標の情報を、順次、座標用メモリ５２７およびＵＬＢ算出部５２６に出力する。
【００４８】
座標用メモリ５２７は、１ライン分の座標の情報を記憶するメモリである。座標用メモリ５２７は、歪補正座標変換部５２２から入力された歪み補正前の入力画像データの位置を表す１ライン分の座標の情報を順次記憶する。座標用メモリ５２７は、例えば、１ライン分の記憶領域を持つＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）メモリで構成される。なお、座標用メモリ５２７は、複数ライン分の記憶領域を持つ構成とすることもできる。
【００４９】
ＵＬＢ算出部５２６は、歪補正座標変換部５２２から順次入力される歪み補正前の入力画像データの位置を表す１ライン分の座標の情報に基づいて、１ラインの出力画像データの補間演算を行う際に用いる前側のユニットライン数（ｐｏｓｔＵＬＢ）と後側のユニットライン数（ｐｒｅＵＬＢ）とを算出する。そして、ＵＬＢ算出部５２６は、算出したｐｏｓｔＵＬＢとｐｒｅＵＬＢとを、ＵＬＢ用メモリ５２８に出力する。
【００５０】
ＵＬＢ用メモリ５２８は、ＵＬＢ算出部５２６が算出した、１ラインの出力画像データの補間演算を行う際に用いるｐｏｓｔＵＬＢとｐｒｅＵＬＢとを記憶するメモリである。ＵＬＢ用メモリ５２８は、座標用メモリ５２７に記憶される１ライン分の座標の情報に対応したｐｏｓｔＵＬＢとｐｒｅＵＬＢとを、それぞれ１つずつ記憶する。ＵＬＢ用メモリ５２８は、例えば、２つの記憶領域を持つＦＩＦＯメモリで構成される。なお、ＵＬＢ用メモリ５２８の記憶領域は、座標用メモリ５２７が持つライン数に対応しており、座標用メモリ５２７が複数ライン分の記憶領域を持つ構成である場合には、座標用メモリ５２７が持つライン数分のｐｏｓｔＵＬＢとｐｒｅＵＬＢとをそれぞれ記憶することができる領域を備える。すなわち、座標用メモリ５２７が持つラインの数に２を乗算した数の記憶領域を持った構成である。
【００５１】
メモリ制御部５２４は、ＵＬＢ用メモリ５２８に記憶されたｐｏｓｔＵＬＢとｐｒｅＵＬＢとに基づいて、ラインメモリ５２３に一時記憶されているユニットラインの数を確認する。そして、ラインメモリ５２３内に、補間演算を行う際に用いるｐｏｓｔＵＬＢとｐｒｅＵＬＢのユニットライン数の入力画像データが揃っている場合には、補間演算を開始するための制御信号を、補間演算部５２５に出力する。また、ラインメモリ５２３内に、補間演算を行う際に用いるｐｏｓｔＵＬＢとｐｒｅＵＬＢのユニットライン数の入力画像データが揃っていない場合には、補間演算を開始するための制御信号を出力せず、ラインメモリ５２３に必要なユニットライン数の入力画像データが揃うまで、補間演算部５２５による補間演算の開始を待たせる。そして、補間演算に必要なユニットライン数の入力画像データがラインメモリ５２３に揃った後に、補間演算を開始するための制御信号を出力して、補間演算部５２５に補間演算を開始させる。
【００５２】
補間演算部５２５は、メモリ制御部５２４から入力された補間演算を開始するための制御信号に応じて、ラインメモリ５２３に記憶されている入力画像データに対して補間演算を行った出力画像データを生成する。なお、補間演算部５２５が補間演算を行う際には、座標用メモリ５２７に記憶されている歪み補正前の入力画像データの位置を表す座標の情報を順次読み出し、読み出した座標の情報に基づいて、ラインメモリ５２３に記憶されている入力画像データに対して補間演算を行う。
【００５３】
次に、歪補正回路５２０における補間処理について説明する。歪補正回路５２０においては、以下のような手順で補間処理が行われる。なお、以下の説明においては、例えば、１つのブロックライン４１が８行８列である場合を例として説明する。そして、補間して出力する出力画像データに対応した、例えば、図１１に示した８個の入力画像データ（入力画像データＡ〜Ｈ）のラインが８列（ライン）あるものとする。そして、出力画像データ、補間位置、および入力画像データのそれぞれを、位置を示すＸＹ座標で表し、Ｘに続く数字を列の番号、Ｙに続く数字を行の番号とする。例えば、２行３列目に対応する入力画像データは、入力画像データ（Ｘ３，Ｙ２）と表す。
【００５４】
また、座標用メモリ５２７は、１ユニットライン分、すなわち、８個（列）分の座標の情報を記憶する記憶領域を持つ構成であるものとし、ＵＬＢ用メモリ５２８は、ｐｏｓｔＵＬＢとｐｒｅＵＬＢとをそれぞれ１つずつ記憶する記憶領域を持つ構成であるものとして説明する。なお、座標用メモリ５２７およびＵＬＢ用メモリ５２８は、例えば、ＦＩＦＯメモリで構成されるが、以下の説明においては、説明を容易にするため、座標用メモリ５２７およびＵＬＢ用メモリ５２８は、それぞれ、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成されているものとして説明する。
【００５５】
また、ラインメモリ５２３は、各記憶領域が環（リング）状に接続されているが、少なくとも１ユニットライン分の補間演算に必要な入力画像データを、同時に記憶しておくことができる記憶領域（ライン数）を備えているものとする。
【００５６】
歪補正回路５２０における補間処理が開始されると、
（手順１）：ラインメモリ５２３は、ユニットライン毎に入力画像データの一時記憶を開始する。また、補間位置生成部５２１は、最初に補間して出力する１列目に含まれる１行目の出力画像データ（Ｘ１，Ｙ１）の位置を表す補間位置（Ｘ１，Ｙ１）を生成する。
（手順２）：歪補正座標変換部５２２は、補間位置生成部５２１が生成した補間位置（Ｘ１，Ｙ１）に対する、歪み補正前の入力画像データ（図１１に示した例では、入力画像データＡ）の位置を表す座標（Ｘ１，Ｙ１）を、予め設定されている光学系のズーム位置などに応じた歪曲収差特性の歪み補正式に基づいて求める。そして、歪補正座標変換部５２２は、変換した入力画像データの位置を表す座標（Ｘ１，Ｙ１）の情報を、座標用メモリ５２７およびＵＬＢ算出部５２６に出力する。
（手順３）：座標用メモリ５２７は、歪補正座標変換部５２２から入力された座標（Ｘ１，Ｙ１）を、座標用のメモリ領域（例えば、１番目の記憶領域）に記憶する。また、ＵＬＢ算出部５２６は、歪補正座標変換部５２２から入力された座標（Ｘ１，Ｙ１）を、ｐｏｓｔＵＬＢ（ユニットライン数）とｐｒｅＵＬＢ（ユニットライン数）とを算出する基準（中心）の座標とする。
【００５７】
（手順４）：補間位置生成部５２１は、２番目に補間して出力する１列目に含まれる２行目の出力画像データ（Ｘ１，Ｙ２）の位置を表す補間位置（Ｘ１，Ｙ２）を生成する。
（手順５）：歪補正座標変換部５２２は、補間位置生成部５２１が生成した補間位置（Ｘ１，Ｙ２）に基づいて、歪み補正前の入力画像データ（図１１に示した例では、入力画像データＢ）の位置を表す座標（Ｘ１，Ｙ２）を求め、求めた入力画像データの位置を表す座標（Ｘ１，Ｙ２）の情報を、座標用メモリ５２７およびＵＬＢ算出部５２６に出力する。
（手順６）：座標用メモリ５２７は、歪補正座標変換部５２２から入力された座標（Ｘ１，Ｙ２）を、座標用のメモリ領域（例えば、２番目の記憶領域）に記憶する。また、ＵＬＢ算出部５２６は、歪補正座標変換部５２２から入力された座標（Ｘ１，Ｙ２）と、中心座標（Ｘ１，Ｙ１）とを比較し、ｐｏｓｔＵＬＢとｐｒｅＵＬＢとを算出する。そして、ＵＬＢ算出部５２６は、算出したｐｏｓｔＵＬＢの値（ユニットライン数）とｐｒｅＵＬＢの値（ユニットライン数）とを一時保管する。
【００５８】
（手順７）：補間位置生成部５２１は、３番目に補間して出力する１列目に含まれる３行目の出力画像データ（Ｘ１，Ｙ３）の位置を表す補間位置（Ｘ１，Ｙ３）を生成する。
（手順８）：歪補正座標変換部５２２は、補間位置生成部５２１が生成した補間位置（Ｘ１，Ｙ３）に基づいて、歪み補正前の入力画像データ（図１１に示した例では、入力画像データＣ）の位置を表す座標（Ｘ１，Ｙ３）を求め、求めた入力画像データの位置を表す座標（Ｘ１，Ｙ３）の情報を、座標用メモリ５２７およびＵＬＢ算出部５２６に出力する。
（手順９）：座標用メモリ５２７は、歪補正座標変換部５２２から入力された座標（Ｘ１，Ｙ３）を、座標用のメモリ領域（例えば、３番目の記憶領域）に記憶する。また、ＵＬＢ算出部５２６は、歪補正座標変換部５２２から入力された座標（Ｘ１，Ｙ３）と、中心座標（Ｘ１，Ｙ１）とを比較し、ｐｏｓｔＵＬＢとｐｒｅＵＬＢとを算出する。そして、ＵＬＢ算出部５２６は、算出したｐｏｓｔＵＬＢの値およびｐｒｅＵＬＢの値と、一時保管しているｐｏｓｔＵＬＢの値およびｐｒｅＵＬＢの値とをそれぞれ比較し、いずれか大きい方の１つの値（ユニットライン数）を、それぞれｐｏｓｔＵＬＢおよびｐｒｅＵＬＢとして更新し、更新したｐｏｓｔＵＬＢの値（ユニットライン数）およびｐｒｅＵＬＢの値（ユニットライン数）を一時保管する。
【００５９】
（手順１０）：手順４〜手順６を繰り返し、１列目に含まれる７行目の出力画像データ（Ｘ１，Ｙ７）に対する処理が終了した後、補間位置生成部５２１は、最後（８番目）に補間して出力する１列目に含まれる８行目の出力画像データ（Ｘ１，Ｙ８）の位置を表す補間位置（Ｘ１，Ｙ８）を生成する。
（手順１１）：歪補正座標変換部５２２は、補間位置生成部５２１が生成した補間位置（Ｘ１，Ｙ８）に基づいて、歪み補正前の入力画像データ（図１１に示した例では、入力画像データＨ）の位置を表す座標（Ｘ１，Ｙ８）を求め、求めた入力画像データの位置を表す座標（Ｘ１，Ｙ８）の情報を、座標用メモリ５２７およびＵＬＢ算出部５２６に出力する。
（手順１２）：座標用メモリ５２７は、歪補正座標変換部５２２から入力された座標（Ｘ１，Ｙ８）を、座標用のメモリ領域（例えば、８番目の記憶領域）に記憶する。また、ＵＬＢ算出部５２６は、歪補正座標変換部５２２から入力された座標（Ｘ１，Ｙ８）と、中心座標（Ｘ１，Ｙ１）とを比較し、ｐｏｓｔＵＬＢとｐｒｅＵＬＢとを算出する。そして、ＵＬＢ算出部５２６は、算出したｐｏｓｔＵＬＢの値およびｐｒｅＵＬＢの値と、一時保管しているｐｏｓｔＵＬＢの値およびｐｒｅＵＬＢの値とをそれぞれ比較し、いずれか大きい方の１つの値（ユニットライン数）を、それぞれｐｏｓｔＵＬＢおよびｐｒｅＵＬＢとして更新し、更新したｐｏｓｔＵＬＢの値（ユニットライン数）およびｐｒｅＵＬＢの値（ユニットライン数）を、ＵＬＢ用メモリ５２８に記憶する。
【００６０】
このようにして、１列目にユニットラインの各入力画像データの位置を表す座標と、図１１に示したような１列目にユニットラインのｐｏｓｔＵＬＢおよびｐｒｅＵＬＢの値が求められる。
【００６１】
（手順１３）：ＵＬＢ用メモリ５２８にｐｏｓｔＵＬＢとｐｒｅＵＬＢとが記憶されると、メモリ制御部５２４は、ＵＬＢ用メモリ５２８に記憶されたｐｏｓｔＵＬＢとｐｒｅＵＬＢとに基づいて、ラインメモリ５２３に一時記憶されているユニットラインの数を確認する。そして、ラインメモリ５２３内に、ｐｏｓｔＵＬＢとｐｒｅＵＬＢのユニットライン数の入力画像データが揃っている場合には、メモリ制御部５２４は、補間演算を開始するための制御信号を、補間演算部５２５に出力する。また、ラインメモリ５２３内に、ｐｏｓｔＵＬＢとｐｒｅＵＬＢのユニットライン数の入力画像データが揃っていない場合には、メモリ制御部５２４は、ラインメモリ５２３に必要なユニットライン数の入力画像データが揃うまで、ラインメモリ５２３に一時記憶されているユニットラインの数の確認を繰り返す。そして、補間演算に必要なユニットライン数の入力画像データがラインメモリ５２３に揃った後に、メモリ制御部５２４は、補間演算を開始するための制御信号を、補間演算部５２５に出力する。
【００６２】
（手順１４）：補間演算部５２５は、メモリ制御部５２４から補間演算を開始するための制御信号が入力されると、ラインメモリ５２３に記憶されている入力画像データに対して補間演算を行った出力画像データを生成する。このとき、補間演算部５２５は、座標用メモリ５２７に記憶されている歪み補正前の入力画像データの位置を表す座標の情報を、１番目の座標用のメモリ領域から順次読み出し、読み出した座標の情報に基づいて、ラインメモリ５２３に記憶されている入力画像データに対する補間演算を順次行う。
【００６３】
（手順１５）：補間演算部５２５による補間演算が開始され、座標用メモリ５２７に記憶されている歪み補正前の入力画像データの位置を表す座標の情報（ここでは、１番目の座標用のメモリ領域に記憶されている座標の情報）が読み出されると、補間位置生成部５２１は、座標用メモリ５２７に空いている記憶領域が存在すると認識する。そして、補間位置生成部５２１は、次の列の最初に補間して出力する２列目に含まれる１行目の出力画像データ（Ｘ２，Ｙ１）の位置を表す補間位置（Ｘ２，Ｙ１）を生成する。以降、手順２〜手順１４と同様に、座標用メモリ５２７に記憶されている座標の情報が読み出されて補間演算が行われる、すなわち、座標用メモリ５２７に空いている記憶領域が認識される毎に、補間位置の生成、歪み補正前の入力画像データの位置を表す座標への変換、座標用メモリ５２７への記憶（座標情報の更新）、ｐｏｓｔＵＬＢおよびｐｒｅＵＬＢの算出、ラインメモリ５２３に一時記憶されているユニットラインの数の確認、および補間演算を行った出力画像データの生成を繰り返す。そして、最後の列（８列目）の最後の行（８行目）の出力画像データの生成が終了したときに、補間処理を終了する。
【００６４】
上記に述べたように、本第１の実施形態の歪補正回路５２０では、補間して出力する出力画像データの列（ライン）毎にｐｏｓｔＵＬＢおよびｐｒｅＵＬＢを算出することができる。また、算出したｐｏｓｔＵＬＢとｐｒｅＵＬＢとに基づいて、ラインメモリ５２３内に、補間演算を行う際に用いるユニットライン数の入力画像データが揃っているか否かを確認することができる。そして、ラインメモリ５２３に必要なユニットライン数の入力画像データが揃った後に、補間演算を開始することができる。すなわち、補間演算部５２５が補間演算を開始するタイミングでは、補間して出力する出力画像データの列（ライン）のｐｏｓｔＵＬＢとｐｒｅＵＬＢとの値が、すでに、ＵＬＢ用メモリ５２８に記憶されている。これにより、補間して出力するライン毎に補間演算を行う際に用いるユニットライン数が、補間して出力する出力画像データの列（ライン）毎に異なる場合でも、それぞれに最適なユニットライン数の入力画像データを用いて補間演算を行うことができる。このように、本第１の実施形態の歪補正回路５２０は、補間して出力する出力画像データの列（ライン）毎に、補間演算を行う際に用いるユニットライン数を算出し、必要なユニットライン数の入力画像データが揃った後に補間演算を行うため、補間演算の処理がエラーとなることを回避することができ、効率的に補間演算を完了することができる。
【００６５】
また、本第１の実施形態の歪補正回路５２０では、ラインメモリ５２３に記憶しておく入力画像データのライン数にマージンを持たせる必要がないため、ラインメモリ５２３の使用効率を向上させることができる。このことにより、本実施形態の画像処理装置においてパイプライン処理のストールが発生する割合を低減することができ、画像処理装置の全体の処理時間を短縮させる効果を得ることができる。また、不必要な回路規模の増大を回避することもできる。
【００６６】
なお、上記に述べた補間処理の手順においては、座標用メモリ５２７は、１ライン分の座標の情報を記憶する記憶領域を持ち、ＵＬＢ用メモリ５２８は、ｐｏｓｔＵＬＢとｐｒｅＵＬＢとをそれぞれ１つずつ記憶する記憶領域を持つ構成であるものとして説明した。そして、手順１５において補間演算部５２５による補間演算が開始された後に、２列目の処理を開始する場合の例を説明した。しかし、上記に述べたように、座標用メモリ５２７に複数ライン分の記憶領域を持ち、ＵＬＢ用メモリ５２８は、座標用メモリ５２７が持つライン数分のｐｏｓｔＵＬＢとｐｒｅＵＬＢとをそれぞれ記憶することができる領域を備えることもできる。この場合、手順１５において補間演算部５２５による補間演算が開始された後に２列目の処理を開始するのではなく、手順１２において１列目のｐｏｓｔＵＬＢの値およびｐｒｅＵＬＢの値をＵＬＢ用メモリ５２８に記憶した後に、引き続き、手順１３と平行して２列目の処理を開始することもできる。そして、手順１５のように、座標用メモリ５２７に空いている記憶領域が存在するか否かの認識は、座標用メモリ５２７に備えた複数ライン分の記憶領域を全て使用してしまったときに行うのみとなる。
【００６７】
＜第２の実施形態＞
次に、本実施形態の画像処理装置のイメージプロセス回路５−２として備える歪補正回路の別の構成について説明する。図２は、本第２の実施形態における歪補正回路の概略構成を示したブロック図である。図２に示した本第２の実施形態の歪補正回路５３０は、図１に示した歪補正回路５２０に代わって、本実施形態の画像処理装置のイメージプロセス処理部５内のイメージプロセス回路５−２として備えられる。そして、図１に示した歪補正回路５２０と同様に、前段の画像処理回路である縦横変換回路（イメージプロセス回路５−１）から入力された入力画像データを補正し、補正後の出力画像データを次段の画像処理回路に出力する。また、歪補正回路５３０は、図１に示した歪補正回路５２０と同様に、出力画像データの１列（ライン）を補正する単位として処理する。
【００６８】
図２に示したように本第２の実施形態の歪補正回路５３０は、補間位置生成部５２１と、歪補正座標変換部５２２と、ラインメモリ５２３と、メモリ制御部５２４と、ＵＬＢ算出部５２６と、補間情報用メモリ５３１と、補間演算部５２５と、から構成される。本第２の実施形態の歪補正回路５３０は、図１に示した歪補正回路５２０内の座標用メモリ５２７とＵＬＢ用メモリ５２８とを、１つの補間情報用メモリ５３１で構成している。その他の構成要素における動作は、図１に示した歪補正回路５２０の構成要素の動作とほぼ同様である。従って、歪補正回路５３０において、図１に示した歪補正回路５２０と同様の動作を行う構成要素には、同一の符号を付与し、動作の違いのみを説明する。
【００６９】
歪補正座標変換部５２２は、補間位置生成部５２１が生成した補間位置に基づいて、歪み補正前の入力画像データの位置を表す座標に順次変換し、変換した歪み補正前の入力画像データの位置を表す座標の情報を、順次、補間情報用メモリ５３１およびＵＬＢ算出部５２６に出力する。
【００７０】
ＵＬＢ算出部５２６は、歪補正座標変換部５２２から順次入力される歪み補正前の入力画像データの位置を表す１ライン分の座標の情報に基づいて、１ラインの出力画像データの補間演算を行う際に用いるｐｏｓｔＵＬＢとｐｒｅＵＬＢとを算出し、算出したｐｏｓｔＵＬＢとｐｒｅＵＬＢとを、補間情報用メモリ５３１に出力する。
【００７１】
補間情報用メモリ５３１は、１ライン分の座標の情報およびこの１ライン分の座標の情報に対応したｐｏｓｔＵＬＢとｐｒｅＵＬＢとを、補間情報として記憶するメモリである。補間情報用メモリ５３１は、図１に示した座標用メモリ５２７と同様に、歪補正座標変換部５２２から入力された歪み補正前の入力画像データの位置を表す１ライン分の座標の情報を順次記憶する。また、補間情報用メモリ５３１は、図１に示したＵＬＢ用メモリ５２８と同様に、記憶される１ライン分の座標の情報に対応したｐｏｓｔＵＬＢとｐｒｅＵＬＢとを、それぞれ１つずつ記憶する。補間情報用メモリ５３１は、１ライン分の座標の情報およびこの１ライン分の座標の情報に対応したｐｏｓｔＵＬＢとｐｒｅＵＬＢとを１つの組として記憶することができる記憶領域を持つ、例えば、ＳＲＡＭで構成される。そして、補間情報用メモリ５３１は、複数ライン分、すなわち、複数の組の記憶領域を持つ構成とすることもできる。
【００７２】
メモリ制御部５２４は、補間情報用メモリ５３１に記憶されたｐｏｓｔＵＬＢとｐｒｅＵＬＢとに基づいて、ラインメモリ５２３に一時記憶されているユニットラインの数を確認する。そして、ラインメモリ５２３内に、補間演算を行う際に用いるｐｏｓｔＵＬＢとｐｒｅＵＬＢのユニットライン数の入力画像データが揃っているか否かに応じて、補間演算部５２５による補間演算の開始を制御する。
【００７３】
補間演算部５２５は、メモリ制御部５２４から入力された補間演算を開始するための制御信号に応じて、補間演算を行った出力画像データを生成する。補間演算部５２５が補間演算を行う際には、補間情報用メモリ５３１に記憶されている歪み補正前の入力画像データの位置を表す座標の情報を順次読み出し、読み出した座標の情報に基づいて、ラインメモリ５２３に記憶されている入力画像データに対して補間演算を行う。
【００７４】
ここで、本第２の実施形態の歪補正回路５３０と図１に示した第１の実施形態の歪補正回路５２０とで異なる構成要素である補間情報用メモリ５３１における補間情報（１ライン分の座標の情報および１ライン分の座標の情報に対応したｐｏｓｔＵＬＢとｐｒｅＵＬＢの値）の書き込みおよび読み出し順番について説明する。図３は、本第２の実施形態における歪補正回路５３０に備える補間情報用メモリ５３１のメモリ構成の一例を示した図である。図３は、１ライン分の補間情報を記憶することができる記憶領域を備えた補間情報用メモリ５３１の例を示している。
【００７５】
図３に示すように、補間情報用メモリ５３１は、座標の情報を記憶する座標用メモリ領域と、座標の情報に対応したｐｏｓｔＵＬＢとｐｒｅＵＬＢとを記憶するＵＬＢ用メモリ領域とを備えている。
【００７６】
補間情報用メモリ５３１に、補間情報を書き込む場合には、まず、歪補正座標変換部５２２から入力された歪み補正前の入力画像データの位置を表す１ライン分の座標の情報を、座標用メモリ領域内の最初の記憶領域から順次書き込む（記憶する）。そして、１ライン分の座標の情報の書き込みが終了した後に、ＵＬＢ算出部５２６から入力されたｐｏｓｔＵＬＢとｐｒｅＵＬＢとを書き込む（記憶する）。図３では、ライト順１〜ｎの順番に１ライン分の座標の情報を順次書き込む。その後、ｎ＋１でｐｒｅＵＬＢを書き込み、ｎ＋２でｐｏｓｔＵＬＢを書き込む場合を示している。
【００７７】
補間情報用メモリ５３１から、補間情報を読み出す場合には、まず、メモリ制御部５２４にｐｏｓｔＵＬＢとｐｒｅＵＬＢとを読み出す。そして、補間演算部５２５が補間演算を開始したときに、座標用メモリ領域内の最初の記憶領域から順次１ライン分の座標の情報を読み出す。図３では、リード順１においてｐｒｅＵＬＢをメモリ制御部５２４に読み出し、リード順２においてｐｏｓｔＵＬＢをメモリ制御部５２４に読み出す。その後、リード順３〜ｎ＋２において１ライン分の座標の情報を順次補間演算部５２５に読み出す場合を示している。
【００７８】
上記に述べたように、本第２の実施形態の歪補正回路５３０では、図１に示した第１の実施形態の歪補正回路５２０内の座標用メモリ５２７とＵＬＢ用メモリ５２８とが、１つの補間情報用メモリ５３１に代わったことにより、補間情報用メモリ５３１の書き込みおよび読み出し方法が異なるが、図１に示した第１の実施形態の歪補正回路５２０と同様の効果を得ることができる。なお、本第２の実施形態の歪補正回路５３０における補間処理は、補間情報用メモリ５３１の書き込みおよび読み出し方法が異なるのみであり、図１に示した第１の実施形態の歪補正回路５２０における補間処理と同様であるため、詳細な説明は省略する。
【００７９】
＜第３の実施形態＞
次に、本実施形態の画像処理装置のイメージプロセス回路５−２として備える歪補正回路の別の構成について説明する。図４は、本第３の実施形態における歪補正回路の概略構成を示したブロック図である。図４に示した本第３の実施形態の歪補正回路５４０は、図１に示した歪補正回路５２０または図２に示した歪補正回路５３０に代わって、本実施形態の画像処理装置のイメージプロセス処理部５内のイメージプロセス回路５−２として備えられる。そして、図１に示した歪補正回路５２０および図２に示した歪補正回路５３０と同様に、前段の画像処理回路である縦横変換回路（イメージプロセス回路５−１）から入力された入力画像データを補正し、補正後の出力画像データを次段の画像処理回路に出力する。また、歪補正回路５４０は、図１に示した歪補正回路５２０および図２に示した歪補正回路５３０と同様に、出力画像データの１列（ライン）を補正する単位として処理する。
【００８０】
図４に示したように本第３の実施形態の歪補正回路５４０は、補間位置生成部５２１と、歪補正座標変換部５２２と、ラインメモリ５２３と、メモリ制御部５２４と、ＵＬＢ算出部５２６と、エラーチェッカ５４１と、座標用メモリ５２７と、ＵＬＢ用メモリ５２８と、補間演算部５２５と、から構成される。本第３の実施形態の歪補正回路５４０は、図１に示した歪補正回路５２０に、エラーチェッカ５４１が追加された構成である。その他の構成要素における動作は、図１に示した歪補正回路５２０の構成要素の動作とほぼ同様である。従って、歪補正回路５４０において、図１に示した歪補正回路５２０と同様の動作を行う構成要素には、同一の符号を付与し、動作の違いのみを説明する。
【００８１】
上述したように、補間して出力する出力画像データに対応した歪み補正前の入力画像データのライン数は、出力画像データを出力するライン毎に異なる（図１０参照）。また、歪補正回路内に備えているラインメモリ５２３に記憶することができる入力画像データのユニットライン数は、予め定められたライン数である。従って、図１に示した歪補正回路５２０や、図２に示した歪補正回路５３０のように、事前にｐｏｓｔＵＬＢとｐｒｅＵＬＢとが求められている場合であっても、ラインメモリ５２３に記憶することができる入力画像データのユニットライン数を超えるような補間演算の処理を行うことはできない。すなわち、ラインメモリ５２３に出力画像データを生成するために必要なライン数の入力画像データが記憶されていない場合には、補間演算部５２５による１ライン分の補間演算の処理が正常に終了せず、エラーとなってしまう。そこで、本第３の実施形態の歪補正回路５４０では、事前に求められたｐｏｓｔＵＬＢとｐｒｅＵＬＢとに基づいて、補間演算の処理がエラーとなることを回避する仕組みを備える。
【００８２】
ＵＬＢ算出部５２６は、歪補正座標変換部５２２から順次入力される歪み補正前の入力画像データの位置を表す１ライン分の座標の情報に基づいて、１ラインの出力画像データの補間演算を行う際に用いるｐｏｓｔＵＬＢとｐｒｅＵＬＢとを算出し、算出したｐｏｓｔＵＬＢとｐｒｅＵＬＢとを、エラーチェッカ５４１に出力する。
【００８３】
ＵＬＢ用メモリ５２８は、エラーチェッカ５４１から入力されたｐｏｓｔＵＬＢとｐｒｅＵＬＢとを記憶する
【００８４】
エラーチェッカ５４１は、ＵＬＢ算出部５２６が算出した、ｐｏｓｔＵＬＢとｐｒｅＵＬＢとに基づいて、歪補正回路５４０内に備えるラインメモリ５２３が記憶することができる入力画像データのユニットライン数が、１ラインの出力画像データの補間演算を行うのに必要なライン数を超えているか否かを判断する。そして、１ラインの出力画像データの補間演算を行うのに必要なライン数を超えていない、すなわち、ラインメモリ５２３内に、補間演算を行う際に必要なライン数の入力画像データを記憶することができる場合には、ＵＬＢ算出部５２６が算出した、ｐｏｓｔＵＬＢとｐｒｅＵＬＢとを、ＵＬＢ用メモリ５２８に出力する。また、１ラインの出力画像データの補間演算を行うのに必要なライン数を超えている、すなわち、ラインメモリ５２３内に、補間演算を行う際に必要なライン数の入力画像データを記憶することができない場合には、補間演算の処理がエラーとなることを表すＵＬＢエラーの信号を、例えば、本実施形態の画像処理装置における全体の制御部であるＣＰＵ２に出力する。
【００８５】
ＣＰＵ２は、エラーチェッカ５４１から入力されたＵＬＢエラーに応じて、歪補正回路５４０における補間処理を中止する。そして、ＣＰＵ２は、１ラインの出力画像データの補間演算を行うのに必要な入力画像データのライン数が、歪補正回路５４０内に備えたラインメモリ５２３が記憶することができる入力画像データのユニットライン数よりも少なくなるように、本実施形態の画像処理装置の種々の設定を変更した後に、再度、歪補正回路５４０による補間処理を開始する。
【００８６】
ＣＰＵ２が変更する設定としては、例えば、ユニットラインに含まれる入力画像データの数、すなわち、ブロックライン４１として予め定められた行数の幅を小さくするなどが考えられる。これは、ブロックライン４１の幅を小さくすることによって、小さい幅の１ラインの出力画像データの補間演算を行うのに必要な入力画像データのライン数が少なくなるからである。図１０を参照してより具体的な例を説明すると、上述したように、ラインａに示した入力画像データに基づいて１ラインの出力画像データを生成する場合には、１ユニットライン目〜７ユニットライン目の入力画像データが必要である。ここで、ブロックライン４１の幅を小さくすることによって、例えば、ラインａに示した入力画像データの下側半分に基づいて１ラインの出力画像データを生成する場合には、１ユニットライン目〜５ユニットライン目の入力画像データがあれば、１ラインの出力画像データを生成することができる。このように、ブロックライン４１の幅を小さくすることによって、１ラインの出力画像データの補間演算を行うのに必要な入力画像データのライン数が少なくなる。
【００８７】
なお、例えば、各ラインの歪みが少ない場合には、歪補正回路５４０内に備えたラインメモリ５２３のライン数を全て使用して、１ラインの出力画像データの補間演算を行うように設定するように、ブロックライン４１として予め定める行数の幅を大きくすることによって、１画面の画像データを分割するブロックライン４１の数を少なくし、歪補正回路５４０による補間処理の処理時間を短縮することもできる。
【００８８】
上記に述べたように、本第３の実施形態の歪補正回路５４０では、図１に示した第１の実施形態の歪補正回路５２０と同様の効果を得ることができるとともに、歪補正回路５４０内に備えたラインメモリ５２３の容量に起因して、補間演算の処理がエラーとなることを事前に回避することができ、効率的に補間演算を完了することができる。
【００８９】
上記に述べたとおり、本発明を実施するための形態によれば、補間して出力する出力画像データの列（ライン）毎にｐｏｓｔＵＬＢおよびｐｒｅＵＬＢを算出し、算出したｐｏｓｔＵＬＢとｐｒｅＵＬＢとに基づいて、ラインメモリ内に、補間演算を行う際に用いるユニットライン数の入力画像データが揃っているか否かを確認することができる。そして、ラインメモリに必要なユニットライン数の入力画像データが揃った後に、補間演算を開始することができる。これにより、補間して出力するライン毎に補間演算を行う際に用いるユニットライン数が、補間して出力する出力画像データの列（ライン）毎に異なる場合でも、それぞれに最適なユニットライン数の入力画像データを用いて補間演算を行うことができ、補間演算の処理がエラーとなることを回避し、効率的に補間演算を完了することができる。
【００９０】
また、本発明を実施するための形態によれば、歪補正回路に備えたラインメモリの使用効率を向上させることができ、画像処理装置においてパイプライン処理のストールが発生する割合を低減し、画像処理装置の全体の処理時間を短縮させる効果を得ることができる。また、不用意に歪補正回路の回路規模が増大してしまうことを回避することもできる。
【００９１】
なお、本実施形態においては、歪補正範囲算出部を備えることもできる。この構成とすることによって、本実施形態の歪補正回路によって補間処理を実施する前に、ＵＬＢエラーが発生しない出力画像データの１ライン、すなわち、ブロックライン４１として予め定める行数の幅を事前に認識することができる。より具体的には、例えば、第３の実施形態デ示した歪補正回路５４０では、補間処理を開始した後にエラーチェッカ５４１が、ＵＬＢ算出部５２６が算出したｐｏｓｔＵＬＢとｐｒｅＵＬＢとに基づいて、ラインメモリ５２３が記憶することができる入力画像データのライン数が、１ラインの出力画像データの補間演算を行うのに必要なライン数を超えているか否かを判断している。すなわち、ＵＬＢエラーは、補間処理を開始した後に判断される。そのため、エラーが発生したときには、ブロックライン４１として予め定める行数の幅を変更した後に、再度、歪補正回路５４０による補間処理を開始することとなる。歪補正範囲算出部をさらに備えている場合には、事前に１ラインの出力画像データの補間演算を行うのに必要なライン数を確認することができることにより、歪補正範囲算出部が算出したｐｏｓｔＵＬＢとｐｒｅＵＬＢとは、ブロックライン４１における最大の値でないという可能性もあるが、ＵＬＢエラーが発生する頻度を低減することができる可能性もある。従って、歪補正範囲算出部によって、補間演算の処理がエラーとなることを事前に回避することができ、さらに効率的に補間演算を完了することができる可能性を有している。
【００９２】
以上、本発明の実施形態について、図面を参照して説明してきたが、具体的な構成はこの実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においての種々の変更も含まれる。
【符号の説明】
【００９３】
１・・・バス
２・・・ＣＰＵ
３・・・プリプロセス回路
４・・・フレームメモリ
４１・・・ブロックライン
５・・・イメージプロセス処理部
５−１，５−２，５−ｎ・・・イメージプロセス回路
５１１・・・メモリ部
５１２・・・メモリ部
５２，５２０，５３０，５４０・・・歪補正回路（歪補正部）
５２１・・・補間位置生成部（歪補正座標変換部、補間位置生成部）
５２２・・・歪補正座標変換部（歪補正座標変換部）
５２３・・・ラインメモリ（入力画像データ記憶部）
５２４・・・メモリ制御部（補間演算部、演算制御部）
５２５・・・補間演算部（補間演算部）
５２６・・・ＵＬＢ算出部（範囲算出部）
５２７・・・座標用メモリ（補正情報記憶部，座標記憶部）
５２８・・・ＵＬＢ用メモリ（補正情報記憶部，ユニットライン数記憶部）
５３１・・・補間情報用メモリ（補正情報記憶部）
５４１・・・エラーチェッカ（ライン数確認部）
６・・・ＪＰＥＧ処理回路
【図１】
0005602532.tif 000002
【図２】
0005602532.tif 000003
【図３】
0005602532.tif 000004
【図４】
0005602532.tif 000005
【図５】
0005602532.tif 000006
【図６】
0005602532.tif 000007
【図７】
0005602532.tif 000008
【図８】
0005602532.tif 000009
【図９】
0005602532.tif 000010
【図１０】
0005602532.tif 000011
【図１１】
0005602532.tif 000012
【図１２】
0005602532.tif 000013