(57)【要約】  動画像符号化装置は、適応補間フィルタまたは適応ループフィルタを表わす２次元フィルタの各フィルタ係数について、該フィルタ係数の絶対値のシンボルを符号化する符号化部（１２）を備え、符号化部（１２）は、上記フィルタ係数セットの２次元配置上、中心位置からの距離が近いフィルタ係数または遠いフィルタ係数から順に、上記フィルタ係数のシンボルを、直前に上記符号化が行われたシンボルの値に応じて符号化する。
2011083666.tif 000002
【特許請求の範囲】
【請求項１】
適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタを構成するフィルタ係数の少なくとも一部からなるフィルタ係数セットを圧縮符号化する符号化装置において、
所定の順序で配列されたフィルタ係数セットを、上記２次元フィルタの中心位置からの距離に応じた順序にソートするソート手段と、
上記フィルタ係数セットに含まれる各フィルタ係数を、ソート後の順序が若いフィルタ係数から順に符号化する符号化手段と、を備えている、ことを特徴とする符号化装置。
【請求項２】
請求項１に記載の符号化装置であって、
上記符号化手段は、上記フィルタ係数セットに含まれる各フィルタ係数を、すでに符号化されたフィルタ係数に対応するシンボル列における各シンボルの出現確率に応じて算術符号化するものである、ことを特徴とする符号化装置。
【請求項３】
請求項２に記載の符号化装置であって、
上記符号化手段は、上記２次元フィルタの中心位置からの距離が等しい複数のフィルタ係数について、自身が最後に符号化したフィルタ係数の上記２次元フィルタにおける位置と最も近い位置のフィルタ係数を他のフィルタ係数よりも優先して算術符号化することを特徴とする符号化装置。
【請求項４】
請求項２または３に記載の符号化装置であって、
上記符号化手段は、複数のコンテキストに基づいて上記各フィルタ係数を算術符号化するものであり、上記２次元フィルタの中心位置のフィルタ係数を、他のフィルタ係数の算術符号化に用いるコンテキストとは別のコンテキストに基づいて算術符号化することを特徴とする符号化装置。
【請求項５】
請求項２または３に記載の符号化装置であって、
上記符号化手段は、複数のコンテキストに基づいて上記各フィルタ係数を算術符号化するものであり、上記２次元フィルタの中心位置からの距離が３以上のフィルタ係数の算術符号化に用いるコンテキストとは別のコンテキストに基づいて、中心位置からの距離が２以下のフィルタ係数を算術符号化することを特徴とする符号化装置。
【請求項６】
請求項１から４までの何れか１項に記載の符号化装置であって、
上記符号化手段は、上記フィルタ係数セットに含まれる各フィルタ係数を、すでに符号化が行われたフィルタ係数に応じたハフマン符号表を用いてハフマン符号化するものである、ことを特徴とする符号化装置。
【請求項７】
適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタを構成するフィルタ係数の少なくとも一部からなるフィルタ係数セットを、圧縮符号化された符号化データから復号する復号装置において、
上記フィルタ係数セットに含まれる各フィルタ係数を、上記符号化データからシンボル毎に復号する復号手段と、
上記復号手段により得られたフィルタ係数セットであって、上記２次元フィルタの中心位置からの距離に応じて配列されたフィルタ係数セットを、所定の順序にソートする逆ソート手段と、を備えていることを特徴とする復号装置。
【請求項８】
請求項７に記載の復号装置であって、
上記復号手段は、上記フィルタ係数セットに含まれる各フィルタ係数を、すでに復号されたフィルタ係数に対応するシンボル列における各シンボルの出現確率に応じて算術復号するものである、ことを特徴とする復号装置。
【請求項９】
請求項７に記載の復号装置であって、
上記復号手段は、上記フィルタ係数セットに含まれる各フィルタ係数を、すでに復号されたフィルタ係数に応じたハフマン符号表を用いてハフマン符号化するものである、
ことを特徴とする復号装置。
【請求項１０】
適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタを構成するフィルタ係数の少なくとも一部からなるフィルタ係数セットを伝送するための符号化データのデータ構造において、
上記フィルタ係数セットに含まれる各フィルタ係数に対応する符号が、上記２次元フィルタの中心位置からの距離に応じた順序にソートされた状態で含まれている、ことを特徴とする符号化データのデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像のフィルタリングを行う画像フィルタを備えた符号化装置、および、復号装置に関する。
【背景技術】
【０００２】
動画像を効率的に伝送または記録するために、動画像符号化装置が用いられている。具体的な動画像符号化方式としては、例えば、Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ、および、ＶＣＥＧで検討されている方式などが挙げられる。【０００３】
非特許文献１には、参照画像のブロック歪みを低減するためのフィルタリング処理を行うＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ）と呼ばれるフィルタが開示されている。ＡＬＦは、参照画像上のスライスごとに、ＡＬＦが適用された後の参照画像と原画像との誤差が最小となるフィルタ係数を定め、フィルタ係数に基づいたフィルタリング処理を施すものである。【０００４】
また、非特許文献２には、精度の高い動きベクトルを生成するためのフィルタリング処理を行うＡＩＦ（Ａｄａｐｔｉｖｅ  Ｉｎｔｅｒｐｏｌａｔｉｏｎ  Ｆｉｌｔｅｒ）と呼ばれるフィルタが開示されている。ＡＩＦは、参照画像上のスライスごとに、ＡＩＦを適用して得られた予測画像と原画像との誤差が最小となるようにフィルタ係数を定め、フィルタ係数に基づいたフィルタリング処理を施すものである。【０００５】
ＡＬＦおよびＡＩＦにおいては、スライスごとにフィルタ係数を定めるため、フィルタ係数を符号化装置から復号装置に伝送する必要があり、フィルタ係数の符号量を削減することは、伝送するデータの符号量を削減する上で重要である。【０００６】
特許文献１には、復号装置に伝送するフィルタ係数の符号量を低減する技術が開示されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｂｌｏｃｋ−ｂａｓｅｄ  Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ、ＩＴＵ−Ｔ  Ｑ．６／ＳＧ１６  ＶＣＥＧ、ＶＣＥＧ−ＡＩ１８、２００８
【非特許文献２】Ｉｍｐｒｏｖｅｄ  Ｆｉｌｔｅｒ  Ｓｅｌｅｃｔｉｏｎ  ｆｏｒ  Ｂ−Ｓｌｉｃｅｓ  ｉｎ  Ｅ−ＡＩＦ、ＩＴＵ−Ｔ  Ｑ．６／ＳＧ１６  ＶＣＥＧ、ＶＣＥＧ−ＡＩ３８、２００６
【特許文献】
【０００８】
【特許文献１】日本国特許公表公報「特表２００８−５３６４１４号公報（２００８年９月４日公表）」
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ＡＩＦおよびＡＬＦのように、画像を補間あるいは補正するためのフィルタリングに用いるフィルタ係数は、フィルタリング処理で参照するフィルタ参照領域の中心部に対応するフィルタ係数程、その絶対値が大きくなり、中心位置から遠いフィルタ係数程、その絶対値が小さくなる傾向が強い。また、隣接するフィルタ係数は近い値となる傾向がある。【００１０】
ところで、フィルタ係数は、スライスごとに共有される可能性が高いことから図２３に示すようにデータ部でなくヘッダ部に配置される。また、ヘッダ部に配置される情報はスライス全体に関連する情報であり重要度が高いので、符号化には一般的にエラー耐性が高く圧縮率の低い符号化方式（算術符号以外の符号化方式）が用いられている。【００１１】
上記従来の構成では、個々のフィルタ係数を符号化する場合に、先に符号化したフィルタ係数の値の大きさ（絶対値）によらず、次のフィルタ係数を符号化していたので、フィルタ係数間の相関を用いておらず、フィルタ係数の符号量を十分に低減できていないという問題があった。【００１２】
本発明は、上記課題に鑑みてなされたものであり、その主な目的は、復号装置に伝送するフィルタ係数の符号量を従来に比べ効果的に削減可能な符号化装置を実現することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明に係る符号化装置は、適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタを構成するフィルタ係数の少なくとも一部からなるフィルタ係数セットを圧縮符号化する符号化装置において、所定の順序で配列されたフィルタ係数セットを、上記２次元フィルタの中心位置からの距離に応じた順序にソートするソート手段と、上記フィルタ係数セットに含まれる各フィルタ係数を、ソート後の順序が若いフィルタ係数から順に符号化する符号化手段と、を備えている、ことを特徴としている。【００１４】
適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタを構成するフィルタ係数の絶対値は、上記２次元フィルタの中心位置から遠ざかるに従って次第に大きくなるか、または、次第に小さくなる傾向がある。【００１５】
このため、上記の構成によれば、絶対値の昇順または降順に整列されたフィルタ係数を順に符号化することになるので、所定の順序（例えばラスタスキャン順）で配列されたフィルタ係数を順に符号化する場合と比べて、符号量を低下させることができるという効果を奏する。【００１６】
なお、２次元フィルタの中心位置とは、フィルタ係数の配列がＭ行Ｎ列の矩形配列である場合には、次に示すi行目、j列目の要素のことを指す。すなわち、Ｍが奇数の場合にはｉ＝Ｍ／２であり、Ｍが偶数の場合には、（Ｍ＋１）／２、（Ｍ―１）／２のいずれもｉに該当する。同様に、Ｎが奇数の場合にはｊ＝Ｎ／２であり、Ｎが偶数の場合には、（Ｎ＋１）／２、（Ｎ―１）／２のいずれもｊに該当する。また、２次元フィルタの中心位置からのk行l列目のフィルタ係数の距離は、ｄ＝｜k-i｜＋｜l-j｜、ｄ＝（k-i）2＋（l-j）2およびｄ＝ｍａｘ（｜k-i｜,｜l-j｜）（ｉまたはjに該当する値が複数存在する場合にはｄの中の最小の値）のいずれかで定義される。【００１７】
上記課題を解決するために、本発明に係る復号装置は、適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタを構成するフィルタ係数の少なくとも一部からなるフィルタ係数セットを、圧縮符号化された符号化データから復号する復号装置において、上記フィルタ係数セットに含まれる各フィルタ係数を、上記符号化データからシンボル毎に復号する復号手段と、上記復号手段により得られたフィルタ係数セットであって、上記２次元フィルタの中心位置からの距離に応じて配列されたフィルタ係数セットを、所定の順序にソートする逆ソート手段と、を備えていることを特徴としている。【００１８】
上記の構成によれば、上記の符号化装置によって得られた符号化データから、所定の順序（例えばラスタスキャン順）で配列されたフィルタ係数セットを復号することができる。
【発明の効果】
【００１９】
以上のように、本発明に係る符号化装置は、復号装置に伝送するフィルタ係数の符号量を従来に比べ効果的に削減可能であるという効果を奏する。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態１の動画像符号化装置の要部構成を示すブロック図である。
【図２】本発明の実施形態１の動画像符号化装置が備えるフィルタ係数符号化部の要部構成を示したブロック図である。
【図３】実施形態１を示すものであり、（ａ）は矩形状に配置されたフィルタ係数セットの各要素と中心位置との距離の定義を模式的に示した図であり、（ｂ）は図２のフィルタ係数符号化部が各要素を符号化する順序を模式的に示した図である。
【図４】実施形態１を示すものであり、（ａ）は矩形状に配置されたフィルタ係数セットの各要素と中心位置との距離の定義を模式的に示した別の図であり、（ｂ）は図２のフィルタ係数符号化部が各要素を符号化する順序を模式的に示した別の図である。
【図５】実施形態１を示すものであり、（ａ）は矩形状に配置されたフィルタ係数セットの各要素と中心位置との距離の定義を模式的に示したさらに別の図であり、（ｂ）は図２のフィルタ係数符号化部が各要素を符号化する順序を模式的に示したさらに別の図である。
【図６】本発明の実施形態１の動画像復号装置の要部構成を示すブロック図である。
【図７】本発明の実施形態２の動画像符号化装置の要部構成を示すブロック図である。
【図８】本発明の実施形態２の動画像符号化装置が備えるフィルタ係数符号化部の要部構成を示したブロック図である。
【図９】（ａ）（ｃ）は実施形態２の動画像符号化装置が動画像復号装置に送信するフィルタ係数の符号化データを模式的に示した図であり、（ｂ）は従来の動画像符号化装置が動画像復号装置に送信するフィルタ係数の符号化データを模式的に示した図である。
【図１０】本発明の実施形態２の動画像復号装置の要部構成を示すブロック図である。
【図１１】実施形態１の動画像符号化装置が動画像復号装置に送信するフィルタ係数の符号化データを模式的に示した図である。
【図１２】実施形態１を示すものであり、（ａ）は菱形状に配置されたフィルタ係数セットの各要素と中心位置との距離の定義を模式的に示したさらに別の図であり、（ｂ）は図２のフィルタ係数符号化部が各要素を符号化する順序を模式的に示したさらに別の図である。
【図１３】実施形態１を示すものであり、（ａ）は斜め線分の形状に配置されたフィルタ係数セットの各要素と中心位置との距離の定義を模式的に示したさらに別の図であり、（ｂ）は図２のフィルタ係数符号化部が各要素を符号化する順序を模式的に示したさらに別の図である。
【図１４】本発明の実施形態１の動画像復号装置が備えるフィルタ係数復号部の要部構成を示したブロック図である。
【図１５】本発明の実施形態２の動画像復号装置が備えるフィルタ係数復号部の要部構成を示したブロック図である。
【図１６】実施形態２の動画像符号化装置が動画像復号装置に送信するフィルタ係数の符号化データを模式的に示した別の図である。
【図１７】実施形態２の動画像符号化装置が動画像復号装置に送信するフィルタ係数の符号化データを模式的に示したさらに別の図である。
【図１８】実施形態１の動画像符号化装置がフィルタ係数を復号する動作を示すフローチャートである。
【図１９】実施形態２の動画像符号化装置がフィルタ係数を復号する動作を示すフローチャートである。
【図２０】実施形態２の動画像符号化装置がフィルタ係数を復号する別の動作を示すフローチャートである。
【図２１】実施形態２の動画像符号化装置がフィルタ係数を復号するさらに別の動作を示すフローチャートである。
【図２２】実施形態２の動画像符号化装置がフィルタ係数を復号するさらに別の動作を示すフローチャートである。
【図２３】実施形態１の動画像符号化装置が動画像復号装置に送信するフィルタ係数の符号化データを模式的に示した別の図である。
【図２４】状態ごとに、ゴロム符号の例を示した図である。
【図２５】前回符号化または復号したフィルタ係数の絶対値とゴロム符号化に用いる状態の値とが関連づけられている選択テーブルを示す図である。
【図２６】従来の動画像符号化装置がゴロム符号を用いてフィルタ係数を符号化した場合の累積符号量および符号化データを示した図である。
【図２７】実施形態１の動画像符号化装置がゴロム符号を用いてフィルタ係数を符号化した場合の累積符号量および符号化データを示した図であり、（ａ）はソート処理を施さない場合の例を示す図であり、（ｂ）はソート処理を施す場合の例を示す図である。
【発明を実施するための形態】
【００２１】
（実施形態１）
本発明の一実施形態に係る動画像符号化装置について図面を参照しながら説明する。
【００２２】
図１は、動画像符号化装置の要部構成を示すブロック図である。
【００２３】
（動画像符号化装置１）
動画像符号化装置１は、その一部に、Ｈ．２６４／ＡＶＣ規格、および、ＶＣＥＧで検討されている技術を用いている動画像符号化装置である。
【００２４】
図１に示すように、動画像符号化装置１は、変換・量子化部１１、可変長符号化部１２、逆量子化・逆変換部１３、バッファメモリ１４、イントラ予測画像生成部１５、インター予測画像生成部１６、予測方式制御部１８、動きベクトル冗長性削減部１９、加算器２１、減算器２２、デブロッキングフィルタ５０、および、適応フィルタ部１００を備えている。
【００２５】
動画像符号化装置１には、隣接する複数の画素から構成されるブロック画像（以下「マクロブロック」と呼ぶ）に分割された入力画像＃１が入力される。
【００２６】
動画像符号化装置１は、入力画像＃１の符号化処理を行い、符号化データ＃２を出力する。
【００２７】
変換・量子化部１１は、マクロブロックに分割された入力画像＃１と、後述する予測方式制御部１８から出力される予測画像＃１８ａとの差分画像＃２２を、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）変換により、周波数成分へ変換した後、当該周波数成分の量子化を行い、量子化予測残差データ＃１１を生成する。ここで、上記量子化とは、上記周波数成分を整数値に対応付ける演算のことである。また、上記ＤＣＴ変換、および、量子化は、マクロブロックを分割したブロック単位で行われる。以下では、処理の対象となるマクロブロックを「対象マクロブロック」と呼び、処理の対象となるブロックを「対象ブロック」と呼ぶ。
【００２８】
逆量子化・逆変換部１３は、量子化予測残差データ＃１１の復号を行い、予測残差＃１３を生成する。具体的には、逆量子化・逆変換部１３は、量子化予測残差データ＃１１の逆量子化、すなわち、量子化予測残差データ＃１１を構成する整数値の周波数成分への対応付け、および、当該周波数成分の逆ＤＣＴ変換、すなわち、当該周波数成分に基づいた対象マクロブロックの画素成分への逆変換を行い、予測残差＃１３を生成する。
【００２９】
加算器２１は、予測残差＃１３と、予測画像＃１８ａとを加算し、復号画像＃２１を生成する。生成された復号画像＃２１は、デブロッキングフィルタ５０に供給される。
【００３０】
デブロッキングフィルタ５０は、復号画像＃２１におけるブロック境界、またはマクロブロック境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、復号画像＃２１における当該ブロック境界、またはマクロブロック境界に対してデブロッキング処理を施す。デブロッキング処理が施された画像データは、デブロック画像＃５０として出力される。
【００３１】
適応フィルタ部１００は、入力される画像データ＃５０の各画素値について、一定の領域に含まれる画素値の、フィルタ係数に基づいた加重線形和をとることによって、出力画像データ＃１１０ａを生成し、出力する。
【００３２】
また、適応フィルタ部１００には、教師データ＃１が入力される。ここで、教師データ＃１とは、後述するように、上記フィルタ係数を決定する際に参照される画像データのことである。教師データ＃１の具体的な例としては、例えば、適応フィルタ部１００を備える画像符号化装置に入力される入力画像データが挙げられる。
【００３３】
適応フィルタ部１００は、画像データ＃５０の各画素値について、一定の領域に含まれる画素値の、フィルタ係数に基づいた加重線形和及びオフセット値の加算などをとることによって、出力画像データ＃１１０ａを算出する。
【００３４】
より具体的には、適応フィルタ部１００は、出力画像データ＃１１０ａの座標（ｘ’、ｙ’）における画素値ＳO（ｘ’、ｙ’）を式（１）によって表される加重線形和によって算出する。
【００３５】
【数１】
2011083666.tif 000003
【００３６】
ここで、ＳI（ｘ、ｙ）は、画像データ＃５０の座標（ｘ、ｙ）における画素値を表しており、ｈ（ｉ、ｊ）は、画素値ＳI（ｘ＋ｉ、ｙ＋ｊ）に乗ぜられるフィルタ係数を表している。また、Ｒは、上記加重線形和をとる画素の領域（以下、フィルタ参照領域と呼ぶ）を表している。より具体的には、Ｒは、上記加重線形和の対象となる相対座標のセットを表している。例えば、座標（ｘ、ｙ）における画素を中心とした３×３タップのフィルタリングを行う場合には、Ｒ＝｛（−１、−１）、（−１、０）、（−１、１）、（０、−１）、（０、０）、（０、１）、（１、−１）、（１、０）、（１、１）｝である。また、ｈoffsetは、画素値に加算するオフセット値を表している。なお、座標（ｘ’、ｙ’）と座標（ｘ、ｙ）とは同一の座標であってもよいし、１対１の対応を有していれば、異なった座標であってもよい。また、座標（ｘ’、ｙ’）と座標（ｘ、ｙ）との具体的な対応関係は、本発明を限定するものではなく、適応フィルタ部１００が実装される画像処理装置の具体的な構成により定められる。
【００３７】
一般に、Ｍ×Ｎタップのフィルタリングは、フィルタ係数ｈ（ｉ、ｊ）を各成分に持つＭ×Ｎ行列である２次元のフィルタ係数行列Ｈと、上記オフセットｈoffsetとによって特徴付けることができる。フィルタリング処理に用いるフィルタ係数のうち、参照画素にかかるフィルタ係数については、フィルタ係数が掛かる参照画素の位置に応じて、２次元的な位置が対応づけられる。これによって個々のフィルタ係数の間には、相対的な位置関係が定められる。
【００３８】
なお、以下では、フィルタ参照領域が、Ｍ×Ｎタップの矩形状の領域である場合を例に挙げて説明を行うが、本発明はこれに限定されるものではなく、ひし形、円形、垂直／水平線分、斜め線分又はその他任意の形状を有するフィルタ参照領域Ｒに対しても適用することができる。
【００３９】
具体的には、以下の式（２）
【００４０】
【数２】
2011083666.tif 000004
【００４１】
によって表されるフィルタ係数行列Ｈ、および、オフセットｈoffsetを、以下の式（３）によって定義されるＭ×Ｎ＋１次元のフィルタ係数ベクトルＶにマップする。なお、フィルタ係数ベクトルＶを、フィルタ係数セットと呼ぶことにする。
【００４２】
【数３】
2011083666.tif 000005
【００４３】
式（３）に示すように、フィルタ係数ベクトルＶの１からＭ×Ｎ番目の成分は、フィルタ係数ｈ（ｉ、ｊ）を表しており、フィルタ係数ベクトルＶの最後の成分（以下オフセット成分と呼ぶ）は、オフセットｈoffsetを表している。
【００４４】
このような記法を用いることによって、フィルタ係数ｈ（ｉ、ｊ）、および、オフセットｈoffsetを統一的に表わすことができる。
【００４５】
適応フィルタ部１００は、出力画像データ＃１１０ａと教師データ＃１との相違を最小化するようにフィルタ係数を算出する。具体的には、最小二乗法を用いてフィルタ係数ベクトルＶを算出する。算出されたフィルタ係数は量子化が行われる。量子化は小数として求められたフィルタ係数に、整数を割り当てる処理であり、例えば、フィルタ量子化係数をＦＱＰとすると、ＦＱＰ倍して小数点以下を四捨五入することで量子化後のフィルタ係数が求められる。すなわち、量子化前のフィルタ係数をＶ（ｉ）、量子化後のフィルタ係数をＤＶ（ｉ）とすると、ＤＶ（ｉ）＝ｆｌｏｏｒ（Ｖ（ｉ）×ＦＱＰ）と表現される。
【００４６】
また、この場合、フィルタ係数の逆量子化は量子化後のフィルタ係数をＦＱＰで割ることで行われる。すなわち、逆量子化後のフィルタ係数Ｖ´（ｉ）は、Ｖ´（ｉ）＝ＤＶ（ｉ）／ＦＱＰと表現される。
【００４７】
なお、量子化及び逆量子化の前後で、参照画素の重みとして作用するフィルタ係数の和ができるだけ変化しないように量子化後のフィルタ係数を調整することが適当である。具体的には、量子化前のオフセットを除くフィルタ係数の各成分の和を量子化して得られた値をＱＳＵＭ０、量子化後のオフセットを除くフィルタ係数の各成分の和をＱＳＵＭ１とし、その差Ｄ（＝ＱＳＵＭ１−ＱＳＵＭ０）を算出する。次に、量子化後のオフセットを除くフィルタ係数のうち最大であるものに対して、その差Ｄを引くことで、量子化後のフィルタ係数を補正する。
【００４８】
適応フィルタ部１００は、量子化されたフィルタ係数を用いて、フィルタリング処理を施し、出力画像データ＃１１０ａをバッファメモリ１４に対して出力する。
【００４９】
量子化されたフィルタ係数をＤＶ（ｉ）とし、フィルタリング処理のために参照する画素値をＳＩ（ｉ）とし、オフセットの要素の番号ｉをｎ＋１とすると、この処理は、式Ａ[Σ（ＤＶ（ｉ）×ＳＩ（ｉ））]＋ＤＶ（ｎ＋１）]／ＦＱＰと示すことができる。ここでは、フィルタリング処理後に逆量子化に対応する処理を行うことで演算量を削減しているが、逆量子化後の係数Ｖ（ｉ）´を算出した後にフィルタリング演算を行っても構わない。
【００５０】
また、適応フィルタ部１００は、フィルタリング処理に用いたフィルタ係数ベクトルを示す情報であるフィルタ係数情報＃１０１を出力する。フィルタ係数情報＃１０１は量子化された値とする。
【００５１】
なお、本実施形態における適応フィルタ部１００は、ほぼ、ＫＴＡにおけるＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ：適応ループフィルタ）に対応している。すなわち、本使用例における適応フィルタ部１００は、整数座標の画素（以下、整数画素と呼ぶ）の画素値を入力として、整数画素の画素値を出力する。
【００５２】
イントラ予測画像生成部１５は、バッファメモリ１４に格納された復号画像＃２１から局所復号画像＃１４ａ（対象マクロブロックと同じフレームの既復号領域）を抽出し、局所復号画像＃１４ａに基づいてフレーム内予測を行い、イントラ予測画像＃１５を生成する。
【００５３】
インター予測画像生成部１６は、入力画像＃１上の対象ブロックに対し、既にフレーム全体が復号され、バッファメモリ１４に格納された参照画像＃１４ｂを用いて、動きベクトル＃１７を算出し、割り付ける。算出された動きベクトル＃１７は、予測画像生成部１６、動きベクトル冗長性削減部１９に対して出力されると共に、バッファメモリ１４に格納される。また、インター予測画像生成部１６は、参照画像＃１４ｂに対し、ブロックごとに、動きベクトル＃１７に基づいた動き補償を行い、インター予測画像＃１６を生成する。
【００５４】
予測方式制御部１８は、マクロブロック単位で、イントラ予測画像＃１５と、インター予測画像＃１６と、入力画像＃１とを比較し、イントラ予測画像＃１５、または、インター予測画像＃１６のうち、何れか一方を選択し、予測画像＃１８ａとして出力する。また、予測方式制御部１８は、イントラ予測画像＃１５、または、インター予測画像＃１６のうち、何れを選択したのかを表す情報である予測モード＃１８ｂを出力する。予測画像＃１８ａは減算器２２に入力される。
【００５５】
予測モード＃１８ｂは、バッファメモリ１４に格納されると共に、可変長符号化部１２に入力される。
【００５６】
動きベクトル冗長性削減部１９は、インター予測画像生成部１６において上記対象ブロックに動きベクトル＃１７が割り付けられた後、他のブロックに割り付けられ、バッファメモリ１４に格納された動きベクトル群＃１４ｃに基づいて予測ベクトルを算出する。また、動きベクトル冗長性削減部１９は、当該予測ベクトルと、動きベクトル＃１７との差分をとり、差分動きベクトル＃１９を生成する。生成された差分動きベクトル＃１９は、可変長符号化部１２に出力される。
【００５７】
減算器２２は、対象マクロブロックに対し、入力画像＃１と、予測画像＃１８ａとの差分をとり、差分画像＃２２を出力する。
【００５８】
可変長符号化部１２は、量子化予測残差データ＃１１、差分動きベクトル＃１９、予測モード＃１８ｂ、および、フィルタ係数情報＃１０１に対して可変長符号化を行い、符号化データ＃２を生成する。
【００５９】
なお、動画像符号化装置１は、デブロッキングフィルタ５０を備えない構成でも良い。この場合、適応フィルタ部１００はデブロック画像＃５０ではなく、復号画像＃２１に対してフィルタリング処理を行う。
【００６０】
（可変長符号化部１２について）
本実施形態に係る動画像符号化装置１は、可変長符号化部１２が備えるフィルタ係数符号化部１１５２の符号化処理にその特徴がある。そこで、フィルタ係数符号化部１１５２が行う符号化について、図面を参照しながら以下に詳細に説明する。
【００６１】
まず、フィルタ係数符号化部１１５２の構成について図２を参照しながら以下に説明する。
【００６２】
（フィルタ係数符号化部１１５２の構成）
図２は、フィルタ係数符号化部１１５２の要部構成を示すブロック図である。
【００６３】
図２に示すように、フィルタ係数符号化部１１５２は、ソート部１１５２ａ、コンテキスト決定部１１５２ｂ、状態保持部１１５２ｃ、シンボル化部１１５２ｄ、符号化部１１５２ｅおよび状態更新部１１５２ｆを備えている。
【００６４】
ソート部１１５２ａは、入力されたフィルタ係数情報＃１０１に含まれる各フィルタ係数の一部をフィルタリング処理で参照する参照画素の相対座標に基づいてソート処理を施し、ソート処理を施したフィルタ係数情報＃１０１ａをシンボル化部１１５２ｄに供給する。
【００６５】
なお、オフセットに対応するフィルタ係数を除くと、各フィルタ係数の相対座標は、参照画素の相対座標と基本的には１対１で対応するため、具体的なソート処理は、各フィルタ係数の位置に基づいて行われる。
【００６６】
ここで、「ソート処理」とは、ｎ個のフィルタ係数（ａ1〜ａn：添え字はフィルタ係数情報＃１０１に含まれるフィルタ係数の並び順）を、その絶対値が完全に昇順または降順になるようにソートする処理（∀i（｜ａi｜≦｜ａi+1｜）または∀i（｜ａi｜≧｜ａi+1｜）を満たすようにソートする処理）を意味するのではない。すなわち、ここでの「ソート処理」とは、適応フィルタ部１００が適用するフィルタ係数セットの性質を利用することにより、各フィルタ係数について、その絶対値が準ソートされるようにする処理（｜ａi｜≦｜ａi+1｜を満たすiの数と｜ａi｜≧｜ａi+1｜を満たすiの数との差が非常に大きくなるようにする処理）のことを意味するのであるが、詳細については後述することとする。
【００６７】
なお、オフセットに対応するフィルタ係数についてはソート処理を行わない。具体的には、オフセットに対応するフィルタ係数をｎ＋１番目のフィルタ係数としソート処理を行わない。
【００６８】
また、ソート部１１５２ａがフィルタ係数情報＃１０１ａを供給する処理は、フィルタ係数情報＃１０１ａに含まれているフィルタ係数の並び順で（ａ1、ａ２、ａ３・・の順に）、フィルタ係数ａi（ｉ∈ｎ）を１つずつ供給することにより行われる。
【００６９】
シンボル化部１１５２ｄは、ソート部１１５２ａから供給されたフィルタ係数ａiを、フィルタ係数ａiの絶対値に応じた数のシンボル「１」を含むシンボル列に変換する。より具体的には、シンボル化部１１５２ｄは、フィルタ係数ａiの絶対値が表わす数だけ連続する「１」の末尾に「０」を付加し、さらに、フィルタ係数の正負を表わすシンボル（正の場合「０」、負の場合「１」）を付加することによりシンボル列に変換する。従って、例えば、フィルタ係数ａiが「−４」である場合、「１１１１０１」というシンボル列に変換されることとなる。
【００７０】
そして、シンボル化部１１５２ｄは、シンボル列の先頭からシンボルを１つずつ符号化部１１５２ｅおよび状態更新部１１５２ｆに供給する。
【００７１】
コンテキスト決定部１１５２ｂは、ソート処理済みのフィルタ係数セットにおいて符号化対象係数が何番目の何番目の係数であるか、および、符号化対象シンボル列において符号化対象シンボルが何ビット目のシンボルであるかに応じて、シンボル列中の符号化対象ビット（シンボル）を符号化するために用いるコンテキストを決定する。コンテキストとは、同種の特徴（ここでは「１」「０」の確率）を持つ符号化対象ビットをグループ化したもので、同一グループに対し同様の確率を用いて符号化するために用いられる。具体的には、コンテキスト決定部１１５２ｂは、フィルタ係数ａiのシンボル列のビット毎に、シンボル列の何ビット目を符号化するかを示すシンボル位置の情報を符号化部１１５２ｅから受け取り、符号化部１１５２ｅで用いるコンテキストを示すインデックスを出力する。ここでは、ｉ＞＝１かつｉ＜＝９の場合のインデックスを１、９＜ｉ＜＝ｎの場合のインデックスを２、ｉ＝ｎ＋１、すなわち、オフセットに対応する係数のインデックスは３とする。また、ｉによらずシンボル列のＭ個目（ここではＭ＝８）以降のビットのインデックスを４とする。また上記に依らず、正負の符号を表わすシンボルのインデックスを５とする。
【００７２】
状態保持部１１５２ｃは、コンテキスト毎に、符号化部１１５２ｅで使う符号化処理パラメータ（「１」「０」の確率、もしくは確率に対応する状態）を記憶しており、コンテキストインデックスの値に対応する符号化処理パラメータを出力する。
【００７３】
符号化部１１５２ｅは、シンボル化部１１５２ｄから供給されたシンボル列の各ビットを状態保持部１１５２ｃが保持する符号化処理パラメータに基づいて符号化する。
【００７４】
具体的には、状態保持部１１５２ｂに入力されたコンテキストインデックスに対応する、状態保持部１１５２ｂに保持されている符号化処理パラメータに基づいて符号化する。本実施形態は、シンボル列を適応的に符号化する点、すなわち、シンボル列の各ビットを符号化するたびに、状態保持部１１５２ｂに保持されている符号化処理パラメータを更新していく点に特徴がある。
【００７５】
状態更新部１１５２ｆは、前回符号化したシンボル列のビット（前回ビット）の値に応じて、前回ビットの値がより短く符号化されやすいように、次のビットの符号化に用いる符号化パラメータを更新する。ここでは「１」が入力されたら「１」の確率を増加させ、「０」が入力されたら「１」の確率を減少させる。
【００７６】
状態更新部１１５２ｆを上記のように動作させると、算術符号において、先に符号化したフィルタ係数の値の大きさ（絶対値）に応じて、次のフィルタ係数を符号化することが可能になり、高い符号化効率でフィルタ係数を符号化することができる。
【００７７】
図１１は、符号化データの構成の一例である。この図を参照し、符号化部１１５２ｅに入力されるシンボル列が「１１１１０１」である場合を例として適応的な符号化を説明する。なお、前記入力されるシンボル列に対応するフィルタ係数の位置ｉは１２であるとする。
【００７８】
コンテキスト決定部１１５２ｂは、フィルタ係数の位置ｉ＝１２からコンテキストインデックスの値として２を出力する。状態保持部１１５２ｃは、コンテキスト２の「１」の確率を出力する。ここではＰ1であるものとする。
【００７９】
符号化部１１５２ｅは、確率Ｐ1を用いて「１１１１０１」の１ビット目「１」を符号化する。そして、符号化部１１５２ｅは、使用した確率Ｐ1を状態更新部１１５２ｆに出力する。状態更新部１１５２ｆは、符号化部１１５２ｅから確率Ｐ1が入力され、シンボル化部１１５２ｄから符号化ビット「１」が入力されると、コンテキスト２の「１」の確率をＰ2に更新する。更新後の確率は、状態保持部１１５２ｃで保持される。
【００８０】
次に、符号化部１１５２ｅは、確率Ｐ2を用いて「１１１１０１」の２ビット目「１」を符号化する。そして、符号化部１１５２ｅは、使用した確率Ｐ2を状態更新部１１５２ｆに出力する。状態更新部１１５２ｆは、符号化部１１５２ｅから確率Ｐ2が入力され、シンボル化部１１５２ｄから符号化ビット「１」が入力されると、コンテキスト２の「１」の確率をＰ3に更新する。
【００８１】
同様に、「１１１１０１」の３、４ビット目の「１」を符号化し、コンテキスト２の確率をＰ5に更新する。
【００８２】
次に、符号化部１１５２ｅは、確率１−Ｐ5を用いて「１１１１０１」の５ビット目「０」を符号化する。そして、符号化部１１５２ｅは、使用した確率Ｐ5を状態更新部１１５２ｆに出力する。状態更新部１１５２ｆは、符号化部１１５２ｅから確率Ｐ5が入力され、シンボル化部１１５２ｄから符号化ビット「０」が入力されると、コンテキスト２の「１」の確率をＰ6に更新する。
【００８３】
フィルタ係数の絶対値が復号されると、最後に、正負の符号を符号化するためのコンテキストインデックス５に対応する確率を状態保持部１１５２ｃから読み出し、正負の符号を符号化する。この確率をＰsignとする。
【００８４】
結局、符号化部１１５２ｅは、確率Ｐ1、Ｐ2、Ｐ3、Ｐ4、１−Ｐ5、Ｐsignで「１１１１０１」を符号化して得られた符号化データを出力する。
【００８５】
次に、フィルタ係数の位置ｉ＋１（ここでは＝１３）のシンボル列を符号化する際には、コンテキスト２に保持された確率Ｐ6が用いられる。
【００８６】
以上の処理によって、符号化部１１５２ｅは、フィルタ係数ａi-1の絶対値が大きいほど「１」の確率が大きく「０」の確率が小さい出現確率を用いて、フィルタ係数ａiから生成されたシンボル列を算術符号化することになる。また、フィルタ係数情報＃１０１ａは準ソートされているので、全くソートされていない場合に比べ、フィルタ係数ａi-1の絶対値とフィルタ係数ａiの絶対値との差は小さくなり、符号化するシンボル列の中に「１」が実際に出現する確率と算術符号化に用いる「１」の出現確率とが近くなる傾向が強くなる。
【００８７】
符号化部１１５２ｅは、フィルタ係数ａ1〜ａnのすべてについてシンボル列の符号化処理を終えると、各シンボル列を符号化した順序で格納したデータを外部に出力する。
【００８８】
フィルタ係数符号化部１１５２は、動きベクトルと同様、フィルタ係数をその予測値との差分として符号化しても良い。この場合、フィルタ係数符号化部１１５２は、内部に、フィルタ係数を予測するフィルタ係数予測部と、フィルタ係数と予測値との差分を算出する手段を備える。差分値を符号化する場合にも、中心位置に近いほど絶対値が大きく、また、近い距離にあるフィルタ係数の絶対値は近い値をとるという性質があるため、同様の効果を奏する。フィルタ係数予測部は、例えば、前フレームでの符号化に用いたフィルタ係数を保持しておき、その値を予測値とすることで、フィルタ係数の予測を行う。
【００８９】
図２３は、外部に出力される上記データを模式的に示した図である。図２３に示すように、上記データはスライスごとにスライスヘッダに格納される。また、中心位置に近いフィルタ係数ほど符号化されたシンボルがスライスヘッダの先頭に近い位置に格納され、中心位置から遠いフィルタ係数ほど符号化されたシンボルがスライスヘッダの末尾に近い位置に格納されるようになっている。つまり、動画像復号装置で符号化データを復号してフィルタ係数セットを生成する際に、スライスヘッダにおける符号化されたシンボルの位置を、生成するフィルタ係数セットにおけるフィルタ係数の位置を示す位置情報として利用することができるようになっている。
【００９０】
なお、フィルタ係数符号化部１１５２が符号化に用いるアルゴリズムは算術符号である必要はなく、ハフマン符号やゴロム符号などの他の可変長符号化アルゴリズムを用いても良い。ハフマン符号を用いる場合には、フィルタ係数符号化部１１５２が、複数のハフマン符号表を備え、さらに、各ハフマン符号表が、フィルタ係数符号化部１１５２が絶対値からハフマン符号表を選択するために参照する選択テーブルを備えるようにする。これにより、フィルタ係数符号化部１１５２は、符号化順序ｉで符号化したフィルタ係数の値から、選択テーブルを用いて、次の（符号化順序ｉ＋１の）符号化に用いるハフマン符号表を選択することにより、同じような絶対値が連続する場合に適した符号化データを生成することができる。なお、符号化アルゴリズムとしてゴロム符号を用いる例については後で詳細に説明することにする。
【００９１】
（ソート部１１５２ａが行うソート処理について）
ここでは、ソート部１１５２ａが行うソート処理について以下に説明する。
【００９２】
前述したように、適応フィルタ部１００が適用するフィルタ係数ベクトルは、その中心位置からの距離が大きいフィルタ係数ほどその絶対値が小さくなり、中心位置に近いフィルタ係数ほどその絶対値が大きくなる傾向がある。
【００９３】
ここで、中心位置は、フィルタリング処理で用いる参照画素の重心、もしくは、その付近とする。例えば、Ｍ×Ｎの矩形の２次元フィルタであれば。（Ｍ／２、Ｎ／２）を中心とする。中心位置は小数座標でも良いし、切り捨て、切り上げなどにより整数座標としても良い。
【００９４】
本実施形態において、ソート部１１５２ａが行うソート処理は、フィルタ係数に対応する参照画素の相対位置に応じてフィルタ係数を２次元的に配置した場合に中心位置に近いフィルタ係数が中心位置から遠いフィルタ係数よりも先になるような並び順に、あるいは、中心位置から遠いフィルタ係数が中心位置に近いフィルタ係数よりも先になるような並び順に、入力されたフィルタ係数情報＃１０１に含まれる各フィルタ係数を並び替える処理である。このソート処理により、フィルタ係数は、その絶対値の大きさの大きい順または小さい順に、準ソートされることになる。
【００９５】
このように、ソートを行うと、２次元的に表現されるフィルタ係数をラスタ順に符号化するよりもフィルタ係数間の相関が高くなることから、先に符号化したフィルタ係数の値の大きさ（絶対値）に応じて、次のフィルタ係数を符号化する方法において、一層、符号化効率を向上させることができる。
【００９６】
なお、１つのフィルタ係数が複数の参照画素の重みとして用いられる場合には、そのフィルタ係数の配置は、重みが最大の参照画素の相対位置に応じて行われる。また、中心位置から対称の位置に存在する２つの参照画素の重み係数に同一のフィルタ係数を用いる場合などでは、重みが最大の参照画素の位置が複数存在することになるが、この場合、Ｘ座標が０以上である参照画素の相対位置に応じてフィルタ係数の配置を行う、などのルールを定めておくことより、フィルタ係数を配置することができる。
【００９７】
また、ソート処理にはいくつかのバリエーションがあるが、その具体例について図面を参照しながら、説明する。なお、ここでのソート処理の具体例は、ソート部１１５２ａが中心位置に近いフィルタ係数が中心位置から遠いフィルタ係数よりも先になるような並び順で行う場合のものである。また、適応フィルタ部１００が適用するフィルタ係数セットの各フィルタ係数が２次元的に配置される例として、以下の式（４）に示すフィルタ係数セットＭ１、式（５）に示すフィルタ係数セットＭ2、および式（６）に示すフィルタ係数セットＭ3を挙げて説明する。式（４）〜式（６）から分かるように、適応フィルタ部１００が適用するフィルタ係数セットは、中心位置のフィルタ係数程、その絶対値が大きくなり、中心から遠いフィルタ係数程、その絶対値が小さくなる傾向が強い。
【００９８】
【数４】
2011083666.tif 000006
【００９９】
【数５】
2011083666.tif 000007
【０１００】
【数６】
2011083666.tif 000008
【０１０１】
（ソート処理の具体例１）
ソート処理の具体例について図３を参照しながら以下に説明する。
【０１０２】
図３（ａ）はフィルタ係数の２次元配置上の中心位置と中心位置からの相対位置との距離の定義を模式的に示した図であり、図３（ｂ）は図２のフィルタ係数符号化部が各要素を符号化する順序を模式的に示した図である。
【０１０３】
図３（ａ）に示すように、本ソート処理において、フィルタ係数の２次元配置上の相対位置と中心位置との距離は、ユークリッド距離の２乗、ｄ＝（k-i）2＋（l-j）2として定義される。ここで、中心位置はi行ｊ列目の位置であり、各要素の位置はk行l列目の位置である。なお、距離としては、ユークリッド距離、すなわち、ｄの平方根を用いても良い。
【０１０４】
本ソート処理は、フィルタ係数セットの各フィルタ係数を、２次元配置上の中心位置からの距離ｄが小さい順に並べる処理である。本ソート処理によって、フィルタ係数符号化部１１５２が各要素を符号化する順序は図３（ｂ）のようになる。
【０１０５】
従って、本ソート処理をフィルタ係数セットＭ１に適用すると、フィルタ係数セットＭ１の各フィルタ係数は、ａ1＝１６、ａ2＝−８、ａ3＝−８、ａ4＝−９、ａ5＝−９、ａ6＝３、・・・、ａ49＝０のように並び替えられることになる。すなわち、ａ3とａ4とのように、｜ａ3｜＜｜ａ4｜となるものも存在するものの、概々、｜ａi｜≧｜ａi+1｜が成立している。
【０１０６】
なお、中心位置からの距離ｄが等しい複数のフィルタ係数については、それらを任意の順序に並べて構わないが、例えば、（l-j）2＜（k-i）2を満たすフィルタ係数を優先して並べる、あるいは、（l-j）2が同一である場合にｌが小さいほうを優先して並べるなどの規則を設けてもよい。
【０１０７】
なお、図１２、図１３は、矩形以外の２次元配置の例を示すものであり、図１２では菱形の例を、図１３では斜め線分の例を示している。図１２（ａ）、図１３（ａ）は距離の定義を模式的に示した図であり、図１２（ｂ）、図１３（ｂ）は符号化する順序の定義を模式的に示した図である。図１２（ａ）、図１３（ａ）からわかるように、菱形や斜め線分の２次元配置においても、距離の定義としてユークリッド距離の２乗を用いることができる。
【０１０８】
（ソート処理の具体例２）
ソート処理の別の具体例について図４を参照しながら以下に説明する。
【０１０９】
図４（ａ）はフィルタ係数の２次元配置上の相対位置と中心位置との距離の定義を模式的に示した図であり、図４（ｂ）は図２のフィルタ係数符号化部が各要素を符号化する順序を模式的に示した図である。
【０１１０】
図４（ａ）に示すように、本ソート処理において、フィルタ係数の２次元配置上の相対位置と中心位置との距離は、ｄ＝｜k-i｜＋｜l-j｜として定義される。中心位置は（i、ｊ）であり、各要素の位置は（ｋ、ｌ）である。
【０１１１】
本ソート処理も、具体例１のソート処理と同様、フィルタ係数の２次元配置上の中心位置からの距離ｄが小さい順にフィルタ係数を並べる処理であるが、さらに、最後に並べたフィルタ係数の近傍に位置するフィルタ係数を近傍に位置しないフィルタ係数よりも優先的に並べていくことを特徴としている。ここで、ある位置に対する近傍とは、当該位置から最も近いフィルタ係数への距離をdとしたとき、d+δ以内の位置を表わす。δは適当な閾値であり、近傍に含まれるフィルタ係数を選択する場合に、選択される係数の個数が必要にして最小となるよう設定する。適応フィルタ部１００が適用するフィルタ係数セットの各フィルタ係数を２次元的に配置した場合、フィルタ係数セットＭ2のように、近傍に位置するフィルタ係数同士の絶対値の差が近傍に位置しないフィルタ係数同士の絶対値の差よりも小さい傾向が強いものも多く存在するため、このような順序でソート処理を行っても、フィルタ係数を準ソートすることができる場合が多い。
【０１１２】
本ソート処理によって、フィルタ係数符号化部が各要素を符号化する順序は図４（ｂ）のようになる。
【０１１３】
従って、本ソート処理をフィルタ係数セットＭ2に適用すると、フィルタ係数セットＭ2の各フィルタ係数は、ａ1＝１６、ａ2＝−９、ａ3＝−９、ａ4＝−８、ａ5＝−８、ａ6＝６、ａ7＝６、ａ8＝８、・・・、ａ49＝０のように並び替えられることになる。すなわち、ａ7とａ8とのように、｜ａ7｜＜｜ａ8｜となるものも存在するものの、概々、｜ａi｜≧｜ａi+1｜が成立している。
【０１１４】
（ソート処理の具体例３）
ソート処理のさらに別の具体例について図５を参照しながら以下に説明する。
【０１１５】
図５（ａ）はフィルタ係数の２次元配置上の相対位置と中心位置との距離の定義を模式的に示した図であり、図５（ｂ）は図２のフィルタ係数符号化部が各要素を符号化する順序を模式的に示した図である。
【０１１６】
図５（ａ）に示すように、本ソート処理において、係数の２次元配置上の相対位置の各要素と中心の要素との距離は、ｄ＝ｍａｘ（｜k-i｜,｜l-j｜）として定義される。中心位置は（i、ｊ）であり、各要素の位置は（k、ｌ）で示される。
【０１１７】
本ソート処理も、具体例２のソート処理と同様、フィルタ係数の２次元配置上の中心位置からの距離ｄが小さい順にフィルタ係数を並べる処理であり、さらに、最後に並べたフィルタ係数に近傍に位置するフィルタ係数を近傍に位置しないフィルタ係数よりも優先的に並べていくことを特徴としている。
【０１１８】
本ソート処理によって、フィルタ係数符号化部が各要素を符号化する順序は図５（ｂ）のようになる。
【０１１９】
従って、本ソート処理をフィルタ係数セットＭ3に適用すると、フィルタ係数セットＭ3の各フィルタ係数は、ａ1＝１６、ａ2＝−９、ａ3＝９、ａ4＝−７、ａ5＝−８、・・・、ａ49＝０のように並び替えられることになる。すなわち、ａ4とａ5とのように、｜ａ4｜＜｜ａ5｜となるものも存在するものの、概々、｜ａi｜≧｜ａi+1｜が成立している。
【０１２０】
なお、上記ソート処理の具体例１〜３では、すべてのフィルタ係数についてソート処理を適用しているが、ソート部１１５２ａは、必ずしも、フィルタ係数情報＃１０１に含まれるすべてのフィルタ係数にソート処理を施す必要はない。すなわち、距離ｄが一定の閾値以上であるフィルタ係数についてはソート処理を施さず、フィルタ係数情報＃１０１に格納されている順序でそのまま後段に供給するようにしてもよい。これは、距離ｄが一定の閾値以上であるフィルタ係数は０または十分小さい値であるという性質をフィルタ係数セットが備えているため、そのようにしてもフィルタ係数情報＃１０１に含まれている各フィルタ係数を準ソートできるからである。また、中心位置のフィルタ係数とオフセットとを最後に符号化するなど、一部のフィルタ係数を固定的な順序で符号化する場合には、該一部のフィルタ係数以外のフィルタ係数についてソートを行う。
【０１２１】
なお、距離が少々異なっても、フィルタ係数の値はそれほど変化しないことがある。そのため、ソートに用いる距離としては具体例１〜３をそのまま用いるのではなく、上記の距離を粗く表した値（量子化した値）を用いても良い。量子化する関数Ｑと上記ｄを用いてＱ（ｄ）のような値を用いる。ここでＱには、任意の単調増加関数（例えば、ｆｌｏｏｒ（ｄ／ｄＱ）、但し、ｆｌｏｏｒは小数点未満を切り捨てた整数を出力する関数でありｄＱは２以上の整数）を使うことができる。また、中心位置からの距離が大きければ、距離が異なる２つのフィルタ係数は、その絶対値の差が小さくなることから、距離としてｌｏｇ（ｄ＋１）やｄの１／２乗を用いることも適当である。
【０１２２】
（符号化アルゴリズムとしてゴロム符号を用いる例）
ここでは、符号化アルゴリズムに算術符号ではなく可変長符号であるゴロム符号を用いる例について説明する。
【０１２３】
ゴロム符号は、小さい値に短い符号、大きい値に長い符号を割り当てるものであり、値が０に集中する分布に従って出現するフィルタ係数の符号化に適している。また、状態値ｍ（ｍは１以上の整数）をパラメータとして符号を変化させることが可能であり、０への集中の度合いが異なる様々な分布に従って出現するフィルタ係数を、好適に符号化することが可能である。
【０１２４】
以下、ゴロム符号の生成方法を説明するが、ゴロム符号は、状態値ｍが１か２以上かで符号化の方法が異なっている。状態値ｍ＝１のときは、アルファ符号（ｕｎａｒｙ）を行う。アルファ符号では、符号化対象とする整数値ｘの数だけ１を出力し、最後に１個の０を出力する。
【０１２５】
一方、ｍが２以上の場合には、符号化対象とする整数値ｘをｍで割った商であるｑと、余りｒを求める。商ｑは、アルファ符号を用いて符号化する。次にｂ０＝ｌｏｇ２（ｍ）と、ｂ１＝ｃｅｉｌ（ｂ０）を求める。ここで、ｃｅｉｌは小数点以下を切り上げた整数を出力する関数である。ｂ０が整数の場合には、ｒをｂ１ビットで固定長符号化する。ｂ１が整数ではない場合には、ｂ２＝２b−ｍを求め、ｒ＜ｂ２である場合には、余りｒをｂ１−１ビットの固定長符号化を行う。逆にｒ≧ｂ２である場合にはｒ＋ｂ２をｂ１ビットの固定長符号化を行う。なお、アルファ符号において、符号化対象とする整数値ｘの数だけ０を出力し、最後に１個の１を出力するようにしてもよい。また、ゴロム符号についても、商ｑについてｑの値が示す数だけ０を出力し、最後に１個の１を出力するようにしてもよい。
【０１２６】
以下、図２４〜図２７を参照しながら、符号化アルゴリズムとしてゴロム符号を用いる場合の動画像符号化装置１の動作を説明する。
【０１２７】
なお、符号化アルゴリズムとしてゴロム符号を用いる場合には、算術符号を用いる場合と異なり、シンボル化部１１５２ｄはフィルタ係数をシンボルに変換せずに直接、符号化部１１５２ｅおよび状態更新部１１５２ｆに出力するようになっている。従って、フィルタ係数符号化部１１５２は、シンボルの符号化毎ではなく、フィルタ係数の符号化毎に状態を更新することになる。より具体的には、状態更新部１１５２ｆは、前回符号化したフィルタ係数の絶対値（前回絶対値）に応じて、前回絶対値の値がより短く符号化されやすいように、次のフィルタ係数の符号化に用いる符号化パラメータを更新する。例えば、前回符号化された値を最も短く符号化できるような状態に更新する。
【０１２８】
図２４は、状態値ｍ＝１、２、３に対応するゴロム符号の例である。
【０１２９】
図２５は、前回符号化／復号したフィルタ係数について、その絶対値から符号化に用いる状態値ｍを選択する選択テーブルの例である。
【０１３０】
図２６は、従来の動画像符号化装置が状態値ｍを更新せずにゴロム符号を用いて符号化した場合における累積符号量を示す表と符号化データとを示した図であり、フィルタ係数セットＭ１を、状態値ｍ＝３に固定されたゴロム符号を用いてラスタ順に符号化する場合の例を示している。
【０１３１】
図２６の上段に示す表は、左の列から順に、符号化の順番を示す番号、ゴロム符号に用いる状態値ｍ、符号化対象のフィルタ係数、フィルタ係数の絶対値を符号化して得られるシンボル列、フィルタ係数の正負を示す正負シンボル、および累積符号量を示している。また、図２６の下段には従来の動画像符号化装置が生成する符号化データを示しているが、符号化データは２進数列になる。すなわち、図２６の下段において、符号化データに「｜」という区切りを記しているが、フィルタ係数のシンボル間を示す便宜的なものであり、「｜」というデータは符号化データに含まれていない。
【０１３２】
図２６の例では、１番目に、フィルタ係数の値０を、シンボル列「００」と正負シンボルの「空」とを連結したシンボル列「００」に符号化しており、累積符号量は２ビットとなる。２番目に、フィルタ係数の値０を、シンボル列「００」と正負シンボルの「空」とを連結したシンボル列「００」に符号化しており、累積符号量は４ビットとなる。４９個の全フィルタ係数を符号化すると、最終的な累積符号量（フィルタ係数セットの符号化データの符号量）は１６６ビットとなる。なお、この例において最小の符号量を実現する値として状態値ｍ＝３を選んでいるので、状態を固定化するゴロム符号ではこれ以上の符号化効率を達成することはできない。
【０１３３】
図２７（ａ）（ｂ）は、動画像符号化装置１が、状態値ｍを更新しながらゴロム符号を用いて符号化した場合における累積符号量を示す表および符号化データの例を示した図である。図２７（ａ）（ｂ）の表の読み方及び符号化データの記述の仕方は、図２６と同じである。
【０１３４】
図２７（ａ）は、ソート処理を施さない場合の図であり、図２７（ｂ）は、図３（ｂ）に示す順序でソート処理を施した場合の図である。
【０１３５】
図２７（ａ）の例では、初期状態ではｍ＝５であり、符号化部１１５２ｅは、１番目に、状態値ｍ＝５のゴロム符号を用いて３ビットで符号化する。そして、状態更新部１１５２ｆは、図２５に示した選択テーブルを用いてゴロム符号の状態値ｍを選択し、状態保持部１１５２ｃが保持する状態値ｍを更新する。具体的には、選択テーブルを参照し、前回符号化した値０から状態の値１を得ることにより、状態値ｍを１に更新する。
【０１３６】
２番目に、符号化部１１５２ｅは、状態更新部１１５２ｆから更新後の状態値（符号化処理パラメータ）１を得ることにより、状態値ｍ＝１のゴロム符号を用いて、フィルタ係数の値０を、シンボル列「０」と正負シンボルの「空」とを連結したシンボル列「０」に符号化している。このようにしてすべてのフィルタ係数を符号化すると、最終的な符号量は１４１ビットになり、状態値ｍを更新しない場合に比べ、フィルタ係数セットの符号化データの符号量をより大きく削減している。
【０１３７】
図２７（ｂ）の例では、動画像符号化装置１は、図３（ｂ）の順序によりフィルタ係数にソート処理を施した上で、前回符号化したフィルタ係数の絶対値に応じて、状態保持部１１５２ｃが保持する状態を更新することにより符号化を行う。ソート処理後のフィルタ係数の並びは、符号化順に１６、−８、−８、−９、−９、３、４、３、４、５、５、３、４、−１、−１、−１、−１、−１、−１、−１、０、０、０、０、−１、−１、−１、−１、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０である。
【０１３８】
図２７（ｂ）の例でも、初期状態ではｍ＝５である。符号化部１１５２ｅは、１番目に、フィルタ係数の値１６を、シンボル列「１１１００１」と正負シンボルの「０」とを連結したシンボル列「１１１００１０」に符号化するので、累積符号量は７ビットである。そして、状態更新部１１５２ｆは、図２５に示した選択テーブルを用いてゴロム符号の状態値ｍを選択し、状態保持部１１５２ｃが保持する状態値ｍを更新する。具体的には、選択テーブルを参照し、前回符号化したフィルタ係数の絶対値１６から状態の値５を得ることにより、状態値ｍを５に更新する。
【０１３９】
２番目に、符号化部１１５２ｅは、状態更新部１１５２ｆから更新後の状態値（符号化処理パラメータ）５を得ることにより、状態値ｍ＝５のゴロム符号を用いて、フィルタ係数の値８を、シンボル列「１０１１０」と正負シンボルの「１」とを連結したシンボル列「１０１１０１」に符号化する。このようにしてすべてのフィルタ係数を符号化すると、最終的な符号量は１２８ビットになり、状態値ｍを更新する場合であっても、ソート処理を施す場合のほうがソート処理を施さない場合よりも、フィルタ係数セットの符号化データの符号量を削減できることがわかる。
【０１４０】
なお、この例の状態更新部１１５２ｆでは、前回符号化したフィルタ係数の絶対値のみに応じて状態を更新しているが、絶対値に加えて前回の状態を用いることも好適である。より具体的には、状態の更新値を、選択テーブルで得られる状態と前回の状態との平均を用いると、状態の急激な変化を抑えることができ、絶対値が単調的に減少・増加しない場合にも符号量が増加することを防ぐことができる。
【０１４１】
（動画像符号化装置１の利点）
以上のように、動画像符号化装置１は、適応ループフィルタを入力画像に適用する適応フィルタ部１００と、入力画像に適用するフィルタを表わすフィルタ係数セットの各フィルタ係数について、フィルタ係数の絶対値を符号化する可変長符号化部１２と、を備えている。
【０１４２】
そして、可変長符号化部１２は、フィルタ係数セットの２次元配置上、中心位置からの距離が近いフィルタ係数から順に、かつ／または、近い距離にあるフィルタ係数から順に、
各フィルタ係数の絶対値を、すでに符号化されたフィルタ係数の絶対値に応じて符号化する。
【０１４３】
また、適応フィルタ部１００が適用する適応ループフィルタのフィルタ係数は、２次元配置上の中心位置からの距離が大きいフィルタ係数ほどその絶対値が小さくなり、中心位置に近いフィルタ係数ほどその絶対値が大きくなる傾向がある。また、近い距離にあるフィルタ係数の絶対値は近い値をとる傾向がある。
【０１４４】
したがって、動画像符号化装置１では、符号化する際に適用するフィルタ係数間の相関、すなわち、フィルタ係数の絶対値が、前回符号化されたフィルタ係数の絶対値に近いことを利用して、フィルタ係数の符号化効率を高めることができる。
【０１４５】
これにより、符号化装置は、復号装置に伝送するフィルタ係数の符号量を従来に比べ効果的に削減可能であるという効果を奏する。
【０１４６】
なお、特に算術符号を利用する場合には、フィルタ係数の絶対値に応じた数の規定のシンボルを含むシンボル列を生成するとともに生成したシンボル列を、すでに符号化されたシンボル列におけるシンボルの出現確率に応じて算術符号化する。このようにすれば、出現確率が実際に出現するシンボルの出現確率と近くなることになり、特に有効に動作する。
【０１４７】
（動画像復号装置）
次に、本実施形態に係る動画像復号装置について、図６を参照しながら以下に説明する。
【０１４８】
図６は、動画像復号装置の要部構成を示すブロック図である。
【０１４９】
動画像復号装置２は、その一部に、Ｈ．２６４／ＡＶＣ規格、および、ＶＣＥＧで検討されている技術を用いている動画像復号装置である。
【０１５０】
図６に示すように、動画像復号装置２は、可変長符号復号部２３、動きベクトル復元部２４、バッファメモリ２５、予測画像生成部２６、イントラ予測画像生成部２７、予測方式決定部２８、逆量子化・逆変換部２９、加算器３０、デブロッキングフィルタ５０、および、適応フィルタ部１００を備えている。
【０１５１】
動画像復号装置２は、符号化データ＃２を受け、出力画像＃３を出力する。
【０１５２】
可変長符号復号部２３は、符号化データ＃２を可変長復号し、差分動きベクトル＃２３ａ、サイド情報＃２３ｂ、量子化予測残差データ＃２３ｃ、および、フィルタ係数情報＃２３ｄを出力する。
【０１５３】
動きベクトル復元部２４は、差分動きベクトル＃２３ａ、および、すでに復号され、バッファメモリ２５に格納された動きベクトル＃２５ａから対象パーティションの動きベクトル＃２４を復号する。
【０１５４】
バッファメモリ２５には、適応フィルタ部１００から出力される出力画像データ＃１１０ａ、動きベクトル＃２４、および、サイド情報＃２３ｂが格納される。
【０１５５】
インター予測画像生成部２６は、動きベクトル復元部２４によって復号され、バッファメモリ２５を経由した動きベクトル＃２５ｃ、および、バッファメモリ２５に格納された参照画像＃２５ｄに基づいて、インター予測画像＃２６を生成する。なお、動きベクトル＃２５ｃは、動きベクトル＃２４と同一の動きベクトルを含む。また、参照画像＃２５ｄは、後述する適応フィルタ部１００から出力される出力画像データ＃１１０ａに対応している。
【０１５６】
イントラ予測画像生成部２７は、バッファメモリ２５に格納された、対象マクロブロックと同じ画像内の局所復号画像＃２５ｂから、イントラ予測画像＃２７を生成する。
【０１５７】
予測方式決定部２８は、サイド情報＃２３ｂに含まれる予測モード情報に基づいて、イントラ予測画像＃２７、または、インター予測画像＃２６のうち、何れか一方を選択し、予測画像＃２８として出力する。
【０１５８】
逆量子化・逆変換部２９は、量子化予測残差データ＃２３ｃに対し、逆量子化、および、逆ＤＣＴ変換を行い、予測残差＃２９を出力する。
【０１５９】
加算器３０は、予測残差＃２９、および、予測画像＃２８を加算し、復号画像＃３として出力する。また、出力された復号画像＃３は、デブロッキングフィルタ５０に供給される。
【０１６０】
デブロッキングフィルタ５０は、復号画像＃３におけるブロック境界、またはマクロブロック境界を介して互いに隣接する画素の画素値の差が予め定められた閾値よりも小さい場合に、復号画像＃３における当該ブロック境界、またはマクロブロック境界に対してデブロッキング処理を施す。デブロッキング処理が施された画像データは、デブロック画像＃５０として出力される。
【０１６１】
適応フィルタ部１００は、デブロック画像＃５０に対してフィルタリング処理を施す。
【０１６２】
（可変長符号復号部２３について）
本実施形態に係る動画像符号化装置２は、可変長符号復号部２３が備えるフィルタ係数復号部２３５２の復号処理にその特徴がある。
【０１６３】
まず、フィルタ係数復号部２３５２の構成について図１４を参照しながら以下に説明する。
【０１６４】
（フィルタ係数復号部２３５２の構成）
図１４は、フィルタ係数復号部２３５２の要部構成を示すブロック図である。
【０１６５】
図１４に示すように、フィルタ係数復号部２３５２は、逆ソート部２３５２ａ、コンテキスト決定部１１５２ｂ、状態保持部１１５２ｃ、シンボル復元部２３５２ｄ、復号部２３５２ｅ、および状態更新部１１５２ｆを備えている。既に説明した部材であるコンテキスト決定部１１５２ｂ、状態保持部１１５２ｃおよび状態更新部１１５２ｆについては説明を省略する。
【０１６６】
復号部２３５２ｅは、コンテキスト決定部１１５２ｂから出力されたコンテキストインデックスに応じて状態保持部１１５２ｃから出力された復号パラメータ（確率もしくは状態）と、符号化データ＃２を入力として、算術符号の復号を行い２進数から構成されるシンボル列を、シンボル復元部２３５２ｄに出力する。
【０１６７】
シンボル復元部２３５２ｄは、シンボル列の各シンボルをフィルタ係数に変換し、逆ソート部２３５２ａに出力する。
【０１６８】
逆ソート部２３５２ａは、入力された各フィルタ係数の復号順序に基づいて、適応フィルタ部１００が必要とするフィルタ係数の順序に並べ替える。すなわち、各フィルタ係数の復号順序と、フィルタ係数に対応する参照画素の相対位置に基づいて２次元配置した場合の位置と、が１対１に対応していることを利用して、２次元配置された各フィルタ係数をラスタスキャンする場合の順序に各フィルタ係数を並びかえる。適応フィルタ部１００が、フィルタリング時に用いる参照画素はラスタスキャン順に読みだされるため、処理に用いるフィルタ係数もラスタスキャン順に並べることが適当である。
【０１６９】
フィルタ係数に対応する参照画素については既に説明したとおりである。また、フィルタ係数の復号順序は、既に説明したフィルタ係数の符号化順序と同一である。すなわち、フィルタ係数の２次元配置上の位置が、中心位置に近いほど（もしくは遠いほど）先に復号される。さらに／あるいは、前回復号したフィルタ係数と近い距離にあるフィルタ係数が連続して復号される。
【０１７０】
なお、オフセットなどの対応する参照画素がないフィルタ係数や、中心位置に存在し、オフセットの前に符号化されたフィルタ係数など、固定的な順序で符号化したフィルタ係数については固定的な順序で復号する。
【０１７１】
フィルタ係数復号部２３５２においても、フィルタ係数符号化部１１５２と同様、フィルタ係数ａi-1の絶対値とフィルタ係数ａiの絶対値との差は小さくなるという性質に基づいて符号化された符号化データ＃２を復号するため、符号化された符号化データ＃２を高効率で復号することができる。既に説明したように、上記性質を有する準ソートされたフィルタ係数は、逆ソート部２３５２ａにより、準ソートされる前の元の位置に戻される。
【０１７２】
フィルタ係数復号部２３５２は、動きベクトルと同様、予測値との差分として符号化されたフィルタ係数を復号しても良い。この場合、フィルタ係数復号部２３５２は、内部にフィルタ係数予測部、と、差分値と予測値を加算する手段を備える。差分値の場合にも、中心位置に近いほど絶対値が大きく、また、近い距離にあるフィルタ係数の絶対値は近い値をとるという性質があるため、同様の効果を奏する。フィルタ係数予測部は、例えば、前フレームでの符号化に用いたフィルタ係数を保持しておき、その値を予測値とすることで、フィルタ係数の予測を行う。
【０１７３】
なお、フィルタ係数復号部２３５２が復号するために用いる復号アルゴリズムは、算術復号に限らず、ハフマン復号やゴロム復号などの可変長復号であってもよい。ハフマン復号を用いる場合には、フィルタ係数復号部２３５２は、複数のハフマン符号表を備え、さらに、各ハフマン符号表は、フィルタ係数の絶対値からハフマン符号表を選択するための選択テーブルを備える。これにより、復号順序ｉでの復号結果から、選択テーブルを用いて、次に（復号順序ｉ＋１で）復号に用いるハフマン符号表を選択することにより、ハフマン符号表を参照して符号化された符号化データを復号することができる。
【０１７４】
以下では、再び図２４〜図２７を参照しながら、本実施形態の動画像復号装置２が復号アルゴリズムとして算術復号ではなくゴロム復号を用いる例について詳細に説明する。なお、復号アルゴリズムとしてゴロム復号を用いる場合には、算術復号を用いる場合と異なり、復号部２３５２ｅは、シンボルでなくフィルタ係数を状態更新部１１５２ｆおよびシンボル復元部２３５２ｄに出力するようになっている。また、シンボル復元部２３５２ｄは、シンボルでなくフィルタ係数を復号部２３５２ｄから受け取り、受け取ったフィルタ係数をそのまま逆ソート部２３５２ａに出力するようになっている。従って、フィルタ係数復号部２３５２は、シンボルの復号毎ではなく、フィルタ係数の復号毎に状態を更新することになる。
【０１７５】
動画像復号装置２では、前回復号したフィルタ係数の絶対値に応じて、状態保持部１１５２ｃが保持する状態を更新することにより復号を行う。動画像符号化装置１と同様、動画像復号装置２も、図２５に示した選択テーブルを保持しており、状態更新部１１５２ｆは、選択テーブルを用いてゴロム符号の状態値ｍを選択する。なお、状態保持部１１５２ｃが保持する状態の初期値は、動画像符号化装置１と同じ初期値であり、ここでは初期値５であるものとする。
【０１７６】
以下、動画像符号化装置１においてソート処理が施されずに符号化された符号化データを復号する例と、動画像符号化装置１においてソート処理が施され、符号化された符号化データを復号するとともに逆ソート処理を施す例について、それぞれ、図２７（ａ）および図２７（ｂ）を参照しながら説明する。
【０１７７】
最初に動画像符号化装置１においてソート処理が施されずに符号化された符号化データを復号する例（すなわち、逆ソート処理を施さない例）について説明する。
【０１７８】
図２７（ａ）に示すように、復号部２３５２ｅは、１番目に、状態値ｍ＝５のゴロム符号を用いてシンボルの「０００」を復号し、フィルタ係数の絶対値０を得る。フィルタ係数の絶対値が０であるので正負シンボルは「空」である。そして、状態更新部１１５２ｆは、復号部２３５２ｅからフィルタ係数０を受け取り、選択テーブルを参照して得た状態の値１に、状態保持部１１５２ｃが保持する状態を更新する。
【０１７９】
２番目に、復号部２３５２ｅは、状態保持部１１５２ｃから状態の値（符号化処理パラメータ）１を受け取り、状態値ｍ＝１のゴロム符号を用いてシンボルの「０」を復号し、フィルタ係数の絶対値０を得る。同様にして最後まで復号を行うことにより、１４１ビットの符号化データを復号できる。図２６に示すように状態値ｍ＝３に固定した場合の符号化データが１６６ビットであるので、動画像復号装置２は、より効率的に符号化された符号化データを復号できている。なお、復号によりフィルタ係数は、０、０、０、−１、０、０、０、０、０、−１、５、−１、０、０、０、−１、３、−８、３、−１、０、−１、３、−９、１６、−９、４、−１、０、−１、４、−８、４、−１、０、０、０、−１、５、−１、０、０、０、０、０、−１、０、０、０の順序で得られる。すなわち、２次元的に配置されたフィルタ係数をラスタスキャンする順序となる。
【０１８０】
次に、動画像符号化装置１においてソート処理が施され、符号化された符号化データを復号するとともに逆ソート処理を施す例について説明する。
【０１８１】
図２７（ｂ）に示すように、逆ソート処理を施さない場合と同様、動画像符号化装置２は、前回符号化したフィルタ係数の絶対値に応じて状態を更新することにより復号を行う。復号部２３５２ｅは、１番目に、状態値ｍ＝５のゴロム符号を用いてシンボルの「１１１００１」を復号し、フィルタ係数の絶対値１６を得る。正負シンボルが「０」であるので、フィルタ係数は正であり、復号部２３５２ｅは、フィルタ係数の値を１６と復号できる。そして、状態更新部１１５２ｆは、復号部２３５２ｅからフィルタ係数１６を受け取り、選択テーブルを参照して得た状態の値５に、状態保持部１１５２ｃが保持する状態を更新する。
【０１８２】
２番目に、復号部２３５２ｅは、状態保持部１１５２ｃから状態の値（符号化処理パラメータ）５を受け取り、状態値ｍ＝５のゴロム符号を用いてシンボルの「１０１１０」を復号し、フィルタ係数の絶対値８を得る。正負シンボルが「１」であるので、フィルタ係数は負であり、値は―８と復号できる。同様にして最後まで復号を行うことにより、１２８ビットの符号化データを復号できる。図２７（ａ）に示すように逆ソート処理を行わない場合の符号化データが１４１ビットであるので、動画像復号装置２は、逆ソート処理を行わない場合よりもさらに効率的に符号化された符号化データを復号できている。なお、復号によりフィルタ係数は、１６、−８、−８、−９、−９、３、４、３、４、５、５、３、４、−１、−１、−１、−１、−１、−１、−１、−１、０、０、０、０、−１、−１、−１、−１、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０、０の順序で得られる。逆ソート部２３５２ａは、このような順序で得られたフィルタ係数を、フィルタ処理に適当な順序、例えばラスタスキャン順に並べるために逆ソート処理を行う。
（適応フィルタ部１００の構成）
適応フィルタ部１００は、フィルタ係数復号部２３５２により復号されたフィルタ係数情報＃２３ｄに基づいてフィルタ係数セットを生成し、生成したフィルタ係数セットを用いてフィルタリング処理を行う。
【０１８３】
適応フィルタ部１００は、デブロック画像＃５０に対しフィルタリング処理を施すことによって生成した出力画像データ＃１１０ａをバッファメモリ２５に対して出力する。
【０１８４】
なお、本使用例における適応フィルタ部１００は、ほぼ、ＫＴＡにおけるＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ）に対応している。すなわち、本使用例における適応フィルタ部１００は、整数画素の画素値を入力として、整数画素の画素値を出力する。これは、式（１）において、ｘ、ｙ、ｘ’、および、ｙ’を何れも整数にとることに対応している。
【０１８５】
（動画像復号装置１の利点）
以上のことから、動画像復号装置１は、フィルタ係数間に存在する相関を有効利用することにより高効率に符号化されたフィルタ係数を復号することにより、高効率に符号化された符号化データから復号画像を生成することができる。
【０１８６】
（実施形態２）
次に、本発明の別の実施形態に係る動画像符号化装置について図面を参照しながら説明する。本実施形態に係る動画像符号化装置も、実施形態１に係る動画像符号化装置１と同様に、その一部に、Ｈ．２６４／ＡＶＣ規格、および、ＶＣＥＧで検討されている技術を用いている動画像符号化装置である。
【０１８７】
図７は、本実施形態に係る動画像符号化装置１’の要部構成を示すブロック図である。
【０１８８】
（動画像符号化装置１’の構成）
図７に示すように、動画像符号化装置１’は、動画像符号化装置１と同様に、変換・量子化部１１、逆量子化・逆変換部１３、バッファメモリ１４、イントラ予測画像生成部１５、インター予測画像生成部１６、予測方式制御部１８、動きベクトル冗長性削減部１９、加算器２１、減算器２２、デブロッキングフィルタ５０、および、適応フィルタ部１００を備えているが、可変長符号化部１２’が備えるフィルタ係数符号化部１１５２’の構成および機能が、実施形態１における可変長符号化部１２が備えるフィルタ係数符号化部１１５２と異なっている。
【０１８９】
そこで、ここでは、フィルタ係数符号化部１１５２’について詳細に説明を行い、他の部材については説明を省略することとする。
【０１９０】
（フィルタ係数符号化部１１５２’の構成）
フィルタ係数符号化部１１５２’の構成について、図８を参照しながら以下に説明する。
【０１９１】
図８は、可変長符号化部１２’が備えるフィルタ係数符号化部１１５２’の要部構成を示すブロック図である。
【０１９２】
図８に示すように、フィルタ係数符号化部１１５２’は、ソート部１１５２ａ、２進化部１１５２ｄ、符号化部１１５２ｅ、およびＬＡＳＴフラグ生成部１１５２ｇを備えている。
【０１９３】
ソート部１１５２ａは、実施形態１のフィルタ係数符号化部１１５２が備えるソート部１１５２ａと同様のソート処理を行う。すなわち、本実施形態でのソート処理は、入力されたフィルタ係数情報＃１０１に含まれる各フィルタ係数を中心位置に近いフィルタ係数が中心位置から遠いフィルタ係数よりも先になるような並び順に並び替える処理である。
【０１９４】
２進化部１１５２ｄは、ソート部１１５２ａから供給されたフィルタ係数ａiを、「０」「１」の２進数のシンボルからなるシンボル列に変換し、シンボル列を符号化部１１５２ｅに供給する。
【０１９５】
ＬＡＳＴフラグ生成部１１５２ｇは、ソート部１１５２ａから供給されたフィルタ係数ａiの絶対値が最後の０以外の係数であるか否かを判定し、最後の０以外の係数でなければ、ＬＡＳＴフラグの値を「０」に設定し、そうでない場合には、「１」に設定する。そして、ＬＡＳＴフラグ生成部１１５２ｇは、ＬＡＳＴフラグを符号化部１１５２ｅに供給する。
【０１９６】
符号化部１１５２ｅは、すでに受け付けたフィルタ係数ａi-1のシンボル列とＬＡＳＴフラグとを関連付けたデータを符号化する。なお、符号化部１１５２ｅは値が「１」であるＬＡＳＴフラグを受け付け、シンボル列と値が「１」のＬＡＳＴフラグとを関連付けたデータを符号化した後は、フィルタ係数情報＃１０１’に含まれる残りのフィルタ係数（ａi、ａi+1・・・）については符号化を行わず、符号化した上記全データを符号化した順序に並べて外部に出力する。以下に具体例を示す。
【０１９７】
図９は、フィルタ係数情報＃１０１’にａ１〜ａ２６の順でフィルタ係数が格納されており、フィルタ係数ａ１〜ａ６の絶対値が０以外であり、フィルタ係数ａ７以降の絶対値が０である場合に、動画像符号化装置が符号化する情報を模式的に示した図である。図９（ａ）（ｃ）は、動画像符号化装置が本実施形態の動画像符号化装置１’である場合の図であり、図９（ｂ）は、動画像符号化装置が従来の装置である場合の図である。
【０１９８】
図９（ａ）に示すように、動画像符号化装置２’の符号化部１１５２ｅは、ａ１、ＬＡＳＴフラグ「０」、ａ２、ＬＡＳＴフラグ「０」・・・ａ６、ＬＡＳＴフラグ「１」の符号化を行うが、ａ３〜ａ２５の符号化は行わない。一方、図９（ｂ）に示すように、従来の動画像符号化装置は、ａ１〜ａ２５のすべてのフィルタ係数を符号化することになる。
【０１９９】
なお、オフセット値を表わすフィルタ係数ａ２６についてはＬＡＳＴフラグを付加せずにそのまま符号化する。また、図９（ｃ）に示すように、各フィルタ係数についてフィルタ係数の後ではなく先にＬＡＳＴフラグを付加したシンボル列の組により符号化しても構わない。
【０２００】
したがって、符号化部１１５２ｅには、従来に比べＬＡＳＴフラグの符号量分のオーバーヘッドがあるものの、適応フィルタ部１００が適用するフィルタ係数には値が０であるフィルタ係数が多く含まれているので、全体としてフィルタ係数の符号量を削減することができる。
【０２０１】
以上、フィルタ係数符号化部１１５２’が備える各部の動作について説明したが、ＬＡＳＴフラグ生成部１１５２ｇは、ｎ個のフィルタ係数（ａ1〜ａn：添え字はフィルタ係数情報＃１０１に含まれるフィルタ係数の並び順）のうち、特定のフィルタ係数、例えば、ａn/2以降のフィルタ係数についてのみＬＡＳＴフラグを符号化部１１５２ｅに供給するようにしてもよい。図１６は、このように特定のフィルタ係数のみにＬＡＳＴフラグを付加する場合において動画像符号化装置１’が出力する符号化データの例である。この例では、ｎ＝１３以降にＬＡＳＴフラグを付加している。ＬＡＳＴフラグの符号化によりｎ＝１６からｎ＝２５までのフィルタ係数の符号化を省くことができている。なお、ｎ＝２６のフィルタ係数はオフセット係数であるので、ＬＡＳＴフラグの値によらず符号化する。
【０２０２】
あるいは、絶対値が所定の定数ＴＨ以下となる最初のフィルタ係数より後の位置のフィルタ係数についてのみＬＡＳＴフラグを符号化部１１５２ｅに供給するようにしてもよい。図１７は、ＴＨ＝５である場合に動画像符号化装置１’が出力する符号化データの例である。図１７の例ではＴＨ＝５以下となる最初のフィルタ係数の位置及びそれ以前に位置するフィルタ係数についてはＬＡＳＴフラグを符号化しない。ＴＨ＝５以下となる最初のフィルタ係数より後のフィルタ係数についてはＬＡＳＴフラグを符号化する。図１６、図１７の例では、ともに、ｎ＝２６の係数はオフセット係数であるので、ＬＡＳＴフラグの値によらず符号化する。
【０２０３】
次に、フィルタ係数符号化部１１５２’が行う処理のバリエーションについて説明する。
【０２０４】
（フィルタ係数符号化部１１５２’が行う処理のバリエーション）
ＬＡＳＴフラグ生成部１１５２ｇはＬＡＳＴフラグに値を格納して符号化部１１５２ｅに供給することを説明したが、ＬＡＳＴフラグの代わりにＬＡＳＴ１フラグに値を格納して符号化部１１５２ｅに供給するようにしてもよい。
【０２０５】
この場合、ＬＡＳＴフラグ生成部１１５２ｇは、ソート部１１５２ａから供給されたフィルタ係数ａiの絶対値が一定の閾値（例えば、０）より大きいか否かを判定し、一定の閾値より大きい場合にはＬＡＳＴ１フラグの値を「０」に設定し、そうでない場合には、「１」に設定する。そして、ＬＡＳＴフラグ生成部１１５２ｇは、ＬＡＳＴ１フラグを符号化部１１５２ｅに供給する。また、ＬＡＳＴフラグ生成部１１５２ｇは、すでに受け付けたフィルタ係数の総和を保持する。ＬＡＳＴフラグ生成部１１５２ｇは、フィルタ係数ａiの絶対値が一定の閾値より大きい場合には、ａiを総和（ａ1＋ａ2＋・・・＋ａi-1）に加算する。一方、フィルタ係数ａiの絶対値が一定の閾値以下である場合には、総和（ａ1＋ａ2＋・・・＋ａi-1）から最後に加算したフィルタ係数ａi-1を減じた値を総和（ａ1＋ａ2＋・・・＋ａi-2）として符号化部１１５２ｅに供給する。
【０２０６】
符号化部１１５２ｅは、受け付けたＬＡＳＴ１フラグの値が「０」であるか「１」であるかを判定する。そして、符号化部１１５２ｅは、「０」であると判定した場合、すでに受け付けたフィルタ係数ａi-2のシンボル列とＬＡＳＴ１フラグとを関連づけたデータを符号化する。
【０２０７】
一方、符号化部１１５２ｅは、「１」であると判定された場合、ＬＡＳＴフラグ生成部１１５２ｇから受け付けた総和（ａ1＋ａ2＋・・・＋ａi-2）の値を１から減じた値を、フィルタ係数ａi-1の予測値とし、予測値を２進化部１１５２ｄに供給する。ここで、ＬＡＳＴフラグ生成部１１５２ｇから受け付けた総和の値を１から減じた値を予測値とする理由は、適応フィルタ部１００が適用するフィルタのフィルタ係数のうちオフセット値を除く総和が一般的に１程度の値になるためである。
【０２０８】
符号化部１１５２ｅは、その後、２進化部１１５２ｄから差分値のシンボル列を受け取り、符号化する。なお、差分値を符号化した後、符号化部１１５２ｅは、フィルタ係数情報＃１０１’に含まれる残りのフィルタ係数については符号化を行わず、今までに符号化した全データを符号化した順序に並べて外部に出力する。
【０２０９】
２進化部１１５２ｄは、実施形態１の場合と同様の方法で、ソート部１１５２ａから供給されたフィルタ係数ａiを、「０」「１」の２進数のシンボルからなるシンボル列に変換し、シンボル列を符号化部１１５２ｅに供給するが、フィルタ係数ａiを符号化部１１５２ｅに供給した後に予測値を符号化部１１５２ｅから受け取った場合、予測値とフィルタ係数ａi-1との差分値を算出し、差分値をシンボル列に変換して符号化部１１５２ｅに供給する。
【０２１０】
以上のようにＬＡＳＴ１フラグを用いると、符号化対象となる全フィルタ係数のうち最後に符号化するフィルタ係数については、既に復号したフィルタ係数を利用して予測値を算出しその差分値を符号化することになるため、その分さらに符号量を削減することができる。
【０２１１】
なお、最後に符号化するフィルタ係数以外のフィルタ係数についても、予測値を算出しその差分値を符号化してもよい。
【０２１２】
また、ソート部１１５２ａが行うソート処理は、中心のフィルタ係数についてはフィルタ係数情報＃１０１’の先頭ではなく末尾に配置されるようにしてもよい。
【０２１３】
このようにすると、最も大きな絶対値をもつ中心のフィルタ係数は直接符号化されなくなる（すなわち、予測値が大きくなる）ため、差分を符号化することによる符号量の削減効果を高めることができる。
【０２１４】
また、ソート部１１５２ａはソート処理をフィルタ係数の絶対値の大小に基づいて行わなくてもよい。すなわち、ソート部１１５２ａは、フィルタ係数に対応する基底（例えば、ＰＣＡ基底）の固有値が大きい順にフィルタ係数のソート処理を行うようにしてもよい。この場合、ＬＡＳＴフラグ生成部１１５２ｇは、ソート部１１５２ａから供給されたフィルタ係数に対応する基底の固有値が一定の閾値より大きいか否かに基づいて、ＬＡＳＴフラグまたはＬＡＳＴ１フラグの値を設定することになる。
【０２１５】
（動画像符号化装置１’の利点）
以上のように、動画像符号化装置１’は、２次元的に配置された各フィルタ係数のうち中心位置からの距離が遠い（距離が一定値以上であるような）フィルタ係数の値が０である場合において、ソート処理が施されたフィルタ係数のうち、値が０であるような最初のフィルタ係数以降のフィルタ係数の符号化を省略することができる。
【０２１６】
従って、動画像符号化装置１’は、すべてのフィルタ係数を符号化する場合に比べ、フィルタ係数の符号量を削減することができる。
【０２１７】
（動画像復号装置）
次に、本実施形態に係る動画像復号装置について、図１０を参照しながら以下に説明する。
【０２１８】
図１０は、動画像復号装置の要部構成を示すブロック図である。
【０２１９】
動画像復号装置２’は、実施形態１と同様に、その一部に、Ｈ．２６４／ＡＶＣ規格、および、ＶＣＥＧで検討されている技術を用いている動画像復号装置である。動画像復号装置２’は、動画像符号化装置１’から送られてきたＬＡＳＴフラグまたはＬＡＳＴ１フラグを参照して適応フィルタを生成する点に特徴がある。
【０２２０】
図１０に示すように、動画像復号装置２’は、動画像復号装置２と同様、動きベクトル復元部２４、バッファメモリ２５、予測画像生成部２６、イントラ予測画像生成部２７、予測方式決定部２８、逆量子化・逆変換部２９、加算器３０、およびデブロッキングフィルタ５０を備えているが、可変長符号復号部２３’および適応フィルタ部１００’の動作が、それぞれ、可変長符号復号部２３および適応フィルタ部１００と異なっている。
【０２２１】
そこで、以下では、可変長符号復号部２３’および適応フィルタ部１００’についてのみ説明し、その他の部材については説明を省略することにする。
【０２２２】
可変長符号復号部２３’は、符号化データ＃２ａを可変長復号し、差分動きベクトル＃２３ａ、サイド情報＃２３ｂ、量子化予測残差データ＃２３ｃ、および、フィルタ係数情報＃２３ｄ’を出力する。
【０２２３】
適応フィルタ部１００’は、デブロック画像＃５０に対してフィルタリング処理を施す。
【０２２４】
また、本使用例における適応フィルタ部１００’は、符号化データ＃２から復号されたフィルタ係数情報＃２３ｄ’に基づいてフィルタを生成し、フィルタリング処理を行う。
【０２２５】
適応フィルタ部１００’は、デブロック画像＃５０に対しフィルタリング処理を施すことによって生成した出力画像データ＃１１０ａをバッファメモリ２５に対して出力する。
【０２２６】
なお、本使用例における適応フィルタ部１００’も、ほぼ、ＫＴＡにおけるＡＬＦ（Ａｄａｐｔｉｖｅ  Ｌｏｏｐ  Ｆｉｌｔｅｒ）に対応している。すなわち、本使用例における適応フィルタ部１００’は、整数画素の画素値を入力として、整数画素の画素値を出力する。これは、式（１）において、ｘ、ｙ、ｘ’、および、ｙ’を何れも整数の値をとることに対応している。
【０２２７】
（可変長符号復号部２３´について）
本実施形態に係る動画像復号装置２´は、可変長符号復号部２３’が備えるフィルタ係数復号部２３５２´の復号処理にその特徴がある。
【０２２８】
（フィルタ係数復号部２３５２´の構成）
図１５は、フィルタ係数復号部２３５２´の要部構成を示すブロック図である。
【０２２９】
図１５に示すように、フィルタ係数復号部２３５２は、逆ソート部２３５２ａ´、コンテキスト決定部１１５２ｂ、状態保持部１１５２ｃ、シンボル復元部２３５２ｄ、復号部２３５２ｅ´、状態更新部１１５２ｆ、およびＬＡＳＴフラグ復号部２３５２ｇを備えている。既に説明した部材であるコンテキスト決定部１１５２ｂ、状態保持部１１５２ｃ、状態更新部１１５２ｆ、シンボル復元部２３５２ｄについては説明を省略する。
【０２３０】
ＬＡＳＴフラグ復号部２３５２ｇは、符号化データ＃２を入力として、ＬＡＳＴフラグもしくはＬＡＳＴ１フラグの復号を行う。
【０２３１】
復号部２３５２ｅ´は、復号部２３５２ｅと同様、符号化データ＃２を入力として、算術符号の復号を行い２進数から構成されるシンボル列を、シンボル復元部２３５２ｄに出力する。復号部２３５２ｅ´が復号部２３５２ｅと異なる点は、ＬＡＳＴフラグまたはＬＡＳＴ１フラグの値に応じて復号処理を停止する処理を含む点である。
【０２３２】
逆ソート部２３５２ａ´は、逆ソート部２３５２ａと同様、各フィルタ係数の復号順序に基づいて、フィルタ係数の順序を適応フィルタ部１００´が必要とするフィルタ係数の順序に並べ替える。逆ソート部２３５２ａ´が逆ソート部２３５２ａと異なる点は、全てのフィルタ係数が揃った時点で並び替えるのではなく、フィルタ係数を復号する度に、復号した順序に基づいてフィルタ係数のフィルタ係数セットにおける位置を算出して当該位置にフィルタ係数をセットする点である。
【０２３３】
なお、フィルタ係数復号部２３５２´は、フィルタ係数復号部２３５２と同様、算術符号ではなく、ハフマン符号を用いることもできる。また、ＬＡＳＴフラグ及びＬＡＳＴ１フラグを用いて符号化効率を向上させているので、ハフマン符号を用いる場合も、単一のハフマン符号表を用いても良い。すなわち、必ずしも前回復号した値を元に、次の復号に用いるハフマン符号表を切り替える必要はない。
【０２３４】
フィルタ係数復号部２３５２´もフィルタ係数復号部２３５２と同様、予測値との差分として符号化されたフィルタ係数を復号しても良い。
【０２３５】
（可変長符号復号部２３’の動作の詳細）
以下、符号化データがＬＡＳＴフラグおよびＬＡＳＴ１フラグを両方とも含まない場合、ＬＡＳＴフラグを含む場合、並びに、ＬＡＳＴ１フラグを含む場合のそれぞれにおける可変長符号復号部２３’の動作について図１８〜図２０を参照しながら説明する。
【０２３６】
図１８は、符号化データがＬＡＳＴフラグおよびＬＡＳＴ１フラグを含まない場合における可変長符号復号部２３’の動作フローを説明する図である。
【０２３７】
（ステップＳ１０１）ループ１：１≦ループ変数ｉ（初期値１）≦２５を満たしている間、Ｓ１０２からＳ１０５の処理を行う。
【０２３８】
（ステップＳ１０２）フィルタ係数を復号する。なお、フィルタ係数が予測値との差分値として符号化されている場合には、差分値を復号し、予測値に加算することでフィルタ係数を復号する。
【０２３９】
（ステップＳ１０３）復号順序ｉからフィルタ係数の位置を算出する。
【０２４０】
（ステップＳ１０４）フィルタ係数セットにおける算出されたフィルタ係数の位置に復号したフィルタ係数をセットする。
【０２４１】
（ステップＳ１０５）ループ１終端：ループ変数ｉが２５であるか否かを判定し、iが２５でなければiをインクリメントしてＳ１０２の処理に戻る。一方、ループ変数ｉが２５である場合、Ｓ１０６の処理に進む。
【０２４２】
（ステップＳ１０６）オフセットを復号しフィルタ係数セットの最後の成分の値としてセットする。
【０２４３】
以上のようにして可変長符号復号部２３’が復号するフィルタ係数は式（７）のセットＭ4のようになる。
【０２４４】
【数７】
2011083666.tif 000009
【０２４５】
式（７）を見るとわかるように、フィルタ係数セットＭ4は、動画像符号化装置１’の適応フィルタ部１００が適用するフィルタのフィルタ係数セット（式（１）のフィルタ係数セットＭ1）と同一のものとなる。
【０２４６】
図１９は、符号化データがＬＡＳＴフラグを含む場合における可変長符号化復号部２３の動作フローを説明する図である。両者ともフィルタ係数とＬＡＳＴフラグとが組として符号化されていることに特徴があるが、図１９（ａ）は、符号化データの構成として、ＬＡＳＴフラグがフィルタ係数の後に符号化される場合、図１９（ｂ）は、ＬＡＳＴフラグがフィルタ係数の前に符号化される場合を示している。
【０２４７】
ＬＡＳＴフラグがフィルタ係数の後に符号化される場合の動作フローについて以下に示す。
【０２４８】
（ステップＳ２０１）ループ１：１≦ループ変数ｉ（初期値１）≦２５を満たしている間、Ｓ２０２からＳ２０５の処理を行う。
【０２４９】
（ステップＳ２０２）フィルタ係数を復号し、復号順序ｉから算出される、フィルタ係数の位置に復号した係数をセットする。
【０２５０】
（ステップＳ２０３）ＬＡＳＴフラグを復号する。
【０２５１】
（ステップＳ２０４）ＬＡＳＴフラグが１であるか否かを判定する。ＬＡＳＴフラグが１である場合には、Ｓ２０６に進む。それ以外の場合にはＳ２０５に進む。
【０２５２】
（ステップＳ２０５）ループ１終端：ループ変数ｉが２５であるか否かを判定し、iが２５でなければiをインクリメントしてＳ２０２に戻る。一方、ループ変数ｉが２５である場合、Ｓ２０６に進む。
【０２５３】
（ステップＳ２０６）ＬＡＳＴフラグを用いていないフィルタ係数を復号し、フィルタ係数セットにセットする。ここでは、オフセットを復号し、フィルタ係数セットの最後の成分の値としてセットする。
【０２５４】
また、ＬＡＳＴフラグがフィルタ係数の前に符号化される場合の動作フローについて以下に示す。
【０２５５】
（ステップＳ２５１）ループ１：１≦ループ変数ｉ（初期値１）≦２５を満たしている間、Ｓ２５２からＳ２５４、およびＳ２５６の処理を行う。
【０２５６】
（ステップＳ２５２）ＬＡＳＴフラグを復号する。
【０２５７】
（ステップＳ２５３）ＬＡＳＴフラグが１であるか否かを判定する。ＬＡＳＴフラグが１である場合には、Ｓ２５５に進む。それ以外の場合にはＳ２５４に進む。
【０２５８】
（ステップＳ２５４）フィルタ係数を復号し、復号順序ｉから算出される、フィルタ係数の位置に復号した係数をセットした上で、Ｓ２５６に進む。
【０２５９】
（ステップＳ２５５）フィルタ係数を復号し、復号順序ｉから算出される、フィルタ係数の位置に復号した係数をセットした上で、Ｓ２５７に進む。
【０２６０】
（ステップＳ２５６）ループ１終端：ループ変数ｉが２５であるか否かを判定し、iが２５でなければiをインクリメントしてＳ２５２に戻る。一方、ループ変数ｉが２５である場合、Ｓ２５７に進む。
【０２６１】
（ステップＳ２５７）ＬＡＳＴフラグを用いていないフィルタ係数を復号し、フィルタ係数セットにセットする。ここでは、オフセットを復号し、フィルタ係数セットの最後の成分の値としてセットする。
【０２６２】
図２０は、符号化データの構成としてＬＡＳＴ１フラグを含む場合の可変長符号化復号部２３の動作フローを説明する図である。この例では、符号化データの構成として、ＬＡＳＴ１フラグがフィルタ係数の後に符号化される場合を示す。なお、図１９（ｂ）と同様、Ｓ３０２におけるフィルタ係数の復号処理と、Ｓ３０３およびＳ３０４のＬＡＳＴ１フラグに関する処理の順序を入れ替えることにより、可変長符号化復号部２３は、ＬＡＳＴ１フラグがフィルタ係数の後に符号化される場合についても処理が可能である。
【０２６３】
（ステップＳ３０１）ループ１：２≦ループ変数ｉ（初期値２）≦２５を満たしている間、Ｓ３０２からＳ３０５の処理を行う。
【０２６４】
（ステップＳ３０２）フィルタ係数を復号し、復号順序ｉから算出される、フィルタ係数の位置に復号した係数をセットする。
【０２６５】
（ステップＳ３０３）ＬＡＳＴ１フラグを復号する。
【０２６６】
（ステップＳ３０４）ＬＡＳＴ１フラグが１であるか否かを判定する。ＬＡＳＴフラグが１である場合には、Ｓ３０６に進む。それ以外の場合にはＳ３０５に進む。
【０２６７】
（ステップＳ３０５）ループ１終端：ループ変数ｉが２５であるか否かを判定し、iが２５でなければiをインクリメントしてＳ３０２に戻る。一方、ループ変数ｉが２５である場合、Ｓ３０６に進む。
【０２６８】
（ステップＳ３０６）最終要素の予測値を算出する。これまでにセットしたフィルタ係数の総和（ａ2〜ａi）を算出し、１から総和を減じた値を、復号順序１に対応するフィルタ係数の予測値としておく。
【０２６９】
（ステップＳ３０７）符号化データから復号した差分値と、予測値とを加算することで、最終要素を復号し、復号順序１に対応する位置にフィルタ係数をセットする。
【０２７０】
（ステップＳ３０８）ＬＡＳＴ１フラグを用いていないフィルタ係数を復号し、フィルタ係数セットにセットする。ここでは、オフセットを復号し、フィルタ係数セットの最後の成分の値としてセットする。
【０２７１】
最後に、値がセットされていないすべての成分の値を「０」にセットする。
【０２７２】
以上のようにして可変長符号復号部２３’が復号するフィルタ係数は式（８）のセットＭ5のようになる。
【０２７３】
【数８】
2011083666.tif 000010
【０２７４】
したがって、ＬＡＳＴ１フラグを用いた場合も、適応フィルタ部１００’が適用するフィルタの特性は、動画像符号化装置１’の適応フィルタ部１００が適用するフィルタの特性と同一のものとなることになる。
【０２７５】
図２１は、符号化データが、復号順序で所定の順番以降に位置するフィルタ係数においてＬＡＳＴフラグを含むような構成である場合の、可変長符号化復号部２３の動作フローを示す図である。ここでは、符号化データが図１６に示すようなデータである場合の動作を示す。
【０２７６】
（ステップＳ４０１）ループ１：１≦ループ変数ｉ（初期値１）≦１２を満たしている間、Ｓ４０２、Ｓ４０３の処理を行う。
【０２７７】
（ステップＳ４０２）フィルタ係数を復号し、復号順序ｉから算出される、フィルタ係数の位置に復号した係数をセットする。
【０２７８】
（ステップＳ４０３）ループ１終端：ループ変数ｉが１２であるか否かを判定し、iが１２でなければiをインクリメントしてＳ４０２に戻る。一方、ループ変数ｉが１２である場合、iをインクリメントしてＳ４０４に進む。
【０２７９】
（ステップＳ４０４）ループ２：１３≦ループ変数ｉ≦２５を満たしている間、Ｓ４０５からＳ４０８の処理を行う。
【０２８０】
（ステップＳ４０５）フィルタ係数を復号し、復号順序ｉから算出される、フィルタ係数の位置に復号した係数をセットする。
【０２８１】
（ステップＳ４０６）ＬＡＳＴフラグを復号する。
【０２８２】
（ステップＳ４０７）ＬＡＳＴフラグが１であるか否かを判定する。ＬＡＳＴフラグが１である場合には、Ｓ４０９に進む。それ以外の場合にはＳ４０８に進む。
【０２８３】
（ステップＳ４０８）ループ２終端：ループ変数ｉが２５であるか否かを判定し、iが２５でなければiをインクリメントしてＳ４０５に戻る。一方、ループ変数ｉが２５である場合、Ｓ４０９に進む。
【０２８４】
（ステップＳ４０９）ＬＡＳＴフラグを用いていないフィルタ係数を復号しフィルタ係数セットにセットする。ここでは、オフセットを復号しフィルタ係数セットの最後の成分の値としてセットする。
【０２８５】
最後に、値がセットされていないすべての成分の値を「０」にセットする。
【０２８６】
なお、図１９（ｂ）と同様、Ｓ４０５のフィルタ係数の復号処理と、Ｓ４０６、Ｓ４０７のＬＡＳＴ１フラグに関する処理の順序を入れ替えることにより、可変長符号化復号部２３’は、ＬＡＳＴフラグがフィルタ係数の後に符号化される場合についても復号処理が可能である。
【０２８７】
また、図２１のフローチャートにおいてＳ４０６、Ｓ４０７のＬＡＳＴフラグをＬＡＳＴ１フラグに読み変え、Ｓ４０９の前に図２０のＳ３０６、Ｓ３０７の処理を付加したフローチャートに従った動作を行うことにより、可変長符号復号部２３’は、ＬＡＳＴ１フラグを用いて符号化した符号化データの復号処理も可能である。
【０２８８】
図２２は、絶対値が所定の定数ＴＨ以下であるような最初のフィルタ係数より後に位置するフィルタ係数において符号化データがＬＡＳＴフラグを含む場合の、可変長符号化復号部２３’の動作フローを示す図である。ここでは符号化データが図１７に示すようなデータである場合の動作を示す。
【０２８９】
（ステップＳ５００）ＬＡＳＴチェックフラグを０とする。
【０２９０】
（ステップＳ５０１）ループ１：１≦ループ変数ｉ（初期値１）≦２５を満たしている間、Ｓ５０２からＳ５０８の処理を行う。
【０２９１】
（ステップＳ５０２）フィルタ係数を復号し、復号順序ｉから算出される、フィルタ係数の位置に復号した係数をセットする。
【０２９２】
（ステップＳ５０３）ＬＡＳＴチェックフラグが１であるか否かを判定する。ＬＡＳＴチェックフラグが１の場合にはＳ５０６に進む。それ以外の場合はＳ５０４に進む。
【０２９３】
（ステップＳ５０４）フィルタ係数の絶対値が所定の閾値ＴＨ以下であるか否かを判定する。所定の閾値以下である場合にはＳ５０５に進む。それ以外の場合はＳ５０８に進む。
【０２９４】
（ステップＳ５０５）ＬＡＳＴチェックフラグを１とする。
【０２９５】
（ステップＳ５０６）ＬＡＳＴフラグを復号する。
【０２９６】
（ステップＳ５０７）ＬＡＳＴフラグが１であるか否かを判定する。ＬＡＳＴフラグが１である場合には、Ｓ５０９に進む。それ以外の場合にはＳ５０８に進む。
【０２９７】
（ステップＳ５０８）ループ２終端：ループ変数ｉが２５であるか否かを判定し、iが２５でなければiをインクリメントしてＳ５０２に戻る。一方、ループ変数ｉが２５である場合、Ｓ５０９に進む。
【０２９８】
（ステップＳ５０９）ＬＡＳＴフラグを用いていないフィルタ係数を復号し、フィルタ係数セットにセットする。ここでは、オフセットを復号し、フィルタ係数セットの最後の成分としてセットする。
【０２９９】
最後に、値がセットされていないすべての成分の値を「０」にセットする。
【０３００】
なお、図１９（ｂ）と同様、Ｓ５０５のフィルタ係数復号と、Ｓ５０６、Ｓ５０７のＬＡＳＴ１フラグに関する処理の順序を入れ替えることにより、可変長符号復号部２３’は、ＬＡＳＴフラグがフィルタ係数の後に符号化される場合についても復号処理が可能である。
【０３０１】
また、ＬＡＳＴフラグをＬＡＳＴ１フラグに読み変え、Ｓ３０６、Ｓ３０７の処理をＳ５０９の前に付加することにより、可変長符号復号部２３’は、ＬＡＳＴ１フラグを用いて符号化した符号化データの復号処理も可能である。
【０３０２】
（動画像復号装置２’の利点）
以上のことから、動画像復号装置２’は、ＬＡＳＴフラグまたはＬＡＳＴ１フラグを参照することにより、復号する復号画像に影響が及ぼさず、かつ、全フィルタ係数について復号処理を行うことなく、復号画像を生成することができる。
【０３０３】
（付記事項）
各実施形態では、適応フィルタ部１００（ＡＬＦ）が使用するフィルタのフィルタ係数の符号化処理について説明したが、本発明は、適応補償フィルタ（ＡＩＦ）が使用するフィルタのフィルタ係数の符号化処理にも同様に適用することができる。また、ＡＩＦおよびＡＬＦだけでなく、フィルタリング処理に用いるフィルタ係数に、中心位置から近い要素の絶対値が中心位置から遠い要素の絶対値よりも大きい（あるいは小さい）という特徴があれば、どのようなフィルタにも本発明のフィルタ係数の符号化処理を適用することができる。
【０３０４】
また、実施形態１において、符号化部１１５２ｅは、適応フィルタ部１００が使用するフィルタのフィルタ係数セットのうち、中心位置に最も近いフィルタ係数（最近傍のフィルタ係数（中心位置からのδ＝０の近傍に位置するフィルタ係数であり複数存在する可能性がある））の算術符号化に用いるコンテキストを、他のフィルタ係数の算術符号化に用いるコンテキストとは別のコンテキストにしてもよい。また、最近傍のフィルタ係数と他のフィルタ係数とでコンテキストを分けた上で、さらに他のフィルタ係数について、中心位置からの距離ｄ（ｄ＝｜k-i｜＋｜l-j｜、中心位置は（ｉ,ｊ）であり、各要素の位置は（ｋ,ｌ）で示される）が１または２であるフィルタ係数と、中心位置からの距離が３以上であるフィルタ係数とでコンテキストを分けるようにしてもよい。これは、一般的に、中心位置からの距離ｄが１または２のフィルタ係数は中心位置からの距離ｄが３以上のフィルタ係数よりも大きくなる傾向が強いという性質を適応フィルタ部１００（ＡＬＦ）が使用するフィルタが備えているからである。
【０３０５】
また、符号化部１１５２ｅは、最近傍のフィルタ係数のみ固定長符号化するようにしてもよい。さらに、実施形態２の場合と同様に、符号化部１１５２ｅは、最近傍のフィルタ係数を符号化する代わりに、他のフィルタ係数の総和を１から減じた予測値と中心位置のフィルタ係数との差分値を符号化するようにしてもよい。
【０３０６】
また、以上説明したそれぞれの実施形態において、動画像符号化装置または動画像復号装置の各機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより動画像符号化装置または動画像復号装置の制御を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０３０７】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０３０８】
以上のように、本発明に係る符号化装置において、上記符号化手段は、上記フィルタ係数セットに含まれる各フィルタ係数を、すでに符号化されたフィルタ係数に対応するシンボル列における各シンボルの出現確率に応じて算術符号化するものである、ことが望ましい。
【０３０９】
上記の構成によれば、符号化装置は、高頻度で、フィルタ係数の絶対値の大きい順または小さい順に、フィルタ係数の絶対値に応じた数の規定のシンボルを含むシンボル列を生成するとともに生成したシンボル列を算術符号化する。すなわち、符号化装置が算術符号化するシンボル列に含まれる規定のシンボルの数は、各フィルタ係数の算術符号化を行う過程で少しずつ多くなっていくか、あるいは、少しずつ小さくなっていく傾向がある。また、符号化装置は、すでに算術符号化したシンボル列におけるシンボルの出現確率に応じて算術符号化する。
【０３１０】
従って、フィルタ行列の各フィルタ係数をラスタスキャンにより読み出して算術符号化する従来の符号化装置に比べ、本発明の符号化装置では、算術符号化する際に適用する規定のシンボルの出現確率が実際に出現する規定のシンボルの出現確率と近くなることになる。
【０３１１】
上記符号化装置では、上記符号化手段が、上記２次元フィルタの中心位置からの距離が等しい複数のフィルタ係数について、自身が最後に符号化したフィルタ係数の上記２次元フィルタにおける位置と最も近い位置のフィルタ係数を他のフィルタ係数よりも優先して算術符号化することが望ましい。
【０３１２】
適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタには、近傍に位置するフィルタ係数同士は近い値を持つという傾向がある。
【０３１３】
したがって、上記の構成によれば、符号化装置が算術符号化するシンボル列に含まれる規定のシンボルの数が、各フィルタ係数の算術符号化を行う過程で少しずつ多くなっていくか、あるいは、少しずつ少なくなっていくという傾向がより強まることとなり、算術符号化する際に適用する規定のシンボルの出現確率が実際に出現する規定のシンボルの出現確率とより近くなることになる。これにより、符号化装置は、復号装置に伝送するフィルタ係数の符号量をより効果的に削減可能であるというさらなる効果を奏する。
【０３１４】
上記符号化装置では、上記符号化手段が、複数のコンテキストに基づいて上記各フィルタ係数を算術符号化するものであり、上記２次元フィルタの中心位置のフィルタ係数を、他のフィルタ係数の算術符号化に用いるコンテキストとは別のコンテキストに基づいて算術符号化することが望ましい。
【０３１５】
また、上記符号化装置では、上記符号化手段が、複数のコンテキストに基づいて上記各フィルタ係数を算術符号化するものであり、上記２次元フィルタの中心位置からの距離が３以上のフィルタ係数の算術符号化に用いるコンテキストとは別のコンテキストに基づいて、中心位置からの距離が２以下のフィルタ係数を算術符号化することが望ましい。
【０３１６】
なお、本発明に係る符号化装置において、上記符号化手段は、上記フィルタ係数セットに含まれる各フィルタ係数を、すでに符号化が行われたフィルタ係数に応じたハフマン符号表を用いてハフマン符号化するものであってもよい。
【０３１７】
この場合にも、絶対値の昇順または降順に整列されたフィルタ係数を順に符号化することになるので、所定の順序（例えばラスタスキャン順）で配列されたフィルタ係数を順に符号化する場合と比べて、符号量を低下させることができるという効果を奏する。
【０３１８】
また、上記復号装置では、上記復号手段が、上記フィルタ係数セットに含まれる各フィルタ係数を、すでに復号されたフィルタ係数に対応するシンボル列における各シンボルの出現確率に応じて算術復号するものである、ことが望ましい。
【０３１９】
上記の構成によれば、上記の符号化装置によって得られた符号化データが算術符号化により得られた符号化データである場合に、所定の順序（例えばラスタスキャン順）で配列されたフィルタ係数セットを復号することができる。
【０３２０】
上記復号装置では、上記復号手段が、上記フィルタ係数セットに含まれる各フィルタ係数を、すでに復号されたフィルタ係数に応じたハフマン符号表を用いてハフマン符号化するものである、ことが望ましい。
【０３２１】
上記の構成によれば、上記の符号化装置によって得られた符号化データがハフマン符号化により得られた符号化データである場合に、所定の順序（例えばラスタスキャン順）で配列されたフィルタ係数セットを復号することができる。
【０３２２】
なお、上記の符号化装置により生成される符号化データのデータ構造も本発明の範疇に含まれる。
【０３２３】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【産業上の利用可能性】
【０３２４】
本発明は、動画像データにフィルタリング処理を行う適応画像フィルタを符号化する動画像符号化装置やそのような動画像符号化装置で符号化された動画像データを復号する復号装置に好適に用いることができる。
【符号の説明】
【０３２５】
１、１’      動画像符号化装置（符号化装置）
２、２’      動画像復号装置（復号装置）
１００          適応フィルタ部
１００’        適応フィルタ部
１２、１２’    可変調符号化部
１１５２        フィルタ係数符号化部
１１５２ａ      ソート部（ソート手段）
１１５２ｅ      符号化部（符号化手段）
１１５２’      フィルタ係数符号化部
２３            可変調符号復号部（復号手段）
２３５２        フィルタ係数復号部
２３５２ａ      逆ソート部（逆ソート手段）
２３５２ｅ      復号部（復号手段）
【図１】
2011083666.tif 000011
【図２】
2011083666.tif 000012
【図３】
2011083666.tif 000013
【図４】
2011083666.tif 000014
【図５】
2011083666.tif 000015
【図６】
2011083666.tif 000016
【図７】
2011083666.tif 000017
【図８】
2011083666.tif 000018
【図９】
2011083666.tif 000019
【図１０】
2011083666.tif 000020
【図１１】
2011083666.tif 000021
【図１２】
2011083666.tif 000022
【図１３】
2011083666.tif 000023
【図１４】
2011083666.tif 000024
【図１５】
2011083666.tif 000025
【図１６】
2011083666.tif 000026
【図１７】
2011083666.tif 000027
【図１８】
2011083666.tif 000028
【図１９】
2011083666.tif 000029
【図２０】
2011083666.tif 000030
【図２１】
2011083666.tif 000031
【図２２】
2011083666.tif 000032
【図２３】
2011083666.tif 000033
【図２４】
2011083666.tif 000034
【図２５】
2011083666.tif 000035
【図２６】
2011083666.tif 000036
【図２７】
2011083666.tif 000037
【手続補正書】
【提出日】平成23年11月8日(2011.11.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
符号化データに対して復号処理を施す復号装置であって、
状態値ごとに規定されている、上記復号処理中に得られる整数値と上記符号化データの一部であるビット列との対応関係に基づいて、上記符号化データを構成する各ビット列から、対応する整数値を復号する復号手段と、
上記復号手段が直近でビット列から復号した整数値に基づいて上記状態値を更新する更新手段と、
上記更新手段による更新後の状態値に基づいて、複数通り規定された上記対応関係の中から次に復号対象となるビット列に対する復号処理の際に参照すべき対応関係を選択する選択手段と、を備え、
上記復号手段は、当該ビット列から、上記選択手段が選択した対応関係において対応する整数値を復号するように構成されている、ことを特徴とする復号装置。
【請求項２】
上記対応関係は、ハフマン符号表で規定される対応関係である、ことを特徴とする請求項１に記載の復号装置。
【請求項３】
上記対応関係は、ゴロム符号表で規定される対応関係である、ことを特徴とする請求項１に記載の復号装置。
【請求項４】
請求項１から３のいずれか１項に記載の復号装置であって、
上記復号手段は、適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタを構成するフィルタ係数の少なくとも一部からなるフィルタ係数セットを、圧縮符号化された符号化データから復号するように構成されており、
上記復号手段は、上記フィルタ係数セットに含まれる各フィルタ係数を、上記符号化データからシンボル毎に復号可能に構成されていることを特徴とする復号装置。
【請求項５】
請求項４に記載の復号装置であって、
上記復号手段により得られたフィルタ係数セットであって、上記２次元フィルタの中心位置からの距離に応じて配列されたフィルタ係数セットを、所定の順序にソートする逆ソート手段をさらに備えていることを特徴とする復号装置。
【請求項６】
各符号化対象の整数値を符号化することで符号化データを生成する符号化装置であって、
状態値ごとに規定されている、上記整数値と上記符号化データの一部であるビット列との対応関係に基づいて、各整数値を対応するビット列に符号化することにより、上記符号化データを生成する符号化手段と、
上記符号化手段が直近で符号化処理を施した整数値に基づいて上記状態値を更新する更新手段と、
上記更新手段による更新後の状態値に基づいて、複数通り規定された上記対応関係の中から次に符号化対象となる整数値に対する符号化処理の際に参照すべき対応関係を選択する選択手段と、を備え、
上記符号化手段は、当該整数値を上記選択手段が選択した対応関係において対応するビット列に符号化するように構成されている、ことを特徴とする符号化装置。
【請求項７】
上記対応関係は、ハフマン符号表で規定される対応関係である、ことを特徴とする請求項６に記載の符号化装置。
【請求項８】
上記対応関係は、ゴロム符号表で規定される対応関係である、ことを特徴とする請求項６に記載の符号化装置。
【請求項９】
請求項６から８のいずれか１項に記載の符号化装置であって、
上記符号化手段は、適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタを構成するフィルタ係数の少なくとも一部からなるフィルタ係数セットを符号化するように構成されており、
上記符号化手段は、上記フィルタ係数セットに含まれる各フィルタ係数を、シンボル毎に符号化可能に構成されていることを特徴とする符号化装置。
【請求項１０】
請求項９に記載の符号化装置であって、
所定の順序で配列されたフィルタ係数セットを、上記２次元フィルタの中心位置からの距離に応じた順序にソートするソート手段をさらに備え、
上記符号化手段は、上記フィルタ係数セットに含まれる各フィルタ係数を、ソート後の順序が若いフィルタ係数から順に符号化するように構成されていることを特徴とする符号化装置。
【請求項１１】
適応補間フィルタまたは適応ループフィルタとして用いられる２次元フィルタを構成するフィルタ係数の少なくとも一部からなるフィルタ係数セットを伝送するための符号化データのデータ構造において、
上記フィルタ係数セットに含まれる各フィルタ係数に対応する符号が、上記２次元フィルタの中心位置からの距離に応じた順序にソートされた状態で含まれている、ことを特徴とする符号化データのデータ構造。
【国際調査報告】
2011083666.tif 000038
2011083666.tif 000039
2011083666.tif 000040
2011083666.tif 000041