(57)【要約】【課題】効率的に符号量を削減するＳＮＲスケーラビリティ符号化を確立し，また，符号化ストリームから色差情報だけを切り取った場合に発生するドリフト誤差を解消する。【解決手段】各拡張階層において，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データを対にして符号化ストリーム中に格納する輝度信号・色差信号符号化データ出力部１３による出力と，輝度信号の符号化データと色差信号の符号化データとを分離し，各拡張階層のストリーム中の前半と後半に分けて，両データを符号化ストリーム中に格納する輝度信号有意係数有無判定部２０から拡張階層別出力制御部２５までの処理による符号化ストリームの出力とを切り替える機能を提供し，後者の方式が選択された場合には，輝度信号の符号化データと色差信号の符号化データを分離可能な形で単一の符号化ストリーム内に重畳することで，色チャネル間のスケーラビリティを実現する。【選択図】図１
2008099045.tif 000002
【特許請求の範囲】
【請求項１】
画像信号を階層毎に符号化し，基本階層と１または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化方法において，
画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を，前記各階層毎に行う過程と，
基本階層の符号化データからなる符号化ストリームを出力する過程と，
拡張階層の符号化データについて，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第１の方式と，輝度信号の符号化データと色差信号の符号化データとを分離し，各拡張階層の符号化ストリーム中の前半と後半とに分けて，両データを符号化ストリーム中に格納する第２の方式のいずれかを選択する過程と，
前記第１の方式が選択された場合に，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する過程と，
前記第２の方式が選択された場合に，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する過程とを有する
ことを特徴とするスケーラブル符号化方法。
【請求項２】
画像信号を階層毎に符号化し，基本階層と１または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化方法において，
画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を，前記各階層毎に行う過程と，
基本階層の符号化データからなる符号化ストリームを出力する過程と，
拡張階層の符号化データについて，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第１の方式と，輝度信号の符号化データと色差信号の符号化データとを分離し，全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて，両データを符号化ストリーム中に格納する第２の方式のいずれかを選択する過程と，
前記第１の方式が選択された場合に，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する過程と，
前記第２の方式が選択された場合に，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する過程とを有する
ことを特徴とするスケーラブル符号化方法。
【請求項３】
画像信号を階層毎に符号化し，基本階層と１または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化方法において，
画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を，前記各階層毎に行う過程と，
基本階層の符号化データからなる符号化ストリームを出力する過程と，
拡張階層の符号化データについて，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第１の方式と，輝度信号の符号化データと色差信号の符号化データとを分離し，各拡張階層の符号化ストリーム中の前半と後半とに分けて，両データを符号化ストリーム中に格納する第２の方式と，輝度信号の符号化データと色差信号の符号化データとを分離し，全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて，両データを符号化ストリーム中に格納する第３の方式のいずれかを選択する過程と，
前記第１の方式が選択された場合に，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する過程と，
前記第２の方式が選択された場合に，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する過程と，
前記第３の方式が選択された場合に，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する過程とを有する
ことを特徴とするスケーラブル符号化方法。
【請求項４】
請求項１，請求項２または請求項３記載のスケーラブル符号化方法において，
前記輝度信号の符号化データと色差信号の符号化データとを分離する際，
マクロブロック内の輝度信号の有意係数の有無を示すフラグ，およびマクロブロック内の色差信号の有意係数の有無を示すフラグ，および当該マクロブロックの量子化パラメータと近接するマクロブロックの量子化パラメータとの差分値を，輝度信号と色差信号のうち符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化する
ことを特徴とするスケーラブル符号化方法。
【請求項５】
請求項１，請求項２または請求項３記載のスケーラブル符号化方法において，
前記輝度信号の符号化データと色差信号の符号化データとを分離する際，
マクロブロック内の輝度信号の有意係数の有無を示すフラグ，およびマクロブロック内の色差信号の有意係数の有無を示すフラグを，輝度信号と色差信号のうち符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化し，
さらに，マクロブロック内の色差信号に有意係数が存在する場合には，当該マクロブロックの量子化パラメータと近接するマクロブロックの量子化パラメータとの差分値を，輝度信号と色差信号のうち符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化する
ことを特徴とするスケーラブル符号化方法。
【請求項６】
画像信号を階層毎に符号化し，基本階層と１または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化装置において，
画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を，前記各階層毎に行う手段と，
基本階層の符号化データからなる符号化ストリームを出力する手段と，
拡張階層の符号化データについて，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第１の方式と，輝度信号の符号化データと色差信号の符号化データとを分離し，各拡張階層の符号化ストリーム中の前半と後半とに分けて，両データを符号化ストリーム中に格納する第２の方式のいずれかを選択する手段と，
前記第１の方式が選択された場合に，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する手段と，
前記第２の方式が選択された場合に，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する手段とを備える
ことを特徴とするスケーラブル符号化装置。
【請求項７】
画像信号を階層毎に符号化し，基本階層と１または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化装置において，
画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を，前記各階層毎に行う手段と，
基本階層の符号化データからなる符号化ストリームを出力する手段と，
拡張階層の符号化データについて，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第１の方式と，輝度信号の符号化データと色差信号の符号化データとを分離し，全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて，両データを符号化ストリーム中に格納する第２の方式のいずれかを選択する手段と，
前記第１の方式が選択された場合に，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する手段と，
前記第２の方式が選択された場合に，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する手段とを備える
ことを特徴とするスケーラブル符号化装置。
【請求項８】
画像信号を階層毎に符号化し，基本階層と１または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化装置において，
画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を，前記各階層毎に行う手段と，
基本階層の符号化データからなる符号化ストリームを出力する手段と，
拡張階層の符号化データについて，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第１の方式と，輝度信号の符号化データと色差信号の符号化データとを分離し，各拡張階層の符号化ストリーム中の前半と後半とに分けて，両データを符号化ストリーム中に格納する第２の方式と，輝度信号の符号化データと色差信号の符号化データとを分離し，全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて，両データを符号化ストリーム中に格納する第３の方式のいずれかを選択する手段と，
前記第１の方式が選択された場合に，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する手段と，
前記第２の方式が選択された場合に，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する手段と，
前記第３の方式が選択された場合に，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する手段とを備える
ことを特徴とするスケーラブル符号化装置。
【請求項９】
請求項１から請求項５までのいずれか１項に記載されたスケーラブル符号化方法によって符号化された符号化ストリームを復号するスケーラブル復号方法。
【請求項１０】
請求項１から請求項５までのいずれか１項に記載されたスケーラブル符号化方法によって符号化された符号化ストリームの後半を切り落としたストリームを復号するスケーラブル復号方法。
【請求項１１】
請求項９または請求項１０に記載されたスケーラブル復号方法を実行する手段を備えるスケーラブル復号装置。
【請求項１２】
請求項１から請求項５までのいずれか１項に記載されたスケーラブル符号化方法を，コンピュータに実行させるためのスケーラブル符号化プログラム。
【請求項１３】
請求項１から請求項５までのいずれか１項に記載されたスケーラブル符号化方法を，コンピュータに実行させるためのスケーラブル符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１４】
請求項９または請求項１０に記載されたスケーラブル復号方法を，コンピュータに実行させるためのスケーラブル復号プログラム。
【請求項１５】
請求項９または請求項１０に記載されたスケーラブル復号方法を，コンピュータに実行させるためのスケーラブル復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，高能率画像信号符号化方法に関し，特に，色チャネル間のスケーラビリティを実現する階層符号化を行うスケーラブル符号化方法およびその符号化ストリームを復号するスケーラブル復号方法に関する。
【背景技術】
【０００２】
近年，多様化するネットワーク環境・端末環境などに対応するためのスケーラブル符号化が注目を集めている。スケーラブル符号化におけるスケーラブル機能としては，
(ｉ) 異なる空間解像度の符号化ストリームを単一ストリームに重畳できる空間スケーラビリティ，
(ii) 異なる時間解像度の符号化ストリームを単一ストリームに重畳できる空間スケーラビリティ，
(iii)異なる復号画質の符号化ストリームを単一ストリームに重畳できるＳＮＲスケーラビリティ，
がある。
【０００３】
時間・空間・ＳＮＲスケーラビリティに対応した符号化方法として，Joint Scalable Coding Video(ＪＳＶＣ) が，国際標準化の場で規格化されている。非特許文献１で示されたＪＳＶＣは，ＡＶＣをベースとした符号化方式であり，空間スケーラビリティ，時間スケーラビリティは，各々，コーデックの階層化構造，階層型Ｂピクチャにより実現しており，ＳＮＲスケーラビリティは，画質の調整幅の大小により，ＦＧＳとＣＧＳとに分類されている。画質の調整幅の粗いＣＧＳは，空間スケーラビリティと同様，コーデックの階層化構造により実現され，一方，画質の調整幅の細かいＦＧＳは，変換係数に対するビットプレーン展開に類似した方法により実現されている。
【０００４】
具体的には，基本階層で用いられた量子化幅を拡張階層のレベルに応じて，順次，縮小した値を用いることにより，段階的な画質の向上を図っている。この符号化モードは，“progressive refinement”と呼ばれている。
【非特許文献１】T.Wiegand, G.Sullivan, J.Reichel, H.Schwarz, and M.Wien, "Jointdraft 6, JVT-S201", Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IECJTC1/SC29/WG11 and ITU-T SG16 Q.6) 19th Meeting: Geneva, Switzerland, 1-7 April, 2006.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＪＳＶＣ，Ｈ．２６４／ＡＶＣを始めとする動画像符号化方式において，入力映像の色差成分は，輝度成分に比べてダウンサンプリングされた信号が用いられてきた。４：２：２，４：２：０フォーマットと呼ばれる映像フォーマットがこれに当たる。こうした映像フォーマットは，輝度成分に比べて色差成分に対する感度が低いという生理学的な知見に基づき，符号量を削減する目的で導入されたものである。
【０００６】
色差成分のダウンサンプリングは，主観画質の低下を抑えつつ符号量を低減させる有効な手段である。しかし，こうした輝度成分と色差成分の感度の相対比は，空間方向・時間方向において一定でない。それは，画像信号の性質はフレーム毎に変化し，さらにフレーム内においても，局所的な変化を伴うことによる。こうした変化に応じて，色差成分に対する視覚感度の強度も変化する。
【０００７】
例えば，画素値が暗い領域では，明るい領域に比べて色差成分に対する感度は低下する。このため，フレーム内の局所的な性質に応じて，輝度成分と色差成分の符号量の比率を変化させることで，より効率的な符号量低減を達成できる可能性がある。しかし，前述したＪＳＶＣのＳＮＲスケーラビリティは，輝度成分・色差成分に対して一様に画質調整を行うスケーラビリティであり，輝度成分と色差成分とを分離可能なＳＮＲスケーラビリティへのサポートは不完全なものとなっている。このため，符号化効率に関して改善の余地を残す。
【０００８】
そこで，本発明では，後に詳述するように，現在のＪＳＶＣに付属している輝度色差分離フラグluma＿chroma＿sep ＿flagをチャネルスケーラビリティ対応へ拡張することを考えている。
【０００９】
この輝度色差分離フラグは，ＮＡＬユニット内の輝度情報と色差情報の出力順序を変更する機能をサポートするだけで，ＮＡＬユニットの分割は想定外となっている。本フラグの機能を以下に示す。本フラグが“０”にセットされた場合，各progressive refinement slice（以下，ＰＲスライスと記す）内の符号化情報は，マクロブロック毎に輝度信号の符号化情報（輝度情報），色差信号の符号化情報（色差情報）の順で配置される。一方，本フラグが“１”にセットされた場合，各ＰＲスライス内の符号化情報は，各マクロブロックの輝度情報がマクロブロックの走査順に配置され，その後に，各マクロブロックの色差情報がマクロブロックの走査順に配置される。つまり，各ＰＲスライス内では，前半が輝度情報，後半が色差情報となる。
【００１０】
しかし，本フラグを“１”にセットし，符号化ストリーム後半の色差情報のみを切り捨てて，輝度情報のみを復号しようとしても，輝度信号の復号が正しく行えず，輝度信号の復号値が劣化することになる。つまり，符号化ストリーム内における輝度情報と色差情報の分割はサポートされていない。このように，この輝度色差分離フラグ（luma＿chroma＿sep ＿flag）は，単に輝度信号と色差信号の符号化情報の順序を入れ替える機能を提供しているにすぎず，チャネルスケーラビリティ機能はサポートしてない。
【００１１】
図２０は，輝度色差分離フラグを１（luma＿chroma＿sep ＿flag＝１）にした場合の符号化ストリームの切り取り順序を示す。図２０において，丸で囲まれた数字が切り取り順序を表している。
【００１２】
そこで，本発明では，輝度情報と色差情報の分割が可能なチャネルスケーラビリティへ対応すべく，符号化ストリーム内のビット列の規則（シンタックス）を修正する。各マクロブロックの輝度情報および色差情報は，変換係数の符号化情報とそれ以外のヘッダ情報に分類されており，チャネルスケーラビリティを実現するには，ヘッダ情報に含まれるΔＱＰ，ＣＢＰの配置規則を修正する必要がある。
【００１３】
ΔＱＰは，直前に走査されたマクロブロックにおける量子化パラメータと当該マクロブロックにおけるそれとの差分値である。当該マクロブロックにおいて量子化パラメータを変更する場合，符号化ストリームに付加される。ＣＢＰは，８×８［画素］の領域単位で有意係数の有無を示す符号化情報である。
【００１４】
図２１は，Ｈ．２６４におけるマクロブロックの輝度成分と色差成分の例を示している。Ｈ．２６４では，１６×１６［画素］の輝度成分（Ｙ），および２つの８×８［画素］の色差成分（Ｃｂ，Ｃｒ）をマクロブロックと呼び，このマクロブロック単位で変換係数を符号化ストリームへ変換している。この際，図２１に示すように，輝度成分の４つの８×８［画素］のサブブロックと同一サイズの２つの色差成分のサブブロックからなる６つのサブブロックに対して，各サブブロック内の変換係数が有意係数を含むか否かを表す６ビットの情報を付与している。これを“符号化ブロック・パターン（ＣＢＰ：Coded Block Pattern)”と呼ぶ。なお，図２１中のサブブロック内の数字は，各サブブロックに対するＣＢＰ内のビットの位置を表している。対応するＣＢＰ内のビットが“０”となるサブブロックについては，変換係数の情報は付加されない。これは符号量削減を狙った処理である。一方，同ビットが“１”となるサブブロックについては，変換係数の情報が付加される。
【００１５】
図２２は，ＪＳＶＣにおける符号化ストリームの構造を示す図である。ＪＳＶＣにおける問題を，図２２を例にとり説明する。図２２（ａ）は，すべてのマクロブロック（ＭＢ）に輝度信号の有意係数が含まれる場合，図２２（ｂ）は，有意係数を含まないマクロブロック（ＭＢ）が存在する場合の例を示している。
【００１６】
図２２（ａ）に示すように，マクロブロック内の輝度信号が有意係数をもつ場合，ΔＱＰは輝度成分のヘッダ部に含まれる。この場合は，輝度色差分離フラグ（luma＿chroma＿sep ＿flag）によって輝度情報と色差情報の出力順序を入れ替えることで，両者の分離が可能である。しかし，図２２（ｂ）に示すように，有意係数の無い輝度信号のマクロブロックが存在する場合，ΔＱＰは色差成分のヘッダ部に含まれる。このため，輝度色差分離フラグ（luma＿chroma＿sep ＿flag）によって輝度情報と色差情報の出力順序を入れ替え，色差成分を切り捨てた場合，前述のΔＱＰが復号器へ入力されない。このため，当該マクロブロックにおけるＱＰが符号化器と復号器で一致しなくなる。ＱＰはデブロッキングフィルタにおいて，フィルタ処理の強度を調整するため，フィルタ処理後の信号が符号化器と復号器で一致しなくなり，ドリフト誤差が発生する。
【００１７】
以上の本発明の前提となる従来技術とその問題点を要約すると，以下の通りである。
(1) 現在の国際標準方式ＪＳＶＣ(Joint Scalable Coding Video) では，輝度・色差の情報分離がサポートされていないとの問題があった。
(2) 現在のＪＳＶＣでの画像符号化では，輝度・色差の情報の種類毎に，伝送されるビットストリーム上での位置（伝送される時間的順序）が決まっている。このため，途中の拡張階層のデータ（輝度情報あるいは色差情報）を抜いたら，復号器では復号できないとの問題があった。
(3) ビットストリームを切り捨てる処理（trancation処理）においては，ビットストリーム上での指定された位置よりも後方のストリームを捨てる。この切り捨てる処理においては，切り捨てられるデータの内容については復号処理を行わないので，データの種類が輝度情報なのか色差情報なのか，また，拡張階層の第何階層の情報なのかを知ることができない。
(4) また，従来のビットストリームの構造では，輝度情報と色差情報とを分離して，色差情報だけを切り取った場合には，量子化パラメータが符号化器と復号器とで一致しなくなることがあり，ドリフト誤差が生じることがあるとの問題があった。
【００１８】
なお，復号器への入力は，ビットストリームの先頭から上記(3) の切り取り点（trancation point）までのデータのみである。復号器へは，ビットストリームの先頭から切り取り点までのデータと切り取り点の位置の情報が与えられる。
【００１９】
本発明はかかる事情に鑑みてなされたものであって，ＪＳＶＣに対して，輝度成分と色差成分とを分離可能なＳＮＲスケーラビリティ（チャネルスケーラビリティ）を導入することにより，効率的に符号量を削減するＳＮＲスケーラビリティ符号化を確立し，特に符号化ストリームから色差情報だけを切り取った場合に発生するドリフト誤差を解消することを目的とする。
【課題を解決するための手段】
【００２０】
本発明は，上記課題を解決し，同じ拡張階層のマクロブロックデータ，すなわちマクロブロック毎の輝度情報および色差情報を入力として，複数のマクロブロックの輝度情報を集めたブロックと，色差情報を集めたブロックを生成した符号化ストリームを生成することができるようにする。また，色差情報だけを切り取った符号化ストリームを復号しても，ドリフト誤差が生じないようにする。
【００２１】
このため，本発明は，画像信号を階層毎に符号化し，基本階層と１または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化方法において，画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を各階層毎に行い，各拡張階層において，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データを対にして符号化ストリーム中に格納する第１の方式（従来の方式）と，輝度信号の符号化データと色差信号の符号化データとを分離し，各拡張階層のストリーム中の前半と後半に分けて，両データを符号化ストリーム中に格納する第２の方式とを切り替える機能を提供し，第１の方式が選択された場合には，従来と同様な輝度信号と色差信号の符号化データの出力を行い，第２の方式が選択された場合には，輝度信号の符号化データと色差信号の符号化データを分離可能な形で単一の符号化ストリーム内に重畳することで，色チャネル間のスケーラビリティを実現するスケーラブル符号化を行う。
【００２２】
または，本発明は，上記第２の方式に代えて，もしくは上記第２の方式に加えてさらに，輝度信号の符号化データと色差信号の符号化データとを分離し，全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて，両データを符号化ストリーム中に格納する第３の方式を選択して切り替える機能を提供し，輝度信号の符号化データと色差信号の符号化データを分離可能な形で単一の符号化ストリーム内に重畳することで，色チャネル間のスケーラビリティを実現するスケーラブル符号化を行う。
【００２３】
上記発明において，マクロブロック毎に量子化を行い，当該マクロブロック内の量子化ステップ幅を表すパラメータ（量子化パラメータ）を近接するマクロブロックの量子化パラメータとの差分値として符号化し，量子化パラメータを逆量子化後の復号信号に対するフィルタリング処理の強度設定に用いる符号化では，上記第２の方式または上記第３の方式において輝度信号の符号化データと色差信号の符号化データを分離する際，マクロブロック内の輝度信号の有意係数の有無を示すフラグ（輝度ＣＢＰ），および，マクロブロック内の色差信号の有意係数の有無を示すフラグ（色差ＣＢＰ），および，量子化パラメータとの差分値（ΔＱＰ）を，輝度信号と色差信号のうち，符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化する。
【００２４】
または，上記発明において，上記第２の方式または上記第３の方式において輝度信号の符号化データと色差信号の符号化データを分離する際，マクロブロック内の輝度信号の有意係数の有無を示すフラグ（輝度ＣＢＰ），および，マクロブロック内の色差信号の有意係数の有無を示すフラグ（色差ＣＢＰ）を，輝度信号と色差信号のうち，符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化し，さらに，マクロブロック内の色差信号に有意係数が存在する場合には，量子化パラメータとの差分値（ΔＱＰ）を，輝度信号と色差信号のうち，符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化する。
【００２５】
上記方法によって符号化された符号化ストリームを復号する際には，第１の方式で符号化されたものであるか，第２の方式で符号化されたものであるか，あるいは第３の方式で符号化されたものであるかを判定し，それぞれの符号化ストリームに対応した復号を行う。
【００２６】
第１の方式で符号化されたものであるか，第２の方式で符号化されたものであるか，あるいは第３の方式で符号化されたものであるかは，例えば輝度色差分離フラグ（luma＿chroma＿sep ＿flag）の値によって区別できるようにすれば，復号装置において判定することができる。
【発明の効果】
【００２７】
本発明により，輝度符号化ビットと色差符号化ビットを分離可能なチャネルスケーラブル符号化を実現できる。これによって，符号化ストリームの一部を切り取る際，色差符号化ビットのみを切り取り対象として指定することが可能となり，主観画質を保持しつつ，全体の符号量を削減することができる。
【００２８】
また，符号化ストリームから色差情報だけを切り取った場合にも，符号化装置と復号装置とで量子化パラメータを一致させ，ドリフト誤差が発生しないようにすることができる。
【発明を実施するための最良の形態】
【００２９】
図１は，本発明の概要を説明するためのスケーラブル符号化装置のブロック図である。スケーラブル符号化装置１において，入力画像を階層符号化して各階層毎に符号化ビット列を出力する階層符号化部１０と，輝度信号・色差信号符号化データ出力部１３は，従来のＪＳＶＣの参照ソフトウェアであるＪＳＶＭによって実現されるものと同様の処理を行う。すなわち，本発明が従来技術と異なる部分は，例えばＪＳＶＭによる階層符号化部１０によりエントロピ符号化までの処理が終了し，各符号化情報がバイナリのビット列（符号化ビット）に変換された後の処理部分になる。
【００３０】
輝度信号・色差信号符号化データ出力部１３が行う処理が，上述した第１の方式による符号化ストリームの生成処理に相当し，輝度信号有意係数有無判定部２０から拡張階層別出力制御部２５までの一点鎖線で囲まれた部分で行う処理が，上述した第２の方式による符号化ストリームの生成処理に相当し，輝度信号有意係数有無判定部３０から拡張階層別色差信号出力制御部３６までの二点鎖線で囲まれた部分で行う処理が，上述した第３の方式による符号化ストリームの生成処理に相当する。ここで，第２の方式による符号化ストリームの生成処理，または第３の方式による符号化ストリームの生成処理のいずれか一方を省略した実施も可能である。
【００３１】
輝度色差分離フラグ判定部１１は，輝度色差分離フラグluma＿chroma＿sep ＿flagを判定し，輝度色差分離フラグの値が“０”の場合には，出力切り替え部１２を制御して，輝度信号・色差信号符号化データ出力部１３に対し符号化ストリームを出力する処理を行わせる。また，輝度色差分離フラグの値が“１”の場合には，出力切り替え部１２を制御して，一点鎖線で囲まれた第２の方式による符号化ストリームの出力処理を行わせる。また，輝度色差分離フラグの値が“２”の場合には，出力切り替え部１２を制御して，二点鎖線で囲まれた第３の方式による符号化ストリームの出力処理を行わせる。
【００３２】
輝度信号・色差信号符号化データ出力部１３は，階層符号化部１０が出力するエントロピ符号化の符号化結果を入力として読み込み，ＪＳＶＭの規定に従い，マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する処理を行う。
【００３３】
輝度色差分離フラグの値が“１”の場合，各拡張階層毎に以下の処理を行う。輝度信号有意係数有無判定部２０は，マクロブロック内の輝度信号の有意係数の有無を，輝度ＣＢＰによって判別する。輝度信号の有意係数がある場合，輝度信号符号化データ出力部２１によって，ＪＳＶＭの規定に従い，輝度信号の符号化ビットを符号化ストリームに書き出す。一方，輝度信号の有意係数がない場合，輝度信号ヘッダ部出力部２２によって，ＪＳＶＭで規定された輝度信号のヘッダの符号化ビットを符号化ストリームに書き出す。このとき，量子化パラメータの差分値ΔＱＰと色差ＣＢＰをヘッダの符号化ビットの一部として書き出す。この処理を現在の拡張階層におけるマクロブロックについて繰り返す。
【００３４】
輝度信号の当該拡張階層における全マクロブロックについての処理が終了したならば，色差信号ヘッダ部出力部２３は，ＪＳＶＭで規定された輝度信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を符号化ストリームに書き出す。その後，色差信号の有意係数の有無を判別し，有意係数があれば，色差信号符号化データ出力部２４によって，ＪＳＶＭに規定に規定された色差信号のヘッダ以外の符号化ビットを符号化ストリームに書き出す。この処理を現在の拡張階層における全マクロブロックについて繰り返す。
【００３５】
色差信号の当該拡張階層における全マクロブロックについての処理が終了したならば，拡張階層別出力制御部２５の制御のもとに，同様に次の拡張階層の符号化ストリームの出力処理を行い，最終の拡張階層までの出力が終了したならば処理を終了する。これにより，輝度信号の符号化データと色差信号の符号化データとが分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて出力されることになる。
【００３６】
輝度色差分離フラグの値が“２”の場合，拡張階層別輝度信号出力制御部３５によって，各拡張階層毎に輝度信号の符号化データの出力処理が行われ，輝度信号について全拡張階層の処理が終了してから，拡張階層別色差信号出力制御部３６によって，各拡張階層毎に色差信号の符号化データの出力処理が行われる。
【００３７】
まず，輝度信号有意係数有無判定部３０は，マクロブロック内の輝度信号の有意係数の有無を，輝度ＣＢＰによって判別する。輝度信号の有意係数がある場合，輝度信号符号化データ出力部３１によって，ＪＳＶＭの規定に従い，輝度信号の符号化ビットを符号化ストリームに書き出す。一方，輝度信号の有意係数がない場合，輝度信号ヘッダ部出力部３２によって，ＪＳＶＭで規定された輝度信号のヘッダの符号化ビットを符号化ストリームに書き出す。このとき，量子化パラメータの差分値ΔＱＰと色差ＣＢＰをヘッダの符号化ビットの一部として書き出す。この処理を全拡張階層における全マクロブロックについて繰り返す。
【００３８】
全拡張階層における輝度信号の出力処理が終了したならば，各拡張階層について，色差信号ヘッダ部出力部３３は，ＪＳＶＭで規定された輝度信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を符号化ストリームに書き出す。その後，色差信号の有意係数の有無を判別し，有意係数があれば，色差信号符号化データ出力部３４によって，ＪＳＶＭに規定に規定された色差信号のヘッダ以外の符号化ビットを符号化ストリームに書き出す。この処理を全拡張階層における全マクロブロックについて繰り返す。
【００３９】
これにより，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて出力されることになる。
【００４０】
図２は，輝度色差分離フラグ（luma＿chroma＿sep ＿flag）が“２”の場合の符号化ストリームの切り取り順序を示している。丸で囲まれた数字が符号化ストリームを切り取る際の切り取り順序を表している。従来，符号化ストリーム内における輝度信号と色差信号の符号化情報の分割は，複数のＰＲスライスに対して横断的に行うことはできなかったのに対し，第３の方式により，図２に示すように，複数のＰＲスライスに対して横断的に色差情報の切り取り可能な符号化ストリームを生成することができるようになる。
【００４１】
ここでは，マクロブロック内の輝度信号に有意係数が含まれない（輝度ＣＢＰ＝０）場合に，ΔＱＰおよび色差ＣＢＰを輝度信号のヘッダ情報に含める例を説明したが，さらに詳しくは後述するように，マクロブロック内の輝度信号に有意係数が含まれない（輝度ＣＢＰ＝０）場合に，色差ＣＢＰを輝度信号のヘッダ情報に含め，かつ，色差信号に有意係数が含まれる（色差ＣＢＰ≠０）場合に，ΔＱＰを輝度信号のヘッダ情報に含めるようにし，切り取り後に残る符号化データの符号量をさらに低減する実施も可能である。
【００４２】
本発明の実施の形態をさらに詳しく説明する。以下では，第１の実施の形態として，特に第２の方式において輝度ＣＢＰ＝０の場合に，ΔＱＰおよび色差ＣＢＰを輝度信号のヘッダ情報に含める形態，第２の実施の形態として，第２の方式において輝度ＣＢＰ＝０の場合に，色差ＣＢＰを輝度信号のヘッダ情報に含め，かつ色差ＣＢＰ≠０の場合に，ΔＱＰも輝度信号のヘッダ情報に含める形態，第３の実施の形態として，第３の方式において輝度ＣＢＰ＝０の場合に，ΔＱＰおよび色差ＣＢＰを輝度信号のヘッダ情報に含める形態，第４の実施の形態として，第３の方式において輝度ＣＢＰ＝０の場合に，色差ＣＢＰを輝度信号のヘッダ情報に含め，かつ色差ＣＢＰ≠０の場合に，ΔＱＰも輝度信号のヘッダ情報に含める形態の符号化処理および復号処理を，主に説明している。
【００４３】
１．第１の実施の形態
〔符号化処理〕
本実施の形態で対象とするのは，ＪＳＶＣにおいて，エントロピ符号化までの処理が終了し，各符号化情報がバイナリのビット列（符号化ビット）に変換された後の処理になる。つまり，符号化ビットの配置方法が従来技術と異なる。
【００４４】
輝度色差分離フラグを“１”（luma＿chroma＿sep ＿flag＝１）とする場合，符号化ビットの配置は，以下のように行う。まず，以下の条件を判定する。
【００４５】
・＜条件１＞：輝度ＣＢＰ＝０
条件１を満たすか否かの判定を行い，条件１を満たさない場合，ＪＳＶＣ準拠の符号化器（ＪＳＶＭ）と同様の処理を行う。一方，条件１を満す場合，以下の処理を行う。
【００４６】
各マクロブロックの輝度のヘッダ情報として，luma＿chroma＿sep ＿flag＝１の場合に，輝度のマクロブロックヘッダ情報としてＪＳＶＣで規定された符号化ビットに加えて，色差ＣＢＰの符号化ビット，ΔＱＰの符号化ビットを同ヘッダ情報として格納する。これを各ＦＧＳ階層毎に全てのマクロブロックに対して行う。
【００４７】
全ての輝度に対して，処理を終了した後，色差に関する符号化ビットを配置する。このとき，まず，各マクロブロックについて，色差のヘッダ情報を配置する。ただし，ここでヘッダ情報となるのは，luma＿chroma＿sep ＿flag＝１の場合に色差のマクロブロックヘッダ情報として  ＪＳＶＣで規定された符号化ビットのうち，色差ＣＢＰの符号化ビット，ΔＱＰの符号化ビットを除いた符号化ビットである。これを各ＰＲ階層毎に全てのマクロブロックに対して行う。なお，luma＿chroma＿sep ＿flagの符号化ビットは，シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報として，上述のマクロブロックの符号化ビットの前に配置する。
【００４８】
図３は，本発明による第１の実施の形態における符号化ストリームの構造の例を示している。輝度信号または色差信号のペイロード部には，マクロブロックヘッダ情報以外の輝度信号または色差信号の符号化ビット（変換係数，動きベクトルの符号化ビット）が格納される。
【００４９】
有意係数を含まない輝度信号のマクロブロックが存在する場合，従来のＪＳＶＣにおける符号化ストリームは，例えば前述した図２２（ｂ）に示すような構造になる。すなわち，マクロブロックＭＢ１の輝度ＣＢＰが“０”の場合，マクロブロックＭＢ１の輝度のヘッダ情報の後に，色差のヘッダ情報および色差のペイロード部が続く。この場合，マクロブロックＭＢ１の色差成分以降のストリームを切り取ったとすると，ΔＱＰの情報が失われ，ドリフト誤差が生じる。
【００５０】
第１の実施の形態では，輝度ＣＢＰが“０”の場合，図３に示すように，図２２（ｂ）では色差のヘッダ情報に含まれていたΔＱＰの情報を，輝度のヘッダ情報の中に含める。これにより，マクロブロックＭＢ１の色差成分以降のストリームを切り取った場合でも，輝度のヘッダ情報の中からΔＱＰの情報が得られ，ドリフト誤差の発生を防止することができる。後述する第３の実施の形態も同様である。なお，後述する第２の実施の形態および第３の実施の形態では，輝度ＣＢＰが“０”で，かつ色差ＣＢＰが“０”でない場合に，第１の実施の形態と同様，図３に示すようにΔＱＰの情報が輝度のヘッダ情報中に格納される。
【００５１】
〔復号処理〕
この符号化器が出力した符号化ストリームを復号する復号器では，以下の復号処理を行う。
【００５２】
シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報から，輝度色差分離フラグluma＿chroma＿sep ＿flagの符号化ビットを復号し，同フラグluma＿chroma＿sep ＿flagの値を得る。同フラグが“０”の場合，ＪＳＶＣに規定された復号処理を行う。一方，同フラグが“１”の場合，以下の復号処理を行う。なお，この場合，各ＰＲ階層の符号化ストリームには，前半が輝度に関する符号化ストリーム，後半が色差に関する符号化ストリームが格納されている。輝度のヘッダ情報を復号し，luma＿chroma＿sep ＿flag＝０の場合と同じ輝度信号に関するヘッダ情報を得る。
【００５３】
次に，以下の条件を判定する。輝度ＣＢＰの復号値が零値であるか否かの判定を行い，零値でない場合，輝度のヘッダ内に色差ＣＢＰの符号化ビットおよびΔＱＰの符号化ビットが含まれているため，これらの符号化ビット復号し，色差ＣＢＰの復号値およびΔＱＰの復号値を得る。
【００５４】
続いて，輝度のマクロブロックヘッダ以外の符号化ビットは，ＪＳＶＣに規定された復号処理を行う。さらに，色差のヘッダ情報を復号する。なお，色差ＣＢＰ，ΔＱＰが既に輝度のヘッダとして復号されている場合には，これらの符号化ビットは，色差のヘッダには含まれないため，同符号化ビットに対する復号処理は不要である。続いて，色差のマクロブロックヘッダ以外の符号化ビットは，ＪＳＶＣに規定された復号処理を行う。以上の処理を各ＰＲ階層毎に実施する。なお，ＪＳＶＣでは，符号化ストリームの一部を切り捨て，残った部分的な符号化ストリームからの復号をサポートしている。
【００５５】
luma＿chroma＿sep ＿flag＝１にした場合，符号化ストリームの切り取り順序は，図２０に示すようになる。ここで，丸で囲まれた数字が切り取り順序を表す。例えば，最上位の拡張階層（ＰＲ３）の色差成分のみを切り捨てる場合，復号対象となるのは，基本階層および６から２までの丸付き数字が付された拡張階層である。このように，符号化ストリームが切り捨てられた場合には，適宜，残った符号化ストリームに対する復号処理を行う。
【００５６】
２．第２の実施の形態
〔符号化処理〕
本実施の形態が対象とするのは，ＪＳＶＣにおいて，エントロピ符号化までの処理が終了し，各符号化情報がバイナリのビット列（符号化ビット）に変換された後の処理になる。つまり，符号化ビットの配置方法が従来技術と異なる。
【００５７】
輝度色差分離フラグを“１”（luma＿chroma＿sep ＿flag＝１）とする場合，符号化ビットの配置は，以下のように行う。まず，以下の２条件を順に判定する。
【００５８】
・＜条件１＞：輝度ＣＢＰ＝０  
・＜条件２＞：色差ＣＢＰ≠０
条件１を満たすか否かの判定を行い，条件１を満たさない場合，ＪＳＶＣ準拠の符号化器（ＪＳＶＭ）と同様の処理を行う。一方，条件１を満す場合，条件２を満たすか否かの判定を行い，条件１を満たさない場合，ＪＳＶＭと同様の処理を行う。
【００５９】
一方，条件２を満す場合，以下の処理を行う。各マクロブロックの輝度のヘッダ情報として，luma＿chroma＿sep ＿flag＝１の場合に，輝度のマクロブロックヘッダ情報としてＪＳＶＣで規定された符号化ビットに加えて，色差ＣＢＰの符号化ビット，ΔＱＰの符号化ビットを同ヘッダ情報として格納する。これを各ＦＧＳ階層毎に全てのマクロブロックに対して行う。
【００６０】
全ての輝度に対して，処理を終了した後，色差に関する符号化ビットを配置する。このとき，まず，各マクロブロックについて，色差のヘッダ情報を配置する。ただし，ここでヘッダ情報となるのは，luma＿chroma＿sep ＿flag＝１の場合に，色差のマクロブロックヘッダ情報としてＪＳＶＣで規定された符号化ビットのうち，色差ＣＢＰの符号化ビット，ΔＱＰの符号化ビットを除いた符号化ビットである。これを各ＰＲ階層毎に全てのマクロブロックに対して行う。
【００６１】
なお，luma＿chroma＿sep ＿flagの符号化ビットは，シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報として，上述のマクロブロックの符号化ビットの前に配置する。
【００６２】
〔復号処理〕
この符号化器が出力した符号化ストリームを復号する復号器では，以下の復号処理を行う。
【００６３】
シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報から，輝度色差分離フラグluma＿chroma＿sep ＿flagの符号化ビットを復号し，同フラグluma＿chroma＿sep ＿flagの値を得る。同フラグが“０”の場合，ＪＳＶＣに規定された復号処理を行う。一方，同フラグが“１”の場合，以下の復号処理を行う。なお，この場合，各ＰＲ階層の符号化ストリームには，前半が輝度に関する符号化ストリーム，後半が色差に関する符号化ストリームが格納されている。輝度のヘッダ情報を復号し，luma＿chroma＿sep ＿flag＝０の場合と同じ輝度信号に関するヘッダ情報を得る。
【００６４】
次に，以下の２条件を順に判定する。輝度ＣＢＰの復号値が零値であるか否かの判定を行い，零値でない場合，輝度のヘッダ内に色差ＣＢＰの符号化ビットが含まれているため，同符号化ビットを復号し，色差ＣＢＰの復号値を得る。続いて，色差ＣＢＰの復号値が得られた場合には，色差ＣＢＰの復号値が零値であるか否かの判定を行い，零値でない場合，輝度のヘッダ内にΔＱＰの符号化ビットが含まれているため，同符号化ビットを復号し，ΔＱＰの復号値を得る。
【００６５】
続いて，輝度のマクロブロックヘッダ以外の符号化ビットは，ＪＳＶＣに規定された復号処理を行う。
【００６６】
さらに，色差のヘッダ情報を復号する。なお，色差ＣＢＰ，ΔＱＰが既に輝度のヘッダとして復号されている場合には，これらの符号化ビットは，色差のヘッダには含まれないため，同符号化ビットに対する復号処理は不要である。続いて，色差のマクロブロックヘッダ以外の符号化ビットは，ＪＳＶＣに規定された復号処理を行う。以上の処理を各ＰＲ階層毎に実施する。なお，ＪＳＶＣでは，符号化ストリームの一部を切り捨て，残った部分的な符号化ストリームからの復号をサポートしている。
【００６７】
luma＿chroma＿sep ＿flag  ＝１にした場合，符号化ストリームの切り取り順序は，図２２に示すようになる。ここで，丸で囲まれた数字が切り取り順序を表す。例えば，最上位の拡張階層（ＰＲ３）の色差成分のみを切り捨てる場合，復号対象となるのは，基本階層，および６から２までの丸付き数字が付された拡張階層である。このように，符号化ストリームが切り捨てられた場合には，適宜，残った符号化ストリームに対する復号処理を行う。
【００６８】
３．第３の実施の形態
〔符号化処理〕
本実施の形態が対象とするのは，ＪＳＶＣにおいて，エントロピ符号化までの処理が終了し，各符号化情報がバイナリのビット列（符号化ビット）に変換された後の処理になる。つまり，符号化ビットの配置方法が従来技術と異なる。
【００６９】
ＪＳＶＣでは，輝度信号と色差信号の符号化情報の順序入れ替えは，図２２に示すように，単一のＰＲスライス内に閉じたものとなっている。
【００７０】
本実施の形態が目標とするのは，図２に示すように，拡張階層の全ての輝度信号と全ての色差信号とが分離可能となる符号化ストリームの構造の実現である。これは，以下の条件を満たす符号化ストリームである。
【００７１】
・拡張階層において，輝度と色差を分離
・基本階層に近い拡張階層から順に輝度信号の符号化ビットを配置
・基本階層に近い拡張階層から順に色差信号の符号化ビットを配置
こうした符号化ストリームの構造は，luma＿chroma＿sep ＿flag＝０およびluma＿chroma＿sep ＿flag＝１の場合の構造と異なるため，本実施の形態に対応する符号化ビットの配置をluma＿chroma＿sep ＿flag＝２を用いて表すことにする。
【００７２】
輝度情報と色差情報の分割に際し，色差ＣＢＰとΔＱＰの符号化方法に関しては，前述した「第１の実施の形態」の方法を用いる。
【００７３】
〔復号処理〕
この符号化器が出力した符号化ストリームを復号する復号器では，以下の復号処理を行う。
【００７４】
シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報から，輝度色差分離フラグluma＿chroma＿sep ＿flagの符号化ビットを復号し，同フラグluma＿chroma＿sep ＿flagの値を得る。同フラグが“０”の場合，ＪＳＶＣに規定された復号処理を行う。同フラグが“１”の場合，前述した「第１の実施の形態」と同様の復号処理を行う。同フラグが“２”の場合，以下の復号処理を行う。なお，この場合，符号化ストリームには，前半が全ＰＲ階層の輝度に関する符号化ストリーム，後半が全ＰＲ階層の色差に関する符号化ストリームが格納されている。
【００７５】
まず，当該マクロブロックの輝度のヘッダ情報を復号し，luma＿chroma＿sep ＿flag＝０の場合と同じ輝度信号に関するヘッダ情報を得る。次に，以下の条件を判定する。当該マクロブロックの輝度ＣＢＰの復号値が零値であるか否かの判定を行い，零値でない場合，当該マクロブロックの輝度のヘッダ内に色差ＣＢＰの符号化ビットおよびΔＱＰの符号化ビットが含まれているため，これらの符号化ビット復号し，色差ＣＢＰの復号値およびΔＱＰの復号値を得る。続いて，輝度のマクロブロックヘッダ以外の符号化ビットは，ＪＳＶＣに規定された復号処理を行う。これを全てのマクロブロックの輝度符号化ビットに関して行う。
【００７６】
続いて，色差の復号処理に移る。まず，色差のヘッダ情報を復号する。なお，当該マクロブロックの色差ＣＢＰ，ΔＱＰが既に当該マクロブロックの輝度のヘッダとして復号されている場合には，これらの符号化ビットは，色差のヘッダには含まれないため，同符号化ビットに対する復号処理は不要である。次に，色差のマクロブロックヘッダ以外の符号化ビットは，ＪＳＶＣに規定された復号処理を行う。これを全てのマクロブロックの輝度符号化ビットに関して行う。
【００７７】
なお，ＪＳＶＣでは，符号化ストリームの一部を切り捨て，残った部分的な符号化ストリームからの復号をサポートしている。luma＿chroma＿sep ＿flag  ＝２にした場合，符号化ストリームの切り取り順序は，図２に示すようになる。ここで，丸で囲まれた数字が切り取り順序を表す。例えば，最上位の拡張階層の色差成分およびその直下の拡張階層の色差成分を切り捨てる場合，復号対象となるのは，基本階層，および６から３までの丸付き数字が付された拡張階層である。このように，符号化ストリームが切り捨てられた場合には，適宜，残った符号化ストリームに対する復号処理を行う。
【００７８】
４．第４の実施の形態
〔符号化処理〕
本実施の形態が対象とするのは，ＪＳＶＣにおいて，エントロピ符号化までの処理が終了し，各符号化情報がバイナリのビット列（符号化ビット）に変換された後の処理になる。つまり，符号化ビットの配置方法が従来技術と異なる。
【００７９】
本実施の形態が目標とするのは，図２に示すように，拡張階層の全ての輝度信号と全ての色差信号とが分離可能となる符号化ストリームの構造の実現である。これは，以下の条件を満たす符号化ストリームである。
【００８０】
・拡張階層において，輝度と色差を分離
・基本階層に近い拡張階層から順に輝度信号の符号化ビットを配置
・基本階層に近い拡張階層から順に色差信号の符号化ビットを配置
こうした符号化ストリームの構造は，luma＿chroma＿sep ＿flag＝０およびluma＿chroma＿sep ＿flag＝１の場合のそれと異なるため，本実施の形態に対応する符号化ビットの配置をluma＿chroma＿sep ＿flag＝２を用いて表すことにする。ただし，輝度情報と色差情報の分割に際し，色差ＣＢＰとΔＱＰの符号化方法に関しては，前述した「第２の実施の形態」の方法を用いる。
【００８１】
〔復号処理〕
この符号化器が出力した符号化ストリームを復号する復号器では，以下の復号処理を行う。
【００８２】
シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報から，輝度色差分離フラグluma＿chroma＿sep ＿flagの符号化ビットを復号し，同フラグluma＿chroma＿sep ＿flagの値を得る。同フラグが“０”の場合，ＪＳＶＣに規定された復号処理を行う。同フラグが“１”の場合，前述した「第２の実施の形態」と同様の復号処理を行う。同フラグが“２”の場合，以下の復号処理を行う。なお，この場合，符号化ストリームには，前半が全ＰＲ階層の輝度に関する符号化ストリーム，後半が全ＰＲ階層の色差に関する符号化ストリームが格納されている。
【００８３】
まず，当該マクロブロックの輝度のヘッダ情報を復号し，luma＿chroma＿sep ＿flag＝０の場合と同じ輝度信号に関するヘッダ情報を得る。次に，以下の２条件を順に判定する。当該マクロブロックの輝度ＣＢＰの復号値が零値であるか否かの判定を行い，零値でない場合，当該マクロブロックの輝度のヘッダ内に色差ＣＢＰの符号化ビットが含まれているため，同符号化ビットを復号し，色差ＣＢＰの復号値を得る。続いて，色差ＣＢＰの復号値が得られた場合には，色差ＣＢＰの復号値が零値であるか否かの判定を行い，零値でない場合，輝度のヘッダ内にΔＱＰの符号化ビットが含まれているため，同符号化ビットを復号し，ΔＱＰの復号値を得る。続いて，輝度のマクロブロックヘッダ以外の符号化ビットは，ＪＳＶＣに規定された復号処理を行う。これを全てのマクロブロックの輝度符号化ビットに関して行う。
【００８４】
続いて，色差の復号処理に移る。まず，色差のヘッダ情報を復号する。なお，当該マクロブロックの色差ＣＢＰ，ΔＱＰが既に輝度のヘッダとして復号されている場合には，これらの符号化ビットは，当該マクロブロックの色差のヘッダには含まれないため，同符号化ビットに対する復号処理は不要である。次に，色差のマクロブロックヘッダ以外の符号化ビットは，ＪＳＶＣに規定された復号処理を行う。以上の処理を各ＰＲ階層毎に実施する。
【００８５】
なお，ＪＳＶＣでは，符号化ストリームの一部を切り捨て，残った部分的な符号化ストリームからの復号をサポートしている。luma＿chroma＿sep ＿flag＝２にした場合，符号化ストリームの切り取り順序は，図２に示すようになる。ここで，丸で囲まれた数字が切り取り順序を表す。例えば，最上位の拡張階層の色差成分およびその直下の拡張階層の色差成分を切り捨てる場合，復号対象となるのは，基本階層，および６から３までの丸付き数字が付された拡張階層である。このように，符号化ストリームが切り捨てられた場合には，適宜，残った符号化ストリームに対する復号処理を行う。
【実施例１】
【００８６】
図４は実施例１の符号化処理のフローチャート，図５は実施例１の符号化装置の構成例，図６は実施例１の復号処理のフローチャート，図７は実施例１の復号装置の構成例を示す図である。
【００８７】
［符号化処理の流れ（実施例１）］
実施例１の符号化処理の流れについて，図４に示すフローチャートに従って説明する。
・ステップＳ１０１：ＪＳＶＣの参照ソフトウェアであるＪＳＶＭが出力するエントロピ符号化の符号化結果を入力として読み込み，レジスタに出力する。
・ステップＳ１０２：輝度色差分離フラグluma＿chroma＿sep ＿flagを入力として読み込み，同フラグが“１”か否かの判定を行い，判定結果が真値の場合，ステップＳ１０３に進む。そうでなければ，ステップＳ１１４に進む。
・ステップＳ１０３：ＪＳＶＣの参照ソフトウェアであるＪＳＶＭが出力するエントロピ符号化の符号化結果から輝度ＣＢＰ，色差ＣＢＰを入力として読み込む。
・ステップＳ１０４：ステップＳ１０３で入力した輝度ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ１０５に進む。そうでなければ，ステップＳ１０７に進む。
・ステップＳ１０５：ＪＳＶＭで規定された輝度信号のヘッダの符号化ビットを符号化ストリームに書き出す。
・ステップＳ１０６：また，量子化パラメータの差分値ΔＱＰと色差ＣＢＰを，輝度信号のヘッダの符号化ビットの一部として符号化ストリームに書き出す。
・ステップＳ１０７：輝度ＣＢＰが“０”でない場合，輝度信号の符号化ビットをＪＳＶＭの規定に従い，符号化ストリームに書き出す。
・ステップＳ１０８：ステップＳ１０３〜Ｓ１０７の処理を当該拡張階層における輝度信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，ステップＳ１０９に進む。
・ステップＳ１０９：次に，ＪＳＶＭで規定された色差信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を符号化ストリームに書き出す。
・ステップＳ１１０：色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ１１２に進む。そうでなければ，ステップＳ１１１に進む。
・ステップＳ１１１：ＪＳＶＭで規定された色差信号のヘッダ以外の符号化ビットを符号化ストリームに書き出す。
・ステップＳ１１２：ステップＳ１０９〜Ｓ１１１の処理を当該拡張階層における色差信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，ステップＳ１１３に進む。
・ステップＳ１１３：全拡張階層（ＦＧＳ階層）について符号化ストリームを書き出したならば，処理を終了する。そうでなければ，次の拡張階層について，ステップＳ１０３〜Ｓ１１２の処理を同様に繰り返す。
・ステップＳ１１４：輝度色差分離フラグluma＿chroma＿sep ＿flagが“０”の場合，輝度信号，色差信号の符号化ビットを，ＪＳＶＭの規定に従い，符号化ストリームに書き出す。
【００８８】
［符号化装置（実施例１）］
実施例１の符号化装置について，図５に示すブロック図に従って説明する。
・エントロピ符号化ビット記憶部１０１：ＪＳＶＣの参照ソフトウェアであるＪＳＶＭが出力するエントロピ符号化の符号化結果を格納する。
・輝度色差分離フラグ記憶部１０２：輝度色差分離フラグluma＿chroma＿sep ＿flagを格納する。
・輝度色差分離判定部１０３：輝度色差分離フラグ記憶部１０２から輝度色差分離フラグluma＿chroma＿sep ＿flagを入力として読み込み，同フラグが“０”か“１”かの判定を行い，同フラグが“０”の場合，ＪＳＶＣ符号化ストリーム書き出し部１０４の処理に進む。同フラグが“１”の場合，輝度ＣＢＰ判定部１０７の処理に進む。
・ＪＳＶＣ符号化ストリーム書き出し部１０４：エントロピ符号化ビット記憶部１０１からエントロピ符号化の符号化結果を入力として読み込み，ＪＳＶＭの規定に従い，符号化ストリームとして符号化ストリーム記憶部１０５に書き出す。
・輝度ＣＢＰ判定部１０７：輝度ＣＢＰ記憶部１０６が記憶する輝度ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，輝度信号ヘッダ符号化ビット書き出し部１１０の処理に進む。そうでなければ，輝度信号符号化ストリーム書き出し部１０８の処理に進む。
・輝度信号符号化ストリーム書き出し部１０８：輝度信号の符号化ビットをＪＳＶＭの規定に従い，符号化ストリーム記憶部１０９に書き出す。
・輝度信号ヘッダ符号化ビット書き出し部１１０：ＪＳＶＭで規定された輝度信号のヘッダの符号化ビットを符号化ストリーム記憶部１１１に書き出す。
・色差ＣＢＰ符号化部１１３：色差ＣＢＰ記憶部１１２が記憶する色差ＣＢＰを読み込み，符号化処理を行い，符号化ストリーム記憶部１１４に輝度信号のヘッダの符号化ビットの一部として書き出す。
・ΔＱＰ符号化部１１６：ΔＱＰ記憶部１１５が記憶するΔＱＰを読み込み，符号化処理を行い，符号化ストリーム記憶部１１７に輝度信号のヘッダの符号化ビットの一部として書き出す。
・最終マクロブロック判定部１２０：輝度ＣＢＰ判定部１０７からΔＱＰ符号化部１１６によりΔＱＰを符号化ストリーム記憶部１１７に書き出すまでの処理を，当該拡張階層における輝度信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，色差信号ヘッダ符号化ビット書き出し部１２１の処理に進む。
・色差信号ヘッダ符号化ビット書き出し部１２１：ＪＳＶＭで規定された色差信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を符号化ストリーム記憶部１２２に書き出す。
・色差ＣＢＰ判定部１２３：色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，色差信号非ヘッダ符号化ビット書き出し部１２４の処理に進む。そうでない場合，最終マクロブロック判定部１２６の処理に進む。
・色差信号非ヘッダ符号化ビット書き出し部１２４：ＪＳＶＭで規定された色差信号のヘッダ以外の符号化ビットを符号化ストリーム記憶部１２５に書き出す。
・最終マクロブロック判定部１２６：色差信号ヘッダ符号化ビット書き出し部１２１から色差信号非ヘッダ符号化ビット書き出し部１２４が色差信号のヘッダ以外の符号化ビットを符号化ストリーム記憶部１２５に書き出すまでの処理を，当該拡張階層における色差信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，最終拡張階層判定部１２７の処理に進む。
・最終拡張階層判定部１２７：最終拡張階層まで処理したかどうかを判定し，最終拡張階層まで処理したならば処理を終了する。そうでなければ，輝度ＣＢＰ判定部１０７から最終マクロブロック判定部１２６までの処理を，次の拡張階層について繰り返す。
【００８９】
［復号処理の流れ（実施例１）］
実施例１の復号処理の流れについて，図６に示すフローチャートに従って説明する。
・ステップＳ１５１：符号化ストリーム中の輝度色差分離フラグluma＿chroma＿sep ＿flagに対する符号化ビットを入力として読み込み，復号処理を行い，復号値をレジスタに書き出す。
・ステップＳ１５２：輝度色差分離フラグluma＿chroma＿sep ＿flagが“１”か否かの判定を行い，判定結果が真値の場合，ステップＳ１５３に進む。そうでなければ，ステップＳ１６４に進む。
・ステップＳ１５３：符号化ストリーム中の輝度ＣＢＰの符号化ビットを入力として読み込み，復号処理を行い，レジスタに書き出す。
・ステップＳ１５４：ステップＳ１５３で復号した輝度ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ１５５に進む。そうでなければ，ステップＳ１５７に進む。
・ステップＳ１５５：ＪＳＶＣで規定された輝度信号のヘッダの符号化ビットを復号する。
・ステップＳ１５６：また，輝度信号のヘッダ内の量子化パラメータの差分値ΔＱＰと色差ＣＢＰの符号化ビットを復号する。
・ステップＳ１５７：輝度ＣＢＰが“０”でない場合，符号化ストリーム中の当該マクロブロックの輝度信号の符号化ビットを入力として読み込み，ＪＳＶＣの規定に従い，復号する。
・ステップＳ１５８：ステップＳ１５３〜Ｓ１５７の処理を当該拡張階層における輝度信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，ステップＳ１５９に進む。
・ステップＳ１５９：次に，ＪＳＶＣで規定された色差信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を復号する。
・ステップＳ１６０：色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ１６２に進む。そうでなければ，ステップＳ１６１に進む。
・ステップＳ１６１：ＪＳＶＣで規定された色差信号のヘッダ以外の符号化ビットを復号する。
・ステップＳ１６２：ステップＳ１５９〜Ｓ１６１の処理を当該拡張階層における色差信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，ステップＳ１６３に進む。
・ステップＳ１６３：全拡張階層（ＦＧＳ階層）について復号処理を終了したならば，処理を終了する。そうでなければ，次の拡張階層について，ステップＳ１５３〜Ｓ１６２の処理を同様に繰り返す。
・ステップＳ１６４：輝度色差分離フラグluma＿chroma＿sep ＿flagが“０”の場合，輝度信号，色差信号の符号化ビットを，ＪＳＶＣの規定に従い，復号する。
【００９０】
［復号装置（実施例１）］
実施例１の復号装置について，図７に示すブロック図に従って説明する。
・符号化ストリーム記憶部１５１：ＪＳＶＣの参照ソフトウェアであるＪＳＶＭが出力した符号化ストリームを格納する。
・輝度色差分離フラグ復号処理部１５２：符号化ストリーム記憶部１５１から読み出した符号化ストリームを入力とし，輝度色差分離フラグluma＿chroma＿sep ＿flagの符号化ビットに対する復号処理を行い，その復号結果を輝度色差分離フラグ記憶部１５３に格納する。
【００９１】
輝度色差分離判定部１５４：輝度色差分離フラグ記憶部１５３から輝度色差分離フラグluma＿chroma＿sep ＿flagを入力として読み込み，同フラグが“１”か否かの判定を行い，判定結果が真値の場合，輝度ＣＢＰ復号処理部１５７の処理に進む。そうでなけれぱ，ＪＳＶＣ符号化ストリーム復号処理部１５５の処理に進む。
【００９２】
ＪＳＶＣ符号化ストリーム復号処理部１５５：符号化ストリーム記憶部１５１から符号化ストリームを入力として読み込み，ＪＳＶＣの規定に従い，復号処理を行い，復号結果を復号信号記憶部１５６に書き出す。
・輝度ＣＢＰ復号処理部１５７：符号化ストリーム中の輝度ＣＢＰの符号化ビットを入力として読み込み，復号処理を行い，復号結果を輝度ＣＢＰ記憶部１５８に書き出す。
・輝度ＣＢＰ判定部１５９：輝度ＣＢＰ記憶部１５８に書き出した輝度ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，輝度信号符号化ストリーム復号処理部１６０の処理に進む。そうでなければ，輝度信号ヘッダ符号化ビット復号処理部１６２の処理に進む。
・輝度信号符号化ストリーム復号処理部１６０：符号化ストリーム中の当該マクロブロックの輝度信号の符号化ビットを入力として読み込み，ＪＳＶＣの規定に従い復号し，復号結果を復号信号記憶部１６１に書き出す。
・輝度信号ヘッダ符号化ビット復号処理部１６２：ＪＳＶＣで規定された輝度信号のヘッダの符号化ビットを復号し，復号信号記憶部１６３に書き出す。
・色差ＣＢＰ復号処理部１６４：また，輝度信号のヘッダ内の色差ＣＢＰの符号化ビットを復号し，色差ＣＢＰ記憶部１６５に書き出す。
・ΔＱＰ復号処理部１６７：また，輝度信号のヘッダ内の量子化パラメータの差分値ΔＱＰを復号し，ΔＱＰ記憶部１６８に書き出す。
・最終マクロブロック判定部１７２：輝度ＣＢＰ判定部１５９からΔＱＰ復号処理部１６７までの処理を，当該拡張階層における輝度信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，色差信号ヘッダ符号化ビット復号処理部１７３の処理に進む。
・色差信号ヘッダ符号化ビット復号処理部１７３：ＪＳＶＣで規定された色差信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を復号し，復号信号記憶部１７４に書き出す。
・色差ＣＢＰ判定部１７５：色差ＣＢＰ記憶部１６５が記憶する色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，最終マクロブロック判定部１７８の処理に進む。そうでなければ，色差信号非ヘッダ符号化ビット復号処理部１７６の処理に進む。
・色差信号非ヘッダ符号化ビット復号処理部１７６：ＪＳＶＣで規定された色差信号のヘッダ以外の符号化ビットを復号し，復号信号記憶部１７７に書き出す。
・最終マクロブロック判定部１７８：色差信号ヘッダ符号化ビット復号処理部１７３から色差信号非ヘッダ符号化ビット復号処理部１７６までの処理を，当該拡張階層における色差信号の全マクロブロックについて行ったかどうかを判定し，全マクロブロックについて処理が終了したならば，最終拡張階層判定部１７９の処理に進む。そうでなけれは，次の拡張階層について同様に色差信号の復号処理を繰り返す。
・最終拡張階層判定部１７９：最終拡張階層まで処理したかどうかを判定し，最終拡張階層まで処理したならば処理を終了する。そうでなければ，輝度ＣＢＰ判定部１５９から最終マクロブロック判定部１７８までの処理を，次の拡張階層について繰り返す。
【実施例２】
【００９３】
図８は実施例２の符号化処理のフローチャート，図９は実施例２の符号化装置の構成例，図１０は実施例２の復号処理のフローチャート，図１１は実施例２の復号装置の構成例を示す図である。
【００９４】
［符号化処理の流れ（実施例２）］
実施例２の符号化処理の流れについて，図８に示すフローチャートに従って説明する。
・ステップＳ２０１：ＪＳＶＣの参照ソフトウェアであるＪＳＶＭが出力するエントロピ符号化の符号化結果を入力として読み込み，レジスタに出力する。
・ステップＳ２０２：輝度色差分離フラグluma＿chroma＿sep ＿flagを入力として読み込み，同フラグが“１”か否かの判定を行い，判定結果が真値の場合，ステップＳ２０３に進む。そうでなければ，ステップＳ２１７に進む。
・ステップＳ２０３：ＪＳＶＣの参照ソフトウェアであるＪＳＶＭが出力するエントロピ符号化の符号化結果から輝度ＣＢＰ，色差ＣＢＰを入力として読み込む。
・ステップＳ２０４：ステップＳ２０３で入力した輝度ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ２０５に進む。そうでなければ，ステップＳ２０９に進む。
・ステップＳ２０５：ＪＳＶＭで規定された輝度信号のヘッダの符号化ビットを符号化ストリームに書き出す。
・ステップＳ２０６：色差ＣＢＰを輝度信号のヘッダの符号化ビットの一部として，符号化ストリームに書き出す。
・ステップＳ２０７：色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ２１０に進む。そうでなければ，ステップＳ２０８に進む。
・ステップＳ２０８：量子化パラメータの差分値ΔＱＰを輝度信号のヘッダの符号化ビットの一部として，符号化ストリームに書き出す。
・ステップＳ２０９：輝度ＣＢＰが“０”でない場合，輝度信号の符号化ビットをＪＳＶＭの規定に従い，符号化ストリームに書き出す。
・ステップＳ２１０：ステップＳ２０３〜Ｓ２０９の処理を当該拡張階層における輝度信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，ステップＳ２１１に進む。
・ステップＳ２１１：色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ２１２に進む。そうでなければ，ステップＳ２１３に進む。
・ステップＳ２１２：ＪＳＶＭで規定された色差信号のヘッダの符号化ビット（ただし，色差ＣＢＰを除く）を符号化ストリームに書き出す。
・ステップＳ２１３：ＪＳＶＭで規定された色差信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を符号化ストリームに書き出す。
・ステップＳ２１４：ＪＳＶＭで規定された色差信号のヘッダ以外の符号化ビットを符号化ストリームに書き出す。
・ステップＳ２１５：ステップＳ２１１〜Ｓ２１４の処理を当該拡張階層における色差信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，ステップＳ２１６に進む。
・ステップＳ２１６：全拡張階層（ＦＧＳ階層）について符号化ストリームを書き出したならば，処理を終了する。そうでなければ，次の拡張階層について，ステップＳ２０３〜Ｓ２１５の処理を同様に繰り返す。
・ステップＳ２１７：輝度色差分離フラグluma＿chroma＿sep ＿flagが“０”の場合，輝度信号，色差信号の符号化ビットを，ＪＳＶＭの規定に従い，符号化ストリームに書き出す。
【００９５】
［符号化装置（実施例２）］
実施例２の符号化装置について，図９に示すブロック図に従って説明する。
・エントロピ符号化ビット記憶部２０１：ＪＳＶＣの参照ソフトウェアであるＪＳＶＭが出力するエントロピ符号化の符号化結果を格納する。
・輝度色差分離フラグ記憶部２０２：輝度色差分離フラグluma＿chroma＿sep ＿flagを格納する。
・輝度色差分離判定部２０３：輝度色差分離フラグ記憶部２０２から輝度色差分離フラグluma＿chroma＿sep ＿flagを入力として読み込み，同フラグが“０”か“１”かの判定を行い，同フラグが“０”の場合，ＪＳＶＣ符号化ストリーム書き出し部２０４の処理に進む。同フラグが“１”の場合，輝度ＣＢＰ判定部２０７の処理に進む。
・ＪＳＶＣ符号化ストリーム書き出し部２０４：エントロピ符号化ビット記憶部２０１からエントロピ符号化の符号化結果を入力として読み込み，ＪＳＶＭの規定に従い，符号化ストリームとして符号化ストリーム記憶部２０５に書き出す。
・輝度ＣＢＰ判定部２０７：輝度ＣＢＰ記憶部２０６が記憶する輝度ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，輝度信号ヘッダ符号化ビット書き出し部２１０の処理に進む。そうでなければ，輝度信号符号化ストリーム書き出し部２０８の処理に進む。
・輝度信号符号化ストリーム書き出し部２０８：輝度信号の符号化ビットをＪＳＶＭの規定に従い，符号化ストリーム記憶部２０９に書き出す。
・輝度信号ヘッダ符号化ビット書き出し部２１０：ＪＳＶＭで規定された輝度信号のヘッダの符号化ビットを符号化ストリーム記憶部２１１に書き出す。
・色差ＣＢＰ符号化部２１３：色差ＣＢＰ記憶部２１２が記憶する色差ＣＢＰを読み込み，符号化処理を行い，符号化ストリーム記憶部２１４に輝度信号のヘッダの符号化ビットの一部として書き出す。
・色差ＣＢＰ判定部２１５：色差ＣＢＰ記憶部２１２が記憶する色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，最終マクロブロック判定部２２１の処理に進む。そうでなければ，ΔＱＰ符号化部２１７の処理に進む。
・ΔＱＰ符号化部２１７：ΔＱＰ記憶部２１６が記憶するΔＱＰを読み込み，符号化処理を行い，符号化ストリーム記憶部２１８に輝度信号のヘッダの符号化ビットの一部として書き出す。
・最終マクロブロック判定部２２１：輝度ＣＢＰ判定部２０７からΔＱＰ符号化部２１７によりΔＱＰを符号化ストリーム記憶部２１８に書き出すまでの処理を，当該拡張階層における輝度信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，色差ＣＢＰ判定部２２２の処理に進む。
・色差ＣＢＰ判定部２２２：色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，色差信号ヘッダ符号化ビット書き出し部２２７の処理に進む。そうでなければ，色差信号ヘッダ符号化ビット書き出し部２２３の処理に進む。
・色差信号ヘッダ符号化ビット書き出し部２２３：ＪＳＶＭで規定された色差信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を符号化ストリーム記憶部２２４に書き出す。
・色差信号非ヘッダ符号化ビット書き出し部２２５：ＪＳＶＭで規定された色差信号のヘッダ以外の符号化ビットを符号化ストリーム記憶部２２６に書き出す。
・色差信号ヘッダ符号化ビット書き出し部２２７：ＪＳＶＭで規定された色差信号のヘッダの符号化ビット（ただし，色差ＣＢＰを除く）を符号化ストリーム記憶部２２４に書き出す。
・ΔＱＰ符号化部２２９：ΔＱＰ記憶部２１６が記憶するΔＱＰを読み込み，符号化処理を行い，符号化ストリーム記憶部２３０に輝度信号のヘッダの符号化ビットの一部として書き出す。
・最終マクロブロック判定部２３１：色差ＣＢＰ判定部２２２からΔＱＰ符号化部２２９までの処理を，当該拡張階層における色差信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，最終拡張階層判定部２３２の処理に進む。
・最終拡張階層判定部２３２：最終拡張階層まで処理したかどうかを判定し，最終拡張階層まで処理したならば処理を終了する。そうでなければ，輝度ＣＢＰ判定部２０７から最終マクロブロック判定部２３１までの処理を，次の拡張階層について繰り返す。
【００９６】
［復号処理の流れ（実施例２）］
実施例２の復号処理の流れについて，図１０に示すフローチャートに従って説明する。
・ステップＳ２５１：符号化ストリーム中の輝度色差分離フラグluma＿chroma＿sep ＿flagに対する符号化ビットを入力として読み込み，復号処理を行い，復号値をレジスタに書き出す。
・ステップＳ２５２：輝度色差分離フラグluma＿chroma＿sep ＿flagが“１”か否かの判定を行い，判定結果が真値の場合，ステップＳ２５３に進む。そうでなければ，ステップＳ２６７に進む。
・ステップＳ２５３：符号化ストリーム中の輝度ＣＢＰの符号化ビットを入力として読み込み，復号処理を行い，レジスタに書き出す。
・ステップＳ２５４：ステップＳ２５３で復号した輝度ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ２５５に進む。そうでなければ，ステップＳ２５９に進む。
・ステップＳ２５５：ＪＳＶＣで規定された輝度信号のヘッダの符号化ビットを復号する。
・ステップＳ２５６：輝度信号のヘッダ内の色差ＣＢＰの符号化ビットを復号する。
・ステップＳ２５７：ステップＳ２５６で復号した色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ２６０に進む。そうでなければ，ステップＳ２５８に進む。
・ステップＳ２５８：輝度信号のヘッダ内の量子化パラメータの差分値ΔＱＰの符号化ビットを復号する。
・ステップＳ２５９：輝度ＣＢＰが“０”でない場合，符号化ストリーム中の当該マクロブロックの輝度信号の符号化ビットを入力として読み込み，ＪＳＶＣの規定に従い，復号する。
・ステップＳ２６０：ステップＳ２５３〜Ｓ２５９の処理を当該拡張階層における輝度信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，ステップＳ２６１に進む。
・ステップＳ２６１：色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，ステップＳ２６４に進む。そうでなければ，ステップＳ２６２に進む。
・ステップＳ２６２：ＪＳＶＣで規定された色差信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を復号する。
・ステップＳ２６３：ＪＳＶＣで規定された色差信号のヘッダ以外の符号化ビットを復号する。
・ステップＳ２６４：ＪＳＶＣで規定された色差信号のヘッダの符号化ビット（ただし，色差ＣＢＰを除く）を復号する。
・ステップＳ２６５：ステップＳ２６１〜Ｓ２６４の処理を当該拡張階層における色差信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，ステップＳ２６６に進む。
・ステップＳ２６６：全拡張階層（ＦＧＳ階層）について復号処理を終了したならば，処理を終了する。そうでなければ，次の拡張階層について，ステップＳ２５３〜Ｓ２６５の処理を同様に繰り返す。
・ステップＳ２６７：輝度色差分離フラグluma＿chroma＿sep ＿flagが“０”の場合，輝度信号，色差信号の符号化ビットを，ＪＳＶＣの規定に従い，復号する。
【００９７】
［復号装置（実施例２）］
実施例２の復号装置について，図１１に示すブロック図に従って説明する。
・符号化ストリーム記憶部２５１：ＪＳＶＣの参照ソフトウェアであるＪＳＶＭが出力した符号化ストリームを格納する。
・輝度色差分離フラグ復号処理部２５２：符号化ストリーム記憶部２５１から読み出した符号化ストリームを入力とし，輝度色差分離フラグluma＿chroma＿sep ＿flagの符号化ビットに対する復号処理を行い，その復号結果を輝度色差分離フラグ記憶部２５３に格納する。
【００９８】
輝度色差分離判定部２５４：輝度色差分離フラグ記憶部２５３から輝度色差分離フラグluma＿chroma＿sep ＿flagを入力として読み込み，同フラグが“１”か否かの判定を行い，判定結果が真値の場合，輝度ＣＢＰ復号処理部２５７の処理に進む。そうでなけれぱ，ＪＳＶＣ符号化ストリーム復号処理部２５５の処理に進む。
【００９９】
ＪＳＶＣ符号化ストリーム復号処理部２５５：符号化ストリーム記憶部２５１から符号化ストリームを入力として読み込み，ＪＳＶＣの規定に従い，復号処理を行い，復号結果を復号信号記憶部２５６に書き出す。
・輝度ＣＢＰ復号処理部２５７：符号化ストリーム中の輝度ＣＢＰの符号化ビットを入力として読み込み，復号処理を行い，復号結果を輝度ＣＢＰ記憶部２５８に書き出す。
・輝度ＣＢＰ判定部２５９：輝度ＣＢＰ記憶部２５８に書き出した輝度ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，輝度信号符号化ストリーム復号処理部２６０の処理に進む。そうでなければ，輝度信号ヘッダ符号化ビット復号処理部２６２の処理に進む。
・輝度信号符号化ストリーム復号処理部２６０：符号化ストリーム中の当該マクロブロックの輝度信号の符号化ビットを入力として読み込み，ＪＳＶＣの規定に従い復号し，復号結果を復号信号記憶部２６１に書き出す。
・輝度信号ヘッダ符号化ビット復号処理部２６２：ＪＳＶＣで規定された輝度信号のヘッダの符号化ビットを復号し，復号信号記憶部２６３に書き出す。
・色差ＣＢＰ復号処理部２６４：また，輝度信号のヘッダ内の色差ＣＢＰの符号化ビットを復号し，色差ＣＢＰ記憶部２６５に書き出す。
・色差ＣＢＰ判定部２６７：色差ＣＢＰ記憶部２６５が記憶する色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，最終マクロブロック判定部２７３の処理に進む。そうでなければ，ΔＱＰ復号処理部２６８の処理に進む。
・ΔＱＰ復号処理部２６８：輝度信号のヘッダ内の量子化パラメータの差分値ΔＱＰを復号し，ΔＱＰ記憶部２６９に書き出す。
・最終マクロブロック判定部２７３：輝度ＣＢＰ判定部２５９からΔＱＰ復号処理部２６８までの処理を，当該拡張階層における輝度信号の全マクロブロックについて行い，全マクロブロックについて処理が終了したならば，色差ＣＢＰ判定部２７４の処理に進む。
・色差ＣＢＰ判定部２７４：色差ＣＢＰ記憶部２６５が記憶する色差ＣＢＰが“０”か否かの判定を行い，判定結果が真値の場合，色差信号ヘッダ符号化ビット復号処理部２７９の処理に進む。そうでなければ，色差信号ヘッダ符号化ビット復号処理部２７５の処理に進む。
・色差信号ヘッダ符号化ビット復号処理部２７５：ＪＳＶＣで規定された色差信号のヘッダの符号化ビット（ただし，ΔＱＰ，色差ＣＢＰを除く）を復号し，復号信号記憶部２７６に書き出す。
・色差信号非ヘッダ符号化ビット復号処理部２７７：ＪＳＶＣで規定された色差信号のヘッダ以外の符号化ビットを復号し，復号信号記憶部２７８に書き出す。
・色差信号ヘッダ符号化ビット復号処理部２７９：ＪＳＶＣで規定された色差信号のヘッダの符号化ビット（ただし，色差ＣＢＰを除く）を復号し，復号信号記憶部２８０に書き出す。
・ΔＱＰ復号処理部２８１：色差信号のヘッダの符号化ビットに含まれるΔＱＰを復号し，復号信号記憶部２８２に書き出す。
・最終マクロブロック判定部２８３：色差ＣＢＰ判定部２７４からΔＱＰ復号処理部２８１までの処理を，当該拡張階層における色差信号の全マクロブロックについて行ったかどうかを判定し，全マクロブロックについて処理が終了したならば，最終拡張階層判定部２８４の処理に進む。そうでなけれは，次の拡張階層について同様に色差信号の復号処理を繰り返す。
・最終拡張階層判定部２８４：最終拡張階層まで処理したかどうかを判定し，最終拡張階層まで処理したならば処理を終了する。そうでなければ，輝度ＣＢＰ判定部２５９から最終マクロブロック判定部２８３までの処理を，次の拡張階層について繰り返す。
【実施例３】
【０１００】
［符号化処理の流れ（実施例３）］
実施例３の符号化処理の流れを，図１２に示す。
【０１０１】
図４で説明した実施例１の符号化処理では，基本階層に続く拡張階層について，各拡張階層毎に輝度信号と色差信号とを分離し，輝度信号の符号化ビットを符号化ストリームに書き出してから，色差信号の符号化ビットを符号化ストリームに書き出していた。
【０１０２】
これに対し，実施例３の符号化処理では，図２に示すように，複数の拡張階層に対して横断的に色差情報の切り取り可能な符号化ストリームを生成する。すなわち，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納する。
【０１０３】
このため，実施例３では，ステップＳ３０２において，輝度色差分離フラグluma＿chroma＿sep ＿flagを入力として読み込み，同フラグが“２”か否かの判定を行い，判定結果が真値の場合，ステップＳ３０３〜Ｓ３１４の処理を実行する。そうでなければ，ステップＳ３１５の処理を行う。
【０１０４】
また，全拡張階層の輝度信号の符号化データの出力が終えてから，全拡張階層の色差信号の符号化データの出力処理に移るので，「全拡張階層（全ＦＧＳ階層）についての処理が終了した」かどうかの判定を，輝度信号の符号化データの出力が終了した時点（ステップＳ３０９）と，色差信号の符号化データの出力が終了した時点（ステップＳ３１４）とで行う。他の処理については，図４に示した実施例１の符号化処理と同様である。
【０１０５】
［符号化装置（実施例３）］
実施例３の符号化装置の構成例を，図１３に示す。
【０１０６】
図５に示した実施例１の符号化装置と，実施例３の符号化装置との違いは，実施例１では，各拡張階層毎に輝度信号の符号化データの出力と，色差信号の符号化データの出力とを行っていたのに対し，実施例３では，輝度信号の符号化データを，最も基本階層に近い拡張階層から最終拡張階層まで出力してから，色差信号の符号化データを最も基本階層に近い拡張階層から最終拡張階層まで出力する点である。
【０１０７】
したがって，輝度色差分離判定部３０３において，輝度色差分離フラグluma＿chroma＿sep ＿flagが“２”かどうかを判定する点と，輝度信号の符号化ストリームの書き出しにおいて，一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部３２０の後に，最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部３２７が設けられ，また，色差信号の符号化ストリームの書き出しにおいて，一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部３２６の後に，最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部３２８が設けられている点が，実施例１の符号化装置と異なる。他の処理部については，図５に示した実施例１の符号化装置と同様である。
【０１０８】
［復号処理の流れ（実施例３）］
実施例３の復号処理の流れを，図１４に示す。
【０１０９】
図６で説明した実施例１の復号処理と，実施例３の復号処理との違いは，実施例３の場合，ステップＳ３５２において，輝度色差分離フラグluma＿chroma＿sep ＿flagフラグが“２”か否かの判定を行う点と，全拡張階層（全ＦＧＳ階層）について処理が終了したどうかの判定を，輝度信号の符号化データの復号処理と，色差信号の符号化データの復号処理とで分けて判定（ステップＳ３５９，Ｓ３６４）している点である。他の処理については，図６に示した実施例１の復号処理と同様である。
【０１１０】
［復号装置（実施例３）］
実施例３の復号装置の構成例を，図１５に示す。
【０１１１】
図７に示した実施例１の復号装置と，実施例３の復号装置との違いは，実施例３の場合，輝度色差分離判定部３５４において，輝度色差分離フラグluma＿chroma＿sep ＿flagが“２”かどうかを判定する点と，輝度信号の復号処理において，一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部３７２の後に，最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部３７９が設けられ，また，色差信号の復号処理において，一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部３７８の後に，最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部３８０が設けられている点である。他の処理部については，図７に示した実施例１の復号装置と同様である。
【実施例４】
【０１１２】
［符号化処理の流れ（実施例４）］
実施例４の符号化処理の流れを，図１６に示す。
【０１１３】
図８で説明した実施例２の符号化処理では，基本階層に続く拡張階層について，各拡張階層毎に輝度信号と色差信号とを分離し，輝度信号の符号化ビットを符号化ストリームに書き出してから，色差信号の符号化ビットを符号化ストリームに書き出していた。
【０１１４】
これに対し，実施例４の符号化処理では，図２に示すように，複数の拡張階層に対して横断的に色差情報の切り取り可能な符号化ストリームを生成する。すなわち，輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納する。
【０１１５】
このため，実施例４では，ステップＳ４０２において，輝度色差分離フラグluma＿chroma＿sep ＿flagを入力として読み込み，同フラグが“２”か否かの判定を行い，判定結果が真値の場合，ステップＳ４０３〜Ｓ４１７の処理を実行する。そうでなければ，ステップＳ４１８の処理を行う。
【０１１６】
また，全拡張階層の輝度信号の符号化データの出力が終えてから，全拡張階層の色差信号の符号化データの出力処理に移るので，「全拡張階層（全ＦＧＳ階層）についての処理が終了した」かどうかの判定を，輝度信号の符号化データの出力が終了した時点（ステップＳ４１１）と，色差信号の符号化データの出力が終了した時点（ステップＳ４１７）とで行う。他の処理については，図８に示した実施例２の符号化処理と同様である。
【０１１７】
［符号化装置（実施例４）］
実施例４の符号化装置の構成例を，図１７に示す。
【０１１８】
図９に示した実施例２の符号化装置と，実施例４の符号化装置との違いは，実施例２では，各拡張階層毎に輝度信号の符号化データの出力と，色差信号の符号化データの出力とを行っていたのに対し，実施例４では，輝度信号の符号化データを，最も基本階層に近い拡張階層から最終拡張階層まで出力してから，色差信号の符号化データを最も基本階層に近い拡張階層から最終拡張階層まで出力する点である。
【０１１９】
したがって，輝度色差分離判定部４０３において，輝度色差分離フラグluma＿chroma＿sep ＿flagが“２”かどうかを判定する点と，輝度信号の符号化ストリームの書き出しにおいて，一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部４２１の後に，最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部４３２が設けられ，また，色差信号の符号化ストリームの書き出しにおいて，一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部４３１の後に，最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部４３３が設けられている点が，実施例２の符号化装置と異なる。他の処理部については，図９に示した実施例２の符号化装置と同様である。
【０１２０】
［復号処理の流れ（実施例４）］
実施例４の復号処理の流れを，図１８に示す。
【０１２１】
図１０で説明した実施例２の復号処理と，実施例４の復号処理との違いは，実施例４の場合，ステップＳ４５２において，輝度色差分離フラグluma＿chroma＿sep ＿flagフラグが“２”か否かの判定を行う点と，全拡張階層（全ＦＧＳ階層）について処理が終了したどうかの判定を，輝度信号の符号化データの復号処理と，色差信号の符号化データの復号処理とで分けて判定（ステップＳ４６１，Ｓ４６７）している点である。他の処理については，図１０に示した実施例２の復号処理と同様である。
【０１２２】
［復号装置（実施例４）］
実施例４の復号装置の構成例を，図１９に示す。
【０１２３】
図１１に示した実施例２の復号装置と，実施例４の復号装置との違いは，実施例４の場合，輝度色差分離判定部４５４において，輝度色差分離フラグluma＿chroma＿sep ＿flagが“２”かどうかを判定する点と，輝度信号の復号処理において，一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部４７３の後に，最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部４８４が設けられ，また，色差信号の復号処理において，一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部４８３の後に，最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部４８５が設けられている点である。他の処理部については，図１１に示した実施例２の復号装置と同様である。
【０１２４】
以上のように符号化装置および復号装置を構成することによって，同じ拡張階層のマクロブロックデータ，すなわちマクロブロック毎の輝度情報および色差情報を入力として，複数のマクロブロックの輝度情報を集めたブロックと，色差情報を集めたブロックを生成した符号化ストリームを生成することができるようになり，また，色差情報だけを切り取った符号化ストリームを復号しても，量子化パラメータの不一致によるドリフト誤差が発生を防止することができる。
【０１２５】
以上の符号化および復号の処理は，ハードウェアまたはファームウェアによって実現することができるとともに，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【図面の簡単な説明】
【０１２６】
【図１】本発明の概要を説明するためのスケーラブル符号化装置のブロック図である。
【図２】複数のＰＲスライスに対して横断的に色差情報の切り取り可能な符号化ストリームの例を示す図である。
【図３】本発明による符号化ストリームの構造の例を示す図である。
【図４】実施例１の符号化処理のフローチャートである。
【図５】実施例１の符号化装置の構成例を示す図である。
【図６】実施例１の復号処理のフローチャートである。
【図７】実施例１の復号装置の構成例を示す図である。
【図８】実施例２の符号化処理のフローチャートである。
【図９】実施例２の符号化装置の構成例を示す図である。
【図１０】実施例２の復号処理のフローチャートである。
【図１１】実施例２の復号装置の構成例を示す図である。
【図１２】実施例３の符号化処理のフローチャートである。
【図１３】実施例３の符号化装置の構成例を示す図である。
【図１４】実施例３の復号処理のフローチャートである。
【図１５】実施例３の復号装置の構成例を示す図である。
【図１６】実施例４の符号化処理のフローチャートである。
【図１７】実施例４の符号化装置の構成例を示す図である。
【図１８】実施例４の復号処理のフローチャートである。
【図１９】実施例４の復号装置の構成例を示す図である。
【図２０】輝度色差分離フラグを“１”にした場合の符号化ストリームの切り取り順序を示す図である。
【図２１】Ｈ．２６４におけるマクロブロックの輝度成分と色差成分の例を示す図である。
【図２２】ＪＳＶＣにおける符号化ストリームの構造の例を示す図である。
【符号の説明】
【０１２７】
１    スケーラブル符号化装置
１０  階層符号化部
１１  輝度色差分離フラグ判定部
１２  出力切り替え部
１３  輝度信号・色差信号符号化データ出力部
２０，３０  輝度信号有意係数有無判定部
２１，３１  輝度信号符号化データ出力部
２２，３２  輝度信号ヘッダ部出力部
２３，３３  色差信号ヘッダ部出力部
２４，３４  色差信号符号化データ出力部
２５  拡張階層別出力制御部
３５  拡張階層別輝度信号出力制御部
３６  拡張階層別色差信号出力制御部
【図１】
2008099045.tif 000003
【図２】
2008099045.tif 000004
【図３】
2008099045.tif 000005
【図４】
2008099045.tif 000006
【図５】
2008099045.tif 000007
【図６】
2008099045.tif 000008
【図７】
2008099045.tif 000009
【図８】
2008099045.tif 000010
【図９】
2008099045.tif 000011
【図１０】
2008099045.tif 000012
【図１１】
2008099045.tif 000013
【図１２】
2008099045.tif 000014
【図１３】
2008099045.tif 000015
【図１４】
2008099045.tif 000016
【図１５】
2008099045.tif 000017
【図１６】
2008099045.tif 000018
【図１７】
2008099045.tif 000019
【図１８】
2008099045.tif 000020
【図１９】
2008099045.tif 000021
【図２０】
2008099045.tif 000022
【図２１】
2008099045.tif 000023
【図２２】
2008099045.tif 000024