JP2008099045A - スケーラブル符号化方法,復号方法,これらの装置,およびこれらのプログラム並びにその記録媒体 - Google Patents

スケーラブル符号化方法,復号方法,これらの装置,およびこれらのプログラム並びにその記録媒体 Download PDF

Info

Publication number
JP2008099045A
JP2008099045A JP2006279371A JP2006279371A JP2008099045A JP 2008099045 A JP2008099045 A JP 2008099045A JP 2006279371 A JP2006279371 A JP 2006279371A JP 2006279371 A JP2006279371 A JP 2006279371A JP 2008099045 A JP2008099045 A JP 2008099045A
Authority
JP
Japan
Prior art keywords
encoded
encoded data
signal
luminance
color difference
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
Application number
JP2006279371A
Other languages
English (en)
Inventor
Yukihiro Bando
幸浩 坂東
Masayuki Takamura
誠之 高村
Kazuto Kamikura
一人 上倉
Yoshiyuki Yashima
由幸 八島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006279371A priority Critical patent/JP2008099045A/ja
Publication of JP2008099045A publication Critical patent/JP2008099045A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Color Television Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】効率的に符号量を削減するSNRスケーラビリティ符号化を確立し,また,符号化ストリームから色差情報だけを切り取った場合に発生するドリフト誤差を解消する。
【解決手段】各拡張階層において,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データを対にして符号化ストリーム中に格納する輝度信号・色差信号符号化データ出力部13による出力と,輝度信号の符号化データと色差信号の符号化データとを分離し,各拡張階層のストリーム中の前半と後半に分けて,両データを符号化ストリーム中に格納する輝度信号有意係数有無判定部20から拡張階層別出力制御部25までの処理による符号化ストリームの出力とを切り替える機能を提供し,後者の方式が選択された場合には,輝度信号の符号化データと色差信号の符号化データを分離可能な形で単一の符号化ストリーム内に重畳することで,色チャネル間のスケーラビリティを実現する。
【選択図】図1

Description

