画像処理装置
【課題】メモリIOボトルネックを解消し、高性能かつプログラマブルな画像処理装置を提供すること。
【解決手段】画像処理装置200は、区分画像(例えば画像中の1ライン単位の画像)を単位として特定処理を実行する画像処理部211〜214と、区分画像を単位とするデータを一時的に記憶する一時記憶部231〜233と、画像処理部211〜214と一時記憶部231〜233とを選択的に結合するセレクタ221〜224と、セレクタ221〜224を切り替え制御するレジスタ225と、を備える。外部制御に従って、レジスタ225がセレクタ221〜224を切り替え制御することにより、画像処理部211〜214と一時記憶部231〜233との結合形態を変化させて画像処理部211〜214の実行順序を規定する。
【解決手段】画像処理装置200は、区分画像(例えば画像中の1ライン単位の画像)を単位として特定処理を実行する画像処理部211〜214と、区分画像を単位とするデータを一時的に記憶する一時記憶部231〜233と、画像処理部211〜214と一時記憶部231〜233とを選択的に結合するセレクタ221〜224と、セレクタ221〜224を切り替え制御するレジスタ225と、を備える。外部制御に従って、レジスタ225がセレクタ221〜224を切り替え制御することにより、画像処理部211〜214と一時記憶部231〜233との結合形態を変化させて画像処理部211〜214の実行順序を規定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データを処理する画像処理装置に関する。
【背景技術】
【0002】
画像処理装置は、カメラモジュールから取り込まれた映像信号の調整・品質向上や、動画像の圧縮・伸張等、処理負荷の大きい処理を、画像処理システム全体を制御するホストの処理負荷を軽減するために代行して行うもので、一般的には専用の処理エンジンを用いて構成される。
【0003】
図19は、従来の画像処理装置の構成を示すブロック図である。図19に示すように、画像処理装置10は、固定処理Aを行う画像処理部11、固定処理Bを行う画像処理部12、固定処理Cを行う画像処理部13、SDRAM(Synchronous Dynamic Random Access Memory)などからなる共有メモリ14、及びこれら各部を相互に接続するバス15を備える。
【0004】
画像処理部11には、CCD(Charge Coupled Device)カメラ又はCMOS(Complementary Metal Oxide Semiconductor)カメラを内蔵するカメラモジュール16が接続され、撮像された画像データが映像信号として入力される。画像処理部11は、固定処理A(例えばRAWデータ処理(黒レベル補正、ゲイン調整、ホワイトバランス補正、ガンマ補正))を行う処理エンジンである。画像処理部12は、固定処理B(例えばYC(輝度・色差)分離)を行う処理エンジンである。画像処理部13は、固定処理C(例えば出力処理)を行う処理エンジンである。
【0005】
共有メモリ14は、バス15と接続して、複数の処理エンジン(画像処理部11〜13)間を転送するデータを一時的に格納する。また、共有メモリ14は、図示しないSDRAMコントローラにより制御される。SDRAMコントローラは、各処理エンジンとの間でアドレス、データ、制御信号をやり取りすることで、SDRAMへのアクセス制御を行う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−344710号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記従来の画像処理装置は、複数の処理エンジン間のデータ転送に共有メモリを用いているため、メモリIO(In-Out)がボトルネックとなり、処理エンジンの性能が十分であっても、装置全体としては処理が破綻するおそれがある。図19の場合、共有メモリ14とバス15間がボトルネックとなる。
【0008】
例えば、カメラ分野においては、近年の半導体技術の進歩によってCCDやCMOSカメラの画素数および動作速度が著しく向上しており、カメラモジュールの出力画像を処理する装置には、高い解像度・フレームレートを取り扱える処理性能が求められている。今後、高解像度・高フレームレート化等の高性能化がさらに進展すると、処理エンジンが取り扱うデータのスループットが増大し、メモリIOがボトルネックとなって処理が破綻するおそれがある。
【0009】
本発明は、上記に鑑みてなされたものであり、メモリIOのボトルネックを解消し、高性能かつプログラマブルな画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の画像処理装置は、複数の区分画像データからなる画像データに対して区分画像単位で互いに異なる画像処理を実行する複数の画像処理手段と、前記画像処理手段で処理された前記区分画像データを一時的に記憶する複数の第1の記憶手段と、前記複数の画像処理手段と前記複数の第1の記憶手段とを用いて、前記区分画像単位の処理を並列に繰り返し行うパイプライン処理を実行する画像制御手段と、を有する画像処理装置であって、前記パイプライン処理途中の画像データを前記複数の第1の記憶手段から前記区分画像単位で読み出して第2の記憶手段に書き込む記憶手段制御手段と、前記第2の記憶手段から読み出した画像データに対して特定の画像認識処理を実行する画像認識処理手段と、をさらに備え、前記画像制御手段は、前記パイプライン処理において、前記画像認識処理手段が特定の画像を認識した後に入力した画像データに対して、前記画像認識の前に入力した画像データに対して実行していた画像処理とは異なる画像処理を実行するように前記画像処理手段を制御する、構成を採る。
【発明の効果】
【0011】
本発明によれば、画像処理手段が1ラインを単位として入出力を行う性質と、選択的に結合可能なバスとを組み合わせることにより、不要な処理のスキップや処理順序の入れ替えが可能となるため、複数種のカメラ製品に適用可能な共通プラットフォームとして利用することができる。また、高解像度の画像処理を複数の外付けメモリを用いることなく実行できるため、高性能と低価格を両立させることができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態1に係る画像処理装置の構成を示すブロック図
【図2】本発明の実施の形態1に係る画像処理装置のバスの切り替え制御シーケンスを示す図
【図3】本発明の実施の形態1に係る画像処理装置の処理タイミングを示す図
【図4】本発明の実施の形態1に係る画像処理装置のバスのデータフローを示す図
【図5】本発明の実施の形態2に係る画像処理装置の構成を示すブロック図
【図6】本発明の実施の形態2に係る画像処理装置のバスのデータフローを示す図
【図7】本発明の実施の形態3に係る画像処理装置の構成を示すブロック図
【図8】本発明の実施の形態4に係る画像処理装置の一時記憶部の構成を示す図
【図9】本発明の実施の形態5に係る画像処理装置の一時記憶部の構成を示す図
【図10】本発明の実施の形態6に係る画像処理装置の構成を示すブロック図
【図11】本発明の実施の形態6に係る画像処理装置の一時記憶部の構成を示す図
【図12】本発明の実施の形態1に係る画像処理装置の処理タイミングを示す図
【図13】本発明の実施の形態6に係る画像処理装置の処理タイミングを示す図
【図14】本発明の実施の形態7に係る画像処理装置の一時記憶部の構成を示す図
【図15】本発明の実施の形態7に係る画像処理装置の構成を示すブロック図
【図16】本発明の実施の形態7に係る画像処理装置の構成を示すブロック図
【図17】本発明の実施の形態8に係る画像処理装置の構成を示すブロック図
【図18】本発明の実施の形態8に係る画像処理装置の構成を示すブロック図
【図19】従来の画像処理装置の構成を示すブロック図
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0014】
(実施の形態1)
図1は、本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。本実施の形態は、ディジタルカメラの信号処理を行う装置に適用した例である。
【0015】
図1に示すように、画像処理装置200は、入力インターフェース(I/F)201と、出力I/F202と、画像処理部211〜214と、バス220と、一時記憶部231〜233と、から主に構成される。また、画像処理装置200は、外部の主制御部250から入力した制御信号に基づいて所定の信号処理を行う。
【0016】
画像処理装置200は、ディジタルカメラの信号処理を行う装置であり、イメージセンサ(カメラ)の出力信号(ベイヤー配列RAWデータ)を入力として、YUV信号を生成し、出力する。イメージセンサの解像度は、例えば、水平2560ピクセル×垂直1920ピクセル(約4.9Mピクセル)である。
【0017】
入力I/F201は、RAWデータをこれに付随する入力クロック及び水平・垂直同期信号を用いて画像処理装置200内部に取り込む。
【0018】
出力I/F202は、YUV信号に出力クロック及び水平・垂直同期信号を付加して画像処理装置200外部に出力する。
【0019】
画像処理部211は、RAWデータ処理(黒レベル補正、ゲイン調整、ホワイトバランス補正、ガンマ補正)を行う。
【0020】
画像処理部212は、係数可変の2次元ディジタルフィルタである。画像処理部212は、水平4ライン分のデータバッファを内蔵し、最大100タップ(水平20×垂直5)のフィルタ演算を実行する。
【0021】
画像処理部213は、YC(輝度・色差)分離を行う。画像処理部213は、水平4ライン分のデータバッファを内蔵し、このバッファ内のデータで補間処理を行いながら輝度・色差のデータ(YUV信号)を生成する。
【0022】
画像処理部214は、図形重畳(画像に矩形や矩形枠を重ね合わせる処理)を行う。画像に矩形や矩形枠を重畳させることにより、撮影者に対して注意を促すことや、撮影対象のプライバシーを保護することができる。
【0023】
バス220は、画像処理部211〜214と一時記憶部231〜233とを選択的に結合する。バス220は、2入力1出力セレクタ221〜224(セレクタS1〜S4)と、セレクタ221〜224を切り替え制御するレジスタ225とから構成される。
【0024】
セレクタ221〜224は、2入力接続バスをいずれか1つに切り替える。レジスタ225は、画像処理装置200の外部の主制御部250からの指示に従って、セレクタ221〜224を用途毎に切り替えるための制御信号をセレクタ221〜224に出力する。
【0025】
一時記憶部231〜233は、各々水平2ライン分のデータ(5120ピクセル相当)を格納することができる2ポートSRAMである。この2ポートSRAMは、例えば1リード・1ライトで、16ビット×5120ワードを有する。
【0026】
このように、バス220を介して画像処理部211〜214と、リードアドレス(図示せず)、ライトアドレス(図示せず)、リードデータ、ライトデータの各信号線が結合される。
【0027】
図2は、本装置が用いられる3種類の用途毎に、処理内容およびバス220のセレクタ制御方法を示す図である。この図の内容をコード化した情報は、画像処理装置200の外部の主制御部250の内部メモリに格納される。図2に示すように、主制御部250に格納される情報は、「1.通常用途」、「2.暗環境下での監視」、「3.医療用途」毎に、画像処理部212(2次元ディジタルフィルタ)のフィルタ処理(フィルタ係数)およびバス220のセレクタ221〜224の選択方向である。
【0028】
図1のレジスタ225は、主制御部250から設定された値に従って制御信号(例えば、1ビットの情報)をセレクタ221〜224(セレクタS1〜S4)に出力することにより、セレクタ221〜224(セレクタS1〜S4)を切り替え制御する。セレクタ221〜224は、2入力「a」,「b」(図4参照)のうち、この図の接続バスのいずれか(「a」または「b」)を選択する。図1では、セレクタ221〜224の上側入力が「a」、下側入力が「b」である。
【0029】
「1.通常用途」では、画像処理部211におけるRAWデータ処理→画像処理部213におけるYC分離→画像処理部214における図形重畳、の順序で処理が行われる。また、画像処理部212(2次元ディジタルフィルタ)のフィルタ処理はスキップする。「1.通常用途」の場合、セレクタ223(セレクタS3)は「a」を選択し、セレクタ224(セレクタS4)は「b」を選択する。なお、画像処理部212(2次元ディジタルフィルタ)はスキップするので、セレクタ221(セレクタS1)及びセレクタ222(セレクタS2)の選択方向は任意である。
【0030】
「2.暗環境下での監視」では、画像処理部211におけるRAWデータ処理→画像処理部212におけるフィルタ処理→画像処理部213におけるYC分離→画像処理部214における図形重畳、の順序で処理が行われる。また、画像処理部212(2次元ディジタルフィルタ)のフィルタ処理は、ノイズ除去(高周波数成分除去)である。「2.暗環境下での監視」の場合、セレクタ221(セレクタS1)は「a」を、セレクタ222(セレクタS2)は「b」を、セレクタ223(セレクタS3)は「b」を、セレクタ224(セレクタS4)は「a」を、それぞれ選択する。
【0031】
「3.医療用途」では、画像処理部211におけるRAWデータ処理→画像処理部213におけるYC分離→画像処理部212におけるフィルタ処理→画像処理部214における図形重畳、の順序で処理が行われる。また、画像処理部212(2次元ディジタルフィルタ)のフィルタ処理は、毛細血管強調(赤色高周波成分強調)である。「3.医療用途」の場合、セレクタ221(セレクタS1)は「b」を、セレクタ222(セレクタS2)は「a」を、セレクタ223(セレクタS3)は「a」を、セレクタ224(セレクタS4)は「b」を、それぞれ選択する。
【0032】
以下、上述のように構成された画像処理装置200の動作を説明する。
【0033】
〔ライン単位処理〕
まず、ライン単位処理について説明する。
【0034】
画像処理部211〜214は、いずれもその処理の性質から、画像中の1ラインを単位としてデータの入力もしくは出力を行う。例えば、画像処理部212(2次元ディジタルフィルタ)は、バス220から新規の1ライン分の画像データを受けると、内蔵データバッファに保持された4ライン分の画像データと新規1ライン分の画像データとの合計5ライン分の画像データのデータに対し最大100タップのフィルタ演算を実行して1ライン分の画像データの出力を行うとともに、内蔵データバッファの最古の1ライン分の画像データを新規1ライン分の画像データに置換する。画像処理部212は、この1ライン毎の処理を繰り返すことにより、1画面全体を処理する。
【0035】
〔動作タイミング〕
次に、画像処理装置200の動作タイミングについて説明する。図3は、図2に示した「1.通常用途」における、画像処理装置200の処理タイミングを示す図である。
【0036】
詳細には、画像入力のタイミング、画像処理部211(RAWデータ処理)の処理レイテンシ、画像処理部211による一時記憶部231に対する書込み動作、画像処理部213(YC分離)による一時記憶部231からの読出し動作、画像処理部213の処理レイテンシ、画像処理部213による一時記憶部233に対する書込み動作、画像処理部214(図形重畳)による一時記憶部233からの読出し動作、画像処理部214の処理レイテンシ、及び画像出力のタイミングを示す。なお、図3中、一時記憶部231,233の縦軸はアドレスを示す。
【0037】
図3の例では、データが、画像処理部211(RAWデータ処理)→一時記憶部231→画像処理部213(YC分離)→一時記憶部233→画像処理部214(図形重畳)の順序で流れるように、バス220の接続が行われる。
【0038】
入力I/F201からのRAWデータは、1ラインあたり40μs周期中の16μs期間に入力され、データレートは160MHz/ピクセルである。
【0039】
画像処理部211(RAWデータ処理)、画像処理部213(YC分離)及び画像処理部214(図形重畳)は、上記水平同期信号により40μsで同期して動作し、それぞれ10μs、24μs、6μsの処理レイテンシを持つ。
【0040】
各画像処理部211,213,214は、一時記憶部231,233に対してそれぞれリード・ライトのアドレスを生成し、40μs周期でライト領域とリード領域が交互に入れ替わる構成となっている。
【0041】
したがって、図3の例では、画像処理部211が、入力した画像データに対して10μsの処理レイテンシでRAWデータ処理し、処理完了したデータを順次一時記憶部231に書込む。そして、画像処理部211の処理開始から40μs後に、画像処理部213が、一時記憶部231からデータを順次読出し、24μsの処理レイテンシでYC分離を行い、処理完了したデータを順次一時記憶部233に書込む。そして、画像処理部213の処理開始から40μs後に、画像処理部214が、一時記憶部233からデータを順次読出し、6μsの処理レイテンシで図形重畳を行い、処理完了したデータを順次出力する。
【0042】
このように、画像処理装置200は、画像処理部211〜214が、ライン単位のパイプライン処理として並列動作する構成となる。
【0043】
〔バス切替方式〕
次に、バス切替方式について説明する。
【0044】
画像処理装置200は、図2に示す3種類の用途に用いられ、用途毎に画像処理部211〜214の実行有無や順序を切り替える。
【0045】
ここで、画像処理部212(2次元ディジタルフィルタ)の処理内容は、用途毎に異なる。例えば、画像処理装置200を「2.暗環境下での監視」に用いる場合、イメージセンサへの入力光量が減少しノイズが増大するため、画像処理部212は、RAWデータ処理後の高周波成分を除去し、監視者が見やすいよう画質改善を行う。
【0046】
また、画像処理装置200を「3.医療用途」に用いる場合、医療者が毛細血管を視認しやすいよう赤色高周波成分を強調する必要があるため、画像処理部212は、YC分離後にこの赤色高周波成分強調処理を行う。
【0047】
これらの特殊処理は、主制御部250が画像処理部212(2次元ディジタルフィルタ)のフィルタ係数を変更することにより実現される。
【0048】
図4は、画像処理装置200のバス220のデータフローを示す図である。図4中の太実線は、セレクタ221〜224(セレクタS1〜S4)の選択によってデータが流れるバスを示し、同図破線は、セレクタ221〜224の非選択によってデータが流れないバスを示す。
【0049】
図4(a)は、「1.通常用途」における処理順序(画像処理部211(RAWデータ処理)→画像処理部213(YC分離)→画像処理部214(図形重畳))のデータフローである。
【0050】
図4(b)は、「2.暗環境下での監視」における処理順序(画像処理部211(RAWデータ処理)→画像処理部212(2次元ディジタルフィルタ)→画像処理部213(YC分離)→画像処理部214(図形重畳))のデータフローである。
【0051】
図4(c)は、「3.医療用途」における処理順序(画像処理部211(RAWデータ処理)→画像処理部213(YC分離)→画像処理部212(2次元ディジタルフィルタ)→画像処理部214(図形重畳))のデータフローである。
【0052】
図4に示すように、画像処理装置200は、バス220に含まれる4つのセレクタ221〜224(セレクタS1〜S4)を、図2に示すように設定することにより、画像処理部211〜214と一時記憶部231〜233とを選択的に結合する。これにより、画像処理部211〜214の実行有無や順序が変更される。
【0053】
また、本実施の形態によれば、共有メモリを用いず、ライン単位のメモリを用いているため、メモリIOボトルネックが解消されると共に、従来の装置に対してコストを抑えることができる。
【0054】
例えば、図2の「1.通常用途」に相当する処理を従来の装置で行う場合、共有メモリに求められる最大スループットは以下の通りである。
データレート:R=160 [MHz]
入出力系統数:N=6(リード・ライト各3系統)
1ピクセル当たりデータ量:B=2[Byte]
スループット:S=R×N×B=1920[MByte/s]
【0055】
従来の装置は、SDRAMなどからなる共有メモリを用いている。現時点で入手し得るDDR SDRAMのスループットは最大1.3[GByte/s]程度であるため、1個のSDRAMではメモリIOがボトルネックとなり、装置を構成できない。従来の装置を構成するには2個のSDRAMが必要となる。このように、従来の装置は、記憶容量としては不必要であるにもかかわらず、スループットを確保するために複数個の外部メモリを用意しなければならず、高価なものとなる。
【0056】
これに対して、本実施の形態の装置は、640[MByte/s]の小容量SRAMを3個用意すれば良いので、1つの半導体デバイス(LSI)上に集積することが可能となり、安価に装置を構成することができる。
【0057】
以上詳細に説明したように、本実施の形態によれば、外部制御に従って、レジスタ225がセレクタ221〜224を切り替え制御することにより、画像処理部211〜214と一時記憶部231〜233との結合形態を変化させて画像処理部211〜214の実行順序を規定する。これにより、不要な処理のスキップや処理順序の入れ替えが可能となり、メモリIOボトルネックを解消し、高性能かつプログラマブルな画像処理装置を実現することができる。例えば、種々のカメラ製品に対するプラットフォームを共通化することができる。
【0058】
また、本実施の形態によれば、不要処理としてスキップさせた画像処理部211〜214、及び未使用の一時記憶部231〜233に対するクロック供給、もしくは電源供給を停止させることもできる。このようにすれば、消費電力を削減することができ、バッテリ駆動の機器では、連続動作時間の長時間化を図ることができる。
【0059】
(実施の形態2)
実施の形態2は、実施の形態1で説明した画像処理装置に外部メモリを接続する例である。
【0060】
図5は、本発明の実施の形態2に係る画像処理装置の構成を示すブロック図である。本実施の形態の説明に当たり、図1と同一の構成部分には同一符号を付して重複箇所の説明を省略する。
【0061】
図5に示すように、画像処理装置300は、画像処理装置本体310と、外部メモリ320とからなり、画像処理装置本体310は、入力I/F201と、出力I/F202と、画像処理部211〜214Aと、DMAコントローラ311と、バス220Aと、一時記憶部231〜234と、を備える。
【0062】
画像処理装置300は、図1の画像処理装置200と同様に、ディジタルカメラの信号処理を行う装置であり、イメージセンサ(カメラ)の出力信号(ベイヤー配列RAWデータ)を入力として、YUV信号を生成し、出力する。
【0063】
画像処理部214Aは、図1の画像処理部214と同様の機能に加え、一時記憶部233及び一時記憶部234から、それぞれ同位置の1ライン分の画像データを読み出し、2つの画像データの差分から動体の有無(静止画か否か)を判別する。
【0064】
バス220Aは、画像処理部211〜214A、DMAコントローラ311と一時記憶部231〜234とを選択的に結合する。バス220Aは、図1のバス220に、DMAコントローラ311接続用のバス及びセレクタが付加された構成であり、基本的には図1のバス220を拡張した構成である。
【0065】
一時記憶部234は、一時記憶部231〜233と同様に、各々水平2ライン分のデータ(5120ピクセル相当)が格納可能な2ポートSRAMである。この2ポートSRAMは、例えば1リード・1ライトで、16ビット×5120ワードを有する。
【0066】
DMAコントローラ311は、1ライン単位でバス220Aと外部メモリ320との間のデータ転送を行う。DMAコントローラ311は、一時記憶部233から1ライン分の画像データを読み出して外部メモリ320に書き込む。また、DMAコントローラ311は、外部メモリ320から旧フレームの同位置の1ライン分の画像データを読み出して一時記憶部234に書き込む。
【0067】
外部メモリ320は、一時記憶部231〜234に比較して大容量のメモリ(例えばSDRAM)である。外部メモリ320は、過去の画像データをフレーム単位で保持するために設けられる。ここでは、外部メモリ320は、新旧2フレーム分の画像データを蓄積する。
【0068】
以下、上述のように構成された画像処理装置300の動作を、図6を用いて説明する。図6は、画像処理装置300のバス220Aのデータフローを示す図である。なお、「1.通常用途」、「2.暗環境下での監視」及び「3.医療用途」のいずれにおいても、画像処理部211に画像データが入力されてから、一時記憶部233に画像データが書き込まれるまでの動作は、上記実施の形態1における画像処理装置200と同様であるので、説明を省略する。
【0069】
一時記憶部233に画像データが書き込まれると、DMAコントローラ311は、一時記憶部233から1ライン分の画像データを読み出して外部メモリ320に書き込む。また同時に、この1ライン分の画像データが画像処理部214Aに入力される。
【0070】
次に、DMAコントローラ311は、外部メモリ320から旧フレームの1ライン分の画像データを読み出して一時記憶部234に書き込む。
【0071】
次に、画像処理部214Aは、一時記憶部234から旧フレームの1ライン分の画像データを読み出す。この旧フレームの1ライン分の画像データ、および上記(新フレームの)1ライン分の画像データは、元のフレーム上で同位置となるようにDMA制御が行われる。画像処理部214Aは、同位置の1ライン分の新旧2つの画像データの差分から動体の有無を判別する。
【0072】
このように、本実施の形態によれば、画像処理装置300が、過去の画像データをフレーム単位で保持する外部メモリ320、及び、バス220Aと外部メモリ320との間のデータ転送を行うDMAコントローラ311を有することにより、実施の形態1の機能に加えて、動体の有無の判別等、過去のフレームを使用する画像処理を行うことができる。
【0073】
また、本実施の形態によれば、大容量の外部メモリ320を外付け部品としており、過去のフレームを参照する信号処理が不要な場合、外部メモリの実装を省略することができる。これにより、高性能品・廉価品の双方に適応できるプラットフォームを構築することができる。
【0074】
(実施の形態3)
実施の形態3は、実施の形態2で説明した画像処理装置に外部デバイスを接続する例である。
【0075】
図7は、本発明の実施の形態3に係る画像処理装置の構成を示すブロック図である。本実施の形態の説明に当たり、図5と同一の構成部分には同一符号を付して重複箇所の説明を省略する。
【0076】
図7に示すように、画像処理装置300は、画像処理装置本体310と、外部メモリ320と、バス330と、外部デバイス340とからなり、画像処理装置本体310は、入力I/F201と、出力I/F202と、画像処理部211〜214Aと、DMAコントローラ311と、バス220Aと、一時記憶部231〜234と、を備える。
【0077】
DMAコントローラ311は、バス330を介して、外部メモリ320への画像データの書き込み、外部メモリ320からの画像データの読み出し、を行う。
【0078】
外部デバイス340は、例えば汎用プロセッサ、FPGA(Field Programmable Gate Array)である。外部デバイス340は、外部メモリ320から画像データを読み出し、所定の処理、例えば顔認識のような静止画オブジェクト認識を行う。そして、外部デバイス340は、処理の結果を示す制御信号を主制御部250に出力する。例えば、外部デバイス340が顔認識を行う場合、画像データから人物の顔を認識したときに、その旨を示す制御信号を主制御部250に出力する。
【0079】
主制御部250は、外部デバイス340から制御信号を入力したタイミングで、画像処理装置300の信号処理の種別を制御する。例えば、画像処理装置300が「1.通常用途」を行っている場合に、主制御部250は、外部デバイス340から人物の顔を認識した旨を示す制御信号を入力したときに、画像処理装置300に対して、解像度を上げて処理を行うように指示する。
【0080】
このように、本実施の形態によれば、画像処理部211〜214Aによる固定処理と、外部デバイス340による可変処理とを実行順序自在に組合せることができ、フレキシビリティの高い信号処理プラットフォームを構築することができる。例えば、外部デバイス340のプログラムを変更するだけで、顔認識を車輛認識に変更することができる。
【0081】
また、汎用プロセッサである外部デバイス340、バス330、画像処理部211〜214A、DMAコントローラ311、バス220A、及び一時記憶部231〜234を1つの半導体デバイス(LSI)上に集積することもできる。このように構成すれば、機器の部品点数及び実装面積を削減することができ、機器の小型化、及びコストダウンを実現することができる。
【0082】
(実施の形態4)
実施の形態4は、一時記憶部の構成例である。
【0083】
図8は、本発明の実施の形態4に係る画像処理装置の一時記憶部の構成を示す図である。図1と同一構成部分には同一符号を付す。図8は、図1の一時記憶部231〜233のうち、一時記憶部231を代表して示す。
【0084】
図8に示すように、一時記憶部231は、単体で区分画像データを格納することができるFIFO(First-In First-Out)251と、FIFO251を制御する制御回路252とから構成される。
【0085】
ここで、画像処理部211〜214(図1参照)は、処理対象の区分画像の位置関係を認識して処理を行う必要がある。例えば、カメラ信号処理では、一般に偶数ラインと奇数ラインでイメージセンサの色配列が異なるため、処理中のラインの偶奇を認識して処理を行う必要がある。
【0086】
通常は、一時記憶部の所定のアドレスに所定のデータを格納することで、処理中のラインの偶奇を認識する。例えば、実施の形態1の一時記憶部231であれば、アドレス0番地〜2559番地に偶数ライン、アドレス2560番地〜5119番地に奇数ラインを格納する。これを行うためには、バス220にはライトアドレスの信号線およびリードアドレスの信号線がそれぞれ必要となる。
【0087】
これに対し、本実施の形態では、制御回路252が、一時記憶部231のFIFO251に区分画像データを格納する際に、画像における当該区分画像の位置関係を示す情報を付加する。例えば、区分画像が1ラインの場合、格納されるラインに対するライン番号を付加する。
【0088】
図8の例では、制御回路252が、FIFO251に、区分画像1位置情報を格納した後に区分画像1データを格納し、続いて区分画像2位置情報を格納した後に区分画像2データを格納する。所定のデータが入力されると、FIFO251は最初に入力されたデータから順に出力する。
【0089】
これにより、画像処理部212は、一時記憶部231のFIFO251から順次区分画像データを読み出すだけで、該当区分画像の位置関係を認識することができる。
【0090】
このように、本実施の形態によれば、画像処理部211〜214側で、一時記憶部231〜233に対するアドレスを生成する必要がなくなるので、バス220から大量の信号線(アドレス線)を削除することができる。また、LSIに集積する場合には、大量の信号線を削除することにより、各回路(処理エンジン)を互いに近くに寄せて配置することができ、信号の伝送時間を短縮して、動作速度を上げることができる。
【0091】
なお、本実施の形態における区分画像の位置関係を示す情報は、画像のトップラインを示すもの(1ビットのフラグ情報)であれば良く、画像処理部211〜214は、画像のトップラインが分かれば、処理対象の区分画像の位置関係を計算することができる。
【0092】
(実施の形態5)
実施の形態5は、一時記憶部の他の構成例である。
【0093】
図9は、本発明の実施の形態5に係る画像処理装置の一時記憶部の構成を示す図である。図1と同一構成部分には同一符号を付す。図9は、図1の一時記憶部231〜233のうち、一時記憶部231を代表して示す。
【0094】
図9に示すように、一時記憶部231は、制御回路261と、2以上のSRAM263,265と、SRAM263,265に関連づけられたレジスタ262,264とから構成される。
【0095】
制御回路261は、バス220から入力した区分画像データを、SRAM263またはSRAM265に交互に格納するように制御する。また、制御回路261は、SRAM263に対して区分画像データの格納を開始する際にレジスタ262の値を書き換え、SRAM265に対して区分画像データの格納を開始する際にレジスタ264の値を書き換える。また、制御回路261は、一時記憶部231のSRAM263またはSRAM265から区分画像データを出力する際に、レジスタ262,264の値(画像における該当区分画像の位置関係を示す情報)を付加する。
【0096】
レジスタ262,264は、該当区分画像の位置関係を示す情報を保持する。SRAM263,265は、単体で区分画像データを格納することができるメモリである。
【0097】
以上の構成において、区分画像データは、2つのSRAM263,265に交互に書き込まれ、一方の書き込み中に他方から読み出す2−Bankの構成を採っている。
【0098】
上記実施の形態4で説明したように、画像処理部211〜214は、処理対象の区分画像の位置関係を認識して処理を行う必要がある。通常は、一時記憶部の所定のアドレスに所定のデータを格納することで、この位置関係を認識する。
【0099】
これに対し、本実施の形態では、制御回路261が、一時記憶部231のSRAM263またはSRAM265に区分画像データを格納する際に、関連づけられたレジスタ(262または264)に、画像における該当区分画像の位置関係を示す情報を格納する。例えば、区分画像が1ラインの場合、格納されるラインに対するライン番号を格納する。
【0100】
さらに、制御回路261は、一時記憶部231のSRAM263またはSRAM265から区分画像データを出力する際に、レジスタ262または264の値を、画像における該当区分画像の位置関係を示す情報として付加する。
【0101】
これにより、画像処理部212は、入力した区分画像データについて、該当区分画像の位置関係を認識することができる。
【0102】
このように、本実施の形態によれば、画像処理部211〜214側で、一時記憶部231〜233に対するアドレスを生成する必要がなくなるので、バス220から大量の信号線(アドレス線)を削除することができる。また、LSIに集積する場合には、大量の信号線を削除することにより、各回路(処理エンジン)を互いに近くに寄せて配置することができ、信号の伝送時間を短縮して、動作速度を上げることができる。
【0103】
なお、本実施の形態におけるレジスタ262,264の値(区分画像の位置関係を示す情報)は、画像のトップラインを示すもの(1ビットのフラグ情報)であれば良く、画像処理部211〜214は、画像のトップラインが分かれば、処理対象の区分画像の位置関係を計算することができる。
【0104】
なお、一時記憶部の構成として、実施の形態4と実施の形態5のどちらの構成を採るかは任意である。実施の形態5では、一時記憶部を1ポートSRAM×2個で構成できるため、FIFO(通常2ポートSRAMを用いて構成される)を用いる実施の形態4の構成に比べて、回路規模を削減することができる。
【0105】
(実施の形態6)
図10は、本発明の実施の形態6に係る画像処理装置の構成を示すブロック図である。なお、図10において、図1と同一構成部分には同一符号を付す。
【0106】
図10に示すように、画像処理装置400は、入力I/F201と、出力I/F202と、画像処理部211〜214Bと、バス220Bと、一時記憶部231B〜233Bと、を備える。
【0107】
画像処理部212B〜214Bは、図1の画像処理部212〜214と同様の機能に加え、一時記憶部231B〜233Bから区分画像データの格納が終了したことを示す制御信号が入力され、この制御信号が入力されたタイミングで動作を開始する。
【0108】
バス220Bは、画像処理部211〜214Bと一時記憶部231B〜233Bとを選択的に結合する。バス220Bは、図1のバス220に、一時記憶部231B〜233Bからの上記制御信号を画像処理部212B〜214Bへ供給するための信号線が付加された構成であり、基本的には図1のバス220を拡張した構成である。
【0109】
図11は、上記画像処理装置400の一時記憶部の構成を示す図である。図11において、図9及び図10と同一構成部分には同一符号を付す。図10の一時記憶部231B〜233Bのうち、一時記憶部231Bを代表して示す。
【0110】
図11に示すように、一時記憶部231Bは、制御回路261Bと、2以上のSRAM263,265と、SRAM263,265に関連づけられたレジスタ262,264とから構成される。
【0111】
制御回路261Bは、図9の制御回路261と同様に、SRAM263,265に区分画像データを格納する際に、画像における該当区分画像の位置関係を示す情報をレジスタ262,264に書き込む。さらに、制御回路261Bは、SRAM263,265への区分画像データの格納が終了したことを示す制御信号を生成し、画像処理部212B〜214Bに制御信号を出力する。また、制御回路261Bは、制御信号の出力と同時にBank切り替えを行い、新たな区分画像データを入力する。
【0112】
本実施の形態は、一時記憶部231B〜233BのBank切り替えのタイミング、及び、各画像処理部212B〜214Bの動作開始タイミングに特徴がある。
【0113】
図12は、本実施の形態と比較するため、実施の形態1の画像処理装置の処理タイミングを示す図である。図13は、本実施の形態の画像処理装置400の処理タイミングを示す図である。なお、図12及び図13は、いずれも、図2に示した「1.通常用途」における処理タイミングを示す。
【0114】
図12及び図13の例では、データが、画像処理部211(RAWデータ処理)→一時記憶部231B→画像処理部213B(YC分離)→一時記憶部233B→画像処理部214B(図形重畳)の順序で流れるように、バス220の接続が行われる。
【0115】
入力I/F201からのRAWデータは、16μs期間に入力され、データレートは160MHz/ピクセルである。
【0116】
画像処理部211(RAWデータ処理)、画像処理部213B(YC分離)及び画像処理部214B(図形重畳)は、それぞれ10μs、24μs、6μsの処理レイテンシを持つ。
【0117】
実施の形態1の画像処理装置において、Bank切り替えを一斉に行う場合、切り替えタイミングは、最も処理の時間のかかる画像処理部213Bの処理時間に律速される。このため、実施の形態1の画像処理装置は、処理性能を上げることができない。
【0118】
図12の例では、RAWデータが1ライン当たり16μs期間に入力されるにもかかわらず、実施の形態1の画像処理装置は、1ラインの画像データを出力するために40μs期間を必要とし、本来性能の40%しか出ていない。
【0119】
これに対し、本実施の形態の画像処理装置400では、各画像処理部212B〜214Bが、一時記憶部231B〜233Bから区分画像データの格納が終了したことを示す制御信号を入力したタイミングで動作することができるので、一時記憶部231B〜233B毎に個別にBank切り替えを行うことができ、本来の性能を引き出すことができる。
【0120】
図13の例では、画像処理部211は、入力した1ライン当たり16μs期間の区分画像データに対して10μsの処理レイテンシでRAWデータ処理し、処理完了したデータを順次一時記憶部231Bに書込む。また、画像処理部211は、1番目のラインの区分画像データを処理した後、続けて2番目のラインの区分画像データを処理する。
【0121】
そして、画像処理部211の処理開始から26μs後に、画像処理部213Bは、一時記憶部231Bからデータを順次読出し、24μsの処理レイテンシでYC分離を行い、処理完了したデータを順次一時記憶部233Bに書込む。また、画像処理部213Bは、1番目のラインの区分画像データを処理した後、続けて2番目のラインの区分画像データを処理する。
【0122】
そして、画像処理部213Bの処理開始から40μs後に、画像処理部214Bは、一時記憶部233Bからデータを順次読出し、6μsの処理レイテンシで図形重畳を行い、処理完了したデータを順次出力する。また、画像処理部214Bは、1番目のラインの区分画像データを処理した後、続けて2番目のラインの区分画像データを処理する。
【0123】
この結果、図13の例では、1ライン当たり16μs期間に入力されるRAWデータに対し、本実施の形態の画像処理装置400は、1ラインの画像データを16μs期間で出力することができる。
【0124】
このように、本実施の形態によれば、各画像処理部211〜214Bの処理時間が不均一であっても、Bank切り替えを一斉に行う場合と比較して装置全体の処理性能を向上させることができる。
【0125】
(実施の形態7)
図14は、本発明の実施の形態7に係る画像処理装置の一時記憶部の構成を示す図である。図14において、図11と同一構成部分には同一符号を付す。
【0126】
図14(a)では、一時記憶部231Bと同様の構成の一時記憶部231Cを、バスに対して接続している。一時記憶部231B,231Cは、例えばSRAMにより構成される。
【0127】
図14(b)に示すように、複数の一時記憶部231B,231Cを用いて、容量の大きな1つの一時記憶部231Dを構成できる。一時記憶部231DにSRAMを用いることにより実現可能である。
【0128】
例えば、水平1280画素1ラインの区分画像を格納する一時記憶部231B,231Cを2個用いて、水平2560画素1ラインに対する一時記憶部231Dを構成することができる。この場合、図14(b)において破線で示すレジスタを削減することができる。
【0129】
図15及び図16は、本発明の実施の形態7に係る画像処理装置の構成を示すブロック図である。なお、図15及び図16において、図1と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【0130】
図15及び図16は、ステレオカメラ入力処理を行う、本発明の実施の形態7に係る画像処理装置の構成を示すブロック図である。なお、図15及び図16において、図1と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【0131】
図15及び図16に示すように、画像処理装置500は、入力I/F201A,201B、出力I/F202、画像処理部511A,511B,512A,512B,213,214、バス220C、及び一時記憶部531A,531B,532A,532B,234を備えて構成される。
【0132】
画像処理部511A,511B,512A,512Bは、2ch対応用に、図1の画像処理部211,212を2つ設けたものである。また、一時記憶部531A,531B,532A,532Bについても同様に、図1の一時記憶部231,232を2つ設けたものである。バス220Cは、上記に対応したもので図1のバス220と同様の構成を有する。図15の一時記憶部531A,532Aは図14(a)の一時記憶部231Bに対応し、一時記憶部531B,532Bは図14(a)の一時記憶部231Cに対応する。
【0133】
画像処理部511A,511BはRAWデータ処理を行い、画像処理部512A,512B2はYC分離を行う。また、画像処理部213は距離計測を行い、画像処理部214は出力画面生成処理を行う。
【0134】
画像処理装置500は、2chのステレオカメラ入力(水平解像度:1280pix)を処理し、画面に物体の距離情報を付加して出力することができる。
【0135】
図16は、図15と同一の画像処理装置500であり、水平解像度が2倍(2560pix)の1chカメラ入力を処理する例を示す。この場合、複数の一時記憶部531A,531Bを用いて、容量の大きな1つの一時記憶部531Cを構成する。同様に、複数の一時記憶部532A,532Bを用いて、容量の大きな1つの一時記憶部532Cを構成する。図16の一時記憶部531C,532Cは図14(b)の一時記憶部231Dに対応する。
【0136】
このように、本実施の形態によれば、例えば1チャネルの高解像度処理系と、複数チャネルの低解像度処理系とを、同一のプラットフォームで構築することができる。これにより、種々のカメラ製品(例えばマルチビューカメラと高解像度カメラ)に対するプラットフォームを共通化することができる。
【0137】
(実施の形態8)
図17及び図18は、本発明の実施の形態8に係る画像処理装置の構成を示すブロック図である。なお、図17及び図18において、図1及び図15と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【0138】
図17及び図18に示すように、画像処理装置600は、入力I/F201、出力I/F202、画像処理部211〜214、バス220D、一時記憶部631A,631B,632A,632B,633A,633B、及び電力制御部610を備えて構成される。
【0139】
画像処理装置600は、例えば、ローパワーモードと通常モードなど2以上の動作モードを持つ。
【0140】
画像処理装置600は、ローパワーモードでは、画像の処理解像度を落とす、あるいは、画像処理部211〜214を削減する等により、消費電力を抑える。
【0141】
また、特定の要因によりローパワーモードから通常モードに移行した場合、画像処理装置600は、処理解像度や適用する画像処理部211〜214を増やす態様を採る。特定の要因とは、登録物の検出、不審物の検出など、インテリジェント監視関連がある。
【0142】
図17は、ローパワーモードの例である。ローパワーモードでは、画像処理装置600は、例えば、水平解像度を1280pixに落とすと共に、YC分離における色処理を行わない。この場合、画像処理部211はRAWデータ処理を行い、画像処理部212は輝度処理のみを行う。また、画像処理部213は色処理(スキップ)を行い、画像処理部214は出力画面生成と異常検出を行う。また、電力制御部610は、画像処理部213、一時記憶部631B、一時記憶部632B、一時記憶部633Bをオフにする。
【0143】
図18は、図17と同一の画像処理装置600における通常モードの例である。ローパワーモード時に、画像処理部214が不審物を検出すると、電力制御部610にその検出信号を送り、画像処理装置600は、通常モードに移行する。通常モードでは、画像処理装置600は、水平解像度を2560pixに増すとともに、YC分離における色処理を行う。また、電力制御部610は、画像処理部213、一時記憶部631B、一時記憶部632B、一時記憶部633Bをオンにする。
【0144】
このように、本実施の形態によれば、必要な画像は高性能で処理しつつ、通常時の消費電力は抑制することができる。監視カメラなど常時(24時間)稼動機器に対する電力抑制として非常に有効である。
【0145】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
【0146】
例えば、画像処理装置は、カメラ信号処理に限定されない。また、画像の処理単位(区分画像のサイズ)は「1ライン」に限定されず、複数ラインでもよく、画像を格子状に分割したタイル構成における1タイルでもよい。さらに、バスの構成は、セレクタ4個で構成などに限定されない。
【0147】
さらに、例えば図2に示すように、画像処理部211〜214の実行順序として、1−2−3−4、1−3−2−4、1−3−4としているが、これらは一例であり、このような構成に限定されるものではない。
【0148】
また、上記各実施の形態では画像処理装置という名称を用いたが、これは説明の便宜上であり、パケット伝送装置及び符号化パケット受信方法等であってもよいことは勿論である。
【0149】
さらに、上記画像処理装置を構成する各回路部、例えば各エンジン及び共有メモリの種類、その数及び接続方法などはどのようなものでもよい。
【産業上の利用可能性】
【0150】
本発明に係る画像処理装置は、カメラ分野及び、インテリジェント監視等のプログラマブルな画像処理システムに用いるに好適である。
【符号の説明】
【0151】
200,300,400,500,600 画像処理装置
201 入力I/F
202 出力I/F
211〜214 画像処理部
220 バス
221〜224 セレクタ
225 レジスタ
231〜233 一時記憶部
311 DMAコントローラ
320 外部メモリ
330 バス
340 外部デバイス
【技術分野】
【0001】
本発明は、画像データを処理する画像処理装置に関する。
【背景技術】
【0002】
画像処理装置は、カメラモジュールから取り込まれた映像信号の調整・品質向上や、動画像の圧縮・伸張等、処理負荷の大きい処理を、画像処理システム全体を制御するホストの処理負荷を軽減するために代行して行うもので、一般的には専用の処理エンジンを用いて構成される。
【0003】
図19は、従来の画像処理装置の構成を示すブロック図である。図19に示すように、画像処理装置10は、固定処理Aを行う画像処理部11、固定処理Bを行う画像処理部12、固定処理Cを行う画像処理部13、SDRAM(Synchronous Dynamic Random Access Memory)などからなる共有メモリ14、及びこれら各部を相互に接続するバス15を備える。
【0004】
画像処理部11には、CCD(Charge Coupled Device)カメラ又はCMOS(Complementary Metal Oxide Semiconductor)カメラを内蔵するカメラモジュール16が接続され、撮像された画像データが映像信号として入力される。画像処理部11は、固定処理A(例えばRAWデータ処理(黒レベル補正、ゲイン調整、ホワイトバランス補正、ガンマ補正))を行う処理エンジンである。画像処理部12は、固定処理B(例えばYC(輝度・色差)分離)を行う処理エンジンである。画像処理部13は、固定処理C(例えば出力処理)を行う処理エンジンである。
【0005】
共有メモリ14は、バス15と接続して、複数の処理エンジン(画像処理部11〜13)間を転送するデータを一時的に格納する。また、共有メモリ14は、図示しないSDRAMコントローラにより制御される。SDRAMコントローラは、各処理エンジンとの間でアドレス、データ、制御信号をやり取りすることで、SDRAMへのアクセス制御を行う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2002−344710号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記従来の画像処理装置は、複数の処理エンジン間のデータ転送に共有メモリを用いているため、メモリIO(In-Out)がボトルネックとなり、処理エンジンの性能が十分であっても、装置全体としては処理が破綻するおそれがある。図19の場合、共有メモリ14とバス15間がボトルネックとなる。
【0008】
例えば、カメラ分野においては、近年の半導体技術の進歩によってCCDやCMOSカメラの画素数および動作速度が著しく向上しており、カメラモジュールの出力画像を処理する装置には、高い解像度・フレームレートを取り扱える処理性能が求められている。今後、高解像度・高フレームレート化等の高性能化がさらに進展すると、処理エンジンが取り扱うデータのスループットが増大し、メモリIOがボトルネックとなって処理が破綻するおそれがある。
【0009】
本発明は、上記に鑑みてなされたものであり、メモリIOのボトルネックを解消し、高性能かつプログラマブルな画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の画像処理装置は、複数の区分画像データからなる画像データに対して区分画像単位で互いに異なる画像処理を実行する複数の画像処理手段と、前記画像処理手段で処理された前記区分画像データを一時的に記憶する複数の第1の記憶手段と、前記複数の画像処理手段と前記複数の第1の記憶手段とを用いて、前記区分画像単位の処理を並列に繰り返し行うパイプライン処理を実行する画像制御手段と、を有する画像処理装置であって、前記パイプライン処理途中の画像データを前記複数の第1の記憶手段から前記区分画像単位で読み出して第2の記憶手段に書き込む記憶手段制御手段と、前記第2の記憶手段から読み出した画像データに対して特定の画像認識処理を実行する画像認識処理手段と、をさらに備え、前記画像制御手段は、前記パイプライン処理において、前記画像認識処理手段が特定の画像を認識した後に入力した画像データに対して、前記画像認識の前に入力した画像データに対して実行していた画像処理とは異なる画像処理を実行するように前記画像処理手段を制御する、構成を採る。
【発明の効果】
【0011】
本発明によれば、画像処理手段が1ラインを単位として入出力を行う性質と、選択的に結合可能なバスとを組み合わせることにより、不要な処理のスキップや処理順序の入れ替えが可能となるため、複数種のカメラ製品に適用可能な共通プラットフォームとして利用することができる。また、高解像度の画像処理を複数の外付けメモリを用いることなく実行できるため、高性能と低価格を両立させることができる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施の形態1に係る画像処理装置の構成を示すブロック図
【図2】本発明の実施の形態1に係る画像処理装置のバスの切り替え制御シーケンスを示す図
【図3】本発明の実施の形態1に係る画像処理装置の処理タイミングを示す図
【図4】本発明の実施の形態1に係る画像処理装置のバスのデータフローを示す図
【図5】本発明の実施の形態2に係る画像処理装置の構成を示すブロック図
【図6】本発明の実施の形態2に係る画像処理装置のバスのデータフローを示す図
【図7】本発明の実施の形態3に係る画像処理装置の構成を示すブロック図
【図8】本発明の実施の形態4に係る画像処理装置の一時記憶部の構成を示す図
【図9】本発明の実施の形態5に係る画像処理装置の一時記憶部の構成を示す図
【図10】本発明の実施の形態6に係る画像処理装置の構成を示すブロック図
【図11】本発明の実施の形態6に係る画像処理装置の一時記憶部の構成を示す図
【図12】本発明の実施の形態1に係る画像処理装置の処理タイミングを示す図
【図13】本発明の実施の形態6に係る画像処理装置の処理タイミングを示す図
【図14】本発明の実施の形態7に係る画像処理装置の一時記憶部の構成を示す図
【図15】本発明の実施の形態7に係る画像処理装置の構成を示すブロック図
【図16】本発明の実施の形態7に係る画像処理装置の構成を示すブロック図
【図17】本発明の実施の形態8に係る画像処理装置の構成を示すブロック図
【図18】本発明の実施の形態8に係る画像処理装置の構成を示すブロック図
【図19】従来の画像処理装置の構成を示すブロック図
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【0014】
(実施の形態1)
図1は、本発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。本実施の形態は、ディジタルカメラの信号処理を行う装置に適用した例である。
【0015】
図1に示すように、画像処理装置200は、入力インターフェース(I/F)201と、出力I/F202と、画像処理部211〜214と、バス220と、一時記憶部231〜233と、から主に構成される。また、画像処理装置200は、外部の主制御部250から入力した制御信号に基づいて所定の信号処理を行う。
【0016】
画像処理装置200は、ディジタルカメラの信号処理を行う装置であり、イメージセンサ(カメラ)の出力信号(ベイヤー配列RAWデータ)を入力として、YUV信号を生成し、出力する。イメージセンサの解像度は、例えば、水平2560ピクセル×垂直1920ピクセル(約4.9Mピクセル)である。
【0017】
入力I/F201は、RAWデータをこれに付随する入力クロック及び水平・垂直同期信号を用いて画像処理装置200内部に取り込む。
【0018】
出力I/F202は、YUV信号に出力クロック及び水平・垂直同期信号を付加して画像処理装置200外部に出力する。
【0019】
画像処理部211は、RAWデータ処理(黒レベル補正、ゲイン調整、ホワイトバランス補正、ガンマ補正)を行う。
【0020】
画像処理部212は、係数可変の2次元ディジタルフィルタである。画像処理部212は、水平4ライン分のデータバッファを内蔵し、最大100タップ(水平20×垂直5)のフィルタ演算を実行する。
【0021】
画像処理部213は、YC(輝度・色差)分離を行う。画像処理部213は、水平4ライン分のデータバッファを内蔵し、このバッファ内のデータで補間処理を行いながら輝度・色差のデータ(YUV信号)を生成する。
【0022】
画像処理部214は、図形重畳(画像に矩形や矩形枠を重ね合わせる処理)を行う。画像に矩形や矩形枠を重畳させることにより、撮影者に対して注意を促すことや、撮影対象のプライバシーを保護することができる。
【0023】
バス220は、画像処理部211〜214と一時記憶部231〜233とを選択的に結合する。バス220は、2入力1出力セレクタ221〜224(セレクタS1〜S4)と、セレクタ221〜224を切り替え制御するレジスタ225とから構成される。
【0024】
セレクタ221〜224は、2入力接続バスをいずれか1つに切り替える。レジスタ225は、画像処理装置200の外部の主制御部250からの指示に従って、セレクタ221〜224を用途毎に切り替えるための制御信号をセレクタ221〜224に出力する。
【0025】
一時記憶部231〜233は、各々水平2ライン分のデータ(5120ピクセル相当)を格納することができる2ポートSRAMである。この2ポートSRAMは、例えば1リード・1ライトで、16ビット×5120ワードを有する。
【0026】
このように、バス220を介して画像処理部211〜214と、リードアドレス(図示せず)、ライトアドレス(図示せず)、リードデータ、ライトデータの各信号線が結合される。
【0027】
図2は、本装置が用いられる3種類の用途毎に、処理内容およびバス220のセレクタ制御方法を示す図である。この図の内容をコード化した情報は、画像処理装置200の外部の主制御部250の内部メモリに格納される。図2に示すように、主制御部250に格納される情報は、「1.通常用途」、「2.暗環境下での監視」、「3.医療用途」毎に、画像処理部212(2次元ディジタルフィルタ)のフィルタ処理(フィルタ係数)およびバス220のセレクタ221〜224の選択方向である。
【0028】
図1のレジスタ225は、主制御部250から設定された値に従って制御信号(例えば、1ビットの情報)をセレクタ221〜224(セレクタS1〜S4)に出力することにより、セレクタ221〜224(セレクタS1〜S4)を切り替え制御する。セレクタ221〜224は、2入力「a」,「b」(図4参照)のうち、この図の接続バスのいずれか(「a」または「b」)を選択する。図1では、セレクタ221〜224の上側入力が「a」、下側入力が「b」である。
【0029】
「1.通常用途」では、画像処理部211におけるRAWデータ処理→画像処理部213におけるYC分離→画像処理部214における図形重畳、の順序で処理が行われる。また、画像処理部212(2次元ディジタルフィルタ)のフィルタ処理はスキップする。「1.通常用途」の場合、セレクタ223(セレクタS3)は「a」を選択し、セレクタ224(セレクタS4)は「b」を選択する。なお、画像処理部212(2次元ディジタルフィルタ)はスキップするので、セレクタ221(セレクタS1)及びセレクタ222(セレクタS2)の選択方向は任意である。
【0030】
「2.暗環境下での監視」では、画像処理部211におけるRAWデータ処理→画像処理部212におけるフィルタ処理→画像処理部213におけるYC分離→画像処理部214における図形重畳、の順序で処理が行われる。また、画像処理部212(2次元ディジタルフィルタ)のフィルタ処理は、ノイズ除去(高周波数成分除去)である。「2.暗環境下での監視」の場合、セレクタ221(セレクタS1)は「a」を、セレクタ222(セレクタS2)は「b」を、セレクタ223(セレクタS3)は「b」を、セレクタ224(セレクタS4)は「a」を、それぞれ選択する。
【0031】
「3.医療用途」では、画像処理部211におけるRAWデータ処理→画像処理部213におけるYC分離→画像処理部212におけるフィルタ処理→画像処理部214における図形重畳、の順序で処理が行われる。また、画像処理部212(2次元ディジタルフィルタ)のフィルタ処理は、毛細血管強調(赤色高周波成分強調)である。「3.医療用途」の場合、セレクタ221(セレクタS1)は「b」を、セレクタ222(セレクタS2)は「a」を、セレクタ223(セレクタS3)は「a」を、セレクタ224(セレクタS4)は「b」を、それぞれ選択する。
【0032】
以下、上述のように構成された画像処理装置200の動作を説明する。
【0033】
〔ライン単位処理〕
まず、ライン単位処理について説明する。
【0034】
画像処理部211〜214は、いずれもその処理の性質から、画像中の1ラインを単位としてデータの入力もしくは出力を行う。例えば、画像処理部212(2次元ディジタルフィルタ)は、バス220から新規の1ライン分の画像データを受けると、内蔵データバッファに保持された4ライン分の画像データと新規1ライン分の画像データとの合計5ライン分の画像データのデータに対し最大100タップのフィルタ演算を実行して1ライン分の画像データの出力を行うとともに、内蔵データバッファの最古の1ライン分の画像データを新規1ライン分の画像データに置換する。画像処理部212は、この1ライン毎の処理を繰り返すことにより、1画面全体を処理する。
【0035】
〔動作タイミング〕
次に、画像処理装置200の動作タイミングについて説明する。図3は、図2に示した「1.通常用途」における、画像処理装置200の処理タイミングを示す図である。
【0036】
詳細には、画像入力のタイミング、画像処理部211(RAWデータ処理)の処理レイテンシ、画像処理部211による一時記憶部231に対する書込み動作、画像処理部213(YC分離)による一時記憶部231からの読出し動作、画像処理部213の処理レイテンシ、画像処理部213による一時記憶部233に対する書込み動作、画像処理部214(図形重畳)による一時記憶部233からの読出し動作、画像処理部214の処理レイテンシ、及び画像出力のタイミングを示す。なお、図3中、一時記憶部231,233の縦軸はアドレスを示す。
【0037】
図3の例では、データが、画像処理部211(RAWデータ処理)→一時記憶部231→画像処理部213(YC分離)→一時記憶部233→画像処理部214(図形重畳)の順序で流れるように、バス220の接続が行われる。
【0038】
入力I/F201からのRAWデータは、1ラインあたり40μs周期中の16μs期間に入力され、データレートは160MHz/ピクセルである。
【0039】
画像処理部211(RAWデータ処理)、画像処理部213(YC分離)及び画像処理部214(図形重畳)は、上記水平同期信号により40μsで同期して動作し、それぞれ10μs、24μs、6μsの処理レイテンシを持つ。
【0040】
各画像処理部211,213,214は、一時記憶部231,233に対してそれぞれリード・ライトのアドレスを生成し、40μs周期でライト領域とリード領域が交互に入れ替わる構成となっている。
【0041】
したがって、図3の例では、画像処理部211が、入力した画像データに対して10μsの処理レイテンシでRAWデータ処理し、処理完了したデータを順次一時記憶部231に書込む。そして、画像処理部211の処理開始から40μs後に、画像処理部213が、一時記憶部231からデータを順次読出し、24μsの処理レイテンシでYC分離を行い、処理完了したデータを順次一時記憶部233に書込む。そして、画像処理部213の処理開始から40μs後に、画像処理部214が、一時記憶部233からデータを順次読出し、6μsの処理レイテンシで図形重畳を行い、処理完了したデータを順次出力する。
【0042】
このように、画像処理装置200は、画像処理部211〜214が、ライン単位のパイプライン処理として並列動作する構成となる。
【0043】
〔バス切替方式〕
次に、バス切替方式について説明する。
【0044】
画像処理装置200は、図2に示す3種類の用途に用いられ、用途毎に画像処理部211〜214の実行有無や順序を切り替える。
【0045】
ここで、画像処理部212(2次元ディジタルフィルタ)の処理内容は、用途毎に異なる。例えば、画像処理装置200を「2.暗環境下での監視」に用いる場合、イメージセンサへの入力光量が減少しノイズが増大するため、画像処理部212は、RAWデータ処理後の高周波成分を除去し、監視者が見やすいよう画質改善を行う。
【0046】
また、画像処理装置200を「3.医療用途」に用いる場合、医療者が毛細血管を視認しやすいよう赤色高周波成分を強調する必要があるため、画像処理部212は、YC分離後にこの赤色高周波成分強調処理を行う。
【0047】
これらの特殊処理は、主制御部250が画像処理部212(2次元ディジタルフィルタ)のフィルタ係数を変更することにより実現される。
【0048】
図4は、画像処理装置200のバス220のデータフローを示す図である。図4中の太実線は、セレクタ221〜224(セレクタS1〜S4)の選択によってデータが流れるバスを示し、同図破線は、セレクタ221〜224の非選択によってデータが流れないバスを示す。
【0049】
図4(a)は、「1.通常用途」における処理順序(画像処理部211(RAWデータ処理)→画像処理部213(YC分離)→画像処理部214(図形重畳))のデータフローである。
【0050】
図4(b)は、「2.暗環境下での監視」における処理順序(画像処理部211(RAWデータ処理)→画像処理部212(2次元ディジタルフィルタ)→画像処理部213(YC分離)→画像処理部214(図形重畳))のデータフローである。
【0051】
図4(c)は、「3.医療用途」における処理順序(画像処理部211(RAWデータ処理)→画像処理部213(YC分離)→画像処理部212(2次元ディジタルフィルタ)→画像処理部214(図形重畳))のデータフローである。
【0052】
図4に示すように、画像処理装置200は、バス220に含まれる4つのセレクタ221〜224(セレクタS1〜S4)を、図2に示すように設定することにより、画像処理部211〜214と一時記憶部231〜233とを選択的に結合する。これにより、画像処理部211〜214の実行有無や順序が変更される。
【0053】
また、本実施の形態によれば、共有メモリを用いず、ライン単位のメモリを用いているため、メモリIOボトルネックが解消されると共に、従来の装置に対してコストを抑えることができる。
【0054】
例えば、図2の「1.通常用途」に相当する処理を従来の装置で行う場合、共有メモリに求められる最大スループットは以下の通りである。
データレート:R=160 [MHz]
入出力系統数:N=6(リード・ライト各3系統)
1ピクセル当たりデータ量:B=2[Byte]
スループット:S=R×N×B=1920[MByte/s]
【0055】
従来の装置は、SDRAMなどからなる共有メモリを用いている。現時点で入手し得るDDR SDRAMのスループットは最大1.3[GByte/s]程度であるため、1個のSDRAMではメモリIOがボトルネックとなり、装置を構成できない。従来の装置を構成するには2個のSDRAMが必要となる。このように、従来の装置は、記憶容量としては不必要であるにもかかわらず、スループットを確保するために複数個の外部メモリを用意しなければならず、高価なものとなる。
【0056】
これに対して、本実施の形態の装置は、640[MByte/s]の小容量SRAMを3個用意すれば良いので、1つの半導体デバイス(LSI)上に集積することが可能となり、安価に装置を構成することができる。
【0057】
以上詳細に説明したように、本実施の形態によれば、外部制御に従って、レジスタ225がセレクタ221〜224を切り替え制御することにより、画像処理部211〜214と一時記憶部231〜233との結合形態を変化させて画像処理部211〜214の実行順序を規定する。これにより、不要な処理のスキップや処理順序の入れ替えが可能となり、メモリIOボトルネックを解消し、高性能かつプログラマブルな画像処理装置を実現することができる。例えば、種々のカメラ製品に対するプラットフォームを共通化することができる。
【0058】
また、本実施の形態によれば、不要処理としてスキップさせた画像処理部211〜214、及び未使用の一時記憶部231〜233に対するクロック供給、もしくは電源供給を停止させることもできる。このようにすれば、消費電力を削減することができ、バッテリ駆動の機器では、連続動作時間の長時間化を図ることができる。
【0059】
(実施の形態2)
実施の形態2は、実施の形態1で説明した画像処理装置に外部メモリを接続する例である。
【0060】
図5は、本発明の実施の形態2に係る画像処理装置の構成を示すブロック図である。本実施の形態の説明に当たり、図1と同一の構成部分には同一符号を付して重複箇所の説明を省略する。
【0061】
図5に示すように、画像処理装置300は、画像処理装置本体310と、外部メモリ320とからなり、画像処理装置本体310は、入力I/F201と、出力I/F202と、画像処理部211〜214Aと、DMAコントローラ311と、バス220Aと、一時記憶部231〜234と、を備える。
【0062】
画像処理装置300は、図1の画像処理装置200と同様に、ディジタルカメラの信号処理を行う装置であり、イメージセンサ(カメラ)の出力信号(ベイヤー配列RAWデータ)を入力として、YUV信号を生成し、出力する。
【0063】
画像処理部214Aは、図1の画像処理部214と同様の機能に加え、一時記憶部233及び一時記憶部234から、それぞれ同位置の1ライン分の画像データを読み出し、2つの画像データの差分から動体の有無(静止画か否か)を判別する。
【0064】
バス220Aは、画像処理部211〜214A、DMAコントローラ311と一時記憶部231〜234とを選択的に結合する。バス220Aは、図1のバス220に、DMAコントローラ311接続用のバス及びセレクタが付加された構成であり、基本的には図1のバス220を拡張した構成である。
【0065】
一時記憶部234は、一時記憶部231〜233と同様に、各々水平2ライン分のデータ(5120ピクセル相当)が格納可能な2ポートSRAMである。この2ポートSRAMは、例えば1リード・1ライトで、16ビット×5120ワードを有する。
【0066】
DMAコントローラ311は、1ライン単位でバス220Aと外部メモリ320との間のデータ転送を行う。DMAコントローラ311は、一時記憶部233から1ライン分の画像データを読み出して外部メモリ320に書き込む。また、DMAコントローラ311は、外部メモリ320から旧フレームの同位置の1ライン分の画像データを読み出して一時記憶部234に書き込む。
【0067】
外部メモリ320は、一時記憶部231〜234に比較して大容量のメモリ(例えばSDRAM)である。外部メモリ320は、過去の画像データをフレーム単位で保持するために設けられる。ここでは、外部メモリ320は、新旧2フレーム分の画像データを蓄積する。
【0068】
以下、上述のように構成された画像処理装置300の動作を、図6を用いて説明する。図6は、画像処理装置300のバス220Aのデータフローを示す図である。なお、「1.通常用途」、「2.暗環境下での監視」及び「3.医療用途」のいずれにおいても、画像処理部211に画像データが入力されてから、一時記憶部233に画像データが書き込まれるまでの動作は、上記実施の形態1における画像処理装置200と同様であるので、説明を省略する。
【0069】
一時記憶部233に画像データが書き込まれると、DMAコントローラ311は、一時記憶部233から1ライン分の画像データを読み出して外部メモリ320に書き込む。また同時に、この1ライン分の画像データが画像処理部214Aに入力される。
【0070】
次に、DMAコントローラ311は、外部メモリ320から旧フレームの1ライン分の画像データを読み出して一時記憶部234に書き込む。
【0071】
次に、画像処理部214Aは、一時記憶部234から旧フレームの1ライン分の画像データを読み出す。この旧フレームの1ライン分の画像データ、および上記(新フレームの)1ライン分の画像データは、元のフレーム上で同位置となるようにDMA制御が行われる。画像処理部214Aは、同位置の1ライン分の新旧2つの画像データの差分から動体の有無を判別する。
【0072】
このように、本実施の形態によれば、画像処理装置300が、過去の画像データをフレーム単位で保持する外部メモリ320、及び、バス220Aと外部メモリ320との間のデータ転送を行うDMAコントローラ311を有することにより、実施の形態1の機能に加えて、動体の有無の判別等、過去のフレームを使用する画像処理を行うことができる。
【0073】
また、本実施の形態によれば、大容量の外部メモリ320を外付け部品としており、過去のフレームを参照する信号処理が不要な場合、外部メモリの実装を省略することができる。これにより、高性能品・廉価品の双方に適応できるプラットフォームを構築することができる。
【0074】
(実施の形態3)
実施の形態3は、実施の形態2で説明した画像処理装置に外部デバイスを接続する例である。
【0075】
図7は、本発明の実施の形態3に係る画像処理装置の構成を示すブロック図である。本実施の形態の説明に当たり、図5と同一の構成部分には同一符号を付して重複箇所の説明を省略する。
【0076】
図7に示すように、画像処理装置300は、画像処理装置本体310と、外部メモリ320と、バス330と、外部デバイス340とからなり、画像処理装置本体310は、入力I/F201と、出力I/F202と、画像処理部211〜214Aと、DMAコントローラ311と、バス220Aと、一時記憶部231〜234と、を備える。
【0077】
DMAコントローラ311は、バス330を介して、外部メモリ320への画像データの書き込み、外部メモリ320からの画像データの読み出し、を行う。
【0078】
外部デバイス340は、例えば汎用プロセッサ、FPGA(Field Programmable Gate Array)である。外部デバイス340は、外部メモリ320から画像データを読み出し、所定の処理、例えば顔認識のような静止画オブジェクト認識を行う。そして、外部デバイス340は、処理の結果を示す制御信号を主制御部250に出力する。例えば、外部デバイス340が顔認識を行う場合、画像データから人物の顔を認識したときに、その旨を示す制御信号を主制御部250に出力する。
【0079】
主制御部250は、外部デバイス340から制御信号を入力したタイミングで、画像処理装置300の信号処理の種別を制御する。例えば、画像処理装置300が「1.通常用途」を行っている場合に、主制御部250は、外部デバイス340から人物の顔を認識した旨を示す制御信号を入力したときに、画像処理装置300に対して、解像度を上げて処理を行うように指示する。
【0080】
このように、本実施の形態によれば、画像処理部211〜214Aによる固定処理と、外部デバイス340による可変処理とを実行順序自在に組合せることができ、フレキシビリティの高い信号処理プラットフォームを構築することができる。例えば、外部デバイス340のプログラムを変更するだけで、顔認識を車輛認識に変更することができる。
【0081】
また、汎用プロセッサである外部デバイス340、バス330、画像処理部211〜214A、DMAコントローラ311、バス220A、及び一時記憶部231〜234を1つの半導体デバイス(LSI)上に集積することもできる。このように構成すれば、機器の部品点数及び実装面積を削減することができ、機器の小型化、及びコストダウンを実現することができる。
【0082】
(実施の形態4)
実施の形態4は、一時記憶部の構成例である。
【0083】
図8は、本発明の実施の形態4に係る画像処理装置の一時記憶部の構成を示す図である。図1と同一構成部分には同一符号を付す。図8は、図1の一時記憶部231〜233のうち、一時記憶部231を代表して示す。
【0084】
図8に示すように、一時記憶部231は、単体で区分画像データを格納することができるFIFO(First-In First-Out)251と、FIFO251を制御する制御回路252とから構成される。
【0085】
ここで、画像処理部211〜214(図1参照)は、処理対象の区分画像の位置関係を認識して処理を行う必要がある。例えば、カメラ信号処理では、一般に偶数ラインと奇数ラインでイメージセンサの色配列が異なるため、処理中のラインの偶奇を認識して処理を行う必要がある。
【0086】
通常は、一時記憶部の所定のアドレスに所定のデータを格納することで、処理中のラインの偶奇を認識する。例えば、実施の形態1の一時記憶部231であれば、アドレス0番地〜2559番地に偶数ライン、アドレス2560番地〜5119番地に奇数ラインを格納する。これを行うためには、バス220にはライトアドレスの信号線およびリードアドレスの信号線がそれぞれ必要となる。
【0087】
これに対し、本実施の形態では、制御回路252が、一時記憶部231のFIFO251に区分画像データを格納する際に、画像における当該区分画像の位置関係を示す情報を付加する。例えば、区分画像が1ラインの場合、格納されるラインに対するライン番号を付加する。
【0088】
図8の例では、制御回路252が、FIFO251に、区分画像1位置情報を格納した後に区分画像1データを格納し、続いて区分画像2位置情報を格納した後に区分画像2データを格納する。所定のデータが入力されると、FIFO251は最初に入力されたデータから順に出力する。
【0089】
これにより、画像処理部212は、一時記憶部231のFIFO251から順次区分画像データを読み出すだけで、該当区分画像の位置関係を認識することができる。
【0090】
このように、本実施の形態によれば、画像処理部211〜214側で、一時記憶部231〜233に対するアドレスを生成する必要がなくなるので、バス220から大量の信号線(アドレス線)を削除することができる。また、LSIに集積する場合には、大量の信号線を削除することにより、各回路(処理エンジン)を互いに近くに寄せて配置することができ、信号の伝送時間を短縮して、動作速度を上げることができる。
【0091】
なお、本実施の形態における区分画像の位置関係を示す情報は、画像のトップラインを示すもの(1ビットのフラグ情報)であれば良く、画像処理部211〜214は、画像のトップラインが分かれば、処理対象の区分画像の位置関係を計算することができる。
【0092】
(実施の形態5)
実施の形態5は、一時記憶部の他の構成例である。
【0093】
図9は、本発明の実施の形態5に係る画像処理装置の一時記憶部の構成を示す図である。図1と同一構成部分には同一符号を付す。図9は、図1の一時記憶部231〜233のうち、一時記憶部231を代表して示す。
【0094】
図9に示すように、一時記憶部231は、制御回路261と、2以上のSRAM263,265と、SRAM263,265に関連づけられたレジスタ262,264とから構成される。
【0095】
制御回路261は、バス220から入力した区分画像データを、SRAM263またはSRAM265に交互に格納するように制御する。また、制御回路261は、SRAM263に対して区分画像データの格納を開始する際にレジスタ262の値を書き換え、SRAM265に対して区分画像データの格納を開始する際にレジスタ264の値を書き換える。また、制御回路261は、一時記憶部231のSRAM263またはSRAM265から区分画像データを出力する際に、レジスタ262,264の値(画像における該当区分画像の位置関係を示す情報)を付加する。
【0096】
レジスタ262,264は、該当区分画像の位置関係を示す情報を保持する。SRAM263,265は、単体で区分画像データを格納することができるメモリである。
【0097】
以上の構成において、区分画像データは、2つのSRAM263,265に交互に書き込まれ、一方の書き込み中に他方から読み出す2−Bankの構成を採っている。
【0098】
上記実施の形態4で説明したように、画像処理部211〜214は、処理対象の区分画像の位置関係を認識して処理を行う必要がある。通常は、一時記憶部の所定のアドレスに所定のデータを格納することで、この位置関係を認識する。
【0099】
これに対し、本実施の形態では、制御回路261が、一時記憶部231のSRAM263またはSRAM265に区分画像データを格納する際に、関連づけられたレジスタ(262または264)に、画像における該当区分画像の位置関係を示す情報を格納する。例えば、区分画像が1ラインの場合、格納されるラインに対するライン番号を格納する。
【0100】
さらに、制御回路261は、一時記憶部231のSRAM263またはSRAM265から区分画像データを出力する際に、レジスタ262または264の値を、画像における該当区分画像の位置関係を示す情報として付加する。
【0101】
これにより、画像処理部212は、入力した区分画像データについて、該当区分画像の位置関係を認識することができる。
【0102】
このように、本実施の形態によれば、画像処理部211〜214側で、一時記憶部231〜233に対するアドレスを生成する必要がなくなるので、バス220から大量の信号線(アドレス線)を削除することができる。また、LSIに集積する場合には、大量の信号線を削除することにより、各回路(処理エンジン)を互いに近くに寄せて配置することができ、信号の伝送時間を短縮して、動作速度を上げることができる。
【0103】
なお、本実施の形態におけるレジスタ262,264の値(区分画像の位置関係を示す情報)は、画像のトップラインを示すもの(1ビットのフラグ情報)であれば良く、画像処理部211〜214は、画像のトップラインが分かれば、処理対象の区分画像の位置関係を計算することができる。
【0104】
なお、一時記憶部の構成として、実施の形態4と実施の形態5のどちらの構成を採るかは任意である。実施の形態5では、一時記憶部を1ポートSRAM×2個で構成できるため、FIFO(通常2ポートSRAMを用いて構成される)を用いる実施の形態4の構成に比べて、回路規模を削減することができる。
【0105】
(実施の形態6)
図10は、本発明の実施の形態6に係る画像処理装置の構成を示すブロック図である。なお、図10において、図1と同一構成部分には同一符号を付す。
【0106】
図10に示すように、画像処理装置400は、入力I/F201と、出力I/F202と、画像処理部211〜214Bと、バス220Bと、一時記憶部231B〜233Bと、を備える。
【0107】
画像処理部212B〜214Bは、図1の画像処理部212〜214と同様の機能に加え、一時記憶部231B〜233Bから区分画像データの格納が終了したことを示す制御信号が入力され、この制御信号が入力されたタイミングで動作を開始する。
【0108】
バス220Bは、画像処理部211〜214Bと一時記憶部231B〜233Bとを選択的に結合する。バス220Bは、図1のバス220に、一時記憶部231B〜233Bからの上記制御信号を画像処理部212B〜214Bへ供給するための信号線が付加された構成であり、基本的には図1のバス220を拡張した構成である。
【0109】
図11は、上記画像処理装置400の一時記憶部の構成を示す図である。図11において、図9及び図10と同一構成部分には同一符号を付す。図10の一時記憶部231B〜233Bのうち、一時記憶部231Bを代表して示す。
【0110】
図11に示すように、一時記憶部231Bは、制御回路261Bと、2以上のSRAM263,265と、SRAM263,265に関連づけられたレジスタ262,264とから構成される。
【0111】
制御回路261Bは、図9の制御回路261と同様に、SRAM263,265に区分画像データを格納する際に、画像における該当区分画像の位置関係を示す情報をレジスタ262,264に書き込む。さらに、制御回路261Bは、SRAM263,265への区分画像データの格納が終了したことを示す制御信号を生成し、画像処理部212B〜214Bに制御信号を出力する。また、制御回路261Bは、制御信号の出力と同時にBank切り替えを行い、新たな区分画像データを入力する。
【0112】
本実施の形態は、一時記憶部231B〜233BのBank切り替えのタイミング、及び、各画像処理部212B〜214Bの動作開始タイミングに特徴がある。
【0113】
図12は、本実施の形態と比較するため、実施の形態1の画像処理装置の処理タイミングを示す図である。図13は、本実施の形態の画像処理装置400の処理タイミングを示す図である。なお、図12及び図13は、いずれも、図2に示した「1.通常用途」における処理タイミングを示す。
【0114】
図12及び図13の例では、データが、画像処理部211(RAWデータ処理)→一時記憶部231B→画像処理部213B(YC分離)→一時記憶部233B→画像処理部214B(図形重畳)の順序で流れるように、バス220の接続が行われる。
【0115】
入力I/F201からのRAWデータは、16μs期間に入力され、データレートは160MHz/ピクセルである。
【0116】
画像処理部211(RAWデータ処理)、画像処理部213B(YC分離)及び画像処理部214B(図形重畳)は、それぞれ10μs、24μs、6μsの処理レイテンシを持つ。
【0117】
実施の形態1の画像処理装置において、Bank切り替えを一斉に行う場合、切り替えタイミングは、最も処理の時間のかかる画像処理部213Bの処理時間に律速される。このため、実施の形態1の画像処理装置は、処理性能を上げることができない。
【0118】
図12の例では、RAWデータが1ライン当たり16μs期間に入力されるにもかかわらず、実施の形態1の画像処理装置は、1ラインの画像データを出力するために40μs期間を必要とし、本来性能の40%しか出ていない。
【0119】
これに対し、本実施の形態の画像処理装置400では、各画像処理部212B〜214Bが、一時記憶部231B〜233Bから区分画像データの格納が終了したことを示す制御信号を入力したタイミングで動作することができるので、一時記憶部231B〜233B毎に個別にBank切り替えを行うことができ、本来の性能を引き出すことができる。
【0120】
図13の例では、画像処理部211は、入力した1ライン当たり16μs期間の区分画像データに対して10μsの処理レイテンシでRAWデータ処理し、処理完了したデータを順次一時記憶部231Bに書込む。また、画像処理部211は、1番目のラインの区分画像データを処理した後、続けて2番目のラインの区分画像データを処理する。
【0121】
そして、画像処理部211の処理開始から26μs後に、画像処理部213Bは、一時記憶部231Bからデータを順次読出し、24μsの処理レイテンシでYC分離を行い、処理完了したデータを順次一時記憶部233Bに書込む。また、画像処理部213Bは、1番目のラインの区分画像データを処理した後、続けて2番目のラインの区分画像データを処理する。
【0122】
そして、画像処理部213Bの処理開始から40μs後に、画像処理部214Bは、一時記憶部233Bからデータを順次読出し、6μsの処理レイテンシで図形重畳を行い、処理完了したデータを順次出力する。また、画像処理部214Bは、1番目のラインの区分画像データを処理した後、続けて2番目のラインの区分画像データを処理する。
【0123】
この結果、図13の例では、1ライン当たり16μs期間に入力されるRAWデータに対し、本実施の形態の画像処理装置400は、1ラインの画像データを16μs期間で出力することができる。
【0124】
このように、本実施の形態によれば、各画像処理部211〜214Bの処理時間が不均一であっても、Bank切り替えを一斉に行う場合と比較して装置全体の処理性能を向上させることができる。
【0125】
(実施の形態7)
図14は、本発明の実施の形態7に係る画像処理装置の一時記憶部の構成を示す図である。図14において、図11と同一構成部分には同一符号を付す。
【0126】
図14(a)では、一時記憶部231Bと同様の構成の一時記憶部231Cを、バスに対して接続している。一時記憶部231B,231Cは、例えばSRAMにより構成される。
【0127】
図14(b)に示すように、複数の一時記憶部231B,231Cを用いて、容量の大きな1つの一時記憶部231Dを構成できる。一時記憶部231DにSRAMを用いることにより実現可能である。
【0128】
例えば、水平1280画素1ラインの区分画像を格納する一時記憶部231B,231Cを2個用いて、水平2560画素1ラインに対する一時記憶部231Dを構成することができる。この場合、図14(b)において破線で示すレジスタを削減することができる。
【0129】
図15及び図16は、本発明の実施の形態7に係る画像処理装置の構成を示すブロック図である。なお、図15及び図16において、図1と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【0130】
図15及び図16は、ステレオカメラ入力処理を行う、本発明の実施の形態7に係る画像処理装置の構成を示すブロック図である。なお、図15及び図16において、図1と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【0131】
図15及び図16に示すように、画像処理装置500は、入力I/F201A,201B、出力I/F202、画像処理部511A,511B,512A,512B,213,214、バス220C、及び一時記憶部531A,531B,532A,532B,234を備えて構成される。
【0132】
画像処理部511A,511B,512A,512Bは、2ch対応用に、図1の画像処理部211,212を2つ設けたものである。また、一時記憶部531A,531B,532A,532Bについても同様に、図1の一時記憶部231,232を2つ設けたものである。バス220Cは、上記に対応したもので図1のバス220と同様の構成を有する。図15の一時記憶部531A,532Aは図14(a)の一時記憶部231Bに対応し、一時記憶部531B,532Bは図14(a)の一時記憶部231Cに対応する。
【0133】
画像処理部511A,511BはRAWデータ処理を行い、画像処理部512A,512B2はYC分離を行う。また、画像処理部213は距離計測を行い、画像処理部214は出力画面生成処理を行う。
【0134】
画像処理装置500は、2chのステレオカメラ入力(水平解像度:1280pix)を処理し、画面に物体の距離情報を付加して出力することができる。
【0135】
図16は、図15と同一の画像処理装置500であり、水平解像度が2倍(2560pix)の1chカメラ入力を処理する例を示す。この場合、複数の一時記憶部531A,531Bを用いて、容量の大きな1つの一時記憶部531Cを構成する。同様に、複数の一時記憶部532A,532Bを用いて、容量の大きな1つの一時記憶部532Cを構成する。図16の一時記憶部531C,532Cは図14(b)の一時記憶部231Dに対応する。
【0136】
このように、本実施の形態によれば、例えば1チャネルの高解像度処理系と、複数チャネルの低解像度処理系とを、同一のプラットフォームで構築することができる。これにより、種々のカメラ製品(例えばマルチビューカメラと高解像度カメラ)に対するプラットフォームを共通化することができる。
【0137】
(実施の形態8)
図17及び図18は、本発明の実施の形態8に係る画像処理装置の構成を示すブロック図である。なお、図17及び図18において、図1及び図15と同一構成部分には同一符号を付して重複箇所の説明を省略する。
【0138】
図17及び図18に示すように、画像処理装置600は、入力I/F201、出力I/F202、画像処理部211〜214、バス220D、一時記憶部631A,631B,632A,632B,633A,633B、及び電力制御部610を備えて構成される。
【0139】
画像処理装置600は、例えば、ローパワーモードと通常モードなど2以上の動作モードを持つ。
【0140】
画像処理装置600は、ローパワーモードでは、画像の処理解像度を落とす、あるいは、画像処理部211〜214を削減する等により、消費電力を抑える。
【0141】
また、特定の要因によりローパワーモードから通常モードに移行した場合、画像処理装置600は、処理解像度や適用する画像処理部211〜214を増やす態様を採る。特定の要因とは、登録物の検出、不審物の検出など、インテリジェント監視関連がある。
【0142】
図17は、ローパワーモードの例である。ローパワーモードでは、画像処理装置600は、例えば、水平解像度を1280pixに落とすと共に、YC分離における色処理を行わない。この場合、画像処理部211はRAWデータ処理を行い、画像処理部212は輝度処理のみを行う。また、画像処理部213は色処理(スキップ)を行い、画像処理部214は出力画面生成と異常検出を行う。また、電力制御部610は、画像処理部213、一時記憶部631B、一時記憶部632B、一時記憶部633Bをオフにする。
【0143】
図18は、図17と同一の画像処理装置600における通常モードの例である。ローパワーモード時に、画像処理部214が不審物を検出すると、電力制御部610にその検出信号を送り、画像処理装置600は、通常モードに移行する。通常モードでは、画像処理装置600は、水平解像度を2560pixに増すとともに、YC分離における色処理を行う。また、電力制御部610は、画像処理部213、一時記憶部631B、一時記憶部632B、一時記憶部633Bをオンにする。
【0144】
このように、本実施の形態によれば、必要な画像は高性能で処理しつつ、通常時の消費電力は抑制することができる。監視カメラなど常時(24時間)稼動機器に対する電力抑制として非常に有効である。
【0145】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
【0146】
例えば、画像処理装置は、カメラ信号処理に限定されない。また、画像の処理単位(区分画像のサイズ)は「1ライン」に限定されず、複数ラインでもよく、画像を格子状に分割したタイル構成における1タイルでもよい。さらに、バスの構成は、セレクタ4個で構成などに限定されない。
【0147】
さらに、例えば図2に示すように、画像処理部211〜214の実行順序として、1−2−3−4、1−3−2−4、1−3−4としているが、これらは一例であり、このような構成に限定されるものではない。
【0148】
また、上記各実施の形態では画像処理装置という名称を用いたが、これは説明の便宜上であり、パケット伝送装置及び符号化パケット受信方法等であってもよいことは勿論である。
【0149】
さらに、上記画像処理装置を構成する各回路部、例えば各エンジン及び共有メモリの種類、その数及び接続方法などはどのようなものでもよい。
【産業上の利用可能性】
【0150】
本発明に係る画像処理装置は、カメラ分野及び、インテリジェント監視等のプログラマブルな画像処理システムに用いるに好適である。
【符号の説明】
【0151】
200,300,400,500,600 画像処理装置
201 入力I/F
202 出力I/F
211〜214 画像処理部
220 バス
221〜224 セレクタ
225 レジスタ
231〜233 一時記憶部
311 DMAコントローラ
320 外部メモリ
330 バス
340 外部デバイス
【特許請求の範囲】
【請求項1】
複数の区分画像データからなる画像データに対して区分画像単位で互いに異なる画像処理を実行する複数の画像処理手段と、
前記画像処理手段で処理された前記区分画像データを一時的に記憶する複数の第1の記憶手段と、
前記複数の画像処理手段と前記複数の第1の記憶手段とを用いて、前記区分画像単位の処理を並列に繰り返し行うパイプライン処理を実行する画像制御手段と、
を有する画像処理装置であって、
前記パイプライン処理途中の画像データを前記複数の第1の記憶手段から前記区分画像単位で読み出して第2の記憶手段に書き込む記憶手段制御手段と、
前記第2の記憶手段から読み出した画像データに対して特定の画像認識処理を実行する画像認識処理手段と、をさらに備え、
前記画像制御手段は、前記パイプライン処理において、前記画像認識処理手段が特定の画像を認識した後に入力した画像データに対して、前記画像認識の前に入力した画像データに対して実行していた画像処理とは異なる画像処理を実行するように前記画像処理手段を制御する、
画像処理装置。
【請求項2】
前記特定の画像認識処理は、顔認識処理あるいは車輛認識処理であって、前記画像認識処理手段は、画像データから人物の顔あるいは車輛を認識した旨を示す制御信号を前記画像制御手段に出力する、請求項1記載の画像処理装置。
【請求項3】
前記画像制御手段は、前記パイプライン処理において、前記画像認識処理手段が特定の画像を認識した後に入力した画像データに対して、前記画像認識の前に入力した画像データに対して実行していた画像処理よりも解像度を上げて画像処理を実行するように前記画像処理手段を制御する、請求項1又は請求項2に記載の画像処理装置。
【請求項1】
複数の区分画像データからなる画像データに対して区分画像単位で互いに異なる画像処理を実行する複数の画像処理手段と、
前記画像処理手段で処理された前記区分画像データを一時的に記憶する複数の第1の記憶手段と、
前記複数の画像処理手段と前記複数の第1の記憶手段とを用いて、前記区分画像単位の処理を並列に繰り返し行うパイプライン処理を実行する画像制御手段と、
を有する画像処理装置であって、
前記パイプライン処理途中の画像データを前記複数の第1の記憶手段から前記区分画像単位で読み出して第2の記憶手段に書き込む記憶手段制御手段と、
前記第2の記憶手段から読み出した画像データに対して特定の画像認識処理を実行する画像認識処理手段と、をさらに備え、
前記画像制御手段は、前記パイプライン処理において、前記画像認識処理手段が特定の画像を認識した後に入力した画像データに対して、前記画像認識の前に入力した画像データに対して実行していた画像処理とは異なる画像処理を実行するように前記画像処理手段を制御する、
画像処理装置。
【請求項2】
前記特定の画像認識処理は、顔認識処理あるいは車輛認識処理であって、前記画像認識処理手段は、画像データから人物の顔あるいは車輛を認識した旨を示す制御信号を前記画像制御手段に出力する、請求項1記載の画像処理装置。
【請求項3】
前記画像制御手段は、前記パイプライン処理において、前記画像認識処理手段が特定の画像を認識した後に入力した画像データに対して、前記画像認識の前に入力した画像データに対して実行していた画像処理よりも解像度を上げて画像処理を実行するように前記画像処理手段を制御する、請求項1又は請求項2に記載の画像処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2011−30268(P2011−30268A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2010−226948(P2010−226948)
【出願日】平成22年10月6日(2010.10.6)
【分割の表示】特願2008−310799(P2008−310799)の分割
【原出願日】平成20年12月5日(2008.12.5)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願日】平成22年10月6日(2010.10.6)
【分割の表示】特願2008−310799(P2008−310799)の分割
【原出願日】平成20年12月5日(2008.12.5)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
[ Back to top ]