(57)【要約】【課題】立体映像のフレームレート変換において、一方の眼用のフレームで動きベクトルが検出できない場合でも、立体感が損なわれることのない補間フレームを生成することのできる技術を提供する。【解決手段】本発明の画像処理装置は、立体映像を構成する第１，第２映像のそれぞれから動きベクトルを検出する手段と、第１映像のフレームと対応する第２映像のフレームとの間の視差ベクトルを検出する手段と、第１，第２映像のうちの一方の映像のフレームに動きベクトルが検出されない非検出位置が存在する場合には、該非検出位置に対応する他方の映像のフレームに含まれる対応位置を視差ベクトルを用いて検出し、非検出位置に対して対応位置における他方の映像のフレームの動きベクトルを設定する補正を行う手段と、補正後の動きベクトルを用いて第１，第２映像のそれぞれに補間フレームを生成する手段と、を有する。【選択図】図４
2011223493.tif 000002
【特許請求の範囲】
【請求項１】
立体映像を構成する第１映像と第２映像のそれぞれのフレーム間に補間フレームを生成する画像処理装置であって、
前記第１映像を構成する時間的に連続する２つのフレーム及び前記第２映像を構成する時間的に連続する２つのフレームを用いて、各映像のフレーム間の動きベクトルを検出する動きベクトル検出手段と、
前記第１映像を構成するフレームと当該フレームに対応する前記第２映像を構成するフレームとを用いて、当該２つのフレーム間の視差を表す視差ベクトルを検出する視差ベクトル検出手段と、
前記第１映像と前記第２映像のうちの一方の映像のフレームに動きベクトルが検出されない非検出位置が存在する場合には、該非検出位置に対応する他方の映像のフレームに含まれる対応位置を前記視差ベクトルを用いて検出し、前記非検出位置に対して前記対応位置における前記他方の映像のフレームの動きベクトルを設定する補正を行う補正手段と、
補正後の動きベクトルを用いて前記第１映像と前記第２映像のそれぞれに補間フレームを生成する補間フレーム生成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
立体映像を構成する第１映像と第２映像のそれぞれのフレーム間に補間フレームを生成する画像処理装置であって、
前記第１映像を構成する時間的に連続する２つのフレーム及び前記第２映像を構成する時間的に連続する２つのフレームを用いて、各映像のフレーム間の動きベクトルを検出する動きベクトル検出手段と、
前記第１映像を構成するフレームと当該フレームに対応する前記第２映像を構成するフレームとを用いて、当該２つのフレーム間の視差を表す視差ベクトルを検出する視差ベクトル検出手段と、
前記第１映像と前記第２映像のうちの一方の映像のフレームに動きベクトルが検出されない非検出位置が存在する場合には、当該非検出位置に対して大きさ０の動きベクトルを設定すると共に、当該非検出位置に対応する他方の映像のフレームに含まれる対応位置を前記視差ベクトルを用いて検出し、前記対応位置で検出された動きベクトルを大きさ０の動きベクトルに置き換える補正を行う補正手段と、
補正後の動きベクトルを用いて前記第１映像と前記第２映像のそれぞれに補間フレームを生成する補間フレーム生成手段と、
を有することを特徴とする画像処理装置。
【請求項３】
前記補間フレーム生成手段は、
フレーム内の各画素を動きベクトルに基づいて補間フレーム内の位置に対応付けた後、補間フレーム内の位置毎に対応付けられた画素を用いて補間フレームの各画素を生成するものであり、
複数の画素が対応付けられた補間フレームの位置に対しては、該複数の画素のうち、前記補正手段で動きベクトルの検出結果が補正された位置の画素のみを用いて画素を生成する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
立体映像を構成する第１映像と第２映像のそれぞれのフレーム間に補間フレームを生成する画像処理装置により実行される画像処理方法であって、
前記第１映像を構成する時間的に連続する２つのフレーム及び前記第２映像を構成する時間的に連続する２つのフレームを用いて、各映像のフレーム間の動きベクトルを検出するステップと、
前記第１映像を構成するフレームと当該フレームに対応する前記第２映像を構成するフ
レームとを用いて、当該２つのフレーム間の視差を表す視差ベクトルを検出するステップと、
前記第１映像と前記第２映像のうちの一方の映像のフレームに動きベクトルが検出されない非検出位置が存在する場合には、該非検出位置に対応する他方の映像のフレームに含まれる対応位置を前記視差ベクトルを用いて検出し、前記非検出位置に対して前記対応位置における前記他方の映像のフレームの動きベクトルを設定する補正を行うステップと、
補正後の動きベクトルを用いて前記第１映像と前記第２映像のそれぞれに補間フレームを生成するステップと、
を有することを特徴とする画像処理方法。
【請求項５】
立体映像を構成する第１映像と第２映像のそれぞれのフレーム間に補間フレームを生成する画像処理装置により実行される画像処理方法であって、
前記第１映像を構成する時間的に連続する２つのフレーム及び前記第２映像を構成する時間的に連続する２つのフレームを用いて、各映像のフレーム間の動きベクトルを検出するステップと、
前記第１映像を構成するフレームと当該フレームに対応する前記第２映像を構成するフレームとを用いて、当該２つのフレーム間の視差を表す視差ベクトルを検出するステップと、
前記第１映像と前記第２映像のうちの一方の映像のフレームに動きベクトルが検出されない非検出位置が存在する場合には、当該非検出位置に対して大きさ０の動きベクトルを設定すると共に、当該非検出位置に対応する他方の映像のフレームに含まれる対応位置を前記視差ベクトルを用いて検出し、前記対応位置で検出された動きベクトルを大きさ０の動きベクトルに置き換える補正を行うステップと、
補正後の動きベクトルを用いて前記第１映像と前記第２映像のそれぞれに補間フレームを生成するステップと、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は右眼用の映像と左眼用の映像を表示して立体映像を得る画像処理装置および画像処理方法に関するものである。
【背景技術】
【０００２】
近年、立体映像の普及が進み、立体映像に対する画作りの必要性が高まってきている。その中でもフレーム数を増加させるフレームレート変換（以下ＦＲＣ）は動画のなめらかさの向上やフリッカの抑制に有効であり、立体映像に対してもＦＲＣを行うことが求められてきている。ＦＲＣでは、フレームの間に補間フレームを生成することでフレーム数が増加される。補間フレームを生成する方法としては、ベクトル補間がよく用いられる。ベクトル補間は、補間する２つのフレーム間の動きベクトルを求め、フレームの画素位置を動きベクトル量の１／２だけずらして補間フレームを生成する方法である（特許文献１）。立体映像のような多視点映像の補間フレームの生成方法は、例えば、特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平３−２６３９８９号公報
【特許文献２】特開２００９−３５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、立体映像のＦＲＣでは、或る被写体に対し、一方の眼用のフレームでは動きベクトルが検出され、他方の眼用のフレームでは動きベクトルが検出されないことがある。そのため、一方の眼用のフレームだけがベクトル補間されることにより、生成された補間フレームにおいて正しい立体画像を表示できず、立体感が損なわれてしまう課題があった。そして、特許文献２に開示の技術ではこの課題は解決されていない。
【０００５】
本発明は、立体映像のフレームレート変換において、一方の眼用のフレームで動きベクトルが検出できない場合でも、立体感が損なわれることのない補間フレームを生成することのできる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様は、立体映像を構成する第１映像と第２映像のそれぞれのフレーム間に補間フレームを生成する画像処理装置であって、前記第１映像を構成する時間的に連続する２つのフレーム及び前記第２映像を構成する時間的に連続する２つのフレームを用いて、各映像のフレーム間の動きベクトルを検出する動きベクトル検出手段と、前記第１映像を構成するフレームと当該フレームに対応する前記第２映像を構成するフレームとを用いて、当該２つのフレーム間の視差を表す視差ベクトルを検出する視差ベクトル検出手段と、前記第１映像と前記第２映像のうちの一方の映像のフレームに動きベクトルが検出されない非検出位置が存在する場合には、該非検出位置に対応する他方の映像のフレームに含まれる対応位置を前記視差ベクトルを用いて検出し、前記非検出位置に対して前記対応位置における前記他方の映像のフレームの動きベクトルを設定する補正を行う補正手段と、補正後の動きベクトルを用いて前記第１映像と前記第２映像のそれぞれに補間フレームを生成する補間フレーム生成手段と、を有することを特徴とする画像処理装置である。
【０００７】
本発明の第２の態様は、立体映像を構成する第１映像と第２映像のそれぞれのフレーム
間に補間フレームを生成する画像処理装置であって、前記第１映像を構成する時間的に連続する２つのフレーム及び前記第２映像を構成する時間的に連続する２つのフレームを用いて、各映像のフレーム間の動きベクトルを検出する動きベクトル検出手段と、前記第１映像を構成するフレームと当該フレームに対応する前記第２映像を構成するフレームとを用いて、当該２つのフレーム間の視差を表す視差ベクトルを検出する視差ベクトル検出手段と、前記第１映像と前記第２映像のうちの一方の映像のフレームに動きベクトルが検出されない非検出位置が存在する場合には、当該非検出位置に対して大きさ０の動きベクトルを設定すると共に、当該非検出位置に対応する他方の映像のフレームに含まれる対応位置を前記視差ベクトルを用いて検出し、前記対応位置で検出された動きベクトルを大きさ０の動きベクトルに置き換える補正を行う補正手段と、補正後の動きベクトルを用いて前記第１映像と前記第２映像のそれぞれに補間フレームを生成する補間フレーム生成手段と、を有することを特徴とする画像処理装置である。
【０００８】
本発明の第３の態様は、立体映像を構成する第１映像と第２映像のそれぞれのフレーム間に補間フレームを生成する画像処理装置により実行される画像処理方法であって、前記第１映像を構成する時間的に連続する２つのフレーム及び前記第２映像を構成する時間的に連続する２つのフレームを用いて、各映像のフレーム間の動きベクトルを検出するステップと、前記第１映像を構成するフレームと当該フレームに対応する前記第２映像を構成するフレームとを用いて、当該２つのフレーム間の視差を表す視差ベクトルを検出するステップと、前記第１映像と前記第２映像のうちの一方の映像のフレームに動きベクトルが検出されない非検出位置が存在する場合には、該非検出位置に対応する他方の映像のフレームに含まれる対応位置を前記視差ベクトルを用いて検出し、前記非検出位置に対して前記対応位置における前記他方の映像のフレームの動きベクトルを設定する補正を行うステップと、補正後の動きベクトルを用いて前記第１映像と前記第２映像のそれぞれに補間フレームを生成するステップと、を有することを特徴とする画像処理方法である。
【０００９】
本発明の第４の態様は、立体映像を構成する第１映像と第２映像のそれぞれのフレーム間に補間フレームを生成する画像処理装置により実行される画像処理方法であって、前記第１映像を構成する時間的に連続する２つのフレーム及び前記第２映像を構成する時間的に連続する２つのフレームを用いて、各映像のフレーム間の動きベクトルを検出するステップと、前記第１映像を構成するフレームと当該フレームに対応する前記第２映像を構成するフレームとを用いて、当該２つのフレーム間の視差を表す視差ベクトルを検出するステップと、前記第１映像と前記第２映像のうちの一方の映像のフレームに動きベクトルが検出されない非検出位置が存在する場合には、当該非検出位置に対して大きさ０の動きベクトルを設定すると共に、当該非検出位置に対応する他方の映像のフレームに含まれる対応位置を前記視差ベクトルを用いて検出し、前記対応位置で検出された動きベクトルを大きさ０の動きベクトルに置き換える補正を行うステップと、補正後の動きベクトルを用いて前記第１映像と前記第２映像のそれぞれに補間フレームを生成するステップと、を有することを特徴とする画像処理方法である。
【発明の効果】
【００１０】
本発明によれば、立体映像のフレームレート変換において、一方の眼用のフレームで動きベクトルが検出できない場合でも、立体感が損なわれることのない補間フレームを生成することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施例に係る画像処理装置の機能構成の一例を示すブロック図。
【図２】入力映像信号の一例を示す図。
【図３】出力映像信号の一例を示す図。
【図４】実施例１に係る補間フレーム生成部の機能構成の一例を示すブロック図。
【図５】ブロック分割の一例を示す図。
【図６】探索範囲の一例を示す図。
【図７】従来の補間フレームの生成方法の一例を示す図。
【図８】実施例１に係る補間フレームの生成方法の一例を示す図。
【図９】従来の補間フレームの生成方法の一例を示す図。
【図１０】実施例１に係る補間フレームの生成方法の一例を示す図。
【図１１】実施例２に係る補間フレーム生成部の機能構成の一例を示すブロック図。
【図１２】実施例２に係る補間フレームの生成方法の一例を示す図。
【図１３】実施例２に係る補間フレームの生成方法の一例を示す図。
【発明を実施するための形態】
【００１２】
＜実施例１＞
本発明の実施例１に係る画像処理装置およびその画像処理装置により実行される画像処理方法について図面を参照して説明する。本実施例の画像処理装置は、立体映像を構成する第１映像と第２映像のそれぞれのフレーム間に補間フレームを生成する。
（全体構成）
まず、実施例１に係る画像処理装置の全体構成について説明する。図１は実施例１に係る画像処理装置の機能構成を示すブロック図である。図１に示すように、実施例１に係る画像処理装置は、フレームメモリ１０１と補間フレーム生成部１０２を有する。本実施例では、画像処理装置に入力される映像（入力映像信号）のフレームをＦ（ｎ，ｐ）、入力映像信号のフレーム間を補間する補間フレームをＡＦ（ｎ’，ｐ）の形式で表記する。画像表示装置に入力される映像は、立体映像を構成する第１映像（例えば、右眼用の映像）と第２映像（例えば、左眼用の映像）である。ここでｎはフレーム番号、ｐは左右どちらの眼用の映像に属しているかを表す。ｐ＝Ｌの場合、そのフレームが左眼用の映像のフレームであることを意味し、ｐ＝Ｒの場合、そのフレームが右眼用の映像のフレームであることを意味する。また、補間フレームＡＦ（ｎ’，ｐ）は、ｎ番目のフレームとｎ＋１番目のフレームの間を補間する補間フレームを意味する。
【００１３】
入力映像信号は、ＩＮからフレームメモリ１０１に入力される。入力映像信号では、図２に示すように、左眼用のフレームと右眼用のフレームが時間方向に交互に並んでいる（フレームシーケンシャル方式）。
フレームメモリ１０１は、入力映像信号を１フレームずつ記憶する。フレームメモリ１０１は、フレームＦ（ｎ，Ｌ），Ｆ（ｎ＋１，Ｌ），Ｆ（ｎ，Ｒ），Ｆ（ｎ＋１，Ｒ）を記憶すると、それらのフレームを補間フレーム生成部１０２に入力する。
【００１４】
補間フレーム生成部１０２は、フレームＦ（ｎ，Ｌ），Ｆ（ｎ＋１，Ｌ），Ｆ（ｎ，Ｒ），Ｆ（ｎ＋１，Ｒ）から補間フレームＡＦ（ｎ’，Ｌ），ＡＦ（ｎ’，Ｒ）を生成する。補間フレームの生成方法については後述する。生成された補間フレームＡＦ（ｎ’，Ｌ），ＡＦ（ｎ’，Ｒ）は、フレームメモリ１０１に入力される。
フレームメモリ１０１は、入力された補間フレームＡＦ（ｎ’，Ｌ），ＡＦ（ｎ’，Ｒ）を記憶する。そして、フレームメモリ１０１は、図３に示すように、入力映像信号のフレーム間に補間フレームが挿入された出力映像信号を出力する。
【００１５】
（補間フレーム生成部の詳細）
次に、実施例１の補間フレーム生成部１０２の詳細について説明する。
図４は、補間フレーム生成部１０２の機能構成を示すブロック図である。図４に示すように、補間フレーム生成部１０２は、動きベクトル検出部４０１，４０２、視差ベクトル検出部４０３，４０４、動きベクトル補正部４０５，４０６，４０７，４０８、補間処理部４０９，４１０を有する。
【００１６】
本実施例では、映像の動きを表す動きベクトルを｛Ｖ（ｎ，ｐ）｝及び｛Ｗ（ｎ，ｐ）｝、右目用の映像と左目用の映像の視差を表す視差ベクトルを｛ＰＶ（ｎ，ｐ）｝、補正後の動きベクトルを｛ＡＶ（ｎ，ｐ）｝及び｛ＡＷ（ｎ，ｐ）｝の形式で表記する。本実施例では、フレームを複数の分割領域に分割して、分割領域毎に動きベクトルや視差ベクトルを検出するものとするが、動きベクトルや視差ベクトルの検出方法はこれに限らない。例えば、画素位置毎に動きベクトルや視差ベクトルを検出してもよい。動きベクトル｛Ｖ（ｎ，ｐ）｝，｛Ｗ（ｎ，ｐ）｝，｛ＰＶ（ｎ，ｐ）｝，｛ＡＶ（ｎ，ｐ）｝，｛ＡＷ（ｎ，ｐ）｝は、ｐ眼用のｎ番目のフレームを複数のブロックに分割して検出したブロック毎の動きベクトルを全て含むものとする。ブロック毎の動きベクトルの検出方法については後述する。各動きベクトルは、任意のブロックをｂｌｋとして、Ｖ（ｎ，ｐ，ｂｌｋ），Ｗ（ｎ，ｐ，ｂｌｋ），ＰＶ（ｎ，ｐ，ｂｌｋ），ＡＶ（ｎ，ｐ，ｂｌｋ），ＡＷ（ｎ，ｐ，ｂｌｋ）と記述する。視差ベクトルについても同様である。
【００１７】
動きベクトル検出部４０１，４０２は、第１映像と第２映像のフレームから、それぞれ、動きベクトルを検出する（動きベクトル検出手段）。本実施例では、時間的に連続する２つのフレームＡ，Ｂを用いて、フレームＡ内の位置からフレームＢ内の対応する位置までのベクトルと、フレームＢ内の位置からフレームＡ内の対応する位置までのベクトルが、動きベクトルとして検出されるものとする。
動きベクトル検出部４０１は、フレームＦ（ｎ，Ｌ）とフレームＦ（ｎ＋１，Ｌ）から、ブロックマッチング法により、動きベクトル｛Ｖ（ｎ，Ｌ）｝，｛Ｗ（ｎ＋１，Ｌ）｝を検出する。
具体的には、図５に示すようにｎ番目のフレームを複数のブロックに分割する。本実施例では、１つのブロックのサイズを１６ピクセル×１６ピクセル（垂直方向のピクセル数×水平方向のピクセル数）とする。次に、ブロック毎に、ｎ＋１番目のフレームから、ブロック内の画素値との差分絶対値和（Sum of Absolute Differences：ＳＡＤ）が最小と
なる領域の位置を探索する。例えば、ブロック毎に、ｎ＋１番目のフレームにおける、ブロックの位置と同じ位置を基準とする所定の範囲（探索範囲）内で、選択する領域（ブロックと同じサイズの領域）を１ピクセルずつ移動させることにより、上記位置の探索を行う。本実施例では、探索範囲を１６０ピクセル×４８ピクセルとする（図６）。そして、探索した位置でのＳＡＤが予め設けた閾値より小さい場合に、探索した位置とブロックの位置との差（ブロックの位置から探索した位置までのベクトル）を、そのブロックの動きベクトルとする。ＳＡＤが閾値以上の場合には、そのブロックに対し“動きベクトル無し”と判定する。なお、ブロックの位置は、ブロックの中心位置など、ブロックの位置を特定することのできる位置であればどのような位置であってもよい。
この処理をｎ番目のフレームの全てのブロックに対して行い、ブロック毎の動きベクトルを検出する。これをＶ（ｎ，Ｌ）と表記する。
同様に、動きベクトル検出部４０１は、ｎ＋１番目のフレームを複数のブロックに分割し、ブロック毎に、ｎ番目のフレームからＳＡＤが最小となる領域の位置を探索して、ブロック毎の動きベクトルを検出する。これをＷ（ｎ＋１，Ｌ）と表記する。
【００１８】
動きベクトル検出部４０２は、動きベクトル検出部４０１と同様の処理を行い、フレームＦ（ｎ，Ｒ），Ｆ（ｎ＋１，Ｒ）から、動きベクトル｛Ｖ（ｎ，Ｒ）｝，｛Ｗ（ｎ＋１，Ｒ）｝を検出する。
【００１９】
視差ベクトル検出部４０３は、フレームＦ（ｎ，Ｌ），Ｆ（ｎ，Ｒ）から、それらのフレーム間の視差を表す視差ベクトルを検出する（視差ベクトル検出手段）。視差ベクトルも動きベクトルと同様にブロックマッチング法を用いて検出する。
具体的には、フレームＦ（ｎ，Ｌ）を複数のブロック（サイズが１６ピクセル×１６ピクセルのブロック）に分割し、ブロック毎に、フレームＦ（ｎ，Ｒ）から、ブロック内の画素値とのＳＡＤが最小となる領域の位置を探索する。ただし、視差ベクトルは基本的に
垂直方向成分を持たないため、探索範囲は水平方向のみ広がりを有していればよい（例えば、１６０ピクセル×１６ピクセル）。そして、動きベクトルと同様に閾値を設け、探索した位置でのＳＡＤが閾値より小さい場合には、探索した位置とブロックの位置との差を、そのブロックの視差ベクトルとし、ＳＡＤが閾値よりも大きい場合には、そのブロックに対し“視差ベクトル無し”と判定する。
この処理を全てのブロックに対して行い、ブロック毎の視差ベクトルを検出する。これをＰＶ（ｎ，Ｌ）と表記する。
同様に、視差ベクトル検出部４０３は、フレームＦ（ｎ，Ｒ）を複数のブロックに分割し、ブロック毎に、フレームＦ（ｎ，Ｌ）からＳＡＤが最小となる領域の位置を探索して、ブロック毎の視差ベクトルを検出する。これをＰＶ（ｎ，Ｒ）と表記する。
【００２０】
視差ベクトル検出部４０４は、視差ベクトル検出部４０３と同様に処理を行い、フレームＦ（ｎ＋１，Ｌ），Ｆ（ｎ＋１，Ｒ）から、ｎ＋１番目の右眼用と左眼用のフレーム間の視差ベクトル｛ＰＶ（ｎ＋１，Ｌ）｝，｛ＰＶ（ｎ＋１，Ｒ）｝を検出する。
なお、本実施例では、動きベクトル検出部４０１，４０２でのブロックのサイズと、視差ベクトル検出部４０３，４０４でのブロックのサイズを等しいものとしたが、それらは互いに異なっていてもよい。例えば、動きベクトル検出部４０１，４０２でのブロックのサイズを８ピクセル×８ピクセルとし、視差ベクトル検出部４０３，４０４でのブロックのサイズを１６ピクセル×１６ピクセルとしてもよい。また、動きベクトルの有無、視差ベクトルの有無を判定するための閾値は、互いに等しくてもよいし、異なっていてもよい。
【００２１】
動きベクトル補正部４０５〜４０８は、第１映像と第２映像のうちの一方の映像のフレームにおいて動きベクトルが検出されない非検出位置が存在する場合に、視差ベクトルを用いて、該非検出位置に対応する対応位置を他方の映像のフレームから検出する。そして、上記非検出位置に対し対応位置で検出された動きベクトルを設定する補正を行う。動きベクトル補正部４０５〜４０８が、本発明の補正手段に相当する。
【００２２】
動きベクトル補正部４０５は、動きベクトル検出部４０１で検出した動きベクトル｛Ｖ（ｎ，Ｌ）｝において、“動きベクトル無し”と判定されたブロックの動きベクトルの補正を行う。具体的には、フレームＦ（ｎ，Ｌ）の“動きベクトル無し”と判定されたブロックｂｌｋ１の動きベクトルを、そのブロックに対応する（同一のデータを持つ）フレームＦ（ｎ，Ｒ）のブロックｂｌｋ２の動きベクトルに置き換える。即ち、動きベクトルＶ（ｎ，Ｌ，ｂｌｋ１）を動きベクトルＶ（ｎ，Ｒ，ｂｌｋ２）に置き換える。
【００２３】
さらに詳しく説明すると、フレームＦ（ｎ，Ｌ）とフレームＦ（ｎ，Ｒ）の間には視差があるため、同じ位置のブロックに同じ物体があるとは限らない。そこで、視差ベクトル検出部４０３で検出した視差ベクトル｛ＰＶ（ｎ，Ｌ）｝を使用して、フレームＦ（ｎ，Ｌ）のブロックがフレームＦ（ｎ，Ｒ）のどのブロックに対応するかを求める。具体的には、フレームＦ（ｎ，Ｒ）において、フレームＦ（ｎ，Ｌ）のブロックｂｌｋ１の位置から、視差ベクトルＰＶ（ｎ，Ｌ，ｂｌｋ１）分移動した位置に存在するブロックｂｌｋ２が、ブロックｂｌｋ１に対応するブロックとなる。
なお、移動先の位置がフレームＦ（ｎ，Ｒ）のブロックの位置と完全に一致しない場合（移動先の位置を基準とするブロックと同じ大きさの領域が複数のブロックを跨いでいる場合）には、移動先の位置に応じて動きベクトルが算出される。具体的には、移動先の位置を基準とする領域が跨いでいる各ブロックの動きベクトルを該領域が重なっている面積の比で重み付け平均したものが対応するブロックの動きベクトルとされる。
また、動きベクトル補正部４０５は、動きベクトルも視差ベクトルも無いブロックに対して、０ベクトル（大きさが０のベクトル）を割り当てる。
【００２４】
このようにして、“動きベクトル無し”と判定されたブロックの動きベクトルが補正され、動きベクトル｛Ｖ（ｎ，Ｌ）｝が動きベクトル｛ＡＶ（ｎ，Ｌ）｝とされる。また、動きベクトル｛ＡＶ（ｎ，Ｌ）｝において、動きベクトル｛Ｖ（ｎ，Ｒ）｝から取得した動きベクトルで置換された動きベクトルに対しては“補正有り”、そうでない動きベクトルに対しては“補正なし”の情報が付加される。
【００２５】
動きベクトル補正部４０６は、動きベクトル補正部４０５と同様に、動きベクトル検出部４０１で検出した動きベクトル｛Ｗ（ｎ＋１，Ｌ）｝において、“動きベクトル無し”と判定されたブロックの動きベクトルの補正を行う。そして、動きベクトル｛Ｗ（ｎ＋１，Ｌ）｝を動きベクトル｛ＡＷ（ｎ＋１，Ｌ）｝とする。
動きベクトル補正部４０７は、動きベクトル補正部４０５と同様に、動きベクトル検出部４０２で検出した動きベクトル｛Ｖ（ｎ，Ｒ）｝において、“動きベクトル無し”と判定されたブロックの動きベクトルの補正を行う。そして、動きベクトル｛Ｖ（ｎ，Ｒ）｝を動きベクトル｛ＡＶ（ｎ，Ｒ）｝とする。
動きベクトル補正部４０８は、動きベクトル補正部４０５と同様に、動きベクトル検出部４０２で検出した動きベクトル｛Ｗ（ｎ＋１，Ｒ）｝において、“動きベクトル無し”と判定されたブロックの動きベクトルの補正を行う。そして、動きベクトル｛Ｗ（ｎ＋１，Ｒ）｝を動きベクトル｛ＡＷ（ｎ＋１，Ｒ）｝とする。
【００２６】
補間処理部４０９，４１０は、補正後の動きベクトルを用いて第１映像と第２映像のそれぞれに対しフレーム間を補間する補間フレームを生成する（補間フレーム生成手段）。本実施例では、フレーム内（フレームＡ，Ｂ内）の各画素を動きベクトルに基づいて補間フレーム内の位置に対応づけた後、補間フレーム内の位置毎に対応付けられた画素を用いて補間フレームの各画素が生成されるものとする。また、複数の画素が対応付けられた補間フレーム位置に対しては、複数の画素のうち、動きベクトルの検出結果が補正された位置の画素のみを用いて画素を生成するものとする。
【００２７】
補間処理部４０９は、フレームＦ（ｎ，Ｌ），Ｆ（ｎ＋１，Ｌ）と、補正後の動きベクトル｛ＡＶ（ｎ，Ｌ）｝，｛ＡＷ（ｎ＋１，Ｌ）｝を用いて補間フレームＡＦ（ｎ’，Ｌ）を生成する。
具体的には、補間フレームＦ（ｎ’，Ｌ）に対し、フレームＦ（ｎ，Ｌ）のブロックｂｌｋ（画素群）を、そのブロックｂｌｋの位置から対応する動きベクトルＡＶ（ｎ，Ｌ，ｂｌｋ）の１／２だけ移動した位置に生成する。同様に、補間フレームＦ（ｎ’，Ｌ）に対し、フレームＦ（ｎ＋１，Ｌ）のブロックｂｌｋを、そのブロックｂｌｋの位置から対応する動きベクトルＡＷ（ｎ＋１，Ｌ，ｂｌｋ）の１／２だけ移動した位置に生成する。生成するブロック同士が重複する部分については、重複するブロックの画素値の平均値を１画素ずつ算出し、補間フレームＦ（ｎ’，Ｌ）の画素値とする（平均化処理）。ただし、重複するブロックに、動きベクトル補正部４０５〜４０８で動きベクトルが補正された位置のブロックが含まれる場合には、上記平均化処理は行わず、該ブロックの画素値を優先して補間フレームＦ（ｎ’，Ｌ）の画素値とする。動きベクトルが補正された位置のブロック同士が重複する場合には、重複するそれらのブロックの画素値の平均値を１画素ずつ算出し、補間フレームＦ（ｎ’，Ｌ）の画素値とする。
補間フレームＡＦ（ｎ’，Ｌ）において、フレームＦ（ｎ，Ｌ），Ｆ（ｎ＋１，Ｌ）のブロックが生成されなかった部分については、該部分と同じ位置のフレームＦ（ｎ，Ｌ）とフレームＦ（ｎ＋１，Ｌ）の画素値の平均値を画素値とする。
【００２８】
補間処理部４１０は、補間処理部４０９と同様に、フレームＦ（ｎ，Ｒ），Ｆ（ｎ＋１，Ｒ）と、補正された動きベクトル｛ＡＶ（ｎ，Ｒ）｝，｛ＡＷ（ｎ＋１，Ｒ）｝とを用いて、補間フレームＡＦ（ｎ’，Ｒ）を生成する。
以上のようにして、実施例１では補間フレームが生成される。
【００２９】
（補間フレーム生成部の動作）
次に、実施例１の補間フレーム生成部１０２の動作について例を挙げて説明する。
図７，８は、白い背景の上を黒い四角い物体（以後、単に“物体”と記載する）が右から左に動いてフレームアウトする場合の補間フレーム生成部１０２の動作を説明するための図である。図中（Ａ）〜（Ｄ）は入力映像信号のフレーム、（Ｅ），（Ｆ）は補間フレームを表す。具体的には、（Ａ）はフレームＦ（ｎ，Ｌ）、（Ｂ）はフレームＦ（ｎ，Ｒ）、（Ｃ）はフレームＦ（ｎ＋１，Ｌ）、（Ｄ）はフレームＦ（ｎ＋１，Ｒ）、（Ｅ）は補間フレームＡＦ（ｎ’，Ｌ）、（Ｆ）は補間フレームＡＦ（ｎ’，Ｒ）を表す。説明を簡略化するために、１つのフレームは１０×６個のブロックに分割されるものとし、物体のサイズは丁度１つのブロックと同じサイズとする。また、動作の説明はこの黒い四角い物体に着目して行う。物体のあるブロックはＢ（ｎ，ｐ）の形式で表記する。
【００３０】
図７，８においてフレームＦ（ｎ，Ｌ）のブロックＢ（ｎ，Ｌ）にある物体と、フレームＦ（ｎ，Ｒ）のブロックＢ（ｎ，Ｒ）にある物体は対応しており、立体映像としての視差を持っているので白い背景よりも浮き出て見える。物体は左に移動しており、フレームＦ（ｎ，Ｌ）の次のフレームＦ（ｎ＋１，Ｌ）では、物体は、ブロックＢ（ｎ＋１，Ｌ）に位置する。また、フレームＦ（ｎ＋１，Ｒ）では、物体はフレームアウトしている。具体的には、物体は、フレーム外のブロックＢ（ｎ＋１，Ｒ）に位置し、映像信号（フレーム）には含まれなくなっている。
【００３１】
本実施例に係る動作（補間フレームの生成方法）と従来の動作との差を明確にするために、まず、従来の動作について図７を用いて説明する。
従来の方法では、フレームＦ（ｎ，Ｌ）とフレームＦ（ｎ＋１，Ｌ）の間では物体の動きベクトルが検出されるため、補間フレームＡＦ（ｎ’，Ｌ）のブロックＢ（ｎ’，Ｌ）に物体が生成される。しかし、フレームＦ（ｎ，Ｒ）とフレームＦ（ｎ＋１，Ｒ）の間では、フレームＦ（ｎ＋１，Ｒ）に物体がないため、物体の動きベクトルが検出されず、ベクトル補間が行えない。例えば、動きベクトルが検出されない場合に０ベクトルを用いるのであれば、補間フレームＡＦ（ｎ’，Ｒ）において、物体は、ブロックＢ（ｎ，Ｒ）と同じ位置のブロックＢ（ｎ’，Ｒ）に生成される。この場合、物体が本来生成されるべき位置に生成されないため、ブロックＢ（ｎ’，Ｌ）とブロックＢ（ｎ’，Ｒ）に生成された物体の視差は不正となり、立体感が損なわれてしまう。また、前後のフレームとの連続性も失われることになる。さらに、他の補間データ、例えば白の背景のデータの生成位置と、物体の生成位置とが重なると、重複位置の画素値は黒と白の画素値の平均値となるため、黒い四角い物体が灰色の四角い物体になってしまう。
【００３２】
次に、本実施例に係る動作について図８を用いて説明する。本実施例によれば、上記問題を解決することができる。
フレームＦ（ｎ，Ｌ）のブロックＢ（ｎ，Ｌ）にある物体が、フレームＦ（ｎ＋１，Ｌ）から探索される。具体的には、ブロックＢ（ｎ，Ｌ）内の画素値とのＳＡＤが最も小さく、且つ、閾値未満となる領域がフレームＦ（ｎ＋１，Ｌ）から探索される。その結果、ブロックＢ（ｎ，Ｌ）内の画素値がブロックＢ（ｎ＋１，Ｌ）内の画素値と一致するため、動きベクトルＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））が得られる。また、フレームＦ（ｎ＋１，Ｌ）のブロックＢ（ｎ＋１，Ｌ）にある物体がフレームＦ（ｎ，Ｌ）から探索される。その結果、ブロックＢ（ｎ＋１，Ｌ）内の画素値がブロックＢ（ｎ，Ｌ）内の画素値と一致するため、動きベクトルＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））が得られる。
【００３３】
動きベクトルＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ）），Ｗ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））が取得されているので、ＡＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））＝Ｖ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））、ＡＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））＝Ｗ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））となる。そし
て、補間フレームＡＦ（ｎ’，Ｌ）に対し、ブロックＢ（ｎ，Ｌ）が、そのブロックの位置から動きベクトルＡＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））の１／２だけ移動した位置に生成される。また、ブロックＢ（ｎ＋１，Ｌ）が、そのブロックの位置から動きベクトルＡＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））の１／２だけ移動した位置に生成される。補間フレームＡＦ（ｎ’，Ｌ）に生成されるブロックＢ（ｎ，Ｌ），Ｂ（ｎ＋１，Ｌ）は重なり合っているため、ブロックＢ（ｎ，Ｌ），Ｂ（ｎ＋１，Ｌ）内の画素値の平均値が１画素ずつ算出され、ブロックＢ（ｎ’，Ｌ）内の画素値とされる。なお、ブロックＢ（ｎ，Ｌ），Ｂ（ｎ＋１，Ｌ）はいずれも黒い四角い物体のブロックであるため、平均化しても画素値は変わらない（即ち、ブロックＢ（ｎ’，Ｌ）も黒い四角い物体のブロックとなる）。
【００３４】
フレームＦ（ｎ，Ｒ）のブロックＢ（ｎ，Ｒ）にある物体が、フレームＦ（ｎ＋１，Ｒ）から探索される。その結果、ブロックＢ（ｎ，Ｒ）内の画素値と一致する領域（具体的には、ＳＡＤが閾値より小さくなる領域）が見つからないため、ブロックＢ（ｎ，Ｒ）は“動きベクトル無し”と判定される。また、フレームＦ（ｎ＋１，Ｒ）の各ブロックについて、ＳＡＤが最小となる領域がフレームＦ（ｎ，Ｒ）から探索され、動きベクトル｛Ｗ（ｎ＋１，Ｒ）｝が検出される。しかしながら、フレームＦ（ｎ＋１，Ｒ）には黒い四角い物体は存在しないため、動きベクトル｛Ｗ（ｎ＋１，Ｒ）｝には黒い四角い物体に関する動きベクトルは含まれない。
【００３５】
フレームＦ（ｎ，Ｌ），Ｆ（ｎ，Ｒ）間の視差ベクトル｛ＰＶ（ｎ，Ｌ）｝，｛ＰＶ（ｎ，Ｒ）｝が検出される。この視差ベクトル｛ＰＶ（ｎ，Ｒ）｝を用いて、フレームＦ（ｎ，Ｌ）から“動きベクトル無し”と判定されたブロックＢ（ｎ，Ｒ）に対応するブロックＢ（ｎ，Ｌ）（動きベクトルが検出されたブロック）が検出される。そして、動きベクトルＡＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））として、ブロックＢ（ｎ，Ｌ）の動きベクトルＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））が取得される。次に、補間フレームＡＦ（ｎ’，Ｒ）に対し、ブロックＢ（ｎ，Ｒ）を、そのブロックの位置から動きベクトルＡＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））の１／２だけ移動した位置、つまり、ブロックＢ（ｎ’，Ｒ）の位置に生成する。なお、補間フレームＡＦ（ｎ’，Ｒ）に対し、ブロックＢ（ｎ，Ｒ）と他のブロック（白い背景のブロック）が重なるように生成される場合がある。しかしながら、動きベクトルＡＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））は“補正有り”の動きベクトルであるため、平均化処理は行われず、黒い四角い物体のデータ（画素値）が優先される。
【００３６】
このように補間フレームを生成することにより、正しい視差を保ったブロックＢ（ｎ’，Ｌ），Ｂ（ｎ’，Ｒ）に黒い四角い物体を生成することができ、立体感が損なわれることのない補間フレームを生成することが可能となる。
【００３７】
次に、白い背景の上を黒い四角い物体が右から左に動いてフレームインする場合の補間フレーム生成部１０２の動作を、図９，１０を用いて説明する。図７，８と同様に、図中（Ａ）〜（Ｄ）は入力映像信号のフレーム、（Ｅ），（Ｆ）は補間フレームを表す。
【００３８】
まず、従来の動作について図９を用いて説明する。図９に示すように、フレームＦ（ｎ，Ｌ）には物体は含まれていない。フレームＦ（ｎ＋１，Ｌ）では、物体はフレームインし、ブロックＢ（ｎ＋１，Ｌ）に位置している。また、フレームＦ（ｎ，Ｒ）のブロックＢ（ｎ，Ｒ）に位置する物体は、左へ移動しており、フレームＦ（ｎ＋１，Ｒ）ではブロックＢ（ｎ＋１，Ｒ）に位置する。
【００３９】
従来の方法では、フレームＦ（ｎ，Ｒ）とフレームＦ（ｎ＋１，Ｒ）の間では物体の動きベクトルが検出されるため、補間フレームＡＦ（ｎ’，Ｒ）のブロックＢ（ｎ’，Ｒ）に物体が生成される。しかし、フレームＦ（ｎ，Ｌ）とフレームＦ（ｎ＋１，Ｌ）の間では、物体の動きベクトルが検出されない。そのため、補間フレームＡＦ（ｎ’，Ｌ）にお
いて、物体はブロックＢ（ｎ，Ｌ）と同じ位置のブロックＢ（ｎ’，Ｌ）に生成される。この場合においても、物体が本来生成されるべき位置に生成されないため、ブロックＢ（ｎ’，Ｌ）とブロックＢ（ｎ’，Ｒ）に生成された物体の視差は不正となり、立体感が損なわれてしまう。また、前後のフレームとの連続性も失われることになる。さらに、他の補間データ、例えば白の背景のデータの生成位置と、物体の生成位置とが重なると、重複位置の画素値は黒と白の画素値の平均値となるため、黒い四角い物体が灰色の四角い物体になってしまう。
【００４０】
次に、本実施例に係る動作について図１０を用いて説明する。
フレームＦ（ｎ，Ｒ）のブロックＢ（ｎ，Ｒ）にある物体が、フレームＦ（ｎ＋１，Ｒ）から探索される。その結果、ブロックＢ（ｎ，Ｒ）内の画素値がブロックＢ（ｎ＋１，Ｒ）内の画素値と一致するため、動きベクトルＶ（ｎ，Ｌ，Ｂ（ｎ，Ｒ））が得られる。また、フレームＦ（ｎ＋１，Ｒ）のブロックＢ（ｎ＋１，Ｒ）にある物体がフレームＦ（ｎ，Ｒ）から探索される。その結果、ブロックＢ（ｎ＋１，Ｒ）内の画素値がブロックＢ（ｎ，Ｒ）内の画素値と一致するため、動きベクトルＷ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））が得られる。
【００４１】
動きベクトルＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ）），Ｗ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））が取得されているので、ＡＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））＝Ｖ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））、ＡＷ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））＝Ｗ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））となる。そして、補間フレームＡＦ（ｎ’，Ｒ）に対し、ブロックＢ（ｎ，Ｒ）が、そのブロックの位置から動きベクトルＡＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））の１／２だけ移動した位置に生成される。また、ブロックＢ（ｎ＋１，Ｒ）が、そのブロックの位置から動きベクトルＡＷ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））の１／２だけ移動した位置に生成される。補間フレームＡＦ（ｎ’，Ｒ）に生成されるブロックＢ（ｎ，Ｒ），Ｂ（ｎ＋１，Ｒ）は重なり合っているため、ブロックＢ（ｎ，Ｒ），Ｂ（ｎ＋１，Ｒ）内の画素値の平均値が１画素ずつ算出され、ブロックＢ（ｎ’，Ｒ）内の画素値とされる。なお、ブロックＢ（ｎ，Ｒ），Ｂ（ｎ＋１，Ｒ）はいずれも黒い四角い物体のブロックであるため、平均化しても画素値は変わらない（即ち、ブロックＢ（ｎ’，Ｒ）も黒い四角い物体のブロックとなる）。
【００４２】
フレームＦ（ｎ，Ｌ）の各ブロックについて、ＳＡＤが最小となる領域がフレームＦ（ｎ＋１，Ｌ）から探索され、動きベクトル｛Ｖ（ｎ，Ｌ）｝が検出される。しかしながら、フレームＦ（ｎ，Ｌ）には黒い四角い物体は存在しないため、動きベクトル｛Ｖ（ｎ，Ｌ）｝には黒い四角い物体に関する動きベクトルは含まれない。また、フレームＦ（ｎ＋１，Ｌ）のブロックＢ（ｎ＋１，Ｌ）にある物体が、フレームＦ（ｎ，Ｌ）から探索される。その結果、ブロックＢ（ｎ＋１，Ｌ）内の画素値と一致する領域が見つからないため、ブロックＢ（ｎ＋１，Ｌ）は“動きベクトル無し”と判定される。
【００４３】
フレームＦ（ｎ＋１，Ｌ），Ｆ（ｎ＋１，Ｒ）間の視差ベクトル｛ＰＶ（ｎ＋１，Ｌ）｝，｛ＰＶ（ｎ＋１，Ｒ）｝が検出される。この視差ベクトル｛ＰＶ（ｎ＋１，Ｌ）｝を用いて、フレームＦ（ｎ＋１，Ｒ）から“動きベクトル無し”と判定されたブロックＢ（ｎ＋１，Ｌ）に対応するブロックＢ（ｎ＋１，Ｒ）（動きベクトルが検出されたブロック）が検出される。そして、動きベクトルＡＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））として、ブロックＢ（ｎ＋１，Ｒ）の動きベクトルＷ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））が取得される。次に、補間フレームＡＦ（ｎ’，Ｌ）に対し、ブロックＢ（ｎ＋１，Ｌ）を、そのブロックの位置から動きベクトルＡＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））の１／２だけ移動した位置、つまり、ブロックＢ（ｎ’，Ｌ）の位置に生成する。なお、補間フレームＡＦ（ｎ’，Ｌ）に対し、ブロックＢ（ｎ，Ｒ）と他のブロック（白い背景のブロック）が重なるように生成される場合がある。しかしながら、動きベクトルＡＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））は“補正有り”の動きベクトルであるため、平均化処理は行われず、黒
い四角い物体のデータ（画素値）が優先される。
【００４４】
このように補間フレームを生成することにより、正しい視差を保ったブロックＢ（ｎ’，Ｌ），Ｂ（ｎ’，Ｒ）に黒い四角い物体を生成することができ、立体感が損なわれることのない補間フレームを生成することが可能となる。
【００４５】
以上述べたように、本実施例によれば、一方の眼用のフレームにおいて動きベクトルの非検出位置が存在する場合には、該非検出位置に対し、他方の眼用のフレームにおいて該非検出位置に対応する対応位置で検出された動きベクトルが設定される。そして、そのように設定された動きベクトルを用いて補間フレームを生成することで、正しい視差を保つことができる。即ち、本実施例によれば、立体映像のフレームレート変換において、一方の眼用のフレームで動きベクトルが検出できない場合でも、立体感が損なわれることのない補間フレームを生成することが可能となる。
また、本実施例では、複数の画素が対応付けられた補間フレームの位置に対しては、該複数の画素のうち、動きベクトルの検出結果が補正された位置の画素のみを用いて画素が生成される。それにより、被写体の色の変化を抑制し、より立体感を維持することが可能となる。
【００４６】
＜実施例２＞
次に、本発明の実施例２に係る画像処理装置およびその画像処理装置により実行される画像処理方法について図面を参照して説明する。実施例１では、一方の眼用のフレームで動きベクトルが検出されない場合に、他方の眼用フレームで検出された動きベクトルを用いてベクトル補間を行った。実施例２では、一方の眼用のフレームで動きベクトルが検出されない場合には、ベクトル補間を行わないように、両方のフレームの動きベクトルを補正する。なお、以下では、実施例１と同様の機能や構成については説明を省略する。
【００４７】
（全体構成）
実施例２に係る画像処理装置の全体構成は実施例１に係る画像処理装置と同じく図１のようになる。実施例２に係る画像処理装置と実施例１に係る画像処理装置とは、補間フレーム生成部１０２の構成が異なる。
【００４８】
（補間フレーム生成部の詳細）
以下、実施例２の補間フレーム生成部１０２の詳細について説明する。
図１１は、補間フレーム生成部１０２の機能構成を示すブロック図である。実施例１と同じ機能ブロックについては同じ記号を付し、説明を省略する。
【００４９】
動きベクトル補正部１１０５〜１１０８は、第１映像と第２映像のうちの一方の映像のフレームにおいて動きベクトルが検出されない非検出位置が存在する場合に、視差ベクトルを用いて、該非検出位置に対応する対応位置を他方の映像のフレームから検出する。そして、上記非検出位置に対し大きさ０の動きベクトル（０ベクトル）を設定すると共に、上記対応位置で検出された動きベクトルを０ベクトルに置き換える補正を行う。本実施例では、動きベクトル補正部１１０５〜１１０８が、補正手段に相当する。
また、本実施例では、補間処理部４０９，４１０は、動きベクトルが０ベクトルに置き換えられたフレームＡ，Ｂのうちの一方のフレーム内の位置に対応する他方のフレーム内の位置の画素を、補間フレームの画素の生成に用いないものとする。フレームＡ，Ｂは、時間的に連続するフレームである。
【００５０】
動きベクトル補正部１１０５は、動きベクトル検出部４０２で“動きベクトル無し”と判定されたブロックがあった場合に、動きベクトル検出部４０１で検出された動きベクトルを補正する。具体的には、フレームＦ（ｎ，Ｒ）の“動きベクトル無し”と判定された
ブロックｂｌｋ１に対応するフレームＦ（ｎ，Ｌ）のブロックｂｌｋ２の動きベクトルＶ（ｎ，Ｌ，ｂｌｋ２）を０ベクトルに置き換える。フレームＦ（ｎ，Ｒ）のブロックに対応するフレームＦ（ｎ，Ｌ）のブロックは、実施例１と同様に視差ベクトルＰＶ（ｎ，Ｒ，ｂｌｋ１）を用いて検出される。具体的には、フレームＦ（ｎ，Ｌ）において、フレームＦ（ｎ，Ｒ）のブロックｂｌｋ１の位置から、視差ベクトルＰＶ（ｎ，Ｒ，ｂｌｋ１）分移動した位置に存在するブロックｂｌｋ２が、ブロックｂｌｋ１に対応するブロックとなる。
なお、視差ベクトル分移動した位置を基準とするブロックと同じ大きさの領域が複数のブロックを跨いでいる場合には、跨がれている全てのブロックの動きベクトルを０ベクトルにする。
そして、動きベクトルを０ベクトルに置換したブロックの位置情報｛ａｌ｝と、置換前の動きベクトル｛Ｖ（ｎ，Ｌ）｝を動きベクトル補正部１１０６に通知する。
【００５１】
また、動きベクトル補正部１１０５には、動きベクトル補正部１１０６から、動きベクトル補正部１１０６によって動きベクトルが０ベクトルに置換されたブロックの位置情報｛ｂｌ｝と、置換前の動きベクトル｛Ｗ（ｎ＋１，Ｌ）｝が送られる。動きベクトル補正部１１０５は、この位置情報｛ｂｌ｝と動きベクトル｛Ｗ（ｎ＋１，Ｌ）｝から、フレームＦ（ｎ，Ｌ）における、位置情報｛ｂｌ｝で示されるブロックに対応するブロックの動きベクトルを補正する。具体的には、位置情報｛ｂｌ｝で示されるブロックの１つをブロックｂｌｋ１とすると、フレームＦ（ｎ，Ｌ）において、ブロックｂｌｋ１の位置から動きベクトルＷ（ｎ＋１，Ｌ，ｂｌｋ１）だけ移動した位置のブロックの動きベクトルが補正される。より具体的には、補正対象のブロックをブロックｂｌｋ２とすると、動きベクトルＶ（ｎ，Ｌ，ｂｌｋ２）がＮＩ（補間しない）に変更される。動きベクトルがＮＩにされたブロックは、補間処理部４０９，４１０で補間フレームに対する画素（ブロック）の生成に使用されない。なお、動きベクトル分移動した位置を基準とするブロックと同じ大きさの領域が複数のブロックを跨いでいる場合には、跨がれている全てのブロックの動きベクトルをＮＩにする。
【００５２】
また、動きベクトル検出部４０１で“動きベクトル無し”と判定されたブロック（フレームＦ（ｎ，Ｌ）のブロック）に対しては０ベクトルが設定（割り当て）られる。
このようにして動きベクトル｛Ｖ（ｎ，Ｌ）｝が補正され、動きベクトル｛ＡＶ（ｎ，Ｌ）｝とされる。
また、動きベクトル｛ＡＶ（ｎ，Ｌ）｝のうち、動きベクトル補正部１１０５で０ベクトルに設定、置換した動きベクトルに対しては“補正有り”、それ以外の動きベクトルに対しては“補正なし”の情報が付加される。
【００５３】
動きベクトル補正部１１０６は、動きベクトル補正部１１０５と同様に、フレームＦ（ｎ＋１，Ｌ）の“動きベクトル無し”と判定されたブロックに対して、０ベクトルを設定する。また、フレームＦ（ｎ＋１，Ｒ）の“動きベクトル無し”と判定されたブロックに対応するフレームＦ（ｎ＋１，Ｌ）のブロックの動きベクトルを０ベクトルに置換する。位置情報｛ａｌ｝で示されるブロックに対応するフレームＦ（ｎ＋１，Ｌ）のブロックの動きベクトルをＮＩに変更する。それにより、動きベクトル｛Ｗ（ｎ＋１，Ｌ）｝が動きベクトル｛ＡＷ（ｎ＋１，Ｌ）｝とされる。また、動きベクトルを０ベクトルに置換したブロックの座標情報｛ｂｌ｝と、置換前の動きベクトル｛Ｗ（ｎ＋１，Ｌ）｝を動きベクトル補正部１１０５に通知する。
動きベクトル補正部１１０７は、動きベクトル補正部１１０５と同様に、フレームＦ（ｎ，Ｒ）の“動きベクトル無し”と判定されたブロックに対して、０ベクトルを設定する。また、フレームＦ（ｎ，Ｌ）の“動きベクトル無し”と判定されたブロックに対応するフレームＦ（ｎ，Ｒ）のブロックの動きベクトルを０ベクトルに置換する。動きベクトル補正部１１０８から送信される位置情報｛ｂｒ｝で示されるブロックに対応するフレーム
Ｆ（ｎ，Ｒ）のブロックの動きベクトルをＮＩに変更する。それにより、動きベクトル｛Ｖ（ｎ，Ｒ）｝が動きベクトル｛ＡＶ（ｎ，Ｒ）｝とされる。また、動きベクトルを０ベクトルに置換したブロックの座標情報｛ａｒ｝と、置換前の動きベクトル｛Ｖ（ｎ，Ｒ）｝を動きベクトル補正部１１０８に通知する。
動きベクトル補正部１１０８は、動きベクトル補正部１１０５と同様に、フレームＦ（ｎ＋１，Ｒ）の“動きベクトル無し”と判定されたブロックに対して、０ベクトルを設定する。また、フレームＦ（ｎ＋１，Ｌ）の“動きベクトル無し”と判定されたブロックに対応するフレームＦ（ｎ＋１，Ｒ）のブロックの動きベクトルを０ベクトルに置換する。動きベクトル補正部１１０７から送信される位置情報｛ａｒ｝で示されるブロックに対応するフレームＦ（ｎ＋１，Ｒ）のブロックの動きベクトルをＮＩに変更する。それにより、動きベクトル｛Ｗ（ｎ＋１，Ｒ）｝が動きベクトル｛ＡＷ（ｎ＋１，Ｒ）｝とされる。また、動きベクトルを０ベクトルに置換したブロックの座標情報｛ｂｒ｝と、置換前の動きベクトル｛Ｗ（ｎ＋１，Ｒ）｝を動きベクトル補正部１１０８に通知する。
以上のようにして、実施例２では補間フレームが生成される。
【００５４】
（補間フレーム生成部の動作）
次に、実施例２の補間フレーム生成部１０２の動作について例を挙げて説明する。
図１２は、白い背景の上を黒い四角い物体が右から左に動いてフレームアウトする場合の補間フレーム生成部１０２の動作を説明するための図である。図７〜１０と同様に、図中（Ａ）〜（Ｄ）は入力映像信号のフレーム、（Ｅ），（Ｆ）は補間フレームを表す。
【００５５】
フレームＦ（ｎ，Ｌ）のブロックＢ（ｎ，Ｌ）にある物体が、フレームＦ（ｎ＋１，Ｌ）から探索される。その結果、ブロックＢ（ｎ，Ｌ）内の画素値がブロックＢ（ｎ＋１，Ｌ）内の画素値と一致するため、動きベクトルＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））が得られる。また、フレームＦ（ｎ＋１，Ｌ）のブロックＢ（ｎ＋１，Ｌ）にある物体がフレームＦ（ｎ，Ｌ）から探索される。その結果、ブロックＢ（ｎ＋１，Ｌ）内の画素値がブロックＢ（ｎ，Ｌ）内の画素値と一致するため、動きベクトルＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））が得られる。
【００５６】
フレームＦ（ｎ，Ｒ）のブロックＢ（ｎ，Ｒ）にある物体が、フレームＦ（ｎ＋１，Ｒ）から探索される。その結果、ブロックＢ（ｎ，Ｒ）内の画素値と一致する領域が見つからないため、ブロックＢ（ｎ，Ｒ）は“動きベクトル無し”と判定される。また、フレームＦ（ｎ＋１，Ｒ）の各ブロックについて、ＳＡＤが最小となる領域がフレームＦ（ｎ，Ｒ）から探索され、動きベクトル｛Ｗ（ｎ＋１，Ｒ）｝が検出される。しかしながら、フレームＦ（ｎ＋１，Ｒ）には黒い四角い物体は存在しないため、動きベクトル｛Ｗ（ｎ＋１，Ｒ）｝には黒い四角い物体に関する動きベクトルは含まれない。
【００５７】
フレームＦ（ｎ，Ｌ），Ｆ（ｎ，Ｒ）間の視差ベクトル｛ＰＶ（ｎ，Ｌ）｝，｛ＰＶ（ｎ，Ｒ）｝が検出される。視差ベクトル｛ＰＶ（ｎ，Ｒ）｝から、ブロックＢ（ｎ，Ｒ）とブロックＢ（ｎ，Ｌ）が対応していることがわかる。
【００５８】
ブロックＢ（ｎ，Ｒ）は“動きベクトル無し”と判定されたため、対応するブロックＢ（ｎ，Ｌ）の動きベクトルＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））は０ベクトルに置換される。この置換後の動きベクトル（０ベクトル）を、ＡＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））と表記する。
また、フレームＦ（ｎ＋１，Ｌ）において、動きベクトルが０ベクトルとされたブロックＢ（ｎ，Ｌ）の位置から、置換前の動きベクトルＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））だけ移動することで、ブロックＢ（ｎ＋１，Ｌ）の位置が分かる。このブロックＢ（ｎ＋１，Ｌ）の動きベクトルＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））はＮＩ（補間しない）に変更される。この変更後の動きベクトル（ＮＩ）を、ＡＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））と表記する。
また、動きベクトルＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））は“動きベクトル無し”であるため、ＡＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））＝０ベクトルとされる。
【００５９】
補間フレームＡＦ（ｎ’，Ｌ）を生成する際には、動きベクトルＡＶ（ｎ，Ｌ，Ｂ（ｎ，Ｌ））が０ベクトルであるため、物体はブロックＢ（ｎ，Ｌ）と同じ位置のブロックＢ（ｎ’，Ｌ）に生成される。ブロックＢ（ｎ＋１，Ｌ）は、動きベクトルＡＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））がＮＩ（補間しない）であるため、補間フレームＡＦ（ｎ’，Ｌ）の生成には利用されない。
補間フレームＡＦ（ｎ’，Ｒ）を生成する際には、動きベクトルＡＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））が０ベクトルであるため、物体はブロックＢ（ｎ，Ｒ）と同じ位置のブロックＢ（ｎ’，Ｒ）に生成される。
なお、補間フレームに対し、ブロックＢ（ｎ，Ｌ），Ｂ（ｎ，Ｒ）と他のブロック（白い背景のブロック）が重なるように生成される場合がある。しかしながら、それらのブロックの動きベクトルは“補正有り”の動きベクトルであるため、平均化処理は行われず、黒い四角い物体のデータ（画素値）が優先される。
【００６０】
このように補間フレームを生成することにより、正しい視差を保ったブロックＢ（ｎ’，Ｌ），Ｂ（ｎ’，Ｒ）に黒い四角い物体を生成することができ、立体感が損なわれることのない補間フレームを生成することが可能となる。
【００６１】
次に、白い背景の上を黒い四角い物体が右から左に動いてフレームインする場合の補間フレーム生成部１０２の動作を、図１３を用いて説明する。図７〜１０，１２と同様に、図中（Ａ）〜（Ｄ）は入力映像信号のフレーム、（Ｅ），（Ｆ）は補間フレームを表す。
【００６２】
フレームＦ（ｎ，Ｒ）のブロックＢ（ｎ，Ｒ）にある物体が、フレームＦ（ｎ＋１，Ｒ）から探索される。その結果、ブロックＢ（ｎ，Ｒ）内の画素値がブロックＢ（ｎ＋１，Ｒ）内の画素値と一致するため、動きベクトルＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））が得られる。また、フレームＦ（ｎ＋１，Ｒ）のブロックＢ（ｎ＋１，Ｒ）にある物体がフレームＦ（ｎ，Ｒ）から探索される。その結果、ブロックＢ（ｎ＋１，Ｒ）内の画素値がブロックＢ（ｎ，Ｒ）内の画素値と一致するため、動きベクトルＷ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））が得られる。
【００６３】
フレームＦ（ｎ，Ｌ）の各ブロックについて、ＳＡＤが最小となる領域がフレームＦ（ｎ＋１，Ｌ）から探索され、動きベクトル｛Ｖ（ｎ，Ｌ）｝が検出される。しかしながら、フレームＦ（ｎ，Ｌ）には黒い四角い物体は存在しないため、動きベクトル｛Ｖ（ｎ，Ｌ）｝には黒い四角い物体に関する動きベクトルは含まれない。また、フレームＦ（ｎ＋１，Ｌ）のブロックＢ（ｎ＋１，Ｌ）にある物体が、フレームＦ（ｎ，Ｌ）から探索される。その結果、ブロックＢ（ｎ＋１，Ｌ）内の画素値と一致する領域が見つからないため、ブロックＢ（ｎ＋１，Ｌ）は“動きベクトル無し”と判定される。
【００６４】
フレームＦ（ｎ＋１，Ｌ），Ｆ（ｎ＋１，Ｒ）間の視差ベクトル｛ＰＶ（ｎ＋１，Ｌ）｝，｛ＰＶ（ｎ＋１，Ｒ）｝が検出される。視差ベクトル｛ＰＶ（ｎ＋１，Ｌ）｝から、ブロックＢ（ｎ＋１，Ｌ）とブロックＢ（ｎ＋１，Ｒ）が対応していることがわかる。
【００６５】
ブロックＢ（ｎ＋１，Ｌ）は“動きベクトル無し”と判定されたため、対応するブロックＢ（ｎ＋１，Ｒ）の動きベクトルＷ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））は０ベクトルに置換される。この置換後の動きベクトル（０ベクトル）を、ＡＷ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））と表記する。
また、フレームＦ（ｎ，Ｒ）において、動きベクトルが０ベクトルとされたブロックＢ（ｎ＋１，Ｒ）の位置から、置換前の動きベクトルＷ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））
だけ移動することで、ブロックＢ（ｎ，Ｒ）の位置が分かる。このブロックＢ（ｎ，Ｒ）の動きベクトルＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））はＮＩ（補間しない）に変更される。この変更後の動きベクトル（ＮＩ）を、ＡＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））と表記する。
また、動きベクトルＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））は“動きベクトル無し”であるため、ＡＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））＝０ベクトルとされる。
【００６６】
補間フレームＡＦ（ｎ’，Ｌ）を生成する際には、動きベクトルＡＷ（ｎ＋１，Ｌ，Ｂ（ｎ＋１，Ｌ））が０ベクトルであるため、物体はブロックＢ（ｎ＋１，Ｌ）と同じ位置のブロックＢ（ｎ’，Ｌ）に生成される。
補間フレームＡＦ（ｎ’，Ｒ）を生成する際には、動きベクトルＡＷ（ｎ＋１，Ｒ，Ｂ（ｎ＋１，Ｒ））が０ベクトルであるため、物体はブロックＢ（ｎ＋１，Ｒ）と同じ位置のブロックＢ（ｎ’，Ｒ）に生成される。ブロックＢ（ｎ，Ｒ）は、動きベクトルＡＶ（ｎ，Ｒ，Ｂ（ｎ，Ｒ））がＮＩ（補間しない）であるため、補間フレームＡＦ（ｎ’，Ｒ）の生成には利用されない。
なお、補間フレームに対し、ブロックＢ（ｎ＋１，Ｌ），Ｂ（ｎ＋１，Ｒ）と他のブロック（白い背景のブロック）が重なるように生成される場合がある。しかしながら、それらのブロックの動きベクトルは“補正有り”の動きベクトルであるため、平均化処理は行われず、黒い四角い物体のデータ（画素値）が優先される。
【００６７】
このように補間フレームを生成することにより、正しい視差を保ったブロックＢ（ｎ’，Ｌ），Ｂ（ｎ’，Ｒ）に黒い四角い物体を生成することができ、立体感が損なわれることのない補間フレームを生成することが可能となる。
【００６８】
以上述べたように、本実施例によれは、一方の眼用のフレームにおいて動きベクトルの非検出位置が存在する場合には、該非検出位置に対し０ベクトルが設定される。また、他方のフレームにおいて上記非検出位置に対応する対応位置で検出された動きベクトルが０ベクトルに置き換えられる。そして、そのように設定された動きベクトルを用いて補間フレームを生成することで、正しい視差を保つことができる。即ち、本実施例によれば、立体映像のフレームレート変換において、一方の眼用のフレームで動きベクトルが検出できない場合でも、立体感が損なわれることのない補間フレームを生成することが可能となる。
また、本実施例では、動きベクトルが０ベクトルに置き換えられた一方の眼用のフレーム内の位置に対応する他方の眼用のフレーム内の位置の画素を、補間フレームの画素の生成に用いない構成とした。それにより、補間フレームにおいて、同じ被写体が異なる位置に生成されることを防ぐことができ、より立体感を維持することが可能となる。
なお、実施例１，２では、入力される映像信号がフレームシーケンシャル方式の立体映像の信号の場合について説明したが、本発明はフレームシーケンシャル方式に限定されるものではない。例えば右眼用の映像と左眼用の映像がそれぞれ独立して入力される場合でも、フレームメモリで両方の映像信号を記録してから補間フレームを生成すれば実施することができる。
【符号の説明】
【００６９】
４０１，４０２  動きベクトル検出部
４０３，４０４  視差ベクトル検出部
４０５〜４０８，１１０５〜１１０８  動きベクトル補正部
４０９，４１０  補間処理部
【図１】
2011223493.tif 000003
【図２】
2011223493.tif 000004
【図３】
2011223493.tif 000005
【図４】
2011223493.tif 000006
【図５】
2011223493.tif 000007
【図６】
2011223493.tif 000008
【図７】
2011223493.tif 000009
【図８】
2011223493.tif 000010
【図９】
2011223493.tif 000011
【図１０】
2011223493.tif 000012
【図１１】
2011223493.tif 000013
【図１２】
2011223493.tif 000014
【図１３】
2011223493.tif 000015