(57)【特許請求の範囲】
【請求項１】
小数精度の動き補償を用いる映像符号化方法において,
符号化対象ブロックの動きベクトルの向きが第１，第２，第３または第４象限のいずれかにあるかによって領域を４つに分割するモードを含む予め定められた複数の領域分割手法の中から, 順次, １つの領域分割手法を選択するステップと,
前記選択された領域分割手法に従って, 符号化対象フレームまたはスライスから符号化済みまたは符号化中に得られる情報をもとにフレームまたはスライス内で領域分割を行い, その分割された領域ごとに小数精度画素の補間フィルタを選択するステップと,
選択された補間フィルタを用いて参照画像に対する小数精度画素の補間を行い, 小数精度の動き補償により予測符号化を行うステップと,
前記選択された領域分割手法に対して, 符号化のコストを算出して保存するステップと,
保存した前記コストから前記複数の領域分割手法の中でコストが最小となる領域分割手法を選択して, その選択された領域分割手法を示す情報を符号化するステップと,
前記選択された領域分割手法を用いて, 前記符号化対象フレームまたはスライスの符号化を実行するステップと
を有する映像符号化方法。
【請求項２】
請求項１記載の映像符号化方法において,
前記符号化済みまたは符号化中に得られる情報は，符号化対象ブロックの動きベクトルの成分の大きさ, または符号化対象ブロックの動きベクトルの向き, または符号化対象ブロックの位置を示す空間座標を含む
映像符号化方法。
【請求項３】
請求項１または請求項２記載の映像符号化方法において,
前記複数の領域分割手法は,
領域を分割しないモード, 符号化対象ブロックの動きベクトルの水平成分の大小によって領域を分割する１または複数のモード, 符号化対象ブロックの動きベクトルの向きによって領域を分割する１または複数のモード, 符号化対象ブロックの位置を示す空間座標によって領域を分割する１または複数のモードのうち, いずれか複数のモードを含む
映像符号化方法。
【請求項４】
請求項３記載の映像符号化方法において，
前記１または複数のモードのうち，選択されたモードに応じて必要となる前記領域分割を行うための閾値情報を符号化するステップ
を有する映像符号化方法。 
【請求項５】
小数精度の動き補償を用いる映像復号方法において,
符号化時に用いられかつ符号化対象ブロックの動きベクトルの向きが第１，第２，第３または第４象限のいずれかにあるかによって領域を４つに分割するモードを含む領域分割手法を示す情報を復号するステップと,
小数精度画素の補間フィルタ係数を復号するステップと,
復号対象ブロックから得られる情報を用いてブロック単位で前記復号により得られた領域分割手法に従う領域の分類を行い, その分類結果に応じて復号対象フレームまたはスライスの領域を分割するステップと,
分割された前記領域ごとに小数精度画素の補間フィルタを切り替えて, 参照画像に対する小数精度画素の補間を行い, 小数精度の動き補償により予測復号を行うステップと
を有する映像復号方法。
【請求項６】
請求項５記載の映像復号方法において,
前記領域分割手法は,
領域を分割しないモード, 符号化対象ブロックの動きベクトルの水平成分の大小によって領域を分割する１または複数のモード, 符号化対象ブロックの動きベクトルの向きによって領域を分割する１または複数のモード, 符号化対象ブロックの位置を示す空間座標によって領域を分割する１または複数のモードのうち, いずれか複数のモードを含む
映像復号方法。
【請求項７】
請求項６記載の映像復号方法において，
前記１または複数のモードのうち，選択されたモードに応じて必要となる前記領域分割を行うための閾値情報を復号するステップ
を有する映像復号方法。
【請求項８】
小数精度の動き補償を用いる映像符号化装置において,
符号化対象ブロックの動きベクトルの向きが第１，第２，第３または第４象限のいずれかにあるかによって領域を４つに分割するモードを含む予め定められた複数の領域分割手法の中から, 順次,１つの領域分割手法を選択する領域分割部と,
前記選択された領域分割手法に従って, 符号化対象フレームまたはスライスから符号化済みまたは符号化中に得られる情報をもとにフレームまたはスライス内で領域分割を行い, その分割された領域ごとに小数精度画素の補間フィルタを選択する補間フィルタ係数切替え部と,
選択された補間フィルタを用いて参照画像に対する小数精度画素の補間を行い, 小数精度の動き補償により予測符号化を行う予測符号化部と,
前記選択された領域分割手法に対して, 符号化のコストを算出して保存するとともに，保存したコストから前記複数の領域分割手法の中でコストが最小となる領域分割手法を選択して, その領域分割手法を示す情報を符号化する領域分割モード判定部と,
前記コストが最小となる領域分割手法を用いて, 符号化対象フレームまたはスライスの符号化を実行する符号化部と
を備える映像符号化装置。
【請求項９】
小数精度の動き補償を用いる映像復号装置において,
符号化時に用いられかつ符号化対象ブロックの動きベクトルの向きが第１，第２，第３または第４象限のいずれかにあるかによって領域を４つに分割するモードを含む領域分割手法を示す情報を復号する領域分割モード復号部と,
小数精度画素の補間フィルタ係数を復号する可変長復号部と,
復号対象ブロックから得られる情報を用いてブロック単位で前記復号により得られた領域分割手法に従う領域の分類を行い, その分類結果に応じて復号対象フレームまたはスライスの領域を分割する領域判定部と,
前記分割された領域ごとに小数精度画素の補間フィルタを切り替えて, 参照画像に対する小数精度画素の補間を行い, 小数精度の動き補償により予測復号を行う予測復号部と
を備える映像復号装置。
【請求項１０】
請求頃１から請求項４までのいずれか１項に記載の映像符号化方法を, コンピュータに実行させるための映像符号化プログラム。
【請求項１１】
請求項５から請求項７までのいずれか１項に記載の映像復号方法を, コンピュータに実行させるための映像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，補間フィルタ係数の画面内変更機能を有する映像符号化方法，映像復号方法，映像符号化装置，映像復号装置およびそれらのプログラムに関するものである。
【背景技術】
【０００２】
映像符号化において，異なる画面間で予測を実行する画面間予測（動き補償）符号化では，すでに復号されたフレームを参照して，予測誤差エネルギーなどを最小にするように動きベクトルが求められ，その残差信号が直交変換され，量子化が施され，エントロピー符号化を経て，バイナリーデータとなる。符号化効率を高めるためには，より予測精度の高い予測方式が求められ，予測誤差エネルギーの低減が不可欠である。
【０００３】
映像符号化標準方式には数多くの画面間予測の精度を高めるためのツールが導入されている。例えば，Ｈ．２６４／ＡＶＣでは，直近のフレームにオクルージョンが存在する場合には，時間的に少し離れたフレームを参照したほうが予測誤差エネルギーを低減できるため，複数のフレームを参照可能としている。本ツールを複数参照フレーム予測と呼ぶ。また，複雑な形状の動きにも対応可能とするために，１６×１６および８×８に加えて，１６×８，８×１６，８×４，４×８，４×４というように，ブロックサイズを細かく分割可能としている。本ツールを可変ブロックサイズ予測と呼ぶ。これらと同様に，参照フレームの整数精度画素から６タップ（ｔａｐ）のフィルタを用いて１／２精度の画素を補間し，さらにその画素を利用して１／４精度の画素を線形補間で生成する。これにより，非整数精度の動きに対して予測が当たるようになる。本ツールを１／４画素精度予測と呼ぶ。
【０００４】
Ｈ．２６４／ＡＶＣよりも符号化効率の高い次世代映像符号化標準方式の策定に向け，国際標準化組織ＩＳＯ／ＩＥＣ“ＭＰＥＧ”やＩＴＵ−Ｔ“ＶＣＥＧ”において，現在世界各国から様々な提案が集められている。その中で特に画面間予測（動き補償）に関連する提案は多くなされており，ＶＣＥＧが主導で作成している次世代映像符号化向けソフトウェア（以下，ＫＴＡ（Key Technical Area）ソフトウェア）には，動きベクトルの符号量を削減するツールや，ブロックサイズを１６×１６以上に拡張するツールが採用されている。
【０００５】
特に，小数精度画素の補間フィルタ係数を適応的に変化させるツールは適応補間フィルタと呼ばれ，ほぼ全ての画像で効果があり，最初にＫＴＡソフトウェアに採用された。ＭＰＥＧとＶＣＥＧで共同で進めている次世代映像符号化標準策定のためのグループＪＣＴＶＣが発行した新符号化テストモデルの募集(Call for Proposal) に対しての寄書にも，本技術は数多く採用されている。符号化効率向上の寄与が高いため，今後適応補間フィルタの性能改善は非常に期待される領域と考えられる。
【０００６】
現在，以上のような状況であるが，映像符号化における補間フィルタとしては，従来，次のようなフィルタが用いられていた。
【０００７】
〔固定的補間〕
過去の映像符号化標準方式ＭＰＥＧ−１／２／４においては，図１０に示されるように，１／２精度の画素を補間するために，両隣の２点の整数精度画素（単に整数画素ともいう）から加算平均を用いて補間画素を生成していた。すなわち，２点の整数画素に対して，［１／２，１／２］の平均値フィルタを施していることになる。非常に単純な処理のため，計算複雑度の観点からみると効果的であるが，１／４精度の画素を求める上ではフィルタの性能としては高くはない。
【０００８】
一方，Ｈ．２６４／ＡＶＣにおいては，１／２画素位置の画素を補間するときは，対象となる補間画素の左右３点ずつ計６整数画素を用いて補間を行う。垂直方向については上下３点ずつ計６整数画素を用いて補間する。フィルタ係数は，それぞれ［（１，−５，２０，２０，−５，１）／３２］となっている。１／２精度の画素が補間された後，１／４精度の画素は［１／２，１／２］の平均値フィルタを用いて補間を行う。一度，１／２精度画素を全て補間して求める必要があるため，計算複雑度は高いものの，より性能の高い補間が可能となり，符号化効率向上を導いている。
【０００９】
Ｈ．２６４／ＡＶＣの補間処理の一例を図１１に示す。以上の詳細は，非特許文献１，非特許文献２，非特許文献３に示されている。
【００１０】
〔適応的補間〕
Ｈ．２６４／ＡＶＣでは，入力画像条件（シーケンス種類／画像サイズ／フレームレート）や符号化条件（ブロックサイズ／ＧＯＰ構造／ＱＰ）に関わらず，フィルタ係数値は一定である。フィルタ係数値が固定である場合，例えば，エイリアシング，量子化誤差，動き推定による誤差，カメラノイズといった時間的に変化する効果が考慮されていない。したがって，符号化効率の点で性能向上に限界があると考えられる。そこで，補間フィルタ係数を適応的に変化させる方式が，非特許文献４では提案されており，非分離型の適応補間フィルタと呼ばれている。
【００１１】
本方式では，２次元の補間フィルタ（６×６の計３６フィルタ係数）を考えており，予測誤差エネルギーを最小にするようにフィルタ係数が決定される。Ｈ．２６４／ＡＶＣに用いられている１次元６タップの固定補間フィルタを用いるよりも高い符号化効率が実現できたが，フィルタ係数を求める上での計算複雑度が非常に高いため，その計算複雑度を低減するための提案が，非特許文献５で紹介されている。
【００１２】
この非特許文献５で紹介されている手法は，分離型適応補間フィルタ（ＳＡＩＦ:Separable Adaptive Interpolation Filter）と呼ばれ，2 次元の補間フィルタを用いるのではなく，１次元の６タップ補間フィルタを用いる。
【００１３】
図１２は，分離型適応補間フィルタ（ＳＡＩＦ）における非整数精度の画素補間方法を示す図である。手順としては，図１２（Ｂ）のＳｔｅｐ１に示すように，まず水平方向の画素（ａ，ｂ，ｃ）を補間する。フィルタ係数の決定には，整数精度画素Ｃ１からＣ６が用いられる。式（１）の予測誤差エネルギー関数Ｅ2 を最小化するような水平方向フィルタ係数が，一般に知られた最小二乗法（非特許文献４参照）により，解析的に決定される。
【００１４】
【数１】
0005563403.tif 000002
【００１５】
ここで，Ｓは原画像，Ｐは復号済み参照画像，ｘおよびｙはそれぞれ画像中の水平および垂直方向の位置を示す。また，〜ｘ（〜はｘの上に付く記号；他も同様）は，
〜ｘ＝ｘ＋ＭＶx − FilterOffset 
であり，ＭＶx は事前に得られた動きベクトルの水平成分，FilterOffsetは，調整のためのオフセット（水平方向フィルタ長を２で割った値）を示している。垂直方向については，〜ｙ＝ｙ＋ＭＶy となり，ＭＶy は動きベクトルの垂直成分を示す。ｗciは求めるべき水平方向フィルタ係数群ｃi （０≦ｃi ＜６）を示す。
【００１６】
式（１）を求めるフィルタ係数と同じ数の一次方程式が得られることになり，最小化処理は，水平方向の各小数画素位置ごとに独立に実施される。この最小化処理を経て，３種類の６タップフィルタ係数群が求まり，そのフィルタ係数を用いて小数精度画素ａ，ｂ，ｃが補間される。
【００１７】
水平方向の画素補間が完了した後，図１２（Ｃ）のＳｔｅｐ２に示すように，垂直方向の補間処理を実施する。水平方向と同様の線形問題を解くことで垂直方向のフィルタ係数を決定する。具体的には式（２）の予測誤差エネルギー関数Ｅ2 を最小化するような垂直方向フィルタ係数が，解析的に決定される。
【００１８】
【数２】
0005563403.tif 000003
【００１９】
ここで，Ｓは原画像，＾Ｐ（＾はＰの上に付く記号）は復号後に水平方向に補間処理された画像，ｘおよびｙはそれぞれ画像中の水平および垂直方向の位置を示す。また，〜ｘ＝４・（ｘ＋ＭＶx ）で表現され，ＭＶx は丸められた動きベクトルの水平成分を示す。垂直方向については，〜ｙ＝ｙ＋ＭＶy − FilterOffset で表現され，ＭＶy は動きベクトルの垂直成分，FilterOffsetは，調整のためのオフセット（フィルタ長を２で割った値）を示す。ｗcjは求めるべき垂直方向フィルタ係数群ｃj （０≦ｃj ＜６）を示す。
【００２０】
最小化処理は，各小数精度画素ごとに独立に実施され，１２種類の６タップフィルタが得られる。このフィルタ係数を用いて，残りの小数精度画素が補間される。
【００２１】
以上により，合計９０（＝６×１５）のフィルタ係数を符号化して復号側に伝送する必要がある。特に低解像度の符号化については，このオーバーヘッドが大きくなるため，フィルタの対称性を用いて，伝送すべきフィルタ係数を削減している。例えば，図１２ではｂ，ｈ，ｉ，ｊ，ｋの位置は各整数精度画素から中心に位置しており，水平方向であれば，左３点に用いる係数を反転させて右３点に適用できる。同様に，垂直方向であれば，上３点に用いる係数を反転させて下３点に適用できる（ｃ1 ＝ｃ6 ，ｃ2 ＝ｃ5 ，ｃ3 ＝ｃ4 ）。
【００２２】
他にもｄとｌの関係はｈを挟んで対称となっているため，フィルタ係数もそれぞれ反転して利用できる。すなわち，ｄの６係数を伝送すれば，その値をｌにも適用できる。ｃ（ｄ）1 ＝ｃ（ｌ）6 ，ｃ（ｄ）2 ＝ｃ（ｌ）5 ，ｃ（ｄ）3 ＝ｃ（ｌ）4 ，ｃ（ｄ）4 ＝ｃ（ｌ）3 ，ｃ（ｄ）5 ＝ｃ（ｌ）2 ，ｃ（ｄ）6 ＝ｃ（ｌ）1 となる。この対称性は，ｅとｍ，ｆとｎ，そしてｇとｏにも利用可能となる。ａとｃについても同様の理論が成立するが，水平方向は垂直方向の補間にも結果が影響を及ぼすため，対称性は用いずに，ａとｃはそれぞれ別々に伝送を行う。以上の対称性を利用した結果，フレームごとに伝送すべきフィルタ係数は５１（水平方向が１５，垂直方向が３６）となる。
【００２３】
以上，非特許文献５の適応補間フィルタは，予測誤差エネルギーの最小化処理の単位がフレームで固定されていた。１枚のフレームに対して，５１のフィルタ係数が決定される。符号化対象フレームが仮に大きな２種類（もしくは複数種類の）テクスチャ領域に分けられる場合，最適なフィルタ係数はその両者（全てのテクスチャ）を考慮した係数群になる。Ａの領域では本来垂直方向のみ特徴的なフィルタ係数が出ていたとして，Ｂの領域で水平方向のみフィルタ係数が得られるような状況では，その両方が平均化された形でフィルタ係数が導出される。
【００２４】
１枚のフレームにつき１つのフィルタ係数群（５１係数）に限定されずに，画像の局所的性質に応じて，複数のフィルタ係数群を用意して切り替えることで，予測誤差エネルギーの低減を達成し，符号化効率の改善を実現する方法が非特許文献６にて提案されている。
【００２５】
図１３に示されるように，符号化対象フレームが性質の異なるテクスチャを含む場合を想定する。図１３（Ａ）に示すように，フレーム全体として１つのフィルタ係数群を最適化して送る場合，各テクスチャの性質全てを考慮することになる。テクスチャがあまり変わらない場合，全体最適化によるフィルタ係数が最良と考えられるが，相反する性質を有するテクスチャであった場合，図１３（Ｂ）に示すように，テクスチャごとに最適化したフィルタ係数を用いるほうが，フレーム全体の符号量を削減できる。
【００２６】
このことから，非特許文献６では，１フレームに対して領域分割により複数の最適化されたフィルタ係数群を用いる方法が考えられている。領域分割の手法としては，非特許文献６では，動きベクトル（水平垂直成分，向き）や空間座標（マクロブロック位置，ブロックのｘ座標やｙ座標）を採用しており，様々な画像の性質を考慮して領域分割を実施している。
【００２７】
図１４は，非特許文献６に示されるような，従来の領域分割型適応補間フィルタを用いる映像符号化装置の構成例を示している。
【００２８】
映像符号化装置１００において，領域分割部１０１は，入力した映像信号の符号化対象フレームを，適応的に補間フィルタ係数を切り替える単位となる複数ブロックからなる複数の領域に分割する。補間フィルタ係数切り替え部１０２は，領域分割部１０１により分割された領域ごとに，予測符号化における参照画像に対して用いる小数精度画素の補間フィルタ係数を切り替える。この切り替え対象となる補間フィルタ係数としては，例えばフィルタ係数最適化部１０２１によって最適化されたフィルタ係数を用いる。フィルタ係数最適化部１０２１は，領域ごとに，原画像と補間後の参照画像との予測誤差エネルギーが最小となる補間フィルタ係数を算出する。
【００２９】
予測信号生成部１０３は，参照画像補間部１０３１と動き検出部１０３２とを備える。参照画像補間部１０３１は，参照画像メモリ１０７に格納された復号済み参照画像に，補間フィルタ係数切り替え部１０２が選択した補間フィルタ係数による補間フィルタを適用し，動き検出部１０３２は，補間後の参照画像に対して動き探索を行うことにより，動きベクトルを算出する。予測信号生成部１０３は，動き検出部１０３２によって算出された小数精度の動きベクトルによる動き補償により予測信号を生成する。
【００３０】
予測符号化部１０４は，入力映像信号と予測信号との残差信号を算出し，それを直交変換し，変換係数の量子化などによって予測符号化を行う。また，復号部１０６は，予測符号化の結果を復号し，復号画像を後の予測符号化のために参照画像メモリ１０７に格納する。
【００３１】
可変長符号化部１０５は，量子化された変換係数，動きベクトルを可変長符号化するとともに，領域ごとに補間フィルタ係数切り替え部１０２が選択した補間フィルタ係数を可変長符号化し，これらを符号化ビットストリームとして出力する。
【００３２】
図１５は，従来の領域分割型適応補間フィルタを用いる映像復号装置の構成例を示している。図１４に示す映像符号化装置１００によって符号化されたストリームは，図１５に示す映像復号装置２００によって復号される。
【００３３】
映像復号装置２００において，可変長復号部２０１は，符号化ビットストリームを入力して，量子化変換係数，動きベクトル，補間フィルタ係数群などの復号を行う。領域判定部２０２は，復号対象フレームについて適応的に補間フィルタ係数を切り替える単位となる領域を判定する。補間フィルタ係数切り替え部２０３は，領域判定部２０２により判定された領域ごとに，可変長復号部２０１で復号した補間フィルタ係数を切り替える。
【００３４】
予測信号生成部２０４における参照画像補間部２０４１は，参照画像メモリ２０６に格納された復号済み参照画像に，補間フィルタ係数切り替え部２０３から受け取った補間フィルタ係数による補間フィルタを適用し，参照画像の小数精度画素の復元を行う。予測信号生成部２０４は，小数精度画素の復元が行われた参照画像から，復号対象ブロックの予測信号を生成する。
【００３５】
予測復号部２０５は，可変長復号部２０１で復号した量子化係数の逆量子化，逆直交変換などを行い，それにより算出された予測残差信号と，予測信号生成部２０４が生成した予測信号とを足し合わせて復号信号を生成し，復号画像として出力する。また，予測復号部２０５が復号した復号画像は，後の予測復号のために，参照画像メモリ２０６に格納する。
【先行技術文献】
【非特許文献】
【００３６】
【非特許文献１】原島博, 酒井善則, 吉田俊之: “映像情報符号化”，オーム社, pp.135-136, 2001
【非特許文献２】大久保榮, 角野眞也, 菊池義浩, 鈴木輝彦: “Ｈ．２６４／ＡＶＣ教科書改訂三版”，インプレス, pp.119-123, 2009
【非特許文献３】I. E. G. Richardson, G. J. Sullivan:“H.264 and MPEG-4 VIDEO COMPRESSION”, WILEY, pp.172-175, 2003
【非特許文献４】Y. Vatis, B. Edler, D. T. Nguyen , J. Ostermann:“Motion-and aliasing-compensated prediction using a two-dimensional non-separable adaptive Wiener interpolation filter ”, Proc. ICIP2005, IEEE International Conference on Image Processing, pp.II 894-897, Genova, Italy, Sep. 2005
【非特許文献５】S. Wittmann, T. Wedi: “Separable adaptive interpolation filter for video coding”，Proc. ICIP2008, IEEE International Conference on Image Processing, pp.2500-2503, San Diego, California, USA, Oct. 2008
【非特許文献６】松尾翔平，高村誠之，如澤裕尚: “領域分割機能を有する分離型適応補間フィルタに関する検討”, 電子情報通信学会画像工学研究会, pp.113-116, Nov. 2009
【発明の概要】
【発明が解決しようとする課題】
【００３７】
図１４に示すような映像符号化装置１００が用いる領域分割型適応補間フィルタ（非特許文献６）は，画像の有する局所的性質を考慮して，フレーム内で複数のフィルタ係数群を切り替えることで予測誤差エネルギーを削減して，符号化効率の向上を狙っているが，最初のフレームで用いた領域分割手法を全フレームに対して施すことになる。映像は時間方向で画面内の性質が変わること（例えば，シーンチェンジなど）もあるため，フレーム単位で分割手法を変更できれば，さらなる符号化効率の改善が見込めると考えられる。
【００３８】
本発明は，この点に鑑み，時空間で補間フィルタ係数の最適値が変化する画像に対して，最適な領域分割手法をフレームもしくはスライス単位で選択することにより，動き補償画面内予測の残差エネルギーをさらに低減し，符号化効率を向上させることを目的とする。
【課題を解決するための手段】
【００３９】
上記目的を達成するための方法として，領域分割手法を複数用意し，各手法ごとにレート歪みコストを算出し，コストを最小化する領域分割手法を選択し，その領域分割情報をフラグとして送付する。フレーム単位で複数の領域分割方法を切り替えることで予測誤差エネルギーの低減を達成し，符号化効率の改善を実現する。
【００４０】
すなわち，本発明は，動き補償を用いる映像符号化方法であって，符号化対象フレーム（またはスライスでもよい）を分割する，符号化対象ブロックの動きベクトルの向きが第１，第２，第３または第４象限のいずれかにあるかによって領域を４つに分割するモードを含む複数の領域分割手法を用意し，複数の領域分割手法の中から順次１つの分割手法を選び，符号化対象フレームから符号化情報（符号化済みもしくは符号化中に得られる情報）を検出し，検出された符号化情報からフレーム内で領域分割を行い，その分割結果に応じて小数精度画素の補間フィルタを選択し，選択された補間フィルタを用いて小数精度画素の補間を行って符号化を実施し，選ばれた領域分割手法に対してコストを算出して保存し，保存したコストから最良の領域分割手法を選択して，その領域分割手法を示す領域分割モード番号を符号化し，その最良の領域分割手法で符号化を実行する。
【００４１】
また，本発明は，前記映像符号化方法で符号化された符号化ストリームを復号する映像復号方法であって，領域分割モード番号を復号し，小数精度画素の補間フィルタ係数を復号し，復号対象ブロックから得られる情報を用いてブロック単位で分類を行い，その分類結果に応じて領域分割を行い，分割された領域ごとに小数精度画素の補間フィルタを切り替えて，復号を実行する。
【００４２】
本発明の作用は，以下のとおりである。従来の領域分割型適応補間フィルタでは，映像１種に対して領域分割手法を１種類しか適用できず，映像全体で時空間的に大きく性質が異なる場合には符号化効率の改善に限界があった。一方，本発明では，補間フィルタ係数を時空間的に最適化することにより，画像の局所性により柔軟に対応可能となり，更なる符号化効率改善が達成できる。
【発明の効果】
【００４３】
以上のように，本発明によれば，従来の分離型適応補間フィルタでは対応できなかった，１または複数のフレームもしくはスライス単位で最適な領域分割手法が選択可能となり，画像の時空間的な局所性を考慮した補間フィルタ係数の切り替えが可能となり，予測誤差エネルギーの低減による符号化効率改善が達成できる。
【図面の簡単な説明】
【００４４】
【図１】映像符号化装置の構成例を示す図である。
【図２】映像符号化処理のフローチャートである。
【図３】領域分割モードを定義する分割テーブルの一例を示す図である。
【図４】動きベクトルの成分による領域分割の例を示す図である。
【図５】動きベクトルの向きによる領域分割の例を示す図である。
【図６】空間座標による領域分割の例を示す図である。
【図７】動きベクトルの向きによる領域分割（領域数＝４の場合）の例を示す図である。
【図８】映像復号装置の構成例を示す図である。
【図９】映像復号処理のフローチャートである。
【図１０】過去の映像符号化標準方式における非整数精度の画素補間方法を示す図である。
【図１１】Ｈ．２６４／ＡＶＣにおける非整数精度の画素補間方法の例を示す図である。
【図１２】分離型適応補間フィルタ（ＳＡＩＦ）における非整数精度の画素補間方法を示す図である。
【図１３】従来の適応補間フィルタと領域分割型適応補間フィルタの比較を示す図である。
【図１４】従来の領域分割型適応補間フィルタを用いる映像符号化装置の構成例を示す図である。
【図１５】従来の領域分割型適応補間フィルタを用いる映像復号装置の構成例を示す図である。
【発明を実施するための形態】
【００４５】
以下，図面を用いながら，本発明の実施の形態を説明する。なお，例として，フレーム単位で領域を分割する方法を説明するが，スライス単位で領域を分割してもよく，また，２，３枚などの複数枚のフレームで領域分割を定めてもよい。
【００４６】
〔映像符号化装置〕
図１は，本発明に係る映像符号化装置の構成例を示す図である。映像符号化装置１０は，複数の領域分割手法（領域分割モードという）によって領域を分割し，それぞれの領域分割モードの中で符号化コストが最小となる領域分割による領域分割型適応補間フィルタを用いて，小数精度画素の補間を行い，小数精度の動き補償によって符号化を行う装置であり，適応補間フィルタを切り替える単位となる領域の分割を，複数の領域分割モードの中から選択する点が，図１４に示す従来の映像符号化装置１００と異なる。
【００４７】
映像符号化装置１０において，領域分割部１１は，入力した映像信号の符号化対象フレームを，適応的に補間フィルタ係数を切り替える単位となる複数ブロックからなる複数の領域に分割する。この領域の分割では，領域分割モードが複数用意されており，複数の領域分割モードから順番に選択された１つの領域分割モードに従って，それぞれ領域が分割される。
【００４８】
補間フィルタ係数切り替え部１２は，領域分割部１１により分割された領域ごとに，予測符号化における参照画像に対して用いる小数精度画素の補間フィルタ係数を切り替える。この切り替え対象となる補間フィルタ係数としては，領域分割部１１により分割された領域ごとに，原画像と補間後の参照画像との予測誤差エネルギーが最小となる最適化された補間フィルタ係数が用いられる。
【００４９】
予測信号生成部１３は，参照画像補間部１３１と動き検出部１３２とを備える。参照画像補間部１３１は，参照画像メモリ１８に格納された復号済み参照画像に，補間フィルタ係数切り替え部１２が選択した補間フィルタ係数による補間フィルタを適用し，動き検出部１３２は，補間後の参照画像に対して動き探索を行うことにより，動きベクトルを算出する。予測信号生成部１３は，動き検出部１３２によって算出された小数精度の動きベクトルによる動き補償により予測信号を生成する。
【００５０】
予測符号化部１４は，入力映像信号と予測信号との残差信号を算出し，それを直交変換し，変換係数の量子化などによって予測符号化を行う。
【００５１】
領域分割モード判定部１５は，領域分割部１１が選択した領域分割モードごとに予測符号化部１４が符号化した結果のレート歪み（ＲＤ）コストを保存し，最もレート歪みコストが小さくなる領域分割モードを選ぶ。
【００５２】
可変長符号化部１６は，領域分割モード判定部１５が選択した領域分割モード（例えばモード番号）を可変長符号化し，また，領域ごとに補間フィルタ係数切り替え部１２が選択した補間フィルタ係数を可変長符号化する。また，最終的に選択された領域分割モードでの予測符号化部１４の出力する量子化された変換係数，動き検出部１３２の出力する動きベクトルを可変長符号化する。可変長符号化部１６は，これらの符号化情報を符号化ビットストリームとして出力する。
【００５３】
また，復号部１７は，予測符号化部１４による予測符号化の結果を復号し，復号信号を後の予測符号化のために参照画像メモリ１８に格納する。
【００５４】
〔映像符号化装置の処理フロー〕
図２は，映像符号化装置１０が実行する映像符号化処理のフローチャートである。以下では，特に断りがない限り，輝度信号での処理を仮定して説明するが，本例で述べている最適な領域分割を選んで，領域単位で補間フィルタ係数を切り替えて符号化する機能は，輝度信号だけでなく，色差信号にも適用可能である。
【００５５】
まず，ステップＳ１０１では，符号化対象のフレームを入力する。次に，ステップＳ１０２では，入力したフレームをブロック（例えば，１６×１６や８×８といった従来の動き予測のブロックサイズ）に分割し，動き検出部１３２により，ブロック単位で最適な動きベクトルを算出する。ステップＳ１０２における参照画像の小数精度画素の補間には，従来のＨ．２６４／ＡＶＣによる固定６タップフィルタを用いる。
【００５６】
続いて，ステップＳ１０３では，領域分割部１１が，用意した複数の領域分割モードの中から順番に１つの領域分割モードを選択し，選択した領域分割モードに対してステップＳ１１０までの処理を繰り返す。領域分割モードの例の詳細については，図３を用いて後述する。
【００５７】
ステップＳ１０４では，領域分割部１１が，ステップＳ１０３にて選択した領域分割モードに応じた領域分割を行う。
【００５８】
ステップＳ１０５からＳ１０８では，ステップＳ１０４の領域分割の結果から，領域ごとに最適化処理を行う。まず，ステップＳ１０５では，予測誤差エネルギー関数である式（３）を用いて，水平方向の各小数精度画素に対する補間フィルタ係数の最適化処理を行う。
【００５９】
【数３】
0005563403.tif 000004
【００６０】
ここで，αm,n は各領域を示しており，ｍは領域分割モード番号，ｎは特定の領域分割モードにおける領域番号，Ｓは原画像，Ｐは復号済み参照画像，ｘおよびｙはそれぞれ画像中の水平および垂直方向の位置を示す。また，〜ｘ（〜はｘの上に付く記号）は，〜ｘ＝ｘ＋ＭＶx − FilterOffset であり，ＭＶx は事前に得られた動きベクトルの水平成分，FilterOffsetは調整のためのオフセット（水平方向フィルタ長を２で割った値）を示している。垂直方向については，〜ｙ＝ｙ＋ＭＶy となり，ＭＶy は動きベクトルの垂直成分を示す。ｗciは求めるべき水平方向フィルタ係数群ｃi （０≦ｃi ＜６）を示す。
【００６１】
続いて，ステップＳ１０６では，ステップＳ１０５で得られた水平方向の補間フィルタ係数を用いて，フレーム内の各領域ごとに独立して，水平方向の小数画素補間（図１２におけるａ，ｂ，ｃの補間）を実施する。
【００６２】
ステップＳ１０７では，垂直方向の補間フィルタ係数の最適化処理を実施する。垂直方向の予測誤差エネルギー関数である式（４）を用いて，垂直方向の各小数画素に対する補間フィルタ係数の最適化処理を行う。
【００６３】
【数４】
0005563403.tif 000005
【００６４】
ここで，αm,n は各領域を示しており，ｍは領域分割モード番号，ｎは特定の領域分割モードにおける領域番号，Ｓは原画像，＾Ｐ（＾はＰの上に付く記号）はステップＳ１０５にて水平方向に補間処理された画像，ｘおよびｙはそれぞれ画像中の水平および垂直方向の位置を示す。また，〜ｘ＝４・（ｘ＋ＭＶx ）で表現され，ＭＶx は丸められた動きベクトルの水平成分を示す。垂直方向については，〜ｙ＝ｙ＋ＭＶy − FilterOffset で表現され，ＭＶy は動きベクトルの垂直成分，FilterOffsetは調整のためのオフセット（フィルタ長を２で割った値）を示す。ｗcjは求めるべき垂直方向フィルタ係数群ｃj （０≦ｃj ＜６）を示す。
【００６５】
ステップＳ１０８にて，ステップＳ１０７で得られた垂直方向の補間フィルタ係数を用いて，フレーム内の各領域ごとに独立して，垂直方向の小数画素補間（図１２におけるｄ〜ｏの補間）を実施する。
【００６６】
続いて，ステップＳ１０９にて，ステップＳ１０８で得られた垂直方向に補間された画像を参照画像として，再度動きベクトルの算出を行う。
【００６７】
ステップＳ１１０では，ステップＳ１０３で選択した領域分割モードに対するレート歪みコスト（ＲＤコスト）を算出し，保存を行う。ステップＳ１０３からステップＳ１１０までの処理を，用意された領域分割モードに対して全て実行する。
【００６８】
続いて，ステップＳ１１１では，領域分割モード判定部１５が，用意された複数の領域分割モードの中で最小のレート歪みコストを実現する最適な領域分割モードを決定する。
【００６９】
続いて，ステップＳ１１２では，可変長符号化部１６が，ステップＳ１１１にて決定された最適な領域分割モードを符号化する。また，ステップＳ１１３では，可変長符号化部１６が，ステップＳ１１２で符号化した領域分割モードにおける補間フィルタ係数を符号化する。さらに，ステップＳ１１４では，ステップＳ１１１にて決定された領域分割モードにおける，残りの符号化すべき情報（動きベクトル，ＤＣＴ係数など）の符号化を行う。
【００７０】
〔領域分割モード〕
次に，本実施形態で用いる領域分割モードの例について説明する。
【００７１】
図３は，領域分割モードを定義する分割テーブルの一例を示す図である。図３において，Ｔｈx1，Ｔｈx2，Ｔｈy1，Ｔｈy2は，動きベクトル（ＭＶ）のヒストグラムから求まる閾値，ＭＶx は，動きベクトルの水平成分，ＭＶy は動きベクトルの垂直成分，ｘ，ｙはフレーム内のブロック位置を示す空間座標，Ｆx はフレームの横幅，Ｆy はフレームの縦幅を表す。
【００７２】
図３に示す例では，最大領域数を２で固定しているが，領域数を３以上に設定することもできる。ここでは，領域分割モードとして，領域分割モード番号（以下，単にモード番号という）が０から７までの８種類の分割手法が用意されている。
【００７３】
〔モード番号＝０〕
モード番号０は，フレーム内の領域を分割しない場合であり，従来の適応補間フィルタ（ＡＩＦ:Adaptive Interpolation Filter）を用いる場合である。
【００７４】
〔モード番号＝１，２〕
モード番号１は，動きベクトルのｘ成分（ＭＶx ）に着目して領域を分割するモードであり，ＭＶx が閾値Ｔｈx1，Ｔｈx2の間にあれば第１の領域（領域１），閾値Ｔｈx1，Ｔｈx2の外にあれば第２の領域（領域２）として分割する。
【００７５】
モード番号２は，動きベクトルのｙ成分（ＭＶy ）に着目して領域を分割するモードであり，ＭＶy が閾値Ｔｈy1，Ｔｈy2の間にあれば第１の領域（領域１），閾値Ｔｈy1，Ｔｈy2の外にあれば第２の領域（領域２）として分割する。
【００７６】
図４（Ａ）は，動きベクトルの成分（モード番号１または２）による領域分割の処理フローを示している。まず，ステップＳ２０１では，符号化対象フレームについてブロック単位で動きベクトルを取得する。ステップＳ２０２では，動きベクトルのｘ成分（モード番号１のとき）またはｙ成分（モード番号２のとき）のヒストグラムを生成する。ステップＳ２０３では，ヒストグラムから閾値を計算する。ステップＳ２０４では，ステップＳ２０３で計算した閾値と動きベクトルの成分との大小関係から，領域番号（領域１または領域２）を決定する。
【００７７】
ステップＳ２０３における閾値の計算について，図４（Ｂ）のモード番号１の場合を例に説明する。図４（Ｂ）のグラフの縦軸は，動きベクトルの成分ＭＶx の個数である。ステップＳ２０３における閾値Ｔｈx1，Ｔｈx2は，ヒストグラムにおける領域１と領域２の面積が同じになるように決定する。ステップＳ２０２におけるヒストグラム生成時に，ＭＶx の総数が分かるため，最小のＭＶx からカウントしていき，総数の１／４の個数に達したときのＭＶx の値を第１の閾値Ｔｈx1とし，３／４の個数に達したときのＭＶx の値を第２の閾値Ｔｈx2として定める。モード番号２の水平成分ＭＶy の場合の閾値Ｔｈy1，Ｔｈy2も同様に決定できる。
【００７８】
モード番号１またはモード番号２が選択された場合，閾値は符号化して補間フィルタ係数と同様に映像復号装置へ伝送する。
【００７９】
〔モード番号＝３，４，５〕
モード番号３，４，５は，動きベクトルの向きに着目して領域を分割するモードである。図５（Ａ）は，動きベクトルの向き（モード番号３〜５）による領域分割の処理フローを示している。まず，ステップＳ３０１では，符号化対象フレームについてブロック単位で動きベクトルを取得する。ステップＳ３０２では，動きベクトルの向きを判定する。ステップＳ３０３では，動きベクトルの向きによって領域番号（領域１または領域２）を決定する。
【００８０】
モード番号が３の分割モードの場合，図５（Ｂ）に示すように，動きベクトルが，第一象限か第三象限にあるときに第１の領域（領域１）とし，第二象限か第四象限にあるときに第２の領域（領域２）とする領域分割を行う。
【００８１】
モード番号が４の分割モードの場合，図５（Ｃ）に示すように，動きベクトルのｘ成分ＭＶx が０以上のときに第１の領域（領域１）とし，動きベクトルのｘ成分ＭＶx が０より小さいときに第２の領域（領域２）とする領域分割を行う。
【００８２】
モード番号が５の分割モードの場合，図５（Ｄ）に示すように，動きベクトルのｙ成分ＭＶy が０以上のときに第１の領域（領域１）とし，動きベクトルのｙ成分ＭＶy が０より小さいときに第２の領域（領域２）とする領域分割を行う。
【００８３】
〔モード番号＝６，７〕
モード番号６，７は，空間座標に着目して領域を分割するモードである。図６（Ａ）は，空間座標による領域分割の処理フローを示している。まず，ステップＳ４０１では，符号化対象ブロックの空間座標を取得する。ステップＳ４０２では，ステップＳ４０１で取得したブロックの空間座標の値によって領域番号（領域１または領域２）を決定する。
【００８４】
モード番号が６の分割モードは，図６（Ｂ）に示すように，画面を左右２つの領域に分割するモードであり，ブロックの空間座標ｘが，フレームの横幅の半分Ｆx ／２以下のときに第１の領域（領域１）とし，横幅の半分Ｆx ／２より大きいときに第２の領域（領域２）とするモードである。
【００８５】
モード番号が７の分割モードは，図６（Ｃ）に示すように，画面を上下２つの領域に分割するモードであり，ブロックの空間座標ｙが，フレームの縦幅の半分Ｆy ／２以下のときに第１の領域（領域１）とし，縦幅の半分Ｆy ／２より大きいときに第２の領域（領域２）とするモードである。
【００８６】
以上が領域数が２の場合の領域分割モードの例であるが，特に本発明の領域分割モードは，領域数が４の場合のモードを含む。以下に，領域数が４の場合の分割モードの一例を示す。
【００８７】
〔領域数が４の場合の例〕
図７（Ａ）は，領域数が４の場合の動きベクトルの向きによる領域分割の処理フローを示している。まず，ステップＳ５０１では，符号化対象フレームについてブロック単位で動きベクトルを取得する。ステップＳ５０２では，動きベクトルの向きを判定する。ステップＳ５０３では，動きベクトルの向きによって領域番号（領域１〜４）を決定する。
【００８８】
この分割モードの場合，図７（Ｂ），（Ｃ）に示すように，動きベクトルが，第一象限にあるときに第１の領域（領域１）とし，第二象限にあるときに第２の領域（領域２）とし，第三象限にあるときに第３の領域（領域３）とし，第四象限にあるときに第４の領域（領域４）とする領域分割を行う。
【００８９】
〔映像復号装置〕
図８は，本発明に係る映像復号装置の構成例を示す図である。映像復号装置２０は，図１に示す映像符号化装置１０が符号化したビットストリームを入力し，領域分割モードに応じて分割された領域ごとに適応補間フィルタを切り替えて小数精度画素の補間を行い，小数精度の動き補償によって復号画像を生成する。領域分割モードに応じて復号対象ブロックの領域を判定し，適応補間フィルタを切り替えて小数精度画素の補間を行う点が，図１５に示す従来の映像復号装置２００と異なる。
【００９０】
映像復号装置２０において，可変長復号部２１は，符号化ビットストリームを入力して，量子化変換係数，動きベクトル，補間フィルタ係数群などの復号を行う。特に領域分割モード復号部２１１は，映像符号化装置１０によって符号化された領域分割手法を示すモード番号を復号する。
【００９１】
領域判定部２２は，領域分割モード復号部２１１が復号したモード番号が示す領域分割モードに応じて，ブロックの動きベクトルまたは空間座標から復号対象フレームについて適応的に補間フィルタ係数を切り替える単位となる領域を判定する。補間フィルタ係数切り替え部２３は，領域判定部２２により判定された領域ごとに，可変長復号部２１で復号した補間フィルタ係数を切り替える。
【００９２】
予測信号生成部２４における参照画像補間部２４１は，参照画像メモリ２６に格納された復号済み参照画像に，補間フィルタ係数切り替え部２３から受け取った補間フィルタ係数による補間フィルタを適用し，参照画像の小数精度画素の復元を行う。予測信号生成部２４は，小数精度画素の復元が行われた参照画像から，復号対象ブロックの予測信号を生成する。
【００９３】
予測復号部２５は，可変長復号部２１で復号した量子化係数の逆量子化，逆直交変換などを行い，それにより算出された予測誤差信号と，予測信号生成部２４が生成した予測信号とを足し合わせて復号信号を生成し，復号画像として出力する。また，予測復号部２５が復号した復号信号は，後の予測復号のために，参照画像メモリ２６に格納する。
【００９４】
〔映像復号装置の処理フロー〕
図９は，映像復号装置２０が実行する映像復号処理のフローチャートである。以下では，特に断りがない限り，輝度信号での処理を仮定して説明するが，輝度信号だけでなく，色差信号にも適用可能である。
【００９５】
まず，ステップＳ６０１では，可変長復号部２１が入力ビットストリームからフレームヘッダの情報を取得する。次に，ステップＳ６０２では，画面内で補間フィルタ係数を切り替える判定に必要となる領域分割モード（モード番号）を復号する。続いて，ステップＳ６０３では，参照画像の小数精度画素の補間に必要となる各種補間フィルタ係数の復号を行い，領域ごとの補間フィルタ係数群を取得する。ステップＳ６０４では，動きベクトル（ＭＶ）などの各種の符号化情報の復号を行う。
【００９６】
続いて，ステップＳ６０５では，領域判定部２２が，ステップＳ６０２で得られた領域分割モードの定義に従い，ブロック単位でどの領域に属しているかの判定を実施し，領域番号を取得する。
【００９７】
続いて，ステップＳ６０６では，補間フィルタ係数切り替え部２３が，ステップＳ６０５で得られた領域番号から，ステップＳ６０３で得られた補間フィルタ係数群の中から最適な補間フィルタ係数を選択し，参照画像補間部２４１に通知する。参照画像補間部２４１は，通知された補間フィルタ係数により定まる補間フィルタを用いて参照画像の小数精度画素の復元を行う。小数精度画素の復元後，予測信号生成部２４は，ステップＳ６０４で復号した動きベクトルを用いて，復号対象ブロックの予測信号の生成を行う。
【００９８】
続いて，ステップＳ６０７では，可変長復号部２１が，入力ビットストリームから復号対象ブロックの予測残差信号の復号を行う。
【００９９】
続いて，ステップＳ６０８では，予測復号部２５が，ステップＳ６０６で得られた予測信号と，ステップＳ６０７で得られた予測残差信号を足し合わせて，復号信号を生成する。生成した復号信号は復号画像として出力するとともに，参照画像メモリ２６に格納する。
【０１００】
以上のステップＳ６０１〜Ｓ６０８を，全フレームの復号が終了するまで繰り返し，全フレームについての復号が終了したならば，処理を終了する（ステップＳ６０９）。
【０１０１】
以上の映像符号化および復号の処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【符号の説明】
【０１０２】
１０  映像符号化装置
１１  領域分割部
１２  補間フィルタ係数切り替え部
１３  予測信号生成部
１３１  参照画像補間部
１３２  動き検出部
１４  予測符号化部
１５  領域分割モード判定部
１６  可変長符号化部
１７  復号部
１８  参照画像メモリ
２０  映像復号装置
２１  可変長復号部
２１１  領域分割モード復号部
２２  領域判定部
２３  補間フィルタ係数切り替え部
２４  予測信号生成部
２４１  参照画像補間部
２５  予測復号部
２６  参照画像メモリ
【図１】
0005563403.tif 000006
【図２】
0005563403.tif 000007
【図３】
0005563403.tif 000008
【図４】
0005563403.tif 000009
【図５】
0005563403.tif 000010
【図６】
0005563403.tif 000011
【図７】
0005563403.tif 000012
【図８】
0005563403.tif 000013
【図９】
0005563403.tif 000014
【図１０】
0005563403.tif 000015
【図１１】
0005563403.tif 000016
【図１２】
0005563403.tif 000017
【図１３】
0005563403.tif 000018
【図１４】
0005563403.tif 000019
【図１５】
0005563403.tif 000020