本発明は,高能率画像信号符号化方法に関し,特に,色チャネル間のスケーラビリティを実現する階層符号化を行うスケーラブル符号化方法およびその符号化ストリームを復号するスケーラブル復号方法に関する。
近年,多様化するネットワーク環境・端末環境などに対応するためのスケーラブル符号化が注目を集めている。スケーラブル符号化におけるスケーラブル機能としては,
(i) 異なる空間解像度の符号化ストリームを単一ストリームに重畳できる空間スケーラビリティ,
(ii) 異なる時間解像度の符号化ストリームを単一ストリームに重畳できる空間スケーラビリティ,
(iii)異なる復号画質の符号化ストリームを単一ストリームに重畳できるSNRスケーラビリティ,
がある。
時間・空間・SNRスケーラビリティに対応した符号化方法として,Joint Scalable Coding Video(JSVC) が,国際標準化の場で規格化されている。非特許文献1で示されたJSVCは,AVCをベースとした符号化方式であり,空間スケーラビリティ,時間スケーラビリティは,各々,コーデックの階層化構造,階層型Bピクチャにより実現しており,SNRスケーラビリティは,画質の調整幅の大小により,FGSとCGSとに分類されている。画質の調整幅の粗いCGSは,空間スケーラビリティと同様,コーデックの階層化構造により実現され,一方,画質の調整幅の細かいFGSは,変換係数に対するビットプレーン展開に類似した方法により実現されている。
具体的には,基本階層で用いられた量子化幅を拡張階層のレベルに応じて,順次,縮小した値を用いることにより,段階的な画質の向上を図っている。この符号化モードは,“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.
JSVC,H.264/AVCを始めとする動画像符号化方式において,入力映像の色差成分は,輝度成分に比べてダウンサンプリングされた信号が用いられてきた。4:2:2,4:2:0フォーマットと呼ばれる映像フォーマットがこれに当たる。こうした映像フォーマットは,輝度成分に比べて色差成分に対する感度が低いという生理学的な知見に基づき,符号量を削減する目的で導入されたものである。
色差成分のダウンサンプリングは,主観画質の低下を抑えつつ符号量を低減させる有効な手段である。しかし,こうした輝度成分と色差成分の感度の相対比は,空間方向・時間方向において一定でない。それは,画像信号の性質はフレーム毎に変化し,さらにフレーム内においても,局所的な変化を伴うことによる。こうした変化に応じて,色差成分に対する視覚感度の強度も変化する。
例えば,画素値が暗い領域では,明るい領域に比べて色差成分に対する感度は低下する。このため,フレーム内の局所的な性質に応じて,輝度成分と色差成分の符号量の比率を変化させることで,より効率的な符号量低減を達成できる可能性がある。しかし,前述したJSVCのSNRスケーラビリティは,輝度成分・色差成分に対して一様に画質調整を行うスケーラビリティであり,輝度成分と色差成分とを分離可能なSNRスケーラビリティへのサポートは不完全なものとなっている。このため,符号化効率に関して改善の余地を残す。
そこで,本発明では,後に詳述するように,現在のJSVCに付属している輝度色差分離フラグluma_chroma_sep _flagをチャネルスケーラビリティ対応へ拡張することを考えている。
この輝度色差分離フラグは,NALユニット内の輝度情報と色差情報の出力順序を変更する機能をサポートするだけで,NALユニットの分割は想定外となっている。本フラグの機能を以下に示す。本フラグが“0”にセットされた場合,各progressive refinement slice(以下,PRスライスと記す)内の符号化情報は,マクロブロック毎に輝度信号の符号化情報(輝度情報),色差信号の符号化情報(色差情報)の順で配置される。一方,本フラグが“1”にセットされた場合,各PRスライス内の符号化情報は,各マクロブロックの輝度情報がマクロブロックの走査順に配置され,その後に,各マクロブロックの色差情報がマクロブロックの走査順に配置される。つまり,各PRスライス内では,前半が輝度情報,後半が色差情報となる。
しかし,本フラグを“1”にセットし,符号化ストリーム後半の色差情報のみを切り捨てて,輝度情報のみを復号しようとしても,輝度信号の復号が正しく行えず,輝度信号の復号値が劣化することになる。つまり,符号化ストリーム内における輝度情報と色差情報の分割はサポートされていない。このように,この輝度色差分離フラグ(luma_chroma_sep _flag)は,単に輝度信号と色差信号の符号化情報の順序を入れ替える機能を提供しているにすぎず,チャネルスケーラビリティ機能はサポートしてない。
図20は,輝度色差分離フラグを1(luma_chroma_sep _flag=1)にした場合の符号化ストリームの切り取り順序を示す。図20において,丸で囲まれた数字が切り取り順序を表している。
そこで,本発明では,輝度情報と色差情報の分割が可能なチャネルスケーラビリティへ対応すべく,符号化ストリーム内のビット列の規則(シンタックス)を修正する。各マクロブロックの輝度情報および色差情報は,変換係数の符号化情報とそれ以外のヘッダ情報に分類されており,チャネルスケーラビリティを実現するには,ヘッダ情報に含まれるΔQP,CBPの配置規則を修正する必要がある。
ΔQPは,直前に走査されたマクロブロックにおける量子化パラメータと当該マクロブロックにおけるそれとの差分値である。当該マクロブロックにおいて量子化パラメータを変更する場合,符号化ストリームに付加される。CBPは,8×8[画素]の領域単位で有意係数の有無を示す符号化情報である。
図21は,H.264におけるマクロブロックの輝度成分と色差成分の例を示している。H.264では,16×16[画素]の輝度成分(Y),および2つの8×8[画素]の色差成分(Cb,Cr)をマクロブロックと呼び,このマクロブロック単位で変換係数を符号化ストリームへ変換している。この際,図21に示すように,輝度成分の4つの8×8[画素]のサブブロックと同一サイズの2つの色差成分のサブブロックからなる6つのサブブロックに対して,各サブブロック内の変換係数が有意係数を含むか否かを表す6ビットの情報を付与している。これを“符号化ブロック・パターン(CBP:Coded Block Pattern)”と呼ぶ。なお,図21中のサブブロック内の数字は,各サブブロックに対するCBP内のビットの位置を表している。対応するCBP内のビットが“0”となるサブブロックについては,変換係数の情報は付加されない。これは符号量削減を狙った処理である。一方,同ビットが“1”となるサブブロックについては,変換係数の情報が付加される。
図22は,JSVCにおける符号化ストリームの構造を示す図である。JSVCにおける問題を,図22を例にとり説明する。図22(a)は,すべてのマクロブロック(MB)に輝度信号の有意係数が含まれる場合,図22(b)は,有意係数を含まないマクロブロック(MB)が存在する場合の例を示している。
図22(a)に示すように,マクロブロック内の輝度信号が有意係数をもつ場合,ΔQPは輝度成分のヘッダ部に含まれる。この場合は,輝度色差分離フラグ(luma_chroma_sep _flag)によって輝度情報と色差情報の出力順序を入れ替えることで,両者の分離が可能である。しかし,図22(b)に示すように,有意係数の無い輝度信号のマクロブロックが存在する場合,ΔQPは色差成分のヘッダ部に含まれる。このため,輝度色差分離フラグ(luma_chroma_sep _flag)によって輝度情報と色差情報の出力順序を入れ替え,色差成分を切り捨てた場合,前述のΔQPが復号器へ入力されない。このため,当該マクロブロックにおけるQPが符号化器と復号器で一致しなくなる。QPはデブロッキングフィルタにおいて,フィルタ処理の強度を調整するため,フィルタ処理後の信号が符号化器と復号器で一致しなくなり,ドリフト誤差が発生する。
以上の本発明の前提となる従来技術とその問題点を要約すると,以下の通りである。
(1) 現在の国際標準方式JSVC(Joint Scalable Coding Video) では,輝度・色差の情報分離がサポートされていないとの問題があった。
(2) 現在のJSVCでの画像符号化では,輝度・色差の情報の種類毎に,伝送されるビットストリーム上での位置(伝送される時間的順序)が決まっている。このため,途中の拡張階層のデータ(輝度情報あるいは色差情報)を抜いたら,復号器では復号できないとの問題があった。
(3) ビットストリームを切り捨てる処理(trancation処理)においては,ビットストリーム上での指定された位置よりも後方のストリームを捨てる。この切り捨てる処理においては,切り捨てられるデータの内容については復号処理を行わないので,データの種類が輝度情報なのか色差情報なのか,また,拡張階層の第何階層の情報なのかを知ることができない。
(4) また,従来のビットストリームの構造では,輝度情報と色差情報とを分離して,色差情報だけを切り取った場合には,量子化パラメータが符号化器と復号器とで一致しなくなることがあり,ドリフト誤差が生じることがあるとの問題があった。
なお,復号器への入力は,ビットストリームの先頭から上記(3) の切り取り点(trancation point)までのデータのみである。復号器へは,ビットストリームの先頭から切り取り点までのデータと切り取り点の位置の情報が与えられる。
本発明はかかる事情に鑑みてなされたものであって,JSVCに対して,輝度成分と色差成分とを分離可能なSNRスケーラビリティ(チャネルスケーラビリティ)を導入することにより,効率的に符号量を削減するSNRスケーラビリティ符号化を確立し,特に符号化ストリームから色差情報だけを切り取った場合に発生するドリフト誤差を解消することを目的とする。
本発明は,上記課題を解決し,同じ拡張階層のマクロブロックデータ,すなわちマクロブロック毎の輝度情報および色差情報を入力として,複数のマクロブロックの輝度情報を集めたブロックと,色差情報を集めたブロックを生成した符号化ストリームを生成することができるようにする。また,色差情報だけを切り取った符号化ストリームを復号しても,ドリフト誤差が生じないようにする。
このため,本発明は,画像信号を階層毎に符号化し,基本階層と1または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化方法において,画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を各階層毎に行い,各拡張階層において,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データを対にして符号化ストリーム中に格納する第1の方式(従来の方式)と,輝度信号の符号化データと色差信号の符号化データとを分離し,各拡張階層のストリーム中の前半と後半に分けて,両データを符号化ストリーム中に格納する第2の方式とを切り替える機能を提供し,第1の方式が選択された場合には,従来と同様な輝度信号と色差信号の符号化データの出力を行い,第2の方式が選択された場合には,輝度信号の符号化データと色差信号の符号化データを分離可能な形で単一の符号化ストリーム内に重畳することで,色チャネル間のスケーラビリティを実現するスケーラブル符号化を行う。
または,本発明は,上記第2の方式に代えて,もしくは上記第2の方式に加えてさらに,輝度信号の符号化データと色差信号の符号化データとを分離し,全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて,両データを符号化ストリーム中に格納する第3の方式を選択して切り替える機能を提供し,輝度信号の符号化データと色差信号の符号化データを分離可能な形で単一の符号化ストリーム内に重畳することで,色チャネル間のスケーラビリティを実現するスケーラブル符号化を行う。
上記発明において,マクロブロック毎に量子化を行い,当該マクロブロック内の量子化ステップ幅を表すパラメータ(量子化パラメータ)を近接するマクロブロックの量子化パラメータとの差分値として符号化し,量子化パラメータを逆量子化後の復号信号に対するフィルタリング処理の強度設定に用いる符号化では,上記第2の方式または上記第3の方式において輝度信号の符号化データと色差信号の符号化データを分離する際,マクロブロック内の輝度信号の有意係数の有無を示すフラグ(輝度CBP),および,マクロブロック内の色差信号の有意係数の有無を示すフラグ(色差CBP),および,量子化パラメータとの差分値(ΔQP)を,輝度信号と色差信号のうち,符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化する。
または,上記発明において,上記第2の方式または上記第3の方式において輝度信号の符号化データと色差信号の符号化データを分離する際,マクロブロック内の輝度信号の有意係数の有無を示すフラグ(輝度CBP),および,マクロブロック内の色差信号の有意係数の有無を示すフラグ(色差CBP)を,輝度信号と色差信号のうち,符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化し,さらに,マクロブロック内の色差信号に有意係数が存在する場合には,量子化パラメータとの差分値(ΔQP)を,輝度信号と色差信号のうち,符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化する。
上記方法によって符号化された符号化ストリームを復号する際には,第1の方式で符号化されたものであるか,第2の方式で符号化されたものであるか,あるいは第3の方式で符号化されたものであるかを判定し,それぞれの符号化ストリームに対応した復号を行う。
第1の方式で符号化されたものであるか,第2の方式で符号化されたものであるか,あるいは第3の方式で符号化されたものであるかは,例えば輝度色差分離フラグ(luma_chroma_sep _flag)の値によって区別できるようにすれば,復号装置において判定することができる。
本発明により,輝度符号化ビットと色差符号化ビットを分離可能なチャネルスケーラブル符号化を実現できる。これによって,符号化ストリームの一部を切り取る際,色差符号化ビットのみを切り取り対象として指定することが可能となり,主観画質を保持しつつ,全体の符号量を削減することができる。
また,符号化ストリームから色差情報だけを切り取った場合にも,符号化装置と復号装置とで量子化パラメータを一致させ,ドリフト誤差が発生しないようにすることができる。
図1は,本発明の概要を説明するためのスケーラブル符号化装置のブロック図である。スケーラブル符号化装置1において,入力画像を階層符号化して各階層毎に符号化ビット列を出力する階層符号化部10と,輝度信号・色差信号符号化データ出力部13は,従来のJSVCの参照ソフトウェアであるJSVMによって実現されるものと同様の処理を行う。すなわち,本発明が従来技術と異なる部分は,例えばJSVMによる階層符号化部10によりエントロピ符号化までの処理が終了し,各符号化情報がバイナリのビット列(符号化ビット)に変換された後の処理部分になる。
輝度信号・色差信号符号化データ出力部13が行う処理が,上述した第1の方式による符号化ストリームの生成処理に相当し,輝度信号有意係数有無判定部20から拡張階層別出力制御部25までの一点鎖線で囲まれた部分で行う処理が,上述した第2の方式による符号化ストリームの生成処理に相当し,輝度信号有意係数有無判定部30から拡張階層別色差信号出力制御部36までの二点鎖線で囲まれた部分で行う処理が,上述した第3の方式による符号化ストリームの生成処理に相当する。ここで,第2の方式による符号化ストリームの生成処理,または第3の方式による符号化ストリームの生成処理のいずれか一方を省略した実施も可能である。
輝度色差分離フラグ判定部11は,輝度色差分離フラグluma_chroma_sep _flagを判定し,輝度色差分離フラグの値が“0”の場合には,出力切り替え部12を制御して,輝度信号・色差信号符号化データ出力部13に対し符号化ストリームを出力する処理を行わせる。また,輝度色差分離フラグの値が“1”の場合には,出力切り替え部12を制御して,一点鎖線で囲まれた第2の方式による符号化ストリームの出力処理を行わせる。また,輝度色差分離フラグの値が“2”の場合には,出力切り替え部12を制御して,二点鎖線で囲まれた第3の方式による符号化ストリームの出力処理を行わせる。
輝度信号・色差信号符号化データ出力部13は,階層符号化部10が出力するエントロピ符号化の符号化結果を入力として読み込み,JSVMの規定に従い,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する処理を行う。
輝度色差分離フラグの値が“1”の場合,各拡張階層毎に以下の処理を行う。輝度信号有意係数有無判定部20は,マクロブロック内の輝度信号の有意係数の有無を,輝度CBPによって判別する。輝度信号の有意係数がある場合,輝度信号符号化データ出力部21によって,JSVMの規定に従い,輝度信号の符号化ビットを符号化ストリームに書き出す。一方,輝度信号の有意係数がない場合,輝度信号ヘッダ部出力部22によって,JSVMで規定された輝度信号のヘッダの符号化ビットを符号化ストリームに書き出す。このとき,量子化パラメータの差分値ΔQPと色差CBPをヘッダの符号化ビットの一部として書き出す。この処理を現在の拡張階層におけるマクロブロックについて繰り返す。
輝度信号の当該拡張階層における全マクロブロックについての処理が終了したならば,色差信号ヘッダ部出力部23は,JSVMで規定された輝度信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を符号化ストリームに書き出す。その後,色差信号の有意係数の有無を判別し,有意係数があれば,色差信号符号化データ出力部24によって,JSVMに規定に規定された色差信号のヘッダ以外の符号化ビットを符号化ストリームに書き出す。この処理を現在の拡張階層における全マクロブロックについて繰り返す。
色差信号の当該拡張階層における全マクロブロックについての処理が終了したならば,拡張階層別出力制御部25の制御のもとに,同様に次の拡張階層の符号化ストリームの出力処理を行い,最終の拡張階層までの出力が終了したならば処理を終了する。これにより,輝度信号の符号化データと色差信号の符号化データとが分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて出力されることになる。
輝度色差分離フラグの値が“2”の場合,拡張階層別輝度信号出力制御部35によって,各拡張階層毎に輝度信号の符号化データの出力処理が行われ,輝度信号について全拡張階層の処理が終了してから,拡張階層別色差信号出力制御部36によって,各拡張階層毎に色差信号の符号化データの出力処理が行われる。
まず,輝度信号有意係数有無判定部30は,マクロブロック内の輝度信号の有意係数の有無を,輝度CBPによって判別する。輝度信号の有意係数がある場合,輝度信号符号化データ出力部31によって,JSVMの規定に従い,輝度信号の符号化ビットを符号化ストリームに書き出す。一方,輝度信号の有意係数がない場合,輝度信号ヘッダ部出力部32によって,JSVMで規定された輝度信号のヘッダの符号化ビットを符号化ストリームに書き出す。このとき,量子化パラメータの差分値ΔQPと色差CBPをヘッダの符号化ビットの一部として書き出す。この処理を全拡張階層における全マクロブロックについて繰り返す。
全拡張階層における輝度信号の出力処理が終了したならば,各拡張階層について,色差信号ヘッダ部出力部33は,JSVMで規定された輝度信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を符号化ストリームに書き出す。その後,色差信号の有意係数の有無を判別し,有意係数があれば,色差信号符号化データ出力部34によって,JSVMに規定に規定された色差信号のヘッダ以外の符号化ビットを符号化ストリームに書き出す。この処理を全拡張階層における全マクロブロックについて繰り返す。
これにより,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて出力されることになる。
図2は,輝度色差分離フラグ(luma_chroma_sep _flag)が“2”の場合の符号化ストリームの切り取り順序を示している。丸で囲まれた数字が符号化ストリームを切り取る際の切り取り順序を表している。従来,符号化ストリーム内における輝度信号と色差信号の符号化情報の分割は,複数のPRスライスに対して横断的に行うことはできなかったのに対し,第3の方式により,図2に示すように,複数のPRスライスに対して横断的に色差情報の切り取り可能な符号化ストリームを生成することができるようになる。
ここでは,マクロブロック内の輝度信号に有意係数が含まれない(輝度CBP=0)場合に,ΔQPおよび色差CBPを輝度信号のヘッダ情報に含める例を説明したが,さらに詳しくは後述するように,マクロブロック内の輝度信号に有意係数が含まれない(輝度CBP=0)場合に,色差CBPを輝度信号のヘッダ情報に含め,かつ,色差信号に有意係数が含まれる(色差CBP≠0)場合に,ΔQPを輝度信号のヘッダ情報に含めるようにし,切り取り後に残る符号化データの符号量をさらに低減する実施も可能である。
本発明の実施の形態をさらに詳しく説明する。以下では,第1の実施の形態として,特に第2の方式において輝度CBP=0の場合に,ΔQPおよび色差CBPを輝度信号のヘッダ情報に含める形態,第2の実施の形態として,第2の方式において輝度CBP=0の場合に,色差CBPを輝度信号のヘッダ情報に含め,かつ色差CBP≠0の場合に,ΔQPも輝度信号のヘッダ情報に含める形態,第3の実施の形態として,第3の方式において輝度CBP=0の場合に,ΔQPおよび色差CBPを輝度信号のヘッダ情報に含める形態,第4の実施の形態として,第3の方式において輝度CBP=0の場合に,色差CBPを輝度信号のヘッダ情報に含め,かつ色差CBP≠0の場合に,ΔQPも輝度信号のヘッダ情報に含める形態の符号化処理および復号処理を,主に説明している。
1.第1の実施の形態
〔符号化処理〕
本実施の形態で対象とするのは,JSVCにおいて,エントロピ符号化までの処理が終了し,各符号化情報がバイナリのビット列(符号化ビット)に変換された後の処理になる。つまり,符号化ビットの配置方法が従来技術と異なる。
輝度色差分離フラグを“1”(luma_chroma_sep _flag=1)とする場合,符号化ビットの配置は,以下のように行う。まず,以下の条件を判定する。
・<条件1>:輝度CBP=0
条件1を満たすか否かの判定を行い,条件1を満たさない場合,JSVC準拠の符号化器(JSVM)と同様の処理を行う。一方,条件1を満す場合,以下の処理を行う。
各マクロブロックの輝度のヘッダ情報として,luma_chroma_sep _flag=1の場合に,輝度のマクロブロックヘッダ情報としてJSVCで規定された符号化ビットに加えて,色差CBPの符号化ビット,ΔQPの符号化ビットを同ヘッダ情報として格納する。これを各FGS階層毎に全てのマクロブロックに対して行う。
全ての輝度に対して,処理を終了した後,色差に関する符号化ビットを配置する。このとき,まず,各マクロブロックについて,色差のヘッダ情報を配置する。ただし,ここでヘッダ情報となるのは,luma_chroma_sep _flag=1の場合に色差のマクロブロックヘッダ情報として JSVCで規定された符号化ビットのうち,色差CBPの符号化ビット,ΔQPの符号化ビットを除いた符号化ビットである。これを各PR階層毎に全てのマクロブロックに対して行う。なお,luma_chroma_sep _flagの符号化ビットは,シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報として,上述のマクロブロックの符号化ビットの前に配置する。
図3は,本発明による第1の実施の形態における符号化ストリームの構造の例を示している。輝度信号または色差信号のペイロード部には,マクロブロックヘッダ情報以外の輝度信号または色差信号の符号化ビット(変換係数,動きベクトルの符号化ビット)が格納される。
有意係数を含まない輝度信号のマクロブロックが存在する場合,従来のJSVCにおける符号化ストリームは,例えば前述した図22(b)に示すような構造になる。すなわち,マクロブロックMB1の輝度CBPが“0”の場合,マクロブロックMB1の輝度のヘッダ情報の後に,色差のヘッダ情報および色差のペイロード部が続く。この場合,マクロブロックMB1の色差成分以降のストリームを切り取ったとすると,ΔQPの情報が失われ,ドリフト誤差が生じる。
第1の実施の形態では,輝度CBPが“0”の場合,図3に示すように,図22(b)では色差のヘッダ情報に含まれていたΔQPの情報を,輝度のヘッダ情報の中に含める。これにより,マクロブロックMB1の色差成分以降のストリームを切り取った場合でも,輝度のヘッダ情報の中からΔQPの情報が得られ,ドリフト誤差の発生を防止することができる。後述する第3の実施の形態も同様である。なお,後述する第2の実施の形態および第3の実施の形態では,輝度CBPが“0”で,かつ色差CBPが“0”でない場合に,第1の実施の形態と同様,図3に示すようにΔQPの情報が輝度のヘッダ情報中に格納される。
〔復号処理〕
この符号化器が出力した符号化ストリームを復号する復号器では,以下の復号処理を行う。
シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報から,輝度色差分離フラグluma_chroma_sep _flagの符号化ビットを復号し,同フラグluma_chroma_sep _flagの値を得る。同フラグが“0”の場合,JSVCに規定された復号処理を行う。一方,同フラグが“1”の場合,以下の復号処理を行う。なお,この場合,各PR階層の符号化ストリームには,前半が輝度に関する符号化ストリーム,後半が色差に関する符号化ストリームが格納されている。輝度のヘッダ情報を復号し,luma_chroma_sep _flag=0の場合と同じ輝度信号に関するヘッダ情報を得る。
次に,以下の条件を判定する。輝度CBPの復号値が零値であるか否かの判定を行い,零値でない場合,輝度のヘッダ内に色差CBPの符号化ビットおよびΔQPの符号化ビットが含まれているため,これらの符号化ビット復号し,色差CBPの復号値およびΔQPの復号値を得る。
続いて,輝度のマクロブロックヘッダ以外の符号化ビットは,JSVCに規定された復号処理を行う。さらに,色差のヘッダ情報を復号する。なお,色差CBP,ΔQPが既に輝度のヘッダとして復号されている場合には,これらの符号化ビットは,色差のヘッダには含まれないため,同符号化ビットに対する復号処理は不要である。続いて,色差のマクロブロックヘッダ以外の符号化ビットは,JSVCに規定された復号処理を行う。以上の処理を各PR階層毎に実施する。なお,JSVCでは,符号化ストリームの一部を切り捨て,残った部分的な符号化ストリームからの復号をサポートしている。
luma_chroma_sep _flag=1にした場合,符号化ストリームの切り取り順序は,図20に示すようになる。ここで,丸で囲まれた数字が切り取り順序を表す。例えば,最上位の拡張階層(PR3)の色差成分のみを切り捨てる場合,復号対象となるのは,基本階層および6から2までの丸付き数字が付された拡張階層である。このように,符号化ストリームが切り捨てられた場合には,適宜,残った符号化ストリームに対する復号処理を行う。
2.第2の実施の形態
〔符号化処理〕
本実施の形態が対象とするのは,JSVCにおいて,エントロピ符号化までの処理が終了し,各符号化情報がバイナリのビット列(符号化ビット)に変換された後の処理になる。つまり,符号化ビットの配置方法が従来技術と異なる。
輝度色差分離フラグを“1”(luma_chroma_sep _flag=1)とする場合,符号化ビットの配置は,以下のように行う。まず,以下の2条件を順に判定する。
・<条件1>:輝度CBP=0
・<条件2>:色差CBP≠0
条件1を満たすか否かの判定を行い,条件1を満たさない場合,JSVC準拠の符号化器(JSVM)と同様の処理を行う。一方,条件1を満す場合,条件2を満たすか否かの判定を行い,条件1を満たさない場合,JSVMと同様の処理を行う。
一方,条件2を満す場合,以下の処理を行う。各マクロブロックの輝度のヘッダ情報として,luma_chroma_sep _flag=1の場合に,輝度のマクロブロックヘッダ情報としてJSVCで規定された符号化ビットに加えて,色差CBPの符号化ビット,ΔQPの符号化ビットを同ヘッダ情報として格納する。これを各FGS階層毎に全てのマクロブロックに対して行う。
全ての輝度に対して,処理を終了した後,色差に関する符号化ビットを配置する。このとき,まず,各マクロブロックについて,色差のヘッダ情報を配置する。ただし,ここでヘッダ情報となるのは,luma_chroma_sep _flag=1の場合に,色差のマクロブロックヘッダ情報としてJSVCで規定された符号化ビットのうち,色差CBPの符号化ビット,ΔQPの符号化ビットを除いた符号化ビットである。これを各PR階層毎に全てのマクロブロックに対して行う。
なお,luma_chroma_sep _flagの符号化ビットは,シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報として,上述のマクロブロックの符号化ビットの前に配置する。
〔復号処理〕
この符号化器が出力した符号化ストリームを復号する復号器では,以下の復号処理を行う。
シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報から,輝度色差分離フラグluma_chroma_sep _flagの符号化ビットを復号し,同フラグluma_chroma_sep _flagの値を得る。同フラグが“0”の場合,JSVCに規定された復号処理を行う。一方,同フラグが“1”の場合,以下の復号処理を行う。なお,この場合,各PR階層の符号化ストリームには,前半が輝度に関する符号化ストリーム,後半が色差に関する符号化ストリームが格納されている。輝度のヘッダ情報を復号し,luma_chroma_sep _flag=0の場合と同じ輝度信号に関するヘッダ情報を得る。
次に,以下の2条件を順に判定する。輝度CBPの復号値が零値であるか否かの判定を行い,零値でない場合,輝度のヘッダ内に色差CBPの符号化ビットが含まれているため,同符号化ビットを復号し,色差CBPの復号値を得る。続いて,色差CBPの復号値が得られた場合には,色差CBPの復号値が零値であるか否かの判定を行い,零値でない場合,輝度のヘッダ内にΔQPの符号化ビットが含まれているため,同符号化ビットを復号し,ΔQPの復号値を得る。
続いて,輝度のマクロブロックヘッダ以外の符号化ビットは,JSVCに規定された復号処理を行う。
さらに,色差のヘッダ情報を復号する。なお,色差CBP,ΔQPが既に輝度のヘッダとして復号されている場合には,これらの符号化ビットは,色差のヘッダには含まれないため,同符号化ビットに対する復号処理は不要である。続いて,色差のマクロブロックヘッダ以外の符号化ビットは,JSVCに規定された復号処理を行う。以上の処理を各PR階層毎に実施する。なお,JSVCでは,符号化ストリームの一部を切り捨て,残った部分的な符号化ストリームからの復号をサポートしている。
luma_chroma_sep _flag =1にした場合,符号化ストリームの切り取り順序は,図22に示すようになる。ここで,丸で囲まれた数字が切り取り順序を表す。例えば,最上位の拡張階層(PR3)の色差成分のみを切り捨てる場合,復号対象となるのは,基本階層,および6から2までの丸付き数字が付された拡張階層である。このように,符号化ストリームが切り捨てられた場合には,適宜,残った符号化ストリームに対する復号処理を行う。
3.第3の実施の形態
〔符号化処理〕
本実施の形態が対象とするのは,JSVCにおいて,エントロピ符号化までの処理が終了し,各符号化情報がバイナリのビット列(符号化ビット)に変換された後の処理になる。つまり,符号化ビットの配置方法が従来技術と異なる。
JSVCでは,輝度信号と色差信号の符号化情報の順序入れ替えは,図22に示すように,単一のPRスライス内に閉じたものとなっている。
本実施の形態が目標とするのは,図2に示すように,拡張階層の全ての輝度信号と全ての色差信号とが分離可能となる符号化ストリームの構造の実現である。これは,以下の条件を満たす符号化ストリームである。
・拡張階層において,輝度と色差を分離
・基本階層に近い拡張階層から順に輝度信号の符号化ビットを配置
・基本階層に近い拡張階層から順に色差信号の符号化ビットを配置
こうした符号化ストリームの構造は,luma_chroma_sep _flag=0およびluma_chroma_sep _flag=1の場合の構造と異なるため,本実施の形態に対応する符号化ビットの配置をluma_chroma_sep _flag=2を用いて表すことにする。
輝度情報と色差情報の分割に際し,色差CBPとΔQPの符号化方法に関しては,前述した「第1の実施の形態」の方法を用いる。
〔復号処理〕
この符号化器が出力した符号化ストリームを復号する復号器では,以下の復号処理を行う。
シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報から,輝度色差分離フラグluma_chroma_sep _flagの符号化ビットを復号し,同フラグluma_chroma_sep _flagの値を得る。同フラグが“0”の場合,JSVCに規定された復号処理を行う。同フラグが“1”の場合,前述した「第1の実施の形態」と同様の復号処理を行う。同フラグが“2”の場合,以下の復号処理を行う。なお,この場合,符号化ストリームには,前半が全PR階層の輝度に関する符号化ストリーム,後半が全PR階層の色差に関する符号化ストリームが格納されている。
まず,当該マクロブロックの輝度のヘッダ情報を復号し,luma_chroma_sep _flag=0の場合と同じ輝度信号に関するヘッダ情報を得る。次に,以下の条件を判定する。当該マクロブロックの輝度CBPの復号値が零値であるか否かの判定を行い,零値でない場合,当該マクロブロックの輝度のヘッダ内に色差CBPの符号化ビットおよびΔQPの符号化ビットが含まれているため,これらの符号化ビット復号し,色差CBPの復号値およびΔQPの復号値を得る。続いて,輝度のマクロブロックヘッダ以外の符号化ビットは,JSVCに規定された復号処理を行う。これを全てのマクロブロックの輝度符号化ビットに関して行う。
続いて,色差の復号処理に移る。まず,色差のヘッダ情報を復号する。なお,当該マクロブロックの色差CBP,ΔQPが既に当該マクロブロックの輝度のヘッダとして復号されている場合には,これらの符号化ビットは,色差のヘッダには含まれないため,同符号化ビットに対する復号処理は不要である。次に,色差のマクロブロックヘッダ以外の符号化ビットは,JSVCに規定された復号処理を行う。これを全てのマクロブロックの輝度符号化ビットに関して行う。
なお,JSVCでは,符号化ストリームの一部を切り捨て,残った部分的な符号化ストリームからの復号をサポートしている。luma_chroma_sep _flag =2にした場合,符号化ストリームの切り取り順序は,図2に示すようになる。ここで,丸で囲まれた数字が切り取り順序を表す。例えば,最上位の拡張階層の色差成分およびその直下の拡張階層の色差成分を切り捨てる場合,復号対象となるのは,基本階層,および6から3までの丸付き数字が付された拡張階層である。このように,符号化ストリームが切り捨てられた場合には,適宜,残った符号化ストリームに対する復号処理を行う。
4.第4の実施の形態
〔符号化処理〕
本実施の形態が対象とするのは,JSVCにおいて,エントロピ符号化までの処理が終了し,各符号化情報がバイナリのビット列(符号化ビット)に変換された後の処理になる。つまり,符号化ビットの配置方法が従来技術と異なる。
本実施の形態が目標とするのは,図2に示すように,拡張階層の全ての輝度信号と全ての色差信号とが分離可能となる符号化ストリームの構造の実現である。これは,以下の条件を満たす符号化ストリームである。
・拡張階層において,輝度と色差を分離
・基本階層に近い拡張階層から順に輝度信号の符号化ビットを配置
・基本階層に近い拡張階層から順に色差信号の符号化ビットを配置
こうした符号化ストリームの構造は,luma_chroma_sep _flag=0およびluma_chroma_sep _flag=1の場合のそれと異なるため,本実施の形態に対応する符号化ビットの配置をluma_chroma_sep _flag=2を用いて表すことにする。ただし,輝度情報と色差情報の分割に際し,色差CBPとΔQPの符号化方法に関しては,前述した「第2の実施の形態」の方法を用いる。
〔復号処理〕
この符号化器が出力した符号化ストリームを復号する復号器では,以下の復号処理を行う。
シーケンス共通のヘッダ情報あるいはスライス共通のヘッダ情報から,輝度色差分離フラグluma_chroma_sep _flagの符号化ビットを復号し,同フラグluma_chroma_sep _flagの値を得る。同フラグが“0”の場合,JSVCに規定された復号処理を行う。同フラグが“1”の場合,前述した「第2の実施の形態」と同様の復号処理を行う。同フラグが“2”の場合,以下の復号処理を行う。なお,この場合,符号化ストリームには,前半が全PR階層の輝度に関する符号化ストリーム,後半が全PR階層の色差に関する符号化ストリームが格納されている。
まず,当該マクロブロックの輝度のヘッダ情報を復号し,luma_chroma_sep _flag=0の場合と同じ輝度信号に関するヘッダ情報を得る。次に,以下の2条件を順に判定する。当該マクロブロックの輝度CBPの復号値が零値であるか否かの判定を行い,零値でない場合,当該マクロブロックの輝度のヘッダ内に色差CBPの符号化ビットが含まれているため,同符号化ビットを復号し,色差CBPの復号値を得る。続いて,色差CBPの復号値が得られた場合には,色差CBPの復号値が零値であるか否かの判定を行い,零値でない場合,輝度のヘッダ内にΔQPの符号化ビットが含まれているため,同符号化ビットを復号し,ΔQPの復号値を得る。続いて,輝度のマクロブロックヘッダ以外の符号化ビットは,JSVCに規定された復号処理を行う。これを全てのマクロブロックの輝度符号化ビットに関して行う。
続いて,色差の復号処理に移る。まず,色差のヘッダ情報を復号する。なお,当該マクロブロックの色差CBP,ΔQPが既に輝度のヘッダとして復号されている場合には,これらの符号化ビットは,当該マクロブロックの色差のヘッダには含まれないため,同符号化ビットに対する復号処理は不要である。次に,色差のマクロブロックヘッダ以外の符号化ビットは,JSVCに規定された復号処理を行う。以上の処理を各PR階層毎に実施する。
なお,JSVCでは,符号化ストリームの一部を切り捨て,残った部分的な符号化ストリームからの復号をサポートしている。luma_chroma_sep _flag=2にした場合,符号化ストリームの切り取り順序は,図2に示すようになる。ここで,丸で囲まれた数字が切り取り順序を表す。例えば,最上位の拡張階層の色差成分およびその直下の拡張階層の色差成分を切り捨てる場合,復号対象となるのは,基本階層,および6から3までの丸付き数字が付された拡張階層である。このように,符号化ストリームが切り捨てられた場合には,適宜,残った符号化ストリームに対する復号処理を行う。
図4は実施例1の符号化処理のフローチャート,図5は実施例1の符号化装置の構成例,図6は実施例1の復号処理のフローチャート,図7は実施例1の復号装置の構成例を示す図である。
[符号化処理の流れ(実施例1)]
実施例1の符号化処理の流れについて,図4に示すフローチャートに従って説明する。
・ステップS101:JSVCの参照ソフトウェアであるJSVMが出力するエントロピ符号化の符号化結果を入力として読み込み,レジスタに出力する。
・ステップS102:輝度色差分離フラグluma_chroma_sep _flagを入力として読み込み,同フラグが“1”か否かの判定を行い,判定結果が真値の場合,ステップS103に進む。そうでなければ,ステップS114に進む。
・ステップS103:JSVCの参照ソフトウェアであるJSVMが出力するエントロピ符号化の符号化結果から輝度CBP,色差CBPを入力として読み込む。
・ステップS104:ステップS103で入力した輝度CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS105に進む。そうでなければ,ステップS107に進む。
・ステップS105:JSVMで規定された輝度信号のヘッダの符号化ビットを符号化ストリームに書き出す。
・ステップS106:また,量子化パラメータの差分値ΔQPと色差CBPを,輝度信号のヘッダの符号化ビットの一部として符号化ストリームに書き出す。
・ステップS107:輝度CBPが“0”でない場合,輝度信号の符号化ビットをJSVMの規定に従い,符号化ストリームに書き出す。
・ステップS108:ステップS103〜S107の処理を当該拡張階層における輝度信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,ステップS109に進む。
・ステップS109:次に,JSVMで規定された色差信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を符号化ストリームに書き出す。
・ステップS110:色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS112に進む。そうでなければ,ステップS111に進む。
・ステップS111:JSVMで規定された色差信号のヘッダ以外の符号化ビットを符号化ストリームに書き出す。
・ステップS112:ステップS109〜S111の処理を当該拡張階層における色差信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,ステップS113に進む。
・ステップS113:全拡張階層(FGS階層)について符号化ストリームを書き出したならば,処理を終了する。そうでなければ,次の拡張階層について,ステップS103〜S112の処理を同様に繰り返す。
・ステップS114:輝度色差分離フラグluma_chroma_sep _flagが“0”の場合,輝度信号,色差信号の符号化ビットを,JSVMの規定に従い,符号化ストリームに書き出す。
[符号化装置(実施例1)]
実施例1の符号化装置について,図5に示すブロック図に従って説明する。
・エントロピ符号化ビット記憶部101:JSVCの参照ソフトウェアであるJSVMが出力するエントロピ符号化の符号化結果を格納する。
・輝度色差分離フラグ記憶部102:輝度色差分離フラグluma_chroma_sep _flagを格納する。
・輝度色差分離判定部103:輝度色差分離フラグ記憶部102から輝度色差分離フラグluma_chroma_sep _flagを入力として読み込み,同フラグが“0”か“1”かの判定を行い,同フラグが“0”の場合,JSVC符号化ストリーム書き出し部104の処理に進む。同フラグが“1”の場合,輝度CBP判定部107の処理に進む。
・JSVC符号化ストリーム書き出し部104:エントロピ符号化ビット記憶部101からエントロピ符号化の符号化結果を入力として読み込み,JSVMの規定に従い,符号化ストリームとして符号化ストリーム記憶部105に書き出す。
・輝度CBP判定部107:輝度CBP記憶部106が記憶する輝度CBPが“0”か否かの判定を行い,判定結果が真値の場合,輝度信号ヘッダ符号化ビット書き出し部110の処理に進む。そうでなければ,輝度信号符号化ストリーム書き出し部108の処理に進む。
・輝度信号符号化ストリーム書き出し部108:輝度信号の符号化ビットをJSVMの規定に従い,符号化ストリーム記憶部109に書き出す。
・輝度信号ヘッダ符号化ビット書き出し部110:JSVMで規定された輝度信号のヘッダの符号化ビットを符号化ストリーム記憶部111に書き出す。
・色差CBP符号化部113:色差CBP記憶部112が記憶する色差CBPを読み込み,符号化処理を行い,符号化ストリーム記憶部114に輝度信号のヘッダの符号化ビットの一部として書き出す。
・ΔQP符号化部116:ΔQP記憶部115が記憶するΔQPを読み込み,符号化処理を行い,符号化ストリーム記憶部117に輝度信号のヘッダの符号化ビットの一部として書き出す。
・最終マクロブロック判定部120:輝度CBP判定部107からΔQP符号化部116によりΔQPを符号化ストリーム記憶部117に書き出すまでの処理を,当該拡張階層における輝度信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,色差信号ヘッダ符号化ビット書き出し部121の処理に進む。
・色差信号ヘッダ符号化ビット書き出し部121:JSVMで規定された色差信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を符号化ストリーム記憶部122に書き出す。
・色差CBP判定部123:色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,色差信号非ヘッダ符号化ビット書き出し部124の処理に進む。そうでない場合,最終マクロブロック判定部126の処理に進む。
・色差信号非ヘッダ符号化ビット書き出し部124:JSVMで規定された色差信号のヘッダ以外の符号化ビットを符号化ストリーム記憶部125に書き出す。
・最終マクロブロック判定部126:色差信号ヘッダ符号化ビット書き出し部121から色差信号非ヘッダ符号化ビット書き出し部124が色差信号のヘッダ以外の符号化ビットを符号化ストリーム記憶部125に書き出すまでの処理を,当該拡張階層における色差信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,最終拡張階層判定部127の処理に進む。
・最終拡張階層判定部127:最終拡張階層まで処理したかどうかを判定し,最終拡張階層まで処理したならば処理を終了する。そうでなければ,輝度CBP判定部107から最終マクロブロック判定部126までの処理を,次の拡張階層について繰り返す。
[復号処理の流れ(実施例1)]
実施例1の復号処理の流れについて,図6に示すフローチャートに従って説明する。
・ステップS151:符号化ストリーム中の輝度色差分離フラグluma_chroma_sep _flagに対する符号化ビットを入力として読み込み,復号処理を行い,復号値をレジスタに書き出す。
・ステップS152:輝度色差分離フラグluma_chroma_sep _flagが“1”か否かの判定を行い,判定結果が真値の場合,ステップS153に進む。そうでなければ,ステップS164に進む。
・ステップS153:符号化ストリーム中の輝度CBPの符号化ビットを入力として読み込み,復号処理を行い,レジスタに書き出す。
・ステップS154:ステップS153で復号した輝度CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS155に進む。そうでなければ,ステップS157に進む。
・ステップS155:JSVCで規定された輝度信号のヘッダの符号化ビットを復号する。
・ステップS156:また,輝度信号のヘッダ内の量子化パラメータの差分値ΔQPと色差CBPの符号化ビットを復号する。
・ステップS157:輝度CBPが“0”でない場合,符号化ストリーム中の当該マクロブロックの輝度信号の符号化ビットを入力として読み込み,JSVCの規定に従い,復号する。
・ステップS158:ステップS153〜S157の処理を当該拡張階層における輝度信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,ステップS159に進む。
・ステップS159:次に,JSVCで規定された色差信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を復号する。
・ステップS160:色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS162に進む。そうでなければ,ステップS161に進む。
・ステップS161:JSVCで規定された色差信号のヘッダ以外の符号化ビットを復号する。
・ステップS162:ステップS159〜S161の処理を当該拡張階層における色差信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,ステップS163に進む。
・ステップS163:全拡張階層(FGS階層)について復号処理を終了したならば,処理を終了する。そうでなければ,次の拡張階層について,ステップS153〜S162の処理を同様に繰り返す。
・ステップS164:輝度色差分離フラグluma_chroma_sep _flagが“0”の場合,輝度信号,色差信号の符号化ビットを,JSVCの規定に従い,復号する。
[復号装置(実施例1)]
実施例1の復号装置について,図7に示すブロック図に従って説明する。
・符号化ストリーム記憶部151:JSVCの参照ソフトウェアであるJSVMが出力した符号化ストリームを格納する。
・輝度色差分離フラグ復号処理部152:符号化ストリーム記憶部151から読み出した符号化ストリームを入力とし,輝度色差分離フラグluma_chroma_sep _flagの符号化ビットに対する復号処理を行い,その復号結果を輝度色差分離フラグ記憶部153に格納する。
輝度色差分離判定部154:輝度色差分離フラグ記憶部153から輝度色差分離フラグluma_chroma_sep _flagを入力として読み込み,同フラグが“1”か否かの判定を行い,判定結果が真値の場合,輝度CBP復号処理部157の処理に進む。そうでなけれぱ,JSVC符号化ストリーム復号処理部155の処理に進む。
JSVC符号化ストリーム復号処理部155:符号化ストリーム記憶部151から符号化ストリームを入力として読み込み,JSVCの規定に従い,復号処理を行い,復号結果を復号信号記憶部156に書き出す。
・輝度CBP復号処理部157:符号化ストリーム中の輝度CBPの符号化ビットを入力として読み込み,復号処理を行い,復号結果を輝度CBP記憶部158に書き出す。
・輝度CBP判定部159:輝度CBP記憶部158に書き出した輝度CBPが“0”か否かの判定を行い,判定結果が真値の場合,輝度信号符号化ストリーム復号処理部160の処理に進む。そうでなければ,輝度信号ヘッダ符号化ビット復号処理部162の処理に進む。
・輝度信号符号化ストリーム復号処理部160:符号化ストリーム中の当該マクロブロックの輝度信号の符号化ビットを入力として読み込み,JSVCの規定に従い復号し,復号結果を復号信号記憶部161に書き出す。
・輝度信号ヘッダ符号化ビット復号処理部162:JSVCで規定された輝度信号のヘッダの符号化ビットを復号し,復号信号記憶部163に書き出す。
・色差CBP復号処理部164:また,輝度信号のヘッダ内の色差CBPの符号化ビットを復号し,色差CBP記憶部165に書き出す。
・ΔQP復号処理部167:また,輝度信号のヘッダ内の量子化パラメータの差分値ΔQPを復号し,ΔQP記憶部168に書き出す。
・最終マクロブロック判定部172:輝度CBP判定部159からΔQP復号処理部167までの処理を,当該拡張階層における輝度信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,色差信号ヘッダ符号化ビット復号処理部173の処理に進む。
・色差信号ヘッダ符号化ビット復号処理部173:JSVCで規定された色差信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を復号し,復号信号記憶部174に書き出す。
・色差CBP判定部175:色差CBP記憶部165が記憶する色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,最終マクロブロック判定部178の処理に進む。そうでなければ,色差信号非ヘッダ符号化ビット復号処理部176の処理に進む。
・色差信号非ヘッダ符号化ビット復号処理部176:JSVCで規定された色差信号のヘッダ以外の符号化ビットを復号し,復号信号記憶部177に書き出す。
・最終マクロブロック判定部178:色差信号ヘッダ符号化ビット復号処理部173から色差信号非ヘッダ符号化ビット復号処理部176までの処理を,当該拡張階層における色差信号の全マクロブロックについて行ったかどうかを判定し,全マクロブロックについて処理が終了したならば,最終拡張階層判定部179の処理に進む。そうでなけれは,次の拡張階層について同様に色差信号の復号処理を繰り返す。
・最終拡張階層判定部179:最終拡張階層まで処理したかどうかを判定し,最終拡張階層まで処理したならば処理を終了する。そうでなければ,輝度CBP判定部159から最終マクロブロック判定部178までの処理を,次の拡張階層について繰り返す。
図8は実施例2の符号化処理のフローチャート,図9は実施例2の符号化装置の構成例,図10は実施例2の復号処理のフローチャート,図11は実施例2の復号装置の構成例を示す図である。
[符号化処理の流れ(実施例2)]
実施例2の符号化処理の流れについて,図8に示すフローチャートに従って説明する。
・ステップS201:JSVCの参照ソフトウェアであるJSVMが出力するエントロピ符号化の符号化結果を入力として読み込み,レジスタに出力する。
・ステップS202:輝度色差分離フラグluma_chroma_sep _flagを入力として読み込み,同フラグが“1”か否かの判定を行い,判定結果が真値の場合,ステップS203に進む。そうでなければ,ステップS217に進む。
・ステップS203:JSVCの参照ソフトウェアであるJSVMが出力するエントロピ符号化の符号化結果から輝度CBP,色差CBPを入力として読み込む。
・ステップS204:ステップS203で入力した輝度CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS205に進む。そうでなければ,ステップS209に進む。
・ステップS205:JSVMで規定された輝度信号のヘッダの符号化ビットを符号化ストリームに書き出す。
・ステップS206:色差CBPを輝度信号のヘッダの符号化ビットの一部として,符号化ストリームに書き出す。
・ステップS207:色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS210に進む。そうでなければ,ステップS208に進む。
・ステップS208:量子化パラメータの差分値ΔQPを輝度信号のヘッダの符号化ビットの一部として,符号化ストリームに書き出す。
・ステップS209:輝度CBPが“0”でない場合,輝度信号の符号化ビットをJSVMの規定に従い,符号化ストリームに書き出す。
・ステップS210:ステップS203〜S209の処理を当該拡張階層における輝度信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,ステップS211に進む。
・ステップS211:色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS212に進む。そうでなければ,ステップS213に進む。
・ステップS212:JSVMで規定された色差信号のヘッダの符号化ビット(ただし,色差CBPを除く)を符号化ストリームに書き出す。
・ステップS213:JSVMで規定された色差信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を符号化ストリームに書き出す。
・ステップS214:JSVMで規定された色差信号のヘッダ以外の符号化ビットを符号化ストリームに書き出す。
・ステップS215:ステップS211〜S214の処理を当該拡張階層における色差信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,ステップS216に進む。
・ステップS216:全拡張階層(FGS階層)について符号化ストリームを書き出したならば,処理を終了する。そうでなければ,次の拡張階層について,ステップS203〜S215の処理を同様に繰り返す。
・ステップS217:輝度色差分離フラグluma_chroma_sep _flagが“0”の場合,輝度信号,色差信号の符号化ビットを,JSVMの規定に従い,符号化ストリームに書き出す。
[符号化装置(実施例2)]
実施例2の符号化装置について,図9に示すブロック図に従って説明する。
・エントロピ符号化ビット記憶部201:JSVCの参照ソフトウェアであるJSVMが出力するエントロピ符号化の符号化結果を格納する。
・輝度色差分離フラグ記憶部202:輝度色差分離フラグluma_chroma_sep _flagを格納する。
・輝度色差分離判定部203:輝度色差分離フラグ記憶部202から輝度色差分離フラグluma_chroma_sep _flagを入力として読み込み,同フラグが“0”か“1”かの判定を行い,同フラグが“0”の場合,JSVC符号化ストリーム書き出し部204の処理に進む。同フラグが“1”の場合,輝度CBP判定部207の処理に進む。
・JSVC符号化ストリーム書き出し部204:エントロピ符号化ビット記憶部201からエントロピ符号化の符号化結果を入力として読み込み,JSVMの規定に従い,符号化ストリームとして符号化ストリーム記憶部205に書き出す。
・輝度CBP判定部207:輝度CBP記憶部206が記憶する輝度CBPが“0”か否かの判定を行い,判定結果が真値の場合,輝度信号ヘッダ符号化ビット書き出し部210の処理に進む。そうでなければ,輝度信号符号化ストリーム書き出し部208の処理に進む。
・輝度信号符号化ストリーム書き出し部208:輝度信号の符号化ビットをJSVMの規定に従い,符号化ストリーム記憶部209に書き出す。
・輝度信号ヘッダ符号化ビット書き出し部210:JSVMで規定された輝度信号のヘッダの符号化ビットを符号化ストリーム記憶部211に書き出す。
・色差CBP符号化部213:色差CBP記憶部212が記憶する色差CBPを読み込み,符号化処理を行い,符号化ストリーム記憶部214に輝度信号のヘッダの符号化ビットの一部として書き出す。
・色差CBP判定部215:色差CBP記憶部212が記憶する色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,最終マクロブロック判定部221の処理に進む。そうでなければ,ΔQP符号化部217の処理に進む。
・ΔQP符号化部217:ΔQP記憶部216が記憶するΔQPを読み込み,符号化処理を行い,符号化ストリーム記憶部218に輝度信号のヘッダの符号化ビットの一部として書き出す。
・最終マクロブロック判定部221:輝度CBP判定部207からΔQP符号化部217によりΔQPを符号化ストリーム記憶部218に書き出すまでの処理を,当該拡張階層における輝度信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,色差CBP判定部222の処理に進む。
・色差CBP判定部222:色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,色差信号ヘッダ符号化ビット書き出し部227の処理に進む。そうでなければ,色差信号ヘッダ符号化ビット書き出し部223の処理に進む。
・色差信号ヘッダ符号化ビット書き出し部223:JSVMで規定された色差信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を符号化ストリーム記憶部224に書き出す。
・色差信号非ヘッダ符号化ビット書き出し部225:JSVMで規定された色差信号のヘッダ以外の符号化ビットを符号化ストリーム記憶部226に書き出す。
・色差信号ヘッダ符号化ビット書き出し部227:JSVMで規定された色差信号のヘッダの符号化ビット(ただし,色差CBPを除く)を符号化ストリーム記憶部224に書き出す。
・ΔQP符号化部229:ΔQP記憶部216が記憶するΔQPを読み込み,符号化処理を行い,符号化ストリーム記憶部230に輝度信号のヘッダの符号化ビットの一部として書き出す。
・最終マクロブロック判定部231:色差CBP判定部222からΔQP符号化部229までの処理を,当該拡張階層における色差信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,最終拡張階層判定部232の処理に進む。
・最終拡張階層判定部232:最終拡張階層まで処理したかどうかを判定し,最終拡張階層まで処理したならば処理を終了する。そうでなければ,輝度CBP判定部207から最終マクロブロック判定部231までの処理を,次の拡張階層について繰り返す。
[復号処理の流れ(実施例2)]
実施例2の復号処理の流れについて,図10に示すフローチャートに従って説明する。
・ステップS251:符号化ストリーム中の輝度色差分離フラグluma_chroma_sep _flagに対する符号化ビットを入力として読み込み,復号処理を行い,復号値をレジスタに書き出す。
・ステップS252:輝度色差分離フラグluma_chroma_sep _flagが“1”か否かの判定を行い,判定結果が真値の場合,ステップS253に進む。そうでなければ,ステップS267に進む。
・ステップS253:符号化ストリーム中の輝度CBPの符号化ビットを入力として読み込み,復号処理を行い,レジスタに書き出す。
・ステップS254:ステップS253で復号した輝度CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS255に進む。そうでなければ,ステップS259に進む。
・ステップS255:JSVCで規定された輝度信号のヘッダの符号化ビットを復号する。
・ステップS256:輝度信号のヘッダ内の色差CBPの符号化ビットを復号する。
・ステップS257:ステップS256で復号した色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS260に進む。そうでなければ,ステップS258に進む。
・ステップS258:輝度信号のヘッダ内の量子化パラメータの差分値ΔQPの符号化ビットを復号する。
・ステップS259:輝度CBPが“0”でない場合,符号化ストリーム中の当該マクロブロックの輝度信号の符号化ビットを入力として読み込み,JSVCの規定に従い,復号する。
・ステップS260:ステップS253〜S259の処理を当該拡張階層における輝度信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,ステップS261に進む。
・ステップS261:色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,ステップS264に進む。そうでなければ,ステップS262に進む。
・ステップS262:JSVCで規定された色差信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を復号する。
・ステップS263:JSVCで規定された色差信号のヘッダ以外の符号化ビットを復号する。
・ステップS264:JSVCで規定された色差信号のヘッダの符号化ビット(ただし,色差CBPを除く)を復号する。
・ステップS265:ステップS261〜S264の処理を当該拡張階層における色差信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,ステップS266に進む。
・ステップS266:全拡張階層(FGS階層)について復号処理を終了したならば,処理を終了する。そうでなければ,次の拡張階層について,ステップS253〜S265の処理を同様に繰り返す。
・ステップS267:輝度色差分離フラグluma_chroma_sep _flagが“0”の場合,輝度信号,色差信号の符号化ビットを,JSVCの規定に従い,復号する。
[復号装置(実施例2)]
実施例2の復号装置について,図11に示すブロック図に従って説明する。
・符号化ストリーム記憶部251:JSVCの参照ソフトウェアであるJSVMが出力した符号化ストリームを格納する。
・輝度色差分離フラグ復号処理部252:符号化ストリーム記憶部251から読み出した符号化ストリームを入力とし,輝度色差分離フラグluma_chroma_sep _flagの符号化ビットに対する復号処理を行い,その復号結果を輝度色差分離フラグ記憶部253に格納する。
輝度色差分離判定部254:輝度色差分離フラグ記憶部253から輝度色差分離フラグluma_chroma_sep _flagを入力として読み込み,同フラグが“1”か否かの判定を行い,判定結果が真値の場合,輝度CBP復号処理部257の処理に進む。そうでなけれぱ,JSVC符号化ストリーム復号処理部255の処理に進む。
JSVC符号化ストリーム復号処理部255:符号化ストリーム記憶部251から符号化ストリームを入力として読み込み,JSVCの規定に従い,復号処理を行い,復号結果を復号信号記憶部256に書き出す。
・輝度CBP復号処理部257:符号化ストリーム中の輝度CBPの符号化ビットを入力として読み込み,復号処理を行い,復号結果を輝度CBP記憶部258に書き出す。
・輝度CBP判定部259:輝度CBP記憶部258に書き出した輝度CBPが“0”か否かの判定を行い,判定結果が真値の場合,輝度信号符号化ストリーム復号処理部260の処理に進む。そうでなければ,輝度信号ヘッダ符号化ビット復号処理部262の処理に進む。
・輝度信号符号化ストリーム復号処理部260:符号化ストリーム中の当該マクロブロックの輝度信号の符号化ビットを入力として読み込み,JSVCの規定に従い復号し,復号結果を復号信号記憶部261に書き出す。
・輝度信号ヘッダ符号化ビット復号処理部262:JSVCで規定された輝度信号のヘッダの符号化ビットを復号し,復号信号記憶部263に書き出す。
・色差CBP復号処理部264:また,輝度信号のヘッダ内の色差CBPの符号化ビットを復号し,色差CBP記憶部265に書き出す。
・色差CBP判定部267:色差CBP記憶部265が記憶する色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,最終マクロブロック判定部273の処理に進む。そうでなければ,ΔQP復号処理部268の処理に進む。
・ΔQP復号処理部268:輝度信号のヘッダ内の量子化パラメータの差分値ΔQPを復号し,ΔQP記憶部269に書き出す。
・最終マクロブロック判定部273:輝度CBP判定部259からΔQP復号処理部268までの処理を,当該拡張階層における輝度信号の全マクロブロックについて行い,全マクロブロックについて処理が終了したならば,色差CBP判定部274の処理に進む。
・色差CBP判定部274:色差CBP記憶部265が記憶する色差CBPが“0”か否かの判定を行い,判定結果が真値の場合,色差信号ヘッダ符号化ビット復号処理部279の処理に進む。そうでなければ,色差信号ヘッダ符号化ビット復号処理部275の処理に進む。
・色差信号ヘッダ符号化ビット復号処理部275:JSVCで規定された色差信号のヘッダの符号化ビット(ただし,ΔQP,色差CBPを除く)を復号し,復号信号記憶部276に書き出す。
・色差信号非ヘッダ符号化ビット復号処理部277:JSVCで規定された色差信号のヘッダ以外の符号化ビットを復号し,復号信号記憶部278に書き出す。
・色差信号ヘッダ符号化ビット復号処理部279:JSVCで規定された色差信号のヘッダの符号化ビット(ただし,色差CBPを除く)を復号し,復号信号記憶部280に書き出す。
・ΔQP復号処理部281:色差信号のヘッダの符号化ビットに含まれるΔQPを復号し,復号信号記憶部282に書き出す。
・最終マクロブロック判定部283:色差CBP判定部274からΔQP復号処理部281までの処理を,当該拡張階層における色差信号の全マクロブロックについて行ったかどうかを判定し,全マクロブロックについて処理が終了したならば,最終拡張階層判定部284の処理に進む。そうでなけれは,次の拡張階層について同様に色差信号の復号処理を繰り返す。
・最終拡張階層判定部284:最終拡張階層まで処理したかどうかを判定し,最終拡張階層まで処理したならば処理を終了する。そうでなければ,輝度CBP判定部259から最終マクロブロック判定部283までの処理を,次の拡張階層について繰り返す。
[符号化処理の流れ(実施例3)]
実施例3の符号化処理の流れを,図12に示す。
図4で説明した実施例1の符号化処理では,基本階層に続く拡張階層について,各拡張階層毎に輝度信号と色差信号とを分離し,輝度信号の符号化ビットを符号化ストリームに書き出してから,色差信号の符号化ビットを符号化ストリームに書き出していた。
これに対し,実施例3の符号化処理では,図2に示すように,複数の拡張階層に対して横断的に色差情報の切り取り可能な符号化ストリームを生成する。すなわち,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納する。
このため,実施例3では,ステップS302において,輝度色差分離フラグluma_chroma_sep _flagを入力として読み込み,同フラグが“2”か否かの判定を行い,判定結果が真値の場合,ステップS303〜S314の処理を実行する。そうでなければ,ステップS315の処理を行う。
また,全拡張階層の輝度信号の符号化データの出力が終えてから,全拡張階層の色差信号の符号化データの出力処理に移るので,「全拡張階層(全FGS階層)についての処理が終了した」かどうかの判定を,輝度信号の符号化データの出力が終了した時点(ステップS309)と,色差信号の符号化データの出力が終了した時点(ステップS314)とで行う。他の処理については,図4に示した実施例1の符号化処理と同様である。
[符号化装置(実施例3)]
実施例3の符号化装置の構成例を,図13に示す。
図5に示した実施例1の符号化装置と,実施例3の符号化装置との違いは,実施例1では,各拡張階層毎に輝度信号の符号化データの出力と,色差信号の符号化データの出力とを行っていたのに対し,実施例3では,輝度信号の符号化データを,最も基本階層に近い拡張階層から最終拡張階層まで出力してから,色差信号の符号化データを最も基本階層に近い拡張階層から最終拡張階層まで出力する点である。
したがって,輝度色差分離判定部303において,輝度色差分離フラグluma_chroma_sep _flagが“2”かどうかを判定する点と,輝度信号の符号化ストリームの書き出しにおいて,一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部320の後に,最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部327が設けられ,また,色差信号の符号化ストリームの書き出しにおいて,一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部326の後に,最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部328が設けられている点が,実施例1の符号化装置と異なる。他の処理部については,図5に示した実施例1の符号化装置と同様である。
[復号処理の流れ(実施例3)]
実施例3の復号処理の流れを,図14に示す。
図6で説明した実施例1の復号処理と,実施例3の復号処理との違いは,実施例3の場合,ステップS352において,輝度色差分離フラグluma_chroma_sep _flagフラグが“2”か否かの判定を行う点と,全拡張階層(全FGS階層)について処理が終了したどうかの判定を,輝度信号の符号化データの復号処理と,色差信号の符号化データの復号処理とで分けて判定(ステップS359,S364)している点である。他の処理については,図6に示した実施例1の復号処理と同様である。
[復号装置(実施例3)]
実施例3の復号装置の構成例を,図15に示す。
図7に示した実施例1の復号装置と,実施例3の復号装置との違いは,実施例3の場合,輝度色差分離判定部354において,輝度色差分離フラグluma_chroma_sep _flagが“2”かどうかを判定する点と,輝度信号の復号処理において,一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部372の後に,最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部379が設けられ,また,色差信号の復号処理において,一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部378の後に,最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部380が設けられている点である。他の処理部については,図7に示した実施例1の復号装置と同様である。
[符号化処理の流れ(実施例4)]
実施例4の符号化処理の流れを,図16に示す。
図8で説明した実施例2の符号化処理では,基本階層に続く拡張階層について,各拡張階層毎に輝度信号と色差信号とを分離し,輝度信号の符号化ビットを符号化ストリームに書き出してから,色差信号の符号化ビットを符号化ストリームに書き出していた。
これに対し,実施例4の符号化処理では,図2に示すように,複数の拡張階層に対して横断的に色差情報の切り取り可能な符号化ストリームを生成する。すなわち,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納する。
このため,実施例4では,ステップS402において,輝度色差分離フラグluma_chroma_sep _flagを入力として読み込み,同フラグが“2”か否かの判定を行い,判定結果が真値の場合,ステップS403〜S417の処理を実行する。そうでなければ,ステップS418の処理を行う。
また,全拡張階層の輝度信号の符号化データの出力が終えてから,全拡張階層の色差信号の符号化データの出力処理に移るので,「全拡張階層(全FGS階層)についての処理が終了した」かどうかの判定を,輝度信号の符号化データの出力が終了した時点(ステップS411)と,色差信号の符号化データの出力が終了した時点(ステップS417)とで行う。他の処理については,図8に示した実施例2の符号化処理と同様である。
[符号化装置(実施例4)]
実施例4の符号化装置の構成例を,図17に示す。
図9に示した実施例2の符号化装置と,実施例4の符号化装置との違いは,実施例2では,各拡張階層毎に輝度信号の符号化データの出力と,色差信号の符号化データの出力とを行っていたのに対し,実施例4では,輝度信号の符号化データを,最も基本階層に近い拡張階層から最終拡張階層まで出力してから,色差信号の符号化データを最も基本階層に近い拡張階層から最終拡張階層まで出力する点である。
したがって,輝度色差分離判定部403において,輝度色差分離フラグluma_chroma_sep _flagが“2”かどうかを判定する点と,輝度信号の符号化ストリームの書き出しにおいて,一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部421の後に,最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部432が設けられ,また,色差信号の符号化ストリームの書き出しにおいて,一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部431の後に,最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部433が設けられている点が,実施例2の符号化装置と異なる。他の処理部については,図9に示した実施例2の符号化装置と同様である。
[復号処理の流れ(実施例4)]
実施例4の復号処理の流れを,図18に示す。
図10で説明した実施例2の復号処理と,実施例4の復号処理との違いは,実施例4の場合,ステップS452において,輝度色差分離フラグluma_chroma_sep _flagフラグが“2”か否かの判定を行う点と,全拡張階層(全FGS階層)について処理が終了したどうかの判定を,輝度信号の符号化データの復号処理と,色差信号の符号化データの復号処理とで分けて判定(ステップS461,S467)している点である。他の処理については,図10に示した実施例2の復号処理と同様である。
[復号装置(実施例4)]
実施例4の復号装置の構成例を,図19に示す。
図11に示した実施例2の復号装置と,実施例4の復号装置との違いは,実施例4の場合,輝度色差分離判定部454において,輝度色差分離フラグluma_chroma_sep _flagが“2”かどうかを判定する点と,輝度信号の復号処理において,一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部473の後に,最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部484が設けられ,また,色差信号の復号処理において,一つの拡張階層の最終マクロブロックが処理されたかどうかを判定する最終マクロブロック判定部483の後に,最終拡張階層まで処理したかどうかを判定する最終拡張階層判定部485が設けられている点である。他の処理部については,図11に示した実施例2の復号装置と同様である。
以上のように符号化装置および復号装置を構成することによって,同じ拡張階層のマクロブロックデータ,すなわちマクロブロック毎の輝度情報および色差情報を入力として,複数のマクロブロックの輝度情報を集めたブロックと,色差情報を集めたブロックを生成した符号化ストリームを生成することができるようになり,また,色差情報だけを切り取った符号化ストリームを復号しても,量子化パラメータの不一致によるドリフト誤差が発生を防止することができる。
以上の符号化および復号の処理は,ハードウェアまたはファームウェアによって実現することができるとともに,コンピュータとソフトウェアプログラムとによっても実現することができ,そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも,ネットワークを通して提供することも可能である。
本発明の概要を説明するためのスケーラブル符号化装置のブロック図である。 複数のPRスライスに対して横断的に色差情報の切り取り可能な符号化ストリームの例を示す図である。 本発明による符号化ストリームの構造の例を示す図である。 実施例1の符号化処理のフローチャートである。 実施例1の符号化装置の構成例を示す図である。 実施例1の復号処理のフローチャートである。 実施例1の復号装置の構成例を示す図である。 実施例2の符号化処理のフローチャートである。 実施例2の符号化装置の構成例を示す図である。 実施例2の復号処理のフローチャートである。 実施例2の復号装置の構成例を示す図である。 実施例3の符号化処理のフローチャートである。 実施例3の符号化装置の構成例を示す図である。 実施例3の復号処理のフローチャートである。 実施例3の復号装置の構成例を示す図である。 実施例4の符号化処理のフローチャートである。 実施例4の符号化装置の構成例を示す図である。 実施例4の復号処理のフローチャートである。 実施例4の復号装置の構成例を示す図である。 輝度色差分離フラグを“1”にした場合の符号化ストリームの切り取り順序を示す図である。 H.264におけるマクロブロックの輝度成分と色差成分の例を示す図である。 JSVCにおける符号化ストリームの構造の例を示す図である。
符号の説明
1 スケーラブル符号化装置
10 階層符号化部
11 輝度色差分離フラグ判定部
12 出力切り替え部
13 輝度信号・色差信号符号化データ出力部
20,30 輝度信号有意係数有無判定部
21,31 輝度信号符号化データ出力部
22,32 輝度信号ヘッダ部出力部
23,33 色差信号ヘッダ部出力部
24,34 色差信号符号化データ出力部
25 拡張階層別出力制御部
35 拡張階層別輝度信号出力制御部
36 拡張階層別色差信号出力制御部

