(57)【要約】  入力されたデータに対して予め定めた処理を行う複数の処理モジュールを直列に接続してパイプラインを構成し、それぞれの処理モジュールが処理を順次行うことによってパイプライン処理を行う画像処理部がデータバスに接続され、データバスに接続されたデータ記憶部からデータバスを介して読み出したデータに対して画像処理を行う画像処理装置であって、画像処理部は、処理モジュールのそれぞれが行う処理と異なる処理を行う処理モジュールとしてパイプライン内に組み込まれる入出力用モジュール、を備え、入出力用モジュールは、パイプラインにおいて組み込まれた位置の前段に位置する処理モジュールである第１の処理モジュールが処理を行った処理データを、データバスを介さずに直接、画像処理部の外部の外部処理部に出力し、外部処理部によって処理データに対して外部処理が行われて入力された外部処理データを、データバスを介さずに直接、パイプラインにおいて第１の処理モジュールの後段に位置する処理モジュールである第２の処理モジュールに出力する。
2017149591.tif 000002
【特許請求の範囲】
【請求項１】
入力されたデータに対して予め定めた処理を行う複数の処理モジュールを直列に接続してパイプラインを構成し、それぞれの前記処理モジュールが前記処理を順次行うことによってパイプライン処理を行う画像処理部がデータバスに接続され、前記データバスに接続されたデータ記憶部から前記データバスを介して読み出したデータに対して画像処理を行う画像処理装置であって、
前記画像処理部は、
前記処理モジュールのそれぞれが行う前記処理と異なる処理を行う前記処理モジュールとして前記パイプライン内に組み込まれる入出力用モジュール、
を備え、
前記入出力用モジュールは、
前記パイプラインにおいて組み込まれた位置の前段に位置する前記処理モジュールである第１の処理モジュールが前記処理を行った処理データを、前記データバスを介さずに直接、前記画像処理部の外部の外部処理部に出力し、前記外部処理部によって前記処理データに対して外部処理が行われて入力された外部処理データを、前記データバスを介さずに直接、前記パイプラインにおいて前記第１の処理モジュールの後段に位置する前記処理モジュールである第２の処理モジュールに出力する、
画像処理装置。
【請求項２】
入力されたデータに対して予め定めた処理を行う複数の処理モジュールを直列に接続してパイプラインを構成し、それぞれの前記処理モジュールが前記処理を順次行うことによってパイプライン処理を行う画像処理部がデータバスに接続され、前記データバスに接続されたデータ記憶部から前記データバスを介して読み出したデータに対して画像処理を行う画像処理装置であって、
前記画像処理部は、
前記処理モジュールのそれぞれが行う前記処理と異なる処理を行う前記処理モジュールとして前記パイプライン内に組み込まれる入出力用モジュール、
を備え、
前記入出力用モジュールは、
前記パイプラインにおいて組み込まれた位置の前段に位置する前記処理モジュールである第１の処理モジュールが前記処理を行った処理データを、前記データバスを介さずに直接、前記画像処理部の外部の外部処理部に出力するか、もしくは、前記画像処理部の外部の外部処理部から入力された外部処理データを、前記データバスを介さずに直接、前記パイプラインにおいて組み込まれた位置の後段に位置する前記処理モジュールである第２の処理モジュールに出力するか、もしくは、前記処理データの前記データバスを介さない前記画像処理部の外部の外部処理部への直接の出力、および前記外部処理部によって前記処理データに対して外部処理が行われて入力された外部処理データの前記データバスを介さない前記第２の処理モジュールへの直接の出力の両方を行う、
画像処理装置。
【請求項３】
前記入出力用モジュールは、
前記処理データを一時的に記憶する出力バッファ部と、
前記外部処理データを一時的に記憶する入力バッファ部と、
を備え、
前記第１の処理モジュールが出力した前記処理データを前記出力バッファ部に一旦記憶し、前記外部処理部からの要求に応じて前記出力バッファ部に記憶した前記処理データを出力し、
前記外部処理部が出力した前記外部処理データを前記入力バッファ部に一旦記憶し、前記第２の処理モジュールからの要求に応じて前記入力バッファ部に記憶した前記外部処理データを出力する、
請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記入出力用モジュールは、
前記出力バッファ部の記憶容量に基づいて、前記出力バッファ部への前記処理データの書き込みを制御する処理モジュール入力制御部と、
前記出力バッファ部に記憶されている前記処理データのデータ量に基づいて、前記出力バッファ部からの前記処理データの読み出しを制御する外部出力制御部と、
前記入力バッファ部の記憶容量に基づいて、前記入力バッファ部への前記外部処理データの書き込みを制御する外部入力制御部と、
前記入力バッファ部に記憶されている前記外部処理データのデータ量に基づいて、前記入力バッファ部からの前記外部処理データの読み出しを制御する処理モジュール出力制御部と、
をさらに備える、
請求項３に記載の画像処理装置。
【請求項５】
前記処理モジュール入力制御部は、
前記第１の処理モジュールが前記処理を行う単位ごとに、前記出力バッファ部に前記処理データを書き込み、
前記外部出力制御部は、
前記外部処理部が前記外部処理を行う単位ごとに、前記出力バッファ部に記憶されている前記処理データを読み出し、
前記外部入力制御部は、
前記外部処理部が前記外部処理を行う単位ごとに、前記入力バッファ部に前記外部処理データを書き込み、
前記処理モジュール出力制御部は、
前記第２の処理モジュールが前記処理を行う単位ごとに、前記入力バッファ部に記憶されている前記外部処理データを読み出す、
請求項４に記載の画像処理装置。
【請求項６】
前記外部出力制御部は、
複数の前記外部処理部の内、いずれの前記外部処理部に前記処理データを出力するのかを示す出力先情報を前記処理データに付加する、
請求項５に記載の画像処理装置。
【請求項７】
前記出力先情報は、
前記外部処理部が前記処理データに対して行う前記外部処理の設定の情報が示された付加情報に含まれる、
請求項６に記載の画像処理装置。
【請求項８】
前記入出力用モジュールは、
前記パイプラインの先頭、途中、および最後尾の少なくとも１つの位置に組み込まれる、
請求項１から請求項７のいずれか１つの項に記載の画像処理装置。
【請求項９】
前記外部処理部との間でデータの入出力を行う外部インターフェース部、
をさらに備え、
前記入出力用モジュールは、
前記外部インターフェース部を介して、前記外部処理部との間でデータ伝送を行う、
請求項１または請求項２に記載の画像処理装置。
【請求項１０】
前記処理データおよび前記外部処理データは、
画像データであり、
前記第１の処理モジュールおよび前記第２の処理モジュールが前記処理を行う単位と、前記外部処理部が前記外部処理を行う単位とのそれぞれは、
１フレームの前記画像データを予め定めた複数のブロックに分割したサイズであり、
前記出力バッファ部の記憶容量および前記入力バッファ部の記憶容量は、
１フレームの前記画像データに含まれる画素データを記憶するための記憶容量よりも少ない、
請求項５に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置に関する。
【背景技術】
【０００２】
静止画用カメラ、動画用カメラ、医療用内視鏡カメラ、または産業用内視鏡カメラなどの撮像装置では、搭載されたシステムＬＳＩなどの画像処理装置によって、様々な画像処理が行われる。また、撮像装置は、搭載する機能や処理能力（速度）、またはその価格によって、様々な機種が展開される。このため、画像処理装置には、撮像装置に搭載する機能を実現するための画像処理機能を備えていることが望まれる。しかし、撮像装置において展開するそれぞれの機種ごとに、必要な画像処理機能を備えた画像処理装置を開発することは、画像処理装置の開発期間やコストの観点からすると、有益な手段ではない。また、多くの画像処理機能を備える画像処理装置のみ開発して全ての撮像装置に共通して搭載することは、少ない機能を搭載した撮像装置において低価格化の実現を阻害する要因となってしまう。【０００３】
そこで、従来から、実行する画像処理機能に拡張性を持たせる構成の様々な画像処理装置の技術が提案されている。例えば、特許文献１には、機能や処理能力が異なる様々な画像処理装置を、複数のＡＳＩＣで実現する技術が開示されている。特許文献１では、画像処理に必要な最低限の機能を備えた基本機能ＡＳＩＣのみを使用して、低機能画像処理装置を最適コストで実現し、基本機能ＡＳＩＣと多くの機能を備えた高機能ＡＳＩＣを使用して、多機能の高性能画像処理装置を実現している。特許文献１に開示された技術を撮像装置に適用することによって、様々な機種の撮像装置を展開することができると考えられる。つまり、低機能の画像処理装置のみを搭載することによって、低コストの撮像装置を実現し、低機能の画像処理装置と高機能の画像処理装置との両方を搭載することによって、高機能で処理能力の高い撮像装置を実現することができると考えられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】日本国特開２００８−３０１０９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、撮像装置に搭載される多くの画像処理装置では、接続された１つのＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を、内蔵している複数の処理ブロックで共有している。このような画像処理装置においては、内蔵している複数の処理ブロックが、画像処理装置の内部のデータバスに接続され、それぞれの処理ブロックは、データバスを介したＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）によってＤＲＡＭへのアクセスを行う。【０００６】
また、このような構成の画像処理装置に備える処理ブロックの中には、複数の処理モジュールを直列に接続した構成にすることによってパイプライン処理を行う処理ブロックもある。例えば、画像処理装置では、撮像装置における一連の画像処理を行う画像処理部が、パイプライン処理を行う構成の処理ブロックである。このような構成の画像処理装置では、それぞれの画像処理を行う複数の画像処理モジュールを直列に接続した画像処理部におけるパイプライン処理によって、撮像装置における一連の画像処理の高速化を実現している。また、このような構成の画像処理装置では、画像処理部に備えたデータ入力側と出力側の処理モジュール以外は、パイプライン処理を行うそれぞれの画像処理モジュールによるＤＲＡＭへのアクセスがなくなるため、画像処理を行う際のＤＲＡＭのバス帯域の圧迫を回避し、画像処理装置の消費電力も低減している。【０００７】
しかし、撮像装置では、機能の拡張を目的として、パイプラインを構成して行っているいずれかの画像処理の間に、機能を拡張するための他の画像処理を挿入する要求がなされることもある。【０００８】
しかしながら、特許文献１に開示された技術には、低機能画像処理装置に続いて高性能画像処理装置が処理を行う構成や、低機能画像処理装置と高性能画像処理装置とは別に設けられたＣＰＵおよびメモリを利用した構成は開示されているものの、低機能画像処理装置が処理を行っている途中に高性能画像処理装置が処理を行って、再び低機能画像処理装置が処理を行う構成は開示されていない。つまり、特許文献１に開示された技術には、低機能画像処理装置が処理を行っている途中に高性能画像処理装置による処理を挿入するための技術は開示されていない。このため、特許文献１に開示された技術では、機能を拡張するために、パイプライン処理を行っているいずれかの画像処理の間に他の画像処理を挿入するという、撮像装置においてなされる要求に答える構成を実現することができない。【０００９】
仮に、特許文献１に開示された技術を適用する画像処理装置において、パイプライン処理によって行ういずれかの画像処理の間に他の画像処理を挿入することによって機能を拡張する構成を考えると、ＤＲＡＭを介してデータの受け渡しを行う構成が考えられる。この構成の場合では、以下のような手順での処理が必要になる。【００１０】
（手順１）：低機能画像処理装置に備えた画像処理部が、拡張する機能を挿入する前まで画像処理したデータをＤＲＡＭに格納する。より具体的には、低機能画像処理装置に備えた画像処理部が、低機能画像処理装置に接続されているＤＲＡＭから処理を行う対象のデータを、データバスを介したＤＭＡによって取得し、パイプライン処理によって、機能を拡張するための他の画像処理を挿入する前まで画像処理したデータを、データバスを介したＤＭＡによって低機能画像処理装置に接続されているＤＲＡＭに格納する。【００１１】
（手順２）：低機能画像処理装置から高性能画像処理装置にデータを転送する。より具体的には、低機能画像処理装置に備えた外部インターフェース部が、低機能画像処理装置に接続されているＤＲＡＭから手順１によって格納されたデータを、データバスを介したＤＭＡによって取得し、高性能画像処理装置に備えた外部インターフェース部に転送する。高性能画像処理装置に備えた外部インターフェース部は、低機能画像処理装置に備えた外部インターフェース部から転送されたデータを、データバスを介したＤＭＡによって高性能画像処理装置に接続されているＤＲＡＭに格納する。【００１２】
（手順３）：高性能画像処理装置に備えた画像処理部が、拡張する機能の画像処理を行ったデータをＤＲＡＭに格納する。より具体的には、高性能画像処理装置に備えた画像処理部が、低機能画像処理装置から転送されたデータを、データバスを介したＤＭＡによって高性能画像処理装置に接続されているＤＲＡＭから取得し、機能を拡張するための画像処理を行ったデータを、データバスを介したＤＭＡによって高性能画像処理装置に接続されているＤＲＡＭに格納する。【００１３】
（手順４）：高性能画像処理装置から低機能画像処理装置にデータを転送する。より具体的には、高性能画像処理装置に備えた外部インターフェース部が、高性能画像処理装置に接続されているＤＲＡＭから手順３によって格納されたデータを、データバスを介したＤＭＡによって取得し、低機能画像処理装置に備えた外部インターフェース部に転送する。低機能画像処理装置に備えた外部インターフェース部は、高性能画像処理装置に備えた外部インターフェース部から転送されたデータを、データバスを介したＤＭＡによって低機能画像処理装置に接続されているＤＲＡＭに格納する。【００１４】
（手順５）：低機能画像処理装置に備えた画像処理部が、拡張する機能の画像処理が行われたデータに対して続きの画像処理を行う。より具体的には、低機能画像処理装置に備えた画像処理部が、高性能画像処理装置から転送されたデータを、データバスを介したＤＭＡによって低機能画像処理装置に接続されているＤＲＡＭから取得し、パイプライン処理する続きの画像処理を行い、パイプライン処理における全ての画像処理を完了したデータを、データバスを介したＤＭＡによって低機能画像処理装置に接続されているＤＲＡＭに格納する。【００１５】
このように、パイプラインが構成された画像処理装置に特許文献１に開示された技術を適用していずれかの画像処理の間に他の画像処理を挿入する場合を考えると、それぞれの画像処理装置に接続されたＤＲＡＭの間でのデータの転送が必要になり、画像処理装置において構成したパイプライン処理が分断されて、一連の画像処理を高速で行うことができなくなる。【００１６】
このことから、パイプライン処理を行う構成の画像処理装置には、特許文献１に開示された技術を適用することは困難である。つまり、特許文献１に開示された技術では、パイプラインを構成して一連の画像処理を行っているいずれかの画像処理モジュールの間に、他の画像処理を行う画像処理モジュールを挿入して画像処理の機能を拡張する構成を実現することは困難である。【００１７】
なお、パイプライン処理を行わない構成の画像処理装置には、特許文献１に開示された技術を適用することが可能であると考えられるが、この場合にも、それぞれの画像処理装置に接続されたＤＲＡＭの間でのデータの転送は必要であるため、画像処理を行う際のＤＲＡＭのバス帯域の圧迫の回避や、画像処理装置の消費電力の低減はできない。これは、パイプライン処理を行う構成の画像処理装置では、パイプライン処理を行う全ての画像処理モジュールの画像処理が完了するまでＤＲＡＭへのアクセスを行わないことによって、ＤＲＡＭへのアクセスに要する処理時間を減少させることによる画像処理の高速化や、画像処理を行う際のＤＲＡＭのバス帯域の圧迫の回避、画像処理装置の消費電力の低減などを実現しているからである。【００１８】
本発明は、上記の課題認識に基づいてなされたものであり、パイプライン処理を行う構成の画像処理装置において、パイプラインによって行っている一連の画像処理の間に他の画像処理を挿入することができる画像処理装置を提供することを目的としている。
【課題を解決するための手段】
【００１９】
本発明の第１の態様によれば、画像処理装置は、入力されたデータに対して予め定めた処理を行う複数の処理モジュールを直列に接続してパイプラインを構成し、それぞれの前記処理モジュールが前記処理を順次行うことによってパイプライン処理を行う画像処理部がデータバスに接続され、前記データバスに接続されたデータ記憶部から前記データバスを介して読み出したデータに対して画像処理を行う画像処理装置であって、前記画像処理部は、前記処理モジュールのそれぞれが行う前記処理と異なる処理を行う前記処理モジュールとして前記パイプライン内に組み込まれる入出力用モジュール、を備え、前記入出力用モジュールは、前記パイプラインにおいて組み込まれた位置の前段に位置する前記処理モジュールである第１の処理モジュールが前記処理を行った処理データを、前記データバスを介さずに直接、前記画像処理部の外部の外部処理部に出力し、前記外部処理部によって前記処理データに対して外部処理が行われて入力された外部処理データを、前記データバスを介さずに直接、前記パイプラインにおいて前記第１の処理モジュールの後段に位置する前記処理モジュールである第２の処理モジュールに出力する。【００２０】
本発明の第２の態様によれば、画像処理装置は、入力されたデータに対して予め定めた処理を行う複数の処理モジュールを直列に接続してパイプラインを構成し、それぞれの前記処理モジュールが前記処理を順次行うことによってパイプライン処理を行う画像処理部がデータバスに接続され、前記データバスに接続されたデータ記憶部から前記データバスを介して読み出したデータに対して画像処理を行う画像処理装置であって、前記画像処理部は、前記処理モジュールのそれぞれが行う前記処理と異なる処理を行う前記処理モジュールとして前記パイプライン内に組み込まれる入出力用モジュール、を備え、前記入出力用モジュールは、前記パイプラインにおいて組み込まれた位置の前段に位置する前記処理モジュールである第１の処理モジュールが前記処理を行った処理データを、前記データバスを介さずに直接、前記画像処理部の外部の外部処理部に出力するか、もしくは、前記画像処理部の外部の外部処理部から入力された外部処理データを、前記データバスを介さずに直接、前記パイプラインにおいて組み込まれた位置の後段に位置する前記処理モジュールである第２の処理モジュールに出力するか、もしくは、前記処理データの前記データバスを介さない前記画像処理部の外部の外部処理部への直接の出力、および前記外部処理部によって前記処理データに対して外部処理が行われて入力された外部処理データの前記データバスを介さない前記第２の処理モジュールへの直接の出力の両方を行う。【００２１】
本発明の第３の態様によれば、上記第１の態様または上記第２の態様の画像処理装置において、前記入出力用モジュールは、前記処理データを一時的に記憶する出力バッファ部と、前記外部処理データを一時的に記憶する入力バッファ部と、を備え、前記第１の処理モジュールが出力した前記処理データを前記出力バッファ部に一旦記憶し、前記外部処理部からの要求に応じて前記出力バッファ部に記憶した前記処理データを出力し、前記外部処理部が出力した前記外部処理データを前記入力バッファ部に一旦記憶し、前記第２の処理モジュールからの要求に応じて前記入力バッファ部に記憶した前記外部処理データを出力してもよい。【００２２】
本発明の第４の態様によれば、上記第３の態様の画像処理装置において、前記入出力用モジュールは、前記出力バッファ部の記憶容量に基づいて、前記出力バッファ部への前記処理データの書き込みを制御する処理モジュール入力制御部と、前記出力バッファ部に記憶されている前記処理データのデータ量に基づいて、前記出力バッファ部からの前記処理データの読み出しを制御する外部出力制御部と、前記入力バッファ部の記憶容量に基づいて、前記入力バッファ部への前記外部処理データの書き込みを制御する外部入力制御部と、前記入力バッファ部に記憶されている前記外部処理データのデータ量に基づいて、前記入力バッファ部からの前記外部処理データの読み出しを制御する処理モジュール出力制御部と、をさらに備えてもよい。【００２３】
本発明の第５の態様によれば、上記第４の態様の画像処理装置において、前記処理モジュール入力制御部は、前記第１の処理モジュールが前記処理を行う単位ごとに、前記出力バッファ部に前記処理データを書き込み、前記外部出力制御部は、前記外部処理部が前記外部処理を行う単位ごとに、前記出力バッファ部に記憶されている前記処理データを読み出し、前記外部入力制御部は、前記外部処理部が前記外部処理を行う単位ごとに、前記入力バッファ部に前記外部処理データを書き込み、前記処理モジュール出力制御部は、前記第２の処理モジュールが前記処理を行う単位ごとに、前記入力バッファ部に記憶されている前記外部処理データを読み出してもよい。【００２４】
本発明の第６の態様によれば、上記第５の態様の画像処理装置において、前記外部出力制御部は、複数の前記外部処理部の内、いずれの前記外部処理部に前記処理データを出力するのかを示す出力先情報を前記処理データに付加してもよい。【００２５】
本発明の第７の態様によれば、上記第６の態様の画像処理装置において、前記出力先情報は、前記外部処理部が前記処理データに対して行う前記外部処理の設定の情報が示された付加情報に含まれてもよい。【００２６】
本発明の第８の態様によれば、上記第１の態様から上記第７の態様のいずれか一態様の画像処理装置において、前記入出力用モジュールは、前記パイプラインの先頭、途中、および最後尾の少なくとも１つの位置に組み込まれてもよい。【００２７】
本発明の第９の態様によれば、上記第１の態様または上記第２の態様の画像処理装置において、前記外部処理部との間でデータの入出力を行う外部インターフェース部、をさらに備え、前記入出力用モジュールは、前記外部インターフェース部を介して、前記外部処理部との間でデータ伝送を行ってもよい。【００２８】
本発明の第１０の態様によれば、上記第５の態様の画像処理装置において、前記処理データおよび前記外部処理データは、画像データであり、前記第１の処理モジュールおよび前記第２の処理モジュールが前記処理を行う単位と、前記外部処理部が前記外部処理を行う単位とのそれぞれは、１フレームの前記画像データを予め定めた複数のブロックに分割したサイズであり、前記出力バッファ部の記憶容量および前記入力バッファ部の記憶容量は、１フレームの前記画像データに含まれる画素データを記憶するための記憶容量よりも少なくてもよい。
【発明の効果】
【００２９】
上記各態様によれば、パイプライン処理を行う構成の画像処理装置において、パイプラインによって行っている一連の画像処理の間に他の画像処理を挿入することができる画像処理装置を提供することができるという効果が得られる。
【図面の簡単な説明】
【００３０】
【図１】本発明の第１の実施形態における画像処理装置の概略構成を示したブロック図である。
【図２】本発明の第１の実施形態における画像処理装置内の画像処理部に備えた入出力用モジュールの構成の概念を説明するブロック図である。
【図３】本発明の第１の実施形態における画像処理装置内の画像処理部に備えた入出力用モジュールの概略構成を示したブロック図である。
【図４】本発明の第１の実施形態における画像処理装置内の画像処理部に備えた入出力用モジュールにおける外部出力部の動作の一例を示したタイミングチャートである。
【図５】本発明の第１の実施形態における画像処理装置内の画像処理部に備えた入出力用モジュールにおける外部入力部の動作の一例を示したタイミングチャートである。
【図６】本発明の第１の実施形態における画像処理装置内の画像処理部に備えた入出力用モジュールを含んだ画素データの流れを模式的に示した図である。
【図７】本発明の第２の実施形態における画像処理装置の概略構成を示したブロック図である。
【図８】本発明の第２の実施形態における画像処理装置内の画像処理部に備えた入出力用モジュールの概略構成を示したブロック図である。
【図９】本発明の第２の実施形態における画像処理装置内の画像処理部に備えた入出力用モジュールが出力する外部出力データの構成の一例を示した図である。
【図１０】本発明の第２の実施形態における画像処理装置内の画像処理部に備えた入出力用モジュールを含んだ画素データの流れを模式的に示した図である。
【図１１】本発明の第３の実施形態における画像処理装置の概略構成を示したブロック図である。
【図１２】本発明の第３の実施形態における画像処理装置内の画像処理部に備えた入出力用モジュールを含んだ画素データの流れを模式的に示した図である。
【図１３】本発明の第１の実施形態の画像処理装置を搭載した第１の応用例の概略構成を示したブロック図である。
【図１４】本発明の第１の応用例における画像処理装置内の画像処理部に備えた入出力用モジュールを含んだ画素データの流れを模式的に示した図である。
【図１５】本発明の第１の実施形態の画像処理装置を搭載した第２の応用例の概略構成を示したブロック図である。
【図１６】本発明の第２の応用例における画像処理装置内の画像処理部に備えた入出力用モジュールを含んだ画素データの流れを模式的に示した図である。
【発明を実施するための形態】
【００３１】
（第１の実施形態）
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の説明においては、本発明の第１の実施形態の画像処理装置が、例えば、静止画用カメラなどの撮像装置（以下、「撮像装置１００」という）に搭載されている場合について説明する。図１は、本発明の第１の実施形態における画像処理装置の概略構成を示したブロック図である。なお、図１には、本発明の第１の実施形態の画像処理装置１に関連する撮像装置１００内の構成要素として、ＤＲＡＭ５００と、ＤＭＡバス６１０、拡張処理モジュール６２０、および外部インターフェース（Ｉ／Ｆ）部６３０を備えた外部拡張処理装置６００と、ＤＲＡＭ７００とを併せて示している。
【００３２】
図１に示した画像処理装置１は、ＤＭＡバス１０と、画像処理部２０と、外部インターフェース（Ｉ／Ｆ）部３０と、を備えている。また、画像処理部２０は、接続切り替え部２１と、入力ＤＭＡモジュール２２と、３つの画像処理モジュール２３−１〜画像処理モジュール２３−３と、入出力用モジュール２４と、出力ＤＭＡモジュール２５と、を備えている。
【００３３】
なお、図１においては、撮像装置１００に備えたそれぞれの構成要素や画像処理装置１においてＤＭＡバス１０に接続される他の構成要素の図示を省略している。なお、画像処理装置１に備える他の構成要素としては、例えば、撮像装置１００に備えたレンズによって結像された被写体の光学像を光電変換する固体撮像素子を制御する撮像処理部、画像処理部２０によって処理された画像のデータを記録するための記録処理を行う記録処理部、画像処理部２０によって処理された画像のデータを画像処理装置１に備えた表示部に表示させるための表示処理部などがある。また、例えば、撮像装置１００に備える他の構成要素としては、画像処理装置１や外部拡張処理装置６００に備えたそれぞれの構成要素を制御するシステム制御部などもある。
【００３４】
ＤＲＡＭ５００は、画像処理装置１内のＤＭＡバス１０に接続され、撮像装置１００において処理される様々なデータを記憶するデータ記憶部である。例えば、ＤＲＡＭ５００は、撮像装置１００に備えた不図示の固体撮像素子から出力された静止画像のデータを記憶する。画像処理装置１においては、ＤＲＡＭ５００に記憶された１フレームの静止画像のデータを予め定めた複数の小さなブロックに分割し、画像処理部２０が、それぞれのブロックごとに画像処理を行う。以下の説明においては、１フレームの静止画像のデータを分割したそれぞれのブロックに含まれるデータを、「ブロック画像データ」という。
【００３５】
画像処理部２０は、入力されたブロック画像データに対して、画像処理装置１において予め定められた種々の画像処理を行うパイプライン処理部である。より具体的には、画像処理部２０は、入力ＤＭＡモジュール２２、画像処理モジュール２３−１〜画像処理モジュール２３−３、および出力ＤＭＡモジュール２５が直列に接続されたパイプライン処理によって、画像処理装置１における画像処理を順次行う。画像処理部２０は、ブロック画像データに含まれるそれぞれの画素のデータ（以下、「画素データ」という）を、例えば、予め定めた数の列ごとにＤＲＡＭ５００から読み出し、読み出した画素データを１つの処理単位として画像処理を行う。以下の説明においては、画像処理部２０が画像処理を行う１つの処理単位の画素データにおいて、同じ列に含まれる連続した複数の画素データを、「ユニットライン」という。
【００３６】
また、画像処理部２０は、パイプライン処理に含まれる画像処理を選択する機能や、パイプライン処理によって行う画像処理の順番を変更する機能、すなわち、パイプラインの構成を変更する機能を備えている。より具体的には、画像処理部２０は、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれによる画像処理を順次行うパイプラインを構成することもできるが、画像処理モジュール２３−１〜画像処理モジュール２３−３のいずれか１つまたは複数によって画像処理を行うパイプラインや、画像処理モジュール２３−１〜画像処理モジュール２３−３の順番を変更して画像処理を行うパイプラインを構成することができる。以下の説明においては、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれを区別せずに表すときには、「画像処理モジュール２３」という。なお、画像処理部２０におけるパイプラインの構成は、例えば、不図示のシステム制御部によって変更（設定）される。
【００３７】
また、画像処理部２０は、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれが実行する画像処理とは異なる画像処理をパイプライン処理に組み込む機能を備えている。ここで、パイプライン処理に組み込む画像処理は、画像処理モジュール２３−１〜画像処理モジュール２３−３のいずれの画像処理モジュール２３においても実行しない画像処理であり、画像処理部２０の外部に備えた構成要素によって実行される画像処理（以下、「外部画像処理」という）である。
【００３８】
図１に示した撮像装置１００の構成では、画像処理装置１の外部に備えた外部拡張処理装置６００が実行する画像処理を、外部画像処理としてパイプライン処理に組み込むことができる。画像処理部２０では、入出力用モジュール２４を、外部画像処理を実行する画像処理モジュールとしてパイプラインの構成内に組み込むことによって、外部拡張処理装置６００が実行する外部画像処理がパイプライン処理に組み込まれる。なお、上述したように、画像処理部２０におけるパイプラインの構成は、例えば、不図示のシステム制御部によって変更（設定）される。従って、画像処理部２０では、入出力用モジュール２４をパイプラインに組み込むか否かの設定や、パイプラインに組み込む際の入出力用モジュール２４の位置の設定などが、例えば、不図示のシステム制御部によって、上述したパイプラインの構成を変更する機能の設定と共に行われる。
【００３９】
図１には、画像処理モジュール２３−２と画像処理モジュール２３−３との間に入出力用モジュール２４を組み込むことによって、外部拡張処理装置６００によって実行される外部画像処理がパイプラインに組み込まれている構成を示している。つまり、図１に示した画像処理部２０では、画像処理モジュール２３−１による画像処理、画像処理モジュール２３−２による画像処理、外部拡張処理装置６００による画像処理、および画像処理モジュール２３−３による画像処理を順次行うパイプラインを構成している状態を示している。
【００４０】
なお、入出力用モジュール２４をパイプラインに組み込む位置は、上述したように、例えば、不図示のシステム制御部によって設定される。つまり、入出力用モジュール２４をパイプラインに組み込む位置は、図１に示した位置に限定されるものではなく、パイプライン内のいかなる位置にも組み込むことができる。つまり、入出力用モジュール２４は、パイプラインの先頭、途中、最後尾など、いかなる位置にも組み込むことができる。
【００４１】
接続切り替え部２１は、画像処理部２０に備えたそれぞれの構成要素が出力した画素データの出力先を切り替える、つまり、画像処理部２０に備えたそれぞれの構成要素同士の接続を切り替える。言い換えれば、接続切り替え部２１は、画像処理部２０が行う画像処理の順番や、パイプラインに組み込む外部画像処理の位置を変更する。
【００４２】
例えば、画像処理部２０によって画像処理モジュール２３−２のみの画像処理を行う場合、接続切り替え部２１は、入力ＤＭＡモジュール２２の出力端子と画像処理モジュール２３−２の入力端子とを接続し、画像処理モジュール２３−２の出力端子と出力ＤＭＡモジュール２５の入力端子とを接続するように、それぞれの構成要素の接続を切り替える。また、例えば、画像処理部２０によって画像処理モジュール２３−３、画像処理モジュール２３−１の順番で画像処理を行う場合、接続切り替え部２１は、入力ＤＭＡモジュール２２の出力端子と画像処理モジュール２３−３の入力端子とを接続し、画像処理モジュール２３−３の出力端子と画像処理モジュール２３−１の入力端子とを接続し、画像処理モジュール２３−１の出力端子と出力ＤＭＡモジュール２５の入力端子とを接続するように、それぞれの構成要素の接続を切り替える。また、例えば、画像処理部２０によって画像処理モジュール２３−２、外部拡張処理装置６００の順番で画像処理を行う場合、接続切り替え部２１は、入力ＤＭＡモジュール２２の出力端子と画像処理モジュール２３−２の入力端子とを接続し、画像処理モジュール２３−２の出力端子と入出力用モジュール２４の入力端子とを接続し、入出力用モジュール２４の出力端子と出力ＤＭＡモジュール２５の入力端子とを接続するように、それぞれの構成要素の接続を切り替える。なお、接続切り替え部２１は、例えば、不図示のシステム制御部からの制御に応じて、画像処理部２０に備えたそれぞれの構成要素の接続の切り替えを行う。
【００４３】
なお、画像処理部２０では、上述したように、入出力用モジュール２４は、パイプラインの先頭、途中、最後尾など、いかなる位置にも組み込むことができる。例えば、画像処理部２０によって外部拡張処理装置６００、画像処理モジュール２３−１の順番で画像処理を行う場合、つまり、入出力用モジュール２４をパイプラインの先頭に組み込む場合、接続切り替え部２１は、入力ＤＭＡモジュール２２の出力端子と入出力用モジュール２４の入力端子とを接続し、入出力用モジュール２４の出力端子と画像処理モジュール２３−１の入力端子とを接続し、画像処理モジュール２３−１の出力端子と出力ＤＭＡモジュール２５の入力端子とを接続するように、それぞれの構成要素の接続を切り替える。また、例えば、画像処理部２０によって画像処理モジュール２３−２、外部拡張処理装置６００、画像処理モジュール２３−３の順番で画像処理を行う場合、つまり、入出力用モジュール２４をパイプラインの途中に組み込む場合、接続切り替え部２１は、入力ＤＭＡモジュール２２の出力端子と画像処理モジュール２３−２の入力端子とを接続し、画像処理モジュール２３−２の出力端子と入出力用モジュール２４の入力端子とを接続し、入出力用モジュール２４の出力端子と画像処理モジュール２３−３の入力端子とを接続し、画像処理モジュール２３−３の出力端子と出力ＤＭＡモジュール２５の入力端子とを接続するように、それぞれの構成要素の接続を切り替える。また、例えば、画像処理部２０によって画像処理モジュール２３−３、外部拡張処理装置６００の順番で画像処理を行う場合、つまり、入出力用モジュール２４をパイプラインの最後尾に組み込む場合、接続切り替え部２１は、入力ＤＭＡモジュール２２の出力端子と画像処理モジュール２３−３の入力端子とを接続し、画像処理モジュール２３−３の出力端子と入出力用モジュール２４の入力端子とを接続し、入出力用モジュール２４の出力端子と出力ＤＭＡモジュール２５の入力端子とを接続するように、それぞれの構成要素の接続を切り替える。
【００４４】
なお、画像処理部２０では、入出力用モジュール２４のみをパイプラインに組み込むこともできる。より具体的には、接続切り替え部２１が、入力ＤＭＡモジュール２２の出力端子と入出力用モジュール２４の入力端子とを接続し、入出力用モジュール２４の出力端子と出力ＤＭＡモジュール２５の入力端子とを接続するように、それぞれの構成要素の接続を切り替える。これにより、画像処理部２０では、入出力用モジュール２４のみ、つまり、外部拡張処理装置６００による外部画像処理のみをパイプライン処理として行うことができる。
【００４５】
入力ＤＭＡモジュール２２は、ＤＲＡＭ５００に記憶されているブロック画像データに含まれるそれぞれの画素データを、ＤＭＡバス１０を介したＤＭＡによってユニットラインごとに読み出し、読み出した画素データを、接続切り替え部２１を介して、次に画像処理を行う処理モジュールであるいずれかの画像処理モジュール２３や入出力用モジュール２４に出力するための処理モジュールである。入力ＤＭＡモジュール２２は、例えば、不図示のシステム制御部からの制御に応じて、ＤＭＡバス１０を介してＤＲＡＭ５００から画素データを読み出し、読み出した画素データを接続切り替え部２１によって接続が切り替えられた接続先のいずれかの画像処理モジュール２３や入出力用モジュール２４に出力する。
【００４６】
なお、入力ＤＭＡモジュール２２は、予め定めた数のユニットライン分の画素データを一時的に記憶することができるデータバッファを備える構成であってもよい。この構成の場合、入力ＤＭＡモジュール２２は、ＤＭＡバス１０を介してＤＲＡＭ５００から読み出した画素データをデータバッファに一時記憶し、データバッファに一時記憶した画素データを、接続切り替え部２１によって接続が切り替えられた接続先のいずれかの画像処理モジュール２３や入出力用モジュール２４に出力してもよい。
【００４７】
画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれは、接続切り替え部２１によって接続が切り替えられた接続先の入力ＤＭＡモジュール２２、他の画像処理モジュール２３、または入出力用モジュール２４から、接続切り替え部２１を介して入力された画素データに対して予め定めた種々のデジタル的な画像処理を行う処理モジュールである。画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれが行う画像処理には、種々の画像処理がある。画像処理モジュール２３が行う画像処理には、例えば、それぞれの画素データに対応するＹ（輝度）信号とＣ（色）信号とを生成するＹＣ処理、それぞれの画素データに含まれるノイズを低減するノイズ低減処理、それぞれの画素データで表される画像における高周波成分の抑圧を行うＬＰＦ処理、画像における被写体の輪郭を強調するエッジ強調処理などが含まれている。画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれは、例えば、不図示のシステム制御部からの制御に応じて、接続切り替え部２１を介して入力された画素データに対して画像処理を施し、画像処理を施した画素データを、接続切り替え部２１によって接続が切り替えられた接続先の他の画像処理モジュール２３、入出力用モジュール２４、または出力ＤＭＡモジュール２５に出力する。
【００４８】
なお、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれにも、予め定めた数のユニットライン分の画素データを一時的に記憶することができるデータバッファを備える構成であってもよい。この構成の場合、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれは、接続切り替え部２１を介して入力された画素データをデータバッファに一時記憶し、データバッファに一時記憶した画素データに対して画像処理を施した画素データを、接続切り替え部２１によって接続が切り替えられた接続先の他の画像処理モジュール２３、入出力用モジュール２４、または出力ＤＭＡモジュール２５に出力してもよい。または、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれは、接続切り替え部２１を介して入力された画素データに対して画像処理を施してからデータバッファに一時記憶し、データバッファに一時記憶した画素データを、接続切り替え部２１によって接続が切り替えられた接続先の他の画像処理モジュール２３、入出力用モジュール２４、または出力ＤＭＡモジュール２５に出力してもよい。
【００４９】
なお、以下の説明においては、画像処理を施した後の画素データを、ＤＲＡＭ５００に記憶されている画像処理を行う対象の画素データと区別して表す場合には、「処理画素データ」という。
【００５０】
入出力用モジュール２４は、画像処理部２０の外部に備えた構成要素によって実行される外部画像処理を、パイプライン処理に組み込むためのインターフェースモジュールである。入出力用モジュール２４は、例えば、不図示のシステム制御部からの制御に応じて、接続切り替え部２１によって接続が切り替えられた接続先の入力ＤＭＡモジュール２２、画像処理モジュール２３のいずれかから、接続切り替え部２１を介して入力された画素データを、ＤＭＡバス１０を介さずに直接、接続されている外部インターフェース部３０に出力する。また、入出力用モジュール２４は、例えば、不図示のシステム制御部からの制御に応じて、接続されている外部インターフェース部３０から、ＤＭＡバス１０を介さずに直接入力された外部画像処理が施された画素データを、接続切り替え部２１によって接続が切り替えられた接続先の画像処理モジュール２３のいずれか、または出力ＤＭＡモジュール２５に出力する。
【００５１】
なお、入出力用モジュール２４の構成や、入出力用モジュール２４が外部画像処理を画像処理部２０のパイプライン処理に組み込むときの動作などに関する詳細な説明は、後述する。なお、以下の説明においては、外部画像処理を施した後の画素データを、ＤＲＡＭ５００に記憶されている画像処理を行う対象の画素データや、画像処理モジュール２３のいずれかが画像処理を施した後の画素データ（処理画素データ）と区別して表す場合には、「外部処理画素データ」という。
【００５２】
出力ＤＭＡモジュール２５は、接続切り替え部２１によって接続が切り替えられた接続先の画像処理モジュール２３のいずれかから、接続切り替え部２１を介して入力された処理画素データ、または入出力用モジュール２４から、接続切り替え部２１を介して入力された外部処理画素データを、ＤＭＡバス１０を介したＤＭＡによってＤＲＡＭ５００に書き込む（記憶する）ための処理モジュールである。出力ＤＭＡモジュール２５は、例えば、不図示のシステム制御部からの制御に応じて、接続切り替え部２１を介して入力された処理画素データまたは外部処理画素データを、ＤＭＡバス１０を介してＤＲＡＭ５００に出力する。
【００５３】
なお、出力ＤＭＡモジュール２５も、予め定めた数のユニットライン分の処理画素データまたは外部処理画素データを一時的に記憶することができるデータバッファを備える構成であってもよい。この構成の場合、出力ＤＭＡモジュール２５は、接続切り替え部２１を介して入力された処理画素データまたは外部処理画素データをデータバッファに一時記憶し、データバッファに一時記憶した処理画素データまたは外部処理画素データを、ＤＭＡバス１０を介してＤＲＡＭ５００に出力してもよい。
【００５４】
なお、以下の説明においては、画像処理モジュール２３のそれぞれが出力する処理画素データと、入出力用モジュール２４が出力する外部処理画素データとを区別せずに表す場合には、単に「処理画素データ」という。
【００５５】
このように、画像処理部２０では、それぞれの画像処理モジュール２３が、１フレームの静止画像のデータをブロック画像データに分割し、例えば、不図示のシステム制御部からの制御に応じた画像処理を、それぞれのブロック画像データに含まれる画素データに対してユニットラインごとに順次を行うことによって、それぞれのブロック画像データに対して、パイプライン処理による一連の画像処理を行う。また、画像処理部２０では、いずれの画像処理モジュール２３においても実行しない外部画像処理を、例えば、不図示のシステム制御部からの制御に応じて、画像処理部２０の外部に備えた構成要素（図１においては、外部拡張処理装置６００）に実行させて、パイプライン処理に組み込む。このとき、画像処理部２０では、入出力用モジュール２４を、外部画像処理を実行する画像処理モジュールとしてパイプラインの構成に組み込む。これにより、画像処理装置１では、画像処理部２０によって実行することができない画像処理であっても、画像処理部２０がパイプライン処理を行っているのと同様に処理することができる。つまり、画像処理装置１では、画像処理部２０におけるパイプライン処理を拡張することができる。
【００５６】
外部インターフェース部３０は、画像処理装置１と、パイプラインの構成に組み込む画像処理装置１の外部に備えた外部拡張処理装置６００とを接続し、画像処理装置１と外部拡張処理装置６００との間でデータの受け渡しを行う接続部である。外部インターフェース部３０は、ＤＭＡバス１０を介さずに直接、入出力用モジュール２４から入力された画素データを、外部拡張処理装置６００に伝送する。また、外部インターフェース部３０は、外部拡張処理装置６００から伝送された外部処理画素データを、ＤＭＡバス１０を介さずに直接、入出力用モジュール２４に出力する。
【００５７】
なお、外部インターフェース部３０における外部拡張処理装置６００へのデータの伝送方式は、複数のシステムＬＳＩの間でのデータの伝送に用いられる、例えば、ＡＸＩ（Ａｄｖａｎｃｅｄ  ｅＸｔｅｎｓｉｂｌｅ  Ｉｎｔｅｒｆａｃｅ）仕様や、ＰＣＩ−Ｅｘｐｒｅｓｓ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ−Ｅｘｐｒｅｓｓ）などの高速シリアルバス仕様など、予め定めた種々の仕様に従った方式が採用されている。なお、外部インターフェース部３０において外部拡張処理装置６００にデータを伝送するための仕様や方式は、上述した仕様や方式に限定されるものではない。つまり、外部インターフェース部３０におけるデータの伝送方式は、複数のシステムＬＳＩの間でのデータの伝送に用いられる、既存の様々な仕様や方式を採用することができる。また、外部インターフェース部３０は、複数のシステムＬＳＩの間でのデータの伝送に用いられる仕様や方式が複数採用され、画像処理装置１に接続されるシステムＬＳＩ（図１においては、外部拡張処理装置６００）に採用されているデータ伝送の仕様や方式に応じて、データを伝送する方式を変更する構成であってもよい。
【００５８】
なお、外部インターフェース部３０は、外部拡張処理装置６００との間でデータの受け渡しを行う際に、入出力用モジュール２４から出力される画素データの形式と、外部拡張処理装置６００が処理するデータの形式とを合わせる機能を備えていてもよい。例えば、外部インターフェース部３０は、外部拡張処理装置６００に画素データを伝送する際に、入出力用モジュール２４から出力された画素データの形式を、外部拡張処理装置６００に伝送する際の仕様に応じた形式に変換する機能を備えていてもよい。また、外部インターフェース部３０は、外部拡張処理装置６００から外部処理画素データを受け取る際に、外部拡張処理装置６００の仕様に応じた形式で伝送されるデータを、入出力用モジュール２４が処理する形式、つまり、画像処理モジュール２３が引き続き画像処理を行う画素データの形式に変換する機能を備えていてもよい。
【００５９】
外部拡張処理装置６００は、撮像装置１００において画像処理装置１の外部に備えられ、画像処理装置１に備えた画像処理部２０内に構成されるパイプラインに組み込まれる画像処理を行う画像処理装置（システムＬＳＩ）である。外部拡張処理装置６００は、画像処理装置１に備えた画像処理部２０内のいずれの画像処理モジュール２３においても実行しない画像処理、つまり、画像処理装置１において実行する画像処理を拡張するための外部画像処理を実行する。外部拡張処理装置６００は、外部インターフェース部６３０を介して画像処理装置１から入力された画素データに対して予め定めたデジタル的な外部画像処理を施し、外部画像処理を施した画素データ（外部処理画素データ）を、外部インターフェース部６３０を介して画像処理装置１に出力する。
【００６０】
なお、図１には、外部拡張処理装置６００における外部画像処理以外の種々の処理や動作において、接続されたＤＲＡＭ７００を用いる構成の外部拡張処理装置６００を示している。しかし、外部拡張処理装置６００は、外部画像処理を実行する際にＤＲＡＭ７００を用いる構成であってもよい。
【００６１】
外部インターフェース部６３０は、画像処理装置１に備えた外部インターフェース部３０と接続し、外部拡張処理装置６００と画像処理装置１との間でデータの受け渡しを行う接続部である。外部インターフェース部６３０は、画像処理装置１から伝送された画素データ、つまり、画像処理装置１に備えた外部インターフェース部３０から出力された画素データ（画像処理装置１に備えた画像処理部２０内の入出力用モジュール２４から出力された画素データ）を、拡張処理モジュール６２０に出力する。また、外部インターフェース部６３０は、拡張処理モジュール６２０から出力された外部画像処理を施した外部処理画素データを画像処理装置１に伝送、つまり、画像処理装置１に備えた外部インターフェース部３０に伝送する。これにより、外部拡張処理装置６００が外部画像処理を実行した外部処理画素データが、画像処理装置１に備えた画像処理部２０内の入出力用モジュール２４に出力される。つまり、外部拡張処理装置６００が、画像処理装置１に備えた画像処理部２０内に構成されるパイプラインに組み込まれる。
【００６２】
なお、外部インターフェース部６３０は、画像処理装置１に備えた外部インターフェース部３０との間でデータの受け渡しを行う際に、入出力用モジュール２４から出力される画素データの形式と、拡張処理モジュール６２０が処理するデータの形式とを合わせる機能を、画像処理装置１に備えた外部インターフェース部３０の代わりに備えていてもよい。例えば、外部インターフェース部６３０は、画像処理装置１から画素データを受け取る際に、画像処理装置１の仕様に応じた形式で伝送されるデータを、拡張処理モジュール６２０が処理する画素データの形式に変換する機能を備えていてもよい。また、外部インターフェース部６３０は、画像処理装置１に外部処理画素データを伝送する際に、拡張処理モジュール６２０から出力された外部処理画素データの形式を、画像処理装置１に伝送する際の仕様に応じた形式、つまり、画像処理モジュール２３が引き続き画像処理を行う形式に変換する機能を備えていてもよい。
【００６３】
拡張処理モジュール６２０は、外部インターフェース部６３０からＤＭＡバス６１０を介して入力された画素データに対して予め定めた外部画像処理を行う処理モジュールである。拡張処理モジュール６２０が行う外部画像処理には、種々の画像処理がある。拡張処理モジュール６２０が行う外部画像処理には、例えば、ブロック画像データに含まれるそれぞれの画素の位置（座標）の変換を伴う画像補間処理なども含まれている。この画像補間処理には、例えば、画像の大きさ（サイズ）を変更（拡大や縮小）するリサイズ処理、画像に含まれる倍率色収差や歪曲収差などの歪みの補正を行う歪補正処理、台形補正などの画像の形状の補正を行う形状補正処理など、種々の処理が含まれている。拡張処理モジュール６２０は、例えば、不図示のシステム制御部からの制御に応じて、外部インターフェース部６３０を介して入力された画素データに対して外部画像処理を施し、外部画像処理を施した外部処理画素データを、外部インターフェース部６３０に出力する。
【００６４】
なお、拡張処理モジュール６２０が入力された画素データに対して外部画像処理を施す際には、外部拡張処理装置６００に接続されたＤＲＡＭ７００を用いることもできる。
【００６５】
ＤＲＡＭ７００は、外部拡張処理装置６００内のＤＭＡバス６１０に接続され、撮像装置１００において外部画像処理を実行する際の様々なデータを記憶するデータ記憶部である。例えば、ＤＲＡＭ７００は、外部インターフェース部６３０を介して画像処理装置１から入力された画素データ、拡張処理モジュール６２０が外部画像処理を行っている途中または処理を完了した結果（外部処理画素データ）などを一時的に記憶する。
【００６６】
このような構成によって撮像装置１００では、画像処理装置１に備えた画像処理部２０内の画像処理モジュール２３のそれぞれが実行する画像処理によるパイプライン処理に、外部拡張処理装置６００が実行する外部画像処理を組み込む。これにより、撮像装置１００では、画像処理装置１のみでは実行することができない画像処理であっても、外部拡張処理装置６００を画像処理装置１に接続することによって、画像処理装置１に備えた画像処理部２０がパイプライン処理を行っているのと同様に、画像処理を拡張することができる。
【００６７】
次に、画像処理装置１において画像処理部２０に備えた入出力用モジュール２４の構成および動作について説明する。なお、上述したように、入出力用モジュール２４は、パイプライン内のいかなる位置にも組み込むことができるが、以下の説明においては、入出力用モジュール２４を２つの画像処理モジュール２３の間の位置に組み込む、つまり、入出力用モジュール２４の前段および後段のそれぞれに画像処理モジュール２３が接続されているものとして説明する。
【００６８】
まず、画像処理部２０に備えた入出力用モジュール２４における外部インターフェース部３０との間での画素データの受け渡し動作の概念について説明する。上述したように、画像処理部２０において外部画像処理を行うための画素データは、入出力用モジュール２４に接続されている外部インターフェース部３０を介して外部拡張処理装置６００に出力される。なお、上述したように、画像処理部２０では、それぞれの画像処理モジュール２３が、複数のユニットラインを１つの処理単位として画像処理を行う。このため、画像処理部２０において外部画像処理を行う画素データも、１つの処理単位ごとに入出力用モジュール２４に入力され、外部画像処理を施した外部処理画素データも、１つの処理単位ごとに入出力用モジュール２４から出力される。つまり、画像処理部２０においては、入出力用モジュール２４と、入出力用モジュール２４の前段および後段に接続された画像処理モジュール２３との間の画素データの受け渡しも、１つの処理単位ごとに行われる。しかし、画像処理装置１に接続された外部拡張処理装置６００は、画像処理部２０に備えたそれぞれの画像処理モジュール２３と同様に、必ずしも１つの処理単位ごとに外部画像処理を行うとは限らない。このため、入出力用モジュール２４は、前段に接続された画像処理モジュール２３から出力された画素データを１つの処理単位ごとに受け付け、受け付けた画素データを、外部画像処理を行う処理単位ごとに外部拡張処理装置６００に出力する。また、入出力用モジュール２４は、外部拡張処理装置６００から出力された外部処理画素データを外部画像処理の処理単位ごとに受け付け、受け付けた外部処理画素データを、それぞれの画像処理モジュール２３が画像処理を行う１つの処理単位ごとに後段に接続された画像処理モジュール２３に出力する。
【００６９】
図２は、本発明の第１の実施形態における画像処理装置１内の画像処理部２０に備えた入出力用モジュール２４の構成の概念を説明するブロック図である。図２には、入出力用モジュール２４の概念的な動作を説明するための基本的な構成を示している。図２に示したように、入出力用モジュール２４は、画像処理モジュール入力制御部２４１と、出力バッファ部２４２と、外部出力制御部２４３と、外部入力制御部２４４と、入力バッファ部２４５と、画像処理モジュール出力制御部２４６と、を備えている。
【００７０】
画像処理モジュール入力制御部２４１は、入出力用モジュール２４の前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）、つまり、外部インターフェース部３０を介して外部拡張処理装置６００に出力する画素データを、出力バッファ部２４２に一時的に記憶させる制御を行う。
【００７１】
出力バッファ部２４２は、入出力用モジュール２４に入力された入力データ（画素データ）を、一時的に記憶するデータバッファである。出力バッファ部２４２は、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリで構成される。出力バッファ部２４２は、入出力用モジュール２４の前段に接続された画像処理モジュール２３から出力された予め定めた数のユニットライン分の画素データを一時的に記憶することができる記憶容量をもっている。出力バッファ部２４２は、画像処理モジュール入力制御部２４１からの制御に応じて、入力された入力データ（画素データ）を一時的に記憶する。また、出力バッファ部２４２は、外部出力制御部２４３からの制御に応じて、記憶している画素データを、外部出力データとして外部インターフェース部３０に出力する。これにより、記憶している画素データが、外部インターフェース部３０を介して外部拡張処理装置６００に伝送される。
【００７２】
外部出力制御部２４３は、出力バッファ部２４２に記憶された入力データ（画素データ）を読み出し、入出力用モジュール２４に接続された外部インターフェース部３０に出力させる制御を行う。
【００７３】
外部入力制御部２４４は、外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）、つまり、外部インターフェース部３０を介して外部拡張処理装置６００から出力された外部処理画素データを、入力バッファ部２４５に一時的に記憶させる制御を行う。
【００７４】
入力バッファ部２４５は、入出力用モジュール２４に入力された外部入力データ（外部処理画素データ）を、一時的に記憶するデータバッファである。入力バッファ部２４５も、出力バッファ部２４２と同様に、例えば、ＳＲＡＭなどのメモリで構成される。入力バッファ部２４５は、外部インターフェース部３０を介して外部拡張処理装置６００から出力された予め定めた数のユニットライン分の外部処理画素データを、出力データとして一時的に記憶することができる記憶容量をもっている。入力バッファ部２４５は、外部入力制御部２４４からの制御に応じて、入力された入力データ（外部処理画素データ）を一時的に記憶する。また、入力バッファ部２４５は、画像処理モジュール出力制御部２４６からの制御に応じて、記憶している外部処理画素データを、出力データとして入出力用モジュール２４の後段に接続された画像処理モジュール２３に出力する。
【００７５】
画像処理モジュール出力制御部２４６は、入力バッファ部２４５に記憶された外部入力データ（外部処理画素データ）を読み出し、入出力用モジュール２４の後段に接続された画像処理モジュール２３に出力させる制御を行う。
【００７６】
このような構成によって入出力用モジュール２４は、画像処理装置１に接続された外部拡張処理装置６００と、前段および後段に接続された画像処理モジュール２３との間での画素データの受け渡しのタイミングを制御する。つまり、入出力用モジュール２４は、外部拡張処理装置６００が、あたかも画像処理部２０内に備えた画像処理モジュール２３であるかのように、外部拡張処理装置６００と画像処理モジュール２３との間での画素データの受け渡しのタイミングを制御する。
【００７７】
なお、外部拡張処理装置６００においては、外部画像処理を行うために必要な入力データ（画素データ）の数、つまり、ユニットラインの数が、外部拡張処理装置６００が実行する外部画像処理の内容によって異なる。このため、出力バッファ部２４２および入力バッファ部２４５の記憶容量は、少なくとも、外部拡張処理装置６００が外部画像処理を行う際に要する数、つまり、外部拡張処理装置６００における外部画像処理の処理単位を満足し、かつ、画像処理部２０におけるパイプライン処理がスムーズに行われる数の画素データまたは外部処理画素データを記憶することができる記憶容量であることが望ましい。例えば、出力バッファ部２４２および入力バッファ部２４５の記憶容量は、想定される外部画像処理の内容、前段への接続が想定される画像処理モジュール２３から処理画素データが出力されてから、後段への接続が想定される画像処理モジュール２３に外部処理画素データが出力されるまでの遅延時間などに基づいて、パイプライン処理が正常に行われるような記憶容量に予め決定されることが望ましい。また、前段および後段への接続が想定される画像処理モジュール２３にデータバッファを備える場合、出力バッファ部２４２および入力バッファ部２４５の記憶容量は、それぞれの画像処理モジュール２３に備えたデータバッファの記憶容量や遅延時間などに基づいて、パイプライン処理が正常に行われるような記憶容量に予め決定されることが望ましい。なお、出力バッファ部２４２や入力バッファ部２４５の記憶容量は、予め定めた余裕を持った記憶容量に決定されてもよい。
【００７８】
次に、画像処理装置１において画像処理部２０に備えた入出力用モジュール２４の構成について説明する。図３は、本発明の第１の実施形態における画像処理装置１内の画像処理部２０に備えた入出力用モジュール２４の概略構成を示したブロック図である。図３には、入出力用モジュール２４における基本的な構成を示している。図３に示した入出力用モジュール２４は、図２に示した概念的な動作を説明する構成と同様に、画像処理モジュール入力制御部２４１と、出力バッファ部２４２と、外部出力制御部２４３と、外部入力制御部２４４と、入力バッファ部２４５と、画像処理モジュール出力制御部２４６と、を備えている。
【００７９】
入出力用モジュール２４では、画像処理モジュール入力制御部２４１、出力バッファ部２４２、および外部出力制御部２４３の構成によって、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）を出力バッファ部２４２に一時記憶し、接続されている外部インターフェース部３０からのデータ出力の要求に応じて、出力バッファ部２４２に一時記憶した画素データを、外部出力データとして出力する。また、入出力用モジュール２４では、外部入力制御部２４４、入力バッファ部２４５、および画像処理モジュール出力制御部２４６の構成によって、外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）を入力バッファ部２４５に一時記憶し、後段に接続された画像処理モジュール２３からのデータ出力の要求に応じて、入力バッファ部２４５に一時記憶した外部処理画素データを、出力データとして出力する。以下の説明においては、画像処理モジュール入力制御部２４１、出力バッファ部２４２、および外部出力制御部２４３の構成を、「外部出力部」といい、外部入力制御部２４４、入力バッファ部２４５、および画像処理モジュール出力制御部２４６の構成を、「外部入力部」という。
【００８０】
まず、入出力用モジュール２４における外部出力部について説明する。
【００８１】
出力バッファ部２４２は、上述したように、入出力用モジュール２４に入力された入力データ（画素データ）を、一時的に記憶するデータバッファである。図３には、データバッファを２つ備え、それぞれのデータバッファにおける画素データの記憶（書き込み）と出力（読み出し）とを逆の動作に交互に切り替えることによって、１つの処理単位の画素データの書き込みと読み出しとを同時期に行うことができるように動作する、いわゆる、ダブルバッファの構成の出力バッファ部２４２を示している。図３に示した出力バッファ部２４２は、セレクタ２４２１と、２つの出力バッファ２４２２−１および出力バッファ２４２２−２と、セレクタ２４２３と、を備えている。
【００８２】
セレクタ２４２１は、出力バッファ部２４２において画素データを書き込むデータバッファを選択する選択部である。セレクタ２４２１は、画像処理モジュール入力制御部２４１から出力された出力バッファライト選択信号ＯＢＷＳに応じて、出力バッファ２４２２−１または出力バッファ２４２２−２のいずれか一方の出力バッファ２４２２を、画素データを書き込むデータバッファとして選択する。そして、セレクタ２４２１は、入出力用モジュール２４に入力された入力データ（画素データ）を、選択した出力バッファ２４２２−１または出力バッファ２４２２−２のいずれか一方の出力バッファ２４２２に出力する。
【００８３】
セレクタ２４２３は、出力バッファ部２４２において記憶している画素データを読み出すデータバッファを選択する選択部である。セレクタ２４２３は、外部出力制御部２４３から出力された出力バッファリード選択信号ＯＢＲＳに応じて、出力バッファ２４２２−１または出力バッファ２４２２−２のいずれか一方の出力バッファ２４２２を、記憶している画素データを読み出すデータバッファとして選択する。そして、セレクタ２４２３は、選択した出力バッファ２４２２−１または出力バッファ２４２２−２のいずれか一方の出力バッファ２４２２から読み出された画素データを、外部出力データとして外部インターフェース部３０に出力する。これにより、外部出力データ（画素データ）が、外部インターフェース部３０によって外部拡張処理装置６００に伝送される。
【００８４】
出力バッファ２４２２−１および出力バッファ２４２２−２のそれぞれは、予め定めた数のユニットライン分の画素データを一時的に記憶する記憶容量のデータバッファである。セレクタ２４２１によって画素データを書き込むデータバッファとして選択された出力バッファ２４２２−１または出力バッファ２４２２−２のいずれか一方の出力バッファ２４２２は、画像処理モジュール入力制御部２４１から出力された出力バッファライト信号ＯＢＷに応じて、セレクタ２４２１を介して入力された入力データ（画素データ）を書き込む（記憶する）。一方、セレクタ２４２３によって記憶している画素データを読み出すデータバッファとして選択された出力バッファ２４２２−１または出力バッファ２４２２−２のいずれか一方の出力バッファ２４２２は、外部出力制御部２４３から出力された出力バッファリード信号ＯＢＲに応じて、記憶している画素データを読み出して、セレクタ２４２３に出力する。
【００８５】
画像処理モジュール入力制御部２４１は、上述したように、入出力用モジュール２４の前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）の出力バッファ部２４２への記憶（書き込み）を制御する。図３に示した画像処理モジュール入力制御部２４１は、出力バッファ空き容量管理部２４１１と、出力バッファ書き込み管理部２４１２と、を備えている。
【００８６】
出力バッファ空き容量管理部２４１１は、出力バッファ部２４２に備えた出力バッファ２４２２−１および出力バッファ２４２２−２のそれぞれの記憶容量を監視し、記憶容量を監視した結果に応じて、入出力用モジュール２４の動作状態を表す状態通知信号を、前段に接続された画像処理モジュール２３に出力する。また、出力バッファ空き容量管理部２４１１は、出力バッファ２４２２への入力データ（画素データ）の記憶（書き込み）を、出力バッファ書き込み管理部２４１２に指示する。
【００８７】
より具体的には、出力バッファ空き容量管理部２４１１は、外部出力制御部２４３によって読み出されていない画素データを記憶している出力バッファ２４２２とは異なる他方の出力バッファ２４２２に、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）を書き込む（一時記憶する）ための空いている記憶容量があるか否かを監視する。そして、出力バッファ空き容量管理部２４１１は、空いている記憶容量を監視した結果、外部出力制御部２４３によって読み出されるべき画素データをすでに記憶している出力バッファ２４２２とは異なる方の出力バッファ２４２２に空いている記憶容量がある場合、この出力バッファ２４２２は、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）を書き込むことができる状態であると判定する。この場合、出力バッファ空き容量管理部２４１１は、入力データを受け付けることができる状態であることを表す状態通知信号として、入力データ（画素データ）の出力を要求するデータリクエスト信号を、前段に接続された画像処理モジュール２３に出力する。そして、出力バッファ空き容量管理部２４１１は、出力したデータリクエスト信号に応じて前段に接続された画像処理モジュール２３から入力データ（画素データ）を出力することを表すデータアクノリッジ信号が入力されると、データアクノリッジ信号に対応する入力データ（画素データ）を受け取って書き込む（一時記憶する）ことを指示する出力バッファライト制御信号ＯＢＷＣを、出力バッファ書き込み管理部２４１２に出力する。なお、出力バッファ空き容量管理部２４１１が出力する出力バッファライト制御信号ＯＢＷＣには、空いている記憶容量があると判定した出力バッファ２４２２の情報が含まれている。
【００８８】
一方、出力バッファ空き容量管理部２４１１は、空いている記憶容量を監視した結果、出力バッファ２４２２に空いている記憶容量がない場合、いずれの出力バッファ２４２２にも、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）を書き込むことができない状態であると判定する。この場合、出力バッファ空き容量管理部２４１１は、入力データを受け付けることができない状態であることを表す状態通知信号として、入力データ（画素データ）の出力を要求しないことを表すデータリクエスト信号を、前段に接続された画像処理モジュール２３に出力する。なお、出力バッファ空き容量管理部２４１１は、入力データ（画素データ）の出力を要求しないことを、データリクエスト信号と異なる信号で表してもよい。
【００８９】
出力バッファ書き込み管理部２４１２は、出力バッファ空き容量管理部２４１１から出力された出力バッファライト制御信号ＯＢＷＣに基づいて、入力データ（画素データ）の書き込みを制御するための制御信号を出力バッファ部２４２に出力する。
【００９０】
より具体的には、出力バッファ書き込み管理部２４１２は、出力バッファライト制御信号ＯＢＷＣに含まれる、空いている記憶容量があると判定した出力バッファ２４２２の情報に基づいて、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）を書き込む（一時記憶する）出力バッファ２４２２を選択するための出力バッファライト選択信号ＯＢＷＳを、出力バッファ部２４２に備えたセレクタ２４２１に出力する。また、出力バッファ書き込み管理部２４１２は、出力バッファ空き容量管理部２４１１から出力された出力バッファライト制御信号ＯＢＷＣに応じて、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）を書き込むタイミングを表す出力バッファライト信号ＯＢＷを、出力バッファ部２４２内の選択した出力バッファ２４２２に出力する。このとき、出力バッファ書き込み管理部２４１２は、前段に接続された画像処理モジュール２３から入力データ（画素データ）と共に出力された、ユニットラインに含まれるそれぞれの画素データが、有効な画素データであるか否かを表すデータ有効信号に基づいて、現在入力された入力データが有効な画素データであるか否かを判定する。そして、出力バッファ書き込み管理部２４１２は、有効な入力データ（画素データ）のみを書き込むタイミングの出力バッファライト信号ＯＢＷを出力バッファ２４２２に出力する。これにより、出力バッファ部２４２は、有効な入力データ（画素データ）のみを、選択された出力バッファ２４２２に書き込む（一時記憶する）。
【００９１】
外部出力制御部２４３は、上述したように、出力バッファ部２４２に記憶された入力データ（画素データ）の出力（読み出し）を制御する。図３に示した外部出力制御部２４３は、出力バッファデータ量管理部２４３１と、出力バッファ読み出し管理部２４３２と、を備えている。
【００９２】
出力バッファデータ量管理部２４３１は、出力バッファ部２４２に備えた出力バッファ２４２２−１および出力バッファ２４２２−２のそれぞれの記憶容量を監視し、記憶容量を監視した結果に応じて、出力バッファ２４２２に記憶している画素データの出力（読み出し）を、出力バッファ読み出し管理部２４３２に指示する。
【００９３】
より具体的には、出力バッファデータ量管理部２４３１は、画像処理モジュール入力制御部２４１によって入力データ（画素データ）の書き込みがされている出力バッファ２４２２とは異なる他方の出力バッファ２４２２に書き込みが完了している入力データ（画素データ）のデータ量を監視する。そして、出力バッファデータ量管理部２４３１は、画素データのデータ量を監視した結果、外部インターフェース部３０に外部出力データとして出力する画素データがすでに出力バッファ２４２２に記憶されている場合、この出力バッファ２４２２は、画素データを読み出して外部インターフェース部３０に出力することができる状態であると判定する。この場合、出力バッファデータ量管理部２４３１は、接続されている外部インターフェース部３０から外部出力データ（画素データ）の出力を要求するデータ出力要求信号が入力されると、データ出力要求信号に対応する外部出力データ（画素データ）を読み出す（出力する）ことを指示する出力バッファリード制御信号ＯＢＲＣを、出力バッファ読み出し管理部２４３２に出力する。なお、出力バッファデータ量管理部２４３１が出力する出力バッファリード制御信号ＯＢＲＣには、画素データの書き込みが完了していると判定した出力バッファ２４２２の情報が含まれている。なお、出力バッファデータ量管理部２４３１は、データ出力要求信号による外部出力データ（画素データ）の出力を受け付けたこと表すデータ出力受け付け信号を、外部インターフェース部３０に出力してもよい。
【００９４】
一方、出力バッファデータ量管理部２４３１は、画素データのデータ量を監視した結果、外部出力データとして出力する画素データが出力バッファ２４２２に記憶されていない場合、いずれの出力バッファ２４２２からも、画素データを読み出すことができない状態であると判定する。この場合、出力バッファデータ量管理部２４３１は、データ出力要求信号による外部出力データ（画素データ）の出力を受け付けることができない状態であることを表すデータ出力受け付け信号を、外部インターフェース部３０に出力してもよい。なお、このときのデータ出力受け付け信号は、外部出力データ（画素データ）の出力を受け付けることができない状態であることを、データ出力受け付け信号の論理レベルで表してもよいし、データ出力受け付け信号と異なる信号で表してもよい。
【００９５】
出力バッファ読み出し管理部２４３２は、出力バッファデータ量管理部２４３１から出力された出力バッファリード制御信号ＯＢＲＣに基づいて、出力バッファ部２４２に記憶された入力データ（画素データ）の読み出し（出力）を制御するための制御信号を出力バッファ部２４２に出力する。
【００９６】
より具体的には、出力バッファ読み出し管理部２４３２は、出力バッファリード制御信号ＯＢＲＣに含まれる、画素データの書き込みが完了していると判定した出力バッファ２４２２の情報に基づいて、記憶された画素データの読み出す（出力する）出力バッファ２４２２を選択するための出力バッファリード選択信号ＯＢＲＳを、出力バッファ部２４２に備えたセレクタ２４２３に出力する。また、出力バッファ読み出し管理部２４３２は、出力バッファデータ量管理部２４３１から出力された出力バッファリード制御信号ＯＢＲＣに応じて、記憶された画素データを読み出して接続された外部インターフェース部３０に出力するタイミングを表す出力バッファリード信号ＯＢＲを、出力バッファ部２４２内の選択した出力バッファ２４２２に出力する。これにより、出力バッファ部２４２は、出力バッファリード信号ＯＢＲに応じて、記憶している画素データを読み出して、外部出力データとして外部インターフェース部３０に出力する。このとき、出力バッファ読み出し管理部２４３２は、出力バッファ２４２２から外部出力データとして読み出した（出力した）ユニットラインに含まれるそれぞれの画素データが、有効な画素データであるか否かを表す出力データ有効信号を、外部インターフェース部３０に出力する。
【００９７】
ここで、入出力用モジュール２４における外部出力部の動作について説明する。図４は、本発明の第１の実施形態における画像処理装置１内の画像処理部２０に備えた入出力用モジュール２４における外部出力部（画像処理モジュール入力制御部２４１、出力バッファ部２４２、および外部出力制御部２４３）の動作の一例を示したタイミングチャートである。図４には、入出力用モジュール２４が、前段に接続された画像処理モジュール２３から接続されている外部インターフェース部３０への画素データの受け渡しの一例を示している。つまり、図４には、入出力用モジュール２４が、前段に接続された画像処理モジュール２３に入力データ（画素データ）を要求して出力バッファ部２４２に画素データを一時記憶し、接続されている外部インターフェース部３０、すなわち、外部拡張処理装置６００からのデータ出力の要求に応じて出力バッファ部２４２に記憶している画素データを外部出力データとして出力する動作の一例を示している。
【００９８】
図４には、前段に接続された画像処理モジュール２３と入出力用モジュール２４との間でやり取りされるデータリクエスト信号、データアクノリッジ信号、データ有効信号、および入力データのタイミングを示している。また、図４には、出力バッファ部２４２に備えた出力バッファ２４２２−１および出力バッファ２４２２−２のそれぞれの動作の状態を示している。また、図４には、外部インターフェース部３０と入出力用モジュール２４との間でやり取りされるデータ出力要求信号、出力データ有効信号、および外部出力データのタイミングを示している。
【００９９】
なお、図４の説明においては、４つのユニットラインを１つの処理単位として、外部インターフェース部３０との間で画素データの受け渡しを行うものとして説明する。また、図４の説明においては、出力バッファ部２４２に備えた出力バッファ２４２２−１と出力バッファ２４２２−２とのいずれにも、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）を一時記憶していない、つまり、両方の出力バッファ２４２２が共に、記憶容量が空いている状態からの動作を説明する。
【０１００】
上述した状態のとき、画像処理モジュール入力制御部２４１に備えた出力バッファ空き容量管理部２４１１は、１つ目のユニットラインの入力データ（画素データ）の出力を要求するデータリクエスト信号を、前段に接続された画像処理モジュール２３に出力する。その後、出力バッファ空き容量管理部２４１１は、前段に接続された画像処理モジュール２３から、出力したデータリクエスト信号に応じて１つ目のユニットラインの画素データを出力することを表すデータアクノリッジ信号が入力されると、データリクエスト信号を入力データ（画素データ）の出力を要求しない状態にする。そして、出力バッファ空き容量管理部２４１１は、前段に接続された画像処理モジュール２３から出力された１つ目のユニットラインの入力データ（画素データ）を受け取って、出力バッファ２４２２−１に書き込む（一時記憶する）ことを指示する出力バッファライト制御信号ＯＢＷＣを、出力バッファ書き込み管理部２４１２に出力する。なお、前段に接続された画像処理モジュール２３は、入出力用モジュール２４から出力されたデータリクエスト信号が１つ目のユニットラインの入力データ（画素データ）の出力を要求しない状態になると、入出力用モジュール２４がデータアクノリッジ信号を認識したと判定して、データアクノリッジ信号を、画素データを出力しない状態にする。
【０１０１】
なお、図４においては、データリクエスト信号の“Ｈｉｇｈ”レベルが、入出力用モジュール２４が入力データ（画素データ）を受け付けることができる状態であることを表し、データリクエスト信号の“Ｌｏｗ”レベルが、入力データ（画素データ）を受け付けることができない状態であることを表している。また、図４においては、データアクノリッジ信号の“Ｈｉｇｈ”レベルが、データリクエスト信号に応じて前段に接続された画像処理モジュール２３が画素データを出力することを表し、データアクノリッジ信号の“Ｌｏｗ”レベルが、画素データを出力しないことを表している。
【０１０２】
そして、前段に接続された画像処理モジュール２３は、入出力用モジュール２４が出力したデータリクエスト信号に応じて、１つ目のユニットラインの画素データを順次出力する。このとき、前段に接続された画像処理モジュール２３は、出力している画素データが有効な画素データであるときに、データ有効信号を出力する。
【０１０３】
なお、図４においては、データ有効信号の“Ｈｉｇｈ”レベルが、前段に接続された画像処理モジュール２３が出力している画素データが有効な画素データあることを表し、データ有効信号の“Ｌｏｗ”レベルが、画素データが有効ではない、つまり、無効な画素データであることを表している。
【０１０４】
画像処理モジュール入力制御部２４１に備えた出力バッファ書き込み管理部２４１２は、出力バッファ空き容量管理部２４１１から出力された出力バッファライト制御信号ＯＢＷＣに基づいて、出力バッファ２４２２−１を選択することを表す出力バッファライト選択信号ＯＢＷＳを、出力バッファ部２４２に備えたセレクタ２４２１に出力する。これにより、出力バッファ部２４２は、前段に接続された画像処理モジュール２３から出力された１つ目のユニットラインの入力データ（画素データ）を出力バッファ２４２２−１に書き込む（一時記憶する）状態になる。そして、出力バッファ書き込み管理部２４１２は、前段に接続された画像処理モジュール２３から出力されたデータ有効信号に基づいて、画像処理モジュール２３から順次出力された有効な画素データを順次書き込むための出力バッファライト信号ＯＢＷを、出力バッファ２４２２−１に出力する。これにより、出力バッファ２４２２−１に、前段に接続された画像処理モジュール２３から順次出力された、１つ目のユニットラインの有効な画素データが書き込まれて（ライトされて）一時記憶される。
【０１０５】
このとき、出力バッファ空き容量管理部２４１１は、出力バッファ２４２２−１において空いている記憶容量を監視した結果、現在入力されている入力データ（画素データ）を書き込んだ場合でも、依然として出力バッファ２４２２−１に空いている記憶容量があると判定した場合には、再度、入力データ（画素データ）の出力を要求するデータリクエスト信号を、前段に接続された画像処理モジュール２３に出力する。つまり、出力バッファ空き容量管理部２４１１は、出力バッファ２４２２−１が２つ目のユニットラインの入力データ（画素データ）を書き込む（一時記憶する）ことができる状態である場合には、２つ目のユニットラインの入力データ（画素データ）の出力を要求するデータリクエスト信号を、前段に接続された画像処理モジュール２３に出力する。これにより、前段に接続された画像処理モジュール２３は、再度出力されたデータリクエスト信号（２つ目のユニットラインのデータリクエスト信号）に応じて、データアクノリッジ信号を、２つ目のユニットラインの画素データを出力することを表す状態にする。
【０１０６】
そして、前段に接続された画像処理モジュール２３は、現在出力している１つ目のユニットラインの入力データ（画素データ）の出力が終了すると、引き続き、入出力用モジュール２４から再度出力されたデータリクエスト信号に応じて、２つ目のユニットラインの画素データおよびデータ有効信号を出力する。そして、出力バッファ書き込み管理部２４１２は、引き続き、前段に接続された画像処理モジュール２３から順次出力された、２つ目のユニットラインの有効な画素データを、出力バッファ２４２２−１に書き込む。
【０１０７】
このようにして、出力バッファ空き容量管理部２４１１および出力バッファ書き込み管理部２４１２は、出力バッファ２４２２−１において空いている記憶容量がなくなるまで、つまり、４つ目のユニットラインの入力データ（画素データ）を書き込むまで、前段に接続された画像処理モジュール２３から順次出力された、それぞれのユニットラインの入力データ（画素データ）の出力バッファ２４２２−１への書き込みを繰り返す。そして、出力バッファ２４２２−１において空いている記憶容量がなくなると、出力バッファ空き容量管理部２４１１および出力バッファ書き込み管理部２４１２は、引き続き、同様にして、前段に接続された画像処理モジュール２３から順次出力された有効な画素データの出力バッファ２４２２−２への書き込みを行う。つまり、出力バッファ空き容量管理部２４１１および出力バッファ書き込み管理部２４１２は、出力バッファ２４２２−１への４つ分のユニットラインの入力データ（画素データ）の書き込みが完了すると、引き続き、同様にして、前段に接続された画像処理モジュール２３から順次出力された、５つ目以降のユニットラインの有効な画素データの出力バッファ２４２２−２への書き込みを行う。
【０１０８】
また、接続されている外部インターフェース部３０からデータ出力要求信号が入力されると、外部出力制御部２４３に備えた出力バッファデータ量管理部２４３１は、画像処理モジュール入力制御部２４１によって出力バッファ２４２２−１に書き込まれている有効な画素データのデータ量を監視する。そして、出力バッファデータ量管理部２４３１は、出力バッファ２４２２−１への４つ分のユニットラインの画素データの書き込みが完了する、つまり、出力バッファ２４２２−１において空いている記憶容量がなくなると、出力バッファ２４２２−１に記憶している画素データを読み出す（出力する）ことを指示する出力バッファリード制御信号ＯＢＲＣを、出力バッファ読み出し管理部２４３２に出力する。
【０１０９】
なお、図４においては、データ出力要求信号の“Ｈｉｇｈ”レベルが、外部インターフェース部３０が外部出力データ（画素データ）の出力を要求している状態であることを表し、データ出力要求信号の“Ｌｏｗ”レベルが、外部出力データ（画素データ）の出力を要求していない状態であることを表している。
【０１１０】
外部出力制御部２４３に備えた出力バッファ読み出し管理部２４３２は、出力バッファデータ量管理部２４３１から出力された出力バッファリード制御信号ＯＢＲＣに基づいて、出力バッファ２４２２−１を選択することを表す出力バッファリード選択信号ＯＢＲＳを、出力バッファ部２４２に備えたセレクタ２４２３に出力する。これにより、出力バッファ部２４２は、出力バッファ２４２２−１に記憶している４つ分のユニットラインの画素データを読み出して外部インターフェース部３０に出力する状態になる。そして、出力バッファ読み出し管理部２４３２は、出力バッファ２４２２−１から画素データを順次読み出すための出力バッファリード信号ＯＢＲを、出力バッファ２４２２−１に出力する。これにより、出力バッファ２４２２−１に記憶している４つ分のユニットラインの画素データが順次読み出され（リードされ）、外部出力データとして外部インターフェース部３０に順次出力される。このとき、出力バッファ読み出し管理部２４３２は、出力バッファ２４２２−１から読み出して外部出力データとして出力している画素データが有効な画素データであるときに、出力データ有効信号を出力する。
【０１１１】
なお、図４においては、出力データ有効信号の“Ｈｉｇｈ”レベルが、外部インターフェース部３０に出力している外部出力データが有効な画素データあることを表し、出力データ有効信号の“Ｌｏｗ”レベルが、画素データが有効ではない、つまり、無効な外部出力データであることを表している。
【０１１２】
その後、外部インターフェース部３０から、再度、データ出力要求信号が入力されると、出力バッファデータ量管理部２４３１および出力バッファ読み出し管理部２４３２は、出力バッファ２４２２−２への画素データの書き込みが完了した後に、引き続き、同様にして、出力バッファ２４２２−２に記憶している画素データを順次読み出して、外部出力データとして外部インターフェース部３０に順次出力させる。つまり、出力バッファデータ量管理部２４３１および出力バッファ読み出し管理部２４３２は、出力バッファ２４２２−２への次の（５つ目以降の）４つ分のユニットラインの画素データの書き込みが完了すると、引き続き、同様にして、出力バッファ２４２２−２に記憶している５つ目以降の４つ分のユニットラインの画素データを順次読み出して、外部出力データとして外部インターフェース部３０に順次出力させる。
【０１１３】
このようにして、入出力用モジュール２４における外部出力部は、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）を出力バッファ２４２２に一旦記憶し、接続されている外部インターフェース部３０からのデータ出力の要求に応じて、出力バッファ２４２２に記憶している画素データを読み出して、外部出力データとして出力する。
【０１１４】
続いて、図３に戻って、入出力用モジュール２４における外部入力部について説明する。
【０１１５】
入力バッファ部２４５は、上述したように、入出力用モジュール２４に入力された外部入力データ（外部処理画素データ）を、一時的に記憶するデータバッファである。図３には、出力バッファ部２４２と同様に、データバッファを２つ備えたダブルバッファの構成の入力バッファ部２４５を示している。入力バッファ部２４５では、それぞれのデータバッファにおける外部処理画素データの記憶（書き込み）と出力（読み出し）とを逆の動作に交互に切り替えることによって、１つの処理単位の外部処理画素データの書き込みと読み出しとを同時期に行うことができるように動作する。図３に示した入力バッファ部２４５は、セレクタ２４５１と、２つの入力バッファ２４５２−１および入力バッファ２４５２−２と、セレクタ２４５３と、を備えている。
【０１１６】
セレクタ２４５１は、入力バッファ部２４５において外部処理画素データを書き込むデータバッファを選択する選択部である。セレクタ２４５１は、外部入力制御部２４４から出力された入力バッファライト選択信号ＩＢＷＳに応じて、入力バッファ２４５２−１または入力バッファ２４５２−２のいずれか一方の入力バッファ２４５２を、外部処理画素データを書き込むデータバッファとして選択する。そして、セレクタ２４５１は、入出力用モジュール２４に入力された外部入力データ（外部処理画素データ）を、選択した入力バッファ２４５２−１または入力バッファ２４５２−２のいずれか一方の入力バッファ２４５２に出力する。
【０１１７】
セレクタ２４５３は、入力バッファ部２４５において記憶している外部処理画素データを読み出すデータバッファを選択する選択部である。セレクタ２４５３は、画像処理モジュール出力制御部２４６から出力された入力バッファリード選択信号ＩＢＲＳに応じて、入力バッファ２４５２−１または入力バッファ２４５２−２のいずれか一方の入力バッファ２４５２を、記憶している外部処理画素データを読み出すデータバッファとして選択する。そして、セレクタ２４５３は、選択した入力バッファ２４５２−１または入力バッファ２４５２−２のいずれか一方の入力バッファ２４５２から読み出された外部処理画素データを、出力データとして後段に接続された画像処理モジュール２３に出力する。
【０１１８】
入力バッファ２４５２−１および入力バッファ２４５２−２のそれぞれは、予め定めた数のユニットライン分の外部処理画素データを一時的に記憶する記憶容量のデータバッファである。セレクタ２４５１によって外部処理画素データを書き込むデータバッファとして選択された入力バッファ２４５２−１または入力バッファ２４５２−２のいずれか一方の入力バッファ２４５２は、外部入力制御部２４４から出力された入力バッファライト信号ＩＢＷに応じて、セレクタ２４５１を介して入力された外部入力データ（外部処理画素データ）を書き込む（記憶する）。一方、セレクタ２４５３によって記憶している外部処理画素データを読み出すデータバッファとして選択された入力バッファ２４５２−１または入力バッファ２４５２−２のいずれか一方の入力バッファ２４５２は、画像処理モジュール出力制御部２４６から出力された入力バッファリード信号ＩＢＲに応じて、記憶している外部処理画素データを読み出して、セレクタ２４５３に出力する。
【０１１９】
外部入力制御部２４４は、上述したように、外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）の入力バッファ部２４５への記憶（書き込み）を制御する。図３に示した外部入力制御部２４４は、入力バッファ空き容量管理部２４４１と、入力バッファ書き込み管理部２４４２と、を備えている。
【０１２０】
入力バッファ空き容量管理部２４４１は、入力バッファ部２４５に備えた入力バッファ２４５２−１および入力バッファ２４５２−２のそれぞれの記憶容量を監視し、記憶容量を監視した結果に応じて、入力バッファ２４５２への外部入力データ（外部処理画素データ）の記憶（書き込み）を、入力バッファ書き込み管理部２４４２に指示する。
【０１２１】
より具体的には、入力バッファ空き容量管理部２４４１は、画像処理モジュール出力制御部２４６によって読み出されていない外部処理画素データを記憶している入力バッファ２４５２とは異なる他方の入力バッファ２４５２に、接続されている外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）を書き込む（一時記憶する）ための空いている記憶容量があるか否かを監視する。そして、入力バッファ空き容量管理部２４４１は、空いている記憶容量を監視した結果、画像処理モジュール出力制御部２４６によって読み出されるべき外部処理画素データをすでに記憶している入力バッファ２４５２とは異なる方の入力バッファ２４５２に空いている記憶容量がある場合、この入力バッファ２４５２は、外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）を書き込むことができる状態であると判定する。この場合、入力バッファ空き容量管理部２４４１は、外部インターフェース部３０から外部入力データ（外部処理画素データ）の入力を要求するデータ入力要求信号が入力されると、データ入力要求信号に対応する外部入力データ（外部処理画素データ）を受け取って書き込む（一時記憶する）ことを指示する入力バッファライト制御信号ＩＢＷＣを、入力バッファ書き込み管理部２４４２に出力する。なお、入力バッファ空き容量管理部２４４１が出力する入力バッファライト制御信号ＩＢＷＣには、空いている記憶容量があると判定した入力バッファ２４５２の情報が含まれている。
【０１２２】
なお、入力バッファ空き容量管理部２４４１は、データ入力要求信号による外部入力データ（外部処理画素データ）の入力を受け付けたこと表すデータ入力受け付け信号を、外部インターフェース部３０に出力してもよい。なお、入力バッファ空き容量管理部２４４１は、空いている記憶容量を監視した結果、入力バッファ２４５２に空いている記憶容量がない場合、いずれの入力バッファ２４５２にも、外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）を書き込むことができない状態であると判定する。この場合、入力バッファ空き容量管理部２４４１は、外部入力データを受け付けることができない状態であることを表すデータ入力受け付け信号を、接続されている外部インターフェース部３０に出力してもよい。なお、入力バッファ空き容量管理部２４４１は、外部入力データ（外部処理画素データ）の出力を要求する、または要求しないことを、データ入力受け付け信号と異なる信号（例えば、外部データ出力要求信号など、）で表してもよい。
【０１２３】
入力バッファ書き込み管理部２４４２は、入力バッファ空き容量管理部２４４１から出力された入力バッファライト制御信号ＩＢＷＣに基づいて、外部入力データ（外部処理画素データ）の書き込みを制御するための制御信号を入力バッファ部２４５に出力する。
【０１２４】
より具体的には、入力バッファ書き込み管理部２４４２は、入力バッファライト制御信号ＩＢＷＣに含まれる、空いている記憶容量があると判定した入力バッファ２４５２の情報に基づいて、外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）を書き込む（一時記憶する）入力バッファ２４５２を選択するための入力バッファライト選択信号ＩＢＷＳを、入力バッファ部２４５に備えたセレクタ２４５１に出力する。また、入力バッファ書き込み管理部２４４２は、入力バッファ空き容量管理部２４４１から出力された入力バッファライト制御信号ＩＢＷＣに応じて、外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）を書き込むタイミングを表す入力バッファライト信号ＩＢＷを、入力バッファ部２４５内の選択した入力バッファ２４５２に出力する。このとき、入力バッファ書き込み管理部２４４２は、外部インターフェース部３０から外部入力データ（外部処理画素データ）と共に出力された、ユニットラインに含まれるそれぞれの外部処理画素データが、有効な外部処理画素データであるか否かを表す入力データ有効信号に基づいて、現在入力された外部入力データが有効な外部処理画素データであるか否かを判定する。そして、入力バッファ書き込み管理部２４４２は、有効な外部入力データ（外部処理画素データ）のみを書き込むタイミングの入力バッファライト信号ＩＢＷを入力バッファ２４５２に出力する。これにより、入力バッファ部２４５は、有効な外部入力データ（外部処理画素データ）のみを、選択された入力バッファ２４５２に書き込む（一時記憶する）。
【０１２５】
画像処理モジュール出力制御部２４６は、上述したように、入力バッファ部２４５に記憶された外部入力データ（外部処理画素データ）の出力（読み出し）を制御する。図３に示した画像処理モジュール出力制御部２４６は、入力バッファデータ量管理部２４６１と、入力バッファ読み出し管理部２４６２と、を備えている。
【０１２６】
入力バッファデータ量管理部２４６１は、入力バッファ部２４５に備えた入力バッファ２４５２−１および入力バッファ２４５２−２のそれぞれの記憶容量を監視し、記憶容量を監視した結果に応じて、入力バッファ２４５２に記憶している外部処理画素データの出力（読み出し）を、入力バッファ読み出し管理部２４６２に指示する。
【０１２７】
より具体的には、入力バッファデータ量管理部２４６１は、外部入力制御部２４４によって外部入力データ（外部処理画素データ）の書き込みがされている入力バッファ２４５２とは異なる他方の入力バッファ２４５２に書き込みが完了している外部入力データ（外部処理画素データ）のデータ量を監視する。そして、入力バッファデータ量管理部２４６１は、外部処理画素データのデータ量を監視した結果、後段に接続された画像処理モジュール２３に出力データとして出力する外部処理画素データがすでに入力バッファ２４５２に記憶されている場合、この入力バッファ２４５２は、外部処理画素データを読み出して後段に接続された画像処理モジュール２３に出力することができる状態であると判定する。この場合、入力バッファデータ量管理部２４６１は、後段に接続された画像処理モジュール２３から出力データ（外部処理画素データ）の出力を要求するデータリクエスト信号が入力されると、データリクエスト信号に対応する出力データ（外部処理画素データ）を読み出す（出力する）ことを指示する入力バッファリード制御信号ＩＢＲＣを、入力バッファ読み出し管理部２４６２に出力する。なお、入力バッファデータ量管理部２４６１が出力する入力バッファリード制御信号ＩＢＲＣには、外部処理画素データの書き込みが完了していると判定した入力バッファ２４５２の情報が含まれている。また、入力バッファデータ量管理部２４６１は、データリクエスト信号による出力データ（外部処理画素データ）の出力を受け付けたこと表すデータアクノリッジ信号を、後段に接続された画像処理モジュール２３に出力する。
【０１２８】
一方、入力バッファデータ量管理部２４６１は、外部処理画素データのデータ量を監視した結果、出力データとして出力する外部処理画素データが入力バッファ２４５２に記憶されていない場合、いずれの入力バッファ２４５２からも、外部処理画素データを読み出すことができない状態であると判定する。この場合、入力バッファデータ量管理部２４６１は、データリクエスト信号による出力データ（外部処理画素データ）の出力を受け付けることができない状態であることを表すデータアクノリッジ信号を、後段に接続された画像処理モジュール２３に出力する。なお、このときのデータアクノリッジ信号は、出力データ（外部処理画素データ）の出力を受け付けることができない状態であることを、データアクノリッジ信号の論理レベルで表してもよいし、データアクノリッジ信号と異なる信号で表してもよい。
【０１２９】
入力バッファ読み出し管理部２４６２は、入力バッファデータ量管理部２４６１から出力された入力バッファリード制御信号ＩＢＲＣに基づいて、入力バッファ部２４５に記憶された外部入力データ（外部処理画素データ）の読み出し（出力）を制御するための制御信号を入力バッファ部２４５に出力する。
【０１３０】
より具体的には、入力バッファ読み出し管理部２４６２は、入力バッファリード制御信号ＩＢＲＣに含まれる、外部処理画素データの書き込みが完了していると判定した入力バッファ２４５２の情報に基づいて、記憶された外部処理画素データの読み出す（出力する）入力バッファ２４５２を選択するための入力バッファリード選択信号ＩＢＲＳを、入力バッファ部２４５に備えたセレクタ２４５３に出力する。また、入力バッファ読み出し管理部２４６２は、入力バッファデータ量管理部２４６１から出力された入力バッファリード制御信号ＩＢＲＣに応じて、記憶された外部処理画素データを読み出して後段に接続された画像処理モジュール２３に出力するタイミングを表す入力バッファリード信号ＩＢＲを、入力バッファ部２４５内の選択した入力バッファ２４５２に出力する。これにより、入力バッファ部２４５は、入力バッファリード信号ＩＢＲに応じて、記憶している外部処理画素データを読み出して、出力データとして後段に接続された画像処理モジュール２３に出力する。このとき、入力バッファ読み出し管理部２４６２は、入力バッファ２４５２から出力データとして読み出した（出力した）ユニットラインに含まれるそれぞれの外部処理画素データが、有効な外部処理画素データであるか否かを表すデータ有効信号を、後段に接続された画像処理モジュール２３に出力する。
【０１３１】
ここで、入出力用モジュール２４における外部入力部の動作について説明する。図５は、本発明の第１の実施形態における画像処理装置１内の画像処理部２０に備えた入出力用モジュール２４における外部入力部（外部入力制御部２４４、入力バッファ部２４５、および画像処理モジュール出力制御部２４６）の動作の一例を示したタイミングチャートである。図５には、入出力用モジュール２４が、接続されている外部インターフェース部３０から後段に接続された画像処理モジュール２３への外部処理画素データの受け渡しの一例を示している。つまり、図５には、入出力用モジュール２４が、接続されている外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）を一時記憶し、後段に接続された画像処理モジュール２３からのデータ出力の要求に応じて入力バッファ部２４５に記憶している外部処理画素データを出力データとして出力する動作の一例を示している。
【０１３２】
図５には、接続されている外部インターフェース部３０と入出力用モジュール２４との間でやり取りされるデータ入力要求信号、入力データ有効信号、および外部入力データのタイミングを示している。また、図５には、入力バッファ部２４５に備えた入力バッファ２４５２−１および入力バッファ２４５２−２のそれぞれの動作の状態を示している。また、図５には、後段に接続された画像処理モジュール２３と入出力用モジュール２４との間でやり取りされるデータリクエスト信号、データアクノリッジ信号、データ有効信号、および出力データのタイミングを示している。
【０１３３】
なお、図５の説明においては、４つのユニットラインを１つの処理単位として、後段に接続された画像処理モジュール２３との間で外部処理画素データの受け渡しを行うものとして説明する。また、図５の説明においては、入力バッファ部２４５に備えた入力バッファ２４５２−１と入力バッファ２４５２−２とのいずれにも、外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）を一時記憶していない、つまり、両方の入力バッファ２４５２が共に、記憶容量が空いている状態からの動作を説明する。
【０１３４】
上述した状態のとき、接続されている外部インターフェース部３０から１つ目の処理単位の外部入力データ（外部処理画素データ）の入力を要求するデータ入力要求信号が入力されると、外部入力制御部２４４に備えた入力バッファ空き容量管理部２４４１は、外部入力データ（外部処理画素データ）を書き込む（一時記憶する）ための空いている記憶容量が、入力バッファ２４５２−１にあるか否かを監視する。そして、入力バッファ空き容量管理部２４４１は、データ入力要求信号に対応する１つ目の処理単位の外部入力データ（外部処理画素データ）を受け取って、入力バッファ２４５２−１に書き込む（一時記憶する）ことを指示する入力バッファライト制御信号ＩＢＷＣを、入力バッファ書き込み管理部２４４２に出力する。
【０１３５】
なお、図５においては、データ入力要求信号の“Ｈｉｇｈ”レベルが、外部インターフェース部３０が外部入力データ（外部処理画素データ）の入力を要求することを表し、外部インターフェース部３０の“Ｌｏｗ”レベルが、外部入力データ（外部処理画素データ）の入力を要求しないことを表している。
【０１３６】
そして、外部インターフェース部３０は、有効な外部処理画素データであることを表す入力データ有効信号と共に、１つ目の処理単位の外部処理画素データを出力する。
【０１３７】
なお、図５においては、入力データ有効信号の“Ｈｉｇｈ”レベルが、外部インターフェース部３０が出力している外部処理画素データが有効な外部処理画素データあることを表し、入力データ有効信号の“Ｌｏｗ”レベルが、外部処理画素データが有効ではない、つまり、無効な外部処理画素データであることを表している。
【０１３８】
外部入力制御部２４４に備えた入力バッファ書き込み管理部２４４２は、入力バッファ空き容量管理部２４４１から出力された入力バッファライト制御信号ＩＢＷＣに基づいて、入力バッファ２４５２−１を選択することを表す入力バッファライト選択信号ＩＢＷＳを、入力バッファ部２４５に備えたセレクタ２４５１に出力する。これにより、入力バッファ部２４５は、外部インターフェース部３０から出力された１つ目の処理単位の外部入力データ（外部処理画素データ）を入力バッファ２４５２−１に書き込む（一時記憶する）状態になる。そして、入力バッファ書き込み管理部２４４２は、外部インターフェース部３０から出力された入力データ有効信号に基づいて、外部インターフェース部３０から順次出力された有効な外部処理画素データを順次書き込むための入力バッファライト信号ＩＢＷを、入力バッファ２４５２−１に出力する。これにより、入力バッファ２４５２−１に、外部インターフェース部３０から順次出力された１つ目の処理単位の有効な外部処理画素データが書き込まれて（ライトされて）一時記憶される。
【０１３９】
そして、外部インターフェース部３０は、現在出力している１つ目の処理単位の外部入力データ（外部処理画素データ）の出力が終了すると、引き続き、２つ目の処理単位の外部入力データ（外部処理画素データ）の入力を要求するデータ入力要求信号を出力し、有効な外部処理画素データであることを表す入力データ有効信号と共に、２つ目の処理単位の外部処理画素データを出力する。
【０１４０】
このとき、入力バッファ空き容量管理部２４４１は、外部インターフェース部３０から出力されたデータ入力要求信号に対応する２つ目の処理単位の外部入力データ（外部処理画素データ）を受け取って、入力バッファ２４５２−２に書き込む（一時記憶する）ことを指示する入力バッファライト制御信号ＩＢＷＣを、入力バッファ書き込み管理部２４４２に出力する。そして、入力バッファ書き込み管理部２４４２は、入力バッファ空き容量管理部２４４１から出力された２つ目の処理単位の入力バッファライト制御信号ＩＢＷＣに基づいて、引き続き、外部インターフェース部３０から順次出力された２つ目の処理単位の有効な外部処理画素データを受け取って、入力バッファ２４５２−２に書き込んで（ライトして）一時記憶させる。
【０１４１】
このようにして、入力バッファ空き容量管理部２４４１および入力バッファ書き込み管理部２４４２は、接続されている外部インターフェース部３０から順次出力された外部入力データ（外部処理画素データ）を、入力バッファ２４５２−１および入力バッファ２４５２−２に書き込む。
【０１４２】
また、後段に接続された画像処理モジュール２３から１つ目のユニットラインの出力データ（外部処理画素データ）の出力を要求するデータリクエスト信号が入力されると、画像処理モジュール出力制御部２４６に備えた入力バッファデータ量管理部２４６１は、外部入力制御部２４４によって入力バッファ２４５２−１に書き込まれている有効な外部処理画素データのデータ量を監視する。そして、入力バッファデータ量管理部２４６１は、入力バッファ２４５２−１への１つ目の処理単位の外部処理画素データの書き込みが完了する、つまり、入力バッファ２４５２−１において空いている記憶容量がなくなると、データリクエスト信号による１つ目のユニットラインの外部処理画素データの出力を受け付けたこと表すデータアクノリッジ信号を、後段に接続された画像処理モジュール２３に出力する。これにより、後段に接続された画像処理モジュール２３は、１つ目のユニットラインの外部処理画素データの出力を要求するデータリクエスト信号を、出力データ（外部処理画素データ）の出力を要求しない状態にする。そして、入力バッファデータ量管理部２４６１は、入力バッファ２４５２−１に記憶している１つ目のユニットラインの外部処理画素データを読み出して出力することを指示する入力バッファリード制御信号ＩＢＲＣを、入力バッファ読み出し管理部２４６２に出力する。
【０１４３】
なお、図５においては、データリクエスト信号の“Ｈｉｇｈ”レベルが、後段に接続された画像処理モジュール２３が出力データ（外部処理画素データ）の出力を要求している状態であることを表し、データリクエスト信号の“Ｌｏｗ”レベルが、出力データ（外部処理画素データ）の出力を要求していない状態であることを表している。
【０１４４】
画像処理モジュール出力制御部２４６に備えた入力バッファ読み出し管理部２４６２は、入力バッファデータ量管理部２４６１から出力された入力バッファリード制御信号ＩＢＲＣに基づいて、入力バッファ２４５２−１を選択することを表す入力バッファリード選択信号ＩＢＲＳを、入力バッファ部２４５に備えたセレクタ２４５３に出力する。これにより、入力バッファ部２４５は、入力バッファ２４５２−１に記憶している外部処理画素データを読み出して後段に接続された画像処理モジュール２３に出力する状態になる。そして、入力バッファ読み出し管理部２４６２は、入力バッファ２４５２−１から１つ目のユニットラインの外部処理画素データを順次読み出すための入力バッファリード信号ＩＢＲを、入力バッファ２４５２−１に出力する。これにより、入力バッファ２４５２−１に記憶している１つ目のユニットラインの外部処理画素データが順次読み出され（リードされ）、１つ目のユニットラインの出力データとして、後段に接続された画像処理モジュール２３に順次出力される。このとき、入力バッファ読み出し管理部２４６２は、入力バッファ２４５２−１から読み出して出力データとして出力している１つ目のユニットラインの外部処理画素データが有効な外部処理画素データであるときに、データ有効信号を出力する。
【０１４５】
なお、図５においては、データ有効信号の“Ｈｉｇｈ”レベルが、後段に接続された画像処理モジュール２３に出力している出力データが有効な外部処理画素データあることを表し、データ有効信号の“Ｌｏｗ”レベルが、外部処理画素データが有効ではない、つまり、無効な出力データであることを表している。
【０１４６】
その後、後段に接続された画像処理モジュール２３から、２つ目のユニットラインの出力データ（外部処理画素データ）の出力を要求するデータリクエスト信号が入力されると、入力バッファデータ量管理部２４６１は、２つ目のユニットラインの外部処理画素データの出力を受け付けたこと表すデータアクノリッジ信号を、後段に接続された画像処理モジュール２３に出力する。そして、入力バッファデータ量管理部２４６１は、現在出力している１つ目のユニットラインの外部処理画素データの読み出しが完了した後に、引き続き、入力バッファ２４５２−１に記憶している２つ目のユニットラインの外部処理画素データを読み出して出力することを指示する入力バッファリード制御信号ＩＢＲＣを、入力バッファ読み出し管理部２４６２に出力する。これにより、入力バッファ読み出し管理部２４６２は、引き続き、入力バッファ２４５２−１から２つ目のユニットラインの外部処理画素データを順次読み出して、２つ目のユニットラインの出力データとして、データ有効信号と共に、後段に接続された画像処理モジュール２３に順次出力する。
【０１４７】
このようにして、入力バッファデータ量管理部２４６１および入力バッファデータ量管理部２４６１は、後段に接続された画像処理モジュール２３から入力されたデータリクエスト信号に応じて、全ての外部処理画素データの読み出しが完了するまで、つまり、４つ目のユニットラインの出力データ（外部処理画素データ）の出力が終了するまで、入力バッファ２４５２−１に記憶している外部処理画素データの読み出しを繰り返す。そして、入力バッファ２４５２−１に記憶している外部処理画素データの読み出しが完了すると、入力バッファデータ量管理部２４６１および入力バッファデータ量管理部２４６１は、後段に接続された画像処理モジュール２３から入力されたデータリクエスト信号に応じて、引き続き、同様にして、入力バッファ２４５２−２に記憶している外部処理画素データの読み出しを行う。つまり、入力バッファデータ量管理部２４６１および入力バッファデータ量管理部２４６１は、入力バッファ２４５２−１からの４つ分のユニットラインの出力データ（外部処理画素データ）の出力が完了すると、引き続き、同様にして、入力バッファ２４５２−２からの５つ目以降のユニットラインの出力データ（外部処理画素データ）を、後段に接続された画像処理モジュール２３に出力する。
【０１４８】
このようにして、入出力用モジュール２４における外部入力部は、接続されている外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）を入力バッファ部２４５に一旦記憶し、後段に接続された画像処理モジュール２３からのデータ出力の要求に応じて、入力バッファ部２４５に記憶している外部処理画素データを読み出して、出力データとして出力する。
【０１４９】
このような構成によって画像処理部２０に備えた入出力用モジュール２４は、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）の接続されている外部インターフェース部３０への出力と、外部インターフェース部３０から出力された外部入力データ（外部処理画素データ）の後段に接続された画像処理モジュール２３への出力とを行う。これにより、入出力用モジュール２４は、画像処理部２０においてパイプラインが構成された、前段に接続された画像処理モジュール２３と後段に接続された画像処理モジュール２３との間に、外部インターフェース部３０によって接続された外部拡張処理装置６００による外部画像処理を組み込むことができる。
【０１５０】
なお、図３に示した入出力用モジュール２４の構成では、リクエスト信号、アクノリッジ信号、および有効信号によって、前段または後段に接続された画像処理モジュール２３や、外部インターフェース部３０との間で画素データのやり取りをする構成を示した。しかし、入出力用モジュール２４が、前段または後段に接続された画像処理モジュール２３や、外部インターフェース部３０との間で画素データをやり取りする方法は、リクエスト信号、アクノリッジ信号、および有効信号による方法に限定されるものではなく、他の様々な方法によるデータの伝送方法を採用してもよい。
【０１５１】
次に、入出力用モジュール２４によって外部拡張処理装置６００による外部画像処理を組み込んだパイプライン処理におけるデータの流れについて説明する。図６は、本発明の第１の実施形態における画像処理装置１内の画像処理部２０に備えた入出力用モジュール２４を含んだ画素データの流れを模式的に示した図である。図６には、画像処理部２０において構成されたパイプライン処理の中に、外部拡張処理装置６００による外部画像処理を組み込んだときの画素データの流れを示している。より具体的には、図１に示した撮像装置１００の構成において、画像処理装置１内の画像処理部２０に備えた画像処理モジュール２３−２と画像処理モジュール２３−３との間に入出力用モジュール２４を組み込むことによって、外部拡張処理装置６００による外部画像処理を、パイプライン処理による一連の画像処理に組み込んだときの画素データの流れを示している。
【０１５２】
画像処理装置１に備えた画像処理部２０におけるパイプライン処理では、画像処理モジュール２３や外部拡張処理装置６００のそれぞれが、前段の画像処理モジュール２３または外部拡張処理装置６００から出力された画素データに対する予め定めた画像処理を並列に行うことによって、パイプライン処理がスムーズに行われるようにしている。言い換えれば、画像処理モジュール２３や外部拡張処理装置６００のそれぞれは、同じ時期に異なる画像処理を行っている。しかし、図６に示した画素データの流れの説明では、説明を容易にするため、１つの処理単位の画素データに着目して、データの流れを説明する。図６に示した画素データの流れでは、以下のような流れ（フロー）で処理が行われる。
【０１５３】
（フローＦ１）：まず、入力ＤＭＡモジュール２２が、ＤＲＡＭ５００に記憶されているブロック画像データに含まれるそれぞれの画素データを、ＤＭＡバス１０を介したＤＭＡによってユニットラインごとに読み出す。そして、入力ＤＭＡモジュール２２は、読み出した画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−１に出力する。
【０１５４】
（フローＦ２）：続いて、画像処理モジュール２３−１は、接続切り替え部２１を介して接続先の入力ＤＭＡモジュール２２から出力された画素データに対して予め定めた画像処理を施し、画像処理を施した後の処理画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−２に出力する。
【０１５５】
（フローＦ３）：続いて、画像処理モジュール２３−２は、接続切り替え部２１を介して接続先の画像処理モジュール２３−１から出力された処理画素データに対して予め定めた画像処理を施し、画像処理をさらに施した後の処理画素データを、接続切り替え部２１を介して、次に画像処理を行う外部拡張処理装置６００に出力する。このとき、接続切り替え部２１は、画像処理モジュール２３−２から出力された処理画素データを、入出力用モジュール２４に出力する。
【０１５６】
（フローＦ４）：続いて、入出力用モジュール２４は、接続切り替え部２１を介して接続先の画像処理モジュール２３−２から出力された処理画素データを、ＤＭＡバス１０を介さずに直接、外部インターフェース部３０に出力し、外部インターフェース部３０を介して、外部拡張処理装置６００に伝送する。
【０１５７】
（フローＦ５）：続いて、外部拡張処理装置６００は、画像処理装置１に備えた外部インターフェース部３０を介して伝送された処理画素データを外部インターフェース部６３０によって受け取り、ＤＭＡバス６１０を介して拡張処理モジュール６２０に出力する。そして、拡張処理モジュール６２０は、ＤＭＡバス６１０を介して外部インターフェース部６３０から出力された処理画素データに対して予め定めた外部画像処理を施し、外部画像処理を施した後の処理画素データ（外部処理画素データ）を、ＤＭＡバス６１０を介して外部インターフェース部６３０に出力する。
【０１５８】
（フローＦ６）：続いて、外部インターフェース部６３０は、ＤＭＡバス６１０を介して拡張処理モジュール６２０から出力された外部処理画素データを、画像処理装置１に伝送する。そして、画像処理装置１は、外部拡張処理装置６００に備えた外部インターフェース部６３０を介して伝送された外部処理画素データを外部インターフェース部３０によって受け取り、外部インターフェース部３０は、受け取った外部処理画素データを、ＤＭＡバス１０を介さずに直接、入出力用モジュール２４に出力する。
【０１５９】
（フローＦ７）：続いて、入出力用モジュール２４は、外部インターフェース部３０を介して、外部拡張処理装置６００から伝送された外部処理画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−３に出力する。
【０１６０】
（フローＦ８）：続いて、画像処理モジュール２３−３は、接続切り替え部２１を介して接続先の入出力用モジュール２４から出力された外部処理画素データに対して予め定めた画像処理を施し、画像処理をさらに施した後の外部処理画素データ（処理画素データ）を、接続切り替え部２１を介して、出力ＤＭＡモジュール２５に出力する。
【０１６１】
（フローＦ９）：続いて、出力ＤＭＡモジュール２５は、接続切り替え部２１を介して接続先の画像処理モジュール２３−３から出力された処理画素データを、ＤＭＡバス１０を介したＤＭＡによってＤＲＡＭ５００に書き込む（記憶する）。
【０１６２】
このようにして、画像処理装置１では、画像処理部２０に構成されたパイプライン処理の中に、外部拡張処理装置６００による外部画像処理を組み込んだ一連の画像処理を実行する。
【０１６３】
本第１の実施形態によれば、入力されたデータ（画素データ）に対して予め定めた処理を行う複数の処理モジュール（画像処理モジュール２３−１〜画像処理モジュール２３−３）を直列に接続してパイプラインを構成し、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれが処理を順次行うことによってパイプライン処理を行う画像処理部（画像処理部２０）がデータバス（ＤＭＡバス１０）に接続され、ＤＭＡバス１０に接続されたデータ記憶部（ＤＲＡＭ５００）からＤＭＡバス１０を介して読み出した画素データに対して画像処理を行う画像処理装置（画像処理装置１）であって、画像処理部２０は、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれが行う処理と異なる処理を行う処理モジュールとしてパイプライン内に組み込まれる入出力用モジュール（入出力用モジュール２４）、を備え、入出力用モジュール２４は、パイプラインにおいて組み込まれた位置の前段に位置する処理モジュールである第１の処理モジュール（例えば、画像処理モジュール２３−２）が処理を行った処理データ（入力データ，画素データ，処理画素データ）を、ＤＭＡバス１０を介さずに直接、画像処理部２０の外部の外部処理部（外部拡張処理装置６００）に（外部出力データとして）出力し、外部拡張処理装置６００によって処理データ（入力データ，画素データ，処理画素データ）に対して外部処理（外部画像処理）が行われて入力された外部処理データ（外部入力データ，外部処理画素データ）を、ＤＭＡバス１０を介さずに直接、パイプラインにおいて第１の処理モジュール（例えば、画像処理モジュール２３−２）の後段に位置する処理モジュールである第２の処理モジュール（例えば、画像処理モジュール２３−３）に（出力データとして）出力する、画像処理装置（画像処理装置１）が構成される。
【０１６４】
また、本第１の実施形態によれば、入出力用モジュール２４は、処理データ（入力データ，画素データ，処理画素データ）を一時的に記憶する出力バッファ部（出力バッファ部２４２）と、外部処理データ（外部入力データ，外部処理画素データ）を一時的に記憶する入力バッファ部（入力バッファ部２４５）と、を備え、第１の処理モジュール（例えば、画像処理モジュール２３−２）が出力した処理データ（処理画素データ）を出力バッファ部２４２に一旦記憶し、外部拡張処理装置６００からの要求に応じて出力バッファ部２４２に記憶した処理データ（処理画素データ）を（外部出力データとして）出力し、外部拡張処理装置６００が出力した外部処理データ（外部入力データ，外部処理画素データ）を入力バッファ部２４５に一旦記憶し、第２の処理モジュールからの要求に応じて入力バッファ部２４５に記憶した外部処理データ（外部入力データ，外部処理画素データ）を（出力データとして）出力する、画像処理装置１が構成される。
【０１６５】
また、本第１の実施形態によれば、入出力用モジュール２４は、出力バッファ部２４２の記憶容量に基づいて、出力バッファ部２４２への処理データ（入力データ，画素データ，処理画素データ）の書き込みを制御する処理モジュール入力制御部（画像処理モジュール入力制御部２４１）と、出力バッファ部２４２に記憶されている処理データ（入力データ，画素データ，処理画素データ）のデータ量に基づいて、出力バッファ部２４２からの処理データ（入力データ，画素データ，処理画素データ）の読み出しを制御する外部出力制御部（外部出力制御部２４３）と、入力バッファ部２４５の記憶容量に基づいて、入力バッファ部２４５への外部処理データ（外部入力データ，外部処理画素データ）の書き込みを制御する外部入力制御部（外部入力制御部２４４）と、入力バッファ部２４５に記憶されている外部処理データ（外部入力データ，外部処理画素データ）のデータ量に基づいて、入力バッファ部２４５からの外部処理データ（外部入力データ，外部処理画素データ）の読み出しを制御する処理モジュール出力制御部（画像処理モジュール出力制御部２４６）と、をさらに備える、画像処理装置１が構成される。
【０１６６】
また、本第１の実施形態によれば、画像処理モジュール入力制御部２４１は、第１の処理モジュール（例えば、画像処理モジュール２３−２）が処理を行う単位（例えば、ユニットライン）ごとに、出力バッファ部２４２に処理データ（入力データ，画素データ，処理画素データ）を書き込み、外部出力制御部２４３は、外部拡張処理装置６００が外部画像処理を行う単位（例えば、４つのユニットライン）ごとに、出力バッファ部２４２に記憶されている処理データ（入力データ，画素データ，処理画素データ）を読み出し、外部入力制御部２４４は、外部拡張処理装置６００が外部画像処理を行う単位（例えば、４つのユニットライン）ごとに、入力バッファ部２４５に外部処理データ（外部入力データ，外部処理画素データ）を書き込み、画像処理モジュール出力制御部２４６は、第２の処理モジュール（例えば、画像処理モジュール２３−３）が処理を行う単位（例えば、ユニットライン）ごとに、入力バッファ部２４５に記憶されている外部処理データ（外部入力データ，外部処理画素データ）を読み出す、画像処理装置１が構成される。
【０１６７】
また、本第１の実施形態によれば、入出力用モジュール２４は、パイプラインの先頭、途中、および最後尾の少なくとも１つの位置に組み込まれる、画像処理装置１が構成される。
【０１６８】
また、本第１の実施形態によれば、外部拡張処理装置６００との間でデータ（入力データ，画素データ，処理画素データ，外部出力データ，外部入力データ，外部処理画素データ，出力データ）の入出力を行う外部インターフェース部（外部インターフェース部３０）、をさらに備え、入出力用モジュール２４は、外部インターフェース部３０を介して、外部拡張処理装置６００との間でデータ伝送を行う、画像処理装置１が構成される。
【０１６９】
また、本第１の実施形態によれば、処理データ（入力データ，画素データ，処理画素データ）および外部処理データ（外部入力データ，外部処理画素データ）は、画像データ（例えば、静止画像のデータ）であり、第１の処理モジュール（例えば、画像処理モジュール２３−２）および第２の処理モジュール（例えば、画像処理モジュール２３−３）が処理を行う単位（例えば、ユニットライン）と、外部拡張処理装置６００が外部画像処理を行う単位（例えば、４つのユニットライン）とのそれぞれは、１フレームの画像データ（例えば、静止画像のデータ）を予め定めた複数のブロック（例えば、ブロック画像データ）に分割したサイズであり、出力バッファ部２４２の記憶容量および入力バッファ部２４５の記憶容量は、１フレームの画像データ（例えば、静止画像のデータ）に含まれる画素データを記憶するための記憶容量よりも少ない、画像処理装置１が構成される。
【０１７０】
上述したように、第１の実施形態の画像処理装置１では、パイプライン処理を行う画像処理部２０内に外部インターフェース部３０がＤＭＡバス１０を介さずに直接接続される入出力用モジュール２４を備える。これにより、第１の実施形態の画像処理装置１では、パイプライン処理の途中の処理画素データを、画像処理装置１の外部に接続された外部拡張処理装置６００に伝送することができる。そして、第１の実施形態の画像処理装置１では、外部拡張処理装置６００が画像処理を施した処理画素データ（外部処理画素データ）に対して、パイプライン処理における続きの画像処理を行うことができる。このことにより、第１の実施形態の画像処理装置１では、すでに構成されたパイプライン処理による画像処理の中に、拡張性を持たせるための外部拡張処理装置６００による画像処理を組み込むことができる。
【０１７１】
しかも、第１の実施形態の画像処理装置１では、外部インターフェース部３０によって、拡張する画像処理に用いる画素データを、ＤＲＡＭ５００などの記憶部を用いずに、外部拡張処理装置６００との間で伝送することができる。このため、第１の実施形態の画像処理装置１では、すでに構成されたパイプライン処理が分断されることなく、拡張する画像処理を組み込んだ状態で、一連の画像処理を行うことができる。このことにより、第１の実施形態の画像処理装置１では、ＤＲＡＭのバス帯域の圧迫や、画像処理装置１の消費電力の増大などが起こらず、第１の実施形態の画像処理装置１を搭載した撮像装置１００の性能を低下させることなく、画像処理を拡張することができる。
【０１７２】
なお、第１の実施形態の画像処理装置１では、画像処理装置１内の画像処理部２０に備えた画像処理モジュール２３−２と画像処理モジュール２３−３との間に、外部拡張処理装置６００による外部画像処理を組み込む構成について説明した。しかし、上述したように、第１の実施形態の画像処理装置１では、接続切り替え部２１によって、画像処理部２０が行う画像処理の順番や、パイプラインに組み込む外部画像処理の位置を変更することができる。従って、第１の実施形態の画像処理装置１においてパイプライン処理の中に外部画像処理を組み込む位置は、第１の実施形態において説明した位置に限定されるものではない。例えば、接続切り替え部２１の設定によって、画像処理モジュール２３−１と画像処理モジュール２３−２との間に、外部拡張処理装置６００による外部画像処理を組み込むこともできる。
【０１７３】
また、第１の実施形態の画像処理装置１では、画像処理部２０に備えた入出力用モジュール２４が、画像処理装置１に備えた外部インターフェース部３０と接続され、外部インターフェース部３０を介して画像処理装置１の外部に備えた外部拡張処理装置６００との間で画素データのやり取りをする構成を示した。しかし、入出力用モジュール２４の構成は、第１の実施形態において示した構成に限定されるものではない。例えば、入出力用モジュール２４に、外部インターフェース部３０の機能を備え、入出力用モジュール２４と外部拡張処理装置６００との間で、画素データのやり取りを直接行う構成であってもよい。また、この構成の入出力用モジュール２４では、例えば、外部拡張処理装置６００が、予め想定される外部画像処理を行うために画像処理装置１に専用に接続される画像処理装置（システムＬＳＩ）ある場合などにおいて、予め定めた特定のデータ伝送の仕様や方式でデータの伝送を行う機能のみを、外部インターフェース部３０の機能として備えていてもよい。この場合、画像処理装置１に専用の外部拡張処理装置６００では、画素データを入力してから外部画像処理を行って外部処理画素データを出力するまでの遅延時間が予めわかる。このため、画像処理部２０におけるパイプライン処理がスムーズに行われる場合には、入出力用モジュール２４の構成を、出力バッファ部２４２および入力バッファ部２４５を備えない、つまり、それぞれの画素データのバッファリングを行わない構成にしてもよい。なお、前段および後段への接続が想定される画像処理モジュール２３にデータバッファを備えている場合、入出力用モジュール２４は、それぞれの画像処理モジュール２３に備えたデータバッファを、出力バッファ部２４２および入力バッファ部２４５のデータバッファとして兼用することによって、それぞれの画素データのバッファリングを行わない構成にしてもよい。
【０１７４】
なお、第１の実施形態の画像処理装置１では、パイプライン処理に組み込んで拡張する画像処理を実行する構成要素が、画像処理装置１の外部に接続された外部拡張処理装置６００である構成を説明した。しかし、画像処理装置１の構成によっては、パイプライン処理に組み込んで拡張する画像処理を実行する構成要素を、画像処理装置１の中に備えていることも考えられる。この場合、入出力用モジュール２４が、外部インターフェース部３０の代わりに、画像処理装置１の中に備えた拡張する画像処理を実行する構成要素との間で画素データのやり取りを行うことによって、同様に、画像処理部２０においてすでに構成されたパイプライン処理による画像処理の中に、拡張性を持たせるための画像処理を組み込むことができる。
【０１７５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。なお、以下の説明においても、本発明の第２の実施形態の画像処理装置が、例えば、静止画用カメラなどの撮像装置（以下、「撮像装置２００」という）に搭載されている場合について説明する。図７は、本発明の第２の実施形態における画像処理装置の概略構成を示したブロック図である。なお、図７には、本発明の第２の実施形態の画像処理装置２に関連する撮像装置２００内の構成要素として、ＤＲＡＭ５００を併せて示している。
【０１７６】
図７に示した画像処理装置２は、ＤＭＡバス１０と、画像処理部４０と、外部インターフェース（Ｉ／Ｆ）部３０と、デジタルシグナルプロセッサ（ＤＳＰ）５０と、セレクタ部６０と、を備えている。また、画像処理部４０は、接続切り替え部２１と、入力ＤＭＡモジュール２２と、３つの画像処理モジュール２３−１〜画像処理モジュール２３−３と、入出力用モジュール４４と、出力ＤＭＡモジュール２５と、を備えている。
【０１７７】
図７に示した画像処理装置２の構成は、図１に示した第１の実施形態の画像処理装置１に備えた画像処理部２０が、画像処理部４０に代わり、さらにデジタルシグナルプロセッサ５０と、セレクタ部６０とを備えた構成である。また、図７に示した画像処理装置２に備えた画像処理部４０は、図１に示した第１の実施形態の画像処理装置１に備えた画像処理部２０に備えた入出力用モジュール２４が、入出力用モジュール４４に代わった構成である。
【０１７８】
なお、画像処理装置２および画像処理装置２に備えた画像処理部４０における他の構成要素は、図１に示した第１の実施形態の画像処理装置１または画像処理装置１に備えた画像処理部２０における構成要素と同様である。従って、以下の説明においては、画像処理装置２および画像処理装置２に備えた画像処理部４０の構成要素において、図１に示した第１の実施形態の画像処理装置１または画像処理装置１に備えた画像処理部２０の構成要素と同様の構成要素には同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。なお、図７においても、図１に示した撮像装置１００と同様に、撮像装置２００に備えたそれぞれの構成要素や画像処理装置２においてＤＭＡバス１０に接続される他の構成要素の図示を省略している。
【０１７９】
画像処理部４０は、図１に示した第１の実施形態の画像処理装置１に備えた画像処理部２０と同様に、入力されたブロック画像データに対して、画像処理装置２において予め定められた種々の画像処理をパイプライン処理する。また、画像処理部４０も、第１の実施形態の画像処理装置１に備えた画像処理部２０と同様に、パイプラインの構成を変更する機能を備えている。
【０１８０】
また、画像処理部４０も、第１の実施形態の画像処理装置１に備えた画像処理部２０と同様に、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれが実行する画像処理とは異なる画像処理をパイプライン処理に組み込む機能を備えている。ただし、画像処理装置２では、デジタルシグナルプロセッサ５０によって実行する画像処理（以下、「ＤＳＰ画像処理」という）を、画像処理部４０における画像処理を拡張する画像処理としてパイプライン処理に組み込むこともできる。ここで、デジタルシグナルプロセッサ５０において実行してパイプライン処理に組み込む画像処理（ＤＳＰ画像処理）は、画像処理モジュール２３−１〜画像処理モジュール２３−３のいずれの画像処理モジュール２３においても実行しない画像処理である。
【０１８１】
図７に示した撮像装置２００の構成では、画像処理装置２の外部に備えたシステムＬＳＩなどの構成要素（図１に示した第１の実施形態においては、外部拡張処理装置６００）が実行する外部画像処理、またはデジタルシグナルプロセッサ５０が実行するＤＳＰ画像処理のいずれか一方の画像処理を、画像処理部４０におけるパイプライン処理に組み込むことができる。以下の説明においては、説明を容易にするため、画像処理装置２の外部に備えた構成要素が、図１に示した第１の実施形態において画像処理装置１の外部に備えた外部拡張処理装置６００であるものとして説明する。また、以下の説明においては、外部画像処理とＤＳＰ画像処理とのそれぞれを区別せずに表すときには、「拡張画像処理」という。画像処理部４０では、入出力用モジュール４４を、拡張画像処理を実行する画像処理モジュールとしてパイプラインの構成内に組み込むことによって、外部拡張処理装置６００またはデジタルシグナルプロセッサ５０が実行する拡張画像処理がパイプライン処理に組み込まれる。
【０１８２】
なお、画像処理装置２においても、第１の実施形態の画像処理装置１に備えた画像処理部２０と同様に、画像処理部４０におけるパイプラインの構成が、例えば、不図示のシステム制御部によって変更（設定）される。
【０１８３】
図７には、画像処理モジュール２３−２と画像処理モジュール２３−３との間に入出力用モジュール４４を組み込むことによって、外部拡張処理装置６００またはデジタルシグナルプロセッサ５０によって実行される拡張画像処理がパイプラインに組み込まれている構成を示している。つまり、図７に示した画像処理部４０では、画像処理モジュール２３−１による画像処理、画像処理モジュール２３−２による画像処理、外部拡張処理装置６００またはデジタルシグナルプロセッサ５０による画像処理、および画像処理モジュール２３−３による画像処理を順次行うパイプラインを構成している状態を示している。
【０１８４】
なお、画像処理装置２においても、第１の実施形態の画像処理装置１に備えた画像処理部２０と同様に、入出力用モジュール４４をパイプラインに組み込む位置は、例えば、不図示のシステム制御部によって設定される。従って、画像処理装置２においても、第１の実施形態の画像処理装置１に備えた画像処理部２０と同様に、入出力用モジュール４４をパイプラインに組み込む位置は、図７に示した位置に限定されるものではなく、パイプライン内のいかなる位置にも組み込むことができる。
【０１８５】
入出力用モジュール４４は、第１の実施形態の画像処理装置１に備えた画像処理部２０の入出力用モジュール２４と同様に、画像処理部４０の外部に備えた構成要素によって実行される拡張画像処理を、パイプライン処理に組み込むためのインターフェースモジュールである。なお、第１の実施形態では、入出力用モジュール２４と外部インターフェース部３０とが、ＤＭＡバス１０を介さずに直接接続されていたが、入出力用モジュール４４では、セレクタ部６０が、ＤＭＡバス１０を介さずに直接接続されている。入出力用モジュール４４は、例えば、不図示のシステム制御部からの制御に応じて、接続切り替え部２１によって接続が切り替えられた接続先の入力ＤＭＡモジュール２２、画像処理モジュール２３のいずれかから、接続切り替え部２１を介して入力された画素データを、セレクタ部６０を介して、外部インターフェース部３０に接続されている外部拡張処理装置６００またはデジタルシグナルプロセッサ５０に出力する。また、入出力用モジュール４４は、例えば、不図示のシステム制御部からの制御に応じて、外部インターフェース部３０に接続されている外部拡張処理装置６００またはデジタルシグナルプロセッサ５０から、セレクタ部６０を介して入力された拡張画像処理が施された画素データを、接続切り替え部２１によって接続が切り替えられた接続先の画像処理モジュール２３のいずれか、または出力ＤＭＡモジュール２５に出力する。
【０１８６】
上述したように、入出力用モジュール４４は、外部インターフェース部３０に接続されている外部拡張処理装置６００が実行する外部画像処理、またはデジタルシグナルプロセッサ５０が実行するＤＳＰ画像処理のいずれか一方の拡張画像処理を、画像処理部４０におけるパイプライン処理に組み込む。このため、入出力用モジュール４４では、外部画像処理またはＤＳＰ画像処理のいずれの拡張画像処理をパイプライン処理に組み込むかを表す情報として、画像処理部４０の外部に備えたいずれの構成要素に、拡張画像処理に用いる画素データを出力するのかを示す出力先の情報（以下、「出力先情報」という）を、画素データに付加して出力する。この出力先情報は、拡張画像処理に用いる画素データを、外部インターフェース部３０に接続されている外部拡張処理装置６００またはデジタルシグナルプロセッサ５０の、画像処理部４０の外部に備えたいずれの構成要素に出力するかを示す情報である。
【０１８７】
なお、入出力用モジュール４４は、拡張画像処理に用いる画素データに出力先情報を付加してもよいが、例えば、拡張画像処理に用いる画素データが入力された構成要素がそれぞれの画像処理を実行する際に用いる画像処理の設定などの情報として画素データの先頭や後尾に付加された、いわゆる、ヘッダ情報やマーカ情報などの付加情報に含めるようにして付加してもよい。
【０１８８】
なお、入出力用モジュール４４の構成、入出力用モジュール４４がやり取りする画素データの構成や、入出力用モジュール４４が拡張画像処理を画像処理部４０のパイプライン処理に組み込むときの動作などに関する詳細な説明は、後述する。なお、以下の説明においては、ＤＳＰ画像処理を施した後の画素データを、ＤＲＡＭ５００に記憶されている画像処理を行う対象の画素データや、画像処理モジュール２３のいずれかが画像処理を施した後の処理画素データ、外部拡張処理装置６００が外部画像処理を施した後の外部処理画素データと区別して表す場合には、「ＤＳＰ処理画素データ」という。また、以下の説明においては、外部処理画素データと、ＤＳＰ処理画素データとを区別せずに表す場合には、「拡張処理画素データ」という。また、以下の説明においては、処理画素データと、外部処理画素データ、ＤＳＰ処理画素データや、拡張処理画素データとを区別せずに表す場合には、単に「処理画素データ」という。
【０１８９】
このように、画像処理部４０でも、第１の実施形態の画像処理装置１に備えた画像処理部２０と同様に、それぞれの画像処理モジュール２３が、例えば、不図示のシステム制御部からの制御に応じて、パイプライン処理による一連の画像処理を行う。そして、画像処理部４０でも、第１の実施形態の画像処理装置１に備えた画像処理部２０と同様に、いずれの画像処理モジュール２３においても実行しない拡張画像処理を、例えば、不図示のシステム制御部からの制御に応じて、画像処理部４０の外部に備えた構成要素に実行させて、パイプライン処理に組み込む。このとき、画像処理部４０でも、第１の実施形態の画像処理装置１に備えた画像処理部２０と同様に、入出力用モジュール４４を、拡張画像処理を実行する画像処理モジュールとしてパイプラインの構成に組み込む。
【０１９０】
これにより、画像処理装置２でも、第１の実施形態の画像処理装置１と同様に、画像処理部４０によって実行することができない画像処理であっても、画像処理部４０がパイプライン処理を行っているのと同様に処理して、画像処理部４０におけるパイプライン処理を拡張することができる。ただし、画像処理装置２では、第１の実施形態の画像処理装置１とは異なり、外部拡張処理装置６００が実行する外部画像処理、またはデジタルシグナルプロセッサ５０が実行するＤＳＰ画像処理のいずれか一方の拡張画像処理を選択してパイプライン処理に組み込む。このため、入出力用モジュール４４が出力する拡張画像処理に用いる画素データには、上述したように、外部拡張処理装置６００またはデジタルシグナルプロセッサ５０のいずれの構成要素への出力であるかを示す出力先情報が付加されている。
【０１９１】
セレクタ部６０は、入出力用モジュール４４が出力した拡張画像処理に用いる画素データに付加された出力先情報に基づいて、画素データの入出力先の構成要素を選択する選択部である。入出力用モジュール４４が出力した拡張画像処理に用いる画素データに付加された出力先情報が、画像処理装置２の外部に備えた外部拡張処理装置６００への出力を示している場合、セレクタ部６０は、ＤＭＡバス１０を介さずに直接、入出力用モジュール４４から入力された画素データを、外部インターフェース部３０に出力する。これにより、入出力用モジュール４４から出力された画素データが、外部インターフェース部３０によって、画像処理装置２の外部に備えた外部拡張処理装置６００に伝送される。そして、セレクタ部６０は、外部インターフェース部３０を介して画像処理装置２の外部に備えた外部拡張処理装置６００から伝送された外部処理画素データを、ＤＭＡバス１０を介さずに直接、入出力用モジュール４４に出力する。
【０１９２】
なお、入出力用モジュール４４が出力した拡張画像処理に用いる画素データに付加された出力先情報が画像処理装置２の外部に備えた外部拡張処理装置６００への出力を示している場合における、入出力用モジュール４４が外部画像処理を画像処理部４０のパイプライン処理に組み込むときの動作は、第１の実施形態の画像処理装置１に備えた画像処理部２０の入出力用モジュール２４と同様である。従って、入出力用モジュール４４が外部画像処理を画像処理部４０のパイプライン処理に組み込むときの動作に関する詳細な説明は省略する。
【０１９３】
一方、入出力用モジュール４４が出力した拡張画像処理に用いる画素データに付加された出力先情報が、デジタルシグナルプロセッサ５０への出力を示している場合、セレクタ部６０は、ＤＭＡバス１０を介さずに直接、入出力用モジュール４４から入力された画素データを、デジタルシグナルプロセッサ５０に出力する。そして、セレクタ部６０は、デジタルシグナルプロセッサ５０から伝送された外部処理画素データを、ＤＭＡバス１０を介さずに直接、入出力用モジュール４４に出力する。これにより、画像処理部４０では、デジタルシグナルプロセッサ５０が実行するＤＳＰ画像処理が、画像処理部４０内に構成されるパイプラインに組み込まれる。
【０１９４】
デジタルシグナルプロセッサ５０は、画像処理装置２の内部に備えられ、画像処理装置２に備えた画像処理部４０内に構成されるパイプラインに組み込まれるＤＳＰ画像処理を行う信号処理部である。デジタルシグナルプロセッサ５０は、画像処理装置２に備えた画像処理部４０内のいずれの画像処理モジュール２３においても実行しない画像処理、つまり、画像処理装置２において実行する画像処理を拡張するためのＤＳＰ画像処理を実行する。デジタルシグナルプロセッサ５０は、撮像装置２００においてＤＭＡバス１０を介さずに入出力用モジュール４４から直接入力された拡張画像処理に用いる画素データに対して予め定めたデジタル的なＤＳＰ画像処理を施し、ＤＳＰ画像処理を施した画素データ（ＤＳＰ処理画素データ）を、ＤＭＡバス１０を介さずに入出力用モジュール４４に直接に出力する。
【０１９５】
なお、デジタルシグナルプロセッサ５０は、画像処理部４０内に構成されるパイプラインに組み込むＤＳＰ画像処理以外にも種々の信号処理を行う。このため、デジタルシグナルプロセッサ５０は、図７に示したように、ＤＭＡバス１０にも接続されている。従って、デジタルシグナルプロセッサ５０は、ＤＭＡバス１０に接続されたＤＲＡＭ５００を用いて種々の信号処理を実行することもできる。図７に示した画像処理装置２の構成では、デジタルシグナルプロセッサ５０は、ＤＲＡＭ５００を用いずにＤＳＰ画像処理を実行する構成を想定している。しかし、デジタルシグナルプロセッサ５０は、拡張画像処理に用いる画素データに対してＤＳＰ画像処理を施す際に、ＤＲＡＭ５００を用いてもよい。
【０１９６】
このような構成によって撮像装置２００では、画像処理装置２に備えた画像処理部４０内の画像処理モジュール２３のそれぞれが実行する画像処理によるパイプライン処理に、外部拡張処理装置６００が実行する外部画像処理、またはデジタルシグナルプロセッサ５０が実行するＤＳＰ画像処理のいずれか一方の拡張画像処理を組み込む。これにより、撮像装置２００では、画像処理装置２のみでは実行することができない画像処理であっても、外部拡張処理装置６００またはデジタルシグナルプロセッサ５０によって、画像処理装置２に備えた画像処理部４０がパイプライン処理を行っているのと同様に、画像処理を拡張することができる。
【０１９７】
次に、画像処理装置２において画像処理部４０に備えた入出力用モジュール４４の構成、入出力用モジュール４４がやり取りする画素データの構成、および入出力用モジュール４４の動作について説明する。なお、入出力用モジュール４４も、第１の実施形態の画像処理装置１に備えた画像処理部２０の入出力用モジュール２４と同様に、パイプライン内のいかなる位置にも組み込むことができる。以下の説明においても、第１の実施形態の画像処理装置１に備えた画像処理部２０の入出力用モジュール２４と同様に、入出力用モジュール４４の前段および後段のそれぞれに画像処理モジュール２３が接続されているものとして説明する。なお、画像処理部４０に備えた入出力用モジュール４４における外部インターフェース部３０またはデジタルシグナルプロセッサ５０との間での画素データの受け渡し動作の概念は、セレクタ部６０を介して行う以外は、図２に示した第１の実施形態の画像処理装置１に備えた画像処理部２０の入出力用モジュール２４における画素データの受け渡しの概念的な動作と同様である。従って、入出力用モジュール４４における画素データの受け渡しの概念的な動作に関する詳細な説明は省略する。
【０１９８】
図８は、本発明の第２の実施形態における画像処理装置２内の画像処理部４０に備えた入出力用モジュール４４の概略構成を示したブロック図である。図８には、入出力用モジュール４４における基本的な構成を示している。図８に示した入出力用モジュール４４は、画像処理モジュール入力制御部２４１と、出力バッファ部２４２と、外部出力制御部４４３と、外部入力制御部２４４と、入力バッファ部２４５と、画像処理モジュール出力制御部２４６と、を備えている。図８に示した入出力用モジュール４４は、第１の実施形態の画像処理装置１に備えた画像処理部２０の入出力用モジュール２４に備えた外部出力制御部２４３が、外部出力制御部４４３に代わった構成である。外部出力制御部４４３は、第１の実施形態の画像処理装置１に備えた画像処理部２０の入出力用モジュール２４に備えた外部出力制御部２４３の機能に、拡張画像処理に用いる画素データに出力先の構成要素を示す出力先情報を付加する機能が追加されている。
【０１９９】
なお、入出力用モジュール４４における他の構成要素は、図３に示した第１の実施形態の画像処理装置１に備えた画像処理部２０の入出力用モジュール２４における構成要素と同様である。従って、以下の説明においては、入出力用モジュール４４に備えた構成要素において、図３に示した第１の実施形態における入出力用モジュール２４に備えた構成要素と同様の構成要素には同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。
【０２００】
入出力用モジュール４４でも、入出力用モジュール２４と同様に、画像処理モジュール入力制御部２４１、出力バッファ部２４２、および外部出力制御部４４３の構成が、外部出力部である。入出力用モジュール４４でも、入出力用モジュール２４と同様に、外部出力部の構成によって、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）を出力バッファ部２４２に一時記憶し、画素データの出力先の構成要素からのデータ出力の要求に応じて、出力バッファ部２４２に一時記憶した画素データを読み出して、外部出力データとして出力する。なお、入出力用モジュール４４においては、外部入力部の構成は、入出力用モジュール２４と同様である。つまり、入出力用モジュール４４においても、外部入力制御部２４４、入力バッファ部２４５、および画像処理モジュール出力制御部２４６の構成が、外部入力部である。
【０２０１】
外部出力制御部４４３は、第１の実施形態における入出力用モジュール２４に備えた外部出力制御部２４３と同様に、出力バッファ部２４２に記憶された入力データ（画素データ）の出力（読み出し）を制御する。図８に示した外部出力制御部４４３は、出力バッファデータ量管理部２４３１と、出力バッファ読み出し管理部４４３２と、を備えている。外部出力制御部４４３は、第１の実施形態における入出力用モジュール２４に備えた外部出力制御部２４３内の出力バッファ読み出し管理部２４３２が、出力バッファ読み出し管理部４４３２に代わった構成である。
【０２０２】
出力バッファデータ量管理部２４３１は、出力バッファ部２４２に備えた出力バッファ２４２２−１および出力バッファ２４２２−２のそれぞれの記憶容量を監視し、記憶容量を監視した結果に応じて、出力バッファ２４２２に記憶している画素データの出力（読み出し）を指示する出力バッファリード制御信号ＯＢＲＣを、出力バッファ読み出し管理部４４３２に出力する。
【０２０３】
出力バッファ読み出し管理部４４３２は、出力バッファデータ量管理部２４３１から出力された出力バッファリード制御信号ＯＢＲＣに基づいて、出力バッファ部２４２に記憶された入力データ（画素データ）の読み出し（出力）を制御するための出力バッファリード選択信号ＯＢＲＳと出力バッファリード信号ＯＢＲとを、出力バッファ部２４２に出力する。これにより、出力バッファ部２４２は、出力バッファリード信号ＯＢＲに応じて、記憶している画素データが読み出される。
【０２０４】
入出力用モジュール４４では、出力バッファ部２４２から読み出された画素データは、外部出力データとして出力されず、出力バッファ読み出し管理部４４３２に入力される。そして、出力バッファ読み出し管理部４４３２は、出力バッファ部２４２から読み出された（出力された）画素データに出力先情報を付加し、出力先情報を付加した画素データを、外部出力データとしてセレクタ部６０に出力する。このとき、出力バッファ読み出し管理部４４３２は、外部出力データとして出力したユニットラインに含まれるそれぞれの画素データが、有効な画素データであるか否かを表す出力データ有効信号も、セレクタ部６０に出力する。
【０２０５】
ここで、出力バッファ読み出し管理部４４３２が出力先情報を付加した外部出力データの構成、つまり、入出力用モジュール４４がやり取りする画素データの構成について説明する。図９は、本発明の第２の実施形態における画像処理装置２内の画像処理部４０に備えた入出力用モジュール４４が出力する外部出力データの構成の一例を示した図である。図９には、出力バッファ読み出し管理部４４３２が、出力先情報を、付加情報（より具体的には、ヘッダ情報）の中に含めるようにして付加した場合の一例を示している。
【０２０６】
外部出力データは、拡張画像処理に用いる画素データよりも前の領域、つまり、外部出力データの先頭側の領域に、ヘッダ情報が付加されている。出力バッファ読み出し管理部４４３２は、このヘッダ情報の中に含めるようにして出力先情報を付加する。図９には、「出力先」、「画像処理パラメータ」、「画像サイズ」、「左上座標」の情報が含まれるヘッダ情報の構成を示している。
【０２０７】
ここで、ヘッダ情報に含まれる「出力先」の情報は、出力バッファ読み出し管理部４４３２が付加した出力先情報である。この出力先情報によって、セレクタ部６０は、入出力用モジュール４４から出力された外部出力データを出力する出力先が複数ある場合でも、外部出力データを適切な構成要素のいずれかに出力することができる。画像処理装置２では、ヘッダ情報に含まれる「出力先」の情報（出力先情報）は、外部インターフェース部３０に接続されている外部拡張処理装置６００またはデジタルシグナルプロセッサ５０を出力先として示す出力先情報である。従って、セレクタ部６０は、ヘッダ情報に含まれる「出力先」の情報（出力先情報）に基づいて、外部出力データに含まれる拡張画像処理に用いる画素データを、出力先情報が示す構成要素に出力する。
【０２０８】
また、ヘッダ情報に含まれる「画像処理パラメータ」、「画像サイズ」、および「左上座標」の情報は、拡張画像処理を実行するそれぞれの構成要素（画像処理装置２においては、外部拡張処理装置６００またはデジタルシグナルプロセッサ５０）が、それぞれの拡張画像処理を実行する際に用いる画像処理の設定などの情報（付加情報）である。
【０２０９】
より具体的には、ヘッダ情報に含まれる「画像処理パラメータ」の情報は、外部出力データに含まれる画素データに対して施す拡張画像処理（外部画像処理またはＤＳＰ画像処理）の設定（パラメータ）の情報である。この「画像処理パラメータ」の情報としては、例えば、フィルタ処理におけるフィルタ係数の値、画像補間処理における設定値、リサイズ処理におけるリサイズ率の値、歪補正処理における歪み係数の値などのパラメータなどの情報がある。
【０２１０】
また、ヘッダ情報に含まれる「画像サイズ」の情報は、外部出力データに含まれる画像データのサイズに関する情報である。この「画像サイズ」の情報としては、例えば、画素データのデータ量（画素数）、ブロック画像データのサイズ（水平方向の画素数や垂直方向の画素数）、１フレームの静止画像のサイズ（水平方向の画素数や垂直方向の画素数）などの情報がある。
【０２１１】
また、ヘッダ情報に含まれる「左上座標」の情報は、外部出力データに含まれる画素データの、基準の位置（座標）に対する位置（座標）に関する情報である。この「左上座標」の情報としては、例えば、外部出力データに含まれる画素データが表す画像の領域において左上に位置する画素に対応した画素データ（例えば、先頭の画素データ）が、１フレームの静止画像を画像処理する際に一般的に基準の位置として扱われる左上の画素の座標を基準座標（０，０）に対してどのような位置関係にあるかを示すための座標などの情報がある。
【０２１２】
外部出力データ、すなわち、拡張画像処理に用いる画素データが入力された構成要素（外部拡張処理装置６００またはデジタルシグナルプロセッサ５０）は、画素データと同時に入力されたヘッダ情報に含まれる「画像処理パラメータ」、「画像サイズ」、および「左上座標」の情報を用いることによって、入力された画素データに適した拡張画像処理を行うことができる。また、「画像処理パラメータ」、「画像サイズ」、および「左上座標」のいずれかの情報に、例えば、外部出力データに含まれる画素データが、１フレームの静止画像内のいずれの位置のブロック画像データであるか、言い換えれば、１フレームの静止画像に対する画像処理を開始する最初のブロック画像データであるか、１フレームの静止画像に対する画像処理を終了する最後のブロック画像データであるかを表す情報などを含んでもよい。これにより、１フレームの静止画像に対する画像処理の状況を考慮した拡張画像処理を行うこともできる。
【０２１３】
なお、一般的に、画像処理装置では、拡張画像処理を実行する際に用いる情報を、ヘッダ情報として拡張画像処理に用いる画素データと同時に出力しない構成も考えられる。しかし、この構成の場合には、例えば、不図示のシステム制御部によって、拡張画像処理を実行するそれぞれの構成要素に個別に、ヘッダ情報に含まれる情報と同様の設定を行う必要があり、パイプライン処理においては、拡張画像処理を実行するそれぞれの構成要素と画像処理部４０に備えた画像処理モジュール２３のそれぞれとの同期が難しくなることも考えられる。このため、パイプライン処理において、拡張画像処理を実行するそれぞれの構成要素と画像処理部４０に備えた画像処理モジュール２３のそれぞれとの同期を容易にするためには、拡張画像処理を実行する際に用いる情報をヘッダ情報として拡張画像処理に用いる画素データと同時に出力することは有効な方法であると考えられる。
【０２１４】
なお、出力バッファ読み出し管理部４４３２が出力先情報を付加して出力する外部出力データの構成は、図９に示した構成に限定されるものではなく、種々の構成が考えられる。また、拡張画像処理を実行する際に用いる画像処理の設定などの情報は、図９に示した情報に限定されるものではなく、種々の情報や設定が考えられる。
【０２１５】
なお、入出力用モジュール４４における外部出力部および外部入力部の動作のタイミングは、外部出力データの構成が異なる以外は、図４および図５に示した、第１の実施形態の画像処理装置１に備えた画像処理部２０の入出力用モジュール２４における外部出力部および外部入力部の動作のタイミングと同様に考えることができる。従って、入出力用モジュール４４における外部出力部および外部入力部の動作のタイミングに関する詳細な説明は省略する。
【０２１６】
このような構成によって画像処理部４０に備えた入出力用モジュール４４は、前段に接続された画像処理モジュール２３から出力された入力データ（画素データ）の画像処理部４０の外部に備えたいずれかの構成要素への出力と、画像処理部４０の外部に備えたいずれかの構成要素から出力された外部入力データ（外部処理画素データ）の後段に接続された画像処理モジュール２３への出力とを行う。これにより、入出力用モジュール４４は、画像処理部４０においてパイプラインが構成された、前段に接続された画像処理モジュール２３と後段に接続された画像処理モジュール２３との間に、画像処理部４０の外部に備えたいずれかの構成要素による拡張画像処理を組み込むことができる。
【０２１７】
なお、図８に示した入出力用モジュール４４の構成でも、図３に示した第１の実施形態における入出力用モジュール２４と同様に、リクエスト信号、アクノリッジ信号、および有効信号によって画素データのやり取りをする構成を示したが、入出力用モジュール４４においても、他の様々なデータの伝送方法によって画素データをやり取りしてもよい。
【０２１８】
次に、入出力用モジュール４４によって画像処理部４０の外部に備えたいずれかの構成要素による拡張画像処理を組み込んだパイプライン処理におけるデータの流れについて説明する。図１０は、本発明の第２の実施形態における画像処理装置２内の画像処理部４０に備えた入出力用モジュール４４を含んだ画素データの流れを模式的に示した図である。図１０には、画像処理部４０において構成されたパイプライン処理の中に、デジタルシグナルプロセッサ５０によるＤＳＰ画像処理を組み込んだときの画素データの流れを示している。より具体的には、図７に示した撮像装置２００の構成において、画像処理装置２内の画像処理部４０に備えた画像処理モジュール２３−２と画像処理モジュール２３−３との間に入出力用モジュール４４を組み込むことによって、デジタルシグナルプロセッサ５０によるＤＳＰ画像処理を、パイプライン処理による一連の画像処理に組み込んだときの画素データの流れを示している。
【０２１９】
画像処理装置２に備えた画像処理部４０におけるパイプライン処理でも、第１の実施形態の画像処理装置１に備えた画像処理部２０におけるパイプライン処理と同様に、画像処理モジュール２３やデジタルシグナルプロセッサ５０のそれぞれが、前段の画像処理モジュール２３またはデジタルシグナルプロセッサ５０から出力された画素データに対する予め定めた画像処理を並列に行うことによって、パイプライン処理がスムーズに行われるようにしている。言い換えれば、画像処理モジュール２３やデジタルシグナルプロセッサ５０のそれぞれは、同じ時期に異なる画像処理を行っている。しかし、図１０に示した画素データの流れの説明では、説明を容易にするため、第１の実施形態の画像処理装置１における画素データの流れの説明と同様に、１つの処理単位の画素データに着目して、データの流れを説明する。図１０に示した画素データの流れでは、以下のような流れ（フロー）で処理が行われる。
【０２２０】
（フローＦ１１）：まず、入力ＤＭＡモジュール２２が、ＤＲＡＭ５００に記憶されているブロック画像データに含まれるそれぞれの画素データを、ＤＭＡバス１０を介したＤＭＡによってユニットラインごとに読み出し、読み出した画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−１に出力する。
【０２２１】
（フローＦ１２）：続いて、画像処理モジュール２３−１は、接続切り替え部２１を介して接続先の入力ＤＭＡモジュール２２から出力された画素データに対して予め定めた画像処理を施し、画像処理を施した後の処理画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−２に出力する。
【０２２２】
（フローＦ１３）：続いて、画像処理モジュール２３−２は、接続切り替え部２１を介して接続先の画像処理モジュール２３−１から出力された処理画素データに対して予め定めた画像処理を施し、画像処理をさらに施した後の処理画素データを、接続切り替え部２１を介して、次に画像処理を行うデジタルシグナルプロセッサ５０に出力する。このとき、接続切り替え部２１は、画像処理モジュール２３−２から出力された処理画素データを、入出力用モジュール４４に出力する。
【０２２３】
（フローＦ１４）：続いて、入出力用モジュール４４は、接続切り替え部２１を介して接続先の画像処理モジュール２３−２から出力された処理画素データにデジタルシグナルプロセッサ５０を示す出力先情報を付加する。そして、入出力用モジュール４４は、出力先情報を付加した処理画素データを、ＤＭＡバス１０を介さずに直接、セレクタ部６０に出力する。
【０２２４】
（フローＦ１５）：続いて、セレクタ部６０は、入出力用モジュール４４から入力された処理画素データに付加された出力先情報に基づいて、処理画素データの入出力先の構成要素としてデジタルシグナルプロセッサ５０を選択する。そして、セレクタ部６０は、入出力用モジュール４４からＤＭＡバス１０を介さずに直接入力された処理画素データを、選択したデジタルシグナルプロセッサ５０に伝送する。
【０２２５】
（フローＦ１６）：続いて、デジタルシグナルプロセッサ５０は、画像処理装置２に備えたセレクタ部６０を介して伝送された処理画素データに対して予め定めたＤＳＰ画像処理を施し、ＤＳＰ画像処理を施した後の処理画素データ（ＤＳＰ処理画素データ）を、セレクタ部６０に出力する。
【０２２６】
（フローＦ１７）：続いて、セレクタ部６０は、デジタルシグナルプロセッサ５０から出力されたＤＳＰ処理画素データを、ＤＭＡバス１０を介さずに直接、入出力用モジュール４４に出力する。
【０２２７】
（フローＦ１８）：続いて、入出力用モジュール４４は、セレクタ部６０からＤＭＡバス１０を介さずに直接出力されたＤＳＰ処理画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−３に出力する。
【０２２８】
（フローＦ１９）：続いて、画像処理モジュール２３−３は、接続切り替え部２１を介して接続先の入出力用モジュール４４から出力されたＤＳＰ処理画素データに対して予め定めた画像処理を施し、画像処理をさらに施した後のＤＳＰ処理画素データ（処理画素データ）を、接続切り替え部２１を介して、出力ＤＭＡモジュール２５に出力する。
【０２２９】
（フローＦ２０）：続いて、出力ＤＭＡモジュール２５は、接続切り替え部２１を介して接続先の画像処理モジュール２３−３から出力された処理画素データを、ＤＭＡバス１０を介したＤＭＡによってＤＲＡＭ５００に書き込む（記憶する）。
【０２３０】
このようにして、画像処理装置２では、画像処理部４０に構成されたパイプライン処理の中に、デジタルシグナルプロセッサ５０によるＤＳＰ画像処理を組み込んだ一連の画像処理を実行する。
【０２３１】
本第２の実施形態によれば、外部出力制御部（外部出力制御部４４３）は、複数の外部処理部（外部拡張処理装置６００およびデジタルシグナルプロセッサ５０）の内、いずれの外部処理部（外部拡張処理装置６００またはデジタルシグナルプロセッサ５０）に処理データ（入力データ，画素データ，処理画素データ）を出力するのかを示す出力先情報を処理データ（拡張画像処理に用いる入力データ，画素データ，処理画素データ）に付加する、画像処理装置（画像処理装置２）が構成される。
【０２３２】
また、本第２の実施形態によれば、出力先情報は、外部処理部（外部拡張処理装置６００またはデジタルシグナルプロセッサ５０）が処理データ（入力データ，画素データ，処理画素データ）に対して行う外部処理（拡張画像処理，外部画像処理またはＤＳＰ画像処理）の設定（画像処理の設定）の情報が示された付加情報に含まれる、画像処理装置２が構成される。
【０２３３】
上述したように、第２の実施形態の画像処理装置２では、パイプライン処理を行う画像処理部４０内にセレクタ部６０がＤＭＡバス１０を介さずに直接接続される入出力用モジュール４４を備える。このとき、第２の実施形態の画像処理装置２では、入出力用モジュール４４が、セレクタ部６０が画素データを伝送する構成要素を選択するための出力先情報を画素データに付加して出力する。これにより、第２の実施形態の画像処理装置２では、セレクタ部６０が、画素データに付加された出力先情報に基づいて画素データの入出力先の構成要素を選択し、パイプライン処理の途中の処理画素データを、出力先情報に示された画像処理部４０の外部に備えた構成要素に伝送することができる。そして、第２の実施形態の画像処理装置２では、出力先情報に示された、画像処理部４０の外部に備えた構成要素が画像処理を施した拡張処理画素データ（外部処理画素データまたはＤＳＰ処理画素データ）に対して、パイプライン処理における続きの画像処理を行うことができる。このことにより、第２の実施形態の画像処理装置２でも、第１の実施形態の画像処理装置１と同様に、すでに構成されたパイプライン処理による画像処理の中に、拡張性を持たせるために画像処理部４０の外部に備えた構成要素による画像処理を組み込むことができる。
【０２３４】
しかも、第２の実施形態の画像処理装置２でも、第１の実施形態の画像処理装置１と同様に、拡張する画像処理に用いる画素データを、ＤＲＡＭ５００などの記憶部を用いずに、画像処理部４０の外部に備えた構成要素との間で伝送することができる。このため、第２の実施形態の画像処理装置２でも、第１の実施形態の画像処理装置１と同様に、すでに構成されたパイプライン処理が分断されることなく、拡張する画像処理を組み込んだ状態で、一連の画像処理を行うことができる。このことにより、第２の実施形態の画像処理装置２でも、第１の実施形態の画像処理装置１と同様に、ＤＲＡＭのバス帯域の圧迫や、画像処理装置２の消費電力の増大などが起こらず、第２の実施形態の画像処理装置２を搭載した撮像装置２００の性能を低下させることなく、画像処理を拡張することができる。
【０２３５】
なお、第２の実施形態の画像処理装置２では、画像処理装置２内の画像処理部４０に備えた画像処理モジュール２３−２と画像処理モジュール２３−３との間に、デジタルシグナルプロセッサ５０によるＤＳＰ画像処理を組み込む構成について説明した。しかし、上述したように、第２の実施形態の画像処理装置２では、セレクタ部６０によって画素データの入出力先の構成要素を選択することができる。従って、第２の実施形態の画像処理装置２でも、第１の実施形態の画像処理装置１と同様に、外部拡張処理装置６００による外部画像処理を組み込む構成を実現することができる。
【０２３６】
なお、第２の実施形態の画像処理装置２でも、接続切り替え部２１によって、画像処理部４０が行う画像処理の順番や、パイプラインに組み込む拡張画像処理の位置の変更に対する考え方は、第１の実施形態の画像処理装置１と同様である。
【０２３７】
また、第２の実施形態の画像処理装置２では、画像処理部４０に備えた入出力用モジュール４４が、画像処理装置２に備えたセレクタ部６０と接続され、セレクタ部６０を介して画像処理部４０の外部に備えた構成要素との間で画素データのやり取りをする構成を示した。しかし、入出力用モジュール４４の構成は、第２の実施形態において示した構成に限定されるものではない。例えば、入出力用モジュール４４に、セレクタ部６０および外部インターフェース部３０の機能を備える構成にしてもよい。そして、この構成の入出力用モジュール４４では、第１の実施形態における入出力用モジュール２４と同様に、画像処理部４０の外部に備えた構成要素における画素データの入力から出力までの遅延時間を考えて、出力バッファ部２４２および入力バッファ部２４５の構成を兼用してもよい。つまり、入出力用モジュール４４におけるそれぞれの画素データのバッファリングを行わない構成にしてもよい。
【０２３８】
なお、第１の実施形態の画像処理装置１では、画像処理部２０に入出力用モジュール２４を１つ備え、第２の実施形態の画像処理装置２では、画像処理部４０に入出力用モジュール４４を１つ備えた構成について説明した。しかし、本発明の画像処理装置では、画像処理部に備える入出力用モジュールの数は、第１の実施形態および第２の実施形態において示した数、すなわち、１つに限定されるものではない。つまり、本発明の画像処理装置では、画像処理部に複数の入出力用モジュールを備える構成にしてもよい。画像処理部に複数の入出力用モジュールを備えることによって、画像処理部の外部に備えた構成要素によって実行される画像処理を、画像処理部においてすでに構成されたパイプライン内の複数の位置に組み込むことができる。
【０２３９】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。なお、以下の説明においても、本発明の第３の実施形態の画像処理装置が、例えば、静止画用カメラなどの撮像装置（以下、「撮像装置３００」という）に搭載されている場合について説明する。図１１は、本発明の第３の実施形態における画像処理装置の概略構成を示したブロック図である。なお、図１１に示した本発明の第３の実施形態の画像処理装置３は、図７に示した第２の実施形態の画像処理装置２に備えた画像処理部４０に、複数（２つ）の入出力用モジュール４４を備えた構成である。
【０２４０】
なお、図１１には、本発明の第３の実施形態の画像処理装置３に関連する撮像装置３００内の構成要素として、ＤＲＡＭ５００と、外部拡張処理装置６００と、ＤＲＡＭ７００と、ＤＭＡバス８１０、拡張処理モジュール８２０、および外部インターフェース（Ｉ／Ｆ）部８３０を備えた外部拡張処理装置８００と、ＤＲＡＭ９００とを併せて示している。なお、外部拡張処理装置８００は、入力された画素データに対して実施する予め定めたデジタル的な外部画像処理が異なる以外は、外部拡張処理装置６００と同様の画像処理装置（システムＬＳＩ）である。また、ＤＲＡＭ９００も、外部拡張処理装置８００に接続されていること以外は、ＤＲＡＭ７００と同様のデータ記憶部である。
【０２４１】
図１１に示した画像処理装置３は、ＤＭＡバス１０と、画像処理部７０と、２つの外部インターフェース（Ｉ／Ｆ）部３０（外部インターフェース部３０−１および外部インターフェース部３０−２）と、デジタルシグナルプロセッサ（ＤＳＰ）５０と、セレクタ部８０と、を備えている。また、画像処理部７０は、接続切り替え部２１と、入力ＤＭＡモジュール２２と、３つの画像処理モジュール２３−１〜画像処理モジュール２３−３と、２つの入出力用モジュール４４（入出力用モジュール４４−１および入出力用モジュール４４−２）と、出力ＤＭＡモジュール２５と、を備えている。
【０２４２】
図１１に示した画像処理装置３の構成では、図７に示した第２の実施形態の画像処理装置２に備えた画像処理部４０に２つの入出力用モジュール４４を備えたことに伴って、第２の実施形態の画像処理装置２に備えた画像処理部４０とセレクタ部６０とが、画像処理部７０とセレクタ部８０とに代わっている。
【０２４３】
なお、画像処理装置３および画像処理装置３に備えた画像処理部７０における他の構成要素は、図７に示した第２の実施形態の画像処理装置２または画像処理装置２に備えた画像処理部４０における構成要素と同様である。従って、以下の説明においては、画像処理装置３および画像処理装置３に備えた画像処理部７０の構成要素において、図７に示した第２の実施形態の画像処理装置２または画像処理装置２に備えた画像処理部４０の構成要素と同様の構成要素には同一の符号を付与し、それぞれの構成要素に関する詳細な説明は省略する。なお、図１１においても、図７に示した撮像装置２００と同様に、撮像装置３００に備えたそれぞれの構成要素や画像処理装置３においてＤＭＡバス１０に接続される他の構成要素の図示を省略している。
【０２４４】
画像処理部７０は、図７に示した第２の実施形態の画像処理装置２に備えた画像処理部４０と同様に、入力されたブロック画像データに対して、画像処理装置３において予め定められた種々の画像処理をパイプライン処理する。また、画像処理部７０も、第２の実施形態の画像処理装置２に備えた画像処理部４０と同様に、パイプラインの構成を変更する機能を備えている。
【０２４５】
また、画像処理部７０も、第２の実施形態の画像処理装置２に備えた画像処理部４０と同様に、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれが実行する画像処理とは異なる画像処理をパイプライン処理に組み込む機能を備えている。ただし、画像処理装置３では、デジタルシグナルプロセッサ５０が実行するＤＳＰ画像処理、外部拡張処理装置６００が実行する外部画像処理、および外部拡張処理装置８００が実行する外部画像処理の内、いずれか２つの拡張画像処理を、画像処理部７０における画像処理を拡張する画像処理としてパイプライン処理に組み込むことができる。なお、画像処理装置３においても、第２の実施形態の画像処理装置２に備えた画像処理部４０と同様に、画像処理部７０におけるパイプラインの構成が、例えば、不図示のシステム制御部によって変更（設定）される。
【０２４６】
図１１には、画像処理モジュール２３−１と画像処理モジュール２３−２との間に入出力用モジュール４４−１を組み込むことによって、外部拡張処理装置８００が実行する外部画像処理がパイプラインに組み込まれ、画像処理モジュール２３−２と画像処理モジュール２３−３との間に入出力用モジュール４４−２を組み込むことによって、外部拡張処理装置６００が実行する外部画像処理がパイプラインに組み込まれる構成を示している。つまり、図１１に示した画像処理部７０では、画像処理モジュール２３−１による画像処理、外部拡張処理装置８００による画像処理、画像処理モジュール２３−２による画像処理、外部拡張処理装置６００による画像処理、および画像処理モジュール２３−３による画像処理を順次行うパイプラインを構成している状態を示している。
【０２４７】
なお、画像処理装置３においても、第２の実施形態の画像処理装置２に備えた画像処理部４０と同様に、入出力用モジュール４４をパイプラインに組み込む位置は、例えば、不図示のシステム制御部によって設定される。従って、画像処理装置３においても、第２の実施形態の画像処理装置２に備えた画像処理部４０と同様に、入出力用モジュール４４をパイプラインに組み込む位置は、図１１に示した位置に限定されるものではなく、パイプライン内のいかなる位置にも組み込むことができる。
【０２４８】
入出力用モジュール４４−１および入出力用モジュール４４−２のそれぞれは、第２の実施形態の画像処理装置２に備えた画像処理部４０の入出力用モジュール４４と同様である。ただし、画像処理装置３では、パイプラインの２カ所に画像処理部７０の外部に備えた構成要素によって実行される拡張画像処理を組み込むため、それぞれの入出力用モジュール４４が出力する外部出力データに含まれる出力先情報は、異なる構成要素を示している。このため、それぞれの入出力用モジュール４４が出力した外部出力データは、セレクタ部８０によって、出力先情報に対応する構成要素、つまり、デジタルシグナルプロセッサ５０、外部拡張処理装置６００、または外部拡張処理装置８００のいずれかに出力される。また、それぞれの入出力用モジュール４４に入力される外部入力データは、外部出力データに含まれる出力先情報に対応する構成要素から、セレクタ部８０を介して入力される。
【０２４９】
セレクタ部８０は、第２の実施形態の画像処理装置２に備えたセレクタ部６０と同様に、入出力用モジュール４４のそれぞれが出力した外部出力データに含まれる出力先情報に基づいて、拡張画像処理に用いる画素データを伝送する構成要素を選択して出力する。そして、セレクタ部８０は、選択した構成要素から伝送された外部入力データ（拡張処理画素データ）を、対応する入出力用モジュール４４のいずれかに出力する。
【０２５０】
このような構成によって撮像装置３００では、画像処理装置３に備えた画像処理部７０内の画像処理モジュール２３のそれぞれが実行するパイプライン処理による一連の画像処理に、デジタルシグナルプロセッサ５０が実行するＤＳＰ画像処理、外部拡張処理装置６００が実行する外部画像処理、および外部拡張処理装置８００が実行する外部画像処理の内、いずれか２つの拡張画像処理を組み込む。これにより、撮像装置３００では、画像処理装置３のみでは実行することができない２つの画像処理を、デジタルシグナルプロセッサ５０、外部拡張処理装置６００、または外部拡張処理装置８００によって、画像処理部７０がパイプライン処理を行っているのと同様に実行し、画像処理部７０のパイプライン処理による一連の画像処理を拡張することができる。
【０２５１】
次に、２つの入出力用モジュール４４によって画像処理部７０の外部に備えたいずれかの構成要素による拡張画像処理を組み込んだパイプライン処理におけるデータの流れについて説明する。図１２は、本発明の第３の実施形態における画像処理装置３内の画像処理部７０に備えた入出力用モジュール４４を含んだ画素データの流れを模式的に示した図である。図１２には、画像処理部７０において構成されたパイプライン処理の中に、外部拡張処理装置８００による外部画像処理と、外部拡張処理装置６００による外部画像処理とを組み込んだときの画素データの流れを示している。より具体的には、図１１に示した撮像装置３００の構成において、画像処理装置３内の画像処理部７０に備えた画像処理モジュール２３−１と画像処理モジュール２３−２との間に入出力用モジュール４４−１を組み込むことによって、外部拡張処理装置８００による外部画像処理を、画像処理モジュール２３−２と画像処理モジュール２３−３との間に入出力用モジュール４４−２を組み込むことによって、外部拡張処理装置８００による外部画像処理を、パイプライン処理による一連の画像処理に組み込んだときの画素データの流れを示している。
【０２５２】
画像処理装置３に備えた画像処理部７０におけるパイプライン処理でも、第２の実施形態の画像処理装置２に備えた画像処理部４０におけるパイプライン処理と同様に、画像処理モジュール２３や、外部拡張処理装置８００、外部拡張処理装置６００のそれぞれが、入力された画素データに対する予め定めた異なる画像処理を同じ時期に並列に行うことによって、パイプライン処理がスムーズに行われるようにしている。しかし、図１２に示した画素データの流れの説明においても、説明を容易にするため、第２の実施形態の画像処理装置２における画素データの流れの説明と同様に、１つの処理単位の画素データに着目して、データの流れを説明する。図１２に示した画素データの流れでは、以下のような流れ（フロー）で処理が行われる。
【０２５３】
（フローＦ２１）：まず、入力ＤＭＡモジュール２２が、ＤＲＡＭ５００に記憶されているブロック画像データに含まれるそれぞれの画素データを、ＤＭＡバス１０を介したＤＭＡによってユニットラインごとに読み出し、読み出した画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−１に出力する。
【０２５４】
（フローＦ２２）：続いて、画像処理モジュール２３−１は、接続切り替え部２１を介して接続先の入力ＤＭＡモジュール２２から出力された画素データに対して予め定めた画像処理を施し、画像処理を施した後の処理画素データを、接続切り替え部２１を介して、次に画像処理を行う外部拡張処理装置８００に出力する。このとき、接続切り替え部２１は、画像処理モジュール２３−１から出力された処理画素データを、入出力用モジュール４４−１に出力する。
【０２５５】
（フローＦ２３）：続いて、入出力用モジュール４４−１は、接続切り替え部２１を介して接続先の画像処理モジュール２３−１から出力された処理画素データに外部拡張処理装置８００を示す出力先情報を付加する。そして、入出力用モジュール４４−１は、出力先情報を付加した処理画素データを、ＤＭＡバス１０を介さずに直接、セレクタ部８０に出力する。
【０２５６】
（フローＦ２４）：続いて、セレクタ部８０は、入出力用モジュール４４−１から入力された処理画素データに付加された出力先情報に基づいて、処理画素データの入出力先の構成要素として外部インターフェース部３０−１を選択する。そして、セレクタ部８０は、入出力用モジュール４４−１からＤＭＡバス１０を介さずに直接入力された処理画素データを、選択した外部インターフェース部３０−１に出力する。これにより、セレクタ部８０を介して入出力用モジュール４４−１から出力された処理画素データが、さらに外部インターフェース部３０−１を介して外部拡張処理装置８００に伝送される。
【０２５７】
（フローＦ２５）：続いて、外部拡張処理装置８００は、画像処理装置３に備えた外部インターフェース部３０−１を介して伝送された処理画素データを外部インターフェース部８３０によって受け取り、ＤＭＡバス８１０を介して拡張処理モジュール８２０に出力する。そして、拡張処理モジュール８２０は、ＤＭＡバス８１０を介して外部インターフェース部８３０から出力された処理画素データに対して予め定めた外部画像処理を施し、外部画像処理を施した後の処理画素データ（外部処理画素データ）を、ＤＭＡバス８１０を介して外部インターフェース部８３０に出力する。
【０２５８】
（フローＦ２６）：続いて、外部インターフェース部８３０は、ＤＭＡバス８１０を介して拡張処理モジュール８２０から出力された外部処理画素データを、画像処理装置３に伝送する。そして、画像処理装置３は、外部拡張処理装置８００に備えた外部インターフェース部８３０を介して伝送された外部処理画素データを外部インターフェース部３０−１によって受け取り、外部インターフェース部３０−１は、受け取った外部処理画素データを、セレクタ部８０に出力する。
【０２５９】
（フローＦ２７）：続いて、セレクタ部８０は、外部インターフェース部３０−１から出力された外部処理画素データを、ＤＭＡバス１０を介さずに直接、入出力用モジュール４４−１に出力する。
【０２６０】
（フローＦ２８）：続いて、入出力用モジュール４４−１は、セレクタ部８０からＤＭＡバス１０を介さずに直接出力された外部処理画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−２に出力する。
【０２６１】
（フローＦ２９）：続いて、画像処理モジュール２３−２は、接続切り替え部２１を介して接続先の入出力用モジュール４４−１から出力された外部処理画素データに対して予め定めた画像処理を施し、画像処理をさらに施した後の外部処理画素データ（処理画素データ）を、接続切り替え部２１を介して、次に画像処理を行う外部拡張処理装置６００に出力する。このとき、接続切り替え部２１は、画像処理モジュール２３−２から出力された処理画素データを、入出力用モジュール４４−２に出力する。
【０２６２】
（フローＦ３０）：続いて、入出力用モジュール４４−２は、接続切り替え部２１を介して接続先の画像処理モジュール２３−２から出力された処理画素データに外部拡張処理装置６００を示す出力先情報を付加する。そして、入出力用モジュール４４−２は、出力先情報を付加した処理画素データを、ＤＭＡバス１０を介さずに直接、セレクタ部８０に出力する。
【０２６３】
（フローＦ３１）：続いて、セレクタ部８０は、入出力用モジュール４４−２から入力された処理画素データに付加された出力先情報に基づいて、処理画素データの入出力先の構成要素として外部インターフェース部３０−２を選択する。そして、セレクタ部８０は、入出力用モジュール４４−２からＤＭＡバス１０を介さずに直接入力された処理画素データを、選択した外部インターフェース部３０−２に出力する。これにより、セレクタ部８０を介して入出力用モジュール４４−２から出力された処理画素データが、さらに外部インターフェース部３０−２を介して外部拡張処理装置６００に伝送される。
【０２６４】
（フローＦ３２）：続いて、外部拡張処理装置６００は、画像処理装置３に備えた外部インターフェース部３０−２を介して伝送された処理画素データを外部インターフェース部６３０によって受け取り、ＤＭＡバス６１０を介して拡張処理モジュール６２０に出力する。そして、拡張処理モジュール６２０は、ＤＭＡバス６１０を介して外部インターフェース部６３０から出力された処理画素データに対して予め定めた外部画像処理を施し、外部画像処理を施した後の処理画素データ（外部処理画素データ）を、ＤＭＡバス６１０を介して外部インターフェース部６３０に出力する。
【０２６５】
（フローＦ３３）：続いて、外部インターフェース部６３０は、ＤＭＡバス６１０を介して拡張処理モジュール６２０から出力された外部処理画素データを、画像処理装置３に伝送する。そして、画像処理装置３は、外部拡張処理装置６００に備えた外部インターフェース部６３０を介して伝送された外部処理画素データを外部インターフェース部３０−２によって受け取り、外部インターフェース部３０−２は、受け取った外部処理画素データを、セレクタ部８０に出力する。
【０２６６】
（フローＦ３４）：続いて、セレクタ部８０は、外部インターフェース部３０−２から出力された外部処理画素データを、ＤＭＡバス１０を介さずに直接、入出力用モジュール４４−２に出力する。
【０２６７】
（フローＦ３５）：続いて、入出力用モジュール４４−２は、セレクタ部８０からＤＭＡバス１０を介さずに直接出力された外部処理画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−３に出力する。
【０２６８】
（フローＦ３６）：続いて、画像処理モジュール２３−３は、接続切り替え部２１を介して接続先の入出力用モジュール４４−２から出力された外部処理画素データに対して予め定めた画像処理を施し、画像処理をさらに施した後の外部処理画素データ（処理画素データ）を、接続切り替え部２１を介して、出力ＤＭＡモジュール２５に出力する。
【０２６９】
（フローＦ３７）：続いて、出力ＤＭＡモジュール２５は、接続切り替え部２１を介して接続先の画像処理モジュール２３−３から出力された処理画素データを、ＤＭＡバス１０を介したＤＭＡによってＤＲＡＭ５００に書き込む（記憶する）。
【０２７０】
このようにして、画像処理装置３では、画像処理部７０に構成されたパイプライン処理の中に、外部拡張処理装置８００による外部画像処理と、外部拡張処理装置６００による外部画像処理とを組み込んだ一連の画像処理を実行する。
【０２７１】
上述したように、第３の実施形態の画像処理装置３では、パイプライン処理を行う画像処理部７０内にセレクタ部８０がＤＭＡバス１０を介さずに直接接続される２つの入出力用モジュール４４を備える。このとき、第３の実施形態の画像処理装置３では、それぞれの入出力用モジュール４４が、セレクタ部８０が画素データを伝送する構成要素を選択するための出力先情報を画素データに付加して出力する。これにより、第３の実施形態の画像処理装置３では、セレクタ部８０が、画素データに付加された出力先情報に基づいて、それぞれの入出力用モジュール４４に対応する画素データの入出力先の構成要素をそれぞれ選択して、それぞれの入出力用モジュール４４の位置におけるパイプライン処理の途中の処理画素データを、出力先情報に示された画像処理部７０の外部に備えたそれぞれの構成要素に伝送することができる。そして、第３の実施形態の画像処理装置３では、それぞれの入出力用モジュール４４の位置において、画像処理部７０の外部に備えた構成要素が画像処理を施した拡張処理画素データ（外部処理画素データまたはＤＳＰ処理画素データ）に対して、それぞれの入出力用モジュール４４の位置における続きのパイプライン処理の画像処理を行うことができる。このことにより、第３の実施形態の画像処理装置３でも、第２の実施形態の画像処理装置２と同様に、すでに構成されたパイプライン処理による画像処理の中に、拡張性を持たせるために画像処理部７０の外部に備えた複数の構成要素による複数の画像処理を組み込むことができる。
【０２７２】
しかも、第３の実施形態の画像処理装置３でも、第２の実施形態の画像処理装置２と同様に、拡張する画像処理に用いる画素データを、ＤＲＡＭ５００などの記憶部を用いずに、画像処理部７０の外部に備えた複数の構成要素との間で伝送することができる。このため、第３の実施形態の画像処理装置３でも、第２の実施形態の画像処理装置２と同様に、すでに構成されたパイプライン処理が分断されることなく、拡張する複数の画像処理を組み込んだ状態で、一連の画像処理を行うことができる。このことにより、第３の実施形態の画像処理装置３でも、第２の実施形態の画像処理装置２と同様に、ＤＲＡＭのバス帯域の圧迫や、画像処理装置３の消費電力の増大などが起こらず、第３の実施形態の画像処理装置３を搭載した撮像装置３００の性能を低下させることなく、画像処理を拡張することができる。
【０２７３】
なお、第３の実施形態の画像処理装置３では、画像処理装置３内の画像処理部７０に備えた画像処理モジュール２３−１と画像処理モジュール２３−２との間、および画像処理モジュール２３−２と画像処理モジュール２３−３との間のそれぞれの位置に、外部拡張処理装置８００または外部拡張処理装置６００による外部画像処理を組み込む構成について説明した。しかし、上述したように、第３の実施形態の画像処理装置３でも、セレクタ部８０によって画素データの入出力先の構成要素を選択することができるため、画像処理部７０におけるパイプライン内のいかなる位置にも、デジタルシグナルプロセッサ５０によるＤＳＰ画像処理を組み込む構成を実現することができる。
【０２７４】
また、第３の実施形態の画像処理装置３では、画像処理装置３内の画像処理部７０に備えた画像処理モジュール２３−１と画像処理モジュール２３−２との間に入出力用モジュール４４−１を組み込み、画像処理モジュール２３−２と画像処理モジュール２３−３との間に入出力用モジュール４４−２を組み込む構成について説明した。しかし、上述したように、第３の実施形態の画像処理装置３でも、接続切り替え部２１によって、画像処理部７０が行う画像処理の順番や、パイプラインに組み込む入出力用モジュール４４の位置を変更することができる。このため、入出力用モジュール４４−１と入出力用モジュール４４−２とを連続してパイプラインに組み込む構成にすることもできる。例えば、画像処理モジュール２３−１と画像処理モジュール２３−２との間に、外部拡張処理装置８００による外部画像処理と外部拡張処理装置６００による外部画像処理とを連続して組み込む構成にすることもできる。
【０２７５】
なお、第３の実施形態の画像処理装置３でも、接続切り替え部２１によって、画像処理部７０が行う画像処理の順番や、パイプラインに組み込む拡張画像処理の位置の変更に対する考え方は、第２の実施形態の画像処理装置２と同様である。
【０２７６】
なお、第３の実施形態の画像処理装置３では、外部インターフェース部３０−１が外部拡張処理装置８００に処理画素データを伝送し、外部インターフェース部３０−２が外部拡張処理装置６００に処理画素データを伝送する構成を示した。つまり、外部インターフェース部３０は、画像処理装置３の外部に備えた１つの構成要素に対応する構成である場合について説明した。しかし、外部インターフェース部３０が対応する外部の構成要素は、１つの構成要素に限定されるものではなく、外部の複数の構成要素に対応する構成であってもよい。例えば、外部インターフェース部３０は、複数のチャンネルに対応したＰＣＩ−Ｅｘｐｒｅｓｓ仕様の接続部であってもよい。この場合、外部インターフェース部３０は、入力された処理画素データに付加された出力先情報に基づいて、その処理画素データに対して画像処理を実行する外部の構成要素を選択し、選択した構成要素に処理画素データを伝送する構成にしてもよい。
【０２７７】
なお、第１の実施形態の画像処理装置１では、画像処理装置１に備えた画像処理部２０における一連のパイプライン処理に、画像処理装置１の外部に接続された外部拡張処理装置６００による外部画像処理を組み込む構成について説明した。また、第２の実施形態の画像処理装置２では、画像処理装置２に備えた画像処理部４０における一連のパイプライン処理に、画像処理部４０の外部に接続されたデジタルシグナルプロセッサ５０によるＤＳＰ画像処理を組み込む構成について説明した。さらに、第３の実施形態の画像処理装置３では、画像処理装置３に備えた画像処理部７０における一連のパイプライン処理に、画像処理装置３の外部に接続された外部拡張処理装置８００による外部画像処理と、外部拡張処理装置６００による外部画像処理とを組み込む構成について説明した。つまり、第１の実施形態〜第３の実施形態では、画像処理部においてパイプライン処理の途中まで実行した処理画素データを画像処理部の外部に一旦伝送し、画像処理部の外部で画像処理を施した処理画素データ（拡張処理画素データ）が伝送された後に、画像処理部においてパイプライン処理の続きの画像処理を行う構成について説明した。
【０２７８】
しかし、画像処理装置を搭載した、例えば、撮像装置の構成によっては、画像処理装置に備えた画像処理部において、途中からパイプライン処理を実行する構成も考えられる。より具体的には、例えば、撮像装置に搭載した固体撮像素子が出力する画素データの構造が、画像処理部に構成されたパイプライン処理に入力する画素データの構造と異なる場合などが考えられる。この場合、撮像装置では、構造が異なる画素データを出力する固体撮像素子に対応した外部の撮像処理装置を搭載し、画像処理装置に備えた画像処理部に構成されたパイプライン処理における前段の画像処理と異なる方法の画像処理を外部の撮像処理装置が実行し、その後、外部の撮像処理装置による画像処理に引き続き、画像処理装置に備えた画像処理部に構成されたパイプライン処理における後段の画像処理を行うことが考えられる。
【０２７９】
また、画像処理装置を搭載した、例えば、撮像装置の構成によっては、画像処理装置に備えた画像処理部において、パイプライン処理を途中まで実行する構成も考えられる。より具体的には、例えば、撮像装置に搭載した表示部に入力する画素データの構造が、画像処理部に構成されたパイプライン処理から出力する画素データの構造と異なる場合などが考えられる。この場合、撮像装置では、構造が異なる画素データを入力する表示部に対応した外部の表示処理装置を搭載し、画像処理部に構成されたパイプライン処理における前段の画像処理を画像処理装置が実行し、その後、画像処理装置による前段の画像処理に引き続き、外部の表示処理装置が、画像処理部に構成されたパイプライン処理における後段の画像処理と異なる方法の画像処理を行って表示部に出力することが考えられる。
【０２８０】
つまり、画像処理装置では、画像処理部においてパイプライン処理を実行した処理画素データを画像処理部の外部に伝送（出力）するのみ、または、画像処理装置（または画像処理部）の外部の構成要素において拡張画像処理が施された拡張処理画素データが伝送（入力）されるのみである構成も考えられる。この場合、画像処理部に備えた入出力用モジュールにおいて、画像処理部の外部への処理画素データの伝送（出力）に関連する構成要素、または画像処理部の外部からの拡張処理画素データの伝送（入力）に関連する構成要素のいずれか一方を動作させることによって、外部の構成要素への処理画素データの伝送（出力）のみ、または外部の構成要素からの拡張処理画素データの伝送（入力）のみを行う構成を実現することができる。
【０２８１】
（第１の応用例）
次に、本発明の第１の応用例について説明する。第１の応用例は、画像処理部に備えた入出力用モジュールにおいて、画像処理部の外部からの拡張処理画素データの伝送（入力）に関連する構成要素のみを動作させることによって、外部の構成要素からの拡張処理画素データの伝送（入力）のみを実現する構成の一例である。なお、以下の説明においては、本発明の第１の実施形態の画像処理装置１が、例えば、静止画用カメラなどの撮像装置（以下、「撮像装置４００」という）に搭載されている場合について説明する。なお、第２の実施形態の画像処理装置２および第３の実施形態の画像処理装置３においても、同様に考えることができる。
【０２８２】
図１３は、本発明の第１の実施形態の画像処理装置１を搭載した第１の応用例の概略構成を示したブロック図である。なお、図１３には、第１の応用例の構成の撮像装置４００において、画像処理装置１に関連する構成要素として、ＤＲＡＭ５００と、ＤＭＡバス１０１０、撮像処理部１０２０、および外部インターフェース（Ｉ／Ｆ）部１０３０を備えた外部拡張処理装置１０００と、イメージセンサ１１００と、ＤＲＡＭ２０００とを併せて示している。なお、図１３においては、図１に示した撮像装置１００と同様に、撮像装置４００に備えたそれぞれの構成要素や画像処理装置１においてＤＭＡバス１０に接続される他の構成要素の図示を省略している。
【０２８３】
イメージセンサ１１００は、撮像装置４００に備えたレンズによって結像された被写体の光学像を光電変換した画素信号を出力する固体撮像素子である。また、外部拡張処理装置１０００は、イメージセンサ１１００の制御や、イメージセンサ１１００から入力された画素信号に対して予め定めた撮像処理を施し、さらに予め定めたデジタル的な外部画像処理を施したデジタル信号の画素データを出力する撮像処理装置（システムＬＳＩ）である。また、ＤＲＡＭ２０００は、外部拡張処理装置１０００において処理される様々なデータを記憶するデータ記憶部である。なお、ＤＲＡＭ２０００は、図１に示した撮像装置１００において外部拡張処理装置６００に接続されたＤＲＡＭ７００と同様のデータ記憶部であってもよい。つまり、ＤＲＡＭ２０００は、外部拡張処理装置１０００に接続されていること以外は、ＤＲＡＭ７００と同様であってもよい。
【０２８４】
図１３に示した画像処理装置１では、外部拡張処理装置１０００が外部画像処理を施した後の処理画素データ（外部処理画素データ）に対して、続きの画像処理を行う。より具体的には、図１３に示した画像処理装置１では、画像処理部２０において、外部拡張処理装置１０００から出力された外部処理画素データに対して、画像処理モジュール２３−２以降の予め定められた種々の画像処理をパイプライン処理し、処理画素データをＤＲＡＭ５００に書き込む（記憶する）。このため、画像処理部２０では、入出力用モジュール２４を、画像処理モジュール２３−２の前段に接続している。つまり、画像処理部２０では、接続切り替え部２１が、入出力用モジュール２４の出力端子と画像処理モジュール２３−２の入力端子とを接続するように、それぞれの構成要素の接続を切り替えている。そして、画像処理部２０では、外部拡張処理装置１０００からの外部処理画素データの伝送（入力）に関連する構成要素、つまり、入出力用モジュール２４に備えた外部入力制御部２４４、入力バッファ部２４５、および画像処理モジュール出力制御部２４６のみを動作させる。これにより、図１３に示した画像処理装置１では、外部拡張処理装置１０００から出力された外部処理画素データに対して、引き続き、画像処理モジュール２３−２による画像処理、および画像処理モジュール２３−３による画像処理を順次行うパイプライン処理を行って、処理画素データをＤＲＡＭ５００に書き込む（記憶する）。
【０２８５】
次に、外部拡張処理装置１０００から出力された外部処理画素データに対して続きの画像処理を行うパイプライン処理におけるデータの流れについて説明する。図１４は、本発明の第１の応用例における画像処理装置１内の画像処理部２０に備えた入出力用モジュール２４を含んだ画素データの流れを模式的に示した図である。図１４には、外部拡張処理装置１０００による外部画像処理に引き続き、画像処理部２０において構成されたパイプライン処理を途中から行うときの画素データの流れを示している。より具体的には、図１３に示した撮像装置４００の構成において、画像処理装置１内の画像処理部２０に備えた画像処理モジュール２３−２の前段に入出力用モジュール２４を組み込むことによって、外部拡張処理装置１０００による外部画像処理の続きのパイプライン処理を行うときの画素データの流れを示している。
【０２８６】
図１３に示した画像処理装置１に備えた画像処理部２０におけるパイプライン処理でも、外部拡張処理装置１０００や、画像処理モジュール２３のそれぞれが、入力された画素信号や画素データに対する予め定めた異なる画像処理を同じ時期に並列に行うことによって、パイプライン処理がスムーズに行われるようにしている。しかし、図１４に示した画素データの流れの説明においても、説明を容易にするため、図６に示した画像処理装置１における画素データの流れの説明と同様に、１つの処理単位の画素データに着目して、データの流れを説明する。図１４に示した画素データの流れでは、以下のような流れ（フロー）で処理が行われる。
【０２８７】
（フローＦ４１）：まず、外部拡張処理装置１０００は、イメージセンサ１１００から入力された画素信号に対して撮像処理部１０２０が予め定めた撮像処理および外部画像処理を施し、外部画像処理を施した後の外部処理画素データを、ＤＭＡバス１０１０を介してＤＲＡＭ２０００に一旦書き込む（記憶する）。その後、外部拡張処理装置１０００は、ＤＲＡＭ２０００に記憶された外部処理画素データを読み出して、ＤＭＡバス１０１０を介して外部インターフェース部１０３０に出力する。
【０２８８】
（フローＦ４２）：続いて、外部インターフェース部１０３０は、ＤＭＡバス１０１０を介してＤＲＡＭ２０００から出力された（読み出された）外部処理画素データを、画像処理装置１に伝送する。そして、画像処理装置１は、外部拡張処理装置１０００に備えた外部インターフェース部１０３０を介して伝送された外部処理画素データを外部インターフェース部３０によって受け取り、外部インターフェース部３０は、受け取った外部処理画素データを、ＤＭＡバス１０を介さずに直接、入出力用モジュール２４に出力する。
【０２８９】
（フローＦ４３）：続いて、入出力用モジュール２４は、外部インターフェース部３０を介して、外部拡張処理装置１０００から伝送された外部処理画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−２に出力する。
【０２９０】
（フローＦ４４）：続いて、画像処理モジュール２３−２は、接続切り替え部２１を介して接続先の入出力用モジュール２４から出力された外部処理画素データに対して予め定めた画像処理を施し、画像処理を施した後の外部処理画素データ（処理画素データ）を、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−３に出力する。
【０２９１】
（フローＦ４５）：続いて、画像処理モジュール２３−３は、接続切り替え部２１を介して接続先の画像処理モジュール２３−２から出力された処理画素データに対して予め定めた画像処理を施し、画像処理をさらに施した後の処理画素データを、接続切り替え部２１を介して、出力ＤＭＡモジュール２５に出力する。
【０２９２】
（フローＦ４６）：続いて、出力ＤＭＡモジュール２５は、接続切り替え部２１を介して接続先の画像処理モジュール２３−３から出力された処理画素データを、ＤＭＡバス１０を介したＤＭＡによってＤＲＡＭ５００に書き込む（記憶する）。
【０２９３】
このようにして、画像処理装置１では、外部拡張処理装置１０００が外部画像処理を施した後の処理画素データ（外部処理画素データ）に対して、画像処理部２０に構成されたパイプライン処理の途中から続きの画像処理を行うこともできる。つまり、画像処理装置１では、入出力用モジュール２４を、外部拡張処理装置１０００からの外部処理画素データの伝送（入力）のみに用いることもできる。言い換えれば、画像処理装置１では、あたかもＤＲＡＭ５００に記憶されているブロック画像データに含まれるそれぞれの画素データに対するパイプライン処理を行っているかのように、画像処理部２０に構成されたパイプライン処理を途中から行うことができる。
【０２９４】
（第２の応用例）
次に、本発明の第２の応用例について説明する。第２の応用例は、画像処理部に備えた入出力用モジュールにおいて、画像処理部の外部への処理画素データの伝送（出力）に関連する構成要素のみを動作させることによって、外部の構成要素への処理画素データの伝送（出力）のみを実現する構成の一例である。なお、以下の説明においては、本発明の第１の実施形態の画像処理装置１が、例えば、静止画用カメラなどの撮像装置（以下、「撮像装置４５０」という）に搭載されている場合について説明する。なお、第２の実施形態の画像処理装置２および第３の実施形態の画像処理装置３においても、同様に考えることができる。
【０２９５】
図１５は、本発明の第１の実施形態の画像処理装置１を搭載した第２の応用例の概略構成を示したブロック図である。なお、図１５には、第２の応用例の構成の撮像装置４５０において、画像処理装置１に関連する構成要素として、ＤＲＡＭ５００と、ＤＭＡバス３０１０、表示処理部３０２０、および外部インターフェース（Ｉ／Ｆ）部３０３０を備えた外部拡張処理装置３０００と、表示デバイス３１００と、ＤＲＡＭ４０００とを併せて示している。なお、図１５においては、図１に示した撮像装置１００および図１３に示した撮像装置４００と同様に、撮像装置４５０に備えたそれぞれの構成要素や画像処理装置１においてＤＭＡバス１０に接続される他の構成要素の図示を省略している。
【０２９６】
表示デバイス３１００は、外部拡張処理装置３０００によって処理された撮像装置４５０における画像のデータを表示させる、例えば、液晶ディスプレイ（ＬＣＤ：Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）などの表示装置である。また、外部拡張処理装置３０００は、画像処理装置１から入力された画素データに対して、表示デバイス３１００に表示させるための予め定めた表示処理を施した画像のデータを出力する表示処理装置（システムＬＳＩ）である。また、ＤＲＡＭ４０００は、外部拡張処理装置３０００において処理される様々なデータを記憶するデータ記憶部である。なお、ＤＲＡＭ４０００は、図１に示した撮像装置１００において外部拡張処理装置６００に接続されたＤＲＡＭ７００や、図１３に示した撮像装置４００において外部拡張処理装置１０００に接続されたＤＲＡＭ２０００と同様のデータ記憶部であってもよい。つまり、ＤＲＡＭ４０００は、外部拡張処理装置３０００に接続されていること以外は、ＤＲＡＭ７００やＤＲＡＭ２０００と同様であってもよい。
【０２９７】
図１５に示した画像処理装置１では、画像処理部２０における画像処理のパイプライン処理を途中まで施した処理画素データを、外部拡張処理装置３０００に出力する。より具体的には、図１５に示した画像処理装置１では、画像処理部２０において、ＤＲＡＭ５００から読み出した画素データに対して画像処理モジュール２３−２以前の予め定められた種々の画像処理をパイプライン処理した処理画素データを外部拡張処理装置３０００に出力する。このため、画像処理部２０では、入出力用モジュール２４を、画像処理モジュール２３−２の後段に接続している。つまり、画像処理部２０では、接続切り替え部２１が、画像処理モジュール２３−２の出力端子と入出力用モジュール２４の入力端子とを接続するように、それぞれの構成要素の接続を切り替えている。そして、画像処理部２０では、外部拡張処理装置３０００への処理画素データの伝送（出力）に関連する構成要素、つまり、入出力用モジュール２４に備えた画像処理モジュール入力制御部２４１、出力バッファ部２４２、および外部出力制御部２４３のみを動作させる。これにより、図１５に示した画像処理装置１では、ＤＲＡＭ５００から読み出した画素データに対して、画像処理モジュール２３−１による画像処理、および画像処理モジュール２３−２による画像処理を順次行うパイプライン処理を行った処理画素データを外部拡張処理装置３０００に出力する。
【０２９８】
次に、画像処理部２０が画像処理のパイプライン処理を途中まで施した処理画素データを外部拡張処理装置３０００に出力する際のパイプライン処理におけるデータの流れについて説明する。図１６は、本発明の第２の応用例における画像処理装置１内の画像処理部２０に備えた入出力用モジュール２４を含んだ画素データの流れを模式的に示した図である。図１６には、画像処理部２０において構成されたパイプライン処理を途中まで行って外部拡張処理装置３０００に出力するときの画素データの流れを示している。より具体的には、図１５に示した撮像装置４５０の構成において、画像処理装置１内の画像処理部２０に備えた画像処理モジュール２３−２の後段に入出力用モジュール２４を組み込むことによって、画像処理モジュール２３−２までのパイプライン処理を行って外部拡張処理装置３０００に出力するときの画素データの流れを示している。
【０２９９】
図１５に示した画像処理装置１に備えた画像処理部２０におけるパイプライン処理でも、画像処理モジュール２３や、外部拡張処理装置３０００のそれぞれが、入力された画素データや処理画素データに対する予め定めた異なる画像処理を同じ時期に並列に行うことによって、パイプライン処理がスムーズに行われるようにしている。しかし、図１６に示した画素データの流れの説明においても、説明を容易にするため、図６に示した撮像装置１００に搭載した画像処理装置１における画素データの流れの説明、および図１４に示した撮像装置４００に搭載した画像処理装置１における画素データの流れの説明と同様に、１つの処理単位の画素データに着目して、データの流れを説明する。図１６に示した画素データの流れでは、以下のような流れ（フロー）で処理が行われる。
【０３００】
（フローＦ５１）：まず、入力ＤＭＡモジュール２２が、ＤＲＡＭ５００に記憶されているブロック画像データに含まれるそれぞれの画素データを、ＤＭＡバス１０を介したＤＭＡによってユニットラインごとに読み出し、読み出した画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−１に出力する。
【０３０１】
（フローＦ５２）：続いて、画像処理モジュール２３−１は、接続切り替え部２１を介して接続先の入力ＤＭＡモジュール２２から出力された画素データに対して予め定めた画像処理を施し、画像処理を施した後の処理画素データを、接続切り替え部２１を介して、次に画像処理を行う接続先の画像処理モジュール２３−２に出力する。
【０３０２】
（フローＦ５３）：続いて、画像処理モジュール２３−２は、接続切り替え部２１を介して接続先の画像処理モジュール２３−１から出力された処理画素データに対して予め定めた画像処理を施し、画像処理をさらに施した後の処理画素データを、接続切り替え部２１を介して、出力先の外部拡張処理装置３０００に出力する。このとき、接続切り替え部２１は、画像処理モジュール２３−２から出力された処理画素データを、入出力用モジュール２４に出力する。
【０３０３】
（フローＦ５４）：続いて、入出力用モジュール２４は、接続切り替え部２１を介して接続先の画像処理モジュール２３−２から出力された処理画素データを、ＤＭＡバス１０を介さずに直接、外部インターフェース部３０に出力し、外部インターフェース部３０を介して、外部拡張処理装置３０００に伝送する。
【０３０４】
（フローＦ５５）：続いて、外部拡張処理装置３０００は、画像処理装置１に備えた外部インターフェース部３０を介して伝送された処理画素データを外部インターフェース部３０３０によって受け取り、ＤＭＡバス３０１０を介してＤＲＡＭ４０００に一旦書き込む（記憶する）。その後、外部拡張処理装置３０００は、ＤＲＡＭ４０００に記憶された処理画素データを読み出して、ＤＭＡバス３０１０を介して表示処理部３０２０に出力し、表示処理部３０２０が読み出した処理画素データに対して予め定めた表示処理を施した画像のデータを施して表示デバイス３１００に出力する。これにより、表示デバイス３１００は、外部拡張処理装置３０００から出力された画像のデータに応じた画像を表示させる。
【０３０５】
このようにして、画像処理装置１では、画像処理部２０に構成されたパイプライン処理を途中まで行った処理画素データを、外部拡張処理装置３０００に出力することもできる。つまり、画像処理装置１では、入出力用モジュール２４を、処理画素データの外部拡張処理装置３０００への伝送（出力）のみに用いることもできる。言い換えれば、画像処理装置１では、パイプライン処理を行った処理画素データを、あたかもＤＲＡＭ５００に書き込む（記憶する）かのように、画像処理部２０に構成されたパイプライン処理を途中まで行うことができる。
【０３０６】
本第１の応用例および第２の応用例によれば、入力されたデータ（画素データ）に対して予め定めた処理を行う複数の処理モジュール（画像処理モジュール２３−１〜画像処理モジュール２３−３）を直列に接続してパイプラインを構成し、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれが処理を順次行うことによってパイプライン処理を行う画像処理部（画像処理部２０）がデータバス（ＤＭＡバス１０）に接続され、ＤＭＡバス１０に接続されたデータ記憶部（ＤＲＡＭ５００）からＤＭＡバス１０を介して読み出した画素データに対して画像処理を行う画像処理装置（画像処理装置１）であって、画像処理部２０は、画像処理モジュール２３−１〜画像処理モジュール２３−３のそれぞれが行う処理と異なる処理を行う処理モジュールとしてパイプライン内に組み込まれる入出力用モジュール（入出力用モジュール２４）、を備え、入出力用モジュール２４は、パイプラインにおいて組み込まれた位置の前段に位置する処理モジュールである第１の処理モジュール（例えば、画像処理モジュール２３−２）が処理を行った処理データ（入力データ，画素データ，処理画素データ）を、ＤＭＡバス１０を介さずに直接、画像処理部２０の外部の外部処理部（例えば、外部拡張処理装置３０００）に（外部出力データとして）出力するか、もしくは、画像処理部２０の外部の外部処理部（例えば、外部拡張処理装置１０００）から入力された外部処理データ（外部入力データ，外部処理画素データ）を、ＤＭＡバス１０を介さずに直接、パイプラインにおいて組み込まれた位置の後段に位置する処理モジュールである第２の処理モジュール（例えば、画像処理モジュール２３−２）に出力するか、もしくは、処理データ（入力データ，画素データ，処理画素データ）のＤＭＡバス１０を介さない画像処理部２０の外部の外部処理部（例えば、外部拡張処理装置６００）への（外部出力データとして）直接の出力、および外部拡張処理装置６００によって処理データ（入力データ，画素データ，処理画素データ）に対して外部処理（外部画像処理）が行われて入力された外部処理データ（外部入力データ，外部処理画素データ）のＤＭＡバス１０を介さない第２の処理モジュール（例えば、画像処理モジュール２３−３）への（出力データとして）直接の出力の両方を行う、画像処理装置（画像処理装置１）が構成される。
【０３０７】
上述したように、第１の応用例の画像処理装置１では、入出力用モジュール２４に備えた外部入力制御部２４４、入力バッファ部２４５、および画像処理モジュール出力制御部２４６のみを動作させることによって、外部拡張処理装置１０００が外部画像処理を施した後の処理画素データ（外部処理画素データ）に対して、画像処理部２０に構成されたパイプライン処理の途中から続きの画像処理を行うことができる。また、上述したように、第２の応用例の画像処理装置１では、入出力用モジュール２４に備えた画像処理モジュール入力制御部２４１、出力バッファ部２４２、および外部出力制御部２４３のみを動作させることによって、画像処理部２０に構成されたパイプライン処理を途中まで行った処理画素データを、外部拡張処理装置３０００に出力することができる。このことにより、第１の応用例の画像処理装置１および第２の応用例の画像処理装置１では、すでに構成されたパイプライン処理による画像処理の中に、画像処理装置１の開発時に想定されていなかった外部の構成要素（外部拡張処理装置１０００や外部拡張処理装置３０００）による画像処理を組み込むことができる。
【０３０８】
なお、第１の応用例の画像処理装置１では、外部拡張処理装置１０００に接続されたＤＲＡＭ２０００に一旦書き込んだ（記憶した）外部処理画素データを、画像処理装置１に伝送（入力）する構成について説明した。しかし、外部拡張処理装置１０００は、ＤＲＡＭ２０００を介さずに、外部処理画素データを伝送（入力）する構成であってもよい。つまり、外部拡張処理装置１０００は、撮像処理部１０２０が出力した外部処理画素データを、ＤＭＡバス１０１０および外部インターフェース部１０３０を介して、第１の応用例の画像処理装置１に伝送（入力）する構成であってもよい。また、第２の応用例の画像処理装置１では、画像処理装置１が伝送（出力）した処理画素データを、外部拡張処理装置３０００に接続されたＤＲＡＭ４０００に一旦書き込んだ（記憶した）後に表示処理を施す構成について説明した。しかし、外部拡張処理装置３０００は、ＤＲＡＭ４０００を介さずに、画像処理装置１が伝送（出力）した処理画素データを受け取る構成であってもよい。つまり、外部拡張処理装置３０００は、画像処理装置１が伝送（出力）した処理画素データを、外部インターフェース部３０３０およびＤＭＡバス３０１０を介して、表示処理部３０２０に出力する構成であってもよい。
【０３０９】
上記に述べたように、本発明の各実施形態によれば、画像処理装置に備えた画像処理部に、画像処理部の外部に備えた構成要素と、ＤＭＡバスを介さずに直接接続するための入出力用モジュールを備える。つまり、本発明の各実施形態では、画像処理部において実行する画像処理を拡張するため、画像処理部に備えたいずれの画像処理モジュールにおいても実行しない画像処理を行う画像処理装置と、ＤＭＡバスを介さずに直接接続するための入出力用モジュールを備える。また、本発明の各実施形態では、画像処理部に備えたそれぞれの処理モジュールの接続を切り替える、つまり、画像処理部に構成するパイプラインの接続を切り替えるための接続切り替え部を備える。そして、本発明の各実施形態では、画像処理装置において実行する画像処理を拡張する場合に、画像処理部に構成するパイプラインの中に、入出力用モジュールを画像処理モジュールとして組み込む。これにより、本発明の各実施形態では、画像処理部に備えたそれぞれの画像処理モジュールが実行するパイプライン処理による一連の画像処理に、画像処理部の外部に備えた構成要素が実行する画像処理を組み込むことができる。このことにより、本発明の各実施形態では、画像処理部に備えたそれぞれの画像処理モジュールがパイプライン処理を行っているのと同様に、画像処理部のパイプライン処理による一連の画像処理を拡張することができる。
【０３１０】
しかも、本発明の各実施形態では、画像処理装置に備えた入出力用モジュールは、画像処理部の外部に備えた構成要素に、ＤＭＡバスを介さずに直接、拡張する画像処理に用いる画素データを伝送する。このため、本発明の各実施形態では、画像処理部に備えたそれぞれの画像処理モジュールによってすでに構成されたパイプライン処理が分断されることなく、拡張する画像処理を組み込んだ状態で、一連の画像処理を行うことができる。このことにより、本発明の各実施形態では、ＤＭＡバスのバス帯域の圧迫や、画像処理装置の消費電力の増大などが起こらず、画像処理装置を搭載した撮像装置の性能を低下させることなく、画像処理を拡張することができる。例えば、第１の実施形態の画像処理装置１を搭載することによって、基本的な画像処理を行う撮像装置を実現し、画像処理装置１と外部拡張処理装置６００との両方を搭載することによって、高機能な画像処理を行う撮像装置を実現することができる。
【０３１１】
なお、本発明の各実施形態では、画像処理装置に備えた画像処理部内にパイプラインを構成するそれぞれの処理モジュールを備えた構成について説明した。しかし、パイプライン構成によって一連の処理を行う処理装置は、画像処理装置の他にも種々の処理装置が考えられる。また、パイプライン構成による一連の処理の拡張が求められるシステムも撮像装置の他にも種々のシステムが考えられる。従って、本発明の考え方を適用することができる処理装置やシステムは、本発明の各実施形態で示した画像処理装置や撮像装置に限定されるものではなく、複数の処理モジュールを直列に接続することによってパイプラインを構成してパイプライン処理を行う処理装置を搭載したシステムであれば、本発明の考え方を同様に適用することができ、本発明と同様の効果を得ることができる。
【０３１２】
以上、本発明の好ましい実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更が可能である。
また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。
【産業上の利用可能性】
【０３１３】
上記各実施形態によれば、パイプライン処理を行う構成の画像処理装置において、パイプラインによって行っている一連の画像処理の間に他の画像処理を挿入することができる。
【符号の説明】
【０３１４】
１，２，３  画像処理装置（画像処理装置）
１０  ＤＭＡバス（データバス）
２０  画像処理部（画像処理部）
２１  接続切り替え部（画像処理部）
２２  入力ＤＭＡモジュール（画像処理部）
２３−１，２３−２，２３−３  画像処理モジュール（画像処理部，処理モジュール）
２４  入出力用モジュール（画像処理部，入出力用モジュール）
２４１  画像処理モジュール入力制御部（画像処理部，入出力用モジュール，処理モジュール入力制御部）
２４１１  出力バッファ空き容量管理部（画像処理部，入出力用モジュール，処理モジュール入力制御部）
２４１２  出力バッファ書き込み管理部（画像処理部，入出力用モジュール，処理モジュール入力制御部）
２４２  出力バッファ部（画像処理部，入出力用モジュール，出力バッファ部）
２４２１  セレクタ（画像処理部，入出力用モジュール，出力バッファ部）
２４２２−１，２４２２−２  出力バッファ（画像処理部，入出力用モジュール，出力バッファ部）
２４２３  セレクタ（画像処理部，入出力用モジュール，出力バッファ部）
２４３  外部出力制御部（画像処理部，入出力用モジュール，外部出力制御部）
２４３１  出力バッファデータ量管理部（画像処理部，入出力用モジュール，外部出力制御部）
２４３２  出力バッファ読み出し管理部（画像処理部，入出力用モジュール，外部出力制御部）
２４４  外部入力制御部（画像処理部，入出力用モジュール，外部入力制御部）
２４４１  入力バッファ空き容量管理部（画像処理部，入出力用モジュール，外部入力制御部）
２４４２  入力バッファ書き込み管理部（画像処理部，入出力用モジュール，外部入力制御部）
２４５  入力バッファ部（画像処理部，入出力用モジュール，入力バッファ部）
２４５１  セレクタ（画像処理部，入出力用モジュール，入力バッファ部）
２４５２−１，２４５２−２  入力バッファ（画像処理部，入出力用モジュール，入力バッファ部）
２４５３  セレクタ（画像処理部，入出力用モジュール，入力バッファ部）
２４６  画像処理モジュール出力制御部（画像処理部，入出力用モジュール，処理モジュール出力制御部）
２４６１  入力バッファデータ量管理部（画像処理部，入出力用モジュール，処理モジュール出力制御部）
２４６２  入力バッファ読み出し管理部（画像処理部，入出力用モジュール，処理モジュール出力制御部）
２５  出力ＤＭＡモジュール（画像処理部）
３０，３０−１，３０−２  外部インターフェース部（外部処理部）
４０  画像処理部（画像処理部）
４４，４４−１，４４−２  入出力用モジュール（画像処理部，入出力用モジュール）
４４３  外部出力制御部（画像処理部，入出力用モジュール，外部出力制御部）
４４３２  出力バッファ読み出し管理部（画像処理部，入出力用モジュール，外部出力制御部）
５０  デジタルシグナルプロセッサ（外部処理部）
６０  セレクタ部（外部処理部）
７０  画像処理部（画像処理部）
８０  セレクタ部（外部処理部）
１００，２００，３００  撮像装置
５００  ＤＲＡＭ（データ記憶部）
６００，８００  外部拡張処理装置（外部処理部）
６１０，８１０  ＤＭＡバス（外部処理部）
６２０，８２０  拡張処理モジュール（外部処理部）
６３０，８３０  外部インターフェース部（外部処理部）
７００，９００  ＤＲＡＭ
ＯＢＷＣ  出力バッファライト制御信号
ＯＢＷＳ  出力バッファライト選択信号
ＯＢＷ  出力バッファライト信号
ＯＢＲＣ  出力バッファリード制御信号
ＯＢＲＳ  出力バッファリード選択信号
ＯＢＲ  出力バッファリード信号
ＩＢＷＣ  入力バッファライト制御信号
ＩＢＷＳ  入力バッファライト選択信号
ＩＢＷ  入力バッファライト信号
ＩＢＲＣ  入力バッファリード制御信号
ＩＢＲＳ  入力バッファリード選択信号
ＩＢＲ  入力バッファリード信号
４００  撮像装置
１０００  外部拡張処理装置（外部処理部）
１０１０  ＤＭＡバス（外部処理部）
１０２０  撮像処理部（外部処理部）
１０３０  外部インターフェース部（外部処理部）
１１００  イメージセンサ
２０００  ＤＲＡＭ
４５０  撮像装置
３０００  外部拡張処理装置（外部処理部）
３０１０  ＤＭＡバス（外部処理部）
３０２０  表示処理部（外部処理部）
３０３０  外部インターフェース部（外部処理部）
３１００  表示デバイス
４０００  ＤＲＡＭ
【図１】
2017149591.tif 000003
【図２】
2017149591.tif 000004
【図３】
2017149591.tif 000005
【図４】
2017149591.tif 000006
【図５】
2017149591.tif 000007
【図６】
2017149591.tif 000008
【図７】
2017149591.tif 000009
【図８】
2017149591.tif 000010
【図９】
2017149591.tif 000011
【図１０】
2017149591.tif 000012
【図１１】
2017149591.tif 000013
【図１２】
2017149591.tif 000014
【図１３】
2017149591.tif 000015
【図１４】
2017149591.tif 000016
【図１５】
2017149591.tif 000017
【図１６】
2017149591.tif 000018
【国際調査報告】
2017149591.tif 000019
2017149591.tif 000020
2017149591.tif 000021
2017149591.tif 000022