信号処理装置、撮像装置およびデータ転送方法
【課題】記憶手段へのバスが渋滞することで発生していた不具合を防止する確率を向上させる。
【解決手段】観測手段は、記憶手段に各信号処理手段がアクセスする際のそれぞれの余裕度を観測する。調停手段は、各余裕度に基づいて各信号処理手段による記憶手段へのアクセス動作を調停する。各信号処理手段の余裕度に基づいて、記憶手段へのアクセス動作を調停することで、記憶手段への転送効率を従来よりも改善されうる。
【解決手段】観測手段は、記憶手段に各信号処理手段がアクセスする際のそれぞれの余裕度を観測する。調停手段は、各余裕度に基づいて各信号処理手段による記憶手段へのアクセス動作を調停する。各信号処理手段の余裕度に基づいて、記憶手段へのアクセス動作を調停することで、記憶手段への転送効率を従来よりも改善されうる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置などの信号処理装置において、データの転送効率を向上させる技術に関する。
【背景技術】
【0002】
近年、撮像素子の飛躍的な技術進歩に伴い、画像データの解像度も大幅に増加している。また、画像処理の複雑化に伴い、メモリを共有する画像処理モジュールも増加している。
【0003】
静止画の処理装置では、メモリへのアクセスバスが渋滞すれば、処理時間が増加するため好ましくない。一方で、動画の処理装置では、さらに深刻な問題が発生する。動画の処理装置は、一定の同期信号に基づいて処理を実行しなければならない。すなわち、一定周期内で必ず処理が終了しなければならない。よって、バスが渋滞すれば、一定周期内で処理が完了しなくなるため、深刻な不具合が発生しうる。
【0004】
このような課題を解決すべく、従来、一定時間内に処理を終了すべきモジュールについては、メモリへのアクセスの優先度を高く設定するという発明が提案されている(特許文献1)。
【特許文献1】特開2003−122705号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
最近になり、撮像素子から入力される画像の解像度や、再生機器へと出力される画像の解像度は大幅に増加している。もちろん、今後も増加傾向は続くであろう。そのため、バスの渋滞はさらに深刻となろう。
【0006】
一方で、撮像装置に使用されるDRAMの数やデータバス幅を削減することが、製造コストの削減の観点から求められている。これらを削減すれば、上記問題にさらに拍車がかかることは明らかであろう。
【0007】
このような事情から、特許文献1のように優先順位のみに基づきアクセスを調停する方法では、上記課題を十分には解決できなくなると予想される。
【0008】
そこで、本発明は、このような課題および他の課題のうち、少なくとも1つを解決することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【0009】
本発明は、入力された画像信号に対してそれぞれ異なる処理を施す複数の信号処理手段と、画像信号に基づいて信号処理手段により処理されたデータを記憶する記憶手段とを含む装置において好適に適用される。本発明では、記憶手段に各信号処理手段がアクセスする際のそれぞれの余裕度を観測する観測手段と、各余裕度に基づいて各信号処理手段による記憶手段へのアクセス動作を調停する調停手段とを含むことを特徴とする。
【発明の効果】
【0010】
本発明によれば、各信号処理手段の余裕度に基づいて、記憶手段へのアクセス動作を調停することで、記憶手段への転送効率を従来よりも改善できよう。これにより、記憶手段のバスが渋滞することで発生していた不具合を未然に防止できる確率が向上しよう。
【発明を実施するための最良の形態】
【0011】
以下に本発明の一実施形態を示す。もちろん以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0012】
図1は、実施形態に係る信号処理部を含む撮像装置の一例を示す図である。撮像装置は、一般に、デジタルスチルカメラやデジタルビデオカメラとして実現されよう。
【0013】
信号処理部100は、撮像素子150により取得された画像信号について画像処理する回路である。通常、信号処理部100では、複数のSDRAMなどから構成される記憶部101を媒介として各種の信号処理が実行される。なお、記憶部101を信号処理部100の一部分と考えてもよいことはいうまでもない。
【0014】
FインタフェースO102は、画像データを一時的に記憶する先入れ先出し形のメモリである。FインタフェースO102は、コントローラ103によって制御される。コントローラ103は、撮像素子150からの読み出しレートと、調停・余裕度算出部(以下、調停部と称す。)114への転送レートとを整合させる。
【0015】
信号処理部100には、様々な信号処理モジュールが搭載されている。カメラDSPモジュール105は、YC分離処理などのカメラ信号処理を実行する。リサイズモジュール106は、画像の拡大処理や縮小処理を実行する。NRモジュール107は、例えば、高感度撮影時や低速シャッター時に発生するノイズを低減する。エフェクトモジュール108は、各種のエフェクト処理を実行する。圧縮伸張部109は、JPEGなどの符号化方法を用いて画像データを圧縮したり伸張したりする。外部メディアインタフェース110は、テープメディア、ディクスメディア、メモリカードなどの外部メディアに対するデータの入出力を行う。ビデオインタフェース111は、ビデオ信号の入出力を実行する。なお、撮像素子150も信号処理モジュールの一種と考えてもよい。
【0016】
DRAMインタフェース113は、複数のSDRAMに対するデータアクセスを担当する。調停部114は、各信号処理モジュールが記憶部101にアクセスする際のそれぞれの余裕度を観測する。また、調停部114は、各余裕度に基づいて各信号処理モジュールによる記憶部101へのアクセス動作を調停する。そのため、各信号処理モジュールからの転送リクエストはすべて調停部114に入力され、調停部114により調停処理が実行される。
【0017】
各信号処理モジュールには、転送の優先度が予め設定されている。よって、調停部114は、優先度の高い信号処理モジュールから、順次、記憶部101へのアクセスを許可する。優先度の管理方法は、上述したように特許文献1を通じて公知となっているため、説明を省略する。
【0018】
調停部114は、転送リクエストの発行(アサート)から転送終了までの時間を転送時間とし、この転送時間と転送周期との差分を余裕度として算出する。なお、余裕度については、動画データの転送のように一定の周期で転送を行うことが必須となるアクセスについてだけ、求めるようにしてもよい。
【0019】
CPU112は、各信号処理モジュールの同期タイミングを基準として、対応する余裕度を調停部114から読み出す。さらに、CPU112は、第1の閾値未満の余裕度を有する第1の信号処理モジュールを特定する。第1の信号処理モジュールは、通常、実時間でデータを記憶部101に転送する必要がある信号処理モジュールである。
【0020】
CPU112は、例えば、第1の信号処理モジュールが有する余裕度と、他の第2の信号処理モジュールが有する余裕度とを比較する。CPU112は、比較結果に応じて、優先順位、バースト長、アクセスされるSDRAMなどの転送条件を変更し、変更された転送条件を調停部114に設定する。なお、このようなCPU112の処理を全て、調停部114が実行してもよい。
【0021】
図2は、記憶部へのバスが状態した状態で発生する不具合を説明するための図である。とりわけ、図中のステータスaは、正常に転送が実行される場合の記憶部101のステータスを示している。ステータスbは、不具合が発生する場合の記憶部101のステータスを示している。
【0022】
一般に転送周期の始期は、転送リクエストが調停部114に対して発行された時である。ウェイト(Wait)期間は、転送リクエストが発行されてから、転送が許可されるまでの時間をいう。DRAMインタフェース113のポートが競合している場合、他の信号処理モジュールが転送を終了してから、転送リクエストを発行した処理モジュールに転送が許可される。
【0023】
転送が許可されると、DRAMインタフェース113が、記憶部101のSDRAMへコマンドを発行することで、信号処理モジュールからSDRAMへのバースト転送が開始される。一般に、バースト転送されるデータのバースト長は、あらかじめ設定されているが、撮像装置や信号処理部100の動作モードに依存して変更される場合がある。なお、バースト転送が実行されている時間をバースト転送期間と呼ぶことにする。
【0024】
図中のマージンは、バースト転送が終了したときから転送周期の終期までをいう。このマージンは、SDRAMにおけるバスの余裕となる。すなわち、マージンは、上述した余裕度と密接に関係している。
【0025】
ステータスbでは、ウェイト期間が長いため、転送周期内でバースト転送を終了できない。この場合、バースト転送中に次の転送リクエストが発行されてしまうため、転送が誤動作するか、あるいは正常な動作が保証されないことになる。
【0026】
図3Aないし図3Cは、2つの信号処理モジュールが並行して転送リクエストを発行した場合の転送処理の一例を説明する図である。なお、コマンド発行期間については、説明の便宜上、省略されている。
【0027】
1つ目のデータ転送は、撮像素子150から読み出された画像データをいずれかの信号処理モジュールで処理するために、一旦、SDRAMへ保持する際の転送である。なお、撮像装置は、複数の撮像モードを有している。例えば、撮像モードごとに、撮像素子150の切り出しの領域が異なる場合、それに応じて転送周期やバースト長も変更される。
【0028】
2つ目のデータ転送は、ビデオインタフェース111から外部に出力される画像データをSDRAMから読み出す際のデータ転送である。これについても、撮像装置の撮像モードごとに、ビデオデータの解像度が異なることがある。よって、解像度の違いに応じて、転送周期やバースト長が変更される。ただし、ここでは説明を簡潔にするため、撮像素子150からのデータ転送に関する転送周期やバースト長は一定とする。
【0029】
図3Aによれば、ビデオインタフェース111に関する転送の優先度は、撮像素子150からの転送の優先度よりも低い。そのため、まず撮像素子150が先にデータの転送を開始する。図3Aにおいて、ビデオインタフェース111へと転送されるビデオデータのサイズも、図3Bや図3Cの事例よりも少ないものとする。
【0030】
この場合、撮像素子150からの転送が終了するまでウェイトしてから、ビデオインタフェース111へのビデオデータの転送が開始される。なお、図3Aのケースでは、ビデオインタフェース111へと出力されるビデオデータのサイズはそれほど大きくないため、ビデオデータの転送は、転送周期内に正常に終了できる。
【0031】
一方で、図3Bに示されたケースでは、ビデオデータのサイズが図3Aに示したケースのサイズよりも大きくなっている。なお、図3Bにおけるその他の条件は、図3Aと変わらないものとする。この場合、ビデオデータの転送が転送周期2内に収まらないため、オーバーフローとなり、転送が正常に終了しない。これは、誤動作の原因となるためこのましくない。
【0032】
図3Cに示したケースは、図3Bのケースにおいて、ビデオインタフェース111の優先度が、撮像素子150の優先度と交換されている。これにより、ビデオインタフェース111の優先度が、撮像素子150の優先度よりも高くなっている。この場合は、優先度に応じて、ビデオインタフェース111の転送が先に実行されてから、撮像素子150の転送が実行される。
【0033】
図3Aや図3Bが示しているように、元々、撮像素子150の転送に関するマージンはかなり余裕がある。そのためビデオインタフェース111の転送が終了した後で、撮像素子150の転送を実行しても、撮像素子150の転送にオーバーフローは発生しない。もちろん、ビデオインタフェース111の転送が先に実行されることで、ビデオインタフェース111の転送のウェイト期間が短縮され、転送周期2内で正常に転送が完了する。
【0034】
このように、複数の信号処理モジュールが転送をリクエストしている場合に、各信号処理モジュールのマージン(余裕度)を考慮して、優先度を交換することで、転送の失敗を未然に防止できる確率が高まる。
【0035】
すなわち、調停部114またはCPU112は、各信号処理モジュールが記憶部101へアクセスする際のそれぞれの余裕度を観測し、各余裕度に基づいて各信号処理モジュールによる記憶部101へのアクセス動作を調停することが好ましい。
【0036】
図4は、実施形態に係る割り込みによる転送効率の改善方法を示す図である。この例では、余裕度の低い信号処理モジュールの転送を、余裕度の大きい信号処理モジュールの転送に割り込ませている。図3Aにおいて説明したように、撮像素子150からの転送については、ビデオインタフェース111への転送よりも相対的に余裕度が大きい。
【0037】
そこで、調停部114は、撮像素子150から転送している最中に、ビデオインタフェース111への転送を割り込ませる。そして、調停部114は、ビデオインタフェース111への転送が終了すると、撮像素子150から転送を再開させる。これにより、双方の転送ともそれぞれの転送周期内で正常に終了できる。もちろん、割り込まれる転送の余裕度が、十分に大きいことが前提となる場合に、この方法は実現可能である。
【0038】
図5は、実施形態に係るバースト長の拡大による転送効率の改善方法方法を示す図である。図4において(a)は、相対的に短いバースト長のデータを2回転送するケースである。一方、(b)は、バースト長を2倍にして1回でデータを転送するケースである。一般に、ウェイト期間Twは、転送ごとに確保されることになっているため、(a)のケースでは、2つのウェイト期間が存在する。一方、(b)のケースでは、転送は1回で済むため、ウェイト期間も1つだけで済む。
【0039】
よって、(b)のケースのマージンは、(a)のケースにおける2つのマージンM1、M2の和よりもさらに大きなマージンM3を確保できる利点がある。マージンが増加すれば、転送の失敗する確率が低下するため、転送効率が改善される。さらに、図3Cで説明したような余裕度に基づき優先度を交換できる可能性が高まるため、転送効率がさらに改善されよう。
【0040】
図6は、実施形態に係るデータ転送方法を示すフローチャートである。ここでは、最も基本となるメインルーチンについて説明する。なお、以下の説明では、主に調停部114を処理主体とするが、一部または全ての処理をCPU112が担当してもよい。
【0041】
ステップS601において、調停部114は、各信号処理モジュールが記憶部101にアクセスする際のそれぞれの余裕度を観測する。ステップS602において、調停部114は、観測された各余裕度に基づいて各信号処理モジュールによる記憶部101へのアクセス動作を調停する。
【0042】
本実施形態によれば、各信号処理モジュールの余裕度に基づいて、記憶部101へのアクセス動作を調停することで、記憶部101へのアクセスを従来よりも効率良くすることができる。これにより、記憶部101へのバスが渋滞することで発生していた不具合を未然に防止できる確率が向上しよう。
【0043】
図7は、より詳細なデータ転送方法を示すフローチャートである。なお、図7に示されるフローチャートは、上述したステップS601およびS602をまとめてサブルーチン化したものと考えてもよい。
【0044】
ステップS701において、調停部114は、転送リクエストをアサートしてきた信号処理モジュールについての余裕度を算出する。なお、既に転送処理を実行している他の信号処理モジュールについての余裕度は保持されているものとする。なお、余裕度は、例えば、次式により算出する。
【0045】
余裕度 = Req_cyc_cnt − (Wait_cnt + Trs_cnt)
ここで、Req_cycl_cntは、前回の転送リクエストがアサートされたときから今回の転送リクエストがアサートされたときまでの時間(いわゆる転送周期)である。Wait_cntは、他の信号処理モジュールの転送が終了するまでの時間(いわゆるウェイト期間Tw)と、コマンド発行に要する期間Tcとの和である。また、Trs_cntは、バースト転送期間を意味する。バースト転送期間は、バースト長に比例する。
【0046】
ステップS702において、調停部114は、算出された余裕度と第1の閾値とを比較し、余裕度が第1の閾値未満となるか否かを判定する。余裕度が第1の閾値未満となる場合、ステップS703に進む。一方、余裕度が第1の閾値以上であれば、調停処理は不要なので、調停部114は、本処理を終了する。なお、第1の閾値は、例えば、過去に算出された余裕度のうち最小値である。算出された余裕度が最小値未満であれば、調停部114は、算出された余裕度を新たな最小値となる。
【0047】
ステップS703において、調停部114は、余裕度が第1の閾値未満となった信号処理モジュールの優先度よりも高い優先度を有する他の信号処理モジュールを特定する。
【0048】
ステップS704において、調停部114は、特定された他の信号処理モジュールの余裕度と第2の閾値とを比較し、余裕度が第2の閾値以上となるか否かを判定する。余裕度が第2の閾値以上となる場合、ステップS705に進む。一方、余裕度が第2の閾値未満であれば、優先度を交換可能な他の信号処理モジュールが存在しないことになるので、調停部114は、本処理を終了する。なお、第2の閾値は、余裕度が第1の閾値未満となった信号処理モジュールの転送を正常に完了できるように設定される。
【0049】
ステップS705において、調停部114は、転送リクエストをアサートしてきた信号処理モジュールの優先度と、他の信号処理モジュールの優先度とを交換する。
【0050】
このように図7に示すデータ転送方法は、とりわけ、図3Bないし図3Cのような状況下で転送効率を改善することができる。すなわち、複数の信号処理モジュール間で優先度を交換することで、いずれの信号処理モジュールにおける転送も正常に完了できるようになる。
【0051】
図8は、より詳細なデータ転送方法を示す他のフローチャートである。なお、既に説明した箇所には同一の参照符号を付すことで説明を簡潔にする。図7と比較すれば分るように、図8では、ステップS705がステップS805に置換されている。
【0052】
ステップS805において、調停部114は、他の信号処理モジュールの転送処理に、転送リクエストをアサートしてきた信号処理モジュールの転送処理を割り込ませる。すなわち、調停部114は、他の信号処理モジュールの転送を停止し、転送リクエストをアサートしてきた信号処理モジュールの転送を開始する。転送リクエストをアサートしてきた信号処理モジュールの転送が終了すると、調停部114は、他の信号処理モジュールの転送を再開させる。
【0053】
このように図8に示すデータ転送方法は、とりわけ、図4のような状況下で転送効率を改善することができる。すなわち、余裕度の小さい信号処理モジュールの転送を、余裕度の大きな信号処理モジュールの転送期間中に割り込ませて実行することで、いずれの転送も正常に完了できるようになる。
【0054】
図9は、より詳細なデータ転送方法を示すさらに他のフローチャートである。なお、既に説明した箇所には同一の参照符号を付すことで説明を簡潔にする。図7と比較すれば分るように、図9では、ステップS703ないしS705がステップS903に置換されている。
【0055】
ステップS903において、調停部114は、転送リクエストをアサートしてきた信号処理モジュールの転送サイズ(いわゆるバースト長)を拡大させる。図5に関して説明したように、バースト長を拡大させることでマージンが拡大されるため、転送効率の向上が期待できる。
【0056】
図10は、より詳細なデータ転送方法を示すさらに他のフローチャートである。なお、既に説明した箇所には同一の参照符号を付すことで説明を簡潔にする。図9と比較すれば分るように、図10では、ステップS903がステップS1003に置換されている。
【0057】
ステップS1003において、調停部114は、競合している他の信号処理モジュールのアクセス先(SDRAM)とは異なるように、転送リクエストをアサートしてきた信号処理モジュールのアクセス先を選択する。このように、重複しないようにSDRAMを選択することで、転送効率が改善する。
【0058】
[他の実施形態]
上述したように撮像装置は、複数の動作モードを有していることがある。よって、調停部114またはCPU112は、動作モードが変更される際に、画像データの仮想転送を実行することで余裕度を観測してもよい。すなわち、調停部114等は、実際のデータを転送することなく、ウェイト期間や転送期間をカウントすることで、オーバーフローが発生しない程度の余裕度があるか否かを判定できる。そして、調停部114は、この余裕度に応じて調停を実行することで、転送効率を改善できる。
【0059】
なお、調停部114またはCPU112は、複数の動作モードごとに観測された余裕度をメモリ等の保持部により保持してもよい。この場合、調停部114等は、動作モードが変更されると、動作モードに対応する余裕度に基づいて、各信号処理モジュールの転送条件を設定することができよう。
【図面の簡単な説明】
【0060】
【図1】実施形態に係る信号処理部を含む撮像装置の一例を示す図である。
【図2】記憶部へのバスが状態した状態で発生する不具合を説明するための図である。
【図3A】、
【図3B】、
【図3C】2つの信号処理モジュールが並行して転送リクエストを発行した場合の転送処理の一例を説明する図である。
【図4】実施形態に係る割り込みによる転送効率の改善方法を示す図である。
【図5】実施形態に係るバースト長の拡大による転送効率の改善方法方法を示す図である。
【図6】実施形態に係るデータ転送方法を示すフローチャートである。
【図7】より詳細なデータ転送方法を示すフローチャートである。
【図8】より詳細なデータ転送方法を示す他のフローチャートである。
【図9】より詳細なデータ転送方法を示すさらに他のフローチャートである。
【図10】より詳細なデータ転送方法を示すさらに他のフローチャートである。
【技術分野】
【0001】
本発明は、撮像装置などの信号処理装置において、データの転送効率を向上させる技術に関する。
【背景技術】
【0002】
近年、撮像素子の飛躍的な技術進歩に伴い、画像データの解像度も大幅に増加している。また、画像処理の複雑化に伴い、メモリを共有する画像処理モジュールも増加している。
【0003】
静止画の処理装置では、メモリへのアクセスバスが渋滞すれば、処理時間が増加するため好ましくない。一方で、動画の処理装置では、さらに深刻な問題が発生する。動画の処理装置は、一定の同期信号に基づいて処理を実行しなければならない。すなわち、一定周期内で必ず処理が終了しなければならない。よって、バスが渋滞すれば、一定周期内で処理が完了しなくなるため、深刻な不具合が発生しうる。
【0004】
このような課題を解決すべく、従来、一定時間内に処理を終了すべきモジュールについては、メモリへのアクセスの優先度を高く設定するという発明が提案されている(特許文献1)。
【特許文献1】特開2003−122705号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
最近になり、撮像素子から入力される画像の解像度や、再生機器へと出力される画像の解像度は大幅に増加している。もちろん、今後も増加傾向は続くであろう。そのため、バスの渋滞はさらに深刻となろう。
【0006】
一方で、撮像装置に使用されるDRAMの数やデータバス幅を削減することが、製造コストの削減の観点から求められている。これらを削減すれば、上記問題にさらに拍車がかかることは明らかであろう。
【0007】
このような事情から、特許文献1のように優先順位のみに基づきアクセスを調停する方法では、上記課題を十分には解決できなくなると予想される。
【0008】
そこで、本発明は、このような課題および他の課題のうち、少なくとも1つを解決することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【0009】
本発明は、入力された画像信号に対してそれぞれ異なる処理を施す複数の信号処理手段と、画像信号に基づいて信号処理手段により処理されたデータを記憶する記憶手段とを含む装置において好適に適用される。本発明では、記憶手段に各信号処理手段がアクセスする際のそれぞれの余裕度を観測する観測手段と、各余裕度に基づいて各信号処理手段による記憶手段へのアクセス動作を調停する調停手段とを含むことを特徴とする。
【発明の効果】
【0010】
本発明によれば、各信号処理手段の余裕度に基づいて、記憶手段へのアクセス動作を調停することで、記憶手段への転送効率を従来よりも改善できよう。これにより、記憶手段のバスが渋滞することで発生していた不具合を未然に防止できる確率が向上しよう。
【発明を実施するための最良の形態】
【0011】
以下に本発明の一実施形態を示す。もちろん以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
【0012】
図1は、実施形態に係る信号処理部を含む撮像装置の一例を示す図である。撮像装置は、一般に、デジタルスチルカメラやデジタルビデオカメラとして実現されよう。
【0013】
信号処理部100は、撮像素子150により取得された画像信号について画像処理する回路である。通常、信号処理部100では、複数のSDRAMなどから構成される記憶部101を媒介として各種の信号処理が実行される。なお、記憶部101を信号処理部100の一部分と考えてもよいことはいうまでもない。
【0014】
FインタフェースO102は、画像データを一時的に記憶する先入れ先出し形のメモリである。FインタフェースO102は、コントローラ103によって制御される。コントローラ103は、撮像素子150からの読み出しレートと、調停・余裕度算出部(以下、調停部と称す。)114への転送レートとを整合させる。
【0015】
信号処理部100には、様々な信号処理モジュールが搭載されている。カメラDSPモジュール105は、YC分離処理などのカメラ信号処理を実行する。リサイズモジュール106は、画像の拡大処理や縮小処理を実行する。NRモジュール107は、例えば、高感度撮影時や低速シャッター時に発生するノイズを低減する。エフェクトモジュール108は、各種のエフェクト処理を実行する。圧縮伸張部109は、JPEGなどの符号化方法を用いて画像データを圧縮したり伸張したりする。外部メディアインタフェース110は、テープメディア、ディクスメディア、メモリカードなどの外部メディアに対するデータの入出力を行う。ビデオインタフェース111は、ビデオ信号の入出力を実行する。なお、撮像素子150も信号処理モジュールの一種と考えてもよい。
【0016】
DRAMインタフェース113は、複数のSDRAMに対するデータアクセスを担当する。調停部114は、各信号処理モジュールが記憶部101にアクセスする際のそれぞれの余裕度を観測する。また、調停部114は、各余裕度に基づいて各信号処理モジュールによる記憶部101へのアクセス動作を調停する。そのため、各信号処理モジュールからの転送リクエストはすべて調停部114に入力され、調停部114により調停処理が実行される。
【0017】
各信号処理モジュールには、転送の優先度が予め設定されている。よって、調停部114は、優先度の高い信号処理モジュールから、順次、記憶部101へのアクセスを許可する。優先度の管理方法は、上述したように特許文献1を通じて公知となっているため、説明を省略する。
【0018】
調停部114は、転送リクエストの発行(アサート)から転送終了までの時間を転送時間とし、この転送時間と転送周期との差分を余裕度として算出する。なお、余裕度については、動画データの転送のように一定の周期で転送を行うことが必須となるアクセスについてだけ、求めるようにしてもよい。
【0019】
CPU112は、各信号処理モジュールの同期タイミングを基準として、対応する余裕度を調停部114から読み出す。さらに、CPU112は、第1の閾値未満の余裕度を有する第1の信号処理モジュールを特定する。第1の信号処理モジュールは、通常、実時間でデータを記憶部101に転送する必要がある信号処理モジュールである。
【0020】
CPU112は、例えば、第1の信号処理モジュールが有する余裕度と、他の第2の信号処理モジュールが有する余裕度とを比較する。CPU112は、比較結果に応じて、優先順位、バースト長、アクセスされるSDRAMなどの転送条件を変更し、変更された転送条件を調停部114に設定する。なお、このようなCPU112の処理を全て、調停部114が実行してもよい。
【0021】
図2は、記憶部へのバスが状態した状態で発生する不具合を説明するための図である。とりわけ、図中のステータスaは、正常に転送が実行される場合の記憶部101のステータスを示している。ステータスbは、不具合が発生する場合の記憶部101のステータスを示している。
【0022】
一般に転送周期の始期は、転送リクエストが調停部114に対して発行された時である。ウェイト(Wait)期間は、転送リクエストが発行されてから、転送が許可されるまでの時間をいう。DRAMインタフェース113のポートが競合している場合、他の信号処理モジュールが転送を終了してから、転送リクエストを発行した処理モジュールに転送が許可される。
【0023】
転送が許可されると、DRAMインタフェース113が、記憶部101のSDRAMへコマンドを発行することで、信号処理モジュールからSDRAMへのバースト転送が開始される。一般に、バースト転送されるデータのバースト長は、あらかじめ設定されているが、撮像装置や信号処理部100の動作モードに依存して変更される場合がある。なお、バースト転送が実行されている時間をバースト転送期間と呼ぶことにする。
【0024】
図中のマージンは、バースト転送が終了したときから転送周期の終期までをいう。このマージンは、SDRAMにおけるバスの余裕となる。すなわち、マージンは、上述した余裕度と密接に関係している。
【0025】
ステータスbでは、ウェイト期間が長いため、転送周期内でバースト転送を終了できない。この場合、バースト転送中に次の転送リクエストが発行されてしまうため、転送が誤動作するか、あるいは正常な動作が保証されないことになる。
【0026】
図3Aないし図3Cは、2つの信号処理モジュールが並行して転送リクエストを発行した場合の転送処理の一例を説明する図である。なお、コマンド発行期間については、説明の便宜上、省略されている。
【0027】
1つ目のデータ転送は、撮像素子150から読み出された画像データをいずれかの信号処理モジュールで処理するために、一旦、SDRAMへ保持する際の転送である。なお、撮像装置は、複数の撮像モードを有している。例えば、撮像モードごとに、撮像素子150の切り出しの領域が異なる場合、それに応じて転送周期やバースト長も変更される。
【0028】
2つ目のデータ転送は、ビデオインタフェース111から外部に出力される画像データをSDRAMから読み出す際のデータ転送である。これについても、撮像装置の撮像モードごとに、ビデオデータの解像度が異なることがある。よって、解像度の違いに応じて、転送周期やバースト長が変更される。ただし、ここでは説明を簡潔にするため、撮像素子150からのデータ転送に関する転送周期やバースト長は一定とする。
【0029】
図3Aによれば、ビデオインタフェース111に関する転送の優先度は、撮像素子150からの転送の優先度よりも低い。そのため、まず撮像素子150が先にデータの転送を開始する。図3Aにおいて、ビデオインタフェース111へと転送されるビデオデータのサイズも、図3Bや図3Cの事例よりも少ないものとする。
【0030】
この場合、撮像素子150からの転送が終了するまでウェイトしてから、ビデオインタフェース111へのビデオデータの転送が開始される。なお、図3Aのケースでは、ビデオインタフェース111へと出力されるビデオデータのサイズはそれほど大きくないため、ビデオデータの転送は、転送周期内に正常に終了できる。
【0031】
一方で、図3Bに示されたケースでは、ビデオデータのサイズが図3Aに示したケースのサイズよりも大きくなっている。なお、図3Bにおけるその他の条件は、図3Aと変わらないものとする。この場合、ビデオデータの転送が転送周期2内に収まらないため、オーバーフローとなり、転送が正常に終了しない。これは、誤動作の原因となるためこのましくない。
【0032】
図3Cに示したケースは、図3Bのケースにおいて、ビデオインタフェース111の優先度が、撮像素子150の優先度と交換されている。これにより、ビデオインタフェース111の優先度が、撮像素子150の優先度よりも高くなっている。この場合は、優先度に応じて、ビデオインタフェース111の転送が先に実行されてから、撮像素子150の転送が実行される。
【0033】
図3Aや図3Bが示しているように、元々、撮像素子150の転送に関するマージンはかなり余裕がある。そのためビデオインタフェース111の転送が終了した後で、撮像素子150の転送を実行しても、撮像素子150の転送にオーバーフローは発生しない。もちろん、ビデオインタフェース111の転送が先に実行されることで、ビデオインタフェース111の転送のウェイト期間が短縮され、転送周期2内で正常に転送が完了する。
【0034】
このように、複数の信号処理モジュールが転送をリクエストしている場合に、各信号処理モジュールのマージン(余裕度)を考慮して、優先度を交換することで、転送の失敗を未然に防止できる確率が高まる。
【0035】
すなわち、調停部114またはCPU112は、各信号処理モジュールが記憶部101へアクセスする際のそれぞれの余裕度を観測し、各余裕度に基づいて各信号処理モジュールによる記憶部101へのアクセス動作を調停することが好ましい。
【0036】
図4は、実施形態に係る割り込みによる転送効率の改善方法を示す図である。この例では、余裕度の低い信号処理モジュールの転送を、余裕度の大きい信号処理モジュールの転送に割り込ませている。図3Aにおいて説明したように、撮像素子150からの転送については、ビデオインタフェース111への転送よりも相対的に余裕度が大きい。
【0037】
そこで、調停部114は、撮像素子150から転送している最中に、ビデオインタフェース111への転送を割り込ませる。そして、調停部114は、ビデオインタフェース111への転送が終了すると、撮像素子150から転送を再開させる。これにより、双方の転送ともそれぞれの転送周期内で正常に終了できる。もちろん、割り込まれる転送の余裕度が、十分に大きいことが前提となる場合に、この方法は実現可能である。
【0038】
図5は、実施形態に係るバースト長の拡大による転送効率の改善方法方法を示す図である。図4において(a)は、相対的に短いバースト長のデータを2回転送するケースである。一方、(b)は、バースト長を2倍にして1回でデータを転送するケースである。一般に、ウェイト期間Twは、転送ごとに確保されることになっているため、(a)のケースでは、2つのウェイト期間が存在する。一方、(b)のケースでは、転送は1回で済むため、ウェイト期間も1つだけで済む。
【0039】
よって、(b)のケースのマージンは、(a)のケースにおける2つのマージンM1、M2の和よりもさらに大きなマージンM3を確保できる利点がある。マージンが増加すれば、転送の失敗する確率が低下するため、転送効率が改善される。さらに、図3Cで説明したような余裕度に基づき優先度を交換できる可能性が高まるため、転送効率がさらに改善されよう。
【0040】
図6は、実施形態に係るデータ転送方法を示すフローチャートである。ここでは、最も基本となるメインルーチンについて説明する。なお、以下の説明では、主に調停部114を処理主体とするが、一部または全ての処理をCPU112が担当してもよい。
【0041】
ステップS601において、調停部114は、各信号処理モジュールが記憶部101にアクセスする際のそれぞれの余裕度を観測する。ステップS602において、調停部114は、観測された各余裕度に基づいて各信号処理モジュールによる記憶部101へのアクセス動作を調停する。
【0042】
本実施形態によれば、各信号処理モジュールの余裕度に基づいて、記憶部101へのアクセス動作を調停することで、記憶部101へのアクセスを従来よりも効率良くすることができる。これにより、記憶部101へのバスが渋滞することで発生していた不具合を未然に防止できる確率が向上しよう。
【0043】
図7は、より詳細なデータ転送方法を示すフローチャートである。なお、図7に示されるフローチャートは、上述したステップS601およびS602をまとめてサブルーチン化したものと考えてもよい。
【0044】
ステップS701において、調停部114は、転送リクエストをアサートしてきた信号処理モジュールについての余裕度を算出する。なお、既に転送処理を実行している他の信号処理モジュールについての余裕度は保持されているものとする。なお、余裕度は、例えば、次式により算出する。
【0045】
余裕度 = Req_cyc_cnt − (Wait_cnt + Trs_cnt)
ここで、Req_cycl_cntは、前回の転送リクエストがアサートされたときから今回の転送リクエストがアサートされたときまでの時間(いわゆる転送周期)である。Wait_cntは、他の信号処理モジュールの転送が終了するまでの時間(いわゆるウェイト期間Tw)と、コマンド発行に要する期間Tcとの和である。また、Trs_cntは、バースト転送期間を意味する。バースト転送期間は、バースト長に比例する。
【0046】
ステップS702において、調停部114は、算出された余裕度と第1の閾値とを比較し、余裕度が第1の閾値未満となるか否かを判定する。余裕度が第1の閾値未満となる場合、ステップS703に進む。一方、余裕度が第1の閾値以上であれば、調停処理は不要なので、調停部114は、本処理を終了する。なお、第1の閾値は、例えば、過去に算出された余裕度のうち最小値である。算出された余裕度が最小値未満であれば、調停部114は、算出された余裕度を新たな最小値となる。
【0047】
ステップS703において、調停部114は、余裕度が第1の閾値未満となった信号処理モジュールの優先度よりも高い優先度を有する他の信号処理モジュールを特定する。
【0048】
ステップS704において、調停部114は、特定された他の信号処理モジュールの余裕度と第2の閾値とを比較し、余裕度が第2の閾値以上となるか否かを判定する。余裕度が第2の閾値以上となる場合、ステップS705に進む。一方、余裕度が第2の閾値未満であれば、優先度を交換可能な他の信号処理モジュールが存在しないことになるので、調停部114は、本処理を終了する。なお、第2の閾値は、余裕度が第1の閾値未満となった信号処理モジュールの転送を正常に完了できるように設定される。
【0049】
ステップS705において、調停部114は、転送リクエストをアサートしてきた信号処理モジュールの優先度と、他の信号処理モジュールの優先度とを交換する。
【0050】
このように図7に示すデータ転送方法は、とりわけ、図3Bないし図3Cのような状況下で転送効率を改善することができる。すなわち、複数の信号処理モジュール間で優先度を交換することで、いずれの信号処理モジュールにおける転送も正常に完了できるようになる。
【0051】
図8は、より詳細なデータ転送方法を示す他のフローチャートである。なお、既に説明した箇所には同一の参照符号を付すことで説明を簡潔にする。図7と比較すれば分るように、図8では、ステップS705がステップS805に置換されている。
【0052】
ステップS805において、調停部114は、他の信号処理モジュールの転送処理に、転送リクエストをアサートしてきた信号処理モジュールの転送処理を割り込ませる。すなわち、調停部114は、他の信号処理モジュールの転送を停止し、転送リクエストをアサートしてきた信号処理モジュールの転送を開始する。転送リクエストをアサートしてきた信号処理モジュールの転送が終了すると、調停部114は、他の信号処理モジュールの転送を再開させる。
【0053】
このように図8に示すデータ転送方法は、とりわけ、図4のような状況下で転送効率を改善することができる。すなわち、余裕度の小さい信号処理モジュールの転送を、余裕度の大きな信号処理モジュールの転送期間中に割り込ませて実行することで、いずれの転送も正常に完了できるようになる。
【0054】
図9は、より詳細なデータ転送方法を示すさらに他のフローチャートである。なお、既に説明した箇所には同一の参照符号を付すことで説明を簡潔にする。図7と比較すれば分るように、図9では、ステップS703ないしS705がステップS903に置換されている。
【0055】
ステップS903において、調停部114は、転送リクエストをアサートしてきた信号処理モジュールの転送サイズ(いわゆるバースト長)を拡大させる。図5に関して説明したように、バースト長を拡大させることでマージンが拡大されるため、転送効率の向上が期待できる。
【0056】
図10は、より詳細なデータ転送方法を示すさらに他のフローチャートである。なお、既に説明した箇所には同一の参照符号を付すことで説明を簡潔にする。図9と比較すれば分るように、図10では、ステップS903がステップS1003に置換されている。
【0057】
ステップS1003において、調停部114は、競合している他の信号処理モジュールのアクセス先(SDRAM)とは異なるように、転送リクエストをアサートしてきた信号処理モジュールのアクセス先を選択する。このように、重複しないようにSDRAMを選択することで、転送効率が改善する。
【0058】
[他の実施形態]
上述したように撮像装置は、複数の動作モードを有していることがある。よって、調停部114またはCPU112は、動作モードが変更される際に、画像データの仮想転送を実行することで余裕度を観測してもよい。すなわち、調停部114等は、実際のデータを転送することなく、ウェイト期間や転送期間をカウントすることで、オーバーフローが発生しない程度の余裕度があるか否かを判定できる。そして、調停部114は、この余裕度に応じて調停を実行することで、転送効率を改善できる。
【0059】
なお、調停部114またはCPU112は、複数の動作モードごとに観測された余裕度をメモリ等の保持部により保持してもよい。この場合、調停部114等は、動作モードが変更されると、動作モードに対応する余裕度に基づいて、各信号処理モジュールの転送条件を設定することができよう。
【図面の簡単な説明】
【0060】
【図1】実施形態に係る信号処理部を含む撮像装置の一例を示す図である。
【図2】記憶部へのバスが状態した状態で発生する不具合を説明するための図である。
【図3A】、
【図3B】、
【図3C】2つの信号処理モジュールが並行して転送リクエストを発行した場合の転送処理の一例を説明する図である。
【図4】実施形態に係る割り込みによる転送効率の改善方法を示す図である。
【図5】実施形態に係るバースト長の拡大による転送効率の改善方法方法を示す図である。
【図6】実施形態に係るデータ転送方法を示すフローチャートである。
【図7】より詳細なデータ転送方法を示すフローチャートである。
【図8】より詳細なデータ転送方法を示す他のフローチャートである。
【図9】より詳細なデータ転送方法を示すさらに他のフローチャートである。
【図10】より詳細なデータ転送方法を示すさらに他のフローチャートである。
【特許請求の範囲】
【請求項1】
入力された画像信号に対してそれぞれ異なる処理を施す複数の信号処理手段と、
前記画像信号に基づいて前記信号処理手段により処理されたデータを記憶する記憶手段と、
前記記憶手段に各信号処理手段がアクセスする際のそれぞれの余裕度を観測する観測手段と、
各余裕度に基づいて各信号処理手段による前記記憶手段へのアクセス動作を調停する調停手段と
を含むことを特徴とする信号処理装置。
【請求項2】
前記観測手段は、
前記信号処理手段のうち実時間でデータを前記記憶手段に転送する必要がある信号処理手段についての転送周期と該記憶手段へのアクセス時間との差分を前記余裕度として算出する算出手段と、
算出された前記余裕度を第1の閾値および第2の閾値と比較する比較手段と、
前記余裕度が第1の閾値未満となる第1の信号処理手段についての転送の優先度よりも高い優先度を有し、かつ、前記余裕度が第2の閾値以上となる第2の信号処理手段を特定する特定手段と
を含み、
前記調停手段は、
前記第1の信号処理手段の優先度と前記第2の信号処理手段の優先度とを交換する交換手段を含むことを特徴とする請求項1に記載の信号処理装置。
【請求項3】
前記調停手段は、前記交換手段に代えて、
前記第2の信号処理手段の転送処理中に、前記第1の信号処理手段の転送処理を割り込ませる手段を含むことを特徴とする請求項2に記載の信号処理装置。
【請求項4】
前記観測手段は、
前記信号処理手段のうち実時間でデータを前記記憶手段に転送する必要がある信号処理手段についての転送周期と該記憶手段へのアクセス時間との差分を前記余裕度として算出する算出手段と、
算出された前記余裕度が閾値未満となるか否かを判定する判定手段と
を含み、
前記調停手段は、
前記余裕度が閾値未満となる信号処理手段についての転送サイズを拡大させる拡大手段を含むことを特徴とする請求項1に記載の信号処理装置。
【請求項5】
前記観測手段は、
前記信号処理手段のうち実時間でデータを前記記憶手段に転送する必要がある信号処理手段についての転送周期と該記憶手段へのアクセス時間との差分を前記余裕度として算出する算出手段と、
算出された前記余裕度が閾値未満となるか否かを判定する判定手段と
を含み、
前記調停手段は、
前記余裕度が閾値未満となる第1の信号処理手段により前記データが転送される第1の記憶手段を、他の第2の信号処理手段により前記データを転送される第2の記憶手段とは異なるように選択する選択手段を含むことを特徴とする請求項1に記載の信号処理装置。
【請求項6】
前記観測手段は、前記信号処理装置における動作モードが変更される際に、データの仮想転送を実行することで前記余裕度を観測することを特徴とする請求項1ないし5のいずれかに記載の信号処理装置。
【請求項7】
前記調停手段は、
複数の動作モードごとに観測された前記余裕度を保持する保持手段と、
前記動作モードが変更されると、前記保持手段に保持されている該動作モードに対応する前記余裕度に基づいて、各信号処理手段の転送条件を設定する設定手段と
を含むことを特徴とする請求項1に記載の信号処理装置。
【請求項8】
撮像素子と、
前記撮像素子から出力された画像信号を処理する、請求項1ないし7のいずれかに記載の信号処理装置と
を含むことを特徴とする撮像装置。
【請求項9】
入力された画像信号に対してそれぞれ異なる処理を施す複数の信号処理手段と、前記画像信号に基づいて前記信号処理手段により処理されたデータを記憶する記憶手段とを含む信号処理装置におけるデータ転送方法であって、
前記記憶手段に各信号処理手段がアクセスする際のそれぞれの余裕度を観測する観測工程と、
各余裕度に基づいて各信号処理手段による前記記憶手段へのアクセス動作を調停する調停工程と
を含むことを特徴とするデータ転送方法。
【請求項1】
入力された画像信号に対してそれぞれ異なる処理を施す複数の信号処理手段と、
前記画像信号に基づいて前記信号処理手段により処理されたデータを記憶する記憶手段と、
前記記憶手段に各信号処理手段がアクセスする際のそれぞれの余裕度を観測する観測手段と、
各余裕度に基づいて各信号処理手段による前記記憶手段へのアクセス動作を調停する調停手段と
を含むことを特徴とする信号処理装置。
【請求項2】
前記観測手段は、
前記信号処理手段のうち実時間でデータを前記記憶手段に転送する必要がある信号処理手段についての転送周期と該記憶手段へのアクセス時間との差分を前記余裕度として算出する算出手段と、
算出された前記余裕度を第1の閾値および第2の閾値と比較する比較手段と、
前記余裕度が第1の閾値未満となる第1の信号処理手段についての転送の優先度よりも高い優先度を有し、かつ、前記余裕度が第2の閾値以上となる第2の信号処理手段を特定する特定手段と
を含み、
前記調停手段は、
前記第1の信号処理手段の優先度と前記第2の信号処理手段の優先度とを交換する交換手段を含むことを特徴とする請求項1に記載の信号処理装置。
【請求項3】
前記調停手段は、前記交換手段に代えて、
前記第2の信号処理手段の転送処理中に、前記第1の信号処理手段の転送処理を割り込ませる手段を含むことを特徴とする請求項2に記載の信号処理装置。
【請求項4】
前記観測手段は、
前記信号処理手段のうち実時間でデータを前記記憶手段に転送する必要がある信号処理手段についての転送周期と該記憶手段へのアクセス時間との差分を前記余裕度として算出する算出手段と、
算出された前記余裕度が閾値未満となるか否かを判定する判定手段と
を含み、
前記調停手段は、
前記余裕度が閾値未満となる信号処理手段についての転送サイズを拡大させる拡大手段を含むことを特徴とする請求項1に記載の信号処理装置。
【請求項5】
前記観測手段は、
前記信号処理手段のうち実時間でデータを前記記憶手段に転送する必要がある信号処理手段についての転送周期と該記憶手段へのアクセス時間との差分を前記余裕度として算出する算出手段と、
算出された前記余裕度が閾値未満となるか否かを判定する判定手段と
を含み、
前記調停手段は、
前記余裕度が閾値未満となる第1の信号処理手段により前記データが転送される第1の記憶手段を、他の第2の信号処理手段により前記データを転送される第2の記憶手段とは異なるように選択する選択手段を含むことを特徴とする請求項1に記載の信号処理装置。
【請求項6】
前記観測手段は、前記信号処理装置における動作モードが変更される際に、データの仮想転送を実行することで前記余裕度を観測することを特徴とする請求項1ないし5のいずれかに記載の信号処理装置。
【請求項7】
前記調停手段は、
複数の動作モードごとに観測された前記余裕度を保持する保持手段と、
前記動作モードが変更されると、前記保持手段に保持されている該動作モードに対応する前記余裕度に基づいて、各信号処理手段の転送条件を設定する設定手段と
を含むことを特徴とする請求項1に記載の信号処理装置。
【請求項8】
撮像素子と、
前記撮像素子から出力された画像信号を処理する、請求項1ないし7のいずれかに記載の信号処理装置と
を含むことを特徴とする撮像装置。
【請求項9】
入力された画像信号に対してそれぞれ異なる処理を施す複数の信号処理手段と、前記画像信号に基づいて前記信号処理手段により処理されたデータを記憶する記憶手段とを含む信号処理装置におけるデータ転送方法であって、
前記記憶手段に各信号処理手段がアクセスする際のそれぞれの余裕度を観測する観測工程と、
各余裕度に基づいて各信号処理手段による前記記憶手段へのアクセス動作を調停する調停工程と
を含むことを特徴とするデータ転送方法。
【図1】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3A】
【図3B】
【図3C】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2007−164629(P2007−164629A)
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2005−362368(P2005−362368)
【出願日】平成17年12月15日(2005.12.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願日】平成17年12月15日(2005.12.15)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]