(57)【特許請求の範囲】
【請求項１】
動画像中の連続する第１のフレームおよび第２のフレームの間に挿入する補間フレームを生成する画像処理装置であって、
前記第１および第２のフレームの少なくとも一方に繰り返しパターンが存在するか否かを検出する繰り返しパターン検出部と、
前記第１および第２のフレーム中の被写体の動きベクトルを算出する動きベクトル算出部と、
前記繰り返しパターンの第１の方向における繰り返し周期と前記動きベクトルの前記第１の方向における大きさとを比較し、その比較結果に応じた処理により、前記補間フレームを生成する補間フレーム生成部と、
を備え、
前記補間フレーム生成部は、前記繰り返しパターンの前記第１の方向における繰り返し周期に基づいて定められる閾値よりも前記動きベクトルの前記第１の方向における大きさの方が小さい場合には、前記動きベクトルに基づいて定まる前記第１および第２のフレームの過渡状態を示すフレームを前記補間フレームとして生成し、それ以外の場合には、前記過渡状態を示すフレームよりも前記動きベクトルの依存度の低いフレームを前記補間フレームとして生成する、画像処理装置。
【請求項２】
前記閾値は、前記繰り返しパターンの前記第１の方向における繰り返し周期と同一の値に設定される、請求項１に記載の画像処理装置。
【請求項３】
前記補間フレーム生成部は、前記閾値よりも前記動きベクトルの前記第１の方向における大きさの方が大きい場合には、前記第１および第２のフレームの加算平均を含む処理によって得られるフレームを前記補間フレームとして生成する、請求項１または２に記載の画像処理装置。
【請求項４】
前記補間フレーム生成部は、前記閾値よりも前記動きベクトルの前記第１の方向における大きさの方が大きい場合には、前記過渡状態を示すフレームと、前記第１および第２のフレームの加算平均によって得られるフレームとの合成フレームを前記補間フレームとして生成する、請求項３に記載の画像処理装置。
【請求項５】
前記補間フレーム生成部は、前記過渡状態を示すフレームと、前記第１および第２のフレームの加算平均によって得られるフレームとを、前記動きベクトルの前記第１の方向における大きさに応じて異なる比率で合成することにより、前記合成フレームを生成する、請求項４に記載の画像処理装置。
【請求項６】
前記補間フレーム生成部は、前記閾値よりも前記動きベクトルの前記第１の方向における大きさの方が大きい場合には、前記第１のフレームまたは前記第２のフレームを前記補間フレームとする、請求項１または２に記載の画像処理装置。
【請求項７】
前記補間フレーム生成部は、さらに、前記繰り返しパターンの前記第１の方向とは異なる第２の方向における繰り返し周期と、前記動きベクトルの前記第２の方向における大きさとを比較し、その比較結果に基づいて、前記補間フレームを生成し、
前記補間フレーム生成部は、前記繰り返しパターンの前記第２の方向における繰り返し周期に基づいて定められる閾値よりも前記動きベクトルの前記第２の方向における大きさの方が小さい場合には、前記動きベクトルに基づいて定まる前記第１および第２のフレームの過渡状態を示すフレームを前記補間フレームとして生成し、それ以外の場合には、前記過渡状態を示すフレームよりも前記動きベクトルの依存度の低いフレームを前記補間フレームとして生成する、請求項１から６のいずれかに記載の画像処理装置。
【請求項８】
前記第１の方向は各フレームが示す画像の水平方向であり、前記第２の方向は各フレームが示す画像の垂直方向である、請求項７に記載の画像処理装置。
【請求項９】
前記動きベクトル算出部は、前記第１および第２のフレームを複数の部分に分割し、分割した部分ごとに前記第１および第２のフレーム間でマッチングを行うことによって前記部分ごとに前記動きベクトルを算出し、
前記補間フレーム生成部は、前記部分ごとに算出された前記動きベクトルに基づいて、前記補間フレームを生成する、
請求項１から８のいずれかに記載の画像処理装置。
【請求項１０】
請求項１から９のいずれかに記載の画像処理装置と、
撮像によって前記第１および第２のフレームを含む動画像のデータを生成する撮像部と、
を備える撮像装置。
【請求項１１】
動画像中の連続する第１のフレームおよび第２のフレームの間に挿入する補間フレームを生成する画像処理装置において用いられるプログラムであって、コンピュータに対し、
前記第１および第２のフレームの少なくとも一方に繰り返しパターンが存在するか否かを検出するステップと、
前記第１および第２のフレーム中の被写体の動きベクトルを算出するステップと、
前記繰り返しパターンの第１の方向における繰り返し周期と前記動きベクトルの前記第１の方向における大きさとを比較するステップと、
比較結果に応じた処理により、前記補間フレームを生成するステップと、
を実行させ、
前記補間フレームを生成するステップは、前記繰り返しパターンの前記第１の方向における繰り返し周期に基づいて定められる閾値よりも前記動きベクトルの前記第１の方向における大きさの方が小さい場合には、前記動きベクトルに基づいて定まる前記第１および第２のフレームの過渡状態を示すフレームを前記補間フレームとして生成し、それ以外の場合には、前記過渡状態を示すフレームよりも前記動きベクトルの依存度の低いフレームを前記補間フレームとして生成するステップを含む、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、撮影によって取得された動画像のフレームレートを変換可能な画像処理装置に関する。
【背景技術】
【０００２】
特許文献１は画像処理装置を開示する。この画像処理装置は、複数のフレーム画像間に挿入する補間フレーム画像を生成する。特許文献１の画像処理装置は、複数のフレーム画像の各フレーム内の画素値の変化に基づいて、補間フレーム画像に含まれる補間画素の動きベクトルの探索範囲を算出し、算出した探索範囲内において推定した動きベクトルに基づいて、補間フレーム画像を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１７７７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
動きベクトルを用いて補間フレームを生成する場合、当該画像中に柵や格子などの繰り返しパターンを有する被写体が存在するとき、動きベクトルを誤って算出する可能性が高くなり、適切な補間フレームが得られないことがある。
【０００５】
本開示は、動画像中に繰り返しパターンを有する被写体が存在するときにおいても、より適切な補間フレームを生成することができる画像処理技術を提供する。
【課題を解決するための手段】
【０００６】
本開示の一実施形態に係る画像処理装置は、動画像中の連続する第１のフレームおよび第２のフレームの間に挿入する補間フレームを生成する。画像処理装置は、第１および第２のフレームの少なくとも一方に繰り返しパターンが存在するか否かを検出する繰り返しパターン検出部と、前記第１および第２のフレーム中の被写体の動きベクトルを算出する動きベクトル算出部と、前記繰り返しパターンの第１の方向における繰り返し周期と前記動きベクトルの前記第１の方向における大きさとを比較し、その比較結果に応じた処理により、前記補間フレームを生成する補間フレーム生成部とを備える。
【発明の効果】
【０００７】
本開示の技術によれば、動画像中に繰り返しパターンを有する被写体が存在するときにおいても、より適切な補間フレームを作成することができる。
【図面の簡単な説明】
【０００８】
【図１】例示的な実施の形態１にかかるデジタルビデオカメラの構成を示すブロック図である。
【図２】例示的な実施の形態１にかかるデジタルビデオカメラの画像処理部の構成を示すブロック図である。
【図３】例示的な実施の形態１にかかるデジタルビデオカメラの画像処理部による動作を示すフローチャートである。
【図４Ａ】繰り返しパターンの検出のために、１つのフレームが複数のマクロブロックに分割されて処理されることを示す図である。
【図４Ｂ】１つのマクロブロックが水平方向にシフトしながら繰り返しパターンを検出する動作を示す図である。
【図４Ｃ】１つのマクロブロックについて、シフト量に対する差分評価値（ＳＡＤ）の関係を示す図である。
【図５Ａ】水平方向の繰り返しパターンの例を示す図である。
【図５Ｂ】垂直方向の繰り返しパターンの例を示す図である。
【図５Ｃ】水平方向および垂直方向の繰り返しパターンの例を示す図である。
【図５Ｄ】斜め方向の繰り返しパターンの例を示す図である。
【図６Ａ】繰り返しパターンを有する第１のフレームの例を示す図である。
【図６Ｂ】動きベクトルが適切に算出されている場合の例を示す図である。
【図６Ｃ】動きベクトルが適切に算出されていない場合の例を示す図である。
【図７】繰り返しパターンの幅（繰り返し周期）を閾値としたときの、動きベクトルの大きさと係数αとの関係を示す図である。
【図８】２つの閾値を設けた例における動きベクトルの大きさと係数αとの関係を示す図である。
【発明を実施するための形態】
【０００９】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１０】
なお、発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【００１１】
（実施の形態１）
以下、本開示の技術をデジタルビデオカメラに適用した実施の形態１について図面を参照しながら説明する。以下の説明において、動画像を構成する個々の静止画像を示すデータを「フレーム画像」または単に「フレーム」と称する。また、連続する２つのフレームの間に挿入するフレームを「補間フレーム画像」または単に「補間フレーム」と称する。
【００１２】
［１−１．概要］
本実施の形態のデジタルビデオカメラ１００（以下、単に「カメラ」と呼ぶことがある。）は動画像を撮影できる撮像装置である。本実施の形態のデジタルビデオカメラ１００は、動画像の撮影の際リアルタイムに、または撮影後、ユーザの指示などに応じてフレームレートを変換することができる。本実施の形態のデジタルビデオカメラ１００は、撮影により得られた連続するフレーム画像間に、補間フレーム画像を挿入することにより、フレームレートを変更する。例えば、毎秒６０フレームの動画撮影を行っている状態から、フレーム間に補間フレーム画像を挿入することによって毎秒１２０フレームの動画撮影へと切り替えることができる。デジタルビデオカメラ１００がフレームレートを切り替えるタイミングは、ユーザによるフレームレート変更の指示があったときでもよいし、撮影によって取得した画像（以下、「撮影画像」と称する。）から得られる情報（輝度情報など）が変更されたときであってもよいし、所定のモード（低速撮影モードなど）が選択されたときでもよい。
【００１３】
［１−２．デジタルビデオカメラの構成］
まず、本実施の形態にかかるデジタルビデオカメラの構成について図１を用いて説明する。図１は、デジタルビデオカメラ１００の構成を示すブロック図である。デジタルビデオカメラ１００は、１または２以上のレンズを含む光学系１１０により形成された被写体像をＣＭＯＳイメージセンサ１４０で撮像する。ＣＭＯＳイメージセンサ１４０で生成された画像データは、画像処理部１６０で各種処理が施され、メモリカード２００に格納される。以下、デジタルビデオカメラ１００の構成を詳細に説明する。
【００１４】
光学系１１０は、ズームレンズやフォーカスレンズを含む複数のレンズ群を有する。ズームレンズを光軸に沿って移動させることにより、被写体像の拡大、縮小をすることができる。また、フォーカスレンズを光軸に沿って移動させることにより、被写体像のピントを調整することができる。なお、図１には３つのレンズが例示されているが、光学系１１０を構成するレンズの数は要求される機能に応じて適宜決定される。
【００１５】
レンズ駆動部１２０は、光学系１１０に含まれる各種レンズを駆動する。レンズ駆動部１２０は、例えばズームレンズを駆動するズームモータや、フォーカスレンズを駆動するフォーカスモータを含む。
【００１６】
絞り２５０は、使用者の設定に応じて若しくは自動で、開口部の大きさを調整し、透過する光の量を調整する。
【００１７】
シャッタ１３０は、ＣＭＯＳイメージセンサ１４０に入射させる光を遮光するための手段である。
【００１８】
ＣＭＯＳイメージセンサ１４０は、光学系１１０で形成された被写体像を光電変換することにより、画像データを生成する撮像素子である。ＣＭＯＳイメージセンサ１４０は、露光、転送、電子シャッタなどの各種動作を行う。ＣＭＯＳイメージセンサ１４０は、一定時間ごとに新しい画像データを生成する。本実施形態では、撮像素子としてＣＭＯＳイメージセンサ１４０を用いているが、ＣＣＤイメージセンサやＮＭＯＳイメージセンサなどの他の種類の撮像素子を用いてもよい。
【００１９】
Ａ／Ｄコンバータ（ＡＤＣ）１５０は、ＣＭＯＳイメージセンサ１４０に電気的に接続され、ＣＭＯＳイメージセンサ１４０で生成されたアナログ画像データをデジタル画像データに変換する回路である。
【００２０】
本実施形態では、光学系１１０、絞り２５０、シャッタ１３０、ＣＭＯＳセンサ１４０、ＡＤＣ１５０を含む複数の要素が、撮像部４００を構成している。撮像部４００により、連続する複数のフレームを含むデジタル動画像データが生成され、出力される。
【００２１】
画像処理部１６０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）またはマイクロコンピュータ（マイコン）などで実現され得る。画像処理部１６０は、ＡＤＣ１５０に電気的に接続され、ＣＭＯＳイメージセンサ１４０で生成された画像データに対して各種処理を施し、表示モニタ２２０に表示するための画像データや、メモリカード２００に格納するための画像データを生成する。例えば、画像処理部１６０は、ＣＭＯＳイメージセンサ１４０で生成された画像データに対して、ガンマ補正、ホワイトバランス補正、傷補正などの各種処理を行う。また、画像処理部１６０は、ＣＭＯＳイメージセンサ１４０で生成された画像データを、Ｈ．２６４規格やＭＰＥＧ２規格等に準拠した圧縮形式等により圧縮する。
【００２２】
画像処理部１６０は、さらに、ＣＭＯＳイメージセンサ１４０によって生成される画像データ（フレーム）に基づいて、動きベクトルを算出することができる。そして、画像処理部１６０は、算出した動きベクトルと、当該動きベクトルに関連するフレーム画像とに基づいて、動き補償による補間フレーム画像を生成することができる。また、画像処理部１６０は、動き補償によらず、関連する複数のフレーム画像を所定の比率で足し合わせて平均化することにより補間フレームを生成することができる。これらの補間フレームの生成処理の詳細については後述する。
【００２３】
コントローラ１８０は、デジタルカメラ全体を制御する制御手段である。コントローラ１８０は、半導体素子などで実現可能である。コントローラ１８０は、ハードウェアのみで構成してもよいし、ハードウェアとソフトウェアとを組み合わせることにより実現してもよい。コントローラ１８０は、例えばマイコンなどで実現できる。あるいは、画像処理部１６０等とともに１つの半導体チップで実現してもよい。コントローラ１８０は、図１に示すように、画像処理部１６０その他の各部に電気的に接続され、各部に制御信号を送る。
【００２４】
なお、画像処理部１６０およびコントローラ１８０は、それぞれ別個の半導体チップで構成してもよいし、１つの半導体チップで構成してもよい。後述する処理が実現できれば、これらの物理的構成はどのようなものでもよい。
【００２５】
バッファ１７０は、画像処理部１６０およびコントローラ１８０に電気的に接続され、これらのワークメモリとして機能する記憶領域である。バッファ１７０は、例えば、ＤＲＡＭ、強誘電体メモリなどで実現できる。
【００２６】
カードスロット１９０は、メモリカード２００を装着可能であり、機械的および電気的にメモリカード２００と接続可能である。メモリカード２００は、フラッシュメモリや強誘電体メモリなどを内部に含み、画像処理部１６０で生成された画像ファイル等のデータを格納可能である。
【００２７】
内部メモリ２３０は、フラッシュメモリや強誘電体メモリなどで構成される。内部メモリ２３０は、デジタルビデオカメラ１００全体を制御するための制御プログラム等を記憶している。制御プログラムは、コントローラ１８０によって実行される。
【００２８】
操作部材２１０は、使用者からの操作を受け付けるユーザーインターフェースの総称である。操作部材２１０は、例えば、使用者からの操作を受け付ける十字キーや決定ボタン等を含む。
【００２９】
表示モニタ２２０は、ＣＭＯＳイメージセンサ１４０で生成した画像データが示す画像（スルー画像）や、メモリカード２００から読み出した画像データが示す画像を表示可能である。また、表示モニタ２２０は、デジタルビデオカメラ１００の各種設定を行うための各種メニュー画面等も表示可能である。
【００３０】
ジャイロセンサ２４０は、デジタルビデオカメラ１００の単位時間あたりの角度変化すなわち角速度に基づいてヨーイング方向のぶれ・ピッチング方向の動きを検出する。ジャイロセンサ２４０は、検出した動きの量を示すジャイロ信号をコントローラ１８０に出力する。
【００３１】
なお、上記の構成はあくまでも一例であり、画像処理部１６０が後述する動作を実行するように構成されている限り、デジタルビデオカメラ１００はどのように構成されていてもよい。
【００３２】
［１−３．動作］
続いて、本実施の形態にかかるデジタルビデオカメラ１００の動作について説明する。本実施の形態にかかるデジタルビデオカメラ１００は、時間的に連続している第１のフレームおよび第２のフレームから、第１のフレームと第２のフレームとの間に挿入する補間フレームを作成する機能を備えている。
【００３３】
図２は、本実施の形態にかかるデジタルビデオカメラ１００の上記動作を実現するための画像処理部１６０の構成を示すブロック図である。画像処理部１６０は、撮像部４００から出力された動画像データを受け取る画像入力部３００と、動画像データを構成する各フレームに繰り返しパターンが含まれているか否かを検出する繰り返しパターン検出部３０１と、連続する２つのフレーム間の動きベクトルを算出する動きベクトル算出部３０２と、２つのフレーム間に挿入する補間フレームを生成する補間フレーム生成部３１０と、補間フレームが挿入された動画像データを外部に出力する画像出力部３０４とを備えている。これらの各要素は、物理的に分離された個々の回路ブロックから実現されていてもよいし、各要素の処理を規定するプログラムを画像処理部１６０に実装されたプロセッサが実行することによって実現されていてもよい。
【００３４】
繰り返しパターン検出部３０１は、各フレームが示す画像中に繰り返しパターンが含まれているか否かを検出し、繰り返しパターンが含まれている場合、その繰り返し周期を測定する。動きベクトル算出部３０２は、連続する第１および第２のフレーム間でマッチングを行うことにより、動きベクトルを算出する。補間フレーム生成部３１０は、動きベクトルに基づく補間フレームを生成する動き補償補間画像生成部３０３と、第１および第２のフレームを加算平均することによって得られる補間フレームを生成する加算平均補間画像生成部３０７と、繰り返し周期および動きベクトルの大きさの比較結果に基づいて補正フレームを生成する合成部３０６とを有している。
【００３５】
以下、デジタルビデオカメラ１００の撮影時の動作を説明する。
【００３６】
電源がＯＮされると、コントローラ１８０は、デジタルビデオカメラ１００を構成する各部に電力を供給する。デジタルビデオカメラ１００は、ユーザの操作等により、撮影モードと再生モードとを切り換えることができる。電力が供給された後、撮影モードに設定されていれば、コントローラ１８０は、光学系１１０やＣＭＯＳイメージセンサ１４０などを初期化して、撮影可能な状態にセットアップする。撮影可能な状態へのセットアップが完了すると、コントローラ１８０は、ＣＭＯＳイメージセンサ１４０が撮影し、Ａ／Ｄコンバータ１５０によってデジタル信号に変換された画像信号をスルー画像として表示可能な信号に変換するように画像処理部１６０に指示し、生成されたスルー画像を表示モニタ２２０に表示するように制御する。表示モニタ２２０に表示されたスルー画像を見ることにより、ユーザは撮影中の画角や被写体などを確認することができる。ユーザは、任意のタイミングで、動画記録ボタン（操作部材２１０の一つ）を押下することにより、コントローラ１８０に動画像の記録指示を行うことができる。コントローラ１８０は、動画像の記録指示を受け付けると、ＣＭＯＳイメージセンサ１４０が撮影している画像を、所定の規格に準拠した形式により動画像として処理し、処理後の動画像データのメモリカード２００への記録を開始する。一方、ユーザは、動画記録中の任意のタイミングで、動画記録ボタンを押下することにより、コントローラ１８０に動画像の記録終了指示を行うことができる。
【００３７】
デジタルビデオカメラ１００は、動画記録中において、撮影する動画像のフレームレートを変更することができる。フレームレートが変更されるタイミングは、例えば、ユーザによる指示があったとき、撮影画像から得られる情報（輝度情報など）が変更されたとき、所定のモード（低速撮影モードなど）が選択されたとき等であり得る。或いは、予めフレームレートの変更を行うように設定しておいてもよい。
【００３８】
画像処理部１６０は、フレームレートの変更を要する場合、フレーム画像間に挿入する補間フレーム画像を生成する。以下、画像処理部１６０による補間フレーム画像を生成する処理を説明する。
【００３９】
図３は、画像処理部１６０が実行する補間フレーム画像の生成処理を示すフローチャートである。画像入力部３００は、まず、撮像部４００から出力されるフレーム画像を順次取得する（Ｓ３０１）。画像入力部３００が取得したフレーム画像は、繰り返しパターン検出部３０１、動きベクトル算出部３０２、加算平均補間画像生成部３０７、画像出力部３０４へと送られる。
【００４０】
繰り返しパターン検出部３０１は、画像入力部３００から順次入力される個々のフレーム画像について、そのフレーム画像中に含まれる被写体に柵や格子、チェック模様などの繰り返しパターンが存在するか否かを検出する。また、繰り返しパターン検出部３０１は、繰り返しパターンの幅（繰り返し周期）を検出する（Ｓ３０２）。繰り返しパターン検出処理および繰返し周期検出処理の詳細は後述する。繰り返しパターンの有無および繰返し周期を示す情報は、補正フレーム生成部３１０における合成部３０６に送られる。
【００４１】
一方、動きベクトル算出部３０２は、後述する処理により、画像入力部３００から順次入力されるフレームについて、連続する２つのフレーム間の動きベクトルを順次算出する（Ｓ３０３）。算出された動きベクトルを示す情報は、補正フレーム生成部３１０における合成部３０６および動き補償補間画像生成部３０３に送られる。
【００４２】
続いて、補正フレーム生成部３１０における合成部３０６は、フレーム画像中の水平方向および垂直方向について、繰り返しパターンの繰り返し周期と動きベクトルの大きさとを比較する（Ｓ３０４）。そして、動きベクトルの大きさが繰返し周期以下である場合、動き補償補間画像生成部３０３によって生成される動き補償補間画像を補間フレームとする（Ｓ３０５）。一方、動きベクトルの大きさが繰り返し周期よりも大きい場合、動き補償補間画像と、加算平均補間画像生成部３０７によって生成される加算平均補間画像との合成画像を補間画像とする（Ｓ３０６）。最後に、画像出力部３０４は、合成部３０６から受け取った補間フレームを、連続する２つのフレームの間に挿入して出力する（Ｓ３０７）。
【００４３】
以下、各処理を具体的に説明する。
【００４４】
図４Ａ〜４Ｃは、繰り返しパターン検出部３０２による繰り返しパターンの存在の検出、および繰り返し周期の検出の具体例を説明するための図である。図４Ａに示すように、繰り返しパターン検出部３０２に入力された個々のフレーム４０は、例えば１６画素×１６画素のマクロブロック４２の単位で処理が行なわれる。繰り返しパターン検出部３０２は、図４Ｂに示すように、フレーム画像を構成するマクロブロック４２のそれぞれについて、水平方向に画素をずらした同じく１６画素×１６画素のブロックとの差分を比較することにより、水平方向の繰り返しパターンを検出する。ここで差分は、ＳＡＤ（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ）や、ＳＳＤ（Ｓｕｍ  ｏｆ  Ｓｑｕａｒｅｄ  Ｄｉｆｆｅｒｅｎｃｅ）といった評価関数によって評価される。図示していないが、繰り返しパターン検出部３０２は、フレーム画像を構成するマクロブロックのそれぞれについて、垂直方向に画素をずらした同じく１６画素×１６画素のブロックとの差分を比較することにより、垂直方向の繰り返しパターンを検出する。本実施形態では、水平方向および垂直方向の繰り返しパターンの検出は、各マクロブロックについて、後述する動きベクトルの算出のために行われるパターンマッチングの探索範囲内で行われるが、両者の探索範囲が異なっていてもよい。
【００４５】
図４Ｃは、あるマクロブロックについて、水平方向に画素をずらしたときの差分（ＳＡＤ）の一例をプロットした図である。現在処理対象としているマクロブロックの探索範囲内に繰り返しパターンが存在する場合、図４Ｃに示すように、極大値と極小値を有する波形のＳＡＤのプロットが得られる。繰り返し検出部３０２は、処理対象としているマクロブロックの中心位置から、ＳＡＤが極小値をとる画素位置との距離（単位：画素）を、繰り返しパターンの幅（繰り返し周期）として検出する。一方、現在処理対象としているマクロブロックの探索範囲内に繰り返しパターンが存在しない場合、図４Ｃに示すような極大値や極小値を有するＳＡＤの波形は得られない。すなわち、繰り返しパターン検出部３０２は、図４Ｃに示すような極大値や極小値を有するＳＡＤの波形が得られるか否かにより、処理対象のマクロブロック探索範囲内に繰り返しパターンが存在するか否かを検出する。
【００４６】
なお、本明細書における「繰り返しパターン」とは、画像の中のある部分の単位パターンが、一方向に一定の周期で連続するパターンを意味する。ここで、「画像の中のある部分の単位パターン」とは、画像中の一部の領域に含まれる複数の画素の画素値（輝度値または特定の色成分の値）によって特定されるパターンを指す。より具体的には、画像中の一部の領域に含まれる複数の画素によって規定されるブロックと、そこから１つの方向にある距離だけ変位したブロックとの間で、ＳＡＤやＳＳＤなどの評価値を求めたとき、変位量に対する評価値の変化を示す波形が少なくとも１つの極大値および極小値を有するパターンが「繰り返しパターン」である。ここで、「極大値」は、あらゆる極大値を意味するのではなく、極大値のうち、所定の基準値を上回るもののみを意味する。同様に、「極小値」は、あらゆる極小値を意味するのではなく、極小値のうち、所定の基準値を下回るもののみを意味する。極大値および極小値の基準値は、要求される性能に応じて適宜決定される。極小値についての所定の基準値は、“０”に近い値に設定され得るが、必ずしも“０”である必要はない。
【００４７】
図５Ａ〜５Ｄは、繰返し周期が検出される場合の具体例を示す図である。図５Ａは、水平方向に連続する繰り返しパターンを有する被写体（例えば柵）がマクロブロックの探索範囲内に存在する場合の例を示している。この例では、マクロブロックを水平方向に移動させながらＳＡＤ等の評価関数を計算することにより、図４Ｃに類似する評価関数の波形が得られる。図５Ａでは、実線で表されているマクロブロックの位置を基準として、点線で表されているマクロブロックの位置までずらしたときに、差分の極小値が得られる。この場合、そのずれ量が水平方向の繰り返し周期として検出される。
【００４８】
図５Ｂは、垂直方向に連続する繰り返しパターンを有する被写体がマクロブロックの探索範囲内に存在する場合の例を示している。この例では、マクロブロックを垂直方向に移動させながらＳＡＤ等の評価関数を計算することにより、図４Ｃに類似する評価関数の波形が得られる。図５Ｂでも、実線で表されているマクロブロックの位置を基準として、点線で表されているマクロブロックの位置までずらしたときに、差分の極小値が得られる。この場合、そのずれ量が垂直方向の繰り返し周期として検出される。
【００４９】
図５Ｃは、水平方向および垂直方向に連続する繰り返しパターン（例えばチェック模様）を有する被写体がマクロブロックの探索範囲内に存在する場合の例を示している。この例では、マクロブロックを水平方向および垂直方向に移動させながらＳＡＤ等の評価関数を計算することにより、図４Ｃに類似する評価関数の波形が、水平方向および垂直方向の両方について得られる。図５Ｃでも、実線で表されているマクロブロックの位置を基準として、点線で表されているマクロブロックの位置までずらしたときに、差分の極小値が得られる。この場合、それらのずれ量が水平方向および垂直方向の繰り返し周期として検出される。
【００５０】
図５Ｄは、斜め方向に連続する繰り返しパターンを有する被写体がマクロブロックの探索範囲内に存在する場合の例を示している。この例でも、マクロブロックを水平方向および垂直方向に移動させながらＳＡＤ等の評価関数を計算することにより、図４Ｃに類似する評価関数の波形が、水平方向および垂直方向の両方について得られる。図５Ｄでも、実線で表されているマクロブロックの位置を基準として、点線で表されているマクロブロックの位置までずらしたときに、差分の極小値が得られる。この場合、それらのずれ量が水平方向および垂直方向の繰り返し周期として検出される。
【００５１】
続いて、動きベクトル算出部３０２による動きベクトル算出動作の具体例を説明する。
【００５２】
動きベクトル算出部３０２は、画像入力部３００から、時間的に連続した複数のフレームを取得する。動きベクトル算出部３０２は、時間的に連続した複数のフレームについて、例えば１６画素×１６画素のマクロブロック単位で動きベクトルの方向および大きさの検出を行う。具体的には、時間的に連続した複数のフレームのうち、一方のフレーム内のあるマクロブロックについて、当該マクロブロックに対応する他方のフレーム内の画素位置から水平方向および垂直方向に所定の探索範囲内でずらした同じく１６画素×１６画素のブロックと比較し、差分（例えばＳＡＤ）を順次計算する。動きベクトル算出部３０２は、画素を除々にずらしながら当該差分を算出する。そして、処理対象のマクロブロックの中心位置に対応する画素から、この差分が最小となった画素の位置までの距離および方向（水平成分および垂直成分）を検出する。以上の処理により、動きベクトル算出部３０２は、動きベクトルを算出する。
【００５３】
評価関数としてＳＡＤを用いる場合、画像上の座標（ｘ，ｙ）における動きベクトル（ｄｘ（ｘ，ｙ），ｄｙ（ｘ，ｙ））は、以下の式１で表される評価関数Ｐ１（ｘ，ｙ，ｄｘ，ｄｙ）を最小にするｄｘ，ｄｙを求めることによって決定される。ここで、画像の水平方向（ｘ方向）および垂直方向（ｙ方向）についてのマクロブロックのサイズ（画素数に換算された値）を、それぞれＢｘ、Ｂｙとする。また、比較対象の２つのフレームのうち、先のフレームの画素値（輝度値または特定の色成分の値）をＬ１、後のフレームの画素値をＬ２とする。
【数１】
0006037224.tif 000002
【００５４】
一方、評価関数としてＳＳＤを用いる場合、画像上の座標（ｘ，ｙ）における動きベクトル（ｄｘ（ｘ，ｙ），ｄｙ（ｘ，ｙ））は、以下の式２で表される評価関数Ｐ２（ｘ，ｙ，ｄｘ，ｄｙ）を最小にするｄｘ，ｄｙを求めることによって決定される。
【数２】
0006037224.tif 000003
【００５５】
動きベクトル算出部３０２は、式１、２で表されるような評価関数を用いることにより、動きベクトル（ｄｘ（ｘ，ｙ），ｄｙ（ｘ，ｙ））をマクロブロックごとに計算することができる。
【００５６】
繰り返しパターン検出部３０１は、検出した繰り返しパターンの幅、すなわち画素数に換算された繰り返し周期を、合成部３０６に通知する。同様に、動きベクトル算出部３０２は、算出した動きベクトルの大きさ（画素数に換算された値）を、合成部３０６に通知する。
【００５７】
また、動きベクトル算出部３０２は、画像入力部３００から取得した時間的に連続する複数のフレームと、検出した動きベクトルとを、動き補償補間画像生成部３０３に送る。動きベクトル算出部３０２は、処理対処のフレームを構成するマクロブロックのそれぞれについて検出した動きベクトルを、動き補償補間画像生成部３０３に送る。
【００５８】
続いて、補間フレーム生成部３１０の処理の詳細を説明する。
【００５９】
動き補償補間画像生成部３０３は、時間的に連続した複数のフレーム画像の一方から、動きベクトルによって定まる中間の位置へと、当該動きベクトルを算出した際に処理対象としたマクロブロックが示す画像部分をシフトさせる。すなわち、当該マクロブロックの動きベクトルが（ｄｘ，ｄｙ）で表される場合、このマクロブロックが示す画像の部分を、（ｄｘ／２，ｄｙ／２）だけシフトさせる。以下、この処理を、「動き補償補間」と呼ぶ。動き補償補間画像生成部３０３は、フレームを構成するそれぞれのマクロブロックについて、同様の動き補償補間を行うことにより、時間的に連続した複数のフレーム画像間に挿入する補間フレーム画像を生成することができる。動き補償補間画像生成部３０３は、生成した動き補償補間フレーム画像を合成部３０６に送る。なお、動き補償補間フレーム画像は、動きベクトルに基づいて生成される連続する２つのフレームの過渡状態を示すフレームであれば、必ずしも中間状態のフレームである必要はない。例えば、連続する２つのフレームの間に２枚以上の補間フレームを挿入する場合、動き補償補間フレーム画像は、中間状態よりもいずれか一方のフレームに近い状態を示す。
【００６０】
一方、加算平均補間画像生成部３０７は、画像入力部３００から、時間的に連続した複数のフレームを取得する。そして、加算平均補間画像生成部３０７は、挿入予定の補間フレームを挟むフレームであって、時間的に連続した２つのフレームを、画素ごとに加算平均する。これにより、加算平均補間画像生成部３０７は、加算平均補間フレーム画像を生成する。加算平均補間画像生成部３０７は、生成した加算平均補間フレーム画像を合成部３０６に送る。
【００６１】
合成部３０６は、ステップＳ３０４において、繰り返しパターン検出部３０１から通知された繰り返し周期（画素換算）と、動きベクトル算出部３０２から通知された動きベクトルの大きさ（画素換算）とを比較する。本実施形態では、この比較は、水平方向および垂直方向の両方について行われるが、いずれか一方についてのみ行ってもよい。合成部３０６は、この比較結果に基づいて、フレーム画像間に挿入する補間フレーム画像を生成する。ここで、動き補償補間フレームをＦ１、加算平均補間フレームをＦ２とし、それぞれの係数をα（０＜α＜１）、β（＝１−α）とする。最終的に採用する補間フレームＦは、次式に従って生成される。
Ｆ  ＝  αＦ１  ＋  βＦ２                            （式３）
ここで、式３の演算は、例えば画素ごとに行われる。
【００６２】
水平方向および垂直方向の少なくとも一方について、繰り返し周期が動きベクトルの大きさよりも大きい場合、繰り返しパターンの存在に起因する動きベクトルの誤検出の可能性が低い。そのため、この場合、合成部３０６は、動き補償補間フレーム画像を、フレーム画像間に挿入する補間フレーム画像として採用する。一方、水平方向および垂直方向のいずれかについて、繰り返し周期が動きベクトルの大きさよりも小さい場合、繰り返しパターンの存在に起因する動きベクトルの誤検出の可能性が高くなる。そのため、動きベクトルの大きさと繰り返し周期との差が大きいほど、動きベクトルの誤検出の影響のない加算平均補間フレーム画像の比率を高めていく。
【００６３】
図６Ａ〜６Ｃは、算出された動きベクトルの大きさの方が繰返し周期よりも大きい場合、動きベクトルが誤検出されている可能性が高いことを示す図である。図６Ａは、繰り返しパターンが存在する第１のフレームの例を示している。図６Ｂは、第１のフレームに続く第２のフレームの例を示している。第２のフレームでは、第１のフレームに比べて、繰り返しパターンの部分が若干右にずれている。このため、第１のフレーム内のあるマクロブロック６２に対応する第２のフレーム内の領域６３は、若干右にずれる。この例では、図６Ｂにおいて矢印で表されるベクトル６５が本来検出されるべき動きベクトルである。
【００６４】
しかし、動きベクトル検出部３０２は、図６Ｂに示す領域６３ではなく、図６Ｃに示す領域６３’をマクロブロック６２に対応する領域であると判定してしまう場合がある。その場合、図６Ｃにおいて矢印で表されるベクトル６５’が動きベクトルとして算出されてしまうことになる。このような動きベクトルに基づいて動き補償補間フレームを生成してしまうと、補間後の動画像の品質の低下を招いてしまう。
【００６５】
このような問題は、算出された動きベクトルの大きさが、繰返し周期よりも大きく、その差が乖離しているほど発生しやすくなる。そこで、本実施形態における合成部３０６は、算出された動きベクトルの大きさの方が繰返し周期よりも大きい場合には、その差が大きいほど動きベクトルの依存度の低い加算平均補間フレームの割合を大きくする。
【００６６】
図７は、繰り返し周期を閾値としたときの、動きベクトルの大きさと係数αとの関係を示す図である。図７に示すように、動きベクトルが繰り返し周期（閾値）を超えるまでは、動きベクトルの誤検出の可能性が低いため、より画質の高い動き補償補間フレーム画像を、フレーム画像間に挿入する補間フレーム画像として採用する。一方、動きベクトルが繰り返し周期（閾値）を越えると、動きベクトルの誤検出の可能性が高まっていくため、動き補償補間フレーム画像の採用比率αを除々に減らしていき、動きベクトルの誤検出の影響のない加算平均補間フレーム画像の比率β（＝１−α）を増やしていく。これにより、撮影により取得されたフレームの画像中に繰り返しパターンが含まれていても、より適切に補間フレームを作成することができる。なお、この例では、繰り返し周期そのものを閾値としているが、繰返し周期に基づいて定められる他の値を閾値としてもよい。
【００６７】
合成部３０６は、作成した補間フレーム画像を画像出力部３０４へと送る。画像出力部３０４は、作成された補間フレーム画像が、時間的に連続した対応するフレームに挿入されていくよう、順次補間フレーム画像を、対応するフレーム画像間に挿入配置する。これにより、画像処理部１６０は、フレームレートを変更した動画像を出力することができる。
【００６８】
［１−４．効果等］
以上のように、本実施の形態においては、繰り返しパターン検出部３０１が検出した繰り返しパターンの幅（繰り返し周期）と、動きベクトル算出部３０２が算出した動きベクトルの大きさとの比較結果に基づいて、フレーム画像間に挿入する適切な補間フレーム画像が生成される。これにより、繰り返しパターンの繰り返し周期に起因する動きベクトルの誤検出を考慮した補間フレーム画像を作成することができる。従って、フレームレートを高フレームレートに変更したとしても、より画質のよい動画像を表示モニタに表示させることができる。
【００６９】
また、補間フレーム生成部３１０は、画像上の第１の方向（例えば、水平方向および／または垂直方向）について、繰り返しパターンの繰り返し周期に基づいて定められる閾値よりも動きベクトルの大きさの方が小さい場合には、動きベクトルに基づいて定まる第１および第２のフレームの過渡状態を示すフレーム（動き補償補間フレーム）を補間フレームとして生成し、それ以外の場合には、過渡状態を示すフレームよりも動きベクトルの依存度の低いフレームを補間フレームとして生成する。これにより、動きベクトルの誤検出の可能性が高い場合に、品質の低い動画像を生成することを回避することができる。
【００７０】
また、上記の閾値は、繰り返しパターンの第１の方向における繰り返し周期と同一の値に設定され得る。これにより、動きベクトルの誤検出の可能性の低い場合、すなわち、繰返し周期よりも小さい動きベクトルが検出された場合は、被写体の動きを反映した適切な補間フレームを生成することができる。
【００７１】
また、補間フレーム生成部３１０は、上記の閾値よりも動きベクトルの第１の方向における大きさの方が大きい場合には、第１および第２のフレームの加算平均を含む処理によって得られるフレームを補間フレームとして生成する。これにより、動きベクトルの誤検出の可能性がある場合、不適切な補間フレームを生成することを回避することができる。
【００７２】
また、補間フレーム生成部３１０は、上記の閾値よりも動きベクトルの第１の方向における大きさの方が大きい場合には、動き補償補間フレームと、加算平均補間フレームとの合成フレームを補間フレームとして生成する。さらに、動き補償補間フレームと加算平均補間フレームとの合成比率を動きベクトルの大きさに応じて変える。これにより、閾値を境に補正フレームの内容が急激に変わることなく、より自然な補間フレームを生成し得る。
【００７３】
また、補間フレーム生成部３１０は、さらに、繰り返しパターンの第１の方向（例えば水平方向）とは異なる第２の方向（例えば垂直方向）における繰り返し周期と、動きベクトルの第２の方向における大きさとを比較し、その比較結果に基づいて、前記補間フレームを生成する。これにより、２方向の繰返し周期を考慮してより適切な補間フレームを生成することができる。
【００７４】
また、動きベクトル算出部３０２は、連続する第１および第２のフレームを複数の部分（例えば上記のマクロブロック）に分割し、分割した部分ごとに第１および第２のフレーム間でマッチングを行うことによって当該部分ごとに動きベクトルを算出する。また、補間フレーム生成部３１０は、当該部分ごとに算出された動きベクトルに基づいて、補間フレームを生成する。これにより、フレームの部分ごとに被写体の動きを反映した補間処理が可能であり、より適切な補間フレームを生成することができる。
【００７５】
（他の実施の形態）
以上のように、本出願において開示する技術の例示として、実施の形態１を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、上記実施の形態１で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施の形態を例示する。
【００７６】
上記の実施の形態では、繰り返しパターン検出を、マクロブロックの画素をずらして差分（例えばＳＡＤ）を取る手法により行なったが、本開示の技術はこれに限定されない。これ以外の方法であっても、繰り返しパターンの有無と、繰り返し幅が検出できる手法であれば、同様に適用可能である。
【００７７】
上記の実施の形態では、繰り返しパターン検出部３０１は、水平方向および垂直方向についての繰り返しパターンを検出したが、この例に限定されない。例えば、水平方向および垂直方向の一方や、斜め方向についての繰り返しパターンを検出するように構成されていてもよい。
【００７８】
また、上記の実施形態では、合成部３０６は、図７に示すように、動きベクトルの大きさが所定の閾値よりも小さいときにはα＝１に設定し、当該閾値を超えると、カメラの動きの大きさに対してαを線形的に減少させるが、このような例に限定されない。カメラの動きの大きさに対するαの減少のさせ方は、曲線状であってもよい。
【００７９】
また、上記の実施形態では、１つの閾値が設定されるが、２つ以上の閾値が設定されていてもよい。例えば、合成部３０６は、図８に示すように、動きベクトルの大きさが第１の閾値以下のときにはα＝１に設定し、第２の閾値以上のときはα＝０に設定し、第１の閾値から第２の閾値までの値のときにはαを０〜１の間の値に設定してもよい。この例では、第２の閾値を、繰返し周期に対応する値に設定してもよい。
【００８０】
また、繰り返し周期に基づいて定まる閾値よりも動きベクトルの大きさの方が大きい場合に採用される補間フレームは、動き補償補間フレームと加算平均補間フレームとの合成フレームに限らず、動き補償補間フレームよりも動きベクトルの依存度の低いフレームであればどのようなフレームでもよい。例えば、加算平均補間フレーム自体や、第１のフレームまたは第２のフレーム自体を補間フレームとして利用してもよい。後者の場合、図２における加算平均補間画像生成部３０７は設けられている必要はない。
【００８１】
以上の実施形態では、本開示の技術をデジタルビデオカメラ１００（撮像装置）に適用した例を示した。しかし、本開示の技術は、撮像装置に限らず、例えば上記の画像処理部１６０の機能を有する画像処理装置に適用することもできる。そのような画像処理装置の構成は、例えば図２に示す構成と同様であり、その動作は、例えば図３に示す動作と同様である。当該画像処理装置は、例えばビデオカメラによって生成され、記録媒体に記録された動画像のデータや、電気通信回線によって送信される動画像のデータを事後的に取得し、上述の処理によって補間フレームを挿入して他の動画像データとして記録することもできる。
【００８２】
また、本開示の技術はさらに、上述の補間フレーム生成処理を規定するソフトウェア（プログラム）にも適用され得る。そのようなプログラムに規定される動作は、例えば図３に示すとおりである。このようなプログラムは、可搬型の記録媒体に記録されて提供され得る他、電気通信回線を通じても提供され得る。コンピュータに内蔵されたプロセッサがこのようなプログラムを実行することにより、上記の実施形態で説明した各種動作を実現することができる。
【００８３】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【００８４】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【００８５】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において種々の変更、置き換え、付加、省略などを行うことができる。
【産業上の利用可能性】
【００８６】
本開示の技術は、デジタルビデオカメラ１００への適用に限定されない。すなわち、デジタルスチルカメラや、カメラ付き情報端末、パーソナルコンピュータ、サーバコンピュータなど、フレームレートが変換可能な画像処理装置に適用可能である。
【符号の説明】
【００８７】
１００    デジタルビデオカメラ
１１０    光学系
１２０    レンズ駆動部
１３０    シャッタ
１４０    ＣＭＯＳイメージセンサ
１５０    Ａ／Ｄコンバータ
１６０    画像処理部
１７０    バッファ
１８０    コントローラ
１９０    カードスロット
２００    メモリカード
２１０    操作部材
２２０    表示モニタ
２３０    内部メモリ
２４０    ジャイロセンサ
３００    画像入力部
３０１    繰り返しパターン検出部
３０２    動きベクトル算出部
３０３    動き補償補間画像生成部
３０４    画像出力部
３０６    合成部
３０７    加算平均補間画像生成部
３１０    補間フレーム生成部
４００    撮像部
【図１】
0006037224.tif 000004
【図２】
0006037224.tif 000005
【図３】
0006037224.tif 000006
【図４Ａ】
0006037224.tif 000007
【図４Ｂ】
0006037224.tif 000008
【図４Ｃ】
0006037224.tif 000009
【図５Ａ】
0006037224.tif 000010
【図５Ｂ】
0006037224.tif 000011
【図５Ｃ】
0006037224.tif 000012
【図５Ｄ】
0006037224.tif 000013
【図６Ａ】
0006037224.tif 000014
【図６Ｂ】
0006037224.tif 000015
【図６Ｃ】
0006037224.tif 000016
【図７】
0006037224.tif 000017
【図８】
0006037224.tif 000018