図1〜図18に基づいて、本発明の一実施形態に係る階層動画像復号装置1、階層動画像符号化装置2、符号化データ変換装置3、および、領域再生装置4を説明すれば以下のとおりである。
〔概要〕
本実施の形態に係る階層動画像復号装置(画像復号装置)1は、階層符号化データ(符号化データ)を復号して、復号ピクチャを生成する。階層符号化データは、階層動画像符号化装置(画像符号化装置)2により階層映像を符号化して生成される。階層映像とは、品質の異なる複数の動画像を集合である。ここでいう動画像の品質とは、主観的および客観的な動画像の見栄えに影響する要素のことを広く意味する。動画像の品質には、例えば、“解像度”、“フレームレート”、“画質”、および、“画素の表現精度”が含まれる。よって、以下、動画像の品質が異なるといえば、例示的には、“解像度”等が異なることを指すが、これに限られない。例えば、異なる量子化ステップで量子化された動画像の場合(すなわち、異なる符号化雑音により符号化された動画像の場合)も互いに動画像の品質が異なるといえる。
階層符号化技術は、階層化される情報の種類の観点から、(1)空間スケーラビリティ、(2)時間スケーラビリティ、(3)SNR(Signal to Noise Ratio)スケーラビリティ、および(4)ビュースケーラビリティに分類されることもある。空間スケーラビリティとは、解像度や画像のサイズにおいて階層化する技術である。時間スケーラビリティとは、フレームレート(単位時間のフレーム数)において階層化する技術である。SNRスケーラビリティは、符号化雑音において階層化する技術である。また、ビュースケーラビリティは、各画像に対応付けられた視点位置において階層化する技術である。
また、本実施の形態に係る符号化データ変換装置3は、階層動画像符号化装置2によって符号化された階層符号化データを変換し、所定の注目領域に関する階層符号化データ(注目領域符号化データ)を生成する。注目領域符号化データは、階層動画像復号装置1で復号できる。
また、本実施の形態に係る領域再生装置4は、階層符号化データを復号することで階層動画像復号装置1により生成された複数の復号ピクチャを適切に配置し、注目領域に対応する画像(注目領域画像)として再生できる。
なお、本実施の形態に係る符号化データ変換装置3は、階層動画像符号化装置2によって符号化された階層符号化データを蓄積し、所定の注目領域に関する階層符号化データ(注目領域符号化データ)を送出する「符号化データ蓄積送出装置」とみなすこともできる。すなわち、階層符号化データの変換とは、例えば、階層符号化データに含まれる一部パラメータや符号を書き替えるのではなく、一連の階層符号化データの一部を切り出して送出することに相当する。また、階層符号化データが1つの直列的なデータとして蓄積されているのではなく、複数のレイヤが独立にアクセス可能なように蓄積されている場合には、符号化データ変換装置3は、注目領域に対応する特定のレイヤを読み出して、送出する処理に相当する。すなわち、符号化データ変換装置3は、特定のレイヤおよびレイヤ群を読み出して送出する「符号化データレイヤ抽出装置」とみなすこともできる。
〔レイヤによる注目領域表現〕
本発明は、概略的には、画像の部分領域毎に対応するレイヤを設定することで、注目領域符号化データの生成時の処理を軽減して前述の課題を解決する。そこで、始めに、図1を参照して、本発明により実現される画像の部分領域とレイヤの関係について説明する。
図1(a)は、高品位映像と低品位映像の2つの映像を含む階層映像を構成する画像(高品位画像および低品位画像)における全体領域と部分領域の関係を例示している。高品位画像の全体が、高品位画像の全体領域(ERAll)であり、高品位画像の全体領域には、高品位画像の部分領域(ER00、ER01、ER10、ER11)が含まれている。一方、低品位画像の全体が、低品位画像の全体領域(BRAll)であり、低品位画像の全体領域には、低品位画像の部分領域(BR00)が含まれている。部分領域の形状や数はあくまで例であり、矩形以外の形状であってもよいし、高品位画像に4以外の数の部分領域を含んでいてもよいし、低品位画像に1以外の数の部分領域を含んでいてもよい。
図2は、本発明における全体領域と部分領域の関係を例示する別の例である。高品位画像には、高品位画像の部分領域(ER4、ER5、ER6)が含まれている。ER5は、ER4に含まれ、ER6とER4に重なりがあり、ER6の左上座標および右下座標は、ER4と合致していない。また、ER4、ER5、ER6のサイズは互いに異なり、noneと示す領域は高品位画像の符号化データが存在しない。本発明は、このようなタイルでは表現できない、重なり、互いに異なる開始・終了位置、互いに異なるサイズ、存在しない領域などを実現することができる。また、本図では図示しないが、低品位画像と高品位画像の拡大比やビットデプスなどが高品位画像の領域間で異なっていても良い。
図1(b)は、本発明の階層動画像符号化装置2により階層映像を符号化することで生成できる符号化データ(階層符号化データ)と部分符号化データを例示している。符号化データBSは、低品位映像の全体領域に相当する部分符号化データBBSと、高品位映像の全体領域に相当する部分符号化データEBSを含んでいる。部分符号化データBBSは、低品位映像の各部分領域に相当する部分符号化データBBS00を含んでいる。部分符号化データBBS00には、「0(LID=0)」のレイヤ識別子が付与されている。部分符号化データEBSは、高品位映像の各部分領域に相当する部分符号化データ(EBS00、EBS01、EBS10、EBS11)が含まれている。部分符号化データEBS00、EBS01、EBS10、EBS11には、順に、「1(LID=1)」、「2(LID=2)」、「3(LID=3)」、「4(LID=4)」のレイヤ識別子が付与されている。
図1(c)は、図1(b)で説明した符号化データの一部を本発明による符号化データ変換装置3により抽出して構成される符号化データと、該符号化データを本発明による領域再生装置4で再生した場合の再生画像として表示される領域が対応する図1(a)で説明した入力階層映像の領域との対応関係を示している。なお、領域再生装置4は、本発明による階層動画像復号装置1を内部に備えている。例えば、「0(LID=0)」のレイヤ識別子の部分符号化データを抽出した符号化データ(BBS00)を入力とした場合に再生される領域(出力領域)は、低品位画像の全体領域(BRAll)となる。また、例えば、「0〜4(LID=0〜4)」のレイヤ識別子の部分符号化データ(BBS00、EBS00、EBS01、EBS10、EBS11)を入力とした場合の出力領域は、高品位画像の全体領域(ERAll)となる。また、例えば、「0、2、4(LID=0、2、4)」のレイヤ識別子の部分符号化データを抽出した符号化データ(BBS00、EBS01、EBS11)を入力とした場合の出力領域は高品位画像の部分領域(ER01とER11)となる。
以上、図1を参照して、概略的に説明したように、本発明による階層動画像復号装置1、階層動画像符号化装置2、符号化データ変換装置3、および、領域再生装置4を用いることで、階層映像を復号して階層符号化データを生成し、該階層符号化データを変換して注目領域に相当する階層符号化データを生成できる。その後、変換により生成した(一部レイヤおよびレイヤ群を抽出して送出された)階層符号化データを復号して再生することで、注目領域に相当する領域の画像を再生できる。その際、符号化データから注目領域に対応するレイヤ識別子を有する部分符号化データを抽出する処理により変換が実行できるため、スライスヘッダを書き換が不要な軽量な処理により変換が実行できる。
以降、本実施形態に係る階層動画像復号装置1、階層動画像符号化装置2、階層符号化データ変換装置3、および、領域再生装置4の詳細に説明するが、まず、先立って、階層動画像符号化装置2または階層符号化データ変換装置3によって生成され、階層動画像復号装置1によって復号される階層符号化データの構造を説明する。
〔階層符号化データのレイヤ構造〕
まず、図3を用いて、階層符号化データの符号化および復号について説明する。図3は、動画像を、下位階層L3、中位階層L2、および上位階層L1の3階層により階層的に符号化/復号する場合について模式的に表す図である。つまり、図3(a)および(b)に示す例では、3階層のうち、上位階層L1が最上位層となり、下位階層L3が最下位層となる。
以下では、階層符号化データから復号され得る特定の品質に対応する復号画像は、特定の階層の復号画像(または、特定の階層に対応する復号画像)と称される(例えば、上位階層L1の復号画像POUT#A)。
図3(a)は、入力画像PIN#A〜PIN#Cをそれぞれ階層的に符号化して符号化データDATA#A〜DATA#Cを生成する階層動画像符号化装置2#A〜2#Cを示している。図3(b)は、階層的に符号化された符号化データDATA#A〜DATA#Cをそれぞれ復号して復号画像POUT#A〜POUT#Cを生成する階層動画像復号装置1#A〜1#Cを示している。
まず、図3(a)を用いて、符号化装置側について説明する。符号化装置側の入力となる入力画像PIN#A、PIN#B、およびPIN#Cは、原画は同じだが、画像の品質(解像度、フレームレート、および画質等)が異なる。画像の品質は、入力画像PIN#A、PIN#B、およびPIN#Cの順に低くなる。
下位階層L3の階層動画像符号化装置2#Cは、下位階層L3の入力画像PIN#Cを符号化して下位階層L3の符号化データDATA#Cを生成する。下位階層L3の復号画像POUT#Cを復号するのに必要な基本情報が含まれる(図3において“C”にて示している)。下位階層L3は、最下層の階層であるため、下位階層L3の符号化データDATA#Cは、基本符号化データとも称される。
また、中位階層L2の階層動画像符号化装置2#Bは、中位階層L2の入力画像PIN#Bを、下位階層の符号化データDATA#Cを参照しながら符号化して中位階層L2の符号化データDATA#Bを生成する。中位階層L2の符号化データDATA#Bには、符号化データDATA#Cに含まれる基本情報“C”に加えて、中位階層の復号画像POUT#Bを復号するのに必要な付加的情報(図3において“B”にて示している)が含まれる。
また、上位階層L1の階層動画像符号化装置2#Aは、上位階層L1の入力画像PIN#Aを、中位階層L2の符号化データDATA#Bを参照しながら符号化して上位階層L1の符号化データDATA#Aを生成する。上位階層L1の符号化データDATA#Aには、下位階層L3の復号画像POUT#Cを復号するのに必要な基本情報“C”および中位階層L2の復号画像POUT#Bを復号するのに必要な付加的情報“B”に加えて、上位階層の復号画像POUT#Aを復号するのに必要な付加的情報(図3において“A”にて示している)が含まれる。
このように上位階層L1の符号化データDATA#Aは、異なる複数の品質の復号画像に関する情報を含む。
次に、図3(b)を参照しながら復号装置側について説明する。復号装置側では、上位階層L1、中位階層L2、および下位階層L3それぞれの階層に応じた復号装置1#A、1#B、および1#Cが、符号化データDATA#A、DATA#B、およびDATA#Cを復号して復号画像POUT#A、POUT#B、およびPOUT#Cを出力する。
なお、上位の階層符号化データの一部の情報を抽出して、より下位の特定の復号装置において、当該抽出した情報を復号することで特定の品質の動画像を再生することもできる。
例えば、中位階層L2の階層復号装置1#Bは、上位階層L1の階層符号化データDATA#Aから、復号画像POUT#Bを復号するのに必要な情報(すなわち、階層符号化データDATA#Aに含まれる“B”および“C”)を抽出して、復号画像POUT#Bを復号してもよい。言い換えれば、復号装置側では、上位階層L1の階層符号化データDATA#Aに含まれる情報に基づいて、復号画像POUT#A、POUT#B、およびPOUT#Cを復号できる。
なお、以上の3階層の階層符号化データに限られず、階層符号化データは、2階層で階層符号化されていてもよいし、3階層よりも多い階層数にて階層符号化されていてもよい。
また、特定の階層の復号画像に関する符号化データの一部または全部を他の階層とは独立して符号化し、特定の階層の復号の際に、他の階層の情報を参照しなくても済むように階層符号化データを構成してもよい。例えば、図3(a)および(b)を用いて上述した例では、復号画像POUT#Bの復号に“C”および“B”を参照すると説明したが、これに限られない。復号画像POUT#Bが“B”だけを用いて復号できるように階層符号化データを構成することも可能である。例えば、復号画像POUT#Bの復号に、“B”だけから構成される階層符号化データと、復号画像POUT#Cを入力とする階層動画像復号装置も構成できる。
なお、SNRスケーラビリティを実現する場合、入力画像PIN#A、PIN#B、およびPIN#Cとして同一の原画を用いた上で、復号画像POUT#A、POUT#B、およびPOUT#Cが異なる画質となるよう階層符号化データを生成することもできる。その場合、下位階層の階層動画像符号化装置が、上位階層の階層動画像符号化装置に較べて、より大きい量子化幅を用いて予測残差を量子化することで階層符号化データを生成する。
本書では、説明の便宜上、次のとおり用語を定義する。以下の用語は、特に断りがなければ、下記の技術的事項のことを表わすのに用いる。
上位レイヤ : ある階層よりも上位に位置する階層のことを、上位レイヤと称する。例えば、図3において、下位階層L3の上位レイヤは、中位階層L2および上位階層L1である。
下位レイヤ : ある階層よりも下位に位置する階層のことを、下位レイヤと称する。例えば、図3において、上位階層L1の下位レイヤは、中位階層L2および下位階層L3である。
対象レイヤ : 復号または符号化の対象となっている階層のことをいう。
参照レイヤ(reference layer) : 対象レイヤに対応する復号画像を復号するのに参照される特定の下位レイヤのことを参照レイヤと称する。
図3(a)および(b)に示した例では、上位階層L1の参照レイヤは、中位階層L2および下位階層L3である。しかしながら、これに限られず、特定の上記レイヤの復号において、下位レイヤのすべてを参照しなくてもよいように階層符号化データを構成することもできる。例えば、上位階層L1の参照レイヤが、中位階層L2および下位階層L3のいずれか一方となるように階層符号化データを構成することも可能である。
基本レイヤ(base layer;ベースレイヤ) : 最下層に位置する階層のことを基本レイヤと称する。基本レイヤの復号画像は、符号化データから復号され得るもっとも低い品質の復号画像であり、基本復号画像(ベース復号画像)と呼称される。基本復号画像の復号に必要な階層符号化データの部分符号化データは基本符号化データと呼称される。例えば、上位階層L1の階層符号化データDATA#Aに含まれる基本情報“C”が基本符号化データである。
拡張レイヤ : 基本レイヤの上位レイヤは、拡張レイヤと称される。
レイヤ識別子 : レイヤ識別子は、階層を識別するためのものであり、階層と1対1に対応する。階層符号化データには特定の階層の復号画像の復号に必要な部分符号化データの選択に用いられる階層識別子が含まれる。特定のレイヤに対応するレイヤ識別子に関連付けられた階層符号化データの部分集合は、レイヤ表現(レイヤセット)とも呼称される。
一般に、特定の階層の復号画像の復号には、当該階層のレイヤ表現、および/または、当該階層の下位レイヤに対応するレイヤ表現が用いられる。すなわち、対象レイヤの復号画像の復号においては、対象レイヤのレイヤ表現、および/または、対象レイヤの下位レイヤに含まれる1つ以上階層のレイヤ表現が用いられる。
レイヤ間予測 : レイヤ間予測とは、対象レイヤのレイヤ表現と異なる階層(参照レイヤ)のレイヤ表現に含まれるシンタックス要素値、シンタックス要素値より導出される値、および復号画像に基づいて、対象レイヤのシンタックス要素値や対象レイヤの復号に用いられる符号化パラメータ等を予測することである。動き予測に関する情報を参照レイヤの情報から予測するレイヤ間予測のことを動き情報予測と称することもある。また、下位レイヤの復号画像から予測するレイヤ間予測のことをレイヤ間画像予測(あるいはレイヤ間テクスチャ予測)と称することもある。なお、レイヤ間予測に用いられる階層は、例示的には、対象レイヤの下位レイヤである。また、参照レイヤを用いず対象レイヤ内で予測を行うことをレイヤ内予測と称することもある。
なお、以上の用語は、飽くまで説明の便宜上のものであり、上記の技術的事項を別の用語にて表現してもかまわない。
〔階層符号化データのデータ構造について〕
以下、各階層の符号化データを生成する符号化方式として、HEVCおよびその拡張方式を用いる場合について例示する。しかしながら、これに限られず、各階層の符号化データを、MPEG-2や、H.264/AVCなどの符号化方式により生成してもよい。
また、下位レイヤと上位レイヤとが異なる符号化方式によって符号化されていてもよい。また、各階層の符号化データは、互いに異なる伝送路を介して階層動画像復号装置1に供給されてもよいし、同一の伝送路を介して階層動画像復号装置1に供給されてもよい。
例えば、超高精細映像(動画像、4K映像データ)を基本レイヤおよび1つの拡張レイヤによりスケーラブル符号化して伝送する場合、基本レイヤは、4K映像データをダウンスケーリングし、インタレース化した映像データをMPEG-2またはH.264/AVCにより符号化してテレビ放送網で伝送し、拡張レイヤは、4K映像(プログレッシブ)をHEVCにより符号化して、インターネットで伝送してもよい。
(基本レイヤ)
図4は、基本レイヤで採用できる符号化データ(図3の例でいえば、階層符号化データDATA#C)のデータ構造を例示する図である。階層符号化データDATA#Cは、例示的に、シーケンス、およびシーケンスを構成する複数のピクチャを含む。
階層符号化データDATA#Cにおけるデータの階層構造を図4に示す。図4の(a)〜(c)は、それぞれ、シーケンスSEQを規定するシーケンスレイヤ、ピクチャPICTを規定するピクチャレイヤ、スライスSを規定するスライスレイヤ、符号化ツリーユニット(Coding Tree Unit;CTU)を規定するCTUレイヤを示す図である。
(シーケンスレイヤ)
シーケンスレイヤでは、処理対象のシーケンスSEQ(以下、対象シーケンスとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。シーケンスSEQは、図4の(a)に示すように、ビデオパラメータセットVPS(Video Parameter Set)、シーケンスパラメータセットSPS(Sequence Parameter Set)、ピクチャパラメータセットPPS(Picture Parameter Set)、ピクチャPICT1〜PICTNP(NPはシーケンスSEQに含まれるピクチャの総数)、及び、付加拡張情報SEI(Supplemental Enhancement Information)を含んでいる。
ビデオパラメータセットVPSでは、符号化データに含まれるレイヤ数、レイヤ間の依存関係が規定されている。
シーケンスパラメータセットSPSでは、対象シーケンスを復号するために階層動画像復号装置1が参照する符号化パラメータの集合が規定されている。SPSは符号化データ内に複数存在してもよい。その場合、対象シーケンス毎に復号に用いられるSPSが複数の候補から選択される。特定シーケンスの復号に使用されるSPSは、アクティブSPSとも呼ばれる。以下では、特に断りがなければ、対象シーケンスに対するアクティブSPSを意味する。
ピクチャパラメータセットPPSでは、対象シーケンス内の各ピクチャを復号するために階層動画像復号装置1が参照する符号化パラメータの集合が規定されている。なお、PPSは符号化データ内に複数存在してもよい。その場合、対象シーケンス内の各ピクチャから複数のPPSの何れかを選択する。特定ピクチャの復号に使用されるPPSはアクティブPPSとも呼ばれる。以下では、特に断りがなければ、PPSは対象ピクチャに対するアクティブPPSを意味する。
なお、アクティブSPSおよびアクティブPPSは、レイヤ毎に異なるSPSやPPSに設定してもよい。
(ピクチャレイヤ)
ピクチャレイヤでは、処理対象のピクチャPICT(以下、対象ピクチャとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICTは、図4の(b)に示すように、スライスヘッダSH1〜SHNS、及び、スライスS1〜SNSを含んでいる(NSはピクチャPICTに含まれるスライスの総数)。
なお、以下、スライスヘッダSH1〜SHNSやスライスS1〜SNSのそれぞれを区別する必要が無い場合、符号の添え字を省略して記述することがある。また、以下に説明する階層符号化データDATA#Cに含まれるデータであって、添え字を付している他のデータも同様である。
スライスヘッダSHkには、対応するスライスSkの復号方法を決定するために階層動画像復号装置1が参照する符号化パラメータ群が含まれている。例えば、SPSを指定するSPS識別子(seq_parameter_set_id)や、PPSを指定するPPS識別子(pic_parameter_set_id)が含まれる。
(スライスレイヤ)
スライスレイヤでは、処理対象のスライスS(対象スライスとも称する)を復号するために階層動画像復号装置1が参照するデータの集合が規定されている。スライスSは、図4の(c)に示すように、符号化ツリーユニットCTU1〜CTUNC(NCはスライスSに含まれるCTUの総数)を含んでいる。
(拡張レイヤ)
拡張レイヤのレイヤ表現に含まれる符号化データ(以下、拡張レイヤ符号化データ)についても、例えば、図4に示すデータ構造とほぼ同様のデータ構造を採用できる。
一般に、階層動画像符号化データには、基本レイヤと複数の拡張レイヤにそれぞれ対応する符号化データがインタリーブされて含まれている。図5は、階層符号化データが複数レイヤに対応する符号化データを含む場合のデータ構造を例示する図である。
シーケンスレイヤでは、処理対象のシーケンスSEQ_MLを復号するために階層動画像復号装置1が参照するデータの集合が規定されている。シーケンスSEQ_MLは、図5の(a)に示すように、VPS、SPS、PPS、ピクチャPICT_ML1〜PICT_MLNP(NPはシーケンスSEQ_MLに含まれる特定レイヤのピクチャの総数)、及び、SEIを含む。PICT_ML以外の各要素は図4(a)を参照して説明した要素と同一であるが、必要に応じて、付加的な情報を追加したり、パラメータを省略する場合もある。
ピクチャPICT_MLは、特定タイミングにおける各レイヤに対応するピクチャPICTを復号するために階層動画像復号装置1が参照するデータの集合が規定されている。ピクチャPICT_MLは、図5(b)に示すように、ピクチャPICTL1〜PICTLNLを含んでいる(NLは階層符号化データに含まれるレイヤの総数)。例えば、ピクチャPICTL1は、レイヤL1に対応するピクチャに対応する符号化データである。なお、ピクチャPICTL1は、図4(c)で説明したピクチャPICTと同様のデータであり、スライスヘッダやスライスデータが含まれる。レイヤL1以外についても同様の定義が適用される。
拡張レイヤ符号化データでは、以下のとおり、付加的な情報を追加したり、パラメータを省略できる。
スライスレイヤでは、空間スケーラビリティ、時間スケーラビリティ、および、SNRスケーラビリティ、ビュースケーラビリティの階層の識別情報(それぞれ、dependency_id、temporal_id、quality_id、および、view_id)が符号化されていてもよい。
拡張レイヤ符号化データでは、VPSが拡張されて、レイヤ間の参照構造を表すパラメータが含まれていてもよい。
なお、以上に説明したパラメータは、単独で符号化されていてもよいし、複数のパラメータが複合的に符号化されていてもよい。複数のパラメータが複合的に符号化される場合は、そのパラメータの値の組み合わせに対してインデックスが割り当てられ、割り当てられた当該インデックスが符号化される。また、パラメータが、別のパラメータや、復号済みの情報から導出可能であれば、当該パラメータの符号化を省略できる。
〔階層動画像復号装置〕
以下では、本実施形態に係る階層動画像復号装置1の構成について、図1〜図13を参照して説明する。
(階層動画像復号装置の構成)
図6を用いて、階層動画像復号装置1の概略的構成を説明すると次のとおりである。図6は、階層動画像復号装置1の概略的構成を示した機能ブロック図である。階層動画像復号装置1は、階層符号化データを復号して、対象レイヤの復号ピクチャを生成して出力する。加えて、階層動画像復号装置1は、階層符号化データを復号して得られるレイヤ位置情報を出力する。
なお、以下では、対象レイヤは基本レイヤを参照レイヤとする拡張レイヤであるとして説明する。そのため、対象レイヤは、参照レイヤに対する上位レイヤでもある。逆に、参照レイヤは、対象レイヤに対する下位レイヤでもある。
図6に示すように階層動画像復号装置1は、NAL逆多重化部11、PS復号部12、スライス復号部14、復号ピクチャ管理部16を含む。PS復号部12は、内部にレイヤ位置復号部121を含む。
NAL逆多重化部11は、NAL(Network Abstraction Layer)におけるNALユニット単位で伝送される階層符号化データを逆多重化する。
NALは、VCL(Video Coding Layer;ビデオ符号化レイヤ)と、符号化データを伝送・蓄積する下位システムとの間における通信を抽象化するために設けられる層である。
VCLは、動画像符号化処理を行う層のことであり、VCLにおいて符号化が行われる。一方、ここでいう、下位システムは、H.264/AVCおよびHEVCのファイルフォーマットや、MPEG-2システムに対応する。
なお、NALでは、VCLで生成されたビットストリームが、NALユニット(NAL Unit;NALU)という単位で区切られて、宛先となる下位システムへ伝送される。NALUには、VCLで符号化された符号化データ、および、当該符号化データが宛先の下位システムに適切に届けられるためのヘッダが含まれる。また、各階層における符号化データは、NALUに格納されることでNAL多重化されて階層動画像復号装置1に伝送される。
階層符号化データには、VCLで生成されたNALU(VCL NALU)の他に、パラメータセット(VPS、SPS、PPS)やSEI等を含むNALUが含まれる。それらのNALUはVCL NALUに対して非VCL NALUと呼ばれる。
NAL逆多重化部11は、階層符号化データを逆多重化して、VCL NALUと非VCL NALUを抽出する。そして、非VCL NALUをPS復号部12に、VCL NALUをスライス復号部14にそれぞれ供給する。
PS復号部12は、入力される非VCL NALUからパラメータセットおよびSEIを復号してスライス復号部14に供給する。PS復号部12で復号される情報には、復号ピクチャのサイズ情報やレイヤ間画素対応情報が含まれる。また、PS復号部12は、非VCL NALUにレイヤ位置情報に係るデータが含まれる場合、内部のレイヤ位置復号部121において当該データからレイヤ位置情報を復号して外部に出力する。なお、レイヤ間画素対応情報、および、レイヤ位置復号部121の詳細については後述する。
スライス復号部14は、入力されるVCL NALU、パラメータセット、および、参照ピクチャに基づいて復号ピクチャを生成して復号ピクチャ管理部16内のバッファに記録する。
復号ピクチャ管理部16は、入力される復号ピクチャを内部の復号ピクチャバッファ(DPB: Decoded Picture Buffer)に記録するとともに、参照ピクチャリスト生成や出力ピクチャ決定を行う。また、復号ピクチャ管理部16は、DPBに記録されている復号ピクチャを、所定のタイミングで出力ピクチャPOUT#Tとして外部に出力する。
(レイヤ間画素対応情報)
PS復号部12で復号されるレイヤ間画素対応情報の詳細を説明する。レイヤ間画素対応情報は、例えば、上位レイヤのSPSの一部であるSPS拡張(sps_estension)に含まれており、図7に示すシンタックス表に従って復号される。図7は、PS復号部12がSPS復号時に参照するシンタックス表の一部であって、レイヤ間画素対応情報に係る部分である。
SPSから復号されるレイヤ間画素対応情報には、SPS拡張に含まれるレイヤ間画素対応情報の個数(num_scaled_ref_layer_offsets)が含まれる。加えて、レイヤ間画素対応情報には、前記レイヤ間画素対応情報の個数分のレイヤ間画素対応オフセットが含まれる。レイヤ間画素対応オフセットには、拡大参照レイヤ左オフセット(scaled_ref_layer_left_offset[i])、拡大参照レイヤ上オフセット(scaled_ref_layer_top_offset[i])、拡大参照レイヤ右オフセット(scaled_ref_layer_right_offset[i])、および、拡大参照レイヤ下オフセット(scaled_ref_layer_bottom_offset[i])が含まれる。レイヤ間画素対応オフセットは、拡大参照レイヤオフセットとも呼ばれる。
レイヤ間画素対応オフセットに含まれる各オフセットの意味を、図8を参照して説明する。図8は、対象レイヤのピクチャ、参照レイヤのピクチャ、および、レイヤ間画素対応オフセットの関係を例示する図である。
図8(a)は、参照レイヤのピクチャ全体が対象レイヤのピクチャの一部に対応する場合の例を示す。この場合、参照レイヤピクチャ全体に対応する対象レイヤ上の領域(対象レイヤ対応領域)は、対象レイヤピクチャの内部に含まれている。図8(b)は、参照レイヤのピクチャの一部が対象レイヤのピクチャ全体に対応する場合の例を示す。この場合、参照レイヤ対応領域の内部に対象レイヤピクチャが含まれている。なお、対象レイヤピクチャ全体にオフセットが含まれている。
図8に示したように、拡大参照レイヤ左オフセット(図ではSRL左オフセット)は、参照レイヤ対応領域左辺の対象レイヤピクチャ左辺に対するオフセットを表わす。なお、SRL左オフセットが0より大きい場合、参照レイヤ対応領域左辺が対象レイヤピクチャ左辺の右側に位置することを表わす。
拡大参照レイヤ上オフセット(図ではSRL上オフセット)は、参照レイヤ対応領域上辺の対象レイヤピクチャ上辺に対するオフセットを表わす。なお、SRL上オフセットが0より大きい場合、参照レイヤ対応領域上辺が対象レイヤピクチャ上辺の下側に位置することを表わす。
拡大参照レイヤ右オフセット(図ではSRL右オフセット)は、参照レイヤ対応領域右辺の対象レイヤピクチャ右辺に対するオフセットを表わす。なお、SRL右オフセットが0より大きい場合、参照レイヤ対応領域右辺が対象レイヤピクチャ右辺の左側に位置することを表わす。
拡大参照レイヤ下オフセット(図ではSRL下オフセット)は、参照レイヤ対応領域下辺の対象レイヤピクチャ下辺に対するオフセットを表わす。なお、SRL下オフセットが0より大きい場合、参照レイヤ対応領域下辺が対象レイヤピクチャ下辺の上側に位置することを表わす。
(レイヤによる部分領域表現時のレイヤ間画素対応情報)
ここで、レイヤ毎に対応する部分領域が存在する場合に復号されるレイヤ間画素対応情報について説明する。以下では、説明の簡単のため、図1を参照して説明したようなレイヤと部分領域の対応関係が用いられる場合を例に挙げるが、他のレイヤと部分領域の対応関係が用いられる場合にも適用可能である。
図9は、特定の部分領域に対応する各レイヤのSPSから復号されるレイヤ間画素対応情報(レイヤ間画素対応オフセット)を例示している。図9(a)は、レイヤ0(LID=0)の復号ピクチャである低品位画像BR00をレイヤ間参照ピクチャとして、レイヤ1(LID=1)の復号ピクチャである高品位画像の部分領域ER00を復号する場合のレイヤ間画素対応情報を図示している。この場合、高品位画像の全領域の幅をERAllW、高さをERAllHとする場合、拡大参照レイヤ右オフセット(図中でSRLRO)の値は「-ERAllW÷2」に、拡大参照レイヤ下オフセット(図中でSRLBO)の値は「-ERAllH÷2」に設定されている。拡大参照レイヤ上オフセット(SRLTO)と拡大参照レイヤ左オフセット(SRLLO)の値は共に0に設定されている。同様に、図9(b)、(c)、(d)は、それぞれ、レイヤ2(LID=2)、レイヤ3(LID=3)、レイヤ4(LID=4)の復号ピクチャである高品位画像の部分領域を復号する場合のレイヤ間画素対応情報を図示している。
上記の図9を参照して説明したレイヤ間画素対応情報について、次のように表現することもできる。すなわち、共通の参照レイヤを有する複数の異なるレイヤに対して、それぞれ互いに異なるレイヤ間画素対応オフセットが設定されている。ここで、異なるレイヤ間画素対応オフセットとは、レイヤ間画素対応オフセットを構成するパラメータ(拡大参照レイヤ左オフセット、拡大参照レイヤ上オフセット、拡大参照レイヤ右オフセット、拡大参照レイヤ下オフセット)のうち少なくとも一つのパラメータが異なる値を有することを意味する。したがって、特定のレイヤを抽出して生成される階層符号化データから高品位映像内の異なる部分領域の映像を復号できる。
なお、図1の例のように、高品位画像の全体領域を重複なく複数の分割領域に分けて、各分割領域をレイヤに対応付けて符号化する場合には、拡大参照レイヤピクチャ(SRL Pic)上で対象ピクチャ(EL Pic)の重複がないようにレイヤ間画素対応オフセットを設定する必要がある。
(レイヤ位置情報復号処理)
レイヤ位置復号部121におけるレイヤ位置情報復号処理について、図10を参照して説明する。図10は、VPSに含まれるレイヤ位置情報の復号時に参照されるシンタックス構造(layer_position())を表すテーブルを示している。レイヤ位置復号部121は、シンタックス構造に従って、レイヤ位置情報、すなわち、下記E1、E2、E3a、E3bの情報をVPSから復号する。
E1:レイヤ位置存否フラグ(layer_position_present_flag)・・・他のレイヤ位置情報のビットストリーム中での存否を示すフラグであって、値が真(1)の場合には存在することを、偽(0)の場合は存在しないことを表す。レイヤ位置存否フラグの値は、1ビットのフラグ(u(1))を復号して得られる。レイヤ位置存否フラグは、レイヤ位置情報として必須ではないが、レイヤ位置存否フラグを用いることでレイヤ位置情報が不要な場合の符号量を削減できる。
E2:レイヤグループ識別子(layer_group_idx)・・・レイヤが属するレイヤグループの識別子を表す。レイヤグループ識別子はレイヤ識別子毎に復号され、レイヤ識別子iに対応するシンタックスの値はlayer_group_idx[i]と表現される。なお、図10では、1からMaxLayersMinus1の範囲のレイヤ識別子iについて、レイヤグループ識別子を復号している。ここで、MaxLayersMinus1は、最大レイヤ数から1を減算した値である。同一のレイヤグループに対応付けられたレイヤは、共通の画面の部分領域に対応する。例えば、図1で説明した例の場合、共通の画面(高品位画像の全体領域)の部分領域に対応する符号化データEBS、つまり、レイヤ識別子1、2、3、および4に対して同一のレイヤグループ識別子が設定される。レイヤグループ識別子の値は、HEVCでも用いられる非負整数指数ゴロム符号(ue(v))を復号して得られる。
E3a:レイヤ水平位置識別子(layer_horz_pos_idx)・・・レイヤ識別子の示すレイヤの符号化データを復号して得られる復号ピクチャの、レイヤグループ識別子に対応する共通の画面内での水平方向の相対位置を表す識別子である。レイヤ水平位置識別子はレイヤ識別子毎に復号され、レイヤ識別子iに対応するシンタックスの値はlayer_horz_pos_idx[i]と表現される。layer_horz_pos[i]の値が0の場合、レイヤiを復号して得られる復号ピクチャが共通の画面内で最も左に位置することを意味する。値がNの場合、復号ピクチャが共通の画面内で左から(N+1)番目に位置することを意味する。例えば、図1で説明した例の場合、高品位画像の左端に位置する部分領域ER00とER10に対応するレイヤであるレイヤ1とレイヤ3に対するレイヤ水平位置識別子の値は0である。また、高品位画像の左から2番目に位置する部分領域ER01とER11に対応するレイヤであるレイヤ2とレイヤ4に対するレイヤ水平位置識別子の値は1である。レイヤ水平位置識別子の値は、非負整数指数ゴロム符号(ue(v))を復号して得られる。
E3b:レイヤ垂直位置識別子(layer_vert_pos_idx)・・・レイヤ識別子の示すレイヤの符号化データを復号して得られる復号ピクチャの、レイヤグループ識別子に対応する共通の画面内での垂直方向の相対位置を表す識別子である。詳細については、レイヤ水平位置識別子と同様であり、省略する。
なお、上記のレイヤ水平位置識別子とレイヤ垂直位置識別子は、共にレイヤ復号ピクチャの画面内位置を表す情報である。その意味から、以下では、レイヤ水平位置識別子とレイヤ垂直位置識別子を総称して画面内レイヤ位置情報とも呼ぶ。画面内レイヤ位置情報は、レイヤ水平位置識別子とレイヤ垂直位置識別子の上位概念であり、レイヤ復号ピクチャが前記共通の画像のいずれの部分領域であるかを特定する情報と定義できる。
以上説明したように、符号化データから復号されるレイヤ位置情報には、各レイヤが属するレイヤグループを示すレイヤグループ識別子を含んでいる。加えて、レイヤ位置情報には、画面内レイヤ位置情報(レイヤ水平位置識別子およびレイヤ垂直位置識別子)を含んでいる。したがって、復号したレイヤ位置情報を参照することで、特定のレイヤ(特定のレイヤ識別子を有するVCL NALU)を復号することで得られる復号ピクチャが、どの画面のどの部分領域に対応する画像であるかを判定できる。
上記のレイヤグループ識別子は、共通の画面の部分領域に対応するレイヤの復号ピクチャ(レイヤ復号ピクチャ)の集合であるレイヤグループを定義するための情報である。その意味から、レイヤグループ識別子のことをレイヤグループ情報とも呼ぶ。レイヤグループ情報は、レイヤグループ識別子の上位概念であり、レイヤ復号ピクチャが共通の画像の部分領域であることを判定するための情報と定義できる。
なお、必ずしも全てのレイヤグループ識別子に対して対応する画面が設定されている必要はない。例えば、グループ識別子の値0が、レイヤに対して画面内の復号ピクチャの位置情報が不要であることを示していてもよい。その場合、復号ピクチャの位置情報が不要であるレイヤ(例えば、復号ピクチャが画面全体に対応するレイヤ)に対しては、グループ識別子0の値を設定する。
また、レイヤ位置情報に係るシンタックス構造は、必ずしもVPSに含まれている必要はない。例えば、SEIに含まれていてもよい。また、SPSに含まれていてもよい。SPSに含まれる場合、SPSはレイヤ毎に存在することから、一つのSPSに対して、該SPSを参照するレイヤに対するレイヤグループ識別子の値と画面内の復号ピクチャの位置情報を含む構成とする。
また、図1の例では、レイヤ識別子iが1からMaxLayersMinus1の範囲のレイヤに対してレイヤグループ識別子や画面内の復号ピクチャの位置情報を復号すると説明したが、レイヤ識別子の範囲は別の範囲でもよく、別の変数でループを制御してマッピングにより得られたレイヤ識別子に対してレイヤグループ識別子や画面内の復号ピクチャの位置情報を復号してもよい。
(動画像復号装置1の効果)
以上説明した本実施形態に係る階層動画像復号装置1(階層画像復号装置)は、レイヤ位置情報を復号するレイヤ位置復号部121を備えており、前記レイヤ位置情報は、特定のレイヤの復号ピクチャの画面内での位置を特定する情報を含んでいる。したがって、階層符号化データに含まれる一部のレイヤを抽出することで生成される階層符号化データを復号した場合であっても、レイヤ位置情報を通じて復号されたピクチャの画面内での位置を特定できる。
[変形例1:レイヤ位置情報のバリエーション]
レイヤ位置復号部において復号されるレイヤ位置情報は、上記の図10を参照して説明したレイヤ位置情報に限らない。例えば、以下に示すレイヤ位置情報を代わりに用いる構成としてもよい。
(変形例1A)
図11に示すレイヤ位置情報の例では、レイヤ位置復号部121は、前述のレイヤ位置存否フラグ、レイヤグループ識別子、レイヤ水平位置識別子、および、レイヤ垂直位置識別子に加えて、次の情報を含んでいる。
E4:レイヤ単位レイヤ位置存否フラグ(layer_pos_present_flag[i])・・・レイヤi(レイヤ識別子iのレイヤ)に対するレイヤグループ識別子と画面内レイヤ位置情報のビットストリーム中での存否を示すフラグであって、値が真(1)の場合には存在することを、偽(0)の場合は存在しないことを表す。レイヤ単位レイヤ位置存否フラグの値は、1ビットのフラグ(u(1))を復号して得られる。レイヤ単位レイヤ位置存否フラグは、レイヤ位置情報として必須ではないが、レイヤ単位レイヤ位置存否フラグを用いることで特定のレイヤに対してレイヤ位置情報が不要な場合の符号量を削減できる。
(変形例1B)
図12に示すレイヤ位置情報の例では、レイヤ位置復号部121は、前述のレイヤ位置存否フラグに加えて、以下の情報を含んでいる。
E5:レイヤグループ数(num_layer_group_minus1)・・・(num_layer_group_minus1+1)の値が定義されるレイヤグループ数を示す。num_layer_group_minus1の値は、非負整数指数ゴロム符号(ue(v))を復号して得られる。
E6:グループ単位レイヤ位置存否フラグ(layer_pos_in_group_flag[k])・・・識別子kで特定されるレイヤグループに対して分割領域を表す情報のビットストリーム内での存否を表すフラグであって、値が真(1)の場合には存在することを、偽(0)の場合は存在しないことを表す。グループ単位レイヤ位置存否フラグの値は、1ビットのフラグ(u(1))を復号して得られる。
E7:分割領域数・・・画面の分割領域の数を表す情報であって、水平方向の分割領域数を表す水平分割領域数(num_sub_region_horz[k])と、垂直方向の分割領域数を表す垂直分割領域数(num_sub_region_vert[k])から構成される。すなわち、レイヤグループkに対応する画面は、水平分割領域数と垂直分割領域数を乗じて得られる個数の分割領域を含んでいる。なお、分割領域数は、レイヤグループkに対して分割領域を表す情報が存在する場合(layer_pos_in_group_flag[k]が真の場合)に復号される。水平分割領域数と垂直分割領域数の値はともに非負整数指数ゴロム符号(ue(v))を復号して得られる。
E8:レイヤスキャン位置識別子(layer_scan_idx[i])・・・レイヤiに対応する復号ピクチャが対応する分割領域の、当該レイヤが属するレイヤグループに対応する画面内での位置をラスタスキャンによるスキャンインデックスで表した量。例えば、画面が田の字状に4分割される場合、左上、右上、左下、右下の分割領域に対して、0、1、2、3のスキャンインデックスがそれぞれ対応する。レイヤスキャン位置識別子は、Nビットの2進数で表現された符号(u(v))を復号して得られる。ここで、Nは、レイヤiに関連付けれたレイヤグループに対応する画面内の分割領域数Aに基づいて、次式により算出される。「N=Ceil(log2(A))」。すなわち、Nは、Aの2の対数以上の整数であって最大の整数に設定される。なお、レイヤスキャン位置識別子は、画面内レイヤ位置情報の一表現である。したがって、レイヤスキャン位置識別子の代わりに、前述のレイヤ水平位置識別子とレイヤ垂直位置識別子の組み合わせを用いてもよい。
上記の変形例1Bのレイヤ位置情報は分割領域数を含んでいるため、抽出された符号化データ、すなわち一部のレイヤに対応するNALUが除去された符号化データにおいても、レイヤグループに対応する画面内に分割領域数が分かる。また、特定のレイヤグループに対応する分割領域数が明示的に分かるため、画面内レイヤ位置情報(レイヤスキャン位置識別子)をより少ないビットから復号できる。
(変形例1C)
図13に示すレイヤ位置情報の例では、レイヤ位置復号部121は、前述のレイヤ位置存否フラグとレイヤグループ識別子に加えて、以下の情報を含んでいる。
(E9)画面内レイヤ位置構造(layer_location())・・・画面内レイヤ位置を表す情報。例えば、前述のレイヤ水平位置識別子とレイヤ垂直位置識別子の組み合わせ、または、前述のレイヤスキャン位置識別子を含んでいる。また、画面内の復号ピクチャの位置を表現する別の情報を含んでいてもよい。例えば、分割領域左上画素の画面左上隅からの画素単位の変位を含んでいてもよい。
(E10)レイヤ形状構造(layer_shape())・・・復号ピクチャに対応する分割領域の画面内での形状を表す情報。例えば、分割領域が矩形である場合、分割領域の画面上の画素単位での幅や高さを含む。また、分割領域が矩形の場合であって、画面全領域の縦横の方向と、分割領域の縦横の方向が一致しない場合に、分割領域の画面に対する傾きを表す量を含んでもよい。また、分割領域が矩形ではない場合、分割領域の形状を表現する適切なパラメータを含んでいてもよい。
上記の変形例1Cとして記載したレイヤ位置情報によれば、分割領域の位置や形状設定の自由度が増加し、より多様な分割領域により分割された場合にも対応できる。
(変形例1D)
特定の高品位映像の部分領域に対応する全てのレイヤが、同一のレイヤの復号ピクチャをレイヤ間参照ピクチャとして用いる場合、画面内レイヤ位置を省略してもよい。換言すると、同一レイヤグループに属する全ての上位レイヤが、共通のレイヤ復号ピクチャを参照する場合、画面内レイヤ位置を省略してもよい。その場合、各レイヤから参照されるSPSに含まれるレイヤ間画素対応オフセットの値を、該レイヤに対応する画面内レイヤ位置として利用できる。例えば、図9を参照して説明したような構成の場合、特定のレイヤの復号ピクチャの高品位画像内の位置をレイヤ間画素対応オフセットの値から特定できる。画面内レイヤ位置を省略することで、レイヤ位置情報の符号量を低減できる。
なお、同一のレイヤグループに2以上の上位レイヤが含まれる場合、前記2以上の上位レイヤに含まれる全てのレイヤにおいて、レイヤ復号ピクチャの幅とレイヤ間画素水平オフセットの和、および、レイヤ復号ピクチャの高さとレイヤ間画素垂直オフセットの和が等しいことが好ましい。換言すると、同一のレイヤグループに属する任意の2つのレイヤ、レイヤAとレイヤBに対して、(1)レイヤAにおけるレイヤ復号ピクチャの幅とレイヤ間画素水平オフセットの和と、レイヤBにおけるレイヤ復号ピクチャの幅とレイヤ間画素水平オフセットの和が等しく、かつ、(2)レイヤAにおけるレイヤ復号ピクチャの高さとレイヤ間画素垂直オフセットの和と、レイヤBにおけるレイヤ復号ピクチャの高さとレイヤ間画素垂直オフセットの和が等しい、ことが好ましい。
ここで、レイヤ間画素水平オフセットの値は、拡大参照レイヤ左オフセットと拡大参照レイヤ右オフセットの和であり、レイヤ間画素垂直オフセットの値は、拡大参照レイヤ上オフセットと拡大参照レイヤ下オフセットの和である。このようにレイヤ間画素オフセットの値を設定することで、同一のレイヤグループに属する全てのレイヤに対して同一のスケールを設定し、該スケールに基づいて共通の参照レイヤピクチャを用いたレイヤ間予測により予測画像が生成できる。同一のスケールが設定できる理由は、例えば水平方向のスケールが、レイヤ復号ピクチャの幅とレイヤ間画素水平オフセットの和と、参照レイヤピクチャの幅との比により決定されるためである。
[変形例2:レイヤセットとの関係]
レイヤ位置情報として各レイヤが属するレイヤグループを示すレイヤグループ情報として、レイヤグループ識別子を例に挙げて説明したが、別のレイヤの集合を表す情報を用いてレイヤグループ情報を表現することで、レイヤグループ識別子を省略することもできる。例えば、パラメータセットから復号される各出力レイヤセットに対して、レイヤグループとして利用するか否かのフラグ(レイヤグループフラグ)を復号し、フラグがレイヤグループとして利用することを示す場合、対応する出力レイヤセットのレイヤグループとしてもよい。この場合、パラメータセットに含まれる出力レイヤセットの定義情報と、前記のレイヤグループフラグの組み合わせがレイヤグループ情報となる。レイヤグループに含まれるレイヤの集合を定義する情報を、出力レイヤセットの定義情報で代替できるため、レイヤ位置情報の符号量を低減できる。
[付記事項1:レイヤグループの制約]
変換処理により同一のレイヤグループに属するレイヤの一部を選択して抽出する場合、前述のレイヤグループ識別子には制約が必要となる。具体的には、同一のレイヤグループに含まれるレイヤ間では、直接または間接的にレイヤ間予測を実行してはならない、という制約が必要となる。つまり、レイヤAとレイヤBが同一のレイヤグループ識別子に関連付けられている場合、レイヤAはレイヤBの直接参照レイヤ(direct reference layer)または間接参照レイヤ(indirect reference layer)であってはならず、また、レイヤBはレイヤAの直接参照レイヤまたは間接参照レイヤであってはならない。このような制約を設けることで、同一レイヤグループ内の一部のレイヤを抽出した場合であっても、抽出されたレイヤと抽出されなかった別のレイヤとの依存関係が無いため、抽出されたレイヤを復号できる。
(階層動画像符号化装置の構成)
図14を用いて、階層動画像符号化装置2の概略構成を説明する。図14は、階層動画像符号化装置2の概略的構成を示した機能ブロック図である。階層動画像符号化装置2は、対象レイヤの入力画像PIN#Tを、参照レイヤ符号化データDATA#Rを参照しながら符号化して、対象レイヤの階層符号化データDATAを生成する。なお、参照レイヤ符号化データDATA#Rは、参照レイヤに対応する階層動画像符号化装置において符号化済みとする。
図14に示すように階層動画像符号化装置2は、NAL多重化部21、PS符号化部22、スライス符号化部24、復号ピクチャ管理部16、および、参照レイヤ復号部25を備える。PS符号化部22は、内部にレイヤ位置符号化部221を含む。
NAL多重化部21は、入力される対象レイヤ符号化データDATA#Tと、参照レイヤ符号化データDATA#RとをNALUに格納することでNAL多重化した階層動画像符号化データDATAを生成し、外部に出力する。
PS符号化部22は、入力画像に基づいて、入力画像の符号化に用いるパラメータセット(VPS、SPS、および、PPS)を設定して、対象レイヤ符号化データDATA#Tの一部としてVCL NALの形式でパケット化してNAL多重化部21に供給する。
レイヤ位置符号化部221は、階層動画像復号装置1が含むレイヤ位置復号部121に対応する構成要素である。レイヤ位置符号化部221は、レイヤ位置情報を符号化する。レイヤ位置情報として、例えば、レイヤ位置復号部121で図10を参照して説明したレイヤ位置情報を利用できる。また、変形例1で説明した各種のレイヤ間位置情報を利用してもよい。ただし、出力する階層符号化データを復号する階層動画像復号装置で復号するレイヤ位置情報と同じレイヤ位置情報を符号化する必要がある。
スライス符号化部24は、入力される入力画像、パラメータセット、および、復号ピクチャ管理部16に記録されている参照ピクチャに基づいて、ピクチャを構成するスライスに対応する入力画像の一部を符号化して、当該部分の符号化データを生成し、対象レイヤ符号化データDATA#Tの一部としてNAL多重化部21に供給する。
参照レイヤ復号部25は、入力される参照レイヤ符号化データを復号して、ベース復号ピクチャを復号して出力する。既に説明した階層動画像復号装置1を、参照レイヤ復号部25として利用できる。
復号ピクチャ管理部16は、既に説明した階層動画像復号装置1の備える復号ピクチャ管理部16と同一の構成要素である。ただし、階層動画像符号化装置2の備える復号ピクチャ管理部16では、内部のDPBに記録されたピクチャを出力ピクチャとして出力する必要はないため、当該出力は省略できる。なお、階層動画像復号装置1の復号ピクチャ管理部16の説明において「復号」として説明した記載は「符号化」と置き換えることで、階層動画像符号化装置2の復号ピクチャ管理部16にも適用できる。
(動画像符号化装置2の効果)
以上説明した本実施形態に係る階層動画像符号化装置2(階層画像符号化装置)は、レイヤ位置情報を符号化するレイヤ位置符号化部221を備えており、前記レイヤ位置情報は、特定のレイヤの復号ピクチャの画面内での位置を特定する情報を含んでいる。したがって、階層動画像符号化装置2で生成された階層符号化データを復号する際に、レイヤ位置情報を通じて復号されたピクチャの画面内での位置を特定できる。
〔階層符号化データ変換装置3〕
図15を用いて、階層符号化データ変換装置3の概略構成を説明する。図15は、階層符号化データ変換装置3の概略的構成を示した機能ブロック図である。階層符号化データ変換装置3は、入力される階層符号化データDATAを変換して、入力される注目領域情報に係る階層符号化データDATA-ROIを生成する。なお、階層符号化データDATAは階層動画像符号化装置2により生成された階層符号化データである。また、階層符号化データDATA-ROIを階層動画像復号装置1に入力することで注目領域情報に係る上位レイヤの動画像を再生できる。
図15に示すように、階層符号化データ変換装置3は、NAL逆多重化部11、NAL多重化部21、PS復号部12、レイヤ選択部32を含む。PS復号部12は内部にレイヤ位置復号部121を含む。
NAL逆多重化部11、PS復号部12、レイヤ位置復号部121は、それぞれ、階層動画像復号装置1が含む同名の構成要素と同じ機能を有するため、同一の符号を付与して説明を省略する。
NAL多重化部21は、階層動画像符号化装置2が含む同名の構成要素と同じ機能を有するため、同一の符号を付与して説明を省略する。
注目領域情報は、動画像を構成するピクチャにおいて、ユーザー(例えば再生動画像の視聴者)が指定するピクチャの部分領域である。注目領域情報は、例えば矩形の領域で指定される。その場合、例えば、注目領域を表わす矩形の上辺、下辺、左辺、右辺のピクチャ全体の対応する辺(上辺、下辺、左辺、または、右辺)からの位置のオフセットを注目領域情報として指定できる。なお、矩形以外の形状の領域(例えば、円、多角形、物体抽出により抽出した物体を示す領域)を注目領域として使用してもよいが、以下では説明の簡単のため矩形の注目領域を想定する。なお、矩形以外の領域に対して、以下に記載する内容を適用する場合、例えば、注目領域を包含する面積最小の矩形を以下の説明における注目領域とみなして適用できる。
レイヤ選択部32は、入力される注目領域情報の示す注目領域に対応するレイヤを、入力されるレイヤ位置情報とパラメータセットに基づいて選択して、選択したレイヤに対応する階層符号化データの部分データを抽出する。ここで、部分データの抽出は、選択されたレイヤ識別子の集合に含まれるレイヤ識別子の付与された階層符号化データに含まれるNALUから選択し、それ以外のNALUを破棄する。
注目領域情報とレイヤ位置情報に基づくレイヤ識別子の選択は、以下の手順で実行される。
(S201)まず、レイヤ位置情報に含まれるレイヤグループ識別子を参照して、高品位画像に対応するレイヤグループに含まれるレイヤ識別子の集合を決定する。
(S202)次に、レイヤ位置情報に含まれる画面内位置情報、および、パラメータセットに含まれる各レイヤの復号ピクチャサイズを参照して、S201で選択したレイヤ識別子に対応する各レイヤの復号ピクチャが対応する画面内の部分領域の位置を決定する。
(S203)次に、注目領域と重複する領域を持つ全ての部分領域に対応するレイヤを選択して、抽出対象のレイヤ識別子の集合とする。
(S204)最後に、パラメータセットを参照して、選択したレイヤが参照するレイヤのレイヤ識別子を、S203で生成した抽出対象のレイヤ識別子の集合に追加する。
(階層符号化データ変換処理フロー)
階層符号化データ変換装置3による階層符号化データ変換処理は、以下に示す手順を順次実行することで実現される。
(S501)NAL逆多重化部11は、入力された階層符号化データDATAを逆多重化する。得られた対象レイヤ符号化データDATA#Tのうち、非VCL NALUをパラメータ復号部12とレイヤ選択部32に出力して、VCL NALUはレイヤ選択部32に出力する。
(S502)PS復号部12は、入力された非VCL NALUからパラメータセット(VPS、SPS、PPS)およびレイヤ位置情報を復号して、レイア選択部32に出力する。
(S503)レイヤ選択部32は、入力される注目領域情報、パラメータセット、および、レイヤ位置情報に基づいて抽出対象のレイヤ識別子の集合を決定し、該レイア識別子の集合に含まれるレイヤ識別子を持つVCL NALUおよび非VCL NALUを選択してNAL多重化部21に出力する。
(S504)NAL多重化部21は、入力されるVCL NALUと非VCL NALUを多重化して、階層符号化データDATA-ROIとして外部に出力する。
(階層符号化データ変換装置3の効果)
以上説明した本実施形態に係る階層符号化データ変換装置3は、レイヤ位置情報を復号するレイヤ位置復号部121を備えており、前記レイヤ位置情報は、各レイヤの復号ピクチャの画面内での位置を特定する情報を含んでいる。階層符号化データ変換装置3は、レイヤ位置情報に基づいて、注目領域に対応するレイヤを選択して、選択したレイヤに対応する符号化データを抽出することで、注目領域に対応する階層符号化データを生成する。したがって、階層符号化データ変換装置3によれば、階層符号化データのビデオ符号化レイヤの情報の書き換えを必要としない軽量な処理により、注目領域に対応する階層符号化データを生成できる。
〔領域再生装置と注目領域表示システム〕
上述した階層動画像復号装置1を用いて実現できる領域再生装置4について、領域再生装置4、階層動画像符号化装置2、及び、階層符号化データ変換装置3を組み合わせて実現される注目領域情報表示システム(注目領域表示システムSYS)と合わせて説明する。
図16を参照して、領域再生装置4および注目領域表示システムSYSを説明する。図16は、領域再生装置4、および、注目領域表示システムSYSの構成を示したブロック図である。注目領域表示システムSYSは、概略的には、品質の異なる入力画像を階層符号化して蓄積しておき、ユーザーからの注目領域情報に応じて蓄積された階層符号化データを変換して提供し、変換した階層符号化データを復号することで注目領域(ROI)に係る高品質の再生画像を表示する。領域再生装置4は、概略的には、注目領域に相当する階層符号化データを入力として受け取り、該階層符号化データに含まれる各レイヤを再生して得られる復号ピクチャを、レイヤ位置情報に基づいて画面の適切な位置に配置して表示する。
図16に示すように、注目領域表示システムSYSは、階層動画像符号化部SYS1A、階層動画像符号化部SYS1B、階層符号化データ蓄積部SYS2、階層符号化データ変換部SYS3、ROI通知部SYS4、および、領域再生装置4を構成要素として含む。領域再生装置4は、階層動画像復号部41、表示制御部42、表示部43を構成要素として含む。
階層動画像符号化部SYS1A、SYS1Bには、前述の階層動画像符号化装置2を利用できる。
階層符号化データ蓄積部SYS2は、階層符号化データを蓄積し、要求に応じて階層符号化データを供給する。階層符号化データ蓄積部SYS2として、記録媒体(メモリ、ハードディスク、光学ディスク)を備えたコンピュータが利用できる。
階層符号化データ変換部SYS3には、前述の階層符号化データ変換装置3が利用できる。
ROI通知部SYS4は、所定の方法でユーザーが指定した注目領域情報を通知する。例えば、ユーザーは全体表示画像が表示された表示領域上で、注目領域に相当する領域を指定することでROI通知部に注目領域を伝えることができる。なお、ROI通知部SYS8は、ユーザーの指定がない場合は、注目領域が全体であることを示す情報を注目領域情報として通知する。
階層動画像復号部41には、前述の階層動画像復号装置1が利用できる。階層動画像復号部41は、入力として階層符号化データを受け取って、該階層符号化データに含まれる各レイヤの復号ピクチャを出力する。また、合わせて、レイヤ位置情報を復号して出力する。
表示制御部42は、レイヤ位置情報に基づいて、各レイヤの復号ピクチャを表示画面に配置して、表示画像として表示部43に出力する。
表示部43は、入力された表示画像を表示領域に表示する。例えば、表示領域はテレビの画面、スマートフォンの画面、タブレットの画面である。
(注目領域表示システムのフロー)
注目領域表示システムによる処理は、階層符号化データ生成蓄積処理と注目領域データ生成再生処理に分けることができる。
階層符号化データ生成蓄積処理では、異なる品質の入力画像から階層符号化データを生成して蓄積する。階層符号化データ生成蓄積処理は、T101からT103の手順で実行される。
(T101)階層動画像符号化部SYS1Bは、入力される低品質の入力画像を符号化し、生成された階層符号化データを階層動画像符号化部SYS1Aに供給する。つまり、階層動画像符号化部SYS1Bは、入力画像から、階層動画像符号化部SYS1Aにおいて参照レイヤ(下位レイヤ)として使用される階層符号化データを生成して出力する。
(T102)階層動画像符号化部SYS1Aは、入力される高品質の入力画像を、入力された階層符号化データを参照レイヤの符号化データとして符号化し、階層符号化データを生成して階層符号化データ蓄積部SYS2に出力する。
(T103)階層符号化データ蓄積部SYS2は、入力された階層符号化データに適切なインデックスを付けて内部の記録媒体に記録する。
注目領域データ生成再生処理では、階層符号化データ蓄積部SYS2から階層符号化データを読み出し、注目領域に相当する階層符号化データに変換し、変換した階層符号化データを復号して再生及び表示する。注目領域データ生成再生処理は、以下のT201〜T207の手順で実行される。
(T201)ユーザーの選択した動画像に関する階層符号化データが階層符号化データ蓄積部SYS2から階層符号化データ変換部SYS3に供給される。
(T202)ROI通知部SYS4は、ユーザーの指定した注目領域情報を階層符号化データ変換部SYS3に通知する。
(T203)階層符号化データ変換部SYS3は、入力された注目領域情報に基づいて、入力された階層符号化データを変換して、領域再生装置4に出力する。
(T204)領域再生装置4に入力された変換後の階層符号化データは、階層動画像復号部41に入力される。階層動画像復号部41は、入力された変換後の階層動画像符号化データを復号して、各上位レイヤ復号ピクチャとレイヤ位置情報を表示制御部42に出力する。
(T205)表示制御部42は、入力されたレイヤ位置情報に基づいて、入力された各レイヤ復号ピクチャを配置して表示画像を作成して表示部43に出力する。
(注目領域表示システムSYSと領域再生装置4の効果)
以上説明した本実施形態に係る注目領域表示システムSYSは、ROI通知部SYS4と、階層符号化データ変換部SYS3と領域再生装置4を備えている。したがって、注目領域表示システムでは、指定された注目領域に応じて階層符号化データを変換して、該変換後の階層符号化データを復号して注目領域に対応する表示画像を生成して表示できる。その際、階層符号化データの変換は、注目領域に基づき決定されるレイヤを選択して抽出することで実現できるため、容易に実行できる。
以上説明した本実施形態に係る領域再生装置4は、階層動画像復号部41と表示制御部42を備えている。表示制御部42では、レイヤ毎の復号ピクチャをレイヤ位置情報に基づき適切に配置して表示画像を生成できる。領域再生装置4は、外部の手段(例えばROI通知部)から、復号ピクチャの配置に関する情報を受け取ることなく、レイヤ抽出により変換された階層符号化データのみから表示画像を構成できるため、様々な注目領域表示システムに柔軟に組み込むことができる。
(他の階層動画像符号化/復号システムへの適用例)
上述した階層動画像符号化装置2及び階層動画像復号装置1は、動画像の送信、受信、記録、再生を行う各種装置に搭載して利用できる。なお、動画像は、カメラ等により撮像された自然動画像であってもよいし、コンピュータ等により生成された人工動画像(CGおよびGUIを含む)であってもよい。
図17に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の送信および受信に利用できることを説明する。図17の(a)は、階層動画像符号化装置2を搭載した送信装置PROD_Aの構成を示したブロック図である。
図17の(a)に示すように、送信装置PROD_Aは、動画像を符号化することによって符号化データを得る符号化部PROD_A1と、符号化部PROD_A1が得た符号化データで搬送波を変調することによって変調信号を得る変調部PROD_A2と、変調部PROD_A2が得た変調信号を送信する送信部PROD_A3とを備えている。上述した階層動画像符号化装置2は、この符号化部PROD_A1として利用される。
送信装置PROD_Aは、符号化部PROD_A1に入力する動画像の供給源として、動画像を撮像するカメラPROD_A4、動画像を記録した記録媒体PROD_A5、動画像を外部から入力するための入力端子PROD_A6、及び、画像を生成または加工する画像処理部A7を更に備えていてもよい。図17の(a)においては、これら全てを送信装置PROD_Aが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_A5は、符号化されていない動画像を記録したものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化された動画像を記録したものであってもよい。後者の場合、記録媒体PROD_A5と符号化部PROD_A1との間に、記録媒体PROD_A5から読み出した符号化データを記録用の符号化方式に従って復号する復号部(不図示)を介在させるとよい。
図17の(b)は、階層動画像復号装置1を搭載した受信装置PROD_Bの構成を示したブロック図である。図17の(b)に示すように、受信装置PROD_Bは、変調信号を受信する受信部PROD_B1と、受信部PROD_B1が受信した変調信号を復調することによって符号化データを得る復調部PROD_B2と、復調部PROD_B2が得た符号化データを復号することによって動画像を得る復号部PROD_B3とを備えている。上述した階層動画像復号装置1は、この復号部PROD_B3として利用される。
受信装置PROD_Bは、復号部PROD_B3が出力する動画像の供給先として、動画像を表示するディスプレイPROD_B4、動画像を記録するための記録媒体PROD_B5、及び、動画像を外部に出力するための出力端子PROD_B6を更に備えていてもよい。図17の(b)においては、これら全てを受信装置PROD_Bが備えた構成を例示しているが、一部を省略しても構わない。
なお、記録媒体PROD_B5は、符号化されていない動画像を記録するためのものであってもよいし、伝送用の符号化方式とは異なる記録用の符号化方式で符号化されたものであってもよい。後者の場合、復号部PROD_B3と記録媒体PROD_B5との間に、復号部PROD_B3から取得した動画像を記録用の符号化方式に従って符号化する符号化部(不図示)を介在させるとよい。
なお、変調信号を伝送する伝送媒体は、無線であってもよいし、有線であってもよい。また、変調信号を伝送する伝送態様は、放送(ここでは、送信先が予め特定されていない送信態様を指す)であってもよいし、通信(ここでは、送信先が予め特定されている送信態様を指す)であってもよい。すなわち、変調信号の伝送は、無線放送、有線放送、無線通信、及び有線通信の何れによって実現してもよい。
例えば、地上デジタル放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を無線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。また、ケーブルテレビ放送の放送局(放送設備など)/受信局(テレビジョン受像機など)は、変調信号を有線放送で送受信する送信装置PROD_A/受信装置PROD_Bの一例である。
また、インターネットを用いたVOD(Video On Demand)サービスや動画共有サービスなどのサーバ(ワークステーションなど)/クライアント(テレビジョン受像機、パーソナルコンピュータ、スマートフォンなど)は、変調信号を通信で送受信する送信装置PROD_A/受信装置PROD_Bの一例である(通常、LANにおいては伝送媒体として無線又は有線の何れかが用いられ、WANにおいては伝送媒体として有線が用いられる)。ここで、パーソナルコンピュータには、デスクトップ型PC、ラップトップ型PC、及びタブレット型PCが含まれる。また、スマートフォンには、多機能携帯電話端末も含まれる。
なお、動画共有サービスのクライアントは、サーバからダウンロードした符号化データを復号してディスプレイに表示する機能に加え、カメラで撮像した動画像を符号化してサーバにアップロードする機能を有している。すなわち、動画共有サービスのクライアントは、送信装置PROD_A及び受信装置PROD_Bの双方として機能する。
図18に基づいて、上述した階層動画像符号化装置2および階層動画像復号装置1を、動画像の記録および再生に利用できることを説明する。図18の(a)は、上述した階層動画像符号化装置2を搭載した記録装置PROD_Cの構成を示したブロック図である。
図18の(a)に示すように、記録装置PROD_Cは、動画像を符号化することによって符号化データを得る符号化部PROD_C1と、符号化部PROD_C1が得た符号化データを記録媒体PROD_Mに書き込む書込部PROD_C2と、を備えている。上述した階層動画像符号化装置2は、この符号化部PROD_C1として利用される。
なお、記録媒体PROD_Mは、(1)HDD(Hard Disk Drive)やSSD(Solid State Drive)等のように、記録装置PROD_Cに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSB(Universal Serial Bus)フラッシュメモリ等のように、記録装置PROD_Cに接続されるタイプのものであってもよいし、(3)DVD(Digital Versatile Disc)やBD(Blu-ray Disc:登録商標)等のように、記録装置PROD_Cに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、記録装置PROD_Cは、符号化部PROD_C1に入力する動画像の供給源として、動画像を撮像するカメラPROD_C3、動画像を外部から入力するための入力端子PROD_C4、動画像を受信するための受信部PROD_C5、及び、画像を生成または加工する画像処理部C6を更に備えていてもよい。図18の(a)においては、これら全てを記録装置PROD_Cが備えた構成を例示しているが、一部を省略しても構わない。
なお、受信部PROD_C5は、符号化されていない動画像を受信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを受信するものであってもよい。後者の場合、受信部PROD_C5と符号化部PROD_C1との間に、伝送用の符号化方式で符号化された符号化データを復号する伝送用復号部(不図示)を介在させるとよい。
このような記録装置PROD_Cとしては、例えば、DVDレコーダ、BDレコーダ、HDD(Hard Disk Drive)レコーダなどが挙げられる(この場合、入力端子PROD_C4又は受信部PROD_C5が動画像の主な供給源となる)。また、カムコーダ(この場合、カメラPROD_C3が動画像の主な供給源となる)、パーソナルコンピュータ(この場合、受信部PROD_C5又は画像処理部C6が動画像の主な供給源となる)、スマートフォン(この場合、カメラPROD_C3又は受信部PROD_C5が動画像の主な供給源となる)なども、このような記録装置PROD_Cの一例である。
図18の(b)は、上述した階層動画像復号装置1を搭載した再生装置PROD_Dの構成を示したブロックである。図18の(b)に示すように、再生装置PROD_Dは、記録媒体PROD_Mに書き込まれた符号化データを読み出す読出部PROD_D1と、読出部PROD_D1が読み出した符号化データを復号することによって動画像を得る復号部PROD_D2と、を備えている。上述した階層動画像復号装置1は、この復号部PROD_D2として利用される。
なお、記録媒体PROD_Mは、(1)HDDやSSDなどのように、再生装置PROD_Dに内蔵されるタイプのものであってもよいし、(2)SDメモリカードやUSBフラッシュメモリなどのように、再生装置PROD_Dに接続されるタイプのものであってもよいし、(3)DVDやBDなどのように、再生装置PROD_Dに内蔵されたドライブ装置(不図示)に装填されるものであってもよい。
また、再生装置PROD_Dは、復号部PROD_D2が出力する動画像の供給先として、動画像を表示するディスプレイPROD_D3、動画像を外部に出力するための出力端子PROD_D4、及び、動画像を送信する送信部PROD_D5を更に備えていてもよい。図18の(b)においては、これら全てを再生装置PROD_Dが備えた構成を例示しているが、一部を省略しても構わない。
なお、送信部PROD_D5は、符号化されていない動画像を送信するものであってもよいし、記録用の符号化方式とは異なる伝送用の符号化方式で符号化された符号化データを送信するものであってもよい。後者の場合、復号部PROD_D2と送信部PROD_D5との間に、動画像を伝送用の符号化方式で符号化する符号化部(不図示)を介在させるとよい。
このような再生装置PROD_Dとしては、例えば、DVDプレイヤ、BDプレイヤ、HDDプレイヤなどが挙げられる(この場合、テレビジョン受像機等が接続される出力端子PROD_D4が動画像の主な供給先となる)。また、テレビジョン受像機(この場合、ディスプレイPROD_D3が動画像の主な供給先となる)、デジタルサイネージ(電子看板や電子掲示板等とも称され、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、デスクトップ型PC(この場合、出力端子PROD_D4又は送信部PROD_D5が動画像の主な供給先となる)、ラップトップ型又はタブレット型PC(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)、スマートフォン(この場合、ディスプレイPROD_D3又は送信部PROD_D5が動画像の主な供給先となる)なども、このような再生装置PROD_Dの一例である。
(ハードウェア的実現およびソフトウェア的実現について)
最後に、階層動画像復号装置1、階層動画像符号化装置2の各ブロックは、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
後者の場合、上記各装置は、各機能を実現する制御プログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである上記各装置の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記各装置に供給し、そのコンピュータ(またはCPUやMPU(Micro Processing Unit))が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM(Compact Disc Read-Only Memory)/MO(Magneto-Optical)/MD(Mini Disc)/DVD(Digital Versatile Disk)/CD−R(CD Recordable)等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM(Erasable Programmable Read-only Memory)/EEPROM(登録商標)(Electrically Erasable and Programmable Read-only Memory)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
また、上記各装置を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN(Local Area Network)、ISDN(Integrated Services Digital Network)、VAN(Value-Added Network)、CATV(Community Antenna Television)通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE(Institute of Electrical and Electronic Engineers)1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDA(Infrared Data Association)やリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。