JP2013168913A - 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 - Google Patents
動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 Download PDFInfo
- Publication number
- JP2013168913A JP2013168913A JP2012092016A JP2012092016A JP2013168913A JP 2013168913 A JP2013168913 A JP 2013168913A JP 2012092016 A JP2012092016 A JP 2012092016A JP 2012092016 A JP2012092016 A JP 2012092016A JP 2013168913 A JP2013168913 A JP 2013168913A
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- variable
- coefficient
- block
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】コンテキスト値を算出する際の並列度を高めることができるようにする。
【解決手段】係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に係数パラメータのコンテキスト値を算出する並列コンテキスト値算出部64を設け、サブブロック符号化部66が、並列コンテキスト値算出部64からスキャン順でPosLastが示す位置より後ろにある係数パラメータ以外の係数パラメータのコンテキスト値を取得して、生起確率格納用メモリ65から上記コンテキスト値に対応する生起確率を取得し、その生起確率に基づいて上記係数パラメータを算術符号化する。
【選択図】図1
【解決手段】係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に係数パラメータのコンテキスト値を算出する並列コンテキスト値算出部64を設け、サブブロック符号化部66が、並列コンテキスト値算出部64からスキャン順でPosLastが示す位置より後ろにある係数パラメータ以外の係数パラメータのコンテキスト値を取得して、生起確率格納用メモリ65から上記コンテキスト値に対応する生起確率を取得し、その生起確率に基づいて上記係数パラメータを算術符号化する。
【選択図】図1
Description
この発明は、動画像を高効率で符号化を行う動画像符号化装置及び動画像符号化方法と、高効率で符号化されている動画像を復号する動画像復号装置及び動画像復号方法とに関するものである。
例えば、以下の非特許文献1に記載されている従来の動画像符号化装置では、入力された画像を所定の大きさの最大符号化ブロックに分割し、さらに、最大符号化ブロックをより細かい符号化ブロックに階層分割する。
また、その符号化ブロックをさらに細かい予測ブロックに分割し、その予測ブロックに対する画面内予測や動き補償予測を実施することで予測誤差を生成する。
また、その予測誤差を符号化ブロック内で階層的に変換ブロックに分割し、それぞれの変換係数を算術符号化することで高い圧縮率を達成している。
また、その符号化ブロックをさらに細かい予測ブロックに分割し、その予測ブロックに対する画面内予測や動き補償予測を実施することで予測誤差を生成する。
また、その予測誤差を符号化ブロック内で階層的に変換ブロックに分割し、それぞれの変換係数を算術符号化することで高い圧縮率を達成している。
従来の動画像符号化装置では、変換係数の算術符号化において、変換ブロックのサイズが8×8サイズより大きい場合、例えば、図21に示すように、変換ブロックを4×4サイズのサブブロックに分割し、次のように符号化を行う。
(1)図21に示す斜めスキャン順にサブブロックを走査するとともに、斜めスキャン順にサブブロック内の変換係数を走査し、斜めスキャン順で最も後ろにある非零の変換係数の位置を“PosLast”として特定する。
(2)PosLastの水平成分であるPosLastXと、PosLastの垂直成分であるPosLastYを算術符号化する。
(3)PosLastを含むサブブロックから逆斜めスキャン順(上記の斜めスキャンと逆順であり、図22の矢印が示す順番)に、当該サブブロック内に非零の変換係数が含まれているか否かを示すSigCoeffGroupFlagを算術符号化する。
SigCoeffGroupFlagが当該サブブロック内に非零の変換係数が含まれている旨を示している場合、以下の(4)〜(8)の処理を行う。
(1)図21に示す斜めスキャン順にサブブロックを走査するとともに、斜めスキャン順にサブブロック内の変換係数を走査し、斜めスキャン順で最も後ろにある非零の変換係数の位置を“PosLast”として特定する。
(2)PosLastの水平成分であるPosLastXと、PosLastの垂直成分であるPosLastYを算術符号化する。
(3)PosLastを含むサブブロックから逆斜めスキャン順(上記の斜めスキャンと逆順であり、図22の矢印が示す順番)に、当該サブブロック内に非零の変換係数が含まれているか否かを示すSigCoeffGroupFlagを算術符号化する。
SigCoeffGroupFlagが当該サブブロック内に非零の変換係数が含まれている旨を示している場合、以下の(4)〜(8)の処理を行う。
(4)逆斜めスキャン順に、当該サブブロック内の変換係数(各周波数成分の位置にある変換係数)が非零であるか否かを示すsignificant_coeff_flagを算術符号化する。
(5)逆斜めスキャン順に、significant_coeff_flagが非零である旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が1より大きいか否かを示すcoeff_abs_level_greater1_flagを算術符号化する。
(6)逆斜めスキャン順に、coeff_abs_level_greater1_flagが、変換係数の絶対値が1より大きい旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が2より大きいか否かを示すcoeff_abs_level_greater2_flagを算術符号化する。
(7)逆斜めスキャン順に、significant_coeff_flagが非零である旨を示している周波数成分位置の変換係数については、その変換係数の正負の符号を示すcoeff_sign_flagを算術符号化する。
(8)逆斜めスキャン順に、coeff_abs_level_greater2_flagが、変換係数の絶対値が2より大きい旨を示している周波数成分位置の変換係数については、変換係数の絶対値から3を減じた値であるcoeff_abs_level_minus3を算術符号化する。
(9)最後のサブブロックに至るまで(3)を繰り返し実施する。
(5)逆斜めスキャン順に、significant_coeff_flagが非零である旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が1より大きいか否かを示すcoeff_abs_level_greater1_flagを算術符号化する。
(6)逆斜めスキャン順に、coeff_abs_level_greater1_flagが、変換係数の絶対値が1より大きい旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が2より大きいか否かを示すcoeff_abs_level_greater2_flagを算術符号化する。
(7)逆斜めスキャン順に、significant_coeff_flagが非零である旨を示している周波数成分位置の変換係数については、その変換係数の正負の符号を示すcoeff_sign_flagを算術符号化する。
(8)逆斜めスキャン順に、coeff_abs_level_greater2_flagが、変換係数の絶対値が2より大きい旨を示している周波数成分位置の変換係数については、変換係数の絶対値から3を減じた値であるcoeff_abs_level_minus3を算術符号化する。
(9)最後のサブブロックに至るまで(3)を繰り返し実施する。
ここで、significant_coeff_flagの算術符号化に用いる生起確率を格納する確率状態メモリ領域は、図23に示すように、近傍の周波数成分位置における変換係数のsignificant_coeff_flagの値の合計値を加算した値であるコンテキスト値ctxIdx及び変換ブロックサイズの値に応じて切り替えるようにしている。
これにより、最適な生起確率に基づく算術符号化が実施されるため、圧縮効率が向上する。
これにより、最適な生起確率に基づく算術符号化が実施されるため、圧縮効率が向上する。
具体的には、例えば、図23(b)で、斜線が施されているサブブロックでは、左上隅の周波数成分位置の変換係数と、右下隅の一つ上の周波数成分位置の変換係数においては、図23(a)に示すように、当該周波数成分位置の1つ右側の周波数成分位置、2つ右側の周波数成分位置、右下側の周波数成分位置及び2つ下側の周波数成分位置における変換係数のsignificant_coeff_flagの値の合計値を加算し、その加算結果をコンテキスト値ctxIdxとしている。ただし、変換ブロック外を参照する場合には、参照された値は0であるとして動作する。
符号化ブロックの分割状況を示すブロック分割情報、動き情報などを含む他の符号化パラメータについても、生起確率を格納する確率状態メモリ領域を切り替えることにより、最適な生起確率に基づく算術符号化が実施される。
なお、各確率状態メモリ領域の初期値は、異なる複数種類の初期値テーブルのいずれかを用いて、スライスまたはピクチャの先頭で初期化される。
なお、各確率状態メモリ領域の初期値は、異なる複数種類の初期値テーブルのいずれかを用いて、スライスまたはピクチャの先頭で初期化される。
B. Bross,W.−J. Han,J.−R. Ohm,G. J. Sullivan and T. Wiegand,"WD5:Working Draft 5 of High−Efficiency Video Coding",doc. JCTVC−G1103,Joint Collaborative Team on Video Coding(JCT−VC)of ITU−T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,7th Meeting,2011
従来の動画像符号化装置は以上のように構成されているので、変換係数のコンテキスト値ctxIdxを算出する際、斜めに隣接している周波数成分位置における変換係数のsignificant_coeff_flagの値を互いに参照しない(例えば、図23(c)に示すサブブロック内の周波数成分位置7,8,9では、変換係数のsignificant_coeff_flagの値を互いに参照しない)ため、並列処理で算出することが可能である。
また、例えば、サブブロックの右下隅と1つ上側の周波数成分位置における変換係数のsignificant_coeff_flagの値を互いに参照しない(例えば、図23(c)に示すサブブロック内の周波数成分位置0,1では、変換係数のsignificant_coeff_flagの値を互いに参照しない)ため、並列処理で算出することが可能である。
しかしながら、サブブロック内の各周波数成分位置における変換係数のコンテキスト値ctxIdxをできる限り並列処理で算出するように構成しても、周波数成分位置の並列処理の組合せとしては、図23(c)に示すように、(0,1)、(2,3)、(4,5,6)、(7,8,9)、(10,11,12)、(13,14)、(15)のように最小でも7種類となり、2倍程度の並列度しか達成できない(同一グループ内の周波数成分位置における変換係数のコンテキスト値は並列に算出することができるが、或るグループにおいて、変換係数のコンテキスト値を算出している間は、他のグループにおける変換係数のコンテキスト値を算出することができない。このため、各グループ間では、変換係数のコンテキスト値をシーケンシャルに算出する必要があるため、2倍程度の並列度しか達成できない)という課題があった。
また、例えば、サブブロックの右下隅と1つ上側の周波数成分位置における変換係数のsignificant_coeff_flagの値を互いに参照しない(例えば、図23(c)に示すサブブロック内の周波数成分位置0,1では、変換係数のsignificant_coeff_flagの値を互いに参照しない)ため、並列処理で算出することが可能である。
しかしながら、サブブロック内の各周波数成分位置における変換係数のコンテキスト値ctxIdxをできる限り並列処理で算出するように構成しても、周波数成分位置の並列処理の組合せとしては、図23(c)に示すように、(0,1)、(2,3)、(4,5,6)、(7,8,9)、(10,11,12)、(13,14)、(15)のように最小でも7種類となり、2倍程度の並列度しか達成できない(同一グループ内の周波数成分位置における変換係数のコンテキスト値は並列に算出することができるが、或るグループにおいて、変換係数のコンテキスト値を算出している間は、他のグループにおける変換係数のコンテキスト値を算出することができない。このため、各グループ間では、変換係数のコンテキスト値をシーケンシャルに算出する必要があるため、2倍程度の並列度しか達成できない)という課題があった。
この発明は上記のような課題を解決するためになされたもので、サブブロック内の各周波数成分位置における変換係数のコンテキスト値を算出する際の並列度を高めることができる動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法を得ることを目的とする。
この発明に係る動画像符号化装置は、可変長符号化手段が、画像圧縮手段から出力された圧縮データである変換係数をサブブロックに分割し、各々のサブブロックの変換係数をスキャンして圧縮データ系列を生成するとともに、各々のサブブロックの変換係数が非零であるか否かを示す係数パラメータを出力する係数スキャン手段と、係数スキャン手段から出力された係数パラメータを参照して、その圧縮データ系列の中で、その変換係数のスキャン順で最も後ろにある非零の変換係数を特定し、その変換係数の位置を示す最後位置情報を可変長符号化する最後位置情報符号化手段と、係数スキャン手段から出力された係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に上記係数パラメータのコンテキスト値を算出するコンテキスト値算出手段と、コンテキスト値に対応する生起確率を格納している生起確率格納用メモリと、コンテキスト値算出手段から上記スキャン順で上記最後位置情報が示す位置より後ろにある係数パラメータ以外の係数パラメータのコンテキスト値を取得して、生起確率格納用メモリから上記コンテキスト値に対応する生起確率を取得し、その生起確率に基づいて上記係数パラメータを可変長符号化するとともに、その係数パラメータが非零である旨を示していれば、その係数パラメータに係る変換係数の絶対値及び正負の符号を可変長符号化する第1の可変長符号化手段と、符号化制御手段により選択された符号化モードを含む符号化パラメータを可変長符号化する第2の可変長符号化手段とから構成されているようにしたものである。
この発明によれば、可変長符号化手段が、画像圧縮手段から出力された圧縮データである変換係数をサブブロックに分割し、各々のサブブロックの変換係数をスキャンして圧縮データ系列を生成するとともに、各々のサブブロックの変換係数が非零であるか否かを示す係数パラメータを出力する係数スキャン手段と、係数スキャン手段から出力された係数パラメータを参照して、その圧縮データ系列の中で、その変換係数のスキャン順で最も後ろにある非零の変換係数を特定し、その変換係数の位置を示す最後位置情報を可変長符号化する最後位置情報符号化手段と、係数スキャン手段から出力された係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に上記係数パラメータのコンテキスト値を算出するコンテキスト値算出手段と、コンテキスト値に対応する生起確率を格納している生起確率格納用メモリと、コンテキスト値算出手段から上記スキャン順で上記最後位置情報が示す位置より後ろにある係数パラメータ以外の係数パラメータのコンテキスト値を取得して、生起確率格納用メモリから上記コンテキスト値に対応する生起確率を取得し、その生起確率に基づいて上記係数パラメータを可変長符号化するとともに、その係数パラメータが非零である旨を示していれば、その係数パラメータに係る変換係数の絶対値及び正負の符号を可変長符号化する第1の可変長符号化手段と、符号化制御手段により選択された符号化モードを含む符号化パラメータを可変長符号化する第2の可変長符号化手段とから構成されているので、サブブロック内の各周波数成分位置における変換係数のコンテキスト値を算出する際の並列度を高めることができるようになり、処理速度の高速化を図ることができる効果がある。
実施の形態1.
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
この実施の形態1の動画像符号化装置が処理対象とする映像信号は、輝度信号と2つの色差信号からなるYUV信号や、ディジタル撮像素子から出力されるRGB信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直2次元のディジタルサンプル(画素)列から構成される任意の映像信号である。
各画素の諧調は8ビットでもよいし、10ビット、12ビットなどの諧調であってもよい。
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
この実施の形態1の動画像符号化装置が処理対象とする映像信号は、輝度信号と2つの色差信号からなるYUV信号や、ディジタル撮像素子から出力されるRGB信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直2次元のディジタルサンプル(画素)列から構成される任意の映像信号である。
各画素の諧調は8ビットでもよいし、10ビット、12ビットなどの諧調であってもよい。
ただし、以下の説明においては、特に断らない限り、入力される映像信号がYUV信号であるものとする。また、2つの色差成分U,Vが輝度成分Yに対して、サブサンプルされた4:2:0フォーマットの信号であるものとする。
なお、映像の各フレームに対応する処理データ単位を「ピクチャ」と称し、この実施の形態1では、「ピクチャ」は順次走査(プログレッシブスキャン)された映像フレームの信号として説明を行う。ただし、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。
なお、映像の各フレームに対応する処理データ単位を「ピクチャ」と称し、この実施の形態1では、「ピクチャ」は順次走査(プログレッシブスキャン)された映像フレームの信号として説明を行う。ただし、映像信号がインタレース信号である場合、「ピクチャ」は映像フレームを構成する単位であるフィールド画像信号であってもよい。
図1において、符号化制御部1はイントラ予測処理(フレーム内予測処理)又は動き補償予測処理(フレーム間予測処理)が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定する処理を実施する。
また、符号化制御部1は利用可能な1以上の符号化モード(1以上のイントラ符号化モード、1以上のインター符号化モード)の中から、階層的に分割される各々の符号化ブロックに適する符号化モードを選択する処理を実施する。
また、符号化制御部1は各々の符号化ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換ブロックサイズを決定するとともに、予測処理が実施される際に用いられるイントラ予測パラメータ又はインター予測パラメータを決定する処理を実施する。量子化パラメータ及び変換ブロックサイズを示す変換ブロック分割フラグは、予測差分符号化パラメータに含まれて、変換・量子化部7、逆量子化・逆変換部8及び可変長符号化部13等に出力される。
なお、符号化制御部1は符号化制御手段を構成している。
また、符号化制御部1は利用可能な1以上の符号化モード(1以上のイントラ符号化モード、1以上のインター符号化モード)の中から、階層的に分割される各々の符号化ブロックに適する符号化モードを選択する処理を実施する。
また、符号化制御部1は各々の符号化ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換ブロックサイズを決定するとともに、予測処理が実施される際に用いられるイントラ予測パラメータ又はインター予測パラメータを決定する処理を実施する。量子化パラメータ及び変換ブロックサイズを示す変換ブロック分割フラグは、予測差分符号化パラメータに含まれて、変換・量子化部7、逆量子化・逆変換部8及び可変長符号化部13等に出力される。
なお、符号化制御部1は符号化制御手段を構成している。
ここで、変換ブロックサイズは、符号化ブロックを四分木状に階層分割することによって決定される。
例えば、変換ブロックを分割する場合と変換ブロックを分割しない場合での符号量や、符号化誤差を加味した評価尺度などに基づいて、評価値が最小になるように変換ブロックを分割するか否かを決定することで、符号量と符号化誤差のトレードオフの観点から最適な変換ブロックの分割形状を決定することができる。
例えば、変換ブロックを分割する場合と変換ブロックを分割しない場合での符号量や、符号化誤差を加味した評価尺度などに基づいて、評価値が最小になるように変換ブロックを分割するか否かを決定することで、符号量と符号化誤差のトレードオフの観点から最適な変換ブロックの分割形状を決定することができる。
例えば、予測ブロックの形状が正方形である予測モードが、符号化ブロックの符号化モードとして選択された場合、符号化ブロックが1つまたは複数の正方形の変換ブロックに階層的に分割されるように構成する。
一方、予測ブロックの形状が長方形である予測モードが、符号化ブロックの符号化モードとして選択された場合、符号化ブロックが1つまたは複数の長方形の変換ブロックに階層的に分割されるように構成する。あるいは、正方形の変換ブロックに分割された後に、さらに下の階層で長方形の変換ブロックに分割されるように構成する。
変換ブロックの分割情報は、階層毎に分割するか否かを示す変換ブロック分割フラグとして可変長符号化部13に出力する。
一方、予測ブロックの形状が長方形である予測モードが、符号化ブロックの符号化モードとして選択された場合、符号化ブロックが1つまたは複数の長方形の変換ブロックに階層的に分割されるように構成する。あるいは、正方形の変換ブロックに分割された後に、さらに下の階層で長方形の変換ブロックに分割されるように構成する。
変換ブロックの分割情報は、階層毎に分割するか否かを示す変換ブロック分割フラグとして可変長符号化部13に出力する。
ブロック分割部2は入力画像(カレントピクチャ)を示す画像信号を入力すると、その入力画像を符号化制御部1により決定された最大サイズの符号化ブロックに分割するとともに、符号化制御部1により決定された上限の階層数に至るまで、その符号化ブロックを階層的に分割する処理を実施する。なお、ブロック分割部2はブロック分割手段を構成している。
切替スイッチ3は符号化制御部1により選択された符号化モードがイントラ符号化モードであれば、ブロック分割部2により分割された符号化ブロックをイントラ予測部4に出力し、符号化制御部1により選択された符号化モードがインター符号化モードであれば、ブロック分割部2により分割された符号化ブロックを動き補償予測部5に出力する処理を実施する。
切替スイッチ3は符号化制御部1により選択された符号化モードがイントラ符号化モードであれば、ブロック分割部2により分割された符号化ブロックをイントラ予測部4に出力し、符号化制御部1により選択された符号化モードがインター符号化モードであれば、ブロック分割部2により分割された符号化ブロックを動き補償予測部5に出力する処理を実施する。
イントラ予測部4は切替スイッチ3からブロック分割部2により分割された符号化ブロックを受けると、その符号化ブロックに対して、イントラ予測用メモリ10により格納されている上記符号化ブロックに隣接している復号済みの画素を用いて、符号化制御部1から出力されたイントラ予測パラメータに基づくフレーム内予測処理を実施することで予測画像を生成する処理を実施する。
即ち、イントラ予測部4は、ブロック分割部2により分割された符号化ブロックにおける輝度成分については、その輝度成分のフレーム内予測を実施して、輝度成分に対する予測画像を生成する。
一方、ブロック分割部2により分割された符号化ブロックにおける色差成分については、符号化制御部1により選択された符号化モードが、イントラ符号化モードにおける方向性予測モードであれば、ブロック分割部2により分割された符号化ブロックにおける色差成分のフレーム内予測を実施して、色差成分に対する予測画像を生成する。
即ち、イントラ予測部4は、ブロック分割部2により分割された符号化ブロックにおける輝度成分については、その輝度成分のフレーム内予測を実施して、輝度成分に対する予測画像を生成する。
一方、ブロック分割部2により分割された符号化ブロックにおける色差成分については、符号化制御部1により選択された符号化モードが、イントラ符号化モードにおける方向性予測モードであれば、ブロック分割部2により分割された符号化ブロックにおける色差成分のフレーム内予測を実施して、色差成分に対する予測画像を生成する。
動き補償予測部5はブロック分割部2により分割された符号化ブロックに対応する符号化モードとして、符号化制御部1によりインター符号化モードが選択された場合、動き補償予測フレームメモリ12により格納されている1フレーム以上の参照画像を用いて、符号化制御部1から出力されたインター予測パラメータに基づいて、その符号化ブロックに対する動き補償予測処理を実施することで予測画像を生成する処理を実施する。
なお、切替スイッチ3、イントラ予測部4及び動き補償予測部5から予測画像生成手段が構成されている。
なお、切替スイッチ3、イントラ予測部4及び動き補償予測部5から予測画像生成手段が構成されている。
減算部6はブロック分割部2により分割された符号化ブロックから、イントラ予測部4又は動き補償予測部5により生成された予測画像を減算することで、差分画像(=符号化ブロック−予測画像)を生成する処理を実施する。なお、減算部6は差分画像生成手段を構成している。
変換・量子化部7は符号化制御部1から出力された予測差分符号化パラメータに含まれている変換ブロック分割フラグから特定される変換ブロックサイズ単位で、減算部6により生成された差分画像の変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を実施するとともに、その予測差分符号化パラメータに含まれている量子化パラメータを用いて、その差分画像の変換係数を量子化することで、量子化後の変換係数を差分画像の圧縮データとして出力する処理を実施する。
即ち、変換・量子化部7は減算部6により生成された差分画像に対する変換・量子化処理(圧縮処理)を実施する場合、ブロック分割部2により分割された符号化ブロックをさらに階層的に分割して、分割後のブロック単位で変換・量子化処理を実施する。
なお、変換・量子化部7は画像圧縮手段を構成している。
即ち、変換・量子化部7は減算部6により生成された差分画像に対する変換・量子化処理(圧縮処理)を実施する場合、ブロック分割部2により分割された符号化ブロックをさらに階層的に分割して、分割後のブロック単位で変換・量子化処理を実施する。
なお、変換・量子化部7は画像圧縮手段を構成している。
逆量子化・逆変換部8は符号化制御部1から出力された予測差分符号化パラメータに含まれている量子化パラメータを用いて、変換・量子化部7から出力された圧縮データを逆量子化し、その予測差分符号化パラメータに含まれている変換ブロック分割フラグから特定される変換ブロックサイズ単位で、逆量子化後の圧縮データの逆変換処理(例えば、逆DCT(逆離散コサイン変換)や逆DST(逆離散サイン変換)、逆KL変換等の逆変換処理)を実施することで、逆変換処理後の圧縮データを局所復号予測差分信号として出力する処理を実施する。
加算部9は逆量子化・逆変換部8から出力された局所復号予測差分信号とイントラ予測部4又は動き補償予測部5により生成された予測画像を示す予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成する処理を実施する。
イントラ予測用メモリ10はイントラ予測部4により次回のイントラ予測処理で用いられる画像として、加算部9により生成された局所復号画像信号が示す局所復号画像を格納するRAMなどの記録媒体である。
イントラ予測用メモリ10はイントラ予測部4により次回のイントラ予測処理で用いられる画像として、加算部9により生成された局所復号画像信号が示す局所復号画像を格納するRAMなどの記録媒体である。
ループフィルタ部11は加算部9により生成された局所復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局所復号画像信号が示す局所復号画像を参照画像として動き補償予測フレームメモリ12に出力する処理を実施する。
動き補償予測フレームメモリ12は動き補償予測部5により次回の動き補償予測処理で用いられる参照画像として、ループフィルタ部11によるフィルタリング処理後の局所復号画像を格納するRAMなどの記録媒体である。
動き補償予測フレームメモリ12は動き補償予測部5により次回の動き補償予測処理で用いられる参照画像として、ループフィルタ部11によるフィルタリング処理後の局所復号画像を格納するRAMなどの記録媒体である。
可変長符号化部13は変換・量子化部7から出力された圧縮データを可変長符号化するとともに、符号化制御部1から出力された符号化モード及び変換ブロック分割フラグを含む予測差分符号化パラメータ、イントラ予測部4から出力されたイントラ予測パラメータ又は動き補償予測部5から出力されたインター予測パラメータ、動き情報、符号化ブロックの分割状況を示すブロック分割情報などの符号化パラメータを可変長符号化して、その圧縮データ及び符号化パラメータの符号化データが多重化されているビットストリームを生成する処理を実施する。なお、可変長符号化部13は可変長符号化手段を構成している。
図1では、動画像符号化装置の構成要素である符号化制御部1、ブロック分割部2、切替スイッチ3、イントラ予測部4、動き補償予測部5、減算部6、変換・量子化部7、逆量子化・逆変換部8、加算部9、ループフィルタ部11及び可変長符号化部13のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、動画像符号化装置がコンピュータなどで構成される場合、符号化制御部1、ブロック分割部2、切替スイッチ3、イントラ予測部4、動き補償予測部5、減算部6、変換・量子化部7、逆量子化・逆変換部8、加算部9、ループフィルタ部11及び可変長符号化部13の処理内容を記述しているプログラムの全部又は一部を当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図2はこの発明の実施の形態1による動画像符号化装置の処理内容を示すフローチャートである。
図2はこの発明の実施の形態1による動画像符号化装置の処理内容を示すフローチャートである。
図3はこの発明の実施の形態1による動画像符号化装置のイントラ予測部4を示す構成図である。
図3において、輝度信号イントラ予測部21はブロック分割部2により分割された符号化ブロックにおける輝度成分のフレーム内予測を実施して、輝度成分に対する予測画像を生成する処理を実施する。
即ち、輝度信号イントラ予測部21はイントラ予測用メモリ10により格納されている上記符号化ブロックに隣接している復号済みの輝度参照画素を参照して、符号化制御部1から出力されたイントラ予測パラメータに基づく輝度成分のフレーム内予測を実施することで、輝度成分に対する予測画像を生成する処理を実施する。
図3において、輝度信号イントラ予測部21はブロック分割部2により分割された符号化ブロックにおける輝度成分のフレーム内予測を実施して、輝度成分に対する予測画像を生成する処理を実施する。
即ち、輝度信号イントラ予測部21はイントラ予測用メモリ10により格納されている上記符号化ブロックに隣接している復号済みの輝度参照画素を参照して、符号化制御部1から出力されたイントラ予測パラメータに基づく輝度成分のフレーム内予測を実施することで、輝度成分に対する予測画像を生成する処理を実施する。
切替スイッチ22は符号化制御部1から出力されたイントラ予測パラメータのうち、色差信号のイントラ符号化モードを示すパラメータが、方向性予測モードである旨を示していれば、予測に用いる参照画素を色差信号方向性イントラ予測部23に与え、色差信号のイントラ符号化モードを示すパラメータが、平滑化輝度相関利用色差信号予測モードである旨を示していれば、予測に用いる参照画素を輝度相関利用色差信号予測部24に出力する処理を実施する。
色差信号方向性イントラ予測部23は切替スイッチ22から受け取った上記符号化ブロックに隣接している復号済みの色差参照画素を参照して、符号化制御部1から出力されたイントラ予測パラメータに基づく色差成分のフレーム内予測を実施することで、色差成分に対する予測画像を生成する処理を実施する。
輝度相関利用色差信号予測部24は切替スイッチ22から受け取った復号済みの画素のうち、符号化ブロックに隣接している復号済みの輝度参照画素及び色差参照画素と、当該符号化ブロック内の復号済みの輝度参照画素を用いて、その符号化ブロックを構成している画素のうち、水平方向及び垂直方向に隣接している複数の画素に係る輝度成分を平滑化して、平滑化後の輝度成分と色差成分の相関を示す相関パラメータを算出し、その相関パラメータと平滑化後の輝度成分を用いて、色差成分に対する予測画像を生成する処理を実施する。
なお、図5はこの発明の実施の形態1による動画像符号化装置のイントラ予測部4の処理内容を示すフローチャートである。
輝度相関利用色差信号予測部24は切替スイッチ22から受け取った復号済みの画素のうち、符号化ブロックに隣接している復号済みの輝度参照画素及び色差参照画素と、当該符号化ブロック内の復号済みの輝度参照画素を用いて、その符号化ブロックを構成している画素のうち、水平方向及び垂直方向に隣接している複数の画素に係る輝度成分を平滑化して、平滑化後の輝度成分と色差成分の相関を示す相関パラメータを算出し、その相関パラメータと平滑化後の輝度成分を用いて、色差成分に対する予測画像を生成する処理を実施する。
なお、図5はこの発明の実施の形態1による動画像符号化装置のイントラ予測部4の処理内容を示すフローチャートである。
図4はこの発明の実施の形態1による動画像符号化装置の輝度相関利用色差信号予測部24を示す構成図である。
図4において、平滑化輝度参照画素縮小部31はイントラ予測用メモリ10により格納されている符号化ブロックを構成している復号済みの輝度参照画素のうち、水平方向及び垂直方向に隣接している複数の輝度参照画素の平滑化処理等を実施することで、縮小輝度参照画素Rec’Lを生成する。
相関算出部32はイントラ予測用メモリ10により格納されている色差参照画素と平滑化輝度参照画素縮小部31により生成された縮小輝度参照画素Rec’Lを用いて、輝度成分と色差成分の相関を示す相関パラメータα,βを算出する処理を実施する。
色差予測画像生成部33は相関算出部32により算出された相関パラメータα,βと平滑化輝度参照画素縮小部31により生成された縮小輝度参照画素Rec’Lを用いて、色差成分に対する予測画像を生成する処理を実施する。
なお、図6はこの発明の実施の形態1による動画像符号化装置の輝度相関利用色差信号予測部24の処理内容を示すフローチャートである。
図4において、平滑化輝度参照画素縮小部31はイントラ予測用メモリ10により格納されている符号化ブロックを構成している復号済みの輝度参照画素のうち、水平方向及び垂直方向に隣接している複数の輝度参照画素の平滑化処理等を実施することで、縮小輝度参照画素Rec’Lを生成する。
相関算出部32はイントラ予測用メモリ10により格納されている色差参照画素と平滑化輝度参照画素縮小部31により生成された縮小輝度参照画素Rec’Lを用いて、輝度成分と色差成分の相関を示す相関パラメータα,βを算出する処理を実施する。
色差予測画像生成部33は相関算出部32により算出された相関パラメータα,βと平滑化輝度参照画素縮小部31により生成された縮小輝度参照画素Rec’Lを用いて、色差成分に対する予測画像を生成する処理を実施する。
なお、図6はこの発明の実施の形態1による動画像符号化装置の輝度相関利用色差信号予測部24の処理内容を示すフローチャートである。
図7はこの発明の実施の形態1による動画像符号化装置の可変長符号化部13を示す構成図である。
図7において、変換係数可変長符号化部51は変換・量子化部7から出力された圧縮データを可変長符号化する処理を実施する。
符号化パラメータ可変長符号化部52は符号化制御部1から出力された符号化モード及び変換ブロック分割フラグを含む予測差分符号化パラメータ、イントラ予測部4から出力されたイントラ予測パラメータ又は動き補償予測部5から出力されたインター予測パラメータ、動き情報、符号化ブロックの分割状況を示すブロック分割情報などの符号化パラメータを可変長符号化する処理を実施する。
変換係数可変長符号化部51により可変長符号化された圧縮データの符号化データと、符号化パラメータ可変長符号化部52により可変長符号化された符号化パラメータとは多重化されてビットストリームが生成される。
なお、符号化パラメータ可変長符号化部52は第2の可変長符号化手段を構成している。
図7において、変換係数可変長符号化部51は変換・量子化部7から出力された圧縮データを可変長符号化する処理を実施する。
符号化パラメータ可変長符号化部52は符号化制御部1から出力された符号化モード及び変換ブロック分割フラグを含む予測差分符号化パラメータ、イントラ予測部4から出力されたイントラ予測パラメータ又は動き補償予測部5から出力されたインター予測パラメータ、動き情報、符号化ブロックの分割状況を示すブロック分割情報などの符号化パラメータを可変長符号化する処理を実施する。
変換係数可変長符号化部51により可変長符号化された圧縮データの符号化データと、符号化パラメータ可変長符号化部52により可変長符号化された符号化パラメータとは多重化されてビットストリームが生成される。
なお、符号化パラメータ可変長符号化部52は第2の可変長符号化手段を構成している。
図8は図7の可変長符号化部13における変換係数可変長符号化部51を示す構成図である。
図8において、変換ブロックスキャン部61は変換・量子化部7から出力された圧縮データである変換係数をサブブロックに分割し、各々のサブブロックの変換係数をスキャンして圧縮データ系列を生成するとともに、各々のサブブロックの変換係数が非零であるか否かを示す係数パラメータであるsignificant_coeff_flagを出力する処理を実施する。なお、変換ブロックスキャン部61は係数スキャン手段を構成している。
図8において、変換ブロックスキャン部61は変換・量子化部7から出力された圧縮データである変換係数をサブブロックに分割し、各々のサブブロックの変換係数をスキャンして圧縮データ系列を生成するとともに、各々のサブブロックの変換係数が非零であるか否かを示す係数パラメータであるsignificant_coeff_flagを出力する処理を実施する。なお、変換ブロックスキャン部61は係数スキャン手段を構成している。
PosLast符号化部62は変換ブロックスキャン部61から出力された係数パラメータであるsignificant_coeff_flagを参照して、その圧縮データ系列の中で、スキャン順(変換ブロックスキャン部61による変換係数のスキャン順)で最も後ろにある非零の変換係数を特定し、その変換係数の位置を示すPosLast(最後位置情報)をサブブロック符号化部66に出力するとともに、そのPosLastを可変長符号化する処理を実施する。なお、PosLast符号化部62は最後位置情報符号化手段を構成している。
係数パラメータ格納用メモリ63は変換ブロックスキャン部61から出力された係数パラメータであるsignificant_coeff_flagを格納するRAMなどの記録媒体である。
係数パラメータ格納用メモリ63は変換ブロックスキャン部61から出力された係数パラメータであるsignificant_coeff_flagを格納するRAMなどの記録媒体である。
並列コンテキスト値算出部64は係数パラメータ格納用メモリ63により格納された係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に係数パラメータのコンテキスト値ctxIdxを算出する処理を実施する。
なお、係数パラメータ格納用メモリ63及び並列コンテキスト値算出部64からコンテキスト値算出手段が構成されている。
なお、係数パラメータ格納用メモリ63及び並列コンテキスト値算出部64からコンテキスト値算出手段が構成されている。
生起確率格納用メモリ65はコンテキスト値ctxIdxに対応する生起確率(算術符号化に用いる生起確率)を格納するRAMなどの記録媒体である。
サブブロック符号化部66は並列コンテキスト値算出部64からスキャン順(変換ブロックスキャン部61による変換係数のスキャン順)でPosLastが示す位置より後ろにある係数パラメータ以外の係数パラメータ(PosLastが示す位置にある係数パラメータと、PosLastが示す位置より前にある係数パラメータ)のコンテキスト値ctxIdxを取得して、生起確率格納用メモリ65から上記コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて上記係数パラメータを算術符号化する処理を実施する。
また、サブブロック符号化部66は、その係数パラメータが非零である旨を示していれば、その係数パラメータに係る変換係数の絶対値及び正負の符号を可変長符号化する処理を実施する。この場合、生起確率格納用メモリ65と異なる生起確率格納用メモリ(変換係数の絶対値等を算術符号化するために、コンテキスト値ctxIdxに対応する生起確率を格納しているメモリ)から、コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術符号化する。
なお、サブブロック符号化部66は第1の可変長符号化手段を構成している。
サブブロック符号化部66は並列コンテキスト値算出部64からスキャン順(変換ブロックスキャン部61による変換係数のスキャン順)でPosLastが示す位置より後ろにある係数パラメータ以外の係数パラメータ(PosLastが示す位置にある係数パラメータと、PosLastが示す位置より前にある係数パラメータ)のコンテキスト値ctxIdxを取得して、生起確率格納用メモリ65から上記コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて上記係数パラメータを算術符号化する処理を実施する。
また、サブブロック符号化部66は、その係数パラメータが非零である旨を示していれば、その係数パラメータに係る変換係数の絶対値及び正負の符号を可変長符号化する処理を実施する。この場合、生起確率格納用メモリ65と異なる生起確率格納用メモリ(変換係数の絶対値等を算術符号化するために、コンテキスト値ctxIdxに対応する生起確率を格納しているメモリ)から、コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術符号化する。
なお、サブブロック符号化部66は第1の可変長符号化手段を構成している。
図9はこの発明の実施の形態1による動画像復号装置を示す構成図である。
図9において、可変長復号部41はイントラ予測処理又は動き補償予測処理が実施される際の処理単位となる符号化ブロックの最大サイズ及び最大サイズの符号化ブロックから階層的に分割されている符号化ブロックの階層数を特定することで、ビットストリームに多重化されている符号化データの中で、最大サイズの符号化ブロック及び階層的に分割されている符号化ブロックに係る符号化データを特定し、各々の符号化データから符号化ブロックに係る圧縮データ、符号化モード、変換ブロック分割フラグを含む予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータ、動き情報、ブロック分割情報などを可変長復号して、その圧縮データ及び予測差分符号化パラメータを逆量子化・逆変換部45に出力するとともに、その符号化モード及びイントラ予測パラメータ/インター予測パラメータを切替スイッチ42に出力する処理を実施する。なお、可変長復号部41は可変長復号手段を構成している。
図9において、可変長復号部41はイントラ予測処理又は動き補償予測処理が実施される際の処理単位となる符号化ブロックの最大サイズ及び最大サイズの符号化ブロックから階層的に分割されている符号化ブロックの階層数を特定することで、ビットストリームに多重化されている符号化データの中で、最大サイズの符号化ブロック及び階層的に分割されている符号化ブロックに係る符号化データを特定し、各々の符号化データから符号化ブロックに係る圧縮データ、符号化モード、変換ブロック分割フラグを含む予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータ、動き情報、ブロック分割情報などを可変長復号して、その圧縮データ及び予測差分符号化パラメータを逆量子化・逆変換部45に出力するとともに、その符号化モード及びイントラ予測パラメータ/インター予測パラメータを切替スイッチ42に出力する処理を実施する。なお、可変長復号部41は可変長復号手段を構成している。
切替スイッチ42は可変長復号部41から出力された符号化ブロックに係る符号化モードがイントラ符号化モードである場合、可変長復号部41から出力されたイントラ予測パラメータをイントラ予測部43に出力し、その符号化モードがインター符号化モードである場合、可変長復号部41から出力されたインター予測パラメータを動き補償部44に出力する処理を実施する。
イントラ予測部43はイントラ予測用メモリ47により格納されている符号化ブロックに隣接している復号済みの画素を用いて、切替スイッチ42から出力されたイントラ予測パラメータに基づいて、符号化ブロックに対するフレーム内予測処理を実施することで予測画像を生成する処理を実施する。
イントラ予測部43はイントラ予測用メモリ47により格納されている符号化ブロックに隣接している復号済みの画素を用いて、切替スイッチ42から出力されたイントラ予測パラメータに基づいて、符号化ブロックに対するフレーム内予測処理を実施することで予測画像を生成する処理を実施する。
動き補償部44は動き補償予測フレームメモリ49により格納されている1フレーム以上の参照画像を用いて、切替スイッチ42から出力されたインター予測パラメータに基づいて、符号化ブロックに対する動き補償予測処理を実施することで予測画像を生成する処理を実施する。
なお、切替スイッチ42、イントラ予測部43及び動き補償部44から予測画像生成手段が構成されている。
なお、切替スイッチ42、イントラ予測部43及び動き補償部44から予測画像生成手段が構成されている。
逆量子化・逆変換部45は可変長復号部41から出力された予測差分符号化パラメータに含まれている量子化パラメータを用いて、可変長復号部41から出力された符号化ブロックに係る圧縮データを逆量子化し、その予測差分符号化パラメータに含まれている変換ブロック分割フラグから特定される変換ブロックサイズ単位で、逆量子化の圧縮データの逆変換処理(例えば、逆DCT(逆離散コサイン変換)や逆DST(逆離散サイン変換)、逆KL変換等の逆変換処理)を実施することで、逆変換処理後の圧縮データを復号予測差分信号(圧縮前の差分画像を示す信号)として出力する処理を実施する。
即ち、逆量子化・逆変換部45は可変長復号部41から出力された予測差分符号化パラメータに含まれている変換ブロック分割フラグに基づいて階層的に分割された画像信号の変換ブロック形状を特定し、変換ブロック単位で逆量子化処理・逆変換処理を行う。
なお、逆量子化・逆変換部45は差分画像生成手段を構成している。
即ち、逆量子化・逆変換部45は可変長復号部41から出力された予測差分符号化パラメータに含まれている変換ブロック分割フラグに基づいて階層的に分割された画像信号の変換ブロック形状を特定し、変換ブロック単位で逆量子化処理・逆変換処理を行う。
なお、逆量子化・逆変換部45は差分画像生成手段を構成している。
加算部46は逆量子化・逆変換部45から出力された復号予測差分信号とイントラ予測部43又は動き補償部44により生成された予測画像を示す予測信号を加算することで、復号画像を示す復号画像信号を生成する処理を実施する。なお、加算部46は復号画像生成手段を構成している。
イントラ予測用メモリ47はイントラ予測部43により次回のイントラ予測処理で用いられる画像として、加算部46により生成された復号画像信号が示す復号画像を格納するRAMなどの記録媒体である。
イントラ予測用メモリ47はイントラ予測部43により次回のイントラ予測処理で用いられる画像として、加算部46により生成された復号画像信号が示す復号画像を格納するRAMなどの記録媒体である。
ループフィルタ部48は加算部46により生成された復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像として動き補償予測フレームメモリ49に出力するとともに、その復号画像を再生画像として外部に出力する処理を実施する。
動き補償予測フレームメモリ49は動き補償部44により次回の動き補償予測処理で用いられる参照画像として、ループフィルタ部48によるフィルタリング処理後の復号画像を格納するRAMなどの記録媒体である。
動き補償予測フレームメモリ49は動き補償部44により次回の動き補償予測処理で用いられる参照画像として、ループフィルタ部48によるフィルタリング処理後の復号画像を格納するRAMなどの記録媒体である。
図9では、動画像復号装置の構成要素である可変長復号部41、切替スイッチ42、イントラ予測部43、動き補償部44、逆量子化・逆変換部45、加算部46及びループフィルタ部48のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、動画像復号装置がコンピュータなどで構成される場合、可変長復号部41、切替スイッチ42、イントラ予測部43、動き補償部44、逆量子化・逆変換部45、加算部46及びループフィルタ部48の処理内容を記述しているプログラムの全部又は一部を当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図10はこの発明の実施の形態1による動画像復号装置の処理内容を示すフローチャートである。
図10はこの発明の実施の形態1による動画像復号装置の処理内容を示すフローチャートである。
図11はこの発明の実施の形態1による動画像復号装置の可変長復号部41を示す構成図である。
図11において、変換係数可変長復号部71はビットストリームに多重化された符号化データから圧縮データである変換係数を可変長復号する処理を実施する。
符号化パラメータ可変長復号部72はビットストリームに多重化された符号化データから符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータ、動き情報、ブロック分割情報などの符号化パラメータを可変長復号する処理を実施する。なお、符号化パラメータ可変長復号部72は第2の可変長復号手段を構成している。
図11において、変換係数可変長復号部71はビットストリームに多重化された符号化データから圧縮データである変換係数を可変長復号する処理を実施する。
符号化パラメータ可変長復号部72はビットストリームに多重化された符号化データから符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータ、動き情報、ブロック分割情報などの符号化パラメータを可変長復号する処理を実施する。なお、符号化パラメータ可変長復号部72は第2の可変長復号手段を構成している。
図12は図11の可変長復号部41における変換係数可変長復号部71を示す構成図である。
図12において、PosLast復号部81はビットストリームに多重化された符号化データからPosLast(最後位置情報)を可変長復号する処理を実施する。なお、PosLast復号部81は最後位置情報復号手段を構成している。
係数パラメータ格納用メモリ82はサブブロック復号部により可変長復号された係数パラメータを格納するRAMなどの記録媒体である。
図12において、PosLast復号部81はビットストリームに多重化された符号化データからPosLast(最後位置情報)を可変長復号する処理を実施する。なお、PosLast復号部81は最後位置情報復号手段を構成している。
係数パラメータ格納用メモリ82はサブブロック復号部により可変長復号された係数パラメータを格納するRAMなどの記録媒体である。
並列コンテキスト値算出部83は係数パラメータ格納用メモリ82により格納された係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に上記係数パラメータのコンテキスト値ctxIdxを算出する処理を実施する。
なお、係数パラメータ格納用メモリ82及び並列コンテキスト値算出部83からコンテキスト値算出手段が構成されている。
生起確率格納用メモリ84はコンテキスト値ctxIdxに対応する生起確率(算術復号に用いる生起確率)を格納するRAMなどの記録媒体である。
なお、係数パラメータ格納用メモリ82及び並列コンテキスト値算出部83からコンテキスト値算出手段が構成されている。
生起確率格納用メモリ84はコンテキスト値ctxIdxに対応する生起確率(算術復号に用いる生起確率)を格納するRAMなどの記録媒体である。
サブブロック復号部85は並列コンテキスト値算出部83からPosLastが示す位置より後ろにある係数パラメータ以外の係数パラメータ(PosLastが示す位置にある係数パラメータと、PosLastが示す位置より前にある係数パラメータ)のコンテキスト値ctxIdxを取得して、生起確率格納用メモリ84から上記コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいてビットストリームに多重化された符号化データから係数パラメータを算術復号する処理を実施する。
また、サブブロック復号部85は、その係数パラメータが非零である旨を示していれば、ビットストリームに多重化された符号化データから、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術復号する処理を実施する。この場合、生起確率格納用メモリ84と異なる生起確率格納用メモリ(変換係数の絶対値等を算術復号するために、コンテキスト値ctxIdxに対応する生起確率を格納しているメモリ)から、コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術復号する。なお、サブブロック復号部85は第1の可変長復号手段を構成している。
変換係数逆スキャン部86はサブブロック復号部85により算術復号された係数パラメータ、絶対値及び正負の符号からなる変換係数を逆スキャンして圧縮データを生成する処理を実施する。なお、変換係数逆スキャン部86は変換係数逆スキャン手段を構成している。
また、サブブロック復号部85は、その係数パラメータが非零である旨を示していれば、ビットストリームに多重化された符号化データから、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術復号する処理を実施する。この場合、生起確率格納用メモリ84と異なる生起確率格納用メモリ(変換係数の絶対値等を算術復号するために、コンテキスト値ctxIdxに対応する生起確率を格納しているメモリ)から、コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術復号する。なお、サブブロック復号部85は第1の可変長復号手段を構成している。
変換係数逆スキャン部86はサブブロック復号部85により算術復号された係数パラメータ、絶対値及び正負の符号からなる変換係数を逆スキャンして圧縮データを生成する処理を実施する。なお、変換係数逆スキャン部86は変換係数逆スキャン手段を構成している。
この実施の形態1の動画像符号化装置は、映像信号の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズの領域に分割してフレーム内・フレーム間適応符号化を行う。
一般に映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有し、空間的に見ると、ある特定の映像フレーム上では、例えば、空や壁などのように、比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画などでは、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。
一般に映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有し、空間的に見ると、ある特定の映像フレーム上では、例えば、空や壁などのように、比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画などでは、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。
時間的に見ても、空や壁は局所的に時間方向の絵柄の変化が小さいが、動く人物や物体は、その輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。
符号化処理は、時間・空間的な予測によって、信号電力やエントロピーが小さい予測差分信号を生成して、全体の符号量を削減する処理を行うが、予測処理に用いる予測パラメータをできるだけ大きな画像信号領域に対して均一に適用することができれば、予測パラメータの符号量を小さくすることができる。
一方、時間的・空間的に変化が大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測誤りが増えてしまうため、予測差分信号の符号量を削減することができない。
したがって、時間的・空間的に変化が大きい領域では、予測対象の領域を小さくして、予測処理に用いる予測パラメータのデータ量を増やしても、予測差分信号の電力・エントロピーを低減する方が望ましい。
このような映像信号の一般的な性質に適応している符号化処理を行うため、この実施の形態1の動画像符号化装置では、所定の最大ブロックサイズから映像信号の領域を階層的に分割し、分割領域毎に予測処理や予測差分の符号化処理を適応化する構成を採用している。
符号化処理は、時間・空間的な予測によって、信号電力やエントロピーが小さい予測差分信号を生成して、全体の符号量を削減する処理を行うが、予測処理に用いる予測パラメータをできるだけ大きな画像信号領域に対して均一に適用することができれば、予測パラメータの符号量を小さくすることができる。
一方、時間的・空間的に変化が大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測誤りが増えてしまうため、予測差分信号の符号量を削減することができない。
したがって、時間的・空間的に変化が大きい領域では、予測対象の領域を小さくして、予測処理に用いる予測パラメータのデータ量を増やしても、予測差分信号の電力・エントロピーを低減する方が望ましい。
このような映像信号の一般的な性質に適応している符号化処理を行うため、この実施の形態1の動画像符号化装置では、所定の最大ブロックサイズから映像信号の領域を階層的に分割し、分割領域毎に予測処理や予測差分の符号化処理を適応化する構成を採用している。
次に動作について説明する。
最初に、図1の動画像符号化装置の処理内容を説明する。
まず、符号化制御部1は、イントラ予測処理(フレーム内予測処理)又は動き補償予測処理(フレーム間予測処理)が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定する(図2のステップST1)。
最初に、図1の動画像符号化装置の処理内容を説明する。
まず、符号化制御部1は、イントラ予測処理(フレーム内予測処理)又は動き補償予測処理(フレーム間予測処理)が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定する(図2のステップST1)。
符号化ブロックの最大サイズの決め方として、例えば、全てのピクチャに対して、入力画像の解像度に応じたサイズに決定する方法が考えられる。
また、入力画像の局所的な動きの複雑さの違いをパラメータとして定量化しておき、動きの激しいピクチャでは最大サイズを小さな値に決定し、動きが少ないピクチャでは最大サイズを大きな値に決定する方法などが考えられる。
上限の階層数については、例えば、入力画像の動きが激しい程、階層数を深くして、より細かい動きが検出できるように設定し、入力画像の動きが少なければ、階層数を抑えるように設定する方法が考えられる。
また、入力画像の局所的な動きの複雑さの違いをパラメータとして定量化しておき、動きの激しいピクチャでは最大サイズを小さな値に決定し、動きが少ないピクチャでは最大サイズを大きな値に決定する方法などが考えられる。
上限の階層数については、例えば、入力画像の動きが激しい程、階層数を深くして、より細かい動きが検出できるように設定し、入力画像の動きが少なければ、階層数を抑えるように設定する方法が考えられる。
また、符号化制御部1は、利用可能な1以上の符号化モード(M種類のイントラ符号化モード、N種類のインター符号化モード)の中から、階層的に分割される各々の符号化ブロックに対応する符号化モードを選択する(ステップST2)。予め用意されているM種類のイントラ符号化モードについては後述する。
ただし、後述するブロック分割部2により階層的に分割された各々の符号化ブロックが更にパーティション単位に分割される場合は、各々のパーティションに対応する符号化モードを選択することが可能である。
以下、この実施の形態1では、各々の符号化ブロックが更にパーティション単位に分割されるものとして説明する。
符号化制御部1による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
ただし、後述するブロック分割部2により階層的に分割された各々の符号化ブロックが更にパーティション単位に分割される場合は、各々のパーティションに対応する符号化モードを選択することが可能である。
以下、この実施の形態1では、各々の符号化ブロックが更にパーティション単位に分割されるものとして説明する。
符号化制御部1による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
また、符号化制御部1は、各々の符号化ブロックに含まれているパーティション毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び変換ブロックサイズを決定するとともに、予測処理が実施される際に用いられるイントラ予測パラメータ又はインター予測パラメータを決定する。
符号化制御部1は、量子化パラメータ及び変換ブロックサイズを含む予測差分符号化パラメータを変換・量子化部7、逆量子化・逆変換部8及び可変長符号化部13に出力する。また、予測差分符号化パラメータを必要に応じてイントラ予測部4に出力する。
符号化制御部1は、量子化パラメータ及び変換ブロックサイズを含む予測差分符号化パラメータを変換・量子化部7、逆量子化・逆変換部8及び可変長符号化部13に出力する。また、予測差分符号化パラメータを必要に応じてイントラ予測部4に出力する。
ブロック分割部2は、入力画像を示す映像信号を入力すると、その入力画像を符号化制御部1により決定された最大サイズの符号化ブロックに分割するとともに、符号化制御部1により決定された上限の階層数に至るまで、その符号化ブロックを階層的に分割する。また、その符号化ブロックをパーティション単位に分割する(ステップST3)。
ここで、図13は最大サイズの符号化ブロックが階層的に複数の符号化ブロックに分割される様子を示す説明図である。
図13の例では、最大サイズの符号化ブロックは、第0階層の符号化ブロックB0であり、輝度成分で(L0,M0)のサイズを有している。
また、図13の例では、最大サイズの符号化ブロックB0を出発点として、4分木構造で、別途定める所定の深さまで階層的に分割を行うことによって、符号化ブロックBnを得ている。
ここで、図13は最大サイズの符号化ブロックが階層的に複数の符号化ブロックに分割される様子を示す説明図である。
図13の例では、最大サイズの符号化ブロックは、第0階層の符号化ブロックB0であり、輝度成分で(L0,M0)のサイズを有している。
また、図13の例では、最大サイズの符号化ブロックB0を出発点として、4分木構造で、別途定める所定の深さまで階層的に分割を行うことによって、符号化ブロックBnを得ている。
深さnにおいては、符号化ブロックBnはサイズ(Ln,Mn)の画像領域である。
ただし、LnとMnは同じであってもよいし異なっていてもよいが、図13の例ではLn=Mnのケースを示している。
以降、符号化ブロックBnのサイズは、符号化ブロックBnの輝度成分におけるサイズ(Ln,Mn)と定義する。
ただし、LnとMnは同じであってもよいし異なっていてもよいが、図13の例ではLn=Mnのケースを示している。
以降、符号化ブロックBnのサイズは、符号化ブロックBnの輝度成分におけるサイズ(Ln,Mn)と定義する。
ブロック分割部2では、4分木分割を行うため、常に(Ln+1,Mn+1)=(Ln/2,Mn/2)が成立する。
ただし、RGB信号などのように、全ての色成分が同一サンプル数を有するカラー映像信号(4:4:4フォーマット)では、全ての色成分のサイズが(Ln,Mn)になるが、4:2:0フォーマットを扱う場合、対応する色差成分の符号化ブロックのサイズは(Ln/2,Mn/2)である。
以降、第n階層の符号化ブロックBnで選択しうる符号化モードをm(Bn)と表記する。
ただし、RGB信号などのように、全ての色成分が同一サンプル数を有するカラー映像信号(4:4:4フォーマット)では、全ての色成分のサイズが(Ln,Mn)になるが、4:2:0フォーマットを扱う場合、対応する色差成分の符号化ブロックのサイズは(Ln/2,Mn/2)である。
以降、第n階層の符号化ブロックBnで選択しうる符号化モードをm(Bn)と表記する。
複数の色成分からなるカラー映像信号の場合、符号化モードm(Bn)は、色成分ごとに、それぞれ個別のモードを用いるように構成されてもよいが、以降、特に断らない限り、YUV信号、4:2:0フォーマットの符号化ブロックの輝度成分に対する符号化モードのことを指すものとして説明を行う。
符号化モードm(Bn)には、1つないし複数のイントラ符号化モード(総称して「INTRA」)、1つないし複数のインター符号化モード(総称して「INTER」)があり、符号化制御部1は、上述したように、当該ピクチャで利用可能な全ての符号化モードないしは、そのサブセットの中から、符号化ブロックBnに対して最も符号化効率がよい符号化モードを選択する。
符号化モードm(Bn)には、1つないし複数のイントラ符号化モード(総称して「INTRA」)、1つないし複数のインター符号化モード(総称して「INTER」)があり、符号化制御部1は、上述したように、当該ピクチャで利用可能な全ての符号化モードないしは、そのサブセットの中から、符号化ブロックBnに対して最も符号化効率がよい符号化モードを選択する。
符号化ブロックBnは、図13に示すように、更に1つないし複数の予測処理単位(パーティション)に分割される。
以降、符号化ブロックBnに属するパーティションをPi n(i: 第n階層におけるパーティション番号)と表記する。図14は符号化ブロックBnに属するパーティションPi nを示す説明図である。
符号化ブロックBnに属するパーティションPi nの分割がどのようになされているかは符号化モードm(Bn)の中に情報として含まれる。
パーティションPi nは、すべて符号化モードm(Bn)に従って予測処理が行われるが、パーティションPi n毎に、個別の予測パラメータを選択することができる。
以降、符号化ブロックBnに属するパーティションをPi n(i: 第n階層におけるパーティション番号)と表記する。図14は符号化ブロックBnに属するパーティションPi nを示す説明図である。
符号化ブロックBnに属するパーティションPi nの分割がどのようになされているかは符号化モードm(Bn)の中に情報として含まれる。
パーティションPi nは、すべて符号化モードm(Bn)に従って予測処理が行われるが、パーティションPi n毎に、個別の予測パラメータを選択することができる。
符号化制御部1は、最大サイズの符号化ブロックに対して、例えば、図15に示すようなブロック分割状態を生成して、符号化ブロックBnを特定する。
図15(a)の斜線部分は分割後のパーティションの分布を示し、また、図15(b)は階層分割後のパーティションに符号化モードm(Bn)が割り当てられる状況を4分木グラフで示している。
図15(b)において、□で囲まれているノードが、符号化モードm(Bn)が割り当てられたノード(符号化ブロックBn)を示している。
また、符号化制御部1は、分割後のパーティションに対して、前述の通りに、変換ブロックの分割形状を決定する。
図15(a)の斜線部分は分割後のパーティションの分布を示し、また、図15(b)は階層分割後のパーティションに符号化モードm(Bn)が割り当てられる状況を4分木グラフで示している。
図15(b)において、□で囲まれているノードが、符号化モードm(Bn)が割り当てられたノード(符号化ブロックBn)を示している。
また、符号化制御部1は、分割後のパーティションに対して、前述の通りに、変換ブロックの分割形状を決定する。
切替スイッチ3は、符号化制御部1がイントラ符号化モードを選択すると(m(Bn)∈INTRA)、ブロック分割部2により分割された符号化ブロックBnに属するパーティションPi nをイントラ予測部4に出力し、符号化制御部1がインター符号化モードを選択すると(m(Bn)∈INTER)、その符号化ブロックBnに属するパーティションPi nを動き補償予測部5に出力する。
イントラ予測部4は、切替スイッチ3から符号化ブロックBnに属するパーティションPi nを受けると(ステップST4)、具体的な処理内容は後述するが、符号化制御部1により決定されたイントラ予測パラメータに基づいて、各パーティションPi nに対するイントラ予測処理を実施することにより、イントラ予測画像(Pi n)を生成する(ステップST5)。
以下、この明細書では、Pi nはパーティションを示し、(Pi n)はパーティションPi nの予測画像を示すものとする。
以下、この明細書では、Pi nはパーティションを示し、(Pi n)はパーティションPi nの予測画像を示すものとする。
イントラ予測画像(Pi n)の生成に用いられるイントラ予測パラメータは、動画像復号装置側でも、全く同じイントラ予測画像(Pi n)を生成する必要があるため、可変長符号化部13によってビットストリームに多重化される。
なお、イントラ予測パラメータとして選択できるイントラ予測方向数は、処理対象となるブロックのサイズに応じて異なるように構成してもよい。
大きいサイズのパーティションでは、イントラ予測の効率が低下するため、選択できるイントラ予測方向数を少なくし、小さいサイズのパーティションでは、選択できるイントラ予測方向数を多くするように構成することができる。
例えば、4×4画素パーティションや8×8画素パーティションでは34方向、16×16画素パーティションでは17方向、32×32画素パーティションでは9方向などのように構成してもよい。
なお、イントラ予測パラメータとして選択できるイントラ予測方向数は、処理対象となるブロックのサイズに応じて異なるように構成してもよい。
大きいサイズのパーティションでは、イントラ予測の効率が低下するため、選択できるイントラ予測方向数を少なくし、小さいサイズのパーティションでは、選択できるイントラ予測方向数を多くするように構成することができる。
例えば、4×4画素パーティションや8×8画素パーティションでは34方向、16×16画素パーティションでは17方向、32×32画素パーティションでは9方向などのように構成してもよい。
動き補償予測部5は、切替スイッチ3から符号化ブロックBnに属するパーティションPi nを受けると(ステップST4)、符号化制御部1により決定されたインター予測パラメータに基づいて、各パーティションPi nに対するインター予測処理を実施することにより、インター予測画像(Pi n)を生成する(ステップST6)。
即ち、動き補償予測部5は、動き補償予測フレームメモリ12により格納されている1フレーム以上の参照画像を用いて、符号化制御部1から出力されたインター予測パラメータに基づいて、その符号化ブロックに対する動き補償予測処理を実施することで、インター予測画像(Pi n)を生成する。
インター予測画像(Pi n)の生成に用いられるインター予測パラメータは、動画像復号装置側でも、全く同じインター予測画像(Pi n)を生成する必要があるため、可変長符号化部13によってビットストリームに多重化される。
即ち、動き補償予測部5は、動き補償予測フレームメモリ12により格納されている1フレーム以上の参照画像を用いて、符号化制御部1から出力されたインター予測パラメータに基づいて、その符号化ブロックに対する動き補償予測処理を実施することで、インター予測画像(Pi n)を生成する。
インター予測画像(Pi n)の生成に用いられるインター予測パラメータは、動画像復号装置側でも、全く同じインター予測画像(Pi n)を生成する必要があるため、可変長符号化部13によってビットストリームに多重化される。
減算部6は、イントラ予測部4又は動き補償予測部5から予測画像(Pi n)を受けると、ブロック分割部2により分割された符号化ブロックBnに属するパーティションPi nから、その予測画像(Pi n)を減算することで、その差分画像を示す予測差分信号ei nを生成する(ステップST7)。
変換・量子化部7は、減算部6が予測差分信号ei nを生成すると、符号化制御部1で決定された変換ブロックサイズ単位で、その予測差分信号ei nに対する変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を実施するとともに、その予測差分符号化パラメータに含まれている量子化パラメータを用いて、その予測差分信号ei nの変換係数を量子化することで、量子化後の変換係数である差分画像の圧縮データを逆量子化・逆変換部8及び可変長符号化部13に出力する(ステップST8)。
即ち、変換・量子化部7は、減算部6が予測差分信号ei nを生成すると、予測差分信号ei nに対する変換・量子化処理を実施する場合、ブロック分割部2により分割された符号化ブロックをさらに階層的に分割して、分割後のブロック単位で輝度信号の変換・量子化処理を実施する。
即ち、変換・量子化部7は、減算部6が予測差分信号ei nを生成すると、予測差分信号ei nに対する変換・量子化処理を実施する場合、ブロック分割部2により分割された符号化ブロックをさらに階層的に分割して、分割後のブロック単位で輝度信号の変換・量子化処理を実施する。
逆量子化・逆変換部8は、変換・量子化部7から圧縮データを受けると、符号化制御部1から出力された予測差分符号化パラメータに含まれている量子化パラメータを用いて、その圧縮データを逆量子化し、その予測差分符号化パラメータに含まれている変換ブロック分割フラグから特定される変換ブロックサイズ単位で、逆量子化の圧縮データの逆変換処理(例えば、逆DCT(逆離散コサイン変換)や逆DST(離散サイン変換)、逆KL変換等の逆変換処理)を実施することで、逆変換処理後の圧縮データを局所復号予測差分信号として加算部9に出力する(ステップST9)。
加算部9は、逆量子化・逆変換部8から局所復号予測差分信号を受けると、その局所復号予測差分信号と、イントラ予測部4又は動き補償予測部5により生成された予測画像(Pi n)を示す予測信号とを加算することで、局所復号パーティション画像ないしはその集まりとしての局所復号符号化ブロック画像(以下、「局所復号画像」と称する)を示す局所復号画像信号を生成し、その局所復号画像信号をループフィルタ部11に出力する(ステップST10)。
また、イントラ予測用メモリ10には、イントラ予測に用いるために、当該局所復号画像が格納される。
また、イントラ予測用メモリ10には、イントラ予測に用いるために、当該局所復号画像が格納される。
ループフィルタ部11は、加算部9から局所復号画像信号を受けると、その局所復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局所復号画像信号が示す局所復号画像を参照画像として動き補償予測フレームメモリ12に格納する(ステップST11)。
ここで、符号化歪は変換ブロック境界に沿って発生するため、変換ブロック境界に対して符号化歪の補償を行う。小さい変換ブロックについては、変換ブロック境界の符号化歪が目立ちにくいので、ヘッダで最小ループフィルタ適用ブロックサイズをシグナリングし、変換ブロックサイズが最小ループフィルタ適用ブロックサイズより大きいブロックに対してのみ符号化歪補償を適用するよう構成してもよい。
このようにすれば、不要な符号化歪補償を省略できるので、画質を保ちつつ演算量を削減することができる。また、輝度信号と色差信号では、変換ブロックの分割形状が異なるので、符号化歪補償は輝度信号と色差信号でそれぞれ変換ブロックの分割形状を特定して処理するよう構成する。
なお、ループフィルタ部11によるフィルタリング処理は、入力される局所復号画像信号の最大符号化ブロックあるいは個々の符号化ブロック単位で行ってもよいし、1画面分のマクロブロックに相当する局所復号画像信号が入力された後に1画面分まとめて行ってもよい。
ここで、符号化歪は変換ブロック境界に沿って発生するため、変換ブロック境界に対して符号化歪の補償を行う。小さい変換ブロックについては、変換ブロック境界の符号化歪が目立ちにくいので、ヘッダで最小ループフィルタ適用ブロックサイズをシグナリングし、変換ブロックサイズが最小ループフィルタ適用ブロックサイズより大きいブロックに対してのみ符号化歪補償を適用するよう構成してもよい。
このようにすれば、不要な符号化歪補償を省略できるので、画質を保ちつつ演算量を削減することができる。また、輝度信号と色差信号では、変換ブロックの分割形状が異なるので、符号化歪補償は輝度信号と色差信号でそれぞれ変換ブロックの分割形状を特定して処理するよう構成する。
なお、ループフィルタ部11によるフィルタリング処理は、入力される局所復号画像信号の最大符号化ブロックあるいは個々の符号化ブロック単位で行ってもよいし、1画面分のマクロブロックに相当する局所復号画像信号が入力された後に1画面分まとめて行ってもよい。
ステップST4〜ST10の処理は、ブロック分割部2により分割された全ての符号化ブロックBnに属するパーティションPi nに対する処理が完了するまで繰り返し実施される(ステップST12)。
可変長符号化部13は、変換・量子化部7から出力された圧縮データと、符号化制御部1から出力された符号化モード及び変換ブロック分割フラグを含む予測差分符号化パラメータと、イントラ予測部4から出力されたイントラ予測パラメータ又は動き補償予測部5から出力されたインター予測パラメータとを可変長符号化して、その圧縮データ、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータの符号化データが多重化されているビットストリームを生成する(ステップST13)。
可変長符号化部13の処理内容の詳細は後述する。
可変長符号化部13は、変換・量子化部7から出力された圧縮データと、符号化制御部1から出力された符号化モード及び変換ブロック分割フラグを含む予測差分符号化パラメータと、イントラ予測部4から出力されたイントラ予測パラメータ又は動き補償予測部5から出力されたインター予測パラメータとを可変長符号化して、その圧縮データ、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータの符号化データが多重化されているビットストリームを生成する(ステップST13)。
可変長符号化部13の処理内容の詳細は後述する。
次に、イントラ予測部4の処理内容を具体的に説明する。
図16は符号化ブロックBnに属する各パーティションPi nにおいて選択可能なイントラ予測パラメータ(イントラ予測モード)の一例を示す説明図である。
図16の例では、イントラ予測モードに対応する予測方向ベクトルを示しており、選択可能なイントラ予測モードの個数が増えるに従って、予測方向ベクトル同士の相対角度が小さくなるように設計されている。
図16は符号化ブロックBnに属する各パーティションPi nにおいて選択可能なイントラ予測パラメータ(イントラ予測モード)の一例を示す説明図である。
図16の例では、イントラ予測モードに対応する予測方向ベクトルを示しており、選択可能なイントラ予測モードの個数が増えるに従って、予測方向ベクトル同士の相対角度が小さくなるように設計されている。
まず、イントラ予測部4の輝度信号イントラ予測部21は、ブロック分割部2により分割された符号化ブロックにおける輝度成分のフレーム内予測を実施して、輝度成分に対する予測画像を生成する(図5のステップST21)。
以下、輝度信号イントラ予測部21の処理内容を具体的に説明する。
ここでは、イントラ予測部4の輝度信号イントラ予測部21が、パーティションPi nの輝度信号に対するイントラ予測パラメータ(イントラ予測モード)に基づいて、その輝度信号のイントラ予測信号を生成するイントラ処理について説明する。
説明の便宜上、パーティションPi nのサイズをli n×mi n画素とする。
以下、輝度信号イントラ予測部21の処理内容を具体的に説明する。
ここでは、イントラ予測部4の輝度信号イントラ予測部21が、パーティションPi nの輝度信号に対するイントラ予測パラメータ(イントラ予測モード)に基づいて、その輝度信号のイントラ予測信号を生成するイントラ処理について説明する。
説明の便宜上、パーティションPi nのサイズをli n×mi n画素とする。
図17はli n=mi n=4の場合において、パーティションPi n内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。
図17の例では、パーティションPi nに隣接している符号化済みの上パーティションの画素((2×li n+1)個の画素)と、左パーティションの画素((2×mi n)個の画素)を予測に用いる参照画素としているが、予測に用いる画素は、図17に示す画素より多くても少なくてもよい。
また、図17の例では、隣接している1行又は1列分の画素を予測に用いているが、2行又は2列分の画素、あるいは、それ以上の画素を予測に用いてもよい。
図17の例では、パーティションPi nに隣接している符号化済みの上パーティションの画素((2×li n+1)個の画素)と、左パーティションの画素((2×mi n)個の画素)を予測に用いる参照画素としているが、予測に用いる画素は、図17に示す画素より多くても少なくてもよい。
また、図17の例では、隣接している1行又は1列分の画素を予測に用いているが、2行又は2列分の画素、あるいは、それ以上の画素を予測に用いてもよい。
輝度信号イントラ予測部21は、例えば、パーティションPi nに対するイントラ予測モードのインデックス値が2(平均値予測)である場合、上パーティションの隣接画素と左パーティションの隣接画素の平均値をパーティションPi n内の画素の予測値として予測画像を生成する。
イントラ予測モードのインデックス値が2(平均値予測)以外の場合には、インデックス値が示す予測方向ベクトルvp=(dx,dy)に基づいて、パーティションPi n内の画素の予測値を生成する。
予測値を生成する画素(予測対象画素)のパーティションPi n内の相対座標(パーティションの左上画素を原点とする)を(x,y)とすると、予測に用いる参照画素の位置は、下記に示すLと、隣接画素の交点となる。
ただし、kは正のスカラ値である。
イントラ予測モードのインデックス値が2(平均値予測)以外の場合には、インデックス値が示す予測方向ベクトルvp=(dx,dy)に基づいて、パーティションPi n内の画素の予測値を生成する。
予測値を生成する画素(予測対象画素)のパーティションPi n内の相対座標(パーティションの左上画素を原点とする)を(x,y)とすると、予測に用いる参照画素の位置は、下記に示すLと、隣接画素の交点となる。
ただし、kは正のスカラ値である。
参照画素が整数画素位置にある場合、その整数画素を予測対象画素の予測値とする。参照画素が整数画素位置にない場合、参照画素に隣接する整数画素から生成される補間画素を予測値とする。
図17の例では、参照画素が整数画素位置にないので、参照画素に隣接する2画素の平均値を予測値としている。
なお、隣接する2画素のみではなく、隣接する2画素以上の画素から補間画素を生成して予測値としてもよい。
図17の例では、参照画素が整数画素位置にないので、参照画素に隣接する2画素の平均値を予測値としている。
なお、隣接する2画素のみではなく、隣接する2画素以上の画素から補間画素を生成して予測値としてもよい。
輝度信号イントラ予測部21は、同様の手順で、パーティションPi n内の輝度信号のすべての画素に対する予測画素を生成し、その生成したイントラ予測画像(Pi n)を出力する。
イントラ予測画像(Pi n)の生成に用いているイントラ予測パラメータは、上述したように、ビットストリームに多重化するために可変長符号化部13に出力される。
イントラ予測画像(Pi n)の生成に用いているイントラ予測パラメータは、上述したように、ビットストリームに多重化するために可変長符号化部13に出力される。
イントラ予測部4の切替スイッチ22は、符号化制御部1から出力されたイントラ予測パラメータのうち、色差信号のイントラ符号化モードを示すパラメータが、方向性予測モードであるのか、平滑化輝度相関利用色差信号予測モードであるのかを判定する(ステップST22)。
切替スイッチ22は、色差信号のイントラ符号化モードを示すパラメータが、方向性予測モードである旨を示していれば、予測に用いる参照画素を色差信号方向性イントラ予測部23に与え、色差信号のイントラ符号化モードを示すパラメータが、平滑化輝度相関利用色差信号予測モードである旨を示していれば、予測に用いる参照画素を輝度相関利用色差信号予測部24に与える。
切替スイッチ22は、色差信号のイントラ符号化モードを示すパラメータが、方向性予測モードである旨を示していれば、予測に用いる参照画素を色差信号方向性イントラ予測部23に与え、色差信号のイントラ符号化モードを示すパラメータが、平滑化輝度相関利用色差信号予測モードである旨を示していれば、予測に用いる参照画素を輝度相関利用色差信号予測部24に与える。
ここで、図18は色差信号のイントラ予測パラメータと色差イントラ予測モードの対応例を示す説明図である。
図18の例では、色差信号イントラ予測パラメータが“34”である場合には、予測に用いる参照画素が輝度相関利用色差信号予測部24に与えられ、色差信号イントラ予測パラメータが“34”以外である場合には、予測に用いる参照画素が色差信号方向性イントラ予測部23に与えられることになる。
図18の例では、色差信号イントラ予測パラメータが“34”である場合には、予測に用いる参照画素が輝度相関利用色差信号予測部24に与えられ、色差信号イントラ予測パラメータが“34”以外である場合には、予測に用いる参照画素が色差信号方向性イントラ予測部23に与えられることになる。
色差信号方向性イントラ予測部23は、切替スイッチ22から予測に用いる参照画素を受けると、パーティションPi nに隣接している復号済みの色差参照画素を参照して、符号化制御部1から出力されたイントラ予測パラメータに基づく色差成分のフレーム内予測を実施することで、色差成分に対する予測画像を生成する(ステップST23)。
色差信号方向性イントラ予測部23におけるイントラ予測の対象が色差信号であり、イントラ予測の対象が輝度信号である輝度信号イントラ予測部21と異なるが、イントラ予測の処理内容自体は輝度信号イントラ予測部21と同様である。よって、方向性予測、水平予測、垂直予測、DC予測などを行うことにより、色差信号のイントラ予測画像が生成される。
色差信号方向性イントラ予測部23におけるイントラ予測の対象が色差信号であり、イントラ予測の対象が輝度信号である輝度信号イントラ予測部21と異なるが、イントラ予測の処理内容自体は輝度信号イントラ予測部21と同様である。よって、方向性予測、水平予測、垂直予測、DC予測などを行うことにより、色差信号のイントラ予測画像が生成される。
輝度相関利用色差信号予測部24は、切替スイッチ22から予測に用いる参照画素を受けると、符号化ブロックであるパーティションPi nに隣接している復号済みの輝度参照画素及び色差参照画素と、パーティションPi n内の復号済みの輝度参照画素(輝度信号イントラ予測部21により先に生成されたパーティションPi nのイントラ予測画像(Pi n)から得られた局所復号画像内の輝度参照画素)とを用いて、その符号化ブロックを構成している画素のうち、水平方向及び垂直方向に隣接している複数の画素に係る輝度成分を平滑化して、平滑化後の輝度成分と色差成分の相関を示す相関パラメータを算出し、その相関パラメータと平滑化後の輝度成分を用いて、色差成分に対する予測画像を生成する(ステップST24)。
以下、輝度相関利用色差信号予測部24の処理内容を具体的に説明する。
以下、輝度相関利用色差信号予測部24の処理内容を具体的に説明する。
輝度相関利用色差信号予測部24の平滑化輝度参照画素縮小部31は、イントラ予測用メモリ10により格納されているパーティションPi nを構成している復号済みの輝度参照画素(輝度信号イントラ予測部21により先に生成されたパーティションPi nのイントラ予測画像(Pi n)から得られた局所復号画像内の輝度参照画素)のうち、水平方向及び垂直方向に隣接している複数の輝度参照画素の平滑化処理等を実施することで、縮小輝度参照画素Rec’Lを生成する(図6のステップST31)。
即ち、平滑化輝度参照画素縮小部31は、図19に示すように、パーティションPi n内の色差信号の予測ブロック(図中、左側のN×Nのブロック)に対応するブロック(図中、右側の2N×2Nのブロック)内の復号済の画素値である復号済輝度信号と、その復号済輝度信号の上端と左端に隣接している復号済輝度信号とを用いて、縮小輝度参照画素Rec’Lを生成する。
ここで、縮小輝度参照画素Rec’Lは、図20に示すように、YUV4:2:0信号において、色差信号画素と同位相になるように、輝度参照画素RecLに対して、横方向に1:2:1のローパスフィルタ、縦方向に1:1のローパスフィルタを施した後に、縦横に偶数列のみをサブサンプリングすることで得られる。
即ち、平滑化輝度参照画素縮小部31は、図19に示すように、パーティションPi n内の色差信号の予測ブロック(図中、左側のN×Nのブロック)に対応するブロック(図中、右側の2N×2Nのブロック)内の復号済の画素値である復号済輝度信号と、その復号済輝度信号の上端と左端に隣接している復号済輝度信号とを用いて、縮小輝度参照画素Rec’Lを生成する。
ここで、縮小輝度参照画素Rec’Lは、図20に示すように、YUV4:2:0信号において、色差信号画素と同位相になるように、輝度参照画素RecLに対して、横方向に1:2:1のローパスフィルタ、縦方向に1:1のローパスフィルタを施した後に、縦横に偶数列のみをサブサンプリングすることで得られる。
輝度相関利用色差信号予測部24の相関算出部32は、平滑化輝度参照画素縮小部31が縮小輝度参照画素Rec’Lを生成すると、その縮小輝度参照画素Rec’Lと、色差信号の予測ブロックの上端及び左端に隣接している色差信号の復号済の画素値である色差参照画素RecCとを用いて、下記の式(1)及び式(2)に示すように、予測に用いる相関パラメータα,βを算出する(ステップST32)。
式(1),(2)において、Iは処理対象となる色差信号の予測ブロックの1辺の画素数の2倍の値である。
式(1),(2)において、Iは処理対象となる色差信号の予測ブロックの1辺の画素数の2倍の値である。
色差予測画像生成部33は、相関算出部32が相関パラメータα,βを算出すると、その相関パラメータα,βと縮小輝度参照画素Rec’Lを用いて、下記の式(3)に示すように、色差予測画像PredCを生成する(ステップST33)。
なお、イントラ予測は、画面内の未知の領域を既知の領域から予測する手段であるが、輝度信号と色差信号のテクスチャには相関があり、空間方向については、近傍画素同士は画素値の変化が小さいため、予測ブロックに隣接する復号済の輝度信号と色差信号を利用して輝度信号と色差信号の相関パラメータを算出し、その輝度信号と相関パラメータから色差信号を予測することにより、予測効率を向上させることができる。
この際、YUV4:2:0信号では、輝度信号と色差信号の解像度が異なるため、輝度信号をサブサンプリングする必要があるが、ローパスフィルタを施すことによりエイリアシングの発生を抑えることができ、予測効率を向上させることができる。
この際、YUV4:2:0信号では、輝度信号と色差信号の解像度が異なるため、輝度信号をサブサンプリングする必要があるが、ローパスフィルタを施すことによりエイリアシングの発生を抑えることができ、予測効率を向上させることができる。
可変長符号化部13は、上述したように、イントラ予測部4から出力されたイントラ予測パラメータを可変長符号化して、そのイントラ予測パラメータの符号語をビットストリームに多重化するが、イントラ予測パラメータを符号化する際に、複数の方向性予測の予測方向ベクトルの中から、代表的な予測方向ベクトル(予測方向代表ベクトル)を選択し、イントラ予測パラメータを予測方向代表ベクトルのインデックス(予測方向代表インデックス)と予測方向代表ベクトルからの差分を表すインデックス(予測方向差分インデックス)で表して、それぞれのインデックス毎に、確率モデルに応じた算術符号化などのハフマン符号化を行うことで、符号量を削減して符号化するよう構成してもよい。
以下、可変長符号化部13の処理内容を具体的に説明する。
可変長符号化部13は、図7に示すように、変換係数可変長符号化部51及び符号化パラメータ可変長符号化部52から構成されており、符号化パラメータ可変長符号化部52は、符号化制御部1から出力された符号化モード及び変換ブロック分割フラグを含む予測差分符号化パラメータ、イントラ予測部4から出力されたイントラ予測パラメータ又は動き補償予測部5から出力されたインター予測パラメータ、動き情報、符号化ブロックの分割状況を示すブロック分割情報などの符号化パラメータを可変長符号化する。
また、変換係数可変長符号化部51は、変換・量子化部7から出力された圧縮データを可変長符号化する。
可変長符号化部13は、図7に示すように、変換係数可変長符号化部51及び符号化パラメータ可変長符号化部52から構成されており、符号化パラメータ可変長符号化部52は、符号化制御部1から出力された符号化モード及び変換ブロック分割フラグを含む予測差分符号化パラメータ、イントラ予測部4から出力されたイントラ予測パラメータ又は動き補償予測部5から出力されたインター予測パラメータ、動き情報、符号化ブロックの分割状況を示すブロック分割情報などの符号化パラメータを可変長符号化する。
また、変換係数可変長符号化部51は、変換・量子化部7から出力された圧縮データを可変長符号化する。
即ち、変換係数可変長符号化部51の変換ブロックスキャン部61は、変換・量子化部7から圧縮データを受けると、その圧縮データである変換係数をサブブロックに分割し、図21に示す斜めスキャン順に、各々のサブブロックの変換係数を整列することで圧縮データ系列を生成し、その圧縮データ系列をサブブロック符号化部66に出力する。
また、変換ブロックスキャン部61は、各々のサブブロックの変換係数が非零であるか否かを示す係数パラメータであるsignificant_coeff_flagをPosLast符号化部62に出力するとともに、significant_coeff_flagを係数パラメータ格納用メモリ63に格納する。
また、変換ブロックスキャン部61は、各々のサブブロックの変換係数が非零であるか否かを示す係数パラメータであるsignificant_coeff_flagをPosLast符号化部62に出力するとともに、significant_coeff_flagを係数パラメータ格納用メモリ63に格納する。
PosLast符号化部62は、変換ブロックスキャン部61から係数パラメータであるsignificant_coeff_flagを受けると、significant_coeff_flagを参照して、その圧縮データ系列の中で、スキャン順(変換ブロックスキャン部61による変換係数のスキャン順)で最も後ろにある非零の変換係数を特定し、その変換係数の位置を示すPosLastをサブブロック符号化部66に出力する。
また、PosLast符号化部62は、その変換係数の位置を示すPosLastの水平成分であるPosLastXと、PosLastの垂直成分であるPosLastYとを算術符号化し、その符号化結果をPosLast符号化データとして出力する。
また、PosLast符号化部62は、その変換係数の位置を示すPosLastの水平成分であるPosLastXと、PosLastの垂直成分であるPosLastYとを算術符号化し、その符号化結果をPosLast符号化データとして出力する。
並列コンテキスト値算出部64は、係数パラメータ格納用メモリ63により格納された係数パラメータであるsignificant_coeff_flagをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に係数パラメータのコンテキスト値ctxIdxを算出する。
即ち、並列コンテキスト値算出部64は、係数パラメータであるsignificant_coeff_flagの算術符号化に用いる生起確率に対応するコンテキスト値ctxIdxを、図24に示すように、周波数成分位置毎に、近傍のsignificant_coeff_flagが互いに参照しないような形状で、近傍周波数成分位置のsignificant_coeff_flagの値の合計値を加算することによって算出する。
図24の例では、係数パラメータであるsignificant_coeff_flagをサブブロック内の周波数成分の位置の組合せとして、4つのグループ((0,1,2,3)、(4,5,6,7)、(8,9,10,11)、(12,13,14,15)のグループ)に分類し、グループ内における他の周波数成分位置のsignificant_coeff_flagを参照することなく、グループ単位で、各グループ内の4つのコンテキスト値を並列に算出する。この場合、4倍の並列度でコンテキスト値ctxIdxの算出処理を実現することができる。
即ち、並列コンテキスト値算出部64は、係数パラメータであるsignificant_coeff_flagの算術符号化に用いる生起確率に対応するコンテキスト値ctxIdxを、図24に示すように、周波数成分位置毎に、近傍のsignificant_coeff_flagが互いに参照しないような形状で、近傍周波数成分位置のsignificant_coeff_flagの値の合計値を加算することによって算出する。
図24の例では、係数パラメータであるsignificant_coeff_flagをサブブロック内の周波数成分の位置の組合せとして、4つのグループ((0,1,2,3)、(4,5,6,7)、(8,9,10,11)、(12,13,14,15)のグループ)に分類し、グループ内における他の周波数成分位置のsignificant_coeff_flagを参照することなく、グループ単位で、各グループ内の4つのコンテキスト値を並列に算出する。この場合、4倍の並列度でコンテキスト値ctxIdxの算出処理を実現することができる。
例えば、グループ(0,1,2,3)の場合、周波数成分位置0、周波数成分位置1、周波数成分位置2、周波数成分位置3のコンテキスト値ctxIdxを並列に算出することができ、グループ(4,5,6,7)の場合、周波数成分位置4、周波数成分位置5、周波数成分位置6、周波数成分位置7のコンテキスト値ctxIdxを並列に算出することができる。
なお、図24の場合には、例えば、周波数成分位置0のコンテキスト値ctxIdxは、Aに示す位置のsignificant_coeff_flagを参照して、コンテキスト値ctxIdxを算出し、周波数成分位置1のコンテキスト値ctxIdxは、Bに示す位置のsignificant_coeff_flagを参照して、コンテキスト値ctxIdxを算出し、周波数成分位置2のコンテキスト値ctxIdxは、Cに示す位置のsignificant_coeff_flagを参照して、コンテキスト値ctxIdxを算出する。
また、周波数成分位置3のコンテキスト値ctxIdxは、Dに示す位置のsignificant_coeff_flagを参照して、コンテキスト値ctxIdxを算出する。
なお、図24の場合には、例えば、周波数成分位置0のコンテキスト値ctxIdxは、Aに示す位置のsignificant_coeff_flagを参照して、コンテキスト値ctxIdxを算出し、周波数成分位置1のコンテキスト値ctxIdxは、Bに示す位置のsignificant_coeff_flagを参照して、コンテキスト値ctxIdxを算出し、周波数成分位置2のコンテキスト値ctxIdxは、Cに示す位置のsignificant_coeff_flagを参照して、コンテキスト値ctxIdxを算出する。
また、周波数成分位置3のコンテキスト値ctxIdxは、Dに示す位置のsignificant_coeff_flagを参照して、コンテキスト値ctxIdxを算出する。
サブブロック符号化部66は、並列コンテキスト値算出部64が係数パラメータのコンテキスト値ctxIdxを算出すると、並列コンテキスト値算出部64からスキャン順(変換ブロックスキャン部61による変換係数のスキャン順)でPosLastが示す位置より後ろにある係数パラメータ以外の係数パラメータ(PosLastが示す位置にある係数パラメータと、PosLastが示す位置より前にある係数パラメータ)のコンテキスト値ctxIdxを取得して、生起確率格納用メモリ65から上記コンテキスト値ctxIdxに対応する生起確率を取得する。
サブブロック符号化部66は、生起確率格納用メモリ65からコンテキスト値ctxIdxに対応する生起確率を取得すると、その生起確率に基づいて、その係数パラメータ(PosLastが示す位置にある係数パラメータと、PosLastが示す位置より前にある係数パラメータ)であるsignificant_coeff_flagを算術符号化する。
また、サブブロック符号化部66は、その係数パラメータが非零である旨を示していれば、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術符号化する。
この場合、生起確率格納用メモリ65と異なる生起確率格納用メモリ(変換係数の絶対値等を算術符号化するために、コンテキスト値ctxIdxに対応する生起確率を格納しているメモリ)から、コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術符号化する。
サブブロック符号化部66は、生起確率格納用メモリ65からコンテキスト値ctxIdxに対応する生起確率を取得すると、その生起確率に基づいて、その係数パラメータ(PosLastが示す位置にある係数パラメータと、PosLastが示す位置より前にある係数パラメータ)であるsignificant_coeff_flagを算術符号化する。
また、サブブロック符号化部66は、その係数パラメータが非零である旨を示していれば、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術符号化する。
この場合、生起確率格納用メモリ65と異なる生起確率格納用メモリ(変換係数の絶対値等を算術符号化するために、コンテキスト値ctxIdxに対応する生起確率を格納しているメモリ)から、コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術符号化する。
以下、サブブロック符号化部66の処理内容を具体的に説明する。
サブブロック符号化部66は、例えば、図21に示すように、4×4サイズのサブブロック単位に、サブブロックの変換係数を次にように算術符号化する。
サブブロック符号化部66は、例えば、図21に示すように、4×4サイズのサブブロック単位に、サブブロックの変換係数を次にように算術符号化する。
(1)図21に示す斜めスキャンと逆順である逆斜めスキャン順(図22に例示)に、PosLastを含むサブブロックから始めて、当該サブブロック内に非零の変換係数が含まれているか否かを示すSigCoeffGroupFlagを算術符号化する。
SigCoeffGroupFlagが当該サブブロック内に非零の変換係数が含まれている旨を示している場合、以下の(2)〜(6)の処理を行う。
(2)逆斜めスキャン順に、当該サブブロック内の変換係数(各周波数成分の位置にある変換係数)が非零であるか否かを示すsignificant_coeff_flagを、並列コンテキスト値算出部64により算出されたコンテキスト値ctxIdxに対応する生起確率(生起確率格納用メモリ65により格納されている生起確率のうち、当該コンテキスト値ctxIdxによって指定されるメモリ領域に格納されている生起確率)に基づいて算術符号化する。
SigCoeffGroupFlagが当該サブブロック内に非零の変換係数が含まれている旨を示している場合、以下の(2)〜(6)の処理を行う。
(2)逆斜めスキャン順に、当該サブブロック内の変換係数(各周波数成分の位置にある変換係数)が非零であるか否かを示すsignificant_coeff_flagを、並列コンテキスト値算出部64により算出されたコンテキスト値ctxIdxに対応する生起確率(生起確率格納用メモリ65により格納されている生起確率のうち、当該コンテキスト値ctxIdxによって指定されるメモリ領域に格納されている生起確率)に基づいて算術符号化する。
(3)逆斜めスキャン順に、significant_coeff_flagが非零である旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が1より大きいか否かを示すcoeff_abs_level_greater1_flagを算術符号化する。
(4)逆斜めスキャン順に、coeff_abs_level_greater1_flagが、変換係数の絶対値が1より大きい旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が2より大きいか否かを示すcoeff_abs_level_greater2_flagを算術符号化する。
(5)逆斜めスキャン順に、significant_coeff_flagが非零である旨を示している周波数成分位置の変換係数については、その変換係数の正負の符号を示すcoeff_sign_flagを算術符号化する。
(6)逆斜めスキャン順に、coeff_abs_level_greater2_flagが、変換係数の絶対値が2より大きい旨を示している周波数成分位置の変換係数については、変換係数の絶対値から3を減じた値であるcoeff_abs_level_minus3を算術符号化する。
(4)逆斜めスキャン順に、coeff_abs_level_greater1_flagが、変換係数の絶対値が1より大きい旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が2より大きいか否かを示すcoeff_abs_level_greater2_flagを算術符号化する。
(5)逆斜めスキャン順に、significant_coeff_flagが非零である旨を示している周波数成分位置の変換係数については、その変換係数の正負の符号を示すcoeff_sign_flagを算術符号化する。
(6)逆斜めスキャン順に、coeff_abs_level_greater2_flagが、変換係数の絶対値が2より大きい旨を示している周波数成分位置の変換係数については、変換係数の絶対値から3を減じた値であるcoeff_abs_level_minus3を算術符号化する。
ここでは、変換係数可変長符号化部51が、圧縮データである変換係数を最適な生起確率に基づいて算術符号化を行うものを示したが、符号化パラメータ可変長符号化部52が、生起確率を格納する生起確率格納用メモリ領域を切り替えることで、符号化パラメータ(符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ又インター予測パラメータ、動き情報、ブロック分割情報など)についても、最適な生起確率に基づいて算術符号化を行うように構成してもよい。
なお、各生起確率格納用メモリ領域の初期値は、異なる複数種類の初期値テーブルのいずれかを用いて、スライスまたはピクチャの先頭で初期化されるように構成する。
具体的には、例えば、各生起確率格納用メモリ領域の初期値を算出するためのパラメータInitValueをテーブルとして保持し、量子化パラメータqpの値に応じた変化率mを、パラメータInitValを4ビット右シフトした値をインデックスとして、図25記載のslopesのテーブルから得る。また、量子化パラメータに依存しない加算値nをパラメータInitValのLSB側4ビットの値として得る。即ち、以下の式によってパラメータInitValue、図25記載のslopesのテーブルからm値とn値を得る。
m = slopes[initValue〉〉4]
n = initValue & 15;
そして、量子化パラメータqp、変化率m、加算値n、および図25記載のsegOffset及びaccumulatedSegOffsetのテーブルを用いて、以下の手順で生起確率の状態を表す確率状態ucStateを得るように構成してもよい。
val = max( 0, min( 3839, (n〈〈8) + m * (qp−26) + 128 ) )−1920
valMps = val 〉= 0
segmentIdx = (( val ^ (val〉〉11) ) + 128) 〉〉 8
ucState = ((accumulatedSegOffset[segmentIdx] + ( (val&255) * segOffset[segmentIdx] 〉〉 8))〈〈1) + valMps
したがって、異なる複数種類のパラメータInitValueの組み合わせを初期値テーブルとして保持し、そのいずれかを用いて、スライスまたはピクチャの先頭で初期化されるように構成する。動画像符号化装置における可変長符号化部13は、スライスヘッダあるいはピクチャヘッダにいずれの初期値テーブルを用いたかを示す初期値テーブル番号を可変長符号化して多重化する。動画像復号装置における可変長復号部41は、前記初期値テーブル番号を可変長復号することによって、動画像符号化装置と同じ初期値で生起確率を初期化することができる。
具体的には、例えば、各生起確率格納用メモリ領域の初期値を算出するためのパラメータInitValueをテーブルとして保持し、量子化パラメータqpの値に応じた変化率mを、パラメータInitValを4ビット右シフトした値をインデックスとして、図25記載のslopesのテーブルから得る。また、量子化パラメータに依存しない加算値nをパラメータInitValのLSB側4ビットの値として得る。即ち、以下の式によってパラメータInitValue、図25記載のslopesのテーブルからm値とn値を得る。
m = slopes[initValue〉〉4]
n = initValue & 15;
そして、量子化パラメータqp、変化率m、加算値n、および図25記載のsegOffset及びaccumulatedSegOffsetのテーブルを用いて、以下の手順で生起確率の状態を表す確率状態ucStateを得るように構成してもよい。
val = max( 0, min( 3839, (n〈〈8) + m * (qp−26) + 128 ) )−1920
valMps = val 〉= 0
segmentIdx = (( val ^ (val〉〉11) ) + 128) 〉〉 8
ucState = ((accumulatedSegOffset[segmentIdx] + ( (val&255) * segOffset[segmentIdx] 〉〉 8))〈〈1) + valMps
したがって、異なる複数種類のパラメータInitValueの組み合わせを初期値テーブルとして保持し、そのいずれかを用いて、スライスまたはピクチャの先頭で初期化されるように構成する。動画像符号化装置における可変長符号化部13は、スライスヘッダあるいはピクチャヘッダにいずれの初期値テーブルを用いたかを示す初期値テーブル番号を可変長符号化して多重化する。動画像復号装置における可変長復号部41は、前記初期値テーブル番号を可変長復号することによって、動画像符号化装置と同じ初期値で生起確率を初期化することができる。
あるいは、スライスまたはピクチャの符号化終了時点で、生起確率をすべて生起確率保存メモリに格納し、次に同じタイプのスライスまたはピクチャを符号化する際に、上記生起確率保存メモリに格納された生起確率を初期値として用いるように構成してもよい。
このようにすれば、スライスまたはピクチャ符号化時に最適な確率に更新された生起確率を初期値として適用することができるため、圧縮効率を向上させることができる。
また、生起確率保存メモリに格納された生起確率を初期値として使うか否かを示す確率引継ぎフラグを上位ヘッダでシグナリングするように構成してもよい。
このように構成すれば、更新された生起確率が、処理対象のスライスまたはピクチャに適している場合には、上記確率引継ぎフラグをONにして、上記生起確率保存メモリに格納された生起確率を初期値として適用し、更新された生起確率が、処理対象のスライスまたはピクチャに適していない場合には、上記確率引継ぎフラグをOFFにして、予め設定された初期値テーブルを用いることにより、より適切に生起確率の初期値を設定することができ、符号化効率を向上させることができる。
このようにすれば、スライスまたはピクチャ符号化時に最適な確率に更新された生起確率を初期値として適用することができるため、圧縮効率を向上させることができる。
また、生起確率保存メモリに格納された生起確率を初期値として使うか否かを示す確率引継ぎフラグを上位ヘッダでシグナリングするように構成してもよい。
このように構成すれば、更新された生起確率が、処理対象のスライスまたはピクチャに適している場合には、上記確率引継ぎフラグをONにして、上記生起確率保存メモリに格納された生起確率を初期値として適用し、更新された生起確率が、処理対象のスライスまたはピクチャに適していない場合には、上記確率引継ぎフラグをOFFにして、予め設定された初期値テーブルを用いることにより、より適切に生起確率の初期値を設定することができ、符号化効率を向上させることができる。
また、異なる初期値テーブルのいずれかを用いて、各生起確率格納用メモリ領域の初期値を、スライスまたはピクチャの先頭で初期化する構成に限るものではなく、例えば、初期値テーブルに格納された初期値から算出される変化率mに対して、重みパラメータwとオフセット値cを用いて修正された変化率m’を用いるように構成してもよい。即ち、例えば
m’= c+(m・w)〉〉7
によって表されるように変化率mに修正を加えるように構成してもよい。また、この初期値の修正は全ての初期値ではなく、予め選択された符号化効率に影響が大きい一部分の初期値に対してだけ実施し、その他の初期値については、修正を施さないように構成してもよい。
m’= c+(m・w)〉〉7
によって表されるように変化率mに修正を加えるように構成してもよい。また、この初期値の修正は全ての初期値ではなく、予め選択された符号化効率に影響が大きい一部分の初期値に対してだけ実施し、その他の初期値については、修正を施さないように構成してもよい。
重みパラメータwとオフセット値cは、スライスまたはピクチャヘッダに多重化することにより、復号側では、重みパラメータwとオフセット値cを復号することができ、適切な初期値の生起確率で算術符号化や算術復号を行うことができる。
このように構成すれば、生起確率をすべて記憶するためのメモリを持たなくても、画像の状態に合わせて適切な初期値を設定することができるため、少ないメモリ量で符号化効率を向上させることができる。
同様に、動画像符号化装置では、予め選択された符号化効率に影響が大きい一部分の初期値については、確率状態Stateの値そのものを確率状態初期値として、スライスまたはピクチャヘッダにて可変長符号化し、動画像復号装置では、前記確率状態初期値として可変長復号するように構成してもよい。このようにしても同様に生起確率をすべて記憶するためのメモリを持たなくても、画像の状態に合わせて適切な初期値を設定することができるため、少ないメモリ量で符号化効率を向上させることができる。
このように構成すれば、生起確率をすべて記憶するためのメモリを持たなくても、画像の状態に合わせて適切な初期値を設定することができるため、少ないメモリ量で符号化効率を向上させることができる。
同様に、動画像符号化装置では、予め選択された符号化効率に影響が大きい一部分の初期値については、確率状態Stateの値そのものを確率状態初期値として、スライスまたはピクチャヘッダにて可変長符号化し、動画像復号装置では、前記確率状態初期値として可変長復号するように構成してもよい。このようにしても同様に生起確率をすべて記憶するためのメモリを持たなくても、画像の状態に合わせて適切な初期値を設定することができるため、少ないメモリ量で符号化効率を向上させることができる。
次に、図9の動画像復号装置の処理内容を説明する。
可変長復号部41は、図1の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して(図10のステップST41)、1フレーム以上のピクチャから構成されるシーケンス単位あるいはピクチャ単位にフレームサイズを復号する。
可変長復号部41は、フレームサイズを復号すると、図1の動画像符号化装置で決定された最大符号化ブロックサイズ(イントラ予測処理又は動き補償予測処理が実施される際の処理単位となる符号化ブロックの最大サイズ)と、分割階層数の上限(最大サイズの符号化ブロックから階層的に分割されている符号化ブロックの階層数)を動画像符号化装置と同様の手順で決定する(ステップST42)。
可変長復号部41は、図1の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して(図10のステップST41)、1フレーム以上のピクチャから構成されるシーケンス単位あるいはピクチャ単位にフレームサイズを復号する。
可変長復号部41は、フレームサイズを復号すると、図1の動画像符号化装置で決定された最大符号化ブロックサイズ(イントラ予測処理又は動き補償予測処理が実施される際の処理単位となる符号化ブロックの最大サイズ)と、分割階層数の上限(最大サイズの符号化ブロックから階層的に分割されている符号化ブロックの階層数)を動画像符号化装置と同様の手順で決定する(ステップST42)。
例えば、符号化ブロックの最大サイズが、全てのピクチャに対して、入力画像の解像度に応じたサイズに決定されている場合には、先に復号しているフレームサイズに基づいて、図1の動画像符号化装置と同様の手順で、符号化ブロックの最大サイズを決定する。
動画像符号化装置によって、符号化ブロックの最大サイズ及び符号化ブロックの階層数がビットストリームに多重化されている場合には、そのビットストリームから符号化ブロックの最大サイズ及び符号化ブロックの階層数を復号する。
動画像符号化装置によって、符号化ブロックの最大サイズ及び符号化ブロックの階層数がビットストリームに多重化されている場合には、そのビットストリームから符号化ブロックの最大サイズ及び符号化ブロックの階層数を復号する。
可変長復号部41は、符号化ブロックの最大サイズ及び符号化ブロックの階層数を決定すると、最大符号化ブロックを出発点にして、各符号化ブロックの階層的な分割状態を把握することで、ビットストリームに多重化されている符号化データの中で、各符号化ブロックに係る符号化データを特定し、その符号化データから各符号化ブロックに割り当てられている符号化モードを復号する。
そして、可変長復号部41は、その符号化モードに含まれている符号化ブロックBnに属するパーティションPi nの分割情報を参照して、ビットストリームに多重化されている符号化データの中で、各パーティションPi nに係る符号化データを特定する(ステップST43)。
可変長復号部41は、各パーティションPi nに係る符号化データから圧縮データ、変換ブロック分割フラグを含む予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータを可変長復号して、その圧縮データ及び予測差分符号化パラメータを逆量子化・逆変換部45に出力するとともに、符号化モード及びイントラ予測パラメータ/インター予測パラメータを切替スイッチ42に出力する(ステップST44)。
そして、可変長復号部41は、その符号化モードに含まれている符号化ブロックBnに属するパーティションPi nの分割情報を参照して、ビットストリームに多重化されている符号化データの中で、各パーティションPi nに係る符号化データを特定する(ステップST43)。
可変長復号部41は、各パーティションPi nに係る符号化データから圧縮データ、変換ブロック分割フラグを含む予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータを可変長復号して、その圧縮データ及び予測差分符号化パラメータを逆量子化・逆変換部45に出力するとともに、符号化モード及びイントラ予測パラメータ/インター予測パラメータを切替スイッチ42に出力する(ステップST44)。
例えば、予測方向代表インデックスと予測方向差分インデックスがビットストリームに多重化されている場合には、その予測方向代表インデックスと予測方向差分インデックスをそれぞれの確率モデルに応じた算術復号などによりエントロピー復号し、その予測方向代表インデックスと予測方向差分インデックスからイントラ予測パラメータを特定するようにする。
これにより、動画像符号化装置側で、イントラ予測パラメータの符号量を削減している場合でも、イントラ予測パラメータを正しく復号することができる。
これにより、動画像符号化装置側で、イントラ予測パラメータの符号量を削減している場合でも、イントラ予測パラメータを正しく復号することができる。
なお、可変長復号部41は、図11に示すように、変換係数可変長復号部71と符号化パラメータ可変長復号部72から構成されており、変換係数可変長復号部71は、ビットストリームに多重化された符号化データから圧縮データである変換係数を可変長復号し、符号化パラメータ可変長復号部72は、ビットストリームに多重化された符号化データから符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ/インター予測パラメータ、動き情報、ブロック分割情報などの符号化パラメータを可変長復号するものであるが、変換係数可変長復号部71の処理内容の詳細は後述する。
切替スイッチ42は、可変長復号部41から出力された符号化ブロックBnに属するパーティションPi nの符号化モードがイントラ符号化モードである場合、可変長復号部41から出力されたイントラ予測パラメータをイントラ予測部43に出力し、その符号化モードがインター符号化モードである場合、可変長復号部41から出力されたインター予測パラメータを動き補償部44に出力する。
イントラ予測部43は、可変長復号部41からイントラ予測パラメータを受けると(ステップST45)、図1のイントラ予測部4と同様に、そのイントラ予測パラメータに基づいて、各パーティションPi nに対するイントラ予測処理を実施することにより、イントラ予測画像(Pi n)を生成する(ステップST46)。
即ち、イントラ予測部43は、可変長復号部41からイントラ予測パラメータを受けると、動画像符号化装置の輝度信号イントラ予測部21と同様に、例えば、パーティションPi nに対するイントラ予測モードのインデックス値が2(平均値予測)である場合、上パーティションの隣接画素と左パーティションの隣接画素の平均値をパーティションPi n内の画素の予測値として予測画像を生成する。
イントラ予測モードのインデックス値が2(平均値予測)以外の場合には、インデックス値が示す予測方向ベクトルvp=(dx,dy)に基づいて、パーティションPi n内の画素の予測値を生成する。
イントラ予測部43は、同様の手順で、パーティションPi n内の輝度信号のすべての画素に対する予測画素を生成し、その生成したイントラ予測画像(Pi n)を出力する。
即ち、イントラ予測部43は、可変長復号部41からイントラ予測パラメータを受けると、動画像符号化装置の輝度信号イントラ予測部21と同様に、例えば、パーティションPi nに対するイントラ予測モードのインデックス値が2(平均値予測)である場合、上パーティションの隣接画素と左パーティションの隣接画素の平均値をパーティションPi n内の画素の予測値として予測画像を生成する。
イントラ予測モードのインデックス値が2(平均値予測)以外の場合には、インデックス値が示す予測方向ベクトルvp=(dx,dy)に基づいて、パーティションPi n内の画素の予測値を生成する。
イントラ予測部43は、同様の手順で、パーティションPi n内の輝度信号のすべての画素に対する予測画素を生成し、その生成したイントラ予測画像(Pi n)を出力する。
動き補償部44は、切替スイッチ42からインター予測パラメータを受けると、動画像符号化装置の動き補償予測部5と同様に、そのインター予測パラメータに基づいて、各パーティションPi nに対するインター予測処理を実施することにより、インター予測画像(Pi n)を生成する(ステップST47)。
即ち、動き補償部44は、動き補償予測フレームメモリ49により格納されている1フレーム以上の参照画像を用いて、そのインター予測パラメータに基づくパーティションPi nに対する動き補償予測処理を実施することで、インター予測画像(Pi n)を生成する。
即ち、動き補償部44は、動き補償予測フレームメモリ49により格納されている1フレーム以上の参照画像を用いて、そのインター予測パラメータに基づくパーティションPi nに対する動き補償予測処理を実施することで、インター予測画像(Pi n)を生成する。
逆量子化・逆変換部45は、可変長復号部41から変換ブロック分割フラグを含む予測差分符号化パラメータを受けると、その予測差分符号化パラメータに含まれている量子化パラメータを用いて、変換ブロック分割フラグに従って決定される変換ブロックサイズ毎に、可変長復号部41から出力された符号化ブロックに係る圧縮データを逆量子化し、その予測差分符号化パラメータに含まれている変換ブロック分割フラグから特定される変換ブロックサイズ単位で、逆量子化後の圧縮データの逆変換処理(例えば、逆DCT(逆離散コサイン変換)や逆DST(逆離散サイン変換)、逆KL変換等の逆変換処理)を実施することで、逆変換処理後の圧縮データを復号予測差分信号(圧縮前の差分画像を示す信号)として加算部46に出力する(ステップST48)。
加算部46は、逆量子化・逆変換部45から出力された復号予測差分信号と、イントラ予測部43又は動き補償部44により生成された予測画像(Pi n)を示す予測信号とを加算することで、復号パーティション画像ないしはその集まりとしての復号画像を示す復号画像信号を生成し、その復号画像信号をループフィルタ部48に出力する(ステップST49)。
また、イントラ予測用メモリ47には、イントラ予測に用いるために、当該復号画像が格納される。
また、イントラ予測用メモリ47には、イントラ予測に用いるために、当該復号画像が格納される。
ループフィルタ部48は、加算部46から復号画像信号を受けると、その復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の復号画像信号が示す復号画像を参照画像として動き補償予測フレームメモリ49に格納するとともに、その復号画像を再生画像として出力する(ステップST50)。
ここで、符号化歪は変換ブロック境界に沿って発生するため、変換ブロック境界に対して符号化歪の補償を行う。小さい変換ブロックについては、変換ブロック境界の符号化歪が目立ちにくいので、ヘッダで最小ループフィルタ適用ブロックサイズをシグナリングし、変換ブロックサイズが最小ループフィルタ適用ブロックサイズより大きいブロックに対してのみ符号化歪補償を適用するよう構成してもよい。
このようにすれば、不要な符号化歪補償を省略できるので画質を保ちつつ演算量を削減
することができる。また、輝度信号と色差信号では変換ブロックの分割形状が異なるので
、符号化歪補償は輝度信号と色差信号でそれぞれ変換ブロックの分割形状を特定して処理
するよう構成する。
なお、ループフィルタ部48によるフィルタリング処理は、入力される復号画像信号の最大符号化ブロックあるいは個々の符号化ブロック単位で行ってもよいし、1画面分のマクロブロックに相当する復号画像信号が入力された後に1画面分まとめて行ってもよい。
ステップST43〜ST49の処理は、全ての符号化ブロックBnに属するパーティションPi nに対する処理が完了するまで繰り返し実施される(ステップST51)。
ここで、符号化歪は変換ブロック境界に沿って発生するため、変換ブロック境界に対して符号化歪の補償を行う。小さい変換ブロックについては、変換ブロック境界の符号化歪が目立ちにくいので、ヘッダで最小ループフィルタ適用ブロックサイズをシグナリングし、変換ブロックサイズが最小ループフィルタ適用ブロックサイズより大きいブロックに対してのみ符号化歪補償を適用するよう構成してもよい。
このようにすれば、不要な符号化歪補償を省略できるので画質を保ちつつ演算量を削減
することができる。また、輝度信号と色差信号では変換ブロックの分割形状が異なるので
、符号化歪補償は輝度信号と色差信号でそれぞれ変換ブロックの分割形状を特定して処理
するよう構成する。
なお、ループフィルタ部48によるフィルタリング処理は、入力される復号画像信号の最大符号化ブロックあるいは個々の符号化ブロック単位で行ってもよいし、1画面分のマクロブロックに相当する復号画像信号が入力された後に1画面分まとめて行ってもよい。
ステップST43〜ST49の処理は、全ての符号化ブロックBnに属するパーティションPi nに対する処理が完了するまで繰り返し実施される(ステップST51)。
以下、可変長復号部41における変換係数可変長復号部71の処理内容を具体的に説明する。
PosLast復号部81は、図1の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに多重化されたPosLast符号化データ(PosLast符号化部62により可変長符号化された符号化データ)を算術復号して、PosLastの水平成分であるPosLastXと、PosLastの垂直成分であるPosLastYとを得ることにより、圧縮データ系列のスキャン順で最後の非零係数の位置を示すPosLastを算出し、PosLastをサブブロック復号部85に出力する。
PosLast復号部81は、図1の動画像符号化装置により生成されたビットストリームを入力すると、そのビットストリームに多重化されたPosLast符号化データ(PosLast符号化部62により可変長符号化された符号化データ)を算術復号して、PosLastの水平成分であるPosLastXと、PosLastの垂直成分であるPosLastYとを得ることにより、圧縮データ系列のスキャン順で最後の非零係数の位置を示すPosLastを算出し、PosLastをサブブロック復号部85に出力する。
並列コンテキスト値算出部83は、動画像符号化装置の並列コンテキスト値算出部64と同様に、係数パラメータ格納用メモリ82により格納された復号済みの係数パラメータであるsignificant_coeff_flagをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に上記係数パラメータのコンテキスト値ctxIdxを算出する。
即ち、並列コンテキスト値算出部83は、係数パラメータであるsignificant_coeff_flagの算術復号に用いる生起確率に対応するコンテキスト値ctxIdxを、図24に示すように、周波数成分位置毎に、近傍のsignificant_coeff_flagが互いに参照しないような形状で、近傍周波数成分位置のsignificant_coeff_flagの値の合計値を加算することによって算出する。
図24の例では、係数パラメータであるsignificant_coeff_flagをサブブロック内の周波数成分の位置の組合せとして、4つのグループ((0,1,2,3)、(4,5,6,7)、(8,9,10,11)、(12,13,14,15)のグループ)に分類し、グループ内における他の周波数成分位置のsignificant_coeff_flagを参照することなく、グループ単位で、各グループ内の4つのコンテキスト値を並列に算出する。この場合、4倍の並列度でコンテキスト値ctxIdxの算出処理を実現することができる。
即ち、並列コンテキスト値算出部83は、係数パラメータであるsignificant_coeff_flagの算術復号に用いる生起確率に対応するコンテキスト値ctxIdxを、図24に示すように、周波数成分位置毎に、近傍のsignificant_coeff_flagが互いに参照しないような形状で、近傍周波数成分位置のsignificant_coeff_flagの値の合計値を加算することによって算出する。
図24の例では、係数パラメータであるsignificant_coeff_flagをサブブロック内の周波数成分の位置の組合せとして、4つのグループ((0,1,2,3)、(4,5,6,7)、(8,9,10,11)、(12,13,14,15)のグループ)に分類し、グループ内における他の周波数成分位置のsignificant_coeff_flagを参照することなく、グループ単位で、各グループ内の4つのコンテキスト値を並列に算出する。この場合、4倍の並列度でコンテキスト値ctxIdxの算出処理を実現することができる。
サブブロック復号部85は、並列コンテキスト値算出部83が係数パラメータのコンテキスト値ctxIdxを算出すると、並列コンテキスト値算出部83から、PosLast復号部81より出力されたPosLastが示す位置より後ろにある係数パラメータ以外の係数パラメータ(PosLastが示す位置にある係数パラメータと、PosLastが示す位置より前にある係数パラメータ)のコンテキスト値ctxIdxを取得して、生起確率格納用メモリ84から上記コンテキスト値ctxIdxに対応する生起確率を取得する。
サブブロック復号部85は、生起確率格納用メモリ84からコンテキスト値ctxIdxに対応する生起確率を取得すると、その生起確率に基づいてビットストリームに多重化された符号化データ(サブブロック符号化部66により算術符号化された符号化データ)から係数パラメータを算術復号する。
また、サブブロック復号部85は、その係数パラメータが非零である旨を示していれば、ビットストリームに多重化された符号化データから、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術復号する。
この場合、生起確率格納用メモリ84と異なる生起確率格納用メモリ(変換係数の絶対値等を算術復号するために、コンテキスト値ctxIdxに対応する生起確率を格納しているメモリ)から、コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術復号する。
サブブロック復号部85は、生起確率格納用メモリ84からコンテキスト値ctxIdxに対応する生起確率を取得すると、その生起確率に基づいてビットストリームに多重化された符号化データ(サブブロック符号化部66により算術符号化された符号化データ)から係数パラメータを算術復号する。
また、サブブロック復号部85は、その係数パラメータが非零である旨を示していれば、ビットストリームに多重化された符号化データから、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術復号する。
この場合、生起確率格納用メモリ84と異なる生起確率格納用メモリ(変換係数の絶対値等を算術復号するために、コンテキスト値ctxIdxに対応する生起確率を格納しているメモリ)から、コンテキスト値ctxIdxに対応する生起確率を取得し、その生起確率に基づいて、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術復号する。
以下、サブブロック復号部85の処理内容を具体的に説明する。
サブブロック復号部85は、例えば、図21に示すように、4×4サイズのサブブロック単位に、ビットストリームに多重化された符号化データを算術復号する。
サブブロック復号部85は、例えば、図21に示すように、4×4サイズのサブブロック単位に、ビットストリームに多重化された符号化データを算術復号する。
(1)図21に示す斜めスキャンと逆順である逆斜めスキャン順(図22に例示)に、PosLastを含むサブブロックから始めて、当該サブブロック内に非零の変換係数が含まれているか否かを示すSigCoeffGroupFlagを算術復号する。
SigCoeffGroupFlagが当該サブブロック内に非零の変換係数が含まれている旨を示している場合、以下の(2)〜(6)の処理を行う。
(2)逆斜めスキャン順に、当該サブブロック内の変換係数(各周波数成分の位置にある変換係数)が非零であるか否かを示すsignificant_coeff_flagを、並列コンテキスト値算出部83により算出されたコンテキスト値ctxIdxに対応する生起確率(生起確率格納用メモリ84により格納されている生起確率のうち、当該コンテキスト値ctxIdxによって指定されるメモリ領域に格納されている生起確率)に基づいて算術復号する。
SigCoeffGroupFlagが当該サブブロック内に非零の変換係数が含まれている旨を示している場合、以下の(2)〜(6)の処理を行う。
(2)逆斜めスキャン順に、当該サブブロック内の変換係数(各周波数成分の位置にある変換係数)が非零であるか否かを示すsignificant_coeff_flagを、並列コンテキスト値算出部83により算出されたコンテキスト値ctxIdxに対応する生起確率(生起確率格納用メモリ84により格納されている生起確率のうち、当該コンテキスト値ctxIdxによって指定されるメモリ領域に格納されている生起確率)に基づいて算術復号する。
(3)逆斜めスキャン順に、significant_coeff_flagが非零である旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が1より大きいか否かを示すcoeff_abs_level_greater1_flagを算術復号する。
coeff_abs_level_greater1_flagが、変換係数の絶対値が1より大きくないことを示す場合には、当該周波数成分位置の変換係数の絶対値として1を出力する。
(4)スキャン順に、coeff_abs_level_greater1_flagが、変換係数の絶対値が1より大きい旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が2より大きいか否かを示すcoeff_abs_level_greater2_flagを算術復号する。
coeff_abs_level_greater2_flagが、変換係数の絶対値が2より大きくないことを示す場合には、当該周波数成分位置の変換係数の絶対値として2を出力する。
coeff_abs_level_greater1_flagが、変換係数の絶対値が1より大きくないことを示す場合には、当該周波数成分位置の変換係数の絶対値として1を出力する。
(4)スキャン順に、coeff_abs_level_greater1_flagが、変換係数の絶対値が1より大きい旨を示している周波数成分位置の変換係数については、その変換係数の絶対値が2より大きいか否かを示すcoeff_abs_level_greater2_flagを算術復号する。
coeff_abs_level_greater2_flagが、変換係数の絶対値が2より大きくないことを示す場合には、当該周波数成分位置の変換係数の絶対値として2を出力する。
(5)逆斜めスキャン順に、significant_coeff_flagが非零である旨を示している周波数成分位置の変換係数については、その変換係数の正負の符号を示すcoeff_sign_flagを算術復号し、当該周波数成分位置の変換係数の絶対値に対する正負の符号を決定する。
(6)逆斜めスキャン順に、coeff_abs_level_greater2_flagが、変換係数の絶対値が2より大きい旨を示している周波数成分位置の変換係数については、変換係数の絶対値から3を減じた値であるcoeff_abs_level_minus3を算術復号する。
当該周波数成分位置の変換係数の絶対値をcoeff_abs_level_minus3の値に3を加えた値とし、coeff_sign_flagにより当該周波数成分位置の変換係数の絶対値に対する正負の符号を決定する。
(6)逆斜めスキャン順に、coeff_abs_level_greater2_flagが、変換係数の絶対値が2より大きい旨を示している周波数成分位置の変換係数については、変換係数の絶対値から3を減じた値であるcoeff_abs_level_minus3を算術復号する。
当該周波数成分位置の変換係数の絶対値をcoeff_abs_level_minus3の値に3を加えた値とし、coeff_sign_flagにより当該周波数成分位置の変換係数の絶対値に対する正負の符号を決定する。
変換係数逆スキャン部86は、処理対象となる変換ブロックにおいて、サブブロック復号部85により算術復号された係数パラメータ、絶対値及び正負の符号からなる変換係数を図22に示す逆スキャン順に整列して圧縮データを生成し、その圧縮データを出力する。
ここでは、変換係数可変長復号部71が、圧縮データである変換係数を最適な生起確率に基づいて算術復号を行うものを示したが、符号化パラメータ可変長復号部72が、生起確率を格納する生起確率格納用メモリ領域を切り替えることで、符号化パラメータ(符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ又インター予測パラメータ、動き情報、ブロック分割情報など)についても、最適な生起確率に基づいて算術復号を行うように構成してもよい。
なお、各確率状態メモリ領域の初期値は、異なる複数種類の初期値テーブルのいずれかを用いて、スライスまたはピクチャの先頭で初期化される。
なお、各確率状態メモリ領域の初期値は、異なる複数種類の初期値テーブルのいずれかを用いて、スライスまたはピクチャの先頭で初期化される。
以上で明らかなように、この実施の形態1によれば、可変長符号化部13が、変換・量子化部7から出力された圧縮データである変換係数をサブブロックに分割し、各々のサブブロックの変換係数をスキャンして圧縮データ系列を生成するとともに、各々のサブブロックの変換係数が非零であるか否かを示す係数パラメータを出力する変換ブロックスキャン部61と、変換ブロックスキャン部61から出力された係数パラメータを参照して、その圧縮データ系列の中で、その変換係数のスキャン順で最も後ろにある非零の変換係数を特定し、その変換係数の位置を示すPosLastを可変長符号化するPosLast符号化部62と、変換ブロックスキャン部61から出力された係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に上記係数パラメータのコンテキスト値を算出する並列コンテキスト値算出部64と、コンテキスト値に対応する生起確率を格納している生起確率格納用メモリ65と、並列コンテキスト値算出部64から上記スキャン順でPosLastが示す位置より後ろにある係数パラメータ以外の係数パラメータのコンテキスト値を取得して、生起確率格納用メモリ65から上記コンテキスト値に対応する生起確率を取得し、その生起確率に基づいて上記係数パラメータを算術符号化するとともに、その係数パラメータが非零である旨を示していれば、その係数パラメータに係る変換係数の絶対値及び正負の符号を算術符号化する変換係数可変長符号化部51と、符号化制御部1により選択された符号化モードを含む符号化パラメータを可変長符号化する符号化パラメータ可変長符号化部52とから構成されているので、サブブロック内の各周波数成分位置における変換係数のコンテキスト値を算出する際の並列度を高めることができるようになり、処理速度の高速化を図ることができる効果を奏する。
実施の形態2.
上記実施の形態1の動画像符号化装置及び動画像復号装置では、生起確率格納用メモリ65,84が格納しているコンテキスト値ctxIdxに対応する生起確率(算術符号化に用いる生起確率)の初期値として、異なる複数種類の初期化テーブルのいずれかを用いて、スライスまたはピクチャの先頭で初期化されるものを示したが、この実施の形態2の動画像符号化装置及び動画像復号装置では、以下のようにして、初期化を行うものとする。
上記実施の形態1の動画像符号化装置及び動画像復号装置では、生起確率格納用メモリ65,84が格納しているコンテキスト値ctxIdxに対応する生起確率(算術符号化に用いる生起確率)の初期値として、異なる複数種類の初期化テーブルのいずれかを用いて、スライスまたはピクチャの先頭で初期化されるものを示したが、この実施の形態2の動画像符号化装置及び動画像復号装置では、以下のようにして、初期化を行うものとする。
動画像符号化装置は、可変長符号化部13が、予測処理としてフレーム内予測符号化を行う際に用いるイントラスライス用の初期化テーブルと、予測処理としてフレーム間予測符号化を行う際に用いる非イントラスライス用の初期化テーブルとを備えている。
また、動画像復号装置は、可変長復号部41が、予測処理としてフレーム内予測符号化を行う際に用いるイントラスライス用の初期化テーブルと、予測処理としてフレーム間予測符号化を行う際に用いる非イントラスライス用の初期化テーブルとを備えている。
また、動画像復号装置は、可変長復号部41が、予測処理としてフレーム内予測符号化を行う際に用いるイントラスライス用の初期化テーブルと、予測処理としてフレーム間予測符号化を行う際に用いる非イントラスライス用の初期化テーブルとを備えている。
動画像符号化装置の可変長符号化部13は、イントラスライスを符号化する際には、イントラスライス用の初期化テーブルを用いて、変換・量子化部7から出力された圧縮データである変換係数の可変長符号化に用いる生起確率の初期値(生起確率格納用メモリ65に格納される初期値)を初期化する。
一方、非イントラスライスを符号化する際には、イントラスライス用の初期化テーブル又は非イントラスライス用の初期化テーブルを用いて、変換・量子化部7から出力された圧縮データである変換係数の可変長符号化に用いる生起確率の初期値(生起確率格納用メモリ65に格納される初期値)を初期化する。
一方、非イントラスライスを符号化する際には、イントラスライス用の初期化テーブル又は非イントラスライス用の初期化テーブルを用いて、変換・量子化部7から出力された圧縮データである変換係数の可変長符号化に用いる生起確率の初期値(生起確率格納用メモリ65に格納される初期値)を初期化する。
例えば、シーンチェンジが検出された場合、あるいは、処理対象のスライスの直前の非イントラスライスにおいて、イントラ予測モードを適用する符号化ブロックの割合が予め設定された閾値以上である場合、処理対象のスライスが非イントラスライスであれば、スライス内にイントラ予測モードを適用する符号化ブロックが多数発生することが想定されるため、イントラスライス用の初期化テーブルを用いる。それ以外の場合には、非イントラスライス用の初期化テーブルを用いる。
これにより、イントラ予測モードを適用するブロックが多数発生するスライスでは、イントラスライス用の初期化テーブルで生起確率格納用メモリ65の初期値を初期化することができる一方、イントラ予測モードを適用するブロックが多数発生しないスライスでは、非イントラスライス用の初期化テーブルで生起確率格納用メモリ65の初期値を初期化することができるため、効率よく符号化することができる。
これにより、イントラ予測モードを適用するブロックが多数発生するスライスでは、イントラスライス用の初期化テーブルで生起確率格納用メモリ65の初期値を初期化することができる一方、イントラ予測モードを適用するブロックが多数発生しないスライスでは、非イントラスライス用の初期化テーブルで生起確率格納用メモリ65の初期値を初期化することができるため、効率よく符号化することができる。
動画像符号化装置の可変長符号化部13は、非イントラスライスを符号化する際には、イントラスライス用の初期化テーブル又は非イントラスライス用の初期化テーブルのどちらを用いているかを示すフラグcabac_init_flagを可変長符号化して、そのフラグcabac_init_flagの符号化データをビットストリームに多重化する。
例えば、イントラスライス用の初期化テーブルを用いて、生起確率格納用メモリ65の初期値を初期化する場合、cabac_init_flag=0とし、非イントラスライス用の初期化テーブルを用いて、生起確率格納用メモリ65の初期値を初期化する場合、cabac_init_flag=1とする。
ただし、cabac_init_flagの値をどの初期化テーブルに割り当てるかは、本質的な課題ではないため、いかなる組み合わせであってもよい。
例えば、イントラスライス用の初期化テーブルを用いて、生起確率格納用メモリ65の初期値を初期化する場合、cabac_init_flag=0とし、非イントラスライス用の初期化テーブルを用いて、生起確率格納用メモリ65の初期値を初期化する場合、cabac_init_flag=1とする。
ただし、cabac_init_flagの値をどの初期化テーブルに割り当てるかは、本質的な課題ではないため、いかなる組み合わせであってもよい。
動画像復号装置の可変長復号部41は、フレーム内符号化を行うイントラスライスを復号する際には、イントラスライス用の初期化テーブルを用いて、圧縮データである変換係数の可変長復号に用いる生起確率の初期値(生起確率格納用メモリ84に格納される初期値)を初期化する。
一方、非イントラスライスを復号する際には、ビットストリームに多重化された符号化データからフラグcabac_init_flagを可変長復号する。
このときcabac_init_flag=0であれば、イントラスライス用の初期化テーブルを用いて、生起確率格納用メモリ84の初期値を初期化し、cabac_init_flag=1であれば、非イントラスライス用の初期化テーブルを用いて、生起確率格納用メモリ84の初期値を初期化する。
これにより、動画像符号化装置で符号化された符号化データを好適に復号することができる。
一方、非イントラスライスを復号する際には、ビットストリームに多重化された符号化データからフラグcabac_init_flagを可変長復号する。
このときcabac_init_flag=0であれば、イントラスライス用の初期化テーブルを用いて、生起確率格納用メモリ84の初期値を初期化し、cabac_init_flag=1であれば、非イントラスライス用の初期化テーブルを用いて、生起確率格納用メモリ84の初期値を初期化する。
これにより、動画像符号化装置で符号化された符号化データを好適に復号することができる。
以下、生起確率格納用メモリ65,84の初期値の初期化を具体的に説明する。
可変長符号化部13及び可変長復号部41は、例えば、生起確率格納用メモリ65,84の初期値を算出するためのパラメータInitValueをテーブルとして保持している。
可変長符号化部13及び可変長復号部41は、下記の式に示すように、パラメータInitValueに基づいて、スライスの先頭での量子化パラメータ値qpに応じた変化率mを算出する。
また、下記の式に示すように、パラメータInitValueに基づいて、量子化パラメータ値qpに依存しない加算値nを算出する。
m = (initValue〉〉4) * 5 − 45
n = ((initValue&15)〈〈3) − 16
可変長符号化部13及び可変長復号部41は、例えば、生起確率格納用メモリ65,84の初期値を算出するためのパラメータInitValueをテーブルとして保持している。
可変長符号化部13及び可変長復号部41は、下記の式に示すように、パラメータInitValueに基づいて、スライスの先頭での量子化パラメータ値qpに応じた変化率mを算出する。
また、下記の式に示すように、パラメータInitValueに基づいて、量子化パラメータ値qpに依存しない加算値nを算出する。
m = (initValue〉〉4) * 5 − 45
n = ((initValue&15)〈〈3) − 16
可変長符号化部13及び可変長復号部41は、変化率m及び加算値nを算出すると、その変化率m及び加算値nを用いて、以下の手順で生起確率の状態を表す確率状態ucStateを算出する。
val = Clip3( 1, 126, ((m * Clip3(0, 51, qp)) 〉〉 4 ) + n )
valMps = (val 〈= 63 ) ? 0 : 1
ucState = valMps ? ( val − 64 ) : ( 63 − val )
val = Clip3( 1, 126, ((m * Clip3(0, 51, qp)) 〉〉 4 ) + n )
valMps = (val 〈= 63 ) ? 0 : 1
ucState = valMps ? ( val − 64 ) : ( 63 − val )
可変長符号化部13及び可変長復号部41では、異なる複数種類のパラメータInitValueの組み合わせを初期化テーブルとして保持し、いずれかの初期化テーブルを用いて、スライスまたはピクチャの先頭で初期化されるように構成する。
可変長符号化部13では、スライスヘッダあるいはピクチャヘッダに、いずれの初期化テーブルを用いたかを示す初期化テーブル番号を可変長符号化して多重化する。可変長復号部41では、スライスヘッダあるいはピクチャヘッダに多重化されている初期化テーブル番号を可変長復号することによって、動画像符号化装置と同じ初期値で生起確率を初期化することができる。
可変長符号化部13では、スライスヘッダあるいはピクチャヘッダに、いずれの初期化テーブルを用いたかを示す初期化テーブル番号を可変長符号化して多重化する。可変長復号部41では、スライスヘッダあるいはピクチャヘッダに多重化されている初期化テーブル番号を可変長復号することによって、動画像符号化装置と同じ初期値で生起確率を初期化することができる。
一例としては、図26に示すように、直交変換係数の絶対値の先頭から4ビット分のイントラスライス用の初期化テーブル及び非イントラスライス用の初期化テーブルを保持するよう構成する。
例えば、量子化パラメータ値qpが32の場合、生起確率格納用メモリ65,84の初期値は図27のようになる。
例えば、図28に示すように、符号化対象となる2値化シンボルの値が1になる確率が、確率状態ucStateの値が小さいほど、高くなるよう構成されているとすると、イントラスライス用の初期化テーブルでは、非イントラスライス用の初期化テーブルと比べて、1になる確率が高くなる。
例えば、量子化パラメータ値qpが32の場合、生起確率格納用メモリ65,84の初期値は図27のようになる。
例えば、図28に示すように、符号化対象となる2値化シンボルの値が1になる確率が、確率状態ucStateの値が小さいほど、高くなるよう構成されているとすると、イントラスライス用の初期化テーブルでは、非イントラスライス用の初期化テーブルと比べて、1になる確率が高くなる。
通常、イントラスライスでは、予測が当り難く、非イントラスライスと比べて、直交変換係数が0でない確率が高くなる傾向があるため、直交変換係数の先頭の2値化シンボルは0でない確率が高くなる。
従って、このように初期化テーブルを構成し、0でない直交変換係数の発生確率に応じて、イントラスライス用の初期化テーブルと、非イントラスライス用の初期化テーブルとを切り替えることによって、効率よく符号化することができる。また、いずれの初期化テーブルを適用したかをシグナリングすることにより、動画像復号装置側でも好適に復号することができる。
従って、このように初期化テーブルを構成し、0でない直交変換係数の発生確率に応じて、イントラスライス用の初期化テーブルと、非イントラスライス用の初期化テーブルとを切り替えることによって、効率よく符号化することができる。また、いずれの初期化テーブルを適用したかをシグナリングすることにより、動画像復号装置側でも好適に復号することができる。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
1 符号化制御部(符号化制御手段)、2 ブロック分割部(ブロック分割手段)、3 切替スイッチ(予測画像生成手段)、4 イントラ予測部(予測画像生成手段)、5 動き補償予測部(予測画像生成手段)、6 減算部(差分画像生成手段)、7 変換・量子化部(画像圧縮手段)、8 逆量子化・逆変換部、9 加算部、10 イントラ予測用メモリ、11 ループフィルタ部、12 動き補償予測フレームメモリ、13 可変長符号化部(可変長符号化手段)、21 輝度信号イントラ予測部、22 切替スイッチ、23 色差信号方向性イントラ予測部、24 輝度相関利用色差信号予測部、31 平滑化輝度参照画素縮小部、32 相関算出部、33 色差予測画像生成部、41 可変長復号部(可変長復号手段)、42 切替スイッチ(予測画像生成手段)、43 イントラ予測部(予測画像生成手段)、44 動き補償部(予測画像生成手段)、45 逆量子化・逆変換部(差分画像生成手段)、46 加算部(復号画像生成手段)、47 イントラ予測用メモリ、48 ループフィルタ部、49 動き補償予測フレームメモリ、51 変換係数可変長符号化部、52 符号化パラメータ可変長符号化部(第2の可変長符号化手段)、61 変換ブロックスキャン部(係数スキャン手段)、62 PosLast符号化部(最後位置情報符号化手段)、63 係数パラメータ格納用メモリ(コンテキスト値算出手段)、64 並列コンテキスト値算出部(コンテキスト値算出手段)、65 生起確率格納用メモリ、66 サブブロック符号化部(第1の可変長符号化手段)、71 変換係数可変長復号部、72 符号化パラメータ可変長復号部(第2の可変長復号手段)、81 PosLast復号部(最後位置情報復号手段)、82 係数パラメータ格納用メモリ(コンテキスト値算出手段)、83 並列コンテキスト値算出部(コンテキスト値算出手段)、84 生起確率格納用メモリ、85 サブブロック復号部(第1の可変長復号手段)、86 変換係数逆スキャン部(変換係数逆スキャン手段)。
Claims (12)
- 入力画像の圧縮データを可変長符号化して、上記圧縮データの符号化データが多重化されたビットストリームを生成する可変長符号化手段を備え、
上記可変長符号化手段は、上記圧縮データである変換係数をサブブロックに分割し、各々のサブブロックの変換係数をスキャンして圧縮データ系列を生成するとともに、各々のサブブロックの変換係数が非零であるか否かを示す係数パラメータを出力する係数スキャン手段と、上記係数スキャン手段から出力された係数パラメータを参照して、上記圧縮データ系列の中で、その変換係数のスキャン順で最も後ろにある非零の変換係数を特定し、その変換係数の位置を示す最後位置情報を可変長符号化する最後位置情報符号化手段と、上記係数スキャン手段から出力された係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に上記係数パラメータのコンテキスト値を算出するコンテキスト値算出手段と、コンテキスト値に対応する生起確率を格納している生起確率格納用メモリと、上記コンテキスト値算出手段から上記スキャン順で上記最後位置情報が示す位置より後ろにある係数パラメータ以外の係数パラメータのコンテキスト値を取得して、上記生起確率格納用メモリから上記コンテキスト値に対応する生起確率を取得し、上記生起確率に基づいて上記係数パラメータを可変長符号化するとともに、上記係数パラメータが非零である旨を示していれば、上記係数パラメータに係る変換係数の絶対値及び正負の符号を可変長符号化する第1の可変長符号化手段と、上記符号化制御手段により選択された符号化モードを含む符号化パラメータを可変長符号化する第2の可変長符号化手段とから構成されていることを特徴とする動画像符号化装置。 - 入力画像を所定のサイズの最大符号化ブロックに分割し、上記最大符号化ブロックを階層的に符号化ブロックに分割するブロック分割手段と、上記ブロック分割手段により分割された符号化ブロックに対応する符号化モードを選択する符号化制御手段と、上記ブロック分割手段により分割された符号化ブロックに対して、上記符号化制御手段により選択された符号化モードに対応する予測処理を実施して予測画像を生成する予測画像生成手段と、上記ブロック分割手段により分割された符号化ブロックと上記予測画像生成手段により生成された予測画像との差分画像を生成する差分画像生成手段と、上記差分画像生成手段により生成された差分画像の変換処理を実施するとともに、上記差分画像の変換係数を量子化し、量子化後の変換係数を圧縮データとして出力する画像圧縮手段とを備え、
可変長符号化手段は、上記画像圧縮手段から出力された圧縮データを可変長符号化するとともに、上記符号化制御手段により選択された符号化モードを含む符号化パラメータを可変長符号化して、上記圧縮データ及び上記符号化パラメータの符号化データが多重化されたビットストリームを生成することを特徴とする請求項1記載の動画像符号化装置。 - ビットストリームに多重化された符号化データから階層的に分割されている各々の符号化ブロックに係る圧縮データを可変長復号する可変長復号手段を備え、
上記可変長復号手段は、上記ビットストリームに多重化された符号化データから最後位置情報を可変長復号する最後位置情報復号手段と、サブブロックの変換係数が非零であるか否かを示す復号済みの係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に上記係数パラメータのコンテキスト値を算出するコンテキスト値算出手段と、コンテキスト値に対応する生起確率を格納している生起確率格納用メモリと、上記コンテキスト値算出手段から上記最後位置情報復号手段により可変長復号された最後位置情報が示す位置より後ろにある係数パラメータ以外の係数パラメータのコンテキスト値を取得して、上記生起確率格納用メモリから上記コンテキスト値に対応する生起確率を取得し、上記生起確率に基づいて上記ビットストリームに多重化された符号化データから係数パラメータを可変長復号するとともに、上記係数パラメータが非零である旨を示していれば、上記ビットストリームに多重化された符号化データから上記係数パラメータに係る変換係数の絶対値及び正負の符号を可変長復号する第1の可変長復号手段と、上記第1の可変長復号手段により可変長復号された係数パラメータ、絶対値及び正負の符号からなる変換係数を逆スキャンして圧縮データを生成する変換係数逆スキャン手段と、上記ビットストリームに多重化された符号化データから符号化モードを含む符号化パラメータを可変長復号する第2の可変長復号手段とから構成されていることを特徴とする動画像復号装置。 - 可変長復号手段は、ビットストリームに多重化された符号化データから階層的に分割されている各々の符号化ブロックに係る圧縮データを可変長復号するとともに、符号化モードを含む符号化パラメータを可変長復号し、
上記可変長復号手段により可変長復号された符号化ブロックに係る符号化モードに対応する予測処理を実施して、当該符号化ブロックに対する予測画像を生成する予測画像生成手段と、上記可変長復号手段により可変長復号された符号化ブロックに係る圧縮データから圧縮前の差分画像を生成する差分画像生成手段と、上記差分画像生成手段により生成された差分画像と上記予測画像生成手段により生成された予測画像とを加算して復号画像を生成する復号画像生成手段とを備えていることを特徴とする請求項3記載の動画像復号装置。 - 可変長符号化手段が、入力画像の圧縮データを可変長符号化して、上記圧縮データの符号化データが多重化されたビットストリームを生成する可変長符号化処理ステップを備え、
上記可変長符号化処理ステップは、上記圧縮データである変換係数をサブブロックに分割し、各々のサブブロックの変換係数をスキャンして圧縮データ系列を生成するとともに、各々のサブブロックの変換係数が非零であるか否かを示す係数パラメータを出力する係数スキャン処理ステップと、上記係数スキャン処理ステップで出力された係数パラメータを参照して、上記圧縮データ系列の中で、その変換係数のスキャン順で最も後ろにある非零の変換係数を特定し、その変換係数の位置を示す最後位置情報を可変長符号化する最後位置情報符号化処理ステップと、上記係数スキャン処理ステップで出力された係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に上記係数パラメータのコンテキスト値を算出するコンテキスト値算出処理ステップと、上記コンテキスト値算出処理ステップで算出されたコンテキスト値の中から、上記スキャン順で上記最後位置情報が示す位置より後ろにある係数パラメータ以外の係数パラメータのコンテキスト値を取得して、生起確率格納用メモリから上記コンテキスト値に対応する生起確率を取得し、上記生起確率に基づいて上記係数パラメータを可変長符号化するとともに、上記係数パラメータが非零である旨を示していれば、上記係数パラメータに係る変換係数の絶対値及び正負の符号を可変長符号化する第1の可変長符号化処理ステップと、上記符号化制御処理ステップで選択された符号化モードを含む符号化パラメータを可変長符号化する第2の可変長符号化処理ステップとから構成されていることを特徴とする動画像符号化方法。 - 可変長復号手段が、ビットストリームに多重化された符号化データから階層的に分割されている各々の符号化ブロックに係る圧縮データを可変長復号する可変長復号処理ステップを備え、
上記可変長復号処理ステップは、上記ビットストリームに多重化された符号化データから最後位置情報を可変長復号する最後位置情報復号処理ステップと、サブブロックの変換係数が非零であるか否かを示す復号済みの係数パラメータをサブブロック内の周波数成分の位置の組み合わせに応じてグループ分けし、グループ単位で並列に上記係数パラメータのコンテキスト値を算出するコンテキスト値算出処理ステップと、コンテキスト値算出処理ステップで算出されたコンテキスト値の中から、スキャン順で上記最後位置情報が示す位置より後ろにある係数パラメータ以外の係数パラメータのコンテキスト値を取得して、生起確率格納用メモリから上記コンテキスト値に対応する生起確率を取得し、上記生起確率に基づいて上記ビットストリームに多重化された符号化データから係数パラメータを可変長復号するとともに、上記係数パラメータが非零である旨を示していれば、上記ビットストリームに多重化された符号化データから上記係数パラメータに係る変換係数の絶対値及び正負の符号を可変長復号する第1の可変長復号処理ステップと、上記第1の可変長復号処理ステップで可変長復号された係数パラメータ、絶対値及び正負の符号からなる変換係数を逆スキャンして圧縮データを生成する変換係数逆スキャン処理ステップと、上記ビットストリームに多重化された符号化データから符号化モードを含む符号化パラメータを可変長復号する第2の可変長復号処理ステップとから構成されていることを特徴とする動画像復号方法。 - 入力画像の各スライスが分割された符号化ブロックに対する予測処理が実施されて生成された予測画像と上記符号化ブロックとの差分画像の変換係数を可変長符号化して、上記変換係数の符号化データが多重化されたビットストリームを生成する可変長符号化手段を備え、
上記可変長符号化手段は、上記予測処理としてフレーム内予測符号化を行う際に用いるイントラスライス用の初期化テーブルと、上記予測処理としてフレーム間予測符号化を行う際に用いる非イントラスライス用の初期化テーブルとを備え、
イントラスライスを符号化する際には、上記イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長符号化に用いる生起確率の初期値を初期化する一方、非イントラスライスを符号化する際には、上記イントラスライス用の初期化テーブル又は上記非イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長符号化に用いる生起確率の初期値を初期化するとともに、どちらの初期化テーブルを用いているかを示すフラグを可変長符号化して、上記フラグの符号化データを上記ビットストリームに多重化することを特徴とする動画像符号化装置。 - 可変長符号化手段は、非イントラスライスを符号化する際、上記非イントラスライスの直前の非イントラスライスにおいて、イントラ予測モードを適用する符号化ブロックの割合が所定の閾値以上である場合、イントラスライス用の初期化テーブルを用い、上記割合が所定の閾値未満である場合、非イントラスライス用の初期化テーブルを用いることを特徴とする請求項7記載の動画像符号化装置。
- 可変長符号化手段は、非イントラスライスを符号化する際、シーンチェンジが検出された場合、イントラスライス用の初期化テーブルを用い、シーンチェンジが検出されなければ、非イントラスライス用の初期化テーブルを用いることを特徴とする請求項7記載の動画像符号化装置。
- ビットストリームに多重化された符号化データから、入力画像の各スライスが分割された符号化ブロックに対する予測処理が実施されて生成された予測画像と上記符号化ブロックとの差分画像の変換係数を可変長復号する可変長復号手段を備え、
上記可変長復号手段は、上記予測処理としてフレーム内予測符号化を行う際に用いるイントラスライス用の初期化テーブルと、上記予測処理としてフレーム間予測符号化を行う際に用いる非イントラスライス用の初期化テーブルとを備え、
イントラスライスを復号する際には、上記イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長復号に用いる生起確率の初期値を初期化する一方、非イントラスライスを復号する際には、上記ビットストリームに多重化された符号化データからフラグを可変長復号し、上記フラグが上記イントラスライス用の初期化テーブルを用いる旨を示していれば、上記イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長復号に用いる生起確率の初期値を初期化し、上記フラグが上記非イントラスライス用の初期化テーブルを用いる旨を示していれば、上記非イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長復号に用いる生起確率の初期値を初期化することを特徴とする動画像復号装置。 - 可変長符号化手段が、入力画像の各スライスが分割された符号化ブロックに対する予測処理が実施されて生成された予測画像と上記符号化ブロックとの差分画像の変換係数を可変長符号化して、上記変換係数の符号化データが多重化されたビットストリームを生成する可変長符号化処理ステップを備え、
上記可変長符号化手段は、上記予測処理としてフレーム内予測符号化を行う際に用いるイントラスライス用の初期化テーブルと、上記予測処理としてフレーム間予測符号化を行う際に用いる非イントラスライス用の初期化テーブルとを備え、
上記可変長符号化処理ステップで、イントラスライスを符号化する際には、上記イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長符号化に用いる生起確率の初期値を初期化する一方、非イントラスライスを符号化する際には、上記イントラスライス用の初期化テーブル又は上記非イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長符号化に用いる生起確率の初期値を初期化するとともに、どちらの初期化テーブルを用いているかを示すフラグを可変長符号化して、上記フラグの符号化データを上記ビットストリームに多重化することを特徴とする動画像符号化方法。 - 可変長復号手段が、ビットストリームに多重化された符号化データから、入力画像の各スライスが分割された符号化ブロックに対する予測処理が実施されて生成された予測画像と上記符号化ブロックとの差分画像の変換係数を可変長復号する可変長復号処理ステップを備え、
上記可変長復号手段は、上記予測処理としてフレーム内予測符号化を行う際に用いるイントラスライス用の初期化テーブルと、上記予測処理としてフレーム間予測符号化を行う際に用いる非イントラスライス用の初期化テーブルとを備え、
上記可変長復号処理ステップで、イントラスライスを復号する際には、上記イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長復号に用いる生起確率の初期値を初期化する一方、非イントラスライスを復号する際には、上記ビットストリームに多重化された符号化データからフラグを可変長復号し、上記フラグが上記イントラスライス用の初期化テーブルを用いる旨を示していれば、上記イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長復号に用いる生起確率の初期値を初期化し、上記フラグが上記非イントラスライス用の初期化テーブルを用いる旨を示していれば、上記非イントラスライス用の初期化テーブルを用いて、上記変換係数の可変長復号に用いる生起確率の初期値を初期化することを特徴とする動画像復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012092016A JP2013168913A (ja) | 2012-01-19 | 2012-04-13 | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012009149 | 2012-01-19 | ||
JP2012009149 | 2012-01-19 | ||
JP2012092016A JP2013168913A (ja) | 2012-01-19 | 2012-04-13 | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013168913A true JP2013168913A (ja) | 2013-08-29 |
Family
ID=49178973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012092016A Pending JP2013168913A (ja) | 2012-01-19 | 2012-04-13 | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013168913A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015204556A (ja) * | 2014-04-15 | 2015-11-16 | 日本放送協会 | コンテキストモデル生成装置、符号化装置、および復号装置 |
CN113196768A (zh) * | 2018-12-21 | 2021-07-30 | 索尼集团公司 | 图像处理装置和方法 |
CN116366868A (zh) * | 2023-05-31 | 2023-06-30 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种并发视频包过滤方法、系统及储存介质 |
-
2012
- 2012-04-13 JP JP2012092016A patent/JP2013168913A/ja active Pending
Non-Patent Citations (1)
Title |
---|
JPN6013063027; Joel Sole, Rajan Joshi, Marta Karczewicz: Non-CE11: Diagonal sub-block scan for HE residual coding , 20111121, Joint Collaborative Team on Video Coding (JCT-VC) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015204556A (ja) * | 2014-04-15 | 2015-11-16 | 日本放送協会 | コンテキストモデル生成装置、符号化装置、および復号装置 |
CN113196768A (zh) * | 2018-12-21 | 2021-07-30 | 索尼集团公司 | 图像处理装置和方法 |
CN116366868A (zh) * | 2023-05-31 | 2023-06-30 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种并发视频包过滤方法、系统及储存介质 |
CN116366868B (zh) * | 2023-05-31 | 2023-08-25 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 一种并发视频包过滤方法、系统及储存介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6463521B2 (ja) | 画像符号化装置、画像符号化方法、画像復号装置および画像復号方法 | |
JP6005087B2 (ja) | 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法及び符号化データのデータ構造 | |
JP5674972B2 (ja) | 画像符号化装置及び画像復号装置 | |
JP6469048B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法、動画像符号化データ及び記録媒体 | |
WO2013108684A1 (ja) | 動画像復号装置、動画像符号化装置、動画像復号方法及び動画像符号化方法 | |
JPWO2014163200A1 (ja) | カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法 | |
WO2013114992A1 (ja) | カラー動画像符号化装置、カラー動画像復号装置、カラー動画像符号化方法及びカラー動画像復号方法 | |
JP2012186763A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2012023613A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2012023611A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
WO2012176387A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2013168913A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
WO2013065678A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2015177343A (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP2014007643A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2015019257A (ja) | カラー動画像符号化装置、カラー動画像復号装置、カラー動画像符号化方法及びカラー動画像復号方法 | |
JP2013126145A (ja) | カラー動画像符号化装置、カラー動画像復号装置、カラー動画像符号化方法及びカラー動画像復号方法 | |
JPWO2014049982A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
WO2014051080A1 (ja) | カラー動画像符号化装置、カラー動画像復号装置、カラー動画像符号化方法及びカラー動画像復号方法 | |
JP2013102269A (ja) | カラー動画像符号化装置、カラー動画像復号装置、カラー動画像符号化方法及びカラー動画像復号方法 | |
JP2018166329A (ja) | 画像符号化装置および画像復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150925 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160315 |