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