(57)【要約】      （修正有）【課題】複数の画像処理プロセッサにより、異なる種類の画像処理を並列して行い、さらに２以上の画像処理プロセッサが、同じ画像処理を並列実行する、画像処理装置及び撮像装置を提供する。【解決手段】先頭に位置する第１の画像処理プロセッサ１００は、下流に位置する各画像処理プロセッサが担当する領域の情報を取得し、入力画像データに対して所定の画像処理を行うと共に、取得情報に基づき、着目ブロックを利用する画像処理プロセッサを特定し、特定した画像処理プロセッサを表すアドレスを持つパケットを生成し、下流に送信する。第１画像処理プロセッサを除く第ｎ画像処理プロセッサ１１０、１２０・・・は、パケットを受信し、受信着目パケットに第ｎの画像処理プロセッサのアドレスが含まれているか否かを判定し、第ｎの画像処理プロセッサのアドレスが含まれている場合には、着目パケットのブロックを第ｎの画像処理プロセッサに供給する。【選択図】図１
2018097692.tif 000002
【特許請求の範囲】
【請求項１】
カスケード接続された複数の画像処理プロセッサを有する画像処理装置であって、
前記複数の画像処理プロセッサにおける、先頭に位置する第１の画像処理プロセッサは、
画像データを入力する入力手段と、
前記入力手段により入力された画像データのうち、前記複数の画像処理プロセッサがそれぞれ担当する領域を決定する決定手段と、
前記入力手段により入力した前記画像データのうち、前記決定手段により決定された前記第１の画像処理プロセッサが担当する領域の画像データに対して所定の画像処理を行う第１の画像処理手段と、
前記入力手段により入力された画像データのうち、前記決定手段により決定された前記下流の画像処理プロセッサが担当する領域の画像データと、前記下流の各画像処理プロセッサが担当する領域を識別するための識別情報とを、下流の第２の画像処理プロセッサに送信する第１の送信手段とを有し、
前記第１の画像処理プロセッサを除く第ｎ（ｎは２以上の整数）の画像処理プロセッサは、
上流の画像処理プロセッサから画像データと前記識別情報とを受信する受信手段と、
第ｎの画像処理手段と、
前記受信手段により受信された前記識別情報に基づいて、前記受信手段により受信された画像データのうち、前記第ｎの画像処理プロセッサが担当する領域の画像データを前記第ｎの画像処理手段に出力する出力手段とを有し、
前記第ｎの画像処理手段は前記出力手段から出力された、前記第ｎの画像処理プロセッサが担当する領域の画像データの画像処理を行うことを特徴とする画像処理装置。
【請求項２】
前記第ｎの画像処理プロセッサは、
下流にｎ＋１の画像処理プロセッサがある場合に、前記第ｎ＋１の画像処理プロセッサにデータ転送を行う第ｎの送信手段を有し、
前記出力手段は、前記受信手段により受信された前記識別情報に基づいて、前記受信手段により受信された画像データのうち、前記第ｎの画像処理プロセッサが担当する領域以外の画像データを前記第ｎの送信手段に出力し、
前記第ｎの送信手段は、前記第ｎの画像処理プロセッサが担当する領域以外の画像データと前記識別情報とを、前記第ｎ＋１の画像処理プロセッサに送信する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記領域は、前記画像データの１ラインを単位とすることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記複数の画像処理プロセッサのうち２以上は、前記画像データの互いに異なる領域に対して、同じ種類の画像処理を行うことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１の画像処理プロセッサは、前記画像データにおける、各画像処理プロセッサが処理する領域の先頭の位置を特定するフラグを、パケットのヘッダに含めて下流の画像処理プロセッサに送信することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記入力手段が入力する画像データの発生源は、所定のフレームレートで撮像する撮像手段であることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記第ｎの画像処理プロセッサは、前記第ｎの画像処理手段で処理して得た画像データを一時的に記憶するメモリを有し、
前記第ｎの送信手段は、下流に送信すべきパケットを前記受信手段で受信しない期間にて、前記メモリに格納された画像データを読み出し、第ｎの画像処理プロセッサによる処理済みであることを示す識別フラグをヘッダに含めたパケットを下流の画像処理プロセッサに送信する
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記複数の画像処理プロセッサのうち２以上は、前記画像データの互いに異なる領域に対して同じ種類の画像処理を行い、
当該同じ種類の画像処理を行う画像処理プロセッサのうちの最下流に位置する画像処理プロセッサは、自身で処理した画像データと、上流に位置する同じ画像処理を行う画像処理プロセッサからの処理済みの画像データとから処理済みの１フレーム分の画像データとして出力する出力手段を有する
ことを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
請求項１乃至８のいずれか１項に記載の画像処理装置を搭載した撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像処理プロセッサによる画像処理技術に関するものである。
【背景技術】
【０００２】
近年のイメージセンサの高画質化、高フレームレート化に伴って、画像処理プロセッサに求められる処理性能が上がってきている。これに伴って複数の画像処理プロセッサで画像を分割処理する技術が提案されている。
【０００３】
例えば特許文献１では、マスタである画像処理プロセッサが1枚の画像を複数に分割してスレーブとなる画像処理プロセッサへ送信し、画像処理を並列に行う例が示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１８２５０４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した特許文献１では、処理を分担する画像処理プロセッサの数は２つに限らない旨が記載されているが、２つ以上の複数の画像処理プロセッサへ送信する分割データの分割方法や、分割データの送信方法について具体的に述べられていない。
【０００６】
また、上述した特許文献１で記載の技術は、複数の画像処理プロセッサで１つの処理を分担して行うものであり、複数の画像処理プロセッサがそれぞれ異なる処理を並列に行う場合に適した画像データの分割方法については述べられていない。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
カスケード接続された複数の画像処理プロセッサを有する画像処理装置であって、
前記複数の画像処理プロセッサにおける、先頭に位置する第１の画像処理プロセッサは、
画像データを入力する入力手段と、
前記入力手段により入力された画像データのうち、前記複数の画像処理プロセッサがそれぞれ担当する領域を決定する決定手段と、
前記入力手段により入力した前記画像データのうち、前記決定手段により決定された前記第１の画像処理プロセッサが担当する領域の画像データに対して所定の画像処理を行う第１の画像処理手段と、
前記入力手段により入力された画像データのうち、前記決定手段により決定された前記下流の画像処理プロセッサが担当する領域の画像データと、前記下流の各画像処理プロセッサが担当する領域を識別するための識別情報とを、下流の第２の画像処理プロセッサに送信する第１の送信手段とを有し、
前記第１の画像処理プロセッサを除く第ｎ（ｎは２以上の整数）の画像処理プロセッサは、
上流の画像処理プロセッサから画像データと前記識別情報とを受信する受信手段と、
第ｎの画像処理手段と、
前記受信手段により受信された前記識別情報に基づいて、前記受信手段により受信された画像データのうち、前記第ｎの画像処理プロセッサが担当する領域の画像データを前記第ｎの画像処理手段に出力する出力手段とを有し、
前記第ｎの画像処理手段は前記出力手段から出力された、前記第ｎの画像処理プロセッサが担当する領域の画像データの画像処理を行うことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、複数の画像処理プロセッサにより、異なる種類の画像処理を並列して行うと共に、しかも画像処理プロセッサのうちの２以上は、領域分担した同じ画像処理を並列して行うことも可能になる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態における画像処理システムのブロック構成図。
【図２】第１の実施形態におけるマスタの画像データの割り振り処理を示すフローチャート。
【図３】第１の実施形態におけるスレーブの画像データの割り振り処理を示すフローチャート。
【図４】第１の実施形態においてマスタが生成するラインデータのデータ構造を示す図。
【図５】第１の実施形態における画像データの転送シーケンスを示す図。
【図６】第２の実施形態における画像処理システムのブロック構成図。
【図７】第２の実施形態においてスレーブの画像データの割り振り処理を示すフローチャート。
【図８】第２の実施形態においてスレーブの処理内容を示すフローチャート。
【図９】第２の実施形態において画像データの転送シーケンスを示す図。
【図１０】第２の実施形態においてスレーブ１から送信するラインデータのデータ構造を示す図。
【図１１】第３の実施形態における画像処理システムのブロック構成図。
【図１２】第３の実施形態においてマスタ、スレーブ１が生成するラインデータのデータ構造を示す図。
【発明を実施するための形態】
【００１０】
以下図面に従って本発明に係る実施形態を詳細に説明する。なお、実施形態では、複数の画像処理プロセッサを有する画像処理システムとして、ビデオカメラに搭載する例を説明するが、撮像手段等の、処理対象の画像データ発生源として機能を有するデバイス（例えばスマートホン等）にも適用できるので、以下の実施形態によって本発明が限定されるものではない。
【００１１】
［第１の実施形態］
図１は、第１の実施形態における撮像装置の主要部分のブロック構成図である。なお、ユーザが操作する操作部、液晶表示器などによる表示に係る構成等は、本発明には直接には関係がないので、それらは省いている。
【００１２】
撮像装置は、バス２０６を介して装置全体の制御を司る制御部２０１（ＣＰＵ等のプロセッサで構成される）、制御部２０１が実行するプログラム及び各種データを記憶するＲＯＭ２０２、制御部２０１等がワークエリアとして使用するＲＡＭ２０３を有する。撮像装置は、ＲＡＭ２０３に記憶された画像データを外部のメモリカード等の記憶媒体に書き込みを行う出力部２０４を有する。また、撮像装置は、ベイヤ配列のカラーフィルタを搭載した撮像部２００、並びに、カスケード接続された３つ画像処理プロセッサ１００、１１０，１２０を有する。撮像部２１０は、例えば３０フレーム／秒のフレームレートで撮像を行う。また、３つの画像処理プロセッサのうち、撮像部２１０に最も近い画像処理プロセッサ１００をマスタ、真ん中の画像処理プロセッサ１１０をスレーブ１、最後段の画像処理プロセッサ１２０をスレーブ２と呼ぶ。また、データの送信先の画像プロセッサを特定するアドレス（又はＩＤ）であるが、スレーブ１のアドレスを１、スレーブ２のアドレスを２とする。また、画像処理プロセッサ１００，１１０，１２０は、バス２０６を介してＲＡＭ２０３にアクセス可能とする。各画像処理プロセッサ１００、１１０、１２０はそれぞれ、一つの半導体集積回路チップ（ＩＣチップ）として構成されている。
【００１３】
実施形態では、説明を単純化するため、マスタ（画像処理プロセッサ１００）は、撮像された画像中の人物の顔を認識する認識処理を実行する。スレーブ１、２（画像処理プロセッサ１１０、１２０）は共に、撮像部２１０からのベイヤ配列の画像データ（ＲＡＷ画像データ）における欠陥画素の検出処理、欠陥画素をその周りの有効画素から補間する補間処理、並びに、デモザイク処理等を含む現像処理を分担して処理する例を説明する。そして、実施形態では、マスタとスレーブ１、２とが、並列して処理を実行する例を説明する。
【００１４】
詳細は後述する説明から明らかになるが、ＲＯＭ２０２には、マスタ、スレーブ１、２が処理する画像データの領域に係る情報が記憶されている。制御部２０１は、その情報を読み出し、マスタに設定する。
【００１５】
マスタは、撮像部２１０からのＲＡＷ画像データをライン単位に入力する。カウンタ１０１で画像のライン数やフレーム数をカウントする。カウンタ１０１はそのカウント値を領域指定回路１０２とアドレス生成回路１０４へ出力する。領域指定回路１０２はカウント値と、制御部２０１から設定された自プロセッサで処理する領域の情報と他プロセッサで処理する領域の情報を受け、出力先制御回路１０３へ出力先指示信号を出力する。
【００１６】
出力先制御回路１０３は出力先指示信号を受け、入力された画像データを画像処理回路１０５と送信データ生成回路１０６へ出力する。出力先の制御の詳細については後述する。
【００１７】
アドレス生成回路１０４はカウント値とマスタが保持する第２の領域情報を受けてアドレスを生成し、送信データ生成回路１０６へ出力する。また、アドレス生成回路１０４は、画像処理の最初のラインを表す先頭フラグも生成する（詳細後述）。
【００１８】
画像処理回路１０５は、撮像部２１０から入力した画像データを所定の割合で間引きして画素数を減らした上で、顔認識処理を行う。顔認識処理は、人物の顔に焦点を合わせるためであって、撮像画像中内の人間の顔の位置を検出する。画像処理回路１０５は、顔検出の有無、並びに、画像中の顔の位置を示す情報を、バス２０６を介してＲＡＭ２０３に書き込む。
【００１９】
送信データ生成回路１０６は、入力されたスレーブ１もしくはスレーブ２で処理する領域にアドレス情報を付与して、パケット化された送信データ（ラインデータ）を生成する。アドレス情報の他には送信データのパケット化に必要なヘッダデータやフッタデータなどを付与する。生成した送信データはシリアルデータに変換して、送信に使用する送信レーンの数に応じて出力する。差動信号ドライバ回路１０７は、送信データ生成回路１０６から受信したシリアルデータを差動信号として出力する。
【００２０】
スレーブ１は、差動信号レシーバ回路１１１がマスタからの差動信号を受信し、シリアルデータとして受信データ抽出回路１１２へ出力する。受信データ抽出回路１１２は受信したシリアルデータに対してワードアラインを取ってパラレルデータを取り出す。受信データ抽出回路１１２は、更に取り出したパラレルデータからマスタとの間で決められたヘッダやフッタ等のフォーマットに従って画像データとアドレス情報、その他ヘッダに含まれる付加情報を取り出す。そして、受信データ抽出回路１１２は、画像データと付加情報を出力先制御回路１１３へ、アドレス情報をアドレスデコード回路１１４へ出力する。
【００２１】
アドレスデコード回路１１４は受信データ抽出回路１１２からアドレス情報を受け、スレーブ１が保持する自プロセッサアドレス情報と比較して出力先制御回路１１３へ出力先指示信号を出力する。また、アドレスデコード回路１１４は、受信したアドレス情報に自プロセッサのアドレス以外のアドレスが含まれる場合、自身のアドレスを除いて、送信データ生成回路１１６へ送信する。
【００２２】
出力先制御回路１１３は出力先指示信号を受け、入力された画像データのうち、スレーブ１で処理する領域を画像処理回路１１５へ出力する。また、出力先制御回路１１３はスレーブ２で処理する領域については送信データ生成回路１１６へ出力する。画像処理回路１１５は、スレーブ１が処理することになる領域に対して現像処理を行い、その現像処理結果を、バス２０６を介してＲＡＭ２０３に書き込む。
【００２３】
送信データ生成回路１１６は、入力されたスレーブ２で処理する領域にアドレス情報を付与して送信データを生成し、データをシリアルデータに変換して、送信に使用する送信レーンの数に応じて出力する。差動信号ドライバ回路１１７は、送信データ生成回路１１６から受信したシリアルデータを差動信号としてスレーブ２に向けて出力する。
【００２４】
スレーブ２の機能ブロック１２０から１２７についてはスレーブ１の機能ブロック１１０から１１７と同様であるので説明を省略する。
【００２５】
図２は、本実施形態におけるマスタ（画像処理プロセッサ１００）が自プロセッサ宛ての領域と他プロセッサ宛ての領域のそれぞれの出力先を制御する動作を示したフローチャートである。実施形態では、自プロセッサ宛ての領域と他プロセッサ宛ての領域のそれぞれを画像データのライン単位で指定する例を示説明する。
【００２６】
ステップＳ２０１にて、マスタは、画像データに対してマスタで処理する領域とスレーブ１、スレーブ２で処理する領域に関する情報を、制御部２０１から受信する。説明を単純化するため、実施形態における撮像部２１０が撮像するＲＡＷ画像データは１０ラインで構成されるものとする。そして、マスタで処理する領域は１〜１０ライン、スレーブ１で処理する領域を１〜６ライン、スレーブ２で処理する領域を５〜１０ラインと設定されているものとし、マスタはその情報を内部に保持する。スレーブ１，２で処理する領域に重複する部分があるのは、スレーブ１、２が現状処理で用いる２次元フィルタを用いるためである。
【００２７】
ステップＳ２０２にて、マスタは撮像部２１０からのＲＡＷ画像データの入力を開始する。ＲＡＷ画像データにはフレームの先頭や各ラインの先頭を示す同期信号が付与されており、カウンタ１０１はその各ラインの先頭を示す同期信号により入力データのライン数をカウントする。ステップＳ２０３にて、マスタはカウンタ１０１のラインカウント値を取得する。そして、ステップＳ２０４にて、マスタは、ラインカウント値とマスタで処理する領域設定との比較を行う。ラインカウント値がマスタで処理する領域設定の範囲内であればステップＳ２０５へ進み、範囲内でなければステップＳ２０６へ進む。
【００２８】
ステップＳ２０５にて、マスタは、領域指定回路１０２から出力先制御回路１０３へ出力する出力先指示信号について、出力先制御回路１０３から画像処理回路１０５へのインターフェイスを有効にするフラグをセットし、ステップＳ２０７へ進む。ステップＳ２０６にて、マスタは、領域指定回路１０２から出力先制御回路１０３へ出力する出力先指示信号について、出力先制御回路１０３から画像処理回路１０５へのインターフェイスを有効にするフラグをリセットし、ステップＳ２０７へ進む。
【００２９】
ステップＳ２０７にて、マスタは、ラインカウント値とスレーブ１、スレーブ２で処理する領域設定との比較を行う。ラインカウント値がスレーブ１で処理する領域設定の範囲内もしくはスレーブ２で処理する領域設定の範囲内であればステップＳ２０８へ進み、範囲外であればステップＳ２１０へ進む。
【００３０】
ステップＳ２０８にて、マスタは、領域指定回路１０２から出力先制御回路１０３へ出力する出力先指示信号について、出力先制御回路１０３から送信データ生成回路１０６へのインターフェイスを有効にするフラグをセットする。ステップＳ２０９にて、マスタは、アドレス生成回路１０４でアドレス情報と先頭フラグを生成して送信データ生成回路１０６へ出力し、ステップＳ２１１へ進む。
【００３１】
なお、アドレス生成回路１０４は、ラインカウント値がスレーブ１で処理する領域設定の範囲内であればアドレス情報として「１」、ラインカウント値がスレーブ２で処理する領域設定の範囲内であればアドレス情報として「２」を出力する。更に、アドレス生成回路１０４は、ラインカウント値がスレーブ１で処理する領域設定の範囲内であり、且つ、スレーブ２で処理する領域設定の範囲内であれば、アドレス情報として「１＆２」を出力する。また、アドレス生成回路１０４は、スレーブ１もしくはスレーブ２で処理する領域設定の中で領域の一番先頭とラインカウント値が一致する時は先頭フラグを生成する。例えば、スレーブ１の処理する領域設定は１〜６ラインであるのでラインカウント値が１のときに、先頭フラグをセットする。また、スレーブ２の処理する領域設定は５〜１０ラインであるのでラインカウント値が５のときは先頭フラグを設置する。そして、アドレス生成回路１０４は、先頭フラグを送信データ生成回路１０６へ出力する。
【００３２】
ステップＳ２１０にて、マスタは、領域指定回路１０２から出力先制御回路１０３へ出力する出力先指示信号について、出力先制御回路１０３から送信データ生成回路１０６へのインターフェイスを有効にするフラグをリセットし、ステップＳ２１１へ進む。
【００３３】
ステップＳ２１１にて、マスタは、ステップＳ２０５、Ｓ２０６、Ｓ２０８、Ｓ２１０で設定した出力先指示信号を出力先制御回路１０３へ出力してステップＳ２１２へ進む。出力先制御回路１０３は、出力先指示信号の内容により、画像処理回路１０５へのインターフェイスを有効にするフラグがセットされていれば画像データを画像処理回路１０５へ送信し、送信データ生成回路１０６へのインターフェイスを有効にするフラグがセットされていれば画像データを送信データ生成回路１０６へ送信する。画像処理回路１０５へのインターフェイスを有効にするフラグと送信データ生成回路１０６へのインターフェイスを有効にするフラグの両方がセットされている場合は同じ画像データを画像処理回路１０５とデータ生成回路１０６の両方へ送信する。
【００３４】
ステップＳ２１２にて、マスタは、カウンタ１０１で各ラインの先頭を示す同期信号が検出されたかを判別する。検出されていない場合は検出されるまで待機する。検出された場合はステップＳ２１３へ進み、ステップＳ２１３でカウント値をカウントアップしてステップＳ２１４へ進む。
【００３５】
ステップＳ２１４にて、マスタは、カウンタ１０１のラインカウント値がカウンタリセット条件に合致するかどうかを判別する。例えば、画像データからフレームの先頭を示す同期信号を受信した場合は、新たなフレームの入力となるのでカウンタリセットを行う。合致する場合はステップＳ２１５へ進み、カウント値をリセットしてステップＳ２１６へ進む。合致しない場合はステップＳ２１６へ進む。ステップＳ２１６では、マスタ動作の終了指示が行われたかどうかを判別する。終了指示が行われていない場合はステップＳ２０３へ戻り、動作を繰り返す。終了指示が行われている場合は処理を終了する。
【００３６】
図４は、本実施形態においてマスタから送信する送信データを示した概念図である。送信データはアドレスと、先頭フラグと、画像データから成り、ライン単位でパケット化されている。スレーブ１で処理する領域を１〜６ライン、スレーブ２で処理する領域を５〜１０ラインとした設定に従い、各ラインにアドレス情報が付与されている。１フレームの画像データの５ライン目、６ライン目はスレーブ１とスレーブ２の両方で処理する領域であるので「１＆２」というアドレスが付与されている。本実施形態では、マスタで処理する領域は１〜１０ライン、スレーブ１で処理する領域は１〜６ラインであり、マスタとスレーブ１のどちらも画像の先頭から処理している。従って、画像データにフレームの先頭を示す同期信号が付いている場合はその情報によって画像処理回路１０５や１１５が画像の先頭を知ることができる。しかし、スレーブ２で処理する領域は５〜１０ラインであり、画像データの１ライン目にフレームの先頭を示す同期信号が付いていたとしてもその情報は伝わらない。従って、前述したようにアドレス生成回路１０４が先頭フラグを生成し、送信データ生成回路１０６がこれを送信データに付与している。これによって、スレーブ２で処理する領域に先頭のラインが含まれなくても、先頭フラグ情報を伝えることで画像処理回路１２５は画像の先頭を知ることができる。
【００３７】
なお、アドレスや先頭フラグについては例えば送信データ生成回路１０６が付与するパケットのヘッダデータに含まれるようにしてもよい。
【００３８】
図３は、本実施形態においてスレーブ１が自プロセッサ宛ての領域と他プロセッサ（スレーブ２）宛ての領域のそれぞれの出力先を制御する動作を示したフローチャートである。
【００３９】
ステップＳ３０１で、スレーブ１は、自プロセッサのアドレスを設定し、処理をステップＳ３０２へ進める。ここではスレーブ１にアドレス「１」を設定する。ステップＳ３０２にて、スレーブ１は、マスタから画像データの受信を開始する。ステップＳ３０３にて、スレーブ１は、受信データ抽出回路１１２が受信した画像データからアドレスと先頭フラグを抽出してアドレスデコード回路１１４へ出力し、ステップＳ３０４へ進む。
【００４０】
ステップＳ３０４にて、スレーブ１は、アドレスデコード回路１１４により自プロセッサに対するアドレスの画像を受信したか否か判別を行う。ステップＳ１は、受信したアドレスがステップＳ３０１で設定された自プロセッサのアドレスを含んでいれば処理をステップＳ３０５へ進め、含んでいなければステップＳ３０６へ処理を進める。
【００４１】
ステップＳ３０５にて、スレーブ１は、アドレスデコード回路１１４から出力先制御回路１１３へ出力する出力先指示信号について、出力先制御回路１１３から画像処理回路１１５へのインターフェイスを有効にするフラグをセットする。また、アドレスと対応した先頭フラグを含む場合は出力先指示信号について出力先制御回路１１３から画像処理回路１１５への先頭データであることを示すフラグをセットしてステップＳ３０７へ進む。
【００４２】
ステップＳ３０６にて、スレーブ１は、アドレスデコード回路１１４から出力先制御回路１１３へ出力する出力先指示信号について、出力先制御回路１１３から画像処理回路１１５へのインターフェイスを有効にするフラグと、出力先制御回路１１３から画像処理回路１１５への先頭データであることを示すフラグとをリセットし、ステップＳ３０７へ進む。
【００４３】
ステップＳ３０７にて、スレーブ１は、アドレスデコード回路１１４にて他プロセッサに対するアドレスの判別を行わせる。受信したアドレスがステップＳ３０１で設定された自プロセッサのアドレス以外のアドレスを含んでいれば、ステップＳ３０８へ進め、含んでいなければステップＳ３１０へ処理を進める。
【００４４】
ステップＳ３０８にて、スレーブ１は、アドレスデコード回路１１４から出力先制御回路１１３へ出力する出力先指示信号について、出力先制御回路１１３から送信データ生成回路１１６へのインターフェイスを有効にするフラグをセットする。そして、ステップＳ３０９にて、スレーブ１は、アドレスデコード回路１１４が受信したアドレスと先頭フラグに自プロセッサのアドレスと先頭フラグが含まれる場合はそれを除いて、アドレス情報と先頭フラグを生成して送信データ生成回路１０６へ送信してステップＳ３１１へ進む。例えば、受信したデータのアドレス情報が「２」であった場合はそのままそれをアドレス情報として出力し、受信したデータのアドレス情報が「１＆２」であった場合は自プロセッサのアドレスである「１」を除いた「２」をアドレス情報として出力する。
【００４５】
ステップＳ３１０にて、スレーブ１は、アドレスデコード回路１１４から出力先制御回路１１３へ出力する出力先指示信号について、出力先制御回路１１３から送信データ生成回路１１６へのインターフェイスを有効にするフラグをリセットする。
【００４６】
ステップＳ３１１にて、スレーブ１は、ステップＳ３０５、Ｓ３０６、Ｓ３０８、Ｓ３１０で設定した出力先指示信号を出力先制御回路１１３へ出力する。
【００４７】
出力先制御回路１１３は、出力先指示信号の内容により、画像処理回路１１５へのインターフェイスを有効にするフラグがセットされていれば画像データを画像処理回路１１５へ送信し、送信データ生成回路１１６へのインターフェイスを有効にするフラグがセットされていれば画像データを送信データ生成回路１１６へ送信する。画像処理回路１１５へのインターフェイスを有効にするフラグと送信データ生成回路１１６へのインターフェイスを有効にするフラグの両方がセットされている場合は同じ画像データを画像処理回路１１５とデータ生成回路１１６の両方へ送信する。また、出力先指示信号に画像処理回路１１５への先頭データであることを示すフラグがセットされている場合は画像データに先頭データであることを示す付加情報を付与し、画像処理回路１１５へ送信する。
【００４８】
ステップＳ３１２にて、スレーブ１は、動作の終了指示が行われたかどうかを判別する。終了指示が行われていない場合はステップＳ３０２へ戻り、動作を繰り返す。終了指示が行われている場合は処理を終了する。
【００４９】
図５は、本実施形態におけるマスタ、スレーブ１、スレーブ２の画像処理プロセッサ間のデータ転送のシーケンスを示している。実施形態における画像データは１０ラインであり、マスタで処理する領域を１〜１０ライン（全ライン）、スレーブ１で処理する領域を１〜６ライン、スレーブ２で処理する領域を５〜１０ラインとしている。
【００５０】
マスタからスレーブ１には、図４で示したように１〜１０ライン目の画像データに設定に応じたアドレスと先頭フラグが付与されたデータが送信される。また、スレーブ１では、アドレス情報に従って出力先制御回路１１３がデータを振り分け、画像処理回路１１５は自プロセッサ宛ての１〜６ライン目の画像データを受信し、現像処理を実行する。そして、画像処理回路１１５は、処理結果をバス２０６を介してＲＡＭ２０３に書き込む。また、送信データ生成回路１１６は他プロセッサ宛ての５〜１０ライン目の画像データを受け、差動信号ドライバ回路１１７からスレーブ２に向けて送信する。
【００５１】
スレーブ２では、アドレス情報に従って出力先制御回路１２３がデータを振り分る。画像処理回路１２５は自プロセッサ宛ての５〜１０ライン目の画像データを受信し、現像処理を行う。そして、画像処理回路１２５は、処理結果をバス２０６を介してＲＡＭ２０３に書き込む。
【００５２】
以上、本実施形態によれば、マスタが入力画像のうち全画角（全ライン）に基づく顔認識処理を行い、同時に、スレーブ１、２はマスタとは異なる現像処理を互いに分担して（実施形態では画角の上半分と下半分）を実行することが可能になる。
【００５３】
なお、上記実施形態では、３つの画像処理プロセッサをカスケード接続するものであったが、画像処理プロセッサの数に特に制限はない。また、例えば、４の画像処理プロセッサをカスケード接続し、１つをマスタ、残りの３つをスレーブにし、３つのスレーブにて現像処理を実行しても良い。この場合、３つのスレーブは、全画角の１／３の領域（ただし、フィルタ処理を行うのであれば重複部分は設ける）を分担して処理を行う。
【００５４】
また、複数の画像処理プロセッサにおける先頭に位置するプロセッサを第１の画像処理プロセッサ、２番目以降の画像処理プロセッサを第ｎ（ｎは２以上の整数）の画像処理プロセッサと定義する。この場合、この第ｎの画像処理プロセッサは、上流からパケットを受信する受信部と、この受信部で受信した着目パケットのヘッダに前記第ｎの画像処理プロセッサのアドレスが含まれているか否かを判定し、第ｎの画像処理プロセッサのアドレスが含まれている場合には、着目パケットに含まれる着目ブロックを第ｎの画像処理部に供給して処理を行せる供給部、受信部が受信した着目パケットのヘッダに前記第ｎの画像処理プロセッサのアドレス及び第ｎの画像処理プロセッサ以外のアドレスが含まれている場合には、着目パケットのヘッダから第ｎの画像処理プロセッサのアドレスを除外して得たパケットを下流の画像処理プロセッサに送信する送信部を有すればよい。
【００５５】
また、入力画像を垂直に３分割しマスタが上部、スレーブ１が中部、スレーブ２が下部を処理するというような場合でも、各プロセッサで処理する領域の設定を変更するにはマスタの設定だけを変えれば実現できる。スレーブ１とスレーブ２は自プロセッサ宛てに来たデータを処理し、自プロセッサ宛てでないデータは後段へ送信するという動作を変える必要が無いので、システム全体の設定変更が容易である。
【００５６】
また、本実施形態では、カウンタ１０１が画像の水平ライン数をカウントし、ライン単位で自プロセッサで処理する領域と他プロセッサで処理する領域とを指定したが、指定する単位はこれに限らない。すなわち、水平画素数ｍ×垂直方向画素数ｎで構成される所定サイズのブロックとして一般化できる。１ラインは、垂直方向画素数ｎが“１”の場合として定義できる。また、例えば動画像のフレーム単位であっても構わない。例えば入力画像データのうち、奇数フレームをスレーブ１で処理する領域に設定し、偶数フレームをスレーブ２で処理する領域に設定して処理を分担し、高速フレームレートの動画像を処理できるようにしてもよい。
【００５７】
なお、各画像処理プロセッサで処理する領域について本実施形態ではそれぞれ１つの連続する領域の例を示したが、各画像処理プロセッサで処理する領域の設定をそれぞれ複数持つようにしてもよい。
【００５８】
［第２の実施形態］
上記の第１の実施形態ではマスタで指定した領域の画像データのみをスレーブ１からスレーブ２に送信した。本第２の実施形態では、スレーブ１は、送信する画像データが無い場合に、自身が処理したデータをスレーブ２へ送信するものである。本第２の実施形態でも第１の実施形態と同様に、画像データの領域について、マスタで処理する領域を１〜１０ライン、スレーブ１で処理する領域を１〜６ライン、スレーブ２で処理する領域を５〜１０ラインと設定されているものとする。よって、マスタからデータを送信する動作については図２のフローチャートと同様である。
【００５９】
図６は、第２の実施形態における撮像装置の主要部分のブロック構成図である。なお、第１の実施形態と共通な構成については同一参照符号を付し、その説明は省略する。本第２の実施形態では、スレーブ１（画像処理プロセッサ１１０）に、スレーブ１が処理した画像データを一時的に記憶するためのローカルメモリ６１０が接続されている。このローカルメモリ６１０は、スレーブ１のみに接続されているので、他のプロセッサによるアクセスの衝突は発生せず、スレーブ１のアクセスタイミングに合わせた書き込み及び読み出しが可能である。また、スレーブ２（画像処理プロセッサ１２０）にも同様に、スレーブ２が処理した画像データを一時的に記憶するためのローカルメモリ６２０が接続されている。
【００６０】
スレーブ１は、画像処理回路１１５による処理後の画像データを、メモリ書き込み回路６１４、メモリＩ／Ｆ６１１を介してローカルメモリ６１０に書き込む。出力先制御回路６１５は、受信データ抽出回路１１２からのデータから識別フラグを取り出す。そして、受信データ抽出回路１１２からのデータのうち、アドレスが自プロセッサ宛てで、識別フラグで示されるデータの内容が前段のプロセッサで処理済みの画像データは、メモリ書き込み回路６１２、メモリＩ／Ｆ６１１を介してローカルメモリ６１０にライトされる。識別フラグについては後述する。メモリ読み出し回路６１３はメモリＩ／Ｆ６１１を介してメモリ６１０からデータを読み出し、送信データ生成回路６１６へ出力する。送信データ生成回路６１６は、メモリ読み出し回路６１３からのデータと、出力先制御回路６１５からのデータとを区別する識別フラグを生成し、アドレスと先頭フラグと共に付与してパケット化された送信データを生成する。
【００６１】
図１０は、本第２の実施形態においてスレーブ１からスレーブ２に送信する送信データを示した概念図である。送信データはアドレス、先頭フラグ、識別フラグ、画像データもしくは画像処理済みデータから成り、ライン単位でパケット化されている。スレーブ１で処理する領域は１〜６ライン、スレーブ２で処理する領域は５〜１０ラインである。そして、スレーブ１からスレーブ２には５ライン目から１０ライン目の画像データが送信される。そして、５ライン目から１０ライン目の画像データを転送していない期間を利用して、スレーブ１は、自身が処理した画像データをローカルメモリ６１０からメモリ読み出し回路６１３により読み出し、スレーブ２に送信する。このため、出力先制御回路１１３からのデータについては識別フラグ“１”を、メモリ読み出し回路６１３からのデータについては識別フラグ“２”を付加する。
【００６２】
スレーブ１から受信した画像データの識別フラグが“２”の画像データは、スレーブ１にて現像処理を終えた画像を意味する。それ故、スレーブ２のアドレスデコード回路１２４は、スレーブ１から受信した識別フラグが“２”の画像データの出力先を、送信データ生成回路６２６とすべく、出力先制御回路６２５を制御する。この結果、スレーブ１から受信した画像データの識別フラグが“２”の画像データは、スレーブ２をバイパスし、出力部２０５にダイレクトに供給される。出力部２０５は、受信した画像データを外部のメモリカード等の記憶媒体に書き込む。
【００６３】
一方、スレーブ１から受信した画像データの識別フラグが“１”の画像データは、スレーブ２にて現像処理を行う画像データである。そのため、識別フラグが“１”の画像データについては、スレーブ２の機能ブロック６２０から６２６により、スレーブ１の機能ブロック６１０から６１６と同様の現像処理を行う。そして、現像処理後の画像データをメモリ書き込み回路６２４、メモリ／Ｆ６２１を介してローカルメモリ６２０に書き込む。そして、スレーブ２は、スレーブ１から画像データを受信していない期間に、自身が処理を行った画像データをローカルメモリ６２０から読み出し、出力部２０５に出力する。
【００６４】
図８は、本第２の実施形態におけるスレーブ１の送信データ生成回路６１６が、マスタから受信したスレーブ２宛ての画像データと、ローカルメモリ６１０から読み出すデータのそれぞれを送信する動作を示したフローチャートである。ここでローカルメモリ６１０から読み出すデータは、マスタから受けた１〜６ラインの画像を画像処理回路１１５で処理した後にローカルメモリ６１０に書き込んだ現像処理済みデータを想定している。
【００６５】
ステップＳ８０１にて、スレーブ１は、出力先制御回路１１３から送信データ生成回路６１６に対してスレーブ２に送信する画像データが出力されているか確認する。画像データが出力されている場合はステップＳ８０２にて、スレーブ１は、送信データ生成回路６１６を制御して、アドレスデコード回路１１４から出力されているアドレスと先頭フラグを付与した画像データパケットを生成させ、ステップＳ８０３にて画像データパケットをスレーブ２に送信させる。その後、処理をステップＳ８０８へ進める。
【００６６】
一方、出力先制御回路１１３から送信データ生成回路６１６に対してスレーブ２に送信する画像データが出力されていない場合、スレーブ１は、処理をステップＳ８０４へ進める。このステップＳ８０４にて、スレーブ１は、ローカルメモリ６１０にスレーブ２に送信する画像処理済みデータがあるかどうか確認する。画像処理済みデータがある場合、ステップＳ８０５にて、スレーブ１は、メモリ読み出し回路６１３から画像処理済みデータを読み出し、スレーブ２のアドレス情報と共に送信データ生成回路６１６へ送信する。ステップＳ８０６にて、スレーブ１は、送信データ生成回路６１６を制御して、画像処理済みデータにスレーブ２のアドレスを付与してデータパケットを生成させ、ステップＳ８０７にて、そのデータパケットをスレーブ２に送信させる。そして、スレーブ１は、処理をステップＳ８０８へ進める。
【００６７】
ステップＳ８０８では、スレーブ１は、制御部２０１から動作の終了指示を受信した可否かを判断する。制御部２０１から終了指示が行われていない場合は、ステップＳ８０１へ戻り、動作を繰り返す。終了指示が行われている場合は処理を終了する。
【００６８】
図７は本第２の実施形態におけるスレーブ１における、自プロセッサ宛ての領域の画像データ、他プロセッサ（スレーブ２）宛ての領域の画像データ、スレーブ１のローカルメモリ６１０から読み出した現像処理済みデータの出力制御に係るフローチャートである。
【００６９】
ステップＳ７０１からステップＳ７０３の処理は、ステップＳ３０１からステップＳ３０３までの動作と同じであるため説明は省略する。
【００７０】
ステップＳ７０４にて、スレーブ１は、アドレスデコード回路１１４を制御し、自プロセッサに対するアドレスの判別を行わせる。スレーブ１は、受信したアドレスがステップＳ７０１で設定された自プロセッサのアドレスを含んでいる場合にはステップＳ７１３、含んでいなければステップＳ７０６へ処理を進める。
【００７１】
ステップＳ７１３にて、スレーブ１は、受信したデータの内容を識別フラグによって判断し、そのデータがスレーブ１のローカルメモリから読みだした画像処理済みデータであればステップＳ７１４へ、そうでない場合はステップＳ７０５へ処理を進める。ステップＳ７１４にて、スレーブ１は、画像処理済みデータをローカルメモリ６１０に書き込み、ステップＳ７０７へ進む。
【００７２】
ステップＳ７０５からステップＳ７１２の動作は、ステップＳ３０５からステップＳ３１２までの動作と同じであるため説明は省略する。
【００７３】
図９は、本第２の実施形態においてマスタ、スレーブ１、スレーブ２でプロセッサ間のデータ転送のシーケンスを示す図である。
【００７４】
本第２の実施形態でも、第１の実施形態と同様、マスタで処理する領域を１〜１０ライン、スレーブ１で処理する領域を１〜６ライン、スレーブ２で処理する領域を５〜１０ラインと設定されているものとする。
【００７５】
マスタからは、１〜１０ライン目の画像データに設定に応じたアドレスと先頭フラグが付与されたデータが送信される。
【００７６】
スレーブ１では、アドレス情報に従って出力先制御回路１１３がデータを振り分け、画像処理回路１１５では自プロセッサ宛ての１〜６ライン目の画像データを受信する。また、送信データ生成回路６１６は他プロセッサ（スレーブ２）宛ての５〜１０ライン目の画像データを受け、差動信号ドライバ回路１１７からスレーブ２に送信する。さらに、他プロセッサ宛ての５〜１０ライン目の画像データを受けていない期間にて、スレーブ１は、ローカルメモリ６１０から読みだした画像処理済みデータに、処理済であること示す識別フラグを付与して差動信号ドライバ回路１１７からスレーブ２に送信する。
【００７７】
スレーブ２（スレーブ１と同じ種類の画像処理を行うスレーブのうち最下流に位置するスレーブ）は、アドレス情報と識別フラグに従って出力先制御回路１２３がデータを振り分ける。出力先制御回路１２５は、スレーブ１にて処理済みの画像データについては、送信データ生成回路６２６に出力する。送信データ生成回路６２６は、スレーブ１で処理済みの画像データを出力部２０５に出力する。一方、スレーブ２にて処理することになる画像データ（５〜１０ライン）は画像処理回路１２５に供給する。画像処理回路１２５は、受信した画像データに対する現像処理を行い、メモリ書き込み回路６２４、メモリＩ／Ｆ６２１を介して、ローカルメモリ６２０に書き込む。ローカルメモリ６２０に記憶された画像データは、図８にて説明したように、スレーブ１からの処理済みの画像データを送信しないタイミングでローカルメモリ６２０から読み出され、出力部２０５に出力される。
【００７８】
以上、本第２の実施形態によれば、スレーブ１が処理した上半分の画角の現像処理済みデータとスレーブ２が処理した下半分の画角の現像処理済みデータが、スレーブ２に後続する出力部２０５から記録媒体に出力される。
【００７９】
［第３の実施形態］
上記実施形態では、スレーブ１とスレーブ２とで画像処理を分担して担当する例を示した。しかし、これに限らず、例えばマスタとスレーブ１とスレーブ２とで処理を分担し、同じように画像処理済みデータを、画像データを送信していない期間に送るようにして複数の画像処理プロセッサで処理を分割して画像処理を行ってもよい。また、スレーブ２の下流側に更なる複数の画像処理プロセッサをカスケード接続しても構わない。
【００８０】
以下、第３の実施形態として、このように、マスタとスレーブ１とスレーブ２とで処理を分担し、同じように画像処理済みデータを、画像データを送信していない期間に送るようにして複数の画像処理プロセッサで処理を分割して画像処理を行う構成を説明する。
【００８１】
図１１は、第３の実施形態の撮像装置の構成を示すブロック図である。図１１において、第１、第２の実施形態と同じ構成について同一参照符号を付し、その説明は省略する。
【００８２】
第３の実施形態では、撮像部２１０から出力される動画データの各フレームの現像処理を、マスタ（画像処理プロセッサ１００）、スレーブ１，２（画像処理プロセッサ１１０、１２０）により分担して行う。本第３の実施形態では、前述のように、１フレームが１０ラインから構成される場合について説明する。そして、マスタ（画像処理プロセッサ１００）は１〜４ラインを処理し、スレーブ１（画像処理プロセッサ１１０）は４〜７ラインを処理し、スレーブ２（画像処理プロセッサ１２０）は７〜１０ラインを処理する。
【００８３】
また、マスタは、自身が処理した処理済みの画像データを、下流側の画像処理プロセッサに転送する。この際、本実施形態では、マスタは、処理済みの画像データに対し、スレーブ２のアドレスを付加して転送する。スレーブ１は、マスタからスレーブ１、２が処理すべき画像データ、及び、マスタの処理済みの画像データを受けとることになる。そして、スレーブ１は、第１、第２の実施形態と同じく、自身のアドレスが付加された画像データを取り出して処理し、処理済みの画像データを下流側のスレーブ２に転送する。また、本実施形態では、スレーブ１は、マスタから転送された画像データのうち、自身のアドレスが付加された画像データ以外の画像データをメモリ６１０に書き込まずに、そのまま下流側のスレーブ２に転送する。
【００８４】
スレーブ２では、スレーブ１から転送された画像データのうち、自身のアドレスが付加された画像データを取り出して画像処理を行い、その処理済みの画像データをローカルメモリ６２０に書き込む。また、スレーブ２は、スレーブ１から転送された画像データのうち、マスタによる処理済みの画像データと、スレーブ１による処理済みの画像データとを取り出して、そのままローカルメモリ６２０に記憶する。
【００８５】
そして、スレーブ２は、メモリ６２０に１フレーム分の現像処理済みの画像データが記憶されると、これを読みだして出力部２０５に転送する。出力部２０５は、スレーブ２から転送された現像済みの画像データを記録媒体等に記録する。
【００８６】
図１１において、マスタ１００は、前述の実施形態と同じく、図２の処理を行って入力された画像データの出力先を決定する。この際、本第３の実施形態では、前述のように、マスタ１００は１〜４ラインの現像処理を行う。そのため、出力先制御回路１０３は、入力された１フレームの画像データのうち、１〜４ラインの画像データを画像処理回路１０５に出力し、４〜１０ラインの画像データをそのまま送信データ生成回路１０６に出力する。
【００８７】
画像処理回路１０５は、入力された１〜４ラインの画像データに対して現像処理を行い、メモリＩ／Ｆ６０１を介して現像処理済みの画像データをローカルメモリ６００に一時記憶する。
【００８８】
また、マスタ１００は、図８の処理を行い、現像処理済みの１〜４ラインの画像データを読みだして転送する。即ち、メモリ読み出し回路６０３は、スレーブ１に対して４〜１０ラインの画像データを転送していない期間に、メモリＩ／Ｆ６０１を介してローカルメモリ６００から現像処理済みの１〜４ラインの画像データを読みだす。そして、メモリ読み出し回路６０３は、読み出した画像データを送信データ生成回路１０６に出力する。
【００８９】
送信データ生成回路１０６は、出力先制御回路１０３から出力された、スレーブ１、２への画像データに対して前述のようにアドレスと識別情報を付加して転送する。また、送信データ生成回路１０６は、メモリ読み出し回路６０３から出力された、現像処理済みの画像データに対し、スレーブ２のアドレスを付加し、更に、現像済みであることを示す識別情報を付加して転送する。
【００９０】
図１２（ａ）は、第３の実施形態においてマスタからスレーブ１に送信する送信データを示した概念図である。送信データはアドレス、先頭フラグ、識別フラグ、画像データもしくは画像処理済みデータから成り、ライン単位でパケット化されている。マスタで処理する領域は１〜４ライン、スレーブ１で処理する領域は４〜７ライン、スレーブ２で処理する領域は７〜１０ラインである。そして、マスタからスレーブ１には４ライン目から１０ライン目の画像データが送信される。そして、４ライン目から１０ライン目の画像データを転送していない期間を利用して、マスタは、自身が処理した画像データをローカルメモリ６００からメモリ読み出し回路６０３により読み出し、スレーブ１に送信する。このため、出力先制御回路１０３からのデータについては識別フラグ“１”を、メモリ読み出し回路６０３からのデータについては識別フラグ“２”を付加する。
【００９１】
また、４ライン目から６ライン目のデータに対してはアドレス１を付加し、７ライン目のデータに対してはアドレス１及び２を付加し、８ライン目から１０ライン目のデータに対してはアドレス２を付加する。更に、本第３の実施形態では、マスタが処理した画像データをスレーブ２に転送した後、出力部２０５により記録する。そのため、マスタが処理した画像データに対しては、アドレス２を付加する。
【００９２】
スレーブ１では、マスタから受信した画像データのアドレスが１でない場合、出力先制御回路６１５がそのまま送信データ生成回路６１６に送り、スレーブ２に転送する。そのため、マスタで処理済みの画像データ、及び、７ライン目から１０ライン目のデータは、スレーブ１からそのままスレーブ２に転送される。
【００９３】
一方、マスタから受信した画像データのアドレスが１である場合、スレーブ１の出力先制御回路６１５は、受信したデータを画像処理回路１１５に送り、現像処理を行った後、ローカルメモリ６１０に書き込む。
【００９４】
図１２（ｂ）は、第３の実施形態においてスレーブ１からスレーブ２に送信する送信データを示した概念図である。スレーブ１は、マスタから受信されたデータのうち、アドレス２が付加されている７ライン目から１０ライン目の画像データをそのままスレーブ２に送信する。そして、７ライン目から１０ライン目の画像データを転送していない期間を利用して、スレーブ１は、自身が処理した画像データをローカルメモリ６１０からメモリ読み出し回路６１３により読み出し、スレーブ２に送信する。更に、スレーブ１は、マスタから受信されたデータのうち、アドレス２が付加されている、マスタで処理済みのデータをそのままスレーブ２に送信する。このため、アドレスデコード回路１１４は、受信データのアドレスと識別情報を検出し、出力先制御回路６１５からのデータのうち、識別フラグ１が付加されたデータについては識別フラグ“１”を、識別フラグ２が付加されたデータについては識別フラグ“２”を付加するように送信データ生成部６１６を制御する。またアドレスデコード回路１１４は、メモリ読み出し回路６１３からのデータについては識別フラグ“２”を付加するように送信データ生成部６１６を制御する。また、アドレスデコード回路１１４は、全てのデータに対してアドレス２を付加してスレーブ２に転送する。
【００９５】
スレーブ２が受信した画像データの識別フラグが“２”の画像データは、上流の画像処理プロセッサにおいて現像処理を終えた画像を意味する。それ故、スレーブ２においては、アドレスデコード回路１２４は、スレーブ１から受信した識別フラグに基づいて、識別フラグが“２”の画像データについては、メモリ書き込み回路６２２により、ローカルメモリ６２０に書き込むように出力先制御回路６２５を制御する。
【００９６】
一方、スレーブ１から受信した画像データの識別フラグが“１”の画像データは、スレーブ２にて現像処理を行うべき画像データである。そのため、アドレスデコード回路１２４は、識別フラグが“１”の画像データについては、画像処理回路１２５に出力するように、出力先制御回路６２５を制御する。スレーブ２の機能ブロック６２０から６２６により、スレーブ１の機能ブロック６１０から６１６と同様の現像処理が行われる。そして、現像処理後の画像データをメモリ書き込み回路６２４、メモリ／Ｆ６２１を介してローカルメモリ６２０に書き込む。この結果、ローカルメモリ６２０には、１フレームの現像済みの画像データが格納されることになる。
【００９７】
１フレームの現像済みの画像データがローカルメモリ６２０に格納されると、メモリ読み出し回路６２３がメモリ６２０より現像済みの画像データを読み出し、送信データ生成回路６２６に出力する。送信データ生成回路６２６は、スレーブ２の後段には画像処理プロセッサが無いため、アドレスや先頭フラグ、識別フラグを付加せずに、出力部２０５に対して現像処理済みの画像データを送信する。出力部２０５は、スレーブ２から受信した画像データを記録媒体に記録する。
【００９８】
以上、本発明に係る実施形態を説明したが、図４のテーブルにおいて、“アドレス”は２ビットでよい。すなわち、各ビットがスレーブ１、２を表しているものと定義できるからである。従って“アドレス”がＮビットで構成される場合、Ｎ個のスレーブをカスケード接続でき、異なる画像処理、或いは１つの画像処理を複数のプロセッサで並列に処理を行わせることが可能になる。
【００９９】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【０１００】
１００、１１０、１２０…画像プロセッサ、１０１…カウンタ、１０２…領域指定回路、１０３、１１３，１２３…出力先制御回路、１０４…アドレス生成回路、１０５、１１５，１２５…画像処理回路、１０６、１１６，１２６…送信データ生成回路、１０７、１１７．１２７…差動信号ドライバ回路、１１２…受信データ抽出回路、１１４、１２４…アドレスデコード回路
【図１】
2018097692.tif 000003
【図２】
2018097692.tif 000004
【図３】
2018097692.tif 000005
【図４】
2018097692.tif 000006
【図５】
2018097692.tif 000007
【図６】
2018097692.tif 000008
【図７】
2018097692.tif 000009
【図８】
2018097692.tif 000010
【図９】
2018097692.tif 000011
【図１０】
2018097692.tif 000012
【図１１】
2018097692.tif 000013
【図１２】
2018097692.tif 000014