本発明の実施の形態は、ピクチャを所定サイズの矩形ブロックに分割し、更にそのブロックを量子化パラメータを管理する単位である1つ或いは複数の量子化符号化ブロックに分割し、量子化符号化ブロック単位に差分量子化パラメータの伝送を行う画像符号化において、処理対象のブロックの量子化パラメータの符号量を削減するために、複数の符号化済みブロックの符号化情報から最適な予測量子化パラメータを導出し、予測量子化パラメータとの差分を算出して、符号化する符号量制御技術を提供する。
(実施の形態1)
本発明を実施する好適な動画像符号化装置100及び動画像復号装置200について説明する。図1は本発明を実施する動画像符号化装置100の構成を示すブロック図であり、画像メモリ101、残差信号生成部102、直交変換・量子化部103、第2の符号化ビット列生成部104、逆量子化・逆直交変換部105、復号画像信号重畳部106、復号画像メモリ107、予測画像生成部108、アクティビティ算出部109、量子化パラメータ算出部110、差分量子化パラメータ生成部111、第1の符号化ビット列生成部112、符号化情報格納メモリ113、予測量子化パラメータ導出部114及び符号化ビット列多重化部115から構成される。尚、各ブロック間を結ぶ太実線の矢印はピクチャの画像信号、細実線の矢印は符号化を制御するパラメータ信号の流れを表すものである。
画像メモリ101は、撮影/表示時間順に供給された符号化対象の画像信号を一時格納する。画像メモリ101は、格納された符号化対象の画像信号を、所定の画素ブロック単位で、残差信号生成部102、予測画像生成部108及びアクティビティ算出部109に供給する。その際、撮影/表示時間順に格納された画像は、符号化順序に並べ替えられて、画素ブロック単位で、画像メモリ101から出力される。
残差信号生成部102は、符号化する画像信号と予測画像生成部108にて生成された予測信号との減算を行い残差信号を生成し、直交変換・量子化部103に供給する。
直交変換・量子化部103は、量子化パラメータ算出部110で算出された量子化パラメータを用いて残差信号に対して直交変換及び量子化を行い、直交変換・量子化された残差信号を生成し、第2の符号化ビット列生成部104と逆量子化・逆直交変換部105に供給する。
第2の符号化ビット列生成部104は、直交変換及び量子化された残差信号を規定のシンタックス規則に従ってエントロピー符号化して第2の符号化ビット列を生成し、符号化ビット列多重化部115に供給する。
逆量子化・逆直交変換部105は、量子化パラメータ算出部110で算出された量子化パラメータを用いて直交変換・量子化部103から供給された直交変換・量子化された残差信号を逆量子化及び逆直交変換して残差信号を算出し、復号画像信号重畳部106に供給する。
復号画像信号重畳部106は、予測画像生成部108により生成された予測画像信号と逆量子化・逆直交変換部105で逆量子化及び逆直交変換された残差信号を重畳して復号画像を生成し、復号画像メモリ107に格納する。尚、復号画像に対して符号化によるブロック歪等の歪を減少させるフィルタリング処理を施して、復号画像メモリ107に格納されることもあり、その場合、必要に応じてデブロッキングフィルタ等のポストフィルタの情報を識別するフラグ等の予測された符号化情報を符号化情報格納メモリ113に格納する。
予測画像生成部108は、画像メモリ101から供給される画像信号と復号画像メモリ107から供給される復号画像信号から、予測モードを基にピクチャ内予測(イントラ予測)或いはピクチャ間予測(インター予測)を行い、予測画像信号を生成する。イントラ予測は、画像メモリ101から供給される画像信号を所定のブロック単位で分割された符号化対象のブロックと、復号画像メモリ107から供給される符号化対象のブロックと同じピクチャ内に存在する符号化対象のブロックに隣接する周囲の符号化済みブロックの画素信号を用いて予測画像信号を生成する。インター予測は、画像メモリ101から供給される画像信号を所定のブロック単位で分割された符号化対象のブロックのピクチャ(符号化ピクチャ)の時系列で前または後ろにある復号画像メモリ107に格納されている符号化済みピクチャを参照ピクチャとし、符号化ピクチャと参照ピクチャとの間でブロックマッチングを行い、動き量を示す動きベクトルを求め、この動き量を基に参照ピクチャから動き補償を行い、予測画像信号を生成する。こうして生成された予測画像信号を残差信号生成部102に供給する。予測画像生成部108にて得られた動きベクトル等の符号化情報は、必要に応じて符号化情報格納メモリ113に格納する。更に、予測画像生成部108では、複数の予測モードの選択が可能である場合、生成された予測画像信号と元の画像信号との間の歪量等を評価することにより、最適な予測モードを決定し、決定された予測モードによる予測により生成された予測画像信号を選択し、残差信号生成部102に供給するとともに、予測モードがイントラ予測である場合はイントラ予測モードを符号化情報格納メモリ113及び第1の符号化ビット列生成部に供給する。
アクティビティ算出部109は、画像メモリ101から供給される符号化対象のブロックの画像の複雑さや滑らかさを示す係数であるアクティビティが計算され、量子化パラメータ算出部110に供給する。アクティビティ算出部109の詳細な構成と動作は、後述する。
量子化パラメータ算出部110は、アクティビティ算出部109にて算出されたアクティビティによって、符号化対象のブロックの量子化パラメータを算出し、差分量子化パラメータ生成部111及び符号化情報格納メモリ113に供給する。量子化パラメータ算出部110の詳細な構成と動作は、後述する。
差分量子化パラメータ生成部111は、量子化パラメータ算出部110にて算出された量子化パラメータに対して、予測量子化パラメータ導出部114にて導出された予測量子化パラメータと減算を行い、差分量子化パラメータを算出し、第1の符号化ビット列生成部112に供給する。
第1の符号化ビット列生成部112は、差分量子化パラメータ生成部111によって算出された差分量子化パラメータを規定のシンタックス規則に従って符号化して第1の符号化ビット列を生成し、符号化ビット列多重化部115に供給する。
符号化情報格納メモリ113は、符号化が終了したブロックの量子化パラメータを格納する。また、図1に結線を図示していないが、予測画像生成部108にて生成される予測モードや動きベクトル等の符号化情報も、次の符号化対象のブロックを符号化に必要な情報として格納する。更に、ピクチャやスライス単位で生成される符号化情報も必要に応じて格納する。
予測量子化パラメータ導出部114は、既符号化済みの量子化符号化ブロックの量子化パラメータや符号化情報を用いて、量子化符号化対象ブロックの予測量子化パラメータを導出し、差分量子化パラメータ生成部111に供給する。予測量子化パラメータ導出部114の詳細な構成と動作は、後述する。
符号化ビット列多重化部115は、第1の符号化ビット列と第2の符号化ビット列を規定のシンタックス規則に従って多重化し、ビットストリームを出力する。
図2は図1の動画像符号化装置100に対応した実施の形態に係る動画像復号装置200の構成を示すブロック図である。実施の形態の動画像復号装置200は、ビット列分離部201、第1符号化ビット列復号部202、量子化パラメータ生成部203、符号化情報格納メモリ204、予測量子化パラメータ導出部205、第2符号化ビット列復号部206、逆量子化・逆直交変換部207、復号画像信号重畳部208、予測画像生成部209及び復号画像メモリ210を備える。尚、図1の動画像符号化装置100と同様に、各ブロック間を結ぶ太実線の矢印はピクチャの画像信号、細実線の矢印は符号化を制御するパラメータ信号の流れを表すものである。
図2の動画像復号装置200の復号処理は、図1の動画像符号化装置100の内部に設けられている復号処理に対応するものであるから、図2の逆量子化・逆直交変換部207、復号画像信号重畳部208、予測画像生成部209、復号画像メモリ210及び符号化情報格納メモリ204の各構成は、図1の動画像符号化装置100の逆量子化・逆直交変換部105、復号画像信号重畳部106、予測画像生成部108、復号画像メモリ107及び符号化情報格納メモリ113の各構成とそれぞれ対応する機能を有する。ただし、予測画像生成部209は図1の動画像符号化装置の予測画像生成部108動きベクトル検出機能及び予測モードの選択機能は含まない。
ビット列分離部201に供給されるビットストリームは規定のシンタックスの規則に従って分離し、分離された符号化ビット列が第1符号化ビット列復号部202、第2符号化ビット列復号部206に供給される。
第1符号化ビット列復号部202は、供給された符号化ビット列を復号して予測モード、動きベクトル、差分量子化パラメータ等に関する符号化情報を出力し、差分量子化パラメータを量子化パラメータ生成部203に与えるとともに、符号化情報を符号化情報格納メモリ204に格納する。
量子化パラメータ生成部203は、第1符号化ビット列復号部202から供給される差分量子化パラメータと予測量子化パラメータ導出部205にて導出される量子化パラメータとを加算して量子化パラメータを算出し、逆量子化・逆直交変換部207及び符号化情報格納メモリ204に供給する。
符号化情報格納メモリ204は、復号が終了した量子化符号化ブロックの量子化パラメータを格納する。更に、第1符号化ビット列復号部202にて復号されたブロック単位の符号化情報だけでなく、ピクチャやスライス単位で生成される符号化情報も必要に応じて格納する。また、図2に結線を図示していないが、復号された予測モードや動きベクトル等の符号化情報を予測画像生成部209に供給する。
予測量子化パラメータ導出部205は、既復号済みの量子化符号化ブロックの量子化パラメータを用いて、予測量子化パラメータを導出し、量子化パラメータ生成部203に供給する。予測量子化パラメータ導出部205は動画像符号化装置100の予測量子化パラメータ導出部114と同等の機能を有しており、詳細な構成と動作は後述する。
第2符号化ビット列復号部206は、供給された符号化ビット列を復号して直交変換・量子化された残差信号を算出し、直交変換・量子化された残差信号を逆量子化・逆直交変換部207に与える。
逆量子化・逆直交変換部207は、第2符号化ビット列復号部206で復号された直交変換・量子化された残差信号に対して、量子化パラメータ生成部203にて生成された量子化パラメータを用いて、逆直交変換及び逆量子化を行い、逆直交変換・逆量子化された残差信号を得る。
復号画像信号重畳部208は、予測画像生成部209で生成された予測画像信号と、逆量子化・逆直交変換部207により逆直交変換・逆量子化された残差信号とを重畳することにより、復号画像信号を生成し、出力するとともに復号画像メモリ210に格納する。復号画像メモリ210に格納する際には、復号画像に対して符号化によるブロック歪等を減少させるフィルタリング処理を施して、復号画像メモリ210に格納されることもある。
予測画像生成部209は、第2符号化ビット列復号部206で復号される予測モードや動きベクトル等の符号化情報、更に符号化情報格納メモリ204から符号化情報を基にして、復号画像メモリ210から供給される復号画像信号から予測画像信号を生成し、復号画像信号重畳部208に供給する。
次に、動画像符号化装置100の中で太点線に囲まれた諸部120、特に予測量子化パラメータ導出部114と、動画像復号装置200の中で太点線に囲まれた諸部220、特に予測量子化パラメータ導出部205とで共通に実施される予測量子化パラメータを導出する方法の詳細について説明する。
まず、本実施の形態の動画像符号化装置100の中で太点線で囲まれた諸部120の各部の動作について説明する。諸部120では、画像メモリ101から供給される所定画素サイズ単位の画素ブロックを量子化符号化ブロックとし、その量子化符号化ブロックを量子化する為の量子化パラメータを決定する。量子化パラメータは主に符号量制御と適応量子化のアルゴリズムによって符号化側で決定され、量子化パラメータ予測処理を行い復号側に伝送される。最初にアクティビティ算出部109における適応量子化の手法について説明する。
アクティビティ算出部109では、一般に人間の視覚特性はエッジの少ない低周波成分に敏感である為、視覚的に劣化の目立ちやすい平坦部ではより細かく量子化し、劣化の比較的目立ちにくい絵柄の複雑な部分でより粗く量子化するように、所定量子化符号化ブロック単位に画像の複雑さや滑らかさを表現するアクティビティを算出する。ただし、アクティビティを算出は符号化装置側のみの機能であり復号装置側には含まれないため、アクティビティ算出単位は量子化符号化ブロック単位であるとは限らず、複雑度を考慮して符号化側で自由に決定できる。
アクティビティの一例として、MPEG−2 TestModel5(TM5)に記載される符号化ブロック内の画素の分散値による算出が挙げられる。分散値はブロック内の画像を構成する画素の平均からの散らばりの度合いを示す値であり、ブロック内に画像が平坦である(輝度変化が小さい)程小さく、複雑な絵柄である(輝度変化が大きい)もの程値が大きくなるので、ブロックのアクティビティとして利用する。ブロック内の画素値をp(x,y)で表すと、ブロックのアクティビティactは次式で算出される。
ここで、BLKは量子化符号化ブロックの画素総数であり、p_meanはブロック内の画素の平均値である。
また、以上のような分散に限らず、量子化符号化ブロック内の画素に対して、水平方向及び垂直方向で隣接する画素との差分絶対値をとり、ブロック内で総和をとっても良い。この場合でも、画像が平坦である場合は小さく、エッジが多い複雑な絵柄部分では大きい値となり、アクティビティとして利用可能である。次式により算出される。
こうして算出されたアクティビティactは量子化パラメータ算出部110に供給される。
次に、符号量制御について説明する。本実施の形態の動画像符号化装置100では、特に符号量制御を実現する部を設けていないが、符号量制御では発生符号量に基づき符号化ブロックの量子化パラメータを決定する為、量子化パラメータ算出部110の中にその機能を包含することとして説明する。
符号量制御はピクチャやスライス等の所定単位の発生符号量を目標符号量付近に合わせることを目的としており、符号化済ブロックの発生符号量が目標符号量よりも多いと判断した場合には以降に量子化パラメータを符号化する量子化符号化ブロックに相対的に粗い量子化を適用し、符号化済ブロックの発生符号量が目標符号量よりも少ないと判断した場合には以降に符号化するブロックに相対的に細かい量子化を適用するものである。
具体的な符号量制御のアルゴリズムについて、図3を用いて説明する。
まず、ピクチャ毎に目標符号量(T)を決定する。一般的にはIピクチャ>Pピクチャ>参照Bピクチャ>非参照BピクチャとなるようにTを決定する。例えば、動画像の目標ビットレートが5Mbpsであり、1秒間にIピクチャが1枚、Pピクチャが3枚、参照Bピクチャが11枚、非参照Bピクチャが15枚ある場合において、ピクチャタイプ別の目標符号量をTi、Tp、Tbr、Tbとすると、Ti:Tp:Tbr:Tb=4:3:2:1の比率となるように目標符号量を制御したい場合、Ti=400kbit、Tp=300kbit、Tbr=200kbit、Tb=100kbitとなる。但し、ピクチャタイプ別の割当符号量は本発明の本質には影響しない。
次に、ピクチャ内の符号量制御について説明する。量子化パラメータを決定する単位であるブロックの数をN、発生符号量をB、目標符号量との差分ビットをDとすると、
となる。ここで、jは量子化符号化ブロックの符号化処理順カウント番号である。D(0)は目標符号量差分の初期値である。
符号量制御による量子化パラメータbQPは以下のように決定される。
ここで、rは目標符号量差分を量子化パラメータに変換する比例係数である。この比例係数rは使用可能な量子化パラメータに応じて決定される。
量子化パラメータ算出部110は、量子化符号化ブロック毎にアクティビティ算出部109で算出されたアクティビティactを使って、符号量制御にて算出された符号化ブロックの量子化パラメータを変化させる。以下では、量子化符号化ブロック毎に算出するので、符号量制御による量子化パラメータの符号化処理順カウント番号を削除し、bQPで表すものとする。
量子化パラメータ算出部110は、直前に符号化したピクチャ内の平均アクティビティをavg_actとして記録しておき、符号化ブロックの正規化アクティビティNactを次式により算出する。
ここで、上式の係数"2"は量子化パラメータのダイナミックレンジを表す値であり、0.5〜2.0の範囲をとる正規化アクティビティNactが算出される。ただし、量子化パラメータの係数は2に限らず、画像の特性等に応じて他の値にしても良い。
尚、avg_actは、符号化過程の前に、予めピクチャ内の全てのブロックに対してアクティビティを算出し、その平均値をavg_actとしてもよい。更に、avc_actは符号化情報格納メモリ113に格納しておいてもよく、必要に応じて量子化パラメータ算出部110が符号化情報格納メモリ113からavg_actを取得してもよい。
算出された正規化アクティビティNactを基準となる量子化パラメータbQPと次式の如く乗算を行い、符号化ブロックの量子化パラメータQPを得る。
こうして算出された符号化ブロックの量子化パラメータは、符号化情報格納メモリ113及び差分量子化パラメータ生成部111に供給される。
符号化情報格納メモリ113は、量子化パラメータ算出部110にて算出された量子化パラメータや既に符号化が終了した過去の量子化符号化ブロックの量子化パラメータが格納されるだけでなく、符号化ブロックの動きベクトルや予測モード等の符号化情報も格納され、必要に応じて各部が符号化情報を取得する。
予測量子化パラメータ導出部114は、符号化情報格納メモリ113から既符号化済みの量子化パラメータを用いて、符号化ブロックの量子化パラメータを効率良く符号化、伝送する為の予測量子化パラメータを導出する。
量子化パラメータを効率良く符号化、伝送する為には、量子化パラメータをそのまま符号化するよりも、既符号化済みの量子化符号化ブロックの量子化パラメータから予測された予測量子化パラメータとの差分(差分量子化パラメータ)をとって、その差分量子化パラメータを符号化、伝送する方が効率が良い。符号量制御の観点から見れば、符号化処理順で直前の符号化済みブロックの量子化パラメータを予測量子化パラメータとすると伝送する差分量子化パラメータの値が小さくなり符号量は小さくなる。一方、適応量子化の観点から見れば、量子化符号化ブロックと近接する量子化符号化ブロックとは似た絵柄となることが多いので、量子化符号化ブロックに近接する量子化符号化ブロックのアクティビティは符号化ブロックのアクティビティと近い値となり、近接する量子化符号化ブロックの量子化パラメータを予測量子化パラメータとすると伝送する差分量子化パラメータの値が小さくなり、符号量は小さくなる。その為、AVCでは、図4で示されるように、量子化パラメータを伝送する単位がマクロブロック(16x16画素群)で固定されており、ラスタスキャン順に符号化ブロックの直前に符号化をした左隣に隣接するブロックの量子化パラメータを予測量子化パラメータとし、符号化ブロックの量子化パラメータと予測量子化パラメータとの差分をとり、差分量子化パラメータを符号化、伝送する方法が採用されている。つまり、AVCでは符号量制御を想定した量子化パラメータの予測に最適化されている。但し、AVCは後述する階層ツリー符号化を行わないので、画像の左端以外は、直前のブロックが左ブロックである為、隣接ブロックの量子化パラメータを予測量子化パラメータとして使用することになり、適応量子化を想定した予測にもほぼ最適化されていると言える。その為、AVCのように、量子化パラメータを伝送する単位が固定され、階層ツリー符号化を行わないような構成の場合には、量子化パラメータの予測は直前の符号化済みブロックが最適だと言える。
しかしながら、階層ツリー符号化を行う場合、AVCと同様に直前のブロックの量子化パラメータを予測量子化パラメータとして使用すると、符号量制御には最適化されるが、適応量子化を用いて量子化パラメータを伝送する場合、最適な予測値とはならず、差分量子化パラメータの符号量が増大してしまうという課題が生じる。
ここで、階層ツリー符号化について説明する。ここで言う階層ツリー符号化とは、ツリーブロック単位(ここでは64x64ブロックとする)でそれぞれ符号化単位を表すdepthを決定し、決定されたdepthで符号化ブロック単位の量子化符号化を行う。これにより、画像の精細度に依存した最適なdepthを決定して量子化符号化を行うことができ、符号化効率を大幅に向上する。
図5に階層ツリー符号化構造の符号化処理順序を示す。図5の上図に示されるように、画面内を所定の同一サイズの正方の矩形の単位にて均等分割する。この単位をツリーブロックと呼び、画像内での符号化/復号ブロックを特定するためのアドレス管理の基本単位とする。ツリーブロックは画像内のテクスチャ等に応じて、符号化処理を最適にすべく、必要に応じてツリーブロック内を階層的に4分割して、ブロックサイズの小さいブロックにすることが出来る。このように小さなブロックに分割して構成される階層的なブロック構造をツリーブロック構造と呼び、この分割されたブロックを符号化ブロック(CU:Coding Unit)と呼び、符号化及び復号を行う際の処理の基本単位とする。図5の下図はツリーブロックを4分割してできた各CUのうち、左下を除く3つのCUさらに4分割した例である。本実施例においては、CUと量子化符号化ブロックを同一の単位と設定し、つまり、CU単位で量子化パラメータを設定するものとする。ツリーブロックは最大サイズの符号化ブロックでもある。ただし、量子化符号化ブロックの単位をCUと同一でなく、独立した所定単位を設定することも可能である。つまり、量子化符号化ブロックは、CUの大きさに依存せず、16x16ブロック単位固定であるとすることも可能である。量子化符号化ブロックの単位をCUと同一にしない場合の例について後述する。
このような階層ツリー符号化では、符号化順序は図4のAVCのようなラスタスキャン順(左〜右)と異なる為、量子化パラメータが直前の符号化済みブロックと左の隣接ブロックとで等しくならない場合が多々ある。例えば階層ツリー符号化の一例として、図6で示されるように、符号化対象とするツリーブロックの中の左上の量子化符号化ブロック(図6中の斜線部の矩形)は、左に隣接するツリーブロックの中で分割されたブロックのうち、最後に符号化された右下の符号化済みブロック(図6中の灰色部の矩形)の量子化パラメータを予測に用いる。また、図7に示されるように、符号化対象とするツリーブロックの中の左下の量子化符号化ブロック(図7中の斜線部の矩形)は、同じツリーブロックの中で分割され、直前に量子化符号化されたブロック(図7中の灰色部の矩形)の量子化パラメータを予測に用いることになる。その為、直前の符号化済みブロックから量子化パラメータを予測するだけでは、符号量制御に最適化された予測は行うことが出来ても、分割によってブロック間の距離を隔てる為に、適応量子化に適した予測を行うことが出来ないので、差分量子化パラメータの符号量が増大し、符号化効率を低減させてしまう。
また、一意に左隣の量子化符号化ブロックの量子化パラメータを予測量子化パラメータとすると、図8のようにツリーブロック内の左上の量子化符号化ブロックの予測量子化パラメータは、1つ前のツリーブロックの量子化符号化ブロックが多く分割されているほど、符号化順で離れた量子化パラメータとなっている。そのため、符号化順で近い量子化符号化ブロックからの量子化パラメータ予測が効率の良い符号量制御の観点では、符号化効率が低下してしまう。
つまり、空間的に近接する量子化符号化ブロックから量子化パラメータを予測する場合、量子化符号化ブロックよりも遠い過去の時点で算出された量子化パラメータを用いる場合があるため、図19に示されるように、量子化符号化ブロックの処理順jに対して、空間的に隣接する量子化符号化ブロックの処理順iは、量子化符号化ブロックとして空間的に隣接していても、符号量制御の観点から見れば、図9に示すように、符号化処理順ではi<<jとなるので、隣接する量子化符号化ブロックの量子化パラメータは相関性が高いとは言えない。また、空間的に近接する量子化符号化ブロックの中から、符号化処理順が近い量子化符号化ブロックからのみ量子化パラメータ予測を行う場合、空間的に隣接する量子化符号化ブロックがツリーブロック外であるかどうかを判定し、ツリーブロック外である場合には、符号化処理順が遠い量子化符号化ブロックであると判断し、ツリーブロック内の量子化パラメータのみ予測に用いことで、符号量制御の観点で不適な量子化パラメータの導出を回避することができる。しかし、量子化パラメータの予測を行う単位で、空間的に隣接する量子化符号化ブロックがツリーブロック外であるかどうかを判定する処理が必要になることや、ツリーブロック内であっても符号化処理順が近くない量子化符号化ブロックが存在するなど、符号量制御の観点からは必ずしも最適な処理であるとは言えない場合もある。
そこで、本発明の実施の形態に係る予測量子化パラメータ導出部114は、直前の複数の量子化符号化ブロックの量子化パラメータを用いて予測量子化パラメータを導出することで、符号量制御の観点での予測効率の高い符号化順で近い量子化パラメータを用いつつ、適応量子化の観点での予測効率の高い空間的に近接する量子化符号化ブロックからの量子化パラメータの予測を可能と方法を実現する。また、空間的に近接する量子化パラメータを取得するための量子化パラメータの保存を最小限に抑制することで、少ないメモリ量での量子化パラメータの予測を実現する。予測量子化パラメータ導出部114の詳細は後述する。
差分量子化パラメータ生成部111は、量子化パラメータ算出部110にて算出された量子化符号化ブロックの量子化パラメータに対して、予測量子化パラメータ導出部114にて導出された予測量子化パラメータと減算を行い、差分量子化パラメータを算出する。予測量子化パラメータは復号時にも復号済みの量子化符号化ブロックから符号化時と同様に導出されるので、差分符号化パラメータを符号化対象とすることで、符号化と復号で矛盾が生じず、量子化パラメータの符号量を削減することが可能となる。算出された差分量子化パラメータは第1の符号化ビット列生成部112に供給される。
第1の符号化ビット列生成部112は、差分量子化パラメータ生成部111によって算出された差分量子化パラメータを規定のシンタックス規則に従ってエントロピー符号化して第1の符号化ビット列を生成する。図10に差分量子化パラメータのエントロピー符号化に使用される符号化変換テーブルの一例を示す。まず、最も出現しやすい差分量子化パラメータが0であることを1ビット目で表現し、続いて2ビット目では正負のフラグ、3ビット目では差分量子化パラメータの絶対値が1であるかどうか、4ビット目では差分量子化パラメータの絶対値が2であるかどうか…と続く。このような差分量子化パラメータの符号化では、差分量子化パラメータの絶対値が小さい程短い符号長を与えつつ、ビット長で差分量子化パラメータの絶対値がわかるようになっている。そのため、複雑でない構成で且つ差分量子化パラメータの発生符号量を抑制することができる。また、図10は差分量子化パラメータの絶対値に比例してビット長が長くなる符号化テーブルであるため、小さい差分量子化パラメータの伝送時に発生符号量が非常に小さくなり、大きな差分量子化パラメータの伝送時には発生符号量が比較的大きくなる傾向を持つ。図10のような符号化テーブルを用いた差分量子化パラメータの符号化を行う場合、差分量子化パラメータが0になる確率を向上させるだけでなく、値の大きな差分量子化パラメータができるだけ発生させないような予測量子化パラメータの導出が重要となる。第1の符号化ビット列生成部112は、差分量子化パラメータに対応する符号ビット列を図10のテーブルから抽出し、その符号ビット列を符号化ビット列多重化部115に供給する。
上述した本実施例の動画像符号化装置100に対応する動画像復号装置200の中で太点線で囲まれた諸部220の各部の動作について説明する。
諸部220では、最初に第1符号化ビット列復号部202にて復号された差分量子化パラメータが量子化パラメータ生成部203に供給される。また、差分量子化パラメータ以外の符号化情報が必要に応じて符号化情報格納メモリ204に格納される。
量子化パラメータ生成部203では、第1符号化ビット列復号部202から供給される差分量子化パラメータと予測量子化パラメータ導出部205にて導出される量子化パラメータとを加算して、復号ブロックの量子化パラメータを算出し、逆量子化・逆直交変換部207及び符号化情報格納メモリ204に供給する。
符号化情報格納メモリ204は、復号が終了した量子化符号化ブロックの量子化パラメータが格納される。更に、第1符号化ビット列復号部202にて復号されたブロック単位の符号化情報だけでなく、ピクチャやスライス単位で生成される符号化情報も必要に応じて格納される。
予測量子化パラメータ導出部205は、既復号済みのブロックの量子化パラメータを用いて、予測量子化パラメータを導出し、量子化パラメータ生成部203に供給する。量子化パラメータ生成部203で算出された量子化パラメータは符号化情報格納メモリ204に格納され、以降に復号する量子化符号化ブロックの予測量子化パラメータの導出時に使用される。こうして得られる復号済みの量子化パラメータは、動画像符号化装置100の予測量子化パラメータ導出部114が符号化情報格納メモリ113から取得する量子化パラメータと同一である。予測量子化パラメータ導出部205は動画像符号化装置100の予測量子化パラメータ導出部114と同等の機能を有しているので、符号化情報格納メモリ204から供給される量子化パラメータが同じであれば、符号化時と同一の予測量子化パラメータが導出される。
こうして符号化側で導出された予測量子化パラメータが、復号側でも矛盾無く導出されることになる。
以下、予測量子化パラメータ導出部114及び205で共通に実施される予測量子化パラメータを導出する方法の詳細について説明する。
予測量子化パラメータ導出部114の詳細な動作について説明する。図11に示されるように、符号化はツリーブロック単位に画面の左上から右下に向かってラスタスキャン順に行われる。今、符号化対象ツリーブロックを図11中の斜線矩形で表すと、符号化済みのツリーブロックは図11中の灰色部分で表される。ツリーブロック内部では符号化条件に応じて、階層ツリー符号化がなされることから、符号化ブロックはツリーブロック以下のサイズに分割にされるので、符号化対象ツリーブロック内部の符号化ブロックと上のツリーブロック内部の符号化済みブロックとは隣接しているものの、符号化処理順では大きく離れていることになる。その為、符号量制御により算出される量子化パラメータは、符号化処理順で算出されるので、符号化ブロックの量子化パラメータと上のツリーブロック内部の符号化済みブロックの量子化パラメータが近い値になるとは言えない。そこで、直前の複数の量子化符号化ブロックの量子化パラメータを用いて予測量子化パラメータを符号化する。
図12〜図15は、階層ツリー符号化により分割されたツリーブロック内部のそれぞれ、左上、右上、左下、右下における量子化符号化ブロックの予測元を示す図である。
図12のツリーブロック内部の左上の量子化符号化ブロックでは、1つ前のツリーブロック内の2つの量子化符号化から、それぞれ符号化順で1つ前の量子化符号化ブロックの量子化パラメータprevQP1、及び符号化順で2つ前の量子化符号化ブロックの量子化パラメータprevQP2が導出される。
図13のツリーブロック内部の右の量子化符号化ブロックでは、1つ前のツリーブロック内の量子化符号化から1つ、同一ツリーブロック内の左側の量子化符号化ブロックから、それぞれ符号化順で1つ前の量子化符号化ブロックの量子化パラメータprevQP1、及び符号化順で2つ前の量子化符号化ブロックの量子化パラメータprevQP2が導出される。
図14のツリーブロック内部の左下の量子化符号化ブロックでは、同一ツリーブロック内の上側の量子化符号化ブロック及び右上の量子化符号化ブロックから、それぞれ符号化順で1つ前の量子化符号化ブロックの量子化パラメータprevQP1、及び符号化順で2つ前の量子化符号化ブロックの量子化パラメータprevQP2が導出される。
図15のツリーブロック内部の右下の量子化符号化ブロックでは、同一ツリーブロック内の左側の量子化符号化ブロック及び上側の量子化符号化ブロックから、それぞれ符号化順で1つ前の量子化符号化ブロックの量子化パラメータprevQP1、及び符号化順で2つ前の量子化符号化ブロックの量子化パラメータprevQP2が導出される。
予測量子化パラメータは、prevQP1及びprevQP2の平均値によって決定する。
図12、図13の例の場合には、空間的に離れた量子化符号化ブロックが量子化パラメータの予測元となるが、予測量子化パラメータの平均値をとるため、prevQP1が突発で信頼性の低い量子化パラメータになった場合でも、誤差が平均化され、量子化パラメータの予測効率が向上する。空間的に離れた量子化符号化ブロックを用いても複数の予測量子化パラメータの平均値を用いることは、図10の差分量子化パラメータの符号化テーブルを用いた場合、値の大きな差分量子化パラメータができるだけ発生させないような予測量子化パラメータの導出が重要となるため、誤差の平均化の効果が特に顕著になる。
図14、図15の例の場合には、空間的に近接した量子化符号化ブロックが量子化パラメータの予測元となるため、量子化パラメータの予測効率の向上が特に顕著である。つまり、符号化順的にも空間的にも近い量子化符号化ブロックからの量子化パラメータの予測が可能となり、符号量制御と適応量子化の双方に適した量子化パラメータの予測が行えるためである。
このように、直前の複数の量子化符号化ブロックの量子化パラメータを用いて予測量子化パラメータを導出することで、符号量制御の観点での予測効率の高い符号化順で近い量子化パラメータを用いつつ、適応量子化の観点での予測効率の高い空間的に近接する量子化符号化ブロックからの量子化パラメータの予測を可能にすることで、差分量子化パラメータの符号量が抑制され、符号化効率が向上する。
図16は予測量子化パラメータ導出のフローチャートである。まず、符号化・復号順で直前の量子化符号化ブロックの量子化パラメータprevQPを取得する(S1000)。次に、1つ前の量子化符号化ブロックの量子化パラメータの値が格納されているprevQP1を2つ前の量子化符号化ブロックの量子化パラメータの値を格納するprevQP2に代入する(S1001)。次に、S100で取得した直前の量子化符号化ブロックの量子化パラメータprevQPを1つ前の量子化符号化ブロックの量子化パラメータの値を格納するprevQP1に代入する(S1002)。最後に、prevQP1とprevQP2の平均値を演算し、予測量子化パラメータとする(S1003)。
なお、ピクチャやスライスの先頭では、prevQP1及びprevQP2はスライスヘッダ等に記述されているスライスQPで初期化する。
図17は予測量子化パラメータの演算処理の例を示す図である。実際の量子化パラメータの予測処理では、量子化符号化ブロックが切り替わる時に、prevQP1の値をprevQP2のバッファにコピーして、prevQP1を保存するバッファに直前の量子化符号化ブロックの量子化パラメータをロードする。平均値演算は常に、prevQP1バッファ及びprevQP2バッファに対して施される。これにより、量子化パラメータの保存を最小限に抑制することで、少ないメモリ量での量子化パラメータの予測を実現できる。また、空間的に隣接する量子化符号化ブロックのアドレス計算及び空間的に隣接する量子化符号化ブロックがツリーブロック内であるかどうか等の条件判断を行わずに、符号化順・復号化順で直前の量子化パラメータ群を用いて、空間的に近接した量子化符号化ブロックから量子化パラメータの予測を行うことができるため、処理量が少なく符号量制御及び適応量子化の双方に適した量子化パラメータの予測を行うことができる。
また、符号化順で3つ前の量子化符号化ブロックの量子化パラメータprevQP3や4つ前の量子化符号化ブロックの量子化パラメータprevQP4を用いて、平均値を量子化パラメータとしてももちろん良い。予測元の量子化パラメータを増やした場合、適応量子化に適した量子化パラメータの予測が可能となる。
(実施の形態2)
実施の形態2では、1つ前に符号化した量子化符号化ブロックの量子化パラメータと、2つ前に符号化した量子化符号化ブロックの量子化パラメータの平均値ではなく、重みづけ平均値を取ることのみが実施の形態1と異なる。prevQP1とprevQP2は符号量制御の観点ではprevQP1の方が信頼度が高く、適応量子化の観点でもprevQP1の方が信頼度が高いため、prevQP1に高い重みづけ係数とする。
ただし、重みづけ係数は3:1としたが、他の比率にしてももちろん良い。これにより、予測量子化パラメータの信頼度がさらに向上し、差分量子化パラメータの符号量が抑制され、符号化効率が向上する。
本実施の形態の動画像符号化装置によれば、符号化対象のブロック毎に符号化される量子化パラメータを、符号化済みのブロックの量子化パラメータを用いて、最適な予測量子化パラメータを予測して導出し、量子化パラメータと予測量子化パラメータとの差分をとり符号化することで、量子化パラメータの符号量を削減して、符号化効率を向上させることが出来る。
尚、上述の説明では、量子化符号化ブロックと符号化ブロックを同一単位として量子化パラメータの予測を行ったが、量子化パラメータを符号化、伝送する単位である量子化符号化ブロックを符号化ブロックと異なる単位として量子化パラメータの予測を行うことにしてもよい。
例えば、量子化符号化ブロックの単位を固定とし、量子化符号化ブロックサイズnをビットストリーム内に符号化して伝送してもよい。そのサイズはツリーブロックのブロックの辺の長さに1/2n倍(nは0以上の整数)を乗じた値で表される。即ち、ツリーブロックのブロックの辺の長さをnビット右にシフトした値が量子化符号化ブロックの辺の長さとなる。この値はツリーブロック構造と同じようにブロックサイズが決定されるので、ツリーブロックとの親和性が高い。また、ツリーブロック内を均等サイズで分割されるので、符号化情報格納メモリ113及び204に記憶される量子化パラメータの管理や読み出しを簡便化することが出来る。
図18はツリーブロック内部をツリーブロック構造で分割した一例を示す。ツリーブロックのブロックサイズは64×64とし、ツリーブロック内部を階層的に4分割し、1回目の分割で32×32ブロック(図18中の点線矩形)、2回目の分割で16×16ブロック(図18中の斜線矩形)、3回目の分割で8×8ブロック(図18中の白抜き矩形)の符号化ブロックに分割される。ここで、量子化符号化ブロックを16×16の矩形ブロックとすると、量子化符号化ブロックは図18の太点線で表され、量子化符号化ブロック単位に量子化パラメータの予測を行う。
符号化対象の符号化ブロックが量子化符号化ブロックブロックサイズよりも大きい場合(32×32ブロック)、例えば図18の点描矩形で表される符号化ブロックの内部は量子化符号化ブロックで4つに分割される。この場合、量子化符号化ブロックにより4分割されているものの、この符号化ブロックに必要な量子化パラメータは1つであるので、符号化ブロックのサイズが量子化符号化ブロックのサイズより大きい場合は、符号化ブロックの量子化パラメータの予測後の差分量子化パラメータを符号化、伝送し、4つに分割された量子化符号化ブロックそれぞれに対応する符号化情報格納メモリ113及び204のメモリ領域に同じ量子化パラメータを記憶する。メモリ内部で量子化パラメータが重複することになるが、量子化パラメータの予測での周囲の符号化済みブロックの量子化パラメータのアクセスしやすくなる。
符号化対象の符号化ブロックが量子化符号化ブロックのブロックサイズと同じ場合(16×16ブロック)、上述した符号化ブロック単位での量子化パラメータの予測の場合と同じである。
符号化対象の符号化ブロックが量子化符号化ブロックのブロックサイズより小さい場合(8×8ブロック)、例えば図18の白抜き矩形で表される符号化ブロックであり、量子化符号化ブロックの中に4つの符号化ブロックが収納されるので、量子化符号化ブロックの中の符号化ブロックは個々で量子化パラメータを備えるのではなく、量子化符号化ブロック内で1つの量子化パラメータを備え、その量子化パラメータで個々の符号化ブロックを符号化することとする。
尚、量子化符号化ブロックのブロックサイズは、ビットストリームのヘッダー情報にブロックサイズを直接記述しても良いし、ツリーブロックサイズの1/2n倍(nは0以上の整数)にするかを表すビットシフト量を記述しても良い。また、特にビットストリームに記述せずに、符号化と復号で暗黙に量子化グループのサイズを決めておいても良い。
以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。