(57)【要約】【課題】  リアルタイムでの処理を行えるようにする。【解決手段】  リアルタイム性の高いバスマスタであって、撮像素子１０からの撮像データをＤＭＡ伝送する第１のＤＭＡコントローラ（第１のマスタ）１６にデータバッファ１００を設け、このデータバッファ１００のデータ蓄積量と所定の閾値との大小判定から、バスバンド幅を推定し、バスバンド幅が足りないと推定された場合においては、他のバスマスタ２２、２６からの要求の一部あるいは全てを禁止することにより、第１のＤＭＡコントローラ（第１のマスタ）１６に多くのバンド幅を割り当てるようにして、撮像データをＳＤＲＡＭに記録する処理をリアルタイムで行えることを保証できるようにする。【選択図】  図１
2006189919.tif 000002
【特許請求の範囲】
【請求項１】
情報処理を行う第１〜第ｎ（ｎは２以上の自然数）のバスマスタから、バススレーブに対して行われる要求を受け付け、受け付けた要求の何れかを前記バススレーブに対して出力する要求受付処理手段と、
前記第１のバスマスタで処理されるデータを蓄積する蓄積手段と、
前記蓄積手段に蓄積されたデータの蓄積量と、閾値とを比較する比較手段と、
前記比較手段により行われた比較の結果に応じて、前記第２〜第ｎのバスマスタから、前記バススレーブに対して行われる要求の少なくとも１つを禁止する禁止手段とを有し、
前記バススレーブは、前記第１〜第ｎのバスマスタからの要求に基づいて情報処理を行うことを特徴とする電子機器。
【請求項２】
被写体を撮像する撮像素子と、
前記蓄積手段は、前記撮像素子を用いた撮像動作に基づいて得られた画像データを蓄積することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記第１〜第ｎのバスマスタから前記バススレーブに対して行われる要求、及びその要求に対する応答が、前記第１〜第ｎ（ｎは２以上の自然数）のバスマスタ間で非同期に行われるスプリットバストランザクション方式であることを特徴とする請求項１又は２に記載の電子機器。
【請求項４】
前記比較手段により行われた比較の結果に応じて、前記禁止手段によりなされた要求の禁止を解除する解除手段を有し、
前記比較手段は、前記蓄積手段に蓄積されたデータの蓄積量と、前記第２〜第ｎのバスマスタからバススレーブに対して行われる要求の少なくとも１つを禁止するか否かを判断するための第１の閾値、及び前記要求の禁止を解除するか否かを判断するための第２の閾値とを比較することを特徴とする請求項１〜３の何れか１項に記載の電子機器。
【請求項５】
前記比較手段は、前記蓄積手段に蓄積されたデータの蓄積量と、複数の閾値とを比較し、比較した結果に基づく複数の禁止信号を生成し、
前記禁止手段は、前記比較手段により生成された複数の禁止信号に基づいて、前記第２〜第ｎのバスマスタから、前記バススレーブに対して行われる複数の要求を部分的に禁止することを特徴とする請求項１〜３の何れか１項に記載の電子機器。
【請求項６】
前記比較手段は、前記蓄積手段に蓄積されたデータの蓄積量と、前記第２〜第ｎのバスマスタからバススレーブに対して行われる要求の少なくとも１つを禁止するか否かを判断するための複数の閾値、及び前記要求の禁止を解除するか否かを判断するための複数の閾値とを比較することを特徴とする請求項５に記載の電子機器。
【請求項７】
情報処理を行う第１〜第ｎ（ｎは２以上の自然数）のバスマスタから、バススレーブに対して行われる要求を受け付け、受け付けた要求の何れかを前記バススレーブに対して出力する要求受付処理ステップと、
前記第１のバスマスタで処理されるデータを蓄積する蓄積ステップと、
前記蓄積ステップにより蓄積されたデータの蓄積量と、閾値とを比較する比較ステップと、
前記比較ステップにより行われた比較の結果に応じて、前記第２〜第ｎのバスマスタから、前記バススレーブに対して行われる要求の少なくとも１つを禁止する禁止ステップとを有することを特徴とする制御方法。
【請求項８】
被写体を撮像する撮像ステップを有し、
前記蓄積ステップは、前記撮像ステップによる撮像動作に基づいて得られた画像データを蓄積することを特徴とする請求項７に記載の制御方法。
【請求項９】
前記第１〜第ｎのバスマスタから前記バススレーブに対して行われる要求、及びその要求に対する応答を、前記第１〜第ｎ（ｎは２以上の自然数）のバスマスタ間で非同期に行うことを特徴とする請求項７又は８に記載の制御方法。
【請求項１０】
前記比較ステップにより行われた比較の結果に応じて、前記禁止ステップによりなされた要求の禁止を解除する解除ステップを有し、
前記比較ステップは、前記蓄積ステップにより蓄積されたデータの蓄積量と、前記第２〜第ｎのバスマスタからバススレーブに対して行われる要求の少なくとも１つを禁止するか否かを判断するための第１の閾値、及び前記要求の禁止を解除するか否かを判断するための第２の閾値とを比較することを特徴とする請求項７〜９の何れか１項に記載の制御方法。
【請求項１１】
前記比較ステップは、前記蓄積ステップにより蓄積されたデータの蓄積量と、複数の閾値とを比較し、比較した結果に基づく複数の禁止信号を生成し、
前記禁止ステップは、前記比較ステップにより生成された複数の禁止信号に基づいて、前記第２〜第ｎのバスマスタから、前記バススレーブに対して行われる複数の要求を部分的に禁止することを特徴とする請求項７〜９の何れか１項に記載の制御方法。
【請求項１２】
前記比較ステップは、前記蓄積ステップにより蓄積されたデータの蓄積量と、前記第２〜第ｎのバスマスタからバススレーブに対して行われる要求の少なくとも１つを禁止するか否かを判断するための複数の閾値、及び前記要求の禁止を解除するか否かを判断するための複数の閾値とを比較することを特徴とする請求項１１に記載の制御方法。
【請求項１３】
情報処理を行う第１〜第ｎ（ｎは２以上の自然数）のバスマスタから、バススレーブに対して行われる要求を受け付け、受け付けた要求の何れかを前記バススレーブに対して出力する要求受付処理ステップと、
前記第１のバスマスタで処理されるデータを蓄積する蓄積ステップと、
前記蓄積ステップにより蓄積されたデータの蓄積量と、閾値とを比較する比較ステップと、
前記比較ステップにより行われた比較の結果に応じて、前記第２〜第ｎのバスマスタから、前記バススレーブに対して行われる要求の少なくとも１つを禁止する禁止ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、制御方法及びコンピュータプログラムに関し、特に、複数のバスマスタが、バススレーブに対し要求を行って情報処理を行うために用いて好適なものである。
【背景技術】
【０００２】
従来のバス管理方法には、ＣＰＵ（Central Processing Unit）、ＤＭＡＣ（Direct Memory Access Controller）等がバスマスタとしてバスを管理する方法が知られている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開平１１−２７２６０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、昨今、システムの多機能化が進むことに伴い、ＣＰＵや、ＤＭＡＣ以外の多数のバスマスタが接続されると、あるバスマスタがバスを占有する間、ほかのバスマスタがバスへのアクセスを待たされ、バスを使用できるまでの待ち時間が長くなる。
【０００５】
そこで、バスが使用できるようになるまでの待ち時間を解消するために、スレーブへのアクセスの要求と応答を分離し、それぞれに対し、複数のマスタが非同期にバスにアクセスできる、スプリットバストランザクションという方式が採用されるようになった。この方式を採用することにより、あるマスタがバスを占有することなく、複数のマスタが非同期に連続して要求と応答を行うことが可能となり、バス全体としてのスループットが向上し、バス効率（バンド幅）を高めることが可能となった。
【０００６】
しかしながら、例えば、スレーブとなるデバイスがＳＤＲＡＭで、多数のマスタが、非同期にかつランダムに、同一バンクの異なるページ（ＲＯＷアドレス）へアクセスするような場合（以下、ページコンフリクトと呼ぶ）、即ちページクローズ（ＳＤＲＡＭへのプリチャージ）及びページオープン（ＳＤＲＡＭへのページアクティブコマンド）が、ＳＤＲＡＭへのアクセス毎に発生する場合、バス転送効率が大幅に低減することがある。
【０００７】
また、ＳＤＲＡＭ以外でも、スレーブとなる他のデバイスに固有の要因によって、スレーブの応答が遅れることが多々ある。よって、すべてのアプリケーションにおいて必ずしも最適な応答速度が得られるとは限らない。スプリットバス制御方式では、全体のスループットの向上は望めるものの、応答が非同期であるために、応答速度を予測することが困難な場合がある。従って、スレーブとなるデバイスがＳＤＲＡＭの場合のように、ページコンフリクトが頻繁に起こる場合は、バスのパフォーマンスは著しく低下する。このような場合、リアルタイム性の高いマスタのリアルタイム保証が難しくなってくる。
【０００８】
例えば、デジタルカメラにおいて、撮像データの取り込みを行うような場合には、センササイズの増大とともに処理するデータ量も比例し、特に、多数の撮像データを連写する場合においては、多量のデータ処理におけるリアルタイム性を保証しなくてはならない。一般的にリアルタイム保証をする場合は、当該リアルタイム性の高いマスタに高い優先度を与える。具体的には、全マスタ間で要求の調停（アービトレーション）を行い、前記のようなリアルタイム性の高いマスタには、高い優先度を割り当て、大幅なバンド幅を割り当てることより、リアルタイム保証している。
【０００９】
しかしながら、スプリットバス制御方式であると、マスタは要求を先行して発行し、スレーブからの応答を、要求を発行した後に、非同期に受けとる。応答速度は、バスの転送効率に依存する場合が多く、前記の例のようなページコンフリクトが頻発するケースでは、応答が大幅に遅れる場合が発生する。そして、マスタが先行して発行する要求の量は限界がある。
【００１０】
つまり、マスタは、要求データを送受信できる準備ができた段階で、要求コマンドをスレーブに対して送信するのであるが、応答が大幅に遅れるような場合においては、要求送信数に限界がある。したがって、優先度を高くしたいマスタの優先度をバスアービターで高く設定したとしても、当該マスタが要求の限界数を出し切った状態においては、要求をそれ以上に出すことができず、その間に、別のマスタの要求が割り込み、結果的に優先度を高くしたいマスタに十分なバス帯域（バンド幅）を割り当てられないことがある。即ち、スレーブの応答速度によっては、適切なアービトレーションを行えないことが起こりえる。そして、このような場合、リアルタイム性の高いバスであってもリアルタイムでの処理が困難になるという問題が生じる。
【００１１】
そこで、本発明は、リアルタイムでの処理を行えるようにすることを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る電子機器は、情報処理を行う第１〜第ｎ（ｎは２以上の自然数）のバスマスタから、バススレーブに対して行われる要求を受け付け、受け付けた要求の何れかを前記バススレーブに対して出力する要求受付処理手段と、前記第１のバスマスタで処理されるデータを蓄積する蓄積手段と、前記蓄積手段に蓄積されたデータの蓄積量と、閾値とを比較する比較手段と、前記比較手段により行われた比較の結果に応じて、前記第２〜第ｎのバスマスタから、前記バススレーブに対して行われる要求の少なくとも１つを禁止する禁止手段とを有し、前記バススレーブは、前記第１〜第ｎのバスマスタからの要求に基づいて情報処理を行うことを特徴とする。
【００１３】
本発明に係る制御方法は、情報処理を行う第１〜第ｎ（ｎは２以上の自然数）のバスマスタから、バススレーブに対して行われる要求を受け付け、受け付けた要求の何れかを前記バススレーブに対して出力する要求受付処理ステップと、前記第１のバスマスタで処理されるデータを蓄積する蓄積ステップと、前記蓄積ステップにより蓄積されたデータの蓄積量と、閾値とを比較する比較ステップと、前記比較ステップにより行われた比較の結果に応じて、前記第２〜第ｎのバスマスタから、前記バススレーブに対して行われる要求の少なくとも１つを禁止する禁止ステップとを有することを特徴とする。
【００１４】
本発明に係るコンピュータプログラムは、情報処理を行う第１〜第ｎ（ｎは２以上の自然数）のバスマスタから、バススレーブに対して行われる要求を受け付け、受け付けた要求の何れかを前記バススレーブに対して出力する要求受付処理ステップと、前記第１のバスマスタで処理されるデータを蓄積する蓄積ステップと、前記蓄積ステップにより蓄積されたデータの蓄積量と、閾値とを比較する比較ステップと、前記比較ステップにより行われた比較の結果に応じて、前記第２〜第ｎのバスマスタから、前記バススレーブに対して行われる要求の少なくとも１つを禁止する禁止ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、第１のバスマスタで処理されるデータの蓄積量と、閾値との比較結果に応じて、前記第２〜第ｎのバスマスタから、前記バススレーブに対して行われる要求の少なくとも１つを禁止するようにしたので、前記禁止された要求を行った第２〜第ｎバスマスタのバンド幅を第１のバスマスタへ割り振ることができる。これにより、第１のバスマスタのリアルタイム保証を可及的に行うことができる。
【発明を実施するための最良の形態】
【００１６】
次に、図面を参照しながら、本発明の実施形態について説明する。以下の全ての実施形態では、電子機器の一例としてデジタルカメラを採用するが、デジタルカメラの代わりにデジタルビデオカメラ、カメラ付き携帯電話等の撮像装置を採用することも可能である。
（第１の実施形態）
図１は、第１の実施形態に係るデジタルカメラの構成の一例を示すブロック図である。以下、図１について説明する。
図１において、８０は、データバスである。本実施形態のデータバス８０は、システムバスと画像データバスとを兼用するものであっても、システムバスと画像データバスとを異なるバスで構成するものであっても良い。
【００１７】
１０は、被写体の光学像を撮影し、その撮像信号を生成する撮像素子（ＣＣＤ等）である。１１は、撮像素子１０で生成された撮像信号である。１２は、撮像信号１１のノイズ除去を行う相関２重サンプリング回路(ＣＤＳ)と、ＣＤＳから出力された撮像信号１１を適正なレベルに増幅するためのオートゲインコントロール回路(ＡＧＣ)と、ＡＧＣから出力された撮像信号１１をデジタル化することにより撮像信号１１を撮像データに変換するＡ／Ｄ変換回路とを備えた回路群である。
【００１８】
１３は、回路群１２から出力される撮像データを伝送するデータ線である。１４は、撮像データに対して黒レベル補正、シェーディング補正等を適正に行う撮像処理回路である。１５は、撮像処理回路１４より出力される撮像データを伝送するデータ線である。１６は、撮像処理回路１４より出力された撮像データをＤＭＡ転送するための第１のＤＭＡＣ（第１のマスタ）である。１７は、第１のＤＭＡＣ（第１のマスタ）１６がスレーブとなるメモリコントローラ７５に対して送信要求を発行するための要求信号や、メモリコントローラ７５で要求を受け付けたことを第１のＤＭＡＣ（第１のマスタ）１６に通知するための要求受付信号等を伝送するデータ線である。
【００１９】
１８は、第１のＤＭＡＣ（第１のマスタ）１６からバス８０にデータを伝送するデータ線である。１９は、他のマスタからの要求を禁止することを指示するための要求禁止制御信号を伝送するデータ線である。この要求禁止制御信号は、第１のＤＭＡＣ（第１のマスタ）１６が、リアルタイム保証を行えなくなったことを判定した場合に、第１のＤＭＡＣ（第１のマスタ）１６からバスアービター回路７０に送信される。２０は、撮像データ２１に対して適正な画像処理を行い、撮像データ２１をＪＰＥＧ等の画像圧縮方法に従って圧縮画像データへ変換する処理を行って、現像データを生成する現像処理回路である。２１は、第２のＤＭＡＣ（第２のマスタ）２２から出力される撮像データである。２２は、撮像データ２１をＤＭＡ転送するための第２のＤＭＡＣ（第２のマスタ）である。２３は、第２のＤＭＡＣ(第２のマスタ)２２が、メモリコントローラ（スレーブ）７５に対して、受信要求を発行するための要求信号や、メモリコントローラ７５で要求を受け付けたことを第２のＤＭＡＣ（第２のマスタ）２２に通知するための要求受付信号等である。２４は、第２のＤＭＡＣ（第２のマスタ）２２とバス８０とを接続するデータ線である。
【００２０】
２５は、現像処理回路２０で生成された現像データを伝送するデータ線である。２６は、現像データをＤＭＡ転送するための第３のＤＭＡＣ（第３のマスタ）である。２７は、第３のＤＭＡＣ(第３のマスタ)２６が、メモリコントローラ（スレーブ）７５に対して、送信要求を発行するための要求信号や、メモリコントローラ７５で要求を受け付けたことを第３のＤＭＡＣ（第３のマスタ）２６に通知するための要求受付信号等を伝送するデータ線である。
【００２１】
２８は、第３のＤＭＡＣ（第３のマスタ）２６からバス８０にデータを伝送するデータ線である。３２は、圧縮画像データのデコード処理、リサイズ処理、ビデオ信号変換処理等を行い、ビデオ信号を生成するための再生処理回路である。３０は、再生処理回路３２より生成されたビデオ信号を表示するための表示装置である。３１は、再生処理回路３２で生成され、表示装置３０へ出力されるビデオ信号を伝送するデータ線である。
【００２２】
３４は、再生処理回路３２へバス８０を介して受信したデータをＤＭＡ転送するための第４のＤＭＡＣ（第４のマスタ）である。３３は、第４のＤＭＡＣ（第４のマスタ）３４から再生処理回路３２へ送信されるデータ等を伝送するデータ線である。３５は、第４のＤＭＡＣ（第４のマスタ）３４がメモリコントローラ（スレーブ）７５に対して、受信要求を発行するための要求信号や、メモリコントローラ７５で要求を受け付けたことを第４のＤＭＡＣ（第４のマスタ）３４に通知するための要求受付信号等を伝送するデータ線である。３６は、バス８０から第４のＤＭＡＣ（第４のマスタ）３４にデータを伝送するデータ線である。
【００２３】
５０は、コンパクトフラッシュ（登録商標）カード（ＣＦカード）、ＳＤカード等の記憶メディアであり、データの記録、あるいは既に記録されたデータを読み出すための装置である。５２は、記憶メディア５０とのインターフェースを行うストレージデバイスコントローラである。５１は、記憶メディア５０と、ストレージデバイスコントローラ５２との間で送受信されるデータを伝送するデータ線である。５４は、ストレージデバイスコントローラ５２のデータとバス８０との間において、データをＤＭＡ転送するための第５のＤＭＡＣ（第５のマスタ）である。５３は、ストレージデバイスコントローラ５２と第５のＤＭＡＣ（第５のマスタ）との間で送受信されるデータを伝送するデータ線である。５５は、第５のＤＭＡＣ５（第５のマスタ）がメモリコントローラ（スレーブ）７５に対して、送信要求を発行するための要求信号や、ＳＤＲＡＭ７２へのアドレス等の情報を伝送するデータ線である。５６は、第５のＤＭＡＣ（第５のマスタ）５４からバス８０及びバス８０から第５のＤＭＡＣ（第５のマスタ）５４にデータを伝送するデータ線である。
【００２４】
６０は、デジタルカメラ全体を制御するＣＰＵ（第６のマスタである）。６１は、ＣＰＵ（第６のマスタ）６０がメモリコントローラ（スレーブ）７５に対して、送信要求を発行するための要求信号や、ＳＤＲＡＭ７２へのアドレス等の情報を伝送するデータ線である。６２は、ＣＰＵ（第６のマスタ）６０からバス８０及びバス８０からＣＰＵ（第６のマスタ）６０にデータを伝送するデータ線である。７０は、ＣＰＵ（第６のマスタ）６０、第１のＤＭＡＣ（第１のマスタ）１６、第２のＤＭＡＣ（第２のマスタ）２２、第３のＤＭＡＣ（第３のマスタ）２６、第４のＤＭＡＣ（第４のマスタ）３４及び第５のＤＭＡＣ（第５のマスタ）５４から、データ線１７、２３、２７、３５、５５、６１を介して伝送される要求信号の何れかを、あらかじめ決められた優先順位によって選択するバスアービターである。
【００２５】
７１は、バスアービター回路７０によって選択（アービトレーション）された要求信号や、バスアービター回路７０からの要求を受け付けたことを示す要求受付信号等のインターフェースを行う信号を伝送するデータ線である。７２は、画像データ等を保持するためのメモリ素子である大容量メモリデバイス（ＳＤＲＡＭ）である。７５は、ＳＤＲＡＭ７２へのデータのリード／ライトを行うためのコントローラ（メモリコントローラ）である。７３は、ＳＤＲＡＭ７２からメモリコントローラ７５及びメモリコントローラ７５からＳＤＲＡＭ７２にデータを伝送するデータ線である。７４は、メモリコントローラ（スレーブ）７５からバス８０及びバス８０からメモリコントローラ（スレーブ）７５にデータを伝送するデータ線である。
【００２６】
図２は、図１における第１のＤＭＡＣ（第１のマスタ）１６の概略構成の一例を示したブロック図である。図３は、図１におけるバスアービター回路７０の概略構成の一例を示した機能ブロック図である。以下、図２及び図３について説明をする。但し、簡単のために図３では、マスタからの要求信号を、第１のＤＭＡＣ（第１のマスタ）１６からデータ線１７を介して伝送される要求信号、第２のＤＭＡＣ（第２のマスタ）２２からデータ線２３を介して伝送される要求信号、及び第３のＤＭＡＣ（第３のマスタ）２６からデータ線２７を介して伝送される要求信号の３つに限定している。マスタの数が３つを超えてもバスアービター回路７０の制御方式は同じである。
【００２７】
図２において、１００は、第１のＤＭＡＣ（第１のマスタ）１６内のデータバッファである。
また、図３において、２２１は、第１〜第３のＤＭＡＣ（第１〜第３のマスタ）１６、２２、２６からデータ線１７、２３、２７を介して伝送される要求信号に基づく要求を禁止する要求禁止信号を生成するための要求禁止制御回路である。１９は、図１で説明したとおり第１のＤＭＡＣ（第１のマスタ）１６が他のマスタを禁止することを示す要求禁止制御信号を伝送するデータ線である。なお、ここでは、簡単のために、第１のＤＭＡＣ（第１のマスタ）１６が他のマスタを禁止する信号のみを示しているが、第１のＤＭＡＣ（第１のマスタ）１６以外のマスタが他のマスタを禁止するようにしても良い。
【００２８】
２０８は、第１のＤＭＡＣ（第１のマスタ）１６の要求が、その他のどのマスタに禁止されるのかを示す信号を伝送するデータ線である。２０９は、第２のＤＭＡＣ（第２のマスタ）２２の要求が、その他のどのマスタに禁止されるのかを示す信号を伝送するデータ線である。２１０は、第３のＤＭＡＣ（第３のマスタ）２６の要求が、その他のどのマスタに禁止されるのかを示す信号を伝送するデータ線である。
【００２９】
２１２は、要求禁止制御回路２２１より生成された第１のＤＭＡＣ（第１のマスタ）１６からの要求を禁止する要求禁止信号を伝送するデータ線である。２１３は、要求禁止制御回路２２１より生成された第２のＤＭＡＣ（第２のマスタ）２２からの要求を禁止する要求禁止信号を伝送するデータ線である。２１４は、要求禁止制御回路２２１より生成された第３のＤＭＡＣ（第３のマスタ）２６からの要求を禁止する要求禁止信号を伝送するデータ線である。
【００３０】
２１６は、第１のＤＭＡＣ（第１のマスタ）からの要求を禁止するためにデータ線２１２を介して送信された要求禁止信号により制御された、第１のＤＭＡＣ（第１のマスタ）１６からの最終的な要求信号を伝送するデータ線である。２１７は、第２のＤＭＡＣ（第２のマスタ）２２からの要求を禁止するためにデータ線２１３を介して送信された要求禁止信号により制御された、第２のＤＭＡＣ（第２のマスタ）２２からの最終的な要求信号を伝送するデータ線である。２１８は、第３のＤＭＡＣ（第３のマスタ）からの要求を禁止するためにデータ線２１４を介して送信された要求禁止信号により制御された、第３のＤＭＡＣ（第３のマスタ）２６からの最終的な要求信号を伝送するデータ線である。
【００３１】
２２２は、データ線２１６〜２１８を介して伝送された要求信号をアービトレーションするアービトレーション回路である。本実施形態のアービトレーション回路２２２は、個々の要求の優先順位をプログラマブルに設定可能な固定プライオリティとして動作するか、ラウンドロビン方式でプライオリティを順次、均等に割り振る方式等を備えているものとする。
【００３２】
（撮像モード）
レリーズがオンになると、ＣＰＵ６０は撮像モードに遷移する。また、このとき、撮像素子１０は、被写体の光学像を撮像し、その撮像信号を生成し、生成した撮像信号を回路群１２へ送信する。撮像モードに遷移した後、ＣＰＵ６０は第１のＤＭＡＣ（第１のマスタ）１６を起動する。回路群１２からデータ線１３に出力された撮像データは、撮像処理回路１４に送られて処理された後、第１のＤＭＡＣ（第１のマスタ）１６へ送られる。
【００３３】
第１のＤＭＡＣ（第１のマスタ）１６は、メモリコントローラ７５に対して送信要求を発行するための要求信号を、データ線１７を介してバスアービター回路７０へ送信する。この要求信号は、バスアービター回路７０で、アービトレーションされる。アービトレーションされた要求信号は、データ線７１を介して、メモリコントローラ（スレーブ）７５に送信される。メモリコントローラ(スレーブ)７５は、前記要求に対して、撮像データの受信準備ができれば、バスアービター回路７０からの要求を受け付けたことを示す要求受付信号を、データ線７１を介してバスアービター回路７０に送信する。そして、バスアービター回路７０は、メモリコントローラ７５で要求を受け付けたことを第１のＤＭＡＣ（第１のマスタ）１６に通知するための要求受付信号を、データ線１７を介して第１のＤＭＡＣ（第１のマスタ）１６に送信する。
【００３４】
更に、メモリコントローラ（スレーブ）７５は、第１のＤＭＡＣ（第１のマスタ）１６に対して、データ有効信号と、マスタＩＤとを送信する。第１のＤＭＡＣ（第１のマスタ）１６は、このデータ有効信号やマスタＩＤに同期して、データ線１８に対して撮像データを送信する。この撮像データは、バス８０、データ線７４を介し、メモリコントローラ（スレーブ）７５にて受信される。受信された撮像データは、データ線７３を介して、ＳＤＲＡＭ７２に送信され保持される。本実施形態の撮像モードにおける撮像処理では、第１のＤＭＡＣ（第１のマスタ）１６以外の他のマスタが並行して動作している。これらすべてのマスタからの要求は、バスアービター回路７０にて予め決められた優先順位によってアービトレーションされる。ＳＤＲＡＭ７２に保持された撮像データは、すべての転送が完了すると、第１のＤＭＡＣ（第１のマスタ）１６からの割り込み信号をＣＰＵ６０へ送信する。また、前記撮像処理に必要なすべてのマスタからの割り込み信号をＣＰＵ６０が受信すると、ＣＰＵ６０は、撮像処理の完了を確認し、ＳＤＲＡＭ７２へ保持された撮像データの現像処理モードへ遷移する。
【００３５】
（現像処理モード）
ＣＰＵ６０は、現像処理モードへ遷移すると、現像処理モードに適切な設定を、現像処理回路２０に対して行い、第２のＤＭＡＣ（第２のマスタ）２２を起動する。また、これと同時に、ＣＰＵ６０は、現像処理された撮像データをメモリコントローラ（スレーブ）７５へ送信するための第３のＤＭＡＣ（第３のマスタ）２６も起動させる。第２のＤＭＡＣ(第２のマスタ)２２が起動すると、ＳＤＲＡＭ７２に保持された撮像処理後の撮像データを受信するために、第２のＤＭＡＣ（第２のマスタ）２２は、バスアービター回路７０に対して、受信要求を発光するための要求信号をデータ線２３に送信する。この要求信号を受け付けたバスアービター回路７０は、予め設定された優先順位に従ってこの要求信号に対してアービトレーションを行う。
【００３６】
アービトレーションされた要求信号は、データ線７１を介してメモリコントローラ（スレーブ）７５へ送信される。メモリコントローラ（スレーブ）７５は、撮像データの送信準備ができた段階で、データ線２３に要求信号を送信した第２のＤＭＡＣ（第２のマスタ）２２へ、要求受付信号を、データ線７１を介してバスアービター回路７０に送信する。そして、バスアービター回路７０は、メモリコントローラ７５で要求を受け付けたことを第２のＤＭＡＣ（第２のマスタ）２２に通知するための要求受付信号を、データ線２３を介して第２のＤＭＡＣ（第２のマスタ）２２に送信する。その後、メモリコントローラ（スレーブ）７５は、データ線７３を介して、ＳＤＲＡＭ７２から撮像データを読み出す。
【００３７】
メモリコントローラ（スレーブ）７５は、データ有効信号とマスタＩＤと共に、読み出された撮像データを、データ線７４、バス８０、データ線２４を介して、第２のＤＭＡＣ（第２のマスタ）２２へ送信する。前記撮像データを受信した第２のＤＭＡＣ（第２のマスタ）２２は、データ線２１を介して、前記受信した撮像データを現像処理回路２０へ送信する。現像処理回路２０では、予めＣＰＵ６０より設定された現像パラメータによって、前記撮像データを画像処理する。
【００３８】
そして、現像処理回路２０は、最終的な現像処理を行う画像フォーマット、例えば圧縮画像データに保存するのに最適なフォーマットであるＹＣｂＣｒ形式のフォーマットに、前記画像処理した撮像データを変換する。更に、現像処理回路２０は、最終的な現像処理データとして保存するのに適切な画像サイズに、前記ＹＣｂＣｒ形式のフォーマットに変換した撮像データをリサイズするリサイズ処理を行い、例えばＪＰＥＧ形式に圧縮処理する。このときの画像フォーマットは、ＪＰＥＧでは、ベースラインＪＰＥＧであっても良いし、ロスレス形式のＤＰＣＭによる処理を行ったＪＰＥＧ画像でもよい。また、ＴＩＦＦ形式や、画像補間処理やフォーマット変換を行わないＲＡＷデータであっても構わない。これらの画像フォーマットのうち、どの画像フォーマットで記録するのかについては、ＣＰＵ６０からの設定で予め設定されている。
【００３９】
前記画像フォーマットで現像処理されたデータは、データ線２５を介して第３のＤＭＡＣ（第３のマスタ）２６へ送信される。第３のＤＭＡＣ（第３のマスタ）２６は、メモリコントローラ７５に対して送信要求を発行するための要求信号を、データ線２７を介してバスアービター回路７０へ送信する。この要求信号は、バスアービター回路７０で、アービトレーションされる。アービスレーションされた要求信号は、データ線７１を介してメモリコントローラ（スレーブ）７５に送信される。メモリコントローラ(スレーブ)７５は、前記要求に対して、データの受信準備ができれば、バスアービター回路７０からの要求を受け付けたことを示す要求受付信号を、データ線７１を介してバスアービター回路７０に送信する。そして、バスアービター回路７０は、メモリコントローラ７５で要求を受け付けたことを第３のＤＭＡＣ（第３のマスタ）２６に通知するための要求受付信号を、データ線２７を介して第３のＤＭＡＣ（第３のマスタ）２６に送信する。
【００４０】
更に、メモリコントローラ（スレーブ）７５は、第３のＤＭＡＣ（第３のマスタ）２６に対して、データ有効信号と、マスタＩＤとを送信する。第３のＤＭＡＣ（第３のマスタ）２６は、このデータ有効信号やマスタＩＤに同期して、データ線２８に対して現像処理された撮像データを送信する。この現像処理された撮像データは、バス８０、データ線７４を介して、メモリコントローラ（スレーブ）７５にて受信され、データ線７３を介して、ＳＤＲＡＭ７２に送信され保持される。また、前記現像処理された撮像データは、記憶メディア５０へ記録される。記憶メディア５０への記録は、第５のＤＭＡＣ(第５のマスタ)５４を介して行われるが、詳細な処理については説明を省略する。
【００４１】
（同時処理モード）
同時処理モードは、前記撮像モードと、前記現像処理モードとをそれぞれ連続に並行して行うモードである。デジタルカメラが連写を行うモードの場合には、レリーズがオンの状態の間、前記撮像モードと同様の処理にて、撮像データを連続してＳＤＲＡＭ７２に記録し続ける。それと並行して、前記ＳＤＲＡＭ７２に保持された撮像データは、前記の現像処理モードと同様の処理にて、次々と現像処理がなされて、現像処理された撮像データが、ＳＤＲＡＭ７２に記録され、最終的に記憶メディア５０に記録される。このように、本実施形態の同時処理モードにおいては、前記撮像モードと、前記現像処理モードとが並行して処理されることとなる。
【００４２】
したがって、本実施形態の同時処理モードにおいては、第１のＤＭＡＣ（第１のマスタ１）１６、第２のＤＭＡＣ（第２のマスタ）２２、及び第３のＤＭＡＣ（第３のマスタ）２６と、図１には記載されていないが、同時処理モードを行うためのこれら以外の多数のマスタとがメモリコントローラ（スレーブ）７５に対して、並行してトランザクションを起こす。このとき、本実施形態の同時処理モードにおいては、多数のマスタがひとつのスレーブに対してトランザクションを起こすために、バンド幅をそれぞれに対して十分に供給することが難しくなる。
【００４３】
更に、現像処理時には、撮像データを記憶（ライト）しているＳＤＲＡＭ７２のバンクと同一のバンクからの読み出しを行う可能性が高く、このとき、撮像データのＳＤＲＡＭ７２への書き込みと、現像処理における撮像データの読み出しとが、ページコンフリクトを起こす可能性がある。このようにページコンフリクトを起こした場合においては、ＳＤＲＡＭ７２へのデータ書き込み、及び読み出しに時間を要し、バンド幅が著しく低下する恐れがある。このような場合においても、第１のＤＭＡＣ（第１のマスタ）１６において行われる、撮像データのＳＤＲＡＭ７２への書き込みがリアルタイムに行われるように保証（リアルタイム保証）をしなくてはならない。以下に、本実施形態での制御方式を先に説明した図１、図２、及び図３を用いて説明する。
【００４４】
まず、撮像データは、データ線１５より、データバッファ１００に入力される。データバッファ１００は、要求信号を送信できる分量の撮像データを蓄積すると、その要求信号を、データ線１７を介してバスアービター回路７０へ送信する。要求するデータ量は任意に設定可能である。図２では、簡単のため、「１」、「２」、「３」、「４」と、要求できるデータ量を数字で区切っている。データバッファ１００は、初期状態では、データがまったく蓄積されていない。
【００４５】
撮像データがデータバッファ１００の「１」で示された領域に対応する分だけ蓄積されると、要求信号を、データ線１７を介してバスアービター回路７０に出力する。撮像データは、その間も、データバッファ１００の「２」の領域へ蓄積されつづける。データバッファ１００の「２」の領域に撮像データが蓄積されるまでは、第１のＤＭＡＣ（第１のマスタ）１６は、データ線１７に要求信号を出力することはない。この間に、他のマスタ、すなわち、第２のＤＭＡＣ（第２のマスタ）２２、第３のＤＭＡＣ（第３のマスタ）２６、及び図には記載されていない他のマスタが、データ線２３、２７を介して要求信号をバスアービター回路７０に送信し、第１のＤＭＡＣ（第１のマスタ）１６以外のマスタに対してバンド幅を供給する。
【００４６】
第１のＤＭＡＣ（第１のマスタ）１６が、データ線１７に要求信号を送信したのち、スレーブであるメモリコントローラ７５で要求を受け付けたことを第１のＤＭＡＣ（第１のマスタ）１６に通知するための要求受付信号がデータ線１７を介して返ってくると、要求を発行していたデータバッファ１００の「１」で示された領域にある撮像データが、データ線１８を介してメモリコントローラ（スレーブ）７５へ送信される。このようにして撮像データの送信が完了すると、データバッファ１００の「１」で示された領域では、データバッファ１００は空となる（すなわち、データ蓄積量はゼロとなる）。
【００４７】
第１のＤＭＡＣ(第１のマスタ)１６は、データバッファ１００のデータ蓄積量をカウントするカウンタを持ち、要求を発行できるだけデータを蓄積できれば、カウンタを加算する。また、応答時に、データバッファ１００の撮像データをメモリコントローラ（スレーブ）７５に送信したときに、このカウンタを減算する。即ち、前記カウンタは、第１のＤＭＡＣ（第１のマスタ）１６に蓄積されているデータの蓄積量を示すことになる。
【００４８】
前記データの蓄積量を示すカウンタの値が、データバッファ１００の全容量値よりも少ない場合においては、撮像データを処理するのに、十分なバンド幅が第１のＤＭＡＣ（第１のマスタ）１６に割り当てられていることになる。これに対し、前記カウンタの値が、データバッファ１００の全容量値に近づいた場合、即ち、撮像データを処理するのに十分なバンド幅が割り当てられていない場合は、トランザクションが破綻する恐れがある。
【００４９】
そこで、本実施形態では、データバッファ１００が、あるデータ蓄積量までデータを蓄えたら、比較的優先度の低いマスタからの要求信号を禁止する制御を行うようにしている。具体的には、データバッファ１００に設けられたカウンタの値が、予め設定された他のマスタからの要求を禁止する閾値レベルを超えた場合、他のマスタからの要求を禁止することを指示するための要求禁止制御信号を、データ線１９を介してバスアービター回路７０に送信して、他のマスタからの要求を禁止する。
【００５０】
例えば、第２のＤＭＡＣ（第２のマスタ）２２と、第３のＤＭＡＣ（第３のマスタ）２６は、現像処理を行っているマスタであるので、リアルタイム性を比較的必要としない。そこで、本実施形態では、これらのマスタ２２、２６からの要求を禁止する。また、閾値のレベル、禁止制御信号を複数用意し、ある閾値レベルでは、部分的にマスタからの要求を禁止して、別の閾値レベルでは、他の全てのマスタからの要求を禁止するような制御であってもよい。他のマスタの一部、あるいはすべてを禁止している状態であれば、第１のＤＭＡＣ（第１のマスタ）１６は、十分なバンド幅を得ることができ、他のマスタにバンド幅を割り当てない分、メモリコントローラ（スレーブ）７５からの応答をそれまでより早く受けることができ、データバッファ１００に蓄積されている撮像データを早く処理することが可能である。即ち、第１のＤＭＡＣ（第１のマスタ）に設けられたカウンタの値は、他のマスタからの要求を禁止した時の値よりは減っていき、しばらくすると閾値レベルを下回ることになる。
【００５１】
カウンタの値が閾値レベルを下回れば、要求禁止制御信号のデータ線１９への送信を解除して、他のマスタの一部、あるいは全てからの要求の禁止を解除する。他のマスタからの要求の禁止を解除するための閾値レベルは、他のマスタからの要求を禁止するための閾値レベルと同一でもよいし、別々に持っても良い。また、他のマスタからの要求を禁止するときと同様に、他のマスタからの要求の禁止を解除するための閾値レベルを複数設定し、これら複数の閾値レベルを用いて、他のマスタからの要求の禁止を解除するようにしても良い。
【００５２】
以上のようにすれば、第１のＤＡＭＣ（第１のマスタ）１６に十分なバンド幅が割り当てられている場合においては、第１のＤＡＭＣ（第１のマスタ）１６がバンド幅を占有することなく他のマスタにもバンド幅を均等に十分供給できるし、第１のＤＡＭＣ（第１のマスタ）１６に十分にバンド幅が割り当てられていない場合においては、第１のＤＡＭＣ（第１のマスタ）１６に対し、優先的にあるいは専用にバンド幅を割り当てることにより、リアルタイム保証を行うことが可能である。
【００５３】
撮像データを送信する第１のＤＡＭＣ（第１のマスタ）１６に十分なバンド幅が与えられている場合においては、第１のＤＡＭＣ（第１のマスタ）１６が他のマスタからの要求を禁止することを指示するためにデータ線１９に伝送される要求禁止制御信号は、ディスエーブル（無効）状態であり、第１のＤＡＭＣ（第１のマスタ）１６、第２のＤＡＭＣ（第２のマスタ）２２、及び第３のＤＡＭＣ（第３のマスタ）２６から、データ線１７、２３、２７を介して伝送された要求信号は、要求禁止制御されることなく、そのままバスアービター回路７０にてアービトレーションされ、アービトレーションされた要求信号が、データ線７１を介してメモリコントローラ（スレーブ）７５へ出力される。
【００５４】
ところが、前記に説明したようにバンド幅が十分でないと、第１のＤＡＭＣ（第１のマスタ）１６では、他のマスタからの要求を禁止することを指示するためにデータ線１９に伝送される要求禁止制御信号をアクティブにして他のマスタからの要求を禁止する。第２のＤＡＭＣ（第２のマスタ）２２、及び第３のＤＡＭＣ（第３のマスタ）２６の両者からの要求を禁止するのであれば、第２のＤＡＭＣ（第２のマスタ）２２、及び第３のＤＡＭＣ（第３のマスタ）２６が、それぞれどのマスタによって禁止されているかを示す信号として、第１のＤＡＭＣ（第１のマスタ）１６によって禁止されていることを示す信号を、例えば第１のＤＡＭＣ（第１のマスタ）１６からデータ線２０９、２１０を介して要求禁止制御回路２１１に送信し、第２のＤＡＭＣ（第２のマスタ）２２、及び第３のＤＡＭＣ（第３のマスタ）２６が、それぞれ第１のＤＡＭＣ（第１のマスタ）１６によって禁止されていることを設定する。
【００５５】
これにより、第１のＤＡＭＣ（第１のマスタ）１６以外の他のマスタからの要求を禁止することを指示するためにデータ線１９に伝送される要求禁止制御信号がアクティブになると、第２のＤＡＭＣ（第２のマスタ）２２からの要求を禁止するためにデータ線２１３に送信された要求禁止信号と、第３のＤＡＭＣ（第３のマスタ）２６からの要求を禁止するためにデータ線２１４に送信された要求禁止信号とがアクティブになる。第２のＤＡＭＣ（第２のマスタ）２２、及び第３のＤＡＭＣ（第３のマスタ）２６からの要求を禁止する制御を行った後にデータ線２１７、２１８に送信される要求信号は、第１のＤＡＭＣ（第１のマスタ）１６以外の他のマスタからの要求を禁止することを指示するためにデータ線１９に伝送される要求禁止制御信号がアクティブである間は、アービトレーション回路２２２への要求をマスクする。
【００５６】
そして、データ線１９に伝送される要求禁止制御信号がディスエーブルとなれば、第２のＤＡＭＣ（第２のマスタ）２２、及び第３のＤＡＭＣ（第３のマスタ）２６からの要求を禁止する状態が解除されて、第１のＤＡＭＣ（第１のマスタ）１６、第２のＤＡＭＣ（第２のマスタ）２２、及び第３のＤＡＭＣ（第３のマスタ）２６からの要求がマスクされることなく、データ線１７、２３、２７を介して伝送された要求信号に対して通常のアービトレーションを行うことになる。なお、ここでは、第１のＤＡＭＣ（第１のマスタ）１６以外の他のマスタからの要求を禁止することを指示するためにデータ線１９に伝送される要求禁止制御信号は、１つであり、１本の信号線を用いて伝送するようにしたが、部分的な禁止制御を行うために、複数の要求禁止制御信号を複数の信号線を用いて伝送するようにしても構わない。
【００５７】
次に、図４のフローチャートを用いて、特定のマスタでリアルタイム処理を可能にするためのデジタルカメラの処理動作の一例を説明する。
まず、ステップＳ１では、ＣＰＵ６０は、対象となるマスタ（第１のＤＭＡＣ（第１のマスタ）１６）の初期設定を行う。
次に、ステップＳ２では、ＣＰＵ６０は、マスタに設置されたデータバッファ１００のリアルタイム性を保証するためのデータバッファ量の閾値を設定する。
次に、ステップＳ３では、ＣＰＵ６０は、対象となるマスタである第１のＤＭＡＣ（第１のマスタ）１６を起動する。
次に、ステップＳ４では、撮像データのＤＭＡ伝送が終了したかどうかを判定する。この判定は一般的には、ＣＰＵ６０への割り込み処理にて行われる。この判定の結果、撮像データのＤＭＡ転送が終了した場合には、送受信を終了させる。一方、撮像データの送受信中においては、ステップＳ５に進み、ＣＰＵ６０は、データバッファ１００におけるデータ蓄積量と閾値との大小を判定する。
【００５８】
この判定の結果、データ蓄積量が、ステップＳ２において設定された閾値を上回ったら、ステップＳ６に進み、対象となるマスタ（第１のＤＭＡＣ（第１のマスタ）１６）は、他のマスタからの要求を禁止することを指示するための要求禁止制御信号を、データ線１９を介してバスアービター回路７０に送信する。これにより、バスアービター回路７０は、他のマスタからの要求を禁止する制御を行う。
【００５９】
一方、データ蓄積量が、ステップＳ２において設定された閾値以下であった場合は、ステップＳ７に進み、対象となるマスタ（第１のＤＭＡＣ（第１のマスタ）１６）は、データ線１９を介して伝送される要求禁止制御信号をディスエーブルとし、他のマスタからの要求の禁止を解除する。
以上のように、図４に示す制御フローチャートに従い、適当なタイミングで、対象となるマスタ（ＤＭＡＣ）のバッファ容量をモニタすることによって、各マスタの制御をソフトウェアにて実現することも容易に可能になる。
【００６０】
以上のように本実施形態では、第１のＤＭＡＣ１６で処理されるデータの蓄積量と、閾値との比較結果に応じて、例えば第２及び第３のＤＭＡＣ２２、２６から、メモリコントローラ７５に対して行われる要求の少なくとも１つを禁止するようにしたので、前記禁止された要求を行った第２及び第３のＤＭＡＣ２２、２６のバンド幅を第１のＤＭＡＣ１６へ割り振ることができる。これにより、第１のＤＭＡＣ１６のリアルタイム保証を行うことができる。
【００６１】
また、第１のＤＭＡＣ１６で処理されるデータを撮像された画像データとしたので、撮像処理に十分なバンド幅を第１のＤＭＡＣ１６に供給することができる。これにより、撮像処理のリアルタイム保証を行うことができる。
【００６２】
また、第１〜第３のＤＭＡＣ１６、２２、２６からメモリコントローラ７５に対して行われる要求、及びその要求に対する応答として、スプリットバストランザクション方式を採用するようにしたので、ある特定のＤＭＡＣがバスを占有することなく、複数のＤＭＡＣが非同期に連続して要求と応答を行うことが可能となり、バス全体としてのスループットが向上し、バンド幅を高めることが可能になる。そして、このようなスプリットバストランザクション方式を採用しつつ、例えば第２及び第３のＤＭＡＣ２２、２６から、メモリコントローラ７５に対して行われる要求の少なくとも１つを禁止するようにしたので、バススレーブの応答が非同期であることより個々のＤＭＡＣにおいてその応答の予測ができない場合においても、ＤＭＡＣのリアルタイム保証を行うことができる。
【００６３】
さらに、例えば第２及び第３のＤＭＡＣ２２、２６からメモリコントローラ７５に対して行われる要求の少なくとも１つを禁止するか否かを判断するための第１の閾値、及び前記要求の禁止を解除するか否かを判断するための第２の閾値と、第１のＤＭＡＣ１６で処理されるデータの蓄積量とを比較するようにしたので、前記データの蓄積量と閾値との判定がハンチングする状態を防ぐことが可能になる。
【００６４】
また、第１のＤＭＡＣ１６で処理されるデータの蓄積量と、複数の閾値とを比較し、比較した結果に基づく複数の要求禁止制御信号を生成し、生成した複数の要求禁止制御信号に基づいて、例えば第２及び第３のＤＭＡＣ２２、２６から、メモリコントローラ７５に対して行われる複数の要求を部分的に禁止するようにしたので、第２及び第３のＤＭＡＣ２２、２６のバンド幅をより適切に第１のＤＭＡＣ１６へ割り振ることができる。
【００６５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。本実施形態では、リアルタイム保証を行うためのデータバッファを、各々のマスタに設けるだけのハードウェアリソースが無いような場合について説明する。したがって、ここでは、前述した第１の実施形態と異なる部分のみを説明し、同一の部分については、図１〜図３に付した符号と同一の符号を付すなどして詳細な説明を省略する。
【００６６】
前記デジタルカメラにおいて最もリアルタイム性を必要とする場合は、前記同時処理モード時の撮像データの取り込みであった。よって、本実施形態では、第１のＤＭＡＣ（第１のマスタ）１６に対してのみにデータバッファを設ける。具体的には、図１に示した撮像処理回路１４の前段、データ線１３の位置にデータバッファを設ける。このデータバッファのデータ蓄積量の判定によって、前述した第１の実施形態と同様に、閾値を上回れば、他のマスタからの要求を禁止する制御を行い、閾値を下回れば、前記他のマスタからの要求の禁止を解除する制御を行う。
【００６７】
なお、本実施形態と、前述した第１の実施形態とでは、データバッファの設置位置を第１のＤＭＡＣ（第１のマスタ）１６の内部に設けるか、撮像処理回路１４の前段に設けるかの違いがあるが、バス制御方式は全く同じである。
【００６８】
（他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのコンピュータプログラムを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００６９】
また、この場合、前記コンピュータプログラム自体が上述した実施形態の機能を実現することになり、そのコンピュータプログラム自体、及びそのコンピュータプログラムをコンピュータに供給するための手段、例えば、かかるコンピュータプログラムを格納した記録媒体は本発明を構成する。かかるコンピュータプログラムを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００７０】
また、コンピュータが供給されたコンピュータプログラムを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのコンピュータプログラムがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるコンピュータプログラムは本発明の実施形態に含まれることは言うまでもない。
【００７１】
さらに、供給されたコンピュータプログラムがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのコンピュータプログラムの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００７２】
【図１】本発明の第１の実施形態を示し、デジタルカメラの構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態を示し、第１のＤＭＡＣ（第１のマスタ）１６の概略構成の一例を示したブロック図である。
【図３】本発明の第１の実施形態を示し、バスアービター回路７０の概略構成の一例を示した機能ブロック図である。
【図４】本発明の第１の実施形態を示し、特定のマスタでリアルタイム処理を可能にするためのデジタルカメラの処理動作の一例を説明するフローチャートである。
【符号の説明】
【００７３】
１０  撮像素子
１４  撮像処理回路
１６、２２、２６  第１〜第３のＤＭＡＣ（マスタ）
２０  現像処理回路
７０  バスアービター回路
７２  ＳＤＲＡＭ
７５  メモリコントローラ（スレーブ）
１００  データバッファ
２２１  要求禁止制御回路
２２２  アービトレーション回路
【図１】
2006189919.tif 000003
【図２】
2006189919.tif 000004
【図３】
2006189919.tif 000005
【図４】
2006189919.tif 000006