(57)【要約】【課題】映像符号化処理における時間フィルタを用いて、低フレームレート映像信号を生成するフィルタリングを行う。【解決手段】入力された映像信号に対して、低フレームレート映像信号を生成するためのフレームレートのダウンサンプリング処理を行う映像フィルタリング方法であって、フィルタリング後の低フレームレート映像信号における符号化対象フレームの発生符号量を算出する符号量算出ステップと、符号化対象フレームと、該符号化対象フレームの時間サンプリング位置に対応するフィルタリング前の映像信号内のフレームとの乖離度の加重和を算出する乖離度算出ステップと、発生符号量と乖離度の加重和とに基づき、フィルタ係数集合の中から、乖離度の加重和を最小化するフィルタ係数の候補を選択し、フィルタ係数の候補の中から、全フレームに対して該乖離度の加重和の累積値を最小化するフィルタ係数を選択するフィルタ係数選択ステップとを有する。【選択図】図１
2018006831.tif 000002
【特許請求の範囲】
【請求項１】
入力された映像信号に対して、低フレームレート映像信号を生成するためのフレームレートのダウンサンプリング処理を行う映像フィルタリング装置が行う映像フィルタリング方法であって、
フィルタリング後の低フレームレート映像信号における符号化対象フレームの発生符号量を算出する符号量算出ステップと、
符号化対象フレームと、該符号化対象フレームの時間サンプリング位置に対応するフィルタリング前の映像信号内のフレームとの乖離度の加重和を算出する乖離度算出ステップと、
前記発生符号量と前記乖離度の加重和とに基づき、フィルタ係数集合の中から、前記乖離度の加重和を最小化するフィルタ係数の候補を選択し、前記フィルタ係数の候補の中から、全フレームに対して該乖離度の加重和の累積値を最小化するフィルタ係数を選択するフィルタ係数選択ステップと
を有する映像フィルタリング方法。
【請求項２】
前記乖離度算出ステップでは、前記乖離度の加重和を求める際に、
フィルタリング後の低フレームレート映像信号における符号化対象フレームと予測フレームの差分値、及び符号化対象フレームと符号化対象フレームの時間サンプリング位置に対応するフィルタリング前の映像信号内のフレームとの差分値の加重和に基づき、前記乖離度に乗じる重み係数を決定する請求項１に記載の映像フィルタリング方法。
【請求項３】
前記乖離度をΦ［ｗｉ，ｐｉ］、ｗｉを第ｉフレームのフィルタ係数、ｐｉをフィルタ位置の補正パラメータ、Ｍを時間フィルタにより生成される映像のフレームレートを決定するパラメータ、δｔをフレーム間隔、ｘを画素位置、ｆ（）、＾ｆ（）（＾はｆの上に付く）を画素値を得る関数としたとき、
【数１】
2018006831.tif 000026
によって前記乖離度を算出する請求項１または２に記載の映像フィルタリング方法。
【請求項４】
入力された映像信号に対して、低フレームレート映像信号を生成するためのフレームレートのダウンサンプリング処理を行う映像フィルタリング装置であって、
フィルタリング後の低フレームレート映像信号における符号化対象フレームの発生符号量を算出する符号量算出部と、
符号化対象フレームと、該符号化対象フレームの時間サンプリング位置に対応するフィルタリング前の映像信号内のフレームとの乖離度の加重和を算出する乖離度算出部と、
前記発生符号量と前記乖離度の加重和とに基づき、フィルタ係数集合の中から、前記乖離度の加重和を最小化するフィルタ係数の候補を選択し、前記フィルタ係数の候補の中から、全フレームに対して該乖離度の加重和の累積値を最小化するフィルタ係数を選択するフィルタ係数選択部と
を備える映像フィルタリング装置。
【請求項５】
コンピュータに、請求項１から３のいずれか一項に記載の映像フィルタリング方法を実行させるための映像フィルタリングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像フィルタリング方法、映像フィルタリング装置及び映像フィルタリングプログラムに関する。
【背景技術】
【０００２】
昨今の半導体技術の進歩を受け、映像撮像機器の映像取得速度が大きく向上している。現状、高速度カメラにより取得された高フレームレート映像の用途は、映像再生時の高画質化と映像解析の高精度化に分類される。前者は、視覚系で検知可能（ディスプレイで表示可能）なフレームレートの上限に迫ることを目的としており、高フレームレート化により滑らかな動きを表現することを目的とする。このため、ディスプレイでのリアルタイム再生を前提としている。
【０００３】
後者は、視覚の検知限を越えた高フレームレート映像を用いることにより、映像解析の高精度化を行うことを目的としている。スロー再生による高速移動物体（スポーツ映像、ＦＡ・検査、自動車等）の解析は代表的な応用例である。これは、映像の入力・出力システムのフレームレートの上限は非対称であることによる。現在、撮像系としては、１００００［ｆｒａｍｅ／ｓｅｃ（ｆｐｓ）］  を超える高フレームレート映像を取得可能な高速度カメラが利用可能である。
【０００４】
一方、現行のディスプレイの上限は１２０−２４０［ｆｒａｍｅ／ｓｅｃ］である。このため、こうした高速度カメラで撮影された映像は、スロー再生用途で用いられる。
【０００５】
なお、先行技術として、毎秒３０フレームまたは毎秒６０フィールドで撮影された動画像を、動きに不自然さを感じさせない毎秒４８フレームの動画像に変換する技術が知られている。これは、毎秒３０フレームのプログレッシブ画像のフレームの一部を２回連続することにより、動きに不自然さを感じさせない毎秒４８フレームの画像を生成するものである。または、毎秒６０フィールドのインタレース画像を毎秒６０フレームのプログレッシブ画像に変換し、フレームの１部を抜かすことにより、動きに不自然さを感じさせない毎秒４８フレームの画像を生成するものである（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２０１１６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、視覚の検知限を越えた高フレームレート映像を用いることにより、映像符号化に対して親和性の高いリアルタイム再生用の映像信号を生成できる可能性がある。こうした高フレームレート映像には、時間方向に高密度でサンプリングされたフレーム群を含んでおり、撮影対象の時間軸方向の情報が高い時間分解能で取得されている。そこで、高密度時間サンプリングされたフレーム群（例：１０００Ｈｚ）  を用いて、リアルタイム再生用途の映像（例：３０Ｈｚ）を生成すれば、高い時間分解能で映像の生成を制御可能となる。
【０００８】
しかし、発生符号量の低減を目的とした映像符号化の前処理に関する従来手法は、再生フレームレートで映像を取得することが前提となっていた。このため、再生フレームレートより高い時間分解能でフレームをサンプリングすることは、対象外であった。
【０００９】
単純なフレーム間引き処理では、時間方向のエイリアシングに起因する画質劣化が問題となる。こうした問題を回避するためには、時間軸方向の帯域制限フィルタリングが必要である。一方、動き補償フレーム間予測を用いた符号化器の場合、時間方向のエイリアシングの低減は、予測誤差の低減とは直接的には結びつかない。
【００１０】
あわせて、高密度にサンプルされたフレームを十分に活用しきれておらず、時間フィルタとしての自由度が制約されていた。従来の３０ｆｐｓ，６０ｆｐｓのフレームレートの映像の場合、フィルタリングのための十分なサンプル（即ち、フレーム）が確保できないため、フィルタの特性を高精度に近似することが困難であった。例えば、６０ｆｐｓの映像信号をフィルタリングして３０ｆｐｓの映像信号を生成する場合、フィルタリングの対象フレームに重複を許さない条件下では、フィルタリングの対象となるフレームは２フレームに限定される。一方、高フレームレート映像の場合、フィルタ設計の自由度は拡張される。
【００１１】
例えば、１０００ｆｐｓの映像信号をフィルタリングして、６２．５ｆｐｓの映像信号を生成する場合、フィルタリングの対象フレームに重複を許さない条件下であっても、１６  フレームをフィルタリングの対象とすることができる。つまり、高フレームレート映像を入力してフィルタリングにより低フレームレート映像を得る場合、フィルタリング設計の自由度が高まる。従って、この自由度の高さを利用することで、符号化効率向上を実現できる可能性があることから、時間方向フィルタに関して、符号化効率の観点から最適化の余地があることになる。
【００１２】
本発明は、このような事情に鑑みてなされたもので、時間フィルタリングの適性を保持した上で、演算量を低減することが可能になる映像フィルタリング方法、映像フィルタリング装置及び映像フィルタリングプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の一態様は、入力された映像信号に対して、低フレームレート映像信号を生成するためのフレームレートのダウンサンプリング処理を行う映像フィルタリング装置が行う映像フィルタリング方法であって、フィルタリング後の低フレームレート映像信号における符号化対象フレームの発生符号量を算出する符号量算出ステップと、符号化対象フレームと、該符号化対象フレームの時間サンプリング位置に対応するフィルタリング前の映像信号内のフレームとの乖離度の加重和を算出する乖離度算出ステップと、前記発生符号量と前記乖離度の加重和とに基づき、フィルタ係数集合の中から、前記乖離度の加重和を最小化するフィルタ係数の候補を選択し、前記フィルタ係数の候補の中から、全フレームに対して該乖離度の加重和の累積値を最小化するフィルタ係数を選択するフィルタ係数選択ステップとを有する映像フィルタリング方法である。
【００１４】
本発明の一態様は、前記映像フィルタリング方法であって、前記乖離度算出ステップでは、前記乖離度の加重和を求める際に、フィルタリング後の低フレームレート映像信号における符号化対象フレームと予測フレームの差分値、及び符号化対象フレームと符号化対象フレームの時間サンプリング位置に対応するフィルタリング前の映像信号内のフレームとの差分値の加重和に基づき、前記乖離度に乗じる重み係数を決定する。
【００１５】
本発明の一態様は、前記映像フィルタリング方法であって、前記乖離度をΦ［ｗｉ，ｐｉ］、ｗｉを第ｉフレームのフィルタ係数、ｐｉをフィルタ位置の補正パラメータ、Ｍを時間フィルタにより生成される映像のフレームレートを決定するパラメータ、δｔをフレーム間隔、ｘを画素位置、ｆ（）、＾ｆ（）（＾はｆの上に付く）を画素値を得る関数としたとき、後述する式（６）によって前記乖離度を算出する。
【００１６】
本発明の一態様は、入力された映像信号に対して、低フレームレート映像信号を生成するためのフレームレートのダウンサンプリング処理を行う映像フィルタリング装置であって、フィルタリング後の低フレームレート映像信号における符号化対象フレームの発生符号量を算出する符号量算出部と、符号化対象フレームと、該符号化対象フレームの時間サンプリング位置に対応するフィルタリング前の映像信号内のフレームとの乖離度の加重和を算出する乖離度算出部と、前記発生符号量と前記乖離度の加重和とに基づき、フィルタ係数集合の中から、前記乖離度の加重和を最小化するフィルタ係数の候補を選択し、前記フィルタ係数の候補の中から、全フレームに対して該乖離度の加重和の累積値を最小化するフィルタ係数を選択するフィルタ係数選択部とを備える映像フィルタリング装置である。
【００１７】
本発明の一態様は、コンピュータに、前記映像フィルタリング方法を実行させるための映像フィルタリングプログラムである。
【発明の効果】
【００１８】
本発明によれば、映像符号化処理における時間フィルタを用いて、低フレームレート映像信号を生成するフィルタリングを行う際に、時間フィルタリングの適性を保持した上で、演算量を低減することが可能になるという効果が得られる。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態による映像フィルタリング装置の構成を示すブロック図である。
【図２】図１に示す映像フィルタリング装置の動作を示すフローチャートである。
【図３】図２に示すステップＳ３の詳細な動作を示すフローチャートである。
【図４】図３に示すステップＳ２０の詳細な動作を示すフローチャートである。
【図５】図３に示すステップＳ２１の詳細な動作を示すフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明の一実施形態による映像フィルタリング装置を説明する。はじめに、高い時間解像度で映像が取得できた前提のもと、同映像を用いて符号化に適した映像を生成するための時間フィルタ設定処理について説明する。なお、以下では表記の簡略化のため、各フレームを一次元信号として表す。
【００２１】
（２Δ＋１）タップの時間フィルタにより生成された第ｉフレームを次式で表す。
【数１】
2018006831.tif 000003
ｉはダウサンプリング後のフレームを指定するインデックスであり、非負の整数値をとる。時間フィルタの入力信号のフレーム間隔をｔとして、各フレームは、ｔ＝ｊδｔ（ｊ＝０，１，・・・）  においてサンプリングされる。
【００２２】
ｆ（ｘ，ｔ）（ｘ＝０，・・・，Ｘ−１）は第ｔフレームの位置ｘにおける画素値である。ｗｉ［ｊ］は参照フレームに対するフィルタ係数であり、次式の関係を満足する。
【数２】
2018006831.tif 000004
【００２３】
また、ｗｉはフィルタ係数を要素とするベクトルｗｉ＝（ｗｉ［−Δ］，・・・，ｗｉ［Δ］）であり、係数ベクトルと呼ぶ。ｐｉ，ｐｉ−１はフィルタ位置を補正するパラメータである。Ｍは時間フィルタにより生成される映像のフレームレートを決定するパラメータであり、式（１）の場合、時間フィルタの出力する映像のフレームレートは１／Ｍδｔである。なお、本実施形態では２Δ＋１≦Ｍを前提とする。式（１）の特殊形として、フィルタ係数を一定値ｗ［ｉ］＝１／（２Δ＋１）とするフィルタを平均フィルタと呼ぶ。
【００２４】
平均フィルタにより出力される第ｉフレームは次式となる。
【数３】
2018006831.tif 000005
係数ベクトルとして選択する候補ベクトル（以後、係数候補ベクトルと呼ぶ）として、Ｎ種類の係数候補ベクトルγｎ＝（γｎ［−Δ］，・・・，γｎ［Δ］），（ｎ＝０，・・・，Ｎ−１）とする。さらに、これらのフィルタ係数を施す位置として、Ｐ通りの位置を選択可能とする。各フレームでは、これらＮ×Ｐ通りのＮ種類の係数候補ベクトルの中から、符号化フレームを生成するために最適な係数候補ベクトルを選択する。以下では、係数候補ベクトルの集合を辞書と呼び、表記を簡略する為に、Ｎ種類の係数候補ベクトルからなる辞書をΓＮ＝（γ０，・・・，γＮ−１）として表すこととする。
【００２５】
［フィルタ係数の最適化規準］
時間フィルタ設計における最適化規範として、時間フィルタにより生成されたフレームに対する発生符号量を用いる。同発生符号量は、動き補償予測（ＭＣ予測）を伴う可逆符号化器による得られるものとする。Ｘ画素からなるフレームをＫ分割して、分割区間毎に動き補償フレーム間予測を行う場合を考える。
【００２６】
フレーム＾ｆ（ｘ，ｉＭδｔ，ｗｉ）（＾は、後に続く文字の上に付く、以下同様）をサイズＸ／Ｋの区間Ｂ［ｋ］（ｋ＝０，１，・・・，Ｋ−１）に分割し、フレーム＾ｆ（ｘ，（ｉ−１）Ｍδｔ，ｗｉ−１）を参照フレームとして、各区間Ｂ［ｋ］（ｋ＝０，１，・・・，Ｋ−１）に対して動き補償（変位量ｄｉ＝（ｄｉ［０］，・・・，ｄｉ［Ｋ−１］）を行った場合、そのフレーム内の動き補償フレーム間予測誤差（以下、単に予測誤差と略記）は次のように表現できる。
【数４】
2018006831.tif 000006
【００２７】
この動き補償フレーム間予測誤差を符号化対象とする符号化器の発生符号量を以下のように表す。
【数５】
2018006831.tif 000007
ここで、Ｒｅ（ｅｉ（０，ｗｉ，ｗｉ−１，ｐｉ，ｐｉ−１），・・・，ｅｉ（Ｘ−１，ｗｉ，ｗｉ−１，ｐｉ，ｐｉ−１））は動き補償フレーム間予測誤差に対する符号量、Ｒｄ（ｄｉ［０］，・・・，  ｄｉ［Ｋ  −  １］）は推定変位量ｄｉ［０］，・・・，ｄｉ［Ｋ−１］に対する符号量、Ｒｈは符号化器が生成するヘッダー情報の符号量である。前述の通り、可逆符号化器の発生符号量を用いるため、動き補償フレーム間予測誤差は符号化対象フレームおよび参照フレームのみに依存する。従って、式（５）における発生符号量Ψ（）は、変位量およびヘッダ情報が定まれば、第ｉフレームに対するフィルタ係数ベクトルｗｉフィルタ位置の補正パラメータｐｉおよび第ｉ−１フレームに対するフィルタ係数ベクトルｗｉ−１、フィルタ位置の補正パラメータｐｉ−１により定まる。
【００２８】
次に、フィルタリングにより生成された画像とサンプリングされた画像との乖離度として、次式の値を評価する。
【数６】
2018006831.tif 000008
【００２９】
上記２種類の値の加重和として、次式の値をフィルタ設計の評価尺度とする。
【数７】
2018006831.tif 000009
上記の尺度を最小化するようにフィルタを設計する。Ψ［ｗｉ，ｗｉ−１，ｐｉ，ｐｉ−１］を考慮することで、フィルタリング後の発生符号量を低減する効果を期待できる。また、Φ［ｗｉ，ｐｉ］の項を考慮することで、フィルタリング後の画像がサンプリングされた現画像と乖離することを抑止する効果が期待できる。
【００３０】
式（７）のλは以下にて設定する。
【数８】
2018006831.tif 000010
から、λを以下として定める。
【数９】
2018006831.tif 000011
【００３１】
このとき、
【数１０】
2018006831.tif 000012
および
【数１１】
2018006831.tif 000013
である。ここで、αは近似を補正する為の制御係数であり、外部から与えられる。
【００３２】
上記２つの式を式（９）に代入して、以下を得る。
【数１２】
2018006831.tif 000014
【００３３】
［フィルタ係数の最適化］
発生符号量を最小化するフレームを生成するためには、式（５）の発生符号量をコスト関数として最小化問題を解き、次式を満たすＪ／Ｍ組のフィルタ係数ベクトルを求める必要がある。
【数１３】
2018006831.tif 000015
Ｎ×Ｐ種類のフィルタ係数ベクトルを候補ベクトルとする場合、フィルタ係数ベクトルの取り得る組合せはＮＰＪ／Ｍ通りとなり、最適なフィルタ係数ベクトル選択は、指数オーダの計算量が必要になる。このため、最適な組み合わせ（ｗ＊０，・・・，ｗ＊Ｊ／Ｍ−１，ｐ＊０，・・・，ｐ＊Ｊ／Ｍ−１）を総当りで探索するのは、計算量の観点から現実的ではない。
【００３４】
Ψ［ｗｉ，ｗｉ−１，ｐｉ，ｐｉ−１］がｗｉ，ｐｉおよびｗｉ−１，ｐｉ−１のみに依存することに着目すれば、式（１３）は単純マルコフ過程における最適化問題として定式化できる。同最適化問題は動的計画法に基づき、最適解を多項式オーダの計算量で求めることが可能である。以下、動的計画法を用いた解法を示す。まず、ｗｉ，ｐｉ（ｉ＝１，・・・，Ｊ／Ｍ−１）に対して、次式のＳｉ（ｗｉ，ｐｉ）を定義する。
【数１４】
2018006831.tif 000016
【００３５】
Ｓｉ（ｗｉ，ｐｉ）は第ｉステージにおいて、ｐｉシフトさせたフィルタ係数ｗｉによりフレームを生成した状態に至る経路において最適なフィルタ係数ベクトルを用いた場合のコストの総和である。ここで、ｗｉ，ｐｉを固定した場合、Ψ［ｗｉ，ｗｉ−１，ｐｉ，ｐｉ−１］がｗｉ−１，ｐｉ−１のみに依存することに着目すると、
Ｓｉ（ｗｉ，ｐｉ）  は次式のような漸化式として表せる。
【数１５】
2018006831.tif 000017
【００３６】
なお、Ｓｉ−１（ｗｉ−１，ｐｉ−１）は、同様の漸化式を用いて算出済みであり、Ｓｉ（ｗｉ，ｐｉ）の算出時には参照可能な値としてレジスタに格納済みとする。この場合、式（１５）  の漸化関係より、Ｓｉ（ｗｉ，ｐｉ）の算出には、Ψ［ｗｉ，ｗｉ−１，ｐｉ，ｐｉ−１］＋Ｓｉ−１（ｗｉ−１，ｐｉ−１）を最小化する辞書ΓＮの候補ベクトル、シフト量ｐｉを選択すれば十分である。ｗｉに対する候補ベクトルのインデックスｎｉとすると、各ｎｉに対して、式（１５）の最小値を与える候補ベクトルのインデックスを＾ｎｉ−１（ｎｉ，ｐｉ）として格納し、同様に、シフト量を＾ｐｉ−１（ｎｉ，ｐｉ）として格納し、後段の処理において参照可能にしておく。
【００３７】
式（１５）の漸化式を再帰的に用いることで、式（１３）の最小化問題は次式のように表せる。
【数１６】
2018006831.tif 000018
このように、式（１５）の漸化式を用いる方法であれば、式（１３）の最適解（ｗ＊０，・・・，ｗ＊Ｊ／Ｍ−１，ｐ＊０，・・・，ｐ＊Ｊ／Ｍ−１）は、（ＮＰ）２Ｊ／Ｍ通りの中から最適解を探索する問題に帰着でき、多項式オーダの計算量で算出することが可能である。
【００３８】
ΣＪ／Ｍ−１ｉ＝１Ψ［ｗｉ，ｗｉ−１，ｐｉ，ｐｉ−１］の最小値を求めた後、最適解（ｗ＊０，・・・，ｗ＊Ｊ／Ｍ−１，ｐ＊０，・・・，ｐ＊Ｊ／Ｍ−１）は以下のバックトラック過程により得られる。式（１７）を最小化するｗＪ／Ｍ−１，ｐＪ／Ｍ−１を次式の通り、ｗ＊Ｊ／Ｍ−１，ｐ＊Ｊ／Ｍ−１とおく。
【数１７】
2018006831.tif 000019
【００３９】
ｗ＊Ｊ／Ｍ−１を表す候補ベクトルのインデックスをｎＪ／Ｍ−１とする。第Ｊ／Ｍ−１フレームの候補ベクトルのインデックスをｎＪ／Ｍ−１、シフト量をｐＪ／Ｍ−１とした場合の第Ｊ／Ｍ−２  フレームに対する最適な候補ベクトルのインデックス、および同フレームに対するシフト量は＾ｎＪ／Ｍ−２（ｎＪ／Ｍ−１，ｐＪ／Ｍ−１），＾ｐＪ／Ｍ−２（ｎＪ／Ｍ−１，ｐＪ／Ｍ−１）として格納されている。
【００４０】
そこで、第Ｊ／Ｍ−２フレームのフィルタ係数ベクトルをｗ＊Ｊ／Ｍ−２＝γ＾ｎＪ／Ｍ−２（ｎＪ／Ｍ−１，ｐＪ／Ｍ−１），ｐ＊Ｊ／Ｍ−２＝＾ｐＪ／Ｍ−２（ｎＪ／Ｍ−１，ｐＪ／Ｍ−１）として同定する。以下、同様の参照処理をｗ＊Ｊ／Ｍ−３＝γ＾ｎＪ／Ｍ−３（ｎＪ／Ｍ−２，ｐＪ／Ｍ−２），ｐ＊Ｊ／Ｍ−３＝＾ｐＪ／Ｍ−３（ｎＪ／Ｍ−２，ｐＪ／Ｍ−２），・・・，ｗ＊０＝γ＾ｎ０（ｎ１，ｐ１），ｐ＊０＝＾ｐ０（ｎ１，ｐ１）として繰り返す。
【００４１】
［フィルタ係数の辞書の更新］
フィルタ係数の辞書は、以下の反復処理により、収束条件を満たすまで更新し、辞書内の候補ベクトルを構成する。［フィルタ係数の最適化］のアルゴリズムにより、与えられた辞書を用いてフィルタ係数の最適解を求める。求められた最適解Ｗ＊ｉ（ｉ＝０，・・・，Ｊ／Ｍ−１）に対して、辞書内の候補ベクトルのヒストグラムｈ［ｎ］（ｎ＝０，・・・，Ｎ−１）を算出する。ここで、ｈ［ｎ］（ｎ＝０，・・・，Ｎ−１）は、辞書内の候補ベクトルγｎが最適解として選択された度数を格納するものとする。
【００４２】
上記の辞書内の候補ベクトルの度数に基づき、以下の方針で辞書の更新を行う。最適解として選択された度数の低い候補ベクトルが辞書内に存在する場合、辞書から削除する。具体的には、ｈ［ｎ］≦θｌを満たす候補ベクトルは、辞書から削除する。ここで、θｌは、外部から与えられる閾値である。
【００４３】
最適解として選択された度数の高いの候補ベクトルが辞書内に存在する場合は、同候補ベクトルに修正を加えたフィルタ係数ベクトルを辞書に追加する。具体的には、ｈ［ｎ］≧θｕを満たす候補ベクトルに対して、ここで、θｕは、外部から与えられる閾値である。候補ベクトルの修正は以下の通りである。
【００４４】
［候補ベクトルの修正方法１］
候補ベクトルγｎの要素γｎ［ｊ］（ｊ＝−Δ，・・・，Δ−１）における最大値を同定する。
【数１８】
2018006831.tif 000020
【００４５】
γｎ［＾ｊ］をαγｎ［＾ｊ］へ修正する。ここで、α＜１のパラメータとして設定される。さらに、＾ｊ＝−Δ＋１，・・・，Δ−２の場合、γｎ［＾ｊ＋１］をγｎ［＾ｊ＋１］＋α／２γｎ［＾ｊ］に修正し、γｎ［＾ｊ−１］をγｎ［＾ｊ−１］＋α／２γｎ［＾ｊ］に修正する。＾ｊ＝Δ−１の場合、γｎ［＾ｊ−１］＋αγｎ［＾ｊ］  に修正する。＾ｊ＝−Δの場合、γｎ［＾ｊ＋１］＋αγｎ［＾ｊ］に修正する。
【００４６】
上述の候補ベクトルに対する削除、修正、追加を施して、辞書内の候補ベクトルを更新する。更新後の辞書を用いて、［フィルタ係数の最適化］  のアルゴリズムに基づき、最適なフィルタ係数、および同フィルタ係数を用いた場合の発生符号量を求める。
【００４７】
辞書の更新前後を比較して、最適なフィルタ係数を用いた場合の発生符号量の差が十分小さくなった（所与の閾値以下）時点で、更新を終了する。なお、辞書内の候補ベクトルの本数が、予め定めた上限を超える場合、候補ベクトルの追加は中止し、更新処理を終了する。
【００４８】
次に、フレームレートダウンサンプリング処理の動作について説明する。以下の説明における左端の数字は、処理のステップを識別するステップ番号である。「ｆｏｒ」は、後に続く条件を満たしている間繰り返し処理を行うことを意味する。
１．  撮影された映像信号、そのフレーム数Ｊ、およびそのフレームレートを読み込む
２．  ダウンサンプリング比Ｍを読み込む
３．  ｆｏｒ  ｉ＝１，・・・，Ｊ／Ｍ−１
４．      ｆｏｒ  Ｗｉ＝Ψ０，・・・，ΨＮ−１
５．          ｆｏｒ  ｐｉ＝０，・・・，Ｐ−１
６．              ｆｏｒ  Ｗｉ−１＝Ψ０，・・・，ΨＮ−１
７．                  ｆｏｒ  ｐｉ−１＝０，・・・，Ｐ−１
８．                      参照フレームを￣ｆ（ｘ−ｄｉ［ｋ］，（ｉ−１）Ｍδｔ，Ｗｉ−１，  ｐｉ−１）とする場合の￣ｆ（ｘ，ｉＭδｔ，Ｗｉ，ｐｉ）（￣は後に続く文字の上に付く、以下同様）に対する動き補償予測誤差を最小化する動きベクトルを求める。動きベクトルの求め方は、外部から与えられる。例えば、探索範囲内の候補をしらみつぶしにあたる全探索法が適用できる。同動きベクトルを用いた場合の動き補償予測誤差をσ２ｉ［Ｗｉ，Ｗｉ−１，ｐｉ，ｐｉ−１］に格納する。
９．                      σ２ｉ［Ｗｉ，Ｗｉ−１，ｐｉ，ｐｉ−１］＋Ｓｉ−１（Ｗｉ−１，ｐｉ−１）の値を算出する。（ｉ＝１の場合は、σ２ｉ［Ｗ１，Ｗ０，ｐ１，ｐ０］の値を算出する。）
１０．            σ２ｉ［Ｗｉ，Ｗｉ−１，ｐｉ，ｐｉ−１］＋Ｓｉ−１（Ｗｉ−１，ｐｉ−１）（Ｗｉ−１＝Ψ０，・・・，ΨＮ−１，ｐｉ−１＝０，・・・，Ｐ−１）の中での最小値をＳｉ（Ｗｉ，ｐｉ）に格納する。（ｉ＝１の場合は、σ２１［Ｗ１，Ｗ０，ｐ１，ｐ０］（Ｗ０  ＝  Ψ０，・・・，ΨＮ−１，ｐ０＝０・・・，Ｐ−１）の中での最小値をＳ１（Ｗ１，ｐ１）に格納する。）
１１．            Ｓｉ（Ｗｉ，ｐｉ）を与えるＷｉ−１，ｐｉ−１を＾Ｗｉ−１（Ｗｉ，ｐｉ），＾ｐｉ−１（Ｗｉ，ｐｉ）に格納する。
１２．  ＳＪ／Ｍ−１（ＷＪ／Ｍ−１，ｐＪ／Ｍ−１）を最小化するＷＪ／Ｍ−１，ｐＪ／Ｍ−１をＷ＊Ｊ／Ｍ−１，ｐ＊Ｊ／Ｍ−１に格納する。
１３．  ｆｏｒ  ｉ＝Ｊ／Ｍ−２，・・・，１
１４．      Ｗ＊ｉ−１＝＾Ｗｉ−１（Ｗｉ，ｐｉ）を読み出す。
１５．      ｐ＊ｉ−１＝＾ｐｉ−１（Ｗｉ，ｐｉ）を読み出す。
１６．  ダウンサンプリング後の第ｉフレームとして、￣ｆ（ｘ，ｉＭδｔ，Ｗ＊ｉ，ｐｉ  ）（ｘ＝０，・・・，Ｘ−１）を格納する。
【００４９】
図１は同実施形態の映像フィルタリング装置の構成を示すブロック図である。この図において、符号１は、原画像を記憶する原画像記憶部である。符号２は、辞書を記憶する辞書記憶部である。符号３は、符号化画像を生成する符号化画像生成部である。符号４は、生成された画像を記憶する生成画像記憶部である。符号５は、参照画像を選択する参照画像選択部である。符号６は、画像の符号化を行う符号化処理部である。符号７は、主観歪量を算出する主観歪量算出部である。
【００５０】
符号８は、重み係数を算出する重み係数算出部である。符号９は、最適累積コストを算出する最適累積コスト算出部である。符号１０は、算出した累積コストを記憶する累積コスト記憶部である。符号１１は、フィルタ係数インデックスを記憶するフィルタ係数インデックス記憶部である。符号１２は、最終レベルの判定を行う最終レベル判定部である。符号１３は、フィルタ係数を更新するフィルタ係数更新部である。符号１４は、フィルタ係数の更新を行うか否かを判定するフィルタ係数更新判定部である。符号１５は、収束の判定を行う収束判定部である。符号１６は、フィルタ処理を行うフィルタ処理部である。
【００５１】
次に、図１に示す映像フィルタリング装置の動作を説明する。図２は、図１に示す映像フィルタリング装置の動作を示すフローチャートである。まず、映像フィルタリング装置は外部からフィルタリング対象となる映像データと、フィルタリング後のフレームレートを決定するパラメータＭを読み込む（ステップＳ１）。
【００５２】
次に、フィルタ係数更新部１２は、フィルタリングに用いるフィルタ係数の辞書を読み込む（ステップＳ２）。続いて、映像フィルタリング装置は、フィルタリング対象となる映像データ、フィルタリング後のフレームレートを決定するパラメータＭ、フィルタ係数の辞書を入力として読み込み、符号化フレーム毎に最適なフィルタ係数を算出する（ステップＳ３）。ステップＳ３の具体的な処理は、後述する。
【００５３】
次に、フィルタ係数更新部１２は、フィルタリング対象となる映像データ、フィルタリング後のフレームレートを決定するパラメータＭ、フィルタ係数の辞書を入力として読み込み、辞書内の候補ベクトルを更新する（ステップＳ４）。
【００５４】
次に、映像フィルタリング装置は、更新されたフィルタ係数が無いか否かを判定する（ステップＳ５）。ステップＳ４の処理の結果、辞書内に更新された候補ベクトルが無い場合、ステップＳ７の処理に移り、それ以外の場合、ステップＳ６の処理に移る。
【００５５】
次に、フィルタ係数更新判定部１３は、更新前後の辞書を用いた発生符号量の低減率が閾値未満か否かを判定し（ステップＳ６）、
【数１９】
2018006831.tif 000021
となる場合、ステップＳ７の処理に移り、それ以外の場合、ステップＳ８の処理に移る。
【００５６】
次に、フィルタ処理部１５は、フィルタリング対象となる映像データ、フィルタリング後のフレームレートを決定するパラメータＭ、フィルタ係数の辞書を入力として読み込み、辞書内のフィルタ係数を用いて、パラメータＭで指定されたフレームレートとなるよう映像データを時間方向にフィルタリングし、フィルタリング後の映像データを出力する（ステップＳ７）。
【００５７】
一方、発生符号量の低減率が閾値未満でない場合、辞書記憶部２は、更新されたフィルタ係数を含む候補ベクトルを読み込み、辞書に追加し、更新した辞書を出力し（ステップＳ８）、ステップＳ２へ戻って処理を繰り返す。
【００５８】
次に、図３を参照して、図２に示すステップＳ３の詳細な動作を説明する。図３は、図２に示すステップＳ３の詳細な動作を示すフローチャートである。まず、映像フィルタリング装置は、フィルタリング対象となる映像データ、フィルタリング後のフレームレートを決定するパラメータＭ、フィルタ係数の辞書を読み込む（ステップＳ１１）。
【００５９】
次に、映像フィルタリング装置は、ステップＳ１２〜Ｓ２８までの処理を符号化対象フレームを示すインデックスｉ＝０，・・・，Ｊ／Ｍ−１に対して繰り返す（ステップＳ１２）。続いて、映像フィルタリング装置は、ステップＳ１３〜Ｓ２７までの処理を符号化対象フレームのフィルタ係数ｗｉ∈ΓＮに対して繰り返す（ステップＳ１３）。
【００６０】
次に、映像フィルタリング装置は、入力映像データを読み込み、フィルタ係数ｗｉを用いて、時間フィルタリング処理を行い、符号化対象フレームを生成する（ステップＳ１４）。そして、映像フィルタリング装置は、ステップＳ１５〜Ｓ２６までの処理を参照フレームのフィルタ係数ｗｉ−１∈ΓＮに対して繰り返す（ステップＳ１５）。
【００６１】
次に、フィルタ係数ｗｉ−１を用いた場合の第ｉ−１ステージにおける累積コストＳｉ（ｂｓｗｉ−１）を読み込む（ステップＳ１６）。続いて、参照画像選択５は、フィルタ係数ｗｉ−１を用いて生成した第ｉ−１ステージでの符号化対象フレームを第ｉステージでの参照フレームとして読み込む（ステップＳ１７）。
【００６２】
次に、映像フィルタリング装置は、第ｉステージの原フレームｆ（ｘ，（ｉＭ＋ｋ）δｔ）（ｋ＝０，・・・，Ｍ−１）を読み込む（ステップＳ１８）。
【００６３】
次に、符号化処理部６は、ステップＳ１４で生成した符号化対象フレーム、ステップＳ１７で読み込んだ参照フレームを入力として読込み、符号化処理を行い、発生符号量Ψ［ｗｉ，ｗｉ−１］を算出する（ステップＳ１９）。
【００６４】
次に、主観歪量算出部７は、第ｉステージ内の原フレームに対する符号化対象フレームの乖離量を算出する（ステップＳ２０）。詳細は、後述する。続いて、重み係数算出部８は、ステップＳ２０で算出する乖離量に対する重み係数を算出する（ステップＳ２１）。詳細は、後述する。
【００６５】
次に、最適累積コスト算出部９は、参照フレームのフィルタ係数を数ｗｉ−１とし、符号化対象フレームのフィルタ係数を数ｗｉとした場合の第ｉステージにおける累積コストをΨ［ｗｉ，ｗｉ−１］＋Ｓｉ−１（ｗｉ−１）として算出する（ステップＳ２２）。
【００６６】
次に、最適累積コスト算出部９は、算出した累積コストとＳｉ（ｗｉ）の暫定値を比較して、前者が後者よりも小さい場合、ステップＳ２４の処理に移り、そうでない場合、ステップＳ２６の処理に移る（ステップＳ２３）。
【００６７】
次に、最適累積コスト算出部９は、Ｓｉ（ｗｉ）の暫定値を先に算出した累積コストにて更新する。ステップＳ２３、Ｓ２４の処理は、式（１５）を実現するための処理である（ステップＳ２４）。そして、フィルタ係数インデックス記憶部１１は、フィルタ係数をｗｉとした場合に、第ｉステージの累積コストの暫定最小値を与える参照フレームのフィルタ係数の候補ベクトルのインデックスを記憶する（ステップＳ２５）。
【００６８】
次に、重み係数算出部８は、第Ｊ／Ｍ−１ステージにおける累積コストを最小化するフィルタ係数として、式（１７）に示すｗ＊Ｊ／Ｍ−１を算出する（ステップＳ２９）。
【００６９】
次に、映像フィルタリング装置は、ステップＳ３１の処理を符号化対象フレームを示すインデックスｉ＝Ｊ／Ｍ−２，・・・，１に対して繰り返す（ステップＳ３０）。
【００７０】
次に、ｗ＊ｉを表す候補ベクトルのインデックスをｎｉとすると、第ｉフレームの候補ベクトルのインデックスをｎｉとした場合の第ｉ−１フレームに対する最適な候補ベクトルのインデックスは＾ｎｉ−１（ｎｉ）として格納されている。そこで、最適累積コスト算出部８は、フィルタ係数をｗ＊ｉを表す候補ベクトルのとした場合に、第ｉステージの最小累積コストを与える参照フレームのフィルタ係数（第ｉ−１フレームのフィルタ係数）をｗ＊ｉ−１＝γ＾ｎｉ−１（ｎｉ）として同定する（ステップＳ３１）。
【００７１】
次に、図４を参照して、図３に示すステップＳ２０の詳細な動作を説明する。図４は、図３に示すステップＳ２０の詳細な動作を示すフローチャートである。まず、主観歪量算出部７は、第ｉステージの符号化対象フレーム＾ｆ（ｘ，ｉＭδｔ，ｗｉ，ｐｉ）を読み出す（ステップＳ４１）。そして、主観歪量算出部７は、ステップＳ４２〜Ｓ４６までの処理を原フレームを指定するインデックスｋ＝０，・・・，Ｍ−１に対して繰り返す（ステップＳ４２）。
【００７２】
次に、主観歪量算出部７は、第ｉステージ内の第ｋ番目の原フレームｆ（ｘ，（ｉＭ＋ｋ）δｔ）を読み出す（ステップＳ４３）。続いて、主観歪量算出部７は、符号化対象フレームと原フレームとの乖離量として、以下の二乗誤差を算出する（ステップＳ４４）。
【数２０】
2018006831.tif 000022
【００７３】
次に、主観歪量算出部７は、符号化対象フレームとステージ内の原フレームとの乖離量の累積和を算出する（ステップＳ４５）。
Ｓ＝Ｓ＋ｓｋ
ステップＳ４２の繰返し処理の最終ステップにおいて、式（６）の値が求まる。
【００７４】
次に、図５を参照して、図３に示すステップＳ２１の詳細な動作を説明する。図５は、図３に示すステップＳ２１の詳細な動作を示すフローチャートである。まず、主観歪量算出部７は、第ｉステージの符号化対象フレーム＾ｆ（ｘ，ｉＭδｔ，ｗｉ，ｐｉ）を読み出す（ステップＳ５１）。続いて、主観歪量算出部７は、第ｉステージの参照フレーム（ＦＥ２−０７で読込）による予測フレーム＾ｆ（ｘ−ｄｉ［ｋ］，（ｉ−１）Ｍδｔ，ｗｉ−１，ｐｉ−１）を読み出す（ステップＳ５２）。
【００７５】
次に、主観歪量算出部７は、符号化対象フレームと予測フレームとの差分和を算出する（ステップＳ５３）。
【数２１】
2018006831.tif 000023
【００７６】
次に、主観歪量算出部７は、ステップＳ５４〜Ｓ５８までの処理を原フレームを指定するインデックスｋ＝０，・・・，Ｍ−１に対して繰り返す（ステップＳ５４）。そして、主観歪量算出部７は、第ｉステージ内の第ｋ  番目の原フレームｆ（ｘ，（ｉＭ＋ｋ）δｔ）  を読み出す（ステップＳ５５）。主観歪量算出部７は、符号化対象フレームと原フレームとの差分和として、以下を算出する（ステップＳ５６）。
【数２２】
2018006831.tif 000024
【００７７】
次に、主観歪量算出部７は、符号化対象フレームとステージ内の原フレームとの差分和の累積値を算出する（ステップＳ５７）。
Ｓ＝Ｓ＋ｓｋ
ステップＳ５４の繰返し処理の最終ステップにおいて、次式の値が求まる。
【数２３】
2018006831.tif 000025
【００７８】
次に、主観歪量算出部７は、制御係数αを読み込む（ステップＳ５９）。そして、主観歪量算出部７は、制御係数Ｒα、ステップＳ５７で求めた値、ステップＳ５３で求めた値を読み込み、制御係数ＲαとステップＳ５７で求めた値を乗じ、さらに、ステップＳ５３で求めた値で除算した結果を出力する（ステップＳ６０）。この出力は、式（１２）の値である。
【００７９】
以上説明したように、高密度にサンプルされた高フレームレート映像信号に対して、時間フィルタにより得られる低フレームレート映像信号を入力とする映像符号化処理において、同低フレームレート映像信号の全フレームの符号化効率を考慮した形で、低フレームレート映像信号を生成することができる。この構成によれば、係数ベクトルの辞書の動的更新を伴う時間フィルタリングにおいて、フィルタ係数の位置シフト量を適切に抑止可能となる共に、符号化効率の向上の観点から適切なフィルタ係数を映像に応じて設定可能となり、フィルタリング後の映像に対する主観画質の保持と発生符号量の低減が可能となる。
【００８０】
前述した実施形態における映像フィルタリング装置の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【００８１】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【００８２】
映像符号化処理における時間フィルタを用いて、低フレームレート映像信号を生成するフィルタリングを行うことが不可欠な用途にも適用できる。
【符号の説明】
【００８３】
１・・・原画像記憶部、２・・・辞書記憶部、３・・・符号化画像生成部、４・・・生成画像記憶部、５・・・参照画像選択部、６・・・符号化処理部、７・・・主観歪量算出部、８・・・重み係数算出部、９・・・最適累積コスト算出部、１０・・・累積コスト記憶部、１１・・・フィルタ係数インデックス記憶部、１２・・・最終レベル判定部、１３・・・フィルタ係数更新部、１４・・・フィルタ係数更新判定部、１５・・・収束判定部、１６・・・フィルタ処理部
【図１】
2018006831.tif 000027
【図２】
2018006831.tif 000028
【図３】
2018006831.tif 000029
【図４】
2018006831.tif 000030
【図５】
2018006831.tif 000031