説明

画像処理装置

【課題】フレームバッファへの書込みと読出しが並列に行われる画像処理装置において、フレーム間で読出開始位置が異なっても、画像処理後のフレームの出力レートを一定に保つ。
【解決手段】書込部120はフレーム毎に該フレームに含まれる複数の画像データを所定の順序でフレームバッファ130に書き込む。読出部140は、フレーム毎に、第1の順位から第2の順位までに書込部120が書き込んだ複数の画像データを読み出す。第1の順位は、画像処理部150が当該フレームに対して行う画像処理によって異なりうる。読出部140は、各フレームに対して、該フレームの先頭の画像データの書込みの開始から所定の時間が経過した時点で読出しを開始する。この所定の時間は、フレームの先頭の画素の書込みの開始から、最も後の第1の順位に対応する画素のデータの書込みの完了まで以上の時間である。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理、特に画像メモリに対する画像データの書込みと読出しの制御に関する。
【背景技術】
【0002】
デジタルカメラやスキャナなどの画像処理装置において、画像処理前の画像データを格納するメモリ(画像メモリやバッファメモリ)に対する書込みと読出しが並列に行われるため、メモリアクセス制御について、様々な視点からの技術が提案されている(特許文献1〜4)。
【0003】
例えば、特許文献1には、メモリへ書き込んだ画像データの単位数と、メモリから読み出した画像データの単位数を、書込カウンタと読出カウンタで夫々カウントし、書込カウンタと読出カウンタのカウント値の差分が所定の範囲に無いときにアラームを出力する技術が開示されている。
【0004】
この技術は、メモリへの書込みが読出しを追い越す可能性が出たときにアラームを出力することにより、書込みが読出しを追い越すことを防ぐものである。
【0005】
また、特許文献2には、メモリへの書込みと読出しのアドレスが常に一定間隔離れるように制御する技術が開示されている。
【0006】
この技術は、例えば、メモリに格納されたデータに対して分割処理を行う際に、メモリへの書込みがアドレス順に連続的に行われる一方、メモリへの読出しがアドレス順では非連続的に行われる場合にも、書込みと読出し間の追い越しが無いように制御できるとされている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−117135号公報
【特許文献2】特開2010−176393号公報
【特許文献3】特許第4398499号公報
【特許文献4】特開2003−323333号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
動画撮像機能を備えたデジタルカメラにおいて、撮像部が撮像によって取得した動画像のデータをフレーム毎にメモリ(フレームバッファ)に書き込み、画像処理部がフレームバッファに格納されたデータを読み出し、必要に応じて画像処理を施してから出力する。画像処理部が行う画像処理は、デジタルズームを実現するための拡大/縮小処理や、手ぶれ補正処理や、これらの処理の組合せなどがある。
【0009】
このようなデジタルカメラにおいても、フレームバッファへの書込みと、フレームバッファからの読出しが並列に行われる。
【0010】
通常、フレームバッファへのデータの書込みは、同一の水平ラインにおいては左から右、水平ラインについては上から下となる画素の配列順で行われる。すなわち、各フレームについて、該フレームの左上端の画素のデータから右下端の画素のデータまでの順で、書込みが行われる。
【0011】
一方、フレームバッファからデータを読み出す際に、画像処理の種類によっては、読出しを開始する画素の位置(以下単に「読出開始位置」ともいう)がフレーム間で異なる可能性がある。例えば、デジタルズーム機能は、フレームの中心部の一部分のデータを読み出して拡大することにより実現されるが、ズームの倍率によって、この一部分のデータの範囲が異なるため、互いに異なるズーム倍率が指定されたフレーム間で、読出開始位置が異なる。
【0012】
このようなデジタルカメラに特許文献1と特許文献2に開示された技術を適用した場合、フレームバッファへの書込みと読出し間の追い出しを防ぐことができる。しかし、読出し開始位置が異なるフレーム間では、読出しの開始時間も異なるため、画像処理後のフレームの出力レートがばらついてしまうという問題がある。
【課題を解決するための手段】
【0013】
本発明の1つの態様は、画像処理装置である。この画像処理装置は、フレームバッファと、書込部と、読出部と、画像処理部とを備える。
【0014】
書込部は、フレーム毎に、該フレームに含まれる複数の画像データを所定の順序でフレームバッファに順次書き込む。
【0015】
読出部は、フレーム毎に、上記所定の順序における第1の順位から、該第1の順位より後の第2の順位までに書込部が書き込んだ複数の画像データを、フレームバッファから順次読み出す。
【0016】
画像処理部は、フレーム毎に、読出部が読み出した複数の画像データに対して画像処理を行う。画像処理部が行う画像処理の所要する複数の画像データに対応する第1の順位がフレーム間で異なりうる。
【0017】
読出部は、各フレームに対して、該フレームの先頭の画像データの書込みの開始から所定の時間が経過した時点で読出しを開始する。この所定の時間は、フレームの先頭の画像データの書込みの開始から、フレーム毎に画像処理の所要する複数の画像データに対応する第1の順位のうちの最も後の第1の順位の画像データの書込みの完了まで以上の時間である。
【0018】
なお、上記態様の装置を方法やシステムに置き換えて表現したものなども、本発明の態様としては、有効である。
【発明の効果】
【0019】
本発明にかかる技術によれば、フレームバッファへの書込みと読出しを並列に行う画像処理装置において、フレーム間で読出開始位置が異なった場合に、フレームバッファへ書き込まれるフレームのフレームレートが一定であれば、画像処理後のフレームの出力レートを一定に保つことができる。
【図面の簡単な説明】
【0020】
【図1】本発明の第1の実施の形態にかかるデジタルカメラを示す図である。
【図2】フレームに対して施す画像処理によって読出開始位置が異なることを説明するための図である。
【図3】図1に示すデジタルカメラによる処理のタイミングチャートの一例を示す図である。
【図4】本発明の第2の実施の形態にかかるデジタルカメラを示す図である。
【図5】図4に示すデジタルカメラによる処理のタイミングチャートの一例を示す図である。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施の形態について説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェアとソフトウェア(プログラム)の組合せによっていろいろな形で実現できることは当業者には理解されるところであり、ハードウェアとソフトウェアのいずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。
【0022】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0023】
<第1の実施の形態>
図1は、本発明の画像処理装置の第1の実施の形態にかかるデジタルカメラ100を示す図である。デジタルカメラ100は、動画撮像機能を有するものであり、撮像部110、書込部120、フレームバッファ130、読出部140、画像処理部150を備える。
【0024】
撮像部110は、撮像して得た各フレーム(フレームFin)を順次書込部120に出力する。書込部120は、撮像部110からのフレームFin内の各画素のデータDWを、画素の配列順でフレームバッファ130に順次書き込む。なお、撮像部110から書込部120へ出力するフレームレートが一定であり、書込部120による書込みの速度も一定である。
【0025】
フレームバッファ130は、フレームFinの1枚分の容量を有するバッファメモリである。書込部120は、1つのフレームについて書込データDWを書き込む際に、フレームバッファ130におけるアドレス順で書込データDWを格納する。1つのフレームの書込みが完了すると、次のフレームについて画素の配列順で書込データDWを書込む。
【0026】
すなわち、フレームバッファ130内におけるアドレスと、フレームにおける画素の位置とは、1対1で対応し、フレームにおける画素の配置順と、フレームバッファ130のアドレス順とは、同様である。
【0027】
また、書込部120は、各フレームについて、フレームバッファ130への該フレームの書込みの開始と共に、書込開始信号SWを読出部140に出力する。より詳細には、書込部120は、フレームの左上端の画素のデータを書き込むときに、書込開始信号SWを読出部140に出力する。
【0028】
読出部140は、フレームバッファ130に格納されたフレームFinの各画素のデータのうち、書込部120による書込順における第1の順位から第2の順位までの画素のデータを読み出して画像処理部150に出力する。この第1の順位と第2の順位は、フレームによって異なる可能性があり、画像処理部150からの後述する指示信号CTRにより指示される。なお、読出部140により読み出されたデータを読出データDRと表記する。
【0029】
画像処理部150は、フレーム毎に、該フレームについて読出部140から供される読出データDRを用いて画像処理を行い、処理後の該フレーム(フレームFout)を出力する。画像処理部150により出力されたフレームFoutは、例えば図示しない液晶モニタなどの表示装置に表示される。なお、画像処理部150が出力する各フレームFoutのサイズは、一定である。
【0030】
また、画像処理部150は、読出部140に指示信号CTRを出力する。指示信号CTRは、読出部140が次に読み出すフレームについて、読出しを開始する画素位置(読出開始位置)と、読出しを終了する画素位置(読出終了位置)を示す信号である。前述の通り、フレームバッファ130において、アドレス順と、画素の配列順とが同一であるため、この読出開始位置と読出終了位置は、読出開始アドレス(第1のアドレス)と読出終了アドレス(第2のアドレス)と夫々等価である。また、書込部120が画素の配置順で書込みをするので、この読出開始位置と読出終了位置は、該フレームについて、書込部120による書込順における、読出しを開始する順位(第1の順位)と読出を終了する順位(第2の順位)と夫々等価である。
【0031】
本実施の形態のデジタルカメラ100において、読出部140は、夫々のフレームについて、画像処理部150からの指示信号CTRが示す読出開始位置から読出終了位置までのデータを読み出すが、各フレームについて、書込部120から書込開始信号SWを受信してから所定の時間を経過時点で読出しを開始する。この所定の時間は、書込部120がフレームの先頭の画素の書込みを開始してから、画像処理部150が行い得る全ての画像処理に夫々対応する上記第1の順位のうち最も後の第1の順位の画素のデータの書込みが完了するまで以上の時間である。
【0032】
ここで、デジタルカメラ100が、2つの異なるズーム倍率(例えば2倍、4倍)に対応可能なデジタルズーム機能を有する場合を例にする。すなわち、画像処理部150は、上記2つのズーム倍率に夫々対応した拡大率で拡大処理が可能である。
【0033】
図2を参照して、ズーム倍率毎に、フレームバッファ130から読み出すデータ(読出データDR)を説明する。分かりやすいように、撮像部110が得た各フレームFinのサイズ(以下「入力サイズ」という)と、画像処理部150が出力する各フレームFoutのサイズ(以下「出力サイズ」という)とが同一である場合を例にする。なお、図2において、斜線部分は、当該フレームFinにおける読出データDRの部分を示す。
【0034】
<ズーム倍率:縦横共に1倍>
この場合、画像処理部150が当該フレームについて読出部140に出力する指示信号CTRは、読出開始位置SP1と読出終了位置EP1を示す。読出開始位置SP1は、フレームの左上端の画素を意味し、読出終了位置EP1は、フレームの右下端の画素を意味する。
【0035】
読出部140は、フレームバッファ130から該フレームの左上端の画素から右下端の画素までの全ての画素のデータを読み出して画像処理部150に供する。また、画像処理部150は、読出部140から供される該フレームのデータを拡大せずにそのまま出力する。この場合、画像処理部150から出力されたフレームFoutと、書込部120がフレームバッファ130に書き込まれた相対応のフレームFinと同じである。
【0036】
<ズーム倍率:縦横共に2倍>
この場合、画像処理部150が当該フレームについて読出部140に出力する指示信号CTRは、読出開始位置SP2と読出終了位置EP2を示す。読出開始位置SP2から読出終了位置EP2までの画素はフレームFinの中央部分の画素であり、水平方向の画素数はフレームFinの水平方向の画素数の1/2であり、垂直方向の画素数はフレームFinの垂直方向の画素数の1/2である。
【0037】
読出部140は、該フレームについて、フレームバッファ130から読出開始位置SP2から読出終了位置EP2までの画素のデータを読み出して画像処理部150に供する。画像処理部150は、読出部140から供される該フレームのデータを縦横共に2倍に拡大して出力する。この場合、画像処理部150から出力されたフレームFoutと、書込部120がフレームバッファ130に書き込まれた相対応のフレームFinとは、画素値が異なり、サイズが同様である。
【0038】
<ズーム倍率:縦横共に4倍>
この場合、画像処理部150が当該フレームについて読出部140に出力する指示信号CTRは、読出開始位置SP3と読出終了位置EP3を示す。読出開始位置SP3から読出終了位置EP3までの画素はフレームFinの中央部分の画素であり、水平方向の画素数はフレームFinの水平方向の画素数の1/4であり、垂直方向の画素数はフレームFinの垂直方向の画素数の1/4である。
【0039】
読出部140は、該フレームについて、フレームバッファ130から読出開始位置SP3から読出終了位置EP3までの画素のデータを読み出して画像処理部150に供する。画像処理部150は、読出部140から供される該フレームのデータを縦横共に4倍に拡大して出力する。この場合も、画像処理部150から出力されたフレームFoutと、書込部120がフレームバッファ130に書き込まれた相対応のフレームFinとは、画素値が異なり、サイズが同様である。
【0040】
図2から分かるように、画像処理部150がフレームに対して行う画像処理(ここではズーム倍率)によって、該フレームの読出開始位置が異なる。そのため、画像処理部150が行う画像処理によって、書込部120による該フレームの先頭の画素の書込みの開始から、読出部140が読出しを開始する画素(読出開始位置の画素)の書込みの完了までの時間も異なる。図2に示す例の場合には、ズーム倍率が4倍に対応する拡大処理が行われるフレームについて、先頭の画素の書込み開始から、読出開始位置の画素の書込み完了までの時間が最も長い。以下の説明において、フレームの先頭画素の書込み開始から、該フレームの読出開始位置の画素の書込み完了までの時間を「第1の時間」という。
【0041】
図2に示す例において、ズーム倍率が1倍、2倍、4倍である場合の第1の時間を夫々TA、TB、TCとすると、TBはTCより短く、TAは、さらに、TBより短い。
【0042】
本実施の形態のデジタルカメラ100において、読出部140は、各フレームについて、書込部120から書込開始信号SWを受信してから、同様の所定の時間が経過した時点で読出しを開始する。この所定の時間は、画像処理部150が行い得る全ての画像処理に夫々対応する第1の時間のうちの最も長い第1の時間Tである。図2に示す例の場合、ズーム倍率が4倍である場合の第1の時間TCは、この最も長い第1の時間Tに該当する。
【0043】
なお、「画像処理部150が行い得る全ての画像処理」は、デジタルカメラ100の機能スペックとして対応可能な全ての画像処理であってもよいが、現在に処理しようとする連続した複数のフレームに対して行い得る全ての画像処理であってもよい。前者の場合においては、第1の時間Tは、定数として設定可能である。一方、後者の場合においては、現在に処理しようとする対象の上記複数のフレームによって異なる可能性があり、この場合は、例えば、ユーザにより現在に処理しようとする連続した複数のフレームに対して第1の時間Tを設定すればよい。勿論、第1の時間Tを直接設定する代わりに、読出部140が第1の時間Tを推定可能とする情報をユーザが設定し、読出部140がこの情報に基づいて第1の時間Tを推定するようにしてもよい。
【0044】
例えば、デジタルカメラ100の機能スペックとしては、4倍のデジタルズームまで対応可能であるが、現在に処理しようとする連続した複数のフレームに対して、最大2倍のズーム倍率まで行わせる場合に、ユーザがこの最大のズーム倍率として「2倍」を設定し、読出部140が「2倍」の倍率に応じた読出開始位置乃至第1の時間Tを推定するようにすればよい。
【0045】
すなわち、本実施の形態のデジタルカメラ100において、フレームの読出開始位置に対応する画素がフレームバッファ130に書き込まれても、該フレームの先頭の画素の書込みの開始から上記時間Tが経過していなければ、読出部140は、該フレームについての読出しを開始しない。
【0046】
読出部140は、例えば時間をカウントするカウンタを有する。このカウンタは、書込部120から書込開始信号SWを受信するとカウントを開始する。該カウンタのカウント値が時間Tになると、読出部140はフレームバッファ130から該フレームの読出開始位置の画素の読出しを開始すると共に、カウンタのカウント値をクリアする。
【0047】
上記において、分かりやすいように、フレームの入力サイズと出力サイズとが同一である場合を例に説明した。本発明にかかる技術は、フレームの入力サイズと出力サイズの大小関係に関わらず、入力サイズが出力サイズより大きい場合や、入力サイズが出力サイズより小さい場合などにも適用することができる。図3を参照して、入力サイズが出力サイズより大きい場合の一例を説明する。この例において、デジタルカメラ100は、ズームアップするのときには、フレームFinの中央部分のデータを読み出して拡大処理をし、ズームダウンのときには、フレームFinの全てのデータを読み出して縮小処理を行う。また、デジタルズーム機能を動作させないとき(すなわちズーム倍率が縦横とも1倍であるとき)には、フレームFinの中央部分の出力サイズ分の画素を読み出してそのまま出力する。
【0048】
図3は、デジタルカメラ100による処理のタイミングチャートの一例を示す。該例では、画像処理部150は、同一のサイズのフレームFoutを出力するが、フレームFoutのサイズ(出力サイズ)は、フレームFinのサイズ(入力サイズ)より小さい。図3において、書込データDW、読出データDR、出力フレームFoutについて、1マスの大きさが夫々異なるが、便宜上、1マスより同様のデータ量を表している。なお、1マスの横幅が長いということは、同量のデータをより長い時間で処理することを意味する。また、デジタルズーム処理の都合上、FoutとDRの画像サイズは一般に異なっているが、1フレームを処理する時間はFoutとDRではほぼ変わらない。この点について、後の図面においても同様である。
【0049】
この例では、画像処理部150は、フレームFin(1)に対してズームダウン処理を行い、フレームFin(1)の読出開始位置と読出終了位置はSP1とEP1である。また、画像処理部150は、フレームFin(2)に対してズームアップ処理を行い、フレームFin(2)の読出開始位置と読出終了位置はSP2とEP2である。また、画像処理部150は、フレームFin(3)に対して拡大、縮小のいずれもせず、フレームFin(3)の読出開始位置と読出終了位置はSP3とEP3である。
【0050】
また、読出部140に対して、書込部120による1つのフレームの先頭の画素の書込み開始から、該フレームの半分の画素の書込みが完了するまでの時間は、所定の時間「T」として設定されている。
【0051】
上述したように、デジタルズーム機能によりズームダウンを実現するために、フレームFin全体を読み出して出力サイズに縮小する。また、デジタルズーム機能を実行させない場合(ズーム倍率:縦横共1倍)は、フレームFinの中央部分の、出力サイズ分のデータを読み出してそのまま出力する。デジタル機能によりズームアップを実現する場合には、フレームFinの中央部分の、ズーム倍率に応じたサイズのデータ(読出開始位置から読出終了位置までのデータ)を読み出して出力サイズに拡大する。ズームアップの倍率が大きいほど、読出開始位置が後になる。その一方、読出開始位置は、フレームFinの中心の画素より後にはならない。
【0052】
そのため、読出部140に対して設定された、書込部120による1つのフレームの先頭の画素の書込み開始から、該フレームの半分の画素の書込みが完了するまでの時間となる所定の時間「T」は、画像処理部150が行い得る全ての画像処理に夫々対応する第1の時間のうちの最も長い第1の時間以上である。
【0053】
図3に示すように、タイミングt1において、書込部120は、フレームFin(1)の先頭の画素の書込みを開始すると共に書込開始信号SWを読出部140に出力する。そして、タイミングt2において、フレームFin(1)の先頭の画素の書込みが完了する。すなわち、フレームFin(1)の第1の時間T1は、「(t2−t1)」である。
【0054】
読出部140は、フレームFin(1)に対して読出開始位置SP1から読出終了位置EP1までの画素のデータを読み出して画像処理部150に供する。なお、読出開始位置SP1はフレームFin(1)の先頭の画素を示し、読出終了位置EP(1)は、フレームFin(1)の最後の画素を示す。読出部140は、具体的には、下記のように読出しを行う。
【0055】
書込開始信号SWを受信すると、読出部140における図示しないカウンタは、時間のカウントを開始する。タイミングt2において、フレームFin(1)の先頭の画素の書込みが完了したため、読出部140は、該画素の読出しを開始することができる。しかし、タイミングt1からまだ時間Tが経過していないため、読出部140は、読出しを開始しない。
【0056】
タイミングt3において、読出部140におけるカウンタのカウント値がTになる。読出部140は、フレームFin(1)の読出開始位置SP1の画素(先頭の画素)の読出しを開始すると共に、カウンタの値をクリアする。
【0057】
その後、読出部140は、読出終了位置EP1の画素(フレームFin(1)の末尾の画素)までフレームFin(1)の各画素を順次読み出して画像処理部150に出力する。画像処理部150は、ズームダウン処理に当たり、読出部140が読み出した読出開始位置SP1から読出終了位置EP1までの画素により構成された画像に対して縮小処理を行い、フレームFin(1)に対応するフレームFout(1)を得て出力する。なお、フレームFout(1)のサイズは、フレームFin(1)のサイズ(入力サイズ)より小さい出力サイズである。
【0058】
なお、読出部140によるフレームFin(1)の読出し中に、タイミングt4において、書込部120は、次のフレーム(フレームFin(2))の書込みを開始している。このとき、書込開始信号SWを受信したため、読出部140におけるカウンタは、時間のカウントを開始する。
【0059】
タイミングt5において、フレームFin(2)の読出開始位置SP2の画素の書込みが完了する。すなわち、フレームFin(2)の第1の時間T2は、「(t5−t4)」である。このとき、読出部140におけるカウンタのカウント値「(t5−t4)」が時間Tより短いため、読出部140は、フレームFin(2)に対する読出しを開始しない。
【0060】
タイミングt6において、読出部140におけるカウンタのカウント値がTになる。読出部140は、フレームFin(2)の読出開始位置SP2の画素の読出しを開始すると共に、カウンタの値をクリアする。
【0061】
その後、読出部140は、読出終了位置EP2の画素までフレームFin(2)の各画素を順次読み出して画像処理部150に出力する。画像処理部150は、ズームアップ処理に際し、読出部140が読み出した読出開始位置SP2から読出終了位置EP2までの画素により構成された画像に対して拡大処理を行い、フレームFin(2)に対応するフレームFout(2)を得て出力する。なお、フレームFout(2)のサイズは、フレームFout(1)のサイズと同一の出力サイズである。
【0062】
読出部140によるフレームFin(2)の読出し中に、タイミングt7において、書込部120は、次のフレーム(フレームFin(3))の書込みを開始している。このとき、書込開始信号SWを受信したため、読出部140におけるカウンタは、時間のカウントを開始する。
【0063】
タイミングt8において、フレームFin(3)の読出開始位置SP3の画素の書込みが完了する。すなわち、フレームFin(3)の第1の時間T3は、「(t8−t7)」である。このとき、読出部140におけるカウンタのカウント値「(t8−t7)」が時間Tより短いため、読出部140は、フレームFin(3)に対する読出しを開始しない。
【0064】
タイミングt9において、読出部140におけるカウンタのカウント値がTになる。読出部140は、フレームFin(3)の読出開始位置SP3の画素の読出しを開始すると共に、カウンタの値をクリアする。
【0065】
その後、読出部140は、読出終了位置EP3の画素までフレームFin(3)の各画素を順次読み出して画像処理部150に出力する。画像処理部150は、読出部140が読み出した読出開始位置SP3から読出終了位置EP3までの画素により構成されたフレームをフレームFout(3)として出力する。なお、フレームFout(3)のサイズも、出力サイズである。
【0066】
このように、本実施の形態のデジタルカメラ100において、読出部140は、フレームバッファ130からデータを読み出す際に、各フレームについて、該フレームの読出開始位置に関わらず、書込部120による該フレームの書込みの開始から、該フレームの半分の画素の書込みの完了までの時間Tが経過した時点で該フレームの読出開始位置から読出しを開始する。そのため、フレーム間でデジタルズームの倍率が変化し、読出開始位置が異なっても、各フレームについて読出しの開始タイミングが一定であるので、画像処理部150による画像処理後のフレームの出力レートを一定に保つことができる。
【0067】
また、フレームバッファ130のサイズもフレームFinの1フレーム分(入力サイズ分)のみで良いので、必要なフレームバッファ130の容量を削減することができる。
【0068】
<第2の実施の形態>
図4は、本発明の第2の実施の形態にかかるデジタルカメラ200を示す図である。デジタルカメラ200は、撮像部110、書込部220、フレームバッファ130、読出部240、画像処理部250を備える。デジタルカメラ200に対して、図1に示すデジタルカメラ100と同一の要素には同一の符号を付与しており、これらの要素についての説明を省略する。
【0069】
デジタルカメラ200において、画像処理部250が行う画像処理の種類は、デジタルカメラ100における画像処理部150が行う画像処理の種類と異なる。画像処理部150による画像処理が所要する画像データは、フレームFinの中心の画素より前に位置する画素からのデータであるが、画像処理部250による画像処理が所要する画像データは、フレームFinの中心の画素より後に位置する画素からのデータである場合がある。この点について、デジタルカメラ200の処理例を後述するときに説明する。
【0070】
また、デジタルカメラ200において、書込部220は、書込バッファ(以下単にバッファという)222を有し、読出部240は、制御部242を有する。
【0071】
書込部220は、デジタルカメラ100における書込部120と同様の機能に加え、バッファ222により書込データDWを一時的に格納する機能と、書込部220による書込みが読出部240による読出しを追い越す可能性の有無を監視すると共に、可能性があるときにアラームを出力する機能を備える。
【0072】
なお、書込みが読出しを追い越すこととは、読出部240による現在のフレームの読出し中に、書込部220が、次のフレームの画素のデータで、現在のフレームのまだ読み出されていない画素のデータを上書きすることを意味する。
【0073】
読出部240は、デジタルカメラ100における読出部140と同様の機能に加え、読出部240による読出しが書込部220による書込みを追い越さないように制御する機能を備える。
【0074】
なお、読出しが書込みを追い越すこととは、読出部240が、前回のフレームのデータとして既に読み出したデータを、書込部220により現在のフレームのデータに更新する前に、現在のフレームのデータとして読み出すことを意味する。
【0075】
書込部220と読出部240が上述した機能を実現するための仕組みを説明する。
図4に示すように、書込部220は、各フレームについて書込みを開始するときに、前述した書込開始信号SWを読出部240に出力する。さらに、書込部220は、書込み中のフレームについて何ライン目の書込みをしているかを示す書込ライン情報WLも、読出部240に出力する。書込ライン情報WLは、例えば書込中のラインのライン番号である。なお、例として、1フレームにおいて、小さいライン番号の順から書込みがなされる。
【0076】
読出部240は、デジタルカメラ100における読出部140と同様に、書込開始信号SWを受信すると、図示しないカウンタにより時間をカウントし、カウントした時間が予め設定された時間Tになったときに、該フレームの読出開始位置から読出しを開始する。また、現在のフレームに対して読出しを開始すると、カウンタをクリアする。さらに、読出部240の制御部242は、読出中のフレームについて何ライン目の読出しをしているかを示す読出ライン情報RLを書込部220に出力する。読出ライン情報RLは、読出中のライン番号である。また、1フレームについて、小さいライン番号の順から読出しがなされる。なお、制御部242は、読出しをしていないときに、読出ライン情報RLとして「0」を出力する。
【0077】
制御部242は、現在のフレームの読出しを開始した後、次のフレームの書込み開始を示す書込開始信号SWを受信するまでに、読出ライン情報RLが示すライン番号が、書込ライン情報WLが示すライン番号より小さく、かつ両者の差分が所定の閾値(例えば2ライン)より大きいことを条件に読出しを継続する。読出ライン情報RLが示すライン番号と書込ライン情報WLが示すライン番号の差分が上記所定の閾値になったときに、制御部242は、上記差分が上記閾値より大きくなるまで、読出部240による読出しを一時的に停止させる。こうすることにより、読出部240により読出中のフレームと、書込部220により書込中のフレームとが同一のフレームである場合に、読出部240による読出しが書込部220による書込みを追い越すことが無い。
【0078】
なお、制御部242は、現在のフレームの読出し中に、次のフレームの書込みの開始を示す書込開始信号SWを受信すると、読出ライン情報RLと書込ライン情報WLとの比較、及び比較結果に応じた制御を停止する。この場合、制御部242が現在のフレームの読出し中であるが、書込部220が次のフレームの書込みを開始しているため、現在のフレームの読出を行っている間では、読出しは書込みを追い越すことが無い。
【0079】
書込部220は、書込ライン情報WLが示すライン番号が、読出ライン情報RLが示すライン番号より小さいときに、書込ライン情報WLと読出ライン情報RL間の差分が所定の閾値(例えば2ライン)より大きいことを条件にフレームバッファ130への書込みを継続する。こうすることにより、書込部220による書込み中のフレームが、読出部240による読出中のフレームの次のフレームである場合に、書込みが読出しを追い越すことが無い。
【0080】
書込部220は、書込ライン情報WLが読出ライン情報RLより小さく、かつ両者の差分が上記閾値になったときに、フレームバッファ130への書込みを一時停止すると共に、書込データをバッファ222に一時的に格納する。そして、上記差分が再び閾値より大きくなると、バッファ222に格納されたデータをフレームバッファ130に書き込む。
【0081】
また、書込部220は、バッファ222に格納されたデータの量が予め設定された所定の閾値(バッファ222の容量以下の値)になったときに、書込みが読出しを追い越す可能性があるとして、アラームを出力する。
【0082】
なお、書込ライン情報WLが示すライン番号が、読出ライン情報RLが示すライン番号より大きい場合に、すなわち読出部240が読出しをしていない場合、または書込部220と読出部240が同一のフレームに対して書込みと読出しをしている場合に、書込部220は、書込ライン情報WLと読出ライン情報RLの比較、及び比較結果に応じた制御をしない。
【0083】
このようにして、読出部240による読出しは、書込部220による書込みを追い越さないように制御される。また、書込みが読出しを追い越す可能性がある場合に、アラームが出力される。
【0084】
図5は、デジタルカメラ200による処理のタイミングチャートの一例を示す。該例では、画像処理部250は、フレームFin(1)の中央部分を縮小してフレームFout(1)を得、フレームFin(2)の下側の一部に対して手ぶれ補正をした後に拡大してフレームFin(2)を得、フレームFin(3)の上側の一部に対して手ぶれ補正をした後に拡大してフレームFout(3)を得る。なお、フレームFout(1)、フレームFout(2)、フレームFout(3)のサイズは、同一のサイズ(出力サイズ)である。なお、図5において、図3のときと同様に、1マスより同量のデータを表し、マスの横幅により処理時間を表す。
【0085】
図5に示すように、フレームFin(1)の読出開始位置と読出終了位置はSP1とEP1であり、フレームFin(2)の読出開始位置と読出終了位置はSP2とEP2であり、フレームFin(3)の読出開始位置と読出終了位置はSP3とEP3である。読出開始位置SP1の画素は、当該フレームの中心の画素より前に位置する画素である。読出開始位置SP2の画素は、当該フレームの中心の画素より後に位置する画素である。また、読出開始位置SP3の画素は、当該フレームの先頭の画素である。
【0086】
デジタルカメラ200において、読出部240に対して所定の時間「T」が設定されている。この時間Tは、画像処理部250が行う各種の画像処理に対応する第1の時間のうちの、最も長い第1の時間以上である。なお、第1の時間は、前述したように、フレームFinの先頭の画素の書込みの開始から、該フレームフレームFinの読出開始位置の画素の書込みの完了までの時間である。ここで、例として、画像処理部250がフレームFin(2)に対して行う画像処理に対応する第1の時間が、この時間Tと同長であるとする。
【0087】
図5に示すように、タイミングt1において、書込部220は、フレームFin(1)の先頭の画素の書込みを開始すると共に書込開始信号SWを読出部240に出力する。その後、書込部220が書込みを続け、タイミングt2において、フレームFin(1)の読出開始位置SP1の画素の書込みが完了する。すなわち、フレームFin(1)の第1の時間T1は、「(t2−t1)」である。
【0088】
タイミングt2の時点で、読出開始位置SP1の画素の書込みが完了したため、読出部240は、フレームFin(1)に対する読出しを開始するが可能である。しかし、書込開始信号SWを受信した時点(t1)からカウントを開始する読出部240の図示しないカウンタのカウント値が、まだ時間Tより小さいため、読出部240は、読出しを開始しない。
【0089】
タイミングt3において、読出部240におけるカウンタのカウント値がTになる。読出部240は、フレームFin(1)の読出開始位置SP1の画素の読出しを開始すると共に、カウンタの値をクリアする。
【0090】
その後、読出部240は、フレームFin(1)の読出終了位置EP1の画素までの各画素を順次読み出して画像処理部250に出力する。画像処理部250は、これらの画素により構成された画像に対して縮小処理を行い、フレームFin(1)に対応するフレームFout(1)を得て出力する。
【0091】
なお、読出部240によるフレームFin(1)の読出し中に、タイミングt4において、書込部220は、次のフレーム(フレームFin(2))の書込みを開始している。このとき、書込開始信号SWを受信したため、読出部240におけるカウンタは、時間のカウントを開始する。
【0092】
タイミングt5において、フレームFin(2)の読出開始位置SP2の画素の書込みが完了する。すなわち、フレームFin(2)の第1の時間T2は、「(t5−t4)」である。前述したように、フレームFin(2)の第1の時間T2が時間Tと同一であるため、タイミングt5において、読出部240のカウンタのカウント値もTになる。
【0093】
したがって、タイミングt5において、読出部240は、フレームFin(2)の読出開始位置SP2の画素の読出しを開始すると共に、カウンタの値をクリアする。
【0094】
その後、読出部240は、読出終了位置EP2の画素までフレームFin(2)の各画素を順次読み出して画像処理部250に出力する。画像処理部250は、読出部240が読み出した読出開始位置SP2から読出終了位置EP2までの画素により構成された画像に対して手ぶれ補正を施した後に、出力サイズまでの拡大処理を行い、フレームFin(2)に対応するフレームFout(2)を得て出力する。
【0095】
読出部240によるフレームFin(2)の読出し中に、タイミングt6において、書込部220は、次のフレーム(フレームFin(3))の書込みを開始している。このとき、書込開始信号SWを受信したため、読出部240におけるカウンタは、時間のカウントを開始する。
【0096】
タイミングt7において、フレームFin(3)の読出開始位置SP3(先頭)の画素の書込みが完了する。すなわち、フレームFin(3)の第1の時間T3は、「(t7−t6)」である。このとき、読出部240におけるカウンタのカウント値「(t7−t6)」が時間Tより短いため、読出部240は、フレームFin(3)に対する読出しを開始しない。
【0097】
タイミングt8において、読出部240におけるカウンタのカウント値がTになる。読出部240は、フレームFin(3)の読出開始位置SP3の画素の読出しを開始すると共に、カウンタの値をクリアする。
【0098】
その後、読出部240は、読出終了位置EP3の画素までフレームFin(3)の各画素を順次読み出して画像処理部250に出力する。画像処理部250は、読出部240が読み出した読出開始位置SP3から読出終了位置EP3までの画素により構成された画像に対して手ぶれ補正を施した後に、出力サイズまでの拡大処理を行い、フレームFin(3)に対応するフレームFout(3)を得て出力する。
【0099】
このように、本実施の形態のデジタルカメラ200によれば、画像処理部250が行う画像処理のうちに、第1の時間に対応する読出開始位置がフレームの中心の画素より後に位置する画素である画像処理があっても、各フレームについて読出しの開始タイミングが一定である。そのため、第1の実施の形態にかかるデジタルカメラ100と同様に、画像処理後のフレームの出力レートを一定に保つことができる。
【0100】
フレームバッファに対して書込みと読出しの速度が同一であれば、第1の実施の形態にかかるデジタルカメラ100において、読出しが書込みを追い越すことが無い。第2の実施の形態にかかるデジタルカメラ200では、制御部242により読出しが書込みを追い越さないように制御することにより、フレームバッファに対する読出しの速度が書込みの速度より速い場合であっても、読出しが書込みを追い越すが無いので、より安全である。
【0101】
さらに、デジタルカメラ200において、書込部220は、書込みが読出しを追い越す可能性がある場合に書込データDWを一時的にバッファ222に格納すると共に、バッファ222に格納された書込データDWが所定量に到達したときにアラームを出すようになっている。こうすることにより、デジタルカメラ200の設計時に書込みが読出しを追い越す可能性の検証を行うことができ、設計の見直しなどの改善に貢献することができる。
【0102】
以上、実施の形態をもとに本発明を説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、上述した実施の形態に対してさまざまな変更、増減、組合せを行ってもよい。これらの変更、増減、組合せが行われた変形例も本発明の範囲にあることは当業者に理解されるところである。
【0103】
例えば、デジタルカメラ200において、書込部220にバッファ222を設け、書込みが読出しを追い越す可能性があるときに書込データDWを一時的にバッファ222に格納するようになっている。バッファ222を設けずに、書込みが読出しを追い越す可能性があるときに、直ちにアラームを出力するようにしてもよい。さらに、書込みが読出しを追い越す可能性があるときではなく、書込みが読出しを追い越した場合にアラームを出力するようにしてもよい。
【0104】
さらに、この場合、書込部220の代わりに読出部240によりアラームを出力するようにしてもよい。
【0105】
また、本発明にかかる技術では、各フレームについてフレームバッファから画像データを読み出す際に、該フレームの先頭の画像データの書込みの開始から所定の時間が経過した時点で読出しを開始する。この所定の時間は、画像処理部の行い得る全ての画像処理のうちの、読出開始位置が最も後の画像処理が施されるフレームの先頭の画像データの書込みの開始から、読出開始位置の画像データの書込みの完了まで以上の時間である。画像処理部が、全てのフレームに対して、「拡大」、「縮小」、「手ぶれ補正」など、画像データに変化を与える処理を施すとは限らない。例えば、図3に示す例におけるフレームFin(3)の場合と同じように、読み出してデータをそのまま出力フレームFout(3)として出力するケースや、読み出した当該フレームの画像データに対して変化を与えず、所定情報を取得するケースなどもある。これらのケースを含む態様も、本発明の権利範囲にある。
【符号の説明】
【0106】
100 デジタルカメラ 110 撮像部
120 書込部 130 フレームバッファ
140 読出部 150 画像処理部
200 デジタルカメラ 220 書込部
222 バッファ 240 読出部
242 制御部 250 画像処理部
Fin フレーム Fout フレーム
DW 書込データ DR 読出データ
CTR 指示信号 SW 書込開始信号
WL 書込ライン情報 RL 読出ライン情報

