(57)【要約】【課題】画像データのフレーム内の画素領域においてロバストネスに演算内容を切り替える。【解決手段】撮像回路は、イメージセンサと、プロセッシングエレメントと、命令制御部とを備える。イメージセンサは、被写体からの画像信号を光電変換して画像データを生成する。プロセッシングエレメントは、画像データを構成するラインデータを並列に処理する。命令制御部は、ラインデータのラインカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を複数のプロセッシングエレメントに対して供給する。【選択図】図１
2017126811.tif 000002
【特許請求の範囲】
【請求項１】
画像データを構成するラインデータを並列に処理する複数のプロセッシングエレメントと、
前記ラインデータのラインカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を前記複数のプロセッシングエレメントに対して供給する命令制御部と
を具備する画像データ処理回路。
【請求項２】
前記命令制御部は、前記複数のプロセッシングエレメントに対してそれぞれ独立した制御信号を供給し、
前記複数のプロセッシングエレメントは、前記選択されたプログラムの実行結果のうち前記制御信号の制御内容に合致するものを出力する
請求項１記載の画像データ処理回路。
【請求項３】
前記命令制御部は、
前記複数のプログラムのそれぞれについて前記命令列を供給する条件を満たすか否かを前記ラインカウント毎に判定するライン条件判定部と、
前記複数のプログラムのうち少なくとも２つが前記ライン条件判定部における条件を満たした場合に所定の優先順位に従って１つのプログラムを選択するライン条件選択部とを備える
請求項１記載の画像データ処理回路。
【請求項４】
前記ライン条件判定部は、ビット表現された前記ラインカウントの一部のビットを用いて前記判定を行う請求項３記載の画像データ処理回路。
【請求項５】
前記命令制御部は、前記ラインカウントについて有効な画素領域内であるか否かを判定し、その判定結果に応じて前記複数のプログラムの１つを選択する請求項１記載の画像データ処理回路。
【請求項６】
前記画像データは、時系列に入力される動画像データを構成するフレームであり、
前記命令制御部は、前記動画像データにおけるフレームカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を前記複数のプロセッシングエレメントに対して供給する
請求項１記載の画像データ処理回路。
【請求項７】
前記命令制御部は、
前記複数のプログラムのそれぞれについて前記命令列を供給する条件を満たすか否かを前記フレームカウント毎に判定するフレーム条件判定部と、
前記複数のプログラムのうち少なくとも２つが前記フレーム条件判定部における条件を満たした場合に所定の優先順位に従って１つのプログラムを選択するフレーム条件選択部とを備える
請求項６記載の画像データ処理回路。
【請求項８】
前記フレーム条件判定部は、ビット表現された前記フレームカウントの一部のビットを用いて前記判定を行う請求項７記載の画像データ処理回路。
【請求項９】
被写体からの光を光電変換して画像データを生成するイメージセンサと、
前記画像データを構成するラインデータを並列に処理する複数のプロセッシングエレメントと、前記ラインデータのラインカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を前記複数のプロセッシングエレメントに対して供給する命令制御部とを備える画像データ処理回路と
を具備する撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、撮像回路に関する。詳しくは、画像データを構成するラインデータを並列に処理する複数のプロセッシングエレメントを備える画像データ処理回路、撮像回路、および、これらにおける処理方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
従来、イメージセンサを用いて撮像された画像データを利用して様々な認識処理が行われている。そのような認識処理を行うシステムにおけるデータフローは、画像データを表示画像として出力するデータフローと、画像データから必要な情報を抽出して認識処理を行うデータフローとに大別される。画像を表示するためには、一般に３０乃至１２０ｆｐｓ（フレーム／秒）程度の処理速度で足りるが、高度な認識処理を行うためにはそれでは不十分である。そこで、イメージセンサの画素毎にプロセッシングエレメントを設けたビジョンチップが提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２１８３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術では、イメージセンサの画素毎にプロセッシングエレメントを設けることにより、フレームレートの向上を図っている。しかしながら、従来技術においては、フレーム内の全画素に対して同一の画像処理演算を行うことを想定しており、フレーム内の画素領域においてロバストネスに演算内容を切替えることができない。そのため、高速なフレームレートに追従して複数のセンシング演算結果を取得する用途には対応することができないという問題がある。
【０００５】
本技術はこのような状況に鑑みて生み出されたものであり、画像データのフレーム内の画素領域においてロバストネスに演算内容を切り替えることを目的とする。
【課題を解決するための手段】
【０００６】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、画像データを構成するラインデータを並列に処理する複数のプロセッシングエレメントと、上記ラインデータのラインカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を上記複数のプロセッシングエレメントに対して供給する命令制御部とを具備する画像データ処理回路である。これにより、画像データのライン毎に異なるプログラムを実行させるという作用をもたらす。
【０００７】
また、この第１の側面において、上記命令制御部は、上記複数のプロセッシングエレメントに対してそれぞれ独立した制御信号を供給し、上記複数のプロセッシングエレメントは、上記選択されたプログラムの実行結果のうち上記制御信号の制御内容に合致するものを出力するようにしてもよい。これにより、画像データの列毎に異なる実行結果を出力させるという作用をもたらす。
【０００８】
また、この第１の側面において、上記命令制御部は、上記複数のプログラムのそれぞれについて上記命令列を供給する条件を満たすか否かを上記ラインカウント毎に判定するライン条件判定部と、上記複数のプログラムのうち少なくとも２つが上記ライン条件判定部における条件を満たした場合に所定の優先順位に従って１つのプログラムを選択するライン条件選択部とを備えるようにしてもよい。これにより、ラインカウントに基づく条件判定について優先順位に従った選択を行わせるという作用をもたらす。
【０００９】
また、この第１の側面において、上記ライン条件判定部は、ビット表現された上記ラインカウントの一部のビットを用いて上記判定を行うようにしてもよい。これにより、ラインカウントの一部のビットに関する条件により判定するという作用をもたらす。
【００１０】
また、この第１の側面において、上記命令制御部は、上記ラインカウントについて有効な画素領域内であるか否かを判定し、その判定結果に応じて上記複数のプログラムの１つを選択するようにしてもよい。これにより、有効画素領域外について専用のプログラムを適用するという作用をもたらす。
【００１１】
また、この第１の側面において、上記画像データは、時系列に入力される動画像データを構成するフレームであり、上記命令制御部は、上記動画像データにおけるフレームカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を上記複数のプロセッシングエレメントに対して供給するようにしてもよい。これにより、画像データのフレーム毎に異なるプログラムを実行させるという作用をもたらす。
【００１２】
また、この第１の側面において、上記命令制御部は、上記複数のプログラムのそれぞれについて上記命令列を供給する条件を満たすか否かを上記フレームカウント毎に判定するフレーム条件判定部と、上記複数のプログラムのうち少なくとも２つが上記フレーム条件判定部における条件を満たした場合に所定の優先順位に従って１つのプログラムを選択するフレーム条件選択部とを備えるようにしてもよい。これにより、フレームカウントに基づく条件判定について優先順位に従った選択を行わせるという作用をもたらす。
【００１３】
また、この第１の側面において、上記フレーム条件判定部は、ビット表現された上記フレームカウントの一部のビットを用いて上記判定を行うようにしてもよい。これにより、フレームカウントの一部のビットに関する条件により判定するという作用をもたらす。
【００１４】
また、本技術の第２の側面は、被写体からの光を光電変換して画像データを生成するイメージセンサと、上記画像データを構成するラインデータを並列に処理する複数のプロセッシングエレメントと、上記ラインデータのラインカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を上記複数のプロセッシングエレメントに対して供給する命令制御部とを備える画像データ処理回路とを具備する撮像装置である。これにより、撮像された画像データのライン毎に異なるプログラムを実行させるという作用をもたらす。
【発明の効果】
【００１５】
本技術によれば、画像データのフレーム内の画素領域においてロバストネスに演算内容を切り替えることができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１６】
【図１】本技術の実施の形態における撮像回路の全体構成例を示す図である。
【図２】本技術の実施の形態における命令制御部３００の一構成例を示す図である。
【図３】本技術の実施の形態におけるフレームカウンタ３１０の一構成例を示す図である。
【図４】本技術の実施の形態におけるフレーム条件判定部３３０の一構成例を示す図である。
【図５】本技術の実施の形態におけるラインカウンタ３２０の一構成例を示す図である。
【図６】本技術の実施の形態におけるライン条件判定部３４０の一構成例を示す図である。
【図７】本技術の実施の形態におけるライン範囲判定部３５０の一構成例を示す図である。
【図８】本技術の実施の形態において対象となるフレームの画素領域の一例を示す図である。
【図９】本技術の実施の形態における命令メモリ３７０に保持されるプログラムの一例を示す図である。
【図１０】本技術の実施の形態における画素単位のプログラム切替えの例を示す図である。
【図１１】本技術の実施の形態において対象となるフレームの画素領域とプログラムとの関係例を示す図である。
【図１２】本技術の実施の形態におけるプログラム切替えの第１の具体例を示す図である。
【図１３】本技術の実施の形態におけるプログラム切替えの第２の具体例を示す図である。
【図１４】本技術の実施の形態におけるプログラム切替えの第３の具体例を示す図である。
【図１５】本技術の実施の形態におけるプログラム切替えの第４の具体例を示す図である。
【図１６】本技術の実施の形態におけるプログラム切替えの第５の具体例を示す図である。
【発明を実施するための形態】
【００１７】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．ハードウェア構成
２．画素領域とプログラムの関係
【００１８】
＜１．ハードウェア構成＞
［全体構成］
図１は、本技術の実施の形態における撮像回路の全体構成例を示す図である。この撮像回路は、システム制御部１００と、制御レジスタ２００と、命令制御部３００と、イメージセンサ４００と、信号処理部５００と、画像処理部６００とを備える。
【００１９】
システム制御部１００は、撮像回路全体を制御するものである。制御レジスタ２００は、撮像回路を制御するための各種設定を保持するレジスタである。システム制御部１００は、信号線１９１を介して、この制御レジスタ２００に値を設定することにより、撮像回路の動作を制御する。
【００２０】
命令制御部３００は、信号処理部５００における命令実行の制御を行うものである。この命令制御部３００は、信号線２９１を介して、制御レジスタ２００の値を読み出す。そして、この命令制御部３００は、制御レジスタ２００の値に従って信号処理部５００に対する制御を、信号線３９１乃至３９３を介して行う。また、この命令制御部３００は、信号線３９４を介して、後段の処理に必要な情報を供給する。
【００２１】
イメージセンサ４００は、被写体からの光を光電変換して画像データを生成するものである。撮像装置を構成するためにはレンズなどの光学系が必要となるが、ここでは詳細な説明を省略する。このイメージセンサ４００の出力には、アナログ信号をデジタル信号に変換するためのＡＤＣ（Analog-to-Digital Converter）４９０が設けられる。このＡＤＣ４９０の出力は、信号処理部５００に供給される。
【００２２】
信号処理部５００は、イメージセンサ４００から供給された画像データについて信号処理を行うものである。この信号処理部５００は、複数のプロセッシングエレメント（ＰＥ：Processing Element）５２０と、ラインバッファ５１０および５３０とを備える。
【００２３】
ラインバッファ５１０は、イメージセンサ４００から供給された画像データを一時的に保持して、プロセッシングエレメント５２０に供給するものである。このラインバッファ５１０は、信号線３９１を介した命令制御部３００からの制御に従って画像データの保持を行う。このラインバッファ５１０は、例えば画像データの５ライン分程度を保持することが想定される。
【００２４】
複数のプロセッシングエレメント５２０は、イメージセンサ４００から供給された画像データについて、その画像データを構成するラインデータを列方向に並列に処理するものである。この複数のプロセッシングエレメント５２０のそれぞれは、命令制御部３００から信号線３９２を介して供給されたプログラムの命令列を実行する。このプロセッシングエレメント５２０によるプログラムの実行において、各画素毎または各画素間における演算が行われる。例えば、ガウシアンフィルタ等のフィルタ処理等が想定される。その演算結果は、ラインバッファ５３０に供給される。
【００２５】
ラインバッファ５３０は、プロセッシングエレメント５２０から出力された演算結果を一時的に保持して、後段の画像処理部６００に供給するものである。このラインバッファ５３０は、信号線３９３を介した命令制御部３００からの制御に従って画像データの保持を行う。このラインバッファ５３０は、例えば画像データの２ライン分程度を保持することが想定される。
【００２６】
画像処理部６００は、信号処理部５００において処理が行われた画像データについて画像処理を行うものである。この画像処理部６００における画像処理としては、例えば、色検出のための二値化処理などが想定される。この画像処理部６００による処理結果は、後段の認識処理に用いられる。例えば、動物体の有無を判定して、動物体を追跡する等の処理が想定される。
【００２７】
［命令制御部の構成］
図２は、本技術の実施の形態における命令制御部３００の一構成例を示す図である。この命令制御部３００は、フレームカウンタ３１０と、ラインカウンタ３２０と、フレーム条件判定部３３０と、ライン条件判定部３４０と、ライン範囲判定部３５０とを備える。また、この命令制御部３００は、選択器３６１乃至３６４および３６７と、加算可否判定部３６５とを備える。さらに、この命令制御部３００は、オフセット加算器３６６と、命令メモリ３７０と、命令デコーダ３８０とを備える。
【００２８】
フレームカウンタ３１０は、プロセッシングエレメント５２０における処理対象となる画像データのフレーム番号を計数するカウンタである。イメージセンサ４００から時系列に入力される動画像データの１つの画像データがフレームである。イメージセンサ４００において１つのフレームが走査されるたびに垂直同期信号がアサートされ、それに従ってこのフレームカウンタ３１０が１つずつ計数を行う。
【００２９】
ラインカウンタ３２０は、プロセッシングエレメント５２０における処理対象となる画像データのライン番号を計数するカウンタである。１つのフレームはライン（行）方向に走査され、１つのラインが走査されるたびに走査対象がカラム（列）方向に１つ進み、次のラインが走査される。１つのラインが走査されるたびに水平同期信号がアサートされ、それに従ってこのラインカウンタ３２０が１つずつ計数を行う。
【００３０】
フレーム条件判定部３３０は、複数のプログラムのそれぞれに対応して設けられ、その対応するプログラムの命令列をプロセッシングエレメント５２０に供給する条件を満たすか否かを、フレームカウンタ３１０の値に従って判定するものである。すなわち、このフレーム条件判定部３３０は、フレームを単位として、そのフレームに対して該当プログラムを適用するか否かを判定する。このフレーム条件判定部３３０は、プロセッシングエレメント５２０に供給する条件を満たす場合には、条件成立信号をアサートして選択器３６１に供給する。
【００３１】
この実施の形態では、４つのプログラムを想定し、４つのフレーム条件判定部３３０が設けられている。すなわち、１つめのフレーム条件判定部３３０において条件Ｆ０が成立すればプログラム０が実行され、２つめのフレーム条件判定部３３０において条件Ｆ１が成立すればプログラム１が実行される。また、３つめのフレーム条件判定部３３０において条件Ｆ２が成立すればプログラム２が実行され、４つめのフレーム条件判定部３３０において条件Ｆ３が成立すればプログラム３が実行される。
【００３２】
なお、この実施の形態では、フレーム条件判定部３３０は、複数のプログラムのそれぞれに対応して設けられることを想定するが、１つのプログラムにおける複数のプログラムエントリのそれぞれに対応して設けられてもよい。
【００３３】
ライン条件判定部３４０は、複数のプログラムエントリのそれぞれに対応して設けられ、その対応するプログラムエントリの命令列をプロセッシングエレメント５２０に供給する条件を満たすか否かを、ラインカウンタ３２０の値に従って判定するものである。すなわち、このライン条件判定部３４０は、ラインを単位として、そのラインに対して該当プログラムを適用するか否かを判定する。このライン条件判定部３４０は、プロセッシングエレメント５２０に供給する条件を満たす場合には、条件成立信号をアサートして選択器３６３に供給する。
【００３４】
この実施の形態では、２つのプログラムエントリを想定し、２つのライン条件判定部３４０が設けられている。すなわち、１つめのライン条件判定部３４０において条件Ｖ０が成立すればプログラムエントリ０からプログラムが実行され、２つめのライン条件判定部３４０において条件Ｖ１が成立すればプログラムエントリ１からプログラムが実行される。
【００３５】
なお、この実施の形態では、ライン条件判定部３４０は、複数のプログラムエントリのそれぞれに対応して設けられることを想定するが、複数のプログラムのそれぞれに対応して設けられてもよい。すなわち、プログラムエントリは広義のプログラムを意味する。
【００３６】
ライン範囲判定部３５０は、プロセッシングエレメント５２０における処理対象となる画像データのラインが有効な画素領域内であるか否かをラインカウンタ３２０の値に従って判定するものである。有効画素領域の開始ラインは内部信号「ＬＩＮＥ＿ＳＴ」に規定される。有効画素領域の終了ラインは内部信号「ＬＩＮＥ＿ＥＤ」に規定される。ライン範囲判定部３５０は、処理対象となる画像データのラインが有効な画素領域内であれば、有効信号をアサートして加算可否判定部３６５に供給する。
【００３７】
選択器３６１は、４つのフレーム条件判定部３３０からの条件成立信号を受けて、いずれか１つの条件を選択するものである。１つのフレーム条件判定部３３０においてのみ条件が成立した場合にはその条件が選択されるが、複数のフレーム条件判定部３３０において同時に条件が成立した場合には何れか１つを選択する必要がある。この選択器３６１は、４つのフレーム条件判定部３３０からの条件成立信号Ｆ０乃至Ｆ３のうち、Ｆ０を最優先とし、次にＦ１、その次にＦ２、最後にＦ３を選択する。この選択結果は、選択器３６２および３６７に供給される。また、４つのフレーム条件判定部３３０のうち１つでも条件成立したものがあれば、有効信号をアサートして加算可否判定部３６５に供給する。なお、選択器３６１は、特許請求の範囲に記載のフレーム条件選択部の一例である。
【００３８】
選択器３６２は、４つのフレーム条件判定部３３０に対応して、命令メモリ３７０にアクセスするための、アドレスのオフセットを選択するものである。この選択器３６２は、選択器３６１から供給された条件成立信号に従って、４つのオフセットアドレスのうちの１つを選択する。すなわち、条件成立信号Ｆ０が供給された場合には「ＲＥＧ＿ＯＦＳ＿Ｆ０」の値を選択する。この「ＲＥＧ＿ＯＦＳ＿Ｆ０」は、制御レジスタ２００に設定された１０ビットの値であり、条件Ｆ０が成立した場合のオフセットアドレスを示す。同様に、条件成立信号Ｆ１が供給された場合には「ＲＥＧ＿ＯＦＳ＿Ｆ１」の値が選択され、条件成立信号Ｆ２が供給された場合には「ＲＥＧ＿ＯＦＳ＿Ｆ２」の値が選択され、条件成立信号Ｆ３が供給された場合には「ＲＥＧ＿ＯＦＳ＿Ｆ３」の値が選択される。これらも制御レジスタ２００に設定された値である。
【００３９】
選択器３６３は、２つのライン条件判定部３４０からの条件成立信号を受けて、いずれか１つの条件を選択するものである。１つのライン条件判定部３４０においてのみ条件が成立した場合にはその条件が選択されるが、２つのライン条件判定部３４０において同時に条件が成立した場合には何れか１つを選択する必要がある。この選択器３６３は、２つのライン条件判定部３４０からの条件成立信号Ｖ０およびＶ１のうち、Ｖ０を最優先とし、次にＶ１を選択する。この選択結果は、選択器３６４に供給される。また、２つのライン条件判定部３４０のうち１つでも条件成立したものがあれば、有効信号をアサートして加算可否判定部３６５に供給する。なお、選択器３６３は、特許請求の範囲に記載のライン条件選択部の一例である。
【００４０】
選択器３６４は、２つのライン条件判定部３４０に対応して、命令メモリ３７０にアクセスするための、ラインカウントのオフセットアドレスを選択するものである。この選択器３６４は、選択器３６３から供給された条件成立信号に従って、２つのオフセットのうちの１つを選択する。すなわち、条件成立信号Ｖ０が供給された場合には「ＲＥＧ＿ＯＦＳ＿Ｖ０」の値を選択する。この「ＲＥＧ＿ＯＦＳ＿Ｖ０」は、制御レジスタ２００に設定された１０ビットの値であり、条件Ｖ０が成立した場合のオフセットアドレスを示す。同様に、条件成立信号Ｖ１が供給された場合には「ＲＥＧ＿ＯＦＳ＿Ｖ１」の値が選択される。この「ＲＥＧ＿ＯＦＳ＿Ｖ１」も制御レジスタ２００に設定された値である。
【００４１】
加算可否判定部３６５は、オフセットアドレス加算の可否を判定するものである。ここで対象となるのは、選択器３６２から供給されたフレームカウントのオフセットアドレス、選択器３６４から供給されたラインカウントのオフセットアドレス、および、「ＲＥＧ＿ＯＦＳ＿ＵＮＶＬＤ」として与えられたオフセットアドレスである。「ＲＥＧ＿ＯＦＳ＿ＵＮＶＬＤ」は、制御レジスタ２００に設定された１０ビットの値であり、有効画素領域外の場合のオフセットアドレスを示す。
【００４２】
この加算可否判定部３６５には、これまでに説明した値以外に、以下の制御レジスタ２００に設定された値が入力される。「ＲＥＧ＿ＯＦＳ＿ＦＯＦＦ」は、フレーム条件Ｆ０乃至Ｆ３およびライン条件Ｖ０またはＶ１が同時に成立した際に、フレームカウントのオフセットアドレスを非加算とする設定である。「ＲＥＧ＿ＯＦＳ＿ＶＯＦＦ」は、フレーム条件Ｆ０乃至Ｆ３およびライン条件Ｖ０またはＶ１が同時に成立した際に、ラインカウントのオフセットアドレスを非加算とする設定である。「ＲＥＧ＿ＯＦＳ＿ＵＮＯＮＬＹ」は、有効画素領域外の場合に、フレームカウントのオフセットアドレスおよびラインカウントのオフセットアドレスをともに非加算とする設定である。この「ＲＥＧ＿ＯＦＳ＿ＵＮＯＮＬＹ」を設定すると、「ＲＥＧ＿ＯＦＳ＿ＵＮＶＬＤ」に指定されたアドレスを参照するため、非有効画素領域に必要なプログラム演算を統一して利用する場合に有用である。
【００４３】
また、この加算可否判定部３６５は、選択器３６１からの有効信号がアサートされていなければ、選択器３６２からのフレームカウントのオフセットアドレスを非加算とする。また、選択器３６３からの有効信号がアサートされていなければ、選択器３６４からのラインカウントのオフセットアドレスを非加算とする。さらに、ライン範囲判定部３５０からの有効信号がアサートされていなければ、「ＲＥＧ＿ＯＦＳ＿ＵＮＶＬＤ」のオフセットアドレスを非加算とする。加算可否判定部３６５においてこのようにして判定された結果、必要なオフセットアドレスがオフセット加算器３６６に供給される。
【００４４】
オフセット加算器３６６は、加算可否判定部３６５から供給されたオフセットアドレスを加算する加算器である。このオフセット加算器３６６によって加算されたオフセットアドレスは、命令メモリ３７０における命令フェッチ動作に利用される。
【００４５】
選択器３６７は、フレーム条件Ｆ０乃至Ｆ３に応じて実行されるプログラムの識別情報を選択する選択器である。「ＲＥＧ＿ＳＩ＿ＦＬＧ０」は条件Ｆ０成立時に実行されるプログラムの２ビットの識別情報であり、制御レジスタ２００に設定された値である。同様に、「ＲＥＧ＿ＳＩ＿ＦＬＧ１」は条件Ｆ１成立時に実行されるプログラムの識別情報、「ＲＥＧ＿ＳＩ＿ＦＬＧ２」は条件Ｆ２成立時に実行されるプログラムの識別情報、「ＲＥＧ＿ＳＩ＿ＦＬＧ３」は条件Ｆ３成立時に実行されるプログラムの識別情報である。この選択器３６７は、選択器３６１により選択されたフレーム条件に従っていずれかの識別情報を選択して、信号線３９４を介して後段に出力する。
【００４６】
命令メモリ３７０は、信号処理部５００を制御するためのプログラムの命令列を記憶するメモリである。この命令メモリ３７０は、オフセット加算器３６６から供給されたオフセットアドレスに基づいて命令フェッチ動作を行い、フェッチされた命令を命令デコーダ３８０に出力する。
【００４７】
命令デコーダ３８０は、命令メモリ３７０においてフェッチされた命令をデコードして、信号処理部５００に対する制御内容を、信号線３９１乃至３９３を介して供給する。
【００４８】
図３は、本技術の実施の形態におけるフレームカウンタ３１０の一構成例を示す図である。このフレームカウンタ３１０は、フリップフロップ３１１と、加算器３１２と、イネーブラ３１３と、比較器３１４と、論理和ゲート３１５とを備える。
【００４９】
フリップフロップ３１１は、イネーブラ３１３からの入力Ｄをクロックに従って保持して出力Ｑに出力するフリップフロップである。加算器３１２は、フリップフロップ３１１の出力に対して「１」を加算してインクリメント動作を行う加算器である。イネーブラ３１３は、垂直同期信号がアサートされている期間に、加算器３１２から供給された値をフリップフロップ３１１の入力Ｄに供給するものである。したがって、フリップフロップ３１１は、１フレームが走査されるたびに１つずつ計数することになる。
【００５０】
比較器３１４は、フリップフロップ３１１の出力Ｑと「ＲＥＧ＿ＦＣＮＴ＿ＭＡＸ」とを比較する比較器である。「ＲＥＧ＿ＦＣＮＴ＿ＭＡＸ」は、制御レジスタ２００に設定された８ビットの値であり、フレームカウンタの最大値を設定する。フリップフロップ３１１の出力Ｑがこの最大値に到達した状態で垂直同期信号がアサートされると、このフレームカウンタ３１０は「０」から再カウントを開始する。
【００５１】
論理和ゲート３１５は、比較器３１４の出力と「ＲＥＧ＿ＦＣＮＴ＿ＲＳＴ」との論理和演算を行う演算器である。「ＲＥＧ＿ＦＣＮＴ＿ＲＳＴ」は、制御レジスタ２００に設定された１ビットの値であり、フリップフロップ３１１のリセット信号である。フレームカウンタが最大値に到達する前であっても、この「ＲＥＧ＿ＦＣＮＴ＿ＲＳＴ」が設定されている場合、垂直同期信号がアサートされると、フレームカウンタ３１０は「０」から再カウントを開始する。
【００５２】
このフレームカウンタ３１０は、フリップフロップ３１１の出力Ｑを、８ビットのフレームカウントの値（ｆ＿ｃｎｔ）として出力する。
【００５３】
図４は、本技術の実施の形態におけるフレーム条件判定部３３０の一構成例を示す図である。ここでは、フレーム条件Ｆ０を判定するフレーム条件判定部３３０の構成例を示す。他のフレーム条件Ｆ１乃至Ｆ３についても同様である。このフレーム条件判定部３３０は、比較部３３１と、論理和ゲート３３５と、論理積ゲート３３６とを備える。
【００５４】
比較部３３１は、フレームカウントに関する比較を行うものである。この比較部３３１は、否定排他的論理和（ＸＮＯＲ）ゲート３３２と、論理積ゲート３３３と、一致検出部３３４とを備える。
【００５５】
ＸＮＯＲゲート３３２は、フレームカウンタ３１０からのフレームカウントｆ＿ｃｎｔと、「ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ０」との一致を検出するものである。「ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ０」は、制御レジスタ２００に設定された８ビットの値であり、フレームカウントの条件を設定する。ＸＮＯＲゲート３３２は、８ビットのフレームカウントに対してビット単位で比較を行う。
【００５６】
論理積ゲート３３３は、ＸＮＯＲゲート３３２の比較結果と、「ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ０」との論理積を生成するものである。「ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ０」は、制御レジスタ２００に設定された８ビットの値であり、比較部３３１における比較対象ビットを設定する。８ビットのうち比較対象となるビットのみを「１」にすることにより、フレームカウントが「ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ０」の条件に一致するビットであって、かつ、比較対象となるビットのみが論理積ゲート３３３の出力として得られる。これにより、フレームカウントの一部のビットを用いて条件成立の判定を行うことができる。
【００５７】
一致検出部３３４は、論理積ゲート３３３と「ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ０」の一致を検出するものである。論理積ゲート３３３の出力８ビットと、「ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ０」の８ビットとが完全に一致した場合にのみ、この一致検出部３３４は、有効信号をアサートする。
【００５８】
論理和ゲート３３５は、一致検出部３３４の出力と「ＲＥＧ＿ＦＬＧ＿ＧＰ＿Ｆ０」との論理和を生成するものである。「ＲＥＧ＿ＦＬＧ＿ＧＰ＿Ｆ０」は、制御レジスタ２００に設定された１ビットの値であり、条件Ｆ０の判定を強制的に有効に設定する。すなわち、この論理和ゲート３３５は、一致検出部３３４において完全一致が検出されて有効信号がアサートされた場合、または、「ＲＥＧ＿ＦＬＧ＿ＧＰ＿Ｆ０」によって強制的に有効に設定された場合の少なくとも一方が成立すると、有効信号をアサートする。
【００５９】
論理積ゲート３３６は、論理和ゲート３３５の出力と垂直同期信号の論理積を生成するものである。すなわち、この論理積ゲート３３６は、垂直同期信号がアサートされている期間に、条件Ｆ０の成立を出力する。
【００６０】
図５は、本技術の実施の形態におけるラインカウンタ３２０の一構成例を示す図である。このラインカウンタ３２０は、フレームカウンタ３１０と同様の構成を有しており、水平同期信号がアサートされるとラインカウントをインクリメントする。このラインカウンタ３２０は、フリップフロップ３２１の出力Ｑを、８ビットのフレームカウントの値（ｌ＿ｃｎｔ）として出力する。
【００６１】
「ＲＥＧ＿ＦＣＮＴ＿ＲＳＴ」は、制御レジスタ２００に設定された１ビットの値であり、フリップフロップ３２１のリセット信号である。「ＲＥＧ＿ＦＣＮＴ＿ＭＡＸ」は、制御レジスタ２００に設定された８ビットの値であり、ラインカウンタの最大値を設定する。
【００６２】
これ以外の構成はフレームカウンタ３１０と同様であるため、詳細な説明は省略する。
【００６３】
図６は、本技術の実施の形態におけるライン条件判定部３４０の一構成例を示す図である。ここでは、ライン条件Ｖ０を判定するライン条件判定部３４０の構成例を示す。他のライン条件Ｖ１についても同様である。
【００６４】
このライン条件判定部３４０は、フレーム条件判定部３３０と同様の構成を有しており、垂直同期信号がアサートされている期間に、ラインカウンタ３２０からのラインカウントｌ＿ｃｎｔに関する条件Ｖ０の成立を出力する。
【００６５】
「ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｖ０」は、制御レジスタ２００に設定された８ビットの値であり、ラインカウントの条件を設定する。「ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｖ０」は、制御レジスタ２００に設定された８ビットの値であり、比較部３４１における比較対象ビットを設定する。「ＲＥＧ＿ＦＬＧ＿ＧＰ＿Ｖ０」は、制御レジスタ２００に設定された１ビットの値であり、条件Ｖ０の判定を強制的に有効に設定する。
【００６６】
これ以外の構成はフレーム条件判定部３３０と同様であるため、詳細な説明は省略する。
【００６７】
図７は、本技術の実施の形態におけるライン範囲判定部３５０の一構成例を示す図である。このライン範囲判定部３５０は、フリップフロップ３５１と、論理和ゲート３５２とを備える。
【００６８】
フリップフロップ３５１は、有効画素領域の開始ラインを規定する内部信号「ＬＩＮＥ＿ＳＴ」がアサートされると「１」を保持し、有効画素領域の終了ラインを規定する内部信号「ＬＩＮＥ＿ＥＤ」がアサートされると「０」クリアされる。
【００６９】
論理和ゲート３５２は、フリップフロップ３５１の出力、内部信号「ＬＩＮＥ＿ＳＴ」および「ＬＩＮＥ＿ＥＤ」の論理和を生成するものである。すなわち、この論理和ゲート３５２は、対象となるラインが有効画素領域に含まれる場合に、有効信号をアサートして出力する。
【００７０】
＜２．画素領域とプログラムの関係＞
［画素領域］
図８は、本技術の実施の形態において対象となるフレームの画素領域の一例を示す図である。１つのフレームにおいては、左上から走査され、右端で折り返して次のラインの走査に移行する。フレームの最上部は前ブランク領域７１１、最下部は後ブランク領域７１２である。この前ブランク領域７１１および後ブランク領域７１２には各フレームの垂直同期信号が含まれる。この実施の形態では、垂直同期信号はフレームカウンタ３１０において参照される。
【００７１】
前ブランク領域７１１および後ブランク領域７１２以外の領域内においては、ラインの先頭部分にヘッダ領域７２１が設けられる。このヘッダ領域７２１には、各ラインの水平同期信号が含まれる。この実施の形態では、水平同期信号はラインカウンタ３２０において参照される。
【００７２】
画素領域の中央が有効画素領域７４１であり、画像データの表示部分となる。この実施の形態では、有効画素領域の開始ラインは内部信号「ＬＩＮＥ＿ＳＴ」によって規定され、有効画素領域の終了ラインは内部信号「ＬＩＮＥ＿ＥＤ」によって規定される。この実施の形態では、有効画素領域７４１においてライン単位でプログラムまたはプログラムエントリを切り替えることができる。
【００７３】
有効画素領域７４１の上下には、ＯＰＢ（Optical Black）領域７３１および７３２が存在する。このＯＰＢ領域７３１および７３２は、信号処理における黒レベルの基準を設定するための領域である。この実施の形態では、ライン範囲判定部３５０による判定結果によって、ＯＰＢ領域７３１および７３２に対して専用のプログラムを適用することができる。
【００７４】
［プログラム］
図９は、本技術の実施の形態における命令メモリ３７０に保持されるプログラムの一例を示す図である。この例では、４つのフレーム条件Ｆ０乃至Ｆ３に対応する４つのプログラムを想定する。また、２つのライン条件Ｖ０およびＶ１に対応する２つのプログラムエントリをそれぞれのプログラムに設けることを想定する。
【００７５】
フレーム条件Ｆ０に対応するプログラムは、対象となる画素についてガウシアンフィルタの処理を行うプログラムである。フレーム条件Ｆ１に対応するプログラムは、対象となる画素についてＳｏｂｅｌフィルタの処理を行うプログラムである。フレーム条件Ｆ２に対応するプログラムは、対象となる画素についてシャープネスフィルタの処理を行うプログラムである。フレーム条件Ｆ３に対応するプログラムは、画素に対する処理を行わないプログラムである。
【００７６】
フレーム条件Ｆ０が成立した場合には、命令メモリ３７０において、ベースアドレスにオフセットアドレス「ＲＥＧ＿ＯＦＳ＿Ｆ０」を加算したアドレスが参照され、命令がフェッチされる。また、さらにライン条件Ｖ０が成立した場合には、さらにオフセットアドレス「ＲＥＧ＿ＯＦＳ＿Ｖ０」を加算したアドレスが参照される。一方、ライン条件Ｖ１が成立した場合には、さらにオフセットアドレス「ＲＥＧ＿ＯＦＳ＿Ｖ１」を加算したアドレスが参照される。
【００７７】
フレーム条件Ｆ１乃至３が成立した場合についても同様である。
【００７８】
［画素単位の切替え］
図１０は、本技術の実施の形態における画素単位のプログラム切替えの例を示す図である。この例では、イメージセンサ４００からプロセッシングエレメント５２０に対してライン毎に画像データが供給される様子を示している。ここでは、画像データがベイヤー配列によるＲＧＢ画素からなるものと想定する。すなわち、あるラインデータは赤画素（Ｒ）と緑画素（Ｇｒ）の繰り返しからなるライン（以下、Ｒラインと称する。）であり、その隣接するラインデータは、緑画素（Ｇｂ）と青画素（Ｂ）の繰り返しからなるライン（以下、Ｂラインと称する。）である。
【００７９】
このような画像データに対して、この実施の形態では、Ｒライン用のプログラムとＢライン用のプログラムとをライン単位で交互に切り替える。Ｒライン用プログラムは、ＲとＧｒの画素に特化した演算を含むプログラムである。Ｂライン用プログラムは、ＢとＧｂの画素に特化した演算を含むプログラムである。プロセッシングエレメント５２０は、命令制御部３００からの制御に従って、これらのプログラムを交互に列並列に実行する。
【００８０】
このとき、命令制御部３００は、信号線３９２を介して、プロセッシングエレメント５２０のそれぞれに対して、それぞれ独立した制御信号を供給する。この制御信号は、制御レジスタ２００に設定された値であり、列毎に交互に異なる値を示す。
【００８１】
例えば、Ｒライン用プログラムを実行する際、赤画素（Ｒ）を処理対象とするプロセッシングエレメント５２０に対しては「０」、緑画素（Ｇｒ）を処理対象とするプロセッシングエレメント５２０に対しては「１」を供給する。プロセッシングエレメント５２０においては、赤画素（Ｒ）に特化した演算結果と緑画素（Ｇｒ）に特化した演算結果がともに算出され、その後、制御信号に従って何れか一方の演算結果のみが出力される。
【００８２】
Ｂライン用プログラムについても同様に、青画素（Ｂ）に特化した演算結果と緑画素（Ｇｂ）に特化した演算結果がともに算出され、その後、制御信号に従って何れか一方の演算結果のみが出力される。このようにして、列並列に共通のプログラムを実行しながら、列毎に異なる出力を得ることができる。
【００８３】
なお、この例では、プロセッシングエレメント５２０のそれぞれに供給される制御信号を１ビットとしたが、それぞれ複数ビットを供給するようにしてもよい。例えば、制御信号を２ビットにすれば、４つの演算結果の中から１つの演算結果を選択することができるようになる。
【００８４】
図１１は、本技術の実施の形態において対象となるフレームの画素領域とプログラムとの関係例を示す図である。
【００８５】
有効画素領域７４１においては、ライン単位でプログラムＸ、プログラムＹ、プログラムＺを切り替えることができる。また、上述の列単位の制御信号を利用することにより、１つのラインの中であたかも複数のプログラムＸおよびプログラムＹを切り替えるように、演算結果を出力することができる。
【００８６】
また、ライン範囲判定部３５０による判定結果によって、ＯＰＢ領域７３１および７３２に対しては専用のプログラムＷを適用することができる。
【００８７】
［具体例］
図１２は、本技術の実施の形態におけるプログラム切替えの第１の具体例を示す図である。この例では、２つのプログラムをフレーム毎に交互に実行することを想定している。
【００８８】
ここで、制御レジスタ２００には以下の値が設定されているものとする。なお、「０ｘ」で始まる数字は１６進数であることを示している。
ＲＥＧ＿ＯＦＳ＿Ｆ０［９：０］＝０ｘ００００
ＲＥＧ＿ＯＦＳ＿Ｆ１［９：０］＝０ｘ０１００
ＲＥＧ＿ＯＦＳ＿Ｆ２［９：０］＝０ｘ０２００
ＲＥＧ＿ＯＦＳ＿Ｆ３［９：０］＝０ｘ０３００
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ０［７：０］＝０ｘ００
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ１［７：０］＝０ｘ０１
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ２［７：０］＝０ｘ００
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ３［７：０］＝０ｘ００
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ０［７：０］＝０ｘ００
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ１［７：０］＝０ｘ０１
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ２［７：０］＝０ｘ００
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ３［７：０］＝０ｘ００
【００８９】
この例によれば、フレームカウントの最下位ビットが「０」であればプログラムＰｒｇ０が選択され、フレームカウントの最下位ビットが「１」であればプログラムＰｒｇ１が選択される。したがって、偶数フレームと奇数フレームにおいて交互にプログラムを切り替えることができる。
【００９０】
図１３は、本技術の実施の形態におけるプログラム切替えの第２の具体例を示す図である。この例では、２つのプログラムを切り替える場合において、一方のプログラムを実行しながら３フレームに１回だけ他方のプログラムを実行することを想定している。
【００９１】
ここで、制御レジスタ２００には以下の値が設定されているものとする。
ＲＥＧ＿ＯＦＳ＿Ｆ０［９：０］＝０ｘ００００
ＲＥＧ＿ＯＦＳ＿Ｆ１［９：０］＝０ｘ０１００
ＲＥＧ＿ＯＦＳ＿Ｆ２［９：０］＝０ｘ０２００
ＲＥＧ＿ＯＦＳ＿Ｆ３［９：０］＝０ｘ０３００
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ０［７：０］＝０ｘ００
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ１［７：０］＝０ｘ０１
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ２［７：０］＝０ｘ００
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ３［７：０］＝０ｘ００
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ０［７：０］＝０ｘ００
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ１［７：０］＝０ｘＦＦ
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ２［７：０］＝０ｘ００
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ３［７：０］＝０ｘ００
ＲＥＧ＿ＦＣＮＴ＿ＭＡＸ［７：０］＝０ｘ０２
【００９２】
この例では、フレームカウントの最大値「ＲＥＧ＿ＦＣＮＴ＿ＭＡＸ」が「２」に設定されており、フレームカウントは「０」、「１」、「２」を繰り返す。そして、フレームカウントが「１」になったときのみプログラムＰｒｇ１を実行し、それ以外にはプログラムＰｒｇ０を実行する。これにより、３フレームに１回だけプログラムＰｒｇ１を実行することができる。
【００９３】
図１４は、本技術の実施の形態におけるプログラム切替えの第３の具体例を示す図である。この例では、３つのプログラムを切り替える場合において、第１のプログラムを１フレームおきに実行する一方で、第２のプログラムおよび第３のプログラムをそれぞれ３フレームおきに実行する。すなわち、第１のプログラム、第２のプログラム、第１のプログラム、第３のプログラムという順番でプログラムを切り替える。
【００９４】
ここで、制御レジスタ２００には以下の値が設定されているものとする。
ＲＥＧ＿ＯＦＳ＿Ｆ０［９：０］＝０ｘ００００
ＲＥＧ＿ＯＦＳ＿Ｆ１［９：０］＝０ｘ０１００
ＲＥＧ＿ＯＦＳ＿Ｆ２［９：０］＝０ｘ０２００
ＲＥＧ＿ＯＦＳ＿Ｆ３［９：０］＝０ｘ０３００
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ０［７：０］＝０ｘ００
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ１［７：０］＝０ｘ０１
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ２［７：０］＝０ｘ０３
ＲＥＧ＿ＰＲＭ＿ＧＰ＿Ｆ３［７：０］＝０ｘ００
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ０［７：０］＝０ｘ００
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ１［７：０］＝０ｘ０１
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ２［７：０］＝０ｘ０３
ＲＥＧ＿ＶＬＤＢＩＴ＿ＧＰ＿Ｆ３［７：０］＝０ｘ００
【００９５】
この例では、条件Ｆ０乃至Ｆ３のうち、条件Ｆ３が最も優先度が高く、次にＦ２、次にＦ３、最後にＦ０が選択されるように設定されることを前提とする。条件Ｆ２は４フレームに１回条件が成立する。一方、条件Ｆ１は２フレームに１回条件が成立するが、そのうち２回に１回は条件Ｆ２が同時に成立するため、結果的に優先度のより高い条件Ｆ２が選択される。また、これら条件Ｆ１およびＦ２が成立しないフレームについては条件Ｆ０が成立する。したがって、第１のプログラム、第２のプログラム、第１のプログラム、第３のプログラムという順番でプログラムの切替えを行うことができる。
【００９６】
なお、上述の具体例ではフレーム単位のプログラム切替えの例を示したが、ライン単位のプログラム切替えについても同様に適用可能である。
【００９７】
図１５は、本技術の実施の形態におけるプログラム切替えの第４の具体例を示す図である。この例では、１フレーム内の各ラインについてプログラムまたはプログラムエントリの切替えを行う。すなわち、フレーム条件Ｆ０が成立した場合には水平差分演算のプログラムを実行する。その際、ライン条件Ｖ０が同時に成立した場合にはＳｏｂｅｌフィルタ処理を行う。また、フレーム条件Ｆ１が成立した場合には垂直差分演算のプログラムを実行する。その際、ライン条件Ｖ０が同時に成立した場合にはガウシアンフィルタ処理を行う。
【００９８】
ここで、制御レジスタ２００には以下の値が設定されているものとする。
ＲＥＧ＿ＯＦＳ＿Ｆ０［９：０］＝０ｘ００００
ＲＥＧ＿ＯＦＳ＿Ｆ１［９：０］＝０ｘ０１００
ＲＥＧ＿ＯＦＳ＿Ｖ０［９：０］＝０ｘ００４０
ＲＥＧ＿ＯＦＳ＿ＦＯＦＦ＝０
ＲＥＧ＿ＯＦＳ＿ＶＯＦＦ＝０
【００９９】
この場合、偶数フレームにおいては、第０乃至３１ラインについては水平差分演算が実行され、第３２乃至６３ラインについてはＳｏｂｅｌフィルタ処理が行われる。また、第６４ライン以降は水平差分演算が実行される。
【０１００】
一方、奇数フレームにおいては、第０乃至３１ラインについては垂直差分演算が実行され、第３２乃至６３ラインについてはガウシアンフィルタ処理が行われる。また、第６４ライン以降は垂直差分演算が実行される。
【０１０１】
図１６は、本技術の実施の形態におけるプログラム切替えの第５の具体例を示す図である。この例では、１フレーム内の各ラインについてプログラムの切替えを行う。すなわち、上述の第４の具体例ではライン条件Ｖ０成立時にプログラム内の特定エントリから実行していたが、ライン条件が成立した場合にもプログラムを先頭から実行するようにしてもよい。この例では、フレーム条件Ｆ０が成立した場合には水平差分演算のプログラムを実行する。フレーム条件Ｆ１が成立した場合には垂直差分演算のプログラムを実行する。また、ライン条件Ｖ０が同時に成立した場合にはガウシアンフィルタ処理を行う。
【０１０２】
ここで、制御レジスタ２００には以下の値が設定されているものとする。
ＲＥＧ＿ＯＦＳ＿Ｆ０［９：０］＝０ｘ００００
ＲＥＧ＿ＯＦＳ＿Ｆ１［９：０］＝０ｘ０１００
ＲＥＧ＿ＯＦＳ＿Ｖ０［９：０］＝０ｘ０２００
ＲＥＧ＿ＯＦＳ＿ＦＯＦＦ＝１
ＲＥＧ＿ＯＦＳ＿ＶＯＦＦ＝０
【０１０３】
この場合、「ＲＥＧ＿ＯＦＳ＿ＦＯＦＦ」が「１」に設定されているため、ライン条件とフレーム条件が同時に成立した場合、フレーム条件のオフセットアドレスが非加算となる。その結果、偶数フレームにおいては、第０乃至３１ラインについては水平差分演算が実行され、第３２乃至６３ラインについてはガウシアンフィルタ処理が行われる。また、第６４ライン以降は水平差分演算が実行される。
【０１０４】
一方、奇数フレームにおいては、第０乃至３１ラインについては垂直差分演算が実行され、第３２乃至６３ラインについてはガウシアンフィルタ処理が行われる。また、第６４ライン以降は垂直差分演算が実行される。
【０１０５】
このように、この実施の形態によれば、プロセッシングエレメント５２０において実行されるプログラムまたはプログラムエントリを、フレーム単位またはライン単位で切り替えることができる。また、対象となるラインが有効画素領域に含まれるか否かによってプログラムを切り替えることができる。
【０１０６】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１０７】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【０１０８】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【０１０９】
なお、本技術は以下のような構成もとることができる。
（１）画像データを構成するラインデータを並列に処理する複数のプロセッシングエレメントと、
前記ラインデータのラインカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を前記複数のプロセッシングエレメントに対して供給する命令制御部と
を具備する画像データ処理回路。
（２）前記命令制御部は、前記複数のプロセッシングエレメントに対してそれぞれ独立した制御信号を供給し、
前記複数のプロセッシングエレメントは、前記選択されたプログラムの実行結果のうち前記制御信号の制御内容に合致するものを出力する
前記（１）に記載の画像データ処理回路。
（３）前記命令制御部は、
前記複数のプログラムのそれぞれについて前記命令列を供給する条件を満たすか否かを前記ラインカウント毎に判定するライン条件判定部と、
前記複数のプログラムのうち少なくとも２つが前記ライン条件判定部における条件を満たした場合に所定の優先順位に従って１つのプログラムを選択するライン条件選択部とを備える
前記（１）または（２）に記載の画像データ処理回路。
（４）前記ライン条件判定部は、ビット表現された前記ラインカウントの一部のビットを用いて前記判定を行う前記（３）に記載の画像データ処理回路。
（５）前記命令制御部は、前記ラインカウントについて有効な画素領域内であるか否かを判定し、その判定結果に応じて前記複数のプログラムの１つを選択する前記（１）から（４）のいずれかに記載の画像データ処理回路。
（６）前記画像データは、時系列に入力される動画像データを構成するフレームであり、
前記命令制御部は、前記動画像データにおけるフレームカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を前記複数のプロセッシングエレメントに対して供給する
前記（１）から（５）のいずれかに記載の画像データ処理回路。
（７）前記命令制御部は、
前記複数のプログラムのそれぞれについて前記命令列を供給する条件を満たすか否かを前記フレームカウント毎に判定するフレーム条件判定部と、
前記複数のプログラムのうち少なくとも２つが前記フレーム条件判定部における条件を満たした場合に所定の優先順位に従って１つのプログラムを選択するフレーム条件選択部とを備える
前記（６）に記載の画像データ処理回路。
（８）前記フレーム条件判定部は、ビット表現された前記フレームカウントの一部のビットを用いて前記判定を行う前記（７）に記載の画像データ処理回路。
（９）被写体からの光を光電変換して画像データを生成するイメージセンサと、
前記画像データを構成するラインデータを並列に処理する複数のプロセッシングエレメントと、前記ラインデータのラインカウントに応じて複数のプログラムの１つを選択してその選択されたプログラムの命令列を前記複数のプロセッシングエレメントに対して供給する命令制御部とを備える画像データ処理回路と
を具備する撮像装置。
【符号の説明】
【０１１０】
１００  システム制御部
２００  制御レジスタ
３００  命令制御部
３１０  フレームカウンタ
３１１  フリップフロップ
３１２  加算器
３１３  イネーブラ
３１４  比較器
３１５  論理和ゲート
３２０  ラインカウンタ
３２１  フリップフロップ
３３０  フレーム条件判定部
３３１  比較部
３３２  否定排他的論理和（ＸＮＯＲ）ゲート
３３３  論理積ゲート
３３４  一致検出部
３３５  論理和ゲート
３３６  論理積ゲート
３４０  ライン条件判定部
３４１  比較部
３５０  ライン範囲判定部
３５１  フリップフロップ
３５２  論理和ゲート
３６１〜３６４、３６７  選択器
３６５  加算可否判定部
３６６  オフセット加算器
３７０  命令メモリ
３８０  命令デコーダ
４００  イメージセンサ
５００  信号処理部
５１０、５３０  ラインバッファ
５２０  プロセッシングエレメント
６００  画像処理部
【図１】
2017126811.tif 000003
【図２】
2017126811.tif 000004
【図３】
2017126811.tif 000005
【図４】
2017126811.tif 000006
【図５】
2017126811.tif 000007
【図６】
2017126811.tif 000008
【図７】
2017126811.tif 000009
【図８】
2017126811.tif 000010
【図９】
2017126811.tif 000011
【図１０】
2017126811.tif 000012
【図１１】
2017126811.tif 000013
【図１２】
2017126811.tif 000014
【図１３】
2017126811.tif 000015
【図１４】
2017126811.tif 000016
【図１５】
2017126811.tif 000017
【図１６】
2017126811.tif 000018