以下、図面を参照しながら本発明の実施の形態に係る動画像符号化装置及び動画像復号化装置について詳細に説明する。なお、以下の実施の形態では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
以下、第1の実施の形態から第8の実施の形態を図面に基づき説明する。第1の実施の形態、第2の実施の形態、第3の実施の形態及び第4の実施の形態は動画像符号化装置による実施の形態であり、第5の実施の形態、第6の実施の形態、第7の実施の形態及び第8の実施の形態は動画像復号化装置による実施の形態である。
以下の実施の形態で説明する動画像符号化装置は、入力画像信号を構成する各々のフレームを複数の画素ブロックに分割し、これら分割した画素ブロックに対して符号化処理を行って圧縮符号化し、符号列を出力する装置である。
先ず、動画像符号化装置に関する第1から第4の実施の形態について述べる。
[第1の実施の形態]
本実施の形態を用いる符号化手法を実現する動画像符号化装置100について図1を参照して説明する。
図1の動画像符号化装置100は、符号化制御部116から入力される符号化パラメータに基づいて、入力画像信号118に対するイントラ予測(画面内予測、又はフレーム内予測)或いはインター予測(画面間予測、又はフレーム間予測)符号化処理を行い、予測画像信号127を生成し、入力画像信号118と予測画像信号127との差分信号を直交変換・量子化し、エントロピー符号化を行って符号化データ130を出力する。
動画像符号化装置100は、動画像又は静止画像の入力画像信号118を、画素ブロック単位、例えばマクロブロック単位に分割して入力する。入力画像信号118は、フレーム及びフィールドの両方を含む1つの符号化の処理単位である。なお、本実施の形態では、フレームを1つの符号化の処理単位とする例について説明する。
動画像符号化装置100は、ブロックサイズや予測画像信号127の生成手法の異なる複数の予測モードによる符号化を行う。予測画像信号127の生成手法は、具体的には大きく分けて符号化対象のフレーム内だけで予測画像を生成するイントラ予測(フレーム内予測又は画面内予測)と、時間的に異なる複数の参照フレームを用いて予測を行うインター予測(フレーム間予測又は画面間予測)とがある。本実施の形態では、イントラ予測を用いて予測画像信号を生成する例について詳細に説明する。
第1の実施の形態から第4の実施の形態では、説明を簡単にするために図2Aに示されているように左上から右下に向かって符号化処理がなされていくものとする。図2Aでは、符号化処理をされている符号化フレームfにおいて、符号化対象となるブロックcよりも左及び上に位置するブロックが、符号化済みブロックpである。
第1の実施の形態から第4の実施の形態では、マクロブロックを符号化処理の基本的な処理ブロックサイズとする。マクロブロックは、典型的に例えば図2Bに示す16×16画素ブロックであるが、32×32画素ブロック単位であっても8×8画素ブロック単位であってもよい。またマクロブロックの形状は必ずしも正方格子である必要はない。以下、入力画像信号118の符号化対象ブロックもしくはマクロブロックを単に「予測対象ブロック」という。
動画像符号化装置100は、減算器101、直交変換部102、量子化部103、逆量子化部104、逆直交変換部105、加算器106、参照画像メモリ107、イントラ予測画像生成部108、インター予測画像生成部109、予測選択部110、予測選択スイッチ111、イントラ予測分類部112、係数順制御部113、エントロピー符号化部114を有する。動画像符号化装置100は、符号化制御部116に接続されている。
次に、動画像符号化装置100における符号化の流れを説明する。
まず、入力画像信号118が、減算器101へ入力される。減算器101には、予測選択スイッチ111から出力された各々の予測モードに応じた予測画像信号127が更に入力される。減算器101は、入力画像信号118から予測画像信号127を減算した予測誤差信号119を算出する。予測誤差信号119は直交変換部102へと入力される。
直交変換部102は、予測誤差信号119に対して、例えば離散コサイン変換(DCT)のような直交変換を施す機能を有する。イントラ予測分類部112から入力された変換基底選択情報129に従って直交変換を行い、変換係数120を生成する。生成された変換係数120は量子化部103へと入力される。ここではDCTを用いる例を示したが、アダマール変換や後述するカルーネン・レーベ変換、離散サイン変換などの直交変換を使ってもよい。量子化部103では、符号化制御部116によって与えられる量子化の細かさを示す量子化パラメータ、量子化の細かさを変換係数の成分毎に重み付けする量子化マトリクス等に代表される量子化情報に従って変換係数120を量子化する。量子化部103は、量子化変換係数121を、係数順制御部113に出力し、更に逆量子化部104に出力する。
係数順制御部113は、予測選択部110から出力される予測情報126に含まれる予測モード128を基に量子化変換係数121の2次元データを1次元データに変換する機能を有する。代表的なスキャン順として例えば、ジグザグスキャンなどが挙げられる。1次元データに変換された量子化変換係数121は、量子化変換係数列117となり、エントロピー符号化部114へと入力される。
エントロピー符号化部114は、量子化変換係数列117に対してエントロピー符号化、例えばハフマン符号化や算術符号化などを行う。エントロピー符号化部114は、更に、予測選択部110から出力される予測情報126や、符号化制御部116から出力された量子化情報、対象ブロックを符号化したときに用いた様々な符号化パラメータに対してエントロピー符号化を行う。これにより、符号化データ130が生成される。
なお、符号化パラメータとは、予測情報、変換係数に関する情報、量子化に関する情報等の復号の際に必要となるパラメータである。なお、予測対象ブロックの符号化パラメータは、符号化制御部116が持つ内部メモリ(図示せず)に保持され、予測対象ブロックが他の画素ブロックの隣接ブロックとして用いられる際に利用される。
エントロピー符号化部114により生成された符号化データ130は、動画像符号化装置100から出力され、多重化などを経て出力バッファ115に一旦蓄積された後、符号化制御部116が管理する適切な出力タイミングに従って符号化データ130として出力される。符号化データ130は、例えば、図示しない蓄積系(蓄積メディア)又は伝送系(通信回線)へ送出される。
逆量子化部104は、量子化部103から出力された量子化変換係数121に対して逆量子化処理が行われる。ここでは、量子化部103で使用された量子化情報に対応する量子化情報が、符号化制御部116の内部メモリからロードされて逆量子化処理が行われる。なお、量子化情報は、例えば、上記の量子化パラメータ、上記の量子化マトリクス等に代表されるパラメータである。逆量子化処理が施された量子化変換係数121は、逆量子化変換係数122となり、逆直交変換部105へと入力される。
逆直交変換部105では、逆量子化変換係数122に対し、イントラ予測分類部112から入力された変換基底選択情報129に従って、逆直交変換が施されることによって、復元予測誤差信号123が再生される。逆直交変換部105は、例えば、直交変換部102でDCTが行われている場合、逆離散コサイン変換(IDCT)のような逆直交変換を施す。ここではIDCTを用いる例を示したが、直交変換部102でアダマール変換、後述するカルーネン・レーベ変換、離散サイン変換などの直交変換が使われている場合、これらの直交変換基底を用いて逆変換を行う。
復元予測誤差信号123は、加算器106に入力される。加算器106では、復元予測誤差信号123と予測選択スイッチ111から出力された予測画像信号127とが加算されることにより、復号画像信号124が生成される。復号画像信号124は局所復号画像信号である。復号画像信号124は、参照画像メモリ107に参照画像信号125として蓄積される。参照画像メモリ107に蓄積された参照画像信号125は、イントラ予測画像生成部108、インター予測画像生成部109等に出力され予測の際などに参照される。
参照画像メモリ107に蓄えられている参照画像信号125は、イントラ予測画像生成部108へと出力される。イントラ予測画像生成部108では、入力された参照画像信号125を利用して、イントラ予測を行う機能を有する。例えば、H.264では、予測対象ブロックに隣接する既に符号化済みの参照画素値を利用して、垂直方向、水平方向などの予測方向に順じて画素補填を行うことによって予測画像を生成する。図3AにH.264におけるイントラ予測の予測方向を示す。また、図3BにH.264における参照画素と符号化対象画素の配置を示す。更に図3C及び図3Dに水平予測及び直交右下予測の予測例を示す。更に図7A及び図7BにH.264における予測モードと予測名称の関係を示す。なお、予め定められた補間手法を用いて画素値を補間した後に、予め定められた予測方向に補間画素値をコピーしてもよい。
インター予測画像生成部109では、予測対象ブロックと参照画像信号125を基にブロックマッチング処理を行って動きのズレ量(動きベクトル)を算出し、この動きベクトルを基に補間処理を行って予測画像信号を作成する機能を有する。H.264では、1/4画素精度までの補間画像処理が可能である。算出した動きベクトルは予測情報126としてエントロピー符号化される。
予測選択スイッチ111は、イントラ予測画像生成部108の出力端とインター予測画像生成部109の出力端を、予測情報126に従って選択する機能を有する。予測情報126に示される情報がイントラ予測である場合はスイッチをイントラ予測画像生成部108へと接続する。一方、予測情報126がインター予測である場合はスイッチをインター予測画像生成部109へと接続する。なお、予測情報126の例は後述する。
作成された予測画像信号127は、予測選択スイッチ111へと出力される。また、予測画像信号127を生成した際に利用した予測モード128は符号化制御部116が制御している。例えば、イントラ予測画像生成部108で、イントラ予測が行われる際には、符号化制御部116から、予測モード128がイントラ予測画像生成部108へと与えられ、この値に従って予測画像信号127が生成される。例えば、イントラ予測を行う際に、符号化制御部116は、予測モード128の番号が小さい方から、順にイントラ予測を行ってもよいし、大きい方から予測してもよいし、入力画像の特性に従って予測モードを限定してもよい。また、全ての予測モードに対して予測画像信号127を生成する必要はなく、入力画像の特性に従って予測モードを限定してもよいし、符号化対象ブロックに対して少なくとも1つの予測画像信号127を生成すればよい。
予測選択部110は、符号化制御部116が制御する予測モードに従って、予測情報126を設定する機能を有する。予測モードとして、イントラ予測やインター予測が選択可能であり、それぞれに対して複数のモードが存在してもよい。予測モードの判定について、より具体的に説明すると、次式のようなコストを用いて予測情報126(或いは予測モード128)を決定する。この予測モード128を選択した際に必要となる予測情報126に関する符号量(例えば動きベクトルの符号量や予測ブロックサイズの符号量など)をOH、入力画像信号118と予測画像信号127の差分絶対和(予測誤差信号119の絶対累積和を意味する)をSADとすると、以下の判定式を用いる。
ここでKはコスト、λは定数をそれぞれ表す。λは量子化パラメータの値に基づいて決められるラグランジュ未定乗数である。本判定式では、コストKが最も小さい値を与えるモードが最適な予測モードとして選択される。
式(1)に代えて(a)予測情報のみ、(b)SADのみ、を用いて予測情報126を決定してもよいし、(b)にアダマール変換などを施した値、又はそれに近似した値を利用してもよい。
更に別の例として、仮符号化ユニットを用意し、仮符号化ユニットによりある予測モードで生成された予測誤差信号119を実際に符号化した場合の符号量と、入力画像信号118と復号画像信号124との間の二乗誤差を用いて予測情報126を決定してもよい。この場合の判定式は、以下のようになる。
ここで、Jは符号化コスト、Dは入力画像信号118と復号画像信号124との間の二乗誤差を表す符号化歪みである。一方、Rは仮符号化によって見積もられた符号量を表している。
式(2)の符号化コストJを用いると、予測モード毎に仮符号化と局部復号処理が必要となるため、回路規模又は演算量は増大する。反面、より正確な符号量と符号化歪みを用いるため、高い符号化効率を維持することができる。式(2)に代えてRのみ、又はDのみを用いてコストを算出してもよいし、R又はDを近似した値を用いてコスト関数を作成してもよい。
イントラ予測分類部112は、入力されてきた予測モード128を基に直交変換で用いる変換基底選択情報129を生成する機能を有する。
以上が、本発明の本実施の形態における動画像符号化装置100の概略である。続いて、図5、図6を用いて直交変換部102と逆直交変換部105の詳細説明を行い、図7を用いてイントラ予測分類部112の詳細説明を行う。更に図8を用いて係数順制御部113について詳細説明を行う。
図5の直交変換部102は、第一直交変換部501及び第二直交変換部502と、基底選択スイッチ503とを有する。図5は、動画像符号化装置100が有する直交変換部102のブロック図である。
先ず、基底選択スイッチ503について説明する。基底選択スイッチ503は、減算器101の出力端を、入力された変換基底選択情報129に従って選択する機能を有する。変換基底選択情報129が第一直交変換である場合は、基底選択スイッチ503はスイッチを第一直交変換部501に接続する。一方、変換基底選択情報129が第二直交変換である場合は、基底選択スイッチ503は出力端を第二直交変換部502に接続する。なお、変換基底選択情報129の例は後述する図7Bに示されている。
次に第一直交変換部501の処理について具体的に説明する。H.264などで用いられているイントラ予測は、符号化対象ブロックに隣接する参照画素を予測方向にコピーするため、生成された予測誤差信号119には、方向依存性が生じる。本実施の形態によれば、予測モード毎に予測方向が決まっているため、予測方向毎に発生する予測誤差を直交変換した際の変換後の係数集密度が変換前よりも高くなるように、予め変換基底を設計することで、変換効率を高めることが可能である。
例えば、二次元の分離型直交変換は次式で表される。
A、BTはそれぞれ行列を表す変換行列であり、Tは転置行列を意味する。Xは変換前の入力行列、Yは変換後の出力行列である。画像信号をNxNの行列とすると、A、BTはそれぞれNxNの変換行列となる。
ここで、直交変換を整数精度で行うために変換行列の整数化を行ってもよい。この場合の直交変換は次式となる。
ここでC、DTは整数化された変換行列であり、Sはスケーリングのために用いられる正規化行列である。ここで下記の記号は、行列の要素同士の乗算を行う演算子である。
例えば、符号化対象ブロックを水平予測(モード1)として、予測画像信号127を生成し、作成された予測誤差信号119を入力サンプルとして変換行列Aを設計した場合、この変換行列を用いて、同じ入力サンプルを直交変換したときの係数集密度は、DCTなどと比較して高くなる。第一直交変換部501では、入力された予測誤差信号119に対して、例えば水平方向(モード1)で設計した変換行列を用いて直交変換を行う。予測誤差信号119は第一直交変換部501で直交変換されて変換係数120となり、量子化部103へと入力される。この手法で設計された直交変換を用いる手法を方向考慮型直交変換と呼ぶ。
次に、第二直交変換部502について説明する。第二直交変換部502は、例えばDCTを用いて直交変換を行う。予測誤差信号119は直交変換されて変換係数120となり、量子化部103へと入力される。また、垂直予測(モード0)などを用いて設計した変換基底を用いて直交変換を行ってもよい。
図6の逆直交変換部105は、第一逆直交変換部601と第二逆直交変換部602、基底選択スイッチ603を有する。先ず、基底選択スイッチ603について説明する。基底選択スイッチ603は、逆量子化部104の出力端を、入力された変換基底選択情報129に従って選択する機能を有する。変換基底選択情報129が第一直交変換である場合は、スイッチを第一逆直交変換部601に接続する。一方、変換基底選択情報129が第二直交変換である場合は、出力端を第二逆直交変換部602に接続する。
次に第一逆直交変換部601の処理について具体的に説明する。例えば、二次元の分離型逆直交変換は次式で表される。
ここで、逆直交変換を整数精度で行うために変換行列の整数化を行ってもよい。この場合の逆直交変換は次式となる。
第一逆直交変換部601では、第一直交変換部501で利用した変換行列を用いて、逆量子化変換係数122に対し、式(6)或いは式(7)を用いて逆直交変換処理を行う。例えば、水平予測(モード1)を用いて設計した変換行列を用いて逆直交変換処理を行う。逆直交変換を施された逆量子化変換係数122は、復元予測誤差信号123となって、加算器106へ入力される。
次に、第二逆直交変換部602を説明する。第二逆直交変換部602では、第二直交変換部502で利用した変換行列を用いて、逆量子化変換係数122に対し、式(6)或いは式(7)を用いて逆直交変換処理を行う。この逆直交変換は例えばIDCTであってもよい。また、第二直交変換部502で、垂直予測(モード0)などを用いて設計した変換行列を用いて直交変換を行っている場合、第二逆直交変換部602でも同じ変換行列を用いる。
次に、イントラ予測分類部112を説明する。イントラ予測分類部112は、入力されてきた予測モード128を基に直交変換で用いる変換基底選択情報129を生成する機能を有する。イントラ予測分類部112では、予測選択部110から出力された予測情報126に含まれる予測モード128を基に変換基底選択情報129を生成する。ここでは、図7A及び図7Bに示される分類テーブルを用いて予測モードを2つに分類し、分類した予測モード毎にTrasnformIdxで現される変換基底選択情報129を設定する。なお、図7A及び図7Bは、動画像符号化装置100が有するイントラ予測分類部112の分類手法を示す図である。ここで、表中に示されるIntraNxNPredMdeIndexは、予測モード128を示している。また、Nはブロックサイズを示すインデックスであり、4x4画素ブロックでは4、8x8画素ブロックでは8、16x16画素ブロックでは16を意味する。また、それ以外のブロックサイズでも同様である。ここでは、NxNで示される正方ブロックについての例を示したが、MxNとして矩形ブロックに拡張することも容易である。
TrasnformIdxが0を示す場合、第一直交変換及び第一逆直交変換を用いることを意味する。一方、TrasnformIdxが1を示す場合、第二直交変換及び第二逆直交変換が用いられることを意味する。ここで、画素ブロックがMxNで表現される矩形ブロックである場合、直交変換を行うブロックサイズとしてMxNを用いてもよい。
ここでは、DC予測(予測モード2に対応)にのみTrasnformIdxを1とし、それ以外の空間予測方向を持つ予測モードに対してTrasnformIdxを0としている。
次に、係数順制御部113を説明する。図8の係数順制御部113は、予測モード選択スイッチ801と9種類の2D−1D変換部802〜810を有する。予測モード選択スイッチ801は、図7Aの左側に示される予測モードのモードインデックス番号に応じて、量子化部103からの出力端を2D−1D変換部へと接続する。例えば、予測モード0が入力された場合、予測モード選択スイッチ801は出力端を垂直2D−1D変換部802へと接続する。予測モードと2D−1D変換部は1対1に対応しており、予測モードに対応する2D−1D変換部に常に接続される。予測モードと9種類の2D−1D変換部802〜810は1対1に対応しており、予測モード毎に出力端が選択される。
9種類の2D−1D変換部802〜810は、量子化部103で量子化処理された量子化変換係数121の2次元データを1次元データへと変換する機能を有する。例えば、H.264では、ジグザグスキャンを用いて2次元データを1次元データへと変換している。
4x4ブロックの2次元データをジグザグスキャンによって1次元データに変換する例が図4A及び図4Bに示されている。ここで4x4サイズのブロックに含まれる量子化変換係数121をジグザグスキャンによって1次元データに変換する例が示されている。図4A及び図4B中の量子化変換係数121の成分をcijで表すと、ジグザグスキャンを用いる2D−1D変換は図4Cで表される。ここでidxは2D−1D変換後の1次元データのインデックスである。
ここで、9種類の2D−1D変換部802〜810は、予測モード128毎に異なるスキャン順を用いる。図9に4x4画素ブロックにおける予測モードとスキャン順の関係を示す。図7AのIntraNxNPredMdeIndexの番号に応じて、異なるスキャン順が選択される。ここでは、4x4画素ブロックにおける例を示したが、8x8画素ブロックや16x16画素ブロックに対しても同様に、予測モード毎に異なるスキャン順が選択できる。また、画素ブロックがMxNで表現される矩形ブロックである場合、2D−1D変換を行うブロックサイズとしてMxNを用いてもよい。この場合は、矩形ブロックに対応して、予測モード毎に図9に示されるようなスキャン順テーブルを用意すればよい。以上が本実施の形態における動画像符号化装置100の概要である。
図10A及び図10Bは、動画像符号化装置100の符号化対象ブロック(マクロブロック)の処理を示すフロー図である。図10A及び図10B中に示す各処理のうち、同じインデックスを与えている処理は同じ処理内容を示す。
符号化対象ブロックの入力画像が入力されると、画素ブロックの符号化処理が開始される(S1001)。先ず、参照画像メモリ107に保持されている参照画像信号125を用いて、イントラ予測画像生成部108及びインター予測画像生成部109にて予測画像信号127が生成される(S1002)。いずれかの予測画像生成部で予測画像が生成されたかに従って、符号化制御部116は予測情報126(予測モード128を含む)を生成し予測選択部110に設定するとともに、予測選択部110は、予測情報126を予測選択スイッチ111に出力すると共に、エントロピー符号化部114へと出力する(S1003)。予測選択スイッチ111は、予測情報126がイントラ予測かどうかを判断し(S1004)、係る情報がイントラ予測である場合(YES)、スイッチの出力端をイントラ予測画像生成部108へと接続する。一方、係る情報がインター予測である場合(NO)、スイッチの出力端をインター予測画像生成部109へと接続する。
予測情報126がイントラ予測である場合について、先ず説明する。イントラ予測画像生成部108で生成された予測画像信号127は、減算器101にて入力画像信号と引き算され、予測誤差信号119を生成する(S1005)。同時に予測選択部110は、符号化制御部116により設定された予測情報126をエントロピー符号化部114へと出力すると共に、予測情報126に含まれる予測モード128をイントラ予測分類部112へと出力する(S1006)。イントラ予測分類部112では、入力された予測モード128を基に、予測分類テーブル(図7A)に示されるテーブルから変換基底選択情報129を生成する(S1007)。生成された変換基底選択情報129は、直交変換部102へと入力され、基底選択スイッチ503は、この情報を基にスイッチの出力端をどこに接続するかを判断する(S1008)。係る情報がYES(TrasnformIdxが1)の場合、基底選択スイッチ503は、出力端を第二直交変換部502へと接続する(S1009)。係る情報がNOの場合(TrasnformIdxが0)、基底選択スイッチ503は、出力端を第一直交変換部501へと接続する(S1010)。
予測誤差信号119は、直交変換部102へと入力され、接続された出力端を通って第一直交変換部501若しくは第二直交変換部502にて、直交変換処理が行われ、変換係数120を生成する(S1011)。直交変換後の変換係数120は、量子化部103へと入力される。量子化部103では量子化処理が行われ、量子化変換係数121が生成される(S1012)。量子化変換係数121は、係数順制御部113へと入力される。係数順制御部113では、入力された予測モード128を基に、図7Aに従って予測モード選択スイッチ801の出力端を、2D−1D変換部802〜810のいずれかに接続する(S1013)。
2D−1D変換部802〜810では、予測モード毎に図9で示されるテーブルを用いて2D−1D変換処理を行い、量子化変換係数列117を生成する(S1014)。量子化変換係数列117は、エントロピー符号化部114へと入力され、エントロピー符号化が施された後、符号化制御部116が管理する適切なタイミングで動画像符号化装置100外に出力される(S1015)。一方、量子化変換係数121は、逆量子化部104へと入力され、逆量子化処理が行われて、逆量子化変換係数122が生成される(S1016)。
逆直交変換部105は、変換基底選択情報129を基に、基底選択スイッチ603の出力端をどこに接続するかを判断する(S1017)。係る情報がYES(TrasnformIdxが1)の場合、基底選択スイッチ603は、出力端を第二逆直交変換部602へと接続する(S1018)。係る情報がNOの場合(TrasnformIdxが0)、基底選択スイッチ603は、出力端を第一逆直交変換部601へと接続する(S1019)。逆量子化変換係数122が逆直交変換部105へと入力され、接続された出力端を通って第一逆直交変換部601若しくは第二逆直交変換部602にて、逆直交変換処理が行われ、復元予測誤差信号123を生成する(S1020)。復元予測誤差信号123は、イントラ予測画像生成部108で生成された予測画像信号127と加算器106で加算され、復号画像信号124となって参照画像メモリ107へと入力され、保存される(S1021)。以上の処理によって1つの符号化対象画素ブロックがイントラ符号化される(S1022)。
次に、予測情報126がインター予測である場合について説明する。インター予測画像生成部109で生成された予測画像信号127は、減算器101にて入力画像と引き算され、予測誤差信号119を生成する(S1005)。予測誤差信号119は、直交変換部102へと入力される。ここで、予測手法がインター予測である場合、直交変換部102の基底選択スイッチ503は、スイッチの出力端を常に第二直交変換部502へと接続する。入力された予測誤差信号119は、第二直交変換部502で直交変換(例えばDCT)され、変換係数120が生成される(S1011)。
直交変換後の変換係数120は、量子化部103へと入力される。量子化部103では量子化処理が行われ、量子化変換係数121が生成される(S1012)。量子化変換係数121は、係数順制御部113へと入力される。係数順制御部113では、予測手法がインター予測である場合、予測モード選択スイッチ801の出力端を常にDCT用2D−1D変換部804へと接続する。2D−1D変換部804では、図4Cで示されるジグザグスキャン若しくは、図9のIntra_NxN_DCに示されるスキャン順のいずれかを用いて2D−1D変換処理を行い、量子化変換係数列117を生成する(S1014)。量子化変換係数列117は、エントロピー符号化部114へと入力され、エントロピー符号化が施された後、符号化制御部116が管理する適切なタイミングで動画像符号化装置100外に出力される(S1015)。
一方、量子化変換係数121は、逆量子化部104へと入力され、逆量子化処理が行われて、逆量子化変換係数122が生成される(S1016)。逆量子化変換係数122は、逆直交変換部105へと入力される。ここで、予測手法がインター予測である場合、逆直交変換部105の基底選択スイッチ603は、スイッチの出力端を常に第二逆直交変換部602へと接続する。逆量子化変換係数122が逆直交変換部105へと入力され、接続された出力端を通って第二逆直交変換部602にて、逆直交変換処理(例えばIDCT)が行われ、復元予測誤差信号123を生成する(S1020)。復元予測誤差信号123は、インター予測画像生成部109で生成された予測画像信号127と加算器106で加算され、復号画像信号124となって参照画像メモリ107へと入力され、保存される(S1021)。以上の処理によって1つの符号化対象画素ブロックがインター符号化される(S1022)。
以上が本発明の本実施の形態における動画像符号化装置100の処理フローチャートである。
一般に、式(3)、(4)に示す直交変換行列は固定行列であるため、ハードウェアでの実装を考慮した場合、乗算器を用いずにハードワイヤードロジックで構成することが多い。例えば、H.264で規定されている9種類の予測モード毎に、予測方向を考慮した直交変換を用意することも可能である。しかし、9種類の予測モード毎に固定係数セットが異なるため、H.264で必要なDCT用の専用ハードウェアに加えて、追加で8種類の専用ハードウェアを構成しなければならず、回路規模が増大する。
また、動画像符号化装置で用いる信号は2次元の画像データであるため、式(3)、式(4)で示される通り、2次元の直交変換が施される。ここでは、垂直方向と水平方向の相関を除去するために、2種類の分離型の直交変換基底を用意すると、追加で16種類の1次元の直交変換行列が必要となり、ハードウェア実現時の回路規模が増大する。
一方、本実施の形態では、直交変換部としてイントラ予測の予測方向を考慮した第一直交変換と、例えばDCTのような第二直交変換の2種類の直交変換部のみを持つように構成できるため、回路規模の増加を防ぐことが可能となる。
予測方向を考慮した直交変換を用いる場合、直交変換を施した変換係数120に量子化処理を施した量子化変換係数121は、ブロック内の非ゼロとなる変換係数の発生傾向が偏る性質を持つ。この非ゼロ変換係数の発生傾向は、イントラ予測の予測方向毎に異なる性質がある。しかし、異なる映像を符号化した際に同じ予測方向における非ゼロ変換係数の発生傾向は似る性質を持つ。2D−1D変換の際、非ゼロ変換係数の発生確率が高い位置の変換係数から優先的にエントロピー符号化することで、変換係数の符号化する情報を削減することが可能である。そこで、予測方向を示す予測モード128に応じて、予め非ゼロ変換係数の発生確率を学習し、9種類の2D−1D変換手法を定めることによって、例えばH.264と比較して演算量の増加を引き起こすことなく、変換係数の符号量を削減することが可能となる。
また、本発明の本実施の形態のように、直交変換部としてイントラ予測の予測方向を考慮した第一直交変換と、例えばDCTのような第二直交変換の2種類の直交変換部に分類した場合、DC予測以外の予測方向を強制的に第一直交変換に割り当てるため、H.264で用いられるジグザグスキャン順を用いた場合の電力集中度は必ずしも高くならない。そこで、非ゼロ変換係数の発生傾向が予測モード毎に似る性質を利用して、2D−1D変換の際、非ゼロ変換係数の発生確率が高い位置の変換係数から優先的にエントロピー符号化することで、変換係数の符号化する情報を削減することが可能である。
次に式(3)及び式(4)における直交変換行列の設計手法について説明する。H.264の4x4画素ブロック及び8x8画素ブロックでは、それぞれ9種類の予測モードが定義されており、16x16画素ブロックでは4種類の予測モードが定義されている。この内、DC予測を除いた予測モードに対して予測方向を考慮した方向変換行列を設計する。複数の訓練画像を用意し、それぞれの予測モードで予測した時の予測誤差信号119を作成する。これを予測モード毎に累積したK個の訓練ベクトルを生成する。例えば4x4画素ブロックの訓練ベクトルは、4x4サイズの訓練ベクトルがK個存在することになる。この訓練ベクトルに対して特異値分解を行い、行と列を示す正規直交基底を生成する。
ここで、MがNxNサイズの訓練ベクトル、UはN行N列のユニタリ行列、行列ΣはN行N列で対角成分以外が0となり、対角成分は非負である特異値行列を表す。VTはN行N列のユニタリ行列Vの随伴行列(複素共役かつ転置行列)となる。ここで、擬似逆行列は次式で定義される。
M’は、擬似逆変換後の出力ベクトルを表し、Σ’はΣの対角成分の逆数を成分とする行列の転置である。K個の訓練ベクトルに対し、式(8)と式(9)で示す直交変換前後の二乗誤差が最小となるような行列Uと行列Vを、線形最小二乗法を用いて設計する。このように設計された行列U及びVTが式(3)における変換行列として用いられる。なお、設計後の行列U及びVTの各要素は、実数となるので整数化を行うことで式(4)における変換行列として用いることが可能である。ここでは、4x4画素ブロックにおける設計例を示したが、8x8画素ブロック、及び16x16画素ブロックの変換行列の設計も同様に行うことが可能である。
次に図9に示す係数スキャン順の設計手法について説明する。係数スキャン順は、量子化部103で生成された量子化変換係数121に基づいて設計される。例えば、4x4画素ブロックにおける係数スキャン順の設計では、複数の訓練画像を用意し、9種類の予測モードで予測した後の予測誤差信号119を作成する。この予測誤差信号119に対して、式(3)又は式(4)で示す直交変換を行い、変換係数120を量子化処理する。量子化後の量子化変換係数121に対して、4x4画素ブロック内の各要素の非ゼロ変換係数を累積加算する。これを全ての訓練画像に対して行い、4x4画素ブロックの16個の要素毎に非ゼロ変換係数のヒストグラムを作成する。このヒストグラムを基に、発生頻度の高い要素から昇順にインデックス0〜15を与える。このようにして与えられたインデックスが1Dにおけるスキャン順に相当する。予測モード毎に上記のインデックスを設計することで、係数スキャン順が設計できる。ここでは、4x4画素ブロックにおける設計例を示したが、8x8画素ブロック、及び16x16画素ブロックの係数スキャン順設計も同様に行うことが可能である。
次に、動画像符号化装置100におけるシンタクス構造について説明する。図11は、シンタクス1100の構成を示す図である。シンタクスは、動画像データを符号化する際の符号化データの構造を表している。この符号化データを復号する際には、同じシンタクス構造を持つ復号装置でシンタクス解釈を行う。図11に示すとおり、シンタクス1100は主に3つのパートを有する。ハイレベルシンタクス1101は、フレーム又はフィールドに含まれる矩形領域若しくは連続領域を現すスライスに対して、これより上位レイヤのシンタクス情報を有する。スライスレベルシンタクス1102は、スライス毎に復号に必要な情報を有し、マクロブロックレベルシンタクス1103は、マクロブロック毎に復号に必要とされる情報を有する。
各パートは、更に詳細なシンタクスで構成されている。ハイレベルシンタクス1101は、シーケンスパラメータセットシンタクス1104とピクチャパラメータセットシンタクス1105などの、シーケンス及びピクチャレベルのシンタクスを含む。スライスレベルシンタクス1102は、スライスヘッダーシンタクス1106、スライスデータシンタクス1107等を含む。マクロブロックレベルシンタクス1103は、マクロブロックレイヤーシンタクス1108、マクロブロックプレディクションシンタクス1109等を含む。
図12は、本発明の本実施の形態に関わるスライスヘッダーシンタクス1106の例を示す図である。図12中に示されるslice_uni_directional_transform_flagは、当該スライスに方向考慮型直交変換を適用するかどうかを示すシンタクス要素である。slice_uni_directional_transform_flagが0である場合、直交変換部102及び逆直交変換部105では、第一直交変換部501及び第一逆直交変換部601を利用することができない。この場合、基底選択スイッチ503は、変換基底選択情報129に関わらずスイッチの出力端を第二直交変換部502へ接続するとともに、基底選択スイッチ603は、変換基底選択情報129に関わらずスイッチの出力端を第二逆直交変換部602へ接続する。また、この場合、係数順制御部113では、DCT用2D−1D変換部804以外を用いることができない。この場合、予測モード選択スイッチ801は、予測モード128に関わらずスイッチの出力端をDCT用2D−1D変換部804へ接続する。
一方、slice_uni_directional_transform_flagが1である場合、図10A及び図10Bで説明した符号化フローチャートに従って、符号化処理が行われる。つまり、直交変換部102及び逆直交変換部105では、変換基底選択情報129に従って、第一直交変換部501と第二直交変換部502を選択するとともに、変換基底選択情報129に従って、第一逆直交変換部601と第二逆直交変換部602を選択できる。また、予測モード選択スイッチ801は、予測モード128に従ってスイッチの出力端を2D−1D変換部802〜810へ接続することが可能である。
別の実施の形態として、図13は、本発明の別の実施の形態に関わるマクロブロックレイヤーシンタクス1108の例を示す。図13中に示すmb_uni_directional_transform_flagは、当該マクロブロックで方向考慮型直交変換を適用するかどうかを示すシンタクス要素である。また、図13中に示すmb_typeは当該符号化マクロブロックの符号化タイプを示している。I_NxNは、符号化タイプがイントラ予測符号化されており、予測ブロックサイズがNxNサイズであることを示す。Nには4,8,16を始め、32,64などが含まれる。mb_uni_directional_transform_flagはslice_uni_directional_transform_flagが1でマクロブロックの符号化タイプがイントラ予測の時のみ符号化される。mb_uni_directional_transform_flagが0である場合、直交変換部102及び逆直交変換部105では、第一直交変換部501及び第一逆直交変換部601を利用することができない。この場合、基底選択スイッチ503は、変換基底選択情報129に関わらずスイッチの出力端を第二直交変換部502へ接続するとともに、基底選択スイッチ603は、変換基底選択情報129に関わらずスイッチの出力端を第二逆直交変換部602へ接続する。また、この場合、係数順制御部113では、DCT用2D−1D変換部804以外を用いることができない。この場合、予測モード選択スイッチ801は、予測モード128に関わらずスイッチの出力端をDCT用2D−1D変換部804へ接続する。
一方、mb_uni_directional_transform_flagが1である場合、図10A及び図10Bで説明した符号化フローチャートに従って、符号化処理が行われる。つまり、直交変換部102及び逆直交変換部105では、変換基底選択情報129に従って、第一直交変換部501と第二直交変換部502を選択するとともに、変換基底選択情報129に従って、第一逆直交変換部601と第二逆直交変換部602を選択できる。また、予測モード選択スイッチ801は、予測モード128に従ってスイッチの出力端を2D−1D変換部802〜810へ接続することが可能である。
マクロブロックレイヤーで上記方向考慮型直交変換を適用するかどうかを示すフラグを符号化することによって、変換の選択に関わる情報量は増えるが、画像の局所領域毎に最適な直交変換を施すことが可能となる。
なお、図12ないし図13に示すシンタクスの表中の行間には、本実施の形態において規定していないシンタクス要素が挿入されてもよく、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割し、又は複数のシンタクステーブルを統合してもよい。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更してもよい。
以上の第1の実施の形態によれば、イントラ予測モードの予測方向を予測誤差の相関に応じて分類して直交変換・逆直交変換を施すことにより、変換後の係数集密度が変換前よりも高めるとともに、ハードウェア実現時の回路規模を削減することが可能になる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。第2の実施の形態に係る動画像符号化装置の構成は、第1の実施の形態と同一であるが、イントラ予測画像生成部108の内部構造が異なる。なお、第1の実施の形態と同じ機能を持つブロック、シンタクスには同一の符号を付し、ここでは説明を省略する。ここでは、図14を用いてイントラ予測画像生成部108を説明する。図14は、イントラ予測画像生成部108を示すブロック図である。本実施の形態に関わるイントラ予測画像生成部108は、単方向イントラ予測画像生成部1401、双方向イントラ予測画像生成部1402、予測モード生成部1403、予測選択スイッチ1404、を有する。
第1の実施の形態におけるイントラ予測画像生成部108では、図14のうち、双方向イントラ予測画像生成部1402と予測選択スイッチ1404が存在しない。ここで、単方向イントラ予測画像生成部1401は、既に図3、図4及び第1の実施の形態で、処理内容を述べているため、説明を省略する。
双方向イントラ予測画像生成部1402では、2つの単方向のイントラ予測画像信号を生成し、これらに対して重み付き平均を施すことによって予測画像信号127を生成する。例えば、図3C及び図3Dに示される水平予測と直交右下予測を用いた双方向予測を説明する。先ず、それぞれ単方向の予測画像信号を生成する。ここで水平予測をP1[x,y]、直交右下予測をP2[x,y]とすると双方向予測の予測画像信号P[x,y]は次式で表される。
ここで、W[x,y]は重み付きテーブルを示し、0〜128の値を取る行列である。双方向イントラ予測の予測番号と、2つの単方向の組み合わせと、変換基底情報を図15に示す。
ここで、IntraNxNPredModeIndexL0は、双方向イントラ予測における第一単方向イントラ予測のモード番号を示し、IntraNxNPredModeIndexL1は、双方向イントラ予測における第二単方向イントラ予測のモード番号を示す。それぞれはL0、L1が付記されているが、図3Aに対応する予測モードである。IntraNxNBiPredModeIndexは、双方向イントラ予測のモード番号を示す。また、bipred_intra_flagは、双方向イントラ予測を適用するかどうかを示すシンタクス要素であり後述する。
次に、予測モード生成部1403の機能を説明する。双方向イントラ予測画像生成部1402で、符号化制御部116から入力された情報に基づいて双方向イントラ予測による予測画像信号が生成された場合、予測モード生成部1403は、図15に示すテーブルに従って予測モード128を導出し、出力する。つまり、予測モード128には、bipred_intra_flag、IntraNxNBiPredModeIndex、IntraNxNPredModeIndexL0、IntraNxNPredModeIndexL1が含まれる。
予測選択スイッチ1404は、入力されてきた予測モード128に従ってスイッチの出力端と2つのイントラ予測画像生成部1401、1402のいずれかの出力端を接続する。ここで、bipred_intra_flagが0の場合、スイッチは出力端を単方向イントラ予測画像生成部1401へと接続する。bipred_intra_flagが1の場合、スイッチは出力端を双方向イントラ予測画像生成部1402へと出力する。
式(10)に示す双方向予測を用いることにより、単純な単方向予測と比較して予測方向に線形に変化を加えることが可能となり、自然画像などにおけるグラデーションなどの輝度変化に対応した予測画像信号を生成することにより、より入力画像に近い予測が可能となる。
ここでは、IntraNxNPredModeIndexL1に対してIntraNxNPredModeIndexL0が必ず小さくなるようにテーブルを作成する例を示した。一般には、IntraNxNPredModeIndexに示される番号は、選択確率の高い予測モードに小さい番号を与えている。そこで、IntraNxNPredModeIndexL0に示す予測モードに従ってTransformIdxを設計することにより、変換効率を高めることができる。一方、IntraNxNPredModeIndexL0とIntraNxNPredModeIndexL1を入れ替えてもよい。この場合も、TransformIdxは、番号の小さい方に従って設定される。
また、図15のテーブルでは、9種類の単方向予測モードに加えて、18種類の双方向予測の組み合わせを追加する例を示したが、組み合わせ数を増減してもよく、同じルールを用いてTransformIdxを設定すればよい。
以上が、本発明の本実施の形態に関わるイントラ予測画像生成部108の説明である。
次に、イントラ予測分類部112を説明する。イントラ予測分類部112は、入力されてきた予測モード128を基に直交変換で用いる変換基底選択情報129を生成する機能を有する。イントラ予測分類部112では、入力された予測モード128を基に変換基底選択情報129を生成する。ここでは、図7A及び図15に示される分類テーブルを用いて予測モードを2つに分類し、分類した予測モード毎にTrasnformIdxで現される変換基底選択情報129を設定する。図15では、2つのイントラ予測モードのうち、IntraNxNPredModeIndexL0で示されるイントラ予測モードが2(DC予測)となる場合にTransformIdxを1とし、それ以外の方向予測の場合は0としている。例えば、IntraNxNPredModeIndexL1で示されるイントラ予測モードが2の場合に、TransformIdxを1としてもよいし、それぞれの方向予測で生成される予測画像信号の生成方向によって場合分けをしてもよい。より具体的に説明すると、例えば、IntraNxNPredModeIndexL0が0、IntraNxNPredModeIndexL1が1の場合、2つの予測方向が成す角度は90度となる。このように予測方向の成す角があまりにも大きい場合にTransformIdxを1とする、という組み合わせを用意することも可能である。
次に、係数順制御部113を説明する。入力された予測モード128のうち、IntraNxNPredModeIndexL0に示されるモード番号に従ってTransformIdxが定められている。IntraNxNPredModeIndexL0は、単方向のイントラ予測モードを示し、9種類の予測モードが与えられている。
ここで、9種類の2D−1D変換部802〜810は、予測モード128毎に異なるスキャン順を用いる。図9は4x4画素ブロックにおける予測モードとスキャン順の関係を示す。図15のIntraNxNPredMdeIndexL0の番号に応じて、異なるスキャン順が選択される。ここでは、4x4画素ブロックにおける例を示したが、8x8画素ブロックや16x16画素ブロックに対しても同様に、予測モード毎に異なるスキャン順が選択できる。また、画素ブロックがMxNで表現される矩形ブロックである場合、2D−1D変換を行うブロックサイズとしてMxNを用いてもよい。この場合は、矩形ブロックに対応して、予測モード毎に図9に示されるようなスキャン順テーブルを用意すればよい。
以上が本発明の本実施の形態における動画像符号化装置100の概要である。
次に、本発明の本実施の形態における動画像符号化装置100におけるシンタクス構造について説明する。
図16は、本発明の本実施の形態に関わるスライスヘッダーシンタクス1106の例を示す図である。図中に示されるslice_uni_directional_transform_flagは、当該スライスに方向考慮型直交変換を適用するかどうかを示すシンタクス要素であり、第1の実施の形態と同一のため説明を省略する。
図16中に示されるslice_bipred_intra_flagは、当該スライスに双方向イントラ予測を適用するかどうかを示すシンタクス要素である。slice_bipred_intra_flagが0である場合、イントラ予測画像生成部108では、双方向イントラ予測画像生成部1402を利用することができない。この場合、予測選択スイッチ1404は、予測モード128に関わらずスイッチの出力端を単方向イントラ予測画像生成部1401へ接続する。
一方、slice_bipred_intra_flagが1である場合、イントラ予測画像生成部108内の予測選択スイッチ1404では、予測モード128に従って、単方向イントラ予測画像生成部1401と双方向イントラ予測画像生成部1402を選択することが可能となる。
図17は、本発明の実施の形態に関わるマクロブロックレイヤーシンタクス1108の例を示す。図中に示すbipred_intra_flagは、当該マクロブロックで双方向イントラ予測を適用するかどうかを示すシンタクス要素である。bipred_intra_flagはslice_bipred_intra_flagが1でマクロブロックの符号化タイプがイントラ予測の時のみ符号化される。bipred_intra_flagが0の場合、当該マクロブロックのイントラ予測画像生成部108では、双方向イントラ予測画像生成部1402を利用することができない。この場合、予測選択スイッチ1404は、予測モード128に関わらずスイッチの出力端を単方向イントラ予測画像生成部1401へ接続する。
一方、bipred_intra_flagが1である場合、当該マクロブロックにおけるイントラ予測画像生成部108内の予測選択スイッチ1404では、予測モード128に従って、単方向イントラ予測画像生成部1401と双方向イントラ予測画像生成部1402を選択することが可能となる。
以上の第2の実施の形態によれば、第1の実施の形態の効果に加え、双方向予測を用いることにより、単純な単方向予測と比較して予測方向に線形に変化を加えることが可能となり、自然画像などにおけるグラデーションなどの輝度変化に対応した予測画像信号を生成することにより、より入力画像に近い予測が可能となる。
[第3の実施の形態]
次に、第3の実施の形態について説明する。第3の実施の形態に係る動画像符号化装置の構成は、第1の実施の形態と同一であるが、直交変換部102及び逆直交変換部105の内部構造が異なる。なお、第1の実施の形態と同じ機能を持つブロック、シンタクスには同一の符号を付し、ここでは説明を省略する。
ここでは、図18、図20を用いて直交変換部102と逆直交変換部105を説明する。図18は、直交変換部102を示すブロック図である。本実施の形態に関わる直交変換部102は、図5で示される各処理ブロックに加え、第三直交変換部1801を有する。ここで、第一直交変換部501と第二直交変換部1802は、式(3)、式(4)で示されるような予測方向を考慮した直交変換を行う。一方、第三直交変換部1801は例えばDCTを行う。この場合の変換基底選択情報129は図19A、図19Bに示される。TransformIdxが0の場合、基底選択スイッチ503はスイッチの出力端を第一直交変換部501へと接続する。TransformIdxが1の場合、基底選択スイッチ503はスイッチの出力端を第二直交変換部1802へと接続する。TransformIdxが2の場合、基底選択スイッチ503はスイッチの出力端を第三直交変換部1801へと接続する。
ここでは、例として、第一直交変換部501の直交変換基底が垂直方向の予測モード(図3Aにおけるモード0)に対して設計されており、第二直交変換部1802の直交変換基底が水平方向(図3Aにおけるモード1)の予測モードに対して設計されていることを仮定している。ここで、垂直方向の予測モードを第1の基準方向としたとき、垂直方向の予測モードに対して予測方向のなす角が小さい予測モードとして、モード6、モード8に対してTransformIdxを0としている。また、水平方向の予測モードを、第2の基準方向としたとき、水平方向の予測モードに対して予測方向のなす角が小さい予測モードとして、モード5、モード7に対してTransformIdxを1としている。2つの基準方向に対してなす角が等しいモード3、モード4と予測方向が定義できないモード2(DC予測)に対してTransformIdxを2としている。
イントラ予測分類部112は、イントラ予測モードの予測方向と第1の基準方向(垂直方向)とのなす第1角度と、イントラ予測モードの予測方向と第2の基準方向(水平方向)とのなす第2角度とを比較し、第1角度が第2角度以下である場合には予測モードを垂直方向の予測モードに分類し、第1角度が第2角度よりも大きい場合には予測モードを水平方向の予測モードに分類する。
また、図20は、逆直交変換部105を示すブロック図である。本実施の形態に関わる逆直交変換部105は、図6で示される各処理ブロックに加え、第三逆直交変換部2001を有する。ここで、第一逆直交変換部601と第二逆直交変換部2002は、式(6)、式(7)で示されるような予測方向を考慮した直交変換を行う。一方、第三逆直交変換部2001は例えばIDCTを行う。この場合の変換基底選択情報129は図19A、図19Bに示される。TransformIdxが0の場合、基底選択スイッチ603はスイッチの出力端を第一逆直交変換部601へと接続する。TransformIdxが1の場合、基底選択スイッチ603はスイッチの出力端を第二逆直交変換部2002へと接続する。TransformIdxが2の場合、基底選択スイッチ603はスイッチの出力端を第三逆直交変換部2001へと接続する。
本実施の形態では、3つの直交変換を用いる。このうち第一直交変換部と第二直交変換部では方向考慮型の直交変換基底を用いて直交変換を行う。予測モードの基準方向として、90度の角度をなす垂直予測モードと水平予測モードを用意し、それぞれとのなす角が45度未満の予測モードを同一の直交変換を用いるクラスに分類している。このように、空間方向相関を用いて直交変換を分類することにより、方向考慮型直交変換の係数集密度を高めた符号化が可能となる。
なお、本発明の本実施の形態では、ここまで、第一直交変換、第二直交変換、第三直交変換の3種類の直交変換と、第一逆直交変換、第二逆直交変換、第三逆直交変換の3種類の逆直交変換を、それぞれ分類された予測モード毎に切り替える方式を説明したが、これらの数を増やすことも可能である。この場合、異なる直交変換・逆直交変換別にハードウェアなどが必要となるが、回路規模と符号化効率のバランスを取った組み合わせを選択すればよい。
また、第2の実施の形態と第3の実施の形態を組み合わせた動画像符号化装置の構成も可能である。
以上の第3の実施の形態によれば、第1の実施の形態の効果に加え、予測モードの基準方向として、90度の角度をなす垂直予測モードと水平予測モードを用意し、それぞれとのなす角が45度未満の予測モードを同一の直交変換を用いるクラスに分類している。このように、空間方向相関を用いて直交変換を分類することにより、方向考慮型直交変換の係数集密度を高めた符号化が可能となる。
[第4の実施の形態]
次に、第4の実施の形態について説明する。第4の実施の形態に係る動画像符号化装置の構成は、第1の実施の形態と同一であるが、直交変換部102及び逆直交変換部105の内部構造が異なる。なお、第1の実施の形態と同じ機能を持つブロック、シンタクスには同一の符号を付し、ここでは説明を省略する。
ここでは、図23、図24を用いて直交変換部102と逆直交変換部105を説明する。図23は、直交変換部102を示すブロック図である。本実施の形態に関わる直交変換部102は、図5で示される各処理ブロックに対し、第一直交変換部2301、第二直交変換部2302が変更されており、第三直交変換部2303、第四直交変換部2304を有する。ここで、第一直交変換部2301〜第四直交変換部2304は式(3)、式(4)で示されるような予測方向に応じて生成される予測誤差を考慮した直交変換を行う。ここでは、これら第一直交変換部2301〜第四直交変換部2304のいずれかがDCTなどに置き換えられてもよい。この場合の変換基底選択情報129は図25A、図25Bに示される。図25Aのテーブルは、予測方向に応じて生成される予測誤差の傾向に応じて、分類されている。この際、イントラ予測で参照される画素ラインによって、予測モードを4種類に分類している。例えば、予測方向が定義できないDC予測(予測モード2)をTransformIdx=3、縦方向の参照画素ラインのみを使う予測モード0、3,7をTransformIdx=1、横方向の参照画素ラインのみを使う予測モード1、8をTransformIdx=2、縦と横の2つの参照画素ラインを使う予測モード4、5、6をTransformIdx=0と定義している。
TransformIdxが0の場合、基底選択スイッチ503はスイッチの出力端を第一直交変換部2301へと接続する。TransformIdxが1の場合、基底選択スイッチ503はスイッチの出力端を第二直交変換部2302へと接続する。TransformIdxが2の場合、基底選択スイッチ503はスイッチの出力端を第三直交変換部2303へと接続する。TransformIdxが3の場合、基底選択スイッチ503はスイッチの出力端を第四直交変換部2304へと接続する。
ここでは、分類した予測モード4、5、6の予測誤差からTransformIdx=0の直交変換基底を設計し、予測モード0、3、7の予測残差からTransformIdx=1の直交変換基底を設計し、予測モード1、8の予測残差からTransformIdx=2の直交変換基底を設計し、DC予測(予測モード2)の予測残差からTransformIdx=3の直交変換基底を設計する。なお、ここでは、TransformIdx=3に対応する第四直交変換部2304がDCTに基づいた直交変換を行う例を示している。
また、図24は、逆直交変換部105を示すブロック図である。本実施の形態に関わる逆直交変換部105は、図6で示される各処理ブロックに対し、第一逆直交変換部2401、第二逆直交変換部2402が変更されており、第三逆直交変換部2403、第四逆直交変換部2404を有する。ここで、第一逆直交変換部2401〜第四逆直交変換部2404は、式(6)、式(7)で示されるような予測方向に応じて生成される予測誤差を考慮した直交変換を行う。ここでは、これら第一逆直交変換部2401〜第四逆直交変換部2404のいずれかがIDCTなどに置き換えられてもよい。
この場合の変換基底選択情報129は図25A、図25Bに示される。TransformIdxが0の場合、基底選択スイッチ603はスイッチの出力端を第一逆直交変換部2401へと接続する。TransformIdxが1の場合、基底選択スイッチ603はスイッチの出力端を第二逆直交変換部2402へと接続する。TransformIdxが2の場合、基底選択スイッチ603はスイッチの出力端を第三逆直交変換部2403へと接続する。TransformIdxが3の場合、基底選択スイッチ603はスイッチの出力端を第四逆直交変換部2404へと接続する。
本実施の形態では、4つの直交変換を用いる。このうち第一直交変換部と第四直交変換部では予測方向に応じて生成された予測誤差の相関を考慮した直交変換基底を用いて直交変換を行う。この際に、予測画素が生成される参照画素ラインに応じて直交変換を分類することにより、直交変換の変換係数の集密度を高めた符号化が可能となる。
なお、本発明の本実施の形態では、第一直交変換、第二直交変換、第三直交変換、第四直交変換の4種類の直交変換と、第一逆直交変換、第二逆直交変換、第三逆直交変換、第四逆直交変換の4種類の逆直交変換を、それぞれ分類された予測モード毎に切り替える方式を説明したが、これらの数を減らしてもよいし増やしてもよい。この場合、異なる直交変換・逆直交変換別にハードウェアなどが必要となるが、回路規模と符号化効率のバランスを取った組み合わせを選択すればよい。また、第2の実施の形態と第4の実施の形態を組み合わせた動画像符号化装置の構成も可能である。
また、本発明の第4の実施の形態では、4種類の直交変換と、4種類の逆直交変換を、それぞれ分類された予測モード毎に切り替える方式を説明したが、この変換・逆変換を行う際の直交変換行列を共有化することにより、ハードウェア実現時の回路規模を更に削減することが可能である。例えば、式(3)、式(4)で示される2次元の分離型の変換における行列A、B若しくは行列C、Dを予測モード別に使いまわすことも可能である。この一例が図26A、図26B、図26Cに示されている。ここでは、式(3)における行列Aに対応する1次元変換と行列Bに対応する1次元変換の組み合わせが明記されている(式(4)における行列Cに対応する1次元変換と行列Dに対応する1次元変換でも同様)。例えば、TransformIdx=0の場合、式(3)の行列A、Bには、共通の1D Transform Matrix αが使われることを意味する。このような変換行列の共有化を行うことにより、直交変換部或いは逆直交変換部毎に2種類必要であった変換行列数が削減できる。例えば、本発明の本実施の形態では、4種類の(逆)直交変換部を保持しているため、8種類の変換行列が必要であったが、2種類の変換行列だけで4種類の(逆)直交変換が可能となる。なお、式(6)、(7)の逆変換においても同様の共有化が可能である。
以上の第4の実施の形態によれば、第1の実施の形態の効果に加え、予測方向に応じて生成された予測誤差の相関を考慮した4種類の直交変換基底を用いることにより、係数集密度を更に高めつつ、ハードウェア実現時の回路規模を削減した直交変換・逆直交変換が可能となる。
また、本発明の本実施の形態のように、直交変換部としてイントラ予測の予測方向を考慮して4種類の直交変換を用いる場合、例えば予測モード4、5、6を強制的にTransformIdx=0に割り当てるため、H.264で用いられるジグザグスキャン順を用いた場合の電力集中度は必ずしも高くならない。そこで、非ゼロ変換係数の発生傾向が予測モード毎に似る性質を利用して、2D−1D変換の際、非ゼロ変換係数の発生確率が高い位置の変換係数から優先的にエントロピー符号化することで、変換係数の符号化する情報を削減することが可能である。
次に、動画像復号化装置に関する第5から第8の実施の形態について述べる。
[第5の実施の形態]
図21は、第5の実施の形態に従う動画像復号化装置を示している。図21の動画像復号化装置2100は、例えば、第1の実施の形態に従う動画像符号化装置により生成される符号化データを復号する。
図21の動画像復号化装置2100は、入力バッファ2101に蓄えられる符号化データ2114を復号し、復号画像信号2119を出力バッファ2112に出力する。符号化データ2114は、例えば、動画像符号化装置100などから送出され、図示しない蓄積系又は伝送系を経て送られ、入力バッファ2101に一度蓄えられ、多重化された符号化データである。
動画像復号化装置2100は、エントロピー復号部2102、係数順制御部2103、逆量子化部2104、逆直交変換部2105、加算器2106、参照画像メモリ2107、イントラ予測画像生成部2108、インター予測画像生成部2109、予測選択スイッチ2110、及びイントラ予測分類部2111を有する。動画像復号化装置2100は、また、入力バッファ2101、出力バッファ2112、及び、復号化制御部2113と接続される。
エントロピー復号部2102は、符号化データ2114を1フレーム又は1フィールド毎にシンタクスに基づいて構文解析による解読を行う。エントロピー復号部2102は、順次各シンタクスの符号列をエントロピー復号化し、予測情報2124、量子化変換係数列2115、及び、符号化対象ブロックの符号化パラメータ等を再生する。符号化パラメータとは、予測に関する情報、量子化に関する情報等の復号の際に必要になるパラメータ全てを含む。
エントロピー復号部2102で解読が行われた量子化変換係数列2115は、係数順制御部2103へ入力される。また、予測情報2124に含まれる予測モード2121が係数順制御部2103へ入力される。係数順制御部2103は、1次元データである量子化変換係数列2115を2次元データに変換する機能を有する。係数順制御部2103で変換された量子化変換係数列2115は、量子化変換係数2116となって逆量子化部2104へと入力される。逆量子化部2104では、解読された量子化に関する情報を基に逆量子化を行って変換係数を復元する。逆量子化部2104で復元された量子化変換係数2116は、逆量子化変換係数2117となって、逆直交変換部2105へと入力される。逆直交変換部2105の機能は後述するが、イントラ予測分類部2111から入力された変換基底選択情報2122に基づいて、例えば逆離散コサイン変換(IDCT)が行われる。
逆直交変換部2105によって逆直交変換が施され、生成された復元予測誤差信号2118は加算器2106へと入力される。加算器2106は、復元予測誤差信号2118と、後述する予測選択スイッチ2110から出力された予測画像信号2123とを加算し、復号画像信号2119を生成する。
生成された復号画像信号2119は、参照画像メモリ2107に入力される。参照画像メモリ2107では、入力されてきた復号画像信号2119を出力バッファ2112に出力すると共に、復号画像信号2119を参照画像信号2120として内部メモリに保持し、以後の予測画像信号生成処理に利用する。参照画像メモリ2107から出力された復号画像信号2119は、動画像復号化装置2100から出力されて、出力バッファ2112に一旦蓄積された後、復号化制御部2113が管理する出力タイミングに従って出力される。
参照画像信号2120は参照画像メモリ2107から、順次フレーム毎或いはフィールド毎に読み出され、イントラ予測画像生成部2108或いはインター予測画像生成部2109へと入力される。
なお、図21のイントラ予測画像生成部2108は、図1で示した動画像符号化装置100中のイントラ予測画像生成部108に示す同名の各部と同一の機能及び構成を有する。よって本部分の説明は省略する。
なお、図21のインター予測画像生成部2109は、図1で示したインター予測画像生成部109に示す同名の各部と同一の機能及び構成を有する。よって本部分の説明は省略する。
次に、係数順制御部2103の詳細について説明する。図22に係数順制御部2103のブロック図を示す。図22の係数順制御部2103は、予測モード選択スイッチ2201と9種類の1D−2D変換部2202〜2210を有する。予測モード選択スイッチ2201は、図7Aの左側に示される予測モードのモード番号に応じて、スイッチの出力端を1D−2D変換部へと接続する。例えば、予測モード0が入力された場合、予測モード選択スイッチ2201は出力端を垂直1D−2D変換部2202へと接続する。予測モードと1D−2D変換部は1対1に対応しており、予測モードに対応する1D−2D変換部に常に接続される。予測モードと9種類の1D−2D変換部2202〜2210は1対1に対応しており、予測モード毎に出力端が選択される。
9種類の1D−2D変換部2202〜2210は、復号された量子化変換係数列2115の1次元データを2次元データへと変換する機能を有する。例えば、H.264では、逆ジグザグスキャンを用いて1次元データを2次元データへと変換している。
4x4ブロックの1次元データを逆ジグザグスキャンによって2次元データに変換する例が図4B及び図4Aに示されている。ここで解読された量子化変換係数列2115(図4Bに対応)を逆ジグザグスキャンすることによって2次元データ(図4Aに対応)に変換する例が示されている。図中の量子化変換係数2116の成分をcijで表すと、逆ジグザグスキャンを用いる1D−2D変換は図4Cで表される。ここでidxは1D−2D変換前の1次元データのインデックスである。
ここで、9種類の1D−2D変換部2202〜2210は、予測モード2121毎に異なるスキャン順を用いる。図9は4x4画素ブロックにおける予測モードとスキャン順の関係を示す。図7AのIntraNxNPredMdeIndexの番号に応じて、異なるスキャン順が選択される。ここでは、4x4画素ブロックにおける例を示したが、8x8画素ブロックや16x16画素ブロックに対しても同様に、予測モード毎に異なるスキャン順が選択できる。また、画素ブロックがMxNで表現される矩形ブロックである場合、1D−2D変換を行うブロックサイズとしてMxNを用いてもよい。この場合は、矩形ブロックに対応して、予測モード毎に図9に示されるようなスキャン順テーブルを用意すればよい。次に、イントラ予測分類部2111を説明する。イントラ予測分類部2111は、エントロピー復号部2102で解読された予測情報2124に含まれる予測モード2121を基に逆直交変換で用いる変換基底選択情報2122を生成する機能を有する。ここでは、図7A及び図7Bに示される分類テーブルを用いて予測モードを2つに分類し、分類した予測モード毎にTrasnformIdxで現される変換基底選択情報2122を設定する。ここで、表中に示されるIntraNxNPredMdeIndexは、予測モード2121を示している。また、Nはブロックサイズを示すインデックスであり、4x4画素ブロックでは4、8x8画素ブロックでは8、16x16画素ブロックでは16を意味する。また、それ以外のブロックサイズでも同様である。ここでは、NxNで示される正方ブロックについての例を示したが、MxNとして矩形ブロックに拡張することも容易である。
TrasnformIdxが0を示す場合、第一逆直交変換を用いることを意味する。一方、TrasnformIdxが1を示す場合、第二逆直交変換が用いられることを意味する。ここで、画素ブロックがMxNで表現される矩形ブロックである場合、逆直交変換を行うブロックサイズとしてMxNを用いてもよい。
ここでは、DC予測(予測モード2に対応)にのみTrasnformIdxを1とし、それ以外の空間予測方向を持つ予測モードに対してTrasnformIdxを0としている。
逆直交変換部2105は図6の逆直交変換部105と同様の機能を有する。ここで、図6における逆量子化変換係数122、変換基底選択情報129、復元予測誤差信号123は、図21において、それぞれ、逆量子化変換係数2117、変換基底選択情報2122、復元予測誤差信号2118に対応している。図6に示す逆直交変換部105と図21に示す逆直交変換部2105は同機能のため、ここでは詳細説明を省略する。
逆直交変換部2105の第一逆直交変換部では、逆量子化変換係数2117に対し、式(6)、或いは式(7)を用いて逆直交変換処理を行う。例えば、水平予測(モード1)を用いて設計した変換行列を用いて逆直交変換処理を行う。逆直交変換部2105の第二逆直交変換部では、逆量子化変換係数2117に対し、式(6)、或いは式(7)を用いて逆直交変換処理を行う。この逆直交変換は例えばIDCTであってもよい。いずれにしても、第1の実施の形態で用いた直交変換に対応した変換行列を用いて、逆直交変換が行われる。
以上が、第5の実施の形態で示す動画像復号化装置2100の処理の概要である。
次に、動画像復号化装置2100が復号する符号化データのシンタクス構造について説明する。動画像復号化装置2100が復号する符号化データ2114は、動画像符号化装置100と同一のシンタクス構造を有するとよい。ここでは、図12ないし図13と同一のシンタクスを用いることとし、詳細な説明を省略する。
図12は、本発明の本実施の形態に関わるスライスヘッダーシンタクス1106の例を示す図である。図12中に示されるslice_uni_directional_transform_flagは、当該スライスに方向考慮型直交変換を適用するかどうかを示すシンタクス要素である。slice_uni_directional_transform_flagが0である場合、直交変換部102及び逆直交変換部105では、第一直交変換部501及び第一逆直交変換部601を利用することができない。この場合、基底選択スイッチ503は、変換基底選択情報129に関わらずスイッチの出力端を第二直交変換部502へ接続するとともに、基底選択スイッチ603は、変換基底選択情報129に関わらずスイッチの出力端を第二逆直交変換部602へ接続する。また、この場合、係数順制御部113では、DCT用2D−1D変換部804以外を用いることができない。この場合、予測モード選択スイッチ801は、予測モード128に関わらずスイッチの出力端をDCT用2D−1D変換部804へ接続する。
一方、slice_uni_directional_transform_flagが1である場合、図10A及び図10Bで説明した符号化フローチャートに従って、符号化処理が行われる。つまり、直交変換部102及び逆直交変換部105では、変換基底選択情報129に従って、第一直交変換部501と第二直交変換部502を選択するとともに、変換基底選択情報129に従って、第一逆直交変換部601と第二逆直交変換部602を選択できる。また、予測モード選択スイッチ801は、予測モード128に従ってスイッチの出力端を2D−1D変換部802〜810へ接続することが可能である。
別の実施の形態として、図13は、本発明の別の実施の形態に関わるマクロブロックレイヤーシンタクス1108の例を示す。図13中に示すmb_uni_directional_transform_flagは、当該マクロブロックで方向考慮型直交変換を適用するかどうかを示すシンタクス要素である。また、図13中に示すmb_typeは当該符号化マクロブロックの符号化タイプを示している。I_NxNは、符号化タイプがイントラ予測符号化されており、予測ブロックサイズがNxNサイズであることを示す。Nには4,8,16を始め、32,64などが含まれる。mb_uni_directional_transform_flagはslice_uni_directional_transform_flagが1でマクロブロックの符号化タイプがイントラ予測の時のみ符号化される。mb_uni_directional_transform_flagが0である場合、直交変換部102及び逆直交変換部105では、第一直交変換部501及び第一逆直交変換部601を利用することができない。この場合、基底選択スイッチ503は、変換基底選択情報129に関わらずスイッチの出力端を第二直交変換部502へ接続するとともに、基底選択スイッチ603は、変換基底選択情報129に関わらずスイッチの出力端を第二逆直交変換部602へ接続する。また、この場合、係数順制御部113では、DCT用2D−1D変換部804以外を用いることができない。この場合、予測モード選択スイッチ801は、予測モード128に関わらずスイッチの出力端をDCT用2D−1D変換部804へ接続する。
一方、mb_uni_directional_transform_flagが1である場合、図10A及び図10Bで説明した符号化フローチャートに従って、符号化処理が行われる。つまり、直交変換部102及び逆直交変換部105では、変換基底選択情報129に従って、第一直交変換部501と第二直交変換部502を選択するとともに、変換基底選択情報129に従って、第一逆直交変換部601と第二逆直交変換部602を選択できる。また、予測モード選択スイッチ801は、予測モード128に従ってスイッチの出力端を2D−1D変換部802〜810へ接続することが可能である。
マクロブロックレイヤーで上記方向考慮型直交変換を適用するかどうかを示すフラグを符号化することによって、変換の選択に関わる情報量は増えるが、画像の局所領域毎に最適な直交変換を施すことが可能となる。
なお、図12ないし図13に示すシンタクスの表中の行間には、本実施の形態において規定していないシンタクス要素が挿入されてもよく、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割し、又は複数のシンタクステーブルを統合してもよい。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更してもよい。
以上の第5の実施の形態によれば、イントラ予測モードの予測方向を予測誤差の相関に応じて分類して逆直交変換を施すことにより、変換後の係数集密度を高めるとともに、ハードウェア実現時の回路規模を削減することが可能になる。
[第6の実施の形態]
次に、第6の実施の形態について説明する。第6の実施の形態に係る動画像復号化装置の構成は、第5の実施の形態と同一である。第6の実施の形態に従う動画像復号化装置2100は、例えば、第2の実施の形態に従う動画像符号化装置により生成される符号化データを復号する。なお、第5の実施の形態と同じ機能を持つブロック、シンタクスには同一の符号を付し、ここでは説明を省略する。第6の実施の形態では、イントラ予測画像生成部2108の内部構造のみが第5の実施の形態と異なる。
ここでは、図14を用いてイントラ予測画像生成部2108を説明する。図14は、イントラ予測画像生成部2108(108)を示すブロック図である。図14における予測モード128、予測画像信号127、参照画像信号125は、図21における予測モード2121、予測画像信号2123、参照画像信号2120にそれぞれ対応している。
本実施の形態に関わるイントラ予測画像生成部2108(108)は、単方向イントラ予測画像生成部1401、双方向イントラ予測画像生成部1402、予測モード生成部1403、予測選択スイッチ1404を有する。
第1の実施の形態におけるイントラ予測画像生成部108では、図14のうち、双方向イントラ予測画像生成部1402と予測選択スイッチ1404が存在しない。ここで、単方向イントラ予測画像生成部1401は、既に図3、図4及び第1の実施の形態で、処理内容を述べているため、説明を省略する。
双方向イントラ予測画像生成部1402では、2つの単方向のイントラ予測画像信号を生成し、これらに対して重み付き平均を施すことによって予測画像信号127を生成する。例えば、図3C及び図3Dに示される水平予測と直交右下予測を用いた双方向予測を説明する。先ず、それぞれ単方向の予測画像信号を生成する。ここで水平予測をP1[x,y]、直交右下予測をP2[x,y]とすると双方向予測の予測画像信号P[x,y]は式(10)で表される。双方向イントラ予測の予測番号と、2つの単方向の組み合わせと、変換基底情報を図15に示す。
次に、予測モード生成部1403の機能を説明する。エントロピー復号部2102で解読された予測情報2124は、復号化制御部2113に保持され、制御されている。ここでは、予測情報2124に含まれる予測情報として、双方向イントラ予測が選択されている場合、予測モード生成部1403は、図15に示すテーブルに従って双方向イントラ予測における予測モード2121を導出し、出力する。予測選択スイッチ1404は、入力されてきた予測モード2121に従ってスイッチの出力端と2つのイントラ予測画像生成部1401、1402の出力端を接続する。ここで、bipred_intra_flagが0の場合、スイッチは出力端を単方向イントラ予測画像生成部1401へと接続する。bipred_intra_flagが1の場合、スイッチは出力端を双方向イントラ予測画像生成部1402へと出力する。
以上が、本発明の本実施の形態に関わるイントラ予測画像生成部2108(108)の説明である。
次に、イントラ予測分類部2111を説明する。図21のイントラ予測分類部2111は、第2の実施の形態に関わるイントラ予測分類部112と同一機能を有する。入力されてきた予測モード2121を基に逆直交変換で用いる変換基底選択情報2122を生成する機能を有する。イントラ予測分類部2111では、イントラ予測画像生成部2108から入力された予測モード2121を基に変換基底選択情報2122を生成する。ここでは、図7A及び図15に示される分類テーブルを用いて予測モードを2つに分類し、分類した予測モード毎にTrasnformIdxで現される変換基底選択情報129を設定する。
次に、係数順制御部2103を説明する。入力された予測モード2121のうち、IntraNxNPredModeIndexL0に示されるモード番号に従ってTransformIdxが定められている。IntraNxNPredModeIndexL0は、単方向のイントラ予測モードを示し、9種類の予測モードが与えられている。
ここで、9種類の1D−2D変換部2202〜2210は、予測モード2121毎に異なるスキャン順を用いる。図9に4x4画素ブロックにおける予測モードとスキャン順の関係を示す。図15のIntraNxNPredMdeIndexL0の番号に応じて、異なるスキャン順が選択される。ここでは、4x4画素ブロックにおける例を示したが、8x8画素ブロックや16x16画素ブロックに対しても同様に、予測モード毎に異なるスキャン順が選択できる。また、画素ブロックがMxNで表現される矩形ブロックである場合、2D−1D変換を行うブロックサイズとしてMxNを用いてもよい。この場合は、矩形ブロックに対応して、予測モード毎に図9に示されるようなスキャン順テーブルを用意すればよい。
図16は、本発明の本実施の形態に関わるスライスヘッダーシンタクス1106の例を示す図である。図中に示されるslice_uni_directional_transform_flagは、当該スライスに方向考慮型直交変換を適用するかどうかを示すシンタクス要素であり、第1の実施の形態と同一のため説明を省略する。
図16中に示されるslice_bipred_intra_flagは、当該スライスに双方向イントラ予測を適用するかどうかを示すシンタクス要素である。slice_bipred_intra_flagが0である場合、イントラ予測画像生成部108では、双方向イントラ予測画像生成部1402を利用することができない。この場合、予測選択スイッチ1404は、予測モード128に関わらずスイッチの出力端を単方向イントラ予測画像生成部1401へ接続する。
一方、slice_bipred_intra_flagが1である場合、イントラ予測画像生成部108内の予測選択スイッチ1404では、予測モード128に従って、単方向イントラ予測画像生成部1401と双方向イントラ予測画像生成部1402を選択することが可能となる。
図17は、本発明の実施の形態に関わるマクロブロックレイヤーシンタクス1108の例を示す。図中に示すbipred_intra_flagは、当該マクロブロックで双方向イントラ予測を適用するかどうかを示すシンタクス要素である。bipred_intra_flagはslice_bipred_intra_flagが1でマクロブロックの符号化タイプがイントラ予測の時のみ符号化される。bipred_intra_flagが0の場合、当該マクロブロックのイントラ予測画像生成部108では、双方向イントラ予測画像生成部1402を利用することができない。この場合、予測選択スイッチ1404は、予測モード128に関わらずスイッチの出力端を単方向イントラ予測画像生成部1401へ接続する。
一方、bipred_intra_flagが1である場合、当該マクロブロックにおけるイントラ予測画像生成部108内の予測選択スイッチ1404では、予測モード128に従って、単方向イントラ予測画像生成部1401と双方向イントラ予測画像生成部1402を選択することが可能となる。
以上の第6の実施の形態によれば、第5の実施の形態の効果に加え、第2の実施の形態に従う動画像符号化装置により生成される符号化データを復号することができる。
[第7の実施の形態]
次に、第7の実施の形態について説明する。第7の実施の形態に係る動画像復号化装置の構成は、第5の実施の形態と同一である。第7の実施の形態に従う動画像復号化装置2100は、例えば、第3の実施の形態に従う動画像符号化装置により生成される符号化データを復号する。なお、第5の実施の形態と同じ機能を持つブロック、シンタクスには同一の符号を付し、ここでは説明を省略する。第7の実施の形態では、逆直交変換部2105の内部構造のみが第5の実施の形態と異なる。
ここでは、図20を用いて逆直交変換部2105を説明する。図20における逆直交変換部105は、図21における逆直交変換部2105と同一機能を有する。図20において、逆量子化変換係数122、変換基底選択情報129、復元予測誤差信号123は、図21における逆量子化変換係数2117、変換基底選択情報2122、復元予測誤差信号2118に、それぞれ対応している。
図20は、逆直交変換部2105(105)を示すブロック図である。本実施の形態に関わる逆直交変換部2105(105)は、図6で示される各処理ブロックに加え、第三逆直交変換部2001を有する。ここで、第一逆直交変換部601と第二逆直交変換部602は、式(6)、式(7)で示されるような予測方向を考慮した逆直交変換を行う。一方、第三逆直交変換部2001は例えばIDCTを行う。この場合の変換基底選択情報2122は図19A、図19Bに示される。TransformIdxが0の場合、基底選択スイッチ603はスイッチの出力端を第一逆直交変換部601へと接続する。TransformIdxが1の場合、基底選択スイッチ603はスイッチの出力端を第二逆直交変換部602へと接続する。TransformIdxが2の場合、基底選択スイッチ603はスイッチの出力端を第三逆直交変換部2001へと接続する。
なお、第6の実施の形態と第7の実施の形態を組み合わせた動画像復号化装置の構成も可能である。
以上の第7の実施の形態によれば、第5の実施の形態の効果に加え、第3の実施の形態に従う動画像符号化装置により生成される符号化データを復号することができる。
[第8の実施の形態]
次に、第8の実施の形態について説明する。第8の実施の形態に係る動画像復号化装置の構成は、第5の実施の形態と同一である。第8の実施の形態に従う動画像復号化装置2100は、例えば、第4の実施の形態に従う動画像符号化装置により生成される符号化データを復号する。なお、第5の実施の形態と同じ機能を持つブロック、シンタクスには同一の符号を付し、ここでは説明を省略する。第8の実施の形態では、逆直交変換部2105の内部構造のみが第5の実施の形態と異なる。
ここでは、図24を用いて逆直交変換部2105を説明する。図24における逆直交変換部105は、図21における逆直交変換部2105と同一機能を有する。図20において、逆量子化変換係数122、変換基底選択情報129、復元予測誤差信号123は、図21における逆量子化変換係数2117、変換基底選択情報2122、復元予測誤差信号2118に、それぞれ対応している。
図24は、逆直交変換部2105(105)を示すブロック図である。本実施の形態に関わる逆直交変換部2105(105)は、図6で示される各処理ブロックに加え、第一逆直交変換部2401、第二逆直交変換部2402が変更されており、第三逆直交変換部2403、第四逆直交変換部2404を有する。ここで、第一逆直交変換部2401〜第四逆直交変換部2404は、式(6)、式(7)で示されるような予測方向に応じて生成される予測誤差を考慮した逆直交変換を行う。ここでは、これら第一逆直交変換部2401〜第四逆直交変換部2404のいずれかがIDCTなどに置き換えられてもよい。
この場合の変換基底選択情報129は図25A、図25Bに示される。TransformIdxが0の場合、基底選択スイッチ603はスイッチの出力端を第一逆直交変換部2401へと接続する。TransformIdxが1の場合、基底選択スイッチ603はスイッチの出力端を第二逆直交変換部2402へと接続する。TransformIdxが2の場合、基底選択スイッチ603はスイッチの出力端を第三逆直交変換部2403へと接続する。TransformIdxが3の場合、基底選択スイッチ603はスイッチの出力端を第四逆直交変換部2404へと接続する。
本実施の形態では、4つの逆直交変換を用いる。このうち第一逆直交変換部と第四逆直交変換部では予測方向に応じて生成された予測誤差の相関を考慮した直交変換基底を用いて逆直交変換を行う。この際に、予測画素が生成される参照画素ラインに応じて逆直交変換を分類することにより、変換係数の集密度を高めた符号化が可能となる。
なお、本発明の本実施の形態では、第一逆直交変換、第二逆直交変換、第三逆直交変換、第四逆直交変換の4種類の逆直交変換を、それぞれ分類された予測モード毎に切り替える方式を説明したが、これらの数を増やすことも可能である。この場合、異なる逆直交変換別にハードウェアなどが必要となるが、回路規模と符号化時の符号化効率のバランスを取った組み合わせを選択すればよい。また、第6の実施の形態と第8の実施の形態を組み合わせた動画像復号化装置の構成も可能である。
また、本発明の第8の実施の形態では、4種類の逆直交変換を、それぞれ分類された予測モード毎に切り替える方式を説明したが、この逆変換を行う際の直交変換行列を共有化することにより、ハードウェア実現時の回路規模を更に削減することが可能である。例えば、式(6)、式(7)で示される2次元の分離型の逆変換における行列A、B若しくは行列C、Dを予測モード別に使いまわすことも可能である。この一例が図26A、図26B、図26Cに示されている。ここでは、式(6)における行列Aに対応する1次元変換と行列Bに対応する1次元変換の組み合わせが明記されている(式(7)における行列Cに対応する1次元変換と行列Dに対応する1次元変換でも同様)。例えば、TransformIdx=0の場合、式(6)の行列A、Bには、共通の1D Transform Matrix αが使われることを意味する。このような変換行列の共有化を行うことにより、逆直交変換部毎に2種類必要であった変換行列数が削減できる。例えば、本発明の本実施の形態では、4種類の逆直交変換部を保持しているため、8種類の変換行列が必要であったが、2種類の変換行列だけで4種類の逆直交変換が可能となる。
以上の第8の実施の形態によれば、第5の実施の形態の効果に加え、第4の実施の形態に従う動画像符号化装置により生成される符号化データを復号することができる。
(第1から第8の実施の形態の変形例)
(1)図12、図13、図16、図17に示すシンタクスの表中の行間には、本実施の形態において規定していないシンタクス要素が挿入されてもよく、その他の条件分岐に関する記述が含まれていてもよい。また、シンタクステーブルを複数のテーブルに分割し、又は複数のシンタクステーブルを統合してもよい。また、必ずしも同一の用語を用いる必要は無く、利用する形態によって任意に変更してもよい。
(2)第1から第8の実施の形態においては、処理対象フレームを16×16画素サイズなどの短形ブロックに分割し、図2Aに示したように画面左上のブロックから右下に向かって順に符号化/復号化する場合について説明しているが、符号化順序及び復号化順序はこれに限られない。例えば、右下から左上に向かって順に符号化及び復号化を行ってもよいし、画面中央から渦巻状に向かって順に符号化及び復号化を行ってもよい。更に、右上から左下に向かって順に符号化及び復号化を行ってもよいし、画面の周辺部から中心部に向かって順に符号化及び復号化を行ってもよい。
(3)第1から第8の実施の形態においては、ブロックサイズを4×4画素ブロック、8×8画素ブロック、16×16画素ブロックとして説明を行ったが、予測対象ブロックは均一なブロック形状にする必要なく、16×8画素ブロック、8×16画素ブロック、8×4画素ブロック、4×8画素ブロックなどの何れのブロックサイズであってもよい。また、1つのマクロブロック内でも全てのブロックを同一にする必要はなく、異なるサイズのブロックを混在させてもよい。この場合、分割数が増えると分割情報を符号化又は復号化するための符号量が増加する。そこで、変換係数の符号量と局部復号画像又は復号画像とのバランスを考慮して、ブロックサイズを選択すればよい。
(4)第1から第8の実施の形態においては、輝度信号と色差信号を分割せず、一方の色信号成分に限定した例として記述した。しかし、予測処理が輝度信号と色差信号で異なる場合、それぞれ異なる予測手法を用いてもよいし、同一の予測手法を用いてもよい。異なる予測手法を用いる場合は、色差信号に対して選択した予測手法を輝度信号と同様の手法で符号化又は復号化する。
(5)第1から第8の実施の形態においては、輝度信号と色差信号を分割せず、一方の色信号成分に限定した例として記述した。しかし、直交変換処理が輝度信号と色差信号で異なる場合、それぞれ異なる直交変換手法を用いてもよいし、同一の直交変換手法を用いてもよい。異なる直交変換手法を用いる場合は、色差信号に対して選択した直交変換手法を輝度信号と同様の手法で符号化又は復号化する。
以上の実施の形態によれば、イントラ予測符号化における直交変換後の係数集密度を高めるとともに、ハードウェア実現時の回路規模を削減する。つまり、直交変換をハードウェアで実現する際に、予測方向に対応した専用ハードウェアを用いることによる回路規模を大幅に増加させずに、直交変換後の係数集密度を高めることによって、符号化効率を向上させると共に主観画質も向上するという効果を奏する。
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の動画像符号化装置及び動画像復号化装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、またはこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の動画像符号化装置及び動画像復号化装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合または読み込む場合はネットワークを通じて取得または読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本願発明における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
なお、本願発明におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。