JP2009252042A - バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法 - Google Patents
バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法 Download PDFInfo
- Publication number
- JP2009252042A JP2009252042A JP2008100742A JP2008100742A JP2009252042A JP 2009252042 A JP2009252042 A JP 2009252042A JP 2008100742 A JP2008100742 A JP 2008100742A JP 2008100742 A JP2008100742 A JP 2008100742A JP 2009252042 A JP2009252042 A JP 2009252042A
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- buffer
- image
- write
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Input (AREA)
- Information Transfer Systems (AREA)
- Storing Facsimile Image Data (AREA)
Abstract
【課題】データ転送を効率的かつ適切に実施可能なバッファ制御装置を提供する。
【解決手段】データ入力装置30からデータ処理装置40へのバッファ20を介したデータ転送を制御するバッファ制御装置10であって、入力されるデータを書込むアドレスを示す書込みポインタと、出力されるデータを読出す基準アドレスを示す読出しポインタを有するレジスタ部12と、連続して入力されるデータのうち入力回数n毎に入力されるデータを書込みポインタが示すアドレスに書込み、n毎のデータの書込み後にn−1回のデータが入力されると、書込みポインタの値を次アドレスに更新する書込み制御部14と、データ処理の対象となるデータを出力するために、読出しポインタが示す基準アドレスおよび基準アドレスより前のアドレスに書込まれているデータを読出し、データ処理が終了すると、読出しポインタの値を次アドレスに更新する読出し制御部16と、を備える。
【選択図】図2
【解決手段】データ入力装置30からデータ処理装置40へのバッファ20を介したデータ転送を制御するバッファ制御装置10であって、入力されるデータを書込むアドレスを示す書込みポインタと、出力されるデータを読出す基準アドレスを示す読出しポインタを有するレジスタ部12と、連続して入力されるデータのうち入力回数n毎に入力されるデータを書込みポインタが示すアドレスに書込み、n毎のデータの書込み後にn−1回のデータが入力されると、書込みポインタの値を次アドレスに更新する書込み制御部14と、データ処理の対象となるデータを出力するために、読出しポインタが示す基準アドレスおよび基準アドレスより前のアドレスに書込まれているデータを読出し、データ処理が終了すると、読出しポインタの値を次アドレスに更新する読出し制御部16と、を備える。
【選択図】図2
Description
本発明は、バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法に関する。
従来、データ入力装置からデータ処理装置へのバッファを介したデータ転送を制御するバッファ制御装置が知られている(例えば、下記特許文献1を参照)。この種のバッファ制御装置は、データを入力するためのデータ入力装置と、データ入力装置に入力されるデータを処理するデータ処理装置とを有する情報処理装置に設けられる。そして、この種の情報処理装置は、例えば、画像データを処理する画像処理装置として撮像装置などに設けられる。
撮像装置による一画像処理として、連続して入力される画像データ(以下、画像とも称する。)のうち所定の画像データ(以下、処理画像とも称する。)、および所定の処理画像よりも前に入力された画像データ(以下、参照画像とも称する。)を用いた画像処理が知られている。この場合、処理画像および参照画像は、所定のバッファ領域を有するバッファに保存されて画像処理に用いられる。ここで、バッファのバッファ領域が制限されているので、所定の入力回数で間引いた画像が参照画像として保存される。これにより、入力される全ての画像を参照画像として保存するよりも、長期間に亘る参照画像を保存することができる。
ところで、従来、長期間に亘る参照画像を保存する場合、以下のようなバッファ制御方法が用いられている。第1の制御方法は、入力される画像を全て保存しておき、画像処理に際して、処理画像および参照画像として用いる画像に適宜アクセスするものである。
第2および第3の制御方法では、処理画像用バッファ(以下、処理画像バッファとも称する。)および参照画像用バッファ(以下、参照画像バッファとも称する。)が設けられる。第2の制御方法は、処理画像バッファに処理画像を保存しておき、処理画像バッファから処理画像を読出し参照画像バッファから参照画像を読出して処理した後、所定の入力回数で間引いた処理画像を参照画像として参照画像バッファに複製保存する。第3の制御方法は、処理画像を処理画像バッファに保存し、所定の入力回数毎に参照画像バッファにも保存する。
第4の制御方法では、処理画像および参照画像を保存する共通バッファ(以下、共通バッファとも称する。)が設けられる。第4の制御方法は、処理画像を共通バッファに保存しておき、処理画像の画像処理中に入力される画像を保存せず、画像処理の対象とした画像を参照画像として共通バッファに保存する。
しかし、従来の制御方法において、第1の制御方法では、入力される全ての画像を参照画像として保存し、画像処理の対象とならない参照画像も保存するので、余計なバッファ領域を確保することになる。第2の制御方法では、処理画像の複製保存が必要となるので、処理能力が低下する。第3の制御方法でも、処理画像バッファおよび参照画像バッファに対する重複保存が必要となるので、処理能力が低下する。第4の制御方法では、各処理画像に対する処理時間がバラつくと、処理対象となる処理画像および参照画像の入力(保存)間隔もバラついてしまう。
本発明は上記問題点に鑑みてなされたものであり、その目的は、データ転送を効率的かつ適切に実施可能な、新規かつ改良された、バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法を提供することにある。
上記課題を解決するために、本発明の第1の観点によれば、データ入力装置からデータ処理装置へのバッファを介したデータ転送を制御するバッファ制御装置が提供される。本バッファ制御装置は、データ入力装置に入力されるデータを書込むためのバッファアドレスを示す書込みポインタと、データ処理装置に出力されるデータを読出すための基準バッファアドレスを示す読出しポインタとを有するレジスタ部と、データ入力装置に連続して入力されるデータのうち所定の入力回数n毎に入力されるデータを、書込みポインタが示すバッファアドレスに書込み、入力回数n毎のデータの書込み後に入力回数n−1回のデータが入力されると、書込みポインタの値をバッファアドレスの次のバッファアドレスに更新する書込み制御部と、データ処理装置にデータ処理の対象となるデータを出力するために、読出しポインタが示す基準バッファアドレスおよび基準バッファアドレスより前のバッファアドレスに書込まれているデータを読出し、データ処理が終了すると、読出しポインタの値を基準バッファアドレスの次のバッファアドレスに更新する読出し制御部と、を備える。
かかる構成によれば、書込み制御部は、所定の入力回数n毎に入力されるデータを書込みポインタが示すバッファアドレスに書込み、書込みポインタの値を更新する。また、読出し制御部は、データ処理装置によるデータ処理の対象となるデータを読出しポインタが示す基準バッファアドレスを参照して読出し、読出しポインタの値を更新する。これにより、所定の入力回数nで間引いたデータをバッファに書込み、処理データおよび参照データとして読出し、データ処理装置に出力することができる。また、データ処理装置による処理時間がバラついた場合でも、所定の入力回数n毎に次のバッファアドレスにデータが書込まれるので、データ処理の対象となるデータの入力間隔が大きくバラつくことを回避することができる。
また、上記レジスタ部は、書込みポインタが示すバッファアドレスに対するデータの書込みの可否を示す書込みフラグを有し、読出し制御部は、データ処理が終了すると、書込みポインタおよび読出しポインタが同一のバッファアドレスを示す場合に、書込み許可を示す書込みフラグを設定し、書込み制御部は、入力回数n毎のデータの書込み後に、書込み禁止を示す書込みフラグを設定し、入力回数n毎のデータの書込み後に入力回数n−1回のデータが入力されると、書込み許可を示す書込みフラグを設定し、かつ、入力回数n毎のデータの書込み後に入力回数n−1回のデータが入力されるまでの期間において、読出し制御部により書込み許可を示す書込みフラグが設定されている場合には、連続して入力されるデータのうち最先のデータを書込みポインタが示すバッファアドレスに書込み、書込み禁止を示す書込みフラグを設定してもよい。
これにより、データの上書きにより、データ処理の対象となるデータが失われることを回避することができる。
上記課題を解決するために、本発明の第2の観点によれば、データを入力するためのデータ入力装置と、データ入力装置に入力されるデータを処理するデータ処理装置と、データ入力装置からデータ処理装置へのバッファを介したデータ転送を制御する、前述した第1の観点に係るバッファ制御装置と、備えた情報処理装置が提供される。かかる構成によれば、データ転送を効率的かつ適切に実施可能なバッファ制御装置を備えた情報処理装置を提供することができる。
上記課題を解決するために、本発明の第3の観点によれば、画像データを入力するための画像入力装置と、画像入力装置に入力される画像データを処理する画像処理装置と、画像入力装置に入力される画像データを格納するバッファと、画像入力装置から画像処理装置へのバッファを介したデータ転送を制御する、前述した第1の観点に係るバッファ制御装置と、を備えた撮像装置が提供される。かかる構成によれば、画像データの転送を効率的かつ適切に実施可能なバッファ制御装置を備えた撮像装置を提供することができる。
上記課題を解決するために、本発明の第4の観点によれば、バッファを介したデータ転送を制御するバッファ制御方法が提供される。本バッファ制御方法は、入力されるデータを書込むためのバッファアドレスを示す書込みポインタと、出力されるデータを読出すための基準バッファアドレスを示す読出しポインタとを設定するレジスタ設定ステップと、連続して入力されるデータのうち所定の入力回数n毎に入力されるデータを、書込みポインタが示すバッファアドレスに書込み、入力回数n毎のデータの書込み後に入力回数n−1回のデータが入力されると、書込みポインタの値をバッファアドレスの次のバッファアドレスに更新する書込み制御ステップと、データ処理の対象となるデータを出力するために、読出しポインタが示す基準バッファアドレスおよび基準バッファアドレスより前のバッファアドレスに書込まれているデータを読出し、データ処理が終了すると、読出しポインタの値を基準バッファアドレスの次のバッファアドレスに更新する読出し制御ステップと、を含む。かかる方法によれば、データ転送を効率的かつ適切に実施可能なバッファ制御を行うことができる。
本発明によれば、データ転送を効率的かつ適切に実施可能な、バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法を提供することができる。
以下に、添付した図面を参照しながら、本発明の好適な実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
以下では、図6を参照しながら従来のバッファ制御の一例を説明した後、図1〜5を参照しながら本発明の一実施形態に係るバッファ制御装置およびバッファ制御方法について説明する。
なお、以下では、画像データを処理するために撮像装置に設けられた画像処理ブロック(画像処理装置)に、リングバッファを制御するバッファ制御装置が適用される場合の実施形態について説明する。
(従来のバッファ制御)
図6は、従来のバッファ制御装置によるバッファ制御の一例を示す説明図である。図6には、所定のバッファ領域を有するリングバッファを介して画像処理ブロックの画像入力部から画像処理部への画像転送を制御するバッファ制御装置を用いて、前述した第4の制御方法を実施する場合のバッファ制御の一例が示されている。
図6は、従来のバッファ制御装置によるバッファ制御の一例を示す説明図である。図6には、所定のバッファ領域を有するリングバッファを介して画像処理ブロックの画像入力部から画像処理部への画像転送を制御するバッファ制御装置を用いて、前述した第4の制御方法を実施する場合のバッファ制御の一例が示されている。
以下では、30フレーム/秒のフレーム間隔Tで入力される画像データ(以下、画像とも称する。)のうち所定の画像データ(以下、処理画像とも称する。)、および所定の処理画像よりも前に入力された3つの画像データ(以下、参照画像とも称する。)を用いて画像処理を行う場合を想定する。
図6に示す場合、バッファ制御装置は、バッファ領域1(値1)を示す書込みポインタWPに従ってバッファ領域1に画像0を書込み、WPを値2に設定してバッファ領域2に画像1を書込み、WPを値3に設定してバッファ領域3に画像2を書込む。バッファ制御装置は、バッファ領域4に画像3を書込むと、WPを値5に設定し、画像3を処理画像、画像0〜2を参照画像として読出し、画像処理部に出力する。
画像処理部は、出力された参照画像0〜2を用いて処理画像3に対する画像処理を行う。この場合、画像0〜3の入力間隔が2秒毎であり、画像処理の対象となる画像の入力間隔がバラついていないので、画像処理部は、画像処理を適切に行うことができる。
ここで、画像処理部の処理負荷が大きくなり、処理画像3に対する画像処理に25秒の処理時間を要した場合を想定する。この場合、画像処理中に画像4〜15が入力されるが、バッファ制御装置は、画像4〜15をバッファ領域に書込まない。
処理画像3に対する画像処理の終了後に画像16が入力されると、バッファ制御装置は、WPに従ってバッファ領域5に画像16を書込み、画像16を処理画像、画像1〜3を参照画像として読出し、画像処理部に出力する。
画像処理部は、処理画像16に対する画像処理を行う。この場合、画像1〜3の入力間隔が2秒毎であり、画像3と処理画像16との入力間隔が26秒であり、画像処理の対象となる画像の入力間隔が大きくバラついているので、画像処理部は、画像処理を適切に行うことができない場合がある。
(撮像装置の構成例)
図1は、本発明の一実施形態に係るバッファ制御装置が設けられた撮像装置の構成例を示すブロック図である。
図1は、本発明の一実施形態に係るバッファ制御装置が設けられた撮像装置の構成例を示すブロック図である。
撮像装置は、撮像部80、画像処理ブロック、駆動部、外部記憶部、およびバス60を有する。画像処理ブロックには、画像入力部30、画像処理部40、ビデオ出力部50、ネットワーク出力部55、およびバッファ制御部(バッファ制御装置)10が設けられる。画像処理ブロックは、単一の半導体チップ上に構成されてもよい。駆動部には、ビデオ駆動部90およびネットワーク駆動部95が設けられ、外部記憶部には、リングバッファ領域20および出力画像バッファ領域70が設けられる。
撮像部80は、画像を取得し、取得した画像を画像入力部30に出力する。画像入力部30は、入力される画像に信号処理を施し、画像処理部40、リングバッファ領域20などに出力する。画像処理部40は、画像入力部30、リングバッファ領域20などから画像を入力され、画像に所定の画像処理を施し、ビデオ出力部50、ネットワーク出力部55、出力画像バッファ領域70などに出力する。ビデオ出力部50は、画像処理された画像をビデオ駆動部90に出力し、ネットワーク出力部55は、画像処理された画像をネットワーク駆動部95に出力する。バッファ制御部10は、画像入力部30から画像処理部40へのリングバッファ領域20を介したデータ転送を制御する。
ビデオ駆動部90は、ビデオ出力部50からのビデオ出力を外部に出力し、ネットワーク駆動部95は、ネットワーク出力部55からのネットワーク出力を外部に出力する。リングバッファ領域20は、画像入力部30に入力される画像のうち少なくとも一部を格納しており、画像の書込みおよび読出しがバッファ制御部10により制御される。出力画像バッファ領域70は、出力画像を格納しており、出力画像の書込みおよび読出しが画像処理部40、ビデオ出力部50およびネットワーク出力部55により制御される。バス60は、画像処理ブロックおよび外部記憶部に含まれる各構成要素間での情報送受のために用いられる。
(バッファ制御部10の構成)
図2は、図1に示すバッファ制御部10の構成を示すブロック図である。
図2は、図1に示すバッファ制御部10の構成を示すブロック図である。
バッファ制御部10は、画像入力部30、画像処理部40、およびリングバッファ領域20にバス60を介して接続される。バッファ制御部10は、レジスタ部12、書込み制御部14、および読出し制御部16を有する。なお、図1および図2には、画像入力部30および画像処理部40と別体でバッファ制御部10を設ける場合が示されているが、例えば、画像入力部30に書込み制御部14を設け、画像処理部40に読出し制御部16を設け、書込み制御部14および読出し制御部16からアクセス可能なようにバス60上にレジスタ部12を設けてもよい。
レジスタ部12は、書込みポインタWP、読出しポインタRP、書込みフラグWF、および書込みカウンタWCの値を格納する。WPは、画像入力部30に入力される画像を書込むためのリングバッファ領域20上のアドレス(図2に示す場合では、バッファ領域1〜8のうちいずれかのアドレス)を示し、RPは、画像処理部40に出力される画像を読出すためのリングバッファ領域20上の基準アドレスを示す。WFは、WPが示すアドレスに対する画像の書込みの可否を示す。WCは、WPが同一アドレスを示している間に、画像入力部30に入力された画像の入力回数を示す。
書込み制御部14は、レジスタ部12に格納されているWP、WF、WCの値に基づいて、リングバッファ領域20への画像の書込みを制御する。書込み制御部14は、画像入力部30に連続して入力される画像のうち、WCを用いて所定の入力回数n毎の画像を書込みポインタが示すアドレスに書込み、入力回数n毎の画像の書込み後に入力回数n−1回の画像が入力されると、WPの値を次のアドレスに更新する。
読出し制御部16は、レジスタ部12に格納されているWP、WF、RPの値に基づいて、リングバッファ領域20からの画像の読出しを制御する。読出し制御部16は、画像処理装置に画像処理の対象となる画像を出力するために、RPが示す基準アドレスから画像(処理画像)および基準アドレスより前のアドレスから画像(参照画像)を読出し、画像処理が終了すると、RPの値を次のアドレスに更新する。
読出し制御部16は、画像処理部40による画像処理が終了すると、WPおよびRPが同一アドレスを示す場合に、WFを書込み許可に設定する。書込み制御部14は、入力回数n毎の画像を書込み後に、WFを書込み禁止に設定し、入力回数n毎の画像の書込み後に入力回数n−1回の画像が入力されると、WFを書込み許可に設定する。そして、書込み制御部14は、入力回数n毎の画像の書込み後に入力回数n−1回の画像が入力されるまでの期間において、読出し制御部16によりWFが書込み許可に設定されている場合には、連続して入力される画像のうち最先の画像をWPが示すアドレスに書込み、WFを書込み禁止に設定する。
(バッファ制御方法)
図3は、書込み処理に関する動作方法を示すフロー図であり、図4は、読出し処理に関する動作方法を示すフロー図である。以下では、図3および図4を参照しながらバッファ制御装置の一般的な動作方法について説明する。
図3は、書込み処理に関する動作方法を示すフロー図であり、図4は、読出し処理に関する動作方法を示すフロー図である。以下では、図3および図4を参照しながらバッファ制御装置の一般的な動作方法について説明する。
なお、以下では、1枚の処理画像および処理画像よりも前に入力されたP枚の参照画像を用いて画像処理を行う場合を想定する。また、リングバッファは、バッファ領域1〜LからなるLのバッファ領域を有する場合を想定する。
図3に示すように、書込み制御部14は、書込み処理の開始に際して、レジスタ部12に格納されているWP、WF、WCの値を初期化する(ステップS102)。ここで、WPは、例えばバッファ領域1(値1)に設定され、WFは、書込み許可(値0)に設定され、WCは、初期値0に設定される。
書込み制御部14は、画像入力部30に画像が入力されているかを判定し(S104)、入力されている場合にはS106の処理に移行し、入力されていない場合にはS104の処理に復帰して判定を継続する。
画像が入力されている場合に、書込み制御部14は、WFの値を判定する(S106)。WFが書込み許可(値0)に設定されている場合に、書込み制御部14は、入力された画像をWPが示すバッファ領域に書込み(S108)、WFを書込み禁止(値1)に設定する(S110)。一方、WFが書込み禁止(値1)に設定されている場合に、書込み制御部14は、入力された画像を破棄するように画像入力部30を制御する(S112)。
画像が書込みまたは破棄されると、書込み制御部14は、WPが同一のバッファ領域を示している間に入力された画像の入力回数を示すWCの値をインクリメントする(S114)。書込み制御部14は、WCの値を判定し(S116)、画像が所定の回数n入力された場合には、S118の処理に移行し、所定の回数n入力されていない場合には、S104の処理に復帰する。
画像がn回入力されている場合に、書込み制御部14は、WPの値をインクリメントし、WFを書込み許可(値0)に設定し、WCの値を初期化する(S118)。また、書込み制御部14は、WPの値を判定し(S120)、WPの値がバッファ領域の総数Lより大きい場合に、WPをバッファ領域1(値1)に設定する(S122)。そして、書込み制御部14は、S104の処理に復帰する。
一方、図4に示すように、読出し制御部16は、読出し処理の開始に際して、レジスタ部12に格納されているRPの値を初期化する(S202)。ここで、RPは、例えばバッファ領域P+1(P≧1)に設定される。
読出し制御部16は、画像処理部40による画像処理の可否をWP、RP、WFの値に基づいて判定する(S204、S206)。ここで、条件1(WP>RP)または条件2(WP=RP、WF=1)が満たされる場合には、画像処理の対象となる画像がバッファ領域に書込まれていることになる。このため、読出し制御部16は、いずれかの条件が満たされる場合に、画像処理が可能であると判定し、S208の処理に移行し、いずれの条件も満たされない場合にS204の処理に復帰する。
画像処理が可能である場合に、読出し制御部16は、RPが示すバッファ領域から画像(処理画像)を読出し、RP−1〜RP−Pが示すバッファ領域から画像(参照画像)を読出す(S208)。
バッファ領域から読出された画像処理の対象となる画像は、画像処理部40に出力され、画像処理部40は、出力された画像を用いて画像処理を行う(S210)。
読出し制御部16は、画像処理部40による画像処理が終了(S212)すると、WP、RPの値を判定し(S214)、WPおよびRPの値が同一である場合に、WFを書込み許可(値0)に設定する(S216)。そして、読出し制御部16は、RPの値をインクリメントする(S218)。また、読出し制御部16は、RPの値を判定し(S220)、RPの値がバッファ領域の総数Lより大きい場合に、RPをバッファ領域1(値1)に設定する(S222)。そして、読出し制御部16は、S204の処理に復帰する。
(本実施形態に係るバッファ制御方法の一例)
以下では、図5を参照しながらバッファ制御装置によるバッファ制御の一例について説明する。図5は、バッファ制御装置によるバッファ制御の一例を示す説明図である。
以下では、図5を参照しながらバッファ制御装置によるバッファ制御の一例について説明する。図5は、バッファ制御装置によるバッファ制御の一例を示す説明図である。
以下では、所定の入力回数n=3、参照画像の枚数P=3、バッファ領域の総数L=8、また、T=30フレーム/秒の一定周期で画像が入力される場合を想定する。
書込み制御部14は、書込み処理の開始に際して、WPをバッファ領域1(値1)に設定し、WFおよびWCを値0に設定する。一方、読出し制御部16は、読出し処理の開始に際して、RPを値4に設定する。
画像入力部30に画像0が入力されると、書込み制御部14は、WFが値0に設定されているので、画像0をバッファ領域1に書込み、WFを値1に設定する。書込み制御部14は、WCを値1に設定し、WCの値が所定の入力回数nに達していないので、S104の処理に復帰する。
画像0の入力から2秒後に画像1が入力されると、書込み制御部14は、WFが値1に設定されているので、画像1を破棄するように画像入力部30を制御し、WCを値2に設定し、S104の処理に復帰する。画像2が入力されると、書込み制御部14は、画像2を破棄するように画像入力部30を制御し、WCを値に3に設定し、WCの値が所定の入力回数nに達しているので、WPを値2に設定し、WFおよびWCの値を0に設定し、S104の処理に復帰する。
同様にして、2秒毎に画像3〜9が入力されると、書込み制御部14は、バッファ領域2、3、4に画像3、6、9を各々に書込む。画像9が書込まれた時点で、WPは、値4に設定され、WFおよびWCは、値1に設定されている。
読出し制御部16は、バッファ領域1〜4に画像0、3、6、9が各々に書込まれると、条件2(WP=RP、WF=1)が満たされるので、バッファ領域4に書込まれている処理画像9に対する画像処理が可能であると判定する。そして、読出し制御部16は、バッファ領域1〜4から画像0、3、6、9を各々に読出す。
バッファ領域から読出された画像0、3、6、9は、画像処理部40に出力され、画像処理部40は、出力された参照画像0、3、6を用いて処理画像9に対する画像処理を行う。参照画像0、3、6および処理画像9の入力間隔は、6秒毎となる。ここで、処理画像9に対する画像処理が6秒の処理時間を要した場合を想定する。
この場合、画像9の書込みから6秒が経過しているので、画像10〜12が入力され、バッファ領域5に画像12が書込まれ、画像10、11が破棄されている。処理画像9に対する画像処理が終了した時点で、WPは、値5に設定され、WFは、値1に設定されている。このため、読出し制御部16は、WP(=5)およびRP(=4)が同一でないので、WFを値0に設定せずに、RPを値5に設定する。
次に、読出し制御部16は、バッファ領域2〜5に画像3、6、9、12が各々に書込まれており、条件2が満たされるので、バッファ領域5に書込まれている処理画像12に対する画像処理を行う。読出し制御部16は、バッファ領域2〜5から画像3、6、9、12を読出し、画像処理部40は、参照画像3、6、9を用いて処理画像12に対する画像処理を行う。参照画像3、6、9および処理画像12の入力間隔は、6秒毎となる。ここで、処理画像12に対する画像処理が4秒の処理時間を要した場合を想定する。
この場合、画像12の書込みから4秒が経過しているので、画像13、14が入力されて破棄されている。処理画像12に対する画像処理が終了した時点で、WPは、値6に設定され、WFは、値1に設定されている。このため、読出し制御部16は、WP(=6)およびRP(=5)が同一でないので、WFを値0に設定せずに、RPを値6に設定する。そして、読出し制御部16は、バッファ領域6に画像15が書込まれるまで待機する。
バッファ領域6に画像15が書込まれると、読出し制御部16は、バッファ領域3〜6に画像6、9、12、15が各々に書込まれており、条件2が満たされるので、バッファ領域6に書込まれている処理画像15に対する画像処理を行う。読出し制御部16は、バッファ領域3〜6から画像6、9、12、15を読出し、画像処理部40は、参照画像6、9、12を用いて処理画像15に対する画像処理を行う。参照画像6、9、12および処理画像15の入力間隔は、6秒毎となる。ここで、画像15に対する画像処理が2秒の処理時間を要した場合を想定する。
この場合、画像15の書込みから2秒が経過しているので、画像16が入力されて破棄されている。処理画像15に対する画像処理が終了した時点で、WPは、値6に設定され、WFは、値1に設定されている。このため、読出し制御部16は、WP(=6)およびRP(=6)が同一であるので、WFを値0に設定し、RPを値7に設定する。
画像17が入力されると、書込み制御部14は、WFが値0であるので、バッファ領域6で画像15に画像17を上書きし、WFを値1に設定し、WPを値7に設定する。そして、読出し制御部16は、バッファ領域7に画像18が書込まれるまで待機する。
バッファ領域7に画像18が書込まれると、読出し制御部16は、バッファ領域4〜7に画像9、12、17、18が各々に書込まれており、条件2が満たされるので、バッファ領域7に書込まれている処理画像18に対する画像処理を行う。読出し制御部16は、バッファ領域4〜7から画像9、12、17、18を読出し、画像処理部40は、参照画像9、12、17を用いて処理画像18に対する画像処理を行う。参照画像9、12、17および処理画像18の入力間隔は、6秒、10秒、2秒となる。ここで、画像18に対する画像処理が1秒の処理時間を要した場合を想定する。
この場合、画像18の書込みから1秒が経過しているのみであるので、画像19は入力されていない。処理画像18に対する画像処理が終了した時点で、WPは、値7に設定され、WFは、値1に設定されている。このため、読出し制御部16は、WP(=7)およびRP(=7)が同一であるので、WFを値0に設定し、RPを値8に設定する。
画像19が入力されると、書込み制御部14は、WFが値0であるので、バッファ領域7で画像18に画像19を上書きし、WFを値1に設定する。そして、読出し制御部16は、バッファ領域8に画像21が書込まれるまで待機する。
バッファ領域8に画像21が書込まれると、読出し制御部16は、バッファ領域5〜8に画像12、17、19、21が各々に書込まれており、条件2が満たされるので、バッファ領域8に書込まれている処理画像21に対する画像処理を行う。読出し制御部16は、バッファ領域5〜8から画像12、17、19、21を読出し、画像処理部40は、参照画像12、17、19を用いて処理画像21に対する画像処理を行う。参照画像12、17、19および処理画像21の入力間隔は、10秒、4秒、4秒となる。ここで、画像処理部40の処理負荷が急激に増大し、画像21に対する画像処理が25秒の処理時間を要した場合を想定する。
この場合、画像21の書込みから25秒が経過しているので、画像22〜33が入力されている。そして、バッファ領域1、2、3、4に、画像24、27、30、33が各々に書込まれ、入力された他の画像が破棄されている。処理画像21に対する画像処理が終了した時点で、WPは、値4に設定され、WFは、値1に設定されている。このため、読出し制御部16は、WP(=4)およびRP(=8)が同一でないので、WFを値0に設定せずに、RPを値1に設定する。
読出し制御部16は、バッファ領域6〜8、1に画像17、19、21、24が各々に書込まれており、条件1(WP>RP)が満たされるので、バッファ領域1に書込まれている処理画像24に対する画像処理を行う。読出し制御部16は、バッファ領域6〜8、0から画像17、19、21、24を読出し、画像処理部40は、参照画像17、19、21を用いて処理画像24に対する画像処理を行う。参照画像17、19、21および処理画像24の入力間隔は、4秒、4秒、6秒となる。
以上の処理により、画像入力部30に入力された画像0〜33のうち、画像0、3、6、9、12、15、17、18、19、21、24、27、30、33がリングバッファ領域1〜8に書込まれ、画像処理に際して読出され、処理画像および参照画像として画像処理部40に出力される。
本実施形態に係るバッファ制御方法によれば、画像処理に要する処理時間がバラついた場合でも、所定の入力回数n毎の画像が処理画像となり、また、入力間隔60/T〜60/T×(n×2−1)の画像が処理画像および参照画像となり画像処理が行われる。前述したバッファ制御の一例では、n=3、T=30フレーム/秒であり、従来のバッファ制御の一例の場合(処理時間25秒で入力間隔26秒)に比して、入力間隔のバラつきが2秒〜10秒と比較的小さいので、画像処理部40は、画像処理を適切に行うことができる。
また、本実施形態に係るバッファ制御方法によれば、画像処理が遅延した場合でも、バッファ領域の総数L、参照画像の枚数P枚であれば、(L−(P+1))×nフレームの期間は、処理の対象となる参照画像に対する上書きを回避することができる。前述したバッファ制御の一例では、L=8、P=3、n=3であり、12フレームの余裕があるので、画像処理部40によるベストエフォート処理に柔軟に対応することができる。
以上説明したように本実施形態に係るバッファ制御装置によれば、所定の入力回数nで間引いた画像をリングバッファに書込み、処理画像および参照画像として読出し、画像処理部40に出力することができる。また、画像処理部40による処理時間がバラついた場合でも、所定の入力回数n毎に次のバッファ領域に画像が書込まれるので、画像処理の対象となる画像の入力間隔が大きくバラつくことを回避することができる。また、画像の上書きにより、画像処理の対象となる画像が失われることを回避することができる。
また、本実施形態に係るバッファ制御装置によれば、従来の制御方法(第1〜3の制御方法)における、余計なバッファ領域の確保、および処理能力の低下という問題も解消することができる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記説明では、画像データを処理するために、撮像装置に設けられた画像処理ブロック(画像処理装置)に、バッファ制御部10(バッファ制御装置)が適用される場合の実施形態について説明した。しかし、本発明に係るバッファ制御装置は、撮像装置に設けられた画像処理装置に限らず、撮像装置以外の装置に設けられて、各種データを処理する情報処理装置(画像処理装置も含む)にも同様に適用することができる。
また、上記説明では、撮像装置にリングバッファ領域20が設けられる場合の実施形態について説明した。しかし、本発明に係るバッファ制御装置は、リングバッファに限らず、一般的なバッファ領域を有するバッファを介したデータ転送を制御する場合にも同様に適用することができる。
また、上記説明では、画像入力部30に一定の周期で画像が入力される場合の実施形態について説明した。しかし、本発明に係るバッファ制御装置は、データ処理方式に応じて、データ処理装置に不定の周期でデータが入力される場合にも同様に適用することができる。この場合でも、バッファ制御装置は、所定の入力回数nで間引いたデータを処理データおよび参照データとして、データ処理装置に出力することができる。
10 バッファ制御部
12 レジスタ部
14 書込み制御部
16 読出し制御部
20 リングバッファ領域
30 画像入力部
40 画像処理部
12 レジスタ部
14 書込み制御部
16 読出し制御部
20 リングバッファ領域
30 画像入力部
40 画像処理部
Claims (9)
- データ入力装置からデータ処理装置へのバッファを介したデータ転送を制御するバッファ制御装置であって、
前記データ入力装置に入力されるデータを書込むためのバッファアドレスを示す書込みポインタと、前記データ処理装置に出力されるデータを読出すための基準バッファアドレスを示す読出しポインタとを有するレジスタ部と、
前記データ入力装置に連続して入力されるデータのうち所定の入力回数n毎に入力されるデータを、前記書込みポインタが示すバッファアドレスに書込み、入力回数n毎のデータの書込み後に入力回数n−1回のデータが入力されると、前記書込みポインタの値を前記バッファアドレスの次のバッファアドレスに更新する書込み制御部と、
前記データ処理装置にデータ処理の対象となるデータを出力するために、前記読出しポインタが示す基準バッファアドレスおよび前記基準バッファアドレスより前のバッファアドレスに書込まれているデータを読出し、前記データ処理が終了すると、前記読出しポインタの値を前記基準バッファアドレスの次のバッファアドレスに更新する読出し制御部と、
を備えたバッファ制御装置。 - 前記レジスタ部は、前記書込みポインタが示すバッファアドレスに対するデータの書込みの可否を示す書込みフラグを有し、
前記読出し制御部は、前記データ処理が終了すると、前記書込みポインタおよび前記読出しポインタが同一のバッファアドレスを示す場合に、書込み許可を示す前記書込みフラグを設定し、
前記書込み制御部は、入力回数n毎のデータの書込み後に、書込み禁止を示す前記書込みフラグを設定し、入力回数n毎のデータの書込み後に入力回数n−1回のデータが入力されると、書込み許可を示す前記書込みフラグを設定し、かつ、入力回数n毎のデータの書込み後に入力回数n−1回のデータが入力されるまでの期間において、前記読出し制御部により書込み許可を示す前記書込みフラグが設定されている場合には、前記連続して入力されるデータのうち最先のデータを前記書込みポインタが示すバッファアドレスに書込み、書込み禁止を示す前記書込みフラグを設定する、請求項1に記載のバッファ制御装置。 - 前記データ入力装置に連続して入力されるデータが所定の周期で入力される、請求項1に記載のバッファ制御装置。
- 前記バッファがリングバッファである、請求項1に記載のバッファ制御装置。
- 前記データ書込み制御部が前記データ入力装置に設けられ、前記読出し制御部が前記データ処理装置に設けられた、請求項1に記載のバッファ制御装置。
- データを入力するためのデータ入力装置と、
前記データ入力装置に入力されるデータを処理するデータ処理装置と、
前記データ入力装置から前記データ処理装置へのバッファを介したデータ転送を制御する、請求項1〜5のいずれかに記載のバッファ制御装置と、
を備えた情報処理装置。 - 前記データ入力装置、前記データ処理装置、および前記バッファ制御装置が単一の半導体チップ上に設けられた、請求項6に記載の情報処理装置。
- 画像データを入力するための画像入力装置と、
前記画像入力装置に入力される画像データを処理する画像処理装置と、
前記画像入力装置に入力される画像データを格納するバッファと、
前記画像入力装置から前記画像処理装置への前記バッファを介したデータ転送を制御する、請求項1〜5のいずれかに記載のバッファ制御装置と、
を備えた撮像装置。 - バッファを介したデータ転送を制御するバッファ制御方法であって、
入力されるデータを書込むためのバッファアドレスを示す書込みポインタと、出力されるデータを読出すための基準バッファアドレスを示す読出しポインタとを設定するレジスタ設定ステップと、
連続して入力されるデータのうち所定の入力回数n毎に入力されるデータを、前記書込みポインタが示すバッファアドレスに書込み、入力回数n毎のデータの書込み後に入力回数n−1回のデータが入力されると、前記書込みポインタの値を前記バッファアドレスの次のバッファアドレスに更新する書込み制御ステップと、
データ処理の対象となるデータを出力するために、前記読出しポインタが示す基準バッファアドレスおよび前記基準バッファアドレスより前のバッファアドレスに書込まれているデータを読出し、前記データ処理が終了すると、前記読出しポインタの値を前記基準バッファアドレスの次のバッファアドレスに更新する読出し制御ステップと、
を含むバッファ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008100742A JP2009252042A (ja) | 2008-04-08 | 2008-04-08 | バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008100742A JP2009252042A (ja) | 2008-04-08 | 2008-04-08 | バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009252042A true JP2009252042A (ja) | 2009-10-29 |
Family
ID=41312672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008100742A Withdrawn JP2009252042A (ja) | 2008-04-08 | 2008-04-08 | バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009252042A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013117796A (ja) * | 2011-12-01 | 2013-06-13 | Sharp Corp | 画像処理装置およびそれを備える画像表示端末 |
CN104052831A (zh) * | 2014-06-11 | 2014-09-17 | 华为技术有限公司 | 一种基于队列的数据传输方法、装置及通信系统 |
CN109964215A (zh) * | 2016-11-18 | 2019-07-02 | 微软技术许可有限责任公司 | 具有环形缓冲区镜像的远程直接存储器访问数据通信中的流控制 |
-
2008
- 2008-04-08 JP JP2008100742A patent/JP2009252042A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013117796A (ja) * | 2011-12-01 | 2013-06-13 | Sharp Corp | 画像処理装置およびそれを備える画像表示端末 |
CN104052831A (zh) * | 2014-06-11 | 2014-09-17 | 华为技术有限公司 | 一种基于队列的数据传输方法、装置及通信系统 |
CN109964215A (zh) * | 2016-11-18 | 2019-07-02 | 微软技术许可有限责任公司 | 具有环形缓冲区镜像的远程直接存储器访问数据通信中的流控制 |
CN109964215B (zh) * | 2016-11-18 | 2023-03-07 | 微软技术许可有限责任公司 | 具有环形缓冲区镜像的远程直接存储器访问数据通信中的流控制 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019227724A1 (zh) | 数据读写方法、装置以及环形队列 | |
US10225425B2 (en) | Information processing apparatus and method for controlling the same | |
JP2010205083A (ja) | 並列処理プロセッサシステム | |
US9026697B2 (en) | Data processing apparatus | |
JP4883520B2 (ja) | メモリ制御装置およびメモリ制御方法 | |
JP2009252042A (ja) | バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法 | |
JP2009194720A (ja) | 画像処理装置、撮像装置及び画像処理方法 | |
JP2011130433A (ja) | データバスを通じてメモリから圧縮データを判読するイメージプロセッシング装置及びイメージプロセッシング方法 | |
US11409655B2 (en) | Interface apparatus, data processing apparatus, cache control method, and medium | |
US9947075B2 (en) | Image processing apparatus | |
US20140218773A1 (en) | Image Forming Apparatus that Buffers Data in a Storage Device and Reduces Delays in Process | |
US9003132B2 (en) | Data processing apparatus and image processing apparatus | |
JP4816272B2 (ja) | 画像処理装置及び制御プログラム | |
JP6564625B2 (ja) | データ転送装置およびデータ転送方法 | |
EP2323099A1 (en) | Image reading device and method of writing image data in an image reading device | |
JP2007087086A (ja) | Dma転送システム | |
JP2010062984A (ja) | 画像形成装置 | |
JP6241670B2 (ja) | 画像処理装置 | |
JP6204313B2 (ja) | 電子機器 | |
JP2008054005A (ja) | 画像処理装置 | |
JP2006229505A (ja) | 画像処理装置および画像処理方法 | |
JP2006256105A (ja) | 印刷装置及びデータ処理方法 | |
JP2010079527A (ja) | 網点検出回路、及びこれを備えた画像処理装置 | |
JP2006303796A (ja) | 画像処理装置 | |
JP2007219874A (ja) | データ転送制御装置及びデータ転送制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110705 |