(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-20
(45)【発行日】2023-10-30
(54)【発明の名称】ピクチャ復号化方法およびピクチャ符号化方法
(51)【国際特許分類】
H04N 19/70 20140101AFI20231023BHJP
H04N 19/30 20140101ALI20231023BHJP
【FI】
H04N19/70
H04N19/30
(21)【出願番号】P 2022128444
(22)【出願日】2022-08-10
(62)【分割の表示】P 2021023559の分割
【原出願日】2014-01-06
【審査請求日】2022-08-10
(31)【優先権主張番号】10-2013-0001825
(32)【優先日】2013-01-07
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2013-0003643
(32)【優先日】2013-01-11
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2013-0039044
(32)【優先日】2013-04-10
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2013-0071845
(32)【優先日】2013-06-21
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2013-0082480
(32)【優先日】2013-07-12
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2013-0086839
(32)【優先日】2013-07-23
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2013-0118148
(32)【優先日】2013-10-02
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2014-0001045
(32)【優先日】2014-01-06
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】596099882
【氏名又は名称】エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート
【氏名又は名称原語表記】ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100152205
【氏名又は名称】吉田 昌司
(72)【発明者】
【氏名】カン、ジョン、ウォン
(72)【発明者】
【氏名】リー、ハ、ヒョン
(72)【発明者】
【氏名】リー、ジン、ホ
(72)【発明者】
【氏名】チェ、ジン、ス
(72)【発明者】
【氏名】キム、ジン、ウン
【審査官】岩井 健二
(56)【参考文献】
【文献】R. Skupin, V. George and T. Schierl,Generic HEVC high level syntax for scalability and adaptation,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-I0217r1,9th Meeting: Geneva, CH,2012年04月,pp.1-6
【文献】R. Skupin, V. George and T. Schierl,AHG9/AHG10: Design of the Video Parameter Set,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-J0257,10th Meeting: Stockholm, SE,2012年07月,pp.1-17
【文献】Ye-Kui Wang,Solutions considered for NAL unit header and video parameter set for HEVC extensions,JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-J1007,10th Meeting: Stockholm, SE,2012年07月,pp.1-6
【文献】Kazushi Sato,On inter-layer prediction enabling/disabling for HEVC scalable extensions,JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-K0175r1,11th Meeting: Shanghai, CN,2012年10月,pp.1-6
【文献】Jill Boyce,VPS syntax for scalable and 3D extensions,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-K0204,11th Meeting: Shanghai, CN,2012年10月,pp.1-6
【文献】Truong Cong Thang et al.,Proposal to Video Parameter Set and its Extension,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-K0228_r1,11th Meeting: Shanghai, CN,2012年10月,pp.1-6
【文献】Thomas Rusert,Parameter set design for HEVC extensions,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-K0276,11th Meeting: Shanghai, CN,2012年10月,pp.1-10
【文献】Truong Cong Thang et al.,Proposal to the Extension of Video Parameter Set,JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JCTVC-L0246,12th Meeting: Geneva, CH,2013年01月,pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
映像を復号化する方法であって、
ビットストリームから、前記映像に対する複数の時間サブレイヤの最大個数を示す第1の映像情報を取得するステップと、
第2の映像情報に対する複数の時間サブレイヤの個数が前記第1の映像情報により示される前記映像に対する複数の時間サブレイヤの最大個数に等しいと決定された場合、前記ビットストリームから、前記第1の映像情報に基づいて、前記映像に適用される最大DPBサイズ情報および最大遅延時間情報を含む前記第2の映像情報を取得するステップと、
前記ビットストリームを復号化することによって現在ブロックの予測ブロックを生成するステップと、
前記ビットストリームを復号化することによって前記現在ブロックの残差ブロックを取得するステップと、
前記残差ブロックを用いて前記現在ブロックの復元ブロックを生成するステップと、を含み、
映像パラメータセットは前記第1の映像情報を含
み、
前記最大DPBサイズ情報と前記最大遅延時間情報を取得するために使用されるパラメータ(i)の初期値はフラグの値に応じて異なる、映像復号化方法。
【請求項2】
前記第1の映像情報は、前記第1の映像情報が存在するか否かを表すフラグ情報に従って取得される、請求項1に記載の映像復号化方法。
【請求項3】
前記第1の映像情報を取得するステップは、映像パラメータ拡張情報でシグナリングされるサブレイヤの最大個数が映像パラメータセットでシグナリングされるサブレイヤの最大個数とは異なるレイヤに対するサブレイヤの最大個数に関する情報を取得する、請求項1に記載の映像復号化方法。
【請求項4】
前記第1の映像情報を取得するステップは、さらに、前記映像パラメータ拡張情報でシグナリングされるサブレイヤの最大個数が前記映像パラメータセットでシグナリングされるサブレイヤの最大個数に等しいかどうかを表すフラグ情報に基づいて前記第1の映像情報を取得する、請求項3に記載の映像復号化方法。
【請求項5】
映像を符号化する方法であって、
前記映像に対する複数の時間サブレイヤの最大個数を示す第1の映像情報を決定するステップと、
第2の映像情報に対する複数の時間サブレイヤの個数が前記第1の映像情報により示される前記映像に対する複数の時間サブレイヤの最大個数に等しいと決定された場合、前記第1の映像情報に基づいて、前記映像に適用される最大DPBサイズ情報および最大遅延時間情報を含む前記第2の映像情報を決定するステップと、
現在ブロックの予測ブロックを生成するステップと、
前記現在ブロックの前記予測ブロックに基づいて前記現在ブロックの残差ブロックを生成するステップと、
前記第1の映像情報、前記第2の映像情報、および前記残差ブロックを符号化することによる前記残差ブロックに関する情報を含むビットストリームを生成するステップと、を含み、
映像パラメータセットは前記第1の映像情報を含
み、
前記最大DPBサイズ情報と前記最大遅延時間情報を取得するために使用されるパラメータ(i)の初期値はフラグの値に応じて異なる、映像符号化方法。
【請求項6】
前記第1の映像情報が存在するか否かを表すフラグ情報を決定するステップをさらに含む、請求項5に記載の映像符号化方法。
【請求項7】
前記第1の映像情報を決定するステップは、映像パラメータ拡張情報でシグナリングされるサブレイヤの最大個数が映像パラメータセットでシグナリングされるサブレイヤの最大個数とは異なる前記第1の映像情報を決定する、請求項5に記載の映像符号化方法。
【請求項8】
ビットストリームを格納するためのデータ格納方法であって、
前記ビットストリームは映像符号化方法によって生成されるものであり、
前記映像符号化方法は、
映像に対する複数の時間サブレイヤの最大個数を示す第1の映像情報を決定するステップと、
第2の映像情報に対する複数の時間サブレイヤの個数が前記第1の映像情報により示される前記映像に対する複数の時間サブレイヤの最大個数に等しいと決定された場合、前記第1の映像情報に基づいて、前記映像に適用される最大DPBサイズ情報および最大遅延時間情報を含む前記第2の映像情報を決定するステップと、
現在ブロックの予測ブロックを生成するステップと、
前記現在ブロックの前記予測ブロックに基づいて前記現在ブロックの残差ブロックを生成するステップと、
前記第1の映像情報、前記第2の映像情報、および前記残差ブロックを符号化することによる前記残差ブロックに関する情報を含むビットストリームを生成するステップと、
映像パラメータセットは前記第1の映像情報を含
み、
前記最大DPBサイズ情報と前記最大遅延時間情報を取得するために使用されるパラメータ(i)の初期値はフラグの値に応じて異なる、データ格納方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ピクチャ符号化及び復号化に関し、より詳しくは、スケーラブルビデオコーディング(Scalable Video Coding;SVC)を基盤とするピクチャ符号化及び復号化に関する。
【背景技術】
【0002】
最近、マルチメディア(multimedia)環境が構築されつつ、多様な端末とネットワークが利用されており、これによるユーザの要求も多様化している。
【0003】
例えば、端末の性能とコンピューティング能力(computing capability)が多様になるに伴い、支援する性能も機器別に多様になっている。また、情報が転送されるネットワークもまた、有無線ネットワークのような外形的な構造だけでなく、転送する情報の形態、情報量と速度などの機能別にも多様になっている。ユーザは所望の機能に従って使用する端末とネットワークを選択し、また企業がユーザに提供する端末とネットワークのスペクトラムも多様になっている。
【0004】
これに関して、最近、HD(High Definition)解像度を有する放送が国内だけでなく、世界的に拡がってサービスされながら、多くのユーザが高解像度、高画質のピクチャに慣れてきている。これによって多くのピクチャサービス関連機関等が次世代映像機器に対する開発に多くの努力をしている。
【0005】
また、HDTVとともに、HDTVの4倍以上の解像度を有するUHD(Ultra High Definition)に対する関心が増大されるにつれて、より高い解像度、高画質のピクチャを圧縮して処理する技術に対する要求はさらに高まっている。
【0006】
ピクチャを圧縮して処理するため、時間的に以前及び/または以後のピクチャから、現在ピクチャに含まれている画素値を予測するインター(inter)予測技術、現在ピクチャ内の画素情報を用いて現在ピクチャに含まれている他の画素値を予測するイントラ(intra)予測技術、出現頻度の高いシンボル(symbol)に短い符号を割り当て、出現頻度の低いシンボルに長い符号を割り当てるエントロピーエンコーディング技術などが用いられ得る。
【0007】
前述したように、支援する機能が異なる各端末とネットワーク、そして多様化されたユーザの要求を考慮すると、支援されるピクチャの品質、大きさ、フレームなどもこれによって多様化される必要がある。
【0008】
このように、異種の通信網と多様な機能及び種類の端末によって、ピクチャの画質、解像度、大きさ、フレームレートなどを多様に支援するスケーラビリティ(scalability)は、ビデオフォーマットの重要な機能となっている。
【0009】
したがって、高効率のビデオ符号化方法を基盤に多様な環境でユーザが要求するサービスを提供するため、時間、空間、画質などの側面で効率的なビデオ符号化と復号化が可能となるようにスケーラビリティ機能を提供するのが必要である。
【発明の概要】
【発明が解決しようとする課題】
【0010】
本発明は、ピクチャ符号化/復号化効率を向上させることができるピクチャ符号化/復号化方法及び装置を提供する。
【0011】
本発明は、符号化/復号化効率を向上させることができるスケーラブルビデオコーディングで階層間の転換を行う方法及び装置を提供する。
【0012】
本発明は、ピクチャ符号化/復号化効率を向上させることができるスケーラブルビットストリームのスケーラビリティ情報を表現してシグナリングする方法及び装置を提供する。
【0013】
本発明は、ピクチャ符号化/復号化効率を向上させることができるスケーラブル階層のサブレイヤ情報を表現してシグナリングする方法及び装置を提供する。
【課題を解決するための手段】
【0014】
本発明の一実施例によれば、複数の階層を支援するピクチャ復号化方法が提供される。前記複数の階層を支援するピクチャ復号化方法は、前記複数の階層を含むビットストリームを受信する段階、及び前記ビットストリームをデコーディングして、前記複数の階層それぞれに対するサブレイヤの最大個数情報を獲得する段階を含む。
【0015】
本発明の他の実施例によれば、複数の階層を支援するピクチャ符号化方法が提供される。前記複数の階層を支援するピクチャ符号化方法は、前記複数の階層それぞれに対するサブレイヤの最大個数情報を決定する段階、及び前記サブレイヤの最大個数情報をエンコーディングして前記サブレイヤの最大個数情報を含むビットストリームを転送する段階を含む。
【0016】
本発明のまた他の実施例によれば、複数の階層を支援するピクチャ復号化装置が提供される。前記複数の階層を支援するピクチャ復号化装置は、既に複数の階層を含むビットストリームを受信し、前記ビットストリームをデコーディングして前記複数の階層それぞれに対するサブレイヤの最大個数情報を獲得するデコーディング部を含む。
【0017】
本発明のまた他の実施例によれば、複数の階層を支援するピクチャ符号化装置が提供される。前記複数の階層を支援するピクチャ符号化装置は、前記複数の階層それぞれに対するサブレイヤの最大個数情報を決定し、前記サブレイヤの最大個数情報をエンコーディングして前記サブレイヤの最大個数情報を含むビットストリームを転送するエンコーディング部を含む。
【発明の効果】
【0018】
階層的ビットストリーム内の抽出及びスケーラビリティ情報を記述する方法を提供することにより、多様な種類のビットストリームのスケーラビリティ情報を柔軟に表現することができ、パッケージレベルでの効率的な適応変換を可能にする。
【0019】
また、階層的ビデオ符号化を用いて符号化されたビットストリームの多様なスケーラビリティ情報を効率的に表現することにより、ビットストリーム抽出器が容易に所望の階層を抽出できるようにする。
【図面の簡単な説明】
【0020】
【
図1】発明が適用されるピクチャ符号化装置の一実施例に係る構成を示すブロック図である。
【
図2】本発明が適用されるピクチャ復号化装置の一実施例に係る構成を示すブロック図である。
【
図3】本発明が適用され得る複数階層を利用したスケーラブルビデオコーディング構造の一例を概略的に示す概念図である。
【
図4】本発明の実施例に係るスケーラブルビットストリーム(階層的ビットストリーム)を支援するピクチャ符号化方法を概略的に示すフローチャートである。
【
図5】本発明の実施例に係るスケーラブルビットストリーム(階層的ビットストリーム)を支援するピクチャ復号化方法を概略的に示すフローチャートである。
【
図6】本発明の実施例に係るスケーラブルビットストリーム(階層的ビットストリーム)を支援するピクチャ符号化/復号化構造において、スケーラブル階層に対するサブレイヤ情報をシグナリングする方法を概略的に示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施例に対して具体的に説明する。本明細書の実施例を説明するにおいて、関連する公知構成または機能に対する具体的な説明が本明細書の要旨をぼやかし得ると判断される場合には、当該説明を略することもできる。
【0022】
本明細書である構成要素が他の構成要素に「連結されて」いるか「接続されて」いると言及された時には、その他の構成要素に直接的に連結されているか接続されていることを意味することもあり、中間に他の構成要素が存在することを意味することもある。さらに、本明細書で特定の構成を「含む」と記述する内容は、当該構成以外の構成を排除することではなく、追加の構成が本発明の実施または本発明の技術的思想の範囲に含まれ得ることを意味する。
【0023】
第1、第2などの用語は、多様な構成を説明するのに用いられ得るが、前記構成等は前記用語によって限定されない。前記用語は、一つの構成を他の構成から区別する目的として用いられる。例えば、本発明の権利範囲を外れることなく、第1構成は第2構成に命名され得、同様に第2構成も第1構成に命名され得る。
【0024】
また、本発明の実施例に表される構成部等は、互いに異なる特徴的な機能を表わすために独立的に示されるものであって、各構成部が分離されたハードウェアや一つのソフトウェア構成単位でなることを意味しない。すなわち、各構成部は説明の便宜上、それぞれの構成部として並べて含むものであって、各構成部のうち少なくとも二つの構成部が一つの構成部を成すか、一つの構成部が複数個の構成部に分けられて機能を行うことができる。各構成部の統合された実施例及び分離された実施例もまた、本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【0025】
また、一部の構成要素は、本発明で本質的な機能を行う必須の構成要素ではなく、単に性能を向上させるための選択的構成要素であり得る。本発明は、単に性能向上のために用いられる構成要素を除いた本発明の本質を具現するのに必須の構成部のみを含んで具現され得、単に性能向上のために用いられる選択的構成要素を除いた必須の構成要素のみを含む構造もまた、本発明の権利範囲に含まれる。
【0026】
図1は、発明が適用されるピクチャ符号化装置の一実施例に係る構成を示すブロック図である。
【0027】
スケーラブル(scalable)ビデオ符号化/復号化方法または装置は、 スケーラビリティ(scalability)を提供しない一般的なピクチャ符号化/復号化方法または装置の拡張(extension)によって具現され得、
図1のブロック図はスケーラブルビデオ符号化装置の基礎となり得るピクチャ符号化装置の一実施例を示す。
【0028】
図1を参照すれば、ピクチャ符号化装置100は、動き予測部111、 動き補償部112、イントラ予測部120、スイッチ115、減算器125、 変換部130、量子化部140、エントロピー符号化部150、逆量子化部160、逆変換部170、加算器175、フィルタ部180及びデコーディングされたピクチャバッファ190を含む。
【0029】
ピクチャ符号化装置100は、入力ピクチャに対してイントラ(intra)モードまたはインター(inter)モードで符号化を行い、ビットストリームを出力することができる。イントラモードの場合、スイッチ115がイントラに転換され、インターモードの場合、スイッチ115がインターに転換され得る。イントラ予測は画面内予測、インター予測は画面間予測を意味する。
ピクチャ符号化装置100は、入力ピクチャの入力ブロックに対する予測ブロックを生成した後、入力ブロックと予測ブロックの差分(residual)を符号化することができる。このとき、入力ピクチャは原ピクチャ(original picture)を意味することができる。
【0030】
イントラモードの場合、イントラ予測部120は現在ブロック周辺の既に符号化/復号化されたブロックのピクセル値を用いて空間的予測を行って予測ブロックを生成することができる。
【0031】
インターモードの場合、動き予測部111は、動き予測過程でデコーディングされたピクチャバッファ190に貯蔵されている参照ピクチャで入力ブロックと最もよくマッチできる領域を探して動きベクトルを求めることができる。動き補償部112は、動きベクトルを用いて動き補償を行うことにより、予測ブロックを生成することができる。ここで、動きベクトルはインター予測に用いられる2次元ベクトルであり、現在符号化/復号化対象ピクチャと参照ピクチャとの間のオフセットを示すことができる。
【0032】
減算器125は、入力ブロックと生成された予測ブロックの差分により残差ブロック(residual block)を生成することができる。
【0033】
変換部130は、残差ブロックに対して変換(transform)を行って変換係数(transform coefficient)を出力することができる。ここで、変換係数は、残差ブロック及び/または残差信号に対する変換を行うことにより生成された係数値を意味することができる。以下、 本明細書では変換係数に量子化が適用されて生成された、量子化された変換係数レベル(transform coefficient level)も変換係数と呼ばれることがある。
【0034】
量子化部140は、入力された変換係数を量子化パラメータ(quantization parameter、または量子化媒介変数)によって量子化し、量子化された係数(quantized coefficient)を出力することができる。量子化された係数は、量子化された変換係数レベル(quantized transform coefficient level)と呼ばれることもある。このとき、量子化部140では量子化行列を用いて入力された変換係数を量子化することができる。
【0035】
エントロピー符号化部150は、量子化部140で算出された値又は符号化過程で算出された符号化パラメータ値などに基づいてエントロピー符号化を行って、ビットストリーム(bit stream)を出力することができる。
【0036】
エントロピー符号化が適用される場合、高い発生確率を有するシンボル(symbol)に少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多くの数のビットが割り当てられてシンボルが表現されることにより、符号化対象シンボル等に対するビット列の大きさが減少され得る。したがって、エントロピー符号化を介してピクチャ符号化の圧縮性能が高まることができる。エントロピー符号化部150は、エントロピー符号化のために、指数ゴロム(Exponential-Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、 CABAC(Context-Adaptive Binary Arithmetic Coding)のような符号化方法を使用することができる。
【0037】
図1の実施例に係るピクチャ符号化装置100は、インター予測符号化、即ち、画面間予測符号化を行うため、現在符号化されたピクチャは、参照ピクチャとして用いられるために復号化されて貯蔵される必要がある。したがって、量子化された係数は、逆量子化部160で逆量子化され、逆変換部170で逆変換される。逆量子化、逆変換された係数は、加算器175を介して予測ブロックと加えられて復元ブロック(Reconstructed Block)が生成される。
【0038】
復元ブロックは、フィルタ部180を経て、フィルタ部180は、デブロッキングフィルタ(deblocking filter)、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)のうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部180は、適応的インループ(in-loop)フィルタと呼ばれることもある。デブロッキングフィルタは、ブロック間の境界に発生したブロック歪曲を除去することができる。SAOは、コーディングエラーを補償するために、ピクセル値に適正オフセット(offset)値を加えることができる。ALFは、復元されたピクチャと元来のピクチャを比較した値に基づいてフィルタリングを行うことができる。フィルタ部180を経た復元ブロックは、デコーディングされたピクチャバッファ190に貯蔵され得る。
【0039】
図2は、本発明が適用されるピクチャ復号化装置の一実施例に係る構成を示すブロック図である。
【0040】
図1で前述したように、スケーラブルビデオ符号化/復号化方法または装置は、スケーラビリティを提供しない一般的なピクチャ符号化/復号化方法または装置の拡張により具現され得、
図2のブロック図はスケーラブルビデオ復号化装置の基礎となり得るピクチャ復号化装置の一実施例を示す。
【0041】
図2を参照すると、ピクチャ復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、イントラ予測部240、動き補償部250、加算器255、フィルタ部260及びデコーディングされたピクチャバッファ270を含む。
【0042】
ピクチャ復号化装置200は、符号化器で出力されたビットストリームの入力を受けてイントラモード又はインターモードに復号化を行って再構成されたピクチャ、すなわち復元ピクチャを出力することができる。イントラモードの場合、スイッチがイントラに転換され、インターモードの場合、スイッチがインタに転換され得る。
【0043】
ピクチャ復号化装置200は入力を受けたビットストリームから復元された残差ブロック(reconstructed residual block)を得て予測ブロックを生成した後、復元された残差ブロックと予測ブロックを加えて再構成されたブロック、すなわち復元ブロックを生成することができる。
【0044】
エントロピー復号化部210は、入力されたビットストリームを確率分布によってエントロピー復号化し、量子化された係数(quantized coefficient)形態のシンボルを含むシンボル等を生成することができる。
【0045】
エントロピー復号化方法が適用される場合、高い発生確率を有するシンボルに少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多くの数のビットが割り当てられてシンボルが表現されることによって、各シンボルに対するビット列の大きさが減少され得る。
【0046】
量子化された係数は、逆量子化部220で逆量子化されて逆変換部230で逆変換され、量子化された係数が逆量子化/逆変換された結果、復元された残差ブロックが生成され得る。このとき、逆量子化部220では量子化された係数に量子化行列を適用することができる。
【0047】
イントラモードの場合、イントラ予測部240は現在ブロック周辺の既に符号化されたブロックのピクセル値を利用して空間的予測を行って、予測ブロックを生成することができる。インターモードの場合、動き補償部250は、動きベクトル及びデコーディングされたピクチャバッファ270に貯蔵されている参照ピクチャを用いて動き補償を行うことにより予測ブロックを生成することができる。
【0048】
残差ブロックと予測ブロックは、加算器255を介して加えられ、加えられたブロックは、フィルタ部260を経ることができる。フィルタ部260は、デブロッキングフィルタ、SAO、ALFのうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部260は、再構成されたピクチャ、即ち、復元ピクチャを出力することができる。復元ピクチャは、デコーディングされたピクチャバッファ270に貯蔵されてインター予測に用いられ得る。
【0049】
前述したピクチャ復号化装置200に含まれているエントロピー復号化部210、逆量子化部220、逆変換部230、イントラ予測部240、動き補償部250、フィルタ部260及びデコーディングされたピクチャバッファ270のうちピクチャの復号化に直接的に係る構成要素、例えば、エントロピー復号化部210、逆量子化部220、逆変換部230、イントラ予測部240、 動き補償部250、フィルタ部260などを他の構成要素と区分して復号化部またはデコーディング部で表現することができる。
【0050】
また、ピクチャ復号化装置200は、ビットストリームに含まれているエンコーディングされたピクチャに係る情報をパッシングするパッシング部(図示せず)をさらに含むことができる。パッシング部は、エントロピー復号化部210を含むこともあり、エントロピー復号化部210に含まれることもある。
このようなパッシング部はまた、デコーディング部の一つの構成要素として具現されることもある。
【0051】
図3は、本発明が適用され得る複数階層を利用したスケーラブルビデオコーディング構造の一例を概略的に示す概念図である。
図3でGOP(Group of Picture)はピクチャ群、すなわち、ピクチャのグループを示す。
【0052】
ピクチャデータを転送するためには伝送媒体が必要であり、その性能は多様なネットワーク環境によって伝送媒体別に差がある。このような多様な伝送媒体またはネットワーク環境への適用のためにスケーラブルビデオコーディング方法が提供され得る。
【0053】
スケーラビリティを支援するビデオコーディング方法(以下、「スケーラブルコーディング」あるいは「スケーラブルビデオコーディング」という)は、階層(layer)間のテクスチャ情報、動き情報、残余信号などを活用して階層間の重複性を除去してエンコーディング及びデコーディング性能を高めるコーディング方法である。スケーラブルビデオコーディング方法は、転送ビットレート、転送エラーレート、システム資源などの周辺条件によって、空間的(spatial)、時間的(temporal)、画質的(あるいは品質的、quality)、視点(view)観点で多様なスケーラビリティを提供することができる。
【0054】
スケーラブルビデオコーディングは、多様なネットワーク状況に適用可能なビットストリームを提供できるように、複数階層(multiple layers)構造を用いて行われ得る。例えば、スケーラブルビデオコーディング構造は、一般的なピクチャデコーディング方法を用いてピクチャデータを圧縮して処理する基本階層を含むことができ、基本階層のデコーディング情報及び一般的なピクチャデコーディング方法を共に用いて、ピクチャデータを圧縮処理する向上階層を含むことができる。
【0055】
ここで、階層(layer)は、空間(spatial、例えば、ピクチャの大きさ)、時間(temporal、例えば、デコーディングの順序、ピクチャ出力の順序、フレームレート)、画質、複雑度、視点(view)などを基準に区分されるピクチャ及びビットストリーム(bitstream)の集合を意味する。
【0056】
基本階層(Base layer)は、ベースレイヤと称することもあり、下位階層(lower layer)と称することもある。向上階層(Enhancement layer)は、エンハンスメントレイヤあるいは上位階層(higher layer)と称することもある。このとき、下位階層は特定階層より低いスケーラビリティを支援する階層を意味することがあり、 上位階層は特定階層より高いスケーラビリティを支援する階層を意味することがある。特定階層が符号化あるいは復号化時に参照する階層は、参照階層(あるいは参照レイヤ)と称することができる。
【0057】
図3を参照すれば、例えば基本階層はSD(standard definition)、15Hzのフレームレート、1Mbpsビットレートに定義されることがあり、第1向上階層はHD(high definition)、 30Hzのフレームレート、3.9Mbpsビットレートに定義されることがあり、第2向上階層は4K-UHD(ultra high definition)、60Hzのフレームレート、27.2Mbpsビットレートに定義されることがある。
【0058】
前記フォーマット(format)、フレームレート、ビットレートなどは一つの実施例であって、必要に応じて異に定められ得る。また、用いられる階層の数も本実施例に限定されず、状況に応じて異に定められ得る。例えば、 伝送帯域幅が4Mbpsであれば、前記第1向上階層HDのフレームレートを減らして15Hz以下に転送することができる。
【0059】
スケーラブルビデオコーディング方法は、前記
図3の実施例で前述した方法によって時間的、空間的、画質的、視点スケーラビリティを提供することができる。
【0060】
本明細書でスケーラブルビデオコーディングは、エンコーディング観点ではスケーラブルビデオエンコーディング、デコーディング観点ではスケーラブルビデオデコーディングと同じ意味を有する。
【0061】
前述したように、スケーラビリティは、異種の通信網及び多様な端末によって現在ビデオフォーマットの重要な機能となった。コンテンツ伝達経路(content delivery path)で全てのノードがビットストリームを効果的かつ効率的に変換するためには、ビットストリームのスケーラビリティ情報が非常に重要である。現在、HEVC(High Efficiency Video Coding)標準でビットストリームに係る重要な情報は、ビデオパラメータセット(VPS:Video Parameter Set)で記述するようになっている。また、スケーラビリティを提供するための HEVCを確張したビデオ標準でも、ビットストリームに係る重要な情報、 例えば抽出情報(extraction information)及び階層的情報(scalability information)を記述することが非常に重要である。
【0062】
以下、本発明では、階層的ビデオ符号化を用いて符号化されたビットストリームの多様なスケーラビリティ情報を効率的に表現する方法を提供し、これを介してビットストリーム抽出器が容易に所望の階層を抽出できるようにする方法を提供する。
【0063】
ビットストリームの特性表現(Bitstream characteristics)
HEVC標準化でスケーラブルビットストリーム(scalable bitstream、あるいは階層的ビットストリーム)の特性を表わすための技術(description)が定義されており、本発明ではスケーラブルビデオコーディング構造で適用できるようにスケーラブルビットストリームの特性表現を次のように改善しようとする。
【0064】
1)最大ビットレートの定義(Max.bitrate definition)のためのタイムウィンドウ(time window)
現在、階層的表現(scalable representation、 スケーラブルにデコーディング可能な復元ピクチャをいう)で最大ビットレート(max.bitrate)は、1秒間のタイムウィンドウ(time window)内でのビットレートの上限(upper bound)を示す。
【0065】
しかし、アプリケーションによって異なるタイムスケール(timescale)での最大値ビットレート(peak bitrate)やピクチャレート(picture rate)情報が必要となり得る。例えば、あるアプリケーションは、30秒のタイムウィンドウ内での情報のみ必要となり得、その反面、あるアプリケーションは、10秒のタイムウィンドウ内での最大値ビットレート(peak bitrate)あるいは最大バースト(largest-burst)情報が必要となり得る。そこで、このような目的のために最小一つの(一つ以上の)タイムウィンドウを表現することができる方案を次のように提案する。
【0066】
表1は、一つ以上のタイムウィンドウ内でビットレート情報を示すシンタックスの一実施例である。
【表1】
【0067】
表1に示されたシンタックスの意味は次の通りである。
- num_max_bit_rate_windows_minus1+1は、最大ビットレート(max.bitrate)を計算するために用いられたタイムウィンドウ(time window)の数を示す。
- num_max_pic_rate_windows_minus1+1は、最大ピクチャレート(max.picture rate)を計算するために用いられたタイムウィンドウ(time window)の数を示す。
- max_bit_rate_calc_window[j]は、1/100秒単位でサブレイヤ等(sub-layers)の表現等(representation)のビットレート(bitrate)に対する上限(upper bounds)を計算するために用いられるj番目タイムウィンドウ(time window)の大きさを示す。
max_bit_rate_calc_window[0]のデフォルト(default)値は100である。
- max_pic_rate_calc_window[j]は、1/100秒単位でサブレイヤ(sub-layers)の表現(representation)等のピクチャレート(picture rate)に対する上限(upper bounds)を計算するために用いられるj番目タイムウィンドウ(time window)の大きさを示す。max_pic_rate_calc_window[0]のデフォルト(default)値は25600である。
- bit_rate_info_present_flag[i]が 「1」の場合は、i番目サブレイヤ(sub-layer)のビットレート(bit rate)に対する技術が存在することを示し、bit_rate_info_present_flag[i]が「0」の場合は、i番目サブレイヤ(sub-layer)のビットレート(bit rate)に対する技術が存在しないことを示す。bit_rate_info_present_flag[i]のデフォルト(default)値は「1」である。
- pic_rate_info_present_flag[i]が 「1」の場合は、i番目サブレイヤ(sub-layer)のピクチャレート(picture rate)に対する技術が存在することを示し、pic_rate_info_present_flag[i]が「0」の場合は、i番目サブレイヤ(sub-layer)のピクチャレート(picture rate)に対する技術が存在しないことを示す。pic_rate_info_present_flag[i]のデフォルト(default)値は 「1」である。
- avg_bit_rate[i]は、i番目サブレイヤ(sub-layer)の表現(representation)の平均ビットレート(average bit rate)を示す。avg_bit_rate[i]は SVC標準で記述された内容と同一である。
- max_bit_rate[i][j]は、max_bit_rate_calc_window[j]によって表現されたタイムウィンドウ(time window)を用いてSVC標準で記述された通り計算した値であって、i番目サブレイヤ(sub layer)の表現(representation)のビットレート(bitrate)に対する上限(upper bound)を示す。
- avg_pic_rate[i]は、i番目サブレイヤ(sub-layer)の表現(representation)の平均ピクチャレート(average picture rate)を示す(256秒間のピクチャ単位)。avg_pic_rate[i]は、SVC標準で記述された内容と同一である。
- max_pic_rate[i][j]は、max_pic_rate_calc_window[j]によって表現されたタイムウィンドウ(time window)を用いてSVC標準で記述された通り計算した値であって、i番目サブレイヤ(sub layer)の表現(representation)のピクチャレート(picture rate)に対する上限(upper bound)を示す。
【0068】
2)最大ビットレートの定義(Max.bitrate definition)のためのバケットサイズ(bucket size)
ビットレート情報を記述する他の方法は、リーキーバケットモデル(leaky bucket model)を用いることができる。リーキーバケットモデルは固定された時間間隔に代えて固定されたデータの量を用いてそれぞれのビットレート値を計算する方式である。この方式を用いる場合の実施例は、次表2の通りである。
【表2】
【0069】
表2に示されたシンタックス等の意味は次の通りである。
- num_max_bit_rate_values_minus1+1は、当該シンタックス構造で明示される最大ビットレート(max.bitrate)の数を意味する。
- max_pic_rate_calc_bucket_size[j]は、サブレイヤ(sub-layer)等の表現(representation)等のビットレートに対する上限(upper-bound)を計算するために用いられるj番目リーキーバケット(leaky bucket)の大きさをキロビット(kilobits)単位で明示する。
- num_max_pic_rate_windows_minus1はサブレイヤ(Sub-layer)等のためのビットレート(bitrate)情報が定義されない場合、0の値を有する。
- max_pic_rate_calc_window[j]は、1/100秒単位でサブレイヤ等(sub-layers)の表現(representation)等のビットレート(bitrate)に対する上限(upper bounds)を計算するために用いられるj番目タイムウィンドウ(time window)の大きさを示す。
max_pic_rate_calc_window[0]のデフォルト(default)値は25600である。
- bit_rate_info_present_flag[i]が 「1」の場合は、i番目サブレイヤ(sub-layer)のビットレート(bit rate)に対する技術が存在することを示し、bit_rate_info_present_flag[i]が「0」の場合は、i番目サブレイヤ(sub-layer)のビットレート(bit rate)に対する技術が存在しないことを示す。bit_rate_info_present_flag[i]のデフォルト(default)値は「1」である。
- pic_rate_info_present_flag[i]が 「1」の場合は、i番目サブレイヤ(sub-layer)のピクチャレート(picture rate)に対する技術が存在することを示し、pic_rate_info_present_flag[i]が「0」の場合は、i番目サブレイヤ(sub-layer)のピクチャレート(picture rate)に対する技術が存在しないことを示す。pic_rate_info_present_flag[i]のデフォルト(default)値は 「1」である。
- avg_bit_rate[i]は、i番目サブレイヤ(sub-layer)の表現(representation)の平均ビットレート(average bit rate)を示す。avg_bit_rate[i]は SVC標準で記述された内容と同一である。
- max_bit_rate[i][j]は、i番目サブレイヤ(sub-layer)の表現(representation)のビットレートに対する上限(upper
bound)を示す。max_pic_rate_calc_bucket_size[j]によって表現されたタイムウィンドウ(time window)を用いてSVC標準で記述された通り計算した値であって、i番目サブレイヤ(sub layer)の表現(representation)のビットレート(bitrate)に対する上限(upper bound)を示す。最大ビットレート(Max.bitrate)は次のように計算することができる。
max_bit_rate[i][j]=max_bit_rate_calc_bucket_size[j]/SmallestInterval[i][j]
- avg_pic_rate[i]は、i番目サブレイヤ(sub-layer)の表現(representation)の平均ピクチャレート(average picture rate)を示す(256秒間のピクチャ単位)。avg_pic_rate[i]は、SVC標準で記述された内容と同一である。
- max_pic_rate[i][j]は、max_pic_rate_calc_window[j]によって表現されたタイムウィンドウ(time window)を用いてSVC標準で記述された通り計算した値であって、i番目サブレイヤ(sub layer)の表現(representation)のピクチャレート(picture rate)に対する上限(upper bound)を示す。
【0070】
前記表1及び2に示されたシンタックスは、ビデオパラメータセット(以下、 VPS)拡張(extension)に追加されることもでき、SEI(supplemental enhancement information) メッセージ(message)の形態に定義されることもできる。
【0071】
表3は、ビットレート情報をSEIメッセージ形態で定義したシンタックスの一実施例を示す。
【表3】
【0072】
表3で、same_max_sub_layers_flag[i]とmax_sub_layers_minus1[i]は、後述する同一名称のシンタックスと意味が同一であり得る。
【0073】
same_max_sub_layers_flag[i]は、i番目サブレイヤの最大数が、VPSで定義されたi番目サブレイヤの最大数と同一であるのか否かを示す情報であり得る。
【0074】
max_sub_layers_minus1[i]+1は、i番目レイヤに対するサブレイヤの最大数を示す。
【0075】
3)他の時間間隔のためのビットレートとフレームレート情報(bitrate and picture rate information for different temporal periods)
現在ビットレートとピクチャレート情報は、VPSでのみ記述されるようになっている。しかし、符号化されたビデオ信号は、他の時間間隔(temporal period)で他のビットレートとピクチャレートを有することもできる。よって、本発明では時間間隔に対するビットレートとピクチャレートの技術方案を提案する。下記表4で提案された追加情報は、ビデオコンテンツの部分的な特性を表わすために用いられることもある。一方、VPSでのビットレートとピクチャレートは、全体符号化されたシーケンスに対してのみ有効である。
【0076】
このような目的のため、表4は、新しいSEIメッセージ(例えば、「period_characteristics」)を用いて、他の時間間隔のためのビットレートとフレームレート情報を記述したシンタックスである。
【表4】
【0077】
表4で新たに定義されたSEIメッセージ「period_characteristics」は、ビデオシーケンスの時間間隔(temporal period)の特性を現わし、「period_characteristics」のSEIメッセージは、当該SEIメッセージが適用される間隔(period)の復号化順序上、最も一番目のAU(access unit)に含まれなければならない。
【0078】
表4で新たに定義されたSEIメッセージの意味は、次の通りである。
- duration_flagが「0」であれば、対象時間間隔(target temporal period)の長さが記述されていないことを意味する。
- period_durationは、90-KHzクロック(clock)のクロックティック(clock tick)単位で対象時間間隔(target temporal period)の長さを示す。
【0079】
階層参照方式(Layer referencing)
現在HEVCで記述された階層参照方式は、特定階層が直接的に参照する階層を全て記述できるようにする。しかし、特定次元(dimension(s)、あるいは階層)において、特定階層(例えば、品質階層(quality layer)「3」)は真下位階層(例えば、品質階層(quality layer)「2」)を直接的に参照することが明白であり得る。
【0080】
このような目的で、本発明では基本参照(default direct dependency)を有する次元(等)を記述し、基本参照を有しない次元(等)に対してのみスケーラブルレイヤ(scalable layer)の技術(description loop)で別に階層参照を記述する方案を提案する。
【0081】
表5は、本発明によって階層参照方式をVPS_extensionで記述したシンタックスの一例である。
【表5】
【0082】
表5で新たに定義または修正されたシンタックス要素等(elements)の意味は、次の通りである。
- default_dependency_flag[i]が「1」を有する場合は、スケーラビリティ次元(scalability dimension、あるいはスケーラビリティ階層)iが基本参照(default dependency)を有することを示す。これは次元(dimension、あるいは階層)iに対して、基本的にdimension_id[i]=nである階層は、dimension_id[i]=n-1である階層を直接的に参照することを意味する。非基本参照(non-default dependencies)の場合には、specific_dependency_flagによって参照階層をシグナリングすることができる。
- default_temp_dependency_flagが 「1」を有する場合は、時間次元(temporal dimension)が基本参照(default dependency)を有することを意味する。
- specific_dependency_flag[i]が「1」を有する場合は、参照(階層)関係が以後に記述されることを示す。specific_dependency_flag[i]が「0」の値を有する場合は、階層(次元)iが基本参照(default dependency)を有するか、間接的な参照(dependency、あるいは従属性)を有するか、 参照階層が存在しない(no dependency layer)ことを意味する。
- num_direct_ref_layers[i]は、i番目階層が直接的に参照する階層の数を明示する。明示されていない階層等は、基本参照(default dependency)を有するか、間接的な参照(dependency)を有するか、参照階層が存在しない(no dependency layer)ことを意味する。
- temporal_dim_description_flag[i][j]が「1」を有する場合は、スケーラブル階層(scalable layer)のref_layer_id[i][j]の時間サブレイヤ(temporal sub layer)に対する詳しい参照関係を示すことを意味する。
- num_unref_temp_layers[i][j]は、スケーラブル階層(scalable layer)iのために参照階層として用いられない時間サブレイヤ(temporal sub layer)の数を示す。
- unref_temp_layer_id[i][j][k]は、スケーラブル階層(scalable layer)iのために参照階層として用いられない時間サブレイヤ(temporal sub layer)のid値を示す。
【0083】
ここで、階層C(layer C)が階層Bを直接的に参照するとのことは、階層Cを復号化するため、デコーダは階層Bのデータ(non-decodedあるいはdecoded)を使用しなければならないとのことを意味する。さらに、もし階層Bが階層Aのデータを直接的に使用すれば、階層Cは階層Aを直接的に参照するとは言えない。
【0084】
前記で提案した方法は、時間レベル(temporal level)(すなわち、サブレイヤ)毎に異なる参照階層構造を表現し難い。時間レベル毎に異なる参照階層構造ができるように参照階層を表現することが必要である。
【0085】
次の表6は、本発明によって時間レベル毎に異なる参照階層構造ができるように参照階層を記述したシンタックスの一例である。それぞれのスケーラブル階層がlayer_idとtemporal_id値によって識別される。
【表6】
【0086】
表6を参照すれば、num_direct_ref_scal_layers[i][t]は、現在スケーラブル階層が(layer_id=iとtemporal_id=tと識別される)直接的に参照する参照階層の数を明示する。ここで、明示されていない階層等は、基本参照(default dependency)を有するか、間接的な参照階層を有することができる。
【0087】
ref_layer_id[i][t][j]とref_temporal_id[i][t][j]は、現在階層が直接的に参照するスケーラブル階層(layer_id=ref_layer_id[i][t][j]と、temporal_id=ref_layer_id[i][t][j]によって識別される)を示す。
【0088】
HEVCバージョン1のVPSで定義された全てのオペレーションポイント(operation point)に明示された全ての階層等(固有のlayer idを有する)が相互間に直接的あるいは間接的な参照関係があれば、direct_dependency_flagによって記述される内容をオペレーションポイントが含むので direct_dependency_flagによるシグナリングを略することができ、これをlayer_dependency_info_flagに報知することができる。
【0089】
表7は、本発明によってVPS拡張から階層間の参照関係が存在するのか否かをシグナリングする方法を示すシンタックスの一例である。
【表7】
【0090】
表7を参照すれば、layer_dependency_info_flagが1の場合、階層参照(layer dependency)関連情報が VPS extensionに記述されていることを示し、layer_dependency_info_flagが0の場合、階層参照関連情報がVPS extensionに記述されていないことを示す。
【0091】
また、現在記述されているスケーラビリティ次元(scalability dimension)の基本タイプに特定スケーラビリティ次元を追加することができる。すなわち、表8でのように、スケーラビリティ次元の基本タイプで、エンコーディング時あるいはエンコーディングした以後に選定された優先順位(priority)順にコンテンツを抽出して消費できるようにする priority IDと特定領域のみを抽出してみることができるようにするregion IDを追加することができる。
【表8】
【0092】
profile_tier_level(階層に対するプロファイル、ティア、レベル情報表現)
現在、VPSの拡張部分(extension part)でそれぞれの階層(layer_id値を有する階層)に対して、profile_tier_level(プロファイル、ティア、レベル情報)をビットストリームで最大サブレイヤ(あるいは時間サブレイヤ)の数(すなわち、vps_max_sub_layers_minus1+1)ほどシグナリングするようになっている。しかし、それぞれの階層は、互いに異なる数のサブレイヤを有することができ、ミドルボックス(middle box)のために、各階層でサブレイヤの個数を記述するのがより良いことがある。そこで、profile_tier_levelに対するシグナリングを前記表5に記述されたvps_extension()のシンタックスで、陰影で示された部分のように修正することができ、修正されたシンタックス要素等の意味は次の通りである。
【0093】
表5を参照すれば、same_max_sub_layers_flag[i]が「1」の場合は、階層(layer)iの時間サブレイヤ(temporal sub-layer)の最大数(max.sub-layer 値)がvps_max_sub_layers_minus1+1であることを示す。
【0094】
max_sub_layers_minus1[i]+1は、階層(layer)iの最大時間サブレイヤの数(max.sub-layer値)を示す。
【0095】
same_max_sub_layers_flag[i]とmax_sub_layers_minus1[i]は、前記表5の実施例のようにprofile_tier_levelと共にシグナリングされることもあり、 次の表9の実施例のように別にシグナリングされることもある。
【表9】
【0096】
前述したように、各階層毎に最大サブレイヤの個数(時間サブレイヤの最大個数)をシグナリングすることにより、性能交渉(capability negotiation)または抽出器(extractor)に役立つことができる。
【0097】
また、階層等が他のフレームレートを有する場合、そしてmax_one_active_ref_layer_flagが1であるか、NumDirectRefLayers[nuh_layer_id]が1であるか、all_ref_layers_active_flagが1の場合、デコーダは次2つの場合を区別することができない。
i)AU(Access Unit)が、ビットストリームに存在しないピクチャであるため(例えば、他のフレームレートを有する参照階層によって)、 現在階層が直接的に参照する参照階層に対するコーディング(エンコーディング/デコーディング)されたピクチャを有していない場合
ii)現在階層が直接的に参照する参照階層に対するコーディング(エンコーディング/デコーディング)されたピクチャが転送する間、損失された(lost)場合
【0098】
本発明では、前述したi)とii)の場合を区別するための方法を提案する。
すなわち、本発明ではVPSで各階層毎に最大サブレイヤの個数をシグナリングすることにより、デコーダあるいはミドルボックスで上位サブレイヤAUに対する下位階層ピクチャが意図的に消えられた(missing)ものなのか、損失された(lost)ものなのかを判断できるようにする。
【0099】
向上階層(enhancement layer、すなわち、layer_id>0である階層)毎に最大サブレイヤの値(個数)を記述する方法は、前記で提示したようにVPS(video parameter set)でシグナリングされるvps_max_sub_layers_minus1+1と異なる最大サブレイヤの値を有する階層(layer)に対してのみ、当該階層の最大サブレイヤ値をシグナリングする方式があり、または次の実施例のような方式等が存在することができる。
【0100】
A.それぞれの向上階層(enhancement layer、すなわち、 layer_id>0である階層)に対応されるSPS(Sequence parameter set)毎に当該階層(layer)の最大サブレイヤ値をシグナリングする方式
表10は、SPSで当該階層の最大サブレイヤ値をシグナリングする方法を示すシンタックスの一例である。
【表10】
【0101】
B.VPS(Video parameter set)extensionでそれぞれの向上階層(enhancement layer、すなわち、layer_id>0である階層)の最大サブレイヤ値をシグナリングする方式
表11は、VPS extensionで時間サブレイヤの最大個数をシグナリングする方法を示すシンタックスの一例である。
【表11】
表11を参照すれば、max_sub_layers_minus1[i]+1は、i番目階層(layer)が有する最大サブレイヤ値(時間サブレイヤの最大個数)を示す。
【0102】
C.VPSでシグナリングされるvps_max_sub_layers_minus1+1と特定階層の最大サブレイヤ値が異なる場合にのみ、当該階層のSPSで最大サブレイヤ値をシグナリングする方式
一般的なVPSシンタックスは、次の表12のように全体ビットストリームで最大サブレイヤ値をvps_max_sub_layers_minus1の値を用いてシグナリングする。
【表12】
このとき、VPSでシグナリングされたvps_max_sub_layers_minus1+1値と同一でない最大サブレイヤ値を有する階層が存在する場合、このような階層の最大サブレイヤ値を表13でのように向上階層の SPSでシグナリングすることができる。
【表13】
【0103】
表13を参照すれば、max_sub_layers_predict_flagは、nuh_layer_id値が0より大きい場合(すなわち、向上階層の場合)にシグナリングされる。max_sub_layers_predict_flagの値が1の場合、sps_max_sub_layers_minus1はvps_max_sub_layers_minus1に類推され得(infer)、max_sub_layers_predict_flagの値が0の場合、sps_max_sub_layers_minusは明示的に(explicit)SPSにシグナリングされる。
【0104】
各階層(layer)毎に最大サブレイヤ値が当該階層に対応されるSPSでシグナリングされる場合、最大サブレイヤ値によってシグナリングされる最大DPBサイズ(max.DPB size)及び最大遅延時間(max. latency)情報がSPSでシグナリングされることもある。または、各階層毎に最大サブレイヤ値をVPS extensionでシグナリングする場合、VPSとSPSとの間のパッシング従属性(parsing dependency)を無くすため、SPSでシグナリングされている最大DPB サイズと最大遅延時間情報であるsps_max_dec_pic_buffering_minus1、sps_max_num_reorder_pics、sps_max_latency_increase_plus1の値等をSPSでないVPS extensionでシグナリングされることもある。
【0105】
A.それぞれの向上階層(enhancement layer、すなわち、 layer_id>0である階層)に対応されるSPS(Sequence parameter set)毎に当該階層(layer)の最大サブレイヤ値をシグナリングする方式の場合、表14のようにSPSで最大DPBサイズと最大遅延時間情報をシグナリングすることができる。
【表14】
【0106】
B.VPS(Video parameter set)extensionでそれぞれの向上階層(enhancement layer、すなわち、 layer_id>0である階層)の最大サブレイヤ値を独立的にシグナリングする方式の場合、表15及び表16のようにVPS extensionで最大DPBサイズと最大遅延時間情報をシグナリングすることができる。
【表15】
【0107】
【0108】
C.VPS(Video parameter set)extensionでそれぞれの向上階層(enhancement layer、すなわち、 layer_id>0である階層)の最大サブレイヤ値がvps_max_sub_layers_minus1+1と異なる場合にのみシグナリングする方式の場合、次の実施例C-1からC-4のようにVPS extensionで最大DPBサイズと最大遅延時間情報をシグナリングすることができる。
【0109】
実施例C-1及びC-2は全ての階層の最大DPBサイズと最大遅延時間情報をVPS extensionでシグナリングする方式である。
【0110】
実施例C-3及びC-4は、最大サブレイヤ値とvps_max_sub_layers_minus1+1値が異なるか、最大サブレイヤ値とvps_max_sub_layers_minus1+1値は同じだが、VPSでシグナリングされる全体ビットストリームの最大DPBサイズと最大遅延時間情報が同一でない場合にのみ、当該階層の最大DPBサイズと最大遅延時間情報をVPS extensionでシグナリングする方式である。
【0111】
【0112】
【0113】
実施例C-3
表19は、VPSで最大DPBサイズと最大遅延時間情報をシグナリングすることを示したものであり、表20はVPS extensionで最大DPBサイズと最大遅延時間情報をシグナリングすることを示したものである。
【表19】
【0114】
【0115】
表20を参照すれば、sub_layer_vps_buf_ordering_info_predict_flag[i]は、i番目階層(layer)の最大サブレイヤ値がvps_max_sub_layers_minus1+1と同一である場合、i番目階層の最大DPBサイズ及び最大遅延時間情報がVPSでシグナリングされる全体ビットストリームの最大DPBサイズ及び最大遅延時間情報と同一であるのか否かを示す。
【0116】
sub_layer_vps_buf_ordering_info_predict_flag[i]が「1」の値を有する場合は同一であることを示し、sub_layer_vps_buf_ordering_info_predict_flag[i]が「0」の値を有する場合は同一でないことを示す。
【0117】
sub_layer_vps_buf_ordering_info_predict_flag[i]が「0」の値を有する場合、あるいは最大サブレイヤ値がvps_max_sub_layers_minus1+1と同一でない場合にのみ、当該階層の最大DPBサイズ及び最大遅延時間情報がシグナリングされ得る。sub_layer_vps_buf_ordering_info_predict_flag[i]がシグナリングされない場合にその値は「0」に設定する。
【0118】
実施例C-3.1
実施例C-3.1は、前記実施例C-3を異に表現したものであって、表21はVPSで最大DPBサイズと最大遅延時間情報をシグナリングすることを示したものであり、表22はVPS extensionで最大DPBサイズと最大遅延時間情報をシグナリングすることを示したものである。
【表21】
【0119】
【0120】
表22で追加されたシンタックス等の意味は、前述した同一名称のシンタックスと同一である。例えば、sub_layer_vps_buf_ordering_info_predict_flag[i]は、表20を参照して説明したところと同一である。
【0121】
【0122】
表23を参照すれば、sub_layer_vps_buf_ordering_info_predict_flag[i]は、i番目階層(layer)の最大サブレイヤ値がvps_max_sub_layers_minus1+1と同一である場合、i番目階層の最大DPBサイズ及び最大遅延時間情報がVPSでシグナリングされる全体ビットストリームの最大DPBサイズ及び最大遅延時間情報と同一であるのか否かを示す。
【0123】
sub_layer_vps_buf_ordering_info_predict_flag[i]が「1」の値を有する場合は同一であることを示し、sub_layer_vps_buf_ordering_info_predict_flag[i]が「0」の値を有する場合は同一でないことを示す。
【0124】
sub_layer_vps_buf_ordering_info_predict_flag[i]が「0」の値を有する場合、あるいは最大サブレイヤ値がvps_max_sub_layers_minus1+1と同一でない場合にのみ、当該階層の最大DPBサイズ及び最大遅延時間情報がシグナリングされ得る。sub_layer_vps_buf_ordering_info_predict_flag[i]がシグナリングされない場合にその値は「0」に設定する。
【0125】
実施例C-4.1
実施例C-4.1は、前記実施例C-4を異に表現したものである。
【表24】
【0126】
表24で追加されたシンタックス等の意味は、前述した同一名称のシンタックスと同一である。例えば、sub_layer_vps_buf_ordering_info_predict_flag[i]は、表23を参照して説明したところと同一である。
【0127】
D.VPSでシグナリングされるvps_max_sub_layers_minus1+1と特定階層の最大サブレイヤ値が異なる場合にのみ当該階層のSPSで最大サブレイヤ個数をシグナリングする方式の場合、次の実施例 D-1からD-3のようにSPSあるいはVPS extensionで最大DPBサイズと最大遅延時間情報をシグナリングすることができる。
【0128】
一般的なVPSシンタックスは、次の表25のように全体ビットストリームで最大サブレイヤ値をvps_max_sub_layers_minus1の値を用いてシグナリングする。
【表25】
【0129】
このとき、向上階層のSPSで当該階層の最大サブレイヤ値がvps_max_sub_layers_minus1+1と同一でないとき、最大サブレイヤ値をシグナリングする場合、当該階層の最大DPBサイズと最大遅延時間情報をSPSでシグナリングする実施例は、次の表26の通りである。
【0130】
【0131】
次の二つの実施例は、向上階層のうちvps_max_sub_layers_minus1+1と同一である最大サブレイヤ値を有する階層(layer)の最大DPBサイズと最大遅延時間情報をシグナリングする実施例である。
【0132】
実施例D-2は、vps_max_sub_layers_minus1+1と同一である最大サブレイヤ値を有する全ての階層(layer)の最大DPBサイズと最大遅延時間情報をシグナリングする実施例を示す。
【0133】
実施例D-3は、vps_max_sub_layers_minus1+1と同一である最大サブレイヤ値を有する階層(layer)の最大DPBサイズと最大遅延時間情報がVPSでシグナリングされる全体ビットストリームの最大DPBサイズと最大遅延時間情報と同一でない場合にのみ、当該階層の最大DPBサイズと最大遅延時間情報をVPS extensionでシグナリングする方式である。
【0134】
【0135】
表27を参照すれば、max_sub_layers_vps_predict_flag[i]が「1」の値を有する場合は、i番目階層(layer)の最大(時間)サブレイヤの値がvps_max_sub_layers_minus1+1の場合であり、max_sub_layers_vps_predict_flag[i]が「0」の値を有する場合は、i番目階層(layer)の最大(時間)サブレイヤの値が当該階層のSPS(当該階層と同一であるnuh_layer_id値を有するSPS)でシグナリングされるsps_max_sub_layers_minus1+1の値を有することを意味する。
【0136】
vps_extensionでは、最大(時間)サブレイヤの値がvps_max_sub_layers_minus1+1値を有する階層の最大DPBサイズ及び遅延時間関連情報をシグナリングして、最大(時間)サブレイヤの値がvps_max_sub_layers_minus1+1値と異なる値を有する階層の場合は、実施例D-1のように当該階層のSPSで最大DPBサイズと遅延時間関連情報をシグナリングする。
【0137】
【0138】
表28を参照すれば、max_sub_layers_vps_predict_flag[i]が「1」の値を有する場合は、i番目階層(layer)の最大(時間)サブレイヤの値がvps_max_sub_layers_minus1+1の場合であり、max_sub_layers_vps_predict_flag[i]が「0」の値を有する場合は、i番目階層(layer)の最大(時間)サブレイヤの値が当該階層のSPS(当該階層と同一であるnuh_layer_id値を有するSPS)でシグナリングされるsps_max_sub_layers_minus1+1の値を有することを意味する。
【0139】
sub_layer_vps_buf_ordering_info_predict_flag[i]は、i番目階層(layer)の最大サブレイヤ値がvps_max_sub_layers_minus1+1と同一である場合、最大DPBサイズと最大遅延時間情報がVPSでシグナリングされる全体ビットストリームの最大DPBサイズと最大遅延時間情報と同一であるのか否かを示す。
【0140】
sub_layer_vps_buf_ordering_info_predict_flag[i]が「1」の値を有する場合は同一であることを示し、sub_layer_vps_buf_ordering_info_predict_flag[i]が「0」の値を有する場合は同一でないことを示す。sub_layer_vps_buf_ordering_info_predict_flag[i]が「0」の値を有する場合にのみ、当該階層の最大DPBサイズと最大遅延時間情報がシグナリングされる。
【0141】
前記全ての場合に、max_dec_pic_buffering_minus1[0][j]、max_num_reorder_pics[0][j]、max_latency_increase_plus1[0][j]は、nuh_layer_id値が0である基本階層のSPSでシグナリングされるsps_max_dec_pic_buffering_minus1[j]、max_num_reorder_pics[j]、max_latency_increase_plus1[j]値を用いる。
【0142】
前述したところのようなシグナリングされたDPB関連シンタックス情報を用いて、各階層別DPBを管理することができる。
【0143】
(1)特定階層の復号化されたピクチャが復号化器から出力されてディスプレーされる階層の場合には(すなわち、VPS extensionでシグナリングされるlayer_output_flagが「1」である階層)、次のように当該階層に対する最大DPBサイズを定めることができる。
【0144】
MaxDPBsize[i][j]は、i番目階層がtemporal_idがjである時間サブレイヤ(temporal sub-layer)までデコーディングする場合の最大DPBサイズを示す。
【0145】
デコーディングしようとするビットストリーム全体で最大(時間)サブレイヤの値あるいはデコーダからディスプレーに出力される階層の最大(時間)サブレイヤの値をHighestTidとする場合、i番目階層(このとき、iの範囲は1<=i<=vps_max_layers_minus1であり得る)の最大(時間)サブレイヤの値がAであり、A<HighestTidの場合、当該階層のmax_dec_pic_buffering_minus1[i][j]値はA<j<=HighestTidに対して、max_dec_pic_buffering_minus1[i][A]の値を適用することができる。max_num_reorder_pics[i][j]及びmax_latency_incresase_plus1[i][j]も同様に、A<j<=HighestTidに対して、max_num_reorder_pics[i][A]とmax_latency_increase_plus1[i][A]の値を適用することができる。
【0146】
また、特定時間サブレイヤ範囲内のi番目階層(このとき、iの範囲は1<=i<=vps_max_layers_minus1であり得る)が他の階層の参照階層として用いられる場合(下記のシンタックステーブルでmax_tid_il_ref_pics_plus1[i]は、時間サブレイヤを示すtemporal_id値がmax_tid_il_ref_pics_plus1[i]-1値より小さいか同一であるi番目階層が、他の階層の参照階層として用いられることを意味)、max_tid_il_ref_pics_plus1[i]-1<j<=HighestTid範囲に属するjに対して、MaxDPBsize[i][j]値はmax_dec_pic_buffering_minus1[i][max_tid_il_ref_pics_plus1[i]-1]+1値を適用することができる。0<=j<= max_tid_il_ref_pics_plus1[i]-1の場合の MaxDPBsize[i][j]値はmax_dec_pic_buffering_minus1[i][j]+1値を適用することができる。
【0147】
MaxReorderPics[i][j]及びMaxLatencyIncreasePlus1[i][j]も同様に、max_tid_il_ref_pics_plus1-1[i]<j<=HighestTid範囲に属するjに対して、max_num_reorder_pics[i][max_tid_il_ref_pics_plus1[i]-1]とmax_latency_increase_plus1[i][max_tid_il_ref_pics_plus1[i]-1]の値を適用することができ、0<=j<=max_tid_il_ref_pics_plus1[i]-1の場合にmax_num_reorder_pics[i][j]と、max_latency_increase_plus1[i][j]の値を適用することもできる。あるいは、0<=j<=HighestTidの場合のMaxReorderPics[i][j]及びMaxLatencyIncreasePlus1[i][j]も、max_num_reorder_pics[i][j]とmax_latency_increase_plus1[i][j]の値を適用することもできる。
【0148】
表29は、前述したシンタックス情報を用いて各階層別DPBを管理するためのVPS extensionの一例を示したものである。
【表29】
【0149】
(2)特定階層の復号化されたピクチャが復号化器から出力されてディスプレーされない階層の場合には(すなわち、VPS extensionでシグナリングされるlayer_output_flagが「0」である階層)、次のように当該階層に対する最大DPBサイズを決定することができる。
【0150】
デコーディングしようとするビットストリーム全体で最大(時間)サブレイヤの値あるいはデコーダからディスプレーに出力される階層の最大(時間)サブレイヤの値をHighestTidとする場合に、i番目階層(このとき、iの範囲は1<=i<=vps_max_layers_minus1であり得る)の最大(時間)サブレイヤの値がAであり、A<HighestTidの場合、当該階層のmax_dec_pic_buffering_minus1[i][j]値はA<j<=HighestTidに対して、max_dec_pic_buffering_minus1[i][A]の値を適用することができる。max_num_reorder_pics[i][j]及び max_latency_incresase_plus1[i][j]も同様に、A<j<=HighestTidに対して、max_num_reorder_pics[i][A]と、max_latency_increase_plus1[i][A]の値を適用することができる。
【0151】
0<=j<=HighestTidの場合のMaxDPBsize[i][j]値は、max_dec_pic_buffering_minus1[i][j]+1値を適用することができる。0<=j<=HighestTidの場合のMaxReorderPics[i][j]及びMaxLatencyIncreasePlus1[i][j]も、max_num_reorder_pics[i][j]とmax_latency_increase_plus1[i][j]の値を適用することもできる。
【0152】
(3)前記で記述されたところと類似するが、次のように最大DPBサイズ管理も可能である。
【0153】
MaxDecPicbuffering[i][j][k]は、i番目出力階層セット(output layer set)に含まれたnuh_layer_id値がjであり、デコーディングされる最大temporal_id値がである場合の最大DPBサイズを示す。
【0154】
MaxDecPicbuffering[i][j][k]を用いて、次の表30のように最大DPBサイズを決定することができる。
【表30】
【0155】
表30を参照すれば、numOutputLayerSetsはビットストリームが支援可能な出力階層セット(output layer set)の個数を示す。
【0156】
output_layer_set_idx_minus1[i]+1は、i番目出力階層セットに該当する階層セット(layer set)を示すインデックス(index)値を意味する。
【0157】
layer setは、サブビットストリーム抽出過程(sub-bitstream extraction process)を介して生成されたビットストリーム内に含まれる階層等の集合を意味する。
【0158】
LayerSetLayerIdList[IsIdx][j]は、i番目 layer setに含まれたj番目階層のnuh_layer_idを意味する。
【0159】
0<=i<=vps_max_layers_minus1に対して、LayerIdxInVps[layer_id_in_nuh[i]]=iであり得る。このとき、layer_id_in_nuh[i]は、i番目階層の VCL NAL unitでシグナリングされるnuh_layer_id 値を示す。
【0160】
max_sub_layers_vps_minus1[m]は、m番目階層が有する最大時間サブレイヤ(temporal sub-layer)の temporal_id -1値を示す。
【0161】
max_tid_il_ref_pics_plus1[m]は、m番目階層が上位階層の参照階層として用いられるとき、m個の階層のうちtemporal_id値がmax_tid_il_ref_pics_plus1[i]-1値より小さいか、同一である場合にのみ参照ピクチャとして用いられることを示す。
【0162】
あるいは、前記のようにパラメータ等を管理するために次の表31及び表32のようにシンタックス等をシグナリングすることもできる。
【表31】
【0163】
【0164】
優先順位情報(Priority information)表現
ビットストリームのそれぞれのスケーラブル階層(scalable layer)の優先順位(priority)を示すための方法を提案する。前記で記述したように、VPSあるいはSEIメッセージ(例えば、下記のように layer_priority_info message)に記述され得、一例として次の表33及び表34のように階層に対する優先順位をシグナリングすることができる。
【表33】
【0165】
【0166】
表33及び表34で新たに定義または修正されたシンタックス要素等(elements)の意味は次の通りである。
- priority_description_flagが「1」の場合は、スケーラブル階層(scalable layer)の優先順位(priority)情報が提供されることを意味する。
- num_priority_policies_minus1+1は、優先順位政策(priority setting policy)の数を示す。
- priority_id[i][j]は、layer_idがiであり、temporal_idがjである階層の優先順位値を示す。この要素(element)の値が低いほど優先順位が高いことを意味する。
- priority_id_setting_uri[PriorityIdSettingUriIdx]は、対象アクセスユニットセット(target access unit set)のためのNALユニットヘッダー(NAL unit header)で、priority_id値を計算するために用いられた方法を記述するURI(universal resource identifier)を示すものであって、UTF-8 characterでエンコーディングされたnull-terminated stringのPriorityIdSettingUriIdx番目バイトである。
【0167】
もし、layer_priority_infoのメッセージ(message)が存在すれば、このメッセージはメッセージが適用される周期のデコーディング順序上、一番目のアクセスユニット(access unit)に含まれなければならない。
【0168】
図4は、本発明の実施例に係るスケーラブルビットストリーム(階層的ビットストリーム)を支援するピクチャ符号化方法を概略的に示すフローチャートである。
図4の方法は、前述した
図1のピクチャ符号化装置によって行われ得る。
【0169】
図4を参照すれば、符号化装置はビットストリームのスケーラビリティ情報をエンコーディングする(S400)。
【0170】
ビットストリームのスケーラビリティ情報は、スケーラブルビットストリーム(スケーラブル階層)を支援するビデオコーディング構造でビットストリームのスケーラブルな特性を効率的にコーディング(エンコーディング/デコーディング)するために必要な情報をいう。
【0171】
例えば、前述したように、ビットストリームのスケーラビリティ情報は、 ビットストリームの特性情報、ビットストリームに含まれる階層(等)に対する階層参照情報、ビットストリームに含まれる階層(等)に対するプロファイル、ティア、レベル情報、ビットストリームに含まれる階層(等)に対する優先順位情報を含むことができる。
【0172】
ビットストリームの特性情報は、固定された時間間隔(例えば、タイムウィンドウ)あるいは固定されたデータ量(例えば、バケットサイズ)を用いて計算されたビットレートあるいはピクチャレートに対する情報、異なる時間間隔を用いて計算されたビットレートあるいはピクチャレートに対する情報を含むことができる。
【0173】
階層参照情報は、ビットストリームに含まれる各階層に対する参照関係情報(基本参照関係を有するか否かによる階層参照情報)、時間サブレイヤに対する参照関係情報を含むことができる。
【0174】
プロファイル、ティア、レベル情報は、ビットストリームに含まれる各階層に対するプロファイル、ティア、レベルのような情報をいい、各階層の最大サブレイヤ数ほどシグナリングされ得る。
【0175】
優先順位情報は、ビットストリームに含まれる階層(等)に対して優先順位政策を適用するための各階層別優先順位値情報を含むことができる。例えば、 優先順位によってコンテンツを抽出して消費できるようにする優先順位ID 情報、または特定領域を抽出してみることができるようにする領域ID情報などがあり得る。
【0176】
また、ビットストリームのスケーラビリティ情報は、ビットストリームに含まれる階層(等)に対するサブレイヤ情報を含むことができる。すなわち、各階層が有し得る最大サブレイヤの個数に対する情報を含むことができる。また、 各階層あるいは各サブレイヤに対する最大DPBサイズ及び最大遅延時間情報を含むことができる。
【0177】
符号化装置は、前述したビットストリームのスケーラビリティ情報をVPS、 VPS拡張(extention)、SPS、SEIメッセージなどのシンタックスを介して記述し、記述されたシンタックス情報をエンコーディングすることができる。
【0178】
ここで、VPS、VPS拡張(extention)、SPS、SEIメッセージなどのシンタックスを介してスケーラビリティ情報を記述する方法に対しては、表1から表34を参照して具体的に前述したところがあるので、本実施例ではこれに対する説明を略する。
【0179】
符号化装置は、エンコーディングされたスケーラビリティ情報を含むビットストリームを転送する(S410)。
【0180】
図5は、本発明の実施例に係るスケーラブルビットストリーム(階層的ビットストリーム)を支援するピクチャ復号化方法を概略的に示すフローチャートである。
図5の方法は、前述した
図2のピクチャ復号化装置によって行われ得る。
【0181】
図5を参照すれば、復号化装置は、スケーラビリティ情報を含むビットストリームを受信する(S500)。
【0182】
復号化装置は、受信されたビットストリームをデコーディングしてビットストリームに対するスケーラビリティ情報を獲得する(S510)。
【0183】
このとき、ビットストリームをデコーディングしてビットストリームに対するスケーラビリティ情報を獲得する過程は、エントロピーデコーディングあるいはパッシング過程とみることができ、このような過程を介してスケーラビリティ情報のシンタックス要素値等が出力され得る。
【0184】
ビットストリームに対するスケーラビリティ情報は、前述したようにビットストリームの特性情報、ビットストリームに含まれる階層(等)に対する階層参照情報、ビットストリームに含まれる階層(等)に対するプロファイル、ティア、レベル情報、ビットストリームに含まれる階層(等)に対する優先順位情報を含むことができる。
【0185】
ビットストリームの特性情報は、固定された時間間隔(例えば、タイムウィンドウ)あるいは固定されたデータ量(例えば、バケットサイズ)を用いて計算されたビットレートあるいはピクチャレートに対する情報、異なる時間間隔を用いて計算されたビットレートあるいはピクチャレートに対する情報を含むことができる。
【0186】
階層参照情報は、ビットストリームに含まれる各階層に対する参照関係情報(基本参照関係を有するか否かによる階層参照情報)、時間サブレイヤに対する参照関係情報を含むことができる。
【0187】
プロファイル、ティア、レベル情報は、ビットストリームに含まれる各階層に対するプロファイル、ティア、レベルのような情報をいい、各階層の最大サブレイヤ数ほどシグナリングされ得る。
【0188】
優先順位情報は、ビットストリームに含まれる階層(等)に対して優先順位政策を適用するための各階層別優先順位値情報を含むことができる。例えば、 優先順位によってコンテンツを抽出して消費できるようにする優先順位ID情報、 または特定領域を抽出してみることができるようにする領域ID情報などがあり得る。
【0189】
また、ビットストリームに対するスケーラビリティ情報は、ビットストリームに含まれる階層(等)に対するサブレイヤ情報を含むことができる。すなわち、各階層が有し得る最大サブレイヤの個数に対する情報を含むことができる。また、各階層あるいは各サブレイヤに対する最大DPBサイズ及び最大遅延時間情報を含むことができる。
【0190】
一方、符号化装置は前述したように、ビットストリームに対するスケーラビリティ情報をVPS、VPS拡張(extention)、SPS、SEI メッセージなどのシンタックスを介して記述し、記述されたシンタックス情報をエンコーディングしてシグナリングする。
【0191】
よって、復号化装置は、VPS、VPS拡張(extention)、SPS、SEIメッセージなどのシンタックス要素等をデコーディングし、ビットストリームに対するスケーラビリティ情報を獲得することができる。
【0192】
ここで、VPS、VPS拡張(extention)、SPS、SEIメッセージなどのシンタックスを介してスケーラビリティ情報を記述する方法に対しては、表1から表34を参照して具体的に前述したところがあるので、本実施例ではこれに対する説明を略する。
【0193】
図6は、本発明の実施例に係るスケーラブルビットストリーム(階層的ビットストリーム)を支援するピクチャ符号化/復号化構造で、スケーラブル階層に対するサブレイヤ情報をシグナリングする方法を概略的に示すフローチャートである。
【0194】
図6の方法は、前述した
図1のピクチャ符号化装置または前述した
図2のピクチャ復号化装置によって行われ得る。
図6では、説明の便宜上、復号化装置で行われるスケーラブル階層に対するサブレイヤ情報をシグナリングする過程に対して記述した。
【0195】
図6を参照すれば、復号化装置は、複数の階層を含むビットストリームを受信する(S600)。
【0196】
このとき、複数の階層は、基本階層及び少なくとも一つの向上階層を含むことができる。
【0197】
復号化装置は、受信したビットストリームをデコーディングして複数の階層それぞれに対するサブレイヤの最大個数情報を獲得する(S610)。
【0198】
サブレイヤの最大個数情報は、ビデオパラメータセット拡張情報(Video Parameter Set extension information)、ビデオパラメータセット(Video Parameter Set)及びシーケンスパラメータセット(Sequence Parameter Set)のうち少なくとも一つに含まれてシグナリングされ得る。ビデオパラメータセット拡張情報は、VPS extensionのシンタックスであり得る。
【0199】
サブレイヤの最大個数情報をビデオパラメータセット拡張情報、ビデオパラメータセット、シーケンスパラメータセットを用いてシグナリングする方法に対しては、表5、表9から表13を参照して具体的に詳述したところがある。
【0200】
一例として、復号化装置は、複数の階層それぞれに対するサブレイヤの最大個数情報をビデオパラメータセット拡張情報(VPS extension)から獲得することができる。このとき、復号化装置は、ビデオパラメータセット拡張情報にサブレイヤの最大個数情報が存在するのか否かを示すフラッグ情報を獲得することにより、複数の階層それぞれに対するサブレイヤの最大個数が分かる。
【0201】
他の例として、復号化装置は、ビデオパラメータセット拡張情報でシグナリングされるサブレイヤの最大個数と、ビデオパラメータセットでシグナリングされるサブレイヤの最大個数が異なる値を有する階層に対して、当該階層のサブレイヤの最大個数情報をビデオパラメータセット拡張情報から獲得することができる。このとき、復号化装置は、ビデオパラメータセット拡張情報でシグナリングされるサブレイヤの最大個数とビデオパラメータセットでシグナリングされるサブレイヤの最大個数が同一であるか否かを示すフラッグ情報を獲得することにより、当該階層に対するサブレイヤの最大個数を把握することができる。
【0202】
また他の例として、復号化装置は、複数の階層それぞれに対するサブレイヤの最大個数情報をシーケンスパラメータセットから獲得することができる。すなわち、復号化装置は、基本階層あるいは向上階層それぞれに対応されるシーケンスパラメータセットから当該階層のサブレイヤの最大個数情報を獲得することができる。
【0203】
また他の例として、復号化装置は、ビデオパラメータセットでシグナリングされるサブレイヤの最大個数と複数の階層(基本階層あるいは向上階層)それぞれのシーケンスパラメータセットでシグナリングされるサブレイヤの最大個数が同一でない場合に、当該階層のサブレイヤの最大個数情報をシーケンスパラメータセットから獲得することができる。このとき、復号化装置は、ビデオパラメータセットでシグナリングされるサブレイヤの最大個数と、シーケンスパラメータセットでシグナリングされるサブレイヤの最大個数が同一であるか否かを示すフラッグ情報を獲得することにより、当該階層のサブレイヤの最大個数を把握することができる。前記フラッグ情報は、向上階層の場合にシグナリングされ得る。
【0204】
例えば、前記フラッグ情報がビデオパラメータセットでシグナリングされるサブレイヤの最大個数と、シーケンスパラメータセットでシグナリングされるサブレイヤの最大個数が同一であるものと示される場合、当該階層(向上階層)に対するサブレイヤの最大個数は、ビデオパラメータセットでシグナリングされるサブレイヤ最大個数で決定され得る。一方、前記フラッグ情報がビデオパラメータセットでシグナリングされるサブレイヤの最大個数と、シーケンスパラメータセットでシグナリングされるサブレイヤの最大個数が同一でないものと示される場合、当該階層(向上階層)に対するサブレイヤの最大個数はシーケンスパラメータセットでシグナリングされる情報で決定され得る。
【0205】
前述した段階S600~S610は、復号化装置のエントロピー復号化部あるいはパッシング部あるいはデコーディング部によって行われ得る。
【0206】
また、前述した本発明の実施例に係るスケーラブルビットストリーム(階層的ビットストリーム)を支援するピクチャ符号化/復号化構造で、スケーラブル階層に対するサブレイヤ情報をシグナリングする方法を符号化装置で行う場合、 復号化装置で行った逆の手続きで進行され得る。
【0207】
例えば、符号化装置は、複数の階層それぞれに対するサブレイヤの最大個数情報を決定してエンコーディングし、エンコーディングされたサブレイヤの最大個数情報を含むビットストリームを転送することができる。このとき、前述したように、サブレイヤの最大個数情報はビデオパラメータセット拡張情報、 ビデオパラメータセット及びシーケンスパラメータセットのうち少なくとも一つに貯蔵されてシグナリングされ得る。このようなサブレイヤの最大個数情報は符号化装置のエントロピー符号化部あるいはエンコーディング部によって符号化されて復号化装置に転送され得る。
【0208】
前述した本発明の実施例でのようにサブレイヤの最大個数情報を各階層毎にシグナリングすることにより、ミドルボックスの性能及び効率性を向上させることができ、性能交渉あるいはビットストリーム抽出過程に役立つことができる。
【0209】
前述した実施例等において、方法等は一連の段階またはブロックとしてフローチャートに基づいて説明されているが、本発明は段階等の順序に限定されるものではなく、ある段階は前述したところと異なる段階と異なる順序で、または同時に発生することができる。また、当該技術分野で通常の知識を有するた者であればフローチャートに示された段階等が排他的ではなく、他の段階が含まれるか、フローチャートの一つまたはそれ以上の段階が本発明の範囲に影響を及ぼさずに削除され得ることを理解できるものである。
【0210】
以上の説明は、本発明の技術思想を例示的に説明したことに過ぎないものであって、本発明の属する技術分野で通常の知識を有する者であれば本発明の本質的な特性から外れない範囲で多様な修正及び変形が可能である。よって、 本発明に開示された実施例等は、本発明の技術思想を限定するためではなく、説明するためのものであり、このような実施例によって本発明の技術思想の範囲が限定されるものではない。本発明の保護範囲は、特許請求範囲によって解釈されなければならず、それと同等な範囲内にある全ての技術思想は、本発明の権利範囲に含まれるものと解釈されなければならない。