(57)【特許請求の範囲】
【請求項１】
撮像部と、
前記撮像部により得られた動画データに所定の処理を施す複数の画像処理回路と、
メモリと、
を有する画像処理装置であって、
前記撮像部と、前記複数の画像処理回路とは、直列に接続されており、
前記画像処理回路は、
前記撮像部および前段の画像処理回路からデータを入力する入力手段と、
前記データに前記前段の画像処理回路が所定の処理を施した第１処理データが含まれる場合に、前記第１処理データをバッファに記憶する記憶手段と、
前記バッファに記憶された前記第１処理データを、前記メモリに書き込む書込手段と、
前記バッファに記憶された前記第１処理データのデータ量が閾値に達したことに応じて、前記前段の画像処理回路に制御信号を出力する検出手段と、
前記データのうち、第１部分データに所定の画像処理を施した第２処理データを前記メモリに記憶する処理手段と、
前記データに後段の画像処理回路の前記処理手段が前記所定の画像処理を施す第２部分データが含まれる場合に、前記第２部分データと、前記メモリから読み出した前記第２処理データとを、前記後段の画像処理回路に出力する出力手段と、
を備え、
前記出力手段は、前記後段の画像処理回路が前記制御信号を出力した場合に、前記第２処理データの出力を停止する
ことを特徴とする画像処理装置。
【請求項２】
前記第１処理データが、それぞれが複数の前記前段の画像処理回路で処理された複数の処理データを含む場合、前記検出手段は、各前段の画像処理回路に前記制御信号を出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記閾値は、前記画像処理回路と前記撮像部との間に接続された前記前段の画像処理回路の数に対応する値であることを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記出力手段は、前記第２処理データを複数の前記後段の画像処理回路に宛てて出力し、
複数の前記後段の画像処理回路のうち、前記制御信号を出力した前記後段の画像処理回路に対して、前記第２処理データの出力を停止することを特徴とする請求項１乃至請求項３のいずれか一項に記載の画像処理装置。
【請求項５】
前記複数の画像処理回路はそれぞれ、単一の半導体集積回路として構成されることを特徴とする請求項１乃至請求項４のいずれか一項に記載の画像処理装置。
【請求項６】
撮像部と、
前記撮像部と接続する第１画像処理回路と、
前記第１画像処理回路と接続する第２画像処理回路と、
前記第１画像処理回路に接続する第１メモリと、
前記第２画像処理回路に接続する第２メモリと、
を有する画像処理装置であって、
前記第１画像処理回路は、
前記撮像部から出力された動画データのうち、前記第１画像処理回路が処理する第１部分データと、前記第２画像処理回路が処理する第２部分データとを分離する分離手段と、
前記第１部分データに所定の処理を施して第１処理データを生成し、前記第１メモリに前記第１処理データを記憶する第１処理手段と、
前記第２部分データと前記第１メモリから読み出した前記第１処理データとを前記第２画像処理回路に出力する出力手段と、
を備え、
前記第２画像処理回路は、
前記第１画像処理回路から受信したデータのうち、前記第１処理データをバッファに記憶する記憶手段と、
前記バッファから前記第１処理データを読み出して、前記第１処理データを前記第２メモリに書き込む書込手段と、
前記バッファに記憶された前記第１処理データのデータ量が閾値に達したことに応じて、前記第１画像処理回路に制御信号を出力する検出手段と、
前記第１画像処理回路から受信したデータのうち、前記第２部分データに前記所定の処理を施して、第２処理データを生成し、前記第２メモリに前記第２処理データを記憶する第２処理手段と、
を備え、
前記第１画像処理回路の前記出力手段は、前記第２画像処理回路の前記検出手段から前記制御信号が出力された場合に、前記第１処理データの出力を停止することを特徴とする画像処理装置。
【請求項７】
前記第１画像処理回路の前記出力手段は、前記第２画像処理回路の前記検出手段から前記制御信号が出力された場合に、前記第１処理データの出力を停止し、前記第２部分データを出力することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記第２画像処理回路は、前記第２メモリから、前記第１処理データと、前記第２処理データとを読み出して、表示装置に出力する表示制御部を有することを特徴とする請求項６または請求項７に記載の画像処理装置。
【請求項９】
前記検出手段は、前記バッファに記憶された前記第１処理データのデータ量が、前記第１処理データの種類に応じた閾値に達した場合に、前記制御信号を出力することを特徴とする請求項６乃至請求項８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記分離手段は、前記撮像部から出力された前記動画データのフレームの下半分を前記第１部分データとし、前記撮像部から出力された動画データのフレームの上半分を前記第２部分データとすることを特徴とする請求項６乃至請求項９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記出力手段は、前記第１部分データを前記第２の画像処理回路に出力しないことを特徴とする請求項６乃至請求項１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記第１の画像処理回路と、前記第２の画像処理回路はそれぞれ、単一の半導体集積回路として構成されることを特徴とする請求項６乃至請求項１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記所定の処理は、前記動画データの現像処理と、前記現像処理された動画データを圧縮する圧縮処理とを含むことを特徴とする請求項１乃至請求項１２のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置および画像処理装置の制御方法と撮像システムに関する。
【背景技術】
【０００２】
デジタルカメラなどの撮像装置において、撮像部の多画素化や動画像の高フレームレート化などに伴い、画像処理回路で処理するデータ量が増大している。データ量が増大すると１つの画像処理回路で処理することが出来なくなるため、複数の画像処理回路を搭載し、複数の画像処理回路で処理を分担するという方法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−３９８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、画像処理回路への配線を分岐して並列に配置している。多量のデータを伝送するための高速なデータ転送において、配線を分岐させるとシグナルインテグリティに劣化が生じる。その課題に対して、高速なデータ伝送を複数の回路に分配するための専用の中継デバイスを設けたり、行き先ごとに専用の端子を設けたり、という解決策があるが、コストが高くなるという課題がある。
【０００５】
本発明は、上記課題を解決するためになされたものであり、複数の画像処理回路を直列に接続した構成において、フロー制御の仕組みを設けることで、低コストで処理能力の高い画像処理装置およびその制御方法と撮像システムを提供することを目的にする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため本発明の撮像装置は、以下の構成を有する。
【０００７】
その一側面によれば、撮像部と、
前記撮像部により得られた動画データに所定の処理を施す複数の画像処理回路と、
メモリと、
を有する画像処理装置であって、
前記撮像部と、前記複数の画像処理回路とは、直列に接続されており、
前記画像処理回路は、
前記撮像部および前段の画像処理回路からデータを入力する入力手段と、
前記データに前記前段の画像処理回路が所定の処理を施した第１処理データが含まれる場合に、前記第１処理データをバッファに記憶する記憶手段と、
前記バッファに記憶された前記第１処理データを、前記メモリに書き込む書込手段と、
前記バッファに記憶された前記第１処理データのデータ量が閾値に達したことに応じて、前記前段の画像処理回路に制御信号を出力する検出手段と、
前記データのうち、第１部分データに所定の画像処理を施した第２処理データを前記メモリに記憶する処理手段と、
前記データに後段の画像処理回路の前記処理手段が前記所定の画像処理を施す第２部分データが含まれる場合に、前記第２部分データと、前記メモリから読み出した前記第２処理データとを、前記後段の画像処理回路に出力する出力手段と、
を備え、
前記出力手段は、前記後段の画像処理回路が前記制御信号を出力した場合に、前記第２処理データの出力を停止する
ことを特徴とする画像処理装置が提供される。
また他の側面によれば、撮像部と、
前記撮像部と接続する第１画像処理回路と、
前記第１画像処理回路と接続する第２画像処理回路と、
前記第１画像処理回路に接続する第１メモリと、
前記第２画像処理回路に接続する第２メモリと、
を有する画像処理装置であって、
前記第１画像処理回路は、
前記撮像部から出力された動画データのうち、前記第１画像処理回路が処理する第１部分データと、前記第２画像処理回路が処理する第２部分データとを分離する分離手段と、
前記第１部分データに所定の処理を施して第１処理データを生成し、前記第１メモリに前記第１処理データを記憶する第１処理手段と、
前記第２部分データと前記第１メモリから読み出した前記第１処理データとを前記第２画像処理回路に出力する出力手段と、
を備え、
前記第２画像処理回路は、
前記第１画像処理回路から受信したデータのうち、前記第１処理データをバッファに記憶する記憶手段と、
前記バッファから前記第１処理データを読み出して、前記第１処理データを前記第２メモリに書き込む書込手段と、
前記バッファに記憶された前記第１処理データのデータ量が閾値に達したことに応じて、前記第１画像処理回路に制御信号を出力する検出手段と、
前記第１画像処理回路から受信したデータのうち、前記第２部分データに前記所定の処理を施して、第２処理データを生成し、前記第２メモリに前記第２処理データを記憶する第２処理手段と、
を備え、
前記第１画像処理回路の前記出力手段は、前記第２画像処理回路の前記検出手段から前記制御信号が出力された場合に、前記第１処理データの出力を停止することを特徴とする画像処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、複数の画像処理回路を直列に接続した構成で、フロー制御の仕組みを設けて処理済みデータの受信漏れを防ぎ、低コストで処理能力の高い画像処理装置および方法と撮像装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る撮像装置の構成を示すブロック図
【図２】第１の実施形態に係る制御タイミングを説明するタイミング図
【図３】第１の実施形態に係る一連の制御を説明するフローチャート
【図４】第１の実施形態に係るフロー制御を説明するフローチャート
【図５】第２の実施形態に係る撮像装置の構成を示すブロック図
【図６】第２の実施形態に係るヘッダ構成を示す図
【図７】第２の実施形態に係る制御タイミングを説明するタイミング図
【図８】第２の実施形態に係る一連の制御を説明するフローチャート
【図９】第２の実施形態に係るフロー制御を説明するフローチャート
【図１０Ａ】、
【図１０Ｂ】第３の実施形態に係る撮像装置の構成を示すブロック図
【図１１Ａ】、
【図１１Ｂ】第３の実施形態に係る制御タイミングを説明するタイミング図
【図１２】第３の実施形態に係る一連の制御を説明するフローチャート
【図１３】第３の実施形態に係るフロー制御を説明するフローチャート
【図１４】中継デバイスを使用して処理分散する構成を説明する図
【図１５】画像処理回路をカスケード接続する構成を説明する図
【発明を実施するための形態】
【００１０】
［実施形態１］
図１は、第１の実施形態に係る撮像装置（あるいは撮像システム）の構成を示すブロック図である。本実施形態の撮像装置は、画像データの経路に関して直列にカスケード接続された２つの画像処理回路１００、１２０を備える。画像処理回路１００、１２０は同一の回路構成を有しており、たとえば同一の半導体チップでそれぞれの回路を提供できる。ただし、処理の対象等は、たとえばパラメータ設定等により異なるものとすることができる。ある画像処理回路から見て、カスケード接続の上流側を前段、下流側を後段と呼ぶことにする。そして、図１の撮像装置では、撮像部１０１により得られた、１画面が横３８４０画素×縦２１６０画素（４Ｋ２Ｋ画像）で、６０フレーム枚秒（ｆｐｓ）の動画をこれら二つの画像処理回路を用いて処理する。画像処理部１００と１２０はそれぞれ、横３８４０画素×縦２１６０画素、３０ｆｐｓの動画を処理する能力を持つ。すなわち、横３８４０画素×縦１０８０画素、６０ｆｐｓの動画を処理する能力を持つ。
【００１１】
そこで、本実施形態では、動画の各フレームにおける、上半分と下半分をそれぞれの画像処理部により処理する。そして、上流側の画像処理部１００は、撮像部１０１からの動画データのうち、自分が処理する部分の画像データを取り出し、残りは下流側の画像処理部１２０に送る。更に、画像処理部１００は、自分が処理した処理済み動画データを、画像処理部１２０に送る未処理動画データと多重化し、同じ伝送路を介して送信する。また、画像処理部１００と１２０はそれぞれ、単一の半導体集積回路（ＬＳＩ）として構成され、互いに同一の構成を有する。本実施形態では、このように撮像部１０１と複数の画像処理回路とを直列に接続した構成を有している。撮像部１０１からは、センサーサイズ（センサの画素数）に応じたフレームサイズ（１フレームの画素数）かつ所定のフレームレートで画像データが出力される。このため画像処理回路において何らかの理由で上流からのデータを受信し損なうことがあり得る。そこで本実施形態では、データフローを制御するフロー制御の仕組みを設けることで、上流からのデータの取りこぼしを防止している。
【００１２】
＜初段の画像処理回路１００＞
まず画像処理部１００について説明する。撮像装置において、撮像部１０１は、被写体像を光電変換し、所定サイズのデジタル画像データを所定レートで出力する。入力ＩＦ部１０２は、撮像部１０１から出力された画像データを入力データとして受信する。多重データ分離部１０３は、撮像部１０１から出力されたデータと後述する処理済みデータとを分離する。すなわち、処理済みのデータとこれから処理を行うデータとに、処理の分担に応じた出力先にデータを振り分ける。センサーデータ分離部１０４は、撮像部１０１から出力された画像データを、画像処理部１００で処理するデータと後段の画像処理部１２０で処理するデータとに分離し、画像処理部１００で処理するデータを、メモリバス１１６およびメモリコントローラ１１３経由でＳＤＲＡＭ１１５に書き込む。すなわち、複数の画像処理回路１００と１２０がそれぞれ処理を担当する部分の画像データに応じてセンサーデータを振り分ける。画像処理部１０９は、センサーデータ分離部１０４で分離され、ＳＤＲＡＭ１１５に書き込まれたデータを読み出し、画素補間やフィルタ処理、縮小といったリサイズ処理や色変換処理、例えば圧縮画像データに保存するのに最適なフォーマットであるＹＣｂＣｒ形式のフォーマットに変換する処理などの現像処理を行う。そして、現像処理部１０９は、処理後の画像データをメモリバス１１６、メモリコントローラ１１３経由でＳＤＲＡＭ１１５に記憶する。ＳＤＲＡＭ１１５は、圧縮されていない状態の複数フレームの動画データを記憶可能な大容量のメモリである。ＳＤＲＡＭ１１５は、画像処理部１００とは別の半導体集積回路として構成されている。
【００１３】
メモリコントローラ１１３は、複数のバスマスタからのアクセス要求に対して、予め設定された優先度に沿って一つのバスマスタを選択し、ＳＤＲＡＭ１１５とのデータ転送を制御する。すなわちＳＤＲＡＭ１１５は複数のバスマスタにより時分割的にアクセス可能である。複数のバスマスタは、画像処理部１０９、データ書き込み部１１０、データ読み出し部１１１、システム制御部１１２等を含む。データ読出部１１１は、画像処理部１０９で処理された処理済みデータをメモリコントローラ１１３経由でＳＤＲＡＭ１１５から読み出し、多重化部１０５に転送する。
【００１４】
多重化部１０５は、データ読出部１１１から読み出された処理済みデータとセンサーデータ分離部１０４から送信されたセンサーデータをそれぞれ所定のサイズでパケット化し、識別用のヘッダを付加したのち例えば時分割で多重化し、出力ＩＦ１０６から後段の画像処理部にデータを送信する。パケットの構成については後述する。
【００１５】
システム制御部１１２は、マイクロコンピュータを有し、図示しない不揮発性メモリに記録されたプログラムを実行することで、画像処理部１００の動作を制御する。また、システム制御部１１２は、操作部１１７からの指示に応じて撮像装置の全体の動作を制御する。データ格納部１０８は、多重データ分離部１０３で分離された処理済みデータを一時格納する。データ量検出部１０７はデータ格納部１０８に格納されるデータの量が設定された閾値を超えたか否かの検出を行い、閾値を越えていた場合、ストップ（ＳＴＯＰ）信号を外部に出力する。データ書き込み部１１０は、データ格納部１０８に保持した処理済みデータをＳＤＲＡＭ１０５に書き込む。ＳＴＯＰ信号は、データの読み出し（及び読み出したデータの送信）を中断させるための信号で、中断信号と呼ぶこともできる。
【００１６】
操作部１１７は電源スイッチやその他のユーザが操作するためのスイッチ等を備える。通信部１１８は、他の画像処理回路との通信を行う。通信の内容は、例えば設定されたパラメータの伝達など、画像データではない制御系のデータの通信を含む。
【００１７】
なお、画像処理回路１００では処理済みデータは入力ＩＦ部１０２から入力されないため、処理済みデータを格納するためのデータ格納部１０８、データ書き込み部１１０、データ量検出部１０７は使用しない。また、撮像部１０１から出力される画像データ（動画データ）はパケット化されずに出力される。即ち、撮像部１０１は、不図示の撮像部における１画面の左上の画素から順にラスタ走査の順に各画素の画像データを読み出して出力する。そのため、システム制御部１１２は、入力ＩＦ部１０２に対しては、受信した画像データをそのまま出力するように制御する。また処理済みの画像データの表示は後段の画像処理回路１２０で行われるため、表示制御部１１４は使用されていない。
【００１８】
＜パケット構成＞
図１４を用いて多重化部１０５でパケット化する際のヘッダとペイロード構成について説明する。ペイロード１４０２は、処理済みデータもしくはセンサーデータである。ペイロード１４０２は転送単位で区切られており、本実施形態では２５６バイトとする。ヘッダ１４０１は、当該ヘッダを含むパケットにおけるペイロードに含まれるデータの種類を示す情報を含む。本実施例では、ヘッダ１４０１を４バイト構成とし、
・ＦＦＦＦ０１００ｈ：処理済みデータ
・ＦＦＦＦ０２００ｈ：センサーデータ
と定義する。センサーデータとは、撮像部１０１から出力される未処理の画像データである。パケット毎に多重化した構成を１４０３に示す。多重化部１０５は、このようなヘッダを生成する。そして、多重化部１０５は、センサーデータ分離部１０４からのセンサーデータ、或いは、データ読み出し部１１１から出力される処理済みデータを含むペイロートにヘッダを付加してパケットを生成し、出力ＩＦ１０６から出力する。
【００１９】
＜画像処理回路１２０＞
次に画像処理回路１２０について説明する。伝送路１４１は出力ＩＦ部１０６と入力ＩＦ部１２２を接続する。本実施例では一例としてＳＬＶＳ（Ｓｃａｌａｂｌｅ Ｌｏｗ Ｖｏｌｔａｇｅ Ｓｉｇｎａｌｉｎｇ：スケーラブル低電圧信号伝送）とする。入力ＩＦ部１２２は、前段の画像処理回路１００の出力ＩＦ部１０６から出力された多重化データを受信する。多重データ分離部１２３は、センサーデータと処理済みデータとを図１４で説明したヘッダの識別情報を参照して識別、分離する。センサーデータ分離部１２４は、センサーデータに対し、画像処理回路１２０で処理するデータを分離し、画像処理回路１２０で処理するデータをメモリバス１３６、メモリコントローラ１３３経由でＳＤＲＡＭ１３５に書き込む。画像処理部１２９は、センサーデータ分離部１２４で分離されたデータをＳＤＲＡＭ１３５から読み出し、画素補間やフィルタ処理、縮小といったリサイズ処理や色変換処理、例えば圧縮画像データに保存するのに最適なフォーマットであるＹＣｂＣｒ形式のフォーマットに変換する処理などの現像処理を行う。画像処理部１２９は、処理後の画像データをメモリバス１３６、メモリコントローラ１３３経由でＳＤＲＡＭ１３５に記憶する。ＳＤＲＡＭ１３５は、圧縮されていない状態の複数フレームの動画データを記憶可能な大容量のメモリである。ＳＤＲＡＭ１３５は、画像処理部１２０とは別の半導体集積回路として構成されている。また、本実施形態では、ＳＤＲＡＭ１１５とＳＤＲＡＭ１３５を別の半導体集積回路として構成する。
【００２０】
メモリコントローラ１３３は、複数のバスマスタからのアクセス要求に対して、予め設定される優先度に沿って一つのバスマスタを選択し、ＳＤＲＡＭ１３５とのデータ転送を制御する。複数のバスマスタは、画像処理部１２９、データ書き込み部１３０、データ読み出し部１３１、システム制御部１３２、表示制御部１３４等を含む。データ格納部１２８は、多重データ分離部１２３で分離された処理済みデータを一時格納する。データ書き込み部１３０は、データ格納部１２８に保持した処理済みデータをＳＤＲＡＭ１１５に書き込む。データ量検出部１２７はデータ格納部１２８に格納されるデータの量が設定された閾値を超えたか否かの検出を行い、閾値を越えていた場合、ＳＴＯＰ信号１４０を外部に出力する。画像処理回路１００のデータ読出部１１１はＳＴＯＰ信号１４０に応じてＳＤＲＡＭ１１５からのデータ読出しを制御する。表示制御部１３４は、メモリバス１３６、メモリコントローラ１３３を経由して、現像処理後の画像データを読み出し、モニタ１３７に出力する。システム制御部１３２は、マイクロコンピュータを有し、図示しない不揮発性メモリに記録されたプログラムを実行することで、画像処理回路１２０の動作を制御する。通信部１３８は、他の画像処理回路との通信を行う。図１の構成では画像処理回路１００の通信部１１８との間で通信を行う。なお画像処理回路１２０は最終段であるので、下流の段に出力するための回路ブロックであるデータ読取部１３１、多重化部１２５、出力ＩＦ１２６は使用されていない。
【００２１】
＜ユースケースの説明＞
次に、図２と図３を用いて、撮像部１０１で撮影した画像をモニタ１３７に表示するユースケースについて説明する。図２は撮像部１０１が出力したセンサーデータをモニタ１３７に表示するまでのタイミングチャートである。縦軸は処理の種類を示し、横軸は時間を示している。Ｖｎ〜Ｖｎ＋１間が、撮像部１０１による１フレームの画像の撮像周期であり、本実施例では１／６０秒とする。Ｖｎ＋１以降の各期間も同様に１フレームの撮像周期である。入力ＩＦ部１０２は撮像部１０１から出力された４Ｋ２Ｋ６０ｆｐｓのセンサーデータを入力する。データ２０１〜２０９がモニタ１３７に表示するまでのデータである。なお、本実施例の画像処理回路の画像処理部１０９、１２９の処理能力は４Ｋ２Ｋ３０ｆｐｓであるため、これら２つの画像処理部で処理を分担し、４Ｋ２Ｋ、６０ｆｐｓの動画の表示を実現する。
【００２２】
図３は撮像部１０１が出力したセンサーデータをモニタ１３７に表示するまでの処理を説明するフローチャートである。ステップＳ３０１〜ステップＳ３０７が画像処理回路１００の処理であり、ステップＳ３１１からステップＳ３１８が画像処理回路１２０の処理である。
【００２３】
（画像処理回路１００）
まず、図３（Ａ）を参照して画像処理回路１００の処理フローについて説明する。ステップＳ３０１において、入力ＩＦ部１０２は撮像部１０１が出力したセンサーデータを入力する。Ｖｎ〜Ｖｎ＋１間で入力するデータは図２のＲａｗ−Ｕ０ ２０１、Ｒａｗ−Ｌ０ ２０４である。これらはそれぞれ４Ｋ２Ｋフレームの上半分と下半分とに相当し、データの区別は便宜であって、センサーデータ中では特に区別されていない。ステップＳ３０２において、多重データ分離部１０３は入力ＩＦ部で入力した処理済みデータとセンサーデータを分離する。なお画像処理回路１００への入力画像データはセンサーデータであり、処理済みデータは含まれていない。
【００２４】
ステップＳ３０３において、センサーデータ分離部１０４は、入力センサーデータから画像処理部１０９で画像処理するセンサーデータ２０４を分離し、画像処理部１０９で処理するセンサーデータ２０５をＳＤＲＡＭ１１５に書き込む。分離した残りのセンサーデータ２０１は後段の画像処理回路１２０に送信される。図２のデータ２０５がＳＤＲＡＭ１１５に書き込まれるセンサーデータである。本実施形態では画像処理回路１００と１２０とで分散処理するために、図６（Ｂ）の２０１ａ、２０４ａに示すように、各フレームの動画データを上半分の４Ｋ１ＫサイズのＵｐｐｅｒ側と、下半分の４Ｋ１ＫサイズのＬｏｗｅｒ側に分割し、Ｌｏｗｅｒ側を画像処理回路１００自身で処理し、Ｕｐｐｅｒ側を後段の画像処理回路１２０で処理させる。すなわち、各画像処理回路は４Ｋ１Ｋのセンサーデータを処理する。
【００２５】
ステップＳ３０４において、画像処理部１０９はステップＳ３０３でＳＤＲＡＭ１１５に書き込まれたＬｏｗｅｒ側のセンサーデータを読み出して前述のように所定の処理を行い、ＹＣｂＣｒ（以下ＹＣＣとも呼ぶ）形式の画像データを生成してＳＤＲＡＭ１１５に書き戻す。前述したとおり、画像処理部１０９は４Ｋ２Ｋ３０ｆｐｓの処理能力のため、４Ｋ１Ｋのセンサーデータを１／６０ｓのレートで画像処理を行うことができる。図２の処理２０６がＳＤＲＡＭ１１５からの読出し、画像処理、ＳＤＲＡＭ１１５への書き戻しタイミングを示す。
【００２６】
ステップＳ３０５において、データ読出し部１１１はステップＳ３０４で処理した処理済みデータをＳＤＲＡＭ１１５から読み出し、多重化部１０５に送信する。
ステップＳ３０６において、多重化部１０５は、ステップ３０５で読みだした処理済みデータと、ステップＳ３０３でデータ２０５を分離した残りのセンサーデータ２０１をそれぞれ所定のサイズでパケット化し、識別情報を含むヘッダをペイロードに付加したのち多重化して、出力ＩＦ部１０６を経由して、後段の画像処理回路１２０の入力ＩＦ部１２２に送信する。図２のデータ２０７が分離後のＵｐｐｅｒ側のセンサーデータと処理済みデータの送信タイミングを示す。それ以前の期間（Ｖｎ〜Ｖｎ＋２）のフレームの上半分のセンサーデータは、多重化する処理済みデータがないため、それのみが送信される（Ｒａｗ−Ｕ０、Ｒａｗ−Ｕ１）。
ステップＳ３０７において、システム制御部１１２はモードの変更や撮像装置の電源オフ等の終了処理の有無を判定し、処理を継続する場合はステップＳ３０１に戻る。
【００２７】
（画像処理回路１２０）
次に図３（Ｂ）を参照して画像処理回路１２０の処理について説明する。ステップＳ３１１において、入力ＩＦ部１２２は出力ＩＦ部１０６が出力した多重化データを入力する。Ｖｎ〜Ｖｎ＋１で入力するデータは図２のデータ２０２（Ｒａｗ−Ｕ０）であり、Ｖｎ＋２〜Ｖｎ＋３間で入力するデータは図２のデータ２０７（Ｒａｗ−Ｕ２とＹＣＣ Ｌ０）である。
ステップＳ３１２において、多重データ分離部１２３は入力ＩＦ部１２２で入力した処理済みデータとセンサーデータを図１４で説明したヘッダの識別情報を参照して識別、分離する。
ステップＳ３１３において、センサーデータ分離部１２３は画像処理部１２９で画像処理するセンサーデータと、後段の画像処理回路で画像処理するセンサーデータを分離し、自身の部で画像処理するセンサーデータをＳＤＲＡＭ１３５に書き込む。図２の２０３がＳＤＲＡＭ１３５に書き込まれるセンサーデータである。ただし図１の構成では画像処理回路１２０には後段の画像処理回路は接続されていないので、分離すべきセンサーデータはない。
【００２８】
ステップＳ３１４において、画像処理部１２９はステップＳ３１３でＳＤＲＡＭ１３５に書き込まれたＵｐｐｅｒ側のセンサーデータを読み出して前述のように所定の処理を行い、ＹＣｂＣｒ形式の画像データを生成してＳＤＲＡＭ１３５に書き戻す。図２の２０８がＳＤＲＡＭ１３５からの読出し、画像処理、ＳＤＲＡＭ１３５への書き戻しタイミングを示す。
ステップＳ３１５において、表示制御部１３４はステップＳ３１５で処理した処理済みのＵｐｐｅｒ側のＹＣＣデータとステップＳ３１１で入力した処理済みのＬｏｗｅｒ側のＹＣＣデータとをモニタ１３７に転送し、モニタに表示させる。図２の２０９が表示制御部の処理タイミングである。なおステップＳ３１１で入力した処理済みのＬｏｗｅｒ側のＹＣＣデータもいったんＲＡＭ１３５に格納し、１フレームの画像データに再構したのちに表示制御部１３４に送信してもよい。
ステップＳ３１６において、システム制御部１１２はモードの変更や撮像装置の電源オフ等の終了処理が有無を判定し、処理を継続する場合はステップＳ３１１に戻る。
【００２９】
以上の手順をそれぞれの画像処理回路で実行することで、各フレームを２つの画像処理回路により分担して処理することができ、大サイズ高レートの動画データを実時間で処理できる。ここで図２では画像処理に１フレーム時間（１／６０秒）弱の時間を要しているため、その処理済みデータが多重化されるセンサーデータは、２フレーム遅れのセンサーデータとなっている。従って画像処理に要する時間に応じて、遅延量は異なる。
【００３０】
＜フロー制御の説明＞
次に図４を用いて処理済みデータのフロー制御について説明する。本実施形態では、画像データの受信側の画像処理回路から送信側の画像処理回路にＳＴＯＰ信号を出力し、送信側の画像処理回路からのデータ転送を一時停止させることでフロー制御を実現している。図４（Ａ）に示すステップＳ４０１〜ステップＳ４０５が送信側（画像処理回路１００）の処理であり、図４（Ｂ）に示すステップＳ４１１からステップＳ４１８が受信側（画像処理回路１２０）の処理である。なお、図４の処理は、図１の撮像装置が表示処理を行う間、繰り返し実行される。
【００３１】
（画像処理回路１００）
まず、図４（Ａ）を参照して送信側（画像処理回路１００）の処理フローについて説明する。
ステップＳ４０１において、システム制御部１１２はデータ読出部１１１に対しＳＤＲＡＭ１１５から読みだすデータのアドレスとサイズを設定する。ステップＳ４０２において、データ読出部１１１は所定単位でＳＤＲＡＭ１１５から指定されたアドレスのデータを読み出し、多重化部１０５に転送する。本実施形態では所定単位は２５６バイトとする。
ステップＳ４０３において、多重化部１０５はセンサーデータ分離部１０４のセンサーデータとステップＳ４０２で送信されたＳＤＲＡＭ１１５からのデータをそれぞれ所定のサイズでパケット化し、識別情報を含むヘッダをペイロードに付加したのち多重化して、出力ＩＦ部１０６に送信する。
ステップＳ４０４において、データ読出部１１１はＳＴＯＰ信号１４０を監視して、ＳＴＯＰ信号１４０がアクティブであるかを判定する。本実施例では判定はレベル信号で行い、Ｈｉの信号でアクティブ信号と判定する。なお信号をアクティブとすることを、信号を出力するともいう。データ読出部１１１は、アクティブなＳＴＯＰ信号を検出している間はステップＳ４０４の処理を繰り返し、ＳＤＲＡＭ１１５からの読出しを行わない。すなわち、ＳＴＯＰ信号がアクティブである間、ＳＴＯＰ信号の送信元である下流の画像処理回路に対するＳＤＲＡＭに格納されたデータの送信は中断（あるいは抑制）される。センサーデータはＳＤＲＡＭに格納されることがないので、ＳＴＯＰ信号にかかわらず下流の画像処理回路１２０へと送信される。ＳＴＯＰ信号１４０のアクティブ信号なしと判定した場合はステップＳ４０５に進む。
ステップＳ４０５では、データ読出し部１１１はステップＳ４０１で指定されたサイズ分データを送信したか判定し、未送信データがある場合はステップＳ４０２に戻り、前述した処理を繰り返す。指定サイズ送信完了した場合は処理を終える。
【００３２】
（画像処理回路１２０）
次に図４（Ｂ）を参照して受信側（画像処理回路１２０）の処理について説明する。ステップＳ４１１において、システム制御部１３２はデータ書込部１３０に対し、受信サイズを設定する。
ステップＳ４１２において、データ格納部１２８は多重データ分離部１２３で分離されたＳＤＲＡＭ１３５への書き込み用データを所定単位毎に受信する。本実施形態では所定単位は２５６バイトとする。本例では、データ格納部１２８が受信するデータは、前段の（および有るならそれ以前の）画像処理回路により受信した処理済み画像データである。データ格納部１２８は受信データを一時記憶できるバッファメモリを有しており、本実施例ではその容量は２Ｋバイトであるとする。ステップＳ４１３において、データ量検出部１２７はデータ格納部１２８に記憶するデータ量が閾値を超えたか判定する。本実施例では、閾値を１．５Ｋバイトとする。閾値を超えた場合はステップＳ４１４に進み、超えていない場合はステップＳ４１６に進む。なお閾値は所定値を固定してもよいし、設定可能であってもよい。
ステップＳ４１４において、データ量検出部１２７はストップ信号１４０をアクティブにし、送信側（画像処理回路１００）のデータ読出部１１１の動作を一時停止させる。アクティブ信号の定義は前述したとおりである。
ステップＳ４１５において、データ書き込み部１３０はＳＤＲＡＭ１３５に受信したデータを書き込む。ここで、本実施形態のメモリコントローラ部１３３によるバス調停は固定優先度方式のため、表示系等リアルタイム性が必要な優先度が高いバスマスタがＳＤＲＡＭ１３５の帯域を占有した場合、データ書込部１３０はＳＤＲＡＭ１３５へのアクセスが待たされる。ステップＳ４１５以降はステップＳ４１３に戻り、前述した処理を繰り返す。
【００３３】
ステップＳ４１６において、データ書き込み部１３０はＳＤＲＡＭ１３５にデータを書き込む。ステップＳ４１７において、データ量検出部１２７はＳＴＯＰ信号１４０をＬｏｗとし、アクティブ状態を解除し、非アクティブ状態とする。ステップＳ４１８において、データ書込部１３０はステップＳ４１１で指定されたサイズ分のデータを受信したか判定し、未受信データがある場合はステップＳ４１２に戻り、前述した処理を繰り返す。指定サイズ受信完了した場合は処理を終える。
【００３４】
以上のように、実施形態１によれば、撮像部のセンサーデータと処理済みのデータを同一の伝送路で時分割に多重化して伝送する。そして、受信側では、受信された処理済みデータをデータ格納部に一時的に記憶し、記憶されたデータ量が閾値を超えた場合に、送信側の画像処理回路からの処理済みデータの転送を停止するように指示し、送信側のデータ送信を一時停止する。これにより、例えば表示系等のリアルタイム性が必要な優先度が高いバスマスタがＳＤＲＡＭの帯域を占有して、データ書込部がＳＤＲＡＭへのアクセスが待たされても、処理済みデータの受信漏れを防ぐことができる。即ち、データ格納部１２８に格納される処理済みデータがあふれることがないように、送信側の画像処理回路からの処理済みデータの転送を停止する。
【００３５】
なお、図２でタイミングチャートを説明したが、これは本実施形態における一例であり、データの種類や処理タイミングを限定するものではない。図２において、ＳＴＯＰ信号により処理済みデータの送信が中断される場合には、たとえばデータ２０７は、ＳＴＯＰ信号が解除された、図２に示したタイミングよりも遅いタイミングで出力される。
【００３６】
また、データ量検出部１２７が検出する閾値は本実施形態における一例であり、閾値を限定するものではない。また、図１４でパケットの構成を説明したが、本実施形態における一例であり、パケット構成、ヘッダの識別情報を限定するものではない。
【００３７】
［実施形態２］
次に、本発明の第２の実施形態について説明する。実施形態１では、データ格納部１２８の使用中の容量が閾値を越えた場合に（すなわち空き容量が閾値以下となった場合に）ＳＴＯＰ信号をアクティブにし、送信側を一時停止させるフロー制御する方法について述べた。本実施形態においては、画像処理回路１００から画像処理回路１２０へと送信されるデータに優先度を付与し、優先度に応じてＳＴＯＰ信号の出力タイミングを変える。こうすることで、高優先度データ（あるいは優先データ）については、低優先度データ（あるいは非優先データ）と比べて、よりデータ受信が抑制され難くなるよう制御する。データ書込部１３０とデータ読出部１１１のバスマスタのプライオリティを変更することなしにＳＤＲＡＭに対して帯域制御方法について述べる。
【００３８】
図５を参照して第２の実施形態による全体システムの構成について説明する。なお、ヘッダ付加部５０１、符号化部５０２、ヘッダ解析部５０３、データ格納部Ａ５０４、データ格納部Ｂ５０５、データ量検出部５０６、符号化部５０７、メディアＩＦ５０８、記録媒体５０９以外は実施形態１の図１で説明した構成および動作と同様であるため説明を省略する。
【００３９】
ヘッダ付加部５０１は、データ読み出し部１１１からの処理済みデータの優先度を示すヘッダを生成する。
【００４０】
符号化部５０２は、メモリバス１１６、メモリコントローラ１１３を経由し、ＳＤＲＡＭ１１５より現像処理後の画像を読み出し、ＪＰＥＧやＨ．２６４方式等の公知の符号化処理を施して情報量を圧縮する。符号化部５０７も同様に、メモリバス１３６、メモリコントローラ１３３を経由し、ＳＤＲＡＭ１３５より現像処理後の画像を読み出し、ＪＰＥＧやＨ．２６４方式等の公知の符号化処理を施して情報量を圧縮する。
メディアインターフェース（ＩＦ）５０８は、不図示のコネクタを介して記録媒体５０９と通信を行い、記録媒体５０９に対して各種のコマンドやデータを送信する。
【００４１】
＜ヘッダの説明＞
第１の実施例では多重化部１０５がヘッダを生成する構成であったが、第２の実施例では、ヘッダ付加部５０１が一旦ヘッダを付加した後、多重化部は、処理済みデータについては既に付加されているヘッダに対してデータの種類を示す４バイトをＯＲすることにより変更する、という２段階の処理になる。以下その詳細を説明する。
【００４２】
図６（Ａ）を用いてヘッダ付加部５０１で付加するヘッダとペイロード構成について説明する。ペイロード６０２は、画像処理回路１２０に送信するデータを示す。ペイロードは転送単位で区切られており、本実施形態では２５６バイトとする。まず、ヘッダ付加部５０１は、データ読み出し部１１１により読み出された処理済みデータの優先度を示す４バイトのヘッダをペイロードに付加して多重化部１０５に出力する。ヘッダ付加部５０１が付加するヘッダは以下の通りに定義する。
・ＦＦＦＦ０００１ｈ：優先データ
・ＦＦＦＦ０００２ｈ：非優先データ
多重化部１０５は実施形態１で説明したとおり、センサーデータと処理済みデータとを識別するための識別情報を含むヘッダを付加する。ただし、本実施形態では、ヘッダ付加部５０１からの処理済みデータに対しては、既に前述のように優先度に応じたヘッダが付加されている。そのため、多重化部１０５は、ヘッダ付加部５０１からの処理済みデータの各パケットのヘッダ情報と、データの種類を示す４バイトのデータとを論理和演算（ＯＲ）し、ヘッダ情報を下記の通り変更する。また、センサーデータ分離部１０４からのセンサーデータに対しては、センサーデータを示すヘッダを生成し、センサーデータを含むペイロードに付加する。
・ＦＦＦＦ０１０１ｈ：処理済みデータ（優先データ）
・ＦＦＦＦ０１０２ｈ：処理済みデータ（非優先データ）
・ＦＦＦＦ０２００ｈ：センサーデータ
ヘッダ解析部５０３は、ヘッダ付加部５０１で付加されたヘッダを解析し、データの種類に応じてデータ格納部Ａ５０４またはデータ格納部Ｂ５０５にデータを送信する。データ格納部Ａ５０４は優先データを格納する。データ格納部Ｂ５０５は非優先データを格納する。データ量検出部５０６は、データ格納部Ａ５０４とデータ格納部Ｂ５０５とでそれぞれ独立した閾値を用いてデータ量が閾値を超えたこと検出し、ＳＴＯＰ信号１４０をアクティブにする。
【００４３】
＜ユースケースの説明＞
次に図７と図８を用いて、撮像部１０１で撮影した画像を符号化して記録媒体５０９に記録しながらモニタ１３７に表示するユースケースについて説明する。
本実施形態では
・モニタ１３７に表示する表示用のＹＣｂＣｒデータ：優先データ
・記録媒体５０９に記録する符号化データ：非優先データ
とする。なお、たとえば、モニタ１３７に表示する表示用のＹＣｂＣｒデータと、記録媒体５０９に記録する符号化データとは、ＳＤＲＡＭ１１５内の異なる領域に記憶することで、読み出し時にもデータ種別を区別して読み出すことができる。そしてそのデータ種別に基づいて、ヘッダ付加部５０１では、優先データまたは非優先データを示すヘッダをデータに付加することができる。また、ヘッダ付加部５０１によりデータの優先度に応じたヘッダを付加し、多重化部１０５がデータの種類に応じてヘッダを変更する構成としたが、ヘッダ付加部５０１を省略してもよい。この場合、多重化部１０５が、データ読み出し部１１１からのデータの優先度に基づいて、前記のような、処理済みデータ（優先）、処理済みデータ（非優先）、センサーデータの三種類のヘッダを生成し、ペイロードに付加する構成とする。
【００４４】
図７は撮像部１０１が出力したセンサーデータを符号化して記録媒体５０９に記録しながらモニタ１３７に表示するまでのタイミングチャートである。縦軸は処理の種類を示し、横軸は時間を示している。Ｖｎ〜Ｖｎ＋１間が、撮像部１０１による１フレームの画像の撮像周期であり、本実施例では１／６０秒とする。
【００４５】
入力ＩＦ部１０２は撮像部１０１から出力された４Ｋ２Ｋ６０ｆｐｓのセンサーデータを入力する。データ７０１〜７０８はモニタ１３７に表示するまでのデータであり、データ７１１〜７１６はメディアＩＦ５０８が記録媒体５０９に書き込むまでのデータである。なお、本実施形態の画像処理回路の画像処理部１０９、１２９の処理能力は４Ｋ２Ｋ３０ｆｐｓであるため、２つの画像処理回路で処理分散して４Ｋ２Ｋ６０ｆｐｓを実現する。
【００４６】
図８は撮像部１０１が出力したセンサーデータを符号化して記録媒体５０９に記録しながら、モニタ１３７に表示するまでの処理を説明するフローチャートである。ステップＳ８０１〜ステップＳ８０８が画像処理回路１００の処理であり、ステップＳ８１１からステップＳ８１８が画像処理回路１２０の処理である。
【００４７】
（画像処理回路１００）
まず、図８（Ａ）を参照して画像処理回路１００の処理フローについて説明する。ステップＳ８０１において、入力ＩＦ部１０２は撮像部１０１が出力したセンサーデータを入力する。Ｖｎ〜Ｖｎ＋１間で入力するデータは図７のＲａｗ−Ｕ０ ７０１、Ｒａｗ−Ｌ０ ７０４である。ステップＳ８０２において、多重データ分離部１０３は入力ＩＦ部で入力した処理済みデータとセンサーデータを分離する。
【００４８】
ステップＳ８０３において、センサーデータ分離部１０４は画像処理回路１００自身で画像処理するセンサーデータを、後段の画像処理回路１２０で画像処理するセンサーデータから分離し、画像処理回路１００で画像処理するセンサーデータをＳＤＲＡＭ１１５に書き込む。図７のデータ７０５がＳＤＲＡＭ１１５に書き込まれるセンサーデータである。本実施形態では画像処理回路１００と１２０で分散処理するために、各フレームをＵｐｐｅｒ側とＬｏｗｅｒ側とに分割し、Ｕｐｐｅｒ側を後段の画像処理回路１２０で処理させ、Ｌｏｗｅｒ側を画像処理回路１００自身で処理する。すなわち、画像処理回路は４Ｋ１Ｋのセンサーデータを処理する。
【００４９】
ステップＳ８０４において、画像処理部１０９はステップＳ８０３でＳＤＲＡＭ１１５に書き込まれたＬｏｗｅｒ側のセンサーデータを読み出し、ＹＣｂＣｒに画像処理し、ＳＤＲＡＭ１１５に書き戻す。画像処理部１０９は４Ｋ２Ｋ３０ｆｐｓの処理能力のため、４Ｋ１Ｋのセンサーデータを１／６０ｓで画像処理を行う。図７の処理７０６がＳＤＲＡＭ１１５からの読出し、画像処理、ＳＤＲＡＭ１１５への書き戻しタイミングを示す。
【００５０】
ステップＳ８０５において、符号化部５０２はステップＳ８０４で画像処理部１０９が処理した画像をＳＤＲＡＭ１１５から読み出し、符号化処理を実行した後、ＳＤＲＡＭ１１５に保持する。図７の処理７１２がＳＤＲＡＭ１１５からのＹＣｂＣｒデータの読出し、符号化処理、ＳＤＲＡＭ１１５への書き戻しタイミングを示す。図７では書き戻されるデータはＰｉｃで示され、それにフレームの上半分／下半分をＵ／Ｌで示し、さらにフレーム番号ｎを付して示されている。本例ではＹＣｂＣｒデータは表示用データとして利用されるので、符号化済みデータＰｉｃＵ／Ｌｎとは別の領域に格納される。またＹＣｂＣｒデータを圧縮してもよく、符号化済みデータとは別の符号化方法であってもよい。また表示用のＹＣｂＣｒデータは、表示装置の一般的な解像度に応じて画素を間引き、縮小しておいてもよい。
【００５１】
ステップＳ８０６において、データ読出し部１１１はステップＳ８０４とステップＳ８０５それぞれで処理した処理済みデータすなわちＹＣｂＣｒデータおよび符号化済みデータをＳＤＲＡＭ１１５から読み出し、多重化部１０５に送信する。表示用のＹＣｂＣｒデータはＶＳｙｎｃ毎に送信する。符号化データについては例えば図７のデータ７１３に示すように、３フレーム分の符号化データＰｉｃＬ０〜ＰｉｃＬ２をまとめて送信し、所定ＶＳｙｎｃ内（例えば３Ｖ）に転送できればよいとする。Ｖｓｙｎｃは垂直同期信号であり、フレームの開始を示す。３Ｖとは３フレーム分の期間（たとえば３×１／６０秒）に相当する。すなわち画像処理回路１００で処理した半フレーム分のＹＣｂＣｒデータは、未処理の半フレームのセンサーデータと多重化されて１フレームごとに画像処理回路１２０に送信される。一方符号化データもセンサーデータと多重化されて下流の画像処理回路１２０に送信される。
【００５２】
ステップＳ８０７において、多重化部１０５はステップＳ８０６で読みだした処理済みデータ（表示用ＹＣＣ、符号化データ）と、ステップＳ８０３で分離したセンサーデータとをそれぞれ所定のサイズでパケット化し、識別情報を含むヘッダを付加したのち多重化して、出力ＩＦ部１０６を経由して、後段の画像処理回路１２０の入力ＩＦ部１２２に送信する。図７の７１４、７１５が分離後のＵｐｐｅｒ側のセンサーデータと処理済みデータ（表示用ＹＣＣ、符号化データ）の送信タイミングを示す。ステップＳ８０８において、システム制御部１１２はモードの変更や撮像装置の電源オフ等の終了処理の有無を判定し、処理を継続する場合はステップＳ８０１に戻る。
【００５３】
（画像処理回路１２０）
次に図８（Ｂ）を参照して、画像処理回路１２０の処理について説明する。ステップＳ８１１において、入力ＩＦ部１２２は出力ＩＦ部１０６が出力した多重化データを入力する。Ｖｎ＋１〜Ｖｎ＋２間で入力するデータは図７のデータ７０２であり、Ｖｎ＋２〜Ｖｎ＋３で入力するデータは図７のデータ７１６（Ｒａｗ−Ｕ２とＹＣＣ Ｌ０）である。
【００５４】
ステップＳ８１２において、多重データ分離部１１３は入力ＩＦ部１２２で入力した処理済みデータとセンサーデータとを図１５で説明したヘッダの識別情報を参照して識別し、分離する。
ステップＳ８１３において、センサーデータ分離部１１４は画像処理回路１２０で画像処理するセンサーデータを、より後段の画像処理回路で画像処理するセンサーデータから分離し、画像処理回路１２０自身で画像処理するセンサーデータをＳＤＲＡＭ１３５に書き込む。図７のデータ７０３がＳＤＲＡＭ１３５に書き込まれるセンサーデータである。なお図５の構成では画像処理回路１２０は最終段であるので、その下流で処理する画像データはない。
【００５５】
ステップＳ８１４において、画像処理部１１９はステップＳ８１３でＳＤＲＡＭ１３５に書き込まれたＵｐｐｅｒ側のセンサーデータを読み出し、ＹＣｂＣｒに画像処理し、ＳＤＲＡＭ１３５に書き戻す。図７の処理７０７がＳＤＲＡＭ１３５からの読出し、画像処理、ＳＤＲＡＭ１３５への書き込みタイミングを示す。
ステップＳ８１５において、符号化部５０７はステップＳ８０４で画像処理部１２９が処理した画像をＳＤＲＡＭ１３５から読み出し、符号化処理を実行した後、ＳＤＲＡＭ１３５に保持する。図７の処理７１１がＳＤＲＡＭ１３５からの読出し、符号化処理、ＳＤＲＡＭ１３５への書き込みタイミングを示す。
【００５６】
ステップＳ８１６において、表示制御部１３４はステップＳ８１４で処理した処理済みのＵｐｐｅｒ側のＹＣｂＣｒデータとステップＳ８１１で入力した処理済みのＬｏｗｅｒ側のＹＣｂＣｒデータを１フレームの画像データとしてモニタ１３７に転送し、モニタに表示させる。図７のデータ７０８が表示制御部１３４の処理タイミングである。
【００５７】
ステップＳ８１７において、メディアＩＦ５０８はステップＳ８１５で処理した処理済みのＵｐｐｅｒ側の符号化データとステップＳ８１１で入力した処理済みのＬｏｗｅｒ側の符号化データとを記録媒体５０９に記録する。図７の７１１、７１７，７１８，７１９がすべてそろうタイミングが記録媒体５０９への記録タイミングであり、そのときにフレーム０〜２の符号化データを記録する。図７では必要なデータが揃った後で行われる処理７０９がその記録処理に相当する。ステップＳ８１８において、システム制御部１３２はモードの変更や撮像装置の電源オフ等の終了処理が有無を判定し、処理を継続する場合はステップＳ８１１に戻る。
【００５８】
＜フロー制御の説明＞
次に図９を用いて処理済みデータのフロー制御について説明する。本実施例では、受信側から送信側にＳＴＯＰ信号を出力し、送信側の転送を一時停止させることでフロー制御を実現している。ステップＳ９０１〜ステップＳ９０６が送信側（画像処理回路１００）の処理であり、ステップＳ９１１からステップＳ９１９が受信側（画像処理回路１２０）の処理である。
【００５９】
（画像処理回路１００）
まず、図９（Ａ）を参照して送信側（画像処理回路１００）の処理フローについて説明する。ステップＳ９０１において、システム制御部１１２はデータ読出部１１１に対しＳＤＲＡＭ１１５から読みだすデータのアドレスとサイズとデータ種別とを設定する。データ種別は優先データと非優先データの２種類とする。ステップＳ９０２において、データ読出部１１１は所定単位でＳＤＲＡＭ１１５から指定されたアドレスのデータを読み出し、ヘッダ付加部５０１に出力する。本実施例では所定単位は２５６バイトとする。
【００６０】
ステップＳ９０３において、ヘッダ付加部５０１はステップＳ９０１で指定されたデータ種別に応じて図６で説明したヘッダ６０１にデータ種別を付加する。ステップＳ９０４において、多重化部１０５はセンサーデータ分離部１０４のセンサーデータとステップＳ９０２で送信されたＳＤＲＡＭ１１５からのデータをそれぞれ所定のサイズでパケット化し、識別情報を含むヘッダを付加したのち多重化して、出力ＩＦ部１０６に送信する。
【００６１】
ステップＳ９０５において、データ読出部１１１はＳＴＯＰ信号１４０を監視して、ＳＴＯＰ信号１４０がアクティブであるかを判定する。本実施例では判定は信号レベルで行い、ハイレベルでアクティブと判定する。データ読出部１１１は、アクティブなＳＴＯＰ信号を検出している間はステップＳ９０５の処理を繰り返し、ＳＤＲＡＭ１１５からの読出しを行わない。また、データ読み出し部１１１は、アクティブなＳＴＯＰ信号を検出している間、優先データと非優先データの読み出しを共に停止する。ＳＴＯＰ信号１４０がアクティブではないと判定した場合はステップＳ９０６に進む。
【００６２】
ステップＳ９０６では、データ読出し部１１１はステップＳ９０１で指定されたサイズ分データを送信したか判定し、未送信データがある場合はステップＳ９０２に戻り、前述した処理を繰り返す。指定サイズ送信完了した場合は処理を終える。
【００６３】
（画像処理回路１２０）
次に図９（Ｂ）を参照して受信側（画像処理回路１２０）の処理について説明する。ステップＳ９１１において、システム制御部１１２はデータ書込部１３０に対し、受信サイズを設定する。
ステップＳ９１２において、ヘッダ解析部５０３は多重データ分離部１２３で分離された処理済みデータのヘッダを解析する。そして、ヘッダに基づいて、各処理済みデータの優先度を検出し、優先度に応じて格納先を決める。優先データはデータ格納部Ａ５０４に、非優先データはデータ格納部Ｂ５０５に転送する。
ステップＳ９１３において、データ格納部Ａ５０４は優先データを所定単位毎に受信し、データ格納部Ｂ５０５は非優先データを所定単位毎に受信する。本実施形態では所定単位は２５６バイトとする。データ格納部Ａ５０４とデータ格納部Ｂ５０５は受信データを記憶でき、本実施形態ではそれぞれ２Ｋバイト記憶できるとする。
【００６４】
ステップＳ９１４において、データ量検出部５０６はデータ格納部Ａ５０４とデータ格納部Ｂ５０５に記憶しているデータ量がそれぞれの閾値を超えたか判定する。本実施形態では、優先データを格納するデータ格納部Ａ５０４の閾値を１．２５Ｋバイトとし、非優先データを格納するデータ格納部Ｂ５０５の閾値を５１２バイトとする。いずれかのデータ格納部のデータ量が閾値を超えた場合はステップＳ９１５に進み、いずれも超えていない場合はステップＳ９１７に進む。
ステップＳ９１５において、データ量検出部５０６はストップ信号１４０をアクティブにし、送信側（画像処理回路１００）のデータ読出部１１１の動作を一時停止させる。アクティブの定義は前述したとおりである。
【００６５】
ステップＳ９１６において、データ書き込み部１３０は、データ格納部５０４または５０５に一時格納したデータをＳＤＲＡＭ１３５に書き込む。ここで、本実施形態のメモリコントローラ部１３３によるバス調停は固定優先度方式のため、表示系等リアルタイム性が必要な優先度が高いバスマスタがＳＤＲＡＭ１３５の帯域を占有している場合、データ書込部１３０はＳＤＲＡＭ１３５へのアクセスが待たされる。この場合にはデータ格納部５０４または５０５に一時格納したデータ量は増加する一方であり、上述した閾値を超えることがあり得る。ステップＳ９１６以降はステップＳ９１４に戻り、前述した処理を繰り返す。
【００６６】
ステップＳ９１７において、データ書き込み部１３０はＳＤＲＡＭ１３５にデータを書き込む。ステップＳ９１８において、データ量検出部５０６はＳＴＯＰ信号１４０をローレベルで出力し、アクティブ状態を解除する。ステップＳ９１９において、データ書込部１３０はステップＳ９１１で指定されたサイズ分データを受信したか判定し、未受信データがある場合はステップＳ９１２に戻り、前述した処理を繰り返す。指定サイズ受信完了した場合は処理を終える。
【００６７】
以上のように、実施形態２によれば、受信側のデータ格納部を優先データ用と非優先データ用という異なる優先度のデータ用に分け、それぞれでＳＴＯＰ信号のアクティブ出力の閾値を変えることにより、１つのバスマスタでリアルタイム性の高いデータ（優先データ）とリアルタイム性の低いデータ（非優先データ）を送信することができる。具体的には、優先データについては閾値を上げることにより、ＳＴＯＰ信号のアクティブ出力の頻度が下がり、ＳＤＲＡＭへの書き込みを優先することができる。一方、非優先データについては閾値を下げることにより、ＳＴＯＰ信号のアクティブ出力の頻度が上がり、転送を一時停止させてＳＤＲＡＭへのアクセスを低減させ、他のバスマスタがＳＤＲＡＭにアクセスできる。
【００６８】
なお、図７でタイミングチャートを説明したが、本実施形態における一例であり、データの種類や処理タイミングを限定するものではない。また、データ量検出部５０６が検出する閾値は本実施形態における一例であり、閾値を限定するものではない。また、図１５でパケットの構成を説明したが、本実施形態における一例であり、パケット構成、ヘッダの識別情報を限定するものではない。
【００６９】
［実施形態３］
次に、本発明の第３の実施形態について説明する。実施形態１、２では、２つの同一の画像処理回路をカスケード接続した２部構成のフロー制御方法について述べた。本実施形態においては、３部以上の構成になった場合のフロー制御について述べる。図１０Ａ、図１０Ｂ（以下、これらをまとめて図１０と呼ぶ。）を参照して第３の実施例による全体システムの構成について説明する。本実施例の撮像装置は３つの画像処理回路を使用する構成である。
【００７０】
画像処理回路１００、１２０の構成の内、データ読出し部１０２０および通信部１１９，１３９以外は実施形態１の図１で説明した構成および動作と同様であるため説明を省略する。通信部１１９、１３９は通信部１１８，１３８と同じものであり、画像処理回路間で通信を行うための回路ブロックである。
【００７１】
データ読出し部１０２０は複数の記憶部を持つ。本実施形態では下記の３種類の記憶を持つこととする。
・記憶部１：画像処理回路１２０と画像処理回路１０００への同時送信用
・記憶部２：画像処理回路１２０への送信用
・記憶部３：画像処理回路１０００への送信用
後述するデータ読出し部の設定によって使用する記憶部を決定する。
【００７２】
また、多重化部１０５はパケットのヘッダに送信先の識別情報を付加する。本実施形態ではｂｉｔ１９：１６を宛先の画像処理回路の識別情報とし、下記の通り付加する。
最も近い画像処理回路に送信（宛先は画像処理回路１２０）
・ＦＦＦＦ１１００ｈ：処理済みデータ
・ＦＦＦＦ１２００ｈ：センサーデータ
２番目に近い画像処理回路に送信（宛先は画像処理回路１０００）
・ＦＦＦＦ２１００ｈ：処理済みデータ
・ＦＦＦＦ２２００ｈ：センサーデータ
４以上の画像処理回路が接続された場合でも、同様に識別情報を変えて対応できる。
【００７３】
次に、画像処理回路１０００について説明する。伝送路１０３３は出力ＩＦ部１２６と入力ＩＦ部１００２を接続する。本実施形態では一例としてＳＬＶＳ（Ｓｃａｌａｂｌｅ Ｌｏｗ Ｖｏｌｔａｇｅ Ｓｉｇｎａｌｉｎｇ：スケーラブル低電圧信号伝送）とする。入力ＩＦ部１００２は、前段の画像処理回路１２０の出力ＩＦ部１２６から出力された多重化データを受信する。多重データ分離部１００３は、センサーデータと処理済みデータとを分離する。センサーデータ分離部１００４は、センサーデータから、画像処理回路１０００で処理するデータを分離する。画像処理部１００９は、センサーデータ分離部１００４で分離されたデータに対して、画素補間やフィルタ処理、縮小といったリサイズ処理や色変換処理、例えば圧縮画像データに保存するのに最適なフォーマットであるＹＣｂＣｒ 形式のフォーマットに変換する処理などの現像処理を行い、処理後の画像をメモリバス１０１６、メモリコントローラ１０１６経由でＳＤＲＡＭ１０１５に保持する。メモリコントローラ１０１３は、複数のバスマスタからのアクセス要求に対して、予め設定される優先度に応じて一つのバスマスタを選択し、ＳＤＲＡＭ１０１５とのデータ転送を制御する。データ格納部１００８は、多重データ分離部１００３で分離された処理済みデータを一時格納する。データ量検出部１００７はデータ格納部１００８に格納されるデータの量が設定された閾値を超えたか否かの検出を行い、閾値を越えていた場合、ＳＴＯＰ信号１０３２を外部に出力する。ＳＴＯＰ信号１０３２は画像処理回路１００と画像処理回路１２０とに入力される。画像処理回路１００のデータ読出部１０２０と画像処理回路１２０のデータ読出し部１３１はＳＴＯＰ信号１０３２と１０３１の結果に応じてＳＤＲＡＭ１１５、ＳＤＲＡＭ１３５からのデータ読出しを制御する。
【００７４】
表示制御部１０１４は、メモリバス１０１６、メモリコントローラ１０１３を経由して、現像処理後の画像データをＳＤＲＡＭ１０１５から読み出し、モニタ１０１７に出力する。
システム制御部１０１２は、マイクロコンピュータを有し、図示しない不揮発性メモリに記録されたプログラムを実行することで、画像処理回路１０００の動作を制御する。
なお画像処理回路１０００と画像処理回路１００とが、通信部１０１８と通信部１１９とにより接続されているが、画像処理回路１００と１０００とが画像処理回路１２０を介して通信するならこの接続はなくともよい。
【００７５】
＜ユースケースの説明＞
次に、図１１Ａ、図１１Ｂと図１２を用いて、撮像部１０１で撮影した画像を画像処理回路１０００に接続されたモニタ１０１７に表示するユースケースについて説明する。本実施形態では画像処理回路１００で評価値を生成する。画像処理回路１２０でＬｏｗｅｒ側のＹＣｂＣｒデータを生成する。画像処理回路１０００でＵｐｐｅｒ側のＹＣｂＣｒデータを生成し、Ｕｐｐｅｒ、ＬｏｗｅｒのＹＣｂＣｒデータから、各フレームの表示用データを生成して表示する。
本実施形態では、フレームごとに下記の通り３種類の評価値を生成する。
・評価値Ａ：露出、ホワイトバランス：画像処理回路１２０、画像処理回路１０００で使用
・評価値Ｂ：歪補正：画像処理回路１０００で使用
・評価値Ｃ：歪補正：画像処理回路１２０で使用
なお、評価値（あるいは評価値データ）はフレームごとに生成されるので、項目を示すＡ，Ｂ，Ｃの記号の前にフレーム番号を付加して、フレームとの対応を示す。例えばフレーム０の評価値Ａは評価値０Ａと示す。
【００７６】
図１１Ａ、図１１Ｂ（以下、これらをまとめて図１１と呼ぶ。）は撮像部１０１が出力したセンサーデータを処理してモニタ１０１７に表示するまでのタイミングチャートである。縦軸は処理の種類を示し、横軸は時間を示している。Ｖｎ〜Ｖｎ＋１間が撮像部１０１による１フレームの画像の撮像周期であり、本実施例では１／１２０秒とする。撮像部１０１からの動画データの各フレームの画素数は４Ｋ２Ｋとする。
入力ＩＦ部１０２は撮像部１０１から出力された４Ｋ２Ｋ１２０ｆｐｓのセンサーデータを１／６０ｓ周期で入力する。１１０１〜１１１２はモニタ１０１７に表示するまでのデータである。
なお、本実施形態の画像処理回路の画像処理部１０９、１２９の処理能力は４Ｋ２Ｋ３０ｆｐｓであるため、２つの画像処理部で分散処理して４Ｋ２Ｋ６０ｆｐｓを実現する。
【００７７】
図１２は撮像部１０１が出力したセンサーデータをモニタ１０１７に表示するまでの処理を説明するフローチャートである。ステップＳ１２０１〜ステップＳ１２０７が画像処理回路１００の処理であり、ステップＳ１２１１〜ステップＳ１２１７が画像処理回路１２０の処理であり、ステップＳ１２２１〜ステップＳ１２２６が画像処理回路１０００の処理である。
【００７８】
（画像処理回路１００）
まず、図１２（Ａ）を参照して画像処理回路１００の送信処理フローについて説明する。ステップＳ１２０１において、入力ＩＦ部１０２は撮像部１０１が出力したセンサーデータを入力する。Ｖｎ〜Ｖｎ＋１間で入力するデータは図１１のＲａｗ−Ｕ０ １１０１、Ｒａｗ−Ｌ０ １１０２である。ステップＳ１２０２において、多重データ分離部１０３は入力ＩＦ部１０２で入力した処理済みデータとセンサーデータを分離する。ステップＳ１２０３において、センサーデータ分離部１０４は自身の部で画像処理するセンサーデータと、後段の部で画像処理するセンサーデータとを分離する。本実施形態では各フレームに対して、評価値用の処理は画像処理回路１００自身で実行し、表示用の処理は後段の画像処理回路１２０、１０００で実行させる。
【００７９】
ステップＳ１２０４において、画像処理部１０９はセンサーデータから当該フレームの評価値データＡ、Ｂ、Ｃを生成し、ＳＤＲＡＭ１１５に保持する。図１１の処理１１０３が評価値データ生成処理、ＳＤＲＡＭ１１５への書き込みタイミングを示す。画像処理部１０９は、たとえば撮像部１０１から露出やホワイトバランスなどの撮影条件を示す情報を取得し、それを基に評価値データを作成する。また、たとえば撮像部１０１の光学系の歪みや傾きを補正するため、予め与えられた歪みや傾斜などを示すパラメータなどに基づいて、歪み補正のための評価値を作成する。
【００８０】
ステップＳ１２０５において、データ読出し部１１１はステップＳ１２０４で処理した評価値データ（評価値０Ａ〜０Ｃ）をＳＤＲＡＭ１１５から読み出し、多重化部１０５に送信する。図１１の処理１１２０がＳＤＲＡＭ１１５からの評価値データの読出しタイミングである。
【００８１】
ステップＳ１２０６において、多重化部１０５はステップ１２０５で読みだした評価値データと、センサーデータをそれぞれ所定のサイズでパケット化し、ヘッダに識別情報を付加したのち多重化して、出力ＩＦ部１０６を経由して、後段の画像処理回路１２０の入力ＩＦ部１２２に送信する。ステップ１２０７において、システム制御部１１２はモードの変更や撮像装置の電源オフ等の終了処理の有無を判定し、処理を継続する場合はステップＳ１２０１に戻る。なお、本実施形態では、評価値Ａと評価値Ｂは画像処理回路１２０と１０００の両方で使用される。そのため、多重化部１０５は、評価値Ａと評価値Ｂのデータについては、宛先として画像処理回路１２０を示すヘッダを付加したパケットと、宛先として画像処理回路１０００を示すヘッダを付加したパケットとを送信する。
【００８２】
（画像処理回路１２０）
次に図１２（Ｂ）を参照して画像処理回路１２０の送信処理について説明する。ステップＳ１２１１において、入力ＩＦ部１１２は出力ＩＦ部１０６が出力した多重化データを入力する。Ｖｎ〜Ｖｎ＋２間で入力するデータは図１１の１１０７（Ｒａｗ−Ｕ０とＲＡＷ−Ｌ０と評価値０Ａ〜０Ｃ）である。
ステップＳ１２１２において、多重データ分離部１２３は入力ＩＦ部で入力した処理済みデータとセンサーデータをヘッダの識別情報を参照して、識別、分離する。ここで、多重データ分離部１２３は、処理済みデータについては、画像処理回路１２０が宛先となっているデータを分離してデータ格納部１２８に送る。また、画像処理回路１２０が宛先となっていない処理済みデータ（ここでは評価値Ａのうち宛先が画像処理回路１０００を示すパケットと評価値Ｂ）は分離せずにそのままセンサーデータ分離部１０４に送る。データ書込部１３０は、データ格納部１２８に一時記憶された処理済みデータ（ここでは評価値Ａと評価値Ｃ）を読み出し、メモリコントローラ１３３を介してＳＤＲＡＭ１３５に書き込む。ステップＳ１２１３において、センサーデータ分離部１２１４は、多重データ分離部１０３からのデータのうち、画像処理回路１２０で画像処理するセンサーデータを分離し、ＳＤＲＡＭ１３５に書き込む。また、センサーデータ分離部１０４は、後段の画像処理回路１０００で画像処理するセンサーデータと、宛先が画像処理回路１０００となっている処理済みデータ（評価値データ）とを、多重化部１０５に送る。画像処理部１０９は４Ｋ２Ｋ３０ｆｐｓの処理能力のため、４Ｋ１Ｋのセンサーデータを１／６０ｓで画像処理を行う。図１１のデータ１１０４がＳＤＲＡＭ１３５に書き込まれるセンサーデータである。
【００８３】
ステップＳ１２１４において、画像処理部１２９はステップＳ１２１３でＳＤＲＡＭ１３５に書き込まれたＬｏｗｅｒ側のセンサーデータを読み出す。また、画像処理部１２９は、ＳＤＲＡＭ１３５から、評価値０Ａと評価値０Ｃの評価値データを読み出し、これらの評価値データを使用してセンサーデータの処理を行う。そして、ＹＣｂＣｒのデータを生成してＳＤＲＡＭ１３５に書き戻す。図１１の１１０５がＳＤＲＡＭ１３５からの読出し、画像処理、ＳＤＲＡＭ１３５への書き込みタイミングを示す。
ステップＳ１２１５において、データ読出し部１３１はステップＳ１２１４で処理した処理済みデータをＳＤＲＡＭ１３５から読み出し、多重化部１２５に送信する。
【００８４】
ステップＳ１２１６において、多重化部１２５はステップ１２１５で読みだした処理済みデータと、ステップＳ１２１２で分離したセンサーデータ及び画像処理回路１０００が宛先となっている処理済みデータ（評価値データ）をそれぞれ所定のサイズでパケット化し、ヘッダに識別情報を付加したのち多重化して、出力ＩＦ部１２６を経由して、後段の画像処理回路１０００の入力ＩＦ部１００２に送信する。多重化されるデータは、画像処理回路１２０をスルーして画像処理回路１０００に転送される評価値Ａおよび評価値Ｂを含む。図１１の１１１０が分離後のＵｐｐｅｒ側のセンサーデータＲａｗ−Ｕ１と処理済みデータ（画像処理回路１００で生成した評価値１Ａと評価値１Ｂと画像処理回路１２０で処理したＬｏｗｅｒ側の表示データＹＣＣ Ｌ０）の送信タイミングを示す。なおデータＹＣＣ Ｌ０は、Ｖｎ＋１〜Ｖｎ＋２で受信した評価値データ０Ａ，０Ｂ，０Ｃに基づいて画像処理されている。
ステップＳ１２１７において、システム制御部１３２はモードの変更や撮像装置の電源オフ等の終了処理の有無を判定し、処理を継続する場合はステップＳ１２１１に戻る。
【００８５】
（画像処理回路１０００）
次に図１２（Ｃ）を参照して画像処理回路１０００の受信処理について説明する。ステップＳ１２２１において、入力ＩＦ部１００２は出力ＩＦ部１２６が出力した多重化データを入力する。Ｖｎ＋２〜Ｖｎ＋４間で入力するデータは図１１の１１１０（Ｒａｗ−Ｕ１とＹＣＣ Ｌ０と評価値１Ａと評価値１Ｂ）である。
ステップＳ１２２２において、多重データ分離部１００３は入力ＩＦ部１００２で入力した処理済みデータとセンサーデータをヘッダの識別情報を参照して識別、分離する。多重データ分離部１００３は、画像処理回路１０００が宛先となっている処理済みデータを分離してデータ格納部１００８に送る。データ書込部１０１０は、データ格納部１００８に一時記憶された処理済みデータを読み出し、メモリコントローラ１０１３を介してＳＤＲＡＭ１０１５に書き込む。
ステップＳ１２２３において、センサーデータ分離部１００４は画像処理回路１０００自身で画像処理するセンサーデータと、後段の画像処理回路で画像処理するセンサーデータを分離し、画像処理回路１０００自身で画像処理するセンサーデータをＳＤＲＡＭ１０１５に書き込む。図１１のデータ１１０８がＳＤＲＡＭ１０１５に書き込まれるセンサーデータである。また後段の画像処理回路はないので、実質的には受信したセンサーデータは画像処理回路１０００による処理の対象となる。
【００８６】
ステップＳ１２２４において、画像処理部１００９はステップＳ１２２３でＳＤＲＡＭに書き込まれたＵｐｐｅｒ側のセンサーデータを読み出す。また、画像処理部１１００９は、ＳＤＲＡＭ１０１５から評価値Ａと評価値Ｂの評価値データを読み出し、これらを使用してセンサーデータを処理する。そして、ＹＣＣの画像データを生成し、ＳＤＲＡＭ１０１５に保持する。図１１の１１０９がＳＤＲＡＭ１０１５からの読出し、画像処理、ＳＤＲＡＭ１１０５への書き込みタイミングを示す。
【００８７】
ステップＳ１２２５において、表示制御部１０１４はステップＳ１２２４で処理した処理済みのＵｐｐｅｒ側のＹＣＣデータとステップＳ１２２１で入力した処理済みのＬｏｗｅｒ側のＹＣＣデータをモニタ１０１７に転送し、モニタに表示させる。図１１の１１１２が表示制御部の処理タイミングである。
ステップＳ１２２６において、システム制御部１０１２はモードの変更や撮像装置の電源オフ等の終了処理が有無を判定し、処理を継続する場合はステップＳ１２２１に戻る。
【００８８】
＜フロー制御の説明＞
次に図１３を用いて処理済みデータのフロー制御について説明する。本実施形態では、受信側の画像処理回路１０００から送信側の画像処理回路１００、１２０にＳＴＯＰ信号を出力し、送信側の転送を一時停止させることでフロー制御を実現している。ステップＳ１３０１〜ステップＳ１３０５が送信側１（画像処理回路１００）の処理であり、ステップＳ１３１１〜ステップＳ１３１５が送信側２（画像処理回路１２０）の処理であり、ステップＳ１３２１〜ステップＳ１３２９が受信側（画像処理回路１０００）の処理フローについて説明する。
【００８９】
（画像処理回路１００）
まず図１３（Ａ）を参照して送信側１（画像処理回路１００）の処理について説明する。ステップＳ１３０１において、システム制御部１１２はデータ読出部１１１に対しＳＤＲＡＭ１１５から読みだすデータのアドレスとサイズと送信先とを設定する。送信先に応じて下記の通り使用する記憶部（バッファ）を変更する。
・記憶部１：画像処理回路１２０、画像処理回路１０００への同時送信用
・記憶部２：画像処理回路１２０への送信用
・記憶部３：画像処理回路１０００への送信用
データ読出し部１１１は送信先（宛先）とデータの種類を識別するためのヘッダをパケットに付加して送信する。なお、本実施例では画像処理回路１２０と画像処理回路１０００に同時送信するユースケースを説明する。
【００９０】
ステップＳ１３０２において、データ読出部１０２０は所定単位でＳＤＲＡＭ１１５から指定されたアドレスのデータを読み出し、多重化部１０５に転送する。本実施形態では所定単位は２５６バイトとする。Ｖｎ〜Ｖｎ＋２の期間では図１１の１１２０の評価値０Ａ〜０Ｃが該当する。
ステップＳ１３０３において、多重化部１０５はセンサーデータ分離部１０４のセンサーデータとステップＳ１３０２で送信されたＳＤＲＡＭ１１５からのデータをそれぞれ所定のサイズでパケット化し、識別情報を含むヘッダを付加したのち多重化して、出力ＩＦ部１０６に送信する。
【００９１】
ステップＳ１３０４において、データ読出部１１１は、ＳＴＯＰ信号１０３１とＳＴＯＰ信号１０３２がアクティブであるかを判定する。本実施形態では信号レベルに応じてアクティブであるかを判定する。ハイレベルの信号である場合はアクティブであると判定する。ＳＴＯＰ信号１０３１は記憶部２に対応し、ＳＴＯＰ信号１０３２は記憶部３に対応する。ステップＳ１３０１で画像処理回路１２０、画像処理回路１０００に同時送信を設定した場合は、ＳＴＯＰ信号１０３１と１０３２との論理和が記憶部１に対応する。データ読出部１０２０は、アクティブなＳＴＯＰ信号を検出している間はステップＳ１３０４の処理を繰り返し、対応する記憶部を用いて送信されるデータのＳＤＲＡＭ１１５からの読出しを行わない。たとえばＳＴＯＰ信号１０３１がアクティブであれば、記憶部１および記憶部２を用いて送信されるデータのＳＤＲＡＭ１１５からの読み出しは停止されるが、記憶部３を用いて送信されるデータの読み出しは続行される。ＳＴＯＰ１０３２がアクティブであれば、記憶部１および記憶部３を用いて送信されるデータのＳＤＲＡＭ１１５からの読み出しは停止されるが、記憶部２を用いて送信されるデータの読み出しは続行される。両方がアクティブであれば、一切の読み出しは中断される。すなわち、ＳＴＯＰ信号の送信元の画像処理回路に対する処理済みデータの送信が抑制される。ＳＴＯＰ信号１０３１とＳＴＯＰ信号１０３２のいずれもアクティブではないと判定した場合はステップＳ１３０５に進む。
【００９２】
ステップＳ１３０５では、データ読出し部１０２０はステップＳ１３０１で指定されたサイズ分データを送信したか判定し、未送信データがある場合はステップＳ１３０２に戻り、前述した処理を繰り返す。指定サイズ送信完了した場合は処理を終える。
【００９３】
（画像処理回路１２０）
次に図１３（Ｂ）を参照して送信側２（画像処理回路１２０）の処理について説明する。
ステップＳ１３１１において、システム制御部１３２はデータ読出部１３１に対しＳＤＲＡＭ１３５から読みだすデータのアドレスとサイズを設定する。ステップＳ１３１２において、データ読出部１３１は所定単位でＳＤＲＡＭ１３５から指定されたアドレスのデータを読み出し、多重化部１２５に転送する。本実施形態では所定単位は２５６バイトとする。Ｖｎ＋２〜Ｖｎ＋３の期間では図１１の１１０５のＹＣＣ Ｌ０が該当する。
ステップＳ１３１３において、多重化部１２５はセンサーデータ分離部１２４のセンサーデータとステップＳ１３１２で転送されたＳＤＲＡＭ１３５からのデータをそれぞれ所定のサイズでパケット化し、ヘッダに識別情報を付加したのち多重化して、出力ＩＦ部１２６に送信する。
【００９４】
ステップＳ１３１４において、データ読出部１３１はＳＴＯＰ信号１０３２を監視して、ＳＴＯＰ信号１０３２がアクティブであるかを判定する。データ読出部１１１は、アクティブなＳＴＯＰ信号を検出している間はステップＳ１３１４の処理を繰り返し、ＳＤＲＡＭ１３５からの読出しを行わない。ＳＴＯＰ信号１０３２がアクティブではないと判定した場合はステップＳ１３１５に進む。
ステップＳ１３１５では、データ読出し部１３１はステップＳ１３１１で指定されたサイズ分データを送信したか判定し、未送信データがある場合はステップＳ１３１２に戻り、前述した処理を繰り返す。指定サイズ送信完了した場合は処理を終える。
【００９５】
（画像処理回路１０００）
最後に図１３（Ｃ）を参照して受信側（画像処理回路１０００）の処理について説明する。本実施形態では、データ格納部１００８の記憶サイズは２Ｋバイトとする。
ステップＳ１３２１において、システム制御部１０１２は上流の（あるいは画像処理回路１０００自身も含めてもよい）画像処理回路の段数から下記の通り閾値を設定する。
２チップ（２段）：１．５Ｋバイト（２Ｋバイト−２５６バイト×２）
３チップ（３段）：１．０Ｋバイト（２Ｋバイト−２５６バイト×２×２チップ）
４チップ（４段）：５１２バイト（２Ｋバイト−２５６バイト×２×３チップ）
上流の画像処理回路にアクティブなＳＴＯＰ信号を出力する時に、すでに送信されたデータを受信できるようにするために閾値を接続された上流の画像処理回路の段数に応じて変更する。例えば、図１０のように三つの画像処理回路１００、１２０、１０００から構成される場合、ＳＴＯＰ信号をアクティブにした時に、すでに画像処理回路１００から２５６バイトのデータが送信済みであり、かつ、画像処理回路１２０からも２５６バイトのデータが送信済みの場合、合計５１２バイトのデータを受信できる必要がある。５１２バイトを受信でき、かつ受信余裕をもつために閾値を１．０Ｋバイトにする。ステップＳ１３２２において、システム制御部１０１２はデータ書込部１０１０に対し、受信サイズを設定する。
【００９６】
ステップＳ１３２３において、データ格納部１００８は多重データ分離部１００３で分離されたＳＤＲＡＭ１０１５への書き込み用データを所定単位毎に受信する。本実施形態では所定単位は２５６バイトとする。データ格納部１００８は受信データを記憶でき、本実施形態では２Ｋバイト記憶できるとする。
【００９７】
ステップＳ１３２４において、データ量検出部１００７はデータ格納部１００８に記憶しているデータ量が閾値を超えたか判定する。本実施形態では、図１０に示すように３段構成なので、ステップＳ１３２１で閾値を１．０Ｋバイトと設定したとする。閾値を超えた場合はステップＳ１３２５に進み、超えていない場合はステップＳ１３２７に進む。
【００９８】
ステップＳ１３２５において、データ量検出部１００７はストップ信号１０３２をアクティブにし、送信側１（画像処理回路１００）のデータ読出部１１１の動作と送信側２（画像処理回路１２０）のデータ読出部１３１を一時停止させる。ただし画像処理回路１００については、画像処理回路１０００を宛先とするデータに限る。アクティブの定義は前述したとおりである。
ステップＳ１３２６において、データ書き込み部１０１０はＳＤＲＡＭ１０１５にデータを書き込む。ここで、本実施形態のメモリコントローラ部１０１３によるバス調停は固定優先度方式のため、表示系等リアルタイム性が必要な優先度が高いバスマスタがＳＤＲＡＭ１０１５の帯域を占有した場合、データ書込部１０１０はＳＤＲＡＭ１０１５へのアクセスが待たされる。ステップＳ１３２６以降はステップＳ１３２４に戻り、前述した処理を繰り返す。
【００９９】
ステップＳ１３２７において、データ書き込み部１０１０はＳＤＲＡＭ１０１５にデータを書き込む。ステップＳ１３２８において、データ量検出部１００７はＳＴＯＰ信号１０３２をローレベルとし、アクティブ状態を解除する。
ステップＳ１３２９において、データ書込部１０１０はステップＳ１３２２で指定されたサイズ分データを受信したか判定し、未受信データがある場合はステップＳ１３２３に戻り、前述した処理を繰り返す。指定サイズ受信完了した場合は処理を終える。
【０１００】
以上のように、実施形態３によれば、３つ以上の画像処理装置を使用して、上流にある複数の画像処理回路から同時に最終段の画像処理回路に処理済みデータが送信されて、分散処理が行われる構成において、前段のチップ数に応じてＳＴＯＰ信号をアクティブにする閾値を変更する。これにより、最終段のデータ格納部の記憶サイズを拡張することなしに、表示系等リアルタイム性が必要な優先度が高いバスマスタがＳＤＲＡＭの帯域を占有して、データ書込部がＳＤＲＡＭへのアクセスが待たされても、処理済みデータの受信漏れを防ぐことができる。
【０１０１】
また、上流の画像処理回路のデータ読出し部１０２０に複数の記憶部を持ち、Ｕｐｐｅｒ ＹＣＣ転送用（画像処理回路１２０向け）とＬｏｗｅｒ ＹＣＣ転送用（画像処理回路１０００向け）とで別々に使用することで、下流にあるデータ送信先となる複数の画像処理装置のうち一方の画像処理回路のＳＤＲＡＭの帯域が占有され受信できない場合でも、他方に対するデータ送信を停止することなく効率的に転送できる。
なお、画像部１２０の受信フロー制御は図１３（Ｃ）のステップＳ１３２１〜ステップＳ１３２９と同様であるため説明を省略する。
【０１０２】
また、図１１でタイミングチャートを説明したが、これは本実施形態における一例であり、データの種類や処理タイミングを限定するものではない。また、データ量検出部１２７、１００７が検出する閾値は一例であり、閾値を限定するものではない。また、データ読出し部１０２０がもつ記憶数は一例であり、記憶数を限定するものではない。また、ヘッダに付加する転送先の部を識別する識別情報は、本実施例における一例であり、識別情報を限定するものではない。
【０１０３】
また、実施形態３と実施形態２とを組み合わせてもよい。その場合には、実施形態３において、実施形態２で述べたように、データの優先度に応じた閾値が各データ種別ごとに設定される。
【符号の説明】
【０１０４】
１００，１２０  画像処理回路；１０１  撮像素子部；１０３，１２３  多重データ分離部；１０４，１２４  センサデータ分離部；１０５，１２５  多重化部
【図１】
0006604782.tif 000002
【図２】
0006604782.tif 000003
【図３】
0006604782.tif 000004
【図４】
0006604782.tif 000005
【図５】
0006604782.tif 000006
【図６】
0006604782.tif 000007
【図７】
0006604782.tif 000008
【図８】
0006604782.tif 000009
【図９】
0006604782.tif 000010
【図１０Ａ】
0006604782.tif 000011
【図１０Ｂ】
0006604782.tif 000012
【図１１Ａ】
0006604782.tif 000013
【図１１Ｂ】
0006604782.tif 000014
【図１２】
0006604782.tif 000015
【図１３】
0006604782.tif 000016
【図１４】
0006604782.tif 000017
【図１５】
0006604782.tif 000018