(57)【要約】【課題】固体撮像素子から高速に読み出した画像データをデータバスの瞬間的な帯域使用量を上げずに送り出すことが可能な情報処理装置を提供する。【解決手段】本発明の情報処理装置は、撮像素子からライン単位で出力された画像データを保持するラインバッファ部３１０と、画像データをライン単位でラインバッファ部３１０に書き込むタイミングを示す書き込みイネーブル信号を生成する書き込みイネーブル生成部３２０と、ラインバッファ部３１０に書き込まれた画像データを読み出す頻度を決定する読み出し頻度設定値を基準クロックごとに加算する加算部３４０と、読み出し頻度設定値の加算値に基づいて、ラインバッファ部３１０に書き込まれた画像データをライン単位で読み出すタイミングを示す読み出しイネーブル信号を生成する読み出しイネーブル生成部３５０と、を備える。【選択図】図４
2010141687.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子からライン単位で出力された画像データを保持するバッファ部と、
前記画像データをライン単位で前記バッファ部に書き込むタイミングを示す書き込みイネーブル信号を生成する書き込みイネーブル生成部と、
前記バッファ部に書き込まれた前記画像データを読み出す頻度を決定する読み出し頻度設定値を基準クロックごとに加算する加算部と、
前記読み出し頻度設定値の加算値に基づいて、前記バッファ部に書き込まれた前記画像データをライン単位で読み出すタイミングを示す読み出しイネーブル信号を生成する読み出しイネーブル生成部と、
を備える、情報処理装置。
【請求項２】
前記読み出し頻度設定部の加算値が所定の値を超えたとき、
前記読み出しイネーブル生成部は前記読み出しイネーブル信号を生成し、
前記加算部は前記加算値から前記所定の値を減ずる、請求項１に記載の情報処理装置。
【請求項３】
撮像素子による前記画像の撮像モードと前記読み出し頻度設定値とを関連付けて記憶する設定値記憶部をさらに備え、
前記読み出し頻度設定値を前記撮像モードに応じて変更する変更部をさらに備える、請求項１に記載の情報処理装置。
【請求項４】
前記読み出し頻度設定値は、前記画像データの読み出し頻度が高いほど大きい値に設定される、請求項３に記載の情報処理装置。
【請求項５】
前記読み出し頻度設定値は、前記バッファ部から前記画像データを読み出す読み出しレートが前記バッファ部へ前記画像データを書き込む書き込みレートより大きくなるように設定される、請求項１に記載の情報処理装置。
【請求項６】
前記書き込みイネーブル生成部は、
前記画像データのフレームの先頭でアクティブとなる垂直同期信号の出力に基づいて書き込みイネーブル信号の出力を開始し、
その後、前記画像データの各ラインの先頭でアクティブとなる水平同期信号の出力に基づいて書き込みイネーブル信号が出力される、請求項１に記載の情報処理装置。
【請求項７】
撮像素子からライン単位で出力された画像データをバッファ部に書き込むタイミングを示す書き込みイネーブル信号を生成するステップと、
前記書き込みイネーブル信号の出力に基づいて、前記画像データをライン単位で前記バッファ部に書き込むステップと、
前記バッファ部に書き込まれた前記画像データを読み出す頻度を決定する読み出し頻度設定値を基準クロックごとに加算するステップと、
前記読み出し頻度設定値の加算値に基づいて、前記バッファ部に書き込まれた前記画像データの読み出しタイミングを示す読み出しイネーブル信号を生成するステップと、
前記読み出しイネーブル信号の出力に基づいて、前記画像データを前記バッファ部からライン単位で読み出すステップと、
を含む、バッファ制御方法。
【請求項８】
撮像素子からライン単位で出力された画像データをバッファ部に書き込むタイミングを示す書き込みイネーブル信号を生成する書き込みイネーブル生成手段と、
前記書き込みイネーブル信号の出力に基づいて、前記画像データをライン単位で前記バッファ部に書き込む書き込み手段と、
前記バッファ部に書き込まれた前記画像データを読み出す頻度を決定する読み出し頻度設定値を基準クロックごとに加算する加算手段と、
前記読み出し頻度設定値の加算値に基づいて、前記バッファ部に書き込まれた前記画像データの読み出しタイミングを示す読み出しイネーブル信号を生成する読み出しイネーブル生成手段と、
前記読み出しイネーブル信号の出力に基づいて、前記画像データを前記バッファ部からライン単位で読み出す読み出し手段と、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、バッファ制御方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
デジタルスチルカメラ等の撮像装置では、撮像素子として、例えばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）イメージャなどの固体撮像素子が一般的に使用されている。特に、ＣＭＯＳイメージャは高速なデータ読み出しが可能であり、高速性が要求されるリアルタイム処理の実現に適している。
【０００３】
フロントエンド部からカメラシステムＬＳＩに画像データを読み込み、画像処理を行うとき、まず、フロントエンド部から出力された画像データは、カメラ信号処理部に出力され、各種カメラ信号処理が施される。このとき、フロントエンド部からは、カメラ撮影画像の検波処理のため、画像検波部にも同一の画像データが出力される。カメラ信号処理部によって処理された画像データは、メモリコントローラによってデータバスに出力されて、メモリインタフェース（以下、「メモリＩ／Ｆ」ともいう。）を介して画像メモリに一時記憶される。画像メモリに一時記憶された画像データは、再度メモリコントローラによって、メモリＩ／Ｆを介して画像メモリからデータバスに出力される。その後、画像データは、表示用のモニタインタフェース（以下、「モニタＩ／Ｆ」ともいう。）または画像圧縮解凍部に入力され、所定の画像処理が施された後、外部モニタや圧縮画像記録処理が行われる。
【０００４】
このようなデータの流れを実現する場合、データバスを複数の画像処理ブロックが共有することになり、データバスの帯域使用量に注意する必要がある。特に、高速性が要求されるリアルタイム処理を実現するために、ＣＭＯＳイメージャから高速に画像データを読み出して画像メモリに一時記憶する場合には、データバスの帯域使用量が瞬間的に大幅に増加することが懸念される。このような状況下では、データバスを他の画像処理ブロックやマイコンが使用することができなくなるため、処理効率の低下を招いてしまう。また、瞬間的なデータバスの帯域使用量の大幅増加はＬＳＩ内部の消費電力のピーク値の増加につながり、電源供給の観点から安定した動作を保証できなくなる可能性がある。
【０００５】
このような問題を解決する手段として、特許文献１には、外部入力とデータ処理部との間にＦＩＦＯデータバッファを挿入し、入力データをいったんＦＩＦＯデータバッファで受け取り、バッファからの出力レートを制御することが開示されている。かかる方法では、ＦＩＦＯデータバッファの残量と入力されたデータ量とを比較し、この比較結果に応じて出力データレートの上げ下げを判断し、データを段階的に送信することができるため、データレート制御に有効である。
【０００６】
また、特許文献２には、画像処理用のラインメモリと共有化して入力画像の左右反転処理を同時に行うことにより、カメラ信号処理をする上で必要となる入力画像データの加工を共通のラインバッファ制御で行う方法が開示されている。
【０００７】
【特許文献１】特開２００２−１３５６６３号公報
【特許文献２】特開平１０−３２２５７１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記特許文献１の方法では、データレート判定部や速度変換部などの回路を設ける必要があり、レート判定や速度変換についての適切なアルゴリズム開発や実装方法を実現しなければならないという問題があった。
【０００９】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、固体撮像素子から高速に読み出した画像データをデータバスの瞬間的な帯域使用量を上げずに送り出すことが可能な、新規かつ改良された情報処理装置、バッファ制御方法およびコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のある観点によれば、撮像素子からライン単位で出力された画像データを保持するバッファ部と、画像データをライン単位でバッファ部に書き込むタイミングを示す書き込みイネーブル信号を生成する書き込みイネーブル生成部と、バッファ部に書き込まれた画像データを読み出す頻度を決定する読み出し頻度設定値を基準クロックごとに加算する加算部と、読み出し頻度設定値の加算値に基づいて、バッファ部に書き込まれた画像データをライン単位で読み出すタイミングを示す読み出しイネーブル信号を生成する読み出しイネーブル生成部と、を備える、情報処理装置が提供される。
【００１１】
本発明によれば、バッファ部にライン単位で書き込まれた画像データは、読み出し頻度設定値の加算値に基づいて生成された読み出しイネーブル信号に基づいて読み出される。このように、読み出し頻度設定値の加算値を利用して、容易に画像データの読み出し処理におけるデータバスの帯域使用量を制御することができる。これにより、瞬間的なデータバスの帯域使用量を削減することができ、空いたデータバス帯域を他の画像処理ブロックやマイコン部により使用することができるので、処理効率を上昇させることができる。
【００１２】
ここで、読み出し頻度設定部の加算値が所定の値を超えたとき、読み出しイネーブル生成部は読み出しイネーブル信号を生成するようにしてもよい。このとき、加算部は加算値から所定の値を減ずる処理をする。
【００１３】
また、撮像素子による画像の撮像モードと読み出し頻度設定値とを関連付けて記憶する設定値記憶部をさらに備えることもできる。このとき、読み出し頻度設定値を撮像モードに応じて変更する変更部をさらに備えるようにしてもよい。
【００１４】
さらに、読み出し頻度設定値の設定は、画像データの読み出し頻度が高いほど大きい値にするようにしてもよい。
【００１５】
また、読み出し頻度設定値は、バッファ部から画像データを読み出す読み出しレートがバッファ部へ画像データを書き込む書き込みレートより大きくなるように設定することもできる。
【００１６】
書き込みイネーブル生成部は、画像データのフレームの先頭でアクティブとなる垂直同期信号の出力に基づいて書き込みイネーブル信号の出力を開始するようにしてもよい。その後、画像データの各ラインの先頭でアクティブとなる水平同期信号の出力に基づいて書き込みイネーブル信号を出力するようにしてもよい。
【００１７】
また、上記課題を解決するために、本発明の別の観点によれば、撮像素子からライン単位で出力された画像データをバッファ部に書き込むタイミングを示す書き込みイネーブル信号を生成するステップと、書き込みイネーブル信号の出力に基づいて、画像データをライン単位でバッファ部に書き込むステップと、バッファ部に書き込まれた画像データを読み出す頻度を決定する読み出し頻度設定値を基準クロックごとに加算するステップと、読み出し頻度設定値の加算値に基づいて、バッファ部に書き込まれた画像データの読み出しタイミングを示す読み出しイネーブル信号を生成するステップと、読み出しイネーブル信号の出力に基づいて、画像データを前記バッファ部からライン単位で読み出すステップと、を含む、バッファ制御方法が提供される。
【００１８】
さらに、上記課題を解決するために、本発明の別の観点によれば、撮像素子からライン単位で出力された画像データをバッファ部に書き込むタイミングを示す書き込みイネーブル信号を生成する書き込みイネーブル生成手段と、書き込みイネーブル信号の出力に基づいて、画像データをライン単位で前記バッファ部に書き込む書き込み手段と、バッファ部に書き込まれた画像データを読み出す頻度を決定する読み出し頻度設定値を基準クロックごとに加算する加算手段と、読み出し頻度設定値の加算値に基づいて、バッファ部に書き込まれた画像データの読み出しタイミングを示す読み出しイネーブル信号を生成する読み出しイネーブル生成手段と、読み出しイネーブル信号の出力に基づいて、画像データをバッファ部からライン単位で読み出す読み出し手段と、をコンピュータに実行させるためのコンピュータプログラムが提供される。
【発明の効果】
【００１９】
以上説明したように本発明によれば、固体撮像素子から高速に読み出した画像データをデータバスの瞬間的な帯域使用量を上げずに送り出すことが可能な情報処理装置、バッファ制御方法およびコンピュータプログラムを提供することができる。
【発明を実施するための最良の形態】
【００２０】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２１】
＜デジタルスチルカメラの概略構成＞
まず、図１および図２に基づいて、本発明の実施形態にかかる情報処理装置を備える装置の一例であるデジタルスチルカメラ１００の概略構成について説明する。なお、図１は、本実施形態にかかるデジタルスチルカメラ１００の概略構成を示すブロック図である。図２は、本実施形態にかかるカメラシステムＬＳＩ１５０の構成を示すブロック図である。
【００２２】
本実施形態にかかるデジタルスチルカメラ１００は、図１に示すように、レンズ部１１０と、画像センサ１２０と、タイミング発生器（Ｔｉｍｉｎｇ  Ｇｅｎｅｒａｔｏｒ；ＴＧ）１３０とを備える。さらに、デジタルスチルカメラ１００は、フロントエンド部１４０と、カメラシステムＬＳＩ１５０と、マイコン部１６０と、画像メモリ１７０と、外部記憶媒体１８０と、画像モニタ１９０とを備える。
【００２３】
レンズ部１１０は、被写体の光を集光し、画像センサ１２０に導く光学素子である。レンズ部１１０と画像センサ１２０との間には、絞り部１１２と、シャッター部１１４とが設けられる。絞り部１１２は、光が通過する面積を変化させて画像センサ１２０に集光される光量を制御する。シャッター部１１４は、光の通過を遮断することにより、露光を制御する。なお、図１では、絞り部１１２とシャッター部１１４とを別個に設けているが、シャッター部１１４の機能を兼ねている絞り部１１２を設けてもよい。
【００２４】
画像センサ１２０は、例えばＣＣＤやＣＭＯＳセンサ等のセンサであって、被写体の光情報を電気信号に変換する素子である。画像センサ１２０の表面には、色を識別するために複数の色フィルタ（図示せず。）が配置されている。画像センサ１２０は、変換した電気信号を後述のフロントエンド部１４０へ送信する。
【００２５】
タイミング発生器（ＴＧ）１３０は、画像センサ１２０を水平方向および垂直方向に駆動する。また、ＴＧ１３０は、高速・低速電子シャッターなどの露光制御も行う。
【００２６】
フロントエンド部１４０は、画像センサ１２０から入力されたアナログ信号をデジタル信号に変換する。フロントエンド部１４０は、図１に示すように、ノイズ成分を除去する相関二乗サンプリング、ゲインコントロール、Ａ／Ｄコンバートを行う。フロントエンド部１４０は、生成したデジタル信号を後述のカメラシステムＬＳＩ１５０へ送信する。
【００２７】
カメラシステムＬＳＩ１５０は、デジタル化された画像センサ１２０からの情報に基づいて各種デジタル信号処理を行い、輝度信号および色信号を生成する。カメラシステムＬＳＩ１５０は、データを圧縮して圧縮データを生成することもできる。カメラシステムＬＳＩ１５０は、図２に示すように、画像検波部１５１と、メモリインタフェース部１５２と、カメラ信号処理部１５３とを備える。さらに、カメラシステムＬＳＩ１５０は、メモリコントローラ１５４と、マイコンインタフェース部１５５と、画像圧縮解凍部１５６と、モニタインタフェース部１５７とを備える。
【００２８】
画像検波部１５１は、オートフォーカス（ＡＦ）、オートエキスポージャ（ＡＥ）、オートホワイトバランス（ＡＷＢ）の各種カメラ制御の基準となるカメラ撮影画像の検波処理を行う。メモリインタフェース部１５２は、カメラシステムＬＳＩ１５０での信号処理の際に用いられる画像メモリ１７０とのインタフェースを担い、画像データや圧縮データの授受を行う。
【００２９】
カメラ信号処理部１５３は、フロントエンド部１４０においてデジタル化されたセンサ画像情報に基づいて、デジタル信号処理を行い、輝度信号および色信号からなる画像信号を生成する。カメラ信号処理部１５３は、例えば、補間演算やフィルタ演算、マトリクス演算、輝度生成演算、色生成演算等のデジタル信号処理を行う。メモリコントローラ１５４は、各信号処理ブロック間または信号処理ブロックとメモリとの間で行われる画像データの授受や、データの流れるデータバスの制御を行う。
【００３０】
マイコンインタフェース部１５５は、カメラシステムＬＳＩ１５０を制御するマイコン部１６０とのバスインタフェースを担い、マイコン部１６０とカメラシステムＬＳＩ１５０との間の制御データや画像データの授受を行う。画像圧縮解凍部１５６は、画像データを圧縮して圧縮データを生成し、また圧縮された圧縮データを解凍する。画像圧縮解凍部１５６として、例えばＪＰＥＧエンコーダ等を用いることができる。モニタインタフェース部１５７は、画像データを外部モニタ１９０に表示するための各種表示フォーマットに変換する。モニタインタフェース部１５７として、例えばＮＴＳＣエンコーダ等を用いることができる。
【００３１】
図１に戻り、マイコン部１６０は、マイクロコンピュータであって、カメラブロック全体の制御を行う。マイコン部１６０は、例えば、絞り部１１２による露光制御やシャッター部１１４の開閉制御、ＴＧ１３０での電子シャッター制御、フロントエンド部１４０でのゲインコントロール、カメラシステムＬＳＩ１５０による各種モード制御、パラメータ制御等を行う。
【００３２】
画像メモリ１７０は、デジタル画像データを格納するための記憶素子であって、例えばＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）等を用いることができる。画像メモリ１７０は、カメラシステムＬＳＩ１５０におけるデジタル信号処理の際に用いられる。
【００３３】
外部記憶媒体１８０は、圧縮されたデータ（例えば、ＪＰＥＧ等）を格納する記憶媒体である。外部記憶媒体１８０は、通常、デジタルスチルカメラ１００の本体に対してムーバブルに設けられる。外部記憶媒体１８０には、カメラシステムＬＳＩ１５０にて処理された画像データが記録される。
【００３４】
画像モニタ１９０は、撮像画像を確認するための表示部であって、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）パネルなどを用いることができる。画像モニタ１９０には、カメラシステムＬＳＩ１５０にて処理された画像データが表示される。
【００３５】
このようなデジタルスチルカメラ１００では、フロントエンド部１４０からカメラシステムＬＳＩ１５０に画像データを読み込み、画像処理が行われる。フロントエンド部１４０から出力された画像データは、カメラ信号処理部１５３に出力され、各種カメラ信号処理が施される。このとき、フロントエンド部１４０からは、カメラ撮影画像の検波処理のため、画像検波部１５１にも同一の画像データが出力される。カメラ信号処理部１５３によって処理された画像データは、メモリコントローラ１５４によってデータバス１５８に出力されて、メモリインタフェース部１５２を介して画像メモリ１７０に一時記憶される。
【００３６】
画像メモリ１７０に一時記憶された画像データは、再度メモリコントローラ１５４によって、メモリインタフェース部１５２を介して画像メモリからデータバス１５８に出力される。その後、画像データは、画像圧縮解凍部１５６に入力され、圧縮画像記録処理が行われる。また、画像データは、表示用のモニタインタフェース部１５７へ入力されて所定の画像処理が施された後、画像モニタ１９０へ出力される。
【００３７】
以上、本実施形態にかかるデジタルスチルカメラ１００の概略構成について説明した。次に、図３および図４に基づいて、本実施形態にかかるデータレート制御部３００の構成について説明する。なお、図３は、ＣＭＯＳイメージャが出力する画像データの二次元画素イメージの例を示す説明図である。図４は、本実施形態にかかるデータレート制御部３００の構成を示すブロック図である。
【００３８】
＜データレート制御部の構成＞
本実施形態にかかるデータレート制御部３００の構成を説明する前に、図３に基づいて、ＣＭＯＳイメージャが出力する画像データの二次元画素イメージについて説明する。ＣＭＯＳイメージャが出力する画像データは、図３に示すように、黒検波のためのオプティカルブラック（ＯＰＢ）領域２００と、有効領域２０５と、不問領域とからなる。不問領域は、有効領域２０５の上下左右を包囲する左不問領域２０１、上不問領域２０２、右不問領域２０３および下不問領域２０４とからなる。通常、記録領域となる有効領域２０５は、上下左右端から数画素程度であるが、余裕を持たせて設定されている。本実施形態にかかるデジタルスチルカメラ１００のＣＭＯＳイメージャは、ＯＰＢ領域２００の左上端より右方向へスキャンし、最終ラインの下不問領域２０４まで、１ラインごとに画像データを出力する。
【００３９】
次に、図４に基づいて、本実施形態にかかるデータレート制御部３００の構成について説明する。データレート制御部３００は、ラインバッファ制御を行う情報処理装置である。データレート制御部３００は、図４に示すように、ラインバッファ部３１０と、書き込みイネーブル生成部３２０と、設定値記憶部３３０と、加算部３４０と、読み出しイネーブル生成部３５０とからなる。
【００４０】
ラインバッファ部３１０は、ライン単位で画像データを一時記憶するバッファである。本実施形態にかかるラインバッファ部３１０は、２ライン分の画像データを保持可能なように、２つのバッファ（第１バッファ３１２、第２バッファ３１４）から構成される。ラインバッファ部３１０は、書き込みイネーブル生成部３２０から出力された書き込みイネーブル信号に基づいて一時記憶する画像データを記憶する。また、ラインバッファ部３１０は、読み出しイネーブル生成部３５０から出力された読み出しイネーブル信号に基づいて画像データをＢＵＳ  Ｉ／Ｆ３０４へ出力する。
【００４１】
書き込みイネーブル生成部３２０は、書き込みイネーブル信号を生成し、ラインバッファ部３１０に対して書き込みイネーブル信号を出力する機能部である。書き込みイネーブル信号は、フロントエンド部１４０から入力される画像データをラインバッファ部３１０に対して書き込むタイミングを示している。
【００４２】
設定値記憶部３３０は、ラインバッファ部３１０からの画像データの読み出し頻度を決定する読み出し頻度設定値を記憶する。読み出し頻度設定値は、マイコン部３０２から制御レジスタとしてマッピングされている。読み出し頻度設定値は、例えば０〜１の間の値に設定される。また、設定値記憶部３３０は、デジタルスチルカメラ１００の撮像モードごとに読み出し頻度設定値を関連付けて記憶することもできる。
【００４３】
加算部３４０は、クロックサイクルごとに設定値記憶部３３０を参照して読み出し頻度設定値を取得し、読み出し頻度設定値を加算する処理を行う。加算部３４０は、読み出し頻度設定値の加算値を読み出しイネーブル生成部３５０へ出力する。
【００４４】
読み出しイネーブル生成部３５０は、読み出しイネーブル信号を生成し、ラインバッファ部３１０に対して読み出しイネーブル信号を出力する機能部である。読み出しイネーブル生成部３５０は、加算部３４０から入力された読み出し頻度設定値の加算値が桁上がりをしたかを判定し、加算値が桁上がりをしたときに読み出しイネーブル信号をラインバッファ部３１０へ出力する。例えば、読み出し頻度設定値が０〜１の間の値に設定された場合には、加算値が１以上であるか否かを判定し、加算値が１以上となったときに読み出しイネーブル信号をラインバッファ部３１０へ出力する。
【００４５】
以上、本実施形態にかかるデータレート制御部３００の構成について説明した。次に、図５〜図１０に基づいて、データレート制御部３００によるラインバッファ制御について説明する。まず、図５および図６に基づいて、本実施形態にかかるラインバッファ部３１０への画像データの書き込みおよび読み出しのタイミングについて説明する。なお、図５は、本実施形態にかかるラインバッファ部３１０への画像データの書き込みおよび読み出しのタイミングを説明する説明図である。図６は、画像データの構成を示す説明図である。
【００４６】
ラインバッファ部３１０への画像データの書き込み処理は、図５に示すように、垂直同期信号の出力によって開始される。垂直同期信号は、フレームの先頭でアクティブになる信号である。図３の画像データの有効領域２０５は、図６に示すように、赤画素（Ｒ）と緑画素（Ｇｒ）とが水平方向に交互に配列されたＲ−Ｇｒラインと、緑画素（Ｇｒ）と青画素（Ｂ）とが水平方向に交互に配列されたＧｒ−Ｂライン（符号２０２、２０４）とから構成される。Ｒ−Ｇｒライン（符号２０１、２０３）とＧｒ−Ｂラインとは垂直方向に交互に配列されている。上述したように、ＣＭＯＳイメージャは、ＯＰＢ領域２００の左上端より右方向へスキャンし、最終ラインの下不問領域２０４まで、１ラインごとに画像データを出力する。したがって、垂直同期信号が出力されると、図５に示すように、まず、ラインバッファ部３１０にＲ−Ｇｒライン２０１がラインバッファ部３１０のうち例えば第１バッファ３１２に入力される。
【００４７】
垂直同期信号の出力により画像データを構成する先頭ラインの出力が開始されると、水平同期信号の出力に基づいて、垂直方向に配列されたＧｒ−ＢラインおよびＲ−Ｇｒラインがラインバッファ部３１０に入力される。水平同期信号はラインの先頭でアクティブとなる信号である。ＣＭＯＳイメージャから入力された各ラインのデータは、第１バッファ３１２と第２バッファ３１４とに交互に入力される。ラインバッファ部３１０への画像データの入力は、ＣＭＯＳイメージャなどの撮像素子のデータレートで高速に行われる。
【００４８】
一方、ラインバッファ部３１０に入力された画像データは、後述する読み出しイネーブル信号の出力に基づいて画像拡張回路３６０へ出力される。ラインバッファ部３１０の２つのバッファに格納されたラインデータは、第１バッファ３１２、第２バッファ３１４、第１バッファ３１２・・・のように、交互に画像拡張回路３６０へ出力される。図５の例では、水平同期信号がアクティブとなったタイミングでラインバッファ部３１０からラインデータが出力されている。
【００４９】
本実施形態にかかるデータレート制御部３００は、ラインバッファ部３１０に高速に書き込まれたラインデータがデータバス１５８に高速に出力されることがないように、ラインデータの出力を調整するものである。図５の例では、ラインバッファ部３１０へのラインデータの書き込み処理は高速に行われるので短時間でラインデータがラインバッファ部３１０へ書き込まれる。一方、ラインバッファ部３１０からのラインデータの読み出し処理は、データバス１５８に急激にデータが出力しないように、水平同期信号の出力周期の時間を用いて少しずつデータを出力する。
【００５０】
以下、図７〜図１０に基づいて、画像データの書き込み処理および読み出し処理について詳細に説明する。なお、図７は、本実施形態にかかるデータレート制御部３００による画像データの書き込み処理を示すフローチャートである。図８は、本実施形態にかかるデータレート制御部３００による画像データの読み出し処理を示すフローチャートである。図９は、画像データの読み出しのタイミングを説明する説明図である。図１０は、データバスの帯域使用量を説明するための説明図である。
【００５１】
＜画像データの書き込み処理＞
まず、図７に基づいて、ラインバッファ部３１０への画像データの書き込み処理について説明する。なお、図７では、出力フラグＷＥＮが０のときには書き込みイネーブル信号は出力されず、出力フラグＷＥＮが１のときに書き込みイネーブル信号が出力されるとする。
【００５２】
本実施形態にかかるラインバッファ部３１０への画像データの書き込み処理の開始時は、図７に示すように、出力フラグＷＥＮは０となっている（ステップＳ１１０）。まず、垂直同期信号が出力されたか否かを判定する（ステップＳ１２０）。垂直同期信号が出力されるまでは出力フラグＷＥＮは０のままであり、垂直同期信号が出力されるまで待機する。そして、垂直同期信号が出力されると、出力フラグＷＥＮは１となる（ステップＳ１３０）。これにより、ラインバッファ部３１０への画像データの各ラインのデータの書き込みが開始される。
【００５３】
次いで、１つめのラインデータ（例えば、図６ではＲ−Ｇｒライン２０１）のラインバッファ部３１０の第１バッファ３１２への書き込みが終了したか否かを判定する（ステップＳ１４０）。ステップＳ１４０にて１つめのラインデータの書き込みが終了していないと判定されたときは、ステップＳ１３０へ戻り、書き込み処理を継続する。一方、ステップＳ１４０にて１つめのラインデータの書き込みが終了したと判定した場合には、出力フラグＷＥＮを０にする（ステップＳ１５０）。
【００５４】
さらに、画像データの全ラインのデータがラインバッファ部３１０へ書き込まれたか否かを判定する（ステップＳ１６０）。ステップＳ１６０にて全ラインのデータがラインバッファ部３１０へ書き込まれたと判定した場合には、ステップＳ１１０へ戻り、垂直同期信号が出力される、すなわち画像データが新たに入力されるまで待機する。一方、ステップＳ１６０にて全ラインのデータがラインバッファ部３１０へ書き込まれていないと判定した場合には、水平同期信号が出力されたか否かを判定する（ステップＳ１７０）。ステップＳ１７０にて水平同期信号が出力されていないと判定された場合には、ステップＳ１５０へ戻り、水平同期信号が出力されるまで次のラインデータのラインバッファ部３１０への書き込みを待機する。
【００５５】
一方、ステップＳ１７０にて水平同期信号が出力されたと判定された場合には、画像データの書き込み処理を終了する指示がないか否かを確認する（ステップＳ１８０）。そして、画像データの書き込み処理を継続する場合には、ステップＳ１３０へ戻り、出力フラグＷＥＮを１にして、２つめのラインデータ（例えば、図６ではＧｒ−Ｂライン２０２）をラインバッファ部３１０の第２バッファ３１４へ書き込む。このように、画像データの全ラインのデータ書き込みが終了するまで、画像データの各ラインデータをラインバッファ部３１０の２つのバッファへ水平同期信号の出力タイミングで交互に書き込む。なお、ステップＳ１８０にて画像データの書き込み処理を終了する指示があった場合には、当該書き込み処理を終了する。
【００５６】
＜画像データの読み出し処理＞
次に、図８に基づいて、ラインバッファ部３１０への画像データの読み出し処理について説明する。なお、図８では、出力フラグＲＥＮが０のときには読み出しイネーブル信号は出力されず、出力フラグＲＥＮが１のときに読み出しイネーブル信号が出力されるとする。
【００５７】
本実施形態にかかるラインバッファ部３１０への画像データの読み出し処理の開始時は、図７に示すように、出力フラグＲＥＮは０となっている（ステップＳ２１０）。まず、水平同期信号が出力されたか否かを判定する（ステップＳ２２０）。水平同期信号が出力されるまでは出力フラグＲＥＮは０のままであり、水平同期信号が出力されるまで待機する。そして、水平同期信号が出力されると、出力フラグＲＥＮは１となる（ステップＳ２３０）。これにより、ラインバッファ部３１０から画像データの各ラインのデータの読み出しが開始される。
【００５８】
次いで、水平同期信号が出力されると、読み出し頻度設定値の加算処理を行う（ステップＳ２３０）。読み出しイネーブル信号は、読み出し頻度設定値によって出力タイミングが決定される。ステップＳ２３０では、加算部３４０が設定値記憶部３３０から読み出し頻度設定値を読み出し、毎クロックサイクル、読み出し頻度設定値を加算する処理を行う。加算部３４０は、読み出し頻度設定値の加算値を読み出しイネーブル生成部３５０へ出力する。
【００５９】
さらに、読み出しイネーブル生成部３５０は、加算部３４０から入力された読み出し頻度設定値の加算値について、その加算値が１以上であるか否かを判定する（ステップＳ２４０）。読み出し頻度設定値は、上述したように、０〜１の間の値に設定される。したがって、加算部３４０により読み出し頻度設定値の加算を繰り返すと、あるタイミングで加算値が桁上がりして１以上となる。ステップＳ２４０では、加算値が桁上がりしたか否かを判定し、桁上がりが生じていない場合には、出力フラグＲＥＮは０のままとし（ステップＳ２５０）、ステップＳ２３０へ戻って読み出し頻度設定値の加算を繰り返す。
【００６０】
一方、ステップＳ２４０にて加算値に桁上がりが生じたと判定された場合には、出力フラグＲＥＮを１とする（ステップＳ２６０）。これにより、読み出しイネーブル生成部３５０から読み出しイネーブル信号がラインバッファ部３１０へ出力される。ラインバッファ部３１０は、読み出しイネーブル信号の入力を受けると、２つのバッファのうち、先に書き込まれたラインデータを画像拡張回路３６０へ出力する。また、加算部３４０は、加算値が１以上となると、加算値から１を減じた値を新たな加算値とする。
【００６１】
ここで、図９に読み出し処理の一例を示す。この例において、読み出し頻度設定値は０．２に設定されている。加算部３４０は、毎クロックサイクル（ＣＬＫ）の出力タイミングで読み出し頻度設定値を加算する。そして、加算値が１．０となり桁上がりを生ずると、次のクロックサイクルにおいて読み出しイネーブル信号の出力を指示する出力フラグＲＥＮが１となる。これにより、ラインバッファ部３１０から一のラインデータの出力が開始される。また、桁上がりを生じた加算値は、当該加算値から１を減じた値（本例では０）が新たな加算値とされ、次のクロックサイクルではかかる加算値に読み出し頻度設定値が加算されていく。その後、再び加算値が桁上がりを生じたときに出力フラグＲＥＮが再び１となり、読み出しイネーブル信号が出力される。
【００６２】
図８に戻り、その後、１つめのラインデータ（例えば、図６ではＲ−Ｇｒライン２０１）がラインバッファ部３１０の一のバッファ（例えば、第１バッファ３１２）から読み出されたか否かを判定する（ステップＳ２７０）。ステップＳ２７０にて１つめのラインデータの読み出しが終了していないと判定されたときは、ステップＳ２３０へ戻り、書き込み処理を継続する。ステップＳ２３０にて毎クロックサイクル、読み出し頻度設定値を加算し、再び加算値が１以上となったときにラインデータが読み出される。
【００６３】
一方、ステップＳ２７０にて１つめのラインデータの読み出しが終了したと判定した場合には、読み出し処理を終了する指示があるか否かを確認する（ステップＳ２８０）。そして、画像データの書き込み読み出し処理を継続する場合には、ステップＳ２１０へ戻り、出力フラグＲＥＮを０にして、次の水平同期信号の出力までラインバッファ部３１０からの読み出し処理を待機する。次の水平同期信号が出力されると、読み出し頻度設定値の加算を開始し、加算値が１以上となったときに２つめのラインデータ（例えば、図６ではＧｒ−Ｂライン２０２）の読み出しを行う。なお、ステップＳ２８０にて画像データの読み出し処理を終了する指示があった場合には、当該読み出し処理を終了する。
【００６４】
以上、本実施形態にかかるデータレート制御部３００によるラインバッファ制御について説明した。本実施形態にかかるデータレート制御部３００によるラインバッファ制御によれば、ラインデータの書き込み処理は、撮像素子のデータレートにしたがって高速に行われる一方、ラインデータの読み出し処理は、読み出し頻度設定値にしたがって低速に行われる。すなわち、ラインデータの読み出しは、撮像素子のデータレートに依存することなく、読み出し頻度設定値によって制御することが可能となる。
【００６５】
本実施形態にかかるラインバッファ制御が行われない場合には、図１０の左図に示すように、ラインデータの読み出し処理も撮像素子のデータレートにしたがって高速に行われるため、瞬間的にデータバスの帯域使用量が増加する。これに対して、本実施形態に掛かるラインバッファ制御を行うことにより、ラインバッファ部３１０からのラインデータの読み出しが低速に行われるので、図１０の右図に示すように、瞬間的なデータバスの帯域使用量を削減することができる。これにより、空いたデータバス帯域は、他の画像処理ブロックやマイコン部により使用することができるので、処理効率を上昇させることができる。また、瞬間的なデータバスの帯域使用量の削減は、カメラシステムＬＳＩ１５０内部の消費電力のピーク値を削減し、電源供給の観点からも安定した動作を実現することができる。さらに、このようなラインバッファ制御は、読み出し頻度設定値を決定することだけでデータレートを制御することができるので、非常に簡単な回路とソフトウェアアプリケーションの実装で実現することができる。
【００６６】
＜撮像モードによる読み出し頻度設定値の設定＞
ここで、ラインバッファ部３１０からの読み出し処理の速度を決定する読み出し頻度設定値は、撮像モードによってその値を変更することができる。デジタルスチルカメラ１００においては、撮像モードとして、例えば動画記録モードや静止画モニタリングモード、静止画像記録モードなどがある。撮像モードが異なることによって撮像素子が出力する１ラインの画素数や水平周期も異なる。このため、撮像素子の読み出しレート（１ラインの出力画素数÷水平周期）も撮像モードによって相違する。本実施形態では、撮像素子の読み出しレートを、画像データのラインバッファ部３１０への書き込みレートよりも大きくなる範囲内で決定することができる。書き込みレートが読み出しレートよりも大きくなると、読み出し能力が不足することにより、データの読み出しが終了しないうちに次のラインのデータが上書きされてしまうためである。
【００６７】
例えば、下記表１に示すように、各撮像モードに対して読み出し頻度設定値を設定することができる。なお、静止画モニタリングモードは、静止画記録前のフレーミング動作時を示す。なお、撮像素子の読み出しレートは、１ｐｉｘｓｅｌ＝１６ｂｉｔと仮定して算出した。
【００６８】
【表１】
2010141687.tif 000003
【００６９】
表１に示すように、静止画記録モードのように撮像素子が出力する１ラインの読み出しレートが大きい場合には、読み出し頻度設定値は比較的大きい値に設定される。また、動画記録モードのように、静止画モニタリングモードよりも高速な処理が必要な場合には、読み出し頻度設定値は大きい値に設定される。このように、画像モードに応じて適切な読み出し設定値を設定することにより、その画像モードにおいて必要な量だけデータバス帯域を使用することができる。したがって、より効率的にデータバス帯域を使用することができ、空いたデータバス帯域を、他の画像処理ブロックやマイコン部により使用することができるなど有効に活用することができる。
【００７０】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【００７１】
例えば、上記実施形態では、デジタルスチルカメラにおけるラインバッファ制御について説明したが、本発明はかかる例に限定されない。かかるラインバッファ制御は、例えば、データを高速に読み出し可能な撮像素子を備える撮像装置等に適用することができる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施形態にかかるデジタルスチルカメラの概略構成を示すブロック図である。
【図２】同実施形態にかかるカメラシステムＬＳＩの構成を示すブロック図である。
【図３】ＣＭＯＳイメージャが出力する画像データの二次元画素イメージの例を示す説明図である。
【図４】同実施形態にかかるデータレート制御部の構成を示すブロック図である。
【図５】同実施形態にかかるラインバッファ部への画像データの書き込みおよび読み出しのタイミングを説明する説明図である。
【図６】画像データの構成を示す説明図である。
【図７】同実施形態にかかるデータレート制御部による画像データの書き込み処理を示すフローチャートである。
【図８】同実施形態にかかるデータレート制御部による画像データの読み出し処理を示すフローチャートである。
【図９】画像データの読み出しのタイミングを説明する説明図である。
【図１０】データバスの帯域使用量を説明するための説明図である。
【符号の説明】
【００７３】
１００    デジタルスチルカメラ
１１０    レンズ部
１２０    画像センサ
１３０    タイミング発生器（ＴＧ）
１４０    フロントエンド部
１５０    カメラシステムＬＳＩ
１５１    画像検波部
１５２    メモリインタフェース部
１５３    カメラ信号処理部
１５４    メモリコントローラ
１５５    マイコンインタフェース部
１５６    画像圧縮解凍部
１５７    モニタインタフェース部
１５８    データバス
１６０、３０２  マイコン部
１７０    画像メモリ
１８０    外部記憶媒体
１９０    画像モニタ
３００    データレート制御部
３１０    ラインバッファ部
３２０    書き込みイネーブル生成部
３３０    設定値記憶部
３４０    加算部
３５０    読み出しイネーブル生成部
【図１】
2010141687.tif 000004
【図２】
2010141687.tif 000005
【図３】
2010141687.tif 000006
【図４】
2010141687.tif 000007
【図５】
2010141687.tif 000008
【図６】
2010141687.tif 000009
【図７】
2010141687.tif 000010
【図８】
2010141687.tif 000011
【図９】
2010141687.tif 000012
【図１０】
2010141687.tif 000013