Claims (15)

  1. 画像信号を階層毎に符号化し,基本階層と1または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化方法において,
    画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を,前記各階層毎に行う過程と,
    基本階層の符号化データからなる符号化ストリームを出力する過程と,
    拡張階層の符号化データについて,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第1の方式と,輝度信号の符号化データと色差信号の符号化データとを分離し,各拡張階層の符号化ストリーム中の前半と後半とに分けて,両データを符号化ストリーム中に格納する第2の方式のいずれかを選択する過程と,
    前記第1の方式が選択された場合に,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する過程と,
    前記第2の方式が選択された場合に,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する過程とを有する
    ことを特徴とするスケーラブル符号化方法。
  2. 画像信号を階層毎に符号化し,基本階層と1または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化方法において,
    画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を,前記各階層毎に行う過程と,
    基本階層の符号化データからなる符号化ストリームを出力する過程と,
    拡張階層の符号化データについて,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第1の方式と,輝度信号の符号化データと色差信号の符号化データとを分離し,全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて,両データを符号化ストリーム中に格納する第2の方式のいずれかを選択する過程と,
    前記第1の方式が選択された場合に,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する過程と,
    前記第2の方式が選択された場合に,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する過程とを有する
    ことを特徴とするスケーラブル符号化方法。
  3. 画像信号を階層毎に符号化し,基本階層と1または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化方法において,
    画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を,前記各階層毎に行う過程と,
    基本階層の符号化データからなる符号化ストリームを出力する過程と,
    拡張階層の符号化データについて,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第1の方式と,輝度信号の符号化データと色差信号の符号化データとを分離し,各拡張階層の符号化ストリーム中の前半と後半とに分けて,両データを符号化ストリーム中に格納する第2の方式と,輝度信号の符号化データと色差信号の符号化データとを分離し,全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて,両データを符号化ストリーム中に格納する第3の方式のいずれかを選択する過程と,
    前記第1の方式が選択された場合に,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する過程と,
    前記第2の方式が選択された場合に,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する過程と,
    前記第3の方式が選択された場合に,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する過程とを有する
    ことを特徴とするスケーラブル符号化方法。
  4. 請求項1,請求項2または請求項3記載のスケーラブル符号化方法において,
    前記輝度信号の符号化データと色差信号の符号化データとを分離する際,
    マクロブロック内の輝度信号の有意係数の有無を示すフラグ,およびマクロブロック内の色差信号の有意係数の有無を示すフラグ,および当該マクロブロックの量子化パラメータと近接するマクロブロックの量子化パラメータとの差分値を,輝度信号と色差信号のうち符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化する
    ことを特徴とするスケーラブル符号化方法。
  5. 請求項1,請求項2または請求項3記載のスケーラブル符号化方法において,
    前記輝度信号の符号化データと色差信号の符号化データとを分離する際,
    マクロブロック内の輝度信号の有意係数の有無を示すフラグ,およびマクロブロック内の色差信号の有意係数の有無を示すフラグを,輝度信号と色差信号のうち符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化し,
    さらに,マクロブロック内の色差信号に有意係数が存在する場合には,当該マクロブロックの量子化パラメータと近接するマクロブロックの量子化パラメータとの差分値を,輝度信号と色差信号のうち符号化ストリームの先頭に近い位置に配置される輝度信号の情報として符号化する
    ことを特徴とするスケーラブル符号化方法。
  6. 画像信号を階層毎に符号化し,基本階層と1または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化装置において,
    画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を,前記各階層毎に行う手段と,
    基本階層の符号化データからなる符号化ストリームを出力する手段と,
    拡張階層の符号化データについて,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第1の方式と,輝度信号の符号化データと色差信号の符号化データとを分離し,各拡張階層の符号化ストリーム中の前半と後半とに分けて,両データを符号化ストリーム中に格納する第2の方式のいずれかを選択する手段と,
    前記第1の方式が選択された場合に,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する手段と,
    前記第2の方式が選択された場合に,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する手段とを備える
    ことを特徴とするスケーラブル符号化装置。
  7. 画像信号を階層毎に符号化し,基本階層と1または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化装置において,
    画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を,前記各階層毎に行う手段と,
    基本階層の符号化データからなる符号化ストリームを出力する手段と,
    拡張階層の符号化データについて,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第1の方式と,輝度信号の符号化データと色差信号の符号化データとを分離し,全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて,両データを符号化ストリーム中に格納する第2の方式のいずれかを選択する手段と,
    前記第1の方式が選択された場合に,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する手段と,
    前記第2の方式が選択された場合に,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する手段とを備える
    ことを特徴とするスケーラブル符号化装置。
  8. 画像信号を階層毎に符号化し,基本階層と1または複数の拡張階層とからなる符号化ストリームを出力するスケーラブル符号化装置において,
    画像シーケンスの各フレーム内の部分領域であるマクロブロック毎に輝度信号および色差信号に対して符号化データを生成する処理を,前記各階層毎に行う手段と,
    基本階層の符号化データからなる符号化ストリームを出力する手段と,
    拡張階層の符号化データについて,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納する第1の方式と,輝度信号の符号化データと色差信号の符号化データとを分離し,各拡張階層の符号化ストリーム中の前半と後半とに分けて,両データを符号化ストリーム中に格納する第2の方式と,輝度信号の符号化データと色差信号の符号化データとを分離し,全拡張階層にわたる符号化ストリーム中の前半と後半とに分けて,両データを符号化ストリーム中に格納する第3の方式のいずれかを選択する手段と,
    前記第1の方式が選択された場合に,マクロブロック毎に輝度信号の符号化データと色差信号の符号化データとを対にして符号化ストリーム中に格納して出力する手段と,
    前記第2の方式が選択された場合に,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で各拡張階層の符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する手段と,
    前記第3の方式が選択された場合に,輝度信号の符号化データと色差信号の符号化データとを分離可能な形で全拡張階層にわたる符号化ストリーム中の前半と後半に分けて格納することで色チャネル間のスケーラビリティを実現する符号化ストリームを出力する手段とを備える
    ことを特徴とするスケーラブル符号化装置。
  9. 請求項1から請求項5までのいずれか1項に記載されたスケーラブル符号化方法によって符号化された符号化ストリームを復号するスケーラブル復号方法。
  10. 請求項1から請求項5までのいずれか1項に記載されたスケーラブル符号化方法によって符号化された符号化ストリームの後半を切り落としたストリームを復号するスケーラブル復号方法。
  11. 請求項9または請求項10に記載されたスケーラブル復号方法を実行する手段を備えるスケーラブル復号装置。
  12. 請求項1から請求項5までのいずれか1項に記載されたスケーラブル符号化方法を,コンピュータに実行させるためのスケーラブル符号化プログラム。
  13. 請求項1から請求項5までのいずれか1項に記載されたスケーラブル符号化方法を,コンピュータに実行させるためのスケーラブル符号化プログラムを記録したコンピュータ読み取り可能な記録媒体。
  14. 請求項9または請求項10に記載されたスケーラブル復号方法を,コンピュータに実行させるためのスケーラブル復号プログラム。
  15. 請求項9または請求項10に記載されたスケーラブル復号方法を,コンピュータに実行させるためのスケーラブル復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2006279371A 2006-10-13 2006-10-13 スケーラブル符号化方法,復号方法,これらの装置,およびこれらのプログラム並びにその記録媒体 Pending JP2008099045A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006279371A JP2008099045A (ja) 2006-10-13 2006-10-13 スケーラブル符号化方法,復号方法,これらの装置,およびこれらのプログラム並びにその記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006279371A JP2008099045A (ja) 2006-10-13 2006-10-13 スケーラブル符号化方法,復号方法,これらの装置,およびこれらのプログラム並びにその記録媒体

