(57)【要約】ブロードバンドネットワークを介したピアアシストのビデオコンテンツの配給のためのソリューションが開示される。ビデオファイルはセグメントにセグメント化され（１１）、セグメンテーションメタデータが生成される（１２）。セグメントはカウンタ／タイムスタンプが整合した状態でメディアストリームセグメントに変換される（１３）。ビデオファイルおよびセグメンテーションメタデータはピアアシストビデオ配信システムに投入される（１５）。そして、セグメンテーションメタデータを使用して、クライアントにおいてビデオファイルのセグメントを生成する（２３）ために必要なビデオファイルのオフセットのダウンロード（２２）が開始される。
2015520960.tif 000002
【特許請求の範囲】
【請求項１】
ピアアシストビデオ配信システムを介して、フレームを含むビデオファイルを配給するための方法であって、
前記ビデオファイルの任意のフレームが唯一の時間セグメントに存在するように前記ビデオファイルを時間セグメントにセグメント化する（１１）ステップであって、各時間セグメントは、自己完結型物理オブジェクトである、ステップと、
前記ビデオファイルに関連する時間セグメントのオフセットと、巡回カウンタ値と、セグメント開始時間と、を少なくとも含むセグメンテーションメタデータを生成するステップ（１２）と、
巡回カウンタおよび／またはタイムスタンプを使用するメディアストリームフォーマットに従って、前記時間セグメントをメディアストリームセグメントに変換するステップ（１３）であって、前記メディアストリームセグメント内の前記巡回カウンタが適切にインクリメントされ、および／または前記メディアストリームセグメント内の前記タイムスタンプが有効で同期するようにする、ステップと、
前記ビデオファイル及び前記セグメンテーションメタデータを前記ピアアシストビデオ配信システムに投入するステップ（１５）と、
を含む、前記方法。
【請求項２】
前記ビデオファイルは、デュレーションが固定された時間セグメントにセグメント化される（１１）、請求項１に記載の方法。
【請求項３】
ピアアシストビデオ配信システムから、フレームを含むビデオファイルを受信するための方法であって、
前記ビデオファイルに関連するビデオファイルの時間セグメントのオフセットと、巡回カウンタ値と、セグメント開始時間と、を少なくとも含むセグメンテーションメタデータをダウンロードするステップ（２１）と、
前記セグメンテーションメタデータを分析して、ダウンロードされるべきビデオオフセットを判定し、前記判定されたビデオオフセットのダウンロードを開始するステップ（２２）と、
ダウンロードされたビデオオフセットからビデオセグメントを生成するステップ（２３）と、
巡回カウンタおよび／またはタイムスタンプを使用するメディアストリームフォーマットに従って、前記ビデオセグメントをメディアストリームセグメントに変換するステップ（２４）であって、前記メディアストリームセグメント内の前記巡回カウンタが適切にインクリメントされ、および／または前記メディアストリームセグメント内の前記タイムスタンプが有効で同期するようにする、ステップと、
を含む、前記方法。
【請求項４】
前記ビデオファイルは、ＭＰ４ファイルまたはＭＫＶファイルである、請求項１乃至３のいずれかに記載の方法。
【請求項５】
前記時間セグメントは、ＭＰＥＧトランスポートストリームセグメントに変換される（１３、２４）、請求項１乃至４のいずれかに記載の方法。
【請求項６】
ピアアシストビデオ配信システムを介して、フレームを含むビデオファイルを配給するための装置（３０）であって、
前記ビデオファイルを時間セグメントにセグメント化し（１１）、前記ビデオファイルの任意のフレームがただ１つの時間セグメントに存在するようにし、各時間セグメントが自己完結型物理オブジェクトであり、前記ビデオファイルに関連する時間セグメントのオフセットと、巡回カウンタ値と、セグメント開始時間と、を少なくとも含むセグメンテーションメタデータを生成する（１２）セグメンタ（３１）と、
巡回カウンタおよび／またはタイムスタンプを使用するメディアストリームフォーマットに従って、前記時間セグメントをメディアストリームセグメントに変換し（１３）、前記メディアストリームセグメント内の前記巡回カウンタが適切にインクリメントされ、および／または前記メディアストリームセグメント内の前記タイムスタンプが有効で同期するようにするコンバータ（３２）と、
前記ビデオファイル及び前記セグメンテーションメタデータを前記ピアアシストビデオ配信システムに投入する（１５）インジェクタ（３４）と、
を含む、前記装置。
【請求項７】
前記セグメンタ（３１）は、前記ビデオファイルをデュレーションが固定された時間セグメントにセグメント化する（１１）、請求項６に記載の装置。
【請求項８】
ピアアシストビデオ配信システムから、フレームを含むビデオファイルを受信するための装置（４０）であって、
前記ビデオファイルに関連するビデオファイルの時間セグメントのオフセットと、巡回カウンタ値と、セグメント開始時間と、を少なくとも含むセグメンテーションメタデータをダウンロードする（２１）ネットワーク接続装置（４１）と、
前記セグメンテーションメタデータを分析して、ダウンロードされるべきビデオオフセットを判定し、前記判定されたビデオオフセットのダウンロードを開始する（２２）アナライザ（４２）と、
ダウンロードされたビデオオフセットからビデオセグメントを生成する（２３）セグメントジェネレータ（４３）と、
巡回カウンタおよび／またはタイムスタンプを使用するメディアストリームフォーマットに従って、前記ビデオセグメントをメディアストリームセグメントに変換し（２４）、前記メディアストリームセグメント内の前記巡回カウンタが適切にインクリメントされ、および／または前記メディアストリームセグメント内の前記タイムスタンプが有効で同期するようにするコンバータ（４４）と、
を含む、前記装置。
【請求項９】
前記ビデオファイルは、ＭＰ４ファイルまたはＭＫＶファイルである、請求項６乃至８のいずれかに記載の装置（３０、４０）。
【請求項１０】
前記コンバータ（３２、４４）は、前記時間セグメントをＭＰＥＧトランスポートストリームセグメントに変換する（１３、２４）、請求項６乃至８のいずれかに記載の装置（３０、４０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロードバンドネットワークを介したビデオコンテンツのピアアシスト配給のためのソリューションに関し、より具体的には、再生までのバッファリング時間を少なくすることを可能にし、早送りまたは巻き戻しを早くすることを可能にする、ビデオコンテンツのピアアシスト配給のためのソリューションに関する。
【背景技術】
【０００２】
ビデオは、今日インターネット上で消費されるコンテンツの大部分を占める。ビデオサービスを提供する複数のウェブサイトが、無数の異なる装置、例えば、ＰＣ、テレビ、スマートフォンおよびタブレットに、ビデオクリップまたは映画を絶えず配信する。ビデオコンテンツの消費は、ｆｉｂｅｒ−ｔｏ−ｔｈｅ−ｈｏｍｅとともに増加することが期待され、他の高速ブロードバンド技術がますます広がっている。
【０００３】
ビデオ配信に必要な大量の帯域幅をサポートするために、サービスプロバイダは、ユーザがコンテンツをダウンロードする１組の地理的に分散されたサーバである、コンテンツデリバリネットワーク（ＣＤＮ）を採用する。コンテンツ配給の効率をさらに向上するために、ピアアシストアーキテクチャが提案されており、ユーザは、ＣＤＮと、他のユーザのセットトップボックスまたはホームゲートウェイとの両方からコンテンツをダウンロードする。この場合、セットトップボックスまたはゲートウェイでは、いくつかのビデオクリップがそのローカルハードディスクまたはフラッシュメモリ上に記憶され、ユーザ宅の接続の利用可能なアップロード帯域幅を使用して、そのようなクリップの断片を他のユーザにアップロードする。
【０００４】
例えば、Ｗａｎｇらによる論文「Ｉｓ  ｐｌａｙｉｎｇ−ａｓ−ｄｏｗｎｌｏａｄｉｎｇ  ｆｅａｓｉｂｌｅ  ｉｎ  ａｎ  ｅＭｕｌ  ｅＰ２Ｐ  ｆｉｌｅ  ｓｈａｒｉｎｇ  ｓｙｓｔｅｍ？（ｅＭｕｌｅピアツーピアファイル共有システムにおいてｐｌａｙｉｎｇ‐ａｓ‐ｄｏｗｎｌｏａｄｉｎｇは実現可能か？）」、Ｊ．Ｚｈｅｊｉａｎｇ  Ｕｎｉｖ．−Ｓｃｉ．Ｃ（Ｃｏｍｐｕｔ．＆Ｅｌｅｃｔｒｏｎ．），Ｖｏｌ．１１（２０１０），ｐｐ．４６５−４７５では、メディアストリーミングサポートを用いたピアツーピア（Ｐ２Ｐ）スウォーム技術のためのソリューションについて論じており、これは、ダウンロードしながら再生する能力を持つ。ｗｉｓｈ  ｄｒｉｖｅｎ  ｃｈｕｎｋ  ｄｉｓｔｒｉｂｕｔｉｏｎ（ＷＤＣＤ）という新しいアルゴリズムが導入され、これにより、Ｐ２Ｐファイル共有システムがＶＯＤ（ｖｉｄｅｏ−ｏｎ−ｄｅｍａｎｄ）機能をサポートすることが可能とされ、一方で、Ｐ２Ｐの固有のダウンロード速度が保持される。ｎｅｘｔ−ｐｌａｙ−ｆｒｅｑｕｅｎｃｙという新しいパラメータが、コンテンツチャンクに付加されて、ダウンロードとストリーミング要求との間の反復のバランスが取られる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明では、ピアアシストビデオ配給システム、特に、ビデオセグメントのオンザフライ発生の問題に焦点を合わせ、ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ（ＨＬＳ）などのプロトコルをサポートする。ＨＬＳの規格には、複数のソースからのダウンロードおよび適応するストリームレートなどの良好な特徴をサポートするビデオ配信のためのプロトコルが記述される（ｈｔｔｐ：／／ｔｏｏｌｓ．ｉｅｔｆ．ｏｒｇ／ｈｔｍｌ／ｄｒａｆｔ−ｐａｎｔｏｓ−ｈｔｔｐ−ｌｉｖｅ−ｓｔｒｅａｍｉｎｇ−０７を参照のこと）。しかし、ＨＬＳの１つの制約は、ＭＰＥＧトランスポートストリーム（ＭＰＥＧ−ＴＳ）コンテナの使用が必要とされることである。従って、ビデオが元々ＭＰ４またはＭａｔｒｏｓｋａ（ＭＫＶ）などの別のフォーマットで記憶されるものである場合、ＨＬＳを介して配信され得る前にＭＰＥＧ−ＴＳに変換しなければならない。さらに、ＭＰＥＧ−ＴＳストリームは、セグメントがＨＬＳプレイヤにより元通りに縫合される時にＭＰＥＧ−ＴＳの巡回カウンタ（ｃｏｎｔｉｎｕｉｔｙ  ｃｏｕｎｔｅｒ）およびタイムスタンプが整合するように、チャンク又はメディアのセグメントに分割される。このステップは、セグメンテーションとして知られる。以下の文章において、用語「セグメント」および「チャンク」は、区別せずに使用される。
【０００６】
ＨＬＳ準拠のセグメンテーションを作成するために、現在、変換およびセグメンテーションを実行するいくつかのツールが存在する。しかし、それらにおいては、ソースファイル全体が入力として取り込まれる。このことがなぜピアアシストシステムに関して問題であるのかを理解するために、以下のことを検討する。広範なユーザ装置（ＰＣ、スマートフォンなど）をサポートするために、システムは、ＨＴＴＰを介した単一のＭＰ４ファイルとして、またはＨＬＳを介した複数のＭＰＥＧ−ＴＳセグメントとして、所与のビデオを配信することが可能である。しかし、記憶スペースの節約のために、システムは各ビデオをＭＰ４ファイルとして記憶するだけである。ユーザがＨＬＳを介してビデオを要求するときはいつも、ローカルなピアツーピアクライアントがＭＰ４コンテンツをダウンロードし、ＭＰＥＧ−ＴＳに変換し、その結果をＨＬＳチャンクにセグメント化する。しかし、既存のＨＬＳセグメンタツールがファイル全体に対してのみに働くので、ピアツーピアクライアントは、ＨＬＳチャンクを作成することができ、再生を開始することができる前に、ＭＰ４ビデオ全体のダウンロードを終了しなければならない。これは、明らかに容認できないことである。
【０００７】
本発明の目的は、ネットワークを介したピアアシストビデオコンテンツの配給のための向上したソリューションを提案することである。
【課題を解決するための手段】
【０００８】
本発明によると、ピアアシストビデオ配信システムを介してフレームを含むビデオファイルを配給するための方法は、
−ビデオファイルを時間セグメントにセグメント化して、ビデオファイルの任意のフレームが、ただ１つの時間セグメントに存在するようにするステップであって、各時間セグメントが自己完結型物理オブジェクトである、ステップと、
−ビデオファイルに関連する時間セグメントのオフセットと、巡回カウンタ値と、セグメント開始時間と、を少なくとも含むセグメンテーションメタデータを生成するステップと、
−巡回カウンタおよび／またはタイムスタンプを使用するメディアストリームフォーマットに従って、時間セグメントをメディアストリームセグメントに変換するステップであって、メディアストリームセグメント内の巡回カウンタが適切にインクリメントされ、および／またはメディアストリームセグメント内のタイムスタンプが有効で同期するようにする、ステップと、
−ビデオファイル及びセグメンテーションメタデータをピアアシストビデオ配信システムに投入するステップと、を含む。
【０００９】
それに従って、ピアアシストビデオ配信システムを介してフレームを含むビデオファイルを配給するための装置は、
−ビデオファイルを時間セグメントにセグメント化して、ビデオファイルの任意のフレームがただ１つの時間セグメントに存在するようにし、各時間セグメントが自己完結型物理オブジェクトであり、ビデオファイルに関連する時間セグメントのオフセットと、巡回カウンタ値と、セグメント開始時間と、を少なくとも含むセグメンテーションメタデータを生成するセグメンタと、
−巡回カウンタおよび／またはタイムスタンプを使用するメディアストリームフォーマットに従って、時間セグメントをメディアストリームセグメントに変換し、メディアストリームセグメント内の巡回カウンタが適切にインクリメントされ、および／またはメディアストリームセグメント内のタイムスタンプが有効で同期するようにするコンバータと、
−ビデオファイル及びセグメンテーションメタデータをピアアシストビデオ配信システムに投入するインジェクタと、を含む。
【００１０】
本発明の一態様によると、ビデオファイル、例えば、ＭＰ４ファイルまたはＭＫＶファイルは、まずセグメントにセグメント化される。好適には、これらのセグメントは、デュレーションが固定されたセグメントである。セグメンテーションメタデータは、セグメンテーションの間に生成される。結果として得られるセグメントは、カウンタ／タイムスタンプが整合した状態で、メディアストリームセグメント、例えばＭＰＥＧ−ＴＳセグメントに変換される。選択的に、メディアストリームセグメントに対してサニティチェックが実行される。続いて、ビデオファイルおよびセグメンテーションメタデータがピアアシストビデオ配信システムに投入される。
【００１１】
ピアアシストビデオ配信システムから、フレームを含むビデオファイルを受信するための方法は、
ビデオファイルに関連するビデオファイルの時間セグメントのオフセットと、巡回カウンタ値と、セグメント開始時間と、を少なくとも含むセグメンテーションメタデータをダウンロードするステップと、
セグメンテーションメタデータを分析して、ダウンロードされるべきビデオオフセットを判定し、判定されたビデオオフセットのダウンロードを開始するステップと、
ダウンロードされたビデオオフセットからビデオセグメントを生成するステップと、
巡回カウンタおよび／またはタイムスタンプを使用するメディアストリームフォーマットに従って、ビデオセグメントをメディアストリームセグメントに変換するステップであって、メディアストリームセグメント内の巡回カウンタが適切にインクリメントされ、および／またはメディアストリームセグメント内のタイムスタンプが有効で同期するようにする、ステップと、を含む。
【００１２】
それに従って、ピアアシストビデオ配信システムから、フレームを含むビデオファイルを受信するための装置は、
ビデオファイルに関連するビデオファイルの時間セグメントのオフセットと、巡回カウンタ値と、セグメント開始時間と、を少なくとも含むセグメンテーションメタデータをダウンロードするネットワーク接続装置と、
セグメンテーションメタデータを分析して、ダウンロードされるべきビデオオフセットを判定し、判定されたビデオオフセットのダウンロードを開始するアナライザと、
ダウンロードされたビデオオフセットからビデオセグメントを生成するセグメントジェネレータと、
巡回カウンタおよび／またはタイムスタンプを使用するメディアストリームフォーマットに従って、ビデオセグメントをメディアストリームセグメントに変換し、メディアストリームセグメント内の巡回カウンタが適切にインクリメントされ、および／またはメディアストリームセグメント内のタイムスタンプが有効で同期するようにするコンバータと、を含む。
【００１３】
メディアストリームセグメントを再生成するために、第１のステップにて、セグメンテーションメタデータファイルがダウンロードされる。次に、セグメンテーションメタデータが分析されて、どのオフセット、例えばＭＰ４またはＭＫＶオフセットがダウンロードをされる必要があるのかが判定される。続いて、判定されたビデオオフセットのダウンロードが開始される。そして、ビデオセグメントがダウンロードされたビデオオフセットから生成され、ビデオセグメントは最後に、カウンタ／タイムスタンプが整合した状態で、メディアストリームセグメント、例えばＭＰＥＧ−ＴＳセグメントに変換される。
【００１４】
本発明のソリューションによると、ソースビデオファイル全体をダウンロードせずに、ピアがメディアストリームセグメントを作成することを可能にする。これにより、再生までのバッファリング時間を少なくすることができ、すなわち、ファイル全体がダウンロードされる前に再生を開始することが可能となるとともに早送りまたは巻き戻しを早くすることができる。加えて、ファイルが１つのフォーマットで記憶されるため、本ソリューションは、ストレージ要件の観点から非常に効率的である。さらに、本ソリューションは、既存の規格と互換性がある。
【００１５】
ここで、より理解を深めるために、以下では、本発明について図面を参照してさらに詳細に説明する。本発明がこの例示の実施形態に限定されないこと、特定の特徴を、添付の請求項において定義されるような本発明の範囲から逸脱することなく、目的に合わせて組み合わせることおよび／または修正することができること、は理解されたい。
【図面の簡単な説明】
【００１６】
【図１】ピアアシストビデオ配信システムを説明する図である。
【図２】ピアアシストビデオ配信のための本発明に従う方法を概略的に示す図である。
【図３】ＭＰ４ファイルのセグメンテーションおよびセグメンテーションメタデータファイルの生成について記載する図である。
【図４】ＨＬＳセグメントの再生成を示す図である。
【図５】ピアアシストビデオ配信システムにおいて、投入用のビデオファイルを準備するための装置を概略的に説明する図である。
【図６】ピアアシストビデオ配信システムからビデオファイルを受信するための装置を概略的に示す図である。
【発明を実施するための形態】
【００１７】
以下の記載では、オンザフライのＭＰ４からＨＬＳへの変換の場合について検討する。しかし、本発明は、他の入力形式、例えば、ＭＫＶからＨＬＳへの変換に対しても機能する。加えて、本発明を支援する機構は、ＨＬＳに固有であるわけではなく、ＤＡＳＨ（Ｄｙｎａｍｉｃ  Ａｄａｐｔｉｖｅ  Ｓｔｒｅａｍｉｎｇ  ｏｖｅｒ  ＨＴＴＰ）などの同様のターゲットプロトコルに適用可能である。
【００１８】
図１は、ネットワーク１を介したビデオ配信のためのピアアシストシステムの異なる構成要素を示す。ピアツーピアクライアントはネットワーク１に接続される各ホームゲートウェイ２上で稼働すると仮定する。ビデオは、ＰＣ３およびタブレット４などの異なるユーザ装置から視聴することができる。ユーザがビデオの視聴を開始すると、ゲートウェイ２上のピアツーピアクライアントは、他のピアツーピアクライアントおよび／またはＣＤＮ５からいくつかのビデオデータをダウンロードし、ストリームを再構築し、これをユーザ装置に転送する。もちろん、ピアツーピアクライアントは、ホームゲートウェイ２ではなくユーザ装置上でも同様に稼働することができる。
【００１９】
図２は、ピアアシストビデオ配信のための本発明に従う方法を概略的に示す。方法は基本的に２つのステップから成る。第１のステップ１０において、ＭＰ４ファイルがセグメント化され、セグメンテーションメタデータファイルが生成される。第２のステップ２０において、ＨＬＳセグメントが再生成される。
【００２０】
第１のステップ１０は、ＭＰ４ファイルがシステムに最初に投入され、すなわち、ＣＤＮに加えてピアツーピアの記憶装置に最初に投入され、ダウンロード可能となると実行される。このステップでは、ファイルを分析し、第２のステップ２０中に使用されるいくつかのメタデータを生成する。第２のステップは、ピアツーピアクライアントがオンザフライでＨＬＳチャックを生成する必要があると実行される。
【００２１】
図３では、ＭＰ４ファイルのセグメンテーションおよびセグメンテーションメタデータファイルの生成についてさらに詳細に記載する。このステップは、いくつかのステップから成る。まず、１１にてＭＰ４ファイルが、ＭＰ４セグメント、好ましくはデュレーションが固定されたセグメントにセグメント化され、１２にてセグメンテーションメタデータが生成される。これらのセグメントは、１３にてカウンタ／タイムスタンプが一致した状態でＭＰＥＧ−ＴＳセグメントに変換される。そして、１４にてＭＰＥＧ−ＴＳのサニティチェックが実行され、１５にてビデオファイルおよびセグメンテーションメタデータがＣＤＮおよびＰ２Ｐネットワークに投入される。
【００２２】
セグメンテーションステップ１１は、ＭＰ４ソースファイル全体を記憶するコンピュータ上で実行される。コンピュータは、セグメンタツールを呼び出し、全てのターゲットセグメントを生成する。例えば、ファイルがｋ個のチャンクにセグメント化される場合、ツールは各セグメントにつき１回ずつで、ｋ回呼び出される。各呼び出しで、ツールは、パラメータとしてセグメントの開始と終了の時間を受け取る。例えば、各セグメントが５秒の長さであり、３番目のセグメントを生成する場合、「開始時間ｔ＝１０」および「終了時間ｔ＝１５」で、ツールが呼び出される。
【００２３】
ここでの重要な点は、作成されたセグメントは重複するビデオ／音声フレームを含んではならない、すなわち、フレームが２つ以上のセグメントに存在してはならない、ということである。同様に、全てのフレームは、少なくとも１つのセグメントに存在しなければならない。これらの２つの条件によって、結果として得られるセグメントを縫合することで、連続性のあるエラーフリーの再生が可能となることが確実になる。
【００２４】
今日、このタイプのセグメンテーションを追加設定なしでサポートするツールは存在しない。例えば、ポピュラーなツールＭＰ４Ｂｏｘでは、「開始時間」と「終了時間」のパラメータで指定される個々のチャンクを作成することができる。しかし、結果として得られるチャンクには、重複するビデオ／音声フレームが含まれてしまう。とは言うものの、この問題の回避策が存在し、ＭＰ４Ｂｏｘをそのソースコードを修正せずに使用できることを可能にする。ＭＰ４Ｂｏｘの最新開発のバージョンは、−ｓｐｌｉｔ−ｃｈｕｎｋ  Ｓ：Ｅのオプションをサポートする。このオプションは、開始時間Ｓと終了時間Ｅとにより指定されるチャンクを生成する。しかし、本ツールは、開始時間を調整して特定のフレームに合わせることができる。例えば、ツールを「−ｓｐｌｉｔ−ｃｈｕｎｋ５：１０」で呼び出すと、ｔ＝４．９６で開始し、ｔ＝１０で終了するチャンクが得られる。前のチャンクがｔ＝５で終了する場合、数フレームが両方のチャンクに存在することになり、チャンクが元通りに縫合される際に問題が起こる。
【００２５】
この問題の回避策は、ＭＰ４Ｂｏｘを２つのパスで呼び出すことにある。第１のパスの間、ＭＰ４Ｂｏｘは以下のオプションを使用して（５秒の継続時間の間に）呼び出される。
セグメント１  −ｓｐｌｉｔ−ｃｈｕｎｋ  ０：５
セグメント２  −ｓｐｌｉｔ−ｃｈｕｎｋ  ５：１０
セグメント３  −ｓｐｌｉｔ−ｃｈｕｎｋ  １０：１５
セグメント４  −ｓｐｌｉｔ−ｃｈｕｎｋ  １５：２０
・
・
・
各呼び出し時、ＭＰ４Ｂｏｘは、開始時間を特定の値、例えばｔ＝１５ではなくｔ＝１４．９６に調整したことを出力することができる。これらの修正された開始時間は、テンポラリファイルに記憶される。
【００２６】
第２のパスの間、ＭＰ４Ｂｏｘは、再度呼び出されて全てのチャンクを生成するが、チャンクの終了時間を後に続くチャンクの開始時間に従って置き換える。上記の例では、これにより、以下のオプションが得られる。
セグメント  １  −ｓｐｌｉｔ−ｃｈｕｎｋ  ０：５
セグメント  ２  −ｓｐｌｉｔ−ｃｈｕｎｋ  ５：１０
セグメント  ３  −ｓｐｌｉｔ−ｃｈｕｎｋ  １０：１４．９６
セグメント  ４  −ｓｐｌｉｔ−ｃｈｕｎｋ  １５：２０
・
・
・
なお、セグメント４のオプションは開始時間をｔ＝１５に指定した。これは、ＭＰ４Ｂｏｘがチャンクの開始時間を１４．９６に調整することになるように、第１のパスで行われる通りにまさに意図されている。
【００２７】
第２のパスの間、システムは、ＭＰ４ＢｏｘによってアクセスされるＭＰ４ソースファイルのオフセットを監視し、それらをセグメンテーションメタデータファイルに記憶する。最後に、調整された開始時間はまた、セグメンテーションメタデータファイルに加えられる。
【００２８】
以下は、ＪＳＯＮ（ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）符号化を使用したセグメンテーションメタデータファイルの一例である。
[
{
”index”: 1,
”start”: 0,
”end”: 5.00,
”mp4offsets ”: [
[0, 303103],
[8441856, 8444766]
],
”continuity”: ”...”
},
{
”index”: 2,
”start”: 5.00,
”end”: 10.00,
”mp4offsets”: [
[0, 40959],
[290816, 876543],
[925696, 929791],
[995328, 1011711],
[8441856, 8444766]
],
”continuity”: ”...”
}, 
{ 
”index”: 3,
”start”: 10.00,
”end”: 14.96,
”mp4offsets”: [
[0, 40959],
[847872, 1658879],
[1687552, 1691647],
[1789952, 1810431],
[8441856, 8444766]
], 
”continuity”: ”...”
}, 
{ 
”index”: 4,
”begin”: 14.96,
”end”: 19.88,
”mp4offsets”: [
[0, 40959],
[1626112, 2400255],
[2437120, 2441215],
[2531328, 2547711],
[8441856, 8444766]
],
”continuity”: ”...”
},
]
なお、ＭＰＥＧ−ＴＳの巡回カウンタの値は、本例のファイルでは省略した。
【００２９】
本発明が活用する見識の１つは、特定のセグメントを生成する時に、セグメンタツールがソースのＭＰ４ファイル全体にアクセスしないという事実である。例えば、３番目のセグメントを生成する時、本ツールは、ＭＰ４メタデータが配置されたファイルの始まりと終わりにアクセスすることになり、チャンクを生成するために抽出される必要があるビデオ／音声フレームに対応する範囲のオフセットを加える。
【００３０】
従って、本発明によると、セグメンタツールは、各呼び出し時に監視されて、ツールが読み込む全てのソースＭＰ４ファイルオフセットを判定する。これらのオフセットは、セグメンテーションメタデータファイル内に保存され、再生成ステップ２０において使用されることになる。ツールによって読み込まれるソースＭＰ４ファイルオフセットを監視する方法はいくつかある。１つの可能性として、ｓｔｒａｃｅＵｎｉｘコマンドを使用してツールを呼び出して、全てのファイルシステムコールを追跡するというものがある。
【００３１】
変換ステップ１３中、全てのＭＰ４セグメントは、ＭＰＥＧ−ＴＳコンテナに変換され、単一のＭＰＥＧ−ＴＳファイルに縫合される。このステップ１３は、縫合されたＭＰＥＧ−ＴＳファイルがエラー無く再生可能となることを確実にしなければならない。これには、巡回カウンタが適切にインクリメントされること、並びにＰＣＲおよびＰＴＳ／ＤＴＳなどのタイムスタンプが有効で同期していることを確実にすることが含まれる。
【００３２】
このステップを実行するための１つの可能性としては、ＭＰ４からＭＰＥＧ−ＴＳへの変換をサポートするｆｆｍｐｅｇツール（ｈｔｔｐ：／／ｆｆｍｐｅｇ．ｏｒｇ／を参照のこと）を採用することである。しかし、ｆｆｍｐｅｇにより作成されたセグメントは、巡回カウンタ、ＰＣＲ（Ｐｒｏｇｒａｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）、およびＰＴＳ（Ｐｒｅｓｅｎｔａｔｉｏｎ  ＴｉｍｅＳｔａｍｐ）／ＤＴＳ（Ｄｅｃｏｄｅ  ＴｉｍｅＳｔａｍｐ）の値が不正確であるため、単純な連結によって一緒に縫合することができない。本ソリューションは、ｆｆｍｐｅｇにより作成されたＭＰＥＧ−ＴＳセグメントを連結し、巡回カウンタ、ＰＣＲおよびＰＴＳ／ＤＴＳの値を固定するサニタイザツールを実行する。これは、以下のようにして達成することができる。
【００３３】
巡回カウンタについては、各セグメント移行で、巡回カウンタの値が前のセグメントで観察された最新のカウンタ値に整合するように修正される。これらの最新のカウンタ値は、セグメンテーションメタデータファイル内に保存される。
【００３４】
ＰＣＲ／ＰＴＳ／ＤＴＳの値については、各セグメント移行で、各セグメントが異なる時間リファレンスを用いて個々に生成される際に、ＰＣＲ／ＰＴＳ／ＤＴＳの値はゼロにリセットされる。しかし、単純な調整で十分である。ＰＣＲ／ＰＴＳ／ＤＴＳの値は、セグメンテーションメタデータファイル内で見つけることができるセグメントの開始時間と等しい値だけ増加される。
【００３５】
ＭＰＥＧ−ＴＳサニティチェック１４は、選択的なものである。ここでは、変換のステップ１３において作成されるＭＰＥＧ−ＴＳがチェックされて、不連続性または不正確なタイムスタンプ値による再生エラーが無いことがチェックされる。
【００３６】
投入ステップ１５は、ＭＰ４ファイルをＣＤＮおよびピアツーピア記憶スペースに投入することを含む。セグメンテーションメタデータファイルは、ピアが簡単にアクセスできるようにＰ２Ｐトラッカに記憶することができる。ＭＰＥＧ−ＴＳセグメントは、ＣＤＮ側でのオンザフライ変換を回避するために、ＣＤＮに投入することもできる。
【００３７】
図４は、ＨＬＳセグメントの再生成２０をさらに詳細に示す。また、このステップ２０は、いくつかのステップから成る。第１のステップ２１では、セグメンテーションメタデータファイルがダウンロードされる。第２のステップ２２では、セグメンテーションメタデータが分析されて、どのＭＰ４オフセットをダウンロードする必要があるのかが判定され、判定されたＭＰ４オフセットのダウンロードが開始される。そして、２３にてＭＰ４セグメントが生成され、２４にてカウンタ／タイムスタンプが整合した状態でＭＰＥＧ−ＴＳセグメントに変換される。
【００３８】
再生成ステップ２０は、ビデオがＨＬＳを使用してユーザ装置に配信されるたびに実行される。典型的には、装置は、セグメントをシーケンシャルに、すなわち、セグメント１、セグメント２等々で要求することになるが、セグメントの要求は早送りまたは巻き戻しの操作の後では変則的な順序で行うことができる。
【００３９】
第１のダウンロードのステップ２１中では、ピアツーピアクライアントは、その特定のビデオに関するセグメンテーションメタデータファイルのコピーを取得する。１つの可能性として、ファイルが前にそこにアップロードされているならば、該コピーをトラッカからダウンロードするというものがある。
【００４０】
ＭＰ４オフセットのダウンロード２２については、ピアツーピアクライアントがメタデータを分析して、各セグメントを生成するためにどのＭＰ４オフセットをダウンロードしなければならないのかを判定する。例えば、上記の所与の例においては、３番目のセグメントのオフセット範囲は、｛［０，４０９５９］，［８４７８７２，１６５８８７９］，［１６８７５５２，１６９１６４７］，［１７８９９５２，１８１０４３１］，［８４４１８５６，８４４４７６６］｝である。クライアントは、これらのオフセットをダウンロードし、それらをローカルＭＰ４ファイルに書き込む。任意のピアアシストシステムと同様に、そのようなダウンロードは、他のピアおよび／またはＣＤＮからの転送を含むことができる。
【００４１】
このステップ２２が終了すると、ローカルＭＰ４ファイルは、特定のセグメントを生成するために、セグメンタツールによって読み込まれることになる全てのオフセットにおいて、元のＭＰ４データを含む。他のオフセットは、これらのオフセットが前に他のセグメント用にフェッチされている場合、ゼロ、不要データまたは元のＭＰ４データを含むことができる。
【００４２】
セグメント生成のステップ２３中に、セグメンタツールがコールされて、指定されたセグメントが生成される。上記で示した回避策が採用される場合、ＭＰ４Ｂｏｘオプションを、メタデータファイルに含まれる開始時間を使用して調整しなければならない。
【００４３】
最後に、変換のステップ２４中に、ＭＰ４セグメントが１つのＭＰＥＧ−ＴＳセグメントに変換され、不連続性および不正確なタイムスタンプ値を防ぐためにサニタイズされる。このステップは変換のステップ１３と同様であり、相違点は、前のセグメントがローカルで使用可能とならないため、セグメンテーションメタデータファイルに含まれる情報を使用して、巡回カウンタ値が調整されることだけである。
【００４４】
図５では、ピアアシストビデオ配信システムを介してビデオファイルを配給するための装置３０が概略的に例示される。装置３０は、ビデオファイルをセグメント、好適にはデュレーションが固定されたセグメントにセグメント化し、セグメンテーションメタデータを生成するためのセグメンタ３１を備える。コンバータ３２は、これらのセグメントを、カウンタ／タイムスタンプが整合した状態でＭＰＥＧ−ＴＳセグメントに変換する。選択的なサニティチェッカ３３は、ＭＰＥＧ−ＴＳのサニティチェックを実行するために提供される。最後に、インジェクタ３４が、ビデオファイルおよびセグメンテーションメタデータを、ＣＤＮおよびＰ２Ｐネットワークに投入する。
【００４５】
図６では、ピアアシストビデオ配信システムからビデオファイルを受信するための装置４０が概略的に示される。装置４０は、セグメンテーションメタデータファイルをダウンロードするためのネットワーク接続４１を備える。アナライザ４２は、メタデータを分析して、どのビデオオフセットをダウンロードしなければならないかを判定し、判定されたビデオオフセットのダウンロードを開始する。セグメントジェネレータ４３は、ビデオセグメントを生成し、次にビデオセグメントは、コンバータ４４によりカウンタ／タイムスタンプが整合した状態でＭＰＥＧ−ＴＳセグメントに変換される。
【図１】
2015520960.tif 000003
【図２】
2015520960.tif 000004
【図３】
2015520960.tif 000005
【図４】
2015520960.tif 000006
【図５】
2015520960.tif 000007
【図６】
2015520960.tif 000008
【国際調査報告】
2015520960.tif 000009
2015520960.tif 000010
2015520960.tif 000011