(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介して、送信エンドポイントと、一つ又は複数の受信エンドポイントとの間でメディア通信をするためのシステムであって、
前記送信エンドポイントで、時間スケーラビリティを有するスケーラブル符号化を用いて符号化された符号化メディアを送信する符号器又はメディアサーバと、
前記一つ又は複数の受信エンドポイントで、復号器とを備え、
前記送信エンドポイントが、前記復号器で、時間レベルスイッチングを、前記送信された符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示すスイッチング情報を送信するように構成されるシステム。
【請求項２】
前記送信エンドポイントが、H.264 Scalable Video Coding (SVC) 仕様に従って、前記送信される符号化メディアをスケーラブルに符号化し、また前記復号器で、前記時間レベルスイッチングを、前記符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示す前記スイッチング情報が、1ビットのフラグ(「temporal_level_nesting_flag」)である、請求項1に記載のシステム。
【請求項３】
前記送信エンドポイントが、前記H.264 SVCシンタックスのシーケンスパラメータセット及びスケーラビリティ情報 Supplemental Enhancement Information (SEI) メッセージの一方に前記フラグを配置する、請求項2に記載のシステム。
【請求項４】
前記送信エンドポイントと、前記一つ又は複数の受信エンドポイントとの間の通信を調停する少なくとも一つの Scalable Video Coding Server (SVCS) 、Compositing Scalable Video Coding Server (CSVCS) 、又は Multicast Scalable Video Coding Server (MSVCS) をさらに備え、前記少なくとも一つのSVCS、CSVCS、又はMSVCSが、前記送信エンドポイント、前記一つ又は複数の受信エンドポイント、及び前記通信ネットワーク中の他のSVCS、CSVCS、又はMSVCSに対する別々に管理された接続を有する、請求項1に記載のシステム。
【請求項５】
前記少なくとも一つのSVCS、CSVCS、又はMSVCSが、
前記復号器で、前記時間レベルスイッチングを、前記復号器が受信する前記符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示す前記スイッチング情報を検査すること、及び
所望の最大時間レベルまでの時間レベルを有し、且つ前記復号器に、前記出力された符号化メディアを適正に復号させることのできる、前記受信した符号化メディアの部分を、前記一つ又は複数の受信エンドポイント又はSVCS、CSVCS、若しくはMSVCSに選択的に転送すること
により、前記送信エンドポイント又はSVCS、CSVCS、若しくはMSVCSと、前記一つ又は複数の受信エンドポイント、又はSVCS、CSVCS、若しくはMSVCSとの間の通信を調停するようにさらに構成される、請求項4に記載のシステム。
【請求項６】
前記所望の最大時間レベルが、利用可能なビットレートに従って設定される、請求項5に記載のシステム。
【請求項７】
時間スケーラビリティを有するスケーラブル符号化を用いて符号化メディア信号を処理するためのシステムであって、
第１符号化メディア信号を受け入れる入力と、
第２符号化メディア信号を生成する出力とを備え、
前記システムが、復号器で、時間レベルスイッチングを、前記第１符号化メディア信号の予測符号化フレームのうち任意のフレームで行うことができるかどうかを示す前記第１符号化メディア信号内のスイッチング情報を受信するように、且つ前記第２符号化メディア信号中に含めるための所望の最大時間レベルに関する情報をさらに受信するように構成され、また前記システムが、前記所望の最大時間レベル以下である時間レベルに相当し、且つ前記復号器に、前記第２符号化メディア信号を適正に復号させることのできる、前記第１符号化メディア信号の部分を、前記第２符号化メディア信号に対して複製するようにさらに構成されるシステム。
【請求項８】
前記スケーラブル符号化がH.264 Scalable Video Coding (SVC) 仕様に従っており、また前記復号器で、前記時間レベルスイッチングを、前記第１符号化メディア信号の予測符号化フレームのうち任意のフレームで行うことができるかどうかを示す前記受信したスイッチング情報が、1ビットのフラグ(「temporal_level_nesting_flag」)である、請求項7に記載のシステム。
【請求項９】
前記フラグが、前記H.264 SVCシンタックスのシーケンスパラメータセット及びスケーラビリティ情報 Supplemental Enhancement Information (SEI) メッセージの一方に配置される、請求項8に記載のシステム。
【請求項１０】
時間スケーラビリティを有するスケーラブル符号化を用いて符号化された符号化メディアを復号するためのシステムであって、
前記システムが、時間レベルスイッチングを、前記符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示すスイッチング情報を受信するように、且つ復号される出力メディア信号中に含めるための所望の最大時間レベルに関する情報をさらに受信するように構成され、また前記システムが、前記所望の最大時間レベル以下である時間レベルに相当し、且つ復号器に、前記符号化メディアを適正に復号させることのできる、前記符号化メディアの部分を復号するようにさらに構成されるシステム。
【請求項１１】
前記スケーラブル符号化がH.264 SVC仕様に従っており、また前記復号器で、前記時間レベルスイッチングを、前記符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示す前記受信したスイッチング情報が、1ビットのフラグ(「temporal_level_nesting_flag」)である、請求項10に記載のシステム。
【請求項１２】
前記フラグが、前記H.264 SVCシンタックスのシーケンスパラメータセット及びスケーラビリティ情報SEIメッセージの一方に配置される、請求項11に記載のシステム。
【請求項１３】
通信ネットワークを介して送信エンドポイントと、一つ又は複数の受信エンドポイントとの間でメディア通信をするための方法であって、
前記送信エンドポイントで、時間スケーラビリティを有するスケーラブル符号化を用いて符号化された符号化メディアを送信するステップと、
受信する復号器で、時間レベルスイッチングを、前記送信された符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示すスイッチング情報を前記送信される符号化メディア中に含めるステップと
を含む方法。
【請求項１４】
前記送信エンドポイントが、H.264 Scalable Video Coding (SVC) 仕様に従って、前記送信される符号化メディアをスケーラブルに符号化し、また前記復号器で、前記時間レベルスイッチングを、前記符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示す前記スイッチング情報が、1ビットのフラグ(「temporal_level_nesting_flag」)である、請求項13に記載の方法。
【請求項１５】
前記送信エンドポイントが、前記H.264 SVCシンタックスのシーケンスパラメータセット及びスケーラビリティ情報 Supplemental Enhancement Information (SEI) メッセージの一方に前記フラグを配置する、請求項14に記載の方法。
【請求項１６】
前記送信エンドポイントと、前記一つ又は複数の受信エンドポイントとの間の通信を調停するために少なくとも一つの Scalable Video Coding Server (SVCS) 、Compositing Scalable Video Coding Server (CSVCS) 、又は Multicast Scalable Video Coding Server (MSVCS) を用いるステップをさらに含み、前記少なくとも一つのSVCS、CSVCS、又はMSVCSが、前記送信エンドポイント、前記一つ又は複数の受信エンドポイント、及び前記通信ネットワーク中の他のSVCS、CSVCS、又はMSVCSに対する別々に管理された接続を有する、請求項13に記載の方法。
【請求項１７】
前記少なくとも一つのSVCS、CSVCS、又はMSVCSが、
前記復号器で、前記時間レベルスイッチングを、前記復号器が前記送信エンドポイントから受信する前記符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示す前記スイッチング情報を検査するステップと、
前記送信エンドポイントから受信した符号化メディアの部分を、前記一つ又は複数の受信エンドポイント又はSVCS、CSVCS、若しくはMSVCSに選択的に転送するステップであって、前記受信した符号化メディアの部分は、所望の最大時間レベルまでの時間レベルを有し、且つ前記復号器に、前記送信エンドポイントから受信した符号化メディアのうち前記選択的に転送された部分を適正に復号させることのできる、ステップと
により、前記送信エンドポイント又はSVCS、CSVCS、若しくはMSVCSと、前記一つ又は複数の受信エンドポイント、又はSVCS、CSVCS、若しくはMSVCSとの間の通信を調停する、請求項16に記載の方法。
【請求項１８】
前記所望の最大時間レベルを、利用可能なビットレートに従って設定するステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
時間スケーラビリティを有するスケーラブル符号化を用いて符号化された符号化メディア信号を処理するための方法であって、
入力で、第１符号化メディア信号を受け入れるステップと、
出力で、第２符号化メディア信号を生成するステップとを含み、
前記第１符号化メディア信号を受け入れる前記ステップが、復号器で、時間レベルスイッチングを、前記第１符号化メディア信号の予測符号化フレームのうち任意のフレームで行うことができるかどうかを示すスイッチング情報を受信するステップ、及び前記第２符号化メディア信号中に含めるための所望の最大時間レベルに関する情報をさらに受信するステップを含み、また前記第２符号化メディア信号を生成する前記ステップが、前記所望の最大時間レベル以下である時間レベルに相当し、且つ前記復号器に、前記第２符号化メディア信号を適正に復号させることのできる、前記第１符号化メディア信号の部分を複製するステップを含む方法。
【請求項２０】
前記スケーラブル符号化がH.264 Scalable Video Coding (SVC) 仕様に従っており、また前記復号器で、前記時間レベルスイッチングを、前記第１符号化メディア信号の予測符号化フレームのうち任意のフレームで行うことができるかどうかを示す前記受信したスイッチング情報が、1ビットのフラグ(「temporal_level_nesting_flag」)である、請求項19に記載の方法。
【請求項２１】
前記フラグが、前記H.264 SVCシンタックスのシーケンスパラメータセット及びスケーラビリティ情報 Supplemental Enhancement Information (SEI) メッセージの一方に配置される、請求項20に記載の方法。
【請求項２２】
時間スケーラビリティを有するスケーラブル符号化を用いて符号化された符号化メディアを復号するための方法であって、
時間レベルスイッチングを、前記符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示すスイッチング情報を受信し、且つ復号される出力メディア信号中に含めるための所望の最大時間レベルに関する情報をさらに受信するステップと、
前記所望の最大時間レベル以下である時間レベルに相当し、且つ前記符号化メディアを適正に復号させることのできる、前記符号化メディアの部分を復号するステップと
を含む方法。
【請求項２３】
前記スケーラブル符号化がH.264 Scalable Video Coding (SVC) 仕様に従っており、また復号器で、前記時間レベルスイッチングを、前記符号化メディアの予測符号化フレームのうち任意のフレームで行うことができるかどうかを示す前記受信したスイッチング情報が、1ビットのフラグ(「temporal_level_nesting_flag」)である、請求項22に記載の方法。
【請求項２４】
前記フラグが、前記H.264 SVCシンタックスのシーケンスパラメータセット及びスケーラビリティ情報 Supplemental Enhancement Information (SEI) メッセージの一方に配置される、請求項23に記載の方法。
【請求項２５】
請求項１３から２４のいずれか１項記載の方法をコンピュータに実行させるプログラムを格納したコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2006年10月16日に出願された米国仮特許出願第60/829,609号の利益を主張する。さらに、本出願は、国際特許出願番号PCT/US06/28365、PCT/US06/028366、PCT/US06/061815、PCT/US06/62569、PCT/US07/80089]、PCT/US07/062357、PCT/US07/65554、PCT/US07/065003、PCT/US06/028367、及びPCT/US07/63335に関連する。本願の譲受人に譲渡された前述のすべての出願は、その全体を参照により本明細書に組み込む。
【０００２】
本発明は、ビデオ通信システムに関する。詳細には、本発明は、時間的にスケーラブルなビデオ符号化を使用する通信システムに関し、また受信装置又は中間ゲートウェイが、フレームレート、ビットレート、処理能力、又は他のシステム要件を満たすために、一つの時間レベルから、より高位の若しくは低位のレベルに切り替える通信システムに関する。
【背景技術】
【０００３】
符号化効率を概して改善することを目標とする新しいデジタルビデオ及びオーディオの「スケーラブルな」符号化技法は、いくつかの新しい構造的特性(例えば、スケーラビリティ)を有する。スケーラブル符号化では、原信号若しくはソース信号は、二つ以上の階層的に構造化されたビットストリームを用いて表現される。階層的構造であることは、所与のビットストリームの復号が、階層中でより低位の、いくつかの又はすべての他のビットストリームの可用性に依存することを暗に示している。各ビットストリームは、それが依存するビットストリームと共に、特定の時間、忠実性(例えば、信号対雑音比(SNR)の点で)、又は(ビデオに関しては)空間解像度で、原信号の表現を提供する。
【０００４】
用語「スケーラブル」は、数値的な大きさ又は尺度を指すのではなく、原信号又はソース信号の効率的な表現に対応する1組の異なるビットストリームを、解像度又は他の信号品質の異なる「スケール(scales)」で提供するように符号化する技法の能力を指すことを理解されたい。スケーラブルビデオ符号化(SVC)と呼ばれるITU-T H.264 Annex G仕様は、時間、空間、及び忠実性の次元のすべてにおいて、ビデオ符号化スケーラビリティを提供するビデオ符号化規格の例である。SVCは、H.264規格(Advanced Video Coding又はAVCとしても知られている)の拡張である。全部で三つのタイプのスケーラビリティをやはり提供する以前の規格の例は、ISO MPEG-2(ITU-T H.262としても公開されている)である。ITU G.729.1(G.729EVとしても知られている)は、スケーラブルオーディオ符号化を提供する規格の例である。
【０００５】
スケーラビリティの概念は、ストリーミング及び同報通信における配信問題に対する解決策としてビデオ及びオーディオの符号化に導入されて、所与の通信システムが、変化するネットワーク条件(例えば、帯域幅変動)の下に様々なアクセスネットワーク(例えば、異なる帯域幅で接続されたクライアント)と、また様々なクライアント装置(例えば、大きなモニタを使用するパーソナルコンピュータに対して、はるかに小さな画面を有するハンドヘルド装置)と動作することが可能になった。
【０００６】
テレビ会議などの対話的なビデオ通信アプリケーション用に特に設計されたスケーラブルビデオ符号化技法は、本願の譲受人に譲渡された国際特許出願PCT/US06/028365で述べられている。さらに、本願の譲受人に譲渡された国際特許出願PCT/US06/028365は、スケーラブルビデオ通信サーバ(SVCS)と呼ばれる新しいタイプのサーバの設計を述べている。SVCSは、高品質及び低遅延のビデオ通信のためにスケーラブルな符号化ビデオを使用できるので有利であり、且つ従来のスイッチング又は変換用の多地点制御装置(MCU)と比較して、著しく複雑さが低減されている。同様に、本願の譲受人に譲渡された国際特許出願PCT/US06/62569は、SVCSと同じ利点を有するが、単一の符号化された出力ビットストリームを生成する複合(Compositing)スケーラブルビデオ符号化サーバ(CSVCS)を述べている。さらに、国際特許出願PCT/US07/80089は、SVCSと同じ利点を有するが、利用可能な多地点通信チャネルを利用するマルチキャストスケーラブルビデオ符号化サーバ(MSVCS)を述べている。スケーラブルビデオ符号化設計及びSVCS/CSVCSアーキテクチャは、さらに有利な方法で使用することができ、それらは、例えば、本願の譲受人に譲渡された国際特許出願PCT/US06/028367、PCT/US06/027368、PCT/US06/061815、PCT/US07/62357、及びPCT/US07/63335で述べられている。これらの出願は、サーバ間の有効なトランキング、低減されたジッタバッファ遅延、エラー耐性及びランダムアクセス、低減されたパケット損失で符号化効率を改善するためのスケーラブルなビデオビットストリームの「細線化(thinning)」、並びにレート制御のそれぞれのために、スケーラブル符号化技法及びSVCS/CVCSアーキテクチャを使用することを述べている。さらに、本願の譲受人に譲渡された国際特許出願PCT/US07/65554は、スケーラブルビデオ符号化フォーマットと他のフォーマット間の変換のための技法を述べている。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
スケーラブルビデオ符号化を使用するビデオ通信システムをさらに改良することに対して、現在検討が行われている。このようなシステムでは、ソースは、生のビデオを符号化し、通信ネットワークを介して送信する送信エンドポイント、事前に符号化されたビデオを送信するストリーミングサーバ、或いは大容量記憶装置若しくは他のアクセス装置に記憶されたファイルへのアクセスを提供するソフトウェアモジュールとすることができる。同様に、受信装置は、符号化されたビデオ又はオーディオビットストリームを、通信ネットワークを介して、又は大容量記憶装置若しくは他のアクセス装置から直接取得する受信エンドポイントとすることができる。システム中の中間処理エンティティは、SVCS又はCSVCSとすることができる。受信装置及び中間処理エンティティによる時間レイヤ間のスイッチング効率を改良することに関心が向けられている。
【課題を解決するための手段】
【０００８】
スケーラブルビデオ通信システムにおけるシグナリング及び時間レベルスイッチングのためのシステム及び方法が提供される。このシステム及び方法は、シグナリング選択情報を含み、この情報は、任意のピクチャ位置で実施できる、低位レベルと高位レベルの両方における時間レベルスイッチングを可能にする。この情報は、その基礎となるビデオコーデックの時間予測構造におけるいくつかの制約として伝達される。この情報は、異なるシステム資源(例えば、フレームレート、ビットレート、処理能力)に適合させるために、中間の処理システム並びに受信装置で使用することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の原理による通信システムの例示的なアーキテクチャの概略図である。
【図２】図2a〜2cは、本発明の原理によるネストされていない時間レイヤ予測構造の例の概略図である。
【図３】本発明の原理によるネストされた時間レイヤ予測構造の例の概略図である。
【図４】本発明の原理によるSVCのシーケンスパラメータセットにおける時間レベルネスティングのための例示的なシンタックス変更の図である。
【図５】本発明の原理によるSVCのスケーラビリティ情報SEIメッセージにおける時間レベルネスティングのための例示的なシンタックス変更の図である。
【図６】本発明の原理による処理装置(符号器/サーバ、ゲートウェイ、又は受信装置)の例示的なアーキテクチャの概略図である。
【図７】本発明の原理によるNALフィルタリングユニットの例示的なオペレーションを示す流れ図である。
【発明を実施するための形態】
【００１０】
諸図を通して、同様の参照番号及び記号は、他に記載のない限り、例示された実施形態の同様の機能、エレメント、コンポーネント、又は部分を示すために使用される。さらに、本発明は、次に、諸図を参照して詳細に述べることになるが、例示的な実施形態と併せて説明する。
【００１１】
スケーラブル符号化を使用する通信システム中で信号を「スイッチングする」ためのシステム及び方法が提供される。スイッチングシステム及び方法は、時間スケーラビリティを有する通信システムに対して設計される。
【００１２】
図1は、スケーラブル符号化を使用する通信システム100の例示的なアーキテクチャを示す。通信システム100は、メディアサーバ又は符号器110(例えば、ストリーミングサーバ又は送信エンドポイント)を含み、それは、ネットワーク130を介して、メディアゲートウェイ140を通り、クライアント/受信装置120と、ビデオ及び/又はオーディオ信号を通信する。
【００１３】
本発明の「スイッチング」システム及び方法は、本明細書では、例として、通信システム100を用いて説明する。簡略のために、本明細書の説明は、通信システム100のビデオ部分に限定する。しかし、空間スケーラビリティ次元をオーディオ信号に提供することはできないが、マルチチャネル符号化をオーディオ信号符号化でさらに使用できるという理解の下に、スイッチングシステム及び方法を、スケーラブルなオーディオ部分に対しても使用できることが理解されよう。さらに、本明細書で述べられるシステム及び方法はまた、スケーラブルな方法で符号化された他のマルチメディアデータ(例えば、グラフィックス)に対して使用することもできる。
【００１４】
通信システム100の好ましい実施形態では、H.264 SVC符号化フォーマット(「SVC」)がビデオ通信に対して使用される。(その全体を参照により本明細書に組み込む、SVC JD7仕様、T.ウィガンド(T. Wiegand)、G.サリバン(G. Sullivan)、J.レイチェル(J. Reichel)、H.シュワーツ(H. Schwarz)、M.ウィーン(M. Wien)編集、「Joint Draft 7: Scalable Video Coding」、Joint Video Team、Doc. JVT-T201、クラーゲンフルト、2006年7月を参照のこと)。SVCは、H.264 AVCビデオ符号化規格のスケーラブルビデオ符号化拡張(Annex G)である。SVCストリームのベースレイヤは、AVC仕様に準拠するように意図されている。
【００１５】
SVC符号化ビットストリームは、いくつかのコンポーネント又はレイヤへと構造化され得る。ベースレイヤは、何らかの基本的な忠実性次元又はレベルで、ソース信号の表現を提供する。追加のレイヤ(エンハンスメントレイヤ)は、基本的な忠実性次元より上位の追加のスケーラビリティ次元において、信号の改良された表現に関する情報を提供する。SVCは、いくつかの次元、すなわち、空間、時間、及び忠実性若しくは品質次元におけるスケーラビリティを用いて、ビットストリーム構造を作成する上でかなりの柔軟性を提供する。AVC規格はすでに、その参照ピクチャリスト及び関連する参照ピクチャリストの再順序付けコマンドの使用により、時間スケーラビリティをサポートしていることに留意されたい。
【００１６】
符号化ビットストリーム中のレイヤは、通常、ピラミッド型構造で形成され、その場合、レイヤの復号には、一つ又は複数の低位レイヤの存在を必要とする可能性のあることにさらに留意されたい。通常は、ピラミッド型構造中のエンハンスメントレイヤのいずれかを復号するためにベースレイヤを必要とする。しかし、すべてのスケーラブル符号化技法が、レイヤのピラミッド型構造を有しているわけではない。例えば、スケーラビリティが複数記述符号化(multiple description coding)又はサイマルキャストにより提供されるとき、いくつかの又はすべてのレイヤの独立した復号が可能であり得る。特にSVCの場合、符号器中のすべてのレイヤ間予測モードをオフにすることによって、サイマルキャストを有効に実施することが可能である。本明細書で述べられるスイッチングシステム及び方法は、ピラミッド型構造及び非ピラミッド型構造を共に含むすべてのスケーラビリティフォーマットに適用可能である。
【００１７】
スケーラビリティは、異種ネットワーク及び/又はクライアント、時間で変化するネットワーク性能、ベストエフォートのネットワーク送達など、いくつかのシステムレベルの課題に対処するための機能を有する。しかし、スケーラビリティ機能を有効に使用できるようにするためには、その機能は、ビデオ符号器及び復号器に加えて、システムコンポーネントにアクセスできるようにすることが望ましい。
【００１８】
前に述べたように、本発明のスイッチングシステム及び方法は、時間スケーラビリティを有する通信システム(例えば、システム100)を対象としている。システム100におけるメディアゲートウェイ140の使用は任意選択であることに留意されたい。本発明のスイッチングシステム及び方法はまた、メディアゲートウェイ140に代えてメディアサーバからクライアントへの直接接続が使用される場合、又はメディアサーバが、大容量記憶装置若しくは他のアクセス装置上の、クライアントに直接アクセスできるファイルにより置き換えられる場合、直接又は間接的に(例えば、通信ネットワークを介するファイルアクセス)適用可能である。本発明のシステム及び方法は、複数のメディアゲートウェイ140が、メディアサーバ又は符号器から、受信装置までの経路中に存在する場合も、同じであることにさらに留意されたい。
【００１９】
再度図1を参照して、メディアサーバ/符号器110(例えば、ストリーミングサーバ、又は送信エンドポイント符号器などの符号器)が、メディアゲートウェイ140を介してクライアント/受信装置120とスケーラブルなメディアを通信する簡単なオペレーションのシナリオを考える。この簡単なシナリオは、例えば、RTP(Remote Transport Protocol)でカプセル化されたSVC NAL(Network Adaptation Layer;ネットワーク適応レイヤ)ユニットとすることのできる同意済みの1組のレイヤを送信するために、メディアサーバとクライアント間で接続が行われることが必要である。さらに、メディアゲートウェイ140は、到来するパケット(例えば、送信されたRTPでカプセル化されたSVC NALユニット)を、どのようにして、最もよく動作するように利用すべきかについて命令される必要があり、或いはそれ自体で決定する必要がある。メディアゲートウェイ140が、SVCS/CSVCSアーキテクチャを有する場合では、このオペレーションの決定は、どのパケットを除外し、どのパケットを転送すべきかに関する決定に相当する。さらに、適正な復号器動作のために、クライアント/受信装置120は、メディアゲートウェイ140を介して、レイヤのどの組を受信することが予想されるかを知る必要があり、或いは推定できなくてはならない。
【００２０】
これらのオペレーションを可能にするために、システム100は、様々なシステムコンポーネントに対して、送信されるビットストリームのスケーラビリティ構造を示し、且つ伝達する必要がある。説明のための例として、15 fps及び30fpsの二つの時間解像度、並びにQCIF及びCIFの二つの空間解像度を有するビデオ信号を考える。したがって、ビデオ信号は、4レイヤのスケーラビリティ構造を有する。すなわち、15fpsでQCIF信号を含むレイヤL0、30fpsに対するQCIF信号エンハンスメントを含むレイヤL1、15fpsに対するCIF信号エンハンスメントを含むレイヤS0、及び30fpsに対するCIF信号エンハンスメントを含むレイヤS1である。4レイヤのスケーラビリティ構造における符号化の依存性は、例えば、L0がベースレイヤであり、L1がL0に依存し、S0がL0に依存し、S1がL1とS0に共に依存するようにすることができる。システム100は、システムコンポーネントに対して、ビデオ信号を適正に処理できるように、この4レイヤ構造を記述する必要がある。
【００２１】
SEI(Supplemental Enhancement Information)メッセージは、SVCビットストリーム中に含まれるデータ構造であり、符号化ビデオ信号に関する補助的な情報を提供するが、復号プロセスのオペレーションには必要ではない。SVCは、その「Scalability Information(スケーラビリティ情報)」SEI  メッセージ(SSEI)を介して、SVC符号化ビデオビットストリームのスケーラビリティ構造を記述するための機構を提供する。SVC JD7仕様のセクションG.10.1.1のSSEIは、(例えば、接続セットアップ中の)能力ネゴシエーション、(ビデオサーバ又は中間メディアゲートウェイによる)ストリーム適応性、及び(例えば、詳細なビットストリーム構文解析に基づく推論を必要としない)複雑性の低い処理を可能にするように設計される。
【００２２】
SVC JD7仕様のセクションG.10.1.1で定義されるSSEIは、各レイヤに関する記述情報(例えば、フレームレート、プロファイル情報)を含み、さらに重要なことには、符号化依存性情報(すなわち、適正な復号のために、所与のレイヤが他のどのレイヤに依存しているか)を含む。各レイヤは、ビットストリームの範囲内で、一意の「レイヤID(layer id)」により識別される。特定のレイヤに対する符号化依存性情報は、直接依存するレイヤの数(num_directly_dependent_layers)と、特定レイヤのレイヤIDに加えられたとき、特定レイヤが復号のために依存するレイヤのレイヤIDを識別する一連の差分値(directly_dependent_layer_id_delta)とを符号化することにより伝達される。
【００２３】
さらに、G.10.1.2で定義される「Scalability Information Layers Not Present」SEIメッセージ(SSEI-LNP)、及びG.10.1.3で定義される「Scalability Information Dependency Change」SEIメッセージ(SSEI-DC)は、送信されるビットストリーム中の動的な変化の帯域内シグナリング又は帯域外シグナリングをそれぞれ提供する。前者は、最初のSSEIと比較して、受信したポイントからのビットストリーム中にどのレイヤが存在していないかを示しており、一方、後者は、ビットストリーム中のレイヤ間予測依存性の変化を示している。国際特許出願番号PCT/US07/065003は、これらのこと、並びにスケーラビリティ情報を管理するためのさらなるシステム及び方法を述べている。
【００２４】
概して、SSEI、SSEI-LNP、及びSSEI-DCメッセージは、組み合わせて使用される場合、そのメッセージにより、中間ゲートウェイ又は受信装置が、サーバ/符号器又はゲートウェイから送信されたビットストリームの全体構造について、連続して通知され得るように、また正しい適応機能を実施できるように設計される。しかし、その設計には重要な制限があり、それは、実際の通信システムで使用され得る異なる可能な符号化構造を詳細に調べると明らかになる。
【００２５】
例えば、SVC JD7のドラフトは、時間構造を可能にするが、それは、レイヤ化が構築されているピラミッド型構造と矛盾し、また実際のアプリケーションでは問題となる可能性がある。具体的には、SVC JD7が、時間レベルに対して課する唯一の制限は以下のものである。すなわち、「currTlに等しいtemporal_levelを有する任意のアクセスユニットの復号は、currTlを超えるtemporal_levelを有するすべてのアクセスユニットから独立しているべきである」(G.7.4.1、NAL unit SVC header extension semantics、405頁を参照のこと)。この制限は、所与の時間レベルが、高位の時間レベルからの情報にアクセスすることなく復号できることを保証している。しかし、それは、特定の時間レベル内に存在し得る、並びにその時間レベルと低位時間レベル間に存在し得るいずれの依存性にも対処していない。SVC JD7の制限は、高位の時間レベルから低位の時間レベルへの遷移が、高位の時間レベルを有するアクセスユニットをすべて、単純に廃棄することによって直ちに行うことができることを保証する。逆のオペレーション、すなわち、低位の時間レベルから高位の時間レベルへのスイッチング又は遷移は、依存性の問題を有する。
【００２６】
その問題は、例示的な時間レイヤのピクチャ予測構造を示す図2a及び2bを参照すると理解することができる。図2(a)は、二つの時間レイヤであるレイヤ0及びレイヤ1を有する「時間的にネストされていない」構造200aを示す。第2のレイヤ(レイヤ1)は、第1のフレーム(レイヤ0)で生成された完全に別個の「スレッド」として形成される。レイヤ0の復号は、レイヤ1に依存していないので、これはSVC JD7ドラフト下のSVCに対して有効な構造である。この構造で、低位の時間レベルから高位の時間レベルに遷移することの問題は、レイヤ0だけを(フレーム0、2、4などで)受信する受信装置に対して明らかである。受信装置は、レイヤ0からレイヤ1の依存性の時間的な範囲がレイヤ0のフレームを越えているため、意のままにレイヤ1を追加することができない。例えば、受信装置がフレーム2でレイヤ1を追加したいと望む場合、次フレーム(フレーム3)で、(レイヤ1に対する)復号オペレーションを開始することにより追加することはできない。それは、このような復号オペレーションは、フレーム0と1を共に必要とし、その後者が受信されていないからである。
【００２７】
図2(b)は、レイヤ0及び1を少し複雑にした符号化構造を有する同様の時間的にネストされていない構造200bを示す。受信装置/復号器は、フレーム3がフレーム1から予測されているので、フレーム2でレイヤ1に切り替えることができない。
【００２８】
図2a及び2bは、簡単化のために、二つのレイヤだけをそれぞれが有する構造200及び202bを用いて、低位の時間レベルから高位の時間レベルに遷移することに関する問題を示している。問題は、任意の数の時間レイヤで存在し得ることが理解されよう。図2cは、レイヤ0-2の三つの時間レイヤを有する例示的な構造200cを示す。構造200cは、レイヤ依存性の時間的範囲による同様の遷移問題を示している。
【００２９】
時間的にネストされていないレイヤ構造200a-200cは、G.7.4.1の要件を満たしているが、時間的なスケーラビリティ機能の使用が大幅に制限されることに留意されたい。対照的に、図3は、「時間的にネストされた」レイヤ構造300を示しており、それは、G.7.4.1の要件を満たし、さらに、任意のレイヤから他のレイヤへと時間的に切り替えることを可能にする。図で示すように、構造300で時間的にネストする段階はない。すなわち、レイヤNの任意のiフレームに対して、復号順で、フレームiとその参照ピクチャのいずれかとの中間にあるM<Nの時間レベルのフレームはない。同様な意味で、復号順における後続する参照ピクチャが低位の時間レベル値を有する場合、インター予測のために参照ピクチャは使用されない。この条件は、レイヤNに対する追加の時間レイヤを、レイヤNの任意のフレームの直後に追加できることを保証する。
【００３０】
符号器/サーバ、中間ゲートウェイ、又は受信装置で、時間レベルを容易に追加又は取り除くことができることは、フレームレートが、ビットレート及びエラー制御に対して直接利用可能なパラメータの一つであるので、実時間の低遅延通信において、基本的に重要なものである。国際特許出願番号PCT/US06/28365、PCT/US06/028366、PCT/US06/061815、及びPCT/US07/63335に記載された例示的な時間予測構造は、すべてネストされていることに留意されたい。符号化依存性情報は、SSEI(及びSSEI-DC)で明示的に符号化されているが、依存性の時間的範囲を捕捉しない。例えば、構造200c及び300は、同一のSSEIメッセージを有する。
【００３１】
本発明のシステム及び方法は、(a)時間レベルの依存性の時間的範囲を示し、(b)特定のアプリケーションドメイン及びプロファイルに対してネストされたオペレーションを実行させる能力を提供する明示的な情報を、符号化されたビットストリーム中に含む。
【００３２】
本発明の一実施形態では、情報は、SVCのシーケンスパラメータセット中に配置される「temporal_level_nesting_flag」と呼ばれる単一ビットのフラグから構成される。
【００３３】
図4は、本発明の原理による、JD7テキストの関連セクション(Section G.7.3.2、Sequence parameter set SVC syntax)に対する変更されたシンタックス400を示す。追加されたフラグ(temporal_level_nesting_flag)は、シンタックス構造の最初のものである。temporal_level_nesting_flagのセマンティクス(JD7テキスト中のG.7.4.2、Sequence parameter set SVC extension semanticsに位置する)は、復号順で後続する参照ピクチャが低位の時間レベル値を有する場合、参照ピクチャをインター予測に対して使用すべきではないことを値0が示し、一方、値1は、このような制限が設定されていないことを示すように定義される。ビットストリームの構造に対して設定される制限を変更することなく、セマンティクスの代替の定義も可能である。
【００３４】
本発明の第2の実施形態では、同じtemporal_level_nesting_flagが、SSEI(SVC JD7、Section G.10.1.1)中に配置されるが、それは、特定のSVCビットストリームに属するすべてのスケーラビリティ情報が、単一のシンタックス構造中に存在するというさらなる利点を有する。図5は、この場合に対する変更されたシンタックス500を示す。変更されたシンタックス500に対するセマンティクスは、シンタックス400に適用可能なセマンティクスと同一である。
【００３５】
メディアサーバ若しくは符号器、メディアゲートウェイ、又は受信装置/復号器により、時間レベルのネスティングフラグ(temporal level nesting flag)を使用することは、temporal_level_nesting_flagがSSEI中に存在するか、それともシーケンスパラメータセット（Sequence Parameter Set）中に存在するかにかかわらず、同じオペレーションを含む。そのオペレーションは、すべての装置に対して両方の場合で同じであるので、便宜上、装置の全部で三つの異なるタイプを、本明細書では共通して「処理装置」と呼ぶ。
【００３６】
図6は、NALフィルタリングに関係する例示的な処理装置600のアーキテクチャを示す。処理装置600は、各入力で、SVC NALユニットを受け入れ、その出力で、入力されたNALユニットのいくつか又はすべての複製を作成する。どのNALユニットを出力に転送すべきかの決定は、NALフィルタリングユニット610で行われる。好ましいアーキテクチャでは、NALフィルタリングユニット610は、RAMに記憶され得るNFC(NAL Filter Configuration)テーブル620により制御される。NFC 620は、3次元テーブルであり、三つの次元T、D、及びQは、NALのtemporal_level、dependency_id、及びquality_idに対応する。図6では、テーブル値はパス(PASS)列で示されている。個々のT、D、及びQ値に関するテーブルエントリ中の値1は、そのSVCヘッダ中に同じT、D、及びQ値を有する入力NALユニットを、NALフィルタリングユニット610が転送すべきであることを示している。反対に、値0は、特定の入力NALユニットを転送すべきではないことを示している。したがって、図6で示されたNFC 620によれば、ベースレイヤ(T=0、D=0、Q=0)を出力に転送することができるが、高位の時間レイヤ(T=1)は転送することができない。
【００３７】
セットアップ中に、処理装置600は、シグナリングを介して(SVCビットストリームから)帯域内で、又は他の手段でSSEIを取得する。SSEIは、後のオペレーションで使用するためにRAM 640に記憶される。NFC 620は、SSEIが取得された後、その最初のコンフィギュレーションを取得することができる。最初のコンフィギュレーションは、例えば、すべてのNALユニットが出力へと渡される(フィルタリングが適用されない)ようにすることができる。これは、特定のアプリケーションに依存する。処理装置600はまた、現在動作している時間レベルを記憶するTLメモリ630に対して初期値を設定する。
【００３８】
図6で示すように、処理装置600はまた、追加の入力である時間レベルスイッチトリガ650を備える。この入力は、システムオペレーションの所望の時間レベルに関する情報を、NALフィルタリングユニット610に提供する。時間レベルスイッチトリガ650の信号は、例えば、正、ゼロ、又は負の整数値を有し、現在のピクチャの後、示された量によって、時間レベルを増加させる、同じレベルに留まる、又は低減させるべきであることをそれぞれ示すことができる。
【００３９】
NALフィルタリングユニット610が、特定のピクチャで、時間レベルスイッチトリガ信号の負の値を検出したとき、それは、この値を、TLメモリ630に記憶された現在動作している時間レベル値に加算し、所望の新しく動作する時間レベルを反映するように、NFCテーブル620を再構成する。加算結果が負の値になった場合、値0がTLメモリ630に記憶される。NALフィルタリングユニット610が、特定のピクチャで正の時間レベルスイッチトリガ信号を検出したとき、それは、まずtemporal_level_nesting_flagの値を調べる。その値が0である場合、NALフィルタリングユニット610は、さらなるアプリケーション特有の情報がない状態では、所望の高位の時間レベルに切り替えることが可能であるかどうか決定することができず、アクションを行わない。temporal_level_nesting_flagの値が1である場合、時間レベルスイッチトリガ信号の値がTLメモリに加算され、所望の新しい動作レベルを反映するように、NFCテーブルが再構成される。TLメモリの新しい値が、SSEIで反映されるビットストリーム中に存在する最大の時間レベルよりも高い場合、TLは、その最大の時間レベル値に設定される。最大の時間レベル値は、SSEIに含まれるすべてのレイヤ情報を構文解析することにより、またtemporal_level[i]のシンタックスエレメントの最大の値を記憶することにより、SSEIから取得できることに留意されたい。
【００４０】
図7は、NALフィルタリングユニット610のオペレーションの流れ図700を示す。流れ図700では、説明文「トリガ(TRIGGER)」は、図6の時間レベルスイッチトリガ650信号の値を指定するが、「TL_MAX」は、SSEIから得られる最大の時間レベル値を指定する。関数NFC(T, D, Q)は、T、D、及びQ値の特定の組合せに対してNFC 620の値を返す。
【００４１】
すべてのコンポーネントが意図されて共に設計されたシステムでは、ビットストリームの構造に関して、アプリオリに仮定を行うことが可能であることに留意されたい。これらの場合では、何らかの基準がT、D、及びQ値により満たされた場合、時間レベルのアップスイッチング(upswitching)を可能にすることができる。NALフィルタリングユニット610は、時間レベルのアップスイッチングを行うことを試みるとき、また後のピクチャで、時間レベルのアップスイッチングを行うことを選択しようとするとき、このような基準を組み込むように構成することができるが、その場合、おそらく、アプリケーション特有の条件は満たされるはずである。
【００４２】
本発明の好ましい実施形態であると考えられるものについて述べてきたが、他の、さらなる変更及び修正を、本発明の趣旨から逸脱することなく諸実施形態に対して行うことが可能であり、このような変更及び修正のすべてを本発明の真の範囲に含まれるものとして特許請求するように意図されていることが、当業者であれば理解されよう。
【００４３】
本発明によれば、本明細書に述べられた技法は、ハードウェアとソフトウェアの任意の適切な組合せを用いて実施できることが理解されよう。前述のレート推定及び制御技法を実装し、動作させるためのソフトウェア(すなわち、命令)は、ファームウェア、メモリ、記憶装置、マイクロコントローラ、マイクロプロセッサ、集積回路、ASIC、オンラインのダウンロード可能な媒体、及び他の利用可能な媒体を限定することなく含むことのできるコンピュータ可読媒体上で提供することができる。
【図１】
0005640104.tif 000002
【図２】
0005640104.tif 000003
【図３】
0005640104.tif 000004
【図４】
0005640104.tif 000005
【図５】
0005640104.tif 000006
【図６】
0005640104.tif 000007
【図７】
0005640104.tif 000008