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