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