Publications (1)

Publication Number Publication Date
JP2008099045A true JP2008099045A (ja) 2008-04-24

Family

ID=39381411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006279371A Pending JP2008099045A (ja) 2006-10-13 2006-10-13 スケーラブル符号化方法,復号方法,これらの装置,およびこれらのプログラム並びにその記録媒体

Country Status (1)

Country Link
JP (1) JP2008099045A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013225889A (ja) * 2008-06-03 2013-10-31 Microsoft Corp 強調レイヤ映像符号化に関する適応量子化
JP2018042257A (ja) * 2012-10-01 2018-03-15 ジーイー ビデオ コンプレッション エルエルシー エンハンスメント層の中の変換係数ブロックの副ブロックに基づいた符号化を使用するスケーラブルビデオ符号化
US9967561B2 (en) 2006-05-05 2018-05-08 Microsoft Technology Licensing, Llc Flexible quantization

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9967561B2 (en) 2006-05-05 2018-05-08 Microsoft Technology Licensing, Llc Flexible quantization
US10306227B2 (en) 2008-06-03 2019-05-28 Microsoft Technology Licensing, Llc Adaptive quantization for enhancement layer video coding
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US9185418B2 (en) 2008-06-03 2015-11-10 Microsoft Technology Licensing, Llc Adaptive quantization for enhancement layer video coding
US9571840B2 (en) 2008-06-03 2017-02-14 Microsoft Technology Licensing, Llc Adaptive quantization for enhancement layer video coding
JP2013225889A (ja) * 2008-06-03 2013-10-31 Microsoft Corp 強調レイヤ映像符号化に関する適応量子化
US10477210B2 (en) 2012-10-01 2019-11-12 Ge Video Compression, Llc Scalable video coding using inter-layer prediction contribution to enhancement layer prediction
US10694183B2 (en) 2012-10-01 2020-06-23 Ge Video Compression, Llc Scalable video coding using derivation of subblock subdivision for prediction from base layer
US10218973B2 (en) 2012-10-01 2019-02-26 Ge Video Compression, Llc Scalable video coding using subblock-based coding of transform coefficient blocks in the enhancement layer
US10212420B2 (en) 2012-10-01 2019-02-19 Ge Video Compression, Llc Scalable video coding using inter-layer prediction of spatial intra prediction parameters
JP2018042257A (ja) * 2012-10-01 2018-03-15 ジーイー ビデオ コンプレッション エルエルシー エンハンスメント層の中の変換係数ブロックの副ブロックに基づいた符号化を使用するスケーラブルビデオ符号化
US10681348B2 (en) 2012-10-01 2020-06-09 Ge Video Compression, Llc Scalable video coding using inter-layer prediction of spatial intra prediction parameters
US10687059B2 (en) 2012-10-01 2020-06-16 Ge Video Compression, Llc Scalable video coding using subblock-based coding of transform coefficient blocks in the enhancement layer
US10212419B2 (en) 2012-10-01 2019-02-19 Ge Video Compression, Llc Scalable video coding using derivation of subblock subdivision for prediction from base layer
US10694182B2 (en) 2012-10-01 2020-06-23 Ge Video Compression, Llc Scalable video coding using base-layer hints for enhancement layer motion parameters
US11134255B2 (en) 2012-10-01 2021-09-28 Ge Video Compression, Llc Scalable video coding using inter-layer prediction contribution to enhancement layer prediction
US11477467B2 (en) 2012-10-01 2022-10-18 Ge Video Compression, Llc Scalable video coding using derivation of subblock subdivision for prediction from base layer
US11575921B2 (en) 2012-10-01 2023-02-07 Ge Video Compression, Llc Scalable video coding using inter-layer prediction of spatial intra prediction parameters
US11589062B2 (en) 2012-10-01 2023-02-21 Ge Video Compression, Llc Scalable video coding using subblock-based coding of transform coefficient blocks in the enhancement layer
US12010334B2 (en) 2012-10-01 2024-06-11 Ge Video Compression, Llc Scalable video coding using base-layer hints for enhancement layer motion parameters

