(57)【要約】【課題】画面内予測の方向に対応した直交変換により変換係数の電力集中度を向上させた動画像符号化方法を提供する。【解決手段】入力画像信号を符号化する動画像符号化方法であって、予め定められた予測モードに従って生成された予測信号（１２１）と入力画像信号（１１５）との差分値を示す予測誤差信号（１１６）を生成するステップと、予測モードの予測方向に依存する第１の変換方法又は予測方向に依存しない第２の変換方法によって、予測誤差信号を直交変換し、変換係数を生成する直交変換ステップと、変換係数に対して量子化処理を施し、量子化変換係数を生成する量子化ステップと、量子化変換係数（１１７）と、第１の変換方法か第２の変換方法かを示す変換情報（１１８）に対してエントロピー符号化処理を行い、符号化データ（１２４）を生成する符号化処理ステップと、を含む。【選択図】図１
2009272727.tif 000002
【特許請求の範囲】
【請求項１】
入力画像信号を符号化する動画像符号化方法であって、
予め定められた予測モードに従って生成された予測信号と入力画像信号との差分値を示す予測誤差信号を生成する予測誤差信号生成ステップと、
前記予測モードの予測方向に依存する第１の変換方法又は前記予測方向に依存しない第２の変換方法によって、前記予測誤差信号を直交変換し、変換係数を生成する直交変換ステップと、
前記変換係数に対して量子化処理を施し、量子化変換係数を生成する量子化ステップと、
前記量子化変換係数と、前記第１の変換方法か前記第２の変換方法かを示す変換情報とに対してエントロピー符号化処理を行い、符号化データを生成する符号化処理ステップと、
を含む動画像符号化方法。
【請求項２】
前記予測方向が垂直方向及び水平方向ではない場合には前記第１の変換方法または第２の変換方法を選択し、前記予測方向が垂直方向及び水平方向の場合には前記第１の変換方法を選択する変換方法選択ステップをさらに有し、
前記直交変換ステップは選択された変換方法に従って直交変換すること、を特徴とする請求項１記載の動画像符号化方法。
【請求項３】
前記変換方法選択ステップにおいて第１の変換方法が選択された場合、前記直交変換ステップは、予測モードが示す予測方向に沿って前記予測誤差信号を直交変換すること、を特徴とする請求項１又は２項に記載の動画像符号化方法。
【請求項４】
前記直交変換ステップは、予測方向に沿った直交変換を行う際に、隣り合う空間的に一直線な画素列をブロック端で折り返して結合した画素列に対して１次元直交変換を行うこと、を特徴とする請求項１〜３のいずれか１項に記載の動画像符号化方法。
【請求項５】
前記直交変換ステップは、前記予測方向に沿った直交変換を行う際に、直交変換の方法として、DCT、KLT、DST、DWTのいずれかを用いて直交変換を行うこと、を特徴とする請求項１〜４のいずれか１項に記載の動画像符号化方法。
【請求項６】
前記直交変換ステップは、予測方向に依存した前記第１の変換方法が行われた場合、前記量子化ステップが、前記第１の直交変換方法による直交変換ごとに異なる量子化方法で量子化を行うこと、を特徴とする請求項１〜５のいずれか１項に記載の動画像符号化方法。
【請求項７】
前記エントロピー符号化ステップは、変換情報と変換係数を符号化する際に、予測モード情報が示す予測方向が垂直方向及び水平方向ではない場合のみ、変換係数に加えて変換情報を符号化し、前記予測モードが示す予測方向が垂直方向及び水平方向である場合は、変換情報は符号化せず、変換係数のみを符号化すること、を特徴とする請求項１〜６のいずれか１項に記載の動画像符号化方法。
【請求項８】
前記変換方法選択ステップは、前記符号化対象ブロックの直交変換方法を前記第１の変換方法又は前記第２の変換方法に、シーケンス毎、ピクチャ毎、スライス毎、マクロブロック毎、の少なくとも１つの単位で変更すること、を特徴とする請求項１〜７のいずれか１項に記載の動画像符号化方法。
【請求項９】
入力画像信号を符号化する動画像符号化装置であって、
予め定められた予測モードに従って生成された予測信号と入力画像信号との差分値を示す予測誤差信号を生成する予測誤差信号生成部と、
前記予測モードの予測方向に依存する第１の変換方法又は前記予測方向に依存しない第２の変換方法によって、前記予測誤差信号を直交変換し、変換係数を生成する直交変換部と、
前記変換係数に対して量子化処理を施し、量子化変換係数を生成する量子化部と、
前記量子化変換係数と、前記第１の変換方法か前記第２の変換方法かを示す変換情報とに対してエントロピー符号化処理を行い、符号化データを生成する符号化部と、
を含む動画像符号化装置。
【請求項１０】
入力された符号化データを所定の方法に従って解読して、復号処理に必要な直交変換係数と、予測モード情報と、変換情報を導出する復号ステップと、
前記変換情報に従って、前記符号化データの復号化対象ブロックの逆変換方法として、予測方向に依存した第１の逆変換方法又は予測方向に依存しない第２の逆変換方法を選択する逆変換方法選択ステップと、
前記復号ステップで得られた直交変換係数に対して、逆量子化処理を施し、直交変換係数を生成する逆量子化ステップと、
前記逆変換方法選択ステップで選択された逆変換方法に従って、前記直交変換係数を逆直交変換し、復号予測誤差信号を生成する逆直交変換ステップと、
復号された復号画像信号から前記符号化モード情報をもとに予測信号を生成し、前記復号予測誤差信号に前記予測信号を加えて復号画像を生成するステップと、
を有する動画像復号化方法。
【請求項１１】
前記逆変換選択ステップは、前記第１の変換方法が選択された場合、前記逆量子化ステップは、前記予測方向に依存した直交変換ごとに異なる逆量子化方法で逆量子化を行うこと、を特徴とする請求項１１に記載の動画像復号化方法
【請求項１２】
前記逆変換選択ステップは、前記第１の変換方法が選択された場合、前記逆直交変換ステップは、予測モードが示す予測方向に沿って逆直交変換をかけること、を特徴とする請求項１０又は１１に記載の動画像復号化方法。
【請求項１３】
前記逆直交変換ステップは、前記予測方向に沿った逆直交変換を行う際に、空間的に一直線な変換係数に対してのみ１次元逆直交変換を行うのではなく、隣り合う空間的に一直線な変換係数をブロック端で折り返して結合した変換係数列に対して１次元逆直交変換を行うこと、を特徴とする請求項１１〜１２のいずれか１項に記載の動画像復号化方法。
【請求項１４】
前記逆直交変換ステップは、前記予測方向に沿った直交変換を行う際に、逆直交変換の方法として、逆DCT、逆KLT、逆DST、逆DWTのいずれかを用いて逆直交変換を行うこと、を特徴とする請求項１１〜１３のいずれか１項に記載の動画像復号化方法。
【請求項１５】
前記逆変換方法選択ステップは、前記符号化データの復号化対象ブロックの逆直交変換方法を、シーケンス毎、ピクチャ毎、スライス毎、マクロブロック毎、の少なくとも１つの単位で前記第１逆変換方法又は前記第２逆変換方法に変更すること、を特徴とする請求項１１〜１４のいずれか１項に記載の動画像復号化方法。
【請求項１６】
入力された符号化データを所定の方法に従って解読して、復号処理に必要な直交変換係数と、予測モード情報と、変換情報を導出する復号部と、
前記変換情報に従って、前記符号化データの復号化対象ブロックの逆変換方法として、予測方向に依存した第１の逆変換方法又は予測方向に依存しない第２の逆変換方法を選択する逆変換方法選択部と、
前記復号ステップで得られた直交変換係数に対して、逆量子化処理を施し、直交変換係数を生成する逆量子化部と、
前記逆変換方法選択ステップで選択された逆変換方法に従って、前記直交変換係数を逆直交変換し、復号予測誤差信号を生成する逆直交変換部と、
復号された復号画像信号から前記符号化モード情報をもとに予測信号を生成し、前記復号予測誤差信号に前記予測信号を加えて復号画像を生成する画像復元部と、
を有する動画像復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化装置、動画像符号化方法、動画像復号化装置及び動画像復号化方法に係わり、特に画面内予測の方向に対応した直交変換により変換係数の電力集中度を向上させ、ひいては符号化効率を改善する効果が得られるようにした動画像符号化装置、動画像符号化方法、動画像復号化装置、動画像復号化方法に関する。
【背景技術】
【０００２】
Ｈ．２６４／ＭＰＥＧ−４  ＡＶＣ（以下Ｈ．２６４と呼ぶ）等の動画像符号化方式では、直交変換として離散コサイン変換(Discrete Cosine Transform、以下ＤＣＴ)/逆離散コサイン変換(Inverse Discrete Cosine Transform、以下ＩＤＣＴ)が行われている。現状では、ＤＣＴ／ＩＤＣＴは水平方向と垂直方向に１次元ＤＣＴ／ＩＤＣＴを２回行うことで実現されている[非特許文献１]。ＤＣＴは、予測誤差の相関係数が画素間距離に従って規則的に低減するモデルに対しては、カルーネン-レーブ変換(以下ＫＬＴと呼ぶ)と同等の変換効率が得られるが、実際の予測誤差信号はエッジ成分などにより、必ずしも水平垂直方向のＤＣＴが最適とは限らず、画像の特徴に応じてＤＣＴをかける向きを変える研究や［非特許文献２］、ＤＣＴと離散サイン変換（Discrete Sine Transform、以下ＤＳＴ)を切り替える研究が行われてきた[特許文献１]。
【非特許文献１】A. Hallapuro, M. Karczewicz, and H. Malvar, “Low complexity transform and quantization,” Joint Video Team of ISO/IEC MPEG and ITU-T VCEG, Jan. ２００２, JVT-B０３８ and JVT-B０３９.
【非特許文献２】J. Fu, B. Zeng, “Diagonal Discrete Cosine Transforms for Image Coding”, PCM ２００６
【特許文献１】特開平１１-５５６７８
【発明の開示】
【発明が解決しようとする課題】
【０００３】
Ｈ．２６４で用いられている非特許文献１の水平垂直ＤＣＴは、予測誤差の相関係数が画素間距離に従って規則的に低減するモデルに対しては、ＫＬＴと同等の変換効率が得られるが、予測誤差信号にエッジ成分が発生すると、必ずしも水平垂直方向のＤＣＴが最適とは限らず、変換効率が十分に得られない可能性がある。
【０００４】
また、特許文献１では、画像の特長によってＤＣＴとＤＳＴを切り替えて変換を行っているが、ＤＳＴは内挿予測された画素に対しては変換効率が高いが、Ｈ．２６４におけるイントラ予測は外挿予測であるために、イントラ予測によって生じる予測誤差に対してＤＳＴをかけても変換効率の向上は見込めない。
【０００５】
非特許文献２では、サイド情報削減のために１次元ＤＣＴをかける方向を、従来のＨ．２６４の変換方式に加えて、直交右下方向と直交左下方向の２方向に制限し、これらの方向からレート歪的に最適な変換の方向を選択している。しかし、イントラ予測の方向とその予測誤差の方向性が類似しており、予測方向と異なる方向に１次元ＤＣＴをかけても係数の電力が集中しないため、直交右下方向と直交左下方向のそれぞれの方向に変換をかけることは冗長であり、それぞれの変換方向を識別するためのサイド情報は符号化効率の低下につながる。また斜めに１次元ＤＣＴをかける際の基底長が、符号化ブロックの端部では著しく短く、変換の効果が十分に発揮されていない。
【課題を解決するための手段】
【０００６】
本発明の一態様は、入力画像信号を符号化する動画像符号化方法であって、予め定められた予測モードに従って生成された予測信号と入力画像信号との差分値を示す予測誤差信号を生成する予測誤差信号生成ステップと、前記予測モードの予測方向に依存する第１の変換方法又は前記予測方向に依存しない第２の変換方法によって、前記予測誤差信号を直交変換し、変換係数を生成する直交変換ステップと、前記変換係数に対して量子化処理を施し、量子化変換係数を生成する量子化ステップと、前記量子化変換係数と、前記第１の変換方法か前記第２の変換方法かを示す変換情報に対してエントロピー符号化処理を行い、符号化データを生成する符号化処理ステップと、を含む動画像符号化方法を提供する。
【発明の効果】
【０００７】
空間相関を利用するＨ．２６４のようなイントラ予測を行う場合、予測方向と予測誤差の方向性は同一である可能性が高いので、予測方向以外の方向の１次元ＤＣＴを考慮しなくても電力集中度は低下しない。また、本発明の態様の方式は、従来のＨ．２６４の変換方式に加えて、１次元ＤＣＴをかける方向の候補が１つに決まるので、非特許文献２と比較してサイド情報を減らすことが可能である。また、画像の端部の画素について、画素を折り返すことで基底長の長い１次元ＤＣＴをかけるため、電力集中度が上がる。これら３点から、本変換方式によって生成された変換係数に対して量子化処理、エントロピー符号化処理を行うことによって、最終的に符号量を削減することが可能である。また、従来水平と垂直の２方向に１次元ＤＣＴをかけていたが、本方式では１次元ＤＣＴは予測方向に１回で十分であるため、符号化及び復号化処理が低減される。
【発明を実施するための最良の形態】
【０００８】
以下、添付図面を参照して、本発明に係る動画像符号化方法及び動画像符号化装置、動画像復号方法及び動画像復号化装置の最良な実施の形態を詳細に説明する。
【０００９】
[第１の実施形態]
(符号化器について) 
図１に示す第１の実施形態に係わる動画像符号化装置１００は、予測モード情報から変換情報を制御する制御部１０７と、変換情報によって変換方法を選択する変換方法選択スイッチ１０１と、予測の方向に対応して変換量子化を行う変換量子化部１０２〜１０５と、変換係数と変換情報とを符号化するエントロピー符号化部１０６とを備えている。
【００１０】
図１において、入力動画像信号１１５はマクロブロック毎又はマクロブロックペア毎に分割されて、動画像符号化装置１００に入力される。動画像符号化装置１００では、予測部１１４が入力動画像信号１１５に対してフレーム内予測を行う。この予測部１１４について以下に具体的に説明する。
【００１１】
予測部１１４は、マクロブロックをさらに分割したサブブロックを単位として予測を行う。例えば、Ｈ．２６４のイントラ予測における輝度信号においては、１６個の４ｘ４画素サブブロックを持つマクロブロックと、４個の８ｘ８画素サブブロックを持つマクロブロックと、１個の１６x１６画素サブブロックを持つマクロブロックが存在する。符号化対象フレームと符号化対象マクロブロックとの関係を図２（ａ）に、４ｘ４画素サブブロックを持つマクロブロックを図２（ｂ）に、８ｘ８画素サブブロックを持つマクロブロックを図２（ｃ）に、１６ｘ１６画素サブブロックを持つマクロブロックを図２（ｄ）に示す。４ｘ４サブブロックと８ｘ８サブブロックには９つの予測モードが存在し、１６x１６サブブロックには４つの予測モードが存在し、各サブブロックでイントラ予測が行われる。
【００１２】
図３はＨ．２６４のイントラ予測の４x４サブブロック及び８x８サブブロックにおける全予測モード、即ち垂直予測モード、水平予測モード、ＤＣ予測モード、直交左下予測モード、直交右下予測モード、垂直右予測モード、水平下予測モード、垂直左予測モード、及び水平上予測モードを示している。各予測モードの予測方向を図４（ａ）に示す。図４（ａ）に示す予測方向について具体的な予測方法を、図４（ｂ）〜（ｄ）を用いて説明する。
【００１３】
図４（ｂ）の符号化対象サブブロックに対して、Ｈ．２６４イントラ予測モードのモード２のＤＣ予測が選択された場合、数式（１）で予測画素が計算される。  
H＝(A＋B＋C＋D）、Ｖ＝(I＋J＋K＋L)
a〜p＝（H+V+４）>>３
…（１）。
【００１４】
参照画素が利用できない時は、利用できる参照画素の平均値で予測値が生成される。利用できる画素が１つも存在しない場合は、符号化装置の最大輝度値の半分の値（８ビットなら１２８）で予測値が生成される。その他のモードが選択された場合、方向予測部１１４は、図４（a）で示される予測方向に対して、参照画素から補間された予測値をコピーする予測方法を用いる。具体的には、モード０(垂直予測)が選択された場合の予測値生成方法を説明する。
【００１５】
下記のモードは、参照画素ＡからＤまでが利用できるときだけ、選択することが可能である。  
a, e, i, m= A
b, f, j, n = B
c, g, k, o = C
d, h, l, p = D予測方法の詳細は図４（ｃ）に示されており、参照画素Ａ〜Ｄの輝度値がそのまま垂直方向にコピーされ、予測値として補填される。
【００１６】
一方、モード４(直交右下予測)が選択されたときの予測方法についても数式(２)で説明する。  
d = ( B + ( C << 1 ) + D + 2 ) >> 2
c, h = ( A + ( B << 1 ) + C + 2 ) >> 2
b, g, l = ( M + ( A << 1 ) + B + 2 ) >> 2
a, f, k, p = (I + ( M << 1 ) + A + 2 ) >> 2
e, j, o = (J + ( I << 1 ) + M +2 ) >> 2
i, n = (K + ( J<< 1) + I + 2 ) >> 2
m = (L + (K << 1) + J + 2 ) >> 2
…（２）
この予測モードは、参照画素ＡからＤ、ＩからＭまでが利用できるときにのみ選択することができる。本予測モードの詳細は図４（ｄ）に示されており、この本予測モードによると、３タップのフィルタによって生成された値を右下４５度方向へコピーし、予測値として補填する。
【００１７】
予測モード０、２、４以外の予測方法に関してもほぼ同様の枠組みが用いられており、予測方向に対して利用できる参照画素から補間値を生成し、その値を予測方向に応じてコピーするという予測を行う。また、４ｘ４画素ブロックについて予測方法を説明したが、８ｘ８画素ブロックについても同様の方法で参照画素から補間値を生成し、その値を予測方向に応じてコピーすることで予測を行う。
【００１８】
以上のように、予測部１１４で生成された予測画像信号１２１と入力画像信号１１５との差分を取ることで、予測誤差信号１１６が生成される。このとき、予測部１１４で選択された予測モード情報１２０に応じて、符号化制御部１０７は変換情報１１８を生成する。変換情報１１８は、直交変換に関して水平垂直方向のＤＣＴを行うのか、予測モード情報が示す予測方向に沿って１次元ＤＣＴを行うのかを判別するための情報であり、変換方法選択スイッチ１０１、逆変換方法選択スイッチ１０８を切り替えるために用いられる。実施形態では、符号化制御部１０７は予測モード情報が示す予測方向が水平又は垂直方向のとき水平垂直変換情報のみを出力し、斜め方向であると水平垂直変換情報と斜め変換情報とを出力する。
【００１９】
予測誤差信号１１６は、変換方法選択スイッチ１０１に入力され、変換情報１１８に従って、スイッチが切り替えられ、第１変換部１０２か第２変換部１０３のいずれかに入力される。第１変換部１０２では図５（ａ）に示すように予測誤差信号１１６は水平垂直ＤＣＴ器２００により水平垂直ＤＣＴされる。水平垂直ＤＣＴ器２００からの変換係数２３２はその後図５（ｂ）に示すように第１量子化部１０４内で水平垂直ＤＣＴ器２００に対応した量子化器２０１で量子化される。
【００２０】
第２変換部１０３では、図６（ａ）に示すように、予測誤差信号１１６は、ＤＣＴ器２０３〜２０８から選択された、予測モード情報１２０の予測方向に対応したＤＣＴ器によってＤＣＴ変換される。その後、第２量子化部１０５では、図６（ｂ）に示すように、量子化器２１０〜２１５から、予測モード情報１２０に対応した量子化器が選択され、第２変換部１０３の変換係数２３３が量子化され、量子化変換係数１１７が生成される。
【００２１】
ここで、符号化効率の観点から、最適なモードを判定するためのモード判定について詳細に説明を行う。サブブロックがとりうる全ての予測モードについて、変換情報１１８が示す直交変換以降の符号化処理を行い、その結果得られた符号化コストが最小となるモードが、サブブロックの最適モードと判定される。具体的に説明すると、予測モードに規定された予測方法で生成された予測信号と原画像信号との差分値の絶対値を計算した差分誤差ＳＡＤとその予測モードを用いたときに必要となるサイド情報の値ＯＨから数式（３）を用いてモードを判定する。  
K＝SAD＋λ×OH                      （３）
λは定数で与えられ、量子化スケールの値に基づいて決められる。このようにして得られたコストＫを基にモードが決定される。一般的にコストＫがもっとも小さい値を与えるモードが最適モードとして選択される。
【００２２】
本実施の形態では、サイド情報と差分値の絶対値を用いたが、別の実施の形態として、モード情報のみ、予測誤差信号の絶対和のみを用いてモードを判定しても良いし、これらをアダマール変換したり、近似した値を利用したりしても良い。また、入力画像のアクティビティを用いてコストを作成しても良いし、量子化スケールを利用してコスト関数を作成しても良い。
【００２３】
コストを算出するための別の実施の形態として、仮符号化を行い、仮符号化の予測モードで生成された予測信号と原画像との差分値を実際に符号化した場合の符号量と、変換係数を局部復号した局部復号画像と入力画像信号との二乗誤差を用いてモードを判定しても良い。この場合のモード判定式は数式(４)のようになる。  
J=D+λ×R                          （４）
ここで、Ｄは、入力画像と局部復号画像の二乗誤差を表す符号化歪である。一方、Ｒは仮符号化によって見積もられた符号量を表している。本コストを用いた場合は、符号化モード毎にエントロピー符号化と局部復号(逆量子化や逆変換処理を含む)が必要となるため、回路規模は増大するが、正確な符号量と符号化歪を用いることが可能となり、符号化効率を高く維持することが可能である。本コストも、符号量のみ、符号化歪のみを用いてコストを算出しても良いし、これらを近似した値を用いてコスト関数を作成しても良い。
【００２４】
次に、予測方向に沿った１次元ＤＣＴの方法について説明を行う。まず、Ｈ．２６４で行われているＤＣＴについて説明する。４ｘ４サブブロックに対して、入力信号をＸ、変換行列をＴ、変換係数をＣとすると、変換係数Ｃは数式（５）に従って求められる。  
【数１】
2009272727.tif 000003
【００２５】
すなわち、入力画像信号に対して、変換行列Ｔを用いて、水平方向に１次元ＤＣＴをかけた後、変換行列Ｔの転置行列Ｔtを用いて、垂直方向に１次元ＤＣＴをかけている。
【００２６】
上記演算は、８ｘ８サブブロックに対しても同様である。それに対し、本実施の形態では、４ｘ４サブブロックと８ｘ８サブブロックに対して、Ｈ．２６４で定められている９種類のイントラ予測の中から、垂直予測、水平予測、ＤＣ予測の３種類を除いた６方向について、予測方向に沿った、方向性をもったＤＣＴ変換を行う。
【００２７】
まず、Ｈ．２６４のイントラ予測モード３〜８までの各モードに対応した変換方法について、図７に示す４ｘ４サブブロックを使って説明する。予測モード３の場合、サブブロック内の画素を、予測方向に沿って、(a)、(b,e)、(c,f,i)、(d,g,j,m)、(h,k,n)、(l,o)、(p)の７組に画素をまとめる。１次元ＤＣＴをかける画素列の組み合わせを図８（ａ）に示す。変換係数をF(u)とすると、４x４画素ブロックの対角線にあたる画素列(d,g,j,m)に関しては、数式（６）のように基底長４の１次元ＤＣＴが行われる。  
【数２】
2009272727.tif 000004
【００２８】
(ただし、f(0)=d, f(1)=g, f(2)=j, f(3)=m)。
【００２９】
次に、画素列(c,f,i)に関しては、数式(７)のように基底長３の１次元ＤＣＴが行われる。  
【数３】
2009272727.tif 000005
【００３０】
(ただし、f(0)=c, f(1)=f, f(2)=i)。
【００３１】
さらに、画素列(a)、(b,e)については、画素を折り返し結合して数式(８)のように基底長３の１次元ＤＣＴが行われる。  
【数４】
2009272727.tif 000006
【００３２】
(ただし、f(0)=b, f(1)=e, f(2)=a 又は、f(0)=e, f(1)=b, f(2)=a)。
【００３３】
また、４x４変換の別の例として、画素を折り返し合わせずに１次ＤＣＴを行う方法が考えられる。この時の１次元ＤＣＴをかける画素列の組み合わせを図８（ｂ）に示す。画素列(d,g,j,m)、(e,f,i)に関しては前記１次元ＤＣＴと同様であるが、(b,e)、(a)に関して、画素を折り返し結合せずそれぞれに対して数式(９)、数式(１０)のように１次元ＤＣＴを行う。  
【数５】
2009272727.tif 000007
【００３４】
(ただし、f(0)=b, f(1)=e)
【数６】
2009272727.tif 000008
【００３５】
(ただし、f(0)= a)。
【００３６】
また、別の例として、画素列(c,f,i)、(e,b)、(a)を全て折り返し結合して１次元ＤＣＴを行う方法が考えられる。この時の１次元ＤＣＴをかける画素列の組み合わせを図８（ｃ）に示す。画素列(d,g,j,m)に関しては前記１次元ＤＣＴと同様であるが、画素列(c,f,i)、(e,b)、(a)に関しては、数式（１１）のように１次元ＤＣＴを行う。  
【数７】
2009272727.tif 000009
【００３７】
(ただし、f(0)=c, f(1)=f, f(2)=i, f(3)=e, f(4)=b, f(5)=a
もしくは、f(0)=i, f(1)=f, f(2)=c, f(3)=b, f(4)=e, f(5)=a)
残りの画素列(h,k,n)、(l,e)、(p)については、(e,f,i)、(b,e)、(a)と、４x４ブロックの対角線である画素列(d,g,j,m)に関して線対称であるので、(e,f,i)、(b,e)、(a)と同様の計算で１次元ＤＣＴを行う。
【００３８】
予測モード４の場合は、予測モード３の予測方向を左右反転したものと考えられるので、予測モード３の時と同様にしてＤＣＴ演算を行うことが可能である。  
また、上記説明では実数ＤＣＴ演算を用いたが、Ｈ．２６４で規定されているように整数演算でＤＣＴを行うことも可能である。
【００３９】
次に、予測モード５〜８に対応するＤＣＴ演算方法を説明する。  
予測モード５の場合、サブブロック内の画素を、予測方向に沿って、(a,e,j,n)、(b,f,k,o)、(c,g,l,p)、(i,m)、(d,h)の５組に画素をまとめる。１次元ＤＣＴをかける画素列の組み合わせを図９（ａ）に示す。変換係数をF(u)とすると、画素列(a,e,j,n)に関しては、数式(１２)のように基底長４の１次元ＤＣＴが行われる。  
【数８】
2009272727.tif 000010
【００４０】
(ただし、f(0)=a, f(1)=e, f(2)=j, f(3)=n)
画素列(b,f,k,o)、(c,g,l,p)に関しても同じ演算が行われる。
【００４１】
次に、画素列(i,m)に関しては、数式(１３)のように基底長３の１次元ＤＣＴが行われる。  
【数９】
2009272727.tif 000011
【００４２】
(ただし、f(0)=i, f(1)=m)
画素列(d,h)に関しても数式（１３）と同じ演算が行われる。
【００４３】
また、予測モード５に対応したＤＣＴ演算の別の例として、画素を折り返し合わせて１次ＤＣＴを行う方法が考えられる。この時の１次元ＤＣＴをかける画素列の組み合わせを図９（ｂ）に示す。画素列(b,f,k,o)に関しては前記１次元ＤＣＴと同様であるが、(a,e,j,n)、(m,i)と(p,l,g,c)、(d,h)に関しては、画素を折り返し結合して数式(１４)のように１次元ＤＣＴを行う。  
【数１０】
2009272727.tif 000012
【００４４】
(ただし、f(0)=a, f(1)=e, f(2)=j, f(3)=n, f(4)=m, f(5)=i)
画素列(p,l,g,c)、(d,h)に関しても数式（１４）と同じ演算が行われる。
【００４５】
予測モード６〜８の場合は、予測モード５の予測方向を回転又は反転したものと考えられるので、予測モード５の時と同様にしてＤＣＴ演算を行うことが可能である。  
また、上記説明では実数ＤＣＴ演算を用いたが、Ｈ．２６４で規定されているように整数演算でＤＣＴを行うことも可能である。
【００４６】
次に、８ｘ８サブブロックについて、Ｈ．２６４のイントラ予測モード３〜８までの各モードについて、図１０に示す８ｘ８ブロックを用いて説明する。  
予測モード３の場合、サブブロック内の画素を、予測方向に沿って、(a0)、(a1,b0)、(a2,b1,c0)、(a3,b2,c1,d0)、(a4,b3,c2,d1,e0)、(a5,b4,c3,d2,e1,f0)、(a6,b5,c4,d3,e2,f1,g0)、(a7,b6,c5,d4,e3,f2,g1,h0)、(b7,c6,d5,e4,f3,g2,h1)、(c7,d6,e5,f4,g3,h2)、(d7,e6,f5,g4,h3)、(e7,f6,g5,h4)、(f7,g6,h5)、(g7,h6)、(h7)の１５組に画素をまとめる。１次元ＤＣＴをかける画素列の組み合わせを図１１（ａ）に示す。変換係数をF(u)とすると、８x８画素ブロックの対角線にあたる画素列(a7,b6,c5,d4,e3,f2,g1,h0)に関しては、数式(１５)のように基底長８の１次元ＤＣＴが行われる。  
【数１１】
2009272727.tif 000013
【００４７】
(ただし、f(0)=a7, f(1)=b6, f(2)=c5, f(3)=d4, f(4)=e3, f(5)=f2, f(6)=g1, f(7)=h0)。
【００４８】
次に、画素列(a5,b4,c3,d2,e1,f0)、(a6,b5,c4,d3,e2,f1,g0)に関しては、画素列を折り返し合わせて、数式(１６)のように基底長１３の１次元ＤＣＴが行われる。  
【数１２】
2009272727.tif 000014
【００４９】
(ただし、f(0)=a6, ,f(1)=b5, f(2)=c4, f(3)=d3, f(4)=e2, f(5)=f1, f(6)=g0, f(7)=f0,
f(8)=e1, ,f(9)=d2, f(10)=c3, f(11)=b4, f(12)=a5,
又は、f(0)=g0, ,f(1)=f1, f(2)=e2, f(3)=d3, f(4)=c4, f(5)=b5, f(6)=a6, f(7)=a5,
f(8)=b4, ,f(9)=c3, f(10)=d2, f(11)=e1, f(12)=f0)。
【００５０】
さらに、画素列(a3,b2,c1,d0)、(a4,b3,c2,d1,e0)については、画素列を折り返し合わせて数式(１７)のように基底長９の１次元ＤＣＴが行われる。  
【数１３】
2009272727.tif 000015
【００５１】
(ただし、f(0)=a4, ,f(1)=b3, f(2)=c2, f(3)=d1, f(4)=e0, f(5)=d0, f(6)=c1, f(7)=b2,
f(8)=a3又は、f(0)=e0, ,f(1)=d1, f(2)=c2, f(3)=b3, f(4)=a4, f(5)=a3, f(6)=b2, f(11)=c1, f(12)=d0)。
【００５２】
さらに、画素列(a0)、(a1,b0)、(a2,b1,c0)については、画素列を折り返し結合して数式(１８)のように基底長６の１次元ＤＣＴが行われる。  
【数１４】
2009272727.tif 000016
【００５３】
(ただし、f(0)=a2, f(1)=b1, f(2)=c0, f(3)=b0,f(4)=a(1),f(5)=a(0)
もしくは、f(0)=c0,f(1)=b1,f(2)=a2,f(3)=a1,f(4)=b0,f(5)=a(0))。
【００５４】
また、上記では、画素列(a0)、(a1,b0)、(a2,b1,c0)、(a3,b2,c1,d0)、(a4,b3,c2,d1,e0)、(a5,b4,c3,d2,e1,f0)、(a6,b5,c4,d3,e2,f1,g0)に対して、隣り合う画素列を結合して１次元ＤＣＴを行ったが、 (a7,b6,c5,d4,e3,f2,g1,h0)に対して行った１次元ＤＣＴ同様に、それぞれの画素列を結合せずに１次元ＤＣＴを行うことも可能である。この時の１次元ＤＣＴをかける画素列の組み合わせを図１１（ｂ）に示す。
【００５５】
残りの画素列の(b7,c6,d5,e4,f3,g2,h1)、(c7,d6,e5,f4,g3,h2)、(d7,e6,f5,g4,h3)、(e7,f6,g5,h4)、(f7,g6,h5)、(g7,h6)については、(a0)、(a1,b0)、(a2,b1,c0)、(a3,b2,c1,d0)、(a4,b3,c2,d1,e0)、(a5,b4,c3,d2,e1,f0)、(a6,b5,c4,d3,e2,f1,g0)と、８ｘ８ブロックの対角線である画素列(a7,b6,c5,d4,e3,f2,g1,h0)に関して線対称であるので、(a0)、(a1,b0)、(a2,b1,c0)、(a3,b2,c1,d0)、(a4,b3,c2,d1,e0)、(a5,b4,c3,d2,e1,f0)、(a6,b5,c4,d3,e2,f1,g0)と同様の計算で１次元ＤＣＴを行う。
【００５６】
予測モード４の場合は、予測モード３の予測方向を回転又は反転したものと考えられるので、予測モード３の時と同様にしてＤＣＴ演算を行うことが可能である。  
また、上記説明では実数ＤＣＴ演算を用いたが、Ｈ．２６４で規定されているように整数演算でＤＣＴを行うことも可能である。
【００５７】
次に、予測モード５〜８に対応するＤＣＴ演算方法を説明する。
【００５８】
予測モード５の場合、サブブロック内の画素を、予測方向に沿って、(a0,b0,c1,d1,e2,f2,g3,h3)、(a1,b1,c2,d2,e3,f3,g4,h4)、(a2,b2,c3,d3,e4,f4,g5,h5)、(a3,b3,c4,d4,e5,f5,g6,h6)、(a4,b4,c5,d5,e6,f6,g7,h7)、(c0,d0,e1,f1,g2,h2)、(a5,b5,c6,d6,e7,f7)、(e0,f0,g1,h1)、(h0,g0) 、(a6,b6,c7,d7)、(a7,b7)の１１組に画素をまとめる。この時の１次元ＤＣＴをかける画素列の組み合わせを図１２（ａ）に示す。変換係数をF(u)とすると、画素列(a0,b0,c1,d1,e2,f2,g3,h3)に関しては、数式(１９)のように基底長８の１次元ＤＣＴが行われる。  
【数１５】
2009272727.tif 000017
【００５９】
(ただし、f(0)=a0, f(1)=b0, f(2)=c1, f(3)=d1, f(4)=e2, f(5)=f2, f(6)=g3, f(7)=h3)
画素列(a1,b1,c2,d2,e3,f3,g4,h4)、(a2,b2,c3,d3,e4,f4,g5,h5)、(a3,b3,c4,d4,e5,f5,g6,h6)、(a4,b4,c5,d5,e6,f6,g7,h7)に関しても同じ演算が行われる。
【００６０】
次に、画素列(c0,d0,e1,f1,g2,h2)に関しては、数式(２０)のように基底長６の１次元ＤＣＴが行われる。  
【数１６】
2009272727.tif 000018
【００６１】
(ただし、f(0)=c0, f(1)=d0,f(2)=e1,f(3)=f1,f(4)=g2,f(5)=h2)
画素列(a5,b5,c6,d6,e7,f7)に関しても同じ演算が行われる。
【００６２】
次に、画素列(e0,f0,g1,h1)、(h0,g0) に関しては、画素列を折り返し結合して、数式(２１)のように基底長６の１次元DCTが行われる。  
【数１７】
2009272727.tif 000019
【００６３】
(ただし、f(0)=e0, f(1)=f0,f(2)=g1,f(3)=h1,f(4)=h0,f(5)=g0)
画素(a6,b6,c7,d7)、(a7,b7)に関しても同じ演算が行われる。
【００６４】
また、上記では、画素列(e0,f0,g1,h1)、(h0,g0)、(d7,c7,b6,a6)、(a7,b7)に対して、隣り合う画素列を結合して1次元ＤＣＴを行ったが、 (a0,b0,c1,d1,e2,f2,g3,h3)に対して行った１次元ＤＣＴ同様に、それぞれの画素列を結合せずに１次元ＤＣＴを行うことも可能である。この時の１次元ＤＣＴをかける画素列の組み合わせを図１２（ｂ）に示す。
【００６５】
予測モード６〜８の場合は、予測モード５の予測方向を回転もしくは反転したものと考えられるので、予測モード５の時と同様にしてＤＣＴ演算を行うことが可能である。  
また、上記説明では実数ＤＣＴ演算を用いたが、Ｈ．２６４で規定されているように整数演算でＤＣＴを行うことも可能である。
【００６６】
本実施の形態では、符号化対象のサブブロックのブロックサイズとして、４x４サイズと８x８サイズを用いたが、別の実施の形態として、４ｘ４サイズよりも小さいサイズのブロックや、８x８サイズよりも大きいサイズのブロックをサブブロックとして符号化処理を行うことも可能である。例えば、２x２サイズや１６x１６サイズのブロックで符号化処理を行っても構わない。
【００６７】
また、本実施の形態では、直交変換方法として、ＤＣＴを用いたが、別の実施の形態として、ＫＬＴ、ＤＳＴ、離散ウェーブレット変換(Discrete Wavelet Transform、以下ＤＷＴ)を用いることが可能である。
【００６８】
エントロピー符号化部１０６には、第１変換部１０２及び第１量子化部１０４又は第２変換部１０３及び第２量子化部１０５で生成された量子化変換係数１１７、そして符号化制御部１０７で生成された変換情報１１８が入力され、エントロピー符号化が行われる。モード判定によって最適と判定されたモードの変換情報１１８、変換係数１１７がエントロピー符号化され、符号化データ１２４が生成される。  
また、モード判定によって最適モードと判定された予測モードが平均予測、垂直方向又は水平方向の予測である場合、エントロピー符号化部１０６は変換情報１１８を符号化せず、量子化変換係数１１７のみをエントロピー符号化する。
【００６９】
量子化変換係数１１７は、逆変換方法選択スイッチ１０８に入力される。逆変換方法選択スイッチ１０８は、変換情報１１８の値に従ってスイッチが切り替えられ、量子化変換係数１１７は、第２逆量子化部１０９又は第１逆量子化部１１０に入力される。
【００７０】
第１逆量子化部１１０では図１３（ａ）のように、量子化変換係数１１７に対して水平垂直方向の逆ＤＣＴに対応した逆量子化が逆量子化器２１６によって行われ、変換係数はその後図１３（ｂ）のように、第１逆変換部１１２で水平垂直方向の逆ＤＣＴが逆ＤＣＴ器２１７によって行われ、復号予測誤差信号１１９が生成される。また、第２逆量子化部１０９では図１４（ａ）のように、量子化変換係数１１７は予測モード情報１２０の予測方向の逆ＤＣＴに対応した逆量子化が逆量子化器（２１９〜２２４）によって行われる。さらに変換係数は、図１４（ｂ）のように、第２逆変換部１１１で、逆ＤＣＴ器２２６〜２３１から選択された、予測モード情報１２０の予測方向に対応した逆ＤＣＴ器によって逆ＤＣＴが行われ、復号予測誤差信号１１９が生成される。  
復号予測誤差信号１１９は、予測部１１４で生成された予測画像信号１２１と加算され、参照メモリ１１３に蓄えられた後、参照画像信号１２２として予測部１１４に入力される。
【００７１】
以上が本実施の形態にかかる動画像符号化装置１００の構成である。以下、本実施の形態の動画像符号化方法について、動画像符号化装置１００が実施する場合を例にあげ、図１５のフローチャートを参照しながら説明する。
【００７２】
動画像符号化装置１００に、１フレーム毎に動画像信号が入力されると、入力された画像はマクロブロック毎又はマクロブロックペア毎に符号化が開始される(ステップS３０１)。マクロブロックを符号化するに当たって、サブブロックのインデックスをsub_blk=０に初期化し、同時にサブブロックの個数MAX_SUB_BLKをセットする(ステップS３０２)。
【００７３】
サブブロックのインデックスsub_blkがMAX_SUB_BLKより小さいかどうかを判別し、マクロブロック内のサブブロックにまだ符号化していないサブブロックが存在することを確認する(ステップS３０３)。ステップS３０３の判定が「Ｙｅｓ」の場合は、予測モードのインデックスをmode_idx＝０に初期化し、選択されうるモード数MAX_MODEをセットする(ステップS３０４)。
【００７４】
次に、mode_idxがMAX_MODEよりも小さいか否かを判定し(ステップS３０５)、ステップS３０５の判定が「Ｙｅｓ」の場合は、mode_idxの値に応じてtrans_idxをセットする。すなわち、mode_idxが斜め方向の予測モードを示すモード番号である場合は、trans_idx=０に設定し、mode_idxが斜め方向ではない予測モードを示すモード番号である場合は、trans_idxは生成されない(ステップS３０６)。さらに、予測部１１４にて、予測モードmode_idxにおける予測画像信号１２１が生成される(ステップS３０７)。予測部１１４で生成された予測画像信号１２１と入力画像信号１１５との差分をとることで、予測モードmode_idxにおける予測誤差信号１１６が求められる(ステップS３０８)。
【００７５】
次に、符号化制御部１０７は、予測部１１４で選択された予測モードmode_idxが、斜め方向の予測モードを示すモード番号のうち最小の値であるmode_directionよりも小さいか、又はtrans_idx==１かどうかを判別する(ステップS３０９)。ステップS３０９の判定における２つの条件のうちいずれかを満たす場合は変換方法選択スイッチ１０１を第１変換部１０２に切り替え、予測誤差信号１１６に対して水平垂直ＤＣＴが行われ(ステップS３１０)、その後変換係数は水平垂直ＤＣＴに対応した量子化が行われ、量子化変換係数１１７が生成される(ステップS３１２)。
【００７６】
ステップS３０９の判定における２つの条件をいずれも満たさない場合、選択スイッチ１０１を第２変換部１０３に切り替え、さらに予測モードmode_idxに従って、第２変換部１０３のスイッチ２０２は変換器２０３〜２０８を切り替える。スイッチ２０２により選択された変換器により予測誤差信号１１６に対して予測方向に応じたＤＣＴが行われる(ステップ３１１)。その後変換係数は、第２量子化部１０５において各ＤＣＴに対応した量子化が第２量子化部１０５の量子化器２１０〜２１５の対応する各量子化器によって行われ、量子化変換係数１１７が生成される(ステップS３１３)。
【００７７】
即ち、予測方向が垂直方向及び水平方向ではない場合のみ、垂直水平方向の変換方法と予測モードに従った予測方向の変換方法とを切替え、予測方向が垂直方向及び水平方向の場合、常に垂直水平方向の変換方法を選択する。要するに、予測方向が斜め方向の場合には、垂直水平方向の変換と斜め方向の変換とを行い、予測方向が垂直方向及び水平方向の場合には、垂直水平方向の変換のみを行う。
【００７８】
次に、量子化変換係数１１７と変換情報１１８は、エントロピー符号化部１０６で符号化される(ステップS３１４)。この際、mode_idx < mode_directionの場合は、変換情報trans_idxが生成されないので、変換情報１１８は符号化されず、変換係数１１７のみが符号化される。即ち、前記エントロピー符号化部１０６は、変換情報と変換係数を符号化する際に、予測モード情報が示す予測方向が垂直方向及び水平方向ではない場合のみ、変換係数に加えて変換情報を符号化し、予測モードが示す予測方向が垂直方向及び水平方向である場合は、変換情報は符号化せず、変換係数のみを符号化する。
【００７９】
ステップS３１４のエントロピー符号化の後、予測モードのＲＤコストを保存し(ステップS３１５)、その後、trans_idxが１かどうかを判定する(ステップS３１６)。ステップS３１６において、trans_idx==０だった場合は、trans_idxに１を足して(ステップS３１７)、ステップS３０９に戻り、予測モードmode_idxと変換情報trans_idxに基づいて再度分岐判定を行う。
【００８０】
ステップS３０９〜S３１５を経て、再度ステップS３１６においてtrans_idxが１かどうかの判定を行う。ステップS３１６の判定において、trans_idx==１だった場合はmode_idxに１を加算して、次の予測モードをセットする(ステップS３１８)。その後、セットした予測モードmode_idxがMAX_MODEより小さいか否かを確認し(ステップS３０５)、小さい場合ステップS３０６〜ステップS３１８の処理を行う。可能な全てのモードについて、ステップS３０６〜ステップS３１８までの処理を行った後、ステップS３０５でmode_idx<MAX_MODEの判定が「ＮＯ」と判定されると、サブブロックのインデックスsub_blkに１を加算して、次のサブブロックの符号化処理に移る(ステップS３１９)。次のサブブロックがMAX_SUB_BLKより小さいか否かを判定し(ステップS３０３)、ステップS３０３の判定が「Ｙｅｓ」の場合はステップS３０４〜ステップS３１９の処理を行う。全サブブロックについてステップS３０４〜ステップS３１９が終了した後、sub_blk<MAX_SUB_BLKの判定が「ＮＯ」と判定されると、各サブブロックについて求められた各モードのコスト関数を比較し、各ブロックの最適モードをロードし(ステップS３２０)、最適モードで符号化を行った際の符号化データをマクロブロックで多重化し、送出される(ステップS３２１)。
【００８１】
次に、本実施の形態で用いられるシンタクスの説明を行う。シンタクスの全体的な構造を図１８に示す。本実施の形態で用いられるシンタクスは、主に３つのパートからなり、High Level Syntaxはスライス以上の上位レイヤのシンタクス情報が詰め込まれている。Slice Level Syntaxはスライス毎に必要な情報が明記されており、Macroblock Level Syntaxはマクロブロック毎に必要とされる可変長符号化された誤差信号やモード情報が明記されている。  
シンタクスのそれぞれは、さらに詳細なシンタクスで構成されており、High Level Syntaxでは、Sequence parameter set syntaxとPicture parameter set syntaxなどのシーケンス、ピクチャレベルのシンタクスから構成されている。Slice Level Syntaxでは、Slice header syntax、Slice data syntaxなどから成る。さらに、Macroblock Level Syntaxは、Macroblock layer syntax、Macroblock prediction syntaxなどから構成されている。
【００８２】
本実施の形態で、必要となるシンタクス情報はシーケンスヘッダ、スライスヘッダ、マクロブロックヘッダであり、それぞれのシンタクスを以下で説明する。
【００８３】
図１９のシーケンスヘッダ内に示されるdirectional_dct_seq_flagは、符号化対象シーケンスで本実施の形態の直交変換方式を用いるかどうかを示すフラグであり、このフラグが１の場合、符号化対象シーケンスで本実施の形態の直交変換方式を使用することが可能である。次に、図２０のピクチャヘッダ内に示されるdirectional_dct_pic_flagは、ピクチャで本実施の形態の直交変換方式を用いるかどうかを示すフラグであり、このフラグが１の場合、ピクチャで本実施の形態の直交変換方式を用いることが可能となる。次に、図２１のスライスヘッダ内に示されるdirectional_dct_slice_flagは、スライスで本実施の形態の直交変換方式を用いるかどうかを示すフラグであり、このフラグが１の場合、スライスで本実施の形態の直交変換方式を用いることが可能となる。
【００８４】
図２２に示すようにマクロブロックヘッダ内には、マクロブロックレイヤ内のシンタクスとして、directional_dct4x4_mode_flag、directional_dct8x8_mode_flagの二つのフラグを持つ。本実施の形態では、マクロブロックがイントラマクロブロックであり、directional_dct_seq_flag、directional_dct_pic_flag、directional_dct_slice_flagのいずれかが１である場合、マクロブロック中のサブブロックが４x４ブロックであればdirectional_dct_4x4_mode_flagを、サブブロックが８x８ブロックであればdirectional_dct8x8_mode_flagをマクロブロックにつき１ビット生成する。これら二つのフラグは、直交変換が水平垂直ＤＣＴを行っているのか、又は予測方向に依存したＤＣＴを行っているのかを示す変換情報であり、それぞれのフラグが１を示す場合は、水平垂直ＤＣＴが行われていることを示し、０を示す場合は予測方向に依存したＤＣＴが行われていることを示す。
【００８５】
本実施の形態では、マクロブロックごとに、直交変換が水平垂直ＤＣＴを行っているのか、又は予測方向に依存したＤＣＴを行っているのかを示す変換情報を決定するが、別の実施の形態として、サブブロックごとに変換情報を決定したり、さらにはサブブロック単位で補助情報に従って変換情報を決定したりする方法が考えられる。
【００８６】
上述のように第１の実施の形態によると、各ブロックに対して、従来のH.２６４の変換方式に加えて、変換方向をイントラ予測が行われる方向に限定して１次元ＤＣＴをかける。また、斜め方向に１次元DCTをかける際には、イントラ予測の方向を考慮して画素を折り返すことで、基底長の長い１次元DCTをかける。また、予測方向に１次元DCTをかける際は、予測方向に１回だけ１次元DCTをかける。即ち、予測方向が斜め方向の場合、垂直水平変換と予測方向の斜め変換との２つを行い、斜め方向の変換を予測方向に対応する一種類に絞り、垂直水平変換結果と予測方向に合わせた斜め方向の変換結果とを比較して最適な変換方法を採用する。
【００８７】
[第２の実施の形態]
次に、第２の実施の形態について説明する。本実施の形態における動画像符号化装置の全体的な構成は、第１の実施形態とほぼ同様であるため、第1の実施の形態との相違点のみを説明する。第１の実施の形態では、本実施の形態の直交変換方式を用いるかどうかを、マクロブロックごとに、直交変換が水平垂直ＤＣＴを行っているのか、又は予測方向に依存したＤＣＴを行っているのかを示す変換情報を決定するが、本実施の形態では、変換情報を、サブマクロブロック単位で切り替える。本実施の形態におけるマクロブロックヘッダ内のシンタックスの構造を図２３に示す。
【００８８】
本実施の形態では、マクロブロックがイントラマクロブロックであり、directional_dct_seq_flag、directional_dct_pic_flag、directional_dct_slice_flagのいずれかが１である場合、マクロブロック中のサブブロックが４x４ブロックであればdirectional_dct_4x4_mode_flagを、サブブロックが８x８ブロックであればdirectional_dct8x8_mode_flagをサブマクロブロックにつき１ビット生成する。すなわち、マクロブロックが４x４変換を行う場合は、１マクロブロック中に１６個のdirectional_dct4x4_mode_flagが存在し、８x８変換を行う場合は１マクロブロック中に４個のdirectional_dct8x8_mode_flagが存在する。
【００８９】
[第３の実施の形態]
次に、本発明の第３の実施の形態について説明する。本実施の形態における動画像符号化装置の全体的な構成は、第２の実施形態とほぼ同様であるため、第２の実施の形態との相違点のみを説明する。本実施の形態では、第２の実施の形態と同様にして、マクロブロックがイントラマクロブロックであり、directional_dct_seq_flag、directional_dct_pic_flag、directional_dct_slice_flagのいずれかが１である場合、マクロブロック中のサブブロックが４x４ブロックであればdirectional_dct_4x4_mode_flagを、サブブロックが８x８ブロックであればdirectional_dct8x8_mode_flagをサブブロックにつき１ビットを生成する。この際に、第２の実施の形態とは異なり、全てのサブブロックにフラグを作成するのではなく、予測モード情報やサブブロックに非ゼロ係数が含まれるかを表すcoded_block_patternの補助情報を用いて、サブブロックにフラグを生成するかどうかを決定する。本実施の形態におけるマクロブロックヘッダ内のシンタックスの構造を図２４に示す。intra8x8_pred_mode、intra4x4_pred_modeはそれぞれ、８x８ブロックと４x４ブロックの予測モードを表す値で、予測方向と予測モードの値の関係は図３の値と同様である。符号化の際に、予測モードが示す予測の方向が垂直方向、水平方向、ＤＣ方向である場合、さらにサブブロックが含まれる８x８画素ブロックにおいて、Coded_Block_Patternから非ゼロ係数を持たないと判定される場合は、予測方向に依存した変換を行う必要がないので、directional_dct4x4_mode_flag、又はdirectional_dct8x8_mode_flagは生成されない。
【００９０】
[第４の実施の形態]
図１６は、第４の実施形態に係わる動画像復号化装置４００の構成を示すブロック図である。本実施形態に係る動画像復号化装置４００は、符号化データから変換係数、予測モード情報、変換情報を解析するエントロピー復号部４０１と、解析された変換情報から逆量子化及び逆変換方法を選択する逆変換方法選択スイッチ４０２と、予測モード情報から得られる予測の方向に対応した逆量子化及び逆変換を行う逆量子化変換部４０３〜４０６とを備えている。
【００９１】
図１６において、動画像符号化装置１００から送出され、伝送系又は蓄積系を経て送られてきた符号化データ４０９は、多重化分離器（図示せず）により１フレーム毎にシンタクスに基づいて分離された後、エントロピー復号部４０１に入力される。エントロピー復号部４０１では、符号化データの各シンタクスの可変長符号が復号され、変換情報４１０、予測モード情報４１１、量子化変換係数４１２などが再生される。
【００９２】
量子化変換係数は、逆変換方法選択スイッチ４０２に入力され、エントロピー復号部４０１で復号された変換情報４１０に基づいて、第１逆量子化部４０３、第２逆量子化部４０４のいずれかに接続される。第１逆量子化部４０３に接続された場合、水平垂直ＤＣＴに対応した逆量子化方法で、量子化変換係数は逆量子化される。一方、第２逆量子化部４０４に接続された場合、エントロピー復号部４０１で再生された予測モード情報４１１によって、逆量子化方法が逆量子化器２１９〜２２４から選択され、予測モード情報が示す予測方向のＤＣＴに対応した逆量子化が行われる。第１逆量子化部４０３又は第２逆量子化部４０４で逆量子化された変換係数は、対応する第１逆変換部４０５又は第２逆変換部４０６に入力される。第１逆変換部４０５では、水平垂直逆ＤＣＴが行われ、第２逆変換部４０６では、予測モード情報４１１によって、逆ＤＣＴの方法が逆ＤＣＴ器２２６〜２３１から選択され、予測モードが示す予測方向に依存した逆ＤＣＴが行われ、復号予測誤差信号４１３が出力される。
【００９３】
参照メモリ４０７に蓄積されていた参照画像４１４と予測モード情報４１１を用いて、予測部４０８で予測画像４１５が生成される。復号予測誤差信号４１３と予測画像４１５を足し合わせることで復号画像信号が生成され、参照メモリ４０７に蓄積された後、再生画像として出力される。
【００９４】
また、本実施の形態では、直交逆変換方法として、ＩＤＣＴを用いたが、別の実施の形態として、ＫＬＴ、ＤＳＴ、ＤＷＴの逆変換を用いることが可能である。
【００９５】
以上が本実施の形態にかかる動画像復号化装置４００の構成である。以下、本発明にかかる本実施の形態の動画像復号化方法について、動画像復号化装置４００が実施する場合を例にあげ、図１７のフローチャートを参照しながら説明する。
【００９６】
動画像復号化装置４００が、１フレーム毎に動画像符号化データを取得する(ステップS５０１)と、入力された動画像符号化データはマクロブロック毎、或いはマクロブロックペア毎に復号化が開始される。符号化データはまず、エントロピー復号部４０１に入力され、符号化データの各シンタクスの可変長符号が復号され、変換情報４１０、予測モード情報４１１、量子化変換係数４１２などが再生される(ステップＳ５０２)。さらに、ステップＳ５０２で復号されたデータから、シンタックスの解析を行う(ステップＳ５０３)。
【００９７】
次に、サブブロックのインデックスをsub_blk=０に初期化する（ステップＳ５０４）。sub_blkがマクロブロックのサブブロック数MAX_SUB_BLKよりも小さいかどうかを判定し(ステップＳ５０５)、小さい場合はステップS５０３で解析したシンタックスから、予測モード情報mode_idx、変換情報trans_idxをロードする(ステップＳ５０６)。その後予測部４０８は、ステップS５０６でロードした予測モードmode_idxの予測画像を生成する(Ｓ５０７)。
【００９８】
次に、予測モードmode_idxが斜め方向の予測を示す最も小さい予測モード番号mode_directionよりも小さいか、又はtrans_idx==１であるかどうかを判定する(ステップＳ５０８)。ステップS５０８の判定が「Ｙｅｓ」であれば、水平垂直ＤＣＴに対応した逆量子化が行われ(ステップＳ５０９)、その後水平垂直逆ＤＣＴが行われる(ステップＳ５１１)。ステップＳ５０８の判定が「ＮＯ」であれば、イントラ予測方向のＤＣＴに対応した逆量子化が行われ(ステップＳ５１０)、その後イントラ予測方向に依存した逆ＤＣＴが行われる(ステップＳ５１２)。その後、復号された誤差信号と予測画像が合成され(ステップＳ５１３)、参照メモリ４０７に蓄積される(ステップＳ５１４)。その後、サブブロックのインデックスsub_blkに１を加算して、ステップS５０５に戻る。ステップS５０５の判定が、「ＮＯ」である場合、マクロブロックの全サブブロックの復号化が終了し、復号画像を出力する(ステップＳ５１６)。
【００９９】
即ち、予測方向が斜め方向の場合、復号された変換情報から垂直水平逆変換又は予測方向の斜め逆変換のいずれか1つの逆変換を行い、予測方向が斜めでは無い場合、常に垂直水平逆変換を行う。
【０１００】
次に本実施の形態で用いられるシンタクスの説明を行う。シンタクスの全体的な構造を図１８に示す。本実施の形態で用いられるシンタクスは、主に３つのパートからなり、High Level Syntaxはスライス以上の上位レイヤのシンタクス情報が詰め込まれている。Slice Level Syntaxはスライス毎に必要な情報が明記されており、Macroblock Level Syntaxはマクロブロック毎に必要とされる可変長符号化された誤差信号やモード情報が明記されている。  
これらシンタックスのそれぞれは、さらに詳細なシンタクスで構成されており、High Level Syntaxでは、Sequence parameter set syntaxとPicture parameter set syntaxなどのシーケンス、ピクチャレベルのシンタクスから構成されている。Slice Level Syntaxでは、Slice header syntax、Slice data syntaxなどから成る。さらに、Macroblock Level Syntaxは、Macroblock layer syntax、Macroblock prediction syntaxなどから構成されている。
【０１０１】
本実施の形態で、必要となるシンタクス情報はシーケンスヘッダ、スライスヘッダ、マクロブロックヘッダであり、それぞれのシンタクスを以下で説明する。  
図１９のシーケンスヘッダ内に示されるdirectional_dct_seq_flagは、符号化対象シーケンスで本実施の形態の直交変換方式を用いるかどうかを示すフラグであり、このフラグが１の場合、符号化対象シーケンスで本実施の形態の直交変換方式を使用することが可能である。次に、図２０のピクチャヘッダ内に示されるdirectional_dct_pic_flagは、ピクチャで本実施の形態の直交変換方式を用いるかどうかを示すフラグであり、このフラグが１の場合、ピクチャで本実施の形態の直交変換方式を用いることが可能となる。次に、図２１のスライスヘッダ内に示されるdirectional_dct_slice_flagは、スライスで本実施の形態の直交変換方式を用いるかどうかを示すフラグであり、このフラグが１の場合、スライスで本実施の形態の直交変換方式を用いることが可能となる。
【０１０２】
図２２に示すようにマクロブロックヘッダ内には、マクロブロックレイヤ内のシンタクスとして、directional_dct4x4_mode_flag、directional_dct8x8_mode_flagの二つのフラグを持つ。本実施の形態では、マクロブロックがイントラマクロブロックであり、directional_dct_seq_flag、directional_dct_pic_flag、directional_dct_slice_flagのいずれかが１である場合、マクロブロック中のサブブロックが４x４ブロックであればdirectional_dct_4x4_mode_flagを、サブブロックが８x８ブロックであればdirectional_dct8x8_mode_flagをマクロブロックにつき１ビット生成する。この二つのフラグは、直交変換が水平垂直ＤＣＴを行っているのか、又は予測方向に依存したＤＣＴを行っているのかを示す変換情報であり、それぞれのフラグが１を示す場合は、水平垂直ＤＣＴが行われていることを示し、０を示す場合は予測方向に依存したＤＣＴが行われていることを示す。
【０１０３】
本実施の形態では、マクロブロックごとに、直交変換が水平垂直ＤＣＴを行っているのか、又は予測方向に依存したＤＣＴを行っているのかを示す変換情報を決定するが、別の実施の形態として、サブブロックごとに変換情報を決定したり、サブブロック単位で補助情報に従って変換情報を決定したりする方法が考えられる。
【０１０４】
[第５の実施の形態]
次に本発明の第５の実施の形態について説明する。本実施の形態における動画像復号化装置の全体的な構成は、第４の実施形態とほぼ同様であるため、第４の実施の形態との相違点のみを説明する。
【０１０５】
第４の実施の形態では、本実施の形態の直交変換方式を用いるかどうかを、マクロブロックごとに、直交変換が水平垂直ＤＣＴを行っているのか、又は予測方向に依存したＤＣＴを行っているのかを示す変換情報を決定するが、本実施の形態では、変換情報を、サブマクロブロック単位で切り替える。
【０１０６】
本実施の形態におけるマクロブロックヘッダ内のシンタックスの構造を図２３に示す。本実施の形態では、マクロブロックがイントラマクロブロックであり、directional_dct_seq_flag、directional_dct_pic_flag、directional_dct_slice_flagのいずれかが１である場合、マクロブロック中のサブブロックが４x４ブロックであればdirectional_dct_4x4_mode_flagを、サブブロックが８x８ブロックであればdirectional_dct8x8_mode_flagをサブマクロブロックにつき１ビットを生成する。すなわち、マクロブロックが４x４変換を行う場合は、１マクロブロック中に１６個のdirectional_dct4x4_mode_flagが存在し、８x８変換を行う場合は１マクロブロック中に４個のdirectional_dct8x8_mode_flagが存在する。
【０１０７】
[第６の実施の形態]
次に、本発明の第６の実施の形態について説明する。本実施の形態における動画像復号化装置の全体的な構成は、第５の実施の形態とほぼ同様であるため、第５の実施の形態との相違点のみを説明する。
【０１０８】
本実施の形態では、第５の実施の形態と同様にして、マクロブロックがイントラマクロブロックであり、directional_dct_seq_flag、directional_dct_pic_flag、directional_dct_slice_flagのいずれかが１である場合、マクロブロック中のサブブロックが４x４ブロックであればdirectional_dct_4x4_mode_flagを、サブブロックが８x８ブロックであればdirectional_dct8x8_mode_flagをサブブロックにつき１ビットを生成する。この際に、第５の実施の形態とは異なり、全てのサブブロックにフラグを作成するのではなく、予測モード情報やサブブロックに非ゼロ係数が含まれるかを表すcoded_block_patternの補助情報を用いて、サブブロックにフラグを生成するかどうかを決定する。
【０１０９】
本実施の形態におけるマクロブロックヘッダ内のシンタックスの構造を図２４に示す。intra8x8_pred_mode、intra4x4_pred_modeはそれぞれ、８x８ブロックと４x４ブロックの予測モードを表す値で、予測方向と予測モードの値の関係は図３の値と同様である。符号化の際に、予測モードが示す予測の方向が垂直方向、水平方向、ＤＣ方向である場合、さらにサブブロックが含まれる８x８画素ブロックにおいて、Coded_Block_Patternから非ゼロ係数を持たないと判定される場合は、予測方向に依存した変換を行う必要がないので、directional_dct4x4_mode_flag、又はdirectional_dct8x8_mode_flagは生成されない。復号化器は、復号化したデータの中に、directional_dct4x4_mode_flag、又はdirectional_dct8x8_mode_flagが存在しない場合、directional_dct4x4_mode_flag、又はdirectional_dct8x8_mode_flagの値が１であるとして、その後の復号化処理を行う。
【図面の簡単な説明】
【０１１０】
【図１】第１の実施の形態に従う画像符号化装置の構成を示すブロック図。
【図２】Ｈ．２６４におけるマクロブロックと各サイズのサブブロックの関係を示す図。
【図３】Ｈ．２６４イントラ予測の全予測モードを示す図。
【図４】Ｈ．２６４イントラ予測の予測方向示す図。
【図５】第1の実施の形態に係わる第１変換部、第１量子化部の構造を示す図。
【図６】同実施の形態に係わる第２変換部、第２量子化部の構造を示す図。
【図７】同実施の形態に係わる４ｘ４画素サブブロック。
【図８】同実施の形態に係わる１次元ＤＣＴ方法（４ｘ４ブロック、予測モード３）を示す図
【図９】同実施の形態に係わる１次元ＤＣＴ方法（４ｘ４ブロック、予測モード５）を示す図
【図１０】同実施の形態に係わる８ｘ８画素サブブロックを示す図。
【図１１】同実施の形態に係わる１次元ＤＣＴ方法（８ｘ８ブロック、予測モード３）を示す図
【図１２】同実施の形態に係わる１次元ＤＣＴ方法（８ｘ８ブロック、予測モード５）を示す図
【図１３】同実施の形態に係わる第１逆変換部、第１逆量子化部の構造を示す図。
【図１４】同実施の形態に係わる第２逆変換部、第２逆量子化部の構造を示す図。
【図１５】同画像符号化装置による動画像符号化方法の処理フローチャート。
【図１６】本発明の第１の実施の形態に従う画像復号化装置の構成を示すブロック図。
【図１７】同画像復号化装置による動画像復号化方法の処理フローチャート。
【図１８】同実施の形態に係わる全体的なシンタクス構造の概略を示す図。
【図１９】第１、第４の実施の形態に係わるシーケンスヘッダのデータ構造の概略を示す図。
【図２０】第１、第４の実施形態に係わるピクチャヘッダのデータ構造の概略を示す図。
【図２１】第１、第４の実施形態に係わるスライスヘッダのデータ構造の概略を示す図。
【図２２】第１、第４の実施形態に係わるマクロブロックヘッダのデータ構造概略を示す図。
【図２３】第２、第５の実施形態に係わるマクロブロックヘッダのデータ構造概略を示す図。
【図２４】第３、第６の実施形態に係わるマクロブロックヘッダのデータ構造概略を示す図。
【符号の説明】
【０１１１】
１００…動画像符号化装置、１０１…変換方法選択スイッチ、１０２…第1変換部、１０３…第２変換部、１０４…第１量子化部、１０５…第２量子化部、１０６…エントロピー符号化部、１０７…符号化制御部、１０８…逆変換方法選択スイッチ、１０９…第２逆量子化部、１１０…第１逆量子化部、１１１…第２逆変換部、１１２…第１逆変換部、１１３…参照メモリ、１１４…予測部、１１５…入力画像信号、１１６…予測誤差信号、１１７…量子化変換係数、１１８…変換情報、１１９…復号予測誤差信号、１２０…予測モード情報、１２１…予測画像信号、１２２…参照画像信号、１２４…符号化データ、２００…水平垂直ＤＣＴ器、２０１…水平垂直ＤＣＴ用量子化器、２０２…スイッチ、２０３〜２０８…ＤＣＴ器、２１０〜２１５…量子化器、２１６…水平垂直ＤＣＴ用逆量子化器、２１７…水平垂直逆ＤＣＴ器、２１８…スイッチ、２１９〜２２４…逆量子化器、２２５…スイッチ、２２６〜２３１…逆ＤＣＴ器、４０１…エントロピー復号部、４０２…逆変換方法選択スイッチ、４０３…第１逆量子化部、４０４…第２逆量子化部、４０５…第１逆変換部、４０６…第２逆変換部、４０７…参照メモリ、４０８…予測部、４０９…符号化データ、４１０…変換情報、４１１…予測モード情報、４１２…量子化変換係数、４１３…復号予測誤差信号、４１４…参照画像、４１５…予測画像、４１６…復号画像信号、４１７…復号化制御部
【図１】
2009272727.tif 000020
【図２】
2009272727.tif 000021
【図３】
2009272727.tif 000022
【図４】
2009272727.tif 000023
【図５】
2009272727.tif 000024
【図６】
2009272727.tif 000025
【図７】
2009272727.tif 000026
【図８】
2009272727.tif 000027
【図９】
2009272727.tif 000028
【図１０】
2009272727.tif 000029
【図１１】
2009272727.tif 000030
【図１２】
2009272727.tif 000031
【図１３】
2009272727.tif 000032
【図１４】
2009272727.tif 000033
【図１５】
2009272727.tif 000034
【図１６】
2009272727.tif 000035
【図１７】
2009272727.tif 000036
【図１８】
2009272727.tif 000037
【図１９】
2009272727.tif 000038
【図２０】
2009272727.tif 000039
【図２１】
2009272727.tif 000040
【図２２】
2009272727.tif 000041
【図２３】
2009272727.tif 000042
【図２４】
2009272727.tif 000043