(57)【要約】【課題】ＣＰＵあるいは専用処理装置による処理とパイプラインステージ間のデータ受け渡し処理の同期を効率的に取ることのできる画像処理技術を提供する。【解決手段】主メモリ３に書き込まれた第１の画像を読み出して第１の処理を施して第２の画像として前記主メモリに書き込む第１の画像処理装置２０と、前記主メモリに書き込まれた第２の画像を読み出して第２の処理を施して第３の画像として前記主メモリに書き込む第２の画像処理装置４０と、前記主メモリに書き込まれる画像のアドレスを監視し、予め設定した第１の値になったとき前記第１の処理を開始し、予め設定した第２の値になったとき前記第２の処理を開始するアドレス監視装置１０を備えた。【選択図】図１
2008171198.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを含む複数の画像処理装置、および該画像処理装置が使用するメモリ上に配置された画像データに対するアクセス権を管理する管理テーブルを備え、前記アクセス権にしたがって、前記複数の処理装置が協調して一連の画像処理を行う画像処理システムにおいて、
管理テーブルに設定する画像データへのアクセス権の一種として１の処理装置からの書き込みと１以上の処理装置からの読み出しが可能なパイプライン処理モードを備え、画像データを格納するメモリにアクセス可能なバス上にアドレス監視装置を設け、該アドレス監視装置はバスを経由して行われるメモリへの書き込みアドレスを監視し、書き込みアドレスが管理テーブルにおいて予め設定した値になったか否かを判定する手段を持つことを特徴とする画像処理システム。
【請求項２】
請求項１記載の画像処理装置において、
アドレス監視装置はメモリへの書き込みアドレスがパイプライン処理モードに設定された画像データの領域に含まれると判定した場合にそのアドレスを記憶する手段および記憶されている書き込みアドレスを読み出す手段を備え、管理テーブルにおいてパイプライン処理モードの読み出し権を得ている処理装置が、記憶されている書き込みアドレスを読み出すことによって処理の進行状況を確認し、自らの処理を開始するか否かを判定することを特徴とする画像処理システム。
【請求項３】
請求項１記載の画像処理装置において、
アドレス監視装置は割り込み起動条件を記憶する手段、および割り込み起動条件が成立した場合に処理装置に対して割り込みを発生する手段を備え、パイプライン処理モードの読み出し権を得ている処理装置が、アドレス監視装置からの割り込みをきっかけとして自らの処理を開始することを特徴とする画像処理システム。
【請求項４】
請求項３記載の画像処理装置において、
割り込み起動条件は、メモリへの書き込みアドレスが予め処理装置によって設定された割り込み起動アドレスに一致した場合であることを特徴とする画像処理システム。
【請求項５】
請求項１記載の画像処理装置において、
アドレス監視装置は自動インクリメント値を保持する手段を備え、割り込みを起動した後、割り込み起動アドレスに自動インクリメント値を加算してアドレス監視を再開することを特徴とする画像処理システム。
【請求項６】
ＣＰＵを含む複数の画像処理装置、および該画像処理装置が使用するメモリ上に配置された画像データに対するアクセス権を管理する管理テーブルを備え、１以上の画像処理装置からの書き込みと１以上の処理装置からの読み出しを可能としたパイプライン処理モードを有する画像処理システムにおいて、
前記画像処理装置は、主メモリに書き込まれた第１の画像を読み出して第１の処理を施して第２の画像として前記主メモリに書き込む第１の画像処理装置、および前記主メモリに書き込まれた第２の画像を読み出して第２の処理を施して第３の画像として前記主メモリに書き込む第２の画像処理装置を備え、  
前記主メモリに書き込まれる画像のアドレスを監視し、予め設定した第１の値になったとき前記第１の処理を開始し、予め設定した第２の値になったとき前記第２の処理を開始することを特徴とする画像処理システム。
【請求項７】
主メモリに書き込まれた第１の画像を読み出して第１の処理を施して第２の画像として前記主メモリに書き込む第１の画像処理装置と、
前記主メモリに書き込まれた第２の画像を読み出して第２の処理を施して第３の画像として前記主メモリに書き込む第２の画像処理装置と、  
前記主メモリに書き込まれる画像のアドレスを監視し、予め設定した第１の値になったとき前記第１の処理を開始し、予め設定した第２の値になったとき前記第２の処理を開始するアドレス監視装置を備えたことを特徴とする画像処理システム。
【請求項８】
請求項６記載の画像処理システムにおいて、
前記アドレス監視装置は自動インクリメント値を保持する手段を備え、画像処理装置に対する割り込みを起動した後、割り込み起動アドレスに前記自動インクリメント値を加算してアドレス監視を再開することを特徴とする画像処理システム。
【請求項９】
請求項７記載の画像処理システムにおいて、
主メモリに書き込まれた画像を読み出す複数の画像処理装置を備え、該複数の画像処理装置は前記主メモリに書き込まれた一の画像を分担して処理することを特徴とする画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理技術に係り、特に、複数の処理装置を効率よく使用することのできる画像処理技術に関する。
【背景技術】
【０００２】
画像処理を高速化するため、複数の装置に処理を分散させることが従来より行われてきた。処理を分散させる方法として、処理を複数のステージに分割し、分割された各ステージの処理が終わる度に次のステージにデータを渡す、いわゆるパイプライン方式が知られている。この方式は、特許文献１あるいは特許文献２に開示されている。
【０００３】
パイプライン方式ではステージ間でのデータの受け渡しを効率よく行うための工夫がなされており、特許文献１では処理装置とラインメモリの接続を可変にすることにより、また、特許文献２では処理装置間にデュアルポートメモリを持たせることにより処理効率の向上を図っている。
【０００４】
なお、画像処理において一般にパイプライン処理という場合、一画面分のデータを処理し終えた段階で次のステージに処理を引き継ぐ方式も含まれるが、本発明においては、一画面分のデータを処理し終える前に次のステージに処理を引き継ぐことをパイプライン処理と呼ぶ。即ち、前者では一画面のデータには一度に１の装置しかアクセスしないが、後者（本発明）では、一画面のデータに一度に複数の装置がアクセスすることがある。
【特許文献１】特許第３３３５４８２号明細書
【特許文献２】特開２００６−１３３８３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に示すようにハードウェアでパイプラインを構成する場合、パイプラインの各ステージの実行サイクルは設計段階で分かる。このため、ステージ間のデータは、シフトレジスタを使ったラインメモリのような比較的単純なハードウェアで効率よく受け渡しができる。
【０００６】
一方、ＣＰＵのようにプログラムによって制御される装置を複数用いてパイプライン処理を実現する場合、各ステージでの実行サイクルは一定ではない。このため、ステージ間のデータ受け渡しに、ラインメモリのように固定サイクルでのアクセスを前提とするハードウェアを使用することは困難である。
【０００７】
そこで、特許文献２に示すように、デュアルポートメモリをＣＰＵ間に設けるなどの工夫がされている。しかし、前述のようにパイプライン処理にＣＰＵを使用する場合、データの受け渡しをデュアルポートメモリ経由あるいは主メモリ経由のいずれで行うにしても、各ステージでどこまで処理が進んでいるかを直接知る手段はない。このため、特許文献２では、ＣＰＵがプログラム処理によりデュアルポートメモリに処理済データのアドレスを書き込むことによってステージ間の同期を取っている。このため、処理が煩雑となる。
【０００８】
本発明は、このような問題点に鑑みてなされたもので、ＣＰＵあるいは専用処理装置による処理とパイプラインステージ間のデータ受け渡し処理の同期を効率的に取ることのできる画像処理技術を提供するものである。
【課題を解決するための手段】
【０００９】
本発明は上記課題を解決するため、次のような手段を採用した。
【００１０】
ＣＰＵを含む複数の画像処理装置、および該画像処理装置が使用するメモリ上に配置された画像データに対するアクセス権を管理する管理テーブルを備え、前記アクセス権にしたがって、前記複数の処理装置が協調して一連の画像処理を行う画像処理システムにおいて、管理テーブルに設定する画像データへのアクセス権の一種として１の処理装置からの書き込みと１以上の処理装置からの読み出しが可能なパイプライン処理モードを備え、画像データを格納するメモリにアクセス可能なバス上にアドレス監視装置を設け、該アドレス監視装置はバスを経由して行われるメモリへの書き込みアドレスを監視し、書き込みアドレスが管理テーブルにおいて予め設定した値になったか否かを判定する手段を備える。
【発明の効果】
【００１１】
本発明は、以上の構成を備えるため、ＣＰＵあるいは専用処理装置による処理とパイプラインステージ間のデータ受け渡し処理の同期を効率的に取ることのできる画像処理技術を提供することができる。
【発明を実施するための最良の形態】
【００１２】
［第１の実施形態］
以下、図１ないし図１２を参照して第１の実施形態を説明する。図１は、本実施形態にかかる画像処理装置の全体構成を説明する図である。図に示すように、画像処理装置１は、システムＬＳＩ２、主メモリ３、カメラ４、表示装置５を備える。システムＬＳｌ２は、アドレス監視装置１０、ＣＰＵ２０，３０、画像処理回路４０，５０、画像入力回路６０、画像出力回路７０、これらが接続されるシステムバス８０、および割り込み信号線９０を内蔵する。
【００１３】
ＣＰＵ２０および３０は汎用のプロセッサであり、マルチプロセッサを構成する。画像処理回路４０および５０は画像処理を専用に行う演算回路であり、ＣＰＵ２０あるいはＣＰＵ３０により制御される。主メモリ３はプログラムおよび画像等のデータを格納する。  画像入力回路６０はカメラ４から入力された画像データを主メモリ３に書き込む。画像出力回路７０は主メモリ上３にある描画データを読み出して表示装置５に表示する。アドレス監視装置１０はシステムバス８０を経由して主メモリ３に書き込まれるデータのアドレスを監視し、設定された条件に従って割り込み信号線９０を介してＣＰＵ２０あるいは３０、あるいは画像処理回路４０あるいは５０に割り込みを発生する。
【００１４】
図２はアドレス監視装置１０の内部構成を表すもので、アドレス監視装置１０は監視エントリ１１および１２、システムインタフェース回路１３、アドレスバッファ１４、アドレス加算器１５、割り込み分配回路１６を備える。監視エントリ１１は、モードレジスタ（ＭＯＤＥ）１１１、最終書き込みアドレスレジスタ（ＬＡＳＴ）１１２、トリガアドレスレジスタ（ＴＲＩＧ）１１３、領域最終アドレスレジスタ（ＥＮＤ）１１４、領域先頭アドレスレジスタ（ＳＴＡＲＴ）１１５、割り込みフラグレジスタ（ＩＮＴＦＬＧ）１１６、割り込み先設定レジスタ（ＤＥＳＴ）１１７、アドレス比較回路１１８、トリガオフセットレジスタ（ＴＯＦＳＴ）１１９、トリガオフセット加算器１１０を備える。監視エントリ１２も監視エントリ１１と同様の構成を持つ。
【００１５】
システムインタフェース回路１３にはシステムバス８０を構成するアドレス信号８１、データ信号８２および制御信号８３が接続され、アドレス監視装置１０の制御用に割り当てられたアドレスへのアクセスを受け付け、監視エントリ１１内の各レジスタへのリード／ライトを行う。また、システムバス８０に主メモリ３への書き込みが行われた場合、アドレス信号８１に接続されたアドレスバッファ１４にアドレスの取り込みを指示すると共に、最終書き込みアドレスを計算するために書き込み長（バイト数）をアドレス加算器１５に渡す。ＳＴＡＲＴ１１５、ＥＮＤ１１４、ＴＲＩＧ１１３の各レジスタは書き込みアドレスと比較するアドレスを保持する。ＬＡＳＴ１１２は領域内で最後に書き込まれたアドレスを保持する。ＭＯＤＥ１１１はトリガ成立時に割り込みを発生させるか否かおよび、トリガ成立条件が「トリガアドレス以上」か「トリガアドレス以下」か、トリガ条件成立後にトリガアドレスを自動インクリメントするか、を記憶する。ＩＮＴＦＬＧ１１６は割込み発生条件が成立した場合に割り込み発生中であることを保持する。ＤＥＳＴ１１７は割り込み先がどの処理装置であるかを保持する。ＴＯＦＳＴ１１９は自動インクリメントする領域サイズを保持し、自動インクリメント実行時にトリガオフセット加算器１１０はＴＲＩＧ１１３の値にＴＯＦＳＴ１１９の値を加え、新たなトリガアドレスとする。
【００１６】
図３は、アドレス比較回路１１８の内部構成を説明する図である。アドレス比較回路１１８は、セレクタ１１８１、アドレス比較器１１８２，１１８３，１１８４、領域ヒット判定回路１１８５、トリガヒット判定回路１１８６を備える。
【００１７】
アドレス比較器１１８４はアドレスバッファ１４から与えられる書き込みアドレスとＳＴＡＲＴ１１５から与えられる領域先頭アドレスを比較する。アドレス比較器１１８３はアドレス加算器１５から与えられる最終書き込みアドレスとＥＮＤ１１４から与えられる領域最終アドレスを比較する。アドレス比較器１１８２はアドレス加算器１５から与えられる最終書き込みアドレスとＴＲＩＧ１１３から与えられるトリガアドレスを比較する。
【００１８】
アドレス比較器１１８２の２つの入力は、モードレジスタＭＯＤＥｌｌｌから与えられるモード信号に従ってセレクタ１１８１によって交換され、比較条件を「最終書き込みアドレスがトリガアドレス以上」あるいは「最終書き込みアドレスがトリガアドレス以下」に切替える。
【００１９】
トリガヒット判定回路１１８６は、ＭＯＤＥｌｌｌからの割込み発生モード、アドレス比較器１１８２，１１８３，１１８４の全ての条件がそろった場合に割り込みフラグレジスタＩＮＴＦＬＧ１１６に条件成立を通知する。領域ヒット判定回路１１８５はアドレス比較器１１８３および１１８４の全ての条件がそろった場合に最終書き込みアドレスレジスタＬＡＳＴ１１２に条件成立を通知する。
【００２０】
図４は、割り込み分配回路１６の内部構成を説明する図である。割り込み分配回路１６は、セレクタ１６１および１６２を備える。セレクタ１６１は割り込みフラグレジスタＩＮＴＦＬＧ１１６から伝えられる割り込み状態を割り込み先設定レジスタＤＥＳＴ１１７から与えられる割り込み先に分配する。セレクタ１６２はＩＮＴＦＬＧ１２６から伝えられる割り込み状態をＤＥＳＴｌ２７から与えられる割り込み先に分配する。
【００２１】
ＩＮＴＦＬＧ１２６およびＤＥＳＴ１２７は監視エントリ１２内にあり、監視エントリ１１内にあるＩＮＴＦＬＧ１１６およびＤＥＳＴｌ１７と同様の機能を持つ。
【００２２】
ここまでは、ハードウェアで実現される構成要素について説明した。次に、これらのハードウェア要素が動作の前提とするデータ構造について図５，６，７を用いて説明する。
【００２３】
図５は、主メモリ３のメモリマップである。画像データは主記憶３内に記憶される画像管理テーブルを用い、ＣＰＵ２０あるいはＣＰＵ３０で実行される管理プログラムによって管理される。また、本実施形態において使用する処理画像サイズとメモリ格納形式を図６に示す。
【００２４】
図７は、画像管理テーブルの構成を説明する図である。各画像には画像ＩＤというユニークな番号、領域の先頭アドレス、最終アドレス、アクセスモード、アクセスリソース、トリガモード、トリガオフセット、アドレス監視エントリが割り当てられ、画像ＩＤ単位で管理される。
【００２５】
アクセスモードは、その画像へのアクセスを１のリソースに限る（占有モード）か、１のリソースからの書き込みおよび他のリソースからの読み出しを許す（ＰＩＰＥモード）かを表す。
【００２６】
アクセスリソースは、ＣＰＵ２０および３０（ＣＰＵ０、ＣＰＵ１）、画像処理回路４０および５０（ＩＰ０、ＩＰ１）、画像入力回路６０（カメラ入力が２系統あるのでＶＩ０、ＶＩ１）、画像出力回路７０（Ｖ０）のリソースそれぞれに対して、画像への読み出し（Ｒ）、書き込み（Ｗ）、読み書き（ＲＷ）、のいずれかのアクセスを許可する。
【００２７】
アクセスモードがＰＩＰＥモードの場合には、トリガモード、トリガオフセット、アドレス監視エントリの３つのフィールドが有効になる。トリガモードは、アドレス監視装置１０でトリガ条件が成立した場合に割り込みを発生させるか否か、およびＭＯＤＥ１１１に設定されるトリガ条件比較のモード（アドレス順か逆順か）を表す。トリガオフセットは画像の先頭からどれだけ処理が進んだ場合にトリガを掛けるかを表す。アドレス監視エントリは、監視エントリ１１および１２のいずれを使用するかを表す。
【００２８】
次に、以上説明したハードウェア装置とデータ構造を使用してパイプライン処理を行う動作について説明する。本実施形態では、カメラ４から入力される画像を画像入力回路６０が「画像０」として主メモリ３に格納し、それを画像処理回路４０が処理し、結果を「画像１」として主メモリ３に格納し、それをＣＰＵ２０が処理し、結果を「画像２」として主メモリ３に格納する。画像０および画像１に対する処理をパイプラインで実行する。
【００２９】
図８は、ＣＰＵ２０で実行される画像処理メインプログラムの処理を説明する図である。ステップ８０１では画像処理回路４０，５０、画像入力回路６０、画像出力回路７０等のハードウェアに対し初期設定を行う。ステップ８０２では画像管理テーブルの設定を行う。ステップ８０３では画像管理テーブルの設定に基づきアドレス監視装置１０の設定を行う。
【００３０】
ステップ８０４では画像入力回路６０を起動する。その後ＣＰＵ２０はスリープし、アドレス監視装置からの割り込み待ちの状態となる。
【００３１】
ステップ８０２では図７に示すような設定が行われる。すなわち、画像ＩＤが０、１、２、の３つの領域が定義され、画像０はＰＩＰＥモードで画像入力回路ＶＩ０が書き込み、画像出力回路ＩＰ０が読み出しを行い、アクセスが先頭から０Ｘ１Ｅ０００すなわち１２０ラインまで進んだときに割り込みを発生させトリガアドレスを自動インクリメントし、監視エントリ１１を使用する。画像１はＰＩＰＥモードでＩＰ０が書き込み、ＣＰＵ０が読み出しを行い、アクセスが先頭から０Ｘ３Ｃ００すなわち２４０ラインまで進んだときに割り込みを発生させ、監視エントリ１２を使用する。画像２は占有モードでＣＰＵ０が読み書きを行う。
【００３２】
ステップ８０３では図９に示すような設定が行われる。図９は、アドレス監視装置１０内のレジスタ設定内容を一覧にして示す図である。エントリ０に対しては、画像０の先頭アドレス（０Ｘ１０００００００）、最終アドレス（０Ｘ１００７ＦＦＦＦ）、トリガオフセット値（０Ｘ１Ｅ０００）、先頭アドレスにトリガオフセットを加えたトリガアドレス（０Ｘ１００１Ｅ０００）、割り込み及びトリガ比較のモード（割り込み有り、アドレス順、自動インクリメント有り）、割り込み先（ＩＰ０）、割り込みクリア（ＩＮＴＦＬＧに０書き込み）、最終書き込みアドレスクリア（ＬＡＳＴに０ＸＦＦＦＦＦＦＦＦ書き込み）、を設定し、エントリ１に対しては、画像１の先頭アドレス（０Ｘ１００８００００）、最終アドレス（０Ｘ１００ＦＦＦＦＦ）、トリガオフセット値（０Ｘ３Ｃ０００）、先頭アドレスにトリガオフセットを加えたトリガアドレス（０Ｘ１００ＢＣ０００）、割り込み及びトリガ比較のモード（割り込み有り、アドレス順）、割り込み先（ＣＰＵ０）、割り込みクリア（ＩＮＴＦＬＧに０書き込み）、最終書き込みアドレスクリア（ＬＡＳＴに０ＸＦＦＦＦＦＦＦＦ書き込み）、を設定する。
【００３３】
図１０は、画像処理回路４０で実行される画像処理を説明する図である。この処理は画像処理回路４０の内部でハードウェア実行される。なお、画像処理回路４０でどのような処理を行うかは図８のステップ８０１で既に設定されている。アドレス監視装置１０から割り込み信号線９０を介して割り込みが入力されるとこの処理が開始される。ステップ１００１では先ず、監視エントリ１１のＩＮＴＦＬＧに０を書き込み割り込み要因をクリアする。その後予め設定されている画像処理を実行し、処理終了後スリープする。本実施形態ではここで実行される画像処理を「処理１」と呼ぶ。この処理は、入力である画像０を読み込み、フィルタリング処理を行った結果を画像１に書き込む。なお、本発明は、この処理がどのような処理であるかには依存しない。
【００３４】
図１１は、ＣＰＵ２０で実行される画像処理を説明する図である。この処理はＣＰＵ２０によってソフトウェア実行される。アドレス監視装置１０から割り込み信号線９０を介して割り込みが入力されるとこの処理が開始される。ステップ１１０１では先ず、監視エントリ１２のＩＮＴＦＬＧに０を書き込み、割り込み要因をクリアする。その後予め想定されている画像処理を実行し、処理終了後スリープする。本実施形態ではここで実行される画像処理を「処理２」と呼ぶ。この処理は、は入力である画像１を読み込み、画像認識処理を行った結果を画像２に書き込む。なお、本発明は、この処理がどのような処理であるかには依存しない。また、処理終了後にスリープした後はＯＳによって別なタスクを割り当てることも可能であり、このばあいにはＣＰＵの使用効率が改善される。
【００３５】
図１２は、本実施例における画像処理実行の様子を示す図（タイミングチャート）である。
【００３６】
画像入力回路６０が入力画像を画像０のメモリ領域に書き込むと、図１２に示す期間１の間、書き込みアドレスはアドレス監視装置１０の監視エントリ１１にヒットするようになる。書き込みアドレスが順に増えて行き、図中のタイミング１Ａの点でトリガアドレスに一致すると画像処理回路４０に割り込みが入る。このとき監視エントリ１１のトリガアドレスは自動的にインクリメントされる。すなわち、トリガオフセットレジスタＴＯＦＳＴ１１９の値がＴＲＩＧ１１３に加算され、ＴＲＩＧ１１３に書き戻される（これにより、次回のトリガアドレスはタイミング１Ｂの点に設定される。以下同様にトリガアドレスはインクリメントされる毎にタイミング１Ｃ，１Ｄの点に設定される）。
【００３７】
前記割り込みにより図１０で示した処理が実行され、結果が画像１の領域に書き込まれる。画像１の領域に書き込みが行われると図１２に示す期間２の間、書き込みアドレスはアドレス監視装置１０の監視エントリ１２にヒットするようになる。書き込みアドレスが順に増えて行き、図中のタイミング２の点でトリガアドレスに一致するとＣＰＵ２０に割り込みが入る。割り込みにより図１１で示す処理が実行され、結果が画像２の領域に書き込まれる。図１２では、このような一連の処理を、カメラ４からの取り込み周期（フレーム周期）に同期して実行することを表している。
【００３８】
図１２の下半部（画像メモリへのアクセス）は、画像メモリへのアクセスがどのようなタイミングで発生しているかを示したもので、１の画像に対して書き込みと読み出しが同時に行われており、本発明の目的としたパイプライン処理が実現できていることがわかる。なお、トリガアドレスの前記自動インクリメント機能を使用するか否かは、パイプラインの前段と後段の処理速度の比に依存する。すなわち、後段の処理速度が前段の処理速度よりも速い場合は、前段が処理データをそろえるよりも後段が処理を進める方が速いので、後段は一定量の処理を行った後スリープし、前段からの処理データがそろうのを待つことができる。その間、後段の処理装置は他の処理を行うことも可能である。一方、後段の処理速度が前段の処理速度よりも遅い場合は、最小限のデータがそろったとき点でトリガをかけて後段の処理を開始しても、前段の処理を追い越すことは無いので自動インクリメント機能を使用する必要はない。
【００３９】
［第２の実施形態］
次に、図１ないし図５、図８、図１０、図１１、図１３ないし図１６を用いて第２の実施形態を説明する。ハードウェア装置の構成とデータ構造は第１の実施形態と同じである。  本実施形態では、カメラ４から入力される画像を画像入力回路６０が「画像０」として主メモリ３に格納し、それを画像処理回路４０が処理し、結果を「画像１」として主メモリ３に格納し、それをＣＰＵ２０およびＣＰＵ２１が分担して処理し、結果を「画像２」として主メモリ３に格納する。このように画像０および画像１に対する処理をパイプラインで実行する。
【００４０】
図１３は、本実施形態における処理画像サイズ、メモリ格納形式、およびＣＰＵの処理分担を示す図であり、画像の左半分をＣＰＵ２０が、右半分をＣＰＵ２１が処理する。
【００４１】
図１４は、本実施形態における画像管理テーブルの設定を説明する図である。第１の実施形態と異なるのは、画像２が共有モードに設定され、ＣＰＵ２０とＣＰＵ２１からの同時書き込みおよび読み出しを許している点である。
【００４２】
図１５は、本実施形態におけるアドレス監視装置１０内のレジスタ設定を一覧にして示す図である。第１の実施形態と異なるのは、エントリ１における割り込み先の設定が、ＣＰＵ２０およびＣＰＵ２１になっている点である。なお、割り込みフラグレジスタ（ＩＮＴＦＬＧ）１１６は割り込み先ごとに分かれており、ＣＰＵ２０、ＣＰＵ２１それぞれ独立に割り込み要因をクリアすることができる。
【００４３】
図１６は、本実施形態における画像処理実行の様子を示す図（タイミングチャート）である。第１の実施形態と異なるのは、タイミング２において割り込みがＣＰＵ２０とＣＰＵ２１に同時に入ることであり、これによりＣＰＵ２０およびＣＰＵ２１はそれぞれの処理分担である画像の左半分又は右半分の処理を開始する。なお、本実施形態においてＣＰＵ２１で処理される「処理２’」は、ＣＰＵ２０で処理される「処理２」と処理アドレスが異なるだけであるが、同じ処理を分担することが本発明の目的ではなく、ＣＰＵ２０とＣＰＵ２１で異なる処理を行わせても良い。
【００４４】
以上、第２の実施形態について説明したが、ここで説明した点以外は第１の実施形態と同様であるので説明を省略する。このようにして、第２の実施形態においても、本発明の目的であるパイプライン処理が実現できると共に、２つのＣＰＵによる分散処理が可能になり、処理とき間を短縮することができる。なお、本実施形態では画面の左右半分で処理を分割したが、分割をする際、ＣＰＵのキャッシュライン境界（例えば３２バイト単位）をまたがないようにすれば同じ画像領域に書き込みを行ってもメモリコヒーレンシは確保される。
【００４５】
［第３の実施形態］
次に、第３の実施形態について説明する。図１７は、第３の実施形態を実現する画像処理装置の全体構成を示す図である。第１の実施形態に比べて、システムＬＳＩ２の中に２次キャッシュメモリ８５が追加されている点で異なる。２次キャッシュメモリ８５はシステムバス８０に接続されたＣＰＵ２０、ＣＰＵ３０、画像処理回路４０、画像処理回路５０、等の装置から主メモリ３への書き込み動作を監視し、予め決められたキャッシュ可能空間に書き込みデータを保持し、保持されたデータに対するアクセスが生じた場合には主メモリ３よりも高速にデータをアクセス元に渡すことができる。
【００４６】
このように、画像格納領域をキャッシュ可能空間内に設定し、２次キャッシュメモリ８５を利用するようにしても、第１および第２の実施形態の実現に影響を及ぼすことはない。すなわち、主メモリへの書き込みが発生した場合は必ずシステムバス８０を経由するため、アドレス監視装置１０が書き込みアドレスを監視することができるためである。なお、ＣＰＵに内蔵される１次キャッシュメモリがライトバック方式をとる場合で、ＣＰＵが処理した画像データをパイプライン処理する場合は、書き込みデータが直ちにシステムバスに現れないが、一般に１次キャッシュメモリは画像データに比べて小容量であり、ＣＰＵの処理が進む間にライトバックデータがシステムバスに流れ、アドレス監視装置が感知することができるので、本発明の実効性を失うものではない。
【００４７】
なお、第１から第３の実施形態におけるシステムバスは物理アドレスバスを想定しており、システムバスに接続される全ての回路は同じメモリ空間を共有するが、本発明におけるアドレス監視装置は、物理アドレスだけを監視することに限定する必要は無く、同じ仮想アドレス空間を共有する処理装置間のメモリアクセスを監視できるように拡張することができる。
【図面の簡単な説明】
【００４８】
【図１】第１の実施形態にかかる画像処理装置の全体構成を説明する図である。
【図２】アドレス監視装置の内部構成を説明する図である。
【図３】アドレス比較回路の内部構成を説明する図である。
【図４】割り込み分配回路の内部構成を説明する図である。
【図５】主メモリのメモリマップを示す図である。
【図６】処理画像サイズとメモリ格納形式を説明する図である。
【図７】画像管理テーブルの構成を説明する図である。
【図８】ＣＰＵで実行される画像処理メインプログラムの処理を説明する図である。
【図９】アドレス監視装置内のレジスタ設定内容を示す図である。
【図１０】画像処理回路で実行される画像処理を説明する図である。
【図１１】ＣＰＵで実行される画像処理を説明する図である。
【図１２】画像処理の様子を示す図である。
【図１３】第２の実施形態における処理画像サイズ、メモリ格納形式等を説明する図である。
【図１４】第２施形態における画像管理テーブルの設定を説明する図である。
【図１５】第２の実施形態におけるアドレス監視装置１０内のレジスタ設定を示す図である。
【図１６】第２の実施形態における画像処理の様子を示す図である。
【図１７】第３の実施形態に係る画像処理装置を示す図である。
【符号の説明】
【００４９】
１  画像処理装置
２  システムＬＳＩ
３  主メモリ
４  カメラ
１１，１２  監視エントリ
１３  システムインタフェース回路
１４  アドレスバッファ
１５  アドレス加算器  
１６  割り込み分配回路
１０  アドレス監視装置
２０，３０  ＣＰＵ
４０，５０  画像処理回路
６０  画像入力回路
７０  画像出力回路
８０  システムバス
９０  割り込み信号線
１１１  モードレジスタ
１１２  最終書き込みアドレスレジスタ
１１３  トリガアドレスレジスタ
１１４  領域最終アドレスレジスタ
１１５  領域先頭アドレスレジスタ
１１６  割り込みフラグレジスタ
１１７  割り込み先設定レジスタ
１１８  アドレス比較回路
１１９  トリガオフセットレジスタ
【図１】
2008171198.tif 000003
【図２】
2008171198.tif 000004
【図３】
2008171198.tif 000005
【図４】
2008171198.tif 000006
【図５】
2008171198.tif 000007
【図６】
2008171198.tif 000008
【図７】
2008171198.tif 000009
【図８】
2008171198.tif 000010
【図９】
2008171198.tif 000011
【図１０】
2008171198.tif 000012
【図１１】
2008171198.tif 000013
【図１２】
2008171198.tif 000014
【図１３】
2008171198.tif 000015
【図１４】
2008171198.tif 000016
【図１５】
2008171198.tif 000017
【図１６】
2008171198.tif 000018
【図１７】
2008171198.tif 000019