(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
特許文献1では、映像符号化装置や映像復号装置にある一定の処理時間を保証させるために、変換処理及びエントロピー符号化処理を行わないブロックタイプを示す情報を出力ビットストリームに埋め込む映像符号化方法が提案されている。
【0003】
変換処理及びエントロピー符号化処理を行わないブロックタイプの一例として、非特許文献1に記載されているPulse Code Modulation (PCM)がある。ブロックタイプとは、ブロックに用いた符号化の種類(後述する、イントラ予測、インター予測、PCM)である。
【0004】
非特許文献1に記載されている映像符号化装置は、
図14に示すように構成される。以下、
図14に示される映像符号化装置を一般的な映像符号化装置と呼ぶ。
【0005】
図14を参照して、ディジタル化された映像の各フレームを入力としてビットストリームを出力する、一般的な映像符号化装置の構成と動作を説明する。
【0006】
図14に示された映像符号化装置は、変換/量子化器102、エントロピー符号化器103、逆変換/逆量子化器104、バッファ105、予測器106、PCM符号化器107、PCM復号器108、多重化データ選択器109、多重化器110、スイッチ121、及びスイッチ122を備える。
【0007】
図14に示す映像符号化装置は、フレームをマクロブロック(MB:Macro Block )と呼ばれる16×16画素サイズのブロックに分割し、フレームの左上から順に各MBを符号化する。非特許文献1に記載されているAVCにおいては、MBをさらに4×4画素サイズのブロックにブロック分割し、各4×4ブロックを符号化する。
【0008】
図15は、フレームの空間解像度がQCIF(Quarter Common Intermediate Format)の場合のブロック分割の例を示す説明図である。以下、説明の簡略化のために、輝度の画素値のみに着目して各ユニットの動作を説明する。
【0009】
ブロックに分割された入力映像は、予測器106から供給される予測信号が減じられて、変換/量子化器102に入力される。予測信号には、イントラ予測信号とフレーム間予測信号の2種類がある。それぞれの予測信号を説明する。
【0010】
イントラ予測信号は、バッファ105に格納された現在のピクチャと表示時刻が同一である再構築ピクチャの画像に基づいて生成される予測信号である。非特許文献1の8.3.1 Intra_4×4 prediction process for luma samples、8.3.2 Intra_8×8 prediction process for luma samples、及び8.3.3 Intra_16×16 prediction process for luma samplesを引用すると、3種類のブロックサイズのイントラ予測Intra_4×4、Intra_8×8、Intra_16×16がある。
【0011】
Intra_4×4とIntra_8×8は、
図16の(a)と(c)を参照すると、それぞれ4×4ブロックサイズと8×8ブロックサイズのイントラ予測であることが分かる。ただし、図面の丸(○)はイントラ予測に用いる参照画素、つまり、現在のピクチャと表示時刻が同一である再構築ピクチャの画素を表す。
【0012】
Intra_4×4のイントラ予測では、再構築した周辺画素をそのまま参照画素とし、
図16の(b)に示す9種類の方向に参照画素をパディング(外挿)して予測信号が形成される。Intra_8×8のイントラ予測では、
図16の(c)の右矢印の下に記載のローパスフィルタ(1/2,1/4,1/2)によって再構築ピクチャの画像の周辺画素を平滑化した画素を参照画素として、
図16の(b)に示す9種類の方向に参照画素を外挿して予測信号が形成される。
【0013】
一方、Intra_16×16は、
図17の(a)を参照すると、16×16ブロックサイズのイントラ予測であることが分かる。
図16と同様に図面の丸(○)はイントラ予測に用いる参照画素、つまり、現在のピクチャと表示時刻が同一である再構築ピクチャの画素を表す。Intra_16×16のイントラ予測では、再構築画像の周辺画素をそのまま参照画素として、
図17の(b)に示す4種類の方向に参照画素を外挿して予測信号が形成される。
【0014】
以下、イントラ予測信号を用いて符号化されるMB及びブロックをそれぞれイントラMB及びイントラブロックと呼ぶ。イントラ予測のブロックサイズをイントラ予測ブロックサイズと呼ぶ。また、外挿の方向をイントラ予測方向と呼ぶ。なお、イントラ予測ブロックサイズ及びイントラ予測方向は、イントラ予測に関する予測パラメータである。
【0015】
フレーム間予測信号は、バッファ105に格納された現在のピクチャと表示時刻が異なる再構築ピクチャの画像から生成される予測信号である。以下、フレーム間予測信号を用いて符号化されるMB及びブロックをそれぞれインターMB及びインターブロックと呼ぶ。インター予測のブロックサイズ(インター予測ブロックサイズ)として、例えば、16×16,16×8,8×16,8×8,8×4,4×8,4×4を選択することができる。
【0016】
図18は、16×16のブロックサイズを例にしたフレーム間予測の例を示す説明図である。
図18に示す動きベクトルMV=(mv
x,mv
y)は、符号化対象ブロックに対する参照ピクチャのフレーム間予測ブロック(フレーム間予測信号)の平行移動量を示す、フレーム間予測の予測パラメータである。AVCにおいては、符号化対象ブロックの符号化対象ピクチャに対するフレーム間予測信号の参照ピクチャの方向を表すフレーム間予測の方向に加えて、符号化対象ブロックのフレーム間予測に用いる参照ピクチャを同定するための参照ピクチャインデックスもフレーム間予測の予測パラメータである。AVCにおいては、バッファ105に格納された複数枚の参照ピクチャをフレーム間予測に利用できるからである。
【0017】
なお、フレーム間予測のより詳細な説明が、非特許文献1の8.4 Inter prediction processに記載されている。
【0018】
また、イントラMBのみで符号化されたピクチャはIピクチャと呼ばれる。イントラMBだけでなくインターMBも含めて符号化されたピクチャはPピクチャと呼ばれる。フレーム間予測に1枚の参照ピクチャだけでなく、さらに同時に2枚の参照ピクチャを用いるインターMBを含めて符号化されたピクチャはBピクチャと呼ばれる。また、Bピクチャにおいて、符号化対象ブロックの符号化対象ピクチャに対するフレーム間予測信号の参照ピクチャの方向が過去のフレーム間予測を前方向予測、符号化対象ブロックの符号化対象ピクチャに対するフレーム間予測信号の参照ピクチャの方向が未来のフレーム間予測を後方向予測、過去と未来を含むフレーム間予測を双方向予測とそれぞれ呼ぶ。なお、フレーム間予測の方向(インター予測方向)は、フレーム間予測の予測パラメータである。
【0019】
変換/量子化器102は、予測信号が減じられた画像(予測誤差画像)を周波数変換する。
【0020】
さらに、変換/量子化器102は、所定の量子化ステップ幅Qs で、周波数変換した予測誤差画像(周波数変換係数)を量子化する。以下、量子化された周波数変換係数を変換量子化値と呼ぶ。
【0021】
エントロピー符号化器103は、予測パラメータと変換量子化値をエントロピー符号化する。予測パラメータとは、上述したブロックタイプ(イントラ予測、インター予測、及び、PCM)、イントラ予測ブロックサイズ、イントラ予測方向、インター予測ブロックサイズ、及び動きベクトルなど、MB及びブロックの予測に関連した情報である。
【0022】
逆変換/逆量子化器104は、量子化ステップ幅Qs で、変換量子化値を逆量子化する。さらに、逆変換/逆量子化器104は、逆量子化した周波数変換係数を逆周波数変換する。逆周波数変換された再構築予測誤差画像は、予測信号が加えられて、スイッチ122に供給される。
【0023】
多重化データ選択器109は、符号化対象のMBに対応するエントロピー符号化器103の入力データ量を監視する。MBの処理時間内でエントロピー符号化器103がその入力データをエントロピー符号化可能な場合には、多重化データ選択器109は、エントロピー符号化器103の出力データを選択して、スイッチ121を介して多重化器110に供給させる。さらに、多重化データ選択器109は、逆変換/量子化器104の出力データを選択して、スイッチ122を介してバッファ105に供給させる。
【0024】
MBの処理時間内でエントロピー符号化可能でない場合には、多重化データ選択器109は、PCM符号化器107がMBの映像をPCM符号化した出力データを選択して、スイッチ121を介して多重化器110に供給させる。さらに、多重化データ選択器109は、PCM符号化器107の出力データをPCM復号器108がPCM復号したデータを選択して、スイッチ122を介してバッファ105に供給させる。
【0025】
バッファ105は、スイッチ122を介して供給される再構築画像を格納する。1フレーム分の再構築画像を再構築ピクチャと呼ぶ。
【0026】
多重化器110は、エントロピー符号化器103とPCM符号化器107の出力データを多重化して出力する。
【0027】
上述した動作に基づいて、映像符号化装置における多重化器110は、ビットストリームを生成する。
【発明を実施するための形態】
【0040】
実施形態1.
第1の実施形態では、外部設定されるCUサイズでエントロピー符号化手段とPCM符号化手段のいずれかの出力データを選択する手段、上記の外部設定されるCUサイズでPCMヘッダをビットストリームに埋め込む手段、及び上記の外部設定されるCUサイズを映像復号装置にシグナリングするための、PCM符号化ユニットサイズに関する情報をビットストリームに埋め込む手段を備える映像符号化装置を示す。
【0041】
具体例を示しながら説明するために、本実施形態では、PCMヘッダをビットストリームに埋め込むCUサイズは、外部から設定されるPCM符号化ユニットサイズ(pcmCodingUnitSize )以上とする。また、利用可能な符号化ユニットサイズを128,64,32,16,8、pcmCodingUnitSize を16とする。さらに、PCM符号化ユニットサイズに関する情報は、後述するように、PCM符号化ユニットサイズを最小符号化ユニットサイズで割った値の”2”を底とするlog (対数)とする。よって、本実施形態では、PCMヘッダをビットストリームに埋め込むCUサイズに対応するブロックサイズが128×128,64×64,32×32,16×16になる。また、ビットストリームに埋め込まれるCUサイズに関する情報の具体的な数値は、1(=log
2(16/8))となる。
【0042】
図1に示すように、本実施形態の映像符号化装置は、
図14に示された一般的な映像符号化装置と同様に、変換/量子化器102、エントロピー符号化器103、逆変換/逆量子化器104、バッファ105、予測器106、PCM符号化器107、PCM復号器108、多重化データ選択器109、多重化器110、スイッチ121、及びスイッチ122を備える。
図1に示す本実施形態の映像符号化装置では、
図14に示す映像符号化装置とは異なり、pcmCodingUnitSize 以上のCUサイズでPCMヘッダを伝送するためにpcmCodingUnitSize が多重化データ選択器109に供給されている。さらに、pcmCodingUnitSize を映像復号装置にシグナリングするために、pcmCodingUnitSizeが多重化器110にも供給されている。
【0043】
CUサイズの入力映像は、予測器106から供給される予測信号が減じられて、変換/量子化器102に入力される。
【0044】
変換/量子化器102は、予測信号が減じられた画像(予測誤差画像)を周波数変換する。
【0045】
さらに、変換/量子化器102は、量子化ステップ幅Qs で、周波数変換した予測誤差画像(周波数変換係数)を量子化する。
【0046】
エントロピー符号化器103は、CUのサイズをシグナリングするsplit_coding_unit_flag(
図19参照)、予測器106から供給される予測パラメータ、及び変換/量子化器102から供給される変換量子化値をエントロピー符号化する。予測パラメータとは、ブロックタイプ(イントラ予測、インター予測、及びPCM)、イントラ予測ブロックサイズ、イントラ予測方向、インター予測ブロックサイズ、及び動きベクトルなど、符号化対象CUの予測に関連した情報である。
【0047】
なお、本実施形態のエントロピー符号化器103は、多重化データ選択器109を介して外部設定されるpcmCodingUnitSize に基づいて、符号化対象CUのサイズがpcmCodingUnitSize 以上であり、かつ、その予測モードがイントラ予測である場合、PCM符号化のON/OFFを示す、pcm_flagシンタクスをOFFとしてエントロピー符号化する。
【0048】
逆変換/逆量子化器104は、量子化ステップ幅Qs で、変換量子化値を逆量子化する。さらに、逆変換/逆量子化器104は、逆量子化した周波数変換係数を逆周波数変換する。逆周波数変換された再構築予測誤差画像は、予測信号が加えられて、スイッチ122に供給される。
【0049】
多重化データ選択器109は、pcmCodingUnitSize 以上である符号化対象CUに対応するエントロピー符号化器103の入力データ量を監視する。pcmCodingUnitSize 以上である符号化対象CUの処理時間内でエントロピー符号化器103がその入力データをエントロピー符号化可能な場合、多重化データ選択器109は、エントロピー符号化器103の出力データを選択し、スイッチ121を介して多重化器110に供給させる。さらに、多重化データ選択器109は、逆変換/量子化器104の出力データを選択して、スイッチ122を介してバッファ105に供給させる。
【0050】
符号化対象CUの処理時間内でエントロピー符号化可能でない場合、多重化データ選択器109は、まず、pcmCodingUnitSize 以上であるCUがPCM符号化であることを示す情報をエントロピー符号化器103にエントロピー符号化出力させる。具体的には、CUのPUヘッダにおいて、ブロックタイプを示す、mode_table_idxシンタクス又はpred_mode シンタクスをイントラ予測としてエントロピー符号化出力させて、さらに、PCM符号化のON/OFFを示すpcm_flagシンタクスをONとしてエントロピー符号化出力させる。
【0051】
続いて、エントロピー符号化器103の出力ビットをバイトアラインする。具体的には、エントロピー符号化器103が所定量のpcm_alignment_zero_bitシンタクスを多重化器110に供給する。また、以後の符号化のために、エントロピー符号化器103の符号化エンジンを初期化する。
【0052】
符号化エンジンを初期化した後、PCM符号化器107は、CUの入力映像をPCM符号化する。PCM符号化器107の輝度の出力データpcm_sample_luma[i]は、入力映像の輝度の画素ビット長bit_depth_lumaとなる。ただし、i(0≦i≦255)はCUのブロック内のラスタスキャン順でのインデックスである。同様に、PCM符号化器107の色差の出力データpcm_sample_chroma[i](i:0≦i≦128)は、入力映像の色差の画素ビット長bit_depth_chromaとなる。
【0053】
CUの入力映像をPCM符号化後、PCM復号器108は、pcm_sample_luma[i]及びpcm_sample_chroma[i]をPCM復号する。
【0054】
PCM復号後、多重化データ選択器109は、PCM符号化器107の出力データを選択して、スイッチ121を介して多重化器110に供給させる。
【0055】
最後に、多重化データ選択器109は、PCM復号器108の出力データを選択して、スイッチ122を介してバッファ105に供給させる。
【0056】
なお、上述したmode_table_idxシンタクス、pred_mode シンタクス、pcm_flagシンタクス、及びpcm_alignment_zero_bitシンタクスは、非特許文献1のSpecification of syntax functions, categories, and descriptors及び非特許文献2の4.1.10 Prediction unit syntax の表記に従えば、
図2に示すリスト1に表されるようにシグナリングできる。リスト1において、pcm_alignment_zero_bitシンタクスのシグナリング条件となる変数pcm_unit_flag は、PCM符号化ONのpcm_flagシンタクスがシグナリングされた場合にのみONとする。そうでない場合、変数pcm_unit_flagをOFFとする。リスト1において、"if(currPredUnitSize>=pcmCodingUnitSize )"の条件によって、pcmCodingUnitSize 以上のサイズのCUのPUヘッダのみにおいて、pcm_flagシンタクスがシグナリングされることが、本実施形態の特徴である。
【0057】
多重化器110は、PCM符号化ユニットサイズに関する情報(max_pcm_coding_unit_hierarchy_depth )、及びエントロピー符号化器103とPCM符号化器107の出力データを多重化して出力する。非特許文献2の4.1.2 Sequence parameter set RBSP syntaxの表記に従えば、
図3に示すリスト2に表されるように、シーケンスパラメータセットのlog2_min_coding_unit_size_minus3シンタクスとmax_coding_unit_hierarchy_depth シンタクスに後続させて、max_pcm_coding_unit_hierarchy_depth シンタクス(PCM符号化ユニットサイズを最小符号化ユニットサイズで割った値の”2”を底とするlog (対数)、本実施形態においては1)を多重化する。なお、max_pcm_coding_unit_hierarchy_depth を、min_pcm_coding_unit_hierarchy_depth と呼んでもよい。ただし、log2_min_coding_unit_size_minus3シンタクス及びmax_coding_unit_hierarchy_depth シンタクスは、それぞれ、SCUのサイズ(MinCodingUnitSize )及びLCUのサイズ(MaxCodingUnitSize )を決定するための情報である。MinCodingUnitSize とMaxCodingUnitSize は、以下のように、それぞれ計算される。
【0058】
MinCodingUnitSize =1<<(log2_min_coding_unit_size_minus3+3)
【0059】
MaxCodingUnitSize=1<<(log2_min_coding_unit_size_minus3+3+max_coding_unit_hierarchy_depth )
【0060】
また、max_coding_unit_hierarchy_depth シンタクスとMinCodingUnitSize には以下の関係がある。
【0061】
max_pcm_coding_unit_hierarchy_depth =log
2(pcmCodingUnitSize/MinCodingUnitSize)
【0062】
上述した動作に基づいて、本発明の映像符号化装置はビットストリームを生成する。
【0063】
次に、本発明の特徴であるPCMヘッダ書き込みの動作を
図4のフローチャートを参照して説明する。
【0064】
符号化対象CUの処理時間内でエントロピー符号化可能でない場合、
図4に示すように、ステップS101で、エントロピー符号化器103は、ブロックタイプをイントラ予測としてエントロピー符号化する。すなわち、mode_table_idxシンタクス又はpred_mode シンタクスをイントラ予測としてエントロピー符号化する。また、ステップS102で、エントロピー符号化器103は、PCMヘッダをエントロピー符号化する。具体的には、pcm_flagシンタクスをONとしてエントロピー符号化する。さらに、ステップS103で、エントロピー符号化器103は、所定量のpcm_alignment_zero_bitシンタクスを多重化器110に供給することによって出力ビットをバイトアラインする。すなわち、所定量のpcm_alignment_zero_bitシンタクスを出力する。また、エントロピー符号化器103は、符号化エンジンを初期化する。そして、ステップS104で、PCM符号化器107は、CUの入力映像をPCM符号化する。
【0065】
本実施形態の映像符号化装置は、外部設定される符号化ユニットサイズでエントロピー符号化手段とPCM符号化手段のいずれかの出力データを選択する多重化データ選択手段と、外部設定される符号化ユニットサイズでPCMヘッダをビットストリームに埋め込む多重化手段を備える。よって、映像符号化装置にある一定の処理時間を保証しながら、ビットストリームに含まれるPCMヘッダのビット数の率を低く抑えて圧縮映像の品質を保持できる。
【0066】
また、多重化手段は、外部設定されたCUサイズを映像復号装置にシグナリングするためのPCM符号化ユニットサイズ情報をビットストリームに埋め込むが、CUサイズ情報は、LCU又はSCUのdepth 値を基準とするdepth 値の差分などで表現できる。例えば、LCUのdepth (LCU_depth )値を基準にする場合、所定depth 値のCUサイズは、LCUのサイズの2
(depth- LCU_depth)分の1と表現できる(ブロックサイズに換算すると4
(depth- LCU_depth)分の1である。)。SCUのdepth (SCU_depth )値を基準にする場合、所定Depth値のCUサイズは、SCUのサイズの2
(SCU_depth−depth)倍と表現できる(ブロックサイズに換算すると4
(SCU_depth−depth)倍である。)。
【0067】
上記のような特徴を有する多重化手段を備えることによって、発明は、映像符号化装置と映像復号装置の相互運用性を高めることができる。
【0068】
また、本実施形態の映像符号化装置は、映像復号についても同様にPCMヘッダをビットストリームから読み出し、エントロピー復号手段とPCM復号手段を切り替えられるように、PCMヘッダが存在する符号化ユニットサイズに関する情報をビットストリームに埋め込む手段を備える。よって、映像符号化装置と映像復号装置の相互運用性を高めることができる。
【0069】
実施形態2.
第2の実施形態では、第1の実施形態の映像符号化装置が生成したビットストリームを復号する映像復号装置を示す。
【0070】
本実施形態の映像復号装置は、ビットストリームに多重化されたPCM符号化ユニットサイズ情報を多重化解除する手段、多重化解除したPCM符号化ユニットサイズ情報に基づいてPCMヘッダを読み出す所定のブロックサイズを決定するブロックサイズ手段、ブロックサイズ手段が決定した符号化ユニットサイズでPCMヘッダをビットストリームから読み出す読み出し手段、及び読み出し手段が読み出したPCMヘッダに基づいてエントロピー復号手段及びPCM復号手段を制御する復号制御手段を備えることを特徴とする。
【0071】
図5に示すように、本実施形態の映像復号装置は、多重化解除器201、復号制御器202、PCM復号器203、エントロピー復号器204、逆変換/逆量子化器206、予測器207、バッファ208、及びスイッチ221とスイッチ222を備える。
【0072】
多重化解除器201は、入力されるビットストリームを多重化解除して、PCM符号化ユニットサイズ情報、及びエントロピー符号化又はPCM符号化された映像ビットストリームを抽出する。多重化解除器201は、
図3に示すリスト2に示されるように、シーケンスパラメータにおいて、log2_min_coding_unit_size_minus3シンタクスとmax_coding_unit_hierarchy_depth シンタクスに後続するmax_pcm_coding_unit_hierarchy_depth シンタクスを多重化解除する。さらに、多重化解除器201は、多重化解除したシンタクスの値を用いて、PCMヘッダであるpcm_flagが伝送されるPCM符号化ユニットサイズpcmCodingUnitSize を以下のように決定する。
【0073】
pcmCodingUnitSize =1<<(log2_min_coding_unit_size_minus3+3+max_pcm_coding_unit_hierarchy_depth )
【0074】
すなわち、本実施形態の多重化解除器201は、多重化解除したPCM符号化ユニットサイズ情報に基づいてPCMヘッダを読み出す符号化ユニットのブロックサイズを決定する役割も担っている。
【0075】
エントロピー復号器204は、映像ビットストリームをエントロピー復号する。
【0076】
エントロピー復号対象の符号化ユニット(CU)がPCM符号化ではない場合、エントロピー復号器204は、CUの予測パラメータ及び変換量子化値をエントロピー復号し、逆変換/逆量子化器206及び予測器207に供給する。
【0077】
なお、あるCUがPCM符号化である場合は、split_coding_unit_flag(
図19参照)をエントロピー復号してCUサイズを確定した後に、そのPUヘッダにおいてPCM符号化ONのpcm_flagシンタクスをエントロピー復号した場合である。すなわち、本実施形態のエントロピー復号器204は、pcmCodingUnitSize 以上のサイズのCUでpcm_flagシンタクスを含むPCMヘッダをビットストリームから読み出す役割も担っている。
【0078】
逆変換/逆量子化器206は、量子化ステップ幅で、輝度及び色差の変換量子化値を逆量子化する。さらに、逆変換/逆量子化器206は、逆量子化した周波数変換係数を逆周波数変換する。
【0079】
逆周波数変換後、予測器207は、エントロピー復号した予測パラメータに基づいて、バッファ208に格納された再構築ピクチャの画像を用いて予測信号を生成する。
【0080】
予測信号生成後、逆変換/逆量子化器206で逆周波数変換された再構築予測誤差画像は、予測器207から供給される予測信号が加えられて、スイッチ222に供給される。
【0081】
予測信号が加えられた後、復号制御器202は、スイッチ222を切り替えて、予測信号が加えられた再構築予測誤差画像を再構築画像としてバッファ208に供給させる。
【0082】
CUがPCM符号化である場合、復号制御器202は、エントロピー復号器204の復号エンジンを初期化させる。
【0083】
次に、復号制御器202は、エントロピー復号途中の映像ビットストリームをバイトアラインさせる。バイトアラインするまで映像ビットストリームからpcm_alignment_zero_bitを読み出させる。
【0084】
続いて、復号制御器202は、スイッチ221を切り替えて、バイトアラインした映像ビットストリームをPCM復号器203に供給させる。
【0085】
PCM復号器203は、バイトアラインした映像ビットストリームから、CUのブロックサイズに対応するだけの、PCM符号化された輝度データpcm_sample_luma[i]及び色差データpcm_sample_chroma[i]をPCM復号する。
【0086】
PCM復号後、復号制御器202は、スイッチ222を切り替えて、PCM復号した符号化ユニットの画像を再構築画像としてバッファ208に供給させる。次マクロブロックの復号のために、復号制御器202は、スイッチ221をエントロピー復号器204に切り替える。
【0087】
そして、バッファ208に格納された再構築ピクチャがデコード画像として出力される。
【0088】
上述した動作に基づいて、本実施形態の映像復号装置はデコード画像を生成する。
【0089】
次に、本発明の特徴であるPCMヘッダ読み込みの動作を
図6のフローチャートを参照して説明する。
【0090】
CUがPCM符号化である場合は、
図6に示すように、エントロピー復号器204は、ステップS201で、split_coding_unit_flagをエントロピー復号してCUのサイズを確定する。また、ステップS202で、エントロピー復号器204は、ブロックタイプをエントロピー復号する。すなわち、mode_table_idxシンタクス又はpred_mode シンタクスをエントロピー復号する。また、ステップS203,S204で、エントロピー復号器204は、ブロックタイプがイントラ予測であり、かつ、CUサイズがpcmCodingUnitSize 以上のサイズである場合にのみ、pcm_flagシンタクスをエントロピー復号する。そして、pcm_flagシンタクスがONの場合、ステップS205で、エントロピー復号器204は、復号エンジンを初期化する。また、エントロピー復号器204は、多重化解除器201から所定量のpcm_alignment_zero_bitシンタクスを読み出すことによって映像ビットストリームをバイトアラインする。PCM復号器203は、バイトアラインした映像ビットストリームから、CUのブロックサイズに対応するだけの、PCM符号化された輝度データpcm_sample_luma[i]及び色差データpcm_sample_chroma[i]をPCM復号する。なお、CUがPCM符号化でない場合(ステップS203)、及びエントロピー復号器204がPUヘッダにおいてPCM符号化ONのpcm_flagシンタクスをエントロピー復号しなかった場合(ステップS204)には、エントロピー復号器204は、後続するCUの予測パラメータ及び変換量子化値をエントロピー復号し、逆変換/逆量子化器206及び予測器207に供給する。
【0091】
本実施形態の映像復号装置は、多重化解除したPCM符号化ユニットサイズ情報に基づいて、決定したPCM符号化ユニットサイズの符号化ユニットでPCMヘッダをビットストリームから読み出し、エントロピー復号手段とPCM復号手段を切り替えられる。これによって、映像復号装置にある一定の処理時間を保証しながら、映像品質が保持された、PCMヘッダのビット数の率が低いビットストリームを復号できる。
【0092】
なお、映像符号化装置は、第1の実施形態で利用されたPCM符号化ユニットサイズ情報(max_pcm_coding_unit_hierarchy_depth )を、
図7に示すリスト3や
図8に示すリスト4に表されているように、ピクチャパラメータセットやスライスヘッダにおいて多重化できる。同様に、映像復号装置は、ピクチャパラメータセットやスライスヘッダからmax_pcm_coding_unit_hierarchy_depth シンタクスを多重化解除できる。
【0093】
また、max_pcm_coding_unit_hierarchy_depth シンタクスを、最大符号化ユニットサイズ(MaxCodingUnitSize )をPCM符号化ユニットサイズ(pcmCodingUnitSize )で割った値の”2”を底とするlog (対数)としてもよい。すなわち、下式を用いてもよい。
【0094】
max_pcm_coding_unit_hierarchy_depth=log
2(MaxCodingUnitSize /pcmCodingUnitSize )
【0095】
この場合、映像復号装置において、PCM符号化ユニットサイズは、max_pcm_coding_unit_hierarchy_depth シンタクスに基づいて以下のように計算できる。
【0096】
pcmCodingUnitSize =1<<(log2_min_coding_unit_size_minus3+3+max_coding_unit_hierarchy_depth − max_pcm_coding_unit_hierarchy_depth)
【0097】
なお、映像符号化装置は、mode_table_idxシンタクス又はpred_mode シンタクスにpcm_flagシンタクスを連結して符号化できる。例えば、PCM符号化ユニットサイズ以上のサイズのCUにおいて、mode_table_idx=0(符号語1)をインター予測、mode_table_idx=1(符号語00)をpcm_flag=OFFのイントラ予測、mode_table_idx=2(符号語01)をPCMとできる。PCM符号化ユニットサイズよりも小さなサイズのCUにおいて、mode_table_idx=0(符号語0)をインター予測、mode_table_idx=1(符号語1)をpcm_flag=OFFのイントラ予測とする。
【0098】
この場合、映像復号装置は、PCM符号化ユニットサイズ以上のサイズのCUにおいて、符号語1(mode_table_idx=0)をインター予測、符号語00(mode_table_idx=1)をpcm_flag=OFFのイントラ予測、符号語01(mode_table_idx=2)をPCMと解釈する。PCM符号化ユニットサイズよりも小さなサイズのCUにおいて、符号語0(mode_table_idx=0)をインター予測、符号語1(mode_table_idx=1)をpcm_flag=OFFのイントラ予測と解釈する。
【0099】
実施形態3.
上記の各実施形態では、映像符号化装置や映像復号装置にある一定の処理時間を保証するために、高階層のCUでPCMが選択される。しかし、PCMが画素間相関が低い画像ブロックで選択される傾向があること、つまり、PCMが小領域に分割された低階層のCUで選択される傾向があることに着目した場合には、PCMが選択されるCUサイズを所定のサイズ以下にすることも有意義である。上記の着目にもとづいても、ビットストリームにおけるPCMヘッダのビット数の率を低くできる。なお、低階層のCUとは、
図19から分かるようにdepth の値が大きなCUである。
【0100】
第3の実施形態では、映像符号化装置は、PCMが選択されるCUサイズを所定のサイズ以下にする。なお、映像符号化装置の構成は、
図1に示された構成と同じである。
【0101】
PCMが選択されるCUサイズを所定のサイズ以下にする場合には、一例として、PCMヘッダをビットストリームに埋め込むCUサイズを、外部から設定されるPCM符号化ユニットサイズ(pcmCodingUnitSize )以下とする。また、利用可能な符号化ユニットサイズを128,64,32,16,8、pcmCodingUnitSize を16とする。
【0102】
映像符号化装置において、多重化データ選択器109は、pcmCodingUnitSize 以下である符号化対象CUに対応するエントロピー符号化器103の入力データ量を監視する。pcmCodingUnitSize 以下である符号化対象CUの処理時間内でエントロピー符号化器103がその入力データをエントロピー符号化可能な場合、多重化データ選択器109は、エントロピー符号化器103の出力データを選択し、スイッチ121を介して多重化器110に供給させる。符号化対象CUの処理時間内でエントロピー符号化可能でない場合、多重化データ選択器109は、まず、pcmCodingUnitSize 以下であるCUがPCM符号化であることを示す情報をエントロピー符号化器103にエントロピー符号化出力させる。具体的には、多重化データ選択器109は、CUのPUヘッダにおいて、ブロックタイプを示す、mode_table_idxシンタクス又はpred_mode シンタクスをイントラ予測としてエントロピー符号化出力させて、さらに、PCM符号化のON/OFFを示すpcm_flagシンタクスをONとしてエントロピー符号化出力させる。
【0103】
本実施形態では、映像符号化装置は、上述したmode_table_idxシンタクス、pred_mode シンタクス、pcm_flagシンタクス、及びpcm_alignment_zero_bitシンタクスは、非特許文献1のSpecification of syntax functions, categories, and descriptors及び非特許文献2の4.1.10 Prediction unit syntax の表記に従えば、
図9に示すリスト1に表されるようにシグナリングできる。
図9に示すリスト1において、pcm_alignment_zero_bitシンタクスのシグナリング条件となる変数pcm_unit_flag は、PCM符号化ONのpcm_flagシンタクスがシグナリングされた場合にのみONとする。そうでない場合、変数pcm_unit_flagをOFFとする。リスト1において、"if(currPredUnitSize<=pcmCodingUnitSize )"の条件によって、pcmCodingUnitSize 以下のサイズのCUのPUヘッダのみにおいて、pcm_flagシンタクスがシグナリングされることが、本実施形態の特徴である。映像符号化装置のその他の処理は、第1の実施形態における処理と同じである。なお、本実施形態でのリスト1の内容は、第1の実施形態における
図2に示されたリスト1の内容と同じである。
【0104】
実施形態4.
第4の実施形態では、第3の実施形態の映像符号化装置が生成したビットストリームを復号する映像復号装置を示す。
【0105】
第4の実施形態の映像復号装置の構成は、
図5に示された構成と同じであるが、第4の実施形態では、映像復号装置は、
図10のフローチャートに示すように、PCMヘッダ読み込みの動作を行う。CUがPCM符号化である場合は、エントロピー復号器204は、ステップS201で、split_coding_unit_flagをエントロピー復号してCUのサイズを確定する。また、ステップS202で、エントロピー復号器204は、ブロックタイプをエントロピー復号する。すなわち、mode_table_idxシンタクス又はpred_mode シンタクスをエントロピー復号する。また、ステップS203B,S204で、エントロピー復号器204は、ブロックタイプがイントラ予測であり、かつ、CUサイズがpcmCodingUnitSize 以下のサイズである場合にのみ、pcm_flagシンタクスをエントロピー復号する。そして、pcm_flagシンタクスがONの場合、ステップS205で、エントロピー復号器204は、復号エンジンを初期化する。また、エントロピー復号器204は、多重化解除器201から所定量のpcm_alignment_zero_bitシンタクスを読み出すことによって映像ビットストリームをバイトアラインする。PCM復号器203は、バイトアラインした映像ビットストリームから、CUのブロックサイズに対応するだけの、PCM符号化された輝度データpcm_sample_luma[i]及び色差データpcm_sample_chroma[i] をPCM復号する。映像復号装置のその他の処理は、第2の実施形態における処理と同じである。
【0106】
なお、PCMが選択されるCUサイズを所定のサイズ以下にする場合には、映像復号装置において、エントロピー復号器204は、pcmCodingUnitSize 以下のサイズのCUでpcm_flagシンタクスを含むPCMヘッダをビットストリームから読み出す役割も担っている。
【0107】
本実施形態では、映像復号装置にある一定の処理時間を保証しながら、映像品質が保持された、PCMヘッダのビット数の率が低いビットストリームを復号できる。
【0108】
なお、第3の実施形態の映像符号化装置は、mode_table_idxシンタクス又はpred_mode シンタクスにpcm_flagシンタクスを連結して符号化できる。例えば、PCM符号化ユニットサイズ以下のサイズのCUにおいて、mode_table_idx=0(符号語0)をpcm_flag=OFFのイントラ予測、mode_table_idx=1(符号語10)をインター予測、mode_table_idx=2(符号語11)をPCMとできる。PCM符号化ユニットサイズよりも大きなサイズのCUにおいて、mode_table_idx=0(符号語0)をpcm_flag=OFFのイントラ予測、mode_table_idx=1(符号語1)をインター予測とする。
【0109】
この場合、第4の実施形態の映像復号装置は、PCM符号化ユニットサイズ以下のサイズのCUにおいて、符号語0(mode_table_idx=0)をpcm_flag=OFFのイントラ予測、符号語10(mode_table_idx=1)をインター予測、符号語11(mode_table_idx=2)をPCMと解釈する。PCM符号化ユニットサイズよりも大きなサイズのCUにおいて、符号語0(mode_table_idx=0)をpcm_flag=OFFのイントラ予測、符号語1(mode_table_idx=1)をインター予測と解釈する。
【0110】
mode_table_idxシンタクスの例と同様に、pred_mode シンタクスにpcm_flagシンタクスを連結して符号化できる。
【0111】
なお、上述した実施形態において、PCM符号化ユニットサイズを最大符号化ユニットサイズに限定する場合、PCMブロックサイズ情報を明示的にビットストリームに埋め込まなくてもよい。その場合、最大符号化ユニットサイズに関する情報が暗黙的にPCMブロックサイズ情報を含んでいるからである。
【0112】
また、上述した実施形態において、PCM符号化ユニットサイズを最小符号化ユニットサイズに限定する場合、PCMブロックサイズ情報を明示的にビットストリームに埋め込まなくてもよい。その場合、最小符号化ユニットサイズに関する情報が暗黙的にPCMブロックサイズ情報を含んでいるからである。
【0113】
上述したmode_table_idxシンタクスの例と同様に、pred_mode シンタクスにpcm_flagシンタクスを連結して符号化できる。例えば、非特許文献3に記載されているように、イントラスライスにおいては、シンタクスと符号語を以下のように対応付けることができる(ただし、非特許文献4に記述があるように、最小符号化ユニット以外の符号化ユニットにてN×Nパーティション(イントラ予測およびインター予測)が存在しないことを仮定する。)。
【0114】
[PCM符号化を含む最小符号化ユニットでのシンタクスと符号語の対応]
シンタクス 符号語
Intra2N×2N 1
IntraN×N 01
PCM 00
【0115】
[PCM符号化を含む最小符号化ユニット以外のCUでのシンタクスと符号語の対応]
シンタクス 符号語
Intra2N×2N 1
PCM 0
【0116】
[PCM符号化を含まない最小符号化ユニットでのシンタクスと符号語の対応]
シンタクス 符号語
Intra2N×2N 1
IntraN×N 0
【0117】
[PCM符号化を含まない最小符号化ユニットでのシンタクスと符号語の対応]
シンタクス 符号語
Intra2N×2N なし
なお、”PCM符号化を含むCU”とはPCM符号化ユニットサイズのCUであり、”PCM符号化を含まないCU”とはPCM符号化ユニットサイズではないCUである。
この場合、映像復号装置は、例えば、イントラスライスのPCM符号化を含む最小符号化ユニットにおいては、符号語1を2N×2Nのイントラ予測、符号語01をN×Nのイントラ予測、符号語00をPCMと解釈する。
【0118】
同様に、非イントラスライスにおいては、シンタクスと符号語を以下のように対応付けることができる。
【0119】
[すべてのCUで共通となるシンタクスと符号語の対応]
シンタクス 符号語
Split 1
Skip 01
Inter2N×2N_MRG 001
Inter2N×2N 0001
Others 0000
[Othersに後続する、PCM符号化を含む最小符号化ユニットでのシンタクスと符号語の対応]
シンタクス 符号語
Inter2N×N 0
InterN×2N 01
InterN×N 001
Intra2N×2N 0001
IntraN×N 00001
PCM 00000
【0120】
[Othersに後続する、PCM符号化を含む最小符号化ユニット以外のCUでのシンタクスと符号語の対応]
シンタクス 符号語
Inter2N×N 0
InterN×2N 01
Intra2N×2N 001
PCM 000
【0121】
[Othersに後続する、PCM符号化を含まない最小符号化ユニットでのシンタクスと符号語の対応]
シンタクス 符号語
Inter2N×N 0
InterN×2N 01
InterN×N 001
Intra2N×2N 0001
IntraN×N 0000
【0122】
[Othersに後続する、PCM符号化を含まない最小符号化ユニット以外のCUでのシンタクスと符号語の対応]
シンタクス 符号語
Inter2N×N 0
InterN×2N 01
Intra2N×2N 00
【0123】
この場合、映像復号装置は、例えば、PCM符号化を含む最小符号化ユニットにおいては、Othersに後続する、符号語0を2N×Nのインター予測、符号語01をN×2Nのインター予測、符号語001をInterN×Nのインター予測、符号語0001を2N×2Nのイントラ予測、符号語00001をN×Nのイントラ予測、そして、符号語00000をPCMと解釈する。
【0124】
なお、イントラスライスとはイントラ予測のみで符号化された符号化ユニットのみで構成されるスライスである。非イントラスライスとはインター予測で符号化された符号化ユニットを含むスライスである。
【0125】
また、上記の各実施形態を、ハードウェアで構成することも可能であるが、コンピュータプログラムにより実現することも可能である。
【0126】
図11に示す情報処理システムは、プロセッサ1001、プログラムメモリ1002、映像データを格納するための記憶媒体1003およびビットストリームを格納するための記憶媒体1004を備える。記憶媒体1003と記憶媒体1004とは、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体として、ハードディスク等の磁気記憶媒体を用いることができる。
【0127】
図11に示された情報処理システムにおいて、プログラムメモリ1002には、
図1,
図5のそれぞれに示された各ブロック(バッファのブロックを除く)の機能を実現するためのプログラムが格納される。そして、プロセッサ1001は、プログラムメモリ1002に格納されているプログラムに従って処理を実行することによって、
図1,
図5のそれぞれに示された映像符号化装置または映像復号装置の機能を実現する。
【0128】
図12は、本発明による映像符号化装置の主要部を示すブロック図である。
図12に示すように、本発明による映像符号化装置は、画像ブロックを変換する変換手段11(一例として、
図1に示す変換/量子化器102)と、変換手段11が変換した画像ブロックの変換データをエントロピー符号化するエントロピー符号化手段12(一例として、
図1に示すエントロピー符号化器103)と、画像ブロックをPCM符号化するPCM符号化手段13(一例として、
図1に示すPCM符号化器107)と、外部設定されるブロックサイズのブロックでエントロピー符号化手段12(一例として、
図1に示すエントロピー符号化器103)とPCM符号化手段13のいずれかの出力データを選択する多重化データ選択手段14(一例として、多重化データ選択器109及びスイッチ121)と、外部設定されるブロックサイズのブロックでPCMヘッダをビットストリームに埋め込む多重化手段15(一例として、
図1に示す多重化器110)とを備える。
【0129】
図13は、本発明による映像復号装置の主要部を示すブロック図である。
図13に示すように、本発明による映像復号装置は、PCMブロックサイズ情報を含むビットストリームを多重化解除する多重化解除手段21(一例として、
図5に示す多重化解除器201)と、多重化解除手段21が多重化解除したPCMブロックサイズ情報に基づいて、PCMヘッダを読み出すPCMブロックサイズを決定するPCMブロックサイズ決定手段22(一例として、
図5に示す多重化解除器201)と、PCMブロックサイズ決定手段22が決定したPCMブロックサイズのブロックでPCMヘッダをビットストリームから読み出すPCMヘッダ読み出し手段23(一例として、
図5に示すエントロピー復号器204)と、ビットストリームに含まれる画像の変換データをエントロピー復号するエントロピー復号手段24(一例として、
図5に示すエントロピー復号器204)と、エントロピー復号手段24がエントロピー復号した変換データを逆変換する逆変換手段25(一例として、
図5に示す逆変換/逆量子化器206)と、ビットストリームに含まれる画像のPCMデータをPCM復号するPCM復号手段26(一例として、
図5に示すPCM復号器203)と、PCMヘッダ読み出し手段23が読み出したPCMヘッダに基づいて、エントロピー復号手段24及びPCM復号手段26を制御する復号制御手段27(一例として、
図5に示す復号制御器202)とを備える。
【0130】
上記の実施形態の一部または全部は以下の付記のようにも記載されうるが、本発明の構成は以下の構成に限定されない。
【0131】
(付記1)外部設定されるブロックサイズが最大符号化ユニットサイズに対応するブロックサイズの4のN乗分の1以上である場合、又は外部設定されるブロックサイズが最小符号化ユニットサイズに対応するブロックサイズの4のN乗倍以上である場合に、多重化手段が、PCMブロックサイズ情報としてNに関する情報をビットストリームに埋め込む映像符号化装置。
【0132】
(付記2)ブロックサイズが最大符号化ユニットサイズに対応するブロックサイズの4のN乗分の1以上である場合、又はブロックサイズが最小符号化ユニットサイズに対応するブロックサイズの4のN乗倍以上である場合に、多重化解除手段が、PCMブロックサイズ情報としてNに関する情報を取得する映像復号装置。
【0133】
(付記3)外部設定されるブロックサイズが最大符号化ユニットサイズに対応するブロックサイズの4のN乗分の1以下である場合、又は外部設定されるブロックサイズが最小符号化ユニットサイズに対応するブロックサイズの4のN乗倍以下である場合に、多重化手段が、PCMブロックサイズ情報としてNに関する情報をビットストリームに埋め込む映像符号化装置。
【0134】
(付記4)ブロックサイズが最大符号化ユニットサイズに対応するブロックサイズの4のN乗分の1以下である場合、又はブロックサイズが最小符号化ユニットサイズに対応するブロックサイズの4のN乗倍以下である場合に、多重化解除手段が、PCMブロックサイズ情報としてNに関する情報を取得する映像復号装置。
【0135】
以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0136】
この出願は、2010年11月26日に出願された日本特許出願2010−264320および2011年2月9日に出願された日本特許出願2011−026331を基礎とする優先権を主張し、その開示の全てをここに取り込む。