以下、図面を参照して本発明の実施形態に対して具体的に説明する。本明細書の実施例を説明するにあたって、関連した公知構成または機能に対する具体的な説明が本明細書の要旨を不明にすると判断される場合、その詳細な説明は省略する。
一構成要素が他の構成要素に“連結されている”または“接続されている”と言及された場合、該当他の構成要素に直接的に連結されている、または接続されていることもあるが、中間に他の構成要素が存在することもあると理解しなければならない。また、本発明において、特定構成を“含む”と記述する内容は、該当構成以外の構成を排除するものではなく、追加的な構成が本発明の実施または本発明の技術的思想の範囲に含まれることができることを意味する。
第1、第2などの用語は、多様な構成要素の説明に使われることができるが、前記構成要素は、前記用語により限定されてはならない。前記用語は、一つの構成要素を他の構成要素から区別する目的にのみ使われる。例えば、本発明の権利範囲を外れない限り、第1の構成要素は第2の構成要素と命名することができ、同様に、第2の構成要素も第1の構成要素と命名することができる。
また、本発明の実施例に示す構成部は、互いに異なる特徴的な機能を示すために独立的に図示されるものであり、各構成部が分離されたハードウェアや一つのソフトウェア構成単位に構成されることを意味しない。即ち、各構成部は、説明の便宜上、各々の構成部として羅列して含むものであり、各構成部のうち少なくとも2個の構成部が統合されて一つの構成部からなり、または一つの構成部が複数個の構成部に分けられて機能を遂行することができ、このような各構成部の統合された実施例及び分離された実施例も本発明の本質から外れない限り、本発明の権利範囲に含まれる。
また、一部の構成要素は、本発明で本質的な機能を遂行する必須な構成要素ではなく、単に性能を向上させるための選択的構成要素である。本発明は、単に性能向上のために使われる構成要素を除いた本発明の本質を具現するのに必須な構成部のみを含んで具現されることができ、単に性能向上のために使われる選択的構成要素を除いた必須構成要素のみを含む構造も本発明の権利範囲に含まれる。
図1は、映像符号化装置の一実施例に係る構成を示すブロック図である。スケーラブル(scalable)ビデオ符号化/復号化方法または装置は、スケーラビリティ(scalability)を提供しない一般的な映像符号化/復号化方法または装置の拡張(extension)により具現されることができ、図1のブロック図は、スケーラブルビデオ符号化装置のベースになることができる映像符号化装置の一実施例を示す。
図1を参照すると、前記映像符号化装置100は、動き予測部111、動き補償部112、イントラ予測部120、スイッチ115、減算器125、変換部130、量子化部140、エントロピー符号化部150、逆量子化部160、逆変換部170、加算器175、フィルタ部180及び参照映像バッファ190を含む。
映像符号化装置100は、入力映像に対してイントラ(intra)モードまたはインター(inter)モードに符号化を実行することで、ビットストリーム(bit stream)を出力することができる。イントラ予測は画面内予測を意味し、インター予測は画面間予測を意味する。イントラモードである場合、スイッチ115がイントラに切り替えられ、インターモードである場合、スイッチ115がインターに切り替えられる。映像符号化装置100は、入力映像の入力ブロックに対する予測ブロックを生成した後、入力ブロックと予測ブロックとの差分を符号化することができる。
イントラモードである場合、イントラ予測部120は、現在ブロック周辺の既に符号化されたブロックの画素値を利用して空間的予測を実行することで、予測ブロックを生成することができる。
インターモードである場合、動き予測部111は、動き予測過程で参照映像バッファ190に格納されている参照映像で入力ブロックと最もよくマッチされる領域を探して動きベクトルを求めることができる。動き補償部112は、動きベクトルと参照映像バッファ190に格納されている参照映像を利用して動き補償を実行することによって、予測ブロックを生成することができる。
減算器125は、入力ブロックと生成された予測ブロックとの差分により残余ブロック(residual block)を生成することができる。変換部130は、残余ブロックに対して変換(transform)を実行することで、変換係数(transform coefficient)を出力することができる。そして、量子化部140は、入力された変換係数を量子化パラメータによって量子化し、量子化された係数(quantized coefficient)を出力することができる。
エントロピー符号化部150は、量子化部140で算出された値または符号化過程で算出された符号化パラメータ値などに基づき、シンボル(symbol)を確率分布によってエントロピー符号化することで、ビットストリーム(bit stream)を出力することができる。エントロピー符号化方法は、多様な値を有するシンボルの入力を受け、統計的な重複性を除去すると共に、復号可能な2進数の列で表現する方法である。
ここで、シンボルとは、符号化/復号化対象構文要素(syntax element)及び符号化パラメータ(coding parameter)、残余信号(residual signal)の値などを意味する。符号化パラメータは、符号化及び復号化に必要な媒介変数であって、構文要素のように符号化器で符号化されて復号化器に伝達される情報だけでなく、符号化または復号化過程で類推されることができる情報を含むことができ、映像を符号化または復号化する時に必要な情報を意味する。符号化パラメータは、例えば、イントラ/インター予測モード、移動/動きベクトル、参照映像索引、符号化ブロックパターン、残余信号有無、変換係数、量子化された変換係数、量子化パラメータ、ブロックの大きさ、ブロック分割情報などの値または統計を含むことができる。また、残余信号は、原信号と予測信号との差を意味し、また、原信号と予測信号との差が変換(transform)された形態の信号または原信号と予測信号との差が変換されて量子化された形態の信号を意味する。残余信号は、ブロック単位では残余ブロックという。
エントロピー符号化が適用される場合、高い発生確率を有するシンボルに少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、符号化対象シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー符号化を介して映像符号化の圧縮性能が高まることができる。
エントロピー符号化のために、指数ゴロム(exponential golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)のような符号化方法が使われることができる。例えば、エントロピー符号化部150には、可変長さ符号化(VLC:Variable Lenghth Coding/Code)テーブルのようなエントロピー符号化を実行するためのテーブルが格納されることができ、エントロピー符号化部150は、格納された可変長さ符号化(VLC)テーブルを使用してエントロピー符号化を実行することができる。また、エントロピー符号化部150は、対象シンボルの2進化(binarization)方法及び対象シンボル/ビン(bin)の確率モデル(probability model)を導出した後、導出された2進化方法または確率モデルを使用してエントロピー符号化を実行することもできる。
量子化された係数は、逆量子化部160で逆量子化され、逆変換部170で逆変換されることができる。逆量子化、逆変換された係数は、加算器175を介して予測ブロックと加えられて復元ブロックが生成されることができる。
復元ブロックは、フィルタ部180を経て、フィルタ部180は、デブロッキングフィルタ(deblocking filter)、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)のうち少なくとも一つ以上を復元ブロックまたは復元ピクチャに適用することができる。フィルタ部180を経た復元ブロックは、参照映像バッファ190に格納されることができる。
図2は、映像復号化装置の一実施例に係る構成を示すブロック図である。図1で詳述したように、スケーラブルビデオ符号化/復号化方法または装置は、スケーラビリティを提供しない一般的な映像符号化/復号化方法または装置の拡張により具現されることができ、図2のブロック図は、スケーラブルビデオ復号化装置のベースになることができる映像復号化装置の一実施例を示す。
図2を参照すると、前記映像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、イントラ予測部240、動き補償部250、フィルタ部260及び参照映像バッファ270を含む。
映像復号化装置200は、符号化器から出力されたビットストリームの入力を受けてイントラモードまたはインターモードに復号化を実行することで、再構成された映像、即ち、復元映像を出力することができる。イントラモードである場合、スイッチがイントラに切り替えられ、インターモードである場合、スイッチがインターに切り替えられる。映像復号化装置200は、入力されたビットストリームから復元された残余ブロック(residual block)を得て、予測ブロックを生成した後、復元された残余ブロックと予測ブロックを加えて再構成されたブロック、即ち、復元ブロックを生成することができる。
エントロピー復号化部210は、入力されたビットストリームを確率分布によってエントロピー復号化し、量子化された係数(quantized coefficient)形態のシンボルを含むシンボルを生成することができる。エントロピー復号化方法は、2進数の列の入力を受けて各シンボルを生成する方法である。エントロピー復号化方法は、前述したエントロピー符号化方法と同様である。
量子化された係数は、逆量子化部220で逆量子化され、逆変換部230で逆変換され、量子化された係数が逆量子化/逆変換された結果、復元された残余ブロック(residual block)が生成されることができる。
イントラモードである場合、イントラ予測部240は、現在ブロック周辺の既に符号化されたブロックの画素値を利用して空間的予測を実行することで、予測ブロックを生成することができる。インターモードである場合、動き補償部250は、動きベクトル及び参照映像バッファ270に格納されている参照映像を利用して動き補償を実行することによって、予測ブロックを生成することができる。
復元された残余ブロックと予測ブロックは、加算器255を介して加えられ、加えられたブロックは、フィルタ部260を経る。フィルタ部260は、デブロッキングフィルタ、SAO、ALFのうち少なくとも一つ以上を復元ブロックまたは復元ピクチャに適用することができる。フィルタ部260は、再構成された映像、即ち、復元映像を出力する。復元映像は、参照映像バッファ270に格納されて画面間予測に使われることができる。
前記映像復号化装置200に含まれているエントロピー復号化部210、逆量子化部220、逆変換部230、イントラ予測部240、動き補償部250、フィルタ部260及び参照映像バッファ270のうち、映像の復号化に直接的に関連した構成要素、例えば、エントロピー復号化部210、逆量子化部220、逆変換部230、イントラ予測部240、動き補償部250、フィルタ部260などを他の構成要素と区分して復号化部またはデコーディング部で表現することができる。
また、映像復号化装置200は、ビットストリームに含まれているエンコーディングされた映像に関連した情報をパーシングするパーシング部(図示せず)をさらに含むことができる。パーシング部は、エントロピー復号化部210を含むこともでき、エントロピー復号化部210に含まれることもできる。また、このようなパーシング部は、デコーディング部の一つの構成要素で具現されることもできる。
図3は、本発明が適用されることができる、複数階層を利用したスケーラブルビデオコーディング構造の一実施例を概略的に示す概念図である。図3において、GOP(Group of Picture)は、ピクチャ群、即ち、ピクチャのグループを示す。
映像データを送信するためには送信媒体が必要であり、その性能は、多様なネットワーク環境によって送信媒体別に異なる。このような多様な送信媒体またはネットワーク環境への適用のためにスケーラブルビデオコーディング方法が提供されることができる。
スケーラブルビデオコーディング方法は、階層(layer)間のテクスチャ情報、動き情報、残余信号などを活用して階層間重複性を除去して符号化/復号化性能を高めるコーディング方法である。スケーラブルビデオコーディング方法は、送信ビット率、送信エラー率、システムリソースなどの周辺条件によって、空間的、時間的、画質的な観点で多様なスケーラビリティを提供することができる。
スケーラブルビデオコーディングは、多様なネットワーク状況に適用可能なビットストリームを提供することができるように、複数階層(multiple layers)構造を使用して実行されることができる。例えば、スケーラブルビデオコーディング構造は、一般的な映像符号化方法を利用して映像データを圧縮処理する基本階層を含むことができ、基本階層の符号化情報及び一般的な映像符号化方法を共に使用して映像データを圧縮処理する向上階層を含むことができる。
ここで、階層(layer)は、空間(spatial、例えば、映像の大きさ)、時間(temporal、例えば、符号化順序、映像出力順序、フレームレート)、画質、複雑度などを基準にした区分される映像及びビットストリーム(bit stream)の集合を意味する。また、基本階層は、参照階層またはBase layerを意味し、向上階層は、Enhancement layerを意味する。また、複数の階層は、相互間に従属性を有することもできる。
図3を参照すると、例えば、基本階層は、SD(standard definition)、15Hzのフレーム率、1Mbpsビット率で定義されることができ、第1の向上階層は、HD(high definition)、30Hzのフレーム率、3.9Mbpsビット率で定義されることができ、第2の向上階層は、4K-UHE(ultra high definition)、60Hzのフレーム率、27.2Mbpsビット率で定義されることができる。前記フォーマット(format)、フレーム率、ビット率等は、一つの実施例に過ぎず、必要によって異なるように決まることができる。また、使われる階層の数も本実施例に限定されるものではなく、状況によって異なるように決まることができる。
例えば、送信帯域幅が4Mbpsの場合、前記第1の向上階層HDのフレームレートを減らして15Hz以下に送信することができる。スケーラブルビデオコーディング方法は、前記図3の実施例で詳述した方法により時間的、空間的、画質的スケーラビリティを提供することができる。
以下、スケーラブルビデオコーディングは、符号化観点において、スケーラブルビデオ符号化と同じ意味を有し、復号化観点において、スケーラブルビデオ復号化と同じ意味を有する。
前述したように、異種の通信網及び多様な端末によって、スケーラビリティは、現在ビデオフォーマットの重要な機能になった。AVC(Advanced Video Coding)の拡張標準であるSVC(Scalable Video Coding)は、圧縮効率を最大限維持すると共に、多様な範囲のビットレートを有するビットストリームを生成することができるように開発された。多様なデバイス及びネットワークの特性と変化を満たすために、SVCビットストリームは、容易に多様な方式で抽出されることができる。即ち、SVC標準は、空間的(spatial)、時間的(temporal)、画質(SNR)スケーラビリティを提供する。
一方、複数の階層を含むビットストリームは、パケットスイッチングネットワーク(packet-switching network)を介してビデオの適応的送信を容易にするNAL(Network Abstraction Layer)unitで構成される。複数の階層と同様に、ビットストリーム内の複数の多視点映像を含むマルチビュービデオコーディング(multi-view video coding)における複数の視点間の関係は、複数のレイヤをサポートするビデオでの空間的階層(spatial layer)間の関係と同様である。
コンテンツ伝達経路(content delivery path)における全てのノードでビットストリームを効果的且つ効率的に変換するためにはビットストリームのスケーラビリティ情報が相当重要である。現在単一レイヤに対するビデオコーディングの標準(high efficiency video coding)では、NAL Unit(以下、NALU)ヘッダ(header)に階層情報と関連した2個のフィールドであるtemporal_idとreserved_one_5bitsが存在する。3bitsの長さを有するtemporal_idは、ビデオビットストリームの時間的レイヤ(temporal layer)を示し、reserved_one_5bitsは、以後に他の階層情報を示すための領域に該当する。
時間的レイヤは、ビデオコーディングレイヤ(video coding layer、VCL)NAL unitで構成された時間的にスケールされることができるビットストリームのレイヤを意味し、時間的レイヤは、特定のtemporal_id値を有する。
本発明は、複数のレイヤをサポートするビットストリーム内で映像の抽出情報(extraction)及び階層的情報(scalability information)を効果的に記述し、それをシグナリングするための方法及びそれを具現する装置に関する発明である。
本発明では、ビットストリームを2つのタイプ、時間スケーラビリティ(temporal scalability)のみをサポートする基本タイプ(base type)と、時間を含む空間/画質/視点をサポートするスケーラビリティを有することができる拡張タイプ(extended type)とに分けて説明する。
ビットストリームの第1のタイプは、単一階層ビデオをサポートするビットストリームに対するものであり、第2のタイプは、HEVCベースの階層的ビデオ符号化で向上階層のためのものである。以下、2つのビットストリームタイプのスケーラビリティ情報を表現するための改善方案を提案する。本発明によると、拡張タイプにおいて、5bitのreserved_one_5bitsは、スケーラブル階層の識別子を示すlayer_idとして使われることができる。
NALUヘッダからnal_ref_flag除去
nal_ref_flagは、非参照ピクチャ(non-reference picture)を示すために使われる。この情報は、非参照ピクチャと参照ピクチャ(reference picture)との間の概略的な優先順位を示すが、送信のためのnal_ref_flagの使用は多少制限的である。
参照ピクチャ(Reference picture)は、デコーディング順序上、後続のピクチャ(subsequent pictures)のデコーディング時、画面間予測のために使われることができるサンプルを含むピクチャを意味する。
非参照ピクチャ(non-reference picture)は、デコーディング順序上、後続のピクチャのデコーディング時、画面間予測のために使われないサンプルを含むピクチャを意味する。
nal_ref_flagは、エンコーディング時、該当nalユニットが全体ビットストリーム上で非参照ピクチャであるか、または参照ピクチャであるかを示す情報を示すフラグである。
nal_ref_flagが1の場合、NALUは、SPS(sequence parameter set)、PPS(picture parameter set)、APS(adaptation parameter set)または参照ピクチャのスライスを含むことを意味し、nal_ref_flagが0の場合、NALUは、非参照ピクチャの一部または全部を含むスライスを含むことを意味する。
このとき、nal_ref_flag値が1であるNALUは、参照ピクチャのスライスを含むことができ、nal_ref_flagは、VPS(video parameter set)、SPS(sequence parameter set)、PPS(picture parameter set)のNALUに対して1の値を有する。特定ピクチャのVCL NALUのうち一つが、nal_ref_flag値が0の場合、該当ピクチャの全てのVCL NALUに対してnal_ref_flagは、0の値を有する。
一方、全ての非参照ピクチャ(non-reference picture)、特に、大部分最上位時間的レイヤに該当する非参照ピクチャが抽出されると、抽出後に残った全てのピクチャのnal_ref_flagは1になる。
しかし、適応変換された(抽出された)ビットストリームの一部ピクチャ、即ち、残ったビットストリームで最上位時間的レイヤに該当するピクチャは、nal_ref_flagが1であるとしても非参照ピクチャになる。
即ち、NALUヘッダの他のシンタックス要素(例えば、temporal_id)が適応変換(抽出)をサポートするのに一層効果的である。即ち、ビットストリームが含む全体時間的レイヤの個数とNALUヘッダのtemporal_id値を利用し、所望の時間的レイヤを含むビットストリームを抽出することができる。
また、nal_ref_flagは、nal_ref_flagを含むNALUで構成されたピクチャをデコーディング(復元)した後、DPB(decoded picture buffer)のようなメモリに格納する時、該当ピクチャを以後に参照ピクチャとして使用するかどうかを表示する時も使われることができる。nal_ref_flagが1の場合、以後に参照ピクチャとして使われると表示し、nal_ref_flagが0の場合、以後に参照ピクチャとして使用しないと表示することができる。
nal_ref_flagを介して該当NALUが非参照ピクチャであるか、または参照ピクチャであるかを判断せずに、デコーディングされたピクチャをDPBに格納する時、参照ピクチャで表示することができる。この場合、デコーディングされたピクチャが非参照ピクチャであるが、参照ピクチャで表示されても、デコーディング順序上、該当ピクチャの次のピクチャをデコーディングするにあたって、次のピクチャのヘッダ(slice header)に伝達される参照ピクチャリストに該当ピクチャが含まれていないため、問題が発生しない。
即ち、次のピクチャをデコーディングする時、スライスヘッダに含まれている参照ピクチャリストによって以前にデコーディングされたピクチャが参照ピクチャであるか、または非参照ピクチャであるかが表示される。したがって、nal_ref_flagを介してデコーディングされたピクチャが参照ピクチャであるかどうかが判断されずに、参照ピクチャで表示されても、デコーディングされたピクチャを参照ピクチャまたは非参照ピクチャと判断するのに問題が発生しない。
本発明では、NALUヘッダからnal_ref_flagを削除し、またはnal_ref_flagの意味(semantics)を変更することを提案する。nal_ref_flag削除と関連した実施例は、下記の通りである。
実施例1
nal_ref_flagをslice_ref_flagに変更し、フラグの位置をNALUヘッダからスライスヘッダ(slice header)に移す。スライスヘッダのシンタックスは、表1のように修正されることができる。
表1において、slice_ref_flagの値が1の場合、スライスが参照ピクチャの一部であることを指示し、0の場合、スライスが非参照ピクチャの一部であることを指示する。
実施例2
nal_ref_flagをau_ref_flagに変更し、フラグの位置をNALUヘッダからアクセスユニットデリミタ(access unit delimiter)に移す。アクセスユニットデリミタのシンタックスは、表2の通りである。
表2において、au_ref_flagが1の場合、アクセスユニットが参照ピクチャを含むことを指示し、0の場合、アクセスユニットが非参照ピクチャを含むことを指示する。
実施例3
nal_ref_flagを他のシンタックスに移動させずに、nal_ref_flagをNALUヘッダから削除する。
エンコーディング時、全体ビットストリームで非参照ピクチャであるか、または参照ピクチャであるかを示す1ビットのフラグ情報であるnal_ref_flagが削除されると、nal_ref_flagによって実行されたピクチャが参照ピクチャであるかどうかに対する判断は、他の過程を介して実行されることができる。受信されたピクチャをデコーディングした後、デコーディングされたピクチャをDPB(decoded picture buffer)に無条件参照ピクチャで表示する。即ち、デコーディングされたピクチャが参照ピクチャであるかどうかを判断せずに、参照ピクチャで表示されることができる。
その後、デコーディングされたピクチャの次のピクチャに対するスライスヘッダをパーシングし、スライスヘッダに含まれている参照ピクチャ情報に基づいてデコーディングされたピクチャが参照ピクチャであるか、または非参照ピクチャであるかを表示することができる。
実施例4
NALUヘッダからnal_ref_flagを削除し、非参照ピクチャのNALUという情報を示すためにtemporal_idを使用することができる。temporal_idは“7”、またはビットストリームに含まれている最大時間的レイヤの個数-1(即ち、max_temporal_layers_minus1)、または“0”を除いた既設定された値になることができる。
実施例5
NALUヘッダからnal_ref_flagを削除し、非参照ピクチャのNALUという情報を示すためにreserved_one_5bitsをpriority_id構成要素として使用することができる。priority_idは、該当NALUの優先順位(priority)を示す識別子であって、異なる空間、時間及び画質に関係なく優先順位によるビットストリーム抽出機能を提供するために使われる。
即ち、もし、temporal_id=Taが最上位時間的レイヤの識別子である場合、temporal_id=Taであり、priority_id=31(または、他の特定値)であるNALUを非参照ピクチャのNALUであることを示すために使用する。
nal_ref_flagをシグナリングするために使われた1bitは、下記のうちいずれか一つとして使われることができる。
(1)nal_unit_typeの指示に使われることができる。nal_unit_typeは、7bits信号になることができ、NALUタイプの個数は、2倍に増加することができる。
(2)temporal_idの指示に使われることができる。temporal_idは、4bits信号になることができ、最大時間的レイヤの数が2倍に増加することができる。
(3)layer_idを指示するために使われることができる。layer_idは、階層的ビットストリームのスケーラブル階層の識別子を意味し、reserved_one_5bitsシンタックス要素によってシグナリングされることができる。スケーラブル階層を識別するために使われたreserved_one_5bitsの5bitにnal_ref_flagのシグナリングのために使用した1bitが追加されることで、layer_idは6bit信号になることができる。6bitを使用するようになると、64個のスケーラブル階層を識別することができる。
(4)reserved_one_5bitsがpriorityを示すかどうかを知らせるflagとして使われることができる。
(5)reserved_bitとして使われることができる。
もし、nal_ref_flagをNALUヘッダから削除しない場合、nal_ref_flagの意味は、下記のように修正されることができる。
nal_ref_flagが0の場合、NALUは、非参照ピクチャのスライスのみを含むことを指示し、nal_ref_flagが1の場合、NALUは、参照ピクチャまたは非参照ピクチャのスライスを含むことができることを指示する。
ビデオパラメータセットの活性化シグナリング
ビデオパラメータセット(video parameter set)は、映像をデコーディングするための最も基本的な情報を含み、既存のSPSに存在した内容を含むことができる。
ビデオパラメータセットには、時間的スケーラビリティをサポートする時間的レイヤを示すサブレイヤ(sub-layer)に対する情報と、空間的(spatial)、クオリティ的(quality)及び視点的(view)スケーラビリティをサポートする複数の階層に対する情報とを含むことができる。即ち、ビデオパラメータセットは、複数の階層情報、即ち、HEVC extensionのためのシンタックスを含むこともできる。
A.ビデオパラメータセット(Video Parameter Set)
ビデオパラメータセットに対するシンタックスは、表3の通りである。
表3において、大部分のシンタックスは、単一レイヤを含むビットストリームに適用されるSPSシンタックスと同じ意味を有し、追加的な部分は、下記の通りである。
-video_parameter_set_idは、ビデオパラメータセット(video parameter set)の識別子を意味し、SPS(sequence parameter set)、SEI(supplemental enhancement information)、アクセスユニットデリミタ(access unit delimiter)で参照されることができる。
-priority_id_flagが1の場合、reserved_one_5bitsがSVC標準のpriority_idと同じく使われることを意味し、priority_id_flagが0の場合、reserved_one_5bitsがlayer_idとして使われることを意味する。
-extension_info_flagが0の場合、ビットストリームがHEVCの単一階層標準に従うことを指示し、1の場合、スケーラビリティのサポートのための向上階層(HEVC extensionをサポートする場合)を示し、階層と関連した情報が提供される。
B.シーケンスパラメータセット(Sequence Parameter Set、SPS)修正
表4のように、既存シンタックスのうち一部は、VPSに反映され、SPSから削除されることができる。一方、SPSにはvps_idシンタックス要素が追加されることができる。vps_idが追加されたSPSシンタックスは、表4の通りである。表4において、削除されたシンタックスは、シンタックス中間に線を引いて表現される。
vps_idは、SPSにより参照されるビデオパラメータセット(video parameter set)を識別するための識別子を指示し、vps_idは、0~Xの範囲を有することができる。
C.ビデオパラメータセット(Video Parameter Set)のための活性化(activation)シグナリング
スライスヘッダには、該当スライスが参照するピクチャパラメータセットに対するインデックス情報が含まれており、ピクチャパラメータセットには、該当ピクチャが参照するシーケンスパラメータセットに対するインデックス情報が含まれている。シーケンスパラメータセットには、該当シーケンスが参照するビデオパラメータセットに対する情報が含まれている。このようにパラメータセットに対する情報をパーシングし、パーシングされた該当パラメータセット情報を参照することを活性化(activation)という。
特定パラメータセットに対する情報を利用するために、即ち、パラメータセットを活性化するためにはスライスヘッダから順次にパーシングされなければならない。いずれのSPSが活性化されるか(active)を知るために、全てのスライスヘッダ(slice header)及び関連したPPSが分析されなければならないことを意味する。
単一階層を含むビットストリームのうち、サブレイヤ(時間的レイヤ)の中から一部を抽出する時、抽出器(extractor)は、NALUヘッダと複数のパラメータセット(parameter set)を分析(パーシング)する必要がある。
もし、ビデオパラメータセットまたはシーケンスパラメータセットにNALUの抽出のための情報が含まれている場合、抽出器は、スライスヘッダから順次に上位のパラメータセットをパーシングしなければならない。これは抽出器がパラメータセット(parameter set)とスライスヘッダ(slice header)の全てのシンタックス要素を理解しなければならないということを意味する。
また、映像のデコーディング過程でも複雑なパーシング過程無しでvps_idまたはsps_idを探し、必要なパラメータセットのみを活性化することができる。この場合、ビデオパラメータセットまたはシーケンスパラメータセットが活性化されるパラメータインデックス情報を含む場合、複雑なスライスヘッダ(slice header)及び関連したPPSに対するパーシング手順を減少させることができる。
一方、このようなシンタックスの要素のうち、一部分のみがビットストリーム抽出のために必要な情報を含むことができる。それにも拘わらず、抽出器が全てのシンタックス要素を分析することは、大きい負担になることができる。このような問題を解決するために、下記のような方法を提案する。
本発明において、パラメータセットの活性化(activation)は、抽出器がスライスヘッダ(slice header)及びそれと関連したPPS(picture parameter set)の分析無しでいずれのパラメータセットが活性化されるかを知ることができるようにシグナリングすることを意味する。
本発明によると、いずれのビデオパラメータセット、シーケンスパラメータセットまたはピクチャパラメータセットが活性化されるかどうかを別途にシグナリングすることで、抽出器は、全てのスライスヘッダ(slice header)及び関連したPPSを分析しなければならない負担を減少させることができる。
ビデオパラメータセットは、アップデートされることもできる。抽出器がスライスヘッダを分析せずに、現在活性化されるVPS及び関連したSPSまたはPPSを知ることができるように、下記の方法のうち一つが使われることができる。
(1)vps_id、sps_id、pps_idをアクセスユニットデリミタ(access unit delimiter)に含ませることができる。vps_id、sps_id、pps_idは、各々、関連したAU内のNALUのために使われたビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセットの識別子を示す。
アクセスユニットデリミタ(Access unit delimiter)内に各識別子の存在可否を示すために、vps_id_present_flag、sps_id_present_flag、pps_id_present_flagを使用し、提案するアクセスユニットデリミタのシンタックスは、表5の通りである。
(1-1)他の方法は、表6のように、sps_id及びpps_idを除いてvps_idのみをアクセスユニットデリミタ(access unit delimiter)に含ませることができる。
(2)ビデオパラメータセットの活性化シグナリングのための他の方法は、新たなSEIメッセージ(parameter_set_reference)を使用することである。SEIメッセージは、関連したAU内のNALUのために使われたビデオパラメータセット、シーケンスパラメータセット、ピクチャパラメータセットの識別子を示すvps_id、sps_id、pps_idの存在可否を知らせるためのシンタックスを含む。
各識別子の存在可否を示すために、vps_id_present_flag、sps_id_present_flag、pps_id_present_flagシンタックスが使われることができ、SEIシンタックスは、表7の通りである。
(2-1)また、表8のようにpps_idを除いてsps_idとvps_idをSEIメッセージに含ませて活性化を知らせることもできる。SEIメッセージに含まれているsps_idとvps_idは、該当SEIメッセージと関連したアクセスユニット(access unit)のビデオコーディングレイヤNALUが参照するsps_idとvps_idを含むことができる。したがって、sps_idとvps_idは、活性化される可能性があるパラメータセットの情報を示すことができる。
表8において、vps_idは、現在活性化されるビデオパラメータセットのvideo_parameter_set_idを示す。vps_id値は、0~15の値を有することができる。
sps_id_present_flagが1の値を有する場合、現在活性化されるシーケンスパラメータセットのsequence_parameter_set_idが該当SEIメッセージに含まれていることを示し、sps_id_present_flagが0の値を有する場合、活性化されるシーケンスパラメータセットのsequence_parameter_set_idが該当SEIメッセージに含まれていないことを示す。
sps_idは、現在活性化されるシーケンスパラメータセットのsequence_parameter_set_idを示す。sps_idは、0~31の値、より限定的には、0~15の値を有することができる。
psr_extension_flagが0の場合、parameter set reference SEI message extensionシンタックス要素がparameter set reference SEIメッセージに含まれていないことを意味し、psr_extension_flagが1の場合、parameter set reference SEI message extensionシンタックス要素をparameter set reference SEIメッセージが含まれてシンタックスを拡張して使用することを意味する。
psr_extension_lengthは、psr_extension_dataの長さを示す。psr_extension_lengthは、0~256の範囲を値を有することができ、psr_extension_data_byteは、どのような値も有することができる。
(2-2)また、表9のように、pps_idを除いて一つ以上のsps_idとvps_idをSEIメッセージに含ませてシグナリングすることもできる。
表9において、vps_idは、現在活性化されるビデオパラメータセットのvideo_parameter_set_idを示す。vps_idは、0~15の値を有することができる。
num_reference_spsは、現在活性化されるvps_idを参照するシーケンスパラメータセットの個数を示す。
sps_id(i)は、現在活性化されるシーケンスパラメータセットのsequence_parameter_set_idを示し、sps_idは、0~31の値、より限定的には、0~15の値を有することができる。
(2-3)また、表10のように、sps_id及びpps_idを除いてvps_idのみをSEIメッセージに含ませてシグナリングすることもできる。
(3)ビデオパラメータセットの活性化シグナリングのための他の方法は、Buffering period SEIメッセージにvps_id、sps_id、pps_idを知らせる情報を含ませることである。表11は、vps_id、sps_id、pps_id識別子の存在可否を示すためのvps_id_present_flag、sps_id_present_flag、pps_id_present_flagを含んでいるシンタックスを示す。
(3-1)また、表12のように、sps_id及びpps_idを除いてvps_idのみをBuffering period SEIメッセージに含ませてパラメータセットの活性化をシグナリングすることもできる。
(4)パラメータセットの活性化シグナリングのための他の方法は、Recovery point SEIメッセージにvps_id、sps_id、pps_idを知らせる情報を含ませることである。表13は、vps_id、sps_id、pps_id識別子の存在可否を示すためのvps_id_present_flag、sps_id_present_flag、pps_id_present_flagを含んでいるシンタックスを示す。
(4-1)また、表14のように、sps_id及びpps_idを除いてvps_idのみをRecovery point SEIメッセージに含ませて知らせる方法もある。
前述したvps_idまたはsps_idを伝達するメッセージは、IRAP(intra random access point)アクセスユニットに含まれることができる。
前述した情報シグナリング方法のうち少なくとも一つがアクセスユニットに含まれて使われる場合、抽出器は、ビットストリームを抽出するために、前記シグナリング方法を介してvps_id、sps_id、pps_id値を探し、一つ以上のvps/sps/ppsを管理することができる。
また、デコーディング装置またはデコーディングを実行するデコーディング部は、前記シグナリング方法を介してvps_id、sps_id、pps_id値を探し、該当パラメータセットを活性化してパラメータセットと関連したAUをデコーディングすることができる。
拡張タイプ(Extended type)におけるビットストリームの表現
以下、階層拡張をサポートするビットストリームを含む場合、スケーラブル階層に対する情報を表示し、これをシグナリングするためのVPSのextension_info()と新たなSEIメッセージを提案する。拡張タイプ(Extended type)において、ビットストリームを表現するためには下記のような情報がシグナリングされることができる。
layer_idは、レイヤの優先順位(priority)値を伝達するかどうかを示すものをシグナリングする。
このとき、各layer_id値に対応して空間階層(dependency_id値により識別)、画質階層(quality_id値により識別)、視点(view_id値により識別)などをシグナリングすることができ、時間的レイヤは、NALUヘッダのtemporal_idにより識別されることができる。
また、layer_idと関連したビデオの領域はregion_idによりシグナリングされることができる。
また、スケーラブル階層のうち、dependency情報、各スケーラブル階層のbitrate情報、各スケーラブル階層の品質情報がシグナリングされることができる。
extension_info()シンタックスは、表15の通りである。
表15のシンタックスに対する意味は、下記の通りである。
-num_frame_sizes_minus1 plus1は、符号化されたビデオシーケンス内に含まれている他の種類の映像の大きさ情報(例えば、pic_width_in_luma_samples[i]、pic_height_in_luma_samples[i]、pic_cropping_flag[i]、pic_cropping_flag[i]、pic_crop_left_offset[i]、pic_crop_right_offsetv[i]、pic_crop_top_offset[i]、pic_crop_bottom_offset[i])の最大個数を示す。num_frame_sizes_minus1値は、0~Xの範囲を有することができる。他の種類の映像とは、異なる解像度を有する映像を含むことができる。
-num_rep_formats_minus1 plus1は、符号化されたビデオシーケンス内に含まれている他の種類のビット深さ(bit depth)と色差フォーマット(chroma format)(例えば、bit_depth_luma_minus8[i]、bit_depth_chroma_minus8[i]、及びchroma_format_idc values[i])の最大個数を示す。num_rep_formats_minus1値は、0~Xの範囲を有する。
-pic_width_in_luma_samples[i]、pic_height_in_luma_samples[i]、pic_cropping_flag[i]、pic_cropping_flag[i]、pic_crop_left_offset[i]、pic_crop_right_offsetv[i]、pic_crop_top_offset[i]、pic_crop_bottom_offset[i]は、符号化されたビデオシーケンスのi番目のpic_width_in_luma_samples、pic_height_in_luma_samples、pic_cropping_flag、pic_cropping_flag、pic_crop_left_offset、pic_crop_right_offsetv、pic_crop_top_offset、pic_crop_bottom_offset値を示す。
-bit_depth_luma_minus8[i]、bit_depth_chroma_minus8[i]、及びchroma_format_idc[i]は、符号化されたビデオシーケンスのi番目のbit_depth_luma_minus8、bit_depth_chroma_minus8、及びchroma_format_idc値を示す。
-num_layers_minus1は、ビットストリームで可能なスケーラブル階層の数を示す。
-dependency_id_flagが1の場合、layer_id値と関連した一つ以上のdependency_id値があることを示す。
-quality_id_flagが1の場合、layer_id値と関連した一つ以上のquality_id値があることを示す。
-view_id_flagが1の場合、layer_id値と関連した一つ以上のview_id値があることを示す。
-region_id_flagが1の場合、layer_id値と関連した一つ以上のregion_id値があることを示す。
-layer_dependency_info_flagが1の場合、スケーラブル階層のdependency情報を提供することを示す。
-frame_size_idx[i]は、layer_id値がiである階層に適用されるframe sizeのセットに対するインデックスを示す。frame_size_idx[i]は、0~X範囲の値を有する。
-rep_format_idx[i]は、layer_id値がiである階層に適用されるビット深さ(bit depth)と色差フォーマット(chroma format)のセットに対するインデックスを示す。rep_format_idx[i]は、0~X範囲の値を有する。
-one_dependency_id_flag[i]が1の場合、layer_id値がiと関連した一つのdependency_idのみが存在することを示し、one_dependency_id_flag[i]が0の場合、layer_id値がiと関連した二つまたはそれ以上のdependency_id値が存在することを示す。
-dependency_id[i]は、layer_id値がiと関連したdependency_id値を示す。
-dependency_id_min[i]及びdependency_id_max[i]は、layer_id値がiと関連した最小dependency_id値と最大dependency_id値を各々示す。
-one_quality_id_flag[i]が1の場合、layer_id値がiと関連した一つのquality_idのみ存在することを示し、one_quality_id_flag[i]が0の場合、layer_id値がiと関連した二つまたはそれ以上のquality_id値が存在することを示す。
-quality_id[i]は、layer_id値がiと関連したquality_id値を示す。
-quality_id_min[i]及びquality_id_max[i]は、layer_id値がiと関連した最小qualtiy_id値と最大quality_id値を各々示す。
-one_view_id_flag[i]が1の場合、layer_id値がiと関連した一つのview_idが存在することを示し、0の場合、layer_id値がiと関連した二つまたはそれ以上のview_id値が存在することを示す。
-view_id[i]はlayer_id値がiと関連したview_id値を示す。
-depth_flag[i]が1の場合、layer_id値がiである現在スケーラブル階層が3Dビデオビットストリームの深さ情報を含んでいることを示す。
-view_id_min[i]及びview_id_max[i]は、layer_id値がiと関連した最小view_id値と最大view_id値を各々示す。
-num_regions_minus1 plus1は、layer_id値がiと関連した領域の個数を示す。
-region_id[j]は、layer_id値がiと関連した領域jの識別子を示す。
-num_directly_dependent_layers[i]は、現在スケーラブル階層iが直接的に関連したスケーラブル階層(デコーディング時、予測信号の形成に必要な階層)の数を示す。
-directly_dependent_layer_id_delta_minus1[i][j] plus1は、現在スケーラブル階層であるlayer_id[i]と、現在スケーラブル階層が直接的に関連したj番目のスケーラブル階層の階層識別子との間の差を示す。j番目の直接的に関連したスケーラブル階層の階層識別子は、(layer_id[i]-directly_dependent_layer_id_delta_minus1[i][j]-1)である。
他の実施例に係るextension_info()シンタックスは、表16の通りである。
表16に示すように、pic_width_in_luma_samples[i]及びpic_height_in_luma_samples[i]、bit_depth_luma_minus8[i]、bit_depth_chroma_minus8[i]、及びchroma_format_idc[i]は、異なるリプリゼンテーションフォーマットに対する情報にシグナリングされることができる。
他の実施例によると、pic_width_in_luma_samples[i]、pic_height_in_luma_samples[i]、bit_depth_luma_minus8[i]、bit_depth_chroma_minus8[i]、及びchroma_format_idc[i]は、異なる映像、即ち、異なる解像度を有するピクチャに対する情報にシグナリングされることができる。
ビットレートとクオリティ情報のシグナリングのための活性化SEIメッセージに対するシンタックスは、表17の通りである。
表17のシンタックスに対する意味は、下記の通りである。
-num_layers_minus1は、ビットストリームで提供可能なスケーラブル階層の数を示す。
-bitrate_info_flagが1の場合、各々のスケーラブル階層に対するビットレート情報が提供されることを指示する。
-quality_info_flagが1の場合、各々のスケーラブル階層に対するクオリティ値に対する情報が提供されることを示す。
-quality_type_flagが1の場合、各々のスケーラブル階層に対するクオリティタイプに対する情報が提供されることを示す。
-max_bitrate[i]は、layer_id値がiであるスケーラブル階層の最大ビットレートを示し、average_bitrate[i]は、layer_id値がiであるスケーラブル階層の平均ビットレートを示す。
-quality_value[i]は、スケーラブル階層iのクオリティ値を示す。
-quality_type_uri[QualityTypeUriIdx]は、UTF-8 characterで符号化されたnull0terminated stringのQualityTypeUriIdx-thバイト(byte)であり、クオリティ値のタイプに対する表現を含むURI(universal resource identifier)を示す。
以下、効率的なビットストリーム抽出のための記述方式の改善として、VPS(video parameter set)を改善させる方案を提案する。
階層参照(Layer referencing)
複数の階層をサポートするビットストリームでlayer_idとスケーラビリティ次元ID(scalability dimension ID)との間の関係を指示する方法として、layer_idとスケーラビリティ次元ID(scalability dimension ID)との間のマッピング方法を知らせる第1の方法と、layer_idのビットを分割(partitioningまたはsplicing)して割り当てられたビットにどのような次元タイプが存在するかを知らせる第2の方法とが存在できる。
複数の階層をサポートするビットストリームで次元タイプ(dimension type)とは、空間的スケーラビリティ、クオリティ的スケーラビリティのようなスケーラビリティのタイプを意味し、次元ID(dimension ID)は、特定の次元タイプが有することができるレイヤに対するインデックスを意味する。
複数の階層をサポートするビットストリームで、特定次元(dimension)では特定階層(理解を助けるために、例えば、単一階層のビットストリームで時間的スケーラビリティをサポートする場合、時間的レイヤ(sub-layer)3)が次の低い階層(例えば、時間的レイヤ(sub-layer))を直接的に参照することは一般的である。
また、例えば、空間スケーラビリティをサポートする場合は、空間レイヤ2が次の低い空間階層1を直接的に参照することを意味する。
したがって、前記のような場合を示すために、基本参照(default direct dependency)を有する次元を先に記述することを提案する。
その後、特定連関性(dependency)を階層(scalable layer)に対する説明パート(description loop)で具体的に記述することができる。
以下、前記二つの方法を利用して階層参照に対するシグナリングをするための方案を提示する。vps_extensionのための改善されたシンタックスは、表18乃至表21の通りである。
表18は、第1の方法を利用してlayer_idとスケーラビリティ次元ID(scalability dimension ID)をマッピングさせているシンタックスを示している。表18のシンタックスに対する意味は、下記の通りである。
-all_default_dependency_flagが1の場合、全ての階層次元が基本参照(default dependency)を有することを指示する。即ち、特定次元iにおいて、dimension_id[i]=nである階層は、デフォルトとしてdimension_id[i]=n-1を有する他の階層を直接的に参照することを意味する。
all_default_dependency_flagが0の場合、全ての階層次元が基本参照を有するものではないことを示す。all_default_dependency_flagが0の場合、下のnum_default_dim_minus1がシグナリングされる。
-num_default_dim_minus1は、基本参照(default dependency)を有する次元の数を示す。
-dimension[j]は、基本参照(default dependency)を有する階層次元のタイプを明示する。即ち、基本参照(default dependency)を有する次元の数を一つずつ増加させながら、基本参照を有する階層次元のタイプに対する情報がシグナリングされる。該当次元において、上位階層(例えば、dimension_id=n)は、次の下位階層(例えば、dimension_id=n-1)を直接的に参照する。
-specific_dependency_flag[i]が1の場合、該当階層のために具体的に記述された直接参照(direct dependences/references)があることを意味する。したがって、specific_dependency_flag[i]が1の場合、該当階層が直接参照するレイヤの個数と該当レイヤのIDがシグナリングされる。
階層Cが階層Bを直接的に参照するということは、階層Cを復号化するために、デコーダは、階層Bの情報(デコーディングされ、またはデコーディングされない)を使用しなければならないという意味である。しかし、もし、階層Bが直接的に階層Aの情報を使用する場合、階層Cは階層Aを直接的に参照すると判断されない。
表19は、第2の方法を利用してlayer_idのビットをスケーラビリティ次元タイプに割り当て、割り当てられた次元タイプの長さをシグナリングするシンタックスを示している。
表19に含まれているnum_dimensions_minus1は、NALUヘッダ内に存在する階層次元の数を示す。即ち、NALUヘッダに存在する階層次元の数を把握し、該当階層次元毎に存在する階層タイプと次元タイプに割り当てられたビット数を把握する。
表19のシンタックス階層参照のためのシンタックスall_default_dependency_flag、num_default_dim_minus1、dimension[j]及びspecific_dependency_flag[i]に対する説明は、表18に含まれているシンタックスと同じ意味を有する。
表20及び表21は、表18及び表19と異なる方式のシンタックスを示す。表20は、第1の方法を利用する場合、基本参照(default dependency)を示す他のシンタックスを示し、表21は、第2の方法を利用する場合、基本参照(default dependency)を示す他のシンタックスを示す。
表20及び表21のシンタックスのうち、表18及び表19と重複するシンタックスに対する説明は省略する。
表20及び表21に含まれている新たなシンタックスdefault_dependency_flag[i]は、次元タイプiが基本参照を使用するかどうかを示す。該当次元において、高い階層(例えば、dimension_id[i]=n)は、下の階層(例えば、dimension_id[i]=n-1)を直接的に参照する。
即ち、num_dimensions_minus1とdimension_type[i]によって特定次元タイプが指定される場合、該当次元タイプが基本参照を使用するかどうかをシグナリングし、そうでない場合、該当階層が直接的に参照するレイヤに対する情報をシグナリングする。
本発明による次元タイプ(dimensions type)を示す場合、表22の通りである。
本発明によると、既存の次元タイプで次元タイプ4及び5、即ち、priority ID及びregion IDを示すタイプが追加された。
dimension_type[i][j]は、基本的に0~5の値を有することができる。他の値は、以後に定義されることができ、デコーダは、0~5の値でない場合、dimension_type[i][j]の値を無視することができる。
dimension_typeが4の値を有する場合、該当dimension_idは、SVC標準でビットストリームのpriority階層のidを示す。
dimension_typeが5の値を有する場合、該当dimension_idは、ビットストリームの特定領域のidを示す。特定領域は、ビットストリーム内で一つ以上の時空間セグメント(spatial-temporal segment)になることができる。
図4は、本発明による映像情報のエンコーディング方法を説明するための制御流れ図である。
図示されているように、符号化装置は、映像に関連した情報を含むNAL(Network Abstraction Layer)ユニットをエンコーディングする(S401)。
NALユニットのNALユニットヘッダは、NALユニットが非参照ピクチャの少なくとも一部または全部を含むスライスを含むかどうかを示す情報を含まない。
一方、NALユニットヘッダは、スケーラブル階層をサポートするビットストリームでスケーラブル階層を識別するための階層識別情報を含んでいる。
このとき、NALユニットヘッダに含まれないNALユニットが非参照ピクチャの少なくとも一部または全部を含むスライスを含むかどうかを示す情報をシグナリングするために使われたビットは、階層識別情報をシグナリングするために使われることができる。
また、NALユニットは、映像のデコーディングのために必要な多様な前記パラメータセットに対する情報を含むことができる。
符号化装置は、活性化されるパラメータセットに対する情報を含むSEI(Supplemental enhancement information)メッセージを独立されたNALユニットにエンコーディングすることができる。
活性化されるパラメータセットに対する情報は、活性化されるビデオパラメータセットをインデクシングする情報及び活性化されるシーケンスパラメータセットをインデクシングする情報のうち少なくとも一つを含むことができる。
また、活性化されるパラメータセットに対する情報は、活性化されるビデオパラメータセットをインデクシングする情報、活性化されるビデオパラメータセットを参照するシーケンスパラメータセットの個数を示す情報、及びシーケンスパラメータセットをインデクシングする情報を含むことができる。
このようなパラメータセットに対する情報は、復号化装置が時間的スケーラビリティを提供するサブレイヤを抽出する時に利用されることができる。
また、デコーディング装置またはデコーディングを実行するデコーディング部は、ビデオコーディングレイヤNALUのデコーディング時に必要なパラメータセットを活性化する時、前記パラメータセットに対する情報を利用することができる。
符号化装置は、エンコーディングされた映像に関連した情報を含むNALユニットをビットストリームに送信する(S402)。
図5は、本発明による映像情報のデコーディング方法を説明するための制御流れ図である。
図5を参照すると、復号化装置は、ビットストリームを介してエンコーディングされた映像に関連した情報を含むNALユニットを受信する(S501)。
復号化装置は、NALユニットのヘッダ及びNALペイロード(payload)をパーシングする(S502)。映像情報に対するパーシングは、エントロピー復号化部または別途のパーシング部で実行されることができる。
復号化装置は、パーシングを介してNALユニットヘッダ及びNALペイロードに含まれている多様な情報を取得することができる。
NALユニットヘッダは、スケーラブル階層をサポートするビットストリームでスケーラブル階層を識別するための階層識別情報を含み、NALユニットのエンコーディング時、全体ビットストリームで非参照ピクチャであるか、または参照ピクチャであるかを示す1ビットのフラグ情報を含まない。
このとき、NALユニットヘッダに含まれないNALユニットが非参照ピクチャの少なくとも一部または全部を含むスライスを含むかどうかを示す情報をシグナリングするために使われたビットは、階層識別情報をシグナリングするために使われることができる。
また、復号化装置は、パーシングを介してSEIメッセージに含まれている該当SEIメッセージと関連したNALUをデコーディングするために必要なパラメータセットに対する情報を取得することができる。
活性化されるパラメータセットに対する情報は、活性化されるビデオパラメータセットをインデクシングする情報及び活性化されるシーケンスパラメータセットをインデクシングする情報のうち少なくとも一つを含むことができる。
また、活性化されるパラメータセットに対する情報は、活性化されるビデオパラメータセットをインデクシングする情報、活性化されるビデオパラメータセットを参照するシーケンスパラメータセットの個数を示す情報、及びシーケンスパラメータセットをインデクシングする情報を含むことができる。
このようなパラメータセットに対する情報は、復号化装置が時間的スケーラビリティを提供するサブレイヤを抽出する時に利用されることができる。
追加的にパラメータセットに対する情報は、ビットストリームを復号化する時またはセッションネゴシエーション(例えば、IP網おけるストリーミング時、session negotiation)する時に利用されることができる。
前述した実施例において、方法は一連のステップまたはブロックで流れ図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当該技術分野において、通常の知識を有する当業者であれば、流れ図に示すステップが排他的でなく、他のステップが含まれ、または流れ図の一つまたはそれ以上のステップが本発明の範囲に影響を及ぼさすに削除可能であることを理解することができる。
前述した実施例は、多様な態様の例示を含む。多様な態様を示す全ての可能な組合せを記述することはできないが、当該技術分野の通常の知識を有する者であれば、他の組合せが可能であることを認識することができる。したがって、本発明は、特許請求の範囲内に属する全ての交替、修正、及び変更を含む。