(57)【特許請求の範囲】
【請求項１】
ビデオ復号化のための方法であって、
少なくとも1つの依存性パラメータセット(DPS)を受信するステップと、
少なくとも1つのネットワーク適応層(NAL)ユニットを受信するステップと、
受信したDPSに基づいて、前記NALユニットの少なくとも1つの層間依存性を決定するステップと
を含み、
前記DPSが、バイナリ形式での階層構造の表現をさらに含み、
前記階層構造の前記表現が、2つ以上の層に対応した2つ以上の層の記述を含み、
前記2つ以上の層の記述が、空間層の記述を含み、
前記2つ以上の層のうちの第1の層に関する前記層の記述が、前記第1の層に依存する、前記2つ以上の層のうちの少なくとも第2の層についての情報を含み、
前記第1の層が空間層であり、前記情報が、前記空間層に依存する、前記2つ以上の層のうちの品質層の数を示す方法。
【請求項２】
前記DPSが、バイナリ形式での階層構造の存在を示すフラグをさらに含む、請求項1に記載の方法。
【請求項３】
前記DPSが、マルチビュー構造の存在を示すフラグをさらに含む、請求項1に記載の方法。
【請求項４】
前記DPSが、複数の層に関するビジュアルユーザビリティ情報の存在を示すフラグをさらに含む、請求項1に記載の方法。
【請求項５】
前記DPSが、前記DPSの拡張の存在を示すフラグをさらに含む、請求項1に記載の方法。
【請求項６】
前記DPSが、層の記述の数を示す値をさらに含む、請求項1に記載の方法。
【請求項７】
前記2つ以上の層の記述のうちの少なくとも1つが、層が層間予測により別の層に依存することを示すフラグを含む、請求項1に記載の方法。
【請求項８】
前記2つ以上の層のうちの第1の層に関する層の記述が、前記2つ以上の層のうちの第2の層の識別情報を含み、前記第1の層が、層間予測により前記第2の層に依存する、請求項1に記載の方法。
【請求項９】
前記2つ以上の層の記述のうちの少なくとも2つにおいて、前記層が層間予測により別の層に依存することを示す前記フラグが、層間予測を示さない、請求項7に記載の方法。
【請求項１０】
ビデオ符号化のための方法であって、
階層構造を選択するステップと、
バイナリ形式での前記階層構造の表現を含む、少なくとも1つの依存性パラメータセット(DPS)を符号化するステップと、
少なくとも1つのネットワーク適応層(NAL)ユニットを送信するステップと、
符号化されたDPSをビットストリーム内に含めるステップ、または前記符号化されたDPSを帯域外で送信するステップのうちの、1つを実施するステップと
を含み、前記NALユニットの少なくとも1つの層間依存性は、前記DPSに基づいて決定され、
前記階層構造の前記表現が、2つ以上の層に対応した2つ以上の層の記述を含み、
前記2つ以上の層の記述が、空間層の記述を含み、
前記2つ以上の層のうちの第1の層に関する前記層の記述が、前記第1の層に依存する、前記2つ以上の層のうちの少なくとも第2の層についての情報を含み、
前記第1の層が空間層であり、前記情報が、前記空間層に依存する、前記2つ以上の層のうちの品質層の数を示す方法。
【請求項１１】
請求項1から9のいずれか一項における前記方法を実施するための一組の命令を含む、非一時的なコンピュータ可読記録媒体。
【請求項１２】
請求項10における前記方法を実施するための一組の命令を含む、非一時的なコンピュータ可読記録媒体。
【請求項１３】
ビデオ通信のためのシステムであって、
少なくとも1つの依存性パラメータセット(DPS)を受信し、
少なくとも1つのネットワーク適応層(NAL)ユニットを受信し、
前記少なくとも1つのDPSを復号化し、
受信したDPSに基づいて、前記NALユニットの少なくとも1つの層間依存性を決定するように
構成された復号器
を含み、
前記DPSが、バイナリ形式での階層構造の表現をさらに含み、
前記階層構造の前記表現が、2つ以上の層に対応した2つ以上の層の記述を含み、
前記2つ以上の層の記述が、空間層の記述を含み、
前記2つ以上の層のうちの第1の層に関する前記層の記述が、前記第1の層に依存する、前記2つ以上の層のうちの少なくとも第2の層についての情報を含み、
前記第1の層が空間層であり、前記情報が、前記空間層に依存する、前記2つ以上の層のうちの品質層の数を示すシステム。
【請求項１４】
ビデオ通信のためのシステムであって、
階層構造を選択し、
バイナリ形式での前記階層構造の表現を含む、少なくとも1つの依存性パラメータセット(DPS)を符号化し、
少なくとも1つのネットワーク適応層(NAL)ユニットを送信し、
符号化されたDPSをビットストリーム内に含めること、または前記符号化されたDPSを帯域外で送信することのうちの、1つを実施するように
構成された符号器
を含み、前記NALユニットの少なくとも1つの層間依存性は、前記DPSに基づいて決定され、
前記階層構造の前記表現が、2つ以上の層に対応した2つ以上の層の記述を含み、
前記2つ以上の層の記述が、空間層の記述を含み、
前記2つ以上の層のうちの第1の層に関する前記層の記述が、前記第1の層に依存する、前記2つ以上の層のうちの少なくとも第2の層についての情報を含み、
前記第1の層が空間層であり、前記情報が、前記空間層に依存する、前記2つ以上の層のうちの品質層の数を示すシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権の主張
本出願は、「Dependency Parameter Set For Scalable Video Coding」と題され、2011年3月10日に出願された米国仮出願第61/451,454号の優先権を主張するものであり、この開示を、その全体において参照により本明細書に組み込む。
本出願は、ビデオ符号化に関し、より詳細には、パラメータセットにおけるビデオシーケンスの階層化された関連付けについての情報の表現に関する。
【背景技術】
【０００２】
スケーラブルなビデオ符号化は、基本層が、1つまた複数の拡張層によって強化される技法を指す。基本層と拡張層とが一緒に再現されるとき、再生させるビデオ品質は、基本層が単独で再現される場合よりも高いものであってよい。
【０００３】
マルチビュー符号化は、2つ以上の「ビュー」がその独自のビデオシーケンスにおいて符号化され、(適切なレンダリングと連携して)両方のシーケンスの組み合わされた復号化により、立体的な、または他の3Dタイプの視覚効果を提供することができる技法を指す。
【０００４】
いくつかのビデオシーケンスの関連付けおよび/または関係が、統合復号および/またはレンダリングのために重要である、他の形式の符号化技法、たとえば多重記述符号化があり得る。
【０００５】
以下では、参考までに、スケーラブルな符号化について説明する。
【０００６】
スケーラブルなビデオ符号化では、時間拡張層(フレームレートを向上させる)、空間拡張層(空間解像度を向上させる)、およびSNR拡張層(信号対雑音SNR比において測定され得る忠実度を向上させる)を含む、多くの形式の拡張層タイプが報告されている。
【０００７】
図1を参照すると、スケーラブルなビデオ符号化において、層の関係を有向グラフの形式で表すことができる。提示される例では、基本層(101)(たとえば、15fpsでのCIFフォーマットであってよい)が、時間拡張層(102)(たとえば、フレームレートを30fpsに向上させることができる)によって強化されてよい。空間解像度をCIFから4CIFに向上させる空間拡張層(103)もまた利用可能であってよい。この空間拡張層(103)に基づいて、別の時間拡張層がフレームレートを30fpsに向上させることができる。
【０００８】
4CIF、30fpsの信号を再現するためには、基本層(101)、空間拡張層(103)、および第2の時間拡張層(104)のすべてが存在すべきである。グラフに示すような、他の組み合わせもまた可能である。
【０００９】
階層構造情報は、ネットワーク条件に応答して特定の層を取り除くネットワーク要素と連携して、有用であり得る。図2を参照すると、(前に説明したような構造を有してよい)スケーラブルなビデオストリームをアプリケーション層ルータ(202)に送信する、送信エンドポイント(201)が示されている。アプリケーション層ルータは、エンドポイントの能力、ネットワーク条件などのその知識に基づいて、特定の層をエンドポイント(203)、(204)に転送するのを省くことができる。その全体において参照により本明細書に組み込まれる米国特許第7,593,032号は、ルータに使用されてよい例示的な技法について説明している。
【００１０】
各層における情報は、International Telecommunication Union (「ITU」), Place de Nations, CH-1211 Geneva 20, Switzerlandもしくはhttp://www.itu.int/rec/T-REC-H.264より入手可能であり、その全体において参照により本明細書に組み込まれるITU-T Rec. H.264、「Advanced video coding for generic audiovisual services」2010年3月に従って、さらに詳細には、H.264のスケーラブルなビデオ符号化(SVC)拡張に従って、またはスケーラビリティをサポートする他のビデオ符号化技術に従って、符号化されてよく、たとえば、他のビデオ符号化技術は、本書の執筆時点で標準化の過程にある「High Efficiency Video Coding」HEVCへの来たるべきスケーラブルな拡張などである。本書の執筆時点で、HEVCの現在の作業草案は、http://phenix.it-sudparis.eu/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v21.zipより入手可能な、Brossら、「High Efficiency Video Coding (HEVC) text specification draft 6」2012年2月において見出だすことができる。
【００１１】
H.264に従って、各層を表現するビットが、1つまたは複数のネットワーク適応層ユニット(NALユニット)にカプセル化される。各NALユニットは、そのNALユニットが属する層を示すことができるヘッダを含むことができる。
【００１２】
しかしながら、層の1つ1つに属する複数のNALユニットを観察し、その内容を分析し、それにより利用可能な層の「ピクチャ」を構築しないことには、ルータは、上で説明したような階層構造を引き出すための機構を欠いている。階層構造の知識なしに、ルータは、特定の層に属するNALユニットを取り除くための賢明な選択をすることができない。
【００１３】
この状況は、SVCの開発中に特定されて、階層構造を記述するSEIメッセージが導入された。SEIメッセージが有し得る不都合は、SEIメッセージは復号化プロセスに必要とされないので、ネットワーク要素が、H.264に従って、ビットストリームからSEIメッセージを取り除く自由を有するということである。ここでは点線で表す中間ネットワーク要素(205)がSEIメッセージを取り除くことになった場合、ルータは、階層構造を迅速に取得することができず、すべてのNALユニットおよびその内容を観察することに戻らなければならないことになる。
【００１４】
クリティカルではないものの、階層構造は、ビデオ情報を含む最初のビットがルータに到着する前に知られているべきである。SVCのためのSVCペイロードフォーマット(http://tools.ietf.org/html/rfc6190より入手可能であり、その全体において参照により本明細書に組み込まれる、Wenger、Wang、Schierl、Eleftheriadis、「RTP Payload Format for Scalable Video Coding」RFC6190)は、たとえばセッション初期化プロトコル(http://tools.ietf.org/html/rfc3261より入手可能であり、その全体において参照により本明細書に組み込まれる、Rosenbergら、「SIP: Session Initiation Protocol」RFC3261)、を使用して、階層構造を含むSEIメッセージを、能力交換メッセージに統合するための機構を含む。しかしながら、SEIメッセージの復号化は、ビデオシンタックスのビット指向の処理を必要とし、これは、ルータが行う用意をしていないことが多いものである。さらに、(ビットストリーム内で符号化されるのとは対照的に)セッションシグナリングの一部として符号化されるSEIメッセージを途中で捕えることは、一般に、ルータがシグナリングパスにあることを必要とし、これは、いくつかのルータについては、賢明でコスト効率のよいオプションではないことがある。
【発明の概要】
【発明が解決しようとする課題】
【００１５】
したがって、a)難しいビット指向の処理を必要とせず、b)ビットストリーム伝送における初期にビデオビットストリームの一部として利用可能であり、c)ビデオビットストリームを非適合とさせずに、中間ネットワーク要素によって取り除かれることが可能ではない、データ構造の必要性が存在する。
【課題を解決するための手段】
【００１６】
開示される主題は、スケーラブルなビットストリームに関する情報を収集する依存性パラメータセット(Dependency Parameter Set : DPS)を提供し、DPSは、既に説明した有向グラフのバイナリ形式、スケーラブルなビットストリームのすべての層に関するビジュアルユーザビリティ情報(VUI)、および今後のビデオ符号化機構への容易な拡張性を可能にするための拡張機構を含む。DPSは、他のパラメータセットの特性を共有することができる。たとえば、DPSは、帯域内または帯域外で送信されてよく、および、他のパラメータセット、スライスヘッダ、または、たとえばアクセスユニットデリミタもしくはアクセスユニット/ピクチャヘッダなどの他の適切なシンタックス要素から、直接的にまたは間接的に参照されてよい。
【００１７】
一実施形態において、依存性パラメータセットは、ビデオビットストリームの一部であってよい。
【００１８】
同じ実施形態または別の実施形態において、DPSは、たとえば能力交換の一部として、帯域外で送信されてよい。
【００１９】
同じ実施形態または別の実施形態において、DPSは、DPSのテーブルにおける記憶位置の選択を考慮したIDを含むことができる。
【００２０】
同じ実施形態または別の実施形態において、DPSは、元の送信者による送信時に、スケーラビリティ情報の存在を示すフラグを含むことができる。
【００２１】
同じ実施形態または別の実施形態において、階層構造についてのバイナリ情報が層ごとに配列されてよく、ここで、各層について1つの層の記述が存在する。
【００２２】
同じ実施形態または別の実施形態において、スケーラビリティ情報は、記述される層の数の指示を含むことができる。
【００２３】
各層の記述は、依存している、または独立している層を示すフラグ(dependency_flag)、およびその層が直接依存する別の層への参照(ref_id)を含むことができる。
【００２４】
同じ実施形態または別の実施形態において、層は、空間層、品質層、または時間層であってよい。
【００２５】
同じ実施形態または別の実施形態において、空間層のためのスケーラビリティ情報は、少なくとも1つの空間層についての品質層の数を含むことができる。
【００２６】
同じ実施形態または別の実施形態において、DPSは、マルチビューに関する構造を記述するオプション部(空あってもよい)を含むことができ、その存在がフラグによって示されてよい。
【００２７】
同じ実施形態または別の実施形態において、DPSは、ビジュアルユーザビリティ情報(VUI)を記述するオプション部を含むことができ、これは空であってもよく、その存在がフラグによって示されてよい。
【００２８】
同じ実施形態または別の実施形態において、DPSは、フラグを使用する拡張機構を含むことができる。
【００２９】
開示される主題のさらなる特徴、性質、およびさまざまな利点は、以下の好ましい実施形態の詳細な説明および添付の図面から、さらに明らかになるであろう。
【図面の簡単な説明】
【００３０】
【図１】先行技術に従った、階層化されたビットストリームの階層構造の概略図である。
【図２】階層化されたビデオ符号化を使用したシステムの概略図である。
【図３】本開示の主題の実施形態に従ったビデオビットストリームの概略図である。
【図４】本開示の主題の実施形態に従った、図3のビデオビットストリームの例示的な表現の概略図である。
【図５】階層構造の概略図である。
【図６】図5の階層構造を表現する依存性パラメータセットの概略図である。
【図７】本開示の主題の実施形態を実装するために好適なコンピュータシステムの図である。
【発明を実施するための形態】
【００３１】
図面は、本開示に組み込まれて、その一部をなしている。特に明記しない限り、図面全体を通して、同じ参照番号および参照文字は、図示される実施形態の同様の特徴、要素、コンポーネント、または部分を表すために使用される。さらに、これより開示される主題が図面を参照して詳細に説明されるが、それは例証的な実施形態に関連してそのように行われる。
【００３２】
開示される主題は、スケーラブルなビットストリームに関する情報を収集する依存性パラメータセット(DPS)を提供し、DPSは、層構造のバイナリ表現、スケーラブルなビットストリームのすべての層に関するビジュアルユーザビリティ情報(VUI)、および今後のビデオ符号化機構への拡張性を可能にするための拡張機構を含む。DPSは、他のパラメータセットの特性を共有することができる。たとえば、DPSは、帯域内または帯域外で送信されてよく、および、他のパラメータセット、スライスヘッダ、または、たとえばアクセスユニットデリミタもしくはアクセスユニット/ピクチャヘッダなどの他の適切なシンタックス要素から、直接的にまたは間接的に参照されてよい。
【００３３】
図3は、開示される主題の実施形態に従った依存性パラメータセット(DPS)(301)の、ITU-T Rec. H.264に説明された規約に従うシンタックス図を示す。
【００３４】
図4は、開示される主題の実施形態に従ったDPS(401)の、ITU-T Rec. H.264に説明された規約に従う意味定義を示す。
【００３５】
本発明の例示的な一実施形態において、依存性パラメータセットは、依存性パラメータセット識別情報dep_parameter_set_id(302)(402)を含むことができる。dep_parameter_set_idは、たとえば、シーケンスパラメータセット、NALユニットヘッダ、アクセスユニットデリミタ、ピクチャヘッダもしくはスライスヘッダ、または他の高レベルなシンタックス構造によって参照される、依存性パラメータセットを識別することができる。dep_parameter_set_idの値は、たとえば、0から2(0と2を含む)の範囲であってよい。dep_parameter_set_idは、たとえば、依存性パラメータセットのアクティブ化プロセス(これは、ITU-T Rec. H.264に説明されるような他のパラメータセットのアクティブ化プロセスに類似していてよい)中に、および/または、同じ実施形態または別の実施形態によれば、3つのエントリを有することができる依存性パラメータセットテーブルにおける記憶位置を識別するために、使用されてよい。2つのビットで表現され得る4つ目の値は、今後の拡張のために確保されてよい。
【００３６】
同じ実施形態または別の実施形態において、DPSは、scalability_flag(303)(403)を含むことができ、scalability_flagは、1と等しいとき、少なくとも1つの空間層および/または品質層が存在してよいことを指定することができる。0と等しいscalability_flagは、単一の空間層および単一の品質層のみが存在すること(すなわち、H.264ではスケーラブルな拡張なしで利用可能な機能性である時間的なスケーラビリティをおそらく除けば、ビットストリームはスケーラブルではない)を指定するができる。このフラグの副次的な作用は、フラグがゼロに設定されているときに、スケーラビリティ情報に関する情報が存在しないことであってよい。
【００３７】
一実施形態において、DPSは、max_spatial_layers_minus1(304)(404)を表現する固定長または可変長のコード語を含むことができ、max_spatial_layers_minus1は、スケーラブルなビットストリームに存在してよい空間層の最大数を指定することができる。max_spatial_layers_minus1は、0から7(0と7を含む)の範囲であってよい。図3には、符号なしの3ビットの固定長のコード語(u(3)により示す)が示されており、これは、0から7の範囲を表現するのに十分である。
【００３８】
同じ実施形態または別の実施形態において、DPSは、1つまたは複数の依存性フラグdependency_flag[i](305)(405)を含むことができ、dependency_flag[i]は、spatial_idの下位の値による符号化されたシーケンスからの層間予測が、i+1と等しいspatial_idによる符号化されたスライスの復号化に使用されてよいかどうかを指定することができ、ここで、spatial_idは、SVCのNALユニットヘッダにおけるdependency_idシンタックス要素と同様に、空間層を識別することができる。dependency_flag[i]が1と等しい場合、層間予測が使用されてよい。dependency_flag[i]が0と等しい場合、層間予測は使用されなくてよく、空間層は、他の空間層を参照せずに復号化されてよく、たとえば、それは「独立層」である。
【００３９】
同じ実施形態または別の実施形態において、DPSは、参照層の1つまたは複数の識別情報(ref_id[i])(310)(410)を含むことができる。ref_id[i]は、層iのスライスからの層間予測によって直接使用されてよい層を示すことができる(これは、以下の例でより詳細に説明する)。ref_idの存在は、たとえば、dependency_flag[i]が1に設定される場合にのみ(311)、ref_id[i]が存在するように、dependency_flag[i]の値に依存していてよい。(ターゲット層が独立している場合、ターゲット層のために参照層をシグナリングする価値はあまりない)。Ref_idは、たとえば、層間予測によって直接使用されてよい層を表現する整数として、またはiと層間予測によって直接使用されてよい層を表現する整数との差異を表現する整数として、符号化されてよい。
【００４０】
同じまたは別の実施形態において、DPSは、たとえば、空間層ごとに、max_quality_layers_minus_1+1(306)(406)を示す固定長または可変長のコード語を含むことができ、max_quality_layers_minus_1+1は、存在してよい品質層の最大数を指定することができる。max_quality_layers_minus_1は、0から15(0と15を含む)の範囲であってよい。
【００４１】
ここで、説明したようなDPSのシンタックスは、空間層は品質層に依存することができない、という具合に、階層構造の柔軟性を制限できることに留意されたい。H.264およびSVCにおいては、そのような制限は、賢明な規制であり得る。しかしながら、当業者は、所望であれば、開示されるDPSシンタックスを、大幅な柔軟性を可能にするように容易に変更することができる。たとえば、1つの層(ループ(312)の内側)に関連した情報が、層のタイプ(たとえば、空間、品質、時間)についての情報を含むことができ、ループのエントリは、時間層、空間層、および品質層ごとに存在してよい。そのような表現は、任意の層タイプの任意の層が任意の層タイプの別の層に依存することができるので、より柔軟であり得るが、図3および図4に示すような表現よりも簡潔さに欠けることがある。開示される主題は、そのような変更を企図している。
【００４２】
同じ実施形態または別の実施形態において、DPSは、multiview_flag(307)(407)を含むことができ、multiview_flagは、マルチビュー情報が存在しない場合に0と等しくてよく、マルチビュー情報が存在する場合に1であってよい。HEVCなどの今後のビデオ符号化標準が、おそらくマルチビュー拡張を含むことになると思われることから、multiview_flagは、開示される主題に含まれる。開示される主題は、それらの拡張の性質に関して固有の詳細は提示しないが、DPSのようなデータ構造において、そのような拡張に関するシンタックス要素を配置する必要性を想定している。
【００４３】
同じ実施形態または別の実施形態において、DPSは、dps_vui_parameters_present_flag(308)(309)を含むことができ、dps_vui_parameters_present_flagは、DPSレベルのビジュアルユーザビリティ情報が存在しない場合に0と等しくてよく、そのような情報が存在するときに1であってよい。H.264において、ビデオユーザビリティ情報は、シーケンスパラメータセットのオプション部であり、ピクセルアスペクト比、オーバースキャン情報、ビデオ信号タイプの記述(とりわけ、原色および変換特性などの色特性を含む)、クロマサンプリング構造に関する情報、(固定)フレームレートに関連した情報、および符号器によるビットストリーム使用の柔軟性における規制に関連した情報(たとえば、動きベクトルの長さなど)などの情報を対象とする。これらのパラメータのいくつかは、明らかに層依存であり、有利には、シーケンスパラメータセットなどの、「層ごと」であるパラメータセットに常駐し続けることができる。しかしながら、上述した情報のいくつかは、すべての層について同じであることを必要とすることがある。そのような情報は、依存性パラメータセットVUIに配置されてよい。開示される主題は、DPSのようなデータ構造において、1つまたは複数のDPS-VUIに関するシンタックス要素を配置する必要性を想定している。
【００４４】
同じまたは別の実施形態において、DPSは、有利には、最後に、extension_flag(309)(409)を含むことができ、extension_flagは、拡張が存在しない場合に0等しくてよく、拡張が存在する場合に1であってよい。パラメータセットについてのH.264(2003)における拡張機構の欠如は、後方互換性を確保するために、(しばしば、上で言及したいくつかの不都合を招くSEIメッセージを使用する)機能性を有効にするための、不自然なおよび/または限定的な次善策につながることがある。今後そのような次善策を避けるために、DPSは、拡張の正確な性質がまだ定義されていなくても、拡張機構のための備えを含むべきである。
【００４５】
図5および図6を参照すると、例示的な層構造、および依存性パラメータセットの形式でのその表現が、それぞれ示されている。例において、符号化されたビデオシーケンスは、5つの空間層を含む。また2つの品質層も含まれる。例示的な依存性パラメータセットは、0のid値を有し(612)、スケーラブルな層についての情報を含み、これは、スケーラビリティフラグ(613)が1に設定されていることを意味する。
【００４６】
各層は、符号化されたピクチャを形成する、いくつかの符号化されたスライスを含むことができる。したがって、今後、第2の層に依存している第1の層を参照するとき、それは、第1の層の少なくとも1つのスライスが、第2の層の1つまたは複数のスライスからの直接的または間接的な層間予測関係を有することができることを意味する。対照的に、第2の層からの独立として参照される第1の層は、第1の層のいずれのスライスも、第2の層のいずれのスライスに対する層間予測依存性を有さないことを意味し、独立層が、復号化プロセスにおいて考慮される第2の層の情報なしに、復号化され得ることを示唆している。
【００４７】
層0(501)は、すべての他の層から独立しており、したがって、そのdependency_flag(601)は、0である。それに応じて、そのref_id(602)(この層が依存する任意の層を指すために使用される)は、ビットストリーム内に存在していなくてよい。これは、ref_idの存在をdependency_flagの値に依存させるif()文によって、図6のシンタックス図に反映されている。
【００４８】
層0は、Q1(502)およびQ2(503)で表す2つの依存品質層を有する。ビットストリーム内でこれらの品質層に属するNALユニットの考え得る存在は、max_quaiity_layers_minus_lを2に設定すること(603)によって、DPSにおいて示されてよい。
【００４９】
層1(504)は、層0(501)に依存している。したがって、層1のdependency_flag(604)は1に設定され、そのref_id(605)は0に設定されて、層0への依存性を示す。層1は、品質拡張層を有さないので、そのmax_quality_layers_minus_l(606)は、0に設定される。
【００５０】
層2(505)は、層1(504)に直接的に依存し、層0(501)に間接的に依存する。そのdependency_fiag(607)は、1に設定されることによってこの依存性を反映し、ref_id(608)は、直接的な層間依存性が存在する先の層である層1を指す。
【００５１】
層3(506)は、そのdependency_flagおよびref_idの適切な設定を通して、層0にのみ依存する。しかしながら、層3は、それが層1(dependency_flagおよびref_idについて同じ設定を示唆する)と同じ依存性関係を有していたとしても、層1と同一ではない。層1(504)と層3(506)との1つの違いは、そのそれぞれの空間解像度であってよく、これは、図5において、層1および層3を表現する平行四辺形の異なる大きさによって表されている。
【００５２】
層4(507)は、すべての他の層から独立している。ここで、層4は、層1(504)とほぼ同じ空間解像度を有するものとして表される。それに応じて、階層構造は、同じスケーラブルなビットストリーム内に、2つ以上の独立(基本)層を含むことができる。これにより、層間依存性を有するビットストリームを復号することが不可能な復号器(しばしば非スケーラブルな復号器と呼ばれる)に、層0および層4をサイマルキャストすることが可能になる。
【００５３】
図5および図6の例において、マルチビューは行われず、DPS-VUIパラメータは存在せず、DPS拡張もまた存在しない。したがって、それぞれのフラグは、ゼロである(609)(610)(611)。
【００５４】
開示される主題に従って、本明細書で説明した依存性パラメータセットの技法は、ハードウェアおよびソフトウェアの任意の好適な組み合わせを使用して実装されてよいことが理解されるだろう。たとえば、符号器は、アプリケーション要件(たとえば、利用可能なビットレート、カメラパラメータ、符号器で利用可能なサイクル)から、およびオプションで受信機のポピュレーションから、その入力を取り出す、依存性パラメータセット符号化モジュールを含むことができる(たとえば、2011年1月20日に出願され、その全体において参照により本明細書に組み込まれる米国特許出願第13/010,241号を参照されたい)。DPS符号化モジュールは、ビットストリーム内にDPSを置くことができる。復号器においては、DPS復号化モジュールが、ビットストリームからDPSを抽出し、それを本明細書で論じたように使用することができる。また、ルータは、DPS復号化モジュールを含み、ビットストリームからのDPSを途中で捕える、またはそれを帯域外で受信して、DPSを本明細書で論じたように使用することができる。上述したレート推定および制御技法を実装し、動作させるためのソフトウェア(すなわち、命令)は、コンピュータ可読媒体で提供されてよく、コンピュータ可読媒体は、限定せずに、ファームウェア、メモリ、記憶デバイス、マイクロコントローラ、マイクロプロセッサ、集積回路、ASIC、オンラインでダウンロード可能な媒体、および他の利用可能な媒体を含むことができる。
【００５５】
コンピュータシステム
上で説明した依存性パラメータセットの方法を、コンピュータ可読命令を使用するコンピュータソフトウェアとして実装し、コンピュータ可読媒体に物理的に保存することができる。コンピュータソフトウェアは、任意の好適なコンピュータ言語を使用して、符号化されてよい。ソフトウェア命令は、さまざまなタイプのコンピュータ上で実行されてよい。たとえば、図7は、本開示の実施形態を実装するために好適なコンピュータシステム700を示す。
【００５６】
図7に示すコンピュータシステム700のためのコンポーネントは、本質的に例示であり、本開示の実施形態を実装するコンピュータソフトウェアの使用または機能性の範囲に関して、いかなる限定を示唆することも意図していない。コンポーネントの構成もまた、コンピュータシステムの例示的な実施形態に示すコンポーネントの任意の1つ、またはその組み合わせに関する任意の依存性または要件を有するものとして解釈されるべきでない。コンピュータシステム700は、集積回路、プリント回路基板、(移動電話またはPDAなどの)小型ハンドヘルドデバイス、パーソナルコンピュータ、またはスーパーコンピュータを含む、多くの物理的な形態を有することができる。
【００５７】
コンピュータシステム700は、ディスプレイ732と、1つまたは複数の入力デバイス733(たとえば、キーパッド、キーボード、マウス、スタイラスなど)と、1つまたは複数の出力デバイス734(たとえば、スピーカ)と、1つまたは複数の記憶デバイス735と、さまざまなタイプの記憶媒体736とを含む。
【００５８】
システムバス740は、幅広いサブシステムを連結する。当業者が理解するように、「バス」は、共通の機能を供給する複数のデジタル信号線を指す。システムバス740は、メモリバス、周辺バス、およびさまざまなバスアーキテクチャのうちのいずれかを使用するローカルバスを含む、いくつかのタイプのバス構造のうちのいずれかであってよい。例として、限定せずに、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、拡張ISA(EISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、ビデオエレクトロニクススタンダーズアソシエーションローカル(VLB)バス、ペリフェラルコンポーネントインターコネクト(PCI)バス、PCIエクスプレスバス(PCI-X)、およびアクセラレーテッドグラフィックスポート(AGP)バスを含む。
【００５９】
プロセッサ701(中央処理装置、すなわちCPUとも呼ばれる)は、命令、データ、またはコンピュータアドレスの一時的なローカル記憶のために、キャッシュメモリユニット702をオプションで含む。プロセッサ701は、メモリ703を含む記憶デバイスに結合される。メモリ703は、ランダムアクセスメモリ(RAM)704および読み出し専用メモリ(ROM)705を含む。本技術分野でよく知られる通り、ROM705は、データおよび命令を一方向でプロセッサ701に転送する働きをし、RAM704は、通常、データおよび命令を双方向なやり方で転送するために使用される。これらのタイプのメモリは共に、以下で説明する任意の好適なコンピュータ可読媒体を含むことができる。
【００６０】
固定記憶装置708がまた、オプションで記憶制御ユニット707を介して、プロセッサ701に双方向で結合される。固定記憶装置708は、追加のデータ記憶容量を提供し、以下で説明するコンピュータ可読媒体のうちのいずれかをやはり含むことができる。記憶装置708は、オペレーティングシステム709、EXEC710、アプリケーションプログラム712、データ711などを記憶するために使用されてよく、記憶装置708は、通常、一次記憶装置よりも低速な二次記憶媒体(ハードディスクなど)である。記憶装置708内に保有された情報は、適切な場合、標準的なやり方で仮想メモリとしてメモリ703に組み込まれてよいことを認識されたい。
【００６１】
プロセッサ701はまた、グラフィック制御721、ビデオインターフェース722、入力インターフェース723、出力インターフェース724、記憶装置インターフェース725などの、さまざまなインターフェースに結合され、これらのインターフェースは次いで、適切なデバイスへと結合される。一般的に、入力/出力デバイスは、ビデオディスプレイ、トラックボール、マウス、キーボード、マイクロフォン、タッチセンサ式ディスプレイ、トランスデューサカードリーダ、磁気もしくは紙テープリーダ、タブレット、スタイラス、音声もしくは手書き認識装置、バイオメトリクスリーダ、またはその他のコンピュータのうちのいずれかであってよい。プロセッサ701は、ネットワークインターフェース720を使用して、別のコンピュータまたは電気通信ネットワーク730に結合されてよい。そのようなネットワークインターフェース720により、上で説明した方法を実施する過程において、CPU701は、ネットワーク730から情報を受信でき、またはネットワークへと情報を出力できることが企図される。さらに、本開示の方法の実施形態は、CPU701上で単独で実行することができ、または処理の一部を共有するリモートCPU701と連携して、インターネットなどのネットワーク730上で実行することもできる。
【００６２】
さまざまな実施形態によれば、ネットワーク環境にあるとき、すなわち、コンピュータシステム700がネットワーク730に接続されているとき、コンピュータシステム700は、ネットワーク730にやはり接続されている他のデバイスと通信することができる。通信は、ネットワークインターフェース720を介して、コンピュータシステム700へ、およびコンピュータシステム700から送信されてよい。たとえば、別のデバイスからの要求または応答などの、1つまたは複数のパケットの形式で入ってくる通信が、ネットワーク730からネットワークインターフェース720において受信され、処理のためにメモリ703の選択されたセクションに記憶されてよい。別のデバイスへの要求または応答などの、やはり1つまたは複数のパケットの形式で出ていく通信も、メモリ703の選択されたセクションにまた記憶され、ネットワークインターフェース720においてネットワーク730へと送出されてよい。プロセッサ701は、処理のためにメモリ703に記憶されたこれらの通信パケットにアクセスすることができる。
【００６３】
加えて、本開示の実施形態はさらに、さまざまなコンピュータ実装動作を実施するためのコンピュータコードを有するコンピュータ可読媒体を備えたコンピュータ記憶製品に関する。媒体およびコンピュータコードは、本開示の目的のために特別に設計され、構築されたものであってよく、または、コンピュータソフトウェア技術における当業者によく知られ、入手可能な種類のものであってもよい。コンピュータ可読媒体の例には、ハードディスク、フロッピー（登録商標）ディスク、および磁気テープなどの磁気媒体、CD-ROMおよびホログラフィックデバイスなどの光学媒体、光ディスクなどの磁気光学媒体、ならびに特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、ROMデバイスおよびRAMデバイスなどの、プログラムコードを記憶し、実行するように特別に構成されたハードウェアデバイスが含まれるが、これらに限定されない。コンピュータコードの例には、コンパイラによって生成されるようなマシンコード、およびインタプリタを使用してコンピュータによって実行されるより高レベルなコードを含むファイルが含まれる。当業者はまた、目下開示される主題と関連して使用されるとき、用語「コンピュータ可読媒体」が、伝送媒体、搬送波、または他の一時的な信号を包含しないことを理解すべきである。
【００６４】
例として、限定とせずに、アーキテクチャ700を有するコンピュータシステムは、メモリ703などの1つまたは複数の有形なコンピュータ可読媒体において具体化されたソフトウェアを、プロセッサ701が実行した結果としての機能性を提供することができる。本開示のさまざまな実施形態を実装するソフトウェアは、メモリ703に記憶され、プロセッサ701によって実行されてよい。特定のニーズに従って、コンピュータ可読媒体は、1つまたは複数のメモリデバイスを含むことができる。メモリ703は、大容量記憶デバイス735などの1つもしくは複数の他のコンピュータ可読媒体から、または通信インターフェースを介した1つもしくは複数の他のソースから、ソフトウェアを読み込むことができる。ソフトウェアは、メモリ703に記憶されたデータ構造を定義すること、およびソフトウェアによって定義されたプロセスに従ってそのようなデータ構造を変更することを含む、本明細書で説明した特定のプロセス、または特定のプロセスの特定の部分を、プロセッサ701に実行させることができる。それに加えて、または代替として、コンピュータシステムは、論理ハードワイヤード、または別のやり方で回路に具体化された結果としての機能性を提供することができ、機能性は、ソフトウェアの代わりに、またはソフトウェアと共に動作して、本明細書で説明した特定のプロセス、または特定のプロセスの特定の部分を実行することができる。ソフトウェアへの言及は、論理を包含することができ、適切な場合、逆もまた同様である。コンピュータ可読媒体への言及は、実行のためのソフトウェアを記憶する回路(集積回路(IC)など)、実行のための論理を具体化する回路、または適切な場合、その両方を包含することができる。本開示は、ハードウェアおよびソフトウェアの任意の好適な組み合わせを包含する。
【００６５】
本開示は、いくつかの例示的な実施形態を説明してきたが、本開示の範囲内に入る変更形態、置換形態、およびさまざまな代替均等物が存在する。したがって、本明細書に明示的に示されない、または説明されなくても、当業者は、本開示の原理を具体化し、したがって本開示の趣旨および範囲内にある、多くのシステムおよび方法を考案することができることが認識されるであろう。
【符号の説明】
【００６６】
101  基本層
102  時間拡張層
103  空間拡張層
104  第2の時間拡張層
【図１】
0005833682.tif 000002
【図２】
0005833682.tif 000003
【図３】
0005833682.tif 000004
【図４】
0005833682.tif 000005
【図５】
0005833682.tif 000006
【図６】
0005833682.tif 000007
【図７】
0005833682.tif 000008