(57)【要約】【課題】  複数の画像処理の回路がバス帯域律速とならずに回路の性能で処理することが可能となる。さらには、処理速度が速い画像処理回路が、処理速度の遅い画像処理回路の使用するバス帯域を邪魔しない範囲内で、最速で処理を終えることができる。【解決手段】  各画像処理部に割り当てられた複数のデータ割合算出部のそれぞれは、１回のバースト転送を行う度に、該当する画像総データ量に対する転送済のデータ量の占める割合を算出することで、それぞれの画像処理部におけるデータ転送の進捗を求める。そして、基準となる画像処理部のデータ転送に対する、非基準の画像処理の転送が進んでいるか、遅れているかを判定し、それにしたがって、データ転送能力を制御する。【選択図】  図１
2015141528.tif 000002
【特許請求の範囲】
【請求項１】
所定の周期で連続して入力される画像データを処理する画像処理装置であって、
画像データを記憶するメモリと、
互いに独立して画像データの処理を行う複数の画像処理手段と、
前記複数の画像処理手段の１つを第ｉの画像処理手段としたとき、当該第ｉの画像処理手段が前記周期内にて第ｉ−１の画像処理手段で処理済みの画像データを前記メモリから読み出すため、並びに、処理済の画像データを前記メモリを介して後続する処理を行う第ｉ＋１の画像処理手段に渡すため、各画像処理手段と前記メモリとの間のデータ転送を行うデータ転送手段とを有し、
前記データ転送手段は、
前記複数の画像処理手段毎に、画像データの転送量の状態を検出する検出手段と、
前記複数の画像処理手段のうち、予め設定された所定の画像処理手段以外の他の画像処理手段は、自身の前記転送量の状態と、前記所定の画像処理手段の前記転送量の状態とを比較し、当該比較の結果に従って画像データの転送を調整し、
前記所定の画像処理手段について、前記所定の画像処理手段を除く予め設定された画像処理手段の前記転送量の状態と、前記基準の画像処理手段の前記転送量の状態とを比較し、当該比較結果に従って画像データの転送を調整する制御手段とを有する
ことを特徴とする画像処理装置。
【請求項２】
前記データ転送手段は、前記複数の画像処理手段それぞれに対応したメモリアクセスコントローラを有し、
前記検出手段は、前記複数の画像処理手段に対応した前記メモリアクセスコントローラがそれぞれ転送を行う度に、前記周期内で転送すべき総データ量に対する転送済みのデータ量の割合を算出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記制御手段は、前記メモリアクセスコントローラによる１回のバースト転送で転送するデータ量を調整することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記制御手段は、前記メモリアクセスコントローラからのメモリアクセスの要求の受付を停止または解除することで転送するデータ量を調整することを特徴とする請求項２に記載の画像処理装置。
【請求項５】
前記制御手段は、前記メモリへのアクセスを調停するアービタにおけるキューの優先順位の入れ替えることで、転送するデータ量を調整することを特徴とする請求項２に記載の画像処理装置。
【請求項６】
前記制御手段は、前記メモリへのアクセスを調停するアービタにおけるキューの段数の増減させることで、転送するデータ量を調整することを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記所定の画像処理手段は、前記周期内で、１画面の画像データの処理を完了する必要がある複数の画像処理手段のうち、処理の能力が最も低い画像処理手段であることを特徴とする請求項１に記載の画像処理装置。
【請求項８】
撮像手段と、当該撮像手段を用いて連写モードで撮像する制御手段と、当該制御手段の制御の下で連続して得られた画像データを処理の対象とする請求項１乃至６のいずれか１項に記載の画像処理装置とを有することを特徴とする撮像装置。
【請求項９】
画像データを記憶するメモリと、
互いに独立して画像データの処理を行う複数の画像処理手段と、
前記複数の画像処理手段の１つを第ｉの画像処理手段としたとき、当該第ｉの画像処理手段が前記周期内にて第ｉ−１の画像処理手段で処理済みの画像データを前記メモリから読み出すため、並びに、処理済の画像データを前記メモリを介して後続する処理を行う第ｉ＋１の画像処理手段に渡すため、各画像処理手段と前記メモリとの間のデータ転送を行うデータ転送手段とを有し、
所定の周期で連続して入力される画像データを前記画像処理手段で処理する画像処理装置の制御方法であって、
検出手段が、
前記複数の画像処理手段毎に、画像データの転送量の状態を検出する検出工程と、
制御手段が、
前記複数の画像処理手段のうち、予め設定された所定の画像処理手段以外の他の画像処理手段は、自身の前記転送量の状態と、前記所定の画像処理手段の前記転送量の状態とを比較し、当該比較の結果に従って画像データの転送を調整し、
前記所定の画像処理手段について、前記所定の画像処理手段を除く予め設定された画像処理手段の前記転送量の状態と、前記基準の画像処理手段の前記転送量の状態とを比較し、当該比較結果に従って画像データの転送を調整する制御工程とを有する
ことを特徴とする画像処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及び撮像装置、及び、画像処理装置の制御方法に関する。
【背景技術】
【０００２】
ＣＣＤやＣＭＯＳ等の撮像素子を用いて画像を取得する撮像装置であるデジタルカメラ等の画像処理装置では、膨大なデータを記憶するために、大容量かつ低コストであるＤＲＡＭが用いられる。デジタルカメラの静止画撮影の連写処理など、複数の画像処理回路が同時並列処理し、ＤＲＡＭへのアクセス要求を同時に行う場合、デジタルカメラの処理性能を保証するためには、ある決められた処理時間内に全ての処理を終わらせる必要がある。
【０００３】
しかし実際のところ、複数の画像処理回路がＤＲＡＭへのアクセスを同時に行う場合、まず複数の画像処理回路が、各々に用意されたＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌｌｅｒ）に対して、ＤＲＡＭへのアクセス要求を出力する。この時、複数のＤＭＡＣから同時にアクセス要求があった場合、アクセスの競合が発生し、メモリコントローラのアービタにより調整される（例えば、特許文献１、特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１５２７５号公報
【特許文献２】特開２０１２−１０４１６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に開示されている技術では、ＣＰＵ以外にバス負荷の計測が行えない。それ故、複数の画像処理回路がＤＲＡＭへのアクセスを同時に行う場合に、データ量の調整ができずに決められた処理時間内に全ての処理を終わらせることが困難となる可能性があり、それに対する種々の対策が望まれる。
【０００６】
特許文献２に開示されている技術では、予め必要転送時間を設定するので、ＣＰＵなどによる局所アクセスが発生した場合は、ＣＰＵアクセスが優先して処理される場合も考えられる。それ故、処理速度の遅い画像処理回路がバス帯域律速とはならずにその回路の性能で処理することが困難となる可能性もある。さらには、処理速度が速い画像処理回路が、処理速度の遅い画像処理回路の使用するバス帯域を邪魔しない範囲内で、最速で処理を終えることが困難であり、それに対する種々の対策が望まれていた。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
所定の周期で連続して入力される画像データを処理する画像処理装置であって、
画像データを記憶するメモリと、
互いに独立して画像データの処理を行う複数の画像処理手段と、
前記複数の画像処理手段の１つを第ｉの画像処理手段としたとき、当該第ｉの画像処理手段が前記周期内にて第ｉ−１の画像処理手段で処理済みの画像データを前記メモリから読み出すため、並びに、処理済の画像データを前記メモリを介して後続する処理を行う第ｉ＋１の画像処理手段に渡すため、各画像処理手段と前記メモリとの間のデータ転送を行うデータ転送手段とを有し、
前記データ転送手段は、
前記複数の画像処理手段毎に、画像データの転送量の状態を検出する検出手段と、
前記複数の画像処理手段のうち、予め設定された所定の画像処理手段以外の他の画像処理手段は、自身の前記転送量の状態と、前記所定の画像処理手段の前記転送量の状態とを比較し、当該比較の結果に従って画像データの転送を調整し、
前記所定の画像処理手段について、前記所定の画像処理手段を除く予め設定された画像処理手段の前記転送量の状態と、前記基準の画像処理手段の前記転送量の状態とを比較し、当該比較結果に従って画像データの転送を調整する制御手段とを有する。
【発明の効果】
【０００８】
本発明によれば、複数の画像処理の回路がバス帯域律速とならずに回路の性能で処理することが可能となる。さらには、処理速度が速い画像処理回路が、処理速度の遅い画像処理回路の使用するバス帯域を邪魔しない範囲内で、最速で処理を終えることができる。
【０００９】
そのため、撮像装置に適用した場合には、処理速度の遅い画像処理回路が処理を終えるまで、処理速度が速い画像処理回路は、クロックをＯＦＦ、あるいは電源を落として、消費電力の削減が可能となると同時に、複数の画像処理回路の処理性能を最大限に引き出すことで、連写性能を向上できる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態における画像処理部とデータ転送部のブロック図。
【図２】第１の実施形態における撮像装置のブロック図。
【図３】第１の実施形態における画像処理部の処理性能を示す図。
【図４】第１の実施形態における画像データを同時並列処理するタイミングチャート。
【図５】第１の実施形態におけるメモリアービタキューの要求並び替えに関する図。
【図６】第１の実施形態におけるデータ転送制御のフローチャート。
【図７】第１の実施形態におけるデータ量調整処理のフローチャート。
【図８】第１の実施形態におけるデータ量調整に係るテーブルを示す図。
【図９】第１の実施形態における画像処理部のタイミングチャートとバス帯域を示す図。
【図１０】第２の実施形態におけるデータ量調整に係るテーブルを示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面に従って本発明に係る実施の形態を詳細に説明する。なお、以下に説明する実施形態では、撮像装置としてのデジタルカメラに適用した例を説明するが、デジタルビデオカメラ、カメラ付き携帯電話、車載カメラ等の撮像装置に適用しても構わず、適用する電子機器の種類で本発明が限定されるものではない。
【００１２】
［第１の実施形態］
図２は第１の実施形態に係るデジタルカメラの構成の一例を示すブロック図である。以下、図２について説明する。
【００１３】
撮像素子２００は、ＣＣＤやＣＭＯＳセンサなどで構成され、受光した被写体像をアナログ電気信号に変換して出力する。Ａ／Ｄ変換器２０１は、撮像素子２００からのアナログ出力信号をデジタル信号（画像データ）に変換する。
【００１４】
画像処理部１００は各種画像処理を行うため、互いに独立して処理可能な処理回路を含む。データ転送部１０４は画像処理部１００と、システムバス１１３や画像データバス１１４間のデータ転送を行う。なお、これら画像処理部１００、及び、データ転送部１０、システムバス１１３、画像データバス１１４４の詳細は、図１を用いて後述する。
【００１５】
メモリコントローラ１１５は、各種画像処理を行う際の過程で生成されるデータを一時的に格納するためのバッファメモリとして使用されるメモリ１１７への書き込み、並びに読出しを行う。不揮発性メモリコントローラ２０３は、システム制御部２０６からの指示に応じて、不揮発性メモリ２０４にデータを書き込んだり、読み出したりする。不揮発性メモリ２０４は、電気的に消去・記録可能なメモリであり、例えばＥＥＰＲＯＭ等が用いられる。不揮発性メモリ２０４には、システム制御部２０６の動作用の定数、プログラム等が記憶される。
【００１６】
画像処理部１００内の撮像処理部２０２は、Ａ／Ｄ変換器２０１により変換された画像データに対して画素補正、黒レベル補正、シェーディング補正、撮像素子２００に予めある傷を補正する傷補正などを適正に行う。
【００１７】
システム制御部２０６は、デジタルカメラの動作制御を司るマイクロコンピュータなどで構成され、デジタルカメラを構成する各機能ブロックに対して様々な指示を行い、各種の制御処理を実行する。システム制御部２０６は、システムバス１１３を介して接続された画像処理部１００、データ転送部１０４、メモリコントローラ１１５、不揮発性メモリコントローラ２０３、及び、ディスプレイを含む操作部２０５、撮像素子２００に対して設定や制御を行う。マイクロコンピュータの実行は、前述した不揮発性メモリ２０４に記録されたプログラムを実行することで、本実施形態の各処理を実現する。
【００１８】
操作部２０５は、液晶などのディスプレイ、ユーザーにより操作されるスイッチやボタン、タッチパネル等を含み、電源のＯＮ／ＯＦＦ、シャッターのＯＮ／ＯＦＦ等の各種操作に使用される。
【００１９】
図１は、図２の画像処理部１００、データ転送部１０４、バス１１３、バス１１４、メモリコントローラ１１５、メモリ１１７を詳細に示すブロック図である。
【００２０】
画像処理部１００は、撮像処理部２０２、第１の画像処理部１０１、第２の画像処理部１０２、第３の画像処理部１０３などで構成される。画像処理部１００は、これら他に、不図示の画像バッファメモリ、第１乃至第３の画像処理部１０１乃至１０３以外の画像処理を行う画像処理部、画像データの圧縮処理や伸長処理を行う圧縮伸長部、ディスプレイに表示するための各種信号を生成する表示制御部、記録媒体に記憶する記憶処理部などを有する。
【００２１】
第１の画像処理部１０１は、撮像処理部２０２による処理後の画像データ或いは不図示の画像バッファメモリやメモリ１１７に格納された画像データに対して画像処理を行う。具体的には、使用状況に応じて発生する撮像素子２００の傷を補正する傷補正や倍率色収差補正、画像データのフォーマット変換処理、ノイズ低減処理などを適正に行う。処理結果は再びメモリ１１７あるいは第２の画像処理部１０２あるいは不図示の画像処理部に対して出力する。
【００２２】
第２の画像処理部１０２は、第１の画像処理部１０１に後続する画像処理を行う。すなわち、第２の画像処理部１０２は第１の画像処理部１０１による処理後の画像データ或いは不図示の画像バッファメモリやメモリ１１７に格納された画像データに対して画像処理を行う。具体的には、画像データのフォーマット変換処理、ノイズ低減処理や現像処理などを適正に行う。処理結果はメモリ１１７あるいは不図示の画像処理部に対して出力する。
【００２３】
第３の画像処理部１０３は、第２の画像処理部１０２による処理後の画像データ或いは不図示の画像バッファメモリやメモリ１１７に格納された画像データに対して画像処理を行う。具体的には、歪補正などの処理を適正に行う。
【００２４】
ここで、画像処理部１００のそれぞれの処理部の処理性能（処理能力）及び、タイミングチャートに関して図３、４を用いて説明する。
【００２５】
図３は、実施形態における撮像処理部２０２、第１の画像処理部１０１、第２の画像処理部１０２、第３の画像処理部１０３の処理性能を相対的に示した図である。処理性能は１画素に対してどのくらい処理時間を要するかによって表すことができ、式（１）のように算出する。
処理性能＝１画素／処理時間  （１）
【００２６】
図３に示すそれぞれの画像処理部の処理性能は、第２の画像処理部１０２を基準にして処理性能を１とすると、撮像処理部２０２と第１の画像処理部１０１の処理性能は２、つまり第２の画像処理部１０２の処理性能の２倍の性能を有する。第３の画像処理部１０３の処理性能は１となり、第２の画像処理部１０２の処理性能と同等であることを意味する。なお、基準となる画像処理部の選出方法であるが、決まった時間以内に処理を終えないとシステムとして破たんする可能性がある処理部の中で性能の低い処理部を基準となる所定の画像処理部として決定する。そのため、本実施形態では、撮像処理部２０２と第１の画像処理部１０１の処理性能より低いが、例えば動画時に現像処理は必ず、連写時や動画撮影時における１画面の撮影周期により決められる、一定期間内に終える必要があるため、第２の画像処理部１０２を基準としている。ここで処理を終えるとは、メモリ１１７に処理結果を書き終えるまでのことを意味している。また、ここで示す各画像処理部の性能指標は、本実施形態を容易に理解しやすくするため一例であって、これらの数値で本発明が限定されるものではない。
【００２７】
図４（Ａ）は実施形態におけるデジタルカメラにおいて、１秒当たり１０コマの画像を撮像する連写モード時における各画像処理部（撮像処理部を含む）のタイミングチャートの理想形の一例を示す図である。１秒当たり１０コマの速度で撮像するわけであるから、各コマの間隔１Ｖは１００ｍｓとなる。
【００２８】
図４（Ａ）は、それぞれの画像処理部（２０２、１０１、１０２、１０３）による同時並列処理によって連写処理を行うタイミングを示している。図４（Ａ）内の「画像＃」の「＃」（＃は１、２、３、４…）は、撮像した画像が何番目かを示している。
【００２９】
図示に示すように、撮像処理部２０２は最初の「画像１」についてＡ／Ｄ変換器２０１を介して撮像画像データに対する処理を行い、その結果をメモリコントローラ１１５を介して一時的にメモリ１１７に格納する。
【００３０】
次の１Ｖの期間にて、撮像処理部２０２は２つ目の「画像２」についてＡ／Ｄ変換器２０１を介して撮像画像データに対する処理を行い、その結果をメモリコントローラ１１５を介して一時的にメモリ１１７に格納する。このとき、メモリ１１７には撮像処理部２０２で処理した結果の「画像１」のデータが格納されているので、第１の画像処理部１０１がその「画像１」のデータを読み込み処理し、その結果を、再びメモリ１１７に格納する処理を行う。
【００３１】
次の１Ｖの期間にて、撮像処理部２０２は３つ目の「画像３」についてＡ／Ｄ変換器２０１を介して撮像画像データに対する処理を行い、その結果をメモリコントローラ１１５を介して一時的にメモリ１１７に格納する。このとき、メモリ１１７には既に撮像処理部２０２で処理した結果の「画像２」のデータが格納されているので、第１の画像処理部１０１がその「画像２」のデータを読み込み処理し、その結果を、再びメモリ１１７に格納する処理を行う。また、メモリ１１７には既に第１の画像処理部１０１で処理済みの「画像１」が格納されているのいで、第２の画像処理部１０２がその「画像１」のデータを読み出し、画像処理し、その結果を再びメモリ１１７に格納する処理を行う。
【００３２】
次の１Ｖの期間にて、撮像処理部２０２は４つ目の「画像４」についてＡ／Ｄ変換器２０１を介して撮像画像データに対する処理を行い、その結果をメモリコントローラ１１５を介して一時的にメモリ１１７に格納する。このとき、メモリ１１７には既に撮像処理部２０２で処理した結果の「画像３」のデータが格納されているので、第１の画像処理部１０１がその「画像３」のデータを読み込み処理し、その結果を、再びメモリ１１７に格納する処理を行う。また、メモリ１１７には既に第１の画像処理部１０１で処理済みの「画像２」が格納されているのいで、第２の画像処理部１０２がその「画像２」のデータを読み出し、画像処理し、その結果を再びメモリ１１７に格納する処理を行う。また、メモリ１１７には既に第２の画像処理部１０２で処理済みの「画像１」が格納されているのいで、第３の画像処理部１０３がその「画像１」のデータを読み出し、画像処理し、その結果を再びメモリ１１７に格納する処理を行う。以降、上記の処理が、連写が継続している間、繰り返される。
【００３３】
図４（Ｂ）は同図（Ａ）に対して同時並列処理によってバス帯域が込み合ってそれぞれの画像処理部（２０２、１０１、１０２、１０３）の処理時間が長くなっていること状況を示している。つまり、図３で示した画像処理部（２０２、１０１、１０２、１０３）の処理性能だけでなく、バス帯域の混み具合に応じで処理終了までの時間が異なることを示している。また、撮像処理部２０２の処理時間は、バス帯域だけでなく、撮像素子２００の１画素あたりの入力レート（スピード）によって左右される。
【００３４】
データ転送部１０４は、画像処理部１００とメモリ１１７間に介在し、それらの間のデータ転送の制御を司るものでる。このため、データ転送部１０４は、データ転送を行う複数のＤｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓコントローラ（ダイレクトメモリアクセスコントローラ）のＷＲＤＭＡＣ１０８ａ乃至ｄとＲＤＤＭＡＣ１０５ａ乃至ｄで構成される。画像データは、ＷＲＤＭＡＣ１０８ａ乃至ｄによってバス１１４に出力され、メモリコントローラ１１５を介してメモリ１１７に一時記憶される。また、メモリ１１７に一時記憶された画像データは、ＲＤＤＭＡＣ１０５ａ乃至ｄによってメモリコントローラ１１５を介してメモリ１１７からバス１１４に出力され、画像処理部１００に供給される。
【００３５】
ＲＤＤＭＡＣ１０５ａ乃至ｄはそれぞれ同じ構成である。それ故、内部構成要素については参照番号の末尾にａ乃至ｄの文字を付している。また、ＷＲＤＭＡＣ１０８ａ乃至ｄもそれぞれ同じ構成である。それ故、これらについても、その内部構成要素については参照番号の末尾にａ乃至ｄの文字を付している。
【００３６】
以下では、ＲＤＭＡＣ１０５ａ、ＷＲＤＭＡＣ１０８ａについて説明するが、他のＲＤＭＡＣ１０５ｂ、１０５ｃ、ＷＲＤＭＡＣ１０８ｂ、１０８ｃも同様であるものとして理解されたい。
【００３７】
ＲＤＤＭＡＣ１０５ａは、Ｒ−ＦＩＦＯ１０６ａ、読み込みデータ量制御部１０７ａなどから構成される。メモリ１１７からの転送されてきたデータを一旦Ｒ−ＦＩＦＯ１０６に記憶する。そして、読み込みデータ量制御部１０７がＲ−ＦＩＦＯ１０６を監視して、設定に応じたデータ量のデータが蓄積された時点で、画像処理部１００の第１の画像処理部１０１へデータを転送する。
【００３８】
ＷＲＤＭＡＣ１０８ａは、Ｗ−ＦＩＦＯ１０９ａ、書き込みデータ量制御部１１０ａ、データ割合算出部１１１ａ、データ割合比較部１１２ａなどから構成される。画像処理部１００からのデータは一旦Ｗ−ＦＩＦＯ１０９に記憶される。書き込みデータ量制御部１１０がＷ−ＦＩＦＯ１０９を監視して、設定に応じたデータ量が蓄積された時点で、メモリコントローラ１１５を介してＷ−ＦＩＦＯ１０９からデータをメモリ１１７に転送し、一時記憶される。データ割合算出部１１１は、メモリ１１７に書き込みを行ったデータの割合を算出（又は検出）する。算出したデータはデータ割合比較部１１２ａに出力すると共に、他のＷＲＤＭＡＣ１０８ｂ内のデータ割合比較部１１２ｂ、１１２ｃにも出力する。
【００３９】
他のＷＲＤＭＡＣ１０８ｂ内のデータ割合算出部１１１ｂや１１１ｃも、算出したデータを、自身以外のＷＲＤＭＡＣのデータ割合比較部に出力する。つまり、各ＷＲＤＲＭＡＣ１０８ａ、１０８ｂ、１０８ｃは、メモリ１１７に書き込みを行ったデータの割合を互いに比較できるように、授受することになる。
【００４０】
上記の通りなので、データ割合比較部１１２ａは、自身が属するＷＲＤＭＡＣ１０８ａのデータ割合だけでなく、ＷＲＤＭＡＣ１０８ｂのデータ割合を示すデータをも入力する。
【００４１】
実施形態では、第２の画像処理部１０２に接続するＷＲＤＭＡＣ１０８ｂのデータ割合算出部１１１ｂの結果を基準値とし、第１の画像処理部１０２／第３の画像処理部１０３に接続するＷＲＤＭＡＣ１０８ａ、１０８ｃのデータ割合算出部１１１ａ，１１１ｃの結果を比較値とする。なお、基準値を設けることで、データ割合算出部（１１１ａ乃至ｃ）の結果をそれぞれで比較することなく、基準値と比較することで比較回数を少なくしている。データ割合比較部１１２ａ乃至１１２ｃは、第２の画像処理部１０２のデータ割合算出部１１１ｂが算出したデータと、第１の画像処理部１０１あるいは第３の画像処理部１０３のデータ割合算出部１１１ａ、１１１ｃで算出したデータとを比較する。さらには、データ割合算出部１１１ａ乃至１１１ｃは、システムバス１１３のバスプロトコルを監視して、システム制御部２０６からメモリ１１７へのアクセス要求によるＣＰＵアクセスが発生したかを判定しＣＰＵアクセスが発生した場合、基準となるデータ割合βを予め設定された値を元に一定基準で小さくすることも可能である。
【００４２】
データ割合算出部１１１ａ、データ割合比較部１１２ａについての詳細は、図６、図７を用いて後述する。
【００４３】
メモリコントローラ１１５は、システム制御部（ＣＰＵ）２０６或いはデータ転送部１０８からの指示に応じて、メモリ１１７にデータを書き込んだり、メモリ１１７からデータを読み出したりする。なお、Ａ／Ｄ変換器２０１からの出力データがメモリ１１７に直接書き込まれる場合もある。また、メモリコントローラ１１５は、メモリとバスとの調停を行うアービタ１１６と不図示のアービタキューを持つ。アービタ１１６は、複数のＤＭＡＣ（ＲＤＤＭＡＣ１０５ａ乃至１０５ｄ、ＷＲＤＭＡＣ１０８ａ乃至１０８ｄを含む）からの同時要求に対して、設定された優先順位に従って、要求をアービタキューに詰める。アービタキューは、要求順に処理を行うか、優先順位に従ったアービタキュー内の要求の入れ替えを行ってから処理を行う。アービタキュー内の要求の入れ替えを行うと、優先順位の低い要求がいつまでもキューに残った状態となる可能性がある。そのため、入れ替わった要求の優先順位を入れ替え元の優先順位に置き換えて、優先順位を上げるようにする。具体的には、図５を用いて説明する。図５は、８段のアービタキューを示している。同図の「状態１」は、要求１から４までキューに詰まっている状態を示し、それぞれの優先順位情報も保持している。優先順位情報は数値が低ければ、優先順位が高いことを示している。同図の「状態２」は、新しい要求５がアービタキューに詰められたことを示している。同図の「状態３」は、優先順位に応じて要求の並び替えをして、優先順位の変更をしたことを示した図である。すなわち、要求５が要求２と入れ替わり、要求２の優先順位が要求５と同じとなっていることを示している。同様に要求３，４も入れ替えが発生して、優先順位が入れ替わったことを示している。
【００４４】
メモリ１１７は、所定枚数の静止画像や所定時間の動画像、音声等のデータやシステム制御部２０６の動作用の定数、プログラム等を格納するのに十分な記憶容量を備える記憶装置である。
【００４５】
図６は、データ転送部１０４におけるデータ転送制御のフローチャートである。
【００４６】
ステップ６００は、システム制御部２０６によりデータ転送部１０４にパラメータを設定して、転送を開始する。
【００４７】
ステップ６０１は、設定されたデータ転送モードに応じてメモリコントローラにデータを転送する。
【００４８】
ステップ６０２は、全データの転送が完了したかの判定を行い、全データの転送が完了であれば処理を終える。全データの転送がまだ完了し終えていない場合は、ステップ６０３の処理を行う。
【００４９】
ステップ６０３は、転送モードに応じた１回の転送量終了の判定を行う。具体的には、設定されたバースト転送量の転送が終わったかの判定を行い、バースト転送量分の転送を終えるまで判定を行い、転送が終えたらステップ６０４の処理を行う。なお、１回のデータ転送単位の転送を終了するたびにバスの占有権を他のデータ処理部に渡すシングル転送モードの場合はステップ６０３の判定を行う必要はなく、ステップ６０４の処理を行う。
【００５０】
ステップ６０４は、データ量の調整処理を行う。データ量調整処理は、図７を用いて説明する。
【００５１】
図７は、図６のステップ６０４におけるデータ量調整処理のフローチャートである。ここで、実施形態では、既に説明したように第２の画像処理部１０２を基準にしている点に注意されたい。また、同図の処理は、各ＷＲＤＭＡＣが１回のバースト転送を行う直前に行うものとするが、バースト転送を行った直後でも構わない。
【００５２】
ステップ７００では、第１の画像処理部１０１に対応するＷＲＤＭＡＣ１０８ａのデータ割合算出部１１１ａはデータの割合α、Ｘを算出し、それをデータ割合比較部１１２ａ及び、第２の画像処理部１０２に対応するデータ割合比較部１１２ｂに供給する。本実施形態では、以下の式（２）、（３）からデータ割合α、Ｘを算出する。
α＝着目画像における転送済みのデータ量／１画面の総データ量    …（２）
Ｘ＝ＤＭＡＣ開始からの経過時間カウント／処理画素数（処理データ量）…（３）
【００５３】
要するに、１Ｖの期間における書き込みのためのＷＲＤＭＡＣ１０８ａによる転送の進捗情報の程度を示す指標値であり、データ割合Ｘは、１画素値の転送に係る時間を表す指標値と言うことができる。
【００５４】
上記と同様の処理を、ステップＳ７００にて、第３の画像処理部１０３に対応するＷＲＤＡＭＣ１０８ｃが行う。すなわち、データ割合算出部１１１ｃがデータ割合α、Ｘを算出し、データ割合比較部１１２ｃに供給する。
【００５５】
ステップ７０１は、基準となる第２の画像処理部１０２に対応したＷＲＤＭＡＣ１０８ｂのデータ割合算出部１１１ｂにおいて、式（２）、（３）と同様に、基準となるデータ割合を算出する。ここで、データ割合算出部１１１ａ，ｃとデータ割合算出部１１１ｂとを区別するため、以降、データ割合算出部１１１ｂが式（２）で算出したデータ割合をβ、式（３）で算出したデータ割合をＺと表現する。データ割合算出部１１１ｂは、算出した割合データβ、Ｚを、データ割合比較部１１２ｂに供給すると共に、第１の画像処理部１０１に対応するデータ割合比較部１１２ａ、並びに、第３の画像処理部１０１に対応するデータ割合比較部１１２ｃにも供給する。
【００５６】
上記の結果、データ割合比較部１１２ａは、データ割合算出部１１１ａで算出されたデータ割合α、Ｘ，及び、基準となる第２の画像処理部用のデータ割合算出部１１１ｂで算出されたデータ割合β、Ｚを入力することになる。
【００５７】
一方、データ割合比較部１１２ｃは、データ割合算出部１１１ｃ（データ割合比較部１１２ａではない点に注意されたい）で算出されたデータ割合α、Ｘ，及び、基準となる第２の画像処理部用のデータ割合算出部１１１ｂで算出されたデータ割合β、Ｚを入力することになる。
【００５８】
そして、基準となる第２の画像処理部に対応するデータ割合比較部１１２ｂは、データ割合算出部１１１ｂで算出されたデータ割合β、Ｚ，及び、第１の画像処理部用のデータ割合算出部１１１ａで算出されたデータ割合α、Ｘを入力することになる。なお、実施形態では、第２の画像処理部に対応するデータ割合比較部１１２ｂが、第１の画像処理部用のデータ割合算出部１１１ａで算出されたデータ割合α、Ｘを入力するものとしたが、第３の画像処理部用のデータ割合算出部１１１ｃで算出されたデータ割合α、Ｘを入力しても構わない。
さて、データ割合比較部１１２ａは、入力した割合データα、Ｘと、割合データβ、Ｚとを比較し、自身が属する第１の画像処理部１０１の処理結果のメモリ１１７への書き込みが、基準となる第２の画像処理部１０２に対して相対的に遅れているのか、早まっているのかを判定する。そして、その結果を、読み込み量制御部１０７ａ、書き込みデータ量制御部１１０ａ、並びに、メモリコントローラ１１５内のアービタ１１６に対する制御信号として出力する。
【００５９】
データ割合比較部１１２ｂ、ｃも同様である。すなわち、データ割合比較部１１２ｂは、自身が属する第２の画像処理部１０２の処理結果のメモリ１１７への書き込みのための転送が、比較対象である第１の画像処理部１０１に対して相対的に早いのか遅いのかを判定する。そして、その判定結果に従い、読み込み量制御部１０７ｂ、書き込みデータ量制御部１１０ｂ、並びに、メモリコントローラ１１５内のアービタ１１６に対する制御信号を出力する。
【００６０】
また、データ割合比較部１１２ｃは、自身が属する第３の画像処理部１０３の処理結果のメモリ１１７への書き込みのための転送、基準となる第２の画像処理部１０２の進捗の程度と比較して遅れているのか、早まっているのかを判定する。そして、その判定結果に基づき、読み込み量制御部１０７ｃ、書き込みデータ量制御部１１０ｃ、並びに、メモリコントローラ１１５内のアービタ１１６に対する制御信号を出力する。
【００６１】
なお、本実施形態では、メモリ１１７へのＷＲＤＭＡＣの割合データから、それぞれの進捗を判定するものとした。しかし、各ＲＤＤＭＡＣ内に、上記のデータ割合算出部１１１ａ乃至ｃとデータ割合比較部１１２ａ乃至ｃを実装し、リード処理から進捗を判定しても構わない。
【００６２】
さて、ステップＳ７０２では、上記の信号を受けた各読み込みデータ量制御部１０７ａ乃至１０７ｃ、書き込みデータ量制御部１１０ａ乃至１１０ｃ、並びに、アービタ１１６はデータ転送の制御処理を行う。
【００６３】
図８は、データ転送の制御の処理内容を示すテーブルである。同図は、第１乃至第３の画像処理部１０１乃至１０３に対応する各データ割合比較部１１２ａ乃至１１２ｃによるＤＤＭＡＣ，ＷＲＤＭＡＣに対する処理を示している。説明を簡単なものとするため、以下では、第１の画像処理部１０１に対応するデータ割合比較部１１２ａに着目して説明する。第２の画像処理部１０２、第３の画像処理部１０３の場合は、以下の参照符号の末尾「ａ」を、「ｂ」又は「ｃ」に置き換えて理解されたい。
【００６４】
１列目は、ステップ７０１の比較結果を示し、２列目以降は、データ量の調整方法を示している。
【００６５】
ここでは、バースト転送量を変更することにより、第１の画像処理部１０１に接続しているＤＭＡＣのデータ量を調整する場合について説明する。第１の画像処理部１０１に対応したデータ割合比較部１１２ａは、受け取ったαとβ、或いは、ＸとＺの比較結果に応じて、読み込みデータ量制御部１０７ａ、或いは、書き込みデータ量制御部１１０ａを制御し、バースト長、或いは、アクセス要求の受付を制御する。
【００６６】
即ち、バースト長を調整する場合、読み込みデータ量制御部１０７ａ、或いは、書き込みデータ量制御部１１０ａは、ステップ７０１の比較結果が、β＜α（Ｚ＞Ｘ)であった場合、自身の書き込みの進捗が基準よりも早く進んでいることを意味する。それ故、第１の画像処理部１０１に接続しているＲＤＭＤＡＣ１０５ａの読み込みデータ量制御部１０ａ７のバースト転送長を所定量だけ短くするように制御する。β＝α（Ｚ＝Ｘ）の場合は、バースト転送長の変更は行わない。β＞α（Ｚ＝Ｘ）の場合は、進捗が遅れていることを示すので、バースト転送長を所定量だけ長くするように制御する。なお、バースト転送長の調整はＷＲＤＭＡＣ１０８ａで行ってもよい。
【００６７】
次に、第１の画像処理部１０１からのＤＭＡＣ転送要求の受付を停止することにより第１の画像処理部１０１に接続しているＤＭＡＣのデータ量を調整する場合を説明する。ステップ７０１の比較結果が、β＜α（Ｚ＞Ｘ)であれば、第１の画像処理部１０１に接続しているＷＲＤＭＡＣ１０８ａの書き込みデータ量制御部１１０が要求受付を停止する。ＷＲＤＭＡＣ１０８ａが要求を受けつけなくなると、第１の画像処理部１０１は、要求が受け付けられないため、一時停止する。β＞＝α（Ｚ＜＝Ｘ）の場合は、ＷＲＤＭＡＣ１０８ａの書き込みデータ量制御部１１０ａが要求受付停止を解除する。なお、一時停止はＲＤＤＭＡＣ１０５で行ってもよい。
【００６８】
また、アービタ１１６は、αとβ、或いは、ＸとＺの比較結果に応じて、対応するＤＭＡＣからのアクセス要求の優先順位や、キューの段数を制御する。
【００６９】
例えば、ステップ７０１の比較結果が、β＜α（Ｚ＞Ｘ)であれば、アービタ１１６が、第１の画像処理部１０１に接続しているＤＭＡＣ（書き込み、読み込みとも）に該当する優先順位を低くする。β＝α（Ｚ＝Ｘ）の場合は、アービタ１１６は何もしない。β＝α（Ｚ＝Ｘ）の場合は、アービタ１１６は優先順位を高くする。アービタ１１６の優先順位の変更は、図３で説明したアービタキューの中で行うものではなく、アービタキューに入れる前の優先順位を変更することである。優先順位を変更することで、バスの使用率を変更することが出来き、データ量の調整が可能となる。
【００７０】
次に、第１の画像処理部１０１に接続しているＤＭＡＣのデータ量調整対象をアービタキュー段数とした場合で説明する。ステップ７０１の比較結果が、β＜α（Ｚ＞Ｘ)であれば、アービタ１１６が、アービタのキューの段数を増やす。アービタのキューの段数を増やすことで、優先順位の低い要求も受け付け易くなる。β＞＝α（Ｚ＜＝Ｘ）の場合は、アービタ１１６が、アービタのキューの段数を元の段数に戻すように制御する。
【００７１】
また、Ｚ＝１の時は、基準となる第２の画像処理部１０２が処理性能で動作している、つまりバス律速となっていないことを示している。そのため、Ｚ＝１の時は、データ量調整処理を行わなくてもよい。
【００７２】
次に、データ量調整処理で制御した場合のタイミングチャートとバス帯域グラフを図９に示す。
【００７３】
図９（Ａ）は、それぞれの画像処理部（２０２、１０１、１０２、１０３）の処理時間のタイミングチャートと、そのバス帯域を示したものである。バス帯域は、Ｘ軸方向に時間（単位ｍｓ）、Ｙ軸方向にバス帯域（単位％）で表したものである。参照符号９００は第１の画像処理部１０１が使用しているバス帯域である。参照符号９０１は、第２の画像処理部１０２が使用しているバス帯域である。参照符号９０２は第３の画像処理部１０３が使用しているバス帯域である。参照符号９０３は撮像処理部２０２が使用しているバス帯域である。参照符号９０４が、帯域９００〜９０３を加算したものであり、それぞれの画像処理部（２０２、１０１、１０２、１０３）のバス帯域の合計を表したものである。
【００７４】
図９（Ｂ）は、それぞれの画像処理部（２０２、１０１、１０２、１０３）に加えて、システム制御部２０６が局所的にバス１１３、１１４にアクセスした時のそれぞれの処理時間のタイミングチャートと、そのバス帯域を示したものである。参照符号９０５は第１の画像処理部１０１が使用しているバス帯域である。参照符号９０６は、第２の画像処理部１０２が使用しているバス帯域である。参照符号９０７は第３の画像処理部１０３が使用しているバス帯域である。参照符号９０８は撮像処理部２０２が使用しているバス帯域である。参照符号９０９はシステム制御部２０６が使用しているバス帯域である。参照符号９１０が、帯域９０５〜９０９を加算したものであり、それぞれの画像処理部（２０２、１０１、１０２、１０３）とシステム制御部２０６のバス帯域の合計を表したものである。システム制御部２０６が帯域９０９に示すように局所的にアクセスするために、バス帯域が混むことになる。撮像処理部２０２は、Ａ／Ｄ変換器２０１からの画素の入力レートが遅いため、処理性能としては、第２、３の画像処理部１０２、１０３と同等となる。この時、第１の画像処理部１０１は、撮像処理部２０２、第２、３の画像処理部１０２、１０３より処理性能が高く、速く動作できる分、システム制御部２０６が局所的にアクセスする前と同じバス帯域を占有しようとする。つまり、システム制御部２０６の局所的アクセスが始まると、ステップ７０１の比較結果が、β＜α（Ｚ＞Ｘ)となる。そのため、第１の画像処理部１０１が使用するバス帯域を抑えることになるため、第１の画像処理部１０１の処理時間が長くなる。さらに、撮像処理部２０２、第２、３の画像処理部１０２、１０３は、システム制御部２０６の局所的アクセスが開始前と同等のバス帯域を使用できることになる。
【００７５】
以上説明したように第１の実施形態によれば、連写や動画などのように、所定周期で画像が連続して入力される場合において、その周期内における転送単位毎に、データ割合を算出して基準となるＤＭＡＣと比較することで、動的に各画像処理部のデータ量を調整できる。データ量調整に、バースト転送量の調整、ＤＭＡＣに接続している画像処理部の一時停止、メモリアービタによる優先順位の調整、メモリアービタによるアービタキュー段数の調整のどれかを選択的に使用することで、データ量の調整が可能となる。なお、図８では、いくつもデータ量調整を示したが、そのうちの１つのみを用いてデータ量を制御しても構わない。
【００７６】
以上、本発明を第１の実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることは言うまでもない。
【００７７】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。なお、ここでは、前述した第１の実施形態と異なる部分のみを説明し、同一の部分については、同一の符号を付すなどして詳細な説明を省略する。
【００７８】
図１０は、データ割合に応じて適応的にデータ量調整方法を選択してデータ量の調整方法を示した図である。第１の実施形態における図８に代わるテーブルであると認識されたい。
【００７９】
１列目は、ステップ７０１の比較結果を示し、２列目以降は、データ量の調整方法を示している。閾値Ｔｈ１〜６は正の数値であり、Ｔｈ１乃至Ｔｈ４については、Ｔｈ１＞Ｔｈ２＞Ｔｈ３＞Ｔｈ４の関係にあり、Ｔｈ５、Ｔｈ６についてはＴｈ５＞Ｔｈ６の関係にあるものとする。
【００８０】
ここで、第１の画像処理部１０１に接続しているＤＭＡＣのデータ量調整方法について示す。
【００８１】
ステップ７０１の比較結果が、α−β（Ｚ−Ｘ）＞Ｔｈ１の場合は、第１の画像処理部１０１に接続しているＷＲＤＭＡＣ１０８の書き込みデータ量制御部１１０が要求受付を停止する。一時停止以外のデータ量調整は、現状維持となるため、何も制御を行わない。
【００８２】
ステップ７０１の比較結果が、α−β（Ｚ−Ｘ）＞Ｔｈ２の場合は、第１の画像処理部１０１に接続しているＷＲＤＭＡＣ１０８の書き込みデータ量制御部１１０が要求受付を解除する。さらに、第１の画像処理部に接続しているＲＤＭＤＡＣ１０５の読み込みデータ量制御部１０７のバースト転送長を短くするように制御する。一時停止、バースト転送量以外のデータ量調整は、現状維持となるため、何も制御を行わない。
【００８３】
ステップ７０１の比較結果が、α−β（Ｚ−Ｘ）＞Ｔｈ３の場合は、第１の画像処理部１０１に接続しているＷＲＤＭＡＣ１０８の書き込みデータ量制御部１１０が要求受付を解除する。アービタ１１６が、第１の画像処理部１０１に接続しているＤＭＡＣに該当する優先順位を低くする。一時停止、アービタ調整以外のデータ量調整は、現状維持となるため、何も制御を行わない。
【００８４】
ステップ７０１の比較結果が、α−β（Ｚ−Ｘ）＞Ｔｈ４の場合は、第１の画像処理部１０１に接続しているＷＲＤＭＡＣ１０８の書き込みデータ量制御部１１０が要求受付を解除する。さらに、アービタ１１６が、アービタのキューの段数を増やす。一時停止、アービタキュー段数以外のデータ量調整は、現状維持となるため、何も制御を行わない。
【００８５】
ステップ７０１の比較結果が、α−β（Ｚ−Ｘ）＝０の場合は、第１の画像処理部１０１に接続しているＷＲＤＭＡＣ１０８の書き込みデータ量制御部１１０が要求受付を解除する。さらに、アービタ１１６が、アービタのキューの段数を元の状態に戻す。一時停止、アービタキュー段数の増減以外のデータ量調整は、現状維持となるため、何も制御を行わない。
【００８６】
ステップ７０１の比較結果が、α−β（Ｚ−Ｘ）＜Ｔｈ５の場合は、第１の画像処理部１０１に接続しているＷＲＤＭＡＣ１０８の書き込みデータ量制御部１１０が要求受付を解除する。さらに、アービタ１１６が、アービタのキューの段数を元の状態に戻す。さらに、第１の画像処理部に接続しているＲＤＭＤＡＣ１０５の読み込みデータ量制御部１０７のバースト転送長を長くするように制御する。アービタ調整でのデータ量調整は、現状維持となるため、何も制御を行わない。
【００８７】
ステップ７０１の比較結果が、α−β（Ｚ−Ｘ）＜Ｔｈ６の場合は、第１の画像処理部１０１に接続しているＷＲＤＭＡＣ１０８の書き込みデータ量制御部１１０が要求受付を解除する。さらに、アービタ１１６が、アービタのキューの段数を元の状態に戻す。さらに、アービタ１１６は優先順位を高くする。バースト転送量でのデータ量調整は、現状維持となるため、何も制御を行わない。
【００８８】
なお、バースト転送長の調整はＷＲＤＭＡＣ１０８で行ってもよい。一時停止はＲＤＤＭＡＣ１０５で行ってもよい。
【００８９】
以上説明したように、本発明の第２の実施形態によれば、転送単位毎に、データ割合を算出して基準となるＤＭＡＣと比較することで、動的に各画像処理部のデータ量を調整できる。さらに、データ量調整に、バースト転送量の調整、ＤＭＡＣに接続している画像処理部の一時停止、メモリアービタによる優先順位の調整、メモリアービタによるアービタキュー段数の調整を適応的に使用（動的に切り替えて使用）することで、より柔軟にデータ量の調整が可能となる。
【００９０】
以上、本発明を第２の実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることは言うまでもない。
【図１】
2015141528.tif 000003
【図２】
2015141528.tif 000004
【図３】
2015141528.tif 000005
【図４】
2015141528.tif 000006
【図５】
2015141528.tif 000007
【図６】
2015141528.tif 000008
【図７】
2015141528.tif 000009
【図８】
2015141528.tif 000010
【図９】
2015141528.tif 000011
【図１０】
2015141528.tif 000012