以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
0.概要
1.第1の実施の形態(画像符号化装置)
2.第2の実施の形態(画像復号装置)
3.第3の実施の形態(画像符号化装置)
4.第4の実施の形態(画像復号装置)
5.第5の実施の形態(画像符号化装置)
6.第6の実施の形態(画像復号装置)
7.概要2
8.第7の実施の形態(画像符号化装置)
9.第8の実施の形態(画像復号装置)
10.概要3
11.第9の実施の形態(画像符号化装置)
12.第10の実施の形態(画像復号装置)
13.第11の実施の形態(レイヤ間シンタクス予測制御)
14.その他
15.第12の実施の形態(コンピュータ)
16.応用例
17.スケーラブル符号化の応用例
18.第13の実施の形態(セット・ユニット・モジュール・プロセッサ)
19.第14の実施の形態(MPEG-DASHのコンテンツ再生システムの応用例)
20.第15の実施の形態(Wi-Fi規格の無線通信システムの応用例)
<0.概要>
<符号化方式>
以下においては、HEVC(High Efficiency Video Coding)方式の画像符号化・復号に適用する場合を例に、本技術を説明する。
<コーディングユニット>
AVC(Advanced Video Coding)方式においては、マクロブロックとサブマクロブロックによる階層構造が規定されている。しかしながら、16画素×16画素のマクロブロックでは、次世代符号化方式の対象となるような、UHD(Ultra High Definition;4000画素×2000画素)といった大きな画枠に対して最適ではない。
これに対して、HEVC方式においては、図1に示されるように、コーディングユニット(CU(Coding Unit))が規定されている。
CUは、Coding Tree Block(CTB)とも呼ばれ、AVC方式におけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、16×16画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
例えば、出力となる符号化データに含まれるシーケンスパラメータセット(SPS(Sequence Parameter Set))において、CUの最大サイズ(LCU(Largest Coding Unit))と最小サイズ(SCU(Smallest Coding Unit))が規定される。
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図1の例では、LCUの大きさが128であり、最大階層深度が5となる。2N×2Nの大きさのCUは、split_flagの値が「1」である時、1つ下の階層となる、N×Nの大きさのCUに分割される。
更に、CUは、イントラ若しくはインター予測の処理単位となる領域(ピクチャ単位の画像の部分領域)であるプレディクションユニット(Prediction Unit(PU))に分割され、また、直交変換の処理単位となる領域(ピクチャ単位の画像の部分領域)である、トランスフォームユニット(Transform Unit(TU))に分割される。現在、HEVC方式においては、4×4及び8×8に加え、16×16及び32×32直交変換を用いることが可能である。
以上のHEVC方式のように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVC方式におけるマクロブロックはLCUに相当し、ブロック(サブブロック)はCUに相当すると考えることができる。また、AVC方式における動き補償ブロックは、PUに相当すると考えることができる。ただし、CUは、階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVC方式のマクロブロックより大きく設定されることが一般的である。
よって、以下、LCUは、AVC方式におけるマクロブロックをも含むものとし、CUは、AVC方式におけるブロック(サブブロック)をも含むものとする。つまり、以下の説明に用いる「ブロック」は、ピクチャ内の任意の部分領域を示し、その大きさ、形状、および特性等は限定されない。つまり、「ブロック」には、例えば、TU、PU、SCU、CU、LCU、サブブロック、マクロブロック、またはスライス等任意の領域(処理単位)が含まれる。もちろん、これら以外の部分領域(処理単位)も含まれる。サイズや処理単位等を限定する必要がある場合は、適宜説明する。
また、本明細書において、CTU(Coding Tree Unit)は、LCU(最大数のCU)のCTB(Coding Tree Block)と、そのLCUベース(レベル)で処理するときのパラメータを含む単位であるとする。また、CTUを構成するCU(Coding Unit)は、CB(Coding Block)と、そのCUベース(レベル)で処理するときのパラメータを含む単位であるとする。
<モード選択>
ところで、AVCそしてHEVC符号化方式において、より高い符号化効率を達成するには、適切な予測モードの選択が重要である。
かかる選択方式の例として、JM (Joint Model) と呼ばれるH.264/MPEG-4 AVCの参照ソフトウエア (http://iphome.hhi.de/suehring/tml/index.htm において公開されている) に実装されている方法を挙げることが出来る。
JMにおいては、以下に述べる、High Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択することが可能である。どちらも、それぞれの予測モードModeに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
High Complexity Modeにおけるコスト関数は、以下の式(1)のように示される。
ここで、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合、Dは、当該予測モードで符号化した場合の、復号画像と入力画像の差分エネルギーである。λは、量子化パラメータの関数として与えられるLagrange未定乗数である。Rは、直交変換係数を含んだ、当該モードで符号化した場合の総符号量である。
つまり、High Complexity Modeでの符号化を行うには、上記パラメータD及びRを算出するため、全ての候補モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
Low Complexity Modeにおけるコスト関数は、以下の式(2)のように示される。
ここで、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。QP2Quant(QP)は、量子化パラメータQPの関数として与えられ、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
すなわち、Low Complexity Modeにおいては、それぞれの候補モードに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
<階層符号化>
ところで、これまでの、MPEG2、AVCといった画像符号化方式は、図2乃至図4に示されるような、スケーラビリティ(scalability)機能を有していた。スケーラブル符号化(階層符号化)とは、画像を複数レイヤ化(階層化)し、レイヤ毎に符号化する方式である。
画像の階層化においては、所定のパラメータを基準として1の画像が複数の画像(レイヤ)に分割される。基本的に各レイヤは、冗長性が低減されるように、差分データにより構成される。例えば、1の画像をベースレイヤとエンハンスメントレイヤに2階層化した場合、ベースレイヤのデータのみで元の画像よりも低品質な画像が得られ、ベースレイヤのデータとエンハンスメントレイヤのデータを合成することで、元の画像(すなわち高品質な画像)が得られる。
このように画像を階層化することにより、状況に応じて多様な品質の画像を容易に得ることができる。例えば携帯電話のような、処理能力の低い端末に対しては、ベースレイヤ(base layer)のみの画像圧縮情報を伝送し、空間時間解像度の低い、或いは、画質の良くない動画像を再生し、テレビやパーソナルコンピュータのような、処理能力の高い端末に対しては、ベースレイヤ(base layer)に加えて、エンハンスメントレイヤ(enhancement layer)の画像圧縮情報を伝送し、空間時間解像度の高い、或いは、画質の高い動画像を再生するといったように、トランスコード処理を行うことなく、端末やネットワークの能力に応じた画像圧縮情報を、サーバから送信することが可能となる。
このようなスケーラビリティ性を持たせるパラメータとして、例えば、図2に示されるような、空間解像度がある(spatial scalability)。このスペーシャルスケーラビリティ(spatial scalability)の場合、レイヤ毎に解像度が異なる。つまり、図2に示されるように、各ピクチャが、元の画像より空間的に低解像度のベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元の空間解像度)が得られるエンハンスメントレイヤの2階層に階層化される。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、図3に示されるような、時間解像度がある(temporal scalability)。このテンポラルスケーラビリティ(temporal scalability)の場合、レイヤ毎にフレームレートが異なる。つまり、この場合、図3に示されるように、互いに異なるフレームレートのレイヤに階層化されており、低フレームレートのレイヤに、高フレームレートのレイヤを加えることで、より高フレームレートの動画像を得ることができ、全てのレイヤを加えることで、元の動画像(元のフレームレート)を得ることができる。この階層数は一例であり、任意の階層数に階層化することができる。
また、このようなスケーラビリティ性を持たせるパラメータとして、他には、例えば、信号雑音比(SNR(Signal to Noise ratio))がある(SNR scalability)。このSNRスケーラビリティ(SNR scalability)の場合、レイヤ毎にSN比が異なる。つまり、図4に示されるように、各ピクチャが、元の画像よりSNRの低いベースレイヤと、ベースレイヤの画像と合成することにより元の画像(元のSNR)が得られるエンハンスメントレイヤの2階層に階層化される。すなわち、ベースレイヤ(base layer)画像圧縮情報においては、低PSNRの画像に関する情報が伝送されており、これに、エンハンスメントレイヤ(enhancement layer)画像圧縮情報を加えることで、高PSNR画像を再構築することが可能である。もちろん、この階層数は一例であり、任意の階層数に階層化することができる。
スケーラビリティ性を持たせるパラメータは、上述した例以外であっても、もちろんよい。例えば、ベースレイヤ(base layer)が8ビット(bit)画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、10ビット(bit)画像が得られるビット深度スケーラビリティ(bit-depth scalability)がある。
また、ベースレイヤ(base layer)が4:2:0フォーマットのコンポーネント画像よりなり、これにエンハンスメントレイヤ(enhancement layer)を加えることにより、4:2:2フォーマットのコンポーネント画像が得られるクロマスケーラビリティ(chroma scalability)がある。
<ビデオパラメータセット>
ところで、HEVCにおいては、シーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット(PPS(Picture Parameter Set))に加え、図5に示されるような、ビデオパラメータセット(VPS(Video Parameter Set)が規定されている。
<レイヤ間予測の制御>
ところで、スケーラブル符号化を行う際、全てのピクチャにおいて、階層間での予測処理を行うことは、演算量の増大に繋がる。
そこで、非特許文献2においては、図6に示されるように、ピクチャ(Picture)毎に階層間の予測処理のオン/オフ(on/off)を、NALユニット(NAL_Unit)において指定することが提案された。
しかしながら、この方法の場合、階層間の予測処理のオン/オフ(on/off)を制御する情報は、ピクチャ毎に生成されて伝送されるため、この情報の伝送により符号量が増大し、符号化効率が低減する恐れがあった。
<レイヤ構造>
そこで、より効率よく階層間の予測処理を制御する方法を考える。まず、スケーラブル符号化(階層符号化)においては、図2乃至図4に示されるように、画像データが複数レイヤに階層化される。以下においては説明の便宜上、このレイヤを主レイヤと称する。
各主レイヤのピクチャ群は、その主レイヤにおいてシーケンスを構成することになる。そのシーケンスにおいてピクチャは、単一主レイヤの動画像データと同様に、図7に示されるように、さらに階層構造(GOP(Group Of Picture)構造)を形成する。以下においては説明の便宜上、この1主レイヤ内のレイヤをサブレイヤ(sublayer)と称する。
図7の例の場合、主レイヤは、ベースレイヤ(BaseLayer)とエンハンスメントレイヤ(EnhLayer)の2つのレイヤにより構成される。ベースレイヤは、他の主レイヤに依存せず、自身の主レイヤのみで画像が形成されるレイヤである。ベースレイヤのデータは、他の主レイヤを参照せずに符号化・復号される。エンハンスメントレイヤは、ベースレイヤのデータと合成されることにより画像が得られる主レイヤである。エンハンスメントレイヤのデータは、対応するベースレイヤとの間の予測処理(主レイヤ間の予測処理(レイヤ間予測とも称する))が利用可能である。
スケーラブル符号化により階層化された符号化データの主レイヤ数は任意である。以下においては、各主レイヤがベースレイヤか若しくはエンハンスメントレイヤに設定され、各エンハンスメントレイヤには、いずれかのベースレイヤが参照先として設定されるものとする。
また、図7の例の場合、ベースレイヤおよびエンハンスメントレイヤは、それぞれ、サブレイヤ0(Sublayer0)、サブレイヤ1(Sublayer1)、サブレイヤ2(Sublayer2)の3つのサブレイヤにより構成されるGOP構造を有する。図7に示される四角は、ピクチャを示しており、その中の文字は、そのピクチャのタイプを示している。例えば、「I」と記載された四角は、Iピクチャを示し、「B」と記載された四角は、Bピクチャを示す。また、各四角間の点線は、依存関係(参照関係)を示す。個の点線で示されるように、上位のサブレイヤのピクチャは、下位のサブレイヤのピクチャに依存する。つまり、サブレイヤ2(Sublayer2)のピクチャは、サブレイヤ1のピクチャやサブレイヤ0のピクチャを参照する。また、サブレイヤ1のピクチャは、サブレイヤ0のピクチャを参照する。サブレイヤ0のピクチャは、サブレイヤ0のピクチャを適宜参照する。
なお、サブレイヤの階層数(サブレイヤ数)は任意である。また、GOP構造も任意であり、図7の例に限定されない。
<サブレイヤを用いたレイヤ間予測の制御>
このような構造の画像データに対して、レイヤ間予測の制御を、サブレイヤを用いて行うようにする。つまり、各ピクチャにおいて複数主レイヤ間の予測を行うか否かを、サブレイヤによって制御するレイヤ間予測制御情報を生成し、伝送するようにする。そして、符号化側においては、符号化の際に、このレイヤ間予測制御情報において指定されるサブレイヤのみレイヤ間予測を利用するようにする。復号側においては、復号の際に、このレイヤ間予測制御情報において指定されるサブレイヤのみレイヤ間予測を利用するようにする。
つまり、レイヤ間予測制御情報により指定されるサブレイヤに属するピクチャのみがレイヤ間予測を行うことができる。つまり、サブレイヤを指定するだけで、主レイヤ内の全てのピクチャに対するレイヤ間予測の制御を行うことができる。したがって、各ピクチャを個別に制御する必要がなく、主レイヤ毎に制御すれば良いので、その制御に必要な情報量を大幅に低減させることができる。したがって、レイヤ間予測制御による符号化効率の低減を抑制することができる。
このレイヤ間予測制御情報として、レイヤ間予測を許可するサブレイヤを指定する情報を用いても良いが、レイヤ間予測を許可する最上位サブレイヤを指定する情報を用いても良い。
例えば、図7の例に示されるように、上位のサブレイヤ2のピクチャでは、当該ピクチャと参照ピクチャの時間軸上の距離が近い。そのため、インター予測処理による効率が高く、レイヤ間予測による符号化効率の向上は大きくはない。
これに対して、例えばサブレイヤ1やサブレイヤ0におけるピクチャでは、当該ピクチャと参照ピクチャの時間軸上の距離が遠く、単一階層による符号化処理では、イントラ予測が行われるCUがより多く選択される。つまり、階層間での予測による符号化効率の向上は大きい。
つまり、下位のサブレイヤほど、レイヤ間予測を適用することにより符号化効率をより向上させることができる。そのため、レイヤ間予測を一部のサブレイヤで行う場合、最下位から所定の下位層までのサブレイヤにおいてレイヤ間予測を行うように制御するのが望ましい。
その場合、レイヤ間予測をどのサブレイヤまで許可するかを指定すれば良い。このようにすることにより、1サブレイヤを指定するのみでよいので、レイヤ間予測制御情報の情報量はさらに低減させることができる。
<ビデオパラメータセット>
ところで、HEVCにおいては、シーケンスパラメータセット(SPS(Sequence Parameter Set))、ピクチャパラメータセット(PPS)に加え、ビデオパラメータセット(VPS(Video Parameter Set))が規定されている。
ビデオパラメータセット(VPS)は、スケーラブル符号化された符号化データ全体に対して生成される。このビデオパラメータセット(VPS)には、全ての主レイヤに関する情報が格納される。
シーケンスパラメータセット(SPS)は、主レイヤ毎に生成される。このシーケンスパラメータセット(SPS)には、当該主レイヤに関する情報が格納される。
ピクチャパラメータセット(PPS)は、各主レイヤのピクチャ毎に生成される。このピクチャパラメータセットには、当該主レイヤの当該ピクチャに関する情報が格納される。
このようなレイヤ間予測制御情報は、例えばシーケンスパラメータセット(SPS)等において、主レイヤ毎に伝送するようにしても良いが、全主レイヤの共通情報として、ビデオパラメータセット(VPS)等において伝送するようにしてもよい。
図8にビデオパラメータセットのシンタクスの例を示す。パラメータmax_layer_minus1は、スケーラブル符号化がいくつの階層により行われるか(すなわち主レイヤ数)の最大数を示す。パラメータvps_max_sub_layer_minus1は、スケーラブル符号化の各主レイヤに含まれるサブレイヤの最大数(最大サブレイヤ数)を示す。
パラメータmax_sub_layer_for_inter_layer_prediction[i]は、レイヤ間予測を行うサブレイヤを示す。パラメータmax_sub_layer_for_inter_layer_prediction[i]は、レイヤ間予測を行うサブレイヤの最上位サブレイヤを示す。つまり、最下位サブレイヤからパラメータmax_sub_layer_for_inter_layer_prediction[i]に指定されるサブレイヤまでのサブレイヤにおいてレイヤ間予測が行なわれる。
このパラメータmax_sub_layer_for_inter_layer_prediction[i]は、主レイヤ(i)毎に設定される。つまり、パラメータmax_sub_layer_for_inter_layer_prediction[i]は、パラメータmax_layer_minus1以下の主レイヤのそれぞれについて設定される。また、パラメータmax_sub_layer_for_inter_layer_prediction[i]の値は、パラメータvps_max_sub_layer_minus1以下の値に設定される。
なお、レイヤ間予測は、任意のパラメータについて行うことができる。例えば、AVCスケーラブル符号化においては、階層間予測を行うものとして、動きベクトル情報、モード情報、復号画素値、予測残差信号などがある。また、HEVCにおいては、これに加え、直交変換スキップ(Transform Skip)に関するフラグ(flag)、参照ピクチャ、量子化パラメータ、スケーリングリスト(Scaling List)、適応オフセットなどがある。また、レイヤ間予測が行なわれるパラメータの数も任意であり、1つであってもよいし、複数であってもよい。
ただし、説明の便宜上、以下においては、レイヤ間予測の一例として、レイヤ間の動き予測(動きベクトル情報の生成)を行う場合について説明する。
次に、以上のような本技術について、具体的な装置への適用例について説明する。
<1.第1の実施の形態>
<スケーラブル符号化装置>
図9は、スケーラブル符号化装置の主な構成例を示すブロック図である。
図9に示されるスケーラブル符号化装置100は、ベースレイヤとエンハンスメントレイヤに階層化された画像データの各レイヤを符号化する。この階層化の基準として用いるパラメータは任意である。スケーラブル符号化装置100は、共通情報生成部101、符号化制御部102、ベースレイヤ画像符号化部103、レイヤ間予測制御部104、およびエンハンスメントレイヤ画像符号化部105を有する。
共通情報生成部101は、例えばNALユニットに格納するような画像データの符号化に関する情報を取得する。また、共通情報生成部101は、必要に応じて、ベースレイヤ画像符号化部103、レイヤ間予測制御部104、およびエンハンスメントレイヤ画像符号化部105などから必要な情報を取得する。共通情報生成部101は、それらの情報を基に全主レイヤに関する情報である共通情報を生成する。共通情報には、例えば、ビデオパラメータセット等が含まれる。共通情報生成部101は、生成した共通情報を、例えばNALユニットとして、スケーラブル符号化装置100の外部に出力する。なお、共通情報生成部101は、生成した共通情報を、符号化制御部102にも供給する。さらに、共通情報生成部101は、必要に応じて、生成した共通情報の一部若しくは全部をベースレイヤ画像符号化部103乃至エンハンスメントレイヤ画像符号化部105にも供給する。例えば、共通情報生成部101は、処理対象であるカレント主レイヤのレイヤ間予測実行最大サブレイヤ(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部104に供給する。
符号化制御部102は、共通情報生成部101から供給される共通情報に基づいて、ベースレイヤ画像符号化部103乃至エンハンスメントレイヤ画像符号化部105を制御することにより、各主レイヤの符号化を制御する。
ベースレイヤ画像符号化部103は、ベースレイヤの画像情報(ベースレイヤ画像情報)を取得する。ベースレイヤ画像符号化部103は、他のレイヤを参照せずに、そのベースレイヤ画像情報を符号化し、ベースレイヤの符号化データ(ベースレイヤ符号化データ)を生成し、出力する。また、ベースレイヤ画像符号化部103は、符号化の際に得られたベースレイヤの符号化に関する情報をレイヤ間予測制御部104に供給する。
レイヤ間予測制御部104は、ベースレイヤ画像符号化部103から供給されるベースレイヤの符号化に関する情報を記憶する。また、レイヤ間予測制御部104は、共通情報生成部101から供給されるカレント主レイヤのレイヤ間予測実行最大サブレイヤ(max_sub_layer_for_inter_layer_prediction[i])を取得する。レイヤ間予測制御部104は、その情報に基づいて、記憶しているベースレイヤの符号化に関する情報の、エンハンスメントレイヤ画像符号化部105への供給を制御する。
エンハンスメントレイヤ画像符号化部105は、エンハンスメントレイヤの画像情報(エンハンスメントレイヤ画像情報)を取得する。エンハンスメントレイヤ画像符号化部105は、そのエンハンスメントレイヤ画像情報を符号化する。その際、エンハンスメントレイヤ画像符号化部105は、レイヤ間予測制御部104の制御に従って、ベースレイヤの符号化に関する情報を参照してレイヤ間予測を行う。より具体的には、例えば、処理対象であるカレントサブレイヤが、レイヤ間予測が許可されたサブレイヤの場合、エンハンスメントレイヤ画像符号化部105は、レイヤ間予測制御部104から供給されるベースレイヤの符号化に関する情報を取得し、それを参照してレイヤ間予測を行い、その予測結果を利用してエンハンスメントレイヤ画像情報を符号化する。また、例えば、カレントサブレイヤが、レイヤ間予測が禁止されたサブレイヤの場合、エンハンスメントレイヤ画像符号化部105は、レイヤ間予測を行わずにエンハンスメントレイヤ画像情報を符号化する。エンハンスメントレイヤ画像符号化部105は、このような符号化により、エンハンスメントレイヤの符号化データ(エンハンスメントレイヤ符号化データ)を生成し、出力する。
<ベースレイヤ画像符号化部>
図10は、図9のベースレイヤ画像符号化部103の主な構成例を示すブロック図である。図10に示されるように、ベースレイヤ画像符号化部103は、A/D変換部111、画面並べ替えバッファ112、演算部113、直交変換部114、量子化部115、可逆符号化部116、蓄積バッファ117、逆量子化部118、および逆直交変換部119を有する。また、ベースレイヤ画像符号化部103は、演算部120、ループフィルタ121、フレームメモリ122、選択部123、イントラ予測部124、動き予測・補償部125、予測画像選択部126、およびレート制御部127を有する。
A/D変換部111は、入力された画像データ(ベースレイヤ画像情報)をA/D変換し、変換後の画像データ(デジタルデータ)を、画面並べ替えバッファ112に供給し、記憶させる。画面並べ替えバッファ112は、記憶した表示の順番のフレームの画像を、GOP(Group Of Picture)に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部113に供給する。また、画面並べ替えバッファ112は、フレームの順番を並び替えた画像を、イントラ予測部124および動き予測・補償部125にも供給する。
演算部113は、画面並べ替えバッファ112から読み出された画像から、予測画像選択部126を介してイントラ予測部124若しくは動き予測・補償部125から供給される予測画像を減算し、その差分情報を直交変換部114に出力する。例えば、イントラ符号化が行われる画像の場合、演算部113は、画面並べ替えバッファ112から読み出された画像から、イントラ予測部124から供給される予測画像を減算する。また、例えば、インター符号化が行われる画像の場合、演算部113は、画面並べ替えバッファ112から読み出された画像から、動き予測・補償部125から供給される予測画像を減算する。
直交変換部114は、演算部113から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。直交変換部114は、その変換係数を量子化部115に供給する。
量子化部115は、直交変換部114から供給される変換係数を量子化する。量子化部115は、レート制御部127から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。量子化部115は、量子化された変換係数を可逆符号化部116に供給する。
可逆符号化部116は、量子化部115において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部127の制御の下で量子化されているので、この符号量は、レート制御部127が設定した目標値となる(若しくは目標値に近似する)。
また、可逆符号化部116は、イントラ予測のモードを示す情報などをイントラ予測部124から取得し、インター予測のモードを示す情報や差分動きベクトル情報などを動き予測・補償部125から取得する。さらに、可逆符号化部116は、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)等を含むベースレイヤのNALユニットを適宜生成する。
可逆符号化部116は、これらの各種情報を任意の符号化方式で符号化し、符号化データ(符号化ストリームとも称する)の一部とする(多重化する)。可逆符号化部116は、符号化して得られた符号化データを蓄積バッファ117に供給して蓄積させる。
可逆符号化部116の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などが挙げられる。算術符号化としては、例えば、CABAC(Context-Adaptive Binary Arithmetic Coding)などが挙げられる。
蓄積バッファ117は、可逆符号化部116から供給された符号化データ(ベースレイヤ符号化データ)を、一時的に保持する。蓄積バッファ117は、所定のタイミングにおいて、保持しているベースレイヤ符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。すなわち、蓄積バッファ117は、符号化データを伝送する伝送部でもある。
また、量子化部115において量子化された変換係数は、逆量子化部118にも供給される。逆量子化部118は、その量子化された変換係数を、量子化部115による量子化に対応する方法で逆量子化する。逆量子化部118は、得られた変換係数を、逆直交変換部119に供給する。
逆直交変換部119は、逆量子化部118から供給された変換係数を、直交変換部114による直交変換処理に対応する方法で逆直交変換する。逆直交変換された出力(復元された差分情報)は、演算部120に供給される。
演算部120は、逆直交変換部119から供給された逆直交変換結果である、復元された差分情報に、予測画像選択部126を介してイントラ予測部124若しくは動き予測・補償部125からの予測画像を加算し、局部的に復号された画像(復号画像)を得る。その復号画像は、ループフィルタ121またはフレームメモリ122に供給される。
ループフィルタ121は、デブロックフィルタや適応ループフィルタ等を含み、演算部120から供給される再構成画像に対して適宜フィルタ処理を行う。例えば、ループフィルタ121は、再構成画像に対してデブロックフィルタ処理を行うことにより再構成画像のブロック歪を除去する。また、例えば、ループフィルタ121は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた再構成画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。ループフィルタ121は、フィルタ処理結果(以下、復号画像と称する)をフレームメモリ122に供給する。
なお、ループフィルタ121が、再構成画像に対してさらに、他の任意のフィルタ処理を行うようにしてもよい。また、ループフィルタ121は、必要に応じて、フィルタ処理に用いたフィルタ係数等の情報を可逆符号化部116に供給し、それを符号化させるようにすることもできる。
フレームメモリ122は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部123に供給する。
より具体的には、フレームメモリ122は、演算部120から供給される再構成画像と、ループフィルタ121から供給される復号画像とをそれぞれ記憶する。フレームメモリ122は、所定のタイミングにおいて、若しくは、イントラ予測部124等の外部からの要求に基づいて、記憶している再構成画像を、選択部123を介してイントラ予測部124に供給する。また、フレームメモリ122は、所定のタイミングにおいて、若しくは、動き予測・補償部125等の外部からの要求に基づいて、記憶している復号画像を、選択部123を介して、動き予測・補償部125に供給する。
選択部123は、フレームメモリ122から供給される参照画像の供給先を選択する。例えば、イントラ予測の場合、選択部123は、フレームメモリ122から供給される参照画像(カレントピクチャ内の画素値)をイントラ予測部124に供給する。また、例えば、インター予測の場合、選択部123は、フレームメモリ122から供給される参照画像を動き予測・補償部125に供給する。
イントラ予測部124は、選択部123を介してフレームメモリ122から供給される参照画像であるカレントピクチャ内の画素値を用いて予測画像を生成するイントラ予測(画面内予測)を行う。イントラ予測部124は、予め用意された複数のイントラ予測モードでこのイントラ予測を行う。
イントラ予測部124は、候補となる全てのイントラ予測モードで予測画像を生成し、画面並べ替えバッファ112から供給される入力画像を用いて各予測画像のコスト関数値を評価し、最適なモードを選択する。イントラ予測部124は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部126に供給する。
また、上述したように、イントラ予測部124は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部116に供給し、符号化させる。
動き予測・補償部125は、画面並べ替えバッファ112から供給される入力画像と、選択部123を介してフレームメモリ122から供給される参照画像とを用いて動き予測(インター予測)を行う。動き予測・補償部125は、検出された動きベクトルに応じて動き補償処理を行い、予測画像(インター予測画像情報)を生成する。動き予測・補償部125は、予め用意された複数のインター予測モードでこのようなインター予測を行う。
動き予測・補償部125は、候補となる全てのインター予測モードで予測画像を生成する。動き予測・補償部125は、画面並べ替えバッファ112から供給される入力画像と、生成した差分動きベクトルの情報などを用いて、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部125は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部126に供給する。
動き予測・補償部125は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部116に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として、予測動きベクトルのインデックスを示すフラグなどがある。
予測画像選択部126は、演算部113や演算部120に供給する予測画像の供給元を選択する。例えば、イントラ符号化の場合、予測画像選択部126は、予測画像の供給元としてイントラ予測部124を選択し、そのイントラ予測部124から供給される予測画像を演算部113や演算部120に供給する。また、例えば、インター符号化の場合、予測画像選択部126は、予測画像の供給元として動き予測・補償部125を選択し、その動き予測・補償部125から供給される予測画像を演算部113や演算部120に供給する。
レート制御部127は、蓄積バッファ117に蓄積された符号化データの符号量に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部115の量子化動作のレートを制御する。
なお、フレームメモリ122は、記憶している復号画像を、ベースレイヤの符号化に関する情報としてレイヤ間予測制御部104に供給する。
<エンハンスメントレイヤ画像符号化部>
図11は、図9のエンハンスメントレイヤ画像符号化部105の主な構成例を示すブロック図である。図11に示されるように、エンハンスメントレイヤ画像符号化部105は、図10のベースレイヤ画像符号化部103と基本的に同様の構成を有する。
ただし、エンハンスメントレイヤ画像符号化部105の各部は、ベースレイヤではなく、エンハンスメントレイヤ画像情報の符号化についての処理を行う。つまり、エンハンスメントレイヤ画像符号化部105のA/D変換部111は、エンハンスメントレイヤ画像情報をA/D変換し、エンハンスメントレイヤ画像符号化部105の蓄積バッファ117は、エンハンスメントレイヤ符号化データを、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。
また、エンハンスメントレイヤ画像符号化部105は、動き予測・補償部125の代わりに、動き予測・補償部135を有する。
動き予測・補償部135は、動き予測・補償部125が行うようなピクチャ間の動き予測だけでなく、主レイヤ間の動き予測も行うことができる。動き予測・補償部135は、レイヤ間予測制御部104から供給されるベースレイヤの符号化に関する情報(例えば、ベースレイヤの復号画像)を取得する。動き予測・補償部135は、インター予測の候補モードの1つとして、そのベースレイヤの符号化に関する情報を用いて主レイヤの動き予測を行う。
<共通情報生成部とレイヤ間予測制御部>
図12は、図9の共通情報生成部101およびレイヤ間予測制御部104の主な構成例を示すブロック図である。
図12に示されるように、共通情報生成部101は、主レイヤ最大数設定部141、サブレイヤ最大数設定部142、レイヤ間予測実行最大サブレイヤ設定部143を有する。また、レイヤ間予測制御部104は、レイヤ間予測実行制御部151および符号化関連情報バッファ152を有する。
主レイヤ最大数設定部141は、主レイヤの最大数を示す情報(max_layer_minus1)を設定する。サブレイヤ最大数設定部142は、サブレイヤの最大数を示す情報(vps_max_sub_layer_minus1)を設定する。レイヤ間予測実行最大サブレイヤ設定部143は、カレント主レイヤのレイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])を設定する。
共通情報生成部101は、それらの情報を共通情報(ビデオパラメータセット(VPS))として、スケーラブル符号化装置100の外部に出力する。また、共通情報生成部101は、その共通情報(ビデオパラメータセット(VPS))を符号化制御部102に供給する。さらに、共通情報生成部101は、カレント主レイヤのレイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部104に供給する。
レイヤ間予測実行制御部151は、共通情報生成部101から供給される共通情報に基づいて、レイヤ間予測の実行を制御する。より具体的には、レイヤ間予測実行制御部151は、共通情報生成部101から供給される、レイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])に基づいて、符号化関連情報バッファ152を制御する。
符号化関連情報バッファ152は、ベースレイヤ画像符号化部103から供給されるベースレイヤの符号化に関する情報(例えば、ベースレイヤの復号画像)を取得し、記憶する。符号化関連情報バッファ152は、レイヤ間予測実行制御部151の制御に従って、記憶しているベースレイヤの符号化に関する情報をエンハンスメントレイヤ画像符号化部105に供給する。
レイヤ間予測実行制御部151は、この符号化関連情報バッファ152からのベースレイヤの符号化に関する情報の供給を制御する。例えば、レイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])において、カレントサブレイヤのレイヤ間予測が許可されている場合、レイヤ間予測実行制御部151は、カレントサブレイヤについて、符号化関連情報バッファ152に記憶されているベースレイヤの符号化に関する情報(例えば、ベースレイヤの復号画像)を、エンハンスメントレイヤ画像符号化部105に供給させる。
また、例えば、レイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])において、カレントサブレイヤのレイヤ間予測が許可されていない場合、レイヤ間予測実行制御部151は、カレントサブレイヤについて、符号化関連情報バッファ152に記憶されているベースレイヤの符号化に関する情報(例えば、ベースレイヤの復号画像)を、エンハンスメントレイヤ画像符号化部105に供給させない。
以上のように、スケーラブル符号化装置100は、サブレイヤを用いてレイヤ間予測を制御するレイヤ間予測制御情報を伝送するので、レイヤ間予測制御による符号化効率の低減を抑制することができる。これにより、スケーラブル符号化装置100は、符号化・復号による画質の低減を抑制することができる。
<符号化処理の流れ>
次に、以上のようなスケーラブル符号化装置100により実行される各処理の流れについて説明する。最初に、図13のフローチャートを参照して、符号化処理の流れの例を説明する。
符号化処理が開始されると、ステップS101において、スケーラブル符号化装置100の共通情報生成部101は、共通情報を生成する。ステップS102において、符号化制御部102は、最初の主レイヤを処理対象とする。
ステップS103において、符号化制御部102は、ステップS101において生成された共通情報に基づいて、処理対象であるカレント主レイヤがベースレイヤであるか否かを判定する。カレント主レイヤがベースレイヤであると判定された場合、処理は、ステップS104に進む。
ステップS104において、ベースレイヤ画像符号化部103は、ベースレイヤ符号化処理を行う。ステップS104の処理が終了すると、処理は、ステップS108に進む。
また、ステップS103において、カレント主レイヤがエンハンスメントレイヤであると判定された場合、処理は、ステップS105に進む。ステップS105において、符号化制御部102は、カレント主レイヤに対応する(すなわち、参照先とする)ベースレイヤを決定する。
ステップS106において、レイヤ間予測制御部104は、レイヤ間予測制御処理を行う。
ステップS107において、エンハンスメントレイヤ画像符号化部105は、エンハンスメントレイヤ符号化処理を行う。ステップS107の処理が終了すると、処理は、ステップS108に進む。
ステップS108において、符号化制御部102は、全ての主レイヤを処理したか否かを判定する。未処理の主レイヤが存在すると判定された場合、処理は、ステップS109に進む。
ステップS109において、符号化制御部102は、次の未処理の主レイヤを処理対象(カレント主レイヤ)とする。ステップS109の処理が終了すると、処理は、ステップS103に戻る。ステップS103乃至ステップS109の処理が繰り返し実行され、各主レイヤが符号化される。
そして、ステップS108において、全ての主レイヤが処理されたと判定された場合、符号化処理が終了する。
<共通情報生成処理の流れ>
次に、図14のフローチャートを参照して、図13のステップS101において実行される共通情報生成処理の流れの例を説明する。
共通情報生成処理が開始されると、主レイヤ最大数設定部141は、ステップS121において、パラメータ(max_layer_minus1)を設定する。ステップS122において、サブレイヤ最大数設定部142は、パラメータ(vps_max_sub_layers_minus1)を設定する。ステップS123において、レイヤ間予測実行最大サブレイヤ設定部143は、各主レイヤについて、パラメータ(max_sub_layer_for_inter_layer_prediction[i])を設定する。
ステップS124において、共通情報生成部101は、ステップS121乃至ステップS123において設定された各パラメータを含むビデオパラメータセットを共通情報として生成する。
ステップS125において、共通情報生成部101は、ステップS124の処理により生成したビデオパラメータセットを、スケーラブル符号化装置100の外部および符号化制御部102に供給する。また、共通情報生成部101は、ステップS123において設定したパラメータ(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部104に供給する。
ステップS125の処理が終了すると、共通情報生成処理が終了し、処理は、図13に戻る。
<ベースレイヤ符号化処理の流れ>
次に、図15のフローチャートを参照して、図13のステップS104において実行されるベースレイヤ符号化処理の流れの例を説明する。
ステップS141において、ベースレイヤ画像符号化部103のA/D変換部111は入力されたベースレイヤの画像情報(画像データ)をA/D変換する。ステップS142において、画面並べ替えバッファ112は、A/D変換されたベースレイヤの画像情報(デジタルデータ)を記憶し、各ピクチャを、表示する順番から符号化する順番へ並べ替える。
ステップS143において、イントラ予測部124は、イントラ予測モードのイントラ予測処理を行う。ステップS144において、動き予測・補償部125は、インター予測モードでの動き予測や動き補償を行う動き予測・補償処理を行う。ステップS145において、予測画像選択部126は、イントラ予測部124および動き予測・補償部125から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部126は、イントラ予測部124により生成された予測画像と、動き予測・補償部125により生成された予測画像のいずれか一方を選択する。ステップS146において、演算部113は、ステップS142の処理により並び替えられた画像と、ステップS145の処理により選択された予測画像との差分を演算する。差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS147において、直交変換部114は、ステップS146の処理により生成された差分情報に対する直交変換処理を行う。ステップS148において、量子化部115は、レート制御部127により算出された量子化パラメータを用いて、ステップS147の処理により得られた直交変換係数を量子化する。
ステップS148の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS149において、逆量子化部118は、ステップS148の処理により生成された量子化された係数(量子化係数とも称する)を、量子化部115の特性に対応する特性で逆量子化する。ステップS150において、逆直交変換部119は、ステップS147の処理により得られた直交変換係数を逆直交変換する。ステップS151において、演算部120は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部113への入力に対応する画像)を生成する。
ステップS152においてループフィルタ121は、ステップS151の処理により生成された画像をフィルタリングする。これによりブロック歪み等が除去される。ステップS153において、フレームメモリ122は、ステップS152の処理によりブロック歪みの除去等が行われた画像を記憶する。なお、フレームメモリ122にはループフィルタ121によりフィルタ処理されていない画像も演算部120から供給され、記憶される。このフレームメモリ122に記憶された画像は、ステップS143の処理やステップS144の処理に利用される。
また、ステップS154において、フレームメモリ122は、自身に記憶された画像を、ベースレイヤの符号化に関する情報として、レイヤ間予測制御部104に供給し、記憶させる。
ステップS155において、可逆符号化部116は、ステップS148の処理により量子化された係数を符号化する。すなわち、差分画像に対応するデータに対して、可変長符号化や算術符号化等の可逆符号化が行われる。
また、このとき、可逆符号化部116は、ステップS145の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部116は、イントラ予測部124から供給される最適イントラ予測モード情報、または、動き予測・補償部125から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
ステップS156において蓄積バッファ117は、ステップS155の処理により得られたベースレイヤ符号化データを蓄積する。蓄積バッファ117に蓄積されたベースレイヤ符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
ステップS157においてレート制御部127は、ステップS156の処理により蓄積バッファ117に蓄積された符号化データの符号量(発生符号量)に基づいて、オーバフローあるいはアンダーフローが発生しないように、量子化部115の量子化動作のレートを制御する。また、レート制御部127は、量子化パラメータに関する情報を、量子化部115に供給する。
ステップS157の処理が終了すると、ベースレイヤ符号化処理が終了し、処理は図13に戻る。ベースレイヤ符号化処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してベースレイヤ符号化処理が実行される。ただし、ベースレイヤ符号化処理内の各処理は、それぞれの処理単位毎に行われる。
<レイヤ間予測制御処理の流れ>
次に、図13のステップS106において実行されるレイヤ間予測制御処理の流れの例を、図16のフローチャートを参照して説明する。
レイヤ間予測制御処理が開始されると、レイヤ間予測実行制御部151は、ステップS171において、図14の共通情報生成処理により共通情報生成部101から供給されたパラメータ(max_sub_layer_for_inter_layer_prediction[i])を参照する。
ステップS172において、レイヤ間予測実行制御部151は、そのパラメータの値に基づいて、カレントピクチャのカレントサブレイヤが、レイヤ間予測を行うレイヤであるか否かを判定する。パラメータ(max_sub_layer_for_inter_layer_prediction[i])により指定されるレイヤが、カレントサブレイヤよりも上位のサブレイヤであり、カレントサブレイヤにおけるレイヤ間予測が許可されていると判定された場合、処理は、ステップS173に進む。
ステップS173において、レイヤ間予測実行制御部151は、符号化関連情報バッファ152を制御し、符号化関連情報バッファ152に記憶されているベースレイヤの符号化に関する情報を、エンハンスメントレイヤ画像符号化部105に供給させる。ステップS173の処理が終了すると、レイヤ間予測制御処理が終了し、処理は、図13に戻る。
また、ステップS172において、カレントサブレイヤにおけるレイヤ間予測が許可されていないと判定された場合、ベースレイヤの符号化に関する情報の供給は行われずに、レイヤ間予測制御処理が終了し、処理は図13に戻る。つまり、このカレントサブレイヤに対する符号化においては、レイヤ間予測は行われない。
<エンハンスメントレイヤ符号化処理の流れ>
次に、図17のフローチャートを参照して、図13のステップS107において実行されるエンハンスメントレイヤ符号化処理の流れの例を説明する。
エンハンスメントレイヤ符号化処理のステップS191乃至ステップS193、並びに、ステップS195乃至ステップS206の各処理は、ベースレイヤ符号化処理のステップS141乃至ステップS143、ステップS145乃至ステップS153、並びに、ステップS155乃至ステップS157の各処理と同様に実行される。ただし、エンハンスメントレイヤ符号化処理の各処理は、エンハンスメントレイヤ画像符号化部105の各処理部により、エンハンスメントレイヤ画像情報に対して行われる。
なお、ステップS194において、動き予測・補償部135は、エンハンスメントレイヤ画像情報に対して、動き予測・補償処理を行う。
ステップS206の処理が終了すると、エンハンスメントレイヤ符号化処理が終了され、処理は図13に戻る。エンハンスメントレイヤ符号化処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してエンハンスメントレイヤ符号化処理が実行される。ただし、エンハンスメントレイヤ符号化処理内の各処理は、それぞれの処理単位毎に行われる。
<動き予測・補償処理の流れ>
次に、図18のフローチャートを参照して、図17のステップS194において実行される動き予測・補償処理の流れの例を説明する。
動き予測・補償処理が開始されると、動き予測・補償部135は、ステップS221において、カレント主レイヤ内で動き予測を行う。
ステップS222において、動き予測・補償部135は、カレントピクチャについて、レイヤ間予測を行うか否かを判定する。レイヤ間予測制御部104からベースレイヤの符号化に関する情報が供給され、レイヤ間予測を行うと判定された場合、処理は、ステップS223に進む。
ステップS223において、動き予測・補償部135は、レイヤ間予測制御部104から供給されるベースレイヤの符号化に関する情報を取得する。ステップS224において、動き予測・補償部135は、ステップS223において取得した情報を用いてレイヤ間予測を行う。ステップS224の処理が終了すると、処理は、ステップS225に進む。
また、ステップS222において、レイヤ間予測制御部104からベースレイヤの符号化に関する情報が供給されておらず、レイヤ間予測を行わないと判定された場合、カレントピクチャについてレイヤ間予測が省略され、処理は、ステップS225に進む。
ステップS225において、動き予測・補償部135は、各予測モードについてコスト関数値を算出する。ステップS226において、動き予測・補償部135は、そのコスト関数値に基づいて最適なインター予測モードを選択する。
ステップS227において、動き予測・補償部135は、ステップS226において選択された最適なインター予測モードで動き補償を行い、予測画像を生成する。ステップS228において、動き予測・補償部135は、その最適なインター予測モードについて、インター予測に関する情報を生成する。
ステップS228の処理が終了すると、動き予測・補償処理が終了し、処理は、図17に戻る。以上のように、レイヤ間予測を適宜用いた、動き予測・補償処理が行われる。この処理は、例えば、ブロック単位で実行される。ただし、動き予測・補償処理内の各処理は、それぞれの処理単位毎に行われる。
以上のように各処理を実行することにより、スケーラブル符号化装置100は、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
<2.第2の実施の形態>
<スケーラブル復号装置>
次に、以上のようにスケーラブル符号化(階層符号化)された符号化データ(ビットストリーム)の復号について説明する。図19は、図9のスケーラブル符号化装置100に対応するスケーラブル復号装置の主な構成例を示すブロック図である。図19に示されるスケーラブル復号装置200は、例えばスケーラブル符号化装置100により画像データがスケーラブル符号化されて得られた符号化データを、その符号化方法に対応する方法でスケーラブル復号する。
図19に示されるように、スケーラブル復号装置200は、共通情報取得部201、復号制御部202、ベースレイヤ画像復号部203、レイヤ間予測制御部204、およびエンハンスメントレイヤ画像復号部205を有する。
共通情報取得部201は、符号化側から伝送される共通情報(例えば、ビデオパラメータセット(VPS))を取得する。共通情報取得部201は、取得した共通情報より復号に関する情報を抽出し、それを復号制御部202に供給する。また、共通情報取得部201は、共通情報の一部若しくは全部を、ベースレイヤ画像復号部203乃至エンハンスメントレイヤ画像復号部205に適宜供給する。
復号制御部202は、共通情報取得部201から供給された復号に関する情報を取得し、その情報に基づいて、ベースレイヤ画像復号部203乃至エンハンスメントレイヤ画像復号部205を制御することにより、各主レイヤの復号を制御する。
ベースレイヤ画像復号部203は、ベースレイヤ画像符号化部103に対応する画像復号部であり、例えばベースレイヤ画像符号化部103によりベースレイヤ画像情報が符号化されて得られたベースレイヤ符号化データを取得する。ベースレイヤ画像復号部203は、他のレイヤを参照せずに、そのベースレイヤ符号化データを復号し、ベースレイヤ画像情報を再構築し、出力する。また、ベースレイヤ画像復号部203は、その復号により得られたベースレイヤの復号に関する情報をレイヤ間予測制御部204に供給する。
レイヤ間予測制御部204は、エンハンスメントレイヤ画像復号部205によるレイヤ間予測の実行を制御する。レイヤ間予測制御部204は、ベースレイヤ画像復号部203から供給されるベースレイヤの復号に関する情報を取得し、記憶する。また、レイヤ間予測制御部204は、レイヤ間予測が許可されるサブレイヤの復号において、記憶しているベースレイヤの復号に関する情報を、エンハンスメントレイヤ画像復号部205に供給する。
エンハンスメントレイヤ画像復号部205は、エンハンスメントレイヤ画像符号化部105に対応する画像復号部であり、例えばエンハンスメントレイヤ画像符号化部105によりエンハンスメントレイヤ画像情報が符号化されて得られたエンハンスメントレイヤ符号化データを取得する。エンハンスメントレイヤ画像復号部205は、そのエンハンスメントレイヤ符号化データを復号する。その際、エンハンスメントレイヤ画像復号部205は、レイヤ間予測制御部204の制御に従って、ベースレイヤの復号に関する情報を参照してレイヤ間予測を行う。より具体的には、例えば、処理対象であるカレントサブレイヤが、レイヤ間予測が許可されたサブレイヤの場合、エンハンスメントレイヤ画像復号部205は、レイヤ間予測制御部204から供給されるベースレイヤの復号に関する情報を取得し、それを参照してレイヤ間予測を行い、その予測結果を利用してエンハンスメントレイヤ符号化データを復号する。また、例えば、カレントサブレイヤが、レイヤ間予測が禁止されたサブレイヤの場合、エンハンスメントレイヤ画像復号部205は、レイヤ間予測を行わずにエンハンスメントレイヤ符号化データを復号する。エンハンスメントレイヤ画像復号部205は、このような符号化により、エンハンスメントレイヤ画像情報を再構築し、出力する。
<ベースレイヤ画像復号部>
図20は、図19のベースレイヤ画像復号部203の主な構成例を示すブロック図である。図20に示されるようにベースレイヤ画像復号部203は、蓄積バッファ211、可逆復号部212、逆量子化部213、逆直交変換部214、演算部215、ループフィルタ216、画面並べ替えバッファ217、およびD/A変換部218を有する。また、ベースレイヤ画像復号部203は、フレームメモリ219、選択部220、イントラ予測部221、動き補償部222、および選択部223を有する。
蓄積バッファ211は、伝送されてきたベースレイヤ符号化データを受け取る受け取り部でもある。蓄積バッファ211は、伝送されてきたベースレイヤ符号化データを受け取って、蓄積し、所定のタイミングにおいてその符号化データを可逆復号部212に供給する。このベースレイヤ符号化データには、予測モード情報などの復号に必要な情報が付加されている。
可逆復号部212は、蓄積バッファ211より供給された、可逆符号化部116により符号化された情報を、可逆符号化部116の符号化方式に対応する方式で復号する。可逆復号部212は、復号して得られた差分画像の量子化された係数データを、逆量子化部213に供給する。
また、可逆復号部212は、ベースレイヤ符号化データに含まれるビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、およびピクチャパラメータセット(PPS)等を含むNALユニットを適宜抽出し、取得する。可逆復号部212は、それらの情報から、最適な予測モードに関する情報を抽出し、その情報に基づいて最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部221および動き補償部222の内、選択されたと判定したモードの方に供給する。つまり、例えば、ベースレイヤ画像符号化部103において最適な予測モードとしてイントラ予測モードが選択された場合、その最適な予測モードに関する情報がイントラ予測部221に供給される。また、例えば、ベースレイヤ画像符号化部103において最適な予測モードとしてインター予測モードが選択された場合、その最適な予測モードに関する情報が動き補償部222に供給される。
さらに、可逆復号部212は、例えば、量子化行列や量子化パラメータ等の、逆量子化に必要な情報をNALユニット等から抽出し、それを逆量子化部213に供給する。
逆量子化部213は、可逆復号部212により復号されて得られた量子化された係数データを、量子化部115の量子化方式に対応する方式で逆量子化する。なお、この逆量子化部213は、逆量子化部118と同様の処理部である。つまり、逆量子化部213の説明は、逆量子化部118にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。逆量子化部213は、得られた係数データを逆直交変換部214に供給する。
逆直交変換部214は、逆量子化部213から供給される係数データを、直交変換部114の直交変換方式に対応する方式で逆直交変換する。なお、この逆直交変換部214は、逆直交変換部119と同様の処理部である。つまり、逆直交変換部214の説明は、逆直交変換部119にも準用することができる。ただし、データの入出力先等は、装置に応じて適宜、変えて読む必要がある。
逆直交変換部214は、この逆直交変換処理により、直交変換部114において直交変換される前の残差データに対応する復号残差データを得る。逆直交変換されて得られた復号残差データは、演算部215に供給される。また、演算部215には、選択部223を介して、イントラ予測部221若しくは動き補償部222から予測画像が供給される。
演算部215は、その復号残差データと予測画像とを加算し、演算部113により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部215は、その復号画像データをループフィルタ216に供給する。
ループフィルタ216は、供給された復号画像に対して、デブロックフィルタや適応ループフィルタ等を含むフィルタ処理を適宜施し、それを画面並べ替えバッファ217およびフレームメモリ219に供給する。例えば、ループフィルタ216は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。また、例えば、ループフィルタ216は、そのデブロックフィルタ処理結果(ブロック歪みの除去が行われた復号画像)に対して、ウィナーフィルタ(Wiener Filter)を用いてループフィルタ処理を行うことにより画質改善を行う。なお、このループフィルタ216は、ループフィルタ121と同様の処理部である。
なお、演算部215から出力される復号画像は、ループフィルタ216を介さずに画面並べ替えバッファ217やフレームメモリ219に供給することができる。つまり、ループフィルタ216によるフィルタ処理の一部若しくは全部は省略することができる。
画面並べ替えバッファ217は、復号画像の並べ替えを行う。すなわち、画面並べ替えバッファ112により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部218は、画面並べ替えバッファ217から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
フレームメモリ219は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部221や動き補償部222等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部220に供給する。
また、フレームメモリ219は、記憶する復号画像を、ベースレイヤの復号に関する情報として、レイヤ間予測制御部204に供給する。
選択部220は、フレームメモリ219から供給される参照画像の供給先を選択する。選択部220は、イントラ符号化された画像を復号する場合、フレームメモリ219から供給される参照画像をイントラ予測部221に供給する。また、選択部220は、インター符号化された画像を復号する場合、フレームメモリ219から供給される参照画像を動き補償部222に供給する。
イントラ予測部221には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部212から適宜供給される。イントラ予測部221は、イントラ予測部124において用いられたイントラ予測モードで、フレームメモリ219から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部221は、生成した予測画像を選択部223に供給する。
動き補償部222は、ヘッダ情報を復号して得られた情報(最適予測モード情報、参照画像情報等)を可逆復号部212から取得する。
動き補償部222は、可逆復号部212から取得された最適予測モード情報が示すインター予測モードで、フレームメモリ219から取得した参照画像を用いて動き補償を行い、予測画像を生成する。
選択部223は、イントラ予測部221からの予測画像または動き補償部222からの予測画像を、演算部215に供給する。そして、演算部215においては、動きベクトルが用いられて生成された予測画像と逆直交変換部214からの復号残差データ(差分画像情報)とが加算されて元の画像が復号される。
<エンハンスメントレイヤ画像符号化部>
図21は、図19のエンハンスメントレイヤ画像復号部205の主な構成例を示すブロック図である。図21に示されるように、エンハンスメントレイヤ画像復号部205は、図20のベースレイヤ画像復号部203と基本的に同様の構成を有する。
ただし、エンハンスメントレイヤ画像復号部205の各部は、ベースレイヤではなく、エンハンスメントレイヤ符号化データの復号についての処理を行う。つまり、エンハンスメントレイヤ画像復号部205の蓄積バッファ211は、エンハンスメントレイヤ符号化データを記憶し、エンハンスメントレイヤ画像復号部205のD/A変換部218は、エンハンスメントレイヤ画像情報を、例えば、後段の図示せぬ記録装置(記録媒体)や伝送路などに出力する。
また、エンハンスメントレイヤ画像復号部205は、動き補償部222の代わりに、動き補償部232を有する。
動き補償部232は、動き補償部222が行うようなピクチャ間の動き補償だけでなく、主レイヤ間の動き補償も行うことができる。その場合、動き補償部232は、レイヤ間予測制御部204から供給されるベースレイヤの復号に関する情報(例えば、ベースレイヤの復号画像)を取得する。動き補償部232は、そのベースレイヤの復号に関する情報を用いて主レイヤの動き補償を行う。
<共通情報取得部とレイヤ間予測制御部>
図22は、図19の共通情報取得部201およびレイヤ間予測制御部204の主な構成例を示すブロック図である。
図22に示されるように、共通情報取得部201は、主レイヤ最大数取得部241、サブレイヤ最大数取得部242、レイヤ間予測実行最大サブレイヤ取得部243を有する。また、レイヤ間予測制御部204は、レイヤ間予測実行制御部251および復号関連情報バッファ252を有する。
主レイヤ最大数取得部241は、符号化側から伝送された共通情報に含まれる主レイヤの最大数を示す情報(max_layer_minus1)を取得する。サブレイヤ最大数取得部242は、符号化側から伝送された共通情報に含まれるサブレイヤの最大数を示す情報(vps_max_sub_layer_minus1)を取得する。レイヤ間予測実行最大サブレイヤ取得部243は、符号化側から伝送された共通情報に含まれるカレント主レイヤのレイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])を取得する。
共通情報取得部201は、取得した共通情報に含まれる復号に関する情報(例えばビデオパラメータセット(VPS)など)を復号制御部202に供給する。さらに、共通情報取得部201は、カレント主レイヤのレイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部204に供給する。
レイヤ間予測実行制御部251は、共通情報取得部201から供給される共通情報に基づいて、レイヤ間予測の実行を制御する。より具体的には、レイヤ間予測実行制御部251は、共通情報取得部201から供給される、レイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])に基づいて、復号関連情報バッファ252を制御する。
復号関連情報バッファ252は、ベースレイヤ画像復号部203から供給されるベースレイヤの復号に関する情報(例えば、ベースレイヤの復号画像)を取得し、記憶する。復号関連情報バッファ252は、レイヤ間予測実行制御部251の制御に従って、記憶しているベースレイヤの符号化に関する情報をエンハンスメントレイヤ画像復号部205に供給する。
レイヤ間予測実行制御部251は、この復号関連情報バッファ252からのベースレイヤの復号に関する情報の供給を制御する。例えば、レイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])において、カレントサブレイヤのレイヤ間予測が許可されている場合、レイヤ間予測実行制御部251は、カレントサブレイヤについて、復号関連情報バッファ252に記憶されているベースレイヤの復号に関する情報(例えば、ベースレイヤの復号画像)を、エンハンスメントレイヤ画像復号部205に供給させる。
また、例えば、レイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])において、カレントサブレイヤのレイヤ間予測が許可されていない場合、レイヤ間予測実行制御部251は、カレントサブレイヤについて、復号関連情報バッファ252に記憶されているベースレイヤの復号に関する情報(例えば、ベースレイヤの復号画像)を、エンハンスメントレイヤ画像復号部205に供給させない。
以上のように、スケーラブル復号装置200は、サブレイヤを用いてレイヤ間予測を制御するレイヤ間予測制御情報を伝送するので、レイヤ間予測制御による符号化効率の低減を抑制することができる。これにより、スケーラブル復号装置200は、符号化・復号による画質の低減を抑制することができる。
<復号処理の流れ>
次に、以上のようなスケーラブル復号装置200により実行される各処理の流れについて説明する。最初に、図23のフローチャートを参照して、復号処理の流れの例を説明する。
復号処理が開始されると、ステップS301において、スケーラブル復号装置200の共通情報取得部201は、共通情報を取得する。ステップS302において、復号制御部202は、最初の主レイヤを処理対象とする。
ステップS303において、復号制御部202は、ステップS301において取得された、符号化側から伝送された共通情報に基づいて、処理対象であるカレント主レイヤがベースレイヤであるか否かを判定する。カレント主レイヤがベースレイヤであると判定された場合、処理は、ステップS304に進む。
ステップS304において、ベースレイヤ画像復号部203は、ベースレイヤ復号処理を行う。ステップS304の処理が終了すると、処理は、ステップS308に進む。
また、ステップS303において、カレント主レイヤがエンハンスメントレイヤであると判定された場合、処理はステップS305に進む。ステップS305において、復号制御部202は、カレント主レイヤに対応する(すなわち、参照先とする)ベースレイヤを決定する。
ステップS306において、レイヤ間予測制御部204は、レイヤ間予測制御処理を行う。
ステップS307において、エンハンスメントレイヤ画像復号部205は、エンハンスメントレイヤ復号処理を行う。ステップS307の処理が終了すると、処理はステップS308に進む。
ステップS308において、復号制御部202は、全ての主レイヤを処理したか否かを判定する。未処理の主レイヤが存在すると判定された場合、処理はステップS309に進む。
ステップS309において、復号制御部202は、次の未処理の主レイヤを処理対象(カレント主レイヤ)とする。ステップS309の処理が終了すると、処理はステップS303に戻る。ステップS303乃至ステップS309の処理が繰り返し実行され、各主レイヤが復号される。
そして、ステップS308において、全ての主レイヤが処理されたと判定された場合、復号処理が終了する。
<共通情報取得処理の流れ>
次に、図24のフローチャートを参照して、図23のステップS301において実行される共通情報取得処理の流れの例を説明する。
共通情報取得処理が開始されると、共通情報取得部201は、ステップS321において、符号化側から伝送されたビデオパラメータセット(VPS)を取得する。
ステップS322において、主レイヤ最大数取得部241は、ビデオパラメータセットよりパラメータ(max_layer_minus1)を取得する。ステップS323において、サブレイヤ最大数取得部242は、ビデオパラメータセットよりパラメータ(vps_max_sub_layers_minus1)を取得する。ステップS324において、レイヤ間予測実行最大サブレイヤ取得部243は、各主レイヤについて、パラメータ(max_sub_layer_for_inter_layer_prediction[i])を取得する。
ステップS325において、共通情報取得部201は、ビデオパラメータセットから復号の制御に必要な情報を抽出し、それを復号に関する情報として、復号制御部202に供給する。
ステップS325の処理が終了すると、共通情報取得処理が終了し、処理は、図23に戻る。
<ベースレイヤ復号処理の流れ>
次に、図25のフローチャートを参照して、図23のステップS304において実行されるベースレイヤ復号処理の流れの例を説明する。
ベースレイヤ復号処理が開始されると、ステップS341において、ベースレイヤ画像復号部203の蓄積バッファ211は、符号化側から伝送されたベースレイヤのビットストリームを蓄積する。ステップS342において、可逆復号部212は、蓄積バッファ211から供給されるベースレイヤのビットストリーム(符号化された差分画像情報)を復号する。すなわち、可逆符号化部116により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。このとき、ヘッダ情報などのビットストリームに含められた差分画像情報以外の各種情報も復号される。
ステップS343において、逆量子化部213は、ステップS342の処理により得られた、量子化された係数を逆量子化する。
ステップS344において、逆直交変換部214は、カレントブロック(カレントTU)を逆直交変換する。
ステップS345において、イントラ予測部221若しくは動き補償部222は、予測処理を行い、予測画像を生成する。つまり、可逆復号部212において判定された、符号化の際に適用された予測モードで予測処理が行われる。より具体的には、例えば、符号化の際にイントラ予測が適用された場合、イントラ予測部221が、符号化の際に最適とされたイントラ予測モードで予測画像を生成する。また、例えば、符号化の際にインター予測が適用された場合、動き補償部222が、符号化の際に最適とされたインター予測モードで予測画像を生成する。
ステップS346において、演算部215は、ステップS344の逆直交変換処理により生成された差分画像情報に、ステップS345において生成された予測画像を加算する。これにより元の画像が復号される。
ステップS347において、ループフィルタ216は、ステップS346において得られた復号画像に対して、ループフィルタ処理を適宜行う。
ステップS348において、画面並べ替えバッファ217は、ステップS347においてフィルタ処理された画像の並べ替えを行う。すなわち画面並べ替えバッファ112により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS349において、D/A変換部218は、ステップS348においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
ステップS350において、フレームメモリ219は、ステップS347においてループフィルタ処理された画像を記憶する。
ステップS351において、フレームメモリ219は、ステップS350において記憶した復号画像を、ベースレイヤの復号に関する情報として、レイヤ間予測制御部204の復号関連情報バッファ252に供給し、記憶させる。
ステップS351の処理が終了すると、ベースレイヤ復号処理が終了し、処理は図23に戻る。ベースレイヤ復号処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してベースレイヤ復号処理が実行される。ただし、ベースレイヤ復号処理内の各処理は、それぞれの処理単位毎に行われる。
<レイヤ間予測制御処理の流れ>
次に、図23のステップS306において実行されるレイヤ間予測制御処理の流れの例を、図26のフローチャートを参照して説明する。
レイヤ間予測制御処理が開始されると、レイヤ間予測実行制御部251は、ステップS371において、図24の共通情報生成処理により共通情報取得部201から供給されたパラメータ(max_sub_layer_for_inter_layer_prediction[i])を参照する。
ステップS372において、レイヤ間予測実行制御部251は、そのパラメータの値に基づいて、カレントピクチャのカレントサブレイヤが、レイヤ間予測を行うレイヤであるか否かを判定する。パラメータ(max_sub_layer_for_inter_layer_prediction[i])により指定されるレイヤが、カレントサブレイヤよりも上位のサブレイヤであり、カレントサブレイヤにおけるレイヤ間予測が許可されていると判定された場合、処理は、ステップS373に進む。
ステップS373において、レイヤ間予測実行制御部251は、復号関連情報バッファ252を制御し、復号関連情報バッファ252に記憶されているベースレイヤの復号に関する情報を、エンハンスメントレイヤ画像復号部205に供給させる。ステップS373の処理が終了すると、レイヤ間予測制御処理が終了し、処理は、図23に戻る。
また、ステップS372において、カレントサブレイヤにおけるレイヤ間予測が許可されていないと判定された場合、ベースレイヤの符号化に関する情報の供給は行われずに、レイヤ間予測制御処理が終了し、処理は図23に戻る。つまり、このカレントサブレイヤに対する符号化においては、レイヤ間予測は行われない。
<エンハンスメントレイヤ復号処理の流れ>
次に、図27のフローチャートを参照して、図23のステップS307において実行されるエンハンスメントレイヤ復号処理の流れの例を説明する。
エンハンスメントレイヤ復号処理のステップS391乃至ステップS394、並びに、ステップS396乃至ステップS400の各処理は、ベースレイヤ復号処理のステップS341乃至ステップS344、並びに、ステップS346乃至ステップS350の各処理と同様に実行される。ただし、エンハンスメントレイヤ復号処理の各処理は、エンハンスメントレイヤ画像復号部205の各処理部により、エンハンスメントレイヤ符号化データに対して行われる。
なお、ステップS395において、イントラ予測部221若しくは動き補償部232は、エンハンスメントレイヤ符号化データに対して、予測処理を行う。
ステップS400の処理が終了すると、エンハンスメントレイヤ復号処理が終了され、処理は図23に戻る。エンハンスメントレイヤ復号処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してエンハンスメントレイヤ復号処理が実行される。ただし、エンハンスメントレイヤ復号処理内の各処理は、それぞれの処理単位毎に行われる。
<予測処理の流れ>
次に、図28のフローチャートを参照して、図27のステップS395において実行される予測処理の流れの例を説明する。
予測処理が開始されると、動き補償部232は、ステップS421において、予測モードがインター予測であるか否かを判定する。インター予測であると判定した場合、処理はステップS422に進む。
ステップS422において、動き補償部232は、符号化の際に採用されたインター予測モードである最適インター予測モードがレイヤ間予測を行うモードであるか否かを判定する。最適インター予測モードがレイヤ間予測を行うモードであると判定された場合、処理はステップS423に進む。
ステップS423において、動き補償部232は、ベースレイヤの復号に関する情報を取得する。ステップS424において、動き補償部232は、ベースレイヤに関する情報を用いて動き補償を行い、レイヤ間予測の予測画像を生成する。ステップS424の処理が終了すると、処理はステップS427に進む。
また、ステップS422において、最適インター予測モードがレイヤ間予測を行うモードでないと判定された場合、処理は、ステップS425に進む。ステップS425において、動き補償部232は、カレント主レイヤ内で動き補償を行い、予測画像を生成する。ステップS425の処理が終了すると、処理はステップS427に進む。
また、ステップS421において、イントラ予測であると判定された場合、処理はステップS426に進む。ステップS426において、イントラ予測部221は、符号化の際に採用されたイントラ予測モードである最適イントラ予測モードで予測画像を生成する。ステップS426の処理が終了すると、処理はステップS427に進む。
ステップS427において、選択部223は、予測画像を選択し、演算部215に供給する。ステップS427の処理が終了すると、予測処理が終了し、処理が図27に戻る。
以上のように各処理を実行することにより、スケーラブル復号装置200は、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
<3.第3の実施の形態>
<主レイヤ毎のサブレイヤ指定>
以上においては、共通情報として、例えばビデオパラメータセット(VPS)において、パラメータ(vps_max_sub_layers_minus1)によって、各主レイヤにおけるサブレイヤの階層数の最大値を指定するように説明したが、これに限らず、各主レイヤにおけるサブレイヤの階層数を、個別に指定するようにしてもよい。
図29に、この場合のビデオパラメータセットのシンタクスの例を示す。図29に示されるように、この場合、ビデオパラメータセット(VPS)において、パラメータ(vps_max_sub_layers_minus1)の代わりに、パラメータ(vps_num_sub_layers_minus1[i])が設定される。
このパラメータ(vps_num_sub_layers_minus1[i])は、主レイヤ毎に設定されるパラメータであり、対応する主レイヤにおけるサブレイヤの階層数(サブレイヤ数)を指定する。つまり、このパラメータによって、各主レイヤのサブレイヤ数が個別に指定される。
階層化には様々な方法があり、例えば、主レイヤ毎にサブレイヤ数(例えばGOP構造)が異なるようにすることもできる。図30に示される例の場合、主レイヤにおいて、下位階層(ベースレイヤ)に比べて上位階層(エンハンスメントレイヤ)の方が、サブレイヤが少ない。また、図31に示される例の場合、主レイヤにおいて、下位階層(ベースレイヤ)に比べて上位階層(エンハンスメントレイヤ)の方が、サブレイヤが多い。
パラメータ(vps_num_sub_layers_minus1[i])によって、各主レイヤのサブレイヤ数が個別に指定することにより、スケーラブル符号化装置100およびスケーラブル復号装置200は、この値を用いて、レイヤ間予測の、より詳細な(より正確な)制御を行うことができるようになる。
例えば、以上においては、パラメータ(max_sub_layer_for_inter_layer_prediction)の値がパラメータ(vps_max_sub_layers_minus1)以下となるように説明したが、実際には、パラメータ(max_sub_layer_for_inter_layer_prediction)に、ベースレイヤとエンハンスメントレイヤの両方のサブレイヤ数を超えた値を設定しても、実際のサブレイヤ数が最上位レイヤとなる。つまり、レイヤ間予測を正しく制御するためには、ベースレイヤとエンハンスメントレイヤのサブレイヤ数を別途把握しておく必要がある。
そこで、パラメータ(vps_num_sub_layers_minus1[i])の値を用いて、パラメータ(max_sub_layer_for_inter_layer_prediction)の値を、ベースレイヤのサブレイヤ数と、エンハンスメントレイヤのサブレイヤ数の内、少ない方のサブレイヤ数以下に設定するようにする。このようにすることにより、レイヤ間予測をより容易に正しく制御することができる。
<共通情報生成部とレイヤ間予測制御部>
図32は、この場合の、スケーラブル符号化装置100の共通情報生成部およびレイヤ間予測制御部の主な構成例を示すブロック図である。この場合、スケーラブル符号化装置100は、共通情報生成部101の代わりに共通情報生成部301を有する。
図32に示されるように、共通情報生成部301は、基本的に共通情報生成部101と同様の処理部であり、同様の構成を有するが、サブレイヤ最大数設定部142とレイヤ間予測実行最大サブレイヤ設定部143の代わりに、サブレイヤ数設定部342とレイヤ間予測実行最大サブレイヤ設定部343を有する。
サブレイヤ数設定部342は、対応する主レイヤのサブレイヤ数を指定する情報であるパラメータ(vps_num_sub_layers_minus1[i])を設定する。サブレイヤ数設定部342は、主レイヤ(i)毎に、このパラメータ(vps_num_sub_layers_minus1[i])を設定する。
レイヤ間予測実行最大サブレイヤ設定部343は、サブレイヤ数設定部342により設定されたパラメータ(vps_num_sub_layers_minus1[i])の値に基づいて、対応する主レイヤの、レイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報であるパラメータ(max_sub_layer_for_inter_layer_prediction[i])を設定する。
このようにすることにより、スケーラブル符号化装置100は、レイヤ間予測をより容易に正しく制御することができる。
<共通情報生成処理の流れ>
この場合の共通情報生成処理の流れの例を、図33のフローチャートを参照して説明する。共通情報生成処理が開始されると、主レイヤ最大数設定部141は、ステップS501において、パラメータ(max_layer_minus1)を設定する。
ステップS502において、サブレイヤ数設定部342は、各主レイヤについて、パラメータ(vps_num_sub_layers_minus1[i])を設定する。
ステップS503において、レイヤ間予測実行最大サブレイヤ設定部343は、カレントレイヤおよび参照先レイヤのパラメータ(vps_num_sub_layers_minus1[i])に基づいて、各主レイヤについて、パラメータ(max_sub_layer_for_inter_layer_prediction[i])を設定する。
ステップS504において、共通情報生成部101は、ステップS501乃至ステップS503において設定された各パラメータを含むビデオパラメータセットを共通情報として生成する。
ステップS505において、共通情報生成部101は、ステップS504の処理により生成したビデオパラメータセットを、スケーラブル符号化装置100の外部および符号化制御部102に供給する。また、共通情報生成部101は、ステップS503において設定したパラメータ(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部104に供給する。
ステップS505の処理が終了すると、共通情報生成処理が終了し、処理は、図13に戻る。
このように処理を行うことにより、スケーラブル符号化装置100は、レイヤ間予測をより容易に正しく制御することができる。
<4.第4の実施の形態>
<共通情報取得部とレイヤ間予測制御部>
次に、スケーラブル復号装置200について説明する。図34は、この場合の、スケーラブル復号装置200の共通情報取得部およびレイヤ間予測制御部の主な構成例を示すブロック図である。この場合、スケーラブル復号装置200は、共通情報取得部201の代わりに共通情報取得部401を有する。
図34に示されるように、共通情報取得部401は、基本的に共通情報取得部201と同様の処理部であり、同様の構成を有するが、サブレイヤ最大数取得部242とレイヤ間予測実行最大サブレイヤ取得部243の代わりに、サブレイヤ数取得部442とレイヤ間予測実行最大サブレイヤ取得部443を有する。
サブレイヤ数取得部442は、符号化側から伝送された共通情報に含まれる、パラメータ(vps_num_sub_layers_minus1[i])を取得する。レイヤ間予測実行最大サブレイヤ取得部443は、符号化側から伝送された共通情報に含まれるパラメータ(max_sub_layer_for_inter_layer_prediction[i])を取得する。上述したように、このパラメータ(max_sub_layer_for_inter_layer_prediction[i])は、符号化側においてパラメータ(vps_num_sub_layers_minus1[i])の値を用いて設定されたものである。
共通情報取得部401は、取得した共通情報に含まれる復号に関する情報(例えばビデオパラメータセット(VPS)など)を復号制御部202に供給する。さらに、共通情報取得部401は、カレント主レイヤのレイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部204に供給する。
このようにすることにより、スケーラブル復号装置200は、レイヤ間予測をより容易に正しく制御することができる。
<共通情報取得処理の流れ>
次に、図35のフローチャートを参照して、図23のステップS301において実行される共通情報取得処理の流れの例を説明する。
共通情報取得処理が開始されると、共通情報取得部401は、ステップS521において、符号化側から伝送されたビデオパラメータセット(VPS)を取得する。
ステップS522において、主レイヤ最大数取得部241は、ビデオパラメータセットより、パラメータ(max_layer_minus1)を取得する。
ステップS523において、サブレイヤ数取得部442は、ビデオパラメータセット(VPS)より、各主レイヤについて、パラメータ(vps_num_sub_layers_minus1[i])を取得する。
ステップS524において、レイヤ間予測実行最大サブレイヤ取得部443は、ビデオパラメータセット(VPS)より、各主レイヤについて、パラメータ(max_sub_layer_for_inter_layer_prediction[i])を取得する。
ステップS525において、共通情報取得部401は、ビデオパラメータセットから復号の制御に必要な情報を抽出し、それを復号に関する情報として、復号制御部202に供給する。また、共通情報取得部401は、ステップS523において設定したパラメータ(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部204に供給する。
ステップS525の処理が終了すると、共通情報取得処理が終了し、処理は、図23に戻る。
このように処理を行うことにより、スケーラブル復号装置200は、レイヤ間予測をより容易に正しく制御することができる。
<5.第5の実施の形態>
<主レイヤ共通のレイヤ間予測制御情報>
以上においては、パラメータ(max_sub_layer_for_inter_layer_prediction[i])を、主レイヤ毎に設定するように説明したが、これに限らず、この値を、全ての主レイヤに共通の値としてもよい。
さらに、レイヤ間予測制御情報を、主レイヤ毎に設定するか、全主レイヤ共通の値とするかを制御する制御情報(フラグ)を設定するようにしてもよい。
図36に、この場合のビデオパラメータセットのシンタクスの例を示す。図36に示されるように、この場合、ビデオパラメータセット(VPS)において、レイヤ間予測制御情報としてどのようなパラメータを設定するかを制御するフラグ(unified_max_sub_layer_for_inter_layer_prediction_flag)が設定される。
このフラグ(unified_max_sub_layer_inter_layer_prediction_flag)が真の場合、全主レイヤ共通のパラメータ(unified_max_sub_layer_for_inter_layer_prediction)が設定される。逆に、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)が偽の場合、パラメータ(max_sub_layer_for_inter_layer_prediction[i])が主レイヤ毎に設定される。
パラメータ(max_sub_layer_for_inter_layer_prediction[i])の代わりに、パラメータ(unified_max_sub_layer_for_inter_layer_prediction)を設定することにより、レイヤ間予測制御情報の情報量をさらに低減することができ、レイヤ間予測制御による符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
しかしながら、例えば、パラメータを全レイヤ共通の値とすると、情報量は低減されるが、その精度は低減する。そのため、レイヤ間予測の制御を十分に正確に行うことができない場合があり得る。そこで、レイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報を、レイヤ毎に設定するか、全レイヤ共通の値として設定するかを、フラグにより制御するようにすることにより、より多様な状況に対応することができる、より適応的なレイヤ間予測制御を実現することができる。
<共通情報生成部とレイヤ間予測制御部>
図37は、この場合の、スケーラブル符号化装置100の共通情報生成部およびレイヤ間予測制御部の主な構成例を示すブロック図である。この場合、スケーラブル符号化装置100は、共通情報生成部101の代わりに共通情報生成部501を有する。また、スケーラブル符号化装置100は、レイヤ間予測制御部104の代わりにレイヤ間予測制御部504を有する。
図37に示されるように、共通情報生成部501は、基本的に共通情報生成部101と同様の処理部であり、同様の構成を有するが、レイヤ間予測実行最大サブレイヤ設定部143の代わりに共通フラグ設定部543とレイヤ間予測実行最大サブレイヤ設定部544を有する。
共通フラグ設定部543は、レイヤ間予測制御情報としてどのようなパラメータを設定するかを制御するフラグ(unified_max_sub_layer_inter_layer_prediction_flag)を設定する。
レイヤ間予測実行最大サブレイヤ設定部544は、共通フラグ設定部543が設定したフラグ(unified_max_sub_layer_inter_layer_prediction_flag)の値と、サブレイヤ最大数設定部142により設定されたパラメータ(vps_max_sub_layers_minus1)の値とに基づいて、レイヤ間予測を許可するサブレイヤの最上位サブレイヤを指定する情報を設定する。例えば、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)が真である場合、レイヤ間予測実行最大サブレイヤ設定部544は、全主レイヤ共通のパラメータ(unified_max_sub_layer_for_inter_layer_prediction)を設定する。また、例えば、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)が偽である場合、レイヤ間予測実行最大サブレイヤ設定部544は、主レイヤ毎のパラメータ(max_sub_layer_for_inter_layer_prediction[i])を設定する。
このようにすることにより、スケーラブル符号化装置100は、レイヤ間予測をより適応的に制御することができる。
<共通情報生成処理の流れ>
この場合の共通情報生成処理の流れの例を、図38のフローチャートを参照して説明する。共通情報生成処理が開始されると、主レイヤ最大数設定部141は、ステップS601において、パラメータ(max_layer_minus1)を設定する。ステップS602において、サブレイヤ最大数設定部142は、パラメータ(vps_max_sub_layers_minus1)を設定する。
ステップS603において、共通フラグ設定部543は、どのようなパラメータを設定するかを制御するフラグ(unified_max_sub_layer_inter_layer_prediction_flag)を設定する。
ステップS604において、レイヤ間予測実行最大サブレイヤ設定部544は、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)の値が真であるか否かを判定する。真であると判定された場合、処理はステップS605に進む。
ステップS605において、レイヤ間予測実行最大サブレイヤ設定部544は、全主レイヤ共通のパラメータ(unified_max_sub_layer_for_inter_layer_prediction)を設定する。ステップS605の処理が終了すると、処理はステップS607に進む。
また、ステップS604において、偽であると判定された場合、処理はステップS606に進む。ステップS606において、レイヤ間予測実行最大サブレイヤ設定部544は、主レイヤ毎のパラメータ(max_sub_layer_for_inter_layer_prediction[i])を設定する。ステップS606の処理が終了すると、処理はステップS607に進む。
ステップS607において、共通情報生成部501は、ステップS601乃至ステップS606において設定された各パラメータを含むビデオパラメータセットを共通情報として生成する。
ステップS608において、共通情報生成部501は、ステップS607の処理により生成したビデオパラメータセットを、スケーラブル符号化装置100の外部および符号化制御部102に供給する。また、共通情報生成部501は、ステップS503において設定したパラメータ(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部504に供給する。
ステップS608の処理が終了すると、共通情報生成処理が終了し、処理は、図13に戻る。
<レイヤ間予測制御処理の流れ>
次に、この場合のレイヤ間予測制御処理の流れの例を、図39のフローチャートを参照して説明する。
レイヤ間予測制御処理が開始されると、レイヤ間予測実行制御部551は、ステップS621において、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)の値が真であるか否かを判定する。真であると判定された場合、処理はステップS622に進む。
ステップS622において、レイヤ間予測実行制御部551は、全主レイヤ共通のパラメータ(unified_max_sub_layer_for_inter_layer_prediction)を参照する。ステップS622の処理が終了すると、処理は、ステップS624に進む。
また、ステップS621において、偽であると判定された場合、処理はステップS623に進む。
ステップS623において、レイヤ間予測実行制御部551は、主レイヤ毎のパラメータ(max_sub_layer_for_inter_layer_prediction[i])を参照する。ステップS623の処理が終了すると、処理は、ステップS624に進む。
ステップS624において、レイヤ間予測実行制御部551は、これらの情報に基づいて、カレントサブレイヤがレイヤ間予測を行うレイヤであるか否かを判定する。レイヤ間予測を行うレイヤであると判定された場合、処理は、ステップS625に進む。
ステップS625において、レイヤ間予測実行制御部551は、符号化関連情報バッファ152を制御し、符号化関連情報バッファ152に記憶されているベースレイヤの符号化に関する情報を、エンハンスメントレイヤ画像符号化部105に供給させる。ステップS624の処理が終了すると、レイヤ間予測制御処理が終了し、処理は、図13に戻る。
また、ステップS624において、カレントサブレイヤにおけるレイヤ間予測が許可されていないと判定された場合、ベースレイヤの符号化に関する情報の供給は行われずに、レイヤ間予測制御処理が終了し、処理は図13に戻る。つまり、このカレントサブレイヤに対する符号化においては、レイヤ間予測は行われない。
以上のように各処理を行うことにより、スケーラブル符号化装置100は、レイヤ間予測をより容易に正しく制御することができる。
<6.第6の実施の形態>
<共通情報取得部とレイヤ間予測制御部>
次にスケーラブル復号装置200について説明する。図40は、この場合の共通情報生成部およびレイヤ間予測制御部の主な構成例を示すブロック図である。
図40に示されるように、この場合、スケーラブル復号装置200は、共通情報取得部201の代わりに共通情報取得部601を有する。また、レイヤ間予測制御部204の代わりにレイヤ間予測制御部604を有する。
共通情報取得部601は、基本的に共通情報取得部201と同様の処理部であり、同様の構成を有するが、レイヤ間予測実行最大サブレイヤ取得部243の代わりに、共通フラグ取得部643とレイヤ間予測実行最大サブレイヤ取得部644を有する。
共通フラグ取得部643は、レイヤ間予測制御情報としてどのようなパラメータを設定するかを制御するフラグ(unified_max_sub_layer_inter_layer_prediction_flag)を取得する。
レイヤ間予測実行最大サブレイヤ取得部644は、例えば、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)が真である場合、全主レイヤ共通のパラメータ(unified_max_sub_layer_for_inter_layer_prediction)を取得する。また、例えば、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)が偽である場合、レイヤ間予測実行最大サブレイヤ設定部343は、主レイヤ毎のパラメータ(max_sub_layer_for_inter_layer_prediction[i])を取得する。
共通情報取得部601は、取得した共通情報に含まれる復号に関する情報(例えばビデオパラメータセット(VPS)など)を復号制御部202に供給する。さらに、共通情報取得部601は、パラメータ(unified_max_sub_layer_for_inter_layer_prediction)若しくは、パラメータ(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部604に供給する。
レイヤ間予測実行制御部651は、共通情報取得部601から供給されるパラメータ(unified_max_sub_layer_for_inter_layer_prediction)若しくは、パラメータ(max_sub_layer_for_inter_layer_prediction[i])に基づいて、復号関連情報バッファ252の読み出しを制御し、レイヤ間予測の実行を制御する。
このようにすることにより、スケーラブル復号装置200は、レイヤ間予測をより適応的に制御することができる。
<共通情報取得処理の流れ>
次に、図41のフローチャートを参照して、図23のステップS301において実行される共通情報取得処理の流れの例を説明する。
共通情報取得処理が開始されると、共通情報取得部601は、ステップS641において、符号化側から伝送されたビデオパラメータセット(VPS)を取得する。
ステップS642において、主レイヤ最大数取得部241は、ビデオパラメータセットより、パラメータ(max_layer_minus1)を取得する。
ステップS643において、サブレイヤ最大数取得部242は、ビデオパラメータセット(VPS)より、パラメータ(vps_max_sub_layers_minus1)を取得する。
ステップS644において、共通フラグ取得部643は、ビデオパラメータセット(VPS)より、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)を取得する。
ステップS645において、レイヤ間予測実行最大サブレイヤ取得部644は、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)の値が真であるか否かを判定する。真であると判定された場合、処理はステップS646に進む。
ステップS646において、レイヤ間予測実行最大サブレイヤ取得部644は、ビデオパラメータセット(VPS)より、全レイヤ共通のパラメータ(unified_max_sub_layer_for_inter_layer_prediction)を取得する。ステップS646の処理が終了すると、処理はステップS648に進む。
また、ステップS645において、偽であると判定された場合、処理はステップS647に進む。ステップS647において、レイヤ間予測実行最大サブレイヤ取得部644は、ビデオパラメータセット(VPS)より、各主レイヤについて、パラメータ(max_sub_layer_for_inter_layer_prediction[i])を取得する。ステップS647の処理が終了すると、処理はステップS648に進む。
ステップS648において、共通情報取得部601は、ビデオパラメータセットから復号の制御に必要な情報を抽出し、それを復号に関する情報として、復号制御部202に供給する。また、共通情報取得部601は、ステップS646において設定したパラメータ(unified_max_sub_layer_for_inter_layer_prediction)、若しくは、ステップS647において設定したパラメータ(max_sub_layer_for_inter_layer_prediction[i])をレイヤ間予測制御部604に供給する。
ステップS648の処理が終了すると、共通情報取得処理が終了し、処理は図23に戻る。
<レイヤ間予測制御処理の流れ>
次に、この場合のレイヤ間予測制御処理の流れの例を、図42のフローチャートを参照して説明する。
レイヤ間予測制御処理が開始されると、レイヤ間予測実行制御部651は、ステップS661において、フラグ(unified_max_sub_layer_inter_layer_prediction_flag)の値が真であるか否かを判定する。真であると判定された場合、処理はステップS662に進む。
ステップS662において、レイヤ間予測実行制御部651は、パラメータ(unified_max_sub_layer_for_inter_layer_prediction)を参照する。ステップS662の処理が終了すると、処理はステップS664に進む。
また、ステップS661において偽であると判定された場合、処理は、ステップS663に進む。
ステップS663において、レイヤ間予測実行制御部651は、パラメータ(max_sub_layer_for_inter_layer_prediction[i])を参照する。ステップS663の処理が終了すると、処理はステップS664に進む。
ステップS664において、レイヤ間予測実行制御部651は、ステップS662若しくはステップS663において参照したパラメータの値に基づいて、カレントピクチャのカレントサブレイヤが、レイヤ間予測を行うレイヤであるか否かを判定する。カレントサブレイヤにおけるレイヤ間予測が許可されていると判定された場合、処理は、ステップS665に進む。
ステップS665において、レイヤ間予測実行制御部651は、復号関連情報バッファ252を制御し、復号関連情報バッファ252に記憶されているベースレイヤの復号に関する情報を、エンハンスメントレイヤ画像復号部205に供給させる。ステップS665の処理が終了すると、レイヤ間予測制御処理が終了し、処理は、図23に戻る。
また、ステップS664において、カレントサブレイヤにおけるレイヤ間予測が許可されていないと判定された場合、ベースレイヤの符号化に関する情報の供給は行われずに、レイヤ間予測制御処理が終了し、処理は図23に戻る。つまり、このカレントサブレイヤに対する符号化においては、レイヤ間予測は行われない。
以上のように各処理を実行することにより、スケーラブル復号装置200は、レイヤ間予測をより適応的に制御することができる。
<7.概要2>
レイヤ間予測について、例えばHEVCにおいては、Liwei Guo (Chair), Yong He, Do-Kyoung Kwon, Jinwen Zan, Haricharan Lakshman, Jung Won Kang, "Description of Tool Experiment A2: Inter-layer Texture Prediction Signaling in SHVC", JCTVC-K1102, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1111th Meeting: Shanghai, CN, 10-19 Oct. 2012において、階層間でピクセル(Pixel)情報を用いた予測に関する検討がなされている。
また、Vadim Seregin, Patrice Onno, Shan Liu, Tammy Lee, Chulkeun Kim, Haitao Yang, Haricharan Laksman, "Description of Tool Experiment C5: Inter-layer syntax prediction using HEVC base layer", JCTVC-K1105, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1111th Meeting: Shanghai, CN, 10-19 Oct. 2012において、階層間でシンタクス(Syntax)情報(例えば、イントラ予測モード情報や動き情報等)を用いた予測に関する検討がなされている。
このピクセル情報を用いた予測であるピクセル予測と、シンタクス情報を用いた予測であるシンタクス予測とで、図43を参照して特徴を比較する。
まず、ピクセル予測について、当該画像(カレントピクチャ)と同じレイヤのピクチャを参照画像(リファレンスピクチャ)とするレイヤ内予測(Intra-layer Prediction)と、カレントピクチャと異なるレイヤのピクチャをリファレンスピクチャとするレイヤ間予測(Inter-layer Prediction)とを比較する。
ピクセル予測の場合、レイヤ内予測におけるリファレンスピクチャとカレントピクチャの時間軸上の距離(予測距離とも称する)が遠いとその予測効率が高くならず、相対的に、レイヤ間予測の性能が高くなる。これに対して、レイヤ内予測における予測距離が近いとその予測効率が高くなり、相対的に、レイヤ間予測の性能が高くなくなる。
つまり、図43に示されるように、参照画像と当該画像の時間軸上の距離が長い階層のピクチャ、すなわち、よりサブレイヤ(temporal layer depth)の低いピクチャでは、レイヤ内インター予測の予測精度が低減する可能性が高い。そのため、レイヤ内予測(intra-layer)では、インターピクチャであってもイントラ予測により符号化される可能性が高い。しかしながらレイヤ間ピクセル予測(Inter-layer Pixel Prediction)の予測精度は高いので、レイヤ内イントラ予測の場合よりも符号化効率の向上を期待することができる。
これに対して、参照画像と当該画像の時間軸上の距離が短い階層のピクチャ、すなわち、よりサブレイヤ(temporal layer depth)の高いピクチャに関しては、レイヤ内予測(intra-layer)によるインター予測が効率的である。そのため、レイヤ間ピクセル予測(Inter-layer Pixel Prediction)を適用しても、レイヤ内インター予測の場合と比べて符号化効率の大幅な向上を期待することができない。
また、ピクセル予測は、画像情報をレイヤ間で共有するためにメモリに格納する必要がある。そのため、メモリアクセスが増大する。
これに対して、レイヤ間でのシンタクスの相関性は高く、カレントピクチャのサブレイヤに関わらず、レイヤ間予測の予測効率は相対的に高い。つまり、図43に示されるように、動き情報やイントラ予測モード情報といったシンタクス(Syntax)情報は、どのサブレイヤであっても、レイヤ間(BaselayerとEnhancementlayerとの間)で高い相関関係を有する。そのため、カレントピクチャのサブレイヤに依存せずに、レイヤ間シンタクス予測(Inter-layer Syntax Prediction)による符号化効率の向上を期待することができる。
また、シンタクス予測の場合、シンタクス情報をレイヤ間で共有すればよいので、メモリのアクセスはピクセル予測の場合ほど増大しない。つまり、レイヤ間シンタクス予測(Inter-layer Syntax Prediction)のために格納しておくべき情報は、各PU(Prediction Unit)毎に1つの予測モード情報若しくは動き情報であり、全ての画素を保存しておくべきレイヤ間ピクセル予測(Inter-layer Pixel Prediction)に比して、メモリアクセスの増大は低い。
以上のように、互いに異なる特徴を有するピクセル予測とシンタクス予測を同様に制御すると、符号化効率を十分に向上させることができない恐れがあった。
そこで、第1の実施の形態乃至第6の実施の形態において上述したようなレイヤ間予測の制御において、ピクセル予測とシンタクス予測とを互いに独立に制御するようにしてもよい。つまり、レイヤ間ピクセル予測とレイヤ間シンタクス予測のオン/オフ制御を互いに独立に行うようにしてもよい。
例えば、レイヤ間ピクセル予測(Inter-layer Pixel Prediction)のオン/オフ(on/off)を制御する情報と、レイヤ間シンタクス予測(Inter-layer Syntax Prediction)のオン/オフ(on/off)を制御する情報とを、互いに独立に符号化するようにしてもよい。
レイヤ間ピクセル予測(Inter-layer Pixel Prediction)については、どのサブレイヤ(時間階層とも称する)まで予測処理を行うかを制御する情報を、出力となる画像圧縮情報の、例えばビデオパラメータセット(VPS(Video Parameter Set)若しくは拡張ビデオパラメータセット(vps_extension)において伝送するようにしてもよい。また、このようなレイヤ間ピクセル予測に関する制御情報をナルユニット(nal_unit)において伝送するようにしてもよい。
また、レイヤ間シンタクス予測(Inter-layer Syntax Prediction)については、ピクチャ(Picture)若しくはスライス(Slice)毎にレイヤ間シンタクス予測の実行(オン/オフ(on/off))を制御する制御情報を、出力となる画像圧縮情報の、例えばピクチャパラメータセット(PPS(Picture Parameter Set)若しくはスライスヘッダ(SliceHeader)において伝送するようにしてもよい。また、このようなレイヤ間シンタクス予測に関する制御情報をナルユニット(nal_unit)において伝送するようにしてもよい。
なお、以上のようなレイヤ間予測の制御は、ベースレイヤ(Baselayer)がAVCで符号化される場合であっても適用することができる。
以上のような処理を行うことにより、演算量と符号化効率のトレードオフ(trade-off)を適切に行うことができる。
<8.第7の実施の形態>
<共通情報生成部とレイヤ間予測制御部>
図44は、<7.概要2>において上述した場合の、スケーラブル符号化装置100の共通情報生成部およびレイヤ間予測制御部の主な構成例を示すブロック図である。図44に示されるように、この場合、スケーラブル符号化装置100は、共通情報生成部101の代わりに共通情報生成部701を有し、レイヤ間予測制御部104の代わりに、レイヤ間予測制御部704を有する。
図44に示されるように、共通情報生成部701は、レイヤ間ピクセル予測制御情報設定部711を有する。
レイヤ間ピクセル予測制御情報設定部711は、エンハンスメントレイヤにおけるレイヤ間ピクセル予測の実行(オン/オフ)を制御する制御情報であるレイヤ間ピクセル予測制御情報を設定する。レイヤ間ピクセル予測制御情報は、例えば、レイヤ間ピクセル予測の実行を許可する最上位のサブレイヤを指定する情報である。この場合、エンハンスメントレイヤにおいては、最下位から、このレイヤ間ピクセル予測制御情報により指定されるレイヤまでのサブレイヤにおいて、レイヤ間ピクセル予測が行われ、レイヤ間ピクセル予測制御情報により指定されるレイヤよりも上位のサブレイヤにおいては、レイヤ間ピクセル予測が禁止される。
なお、レイヤ間ピクセル予測制御情報設定部711が、このようなレイヤ間ピクセル予測制御情報を、エンハンスメントレイヤ毎に設定するようにしても良いし、全エンハンスメントレイヤに共通の制御情報として設定するようにしても良い。
また、レイヤ間ピクセル予測制御情報設定部711は、任意の情報に基づいて、レイヤ間ピクセル予測制御情報を設定することができる。例えば、この設定が、ユーザの指示に基づいて行われるようにしてもよいし、ハードウエアやソフトウエア等の条件に基づいて行われるようにしても良い。
レイヤ間ピクセル予測制御情報設定部711は、設定したレイヤ間ピクセル予測制御情報をレイヤ間予測制御部704(レイヤ間ピクセル予測制御部722)に供給する。また、レイヤ間ピクセル予測制御情報設定部711は、このレイヤ間ピクセル予測制御情報を、共通情報として、例えばビデオパラメータセット(VPS(Video Parameter Set)若しくは拡張ビデオパラメータセット(vps_extension)において伝送させる。また、レイヤ間ピクセル予測制御情報設定部711が、このレイヤ間ピクセル予測制御情報を、ナルユニット(nal_unit)において伝送させるようにしてもよい。
また、図44に示されるように、レイヤ間予測制御部704は、アップサンプル部721、レイヤ間ピクセル予測制御部722、ベースレイヤピクセルバッファ723、ベースレイヤシンタクスバッファ724、レイヤ間シンタクス予測制御情報設定部725、および、レイヤ間シンタクス予測制御部726を有する。
アップサンプル部721は、ベースレイヤ画像符号化部103のフレームメモリ122からベースレイヤの復号画像(ベースレイヤ復号画像とも称する)を取得すると、そのベースレイヤ復号画像を、ベースレイヤとエンハンスメントレイヤの解像度等の比に応じて、アップサンプル処理(解像度変換処理)する。アップサンプル部721は、アップサンプル処理されたベースレイヤ復号画像(アップサンプル復号画像とも称する)をベースレイヤピクセルバッファ723に供給する。
レイヤ間ピクセル予測制御部722は、レイヤ間ピクセル予測制御情報設定部711からレイヤ間ピクセル予測制御情報を取得すると、その情報にしたがって、エンハンスメントレイヤの符号化におけるレイヤ間ピクセル予測の実行を制御する。つまり、レイヤ間ピクセル予測制御部722は、レイヤ間ピクセル予測制御情報に従って、ベースレイヤピクセルバッファ723に記憶されているベースレイヤのアップサンプル復号画像の、エンハンスメントレイヤ画像符号化部105への供給を制御する。
より具体的には、レイヤ間ピクセル予測制御部722は、エンハンスメントレイヤ画像符号化部105の符号化対象であるカレントピクチャが属するサブレイヤが、レイヤ間ピクセル予測制御情報によってレイヤ間ピクセル予測を許可されたレイヤである場合、ベースレイヤピクセルバッファ723に記憶されているアップサンプル復号画像の供給を許可する。また、レイヤ間ピクセル予測制御部722は、そのカレントピクチャが属するサブレイヤが、レイヤ間ピクセル予測制御情報によってレイヤ間ピクセル予測を禁止されたレイヤである場合、ベースレイヤピクセルバッファ723に記憶されているアップサンプル復号画像の供給を禁止する。
また、レイヤ間ピクセル予測制御部722は、エンハンスメントレイヤ画像符号化部105の動き予測・補償部135に対して、レイヤ間ピクセル予測制御情報を供給することにより、エンハンスメントレイヤ画像符号化部105の動き予測・補償部135によるレイヤ間ピクセル予測の実行を制御する。
ベースレイヤピクセルバッファ723は、アップサンプル部721から供給されるアップサンプル復号画像を記憶し、レイヤ間ピクセル予測制御部722の制御に従って、適宜、そのアップサンプル復号画像を、レイヤ間ピクセル予測の参照画像(リファレンス)として、エンハンスメントレイヤ画像符号化部105のフレームメモリ122に供給する。エンハンスメントレイヤ画像符号化部105の動き予測・補償部135は、レイヤ間ピクセル予測を行う場合、そのフレームメモリ122に記憶されたベースレイヤのアップサンプル復号画像を参照画像として使用する。
ベースレイヤシンタクスバッファ724は、ベースレイヤ画像符号化部103のイントラ予測部124から予測モード情報等のシンタクス情報(ベースレイヤシンタクスとも称する)を取得し、記憶する。また、ベースレイヤシンタクスバッファ724は、ベースレイヤ画像符号化部103の動き予測・補償部125から動き情報等のシンタクス情報(ベースレイヤシンタクスとも称する)を取得し、記憶する。
ベースレイヤシンタクスバッファ724は、レイヤ間シンタクス予測制御部726の制御に従って、適宜、そのベースレイヤシンタクスを、エンハンスメントレイヤ画像符号化部105のイントラ予測部124や動き予測・補償部135に供給する。
より具体的には、例えば、ベースレイヤシンタクスバッファ724は、エンハンスメントレイヤ画像符号化部105のイントラ予測部124のイントラ予測の処理対象であるカレントピクチャに対するレイヤ間シンタクス予測がレイヤ間シンタクス予測制御部726により許可されている場合、記憶している予測モード情報等のベースレイヤシンタクスを、エンハンスメントレイヤ画像符号化部105のイントラ予測部124に供給する。エンハンスメントレイヤ画像符号化部105のイントラ予測部124は、このように供給されたベースレイヤシンタクス(予測モード情報等)を用いて、レイヤ間シンタクス予測を行う。
また、例えば、ベースレイヤシンタクスバッファ724は、エンハンスメントレイヤ画像符号化部105の動き予測・補償部135のインター予測の処理対象であるカレントピクチャに対するレイヤ間シンタクス予測がレイヤ間シンタクス予測制御部726により許可されている場合、記憶している動き情報等のベースレイヤシンタクスを、エンハンスメントレイヤ画像符号化部105の動き予測・補償部135に供給する。エンハンスメントレイヤ画像符号化部105の動き予測・補償部135は、このように供給されたベースレイヤシンタクス(動き情報等)を用いて、レイヤ間シンタクス予測を行う。
レイヤ間シンタクス予測制御情報設定部725は、エンハンスメントレイヤにおけるレイヤ間シンタクス予測の実行(オン/オフ)を制御する制御情報であるレイヤ間シンタクス予測制御情報を設定する。レイヤ間シンタクス予測制御情報は、例えば、ピクチャ若しくはスライス毎にレイヤ間シンタクス予測の実行を許可するか否かを指定する情報である。
レイヤ間シンタクス予測制御情報設定部725は、任意の情報に基づいて、このレイヤ間シンタクス予測制御情報を設定することができる。例えば、この設定が、ユーザの指示に基づいて行われるようにしてもよいし、ハードウエアやソフトウエア等の条件に基づいて行われるようにしても良い。
レイヤ間シンタクス予測制御情報設定部725は、設定したレイヤ間シンタクス予測制御情報をレイヤ間シンタクス予測制御部726に供給する。
レイヤ間シンタクス予測制御部726は、レイヤ間シンタクス予測制御情報設定部725からレイヤ間シンタクス予測制御情報を取得する。レイヤ間シンタクス予測制御部726は、そのレイヤ間シンタクス予測制御情報にしたがって、エンハンスメントレイヤの符号化におけるレイヤ間シンタクス予測の実行を制御する。つまり、レイヤ間シンタクス予測制御部726は、レイヤ間シンタクス予測制御情報に従って、ベースレイヤシンタクスバッファ724に記憶されているベースレイヤシンタクスの、エンハンスメントレイヤ画像符号化部105への供給を制御する。
より具体的には、レイヤ間シンタクス予測制御部726は、エンハンスメントレイヤ画像符号化部105の符号化対象であるカレントピクチャ(若しくは、符号化対象であるカレントスライス)が、レイヤ間シンタクス予測制御情報によってレイヤ間シンタクス予測を許可されたピクチャ(若しくはスライス)である場合、ベースレイヤシンタクスバッファ724に記憶されているベースレイヤシンタクスの供給を許可する。また、レイヤ間シンタクス予測制御部726は、そのカレントピクチャ(若しくはカレントスライス)が、レイヤ間シンタクス予測制御情報によってレイヤ間シンタクス予測を禁止されたピクチャ(若しくはスライス)である場合、ベースレイヤシンタクスバッファ724に記憶されているベースレイヤシンタクスの供給を禁止する。
また、レイヤ間シンタクス予測制御部726は、エンハンスメントレイヤ画像符号化部105のイントラ予測部124や動き予測・補償部135に対して、レイヤ間シンタクス予測制御情報を供給することにより、エンハンスメントレイヤ画像符号化部105のイントラ予測部124や動き予測・補償部135によるレイヤ間シンタクス予測の実行を制御する。
以上のようにすることにより、スケーラブル符号化装置100は、レイヤ間ピクセル予測およびレイヤ間シンタクス予測を、それぞれ、より容易かつ適切に制御することができ、演算量と符号化効率のトレードオフ(trade-off)をより適切に行うことができる。つまり、スケーラブル符号化装置100は、レイヤ間予測をより適応的に制御し、符号化効率の低減を抑制することができる。
<共通情報生成処理の流れ>
この場合の共通情報生成処理の流れの例を、図45のフローチャートを参照して説明する。共通情報生成処理が開始されると、共通情報生成部701は、ステップS701において、パラメータ(max_layer_minus1)を設定する。
ステップS702において、共通情報生成部701は、各主レイヤについて、パラメータ(vps_num_sub_layers_minus1[i])を設定する。
ステップS703において、レイヤ間ピクセル予測制御情報設定部711は、各主レイヤについて、レイヤ間ピクセル予測制御情報を設定する。
ステップS704において、共通情報生成部701は、ステップS701乃至ステップS703において設定された各種情報を含むビデオパラメータセットを共通情報として生成する。
ステップS705において、共通情報生成部701は、ステップS704の処理により生成したビデオパラメータセットを、スケーラブル符号化装置100の外部に供給し、伝送させる。
ステップS705の処理が終了すると、共通情報生成処理が終了し、処理は、図13に戻る。
<ベースレイヤ符号化処理の流れ>
次に、図46のフローチャートを参照して、この場合のベースレイヤ符号化処理の流れの例を説明する。
この場合、ベースレイヤ符号化処理が開始されると、ステップS711乃至ステップS723の各処理が、図15のステップS141乃至ステップS153の各処理と同様に実行される。
ステップS724において、アップサンプル部721は、ステップS722の処理により得られたベースレイヤ復号画像をアップサンプルする。
ステップS725において、ベースレイヤピクセルバッファ723は、ステップS724の処理により得られたアップサンプル復号画像を記憶する。
ステップS726において、ベースレイヤシンタクスバッファ724は、ステップS713のイントラ予測処理やステップS714のインター動き予測処理等において得られたベースレイヤシンタクスを記憶する。
そして、ステップS727乃至ステップS729の各処理が、図15のステップS155乃至ステップS157の各処理と同様に実行される。
ステップS729の処理が終了すると、ベースレイヤ符号化処理が終了し、処理は図13に戻る。ベースレイヤ符号化処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してベースレイヤ符号化処理が実行される。ただし、ベースレイヤ符号化処理内の各処理は、それぞれの処理単位毎に行われる。
<レイヤ間予測制御処理の流れ>
次に、図47のフローチャートを参照して、この場合のレイヤ間予測制御処理の流れの例を説明する。
レイヤ間予測制御処理が開始されると、レイヤ間ピクセル予測制御部722は、ステップS731において、図45のステップS703の処理により設定されたレイヤ間ピクセル予測制御情報を参照する。
ステップS732において、レイヤ間ピクセル予測制御部722は、エンハンスメントレイヤのカレントピクチャのサブレイヤが、レイヤ間ピクセル予測を行うレイヤであるか否かを判定する。レイヤ間ピクセル予測を行うと判定された場合、処理はステップS733に進む。
ステップS733において、ベースレイヤピクセルバッファ723は、記憶しているアップサンプル復号画像を、エンハンスメントレイヤ画像符号化部105のフレームメモリ122に供給する。
ステップS733の処理が終了すると、処理はステップS734に進む。また、ステップS732において、レイヤ間ピクセル予測を行わないと判定された場合、処理はステップS734に進む。
ステップS734において、レイヤ間シンタクス予測制御情報設定部725は、レイヤ間シンタクス予測制御情報を設定する。
ステップS735において、レイヤ間シンタクス予測制御部726は、ステップS734において設定されたレイヤ間シンタクス予測制御情報を参照し、エンハンスメントレイヤのカレントピクチャ(若しくはスライス)がレイヤ間シンタクス予測を行うピクチャ(若しくはスライス)であるか否かを判定する。レイヤ間シンタクス予測を行うと判定された場合、処理はステップS736に進む。
ステップS736において、ベースレイヤシンタクスバッファ724は、記憶しているベースレイヤシンタクスを、エンハンスメントレイヤ画像符号化部105のイントラ予測部124若しくは動き予測・補償部135に供給する。
ステップS736の処理が終了すると、レイヤ間予測制御処理が終了し、処理は図13に戻る。また、図47のステップS735において、レイヤ間シンタクス予測を行わないと判定された場合、レイヤ間予測制御処理が終了し、処理は図13に戻る。
<エンハンスメントレイヤ符号化処理の流れ>
次に、図48のフローチャートを参照して、この場合のエンハンスメントレイヤ符号化処理の流れの例を説明する。
エンハンスメントレイヤ符号化処理のステップS741およびステップS742、並びに、ステップS745乃至ステップS756の各処理は、ベースレイヤ符号化処理のステップS711およびステップS712、ステップS715乃至ステップS723、並びに、ステップS727乃至ステップS729の各処理(図46)と同様に実行される。ただし、エンハンスメントレイヤ符号化処理の各処理は、エンハンスメントレイヤ画像符号化部105の各処理部により、エンハンスメントレイヤ画像情報に対して行われる。
なお、図48のステップS743において、エンハンスメントレイヤ画像符号化部105のイントラ予測部124は、エンハンスメントレイヤについての、レイヤ間シンタクス予測にも対応したイントラ予測処理を行う。
また、ステップS744において、動き予測・補償部135は、エンハンスメントレイヤについての、レイヤ間ピクセル予測およびレイヤ間シンタクス予測にも対応した動き予測・補償処理を行う。
ステップS756の処理が終了すると、エンハンスメントレイヤ符号化処理が終了し、処理は図13に戻る。エンハンスメントレイヤ符号化処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してエンハンスメントレイヤ符号化処理が実行される。ただし、エンハンスメントレイヤ符号化処理内の各処理は、それぞれの処理単位毎に行われる。
<動き予測・補償処理の流れ>
次に、図49のフローチャートを参照して、図48のステップS744において実行される動き予測・補償処理の流れの例を説明する。
動き予測・補償処理が開始されると、動き予測・補償部135は、ステップS761において、カレント主レイヤ内で動き予測を行う。
ステップS762において、動き予測・補償部135は、カレントピクチャについて、レイヤ間ピクセル予測を行うか否かを判定する。レイヤ間ピクセル予測制御部722から供給されたレイヤ間ピクセル予測制御情報に基づいて、レイヤ間ピクセル予測を行うと判定された場合、処理はステップS763に進む。
ステップS763において、動き予測・補償部135は、フレームメモリ122からベースレイヤのアップサンプル復号画像を取得する。ステップS764において、動き予測・補償部135は、ステップS763において取得したアップサンプル復号画像を参照してレイヤ間ピクセル予測を行う。ステップS764の処理が終了すると、処理はステップS765に進む。
また、ステップS762において、レイヤ間ピクセル予測を行わないと判定された場合、処理はステップS765に進む。
ステップS765において、動き予測・補償部135は、カレントピクチャについて、レイヤ間シンタクス予測を行うか否かを判定する。レイヤ間シンタクス予測制御部726から供給されたレイヤ間シンタクス予測制御情報に基づいて、レイヤ間シンタクス予測を行うと判定された場合、処理はステップS766に進む。
ステップS766において、動き予測・補償部135は、ベースレイヤシンタクスバッファ724から動き情報等のベースレイヤシンタクスを取得する。ステップS767において、動き予測・補償部135は、ステップS766において取得したベースレイヤシンタクスを用いてレイヤ間シンタクス予測を行う。ステップS767の処理が終了すると、処理はステップS768に進む。
また、ステップS765において、レイヤ間シンタクス予測を行わないと判定された場合、処理はステップS768に進む。
ステップS768において、動き予測・補償部135は、各予測モードについてコスト関数値を算出する。ステップS769において、動き予測・補償部135は、そのコスト関数値に基づいて最適なインター予測モードを選択する。
ステップS770において、動き予測・補償部135は、ステップS769において選択された最適インター予測モードで動き補償を行い、予測画像を生成する。ステップS771において、動き予測・補償部135は、その最適インター予測モードについて、インター予測に関する情報を生成する。
ステップS771の処理が終了すると、動き予測・補償処理が終了し、処理は図48に戻る。以上のように、レイヤ間ピクセル予測およびレイヤ間シンタクス予測に対応した動き予測・補償処理が行われる。この処理は、例えば、ブロック単位で実行される。ただし、動き予測・補償処理内の各処理は、それぞれの処理単位毎に行われる。
<イントラ予測処理の流れ>
次に、図50のフローチャートを参照して、図48のステップS743において実行されるイントラ予測処理の流れの例を説明する。
イントラ予測処理が開始されると、エンハンスメントレイヤ画像符号化部105のイントラ予測部124は、ステップS781において、レイヤ内の各イントラ予測モードでイントラ予測を行う。
ステップS782において、イントラ予測部124は、カレントピクチャについて、レイヤ間シンタクス予測を行うか否かを判定する。レイヤ間シンタクス予測制御部726から供給されたレイヤ間シンタクス予測制御情報に基づいて、レイヤ間シンタクス予測を行うと判定された場合、処理はステップS783に進む。
ステップS783において、イントラ予測部124は、ベースレイヤシンタクスバッファ724から予測モード情報等のベースレイヤシンタクスを取得する。ステップS784において、イントラ予測部124は、ステップS783において取得したベースレイヤシンタクスを用いてレイヤ間シンタクス予測を行う。ステップS784の処理が終了すると、処理はステップS785に進む。
また、ステップS782において、レイヤ間シンタクス予測を行わないと判定された場合、処理はステップS785に進む。
ステップS785において、イントラ予測部124は、イントラ予測(レイヤ間シンタクス予測を含む)を行った各イントラ予測モードでコスト関数値を算出する。
ステップS786において、イントラ予測部124は、ステップS785において算出したコスト関数値に基づいて、最適なイントラ予測モードを決定する。
ステップS787において、イントラ予測部124は、ステップS786において、決定された最適イントラ予測モードで予測画像を生成する。
ステップS787の処理が終了すると、イントラ予測処理が終了し、処理は図48に戻る。
以上のように各処理を実行することにより、スケーラブル符号化装置100は、レイヤ間ピクセル予測およびレイヤ間シンタクス予測を、それぞれ、より容易かつ適切に制御することができ、演算量と符号化効率のトレードオフ(trade-off)をより適切に行うことができる。つまり、スケーラブル符号化装置100は、レイヤ間予測をより適応的に制御し、符号化効率の低減を抑制することができる。換言するに、スケーラブル符号化装置100は、符号化・復号による画質の低減を抑制することができる。
<9.第8の実施の形態>
<共通情報取得部とレイヤ間予測制御部>
次に、スケーラブル復号装置200について説明する。図51は、<7.概要2>において上述した場合の、スケーラブル復号装置200の共通情報取得部およびレイヤ間予測制御部の主な構成例を示すブロック図である。この場合、スケーラブル復号装置200は、共通情報取得部201の代わりに共通情報取得部801を有し、レイヤ間予測制御部204の代わりにレイヤ間予測制御部804を有する。
図51に示されるように、共通情報取得部801は、レイヤ間ピクセル予測制御情報取得部811を有する。
レイヤ間ピクセル予測制御情報取得部811は、例えばスケーラブル符号化装置100からビデオパラメータセット等として伝送された共通情報であるレイヤ間ピクセル予測制御情報を取得する。
レイヤ間ピクセル予測制御情報取得部811は、取得したレイヤ間ピクセル予測制御情報をレイヤ間予測制御部804(レイヤ間ピクセル予測制御部822)に供給する。
また、図51に示されるように、レイヤ間予測制御部804は、アップサンプル部821、レイヤ間ピクセル予測制御部822、ベースレイヤピクセルバッファ823、ベースレイヤシンタクスバッファ824、レイヤ間シンタクス予測制御情報取得部825、および、レイヤ間シンタクス予測制御部826を有する。
アップサンプル部821は、ベースレイヤ画像復号部203のフレームメモリ219からベースレイヤ復号画像を取得すると、そのベースレイヤ復号画像を、ベースレイヤとエンハンスメントレイヤの解像度等の比に応じて、アップサンプル処理(解像度変換処理)する。アップサンプル部821は、得られたアップサンプル復号画像をベースレイヤピクセルバッファ823に供給する。
レイヤ間ピクセル予測制御部822は、レイヤ間ピクセル予測制御情報取得部811からレイヤ間ピクセル予測制御情報を取得する。レイヤ間ピクセル予測制御部822は、そのレイヤ間ピクセル予測制御情報に従って、ベースレイヤピクセルバッファ823に記憶されているベースレイヤのアップサンプル復号画像の、エンハンスメントレイヤ画像復号部205への供給を制御する。
より具体的には、レイヤ間ピクセル予測制御部822は、エンハンスメントレイヤ画像復号部205の復号対象であるカレントピクチャが属するサブレイヤが、レイヤ間ピクセル予測制御情報によってレイヤ間ピクセル予測を許可されたレイヤである場合、ベースレイヤピクセルバッファ823に記憶されているアップサンプル復号画像の供給を許可する。また、レイヤ間ピクセル予測制御部822は、そのカレントピクチャが属するサブレイヤが、レイヤ間ピクセル予測制御情報によってレイヤ間ピクセル予測を禁止されたレイヤである場合、ベースレイヤピクセルバッファ823に記憶されているアップサンプル復号画像の供給を禁止する。
ベースレイヤピクセルバッファ823は、アップサンプル部821から供給されるアップサンプル復号画像を記憶し、レイヤ間ピクセル予測制御部822の制御に従って、適宜、そのアップサンプル復号画像を、レイヤ間ピクセル予測の参照画像(リファレンス)として、エンハンスメントレイヤ画像復号部205のフレームメモリ219に供給する。
ベースレイヤシンタクスバッファ824は、ベースレイヤ画像復号部203のイントラ予測部221から予測モード情報等のベースレイヤシンタクスを取得し、記憶する。また、ベースレイヤシンタクスバッファ824は、ベースレイヤ画像復号部203の動き補償部222から動き情報等のベースレイヤシンタクスを取得し、記憶する。
ベースレイヤシンタクスバッファ824は、レイヤ間シンタクス予測制御部826の制御に従って、適宜、そのベースレイヤシンタクスを、エンハンスメントレイヤ画像復号部205のイントラ予測部221や動き補償部232に供給する。例えば、ベースレイヤシンタクスバッファ824は、記憶している予測モード情報等のベースレイヤシンタクスを、エンハンスメントレイヤ画像復号部205のイントラ予測部221に供給する。また、例えば、ベースレイヤシンタクスバッファ824は、記憶している動き情報等のベースレイヤシンタクスを、エンハンスメントレイヤ画像復号部205の動き補償部232に供給する。
レイヤ間シンタクス予測制御情報取得部825は、例えばスケーラブル符号化装置100からピクチャパラメータセット等として伝送されたレイヤ間シンタクス予測制御情報を、エンハンスメントレイヤ画像復号部205を介して取得する。
レイヤ間シンタクス予測制御情報取得部825は、取得したレイヤ間シンタクス予測制御情報をレイヤ間シンタクス予測制御部826に供給する。
レイヤ間シンタクス予測制御部826は、レイヤ間シンタクス予測制御情報取得部825からレイヤ間シンタクス予測制御情報を取得する。レイヤ間シンタクス予測制御部826は、そのレイヤ間シンタクス予測制御情報に従って、ベースレイヤシンタクスバッファ824に記憶されているベースレイヤシンタクスの、エンハンスメントレイヤ画像復号部205への供給を制御する。
より具体的には、レイヤ間シンタクス予測制御部826は、エンハンスメントレイヤ画像復号部205の復号対象であるカレントピクチャ(若しくは、復号対象であるカレントスライス)が、レイヤ間シンタクス予測制御情報によってレイヤ間シンタクス予測を許可されたピクチャ(若しくはスライス)である場合、ベースレイヤシンタクスバッファ824に記憶されているベースレイヤシンタクスの供給を許可する。また、レイヤ間シンタクス予測制御部826は、そのカレントピクチャ(若しくはカレントスライス)が、レイヤ間シンタクス予測制御情報によってレイヤ間シンタクス予測を禁止されたピクチャ(若しくはスライス)である場合、ベースレイヤシンタクスバッファ824に記憶されているベースレイヤシンタクスの供給を禁止する。
エンハンスメントレイヤ画像復号部205のイントラ予測部221は、例えばスケーラブル符号化装置100から供給された予測モードに関する情報に基づいて、最適イントラ予測モードでイントラ予測を行い、予測画像を生成する。その際、最適イントラ予測モードとしてレイヤ間シンタクス予測が指定される場合、すなわち、符号化の際にレイヤ間シンタクス予測のイントラ予測が行われた場合、イントラ予測部221は、ベースレイヤシンタクスバッファ824から供給されるベースレイヤシンタクスを用いてイントラ予測を行い、予測画像を生成する。
エンハンスメントレイヤ画像復号部205の動き補償部232は、例えばスケーラブル符号化装置100から供給された予測モードに関する情報に基づいて、最適インター予測モードで動き補償を行い、予測画像を生成する。その際、最適イントラ予測モードとしてレイヤ間ピクセル予測が指定される場合、すなわち、符号化の際にレイヤ間ピクセル予測のインター予測が行われた場合、動き補償部232は、フレームメモリ219に記憶されるベースレイヤのアップサンプル復号画像を参照して動き補償を行い、予測画像を生成する。
また、最適イントラ予測モードとしてレイヤ間シンタクス予測が指定される場合、すなわち、符号化の際にレイヤ間シンタクス予測のインター予測が行われた場合、動き補償部232は、ベースレイヤシンタクスバッファ824から供給されるベースレイヤシンタクスを用いて、フレームメモリ219に記憶されるエンハンスメントレイヤの復号画像を参照して動き補償を行い、予測画像を生成する。
以上のようにすることにより、スケーラブル復号装置200は、レイヤ間ピクセル予測およびレイヤ間シンタクス予測を、それぞれ、より容易かつ適切に制御することができ、演算量と符号化効率のトレードオフ(trade-off)をより適切に行うことができる。つまり、スケーラブル復号装置200は、レイヤ間予測をより適応的に制御し、符号化効率の低減を抑制することができる。
<共通情報取得処理の流れ>
この場合の共通情報取得処理の流れの例を、図52のフローチャートを参照して説明する。共通情報取得処理が開始されると、共通情報取得部801は、ステップS801において、符号化側から伝送されたビデオパラメータセット(VPS)を取得する。
ステップS802において、共通情報取得部801は、ビデオパラメータセットより、パラメータ(max_layer_minus1)を取得する。
ステップS803において、共通情報取得部801は、ビデオパラメータセット(VPS)より、各主レイヤについて、パラメータ(vps_num_sub_layers_minus1[i])を取得する。
ステップS804において、レイヤ間ピクセル予測制御情報取得部811は、ビデオパラメータセット(VPS)より、各主レイヤについて、レイヤ間ピクセル予測制御情報を取得する。
ステップS805において、レイヤ間ピクセル予測制御情報取得部811は、ステップS804において取得したレイヤ間ピクセル予測制御情報を、レイヤ間ピクセル予測制御部822に供給する。
ステップS805の処理が終了すると、共通情報取得処理が終了し、処理は、図23に戻る。
<ベースレイヤ復号処理の流れ>
次に、図53のフローチャートを参照して、この場合のベースレイヤ復号処理の流れの例を説明する。
この場合、ベースレイヤ復号処理が開始されると、ステップS811乃至ステップS820の各処理が、図25のステップS341乃至ステップS350の各処理と同様に実行される。
ステップS821において、アップサンプル部821は、ベースレイヤ復号画像をアップサンプルする。
ステップS822において、ベースレイヤピクセルバッファ823は、ステップS821の処理により得られたアップサンプル復号画像を記憶する。
ステップS823において、ベースレイヤシンタクスバッファ824は、ステップS815の予測処理等において得られたベースレイヤシンタクス(イントラ予測モード情報や動き情報等)を記憶する。
ステップS823の処理が終了すると、ベースレイヤ復号処理が終了し、処理は図23に戻る。ベースレイヤ復号処理は、例えば、ピクチャ単位で実行される。つまり、カレントレイヤの各ピクチャに対してベースレイヤ復号処理が実行される。ただし、ベースレイヤ復号処理内の各処理は、それぞれの処理単位毎に行われる。
<レイヤ間予測制御処理の流れ>
次に、図54のフローチャートを参照して、この場合のレイヤ間予測制御処理の流れの例を説明する。
レイヤ間予測制御処理が開始されると、レイヤ間ピクセル予測制御部822は、ステップS831において、図52のステップS805の処理により供給されたレイヤ間ピクセル予測制御情報を参照する。
ステップS832において、ベースレイヤピクセルバッファ823は、記憶しているアップサンプル復号画像を、エンハンスメントレイヤ画像復号部205のフレームメモリ219に供給する。
ステップS833の処理が終了すると、処理はステップS834に進む。また、ステップS832において、レイヤ間ピクセル予測を行わないと判定された場合、処理はステップS834に進む。
ステップS834において、レイヤ間シンタクス予測制御情報取得部825は、レイヤ間シンタクス予測制御情報を取得する。
ステップS835において、レイヤ間シンタクス予測制御部826は、ステップS834において取得されたレイヤ間シンタクス予測制御情報を参照し、エンハンスメントレイヤのカレントピクチャ(若しくはスライス)がレイヤ間シンタクス予測を行うピクチャ(若しくはスライス)であるか否かを判定する。レイヤ間シンタクス予測を行うと判定された場合、処理はステップS836に進む。
ステップS836において、ベースレイヤシンタクスバッファ824は、記憶しているベースレイヤシンタクスを、エンハンスメントレイヤ画像復号部205のイントラ予測部221若しくは動き補償部232に供給する。
ステップS836の処理が終了すると、レイヤ間予測制御処理が終了し、処理は図23に戻る。また、図54のステップS835において、レイヤ間シンタクス予測を行わないと判定された場合、レイヤ間予測制御処理が終了し、処理は図23に戻る。
<予測処理の流れ>
エンハンスメントレイヤ復号処理は、図27のフローチャートを参照して説明した場合と同様に実行されるので、その説明は省略する。
次に、図55および図56のフローチャートを参照して、この場合の予測処理の流れの例を説明する。
予測処理が開始されると、動き補償部232は、ステップS841において、予測モードがインター予測であるか否かを判定する。インター予測であると判定した場合、処理はステップS842に進む。
ステップS842において、動き補償部232は、最適インター予測モードがレイヤ間ピクセル予測を行うモードであるか否かを判定する。最適インター予測モードがレイヤ間ピクセル予測を行うモードであると判定された場合、処理はステップS843に進む。
ステップS843において、動き補償部232は、ベースレイヤのアップサンプル復号画像を取得する。
ステップS844において、動き補償部232は、そのベースレイヤのアップサンプル復号画像を用いて動き補償を行い、予測画像を生成する。ステップS844の処理が終了すると、処理はステップS849に進む。
また、ステップS842において、最適インター予測モードがレイヤ間ピクセル予測を行うモードでないと判定された場合、処理は、ステップS845に進む。
ステップS845において、動き補償部232は、最適インター予測モードがレイヤ間シンタクス予測を行うモードであるか否かを判定する。最適インター予測モードがレイヤ間シンタクス予測を行うモードであると判定された場合、処理はステップS846に進む。
ステップS846において、動き補償部232は、動き情報等のベースレイヤシンタクスを取得する。
ステップS847において、動き補償部232は、そのベースレイヤシンタクスを用いて動き補償を行い、予測画像を生成する。ステップS847の処理が終了すると、処理はステップS849に進む。
また、ステップS845において、最適インター予測モードがレイヤ間シンタクス予測を行うモードでないと判定された場合、処理はステップS848に進む。
ステップS848において、動き補償部232は、カレント主レイヤ内で動き補償を行い、予測画像を生成する。ステップS848の処理が終了すると、処理はステップS849に進む。
ステップS849において、動き補償部232は、以上のように生成した予測画像を、選択部223を介して演算部215に供給する。ステップS849の処理が終了すると、予測処理が終了し、処理が図27に戻る。
また、図55のステップS841において、イントラ予測であると判定された場合、処理は図56に進む。
図56のステップS851において、エンハンスメントレイヤ画像復号部205のイントラ予測部221は、最適イントラ予測モードがレイヤ間シンタクス予測を行うモードであるか否かを判定する。最適イントラ予測モードがレイヤ間シンタクス予測を行うモードであると判定された場合、処理はステップS852に進む。
ステップS852において、イントラ予測部221は、イントラ予測モード情報等のベースレイヤシンタクスを取得する。
ステップS853において、イントラ予測部221は、そのベースレイヤシンタクスを用いてイントラ予測を行い、予測画像を生成する。ステップS853の処理が終了すると、処理は図55のステップS849に戻る。
また、図56のステップS851において、最適イントラ予測モードがレイヤ間シンタクス予測を行うモードでないと判定された場合、処理はステップS854に進む。
ステップS854において、イントラ予測部221は、符号化の際に採用されたイントラ予測モードである最適イントラ予測モードで予測画像を生成する。ステップS854の処理が終了すると、処理は図55のステップS849に戻る。
以上のように各処理を実行することにより、スケーラブル復号装置200は、レイヤ間ピクセル予測およびレイヤ間シンタクス予測を、それぞれ、より容易かつ適切に制御することができ、演算量と符号化効率のトレードオフ(trade-off)をより適切に行うことができる。つまり、スケーラブル復号装置200は、レイヤ間予測をより適応的に制御し、符号化効率の低減を抑制することができる。換言するに、スケーラブル復号装置200は、符号化・復号による画質の低減を抑制することができる。
<10.概要3>
レイヤ間予測について、例えばSHVC(Scalable High Efficiency Video Coding)の場合、Jianle Chen, Jill Boyce, Yan Ye, Miska M. Hannuksela, "SHVC Test Model 1 (SHM 1)", JCTVC-L1007, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG1112th Meeting: Geneva, CH, 14-23 Jan. 2013において、テクスチャBL(TextureBL)とリファレンスインデックス(Ref_idx)との2つのフレームワークが提案されている。
テクスチャBL(TextureBL)フレームワークの場合、ベースレイヤ(Baselayer)の復号画像(若しくはそのアップサンプル(upsample)画像)が、イントラ予測モード(Intra Prediction Mode)の1つ(イントラBL(IntraBL)モード)として符号化される。バージョン1(Version 1)からのCUレベル(CU-level)以下でのシンタクス(Syntax)変更が可能である。
これに対して、リファレンスインデックス(Ref_idx)フレームワークの場合、ベースレイヤ(Baselayer)の復号画像(若しくはそのアップサンプル(upsample)画像)が、ロングターム(Long-Term)参照フレーム(長時間参照フレームとも称する)に格納され、これを用いた予測処理が行われる。バージョン1(Version 1)からのCUレベル(CU-level)以下でのシンタクス(Syntax)の変更は不可能である。
しかしながら、全てのピクチャ(Picture)において、レイヤ間テクスチャ予測(Inter-layer Texture Prediction)を行うことは、復号の際に、ベースレイヤ(Baselayer)とエンハンスメントレイヤ(Enhancementlayer)の両方で動き補償を行う必要があった。そのため演算量が増大し、復号処理の負荷が増大する恐れがあった。このことは、テクスチャBL(TextureBL)フレームワークの場合だけでなく、リファレンスインデックス(Ref_idx)フレームワークの場合も同様である。
そこで、ベースレイヤ(Baselayer)の復号画像(若しくはそのアップサンプル(upsample)された画像)を格納しているロングターム(Long-Term)参照フレームについてのシンタクス(syntax)の値を制御することにより、ピクチャ(Picture)毎にレイヤ間テクスチャ予測(inter-layer texture prediction)の実行を制御するようにする。
図57および図58は、シーケンスパラメータセット(sep_parameter_set_rbsp)のシンタクスの例を示す図である。図58に示されるように、シーケンスパラメータセット(sep_parameter_set_rbsp)には、ロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_sps_flag[i]が含まれる。
シンタクスused_by_curr_pic_lt_sps_flag[i]は、シーケンスパラメータセットにおいて指定されるロングターム参照ピクチャのi番目の候補が参照画像として使用されるか否かを制御するフラグである。この値が「0」の場合、ロングターム参照ピクチャのi番目の候補は使用されない。
また、図59乃至図61は、スライスヘッダ(slice_segment_header)のシンタクスの例を示す図である。図59に示されるように、スライスヘッダ(slice_segment_header)には、ロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_flag[i]が含まれる。
シンタクスused_by_curr_pic_lt_flag[i]は、カレントピクチャのロングタームRPS(Reference Picture Set)の中のi番目のエントリが、カレントピクチャによって参照画像として使用されるか否かを制御するフラグである。この値が「0」の場合、ロングタームRPSのi番目のエントリは使用されない。
例えば、これらのシンタクスの値を制御することにより、ピクチャ毎にレイヤ間テクスチャ予測の実行を制御するようにする。すなわち、例えば、レイヤ間テクスチャ予測(inter-layer texture prediction)を行うことができないようにするために、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値を「0」にする。逆に、レイヤ間テクスチャ予測(inter-layer texture prediction)を行うことができるようにするために、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値を「1」にする。
このように、ロングターム参照フレームについてのシンタクスの値を制御することにより、ピクチャ毎にレイヤ間テクスチャ予測の実行を制御することができる。したがって、復号処理における各レイヤの動き補償の実行を適切に制御することができ、復号処理の負荷の増大を抑制することができる。
<11.第9の実施の形態>
<画像符号化装置>
次に、以上のような本技術を実現する装置とその方法について説明する。図62は、本技術を適用した画像処理装置の一態様である、画像符号化装置を示す図である。図62に示される画像符号化装置900は、階層画像符号化を行う装置である。この画像符号化装置900は、図9のスケーラブル符号化装置100と基本的に同様の画像処理装置であるが、説明の便宜上、<10.概要3>において説明した本技術と直接的な関係の少ない構成(例えば共通情報生成部101、符号化制御部102、レイヤ間予測制御部104等)についての説明は省略している。
図62に示されるように、画像符号化装置900は、ベースレイヤ画像符号化部901、エンハンスメントレイヤ画像符号化部902、および多重化部903を有する。
ベースレイヤ画像符号化部901は、ベースレイヤ画像符号化部103(図9)と基本的に同様の処理部であり、ベースレイヤ画像を符号化し、ベースレイヤ画像符号化ストリームを生成する。エンハンスメントレイヤ画像符号化部902は、エンハンスメントレイヤ画像符号化部105(図9)と基本的に同様の処理部であり、エンハンスメントレイヤ画像を符号化し、エンハンスメントレイヤ画像符号化ストリームを生成する。多重化部903は、ベースレイヤ画像符号化部901において生成されたベースレイヤ画像符号化ストリームと、エンハンスメントレイヤ画像符号化部902において生成されたエンハンスメントレイヤ画像符号化ストリームとを多重化し、階層画像符号化ストリームを生成する。多重化部903は、生成した階層画像符号化ストリームを復号側に伝送する。
ベースレイヤ画像符号化部901は、ベースレイヤの符号化において得られた復号画像(ベースレイヤ復号画像とも称する)を、エンハンスメントレイヤ画像符号化部902に供給する。
エンハンスメントレイヤ画像符号化部902は、ベースレイヤ画像符号化部901から供給されるベースレイヤ復号画像を取得し、記憶する。エンハンスメントレイヤ画像符号化部902は、その記憶したベースレイヤ復号画像を参照画像として、エンハンスメントレイヤの符号化における予測処理に用いる。
<ベースレイヤ画像符号化部>
図63は、図62のベースレイヤ画像符号化部901の主な構成例を示すブロック図である。図63に示されるように、ベースレイヤ画像符号化部901は、A/D変換部911、画面並べ替えバッファ912、演算部913、直交変換部914、量子化部915、可逆符号化部916、蓄積バッファ917、逆量子化部918、および逆直交変換部919を有する。また、ベースレイヤ画像符号化部901は、演算部920、ループフィルタ921、フレームメモリ922、選択部923、イントラ予測部924、インター予測部925、予測画像選択部926、およびレート制御部927を有する。
A/D変換部911は、ベースレイヤ画像符号化部103のA/D変換部111(図10)と同様の処理部である。画面並べ替えバッファ912は、ベースレイヤ画像符号化部103の画面並べ替えバッファ112(図10)と同様の処理部である。演算部913は、ベースレイヤ画像符号化部103の演算部113(図10)と同様の処理部である。直交変換部914は、ベースレイヤ画像符号化部103の直交変換部114(図10)と同様の処理部である。量子化部915は、ベースレイヤ画像符号化部103の量子化部115(図10)と同様の処理部である。可逆符号化部916は、ベースレイヤ画像符号化部103の可逆符号化部116(図10)と同様の処理部である。蓄積バッファ917は、ベースレイヤ画像符号化部103の蓄積バッファ117(図10)と同様の処理部である。
逆量子化部918は、ベースレイヤ画像符号化部103の逆量子化部118(図10)と同様の処理部である。逆直交変換部919は、ベースレイヤ画像符号化部103の逆直交変換部119(図10)と同様の処理部である。演算部920は、ベースレイヤ画像符号化部103の演算部120(図10)と同様の処理部である。ループフィルタ921は、ベースレイヤ画像符号化部103のループフィルタ121(図10)と同様の処理部である。
フレームメモリ922は、ベースレイヤ画像符号化部103のフレームメモリ122(図10)と同様の処理部である。ただし、フレームメモリ922は、記憶している復号画像(ベースレイヤ復号画像とも称する)を、エンハンスメントレイヤ画像符号化部902に供給する。
選択部923は、ベースレイヤ画像符号化部103の選択部123(図10)と同様の処理部である。
イントラ予測部924は、ベースレイヤ画像符号化部103のイントラ予測部124(図10)と同様の処理部である。イントラ予測部924は、処理対象のフレームの画像であるカレントピクチャについて、所定のブロック毎に(ブロックを処理単位として)、画面内予測(イントラ予測とも称する)を行い、予測画像を生成する。イントラ予測の場合、予測に用いられる参照画像として、処理対象であるカレントブロックの空間的に周辺に位置する(つまり、カレントピクチャ内においてカレントブロックの周辺に位置する)処理済みの画素(周辺画素とも称する)の画素値が用いられる。イントラ予測部924は、そのような参照画像をフレームメモリ922に格納される再構成画像から(選択部923を介して)取得する。
このイントラ予測には(すなわち、予測画像の生成の仕方には)、複数の方法(イントラ予測モードとも称する)が、候補として予め用意されている。イントラ予測部924は、この予め用意された全てのイントラ予測モードでこのイントラ予測を行う。そして、イントラ予測部924は、生成した全てのイントラ予測モードの予測画像のコスト関数値を、画面並べ替えバッファ912から供給される入力画像を用いて算出し、そのコスト関数値に基づいて最適なモードを選択する。
イントラ予測部924は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部926に供給する。そして、イントラ予測部924は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部916に供給し、符号化させる。
インター予測部925は、ベースレイヤ画像符号化部103の動き予測・補償部125(図10)と同様の処理部である。インター予測部925は、カレントピクチャについて、所定のブロック毎に(ブロックを処理単位として)、画面間予測(インター予測とも称する)を行い、予測画像を生成する。インター予測の場合、予測に用いられる参照画像として、処理対象であるカレントブロックの時間的に周辺に位置する(つまり、カレントピクチャと異なるピクチャの、カレントブロックに対応する位置のブロックの)処理済みの画素の画素値が用いられる。インター予測部925は、そのような参照画像をフレームメモリ922に格納される再構成画像から(選択部923を介して)取得する。
また、インター予測は、動き予測と動き補償よりなる。インター予測部925は、画面並べ替えバッファ912から供給されるカレントブロックの画像データ(入力画像)と、フレームメモリ922から参照画像として供給される参照画像の画像データとを用いて、カレントブロックについて動き予測を行い、動きベクトルを検出する。そして、インター予測部925は、参照画像を用いて、検出された動きベクトルに応じて動き補償処理を行い、カレントブロックの予測画像を生成する。
インター予測には(すなわち、予測画像の生成の仕方には)、複数の方法(インター予測モードとも称する)が、候補として予め用意されている。インター予測部925は、この予め用意された全てのインター予測モードでこのようなインター予測を行う。そして、インター予測部925は、この予め用意された全てのインター予測モードでインター予測を行う。そして、インター予測部925は、生成した全てのインター予測モードの予測画像のコスト関数値を、画面並べ替えバッファ912から供給される入力画像や、生成した差分動きベクトルの情報等を用いて算出し、そのコスト関数値に基づいて最適なモードを選択する。
インター予測部925は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部926に供給する。そして、インター予測部925は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部916に供給し、符号化させる。必要な情報としては、例えば、生成された差分動きベクトルの情報や、予測動きベクトル情報として予測動きベクトルのインデックスを示すフラグなどがある。
予測画像選択部926は、ベースレイヤ画像符号化部103の予測画像選択部126(図10)と同様の処理部である。レート制御部927は、ベースレイヤ画像符号化部103のレート制御部127(図10)と同様の処理部である。
なお、ベースレイヤ画像符号化部901は、他のレイヤを参照せずに符号化を行う。つまり、イントラ予測部924およびインター予測部925は、他のレイヤの復号画像を参照画像として利用しない。
<エンハンスメントレイヤ画像符号化部>
図64は、図62のエンハンスメントレイヤ画像符号化部902の主な構成例を示すブロック図である。図64に示されるように、エンハンスメントレイヤ画像符号化部902は、図63のベースレイヤ画像符号化部901と基本的に同様の構成を有する。
つまり、エンハンスメントレイヤ画像符号化部902は、図64に示されるように、A/D変換部931、画面並べ替えバッファ932、演算部933、直交変換部934、量子化部935、可逆符号化部936、蓄積バッファ937、逆量子化部938、および逆直交変換部939を有する。また、エンハンスメントレイヤ画像符号化部902は、演算部940、ループフィルタ941、フレームメモリ942、選択部943、イントラ予測部944、インター予測部945、予測画像選択部946、およびレート制御部947を有する。
これらのA/D変換部931乃至レート制御部947は、図63のA/D変換部911乃至レート制御部927に対応し、それぞれ、対応する処理部と同様の処理を行う。ただし、エンハンスメントレイヤ画像符号化部902の各部は、ベースレイヤではなく、エンハンスメントレイヤ画像情報の符号化についての処理を行う。したがって、A/D変換部931乃至レート制御部947の処理の説明として、上述した図63のA/D変換部911乃至レート制御部927についての説明を適用することができるが、その場合、処理するデータは、ベースレイヤのデータではなく、エンハンスメントレイヤのデータであるものとする必要がある。また、データの入力元や出力先の処理部は、適宜、A/D変換部931乃至レート制御部947の中の対応する処理部に置き換えて読む必要がある。
なお、エンハンスメントレイヤ画像符号化部902は、他のレイヤ(例えばベースレイヤ)の情報を参照して符号化を行う。そして、エンハンスメントレイヤ画像符号化部902は、<10.概要3>において上述した処理を行う。
例えば、フレームメモリ942は、複数の参照フレームを記憶することができ、エンハンスメントレイヤの復号画像(エンハンスメントレイヤ復号画像とも称する)を記憶するだけでなく、ベースレイヤ画像符号化部901からベースレイヤ復号画像を取得し、ロングターム参照フレームとして記憶する。このとき、フレームメモリ942に記憶されるベースレイヤ復号画像は、アップサンプル処理されたものであってもよい(例えば、フレームメモリ942が、ベースレイヤ画像符号化部901から供給されるベースレイヤ復号画像をアップサンプルして記憶するようにしてもよい)。
ベースレイヤ画像符号化部901の場合と同様に、フレームメモリ942に記憶された画像、すなわち、エンハンスメントレイヤ復号画像やベースレイヤ復号画像は、イントラ予測部944やインター予測部945による予測処理において、参照画像として利用される。
つまり、イントラ予測部944は、イントラ予測の候補の1つとして、テクスチャBL(texture BL)モードを有する。テクスチャBLモードの場合、参照画像として、エンハンスメントレイヤのカレントピクチャではなく、ベースレイヤのカレントピクチャの復号画像が用いられる。つまり、イントラ予測部944は、ベースレイヤのカレントピクチャの、エンハンスメントレイヤにおけるカレントブロックに対応するブロック(コロケーテッドブロックとも称する)の画素値をフレームメモリ942のロングターム参照フレームから(選択部943を介して)取得し、それを参照画像として用いてイントラ予測を行う。
そして、イントラ予測部944は、その他のイントラ予測モードの場合と同様に、コスト関数値を算出して評価する。つまり、イントラ予測部944は、このテクスチャBLモードも含む、候補となる全てのイントラ予測モードの中から最適なイントラ予測モードを選択する。
インター予測部945も同様に、インター予測の候補の1つとして、リファレンスインデックス(Ref_idx)モードを有する。リファレンスインデックスモードの場合、参照画像として、エンハンスメントレイヤのピクチャではなく、ベースレイヤのピクチャの復号画像が用いられる。つまり、インター予測部945は、フレームメモリ942のロングターム参照フレームに格納されるベースレイヤ復号画像を参照画像として取得し、それを用いてインター予測(動き予測や動き補償等)を行う。
そして、インター予測部945は、その他のインター予測モードの場合と同様に、コスト関数値を算出して評価する。つまり、インター予測部945は、このリファレンスインデックスモードも含む、候補となる全てのインター予測モードの中から最適なインター予測モードを選択する。
ところで、図64に示されるように、エンハンスメントレイヤ画像符号化部902は、さらに、ヘッダ生成部948を有する。
ヘッダ生成部948は、例えば、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ等のヘッダ情報を生成する。その際、ヘッダ生成部948は、シーケンスパラメータセット(sep_parameter_set_rbsp)のロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_sps_flag[i]や、スライスヘッダ(slice_segment_header)のロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_flag[i]の値を制御する。
例えば、ヘッダ生成部948は、レイヤ間テクスチャ予測を行うことができないように制御するピクチャに対して、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値を「0」にする。また、例えば、ヘッダ生成部948は、レイヤ間テクスチャ予測を行うことができるように制御するピクチャに対して、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値を「1」にする。
ヘッダ生成部948は、このように生成したヘッダ情報を可逆符号化部936に供給する。可逆符号化部936は、ヘッダ生成部948から供給されたヘッダ情報を、符号化し、符号化データ(符号化ストリーム)に含めて蓄積バッファ117に供給し、復号側に伝送させる。
また、ヘッダ生成部948は、このように生成したヘッダ情報を、適宜、エンハンスメントレイヤ画像符号化部902の各処理部に供給する。エンハンスメントレイヤ画像符号化部902の各処理部は、適宜、このヘッダ情報に従って、それぞれの処理を行う。
イントラ予測部944は、ヘッダ生成部948により設定されたシンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値に従ってイントラ予測を行う。例えば、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値が「0」の場合、イントラ予測部944は、テクスチャBLモードを用いずにイントラ予測を行う。つまり、このピクチャについては、イントラ予測にベースレイヤ復号画像が利用されない。すなわち、このピクチャのイントラ予測においては、レイヤ間テクスチャ予測のための動き補償が省略される。逆に、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値が「1」の場合、イントラ予測部944は、テクスチャBLモードを候補の1つとして用いてイントラ予測を行う。
また、インター予測部945は、ヘッダ生成部948により設定されたシンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値に従ってインター予測を行う。例えば、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値が「0」の場合、インター予測部945は、リファレンスインデックスモードを用いずにインター予測を行う。つまり、このピクチャについては、インター予測にベースレイヤ復号画像が利用されない。すなわち、このピクチャのインター予測においては、レイヤ間テクスチャ予測のための動き補償が省略される。逆に、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値が「1」の場合、インター予測部945は、リファレンスインデックスモードを候補の1つとして用いてインター予測を行う。
以上のように、ロングターム参照フレームについてのシンタクスの値を制御し、そのシンタクスの値に基づいてイントラ予測やインター予測を行い、さらにそのシンタクスの値を復号側に伝送することにより、画像符号化装置900は、エンハンスメントレイヤの復号処理におけるレイヤ間テクスチャ予測の実行をピクチャ毎に制御することができる。つまり、画像符号化装置900は、復号処理における各レイヤの動き補償の実行を適切に制御することができ、復号処理の負荷の増大を抑制することができる。
<画像符号化処理の流れ>
次に、以上のような画像符号化装置900により実行される各処理の流れについて説明する。最初に、図65のフローチャートを参照して、画像符号化処理の流れの例を説明する。
画像符号化処理が開始されると、ステップS901において、画像符号化装置900のベースレイヤ画像符号化部901は、ベースレイヤの画像データを符号化する。
ステップS902において、エンハンスメントレイヤ画像符号化部902のヘッダ生成部948は、エンハンスメントレイヤのシーケンスパラメータセットを生成する。
ステップS903において、エンハンスメントレイヤ画像符号化部902は、ステップS902において生成されたシーケンスパラメータセットを用いて、エンハンスメントレイヤの画像データを符号化する。
ステップS904において、多重化部903は、ステップS901の処理により生成されたベースレイヤ画像符号化ストリームと、ステップS903の処理により生成されたエンハンスメントレイヤ画像符号化ストリームとを(すなわち、各レイヤの符号化ストリームを)多重化し、1系統の階層画像符号化ストリームを生成する。
ステップS904の処理が終了すると、画像符号化処理が終了する。
なお、ヘッダ生成部948は、シーケンスパラメータセット以外のヘッダ情報も生成するが、後述するスライスヘッダを除き、その説明は省略する。また、ベースレイヤ画像符号化部901(例えば可逆符号化部916)も、ベースレイヤについて、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ等のヘッダ情報を生成するが、その説明は省略する。
なお、ステップS901、ステップS903、およびステップS904の各処理は、ピクチャ毎に実行される。また、ステップS902の処理は、シーケンス毎に実行される。
<ベースレイヤ符号化処理の流れ>
次に、図65のステップS901において実行されるベースレイヤ符号化処理の流れの例を、図66のフローチャートを参照して説明する。
ベースレイヤ符号化処理が開始されると、ステップS921乃至ステップS923の各処理が、図15のステップS141乃至ステップS143の各処理と同様に実行される。
ステップS924において、インター予測部925は、インター予測モードでの動き予測や動き補償等を行うインター予測処理を行う。
ステップS925乃至ステップS933の各処理が、図15のステップS145乃至ステップS153の各処理と同様に実行される。ステップS934乃至ステップS936の各処理が、図15のステップS155乃至ステップS157の各処理と同様に実行される。
ステップS937において、フレームメモリ922は、以上のようなベースレイヤ符号化処理において得られたベースレイヤの復号画像を、エンハンスメントレイヤの符号化処理に供給する。
ステップS937の処理が終了すると、ベースレイヤ符号化処理が終了し、処理は、図65に戻る。
<シーケンスパラメータセット生成処理の流れ>
次に、図65のステップS902において実行されるシーケンスパラメータセット生成処理の流れの例を、図67のフローチャートを参照して説明する。
シーケンスパラメータセット生成処理が開始されると、エンハンスメントレイヤ画像符号化部902のヘッダ生成部948は、ステップS941において、ロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_sps_flag[i]を設定する。
ステップS942において、ヘッダ生成部948は、その他のシンタクスの値を設定し、それらのシンタクスと、ステップS941において設定したシンタクスused_by_curr_pic_lt_sps_flag[i]とを含めたシーケンスパラメータセットを生成する。
ステップS942の処理が終了すると、シーケンスパラメータセット生成処理が終了し、処理は、図65に戻る。
<エンハンスメントレイヤ符号化処理の流れ>
次に、図65のステップS903において実行されるエンハンスメントレイヤ符号化処理の流れの例を、図68のフローチャートを参照して説明する。
エンハンスメントレイヤ符号化処理が開始されると、ステップS951およびステップS952の各処理が、図17のステップS191およびステップS192の各処理と同様に実行される。
ステップS953において、ヘッダ生成部948は、ロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_flag[i]を設定する。
ステップS954において、ヘッダ生成部948は、その他のシンタクスの値を設定し、それらのシンタクスと、ステップS953において設定したシンタクスused_by_curr_pic_lt_flag[i]とを含めたスライスヘッダを生成する。
ステップS955において、イントラ予測部944は、イントラ予測処理を行う。
ステップS956において、インター予測部945は、インター予測処理を行う。
ステップS957乃至ステップS968の各処理は、図17のステップS195乃至ステップS206の各処理と同様に実行される。
ステップS968の処理が終了すると、エンハンスメントレイヤ符号化処理が終了し、処理は、図65に戻る。
<イントラ予測処理の流れ>
次に、図68のステップS955において実行されるイントラ予測処理の流れの例を、図69のフローチャートを参照して説明する。
イントラ予測処理が開始されると、イントラ予測部944は、ステップS971において、テクスチャBLモード以外の各候補モードでイントラ予測を行い、各モードの予測画像を生成する。
ステップS972において、イントラ予測部944は、図67のステップS941において設定されたシーケンスパラメータセット(sep_parameter_set_rbsp)のシンタクスused_by_curr_pic_lt_sps_flag[i]、並びに、図68のステップS953において設定されたスライスヘッダ(slice_segment_header)のシンタクスused_by_curr_pic_lt_flag[i]に基づいて、ベースレイヤの画像を参照するか否かを判定する。
例えば、これらのシンタクスの値が「1」に設定されており、ベースレイヤの画像を参照すると判定された場合、処理はステップS973に進む。ステップS973において、イントラ予測部944は、テクスチャBLモードでイントラ予測を行い、テクスチャBLモードの予測画像を生成する。テクスチャBLモードの予測画像が生成されると、処理はステップS974に進む。また、ステップS972において、上述したシンタクスの値が「0」に設定されており、ベースレイヤの画像を参照しないと判定された場合、処理はステップS974に進む。
ステップS974において、イントラ予測部944は、各イントラ予測モードの予測画像についてコスト関数値を算出する。ステップS975において、イントラ予測部944は、ステップS974において算出されたコスト関数値を用いて最適予測モードを決定する。ステップS976において、イントラ予測部944は、ステップS975において最適予測モードに決定されたイントラ予測モードに関する情報であるイントラ予測モード情報を符号化し、可逆符号化部936に供給する。
ステップS976の処理が終了すると、イントラ予測処理が終了し、処理は図68に戻る。
<インター予測処理の流れ>
次に、図68のステップS956において実行されるインター予測処理の流れの例を、図70のフローチャートを参照して説明する。
インター予測処理が開始されると、インター予測部945は、ステップS981において、リファレンスインデックスモード以外の各候補モードでインター予測を行い、各モードの予測画像を生成する。
ステップS982において、インター予測部945は、図67のステップS941において設定されたシーケンスパラメータセット(sep_parameter_set_rbsp)のシンタクスused_by_curr_pic_lt_sps_flag[i]、並びに、図68のステップS953において設定されたスライスヘッダ(slice_segment_header)のシンタクスused_by_curr_pic_lt_flag[i]に基づいて、ベースレイヤの画像を参照するか否かを判定する。
例えば、これらのシンタクスの値が「1」に設定されており、ベースレイヤの画像を参照すると判定された場合、処理はステップS983に進む。ステップS983において、インター予測部945は、リファレンスインデックスモードでインター予測を行い、リファレンスインデックスモードの予測画像を生成する。リファレンスインデックスモードの予測画像が生成されると、処理はステップS984に進む。また、ステップS982において、上述したシンタクスの値が「0」に設定されており、ベースレイヤの画像を参照しないと判定された場合、処理はステップS984に進む。
ステップS984において、インター予測部945は、各インター予測モードの予測画像についてコスト関数値を算出する。ステップS985において、インター予測部945は、ステップS984において算出されたコスト関数値を用いて最適予測モードを決定する。ステップS986において、インター予測部945は、ステップS985において最適予測モードに決定されたインター予測モードに関する情報であるインター予測モード情報を符号化し、可逆符号化部936に供給する。
ステップS986の処理が終了すると、インター予測処理が終了し、処理は図68に戻る。
以上のように各処理が実行されることにより、画像符号化装置900(エンハンスメントレイヤ画像符号化部902)は、復号処理における各レイヤの動き補償の実行を適切に制御することができ、復号処理の負荷の増大を抑制することができる。
<12.第10の実施の形態>
<画像復号装置>
次に、以上のように符号化された符号化データの復号について説明する。図71は、本技術を適用した画像処理装置の一態様である、図62の画像符号化装置900に対応する画像復号装置の主な構成例を示すブロック図である。図71に示される画像復号装置1000は、画像符号化装置900が生成した符号化データを、その符号化方法に対応する復号方法で復号する(すなわち、階層符号化された符号化データを階層復号する)。この画像復号装置1000は、図19のスケーラブル復号装置200と基本的に同様の画像処理装置であるが、説明の便宜上、<10.概要3>において説明した本技術と直接的な関係の少ない構成(例えば共通情報取得部201、復号制御部202、レイヤ間予測制御部204等)についての説明は省略している。
図71に示されるように、画像復号装置1000は、逆多重化部1001、ベースレイヤ画像復号部1002、およびエンハンスメントレイヤ画像復号部1003を有する。
逆多重化部1001は、符号化側から伝送された、ベースレイヤ画像符号化ストリームとエンハンスメントレイヤ画像符号化ストリームとが多重化された階層画像符号化ストリームを受け取り、それを逆多重化し、ベースレイヤ画像符号化ストリームと、エンハンスメントレイヤ画像符号化ストリームとを抽出する。ベースレイヤ画像復号部1002は、ベースレイヤ画像復号部203(図19)と基本的に同様の処理部であり、逆多重化部1001により抽出されたベースレイヤ画像符号化ストリームを復号し、ベースレイヤ画像を得る。エンハンスメントレイヤ画像復号部1003は、エンハンスメントレイヤ画像復号部205(図19)と基本的に同様の処理部であり、逆多重化部1001により抽出されたエンハンスメントレイヤ画像符号化ストリームを復号し、エンハンスメントレイヤ画像を得る。
ベースレイヤ画像復号部1002は、ベースレイヤの復号において得られたベースレイヤ復号画像を、エンハンスメントレイヤ画像復号部1003に供給する。
エンハンスメントレイヤ画像復号部1003は、ベースレイヤ画像復号部1002から供給されるベースレイヤ復号画像を取得し、記憶する。エンハンスメントレイヤ画像復号部1003は、その記憶したベースレイヤ復号画像を参照画像として、エンハンスメントレイヤの復号における予測処理に用いる。
<ベースレイヤ画像復号部>
図72は、図71のベースレイヤ画像復号部1002の主な構成例を示すブロック図である。図72に示されるようにベースレイヤ画像復号部1002は、蓄積バッファ1011、可逆復号部1012、逆量子化部1013、逆直交変換部1014、演算部1015、ループフィルタ1016、画面並べ替えバッファ1017、およびD/A変換部1018を有する。また、ベースレイヤ画像復号部1002は、フレームメモリ1019、選択部1020、イントラ予測部1021、インター予測部1022、および予測画像選択部1023を有する。
蓄積バッファ1011は、ベースレイヤ画像復号部203の蓄積バッファ211(図20)と同様の処理部である。可逆復号部1012は、ベースレイヤ画像復号部203の可逆復号部212(図20)と同様の処理部である。逆量子化部1013は、ベースレイヤ画像復号部203の逆量子化部213(図20)と同様の処理部である。逆直交変換部1014は、ベースレイヤ画像復号部203の逆直交変換部214(図20)と同様の処理部である。演算部1015は、ベースレイヤ画像復号部203の演算部215(図20)と同様の処理部である。ループフィルタ1016は、ベースレイヤ画像復号部203のループフィルタ216(図20)と同様の処理部である。画面並べ替えバッファ1017は、ベースレイヤ画像復号部203の画面並べ替えバッファ217(図20)と同様の処理部である。D/A変換部1018は、ベースレイヤ画像復号部203のD/A変換部218(図20)と同様の処理部である。
フレームメモリ1019は、ベースレイヤ画像復号部203のフレームメモリ219(図20)と同様の処理部である。ただし、フレームメモリ1019は、記憶している復号画像(ベースレイヤ復号画像とも称する)を、エンハンスメントレイヤ画像復号部1003に供給する。
選択部1020は、ベースレイヤ画像復号部203の選択部220(図20)と同様の処理部である。
イントラ予測部1021には、イントラ予測モード情報等が可逆復号部1012から適宜供給される。イントラ予測部1021は、符号化の際のイントラ予測に用いられたイントラ予測モード(最適イントラ予測モード)でイントラ予測を行い、所定のブロック毎に(ブロックを処理単位として)、予測画像を生成する。その際、イントラ予測部1021は、選択部1020を介してフレームメモリ1019から供給される再構成画像(予測画像選択部1023により選択された予測画像と逆直交変換部214からの復号残差データ(差分画像情報)とが加算され、適宜デブロックフィルタ処理が行われた画像)の画像データを用いてイントラ予測を行う。すなわち、イントラ予測部1021は、この再構成画像を参照画像(周辺画素)として利用する。イントラ予測部1021は、生成した予測画像を予測画像選択部1023に供給する。
インター予測部1022には、最適予測モード情報や動き情報等が可逆復号部1012から適宜供給される。インター予測部1022は、符号化の際のインター予測に用いられたインター予測モード(最適インター予測モード)でインター予測を行い、所定のブロック毎に(ブロックを処理単位として)、予測画像を生成する。その際、インター予測部1022は、選択部1020を介してフレームメモリ1019から供給される復号画像(適宜ループフィルタ処理等が行われた再構成画像)の画像データを参照画像として利用し、インター予測を行う。インター予測部1022は、生成した予測画像を予測画像選択部1023に供給する。
予測画像選択部1023は、ベースレイヤ画像復号部203の選択部223(図20)と同様の処理部である。
なお、ベースレイヤ画像復号部1002は、他のレイヤを参照せずに復号を行う。つまり、イントラ予測部1021およびインター予測部1022は、他のレイヤの復号画像を参照画像として利用しない。
<エンハンスメントレイヤ画像復号部>
図73は、図71のエンハンスメントレイヤ画像復号部1003の主な構成例を示すブロック図である。図73に示されるように、エンハンスメントレイヤ画像復号部1003は、図72のベースレイヤ画像復号部1002と基本的に同様の構成を有する。
つまり、エンハンスメントレイヤ画像復号部1003は、図73に示されるように、蓄積バッファ1031、可逆復号部1032、逆量子化部1033、逆直交変換部1034、演算部1035、ループフィルタ1036、画面並べ替えバッファ1037、およびD/A変換部1038を有する。また、エンハンスメントレイヤ画像復号部1003は、フレームメモリ1039、選択部1040、イントラ予測部1041、インター予測部1042、および予測画像選択部1043を有する。
これらの蓄積バッファ1031乃至予測画像選択部1043は、図72の蓄積バッファ1011乃至予測画像選択部1023に対応し、それぞれ、対応する処理部と同様の処理を行う。ただし、エンハンスメントレイヤ画像復号部1003の各部は、ベースレイヤではなく、エンハンスメントレイヤ画像情報の符号化についての処理を行う。したがって、蓄積バッファ1031乃至予測画像選択部1043の処理の説明として、上述した図72の蓄積バッファ1011乃至予測画像選択部1023についての説明を適用することができるが、その場合、処理するデータは、ベースレイヤのデータではなく、エンハンスメントレイヤのデータであるものとする必要がある。また、データの入力元や出力先の処理部は、適宜、エンハンスメントレイヤ画像復号部1003の、対応する処理部に置き換えて読む必要がある。
なお、エンハンスメントレイヤ画像復号部1003は、他のレイヤ(例えばベースレイヤ)の情報を参照して符号化を行う。そして、エンハンスメントレイヤ画像復号部1003は、<10.概要3>において上述した処理を行う。
例えば、フレームメモリ1039は、複数の参照フレームを記憶することができ、エンハンスメントレイヤの復号画像(エンハンスメントレイヤ復号画像とも称する)を記憶するだけでなく、ベースレイヤ画像復号部1002からベースレイヤ復号画像を取得し、ロングターム参照フレームとして記憶する。このとき、フレームメモリ1039に記憶されるベースレイヤ復号画像は、アップサンプル処理されたものであってもよい(例えば、フレームメモリ1039が、ベースレイヤ画像復号部1002から供給されるベースレイヤ復号画像をアップサンプルして記憶するようにしてもよい)。
ベースレイヤ画像復号部1002の場合と同様に、フレームメモリ1039に記憶された画像、すなわち、エンハンスメントレイヤ復号画像やベースレイヤ復号画像は、イントラ予測部1041やインター予測部1042による予測処理において、参照画像として利用される。
例えば、イントラ予測部1041は、符号化の際のイントラ予測においてテクスチャBL(texture BL)モードが採用された場合、そのテクスチャBLモードによりイントラ予測を行う。つまり、イントラ予測部1041は、ベースレイヤのカレントピクチャの、エンハンスメントレイヤのコロケーテッドブロックの画素値をフレームメモリ1039のロングターム参照フレームから(選択部1040を介して)取得し、それを参照画像として用いてイントラ予測を行い、予測画像を生成する。生成された予測画像は、予測画像選択部1043を介して演算部1035に供給される。
また、例えば、インター予測部1042は、符号化の際のインター予測においてリファレンスインデックス(Ref_idx)モードが採用された場合、そのリファレンスインデックス(Ref_idx)モードによりインター予測を行う。つまり、インター予測部1042は、フレームメモリ1039のロングターム参照フレームに格納されるベースレイヤ復号画像を取得し、それを参照画像として用いてインター予測を行い、予測画像を生成する。生成された予測画像は、予測画像選択部1043を介して演算部1035に供給される。
ところで、図73に示されるように、エンハンスメントレイヤ画像復号部1003は、さらに、ヘッダ解読部1044を有する。
ヘッダ解読部1044は、可逆復号部により抽出された、例えば、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ等のヘッダ情報を解読する。その際、ヘッダ解読部1044は、シーケンスパラメータセット(sep_parameter_set_rbsp)のロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_sps_flag[i]や、スライスヘッダ(slice_segment_header)のロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_flag[i]の値も解読する。
ヘッダ解読部1044は、ヘッダ情報の解読結果に基づいて、エンハンスメントレイヤ画像復号部1003の各処理部の動作を制御する。つまり、エンハンスメントレイヤ画像復号部1003の各処理部は、適宜、このヘッダ情報に従って、それぞれの処理を行う。
イントラ予測部1041は、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値に従ってイントラ予測を行う。例えば、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値が「0」の場合、イントラ予測部1041は、そのピクチャについて、テクスチャBLモード以外のモードでイントラ予測を行う。つまり、このピクチャについては、イントラ予測にベースレイヤ復号画像が利用されない。すなわち、このピクチャのイントラ予測においては、レイヤ間テクスチャ予測のための動き補償が省略される。逆に、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値が「1」の場合、イントラ予測部1041は、最適イントラ予測モードがテクスチャBLモードであれば、そのテクスチャBLモードでイントラ予測を行う。
インター予測部1042は、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値に従ってインター予測を行う。例えば、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値が「0」の場合、インター予測部1042は、そのピクチャについて、リファレンスインデックスモード以外のモードでインター予測を行う。つまり、このピクチャについては、インター予測にベースレイヤ復号画像が利用されない。すなわち、このピクチャのインター予測においては、レイヤ間テクスチャ予測のための動き補償が省略される。逆に、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値が「1」の場合、インター予測部1042は、最適インター予測モードがリファレンスインデックスモードであれば、そのリファレンスインデックスモードでインター予測を行う。
以上のように、ロングターム参照フレームについてのシンタクスの値に基づいてイントラ予測やインター予測を行うことにより、画像復号装置1000は、エンハンスメントレイヤの復号処理におけるレイヤ間テクスチャ予測の実行をピクチャ毎に制御することができる。つまり、画像復号装置1000は、復号処理における各レイヤの動き補償の実行を適切に制御することができ、復号処理の負荷の増大を抑制することができる。
<画像復号処理の流れ>
次に、以上のような画像復号装置1000により実行される各処理の流れについて説明する。最初に、図74のフローチャートを参照して、画像復号処理の流れの例を説明する。
画像復号処理が開始されると、ステップS1001において、画像復号装置1000の逆多重化部1001は、符号化側から伝送される階層画像符号化ストリームを逆多重化し、レイヤ毎のビットストリームを生成する。
ステップS1002において、ベースレイヤ画像復号部1002は、ステップS1001の処理により得られたベースレイヤ画像符号化ストリームを復号する。ベースレイヤ画像復号部1002は、この復号により生成されたベースレイヤ画像のデータを出力する。
ステップS1003において、エンハンスメントレイヤ画像復号部1003のヘッダ解読部1044は、ステップS1001の処理により得られたエンハンスメントレイヤ画像符号化ストリームから抽出されたヘッダ情報のシーケンスパラメータセットを解読する。
ステップS1004において、エンハンスメントレイヤ画像復号部1003は、ステップS1001の処理により得られたエンハンスメントレイヤ画像符号化ストリームを復号する。
ステップS1004の処理が終了すると、画像復号処理が終了する。
なお、ヘッダ解読部1044は、シーケンスパラメータセット以外のヘッダ情報も解読するが、後述するスライスヘッダを除き、その説明は省略する。また、ベースレイヤ画像復号部1002(例えば可逆復号部1012)も、ベースレイヤについて、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ等のヘッダ情報を解読するが、その説明は省略する。
なお、ステップS1001、ステップS1002、およびステップS1004の各処理は、ピクチャ毎に実行される。また、ステップS1003の処理は、シーケンス毎に実行される。
<ベースレイヤ復号処理の流れ>
次に、図74のステップS1002において実行されるベースレイヤ復号処理の流れの例を、図75のフローチャートを参照して説明する。
ベースレイヤ復号処理が開始されると、ステップS1021乃至ステップS1030の各処理が、図25のステップS341乃至ステップS350の各処理と同様に実行される。
ステップS1031において、フレームメモリ1019は、以上のようなベースレイヤ復号処理において得られたベースレイヤ復号画像を、エンハンスメントレイヤの復号処理に供給する。
ステップS1031の処理が終了すると、ベースレイヤ復号処理が終了し、処理は、図74に戻る。
<シーケンスパラメータセット解読処理の流れ>
次に、図74のステップS1003において実行されるシーケンスパラメータセット解読処理の流れの例を、図76のフローチャートを参照して説明する。
シーケンスパラメータセット解読処理が開始されると、エンハンスメントレイヤ画像復号部1003のヘッダ解読部1044は、ステップS1041において、シーケンスパラメータセットの各パラメータを解読し、各処理部に対して解読結果に基づいた制御を行う。
ステップS1042において、ヘッダ解読部1044は、シーケンスパラメータセットのロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_sps_flag[i]を解読し、イントラ予測部1041やインター予測部1042等に対して解読結果に基づいた制御を行う。
ステップS1042の処理が終了すると、シーケンスパラメータセット解読処理が終了し、処理は、図74に戻る。
<エンハンスメントレイヤ復号処理の流れ>
次に、図74のステップS1004において実行されるエンハンスメントレイヤ復号処理の流れの例を、図77のフローチャートを参照して説明する。
エンハンスメントレイヤ復号処理が開始されると、ステップS1051およびステップS1052の各処理が、図27のステップS391およびステップS392の各処理と同様に実行される。
ステップS1053において、ヘッダ解読部1044は、スライスヘッダの各パラメータを解読し、各処理部に対して解読結果に基づいた制御を行う。ステップS1054において、ヘッダ解読部1044は、スライスヘッダのロングターム参照フレームについてのシンタクスused_by_curr_pic_lt_flag[i]を解読し、イントラ予測部1041やインター予測部1042等に対して解読結果に基づいた制御を行う。
ステップS1055およびステップS1056の各処理は、図27のステップS393およびステップS394の各処理と同様に実行される。
ステップS1057において、イントラ予測部1041およびインター予測部1042は、予測処理を行い、イントラ予測若しくはインター予測によって予測画像を生成する。その際、イントラ予測部1041およびインター予測部1042は、図76のステップS1042の処理によるシンタクスused_by_curr_pic_lt_sps_flag[i]の解読結果と、ステップS1054の処理によるシンタクスused_by_curr_pic_lt_flag[i]の解読結果とに基づくヘッダ解読部1044の制御に従って、予測処理を行う。
ステップS1058乃至ステップS1062の各処理は、図27のステップS396乃至ステップS400の各処理と同様に実行される。
ステップS1062の処理が終了すると、エンハンスメントレイヤ復号処理が終了し、処理は、図74に戻る。
<予測処理の流れ>
次に、図77のステップS1057において実行される予測処理の流れの例を、図78のフローチャートを参照して説明する。
予測処理が開始されると、イントラ予測部1041およびインター予測部1042は、ステップS1071において、処理対象であるカレントブロックについて、最適モード(符号化の際に採用された予測処理のモード)がイントラ予測モードであるか否かを判定する。イントラ予測により予測画像が生成されたと判定された場合、処理はステップS1072に進む。
ステップS1072において、イントラ予測部1041は、ベースレイヤの画像を参照するか否かを判定する。ヘッダ解読部1044により、カレントブロックが属するカレントピクチャについてレイヤ間テクスチャ予測を行うことができるように制御されており、かつ、カレントブロックの最適イントラ予測モードがテクスチャBLモードである場合、イントラ予測部1041は、カレントブロックの予測処理においてベースレイヤの画像を参照すると判定する。このように判定された場合、処理はステップS1073に進む。
ステップS1073において、イントラ予測部1041は、参照画像として、フレームメモリ1039のロングターム参照フレームからベースレイヤ復号画像を取得する。ステップS1074において、イントラ予測部1041は、テクスチャBLモードでイントラ予測を行い、予測画像を生成する。ステップS1074の処理が終了すると、処理はステップS1080に進む。
また、ステップS1072において、ヘッダ解読部1044によりカレントピクチャについてレイヤ間テクスチャ予測を行うことができるように制御されており、かつ、カレントブロックの最適イントラ予測モードがテクスチャBLモードでない場合か、若しくは、ヘッダ解読部1044によりカレントピクチャについてレイヤ間テクスチャ予測を行わないように制御されている場合、イントラ予測部1041は、カレントブロックの予測処理においてベースレイヤの画像を参照しないと判定する。このように判定された場合、処理はステップS1075に進む。
ステップS1075において、イントラ予測部1041は、参照画像として、フレームメモリ1039からエンハンスメントレイヤ復号画像を取得する。そして、イントラ予測部1041は、テクスチャBLモードでない最適イントラ予測モードでイントラ予測を行い、予測画像を生成する。ステップS1075の処理が終了すると、処理はステップS1080に進む。
また、ステップS1071において、カレントブロックについて、最適モードがインター予測モードであると判定された場合、処理はステップS1076に進む。
ステップS1076において、インター予測部1042は、ベースレイヤの画像を参照するか否かを判定する。ヘッダ解読部1044によりカレントピクチャについてレイヤ間テクスチャ予測を行うことができるように制御されており、かつ、カレントブロックの最適インター予測モードがリファレンスインデックスモードである場合、インター予測部1042は、カレントブロックの予測処理においてベースレイヤの画像を参照すると判定する。このように判定された場合、処理はステップS1077に進む。
ステップS1077において、インター予測部1042は、参照画像として、フレームメモリ1039のロングターム参照フレームからベースレイヤ復号画像を取得する。ステップS1078において、インター予測部1042は、リファレンスインデックスモードでインター予測を行い、予測画像を生成する。ステップS1078の処理が終了すると、処理はステップS1080に進む。
また、ステップS1076において、ヘッダ解読部1044によりカレントピクチャについてレイヤ間テクスチャ予測を行うことができるように制御されており、かつ、カレントブロックの最適インター予測モードがリファレンスインデックスモードでない場合か、若しくは、ヘッダ解読部1044によりカレントピクチャについてレイヤ間テクスチャ予測を行わないように制御されている場合、インター予測部1042は、カレントブロックの予測処理においてベースレイヤの画像を参照しないと判定する。このように判定された場合、処理はステップS1079に進む。
ステップS1079において、インター予測部1042は、参照画像として、フレームメモリ1039からエンハンスメントレイヤ復号画像を取得する。そして、インター予測部1042は、リファレンスインデックスモードでない最適インター予測モードでインター予測を行い、予測画像を生成する。ステップS1079の処理が終了すると、処理はステップS1080に進む。
ステップS1080において、イントラ予測部1041若しくはインター予測部1042は、生成した予測画像を予測画像選択部1043を介して演算部1035に供給する。
ステップS1080の処理が終了すると、予測処理が終了し、処理は図77に戻る。
以上のような予測処理において、例えば、ステップS1075の処理やステップS1079の処理のときのように、ヘッダ解読部1044によりカレントピクチャについてレイヤ間テクスチャ予測を行わないように制御されているピクチャに対しては(例えば、シンタクスused_by_curr_pic_lt_sps_flag[i]やシンタクスused_by_curr_pic_lt_flag[i]の値が「0」の場合)、レイヤ間テクスチャ予測のための動き補償が省略される。
したがって、以上のように各処理が実行されることにより、画像復号装置1000(エンハンスメントレイヤ画像復号部1003)は、復号処理の負荷の増大を抑制することができる。
<13.第11の実施の形態>
<レイヤ間シンタクス予測制御>
<7.概要2>、<8.第7の実施の形態>、および<9.第8の実施の形態>においては、レイヤ間ピクセル予測(Inter-layer Pixel Prediction)の実行とレイヤ間シンタクス予測(Inter-layer Syntax Prediction)の実行とを互いに独立に制御する例について説明した。
この場合、ベースレイヤの符号化方式がAVCであり、エンハンスメントレイヤの符号化方式がHEVCであるとすると、レイヤ間シンタクス予測では、AVCのシンタクス(syntax)を用いてHEVCのシンタクスの予測処理が行われることになる。しかしながら、実際には、HEVCとは異なる符号化方式のAVCのシンタクス(syntax)を用いて、HEVCのシンタクスの予測処理を行うことは困難であった。そこで、符号化方式がAVCのベースレイヤのシンタクスを用いてレイヤ間シンタクス予測を行うことを禁止とするようにしてもよい。
<符号化側での制御>
例えば、符号化側において、ベースレイヤの符号化方式がAVCであり、レイヤ0(layer = 0)を参照する場合、レイヤ間シンタクス予測の実行を制御するレイヤ間シンタクス予測制御情報が、レイヤ間シンタクス予測を実行させないように制御する値に設定され、伝送されるようにしてもよい。
この場合のスケーラブル符号化装置100の構成は、図9を参照して説明した例と同様である。そして、スケーラブル符号化装置100の各部の構成は、図44を参照して説明した例と同様である。
この場合、スケーラブル符号化装置100により実行される符号化処理は、図13に示されるフローチャートの例と同様に実行される。そして、その符号化処理において実行される共通情報生成処理は、図45に示されるフローチャートの例と同様に実行される。また、その符号化処理において実行されるベースレイヤ符号化処理は、図46に示されるフローチャートの例と同様に実行される。さらに、その符号化処理において実行されるエンハンスメントレイヤ符号化処理は、図48に示されるフローチャートの例と同様に実行される。また、そのエンハンスメントレイヤ符号化処理において実行される動き予測・補償処理は、図49に示されるフローチャートの例と同様に実行される。さらに、その符号化処理において実行されるイントラ予測処理は、図50に示されるフローチャートの例と同様に実行される。
そして、その符号化処理のステップS106において実行されるレイヤ間予測制御処理の流れの例を、図79のフローチャートを参照して説明する。
ステップS1101乃至ステップS1103の各処理が、図47のステップS731乃至ステップS733の各処理と同様に実行され、レイヤ間ピクセル予測制御情報に基づいてレイヤ間ピクセル予測に関する制御が行われる。
ステップS1104において、レイヤ間シンタクス予測制御情報設定部725は、ベースレイヤの符号化方式がAVCであり、参照レイヤがレイヤ0であるか否かを判定する。より具体的には、レイヤ間シンタクス予測制御情報設定部725は、例えば、ベースレイヤの符号化方式がAVCであるか否かを示すフラグ情報であるavc_base_layer_flagの値が「1」(avc_base_layer_flag = 1)であり、参照レイヤを表すパラメータであるlayerの値が「0」(layer = 0)であるか否かを判定する。
ステップS1104において、avc_base_layer_flag = 0 である、若しくは、layer = 0でないと判定された場合、処理はステップS1105に進む。
その場合、ステップS1105乃至ステップS1107の各処理が、図47のステップS734乃至ステップS736の各処理と同様に実行され、任意の情報に基づいてレイヤ間シンタクス予測制御情報が設定され、レイヤ間シンタクス予測に関する制御が行われる。ステップS1107の処理が終了すると、若しくは、ステップS1106において、カレントピクチャがレイヤ間シンタクスを予測を行わないピクチャであると判定されると、レイヤ間予測制御処理が終了し、処理は図13に戻る。
また、ステップS1104において、avc_base_layer_flag = 1 であり、layer = 0 であると判定された場合、処理はステップS1108に進む。
ステップS1108において、レイヤ間シンタクス予測制御情報設定部725は、レイヤ間シンタクス予測の実行をオフにするように、レイヤ間シンタクス予測制御情報を設定する。すなわち、この場合、レイヤ間シンタクス予測は行われない(省略される)。ステップS1108の処理が終了すると、レイヤ間予測制御処理が終了し、処理は図13に戻る。
なお、レイヤ間ピクセル予測制御情報設定部711は、レイヤ間ピクセル予測の実行(オン/オフ)を制御する制御情報であるレイヤ間ピクセル予測制御情報を、例えばビデオパラメータセット(VPS(Video Parameter Set))、拡張ビデオパラメータセット(Vps_extension())、またはナルユニット(nal_unit)において伝送させる。
そして、レイヤ間シンタクス予測の実行(オン/オフ)を制御する制御情報であるレイヤ間シンタクス予測制御情報は、例えばピクチャパラメータセット(PPS(Picture Parameter Set)、スライスヘッダ(SliceHeader)、またはナルユニット(nal_unit)において復号側に伝送される。なお、このレイヤ間シンタクス予測制御情報は、例えばビデオパラメータセット(VPS(Video Parameter Set))や、拡張ビデオパラメータセット(Vps_extension())において復号側に伝送されるようにしてもよい。
このようにすることにより、スケーラブル符号化装置100は、ベースレイヤの符号化方式がAVCである場合のレイヤ間シンタクス予測制御に関する処理の実行を省略させることができ、符号化処理の負荷の不要な増大を抑制することができる。なお、このように設定されたレイヤ間シンタクス予測制御情報を復号側に伝送することにより、復号側においても、ベースレイヤの符号化方式がAVCである場合のレイヤ間シンタクス予測制御に関する処理の実行を省略させることができる。すなわち、スケーラブル符号化装置100は、復号処理の負荷の不要な増大も抑制することができる。
<復号側での制御>
また、例えば、復号側において、ベースレイヤの符号化方式がAVCであり、レイヤ0(layer = 0)を参照する場合、レイヤ間シンタクス予測制御情報の値が、実際の値に関わらず強制的に「0」であるとみなされるようにしてもよい。
この場合のスケーラブル復号装置200の構成は、図19を参照して説明した例と同様である。そして、スケーラブル復号装置200の各部の構成は、図51を参照して説明した例と同様である。
この場合、スケーラブル復号装置200により実行される復号処理は、図23に示されるフローチャートの例と同様に実行される。そして、その復号処理において実行される共通情報取得処理は、図52に示されるフローチャートの例と同様に実行される。また、その復号処理において実行されるベースレイヤ復号処理は、図53に示されるフローチャートの例と同様に実行される。さらに、その復号処理において実行されるエンハンスメントレイヤ復号処理は、図27に示されるフローチャートの例と同様に実行される。また、そのエンハンスメントレイヤ復号処理において実行される予測処理は、図55に示されるフローチャートの例と同様に実行される。
そして、その復号処理のステップS306において実行されるレイヤ間予測制御処理の流れの例を、図80のフローチャートを参照して説明する。
ステップS1121乃至ステップS1123の各処理が、図54のステップS831乃至ステップS833の各処理と同様に実行され、レイヤ間ピクセル予測制御情報に基づいてレイヤ間ピクセル予測に関する制御が行われる。
ステップS1124において、レイヤ間シンタクス予測制御部826は、ベースレイヤの符号化方式がAVCであり、参照レイヤがレイヤ0であるか否かを判定する。より具体的には、レイヤ間シンタクス予測制御部826は、例えば、符号化側から伝送された拡張ビデオパラメータセット(Vps_extension())において、ベースレイヤの符号化方式がAVCであるか否かを示すフラグ情報であるavc_base_layer_flagの値が「1」(avc_base_layer_flag = 1)であり、参照レイヤを表すパラメータであるlayerの値が「0」(layer = 0)であるか否かを判定する。
ステップS1124において、avc_base_layer_flag = 0 である、若しくは、layer = 0でないと判定された場合、処理はステップS1125に進む。
この場合、ステップS1125乃至ステップS1127の各処理が、図54のステップS834乃至ステップS836の各処理と同様に実行され、レイヤ間シンタクス予測制御情報に基づいてレイヤ間シンタクス予測に関する制御が行われる。ステップS1127の処理が終了すると、若しくは、ステップS1126において、カレントピクチャがレイヤ間シンタクスを予測を行わないピクチャであると判定されると、レイヤ間予測制御処理が終了し、処理は図23に戻る。
また、ステップS1124において、avc_base_layer_flag = 1 であり、layer = 0 であると判定された場合、処理はステップS1128に進む。
ステップS1128において、レイヤ間シンタクス予測制御部826は、レイヤ間シンタクス予測の実行をオフにする。すなわち、この場合、レイヤ間シンタクス予測は行われない(省略される)。ステップS1128の処理が終了すると、レイヤ間予測制御処理が終了し、処理は図23に戻る。
このようにすることにより、スケーラブル復号装置200は、ベースレイヤの符号化方式がAVCである場合のレイヤ間シンタクス予測制御に関する処理の実行を省略することができ、復号処理の負荷の不要な増大を抑制することができる。
<14.その他>
以上においては、スケーラブル符号化により画像データが階層化されて複数レイヤ化されるように説明したが、そのレイヤ数は任意である。また、例えば、図81の例に示されるように、一部のピクチャが階層化されるようにしてもよい。また、以上においては、符号化・復号において、エンハンスメントレイヤは、ベースレイヤを参照して処理されるように説明したが、これに限らず、エンハンスメントレイヤが、処理済の他のエンハンスメントレイヤを参照して処理されるようにしてもよい。
また、以上に説明したレイヤには、多視点画像符号化・復号におけるビューも含まれる。つまり、本技術は、多視点画像符号化・多視点画像復号に適用することができる。図82は、多視点画像符号化方式の一例を示す。
図82に示されるように、多視点画像は、複数の視点(ビュー)の画像を含み、その複数の視点のうちの所定の1つの視点の画像が、ベースビューの画像に指定されている。ベースビューの画像以外の各視点の画像は、ノンベースビューの画像として扱われる。
図82のような多視点画像を符号化・復号する場合、各ビューの画像を符号化・復号するが、この各ビューの符号化・復号に対して、上述した方法を適用するようにしてもよい。つまり、符号化や復号に関する情報を、このような多視点符号化・復号における複数のビューにおいて共有するようにしてもよい。
例えば、ベースビューについては、他のビューの符号化や復号に関する情報を参照せずに符号化・復号を行うようにし、ノンベースビューについては、ベースビューの符号化や復号に関する情報を参照して符号化・復号を行うようにする。そして、ベースビューについての符号化や復号に関する情報のみを伝送するようにする。
このようにすることにより、上述した階層符号化・復号の場合と同様に、多視点符号化・復号においても、符号化効率の低減を抑制することができる。
以上のように、本技術の適用範囲は、スケーラブルな符号化・復号方式に基づくあらゆる画像符号化装置及び画像復号装置に適用することができる。
また、本技術は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる直交変換装置若しくは逆直交変換装置にも適用することができる。
<15.第12の実施の形態>
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
図83は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図83に示されるコンピュータ1850において、CPU(Central Processing Unit)1851、ROM(Read Only Memory)1852、RAM(Random Access Memory)1853は、バス1854を介して相互に接続されている。
バス1854にはまた、入出力インタフェース1860も接続されている。入出力インタフェース1860には、入力部1861、出力部1862、記憶部1863、通信部1864、およびドライブ1865が接続されている。
入力部1861は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部1862は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部1863は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部1864は、例えば、ネットワークインタフェースよりなる。ドライブ1865は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア1871を駆動する。
以上のように構成されるコンピュータでは、CPU1851が、例えば、記憶部1863に記憶されているプログラムを、入出力インタフェース1860およびバス1854を介して、RAM1853にロードして実行することにより、上述した一連の処理が行われる。RAM1853にはまた、CPU1851が各種の処理を実行する上において必要なデータなども適宜記憶される。
コンピュータ(CPU1851)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア1871に記録して適用することができる。
その場合、プログラムは、リムーバブルメディア1871をドライブ1865に装着することにより、入出力インタフェース1860を介して、記憶部1863にインストールすることができる。
また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部1864で受信し、記憶部1863にインストールすることができる。その他、このプログラムは、ROM1852や記憶部1863に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
上述した実施形態に係る画像符号化装置及び画像復号装置は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
<16.応用例>
<第1の応用例:テレビジョン受像機>
図84は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置1900は、アンテナ1901、チューナ1902、デマルチプレクサ1903、デコーダ1904、映像信号処理部1905、表示部1906、音声信号処理部1907、スピーカ1908、外部インタフェース(I/F)部1909、制御部1910、ユーザインタフェース部1911、及びバス1912を備える。
チューナ1902は、アンテナ1901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ1902は、復調により得られた符号化ビットストリームをデマルチプレクサ1903へ出力する。即ち、チューナ1902は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置1900における伝送部としての役割を有する。
デマルチプレクサ1903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ1904へ出力する。また、デマルチプレクサ1903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部1910に供給する。なお、デマルチプレクサ1903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
デコーダ1904は、デマルチプレクサ1903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ1904は、復号処理により生成される映像データを映像信号処理部1905へ出力する。また、デコーダ1904は、復号処理により生成される音声データを音声信号処理部1907へ出力する。
映像信号処理部1905は、デコーダ1904から入力される映像データを再生し、表示部1906に映像を表示させる。また、映像信号処理部1905は、ネットワークを介して供給されるアプリケーション画面を表示部1906に表示させてもよい。また、映像信号処理部1905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部1905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
表示部1906は、映像信号処理部1905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD(Organic ElectroLuminescence Display)(有機ELディスプレイ)など)の映像面上に映像又は画像を表示する。
音声信号処理部1907は、デコーダ1904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ1908から音声を出力させる。また、音声信号処理部1907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
外部インタフェース部1909は、テレビジョン装置1900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース部1909を介して受信される映像ストリーム又は音声ストリームが、デコーダ1904により復号されてもよい。即ち、外部インタフェース部1909もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置1900における伝送部としての役割を有する。
制御部1910は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置1900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部1911から入力される操作信号に応じて、テレビジョン装置1900の動作を制御する。
ユーザインタフェース部1911は、制御部1910と接続される。ユーザインタフェース部1911は、例えば、ユーザがテレビジョン装置1900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部1911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部1910へ出力する。
バス1912は、チューナ1902、デマルチプレクサ1903、デコーダ1904、映像信号処理部1905、音声信号処理部1907、外部インタフェース部1909及び制御部1910を相互に接続する。
このように構成されたテレビジョン装置1900において、デコーダ1904は、上述した実施形態に係るスケーラブル復号装置200または画像復号装置1000(図71)の機能を有する。それにより、テレビジョン装置1900での画像の復号に際して、符号化効率の低減の抑制を実現し、符号化・復号による画質の低減の抑制を実現することができる。
<第2の応用例:携帯電話機>
図85は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機1920は、アンテナ1921、通信部1922、音声コーデック1923、スピーカ1924、マイクロホン1925、カメラ部1926、画像処理部1927、多重分離部1928、記録再生部1929、表示部1930、制御部1931、操作部1932、及びバス1933を備える。
アンテナ1921は、通信部1922に接続される。スピーカ1924及びマイクロホン1925は、音声コーデック1923に接続される。操作部1932は、制御部1931に接続される。バス1933は、通信部1922、音声コーデック1923、カメラ部1926、画像処理部1927、多重分離部1928、記録再生部1929、表示部1930、及び制御部1931を相互に接続する。
携帯電話機1920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
音声通話モードにおいて、マイクロホン1925により生成されるアナログ音声信号は、音声コーデック1923に供給される。音声コーデック1923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック1923は、圧縮後の音声データを通信部1922へ出力する。通信部1922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部1922は、生成した送信信号を、アンテナ1921を介して基地局(図示せず)へ送信する。また、通信部1922は、アンテナ1921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部1922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック1923へ出力する。音声コーデック1923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック1923は、生成した音声信号をスピーカ1924に供給して音声を出力させる。
また、データ通信モードにおいて、例えば、制御部1931は、操作部1932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部1931は、文字を表示部1930に表示させる。また、制御部1931は、操作部1932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部1922へ出力する。通信部1922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部1922は、生成した送信信号を、アンテナ1921を介して基地局(図示せず)へ送信する。また、通信部1922は、アンテナ1921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部1922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部1931へ出力する。制御部1931は、表示部1930に電子メールの内容を表示させると共に、電子メールデータを記録再生部1929に供給し、その記憶媒体に書き込ませる。
記録再生部1929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB( Universal Serial Bus)メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
また、撮影モードにおいて、例えば、カメラ部1926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部1927へ出力する。画像処理部1927は、カメラ部1926から入力される画像データを符号化し、符号化ストリームを記録再生部1929に供給し、その記憶媒体に書き込ませる。さらに、画像表示モードにおいて、記録再生部1929は、記憶媒体に記録されている符号化ストリームを読み出して画像処理部1927へ出力する。画像処理部1927は、記録再生部1929から入力される符号化ストリームを復号し、画像データを表示部1930に供給し、その画像を表示させる。
また、テレビ電話モードにおいて、例えば、多重分離部1928は、画像処理部1927により符号化された映像ストリームと、音声コーデック1923から入力される音声ストリームとを多重化し、多重化したストリームを通信部1922へ出力する。通信部1922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部1922は、生成した送信信号を、アンテナ1921を介して基地局(図示せず)へ送信する。また、通信部1922は、アンテナ1921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部1922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部1928へ出力する。多重分離部1928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部1927、音声ストリームを音声コーデック1923へ出力する。画像処理部1927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部1930に供給され、表示部1930により一連の画像が表示される。音声コーデック1923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック1923は、生成した音声信号をスピーカ1924に供給して音声を出力させる。
このように構成された携帯電話機1920において、画像処理部1927は、上述した実施形態に係るスケーラブル符号化装置100及びスケーラブル復号装置200、または、画像符号化装置900(図62)および画像復号装置1000(図71)の機能を有する。それにより、携帯電話機1920での画像の符号化及び復号に際して、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
<第3の応用例:記録再生装置>
図86は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置1940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置1940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置1940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置1940は、音声データ及び映像データを復号する。
記録再生装置1940は、チューナ1941、外部インタフェース(I/F)部1942、エンコーダ1943、HDD(Hard Disk Drive)1944、ディスクドライブ1945、セレクタ1946、デコーダ1947、OSD(On-Screen Display)1948、制御部1949、およびユーザインタフェース(I/F)部1950を備える。
チューナ1941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ1941は、復調により得られた符号化ビットストリームをセレクタ1946へ出力する。即ち、チューナ1941は、記録再生装置1940における伝送部としての役割を有する。
外部インタフェース部1942は、記録再生装置1940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース部1942は、例えば、IEEE(Institute of Electrical and Electronic Engineers)1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース部1942を介して受信される映像データおよび音声データは、エンコーダ1943へ入力される。即ち、外部インタフェース部1942は、記録再生装置1940における伝送部としての役割を有する。
エンコーダ1943は、外部インタフェース部1942から入力される映像データおよび音声データが符号化されていない場合に、映像データおよび音声データを符号化する。そして、エンコーダ1943は、符号化ビットストリームをセレクタ1946へ出力する。
HDD1944は、映像および音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラムおよびその他のデータを内部のハードディスクに記録する。また、HDD1944は、映像および音声の再生時に、これらデータをハードディスクから読み出す。
ディスクドライブ1945は、装着されている記録媒体へのデータの記録および読み出しを行う。ディスクドライブ1945に装着される記録媒体は、例えばDVD(Digital Versatile Disc)ディスク(DVD-Video、DVD-RAM(DVD - Random Access Memory)、DVD-R(DVD - Recordable)、DVD-RW(DVD - Rewritable)、DVD+R(DVD + Recordable)、DVD+RW(DVD + Rewritable)等)又はBlu-ray(登録商標)ディスクなどであってよい。
セレクタ1946は、映像および音声の記録時には、チューナ1941又はエンコーダ1943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD1944又はディスクドライブ1945へ出力する。また、セレクタ1946は、映像および音声の再生時には、HDD1944又はディスクドライブ1945から入力される符号化ビットストリームをデコーダ1947へ出力する。
デコーダ1947は、符号化ビットストリームを復号し、映像データおよび音声データを生成する。そして、デコーダ1947は、生成した映像データをOSD1948へ出力する。また、デコーダ1947は、生成した音声データを外部のスピーカへ出力する。
OSD1948は、デコーダ1947から入力される映像データを再生し、映像を表示する。また、OSD1948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
制御部1949は、CPUなどのプロセッサ、並びにRAMおよびROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、およびプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置1940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部1950から入力される操作信号に応じて、記録再生装置1940の動作を制御する。
ユーザインタフェース部1950は、制御部1949と接続される。ユーザインタフェース部1950は、例えば、ユーザが記録再生装置1940を操作するためのボタンおよびスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース部1950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部1949へ出力する。
このように構成された記録再生装置1940において、エンコーダ1943は、上述した実施形態に係るスケーラブル符号化装置100または画像符号化装置900(図62)の機能を有する。また、デコーダ1947は、上述した実施形態に係るスケーラブル復号装置200または画像復号装置1000(図71)の機能を有する。それにより、記録再生装置1940での画像の符号化及び復号に際して、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
<第4の応用例:撮像装置>
図87は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置1960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
撮像装置1960は、光学ブロック1961、撮像部1962、信号処理部1963、画像処理部1964、表示部1965、外部インタフェース(I/F)部1966、メモリ部1967、メディアドライブ1968、OSD1969、制御部1970、ユーザインタフェース(I/F)部1971、およびバス1972を備える。
光学ブロック1961は、撮像部1962に接続される。撮像部1962は、信号処理部1963に接続される。表示部1965は、画像処理部1964に接続される。ユーザインタフェース部1971は、制御部1970に接続される。バス1972は、画像処理部1964、外部インタフェース部1966、メモリ部1967、メディアドライブ1968、OSD1969、および制御部1970を相互に接続する。
光学ブロック1961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック1961は、被写体の光学像を撮像部1962の撮像面に結像させる。撮像部1962は、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部1962は、画像信号を信号処理部1963へ出力する。
信号処理部1963は、撮像部1962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部1963は、カメラ信号処理後の画像データを画像処理部1964へ出力する。
画像処理部1964は、信号処理部1963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部1964は、生成した符号化データを外部インタフェース部1966またはメディアドライブ1968へ出力する。また、画像処理部1964は、外部インタフェース部1966またはメディアドライブ1968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部1964は、生成した画像データを表示部1965へ出力する。また、画像処理部1964は、信号処理部1963から入力される画像データを表示部1965へ出力して画像を表示させてもよい。また、画像処理部1964は、OSD1969から取得される表示用データを、表示部1965へ出力する画像に重畳してもよい。
OSD1969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部1964へ出力する。
外部インタフェース部1966は、例えばUSB入出力端子として構成される。外部インタフェース部1966は、例えば、画像の印刷時に、撮像装置1960とプリンタとを接続する。また、外部インタフェース部1966には、例えば、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置1960にインストールされ得る。さらに、外部インタフェース部1966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース部1966は、撮像装置1960における伝送部としての役割を有する。
メディアドライブ1968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ1968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
制御部1970は、CPUなどのプロセッサ、並びにRAMおよびROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、およびプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置1960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース部1971から入力される操作信号に応じて、撮像装置1960の動作を制御する。
ユーザインタフェース部1971は、制御部1970と接続される。ユーザインタフェース部1971は、例えば、ユーザが撮像装置1960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース部1971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部1970へ出力する。
このように構成された撮像装置1960において、画像処理部1964は、上述した実施形態に係るスケーラブル符号化装置100及びスケーラブル復号装置200、または、画像符号化装置900(図62)および画像復号装置1000(図71)の機能を有する。それにより、撮像装置1960での画像の符号化及び復号に際して、符号化効率の低減を抑制し、符号化・復号による画質の低減を抑制することができる。
<17.スケーラブル符号化の応用例>
<第1のシステム>
次に、スケーラブル符号化(階層(画像)符号化)されたスケーラブル符号化データの具体的な利用例について説明する。スケーラブル符号化は、例えば、図88に示される例のように、伝送するデータの選択のために利用される。
図88に示されるデータ伝送システム2000において、配信サーバ2002は、スケーラブル符号化データ記憶部2001に記憶されているスケーラブル符号化データを読み出し、ネットワーク2003を介して、パーソナルコンピュータ2004、AV機器2005、タブレットデバイス2006、および携帯電話機2007等の端末装置に配信する。
その際、配信サーバ2002は、端末装置の能力や通信環境等に応じて、適切な品質の符号化データを選択して伝送する。配信サーバ2002が不要に高品質なデータを伝送しても、端末装置において高画質な画像を得られるとは限らず、遅延やオーバフローの発生要因となる恐れがある。また、不要に通信帯域を占有したり、端末装置の負荷を不要に増大させたりしてしまう恐れもある。逆に、配信サーバ2002が不要に低品質なデータを伝送しても、端末装置において十分な画質の画像を得ることができない恐れがある。そのため、配信サーバ2002は、スケーラブル符号化データ記憶部2001に記憶されているスケーラブル符号化データを、適宜、端末装置の能力や通信環境等に対して適切な品質の符号化データとして読み出し、伝送する。
例えば、スケーラブル符号化データ記憶部2001は、スケーラブルに符号化されたスケーラブル符号化データ(BL+EL)2011を記憶するとする。このスケーラブル符号化データ(BL+EL)2011は、ベースレイヤとエンハンスメントレイヤの両方を含む符号化データであり、復号することにより、ベースレイヤの画像およびエンハンスメントレイヤの画像の両方を得ることができるデータである。
配信サーバ2002は、データを伝送する端末装置の能力や通信環境等に応じて、適切なレイヤを選択し、そのレイヤのデータを読み出す。例えば、配信サーバ2002は、処理能力の高いパーソナルコンピュータ2004やタブレットデバイス2006に対しては、高品質なスケーラブル符号化データ(BL+EL)2011をスケーラブル符号化データ記憶部2001から読み出し、そのまま伝送する。これに対して、例えば、配信サーバ2002は、処理能力の低いAV機器2005や携帯電話機2007に対しては、スケーラブル符号化データ(BL+EL)2011からベースレイヤのデータを抽出し、スケーラブル符号化データ(BL+EL)2011と同じコンテンツのデータであるが、スケーラブル符号化データ(BL+EL)2011よりも低品質なスケーラブル符号化データ(BL)2012として伝送する。
このようにスケーラブル符号化データを用いることにより、データ量を容易に調整することができるので、遅延やオーバフローの発生を抑制したり、端末装置や通信媒体の負荷の不要な増大を抑制したりすることができる。また、スケーラブル符号化データ(BL+EL)2011は、レイヤ間の冗長性が低減されているので、各レイヤの符号化データを個別のデータとする場合よりもそのデータ量を低減させることができる。したがって、スケーラブル符号化データ記憶部2001の記憶領域をより効率よく使用することができる。
なお、パーソナルコンピュータ2004乃至携帯電話機2007のように、端末装置には様々な装置を適用することができるので、端末装置のハードウエアの性能は、装置によって異なる。また、端末装置が実行するアプリケーションも様々であるので、そのソフトウエアの能力も様々である。さらに、通信媒体となるネットワーク2003も、例えばインターネットやLAN(Local Area Network)等、有線若しくは無線、またはその両方を含むあらゆる通信回線網を適用することができ、そのデータ伝送能力は様々である。さらに、他の通信等によっても変化する恐れがある。
そこで、配信サーバ2002は、データ伝送を開始する前に、データの伝送先となる端末装置と通信を行い、端末装置のハードウエア性能や、端末装置が実行するアプリケーション(ソフトウエア)の性能等といった端末装置の能力に関する情報、並びに、ネットワーク2003の利用可能帯域幅等の通信環境に関する情報を得るようにしてもよい。そして、配信サーバ2002が、ここで得た情報を基に、適切なレイヤを選択するようにしてもよい。
なお、レイヤの抽出は、端末装置において行うようにしてもよい。例えば、パーソナルコンピュータ2004が、伝送されたスケーラブル符号化データ(BL+EL)2011を復号し、ベースレイヤの画像を表示しても良いし、エンハンスメントレイヤの画像を表示しても良い。また、例えば、パーソナルコンピュータ2004が、伝送されたスケーラブル符号化データ(BL+EL)2011から、ベースレイヤのスケーラブル符号化データ(BL)2012を抽出し、記憶したり、他の装置に転送したり、復号してベースレイヤの画像を表示したりするようにしてもよい。
もちろん、スケーラブル符号化データ記憶部2001、配信サーバ2002、ネットワーク2003、および端末装置の数はいずれも任意である。また、以上においては、配信サーバ2002がデータを端末装置に伝送する例について説明したが、利用例はこれに限定されない。データ伝送システム2000は、スケーラブル符号化された符号化データを端末装置に伝送する際、端末装置の能力や通信環境等に応じて、適切なレイヤを選択して伝送するシステムであれば、任意のシステムに適用することができる。
そして、図88のようなデータ伝送システム2000においても、図1乃至図80を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
<第2のシステム>
また、スケーラブル符号化は、例えば、図89に示される例のように、複数の通信媒体を介する伝送のために利用される。
図89に示されるデータ伝送システム2100において、放送局2101は、地上波放送2111により、ベースレイヤのスケーラブル符号化データ(BL)2121を伝送する。また、放送局2101は、有線若しくは無線またはその両方の通信網よりなる任意のネットワーク2112を介して、エンハンスメントレイヤのスケーラブル符号化データ(EL)2122を伝送する(例えばパケット化して伝送する)。
端末装置2102は、放送局2101が放送する地上波放送2111の受信機能を有し、この地上波放送2111を介して伝送されるベースレイヤのスケーラブル符号化データ(BL)2121を受け取る。また、端末装置2102は、ネットワーク2112を介した通信を行う通信機能をさらに有し、このネットワーク2112を介して伝送されるエンハンスメントレイヤのスケーラブル符号化データ(EL)2122を受け取る。
端末装置2102は、例えばユーザ指示等に応じて、地上波放送2111を介して取得したベースレイヤのスケーラブル符号化データ(BL)2121を、復号してベースレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
また、端末装置2102は、例えばユーザ指示等に応じて、地上波放送2111を介して取得したベースレイヤのスケーラブル符号化データ(BL)2121と、ネットワーク2112を介して取得したエンハンスメントレイヤのスケーラブル符号化データ(EL)2122とを合成して、スケーラブル符号化データ(BL+EL)を得たり、それを復号してエンハンスメントレイヤの画像を得たり、記憶したり、他の装置に伝送したりする。
以上のように、スケーラブル符号化データは、例えばレイヤ毎に異なる通信媒体を介して伝送させることができる。したがって、負荷を分散させることができ、遅延やオーバフローの発生を抑制することができる。
また、状況に応じて、伝送に使用する通信媒体を、レイヤ毎に選択することができるようにしてもよい。例えば、データ量が比較的多いベースレイヤのスケーラブル符号化データ(BL)2121を帯域幅の広い通信媒体を介して伝送させ、データ量が比較的少ないエンハンスメントレイヤのスケーラブル符号化データ(EL)2122を帯域幅の狭い通信媒体を介して伝送させるようにしてもよい。また、例えば、エンハンスメントレイヤのスケーラブル符号化データ(EL)2122を伝送する通信媒体を、ネットワーク2112とするか、地上波放送2111とするかを、ネットワーク2112の利用可能帯域幅に応じて切り替えるようにしてもよい。もちろん、任意のレイヤのデータについて同様である。
このように制御することにより、データ伝送における負荷の増大を、より抑制することができる。
もちろん、レイヤ数は任意であり、伝送に利用する通信媒体の数も任意である。また、データ配信先となる端末装置2102の数も任意である。さらに、以上においては、放送局2101からの放送を例に説明したが、利用例はこれに限定されない。データ伝送システム2100は、スケーラブル符号化された符号化データを、レイヤを単位として複数に分割し、複数の回線を介して伝送するシステムであれば、任意のシステムに適用することができる。
そして、以上のような図89のようなデータ伝送システム2100においても、図1乃至図80を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
<第3のシステム>
また、スケーラブル符号化は、例えば、図90に示される例のように、符号化データの記憶に利用される。
図90に示される撮像システム2200において、撮像装置2201は、被写体2211を撮像して得られた画像データをスケーラブル符号化し、スケーラブル符号化データ(BL+EL)2221として、スケーラブル符号化データ記憶装置2202に供給する。
スケーラブル符号化データ記憶装置2202は、撮像装置2201から供給されるスケーラブル符号化データ(BL+EL)2221を、状況に応じた品質で記憶する。例えば、通常時の場合、スケーラブル符号化データ記憶装置2202は、スケーラブル符号化データ(BL+EL)2221からベースレイヤのデータを抽出し、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)2222として記憶する。これに対して、例えば、注目時の場合、スケーラブル符号化データ記憶装置2202は、高品質でデータ量の多いスケーラブル符号化データ(BL+EL)2221のまま記憶する。
このようにすることにより、スケーラブル符号化データ記憶装置2202は、必要な場合のみ、画像を高画質に保存することができるので、画質劣化による画像の価値の低減を抑制しながら、データ量の増大を抑制することができ、記憶領域の利用効率を向上させることができる。
例えば、撮像装置2201が監視カメラであるとする。撮像画像に監視対象(例えば侵入者)が写っていない場合(通常時の場合)、撮像画像の内容は重要でない可能性が高いので、データ量の低減が優先され、その画像データ(スケーラブル符号化データ)は、低品質に記憶される。これに対して、撮像画像に監視対象が被写体2211として写っている場合(注目時の場合)、その撮像画像の内容は重要である可能性が高いので、画質が優先され、その画像データ(スケーラブル符号化データ)は、高品質に記憶される。
なお、通常時であるか注目時であるかは、例えば、スケーラブル符号化データ記憶装置2202が、画像を解析することにより判定しても良い。また、撮像装置2201が判定し、その判定結果をスケーラブル符号化データ記憶装置2202に伝送するようにしてもよい。
なお、通常時であるか注目時であるかの判定基準は任意であり、判定基準とする画像の内容は任意である。もちろん、画像の内容以外の条件を判定基準とすることもできる。例えば、収録した音声の大きさや波形等に応じて切り替えるようにしてもよいし、所定の時間毎に切り替えるようにしてもよいし、ユーザ指示等の外部からの指示によって切り替えるようにしてもよい。
また、以上においては、通常時と注目時の2つの状態を切り替える例を説明したが、状態の数は任意であり、例えば、通常時、やや注目時、注目時、非常に注目時等のように、3つ以上の状態を切り替えるようにしてもよい。ただし、この切り替える状態の上限数は、スケーラブル符号化データのレイヤ数に依存する。
また、撮像装置2201が、スケーラブル符号化のレイヤ数を、状態に応じて決定するようにしてもよい。例えば、通常時の場合、撮像装置2201が、低品質でデータ量の少ないベースレイヤのスケーラブル符号化データ(BL)2222を生成し、スケーラブル符号化データ記憶装置2202に供給するようにしてもよい。また、例えば、注目時の場合、撮像装置2201が、高品質でデータ量の多いベースレイヤのスケーラブル符号化データ(BL+EL)2221を生成し、スケーラブル符号化データ記憶装置2202に供給するようにしてもよい。
以上においては、監視カメラを例に説明したが、この撮像システム2200の用途は任意であり、監視カメラに限定されない。
そして、図90のような撮像システム2200においても、図1乃至図80を参照して上述した階層符号化・階層復号への適用と同様に本技術を適用することにより、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えばMPEG DASH等のようなHTTPストリーミングにも適用することができる。つまり、このような複数の符号化データ間で、符号化や復号に関する情報を共有することもできる。
<18.第13の実施の形態>
<実施のその他の例>
以上において本技術を適用する装置やシステム等の例を説明したが、本技術は、これに限らず、このような装置またはシステムを構成する装置に搭載するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
<ビデオセット>
本技術をセットとして実施する場合の例について、図91を参照して説明する。図91は、本技術を適用したビデオセットの概略的な構成の一例を示している。
近年、電子機器の多機能化が進んでおり、その開発や製造において、その一部の構成を販売や提供等として実施する場合、1機能を有する構成として実施を行う場合だけでなく、関連する機能を有する複数の構成を組み合わせ、複数の機能を有する1セットとして実施を行う場合も多く見られるようになってきた。
図91に示されるビデオセット2300は、このような多機能化された構成であり、画像の符号化や復号(いずれか一方でもよいし、両方でも良い)に関する機能を有するデバイスに、その機能に関連するその他の機能を有するデバイスを組み合わせたものである。
図91に示されるように、ビデオセット2300は、ビデオモジュール2311、外部メモリ2312、パワーマネージメントモジュール2313、およびフロントエンドモジュール2314等のモジュール群と、コネクティビティ2321、カメラ2322、およびセンサ2323等の関連する機能を有するデバイスとを有する。
モジュールは、互いに関連するいくつかの部品的機能をまとめ、まとまりのある機能を持った部品としたものである。具体的な物理的構成は任意であるが、例えば、それぞれ機能を有する複数のプロセッサ、抵抗やコンデンサ等の電子回路素子、その他のデバイス等を配線基板等に配置して一体化したものが考えられる。また、モジュールに他のモジュールやプロセッサ等を組み合わせて新たなモジュールとすることも考えられる。
図91の例の場合、ビデオモジュール2311は、画像処理に関する機能を有する構成を組み合わせたものであり、アプリケーションプロセッサ2331、ビデオプロセッサ2332、ブロードバンドモデム2333、およびRFモジュール2334を有する。
プロセッサは、所定の機能を有する構成をSoC(System On a Chip)により半導体チップに集積したものであり、例えばシステムLSI(Large Scale Integration)等と称されるものもある。この所定の機能を有する構成は、論理回路(ハードウエア構成)であってもよいし、CPU、ROM、RAM等と、それらを用いて実行されるプログラム(ソフトウエア構成)であってもよいし、その両方を組み合わせたものであってもよい。例えば、プロセッサが、論理回路とCPU、ROM、RAM等とを有し、機能の一部を論理回路(ハードウエア構成)により実現し、その他の機能をCPUにおいて実行されるプログラム(ソフトウエア構成)により実現するようにしてもよい。
図91のアプリケーションプロセッサ2331は、画像処理に関するアプリケーションを実行するプロセッサである。このアプリケーションプロセッサ2331において実行されるアプリケーションは、所定の機能を実現するために、演算処理を行うだけでなく、例えばビデオプロセッサ2332等、ビデオモジュール2311内外の構成を必要に応じて制御することもできる。
ビデオプロセッサ2332は、画像の符号化・復号(その一方若しくは両方)に関する機能を有するプロセッサである。
ブロードバンドモデム2333は、インターネットや公衆電話回線網等の広帯域の回線を介して行われる有線若しくは無線(またはその両方)の広帯域通信により送信するデータ(デジタル信号)をデジタル変調する等してアナログ信号に変換したり、その広帯域通信により受信したアナログ信号を復調してデータ(デジタル信号)に変換したりする。ブロードバンドモデム2333は、例えば、ビデオプロセッサ2332が処理する画像データ、画像データが符号化されたストリーム、アプリケーションプログラム、設定データ等、任意の情報を処理する。
RFモジュール2334は、アンテナを介して送受信されるRF(Radio Frequency)信号に対して、周波数変換、変復調、増幅、フィルタ処理等を行うモジュールである。例えば、RFモジュール2334は、ブロードバンドモデム2333により生成されたベースバンド信号に対して周波数変換等を行ってRF信号を生成する。また、例えば、RFモジュール2334は、フロントエンドモジュール2314を介して受信されたRF信号に対して周波数変換等を行ってベースバンド信号を生成する。
なお、図91において点線2341に示されるように、アプリケーションプロセッサ2331とビデオプロセッサ2332を、一体化し、1つのプロセッサとして構成されるようにしてもよい。
外部メモリ2312は、ビデオモジュール2311の外部に設けられた、ビデオモジュール2311により利用される記憶デバイスを有するモジュールである。この外部メモリ2312の記憶デバイスは、どのような物理構成により実現するようにしてもよいが、一般的にフレーム単位の画像データのような大容量のデータの格納に利用されることが多いので、例えばDRAM(Dynamic Random Access Memory)のような比較的安価で大容量の半導体メモリにより実現するのが望ましい。
パワーマネージメントモジュール2313は、ビデオモジュール2311(ビデオモジュール2311内の各構成)への電力供給を管理し、制御する。
フロントエンドモジュール2314は、RFモジュール2334に対してフロントエンド機能(アンテナ側の送受信端の回路)を提供するモジュールである。図91に示されるように、フロントエンドモジュール2314は、例えば、アンテナ部2351、フィルタ2352、および増幅部2353を有する。
アンテナ部2351は、無線信号を送受信するアンテナおよびその周辺の構成を有する。アンテナ部2351は、増幅部2353から供給される信号を無線信号として送信し、受信した無線信号を電気信号(RF信号)としてフィルタ2352に供給する。フィルタ2352は、アンテナ部2351を介して受信されたRF信号に対してフィルタ処理等を行い、処理後のRF信号をRFモジュール2334に供給する。増幅部2353は、RFモジュール2334から供給されるRF信号を増幅し、アンテナ部2351に供給する。
コネクティビティ2321は、外部との接続に関する機能を有するモジュールである。コネクティビティ2321の物理構成は、任意である。例えば、コネクティビティ2321は、ブロードバンドモデム2333が対応する通信規格以外の通信機能を有する構成や、外部入出力端子等を有する。
例えば、コネクティビティ2321が、Bluetooth(登録商標)、IEEE 802.11(例えばWi-Fi(Wireless Fidelity、登録商標))、NFC(Near Field Communication)、IrDA(InfraRed Data Association)等の無線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した信号を送受信するアンテナ等を有するようにしてもよい。また、例えば、コネクティビティ2321が、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Multimedia Interface)等の有線通信規格に準拠する通信機能を有するモジュールや、その規格に準拠した端子を有するようにしてもよい。さらに、例えば、コネクティビティ2321が、アナログ入出力端子等のその他のデータ(信号)伝送機能等を有するようにしてもよい。
なお、コネクティビティ2321が、データ(信号)の伝送先のデバイスを含むようにしてもよい。例えば、コネクティビティ2321が、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等の記録媒体に対してデータの読み出しや書き込みを行うドライブ(リムーバブルメディアのドライブだけでなく、ハードディスク、SSD(Solid State Drive)、NAS(Network Attached Storage)等も含む)を有するようにしてもよい。また、コネクティビティ2321が、画像や音声の出力デバイス(モニタやスピーカ等)を有するようにしてもよい。
カメラ2322は、被写体を撮像し、被写体の画像データを得る機能を有するモジュールである。カメラ2322の撮像により得られた画像データは、例えば、ビデオプロセッサ2332に供給されて符号化される。
センサ2323は、例えば、音声センサ、超音波センサ、光センサ、照度センサ、赤外線センサ、イメージセンサ、回転センサ、角度センサ、角速度センサ、速度センサ、加速度センサ、傾斜センサ、磁気識別センサ、衝撃センサ、温度センサ等、任意のセンサ機能を有するモジュールである。センサ2323により検出されたデータは、例えば、アプリケーションプロセッサ2331に供給されてアプリケーション等により利用される。
以上においてモジュールとして説明した構成をプロセッサとして実現するようにしてもよいし、逆にプロセッサとして説明した構成をモジュールとして実現するようにしてもよい。
以上のような構成のビデオセット2300において、後述するようにビデオプロセッサ2332に本技術を適用することができる。したがって、ビデオセット2300は、本技術を適用したセットとして実施することができる。
<ビデオプロセッサの構成例>
図92は、本技術を適用したビデオプロセッサ2332(図91)の概略的な構成の一例を示している。
図92の例の場合、ビデオプロセッサ2332は、ビデオ信号およびオーディオ信号の入力を受けてこれらを所定の方式で符号化する機能と、符号化されたビデオデータおよびオーディオデータを復号し、ビデオ信号およびオーディオ信号を再生出力する機能とを有する。
図92に示されるように、ビデオプロセッサ2332は、ビデオ入力処理部2401、第1画像拡大縮小部2402、第2画像拡大縮小部2403、ビデオ出力処理部2404、フレームメモリ2405、およびメモリ制御部2406を有する。また、ビデオプロセッサ2332は、エンコード・デコードエンジン2407、ビデオES(Elementary Stream)バッファ2408Aおよび2408B、並びに、オーディオESバッファ2409Aおよび2409Bを有する。さらに、ビデオプロセッサ2332は、オーディオエンコーダ2410、オーディオデコーダ2411、多重化部(MUX(Multiplexer))2412、逆多重化部(DMUX(Demultiplexer))2413、およびストリームバッファ2414を有する。
ビデオ入力処理部2401は、例えばコネクティビティ2321(図91)等から入力されたビデオ信号を取得し、デジタル画像データに変換する。第1画像拡大縮小部2402は、画像データに対してフォーマット変換や画像の拡大縮小処理等を行う。第2画像拡大縮小部2403は、画像データに対して、ビデオ出力処理部2404を介して出力する先でのフォーマットに応じて画像の拡大縮小処理を行ったり、第1画像拡大縮小部2402と同様のフォーマット変換や画像の拡大縮小処理等を行ったりする。ビデオ出力処理部2404は、画像データに対して、フォーマット変換やアナログ信号への変換等を行って、再生されたビデオ信号として例えばコネクティビティ2321(図91)等に出力する。
フレームメモリ2405は、ビデオ入力処理部2401、第1画像拡大縮小部2402、第2画像拡大縮小部2403、ビデオ出力処理部2404、およびエンコード・デコードエンジン2407によって共用される画像データ用のメモリである。フレームメモリ2405は、例えばDRAM等の半導体メモリとして実現される。
メモリ制御部2406は、エンコード・デコードエンジン2407からの同期信号を受けて、アクセス管理テーブル2406Aに書き込まれたフレームメモリ2405へのアクセススケジュールに従ってフレームメモリ2405に対する書き込み・読み出しのアクセスを制御する。アクセス管理テーブル2406Aは、エンコード・デコードエンジン2407、第1画像拡大縮小部2402、第2画像拡大縮小部2403等で実行される処理に応じて、メモリ制御部2406により更新される。
エンコード・デコードエンジン2407は、画像データのエンコード処理、並びに、画像データが符号化されたデータであるビデオストリームのデコード処理を行う。例えば、エンコード・デコードエンジン2407は、フレームメモリ2405から読み出した画像データを符号化し、ビデオストリームとしてビデオESバッファ2408Aに順次書き込む。また、例えば、ビデオESバッファ2408Bからビデオストリームを順次読み出して復号し、画像データとしてフレームメモリ2405に順次書き込む。エンコード・デコードエンジン2407は、これらの符号化や復号において、フレームメモリ2405を作業領域として使用する。また、エンコード・デコードエンジン2407は、例えばマクロブロック毎の処理を開始するタイミングで、メモリ制御部2406に対して同期信号を出力する。
ビデオESバッファ2408Aは、エンコード・デコードエンジン2407によって生成されたビデオストリームをバッファリングして、多重化部(MUX)2412に供給する。ビデオESバッファ2408Bは、逆多重化部(DMUX)2413から供給されたビデオストリームをバッファリングして、エンコード・デコードエンジン2407に供給する。
オーディオESバッファ2409Aは、オーディオエンコーダ2410によって生成されたオーディオストリームをバッファリングして、多重化部(MUX)2412に供給する。オーディオESバッファ2409Bは、逆多重化部(DMUX)2413から供給されたオーディオストリームをバッファリングして、オーディオデコーダ2411に供給する。
オーディオエンコーダ2410は、例えばコネクティビティ2321(図91)等から入力されたオーディオ信号を例えばデジタル変換し、例えばMPEGオーディオ方式やAC3(AudioCode number 3)方式等の所定の方式で符号化する。オーディオエンコーダ2410は、オーディオ信号が符号化されたデータであるオーディオストリームをオーディオESバッファ2409Aに順次書き込む。オーディオデコーダ2411は、オーディオESバッファ2409Bから供給されたオーディオストリームを復号し、例えばアナログ信号への変換等を行って、再生されたオーディオ信号として例えばコネクティビティ2321(図91)等に供給する。
多重化部(MUX)2412は、ビデオストリームとオーディオストリームとを多重化する。この多重化の方法(すなわち、多重化により生成されるビットストリームのフォーマット)は任意である。また、この多重化の際に、多重化部(MUX)2412は、所定のヘッダ情報等をビットストリームに付加することもできる。つまり、多重化部(MUX)2412は、多重化によりストリームのフォーマットを変換することができる。例えば、多重化部(MUX)2412は、ビデオストリームとオーディオストリームとを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームに変換する。また、例えば、多重化部(MUX)2412は、ビデオストリームとオーディオストリームとを多重化することにより、記録用のファイルフォーマットのデータ(ファイルデータ)に変換する。
逆多重化部(DMUX)2413は、多重化部(MUX)2412による多重化に対応する方法で、ビデオストリームとオーディオストリームとが多重化されたビットストリームを逆多重化する。つまり、逆多重化部(DMUX)2413は、ストリームバッファ2414から読み出されたビットストリームからビデオストリームとオーディオストリームとを抽出する(ビデオストリームとオーディオストリームとを分離する)。つまり、逆多重化部(DMUX)2413は、逆多重化によりストリームのフォーマットを変換(多重化部(MUX)2412による変換の逆変換)することができる。例えば、逆多重化部(DMUX)2413は、例えばコネクティビティ2321やブロードバンドモデム2333等(いずれも図91)から供給されたトランスポートストリームを、ストリームバッファ2414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。また、例えば、逆多重化部(DMUX)2413は、例えばコネクティビティ2321により(図91)各種記録媒体から読み出されたファイルデータを、ストリームバッファ2414を介して取得し、逆多重化することにより、ビデオストリームとオーディオストリームとに変換することができる。
ストリームバッファ2414は、ビットストリームをバッファリングする。例えば、ストリームバッファ2414は、多重化部(MUX)2412から供給されたトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ2321やブロードバンドモデム2333(いずれも図91)等に供給する。
また、例えば、ストリームバッファ2414は、多重化部(MUX)2412から供給されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、例えばコネクティビティ2321(図91)等に供給し、各種記録媒体に記録させる。
さらに、ストリームバッファ2414は、例えばコネクティビティ2321やブロードバンドモデム2333等(いずれも図91)を介して取得したトランスポートストリームをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)2413に供給する。
また、ストリームバッファ2414は、例えばコネクティビティ2321(図91)等において各種記録媒体から読み出されたファイルデータをバッファリングし、所定のタイミングにおいて、若しくは外部からの要求等に基づいて、逆多重化部(DMUX)2413に供給する。
次に、このような構成のビデオプロセッサ2332の動作の例について説明する。例えば、コネクティビティ2321(図91)等からビデオプロセッサ2332に入力されたビデオ信号は、ビデオ入力処理部2401において4:2:2Y/Cb/Cr方式等の所定の方式のデジタル画像データに変換され、フレームメモリ2405に順次書き込まれる。このデジタル画像データは、第1画像拡大縮小部2402または第2画像拡大縮小部2403に読み出されて、4:2:0Y/Cb/Cr方式等の所定の方式へのフォーマット変換および拡大縮小処理が行われ、再びフレームメモリ2405に書き込まれる。この画像データは、エンコード・デコードエンジン2407によって符号化され、ビデオストリームとしてビデオESバッファ2408Aに書き込まれる。
また、コネクティビティ2321(図91)等からビデオプロセッサ2332に入力されたオーディオ信号は、オーディオエンコーダ2410によって符号化され、オーディオストリームとして、オーディオESバッファ2409Aに書き込まれる。
ビデオESバッファ2408Aのビデオストリームと、オーディオESバッファ2409Aのオーディオストリームは、多重化部(MUX)2412に読み出されて多重化され、トランスポートストリーム若しくはファイルデータ等に変換される。多重化部(MUX)2412により生成されたトランスポートストリームは、ストリームバッファ2414にバッファされた後、例えばコネクティビティ2321やブロードバンドモデム2333(いずれも図91)等を介して外部ネットワークに出力される。また、多重化部(MUX)2412により生成されたファイルデータは、ストリームバッファ2414にバッファされた後、例えばコネクティビティ2321(図91)等に出力され、各種記録媒体に記録される。
また、例えばコネクティビティ2321やブロードバンドモデム2333(いずれも図91)等を介して外部ネットワークからビデオプロセッサ2332に入力されたトランスポートストリームは、ストリームバッファ2414にバッファされた後、逆多重化部(DMUX)2413により逆多重化される。また、例えばコネクティビティ2321(図91)等において各種記録媒体から読み出され、ビデオプロセッサ2332に入力されたファイルデータは、ストリームバッファ2414にバッファされた後、逆多重化部(DMUX)2413により逆多重化される。つまり、ビデオプロセッサ2332に入力されたトランスポートストリームまたはファイルデータは、逆多重化部(DMUX)2413によりビデオストリームとオーディオストリームとに分離される。
オーディオストリームは、オーディオESバッファ2409Bを介してオーディオデコーダ2411に供給され、復号されてオーディオ信号が再生される。また、ビデオストリームは、ビデオESバッファ2408Bに書き込まれた後、エンコード・デコードエンジン2407により順次読み出されて復号されてフレームメモリ2405に書き込まれる。復号された画像データは、第2画像拡大縮小部2403によって拡大縮小処理されて、フレームメモリ2405に書き込まれる。そして、復号された画像データは、ビデオ出力処理部2404に読み出されて、4:2:2Y/Cb/Cr方式等の所定の方式にフォーマット変換され、さらにアナログ信号に変換されて、ビデオ信号が再生出力される。
このように構成されるビデオプロセッサ2332に本技術を適用する場合、エンコード・デコードエンジン2407に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、エンコード・デコードエンジン2407が、上述した実施形態に係るスケーラブル符号化装置100およびスケーラブル復号装置200、または、画像符号化装置900(図62)および画像復号装置1000(図71)の機能を有するようにすればよい。このようにすることにより、ビデオプロセッサ2332は、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
なお、エンコード・デコードエンジン2407において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
<ビデオプロセッサの他の構成例>
図93は、本技術を適用したビデオプロセッサ2332(図91)の概略的な構成の他の例を示している。図93の例の場合、ビデオプロセッサ2332は、ビデオデータを所定の方式で符号化・復号する機能とを有する。
より具体的には、図93に示されるように、ビデオプロセッサ2332は、制御部2511、ディスプレイインタフェース2512、ディスプレイエンジン2513、画像処理エンジン2514、および内部メモリ2515を有する。また、ビデオプロセッサ2332は、コーデックエンジン2516、メモリインタフェース2517、多重化・逆多重化部(MUX DMUX)2518、ネットワークインタフェース2519、およびビデオインタフェース2520を有する。
制御部2511は、ディスプレイインタフェース2512、ディスプレイエンジン2513、画像処理エンジン2514、およびコーデックエンジン2516等、ビデオプロセッサ2332内の各処理部の動作を制御する。
図93に示されるように、制御部2511は、例えば、メインCPU2531、サブCPU2532、およびシステムコントローラ2533を有する。メインCPU2531は、ビデオプロセッサ2332内の各処理部の動作を制御するためのプログラム等を実行する。メインCPU2531は、そのプログラム等に従って制御信号を生成し、各処理部に供給する(つまり、各処理部の動作を制御する)。サブCPU2532は、メインCPU2531の補助的な役割を果たす。例えば、サブCPU2532は、メインCPU2531が実行するプログラム等の子プロセスやサブルーチン等を実行する。システムコントローラ2533は、メインCPU2531およびサブCPU2532が実行するプログラムを指定する等、メインCPU2531およびサブCPU2532の動作を制御する。
ディスプレイインタフェース2512は、制御部2511の制御の下、画像データを例えばコネクティビティ2321(図91)等に出力する。例えば、ディスプレイインタフェース2512は、デジタルデータの画像データをアナログ信号に変換し、再生されたビデオ信号として、またはデジタルデータの画像データのまま、コネクティビティ2321(図91)のモニタ装置等に出力する。
ディスプレイエンジン2513は、制御部2511の制御の下、画像データに対して、その画像を表示させるモニタ装置等のハードウエアスペックに合わせるように、フォーマット変換、サイズ変換、色域変換等の各種変換処理を行う。
画像処理エンジン2514は、制御部2511の制御の下、画像データに対して、例えば画質改善のためのフィルタ処理等、所定の画像処理を施す。
内部メモリ2515は、ディスプレイエンジン2513、画像処理エンジン2514、およびコーデックエンジン2516により共用される、ビデオプロセッサ2332の内部に設けられたメモリである。内部メモリ2515は、例えば、ディスプレイエンジン2513、画像処理エンジン2514、およびコーデックエンジン2516の間で行われるデータの授受に利用される。例えば、内部メモリ2515は、ディスプレイエンジン2513、画像処理エンジン2514、またはコーデックエンジン2516から供給されるデータを格納し、必要に応じて(例えば、要求に応じて)、そのデータを、ディスプレイエンジン2513、画像処理エンジン2514、またはコーデックエンジン2516に供給する。この内部メモリ2515は、どのような記憶デバイスにより実現するようにしてもよいが、一般的にブロック単位の画像データやパラメータ等といった小容量のデータの格納に利用することが多いので、例えばSRAM(Static Random Access Memory)のような比較的(例えば外部メモリ2312と比較して)小容量だが応答速度が高速な半導体メモリにより実現するのが望ましい。
コーデックエンジン2516は、画像データの符号化や復号に関する処理を行う。このコーデックエンジン2516が対応する符号化・復号の方式は任意であり、その数は1つであってもよいし、複数であってもよい。例えば、コーデックエンジン2516は、複数の符号化・復号方式のコーデック機能を備え、その中から選択されたもので画像データの符号化若しくは符号化データの復号を行うようにしてもよい。
図93に示される例において、コーデックエンジン2516は、コーデックに関する処理の機能ブロックとして、例えば、MPEG-2 Video2541、AVC/H.2642542、HEVC/H.2652543、HEVC/H.265(Scalable)2544、HEVC/H.265(Multi-view)2545、およびMPEG-DASH2551を有する。
MPEG-2 Video2541は、画像データをMPEG-2方式で符号化したり復号したりする機能ブロックである。AVC/H.2642542は、画像データをAVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.2652543は、画像データをHEVC方式で符号化したり復号したりする機能ブロックである。HEVC/H.265(Scalable)2544は、画像データをHEVC方式でスケーラブル符号化したりスケーラブル復号したりする機能ブロックである。HEVC/H.265(Multi-view)2545は、画像データをHEVC方式で多視点符号化したり多視点復号したりする機能ブロックである。
MPEG-DASH2551は、画像データをMPEG-DASH(MPEG-Dynamic Adaptive Streaming over HTTP)方式で送受信する機能ブロックである。MPEG-DASHは、HTTP(HyperText Transfer Protocol)を使ってビデオのストリーミングを行う技術であり、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択し伝送することを特徴の1つとする。MPEG-DASH2551は、規格に準拠するストリームの生成やそのストリームの伝送制御等を行い、画像データの符号化・復号については、上述したMPEG-2 Video2541乃至HEVC/H.265(Multi-view)2545を利用する。
メモリインタフェース2517は、外部メモリ2312用のインタフェースである。画像処理エンジン2514やコーデックエンジン2516から供給されるデータは、メモリインタフェース2517を介して外部メモリ2312に供給される。また、外部メモリ2312から読み出されたデータは、メモリインタフェース2517を介してビデオプロセッサ2332(画像処理エンジン2514若しくはコーデックエンジン2516)に供給される。
多重化・逆多重化部(MUX DMUX)2518は、符号化データのビットストリーム、画像データ、ビデオ信号等、画像に関する各種データの多重化や逆多重化を行う。この多重化・逆多重化の方法は任意である。例えば、多重化の際に、多重化・逆多重化部(MUX DMUX)2518は、複数のデータを1つにまとめるだけでなく、所定のヘッダ情報等をそのデータに付加することもできる。また、逆多重化の際に、多重化・逆多重化部(MUX DMUX)2518は、1つのデータを複数に分割するだけでなく、分割した各データに所定のヘッダ情報等を付加することもできる。つまり、多重化・逆多重化部(MUX DMUX)2518は、多重化・逆多重化によりデータのフォーマットを変換することができる。例えば、多重化・逆多重化部(MUX DMUX)2518は、ビットストリームを多重化することにより、転送用のフォーマットのビットストリームであるトランスポートストリームや、記録用のファイルフォーマットのデータ(ファイルデータ)に変換することができる。もちろん、逆多重化によりその逆変換も可能である。
ネットワークインタフェース2519は、例えばブロードバンドモデム2333やコネクティビティ2321(いずれも図91)等向けのインタフェースである。ビデオインタフェース2520は、例えばコネクティビティ2321やカメラ2322(いずれも図91)等向けのインタフェースである。
次に、このようなビデオプロセッサ2332の動作の例について説明する。例えばコネクティビティ2321やブロードバンドモデム2333(いずれも図91)等を介して外部ネットワークからトランスポートストリームを受信すると、そのトランスポートストリームは、ネットワークインタフェース2519を介して多重化・逆多重化部(MUX DMUX)2518に供給されて逆多重化され、コーデックエンジン2516により復号される。コーデックエンジン2516の復号により得られた画像データは、例えば、画像処理エンジン2514により所定の画像処理が施され、ディスプレイエンジン2513により所定の変換が行われ、ディスプレイインタフェース2512を介して例えばコネクティビティ2321(図91)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン2516の復号により得られた画像データは、コーデックエンジン2516により再符号化され、多重化・逆多重化部(MUX DMUX)2518により多重化されてファイルデータに変換され、ビデオインタフェース2520を介して例えばコネクティビティ2321(図91)等に出力され、各種記録媒体に記録される。
さらに、例えば、コネクティビティ2321(図91)等により図示せぬ記録媒体から読み出された、画像データが符号化された符号化データのファイルデータは、ビデオインタフェース2520を介して多重化・逆多重化部(MUX DMUX)2518に供給されて逆多重化され、コーデックエンジン2516により復号される。コーデックエンジン2516の復号により得られた画像データは、画像処理エンジン2514により所定の画像処理が施され、ディスプレイエンジン2513により所定の変換が行われ、ディスプレイインタフェース2512を介して例えばコネクティビティ2321(図91)等に供給され、その画像がモニタに表示される。また、例えば、コーデックエンジン2516の復号により得られた画像データは、コーデックエンジン2516により再符号化され、多重化・逆多重化部(MUX DMUX)2518により多重化されてトランスポートストリームに変換され、ネットワークインタフェース2519を介して例えばコネクティビティ2321やブロードバンドモデム2333(いずれも図91)等に供給され図示せぬ他の装置に伝送される。
なお、ビデオプロセッサ2332内の各処理部の間での画像データやその他のデータの授受は、例えば、内部メモリ2515や外部メモリ2312を利用して行われる。また、パワーマネージメントモジュール2313は、例えば制御部2511への電力供給を制御する。
このように構成されるビデオプロセッサ2332に本技術を適用する場合、コーデックエンジン2516に、上述した各実施形態に係る本技術を適用すればよい。つまり、例えば、コーデックエンジン2516が、上述した実施形態に係るスケーラブル符号化装置100及びスケーラブル復号装置200、または、画像符号化装置900(図62)および画像復号装置1000(図71)を実現する機能ブロックを有するようにすればよい。このようにすることにより、ビデオプロセッサ2332は、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
なお、コーデックエンジン2516において、本技術(すなわち、上述した各実施形態に係る画像符号化装置や画像復号装置の機能)は、論理回路等のハードウエアにより実現するようにしてもよいし、組み込みプログラム等のソフトウエアにより実現するようにしてもよいし、それらの両方により実現するようにしてもよい。
以上にビデオプロセッサ2332の構成を2例示したが、ビデオプロセッサ2332の構成は任意であり、上述した2例以外のものであってもよい。また、このビデオプロセッサ2332は、1つの半導体チップとして構成されるようにしてもよいが、複数の半導体チップとして構成されるようにしてもよい。例えば、複数の半導体を積層する3次元積層LSIとしてもよい。また、複数のLSIにより実現されるようにしてもよい。
<装置への適用例>
ビデオセット2300は、画像データを処理する各種装置に組み込むことができる。例えば、ビデオセット2300は、テレビジョン装置1900(図84)、携帯電話機1920(図85)、記録再生装置1940(図86)、撮像装置1960(図87)等に組み込むことができる。ビデオセット2300を組み込むことにより、その装置は、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
また、ビデオセット2300は、例えば、図88のデータ伝送システム2000におけるパーソナルコンピュータ2004、AV機器2005、タブレットデバイス2006、および携帯電話機2007等の端末装置、図89のデータ伝送システム2100における放送局2101および端末装置2102、並びに、図90の撮像システム2200における撮像装置2201およびスケーラブル符号化データ記憶装置2202等にも組み込むことができる。ビデオセット2300を組み込むことにより、その装置は、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
なお、上述したビデオセット2300の各構成の一部であっても、ビデオプロセッサ2332を含むものであれば、本技術を適用した構成として実施することができる。例えば、ビデオプロセッサ2332のみを本技術を適用したビデオプロセッサとして実施することができる。また、例えば、上述したように点線2341により示されるプロセッサやビデオモジュール2311等を本技術を適用したプロセッサやモジュール等として実施することができる。さらに、例えば、ビデオモジュール2311、外部メモリ2312、パワーマネージメントモジュール2313、およびフロントエンドモジュール2314を組み合わせ、本技術を適用したビデオユニット2361として実施することもできる。いずれの構成の場合であっても、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
つまり、ビデオプロセッサ2332を含むものであればどのような構成であっても、ビデオセット2300の場合と同様に、画像データを処理する各種装置に組み込むことができる。例えば、ビデオプロセッサ2332、点線2341により示されるプロセッサ、ビデオモジュール2311、または、ビデオユニット2361を、テレビジョン装置1900(図84)、携帯電話機1920(図85)、記録再生装置1940(図86)、撮像装置1960(図87)、図88のデータ伝送システム2000におけるパーソナルコンピュータ2004、AV機器2005、タブレットデバイス2006、および携帯電話機2007等の端末装置、図89のデータ伝送システム2100における放送局2101および端末装置2102、並びに、図90の撮像システム2200における撮像装置2201およびスケーラブル符号化データ記憶装置2202等に組み込むことができる。そして、本技術を適用したいずれかの構成を組み込むことにより、その装置は、ビデオセット2300の場合と同様に、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
<19.第14の実施の形態>
<MPEG-DASHの応用例>
なお、本技術は、予め用意された解像度等が互いに異なる複数の符号化データの中から適切なものをセグメント単位で選択して使用する、例えば、後述するMPEG DASH等のようなHTTPストリーミングのコンテンツ再生システムやWi-Fi規格の無線通信システムにも適用することができる。
<コンテンツ再生システムの概要>
まず、図94乃至図96を参照し、本技術を適用可能なコンテンツ再生システムについて概略的に説明する。
以下では、まず、このような各実施形態において共通する基本構成について図94および図95を参照して説明する。
図94は、コンテンツ再生システムの構成を示した説明図である。図94に示したように、コンテンツ再生システムは、コンテンツサーバ2610、2611と、ネットワーク2612と、コンテンツ再生装置2620(クライアント装置)とを備える。
コンテンツサーバ2610、2611とコンテンツ再生装置2620は、ネットワーク2612を介して接続されている。このネットワーク2612は、ネットワーク2612に接続されている装置から送信される情報の有線、または無線の伝送路である。
例えば、ネットワーク2612は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク2612は、IP-VPN(Internet Protocol-Virtual Private Network)などの専用回線網を含んでもよい。
コンテンツサーバ2610は、コンテンツデータを符号化し、符号化データおよび符号化データのメタ情報を含むデータファイルを生成して記憶する。なお、コンテンツサーバ2610がMP4形式のデータファイルを生成する場合、符号化データは「mdat」に該当し、メタ情報は「moov」に該当する。
また、コンテンツデータは、音楽、講演およびラジオ番組などの音楽データや、映画、テレビジョン番組、ビデオプログラム、写真、文書、絵画および図表などの映像データや、ゲームおよびソフトウエアなどであってもよい。
ここで、コンテンツサーバ2610は、同一コンテンツに関し、異なるビットレートで複数のデータファイルを生成する。またコンテンツサーバ2611は、コンテンツ再生装置2620からのコンテンツの再生要求に対して、コンテンツサーバ2610のURLの情報に、コンテンツ再生装置2620で当該URLに付加させるパラメータの情報を含めてコンテンツ再生装置2620に送信する。以下、図95を参照して当該事項について具体的に説明する。
図95は、図94のコンテンツ再生システムにおけるデータの流れを示した説明図である。コンテンツサーバ2610は、同一のコンテンツデータを異なるビットレートで符号化し、図95に示したように例えば2MbpsのファイルA、1.5MbpsのファイルB、1MbpsのファイルCを生成する。相対的に、ファイルAはハイビットレートであり、ファイルBは標準ビットレートであり、ファイルCはロービットレートである。
また、図95に示したように、各ファイルの符号化データは複数のセグメントに区分されている。例えば、ファイルAの符号化データは「A1」、「A2」、「A3」、・・・「An」というセグメントに区分されており、ファイルBの符号化データは「B1」、「B2」、「B3」、・・・「Bn」というセグメントに区分されており、ファイルCの符号化データは「C1」、「C2」、「C3」、・・・「Cn」というセグメントに区分されている。
なお、各セグメントはMP4のシンクサンプル(たとえば、AVC/H.264の映像符号化ではIDR−ピクチャ)で始まる単独で再生可能な1または2以上の映像符号化データおよび音声符号化データより構成サンプルで構成されてもよい。例えば、一秒30フレームのビデオデータが15フレーム固定長のGOP(Group of Picture)にて符号化されていた場合、各セグメントは、4GOPに相当する2秒分の映像ならびに音声符号化データであっても、20GOPに相当する10秒分の映像ならびに音声符号化データであってもよい。
また、各ファイルにおける配置順番が同一のセグメントによる再生範囲(コンテンツの先頭からの時間位置の範囲)は同一である。例えば、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は同一であり、各セグメントが2秒分の符号化データである場合、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は、いずれもコンテンツの2秒乃至4秒である。
コンテンツサーバ2610は、このような複数のセグメントから構成されるファイルA乃至ファイルCを生成すると、ファイルA乃至ファイルCを記憶する。そして、コンテンツサーバ2610は、図95に示したように、異なるファイルを構成するセグメントをコンテンツ再生装置2620に順次に送信し、コンテンツ再生装置2620は、受信したセグメントをストリーミング再生する。
ここで、本実施形態によるコンテンツサーバ2610は、各符号化データのビットレート情報およびアクセス情報を含むプレイリストファイル(以下、MPD:Media Presentation Description)をコンテンツ再生装置2620に送信し、コンテンツ再生装置2620は、MPDに基づき、複数のビットレートのうちのいずれかのビットレートを選択し、選択したビットレートに対応するセグメントの送信をコンテンツサーバ2610に要求する。
図94では、1つのコンテンツサーバ2610のみが図示されているが、本開示は係る例に限定されないことは言うまでもない。
図96は、MPDの具体例を示した説明図である。図96に示したように、MPDには、異なるビットレート(BANDWIDTH)を有する複数の符号化データに関するアクセス情報が含まれる。例えば、図96に示したMPDは、256Kbps、1.024Mbps、1.384Mbps、1.536Mbps、2.048Mbpsの各々の符号化データが存在することを示す共に、各符号化データに関するアクセス情報を含む。コンテンツ再生装置2620は、かかるMPDに基づき、ストリーミング再生する符号化データのビットレートを動的に変更することが可能である。
なお、図94にはコンテンツ再生装置2620の一例として携帯端末を示しているが、コンテンツ再生装置2620はかかる例に限定されない。例えば、コンテンツ再生装置2620は、PC(Personal Computer)、家庭用映像処理装置(DVDレコーダ、ビデオデッキなど)、PDA(Personal Digital Assistants)、家庭用ゲーム機器、家電機器などの情報処理装置であってもよい。また、コンテンツ再生装置2620は、携帯電話、PHS(Personal Handyphone System)、携帯用音楽再生装置、携帯用映像処理装置、携帯用ゲーム機器などの情報処理装置であってもよい。
<コンテンツサーバ2610の構成>
以上、図94乃至図96を参照し、コンテンツ再生システムの概要を説明した。続いて、図97を参照し、コンテンツサーバ2610の構成を説明する。
図97は、コンテンツサーバ2610の構成を示した機能ブロック図である。図97に示したように、コンテンツサーバ2610は、ファイル生成部2631と、記憶部2632と、通信部2633とを備える。
ファイル生成部2631は、コンテンツデータを符号化するエンコーダ2641を備え、同一のコンテンツでビットレートが異なる複数の符号化データ、および上述したMPDを生成する。例えば、ファイル生成部2631は、256Kbps、1.024Mbps、1.384Mbps、1.536Mbps、2.048Mbpsの各々の符号化データを生成した場合、図96に示したようなMPDを生成する。
記憶部2632は、ファイル生成部2631により生成されたビットレートが異なる複数の符号化データおよびMPDを記憶する。この記憶部2632は、不揮発性メモリ、磁気ディスク、光ディスク、およびMO(Magneto Optical)ディスクなどの記憶媒体であってもよい。不揮発性メモリとしては、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)、EPROM(Erasable Programmable ROM)があげられる。また、磁気ディスクとしては、ハードディスクおよび円盤型磁性体ディスクなどがあげられる。また、光ディスクとしては、CD(Compact Disc、DVD-R(Digital Versatile Disc Recordable)およびBD(Blu-Ray Disc(登録商標))などがあげられる。
通信部2633は、コンテンツ再生装置2620とのインタフェースであって、ネットワーク2612を介してコンテンツ再生装置2620と通信する。より詳細には、通信部2633は、HTTPに従ってコンテンツ再生装置2620と通信するHTTPサーバとしての機能を有する。例えば、通信部2633は、MPDをコンテンツ再生装置2620に送信し、HTTPに従ってコンテンツ再生装置2620からMPDに基づいて要求された符号化データを記憶部2632から抽出し、HTTPレスポンスとしてコンテンツ再生装置2620に符号化データを送信する。
<コンテンツ再生装置2620の構成>
以上、本実施形態によるコンテンツサーバ2610の構成を説明した。続いて、図98を参照し、コンテンツ再生装置2620の構成を説明する。
図98は、コンテンツ再生装置2620の構成を示した機能ブロック図である。図98に示したように、コンテンツ再生装置2620は、通信部2651と、記憶部2652と、再生部2653と、選択部2654と、現在地取得部2656とを備える。
通信部2651は、コンテンツサーバ2610とのインタフェースであって、コンテンツサーバ2610に対してデータを要求し、コンテンツサーバ2610からデータを取得する。より詳細には、通信部2651は、HTTPに従ってコンテンツ再生装置2620と通信するHTTPクライアントとしての機能を有する。例えば、通信部2651は、HTTP Rangeを利用することにより、コンテンツサーバ2610からMPDや符号化データのセグメントを選択的に取得することができる。
記憶部2652は、コンテンツの再生に関する種々の情報を記憶する。例えば、通信部2651によりコンテンツサーバ2610から取得されるセグメントを順次にバッファリングする。記憶部2652にバッファリングされた符号化データのセグメントは、FIFO(First In First Out)で再生部2653へ順次に供給される。
また記憶部2652は、後述のコンテンツサーバ2611から要求された、MPDに記述されているコンテンツのURLへのパラメータの付加指示に基づき、通信部2651でURLにパラメータを付加して、そのURLへアクセスするための定義を記憶する。
再生部2653は、記憶部2652から供給されるセグメントを順次に再生する。具体的には、再生部2653は、セグメントのデコード、DA変換、およびレンダリングなどを行う。
選択部2654は、MPDに含まれるいずれのビットレートに対応する符号化データのセグメントを取得するかを同一コンテンツ内で順次に選択する。例えば、選択部2654がネットワーク2612の帯域に応じてセグメント「A1」、「B2」、「A3」を順次に選択すると、図95に示したように、通信部2651がコンテンツサーバ2610からセグメント「A1」、「B2」、「A3」を順次に取得する。
現在地取得部2656は、コンテンツ再生装置2620の現在の位置を取得するものであり、例えばGPS(Global Positioning System)受信機などの現在地を取得するモジュールで構成されていても良い。また現在地取得部2656は、無線ネットワークを使用してコンテンツ再生装置2620の現在の位置を取得するものであってもよい。
<コンテンツサーバ2611の構成>
図99は、コンテンツサーバ2611の構成例を示す説明図である。図99に示したように、コンテンツサーバ2611は、記憶部2671と、通信部2672とを備える。
記憶部2671は、MPDのURLの情報を記憶する。MPDのURLの情報は、コンテンツの再生を要求するコンテンツ再生装置2620からの求めに応じ、コンテンツサーバ2611からコンテンツ再生装置2620へ送信される。また記憶部2671は、コンテンツ再生装置2620へのMPDのURLの情報を提供する際に、当該MPDに記述されているURLにコンテンツ再生装置2620でパラメータを付加させる際の定義情報を記憶する。
通信部2672は、コンテンツ再生装置2620とのインタフェースであって、ネットワーク2612を介してコンテンツ再生装置2620と通信する。すなわち通信部2672は、コンテンツの再生を要求するコンテンツ再生装置2620から、MPDのURLの情報の要求を受信し、コンテンツ再生装置2620へMPDのURLの情報を送信する。通信部2672から送信されるMPDのURLには、コンテンツ再生装置2620でパラメータを付加させるための情報が含まれる。
コンテンツ再生装置2620でMPDのURLに付加させるパラメータについては、コンテンツサーバ2611およびコンテンツ再生装置2620で共有する定義情報で様々に設定することが出来る。一例を挙げれば、コンテンツ再生装置2620の現在位置、コンテンツ再生装置2620を使用するユーザのユーザID、コンテンツ再生装置2620のメモリサイズ、コンテンツ再生装置2620のストレージの容量などの情報を、コンテンツ再生装置2620でMPDのURLに付加させることが出来る。
以上のような構成のコンテンツ再生システムにおいて、図1乃至図80を参照して上述したような本技術を適用することにより、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。
すなわち、コンテンツサーバ2610のエンコーダ2641は、上述した実施形態に係る画像符号化装置の機能を有する。また、コンテンツ再生装置2620の再生部2653は、上述した実施形態に係る画像復号装置の機能を有する。それにより、符号化・復号に必要な記憶容量の増大を抑制することができる。
また、コンテンツ再生システムにおいて、本技術により符号化されたデータを送受信することにより、符号化・復号に必要な記憶容量の増大を抑制することができる。
<16.Wi-Fi規格の無線通信システムの応用例>
<Wi-Fi規格の無線通信システムの応用例>
本技術を適用可能な無線通信システムにおける無線通信装置の基本動作例について説明する。
<無線通信装置の基本動作例>
最初に、P2P(Peer to Peer)接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信がなされる。
次に、第2層で接続する前に、使用する特定のアプリケーションを指定してからP2P接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信がなされる。その後、第2層での接続後に、特定のアプリケーションを起動する場合の無線パケット送受信がなされる。
<特定のアプリケーション動作開始時における通信例>
図100および図101は、上述したP2P(Peer to Peer)接続を確立して特定のアプリケーションを動作させるまでの無線パケット送受信の例であり、無線通信の基礎となる各装置による通信処理例を示すシーケンスチャートである。具体的には、Wi-Fi Allianceにおいて標準化されているWi-Fiダイレクト(Direct)規格(Wi-Fi P2Pと呼ばれることもある)での接続に至るダイレクト接続の確立手順の一例を示す。
ここで、Wi-Fiダイレクトでは、複数の無線通信装置が互いの存在を検出する(Device Discovery、Service Discovery)。そして、接続機器選択を行うとその選択された機器間において、WPS(Wi-Fi Protected Setup)で機器認証を行うことによりダイレクト接続を確立する。また、Wi-Fiダイレクトでは、複数の無線通信装置が親機(Group Owner)または子機(Client)の何れとしての役割を担うかを決定して通信グループを形成する。
ただし、この通信処理例では、一部のパケット送受信については省略して示す。例えば、初回接続時には、上述したように、WPSを使うためのパケット交換が必要であり、AuthenticationRequest/Responseのやり取り等においてもパケット交換が必要となる。しかしながら、図100および図101では、これらのパケット交換についての図示を省略し、2回目以降の接続についてのみを示す。
なお、図100および図101では、第1無線通信装置2701および第2無線通信装置2702間における通信処理例を示すが、他の無線通信装置間における通信処理についても同様である。
最初に、第1無線通信装置2701および第2無線通信装置2702間においてDevice Discoveryが行われる(2711)。例えば、第1無線通信装置2701は、Probe request(応答要求信号)を送信し、このProbe requestに対するProbe response(応答信号)を第2無線通信装置2702から受信する。これにより、第1無線通信装置2701および第2無線通信装置2702は、互いの存在を発見することができる。また、Device Discoveryにより、相手のデバイス名や種類(TV、PC、スマートフォン等)を取得することができる。
続いて、第1無線通信装置2701および第2無線通信装置2702間においてService Discoveryが行われる(2712)。例えば、第1無線通信装置2701は、Device Discoveryで発見した第2無線通信装置2702が対応しているサービスを問い合わせるService Discovery Queryを送信する。そして、第1無線通信装置2701は、Service Discovery Responseを第2無線通信装置2702から受信することにより、第2無線通信装置2702が対応しているサービスを取得する。すなわち、Service Discoveryにより、相手が実行可能なサービス等を取得することができる。相手が実行可能なサービスは、例えば、service、protocol(DLNA(Digital Living Network Alliance) DMR(Digital Media Renderer)等)である。
続いて、ユーザにより接続相手の選択操作(接続相手選択操作)が行われる(2713)。この接続相手選択操作は、第1無線通信装置2701および第2無線通信装置2702の何れか一方のみに発生することもある。例えば、第1無線通信装置2701の表示部に接続相手選択画面が表示され、この接続相手選択画面において接続相手として第2無線通信装置2702がユーザ操作により選択される。
ユーザにより接続相手選択操作が行われると(2713)、第1無線通信装置2701および第2無線通信装置2702間においてGroup Owner Negotiationが行われる(2714)。図100および図101では、Group Owner Negotiationの結果により、第1無線通信装置2701がグループオーナー(Group Owner)2715になり、第2無線通信装置2702がクライアント(Client)2716になる例を示す。
続いて、第1無線通信装置2701および第2無線通信装置2702間において、各処理(2717乃至2720)が行われることにより、ダイレクト接続が確立される。すなわち、Association(L2(第2層) link確立)(2717)、Secure link確立(2718)が順次行われる。また、IP Address Assignment(2719)、SSDP(Simple Service Discovery Protocol)等によるL3上でのL4 setup(2720)が順次行われる。なお、L2(layer2)は、第2層(データリンク層)を意味し、L3(layer3)は、第3層(ネットワーク層)を意味し、L4(layer4)は、第4層(トランスポート層)を意味する。
続いて、ユーザにより特定のアプリケーションの指定または起動操作(アプリ指定・起動操作)が行われる(2721)。このアプリ指定・起動操作は、第1無線通信装置2701および第2無線通信装置2702の何れか一方のみに発生することもある。例えば、第1無線通信装置2701の表示部にアプリ指定・起動操作画面が表示され、このアプリ指定・起動操作画面において特定のアプリケーションがユーザ操作により選択される。
ユーザによりアプリ指定・起動操作が行われると(2721)、このアプリ指定・起動操作に対応する特定のアプリケーションが第1無線通信装置2701および第2無線通信装置2702間において実行される(2722)。
ここで、Wi-Fi Direct規格以前の仕様(IEEE802.11で標準化された仕様)の範囲内で、AP(Access Point)−STA(Station)間の接続を行う場合を想定する。この場合には、第2層で接続する前(IEEE802.11用語ではassociation前)には、どのようなデバイスと繋ごうとしているのかを事前に知ることができなかった。
これに対して、図100および図101に示すように、Wi-Fi Directでは、Device discoveryやService Discovery(option)において、接続候補相手を探す際に、接続相手の情報を取得することができる。この接続相手の情報は、例えば、基本的なデバイスのタイプや、対応している特定のアプリケーション等である。そして、その取得された接続相手の情報に基づいて、ユーザに接続相手を選択させることができる。
この仕組みを拡張して、第2層で接続する前に特定のアプリケーションを指定して、接続相手を選択し、この選択後に、自動的に特定のアプリケーションを起動させる無線通信システムを実現することも可能である。このような場合の接続に至るシーケンスの一例を、図103に示す。また、この通信処理において送受信されるフレームフォーマット(frame format)の構成例を図102に示す。
<フレームフォーマットの構成例>
図102は、本技術の基礎となる各装置による通信処理において送受信されるフレームフォーマット(frame format)の構成例を模式的に示す図である。すなわち、図102には、第2層での接続を確立するためのMAC frameの構成例を示す。具体的には、図103に示すシーケンスを実現するためのAssociation Request/Response(2787)のフレームフォーマットの一例である。
図102に示されるように、MAC frameは、Frame Control(2751)乃至FCS(2758)よりなり、その内、Frame Control(2751)からSequence Control(2756)までは、MACヘッダである。また、Association Requestを送信する際には、Frame Control(2751)において、B3B2="0b00"、かつ、B7B6B5B4="0b0000"が設定される。また、Association Responseをencapsulateする際には、Frame Control(2751)において、B3B2="0b00"、かつ、B7B6B5B4="0b0001"が設定される。なお、「0b00」は、2進法で「00」であることを示し、「0b0000」は、2進法で「0000」であることを示し、「0b0001」は、2進法で「0001」であることを示す。
ここで、図100に示すMAC frame(Frame body(2757))は、基本的には、IEEE802.11-2007仕様書section7.2.3.4節と7.2.3.5節に記載のAssociation Request/Responseframe formatである。ただし、IEEE802.11仕様書内で定義されているInformation Element(以下、IEと省略)(2759)だけでなく、独自に拡張したIEを含めている点が異なる。
また、Vendor Specific IE(2760)であることを示すため、IE Type(Information Element ID(2761))には、10進数で127がセットされる。この場合、IEEE802.11−2007仕様7.3.2.26節により、Lengthフィールド(2762)と、OUIフィールド(2763)が続き、この後にvendor specific content(2764)が配置される。
Vendor specific content(2764)の内容としては、最初にvendor specific IEのtypeを示すフィールド(IE type(2765))を設ける。そして、この後に、複数のsubelement(2766)を格納することができる構成とすることが考えられる。
subelement(2766)の内容として、使われるべき特定のアプリケーションの名称(2767)や、その特定のアプリケーション動作時のデバイスの役割(2768)を含めることが考えられる。また、特定のアプリケーション、または、その制御のために使われるポート番号等の情報(L4セットアップのための情報)(2769)や、特定のアプリケーション内でのCapabilityに関する情報(Capability情報)(2770)を含めることが考えられる。ここで、Capability情報は、例えば、指定する特定のアプリケーションがDLNAの場合に、音声送出/再生に対応している、映像送出/再生に対応している等を特定するための情報である。
以上のような構成の無線通信システムにおいて、図1乃至図80を参照して上述したような本技術を適用することにより、図1乃至図80を参照して上述した効果と同様の効果を得ることができる。すなわち、符号化・復号に必要な記憶容量の増大を抑制することができる。また、上述した無線通信システムにおいて、本技術により符号化されたデータを送受信することにより、符号化・復号に必要な記憶容量の増大を抑制することができる。
また、本明細書では、各種情報が、符号化ストリームに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
なお、本技術は以下のような構成も取ることができる。
(1) 複数のレイヤを有する画像の前記複数のレイヤ間の予測であるレイヤ間予測を行う最上位のサブレイヤを決定するレイヤ間予測制御情報に基づいて、前記レイヤ間予測を行うようにして、前記画像を符号化する符号化部
を備える画像処理装置。
(2) 前記符号化部は、カレントレイヤのカレントピクチャが、前記レイヤ間予測制御情報により前記レイヤ間予測を行うように決定されるサブレイヤに属する場合、前記カレントピクチャの画像を、前記レイヤ間予測を用いて符号化する
(1)に記載の画像処理装置。
(3) 前記符号化部は、最下位サブレイヤから前記レイヤ間予測制御情報により決定される最上位のサブレイヤまでのサブレイヤに属するピクチャの画像を、前記レイヤ間予測を用いて符号化する
(2)に記載の画像処理装置。
(4) 前記レイヤ間予測制御情報は、レイヤ毎に設定される
(1)乃至(3)のいずれかに記載の画像処理装置。
(5) 前記レイヤ間予測制御情報は、全レイヤ共通のパラメータとして設定される
(1)乃至(4)のいずれかに記載の画像処理装置。
(6) 前記符号化部により符号化された前記画像の符号化データと、前記レイヤ間予測制御情報とを伝送する伝送部
をさらに備える(1)乃至(5)のいずれかに記載の画像処理装置。
(7) 前記符号化部は、
前記レイヤ間予測制御情報として設定された、前記複数のレイヤ間のピクセル予測であるレイヤ間ピクセル予測を行うかを制御するレイヤ間ピクセル予測制御情報に基づいて前記レイヤ間ピクセル予測を行い、
前記レイヤ間予測制御情報として、前記レイヤ間ピクセル予測制御情報とは独立に設定された、前記複数のレイヤ間のシンタクス予測であるレイヤ間シンタクス予測を行うかを制御するレイヤ間シンタクス予測制御情報に基づいて前記レイヤ間シンタクス予測を行い、
前記伝送部は、前記レイヤ間予測制御情報として、互いに独立に設定された前記レイヤ間ピクセル予測制御情報および前記レイヤ間シンタクス予測制御情報を伝送する
(6)に記載の画像処理装置。
(8) 前記レイヤ間ピクセル予測制御情報は、前記レイヤ間ピクセル予測を行うかを、前記サブレイヤを用いて制御し、
前記符号化部は、前記レイヤ間ピクセル予測制御情報により指定されるサブレイヤのみ前記レイヤ間ピクセル予測を行い、
前記レイヤ間シンタクス予測制御情報は、前記レイヤ間シンタクス予測を行うかを、ピクチャ若しくはスライス毎に制御し、
前記符号化部は、前記レイヤ間シンタクス予測制御情報により指定されるピクチャ若しくはスライスのみ前記レイヤ間シンタクス予測を行う
(7)に記載の画像処理装置。
(9) 前記伝送部は、前記レイヤ間ピクセル予測制御情報を、ナルユニット(nal_unit)、ビデオパラメータセット(VPS(Video Parameter Set))、若しくは、拡張ビデオパラメータセット(vps_extension)として伝送する
(8)に記載の画像処理装置。
(10) 前記伝送部は、前記レイヤ間シンタクス予測制御情報を、ナルユニット(nal_unit)、ピクチャパラメータセット(PPS(Picture Parameter Set))、若しくは、スライスヘッダ(SliceHeader)として伝送する
(8)または(9)に記載の画像処理装置。
(11) 複数のレイヤを有する画像の前記複数のレイヤ間の予測であるレイヤ間予測を行う最上位のサブレイヤを決定するレイヤ間予測制御情報に基づいて、前記レイヤ間予測を行うようにして、前記画像を符号化する
画像処理方法。
(12) コンピュータを、
複数のレイヤを有する画像の前記複数のレイヤ間の予測であるレイヤ間予測を行う最上位のサブレイヤを決定するレイヤ間予測制御情報に基づいて、前記レイヤ間予測を行うようにして、前記画像を符号化する符号化部
として機能させるプログラムを記録したコンピュータが読み取り可能な記録媒体。
(13) コンピュータを、
複数のレイヤを有する画像の前記複数のレイヤ間の予測であるレイヤ間予測を行う最上位のサブレイヤを決定するレイヤ間予測制御情報に基づいて、前記レイヤ間予測を行うようにして、前記画像を符号化する符号化部
として機能させるプログラム。