(57)【特許請求の範囲】
【請求項１】
フィルタ対象画素周辺の画素値と各画素に対応した重みの線形結合により入力画像と原画像の二乗誤差を最小化するフィルタを用いる画像符号化方法であって，
入力画像をブロックに細分化し，ブロック内の起伏の強度に応じて複数のパターンに分類し，前記起伏の強度に応じた各パターンに対してさらにエッジの特徴に応じて１つ以上のパターンに分類し，前記起伏の強度に応じた各パターンおよび前記エッジの特徴に応じた各パターンそれぞれに対して二乗誤差を最小化するフィルタを生成するにあたって，前記エッジの特徴に応じた分類の１または複数のパターンにそれぞれ関連付けられた複数のクラスセットの中から，所定の最適化方法に従って前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定するクラスセット決定過程と，
前記起伏の強度に応じた各パターンに対して割り当てられたクラスセットによって指定される前記エッジの特徴に応じた分類のパターンに対応する係数セットを用いてフィルタを生成し，前記入力画像のブロックに対してフィルタを適用するフィルタ処理過程と，
前記起伏の強度に応じた各パターンに対して，どのクラスセットが割り当てられたかを示す情報を符号化する符号化過程とを有し，
かつ，前記クラスセット決定過程において前記起伏の強度に応じたパターンに対して割り当てるクラスセットの一つとして，さらに前記エッジの特徴に応じたパターン数が零のクラスセットを有しており，
前記クラスセット決定過程では，前記起伏の強度が低いパターンに対して，前記エッジの特徴に応じたパターン数が零のクラスセットを割り当てる
ことを特徴とする画像符号化方法。
【請求項２】
フィルタ対象画素周辺の画素値と各画素に対応した重みの線形結合により入力画像と原画像の二乗誤差を最小化するフィルタを用いる画像符号化方法であって，
入力画像をブロックに細分化し，ブロック内の起伏の強度に応じて複数のパターンに分類し，前記起伏の強度に応じた各パターンに対してさらにエッジの特徴に応じて１つ以上のパターンに分類し，前記起伏の強度に応じた各パターンおよび前記エッジの特徴に応じた各パターンそれぞれに対して二乗誤差を最小化するフィルタを生成するにあたって，前記エッジの特徴に応じた分類の１または複数のパターンにそれぞれ関連付けられた複数のクラスセットの中から，所定の最適化方法に従って前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定するクラスセット決定過程と，
前記起伏の強度に応じた各パターンに対して割り当てられたクラスセットによって指定される前記エッジの特徴に応じた分類のパターンに対応する係数セットを用いてフィルタを生成し，前記入力画像のブロックに対してフィルタを適用するフィルタ処理過程と，
前記起伏の強度に応じた各パターンに対して，どのクラスセットが割り当てられたかを示す情報を符号化する符号化過程とを有し，
かつ，前記クラスセット決定過程では，前記起伏の強度に応じた各パターンに割り当てられるクラスセットにそれぞれ対応する前記エッジの特徴に応じたパターンのすべてのパターン合計数が所定の上限値を超えないように制限した範囲内で，前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定する
ことを特徴とする画像符号化方法。
【請求項３】
請求項１または請求項２に記載の画像符号化方法において，
前記起伏の強度が低いパターンに対しては前記エッジの特徴に応じたパターン数を前記起伏の強度が高いパターンと比較して削減する
ことを特徴とする画像符号化方法。
【請求項４】
請求項１，請求項２または請求項３に記載の画像符号化方法において，
前記起伏の強度が高いパターンに対しては前記エッジの特徴に応じたパターン数を前記起伏の強度が低いパターンと比較して増やす
ことを特徴とする画像符号化方法。
【請求項５】
請求項１から請求項４までのいずれか１項に記載の画像符号化方法において，
前記クラスセットに関連付けられるパターンの一つとして，エッジの特徴による分類を行わず，当該領域の全ブロックに対して平均的に二乗誤差を最小化することを目的とした係数セットを割り当てることを示すパターン，または右斜め方向のエッジの特徴を持つブロックに対して二乗誤差を最小化することを目的とした係数セットを割り当てることを示すパターン，または左斜め方向のエッジの特徴を持つブロックに対して二乗誤差を最小化することを目的とした係数セットを割り当てることを示すパターンを有する
ことを特徴とする画像符号化方法。
【請求項６】
フィルタ対象画素周辺の画素値と各画素に対応した重みの線形結合により入力画像と原画像の二乗誤差を最小化するフィルタを用いる画像符号化装置であって，
入力画像をブロックに細分化し，ブロック内の起伏の強度に応じて複数のパターンに分類し，前記起伏の強度に応じた各パターンに対してさらにエッジの特徴に応じて１つ以上のパターンに分類し，前記起伏の強度に応じた各パターンおよび前記エッジの特徴に応じた各パターンそれぞれに対して二乗誤差を最小化するフィルタを生成するにあたって，前記エッジの特徴に応じた分類の１または複数のパターンにそれぞれ関連付けられた複数のクラスセットの中から，所定の最適化方法に従って前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定するクラスセット決定手段と，
前記起伏の強度に応じた各パターンに対して割り当てられたクラスセットによって指定される前記エッジの特徴に応じた分類のパターンに対応する係数セットを用いてフィルタを生成し，前記入力画像のブロックに対してフィルタを適用するフィルタ処理手段と，
前記起伏の強度に応じた各パターンに対して，どのクラスセットが割り当てられたかを示す情報を符号化する符号化手段とを備え，
かつ，前記クラスセット決定手段において前記起伏の強度に応じたパターンに対して割り当てるクラスセットの一つとして，さらに前記エッジの特徴に応じたパターン数が零のクラスセットを有しており，
前記クラスセット決定手段は，前記起伏の強度が低いパターンに対して，前記エッジの特徴に応じたパターン数が零のクラスセットを割り当てる
ことを特徴とする画像符号化装置。
【請求項７】
フィルタ対象画素周辺の画素値と各画素に対応した重みの線形結合により入力画像と原画像の二乗誤差を最小化するフィルタを用いる画像符号化装置であって，
入力画像をブロックに細分化し，ブロック内の起伏の強度に応じて複数のパターンに分類し，前記起伏の強度に応じた各パターンに対してさらにエッジの特徴に応じて１つ以上のパターンに分類し，前記起伏の強度に応じた各パターンおよび前記エッジの特徴に応じた各パターンそれぞれに対して二乗誤差を最小化するフィルタを生成するにあたって，前記エッジの特徴に応じた分類の１または複数のパターンにそれぞれ関連付けられた複数のクラスセットの中から，所定の最適化方法に従って前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定するクラスセット決定手段と，
前記起伏の強度に応じた各パターンに対して割り当てられたクラスセットによって指定される前記エッジの特徴に応じた分類のパターンに対応する係数セットを用いてフィルタを生成し，前記入力画像のブロックに対してフィルタを適用するフィルタ処理手段と，
前記起伏の強度に応じた各パターンに対して，どのクラスセットが割り当てられたかを示す情報を符号化する符号化手段とを備え，
かつ，前記クラスセット決定手段は，前記起伏の強度に応じた各パターンに割り当てられるクラスセットにそれぞれ対応する前記エッジの特徴に応じたパターンのすべてのパターン合計数が所定の上限値を超えないように制限した範囲内で，前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定する
ことを特徴とする画像符号化装置。
【請求項８】
フィルタ対象画素周辺の画素値と各画素に対応した重みの線形結合により入力画像と原画像の二乗誤差を最小化するフィルタを用いる画像復号方法であって，
入力画像をブロックに細分化し，ブロック内の起伏の強度に応じて複数のパターンに分類し，前記起伏の強度に応じた各パターンに対してさらにエッジの特徴に応じて１つ以上のパターンに分類し，前記起伏の強度に応じた各パターンおよび前記エッジの特徴に応じた各パターンそれぞれに対して二乗誤差を最小化するフィルタを生成するにあたって，前記エッジの特徴に応じた分類の１または複数のパターンにそれぞれ関連付けられた複数のクラスセットの中から，前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを指定する情報を復号し，復号した情報に基づいて前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定するクラスセット導出過程と，
前記起伏の強度に応じた各パターンに対して割り当てられたクラスセットによって指定される前記エッジの特徴に応じた分類のパターンに対応する係数セットを用いてフィルタを生成し，前記入力画像のブロックに対してフィルタを適用するフィルタ処理過程とを有し，
かつ，前記クラスセット導出過程において前記起伏の強度に応じたパターンに対して割り当てるクラスセットの一つとして，さらに前記エッジの特徴に応じたパターン数が零のクラスセットを有しており，
前記クラスセット導出過程では，前記起伏の強度が低いパターンに対して，前記エッジの特徴に応じたパターン数が零のクラスセットを割り当てる
ことを特徴とする画像復号方法。
【請求項９】
フィルタ対象画素周辺の画素値と各画素に対応した重みの線形結合により入力画像と原画像の二乗誤差を最小化するフィルタを用いる画像復号方法であって，
入力画像をブロックに細分化し，ブロック内の起伏の強度に応じて複数のパターンに分類し，前記起伏の強度に応じた各パターンに対してさらにエッジの特徴に応じて１つ以上のパターンに分類し，前記起伏の強度に応じた各パターンおよび前記エッジの特徴に応じた各パターンそれぞれに対して二乗誤差を最小化するフィルタを生成するにあたって，前記エッジの特徴に応じた分類の１または複数のパターンにそれぞれ関連付けられた複数のクラスセットの中から，前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを指定する情報を復号し，復号した情報に基づいて前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定するクラスセット導出過程と，
前記起伏の強度に応じた各パターンに対して割り当てられたクラスセットによって指定される前記エッジの特徴に応じた分類のパターンに対応する係数セットを用いてフィルタを生成し，前記入力画像のブロックに対してフィルタを適用するフィルタ処理過程とを有し，
かつ，前記クラスセット導出過程では，前記起伏の強度に応じた各パターンに割り当てられるクラスセットにそれぞれ対応する前記エッジの特徴に応じたパターンのすべてのパターン合計数が所定の上限値を超えないように制限した範囲内で，前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定する
ことを特徴とする画像復号方法。
【請求項１０】
請求項８または請求項９に記載の画像復号方法において，
前記起伏の強度が低いパターンに対しては前記エッジの特徴に応じたパターン数を前記起伏の強度が高いパターンと比較して削減する
ことを特徴とする画像復号方法。
【請求項１１】
請求項８，請求項９または請求項１０に記載の画像復号方法において，
前記起伏の強度が高いパターンに対しては前記エッジの特徴に応じたパターン数を前記起伏の強度が低いパターンと比較して増やす
ことを特徴とする画像復号方法。
【請求項１２】
請求項８から請求項１１までのいずれか１項に記載の画像復号方法において，
前記クラスセットに関連付けられるパターンの一つとして，エッジの特徴による分類を行わず，当該領域の全ブロックに対して平均的に二乗誤差を最小化することを目的とした係数セットを割り当てることを示すパターン，または右斜め方向のエッジの特徴を持つブロックに対して二乗誤差を最小化することを目的とした係数セットを割り当てることを示すパターン，または左斜め方向のエッジの特徴を持つブロックに対して二乗誤差を最小化することを目的とした係数セットを割り当てることを示すパターンを有する
ことを特徴とする画像復号方法。
【請求項１３】
フィルタ対象画素周辺の画素値と各画素に対応した重みの線形結合により入力画像と原画像の二乗誤差を最小化するフィルタを用いる画像復号装置であって，
入力画像をブロックに細分化し，ブロック内の起伏の強度に応じて複数のパターンに分類し，前記起伏の強度に応じた各パターンに対してさらにエッジの特徴に応じて１つ以上のパターンに分類し，前記起伏の強度に応じた各パターンおよび前記エッジの特徴に応じた各パターンそれぞれに対して二乗誤差を最小化するフィルタを生成するにあたって，前記エッジの特徴に応じた分類の１または複数のパターンにそれぞれ関連付けられた複数のクラスセットの中から，前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを指定する情報を復号し，復号した情報に基づいて前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定するクラスセット導出手段と，
前記起伏の強度に応じた各パターンに対して割り当てられたクラスセットによって指定される前記エッジの特徴に応じた分類のパターンに対応する係数セットを用いてフィルタを生成し，前記入力画像のブロックに対してフィルタを適用するフィルタ処理手段とを備え，
かつ，前記クラスセット導出手段において前記起伏の強度に応じたパターンに対して割り当てるクラスセットの一つとして，さらに前記エッジの特徴に応じたパターン数が零のクラスセットを有しており，
前記クラスセット導出手段は，前記起伏の強度が低いパターンに対して，前記エッジの特徴に応じたパターン数が零のクラスセットを割り当てる
ことを特徴とする画像復号装置。
【請求項１４】
フィルタ対象画素周辺の画素値と各画素に対応した重みの線形結合により入力画像と原画像の二乗誤差を最小化するフィルタを用いる画像復号装置であって，
入力画像をブロックに細分化し，ブロック内の起伏の強度に応じて複数のパターンに分類し，前記起伏の強度に応じた各パターンに対してさらにエッジの特徴に応じて１つ以上のパターンに分類し，前記起伏の強度に応じた各パターンおよび前記エッジの特徴に応じた各パターンそれぞれに対して二乗誤差を最小化するフィルタを生成するにあたって，前記エッジの特徴に応じた分類の１または複数のパターンにそれぞれ関連付けられた複数のクラスセットの中から，前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを指定する情報を復号し，復号した情報に基づいて前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定するクラスセット導出手段と，
前記起伏の強度に応じた各パターンに対して割り当てられたクラスセットによって指定される前記エッジの特徴に応じた分類のパターンに対応する係数セットを用いてフィルタを生成し，前記入力画像のブロックに対してフィルタを適用するフィルタ処理手段とを備え，
かつ，前記クラスセット導出手段は，前記起伏の強度に応じた各パターンに割り当てられるクラスセットにそれぞれ対応する前記エッジの特徴に応じたパターンのすべてのパターン合計数が所定の上限値を超えないように制限した範囲内で，前記起伏の強度に応じた各パターンに対して割り当てるクラスセットを決定する
ことを特徴とする画像復号装置。
【請求項１５】
請求項１から請求項５までのいずれか１項に記載の画像符号化方法を，コンピュータに実行させるための画像符号化プログラム。
【請求項１６】
請求項８から請求項１２までのいずれか１項に記載の画像復号方法を，コンピュータに実行させるための画像復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像を符号化する際に，画像撮影時のノイズや劣化画像の劣化を軽減する画像処理技術に関するものである。
【背景技術】
【０００２】
“ＭＰＥＧ”や“ＶＣＥＧ”にて現在国際標準化活動が行われている次世代映像符号化標準方式の“High Efficiency Video Coding”の雛形（Test Model）である“ＨＭ”には，インループフィルタに符号化歪の除去を目的としたDeblocking Filter, Sample Adaptive Offset, Adaptive Loop Filter の計３種類のフィルタが搭載されている（非特許文献１参照）。中でもAdaptive Loop Filterは，符号化対象フレームを所定の領域に分類し，その分類された領域ごとに復号画像と原画像の二乗誤差を最小化するフィルタであり，符号化効率改善の寄与率が高い。Adaptive Loop Filterを，以下，ＡＬＦという。
【０００３】
ＡＬＦはタップ形状として２種類（クロス型とスター型）を持っており，二乗誤差最小化フィルタの係数として，クロス型は９個，スター型は１０個が必要とされる。また，ＡＬＦはフィルタモードとして Region Adaptive（ＲＡ）とBlock Adaptive（ＢＡ）の２モードがある。それぞれの特徴を以下に記す。
【０００４】
［ＲＡモード］：符号化対象フレームを空間方向に縦横４分割して計１６個の領域に分割し，それぞれの領域ごとにタップの重みを算出する。
【０００５】
［ＢＡモード］：符号化対象フレームを４×４ブロック単位に分割し，それぞれにおいてアクティビティと呼ばれる指標とエッジの特徴の計２つの指標を用いた分類を行う。アクティビティを指標とした分類では，ブロック内の起伏の強度を用いて５段階に分類する。エッジの特徴を指標とした分類では，エッジの向き（水平／垂直／それ以外）の方向により，Vertical, Horizontal, Other の３種類に分類する，それぞれ分類された領域ごとにタップの重みを算出する。
【０００６】
符号化装置では，符号化対象画像に対して前記２種類のタップ形状と２つのフィルタモードからなる組み合わせを実行した上で，符号化効率が高い手法が選択される。以下，アクティビティを指標とした分類をアクティビティ分類，エッジの特徴を指標とした分類をエッジ分類と呼ぶ。
【０００７】
従来手法におけるアクティビティ分類の導出手法は，水平エッジの強度と垂直エッジの強度を加算した値に対して，所定の閾値を用いて５段階に分類される。後述する本発明の実施例においても，アクティビティ分類の手法は従来手法と同等のものを用いるものとする。また，従来手法におけるエッジ分類の導出手法は，上記水平エッジの強度と垂直エッジの強度を比較し，強度の大小関係から３段階に分類される。
【０００８】
ＡＬＦでは，復号装置に二乗誤差最小化フィルタの係数を伝送するため，ＢＡモードが選択された場合，クロス型では計１３５係数，スター型では計１５０係数の符号化／復号が必要になる。以下，領域ごとに算出される９個（クロス型）もしくは１０個（スター型）の二乗誤差最小化フィルタの係数群を係数セットと呼ぶ。また，これら係数セットの数を減らす提案として，アクティビティ分類を５段階から４段階に削減し，エッジ分類を３段階から２段階に削減した計８個の係数セットに削減する手法（非特許文献２参照）が報告されている。
【０００９】
〔映像符号化におけるＡＬＦ処理部の構成（従来手法）〕
図２２は，従来手法における映像符号化装置のＡＬＦ処理部の構成例を示す図である。ＡＬＦ処理部５００は，ＲＡモード領域決定部５０１と，ＢＡモード領域決定部５０２と，タップ形状およびＲＡ／ＢＡ決定部５０３と，ＣＵ(Coding Unit) 適応モード決定部５０４とを備える。
【００１０】
図２２の映像符号化装置におけるＡＬＦ処理部５００は，“復号画像”，“ＣＵ情報”，“原画像”を入力とし，複数パターンのＡＬＦを適用した後，最適なＡＬＦのパターンで符号化されたときの“ＡＬＦオーバーヘッド”と“出力画像”を出力する。
【００１１】
ＲＡモード領域決定部５０１は，画面を空間方向に１６分割して，各画素に割り当てる係数セットの番号を設定した後，その“画素ごとの係数セットの番号”を出力する。ＢＡモード領域決定部５０２は，所定サイズのブロックごとに装置側で定められたアクティビティ分類の段階（５段階）とその導出手法・エッジ分類の段階（３段階）とその導出手法を用いて“画素ごとの係数セット番号”を出力する。各分類／導出の手法は，非特許文献１に記載の手法を用いる。
【００１２】
タップ形状およびＲＡ／ＢＡ決定部５０３は，クロス型とスター型の２種類のタップとＢＡ／ＲＡそれぞれ４通りのＡＬＦを適用してＲＤ最適化を行い，最適なタップとフィルタモードを決定し，“タップ形状”，“フィルタモード”，“画素ごとの係数セット番号”を出力する。ＣＵ適応モード決定部５０４では，ＣＵごとにＡＬＦの適用／非適用を切り替える手法を試行し，同時に係数群の再構成を行いながらＲＤ最適化を行い，その最適な手法を用いた際の“出力画像”と“ＡＬＦオーバーへッド”を出力する。
【００１３】
〔映像符号化におけるＡＬＦ処理手順（従来手法）〕
図２３は，図２２に示す従来の映像符号化装置内のＡＬＦ処理部５００の処理フローチャートである。この処理手順では，“復号画像”，“ＣＵ情報”，“原画像”を入力とし，“ＡＬＦオーバーヘッド”と“出力画像”を出力する。機能は，最適なタップ形状，フィルタモード，フィルタ係数，ＣＵごとのＡＬＦ適応範囲を決定し，復号画像に対してＡＬＦを適用することである。
・ステップＳ１００１：画面を１６分割してＲＡモードの領域を決定する。各領域に該当する画素には適用される係数セットの番号が付与され，これら画素ごとの係数セット番号を出力する。
・ステップＳ１００２：アクティビティ分類の段階／導出方法およびエッジ分類の段階／導出方法を用いてＢＡモードの領域を決定する。各領域に該当する画素には適用される係数セットの番号が付与され，これら画素ごとの係数セット番号を出力する。
・ステップＳ１００３：タップ形状（クロス型／スター型）とフィルタモード（ＢＡ／ＲＡ  ）の組み合わせを用いて全パターンのＡＬＦ出力画像からＲＤ最適化を行い，最良のタップ形状とフィルタモードを導出する。
・ステップＳ１００４：ＣＵごとにＡＬＦの適用／非適用を切り替え，最適な分割をＲＤ最適化によって決定する。
・ステップＳ１００５：出力画像とＡＬＦオーバーヘッドを出力する。
【００１４】
〔映像復号におけるＡＬＦ処理部の構成（従来手法）〕
図２４は，従来手法における映像復号装置のＡＬＦ処理部の構成例を示す図である。ＡＬＦ処理部６００は，ＲＡモード領域決定部６０１と，ＢＡモード領域決定部６０２と，ＣＵ適用領域決定部６０３と，ＡＬＦ適用部６０４とを備える。
【００１５】
図２４のＡＬＦ処理部６００は，“ＡＬＦオーバーヘッド”，“復号画像”，“ＣＵ情報”を入力し，ＡＬＦ適用後の“出力画像”を出力する。
【００１６】
ＲＡモード領域決定部６０１，ＢＡモード領域決定部６０２は，図２２におけるＲＡモード領域決定部５０１，ＢＡモード領域決定部５０２と同等の機能を有する。ＣＵ適用領域決定部６０３は，“ＣＵごとのＡＬＦ適用フラグ群”，“ＣＵ情報”を入力とし，“画素ごとのＡＬＦ適用情報”を出力する。ＡＬＦ適用部６０４は，“復号画像”，“画素ごとの係数セット番号”，“画素ごとのＡＬＦ適用情報”，“係数セット群”を入力とし，ＡＬＦ適用後の“出力画像”を出力する。
【００１７】
〔映像復号におけるＡＬＦ処理手順（従来手法）〕
図２５は，図２４に示す従来の映像復号装置内のＡＬＦ処理部６００の処理フローチャートである。この処理手順では，“復号画像”，“ＣＵ情報”，“ＡＬＦオーバーヘッド”を入力とし，“出力画像”を出力する。機能は符号化装置側で決定されたタップ形状，フィルタモード，フィルタ係数，ＣＵごとのＡＬＦ適応範囲を用いて復号画像に対してＡＬＦを適用することである。
・ステップＳ１１０１：復号画像とＡＬＦオーバーヘッドを取得する。
・ステップＳ１１０２：フィルタモードに応じた分岐を行い，ＲＡモードであれば，ステップＳ１１０３を実行し，ＢＡモードであればステップＳ１１０４を実行する。
・ステップＳ１１０３：画面を１６分割してＲＡモードの領域を決定する。各領域に該当する画素には，適用される係数セットの番号が付与され，これら画素ごとの係数セット番号を出力する。
・ステップＳ１１０４：アクティビティ分類の段階／導出方法およびエッジ分類の段階／導出方法を用いてＢＡモードの領域を決定する。各領域に該当する画素には，適用される係数セットの番号が付与され，これら画素ごとの係数セット番号を出力する。
・ステップＳ１１０５：ＣＵごとにＡＬＦの適用／非適用を切り替え，画素ごとのＡＬＦ適用情報を出力する。
・ステップＳ１１０６：ＡＬＦを適用して出力画像を出力する。
【先行技術文献】
【非特許文献】
【００１８】
【非特許文献１】Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J.Sullivan, Thomas Wiegand, “WD4: Working Draft 4 of High-Efficiency Video Coding”, JCTVC-F803＿d6.doc Joint Collaborative Team on Video Coding(JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, 14-22 July, 2011, pp. 146-152.
【非特許文献２】P.Lai, F.C.A.Fernandes, I.-K.Kim,“CE8 Subtest a, Tool 3: Block-based filter adaptation with 8 initial filter classes(HV8) ”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting: Geneva, CH, 21-30 November, 2011.
【発明の概要】
【発明が解決しようとする課題】
【００１９】
ＢＡモードにおける従来手法の問題点を以下に列挙する。
【００２０】
［問題点１］
すべてのアクティビティ分類に対して，等しくＮ段階（非特許文献１，２では，Ｎ＝３，２）にエッジ分類されるため，アクティビティが低い領域では発生符号量に無駄が多い。
【００２１】
アクティビティが低い領域としては，周辺画素値に大きな変化が発生していない平坦な領域もしくはなだらかに変化している領域がこれに該当する。これらの領域に対してＡＬＦを適用しても周辺画素に変化がないため，フィルタ前後で大きな画素値変化は発生せず，アクティビティが高い領域と比較して大きな画質改善効果は期待できない。従来手法では，これらアクティビティが低い領域に対しても高いアクティビティの領域と同等に係数セットを割り当てているため，発生符号量の増加を誘発している。
【００２２】
［問題点２］
すべてのアクティビティ分類に対して等しくＮ段階にエッジ分類されるため，アクティビティが高い領域では十分な画質改善が行えない。
【００２３】
アクティビティが高い領域としては，明確なテクスチャエッジ周辺や歪が大きい領域がこれに該当する。これらの領域に対してはＡＬＦ適用前後で大きな画素値変化があるため，画質の改善効果が高い。しかし，従来手法ではエッジ分類として３段階しか適用できず，例えばエッジ分類のOther には，左右斜め方向に相関が強いエッジの特徴を持つブロックも，ホワイトノイズのような特徴を持つブロックも割り当てられるため，エッジの特徴に応じた二乗誤差を十分に最小化するフィルタが設計できない。そのため，十分な画質改善が行えない。
【００２４】
［問題点３］
周辺画素値にほとんど変化がない画素に対しても常にＡＬＦが適用されるため，復号装置の演算に無駄が多い。
【００２５】
ＡＬＦの処理手順として，符号化対象画像の全体にＡＬＦを適用するモードと，発生符号量は著しく増加するものの，ＣＵ(Coding Unit) 単位でＡＬＦの適用／非適用を明示するモードが用意されている。前者の場合，上記問題点１に記載の通り，アクティビティが低い領域に対しては大きな画質改善効果は期待できないが，従来手法ではアクティビティがどんなに低い領域に対しても，必ず復号装置でＡＬＦの処理が行われるため，復号装置の演算に多くの無駄を含む。
【００２６】
ただし，上記問題点１〜３は，あらゆる映像に対して定性的に当てはまることではない。そのため，従来手法を包含し，かつ映像に合わせて柔軟に対応できる手法が求められる。
【課題を解決するための手段】
【００２７】
本発明は，上記課題を解決するため，フィルタ対象画素周辺の画素値と各画素に対応した重みの線形結合により入力画像と原画像の二乗誤差を最小化するフィルタを用いる画像符号化（または画像復号）において，入力画像をブロックに細分化し，ブロック内の起伏の強度に応じて複数のパターン（段階ともいう）に分類し，前記起伏の強度に応じた各パターンに対してさらにエッジの特徴に応じて１つ以上のパターン（段階）に分類し，前記起伏の強度に応じた各パターンおよび前記エッジの特徴に応じた各パターンそれぞれに対して二乗誤差を最小化するフィルタを生成する手段を持ち，前記起伏の強度に応じたパターンごとに，前記エッジの特徴に応じた分類の数を可変とすることを特徴とする。
【００２８】
また，上記発明において，前記起伏の強度が低いパターンに対しては前記エッジの特徴に応じたパターン数を強度が高いパターンと比較して削減することを特徴とする。
【００２９】
また，上記発明において，前記起伏の強度が低いパターンに対しては前記エッジの特徴に応じたパターン数を零に設定し，フィルタを適用しないことを特徴とする。
【００３０】
また，上記発明において，前記起伏の強度が高いパターンに対しては前記エッジの特徴に応じたパターン数を強度が低いパターンと比較して増やすことを特徴とする。
【００３１】
また，上記発明において，前記起伏の強度に応じたパターンごとに割り当てられる前記エッジの特徴に応じたパターンのすべての合計数が所定の上限値を超えないように制限することを特徴とする。
【００３２】
本発明では，例えば符号化／復号装置に共通でエッジ分類に新たに下記の４パターンを追加する。
（１）None：当該領域の画素群にはＡＬＦフィルタを適用しない（係数セットは不要）
（２）Single：エッジの特徴による分類を行わず，当該領域の全ブロックに対して平均的に二乗誤差を最小化することを目的とした係数セット
（３）Diagonal right：右斜め方向のエッジの特徴を持つブロックに対して二乗誤差を最小化することを目的とした係数セット
（４）Diagonal left ：左斜め方向のエッジの特徴を持つブロックに対して二乗誤差を最小化することを目的とした係数セット
ここで，エッジ分類パターンを増やすだけでは，係数セットの数が増加するため符号量が増加する上，例えば上記の None や Single のように他のパターンとの重複を許容しないパターンも存在する。そこで，図１（Ｂ）のように分類手法が１つ以上のエッジ分類パターンを保持するクラスセット（ClassSet）と呼ぶ構造を与える。
【００３３】
図１は，エッジ分類手法における選択自由度の例を示しており，図１（Ａ）が従来手法，図１（Ｂ）が本実施形態の例を示している。ClassSetは，前記 None や Single のような重複を排除したエッジ分類パターンを保持し，対象領域の各ブロックを保持するエッジ分類パターンの何れのパターンに割り当てるかを決定する分類手法（例えば従来技術における水平エッジと垂直エッジの強度の比較からなる３段階のエッジ分類の導出手法に相当する手法) を保持しているものとする。これを用い，アクティビティ分類の段階ごとに任意のClassSetを割り当て，エッジ分類手法の数とパターンを選択できる自由度を持たせる。そのため，従来手法を確実に包含する手法が構築可能である。アクティビティ分類の段階ごとのClassSetは，後述するように，符号化装置ではＡＬＦ処理部１１０３における最適ClassSet決定部２０５（図４）にて最適化され，復号装置ではＡＬＦオーバーヘッドからＡＬＦ処理部３０８３（図８）にて導出される。
【００３４】
アクティビティ分類の段階ごとに，例えばClassSet（Ａ〜Ｅ）の中からどの手法を適用するかを符号化装置にて最適化し，適用したClassSetを明示する番号を符号化／復号することで実現する。図１（Ｂ）におけるClassSet（Ａ〜Ｅ）の５パターンの分類は一例であり，より多くのエッジの特徴に対応したClassSetを追加してもよい。
【００３５】
本手法を導入することによる従来手法との大きな違いは，符号化装置のＡＬＦ処理部１１０３における最適ClassSet決定部２０５および復号装置のＡＬＦ処理部３０８３におけるエッジ分類の段階／導出手法決定部４０５等の部分であるが，適用したClassSetを明示する番号を符号化／復号するため，符号化装置ではＲＤ最適化を行うタップ形状およびＲＡ／ＢＡ決定部２０３およびＣＵ適応モード決定部２０４にてこれら符号を考慮して最適化／ＡＬＦオーバーヘッドを生成する部分が従来手法と異なる。また，復号装置ではＡＬＦオーバーヘッドからClassSetを明示する番号を抽出する部分が従来手法と異なる。
【００３６】
ClassSetを明示する手法として，アクティビティの段階ごとに番号を付与する手法や，代表的な組み合わせをあらかじめ生成しておき，その組み合わせを明示する番号を付与する手法などが考えられる。後述する本発明の実施形態の説明では，アクティビティの段階ごとに番号を付与する手法についてのみ詳細を説明する。しかし，他の番号を付与する手法でも実施可能である。
【００３７】
ただし，本アプローチの導入により，係数セットの数が設計された上限値を上回る可能性がある。すなわち，アクティビティ分類の５段階すべてのClassSetに，図１のＡ〜Ｅまでの５パターンの選択／適用を許容したままＲＤ最適化を行うと，アクティビティ分類の５段階すべてに対して４つの係数セットを保持する ClassSet Ｅが適用される可能性がある。このとき，係数セットは２０個必要になり，従来手法の１５個を上回る。そのため１５個の係数セットまでしか許容できない復号装置の場合には，最悪値として２０個まで許容するように再設計し，回路規模を拡大しなければならない。
【００３８】
この新たな課題は，符号化装置のＡＬＦ処理部１１０３における最適ClassSet決定部２０５にて係数セット数の上限を設定し，上限を超えないようにClassSetを最適化する手順を導入することで解決できる。
【発明の効果】
【００３９】
本発明によれば，映像符号化におけるＡＬＦ処理において，Ｎ段階に等しくエッジ分類されていた既存手法に対して，最適ClassSet決定部は，アクティビティ分類の段階ごとに複数のエッジ分類手法を切り替える自由度を与える。これにより，アクティビティが低い領域に対してはエッジ分類の数が少ないClassSetを割り当て，アクティビティが高い領域に対してはエッジ分類の数が多いClassSetを割り当てることで，上記問題点１，２の解決を図る。
【００４０】
また，従来手法にはなかったＡＬＦの処理を省略するClassSetを適用することで，上記問題点３の解決を図る。ただし，従来手法よりエッジ分類の多いClassSetが多用されると，係数セットの数が設計された上限値を上回る可能性がある。そのため，最適ClassSet決定部に係数セット数上限値を入力として与えることで，設計された範囲内の結果を出力することを保証する。
【図面の簡単な説明】
【００４１】
【図１】エッジ分類手法における選択自由度の例を示す図である。
【図２】本発明を適用した映像符号化装置の構成例を示す図である。
【図３】映像符号化装置の処理フローチャートである。
【図４】本実施形態の映像符号化におけるＡＬＦ処理部の構成例を示す図である。
【図５】本実施形態の映像符号化におけるＡＬＦ処理部の処理フローチャートである。
【図６】本発明を適用した映像復号装置の構成例を示す図である。
【図７】映像復号装置の処理フローチャートである。
【図８】本実施形態の映像復号におけるＡＬＦ処理部の構成例を示す図である。
【図９】本実施形態の映像復号におけるＡＬＦ処理部の処理フローチャートである。
【図１０】本実施形態を用いて発生符号量の削減を実現する最適化の処理フローチャートである。
【図１１】本実施形態を用いて発生符号量を削減する例を示す図である。
【図１２】本実施形態を用いて画質を改善する最適化の処理フローチャートである。
【図１３】本実施形態を用いて画質を改善する例を示す図である。
【図１４】本実施形態を用いて復号装置の演算量を削減する最適化の処理フローチャートである。
【図１５】本実施形態を用いて復号装置の演算量を削減する例を示す図である。
【図１６】本実施形態を用いてハードウェアの回路規模肥大化を抑制する最適化の処理フローチャートである。
【図１７】本実施形態を用いて発生符号量を削減した結果の数値例を示す図である。
【図１８】本実施形態を用いて復号装置の演算量を削減した結果の数値例を示す図である。
【図１９】本実施形態を用いて画質を改善した結果の数値例を示す図である。
【図２０】映像符号化装置をコンピュータとソフトウェアプログラムとを用いて実現する場合のシステムの構成例を示す図である。
【図２１】映像復号装置をコンピュータとソフトウェアプログラムとを用いて実現する場合のシステムの構成例を示す図である。
【図２２】従来技術の映像符号化におけるＡＬＦ処理部の構成例を示す図である。
【図２３】従来技術の映像符号化におけるＡＬＦ処理部の処理フローチャートである。
【図２４】従来技術の映像復号におけるＡＬＦ処理部の構成例を示す図である。
【図２５】従来技術の映像復号におけるＡＬＦ処理部の処理フローチャートである。
【発明を実施するための形態】
【００４２】
以下，図面を用いながら，本発明の実施の形態を説明する。
【００４３】
〔映像符号化装置の構成〕
図２は，本発明を適用した映像符号化装置の構成例を示す図である。本発明は，例えば図２に示すような映像符号化装置に適用されるが，これは一例であり，本発明は必ずしも図２に示すような装置構成のものに限定されるわけではない。本実施形態は，特にＡＬＦ処理部１１０３の部分が従来技術と異なる部分であり，他の部分は従来の一般的な映像符号化装置の構成と同様である。
【００４４】
図２の映像符号化装置は，符号化対象シーケンスを入力し，各フレームをブロックに分割してブロックごとに符号化し，そのビットストリームを符号化ストリームとして出力する。
【００４５】
符号化対象ブロックは，入力信号として減算器１０１に入力される。減算器１０１は，符号化対象ブロックと，イントラ予測部１０２もしくはインター予測部１０３の予測ブロックとの差分を求め，それを予測残差信号とする。変換部１０４は，予測残差信号に対する直交変換（ＤＣＴ）等を行い，変換係数を出力する。量子化部１０５は，変換係数を量子化し，量子化後変換係数を出力する。
【００４６】
逆量子化部１０６では，量子化部１０５の出力である量子化後変換係数に対して逆量子化が行われ，逆変換部１０７では，変換部１０４による変換の逆変換が行われる。逆変換後の値は，加算器１０８にて前記予測ブロックと加算合成され，復号画像記憶部１０９に格納される。復号画像記憶部１０９の画像は，イントラ予測部１０２にて使用される。
【００４７】
当該フレームのすべてのブロックに対して上記処理が終了すると，インループフィルタ処理部１１０にて復号画像の符号化歪を除去する画像処理フィルタが施され，フィルタ後の復号画像はフレームバッファ１１１に格納される。ここで，インループフィルタ処理部１１０は，デブロッキングフィルタ処理部（以下，ＤＦ処理部）1 １０１，Sample Adaptive Offset処理部（以下，ＳＡＯ処理部）１１０２，ＡＬＦ処理部１１０３を内包しており，それぞれ定められた画像処理フィルタを実行する。フレームバッファ１１１の画像は，インター予測部１０３にて使用される。
【００４８】
イントラ予測部１０２，インター予測部１０３が出力する予測情報や量子化部１０５が出力する量子化後変換係数，インループフィルタ処理部１１０のオーバーヘッドは，エントロピー符号化部１１２に入力され，エントロピー符号化部１１２は，それらを符号化して符号化ストリームを出力する。符号化情報記憶部１１３は，復号装置側でも参照可能な符号化済みの各種ブロックサイズや予測情報，量子化後の係数値，インループフィルタオーバーヘッドなど，各種値を格納する記憶部であり，符号化情報記憶部１１３の情報は，映像符号化装置内の様々な処理部で引用される。
【００４９】
〔映像符号化の処理手順〕
図３は，図２に示す映像符号化装置の処理フローチャートである。この処理手順における入力は，符号化対象シーケンスであり，出力は，符号化ストリームである。機能は，符号化対象シーケンスを符号化ストリームに変換することである。
・ステップＳ１０１：符号化対象シーケンスを符号化対象画像ごとに読み込む。
・ステップＳ１０２：符号化対象画像をブロックごとに読み込む。
・ステップＳ１０３：読み込んだ符号化対象ブロックと予測ブロックとの差分をとり，差分ブロックを生成する。
・ステップＳ１０４：差分ブロックに対して直交変換を適用する。
・ステップＳ１０５：直交変換後の係数値を量子化する。
・ステップＳ１０６：量子化後の係数値を逆量子化する。
・ステップＳ１０７：逆量子化後の係数値を逆直交変換する。
・ステップＳ１０８：逆直交変換後の予測残差とステップＳ１０３の予測ブロックとを加算合成し，復号画像記憶部１０９に格納する。
・ステップＳ１０９：すべてのブロックの処理が終了したかの判定を行い，未処理のブロックがある場合には，ステップＳ１０２へ戻り，次のブロックについて同様に処理を繰り返す。
・ステップＳ１１０：すべてのブロックの処理が終了したならば，復号画像に対してインループフィルタ（ＤＦ，ＳＡＯ，ＡＬＦ）を適用し，フレームバッファ１１１に格納する。
・ステップＳ１１１：予測情報や量子化後の係数値，インループフィルタオーバーヘッドなどをエントロピー符号化する。
・ステップＳ１１２：すべてのフレームの処理が終了したかの判定を行い，未処理のフレームがある場合には，ステップＳ１０１へ戻り，次のフレームについて同様に処理を繰り返す。
・ステップＳ１１３：符号化ストリームを出力する。
【００５０】
〔映像符号化装置におけるＡＬＦ処理部の構成例〕
図４は，本実施形態における映像符号化装置のＡＬＦ処理部１１０３の構成例を示す図である。本実施形態における映像符号化装置のＡＬＦ処理部１１０３は，ＲＡモード領域決定部２０１と，ＢＡモード領域決定部２０２と，タップ形状およびＲＡ／ＢＡ決定部２０３と，ＣＵ適応モード決定部２０４と，最適ClassSet決定部２０５と，エッジ分類の段階／導出手法決定部２０６とを備える。
【００５１】
図４のＡＬＦ処理部１１０３は，“復号画像”，“ＣＵ情報”，“原画像”を入力し，複数パターンのＡＬＦを適用した後，最適なＡＬＦのパターンで符号化されたときの“ＡＬＦオーバーヘッド”と“出力画像”を出力する。なお，ＣＵは，符号化を行うブロックのサイズに応じた符号化単位である。
【００５２】
ＲＡモード領域決定部２０１およびＢＡモード領域決定部２０２は，図２２において従来手法として説明したＲＡモード領域決定部５０１，ＢＡモード領域決定部５０２と同等の機能を有する。
【００５３】
最適ClassSet決定部２０５は，最適化対象とする“ClassSet群”，“アクティビティ分類の段階／導出手法”，“係数セット数上限値”，“復号画像”，“原画像”を入力とし，合計の係数セット数が上限値を超えない範囲で最適化されたアクティビティ分類の段階ごとのClassSetを決定する。また，決定したアクティビティ分類の段階ごとの“最適ClassSet番号群”を出力する。ClassSet番号とは，この例では，ＡからＥまでのどのClassSetかを示す番号である。
【００５４】
エッジ分類の段階／導出手法決定部２０６は，“最適ClassSet番号群”と“ClassSet群”とを入力とし，ClassSetが保持する“エッジ分類の段階／導出手法”を出力する。この導出手法とは，例えばエッジ分類の段階に対してエッジ分類をあらかじめ定められたどのような評価式を用いて行うかを示すものである。
【００５５】
タップ形状およびＲＡ／ＢＡ決定部２０３およびＣＵ適応モード決定部２０４は，入力される“アクティビティ分類の段階ごとの最適ClassSet番号”を符号化してＲＤ最適化を行い，ＡＬＦオーバーヘッドを作成する以外は，図２２におけるタップ形状およびＲＡ／ＢＡ決定部５０３およびＣＵ適応モード決定部５０４と同等の機能を有する。
【００５６】
〔映像符号化におけるＡＬＦ処理手順（本実施形態）〕
図５は，図４に示す本実施形態における映像符号化装置内のＡＬＦ処理部１１０３の処理フローチャートである。この処理手順における入力は，“復号画像”，“ＣＵ情報”，“原画像”であり，出力は，最適なＡＬＦのパターンで符号化されたときの“ＡＬＦオーバーヘッド”と“出力画像”である。
・ステップＳ２０１：画面を１６分割してＲＡモードの領域を決定する。各領域に該当する画素には適用される係数セットの番号が付与され，これら画素ごとの係数セット番号を出力する。
・ステップＳ２０２：係数セット数上限値を超えない範囲でアクティビティ分類の段階ごとに最適なClassSet番号を決定する。
・ステップＳ２０３：ステップＳ２０２で決定されたClassSet番号から，各ClassSetに対してあらかじめ定められているエッジ分類の段階／導出手法を決定する。
・ステップＳ２０４：アクティビティ分類の段階／導出方法およびエッジ分類の段階／導出方法を用いてＢＡモードの領域を決定する。各領域に該当する画素には適用される係数セットの番号が付与され，これら画素ごとの係数セット番号を出力する。
・ステップＳ２０５：タップ形状（クロス型／スター型）とフィルタモード（ＢＡ／ＲＡ  ）の組み合わせを用いて全パターンのＡＬＦ出力画像からＲＤ最適化を行い，最良のタップ形状とフィルタモードを導出する。
・ステップＳ２０６：ＣＵごとにＡＬＦの適用／非適用を切り替え，最適な分割をＲＤ最適化によって決定する。
・ステップＳ２０７：出力画像とＡＬＦオーバーヘッドを出力する。
【００５７】
〔映像復号装置の構成〕
図６は，本発明が適用される復号装置の構成例を示す図である。本発明は，例えば図６に示すような映像復号装置に適用されるが，これは一例であり，本発明は必ずしも図３に示すような装置構成のものに限定されるわけではない。本実施形態は，特にＡＬＦ処理部３０８３の部分が従来技術と異なる部分であり，他の部分は従来の一般的な映像復号装置の構成と同様である。
【００５８】
図６の映像復号装置は，符号化ストリームを入力する。入力された符号化ストリームから，エントロピー復号部３０１にてブロックごとの予測情報や量子化後変換係数，インループフィルタオーバーヘッドが復号される。復号された量子化後変換係数は逆量子化部３０２にて逆量子化が行われ，逆変換部３０３にて逆直交変換（ＩＤＣＴ）等が行われる。逆変換部３０３の出力信号は，加算器３０４にてイントラ予測部３０５もしくはインター予測部３０６の予測ブロックと加算合成され，復号画像記憶部３０７に格納される。復号画像記憶部３０７の画像はイントラ予測部３０５にて使用される。
【００５９】
当該フレームのすべてのブロックに対して上記処理が終了すると，インループフィルタ処理部３０８にて復号画像の符号化歪を除去する画像処理フィルタが施され，フィルタ後の復号画像はフレームバッファ３０９に格納される。ここで，インループフィルタ処理部３０８は，ＤＦ処理部３０８１，ＳＡＯ処理部３０８２，ＡＬＦ処理部３０８３を内包しており，それぞれ定められた画像処理フィルタを実行する。フレームバッファ３０９の画像は，インター予測部３０６にて使用される。符号化情報記憶部３１０は，各種ブロックサイズや予測情報，量子化後の係数値，インループフィルタオーバーヘッドなど，各種値を格納する記憶部であり，符号化情報記憶部３１０の情報は映像復号装置内の様々な処理部で引用される。
【００６０】
〔映像復号の処理手順〕
図７は，図６に示す映像復号装置の処理フローチャートである。この処理手順における入力は，符号化ストリームであり，出力は，復号シーケンスである。機能は，入力した符号化ストリームを復号シーケンスに変換することである。
・ステップＳ３０１：符号化ストリームを読み込む。
・ステップＳ３０２：符号化ストリームをエントロピー復号し，予測情報や量子化後の係数値，インループフィルタオーバーヘッド等の情報を復号する。
・ステップＳ３０３：量子化後の係数値を逆量子化する。
・ステップＳ３０４：逆量子化後の係数値を逆直交変換する。
・ステップＳ３０５：逆直交変換で得られた予測残差と予測ブロックとを加算合成し，復号画像記憶部３０７に格納する。
・ステップＳ３０６：復号画像に対してインループフィルタ（ＤＦ，ＳＡＯ，ＡＬＦ）を適用し，復号画像をフレームバッファ３０９に格納する。
・ステップＳ３０７：復号シーケンスを出力する。
【００６１】
〔映像復号装置におけるＡＬＦ処理部の構成（本実施形態）〕
図８は，本実施形態における映像復号装置のＡＬＦ処理部３０８３の構成例を示す図である。本実施形態における映像復号装置のＡＬＦ処理部３０８３は，ＲＡモード領域決定部４０１と，ＢＡモード領域決定部４０２と，ＣＵ適用領域決定部４０３と，ＡＬＦ適用部４０４と，エッジ分類の段階／導出手法決定部４０５とを備える。
【００６２】
図８のＡＬＦ処理部３０８３は，“ＡＬＦオーバーヘッド”，“復号画像”，“ＣＵ情報”を入力し，ＡＬＦ適用後の“出力画像”を出力する。
【００６３】
ＲＡモード領域決定部４０１，ＢＡモード領域決定部４０２，ＣＵ適用領域決定部４０３，ＡＬＦ適用部４０４は，図２４で説明した従来手法におけるＲＡモード領域決定部６０１，ＢＡモード領域決定部６０２，ＣＵ適用領域決定部６０３，ＡＬＦ適用部６０４と同等の機能を有し，エッジ分類の段階／導出手法決定部４０５は，図４におけるエッジ分類の段階／導出手法決定部２０６と同等の機能を有する。
【００６４】
〔映像復号におけるＡＬＦ処理手順（本実施形態）〕
図９は，図８に示す本実施形態における映像復号装置内のＡＬＦ処理部３０８３の処理フローチャートである。この処理手順では，“復号画像”，“ＣＵ情報”，“ＡＬＦオーバーヘッド”を入力とし，“出力画像”を出力する。機能は，符号化装置側で決定されたタップ形状，フィルタモード，フィルタ係数，ＣＵごとのＡＬＦ適応範囲を用いて復号画像に対してＡＬＦを適用することである。
・ステップＳ４０１：復号画像とＡＬＦオーバーヘッドを取得する。
・ステップＳ４０２：フィルタモードの分岐を行い，ＲＡモードであればステップＳ４０３を実行し，ＢＡモードであればステップＳ４０４，Ｓ４０５を実行する。
・ステップＳ４０３：画面を１６分割してＲＡモードの領域を決定する。各領域に該当する画素には適用される係数セットの番号が付与され，これら画素ごとの係数セット番号を出力する。
・ステップＳ４０４：ClassSet番号からエッジ分類の段階／導出手法を決定する。
・ステップＳ４０５：アクティビティ分類の段階／導出方法およびClassSetに関連付けられたエッジ分類の段階／導出方法を用いてＢＡモードの領域を決定する。各領域に該当する画素には適用される係数セットの番号が付与され，これら画素ごとの係数セット番号を出力する。
・ステップＳ４０６：ＣＵごとにＡＬＦの適用／非適用を切り替え，画素ごとのＡＬＦ適用情報を出力する。
・ステップＳ４０７：ＡＬＦを適用して出力画像を出力する。
【００６５】
次に，最適ClassSet決定部２０５における処理により実現可能な処理の例を，実施例１〜４として説明する。なお，最適化対象とするClassSet群には，図１（Ｂ）に記載の ClassSet Ａ〜Ｅの５パターンを与えるものとする。
【００６６】
〔実施例１：符号量削減の例〕
アクティビティが低い領域のエッジ分類の数を減らし，合計の係数セット数を削減することで，発生符号量の削減を実現する。
【００６７】
図１０に，最適ClassSet決定部２０５の発生符号量の削減を実現する最適化の処理手順の例を示す。
【００６８】
例えば，上記発生符号量の削減を実現する最適化にて，図１１（Ｂ）に示すように，アクティビティ分類における段階１，２のClassSetがＢに，段階３のClassSetがＣに，それ以外の段階のClassSetが従来手法と同等のＤに設定されたと仮定する。このとき，従来手法では１５個の係数セットを符号化する必要があったのに対し，１０個の係数セットに削減することができる。各係数セットには，９個もしくは１０個の係数が格納されているため，４５個もしくは５０個の係数を削減できる。ClassSet符号化のため，これによる符号量は増加するが，アクティビティ分類が５段階ならば，１０〜１５ビットの増加で抑えられるため，本例では，発生符号量の削減効果の方が大きくなる。
【００６９】
図１０に従って，以上の発生符号量の削減を実現する最適ClassSet決定部２０５の処理手順を説明する。この処理手順では，“復号画像”，最適化対象とする“ClassSet群”，“係数セット数上限値”，“アクティビティ分類の段階／導出手法”を入力とし，ClassSetに関連付けられたアクティビティ分類の段階ごとの“エッジ分類の段階／導出手法”，“最適ClassSet番号群”を出力する。機能は，発生符号量を現状以下に削減するようにClassSetの組み合わせを最適化することである。
・ステップＳ５０１：アクティビティの段階，最適化対象とするClassSet群を読み込む。
・ステップＳ５０２：アクティビティ分類の各段階に対するループを行う。
・ステップＳ５０３：コスト最小値を十分に大きな値で初期化する。
・ステップＳ５０４：最適化対象とするClassSetの全パターンに対するループを行う。
・ステップＳ５０５，Ｓ５０６：アクティビティ分類の段階が３以下で，かつ当該ClassSetの係数セット数が３以下か否かの判定を行い，判定結果が“真”であれば，ステップＳ５０７を実行する。
・ステップＳ５０７：アクティビティ分類における当該段階の全ブロックに対して当該ClassSetを用いてＲＤコストを算出する。
・ステップＳ５０８：ステップＳ５０７にて算出したＲＤコストがコスト最小値より小さければ，ステップＳ５０９を実行する。
・ステップＳ５０９：コスト最小値をＲＤコストで上書きし，当該段階の最適ClassSetを更新する。
・ステップＳ５１０：算出されたアクティビティ分類の段階ごとの最適ClassSet番号を出力する。
【００７０】
〔実施例２：画質改善の例〕
アクティビティが高い領域のエッジ分類の数を増やし，二乗誤差を削減して画質を改善する。
【００７１】
図１２に，最適ClassSet決定部２０５の画質を改善する最適化の処理手順の例を示す。例えば，上記画質を改善する最適化にて，図１３（Ｂ）に示すように，アクティビティ分類における段階４，５のClassSetがＥに，それ以外の段階のClassSetが従来手法と同等のＤに設定されたと仮定する。このとき，段階４，５の領域に対しては従来手法よりもパターン数の多い複数パターンの係数セットが適用されるため，それぞれの特徴に応じた係数を構築できる。このため，従来手法より二乗誤差を削減でき，画質を改善できる。
【００７２】
図１２に従って，以上の画質を改善する最適化を実現する最適ClassSet決定部２０５の処理手順を説明する。この処理手順では，“復号画像”，最適化対象とする“ClassSet群”，“係数セット数上限値”，“アクティビティ分類の段階／導出手法”を入力とし，ClassSetに関連付けられたアクティビティ分類の段階ごとの“エッジ分類の段階／導出手法”，“最適ClassSet番号群”を出力する。機能は，画質を改善するようにClassSetの組み合わせを最適化することである。
・ステップＳ６０１：アクティビティの段階，最適化対象とするClassSet群を読み込む。
・ステップＳ６０２：アクティビティ分類の各段階に対するループを行う。
・ステップＳ６０３：コスト最小値を十分に大きな値で初期化する。
・ステップＳ６０４：最適化対象とするClassSetの全パターンに対するループを行う。
・ステップＳ６０５，Ｓ６０６：アクティビティ分類の段階が３以上で，かつ当該ClassSetの係数セット数が３以上か否かの判定を行い，判定結果が“真”であれば，ステップＳ６０７を実行する。
・ステップＳ６０７：アクティビティ分類における当該段階の全ブロックに対して当該ClassSetを用いてＲＤコストを算出する。
・ステップＳ６０８：ステップＳ６０７にて算出したＲＤコストがコスト最小値より小さければ，ステップＳ６０９を実行する。
・ステップＳ６０９：コスト最小値をＲＤコストで上書きし，当該段階の最適ClassSetを更新する。
・ステップＳ６１０：算出されたアクティビティ分類の段階ごとの最適ClassSet番号を出力する。
【００７３】
ただし，本実施例に記載の方法のみを適用した場合，係数セットの合計数が従来手法より増加してしまう可能性がある。そのため，後述の実施例４の手法と組み合わせて使用することが望ましい。
【００７４】
〔実施例３：復号装置の処理量削減の例〕
アクティビティが低い領域のＡＬＦ処理を省略し，復号装置の演算量を削減する。
【００７５】
図１４に，最適ClassSet決定部２０５の復号装置の演算量を削減する最適化の処理手順の例を示す。例えば，上記復号装置の演算量を削減する最適化にて，図１５（Ｂ）に示すように，アクティビティ分類における段階１のClassSetがＡに，それ以外の段階のClassSetが従来手法と同等のＤに設定されたと仮定する。このとき，段階１の領域に対してはＡＬＦが適用されないため，復号装置の演算量が削減できる。例えば，段階１に符号化対象フレームの約５０％の画素が割り当てられていたと仮定すると，ＡＬＦのフィルタ部分の演算量を約５０％削減できる。復号処理において，ＡＬＦの処理時間占有率は約１５％前後のため，この場合，約７％程度復号装置の演算量を削減できる。
【００７６】
図１４に従って，以上の復号装置の処理量を削減する最適化を実現する最適ClassSet決定部２０５の処理手順を説明する。この処理手順では，“復号画像”，最適化対象とする“ClassSet群”，“係数セット数上限値”，“アクティビティ分類の段階／導出手法”を入力とし，ClassSetに関連付けられたアクティビティ分類の段階ごとの“エッジ分類の段階／導出手法”，“最適ClassSet番号群”を出力する。機能は，復号装置の処理量を削減するようにClassSetの組み合わせを最適化することである。
・ステップＳ７０１：アクティビティの段階，最適化対象とするClassSet群を読み込む。
・ステップＳ７０２：アクティビティ分類の各段階に対するループを行う。
・ステップＳ７０３：コスト最小値を十分に大きな値で初期化する。
・ステップＳ７０４：最適化対象とするClassSetの全パターンに対するループを行う。
・ステップＳ７０５：アクティビティ分類における当該段階の全ブロックに対して当該ClassSetを用いてＲＤコストを算出する。
・ステップＳ７０６：ステップＳ７０５にて算出したＲＤコストがコスト最小値より小さければ，ステップＳ７０７を実行する。
・ステップＳ７０７：コスト最小値をＲＤコストで上書きし，当該段階の最適ClassSetを更新する。
・ステップＳ７０８：当該段階の全ブロックに対して，フィルタ前のＲＤコストを算出する。
・ステップＳ７０９：フィルタ前後の平均改善量が，設定される閾値より低ければステップＳ７１０を実行する。平均改善量は，例えば次式によって算出される。
【００７７】
平均改善量＝｛（フィルタ前のＲＤコスト−コスト最小値）／フィルタ画素数｝
・ステップＳ７１０：最適ClassSetを“Ｎｏｎｅ”に設定する。
・ステップＳ７１１：算出されたアクティビティ分類の段階ごとの最適ClassSet番号を出力する。
【００７８】
〔実施例４：ハードウェア回路規模肥大化抑制の例〕
係数セット数の上限を設定し，上限を超えないように最適化を行うことで，ハードウェアの回路規模肥大化を抑制する。
【００７９】
図１６に，最適ClassSet決定部２０５のハードウェアの回路規模肥大化を抑制する最適化の処理手順の例を示す。例えば，上記ハードウェアの回路規模肥大化を抑制する最適化にて，アクティビティ分類の段階ごとに最適化対象とするすべてのClassSetを試験して各ＲＤコストを算出し，係数セットの合計数が所定の数（従来手法では１５）を超えない組み合わせを複数パターン生成する。それら組み合わせのＲＤコスト合計値を最小化した係数セットを導出することにより，復号装置に所定の回路規模を超えた係数セットの復号機能を実装させる必要がなくなるためハードウェアの回路規模肥大化を抑制することができる。
【００８０】
本手法を用いると，例えば復号装置の計算能力が劣り，係数セットを８個までしか許容できないハードウェア向けの映像コンテンツを符号化する場合には，上記と同様に８個を超えることがない範囲で最適化を行うことで，高い画質を提供することができる。
【００８１】
図１６に従って，以上のハードウェア回路規模肥大化抑制する最適化を実現する最適ClassSet決定部２０５の処理手順を説明する。この処理手順では，“復号画像”，最適化対象とする“ClassSet群”，“係数セット数上限値”，“アクティビティ分類の段階／導出手法”を入力とし，ClassSetに関連付けられたアクティビティ分類の段階ごとの“エッジ分類の段階／導出手法”，“最適ClassSet番号群”を出力する。機能は，係数セット数上限値を超えない範囲でClassSetの組み合わせを最適化することである。
・ステップＳ８０１：アクティビティの段階，最適化対象とするClassSet群および係数セット数上限値を読み込む。
・ステップＳ８０２：アクティビティ分類の各段階に対するループを行う。
・ステップＳ８０３：最適化対象とするClassSetの全パターンに対するループを行う。
・ステップＳ８０４：アクティビティ分類における当該段階の全ブロックに対して当該ClassSetを用いてＲＤコストを算出する。
・ステップＳ８０５：ＲＤコストを算出した全パターンの組み合わせの中から合計係数セット数が上限以下になる組み合わせと各ＲＤコストの合計値を構築する。
・ステップＳ８０６：コスト最小値を十分に大きな値で初期化する。
・ステップＳ８０７：合計係数セット数が上限以下のすべての組み合わせに対するループ  を行う。
・ステップＳ８０８：もし組み合わせのＲＤコスト合計値がコスト最小値より低い場合には，ステップＳ８０９を実行する。
・ステップＳ８０９：コスト最小値をＲＤコストで上書きし，当該段階の最適ClassSetを  更新する。
・ステップＳ８１０：算出されたアクティビティ分類の段階ごとの最適ClassSet番号を出力する。
【００８２】
〔実施例１〜３の効果〕
ＩｎｔｒａスライスのＧＯＰ構造を用いてインループフィルタ処理部１１０におけるＳＡＯ処理部１１０２が出力したＡＬＦ適用前の画像に対し，ＢＡモードを用いたスター型のＡＬＦを適用して試験データを取得した。対象シーケンスは，ＦｕｌｌＨＤ解像度のＭＰＥＧ標準シーケンス５つの各先頭６０フレームを使用し，計３００フレームのＳＳＤ削減量と予測発生符号量およびフィルタ処理時間の各平均を取得した。
【００８３】
各ＡＬＦ係数は，コンテキスト適応算術符号の適用および係数セットの統合によって１５個の係数セットの発生符号量は必要最低限に削減される。ただし，本発明の手法を用いてもコンテキスト適応算術符号の適用および係数セットの統合が可能であるため，基本性能の比較として，各ＡＬＦ係数は固定長とし，係数セットは１５セットすべてを用いるものとして比較を行う。各ＡＬＦ係数の予想発生符号量は，固定長で１０ビットとし，１０係数を要するＡＬＦの単一係数セットに対して１００ビットとする。つまり，従来の１５係数セットを要する場合は，画像１枚当たり１５００ビットと仮定する。また，５パターンのClassSetの切り替えにはClassSet  Ａ（Ｎｏｎｅ）か否かを１ビットのフラグで切り替え，その他４つのClassSetを２ビットで表記するものとする。
【００８４】
実施例１（図１０，図１１）に記載の手法における具体的な効果を示す数値を図１７に，実施例２（図１２，図１３）に記載の手法における具体的な効果を示す数値を図１８に，実施例３（図１４，図１５）に記載の手法における具体的な効果を示す数値を図１９に記す。図１７〜図１９において，ＱＰは量子化パラメータ，ＳＳＤは二乗誤差，ＧｅｎＢｉｔは発生符号量，ＲＤ−ｃｏｓｔはレート歪み（ＲＤ）コスト，ＦｉｌｔｅｒＴｉｍｅはフィルタ処理時間である。各行の上段のＨＭ５．０は従来手法，下段のＰｒｏｐｏｓｅｄは本発明を用いた手法の結果を表している。
【００８５】
発生符号量を削減する例では，図１７に記載のように，若干ＳＳＤは増加するものの，ＡＬＦにおける発生符号量が約２／３に削減できていることが確認できる。図１８の画質を改善する例では，３００フレームの平均で見るとＲＤコストは若干の増加を招くものの，二乗誤差が削減できている様子が確認できる。また，復号装置の演算量を削減する例では，図１９に示されるように，ClassSet  Ａ（Ｎｏｎｅ）を用いることで，フィルタ処理時間の削減が確認でき，特に低レートでは約１／２になっていることが確認できる。
【００８６】
〔ソフトウェアプログラムを用いた場合の構成例〕
以上説明した映像符号化および映像復号の処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【００８７】
図２０に，映像符号化装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成例を示す。本システムは，プログラムを実行するＣＰＵ５０と，ＣＰＵ５０がアクセスするプログラムやデータが格納されるＲＡＭ等のメモリ５１と，カメラ等からの符号化対象の映像信号を入力する映像信号入力部５２（ディスク装置等による映像信号を記憶する記憶部でもよい）と，本手法により入力映像を符号化する処理をＣＰＵ５０に実行させるソフトウェアプログラムである映像符号化プログラム５４が格納されたプログラム記憶装置５３と，ＣＰＵ５０がメモリ５１にロードされた映像符号化プログラム５４を実行することにより生成された符号化データを，例えばネットワークを介して出力する符号化データ出力部５５（ディスク装置等による符号化データを記憶する記憶部でもよい）とが，バスで接続された構成になっている。
【００８８】
図２１に，映像復号装置をコンピュータとソフトウェアプログラムとによって構成する場合のハードウェア構成例を示す。本システムは，プログラムを実行するＣＰＵ６０と，ＣＰＵ６０がアクセスするプログラムやデータが格納されるＲＡＭ等のメモリ６１と，映像符号化装置が本手法により符号化した符号化データを入力する符号化データ入力部６２（ディスク装置等による多重化符号化データを記憶する記憶部でもよい）と，本手法により符号化データを復号する処理をＣＰＵ６０に実行させるソフトウェアプログラムである映像復号プログラム６４が格納されたプログラム記憶装置６３と，ＣＰＵ６０がメモリ６１にロードされた映像復号プログラム６４を実行することにより，符号化データを復号して得られた復号映像を，再生装置などに出力する復号映像出力部６５とが，バスで接続された構成になっている。
【００８９】
以上，図面を参照して本発明の実施の形態を説明してきたが，上記実施の形態は本発明の例示に過ぎず，本発明が上記実施の形態に限定されるものではないことは明らかである。したがって，本発明の精神および技術的範囲を逸脱しない範囲での構成要素の追加，省略，置換，その他の変更を行ってもよい。
【符号の説明】
【００９０】
１１０３，３０８３  ＡＬＦ処理部
１１３，３１０  符号化情報記憶部
２０１，４０１  ＲＡモード領域決定部
２０２，４０２  ＢＡモード領域決定部
２０３  タップ形状およびＲＡ／ＢＡ決定部
２０４  ＣＵ適応モード決定部
２０５  最適ClassSet決定部
２０６，４０５  エッジ分類の段階／導出手法決定部
４０３  ＣＵ適用領域決定部
４０４  ＡＬＦ適用部
【図１】
0005770647.tif 000002
【図２】
0005770647.tif 000003
【図３】
0005770647.tif 000004
【図４】
0005770647.tif 000005
【図５】
0005770647.tif 000006
【図６】
0005770647.tif 000007
【図７】
0005770647.tif 000008
【図８】
0005770647.tif 000009
【図９】
0005770647.tif 000010
【図１０】
0005770647.tif 000011
【図１１】
0005770647.tif 000012
【図１２】
0005770647.tif 000013
【図１３】
0005770647.tif 000014
【図１４】
0005770647.tif 000015
【図１５】
0005770647.tif 000016
【図１６】
0005770647.tif 000017
【図１７】
0005770647.tif 000018
【図１８】
0005770647.tif 000019
【図１９】
0005770647.tif 000020
【図２０】
0005770647.tif 000021
【図２１】
0005770647.tif 000022
【図２２】
0005770647.tif 000023
【図２３】
0005770647.tif 000024
【図２４】
0005770647.tif 000025
【図２５】
0005770647.tif 000026