JP2015141528A - 画像処理装置及び撮像装置、及び、画像処理装置の制御方法 - Google Patents
画像処理装置及び撮像装置、及び、画像処理装置の制御方法 Download PDFInfo
- Publication number
- JP2015141528A JP2015141528A JP2014013639A JP2014013639A JP2015141528A JP 2015141528 A JP2015141528 A JP 2015141528A JP 2014013639 A JP2014013639 A JP 2014013639A JP 2014013639 A JP2014013639 A JP 2014013639A JP 2015141528 A JP2015141528 A JP 2015141528A
- Authority
- JP
- Japan
- Prior art keywords
- image processing
- data
- image
- processing unit
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
- Facsimiles In General (AREA)
- Studio Devices (AREA)
Abstract
【課題】 複数の画像処理の回路がバス帯域律速とならずに回路の性能で処理することが可能となる。さらには、処理速度が速い画像処理回路が、処理速度の遅い画像処理回路の使用するバス帯域を邪魔しない範囲内で、最速で処理を終えることができる。【解決手段】各画像処理部に割り当てられた複数のデータ割合算出部のそれぞれは、1回のバースト転送を行う度に、該当する画像総データ量に対する転送済のデータ量の占める割合を算出することで、それぞれの画像処理部におけるデータ転送の進捗を求める。そして、基準となる画像処理部のデータ転送に対する、非基準の画像処理の転送が進んでいるか、遅れているかを判定し、それにしたがって、データ転送能力を制御する。【選択図】 図1
Description
本発明は画像処理装置及び撮像装置、及び、画像処理装置の制御方法に関する。
CCDやCMOS等の撮像素子を用いて画像を取得する撮像装置であるデジタルカメラ等の画像処理装置では、膨大なデータを記憶するために、大容量かつ低コストであるDRAMが用いられる。デジタルカメラの静止画撮影の連写処理など、複数の画像処理回路が同時並列処理し、DRAMへのアクセス要求を同時に行う場合、デジタルカメラの処理性能を保証するためには、ある決められた処理時間内に全ての処理を終わらせる必要がある。
しかし実際のところ、複数の画像処理回路がDRAMへのアクセスを同時に行う場合、まず複数の画像処理回路が、各々に用意されたDMAC(Direct Memory Controller)に対して、DRAMへのアクセス要求を出力する。この時、複数のDMACから同時にアクセス要求があった場合、アクセスの競合が発生し、メモリコントローラのアービタにより調整される(例えば、特許文献1、特許文献2)。
しかしながら、特許文献1に開示されている技術では、CPU以外にバス負荷の計測が行えない。それ故、複数の画像処理回路がDRAMへのアクセスを同時に行う場合に、データ量の調整ができずに決められた処理時間内に全ての処理を終わらせることが困難となる可能性があり、それに対する種々の対策が望まれる。
特許文献2に開示されている技術では、予め必要転送時間を設定するので、CPUなどによる局所アクセスが発生した場合は、CPUアクセスが優先して処理される場合も考えられる。それ故、処理速度の遅い画像処理回路がバス帯域律速とはならずにその回路の性能で処理することが困難となる可能性もある。さらには、処理速度が速い画像処理回路が、処理速度の遅い画像処理回路の使用するバス帯域を邪魔しない範囲内で、最速で処理を終えることが困難であり、それに対する種々の対策が望まれていた。
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、
所定の周期で連続して入力される画像データを処理する画像処理装置であって、
画像データを記憶するメモリと、
互いに独立して画像データの処理を行う複数の画像処理手段と、
前記複数の画像処理手段の1つを第iの画像処理手段としたとき、当該第iの画像処理手段が前記周期内にて第i−1の画像処理手段で処理済みの画像データを前記メモリから読み出すため、並びに、処理済の画像データを前記メモリを介して後続する処理を行う第i+1の画像処理手段に渡すため、各画像処理手段と前記メモリとの間のデータ転送を行うデータ転送手段とを有し、
前記データ転送手段は、
前記複数の画像処理手段毎に、画像データの転送量の状態を検出する検出手段と、
前記複数の画像処理手段のうち、予め設定された所定の画像処理手段以外の他の画像処理手段は、自身の前記転送量の状態と、前記所定の画像処理手段の前記転送量の状態とを比較し、当該比較の結果に従って画像データの転送を調整し、
前記所定の画像処理手段について、前記所定の画像処理手段を除く予め設定された画像処理手段の前記転送量の状態と、前記基準の画像処理手段の前記転送量の状態とを比較し、当該比較結果に従って画像データの転送を調整する制御手段とを有する。
所定の周期で連続して入力される画像データを処理する画像処理装置であって、
画像データを記憶するメモリと、
互いに独立して画像データの処理を行う複数の画像処理手段と、
前記複数の画像処理手段の1つを第iの画像処理手段としたとき、当該第iの画像処理手段が前記周期内にて第i−1の画像処理手段で処理済みの画像データを前記メモリから読み出すため、並びに、処理済の画像データを前記メモリを介して後続する処理を行う第i+1の画像処理手段に渡すため、各画像処理手段と前記メモリとの間のデータ転送を行うデータ転送手段とを有し、
前記データ転送手段は、
前記複数の画像処理手段毎に、画像データの転送量の状態を検出する検出手段と、
前記複数の画像処理手段のうち、予め設定された所定の画像処理手段以外の他の画像処理手段は、自身の前記転送量の状態と、前記所定の画像処理手段の前記転送量の状態とを比較し、当該比較の結果に従って画像データの転送を調整し、
前記所定の画像処理手段について、前記所定の画像処理手段を除く予め設定された画像処理手段の前記転送量の状態と、前記基準の画像処理手段の前記転送量の状態とを比較し、当該比較結果に従って画像データの転送を調整する制御手段とを有する。
本発明によれば、複数の画像処理の回路がバス帯域律速とならずに回路の性能で処理することが可能となる。さらには、処理速度が速い画像処理回路が、処理速度の遅い画像処理回路の使用するバス帯域を邪魔しない範囲内で、最速で処理を終えることができる。
そのため、撮像装置に適用した場合には、処理速度の遅い画像処理回路が処理を終えるまで、処理速度が速い画像処理回路は、クロックをOFF、あるいは電源を落として、消費電力の削減が可能となると同時に、複数の画像処理回路の処理性能を最大限に引き出すことで、連写性能を向上できる。
以下、添付図面に従って本発明に係る実施の形態を詳細に説明する。なお、以下に説明する実施形態では、撮像装置としてのデジタルカメラに適用した例を説明するが、デジタルビデオカメラ、カメラ付き携帯電話、車載カメラ等の撮像装置に適用しても構わず、適用する電子機器の種類で本発明が限定されるものではない。
[第1の実施形態]
図2は第1の実施形態に係るデジタルカメラの構成の一例を示すブロック図である。以下、図2について説明する。
図2は第1の実施形態に係るデジタルカメラの構成の一例を示すブロック図である。以下、図2について説明する。
撮像素子200は、CCDやCMOSセンサなどで構成され、受光した被写体像をアナログ電気信号に変換して出力する。A/D変換器201は、撮像素子200からのアナログ出力信号をデジタル信号(画像データ)に変換する。
画像処理部100は各種画像処理を行うため、互いに独立して処理可能な処理回路を含む。データ転送部104は画像処理部100と、システムバス113や画像データバス114間のデータ転送を行う。なお、これら画像処理部100、及び、データ転送部10、システムバス113、画像データバス1144の詳細は、図1を用いて後述する。
メモリコントローラ115は、各種画像処理を行う際の過程で生成されるデータを一時的に格納するためのバッファメモリとして使用されるメモリ117への書き込み、並びに読出しを行う。不揮発性メモリコントローラ203は、システム制御部206からの指示に応じて、不揮発性メモリ204にデータを書き込んだり、読み出したりする。不揮発性メモリ204は、電気的に消去・記録可能なメモリであり、例えばEEPROM等が用いられる。不揮発性メモリ204には、システム制御部206の動作用の定数、プログラム等が記憶される。
画像処理部100内の撮像処理部202は、A/D変換器201により変換された画像データに対して画素補正、黒レベル補正、シェーディング補正、撮像素子200に予めある傷を補正する傷補正などを適正に行う。
システム制御部206は、デジタルカメラの動作制御を司るマイクロコンピュータなどで構成され、デジタルカメラを構成する各機能ブロックに対して様々な指示を行い、各種の制御処理を実行する。システム制御部206は、システムバス113を介して接続された画像処理部100、データ転送部104、メモリコントローラ115、不揮発性メモリコントローラ203、及び、ディスプレイを含む操作部205、撮像素子200に対して設定や制御を行う。マイクロコンピュータの実行は、前述した不揮発性メモリ204に記録されたプログラムを実行することで、本実施形態の各処理を実現する。
操作部205は、液晶などのディスプレイ、ユーザーにより操作されるスイッチやボタン、タッチパネル等を含み、電源のON/OFF、シャッターのON/OFF等の各種操作に使用される。
図1は、図2の画像処理部100、データ転送部104、バス113、バス114、メモリコントローラ115、メモリ117を詳細に示すブロック図である。
画像処理部100は、撮像処理部202、第1の画像処理部101、第2の画像処理部102、第3の画像処理部103などで構成される。画像処理部100は、これら他に、不図示の画像バッファメモリ、第1乃至第3の画像処理部101乃至103以外の画像処理を行う画像処理部、画像データの圧縮処理や伸長処理を行う圧縮伸長部、ディスプレイに表示するための各種信号を生成する表示制御部、記録媒体に記憶する記憶処理部などを有する。
第1の画像処理部101は、撮像処理部202による処理後の画像データ或いは不図示の画像バッファメモリやメモリ117に格納された画像データに対して画像処理を行う。具体的には、使用状況に応じて発生する撮像素子200の傷を補正する傷補正や倍率色収差補正、画像データのフォーマット変換処理、ノイズ低減処理などを適正に行う。処理結果は再びメモリ117あるいは第2の画像処理部102あるいは不図示の画像処理部に対して出力する。
第2の画像処理部102は、第1の画像処理部101に後続する画像処理を行う。すなわち、第2の画像処理部102は第1の画像処理部101による処理後の画像データ或いは不図示の画像バッファメモリやメモリ117に格納された画像データに対して画像処理を行う。具体的には、画像データのフォーマット変換処理、ノイズ低減処理や現像処理などを適正に行う。処理結果はメモリ117あるいは不図示の画像処理部に対して出力する。
第3の画像処理部103は、第2の画像処理部102による処理後の画像データ或いは不図示の画像バッファメモリやメモリ117に格納された画像データに対して画像処理を行う。具体的には、歪補正などの処理を適正に行う。
ここで、画像処理部100のそれぞれの処理部の処理性能(処理能力)及び、タイミングチャートに関して図3、4を用いて説明する。
図3は、実施形態における撮像処理部202、第1の画像処理部101、第2の画像処理部102、第3の画像処理部103の処理性能を相対的に示した図である。処理性能は1画素に対してどのくらい処理時間を要するかによって表すことができ、式(1)のように算出する。
処理性能=1画素/処理時間 (1)
処理性能=1画素/処理時間 (1)
図3に示すそれぞれの画像処理部の処理性能は、第2の画像処理部102を基準にして処理性能を1とすると、撮像処理部202と第1の画像処理部101の処理性能は2、つまり第2の画像処理部102の処理性能の2倍の性能を有する。第3の画像処理部103の処理性能は1となり、第2の画像処理部102の処理性能と同等であることを意味する。なお、基準となる画像処理部の選出方法であるが、決まった時間以内に処理を終えないとシステムとして破たんする可能性がある処理部の中で性能の低い処理部を基準となる所定の画像処理部として決定する。そのため、本実施形態では、撮像処理部202と第1の画像処理部101の処理性能より低いが、例えば動画時に現像処理は必ず、連写時や動画撮影時における1画面の撮影周期により決められる、一定期間内に終える必要があるため、第2の画像処理部102を基準としている。ここで処理を終えるとは、メモリ117に処理結果を書き終えるまでのことを意味している。また、ここで示す各画像処理部の性能指標は、本実施形態を容易に理解しやすくするため一例であって、これらの数値で本発明が限定されるものではない。
図4(A)は実施形態におけるデジタルカメラにおいて、1秒当たり10コマの画像を撮像する連写モード時における各画像処理部(撮像処理部を含む)のタイミングチャートの理想形の一例を示す図である。1秒当たり10コマの速度で撮像するわけであるから、各コマの間隔1Vは100msとなる。
図4(A)は、それぞれの画像処理部(202、101、102、103)による同時並列処理によって連写処理を行うタイミングを示している。図4(A)内の「画像#」の「#」(#は1、2、3、4…)は、撮像した画像が何番目かを示している。
図示に示すように、撮像処理部202は最初の「画像1」についてA/D変換器201を介して撮像画像データに対する処理を行い、その結果をメモリコントローラ115を介して一時的にメモリ117に格納する。
次の1Vの期間にて、撮像処理部202は2つ目の「画像2」についてA/D変換器201を介して撮像画像データに対する処理を行い、その結果をメモリコントローラ115を介して一時的にメモリ117に格納する。このとき、メモリ117には撮像処理部202で処理した結果の「画像1」のデータが格納されているので、第1の画像処理部101がその「画像1」のデータを読み込み処理し、その結果を、再びメモリ117に格納する処理を行う。
次の1Vの期間にて、撮像処理部202は3つ目の「画像3」についてA/D変換器201を介して撮像画像データに対する処理を行い、その結果をメモリコントローラ115を介して一時的にメモリ117に格納する。このとき、メモリ117には既に撮像処理部202で処理した結果の「画像2」のデータが格納されているので、第1の画像処理部101がその「画像2」のデータを読み込み処理し、その結果を、再びメモリ117に格納する処理を行う。また、メモリ117には既に第1の画像処理部101で処理済みの「画像1」が格納されているのいで、第2の画像処理部102がその「画像1」のデータを読み出し、画像処理し、その結果を再びメモリ117に格納する処理を行う。
次の1Vの期間にて、撮像処理部202は4つ目の「画像4」についてA/D変換器201を介して撮像画像データに対する処理を行い、その結果をメモリコントローラ115を介して一時的にメモリ117に格納する。このとき、メモリ117には既に撮像処理部202で処理した結果の「画像3」のデータが格納されているので、第1の画像処理部101がその「画像3」のデータを読み込み処理し、その結果を、再びメモリ117に格納する処理を行う。また、メモリ117には既に第1の画像処理部101で処理済みの「画像2」が格納されているのいで、第2の画像処理部102がその「画像2」のデータを読み出し、画像処理し、その結果を再びメモリ117に格納する処理を行う。また、メモリ117には既に第2の画像処理部102で処理済みの「画像1」が格納されているのいで、第3の画像処理部103がその「画像1」のデータを読み出し、画像処理し、その結果を再びメモリ117に格納する処理を行う。以降、上記の処理が、連写が継続している間、繰り返される。
図4(B)は同図(A)に対して同時並列処理によってバス帯域が込み合ってそれぞれの画像処理部(202、101、102、103)の処理時間が長くなっていること状況を示している。つまり、図3で示した画像処理部(202、101、102、103)の処理性能だけでなく、バス帯域の混み具合に応じで処理終了までの時間が異なることを示している。また、撮像処理部202の処理時間は、バス帯域だけでなく、撮像素子200の1画素あたりの入力レート(スピード)によって左右される。
データ転送部104は、画像処理部100とメモリ117間に介在し、それらの間のデータ転送の制御を司るものでる。このため、データ転送部104は、データ転送を行う複数のDirect Memory Accessコントローラ(ダイレクトメモリアクセスコントローラ)のWRDMAC108a乃至dとRDDMAC105a乃至dで構成される。画像データは、WRDMAC108a乃至dによってバス114に出力され、メモリコントローラ115を介してメモリ117に一時記憶される。また、メモリ117に一時記憶された画像データは、RDDMAC105a乃至dによってメモリコントローラ115を介してメモリ117からバス114に出力され、画像処理部100に供給される。
RDDMAC105a乃至dはそれぞれ同じ構成である。それ故、内部構成要素については参照番号の末尾にa乃至dの文字を付している。また、WRDMAC108a乃至dもそれぞれ同じ構成である。それ故、これらについても、その内部構成要素については参照番号の末尾にa乃至dの文字を付している。
以下では、RDMAC105a、WRDMAC108aについて説明するが、他のRDMAC105b、105c、WRDMAC108b、108cも同様であるものとして理解されたい。
RDDMAC105aは、R−FIFO106a、読み込みデータ量制御部107aなどから構成される。メモリ117からの転送されてきたデータを一旦R−FIFO106に記憶する。そして、読み込みデータ量制御部107がR−FIFO106を監視して、設定に応じたデータ量のデータが蓄積された時点で、画像処理部100の第1の画像処理部101へデータを転送する。
WRDMAC108aは、W−FIFO109a、書き込みデータ量制御部110a、データ割合算出部111a、データ割合比較部112aなどから構成される。画像処理部100からのデータは一旦W−FIFO109に記憶される。書き込みデータ量制御部110がW−FIFO109を監視して、設定に応じたデータ量が蓄積された時点で、メモリコントローラ115を介してW−FIFO109からデータをメモリ117に転送し、一時記憶される。データ割合算出部111は、メモリ117に書き込みを行ったデータの割合を算出(又は検出)する。算出したデータはデータ割合比較部112aに出力すると共に、他のWRDMAC108b内のデータ割合比較部112b、112cにも出力する。
他のWRDMAC108b内のデータ割合算出部111bや111cも、算出したデータを、自身以外のWRDMACのデータ割合比較部に出力する。つまり、各WRDRMAC108a、108b、108cは、メモリ117に書き込みを行ったデータの割合を互いに比較できるように、授受することになる。
上記の通りなので、データ割合比較部112aは、自身が属するWRDMAC108aのデータ割合だけでなく、WRDMAC108bのデータ割合を示すデータをも入力する。
実施形態では、第2の画像処理部102に接続するWRDMAC108bのデータ割合算出部111bの結果を基準値とし、第1の画像処理部102/第3の画像処理部103に接続するWRDMAC108a、108cのデータ割合算出部111a,111cの結果を比較値とする。なお、基準値を設けることで、データ割合算出部(111a乃至c)の結果をそれぞれで比較することなく、基準値と比較することで比較回数を少なくしている。データ割合比較部112a乃至112cは、第2の画像処理部102のデータ割合算出部111bが算出したデータと、第1の画像処理部101あるいは第3の画像処理部103のデータ割合算出部111a、111cで算出したデータとを比較する。さらには、データ割合算出部111a乃至111cは、システムバス113のバスプロトコルを監視して、システム制御部206からメモリ117へのアクセス要求によるCPUアクセスが発生したかを判定しCPUアクセスが発生した場合、基準となるデータ割合βを予め設定された値を元に一定基準で小さくすることも可能である。
データ割合算出部111a、データ割合比較部112aについての詳細は、図6、図7を用いて後述する。
メモリコントローラ115は、システム制御部(CPU)206或いはデータ転送部108からの指示に応じて、メモリ117にデータを書き込んだり、メモリ117からデータを読み出したりする。なお、A/D変換器201からの出力データがメモリ117に直接書き込まれる場合もある。また、メモリコントローラ115は、メモリとバスとの調停を行うアービタ116と不図示のアービタキューを持つ。アービタ116は、複数のDMAC(RDDMAC105a乃至105d、WRDMAC108a乃至108dを含む)からの同時要求に対して、設定された優先順位に従って、要求をアービタキューに詰める。アービタキューは、要求順に処理を行うか、優先順位に従ったアービタキュー内の要求の入れ替えを行ってから処理を行う。アービタキュー内の要求の入れ替えを行うと、優先順位の低い要求がいつまでもキューに残った状態となる可能性がある。そのため、入れ替わった要求の優先順位を入れ替え元の優先順位に置き換えて、優先順位を上げるようにする。具体的には、図5を用いて説明する。図5は、8段のアービタキューを示している。同図の「状態1」は、要求1から4までキューに詰まっている状態を示し、それぞれの優先順位情報も保持している。優先順位情報は数値が低ければ、優先順位が高いことを示している。同図の「状態2」は、新しい要求5がアービタキューに詰められたことを示している。同図の「状態3」は、優先順位に応じて要求の並び替えをして、優先順位の変更をしたことを示した図である。すなわち、要求5が要求2と入れ替わり、要求2の優先順位が要求5と同じとなっていることを示している。同様に要求3,4も入れ替えが発生して、優先順位が入れ替わったことを示している。
メモリ117は、所定枚数の静止画像や所定時間の動画像、音声等のデータやシステム制御部206の動作用の定数、プログラム等を格納するのに十分な記憶容量を備える記憶装置である。
図6は、データ転送部104におけるデータ転送制御のフローチャートである。
ステップ600は、システム制御部206によりデータ転送部104にパラメータを設定して、転送を開始する。
ステップ601は、設定されたデータ転送モードに応じてメモリコントローラにデータを転送する。
ステップ602は、全データの転送が完了したかの判定を行い、全データの転送が完了であれば処理を終える。全データの転送がまだ完了し終えていない場合は、ステップ603の処理を行う。
ステップ603は、転送モードに応じた1回の転送量終了の判定を行う。具体的には、設定されたバースト転送量の転送が終わったかの判定を行い、バースト転送量分の転送を終えるまで判定を行い、転送が終えたらステップ604の処理を行う。なお、1回のデータ転送単位の転送を終了するたびにバスの占有権を他のデータ処理部に渡すシングル転送モードの場合はステップ603の判定を行う必要はなく、ステップ604の処理を行う。
ステップ604は、データ量の調整処理を行う。データ量調整処理は、図7を用いて説明する。
図7は、図6のステップ604におけるデータ量調整処理のフローチャートである。ここで、実施形態では、既に説明したように第2の画像処理部102を基準にしている点に注意されたい。また、同図の処理は、各WRDMACが1回のバースト転送を行う直前に行うものとするが、バースト転送を行った直後でも構わない。
ステップ700では、第1の画像処理部101に対応するWRDMAC108aのデータ割合算出部111aはデータの割合α、Xを算出し、それをデータ割合比較部112a及び、第2の画像処理部102に対応するデータ割合比較部112bに供給する。本実施形態では、以下の式(2)、(3)からデータ割合α、Xを算出する。
α=着目画像における転送済みのデータ量/1画面の総データ量 …(2)
X=DMAC開始からの経過時間カウント/処理画素数(処理データ量)…(3)
α=着目画像における転送済みのデータ量/1画面の総データ量 …(2)
X=DMAC開始からの経過時間カウント/処理画素数(処理データ量)…(3)
要するに、1Vの期間における書き込みのためのWRDMAC108aによる転送の進捗情報の程度を示す指標値であり、データ割合Xは、1画素値の転送に係る時間を表す指標値と言うことができる。
上記と同様の処理を、ステップS700にて、第3の画像処理部103に対応するWRDAMC108cが行う。すなわち、データ割合算出部111cがデータ割合α、Xを算出し、データ割合比較部112cに供給する。
ステップ701は、基準となる第2の画像処理部102に対応したWRDMAC108bのデータ割合算出部111bにおいて、式(2)、(3)と同様に、基準となるデータ割合を算出する。ここで、データ割合算出部111a,cとデータ割合算出部111bとを区別するため、以降、データ割合算出部111bが式(2)で算出したデータ割合をβ、式(3)で算出したデータ割合をZと表現する。データ割合算出部111bは、算出した割合データβ、Zを、データ割合比較部112bに供給すると共に、第1の画像処理部101に対応するデータ割合比較部112a、並びに、第3の画像処理部101に対応するデータ割合比較部112cにも供給する。
上記の結果、データ割合比較部112aは、データ割合算出部111aで算出されたデータ割合α、X,及び、基準となる第2の画像処理部用のデータ割合算出部111bで算出されたデータ割合β、Zを入力することになる。
一方、データ割合比較部112cは、データ割合算出部111c(データ割合比較部112aではない点に注意されたい)で算出されたデータ割合α、X,及び、基準となる第2の画像処理部用のデータ割合算出部111bで算出されたデータ割合β、Zを入力することになる。
そして、基準となる第2の画像処理部に対応するデータ割合比較部112bは、データ割合算出部111bで算出されたデータ割合β、Z,及び、第1の画像処理部用のデータ割合算出部111aで算出されたデータ割合α、Xを入力することになる。なお、実施形態では、第2の画像処理部に対応するデータ割合比較部112bが、第1の画像処理部用のデータ割合算出部111aで算出されたデータ割合α、Xを入力するものとしたが、第3の画像処理部用のデータ割合算出部111cで算出されたデータ割合α、Xを入力しても構わない。
さて、データ割合比較部112aは、入力した割合データα、Xと、割合データβ、Zとを比較し、自身が属する第1の画像処理部101の処理結果のメモリ117への書き込みが、基準となる第2の画像処理部102に対して相対的に遅れているのか、早まっているのかを判定する。そして、その結果を、読み込み量制御部107a、書き込みデータ量制御部110a、並びに、メモリコントローラ115内のアービタ116に対する制御信号として出力する。
さて、データ割合比較部112aは、入力した割合データα、Xと、割合データβ、Zとを比較し、自身が属する第1の画像処理部101の処理結果のメモリ117への書き込みが、基準となる第2の画像処理部102に対して相対的に遅れているのか、早まっているのかを判定する。そして、その結果を、読み込み量制御部107a、書き込みデータ量制御部110a、並びに、メモリコントローラ115内のアービタ116に対する制御信号として出力する。
データ割合比較部112b、cも同様である。すなわち、データ割合比較部112bは、自身が属する第2の画像処理部102の処理結果のメモリ117への書き込みのための転送が、比較対象である第1の画像処理部101に対して相対的に早いのか遅いのかを判定する。そして、その判定結果に従い、読み込み量制御部107b、書き込みデータ量制御部110b、並びに、メモリコントローラ115内のアービタ116に対する制御信号を出力する。
また、データ割合比較部112cは、自身が属する第3の画像処理部103の処理結果のメモリ117への書き込みのための転送、基準となる第2の画像処理部102の進捗の程度と比較して遅れているのか、早まっているのかを判定する。そして、その判定結果に基づき、読み込み量制御部107c、書き込みデータ量制御部110c、並びに、メモリコントローラ115内のアービタ116に対する制御信号を出力する。
なお、本実施形態では、メモリ117へのWRDMACの割合データから、それぞれの進捗を判定するものとした。しかし、各RDDMAC内に、上記のデータ割合算出部111a乃至cとデータ割合比較部112a乃至cを実装し、リード処理から進捗を判定しても構わない。
さて、ステップS702では、上記の信号を受けた各読み込みデータ量制御部107a乃至107c、書き込みデータ量制御部110a乃至110c、並びに、アービタ116はデータ転送の制御処理を行う。
図8は、データ転送の制御の処理内容を示すテーブルである。同図は、第1乃至第3の画像処理部101乃至103に対応する各データ割合比較部112a乃至112cによるDDMAC,WRDMACに対する処理を示している。説明を簡単なものとするため、以下では、第1の画像処理部101に対応するデータ割合比較部112aに着目して説明する。第2の画像処理部102、第3の画像処理部103の場合は、以下の参照符号の末尾「a」を、「b」又は「c」に置き換えて理解されたい。
1列目は、ステップ701の比較結果を示し、2列目以降は、データ量の調整方法を示している。
ここでは、バースト転送量を変更することにより、第1の画像処理部101に接続しているDMACのデータ量を調整する場合について説明する。第1の画像処理部101に対応したデータ割合比較部112aは、受け取ったαとβ、或いは、XとZの比較結果に応じて、読み込みデータ量制御部107a、或いは、書き込みデータ量制御部110aを制御し、バースト長、或いは、アクセス要求の受付を制御する。
即ち、バースト長を調整する場合、読み込みデータ量制御部107a、或いは、書き込みデータ量制御部110aは、ステップ701の比較結果が、β<α(Z>X)であった場合、自身の書き込みの進捗が基準よりも早く進んでいることを意味する。それ故、第1の画像処理部101に接続しているRDMDAC105aの読み込みデータ量制御部10a7のバースト転送長を所定量だけ短くするように制御する。β=α(Z=X)の場合は、バースト転送長の変更は行わない。β>α(Z=X)の場合は、進捗が遅れていることを示すので、バースト転送長を所定量だけ長くするように制御する。なお、バースト転送長の調整はWRDMAC108aで行ってもよい。
次に、第1の画像処理部101からのDMAC転送要求の受付を停止することにより第1の画像処理部101に接続しているDMACのデータ量を調整する場合を説明する。ステップ701の比較結果が、β<α(Z>X)であれば、第1の画像処理部101に接続しているWRDMAC108aの書き込みデータ量制御部110が要求受付を停止する。WRDMAC108aが要求を受けつけなくなると、第1の画像処理部101は、要求が受け付けられないため、一時停止する。β>=α(Z<=X)の場合は、WRDMAC108aの書き込みデータ量制御部110aが要求受付停止を解除する。なお、一時停止はRDDMAC105で行ってもよい。
また、アービタ116は、αとβ、或いは、XとZの比較結果に応じて、対応するDMACからのアクセス要求の優先順位や、キューの段数を制御する。
例えば、ステップ701の比較結果が、β<α(Z>X)であれば、アービタ116が、第1の画像処理部101に接続しているDMAC(書き込み、読み込みとも)に該当する優先順位を低くする。β=α(Z=X)の場合は、アービタ116は何もしない。β=α(Z=X)の場合は、アービタ116は優先順位を高くする。アービタ116の優先順位の変更は、図3で説明したアービタキューの中で行うものではなく、アービタキューに入れる前の優先順位を変更することである。優先順位を変更することで、バスの使用率を変更することが出来き、データ量の調整が可能となる。
次に、第1の画像処理部101に接続しているDMACのデータ量調整対象をアービタキュー段数とした場合で説明する。ステップ701の比較結果が、β<α(Z>X)であれば、アービタ116が、アービタのキューの段数を増やす。アービタのキューの段数を増やすことで、優先順位の低い要求も受け付け易くなる。β>=α(Z<=X)の場合は、アービタ116が、アービタのキューの段数を元の段数に戻すように制御する。
また、Z=1の時は、基準となる第2の画像処理部102が処理性能で動作している、つまりバス律速となっていないことを示している。そのため、Z=1の時は、データ量調整処理を行わなくてもよい。
次に、データ量調整処理で制御した場合のタイミングチャートとバス帯域グラフを図9に示す。
図9(A)は、それぞれの画像処理部(202、101、102、103)の処理時間のタイミングチャートと、そのバス帯域を示したものである。バス帯域は、X軸方向に時間(単位ms)、Y軸方向にバス帯域(単位%)で表したものである。参照符号900は第1の画像処理部101が使用しているバス帯域である。参照符号901は、第2の画像処理部102が使用しているバス帯域である。参照符号902は第3の画像処理部103が使用しているバス帯域である。参照符号903は撮像処理部202が使用しているバス帯域である。参照符号904が、帯域900〜903を加算したものであり、それぞれの画像処理部(202、101、102、103)のバス帯域の合計を表したものである。
図9(B)は、それぞれの画像処理部(202、101、102、103)に加えて、システム制御部206が局所的にバス113、114にアクセスした時のそれぞれの処理時間のタイミングチャートと、そのバス帯域を示したものである。参照符号905は第1の画像処理部101が使用しているバス帯域である。参照符号906は、第2の画像処理部102が使用しているバス帯域である。参照符号907は第3の画像処理部103が使用しているバス帯域である。参照符号908は撮像処理部202が使用しているバス帯域である。参照符号909はシステム制御部206が使用しているバス帯域である。参照符号910が、帯域905〜909を加算したものであり、それぞれの画像処理部(202、101、102、103)とシステム制御部206のバス帯域の合計を表したものである。システム制御部206が帯域909に示すように局所的にアクセスするために、バス帯域が混むことになる。撮像処理部202は、A/D変換器201からの画素の入力レートが遅いため、処理性能としては、第2、3の画像処理部102、103と同等となる。この時、第1の画像処理部101は、撮像処理部202、第2、3の画像処理部102、103より処理性能が高く、速く動作できる分、システム制御部206が局所的にアクセスする前と同じバス帯域を占有しようとする。つまり、システム制御部206の局所的アクセスが始まると、ステップ701の比較結果が、β<α(Z>X)となる。そのため、第1の画像処理部101が使用するバス帯域を抑えることになるため、第1の画像処理部101の処理時間が長くなる。さらに、撮像処理部202、第2、3の画像処理部102、103は、システム制御部206の局所的アクセスが開始前と同等のバス帯域を使用できることになる。
以上説明したように第1の実施形態によれば、連写や動画などのように、所定周期で画像が連続して入力される場合において、その周期内における転送単位毎に、データ割合を算出して基準となるDMACと比較することで、動的に各画像処理部のデータ量を調整できる。データ量調整に、バースト転送量の調整、DMACに接続している画像処理部の一時停止、メモリアービタによる優先順位の調整、メモリアービタによるアービタキュー段数の調整のどれかを選択的に使用することで、データ量の調整が可能となる。なお、図8では、いくつもデータ量調整を示したが、そのうちの1つのみを用いてデータ量を制御しても構わない。
以上、本発明を第1の実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることは言うまでもない。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。なお、ここでは、前述した第1の実施形態と異なる部分のみを説明し、同一の部分については、同一の符号を付すなどして詳細な説明を省略する。
次に、本発明の第2の実施形態について説明する。なお、ここでは、前述した第1の実施形態と異なる部分のみを説明し、同一の部分については、同一の符号を付すなどして詳細な説明を省略する。
図10は、データ割合に応じて適応的にデータ量調整方法を選択してデータ量の調整方法を示した図である。第1の実施形態における図8に代わるテーブルであると認識されたい。
1列目は、ステップ701の比較結果を示し、2列目以降は、データ量の調整方法を示している。閾値Th1〜6は正の数値であり、Th1乃至Th4については、Th1>Th2>Th3>Th4の関係にあり、Th5、Th6についてはTh5>Th6の関係にあるものとする。
ここで、第1の画像処理部101に接続しているDMACのデータ量調整方法について示す。
ステップ701の比較結果が、α−β(Z−X)>Th1の場合は、第1の画像処理部101に接続しているWRDMAC108の書き込みデータ量制御部110が要求受付を停止する。一時停止以外のデータ量調整は、現状維持となるため、何も制御を行わない。
ステップ701の比較結果が、α−β(Z−X)>Th2の場合は、第1の画像処理部101に接続しているWRDMAC108の書き込みデータ量制御部110が要求受付を解除する。さらに、第1の画像処理部に接続しているRDMDAC105の読み込みデータ量制御部107のバースト転送長を短くするように制御する。一時停止、バースト転送量以外のデータ量調整は、現状維持となるため、何も制御を行わない。
ステップ701の比較結果が、α−β(Z−X)>Th3の場合は、第1の画像処理部101に接続しているWRDMAC108の書き込みデータ量制御部110が要求受付を解除する。アービタ116が、第1の画像処理部101に接続しているDMACに該当する優先順位を低くする。一時停止、アービタ調整以外のデータ量調整は、現状維持となるため、何も制御を行わない。
ステップ701の比較結果が、α−β(Z−X)>Th4の場合は、第1の画像処理部101に接続しているWRDMAC108の書き込みデータ量制御部110が要求受付を解除する。さらに、アービタ116が、アービタのキューの段数を増やす。一時停止、アービタキュー段数以外のデータ量調整は、現状維持となるため、何も制御を行わない。
ステップ701の比較結果が、α−β(Z−X)=0の場合は、第1の画像処理部101に接続しているWRDMAC108の書き込みデータ量制御部110が要求受付を解除する。さらに、アービタ116が、アービタのキューの段数を元の状態に戻す。一時停止、アービタキュー段数の増減以外のデータ量調整は、現状維持となるため、何も制御を行わない。
ステップ701の比較結果が、α−β(Z−X)<Th5の場合は、第1の画像処理部101に接続しているWRDMAC108の書き込みデータ量制御部110が要求受付を解除する。さらに、アービタ116が、アービタのキューの段数を元の状態に戻す。さらに、第1の画像処理部に接続しているRDMDAC105の読み込みデータ量制御部107のバースト転送長を長くするように制御する。アービタ調整でのデータ量調整は、現状維持となるため、何も制御を行わない。
ステップ701の比較結果が、α−β(Z−X)<Th6の場合は、第1の画像処理部101に接続しているWRDMAC108の書き込みデータ量制御部110が要求受付を解除する。さらに、アービタ116が、アービタのキューの段数を元の状態に戻す。さらに、アービタ116は優先順位を高くする。バースト転送量でのデータ量調整は、現状維持となるため、何も制御を行わない。
なお、バースト転送長の調整はWRDMAC108で行ってもよい。一時停止はRDDMAC105で行ってもよい。
以上説明したように、本発明の第2の実施形態によれば、転送単位毎に、データ割合を算出して基準となるDMACと比較することで、動的に各画像処理部のデータ量を調整できる。さらに、データ量調整に、バースト転送量の調整、DMACに接続している画像処理部の一時停止、メモリアービタによる優先順位の調整、メモリアービタによるアービタキュー段数の調整を適応的に使用(動的に切り替えて使用)することで、より柔軟にデータ量の調整が可能となる。
以上、本発明を第2の実施形態に基づき具体的に説明したが、本発明は、前記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることは言うまでもない。
Claims (9)
- 所定の周期で連続して入力される画像データを処理する画像処理装置であって、
画像データを記憶するメモリと、
互いに独立して画像データの処理を行う複数の画像処理手段と、
前記複数の画像処理手段の1つを第iの画像処理手段としたとき、当該第iの画像処理手段が前記周期内にて第i−1の画像処理手段で処理済みの画像データを前記メモリから読み出すため、並びに、処理済の画像データを前記メモリを介して後続する処理を行う第i+1の画像処理手段に渡すため、各画像処理手段と前記メモリとの間のデータ転送を行うデータ転送手段とを有し、
前記データ転送手段は、
前記複数の画像処理手段毎に、画像データの転送量の状態を検出する検出手段と、
前記複数の画像処理手段のうち、予め設定された所定の画像処理手段以外の他の画像処理手段は、自身の前記転送量の状態と、前記所定の画像処理手段の前記転送量の状態とを比較し、当該比較の結果に従って画像データの転送を調整し、
前記所定の画像処理手段について、前記所定の画像処理手段を除く予め設定された画像処理手段の前記転送量の状態と、前記基準の画像処理手段の前記転送量の状態とを比較し、当該比較結果に従って画像データの転送を調整する制御手段とを有する
ことを特徴とする画像処理装置。 - 前記データ転送手段は、前記複数の画像処理手段それぞれに対応したメモリアクセスコントローラを有し、
前記検出手段は、前記複数の画像処理手段に対応した前記メモリアクセスコントローラがそれぞれ転送を行う度に、前記周期内で転送すべき総データ量に対する転送済みのデータ量の割合を算出することを特徴とする請求項1に記載の画像処理装置。 - 前記制御手段は、前記メモリアクセスコントローラによる1回のバースト転送で転送するデータ量を調整することを特徴とする請求項2に記載の画像処理装置。
- 前記制御手段は、前記メモリアクセスコントローラからのメモリアクセスの要求の受付を停止または解除することで転送するデータ量を調整することを特徴とする請求項2に記載の画像処理装置。
- 前記制御手段は、前記メモリへのアクセスを調停するアービタにおけるキューの優先順位の入れ替えることで、転送するデータ量を調整することを特徴とする請求項2に記載の画像処理装置。
- 前記制御手段は、前記メモリへのアクセスを調停するアービタにおけるキューの段数の増減させることで、転送するデータ量を調整することを特徴とする請求項2に記載の画像処理装置。
- 前記所定の画像処理手段は、前記周期内で、1画面の画像データの処理を完了する必要がある複数の画像処理手段のうち、処理の能力が最も低い画像処理手段であることを特徴とする請求項1に記載の画像処理装置。
- 撮像手段と、当該撮像手段を用いて連写モードで撮像する制御手段と、当該制御手段の制御の下で連続して得られた画像データを処理の対象とする請求項1乃至6のいずれか1項に記載の画像処理装置とを有することを特徴とする撮像装置。
- 画像データを記憶するメモリと、
互いに独立して画像データの処理を行う複数の画像処理手段と、
前記複数の画像処理手段の1つを第iの画像処理手段としたとき、当該第iの画像処理手段が前記周期内にて第i−1の画像処理手段で処理済みの画像データを前記メモリから読み出すため、並びに、処理済の画像データを前記メモリを介して後続する処理を行う第i+1の画像処理手段に渡すため、各画像処理手段と前記メモリとの間のデータ転送を行うデータ転送手段とを有し、
所定の周期で連続して入力される画像データを前記画像処理手段で処理する画像処理装置の制御方法であって、
検出手段が、
前記複数の画像処理手段毎に、画像データの転送量の状態を検出する検出工程と、
制御手段が、
前記複数の画像処理手段のうち、予め設定された所定の画像処理手段以外の他の画像処理手段は、自身の前記転送量の状態と、前記所定の画像処理手段の前記転送量の状態とを比較し、当該比較の結果に従って画像データの転送を調整し、
前記所定の画像処理手段について、前記所定の画像処理手段を除く予め設定された画像処理手段の前記転送量の状態と、前記基準の画像処理手段の前記転送量の状態とを比較し、当該比較結果に従って画像データの転送を調整する制御工程とを有する
ことを特徴とする画像処理装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014013639A JP2015141528A (ja) | 2014-01-28 | 2014-01-28 | 画像処理装置及び撮像装置、及び、画像処理装置の制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014013639A JP2015141528A (ja) | 2014-01-28 | 2014-01-28 | 画像処理装置及び撮像装置、及び、画像処理装置の制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015141528A true JP2015141528A (ja) | 2015-08-03 |
Family
ID=53771843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014013639A Pending JP2015141528A (ja) | 2014-01-28 | 2014-01-28 | 画像処理装置及び撮像装置、及び、画像処理装置の制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015141528A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10701369B2 (en) | 2017-09-19 | 2020-06-30 | Kabushiki Kaisha Toshiba | Data transfer circuit and data transfer method |
-
2014
- 2014-01-28 JP JP2014013639A patent/JP2015141528A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10701369B2 (en) | 2017-09-19 | 2020-06-30 | Kabushiki Kaisha Toshiba | Data transfer circuit and data transfer method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10241721B2 (en) | Image processing device and image processing method | |
US20120110224A1 (en) | Data processing apparatus and image processing apparatus | |
US8949640B2 (en) | Signal processing device, signal processing method, and program | |
US9602723B2 (en) | Imaging apparatus capable of controlling power consumption and access to memory and control method thereof | |
JP5591022B2 (ja) | バス帯域モニタ装置およびバス帯域モニタ方法 | |
US9026697B2 (en) | Data processing apparatus | |
US9070201B2 (en) | Image processing apparatus | |
US10719458B2 (en) | Data transfer device, image processing device, and imaging device | |
JP2015141528A (ja) | 画像処理装置及び撮像装置、及び、画像処理装置の制御方法 | |
JP2008172410A (ja) | 撮像装置、画像処理装置、画像処理方法、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 | |
US20100110213A1 (en) | Image processing processor, image processing method, and imaging apparatus | |
US20120144150A1 (en) | Data processing apparatus | |
US20140009478A1 (en) | Image processing apparatus and control method | |
JP2012098884A (ja) | データ処理装置および画像処理装置 | |
JP7130377B2 (ja) | 画像処理装置 | |
JP6564625B2 (ja) | データ転送装置およびデータ転送方法 | |
JP4292218B2 (ja) | 画像処理装置及び画像処理システム | |
CN111033476A (zh) | 存储器访问装置、图像处理装置和摄像装置 | |
JP3959407B2 (ja) | 画像処理装置及び画像処理システム | |
JP2015102912A (ja) | バス制御装置及び方法、並びに、撮像装置 | |
JP2012043053A (ja) | バス帯域モニタ装置およびバス帯域モニタ方法 | |
JP2020035263A (ja) | メモリコントローラ | |
JP2014174689A (ja) | データ処理装置およびデータ処理方法 | |
JP2005012494A (ja) | 画像処理装置 | |
JP2017139513A (ja) | 撮像装置 |