(57)【特許請求の範囲】
【請求項１】
撮像手段により撮像された画像データに対してフィルタ処理を行うフィルタ処理手段と、
前記フィルタ処理が行われた画像データを記憶手段に書き込む書き込み手段と、
前記記憶手段に記憶された画像データを読み出す読み出し手段と、
前記フィルタ処理で用いるフィルタのタップ数をフレーム単位で制御する制御手段と、
前記読み出し手段により読み出された画像データに基づく画像をフレーム単位で表示手段に表示させる表示処理手段と、を有し、
前記制御は、前記画像データが前記記憶手段に書き込まれるタイミングから、当該画像データが前記記憶手段から読み出されるタイミングまでの時間である遅延時間が、前記タップ数を変更する前よりも長くなるように、前記タップ数を変更する制御を含むことを特徴とする画像処理装置。
【請求項２】
前記制御手段は、前記画像の走査方向と垂直な方向のタップのタップ数をフレーム単位で制御することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記撮像手段による撮像のタイミングから、前記画像データが前記記憶手段から読み出されるタイミングまでの時間の間隔は、前記タップ数の変更に依らず同じであることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記制御手段は、前記遅延時間が所定の期間よりも短い場合の方が、前記遅延時間が前記所定の期間よりも長い場合よりも、小さい値の前記タップ数を設定することを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記制御手段は、撮像装置の動作モードとして、第１のモードが設定されている場合の方が、第２のモードが設定されている場合よりも、小さい値の前記タップ数を設定し、
前記第１のモードは、前記第２のモードよりも、前記遅延時間が長くなる動作モードであることを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
前記書き込み手段、前記読み出し手段、および前記フィルタ処理手段は、１フレームの画像データを、複数のブロックの単位で処理し、
前記制御手段は、前記複数のブロックの単位で前記タップ数を制御することを特徴とする請求項１〜５の何れか１項に記載の画像処理装置。
【請求項７】
前記制御手段は、前記複数のブロックのうち、相対的に画角の端に近い位置にあるブロックに対するタップ数を、相対的に画角の中央に近い位置にあるブロックにタップ数よりも小さくすることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
撮像手段により撮像された画像データに対してフィルタ処理を行うフィルタ処理工程と、
前記フィルタ処理が行われた画像データを記憶手段に書き込む書き込み工程と、
前記記憶手段に記憶された画像データを読み出す読み出し工程と、
前記フィルタ処理で用いるフィルタのタップ数をフレーム単位で制御する制御工程と、
前記読み出し工程により読み出された画像データに基づく画像をフレーム単位で表示手段に表示させる表示処理工程と、を有し、
前記制御は、前記画像データが前記記憶手段に書き込まれるタイミングから、当該画像データが前記記憶手段から読み出されるタイミングまでの時間である遅延時間が、前記タップ数を変更する前よりも長くなるように、前記タップ数を変更する制御を含むことを特徴とする画像処理方法。
【請求項９】
請求項１〜７の何れか１項に記載の画像処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、およびプログラムに関し、特に、撮像画像を表示するために用いて好適なものである。
【背景技術】
【０００２】
従来から、外部より伝送された画像をリアルタイムで表示する場合に、入力のタイミングに対して表示のタイミングが遅くなることを抑制することが求められている。そうしないと、撮像した画像を見ながら作業を行うことが困難になる等の課題があるからである。画像の入力に対して表示のタイミングの遅れ（表示遅延）を低減する技術として特許文献１に記載の技術が開示されている。
【０００３】
特許文献１には、必要時間が許容遅延時間を上回る場合には、表示タイミングを早めて必要時間を小さくし、必要時間が許容遅延時間以下である場合には、表示タイミングを遅らせて必要時間を大きくすることが記載されている。ここで、許容遅延時間とは、画像の書き込みが開始された書込み開始時刻から、予め決められた所要時間で書き込みを終了できないときに許容される遅延時間である。必要時間とは、許容遅延時間以下の遅延時間で書き込まれた画像の書き込み開始時刻から、画像の表示を開始する表示タイミングまでに要する時間である。
【０００４】
また、表示の遅延を低減するメモリアクセスの方法に関して、追い掛け制御に関する技術が開示されている。追い掛け制御では、同じメモリ領域に対してデータの読み出しが書き込みを追い越さないように所定の遅延量を持たせてメモリアクセス制御を行うことにより、メモリアクセスによる遅延量を低減する。この種の技術として特許文献２に記載の技術が開示されている。
特許文献２には、同じメモリ領域に対してデータの読み出しが書き込みを追い越さないように所定の遅延量を持たせ、遅延量が所定の範囲にない場合にアクセスアラームを出力し、データの読み出しを一時的に停止することが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２２２６４３号公報
【特許文献２】特開２００３−３２３３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、撮像装置においても、撮像画像をリアルタイムで表示する場合に、撮像のタイミングに対して表示のタイミングが遅くなることを抑制することが求められる。そうしないと、素早い被写体の動きに追従しながら撮像することが困難になる等の課題があるからである。
【０００７】
撮像装置における動画像の記録・表示を行う場合、記録・表示のフレームレートを一定に保つ必要がある。例えば、時間的に大きさ・位置等が変化する物体を撮影している場合に記録・表示のフレームレートが変わってしまうとスムーズな変化が阻害されてしまい、見え方に違和感が出てしまう可能性がある。
【０００８】
しかしながら、特許文献１に記載の技術では、表示のタイミングを調整することで表示の遅延の低減を図る。したがって、特許文献１に記載の技術を撮像装置に適用することは容易ではない。
【０００９】
また、撮像装置におけるメモリ領域へのアクセスのタイミングは常に一定とはならない。カメラ制御や、周辺機器との通信等においてもメモリのアクセスが発生する。このため、帯域が混雑する場合には動画像の記録・表示のためのデータの読み出しに対して書き込みが通常よりも遅くなる場合がある。
【００１０】
特許文献２に記載の技術では、このようなデータの書き込みの遅れによって、追い掛け制御で設定している書き込みと読み出しとの間の遅延量が所定の遅延量を超えた場合、表示の遅延量が不安定になる場合がある。したがって、特許文献２に記載の技術を撮像装置に適用すると、画像の一部でフレームの更新が間に合わず、以前のフレームで読み出した画像が表示されることになり、表示される画像が破綻する可能性がある。このため、表示される画像が破綻しないように、必要以上の遅延量を設ける必要があり、表示の遅延が増大する。
【００１１】
本発明は、このような問題点に鑑みてなされたものであり、撮像画像をその場で表示する際に、表示の遅延を抑制することと、安定して表示させることとの双方を実現することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の画像処理装置は、撮像手段により撮像された画像データに対してフィルタ処理を行うフィルタ処理手段と、前記フィルタ処理が行われた画像データを記憶手段に書き込む書き込み手段と、前記記憶手段に記憶された画像データを読み出す読み出し手段と、前記フィルタ処理で用いるフィルタのタップ数をフレーム単位で制御する制御手段と、前記読み出し手段により読み出された画像データに基づく画像をフレーム単位で表示手段に表示させる表示処理手段と、を有し、前記制御は、前記画像データが前記記憶手段に書き込まれるタイミングから、当該画像データが前記記憶手段から読み出されるタイミングまでの時間である遅延時間が、前記タップ数を変更する前よりも長くなるように、前記タップ数を変更する制御を含むことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、撮像画像をその場で表示する際に、表示の遅延を抑制することと、安定して表示させることとの双方を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】撮像装置の構成の第１の例を示す図である。
【図２】追い掛け制御の一例を説明する図である。
【図３】画像データの読み書きのタイミングの第１の例を示す図である。
【図４】画像データの読み書きのタイミングの第２の例を示す図である。
【図５】タップ数と遅延量との関係の一例を説明する図である。
【図６】撮像装置の制御処理の一例を説明するフローチャートである。
【図７】撮像装置の構成の第２の例を示す図である。
【図８】分割ブロックの単位での画像の走査方法を示す図である。
【図９】画像データの書き込みのタイミングを示す図である。
【図１０】１フレームの画像に対して使用するフィルタのタップ数を示す図である。
【発明を実施するための形態】
【００１５】
撮像装置においてＥＶＦ（電子ビューファインダー）等に撮像画像をその場でリアルタイムに表示する際の表示の遅延の要因には、撮像センサーにおける撮像速度の限界、メモリ領域に対するアクセス遅延、フィルタ処理における回路遅延等、様々なものがある。
フィルタ処理の例としては、各種レンズの収差補正、周辺光量落ち補正、ノイズ低減処理、合成処理等が挙げられる。フィルタ処理では、着目領域の周辺の領域を参照するタップ処理を行うことが多い。タップ処理では、メモリを遅延ラインとして使用するため、ライン単位での遅延が発生する。そこで、以下の各実施形態では、主として、このような撮像装置におけるフィルタ処理による遅延を抑制するための技術を示す。以下、図面を参照しながら、実施形態を説明する。
【００１６】
（第１の実施形態）
まず、第１の実施形態を説明する。
図１は、撮像装置１０の構成の一例を示す図である。尚、撮像装置１０は、例えば、デジタルカメラまたはデジタルビデオカメラである。また、図１では、撮像装置１０の構成のうち、本実施形態の説明に必要な構成のみを示す。撮像装置１０は、図１に示す構成要素以外にも、撮像装置が備える公知の構成要素を備える。
【００１７】
図１において、撮像センサー１００は、不図示の光学レンズやおよび絞り等を通過した光学像を電気信号に変換し、画像を生成する。フィルタ処理部１０１は、撮像センサー１００から画像を入力し、各種レンズの収差補正、周辺光量落ち補正、ノイズ低減処理、および合成処理等の各種のフィルタ処理（画像処理）を施す。尚、撮像装置の本体に対し鏡筒レンズを取り外し可能とし、撮像センサー１０を鏡筒レンズに配置してもよい。
【００１８】
メモリ書き込み部１０２は、フィルタ処理部１０１によりフィルタ処理された画像データをメモリに書き込む。ＶＲＡＭ１０３は、メモリ書き込み部１０２により書き込まれたメモリ内の画像を表す。本実施形態では、メモリとして、揮発性メモリであるダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）を使用する。しかしながら、メモリとして、不揮発性メモリ等の他の一時記憶手段を使用しても構わない。このように本実施形態では、メモリ書き込み部１０２を用いることにより書き込み手段の一例が実現される。
【００１９】
メモリ読み出し部１０４は、メモリ書き込み部１０２で書き出されたＶＲＡＭ１０３をメモリから読み出す。このように本実施形態では、メモリ読み出し部１０４を用いることにより読み出し手段の一例が実現される。表示部１０５は、メモリ読み出し部１０４により読み出された画像を不図示の表示デバイスに表示する。表示デバイスは、例えば液晶ディスプレイ、ＴＶモニタ等既存のものを使用する。本実施形態では、表示デバイスは、ＥＶＦ（電子ビューファインダー）としての機能を有する。このように本実施形態では、表示部１０５を用いることにより表示処理手段の一例が実現される。
【００２０】
同期信号生成部１０６は、フレームレートを規定する同期信号を生成し、撮像センサー１００、表示部１０５、および後述するタップ数制御部１０７に、生成した同期信号を送信する。フレームレートは、３０ｆｐｓ、６０ｆｐｓ等の規格等で規定される一定のレートである。タップ数制御部１０７は、同期信号生成部１０６から送信される同期信号および後述するタイミング監視部１０８からの情報を受けて、フィルタ処理部１０１におけるフィルタ処理で使用するフィルタのタップ数をフレーム単位で決定する。このように本実施形態では、タップ数制御部１０７を用いることにより制御手段の一例が実現される。
【００２１】
タイミング監視部１０８は、メモリ書き込み部１０２、メモリ読み出し部１０４、およびカメラ制御・周辺機器との通信等で使用する不図示の他のメモリアクセス手段によってメモリ帯域が混んでいるかどうか監視する。具体的にタイミング監視部１０８は、メモリ書き込み部１０２における画像データの書き込みのタイミングと、メモリ読み出し部１０４における画像データの読み出しのタイミングを検知する。そして、タイミング監視部１０８は、メモリ書き込み部１０２によりメモリに画像データが書き込まれるタイミングから、当該画像データがメモリから読み出されるタイミングまでの時間である遅延時間が所定の期間よりも小さいか否かを判断する。すなわち、タイミング監視部１０８は、メモリ書き込み部１０２による画像データの書き込みに対する、メモリ読み出し部１０４による画像データの読み出しの遅延量が所定の遅延量よりも小さいか否かを判断する。尚、以下の説明では、「メモリ書き込み部１０２による画像データの書き込みに対する、メモリ読み出し部１０４による画像データの読み出しの遅延量」を必要に応じて「画像データの書き込みに対する読み出しの遅延量」と称する。この画像データの書き込みに対する読み出しの遅延量が所定の遅延量よりも小さい場合、タイミング監視部１０８は、メモリ帯域が混んでいると判断し、そのことを示す情報をタップ数制御部１０７に送信する。
【００２２】
次に、図２を参照して、メモリに対して画像データを読み書きする際の追い掛け制御の一例について説明する。
図２において、画像領域２００は、撮像センサー１００から入力されメモリ書き込み部１０２によりメモリに書き込まれる画像の領域を表す。書き込みの走査２０１は、メモリ書き込み部１０２により画像データをメモリに書き込む際の走査順を表す。図２に示す例では、ラスタースキャン処理により画像の上端から下端に向けて行われる。画像領域２１０は、メモリ読み出し部１０４により読み出される画像の領域を表す。読み出しの走査２１１は、メモリ読み出し部１０４により画像データをメモリから読み出す際の走査順を表す。書き込みの走査２０１と同様に、読み出しの走査２１１は、ラスタースキャン処理により画像の上端から下端に向けて行われる。表示領域２２０は、表示部１０５により表示される画像の領域を表す。本実施形態では、表示領域２２０のサイズは、画像領域２１０（メモリから読み出される画像の領域）と同じサイズであるものとする。表示の走査２２１は、表示部１０５により画像を表示する際の走査順を表す。読み出しの走査２１１と同様に、表示の走査２２１は、ラスタースキャン処理により画像の上端から下端に向けて行われる。
【００２３】
図２において、表示の走査２２１は、表示デバイスで規定された画像サイズおよびレートで行われる必要がある。一方、書き込みのレートに関しては、撮像センサー１００に対する同期信号に合わせて行われる。このレートで処理を行うことで、書き込みの走査２０１と読み出し走査２１１は、所定の遅延時間を持って少しタイミングがずれながら行われる。これにより、同じメモリ領域に対して、読み出しと書き込みのアクセスを同時に行う制御が可能となる。
【００２４】
次に、図３および図４を参照しながら、本実施形態におけるメモリ書き込み部１０２とメモリ読み出し部１０４による画像データの読み書きのタイミングの一例について説明する。図３および図４は、画像データの読み書きのタイミングの一例を示す図である。図３および図４の横軸は時刻である。図３および図４の縦軸は、画像の水平方向ライン（画像の垂直方向の位置）である。図３および図４に示す例では、画像の上端から下端に向けて順に画像データの書き込みと読み出しが行われる。
【００２５】
タイミング３００ａ、３００ｂ、３００ｃは、撮像センサー１００に対する撮像センサー同期信号（垂直同期信号（ＶＤ））がハイレベルになるタイミングの一例を示す。撮像センサー１００に対する撮像センサー同期信号は、同期信号生成部１０６によって生成される。
【００２６】
グラフ３０１ａ、３０１ｂ、３０１ｃは、メモリ書き込み部１０２によってメモリに書き込まれる画像データの、画像上の水平方向のラインの位置と書き込みタイミングとの関係の一例を示す。メモリ書き込み部１０２は、撮像センサー１００に対する撮像センサー同期信号がハイレベルになるタイミング３００ａ、３００ｂ、３００ｃに従って、画像の上端から下端に向けてライン単位でメモリへ画像データを書き込む。
【００２７】
タイミング３０２ａ、３０２ｂ、３０２ｃは、表示部１０５に対する表示同期信号がハイレベルになるタイミングの一例を示す。表示同期信号は、同期信号生成部１０６によって生成される。
【００２８】
グラフ３０３ａ、３０３ｂ、３０３ｃは、メモリ読み出し部１０４によってメモリから読み出される画像データの、画像上の水平方向のラインの位置と読み出しのタイミングとの関係の一例を示す。メモリ読み出し部１０４は、表示同期信号がハイレベルになるタイミング３０２ａ、３０２ｂ、３０２ｃに従って、画像の上端から下端に向けてライン単位でメモリから画像データを読み出す。
【００２９】
本実施形態では、画像データの読み出しのタイミングが書き込みのタイミングよりも早くならないようにする。そのために、画像データの書き込みと読み出しのタイミングに所定の遅延量を持たせる。これにより、画像データの読み出し速度が、画像データの書き込みの速度と同等以下となるようにする。画像データの読み出し速度が、画像データの書き込み速度よりも早い場合は、所定の遅延量として大きな値を設定することにより、画像データの読み出しのタイミングが、当該画像データの書き込みのタイミングよりも早くならないようにすればよい。
【００３０】
間隔３０４は同期間隔を示す。本実施形態においては、撮像センサー１００に対する撮像センサー同期信号の同期間隔（タイミング３００ａ、３００ｂ、３００ｃの間隔）と、表示部１０５に対する表示同期信号の同期間隔（タイミング３０２ａ、３０２ｂ、３０２ｃの間隔）は同じである。しかしながら、これらの同期間隔は、異なっていても構わない。例えば、撮像センサー１００に対する撮像センサー同期信号が、表示部１０５に対する表示同期信号に対して２倍のフレームレートである場合は、表示同期信号は撮像センサー同期信号に対して２倍の間隔で生成されることになる。この場合、メモリ読み出し部１０４は、メモリ書き込み部１０２が書き込むフレームを１フレームずつ間引いて読み出せばよい。
【００３１】
間隔３０５は、フィルタ処理部１０１で通常のタップ数を使用している時の、撮像センサー同期信号がハイレベルになるタイミング３００ｃと、メモリに書き込まれる画像データの書き込みタイミング（グラフ３０１ｃ）との間隔である。この間隔３０５は、フィルタ処理部１０１による遅延量を表している。
【００３２】
遅延量３０６は、画像データの書き込みに対する読み出しの遅延量を表す。この遅延量３０６が、追い掛け制御における所定の遅延量よりも大きい場合、メモリ読み出し部１０４は、当該フレームの画像データを破綻することなく、且つ、表示同期信号がハイレベルになるタイミング３０２ａ、３０２ｂ、３０２ｃに同期して読み出せる。図３では、このような状態を示す。
【００３３】
一方、この遅延量３０６が、追い掛け制御における所定の遅延量よりも小さくなり、メモリからデータを読み出すタイミングがメモリへデータを書き込むタイミングを追い越してしまうと、前のフレームの画像データを読み出すことになり、表示が破綻する。ただし、この遅延量３０６が、追い掛け制御における所定の遅延量よりも大きくなりすぎると、メモリへのデータの書き込みに対するメモリからの画像データの読み出しのタイミングが遅くなり、表示の遅延が大きくなる。
【００３４】
図４は、メモリ書き込み部１０２が画像データの書き込み中に画像データの書き込みが一時的に中断される場合を表す。グラフ４００は、カメラ制御や周辺機器との通信等によって、メモリ書き込み部１０２による画像データの書き込みが中断される場合のグラフを示す。グラフ４００は、図３に示すグラフ３０１ａ、３０１ｂ、３０１ｃと同様に、メモリ書き込み部１０２によってメモリに書き込まれる画像データの、画像上の水平方向のラインの位置と書き込みタイミングとの関係を示す。
【００３５】
間隔４０１は、メモリ書き込み部１０２による画像データの書き込みの中断により、画像データの書き込みに対する読み出しの遅延量が所定の遅延量より小さくなっていることを表す。尚、この遅延量は、例えば、１フレーム分の画像データの書き込みが終了したタイミングと、当該１フレーム分の画像データの読み出しが終了したタイミングとの差になる。ただし、同一のデータのメモリに対する書き込みと読み出しのタイミングの差であれば、遅延量は、書き込みおよび読み出しが終了するタイミングの差に限定されない。
【００３６】
このように画像データの書き込みに対する読み出しの遅延量が所定の遅延量より小さい場合、タイミング監視部１０８は、メモリ帯域が混雑していると判断し、そのことを示す情報をタップ数制御部１０７に送信する。タップ数制御部１０７は、この情報を受信すると、次の処理をフレーム単位で行う。すなわち、タップ数制御部１０７は、撮像センサー同期信号が次にハイレベルになるタイミングで、フィルタ処理部１０１で使用するフィルタのタップ数が、通常のタップ数よりも少なくなるようにフィルタ処理部１０１におけるタップ数の設定を変更する。
【００３７】
間隔４０２は、フィルタ処理部１０１で通常のタップ数よりも少ないタップ数を使用している時の、撮像センサー同期信号がハイレベルになるタイミングと、メモリに書き込まれる画像データの書き込みのタイミングとの間隔である。前述したように、この間隔４０２は、フィルタ処理部１０１による遅延量を表している（図３の間隔３０５の説明を参照）。間隔４０２は、通常のタップ数を使用している時の間隔３０５に比較して小さくなる。したがって、メモリ書き込み部１０２による画像データの書き込みに対する、メモリ読み出し部１０４による画像データの読み出しの遅延量は所定の遅延量を維持できる。よって、メモリ読み出し部１０４は、当該フレームの画像データを破綻することなく、且つ、表示同期信号がハイレベルになるタイミング３０２に同期して画像データを読み出すことができる。
【００３８】
すなわち、フィルタ処理部１０１で使用されるタップ数を通常よりも小さくすることによって、メモリに画像データを書き込むタイミングを早めることができる。その結果、画像表示を破綻させずに追い掛け制御を可能とする所定時間を遅延時間として確保することができる。また、遅延時間を確保するために画像データの書き込みのタイミングを早めているので、読み込みのタイミングを一定の周期にすることができる。換言すると、撮像のタイミングから画像データがメモリから読み出されるタイミングまでの時間間隔を、タップ数の変更に依らず同じとすることが可能となり、使用者に表示タイミングが変化することによる違和感を与えることを防止できる。
【００３９】
次に、図５を参照して、フィルタ処理部１０１におけるタップ数と遅延量との関係の一例を説明する。ここでは、説明を簡単にするために、タップ数が３タップである場合と５タップである場合を示す。すなわち、通常のタップ数が５タップであり、通常のタップ数よりも少ないタップ数が３タップである場合を例に挙げて示す。
【００４０】
図５において、入力ＶＤ期間５０１（図５において立ち上がっている期間）に、ｎライン分の画像データがフィルタ処理部１０１に入力される。垂直カウント５０２は、フィルタ処理部１０１で現在処理を行っているラインをカウントする。ラインメモリ５０３は、３タップ時のラインメモリである。フィルタ処理部１０１は、入力された画像データを一度ラインメモリに格納し、複数のラインの画像データを同時に読み出すことで垂直タップ処理を実現する。コピーと記載している部分５０４、５０５は、３タップ時における、画像データのラインメモリ５０３へのコピーを示す。フィルタ処理部１０１は、垂直カウント５０２が「１」および「ｎ」のときに、それぞれ、入力した画像データ（垂直カウント５０２が「０（ゼロ）」、「ｎ−１」のときに入力した画素のデータ）をコピーする。この処理により、画像の上端および下端におけるフィルタ処理を実現する。出力ＶＤ期間５０６（図５において立ち上がっている期間）に、フィルタ処理された画像データが出力される。フィルタ処理部１０１によるフィルタ処理により、３タップ時の出力ＶＤ期間５０６は、入力ＶＤ期間５０１に対して１ライン遅延する。
【００４１】
ラインメモリ５０７は、５タップ時のラインメモリである。３タップのラインメモリ５０３を使用する場合と同様に、フィルタ処理部１０１は、入力された画像データを一度ラインメモリに格納する。コピーと記載している部分５０８〜５１１は、５タップ時における、画像データのラインメモリ５０７へのコピーを示す。フィルタ処理部１０１は、は、垂直カウント５０２が「２」、「３」、「ｎ」、および「ｎ＋１」のときに、それぞれ入力した画像データ（垂直カウント５０２が「０（ゼロ）」、「ｎ−１」のときに入力した画素のデータ）をコピーする。この処理により、画像の上端および下端におけるフィルタ処理を実現する。出力ＶＤ期間５１２に、フィルタ処理された画像データが出力される。フィルタ処理部１０１によるフィルタ処理により、５タップ時の出力ＶＤ期間５１２は、入力ＶＤ期間５０１に対して２ライン遅延する。
【００４２】
図５に示すように、フィルタ処理部１０１による遅延量は、タップ数が２つ増えるたびに１ラインずつ増える。尚、本実施形態では、１つのモジュールでフィルタ処理部１０１を構成する場合を例に挙げて示す。しかしながら、フィルタ処理部１０１は、複数のモジュールで構成されていても構わない。その場合、フィルタ処理部１０１に入力される画像データに対する、フィルタ処理部１０１から出力される画像データの遅延量は、複数のモジュールにおけるそれぞれの遅延量の合計になる。
【００４３】
尚、画像データの書き込みに対する読み出しの遅延量が所定の遅延量よりも小さい場合には、記録用の画像データに対するフィルタ処理を、表示用の画像データに対するフィルタ処理とは別に行ってもよい。具体的には、まず、フィルタ処理部１０１は、通常のタップ数よりも少ないタップ数を使用して、撮像センサー１００から出力された画像データに対して前述したように表示用のフィルタ処理を行う。その後、フィルタ処理部１０１は、通常のタップ数を使用して、撮像センサー１００から出力された画像データに対して記録用のフィルタ処理を行い、当該フィルタ処理を行った画像データをＨＤＤ等に記憶する。
【００４４】
次に、図６のフローチャートを参照しながら、表示部１０５に対する画像の表示の遅延を低減するための撮像装置１０の制御処理の一例を説明する。
まず、ステップＳ６０１において、タイミング監視部１０８は、所定の遅延量ｎを設定する。
次に、ステップＳ６０２において、タイミング監視部１０８は、画像データの書き込みに対する読み出しの遅延量ｍを監視する。
次に、ステップＳ６０３において、タイミング監視部１０８は、画像データの書き込みに対する読み出しの遅延量ｍが所定の遅延量ｎよりも小さいか否かを判定する。この判定の結果、画像データの書き込みに対する読み出しの遅延量が所定の遅延量よりも小さい場合には、ステップＳ６０４に進む。
【００４５】
ステップＳ６０４に進むと、タイミング監視部１０８は、画像データの書き込みに対する読み出しの遅延量が所定の遅延量よりも小さいことを示す情報をタップ数制御部１０７に送信する。タップ数制御部１０７は、同期信号生成部１０６で生成される撮像センサー同期信号が次にハイレベルになるタイミングで、フィルタ処理部１０１で使用するフィルタのタップ数が、通常のタップ数よりも少なくなるように当該タップ数の設定を変更する。フィルタ処理部１０１は、撮像センサー同期信号がハイレベルになると、通常のタップ数よりも少ないタップ数で、撮像センサー１００から出力された画像データに対するフィルタ処理を行う。メモリ書き込み部１０２は、フィルタ処理が行われた画像データをメモリに書き込む。この場合、フィルタ処理部１０１による遅延量は小さくなり、その結果、画像データの書き込みに対する読み出しの遅延量が大きくなる。そして、後述するステップＳ６０６に進む。
【００４６】
一方、ステップＳ６０３の判定の結果、画像データの書き込みに対する読み出しの遅延量が所定の遅延量よりも小さくない場合には、ステップＳ６０５に進む。
ステップＳ６０５に進み、撮像センサー同期信号がハイレベルになると、フィルタ処理部１０１は、通常のタップ数で、撮像センサー１００から出力された画像データに対するフィルタ処理を行う。メモリ書き込み部１０２は、フィルタ処理が行われた画像データをメモリに書き込む。そして、ステップＳ６０６に進む。
【００４７】
ステップＳ６０６に進み、表示同期信号がハイレベルになると、メモリ読み出し部１０４は、メモリに記憶された画像データを読み出す。表示部１０５は、メモリ読み出し部１０４により読み出された画像データに対して表示用の処理を行い、表示デバイスに表示させる。
次に、ステップＳ６０７において、撮像装置１０は、表示デバイスへの表示を終了するか否かを判定する。この判定は、例えば、撮像装置１０に対するユーザーの操作の結果に基づいて行われる。この判定の結果、表示デバイスへの表示を終了しない場合には、ステップＳ６０２に戻り、表示デバイスへの表示を終了するまでステップＳ６０２〜Ｓ６０７の処理を繰り返し行う。そして、表示デバイスへの表示を終了すると判定すると、図６のフローチャートによる処理を終了する。
【００４８】
以上のように本実施形態では、他のメモリアクセス要因等によりメモリ書き込み部１０２による書き込みが遅れた場合、タップ数制御部１０７は、フィルタ処理部１０１におけるフィルタ処理で使用するフィルタのタップ数を少なくする。したがって、フィルタ処理部１０１におけるフィルタ処理の遅延量を小さくすることができる。よって、メモリ書き込み部１０２とメモリ読み出し部１０４による追い掛け制御による遅延量を一定以上確保することができる。これにより、撮像画像をその場で表示する（ライブビュー表示する）際に、撮像画像を破綻することなく安定して表示することを実現し、且つ、撮像画像の表示の遅延を低減することができる。
【００４９】
尚、本実施形態では、画像データの書き込みに対する読み出しの遅延量が所定の遅延量よりも小さい場合には、通常のタップ数よりも少ないタップ数を選択し、そうでない場合には、通常のタップ数を選択する場合を例に挙げて説明した。しかしながら、画像データの書き込みに対する読み出しの遅延量に応じて異なるタップ数を選択するようにしていれば、必ずしもこのようにする必要はない。例えば、画像データの書き込みに対する読み出しの遅延量に応じて、３つ以上の異なるタップ数のうちの何れか１つを選択してもよい。このようにする場合、例えば、画像データの書き込みに対する読み出しの遅延量の範囲とタップ数とを相互に関連付けてテーブルに記憶しておき、このテーブルから、画像データの書き込みに対する読み出しの遅延量に対応するタップ数を取得することができる。
【００５０】
また、本実施形態では、画像の垂直方向のタップのタップ数をフレーム単位で制御する場合を例に挙げて説明した。しかしながら、フィルタ処理における画像の走査方向と垂直な方向のタップのタップ数を制御していれば、必ずしも、画像の垂直方向のタップのタップ数をフレーム単位で制御する必要はない。例えば、フィルタ処理における画像の走査方向が図２に示すように画像の水平方向ではなく、画像の垂直方向である場合には、画像の水平方向のタップのタップ数をフレーム単位で制御する。
【００５１】
（第２の実施形態）
次に、第２の実施形態を説明する。第１の実施形態では、タップ数制御部１０７が動的にフレーム単位でタップ数を制御する場合を例に挙げて説明した。これに対し本実施形態では、タップ数制御部は、撮像装置のカメラ制御モードに応じて静的にタップ数を制御する。このように本実施形態と第１の実施形態は、タップ数制御部における処理が主として異なる。したがって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図６に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５２】
撮像装置の構成は、図１に示した構成と同じである。本実施形態では、タップ数の制御を、以下のようにして行う。ユーザーは、撮像装置１０を操作して、カメラ制御モードの設定を行う。本実施形態では、カメラ制御モードとして、画質重視モードと低表示遅延モードの２種類を選択することができる。画質重視モードは、表示される画像の画質を高めることを目的とするモードである。低表示遅延モードは、画像データの書き込みに対する読み出しの遅延量が小さくなることを抑制することを目的とするモードである。このように本実施形態では、例えば、カメラ制御モードにより動作モードが実現され、低表示遅延モードにより第１のモードが実現され、画質重視モードにより第２のモードが実現される。
【００５３】
タップ数制御部は、カメラ制御モードが画質重視モードおよび低表示遅延モードの何れであるかを判定する。この判定の結果、カメラ制御モードが画質重視モードの場合には、タップ数制御部は、フィルタ処理部１０１で使用するフィルタのタップ数を、設定可能な最大タップ数に設定する。また、タップ数制御部は、この最大タップ数において表示が破綻せずに追い掛け制御が可能になるように、例えば、画像データの書き込みに対する読み出しの遅延量３０６を、例えば、通常のタップ数のときの値よりも大きい値に設定する。
【００５４】
一方、カメラ制御モードが低表示遅延モードの場合には、タップ数制御部は、フィルタ処理部１０１で使用するタップ数を設定可能な最大タップ数よりも小さい値に設定する。また、タップ数制御部は、この最大タップ数よりも小さいタップ数において表示が破綻せずに追い掛け制御が可能になる範囲で、画像データの書き込みに対する読み出しの遅延量３０６を、最大タップ数のときの値よりも小さい値に設定する。
【００５５】
フィルタ処理部１０１におけるフィルタ処理において、タップ数と遅延量はトレードオフの関係にある。タップ数が大きいほど高度な処理が可能なため、画質を重視した処理が可能になる。逆にタップ数が小さいほど遅延量を小さくすることができ、表示の破綻を抑制し安定した表示が可能になる。
尚、本実施形態では、例えば、図６のフローチャートのＳ６０１をなくし、ステップＳ６０２においてカメラ制御モードの監視を行い、ステップＳ６０３において、カメラ制御モードが低表示遅延モードであるか否かを判定することにより処理を実現できる。したがって、本実施形態では、フローチャートの図示を省略する。
【００５６】
以上のように本実施形態では、カメラ制御モードが、画質重視モードである場合と低表示遅延モードである場合とでタップ数を変える。具体的には、後者の場合のタップ数が前者の場合のタップ数よりも相対的に少なくなるようにする。したがって、第１の実施形態で説明した効果に加え、ユーザーの要望を反映させた記録・表示を行うことができる。
【００５７】
尚、本実施形態では、カメラ制御モードが、画質重視モードである場合と低表示遅延モードである場合とでタップ数を変える場合を例に挙げて説明した。しかしながら、カメラ制御モードの数は、３つ以上であってもよい。このようにする場合、例えば、カメラ制御モードとタップ数とを相互に関連付けてテーブルに記憶しておき、このテーブルから、カメラ制御モードに対応するタップ数を取得することができる。
【００５８】
（第３の実施形態）
次に、第３の実施形態について説明する。第１、第２の実施形態では、１フレームの画像データに対するフィルタ処理で使用するタップ数を変えない場合を例に挙げて説明した。これに対し本実施形態では、タップ数制御部が１フレームの中で動的にタップ数を制御する場合について説明する。このように本実施形態と第１、第２の実施形態とは、１フレームの中で動的にタップ数を制御することによる構成および処理が主として異なる。したがって、本実施形態の説明において、第１、第２の実施形態と同一の部分については、図１〜図６に付した符号と同一の符号を付す等して詳細な説明を省略する。
【００５９】
第１、第２の実施形態では、フィルタ処理において、フレーム単位でラスタースキャン処理が行われるようにした。この場合、タップ処理に必要なラインメモリは、ライン毎に画像の水平サイズ分必要になる。したがって、メモリの回路規模の削減のためにラインメモリのサイズを小さくし、フィルタ処理の単位を、フレームを分割した分割ブロックの単位とする。本実施形態では、このような分割ブロックの単位でフィルタ処理を行う。
【００６０】
図７は、撮像装置７０の構成の一例を示す図である。本実施形態の撮像装置７０の図１に示した撮像装置１０との違いの一つは、撮像センサー１００により撮像された画像データをフィルタ処理部１０１でフィルタ処理する前に一度メモリに書き込む点である。メモリ書き込み部７０２は、撮像センサー１００から受けとった画像データを中間画像データ７０３としてメモリに一時的に書き込む。このメモリは、例えば、ＶＲＡＭ１０３が書き込まれるメモリと同様にＤＲＡＭである。
【００６１】
次に、メモリ読み出し部７０４は、中間画像データ７０３をメモリから読み出す。フィルタ処理部７０５は、メモリ読み出し部７０４により読み出された中間画像データ７０３に対してフィルタ処理を行う。以降の処理は、第１、第２の実施形態で説明した処理と同じである。
【００６２】
図８は、分割ブロックの単位でフィルタ処理を行う際の画像の走査方法の一例を説明する図である。
図８に示す例では、１フレームの画像を、水平方向に２分割、垂直方向に３分割し、６個の分割ブロック８００ａ〜８００ｆの単位でフィルタ処理を行う。矢印線８０１は、メモリ読み出し部７０４およびメモリ書き込み部１０２における画像の走査順を表す。図８に示す例では、最初にフィルタ処理が行われる分割ブロックは、左上の分割ブロック８００ａである。フィルタ処理部７０５は、分割ブロック内ではラスタースキャン処理を行う。次に、フィルタ処理部７０５は、メモリのアドレスを変更し、分割ブロック８００ｂの左上からラスタースキャン処理を行う。フィルタ処理部７０５は、同様に分割ブロック８００ｃ、８００ｄ、８００ｅ、８００ｆの順で処理を行う。
【００６３】
図８に示すように、１フレームの画像を水平方向に２分割して処理を行うことで、フィルタ処理部７０５が使用するメモリは、１フレームの画像を分割しない場合の半分で済む。１フレームの画像を垂直方向に分割する理由は、以下の通りである。１フレームの画像を垂直方向に分割しない場合、メモリ読み出し部７０４は、左右両側の２つの分割ブロックのうち、左側の分割ブロックをメモリ書き込み部１０２が全て処理し、右側の分割ブロックを処理し始めるまで読み出しを開始することができない。よって、画像データの書き込みに対する読み出しの遅延量として約１／２フレームの処理期間の遅延量が生じ、これにより、表示部１０５における表示の遅延が生じる。一方、図８に示すように、１フレームの画像を垂直方向に３分割すると、メモリ読み出し部７０４は、次のようにすることができる。すなわち、メモリ読み出し部７０４は、フィルタ処理部１０１により分割ブロック８００ｂに対するフィルタ処理が開始するタイミングで、分割ブロック８００ａのフィルタ処理後の画像データの読み出しを開始することができる。よって、１フレームの画像を垂直方向に分割すれば、分割しない場合と比較して、表示の遅延を小さくすることが可能になる。
【００６４】
次に、図９および図１０を参照しながら、分割ブロックの単位で画像データをメモリに書き込むタイミングの一例について説明する。図９は、画像データの書き込みのタイミングの一例を示す図である。図９の横軸は時刻である。図９の縦軸は、画像の水平方向ライン（画像の垂直方向の位置）である。図９に示す例では、画像の上端から下端に向けて順に画像データの書き込みが行われる。
【００６５】
図１０は、１フレームの画像に対して使用するフィルタのタップ数の一例を示す図である。図１０（ａ）は、フィルタ処理部７０５で使用するフィルタのタップ数を、全ての分割ブロック８００ａ〜８００ｆにおいて通常のタップ数としていることを示す図である。図１０（ｂ）は、フィルタ処理部７０５で使用するフィルタのタップ数を、分割ブロック８００ａ〜８００ｆに応じて異ならせていることを示す図である。
【００６６】
図９（ａ）は、全ての分割ブロックに対するタップ数を通常のタップ数にした場合のメモリ書き込み部７０２における画像データの書き込みのタイミングを示す。期間９０１ａ〜９０１ｅは、各分割ブロックのタップ処理による遅延期間を示す。図９（ｂ）は、分割ブロック８００ａ、８００ｂ、８００ｅ、８００ｆに対してはタップ数を通常よりも小さくし、分割ブロック８００ｃ、８００ｄに対してはタップ数を通常にした場合のメモリ書き込み部７０２における画像データの書き込みタイミングを示す。
【００６７】
第１の実施形態では、タップ数制御部１０７は、１フレーム内の画像の全体（全ての分割ブロック）に対して、通常のタップ数よりも少ないタップ数を、フィルタ処理部１０１で使用するフィルタのタップ数として設定する。これに対し、本実施形態のタップ数制御部７０６は、タイミング監視部１０８から、メモリ帯域が混雑していることを示す情報を受信すると、フィルタ処理部１０１で使用するフィルタのタップ数が、図１０（ｂ）に示す状態になるようにする。すなわち、タップ数制御部７０６は、分割ブロック８００ａ、８００ｂ、８００ｅ、８００ｆに対してはタップ数を通常よりも少ないタップ数にし、分割ブロック８００ｃ、８００ｄに対してはタップ数を通常のタップ数にする。一方、メモリ帯域が混雑していない場合、タップ数制御部７０６は、１フレーム内の画像の全体（全ての分割ブロック）に対して、通常のタップ数を、フィルタ処理部１０１で使用するフィルタのタップ数として設定する（図１０（ａ）を参照）。この場合の処理は、第１の実施形態と同じである。
【００６８】
図１０（ｂ）において、分割ブロック８００ａ、８００ｂ、８００ｅ、８００ｆと分割ブロック８００ｃ、８００ｄとでタップ数に差をつけている理由は、一般的に画角の端の方が中央に比較して画質の低下が目立ちにくいためである。よって、本実施形態においては、相対的に中央に位置する分割ブロックである分割ブロック８００ｃ、８００ｄに対するタップ数を他の分割ブロックに対するタップ数よりも多くする。
【００６９】
図９（ｂ）において、期間９１１は、タップ数を通常よりも小さくした場合のフィルタ処理による遅延時間を示す。また、期間９１２は、タップ数を通常のタップ数にした場合のフィルタ処理による遅延時間である。図９（ａ）、図９（ｂ）に示す通り、一部の分割ブロックにおけるタップ数を小さくすることにより、フレーム単位での書き込みタイミングが早く完了する。
【００７０】
尚、本実施形態では、例えば、図６のフローチャートのＳ６０４において、図９（ｂ）、図１０（ｂ）を参照しながら説明した処理を行い、ステップＳ６０５において、図９（ａ）、図１０（ａ）を参照しながら説明した処理を行うことにより処理を実現できる。したがって、本実施形態では、フローチャートの図示を省略する。
【００７１】
以上のように、１フレーム内の画像の相対的に端に近い位置にある分割ブロック８００ａ、８００ｂ、８００ｅ、８００ｆに対するタップ数を、相対的に中央に近い位置にある分割ブロック８００ｃ、８００ｅに対するタップ数よりも小さくする。したがって、第１の実施形態で説明した効果に加え、１フレームの画像を複数のブロックに分けてブロックの単位で処理する場合においても、画質を出来るだけ維持しつつ表示の遅延を小さくすることができる。
【００７２】
尚、本実施形態の手法は、第２の実施形態の手法に適用することができる。例えば、画質重視モードである場合には、フィルタ処理部１０１で使用するタップ数が、図１０（ａ）に示す状態になるようにする。一方、低表示遅延モードである場合には、フィルタ処理部１０１で使用するタップ数が、図１０（ａ）に示す状態になるようにする。
【００７３】
また、本実施形態では、分割ブロック８００ｃ、８００ｅに対するタップ数を通常のタップ数とし、分割ブロック８００ａ、８００ｂ、８００ｅ、８００ｆに対するタップ数を通常のタップ数よりも少なくした。しかしながら、１フレームの画像の相対的に端の領域に対するタップ数を相対的に中央の領域に対するタップ数よりも少なくしていれば、１フレームの画像に対して設定されるタップ数のパターンは２種類に限定されず、３種類以上であってもよい。第１の実施形態に本実施形態の手法を適用する場合、例えば、画像データの書き込みに対する読み出しの遅延量の範囲とタップ数のパターンとを相互に関連付けてテーブルに記憶しておき、このテーブルから、遅延量に対応するタップ数を取得することができる。また、第２の実施形態本実施形態の手法を適用する場合、例えば、カメラ制御モードとタップ数のパターンとを相互に関連付けてテーブルに記憶しておき、このテーブルから、カメラ制御モードに対応するタップ数のパターンを取得することができる。
【００７４】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００７５】
（その他の実施例）
本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が当該コンピュータプログラムを読み出して実行する。
【符号の説明】
【００７６】
１０１、７０５：フィルタ処理部、１０２、７０２：メモリ書き込み部、１０４、７０４：メモリ読み出し部、１０７、７０６：タップ数制御部、１０８：タイミング監視部
【図１】
0006494441.tif 000002
【図２】
0006494441.tif 000003
【図３】
0006494441.tif 000004
【図４】
0006494441.tif 000005
【図５】
0006494441.tif 000006
【図６】
0006494441.tif 000007
【図７】
0006494441.tif 000008
【図８】
0006494441.tif 000009
【図９】
0006494441.tif 000010
【図１０】
0006494441.tif 000011