【特許請求の範囲】
【請求項1】
フレームバッファと、
フレーム毎に該フレームに含まれる複数の画像データを所定の順序で前記フレームバッファに順次書き込む書込部と、
フレーム毎に、前記所定の順序における第1の順位から、該第1の順位より後の第2の順位までに前記書込部が書き込んだ複数の画像データを、前記フレームバッファから順次読み出す読出部と、
フレーム毎に前記読出部が読み出した前記複数の画像データに対して画像処理を行う画像処理部であって、前記画像処理を施す前記複数の画像データに対応する前記第1の順位がフレーム間で異なりうる前記画像処理部とを有し、
前記読出部は、各フレームに対して、該フレームの先頭の画像データの書込みの開始から所定の時間が経過した時点で読出しを開始し、
前記所定の時間は、前記フレームの先頭の画像データの書込みの開始から、フレーム毎に前記画像処理の所要する前記複数の画像データに対応する前記第1の順位のうちの最も後の第1の順位の画像データの書込みの完了まで以上の時間であることを特徴とする画像処理装置。
【請求項2】
前記読出部は、該読出部による読出しが、前記書込部による書込みを追い越さないように制御を行う制御部を備えることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記書込部は、
前記フレームバッファよりサイズが小さい書込バッファを備え、
該書込部による次フレームの書込みを続行すると該書込みが前記読出部による現フレームの読出しを追い越す場合に、前記フレームバッファに書き込むデータを前記書込みバッファに一時的に格納することを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記書込部は、前記書込バッファに格納されたデータの量が所定の閾値になったときにアラームを出力することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記読出部または前記書込部は、該書込部による次フレームの書込みが前記読出部による現フレームの読出しを追い越したときに、アラームを出力することを特徴とする請求項1または2に記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2012−231277(P2012−231277A)
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2011−97924(P2011−97924)
【出願日】平成23年4月26日(2011.4.26)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】