(57)【要約】【課題】  連写枚数を増やせるようにする。【解決手段】  各処理回路１４〜２０はメモリ３６を共有して、撮像素子１０による撮像画像を逐次的に処理する。ＤＭＡＣ２４〜３０は、処理回路１４〜２０からの指示に従いメモリ３６へのアクセス要求を発生する。調停回路３８は、ＤＭＡＣ２４〜３０のアクセス要求を調停し、優先順序に従う順番で各アクセス要求をメモリコントローラ３４に転送する。調停回路３８は、処理回路１４〜２０の各々における処理の進捗度に応じて、進捗度の低い処理回路には進捗度の高い処理回路よりも高い優先順位を設定する。【選択図】  図１
2017123086.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
前記メモリを共有する複数の処理手段であって、一定時間内にそれぞれの処理を完了する複数の処理手段と、
前記複数の処理手段の前記メモリへのアクセス要求を調停する調停回路
とを有し、
前記調停回路は、前記複数の処理手段の各々における処理の進捗度に応じて、前記進捗度の低い処理手段に、前記進捗度の高い処理手段よりも高い優先順位を設定する
ことを特徴とする画像処理装置。
【請求項２】
前記調停回路は、前記複数の処理手段のうち、前記一定時間内における処理の完了に最も時間を要する１つの処理手段を基準とし、前記基準以外の前記処理手段の優先順位をそれぞれの前記進捗度に応じて変更することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記調停回路は、前記基準の処理手段に常に最も高い優先順位を設定することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記調停回路は、前記複数の処理手段が前記一定時間内に処理すべき総データ量に対する処理済みデータ量の割合を前記進捗度として算出する算出器と、前記算出器により算出される前記進捗度を比較する比較器とを具備することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記調停回路は、前記進捗度が同じ処理手段に対し、初期の優先順位の高低を維持することを特徴とする請求項１から４のいずれか１項に記載の画像処理装置。
【請求項６】
前記処理手段は、前記処理を実行する処理回路と、前記処理回路からの指示に従い前記メモリへのアクセス要求を出力するＤＭＡＣ（Direct Memory Access Controller）とからなることを特徴とする請求項１から５のいずれか１項に記載の画像処理装置。
【請求項７】
メモリと、
前記メモリを共有する複数の処理手段であって、一定時間内にそれぞれの処理を完了する複数の処理手段と、
前記複数の処理手段の前記メモリへのアクセス要求を調停する調停回路
とを有し、
前記調停回路は、前記複数の処理手段の各々における前記一定時間内での残りアクセス回数に応じて、前記残りアクセス回数の多い処理手段に、前記残りアクセス回数の少ない処理手段よりも高い優先順位を設定する
ことを特徴とする画像処理装置。
【請求項８】
前記調停回路は、前記複数の処理手段のうち、前記一定時間内における前記メモリへのアクセス回数が最も多い１つの処理手段を基準とし、前記基準以外の前記処理手段の優先順位をそれぞれの前記残りアクセス回数に応じて変更することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記調停回路は、前記基準の処理手段に常に最も高い優先順位を設定することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記調停回路は、前記複数の処理手段が前記一定時間内での残り必要アクセス回数を算出する算出器と、前記算出器により算出される前記残り必要アクセス回数を比較する比較器とを具備することを特徴とする請求項７から９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記調停回路は、前記残り必要アクセス回数が同じ処理手段に対し、初期の優先順位の高低を維持することを特徴とする請求項７から１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記処理手段は、前記処理を実行する処理回路と、前記処理回路からの指示に従い前記メモリへのアクセス要求を出力するＤＭＡＣ（Direct Memory Access Controller）とからなることを特徴とする請求項７から１１のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理を並行実行する複数の処理手段がメモリを共有する画像処理装置に関する。
【背景技術】
【０００２】
デジタルカメラの連写処理では、複数の処理回路が同時並列にそれぞれの処理を実行し、その処理のために同じメモリ（ＤＲＡＭ）へのアクセスを要求する。このようなメモリアクセスを伴う並列処理において処理性能を保証するには、ある決められた処理時間（１フレーム期間）内に全ての処理を終わらせる必要がある。
【０００３】
同じメモリを複数の処理回路が共有する構成では、そのメモリへのアクセスを制御するＤＭＡＣ（Direct Memory Access Controller）を各処理回路に割り当てる構成が採用される。また、複数の回路が同じメモリを供給する構成では、メモリアクセスまたはメモリバスの使用権を調停する調停回路（アービタ）も必要になる。例えば、各処理回路は、メモリに処理済みのデータを書き込む場合、処理済みのデータとメモリアクセス要求を割り当てられたＤＭＡＣに出力し、ＤＭＡＣは、メモリアクセス要求を、メモリバスの利用権を調停するバスアービタに出力する。複数のＤＭＡＣから同時にメモリアクセス要求があると、アクセスの競合が発生し、メモリへのアクセス許可を待たされることがある。連写の同時並列処理系でこのような待ちが発生すると、一部の処理が１Ｖの期間に収まらないことがある。
【０００４】
バスの利用権に利用頻度などにより優先順位を設定するデータ転送制御技術が知られている。特許文献１には、複数の機能モジュールのメモリアクセス回数またはアクセス要求を受けるまでの待ち時間を機能モジュールごとにモニタリングし、モニタリング結果に従って、アクセス要求の優先順位を変更することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１−５９５５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来技術では、処理が遅れているＤＭＡＣの優先順位を高くすることはできるが、全ての処理が所定時間（例えば、１フレーム期間）内に完了することは保証されない。
【０００７】
本発明は、複数の処理回路が同じメモリを共有する場合に、一定時間内にこれら処理回路の処理が完了するようにした画像処理装置を提示することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る画像処理装置は、メモリと、前記メモリを共有する複数の処理手段であって、一定時間内にそれぞれの処理を完了する複数の処理手段と、前記複数の処理手段の前記メモリへのアクセス要求を調停する調停回路とを有し、前記調停回路は、前記複数の処理手段の各々における処理の進捗度に応じて、前記進捗度の低い処理手段に、前記進捗度の高い処理手段よりも高い優先順位を設定することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、複数の処理手段がメモリを共有する場合に、メモリアクセスを適切に調停して、一定時間内にそれぞれの処理を終了させることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１の概略構成ブロック図である。
【図２】実施例１の並列処理のシーケンス図である。
【図３】実施例１の調停回路の概略構成ブロック図である。
【図４】実施例１の調停動作のフローチャートである。
【図５】実施例１の優先順位の変更例である。
【図６】本発明の実施例２の概略構成ブロック図である。
【図７】実施例２の調停回路の概略構成ブロック図である。
【図８】実施例２の調停動作のフローチャートである。
【図９】実施例２の優先順位の変更例である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１２】
図１は、本発明に係る画像処理装置を撮像装置に適用した一実施例の概略構成ブロック図である。
【００１３】
１０は、撮影光学系１２による光学像を画像信号に変換する撮像素子である。１４は撮像素子１０からのアナログ画像信号をデジタル画像信号に変換し、ＲＡＷ画像を生成する撮像処理回路である。１６は撮像処理回路１４によって出力されたＲＡＷ画像データを現像処理する現像処理回路である。現像処理は、例えば、色バランス補正及びガンマ補正を含む。１８は、現像処理回路１６から出力される画像データに光学補正の処理を施す光学補正処理回路である。光学補正処理は、例えば、光学系１２による画像の歪みを補正する処理などを含む。２０は光学補正処理回路１８によって光学補正された画像データを圧縮符号化する画像圧縮処理回路である。
【００１４】
各処理回路１４〜２０は、それぞれに割り当てられたＤＭＡＣ（Direct Memory Access Controller）２４〜３０、メモリバス３２及びメモリコントローラ３４を介して、共有メモリ（ＤＲＡＭ）３６にデータを読み書きする。ＤＭＡＣ２４〜３０は、各処理回路１４〜２０からの指示または要求に従い、メモリ３６に対するアクセス要求を調停回路３８に出力する。調停回路（アービタ）３８は、ＤＭＡＣ２４〜３０からのメモリアクセス要求を調停し、利用を許可するいずれかのＤＭＡＣ２４〜３０からのメモリアクセス要求をメモリコントローラ３４に供給する。
【００１５】
ＣＰＵ４０は、ＤＭＡＣ２４〜３０から基準となるＤＭＡＣ（基準ＤＭＡＣ）を決定し、各処理回路１４〜２０が処理を行う総データ転送量またはＤＭＡＣ２４〜３０の初期優先順位を決定する。ＣＰＵ４０は、決定内容を図示しないシステムバスを介して各ＤＭＡＣ２４〜３０及び調停回路３８に出力する。
【００１６】
図２は、処理回路１４〜２０により並列処理される画像データのシーケンスを示す。図２を参照して、本実施例の基本的な動作を説明する。なお、調停回路３８は、ＣＰＵ４０により設定される基準ＤＭＡＣ、各処理回路１４〜２０の総データ転送量、各ＤＭＡＣ２４〜３０の処理済みデータ量に従い、各ＤＭＡＣ２４〜３０のメモリアクセス要求の優先順位を決定する。調停回路３８による優先度の決定の詳細は後述する。また、図２において、１Ｖは、図１の撮像装置において処理される画像データ（動画データ）の１フレーム期間に対応している。
【００１７】
連写の１コマ目（１フレーム目）の撮像（画像１）に対して、撮像処理回路１４は、撮像素子からのアナログ画像信号をデジタル化し、ＲＡＷ画像データを生成する。撮像処理回路１４は、生成した画像１のＲＡＷ画像データをメモリ３６に書き込むために、メモリ書き込み要求とこのＲＡＷ画像データをＤＭＡＣ２４に出力し、ＤＭＡＣ２４は、撮像処理回路１４からのメモリ書き込み要求を調停回路３８に供給する。調停回路３８は、他のＤＭＡＣ２６〜３０からのメモリアクセス要求との競合を排して、ＤＭＡＣ２４からのメモリ書き込み要求をメモリコントローラ３４に供給し、利用許可応答をＤＭＡＣ２４に返信する。ＤＭＡＣ２４は、調停回路３８からの利用許可応答に従い、ＲＡＷ画像データをメモリバス３２に出力し、メモリコントローラ３４がメモリバス３２上の画像データをメモリ３６の指定アドレスに書き込む。このような手順で、画像１のＲＡＷ画像データが最初の１Ｖ期間内にメモリ３６に書き込まれる。
【００１８】
次の１Ｖ期間では、連写の２コマ目の画像２が撮像される。撮像処理回路１４は、画像２の画像データを画像１と同様に処理する。撮像処理回路１４は、生成した画像２のＲＡＷ画像データをメモリ３６に書き込むために、メモリ書き込み要求とこのＲＡＷ画像データをＤＭＡＣ２４に出力する。ＤＭＡＣ２４は、撮像処理回路１４からのメモリ書き込み要求を調停回路３８に供給する。現像処理回路１６は、画像１のＲＡＷ画像データをメモリ３６から読み出すためにメモリ読み出し要求をＤＭＡＣ２４に出力する。調停回路３８は、ＤＭＡＣ２４からのメモリ書き込み要求と、ＤＭＡＣ２６からのメモリ読み出し要求を調停する。
【００１９】
メモリ３６から読み出された画像１のＲＡＷ画像データは、メモリコントローラ３４、メモリバス３２及びＤＭＡＣ２６を介して現像処理回路１６に入力する。現像処理回路１６は入力する画像１のＲＡＷ画像データを現像処理する。現像処理回路１６は、処理後の画像データをメモリ３６に書き込むために、メモリ書き込み要求と現像された画像１の画像データをＤＭＡＣ２６に出力し、ＤＭＡＣ２６は、現像処理回路１６からのメモリ書き込み要求を調停回路３８に供給する。調停回路３８は、ＤＭＡＣ２４からのメモリ書き込み要求と、ＤＭＡＣ２６からのメモリ書き込み要求を調停する。
【００２０】
この結果、２コマ目の期間の終了時には、メモリ３６に画像２のＲＡＷ画像データと画像１の現像処理後の画像データが格納される。
【００２１】
３コマ目の１Ｖ期間では、連写の３コマ目の画像３が撮像される。撮像処理回路１４は、画像３の画像データを画像１，２と同様に処理する。撮像処理回路１４は、生成した画像３のＲＡＷ画像データをメモリ３６に書き込むために、メモリ書き込み要求とこのＲＡＷ画像データをＤＭＡＣ２４に出力する。ＤＭＡＣ２４は、撮像処理回路１４からのメモリ書き込み要求を調停回路３８に供給する。現像処理回路１６は、画像２のＲＡＷ画像データをメモリ３６から読み出すためにメモリ読み出し要求をＤＭＡＣ２６に出力し、現像後の画像データをメモリ３６に書き込むためにメモリ書き込み要求をＤＭＡＣ２６に出力する。また、光学補正処理回路１８は、画像１の現像済みの画像データをメモリ３６から読み出すためにメモリ読み出し要求をＤＭＡＣ２８に出力し、光学補正処理後の画像データをメモリ３６に書き込むためにメモリ書き込み要求をＤＭＡＣ２８に出力する。
【００２２】
調停回路３８は、ＤＭＡＣ２４からのメモリ書き込み要求並びにＤＭＡＣ２６、２８からのメモリ読み出し要求及びメモリ書き込み要求を調停する。調停回路３８の調停の下で、撮像処理回路１４は、ＲＡＷ画像データをメモリ３６に書き込む。現像処理回路１６は、メモリ３６から画像２のＲＡＷ画像データを読み出して現像処理し、処理後の画像データをメモリ３６に書き込む。同様に、光学補正処理回路１８は、メモリ３６から画像１の現像処理された画像データを読み出して光学補正処理し、処理後の画像データをメモリ３６に書き込む。この結果、３コマ目の期間の終了時には、メモリ３６に画像３のＲＡＷ画像データと、画像２の現像処理後の画像データと、画像１の光学補正処理後の画像データが格納される。
【００２３】
４コマ目の１Ｖ期間では、連写の４コマ目の画像４が撮像される。撮像処理回路１４は、画像４の画像データを画像１，２，３と同様に処理する。撮像処理回路１４は、生成した画像４のＲＡＷ画像データをメモリ３６に書き込むために、メモリ書き込み要求とこのＲＡＷ画像データをＤＭＡＣ２４に出力する。ＤＭＡＣ２４は、撮像処理回路１４からのメモリ書き込み要求を調停回路３８に供給する。現像処理回路１６は、画像３のＲＡＷ画像データをメモリ３６から読み出すためにメモリ読み出し要求をＤＭＡＣ２６に出力し、現像後の画像データをメモリ３６に書き込むためにメモリ書き込み要求をＤＭＡＣ２６に出力する。光学補正処理回路１８は、画像２の現像済みの画像データをメモリ３６から読み出すためにメモリ読み出し要求をＤＭＡＣ２８に出力し、光学補正処理後の画像データをメモリ３６に書き込むためにメモリ書き込み要求をＤＭＡＣ２８に出力する。画像圧縮処理回路２０は、画像１の光学補正処理済みの画像データをメモリ３６から読み出すためにメモリ読み出し要求をＤＭＡＣ３０に出力し、圧縮処理後の画像データをメモリ３６に書き込むためにメモリ書き込み要求をＤＭＡＣ３０に出力する。
【００２４】
調停回路３８は、ＤＭＡＣ２４からのメモリ書き込み要求並びにＤＭＡＣ２６，２８，３０からのメモリ読み出し要求及びメモリ書き込み要求を調停する。調停回路３８の調停の下で、撮像処理回路１４は、画像４のＲＡＷ画像データをメモリ３６に書き込む。現像処理回路１６は、メモリ３６から画像３のＲＡＷ画像データを読み出して現像処理し、処理後の画像データをメモリ３６に書き込む。光学補正処理回路１８は、メモリ３６から画像２の現像処理された画像データを読み出して光学補正処理し、処理後の画像データをメモリ３６に書き込む。画像圧縮処理回路２０は、メモリ３６から画像１の光学補正処理された画像データを読み出して圧縮符号化処理し、処理後の圧縮画像データをメモリ３６に書き込む。この結果、４コマ目の期間の終了時には、メモリ３６に画像４のＲＡＷ画像データと、画像３の現像処理後の画像データと、画像２の光学補正処理後の画像データと、画像１の圧縮画像データが格納される。
【００２５】
以後、撮像処理回路１４、現像処理回路１６、光学補正処理回路１８及び画像圧縮処理回路２０は、連写の画像５以降も同様に、１Ｖ期間内で順次処理する。
【００２６】
図３は、調停回路３８の内部構成を示す概略構成ブロック図である。図４は、各ＤＭＡＣ２４〜３０のメモリアクセス要求の優先順位を決定する手順のフローチャートを示す。図３及び図４を参照して、調停回路３８における各ＤＭＡＣ２４〜３０のメモリアクセス要求の優先順位を決定する手順を詳細に説明する。調停回路３８は、１Ｖ期間内の適当なタイミング、例えば一定時間周期で、ＤＭＡＣ２４〜３０に対する優先順位の見直しを実行する。
【００２７】
ＣＰＵ４０は、調停回路３８とＤＭＡＣ２４〜３０に基準ＤＭＡＣ情報と総データ転送量の情報を供給する（Ｓ４０１）。各ＤＭＡＣ２４〜３０は、メモリアクセス要求以外に、関連する処理回路１４〜２０における処理済みのデータ量を示す情報を調停回路３８の進捗算出器４４〜５０に供給する（Ｓ４０２）。
【００２８】
調停回路３８の進捗算出器４４〜５０は、入力する処理済みデータ量の総データ転送量に対する割合を算出し、算出結果を進捗度として比較器５２に供給する（Ｓ４０３）。比較器５２は、進捗算出器４４〜５０からの割合を比較し（Ｓ４０４）、比較結果から、基準以外のＤＭＡＣ（基準ＤＭＡＣがＤＭＡＣ２４である場合、ＤＭＡＣ２６〜３０）の優先順位を再設定する。
【００２９】
図５は、進捗度に応じた優先順位再設定の一例を示す。ＤＭＡＣ２４〜３０のうち、単独で処理を行った場合に処理に時間のかかるＤＭＡＣほど、初期の優先順位を高く設定し、最も処理に時間がかかるものを基準ＤＭＡＣとする。ここでは、ＤＭＡＣ２４を基準ＤＭＡＣとする。進捗算出器４４〜５０は、下記式により、
進捗度（％）＝（処理済みデータ量）／（総データ量）
対応するＤＭＡＣ２４〜３０の進捗度を算出する。
【００３０】
図５に示す例では、総データ転送量を１００ｋＢとし、ＤＭＡＣ２４〜３０の変更前の優先順位を１、４、３、２としている。優先順位の値が低いほど、優先順位は高い。ＤＭＡＣ２４は基準ＤＭＡＣなので、優先順位１のままである。ＤＭＡＣ２６，２８，３０の進捗度は、ＤＭＡＣ２６の進捗度が２０％と最低で、次にＤＭＡＣ２８、その次にＤＭＡＣ３０となっている。そこで、比較器５２は、ＤＭＡＣ２６の優先順位を基準ＤＭＡＣ２４に次ぐ優先順位２とし、ＤＭＡＣ２８の優先順位を３とし、ＤＭＡＣ３０の優先順位を４とする。複数のＤＭＡＣ間で進捗度が同一となった場合、優先順位の高低を変更前のままに維持するか、所定設定の高低と同じにする。例えば、これらＤＭＡＣの優先順位は、変更前に優先順位の高かった方のＤＭＡＣの優先順位を高くする。
【００３１】
単独で処理を行った場合に最も処理に時間がかかるＤＭＡＣを基準ＤＭＡＣとして、その優先順位を常に最高にしておくことで、並列メモリアクセスの全処理回路について規定の期間内に処理を終了させやすくなる。
【００３２】
１つの画像に対するＤＭＡＣ２４〜３０による全データの転送が完了するまで（Ｓ４０６）、調停回路３８はＳ４０２〜Ｓ１４０の処理を繰り返す。１つの画像の全データ転送が完了すると（Ｓ４０６）、調停回路３８は、図４に示す処理を終了する。
【００３３】
本実施例では、基準ＤＭＡＣのメモリ３６へのアクセス要求の優先順位は固定されているが、１Ｖ期間内に処理が終了可能な範囲であれば、基準ＤＭＡＣの優先順位も再設定の対象としてもよい。また、本実施例では、調停回路３８内で並列の各処理の進捗度を算出したが、各ＤＭＡＣ内で進捗度を算出し、調停回路３８は、各ＤＭＡＣからの進捗度情報に従い優先順位を再設定するようにしてもよい。
【実施例２】
【００３４】
図６は、本発明の実施例２の概略構成ブロック図を示す。図１に示す実施例のＣＰＵ４０、ＤＭＡＣ２４〜３０及び調停回路３８をそれぞれ、ＣＰＵ１４０、ＤＭＡＣ１２４〜１３０及び調停回路１３８に変更する。本実施例では、ＤＭＡＣ１２４〜１３０の残り必要アクセス回数を目処に、ＤＭＡＣ１２４〜１３０のメモリアクセス要求の優先順位を決定する。図１に示す実施例と同じ構成要素には同じ符号を付してある。
【００３５】
図７は、調停回路１３８の内部構成を示す概略構成ブロック図を示す。図８は、各ＤＭＡＣ１２４〜１３０のメモリアクセス要求の優先順位を決定する手順のフローチャートを示す。図７及び図８を参照して、調停回路１３８における各ＤＭＡＣ１２４〜１３０のメモリアクセス要求の優先順位を決定する手順を詳細に説明する。調停回路１３８は、１Ｖ期間内の適当なタイミング、例えば一定時間周期で、ＤＭＡＣ１２４〜１３０に対する優先順位の見直しを実行する。
【００３６】
ＣＰＵ１４０は、調停回路１３８とＤＭＡＣ１２４〜１３０に基準ＤＭＡＣ情報と総データ転送量の情報を供給する（Ｓ８０１）。調停回路３８は、ＣＰＵ１４０から通知された各ＤＭＡＣ１２４〜１３０の総データ転送量とメモリ３６への一回のアクセスで処理可能なデータ量とから、各ＤＭＡＣ１２４〜１３０の１画像あたり総必要アクセス回数を計算する。すなわち、
（総必要アクセス回数）＝（総データ量）／（１アクセスの処理可能データ量）
である。
【００３７】
各ＤＭＡＣ１２４〜１３０は、メモリアクセス要求以外に、アクセス許可回数を示す情報を調停回路１３８の算出器１４４〜１５０に供給する（Ｓ８０２）。算出器１４４〜１５０は、総必要アクセス回数からアクセス許可回数を減算して、残り必要アクセス回数を算出し、比較器１５２に出力する（Ｓ８０３）。比較器１５２は、算出器１４４〜１５０からの残り必要アクセス回数を比較し（Ｓ８０４）、比較結果から、基準ＤＭＡＣ以外のＤＭＡＣ（基準ＤＭＡＣがＤＭＡＣ２４である場合、ＤＭＡＣ２６〜３０）の優先順位を再設定する。
【００３８】
図９は、残り必要アクセス回数により優先順位を再設定する例を示す。ＤＭＡＣ１２４〜１３０のうち、単独で処理を行った場合に処理に時間のかかるＤＭＡＣほど、初期の優先順位を高く設定し、最も処理に時間がかかるものを基準ＤＭＡＣとする。ここでは、ＤＭＡＣ１２４を基準ＤＭＡＣとする。調停回路１３８は、ＣＰＵ１４０から通知された各ＤＭＡＣ２４〜３０の総データ転送量とメモリ３６への一回のアクセスで処理可能なデータ量とから、各ＤＭＡＣ２４〜３０の１画像あたり総必要アクセス回数を計算する。すなわち、
（総必要アクセス回数）＝（総データ量）／（１アクセスの処理可能データ量）
である。
【００３９】
図９に示す例では、各ＤＭＡＣ１２４〜１３０が処理する総データ量を１２００ｋＢ、任意のタイミングでＤＭＡＣ１２４〜１３０の優先順位がそれぞれ１、２、４、３であったとする。優先順位の値が低いほど、優先順位は高い。
【００４０】
算出器１４４〜１５０は、対応するＤＭＡＣ１２４〜１３０の総必要アクセス回数から実行済みのアクセス回数を減算して、残り必要アクセス回数を算出する。比較器１５２は、各算出器１４４〜５０９からの残り必要アクセス回数を比較し、必要回数の多いＤＭＡＣにより高い優先順位を設定する。ただし、基準ＤＭＡＣとして選択されたＤＭＡＣには、常に最も高い優先順位を設定する。また、複数のＤＭＡＣ間で残り必要アクセス回数が同一である場合、初期優先順位の高かったＤＭＡＣの優先順位を高くする。
【００４１】
１つの画像に対するＤＭＡＣ１２４〜１３０による全データの転送が完了するまで（Ｓ８０６）、調停回路１３８はＳ８０２〜Ｓ８０５の処理を繰り返す。１つの画像の全データ転送が完了すると（Ｓ８０６）、調停回路１３８は、図８に示す処理を終了する。
【００４２】
本実施例でも、基準ＤＭＡＣのメモリ３６へのアクセス要求の優先順位は固定されているが、１Ｖ期間内に処理が終了可能な範囲であれば、基準ＤＭＡＣの優先順位も再設定の対象としてもよい。また、本実施例では、調停回路１３８内で残り必要アクセス回数を算出したが、各ＤＭＡＣ内で残り必要アクセス回数を算出し、調停回路は、各ＤＭＡＣからの残り必要アクセス回数の情報に従い優先順位を再設定するようにしてもよい。
【００４３】
上記各実施例では、同時実行する複数の処理のためのメモリアクセスを最適に調停することができ、これにより、単位期間（１Ｖ期間）を短縮できる。連写の場合でいえば、１秒当たりの連写枚数を増やすことができる。
【００４４】
また、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。
【００４５】
また、上述した実施形態においては、画像データを複数の処理手段で逐次的かつ並列に処理する装置に適用した場合を説明したが、本発明は、この実施例に限定されない。より一般的には、複数の処理手段がメモリを共有し、一定時間内にそれぞれの処理を完了する必要のあるシステムにおいて、複数の処理手段によるメモリアクセスを効率的に調停する場合一般に適用可能である。
【００４６】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2017123086.tif 000003
【図２】
2017123086.tif 000004
【図３】
2017123086.tif 000005
【図４】
2017123086.tif 000006
【図５】
2017123086.tif 000007
【図６】
2017123086.tif 000008
【図７】
2017123086.tif 000009
【図８】
2017123086.tif 000010
【図９】
2017123086.tif 000011