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