(57)【要約】【課題】メディアデータの分散記憶を提供する。【解決手段】メディアデータのストリーム（１０）を記憶する、本発明の方法（３００、４００）及びシステムが記載される。メディアデータは、メディアコンテンツのインスタンスを記述する。メディアデータは、スケーラブル符号化することができる。スケーラブル符号化データは、少なくとも第１の部分及び第２の部分に分離される。スケーラブル符号化データの第１の部分は、ネットワーク（２００）内の第１のノード（１）に記憶される。スケーラブル符号化データの第２の部分は、ネットワーク内の第２のノード（２）に記憶される。【選択図】図３
2009535908.tif 000002
【特許請求の範囲】
【請求項１】
メディアコンテンツのインスタンスを表すメディアデータのストリーム（１０）を記憶する方法（３００）であって、
符号化された前記メディアデータを含むスケーラブル符号化データを少なくとも第１の部分および第２の部分に分離すること（３２）と、
前記スケーラブル符号化データの前記第１の部分をネットワーク（２００）内の第１のノード（１）に記憶すること（３４）と、
前記スケーラブル符号化データの前記第２の部分を前記ネットワーク内の第２のノード（２）に記憶すること（３６）と
を含む方法。
【請求項２】
前記第１の部分は、前記ストリームの第１のセグメント（１２Ａ）からのデータを含み、  
前記第２の部分は、前記ストリームの第２のセグメント（１２Ｂ）からのデータを含む
請求項１に記載の方法。
【請求項３】
前記第１の部分は、データの第１のブロック（１４  Ａ１）を含み、
前記第２の部分は、データの第２のブロック（１４  Ａ２）を含み、
前記第１のブロックおよび前記第２のブロックは前記ストリームの同じセグメントに対応し、前記第１のブロックが復号されるときにメディアコンテンツの前記インスタンスの第１のバージョンが生成され、前記第２のブロックが、前記第１のブロックの復号と組み合わせて復号されるときに、メディアコンテンツの前記インスタンスの第２のバージョンが生成される
請求項１に記載の方法。
【請求項４】
前記第１の部分および前記第２の部分をスケーラブルデータパケットにパケット化することをさらに含む
請求項１に記載の方法。
【請求項５】
スケーラブルデータパケットは、前記ストリームの重なり合わない複数のセグメントからのデータを含む
請求項４に記載の方法。
【請求項６】
前記スケーラブル符号化データの一部は、前記ネットワーク内の複数のノード（１、２、Ｍ）に冗長記憶される
請求項１に記載の方法。
【請求項７】
前記第１の部分及び前記第２の部分は、前記スケーラブル符号化データに関する情報に従って選択される
請求項１に記載の方法。
【請求項８】
前記第１の部分及び前記第２の部分は、前記ネットワークに関する情報に従って選択される
請求項１に記載の方法。
【請求項９】
前記スケーラブル符号化データは暗号化される
請求項１に記載の方法。
【請求項１０】
メディアコンテンツのインスタンスのメディアデータをストリーミングする方法（４００）であって、
第１の記憶ノード（１）からスケーラブル符号化データの第１の部分を受信すること（４６）と、
第２の記憶ノード（２）からスケーラブル符号化データの第２の部分を受信すること（４８）と
を含み、
前記第１の部分及び前記第２の部分は、メディアコンテンツの同じ前記インスタンスに関連付けられている
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、メディアデータのストリーミングの分野に関する。
【背景技術】
【０００２】
ネットワーク化されたストリーミング環境は、システム設計者に多くの課題を提示する。
たとえば、クライアントは、異なる表示能力、電力能力、通信能力、及び計算能力を有する可能性がある。
加えて、通信リンク（有線又は無線）は、異なる最大帯域幅、品質レベル、及び時間変化する特性を有する可能性がある。成功したストリーミングシステムは、時間変化する通信リンクにより異種のクライアントへコンテンツをストリーミングすることができる。
場合によっては、コンテンツのセキュリティを維持することも重要である。
【０００３】
ストリーミング環境においてスケーラビリティ及び効率性を達成するための１つの手段は、中間ネットワークノードにおいて圧縮（符号化）ストリームを適合させるか又はトランスコードすることである。
トランスコーダは、圧縮ストリームを入力として取り込み、次いで、その圧縮ストリームを処理して、別の圧縮ストリームを出力として生成する。
サンプルのトランスコーディングオペレーションには、ビットレート削減、レートシェーピング、空間ダウンサンプリング、フレームレート削減、及び圧縮フォーマットの変更が含まれる。
ネットワークトランスコーディングは、たとえば、ストリームの空間解像度を特定のクライアントの能力に適合させることにより、又は、ストリームのビットレートを、ネットワークチャネルの時間変化する特性と整合するように動的に調整することにより、システムのスケーラビリティ及び効率性を改善することができる。
【０００４】
ネットワークトランスコーディングは、ストリーミングシステムのスケーラビリティを容易にする一方で、複数の課題も提示する。
第１に、計算効率の良いトランスコーディングアルゴリズムが開発されているが、これらのトランスコーディングアルゴリズムであっても、中間ネットワークノードで数百又は数千のストリームを処理するには適していないし、中間の低電力のネットワーキングリレーノードでは、数個のストリームであっても処理に適していない。
さらに、暗号化ストリームに対して行われる従来のトランスコーディングオペレーションは、一般に、ストリームを解読し、解読されたストリームをトランスコードし、次いで、その結果を再暗号化することを必要とするので、従来のネットワークトランスコーディングは、ストリーミングシステムのセキュリティに対する深刻な脅威を提起する。
従来のあらゆるトランスコーダは、ストリームを解読しなければならないので、各ネットワークトランスコーディングノードは、システム全体のセキュリティにほころびが起こり得ることを提示する。
【０００５】
さらに別の懸念として、ネットワーク化されたストリームシステムは、有線／無線帯域幅及びクライアント資源によって制限を受ける。
無線帯域幅は、その共有される性質及び無線スペクトルの根本的な限界のために不足している。有線帯域幅は、その共有される性質によって制限を受け、その結果、ネットワーク輻輳になる可能性がある。
クライアント資源は、多くの場合、電力制約、並びに、表示能力、通信能力、及び計算能力によって実際に制限を受ける。
一例として、無線送信は、通常、大きな電力バジェットを消費し、無線受信だけであっても、通常、大きな電力バジェットを消費する。
ネットワーク帯域幅及びクライアント資源を最も効率的に利用するために、クライアントの表示能力、処理能力、及び通信能力と整合した最小の帯域幅ストリームをクライアントに送信することが望ましい。
送信側が、異なる資源を有する複数の異種のクライアントへコンテンツをストリーミングするネットワーク化されたストリーミングシステムでは、エンドツーエンドシステムの効率性及びスケーラビリティを達成することを助けるのにネットワークトランスコーダを使用することができる。
【０００６】
ハイブリッド有線／無線ネットワークでは、多くの場合、有線ネットワーク上の固定クライアント及び無線ネットワーク上の移動クライアントへコンテンツを同時にストリーミングすることが必要である。
このようなハイブリッドシステムでは、多くの場合、フル帯域幅で高解像度のストリームを固定有線クライアントへ送信し、それよりも低帯域幅で中解像度のストリームを移動無線受信機へ送信することが望ましい場合がある。
しかしながら、従来のストリーミング手法は、ハイブリッド有線／無線ネットワークに対応したビデオストリーミングを容易に収容するのに必要な効率性、セキュリティ、及びスケーラビリティを達成していない。
【特許文献１】国際公開２００１／２０９１０
【非特許文献１】MASASHI MURASAKI 他: 「A Video Contents Delivery Method using Scalable Video Data over the Network」, INTERNET CITATION, [On line] 2003年4月29日, XP002321654 Retrieved from the Internet: URL:NANTES, FR, EU http://www/polytech.univ-nantes.fr/pv2003/papers/pv/ht ml/abstract/a1037.htm}
【発明の開示】
【発明が解決しようとする課題】
【０００７】
したがって、メディアデータをセキュアな且つ／又は計算効率の良い方法でストリーミングし且つ／又は記憶することを可能にすることができる方法及び／又はシステムが好都合である。
異なる表示能力及び表示特性、電力能力及び電力特性、通信能力及び通信特性、並びに計算能力及び計算特性を有する場合がある異種クライアントへメディアデータをストリーミングすることを可能にすることもできる方法及び／又はシステムも好都合である。
従来の解決法は、これらの能力の１つ若しくは２つ以上が欠如しているか、又は必要以上に複雑である。
【課題を解決するための手段】
【０００８】
本発明の実施の形態は、メディアデータのストリームの記憶及び分散を行うための、本発明の方法及びシステムに関する。
一実施の形態では、メディアデータは、メディアコンテンツのインスタンスを記述し、スケーラブル符号化される。
このような実施の形態では、スケーラブル符号化データは、第１の部分及び第２の部分に分離される。
スケーラブル符号化データの第１の部分は、ネットワーク内の第１のノードに記憶される。
スケーラブル符号化データの第２の部分は、ネットワーク内の第２のノードに記憶される。
【０００９】
添付図面は、この明細書に援用されると共にこの明細書の一部を成す。
添付図面は、本発明の実施形態を示し、本明細書と共に、本発明の原理を説明する機能を果たす。
【００１０】
本明細書で参照される図面は、特に言及がある場合を除き、一律の縮尺で描かれているものと理解されるべきではない。
【発明を実施するための最良の形態】
【００１１】
次に、本発明のさまざまな実施形態を詳細に参照することにする。
さまざまな実施形態の例は、添付図面に示されている。
本発明をこれらの実施形態と共に説明するが、実施形態は、本発明をこれらの実施形態に限定するように意図されていないことが理解されよう。
逆に、本発明は、代替形態、変更形態、及び均等物をカバーするように意図されている。
これらの代替形態、変更形態、及び均等物は、添付の特許請求の範囲によって規定されるような本発明の精神及び範囲内に含めることができる。
さらに、本発明の以下の説明では、本発明の徹底した理解を提供するために、多数の具体的な詳細が述べられる。
それ以外の場合には、本発明の態様を不必要に不明瞭にしないように、既知の方法、手続き、コンポーネント、及び回路は詳細に説明されていない。
【００１２】
本明細書で提供される説明及び例は、マルチメディアデータ（本明細書では、メディアデータ又はメディアコンテンツとも呼ばれる）の文脈で論述される。
マルチメディアデータの一例は、オーディオデータが付随したビデオデータであり、たとえば、サウンドトラックを有する映画である。
しかしながら、メディアデータは、ビデオのみ、オーディオのみ、又はビデオ及びオーディオの双方とすることができる。
一般に、本発明は、そのさまざまな実施形態において、音声ベースのデータ、オーディオベースのデータ、画像ベースのデータ、ウェブページベースのデータ、グラフィックデータ等、及びそれらの組合せと共に使用するのに適している。
【００１３】
図１は、本発明による一実施形態におけるメディアストリーム１０のスケーラブル符号化を示している。
メディアストリーム１０は、メディアコンテンツのインスタンスのメディアデータを含む。
メディアコンテンツのインスタンスには、すでにキャプチャされて記録された映画又はライブイベント、リアルタイムで配信されるライブイベント等のアイテムが含まれ得る。
メディアコンテンツの或るインスタンスは、別のインスタンスと区別することができる。
たとえば、メディアコンテンツの第１のインスタンスは、或るタイトルを有することができ、メディアコンテンツの第２のインスタンスは、異なるタイトルを有することができる。
一実施形態では、メディアコンテンツのインスタンスは、図に見られるようなセグメント及びブロックに分離できるオリジナルデータのインスタンスを指す。
ここで、セグメント及びブロックは、復号デバイスによって或る形態のオリジナルデータに再組み立てすることができ、オリジナルデータは、開始点及び終了点を有する関係した映像のシーケンスを含むコンテンツを表し、開始点と終了点との間にはコンテンツの時間上の依存関係が存在し得る。
【００１４】
より具体的には、一実施形態では、エンコーダの出力は、エレメンタリストリームと呼ばれる。
同じエレメンタリストリームのパケットは、同じパケット識別子コード（ＰＩＤ）を有する。
したがって、一実施形態では、メディアコンテンツのインスタンスは、ＰＩＤの使用等で識別される。
メディアコンテンツのインスタンスは、それ自身のＰＩＤを有する。
【００１５】
メディアコンテンツのインスタンスは、オブジェクト記述子（ＯＤ）を使用して識別することができる。
メディアコンテンツのインスタンスは、それ自身のＯＤ識別子を有する。
ＯＤは、メディアコンテンツのインスタンスのデータ又はサイド情報で１つ又は２つ以上のストリームを指し示すエレメンタリストリーム記述子のリストを指し示すことができる。
【００１６】
メディアコンテンツのインスタンスは、知的財産識別（ＩＰＩ）記述子を使用して識別することができる。
メディアコンテンツのインスタンスは、それ自身のＩＰＩ記述子を有する。
メディアコンテンツの複数のインスタンスが、同じＩＰＩ情報によって識別される場合、ＩＰＩ記述子は、別のエレメンタリストリーム又はＰＩＤへのポインタで構成することができる。
【００１７】
メディアコンテンツのインスタンスは、それ自身の統一資源位置指定子（ＵＲＬ）によって識別することができる。
【００１８】
メディアコンテンツの或るインスタンスを別のインスタンスと区別する他の方法も存在し得る。
【００１９】
ストリーム１０は、複数のデータセグメント１２  Ａ、Ｂ、…、Ｎに分離することができる。
セグメント１２  Ａ、Ｂ、…、Ｎは、ストリーム１０のコンテンツに基づいて知的に選択することができる。
たとえば、セグメントは、画像フレーム又は画像フレーム内の特定の領域に対応することができる。
セグメントは、異なるサイズを有することができる。
【００２０】
各セグメント１２  Ａ、Ｂ、…、Ｎは、データブロック１４  Ａ１、Ａ２、…、Ａｊ、Ｂ１、Ｂ２、…、Ｂｋ等としてスケーラブル符号化される。
これらのデータブロックは、異なるサイズを有することができる。
さらに、より細かな粒度でもデータブロックをスケーラブルとすることができ、この粒度でデータブロックを部分的に復号可能とすることができる。
スケーラブル符号化標準規格には、ムービングピクチャエキスパートグループ（ＭＰＥＧ）１／２／４及びＨ．２６１／２／３／４、モーションＪＰＥＧ２０００を含むＪＰＥＧ（ジョイントフォトグラフィックエキスパートグループ）２０００、並びに画像及びビデオの３Ｄサブバンド符号化が含まれるが、これらに限定されるものではない。音声データ、オーディオデータ、ウェブベースのデータ、及びグラフィックデータ用のスケーラブル符号化方法も存在する。
【００２１】
スケーラブル符号化データは、その符号化データの一部を使用してさまざまな品質レベルを有するオリジナルデータを復元することができるという特性を有する。
具体的には、スケーラブル符号化データは、埋め込みビットストリーム（embedded bitstream）と考えることができる。
このビットストリームの一部を使用して、ビットストリームの残りからの情報を何ら必要とすることなく、オリジナルデータのベースライン品質の復元を復号することができ、このビットストリームの漸次大きな部分を使用して、オリジナルデータの改善された復元を復号することができる。
【００２２】
たとえば、画像が解像度別にスケーラブル符号化されている場合、低解像度の画像を復元するには、データの小さな部分を復号して使用することができ、中解像度の画像を復元するには、データのより大きな部分を復号して使用することができ、フル解像度の画像を復元するには、データのすべてを復号して使用することができる。
したがって、たとえば、メディアコンテンツのインスタンスの低解像度の画像を復元するには、ブロックＡ１を復号して使用することができ、メディアコンテンツのインスタンスのより高い（それでもまだ比較的低い）解像度の画像を復元するには、ブロックＡ２を復号して、ブロックＡ１からの復号データと組み合わせて使用することができる等である。
メディアコンテンツのインスタンスの最も高い解像度の画像を復元するには、ブロックＡｊが、他のブロックＡ１、Ａ２、…と共に復号されて使用される。
説明するように、本発明の実施形態によれば、メディアコンテンツのインスタンスのブロック１４のそれぞれは、記憶のために１つ又は２つ以上のネットワークノードへ配信され、次いで、その後、それらの各記憶ノードから宛先クライアントデバイスへ復号のために配送される。
【００２３】
一実施形態では、スケーラブル符号化データは暗号化される。
このような実施形態では、オリジナルデータ（平文）は、暗号化データ（暗号文）に暗号化される。
ブロック暗号及びストリーム暗号等の暗号化技法を使用することができるが、これらに限定されるものではない。
暗号化オペレーションは、メディアストリーム全体にわたって行われる場合があるか、又はメディアストリームのいくつかのセグメントに対して行われる場合もある。
【００２４】
別の実施形態では、スケーラブル符号化データは、漸進的に暗号化（progressively encrypted）される。
本明細書で使用されるように、漸進的暗号化（progressive encryption）は、オリジナルデータ（平文）を入力として取り込み、漸進的暗号化データ（暗号文）を出力として作成するプロセスとして定義される。漸進的暗号化技法には、暗号ブロック連鎖及びストリーム暗号が含まれるが、これらに限定されるものではない。
これらの漸進的暗号化方法は、データの第１の部分が独立して暗号化され、その後の部分がそれよりも前の部分に基づいて暗号化されるという特性を有する。
平文は、先頭から末尾に向かう方法、すなわち順次的な方法で、暗号化される。
この暗号化では、ビットストリームの第１の部分は、単独で暗号化され、ビットストリームの第２の部分は、第１の部分を使用して（たとえば、第１の部分と組み合わせて）暗号化され（暗号化された第１の部分を使用することもできるし、暗号化されていない第１の部分を使用することもできる）、以下同様にして暗号化される。
漸進的暗号化データは、第１の部分を、オリジナルデータの残りの部分からの情報を必要とすることなく単独で解読することができ、漸進的に大きな部分を、この同じ特性で解読することができるという特性を有する。
漸進的に大きな部分では、解読は、ビットストリームのその後の部分ではなく、それよりも前の部分からのデータを使用することができる。
漸進的暗号化標準規格には、データ暗号化標準（ＤＥＳ）、トリプルＤＥＳ、及び次世代暗号化標準（ＡＥＳ）が含まれるが、それらに限定されるものではない。
これらの暗号化プリミティブは、複数のブロック暗号モードを使用して適用することができる。複数のブロック暗号モードには、電子コードブック（ＥＣＢ）モード、暗号ブロック連鎖（ＣＢＣ）モード、暗号フィードバック（ＣＦＢ）モード、出力フィードバック（ＯＦＢ）モード、及びカウンタ（ＣＴＲ）モードが含まれる。
【００２５】
漸進的暗号化と共に、使用できる認証技法には、メッセージ認証コード（ＭＡＣ）やデジタル署名（ＤＳ）等のよく知られた認証技法が含まれるが、これらに限定されるものではない。
よく知られたＭＡＣには、セキュアハッシュアルゴリズム１（ＳＨＡ−１）のハッシュを使用するハッシュメッセージ認証コード（ＨＭＡＣ）等のハッシュベースのＭＡＣ、又は、ＣＢＣモードのＡＥＳ等の暗号ベースのＭＡＣが含まれる。
データパケットは、他のパケットを認証する能力に影響を与えることなく１つ又は２つ以上のパケットを廃棄することができるように独立して認証することができる。
代替的には、他のパケットのグループを認証する能力に影響を与えることなくパケットのグループを廃棄することができるように、パケットのグループを独立して認証することもできる。
上記暗号技法は、対称鍵技法を使用するか、又は公開／秘密鍵技法を使用して適用することもできる。
【００２６】
図２は、本発明による実施形態を実施することができるネットワーク２００の要素を示すブロック図である。
図２の例では、ネットワーク２００は、たとえば、図１と共に説明したように、メディアコンテンツのアイテムを符号化（具体的には、スケーラブル符号化）するエンコーダノード２１を含む。
エンコーダノード２１は、スケーラブル符号化データを暗号化（具体的には、漸進的暗号化）することもできる。
エンコーダノード２１は、別のノード（図示せず）からメディアコンテンツのアイテムを受信する場合があるか、又はエンコーダノード２１は、それ自身がコンテンツソースの場合がある。
単一のエンコーダノード２１が示されているが、２つ以上のエンコーダノードが存在してもよい。
【００２７】
本実施形態では、図２のネットワーク２００は、複数のノード１、２、…、Ｍを含む。
これらのノードのそれぞれは、エンコーダノード２１から受信されたスケーラブル符号化データを記憶する能力を有する。
上述したように、データを暗号化又は漸進的暗号化することもできる。エンコーダノード２１は、有線接続又は無線接続を介してノード１、２、…、Ｍと通信することができる。
ノード１、２、…、Ｍは、互いに通信してもよく、又はそうでなくてもよい。
ノード１、２、…、Ｍは、記憶ノードとして説明されているが、トランスコーディング能力や、スケーラブル符号化データをデータパケットにパケット化する能力等の追加の機能性を有することもできる。
【００２８】
一実施形態では、ネットワーク２００は、オプションの管理ノード２３を含む。
管理ノード２３は、一般に、どのような情報がノード１、２、…、Ｍのそれぞれに記憶されているのかを知っている。
管理ノード２３は、トラフィック（たとえば、符号化データのデータパケット又はブロック）をエンコーダノード２１からさまざまな記憶ノード１、２、…、Ｍへ方向付け、記憶ノード１、２、…、Ｍからその後の宛先（たとえば、クライアント又はデコーダノード２２）へ方向付ける。
管理ノード２３によって提供される機能性は、この代わりに、エンコーダノード２１又は記憶ノード１、２、…、Ｍの任意のものに組み込んでもよく、又はそれらのノード間に分散させてもよい。
たとえば、記憶ノード１、２、…、Ｍは、記憶ノード間で情報をどのように分散するのかに関してそれらのノード間で決定することができるだけでなく、記憶ノード（複数可）のいずれがクライアント要求に応答するのかについても決定することができる。
【００２９】
クライアントノード２２は、有線接続又は無線接続を介してネットワーク２００に結合されている移動デバイス又は静止デバイスである。
ネットワーク２００と通信する２つ以上のクライアント又はデコーダノードが存在することができ、クライアント／デコーダノードの個数は、通常、時間と共に変化する。
【００３０】
一実施形態では、ネットワーク２００は、オプションのプロキシ２４を含む。
このような実施形態では、クライアントノード２２は、コンテンツのアイテムの要求をプロキシ２４に通信する。
プロキシ２４は、次に、クライアントノード２２の代わりに動作して、記憶ノード１、２、…、Ｍから情報を取り出し、取り出した情報をクライアントノード２２へ配送するか、又は、記憶ノード１、２、…、Ｍからの情報をクライアントノード２２へ方向付ける。
【００３１】
別の実施形態では、クライアントノード２２は、記憶ノード１、２、…、Ｍのそれぞれと直接通信し、コンテンツのアイテムの情報を要求して取り出す。
【００３２】
図１及び図２を参照して概観すると、メディアコンテンツのアイテムのデータは、次のようにネットワーク２００において分散されて記憶される。
メディアコンテンツのアイテムを表すデータのストリーム１０は、セグメント１２及び／又はブロック１４にスケーラブル符号化される。
また、セグメント１２及びブロック１４は、漸進的暗号化することもできる。
【００３３】
一実施形態では、セグメント１２は、記憶ノード１、２、…、Ｍの１つ又は２つ以上へ配信される。
すなわち、たとえば、セグメントＡを記憶ノード１へ送信することができ、セグメントＢを記憶ノード２へ送信することができる等である。
２つ以上のセグメントを記憶ノードのそれぞれへ送信することができる。
すなわち、たとえば、セグメントＡ及びＢを共に記憶ノード１へ送信することができる。
また、１つのセグメントを２つ以上の記憶ノードへ送信することもできる。
すなわち、たとえば、セグメントＡを記憶ノード１及び記憶ノード２の双方へ送信することができる。
【００３４】
一実施形態では、ブロック１４は、記憶ノード１、２、…、Ｍの１つ又は２つ以上へ配信される。
すなわち、たとえば、ブロックＡ１を記憶ノード１へ送信することができ、ブロックＡ２を記憶ノード２へ送信することができる等である。
２つ以上のブロックを記憶ノードのそれぞれへ送信することができる。
すなわち、たとえば、ブロックＡ１及びＡ２を共に記憶ノード１へ送信することができる。
１つのブロックを２つ以上の記憶ノードへ送信することもできる。
すなわち、たとえば、ブロックＡ１を記憶ノード１及び記憶ノード２の双方へ送信することができる。
さらに、ブロック１４を、そのブロックが関連付けられているセグメント１２に関係なく、記憶ノードへ送信することができる。
すなわち、たとえば、ブロックＡ１及びＢ１を記憶ノード１へ送信することができる。
その上、ブロック１４を任意の組合せでさまざまな記憶ノードへ送信することができる。
たとえば、コンテンツのアイテムが、解像度レベルに従って符号化されている場合、最低解像度レベルに対応するブロック及び別の解像度レベルに対応するブロックを同じ記憶ノードへ送信することができる。
すなわち、ブロックＡ１及びＢ２を記憶ノード１へ送信することができる。
【００３５】
さまざまな記憶ノード１、２、…、Ｍへのセグメント１２及び／又はブロック１４の配信は、セグメント１２又はブロック１４のそれぞれに含まれる情報の性質、エンコーダノード２１と記憶ノード１、２、…、Ｍとの間のネットワーク状態、記憶ノード１、２、…、Ｍ間の予想されるネットワーク状態、並びにクライアントノード又は宛先ノードの予想される個数及びタイプによって統制される。
セグメント１２及び／又はブロック１４を記憶ノード１、２、…、Ｍ間に分散するためのさまざまなパターンを示すのに使用することができる多様な例が存在する。
以下の例は、本発明の幅及び範囲を限定することを意図するものでなく、むしろその多様性を示すことを意図するものである。
【００３６】
ベースラインブロックは、他のブロックにより基盤として使用されるので、たとえば、メディアコンテンツのアイテムのベースライン品質の復元に使用されるスケーラブル符号化データ（たとえば、ブロックＡ１、Ｂ１等）は、通常、他のブロック（たとえば、Ａ２、Ｂ２等）よりも高い優先順位にあるとみなされる。
すなわち、画像を復元するとき、ブロックＡ２は、ブロックＡ１のデータに依存することができるが、その逆は成り立たない。
したがって、スケーラブル符号化データを記憶ノード１、２、…、Ｍ間にどのように分散するのかを考える場合、信頼性のより高いノードにベースラインブロック（たとえば、Ａ１、Ｂ１等）を記憶するように決定することができる。
ベースラインブロックは、通常、すべてのクライアントデバイスによって使用されるので、複数のノード及び／又はより大きい容量のノードにベースラインブロックを記憶するように決定することもできる。
同様に、特定の記憶ノードが、一般に、たとえば、最低解像度の画像データのみを利用するクライアントデバイスのみを受け持つ場合、そのノードにベースラインブロック以外を記憶しないように決定することができる。
【００３７】
スケーラブル符号化データをどのように分散するのかについて決定を行うときに考慮することができる他のタイプの情報には、ネットワーク内のパスに沿って利用可能な帯域幅、ネットワーク内のパスに沿ったボトルネックリンク容量、ネットワーク内のパスに沿ったデータパケット配送レート、ネットワーク内のパスに沿ったデータパケット損失率、ネットワーク内のパスに沿ったデータパケット受信パターン、ネットワーク内のパスに沿ったデータパケット損失パターン、ネットワーク内のパスをトラバースするのに必要な時間を定量化する情報、ネットワーク内のパスに関連付けられた遅延を定量化する情報、ネットワーククライアントへの近接性を定量化する情報、ネットワーク内の各ノードが受け持つネットワーククライアントの個数を定量化する情報、記憶ノードの互いに対する距離（たとえば、セキュリティの理由により、データが記憶されるノードが、長い距離によって物理的に隔てられている方が良い場合がある）、及びネットワーク内の各ノードが受け持つネットワーククライアントの特性を識別する情報が含まれるが、これらに限定されるものではない。
【００３８】
上記に列挙されたもの等のネットワーク状態は、時間と共に変化する可能性がある。
したがって、セグメント１２及び／又はブロック１４の分散は、時間と共に変化する可能性がある。
すなわち、たとえば、メディアコンテンツの特定のアイテムに関連付けられたセグメント１２及び／又はブロック１４は、記憶ノード１、２、…、Ｍ間に最初に分散された後、クライアントノードの分散を含むネットワーク状態が変化する場合、記憶ノード間で再分散することができる。
換言すれば、ネットワーク状態が変化する場合、メディアコンテンツの特定のアイテムのデマンドが増減する場合、及び各タイプのクライアントノードの個数及びロケーションが変化する場合に、セグメント１２及び／又はブロック１４の分散を変化させることができる。
【００３９】
上記例では、データそれ自体に関する情報も、データを記憶ノード１、２、…、Ｍ間にどのように分散するのかを考える際のファクタである。
データに関する情報には、スケーラブル符号化データの空間エリアの特徴、スケーラブル符号化データの色成分の特徴、スケーラブル符号化データの解像度レベル、スケーラブル符号化データの品質レベル、スケーラブル符号化データに関するレート歪情報、スケーラブル符号化データのセキュリティ感度、スケーラブル符号化データの時間配送要件、スケーラブル符号化データの符号化依存関係（coding dependency）、及びスケーラブル符号化データの暗号化依存関係（encryption dependency）が含まれるが、これらに限定されるものではない。
【００４０】
セキュリティに関しては、関係のあるスケーラブルセグメントを異なるノードに記憶することによってメディアデータのセキュリティを増大させるように、データを分散することができる。
たとえば、画像の単一部分に対応する異なる品質レベル又は解像度レベルを異なるノードに記憶して、システムのセキュリティを増大させることができる。
【００４１】
一実施形態では、クライアントノード２２からのコンテンツのアイテムの要求に応じて、コンテンツのアイテムに関連付けられたさまざまなコンポーネント（たとえば、セグメント１２又はブロック１４）が、それらコンポーネントがそれぞれ記憶されている記憶ノードからクライアントノード２２へ（おそらくプロキシ２４を介して）ストリーミングされる。
すなわち、セグメント１２  Ａ、Ｂ、…、Ｎ又はブロック１４  Ａ１、Ａ２、…、Ａｊ、Ｂ１、Ｂ２、…、Ｂｋ、…は、それらが記憶されている記憶ノード１、２、…、Ｍからクライアントノード２２へ配送される。
重要なことには、セグメント又はブロックが暗号化されている場合、これらが依然として暗号化されている間に、記憶ノード１、２、…、Ｍ上でロケートして、クライアントノード２２へ配送することができる。
【００４２】
一実施形態では、記憶ノード１、２、…、Ｍは、データをスケーラブルデータパケット（たとえば、データパケット２５）としてパケット化する。
各データパケット２５を構成するデータは、記憶ノードに記憶されたデータの関数である。
したがって、データパケットは、ストリーム１０の重なり合わない複数のセグメントからのデータを含むことができる。
すなわち、たとえば、データパケット２５は、ブロックＡ１及びＢ１又はブロックＡ１及びＢ２等を含むことができる。
【００４３】
トランスコーディングの１つの有用な形態は、データパケットのトランケーションを伴うものである。
この形態では、たとえば、第１の解像度レベルのデータがパケットの第１の部分に配置され、第２の解像度レベルのデータがパケットの第２の部分に配置され、且つ第３の解像度のデータが第３の部分に配置され、そして、第２の部分が第１の部分と第３の部分との間に配置される場合には、画像がたとえば第１の解像度レベルのみで復元される場合、トランスコーディング中に第２の部分及び第３の部分をトランケートして、第１の部分のみから成るより小さなパケットを残すことができるように、データはデータパケットに配列される。
本発明の実施形態によれば、たとえば、ベースライン品質のデータ（たとえば、ブロックＡ１、Ｂ１等）のみが記憶ノードに記憶されている場合、図２のデータパケット２５は次いで、それらのブロック（たとえば、Ａ１及びＢ１）の或る部分を含むことができ、別のデータパケットは、それらのブロックの別の部分を含むことができ、以下、それ以外のデータパケットについても同様である。
したがって、スケーラブル符号化データが記憶ノード１、２、…、Ｍ間にどのように分散されるのかを知的に選択することによって、トランケーションによるトランスコーディングと同等のものを達成することができる。
【００４４】
たとえば、トランケーションによるトランスコーディングの期間中、ブロックＡ１、Ａ２、及びＡ３を含むデータパケットをトランケートして、ブロックＡ２及びＡ３を除去することができ、ブロックＢ１、Ｂ２、及びＢ３を含むデータパケットをトランケートして、ブロックＢ２及びＢ３を除去することができ、且つ残りのブロックＡ１及びＢ１を、ブロックＡ１及びＢ１を含むデータパケットに再パケット化することができる。
本発明の実施形態によれば、同じ結果は、本質的に、ブロックＡ１及びＢ１のみを最初に含むデータパケットを構築することによって達成することができる。
【００４５】
トランスコーディングの別の有用な形態は、データパケット内からデータを抽出し、次いで、抽出されたデータを再パケット化することを伴う。
この場合も、記憶ノード１、２、…、Ｍ間でのセグメント１２及び／又はブロック１４の知的な分散によって、本質的に、対象となるデータのみを最初に含むデータパケットを構築することにより、トランスコーディングと同等の形態が達成される。
たとえば、抽出によるトランスコーディング中に、ブロックＡ１、Ａ２、及びＡ３を含むデータパケットをトランスコードして、ブロックＡ２を抽出することができ、ブロックＢ１、Ｂ２、及びＢ３を含むデータパケットをトランスコードして、ブロックＢ３を抽出することができ、且つブロックＡ２及びＢ３をデータパケットに再パケット化することができる。
本発明の実施形態によれば、同じ結果は、本質的に、Ａ２及びＢ３のみを最初に含むデータパケットを構築することによって達成することができる。
【００４６】
一般に、データパケットをトランスコードして、対象となるデータを維持しつつ或るデータを除去する代わりに、本発明による実施形態は、対象となるデータだけを最初に含むデータパケットを構築することによって本質的に同じ結果を達成することができる。
重要なことには、これは、データが暗号化された状態にある間に行うことができ、したがって、セキュリティが懸案であるインスタンスにおけるコンテンツのセキュリティが維持される。
【００４７】
セグメント又はブロックが２つ以上の記憶ノードに記憶されている場合、たとえば、記憶ノードそれ自体の状態を含めて、記憶ノードとクライアントノード２２との間のネットワーク状態に応じて、記憶ノードの１つが、セグメント又はブロックを配送するように選択される。
上述したように、ネットワーク状態には、ネットワーク内のパスに沿って利用可能な帯域幅、ネットワーク内のパスに沿ったボトルネックリンク容量、ネットワーク内のパスに沿ったデータパケット配送レート、ネットワーク内のパスに沿ったデータパケット損失率、ネットワーク内のパスに沿ったデータパケット受信パターン、ネットワーク内のパスに沿ったデータパケット損失パターン、ネットワーク内のパスをトラバースするのに必要な時間を定量化する情報、ネットワーク内のパスに関連付けられた遅延を定量化する情報、ネットワーククライアントへの近接性を定量化する情報、ネットワーク内の各ノードが受け持つネットワーククライアントの個数を定量化する情報、記憶ノードの互いに対する距離（たとえば、セキュリティの理由により、データが記憶されるノードが、長い距離によって物理的に隔てられている方が良い場合がある）、及びネットワーク内の各ノードが受け持つネットワーククライアントの特性を識別する情報を含めることができるが、これらに限定されるものではない。
【００４８】
上述したように、さまざまな実施形態では、要求は、クライアントノード２２、管理ノード２３、プロキシ２４、記憶ノード１、２、…、Ｍ、又はそれらの或る組合せのいずれかの制御のもとで満たされる。
クライアント駆動型の手法では、クライアントノード２２は、記憶ノード１、２、…、Ｍのそれぞれと直接通信することができる。
本質的に、コンテンツのアイテムの要求を満たすための知能はクライアントノード２２に存在し、クライアントノード２２が、コンテンツのアイテムを復元するのに必要なデータをロケートするために必要に応じてさまざまな記憶ノード１、２、…、Ｍにアクセスする。
プロキシ制御型の手法では、クライアントノード２２が、プロキシ２４へのコンテンツのアイテムを識別し、プロキシ２４が、コンテンツのアイテムに関連付けられたデータをロケートするために必要に応じてさまざまな記憶ノード１、２、…、Ｍにアクセスし、クライアントノード２２へそのデータを転送することによって（又は、そのデータをクライアントノードへ直接転送するように記憶ノードに指示することによって）要求を満たすための知能を提供する。
管理ノード２３の制御のもとでの中央管理型の手法も、同様に動作して要求を満たす。
これらの手法のいずれにおいても、記憶ノード１、２、…、Ｍは、比較的単純な記憶ノードとすることができる。
すなわち、それら記憶ノードは、広範囲に及ぶ計算能力を必要としない。
【００４９】
図３は、本発明の一実施形態によるメディアデータのストリームを記憶する方法のフローチャート３００である。
図４は、本発明の一実施形態によるメディアデータをストリーミングする方法のフローチャート４００である。
フローチャート３００及び４００には、具体的なステップが開示されているが、このようなステップは例示である。
すなわち、本発明の実施形態は、他のさまざまなステップ、又は、フローチャート３００及び４００に列挙されたステップの変形形態を実行することにも適している。
フローチャート３００及び４００のステップは、提示したものとは異なる順序で実行することができること、並びに、フローチャート３００及び４００のステップのすべてが実行されるとは限らない場合があることが理解される。
フローチャート３００及び４００によって記載されている方法のすべて又は一部は、たとえば、コンピュータシステムのコンピュータ使用可能媒体に存在するコンピュータ可読且つコンピュータ実行可能な命令を使用して実施することができる。
【００５０】
図３のブロック３２において、メディアコンテンツのアイテムを表すスケーラブル符号化データが、（たとえば、図２の符号化ノード２１によって）少なくとも第１の部分及び第２の部分に分離される。
このデータは、暗号化又は漸進的暗号化することもできる。
図１も参照して、一実施形態では、第１の部分は、ストリーム１０の第１のセグメント（たとえば、セグメント１２  Ａ）からのデータを含み、第２の部分は、ストリーム１０の第２のセグメント（たとえば、セグメント１２  Ｂ）からのデータを含む。別の実施形態では、第１の部分は、データの第１のブロック（たとえば、ブロック１４  Ａ１）を含み、第２の部分は、データの第２のブロック（たとえば、ブロック１４  Ａ２又はブロック１４  Ｂ１等）を含む。
【００５１】
一実施形態では、第１の部分及び第２の部分は、スケーラブル符号化データに関する情報に従って選択される。
この情報は、スケーラブル符号化データの空間エリアの特徴、スケーラブル符号化データの色成分の特徴、スケーラブル符号化データの解像度レベル、スケーラブル符号化データの品質レベル、スケーラブル符号化データに関するレート歪情報、スケーラブル符号化データのセキュリティ感度、スケーラブル符号化データの時間配送要件、スケーラブル符号化データの符号化依存関係、スケーラブル符号化データの暗号化依存関係等であるが、これらに限定されるものではない。
【００５２】
セキュリティに関しては、関係のあるスケーラブルセグメントを異なるノードに記憶することによってメディアデータのセキュリティを増大させるようにデータを分散することができる。
たとえば、画像の単一の部分に対応する異なる品質レベル又は解像度レベルを異なるノードに記憶して、システムのセキュリティを増大させることができる。
【００５３】
図３のブロック３４において、図２も参照すると、スケーラブル符号化データの第１の部分が、ネットワーク２００内の第１のノード（たとえば、記憶ノード１）に記憶される。
【００５４】
図３のブロック３６において、図２も参照すると、スケーラブル符号化データの第２の部分が、ネットワーク２００内の第２のノード（たとえば、記憶ノード２）に記憶される。
【００５５】
一実施形態では、第１のノード及び第２のノードは、ネットワークに関する情報に従って選択される。
この情報は、ネットワーク内のパスに沿って利用可能な帯域幅、ネットワーク内のパスに沿ったボトルネックリンク容量、ネットワーク内のパスに沿ったデータパケット配送レート、ネットワーク内のパスに沿ったデータパケット損失率、ネットワーク内のパスに沿ったデータパケット受信パターン、ネットワーク内のパスに沿ったデータパケット損失パターン、ネットワーク内のパスをトラバースするのに必要な時間を定量化する情報、ネットワーク内のパスに関連付けられた遅延を定量化する情報、ネットワーククライアントへの近接性を定量化する情報、ネットワーク内の各ノードが受け持つネットワーククライアントの個数を定量化する情報、ネットワーク内の各ノードが受け持つネットワーククライアントの特性を識別する情報等であるが、これらに限定されるものではない。
【００５６】
図３のブロック３８において、一実施形態では、第１の部分及び第２の部分が、それらの各記憶ノードにおいて、スケーラブルデータパケットにパケット化される。
【００５７】
次に、図４のブロック４２を参照すると、一実施形態では（たとえば、プロキシ駆動型の手法又は中央管理型の手法では）、クライアントノード２２（図２）は、メディアコンテンツのインスタンスの要求を行う。
【００５８】
別の実施形態（たとえば、クライアント駆動型の手法）では、図４のブロック４４において、クライアント２２（図２）は、メディアコンテンツのインスタンスのデータを有するとしてクライアントに知られている一定の記憶ノード（たとえば、図２の記憶ノード１、２、…、Ｍ）からのデータを要求する。
【００５９】
図４のブロック４６において、クライアントは、メディアコンテンツのインスタンスのスケーラブル符号化データの第１の部分を第１の記憶ノード（たとえば、図２の記憶ノード１）から受信する。
【００６０】
図４のブロック４８において、クライアントは、メディアコンテンツの同じインスタンスのスケーラブル符号化データの第２の部分を第２の記憶ノード（たとえば、図２の記憶ノード２）から受信する。
スケーラブル符号化データの第１の部分及び／又は第２の部分は、漸進的暗号化することもできる。
【００６１】
図１も参照して、一実施形態では、第１の部分は、ストリーム１０の第１のセグメント（たとえば、セグメント１２  Ａ）からのデータを含み、第２の部分は、ストリーム１０の第２のセグメント（たとえば、セグメント１２  Ｂ）からのデータを含む。
別の実施形態では、第１の部分は、データの第１のブロック（たとえば、ブロック１４  Ａ１）を含み、第２の部分は、データの第２のブロック（たとえば、ブロック１４  Ａ２又はブロック１４  Ｂ１等）を含む。
【００６２】
要約すれば、本発明は、そのさまざまな実施形態において、メディアデータのストリームの記憶及び分散を行う方法及びシステムを提供する。
一般に、ストリームは、複数の部分に分割され、それらの部分は、ネットワーク内の異なる記憶ノードに記憶される。
したがって、ストリームは、単一のサーバに記憶されず、より大きなフォールトトレランス及びセキュリティ等の複数の利点が提供される。
さらに、コンテンツは分散されるので、ネットワークを通じた異なるパスに沿ってクライアントへストリーミングすることができ、これによっても、より大きなフォールトトレランス及びセキュリティが提供される。
【００６３】
たとえば、サーバが故障した場合、又は、ネットワークパスが輻輳した場合、少なくとも一部の量のメディアデータは、まだ動作しているサーバ（たとえば、記憶ノード）からクライアントに到達すると予想され、輻輳していない代替的なパスに沿ってクライアントに到達すると予想されるので、フォールトトレランスは改善される。
特に、漸進的暗号化が使用されるとき、或るデータブロックを解読するのに、他のデータブロックの解読バージョンが必要とされるので、セキュリティは改善される。しかしながら、データブロックは、複数の記憶ノード間に分散され、異なるパスに沿ってクライアントへストリーミングされて、盗聴者がメディアコンテンツの少なくともいくつかの部分を解読するのに必要な情報を取得することがより困難となる。
また、データは、一旦暗号化されると、解読されることなくハンドリングすることができ、記憶ノードから配信することができることからも、セキュリティは維持される。
また、ストリームの異なる部分を記憶する場所を知的に選択することによっても、いくつかの場合には、トランスコーディングの量を削減又は除去することができる。
その上、ストリームの部分は、それら部分が必要とされる可能性が最も高い場所に記憶することができる。
同様に、記憶ノードのいずれにおいても、特定の記憶ノードが受け持つクライアントによって必要とされる可能性が高い部分しか記憶する必要がない（たとえば、低解像度のクライアントのみを受け持つネットワークの部分では、より高い解像度に関連付けられたストリームの部分を、ネットワークのその部分を受け持つノードに記憶する必要はない）。
一般に、本発明による実施形態は、ネットワーク状態及び／又は異種のクライアントの能力に、より精巧に合わせることができる、メディアデータを分散して記憶する、きめの細かい手法を提供する。
【００６４】
本発明の実施形態は、上記のように説明される。本発明は、特定の実施形態で説明されてきたが、本発明は、このような実施形態によって限定されるものと解釈されるべきではなく、それどころか、添付の特許請求の範囲に従って解釈されるべきであることが理解されるべきである。
【図面の簡単な説明】
【００６５】
【図１】本発明による一実施形態におけるメディアストリームのスケーラブル符号化を示す図である。
【図２】本発明による実施形態を実施することができるネットワークの要素を示すブロック図である。
【図３】本発明の一実施形態によるメディアデータのストリームを記憶する方法のフローチャートである。
【図４】本発明の一実施形態によるメディアデータをストリーミングする方法のフローチャートである。
【符号の説明】
【００６６】
１、２、Ｍ・・・記憶ノード
１０・・・ストリーム
１２・・・セグメント
１４・・・ブロック
２１・・・エンコーダノード
２２・・・宛先
２３・・・管理ノード
２４・・・プロキシ
２５・・・データパケット
２００・・・ネットワーク
【図１】
2009535908.tif 000003
【図２】
2009535908.tif 000004
【図３】
2009535908.tif 000005
【図４】
2009535908.tif 000006
【国際調査報告】
2009535908.tif 000007
2009535908.tif 000008
2009535908.tif 000009