(57)【特許請求の範囲】
【請求項１】
映像復号化装置において、
映像符号化装置からイントラ予測モード及び１次元の量子化変換係数を受信して、前記１次元の量子化変換係数を用いて量子化ブロックを復元するエントロピー復号化部と、
前記量子化ブロックを逆量子化及び逆変換して残差ブロックを生成する逆量子化／逆変換符号化部と、
前記イントラ予測モードによって予測ブロックを生成するイントラ予測部と、
前記残差ブロック及び前記予測ブロックを加えて元ブロックを生成する加算部と、を備え、
前記量子化ブロックのサイズが８×８ならば、前記エントロピー復号化部は前記１次元の量子化変換係数に前記イントラ予測モードによって定められるスキャンパターンを適用して複数のサブセットを復元して、前記複数のサブセットに前記イントラ予測モードによって定められるスキャンパターンを適用して前記量子化ブロックを復元して、
前記１次元の量子化変換係数から前記複数のサブセットを復元するために適用されるスキャンパターンと、前記複数のサブセットから前記量子化ブロックを復元するために適用されるスキャンパターンとは同一であり、
前記複数のサブセット内の係数が０であるかどうかを表示するフラッグに適用されるスキャンパターンと、前記１次元の量子化変換係数から前記複数のサブセットを復元するために適用されるスキャンパターンとは同一であることを特徴とする映像復号化装置。
【請求項２】
前記イントラ予測モードが垂直モードならば、前記複数のサブセットをスキャンするスキャンパターンは水平スキャンであることを特徴とする、請求項１に記載の装置。
【請求項３】
前記複数のサブセットは前記映像符号化装置により逆方向にスキャンされることを特徴とする、請求項２に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像処理装置及び方法に係り、さらに詳細には、映像の残差信号量を低減させて残差信号をエントロピー符号化する装置に関する。
【背景技術】
【０００２】
高い映像品質を維持しつつも低いデータレートで動画信号を効率的に伝送するために、多様なデジタル動画圧縮技術が提案されてきた。かかる動画圧縮技術には、Ｈ．２６１、ＭＰＥＧ−２／Ｈ．２６２、Ｈ．２６３、ＭＰＥＧ−４、ＡＶＣ／Ｈ．２６４などがある。前記圧縮技術は、離散コサイン変換（ＤＣＴ：Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）技法、動き補償（ＭＣ：Ｍｏｔｉｏｎ  Ｃｏｍｐｅｎｓａｔｉｏｎ）技法、量子化技法、エントロピー符号化技法などを含んでいる。
【０００３】
映像符号化のために、各ピクチャーは、複数のスライスに分けられ、各スライスは、複数の所定サイズの符号化単位ブロックに分けられる。ＨＤ級以上の映像では、映像が比較的平坦になる領域が多いので、ＭＢより大きい単位の符号化単位ブロックで符号化することで映像圧縮率を高めることができる。
【０００４】
しかし、符号化単位ブロックのサイズが大きくなるにつれて、映像圧縮の複雑度を増大させずに映像圧縮率を高めるためには、新たな予測モードの導入が求められ、変換符号化、エントロピー符号化、イントラ予測及びインター予測符号化での変化が要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、動画符号化装置に係り、さらに詳細には、動画の所定サイズ以上の変換符号化された残差信号を効果的に符号化するための装置を提供するためのものである。
【課題を解決するための手段】
【０００６】
本発明の一実施形態による動画符号化装置は、入力される映像を所定サイズの符号化単位ブロックに分割し、前記符号化単位ブロック別に予測符号化ブロックのサイズ及び予測モードを定める符号化モード決定部と、符号化単位ブロックとイントラ予測またはインター予測を通じて生成された予測ブロックの残差ブロックを変換符号化及び量子化する変換符号化／量子化部と、前記量子化された残差ブロックを逆量子化して逆変換し、周波数領域に変換する逆量子化／変換復号化部と、前記逆量子化／変換復号化部から受信された映像データにブロッキングフィルタリングを適用するブロッキングフィルタリング部と、予測符号化ブロックを生成する予測ブロック生成部と、前記変換符号化／量子化部によって量子化された変換係数を符号化するエントロピー符号化部と、を備え、前記エントロピー符号化部は、変換符号化ブロックのサイズが所定サイズ以上である場合に量子化された変換係数を複数のサブセットに分割し、それぞれのサブセット単位で、０ではない量子化係数をスキャンしてエントロピー符号化する。
【発明の効果】
【０００７】
本発明によれば、符号化しようとするブロックの残差信号量を低減させることで符号化効率を向上させることができる。また、エントロピー符号化時に０ではない量子化された変換係数を効果的にスキャンすることで、エントロピー符号化時にかかるビット数を最小化して符号化効率を向上させる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態によるブロック分割構造を示す図面である。
【図２】本発明による符号化モード決定方法を示す図面である。
【図３】本発明による動画符号化装置を示す図面である。
【図４】本発明による方向適応的ブロック分割方法を示す図面である。
【図５】本発明による方向適応的ブロック分割方法を示す図面である。
【図６】本発明による方向適応的ブロック分割方法を示す図面である。
【図７】残差信号を符号化する方法を説明する図面である。
【発明を実施するための形態】
【０００９】
以下、本発明のいろいろな実施形態を、例示的な図面を通じて詳細に説明する。本発明は、多様な変更を加えることができ、かついろいろな実施形態を持つことができるところ、本発明を特定の実施形態に対して限定しようとするものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物ないし代替物を含むと理解されねばならない。各図面を説明しつつ類似した参照符号を類似した構成要素に対して使う。
【００１０】
映像符号化のために、各ピクチャーは複数のスライスに分けられ、各スライスは複数の所定サイズの符号化単位ブロックに分けられる。ＨＤ級以上の映像では、映像が比較的平坦になる領域が多いので、１６×１６サイズのＭＢより大きい単位の符号化単位ブロックで符号化をすることで映像圧縮率を高められる。
【００１１】
本発明による符号化単位ブロックは、１６×１６サイズのＭＢだけでなく３２×３２サイズのブロック、６４×６４サイズのブロックでありうる。さらには、８×８サイズまたはさらに小さなサイズのブロックも符号化単位ブロックになりうる。便宜のため、最大の符号化単位ブロックをスーパーメクロブロック（ＳＭＢ）と称する。そして、前記スーパーメクロブロックのサイズは、最小符号化単位ブロックのサイズを示す情報及び深さ情報で定められる。前記深さ情報は、前記スーパーメクロブロックのサイズと最小符号化単位ブロックのサイズと差値を示す。
【００１２】
したがって、映像シーケンスのすべてのピクチャーの符号化に使う符号化単位ブロックは、ＳＭＢ及びこれらのサーブブロックでありうる。映像シーケンスに使う符号化単位ブロックの種類は、デフォルトに指定されるか、またはシーケンスヘッダで指定する。前記シーケンスヘッダで指定する場合、前記映像シーケンスに使う符号化単位ブロックの種類は、前記最小符号化単位ブロックのサイズ及び深さ情報で定められる。
【００１３】
各ピクチャーまたはスライスはＳＭＢ単位に分けられる。そして、各ＳＭＢは、ＳＭＢまたはＳＭＢのサーブブロック単位でイントラ予測またはインター予測符号化／復号化される。
【００１４】
符号化単位ブロック（すなわち、ＳＭＢまたはＳＭＢのサーブブロック）が正確に復号化されるためには、符号器では、前記符号化単位ブロックの予測符号化ブロックのサイズ情報、及びイントラ予測符号化されたか、またはインター予測符号化されたかを示す予測モード情報をビットストリームに追加せねばならない。このために、前記予測モード情報及び予測符号化ブロックのサイズを示す情報が前記符号化単位ブロックに含まれねばならない。前記予測モードは、スライスのタイプによって変わる。
【００１５】
スライスのタイプがイントラ（Ｉ）である場合には、スライス内のすべての予測符号化ブロックであるイントラ予測になるので、予測符号化ブロックのサイズによって予測符号化ブロックの予測タイプを定められる。しかし、スライスタイプが片方向予測（Ｐ）または双方向予測（Ｂ）である場合には、予測モード情報及び予測符号化ブロックのサイズによって定められる予測符号化ブロックの予測タイプを定めることが望ましい。したがって、スライスタイプ、前記予測モード情報及び予測符号化ブロックのサイズを示す情報に基づいて前記予測符号化ブロックの予測タイプを生成し、前記符号化単位ブロックのヘッダに挿入することが望ましい。
【００１６】
予測符号化ブロックがイントラ予測符号化される場合には、前記予測タイプ以外にもイントラ予測に使われるイントラ予測モード情報が復号器に送信されねばならない。
【００１７】
予測符号化ブロックがインター予測符号化される場合には、片方向予測と双方向予測のうちいずれか一つに符号化される。片方向予測の場合には、片方向予測のための予測符号化ブロックの予測タイプ以外にも、予測時に使われた参照ピクチャー情報及び動きベクトル情報がビットストリームに含まれねばならない。双方向予測の場合には、双方向予測のためのブロックの予測タイプ以外に、双方向予測に使われた２つの参照ピクチャー情報及び動きベクトル情報が予測符号化ブロックのヘッダに含まれねばならない。前記動きベクトル情報は、動きベクトル及び動きベクトル予測子を示す情報を含む。
【００１８】
図１は、本発明による６４×６４サイズの符号化単位ブロック（ＳＭＢ）に対して許容可能な予測符号化ブロックの階層的分割構造を示す。
【００１９】
ＳＭＢが符号化単位ブロックとして使われる場合には、図１に示したように、ブロック分割が４段階のサーブブロック分割段階で構成されることが望ましいが、これに限定されるものではない。ブロック分割が４段階のサーブブロック分割段階で構成される場合には、総１３つのブロックタイプ（６４×６４、６４×３２、３２×６４、３２×３２、３２×１６、１６×３２、１６×１６、１６×８、８×１６、８×８、８×４、４×８、４×４）が定義される。
【００２０】
この場合、ＭＢより大きいサイズのインター予測符号化ブロックに対する伝送するデータが存在しない場合が生じる。したがって、予測ブロックのサイズが６４×６４である場合には、ＭＢ６４＿ＳＫＩＰ  ｍｏｄｅ、ＳＭＢが３２×３２である場合にはＭＢ３２＿ＳＫＩＰ  ｍｏｄｅを新たに追加することが望ましい。前記モード情報を復号器に伝送するために、ＭＢ６４＿ＳＫＩＰ＿ｆｌａｇまたはＭＢ３２＿ＳＫＩＰ＿ｆｌａｇが使われる。これら値が１ならば、対応予測符号化ブロックの送信データが存在しないことを示す。
【００２１】
一方、連続的なＳＭＢがいずれも符号化されない場合には、最初のＳＭＢのみにＭＢ６４＿ＳＫＩＰ＿ｆｌａｇを挿入し、連続するＳＭＢには前記情報を略してもよい。この場合、連続してスキップされるＳＭＢの数をスライスまたは最初のＳＭＢに追加できる。具体的に、連続するＳＭＢがいずれも符号化されなければ、最初のＳＭＢのＳＭＢ＿ＳＫＩＰ＿ｆｌａｇ＝１に設定し、連続する複数のＳＭＢに対しても共通的に適用される。この場合には、連続して符号化されないＳＭＢの数に対応する情報（例えば、ＳＭＢ＿ＳＫＩＰ＿ｎｕｍｂｅｒ）をスライスに追加できる。
【００２２】
符号化単位ブロックが３２×３２サイズを持つ場合には、既存に存在するブロック（１６×１６、１６×８、８×１６、８×８、８×４、４×８、４×４）に加えて３２×３２、３２×１６、１６×３２を予測符号化ブロックとして使える。
【００２３】
インター予測モードにおける符号化単位ブロックの予測タイプ（Ｍｂ３２＿ｔｙｐｅ）は、その値が０ならば、３２×３２パーティション、１ならば、３２×１６パーティション、２ならば、１６×３２パーティション、３ならば、１６×１６パーティションを示す。
【００２４】
符号化単位ブロックが４個の下位符号化単位ブロックに分けられれば、４個の下位符号化単位ブロックは、ラスタースキャン手順に符号化されて送信される。この場合、量子化パラメータは符号化単位ブロックごとに、すべての下位符号化単位ブロックに同じ量子化パラメータが適用される場合には、上位符号化単位ブロックのヘッダで一回のみ伝送することが望ましい。しかし、下位符号化単位ブロックで量子化パラメータを変更する必要がある場合には、上位符号化単位ブロックまたは先行する同一レベルの符号化単位ブロックの量子化パラメータを基準として差値のみ送る。
【００２５】
各下位符号化単位ブロックは、クオッドトリー（ｑｕａｄｔｒｅｅ）方式で分割され、ｃｂｐ及び残差係数もクオッドトリー方式に送信される。１ビットのｃｂｐを取り入れて、その値が１ならば、前記符号化単位ブロックが少なくとも一つ以上の０ではない係数を持ち、０ならば、すべての係数が０であることを示す。
【００２６】
図２は、ＳＭＢのサイズが６４×６４である場合に定められる符号化モードの決定方法を示す。
【００２７】
したがって、図２に示したように、ＳＭＢが６４×６４ブロックである場合、符号化器は６４×６４ブロックがスキップ可能かどうかを定め、スキップ可能な場合には、符号化モードをＳＫＩＰに定める。この時には、ｍｂ６４＿ｓｋｉｐ＿ｆｌａｇが復号器に伝送されねばならない。６４×６４ブロックに符号化するデータが存在するものの３２×３２ブロックに分割されない場合には、ＳＭＢが６４×６４、６４×３２、３２×６４のうちいかなるサイズに符号化されるかどうかに関する情報、イントラ符号化されるか、またはインター符号化されるかに関する情報をＳＭＢヘッダに挿入し、これら情報によって符号化されたデータを用いてＳＭＢデータブロックを生成する。
【００２８】
６４×６４ブロックに符号化するデータが存在するももの３２×３２ブロックに分割される場合には、同様に該当３２×３２ブロックに符号化するデータが存在するかどうかを判断して、存在しない場合に前記３２×３２ブロックモードをＳＫＩＰに定め、ｍｂ３２＿ｓｋｉｐ＿ｆｌａｇを復号器に伝送する。
【００２９】
しかし、前記３２×３２ブロックに符号化するデータが存在するものの１６×１６ブロックに分割されない場合には、前記３２×３２ブロックが３２×３２、３２×１６、１６×３２のうちいかなるサイズに符号化されるかに関する情報、イントラ符号化されるかまたはインター符号化されるかに関する情報を前記３２×３２ブロックヘッダに挿入し、これら情報によって符号化されたデータを用いてデータブロックを生成する。
【００３０】
前記３２×３２ブロックに符号化するデータが存在するものの１６×１６ブロックに分割される場合には、前記１６×１６ブロックに符号化するデータが存在するかどうかを判断して、存在しない場合に前記１６×１６ブロックモードをＳＫＩＰに定め、ｍｂ１６＿ｓｋｉｐ＿ｆｌａｇを復号器に伝送する。しかし、前記１６×１６ブロックに符号化するデータが存在する場合には、各１６×１６ブロックが１６×１６、１６×８、８×１６のうちいかなるサイズに符号化されるかに関する情報、イントラ符号化されるかまたはインター符号化されるかに関する情報を前記１６×１６ブロックヘッダに挿入し、これら情報によって符号化されたデータを用いてデータブロックを生成する。
【００３１】
このように多様なサイズのブロックが使われる場合、ブロックサイズ情報は、シーケンスレベル、ピクチャーレベル、スライスレベル、ＳＭＢまたはその下位の符号化単位ブロックごとに変わる。
【００３２】
図３は、本発明による動画符号化装置を示すブロック図である。図３を参照すれば、本発明による動画符号化装置は、符号化モード決定部１１０、変換符号化／量子化部１２０、エントロピー符号化部１３０、イントラ予測部１４０、動き補償部１５０、動き推定部１５５、逆量子化／変換復号化部１６０、ブロックフィルタリング部１７０、ピクチャー保存部１８０、減算部及び加算部を備える。
【００３３】
符号化モード決定部１１０は、入力されるビデオ信号を分析してピクチャーを所定サイズの符号化単位ブロックに分割し、前記符号化単位ブロック別に予測符号化ブロックのサイズ及び予測モードを定める。そして、符号化モード決定部１１０は、定められた符号化サイズに対応する予測符号化ブロックを減算器に送る。
【００３４】
変換符号化／量子化部１２０は、減算器から受信された残差ブロックを変換符号化するために変換ブロックのサイズを定める。前記変換ブロックのサイズは、前記予測符号化ブロックのサイズより小さいかまたは同一であることが望ましいが、インタモードでは異なって設定されてもよい。すなわち、インタモードでは、前記変換ブロックのサイズが前記予測符号化ブロックより大きい。この場合、変換符号化／量子化部は、減算器から受信された複数の残差ブロックを受信して、複数の残差ブロックで構成された一つの変換符号化ブロックを生成する。前記変換ブロックのサイズは前記符号化単位ブロックより小さいか、または同一である。そして、前記変換符号化／量子化部は、前記変換ブロックを２次元離散コサイン変換（ＤＣＴ）して変換係数を生成する。前記ＤＣＴは、定数変換ＤＣＴであることが望ましい。
【００３５】
そして、変換符号化／量子化部１２０は、前記変換係数を量子化するための量子化ステップサイズを定め、定められた量子化ステップサイズ及び符号化モードによって定められる量子化マトリックスを用いて、前記変換係数を量子化する。
【００３６】
逆量子化／変換復号化部１６０は、変換符号化／量子化部１２０によって量子化された量子化係数を逆量子化した後、逆変換して周波数領域に変換された残差ブロックを空間領域の残差ブロックに復元する。
【００３７】
ブロッキングフィルタリング部１７０は、逆量子化／変換符号化部１６０から逆量子化及び逆変換された映像データを入力されて、ブロッキング効果を除去するためのフィルタリング過程を行う。前記ブロッキングフィルタリング過程は、既定のサイズ以上のサイズを持つ予測符号化ブロック及び変換ブロックの境界に適用することが望ましい。前記サイズは、８×８でありうる。前記ブロッキングフィルタリング過程は、フィルタリングする境界を定める段階、前記境界に適用する境界フィルタリング強度を定める段階、デブロッキングフィルタの適用如何を定める段階、前記デブロッキングフィルタを適用すると定められた場合、前記境界に適用するフィルタを選択する段階を含む。
【００３８】
前記デブロッキングフィルタの適用如何は、ｉ）前記境界フィルタリング強度が０より大きいかどうか、及びｉｉ）前記フィルタリングする境界に隣接している２個のブロック（Ｐブロック、Ｑブロック）の境界部分におけるピクセル値の変化程度を示す値が、量子化パラメータによって定められる第１基準値より小さいかどうかによって定められる。
【００３９】
前記フィルタは、少なくとも２つ以上であることが望ましい。ブロック境界に位置している２個のピクセル間の差値の絶対値が第２基準値より大きいかまたは同一である場合には、相対的に弱いフィルタリングを行うフィルタを選択する。前記第２基準値は、前記量子化パラメータ及び前記境界フィルタリング強度によって定められる。
【００４０】
ピクチャー保存部１８０は、フィルタリングされた映像データをブロッキングフィルタリング部１７０から入力されて、ピクチャー単位で映像を復元して保存する。ピクチャーは、フレーム単位の映像であるか、またはフィールド単位の映像である。ピクチャー保存部１８０は、複数のピクチャーを保存できるバッファ（図示せず）を備える。
【００４１】
動き推定部１５５は、前記ピクチャー保存部１８０に保存された少なくとも一つ以上の参照ピクチャーを用いて動き推定を行い、参照ピクチャーを示す参照ピクチャーインデックス及び動きベクトルを出力する。
【００４２】
動き補償部１５０は、動き推定部１５５から入力された参照ピクチャーインデックス及び動きベクトルによって、ピクチャー保存部１８０に保存された複数の参照ピクチャーのうち動き推定に用いられた参照ピクチャーから、符号化しようとするブロックに対応する予測ブロックを抽出して出力する。
【００４３】
イントラ予測部１４０は、予測が行われるピクチャー内部の再構成された画素値を用いてイントラ予測符号化を行う。イントラ予測部１４０は、予測符号化する現在ブロックを入力されて、現在ブロックのサイズによってあらかじめ設定された数のイントラ予測モードのうち一つを選択してイントラ予測を行う。
【００４４】
エントロピー符号化部１３０は、変換符号化／量子化部１２０によって量子化された量子化係数、動き推定部１５５によって生成された動き情報などをエントロピー符号化する。量子化された変換係数は、既定のスキャニング方法によって１次元の量子化変換係数に変換されてエントロピー符号化される。
【００４５】
以下、図３を参照してイントラ予測過程を説明する。先ず、イントラ予測部１４０は、イントラ予測符号化ブロックの位置及びサイズ情報を符号化モード決定部１１０から受信する。
【００４６】
次いで、現在予測符号化ブロックのイントラ予測モードを定めるために、有効な参照画素をピクチャー保存部１８０から受信する。前記参照画素は、符号化されて復元された画素であり、現在ピクチャーの以前に符号化された領域で現在ブロックに隣接している画素である。現在ブロックが現在ピクチャーの上側境界に位置する場合には、現在ブロックの上側に隣接している画素が定義されない。現在ブロックが現在ピクチャーの左側境界に位置する場合には、現在ブロックの左側に隣接している画素が定義されない。また、現在ブロックがスライスの上側境界及び左側境界に位置する場合、上側または左側に隣接している画素が定義されない。
【００４７】
前記のように、現在ブロックの左側または上側に隣接している画素が存在しないか、またはあらかじめ符号化されて復元された画素が存在しない場合には、有効な画素のみを用いて現在ブロックのイントラ予測モードを定められる。
【００４８】
しかし、前記存在しない参照画素を、現在ブロックに隣接している画素または隣接している利用可能な画素を用いて参照画素を生成してもよい。例えば、上側ブロックの画素が有効でない場合には、左側画素の一部を用いて上側画素を生成できる。
【００４９】
一方、現在ブロックの上側または左側画素が存在する場合にも、前記画素が属するブロックの符号化モードによって有効でない画素に定められうる。例えば、現在ブロックの上側に隣接している画素の属するブロックが、インター符号化されて復元されたブロックである場合には、前記画素を有効でない画素と判断できる。この場合には、現在ブロックに隣接しているブロックが、イントラ符号化されて復元されたブロックに属する画素を用いて、有効でない参照画素の位置に対応する位置に有効な参照画素を生成できる。
【００５０】
次いで、参照画素を用いて現在ブロックのイントラ予測モードを定める。イントラ予測モードの数は、ブロックのサイズに依存する。
【００５１】
ブロックのサイズによって３３つ、１６つまたは２つの方向性モードと、一つ以上の非方向性モードとが許容される。前記非方向性モードは、ＤＣモードまたはプラナーモードでありうる。
【００５２】
また、同じブロックサイズを持つとしても、相異なる数の有効なイントラ予測モードの数が割り当てられる。同じサイズのブロックに相異なる数のイントラ予測モードが許容されることを示すために、シーケンスヘッダ、ピクチャーヘッダ、スライスヘッダ及び符号化ユニットヘッダのうち少なくとも一つに、これを示す情報を挿入できる。シーケンスヘッダまたはピクチャーヘッダに挿入することが望ましい。
【００５３】
次いで、現在ブロックのイントラ予測モードが定められれば、現在ブロックの予測ブロックを生成する。前記予測ブロックは、現在ブロックのイントラ予測モードに基づいて、有効な参照画素（生成された画素を含む）またはこれらの線形結合を用いて生成する。例えば、特定方向の方向性モードでは、現在ブロックの上側の有効な参照ピクセル、及び現在ブロックの左側の有効な参照ピクセルを用いて予測ブロックを生成できる。
【００５４】
予測ブロックを生成するために使われる前記有効な参照画素は、フィルタリングされた参照画素でありうる。前記有効な参照画素に適用するフィルタは複数であることが望ましい。また、前記複数のフィルタが現在ブロックのサイズ及びイントラ予測モードによって適応的に適用されることが望ましい。
【００５５】
次いで、現在ブロックと、前記イントラ予測部１２０によって生成された予測ブロックとの残差ブロックは、変換符号化／量子化部１４０及びエントロピー符号化部１３０を通じて符号化される。
【００５６】
一方、現在ブロックのイントラ予測モードは別途に符号化される。前記イントラ予測モードの符号化は、イントラ予測部１２０で行われてもよく、別途のイントラ予測モード符号化装置（図示せず）またはエントロピー符号化部１３０で行われてもよい。
【００５７】
現在ブロックの上側ブロックのイントラ予測モードと、現在ブロックの左側ブロックのイントラ予測モードとを用いて、現在ブロックのイントラ予測モードを符号化する。
【００５８】
先ず、前記現在ブロックの左側及び上側ブロックのイントラ予測モードを誘導する。前記上側ブロックが複数存在する場合には、最左側に位置する上側ブロックまたは一番小さなモード番号を持つブロックを現在ブロックの上側ブロックに設定する。また、前記左側ブロックが複数存在する最上側に位置する左側ブロックまたは一番小さなモード番号を持つブロックを現在ブロックの左側ブロックに設定する。前記上側ブロックまたは左側ブロックがイントラモードで符号化されない場合には、ＤＣモード（モード番号２）を前記上側ブロックまたは左側ブロックのイントラ予測モードに設定できる。
【００５９】
次いで、前記上側または左側ブロックのイントラ予測モード番号が現在ブロックの許容可能なイントラ予測モードの数より大きいか、または同一であれば、前記上側または左側ブロックのイントラ予測モードを、現在ブロックに許容されたイントラ予測モードのうち一つに変換する。
【００６０】
次いで、現在ブロックのイントラ予測モード番号が、前記左側及び上側ブロックのイントラ予測モード番号のうち一つと同一であれば、隣接ブロックのモードと同一であることを示すフラッグと、前記上側及び左側ブロックのイントラ予測モードのうちいずれか一つを示すフラッグとを送る。この場合、現在ブロックの前記左側及び上側ブロックのイントラ予測モードが同一であれば、前記隣接ブロックのモードと同一であることを示すフラッグのみを伝送できる。また、前記上側及び左側ブロックのイントラ予測モードのうちいずれか一つのみ有効であり、現在ブロックのイントラ予測モードと同じ場合にも、前記隣接ブロックのモードと同一であることを示すフラッグのみを伝送できる。
【００６１】
しかし、現在ブロックのイントラ予測モードが前記左側及び上側ブロックのイントラ予測モードと異なるモードである場合には、現在ブロックのイントラ予測モード番号が、前記左側及び上側ブロックのイントラ予測モード番号より小さいかどうかを判断する。
【００６２】
判断結果、現在ブロックの左側及び上側ブロックのイントラ予測モード番号いずれも現在ブロックのイントラ予測モード番号より大きい場合には、現在ブロックのイントラ予測モードを最終イントラ予測モードと定める。しかし、現在ブロックの左側及び上側ブロックのイントラ予測モード番号のうち一つのみ現在ブロックのイントラ予測モード番号より大きくない場合には、現在ブロックのイントラ予測モード番号を１ほど低減させたモード番号を持つイントラ予測モードを、現在ブロックの最終イントラ予測モードと定める。そして、現在ブロックの左側及び上側ブロックのイントラ予測モード番号いずれも現在ブロックのイントラ予測モード番号より大きくない場合には、現在ブロックのイントラ予測モード番号を２ほど低減させたモード番号を持つイントラ予測モードを、現在ブロックの最終イントラ予測モードと定める。
【００６３】
次いで、現在ブロックの最終イントラ予測モードを符号化する。現在ブロックの上側ブロックと左側ブロックとのイントラ予測モードが同一かどうかによって、相異なる符号化テーブルを用いて現在ブロックの最終イントラ予測モードを符号化する。前記現在ブロックの上側ブロックまたは左側ブロックのイントラ予測モードは、変換されたイントラ予測モードでありうる。すなわち、前記上側ブロック及び左側ブロックの許容可能なイントラ予測モードを所定数のイントラ予測モードにマッピングするテーブルによって変換されたイントラ予測モードでありうる。前記所定数は、９または３でありうる。
【００６４】
以下、図３のエントロピー符号化部１３０の量子化変換係数符号化過程を説明する。
【００６５】
変換符号化されて量子化された変換係数は、ＣＡＶＬＣまたはＣＡＢＡＣを用いてエントロピー符号化されねばならない。この場合、変換符号化のサイズが大きくなれば、０ではない数をスキャンしてエントロピー符号化するために多くのビットが割り当てられる可能性が高い。したがって、所定サイズ以上の変換符号化ブロックのブロックについては、前記ビット数を低減させるための新たなスキャン方法が導入されることが望ましい。
【００６６】
先ず、変換量子化された係数を複数の領域に分割するかどうかを判断する。前記分割如何の決定は、変換符号化のサイズに依存する。すなわち、変換符号化ブロックのサイズが所定サイズ以上である場合には、前記変換符号化された量子化係数を複数の領域に分割する。前記所定サイズは、８×８または１６×１６であることが望ましい。前記複数の領域は、一つのメインサブセットと、少なくとも一つ以上の残余サブセットとで構成される。メインサブセットは、ＤＣ係数を含む左上側に位置し、前記残余サブセットは、メインサブセット以外の領域をカバーする。
【００６７】
次いで、前記変換符号化ブロックが所定サイズ以上である場合には、前記メインサブセットと前記少なくとも一つ以上の残余サブセットとに分けて、それぞれのサブセットに含まれている量子化された係数をスキャンして符号化する。前記サブセット内の量子化された係数のスキャンは、複数のスキャンパターンのうち一つを用いられる。前記サブセット内の量子化された係数のノンゼロであるピクセルの分布によって、ビット数が最小になるスキャンパターンを定め、定められたスキャンパターンを復号器に伝送できる。前記複数のスキャンパターンは、ジグザグスキャン、垂直スキャン、水平スキャンを含む。また、ＭＰＥＧ−４の垂直優先スキャンまたは水平優先スキャンを含むこともある。この場合、サブセットごとにスキャンパターンを伝送する場合には、所要ビット数が多くかかるので、複数のサブセットに同じスキャンパターンを適用してもよい。
【００６８】
一方、前記スキャンパターンが予測モード及びイントラ予測方向によって適応的に定められうる。例えば、インター予測モードの場合には、既定のスキャンパターン（例えば、ジグザグスキャン）のみを適用するか、または前記複数のスキャン方法のうち一つを適用できる。前者の場合には、スキャンパターン情報を復号器に伝送する必要がないが、後者の場合には、スキャンパターン情報を復号器に伝送せねばならない。イントラ予測の場合には、イントラ予測方向によってあらかじめ定められたスキャン方法を適用できる。例えば、垂直方向のイントラ予測モードに対しては水平スキャンを、水平方向のイントラ予測モードに対しては垂直スキャンを適用でき、ＤＣモードに対してはジグザグスキャンを適用できる。
【００６９】
前記変換符号化ブロック内の前記メインサブセット及び少なくとも一つ以上の残余サブセットに適用するスキャンパターンは、既定のパターン（例えば、ジグザグスキャン）でありうる。前記既定のパターンは、ジグザグスキャンでありうる。しかし、前記サブセットは、ジグザグスキャン以外に水平優先スキャンまたは垂直優先スキャンであってもよい。前記サブセットに適用されるスキャンパターンも、予測モード及びイントラ予測方向によって適応的に定められる。すなわち、インター予測モードの場合には、既定のスキャンパターン（例えば、ジグザグスキャン）のみを適用するか、または前記複数のスキャン方法のうち一つを適用できる。イントラ予測の場合には、イントラ予測方向によってあらかじめ定められたスキャン方法を適用できる。
【００７０】
前記サブセット内の量子化係数のスキャン順序は、逆方向を適用するのがかえって効果的でありうる。すなわち、スキャンパターンによって、前記サブセット内の０ではない最後の量子化係数から逆方向に０ではない量子化係数をスキャンしてエントロピー符号化できる。同様に、前記サブセットのスキャンパターンによって、前記サブセットのスキャン順序にも、変換符号化ブロック内の０ではない最後の量子化係数を含むサブセットから逆方向にサブセットをスキャンしてエントロピー符号化できる。
【００７１】
一方、復号器における正しいエントロピー復号化のために、符号器は、前記変換符号化ブロック内の０ではない最後の量子化係数の位置、及び前記変換符号化ブロック内の各サブセット内の０ではない最後の量子化係数の位置を示す情報を符号化して復号器に伝送する。前記情報は、それぞれのサブセット内の０ではない最後の量子化係数の位置を示す情報でありうる。また、前記情報は、Ｈ．２６４ ＣＡＢＡＣ符号化と類似して、変換符号化ブロック内の量子化係数が、該当スキャン位置に対する変換係数が０であるかどうかを表示するフラッグ、及び変換係数が０でない場合に変換符号化ブロック内の０でない最後の量子化係数であるかどうかを表示するフラッグで構成されたマップ情報でありうる。前記マップ情報が適用される場合に、前記マップ情報を生成するためのスキャンパターンは、前記サブセット内のスキャンパターンと同じスキャンパターンでありうる。
【００７２】
前記変換符号化ブロックの量子化数をスキャンするためのさらに他の例として、所定サイズの量子化されたブロックの係数をインタリーブ方式で再配列して複数のサーブブロックに変換し、サーブブロックそれぞれに対してスキャンして符号化してもよい。
【００７３】
一方、映像が特定方向に境界を持つ場合には、均等予測モードを用いる場合、動き境界部分では類似したデータに対して異なるサーブブロックが使われて、不要なオーバーヘッドを発生させる。かかる場合には、映像の境界部分の形象によって符号化単位ブロックを特定方向に分割して、それぞれの分割された領域を動き予測することがさらに効果的でありうる。
【００７４】
図４ないし図６を参照して、映像の特性を考慮して方向に適応的にブロックを分割する方法を説明する。図４、図５及び図６では、符号化単位ブロックのサイズが３２×３２である場合を例として挙げて説明する。しかし、これらに限定されるものではなく、６４×６４、１６×１６ブロックに対しても同一に適用される。
【００７５】
もっとも簡単な適応的なモードは、予測領域の局所的な地形の統計的依存性を抽出するために、符号化単位ブロックを、直線を用いて２個のブロックに分割することである。すなわち、映像の境界部分を直線にマッチングさせて分割することである。
【００７６】
図面に示したように、３２×３２ブロックの映像を横切る境界が存在する場合、既存の映像分割方法では、映像を効率的に圧縮するために映像を横切る境界部分を小さなブロックに分割することが要求される。
【００７７】
したがって、図４に示したように、一つの３２×３２ブロックを少なくとも１０個に分割して符号化することが要求され、この時に各映像分割を表示するための情報とともに１０個の動きベクトルを復号器に伝送せねばならないため、映像情報以外の付加情報が非常に多く要求される。
【００７８】
一方、図５または図６に示したように、３２×３２ブロックを横切る映像境界が存在する場合、その映像境界を表現する一つ以上の直線とマッチングさせる場合、復号器に伝送せねばならない付加情報の数を画期的に低減させることができる。
【００７９】
例えば、図５に示したように、３２×３２ブロックを横切る境界を２個の直線でマッチングさせる場合、３２×３２ブロックは４個の１６×１６ブロックに分割され、一番目と四番目の１６×１６ブロックをそれぞれブロック境界とマッチングさせた直線を得ることができる。この場合にかかる分割領域は６個であり、これによって復号器に伝送せねばならない動きベクトルも６個に低減させることができる。
【００８０】
同様に、図６に示したように、ブロックを横切る境界を１個の直線でマッチングさせる場合、３２×３２ブロックは２個のブロックに分割されて、１個のブロックモード情報と２個の動きベクトルのみを復号器に伝送すれば良い。
【００８１】
一方、直線を用いてブロックを分割する場合には、使われた直線情報を復号器にさらに伝送せねばならない。以下、伝送すべき直線情報について説明する。
【００８２】
伝送すべき直線情報は、多様な方法で送信できる。
【００８３】
最初の例として、直線に関する情報を既定の位置からの距離及び角度で表現する方法である。この場合、既定の位置は、ブロックの左上隅のピクセルまたは中心部のピクセルである。そして、距離は、定数または量子化された値である。角度０〜１８０の間であり、角度も量子化された値でありうる。
【００８４】
第２の例としては、ブロックを横切る直線の両端部分の位置値を復号器に伝送することである。位置値は、ブロックの左上隅のピクセルから出発してブロックの境界を時計回り方向に回りつついかほど離れているかを示す値で表現できる。この場合、両端部分のうち一つは時計回り方向であり、他の一つは逆時計回り方向に回りつつ離れた位置を表現することで直線情報を表現することもできる。また、両端部分のうち一つの位置が定められれば、これから他の端部分の位置は、相対的な位置値を用いて直線情報を表現できる。この場合には、少ないビット数でさらに多様な形態の形象に近づける直線情報を表現できる。
【００８５】
一方、現在ブロックに関する直線情報は、既に方向適応的に分割符号化された隣接ブロックが存在する場合には、これらのうちいずれか一つから選択された直線情報との差分情報を伝送することがさらに効果的である。さらに望ましくは、現在ブロックと同じ方向に分割されたブロックの方向情報を用いて差分情報を符号化することである。現在ブロックに関する直線情報または差分情報は一つの対応インデックスで表現されることが望ましく、これは可変長符号化されて送信される。
【００８６】
一方、前記方向適応的分割方法は、予測符号化ブロックのサイズによって適用如何を定めることが望ましい。過度に小さな符号化ブロックに対してこれを適用するのは、かえって伝送すべき情報量及び複雑度を高める恐れがあるので、適用しないことが望ましい。
【００８７】
一方、図７に示したように、映像の境界部分の形象によって予測符号化ブロックを分割する方法を特定方向に対してのみ適用し、所定数に限定してもよい。例えば、ブロックを分割する方法を水平、垂直、上向き対角線、下向き対角線の４つの方向に限定してもよく、水平、垂直の２つの方向に限定してもよい。前記特定方向にブロックを分割する場合の数が、予測符号化ブロックのサイズによって変わる。例えば、３２×３２サイズの予測符号化ブロックに対しては、特定方向（例えば、水平方向）に７つ、１６×１６サイズの予測符号化ブロックに対しては３つの方法で分けられるように設定できる。また、予測符号化ブロックのサイズにかかわらず同数の方法で予測符号化ブロックを分割してもよい。
【００８８】
Ｃｈｒｏｍａに対しても同一パーティションに分割でき、以下のすべての方法もこれに適用できる。それぞれの分割領域を持つ予測符号化ブロックは、ヘッダに分割ブロックの存在を示すフラッグ、分割がどうなったかを示す情報、各分割領域別に参照する符号化された参照ピクチャーインデックスを含まねばならない。
【００８９】
一つのブロックを方向適応的に予測する場合には、２個の分割された領域それぞれに対して動き予測及び動き補償をせねばならない。したがって、それぞれの分割された領域ごとに動きベクトルを求め、動きベクトルに基づいて得られた参照領域との残差信号を各分割された領域ごとに求めて符号化せねばならない。
【００９０】
残差信号は、次のいろいろな方法ののうちいずれか一つに符号化される。先ず、一つの予測符号化ブロックに対して分割された２つの領域ことの残差信号を求めた後、２つ個の残差信号を加えて一つのブロック残差信号を形成して変換符号化できる。この場合には、境界面を中心としてそれぞれの分割された領域の残差信号の分布が全体的に差がある確率が大きいため、前記境界面にフィルタを適用することが望ましい。
【００９１】
他の方法として、それぞれの分割された領域に模様適応的変換（Ｓｈａｐｅ−ａｄａｐｔｉｖｅ  ｔｒａｎｓｆｏｒｍ）を用いて符号化できる。図７に示したように、一つのブロックが２個の領域に分割される場合、左上側ブロックは、そのまま水平方向１−Ｄ ｔｒａｎｓｆｏｒｍを行った後、垂直方向１−Ｄ  ｔｒａｎｓｆｏｒｍを行えばよく、右下側のブロックは、図面のように再整列または１８０°回転して１−Ｄ  ｔｒａｎｓｆｏｒｍを行った後、垂直方向１−Ｄ  ｔｒａｎｓｆｏｒｍを行えばよい。この場合、各分割領域別に独立的に符号化された残差係数を復号器に伝送してもよく、結合して伝送してもよい。
【００９２】
さらに他の方法で、分割されたそれぞれの領域別にパッディングを行ってブロックを生成した後で符号化してもよい。すなわち、現在分割領域を符号化する時、ブロックを構成する他の分割領域を現在分割領域の値でパッディングして一つのブロックに構成した後、２次元変換符号化することである。パッディングは、水平パッディング（定義されていない領域を定義された領域から水平方向にコピー）と、垂直パッディング（定義されていない領域を定義された領域から水平方向にコピー）とを用いることができる。この場合、望ましくは、水平パッディングを行った後で垂直パッディングを行うことが望ましい。また、定義された一つ以上のピクセルに隣接している定義されていないピクセルは、定義されたピクセルの線形結合でパッディングしてもよい。また、分割方向によって方向性を与えて、水平または垂直パッディングのうちいずれか一つを先ず行わせてもよい。
【００９３】
次いで、動きベクトル予測について説明する。一つのブロックを、直線を用いて２個の領域に分割した場合、分割されたそれぞれの領域の動きベクトルは、既に符号化された動きベクトルを用いて差分符号化される。
【００９４】
第１の方法では、分割された領域の最初の領域は、隣接しているブロックの動きベクトルのうち一つを動きベクトル予測子として選択し、２番目の領域は、最初の領域を除いた隣接しているブロックの動きベクトルのうち一つを動きベクトル予測子として選択する。
【００９５】
第２の方法では、分割されたそれぞれの領域のうち最初の領域は、隣接しているブロックの動きベクトルのうち一つを動きベクトル予測子として定め、第２の領域は、最初の領域の動きベクトルを動きベクトル予測子として選択できる。
【００９６】
第３の方法では、分割されたブロックの方向性を考慮して、現在ブロックに隣接しているブロックのうち方向適応的分割されたブロックが存在する場合、これらの動きベクトルを参照動きベクトルとする場合である。したがって、方向適応的分割されたブロックが複数存在する場合には、既定の手順または分割方向の類似しているブロックの動きベクトルを参照動きベクトルとすることができる。
【００９７】
第４の方法は、分割されたそれぞれの領域のうち最初の領域は、前記最初の領域に隣接しているブロックのうちいずれか一つの動きベクトルを前記最初の領域の動きベクトルと設定し、第２の領域は、前記第２の領域に隣接しているブロックの動きベクトル、及び以前ピクチャーの同一位置のブロックまたは分割領域の動きベクトルのうちいずれか一つを動きベクトル予測子と選択して、差分動きベクトルを符号化できる。
【００９８】
ここではブロック分割のために一つの直線を用いたが、２つ以上の直線で構成された情報を通じて一つのブロックを２個以上の分割領域に分割することもでき、分割された領域に対する符号化は、前述した内容がそのまま適用されうる。
【００９９】
以上、本発明の望ましい実施形態を参照して説明したが、該当技術分野の当業者ならば、下記の特許請求の範囲に記載されている本発明の思想及び領域から逸脱しない範囲内で、本発明を多様に修正及び変更させられるということを理解できるであろう。
【０１００】
上記実施形態について次の付記を記す。
（付記１）  動画符号化装置において、
入力される映像を所定サイズの符号化単位ブロックに分割し、前記符号化単位ブロック別に予測符号化ブロックのサイズ及び予測モードを定める符号化モード決定部と、
符号化単位ブロックとイントラ予測またはインター予測を通じて生成された予測ブロックの残差ブロックを変換符号化及び量子化する変換符号化／量子化部と、
前記量子化された残差ブロックを逆量子化して逆変換し、周波数領域に変換する逆量子化／変換復号化部と、
前記逆量子化／変換復号化部から受信された映像データにブロッキングフィルタリングを適用するブロッキングフィルタリング部と、
予測符号化ブロックを生成する予測ブロック生成部と、
前記変換符号化／量子化部によって量子化された変換係数を符号化するエントロピー符号化部と、を備え、前記エントロピー符号化部は、変換符号化ブロックのサイズが所定サイズ以上である場合に量子化された変換係数を複数のサブセットに分割し、それぞれのサブセット単位で、０ではない量子化係数をスキャンしてエントロピー符号化することを特徴とする動画符号化装置。
（付記２）  前記サブセット内の０ではない量子化係数は、複数のスキャンパターンのうち一つによって逆方向にスキャンされることを特徴とする付記１に記載の動画符号化装置。
（付記３）  前記サブセット内の０ではない量子化係数をスキャンするスキャンパターンと、前記サブセットをスキャンするスキャンパターンとは同一であることを特徴とする付記１に記載の動画符号化装置。
（付記４）  前記サブセット内の０ではない量子化係数をスキャンするスキャンパターンは、イントラ予測モードによって定められることを特徴とする付記１に記載の動画符号化装置。
（付記５）  前記エントロピー符号化部は、前記変換符号化ブロック内の０ではない最後の量子化係数の位置、及び前記サブセット内の０ではない量子化係数を識別できる情報を前記量子化係数と別途に符号化することを特徴とする付記１に記載の動画符号化装置。
【図１】
0005919406.tif 000002
【図２】
0005919406.tif 000003
【図３】
0005919406.tif 000004
【図４】
0005919406.tif 000005
【図５】
0005919406.tif 000006
【図６】
0005919406.tif 000007
【図７】
0005919406.tif 000008