(57)【要約】【課題】メモリに対する転送効率を向上させることができる画像処理装置を提供する。【解決手段】生成する出力画像を複数の領域に分割した際に各分割エリアに対応して、外部メモリ１３に記憶されている入力画像データから参照する参照エリアに基づいて所定の変形処理を行う任意変形回路１５において、複数の参照エリアの論理和となる領域を含む転送エリアを記憶するＲ＿ＳＲＡＭ１５ａおよびＲ＿ＳＲＡＭ１５ｂを有し、任意変形回路１５は、転送エリアを外部メモリ１３からＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂに転送して、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂに転送された転送エリアに含まれる参照エリアに基づいて所定の変形処理を行うことを特徴とする。【選択図】図２
2016103169.tif 000002
【特許請求の範囲】
【請求項１】
生成する出力画像を複数の領域に分割した際に各分割領域に対応して、第１記憶手段に記憶されている入力画像から参照する参照領域に基づいて所定の変形処理を行う変形手段を有する画像処理装置において、
複数の前記参照領域の論理和となる領域を含む転送領域を記憶する第２記憶手段を有し、
前記変形手段は、前記転送領域を前記第１記憶手段から前記第２記憶手段に転送して、前記第２記憶手段に転送された前記転送領域に含まれる前記参照領域に基づいて前記所定の変形処理を行うことを特徴とする画像処理装置。
【請求項２】
前記転送領域を示す座標データを取得する座標データ取得手段を有し、
前記変形手段は、前記座標データ取得手段が取得した前記座標データに基づいて前記転送領域を読み出す、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記座標データ取得手段は、前記参照領域を示す座標データを取得し、前記参照領域を示す座標データに基づいて前記転送領域を示す座標データを算出して取得することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記座標データ取得手段は、前記参照領域を特定するパラメータを取得し、前記パラメータに基づいて前記参照領域を示す座標データを算出して取得することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記参照領域の座標データを取得して補正する補正手段と、
前記補正手段が補正した前記参照領域の座標データに基づいて、複数の前記参照領域の論理和を演算して前記転送領域を示す座標データを算出する転送領域算出手段と、を有し、
前記座標データ取得手段は、前記転送領域算出手段が算出した前記転送領域を示す座標データを取得する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記転送領域を示す座標データは、複数の前記参照領域を示す座標データのうち、一の座標軸の最大値および前記一の座標軸と直交する他の座標軸の最大値からなる座標と、前記一の座標軸の最小値および前記他の座標軸の最小値からなる座標と、に基づいて定められていることを特徴とする請求項１乃至５のうちいずれか一項に記載の画像処理装置。
【請求項７】
前記転送領域は、前記第２記憶手段の記憶容量を超えない範囲で、複数の前記参照領域が含まれるように定められていることを特徴とする請求項１乃至６のうちいずれか一項に記載の画像処理装置。
【請求項８】
請求項１乃至７のうちいずれか一項に記載の画像処理装置を有することを特徴とする電子機器。
【請求項９】
入力画像を記憶する第１記憶手段と、前記第１記憶手段に記憶された前記入力画像に基づいて所定の変形処理を行う請求項１乃至７のうちいずれか一項に記載の画像処理装置と、前記画像処理装置による処理が施された画像を出力する画像出力手段と、を有することを特徴とする電子機器。
【請求項１０】
生成する出力画像を複数の領域に分割した際に各分割領域に対応して、第１記憶手段に記憶されている入力画像から参照する参照領域に基づいて所定の変形処理を行う変形工程を含む画像処理方法において、
前記変形工程は、複数の前記参照領域の論理和となる領域を含む転送領域を前記第１記憶手段から第２記憶手段に転送して、前記第２記憶手段に転送された前記転送領域に含まれる前記参照領域に基づいて前記所定の変形処理を行うことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法および電子機器に関する。
【背景技術】
【０００２】
電子機器として例えばデジタルカメラなどの撮影装置で撮影された画像データはレンズ収差等によって歪んでいることが多い。特に広角レンズや魚眼レンズで撮影した場合の画像データの歪みは一段と強い。そのような歪んだ画像データを補正するために、例えばアフィン変換等を適用した任意変形回路等を有する画像処理装置が既に知られている。
【０００３】
この種の画像処理装置は、出力される画像を複数の領域に分割して、その分割領域ごとに参照する領域を取得して当該参照領域に基づいて処理することが知られている。この場合、Ｎ（Ｎは所定の整数）番目の分割領域の処理をする際に参照する領域が、Ｎ−１番目や、それ以前のＮ−Ｘ番目（１≦Ｘ＜Ｎ）の分割領域の処理の際に参照した領域と重複することがある。そうすると、同じデータを繰り返し転送することとなり、データの転送効率が悪化し、画像データが記憶されているメモリのバス帯域が増加してしまうという問題があった。
【０００４】
ここで、例えば、特許文献１には、隣接する矩形領域のうち重複する部分をキャッシュメモリに格納することが記載されている。特許文献１には、処理対象の矩形領域を主メモリからリードする際に、隣接する矩形領域と重複している箇所は主メモリからデータを読み込まず、キャッシュメモリからリードし、重複していない領域を主メモリからリードすることが開示されている。
【０００５】
しかしながら、特許文献１に記載された画像処理装置では、重複領域はキャッシュメモリからリードされるものの、それ以外の領域は、主メモリからリードされるので、矩形領域の処理の度に主メモリへのアクセスが発生する。主メモリは特許文献１の図１に記載されているように、描画部や複数の画像処理装置等、様々なブロックからのアクセスがあるため、アクセスの競合が発生するとメモリに対する転送効率や各ブロックの処理効率が低下してしまう。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明はかかる問題を解決することを目的としている。即ち、本発明は、例えば、メモリに対する転送効率を向上させることができる画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記に記載された課題を解決するために、本発明は、生成する出力画像を複数の領域に分割した際に各分割領域に対応して、第１記憶手段に記憶されている入力画像から参照する参照領域に基づいて所定の変形処理を行う変形手段を有する画像処理装置において、複数の前記参照領域の論理和となる領域を含む転送領域を記憶する第２記憶手段を有し、前記変形手段は、前記転送領域を前記第１記憶手段から前記第２記憶手段に転送して、前記第２記憶手段に転送された前記転送領域に含まれる前記参照領域に基づいて前記所定の変形処理を行うことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、一度に複数の参照領域を転送することができる。したがって、メモリに対する転送効率を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態にかかる画像処理装置を有する情報処理装置のブロック構成図である。
【図２】図１の要部ブロック構成図である。
【図３】出力画像の例を示した説明図である
【図４】参照エリアの例を示した説明図である。
【図５】参照エリアが重複している例の説明図である。
【図６】図５の重複部分の拡大図である。
【図７】転送エリアの例を示した説明図である。
【図８】図２に示された転送制御部の動作のフローチャートである。
【図９】図２に示された変形部の動作のフローチャートである。
【図１０】本発明の第２の実施形態にかかる画像処理装置を有する情報処理装置の要部ブロック構成図である。
【図１１】本発明の第３の実施形態にかかる画像処理装置を有する情報処理装置の要部ブロック構成図である。
【図１２】補正の必要が無い通常時の変形動作の例を示した説明図である。
【図１３】補正動作を行った場合の変形動作の例を示した説明図である。
【図１４】図１１に示された参照画素数判定回路の動作のフローチャートである。
【図１５】本発明の一実施形態にかかる電子機器のブロック構成図である。
【発明を実施するための形態】
【００１０】
（第１実施形態）
本発明の第１の実施形態にかかる画像処理装置を図１乃至図９を参照して説明する。図１は、本実施形態にかかる画像処理装置を有する情報処理装置１を示す。情報処理装置１は、図１に示したように、入力インターフェース１１と、インターコネクト回路１２と、外部メモリ１３と、画像処理回路１４と、任意変形回路１５と、出力インターフェース１６と、を有している。
【００１１】
入力インターフェース１１は、外部から画像データ（入力画像データ）が入力されるインターフェース（Ｉ／Ｆ）である。
【００１２】
インターコネクト回路１２は、入力インターフェース１１、画像処理回路１４、任意変形回路１５からの外部メモリ１３へのアクセスに応じて外部メモリ１３へアクセスして画像データの読み出しや書き込み等を行う。また、インターコネクト回路１２は、入力インターフェース１１、画像処理回路１４、任意変形回路１５から外部メモリ１３へのアクセスの調停を行う。また、画像処理回路１４や任意変形回路１５が出力する処理済みの画像データを出力インターフェース１６へ出力する。
【００１３】
第１記憶手段としての外部メモリ１３は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等で構成され、入力インターフェース１１から入力された入力画像データがインターコネクト回路１２を介して書き込まれる。また、外部メモリ１３からは、画像処理回路１４や任意変形回路１５が処理に必要とする入力画像データがインターコネクト回路１２を介して転送される。
【００１４】
また、外部メモリ１３は、図２に示したように、レンズパラメータ記憶領域１３ａと、論理和座標データ記憶領域１３ｂと、を有する。レンズパラメータ記憶領域１３ａには、例えば、焦点距離、Ｆ値（アイリス）、射出瞳位置、歪曲収差等のレンズパラメータが記憶されている。これらのレンズパラメータは、例えば画像処理回路１４や任意変形回路１５における処理に利用される。また、レンズパラメータは、例えば電源投入時などに外部から入力インターフェース１１とインターコネクト回路１２とを介して予めロードされる。
【００１５】
論理和座標データ記憶領域１３ｂは、後述する複数の参照エリアの論理和となるエリアを含むエリアの座標データ（転送エリア座標）が記憶されている。この複数の参照エリアの論理和となるエリアを含むエリアの座標データもレンズパラメータと同様に例えば電源投入時などに外部から入力インターフェース１１とインターコネクト回路１２とを介して予めロードされる。
【００１６】
画像処理回路１４は、例えばフィルタ処理等の画像処理を、外部メモリ１３に記憶されている入力画像データや任意変形回路１５による処理後の画像データに施す。
【００１７】
本発明の第１の実施形態にかかる画像処理装置としての任意変形回路１５は、例えば歪み補正や回転等の変形処理を、外部メモリ１３に記憶されている入力画像データに施す。即ち、任意変形回路１５は変形手段として機能する。
【００１８】
任意変形回路１５は、図２に示したように、Ｒ＿ＳＲＡＭ１５ａと、Ｒ＿ＳＲＡＭ１５ｂと、Ｐ＿ＳＲＡＭ１５ｃと、Ｐ＿ＳＲＡＭ１５ｄと、変形部１５ｅと、転送制御部１５ｆと、を有している。Ｒ＿ＳＲＡＭ１５ａと、Ｒ＿ＳＲＡＭ１５ｂと、は外部メモリ１３からインターコネクト回路１２を介して転送された参照エリアが記憶されるメモリである。Ｐ＿ＳＲＡＭ１５ｃと、Ｐ＿ＳＲＡＭ１５ｄと、は外部メモリ１３のレンズパラメータ記憶領域１３ａからインターコネクト回路１２を介して転送されたレンズパラメータが記憶されるメモリである。Ｒ＿ＳＲＡＭ１５ａと、Ｒ＿ＳＲＡＭ１５ｂと、Ｐ＿ＳＲＡＭ１５ｃと、Ｐ＿ＳＲＡＭ１５ｄと、はそれぞれＳＲＡＭ（Static Random Access Memory）で構成されている。
【００１９】
また、Ｒ＿ＳＲＡＭ１５ａと、Ｒ＿ＳＲＡＭ１５ｂと、は同じ記憶容量を有し、Ｐ＿ＳＲＡＭ１５ａと、Ｐ＿ＳＲＡＭ１５ｂと、は同じ記憶容量を有している。
【００２０】
また、Ｒ＿ＳＲＡＭ１５ａと、Ｒ＿ＳＲＡＭ１５ｂと、は交互に使用される。つまり、トグルして使用される。例えば、１回目の外部メモリ１３からの参照エリアの転送がＲ＿ＳＲＡＭ１５ａに対して行われた場合、２回目の転送はＲ＿ＳＲＡＭ１５ｂに対して行われる。
【００２１】
また、Ｐ＿ＳＲＡＭ１５ａと、Ｐ＿ＳＲＡＭ１５ｂと、は交互に使用される。つまり、トグルして使用される。例えば、参照エリアＳ（Ｓは０以上の整数）のレンズパラメータがＰ＿ＳＲＡＭ１５ａに転送された場合、参照エリアＳ＋１のレンズパラメータはＰ＿ＳＲＡＭ１５ａに転送される。即ち、レンズパラメータは参照エリア毎に設定されている。
【００２２】
変形部１５ｅは、Ｒ＿ＳＲＡＭ１５ａ、Ｒ＿ＳＲＡＭ１５ｂ、Ｐ＿ＳＲＡＭ１５ｃ、Ｐ＿ＳＲＡＭ１５ｄに記憶された参照エリアやレンズパラメータに基づいて、例えば歪み補正や回転等の変形処理を行う。
【００２３】
転送制御部１５ｆは、Ｒ＿ＳＲＡＭ１５ａ、Ｒ＿ＳＲＡＭ１５ｂ、Ｐ＿ＳＲＡＭ１５ｃ、Ｐ＿ＳＲＡＭ１５ｄに対する画像データやレンズパラメータ等の転送の制御を行う。
【００２４】
出力インターフェース１６は、画像処理回路１４や任意変形回路１５で処理が施された画像データを外部に出力するインターフェース（Ｉ／Ｆ）である。
【００２５】
なお、上述した構成の情報処理装置１は、外部メモリ１３以外の入力インターフェース１１、インターコネクト回路１２、画像処理回路１４、任意変形回路１５、出力インターフェース１６を１つの半導体集積回路として構成してもよい。また、情報処理装置１は、複数の半導体集積回路から構成されるプリント基板やモジュール等で構成してもよい。
【００２６】
あるいは、図１の構成をコンピュータのＣＰＵ（Central Processing Unit）やメモリに機能させるコンピュータプログラムとして構成することもできる。例えば、ＣＰＵが入力インターフェース１１、インターコネクト回路１２、画像処理回路１４、任意変形回路１５、出力インターフェース１６として機能し、メモリが外部メモリ１３として機能することができる。
【００２７】
さらには、任意変形回路１５のみをコンピュータプログラム（画像処理プログラム）として構成してもよい。この場合、ＣＰＵが変形部、転送制御部として機能し、メモリがＲ＿ＳＲＡＭ１５ａ、Ｒ＿ＳＲＡＭ１５ｂ、Ｐ＿ＳＲＡＭ１５ｃ、Ｐ＿ＳＲＡＭ１５ｄとしての機能することができる。
【００２８】
次に、上述した任意変形回路１５の動作について説明する。図３は、任意変形回路１５から出力される出力画像の例を示した図である。図３に示したように、出力画像は複数のエリア（分割領域）に分割される。図３の場合、主走査方向（図の横方向）はＮ（Ｎは１以上の整数）、副走査方向（図の縦方向）はＭ（Ｍは１以上の整数）にそれぞれ分割される。
【００２９】
図３に示した出力画像の分割エリア（分割エリアに含まれる画像データ）は、それぞれ入力画像の所定のエリアを参照して生成される。この各分割エリアを生成する際に参照するエリアを参照エリア（参照領域）と呼ぶ。図４に参照エリアの例を示す。図４の上段は、参照エリアの例である。図４の例では、平行四辺形状であるが、変形処理や分割エリアの位置によって他の形状の場合もありうる。
【００３０】
図４上段のｘ軸は例えば主走査方向、ｙ軸は例えば副走査方向を示している。そして、図示された平行四辺形の４つの頂点の座標をそれぞれ、（Ｘ１，Ｙ１）、（Ｘ２，Ｙ１）、（Ｘ３，Ｘ２）、（Ｘ４，Ｙ２）とする。これらの座標は、レンズパラメータ記憶領域１３ａに記憶されているレンズパラメータから算出することが可能である。
【００３１】
図４上段に示した４つの座標のうち、Ｘ方向の最小値とＹ方向の最小値とを有する座標（Ｘｍｉｎ，Ｙｍｉｎ）、Ｙ方向の最大値とＹ方向の最大値とを有する座標（Ｘｍａｘ，Ｙｍａｘ）を算出すると、図４下段のような長方形状の領域となる。この図４下段の領域は、図４上段の平行四辺形の外接四角形となる。本実施形態では、このような互いに対角線上に位置する２つの座標（Ｘｍｉｎ，Ｙｍｉｎ）、（Ｘｍａｘ，Ｙｍａｘ）に基づいて算出される長方形状または正方形状の領域を外部メモリ１３から読み出して転送する。図４の場合、（Ｘｍｉｎ，Ｙｍｉｎ）、（Ｘｍａｘ，Ｙｍａｘ）は、（Ｘ３，Ｙ１）、（Ｘ２，Ｙ２）となる。
【００３２】
即ち、Ｘ方向を一の座標軸、Ｙ方向を一の座標軸と直交する他の座標軸とすると、（Ｘｍｉｎ，Ｙｍｉｎ）は、一の座標軸の最小値および他の座標軸の最小値からなる座標となる。（Ｘｍａｘ，Ｙｍａｘ）、一の座標軸の最大値および他の座標軸の最大値からなる座標となる。
【００３３】
ところで、参照エリアは、隣接する分割エリア同士で重複する場合がある。例えば、図５に示したように、分割エリア＿１と分割エリア＿２の参照エリアは重複している部分がある。
【００３４】
図６は、図５の重複している参照エリアの拡大図である。図６のＡ部分が、図５に示した重複部分となる。この場合、分割エリアを参照する度に外部メモリ１３から転送すると、同じデータを複数回転送することとなり、外部メモリ１３に対する転送効率が低下してしまう。
【００３５】
したがって、本実施形態では、複数の参照エリアの論理和となるエリアを含む外接四角形状のエリアを一度に外部メモリ１３からＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂに転送する。この複数の参照エリアの論理和となるエリアを含む外接四角形状のエリアを以下転送エリアとする。即ち、転送エリアは転送領域に相当する。なお、本明細書において、参照エリアや転送エリア等のエリアを転送すると記載した場合、当該エリアに含まれる画像データを転送することを意味する。
【００３６】
図７に転送エリアの例を示す。図７の上段は参照エリアのみを示した図、下段は上段に対応する転送エリアを示した図である。図７（ａ）は、参照エリア＿１と参照エリア＿２のそれぞれ一部が重複する場合である。図７（ｂ）および（ｃ）は、参照エリア＿１の全部と参照エリア＿２の一部が重複する場合である。
【００３７】
図１に示した任意変形回路１５では、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量の上限以内となるデータ量の転送エリアを一度に転送する。この一度に転送する転送エリアに含まれる参照エリアの数は予め算出することができる。つまり、転送エリアは２つの参照エリアが含まれるに限らず３以上が含まれる場合もある。
【００３８】
レンズパラメータは予め設定される値であり使用されるレンズによって既知である。そして、各参照エリアの座標は当該レンズパラメータから算出可能である。したがって、複数の参照エリアの論理和をとった結果得られる２つの座標（Ｘｍｉｎ，Ｙｍｉｎ）、（Ｘｍａｘ，Ｙｍａｘ）も算出可能である。この２つの座標（Ｘｍｉｎ，Ｙｍｉｎ）、（Ｘｍａｘ，Ｙｍａｘ）を以下転送エリア座標とする。複数の参照エリアから転送リア座標を算出する際は、複数の参照エリアの座標データの大小比較をして転送エリア座標を算出すればよい。即ち、転送エリア座標は転送領域を示す座標データに相当する。
【００３９】
そして、転送エリア座標が算出できれば、転送エリアのデータ量も算出可能となる。また、Ｒ＿ＳＲＡＭ１５ａおよびＲ＿ＳＲＡＭ１５ｂの記憶容量も既知であるので、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂ記憶容量の上限となる転送エリアに含めることができる参照エリアの数は予め算出可能である。即ち、転送領域は、第２記憶手段の記憶容量を超えない範囲で、複数の参照領域が含まれるように定められている。
【００４０】
本実施形態では、既知の値から算出されたＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂ記憶容量の上限以内の参照エリアの数から任意の値を選択する。次に、その選択した値に基づいて、転送エリア座標を予め算出し、その算出された転送エリア座標を論理和座標データ記憶領域１３ｂに予め記憶させる。そして、任意変形回路１５は、論理和座標データ記憶領域１３ｂから転送エリア座標を取得して、その座標が示す転送エリアを外部メモリ１３からＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂに転送する。即ち、任意変形回路１５は座標データ取得手段として機能し、Ｒ＿ＳＲＡＭ１５ａおよびＲ＿ＳＲＡＭ１５ｂは第２記憶手段として機能する。
【００４１】
なお、転送エリア座標は、対応する分割エリアの位置によって異なるため、画像１枚（１フレーム）あたり複数の組み合わせが論理和座標データ記憶領域１３ｂに記憶される。
【００４２】
本実施形態における画像処理方法を図８および図９のフローチャートを参照して説明する。図８に示したフローチャートは転送制御部１５ｆで実行される動作である。
【００４３】
まず、ステップＳ１０１において、レンズパラメータを外部メモリ１３からＰ＿ＳＲＡＭ１５ｃおよびＰ＿ＳＲＡＭ１５ｄ転送する。レンズパラメータは一度に全て転送する。なお、レンズパラメータは、例えば図３のように分割エリアの番号を付与した場合、奇数の分割エリア番号のレンズパラメータはＰ＿ＳＲＡＭ１５ｃに転送し、偶数の分割エリア番号のレンズパラメータはＰ＿ＳＲＡＭ１５ｄに転送する。
【００４４】
次に、ステップＳ１０２において、転送エリア座標を外部メモリ１３から、例えば転送制御部１５ｆの内部レジスタ等に転送する。即ち、任意変形回路１５は、取得した座標データに基づいて転送領域を読み出している。
【００４５】
次に、ステップＳ１０３において、ステップＳ１０２で転送された転送エリア座標に基づく転送エリアを外部メモリ１３から転送する。なお、転送エリアの外部メモリ１３におけるアドレスは転送エリア座標に基づいて転送制御部１５ｆで生成してもよいし、インターコネクト回路１２で生成してもよい。
【００４６】
次に、ステップＳ１０４において、転送エリアを転送するＲ＿ＳＲＡＭをトグルする。例えば、ステップＳ１０３でＲ＿ＳＲＡＭ１５ａに転送エリアを転送した場合は、本ステップではＲ＿ＳＲＡＭ１５ｂに次の転送先を切り替える。そして、次にステップＳ１０３が実行される場合は切り替えた（トグルした）Ｒ＿ＳＲＡＭに転送エリアが転送される。
【００４７】
次に、ステップＳ１０５において、全ての分割エリアについて完了したか否かを判断し、完了した場合（ＹＥＳの場合）は１フレーム分の処理を終了し、完了していない場合（ＮＯの場合）はステップＳ１０１に戻る。全ての分割エリアが完了したかは、例えば、１フレーム当たりの転送エリア数を予め設定し、ステップＳ１０２で全ての転送エリア座標の転送が終了しているか否かで判断すればよい。あるいは、転送エリアに含まれる参照エリア数と分割エリアの数とを予め設定し、それらから転送エリア数を算出してもよい。
【００４８】
図８に示したフローチャートで転送されたレンズパラメータと転送エリアに含まれる参照エリアに含まれる入力画像データとは、その後変形部１５ｅにおける変形処理に用いられる。変形部１５ｅの動作を図９のフローチャートを参照して説明する。
【００４９】
まず、ステップＳ２０１において、処理対象の分割エリアに対応する参照エリアのレンズパラメータをＰ＿ＳＲＡＭ１５ｃまたはＰ＿ＳＲＡＭ１５ｄから読み出す。処理対象の分割エリアは、例えば図３に示したように分割エリアに番号を付与し、その分割エリア番号を順次更新することで示すようにすればよい。
【００５０】
次に、ステップＳ２０２において、次にレンズパラメータを読み出すＲ＿ＳＲＡＭをトグルする。例えば、ステップＳ２０１でＰ＿ＳＲＡＭ１５ｃからレンズパラメータを読み出した場合は、本ステップではＰ＿ＳＲＡＭ１５ｄに次の読み出し先を切り替える。そして、次にステップＳ２０１が実行される場合は切り替えた（トグルした）Ｐ＿ＳＲＡＭからレンズパラメータを読み出す。
【００５１】
次に、ステップＳ２０３において、参照エリアをＲ＿ＳＲＡＭから読み出す。読み出されるのは図８のステップＳ１０３で転送エリアの転送が終了しているＲ＿ＳＲＡＭからである。
【００５２】
次に、ステップＳ２０４において、読み出した参照エリアに基づいて変形処理が行われる。変形処理が終了すると、当該分割エリアは任意変形回路１５からインターコネクト回路１２と出力インターフェース１６とを介して外部に出力される。即ち、転送領域に含まれる参照領域に基づいて所定の変形処理を行う。
【００５３】
次に、ステップＳ２０５において、全ての分割エリアについて完了したか否かを判断し、完了した場合（ＹＥＳの場合）は１フレーム分の処理を終了し、完了していない場合（ＮＯの場合）はステップＳ２０１に戻る。全ての分割エリアが完了したかは、例えば、ステップＳ２０１で全ての分割エリア番号のレンズパラメータの読み出しが終了しているか否かで判断すればよい。
【００５４】
なお、図８に示した転送制御部１５ｆの動作と図９に示した変形部１５ｅの動作とは同時に実行される。例えば転送制御部１５ｆがＲ＿ＳＲＡＭ１５ａに転送エリアを転送した場合、次に転送制御部１５ｆがＲ＿ＳＲＡＭ１５ｂに転送エリアを転送すると同時に、変形部１５ｅがＲ＿ＳＲＡＭ１５ａに記憶された転送エリアを参照して変形処理を行う。本実施形態のようにＲ＿ＳＲＡＭを２面設けることでこのような動作が可能となる。また、上述し説明から明らかなように、図８のステップＳ１０３と、図９のステップＳ２０３、Ｓ２０４が変形工程に相当する。
【００５５】
本実施形態によれば、任意変形回路１５の変形部１５ｅは、出力画像を複数のエリアに分割し、その分割エリアごとにそれぞれ入力画像内で参照する参照エリアに基づいて所定の変形処理を行う。また、任意変形回路１５は、複数の参照エリアの論理和となる領域を含む転送エリアを外部メモリ１３からＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂに転送する転送制御部１５ｆを有する。このようにすることにより、一度に複数の参照領域を外部メモリ１３からＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂに転送することができるので、外部メモリ１３に対する転送効率を向上させることができる。
【００５６】
また、転送エリアは、転送エリア座標に基づいて定められて転送される。このようにすることにより、既知のデータから予め転送エリアを算出することができる。したがって、任意変形回路１５で転送エリアの算出等の処理を行う必要がなく、回路規模や処理内容の増加を防止し、処理の効率化を図ることができる。
【００５７】
また、転送エリアは、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量と、転送エリアに含まれる参照エリアの数と、に基づいて定められている。このようにすることにより、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量に記憶させることができるだけの参照エリアを転送エリアに含ませることができる。したがって、一度にできるだけ多くの参照エリアを転送することができ、外部メモリ１３に対する転送効率を向上させ、バス帯域を確保することができる。
【００５８】
また、転送エリア座標が外部メモリ１３の論理和座標データ記憶領域１３ｂに記憶されているので、任意変形回路１５内のメモリ等の容量を削減することができる。したがって、回路規模の増大を抑えることができる。さらに、外部メモリ１３を使用することで、論理和座標データ記憶領域１３ｂのサイズを変更する幅を大きく取れるため、多様な画像サイズに対応することができる。
【００５９】
なお、本実施形態では、予め算出した転送エリア座標を外部メモリ１３の論理和座標データ記憶領域１３ｂに記憶していたが、任意変形回路１５で内部の記憶手段（メモリやレジスタ等）に記憶するようにしてもよい。
【００６０】
また、本実施形態では、入力インターフェース１１から入力された入力画像データに対して変形処理を施すこととして説明したが、画像処理回路１４による処理後の画像データに対して変形処理を施してもよい。この場合、転送エリアは入力画像データではなく画像処理回路１４による処理後の画像データと読み替える。即ち、特許請求の範囲の入力画像とは、画像処理装置に対して入力される画像との意味である。
【００６１】
（第２実施形態）
次に、本発明の第２の実施形態にかかる画像処理装置を図１０を参照して説明する。なお、前述した第１の実施形態と同一部分には、同一符号を付して説明を省略する。
【００６２】
本実施形態は、図１０に示したように、論理和座標データ記憶領域１３ｂが省略されている。本実施形態の場合、レンズパラメータ記憶領域１３ａに参照エリアの座標データがレンズパラメータとともに記憶されている。
【００６３】
任意変形回路１５では、転送制御部１５ｆが、Ｐ＿ＳＲＡＭ１５ｃおよびＰ＿ＳＲＡＭ１５ｄに記憶されている参照エリアの座標データに基づいて転送エリア座標を算出する。転送エリアに含まれる参照エリアの数、即ち、論理和演算を行う回数は、第１の実施形態で説明したＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂ記憶容量の上限以内となる数から任意の値が選択されて予め任意変形回路１５に設定されている。転送制御部１５ｆは、その設定された値に基づいて参照エリアの論理和演算を行い転送エリア座標を算出する。
【００６４】
算出した転送エリア座標は、第１の実施形態と同様に外部メモリ１３から転送エリアを転送する際に使用される。
【００６５】
本実施形態によれば、任意変形回路１５で転送エリア座標を算出するので、外部メモリ１３に論理和座標データ記憶領域１３ｂを設ける必要が無くなるために、外部メモリ１３のデータ管理を容易にすることができる。
【００６６】
また、本実施形態では、レンズパラメータ記憶領域１３ａに参照エリアの座標データを記憶していたが、転送制御部１５ｆでレンズパラメータから直接参照エリアの座標データを算出するようにしてもよい。
【００６７】
（第３実施形態）
次に、本発明の第３の実施形態にかかる画像処理装置を図１１乃至図１４を参照して説明する。なお、前述した第１の実施形態と同一部分には、同一符号を付して説明を省略する。
【００６８】
本実施形態にかかる画像処理装置は、図１１に示したように、図２に示した構成に対して、パラメータ補正回路１７と、参照画素数判定回路１８と、が追加されている。また、レンズパラメータ記憶領域１３ａに参照エリアの座標データがレンズパラメータとともに記憶されている。
【００６９】
補正手段としてのパラメータ補正回路１７は、論理和座標データ記憶領域１３ｂに記憶されている参照エリアの座標データを所定の間隔で補正する。所定の間隔は例えばフレーム毎が挙げられる。パラメータ補正回路１７は、例えば、熱などの外的要因により、レンズの形状が変化してしまうと、参照エリアが変化する場合があり、予め論理和座標データ記憶領域１３ｂに記憶されている転送エリア座標では正確な変形処理が行えないことがある。そこで、例えば所定の補間処理等に基づいて参照エリアの座標データ等を補正する。一例を図１２および図１３を参照して説明する。
【００７０】
図１２は、補正の必要が無い通常時の変形（任意変形）動作の例である。図１２に示したように、任意変形回路１５で２×２画素の分割エリアを生成する際に必要な参照エリアが座標Ａ、Ｂ、Ｃ、Ｄを頂点とするエリアであり、当該エリアの画素が４×４画素であるとする。そして、２×２画素の分割エリアの１画素Ｘを生成するのに必要な参照画素が座標Ａ、Ｂ、Ｃ、Ｄを頂点とするエリアに含まれる座標ａ、ｂ、ｃ、ｄのエリア内の４画素とする。
【００７１】
ここで、熱などの外的要因が加わると、図１２の２×２画素の分割エリアを生成するのに必要な座標Ａ、Ｂ、Ｃ、Ｄを頂点とする参照エリア内の画素が３×３画素に変化してしまう場合がある（図１３参照）。この場合、２×２画素の分割エリアの１画素Ｘを生成するのに必要な参照画素は座標ａ’、ｂ’、ｃ’、ｄ’のエリア内の４画素となるが、この画素では、正確な画素Ｘを生成することはできない。
【００７２】
そこで、座標Ａ、Ｂ、Ｃ、Ｄ内の３×３画素を４×４画素に変換する。その際にｂ’、ｃ’、ｄ’から新たに座標ｘ、ｙ、ｚを生成する。それらの座標ｘ、ｙ、ｚとａ’（＝ａ）に含まれる画素に基づいて画素Ｘを生成することができる。パラメータ補正回路１７では、前記したｘ、ｙ、ｚに対応する座標位置を生成する。このような補正処理は例えばセンサ等で外的要因が検出された場合に、制御信号等を情報処理装置１に入力することで実行するようにすればよい。
【００７３】
転送領域算出手段としての参照画素数判定回路１８は、パラメータ補正回路１７において補正された参照エリアの座標データに基づいて転送エリアを算出し、論理和座標データ記憶領域１３ｂに記憶させる。参照画素数判定回路１８は、パラメータ補正回路１７において補正された参照エリアの論理和を演算して転送エリアのデータ量を算出する。そして、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量を超えない範囲で最大の参照エリア数が含まれる転送エリアの転送エリア座標を論理和座標データ記憶領域１３ｂに記憶させる。即ち、参照画素数判定回路１８は、補正手段が補正した参照領域の座標データに基づいて、複数の参照領域の論理和を演算して転送領域を示す座標データを算出している。
【００７４】
具体例を説明する。先頭の分割エリアに対応する補正後の参照エリアと２番目の分割エリアに対応する補正後の参照エリアとの論理和を演算し転送エリアを求める（この転送エリアを転送エリア１＋２とする）。そして、転送エリア１＋２のデータ量がＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量を超えるか否かを判断する。判断の結果、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量を超えない場合は次の３番目の分割エリアに対応する補正後の参照エリアと転送エリア１＋２との論理和を演算し新たな転送エリアを求める（この転送エリアを転送エリア１＋２＋３とする）。つまり、論理和の結果と次の参照エリアとの論理和を演算している。
【００７５】
そして、転送エリア１＋２＋３のデータ量がＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量を超えるか否かを判断する。判断の結果、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量を超える場合は、１つ前の転送エリア１＋２の転送エリア座標を外部メモリ１３の論理和座標データ記憶領域１３ｂに転送する。
【００７６】
判断の結果、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量を超えない場合は、４番目の分割エリアに対応する補正後の参照エリアと転送エリア１＋２＋３との論理和を演算し、以降上記と同様の判断を行う。
【００７７】
参照画素数判定回路１８の動作（本実施形態にかかる画像処理方法）を図１４のフローチャートを参照して説明する。まず、ステップＳ３０１で初期化する。この初期化は、後述する転送エリアを保持する参照画素数判定回路１８の内部レジスタ等をリセットすることである。
【００７８】
次に、ステップＳ３０２において、パラメータ補正回路１７から補正後の参照エリアの座標データを取得する。
【００７９】
次に、ステップＳ３０３において、ステップＳ３０２で取得した参照エリアと内部レジスタ等に保持されている転送エリアとの論理和を取り転送エリアを算出する。なお、ステップ３０３を初めて実行した場合は、転送エリアを保持している内部レジスタ等は初期化されているので、転送エリアはステップＳ３０２で取得した参照エリアとなる。
【００８０】
次に、ステップＳ３０４において、ステップＳ３０３で算出された転送エリアのデータ量がＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量を超えているか否かを判断し、超えていない場合（ＮＯの場合）はステップＳ３０５に進む。ステップＳ３０５では、ステップＳ３０３で算出された転送エリアの転送エリア座標を内部レジスタ等の保持手段に保持して、ステップＳ３０２に戻り次の補正後の参照エリアの座標データを取得する。
【００８１】
一方、ステップＳ３０４において転送エリアのデータ量がＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量を超えていると判断された場合（ＹＥＳの場合）は、ステップＳ３０６に進む。ステップＳ３０６においては、ステップＳ３０５で内部レジスタ等に保持した転送エリア座標を外部メモリ１３の論理和座標データ記憶領域１３ｂにインターコネクト回路１２を介して転送する。
【００８２】
即ち、参照画素数判定回路１８で算出された転送エリア座標は、一の座標軸の最大値および一の座標軸と直交する他の座標軸の最大値からなる座標と、一の座標軸の最小値および他の座標軸の最小値からなる座標と、で構成されている。また、当該転送エリア座標は、そのデータ量が第２記憶手段の記憶容量を超えない範囲となっている。
【００８３】
そして、ステップＳ３０７において、全ての分割エリアについて完了したか否かを判断し、完了した場合（ＹＥＳの場合）は１フレーム分の処理を終了し、完了していない場合（ＮＯの場合）はステップＳ３０１に戻る。全ての分割エリアが完了したかは、例えば、ステップＳ３０２で全ての分割エリア番号に対応する参照エリアの取得が終了しているか否かで判断すればよい。また、本ステップでＮＯの場合にステップＳ３０１に戻るのは、次の転送エリアの転送エリア座標を算出するにあたり、内部レジスタの値を初期化する必要があるためである。
【００８４】
上述したフローチャートで算出された転送エリア座標は、論理和座標データ記憶領域１３ｂに記憶される。以降は任意変形回路１５が第１の実施形態に示したような動作により転送エリア座標を自身に転送して、転送した転送エリア座標に基づいて参照エリアを外部メモリ１３からＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂに転送する。そして、変形部１５ｅがＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂから参照エリアを読み出して変形処理を行う。
【００８５】
以上説明したように、パラメータ補正回路１７と参照画素数判定回路１８とは、任意変形回路１５とともに本実施形態にかかる画像処理装置を構成している。
【００８６】
本実施形態によれば、参照エリアの座標を補正するパラメータ補正回路１７と、パラメータ補正回路１７が補正した参照エリアの座標に基づいて、複数の参照エリアの論理和を演算して転送エリア座標を算出する参照画素数判定回路１８と、を有している。そして、参照画素数判定回路１８は、算出した転送エリア座標を論理和座標データ記憶領域１３ｂに記憶し、任意変形回路１５は、論理和座標データ記憶領域１３ｂから転送エリア座標を読み出して転送領域を転送する。このようにすることにより、熱等の外的要因によって、参照エリアが変わってしまう場合に補正することができる。
【００８７】
また、参照画素数判定回路１８は、複数の参照エリアの論理和を演算した結果得られた座標のうち、（Ｘｍａｘ，Ｙｍａｘ）、（Ｘｍｉｎ，Ｙｍｉｎ）を転送エリア座標としている。このようにすることにより、参照エリアと外接し、対角線上にある２つの座標から定まる四角形状の領域を参照エリアとすることができる。参照エリアが四角形状であると外部メモリ１３へアクセスするアドレス生成等が容易となり、外部メモリ１３のアクセス効率を向上させることができる。
【００８８】
また、参照画素数判定回路１８は、論理和演算の結果得られた転送エリア座標を内部レジスタ等に保持する。そして、転送エリアのデータ量がＲ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量を超えた場合は、内部レジスタに保持した１つ前に算出された転送エリア座標を論理和座標データ記憶領域１３ｂに転送する。このようにすることにより、Ｒ＿ＳＲＡＭ１５ａまたはＲ＿ＳＲＡＭ１５ｂの記憶容量に記憶させることができるうち最大の参照エリアを転送エリアに含ませることができる。したがって、一度にできるだけ多くの参照エリアを転送することができ、外部メモリ１３に対する転送効率を向上させ、バス帯域を確保することができる。
【００８９】
なお、上述した第３の実施形態では、参照エリア座標は予めレンズパラメータ記憶領域１３ａに記憶されていたが、レンズパラメータ記憶領域１３ａに記憶されているレンズパラメータから各参照エリアの座標データを算出してもよい。また、転送エリア座標や参照エリアの座標データ等は入力画像データが記憶される外部メモリ１３ではなく、他のメモリ等に記憶されていてもよい。
【００９０】
また、上述した３つの実施形態では、外部メモリ１３にレンズパラメータを記憶させ、例えば変形処理としてレンズの収差等による歪み補正処理で説明したが、他の変形処理であってもよい。つまり、レンズパラメータに限らず、変形処理時に入力画像を参照するエリアを特定することができるパラメータがある変形処理であれば適用することができる。
【００９１】
最後に上述した３つの実施形態にかかる情報処理装置１のいずれかを有する電子機器の一実施形態を図１５を参照して説明する。図１５は、図１に示した情報処理装置１の例であるが図１１に示した構成でもよいことはいうまでもない。
【００９２】
図１５に示した電子機器１００は、情報処理装置１に、画像取得手段としての画像取得部１０１と、画像出力手段としての画像出力部１０２と、が追加されている。例えば電子機器１００がデジタルカメラの場合、画像取得部１０１は、撮像素子（撮像部）やＹＵＶ４２２ファーマットへの変換部等が相当し、画像出力部１０２は、液晶ディスプレイ等の表示手段や、メモリカード等の記憶媒体等が相当する。
【００９３】
図１５に示した電子機器１００は、画像取得部１０１で、撮像素子が撮像した画像をＹＵＶ４２２フォーマットへ変換して情報処理装置１に入力する。情報処理装置１では、上述した実施形態のようにして、外部メモリ１３から転送エリアをＲ＿ＳＲＡＭ１５ａ等に転送して、歪み補正処理等の変形処理を行い、画像出力部１０２で、変形処理が施された画像が表示手段に表示される。
【００９４】
なお、画像取得部１０１は、撮像素子等に限らない。例えば、画像がメモリカードやハードディスクドライブ等の記憶媒体に格納されているのであれば、それら記憶媒体であってもよいし、画像がネットワーク等を介して取得されるのであればネットワークインターフェース等であってもよい。
【００９５】
画像出力部１０２も同様に表示手段に限らない。例えば、画像がメモリカードやハードディスクドライブ等の記憶媒体に格納されるのであれば、それら記憶媒体であってもよいし、画像がネットワーク等を介して出力されるのであればネットワークインターフェース等であってもよい。
【００９６】
電子機器１００も、デジタルカメラ等の撮影装置に限らず、画像の歪み補正や回転等の変形機能を有する映像機器、情報機器及び通信機器あるいは画像形成装置等であってもよい。
【００９７】
また、本発明は上記実施形態に限定されるものではない。即ち、当業者は、従来公知の知見に従い、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。かかる変形によってもなお本発明の画像処理装置の構成を具備する限り、勿論、本発明の範疇に含まれるものである。
【符号の説明】
【００９８】
１          情報処理装置
１２        インターコネクト回路
１３        外部メモリ（第１記憶手段）
１５        任意変形回路（画像処理装置、変形手段、座標データ取得手段）
１５ａ      Ｒ＿ＳＲＡＭ（第２記憶手段）
１５ｂ      Ｒ＿ＳＲＡＭ（第２記憶手段）
１７        パラメータ補正回路（画素処理装置、補正手段）
１８        参照画素数判定回路（画像処理装置、転送領域算出手段）
１００      電子機器
１０１      画像取得部
１０２      画像出力部（画像出力手段）
Ｓ１０３    転送エリア転送（変形工程）
Ｓ２０３    参照エリア読出（変形工程）
Ｓ２０４    変形処理（変形工程）
【先行技術文献】
【特許文献】
【００９９】
【特許文献１】特開２０１０−２４４１１３号公報
【図１】
2016103169.tif 000003
【図２】
2016103169.tif 000004
【図３】
2016103169.tif 000005
【図４】
2016103169.tif 000006
【図５】
2016103169.tif 000007
【図６】
2016103169.tif 000008
【図７】
2016103169.tif 000009
【図８】
2016103169.tif 000010
【図９】
2016103169.tif 000011
【図１０】
2016103169.tif 000012
【図１１】
2016103169.tif 000013
【図１２】
2016103169.tif 000014
【図１３】
2016103169.tif 000015
【図１４】
2016103169.tif 000016
【図１５】
2016103169.tif 000017