(57)【要約】【課題】歪み補正後の画像を外部メモリに出力することなく縮小する半導体装置、画像認識システム及び画像処理方法を提供する。【解決手段】半導体装置１は、撮像画像の歪みを補正する歪み補正部１０と、歪み補正後の画像データを記憶するＳＲＡＭ２０と、平滑化フィルタ処理に必要な大きさの歪み補正後の画像データがＳＲＡＭ２０に記憶された後に、ＳＲＡＭ２０から歪み補正後の画像データを入力してフィルタ処理を行うフィルタ処理部３０と、フィルタ処理後の画像を縮小する画像縮小部４０とを単一の半導体基板上に備える。【選択図】図１
2020005118.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像の歪みを補正する歪み補正部と、
前記補正後の画像データを記憶するＳＲＡＭと、
平滑化フィルタ処理に必要な大きさの前記補正後の画像データが前記ＳＲＡＭに記憶された後に、前記ＳＲＡＭから前記補正後の画像データを入力して前記フィルタ処理を行うフィルタ処理部と、
前記フィルタ処理後の画像を縮小する画像縮小部と
を単一の半導体基板上に備える半導体装置。
【請求項２】
前記歪み補正部は、前記撮像画像を前記フィルタ処理に必要な大きさに分割した分割画像を順番に補正し、
前記フィルタ処理部は、前記分割画像に対応する前記補正後の画像データが前記ＳＲＡＭに記憶された後に、前記フィルタ処理を行う
請求項１記載の半導体装置。
【請求項３】
前記歪み補正部は、外部メモリに記憶された情報に基づいて、前記外部メモリから前記分割画像を順番に読み出して前記補正を行う
請求項２記載の半導体装置。
【請求項４】
前記歪み補正部は、前記歪み補正後の画像が矩形状になるように前記外部メモリから前記分割画像を読み出す
請求項３記載の半導体装置。
【請求項５】
複数の前記分割画像は、互いに重なり合う領域を有する
請求項２記載の半導体装置。
【請求項６】
前記重なり合う領域は、前記フィルタ処理のフィルタの一辺の重み係数の数の逆数が、前記画像を縮小するときの縮小率よりも小さいときに設けられる
請求項５記載の半導体装置。
【請求項７】
前記ＳＲＡＭは、行列状の複数の分割記憶領域に分割されており、
１つの行又は１つの列に属する前記分割記憶領域に前記補正後の画像データを入力しているときに、他の行又は他の列に属する前記分割記憶領域の画像データを前記フィルタ処理部に出力する
請求項１記載の半導体装置。
【請求項８】
前記ＳＲＡＭは、行列状の複数の分割記憶領域に分割されており、
前記分割記憶領域の行方向又は列方向に前記補正後の画像データを順番に入力し、
前記分割記憶領域の前記列方向又は前記行方向で前記補正後の画像データを順番に出力して前記補正後の画像データを転置又は回転させる
請求項１記載の半導体装置。
【請求項９】
前記縮小後の画像を用いて対象物を認識する画像認識部を更に備える
請求項１記載の半導体装置。
【請求項１０】
被写体を撮像して画像を出力するカメラと、
前記画像を記憶する外部メモリと、
前記外部メモリに記憶された画像を前記撮像画像として入力し、前記縮小後の画像を前記外部メモリに出力する請求項１記載の半導体装置と、
前記外部メモリに記憶された前記縮小後の画像を用いて前記被写体を認識する画像認識装置と
を備える画像認識システム。
【請求項１１】
撮像画像の歪みを補正するステップと、
前記補正後の画像データを自装置内部のＳＲＡＭに記憶するステップと、
平滑化フィルタ処理に必要な大きさの前記補正後の画像データを前記ＳＲＡＭに記憶した後に、前記ＳＲＡＭから前記補正後の画像データを読み出して前記フィルタ処理を行うステップと、
前記フィルタ処理後の画像を縮小するステップと
を自装置内の単一の半導体基板上で実行する半導体装置の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体装置、画像認識システム及び画像処理方法に関する。
【背景技術】
【０００２】
カメラレンズに起因する撮像画像の歪みを補正し、更に、歪み補正後の画像を複数の縮小率で縮小して複数の縮小画像を生成したいという市場の要求がある。例えば、画像認識処理では、画像中の対象物の大きさが当該対象物を学習したときの大きさでないと対象物を認識できないことがあり、撮像画像から複数の縮小画像を生成し、それらを認識対象画像として用いることが有効である。
【０００３】
一般に、歪み補正処理には、ＧＰＵ（Graphic Processor Unit）をはじめとするグラフィクス処理エンジンを用いる。グラフィクス処理エンジンでは、歪み補正前のデータをキャッシュメモリを介して外部メモリから読み出し、また、歪み補正後のデータをキャッシュメモリを介して外部メモリに書き戻している。
【０００４】
例えば、非特許文献１の図３にはＧＰＵのメモリ階層構成が記載されており、この図では、角が丸められた矩形がＧＰＵを、「大域メモリ」が外部メモリを、「Ｌ１キャッシュ」、「Ｌ２キャッシュ」がキャシュメモリをそれぞれ示している。このＧＰＵにおいても、必ずＬ１、Ｌ２キャッシュを介して、外部メモリに対するデータの読み出し、書き戻しが行われている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】須田礼仁、“ＧＰＵとＧＰＧＰＵの概要”、映像情報メディア学会誌、一般社団法人映像情報メディア学会、２０１２年１０月１日、第６６巻、第１０号、ｐ．８０８−８１２
【発明の概要】
【発明が解決しようとする課題】
【０００６】
背景技術のように、歪み補正前のデータをキャッシュメモリを介して外部メモリから読み出し、また、歪み補正後のデータをキャッシュメモリを介して外部メモリに書き戻す場合に、当該外部メモリに多くのＣＰＵ（Central Processing Unit）やアクセラレータが接続されていると、処理時間が長くなり、また、バスや外部メモリの転送帯域を多く消費してしまうという問題があった。
【０００７】
そこで、歪み補正後の画像を外部メモリに出力することなく縮小することができる半導体装置、画像認識システム及び画像処理方法が望まれていた。
その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施の形態によれば、半導体装置は、撮像画像の歪みを補正し、補正後の画像データをＳＲＡＭに記憶し、平滑化フィルタ処理に必要な大きさの画像データをＳＲＡＭに記憶した後に、ＳＲＡＭから画像データを読み出してフィルタ処理を行い、そして、画像を縮小する。
【発明の効果】
【０００９】
上記一実施の形態によれば、歪み補正後の画像を外部メモリに出力することなく縮小する半導体装置、画像認識システム及び画像処理方法を提供することができる。
【００１０】
なお、上記一実施の形態の半導体装置としてのマイクロコンピュータ又はチップ、当該半導体装置の一部を構成する画像処理回路、当該半導体装置を用いる監視システム、自動運転システム（ＡＤＡＳ）なども、本発明の態様として有効である。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１に係る半導体装置１の概略構成を示すブロック図である。
【図２】実施の形態１に係る画像処理方法の処理手順を説明するためのフローチャートである。
【図３】歪み補正処理前後における、画像のキャッシュメモリへのマッピング例を示す図である。
【図４】３×３のガウシアンフィルタによる画像平滑化の例を示す図である。
【図５】実施の形態１に係る半導体装置２の概略構成を示す図である。
【図６】実施の形態２に係る歪み画像と分割歪み補正画像との対応関係を説明するための図である。
【図７】実施の形態２に係る歪み画像の分割例を示した図である。
【図８】実施の形態３に係るバッファＳＲＡＭ２０の各分割記憶領域２０ａ〜２０ｐと、各分割記憶領域２０ａ〜２０ｐに対する読み出し動作又は書込み動作を説明するための図である。
【図９】実施の形態３に係るバッファＳＲＡＭ２０の各分割記憶領域２０ａ〜２０ｐを用いた画像転置処理を説明するための図である。
【図１０】実施の形態３に係るバッファＳＲＡＭ２０の各分割記憶領域２０ａ〜２０ｐを用いた画像転置処理を説明するための図である。
【図１１】その他の実施の形態に係る画像認識システム１０１の概略構成を示す図である。
【発明を実施するための形態】
【００１２】
説明の明確化のために、以下の記載及び図面は、適宜、省略及び簡略化がなされる。また、様々な処理を行う機能ブロックとして図面に記載する各要素は、ハードウェア的には、ＣＰＵ、メモリ、その他の回路などにより構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現することができる。
【００１３】
したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、又は、それらの組合せによっていろいろな形で実現できることは当業者に理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号を付しており、必要に応じて重複説明を省略している。
【００１４】
また、前述したプログラムを、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納し、コンピュータに供給することができる。
【００１５】
非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（Random Access Memory））を含む。
【００１６】
また、プログラムを、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給してもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び、電磁波を含む。一時的なコンピュータ可読媒体は、電線、光ファイバ等の有線通信路、又は、無線通信路を介してプログラムをコンピュータに供給することができる。
【００１７】
（実施の形態１）
次に、撮像画像に対して歪み補正処理を行い、当該歪み補正後の画像を外部メモリではなく、自装置の同一の半導体基板上の通常のメモリに出力し、１画像分のデータが当該通常のメモリに書き込まれた後に平滑化処理及び画像縮小処理を行う、本実施の形態１に係る半導体装置について説明する。
【００１８】
なお、本明細書における「通常のメモリ」とは、アクセスするアドレスによってはメモリ上にデータが存在しないために他の記憶領域（外部メモリ）にデータを取りに行く必要が生じる場合もあるキャッシュメモリのようなメモリ以外のメモリを指し、以下の各実施の形態では、通常のメモリとしてバッファＳＲＡＭを用いている。
また、各実施の形態に係る歪み補正処理後の画像、画像縮小処理後の画像は、例えば、画像認識処理の認識対象画像として用いられる。
【００１９】
まず、本実施の形態１に係る半導体装置の構成について説明する。
図１は、本実施の形態１に係る半導体装置１の概略構成を示すブロック図である。以下の説明を分りやすくするために、半導体装置１内外でのデータの流れも併せて示している。
【００２０】
なお、以下の各図面では、歪み画像の例として直線と曲線とが組み合わされたパターンを有する画像を用い、歪み補正後、縮小後又は回転後の画像の例として格子パターンを有する画像を用いているが、図面の明瞭化のために、各パターンにおける線の数は、歪み補正の前後で一致させていない。
【００２１】
半導体装置１は、単一の半導体基板、すなわち、１つのチップで構成され、歪み補正部１０、バッファＳＲＡＭ２０、フィルタ処理部３０、画像縮小部４０などを備えている。前述したように、歪み補正部１０、バッファＳＲＡＭ２０、フィルタ処理部３０、画像縮小部４０などは、ハードウェア（例えば、回路）のみ、ソフトウェアのみ、又は、それらの組合せによって、いろいろな形で実現することができる。
【００２２】
歪み補正部１０は、外部メモリ（ＤＲＡＭ）６から、カメラレンズによりパターンに歪みが生じている歪み画像を入力して歪み補正し、歪み補正後の画像データをバッファＳＲＡＭ２０に出力する。前述したように、これまでは、歪み補正後の画像データは、記憶容量が、例えば、１ＭＢ程度の（デスティネーション）キャッシュメモリを介して外部メモリに出力していた。
【００２３】
通常のメモリであるバッファＳＲＡＭ２０は、歪み補正後の画像データを記憶し、１画像分の画像データを記憶すると、当該画像データをフィルタ処理部３０に出力する。
なお、バッファＳＲＡＭ２０は、歪み補正後の画像（歪み補正画像）をＤＲＡＭ６に出力することもできる。ＤＲＡＭ６に出力された歪み補正画像（非縮小画像）は、例えば、画像認識処理の認識対象画像として用いられる。
【００２４】
フィルタ処理部３０は、歪み補正画像にガウシアンフィルタ、平均化フィルタなどを適用するフィルタ処理を行って歪み補正画像を平滑化し、画像縮小部４０に出力する。
画像縮小部４０は、平滑化された画像を縮小し、縮小後の画像（縮小画像）をＤＲＡＭ６に出力する。ここで、ＤＲＡＭ６に出力された縮小画像も、例えば、画像認識処理の認識対象画像として用いられる。
【００２５】
なお、歪み補正部１０は、前述した歪み補正処理を行うために、歪み補正情報処理部１１、画像情報処理部１２、テクスチャキャッシュ１３などを備えている。
歪み補正情報処理部１１は、ＤＲＡＭ６から、グラフィクスの描画処理を列挙した命令列であるディスプレイリストを入力し、ディスプレイリスト上に記述された歪み補正情報を解釈して画像情報処理部１２に画像形状補正情報を出力する。
【００２６】
画像情報処理部１２は、画像形状補正情報を入力し、また、ＤＲＡＭ６からテクスチャキャッシュ１３を介して歪み画像を入力して、当該画像について歪み補正を行い、歪み補正後の画像データをバッファＳＲＡＭ２０に出力する。歪み補正後の画像データには、例えば、画素位置、画素値などの情報が含まれる。
もちろん、歪み補正部１０は、前述した構成以外の構成を有して、前述した歪み補正以外の周知の歪み補正を行っても良い。
【００２７】
次に、本実施の形態１に係る半導体装置１の動作、すなわち、画像処理方法について説明する。
図２は、本実施の形態１に係る画像処理方法の処理手順を説明するためのフローチャートである。
【００２８】
半導体装置１が動作を開始すると、歪み補正部１０は、ＤＲＡＭ６からディスプレイリスト及び歪み画像を入力し（ステップＳ１０）、歪み補正処理を行い（ステップＳ２０）、歪み補正画像データをバッファＳＲＡＭ２０に記憶させる（ステップＳ３０）。
【００２９】
ここで、歪み補正画像をキャッシュメモリではなく、バッファＳＲＡＭ２０に記憶する理由について簡単に説明する。
図３は、歪み補正処理前後における、画像のキャッシュメモリへのマッピング例を示す図である。左図は歪み補正前の直線パターン及びキャッシュメモリへのマッピング例を示し、右図は歪み補正後の曲線パターン及びキャッシュメモリへのマッピング例を示す。
【００３０】
歪み補正処理では、歪み補正前の直線パターンが、歪み補正後に曲線パターンへと補正されることがある。このため、図３に示すように、歪み補正前では直線パターンとして１つのライン（ブロック）にマッピングされるものが、歪み補正後には曲線パターンとして複数のラインにマッピングされることもある。
【００３１】
歪み補正処理後に、このような曲線パターンが外部メモリに書き戻される（出力される）ときにキャッシュミスが起こると、歯抜けの状態でキャッシュメモリの各ラインに書き込まれたパターンが、そのまま歯抜けの状態で外部メモリに出力されることがある。
【００３２】
また、下で説明するように、歪み補正処理に続くフィルタ処理では対象画素及び周辺画素のデータが揃っている必要があるので、歪み補正画像は、ライン追い出しによってデータが足りなくなるキャッシュメモリではなく、本実施の形態１に係るバッファＳＲＡＭ２０に記憶する方が良い。
【００３３】
次に、バッファＳＲＡＭ２０は、歪み補正画像データを１画像分（１フレーム分）記憶したら、当該歪み補正画像をフィルタ処理部３０に出力する。なお、実施の形態２以降の実施の形態において説明するが、バッファＳＲＡＭ２０は、歪み補正画像データを必ずしも１画像分記憶する必要はなく、次のフィルタ処理に必要な大きさ以上の大きさの歪み補正画像データを記憶したら、当該歪み補正画像データをフィルタ処理部３０に出力することもできる。
そして、フィルタ処理部３０は、歪み補正画像に平滑化処理を行って平滑化画像を画像縮小部４０に出力する（ステップＳ４０）。
【００３４】
ここで、画像縮小処理の前に画像平滑化処理を行う理由を簡単に説明する。
画像を縮小するときに、画素を縦方向および横方向に単純に間引くと、情報が大きく失われるため実用的でない。例えば、白色、黒色の画素が横方向に交互に現れるパターンを含む入力画像を単純に間引いて１／２に縮小すると、
入力画像  ：  〇●〇●〇●〇●〇●
出力画像  ：  〇〇〇〇〇  又は  ●●●●●
のように、白色のみ又は黒色のみの出力画像となってしまい、入力画像が有していた特徴情報が失われてしまう。
【００３５】
このため、縮小処理前の画像に対して平滑化フィルタを適用し、その後に画像縮小を行う。平滑化フィルタには、ガウシアンフィルタ、平均化フィルタなどを用いる。これらのフィルタは、対象画素に対して、周辺画素を畳み込む処理を行う。
【００３６】
図４は、３×３のガウシアンフィルタによる画像平滑化の例を示す図である。左図は画像処理手法の性能比較に用いられる標準画像の１つ（レナ画像）であり、右図はその平滑化処理後の画像（平滑化画像）である。
このように、画像を縮小するためには、その前に平滑化をする必要があり、平滑化には対象画素の画素値だけでなく、周辺画素の画素値も利用可能な状態であることが求められ、前述したように、歯抜けの状態が起こり得るキャッシュメモリではなく、歯抜けの状態が起こらないバッファＳＲＡＭに歪み補正画像を記憶する方が良い。
【００３７】
次に、画像縮小部４０が平滑化画像を縮小して（ステップＳ５０）、縮小画像をＤＲＡＭ６に出力して（ステップＳ６０）、半導体装置１が動作を終了する。
このように、本実施の形態１に係る半導体装置又は画像処理方法によれば、歪み補正後の画像を外部メモリに出力することなく縮小することができ、処理時間を短くし、また、バスや外部メモリの転送帯域を消費することがない。
【００３８】
なお、本実施の形態１に係る半導体装置は、複数の画像縮小部を直列で備えて、複数の縮小率の縮小画像を出力しても良い。
図５は、本実施の形態１に係る半導体装置２の概略構成を示す図である。
半導体装置２は、前述した半導体装置１にフィルタ処理部５０及び画像縮小部６０を追加した構成を備えている。もちろん、もっと多くのフィルタ処理部及び画像縮小部を備えていても良い。
このような構成によれば、画像データの外部メモリへの書き戻し、外部メモリからの読み出しを行うことなく、複数の縮小率の縮小画像を得ることができ、それらを、例えば、画像認識処理の認識対象画像として用いて、画像認識の認識率をより向上させることができる。
【００３９】
以上、説明したように、本実施の形態１に係る半導体装置は、撮像画像の歪みを補正する歪み補正部１０と、歪み補正後の画像データを記憶するＳＲＡＭ２０と、平滑化フィルタ処理に必要な大きさの歪み補正後の画像データがＳＲＡＭ２０に記憶された後に、ＳＲＡＭ２０から歪み補正後の画像データを入力してフィルタ処理を行うフィルタ処理部３０と、フィルタ処理後の画像を縮小する画像縮小部４０とを単一の半導体基板上に備えるものである。
【００４０】
また、本実施の形態１に係る半導体装置の画像処理方法は、撮像画像の歪みを補正するステップＳ２０と、歪み補正後の画像データをＳＲＡＭ２０に記憶するステップＳ３０と、平滑化フィルタ処理に必要な大きさの歪み補正後の画像データをＳＲＡＭ２０に記憶した後に、ＳＲＡＭ２０から歪み補正後の画像データを読み出してフィルタ処理を行うステップＳ４０と、フィルタ処理後の画像を縮小するステップＳ５０とを自装置内の単一の半導体基板上で実行するものである。
【００４１】
（実施の形態２）
実施の形態１に係る半導体装置１は、歪み補正後の１画像分の画像データを通常のメモリ２０に記憶し、その後、当該画像データを通常のメモリ２０から読み出してフィルタ処理及び画像縮小処理を行うものであった。
これに対して、本実施の形態２に係る半導体装置は、歪み補正後の画像データを記憶する通常のメモリの記憶容量を削減できるように、歪み画像を分割した「分割歪み画像」として読み出し、分割歪み画像のそれぞれについて順番に歪み補正処理を行って「分割歪み補正画像」として記憶容量が小さい通常のメモリに順番に記憶し、その後も順番にフィルタ処理、縮小処理を行うものである。
【００４２】
本実施の形態２に係る半導体装置の構成は、バッファＳＲＡＭの容量を小さくしたことと、歪み補正部がＤＲＡＭに格納された情報に基づいてＤＲＡＭから分割歪み画像を読み出すこととを除いて、実施の形態１に係る半導体装置１の構成と同様であって、ここでは、図示及び詳細な説明を省略する。また、以下の説明では、本実施の形態２に係る半導体装置について、実施の形態１に係る半導体装置１のものと同じ符号を用いて説明する。
【００４３】
図６は、本実施の形態２に係る歪み画像と分割歪み補正画像との対応関係を説明するための図である。左図は、図１などに示したものと同じ、曲線及び直線が組み合わさったパターンを有する分割前の歪み画像を示す。また、右図は格子パターンを有する歪み補正画像と容量の小さいバッファＳＲＡＭのメモリ領域（破線で囲われた領域）とを示す。歪み補正画像は、複数の分割歪み補正画像データで構成され、各分割歪み補正画像データはバッファＳＲＡＭ２０の単一のメモリ領域に書き込まれ、当該メモリ領域から読み出される。図６に示した例では、歪み補正画像は６つの分割歪み補正画像データで構成されて、分割歪み補正画像データのメモリ領域への書き込み、読み出しが６回繰り返される。
【００４４】
この例では、性能及び製造コストを考慮してバッファＳＲＡＭ２０のメモリ容量を決定し、この容量に合わせるように歪み画像を６つの領域に分割して歪み補正をしているが、分割歪み補正画像を合成した後の格子パターンは、図１などに示した歪み補正後の格子パターンと同じとすることができる。
【００４５】
また、分割歪み画像は、分割歪み補正画像が矩形となるように、ＤＲＡＭ６に格納された情報に基づいてＤＲＡＭ６から読み出されるが、バッファＳＲＡＭのメモリ領域及び分割歪み補正画像データは、少なくともフィルタ処理に必要な大きさ、例えば、３×３のフィルタを用いるのであれば、３×３画素の大きさ以上の大きさの領域又はデータがなくてはならない。
【００４６】
なお、フィルタ処理前の画像の最外周の１画素又は数画素は、フィルタ処理に必要な周辺画素が揃っていないのでフィルタ処理ができず、当該画素のフィルタ処理の結果も得られない。このため、フィルタ処理後の画像は、フィルタ処理前の画像よりも最外周の１画素分又は数画素分だけ小さな画像となる。
【００４７】
例えば、図４に示したフィルタ処理の例では、１００×１００画素の分割原画像に３×３のフィルタを適用すると、９８×９８画素の分割平滑化画像が得られる。また、１００×１００画素の分割原画像に５×５のフィルタを適用すると、９６×９６画素の分割平滑化画像が得られる。そして、このように画像周辺の情報が失われた分割平滑化画像どうしを合成しようとしても、画像間で線や図形のパターンの位置がずれてしまい、本来のパターンを再現できず、結果的に、当該合成画像を用いた画像認識処理の認識精度を低下させることになる。
【００４８】
そこで、歪み画像を分割した後に歪み補正処理をするときは、フィルタ処理後に画像が小さくなることを考えて、分割した歪み画像（分割歪み画像）の間に重なり領域ができるようにしても良い。
図７は、本実施の形態２に係る歪み画像の分割例を示した図である。図中の実線は、歪み画像を重なり領域を設けずに領域（分割歪み画像）１〜９に分割したときの分割線を示している。また、図中の破線は、歪み画像を重なり領域を設けて領域（分割歪み画像）１〜９に分割したときの分割線を示している。
【００４９】
フィルタ処理に３×３のフィルタを用いるときは、領域の外周がそれぞれ１画素ずつ小さくなることを考えて、例えば、領域１を、領域右側及び領域下側を実線よりも１画素ずつ大きくした破線の領域とする。同様に、領域２を、領域右側、領域下側及び領域左側を実線よりも１画素ずつ大きくした破線の領域とする。つまり、領域１と領域２との間には２画素分の重なり領域ができるようにする。
【００５０】
また、フィルタ処理に５×５フィルタを用いるときは、領域の外周がそれぞれ２画素ずつ小さくなることを考えて、領域１と領域２との間には４画素分の重なり領域ができるようにする。
一方、縮小処理での縮小率によっては、このような重なり領域を設けなくても良い場合もある。
【００５１】
例えば、フィルタ処理に３×３のフィルタを用い、縮小処理でフィルタ処理後の画像を１／３に縮小するときは、重なり領域を設ける必要はない。また、フィルタ処理に３×３のフィルタを用い、縮小処理でフィルタ処理後の画像を１／２に縮小するときは、重なり領域を設ける必要がある。
【００５２】
同様に、フィルタ処理に５×５のフィルタを用い、縮小処理でフィルタ処理後の画像を１／５に縮小するときは、重なり領域を設ける必要はないが、フィルタ処理に５×５のフィルタを用い、縮小処理でフィルタ処理後の画像を１／３、１／２に縮小するときは、重なり領域を設ける必要がある。
すなわち、縮小によって削られる領域と、フィルタ処理により失われる画像周辺領域とでそれらの大きさが一致する場合、あるいは、縮小によって削られる領域の方がフィルタ処理により失われる画像周辺領域よりも大きい場合には重なり領域を設ける必要はなく、フィルタ処理により失われる画像周辺領域の方が縮小によって削られる領域よりも大きい場合には重なり領域を設ける必要がある。
【００５３】
このことをフィルタの一辺当たりの重み係数の数ｋ（例えば、３×３のフィルタであれば３、５×５のフィルタであれば５）と、画像の縮小率Ｒ（例えば、１／３、１／２）とを用いて一般化すると、
１／ｋ  ≧  Ｒ  のときは、重なり領域は不要
１／ｋ  ＜  Ｒ  のときは、重なり領域は必要
となる。
【００５４】
このように、本実施の形態２に係る半導体装置（又は、画像処理方法）によれば、歪み補正後の画像を外部メモリ６に出力することなく縮小することができ、また、歪み補正後の画像データを記憶する通常のメモリ２０の容量を削減することができる。
以上、説明したように、本実施の形態２に係る半導体装置は、歪み補正部１０が撮像画像をフィルタ処理に必要な大きさに分割した分割画像を順番に補正し、フィルタ処理部３０は、分割画像に対応する補正後の画像データがＳＲＡＭ２０に記憶された後に、フィルタ処理を行うことが好ましい。
【００５５】
また、本実施の形態２に係る半導体装置は、複数の分割画像が互いに重なり合う領域を有することが好ましい。
また、本実施の形態２に係る半導体装置は、重なり合う領域が、フィルタ処理のフィルタの一辺の重み係数の数の逆数が、画像を縮小するときの縮小率よりも小さいときに設けられることが好ましい。
【００５６】
（実施の形態３）
実施の形態１に係る半導体装置１は、歪み補正後の１画像分の画像データを通常のメモリ２０に記憶し、その後、当該画像データを読み出してフィルタ処理及び画像縮小処理を行うものであった。
これに対して、本実施の形態３に係る半導体装置は、歪み補正後の画像データを記憶する通常のメモリの記憶領域を複数の分割記憶領域に分割し、ある分割記憶領域で歪み補正後の画像データを入力（書き込み）しているときに、他の分割記憶領域で歪み補正後の画像データをフィルタ処理部へ出力（読み出し）するようにして、歪み補正処理と、フィルタ処理及び縮小処理とを並行してできるようにするものである。
【００５７】
本実施の形態３に係る半導体装置の構成は、バッファＳＲＡＭのメモリ領域（記憶領域）を複数の分割記憶領域に分割したことと、歪み補正部がＤＲＡＭに格納された情報に基づいてＤＲＡＭから分割歪み画像を読み出すこととを除いて、実施の形態１に係る半導体装置１の構成と同様であって、ここでは、図示及び詳細な説明を省略する。また、以下では、本実施の形態３に係る半導体装置について、実施の形態１に係る半導体装置１のものと同じ符号を用いて説明する。
【００５８】
図８は、本実施の形態３に係るバッファＳＲＡＭ２０の分割記憶領域２０ａ〜２０ｐと、分割記憶領域２０ａ〜２０ｐに対する読み出し動作又は書込み動作を説明するための図である。
バッファＳＲＡＭ２０は、４×４の分割記憶領域２０ａ〜２０ｐに分割され、歪み補正部１０からの歪み補正画像データは分割記憶領域２０ａ〜２０ｐにこの順番で記憶される。
【００５９】
そして、歪み補正画像データが一番上の行の分割記憶領域２０ａ〜２０ｄに記憶されて、２番目の行の分割記憶領域２０ｅ〜２０ｈに記憶され始めたら、一番上の行の分割記憶領域２０ａ〜２０ｄの歪み補正画像データはフィルタ処理部３０へ出力されてフィルタ処理が行われる。
もちろん、歪み補正画像データが３番目の行の分割記憶領域２０ｉ〜２０ｌ又は４番目の行の分割記憶領域２０ｍ〜２０ｐに記憶され始めたときに、一番上の行の分割記憶領域２０ａ〜２０ｄの歪み補正画像データがフィルタ処理部３０へ出力されても良い。
【００６０】
すなわち、バッファＳＲＡＭ２０を分割することにより、同一の歪み画像について、歪み補正部１０による歪み補正処理と、フィルタ処理部３０及び画像縮小部４０による平滑化処理及び縮小処理とを並行して行うことができる。
なお、歪み補正処理と、平滑化処理及び縮小処理とを並行して処理するときの単位は分割記憶領域の１行に限ることはなく、分割記憶領域の複数行を単位として歪み補正処理と、平滑化処理及び縮小処理とを並行して処理しても良い。
このように、本実施の形態３に係る半導体装置（又は、画像処理方法）によれば、歪み補正後の画像を外部メモリ６に出力することなく縮小することができ、また、処理速度を格段に向上させることができる。
【００６１】
図９、１０は、本実施の形態３に係るバッファＳＲＡＭ２０の各分割記憶領域２０ａ〜２０ｐを用いた画像転置処理を説明するための図である。画像の転置とは、元画像を構成する各画素のｘ座標値とｙ座標値とを入れ替えて、元画像を裏返しにした新たな画像を生成する処理をいう。
図９は、歪み補正画像データのバッファＳＲＡＭ２０への書き込み及びバッファＳＲＡＭ２０からの読み出しを説明するための図であり、図９中の領域２０ａ〜２０ｐはバッファＳＲＡＭ２０の分割記憶領域２０ａ〜２０ｐを示す。
【００６２】
また、図１０は、縮小画像データ又は歪み補正画像データのＤＲＡＭ６への書き出しを説明するための図であり、図１０中の領域６ａ〜６ｐはＤＲＡＭ６の記録領域６ａ〜６ｐを示し、図１０中の括弧（）内の領域２０ａ〜２０ｐは当該記録領域に書き出される画像データが読み出されたバッファＳＲＡＭ２０の分割記憶領域を示す。例えば、ＤＲＡＭ６の記録領域６ｊに書き出される画像データはバッファＳＲＡＭ２０の分割記憶領域２０ｇから読み出されたものであることを示している。
【００６３】
まず、歪み補正部１０からの歪み補正画像データをバッファＳＲＡＭ２０の分割記憶領域２０ａ〜２０ｐにこの順番（書き込み１〜４）で各分割記憶領域を１つの単位として書き込む。また、各分割記憶領域に各画素データの書き込むときは、当該領域の最上行（１行目）を左端から右端まで順番に書き込み、行を変更して、２行目を左端から右端まで順番に書き込み、３行目、４行目と続けて、最後は、当該領域の最下行の左端から右端まで順番に書き込む。
【００６４】
次に、バッファＳＲＡＭ２０から歪み補正画像データを、分割記憶領域２０ａ、分割記憶領域２０ｅ、分割記憶領域２０ｉ、分割記憶領域２０ｍ、分割記憶領域２０ｂ、分割記憶領域２０ｆ、分割記憶領域２０ｊ、分割記憶領域２０ｎ、・・・、分割記憶領域２０ｐの順番（読み出し１〜４）で各分割記憶領域を１つの単位として読み出す。また、分割記憶領域から各画素データの読み出すときは、当該領域の左端の行（１列目）を上端から下端まで順番に読み出し、列を変更して、２列目を上端から下端まで順番に読み出し、３列目、４列目と続けて、最後は、当該領域の右端の行の上端から下端まで順番に読み出す。このとき、歪み補正画像データのバッファＳＲＡＭ２０への書き込みと、歪み補正画像データのバッファＳＲＡＭ２０からの読み出しとは、それらの処理が同じ分割記憶領域を対象としない限りにおいて、並行して行うことができる。
【００６５】
そして、バッファＳＲＡＭ２０から分割記憶領域毎に読み出した歪み補正画像データを、フィルタ処理部３０及び画像縮小部４０を介してＤＲＡＭ６に書き出すとき、又は、フィルタ処理部３０及び画像縮小部４０を介さずにＤＲＡＭ６に直接書き出すときは、上記の通りにバッファＳＲＡＭ２０の分割記憶領域２０ａ、分割記憶領域２０ｅ、分割記憶領域２０ｉ、・・・、分割記憶領域２０ｐからこの順番で読み出された歪み補正画像データを、ＤＲＡＭ６の領域６ａ、領域６ｂ、・・・、領域６ｐにこの順番（書き出し１〜４）で書き出す。すなわち、バッファＳＲＡＭ２０の分割記憶領域２０ａから読み出された歪み補正画像データはＤＲＡＭ６の領域６ａに書き出され、バッファＳＲＡＭ２０の分割記憶領域２０ｂから読み出された歪み補正画像データはＤＲＡＭ６の領域６ｅに書き出される。
【００６６】
また、バッファＳＲＡＭ２０の分割記憶領域２０ａの各画素データをＤＲＡＭ６の領域６ａに書き出すときは、上記のように分割記憶領域２０ａの左端の列から右端の列へと順番に列方向に読み出した画素データをその順番通りにＤＲＡＭ６の１行目の連続アドレスに書き出し、２行目の連続アドレスに書き出し、３行目の連続アドレスに書き出すようにする。他の分割記憶領域の各画素データについても同様である。
このような処理により、バッファＳＲＡＭ２０の各分割記憶領域２０ａ〜２０ｐを用いて画像を転置させることができる。
【００６７】
なお、バッファＳＲＡＭ２０から歪み補正画像データを読み出してＤＲＡＭ６に書き出すときに、分割記憶領域のデータを１つの単位としないで処理することもできる。
すなわち、バッファＳＲＡＭ２０の分割記憶領域２０ａ、分割記憶領域２０ｅ、分割記憶領域２０ｉ、分割記憶領域２０ｍの左端の列（１列目）を上から下へとこの順番で連続して読み出した歪み補正画像データをＤＲＡＭ６の領域６ａ、領域６ｂ、領域６ｃ、領域６ｄの上端の行（１行目）を左から右へとこの順番で書き込み、同様に、バッファＳＲＡＭ２０の分割記憶領域２０ａ、分割記憶領域２０ｅ、分割記憶領域２０ｉ、分割記憶領域２０ｍの２列目から連続して読み出した歪み補正画像データをＤＲＡＭ６の領域６ａ、領域６ｂ、領域６ｃ、領域６ｄの２行目に書き込むようにしても画像を転置させることができ、かつ、読み出し、書き出しの効率を向上させることができる。
【００６８】
また、画素データのバッファＳＲＡＭ２０からの読み出しの方向、及び、ＤＲＡＭ６への書き出しの方向を工夫することにより、画像を回転させることもできる。例えば、ある分割記憶領域について、バッファＳＲＡＭ２０から画素データを左下から左上まで順番に読み出し、それらをＤＲＡＭ６において左上から右上に順番に書き出すことにより当該分割記憶領域の画像を右に９０°回転させることができる。各分割記憶領域の読み出し、書きだし順についても同様である。
このように、本実施の形態３に係る半導体装置（又は、画像処理方法）によれば、転置画像、回転画像、転置縮小画像、回転縮小画像を短時間で得ることができ、また、これらの画像を画像認識処理の認識対象画像として用いることで画像認識の認識率を更に向上させることができる。
【００６９】
以上、説明したように、本実施の形態３に係る半導体装置は、ＳＲＡＭ２０が行列状の複数の分割記憶領域２０ａ〜２０ｐに分割されており、１つの行又は１つの列に属する分割記憶領域に補正後の画像データを入力しているときに、他の行又は他の列に属する分割記憶領域の画像データをフィルタ処理部３０に出力することが好ましい。
【００７０】
また、本実施の形態３に係る半導体装置は、ＳＲＡＭ２０が行列状の複数の分割記憶領域２０ａ〜２０ｐに分割されており、分割記憶領域の行方向又は列方向に補正後の画像データを順番に入力し、分割記憶領域の列方向又は行方向で補正後の画像データを順番に出力して補正後の画像データを転置又は回転させることが好ましい。
【００７１】
（その他の実施の形態）
前述した実施の形態１〜３に係る半導体装置は、画像認識部を更に備えたり、画像認識装置と組み合わされたりして画像認識システムとして構成することもできる。
図１１は、その他の実施の形態に係る画像認識システム１０１の概略構成を示す図である。
画像認識システム１０１は、例えば、自動車に搭載されたり、家庭又は事業所に設置されたりして、画像を用いて被写体を認識するものである。
【００７２】
画像認識システム１０１は、複数のカメラ７、半導体装置３、モニタ８などを備える。
半導体装置３は、イメージシグナルプロセッサ（ＩＳＰ）７１、歪み補正部１０、ＳＲＡＭ２０、フィルタ処理部３０、画像縮小部４０などを複数備えて、複数のカメラ７から入力した画像について、歪み補正処理、画像縮小処理をそれぞれ並行して行う。
【００７３】
また、半導体装置３は、ＣＰＵ７２、メモリコントローラ７３、割込みコントローラ７４などを備えて、ＤＲＡＭ（外部メモリ）６に対して、データを書き込み、また、データを読み出す。
また、半導体装置３は、画像認識部７５、表示ユニット７６、外部通信モジュール７７などを備えて、画像認識部７５が歪み補正画像、縮小画像、回転画像などを用いて対象物を認識した結果に基づいて、自動車のハンドル９ａ、ブレーキ９ｂなどを制御したり、認識又は制御した結果をモニタ８に表示したりする。
【００７４】
なお、画像認識システムは、画像認識部７５を半導体装置３の内部に備える代わりに、半導体装置３の外部に画像認識装置などとして備えていても良い。
このように、その他の実施の形態の半導体装置又は画像認識システムによれば、歪み補正後の画像を外部メモリ６に出力することなく縮小することができ、また、処理速度を格段に向上させることができる。
【００７５】
以上、説明したように、その他の実施の形態に係る半導体装置は、縮小後の画像を用いて対象物を認識する画像認識部７５を更に備えることが好ましい。
また、その他の実施の形態に係る画像認識システムは、被写体を撮像して画像を出力するカメラ７と、画像を記憶する外部メモリ６と、外部メモリ６に記憶された画像を撮像画像として入力し、縮小後の画像を外部メモリ６に出力する半導体装置１と、外部メモリ６に記憶された縮小後の画像を用いて被写体を認識する画像認識装置とを備えるものである。
【００７６】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた各実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【００７７】
１、２、３    半導体装置
６    外部メモリ（ＤＲＡＭ）
７    カメラ
１０    歪み補正部
１１    歪み補正情報処理部
１２    画像情報処理部
１３    テクスチャキャッシュ
２０    バッファＳＲＡＭ
２０ａ〜２０ｐ    分割記憶領域
３０、５０    フィルタ処理部
４０、６０    画像縮小部
７５    画像認識部
１０１    画像認識システム
【図１】
2020005118.tif 000003
【図２】
2020005118.tif 000004
【図３】
2020005118.tif 000005
【図４】
2020005118.tif 000006
【図５】
2020005118.tif 000007
【図６】
2020005118.tif 000008
【図７】
2020005118.tif 000009
【図８】
2020005118.tif 000010
【図９】
2020005118.tif 000011
【図１０】
2020005118.tif 000012
【図１１】
2020005118.tif 000013