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