(57)【要約】【課題】過完備な基底から構成される辞書の生成におけるクラス分類のクラス数を適切に設定することができる画像符号化方法を提供する。【解決手段】映像を符号化する際に映像を表現するための変換基底を格納した辞書を生成するために、訓練データを複数のクラスに分類し、クラス毎に対応する訓練データを用いて辞書を生成する画像符号化方法であって、与えられたクラス分類に基づき、クラス毎に辞書を生成する辞書生成ステップと、辞書内の基底の数を制限した条件下において各訓練データを適切に表現可能な辞書を有するクラスに訓練データを再分類する再分類ステップと、クラス内の近似誤差和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出しながら辞書の生成と訓練データの再分類を反復する反復ステップと、評価尺度に基づき、クラス数を設定するクラス設定ステップとを有する。【選択図】図５
2018006832.tif 000002
【特許請求の範囲】
【請求項１】
映像を符号化する際に前記映像を表現するための変換基底を格納した辞書を生成するために、訓練データを複数のクラスに分類し、前記クラス毎に対応する訓練データを用いて前記辞書を生成する画像符号化方法であって、
与えられたクラス分類に基づき、前記クラス毎に前記辞書を生成する辞書生成ステップと、
前記辞書内の基底の数を制限した条件下において各訓練データを適切に表現可能な辞書を有するクラスに前記訓練データを再分類する再分類ステップと、
クラス内の近似誤差和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出しながら前記辞書の生成と前記訓練データの再分類とを反復する反復ステップと、
前記評価尺度に基づき、クラス数を設定するクラス設定ステップと
を有する画像符号化方法。
【請求項２】
映像を符号化する際に前記映像を表現するための変換基底を格納した辞書を生成するために、訓練データを複数のクラスに分類し、前記クラス毎に対応する訓練データを用いて前記辞書を生成する画像符号化方法であって、
与えられたクラス分類に基づき、前記クラス毎に前記辞書を生成する辞書生成ステップと、
前記辞書内の基底の数を制限した条件下において各訓練データを適切に表現可能な辞書を有するクラスに前記訓練データを再分類する再分類ステップと、
クラス数で正規化したクラス内の近似誤差和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出しながら前記辞書の生成と前記訓練データの再分類とを反復する反復ステップと、
前記評価尺度に基づき、クラス数を設定するクラス設定ステップと
を有する画像符号化方法。
【請求項３】
映像を符号化する際に前記映像を表現するための変換基底を格納した辞書を生成するために、訓練データを複数のクラスに分類し、前記クラス毎に対応する訓練データを用いて前記辞書を生成する画像符号化方法であって、
与えられたクラス分類に基づき、前記クラス毎に前記辞書を生成する辞書生成ステップと、
前記辞書内の基底の数を制限した条件下において各訓練データを適切に表現可能な辞書を有するクラスに前記訓練データを再分類する再分類ステップと、
クラス数で正規化したクラス内の近似誤差和と有意係数の個数との加重和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出しながら前記辞書の生成と前記訓練データの再分類とを反復する反復ステップと、
前記評価尺度に基づき、クラス数を設定するクラス設定ステップと
を有する画像符号化方法。
【請求項４】
前記近似誤差和をｅｃ（Ｃ）、Ｃをクラス数、Ｘ（ｃ）をクラスｃの基底の係数の行列、Ｙ（ｃ）をクラスｃの訓練データに対する近似信号の行列、Ｄ（ｃ）をクラスｃの辞書、‖・‖２ＦをＬ２ノルムの二乗値としたとき、
【数１】
2018006832.tif 000016
によって、前記近似誤差和を算出する請求項１に記載の画像符号化方法。
【請求項５】
前記評価尺度をＪ（Ｃ）、Ｖをクラス間の分散、ｄをクラス間の距離の最小値、λを所定の係数、Ｔｃをクラス内の有意係数の個数、ｎｃをクラス内の訓練ベクトルの個数としたき、
【数２】
2018006832.tif 000017
によって前記評価尺度を算出する請求項４に記載の画像符号化方法。
【請求項６】
映像を符号化する際に前記映像を表現するための変換基底を格納した辞書を生成するために、訓練データを複数のクラスに分類し、前記クラス毎に対応する訓練データを用いて前記辞書を生成する画像符号化装置であって、
与えられたクラス分類に基づき、前記クラス毎に前記辞書を生成する辞書生成部と、
前記辞書内の基底の数を制限した条件下において各訓練データを適切に表現可能な辞書を有するクラスに前記訓練データを再分類する再分類部と、
クラス内の近似誤差和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出しながら前記辞書の生成と前記訓練データの再分類とを反復する反復部と、
前記評価尺度に基づき、クラス数を設定するクラス設定部と
を備える画像符号化装置。
【請求項７】
コンピュータに、請求項１から５のいずれか一項に記載の画像符号化方法を実行させるための画像符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化方法、画像符号化装置及び画像符号化プログラムに関する。
【背景技術】
【０００２】
画像符号化における重要な要素技術の一つに、離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）に代表される変換符号化がある。画像符号化における変換符号化の役割は、空間的な画素間相関の除去を行うことにある。符号化装置の全体の位置づけとしては、変換符号化により少数の変換係数に情報を集中させ、変換係数に対する量子化により情報の集中度の低い変換係数を切り捨てることで、符号化対象信号に対する情報量の削減に寄与する。
【０００３】
これまで、画像符号化への応用では、離散コサイン変換（ＤＣＴ）を始めとして、重複直交変換離散ウェーブレット変換（ＤＷＴ：Discrete Wavelet Transform）といった多くの変換符号化方式が検討されてきた。例えば、変換符号化として、ＪＰＥＧでは離散コサイン変換（ＤＣＴ）、ＪＰＥＧ  ２０００では離散ウェーブレット変換（ＤＷＴ）が採用されている。また、直交変換は完備な基底（complete basis）を用いるため変換前後のデータ数が不変である。このため、直交変換は非冗長変換（non.redundant transform）である。動画像符号化装置においては、内部に備える変換処理部が上記の技術に該当する。
【０００４】
一方で、基底数が原信号のサンプル数よりも多い過完備な基底（overcomplete basis）を用いた冗長変換（redudant transform）と呼ばれる変換がある。このため、冗長変換は直交変換になり得ないが、変換後のデータに冗長性を持たせることで非冗長変換では実現できない特性をもつことができる。例えば、ダウンサンプリング処理を行わないＤＷＴである離散定常ウェーブレット変換（ＳＷＴ：Stationary Wavelet Transform）は変換後の冗長性より、ＤＷＴで失われるシフト不変性を成立させることができる。
【０００５】
また、画像処理分野では“方向分離特性をもつ変換”が注目されている。このような変換は一般的に冗長変換であり、代表例としてＣｕｒｖｅｌｅｔ変換がある。並列木複素ウェーブレット変換（ＤＴＣＷＴ：Dual Tree Complex Wavelet Transform）も同様の特性をもつ変換である。方向分離特性をもつ変換は、画像信号中に含まれるエッジ等の曲線を２次元で定義される方向基底を用いて表現する変換である。方向基底を用いて２次元構造を高い精度で近似するため、ＤＷＴに比べれば、雑音除去や特徴抽出に対して有効であるとされている。
【０００６】
しかし、こうした変換は、映像信号によらず固定された基底を用いるため、多様な映像の特性を表現することに限界がある。これは、上記の変換が画像信号に基づき設計されていないことに起因する。これに対して、映像信号を訓練データとして学習し、基底を設計する方法が検討されている。実映像信号に含まれる特徴を基底に反映させることが特徴である。こうして設計された基底の集合を辞書と呼ぶ。
【０００７】
辞書設計の代表的な手法として、Ｋ−ＳＶＤが提案されている（例えば、非特許文献１参照）。Ｋ−ＳＶＤでは、辞書Ｄおよび各基底の係数ｘｉ（ｉ＝１，・・・，Ｎ）を用いて、訓練データｙｉ（ｉ＝１，・・・，Ｎ）に対する近似信号＾ｙｉ（＾は、後に続く文字の上に付く、以下、同様）を表現する。ここで、Ｄはｎ×ｍ行列、ｙｉ（ｉ＝１，・・・，Ｎ）はｎ次元ベクトル、ｘｉ（ｉ＝１，・・・，Ｎ）はｍ次元ベクトルであり、ｎ＜ｍである。また、以下では、ｙｉ（ｉ＝１，・・・，Ｎ）を列ベクトルとするｎ行Ｎ列の行列をＹとし、ｘｉ（ｉ＝１，・・・，Ｎ）列ベクトルとするｍ行Ｎ列の行列をＸとする。
【０００８】
基底の学習では、以下の制約条件付最適化問題の解を求める。
【数１】
2018006832.tif 000003
ここで、‖・‖０はＬ０ノルムであり、非ゼロ係数の個数を表している。‖・‖２ＦはＬ２ノルムの二乗値であり、二乗和を表す。
【０００９】
なお、本明細書において、画像とは、静止画像、または動画像を構成する１フレーム分の画像のことをいう。また映像とは、動画像と同じ意味であり、一連の画像の集合である。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】M. Aharon, M. Elad and A. Bruckstein "K -SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation", IEEE Transactions on Signal Processing, Vol.54, No.11, pp.4311-4322, 2006
【発明の概要】
【発明が解決しようとする課題】
【００１１】
貪欲法（近似アルゴリズム）をベースにしたＫ−ＳＶＤ等の既存の基底の学習アルゴリズムは、解の探索空間が広すぎると、最適解から乖離した局所解に陥るという問題がある。一方、画像信号は、空間的な局所性を有しており、その性質は一様ではないことが知られている。この局所性を考慮して、画像信号内の領域を適切に分類することで、基底の学習アルゴリズムに対する解の探索空間を制限することができる。
【００１２】
そこで、対象信号の局所性を考慮したクラス分類に基づき、辞書の基底を学習する適応的な辞書生成手法が有益となる。しかし、既存の基底の学習アルゴリズムでは局所性が考慮されていない、または、最適なクラス数の設定方法が未知であり、クラス数の設定がヒューリスティックとなり、符号化効率の向上に改善の余地を残す。
【００１３】
本発明は、このような事情に鑑みてなされたもので、過完備な基底から構成される辞書の生成におけるクラス分類のクラス数を適切に設定することができる画像符号化方法、画像符号化装置及び画像符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一態様は、映像を符号化する際に前記映像を表現するための変換基底を格納した辞書を生成するために、訓練データを複数のクラスに分類し、前記クラス毎に対応する訓練データを用いて辞書を生成する画像符号化方法であって、与えられたクラス分類に基づき、前記クラス毎に前記辞書を生成する辞書生成ステップと、前記辞書内の基底の本数を制限した条件下において各訓練データを適切に表現可能な辞書を有するクラスに前記訓練データを再分類する再分類ステップと、クラス内の近似誤差和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出しながら前記辞書の生成と前記訓練データの再分類を反復する反復ステップと、前記評価尺度に基づき、クラス数を設定するクラス設定ステップとを有する画像符号化方法である。
【００１５】
本発明の一態様は、映像を符号化する際に前記映像を表現するための変換基底を格納した辞書を生成するために、訓練データを複数のクラスに分類し、前記クラス毎に対応する訓練データを用いて辞書を生成する画像符号化方法であって、与えられたクラス分類に基づき、前記クラス毎に前記辞書を生成する辞書生成ステップと、前記辞書内の基底の本数を制限した条件下において各訓練データを適切に表現可能な辞書を有するクラスに前記訓練データを再分類する再分類ステップと、クラス数で正規化したクラス内の近似誤差和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出しながら前記辞書の生成と前記訓練データの再分類を反復する反復ステップと、前記評価尺度に基づき、クラス数を設定するクラス設定ステップとを有する画像符号化方法である。
【００１６】
本発明の一態様は、映像を符号化する際に前記映像を表現するための変換基底を格納した辞書を生成するために、訓練データを複数のクラスに分類し、前記クラス毎に対応する訓練データを用いて辞書を生成する画像符号化方法であって、与えられたクラス分類に基づき、前記クラス毎に前記辞書を生成する辞書生成ステップと、前記辞書内の基底の本数を制限した条件下において各訓練データを適切に表現可能な辞書を有するクラスに前記訓練データを再分類する再分類ステップと、クラス数で正規化したクラス内の近似誤差和と有意係数の個数との加重和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出しながら前記辞書の生成と前記訓練データの再分類を反復する反復ステップと、前記評価尺度に基づき、クラス数を設定するクラス設定ステップとを有する画像符号化方法である。
【００１７】
本発明の一態様は、前記画像符号化方法であって、前記近似誤差和をｅｃ（Ｃ）、Ｃをクラス数、Ｘ（ｃ）をクラスｃの基底の係数の行列、Ｙ（ｃ）をクラスｃの訓練データに対する近似信号の行列、Ｄ（ｃ）をクラスｃの辞書、‖・‖２ＦをＬ２ノルムの二乗値としたとき、「数１」によって、前記近似誤差和を算出する。
【００１８】
本発明の一態様は、前記画像符号化方法であって、前記評価尺度をＪ（Ｃ）、Ｖをクラス間の分散、ｄをクラス間の距離の最小値、λを所定の係数、Ｔｃをクラス内の有意係数の個数、ｎｃをクラス内の訓練ベクトルの個数としたき、「数２」によって前記評価尺度を算出する。
【００１９】
本発明の一態様は、映像を符号化する際に前記映像を表現するための変換基底を格納した辞書を生成するために、訓練データを複数のクラスに分類し、前記クラス毎に対応する訓練データを用いて辞書を生成する画像符号化装置であって、与えられたクラス分類に基づき、前記クラス毎に前記辞書を生成する辞書生成部と、前記辞書内の基底の本数を制限した条件下において各訓練データを適切に表現可能な辞書を有するクラスに前記訓練データを再分類する再分類部と、クラス内の近似誤差和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出しながら前記辞書の生成と前記訓練データの再分類を反復する反復部と、前記評価尺度に基づき、クラス数を設定するクラス設定部とを備える画像符号化装置である。
【００２０】
本発明の一態様は、コンピュータに、前記画像符号化方法を実行させるための画像符号化プログラムである。
【発明の効果】
【００２１】
本発明によれば、画像の局所性に基づき、クラス分類を行い、クラス毎に適切な辞書を生成する際、適切なクラス数を設定することで、少数の係数で近似誤差を低減可能となり、符号化効率が向上するという効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】動画像符号化装置が行うMatching Pursuit（ＭＰ）によるクラス設定アルゴリズムの処理を示す図である。
【図２】動画像符号化装置が行うOrthognal Matching Pursuit（ＯＭＰ）によるクラス設定アルゴリズムの処理を示す図である。
【図３】本発明を適用する動画像符号化装置の一構成を示す図である。
【図４】本発明を適用する動画像復号装置の一構成を示す図である。
【図５】本実施形態によるクラス数最適化装置の構成を示すブロック図である。
【図６】クラス数最適化の処理の動作を示すフローチャートである。
【図７】図６に示すステップＳ３の詳細な処理を示すフローチャートである。
【図８】図６に示すステップＳ４の詳細な処理を示すフローチャートである。
【図９】図７に示すステップＳ１２の詳細な処理を示すフローチャートである。
【図１０】図９に示すステップＳ４３の詳細な処理を示すフローチャートである。
【図１１】図９に示すステップＳ４３の詳細な処理を示すフローチャートである。
【図１２】図７に示すステップＳ１２の詳細な処理を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図面を参照して、本発明の一実施形態による動画像符号化装置を説明する。はじめに本発明の基本原理を説明する。
［クラス数が与えられた場合の辞書の生成］
本発明の基本原理は、訓練画像Ψを、Ψ＝｛ψ（ｃ）｜ｃ＝１，・・・，Ｃ｝とし、Ｃ個のクラスに分類し、各クラス毎に、適切な辞書を生成することである。ここで、ψ（ｃ）は、クラスに分類したクラスｃの訓練画像である。解くべき問題は以下の通り、定式化される。
【数２】
2018006832.tif 000004
【００２４】
上記問題の求解は、以下の（Ｓ１）（Ｓ２）（Ｓ３）を反復する処理により実現される。
（Ｓ１：係数設定処理）Ψ，Ｄ（ｃ）を固定した状態で、Ｘ（ｃ）を最適化
（Ｓ２：辞書設定処理）Ψ，Ｘ（ｃ）を固定した状態で、Ｄ（ｃ）を最適化
（Ｓ３：クラス設定処理）Ｄ（ｃ）を固定した状態で、Ψを最適化
【００２５】
（Ｓ１）および（Ｓ２）では、辞書学習の既存手法（例：Ｋ−ＳＶＤ等）を利用する。Ｃ個のクラスの各々に対して、辞書学習の既存手法を使用して、各クラス毎に、辞書と辞書内の基底に対する係数を算出する。（Ｓ３）では、訓練ベクトルｙｉ（ｉ＝１，・・・，Ｎ）に対して、疎性に関する制約条件を満たす解において近似誤差を最小化するものが同定される。各訓練ベクトルｙｉに対して、次式の最小化問題を求解し、訓練ベクトルｙｉが属すべきクラスｃが求められる。
【数３】
2018006832.tif 000005
【００２６】
すなわち、各クラスの辞書Ｄ（ｃ）（ｃ＝１，・・・，Ｃ）の内容は固定して、辞書内の基底の使用本数を所与の閾値以下に抑えた制約条件のもとで、訓練ベクトルｙｉを表現した場合、近似誤差を最小化するクラスが求められる。
【００２７】
そして、訓練ベクトルは同クラスに属するものとして、クラス分類が更新される。辞書Ｄ（ｃ）内の基底は、行列Ｄ（ｃ）の列ベクトルｄ（ｃ）ｉとして表現される。上記最小化問題に対しては、例えば、Matching Pursuit（ＭＰ）やOrthognal Matching Pursuit（ＯＭＰ）を用いて解を求めることができる。具体的な手順を図１に示す。図１は、動画像符号化装置が行うMatching Pursuit（ＭＰ）によるクラス設定アルゴリズムの処理を示す図である。図１において、左端の数字は、アルゴリズムを構成する各ステップを識別するためのステップ番号である。
【００２８】
まず、動画像符号化装置は、表現対象となる訓練データを読み込み、変数ｂに格納する。また、動画像符号化装置は、表現対象データを表現する際に用いる辞書内の基底の本数として、指定された値Ｔ０を読み込む。このＴ０は有意係数の個数を表す（ステップ１）。そして、動画像符号化装置は、後段の処理で使用する変数ε＊を初期化する（ステップ２）。
【００２９】
次に、動画像符号化装置は、以下のステップ４からステップ１７の処理を全てのクラスに対して行う（ステップ３）。動画像符号化装置は、対象のクラスの辞書を読み込む（ステップ４）。そして、動画像符号化装置は、変数を初期化する（ステップ５、６、７）。
【００３０】
次に、動画像符号化装置は、以下のステップ９からステップ１５の処理をｋ＝１，・・・，Ｔ０として、繰り返す（ステップ８）。基底を指定するインデックスの集合Ｓ（ｋ−１）内に格納された辞書内の基底を指定する各インデックスｉに対して、以下の値を算出し、以下の値を最小化する基底を求め、同基底を指定するインデックスをｉ０として格納する（ステップ９〜１１）。
【数４】
2018006832.tif 000006
上式で求めたε（ｉ）はｋ−１本の基底で近似した際の近似誤差ｒ（ｋ−１）に対して、ｋ本目の基底としてｄ（ｃ）ｉを加えた場合の近似誤差である。
【００３１】
次に、動画像符号化装置は、ε（ｉ０）が、本ステップ以前に求めた近似誤差の最小値（暫定最小近似誤差）ε＊よりも大きくなった場合、以降の処理は中止し、ステップ４へ戻る（ステップ１２）。理由は、クラスｃの辞書では、近似誤差を暫定近似誤差以下にはすることはできず、結果として、近似誤差を最小化できないためである。
【００３２】
次に、動画像符号化装置は、基底を指定するインデックスの集合として、Ｓ（ｋ−１）にｉ０  を追加し、Ｓ（ｋ）として更新する（ステップ１３）。動画像符号化装置は、Ｓ（ｋ）で指定された基底のみを使用して、つまり、有意係数の位置をｓｕｐｐｏｒｔ｛ｘ｝＝Ｓ（ｋ）に限定して、次式の近似誤差を最小化する係数ベクトルｘ（ｋ）を求める（ステップ１４）。
【数５】
2018006832.tif 000007
ここで、ｓｕｐｐｏｒｔ｛ｘ｝＝Ｓ（ｋ）は、ベクトルｘの有意要素がＳ（ｋ）に含まれる要素のみであることを示す。動画像符号化装置は、ｘ（ｋ）を用いた場合の近似誤差を求める（ステップ１５）。
【００３３】
次に、動画像符号化装置は、‖ｒ（Ｔ０）‖２Ｆ  をクラスｃにおける近似誤差として、ε（ｃ）に格納する（ステップ１６）。動画像符号化装置は、ε（ｃ）が、暫定最小近似誤差ε＊よりも小さい場合、暫定最小近似誤差をε（ｃ）として更新し、さらに、暫定最適クラスインデックスをｃ＊＝ｃとし、暫定最適係数ベクトルをｘ＊＝ｘ（Ｔ０）として更新する（ステップ１７）。動画像符号化装置は、ｃ＊を最適なクラスを示すインデックスとして、ｘ＊最適な係数ベクトルとして、出力する（ステップ１８）。
【００３４】
図２は、動画像符号化装置が行うOrthognal Matching Pursuit（ＯＭＰ）によるクラス設定アルゴリズムの処理を示す図である。図２において、左端の数字は、アルゴリズムを構成する各ステップを識別するためのステップ番号である。
【００３５】
まず、動画像符号化装置は、表現対象となる訓練データを読み込み、変数ｂに格納する。また、動画像符号化装置は、表現対象データを表現する際に用いる辞書内の基底の本数として、指定された値Ｔ０および辞書Ｄ（ｃ）読み込む。このＴ０は有意係数の個数を表す（ステップ２１）。そして、動画像符号化装置は、変数を初期化する（ステップ２２〜２４）。
【００３６】
次に、動画像符号化装置は、以下のステップ２６からステップ２１の処理をｋ＝１，・・・，Ｔ０として、繰り返す（ステップ２５）。基底を指定するインデックスの集合Ｓ（ｋ−１）内に格納された辞書内の基底を指定する各インデックスｉに対して、所定の式により値を算出し、以下の値を最小化する基底を求め、同基底を指定するインデックスをｉ０として格納する（ステップ２６〜２８）。ε（ｉ）はｋ−１本の基底で近似した際の近似誤差ｒ（ｋ−１）に対して、ｋ本目の基底としてｄ（ｃ）ｉを加えた場合の近似誤差である。
【００３７】
次に、動画像符号化装置は、基底を指定するインデックスの集合として、Ｓ（ｋ−１）にｉ０を追加し、Ｓ（ｋ）として更新する（ステップ２９）。動画像符号化装置は、Ｓ（ｋ）で指定された基底のみを使用して、つまり、有意係数の位置をｓｕｐｐｏｒｔ｛ｘ｝＝Ｓ（ｋ）に限定して、次式の近似誤差を最小化する係数ベクトルｘ（ｋ）を求める（ステップ３０）。動画像符号化装置は、ｘ（ｋ）を用いた場合の近似誤差を求める（ステップ３１）。そして、動画像符号化装置は、ｘ（Ｔ０）を出力する（ステップ３２）。
【００３８】
［クラス数の最適化］
［クラス数が与えられた場合の辞書の生成］に記載のアルゴリズムに基づき、設定した辞書を用いて、以下の値を求める。なお、クラス内の訓練ベクトルの数をｎｃ（Ｃ）とおく。各クラスの近似誤差を次式により求める。
【数６】
2018006832.tif 000008
【００３９】
各クラスの代表ベクトルを次式により求める。
【数７】
2018006832.tif 000009
【００４０】
クラス間の分散を次式により求める。
【数８】
2018006832.tif 000010
ここで、ｍは訓練ベクトルの平均ベクトルである。クラス間の距離の最小値を次式により求める。
【数９】
2018006832.tif 000011
【００４１】
クラス数Ｃの場合の結果を用いて、以下の評価尺度Ｊ（Ｃ）を算出する。
【数１０】
2018006832.tif 000012
Ｊ（Ｃ）の別バージョンとして、λ＝０とした評価尺度を用いることも可能である。あるいは、クラス数の正規化を行わない以下のバージョンを用いることも可能である。
【数１１】
2018006832.tif 000013
【００４２】
クラス数の最適化として、式（８）を最小化するクラス数Ｃ＊を求める。
Ｃ＊＝ａｒｇｍｉｎＪ（Ｃ）
上記の最適解を求める際は、Ｊ（Ｃ）の局所解が大域的最適解であることから、Ｃ＝１から始めて、Ｃをインクリメントしていき、以下を満たす最小のＣをＣ＊として設定することも可能である。
Ｊ（Ｃ）＜Ｊ（Ｃ＋１）
【００４３】
また、Ｊ（Ｃ）の別バージョンとして、クラス数で正規化したクラス内の近似誤差和と有意係数の個数との加重和、クラス間分散、クラス間の距離に基づき、所与のクラス数に対して生成された辞書の評価尺度を算出するようにしてもよい。
【００４４】
［動画像符号化装置の構成］
次に、本発明を適用する動画像符号化装置の一構成について説明する。図３は、本発明を適用する動画像符号化装置の一構成を示す図である。動画像符号化装置は、イントラ予測処理部１、インター予測情報記憶部２、インター予測処理部３、イントラ予測情報記憶部４、予測残差生成部５、変換処理部６、量子化処理部７、逆量子化処理部８、逆変換処理部９、復号信号生成部１０、インループフィルタ処理部１１、フレームメモリ１２、エントロピ符号化処理部１３、変換基底記憶部１４を備える。
【００４５】
図３に示す動画像符号化装置において、特に変換処理部６、変換基底記憶部１４が従来技術と異なる部分であり、他の部分は、ＨＥＶＣやＨ．２６４その他のエンコーダとして用いられている従来の一般的な動画像符号化装置の構成と同様である。本実施形態では、変換処理部６と逆変換処理部９とのそれぞれが変換基底記憶部１４に記憶されている変換基底を用いて変換、逆変換を行う。
【００４６】
次に、図３に示す動画像符号化装置の動作を説明する。図３に示す動画像符号化装置は、符号化対象の映像信号を入力し、入力映像信号のフレームをブロックに分割してブロックごとに符号化し、そのビットストリームを符号化ストリームとして出力する。この符号化のため、予測残差生成部５は、入力映像信号とイントラ予測処理部１あるいはインター予測処理部３の出力である予測信号との差分を求め、それを予測残差信号として出力する。
【００４７】
イントラ予測処理部１およびインター予測処理部３の出力は、各々、イントラ予測情報記憶部２およびインター予測情報記憶部４に格納される。変換処理部６は、変換基底記憶部１４から適切な変換基底を読み出し、同変換基底を用いて予測残差信号に対して変換を行い、変換係数を出力する。また、変換処理部６は、変換対象信号の特性に応じて、変換に用いる基底を切り替える。この切り替えに必要な情報は、別途、付加情報として、符号化する。変換基底記憶部１４に格納する基底の生成方法が、本実施形態の主題である。具体的な生成方法は、詳細は後述する。量子化処理部７は、変換係数を量子化し、その量子化された変換係数を出力する。エントロピー符号化処理１３は、量子化された変換係数をエントロピー符号化し、符号化ストリームとして出力する。
【００４８】
一方、量子化された変換係数は、逆量子化処理部８にも入力され、ここで逆量子化される。逆変換処理部９は、変換基底記憶部１４から適切な変換基底を読み出し、同変換基底を用いて、逆量子化処理部８の出力である変換係数を逆直交変換し、予測残差復号信号を出力する。なお、逆変換処理部９は、変換対象信号の特性に応じて、変換に用いる基底を切り替える。この切り替えに必要な情報は、別途、付加情報として符号化されているので、同情報を復号し、復号した情報に基づき、使用する基底を同定する。
【００４９】
復号信号生成部１０では、この予測残差復号信号とインター予測処理部３またはイントラ予測処理部１の出力である予測信号とを加算し、符号化した符号化対象ブロックの復号信号を生成する。この復号信号は、インター予測処理部３またはイントラ予測処理部１において参照画像として用いるために、フレームメモリ１２に格納される。なお、インター予測処理部３において参照する場合は、インループフィルタ処理部１１において、符号化歪を低減するフィルタリング処理を行い、同フィルタリング処理後の画像をフレームメモリ１２に格納し、同フィルタリング処理後の画像を参照画像として用いる。
【００５０】
イントラ予測処理部１において設定された予測モード等の情報は、イントラ予測情報記憶部４に格納され、さらに、エントロピー符号化処理部１３においてエントロピー符号化され、符号化ストリームとして出力される。インター予測処理部３において設定された動きベクトル等の情報は、インター予測情報格納部２に格納され、さらに、エントロピー符号化処理部１３においてエントロピー符号化され、符号化ストリームとして出力される。
【００５１】
［画像復号装置の構成］
次に、本発明を適用する動画像復号装置の一構成について説明する。図４は、本発明を適用する動画像復号装置の一構成を示す図である。図４に示す動画像復号装置は、エントロピー復号処理部２１、逆量子化処理部２２、逆変換処理部２３、復号信号生成部２４、インター予測情報記憶部２５、インター予測処理部２６、イントラ予測情報記憶部２７、イントラ予測処理部２８、インループフィルタ処理部２９、フレームメモリ３０、変換基底記憶部３１を備える。
【００５２】
図４に示す動画像復号装置において、特に逆変換処理部２３、変換基底記憶部３１が従来技術と異なる部分であり、他の部分は、Ｈ．２６４、その他のデコーダとして用いられている従来の一般的な動画像復号装置の構成と同様である。動画像復号装置は、図３に示す動画像符号化装置により符号化された符号化ストリームを入力して復号することにより復号画像の映像信号を出力する。この復号のため、エントロピー復号処理部２１は、符号化ストリームを入力し、復号対象ブロックの量子化変換係数をエントロピー復号するとともに、イントラ予測に関する情報及びインター予測に関する情報を復号する。
【００５３】
イントラ予測に関する情報及びインター予測に関する情報は、各々、イントラ予測情報記憶部２７、インター予測情報記憶部２５に記憶される。逆量子化処理部２２は、量子化変換係数を入力し、それを逆量子化して復号変換係数を出力する。逆変換処理部２３は、復号変換係数に逆直交変換を施し、予測残差復号信号を出力する。復号信号生成部２４は、この予測残差復号信号とインター予測処理部２６またはイントラ予測処理部２８の出力である予測信号とを加算し、復号対象ブロックの復号信号を生成する。この復号信号は、インター予測処理部２６あるいはイントラ予測処理部２８において参照画像として用いるために、フレームメモリ３０に記憶される。
【００５４】
なお、インター予測処理部２５において参照する場合は、上記復号信号に対して、インループフィルタ処理部２９において、符号化歪を低減するフィルタリング処理を行い、フレームメモリ３０に格納し、このフィルタリング処理後の画像を参照画像として用いる。
【００５５】
［クラス数最適化装置の構成］
次に、本実施形態によるクラス数最適化装置の構成を説明する。図５は、本実施形態によるクラス数最適化装置の構成を示すブロック図である。クラス数最適化装置は、訓練データ記憶部４１、係数設定処理部４２、係数記憶部４３、辞書設定処理部４４、辞書記憶部４５、クラス設定処理部４６、クラス記憶部４７、近似誤差記憶部４８、反復判定処理部４９、クラス数評価尺度算出部５０、クラス数評価尺度記憶部５１、クラス数最適化判定部５２、クラス数インクリメント部５３、辞書生成部５４を備える。
【００５６】
訓練データ記憶部４１は、訓練データを読込み、記録する。クラス設定処理部４６は、訓練データ、辞書、係数を各々、訓練データ記憶部４１、係数記憶部４３、辞書記憶部４５から読み出し、入力として、クラス分類を行い、クラス記憶部４７に記憶する。具体的な設定方法は、後述する。
【００５７】
係数設定処理部４２は、訓練データ、辞書、クラス分類各々、訓練データ記憶部４１、辞書記憶部４５、クラス記憶部４７から読み出し、入力として、辞書内の基底に対する係数を算出し、係数記憶部４３に記憶する。具体的な設定方法は、例えば、Ｋ−ＳＶＤの係数設定手法であるMatching Pursuit（ＭＰ）やOrthogonal Matching Pursuit（ＯＭＰ）を利用する。
【００５８】
辞書設定処理部４４は、訓練データ、辞書、係数を各々、訓練データ記憶部４１、係数記憶部４３、クラス記憶部４７から読み出し、入力として、辞書内の基底を生成し、辞書記憶部４５に記憶する。具体的な設定方法は、例えば、Ｋ−ＳＶＤの辞書設定手法である疎性を考慮した特異値分解を利用する。また、このとき算出した近似誤差を近似誤差記憶部４８に記憶する。
【００５９】
反復処理部４９は、辞書設定処理部４４で出力された近似誤差が一つ前の反復ステップの出力として記憶された近似誤差と比較して、両近似誤差の差分が閾値以下となる場合、処理を終了し、辞書記憶部４５に記憶された各クラスの辞書を出力する。上記以外の場合、クラス設定処理部４６の処理へ戻る。
【００６０】
クラス数評価尺度算出部５０は、式（８）に従い、クラス数に関する評価尺度Ｊ（Ｃ）を算出する。算出した値は、クラス数評価尺度記憶部５１に記憶する。クラス数最適化判定部５２は、クラス数評価尺度算出部５０で算出した値Ｊ（Ｃ）とクラス数評価尺度記憶部５１に記憶した値Ｊ（Ｃ−１）とを比較し、以下の条件を満たす場合は、処理を終了し、辞書を出力する。
Ｊ（Ｃ−１）＜Ｊ（Ｃ）
【００６１】
それ以外の場合は、クラス数インクリメント部５３にて、クラス数を一つインクリメントして、係数設定処理部４２、辞書設定処理部４４、クラス設定処理部４６の処理から始まる処理を繰り返す。
【００６２】
次に、図５に示すクラス数最適化装置の動作を説明する。図６は、クラス数最適化の処理の動作を示すフローチャートである。まず、訓練データ記憶部４１は、訓練データ、制約条件として課せられる係数の個数の上限を読込む（ステップＳ１）。クラス数インクリメント部５３は、クラス数の変数ＣをＣ＝１として初期化する（ステップＳ２）。辞書生成部５４は、クラス数をＣとした場合の辞書を生成する（ステップＳ３）。本処理の詳細は、後述する。
【００６３】
次に、クラス数評価尺度算出部５０は、クラス数Ｃとした場合の辞書に対する評価尺度Ｊ（Ｃ）を算出する（ステップＳ４）。本処理の詳細は、後述する。クラス数最適化判定部５２は、ステップＳ４において算出した結果を読み出し、Ｃ＞１かつＪ（Ｃ）＞Ｊ（Ｃ−１）となるか否かを判定する。そして、Ｃ＞１かつＪ（Ｃ）＞Ｊ（Ｃ−１）となる場合次の処理に移る。そうでない場合、ステップＳ３の処理に戻る。
【００６４】
次に、辞書生成部５４は、最適クラス数をＣ−１に設定し（ステップＳ６）、クラス数Ｃ−１の場合の辞書を出力する（ステップＳ７）。
【００６５】
次に、図７を参照して、図６に示すステップＳ３の詳細な処理を説明する。図７は、図６に示すステップＳ３の詳細な処理を示すフローチャートである。まず、辞書生成部５４は、訓練データ、制約条件として課せられる係数の個数の上限を読込む（ステップＳ１１）。続いて、辞書生成部５４は、訓練データ、辞書、係数を各々、入力として、読込み、訓練データをクラス分類し、クラス分類の結果を出力する（ステップＳ１２）。本処理の詳細は、後述する。
【００６６】
次に、辞書生成部５４は、訓練データ、辞書、クラス分類を入力として読込み、辞書内の基底に対する係数を算出し、出力する（ステップＳ１３）。具体的な設定方法は、例えば、Ｋ−ＳＶＤの係数設定手法であるMatching pursuit（ＭＰ）やOrthogonalMatching pursuit（ＯＭＰ）を利用する。
【００６７】
次に、辞書生成部５４は、訓練データ、辞書、係数を入力として読込み、辞書内の基底を生成し、出力する（ステップＳ１４）。具体的な設定方法は、例えば、Ｋ−ＳＶＤ  の辞書設定手法である疎性を考慮した特異値分解を利用する。
【００６８】
次に、辞書生成部５４は、算出した近似誤差と前ステップの近似誤差との差分が閾値以下か否かを判定する（ステップＳ１５）。そして、両近似誤差の差分が閾値以下となる場合、処理を終了し、辞書記憶部４５に格納された各クラスの辞書を出力する。上記以外の場合、ステップＳ１２の処理へ戻る。
【００６９】
次に、図８を参照して、図６に示すステップＳ４の詳細な処理を説明する。図８は、図６に示すステップＳ４の詳細な処理を示すフローチャートである。まず、辞書生成部５４は、各クラスの訓練データを読込む（ステップＳ２１）。そして、辞書生成部５４は、ステップＳ２３、Ｓ２４の処理をクラスインデックスｃ＝１，・・・，Ｃまで繰り返す（ステップＳ２２、Ｓ２５）。ステップＳ２３では、式（５）に従い、第ｃクラスの代表ベクトルを算出する。ステップＳ２４では、第ｃクラスの訓練ベクトルに対する代表ベクトルによる近似誤差和を算出する。
【００７０】
次に、辞書生成部５４は、式（４）に従い、第ｃクラス内の近似誤差和を同クラス内の訓練データ数で正規化した近似誤差和について全クラスの総和を算出する（ステップＳ２６）。そして、辞書生成部５４は、ステップＳ２３で求めた全クラスの代表ベクトルとして読み込む（ステップＳ２７）。
【００７１】
次に、辞書生成部５４は、式（６）に従い、ステップＳ２７で読み込んだ各クラスの代表ベクトルを用いて、クラス間の分散を算出する（ステップＳ２８）。そして、辞書生成部５４は、ステップＳ３０〜ステップＳ３４の処理をクラスインデックスｃ＝１，・・・，Ｃまで繰り返す。ステップＳ３６の出力として、式（７）で示すクラス間距離の最小値が求まる。
【００７２】
次に、辞書生成部５４は、ステップＳ３１〜ステップＳ３４の処理をクラスインデックスｃ’＝ｃ，・・・，Ｃまで繰り返す（ステップＳ３０、Ｓ３５）。ステップＳ３１では、（ｍ（Ｃ）ｉ−ｍ（Ｃ）ｊ）２として、第ｃクラス、および第ｃ’クラスの代表ベクトル間の距離を算出する。ステップＳ３２では、ステップＳ３１で算出した距離がこれまでに求めた最小値よりも小さい場合、ステップＳ３４の処理に移り、そうでない場合、ステップＳ３４の処理を行わない。ステップＳ３４では、代表ベクトル間の距離を更新する。
【００７３】
最後に、辞書生成部５４は、式（８）  に従い、正規化した近似誤差和の総和（ステップＳ２６の出力）をクラス間の分散（ステップＳ２８の出力）、および、代表ベクトル間の最小距離（ステップＳ３６の出力）で除算した値をクラス選択の評価尺度として算出する（ステップＳ３７）。
【００７４】
次に、図９を参照して、図７に示すステップＳ１２の詳細な処理を説明する。図９は、図７に示すステップＳ１２の詳細な処理を示すフローチャートである。まず辞書生成部５４は、訓練データ、訓練データの個数を読込む（ステップＳ４１）。続いて、辞書生成部５４は、訓練データ、辞書、係数を入力として読込み、訓練データに対するクラスを設定する。クラスの設定はクラスインデックスにより指定する処理を、Ｎ個の訓練データに対して、繰り返す（ステップＳ４２〜Ｓ４４）。そして、辞書生成部５４は、Ｎ個の訓練データに対して付与されたクラスインデックスを出力する（ステップＳ４５）。
【００７５】
次に、図１０を参照して、図９に示すステップＳ４３の詳細な処理を説明する。図１０は、図９に示すステップＳ４３の詳細な処理を示すフローチャートである。まず、辞書生成部５４は、表現対象となる訓練データを読み込み、変数ｂに格納する。また、表現対象データを表現する際に用いる辞書内の基底の本数として、指定された値Ｔ０を読み込む。このＴ０は有意係数の個数を表す（ステップＳ５１）。続いて、辞書生成部５４は、後段の処理で使用する変数ε＊を、その変数のとりうる最大値で初期化する（ステップＳ５２）。
【００７６】
次に、辞書生成部５４は、以下のステップＳ５４〜Ｓ６９の処理を全てのクラスに対して行う（ステップＳ５３）。そして、辞書生成部５４は、当該クラスの辞書Ｄ（ｃ）を読み込む。係数を格納するベクトル、近似誤差を格納する変数、係数ベクトルのサポート（有意係数の位置）を各々、ｘ（０）＝０，ｒ（０）＝ｂ，Ｓ（０）＝φ（空集合）として初期化する（ステップＳ５４）。
【００７７】
次に、辞書生成部５４は、ステップＳ５６〜Ｓ６５の処理を反復回数を表すインデックスｋをｋ＝１，・・・，Ｔ０として繰り返す（ステップＳ５５）。ステップＳ５６〜Ｓ５８では、基底を指定するインデックスの集合Ｓ（ｋ−１）内に格納された辞書内の基底を指定する各インデックスｉに対して、以下の値を算出し、以下の値を最小化する基底を求め、同基底を指定するインデックスをｉ０として格納する。
【数１２】
2018006832.tif 000014
上式で求めたε（ｉ）はｋ−１本の基底で近似した際の近似誤差ｒ（ｋ−１）に対して、ｋ本目の基底としてｄ（ｃ）ｉを加えた場合の近似誤差である。同近似誤差を以降の処理では、更新近似誤差と呼ぶ。
【００７８】
次に、辞書生成部５４は、更新近似誤差を最小化する基底のインデックスを同定し、ｉ０に格納する（ステップＳ５９。そして、辞書生成部５４は、ε（ｉ０）および本ステップ以前に求めた近似誤差の最小値（暫定最小近似誤差）ε＊を入力として読込み、ε（ｉ０）  がε＊よりも大きくなった場合、クラスインデックスを更新し（ステップＳ６４）、ステップＳ５５へ戻る。それ以外の場合は、ステップＳ６１に進む。
【００７９】
次に、辞書生成部５４は、更新近似誤差を最小化する基底のインデックスｉ０、基底を指定するインデックスの集合であるサポートＳ（ｋ−１）を入力として読込み、ｉ０をＳ（ｋ−１）へ追加し、サポートをＳ（ｋ）として更新し、Ｓ（ｋ）を出力する（ステップＳ６１）。
【００８０】
次に、辞書生成部５４は、サポートＳ（ｋ）、辞書Ｄ（ｃ）、表現対象データｒ（０）を入力として読込み、Ｓ（ｋ）で指定された基底のみを使用して、つまり、有意係数の位置をｓｕｐｐｏｒｔ｛ｘ｝＝Ｓ（ｋ）  に限定して、次式の近似誤差を最小化する係数ベクトルｘ（ｋ）を算出する処理を行い、係数ベクトルｘ（ｋ）を出力する。
【数１３】
2018006832.tif 000015
ここで、ｓｕｐｐｏｒｔ｛ｘ｝  ＝  Ｓ（ｋ）は、ベクトルｘの有意要素がＳ（ｋ）に含まれる要素のみであることを示す（ステップＳ６２）。
【００８１】
次に、辞書生成部５４は、係数ベクトルｘ（ｋ）、サポートＳ（ｋ）、辞書Ｄ（ｃ）、表現対象データｒ（０）を入力として読込み、ｘ（ｋ）を用いた場合の近似誤差を算出し、同近似誤差を出力する（ステップＳ６３）。次に、辞書生成部５４は、  ステップＳ５３〜Ｓ６５の反復処理によって得られた‖ｒ（Ｔ０）‖２Ｆを入力として読込み、‖ｒ（Ｔ０）‖２Ｆをクラスｃにおける近似誤差として、ε（ｃ）に格納し、ε（ｃ）の値を出力する（ステップＳ６６）。
【００８２】
次に、辞書生成部５４は、ε（ｃ）  、暫定最小近似誤差ε＊を入力として読込み、ε（ｃ）が、暫定最小近似誤差ε＊よりも小さい場合、ステップＳ６８に進み、それ以外の場合はステップＳ６９に進む（ステップＳ６７）。
【００８３】
次に、辞書生成部５４は、暫定最小近似誤差をε（ｃ）として更新し、さらに、暫定最適クラスインデックスをｃ＊＝ｃとし、暫定最適係数ベクトルをｘ＊＝ｘ（Ｔ０）  として更新する（ステップＳ６８）。
【００８４】
最後に、辞書生成部５４は、ｃ＊を最適なクラスを示すインデックスとして、あわせて、ｘ＊を最適な係数ベクトルとして、出力する（ステップＳ７０）。
【００８５】
次に、図１１を参照して、図９に示すステップＳ４３の詳細な処理の変形例を説明する。図１１は、図９に示すステップＳ４３の詳細な処理を示すフローチャートである。図１１において、図１０に示す処理と同じ処理には、同じ符号を付けて、説明を簡単に行う。
【００８６】
まず、辞書生成部５４は、表現対象となる訓練データを読み込み、変数ｂに格納する。また、表現対象データを表現する際に用いる辞書内の基底の本数として、指定された値Ｔ０を読み込む。このＴ０は有意係数の個数を表す（ステップＳ５１）。次に、辞書設定処理で付与された暫定クラスインデックスＣ０を読み込む（ステップＳ７１）。続いて、辞書生成部５４は、後段の処理で使用する変数ε＊を、その変数のとりうる最大値で初期化する（ステップＳ５２）。
【００８７】
次に、辞書生成部５４は、以下のステップＳ５４〜Ｓ６９の処理を全てのクラスに対して行う（ステップＳ５３’）。すなわち、暫定クラスインデックスｃ０を先頭インデックスとして、反復処理を開始する。そして、辞書生成部５４は、当該クラスの辞書Ｄ（ｃ）を読み込む。係数を格納するベクトル、近似誤差を格納する変数、係数ベクトルのサポート（有意係数の位置）を各々、ｘ（０）＝０，ｒ（０）＝ｂ，Ｓ（０）＝φ（空集合）として初期化する（ステップＳ５４）。
【００８８】
次に、辞書生成部５４は、ステップＳ５６〜Ｓ６５の処理を反復回数を表すインデックスｋをｋ＝１，・・・，Ｔ０として繰り返す（ステップＳ５５）。ステップＳ５６〜Ｓ５８では、基底を指定するインデックスの集合Ｓ（ｋ−１）内に格納された辞書内の基底を指定する各インデックスｉに対して、上記の式を用いて値を算出し、その値を最小化する基底を求め、同基底を指定するインデックスをｉ０として格納する。
【００８９】
求めたε（ｉ）はｋ−１本の基底で近似した際の近似誤差ｒ（ｋ−１）に対して、ｋ本目の基底としてｄ（ｃ）ｉを加えた場合の近似誤差である。同近似誤差を以降の処理では、更新近似誤差と呼ぶ。
【００９０】
次に、辞書生成部５４は、更新近似誤差を最小化する基底のインデックスを同定し、ｉ０に格納する（ステップＳ５９）。そして、辞書生成部５４は、ε（ｉ０）および本ステップ以前に求めた近似誤差の最小値（暫定最小近似誤差）ε＊を入力として読込み、ε（ｉ０  がε＊よりも大きくなった場合（ステップＳ７２）、クラスインデックスを更新し（ステップＳ７３）、ステップＳ５５へ戻る。それ以外の場合は、ステップＳ６１に進む。
【００９１】
次に、辞書生成部５４は、更新近似誤差を最小化する基底のインデックスｉ０、基底を指定するインデックスの集合であるサポートＳ（ｋ−１）を入力として読込み、ｉ０をＳ（ｋ−１）へ追加し、サポートをＳ（ｋ）として更新し、Ｓ（ｋ）を出力する（ステップＳ６１）。
【００９２】
次に、辞書生成部５４は、サポートＳ（ｋ）、辞書Ｄ（ｃ）、表現対象データｒ（０）を入力として読込み、Ｓ（ｋ）で指定された基底のみを使用して、つまり、有意係数の位置をｓｕｐｐｏｒｔ｛ｘ｝＝Ｓ（ｋ）  に限定して、上記の式によって近似誤差を最小化する係数ベクトルｘ（ｋ）を算出する処理を行い、係数ベクトルｘ（ｋ）を出力する。ここで、ｓｕｐｐｏｒｔ｛ｘ｝＝Ｓ（ｋ）は、ベクトルｘの有意要素がＳ（ｋ）に含まれる要素のみであることを示す（ステップＳ６２）。
【００９３】
次に、辞書生成部５４は、係数ベクトルｘ（ｋ）、サポートＳ（ｋ）、辞書Ｄ（ｃ）、表現対象データｒ（０）を入力として読込み、ｘ（ｋ）を用いた場合の近似誤差を算出し、同近似誤差を出力する（ステップＳ６３）。次に、辞書生成部５４は、  ステップＳ５３〜Ｓ６５の反復処理によって得られた‖ｒ（Ｔ０）‖２Ｆを入力として読込み、‖ｒ（Ｔ０）‖２Ｆをクラスｃにおける近似誤差として、ε（ｃ）に格納し、ε（ｃ）の値を出力する（ステップＳ６６）。
【００９４】
次に、辞書生成部５４は、ε（ｃ）  、暫定最小近似誤差ε＊を入力として読込み、ε（ｃ）が、暫定最小近似誤差ε＊よりも小さい場合、ステップＳ６８に進み、それ以外の場合はステップＳ６９に進む（ステップＳ６７）。
【００９５】
次に、辞書生成部５４は、暫定最小近似誤差をε（ｃ）として更新し、さらに、暫定最適クラスインデックスをｃ＊＝ｃとし、暫定最適係数ベクトルをｘ＊＝ｘ（Ｔ０）として更新する（ステップＳ６８）。
【００９６】
最後に、辞書生成部５４は、ｃ＊を最適なクラスを示すインデックスとして、あわせて、ｘ＊を最適な係数ベクトルとして、出力する（ステップＳ７０）。このように、図１１に示す処理は、図１０に示す処理との結果の同一性は保持しつつ、暫定最小近似誤差の算出において、処理の打ち切りにより演算量の低減を実現することができる。
【００９７】
次に、図１２を参照して、図７に示すステップＳ１２の詳細な処理を説明する。図１２は、図７に示すステップＳ１２の詳細な処理を示すフローチャートである。図１２において、図９に示す処理と同じ処理には、同じ符号を付与してその説明を簡単に行う。
【００９８】
まず辞書生成部５４は、訓練データ、訓練データの個数、近似誤差の閾値を読込む（ステップＳ４１’）。続いて、辞書生成部５４は、訓練データ、辞書、係数を入力として読込み、訓練データに対するクラスを設定する。クラスの設定はクラスインデックスにより指定する処理を、Ｎ個の訓練データに対して、繰り返す（ステップＳ４２〜Ｓ４４）。このとき、辞書生成部５４は、辞書設定処理で算出した第ｎ訓練データに対する近似誤差を読み込む（ステップＳ４６）。そして、近似誤差が閾値以上であれば、第ｎ訓練データに対するクラス設定処理を行う（ステップＳ４３）。一方、近似誤差が閾値以上でなければ、ステップＳ４３の処理は行わない。最後に、辞書生成部５４は、Ｎ個の訓練データに対して付与されたクラスインデックスを出力する（ステップＳ４５）。
【００９９】
以上説明したように、映像符号化を行う際に、ＤＣＴなどに代表される変換符号化において映像信号を学習し基底を生成するとき、従来の学習アルゴリズムでは映像信号の空間的な局所性を考慮したクラス分類がなされておらず、最適なクラス数の探索については考慮されていなかった。これに対して、前述した構成によれば、画像の局所性に基づき、クラス分類を行い、クラス毎に適切な辞書を生成する際、適切なクラス数を設定することで最適なクラス数を算出することができる。特に、式（４）により近似誤差を低減することができるため、符号化効率の向上という効果を得ることが可能である。
【０１００】
前述した実施形態における画像符号化装置の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【０１０１】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【産業上の利用可能性】
【０１０２】
過完備な基底から構成される辞書の生成におけるクラス分類のクラス数を適切に設定することが不可欠な用途にも適用できる。
【符号の説明】
【０１０３】
４１・・・訓練データ記憶部、４２・・・係数設定処理部、４３・・・係数記憶部、４４・・・辞書設定処理部、４５・・・辞書記憶部、４６・・・クラス設定処理部、４７・・・クラス記憶部、４８・・・近似誤差記憶部、４９・・・反復判定処理部、５０・・・クラス数評価尺度算出部、５１・・・クラス数評価尺度記憶部、５２・・・クラス数最適化判定部、５３・・・クラス数インクリメント部、５４・・・辞書生成部
【図１】
2018006832.tif 000018
【図２】
2018006832.tif 000019
【図３】
2018006832.tif 000020
【図４】
2018006832.tif 000021
【図５】
2018006832.tif 000022
【図６】
2018006832.tif 000023
【図７】
2018006832.tif 000024
【図８】
2018006832.tif 000025
【図９】
2018006832.tif 000026
【図１０】
2018006832.tif 000027
【図１１】
2018006832.tif 000028
【図１２】
2018006832.tif 000029