(57)【要約】  所定時間あたりのフレーム数ｍのソースレートを有する第１の映像フレーム群からフレームを間引くことで所定時間あたりのフレーム数ｎ（ｎ＜ｍ）にフレームレート変換された第２の映像フレーム群を検出する情報処理装置は、第２の映像フレーム群の１つの映像フレームと、当該１つの映像フレームの直前の映像フレームとの間の動きベクトルである第１の動きベクトルを求める第１の動きベクトル算出部と、第２の映像フレーム群の１つの映像フレームと、当該１つの映像フレームを基点としてｎだけ前の映像フレームとの間の動きベクトルを第２の動きベクトルとして求める第２の動きベクトル算出部と、第１の動きベクトルと第２の動きベクトルとの比が、フレーム数ｍ及びフレームの間引き方から決まる所定比と認められる範囲にある場合に、第２の映像フレーム群が第１の映像フレーム群のフレームレート変換によって得られたことを検出する検出部とを含む。
2010109636.tif 000002
【特許請求の範囲】
【請求項１】
所定時間あたりのフレーム数ｍのソースレートを有する第１の映像フレーム群からフレームを間引くことで前記所定時間あたりのフレーム数ｎ（ｎ＜ｍ）にフレームレート変換された第２の映像フレーム群を検出する情報処理装置であって、
前記第２の映像フレーム群の１つの映像フレームと、当該１つの映像フレームの直前の映像フレームとの間の動きベクトルである第１の動きベクトルを求める第１の動きベクトル算出部と、
前記第２の映像フレーム群の１つの映像フレームと、当該１つの映像フレームを基点としてｎだけ前の映像フレームとの間の動きベクトルを第２の動きベクトルとして求める第２の動きベクトル算出部と、
前記第１の動きベクトルと前記第２の動きベクトルとの比が、前記フレーム数ｍ及びフレームの間引き方から決まる所定比と認められる範囲にある場合に、前記第２の映像フレーム群が前記第１の映像フレーム群のフレームレート変換によって得られたことを検出する検出部と
を含む情報処理装置。
【請求項２】
前記フレームレート変換において実施されたフレームの間引きパターンを保持した保持部と、
前記第２の映像フレーム群が前記第１の映像フレーム群のフレームレート変換によって得られたことを検出した場合に、前記間引きパターンの基点を決定する決定部と、
前記間引きパターンに従って、前記フレーム変換で前記第１の映像フレーム群の映像フレームが間引かれている前記第２の映像フレーム群の映像フレーム間に挿入される補間フレームを生成する生成部と
をさらに含む請求項１に記載の情報処理装置。
【請求項３】
情報処理装置に、所定時間あたりのフレーム数ｍのソースレートを有する第１の映像フレーム群からフレームを間引くことで前記所定時間あたりのフレーム数ｎ（ｎ＜ｍ）にフレームレート変換された第２の映像フレーム群を検出する処理を実行させるプログラムであって、
前記処理は、
前記第２の映像フレーム群の１つの映像フレームと、当該１つの映像フレームの直前の映像フレームとの間の動きベクトルである第１の動きベクトルを求めるステップと、
前記第２の映像フレーム群の１つの映像フレームと、当該１つの映像フレームを基点としてｎだけ前の映像フレームとの間の動きベクトルを第２の動きベクトルとして求めるステップと、
前記第１の動きベクトルと前記第２の動きベクトルとの比が、前記フレーム数ｍ及びフレームの間引き方から決まる所定比と認められる範囲にある場合に、前記第２の映像フレーム群が前記第１の映像フレーム群のフレームレート変換によって得られたことを検出するステップと
を含むプログラム。
【請求項４】
映像フレームの間引きによりソースレートが所定フレームレートにフレームレート変換された映像フレーム群に対するフレーム補間を行う情報処理装置であって、
前記フレームレート変換において実施されたフレームの間引きパターンを保持した保持部と、
前記映像フレーム群における現映像フレームと当該現映像フレームの直前の映像フレームとの動きベクトルを算出する算出部と、
前記映像フレーム群における前記現映像フレームと前記直前の映像フレームとの動きベクトルと、前記算出部によって算出された過去の動きベクトルである予測ベクトルとが一致すると認められる時点を、前記間引きパターンの基点として決定する決定部と、
前記間引きパターンに従って、前記フレーム変換で映像フレームが間引かれている前記映像フレーム群の映像フレーム間に挿入される補間フレームを生成する生成部と、
を含む情報処理装置。
【請求項５】
情報処理装置に、映像フレームの間引きによりソースレートが所定フレームレートにフレームレート変換された映像フレーム群に対するフレーム補間する処理を実行させるプログラムであって、
前記処理は、
前記映像フレーム群における現映像フレームと当該現映像フレームの直前の映像フレームとの動きベクトルを算出するステップと、
前記映像フレーム群における前記現映像フレームと前記直前の映像フレームとの動きベクトルと、前記算出部によって算出された過去の動きベクトルである予測ベクトルとが一致すると認められる時点を、前記フレームレート変換において実施された間引きパターンの基点として決定するステップと、
前記間引きパターンに従って、前記フレーム変換で映像フレームが間引かれている前記映像フレーム群の映像フレーム間に挿入される補間フレームを生成するステップと
を含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソースレートよりも低いフレームレートで生成された映像から、ソースレートで生成された映像を扱う情報処理装置に関する。
【背景技術】
【０００２】
アナログテレビジョン方式の規格であるＮＴＳＣ（Ｎａｔｉｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ  Ｓｔａｎｄａｒｄｓ  Ｃｏｍｍｉｔｔｅｅ）で定められている放送のフレームレートは、２９．９７ｆｐｓ（ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）のインターレースである。以降、説明の簡略化のため３０ｆｐｓ、または、６０ｉと表記する。映像が撮影されるときのフレームレートと、放送されるときのフレームレートが一致している場合には、自然な動きの映像が提供される。【０００３】
放送の対象となる映像素材には、例えば、映画やアニメーションなども含まれる。映画やアニメーションの撮影フレームレートは、通常２４ｆｐｓのプログレッシブである。以降、これを２４ｐと表記する。このような２４ｐの映像素材がＮＴＳＣ規格に従って放送される場合には、２４ｐから６０ｉへの変換として、２−３プルダウン処理が行われる。【０００４】
図１は、２−３プルダウン処理の例を示す図である。映像素材の撮影時のフレームレートをソースレート、放送時のフレームレートを放送レート、再生機器での再生時のフレームレートは、表示レートという。ＮＴＳＣでは、１フレームは奇フィールド及び偶フィールドの２つのフィールドからなる。１フレームの全走査線のうち奇数の走査線のみを描くフィールドは奇フィールドと呼ばれる。１フレームの全走査線のうちの偶数のみを描くフィールドは偶フィールドと呼ばれる。【０００５】
２−３プルダウン処理は、例えば、以下のような処理である。図１には、ソースレートが２４ｆｐｓの映像素材が示されており、映像素材はフレームＦ１〜フレームＦ４を含んでいる。これらのフレームＦ１〜フレームＦ４を６０ｉで伝送する場合には、まず、フレームＦ１から２つのフィールド、すなわち奇フィールドＦ１ａと偶フィールドＦ１ｂが生成され、奇フィールドＦ１ａ、偶フィールドＦ１ｂの順で伝送される。フレームＦ１の伝送に続いて、フレームＦ２から奇フィールドＦ２ａ及び偶フィールドＦ２ｂが生成され、奇フィールドＦ２ａ、偶フィールドＦ２ｂ、奇フィールドＦ２ａの順で伝送される。以降に続くフレームＦ３及びフレームＦ４についても、フレームＦ１及びフレームＦ２と同様の処理が実行される。すなわち、フレームＦ３から生成された奇フィールドＦ３ａ及び偶フィールドＦ３ｂが伝送され、その後、フレームＦ４から生成された奇フィールドＦ４ａ及び偶フィールドＦ４ｂが奇フィールドＦ４ａ、偶フィールドＦ４ｂ、奇フィールドＦ４ａの順で伝送される。このように、２−３プルダウン処理では、２４ｆｐｓの複数のフレームに関して、１つのフレームについて２つのフィールドを伝送する処理と、１つのフレームについて３つのフィールドを伝送する処理とが交互に繰り返される。３つのフィールドを伝送する処理では、同一内容の奇フィールドが２回伝送される。【０００６】
このような２−３プルダウン処理によれば、２４枚のフレームから６０枚のフィールドを生成及び伝送することができ、テレビジョン受像機の表示レート（６０ｐ）と放送のフレームレートを一致させることができる。よって、ソースレートが２４ｆｐｓの映像を６０ｉで放送することができる。以降、２対３プルダウン処理のように映像素材に何らかの処理を施して、ソースレートと異なるフレームレートに変換することは「フレームレートを変換する」、又は、「フレームレート変換」と表現される。【０００７】
表示装置側、例えば、６０ｐで映像を表示するプログレッシブスキャン型のディスプレイ装置に対し、フレームレートが６０ｉに変換された映像フレームが入力された場合には、ディスプレイ装置でプルダウン解除処理が行われ、元のフレームが復元される。すなわち、１つのフレームについて２つのフィールドが受信された場合（例えば、図１に示すフレームＦ１、Ｆ３）には、ディスプレイ装置側では、受信された２つのフィールド（すなわち、奇フィールド及び偶フィールド）が合成され、２つの元のフレームが生成される。例えば、奇フィールドＦ１ａ及び偶フィールドＦ１ｂから２つのフレームＦ１が生成される。一方、１つのフレームについて３つのフィールドが受信された場合（例えば、図１に示すフレームＦ２、Ｆ４）には、ディスプレイ装置側では、受信された３つのフィールド（２つの奇フィールド及び偶フィールド）から３つの元のフレームが生成される。例えば、２つの奇フィールドＦ２ａ及び偶フィールドＦ２ｂから３つのフレームＦ２が生成される。【０００８】
ディスプレイ装置は、生成された元のフレームを６０ｐの表示時間軸（表示レート）に合わせて画面上の描画処理を行う。この結果、表示時間軸上で、２４ｆｐｓのフレーム、例えばフレームＦ１、Ｆ３、が２回表示される処理と、２４ｆｐｓのフレーム、例えば、フレームＦ２、Ｆ４、が３回表示される処理とが交互に行われる（図１参照）。【０００９】
近年、携帯電話・移動体端末向けの１セグメント部分受信サービスが開始された。携帯電話・移動体端末向けの１セグメント部分受信サービスは、一般に「ワンセグ放送」と呼ばれる。ワンセグ放送のフレームレート、すなわち放送レート、は、約１５ｆｐｓである。以下、説明の簡略のために、ワンセグ放送の放送レートは１５ｆｐｓとして扱われる。【００１０】
このように、ワンセグ放送の放送レートは、現行のアナログテレビジョン放送のフレームレート（６０ｉ）、及び２４ｆｐｓの映像素材のフレームレートよりも低い。ワンセグ放送で２４ｆｐｓの映像素材を放送する場合のような、ソースレートよりも低い放送レートで入力される映像が表示される場合には、以下のような問題が生じる。【００１１】
図２は、フレームレート２４ｆｐｓをフレームレート１５ｆｐｓに変換する処理の例を示す。図２に示す例では、２４ｆｐｓにおける１／３秒間に対応する８枚のフレーム（図２：フレームＡ〜Ｉ）が、１５ｆｐｓにおける１／３秒間に対応する５枚のフレームに変換されている。この例では、元の８枚のフレームから３枚のフレーム、例えばフレームＣ，Ｅ，Ｈが間引きされる。このため、不自然な動きの映像となる可能性があった。【００１２】
映像の動きの不自然さを解消するために、フレーム間に中間フレームを挿入する技術がある。フレーム間に中間フレームを挿入する処理は「フレーム補間」と呼ばれる。【００１３】
表示装置において、１５ｆｐｓで入力された映像に、フレームレートの変換時に間引きされてしまったフレームに対応する中間フレームが補間されて表示されることで、自然な動きの映像が表示される。しかしながら、放送レートが１５ｆｐｓのワンセグ放送でソースレートが２４ｆｐｓの映像素材が表示される場合には、フレームレートの変換時のフレームの間引き箇所を特定することができなかった。すなわち、放送レートが１５ｆｐｓのワンセグ放送でソースレート２４ｆｐｓの映像素材が表示される場合に、適切にフレーム補間がなされず、映像の不自然な動きとなる問題が発生する場合があった。
【特許文献１】特開２００８−０２８８５０号公報
【特許文献２】特表平１１−５１３５４１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は、所定のソースレートから低レートへのフレームレート変換によって得られた映像フレーム群を検出可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の態様の１つは、情報処理装置である。この情報処理装置は、
所定時間あたりのフレーム数ｍのソースレートを有する第１の映像フレーム群からフレームを間引くことで前記所定時間あたりのフレーム数ｎ（ｎ＜ｍ）にフレームレート変換された第２の映像フレーム群を検出する情報処理装置であって、
前記第２の映像フレーム群の１つの映像フレームと、当該１つの映像フレームの直前の映像フレームとの間の動きベクトルである第１の動きベクトルを求める第１の動きベクトル算出部と、
前記第２の映像フレーム群の１つの映像フレームと、当該１つの映像フレームを基点としてｎだけ前の映像フレームとの間の動きベクトルを第２の動きベクトルとして求める第２の動きベクトル算出部と、
前記第１の動きベクトルと前記第２の動きベクトルとの比が、前記フレーム数ｍ及びフレームの間引き方から決まる所定比と認められる範囲にある場合に、前記第２の映像フレーム群が前記第１の映像フレーム群のフレームレート変換によって得られたことを検出する検出部と、を含む。
【発明の効果】
【００１６】
本発明によれば、所定のソースレートから低レートへのフレームレート変換によって得られた映像フレーム群を検出することができる。
【図面の簡単な説明】
【００１７】
【図１】２−３プルダウン処理の例を示す図である。
【図２】フレームレート２４ｆｐｓをフレームレート１５ｆｐｓに変換する例を示す図である。
【図３】第１の映像フレーム群から第２の映像フレーム群がフレームレート変換される例を示す図である。
【図４】情報処理装置の構成例を示す図である。
【図５】ソースレート３０ｆｐｓの映像が入力レート１５ｆｐｓに変換される例を示す図である。
【図６】ソースレートと入力レートが同じであり、予測ベクトルがフィードバックされて動きベクトルが求められる場合の例を示す図である。
【図７】ソースレートが２４ｆｐｓ、入力レートが１５ｆｐｓの場合に予想ベクトルがフィードバックされて動きベクトルが求められる例を示す図である。
【図８】予測ベクトル制御乗数αｎについて説明する図である。
【図９】情報処理装置の構成例を示す図である。
【図１０】動きベクトル探索の例を示す図である。
【図１１】相関値テーブルの例である。
【図１２】動きベクトル候補に対して重み付けを行う場合の、重みの分布の例を示す図である。
【図１３】動きベクトルの選択処理の例を示す図である。
【図１４】フレーム内の平均動きベクトルの求め方の例を示す図である。
【図１５】検出部の構成例を示す図である。
【図１６】比較部の処理フローの例を示す図である。
【図１７】比較部の処理フローの例を示す図である（処理Ａのサブルーチン）。
【図１８】比較部の処理フローの例を示す図である（処理Ｂのサブルーチン）。
【図１９】同期判定部の処理フローの例を示す図である。
【図２０】同期判定部の処理フローの例を示す図である（処理Ｃのサブルーチン）。
【図２１】補間フレームの生成処理の例を示す図である。
【図２２】情報処理装置のハードウェア構成例を示す図である。
【図２３】フレームレート変換装置の構成例を示す図である。
【図２４】フレームの並び変え処理の例を示す図である。
【図２５】図２３のフレームレート変換装置を利用した映像再生装置の構成例を示す図である。
【図２６】図２３のフレームレート変換装置を利用した映像表示装置の構成例を示す図である。
【符号の説明】
【００１８】
１，２，１００              情報処理装置
１１          入力部
１２          第１の動きベクトル算出部
１３          記憶部
１４          第２の動きベクトル算出部
１５          検出部
１６          出力部
２１          第１のベクトル探索部
２２          第１の算出部
２３          第２のベクトル探索部
２４          第２の算出部
２５          解析部
２６          検出部
２６ａ        比較部
２６ｂ        同期判定部
２６ｍ        格納部
２７          生成部
２８ａ−１８ｅ       バッファ
２９          入力部
３０          出力部
１０１        プロセッサ
１０２        主記憶装置
１０３        入力装置
１０４        出力装置
１０５        外部記憶装置
１０６        ネットワークインタフェース
１０７        バス
１６００      フレームレート変換装置
１６０１      フレーム補間装置
１６０２      遅延器
１６０３      合成器
１６０４      入力インタフェース
１７０１      映像データ記憶装置
１７０２      デコード装置
１７０４      ディスプレイ
１８０１      映像データ受信装置
１８０２      ディスプレイ
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、本発明の実施をするための形態（以下、実施形態という）について説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。【００２０】
＜第１実施形態＞
図３は、第１の映像フレーム群から第２の映像フレーム群のフレームレート変換の例を示す図である。ｍは、ソースレートの所定時間あたりのフレーム数である。第２の映像フレーム群は、第１の映像フレーム群からフレームを間引いて、所定時間当たりのフレーム数ｎにフレームレート変換されて生成される。ｍ及びｎは、０を含まない自然数である。ｍ及びｎは、ｎ＜ｍの関係を満たす。【００２１】
図３に示されるように、第１の映像フレーム群からフレームを間引くことで第２の映像フレーム群が生成される。例えば、第１の映像フレーム群の所定時間当たりのフレーム数ｍから、映像フレームが間引きされて、所定時間あたりのフレーム数がｎの第２の映像フレーム群が生成される。このとき、第２の映像フレーム群の１つの映像フレームと、その映像フレームの直前の映像フレームとの間に、元のフレームが間引きされる場合がある。また、第２の映像フレーム群の１つの映像フレームと、その直前の映像フレームとが、元の映像フレームが間引かれることなく、フレームレート変換前の第１の映像フレーム群においても連続している場合がある。【００２２】
例えば、図３に示されるように、第１の映像フレーム群が第２の映像フレーム群へフレームレート変換される場合に、映像フレームＩと映像フレームＧとの間の映像フレームＨが間引かれる。一方、第１の映像フレーム群が第２の映像フレーム群へフレームレート変換される場合に、映像フレームＢと映像フレームＢの直前の映像フレームＡとの間には、間引かれるフレームはない。【００２３】
例えば、第２の映像フレーム群の１つの映像フレームと、その１フレーム前の映像フレームとの間の動きベクトルは、第１の動きベクトルとして定義される。例えば、第２の映像フレーム群の１つの映像フレームと、そのｎフレーム前の映像フレームとの間の動きベクトルは、第２の動きベクトルとして定義される。【００２４】
図３において、第２の映像フレーム群の１つの映像フレームが映像フレームＩに定められる場合、第１の動きベクトルは、第２の映像フレーム群における、映像フレームＩと映像フレームＩの直前の映像フレームＧとの間の動きベクトルである。また、第２の動きベクトルは、第２の映像フレーム群における、映像フレームＩと映像フレームＩのｎフレーム前の映像フレームＡとの間の動きベクトルである。【００２５】
この場合、第１の動きベクトルは、第１の映像フレーム群における、映像フレームＩと映像フレームＩの２フレーム前の映像フレームＧとの間の動きベクトルと同じ動きベクトルである。また、第２の動きベクトルは、第１の映像フレーム群における、映像フレームＩと、映像フレームＩのｍフレーム前の映像フレームＡとの間の動きベクトルと、同じ動きベクトルである。このときの第１の動きベクトルと第２の動きベクトルとの比は、以下の式１で表わされる。【００２６】
【数１】
2010109636.tif 000003
図３において、第２のフレーム群の１つの映像フレームが映像フレームＩと定められる場合には、映像フレームＩと映像フレームＧとの間に、フレームレートの変換の際に間引かれる映像フレームＨが存在する。一方、図３において、第２の映像フレーム群の１つの映像フレームが映像フレームＢに定められる場合には、映像フレームＢと映像フレームＡとの間には、フレームレートの変換の際に間引かれるフレームはない。【００２７】
従って、第２の映像フレーム群の１つの映像フレームがフレームＢに定められる場合には、第１の動きベクトルは、第１の映像フレーム群における、映像フレームＢと映像フレームＢの１フレーム前の映像フレームＡとの間の動きベクトルと同じ動きベクトルである。また、第２の動きベクトルは、第１の映像フレーム群における、映像フレームＢと、映像フレームＢのｍフレーム前の映像フレーム（図示せず）との間の動きベクトルと、同じ動きベクトルである。このときの第１の動きベクトルと第２の動きベクトルとの比は、以下の式２で表わされる。【００２８】
【数２】
2010109636.tif 000004
式１及び式２より、第１の動きベクトルと第２の動きベクトルとの比は、第２の映像フレーム群の１つの映像フレームと、その映像フレームの直前の映像フレームとの間の間引かれたフレームの数によって変わることがわかる。すなわち、第１の動きベクトルと第２の動きベクトルとの比は、第１の映像フレーム群の所定時間当たりのフレーム数ｍと、フレーム変換時のフレーム間の間引き方から決まる。【００２９】
実際には、動きベクトルは推定値であるために、第１の動きベクトルと第２の動きベクトルとの比は、式１及び式２を満たさない。そのため、式１及び式２における誤差が許容される所定の数値範囲が設定される。第１の動きベクトルと第２の動きベクトルとの比が、第１の映像フレーム群の所定時間当たりのフレーム数ｍと、フレーム間の間引き方から決まる所定比と認められる範囲にある場合に、第２の映像フレーム群が第１の映像フレーム群のフレームレート変換によって得られたことを検出することができる。【００３０】
図４は、情報処理装置の構成例を示す図である。情報処理装置１は、入力部１１、記憶部１３、第１の動きベクトル算出部１２、第２の動きベクトル算出部１４、検出部１５、および出力部１６を含む。【００３１】
入力部１１は、第２の映像フレーム群の映像信号を入力として得る。この映像信号は、例えば、アンテナ及びチューナーを介して受信された入力信号から、映像検出回路が映像信号のみ抽出し、入力部１１に入力される。入力部１１は、映像信号を情報処理装置１が取り扱う信号の形式、すなわち、第２の映像フレーム群の映像フレームに変換して、記憶部１３に出力する。【００３２】
記憶部１３は、入力部１１から第２の映像フレーム群の映像フレームを入力として得る。記憶部１３は、所定時間映像フレームを記憶し、その後、出力する。記憶部１３は、第２の映像フレーム群の１つの映像フレーム（以降、現映像フレームと称する）と１フレーム前の映像フレームとを、第１の動きベクトル算出部１２に出力する。記憶部１３は、現映像フレームとｎフレーム前の映像フレームとを第２の動きベクトル算出部１４に出力する。【００３３】
第１の動きベクトル算出部１２は、現フレームと、その映像フレームの１フレーム前の映像フレームとを入力として得る。第１の動きベクトル算出部１２は、現映像フレームと、１フレーム前の映像フレームとの間の動きベクトルを第１の動きベクトルとして求める。第１の動きベクトル算出部１２は、第１の動きベクトルを検出部１５に出力する。【００３４】
第２の動きベクトル算出部１４は、現映像フレームと、現映像フレームを基点としてｎフレーム前の映像フレームとを入力として得る。第２の動きベクトル算出部１４は、現映像フレームと、現映像フレームのｎフレーム前の映像フレームとの間の動きベクトルを第２の動きベクトルとして求める。第２の動きベクトル算出部１４は、第２の動きベクトルを検出部１５に出力する。【００３５】
検出部１５は、第１の動きベクトル算出部１２から第１の動きベクトルと、第２の動きベクトル算出部１４から第２の動きベクトルとを入力として得る。検出部１５は、第１の動きベクトルと第２の動きベクトルとの比が、第２の映像フレーム群の所定時間当たりのフレーム数ｍとフレームの間引き方とから決まる所定比と認められる範囲にあるか否かを判定する。例えば、図３に示される場合には、第１の動きベクトルと第２の動きベクトルとの比が、式１又は式２の何れかを満たすと認められる所定範囲内にあるか否かを判定する。第１の動きベクトルと第２の動きベクトルとの比が、第２の映像フレーム群の所定時間当たりのフレーム数ｍとフレームの間引き方とから決まる所定比と認められる範囲にある場合には、検出部１５は、第２の映像フレーム群が第１の映像フレーム群のフレームレート変換によって得られたことを検出する。検出部１５は、検出結果を出力部１６に出力する。【００３６】
出力部１６は、検出部１５から検出結果を入力として得る。出力部１６は、検出結果を、伝送可能な信号に変換して出力する。たとえば、出力部１６は、他の装置に検出結果を出力する。【００３７】
情報処理装置１は、第２の映像フレーム群の１つの映像フレームとその直前の映像フレームとから第１の動きベクトルを求める。情報処理装置１は、第２の映像フレーム群の１つ映像フレームとそのｎフレーム前の映像フレームとの間の第２の動きベクトルを求める。情報処理装置１は、第１の動きベクトルと第２の動きベクトルとの比が、第２の映像フレーム群の所定時間当たりのフレーム数ｍとフレームの間引き方とから決まる所定比と認められる範囲にあるか否かを判定する。その判定結果によって、情報処理装置１は、第２の映像フレーム群が第１の映像フレーム群のフレームレート変換によって得られたことを検出することができる。【００３８】
＜第２実施形態＞
次に、情報処理装置の第２実施形態として、ソースレートが２４ｆｐｓである入力レート１５ｆｐｓのフレームシーケンスに対するフレーム補間処理を行う情報処理装置について説明する。なお、ソースレートは、映像フレーム群が撮影される（すなわち、生成される）ときのフレームレートである。入力レートとは、映像フレーム群が情報処理装置１に入力されるときのフレームレートである。以降、映像フレームを単に「フレーム」と称することもある。【００３９】
入力レート１５ｆｐｓの映像フレーム群は、例えば、図２に示されるように、２４ｆｐｓの映像フレーム群中の８フレーム毎に３フレームを間引きすることによって生成される。従って、１５ｆｐｓの映像フレーム群における現フレームと現フレームから５フレーム前のフレームとの間の動きベクトルは、２４ｆｐｓの映像フレーム群における現フレームと現フレームから８フレーム前のフレームとの間の動きベクトルと同等である。【００４０】
一方、１５ｆｐｓの映像フレーム群における現フレームと現フレームから１フレーム前のフレームとの間の動きベクトルは、２４ｆｐｓの映像フレーム群における現フレームと現フレームから１フレーム又は２フレーム前のフレームとの間の動きベクトルと同等である。【００４１】
すなわち、２４ｆｐｓの映像フレーム群において現フレームの直前のフレームが、１５ｆｐｓの映像フレーム群においても直前のフレームになる場合がある（間引きされなかった場合）がある。また、２４ｆｐｓの映像フレーム群において現フレームの２フレーム前のフレームが、１５ｆｐｓにおいて直前のフレームになる場合（間引きされた場合）がある。【００４２】
したがって、１５ｆｐｓの映像フレーム群における現フレームとその直前のフレームとの間の動きベクトルは、１５ｆｐｓの映像フレーム群における現フレームと５フレーム前のフレームとの間の動きベクトルの８分の１（間引きされなかった場合）又は４分の１（間引きされた場合）になる。例えば、図２に示される場合には、１５ｆｐｓの映像フレーム群における映像フレームＩと映像フレームＧとの間の動きベクトルは、１５ｆｐｓの映像フレーム群における映像フレームＩと映像フレームＡとの間の動きベクトルの４分の１になる。【００４３】
実際には、動きベクトルは推定値であるために、１５ｆｐｓの映像フレーム群における現フレームと、その直前のフレームとの間の動きベクトルは、１５ｆｐｓの映像フレーム群における現フレームと、５フレーム前のフレームとの間の動きベクトルの８分の１又は４分の１にならない。すなわち、誤差が生じる。そのため、誤差が許容される数値範囲を設定する。１５ｆｐｓの映像フレーム群における現フレームと、その５フレーム前のフレームとの間の動きベクトルが８分の１又は４分の１を乗算される。その値から、１５ｆｐｓの映像フレーム群の現フレームと、その直前のフレームとの間の動きベクトルを減じた値が、所定の数値範囲内となる場合に、１５ｆｐｓの映像フレーム群が２４ｆｐｓの映像フレーム群のフレームレート変換によって得られたことが検出できる。【００４４】
図５は、ソースレート３０ｆｐｓの映像フレーム群が入力レート１５ｆｐｓに変換される例を示す図である。ソースレート３０ｆｐｓの映像が入力レート１５ｆｐｓに変換される場合には、例えば、２フレーム毎に１フレームが間引きされる。【００４５】
この場合、１５ｆｐｓの映像フレーム群における現フレームとその５フレーム前のフレームとの間の動きベクトルは、３０ｆｐｓの映像フレーム群における現フレームとその１０フレーム前のフレームとの間の動きベクトルと同等である。一方、１５ｆｐｓの映像フレーム群における現フレームとその１フレーム前のフレームとの間の動きベクトルは、３０ｆｐｓの映像フレーム群における現フレームとその２フレーム前のフレームとの間の動きベクトルと同等である。【００４６】
例えば、図５に示される場合には、１５ｆｐｓの映像フレーム群におけるフレームＫとその直前の映像フレームＩとの間には、フレームレート変換される場合にフレームＪが間引きされる。従って、１５ｆｐｓの映像フレーム群におけるフレームＫとフレームＩとの間の動きベクトルは、３０ｆｐｓの映像フレーム群における２フレーム分の動きベクトルである。また、１５ｆｐｓの映像フレーム群におけるフレームＫとフレームＡとの間の動きベクトルは、３０ｆｐｓの映像フレーム群における１０フレーム分の動きベクトルである。【００４７】
したがって、３０ｆｐｓの映像フレーム群からフレームレート変換によって１５ｆｐｓの映像フレーム群を得る場合には、１５ｆｐｓの映像フレーム群における現フレームと直前のフレームとの間の動きベクトルは、現フレームと５フレーム前のフレームとの間の動きベクトルの５分の１になる。すなわち、１５ｆｐｓの映像フレーム群における現フレームと直前のフレームとの間の動きベクトルは、３０ｆｐｓの映像フレーム群における２フレーム分になる。これより、図５に示される場合には、１５ｆｐｓの映像フレーム群における現フレームと直前のフレームとの間の動きベクトルは、現フレームと５フレーム前のフレームとの間の動きベクトルの８分の１又は４分の１にはならない。【００４８】
このように、ＮＴＳＣに従ったソースレート３０ｆｐｓ（６０ｉ）の映像フレーム群がフレームレート変換された１５ｆｐｓの映像フレーム群と、２４ｆｐｓの映像フレーム群がフレームレート変換された１５ｆｐｓの映像フレーム群とは、上述したような動きベクトルの検査によって区別が可能である。【００４９】
図６は、ソースレートと入力レートが同じであり、予測ベクトルをフィードバックして動きベクトルが求められる場合の例を示す図である。図６に示されるように、ソースレートと入力レートが同じ場合には、フレームレートの変換処理がなされないので、間引きされるフレームがない。すなわち、図６に示される場合には、フレームＡとフレームＢとの間の動きベクトルと、フレームＢとフレームＣとの間の動きベクトルとのソースレートにおけるフレーム時間間隔が均等である。【００５０】
現フレームの直前のフレームと、現フレームの２フレーム前のフレームとの間の動きベクトルが予測ベクトルとしてフィードバックされる。この場合、求められる動きベクトルのフレーム時間間隔と、フィードバックされる予測ベクトルのフレーム時間間隔が等しい。従って、例えば、図６に示される、フレームＢとフレームＣとの間の動きベクトルを算出する際に、フレームＡとフレームＢとの間の動きベクトルが予測ベクトルとしてフィードバックされることで、より正確な動きベクトルが求められる。【００５１】
図６では、ソースレートと入力レートとが同じ値である場合が示された。同様にして、３０ｆｐｓの映像フレーム群からフレームレート変換によって１５ｆｐｓの映像フレーム群が得られる場合でも、１５ｆｐｓの映像フレーム群におけるフレーム間の時間間隔が均等になる。そのため、３０ｆｐｓの映像フレーム群からフレームレート変換によって１５ｆｐｓの映像フレーム群が得られる場合でも、１５ｆｐｓの映像フレーム群における現フレームの直前のフレームと、直前のフレームの２フレーム前のフレームとの間の動きベクトルが予測ベクトルとしてフィードバックされる。【００５２】
図７は、ソースレートが２４ｆｐｓ、入力レートが１５ｆｐｓの場合に予測ベクトルをフィードバックして動きベクトルが求められる例を示す図である。【００５３】
ソースレートが２４ｆｐｓ、入力レートが１５ｆｐｓの場合には、フレームレートの変換時に、３フレームに１フレーム、または、２フレームに１フレームの割合でフレームが間引きされる。したがって、例えば、図７において、フレームＡとフレームＢとの間の動きベクトルと、フレームＢとフレームＤとの間の動きベクトルとでは、ソースレート２４ｆｐｓにおけるフレーム時間間隔が異なる。フレームＡとフレームＢとの間の動きベクトルはソースレート２４ｆｐｓにおいて１フレーム時間（１／２４秒）分の動きベクトルである。これに対し、フレームＢとフレームＤとの間の動きベクトルは、ソースレート２４ｆｐｓにおいて、２フレーム時間（１／１２秒）分の動きベクトルである。【００５４】
従って、フレームＡとフレームＢとの間の動きベクトルが予測ベクトルとしてフィードバックされて、フレームＢとフレームＤとの間の動きベクトルが算出される場合、２４ｆｐｓにおけるフレーム時間間隔の違いから、予測ベクトルは効果的に作用しない。すなわち、フレームＢとフレームＤとの間の動きベクトルは正しく求まらず、精度の低い動きベクトルとなる。【００５５】
図７に示すように、１５ｆｐｓの映像フレーム群におけるフレーム間の、２４ｆｐｓから１５ｆｐｓへのフレームレート変換時のフレームの間引き方は、フレームＡを基点とすると、｛１フレーム、２フレーム、２フレーム、１フレーム、２フレーム｝である。このシーケンス中で、「２フレーム」の場合に、２４ｆｐｓから１５ｆｐｓへのフレームレート変換によってフレームの間引きが行われる。このシーケンス中に１度だけ、予測ベクトルとしての動きベクトルと、算出される動きベクトルとのソースレート２４ｆｐｓにおけるフレーム時間が一致する場合がある。【００５６】
図７においては、フレームＢとフレームＤとの間のソースレート２４ｆｐｓにおけるフレーム時間と、フレームＤとフレームＦとの間の２４ｆｐｓにおけるフレーム時間は、いずれも、２４ｆｐｓにおける２フレーム時間（１／１２秒）である。フレームＤとフレームＦとの間の動きベクトルが求められる際に、フレームＢとフレームＤとの間の動きベクトルが予測ベクトルとしてフィードバックされる場合、その両方のフレーム時間間隔が一致する。従って、フレームＢとフレームＤとの間の動きベクトルが予測ベクトルとしてフィードバックされ、フレームＤとフレームＦとの間の動きベクトルが求められると、予測ベクトルのフィードバックがない場合に比べて、動きベクトルがより正確に求められる。このように、予測ベクトルとしての動きベクトルのフレーム時間間隔が、算出されるべき動きベクトルのフレーム時間間隔に等しくなる場合を、「同期ポイント」と称し、図７において星マークで示す。同期ポイントが検出される、図７におけるフレームＦを起点として、直前のフレームとのフレーム時間間隔のシーケンスを、スキップシーケンスＸｎ＝｛Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｘ５｝＝｛２，１，２，１，２｝とする。スキップシーケンスＸｎは、フレームレート変換時に実施された間引きパターンとも表現される。【００５７】
図７に示される例は、第１実施形態において、ｍ＝８、ｎ＝５とした場合の例である。１５ｆｐｓの映像フレーム群の現フレームと現フレームの直前のフレームとの間の動きベクトルは、第１実施形態における第１の動きベクトルに相当する。１５ｆｐｓの映像フレーム群における現フレームと現フレームの５フレーム前のフレームとの動きベクトルは、第１実施形態における第２の動きベクトルに相当する。【００５８】
したがって、図７に示される例においては、第１の動きベクトルは、第２の動きベクトルの８分の１（１フレーム分）又は４分の１（２フレーム分）になるはずである。すなわち、１５ｆｐｓの映像フレーム群の５フレーム毎に、第１の動きベクトルが第２の動きベクトルの４分の１となるポイントは複数回出現するはずである。【００５９】
しかしながら、同期ポイント以外の箇所の、予測ベクトルとしての動きベクトルと、算出される動きベクトルとの、ソースレート２４ｆｐｓにおけるフレーム時間はいずれも異なるため、算出される動きベクトルの値にはばらつきが生じる。そのため、予測ベクトルをフィードバックさせることにより、第２実施形態における、第１の動きベクトルが第２の動きベクトルの４分の１となるポイントは、同期ポイントのみに絞られることになる。【００６０】
したがって、第２実施形態において、第１の動きベクトルが第２の動きベクトルの４分の１となることを検出することによって、同期ポイントを検出し、スキップシーケンスＸｎの始点を特定することができる。【００６１】
フレームのスキップシーケンスＸｎにおいて、Ｘｎ＝１の場合には、現フレームとその直前のフレームとの間に、間引きされたフレームがないことを示す。すなわち、現フレームとその直前のフレームとの間にフレームを補間する必要がないことを示す。Ｘｎ＝２の場合には、現フレームとその直前のフレームとの間に、１フレームが間引きされていることを示す。すなわち、現フレームとその直前のフレームとの間にフレームを補間する必要があることを示す。したがって、スキップシーケンスＸｎの始点Ｘ１が特定されることによって、現フレームとその直前のフレームとの間にフレームを補間すべきか否かを判定することができる。【００６２】
補間フレームの精度を上げるためには、動きベクトルが正確に求められることが重要である。動きベクトルがより正確に求められるために、フィードバックされる予測ベクトルに対して制御を行う。動きベクトルがより正確に求められるための、予測ベクトルを制御する乗数を予測ベクトル制御乗数αｎとする。【００６３】
図８は、予測ベクトル制御乗数αｎについて説明する図である。図８では、図７と同様に、ソースレート２４ｆｐｓの映像が入力レート１５ｆｐｓに変換されて入力される例を示す。【００６４】
ソースレート２４ｆｐｓの映像が入力レート１５ｆｐｓに変換されて入力される場合には、それぞれのフレームとフレームとの間のソースレート２４ｆｐｓにおけるフレーム時間間隔が異なることは、図７において、説明済みである。そこで、予測ベクトルとしての現フレームの直前のフレームと、現フレームの２フレーム前のフレームとの動きベクトルと、現フレームと、現フレームの直前のフレームとの動きベクトルとの、２４ｆｐｓにおけるフレーム時間間隔を揃えることによって、より効果的な予測ベクトルをフィードバックさせることができる。【００６５】
図８においては、例えば、フレームＡとフレームＢとの間の動きベクトルの、ソースレート２４ｆｐｓにおけるフレーム時間間隔は、１フレーム分（１／２４秒）である。フレームＡとフレームＢとの間の動きベクトルがフィードバックされる、フレームＢとフレームＤとの間の動きベクトルの、ソースレート２４ｆｐｓにおけるフレーム時間間隔は２フレーム分（１／１２秒）である。従って、予測ベクトルとしてのフレームＡとフレームＢとの間の動きベクトルに２を乗じることによって、フレームＢとフレームＤとの間の動きベクトルの、ソースレート２４ｆｐｓにおけるフレーム時間間隔に揃えることができる。すなわち、フレームＡとフレームＢとの間の動きベクトルの２４ｆｐｓにおけるフレーム時間に対する、フレームＢとフレームＤとの間の動きベクトルの２４ｆｐｓにおけるフレーム時間の比率を、フレームＡとフレームＢとの間の動きベクトルに乗じればよい。【００６６】
他のフレームについても同様にすると、同期ポイント（星マークで表示）を始点として｛１／２，２，１／２，２，１｝のシーケンスが得られる。このシーケンスが予測ベクトル制御乗数αｎとする。すなわち、予測ベクトル制御乗数αｎは、現フレームの直前のフレームと、現フレームの２フレーム前のフレームとの間の動きベクトルのフレーム時間に対する、現フレームと、現フレームの直前のフレームとの動きベクトルのフレーム時間の比率である。【００６７】
以上より、第２実施形態における、第１の動きベクトルと第２の動きベクトルとによって同期ポイントを検出することができる。同期ポイントが検出されると、フレームのスキップシーケンスＸｎとともに、予測ベクトル制御乗数αｎが特定される。フレームのスキップシーケンスＸｎ、予測ベクトル制御乗数αｎが特定されることによって、フレーム補間の実行の有無および予測ベクトルを求めることができる。【００６８】
＜＜情報処理装置の構成例＞＞
図９は、情報処理装置の第２実施形態の構成例を示す図である。  情報処理装置２は、入力部２９と、第１のベクトル探索部２１と、第１の算出部２２と、第２のベクトル探索部２３と、第２の算出部２４と、解析部２５と、検出部２６と、生成部２７と、バッファ２８ａ−２８ｅと、出力部３０とを含む。以下、情報処理装置２を「フレーム補間装置２」と表記することもある。【００６９】
入力部２９は、１５ｆｐｓの映像フレーム群の映像信号を入力として得る。この映像信号は、例えば、アンテナ及びチューナー（図示せず）を介して受信された入力信号から、映像検出回路（図示せず）が映像信号のみ抽出し、入力部２９に入力される。入力部２９は、映像信号を情報処理装置１が取り扱う信号の形式、すなわち、１５ｆｐｓの映像フレーム群の映像フレームに変換して、バッファ２８ａと、第１のベクトル探索部２１と、第２のベクトル探索部２３とに出力する。又は、入力部２９は、他の装置（図示せず）から、１５ｆｐｓの映像フレーム群を入力として得て、バッファ２８ａと、第１のベクトル探索部２１と、第２のベクトル探索部２３とに出力する。【００７０】
バッファ２８ａは、１５ｆｐｓの映像フレームを入力として得る。バッファ２８ａは、次のフレームがバッファ２８ａに入力されると、バッファ２８ｂと第１のベクトル探索部２１とに先に格納されているフレームを出力する。バッファ２８ｂに格納されたフレームは、以降、フレームが入力される毎に、バッファ２８ｃ、バッファ２８ｄ、バッファ２８ｅへと順に出力される。バッファ２８ｅに格納されたフレームは、フレームがバッファ２８ａに入力されると第２のベクトル探索部２３に出力される。このように、バッファ２８ａ〜２８ｅは、バッファ２８ａからの出力が第１のベクトル探索部２１にも出力されることを除き、５つのフレームを蓄積可能なＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）として機能する。【００７１】
このようにして、第１のベクトル探索部２１には、現在入力されたフレームと１フレーム前に入力されたフレームとが入力される。第２のベクトル探索部２３には、現在入力されたフレームと５フレーム前に入力されたフレームとが入力される。【００７２】
第１のベクトル探索部２１は、現フレームとその１フレーム前のフレームとを入力として得る。第１のベクトル探索部２１は、現フレームと、現フレームの１フレーム前に入力されたフレームとの間の動きベクトルを求める。動きベクトルは、フレームを成す画素の集合であるブロック毎に求められる。以降、画素の集合であるブロックは、単に「ブロック」と呼ばれる。第１のベクトル探索部２１は、算出したブロック毎の動きベクトルを第１の算出部２２と生成部２７とに出力する。【００７３】
第１の算出部２２は、第１のベクトル探索部２１から、ブロック毎の動きベクトルを入力として得る。第１の算出部２２は、第１のベクトル探索部２１で算出されたブロック毎の動きベクトルを平均して平均動きベクトルＭＶａｖｅを算出する。第１の算出部２２は、平均動きベクトルＭＶａｖｅを検出部２６に出力する。【００７４】
第２のベクトル探索部２３は、現フレームと、現フレームの５フレーム前に入力されたフレームとを入力として得る。第２のベクトル探索部２３は、現フレームとその５フレーム前に入力されたフレームとから、動きベクトルを算出する。動きベクトルは、フレームを成す画素の集合であるブロック毎に求められる。第２のベクトル探索部２３は、ブロック毎の動きベクトルを第２の算出部２４に出力する。【００７５】
第２の算出部２４は、第２のベクトル探索部２３からブロック毎の動きベクトルを入力として得る。第２の算出部２４は、第２のベクトル探索部２３が算出した動きベクトルを平均して平均動きベクトルＭＶ５を算出する。第２の算出部２４は、平均動きベクトルＭＶ５を、解析部２５と検出部２６とに出力する。【００７６】
なお、第１の算出部２２及び第２の算出部２４は、検出部２６がフレーム内のブロック毎の動きベクトルを１つの動きベクトルとして扱えるようにするため、平均動きベクトルＭＶａｖｅ及び平均動きベクトルＭＶ５を算出する。ブロック毎の動きベクトルについて、上述のような判定処理を実施するのは、非常に煩雑となる。そのため、フレーム内のブロック毎に算出される動きベクトルが平均されて１つの動きベクトルとして扱われることで、処理負荷が軽くなる。ブロック毎の動きベクトルをフレーム内で平均した平均動きベクトルＭＶａｖｅ及び平均動きベクトルＭＶ５を用いた場合でも、その両者の間に、図６〜図８で説明した関係が成り立つ。【００７７】
解析部２５は、第２の算出部２４から平均動きベクトルＭＶ５を入力として得る。解析部２５は、平均動きベクトルＭＶ５に基づき、映像シーンが予め定められた特定シーンであるか否かを判定する。判定結果は、シーン検出情報として検出部２６へ出力される。【００７８】
検出部２６は、第１の算出部２２から平均動きベクトルＭＶａｖｅを入力として得る。また、検出部２６は、第２の算出部２４から平均動きベクトルＭＶ５を入力として得る。さらに、検出部２６は、解析部２５からシーン検出情報を入力として得る。【００７９】
検出部２６は、平均動きベクトルＭＶａｖｅ及び平均動きベクトルＭＶ５に基づいて、１５ｆｐｓの映像フレーム群が、２４ｆｐｓの映像フレーム群がフレームレート変換されて得られたことを検出する。【００８０】
検出部２６は、１５ｆｐｓの映像フレーム群が、２４ｆｐｓの映像フレーム群がフレームレート変換されて得られたことを検出した場合には、フレーム補間の実施の有無を指示する補間制御情報を生成する。さらに、検出部２６は、検出結果に基づいて、予測ベクトルを算出する。すなわち、検出部２６は、スキップシーケンスＸｎ、および、予測ベクトル制御乗数αｎを用いて、補間制御情報および予測ベクトルを算出する。検出部２６は、補間制御情報を生成部２７に出力する。検出部２６は、予測ベクトルを第１のベクトル探索部２１に出力する。【００８１】
生成部２７は、第１のベクトル探索部２１から、現フレームと現フレームの１フレーム前のフレームとの間のブロック毎の動きベクトルを入力として得る。また、生成部２７は、検出部２６からフレーム補間の要否を指示する補間制御情報を入力として得る。補間制御情報がフレーム補間の実施を指示する情報を含む場合には、生成部２７は、現フレームと、現フレームの１フレーム前に入力されたフレームとの間に中間フレームを生成する。なお、中間フレームのことを補間フレームともいう。生成部２７は、生成した補間フレームを出力する。【００８２】
出力部３０は、補間フレームを入力として得る。出力部３０は、補間フレームを必要に応じて、映像信号に変換して出力する。【００８３】
第１のベクトル探索部２１、第１の算出部２２、第２のベクトル探索部２３、第２の算出部２４、解析部２５、検出部２６、および、生成部２７の詳細については後述する。【００８４】
＜＜第１のベクトル探索部、第２のベクトル探索部の処理＞＞
以下に、第１のベクトル探索部２１及び第２のベクトル探索部２３に適用可能な動きベクトルを求める方法の例を示す。まず、第１のベクトル探索部２１について説明する。【００８５】
図１０は、動きベクトルの求め方の例を示す図である。図１０は、動きベクトルの求め方の代表的な例として、ブロックマッチングによる動きベクトル探索を示す。【００８６】
例えば、第１のベクトル探索部２１は、横方向がｎ画素、縦方向がｍ画素のマスクサイズと呼ばれる画素ブロック単位で、現フレームと参照フレーム５１１とのパターンマッチングを行う。図１０は、画素ブロックとして、ｎ＝６、ｍ＝４、すなわち、横方向が６画素、縦方向が４画素のマスクサイズを用いた例を示す。以下、画素ブロックは単に「ブロック」と表記される。また、第１のベクトル探索部２１は、参照フレームとして、現フレームの直前のフレームを用いる。【００８７】
まず、第１のベクトル探索部２１は、現フレームからｎ×ｍに切り出されたブロック５０１の中心座標に対応する参照フレーム５１１上の座標を検出する。第１のベクトル探索部２１は、参照フレーム５１１上に検出された座標を中心としてｎ×ｍのブロック５０２を検出する。【００８８】
第１のベクトル探索部２１は、ブロック５０２に対して、横方向±Ｓｘ画素、縦方向±Ｓｙ画素の範囲で動きベクトルの探索を行う。図１０では、第１のベクトル探索部２１は、Ｓｘ＝２、および、Ｓｙ＝２として、横方向±２、縦方向±２の範囲で動きベクトルの探索を行う。すなわち、現フレームのブロック５０１に対応する参照フレーム５１１のブロック５０２の中心を原点としたときに、（ｘ，ｙ）（−Ｓｘ≦ｘ≦＋Ｓｘ，−Ｓｙ≦ｙ≦＋Ｓｙ）内に存在するすべてのベクトルが動きベクトル候補ＭＶとなる。図１０では、動きベクトル候補ＭＶのうち、（−２，−１）の動きベクトル候補５１２に基づくパターンマッチングを行う様子が示されている。図１０では、第１のベクトル探索部２１は、動きベクトル候補５１２に基づく位置オフセットをブロック５０２に付加する。第１のベクトル探索部２１は、参照フレーム５１１中のブロック５０２を横方向に−２、縦方向に−１だけ移動したブロック５０３を求め、ブロック５０１とブロック５０３との画素間のパターンマッチングを実行する。【００８９】
次に、第１のベクトル探索部２１は、現フレームのブロック５０１と参照フレーム５１１のブロック５０３との類似度を求める。第１のベクトル探索部２１は、ブロック５０３内の全画素について、ブロック５０１の対応する画素との差分絶対値和を計算する。このようにして、第１のベクトル探索部２１は、（ｘ、ｙ）（−Ｓｘ≦ｘ≦＋Ｓｘ、−Ｓｙ≦ｙ≦＋Ｓｙ）の全ての動きベクトル候補ＭＶについて、パターンマッチングを実行する。第１のベクトル探索部２１は、すべての動きベクトル候補ＭＶについて求められたブロックについて、ブロック５０１に対応する画素との差分絶対値和を計算し、（２×Ｓｘ＋１，２×Ｓｙ＋１）からなる相関値テーブルを求める。【００９０】
図１１は、ブロック５０１と参照フレーム５１１との相関値テーブルの例である。相関値テーブルのことは、類似度テーブルとも称される。図１１に示される相関値テーブルＴ１の座標は、参照フレーム５１１の動きベクトル候補ＭＶのｘ成分、ｙ成分に対応している。例えば、図１０に示された動きベクトル候補５１２のｘ成分、及びｙ成分（−２，−１）だけ位置オフセットしたブロック５０３と現フレームのブロック５０１との類似度は、相関値テーブルＴ１の座標（−２，−１）に格納される７４６である。【００９１】
図１２は、図１０のブロックマッチングによって得られる動きベクトル候補ＭＶに対して重み付けを行う場合の、重みの分布の例を示す図である。図１２中の同心円は、距離に応じて加算される重み（コスト）を示している。図１２の同心円は、中心より遠くなるに従って、重みが大きくなる場合の、重みの等高線を表している。第１のベクトル探索部２１は、予測ベクトルの方向へ同心円の中心をオフセットすることによって、予測ベクトル付近が動きベクトルとして選択されやすくなるようにする。なお、第１のベクトル探索部２１は、予測ベクトルとして、検出部２６から入力される予測ベクトルを用いる。【００９２】
図１３は、ブロック５０１の動きベクトルの選択処理の例を示す図である。図１３では、予測ベクトルが（＋１，０）の場合が示される。【００９３】
図１３に示される相関値テーブルＴ１は、図１１に示す相関値テーブルと同様の相関値テーブルである。重み付けテーブルＴ２は、予測ベクトル（＋１，０）に中心がオフセットされており、座標（＋１，０）を同心円の中心として各座標に重み付けがなされている。【００９４】
第１のベクトル探索部２１は、相関値テーブルＴ１の各座標に重み付けテーブルＴ２の対応する座標値を加算器ＡＤにより加算して、最小となる座標をブロック５０１の動きベクトルとして選択する。図１３では、相関値テーブルＴ１と重み付けテーブルＴ２を加算した後に最小値となる座標は、（＋１，０）である。この場合、第１のベクトル探索部２１は、ブロック５０１の動きベクトルとして（＋１，０）を選択する。【００９５】
第１のベクトル探索部２１は、現フレームのブロック５０１以外のブロックについても、図１０〜図１３と同様にして動きベクトルを求める。【００９６】
一方、第２のベクトル探索部２３は、参照フレームとして、現フレームの５フレーム前のフレームを用いる。第２のベクトル探索部２３は、第１のベクトル探索部２１と同様にして、動きベクトルを求めてもよい。この場合には、第２のベクトル探索部２３は、予測ベクトルとして、検出部２６が算出する予測ベクトルを用いてもよい。又は、第２のベクトル探索部２３は、第２の算出部２４が算出する平均動きベクトルＭＶ５をフィードバックして予測ベクトルとして用いてもよい。【００９７】
もしくは、第２のベクトル探索部２３は、以下のようにして動きベクトルを求めてもよい。第２のベクトル探索部２３は、参照フレームとして、現フレームの５フレーム前のフレームを用いて、図１０及び図１１と同様にして相関値テーブルを求める。第２のベクトル探索部２３は、相関値テーブル内の最小値を、現フレームと５フレーム前に入力されたフレームとの、動きベクトルとして選択する。この場合、例えば、第２のベクトル探索部２３が、図１１に示される相関値テーブルＴ１を求めたとすると、座標（−１，０）の１７６が最小値となり、ブロック５０１の動きベクトルとして（−１，０）が選択される。第２のベクトル探索部２３は、現フレーム内の他のブロックについても同様にして動きベクトルを求める。【００９８】
第２のベクトル探索部２３が、相関値テーブル中の最小値の座標を動きベクトルとして選択する場合（予測ベクトルを用いない場合）には、動きベクトルをより正確に求めるために、入力されるフレームが縮小されてもよい。なぜなら、第２のベクトル探索部２３によって求められる動きベクトルは、補間フレームには影響しないからである。【００９９】
＜＜第１の算出部、第２の算出部の処理＞＞
第１の算出部２２は、第１のベクトル探索部２１によって算出された第１の動きベクトルから平均動きベクトルＭＶａｖｅを求める。第２の算出部２４は、第２のベクトル探索部２３によって算出された第２の動きベクトルから平均動きベクトルＭＶ５を求める。【０１００】
第１の算出部２２、及び、第２の算出部２４の処理は同じであるので、代表して、第１の算出部２２が平均動きベクトルＭＶａｖｅを算出する場合について説明する。【０１０１】
図１４は、フレーム内の平均動きベクトルの求め方の例を示す図である。図１４では、フレームの水平方向および垂直方向をそれぞれｘ軸およびｙ軸として、フレームがＮｘ×Ｎｙ個のブロックに分割される場合を示す。すなわち、ブロック座標（ｉ，ｊ）における動きベクトルは、ｍｖ（ｉ，ｊ）と表記される（ｉ＝０，１，．．．，Ｎｘ−１，ｊ＝０，１，．．．，Ｎｙ−１）。ＮｘおよびＮｙは、それぞれ水平方向及び垂直方向のブロック数を表す。【０１０２】
図１４に示される例では、第１の算出部２２は、まず、水平方向（ｘ方向）におけるＮｘ個の動きベクトルｍｖ（ｉ，ｊ）の平均値ｍｖａｖｅ（ｊ）を下記の式３によって水平方向の（ｘ方向）のライン毎に計算する。尚、動きベクトルｍｖ（ｉ，ｊ）は第１のベクトル探索部２１によって求められたものである。【０１０３】
【数３】
2010109636.tif 000005
次に、第１の算出部２２は、得られたＮｙ個のｍｖａｖｅ（ｊ）の平均値を下記の式４により計算し、ｍｖａｖｅａｌｌを得る。【０１０４】
【数４】
2010109636.tif 000006
式４を用いて、第１の算出部２２によって求められるｍｖａｖｅａｌｌは、ＭＶａｖｅである。第２の算出部２４によって求められるｍｖａｖｅａｌｌはＭＶ５である。【０１０５】
なお、図１４では、水平方向のライン毎の平均動きベクトルｍｖａｖｅ（ｊ）をさらに垂直方向で平均してｍｖｖｅａｌｌが求められた。これに代えて、フレームが垂直方向（ｙ方向）に複数のブロックに分割され、垂直方向のライン毎の平均動きベクトルｍｖａｖｅ（ｉ）を水平方向で平均してｍｖａｌｌが求められてもよい。【０１０６】
＜＜解析部の処理＞＞
解析部２５は、第２の算出部２４から平均動きベクトルＭＶ５を入力として得て、映像のシーンが予め定められた特定シーンであるか否かを解析する。【０１０７】
特定シーンとして、例えば、カメラのパンやチルトといったスクロールシーンが挙げられる。パンとは、カメラを一箇所に据えたまま、レンズの方向を水平に移動させることである。チルトとは、カメラを一箇所に据えたまま、レンズの方向を垂直に移動させることである。パンやチルトのようなスクロールシーンでは、一定の動きが持続するため、フレームレートの変換等によるフレームの間引き等の影響を大きく受ける。すなわち、動きに不自然さを感じるため、フレーム補間によって自然な動きに補正される必要がある。また、スクロールシーンは、フレーム内のベクトルの向きが揃うことを利用すれば検出することができる。したがって、解析部２５は、映像シーンがスクロールシーンのような特定シーンであることを検出する。解析部２５は、映像シーンが特定シーンであるか否かの判定結果に基づくシーン検出情報を検出部２６に出力する。【０１０８】
解析部２５は、例えば、第２の算出部２４によって算出される平均動きベクトルＭＶ５を用いて、下記の式５によって動きベクトルのばらつきΔを計算する。【０１０９】
【数５】
2010109636.tif 000007
解析部２５は、ばらつきΔとｍｖａｖｅａｌｌの大きさの積を判定値として用い、判定値が十分小さいとき、フレーム内の動きが一様である、すなわち、フレームの画像は、特定シーンであると判定する。そうでなければ、フレームの画像は特定シーンでないと解析部２５は判定する。解析部２５は、特定シーンを検出した場合、すなわち、特定シーンと判定した場合には、シーン検出情報をＯＮにする。具体的には、判定値が所定の閾値より小さい場合には、シーン検出情報をＯＮにし、判定値が閾値以上の場合には、シーン検出情報をＯＦＦにする。なお、ばらつきΔそのものを判定値として用いてもよい。解析部２５は、シーン検出情報を検出部２６に出力する。【０１１０】
なお、式５では、動きベクトル動きベクトルｍｖ（ｉ，ｊ）の水平方向における平均値ｍｖａｖｅ（ｊ）とｍｖａｖｅａｌｌの差分からばらつきΔが求められている。これに代えて、ｍｖａｖｅ（ｊ）の代わりに、動きベクトルｍｖ（ｉ，ｊ）の垂直方向における平均値ｍｖａｖｅ（ｉ）が用いられてもよい。さらに、ｍｖａｖｅ（ｊ）から求めたばらつきと、ｍｖａｖｅ（ｉ）から求めたばらつきの和が、ばらつきΔとして用いられてもよい。【０１１１】
＜＜検出部の処理＞＞
検出部２６は、平均動きベクトルＭＶａｖｅ、平均動きベクトルＭＶ５、およびシーン検出情報に基づいて、ソースレートが２４ｆｐｓであるか否かを検出する。【０１１２】
図１５は、検出部２６の構成例を示す図である。検出部２６は、比較部２６ａと、同期判定部２６ｂと、格納部２６ｍとを有する。【０１１３】
格納部２６ｍは、スキップシーケンスＸｎと予測ベクトル制御乗数αｎとが格納される。その他に、格納部２６ｍは、比較部２６ａ及び同期判定部２６ｂとから入力される情報を格納する。【０１１４】
比較部２６ａは、平均動きベクトルＭＶａｖｅと、平均動きベクトルＭＶ５と、シーン検出情報と、同期状態とを入力として得る。比較部２６ａは、平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とを比較し、ベクトル比較情報を生成する。また、比較部ａは、平均動きベクトルＭＶａｖｅを、格納部２６ｍに一時的に格納する。比較部２６ａは、ベクトル比較情報を同期判定部２６ｂに出力する。【０１１５】
同期判定部２６ｂは、比較部２６ａからベクトル比較情報を入力として得る。同期判定部２６ｂは、ベクトル比較情報に基づいて、１５ｆｐｓの映像フレーム群が、フレームレート変換によって、２４ｆｐｓの映像フレーム群から得られたものであるか否かの判定を行う。また、同期判定部２６ｂは、格納部２６ｍに一時的に格納された平均動きベクトルＭＶａｖｅと予測ベクトル制御乗数αｎとを読み出し、予測ベクトルを算出する。さらに、同期判定部２６ｂは、フレーム補間の実施の有無を指示する補間制御情報を生成する。【０１１６】
同期判定部２６ｂは、１５ｆｐｓの映像フレーム群が、フレームレート変換によって、２４ｆｐｓの映像フレーム群から得られたものであるか否かの判定結果を比較部２６ａに出力する。この判定結果を同期状態という。また、同期判定部２６ｂは、予測ベクトルを第１のベクトル探索部２１に出力する。さらに、同期判定部２６ｂは、補間制御情報を生成部２７に出力する。【０１１７】
図１６、図１７及び図１８は、比較部２６ａの処理フローの例を示す図である。比較部２６ａは、平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とシーン検出情報とが入力されると、処理を開始する。図１６〜図１８の処理は、入力フレーム毎に実行される。すなわち、比較部２６ａは、現フレームに対する第１の算出部２２及び第２の算出部２４の処理ごとに、図１６〜図１８の処理を実行する。【０１１８】
比較部２６ａは、映像が特定シーンか否かをシーン検出情報に基づき判定する（ＯＰ１）。すなわち、解析部２５から入力されたシーン検出情報がＯＮの場合には、処理がＯＰ３に進む。解析部２５から入力されたシーン検出情報がＯＦＦの場合には、処理がＯＰ２に進む。【０１１９】
映像が特定シーンでない場合、すなわち、シーン検出情報がＯＦＦの場合には（ＯＰ１：Ｎｏ）、比較部２６ａはベクトル比較情報として「ｎｏｒｍａｌ」を生成する（ＯＰ２）。その後、比較部２６ａは、ベクトル比較情報を同期判定部２６ｂに出力する（ＯＰ６）。なお、ベクトル比較情報「ｎｏｒｍａｌ」は、１５ｆｐｓの映像フレーム群が、３０ｆｐｓの映像フレーム群からフレームレート変換で得られたものであるとして動作する状態であることを示す。【０１２０】
映像が特定シーンである場合、すなわち、シーン検出情報がＯＮの場合には（ＯＰ１：Ｙｅｓ）、比較部２６ａは、同期状態が「同期」であるか否かを判定する（ＯＰ３）。同期状態が「同期」とは（「同期」状態ともいう）、１５ｆｐｓの映像フレーム群が、フレームレート変換によって、２４ｆｐｓの映像フレーム群から得られたものであることを検出している状態のことを指す。同期状態の判定は、同期判定部２６ｂで行われる。同期状態の初期値は「非同期」である。同期状態が「非同期」とは（「非同期」状態ともいう）、１５ｆｐｓの映像フレーム群が、フレームレート変換によって、２４ｆｐｓの映像フレーム群から得られたものでないことを示す。すなわち、「非同期」状態とは、１５ｆｐｓの映像フレーム群が、フレームレート変換によって、３０ｆｐｓの映像フレーム群から得られたものであるとして動作する状態であることを示す点では「ｎｏｒｍａｌ」と同じであるが、同期状態が確実に否と判定されている点が相違する。【０１２１】
同期状態が「非同期」の場合には（ＯＰ３：Ｎｏ）、処理がＯＰ４に進み「、非同期」状態時の処理である処理Ａを実行する（ＯＰ４）。同期状態が「同期」の場合には（ＯＰ３：Ｙｅｓ）、処理がＯＰ５に進み、「同期」状態時の処理である処理Ｂを実行する（ＯＰ５）。【０１２２】
図１７には、処理Ａ）のフローチャートが示される。処理Ａは、「非同期」状態の場合の比較部２６ａの処理である。【０１２３】
比較部２６ａは、平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが下記の式６を満たすか否かを判定する（ＯＰ４１）。【０１２４】
【数６】
2010109636.tif 000008
平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが式６を満たす場合には（ＯＰ４１：Ｙｅｓ）、比較部２６ａは、ベクトル比較情報として「ｎｏｒｍａｌ」を生成する（ＯＰ４４）。【０１２５】
すなわち、平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが式６を満たす場合には、１５ｆｐｓの映像フレーム群が、フレームレート変換によって、３０ｆｐｓの映像フレーム群から得られたものであることを示す。すなわち、ＯＰ４１では、１５ｆｐｓの映像フレーム群が、フレームレート変換によって、３０ｆｐｓの映像フレーム群から得られたものである否かが判定される。【０１２６】
平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが式６を満たさない場合には（ＯＰ４１：Ｎｏ）、比較部２６ａは、平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが下記の式７を満たすか否かを判定する（ＯＰ４２）。【０１２７】
【数７】
2010109636.tif 000009
平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが式７を満たす場合には（ＯＰ４２：Ｙｅｓ）、比較部２６ａは、ベクトル比較情報として「ｍａｔｃｈ」を生成する（ＯＰ４３）。ベクトル比較情報が「ｍａｔｃｈ」である場合には、現フレームが同期ポイントの候補であることを示す。【０１２８】
平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが式７を満たさない場合には（ＯＰ４２：Ｎｏ）、比較部２６ａは、ベクトル比較情報として「ｕｎｍａｔｃｈ」を生成する（ＯＰ４５）。ベクトル比較情報が「ｕｎｍａｔｃｈ」である場合には、１５ｆｐｓの映像フレーム群が、フレームレート変換によって、２４ｆｐｓの映像フレーム群から得られたものであることを確定できない状態であることを示す。【０１２９】
ＯＰ４３、ＯＰ４４、およびＯＰ４５の処理が終了すると「非同期」状態時処理のサブルーチンである処理Ａが完了する。比較部２６ａは、図１６に戻って、ベクトル比較情報を同期判定部２６ｂに出力する（ＯＰ６）。【０１３０】
図１８は、処理Ｂのフローチャートの例を示す図である。処理Ｂは、「同期」状態の場合の比較部２６ａの処理である。【０１３１】
比較部２６ａは、平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが下記の式８を満すか否かを判定する（ＯＰ５１）。【０１３２】
【数８】
2010109636.tif 000010
ここで、Ｘｎは、図７に示す、スキップシーケンスＸｎ＝｛Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｘ５｝＝｛２，１，２，１，２｝である。スキップシーケンスは、２４ｆｐｓから１５ｆｐｓへフレームレートが変換される場合に適用されたフレームの間引き手順を示す（図７参照）。言い換えれば、スキップシーケンスは、１５ｆｐｓにおける１／３秒間中の５つのフレーム間のフレームの間引き方を示す数列である。【０１３３】
Ｘｎ＝１の場合には、１５ｆｐｓの映像フレーム群における現フレームと１フレーム前のフレームとの間に、フレームレート変換の際に間引きされたフレームが存在していないことが示される。Ｘｎ＝２の場合には、１５ｆｐｓの映像フレーム群における現フレームと１フレーム前のフレームとの間に、フレームレート変換の際に、間引きされたフレームが１つ存在することが示される。【０１３４】
すなわち、Ｘｎ＝１の場合には、現フレームと１フレーム前のフレームとの間の平均動きベクトルＭＶａｖｅは、２４ｆｐｓにおける１フレーム分の平均動きベクトルであることを示す。Ｘｎ＝２の場合には、現フレームと１フレーム前のフレームとの間の平均動きベクトルＭＶａｖｅは、２４ｆｐｓにおける２フレーム分の平均動きベクトルであることを示す。なお、ｎの値は、同期判定部２６ｂによって制御され、ＯＰ５１の処理が実行される毎に、Ｘ１〜Ｘ５の値が１つ使用される。Ｘ５が使用されると、次にＸ１が使用される。すなわち、Ｘ１〜Ｘ５の値はループ状に使用される。【０１３５】
平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが式８を満たさない場合には（ＯＰ５１：Ｎｏ）、比較部２６ａは、ベクトル比較情報として「ｎｏｒｍａｌ」を生成する（ＯＰ５３）。【０１３６】
平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とが式８を満たす場合には（ＯＰ５１：Ｙｅｓ）、比較部２６ａは、ベクトル比較情報として「ｄｏｎ‘ｔ  ｃａｒｅ」を生成する（ＯＰ５５）。ベクトル比較情報が「ｄｏｎ’ｔ  ｃａｒｅ」である場合には、「同期」状態が継続していることが示される。すなわち、１５ｆｐｓの映像フレーム群が、フレームレート変換によって、２４ｆｐｓの映像フレーム群から得られたものであることが示される。【０１３７】
ＯＰ５３およびＯＰ５５の処理が終了すると「同期」状態時のサブルーチンである処理Ｂが完了する。比較部２６ａは、図１６に戻って、ベクトル比較情報を同期判定部２６ｂに出力する（ＯＰ６）。【０１３８】
次に同期判定部２６ｂが実行する処理について説明する。図１９及び図２０は、同期判定部２６ｂの処理フローの例を示す図である。同期判定部２６ｂは、比較部２６ａからベクトル比較情報を入力として得ると、処理を開始する。【０１３９】
ベクトル比較情報が「ｎｏｒｍａｌ」又は「ｕｎｍａｔｃｈ」である場合には、同期判定部２６ｂは、同期状態を「非同期」に設定する（ＯＰ７）。この処理によって、１５ｆｐｓの映像フレーム群は、フレームレート変換によって、３０ｆｐｓの映像フレーム群から得られたものであることが確定される。【０１４０】
同期判定部２６ｂは、予測ベクトルとしてＭＶａｖｅを設定する（ＯＰ８）。その後、同期判定部２６ｂは、同期状態を「非同期」に設定して比較部２６ａに出力する。また、同期判定部２６ｂは、予測ベクトルを第１のベクトル探索部２１に出力する（ＯＰ１４）。「非同期」状態を入力された比較部２６ａは、同期状態を「非同期」に更新する。【０１４１】
ベクトル比較情報が「ｍａｔｃｈ」である場合には、同期判定部２６ｂは、５フレーム前の入力フレームの処理時も「ｍａｔｃｈ」であったか否か判定する（ＯＰ９）。ここで、５フレーム前の入力フレームの処理を確認するのは、偶然、式７が満たされた場合を排除するためである。なお、ＯＰ６（図１６）において、ベクトル比較情報は格納部２６ｍにも出力されており、格納部２６ｍは、少なくとも、過去５フレーム分のベクトル比較情報を保持する。【０１４２】
５フレーム前の入力フレームの処理時に「ｍａｔｃｈ」でない場合には（ＯＰ９：Ｎｏ）、処理がＯＰ７に進む。【０１４３】
５フレーム前の入力フレームの処理時も「ｍａｔｃｈ」である場合には（ＯＰ９：Ｙｅｓ）、同期判定部２６ｂは、変数ｎの値をｎ＝１に設定する（ＯＰ１０）。その後、同期判定部２６ｂは、同期状態を「同期」に設定する（ＯＰ１１）。続いて処理Ｃ（サブルーチン）が実行される。【０１４４】
ベクトル比較情報が「ｄｏｎ‘ｔ  ｃａｒｅ」である場合には、同期判定部２６ｂは、同期状態を「同期」に設定する（ＯＰ１１）。続いて処理Ｃが実行される。【０１４５】
図２０は、処理Ｃのフローチャートの例を示す図である。処理Ｃは、同期判定部２６ｂが、同期状態が「同期」であると判定した場合、すなわち、１５ｆｐｓの映像フレーム群は、フレームレート変換によって、２４ｆｐｓの映像フレーム群から得られたものであると判定した場合に、予測ベクトルを求め、補間制御情報を生成する処理である。【０１４６】
同期判定部２６ｂは、図１９のＯＰ１１において同期状態を「同期」に設定したあとに、第１のベクトル探索部２１で用いられる予測ベクトルを求める（ＯＰ６１）。予測ベクトルは、下記の式９によって求められる。【０１４７】
【数９】
2010109636.tif 000011
ここで、αｎ（ｎ＝１〜５）は予測ベクトル制御乗数である（図８参照）。予測ベクトル制御乗数αｎは、αｎ＝｛α１，α２，α３，α４，α５｝＝｛１／２，２，１／２，２，１｝で定義される。【０１４８】
同期判定部２６ｂは、現在の変数ｎをｎ＝ｎ＋１に設定する（ＯＰ６２）。次に、同期判定部２６ｂは、現在の変数ｎの値が５より大きいか否かを判定する（ＯＰ６３）。現在の変数ｎが５より大きい場合には（ＯＰ６３：Ｙｅｓ）、フレームのスキップシーケンスが一回りしたことを示すので、同期判定部２６ｂは、変数ｎ＝１に設定する（ＯＰ６４）。その後、処理がＯＰ６５に進む。【０１４９】
現在の変数ｎが５より大きくない場合には（ＯＰ６３：Ｎｏ）、処理がＯＰ６５に進む。【０１５０】
同期判定部２６ｂは、予測ベクトル制御乗数αｎ＝１／２か否かを判定する（ＯＰ６５）。予測ベクトル制御乗数αｎ＝１／２の場合には（ＯＰ６５：Ｙｅｓ）、同期判定部２６ｂは、フレーム補間を実施しないことを生成部２７に指示する補間制御情報「ＯＦＦ」を生成する（ＯＰ６６）。予測ベクトル制御乗数αｎ＝１／２でない場合には（ＯＰ６５：Ｎｏ）、同期判定部２６ｂは、フレーム補間を実施することを生成部２７に指示する補間制御情報「ＯＮ」を生成する（ＯＰ６７）。【０１５１】
予測ベクトル制御乗数αｎとスキップシーケンスＸｎ＋１とは、ｎの値によって対応する。すなわち、αｎ＝１／２の場合には、Ｘｎ＋１＝１である。Ｘｎ＋１が＝１の場合には、１５ｆｐｓの映像フレーム群における現フレームとその直前のフレームとの間に、フレームレート変換によって間引きされたフレームがないことを示す。したがって、αｎ＝１／２の場合には、現フレームとその直前のフレームとの間に補間フレームを作成しなくてよいと、判定することができる。【０１５２】
ＯＰ６６およびＯＰ６７の処理が終了すると、処理Ｃが完了する。同期判定部２６ｂは、図１９に戻って、同期状態と変数ｎの値とを比較部２６ａに出力する。同期判定部２６ｂは、予測ベクトルを第１のベクトル探索部２１に出力する。同期判定部２６ｂは、補間制御情報を生成部２７に出力する（ＯＰ１４）。同期状態と変数ｎの値とを受信した比較部２６ａは、同期状態と変数ｎの値を更新し、その後、平均動きベクトルＭＶａｖｅ、平均動きベクトルＭ５、及びシーン検出情報が入力されると、図１６のＯＰ１から処理を開始する。【０１５３】
なお、ＯＰ４１（式６）、ＯＰ４２（式７）、および、ＯＰ５１（式８）における閾値は、平均動きベクトルＭＶａｖｅと平均動きベクトルＭＶ５とから求められる値の閾値であり、その単位は、画素である。したがって、閾値には、例えば、２画素等の値を用いればよい。【０１５４】
比較部２６ａのＯＰ４２（図１７）の処理と、同期判定部２６ｂのＯＰ９、ＯＰ１０（図１９）の処理によって、ｎの値が設定される。ｎの値が設定されることによって、フレームのスキップシーケンスＸｎとともに、予測ベクトル制御乗数αｎが特定される。フレームのスキップシーケンスＸｎ、予測ベクトル制御乗数αｎが特定されることによって、フレーム補間の実施の有無を示す補間制御情報および予測ベクトルが求められる。【０１５５】
以上より、予測ベクトルがフィードバックされることによって、検出部２６は、１５ｆｐｓの映像フレーム群は、フレームレート変換によって、２４ｆｐｓの映像フレーム群から得られたものであることを検出した場合に、フレームのスキップシーケンスＸｎを特定することができる。フレームのスキップシーケンスＸｎが特定されることによって、検出部２６は、フレーム補間の実施の有無を判定することができる。【０１５６】
また、フレームのスキップシーケンスＸｎが特定されるとともに、予測ベクトル制御乗数αｎが特定される。検出部２６は、平均動きベクトルＭＶａｖｅに、特定した予測ベクトル乗数αｎを乗じることによって、予測ベクトルを算出する。この予測ベクトルがフィードバックされることによって、次の入力フレームに対して、より正確な動きベクトルが求められる。より正確な動きベクトルが求められることによって、より精度の高い補間フレームが作成される。より精度の高い補間フレームが作成されることによって、より自然な動きの映像が提供される。【０１５７】
＜＜生成部の処理＞＞
生成部２７は、同期判定部２６ｂから補間制御情報「ＯＮ」を受信した場合に、補間フレームを作成する。【０１５８】
図２１は、補間フレームの生成処理の例を示す図である。図２１は、生成部２７が、フレーム１０１とフレーム１０３との真ん中に補間フレーム１０２を作成する場合の、補間フレーム１０２上の補間画素を求める処理を示す。図２１は、説明の簡略化のために、フレーム上の座標（ｘ、ｙ）（−２≦ｘ≦＋２，２−≦ｙ≦＋２）としている。【０１５９】
生成部２７は、第１のベクトル探索部２１から、フレーム１０３とその１フレーム前のフレーム１０１との動きベクトルｍｖ（ｉ，ｊ）（ｉ＝０，１，．．．，Ｎｘ−１，ｊ＝０，１，．．．，Ｎｙ−１）を入力として得る。なお、ＮｘおよびＮｙは、それぞれ水平方向及び垂直方向の画素数を表す。【０１６０】
生成部２７は、補間フレーム１０２上の補間画素Ｘ−１を求める。生成部２７は、画素Ｘを中心とするブロックの動きベクトルｍｖ（ｉ，ｊ）１１１のｘ成分、及びｙ成分のそれぞれに１／２を乗じた値を、画素Ｘの座標に加算する。【０１６１】
例えば、画素Ｘ（−１、０）を中心としたブロックの動きベクトルｍｖ（ｉ，ｊ）＝（＋２，０）である場合、生成部２７は、補間フレーム１０２上の補間画素Ｘ−１を（ｘ，ｙ）＝（０，０）として算出する。【０１６２】
生成部２７は、他の画素についても同様にして補間フレーム１０２上の補間画素を求める。【０１６３】
なお、補間画素が補間フレーム１０２上に存在しない座標となる場合には、生成部２７は、近傍の４画素から２次線形等による補間で補間画素を求める。【０１６４】
＜＜第２実施形態の作用効果＞＞
情報処理装置２は、１５ｆｐｓの映像フレーム群において、現フレームと、現フレームの１フレーム前のフレームとの間の平均動きベクトルＭＶａｖｅと、現フレームと、現フレームの５フレーム前のフレームとの間の平均動きベクトルＭＶ５を算出する。情報処理装置２は、平均動きベクトルＭＶａｖｅが平均動きベクトルＭＶ５の４分の１の値に等しいと許容できる範囲にある場合に、１５ｆｐｓの映像フレーム群は、フレームレート変換によって、２４ｆｐｓの映像フレーム群から得られたものであることを検出することができる。【０１６５】
それに加え、情報処理装置２は、予測ベクトルを用いることによって、２４ｆｐｓの映像フレーム群から１５ｆｐｓの映像フレーム群へのフレームレート変換の際の、フレームの間引き方（スキップシーケンスＸｎ）を特定することができる。フレームのスキップシーケンスが特定されることによって、フレーム補間の実施が必要なタイミングが特定され、適切にフレーム補間が行われる。【０１６６】
また、予測ベクトルとして、現フレームと、１フレーム前のフレームとの間の平均動きベクトルＭＶａｖｅに予測ベクトル制御乗数αｎを乗じたものが用いられることによって、より正しい動きベクトルが求められる。より正しい動きベクトルが用いられることによって、より精度の高い補間フレームが生成される。【０１６７】
以上より、情報処理装置２によれば、１５ｆｐｓの映像フレーム群が２４ｆｐｓの映像フレーム群からフレームレート変換で生成された場合でも、１５ｆｐｓの映像フレーム間に補間フレームを正しく補間することができる。【０１６８】
また、フレーム補間装置２は、フレームレートの変換等によるフレームの間引き等の影響を大きく受ける特定シーンのときのみ、上述したような動きベクトルの検査を行う。上述したような動きベクトルの検査が特定シーンに限定されることによって、フレーム補間処理が最小限に抑えられ、情報処理装置２にかかる負荷が少なくなる。【０１６９】
＜＜第２実施形態の変形例＞＞
第２実施形態では、情報処理装置２は、１５ｆｐｓの映像フレーム群がフレームレート変換によって２４ｆｐｓの映像フレーム群から得られたことを検出し、その検出結果を元に、フレーム補間を実施した。これに代えて、予測ベクトルと平均動きベクトルＭＶａｖｅとの比をもとに、情報処理装置２がフレーム補間を行ってもよい。なお、この場合の予測ベクトルは、１５ｆｐｓの映像フレーム群における現フレームの直前のフレームと、現フレームの２フレーム前のフレームとの間の平均動きベクトルである。【０１７０】
図８に示されるように、２４ｆｐｓの映像フレーム群がフレームレート変換されて１５ｆｐｓの映像フレーム群が得られる場合には、現フレームとその直前のフレームとの間の動きベクトルと、現フレームの直前のフレームと、現フレームの２フレーム前のフレームとの間の動きベクトルとは、５フレームごとに１回だけ一致する。例えば、図８に示される場合には、フレームＦとフレームＤとの間の動きベクトルと、フレームＤとフレームＢとの間の動きベクトルが一致する。実際には、動きベクトルは推定値なので、フレームＦとフレームＤとの間の動きベクトルと、フレームＤとフレームＢとの間の動きベクトルは一致しない。即ち、誤差が出る。従って、フレームＦとフレームＤとの間の動きベクトルと、フレームＤとフレームＢとの間の動きベクトルとが一致すると認められる範囲を設定することで、同期ポイントを検出することができる。【０１７１】
この場合、情報処理装置２は、第１のベクトル探索部２１と、第１の算出部２２と、検出部２６と、生成部２７と、バッファ２８ａと、入力部２９と、出力部２９とを含んでいればよい（図９参照）。第１のベクトル探索部２１と、第１の算出部２２と、生成部２７と、バッファ２８ａと、入力部２９と、出力部２９とは、第２実施形態で説明された処理を実行する。【０１７２】
検出部２６は、第１の算出部２２から平均動きベクトルＭＶａｖｅを入力として得ると、格納部２６ｍに格納する。検出部２６は、平均動きベクトルＭＶａｖｅが入力されるたびに、その１フレーム前の平均動きベクトルＭＶａｖｅを格納部２６ｍから読み出し、その両者が一致すると認められる範囲にあるか否かを判定する。両者が一致すると認められる範囲にある場合には、検出部２６は、変数ｎ＝１として、格納部２６ｍに格納されている予測ベクトル制御乗数α１を得る。検出部２６は、予測ベクトル制御乗数αｎを得ると、図２０に示される処理を行う。検出部２６は、平均動きベクトルＭＶａｖｅが入力される度に、この処理を実行する。なお、この場合には、予測ベクトル制御乗数αｎは、間引きパターンとも表現される。【０１７３】
情報処理装置２は、平均動きベクトルＭＶａｖｅと、その１フレーム前の平均動きベクトルＭＶａｖｅとが一致すると認められる時点を検出することによって、間引きパターン（予測ベクトル制御乗数αｎ）の基点を特定することができる。間引きパターンの基点を特定することによって、情報処理装置２は、フレーム補間の実施を適切に行うことができる。【０１７４】
＜情報処理装置のハードウェア構成＞
図２２は、第１実施形態の情報処理装置１及び第２実施形態の情報処理装置２のハードウェア構成例を示す図である。第１実施形態の情報処理装置１及び第２実施形態の情報処理装置２は、パーソナルコンピュータのような汎用のコンピュータを用いて実現することができる。また、第１実施形態の情報処理装置１は、フレーム間の動きベクトルの検査を行う専用のコンピュータを用いて実現することができる。第２の実施形態の情報処理装置２は、１５ｆｐｓの映像フレーム間の補間フレームの生成を行う専用のコンピュータを用いて実現することができる。【０１７５】
情報処理装置１００は、プロセッサ１０１，主記憶装置１０２，入力装置１０３，出力装置１０４，外部記憶装置１０５，及びネットワークインタフェース１０６を備える。それらはバス１０７により互いに接続されている。情報処理装置１００は、プロセッサ１０１によって、外部記憶装置１０５に記憶されたプログラムが主記憶装置１０２の作業領域にロードされて実行される。プログラムの実行を通じて、情報処理装置１００は、入力装置１０３、出力装置１０４、ネットワークインタフェース１０６等が制御されることによって、所定の目的に合致した機能を実現することができる。【０１７６】
プロセッサ１０１は、外部記憶装置１０５に格納されるプログラムを読み出し、主記憶装置１０２にロードし実行する。プロセッサ１０１は、プログラムにしたがって、例えば、入力装置１０３からの情報を演算処理し、その結果を出力装置１０４に出力したり、外部記憶装置１０５に格納したりする。プロセッサ１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｓｅｓｓｉｎｇ  Ｕｎｉｔ）や、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。【０１７７】
主記憶装置１０２は、プロセッサ１０１に、外部記憶装置１０５に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする。主記憶装置１０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含む。【０１７８】
入力装置１０３は、他の装置からの信号や、ユーザからの入力を受け付けて、入力信号としてプロセッサ１０１に出力する。入力装置１０３は、例えば、入力信号の処理専用の電子回路を格納するＩＣチップ、キーボード、及び、ポインティングデバイス等を含む。また、入力装置１０３は、カメラのような映像や画像の入力装置を含むことができる。また、入力装置１０３は、マイクロフォンのような音声の入力装置を含むことができる。【０１７９】
出力装置１０４は、プロセッサ１０１からの演算結果を受信し、他の装置又はユーザに向けて出力する。出力装置１０４は、例えば、演算結果を出力信号の形式に変換する処理専用の電子回路を格納するＩＣチップ、ディスプレイ、スピーカ等を含む。【０１８０】
外部記憶装置１０５は、例えば、プロセッサ１０１に読み出されるプログラムや、プロセッサ１０１の演算処理結果等を格納する。外部記憶装置１０５は、例えば、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ），又はハードディスクドライブ（ＨＤＤ）である。また、外部記憶装置１０５は、リムーバブルメディア、すなわち可搬記録媒体を含むことができる。リムーバブルメディアは、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ、或いは、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）やＤＶＤ（Ｄｅｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）のようなディスク記録媒体である。【０１８１】
ネットワークインタフェース１０６は、ネットワークとの情報の入出力を行うインターフェイスである。ネットワークインタフェース１０６は、有線のネットワーク、および、無線のネットワークと接続する。ネットワークインタフェース１０６は、例えば、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）カード等である。【０１８２】
情報処理装置１００は、例えば、ワンセグ放送用のチューナーを備えた、携帯電話端末、ワンセグ放送受像器、携帯用ゲーム機器、パーソナルコンピュータ、カーナビゲーションシステム等である。また、それらに格納されるＩＣチップ等である。【０１８３】
第１実施形態の情報処理装置１として使用される情報処理装置１００は、プロセッサ１０１による外部記憶装置１０５上のプログラムの実行を通じて、入力装置１０３、出力装置１０４、ネットワークインタフェース１０６が制御されることによって、第１の動きベクトル部１２、第２の動きベクトル部１４、及び検出部１５としての機能を実現する。入力部１１は、入力装置１０３がプロセッサ１０１によって制御されることによって実現される。出力部１６は、出力装置１０４がプロセッサ１０１に制御されることによって実現される。記憶部１３は、静的に又はプログラムの実行過程で主記憶装置１０２の記憶領域に作成される。【０１８４】
第２実施形態の情報処理装置２として使用される情報処理装置１００は、プロセッサ１０１による外部記憶装置１０５上のプログラムの実行を通じて、入力装置１０３、出力装置１０４、ネットワークインタフェース１０６が制御されることによって、第１のベクトル探索部２１、第１の算出部２２、第２のベクトル探索部２３、第２の算出部２４、解析部２５、検出部２６、及び生成部２７としての機能を実現する。入力部２９は、入力装置１０３がプロセッサ１０１によって制御されることによって実現される。出力部３０は、出力装置１０４がプロセッサ１０１に制御されることによって実現される。バッファ２８ａ−２８ｅ，及び格納部２６ｍは、静的に又はプログラムの実行過程で主記憶装置１０２の記憶領域に作成される。【０１８５】
＜＜適用例＞＞
第２実施形態の情報処理装置２の適用例について、図２３−図２７を参照して説明する。【０１８６】
図２３は、第２実施形態の情報処理装置２を利用したフレームレート変換装置の構成例を示す図である。このフレームレート変換装置１６００は、フレーム補間装置１６０１、遅延器１６０２、およびスイッチ１６０３を備え、入力映像のフレームレートを向上させる。なお、フレーム補間装置１６０１は、フレーム補間装置２（情報処理装置２）と同等の装置である。【０１８７】
遅延器１６０２は、連続して入力されるフレーム１６１１および１６１２を、一定時間だけ遅延させて出力する。【０１８８】
フレーム補間装置１６０１は、第２実施形態で説明したようにして、現時刻のフレーム１６１２と、遅延器１６０２から出力される前の時刻の映像フレーム１６１１から、補間フレーム１６１３を生成する。【０１８９】
合成器スイッチ１６０３は、遅延器１６０２から出力される映像フレームと、フレーム補間装置１６０１から出力される補間フレーム１６１３とを受信し、フレームの並び替え処理を行う。【０１９０】
図２４は、合成器１６０３のフレームの並び変え処理を示す図である。フレーム補間装置１６０１が補間フレームを生成する場合、図２４に示されるように、入力映像系列に対して、補間フレームは本来の位置より後に生成される（図２４の（ｂ）補間画像生成系列参照）。合成器１６０３は、入力フレームと補間フレームをバッファし、各フレームに付されたフレームの順序を示すフレームの識別情報を参照して、フレームの順序を入れ替える。このような順番の入れ替え処理はｒｅ−ｏｒｄｅｒｉｎｇと呼ばれる。なお、フレームの識別情報は、フレームが生成されるときに付される。また、補間フレームの識別情報は、補間フレームを生成するときに用いるフレームから生成し、付加される。【０１９１】
このようにして、合成器１６０３は、１５ｆｐｓで入力されたフレームに、補間フレームを補間して並び替え、２４ｆｐｓでフレームを出力することができる。【０１９２】
これにより、映像フレーム１６１１、補間フレーム１６１３、および映像フレーム１６１２の順に、それぞれのフレームがフレームレート変換装置から出力される。【０１９３】
合成器１６０３から、６０ｐのプログレッシブスキャン型のディスプレイ等にフレームが出力される場合には、ディスプレイ等において２−３プルダウン処理（図１参照）を施して表示すればよい。これによって、１５ｆｐｓで入力された映像フレーム群を６０ｐの映像フレーム群として、プログレッシブスキャン型のディスプレイがより自然に再生できる。【０１９４】
図２５は、図２３のフレームレート変換装置１６００を利用した映像再生装置の構成例を示す図である。この映像再生装置は、映像データ記憶装置１７０１、デコード装置１７０２、フレームレート変換装置１６００、およびディスプレイ１７０４を備える。【０１９５】
映像データ記憶装置１７０２には、１５ｆｐｓの映像データが格納されている。デコード装置１７０２は、映像データ記憶装置１７０１に保存された映像データをデコードして、映像フレームを出力する。フレームレート変換装置１６００は、映像フレーム間に補間フレームを挿入し、ディスプレイ１７０４は、それらのフレームを時系列に画面上に表示する。【０１９６】
図２６は、図２３のフレームレート変換装置１６００を利用した映像表示装置の構成例を示す図である。この映像表示装置は、映像データ受信機１８０１、フレームレート変換装置１６００、およびディスプレイ１８０２を備える。映像データ受信機１８０１は、通信ネットワークから１５ｆｐｓで映像フレームを受信する。フレームレート変換装置１７０３は、映像フレーム間に補間フレームを挿入する。ディスプレイ１８０２は、それらのフレームを時系列に画面上に表示する。【０１９７】
たとえば、ディスプレイ１８０２が６０ｐのプログレッシブスキャン型のディスプレイであるとする。この場合に、フレームレート変換装置１７０３から３０ｆｐｓ映像フレームを受信すると、ディスプレイ１８０２は、各フレームをコピーして２枚のフレームとし、６０ｐで表示する。また、フレームレート変換装置１７０３から２４ｆｐｓで映像フレームを受信すると、ディスプレイ１８０２は、２−３プルダウン処理（図１参照）を施して、６０ｐでフレームを表示する。
【図１】
2010109636.tif 000012
【図２】
2010109636.tif 000013
【図３】
2010109636.tif 000014
【図４】
2010109636.tif 000015
【図５】
2010109636.tif 000016
【図６】
2010109636.tif 000017
【図７】
2010109636.tif 000018
【図８】
2010109636.tif 000019
【図９】
2010109636.tif 000020
【図１０】
2010109636.tif 000021
【図１１】
2010109636.tif 000022
【図１２】
2010109636.tif 000023
【図１３】
2010109636.tif 000024
【図１４】
2010109636.tif 000025
【図１５】
2010109636.tif 000026
【図１６】
2010109636.tif 000027
【図１７】
2010109636.tif 000028
【図１８】
2010109636.tif 000029
【図１９】
2010109636.tif 000030
【図２０】
2010109636.tif 000031
【図２１】
2010109636.tif 000032
【図２２】
2010109636.tif 000033
【図２３】
2010109636.tif 000034
【図２４】
2010109636.tif 000035
【図２５】
2010109636.tif 000036
【図２６】
2010109636.tif 000037
【国際調査報告】
2010109636.tif 000038
2010109636.tif 000039
2010109636.tif 000040
2010109636.tif 000041