(57)【要約】【課題】フレームバッファへの書込みと読出しが並列に行われる画像処理装置において、フレーム間で読出開始位置が異なっても、画像処理後のフレームの出力レートを一定に保つ。【解決手段】書込部１２０はフレーム毎に該フレームに含まれる複数の画像データを所定の順序でフレームバッファ１３０に書き込む。読出部１４０は、フレーム毎に、第１の順位から第２の順位までに書込部１２０が書き込んだ複数の画像データを読み出す。第１の順位は、画像処理部１５０が当該フレームに対して行う画像処理によって異なりうる。読出部１４０は、各フレームに対して、該フレームの先頭の画像データの書込みの開始から所定の時間が経過した時点で読出しを開始する。この所定の時間は、フレームの先頭の画素の書込みの開始から、最も後の第１の順位に対応する画素のデータの書込みの完了まで以上の時間である。【選択図】図１
2012231277.tif 000002
【特許請求の範囲】
【請求項１】
フレームバッファと、
フレーム毎に該フレームに含まれる複数の画像データを所定の順序で前記フレームバッファに順次書き込む書込部と、
フレーム毎に、前記所定の順序における第１の順位から、該第１の順位より後の第２の順位までに前記書込部が書き込んだ複数の画像データを、前記フレームバッファから順次読み出す読出部と、
フレーム毎に前記読出部が読み出した前記複数の画像データに対して画像処理を行う画像処理部であって、前記画像処理を施す前記複数の画像データに対応する前記第１の順位がフレーム間で異なりうる前記画像処理部とを有し、
前記読出部は、各フレームに対して、該フレームの先頭の画像データの書込みの開始から所定の時間が経過した時点で読出しを開始し、
前記所定の時間は、前記フレームの先頭の画像データの書込みの開始から、フレーム毎に前記画像処理の所要する前記複数の画像データに対応する前記第１の順位のうちの最も後の第１の順位の画像データの書込みの完了まで以上の時間であることを特徴とする画像処理装置。
【請求項２】
前記読出部は、該読出部による読出しが、前記書込部による書込みを追い越さないように制御を行う制御部を備えることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記書込部は、
前記フレームバッファよりサイズが小さい書込バッファを備え、
該書込部による次フレームの書込みを続行すると該書込みが前記読出部による現フレームの読出しを追い越す場合に、前記フレームバッファに書き込むデータを前記書込みバッファに一時的に格納することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記書込部は、前記書込バッファに格納されたデータの量が所定の閾値になったときにアラームを出力することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記読出部または前記書込部は、該書込部による次フレームの書込みが前記読出部による現フレームの読出しを追い越したときに、アラームを出力することを特徴とする請求項１または２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理、特に画像メモリに対する画像データの書込みと読出しの制御に関する。
【背景技術】
【０００２】
デジタルカメラやスキャナなどの画像処理装置において、画像処理前の画像データを格納するメモリ（画像メモリやバッファメモリ）に対する書込みと読出しが並列に行われるため、メモリアクセス制御について、様々な視点からの技術が提案されている（特許文献１〜４）。
【０００３】
例えば、特許文献１には、メモリへ書き込んだ画像データの単位数と、メモリから読み出した画像データの単位数を、書込カウンタと読出カウンタで夫々カウントし、書込カウンタと読出カウンタのカウント値の差分が所定の範囲に無いときにアラームを出力する技術が開示されている。
【０００４】
この技術は、メモリへの書込みが読出しを追い越す可能性が出たときにアラームを出力することにより、書込みが読出しを追い越すことを防ぐものである。
【０００５】
また、特許文献２には、メモリへの書込みと読出しのアドレスが常に一定間隔離れるように制御する技術が開示されている。
【０００６】
この技術は、例えば、メモリに格納されたデータに対して分割処理を行う際に、メモリへの書込みがアドレス順に連続的に行われる一方、メモリへの読出しがアドレス順では非連続的に行われる場合にも、書込みと読出し間の追い越しが無いように制御できるとされている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１１７１３５号公報
【特許文献２】特開２０１０−１７６３９３号公報
【特許文献３】特許第４３９８４９９号公報
【特許文献４】特開２００３−３２３３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
動画撮像機能を備えたデジタルカメラにおいて、撮像部が撮像によって取得した動画像のデータをフレーム毎にメモリ（フレームバッファ）に書き込み、画像処理部がフレームバッファに格納されたデータを読み出し、必要に応じて画像処理を施してから出力する。画像処理部が行う画像処理は、デジタルズームを実現するための拡大／縮小処理や、手ぶれ補正処理や、これらの処理の組合せなどがある。
【０００９】
このようなデジタルカメラにおいても、フレームバッファへの書込みと、フレームバッファからの読出しが並列に行われる。
【００１０】
通常、フレームバッファへのデータの書込みは、同一の水平ラインにおいては左から右、水平ラインについては上から下となる画素の配列順で行われる。すなわち、各フレームについて、該フレームの左上端の画素のデータから右下端の画素のデータまでの順で、書込みが行われる。
【００１１】
一方、フレームバッファからデータを読み出す際に、画像処理の種類によっては、読出しを開始する画素の位置（以下単に「読出開始位置」ともいう）がフレーム間で異なる可能性がある。例えば、デジタルズーム機能は、フレームの中心部の一部分のデータを読み出して拡大することにより実現されるが、ズームの倍率によって、この一部分のデータの範囲が異なるため、互いに異なるズーム倍率が指定されたフレーム間で、読出開始位置が異なる。
【００１２】
このようなデジタルカメラに特許文献１と特許文献２に開示された技術を適用した場合、フレームバッファへの書込みと読出し間の追い出しを防ぐことができる。しかし、読出し開始位置が異なるフレーム間では、読出しの開始時間も異なるため、画像処理後のフレームの出力レートがばらついてしまうという問題がある。
【課題を解決するための手段】
【００１３】
本発明の１つの態様は、画像処理装置である。この画像処理装置は、フレームバッファと、書込部と、読出部と、画像処理部とを備える。
【００１４】
書込部は、フレーム毎に、該フレームに含まれる複数の画像データを所定の順序でフレームバッファに順次書き込む。
【００１５】
読出部は、フレーム毎に、上記所定の順序における第１の順位から、該第１の順位より後の第２の順位までに書込部が書き込んだ複数の画像データを、フレームバッファから順次読み出す。
【００１６】
画像処理部は、フレーム毎に、読出部が読み出した複数の画像データに対して画像処理を行う。画像処理部が行う画像処理の所要する複数の画像データに対応する第１の順位がフレーム間で異なりうる。
【００１７】
読出部は、各フレームに対して、該フレームの先頭の画像データの書込みの開始から所定の時間が経過した時点で読出しを開始する。この所定の時間は、フレームの先頭の画像データの書込みの開始から、フレーム毎に画像処理の所要する複数の画像データに対応する第１の順位のうちの最も後の第１の順位の画像データの書込みの完了まで以上の時間である。
【００１８】
なお、上記態様の装置を方法やシステムに置き換えて表現したものなども、本発明の態様としては、有効である。
【発明の効果】
【００１９】
本発明にかかる技術によれば、フレームバッファへの書込みと読出しを並列に行う画像処理装置において、フレーム間で読出開始位置が異なった場合に、フレームバッファへ書き込まれるフレームのフレームレートが一定であれば、画像処理後のフレームの出力レートを一定に保つことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態にかかるデジタルカメラを示す図である。
【図２】フレームに対して施す画像処理によって読出開始位置が異なることを説明するための図である。
【図３】図１に示すデジタルカメラによる処理のタイミングチャートの一例を示す図である。
【図４】本発明の第２の実施の形態にかかるデジタルカメラを示す図である。
【図５】図４に示すデジタルカメラによる処理のタイミングチャートの一例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェアとソフトウェア（プログラム）の組合せによっていろいろな形で実現できることは当業者には理解されるところであり、ハードウェアとソフトウェアのいずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【００２２】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（ｔａｎｇｉｂｌｅ  ｓｔｏｒａｇｅ  ｍｅｄｉｕｍ）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（ｔｒａｎｓｉｔｏｒｙ  ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００２３】
＜第１の実施の形態＞
図１は、本発明の画像処理装置の第１の実施の形態にかかるデジタルカメラ１００を示す図である。デジタルカメラ１００は、動画撮像機能を有するものであり、撮像部１１０、書込部１２０、フレームバッファ１３０、読出部１４０、画像処理部１５０を備える。
【００２４】
撮像部１１０は、撮像して得た各フレーム（フレームＦｉｎ）を順次書込部１２０に出力する。書込部１２０は、撮像部１１０からのフレームＦｉｎ内の各画素のデータＤＷを、画素の配列順でフレームバッファ１３０に順次書き込む。なお、撮像部１１０から書込部１２０へ出力するフレームレートが一定であり、書込部１２０による書込みの速度も一定である。
【００２５】
フレームバッファ１３０は、フレームＦｉｎの１枚分の容量を有するバッファメモリである。書込部１２０は、１つのフレームについて書込データＤＷを書き込む際に、フレームバッファ１３０におけるアドレス順で書込データＤＷを格納する。１つのフレームの書込みが完了すると、次のフレームについて画素の配列順で書込データＤＷを書込む。
【００２６】
すなわち、フレームバッファ１３０内におけるアドレスと、フレームにおける画素の位置とは、１対１で対応し、フレームにおける画素の配置順と、フレームバッファ１３０のアドレス順とは、同様である。
【００２７】
また、書込部１２０は、各フレームについて、フレームバッファ１３０への該フレームの書込みの開始と共に、書込開始信号ＳＷを読出部１４０に出力する。より詳細には、書込部１２０は、フレームの左上端の画素のデータを書き込むときに、書込開始信号ＳＷを読出部１４０に出力する。
【００２８】
読出部１４０は、フレームバッファ１３０に格納されたフレームＦｉｎの各画素のデータのうち、書込部１２０による書込順における第１の順位から第２の順位までの画素のデータを読み出して画像処理部１５０に出力する。この第１の順位と第２の順位は、フレームによって異なる可能性があり、画像処理部１５０からの後述する指示信号ＣＴＲにより指示される。なお、読出部１４０により読み出されたデータを読出データＤＲと表記する。
【００２９】
画像処理部１５０は、フレーム毎に、該フレームについて読出部１４０から供される読出データＤＲを用いて画像処理を行い、処理後の該フレーム（フレームＦｏｕｔ）を出力する。画像処理部１５０により出力されたフレームＦｏｕｔは、例えば図示しない液晶モニタなどの表示装置に表示される。なお、画像処理部１５０が出力する各フレームＦｏｕｔのサイズは、一定である。
【００３０】
また、画像処理部１５０は、読出部１４０に指示信号ＣＴＲを出力する。指示信号ＣＴＲは、読出部１４０が次に読み出すフレームについて、読出しを開始する画素位置（読出開始位置）と、読出しを終了する画素位置（読出終了位置）を示す信号である。前述の通り、フレームバッファ１３０において、アドレス順と、画素の配列順とが同一であるため、この読出開始位置と読出終了位置は、読出開始アドレス（第１のアドレス）と読出終了アドレス（第２のアドレス）と夫々等価である。また、書込部１２０が画素の配置順で書込みをするので、この読出開始位置と読出終了位置は、該フレームについて、書込部１２０による書込順における、読出しを開始する順位（第１の順位）と読出を終了する順位（第２の順位）と夫々等価である。
【００３１】
本実施の形態のデジタルカメラ１００において、読出部１４０は、夫々のフレームについて、画像処理部１５０からの指示信号ＣＴＲが示す読出開始位置から読出終了位置までのデータを読み出すが、各フレームについて、書込部１２０から書込開始信号ＳＷを受信してから所定の時間を経過時点で読出しを開始する。この所定の時間は、書込部１２０がフレームの先頭の画素の書込みを開始してから、画像処理部１５０が行い得る全ての画像処理に夫々対応する上記第１の順位のうち最も後の第１の順位の画素のデータの書込みが完了するまで以上の時間である。
【００３２】
ここで、デジタルカメラ１００が、２つの異なるズーム倍率（例えば２倍、４倍）に対応可能なデジタルズーム機能を有する場合を例にする。すなわち、画像処理部１５０は、上記２つのズーム倍率に夫々対応した拡大率で拡大処理が可能である。
【００３３】
図２を参照して、ズーム倍率毎に、フレームバッファ１３０から読み出すデータ（読出データＤＲ）を説明する。分かりやすいように、撮像部１１０が得た各フレームＦｉｎのサイズ（以下「入力サイズ」という）と、画像処理部１５０が出力する各フレームＦｏｕｔのサイズ（以下「出力サイズ」という）とが同一である場合を例にする。なお、図２において、斜線部分は、当該フレームＦｉｎにおける読出データＤＲの部分を示す。
【００３４】
＜ズーム倍率：縦横共に１倍＞
この場合、画像処理部１５０が当該フレームについて読出部１４０に出力する指示信号ＣＴＲは、読出開始位置ＳＰ１と読出終了位置ＥＰ１を示す。読出開始位置ＳＰ１は、フレームの左上端の画素を意味し、読出終了位置ＥＰ１は、フレームの右下端の画素を意味する。
【００３５】
読出部１４０は、フレームバッファ１３０から該フレームの左上端の画素から右下端の画素までの全ての画素のデータを読み出して画像処理部１５０に供する。また、画像処理部１５０は、読出部１４０から供される該フレームのデータを拡大せずにそのまま出力する。この場合、画像処理部１５０から出力されたフレームＦｏｕｔと、書込部１２０がフレームバッファ１３０に書き込まれた相対応のフレームＦｉｎと同じである。
【００３６】
＜ズーム倍率：縦横共に２倍＞
この場合、画像処理部１５０が当該フレームについて読出部１４０に出力する指示信号ＣＴＲは、読出開始位置ＳＰ２と読出終了位置ＥＰ２を示す。読出開始位置ＳＰ２から読出終了位置ＥＰ２までの画素はフレームＦｉｎの中央部分の画素であり、水平方向の画素数はフレームＦｉｎの水平方向の画素数の１／２であり、垂直方向の画素数はフレームＦｉｎの垂直方向の画素数の１／２である。
【００３７】
読出部１４０は、該フレームについて、フレームバッファ１３０から読出開始位置ＳＰ２から読出終了位置ＥＰ２までの画素のデータを読み出して画像処理部１５０に供する。画像処理部１５０は、読出部１４０から供される該フレームのデータを縦横共に２倍に拡大して出力する。この場合、画像処理部１５０から出力されたフレームＦｏｕｔと、書込部１２０がフレームバッファ１３０に書き込まれた相対応のフレームＦｉｎとは、画素値が異なり、サイズが同様である。
【００３８】
＜ズーム倍率：縦横共に４倍＞
この場合、画像処理部１５０が当該フレームについて読出部１４０に出力する指示信号ＣＴＲは、読出開始位置ＳＰ３と読出終了位置ＥＰ３を示す。読出開始位置ＳＰ３から読出終了位置ＥＰ３までの画素はフレームＦｉｎの中央部分の画素であり、水平方向の画素数はフレームＦｉｎの水平方向の画素数の１／４であり、垂直方向の画素数はフレームＦｉｎの垂直方向の画素数の１／４である。
【００３９】
読出部１４０は、該フレームについて、フレームバッファ１３０から読出開始位置ＳＰ３から読出終了位置ＥＰ３までの画素のデータを読み出して画像処理部１５０に供する。画像処理部１５０は、読出部１４０から供される該フレームのデータを縦横共に４倍に拡大して出力する。この場合も、画像処理部１５０から出力されたフレームＦｏｕｔと、書込部１２０がフレームバッファ１３０に書き込まれた相対応のフレームＦｉｎとは、画素値が異なり、サイズが同様である。
【００４０】
図２から分かるように、画像処理部１５０がフレームに対して行う画像処理（ここではズーム倍率）によって、該フレームの読出開始位置が異なる。そのため、画像処理部１５０が行う画像処理によって、書込部１２０による該フレームの先頭の画素の書込みの開始から、読出部１４０が読出しを開始する画素（読出開始位置の画素）の書込みの完了までの時間も異なる。図２に示す例の場合には、ズーム倍率が４倍に対応する拡大処理が行われるフレームについて、先頭の画素の書込み開始から、読出開始位置の画素の書込み完了までの時間が最も長い。以下の説明において、フレームの先頭画素の書込み開始から、該フレームの読出開始位置の画素の書込み完了までの時間を「第１の時間」という。
【００４１】
図２に示す例において、ズーム倍率が１倍、２倍、４倍である場合の第１の時間を夫々ＴＡ、ＴＢ、ＴＣとすると、ＴＢはＴＣより短く、ＴＡは、さらに、ＴＢより短い。
【００４２】
本実施の形態のデジタルカメラ１００において、読出部１４０は、各フレームについて、書込部１２０から書込開始信号ＳＷを受信してから、同様の所定の時間が経過した時点で読出しを開始する。この所定の時間は、画像処理部１５０が行い得る全ての画像処理に夫々対応する第１の時間のうちの最も長い第１の時間Ｔである。図２に示す例の場合、ズーム倍率が４倍である場合の第１の時間ＴＣは、この最も長い第１の時間Ｔに該当する。
【００４３】
なお、「画像処理部１５０が行い得る全ての画像処理」は、デジタルカメラ１００の機能スペックとして対応可能な全ての画像処理であってもよいが、現在に処理しようとする連続した複数のフレームに対して行い得る全ての画像処理であってもよい。前者の場合においては、第１の時間Ｔは、定数として設定可能である。一方、後者の場合においては、現在に処理しようとする対象の上記複数のフレームによって異なる可能性があり、この場合は、例えば、ユーザにより現在に処理しようとする連続した複数のフレームに対して第１の時間Ｔを設定すればよい。勿論、第１の時間Ｔを直接設定する代わりに、読出部１４０が第１の時間Ｔを推定可能とする情報をユーザが設定し、読出部１４０がこの情報に基づいて第１の時間Ｔを推定するようにしてもよい。
【００４４】
例えば、デジタルカメラ１００の機能スペックとしては、４倍のデジタルズームまで対応可能であるが、現在に処理しようとする連続した複数のフレームに対して、最大２倍のズーム倍率まで行わせる場合に、ユーザがこの最大のズーム倍率として「２倍」を設定し、読出部１４０が「２倍」の倍率に応じた読出開始位置乃至第１の時間Ｔを推定するようにすればよい。
【００４５】
すなわち、本実施の形態のデジタルカメラ１００において、フレームの読出開始位置に対応する画素がフレームバッファ１３０に書き込まれても、該フレームの先頭の画素の書込みの開始から上記時間Ｔが経過していなければ、読出部１４０は、該フレームについての読出しを開始しない。
【００４６】
読出部１４０は、例えば時間をカウントするカウンタを有する。このカウンタは、書込部１２０から書込開始信号ＳＷを受信するとカウントを開始する。該カウンタのカウント値が時間Ｔになると、読出部１４０はフレームバッファ１３０から該フレームの読出開始位置の画素の読出しを開始すると共に、カウンタのカウント値をクリアする。
【００４７】
上記において、分かりやすいように、フレームの入力サイズと出力サイズとが同一である場合を例に説明した。本発明にかかる技術は、フレームの入力サイズと出力サイズの大小関係に関わらず、入力サイズが出力サイズより大きい場合や、入力サイズが出力サイズより小さい場合などにも適用することができる。図３を参照して、入力サイズが出力サイズより大きい場合の一例を説明する。この例において、デジタルカメラ１００は、ズームアップするのときには、フレームＦｉｎの中央部分のデータを読み出して拡大処理をし、ズームダウンのときには、フレームＦｉｎの全てのデータを読み出して縮小処理を行う。また、デジタルズーム機能を動作させないとき（すなわちズーム倍率が縦横とも１倍であるとき）には、フレームＦｉｎの中央部分の出力サイズ分の画素を読み出してそのまま出力する。
【００４８】
図３は、デジタルカメラ１００による処理のタイミングチャートの一例を示す。該例では、画像処理部１５０は、同一のサイズのフレームＦｏｕｔを出力するが、フレームＦｏｕｔのサイズ（出力サイズ）は、フレームＦｉｎのサイズ（入力サイズ）より小さい。図３において、書込データＤＷ、読出データＤＲ、出力フレームＦｏｕｔについて、１マスの大きさが夫々異なるが、便宜上、１マスより同様のデータ量を表している。なお、１マスの横幅が長いということは、同量のデータをより長い時間で処理することを意味する。また、デジタルズーム処理の都合上、ＦｏｕｔとＤＲの画像サイズは一般に異なっているが、１フレームを処理する時間はＦｏｕｔとＤＲではほぼ変わらない。この点について、後の図面においても同様である。
【００４９】
この例では、画像処理部１５０は、フレームＦｉｎ（１）に対してズームダウン処理を行い、フレームＦｉｎ（１）の読出開始位置と読出終了位置はＳＰ１とＥＰ１である。また、画像処理部１５０は、フレームＦｉｎ（２）に対してズームアップ処理を行い、フレームＦｉｎ（２）の読出開始位置と読出終了位置はＳＰ２とＥＰ２である。また、画像処理部１５０は、フレームＦｉｎ（３）に対して拡大、縮小のいずれもせず、フレームＦｉｎ（３）の読出開始位置と読出終了位置はＳＰ３とＥＰ３である。
【００５０】
また、読出部１４０に対して、書込部１２０による１つのフレームの先頭の画素の書込み開始から、該フレームの半分の画素の書込みが完了するまでの時間は、所定の時間「Ｔ」として設定されている。
【００５１】
上述したように、デジタルズーム機能によりズームダウンを実現するために、フレームＦｉｎ全体を読み出して出力サイズに縮小する。また、デジタルズーム機能を実行させない場合（ズーム倍率：縦横共１倍）は、フレームＦｉｎの中央部分の、出力サイズ分のデータを読み出してそのまま出力する。デジタル機能によりズームアップを実現する場合には、フレームＦｉｎの中央部分の、ズーム倍率に応じたサイズのデータ（読出開始位置から読出終了位置までのデータ）を読み出して出力サイズに拡大する。ズームアップの倍率が大きいほど、読出開始位置が後になる。その一方、読出開始位置は、フレームＦｉｎの中心の画素より後にはならない。
【００５２】
そのため、読出部１４０に対して設定された、書込部１２０による１つのフレームの先頭の画素の書込み開始から、該フレームの半分の画素の書込みが完了するまでの時間となる所定の時間「Ｔ」は、画像処理部１５０が行い得る全ての画像処理に夫々対応する第１の時間のうちの最も長い第１の時間以上である。
【００５３】
図３に示すように、タイミングｔ１において、書込部１２０は、フレームＦｉｎ（１）の先頭の画素の書込みを開始すると共に書込開始信号ＳＷを読出部１４０に出力する。そして、タイミングｔ２において、フレームＦｉｎ（１）の先頭の画素の書込みが完了する。すなわち、フレームＦｉｎ（１）の第１の時間Ｔ１は、「（ｔ２−ｔ１）」である。
【００５４】
読出部１４０は、フレームＦｉｎ（１）に対して読出開始位置ＳＰ１から読出終了位置ＥＰ１までの画素のデータを読み出して画像処理部１５０に供する。なお、読出開始位置ＳＰ１はフレームＦｉｎ（１）の先頭の画素を示し、読出終了位置ＥＰ（１）は、フレームＦｉｎ（１）の最後の画素を示す。読出部１４０は、具体的には、下記のように読出しを行う。
【００５５】
書込開始信号ＳＷを受信すると、読出部１４０における図示しないカウンタは、時間のカウントを開始する。タイミングｔ２において、フレームＦｉｎ（１）の先頭の画素の書込みが完了したため、読出部１４０は、該画素の読出しを開始することができる。しかし、タイミングｔ１からまだ時間Ｔが経過していないため、読出部１４０は、読出しを開始しない。
【００５６】
タイミングｔ３において、読出部１４０におけるカウンタのカウント値がＴになる。読出部１４０は、フレームＦｉｎ（１）の読出開始位置ＳＰ１の画素（先頭の画素）の読出しを開始すると共に、カウンタの値をクリアする。
【００５７】
その後、読出部１４０は、読出終了位置ＥＰ１の画素（フレームＦｉｎ（１）の末尾の画素）までフレームＦｉｎ（１）の各画素を順次読み出して画像処理部１５０に出力する。画像処理部１５０は、ズームダウン処理に当たり、読出部１４０が読み出した読出開始位置ＳＰ１から読出終了位置ＥＰ１までの画素により構成された画像に対して縮小処理を行い、フレームＦｉｎ（１）に対応するフレームＦｏｕｔ（１）を得て出力する。なお、フレームＦｏｕｔ（１）のサイズは、フレームＦｉｎ（１）のサイズ（入力サイズ）より小さい出力サイズである。
【００５８】
なお、読出部１４０によるフレームＦｉｎ（１）の読出し中に、タイミングｔ４において、書込部１２０は、次のフレーム（フレームＦｉｎ（２））の書込みを開始している。このとき、書込開始信号ＳＷを受信したため、読出部１４０におけるカウンタは、時間のカウントを開始する。
【００５９】
タイミングｔ５において、フレームＦｉｎ（２）の読出開始位置ＳＰ２の画素の書込みが完了する。すなわち、フレームＦｉｎ（２）の第１の時間Ｔ２は、「（ｔ５−ｔ４）」である。このとき、読出部１４０におけるカウンタのカウント値「（ｔ５−ｔ４）」が時間Ｔより短いため、読出部１４０は、フレームＦｉｎ（２）に対する読出しを開始しない。
【００６０】
タイミングｔ６において、読出部１４０におけるカウンタのカウント値がＴになる。読出部１４０は、フレームＦｉｎ（２）の読出開始位置ＳＰ２の画素の読出しを開始すると共に、カウンタの値をクリアする。
【００６１】
その後、読出部１４０は、読出終了位置ＥＰ２の画素までフレームＦｉｎ（２）の各画素を順次読み出して画像処理部１５０に出力する。画像処理部１５０は、ズームアップ処理に際し、読出部１４０が読み出した読出開始位置ＳＰ２から読出終了位置ＥＰ２までの画素により構成された画像に対して拡大処理を行い、フレームＦｉｎ（２）に対応するフレームＦｏｕｔ（２）を得て出力する。なお、フレームＦｏｕｔ（２）のサイズは、フレームＦｏｕｔ（１）のサイズと同一の出力サイズである。
【００６２】
読出部１４０によるフレームＦｉｎ（２）の読出し中に、タイミングｔ７において、書込部１２０は、次のフレーム（フレームＦｉｎ（３））の書込みを開始している。このとき、書込開始信号ＳＷを受信したため、読出部１４０におけるカウンタは、時間のカウントを開始する。
【００６３】
タイミングｔ８において、フレームＦｉｎ（３）の読出開始位置ＳＰ３の画素の書込みが完了する。すなわち、フレームＦｉｎ（３）の第１の時間Ｔ３は、「（ｔ８−ｔ７）」である。このとき、読出部１４０におけるカウンタのカウント値「（ｔ８−ｔ７）」が時間Ｔより短いため、読出部１４０は、フレームＦｉｎ（３）に対する読出しを開始しない。
【００６４】
タイミングｔ９において、読出部１４０におけるカウンタのカウント値がＴになる。読出部１４０は、フレームＦｉｎ（３）の読出開始位置ＳＰ３の画素の読出しを開始すると共に、カウンタの値をクリアする。
【００６５】
その後、読出部１４０は、読出終了位置ＥＰ３の画素までフレームＦｉｎ（３）の各画素を順次読み出して画像処理部１５０に出力する。画像処理部１５０は、読出部１４０が読み出した読出開始位置ＳＰ３から読出終了位置ＥＰ３までの画素により構成されたフレームをフレームＦｏｕｔ（３）として出力する。なお、フレームＦｏｕｔ（３）のサイズも、出力サイズである。
【００６６】
このように、本実施の形態のデジタルカメラ１００において、読出部１４０は、フレームバッファ１３０からデータを読み出す際に、各フレームについて、該フレームの読出開始位置に関わらず、書込部１２０による該フレームの書込みの開始から、該フレームの半分の画素の書込みの完了までの時間Ｔが経過した時点で該フレームの読出開始位置から読出しを開始する。そのため、フレーム間でデジタルズームの倍率が変化し、読出開始位置が異なっても、各フレームについて読出しの開始タイミングが一定であるので、画像処理部１５０による画像処理後のフレームの出力レートを一定に保つことができる。
【００６７】
また、フレームバッファ１３０のサイズもフレームＦｉｎの１フレーム分（入力サイズ分）のみで良いので、必要なフレームバッファ１３０の容量を削減することができる。
【００６８】
＜第２の実施の形態＞
図４は、本発明の第２の実施の形態にかかるデジタルカメラ２００を示す図である。デジタルカメラ２００は、撮像部１１０、書込部２２０、フレームバッファ１３０、読出部２４０、画像処理部２５０を備える。デジタルカメラ２００に対して、図１に示すデジタルカメラ１００と同一の要素には同一の符号を付与しており、これらの要素についての説明を省略する。
【００６９】
デジタルカメラ２００において、画像処理部２５０が行う画像処理の種類は、デジタルカメラ１００における画像処理部１５０が行う画像処理の種類と異なる。画像処理部１５０による画像処理が所要する画像データは、フレームＦｉｎの中心の画素より前に位置する画素からのデータであるが、画像処理部２５０による画像処理が所要する画像データは、フレームＦｉｎの中心の画素より後に位置する画素からのデータである場合がある。この点について、デジタルカメラ２００の処理例を後述するときに説明する。
【００７０】
また、デジタルカメラ２００において、書込部２２０は、書込バッファ（以下単にバッファという）２２２を有し、読出部２４０は、制御部２４２を有する。
【００７１】
書込部２２０は、デジタルカメラ１００における書込部１２０と同様の機能に加え、バッファ２２２により書込データＤＷを一時的に格納する機能と、書込部２２０による書込みが読出部２４０による読出しを追い越す可能性の有無を監視すると共に、可能性があるときにアラームを出力する機能を備える。
【００７２】
なお、書込みが読出しを追い越すこととは、読出部２４０による現在のフレームの読出し中に、書込部２２０が、次のフレームの画素のデータで、現在のフレームのまだ読み出されていない画素のデータを上書きすることを意味する。
【００７３】
読出部２４０は、デジタルカメラ１００における読出部１４０と同様の機能に加え、読出部２４０による読出しが書込部２２０による書込みを追い越さないように制御する機能を備える。
【００７４】
なお、読出しが書込みを追い越すこととは、読出部２４０が、前回のフレームのデータとして既に読み出したデータを、書込部２２０により現在のフレームのデータに更新する前に、現在のフレームのデータとして読み出すことを意味する。
【００７５】
書込部２２０と読出部２４０が上述した機能を実現するための仕組みを説明する。
図４に示すように、書込部２２０は、各フレームについて書込みを開始するときに、前述した書込開始信号ＳＷを読出部２４０に出力する。さらに、書込部２２０は、書込み中のフレームについて何ライン目の書込みをしているかを示す書込ライン情報ＷＬも、読出部２４０に出力する。書込ライン情報ＷＬは、例えば書込中のラインのライン番号である。なお、例として、１フレームにおいて、小さいライン番号の順から書込みがなされる。
【００７６】
読出部２４０は、デジタルカメラ１００における読出部１４０と同様に、書込開始信号ＳＷを受信すると、図示しないカウンタにより時間をカウントし、カウントした時間が予め設定された時間Ｔになったときに、該フレームの読出開始位置から読出しを開始する。また、現在のフレームに対して読出しを開始すると、カウンタをクリアする。さらに、読出部２４０の制御部２４２は、読出中のフレームについて何ライン目の読出しをしているかを示す読出ライン情報ＲＬを書込部２２０に出力する。読出ライン情報ＲＬは、読出中のライン番号である。また、１フレームについて、小さいライン番号の順から読出しがなされる。なお、制御部２４２は、読出しをしていないときに、読出ライン情報ＲＬとして「０」を出力する。
【００７７】
制御部２４２は、現在のフレームの読出しを開始した後、次のフレームの書込み開始を示す書込開始信号ＳＷを受信するまでに、読出ライン情報ＲＬが示すライン番号が、書込ライン情報ＷＬが示すライン番号より小さく、かつ両者の差分が所定の閾値（例えば２ライン）より大きいことを条件に読出しを継続する。読出ライン情報ＲＬが示すライン番号と書込ライン情報ＷＬが示すライン番号の差分が上記所定の閾値になったときに、制御部２４２は、上記差分が上記閾値より大きくなるまで、読出部２４０による読出しを一時的に停止させる。こうすることにより、読出部２４０により読出中のフレームと、書込部２２０により書込中のフレームとが同一のフレームである場合に、読出部２４０による読出しが書込部２２０による書込みを追い越すことが無い。
【００７８】
なお、制御部２４２は、現在のフレームの読出し中に、次のフレームの書込みの開始を示す書込開始信号ＳＷを受信すると、読出ライン情報ＲＬと書込ライン情報ＷＬとの比較、及び比較結果に応じた制御を停止する。この場合、制御部２４２が現在のフレームの読出し中であるが、書込部２２０が次のフレームの書込みを開始しているため、現在のフレームの読出を行っている間では、読出しは書込みを追い越すことが無い。
【００７９】
書込部２２０は、書込ライン情報ＷＬが示すライン番号が、読出ライン情報ＲＬが示すライン番号より小さいときに、書込ライン情報ＷＬと読出ライン情報ＲＬ間の差分が所定の閾値（例えば２ライン）より大きいことを条件にフレームバッファ１３０への書込みを継続する。こうすることにより、書込部２２０による書込み中のフレームが、読出部２４０による読出中のフレームの次のフレームである場合に、書込みが読出しを追い越すことが無い。
【００８０】
書込部２２０は、書込ライン情報ＷＬが読出ライン情報ＲＬより小さく、かつ両者の差分が上記閾値になったときに、フレームバッファ１３０への書込みを一時停止すると共に、書込データをバッファ２２２に一時的に格納する。そして、上記差分が再び閾値より大きくなると、バッファ２２２に格納されたデータをフレームバッファ１３０に書き込む。
【００８１】
また、書込部２２０は、バッファ２２２に格納されたデータの量が予め設定された所定の閾値（バッファ２２２の容量以下の値）になったときに、書込みが読出しを追い越す可能性があるとして、アラームを出力する。
【００８２】
なお、書込ライン情報ＷＬが示すライン番号が、読出ライン情報ＲＬが示すライン番号より大きい場合に、すなわち読出部２４０が読出しをしていない場合、または書込部２２０と読出部２４０が同一のフレームに対して書込みと読出しをしている場合に、書込部２２０は、書込ライン情報ＷＬと読出ライン情報ＲＬの比較、及び比較結果に応じた制御をしない。
【００８３】
このようにして、読出部２４０による読出しは、書込部２２０による書込みを追い越さないように制御される。また、書込みが読出しを追い越す可能性がある場合に、アラームが出力される。
【００８４】
図５は、デジタルカメラ２００による処理のタイミングチャートの一例を示す。該例では、画像処理部２５０は、フレームＦｉｎ（１）の中央部分を縮小してフレームＦｏｕｔ（１）を得、フレームＦｉｎ（２）の下側の一部に対して手ぶれ補正をした後に拡大してフレームＦｉｎ（２）を得、フレームＦｉｎ（３）の上側の一部に対して手ぶれ補正をした後に拡大してフレームＦｏｕｔ（３）を得る。なお、フレームＦｏｕｔ（１）、フレームＦｏｕｔ（２）、フレームＦｏｕｔ（３）のサイズは、同一のサイズ（出力サイズ）である。なお、図５において、図３のときと同様に、１マスより同量のデータを表し、マスの横幅により処理時間を表す。
【００８５】
図５に示すように、フレームＦｉｎ（１）の読出開始位置と読出終了位置はＳＰ１とＥＰ１であり、フレームＦｉｎ（２）の読出開始位置と読出終了位置はＳＰ２とＥＰ２であり、フレームＦｉｎ（３）の読出開始位置と読出終了位置はＳＰ３とＥＰ３である。読出開始位置ＳＰ１の画素は、当該フレームの中心の画素より前に位置する画素である。読出開始位置ＳＰ２の画素は、当該フレームの中心の画素より後に位置する画素である。また、読出開始位置ＳＰ３の画素は、当該フレームの先頭の画素である。
【００８６】
デジタルカメラ２００において、読出部２４０に対して所定の時間「Ｔ」が設定されている。この時間Ｔは、画像処理部２５０が行う各種の画像処理に対応する第１の時間のうちの、最も長い第１の時間以上である。なお、第１の時間は、前述したように、フレームＦｉｎの先頭の画素の書込みの開始から、該フレームフレームＦｉｎの読出開始位置の画素の書込みの完了までの時間である。ここで、例として、画像処理部２５０がフレームＦｉｎ（２）に対して行う画像処理に対応する第１の時間が、この時間Ｔと同長であるとする。
【００８７】
図５に示すように、タイミングｔ１において、書込部２２０は、フレームＦｉｎ（１）の先頭の画素の書込みを開始すると共に書込開始信号ＳＷを読出部２４０に出力する。その後、書込部２２０が書込みを続け、タイミングｔ２において、フレームＦｉｎ（１）の読出開始位置ＳＰ１の画素の書込みが完了する。すなわち、フレームＦｉｎ（１）の第１の時間Ｔ１は、「（ｔ２−ｔ１）」である。
【００８８】
タイミングｔ２の時点で、読出開始位置ＳＰ１の画素の書込みが完了したため、読出部２４０は、フレームＦｉｎ（１）に対する読出しを開始するが可能である。しかし、書込開始信号ＳＷを受信した時点（ｔ１）からカウントを開始する読出部２４０の図示しないカウンタのカウント値が、まだ時間Ｔより小さいため、読出部２４０は、読出しを開始しない。
【００８９】
タイミングｔ３において、読出部２４０におけるカウンタのカウント値がＴになる。読出部２４０は、フレームＦｉｎ（１）の読出開始位置ＳＰ１の画素の読出しを開始すると共に、カウンタの値をクリアする。
【００９０】
その後、読出部２４０は、フレームＦｉｎ（１）の読出終了位置ＥＰ１の画素までの各画素を順次読み出して画像処理部２５０に出力する。画像処理部２５０は、これらの画素により構成された画像に対して縮小処理を行い、フレームＦｉｎ（１）に対応するフレームＦｏｕｔ（１）を得て出力する。
【００９１】
なお、読出部２４０によるフレームＦｉｎ（１）の読出し中に、タイミングｔ４において、書込部２２０は、次のフレーム（フレームＦｉｎ（２））の書込みを開始している。このとき、書込開始信号ＳＷを受信したため、読出部２４０におけるカウンタは、時間のカウントを開始する。
【００９２】
タイミングｔ５において、フレームＦｉｎ（２）の読出開始位置ＳＰ２の画素の書込みが完了する。すなわち、フレームＦｉｎ（２）の第１の時間Ｔ２は、「（ｔ５−ｔ４）」である。前述したように、フレームＦｉｎ（２）の第１の時間Ｔ２が時間Ｔと同一であるため、タイミングｔ５において、読出部２４０のカウンタのカウント値もＴになる。
【００９３】
したがって、タイミングｔ５において、読出部２４０は、フレームＦｉｎ（２）の読出開始位置ＳＰ２の画素の読出しを開始すると共に、カウンタの値をクリアする。
【００９４】
その後、読出部２４０は、読出終了位置ＥＰ２の画素までフレームＦｉｎ（２）の各画素を順次読み出して画像処理部２５０に出力する。画像処理部２５０は、読出部２４０が読み出した読出開始位置ＳＰ２から読出終了位置ＥＰ２までの画素により構成された画像に対して手ぶれ補正を施した後に、出力サイズまでの拡大処理を行い、フレームＦｉｎ（２）に対応するフレームＦｏｕｔ（２）を得て出力する。
【００９５】
読出部２４０によるフレームＦｉｎ（２）の読出し中に、タイミングｔ６において、書込部２２０は、次のフレーム（フレームＦｉｎ（３））の書込みを開始している。このとき、書込開始信号ＳＷを受信したため、読出部２４０におけるカウンタは、時間のカウントを開始する。
【００９６】
タイミングｔ７において、フレームＦｉｎ（３）の読出開始位置ＳＰ３（先頭）の画素の書込みが完了する。すなわち、フレームＦｉｎ（３）の第１の時間Ｔ３は、「（ｔ７−ｔ６）」である。このとき、読出部２４０におけるカウンタのカウント値「（ｔ７−ｔ６）」が時間Ｔより短いため、読出部２４０は、フレームＦｉｎ（３）に対する読出しを開始しない。
【００９７】
タイミングｔ８において、読出部２４０におけるカウンタのカウント値がＴになる。読出部２４０は、フレームＦｉｎ（３）の読出開始位置ＳＰ３の画素の読出しを開始すると共に、カウンタの値をクリアする。
【００９８】
その後、読出部２４０は、読出終了位置ＥＰ３の画素までフレームＦｉｎ（３）の各画素を順次読み出して画像処理部２５０に出力する。画像処理部２５０は、読出部２４０が読み出した読出開始位置ＳＰ３から読出終了位置ＥＰ３までの画素により構成された画像に対して手ぶれ補正を施した後に、出力サイズまでの拡大処理を行い、フレームＦｉｎ（３）に対応するフレームＦｏｕｔ（３）を得て出力する。
【００９９】
このように、本実施の形態のデジタルカメラ２００によれば、画像処理部２５０が行う画像処理のうちに、第１の時間に対応する読出開始位置がフレームの中心の画素より後に位置する画素である画像処理があっても、各フレームについて読出しの開始タイミングが一定である。そのため、第１の実施の形態にかかるデジタルカメラ１００と同様に、画像処理後のフレームの出力レートを一定に保つことができる。
【０１００】
フレームバッファに対して書込みと読出しの速度が同一であれば、第１の実施の形態にかかるデジタルカメラ１００において、読出しが書込みを追い越すことが無い。第２の実施の形態にかかるデジタルカメラ２００では、制御部２４２により読出しが書込みを追い越さないように制御することにより、フレームバッファに対する読出しの速度が書込みの速度より速い場合であっても、読出しが書込みを追い越すが無いので、より安全である。
【０１０１】
さらに、デジタルカメラ２００において、書込部２２０は、書込みが読出しを追い越す可能性がある場合に書込データＤＷを一時的にバッファ２２２に格納すると共に、バッファ２２２に格納された書込データＤＷが所定量に到達したときにアラームを出すようになっている。こうすることにより、デジタルカメラ２００の設計時に書込みが読出しを追い越す可能性の検証を行うことができ、設計の見直しなどの改善に貢献することができる。
【０１０２】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１０３】
例えば、デジタルカメラ２００において、書込部２２０にバッファ２２２を設け、書込みが読出しを追い越す可能性があるときに書込データＤＷを一時的にバッファ２２２に格納するようになっている。バッファ２２２を設けずに、書込みが読出しを追い越す可能性があるときに、直ちにアラームを出力するようにしてもよい。さらに、書込みが読出しを追い越す可能性があるときではなく、書込みが読出しを追い越した場合にアラームを出力するようにしてもよい。
【０１０４】
さらに、この場合、書込部２２０の代わりに読出部２４０によりアラームを出力するようにしてもよい。
【０１０５】
また、本発明にかかる技術では、各フレームについてフレームバッファから画像データを読み出す際に、該フレームの先頭の画像データの書込みの開始から所定の時間が経過した時点で読出しを開始する。この所定の時間は、画像処理部の行い得る全ての画像処理のうちの、読出開始位置が最も後の画像処理が施されるフレームの先頭の画像データの書込みの開始から、読出開始位置の画像データの書込みの完了まで以上の時間である。画像処理部が、全てのフレームに対して、「拡大」、「縮小」、「手ぶれ補正」など、画像データに変化を与える処理を施すとは限らない。例えば、図３に示す例におけるフレームＦｉｎ（３）の場合と同じように、読み出してデータをそのまま出力フレームＦｏｕｔ（３）として出力するケースや、読み出した当該フレームの画像データに対して変化を与えず、所定情報を取得するケースなどもある。これらのケースを含む態様も、本発明の権利範囲にある。
【符号の説明】
【０１０６】
１００  デジタルカメラ  １１０  撮像部
１２０  書込部  １３０  フレームバッファ
１４０  読出部  １５０  画像処理部
２００  デジタルカメラ  ２２０  書込部
２２２  バッファ  ２４０  読出部
２４２  制御部  ２５０  画像処理部
Ｆｉｎ  フレーム  Ｆｏｕｔ  フレーム
ＤＷ  書込データ  ＤＲ  読出データ
ＣＴＲ  指示信号  ＳＷ  書込開始信号
ＷＬ  書込ライン情報  ＲＬ  読出ライン情報
【図１】
2012231277.tif 000003
【図２】
2012231277.tif 000004
【図３】
2012231277.tif 000005
【図４】
2012231277.tif 000006
【図５】
2012231277.tif 000007