Similar Documents

Publication Publication Date Title
US8369404B2 (en) Moving image decoding device and moving image decoding method
AU2023201466B2 (en) Signaling of scalability parameters in video bitstream
CN113875256B (zh) 进行视频解码的方法、装置及存储介质
CN115004700A (zh) 用于视频编码的方法和装置
US20230328290A1 (en) Techniques for constraint flag signaling for range extension with residual rice coding extension
CA3136760A1 (en) Method for wrap around motion compensation with reference picture resampling
JP2008099045A (ja) スケーラブル符号化方法,復号方法,これらの装置,およびこれらのプログラム並びにその記録媒体
JP7378485B2 (ja) Qt/bt/ttサイズの改善されたヘッダシンタックス
EP4214927A1 (en) Techniques for constraint flag signaling for range extension with rice coding
AU2020417994B2 (en) Method for parameter set reference constraints in coded video stream
RU2787557C1 (ru) Способ ссылки и ограничений на набор параметров адаптации в кодированном видеопотоке
CN113286152B (zh) 视频解码方法、装置、计算机设备及存储介质
RU2824189C2 (ru) Сигнализация, связанная с адаптивным преобразованием цвета, для уровня cu и уровня tu
US12069310B2 (en) Techniques for constraint flag signaling for range extension
US20240276019A1 (en) Residual coding constraint flag signaling
US20230098691A1 (en) Techniques for constraint flag signaling for range extension with extended precision
JP2008099044A (ja) 色チャネルスケーラブル符号化方法,復号方法,これらの装置,およびこれらのプログラム並びにその記録媒体
EP4218233A1 (en) Techniques for constraint flag signaling for range extension with coding for last significant coefficient

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080529