(57)【要約】【課題】本発明は、高フレームレート映像信号のフレームをフィルタリングに基づくダウンサンプリングすることで得られた低フレームレート映像信号を符号化する場合に、符号量を低く抑えることができるようにするフレームレート変換技術の提供を目的とする。【解決手段】フィルタリングにより生成されるフレームを予測フレームとし、生成済みのフレームを参照フレームとする動き補償で算出される予測誤差電力を最小化する動きベクトルを探索し、その動きベクトルを用いて、予測誤差電力を最小化するフィルタ係数を算出することを繰り返すことで、最適なフィルタ係数でフィルタリングする場合の動きベクトルを特定することを、ダウンサンプリング対象の全フレームについて実行する。続いて、特定した動きベクトルを用いることで算出される全フレームに対しての予測誤差電力の総和を最小化するフィルタ係数を算出することで、最終的なフィルタ係数を算出する。【選択図】図２
2010141452.tif 000002
【特許請求の範囲】
【請求項１】
等長間隔のダウンサンプリングにより規定されるフレーム位置において、高フレームレート映像信号の複数フレームをフィルタ係数を用いて重み付け加算することで１つのフレームに置き換えるフィルタリングを実行することで、高フレームレート映像信号のフレームを低フレームレート映像信号に変換するフレームレート変換方法であって、
フィルタ係数によるフィルタリングにより生成されるフレームを予測フレームとし、生成済みのフレームを参照フレームとする動き補償で算出される動き補償予測誤差電力を最小化する動きベクトルを探索し、その動きベクトルを用いて、動き補償予測誤差電力を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、予測フレームに対しての最適なフィルタ係数を算出するとともに、その最適なフィルタ係数でフィルタリングする場合の動きベクトルを特定することを、ダウンサンプリング対象の全てのフレームについて実行する過程と、
前記特定した動きベクトルを用いることで算出される全フレームに対しての動き補償予測誤差電力の総和を最小化するフィルタ係数を算出することで、ダウンサンプリングに用いるフィルタ係数を算出する過程とを備えることを、
特徴とするフレームレート変換方法。
【請求項２】
請求項１に記載のフレームレート変換方法において、
前記実行する過程では、前記最適なフィルタ係数を用いて予測フレームをフィルタリングすることで次の参照フレームを生成するとともに、その参照フレームの次のフレーム位置に位置するフレームを予測フレームとして処理を行うことを最終のフレーム位置まで繰り返すことで、ダウンサンプリング対象の全てのフレームについて処理を実行することを、
特徴とするフレームレート変換方法。
【請求項３】
請求項１または２に記載のフレームレート変換方法において、
前記算出する過程では、自過程で算出したフィルタ係数を用いて全フレームをフィルタリングして動きベクトルを探索し、その動きベクトルを用いて、全フレームに対しての動き補償予測誤差電力の総和を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、最終的なフィルタ係数を算出することを、
特徴とするフレームレート変換方法。
【請求項４】
等長間隔のダウンサンプリングにより規定されるフレーム位置において、高フレームレート映像信号の複数フレームをフィルタ係数を用いて重み付け加算することで１つのフレームに置き換えるフィルタリングを実行することで、高フレームレート映像信号のフレームを低フレームレート映像信号に変換するフレームレート変換装置であって、
フィルタ係数によるフィルタリングにより生成されるフレームを予測フレームとし、生成済みのフレームを参照フレームとする動き補償で算出される動き補償予測誤差電力を最小化する動きベクトルを探索し、その動きベクトルを用いて、動き補償予測誤差電力を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、予測フレームに対しての最適なフィルタ係数を算出するとともに、その最適なフィルタ係数でフィルタリングする場合の動きベクトルを特定することを、ダウンサンプリング対象の全てのフレームについて実行する手段と、
前記特定した動きベクトルを用いることで算出される全フレームに対しての動き補償予測誤差電力の総和を最小化するフィルタ係数を算出することで、ダウンサンプリングに用いるフィルタ係数を算出する手段とを備えることを、
特徴とするフレームレート変換装置。
【請求項５】
請求項４に記載のフレームレート変換装置において、
前記実行する手段は、前記最適なフィルタ係数を用いて予測フレームをフィルタリングすることで次の参照フレームを生成するとともに、その参照フレームの次のフレーム位置に位置するフレームを予測フレームとして処理を行うことを最終のフレーム位置まで繰り返すことで、ダウンサンプリング対象の全てのフレームについて処理を実行することを、
特徴とするフレームレート変換装置。
【請求項６】
請求項４または５に記載のフレームレート変換装置において、
前記算出する手段は、自手段が算出したフィルタ係数を用いて全フレームをフィルタリングして動きベクトルを探索し、その動きベクトルを用いて、全フレームに対しての動き補償予測誤差電力の総和を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、最終的なフィルタ係数を算出することを、
特徴とするフレームレート変換装置。
【請求項７】
請求項１ないし３のいずれか１項に記載のフレームレート変換方法をコンピュータに実行させるためのフレームレート変換プログラム。
【請求項８】
請求項１ないし３のいずれか１項に記載のフレームレート変換方法をコンピュータに実行させるためのフレームレート変換プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高フレームレート映像信号の複数フレームを１つのフレームに置き換えるフィルタリングを実行することで、高フレームレート映像信号から低フレームレート映像信号への変換を実行するフレームレート変換方法およびその装置と、そのフレームレート変換方法の実現に用いられるフレームレート変換プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。
【背景技術】
【０００２】
近年、臨場感あふれる大画面のスポーツ映像やデジタルシネマに代表される超高画質映像への期待が高まっている。これを受けて、映像の高画質化に関する研究が精力的に行われている。
【０００３】
超高画質映像の実現には次の四要素が必要である。すなわち、空間解像度、画素値深度、色再現性、時間解像度である。これを受けて、前者の三要素については、デジタルシネマ等の応用およびナチュラルビジョンプロジェクトにおいて検討が進められている。また、被写体の自然な動きを表現するために不可欠な時間解像度の向上、すなわち、映像の高フレームレート化についても検討がなされている。
【０００４】
映像の入力・出力システムのフレームレートの上限は非対称である。現在、撮像系としては、１０００[frame/sec] を超える高フレームレート映像を取得可能な高速度カメラが利用可能である。ただし、こうした高速度カメラで撮影された映像はスロー再生用途で用いられている。
【０００５】
一方、現行のディスプレイの上限は１２０[fps] 程度である。したがって、高速度カメラで撮影された映像ソースは、実時間再生を目的とした表示形態ではフレームレートを間引く必要がある。
【０００６】
このようなことを背景にして、従来技術では、図１３に示すように、ダウンサンプリング後のフレーム時間間隔が等間隔になるような間引きによるダウンサンプリングが検討されてきた（例えば、特許文献１参照）。
【特許文献１】特開２００４−２０１１６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来技術のような単純なフレーム間引き処理では、時間方向のエイリアシングに起因する画質劣化が問題となる。こうした問題を回避するためには、時間軸方向の帯域制限フィルタリングが必要である。
【０００８】
一方、動き補償フレーム間予測を用いた符号化器の場合、時間方向のエイリアシングの低減は、予測誤差の低減とは直接的には結びつかない。つまり、時間方向のダウンサンプリングフィルタに関して、符号化効率の観点から最適化の余地があることになる。
【０００９】
しかるに、従来の３０ｆｐｓ，６０ｆｐｓのフレームレートの映像の場合、フィルタリングのための十分なサンプル（すなわちフレーム）が確保できないため、フィルタの特性を高精度に近似することが困難であった。例えば、６０ｆｐｓの映像信号をフィルタリングして３０ｆｐｓの映像信号を生成する場合、フィルタリングの対象フレームに重複を許さない条件下では、フィルタリングの対象となるフレームは２フレームに限定される。
【００１０】
一方、高フレームレート映像の場合、フィルタ設計の自由度は拡張される。例えば、１０００ｆｐｓの映像信号をフィルタリングして６２．５ｆｐｓの映像信号を生成する場合、フィルタリングの対象フレームに重複を許さない条件下であっても、１６フレームをフィルタリングの対象とすることができる。
【００１１】
したがって、高フレームレート映像を入力してフィルタリングにより低フレームレート映像を得る場合、フィルタリング設計の自由度が高まるので、低フレームレート映像の符号化効率の観点から最適化の余地がある。
【００１２】
しかしながら、従来技術では、この点について一切検討を行っておらず、これから、高フレームレート映像に対してのフィルタリングにより得られた低フレームレート映像を符号化する場合に、フレーム間予測誤差の低減に改善の余地が残されていた。
【００１３】
本発明はかかる事情に鑑みてなされたものであって、高フレームレート映像信号に対してのフィルタリングに基づくダウンサンプリングにより得られた低フレームレート映像信号を入力とする映像符号化処理において、ダウンサンプリング後の低フレームレート映像信号の符号化効率を考慮した形で、低フレームレート映像信号を決定する効率的なフレームレート変換のためのフィルタリング技術を確立することを目的とする。
【課題を解決するための手段】
【００１４】
フレームレートの変換対象となる高フレームレート映像信号について、フレーム間隔をδt として、時刻ｔ＝ｊδt （ｊ＝０, １, ..... ）のフレームにおける位置ｘの画素値をｆ（ｘ，ｔ）（ｘ＝０, １, .... ,Ｘ−１）と表す。
【００１５】
この画素信号ｆ（ｘ，ｔ）を、ダウンサンプリングによりフレーム数を１／Ｍに変換する場合を考える。ダウンサンプリング前後のフレームレートの比Ｍをダウンサンプリング比と呼ぶ。つまり、この変換は、フレームレートを、“１／δt ”から“１／Ｍδt ”へ変換することを想定している。
【００１６】
なお、以下では、簡単のために一次元信号を例にとり説明するが、同様の議論は、容易に二次元信号にも拡張可能である。
【００１７】
フレームレートの変換方法としては、フレーム間引き、単純平均の方法がある。フレーム間引きでは、下記の式（１）で表されるフレームをダウンサンプリング後のフレームとする。
【００１８】
【数１】
2010141452.tif 000003
【００１９】
また、単純平均では、下記の式（２）で表されるフレームをダウンサンプリング後のフレームとする。
【００２０】
【数２】
2010141452.tif 000004
【００２１】
しかしながら、フレーム間引きと単純平均のいずれの方法も、動き補償を伴う動画像符号化を想定した手法ではなく、ダウンサンプリング後の映像信号の符号化効率の観点からは最適な手法とはいえない。
【００２２】
〔１〕本発明の基本的な考え方
そこで、本発明では、下記の式（３）で表されるように、フィルタ係数Ｗi （ｉはダウンサンプリングのフレーム位置を示す変数）
Ｗi ＝｛ωi 〔−Δ〕, .... ,ωi 〔Δ−１〕｝
を用いたフィルタリングにより、ダウンサンプリング後のフレームを得ることとする。
【００２３】
【数３】
2010141452.tif 000005
【００２４】
ここで、Σωi 〔ｊ〕＝１を満たすものとする。ただし、Σはｊ＝−Δi 〜Δi −１について総和である。また、Δi は各フレーム毎に外部から与えられるパラメータ（ｉに依存しないこともある）である。
【００２５】
そして、本発明では、ダウンサンプリング後の低フレームレート映像信号の全フレームの符号化効率を考慮した形で、このフィルタ係数Ｗi を決定するようにする。
【００２６】
次に、本発明に特徴的な処理であるフィルタ係数Ｗi の決定方法について説明する。
【００２７】
〔Ａ〕フィルタ係数Ｗi の決定
信号＾ｆ（ｘ，ｉＭδt ，Ｗi ）をサイズＳの区間Ｂ〔ｋ〕（ｋ＝０，１, .... ,Ｋ−１）に分割し、各区間Ｂ〔ｋ〕（ｋ＝０，１, .... ,Ｋ−１）を単位として動き補償（推定変移量ｄi ＝（ｄi 〔０〕, .... ,ｄi 〔Ｋ−１〕))を行った場合、その区間内の動き補償後の予測誤差電力は下記の式（４）のように表現できる。なお、「＾Ｘ」（Ｘは文字）における記号＾は、「Ｘ」の上に付く記号を示している。
【００２８】
【数４】
2010141452.tif 000006
【００２９】
ここで、式（４）では、１つ前のフィルタリングにより生成されたフレーム（参照フレームとなるフレーム）との間で動き補償後の予測誤差電力を求めるようにしている。
【００３０】
ダウンサンプリング後の低フレームレート映像信号の符号量を削減するためには、式（４）で表される動き補償予測誤差電力を小さくする必要があり、これから、動き補償予測誤差電力を最小化するようにフィルタ係数Ｗi を決定する必要がある。
【００３１】
〔Ｂ〕“フィルタ係数算出方法その１”
次に、“フィルタ係数算出方法その１”について説明する。この“フィルタ係数算出方法その１”では、Ｓｔｅｐ１とＳｔｅｐ２という２つのステップを実行することで、フィルタ係数Ｗi を算出する。
【００３２】
〔Ｂ−１〕“フィルタ係数算出方法その１”のＳｔｅｐ１
式（４）ではフィルタ係数Ｗi と変移量ｄi 〔ｋ〕とが変数となるが、この２つの間には、動き補償予測誤差電力を小さくすべくフィルタ係数Ｗi を変化させると、それによりダウンサンプリング後のフレームが変化し、それに伴って変移量ｄi 〔ｋ〕（以下、動きベクトルと記載することもある）も変化してしまうことで動き補償予測誤差電力が影響を受けるというように、互いに影響を与え合う関係がある。
【００３３】
そこで、Ｓｔｅｐ１では、この式（４）に従い、繰り返し処理によりフィルタ係数Ｗi を算出するようにする。
【００３４】
このとき、フィルタ係数Ｗi の初期値Ｗi (0) は外部から与えられる。例えば、Ｗi (0) ＝（１／２Δ, .... ,１／２Δ）とする。なお、参照フレームのフィルタ係数Ｗi-1 については既に確定しているものとし、起点となるダウンサンプリング後の先頭フレームについては、高フレームレート映像信号の先頭フレームを含む所定の範囲内にある複数フレームに対しての予め設定されたフィルタ係数を用いたフィルタリングにより生成する。
【００３５】
この繰り返し処理では、
（イ）まず、動き補償予測誤差電力σi 2 （Ｗi (0) ，ｄi ）を最小化するように、変移量ｄ〔ｋ〕（ｋ＝０，１, .... ,Ｋ−１）を設定する。この設定方法については、別途、外部から与えられる動き推定方法を用いる。例えば、フルサーチを用いる。ここで求めた変移量をｄ〔ｋ〕(0) （ｋ＝０，１, .... ,Ｋ−１）とする。
【００３６】
（ロ）次に、ｄ〔ｋ〕(0) （ｋ＝０，１, .... ,Ｋ−１）を用いた場合の予測誤差電力σi 2 （Ｗi ，ｄi (0) ）を最小化するフィルタ係数Ｗi を求める。具体的には、下記の式（５）の連立方程式をＷi について解く。
【００３７】
【数５】
2010141452.tif 000007
【００３８】
（ハ）このときに解として求めたフィルタ係数をＷi (1) として、上記の変移量ｄi の算出処理（イ）およびフィルタ係数Ｗi の算出処理（ロ）を、終了条件を満たすまで繰り返し行う。終了条件としては、後述するＳｔｅｐ１の終了条件１、終了条件２、終了条件３のような例がある。
【００３９】
〔Ｂ−２〕“フィルタ係数算出方法その１”のＳｔｅｐ２
Ｓｔｅｐ１の処理では、フレーム間の依存関係を考慮せずにフィルタ係数を設定している。そこで、全フレームに対する動き補償予測誤差電力（動き補償予測誤差電力の総和）を最小化するようにフィルタ係数を再計算する。この再計算にあたって、Ｓｔｅｐ１により得られた動きベクトル（変移量ｄi と同義）を、この処理で流用するものとし、この動きベクトルを＾ｄi とおく。
【００４０】
全フレームに対する動き補償予測誤差電力（動き補償予測誤差電力の総和）を下記の式（６）の通り定義する。
【００４１】
【数６】
2010141452.tif 000008
【００４２】
この式（６）に従って、全フレームに対する動き補償予測誤差電力（動き補償予測誤差電力の総和）を最小化するフィルタ係数は下記の式（７）を満たす。
【００４３】
【数７】
2010141452.tif 000009
【００４４】
式（６）を考慮すると、Ｅの項においてＷi が関係するのは、σi+12（Ｗi+1 ，Ｗi ，＾ｄi+1 ）、σi 2 （Ｗi ，Ｗi-1 ，＾ｄi ）のみであることから、式（７）の連立方程式は、Ｗi に関して、各々、下記の式（８）の連立方程式に帰着できる。
【００４５】
【数８】
2010141452.tif 000010
【００４６】
Ｓｔｅｐ２では、この式（８）の連立方程式をＷi について解くことで、フィルタ係数Ｗi を再計算する。
【００４７】
〔Ｂ−３〕“フィルタ係数算出方法その１”のＳｔｅｐ１の終了条件
（イ）Ｓｔｅｐ１の終了条件１
終了条件１では、繰り返し回数の上限を定める。この場合、繰り返し回数をｎとして、ｎが予め定めた閾値Ｎよりも大きくなった時点にＳｔｅｐ１を終了する。
【００４８】
（ロ）Ｓｔｅｐ１の終了条件２
終了条件２では、繰り返し処理によるフィルタ係数の変化量で判定する。ｎ回目のフィルタ係数の算出結果とｎ−１回目のフィルタ係数の算出結果との差が、予め与えられた閾値εw 以下となる場合にＳｔｅｐ１を終了する。式で書くと、下記の式（９）のようになる。
【００４９】
【数９】
2010141452.tif 000011
【００５０】
（ハ）Ｓｔｅｐ１の終了条件３
終了条件３では、繰り返し処理による予測誤差電力の総和の変化量で判定する。ｎ回目の予測誤差電力の算出結果とｎ−１回目の予測誤差電力の算出結果との差が、予め与えられた閾値εe 以下となる場合にＳｔｅｐ１を終了する。下記の式（１０）のようになる。
【００５１】
【数１０】
2010141452.tif 000012
【００５２】
〔Ｃ〕“フィルタ係数算出方法その２”
次に、“フィルタ係数算出方法その２”について説明する。この“フィルタ係数算出方法その２”と前述した“フィルタ係数算出方法その１”との違いは、この“フィルタ係数算出方法その２”では、Ｓｔｅｐ２の処理において、フィルタ係数Ｗi の算出処理と変移量ｄi の算出処理とを繰り返し実行することで、フィルタ係数Ｗi の算出精度を高めるようにするという構成を採るという点である。
【００５３】
〔Ｃ−１〕“フィルタ係数算出方法その２”のＳｔｅｐ１
Ｓｔｅｐ１では、“フィルタ係数算出方法その１”のＳｔｅｐ１と同じ処理を実行する。
【００５４】
〔Ｃ−２〕“フィルタ係数算出方法その２”のＳｔｅｐ２
Ｓｔｅｐ２では、“フィルタ係数算出方法その１”のＳｔｅｐ２と同様の処理を実行することで、フィルタ係数を算出する。この算出したフィルタ係数を＾Ｗi とおく。
【００５５】
このフィルタ係数＾Ｗi を用いた場合の式（６）に示す動き補償予測誤差電力の総和Ｅ（＾Ｗ0 , .... ,＾ＷJ/M-1 , ＾ｄ1, .... , ＾ｄJ/M-1 ）を最小化するように、変移量＾ｄ〔ｋ〕（ｋ＝０，１, .... ,Ｋ−１）を設定する。この設定方法は、別途、外部から与えられる動き推定方法を用いる。例えば、フルサーチを用いる。
【００５６】
Ｓｔｅｐ２では、このフィルタ係数＾Ｗi の算出処理および動きベクトル＾ｄi の探索処理を終了条件を満たすまで繰り返し行う。終了条件としては、例えば、次のような終了条件１〜３がある。
【００５７】
〔Ｃ−３〕“フィルタ係数算出方法その２”のＳｔｅｐ２の終了条件
（イ）Ｓｔｅｐ２の終了条件１
終了条件１では、繰り返し回数の上限を定める。この場合、繰り返し回数をｎとして、ｎが予め定めた閾値Ｎよりも大きくなった時点でＳｔｅｐ２を終了する。
【００５８】
（ロ）Ｓｔｅｐ２の終了条件２
終了条件２では、繰り返し処理によるフィルタ係数の変化量で判定する。ｎ回目のフィルタ係数の算出結果とｎ−１回目のフィルタ係数の算出結果との差の総和が、予め与えられた閾値＾εw 以下となる場合にＳｔｅｐ２を終了する。式で書くと、下記の式（１１）のようになる。
【００５９】
【数１１】
2010141452.tif 000013
【００６０】
（ハ）Ｓｔｅｐ２の終了条件３
終了条件３では、繰り返し処理による予測誤差電力の総和の変化量で判定する。ｎ回目の予測誤差電力の総和の算出結果とｎ−１回目の予測誤差電力の総和の算出結果との差が、予め与えられた閾値＾εe 以下となる場合にＳｔｅｐ２を終了する。下記の式（１２）のようになる。
【００６１】
【数１２】
2010141452.tif 000014
【００６２】
次に、本発明の構成について説明する。
【００６３】
〔２〕本発明の構成
本発明のフレームレート変換装置は、高フレームレート映像信号の複数フレームをフィルタ係数を使って重み付け加算することで１つのフレームに置き換えるフィルタリングを実行することで、高フレームレート映像信号のフレームをダウンサンプリングして低フレームレート映像信号に変換することを実現するために、（１）フィルタ係数によるフィルタリングにより生成されるフレームを予測フレームとし、生成済みのフレームを参照フレームとする動き補償で算出される動き補償予測誤差電力を最小化する動きベクトルを探索し、その動きベクトルを用いて、動き補償予測誤差電力を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、予測フレームに対しての最適なフィルタ係数を算出するとともに、その最適なフィルタ係数でフィルタリングする場合の動きベクトルを特定することを、ダウンサンプリング対象の全てのフレームについて実行する実行手段と、（２）実行手段の特定した動きベクトルを用いることで算出される全フレームに対しての動き補償予測誤差電力の総和を最小化するフィルタ係数を算出することで、ダウンサンプリングに用いるフィルタ係数を算出する算出手段とを備えるように構成する。
【００６４】
この構成を採るときに、実行手段は、最適なフィルタ係数を用いて予測フレームをフィルタリングすることで参照フレームを生成するとともに、その参照フレームの次のフレーム位置に位置するフレームを予測フレームとして処理を行うことを最終のフレーム位置まで繰り返すことで、ダウンサンプリング対象の全てのフレームについて処理を実行することがある。
【００６５】
また、算出手段は、自手段が算出したフィルタ係数を用いて全フレームをフィルタリングして動きベクトルを探索し、その動きベクトルを用いて、全フレームに対しての動き補償予測誤差電力の総和を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、最終的なフィルタ係数を算出することがある。
【００６６】
以上の各処理手段が動作することで実現される本発明のフレームレート変換方法はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、適当なコンピュータ読み取り可能な記録媒体に記録して提供されたり、ネットワークを介して提供され、本発明を実施する際にインストールされてＣＰＵなどの制御手段上で動作することにより本発明を実現することになる。
【００６７】
このように構成される本発明のフレームレート変換装置では、まず最初に、フィルタ係数によるフィルタリングにより生成されるフレームを予測フレームとし、生成済みのフレームを参照フレームとする動き補償で算出される動き補償予測誤差電力を最小化する動きベクトルを探索し、その動きベクトルを用いて、動き補償予測誤差電力を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、予測フレームに対しての最適なフィルタ係数を算出するとともに、その最適なフィルタ係数でフィルタリングする場合の動きベクトルを特定することを、ダウンサンプリング対象の全てのフレームについて実行し、
続いて、その特定した動きベクトルを用いることで算出される全フレームに対しての動き補償予測誤差電力の総和を最小化するフィルタ係数を算出することで、ダウンサンプリングに用いるフィルタ係数を算出する。このとき、さらに、算出したフィルタ係数を用いて全フレームをフィルタリングして動きベクトルを探索し、その動きベクトルを用いて、全フレームに対しての動き補償予測誤差電力の総和を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、最終的なフィルタ係数を算出することがある。
【００６８】
このようにして、本発明のフレームレート変換装置は、フィルタリングにより高フレームレート映像信号から低フレームレート映像信号へのダウンサンプリングを実行するときに、ダウンサンプリング後の低フレームレート映像信号の全シーケンスに対する符号化効率を考慮した形で、そのダウンサンプリングを実行するように処理するのである。
【発明の効果】
【００６９】
本発明では、フィルタリングにより高フレームレート映像信号から低フレームレート映像信号へのダウンサンプリングを実行するときに、ダウンサンプリング後の低フレームレート映像信号の全シーケンスに対する符号化効率を考慮した形で、そのダウンサンプリングを実行する。
【００７０】
これから、本発明によれば、高フレームレート映像信号に対してのダウンサンプリングにより得られた所望のフレームレートの映像信号を符号化する場合に、等長のフレーム間隔の間引きや単純平均のフィルタリングにより得られた映像信号よりも符号量を低く抑えることができるようになる。
【発明を実施するための最良の形態】
【００７１】
以下、実施の形態に従って本発明を詳細に説明する。
【００７２】
図１に、本発明のフレームレート変換装置１の装置構成の一例を図示する。
【００７３】
この図に示すように、本発明のフレームレート変換装置１は、フレームレート変換処理の対象となる高フレームレート映像信号を格納する高フレームレート映像ファイル１０と、フレームレート変換処理された低フレームレート映像信号を格納する低フレームレート映像ファイル１１と、フィルタ係数を使ったダウンサンプリングのためのフィルタリング処理を実行することで、高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換処理を実行するフレームレートダウンサンプリング部１２とを備える。
【００７４】
このフレームレートダウンサンプリング部１２は、予測対象フレームと参照フレームとの間の動き補償予測誤差電力を最小化する動きベクトルを推定する動き推定部１２００を備えて、式（４）で表される動き補償予測誤差電力とその動き予測誤差電力を実現する動きベクトルとを算出する動き補償予測誤差算出部１２０と、動き補償予測誤差算出部１２０の算出する動きベクトルおよび動き補償予測誤差電力を使って、高フレームレート映像信号のフレームをフィルタリングすることでダウンサンプリング処理を実行するダウンサンプリング実行部１２１と、ダウンサンプリング実行部１２１の作業用データを記憶する作業用メモリ１２２とを備える。
【００７５】
〔１〕動き推定部１２００の処理
ダウンサンプリング実行部１２１の実行するフレームレートダウンサンプリング処理の説明に入る前に、動き補償予測誤差算出部１２０の備える動き推定部１２００の処理について説明する。
【００７６】
動き推定部１２００は、予測対象フレームと参照フレームとを入力として、下記に示す処理を実行することで、予測対象フレーム内のブロック毎の動きベクトルｄ〔ｋ〕、すなわち、式（４）の右辺を最小化するｄ〔ｋ〕（ｋ＝０，１, .... ,Ｋ−１）を推定する処理を行う。ここで、ｋはブロックを同定するインデックスである。
【００７７】
処理：・式（４）のΣ｛ｘ∈Ｂ〔ｋ〕｝の項（第ｋブロックの予測誤差和）を最小化す          る動きベクトルｄ〔ｋ〕を求める
・動きベクトルは、予め与えられた探索範囲−Ｄ≦ｄ〔ｋ〕≦Ｄ−１内の値から          選択される
・選択の方法は、探索範囲内の全ての候補ベクトルに対して、その候補ベクトル          を用いた場合の予測誤差和を算出し、その予測誤差和を最小化するベクトルを          ｄ〔ｋ〕とすることで行う
動き補償予測誤差算出部１２０は、動き推定部１２００の推定した動きベクトルｄ〔ｋ〕を使い、式（４）に基づいて、予測対象フレームと参照フレームとの間の動き補償予測誤差電力を算出する。
【００７８】
〔２〕ダウンサンプリング実行部１２１の処理
次に、ダウンサンプリング実行部１２１の実行するフレームレートダウンサンプリング処理について説明する。
【００７９】
図２に、ダウンサンプリング実行部１２１の装置構成の一例を図示する。
【００８０】
この図に示すように、ダウンサンプリング実行部１２１は、入力部１２１０と、動きベクトル設定部１２１１と、フィルタ係数設定部１２１２とを備える。
【００８１】
この入力部１２１０は、高フレームレート映像信号のフレーム数Ｊと、高フレームレート映像信号のフレーム間隔δt と、ダウンサンプリング比Ｍと、フィルタ係数初期値Ｗi (0) と、フィルタリングの対象となるフレーム数を指定する値Δi と、フィルタ係数の終了条件の判定用閾値とを読み込む。なお、以下の説明では、Δi はｉに依存しない値を持つことで説明する。
【００８２】
動きベクトル設定部１２１１は、等長間隔のダウンサンプリングにより規定されるダウンサンプリングフレーム位置（以下、フレーム位置と略記する）について、図３に示すように、フィルタ係数によるフィルタリングにより生成されるフレームを予測フレームとし、１つ前のフレーム位置にある生成済みのフレームを参照フレームとする動き補償で算出される動き補償予測誤差電力を最小化する動きベクトルを探索し、その動きベクトルを用いて、繰り返し回数について一般化した式（５）の連立方程式（後述する式（１３）の連立方程式）に従って、動き補償予測誤差電力を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、予測フレームと参照フレームとの間の動き補償予測誤差電力を最小化する動きベクトルを求めるようにして、図４に示すように、その一連の処理を先頭のフレーム位置から最終のフレーム位置に向けて実行することで、ダウンサンプリング対象の全てのフレームについて、１つ前のフレーム位置にあるフレームとの間の動き補償予測誤差電力を最小化する動きベクトルを求めて、それをフィルタ係数決定部１２１２に通知する動きベクトルとして設定するように処理する。
【００８３】
動きベクトル設定部１２１１は、この処理を実行するために、図２に示すように、
（１）予め設定されたフィルタ係数を用いたフィルタリングによりダウンサンプリング後の先頭フレームを生成する先頭フレーム生成部１２１１０と、
（２）ダウンサンプリング後のフレームが生成された場合に、等長間隔のダウンサンプリングにより規定される次のフレーム位置を特定する次フレーム位置特定部１２１１１と、
（３）次フレーム位置特定部１２１１１の特定したフレーム位置の近傍に位置する２Δ枚のフレームに対して、その時点のフィルタ係数を使ったフィルタリング処理を実行するフィルタリング実行部１２１１２と、
（４）フィルタリング実行部１２１１２が今回生成したフレームと１つ前のフレーム位置で生成されたフレームとを指定して、動き補償予測誤差算出部１２０に対して動き補償予測誤差電力を最小化する動きベクトルの探索を指示することで、その動きベクトルを得る動きベクトル算出部１２１１３と、
（５）動きベクトル算出部１２１１３の得た動きベクトルを使って、繰り返し回数について一般化した式（５）の連立方程式（後述する式（１３）の連立方程式）を生成して、それを解くことでフィルタ係数を更新するフィルタ係数更新部１２１１４と、
（６）フィルタ係数更新部１２１１４によるフィルタ係数の更新を終了する条件が成立したのか否かを判定して、更新終了条件が成立しないことを判定するときには、フィルタリング実行部１２１１２に対して、更新したフィルタ係数を使ってフィルタリング処理を実行することを指示する更新終了条件判定部１２１１５と、
（７）更新終了条件判定部１２１１５がフィルタ係数の更新終了条件が成立したことを判定するときに、更新終了条件成立時点のフィルタ係数を使ったフィルタリング処理を実行することで、次フレーム位置特定部１２１１１の特定したフレーム位置にあるフレームに置き換えるダウンサンプリング後のフレームを生成するフレーム生成部１２１１６と、
（８）更新終了条件判定部１２１１５がフィルタ係数の更新終了条件が成立したことを判定するときに、フィルタリングの対象となる全てのフレーム位置に対しての処理を終了したのか否かを判定して、処理の未終了を判定するときには、次のフレーム位置に対しての処理を実行すべく次フレーム位置特定部１２１１１を起動し、処理の終了を判定するときには、最終的に求めた動きベクトルをフィルタ係数決定部１２１２に通知する動きベクトルとして設定して通知する全フレーム位置終了判定部１２１１７と、
を備える。
【００８４】
フィルタ係数決定部１２１２は、動きベクトル設定部１２１１から通知される動きベクトルを使い、図５に示すように、式（８）の連立方程式に従って、全フレームに対する動き補償予測誤差電力（動き補償予測誤差電力の総和）を最小化するフィルタ係数を算出することで、そのフィルタ係数を決定するように処理する。さらに、このフィルタ係数の決定精度を高めるために、図６に示すように、算出したフィルタ係数によりダウンサンプリングされるフレーム間の動き補償予測誤差電力を最小化する動きベクトルを探索し、その動きベクトルを用いて、全フレームに対する動き補償予測誤差電力（動き補償予測誤差電力の総和）を最小化するフィルタ係数を算出することを所定の終了条件が成立するまで繰り返すことで、全フレームに対する動き補償予測誤差電力（動き補償予測誤差電力の総和）を最小化するフィルタ係数を算出することで、そのフィルタ係数を決定するように処理する。
【００８５】
フィルタ係数決定部１２１２は、この処理を実行するために、図２に示すように、
（１）動きベクトル設定部１２１１の設定した動きベクトルを使って式（８）の連立方程式を生成して、それを解くことでフィルタ係数を決定し、さらに、次に説明する動きベクトル算出部１２１２１の算出した動きベクトルを使って式（８）の連立方程式を生成して、それを解くことでフィルタ係数を算出するフィルタ係数算出部１２１２０と、
（２）フィルタ係数算出部１２１２０の算出したフィルタ係数を使ったフィルタリング処理を実行することで生成される隣接する２つのフレームの対データを指定して、動き補償予測誤差算出部１２０に対して動き補償予測誤差電力を最小化する動きベクトルの探索を指示することで、各対データについて動きベクトルを得て、フィルタ係数算出部１２１２０に対して、それらの動きベクトルを指定してフィルタ係数の再算出を指示する動きベクトル算出部１２１２１と、
（３）動きベクトル算出部１２１２１によるフィルタ係数の再算出の指示を終了する条件が成立したのか否かを判定して、再算出の指示終了条件が成立することを判定するときに、フィルタ係数算出部１２１２０の算出したフィルタ係数を最終的なフィルタ係数として決定する終了条件判定部１２１２２と、
（４）終了条件判定部１２１２２が最終決定したフィルタ係数を使ったフィルタリング処理を実行することで、ダウンサンプリング後のフレームを生成するフレーム生成部１２１２３と、
を備える。
【００８６】
次に、このように構成されるダウンサンプリング実行部１２１により実行されるフレームレートダウンサンプリング処理について説明する。
【００８７】
〔２−１〕第１の実施の形態
第１の実施の形態では、ダウンサンプリング実行部１２１は、図７のフローチャートに示すように、まず最初に、ステップＳ１０で、動きベクトル設定部１２１１が動作して、フィルタ係数決定部１２１２に通知する動きベクトルを設定する。続いて、ステップＳ２０で、フィルタ係数決定部１２１２のフィルタ係数算出部１２１２０のみが動作して（動きベクトル算出部１２１２１は動作しない）、動きベクトル設定部１２１１の設定した動きベクトルを使って、ダウンサンプリングに用いるフィルタ係数を算出するように処理する。
【００８８】
次に、下記の〔２−１−１〕に、前述した『〔Ｂ−３〕“フィルタ係数算出方法その１”のＳｔｅｐ１の終了条件』で説明した終了条件１に従って実行する場合におけるステップＳ１０の処理の流れを記載するとともに、下記の〔２−１−２〕に、ステップＳ２０の処理の流れを記載する。
【００８９】
〔２−１−１〕ステップＳ１０の処理の流れ
１．撮影された映像信号高フレームレート映像、そのフレーム数Ｊ、そのフレームレー      ト（フレーム間隔δt を算出するために用いる）を読み込む
２．ダウンサンプリング比Ｍを読み込む
３．繰り返し回数の閾値Ｎを読み込む
４．フィルタ係数の初期値Ｗ0 (0) を読み込み、ダウンサンプリング後の先頭フレーム      を生成する
５．ｉ＝１, .... ,Ｊ／Ｍ−１について以下の処理を行う
６．  フィルタ係数の初期値Ｗi (0) を読み込む
７．  Δi の値として、予め設定された値を読み込む
８．  ｎ＝０
９．    ｎ＝ｎ＋１
10．    予め設定された方法に基づき、フィルタ係数をＷi (n-1) とした場合の式（４          ）で表される動き補償予測誤差電力に対して、その予測誤差電力を最小化する          動きベクトルを算出し、レジスタｄ〔ｋ〕(n) （ｋ＝０，１, .... ,Ｋ−１）          に格納する
11．    動きベクトルをｄ〔ｋ〕(n) （ｋ＝０，１, .... ,Ｋ−１）とした場合の式（          ４）で表される動き補償予測誤差電力に対して、その予測誤差電力を最小化す          るフィルタ係数を算出し、レジスタＷi (n) に格納する。具体的な算出方法は          、下記の式（１３）に示す連立方程式をＷi について解き、その解を求めるフ          ィルタ係数とすることで行う
ただし、ｉ＝１の場合は、下記の式（１４）に示す連立方程式をＷ1,Ｗ0 につ          いて解き、レジスタＷ1 (n) , Ｗ0 (n) に格納する
【００９０】
【数１３】
2010141452.tif 000015
【００９１】
【数１４】
2010141452.tif 000016
【００９２】
12．    ｎ＜Ｎならば、“９．”に戻り、そうでなければ、次のステップに進む
13．  Ｗi (n) を第ｉフレームに対するフィルタ係数Ｗi として、式（３）に従いダウ        ンサンプリング後のフレームを出力する（この処理についてはフレーム生成部１        ２１２３が実行する）。
【００９３】
このようにして、ダウンサンプリング実行部１２１は、図７のフローチャートのステップＳ１０では、その時点のフィルタ係数でフィルタリングした場合の動き補償予測誤差電力を最小化する動きベクトルを算出（探索）し、その算出した動きベクトルを使って、２つのフレームの間の動き補償予測誤差電力を最小化するフィルタ係数の導出式である式（１３）／式（１４）の連立方程式を解くことでフィルタ係数を更新して、前述した終了条件１の規定する繰り返し回数に従って、この一連の更新処理を繰り返していくことで、式（４）で表される動き補償予測誤差電力を最小化するフィルタ係数・動きベクトルを算出するように処理するのである。
【００９４】
〔２−１−２〕ステップＳ２０の処理の流れ
１．撮影された映像信号高フレームレート映像、そのフレーム数Ｊ、そのフレームレー      ト（フレーム間隔δt を算出するために用いる）を読み込む
２．ダウンサンプリング比Ｍを読み込む
３．ステップＳ１０で求めた動きベクトルｄi （ｉ＝１, .... ,Ｊ／Ｍ−１）を読み込      む
４．動きベクトルをｄi （ｉ＝１, .... ,Ｊ／Ｍ−１）とした場合の式（６）で表され      る動き補償予測誤差電力の総和に対して、その動き補償予測誤差電力の総和を最小      化するフィルタ係数を算出し、レジスタＷi * に格納する。具体的な算出方法は、      式（８）に示す連立方程式をＷi について解き、その解を求めるフィルタ係数とす      ることで行う
ただし、ｉ＝１の場合は、下記の式（１５）に示す連立方程式をＷ1,Ｗ0 について      解き、レジスタＷ1 * , Ｗ0 * に格納する。
【００９５】
【数１５】
2010141452.tif 000017
【００９６】
このようにして、ダウンサンプリング実行部１２１は、図７のフローチャートのステップＳ２０では、ステップＳ１０で求めた動きベクトルｄi （ｉ＝１, .... ,Ｊ／Ｍ−１）を使って、動き補償予測誤差電力の総和を最小化するフィルタ係数の導出式である連立方程式の式（８）／式（１５）を解くことで、式（６）で表される動き補償予測誤差電力の総和を最小化するフィルタ係数を算出するのである。
【００９７】
〔２−１−３〕終了条件２に従うステップＳ１０の処理の流れ
『〔２−１−１〕ステップＳ１０の処理の流れ』に記載するステップＳ１０の処理では、前述した『〔Ｂ−３〕“フィルタ係数算出方法その１”のＳｔｅｐ１の終了条件』で説明した終了条件１に従って処理を実行したが、そこで説明した終了条件２に従う場合には、次のように処理する。
【００９８】
１．撮影された映像信号高フレームレート映像、そのフレーム数Ｊ、そのフレームレー      ト（フレーム間隔δt を算出するために用いる）を読み込む
２．ダウンサンプリング比Ｍを読み込む
３．フィルタ係数の類似度に関する閾値εw を読み込む
４．フィルタ係数の初期値Ｗ0 (0) を読み込み、ダウンサンプリング後の先頭フレーム      を生成する
５．ｉ＝１, .... ,Ｊ／Ｍ−１について以下の処理を行う
６．  フィルタ係数の初期値Ｗi (0) を読み込む
７．  Δi の値として、予め設定された値を読み込む
８．  ｎ＝０
９．    ｎ＝ｎ＋１
10．    予め設定された方法に基づき、フィルタ係数をＷi (n-1) とした場合の式（４          ）で表される動き補償予測誤差電力に対して、その予測誤差電力を最小化する          動きベクトルを算出し、レジスタｄ〔ｋ〕(n) （ｋ＝０，１, .... ,Ｋ−１）          に格納する
11．    動きベクトルをｄ〔ｋ〕(n) （ｋ＝０，１, .... ,Ｋ−１）とした場合の式（          ４）で表される動き補償予測誤差電力に対して、その予測誤差電力を最小化す          るフィルタ係数を算出し、レジスタＷi (n) に格納する。具体的な算出方法は          、式（１３）に示す連立方程式をＷi について解き、その解を求めるフィルタ          係数とすることで行う
ただし、ｉ＝１の場合は、式（１４）に示す連立方程式をＷ1,Ｗ0 について解          き、レジスタＷ1 (n) , Ｗ0 (n) に格納する
12．    式（９）に従ってＷi (n) とＷi (n-1) との間の類似度を評価して、その類似          度が閾値εw よりも大きければ“９．”に戻り、そうでなければ、次のステッ          プに進む
13．  Ｗi (n) を第ｉフレームに対するフィルタ係数Ｗi として、式（３）に従いダウ        ンサンプリング後のフレームを出力する（この処理についてはフレーム生成部１        ２１２３が実行する）。
【００９９】
〔２−１−４〕終了条件３に従うステップＳ１０の処理の流れ
『〔２−１−１〕ステップＳ１０の処理の流れ』に記載するステップＳ１０の処理では、前述した『〔Ｂ−３〕“フィルタ係数算出方法その１”のＳｔｅｐ１の終了条件』で説明した終了条件１に従って処理を実行したが、そこで説明した終了条件３に従う場合には、次のように処理する。
【０１００】
１．撮影された映像信号高フレームレート映像、そのフレーム数Ｊ、そのフレームレー      ト（フレーム間隔δt を算出するために用いる）を読み込む
２．ダウンサンプリング比Ｍを読み込む
３．予測誤差に関する閾値εe を読み込む
４．フィルタ係数の初期値Ｗ0 (0) を読み込み、ダウンサンプリング後の先頭フレーム      を生成する
５．ｉ＝１, .... ,Ｊ／Ｍ−１について以下の処理を行う
６．  フィルタ係数の初期値Ｗi (0) を読み込む
７．  Δi の値として、予め設定された値を読み込む
８．  ｎ＝０
９．    ｎ＝ｎ＋１
10．    予め設定された方法に基づき、フィルタ係数をＷi (n-1) とした場合の式（４          ）で表される動き補償予測誤差電力に対して、その予測誤差電力を最小化する          動きベクトルを算出し、レジスタｄ〔ｋ〕(n) （ｋ＝０，１, .... ,Ｋ−１）          に格納する
11．    動きベクトルをｄ〔ｋ〕(n) （ｋ＝０，１, .... ,Ｋ−１）とした場合の式（          ４）で表される動き補償予測誤差電力に対して、その予測誤差電力を最小化す          るフィルタ係数を算出し、レジスタＷi (n) に格納する。具体的な算出方法は          、式（１３）に示す連立方程式をＷi について解き、その解を求めるフィルタ          係数とすることで行う
ただし、ｉ＝１の場合は、式（１４）に示す連立方程式をＷ1,Ｗ0 について解          き、レジスタＷ1 (n) , Ｗ0 (n) に格納する
12．    Ｗi (n) ，ｄ〔ｋ〕(n) を用いた場合の動き補償予測誤差電力をレジスタＥ(n ) に格納する
13．    ｜Ｅ(n) −Ｅ(n-1) ｜＜εe ならば、“９．”に戻り、そうでなければ、次の          ステップに進む
14．  Ｗi (n) を第ｉフレームに対するフィルタ係数Ｗi として、式（３）に従いダウ        ンサンプリング後のフレームを出力する（この処理についてはフレーム生成部１        ２１２が実行する）。
【０１０１】
〔２−２〕第２の実施の形態
第２の実施の形態では、ダウンサンプリング実行部１２１は、図８のフローチャートに示すように、まず最初に、ステップＳ３０で、動きベクトル設定部１２１１が動作して、フィルタ係数決定部１２１２に通知する動きベクトルを設定する。
【０１０２】
続いて、ステップＳ４０で、フィルタ係数決定部１２１２のフィルタ係数算出部１２１２０が動作して、動きベクトル設定部１２１１の設定した動きベクトルを使って、動き補償予測誤差電力の総和を最小化するフィルタ係数を算出し（ステップＳ４１）、続いて、終了条件が成立したのかを判定して（ステップＳ４２）、終了条件が成立しないときには、フィルタ係数決定部１２１２の動きベクトル算出部１２１２１が動作して、フィルタ係数算出部１２１２０の算出したフィルタ係数を用いる場合の動き補償予測誤差電力の総和を最小化する動きベクトルを算出（探索）して、フィルタ係数算出部１２１２０に対して、その算出した動きベクトルを使って、動き補償予測誤差電力の総和を最小化するフィルタ係数を算出することを指示することを繰り返すことで（ステップＳ４３）、ダウンサンプリングに用いるフィルタ係数を最終的に算出するように動作する。
【０１０３】
次に、下記の〔２−２−１〕に、ステップＳ３０の処理の流れを記載するとともに、下記の〔２−２−２〕に、前述した『〔Ｃ−３〕“フィルタ係数算出方法その２”のＳｔｅｐ２の終了条件』で説明した終了条件１に従って実行する場合におけるステップＳ４０の処理の流れを記載する。
【０１０４】
〔２−２−１〕ステップＳ３０の処理の流れ
ステップＳ３０では、前述した『〔２−１−１〕ステップＳ１０の処理の流れ』や、前述した『〔２−１−３〕終了条件２に従うステップＳ１０の処理の流れ』や、前述した『〔２−１−４〕終了条件３に従うステップＳ１０の処理の流れ』の処理と同一の処理を実行することで、式（４）で表される動き補償予測誤差電力を最小化するフィルタ係数・動きベクトルを算出する。
【０１０５】
このようにして、ダウンサンプリング実行部１２１は、図８のフローチャートのステップＳ３０では、その時点のフィルタ係数でフィルタリングした場合の動き補償予測誤差電力を最小化する動きベクトルを算出（探索）し、その算出した動きベクトルを使って、２つのフレームの間の動き補償予測誤差電力を最小化するフィルタ係数の導出式である式（１３）／式（１４）の連立方程式を解くことでフィルタ係数を更新して、前述した終了条件１の規定する繰り返し回数に従って、この一連の更新処理を繰り返していくことで、式（４）で表される動き補償予測誤差電力を最小化するフィルタ係数・動きベクトルを算出するように処理するのである。
【０１０６】
〔２−２−２〕ステップＳ４０の処理の流れ
１．撮影された映像信号高フレームレート映像、そのフレーム数Ｊ、そのフレームレー      ト（フレーム間隔δt を算出するために用いる）を読み込む
２．ダウンサンプリング比Ｍを読み込む
３．繰り返し回数の閾値Ｎを読み込む
４．ｎ＝０
５．ステップＳ３０で求めた動きベクトルｄi （ｉ＝１, .... ,Ｊ／Ｍ−１）を動きベ      クトルの初期値ｄi (0) として読み込む
６．  動きベクトルをｄi (n) （ｉ＝１, .... ,Ｊ／Ｍ−１）とした場合の式（６）で        表される動き補償予測誤差電力の総和に対して、その動き補償予測誤差電力の総        和を最小化するフィルタ係数を算出し、レジスタＷi * に格納する。具体的な算        出方法は、下記の式（１６）に示す連立方程式をＷi について解き、その解を求        めるフィルタ係数とすることで行う
ただし、ｉ＝１の場合は、下記の式（１７）に示す連立方程式をＷ1,Ｗ0 につい        て解き、レジスタＷ1 (n) , Ｗ0 (n) に格納する
【０１０７】
【数１６】
2010141452.tif 000018
【０１０８】
【数１７】
2010141452.tif 000019
【０１０９】
７．  式（６）で表される動き補償予測誤差電力の総和Ｅ（Ｗ0 , .... ,ＷJ/M-1 , ＾        ｄ1, .... , ＾ｄJ/M-1 ）を最小化する動きベクトルｄi （ｉ＝１, .... ,Ｊ／        Ｍ−１）を算出し、その結果をｄi (n) （ｉ＝１, .... ,Ｊ／Ｍ−１）に格納す        る
８．  ｎ＝ｎ＋１
９．  ｎ＜Ｎならば、“６．”に戻り、そうでなければ、次のステップに進む
10．Ｗi (n) を第ｉフレームに対するフィルタ係数Ｗi として、式（３）に従いダウン      サンプリング後のフレームを出力する（この処理についてはフレーム生成部１２１      ２３が実行する）。
【０１１０】
このようにして、ダウンサンプリング実行部１２１は、図８のフローチャートのステップＳ４０では、ステップＳ３０で求めた動きベクトルｄi （ｉ＝１, .... ,Ｊ／Ｍ−１）を使って、動き補償予測誤差電力の総和を最小化するフィルタ係数の導出式である式（１６）／式（１７）の連立方程式を解くことで、動き補償予測誤差電力の総和を最小化するフィルタ係数を算出して、その算出したフィルタ係数でフィルタリングした場合の動き補償予測誤差電力の総和を最小化する動きベクトルを算出（探索）することを繰り返していくことで、式（６）で表される動き補償予測誤差電力の総和を最小化するフィルタ係数を算出するように処理するのである。
【実施例】
【０１１１】
次に、実施例に従って本発明を詳細に説明する。
【０１１２】
〔１〕第１の実施例
図９および図１０に、図７のフローチャートに従ってダウンサンプリングに用いるフィルタ係数を算出するダウンサンプリング実行部１２１の実行する詳細なフローチャートを図示する。
【０１１３】
ここで、このフローチャートでは、前述した『〔Ｂ−３〕“フィルタ係数算出方法その１”のＳｔｅｐ１の終了条件』で説明した終了条件１に従ってダウンサンプリングに用いるフィルタ係数を算出するようにしている。
【０１１４】
次に、このフローチャートに従って、ダウンサンプリング実行部１２１が実行するフレームレートのダウンサンプリング処理について詳細に説明する。
【０１１５】
ダウンサンプリング実行部１２１は、図７のフローチャートに従ってダウンサンプリングに用いるフィルタ係数を算出する場合には、図９および図１０のフローチャートに示すように、まず最初に、ステップＳ１０１で、フレームレート変換処理の対象となる高フレームレート映像信号と、そのフレーム数Ｊと、そのフレーム間隔δt と、ダウンサンプリング比Ｍと、繰り返し回数の閾値Ｎとを読み込む。
【０１１６】
続いて、ステップＳ１０２で、高フレームレート映像信号の先頭フレームを含む所定の範囲内にある複数フレームに対しての予め設定されたフィルタ係数を用いたフィルタリングによりダウンサンプリング後の先頭フレームを生成する。
【０１１７】
続いて、ステップＳ１０３で、ダウンサンプリング比Ｍとフレーム間隔δt とに基づく等長間隔のダウンサンプリングにより規定されるフレーム位置（ダウンサンプリングのフレーム位置）を指定する変数ｉに１をセットする。すなわち、先頭フレームの次のダウンサンプリング位置を指定する値である１をセットするのである。
【０１１８】
続いて、ステップＳ１０４で、フィルタ係数の初期値Ｗi (0) と、フィルタリングの対象となるフレーム数（＝２Δi ）を指定する値Δi とを読み込む。
【０１１９】
続いて、ステップＳ１０５で、繰り返し回数をカウントする変数ｎに０をセットし、続くステップＳ１０６で、変数ｎの値を１つインクリメントする。
【０１２０】
続いて、ステップＳ１０７で、設定されているフィルタ係数を使い式（３）に基づいて、変数ｉの指すフレーム位置の近傍に位置する２Δi 枚のフレームに対してのフィルタリングを実行することで、動きベクトル算出用のフレームを生成する。
【０１２１】
続いて、ステップＳ１０８で、生成した動きベクトル算出用のフレームを予測フレームとし、後述するステップＳ１１１の処理に従って前回生成したフレーム（処理開始時は先頭フレーム）を参照フレームとする動き補償で算出される動き補償予測誤差電力を最小化する動きベクトルを算出する。
【０１２２】
続いて、ステップＳ１０９で、算出した動きベクトルを用いる式（１３）／式（１４）の連立方程式を作成し、それを解くことでフィルタ係数を更新する。
【０１２３】
続いて、ステップＳ１１０で、変数ｎの値が繰り返し回数の閾値Ｎを超えていないのか否かを判断して、繰り返し回数の閾値Ｎを超えていないことを判断するときには、ステップＳ１０６の処理に戻って、フィルタ係数の更新処理を継続する。
【０１２４】
一方、ステップＳ１１０の判断処理に従って、変数ｎの値が繰り返し回数の閾値Ｎを超えたことを判断するときには、ステップＳ１１１に進んで、更新の終了したフィルタ係数を使い式（３）に基づいて、変数ｉの指すフレーム位置の近傍に位置する２Δi 枚のフレームに対してのフィルタリングを実行することで、ダウンサンプリング後のフレームを生成する。
【０１２５】
続いて、ステップＳ１１２で、変数ｉの値を１つインクリメントし、続くステップＳ１１３で、変数ｉの値が最大値であるＪ／Ｍ−１を超えたのか否かを判断して、Ｊ／Ｍ−１を超えていないことを判断するときには、変数ｉの指す次のダウンサンプリング位置についてステップＳ１０４〜ステップＳ１１２の処理を実行すべく、ステップＳ１０４の処理に戻る。
【０１２６】
一方、ステップＳ１１３の判断処理により、変数ｉの値がＪ／Ｍ−１を超えたことを判断するときには、全てのダウンサンプリング位置についての処理を終了したことで、図７のフローチャートのステップＳ１０の処理を終了する。
【０１２７】
続いて、図７のフローチャートのステップＳ２０の処理に入って、ステップＳ２０１（図１０に示すステップＳ２０１）で、ステップＳ１０１〜ステップＳ１１３の処理により算出した動きベクトルｄi （ｉ＝１, .... ,Ｊ／Ｍ−１）を読み込む。
【０１２８】
続いて、ステップＳ２０２で、読み込んだ動きベクトルｄi （ｉ＝１, .... ,Ｊ／Ｍ−１）を用いる式（８）／式（１５）の連立方程式を作成し、それを解くことでフィルタ係数を算出する。
【０１２９】
続いて、ステップＳ２０３で、算出したフィルタ係数を使ってフィルタリングを実行することでフレームレートダウンサンプリング処理を実行する。
【０１３０】
このようにして、ダウンサンプリング実行部１２１は、フレームレートのダウンサンプリング処理を実行するときに、全フレームに対する動き補償予測誤差電力（動き補償予測誤差電力の総和）を最小化するようにフィルタ係数を算出し、これにより、そのダウンサンプリング処理により得られた低フレームレート映像信号符号化する場合に、従来技術よりも符号量を低く抑えることができるようになる。
【０１３１】
〔２〕第２の実施例
図１１および図１２に、図８のフローチャートに従ってダウンサンプリングに用いるフィルタ係数を算出するダウンサンプリング実行部１２１の実行する詳細なフローチャートを図示する。
【０１３２】
ここで、このフローチャートでは、前述した『〔Ｂ−３〕“フィルタ係数算出方法その１”のＳｔｅｐ１の終了条件』で説明した終了条件１（繰り返し回数の上限をＮ１としている）と、前述した『〔Ｃ−３〕“フィルタ係数算出方法その２”のＳｔｅｐ２の終了条件』で説明した終了条件１（繰り返し回数の上限をＮ２としている）とに従って、ダウンサンプリングに用いるフィルタ係数を算出するようにしている。
【０１３３】
次に、このフローチャートに従って、ダウンサンプリング実行部１２１が実行するフレームレートのダウンサンプリング処理について詳細に説明する。
【０１３４】
ダウンサンプリング実行部１２１は、図８のフローチャートに従ってダウンサンプリングに用いるフィルタ係数を算出する場合には、図１１および図１２のフローチャートに示すように、ステップＳ３０１〜ステップＳ３１３で、図９および図１０のフローチャートのステップＳ１０１〜ステップＳ１１３と同様の処理を実行することで、図８のフローチャートのステップＳ３０の処理を終了する。
【０１３５】
続いて、図８のフローチャートのステップＳ４０の処理に入って、ステップＳ４０１（図１２に示すステップＳ４０１）で、繰り返し回数をカウントする変数ｎに０をセットし、続くステップＳ４０２で、ステップＳ３０１〜ステップＳ３１３の処理により算出した動きベクトルｄi （ｉ＝１, .... ,Ｊ／Ｍ−１）を、動きベクトルの初期値ｄi (0) として読み込む。
【０１３６】
続いて、ステップＳ４０３で、動きベクトルｄi (n) （ｉ＝１, .... ,Ｊ／Ｍ−１）を用いる式（１６）／式（１７）の連立方程式を作成し、それを解くことでフィルタ係数を算出する。
【０１３７】
続いて、ステップＳ４０４で、算出したフィルタ係数を使い式（３）に基づいて、変数ｉ（ｉ＝１, .... ,Ｊ／Ｍ−１）の指すフレーム位置の近傍に位置する２Δi 枚のフレームに対してのフィルタリングを実行することで、動きベクトル算出用のフレームを生成する。
【０１３８】
続いて、ステップＳ４０５で、生成した各動きベクトル算出用のフレームについて、その動きベクトル算出用のフレームを予測フレームとし、１つ前のフレーム位置にある動きベクトル算出用のフレームを参照フレームとする動き補償で算出される動き補償予測誤差電力の総和を最小化する動きベクトルを算出する。
【０１３９】
続いて、ステップＳ４０６で、変数ｎの値を１つインクリメントし、続くステップＳ４０７で、変数ｎの値が繰り返し回数の閾値Ｎ２を超えたのか否かを判断して、繰り返し回数の閾値Ｎ２を超えていないことを判断するときには、ステップＳ４０３の処理に戻ることで、算出した動きベクトル（更新した動きベクトル）を用いてフィルタ係数を算出することを繰り返す処理を続行する。
【０１４０】
一方、ステップＳ４０７で、変数ｎの値が繰り返し回数の閾値Ｎ２を超えたことを判断するときには、最終的なフィルタ係数を算出したことを判断して、ステップＳ４０８に進んで、算出したフィルタ係数を使ってフィルタリングを実行することでフレームレートダウンサンプリング処理を実行する。
【０１４１】
このようにして、ダウンサンプリング実行部１２１は、第２の実施例に従う場合には、フレームレートのダウンサンプリング処理を実行するときに、第１の実施例よりもさらに全フレームに対する動き補償予測誤差電力（動き補償予測誤差電力の総和）を最小化するようにフィルタ係数を算出し、これにより、そのダウンサンプリング処理により得られた低フレームレート映像信号符号化する場合に、従来技術よりも符号量を低く抑えることができるようになる。
【産業上の利用可能性】
【０１４２】
本発明は、フィルタリングにより高フレームレート映像信号から低フレームレート映像信号へのフレームレート変換を実行するときに適用できるものであり、本発明を適用することで、高フレームレート映像信号に対してのダウンサンプリングにより得られた所望のフレームレートの映像信号を符号化する場合に、等長のフレーム間隔の間引きや単純平均のフィルタリングにより得られた映像信号よりも符号量を低く抑えることができるようになる。
【図面の簡単な説明】
【０１４３】
【図１】本発明のフレームレート変換装置の装置構成図である。
【図２】本発明のフレームレート変換装置の装置構成図である。
【図３】本発明の処理の説明図である。
【図４】本発明の処理の説明図である。
【図５】本発明の処理の説明図である。
【図６】本発明の処理の説明図である。
【図７】ダウンサンプリング実行部の実行するフローチャートである。
【図８】ダウンサンプリング実行部の実行するフローチャートである。
【図９】ダウンサンプリング実行部の実行するフローチャートである。
【図１０】ダウンサンプリング実行部の実行するフローチャートである。
【図１１】ダウンサンプリング実行部の実行するフローチャートである。
【図１２】ダウンサンプリング実行部の実行するフローチャートである。
【図１３】従来技術によるフレームレートダウンサンプリング処理の説明図である。
【符号の説明】
【０１４４】
１          フレームレート変換装置
１０        高フレームレート映像ファイル
１１        低フレームレート映像ファイル
１２        フレームレートダウンサンプリング部
１２０      動き補償予測誤差算出部
１２１      ダウンサンプリング実行部
１２２      作業用メモリ
１２００    動き推定部
１２１０    入力部
１２１１    動きベクトル設定部
１２１２    フィルタ係数決定部
１２１１０  先頭フレーム生成部
１２１１１  次フレーム位置特定部
１２１１２  フィルタリング実行部
１２１１３  動きベクトル算出部
１２１１４  フィルタ係数更新部
１２１１５  更新終了条件判定部
１２１１６  フレーム生成部
１２１１７  全フレーム位置終了判定部
１２１２０  フィルタ係数算出部
１２１２１  動きベクトル算出部
１２１２２  終了条件判定部
１２１２３  フレーム生成部
【図１】
2010141452.tif 000020
【図２】
2010141452.tif 000021
【図３】
2010141452.tif 000022
【図４】
2010141452.tif 000023
【図５】
2010141452.tif 000024
【図６】
2010141452.tif 000025
【図７】
2010141452.tif 000026
【図８】
2010141452.tif 000027
【図９】
2010141452.tif 000028
【図１０】
2010141452.tif 000029
【図１１】
2010141452.tif 000030
【図１２】
2010141452.tif 000031
【図１３】
2010141452.tif 000032