(57)【要約】【課題】データ転送を効率的かつ適切に実施可能なバッファ制御装置を提供する。【解決手段】データ入力装置３０からデータ処理装置４０へのバッファ２０を介したデータ転送を制御するバッファ制御装置１０であって、入力されるデータを書込むアドレスを示す書込みポインタと、出力されるデータを読出す基準アドレスを示す読出しポインタを有するレジスタ部１２と、連続して入力されるデータのうち入力回数ｎ毎に入力されるデータを書込みポインタが示すアドレスに書込み、ｎ毎のデータの書込み後にｎ−１回のデータが入力されると、書込みポインタの値を次アドレスに更新する書込み制御部１４と、データ処理の対象となるデータを出力するために、読出しポインタが示す基準アドレスおよび基準アドレスより前のアドレスに書込まれているデータを読出し、データ処理が終了すると、読出しポインタの値を次アドレスに更新する読出し制御部１６と、を備える。【選択図】図２
2009252042.tif 000002
【特許請求の範囲】
【請求項１】
データ入力装置からデータ処理装置へのバッファを介したデータ転送を制御するバッファ制御装置であって、
前記データ入力装置に入力されるデータを書込むためのバッファアドレスを示す書込みポインタと、前記データ処理装置に出力されるデータを読出すための基準バッファアドレスを示す読出しポインタとを有するレジスタ部と、
前記データ入力装置に連続して入力されるデータのうち所定の入力回数ｎ毎に入力されるデータを、前記書込みポインタが示すバッファアドレスに書込み、入力回数ｎ毎のデータの書込み後に入力回数ｎ−１回のデータが入力されると、前記書込みポインタの値を前記バッファアドレスの次のバッファアドレスに更新する書込み制御部と、
前記データ処理装置にデータ処理の対象となるデータを出力するために、前記読出しポインタが示す基準バッファアドレスおよび前記基準バッファアドレスより前のバッファアドレスに書込まれているデータを読出し、前記データ処理が終了すると、前記読出しポインタの値を前記基準バッファアドレスの次のバッファアドレスに更新する読出し制御部と、
を備えたバッファ制御装置。
【請求項２】
前記レジスタ部は、前記書込みポインタが示すバッファアドレスに対するデータの書込みの可否を示す書込みフラグを有し、
前記読出し制御部は、前記データ処理が終了すると、前記書込みポインタおよび前記読出しポインタが同一のバッファアドレスを示す場合に、書込み許可を示す前記書込みフラグを設定し、
前記書込み制御部は、入力回数ｎ毎のデータの書込み後に、書込み禁止を示す前記書込みフラグを設定し、入力回数ｎ毎のデータの書込み後に入力回数ｎ−１回のデータが入力されると、書込み許可を示す前記書込みフラグを設定し、かつ、入力回数ｎ毎のデータの書込み後に入力回数ｎ−１回のデータが入力されるまでの期間において、前記読出し制御部により書込み許可を示す前記書込みフラグが設定されている場合には、前記連続して入力されるデータのうち最先のデータを前記書込みポインタが示すバッファアドレスに書込み、書込み禁止を示す前記書込みフラグを設定する、請求項１に記載のバッファ制御装置。
【請求項３】
前記データ入力装置に連続して入力されるデータが所定の周期で入力される、請求項１に記載のバッファ制御装置。
【請求項４】
前記バッファがリングバッファである、請求項１に記載のバッファ制御装置。
【請求項５】
前記データ書込み制御部が前記データ入力装置に設けられ、前記読出し制御部が前記データ処理装置に設けられた、請求項１に記載のバッファ制御装置。
【請求項６】
データを入力するためのデータ入力装置と、
前記データ入力装置に入力されるデータを処理するデータ処理装置と、
前記データ入力装置から前記データ処理装置へのバッファを介したデータ転送を制御する、請求項１〜５のいずれかに記載のバッファ制御装置と、
を備えた情報処理装置。
【請求項７】
前記データ入力装置、前記データ処理装置、および前記バッファ制御装置が単一の半導体チップ上に設けられた、請求項６に記載の情報処理装置。
【請求項８】
画像データを入力するための画像入力装置と、
前記画像入力装置に入力される画像データを処理する画像処理装置と、
前記画像入力装置に入力される画像データを格納するバッファと、
前記画像入力装置から前記画像処理装置への前記バッファを介したデータ転送を制御する、請求項１〜５のいずれかに記載のバッファ制御装置と、
を備えた撮像装置。
【請求項９】
バッファを介したデータ転送を制御するバッファ制御方法であって、
入力されるデータを書込むためのバッファアドレスを示す書込みポインタと、出力されるデータを読出すための基準バッファアドレスを示す読出しポインタとを設定するレジスタ設定ステップと、
連続して入力されるデータのうち所定の入力回数ｎ毎に入力されるデータを、前記書込みポインタが示すバッファアドレスに書込み、入力回数ｎ毎のデータの書込み後に入力回数ｎ−１回のデータが入力されると、前記書込みポインタの値を前記バッファアドレスの次のバッファアドレスに更新する書込み制御ステップと、
データ処理の対象となるデータを出力するために、前記読出しポインタが示す基準バッファアドレスおよび前記基準バッファアドレスより前のバッファアドレスに書込まれているデータを読出し、前記データ処理が終了すると、前記読出しポインタの値を前記基準バッファアドレスの次のバッファアドレスに更新する読出し制御ステップと、
を含むバッファ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法に関する。
【背景技術】
【０００２】
従来、データ入力装置からデータ処理装置へのバッファを介したデータ転送を制御するバッファ制御装置が知られている（例えば、下記特許文献１を参照）。この種のバッファ制御装置は、データを入力するためのデータ入力装置と、データ入力装置に入力されるデータを処理するデータ処理装置とを有する情報処理装置に設けられる。そして、この種の情報処理装置は、例えば、画像データを処理する画像処理装置として撮像装置などに設けられる。
【０００３】
撮像装置による一画像処理として、連続して入力される画像データ（以下、画像とも称する。）のうち所定の画像データ（以下、処理画像とも称する。）、および所定の処理画像よりも前に入力された画像データ（以下、参照画像とも称する。）を用いた画像処理が知られている。この場合、処理画像および参照画像は、所定のバッファ領域を有するバッファに保存されて画像処理に用いられる。ここで、バッファのバッファ領域が制限されているので、所定の入力回数で間引いた画像が参照画像として保存される。これにより、入力される全ての画像を参照画像として保存するよりも、長期間に亘る参照画像を保存することができる。
【０００４】
ところで、従来、長期間に亘る参照画像を保存する場合、以下のようなバッファ制御方法が用いられている。第１の制御方法は、入力される画像を全て保存しておき、画像処理に際して、処理画像および参照画像として用いる画像に適宜アクセスするものである。
【０００５】
第２および第３の制御方法では、処理画像用バッファ（以下、処理画像バッファとも称する。）および参照画像用バッファ（以下、参照画像バッファとも称する。）が設けられる。第２の制御方法は、処理画像バッファに処理画像を保存しておき、処理画像バッファから処理画像を読出し参照画像バッファから参照画像を読出して処理した後、所定の入力回数で間引いた処理画像を参照画像として参照画像バッファに複製保存する。第３の制御方法は、処理画像を処理画像バッファに保存し、所定の入力回数毎に参照画像バッファにも保存する。
【０００６】
第４の制御方法では、処理画像および参照画像を保存する共通バッファ（以下、共通バッファとも称する。）が設けられる。第４の制御方法は、処理画像を共通バッファに保存しておき、処理画像の画像処理中に入力される画像を保存せず、画像処理の対象とした画像を参照画像として共通バッファに保存する。
【０００７】
【特許文献１】特開２００５−１４８９０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、従来の制御方法において、第１の制御方法では、入力される全ての画像を参照画像として保存し、画像処理の対象とならない参照画像も保存するので、余計なバッファ領域を確保することになる。第２の制御方法では、処理画像の複製保存が必要となるので、処理能力が低下する。第３の制御方法でも、処理画像バッファおよび参照画像バッファに対する重複保存が必要となるので、処理能力が低下する。第４の制御方法では、各処理画像に対する処理時間がバラつくと、処理対象となる処理画像および参照画像の入力（保存）間隔もバラついてしまう。
【０００９】
本発明は上記問題点に鑑みてなされたものであり、その目的は、データ転送を効率的かつ適切に実施可能な、新規かつ改良された、バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の第１の観点によれば、データ入力装置からデータ処理装置へのバッファを介したデータ転送を制御するバッファ制御装置が提供される。本バッファ制御装置は、データ入力装置に入力されるデータを書込むためのバッファアドレスを示す書込みポインタと、データ処理装置に出力されるデータを読出すための基準バッファアドレスを示す読出しポインタとを有するレジスタ部と、データ入力装置に連続して入力されるデータのうち所定の入力回数ｎ毎に入力されるデータを、書込みポインタが示すバッファアドレスに書込み、入力回数ｎ毎のデータの書込み後に入力回数ｎ−１回のデータが入力されると、書込みポインタの値をバッファアドレスの次のバッファアドレスに更新する書込み制御部と、データ処理装置にデータ処理の対象となるデータを出力するために、読出しポインタが示す基準バッファアドレスおよび基準バッファアドレスより前のバッファアドレスに書込まれているデータを読出し、データ処理が終了すると、読出しポインタの値を基準バッファアドレスの次のバッファアドレスに更新する読出し制御部と、を備える。
【００１１】
かかる構成によれば、書込み制御部は、所定の入力回数ｎ毎に入力されるデータを書込みポインタが示すバッファアドレスに書込み、書込みポインタの値を更新する。また、読出し制御部は、データ処理装置によるデータ処理の対象となるデータを読出しポインタが示す基準バッファアドレスを参照して読出し、読出しポインタの値を更新する。これにより、所定の入力回数ｎで間引いたデータをバッファに書込み、処理データおよび参照データとして読出し、データ処理装置に出力することができる。また、データ処理装置による処理時間がバラついた場合でも、所定の入力回数ｎ毎に次のバッファアドレスにデータが書込まれるので、データ処理の対象となるデータの入力間隔が大きくバラつくことを回避することができる。
【００１２】
また、上記レジスタ部は、書込みポインタが示すバッファアドレスに対するデータの書込みの可否を示す書込みフラグを有し、読出し制御部は、データ処理が終了すると、書込みポインタおよび読出しポインタが同一のバッファアドレスを示す場合に、書込み許可を示す書込みフラグを設定し、書込み制御部は、入力回数ｎ毎のデータの書込み後に、書込み禁止を示す書込みフラグを設定し、入力回数ｎ毎のデータの書込み後に入力回数ｎ−１回のデータが入力されると、書込み許可を示す書込みフラグを設定し、かつ、入力回数ｎ毎のデータの書込み後に入力回数ｎ−１回のデータが入力されるまでの期間において、読出し制御部により書込み許可を示す書込みフラグが設定されている場合には、連続して入力されるデータのうち最先のデータを書込みポインタが示すバッファアドレスに書込み、書込み禁止を示す書込みフラグを設定してもよい。
【００１３】
これにより、データの上書きにより、データ処理の対象となるデータが失われることを回避することができる。
【００１４】
上記課題を解決するために、本発明の第２の観点によれば、データを入力するためのデータ入力装置と、データ入力装置に入力されるデータを処理するデータ処理装置と、データ入力装置からデータ処理装置へのバッファを介したデータ転送を制御する、前述した第１の観点に係るバッファ制御装置と、備えた情報処理装置が提供される。かかる構成によれば、データ転送を効率的かつ適切に実施可能なバッファ制御装置を備えた情報処理装置を提供することができる。
【００１５】
上記課題を解決するために、本発明の第３の観点によれば、画像データを入力するための画像入力装置と、画像入力装置に入力される画像データを処理する画像処理装置と、画像入力装置に入力される画像データを格納するバッファと、画像入力装置から画像処理装置へのバッファを介したデータ転送を制御する、前述した第１の観点に係るバッファ制御装置と、を備えた撮像装置が提供される。かかる構成によれば、画像データの転送を効率的かつ適切に実施可能なバッファ制御装置を備えた撮像装置を提供することができる。
【００１６】
上記課題を解決するために、本発明の第４の観点によれば、バッファを介したデータ転送を制御するバッファ制御方法が提供される。本バッファ制御方法は、入力されるデータを書込むためのバッファアドレスを示す書込みポインタと、出力されるデータを読出すための基準バッファアドレスを示す読出しポインタとを設定するレジスタ設定ステップと、連続して入力されるデータのうち所定の入力回数ｎ毎に入力されるデータを、書込みポインタが示すバッファアドレスに書込み、入力回数ｎ毎のデータの書込み後に入力回数ｎ−１回のデータが入力されると、書込みポインタの値をバッファアドレスの次のバッファアドレスに更新する書込み制御ステップと、データ処理の対象となるデータを出力するために、読出しポインタが示す基準バッファアドレスおよび基準バッファアドレスより前のバッファアドレスに書込まれているデータを読出し、データ処理が終了すると、読出しポインタの値を基準バッファアドレスの次のバッファアドレスに更新する読出し制御ステップと、を含む。かかる方法によれば、データ転送を効率的かつ適切に実施可能なバッファ制御を行うことができる。
【発明の効果】
【００１７】
本発明によれば、データ転送を効率的かつ適切に実施可能な、バッファ制御装置、情報処理装置、撮像装置、およびバッファ制御方法を提供することができる。
【発明を実施するための最良の形態】
【００１８】
以下に、添付した図面を参照しながら、本発明の好適な実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１９】
以下では、図６を参照しながら従来のバッファ制御の一例を説明した後、図１〜５を参照しながら本発明の一実施形態に係るバッファ制御装置およびバッファ制御方法について説明する。
【００２０】
なお、以下では、画像データを処理するために撮像装置に設けられた画像処理ブロック（画像処理装置）に、リングバッファを制御するバッファ制御装置が適用される場合の実施形態について説明する。
【００２１】
（従来のバッファ制御）
図６は、従来のバッファ制御装置によるバッファ制御の一例を示す説明図である。図６には、所定のバッファ領域を有するリングバッファを介して画像処理ブロックの画像入力部から画像処理部への画像転送を制御するバッファ制御装置を用いて、前述した第４の制御方法を実施する場合のバッファ制御の一例が示されている。
【００２２】
以下では、３０フレーム／秒のフレーム間隔Ｔで入力される画像データ（以下、画像とも称する。）のうち所定の画像データ（以下、処理画像とも称する。）、および所定の処理画像よりも前に入力された３つの画像データ（以下、参照画像とも称する。）を用いて画像処理を行う場合を想定する。
【００２３】
図６に示す場合、バッファ制御装置は、バッファ領域１（値１）を示す書込みポインタＷＰに従ってバッファ領域１に画像０を書込み、ＷＰを値２に設定してバッファ領域２に画像１を書込み、ＷＰを値３に設定してバッファ領域３に画像２を書込む。バッファ制御装置は、バッファ領域４に画像３を書込むと、ＷＰを値５に設定し、画像３を処理画像、画像０〜２を参照画像として読出し、画像処理部に出力する。
【００２４】
画像処理部は、出力された参照画像０〜２を用いて処理画像３に対する画像処理を行う。この場合、画像０〜３の入力間隔が２秒毎であり、画像処理の対象となる画像の入力間隔がバラついていないので、画像処理部は、画像処理を適切に行うことができる。
【００２５】
ここで、画像処理部の処理負荷が大きくなり、処理画像３に対する画像処理に２５秒の処理時間を要した場合を想定する。この場合、画像処理中に画像４〜１５が入力されるが、バッファ制御装置は、画像４〜１５をバッファ領域に書込まない。
【００２６】
処理画像３に対する画像処理の終了後に画像１６が入力されると、バッファ制御装置は、ＷＰに従ってバッファ領域５に画像１６を書込み、画像１６を処理画像、画像１〜３を参照画像として読出し、画像処理部に出力する。
【００２７】
画像処理部は、処理画像１６に対する画像処理を行う。この場合、画像１〜３の入力間隔が２秒毎であり、画像３と処理画像１６との入力間隔が２６秒であり、画像処理の対象となる画像の入力間隔が大きくバラついているので、画像処理部は、画像処理を適切に行うことができない場合がある。
【００２８】
（撮像装置の構成例）
図１は、本発明の一実施形態に係るバッファ制御装置が設けられた撮像装置の構成例を示すブロック図である。
【００２９】
撮像装置は、撮像部８０、画像処理ブロック、駆動部、外部記憶部、およびバス６０を有する。画像処理ブロックには、画像入力部３０、画像処理部４０、ビデオ出力部５０、ネットワーク出力部５５、およびバッファ制御部（バッファ制御装置）１０が設けられる。画像処理ブロックは、単一の半導体チップ上に構成されてもよい。駆動部には、ビデオ駆動部９０およびネットワーク駆動部９５が設けられ、外部記憶部には、リングバッファ領域２０および出力画像バッファ領域７０が設けられる。
【００３０】
撮像部８０は、画像を取得し、取得した画像を画像入力部３０に出力する。画像入力部３０は、入力される画像に信号処理を施し、画像処理部４０、リングバッファ領域２０などに出力する。画像処理部４０は、画像入力部３０、リングバッファ領域２０などから画像を入力され、画像に所定の画像処理を施し、ビデオ出力部５０、ネットワーク出力部５５、出力画像バッファ領域７０などに出力する。ビデオ出力部５０は、画像処理された画像をビデオ駆動部９０に出力し、ネットワーク出力部５５は、画像処理された画像をネットワーク駆動部９５に出力する。バッファ制御部１０は、画像入力部３０から画像処理部４０へのリングバッファ領域２０を介したデータ転送を制御する。
【００３１】
ビデオ駆動部９０は、ビデオ出力部５０からのビデオ出力を外部に出力し、ネットワーク駆動部９５は、ネットワーク出力部５５からのネットワーク出力を外部に出力する。リングバッファ領域２０は、画像入力部３０に入力される画像のうち少なくとも一部を格納しており、画像の書込みおよび読出しがバッファ制御部１０により制御される。出力画像バッファ領域７０は、出力画像を格納しており、出力画像の書込みおよび読出しが画像処理部４０、ビデオ出力部５０およびネットワーク出力部５５により制御される。バス６０は、画像処理ブロックおよび外部記憶部に含まれる各構成要素間での情報送受のために用いられる。
【００３２】
（バッファ制御部１０の構成）
図２は、図１に示すバッファ制御部１０の構成を示すブロック図である。
【００３３】
バッファ制御部１０は、画像入力部３０、画像処理部４０、およびリングバッファ領域２０にバス６０を介して接続される。バッファ制御部１０は、レジスタ部１２、書込み制御部１４、および読出し制御部１６を有する。なお、図１および図２には、画像入力部３０および画像処理部４０と別体でバッファ制御部１０を設ける場合が示されているが、例えば、画像入力部３０に書込み制御部１４を設け、画像処理部４０に読出し制御部１６を設け、書込み制御部１４および読出し制御部１６からアクセス可能なようにバス６０上にレジスタ部１２を設けてもよい。
【００３４】
レジスタ部１２は、書込みポインタＷＰ、読出しポインタＲＰ、書込みフラグＷＦ、および書込みカウンタＷＣの値を格納する。ＷＰは、画像入力部３０に入力される画像を書込むためのリングバッファ領域２０上のアドレス（図２に示す場合では、バッファ領域１〜８のうちいずれかのアドレス）を示し、ＲＰは、画像処理部４０に出力される画像を読出すためのリングバッファ領域２０上の基準アドレスを示す。ＷＦは、ＷＰが示すアドレスに対する画像の書込みの可否を示す。ＷＣは、ＷＰが同一アドレスを示している間に、画像入力部３０に入力された画像の入力回数を示す。
【００３５】
書込み制御部１４は、レジスタ部１２に格納されているＷＰ、ＷＦ、ＷＣの値に基づいて、リングバッファ領域２０への画像の書込みを制御する。書込み制御部１４は、画像入力部３０に連続して入力される画像のうち、ＷＣを用いて所定の入力回数ｎ毎の画像を書込みポインタが示すアドレスに書込み、入力回数ｎ毎の画像の書込み後に入力回数ｎ−１回の画像が入力されると、ＷＰの値を次のアドレスに更新する。
【００３６】
読出し制御部１６は、レジスタ部１２に格納されているＷＰ、ＷＦ、ＲＰの値に基づいて、リングバッファ領域２０からの画像の読出しを制御する。読出し制御部１６は、画像処理装置に画像処理の対象となる画像を出力するために、ＲＰが示す基準アドレスから画像（処理画像）および基準アドレスより前のアドレスから画像（参照画像）を読出し、画像処理が終了すると、ＲＰの値を次のアドレスに更新する。
【００３７】
読出し制御部１６は、画像処理部４０による画像処理が終了すると、ＷＰおよびＲＰが同一アドレスを示す場合に、ＷＦを書込み許可に設定する。書込み制御部１４は、入力回数ｎ毎の画像を書込み後に、ＷＦを書込み禁止に設定し、入力回数ｎ毎の画像の書込み後に入力回数ｎ−１回の画像が入力されると、ＷＦを書込み許可に設定する。そして、書込み制御部１４は、入力回数ｎ毎の画像の書込み後に入力回数ｎ−１回の画像が入力されるまでの期間において、読出し制御部１６によりＷＦが書込み許可に設定されている場合には、連続して入力される画像のうち最先の画像をＷＰが示すアドレスに書込み、ＷＦを書込み禁止に設定する。
【００３８】
（バッファ制御方法）
図３は、書込み処理に関する動作方法を示すフロー図であり、図４は、読出し処理に関する動作方法を示すフロー図である。以下では、図３および図４を参照しながらバッファ制御装置の一般的な動作方法について説明する。
【００３９】
なお、以下では、１枚の処理画像および処理画像よりも前に入力されたＰ枚の参照画像を用いて画像処理を行う場合を想定する。また、リングバッファは、バッファ領域１〜ＬからなるＬのバッファ領域を有する場合を想定する。
【００４０】
図３に示すように、書込み制御部１４は、書込み処理の開始に際して、レジスタ部１２に格納されているＷＰ、ＷＦ、ＷＣの値を初期化する（ステップＳ１０２）。ここで、ＷＰは、例えばバッファ領域１（値１）に設定され、ＷＦは、書込み許可（値０）に設定され、ＷＣは、初期値０に設定される。
【００４１】
書込み制御部１４は、画像入力部３０に画像が入力されているかを判定し（Ｓ１０４）、入力されている場合にはＳ１０６の処理に移行し、入力されていない場合にはＳ１０４の処理に復帰して判定を継続する。
【００４２】
画像が入力されている場合に、書込み制御部１４は、ＷＦの値を判定する（Ｓ１０６）。ＷＦが書込み許可（値０）に設定されている場合に、書込み制御部１４は、入力された画像をＷＰが示すバッファ領域に書込み（Ｓ１０８）、ＷＦを書込み禁止（値１）に設定する（Ｓ１１０）。一方、ＷＦが書込み禁止（値１）に設定されている場合に、書込み制御部１４は、入力された画像を破棄するように画像入力部３０を制御する（Ｓ１１２）。
【００４３】
画像が書込みまたは破棄されると、書込み制御部１４は、ＷＰが同一のバッファ領域を示している間に入力された画像の入力回数を示すＷＣの値をインクリメントする（Ｓ１１４）。書込み制御部１４は、ＷＣの値を判定し（Ｓ１１６）、画像が所定の回数ｎ入力された場合には、Ｓ１１８の処理に移行し、所定の回数ｎ入力されていない場合には、Ｓ１０４の処理に復帰する。
【００４４】
画像がｎ回入力されている場合に、書込み制御部１４は、ＷＰの値をインクリメントし、ＷＦを書込み許可（値０）に設定し、ＷＣの値を初期化する（Ｓ１１８）。また、書込み制御部１４は、ＷＰの値を判定し（Ｓ１２０）、ＷＰの値がバッファ領域の総数Ｌより大きい場合に、ＷＰをバッファ領域１（値１）に設定する（Ｓ１２２）。そして、書込み制御部１４は、Ｓ１０４の処理に復帰する。
【００４５】
一方、図４に示すように、読出し制御部１６は、読出し処理の開始に際して、レジスタ部１２に格納されているＲＰの値を初期化する（Ｓ２０２）。ここで、ＲＰは、例えばバッファ領域Ｐ＋１（Ｐ≧１）に設定される。
【００４６】
読出し制御部１６は、画像処理部４０による画像処理の可否をＷＰ、ＲＰ、ＷＦの値に基づいて判定する（Ｓ２０４、Ｓ２０６）。ここで、条件１（ＷＰ＞ＲＰ）または条件２（ＷＰ＝ＲＰ、ＷＦ＝１）が満たされる場合には、画像処理の対象となる画像がバッファ領域に書込まれていることになる。このため、読出し制御部１６は、いずれかの条件が満たされる場合に、画像処理が可能であると判定し、Ｓ２０８の処理に移行し、いずれの条件も満たされない場合にＳ２０４の処理に復帰する。
【００４７】
画像処理が可能である場合に、読出し制御部１６は、ＲＰが示すバッファ領域から画像（処理画像）を読出し、ＲＰ−１〜ＲＰ−Ｐが示すバッファ領域から画像（参照画像）を読出す（Ｓ２０８）。
【００４８】
バッファ領域から読出された画像処理の対象となる画像は、画像処理部４０に出力され、画像処理部４０は、出力された画像を用いて画像処理を行う（Ｓ２１０）。
【００４９】
読出し制御部１６は、画像処理部４０による画像処理が終了（Ｓ２１２）すると、ＷＰ、ＲＰの値を判定し（Ｓ２１４）、ＷＰおよびＲＰの値が同一である場合に、ＷＦを書込み許可（値０）に設定する（Ｓ２１６）。そして、読出し制御部１６は、ＲＰの値をインクリメントする（Ｓ２１８）。また、読出し制御部１６は、ＲＰの値を判定し（Ｓ２２０）、ＲＰの値がバッファ領域の総数Ｌより大きい場合に、ＲＰをバッファ領域１（値１）に設定する（Ｓ２２２）。そして、読出し制御部１６は、Ｓ２０４の処理に復帰する。
【００５０】
（本実施形態に係るバッファ制御方法の一例）
以下では、図５を参照しながらバッファ制御装置によるバッファ制御の一例について説明する。図５は、バッファ制御装置によるバッファ制御の一例を示す説明図である。
【００５１】
以下では、所定の入力回数ｎ＝３、参照画像の枚数Ｐ＝３、バッファ領域の総数Ｌ＝８、また、Ｔ＝３０フレーム／秒の一定周期で画像が入力される場合を想定する。
【００５２】
書込み制御部１４は、書込み処理の開始に際して、ＷＰをバッファ領域１（値１）に設定し、ＷＦおよびＷＣを値０に設定する。一方、読出し制御部１６は、読出し処理の開始に際して、ＲＰを値４に設定する。
【００５３】
画像入力部３０に画像０が入力されると、書込み制御部１４は、ＷＦが値０に設定されているので、画像０をバッファ領域１に書込み、ＷＦを値１に設定する。書込み制御部１４は、ＷＣを値１に設定し、ＷＣの値が所定の入力回数ｎに達していないので、Ｓ１０４の処理に復帰する。
【００５４】
画像０の入力から２秒後に画像１が入力されると、書込み制御部１４は、ＷＦが値１に設定されているので、画像１を破棄するように画像入力部３０を制御し、ＷＣを値２に設定し、Ｓ１０４の処理に復帰する。画像２が入力されると、書込み制御部１４は、画像２を破棄するように画像入力部３０を制御し、ＷＣを値に３に設定し、ＷＣの値が所定の入力回数ｎに達しているので、ＷＰを値２に設定し、ＷＦおよびＷＣの値を０に設定し、Ｓ１０４の処理に復帰する。
【００５５】
同様にして、２秒毎に画像３〜９が入力されると、書込み制御部１４は、バッファ領域２、３、４に画像３、６、９を各々に書込む。画像９が書込まれた時点で、ＷＰは、値４に設定され、ＷＦおよびＷＣは、値１に設定されている。
【００５６】
読出し制御部１６は、バッファ領域１〜４に画像０、３、６、９が各々に書込まれると、条件２（ＷＰ＝ＲＰ、ＷＦ＝１）が満たされるので、バッファ領域４に書込まれている処理画像９に対する画像処理が可能であると判定する。そして、読出し制御部１６は、バッファ領域１〜４から画像０、３、６、９を各々に読出す。
【００５７】
バッファ領域から読出された画像０、３、６、９は、画像処理部４０に出力され、画像処理部４０は、出力された参照画像０、３、６を用いて処理画像９に対する画像処理を行う。参照画像０、３、６および処理画像９の入力間隔は、６秒毎となる。ここで、処理画像９に対する画像処理が６秒の処理時間を要した場合を想定する。
【００５８】
この場合、画像９の書込みから６秒が経過しているので、画像１０〜１２が入力され、バッファ領域５に画像１２が書込まれ、画像１０、１１が破棄されている。処理画像９に対する画像処理が終了した時点で、ＷＰは、値５に設定され、ＷＦは、値１に設定されている。このため、読出し制御部１６は、ＷＰ（＝５）およびＲＰ（＝４）が同一でないので、ＷＦを値０に設定せずに、ＲＰを値５に設定する。
【００５９】
次に、読出し制御部１６は、バッファ領域２〜５に画像３、６、９、１２が各々に書込まれており、条件２が満たされるので、バッファ領域５に書込まれている処理画像１２に対する画像処理を行う。読出し制御部１６は、バッファ領域２〜５から画像３、６、９、１２を読出し、画像処理部４０は、参照画像３、６、９を用いて処理画像１２に対する画像処理を行う。参照画像３、６、９および処理画像１２の入力間隔は、６秒毎となる。ここで、処理画像１２に対する画像処理が４秒の処理時間を要した場合を想定する。
【００６０】
この場合、画像１２の書込みから４秒が経過しているので、画像１３、１４が入力されて破棄されている。処理画像１２に対する画像処理が終了した時点で、ＷＰは、値６に設定され、ＷＦは、値１に設定されている。このため、読出し制御部１６は、ＷＰ（＝６）およびＲＰ（＝５）が同一でないので、ＷＦを値０に設定せずに、ＲＰを値６に設定する。そして、読出し制御部１６は、バッファ領域６に画像１５が書込まれるまで待機する。
【００６１】
バッファ領域６に画像１５が書込まれると、読出し制御部１６は、バッファ領域３〜６に画像６、９、１２、１５が各々に書込まれており、条件２が満たされるので、バッファ領域６に書込まれている処理画像１５に対する画像処理を行う。読出し制御部１６は、バッファ領域３〜６から画像６、９、１２、１５を読出し、画像処理部４０は、参照画像６、９、１２を用いて処理画像１５に対する画像処理を行う。参照画像６、９、１２および処理画像１５の入力間隔は、６秒毎となる。ここで、画像１５に対する画像処理が２秒の処理時間を要した場合を想定する。
【００６２】
この場合、画像１５の書込みから２秒が経過しているので、画像１６が入力されて破棄されている。処理画像１５に対する画像処理が終了した時点で、ＷＰは、値６に設定され、ＷＦは、値１に設定されている。このため、読出し制御部１６は、ＷＰ（＝６）およびＲＰ（＝６）が同一であるので、ＷＦを値０に設定し、ＲＰを値７に設定する。
【００６３】
画像１７が入力されると、書込み制御部１４は、ＷＦが値０であるので、バッファ領域６で画像１５に画像１７を上書きし、ＷＦを値１に設定し、ＷＰを値７に設定する。そして、読出し制御部１６は、バッファ領域７に画像１８が書込まれるまで待機する。
【００６４】
バッファ領域７に画像１８が書込まれると、読出し制御部１６は、バッファ領域４〜７に画像９、１２、１７、１８が各々に書込まれており、条件２が満たされるので、バッファ領域７に書込まれている処理画像１８に対する画像処理を行う。読出し制御部１６は、バッファ領域４〜７から画像９、１２、１７、１８を読出し、画像処理部４０は、参照画像９、１２、１７を用いて処理画像１８に対する画像処理を行う。参照画像９、１２、１７および処理画像１８の入力間隔は、６秒、１０秒、２秒となる。ここで、画像１８に対する画像処理が１秒の処理時間を要した場合を想定する。
【００６５】
この場合、画像１８の書込みから１秒が経過しているのみであるので、画像１９は入力されていない。処理画像１８に対する画像処理が終了した時点で、ＷＰは、値７に設定され、ＷＦは、値１に設定されている。このため、読出し制御部１６は、ＷＰ（＝７）およびＲＰ（＝７）が同一であるので、ＷＦを値０に設定し、ＲＰを値８に設定する。
【００６６】
画像１９が入力されると、書込み制御部１４は、ＷＦが値０であるので、バッファ領域７で画像１８に画像１９を上書きし、ＷＦを値１に設定する。そして、読出し制御部１６は、バッファ領域８に画像２１が書込まれるまで待機する。
【００６７】
バッファ領域８に画像２１が書込まれると、読出し制御部１６は、バッファ領域５〜８に画像１２、１７、１９、２１が各々に書込まれており、条件２が満たされるので、バッファ領域８に書込まれている処理画像２１に対する画像処理を行う。読出し制御部１６は、バッファ領域５〜８から画像１２、１７、１９、２１を読出し、画像処理部４０は、参照画像１２、１７、１９を用いて処理画像２１に対する画像処理を行う。参照画像１２、１７、１９および処理画像２１の入力間隔は、１０秒、４秒、４秒となる。ここで、画像処理部４０の処理負荷が急激に増大し、画像２１に対する画像処理が２５秒の処理時間を要した場合を想定する。
【００６８】
この場合、画像２１の書込みから２５秒が経過しているので、画像２２〜３３が入力されている。そして、バッファ領域１、２、３、４に、画像２４、２７、３０、３３が各々に書込まれ、入力された他の画像が破棄されている。処理画像２１に対する画像処理が終了した時点で、ＷＰは、値４に設定され、ＷＦは、値１に設定されている。このため、読出し制御部１６は、ＷＰ（＝４）およびＲＰ（＝８）が同一でないので、ＷＦを値０に設定せずに、ＲＰを値１に設定する。
【００６９】
読出し制御部１６は、バッファ領域６〜８、１に画像１７、１９、２１、２４が各々に書込まれており、条件１（ＷＰ＞ＲＰ）が満たされるので、バッファ領域１に書込まれている処理画像２４に対する画像処理を行う。読出し制御部１６は、バッファ領域６〜８、０から画像１７、１９、２１、２４を読出し、画像処理部４０は、参照画像１７、１９、２１を用いて処理画像２４に対する画像処理を行う。参照画像１７、１９、２１および処理画像２４の入力間隔は、４秒、４秒、６秒となる。
【００７０】
以上の処理により、画像入力部３０に入力された画像０〜３３のうち、画像０、３、６、９、１２、１５、１７、１８、１９、２１、２４、２７、３０、３３がリングバッファ領域１〜８に書込まれ、画像処理に際して読出され、処理画像および参照画像として画像処理部４０に出力される。
【００７１】
本実施形態に係るバッファ制御方法によれば、画像処理に要する処理時間がバラついた場合でも、所定の入力回数ｎ毎の画像が処理画像となり、また、入力間隔６０／Ｔ〜６０／Ｔ×（ｎ×２−１）の画像が処理画像および参照画像となり画像処理が行われる。前述したバッファ制御の一例では、ｎ＝３、Ｔ＝３０フレーム／秒であり、従来のバッファ制御の一例の場合（処理時間２５秒で入力間隔２６秒）に比して、入力間隔のバラつきが２秒〜１０秒と比較的小さいので、画像処理部４０は、画像処理を適切に行うことができる。
【００７２】
また、本実施形態に係るバッファ制御方法によれば、画像処理が遅延した場合でも、バッファ領域の総数Ｌ、参照画像の枚数Ｐ枚であれば、（Ｌ−（Ｐ＋１））×ｎフレームの期間は、処理の対象となる参照画像に対する上書きを回避することができる。前述したバッファ制御の一例では、Ｌ＝８、Ｐ＝３、ｎ＝３であり、１２フレームの余裕があるので、画像処理部４０によるベストエフォート処理に柔軟に対応することができる。
【００７３】
以上説明したように本実施形態に係るバッファ制御装置によれば、所定の入力回数ｎで間引いた画像をリングバッファに書込み、処理画像および参照画像として読出し、画像処理部４０に出力することができる。また、画像処理部４０による処理時間がバラついた場合でも、所定の入力回数ｎ毎に次のバッファ領域に画像が書込まれるので、画像処理の対象となる画像の入力間隔が大きくバラつくことを回避することができる。また、画像の上書きにより、画像処理の対象となる画像が失われることを回避することができる。
【００７４】
また、本実施形態に係るバッファ制御装置によれば、従来の制御方法（第１〜３の制御方法）における、余計なバッファ領域の確保、および処理能力の低下という問題も解消することができる。
【００７５】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【００７６】
例えば、上記説明では、画像データを処理するために、撮像装置に設けられた画像処理ブロック（画像処理装置）に、バッファ制御部１０（バッファ制御装置）が適用される場合の実施形態について説明した。しかし、本発明に係るバッファ制御装置は、撮像装置に設けられた画像処理装置に限らず、撮像装置以外の装置に設けられて、各種データを処理する情報処理装置（画像処理装置も含む）にも同様に適用することができる。
【００７７】
また、上記説明では、撮像装置にリングバッファ領域２０が設けられる場合の実施形態について説明した。しかし、本発明に係るバッファ制御装置は、リングバッファに限らず、一般的なバッファ領域を有するバッファを介したデータ転送を制御する場合にも同様に適用することができる。
【００７８】
また、上記説明では、画像入力部３０に一定の周期で画像が入力される場合の実施形態について説明した。しかし、本発明に係るバッファ制御装置は、データ処理方式に応じて、データ処理装置に不定の周期でデータが入力される場合にも同様に適用することができる。この場合でも、バッファ制御装置は、所定の入力回数ｎで間引いたデータを処理データおよび参照データとして、データ処理装置に出力することができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の一実施形態に係るバッファ制御装置が設けられた撮像装置の構成例を示すブロック図である。
【図２】図１に示すバッファ制御部の構成を示すブロック図である。
【図３】書込み処理に関する動作方法を示すフロー図である。
【図４】読出し処理に関する動作方法を示すフロー図である。
【図５】バッファ制御装置によるバッファ制御の一例を示す説明図である。
【図６】従来のバッファ制御装置によるバッファ制御の一例を示す説明図である。
【符号の説明】
【００８０】
１０    バッファ制御部
１２    レジスタ部
１４    書込み制御部
１６    読出し制御部
２０    リングバッファ領域
３０    画像入力部
４０    画像処理部
【図１】
2009252042.tif 000003
【図２】
2009252042.tif 000004
【図３】
2009252042.tif 000005
【図４】
2009252042.tif 000006
【図５】
2009252042.tif 000007
【図６】
2009252042.tif 000008