(57)【要約】  本開示は、メディアファイルの同期再生方法、装置及び記憶媒体を提供する。方法は、ウェブページに埋め込まれたプレーヤによって、ウェブページにおける再生ウィンドウに対応するメディアソースオブジェクトを作成するステップと、セグメントメディアファイルにおける異なるトラックを、メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加するステップと、前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達するステップと、メディア要素を呼び出して仮想アドレスに関連するメディアソースオブジェクトを解析し、及び、関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行うステップとを含む。
2021510047.tif 000002
【特許請求の範囲】
【請求項１】
メディアファイルの同期再生方法であって、
ウェブページに埋め込まれたプレーヤによって、前記ウェブページにおける再生ウィンドウに対応するメディアソースオブジェクトを作成するステップと、
セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加するステップと、
前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達するステップと、
前記メディア要素を呼び出して前記仮想アドレスに関連するメディアソースオブジェクトを解析し、及び、関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行うステップと、を含む、
メディアファイルの同期再生方法。
【請求項２】
前記セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加するステップは、
前記セグメントメディアファイルからビデオトラック、及び前記ビデオトラックに同期するオーディオトラックを抽出するステップと、
抽出されたビデオトラック、及びオーディオトラックを前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加するステップと、を含め、
前記ソースバッファオブジェクトは、前記ウェブページに再生イベントを受信した再生ウィンドウに対応するように作成される、
請求項１に記載の方法。
【請求項３】
前記方法は、
前記メディアファイルに字幕トラックが含まれる場合、
抽出されたビデオトラックに同期する字幕トラックを前記同一ソースバッファオブジェクトに追加するステップを、さらに含む、
請求項２に記載の方法。
【請求項４】
前記関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行うステップは、
前記ソースバッファオブジェクトに追加されたビデオトラックと字幕トラックを復号して再生するために、前記ウェブページのビデオ要素を呼び出すステップを、
前記ソースバッファオブジェクトに追加されたオーディオトラックを復号して再生するために、前記ウェブページのオーディオ要素を呼び出すステップと、を含む、
請求項３に記載の方法。
【請求項５】
前記メディアファイルが非ストリーミングメディアフォーマットである場合、
前記ウェブページにおけるメディアファイルに対応する再生イベントに応答し、前記メディアファイルにおける所定期間に対応するメディアデータを取得するステップ、を含み、
取得されたメディアデータに基づき、独立して復号するための前記セグメントメディアファイルを構築する、
請求項１に記載の方法。
【請求項６】
前記方法は、
目標解像度のセグメントメディアファイルを取得するステップと、
前記ソースバッファオブジェクトに追加された元の解像度であって、復号再生されていないセグメントメディアファイルをクリアするステップと、
前記目標解像度のセグメントメディアファイルを前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加することにより、現在再生された元の解像度のセグメントメディアファイルが終了すると、再生ポイントに継続して目標解像度のセグメントメディアファイルを再生するステップと、を含む、
請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記目標解像度のセグメントメディアファイルを取得するステップは、
前記プレーヤのネットワークパラメータの更新に基づき、前記ネットワークパラメータの更新に適応するように、目標解像度のセグメントメディアファイルを取得するステップ、
或いは、前記再生ウィンドウで受信された解像度切り替えイベントに応答し、前記解像度切り替えイベントの指示した目標解像度に基づき、対応する目標解像度のセグメントメディアファイルを取得するステップ、を含む、
請求項６に記載の方法。
【請求項８】
メディアファイルの同期再生装置であって、
ウェブページに埋め込まれたプレーヤによって、前記ウェブページにおける再生ウィンドウに対応するメディアソースオブジェクトを作成するように構成されるメディアソース作成モジュールであって、
前記メディアソース作成モジュールは、前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達するように構成される、前記メディアソース作成モジュールと、
前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達するように構成されるメディアソース伝達モジュールと、
前記メディア要素を呼び出して前記仮想アドレスに関連するメディアソースオブジェクトを解析するように構成され、関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行うように構成されるメディアソース再生モジュールと、を含む、
メディアファイルの同期再生装置。
【請求項９】
前記メディアソース作成モジュールは、セグメントメディアファイルからビデオトラック、及び前記ビデオトラックに同期するオーディオトラックを抽出し、
抽出されたビデオトラック、及びオーディオトラックを前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加するように構成され、
前記ソースバッファオブジェクトは、前記ウェブページに再生イベントを受信した再生ウィンドウに対応するように作成される、
請求項８に記載の装置。
【請求項１０】
前記メディアソース作成モジュールは、さらに、抽出されたビデオトラックに同期する字幕トラックを前記同一ソースバッファオブジェクトに追加するように構成される、
請求項９に記載の装置。
【請求項１１】
前記メディアソース再生モジュールは、さらに、前記ソースバッファオブジェクトに追加されたビデオトラックと字幕トラックを復号して再生するために、前記ウェブページのビデオ要素を呼び出し、
前記ソースバッファオブジェクトに追加されたオーディオトラックを復号して再生するために、前記ウェブページのオーディオ要素を同期に呼び出すように構成される、
請求項９に記載の装置。
【請求項１２】
前記メディアソース作成モジュールは、さらに、前記ウェブページにおいて対応するメディアファイルの再生イベントに応答し、前記メディアファイルにおける所定期間に対応するメディアデータを取得し、
取得されたメディアデータに基づき、独立して復号するためのセグメントメディアファイルを構築するように構成される、
請求項８に記載の装置。
【請求項１３】
前記メディアソース作成モジュールは、さらに、目標解像度のセグメントメディアファイルを取得し、
前記ソースバッファオブジェクトに追加された元の解像度であって、復号再生されていないセグメントメディアファイルをクリアし、
前記目標解像度のセグメントメディアファイルを前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加することにより、現在再生された元の解像度のセグメントメディアファイルが終了すると、再生ポイントに継続して目標解像度のセグメントメディアファイルを再生するように構成される、
請求項８から１２のいずれか一項に記載の装置。
【請求項１４】
前記メディアソース作成モジュールは、さらに、前記プレーヤのネットワークパラメータの更新に基づき、前記ネットワークパラメータの更新に適応するように、目標解像度のセグメントメディアファイルを取得し、
前記再生ウィンドウで受信された解像度切り替えイベントに応答し、前記解像度切り替えイベントの指示した目標解像度に基づき、対応する目標解像度のセグメントメディアファイルを取得するように構成される、
請求項１３に記載の装置。
【請求項１５】
メディアファイルの同期再生装置であって、
実行可能なコマンドを記憶するように構成されるメモリと、
請求項１から７のいずれか一項に記載のメディアファイルの同期再生方法を実現するように、前記実行可能なコマンドを実行するように構成されるプロセッサと、を含む。
【請求項１６】
記憶媒体であって、
実行可能なコマンドが記憶され、
前記実行可能なコマンドが実行される際に、請求項１から７のいずれか一項に記載のメディアファイルの同期再生方法を実現するように構成される。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の交差引用
本出願は、２０１８年０５月２９日付で出願された中国特許出願（出願番号２０１８１０５７１７２０．１）に基づくものであり、当該中国特許出願の優先権を主張し、その内容の全てをここに参照として取り込む。
【０００２】
本開示は、マルチメディア技術に関し、特に、メディアファイルの同期再生方法、装置及び記憶媒体に関する。
【背景技術】
【０００３】
エムペグ（ＭＰＥＧ、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４フォーマットは、現在広く使用されている容器フォーマットであり、多種の符号化方式のビデオデータ及びオーディオデータを記憶することができる。
【０００４】
ブラウザに埋め込まれたプレーヤは、ブラウザのハイパーテキストマークアップ言語（ＨＴＭＬ、Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）５メディア要素を使用することで再生し、プレーヤがブラウザのウェブページ、又はブラウザのコアが埋め込まれたアプリケーション（ＡＰＰ、Ａｐｐｌｉｃａｔｉｏｎ）のウェブページを介してメディアファイルを再生するが、関連技術は、メディアファイルの再生に対するサポートが完全ではなく、再生プロセスで映像と音声が同期しないという問題が発生した。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これに鑑みて、本開示の実施例は、ウェブページにおいてメディアファイルを再生する際に、映像と音声の同期を確保できる、メディアファイルの同期再生方法、装置及び記憶媒体を提供する。
【課題を解決するための手段】
【０００６】
本開示の実施例は、メディアファイルの同期再生方法を提供し、ウェブページに埋め込まれたプレーヤによって、前記ウェブページにおける再生ウィンドウに対応するメディアソースオブジェクトを作成するステップと、セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加するステップと、前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達するステップと、前記メディア要素を呼び出して前記仮想アドレスに関連するメディアソースオブジェクトを解析し、及び、関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行うステップと、を含む。
【０００７】
本開示の実施例は、さらに、メディアファイルの同期再生装置を提供し、ウェブページに埋め込まれたプレーヤによって、前記ウェブページにおける再生ウィンドウに対応するメディアソースオブジェクトを作成するように構成され、またセグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加するように構成されるメディアソース作成モジュールと、前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達するように構成されるメディアソース伝達モジュールと、前記メディア要素を呼び出して前記仮想アドレスに関連するメディアソースオブジェクトを解析するように構成され、また関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行うように構成されるメディアソース再生モジュールと、を含む。
【０００８】
本開示の実施例は、さらに、メディアファイルの同期再生装置を提供し、プロセッサと、プロセッサにおいて動作できる実行可能なコマンドを記憶するためのメモリと、を含み、ここで、前記プロセッサは前記実行可能なコマンドを動作させる際に、
ウェブページに埋め込まれたプレーヤによって、前記ウェブページにおける再生ウィンドウに対応するメディアソースオブジェクトを作成し、セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加し、前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達し、前記メディア要素を呼び出して前記仮想アドレスに関連するメディアソースオブジェクトを解析し、及び、関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行うという操作を実行する。
【０００９】
別の態様では、本開示の実施例は、さらに、メディアファイルの同期再生装置を提供し、
実行可能なコマンドを記憶するために用いられるメモリと、
本開示の実施例に提供されるメディアファイルの同期再生方法を実現するように、前記メモリに記憶されている実行可能なコマンドを実行するために用いられるプロセッサと、を含む。
【００１０】
別の態様では、本開示の実施例は、さらに、実行可能なコマンドが記憶されている記憶媒体を提供し、前記実行可能なコマンドが実行される際に、本開示の実施例に提供されるメディアファイルの同期再生方法を実現するために用いられる。
【発明の効果】
【００１１】
本開示の実施例は、下記のとおりの技術的効果を有する。
【００１２】
１）非ストリーミングメディアフォーマットのメディアファイルにおけるメディアデータから変換されたセグメントメディアファイルを、ウェブページのメディアソース拡張インタフェースを介して、ウェブページのメディア要素に送信して復号再生を行い、ウェブページによって非ストリーミングメディアフォーマットのメディアファイルを再生することを実現し、非ストリーミングメディアパッケージフォーマットのファイルが完全にダウンロードされなければ独立して再生できないという制限を解除する。
【００１３】
２）メディアデータがフロントエンドウェブページのプレーヤでセグメントメディアファイルへの変換を完了し、バックグラウンドサーバにとって、異なる解像度のメディアファイルを記憶する必要があるが、セグメントメディアファイルがサーバ側で予め記憶されることを必要とせず、メディアファイルの少ない記憶スペース占有方式による再生を実現する。
【００１４】
３）セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加することにより、異なるトラックを同期再生させ、従来技術がメディアソース拡張インタフェースで再生したメディアファイルの音声及び画面が同期しないという欠陥を解消する。
【図面の簡単な説明】
【００１５】
【図１】本開示の実施例に提供されるマルチメディアファイルパッケージ用の容器の１つの好ましい概略構造図である。
【図２】本開示の実施例によるＭＰ４ファイルの１つの好ましいパッケージ概略構造図である。
【図３】本開示の実施例によるメディアファイルにおけるメディアデータ容器がメディアデータを記憶する１つの好ましい概略構造図である。
【図４】本開示の実施例によるＦＭＰ４ファイルの１つの好ましいパッケージ概略構造図である。
【図５】本開示の実施例によるメディアファイルの同期再生装置の１つの好ましい概略構成図である。
【図６】本開示の実施例によるメディアファイルの同期再生装置の１つの好ましい概略構成図である。
【図７】本開示の実施例に提供されるメディアファイルの同期再生方法の１つの好ましいフローチャートである。
【図８】本開示の実施例に提供されるプレーヤがウェブページのメディアソース拡張インタフェースによってセグメントメディアファイルを再生する１つの好ましい概略図である。
【図９】本開示の実施例に提供されるＭＰ４ファイルがＦＭＰ４ファイルに変換されるとともに、メディアソース拡張インタフェースによって再生される１つの概略図である。
【図１０】本開示の実施例に提供されるメディアファイルの同期再生方法の１つの好ましいフローチャートである。
【図１１】本開示の実施例に提供されるメディアファイルの同期再生方法の１つの好ましい実施シーンの概略図である。
【発明を実施するための形態】
【００１６】
本開示の目的、技術及び利点をより明らかにするように、以下では、図面を結び付けて、本開示についてさらに詳しく説明する。なお、提供される実施形態は本開示を限定するものと見なされるべきではない。当業者が、創造的な労働をかけずに取得した他の全ての実施例は、本開示の特許請求の範囲に含まれる。
【００１７】
本明細書で使用される技術や科学用語は、特に断りがない限り、当業者が通常理解されるものと同義である。本明細書に使用される用語は、具体的な実施例を説明するためのものであり、本開示を限定する主旨ではない。
【００１８】
本開示についてさらに詳しく説明する前に、本開示の実施例に係る名詞及び用語を説明する。本開示の実施例に係る名詞及び用語は、以下の解釈を適用する。
【００１９】
（１）メディアファイルは、容器（Ｂｏｘ、又はコンテナと呼ばれる）の方式で符号化するメディアデータ（例えば、オーディオデータ及びビデオデータの少なくとも１種類）を記憶するファイルである。中には、メディアデータが正確に復号化されることを保証するように、メディア情報を記述するためのメタデータが含まれる。例えば、エムペグ（ＭＰＥＧ、Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４フォーマットを使用してメディアデータをカプセルかして形成されたメディアファイルは、MP4ファイルと呼ばれる。典型的に、ＭＰ４ファイルには、ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ、即ち、Ｈ．２６４）或いはＭＰＥＧ−４（Ｐａｒｔ２）の規格で符号化されたビデオデータ、及びＡＡＣ（Ａｄｖａｎｃｅｄ  Ａｕｄｉｏ  Ｃｏｄｉｎｇ）の規格で符号化されたオーディオデータが記憶されている。もちろん、ビデオデータ及びオーディオデータのその他の符号化方式を排除しない。
【００２０】
（２）容器（Ｂｏｘ）、又はボックスと呼ばれ、唯一のタイプ識別子及び長さで定義された対象に向ける部材である。図1を参照する。図1は、本開示の実施例が提供した容器のある選択可能な構造の模式図であり、容器ヘッダ（Ｂｏｘ  Ｈｅａｄｅｒ）と容器データ（Ｂｏｘ  Ｄａｔａ）を備え、中には様々な情報を表すためのバイナリデータがパッディングされている。
【００２１】
容器ヘッダは、容量（ｓｉｚｅ）とタイプ（ｔｙｐｅ）を含め、容量は容器が占用した記憶空間の大きさを明示し、タイプは容器の種類を明示する。図２を参照して、図２は、本開示の実施例が提供したＭＰ４ファイルのある選択可能なパッケージ構造の模式図である。ＭＰ４ファイルに係る基本の容器タイプは、ファイルタイプ容器（ｆｔｙｐ  ｂｏｘ）と、メタデータ容器（ｍｏｏｖ  ｂｏｘ）と、メディアデータ容器（ｍｄａｔ  ｂｏｘ）を含める。
【００２２】
容器データ部分は、具体的なデータを記憶でき、この場合、容器は「データ容器」と呼ばれる。容器データ部分は、その他の種類の容器をさらにパッケージすることができ、この場合、容器は「容器の容器」と呼ばれる。
【００２３】
（３）トラック（Ｔｒａｃｋ）は、ストリーム（Ｓｔｒｅａｍ）とも呼ばれ、メディアデータ容器において時間順でソートされた関連するサンプル（Ｓａｍｐｌｅ）である。メディアデータに対して、トラックは、1つのビデオフレームシーケンス又は１つのオーディオフレームシーケンスを示し、ビデオフレームシーケンスに同期する字幕のトラックをさらに含めてもよい。同一トラックにおける1組の連続するサンプルは、塊（Ｃｈｕｎｋ）と呼ばれる。
【００２４】
（４）ファイルタイプ容器は、メディアファイルにおいてファイルの容量（即ち、占用したバイトの長さ）及びタイプを記憶するための容器である。図２のように、ファイルタイプ容器を「ｆｔｙｐ  ｂｏｘ」とし、その中に記憶されたバイナリデータは、規定されたバイト長さでファイルの容器のタイプ及び容量を記述する。
【００２５】
（５）メタデータ容器は、メディアデータにおいてメタデータを記憶する（即ち、メディアデータ容器に記憶されたメディアデータを記述するデータ）容器である。ＭＰ４ファイルにおけるメタデータ容器に記憶されたバイナリデータが示す情報は、メディア情報と呼ばれる。
【００２６】
図２のように、メタデータ容器のヘッダは、バイナリデータを用いて容器のタイプを「ｍｏｏｖ  ｂｏｘ」と示す。容器データ部分は、ＭＰ４ファイルの全般的な情報を記憶するためのｍｖｈｄ容器をパッケージして、ＭＰ４ファイルに独立すると共に、ＭＰ４ファイルの再生に関連して、時間長と、作成時刻及び修正時刻などを含める。
【００２７】
メディアファイルのメディデータ容器は、複数のトラックに対応するサブ容器を備えてもよい、例えば、オーディオトラック容器（ａｕｄｉｏ  ｔｒａｃｋ  ｂｏｘ）やビデオトラック容器（ｖｉｄｅｏ  ｔｒａｃｋ  ｂｏｘ）である。オーディオトラック容器及びビデオトラック容器のいずれのサブ容器にも、対応するトラックのメディアデータの引用と記述を含める。必要なサブ容器は、トラックの特徴及び全般的な情報（例えば、時間長、幅と高さ）を記述する容器（ｔｋｈｄ  ｂｏｘとする）、トラックのメディア情報（例えば、メディアタイプとサンプルの情報）を記録する容器（ｍｄｉａ  ｂｏｘとする）を含める。
【００２８】
ｍｄｉａ  ｂｏｘにパッケージされたサブ容器について、トラックの関連属性と内容を記録する容器（ｍｄｈｄ  ｂｏｘとする）と、メディアの再生過程の情報を記録する容器（ｈｄｌｒ  ｂｏｘとする）と、トラックにおけるメディアデータのメディア情報を記述する容器（ｍｉｎｆ  ｂｏｘとする）とを含めてもよい。ｍｉｎｆ  ｂｏｘには、さらに、メディア情報をどのように定位することを解釈するためのサブ容器（ｄｉｎｆ  ｂｏｘとする）と、トラックにおけるサンプルの全ての時間情報（復号化時刻/表示時刻）、位置情報及び符号化/復号化などの情報を記録するためのサブ容器（ｓｔｂｌ  ｂｏｘとする）とをパッケージした。
【００２９】
図３を参照する。図３は、本開示の実施例が提供したメディアファイルにおけるメディアデータ容器がメディアデータを記憶する構造の模式図である。ｓｔｂｌ  ｂｏｘ容器からバイナリデータによって識別されたメディア情報を用いて、サンプルの時間、タイプ、容量及びメディアデータ容器における位置を解釈できる。次に、ｓｔｂｌ  ｂｏｘにおける各サブ容器について説明する。
【００３０】
ｓｔｓｄ  ｂｏｘには、サンプル説明（ｓａｍｐｌｅ  ｄｅｓｃｒｉｐｔｉｏｎ）テーブルが含められ、異なる符号化方式と記憶されたデータのファイル数に基づいて、各メディアファイルには1つ又は複数の説明テーブルを有してもよく、説明テーブルを通じて各サンプルの説明情報を見つけることができる。説明情報は、サンプルが正確に復号化されることを保証できる。メディアのタイプによって記憶された説明情報も違い、例えば、ビデオメディアの場合では、説明情報は画像の構造である。
【００３１】
ｓｔｔｓ  ｂｏｘには、サンプルの時間長情報が記憶されていると共に、テーブルを提供して時間（復号化時刻）とサンプルの番号をマッピングする。ｓｔｔｓ  ｂｏｘによって、メディアファイルにおける何れの時間のサンプルを定位することができる。ｓｔｔｓ  ｂｏｘでは、さらに、他のテーブルを用いてサンプルの容量と指針をマッピングし、テーブルの各項目が、同じ時間オフセット量において連続するサンプルの番号とサンプルのオフセット量を提供し、これらのオフセット量を累増することで、完全な時間-サンプルのマッピングテーブルを作成することができる。計算式は以下になる：
【００３２】
ＤＴ（ｎ＋１）＝ＤＴ（ｎ）＋ＳＴＴＳ（ｎ）                  （１）
【００３３】
中では、ＳＴＴＳ（ｎ）は第ｎ個目のサンプルの時間長であり、ＤＴ（ｎ）は第ｎ個目のサンプルの表示時間である。サンプルの配列は、時間順で配列されており、このようにすることで、オフセット量は常に非負値である。ＤＴは、一般的に０から始まり、第ｉ個目のサンプルＤＴ（ｉ）を例として、計算式は以下になる：
【００３４】
ＤＴ（ｉ）＝ＳＵＭ（ｆｏｒｊ＝０ｔｏｉ−１ｏｆｄｅｌｔａ（ｊ））  （２）
【００３５】
全てのオフセット量の合計は、トラックにおけるメディアデータの時間長である。
【００３６】
ｓｔｓｓ  ｂｏｘは、メディアファイルにおけるキーフレームの番号を記録する。
【００３７】
ｓｔｓ  ｂｏｘは、サンプルとサンプルを記憶する塊のマッピング関係を記録し、テーブルによってサンプルの番号と塊の番号との関係をマッピングして、テーブルを調べることによって指定のサンプルが含められる塊を見つけることができる。
【００３８】
ｓｔｃｏ  ｂｏｘは、各塊がトラックにおける位置を定義する。この位置は、メディアデータ容器の開始バイトのオフセット量と、前記開始バイトに対する長さ（即ち、容量）を用いて示される。
【００３９】
ｓｔｓｚ  ｂｏｘは、メディアファイルにおける各サンプルの容量（即ち、大きさ）を記録する。
【００４０】
（６）メディアデータ容器は、メディアファイルにおいてメディアデータを記憶するための容器である。例えば、ＭＰ４ファイルにおけるメディアデータ容器は、図３のように、サンプルがメディアデータ容器に記憶された単位であり、メディアファイルの塊に記憶され、塊とサンプルの長さは互いに異なってもよい。
【００４１】
（７）セグメント化メディアファイルは、メディアファイルが分割されて形成されたサブファイルであり、各セグメント化メディアファイルは単独に復号化することができる。
【００４２】
ＭＰ４ファイルを例として、ＭＰ４ファイルにおけるメディアファイルをキーフレームによって分割して、分割したメディアファイルと対応するメタデータをパッケージしてセグメント化ＭＰ４（Ｆｒａｇｍｅｎｔｅｄ  ＭＰ４）ファイルを形成する。各ＦＭＰ４ファイルのメタデータは、メディアデータが正確に復号化されることを保証することができる。
【００４３】
例えば、図２のようなＭＰ４ファイルを複数のＦＭＰ４ファイルに変換する場合、図４を参照する。図４は、本開示の実施例が提供したセグメント化ＭＰ４（ＦＭＰ４）ファイルのある選択可能なパッケージ構造の模式図である。1つのＭＰ４ファイルは、複数のＦＭＰ４ファイルに変換でき、各ＦＭＰ４ファイルには、ｍｏｏｖ容器と、ｍｏｏｆ容器と、ｍｄａｔ容器との３つの基本な容器を備える。ｍｏｏｖ容器は、ＭＰ４ファイルレベルのメタデータを含め、ＦＭＰ４ファイルの由来するＭＰ４ファイルの全てのメディアデータを記述するために用いられる。例えば、ＭＰ４ファイルの時間長と、作成時刻及び修正時刻などである。ｍｏｏｆ容器は、セグメントレベルのメタデータを記憶し、位置するＦＭＰ４ファイルにパッケージされたメディアデータを記述するために用いられて、ＦＭＰ４ファイルにおけるメディアデータが復号化されるように保証する。１つのｍｏｏｆ容器と１つのｍｄａｔ容器でセグメント化ＭＰ４ファイルの１つのセグメントを構成する。１つのセグメント化ＭＰ４ファイルには、このようなセグメントを１つ又は複数含めてもよい。各セグメントにパッケージされたメタデータは、セグメントにパッケージされたメディアデータが単独に復号化されるように保証する。
【００４４】
（８）メディアソース拡張（ＭＳＥ，Ｍｅｄｉａ  Ｓｏｕｒｃｅ  Ｅｘｔｅｎｓｉｏｎｓ）インタフェースは、ウェブページにおいて実現されるプレーヤに向けるインタフェースである。ウェブページにおいてローディングする期間内に、ウェブページのブラウザによって解釈され、フロントエンドプログラミング言語（例えば、ＪａｖａＳｃｒｉｐｔ）を実行して実現されて、プレーヤに対してハイパーテキストマークアップ言語（ＨＴＭＬ）及びメディア要素（Ｍｅｄｉａ  Ｅｌｅｍｅｎｔ）を呼び出して、メディアストリームを再生する機能を提供する。例えば、ビデオ要素＜ｖｉｄｅｏ＞及びオーディオ要素＜ａｕｄｉｏ＞を用いて、ビデオ/オーディオの再生機能を実現する。
【００４５】
（９）ストリーミングメディアフォーマットは、メディアデータをストリーミングメディアのファイルにパッケージして、メディアファイルを完全にダウンロードする必要がなく、別途のトランスコードも必要がなくて、そのまま復号化して再生できる。即ち、オリジナルに（原生地）ダウンロードしながら再生することをサポートするパッケージ技術である。典型的なストリーミングメディアフォーマットのファイルは、例えば、ＨＴＴＰライブストリーミング（ＨＬＳ，ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ）技術に基づくＴＳメディアファイルセグメント、ＦＬＶ（Ｆｌａｓｈ  Ｖｉｄｅｏ）ファイルなどである。
【００４６】
（１０）非ストリーミングメディアフォーマットは、メディアデータをメディアファイルにパッケージし、メディアファイルを完全にダウンロードしてから復号化され再生できるパッケージ技術である。典型的な非ストリーミングメディアフォーマットのファイルは、ＭＰ４ファイル、ウィンドウズ（登録商標）メディアビデオ（ＷＭＶ，Ｗｉｎｄｏｗｓ  Ｍｅｄｉａ  Ｖｉｄｅｏ）ファイル、高度なストリーミングフォーマット（ＡＳＦ，Ａｄｖａｎｃｅｄ  Ｓｔｒｅａｍｉｎｇ  Ｆｏｒｍａｔ）ファイル等を含める。
【００４７】
なお、ＭＰ４ファイルは、オリジナルにストリーミング再生をサポートしないが、オンライントランスコードした後、プレーヤに向けてトランスコードしたメディアストリーム、又は部分的にダウンロードしたＭＰ４ファイルの欠損部分に無効のバイナリデータをパッディングすること（例えば、ｆｙｔｐ容器とｍｏｏｖ容器を完全的にダウンロードした場合、ｍｄａｔ容器の欠損部分の代わりに無効のバイナリデータをパッディングすること）で、ダウンロードしながら再生する技術的効果を実現することができる。このようなオリジナルにストリーミング再生をサポートしないファイルのパッケージフォーマットはいずれも非ストリーミングメディアフォーマットと呼ばれる。
【００４８】
まず、本開示の実施例を実現するためのメディアファイルの同期再生装置について説明するが、メディアファイルの同期再生装置がハードウェア、ソフトウェア又はソフトウェアとハードウェアとの組み合わせの方式として提供されてもよい。
【００４９】
以下、メディアファイルの同期再生装置のソフトウェアとハードウェアとの組み合わせによる実施について説明し、図５に示すように、図５は本開示の実施例によるメディアファイル再生装置の１つの好ましい概略構成図であり、メディアファイルの同期再生装置５００は、ビデオ再生機能付きの携帯電話、コンピュータ、ノートパソコン、タブレットデバイス、パーソナルデジタルアシスタント等を含んでもよい。図５に示したメディアファイルの同期再生装置５００は、少なくとも１つのプロセッサ５０１、メモリ５０２、少なくとも１つのネットワークインタフェース５０４及びユーザインタフェース５０３を含む。メディアファイルの同期再生装置５００内の各コンポーネントはバスシステム５０５によって結合される。バスシステム５０５は、これらのコンポーネント間の接続通信を実現するために用いられると理解できる。バスシステム５０５は、データバスの他に、電源バス、制御バス及び状態信号バスをさらに含む。ただし、説明を明確にするために、図５では、各バスをバスシステム５０５とマーク付けする。
【００５０】
ここで、ユーザインタフェース５０３は、ディスプレイ、キーボード、マウス、トラックボール、クリックホイール、キー、ボタン、タッチパネル、又はタッチスクリーン等を含むことができる。
【００５１】
なお、メモリ５０２は、揮発性メモリ又は非揮発性メモリであってもよく、揮発性メモリ及び非揮発性メモリの両方を含んでもよい。そのうち、非揮発性メモリは、読み取り専用メモリ（ＲＯＭ、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、プログラマブル読み取り専用メモリ（ＰＲＯＭ、Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭ、Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、電気消去可能なプログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ、Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）であってもよく、磁気表面メモリは、磁気ディスクメモリ又は磁気テープメモリであってもよい。揮発性メモリは、外部キャッシュとして使用されているランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であってもよい。限定的ではない例として、たとえば、スタティックランダムアクセスメモリ（ＳＲＡＭ、Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、同期スタティックランダムアクセスメモリ（ＳＳＲＡＭ、Ｓｙｎｃｈｒｏｎｏｕｓ  Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、同期ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ、Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）など、多数の形態のＲＡＭが利用可能である。本開示の実施例に記載のメモリ５０２は、これらのメモリ及びほかの任意の適切なタイプのメモリを含むものを意味する。
【００５２】
理解できるのは、メモリ602は、揮発性メモリ又は不揮発性メモリであってよく、揮発性メモリと不揮発性メモリの両方を備えてもよい。
【００５３】
本開示の実施例におけるメモリ５０２は、サーバから取得されたメディアファイルデータを記憶してメディアファイルの同期再生装置５００の動作をサポートできる三値連想メモリ、スタティックランダムメモリを含むが、これらに限定されない。これらのデータは、例示的にオペレーティングシステム５０２１及びアプリケーション５０２２のようなメディアファイルの同期再生装置５００上で動作するための任意のコンピュータプログラム、及び各種のメディアファイルデータ情報等を含む。そのうち、オペレーティングシステム５０２１は、例えば、様々な基本サービスを実現し、及びハードウェアに基づくタスクを処理するためのフレームワーク層、コアライブラリ層、ドライバー層等の様々なシステムプログラムを含む。アプリケーション５０２２は、例えば、メディアファイルの同期再生機能付きのクライアント、又はアプリケーション等の様々なアプリケーションを含んでもよい。本開示の実施例のメディアファイルの同期再生方法を実現するプログラムはアプリケーション５０２２に含まれてもよい。
【００５４】
本開示の実施例によるメディアファイルの同期再生方法は、プロセッサ５０１により実現される。プロセッサ５０１は、信号処理機能を有する集積回路チップである可能性がある。実現のプロセスにおいて、本開示の実施例にて提供されるメディアファイルの同期再生方法は、プロセッサ５０１内のハードウェアの集積論理回路又はソフトウェア形式の動作により完了することができる。上記したプロセッサ５０１は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、又は他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタ論理デバイス、ディスクリートハードウェアコンポーネント等であってもよい。プロセッサ５０１は、本開示の実施例にて提供される各方法、ステップ及び論理ブロック図を実現するか又は実行することができる。汎用プロセッサは、マイクロプロセッサ又は任意の一般的なプロセッサ等であってもよい。本開示の実施例にて提供される方法を組み合わせるステップは、ハードウェアコーディングプロセッサの実行、又はコーディングプロセッサにおけるハードウェア及びソフトウェアモジュールの組み合わせにより直接完了する。ソフトウェアモジュールは、メモリ５０２にある記憶媒体に配置されてもよく、プロセッサ５０１は、メモリ５０２内の情報を読み取り、そのハードウェアと組み合わせてメディアファイルの同期再生方法を完了する。
【００５５】
例示的な実施例では、本開示の実施例は、例えば、コンピュータプログラムを含むメモリ５０２等のコンピュータ可読記憶媒体をさらに提供し、メディアファイルの同期再生方法を完了するように、上記したコンピュータプログラムは、メディアファイルの同期再生装置５００のプロセッサ５０１により実行されてもよい。コンピュータ可読記憶媒体は、ＦＲＡＭ（登録商標）、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、Ｆｌａｓｈ  Ｍｅｍｏｒｙ、磁気表面メモリ、光ディスク、又はＣＤ−ＲＯＭ等のメモリであってもよく、上記したメモリのうちの１つ又は任意の組み合わせを含む様々なデバイス、例えば、携帯電話、コンピュータ、タブレットデバイス、パーソナルデジタルアシスタント等であってもよい。
【００５６】
以下、メディアファイルの同期再生装置のハードウェアだけによる実施を説明し、本開示の実施例によるメディアファイルの同期再生装置の実現について、１つ又は複数の特定用途向け集積回路（ＡＳＩＣ、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＤＳＰ、プログラマブル論理デバイス（ＰＬＤ、Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、複合プログラマブル論理デバイス（ＣＰＬＤ、Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）又は他の電子素子により実現されてもよく、本開示の実施例にて提供されるメディアファイルの同期再生方法を実行し実現するために用いられる。
【００５７】
以下、メディアファイルの同期再生装置のソフトウェアだけによる実施を説明し、本開示の実施例によるメディアファイルの同期再生装置の実現について、アプリケーション又はプラグイン、又は両者の組み合わせにより実現することができる。
【００５８】
一例として、アプリケーションは、メディアファイルの同期再生専用のクライアントであってもよいし、メディアファイルの同期再生機能を好ましい機能とするクライアントであってもよく、対応するプラグインをインストールすることで実現される。
【００５９】
一例として、プラグインは、アプリケーションの機能アップグレードインストールパッケージとして実装されてもよく、また非メディア再生用のアプリケーションでメディアファイルの同期再生の機能を拡張する。
【００６０】
メディアファイルの同期再生装置のハードウェア実施又はソフトウェア実施の例として、メディアファイルの同期再生装置は、信号／情報／データレベルで結合関係が存在する一連のモジュールとして提供されてもよく、以下、図６を参照しながら説明し、図６に示すように、図６は本開示の実施例によるメディアファイル再生装置の１つの好ましい概略構成図であり、メディアファイルの同期再生装置を実現するために含まれる一連のモジュールを示しているが、メディアファイルの同期再生装置のモジュール構造は図６に限定されず、例えば、そのうちのモジュールに対して、実現される異なる機能に基づきさらなる分割又は組み合わせを行ってもよい。以下、図６に示したモジュールの実現した機能について説明する。
【００６１】
メディアソース作成モジュール６０１は、ウェブページに埋め込まれたプレーヤによって、前記ウェブページにおける再生ウィンドウに対応するメディアソースオブジェクトを作成し、セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加するように構成される。
【００６２】
メディアソース伝達モジュール６０２は、前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達するように構成される。
【００６３】
メディアソース再生モジュール６０３は、前記メディア要素を呼び出して前記仮想アドレスに関連するメディアソースオブジェクトを解析し、関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行うように構成される。
【００６４】
いくつかの実施例では、前記メディアソース作成モジュール６０１は、前記セグメントメディアファイルからビデオトラック、及び前記ビデオトラックに同期するオーディオトラックを抽出し、抽出されたビデオトラック、及びオーディオトラックを前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加するように構成され、ここで、前記ソースバッファオブジェクトは、前記ウェブページに再生イベントを受信した再生ウィンドウに対応するように作成される。
【００６５】
いくつかの実施例では、前記メディアソース作成モジュール６０１は、抽出されたビデオトラックに同期する字幕トラックを前記同一ソースバッファオブジェクトに追加するようにさらに構成される。
【００６６】
いくつかの実施例では、前記メディアソース再生モジュール６０３は、前記ウェブページのビデオ要素を呼び出して、前記ソースバッファオブジェクトに追加されたビデオトラック及び字幕トラックを復号再生し、前記ウェブページのオーディオ要素を同期呼び出して、前記ソースバッファオブジェクトに追加されたオーディオトラックを復号再生するようにさらに構成される。
【００６７】
いくつかの実施例では、前記メディアソース作成モジュール６０１は、前記ウェブページにおけるメディアファイルに対応する再生イベントに応答し、前記メディアファイルにおける所定期間に対応するメディアデータを取得し、取得されたメディアデータに基づき、独立して復号するための前記セグメントメディアファイルを構築するようにさらに構成される。
【００６８】
いくつかの実施例では、前記メディアソース作成モジュール６０１は、目標解像度のセグメントメディアファイルを取得し、前記ソースバッファオブジェクトに追加された元の解像度であって、復号再生されていないセグメントメディアファイルをクリアし、前記目標解像度のセグメントメディアファイルを前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加することにより、現在再生された元の解像度のセグメントメディアファイルが終了すると、再生ポイントに継続して目標解像度のセグメントメディアファイルを再生するようにさらに構成される。
【００６９】
いくつかの実施例では、前記メディアソース作成モジュール６０１は、前記プレーヤのネットワークパラメータの更新に基づき、前記ネットワークパラメータの更新に適応するように、目標解像度のセグメントメディアファイルを取得し、前記再生ウィンドウで受信された解像度切り替えイベントに応答し、前記解像度切り替えイベントの指示した目標解像度に基づき、対応する目標解像度のセグメントメディアファイルを取得するようにさらに構成される。
【００７０】
いくつかの実施例では、プレーヤは、ウェブページに埋め込まれたプレーヤによって、前記ウェブページにおける再生ウィンドウに対応するメディアソースオブジェクトを作成し、呼び出し、さらに関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行う。図７に示すように、図７は、本開示の実施例にて提供されるメディアファイルの同期再生方法の１つの好ましいフローチャートであり、図７に示したステップを参照しながら説明する。
【００７１】
以下に説明するいくつかの例では、メディアファイルがＭＰＥＧ−４であることを例として説明し、ＭＰＥＧ−４の実施によれば、他の非ストリーミングメディアフォーマットの実施を容易に予測できる。
【００７２】
ステップ７０１、ウェブページに埋め込まれたプレーヤによって、前記ウェブページにおける再生ウィンドウに対応するメディアソースオブジェクトを作成する。
【００７３】
例えば、プレーヤは、ウェブページの再生ウィンドウ（プレーヤの対応する再生ウィンドウ）でメディアファイルの再生イベントを受信すると、プレーヤは、ＭＳＥによってＭｅｄｉａＳｏｕｒｃｅ方法を実行して、メディアソース（Ｍｅｄｉａ  Ｓｏｕｒｃｅ）オブジェクトを作成し、メディアソース拡張インタフェースにパッケージされたａｄｄＳｏｕｒｃｅＢｕｆｆｅｒ方法を実行して、ＭｅｄｉａＳｏｕｒｃｅオブジェクトのバッファ、即ち、ソースバッファ（ＳｏｕｒｃｅＢｕｆｆｅｒ）オブジェクトを作成し、１つのＭｅｄｉａＳｏｕｒｃｅオブジェクトは１つ又は複数のＳｏｕｒｃｅＢｕｆｆｅｒオブジェクトを備え、各ＳｏｕｒｃｅＢｕｆｆｅｒオブジェクトは、対応するウェブページにおける１つの再生ウィンドウに用いられてもよく、ウィンドウにおける再生対象のセグメントメディアファイルを受信するために用いられる。
【００７４】
ステップ７０２、セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加する。
【００７５】
出願者は、本願を実施するプロセスにおいて、セグメントメディアファイルを再生するとき、セグメントメディアファイルのビデオトラック及びオーディオトラックが異なるソースバッファオブジェクトにあるため、再生プロセスにおいて、異なるソースバッファオブジェクトにあるオーディオトラック及びビデオトラックが互いに同期できないが、ステップ７０２に記載の、ビデオトラック及びオーディオトラックをメディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加する態様を実施することにより、この欠陥を効果的に解消できると発見する。
【００７６】
いくつかの実施例では、前記セグメントメディアファイルからビデオトラック、及び前記ビデオトラックに同期するオーディオトラックを抽出し、抽出されたビデオトラック、及びオーディオトラックを前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加し、ここで、前記ソースバッファオブジェクトは、前記ウェブページで再生イベントを受信した再生ウィンドウに対応するように作成される。抽出されたビデオトラック、及びオーディオトラックを前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加することにより、ビデオとオーディオとの同期を実現し、ソースバッファによって再生されたメディアファイルにビデオフレーム又はオーディオフレームの一方のみが存在するという欠陥を避ける。
【００７７】
例えば、セグメントメディアファイルに字幕トラックが含まれるか否かに応じて、セグメントメディアファイルにおける（ａ）ビデオトラック及びオーディオトラック、（ｂ）ビデオトラック、オーディオトラック及び字幕トラックというトラックをメディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加する。それにより、前記メディアファイルに字幕トラックが含まれる場合、字幕トラック及び抽出されたビデオトラックに同期する字幕トラックを前記同一ソースバッファオブジェクトに追加することにより、字幕をビデオ及びオーディオに同期できるように出力させる。
【００７８】
図８に示すように、メディアファイルの再生プロセスにおいて、プレーヤ内のパーサー（Ｐａｒｓｅｒ）は、新たに取得されたメディアデータを解析することにより、新しいセグメントメディアファイルを絶えず構築し、ＳｏｕｒｃｅＢｕｆｆｅｒオブジェクトのａｐｐｅｎｄＢｕｆｆｅｒ方法を実行することにより、セグメントメディアファイルのトラックを同じＭｅｄｉａＳｏｕｒｃｅオブジェクトのＳｏｕｒｃｅＢｕｆｆｅｒオブジェクトに追加する。
【００７９】
いくつかの実施例では、セグメントメディアファイルがストリーミングメディアファイルである場合、再生要求がサーバに所定期間（プレーヤのリアルタイム再生ポイントに継続するために用いられる）内のセグメントメディアファイルを要求するために用いられ、ウェブページのメディアソース拡張インタフェースを介してウェブページのメディア要素に送信して復号を行い、それによりメディアファイルの連続再生を実現する。
【００８０】
一例として、所定期間は、再生ポイントの後のプリロード部分のメディアファイルに用いられ、スムーズな視聴体験を実現するための再生ポイントの後のプリロード時間長であってもよい。端末リソース及び／又はネットワークリソースの最適化利用を実現するように、所定期間の長さは、プレーヤによってネットワークパラメータ又はホストデバイスの特徴パラメータに適応され得る。
【００８１】
一例として、所定期間は再生ポイントの後の少なくとも１つのコンテンツユニットの長さであってもよく、ここで、メディアファイルにおけるコンテンツの変化を表すためのコンテンツユニットがメディアファイルにおける人物、シーン及びプロット等に従って分割形成され、それによりユーザによる所定期間のホッピングに起因する不要な流量消費を最大限に避ける。
【００８２】
いくつかの実施例では、セグメントメディアファイルが非ストリーミングメディアフォーマットである場合、前記ウェブページにおけるメディアファイルに対応する再生イベントに応答でき、前記メディアファイルにおける所定期間に対応するメディアデータを取得し、取得されたメディアデータに基づき、独立して復号するための前記セグメントメディアファイルを構築する。
【００８３】
いくつかの実施例では、セグメントメディアファイルが非ストリーミングメディアフォーマットである場合、プレーヤがセグメントメディアファイルを取得するとき、メディアファイルの再生プロセスにおけるリアルタイム再生ポイントに基づき、再生対象のメディアファイルにおける２つのキーフレームを決定してもよく、メディアファイルにおける前記２つのキーフレーム間のメディアデータを取得することを要求するためのネットワーク要求をサーバに送信し、取得されたメディアデータによって、独立に復号して再生可能なセグメントメディアファイルを構築でき、ウェブページのメディアソース拡張インタフェースを介してウェブページのメディア要素に送信して復号を行い、それにより構築されたセグメントメディアファイルの連続再生を実現する。
【００８４】
再生ポイントに基づき２つのキーフレームを決定することについて説明し続ける。プレーヤはメディアファイルを再生するプロセスにおいて、キーフレーム間のデータをロードすることでメディアファイルの再生を実現し、即ち、プレーヤは２つのキーフレーム間のメディアデータを再生ロードユニットとする。再生ポイントについては、メディアファイルを連続的に再生する（つまり、ユーザが介入しない場合に自然に再生する）方式によって到達した再生時間であってもよく、例えば、３０分目から４０分目まで再生する再生ポイントであり、ジャンプの方式（つまり、ユーザがカーソルによってプログレスバーをクリックすることでページジャンプを実現すること）によってメディアファイルの到達した再生時間に到達してもよく、例えば、元の再生ポイントが再生進捗の２０％で、ジャンプ後の再生ポイントが再生進捗の３０％である。
【００８５】
実際の適用において、再生ポイントに基づき決定された２つのキーフレームは、メディアファイルにおける隣接する２つのキーフレーム、又は２つのキーフレーム間に存在している他の１つ又は複数のキーフレームであってもよく、２つのキーフレーム間のキーフレームの数は、ブラウザのバッファ性能（例えば、使用可能なバッファの容量）、ネットワーク性能（ネットワーク帯域幅）等に応じて決定されてもよく、また、実際のニーズに応じて設定されてもよい。
【００８６】
いくつかの実施例では、再生ポイントがメディアファイルを連続的に再生する方式によって到達した再生時間である場合、再生ポイントの対応するビデオフレームが通常のフレームか、又はキーフレームであるかの場合によって、２つのキーフレーム（第１キーフレーム、及び復号時間が第１キーフレームの後の第２キーフレームに設定する）を決定する方式について説明する。
【００８７】
ケース１）再生ポイントの対応するビデオフレームが通常のフレームである場合、プレーヤが２つのキーフレーム間のメディアデータを基本的な再生ロードユニットとするため、再生ポイントの後、再生ポイントの後の最初のキーフレーム（復号時間が再生ポイントよりも遅いキーフレームのうち再生ポイントに最も近いキーフレーム）の前のメディアデータがロード済みのメディアデータであり、該ロード済みのメディアデータの重複取得を避けるために、所定期間の２つのキーフレームのうちの第１キーフレームは、メディアファイルにおいて復号時間が再生ポイントの後の最初のキーフレームであり、２つのキーフレームのうちの第２キーフレームは、メディアファイルにおいて復号時間が第１キーフレームよりも遅いキーフレームである。
【００８８】
ケース２）再生ポイントの対応するビデオフレームがキーフレームである場合、２つのキーフレームのうちの第１キーフレームは、再生ポイントの対応するキーフレーム、即ち、再生ポイント時間に合わせたキーフレームであり、２つのキーフレームのうちの第２キーフレームは、メディアファイルにおいて復号時間が第１キーフレームよりも遅いキーフレームである。
【００８９】
上記したケース１）において、再生ポイントを跨るキーフレームをメディアデータのエンドポイントとし、再生ポイントの対応するビデオフレームが正確に復号するための十分な情報を有することを保証でき、復号データ（即ち、キーフレーム）の不足によるフレームスキップの発生を避ける。
【００９０】
別の実施例では、再生ポイントがジャンプの方式によって到達した再生時間である場合、再生ポイントの対応するビデオフレームが通常のフレームか、又はキーフレームであるかの場合によって、２つのキーフレーム（第１キーフレーム、及び復号時間が第１キーフレームの後の第２キーフレームに設定する）を決定する方式を説明する。
【００９１】
ケース１）再生ポイントの対応するビデオフレームが通常のフレームである場合、再生ポイントがジャンプによって到達したものであるため、再生ポイントの前の最初のキーフレームと、再生ポイントとの間のメディアデータがロードされず、第１キーフレームは、メディアファイルにおいて復号時間が再生ポイントの前の最初のキーフレームであり、即ち、メディアデータの時間（即ち、メディア情報の表した番号とフレームの復号時間との対応関係）から復号時間が所定期間の開始時間よりも早く、且つ開始時間に最も近いキーフレームを検索する。２つのキーフレームのうちの第２キーフレームは、メディアファイルにおいて復号時間が第１キーフレームよりも遅いキーフレームである。再生ポイントを再生ポイントの前のキーフレーム間のメディアデータまで追加要求することにより、どの再生ポイントにジャンプしても、正常に復号できることを保証でき、再生ポイントが通常のフレームに対応する場合、復号できないことによるフレームスキップの発生を避ける。
【００９２】
ケース２）再生ポイントの対応するビデオフレームがキーフレームである場合、第１キーフレームは、再生ポイントの対応するキーフレームであり、即ち、メディアデータの時間（即ち、メディア情報の表した番号とフレームの復号時間との対応関係）から検索された復号時間が再生ポイント時間に合わせたキーフレームである。２つのキーフレームのうちの第２キーフレームは、メディアファイルにおいて復号時間が第１キーフレームよりも遅いキーフレームである。
【００９３】
上記したケース１）において、再生ポイントを跨るキーフレームをメディアデータのエンドポイントとし、再生ポイントの対応するビデオフレームが正確に復号するための十分な情報を有することを保証すでき、復号データ（即ち、キーフレーム）の不足によるフレームスキップの発生を避ける。
【００９４】
ケース２）において、再生ポイントに合わせたキーフレームによって取得対象のメディアデータを規定し、再生ポイントが正確に復号される前提で、不必要なメディアデータの取得を最大限に減少させ、接続及び流量に対する占有を減少させ、さらに、ウェブページにおける非メディア再生サービスのリアルタイム性を保証する。
【００９５】
いくつかの実施例では、プレーヤからサーバに送信されたネットワーク要求には、要求された２つのキーフレーム間のメディアデータのオフセット量及び容量が携帯され、サーバにメディアファイルから前記オフセット量から開始し、且つ前記容量に適応するメディアデータを抽出させ、プレーヤに戻させる。したがって、プレーヤがネットワーク要求を送信する前に、メディアファイルのメタデータから識別されたメディア情報（即ち、ビデオ／オーディオフレームの位置、オフセット量、復号時間等の情報）に基づき、メディアファイルにおけるメディアデータのオフセット量及び容量を決定する必要がある。オフセット量及び容量を決定する前に、まず、メディアファイルのメタデータからメディア情報を識別する必要がある。
【００９６】
続いて、識別されたメディア情報に基づき、メディアファイルにおけるメディアデータのオフセット量及び容量を決定することについて説明し、いくつかの実施例では、プレーヤは、識別されたメディア情報に基づき、メディアファイルにおけるメディアデータのビデオフレーム（即ち、第１キーフレーム及び第２キーフレームの間のビデオフレーム）のオフセット量及び容量、及びメディアファイルにおけるビデオフレームに合わせたオーディオフレームのオフセット量及び容量を決定し、決定されたオフセット量及び容量に基づき、上記したビデオフレーム及びオーディオフレームの目標区間（最小オフセット量及び最大容量によって形成される区間）を含むオフセット量及び容量を決定するという方式によって、メディアファイルにおけるメディアデータのオフセット量及び容量を決定することができる。
【００９７】
ここでは、前述したビデオフレームに合わせたオーディオフレームを検索する方式について説明する。ビデオフレームを基準とし、メディアデータの開始時間及び時間長に基づき、ビデオフレームで時間の同期するオーディオフレームを定位し、メディアデータにおいて最初のオーディオフレームの復号開始時間が最初のビデオフレームの復号開始時間よりも遅くなく、最後のオーディオフレームの復号時間が最後のビデオフレームの復号終了時間よりも早くないことを保証し、このように、メディアファイルにおいてビデオ、オーディオ時間長が一致しないという問題を解消でき、各フレームビデオが再生される場合、同期しているオーディオが再生され、音声のない画面が表示されるという現象がないように保証する。
【００９８】
プレーヤがサーバにメディアデータを要求する場合、再生要求には、所定期間のメディアデータがメディアファイルにある位置（目標区間のオフセット量及び容量で示される）が携帯され、以下、目標区間を決定する方式について説明し、プレーヤは、メディアファイルにおける２つのキーフレームにおいて第１キーフレームと第２キーフレームとの間のビデオフレームのオフセット量及び容量に応じて、ビデオフレームがメタデータ容器にある位置を定位し、メディアファイルにおけるビデオフレームに合わせたオーディオフレームのオフセット量及び容量に応じて、オーディオフレームがメタデータ容器にある位置を定位し、位置上限及び下限によって形成される区間を目標区間とし、即ち、最小オフセット量及び最大容量によって形成される区間であり、ここで、位置の上限に対応するオフセット量及び容量を目標区間の上限に対応するオフセット量及び容量とし、位置の下限に対応するオフセット量及び容量を目標区間の下限に対応するオフセット量及び容量とする。実際の適用において、目標区間は、目標解像度メディアファイルのメディアデータ容器にビデオフレーム及びオーディオフレームを記憶する最小区間であり、例えば、第１キーフレームと第２キーフレームとの間のビデオフレームが目標解像度メディアファイルにある位置のオフセット量は、対応する区間が［ａ，ｂ］（アドレスが昇順）であり、オーディオフレームが目標解像度メディアファイルにある位置のオフセット量は、対応する区間が［ｃ，ｄ］（アドレスが昇順）であると、位置上限及び下限によって形成される区間は、即ち［ｍｉｎ（ａ，ｃ）、ｍａｘ（ｂ，ｄ）］になる。このように、プレーヤは目標区間のメディアデータを要求するように、目標区間のオフセット量及び容量が携帯されているネットワーク要求をサーバに送信し、サーバは目標区間のオフセット量及び容量に基づき、メディアファイルにおけるメディアデータを抽出した後、目標区間のメディアデータを一括返送し、２回取得することを必要とせず、プレーヤの要求回数を減少させ、処理効率を高めさせる。
【００９９】
いくつかの実施例では、再生プロセスにおいてプレーヤが再生されたメディアファイルの解像度を切り替える処理方式について説明し、プレーヤは、目標解像度のセグメントメディアファイルを取得し、前記ソースバッファオブジェクトに追加された元の解像度であって、復号再生されていないセグメントメディアファイルをクリアし、及び、前記目標解像度のセグメントメディアファイルを前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加し、現在、再生済みの元の解像度のセグメントメディアファイルが終了する時の継続再生に用いられる。前記ソースバッファオブジェクトに追加された元の解像度であって、復号再生されていないセグメントメディアファイルをクリアすることにより、ユーザが解像度切り替えを行う場合、目標解像度の要件に相応しいメディアファイルをユーザにタイムリーに表示することができる。
【０１００】
例えば、プレーヤは、元の解像度のメディアファイルを再生するプロセスにおいて、ネットワークパラメータを検出するとともに、前記ネットワークパラメータの更新に適応するように、前記プレーヤのネットワークパラメータの更新に基づき、再生目標解像度を切り替える必要のあるセグメントメディアファイルを決定し、又は、プレーヤは、前記再生ウィンドウで受信されたユーザによってトリガされた解像度切り替えイベントに応答し、前記解像度切り替えイベントの指示した目標解像度に基づき、対応する目標解像度のセグメントメディアファイルを取得してもよい。
【０１０１】
一例として、ネットワークパラメータは、アイドル下り帯域幅パラメータ、接続端末の数等を含んでもよく、プレーヤは、前記ネットワークパラメータの変化に基づき、プレーヤがリアルタイムの再生ポイントのプリロード固定期間に対して、実現できる最大解像度を算出させ、さらに、最大解像度のセグメントメディアファイルを継続取得し、スムーズに再生する前提で、最適な再生効果を実現し、ユーザの使用体験を向上させる。
【０１０２】
以下、プレーヤがＭＰ４ファイルをＦＭＰ４ファイルに変換するとともに、メディアソース拡張インタフェースを介してウェブページで再生するプロセスについて説明する。
【０１０３】
図９に示すように、図９は、本開示の実施例にて提供されるＭＰ４ファイルがＦＭＰ４ファイルに変換されるとともに、メディアソース拡張インタフェースを介して再生される１つの概略図であり、プレーヤは、メディアファイルの実際のアドレス（ｈｔｔｐ：／／ｗｗｗ．ｔｏｕｔｉａｏ．ｃｏｍ／ａ／ｂ．ｍｐ４）に基づいて、サーバからＭＰ４ファイルにおける一部のメディアデータ、例えば、復号時間が再生ポイントに継続するための所定期間にあるデータを取得するように要求する。
【０１０４】
プレーヤは、取得されたメディアデータに基づきＦＭＰ４ファイルを構築し、続いてＭｅｄｉａＳｏｕｒｃｅオブジェクトの対応するＳｏｕｒｃｅＢｕｆｆｅｒオブジェクトに追加し、仮想ＵＲＬがＭｅｄｉａＳｏｕｒｃｅオブジェクトにバインディングされるため、プレーヤがａｕｄｉｏ／ｖｉｄｅｏ要素を呼び出すコードが実行される場合、ａｕｄｉｏ／ｖｉｄｅｏ要素は、ＭｅｄｉａＳｏｕｒｃｅオブジェクトのＳｏｕｒｃｅＢｕｆｆｅｒオブジェクトから絶えず追加された新しいＦＭＰ４ファイルを読み取るとともに、復号し、メディアファイルの連続再生を実現する。ウェブページのメディア要素は、仮想ＵＲＬに基づきメディアソースオブジェクトを取得し、さらにメディアファイルの再生を実現し、メディアファイルの実際のアドレスに基づきメディアデータを取得することではなく、このように、メディアファイルの実際のアドレスに対する保護を実現する。
【０１０５】
セグメントメディアファイルがキーフレーム間のメディアデータに基づきパッケージすることで取得される場合、プレーヤは、メディアファイルのメディア情報に基づき、メディアファイルにおける所定期間のメディアデータのオフセット量及び容量を決定する必要があり、さらに、セグメントメディアファイルをパッケージするように、オフセット量及び容量に基づきサーバにメディアデータを要求し、続いて、プレーヤがメディア情報を解析する方式について説明する。
【０１０６】
いくつかの実施例では、プレーヤは、設定されたオフセット量及び容量に基づき、サーバに設定されたオフセット量及び容量に対応するメディアファイルにおけるデータを要求し（即ち、固定容量のデータを要求する）、サーバによって返されたデータからメタデータ容器におけるメタデータを識別し、識別されたメタデータを解析し、メディアファイルのメディアデータ容器にパッケージされたメディアデータを説明するためのメディア情報を取得するという方式によって、メディアファイルからメディア情報を解析することができる。
【０１０７】
中では、設定された容量は現存のメディアファイルのファイルタイプ容器とメタデータ容器の容量に基づいて、統計して得たものであってよい。設定した容量が、設定比率（例えば、全部）のメディアファイルのファイルタイプ容器とメタデータ容器の容量の合計をカバーできるようにして、メディアファイルのパッケージ構造がファイルタイプ容器、メタデータ容器及びメディアデータ容器を順次にパッケージしたものである場合、一回の要求でメタデータ容器にパッケージされた完全なメディアデータを得られることを確保する。ネット伝送時のリンクに対する占用状況を節約し、さらにリンクを占用したことによって、ウェブページにおける非メディア再生サービスがリンクを使用できないことで応答遅延することを回避した。
【０１０８】
ＭＰ４ファイルをメディアファイルの例として、プレーヤが取得したメタデータ容器にパッケージされたメディアデータは、即ち、ＭＰ４ファイルにおけるｍｏｏｖ  ｂｏｘにパッケージされたバイナリデータである。ＭＰ４ファイルのパッケージ構造は、ｆｙｔｐ  ｂｏｘ、ｍｏｏｖ  ｂｏｘ及びｍｄａｔ  ｂｏｘを順次にパッケージしたものである場合、容量の設定は、既存のＭＰ４ファイルのｆｙｔｐ  ｂｏｘとｍｏｏｖ  ｂｏｘの容量に基づいて、統計して得たものであってよい。設定した容量が、設定比率（例えば、全部）のＭＰ４ファイルのｆｙｔｐ  ｂｏｘとｍｏｏｖ  ｂｏｘのバイナリデータの合計をカバーできるようにして、多くの場合において、一回でサーバから完全なバイナリデータを含めるｍｏｏｖ  ｂｏｘを要求して得られることを確保する。
【０１０９】
ある実施例では、プレーヤが、設定したオフセット量と容量によってサーバから要求したバイナリデータにおいて、ゼロバイトからのあるバイナリデータは、ファイルタイプ容器に対応する。プレーヤが、容器ヘッダを読み出すことでファイルタイプ容器の容量を得て、２番目の容器ヘッダを読み出すことで次の容器のタイプ及び容量を得る。２番目の容器のタイプがメタデータ容器であって、返信されたバイナリデータの容量がファイルタイプ容器の容量及びメタデータ容器の容量の合計以上である場合、設定したオフセット量と容量によってサーバから要求したバイナリデータには、メタデータ容器にパッケージされたメタデータを含めることを示す。２番目の容器のタイプが、メタデータ容器であって、返信されたバイナリデータの容量がファイルタイプ容器の容量及びメタデータ容器の容量の合計以下である場合、設定したオフセット量と容量によってサーバから要求したバイナリデータには、メタデータ容器にパッケージされたメタデータを含めていないことを示す。設定したオフセット量と容量によってサーバから要求したバイナリデータには、メタデータ容器にパッケージされたメタデータを含めていない場合、プレーヤは、サーバから返信されたバイナリデータから容器の容量を読み出して、メタデータ容器のヘーダに基づいてメタデータ容器のオフセット量と容量を計算する必要がある。サーバに対してメタデータを要求するために、計算して得たオフセット量と容量をネットワーク要求に携帯させる。サーバが要求に応じて、メディアファイルから計算して得たオフセットによってバイナリデータを読み出して、読み出したバイナリデータが計算した容量に合致する場合に、データをプレーヤへ返信する。
【０１１０】
例を挙げて説明する。プレーヤは、サーバから返信されたバイナリデータから容器の容量を読み出して、メタデータ容器のヘッダに基づいて、メタデータ容器のオフセット量と容量を計算する。以下の２つの場合に関する。
【０１１１】
状況１）残りのバイナリデータ（即ち、返信されたバイナリデータからファイルタイプ容器のバイナリデータを除いたデータ）から読み出した容器のタイプがメタデータであって、残りのバイナリデータの容量がメタデータ容器の容量以下である場合、初回要求したオフセット量と容量の合計を新しいオフセットとして、サーバに対して２回目のバイナリデータの要求を行う。
【０１１２】
状況２）残りのバイナリデータから読み出した容器のタイプがメディアデータ容器である場合、メディアデータ容器の容量とファイルタイプ容器の容量との合計を計算して新しいオフセットとして、サーバに対して２回目のバイナリデータの要求を行う。
【０１１３】
ＭＰ４ファイルをメディアファイルの例とする。プレーヤが、設定したオフセット量と容量によってサーバから請求したバイナリデータには、完全なｍｏｏｖ  ｂｏｘのバイナリデータを含めていない場合、プレーヤは、サーバから返信されたバイナリデータから容器のタイプと容量を読み出して、ｍｏｏｖ  ｂｏｘ  がＭＰ４ファイルにおけるオフセット量と容量を確定する必要がある。
【０１１４】
ＭＰ４ファイルのバイナリデータでは、開始のバイトはいつもｆｔｙｐ  ｂｏｘに対応する。返信されたバイナリデータからｆｔｙｐ  ｂｏｘのバイナリデータを識別して、ｆｔｙｐ  ｂｏｘのヘッダに基づいて長さを得ることができることで、残りのバイナリデータから、ヘッダの規定の長さに基づいて、次のｂｏｘのバイナリデータを読み出す。ヘッダが示す容器のタイプに基づいて、以下のいくつかの状況がある。
【０１１５】
１）残りのバイナリデータ（即ち、返信されたバイナリデータからｆｔｙｐ  ｂｏｘのバイナリデータを除いたデータ）から読み出した容器のタイプがｍｏｏｖ  ｂｏｘであって、残りのバイナリデータの容量がｍｏｏｖ  ｂｏｘの容量以上である場合、確定したシフトと容量に基づいて、サーバからＭＰ４ファイルにおけるｍｏｏｖ  ｂｏｘのオフセットを始まりとして、且つｍｏｏｖ  ｂｏｘがＭＰ４ファイルにおける容量に合致するＭＰ４ファイルの中のｍｏｏｖデータを取得する。
【０１１６】
２）残りのバイナリデータから読み出した容器のタイプがｍｏｏｖ  ｂｏｘであって、残りのバイナリデータの容量はｍｏｏｖ  ｂｏｘの容量以下である場合、ｍｏｏｖ  ｂｏｘの容量と残りのバイナリデータの容量との差を計算して２回目の請求の新な容量とし、初回の請求のオフセット量と容量の合計を２回目の請求の新たなオフセットとして、サーバに対して２回目のバイナリデータの要求を行う。
【０１１７】
３）残りのバイナリデータから読み出した容器のタイプがｍｄａｔ  ｂｏｘである場合、ｍｄａｔ  ｂｏｘの容量とｆｔｙｐ  ｂｏｘの容量の合計を計算して２回目の請求の新たなオフセットとして、設定した容量でサーバに対して２回目のバイナリデータの要求を行う。
【０１１８】
このように、メディアファイルがどのようなパッケージ構造であっても、即ち、メディアファイルにおいてファイルタイプ容器、メタデータ容器及びメディアデータ容器のパッケージ順番がどのようであっても、プレーヤが最大２回の要求でサーバからメタデータ容器におけるメタデータを取得できることを保障することができ、メタデータの取得効率を向上させる。
【０１１９】
例を挙げて説明する。ＭＰ４ファイルに対して、サーバから返信されたバイナリデータは、ＭＰ４ファイルのパッケージ規則によって、ゼロバイトからの１つのバイナリデータはｆｔｙｐ  ｂｏｘに対応する。一方、ｂｏｘのヘッダのパッケージ規則によって、ｆｔｙｐ  ｂｏｘのヘッダからｆｔｙｐ  ｂｏｘの容量（即ち、長さ）及び完全なＭＰ４ファイルの容量を読み出すことができる。仮に、ｆｔｙｐ  ｂｏｘの容量をａ（単位はバイト）とすると、ａ＋１から後続の容器のヘッダ情報を読み出して、後続の容器のタイプと容量を取得する。読み出して取得したｆｔｙｐ  ｂｏｘの後続がｍｏｏｖ  ｂｏｘであって、残りのバイナリデータの容量（設定容量−ｆｔｙｐ  ｂｏｘの容量）がｍｏｏｖ  ｂｏｘの容量以上であれば、ｍｏｏｖ  ｂｏｘの完全なバイナリデータを取得したことを示す。ｍｏｏｖ  ｂｏｘのオフセット量と容量に基づいて、残りのバイナリデータからｍｏｏｖ  ｂｏｘにおけるメタデータを取得することができる。
【０１２０】
続いて、プレーヤが取得されたメタデータ容器のバイナリデータに基づきメディア情報を解析する方式について説明し、プレーヤがサーバからメタデータ容器にパッケージされたメタデータを取得した後、いくつかの実施例では、プレーヤは、メタデータ容器のバイナリデータにおいて容器ヘッダの基準長さに対応するバイナリデータを順次解析し、前記メタデータ容器におけるサブ容器の容器タイプ、及び前記サブ容器の容器データの長さを取得し、前記サブ容器の容器タイプに対応するタイプのパーサーを呼び出し、解析されていないデータにおける前記容器データの長さに対応するバイナリデータを順次解析し、前記容器データの表したメディア情報を取得するという方式によって、取得されたメタデータを解析して、メディア情報を取得することができる。
【０１２１】
メディアファイルがＭＰ４ファイルであることを例として、メタデータ容器は、即ち、ｍｏｏｖ  ｂｏｘであり、図２に示すように、ｍｏｏｖ  ｂｏｘにｍｖｈｄ  ｂｏｘ及びｔｒａｃｋ  ｂｏｘがパッケージされ、ここで、ｍｖｈｄ  ｂｏｘのバイナリデータを解析することにより、ＭＰ４ファイルの作成時間、変更時間、時間メトリックスケール、再生可能時間長、デフォルト音量等の情報を取得することができる。ｍｏｏｖ  ｂｏｘには、複数のｔｒａｃｋ  ｂｏｘが含まれ、各メディアトラックの固有した説明情報が記録され、例えば、ビデオトラックｖｉｄｅｏ  ｔｒａｃｋ  ｂｏｘ、ｖｉｄｅｏ  ｔｒａｃｋ  ｂｏｘに複数のサブ容器が複数層ネスティングされ、ｖｉｄｅｏ  ｔｒａｃｋ  ｂｏｘのネスト構造に基づき、対応するバイナリデータを解析すると、ＭＰ４ファイルのビデオフレーム情報、及び対応する画面情報を取得する。
【０１２２】
ここで、プレーヤがメタデータ容器に複数のサブ容器がネスティングされる場合、毎回読み取ったバイナリデータのオフセット量は全て既に識別されたサブ容器長の加算であり、読み取ったバイナリデータの長さが容器ヘッダの基準長さに適応し、それにより現在処理しているサブ容器のタイプ及び長さを解析することができる。
【０１２３】
例えば、初めて読み取る場合、メタデータ容器のバイナリデータのゼロバイトからバイナリデータを読み取り始め、且つ読み取ったバイナリデータの長さは、容器ヘッダの基準長さに適応し、それにより、第１のサブ容器のタイプ及び長さを解析できる。２回目に読み取る場合、初回読み取ったサブ容器の長さをオフセット量とし、バイナリデータを読み取り始め、且つ読み取ったバイナリデータの長さは、容器ヘッダの基準長さに適応し、それにより、第２のサブ容器のタイプ及び長さを解析できる。
【０１２４】
上記の方法でバイナリデータを読み取ったら、読み取りすぎによるロールバックが発生せず、完全に読み取らないため再度読み取る場合もなく、解析効率及び正確度が保証される。
【０１２５】
いくつかの実施例では、メタデータ容器にネスティングされた典型的な容器タイプを予めマーキングし、容器がバイナリデータを直接的にパッケージするか又は容器をさらにパッケージするかを示すために用いられ、例えば、図２に示したｍｖｈｄ  ｂｏｘ、ａｕｄｉｏ  ｔｒａｃｋ  ｂｏｘ及びｖｉｄｅｏ  ｔｒａｃｋ  ｂｏｘ等に対して、容器をさらにパッケージするとマーキングし、図２に示したｓｔｔｓ  ｂｏｘ、ｓｔｓｄ  ｂｏｘ等に対して、バイナリデータを直接的にパッケージするとマーキングする。
【０１２６】
バイナリデータを直接的にパッケージするとマーキングする容器タイプについては、容器タイプと１対１で対応するパーサーを設置し、パーサーは、バイナリデータに基づき表されるメディア情報を解析するために用いられ、解析されたサブ容器の容器タイプと予めマーキングされた容器タイプを照合することは、下記のケース１）、及びケース２）が存在する。
【０１２７】
ケース１）照合により前記サブ容器の容器タイプが予めマーキングされ、且つバイナリデータを直接的にパッケージするために用いられると予めマーキングされるように決定すると、前記サブ容器の容器タイプに対応するパーサーを呼び出し、前記パーサーにより前記サブ容器における容器データを解析し、前記容器データの表したメディア情報を取得する。
【０１２８】
ケース２）照合により前記サブ容器の容器タイプが予めマーキングされ、且つ容器をパッケージし続けると予めマーキングされるように決定すると、前記メディアファイルにおける容器ヘッダの基準長さに基づき、前記サブ容器にパッケージされた容器の容器タイプが予めマーキングされ、且つバイナリデータを直接的にパッケージするために用いられると予めマーキングされることを解析するまで、前記サブ容器の対応するバイナリデータを再帰的に解析し、サブ容器にパッケージされた容器の容器タイプに対応するパーサーを呼び出し、バイト毎にバイナリデータを解析し、解析されたバイナリデータの長さが前記サブ容器にパッケージされた容器の容器データの長さに対応し、これにより前記サブ容器にパッケージされた容器の容器データの表したメディア情報を取得する。
【０１２９】
いくつかの実施例では、メタデータ容器を解析するプロセスにおいてメディア情報を記録する方式について説明し、メタデータ容器バイナリデータにおいて容器ヘッダの基準長さに対応するバイナリデータを順次解析し、前記メタデータ容器におけるサブ容器の容器タイプを取得する場合、サブ容器と属する容器との間のネスティング関係、及びサブ容器とパッケージされた容器とのネスティング関係に基づき、オブジェクトを確立し、サブ容器の容器タイプがバイナリデータを直接的にパッケージするために用いられると予めマーキングされる場合、前記サブ容器に対応して確立されたオブジェクトに、前記サブ容器の容器データによって表されるメディア情報を含む配列が記憶されている。
【０１３０】
例えば、図２において、解析されたサブ容器のタイプがｓｔｔｓ  ｂｏｘである場合、ｓｔｔｓ  ｂｏｘがバイナリデータを直接的にパッケージすると予めマーキングされるため、ｓｔｔｓ  ｂｏｘに対応して確立されたオブジェクトに、ｓｔｔｓ  ｂｏｘの容器データによって表される時間長情報であるメディア情報を含む配列が記憶されている。
【０１３１】
いくつかの実施例では、メタデータ容器を解析するプロセスにおいて、サブ容器間のネスティング関係を記録する方式について説明し、メタデータ容器バイナリデータにおいて容器ヘッダの基準長さに対応するバイナリデータを順次解析し、前記メタデータ容器におけるサブ容器の容器タイプを取得する場合、容器タイプがバイナリデータを直接的にパッケージすると予めマーキングされると、呼び出された前記パーサーに解析されたサブ容器を記録する。記録されたサブ容器の例を、前記サブ容器が属する容器に含まれ、前記サブ容器と属する容器との間のネスティング関係を記述するために用いられるサブ容器属性に設置する。
【０１３２】
例えば、図２において、解析されたサブ容器のタイプがｓｔｓｄ  ｂｏｘである場合、ｓｔｓｄ  ｂｏｘがバイナリデータを直接的にパッケージされると予めマーキングされるため、対応するｓｔｓｄ  ｂｏｘが対応するパーサーにｓｔｓｄ  ｂｏｘを記録し、ｓｔｓｄ  ｂｏｘの例をｓｔｂｌ  ｂｏｘサブ容器属性に設置し、これによって類推して、最後にｓｔｓｄ  ｂｏｘのサブ容器属性にｓｔｂｌ  ｂｏｘにネスティングされるｓｔｓｄ  ｂｏｘ、ｓｔｔｓ  ｂｏｘ、ｓｔｓｃ  ｂｏｘ等の複数のサブ容器が記録されている。
【０１３３】
いくつかの実施例では、照合によって前記サブ容器の容器タイプが予めマーキングされないか、又はバイナリデータを直接的にパッケージすると予めマーキングされるが、対応するタイプのパーサーが呼び出されないと決定する場合、サブ容器に対応するバイナリデータの解析を無視し、前記サブ容器の長さに基づき、前記バイナリデータにおいて次のサブ容器に対応する部分にジャンプして解析し続ける。
【０１３４】
実際の適用において、メディアファイルにカスタム容器タイプが現れ、ジャンプの方式によってメタデータ容器の全体的な解析進捗に影響しないとともに、パーサーを設置することによって、メタデータ容器の容器タイプが変化する場合、対応するタイプのパーサーの追加、削除、及び変更により、最新のメタデータ容器に対する互換解析を迅速に実現でき、アップグレードが柔軟で迅速であるという特徴を有する。
【０１３５】
ステップ７０３、前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達する。
【０１３６】
いくつかの実施例では、プレーヤが仮想アドレスを伝達する前に、メディアソース拡張インタフェースを呼び出してメディアソースオブジェクトに対応する仮想アドレスを作成する。例えば、プレーヤがメディアソース拡張インタフェースにパッケージされたｃｒｅａｔｅＯｂｊｅｃｔＵＲＬ方法を実行し、メディアソースオブジェクトに対応する仮想アドレス、即ち、仮想ＵＲＬを作成し、その中にＢｌｏｂタイプのセグメントメディアファイルがパッケージされている。
【０１３７】
プレーヤが構築されたセグメントメディアファイルをメディアソース拡張インタフェースにおけるメディアソースオブジェクトに追加した後、メディアソース拡張インタフェースを呼び出してメディアソースオブジェクトに対応する仮想アドレスを作成する。例えば、プレーヤがメディアソース拡張インタフェースにパッケージされたｃｒｅａｔｅＯｂｊｅｃｔＵＲＬ方法を実行し、メディアソースオブジェクトに対応する仮想アドレス、即ち、仮想ユニフォームリソースロケーター（ＵＲＬ、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を作成し、その中にＢｌｏｂタイプのセグメントメディアファイルがパッケージされている。
【０１３８】
また、プレーヤがＭｅｄｉａＳｏｕｒｃｅオブジェクトを仮想ＵＲＬのソース（ｓｒｃ）属性に設置し、つまり、仮想ＵＲＬをウェブページにおけるメディア要素、例えば、ｖｉｄｅｏ／ａｕｄｉｏ要素とバインディングし、このプロセスは、メディアソースオブジェクトをウェブページにおけるメディア要素に関連付けることとも呼ばれる。
【０１３９】
ステップ７０４、プレーヤが前記メディア要素を呼び出して前記仮想アドレスに関連するメディアソースオブジェクトを解析し、及び、関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行う。
【０１４０】
いくつかの実施例では、プレーヤが前記ウェブページのビデオ要素を呼び出して前記ソースバッファオブジェクトに追加されたビデオトラック及び字幕トラックを復号再生し、及び前記ウェブページのオーディオ要素を同期呼び出して前記ソースバッファオブジェクトに追加されたオーディオトラックを復号再生する。
【０１４１】
例えば、プレーヤがウェブページのメディア要素に仮想アドレスを伝達することについて、プレーヤには、メディア要素再生仮想ＵＲＬを呼び出す語句、例えば、＜ａｕｄｉｏ＞仮想ＵＲＬが含まれる。プレーヤにおいてウェブページのｖｉｄｅｏ要素及び／又はａｕｄｉｏ要素を呼び出すコードがブラウザによって解釈実行される場合、ウェブページのｖｉｄｅｏ要素が仮想アドレスのソースバッファオブジェクトにおけるビデオトラックを読み取り復号再生を行うとともに、字幕トラックを同期的に表示し、同時に、ａｕｄｉｏ要素が仮想アドレスのソースバッファオブジェクトにおけるオーディオトラックを読み取り復号再生を行う。読み取られたオーディオトラック、ビデオトラック及び字幕トラックが同一ソースバッファオブジェクトにあるため、ビデオとオーディオとの同期を実現できる。
【０１４２】
続いて、プレーヤがウェブページのｖｉｄｅｏ要素及びａｕｄｉｏ要素を用いてＭＰ４ファイルを再生することを例とし、本開示の実施例のメディアファイルの同期再生方法について説明し、ＭＰ４の実施に基づき、他の非ストリーミングメディアフォーマットに容易に適用できる。図１０は本開示の実施例にて提供されるメディアファイルの同期再生方法の１つの好ましいフローチャートを示し、図１０に示すように、本開示の実施例にて提供されるメディアファイルの同期再生方法は、ステップ１００１〜ステップ１００９を含む。
【０１４３】
ステップ１００１、プレーヤは、設定されたオフセット量及び容量に基づき、サーバに固定容量のＭＰ４ファイルにおけるデータを要求する。
【０１４４】
プレーヤは、設定されたオフセット量及び容量が携帯されたデータ要求をサーバに送信することにより、ＭＰ４ファイルにおけるゼロバイトから始め、且つ設定容量に適応するバイナリデータを取得する。ＭＰ４ファイルのパッケージ構造が順次パッケージされたｆｙｔｐ  ｂｏｘ、ｍｏｏｖ  ｂｏｘ及びｍｄａｔ  ｂｏｘを含むことを例とし、設定容量は、既存のＭＰ４ファイルのｆｔｙｐ  ｂｏｘ及びｍｏｏｖ  ｂｏｘ容量に基づき統計されるものであってもよく、設定容量が設定された割合（例えば、全て）のＭＰ４ファイルのｆｔｙｐ  ｂｏｘとｍｏｏｖ  ｂｏｘとの加算をカバーすることを可能にし、サーバから完全なｍｏｏｖ  ｂｏｘバイナリデータを一回に要求できることを確保する。一回の要求によって完全なｍｏｏｖデータが取得されないと、オフセット量及び容量を新たに算出し、さらに二回目の要求を行う。
【０１４５】
ステップ１００２、プレーヤは、サーバによって返されたデータを受信するとともに、サーバによって返されたデータからＭＰ４ファイルのメディア情報を識別する。
【０１４６】
ＭＰ４ファイルのメディア情報は、ＭＰ４ファイルにおけるビデオ／オーディオフレームのオフセット量、容量、復号時間等の情報を含む。
【０１４７】
いくつかの実施例では、プレーヤは、サーバによって返されたデータからｆｙｔｐ  ｂｏｘのバイナリデータを識別するとともに、残りのバイナリデータから容器のタイプ及び容量を読み取り、読み取られた容器のタイプがｍｏｏｖ  ｂｏｘであり、且つ残りのバイナリデータの容量がｍｏｏｖ  ｂｏｘの容量よりも小さくない場合、残りのバイナリデータからメディア情報を解析するという方式によって、ＭＰ４ファイルのメディア情報の識別を実現できる。ここで、サーバによって返されたバイナリデータに対して、最初の部分のバイナリデータが必ずｆｔｙｐ  ｂｏｘに対応して、ｆｔｙｐ  ｂｏｘのパッケージ仕様に基づき、ｆｔｙｐ  ｂｏｘの容量（即ち長さ）及び完全なＭＰ４ファイルの容量を読み取ることができ、例えば、ｆｔｙｐ  ｂｏｘの容量はａ（単位はバイトである）である場合、ａ＋１から後続の容器のヘッダ情報を読み取り、容器のタイプ及び容量を取得し、ｍｏｏｖ  ｂｏｘであり、且つ（設定容量−ｆｔｙｐ  ｂｏｘの容量）がｍｏｏｖ  ｂｏｘの容量よりも大きい場合、既にｍｏｏｖ  ｂｏｘの完全なバイナリデータを取得したことを示し、パッケージ構造に基づきバイナリデータを解析し、メディア情報を復元してもよい。
【０１４８】
いくつかの実施例では、サーバによって返されたバイナリデータには、完全なｍｏｏｖデータが含まれていない場合、取得されたバイナリデータから容器の容量を読み取り、ＭＰ４ファイルにおけるｍｏｏｖ  ｂｏｘのオフセット量及び容量を決定し、決定されたオフセット量及び容量に基づき、残りのバイナリデータから読み取った容器のタイプがｍｏｏｖ  ｂｏｘであり、且つ残りのバイナリデータの容量がｍｏｏｖ  ｂｏｘの容量よりも小さくない場合、サーバからＭＰ４ファイルにおける、ＭＰ４ファイルにおけるｍｏｏｖ  ｂｏｘのオフセット量を開始とし、且つＭＰ４ファイルにおけるｍｏｏｖ  ｂｏｘの容量に適応するｍｏｏｖデータを取得し、残りのバイナリデータから読み取った容器のタイプがｍｏｏｖ  ｂｏｘであり、且つ残りのバイナリデータの容量がｍｏｏｖ  ｂｏｘの容量よりも小さい場合、ｍｏｏｖ  ｂｏｘの容量と残りのバイナリデータ容量との差を算出して二回目に要求された新たな容量とし、初回に要求されたオフセット量と容量との加算を新たなオフセット量とし、サーバにバイナリデータを２回目に要求する。
【０１４９】
実際の適用において、ＭＰ４ファイルのパッケージ構造が順次パッケージされたｆｙｔｐ  ｂｏｘ、ｍｄａｔ  ｂｏｘ、ｍｏｏｖ  ｂｏｘである場合があり、残りのバイナリデータから読み取った容器のタイプがｍｄａｔ  ｂｏｘである場合、ｍｄａｔ  ｂｏｘの容量とｍｏｏｖ  ｂｏｘ容量との加算を算出して二回目に要求された新たな容量とし、設定容量でサーバにバイナリデータを２回目に要求する。
【０１５０】
ステップ１００３、プレーヤがウェブページによってＭＰ４ファイルを再生するプロセスにおいて、識別されたメディア情報及び現在の再生ポイントに基づきＭＰ４ファイルにおける２つのキーフレームを定位する。
【０１５１】
本開示の実施例では、プレーヤは、２つのキーフレーム間のメディアデータ（少なくともビデオデータを含み、さらにオーディオデータを含んでもよい）をロードユニットとして再生し、即ち、プレーヤは、２つのキーフレーム間のメディアデータをロードすることでＭＰ４ファイルを再生し、２つのキーフレーム間に通常のフレームのみが存在してもよく、即ち、２つのキーフレームが隣接するキーフレームであり、２つのキーフレーム間に他のキーフレームが存在してもよい。
【０１５２】
ジャンプの方式によってＭＰ４ファイルの再生ポイントに到達することを例として説明し、プレーヤは、第１キーフレームを、ＭＰ４ファイルにおいて復号時間が再生ポイントの前にある最初のキーフレームに定位し、第２キーフレームを、ＭＰ４ファイルにおいて復号時間が第１キーフレームよりも遅いキーフレームに定位する。ここで、再生ポイントの対応するメディアファイルのビデオフレームは、通常のフレーム又はキーフレームという２つの場合を含み、再生ポイントの対応するビデオフレームがちょうどキーフレームである場合、ＭＰ４ファイルにおいて復号時間が再生ポイントの前にある最初のキーフレームは、即ち、再生ポイントの対応するキーフレームであり、つまり、この時、プレーヤに要求されたメディアデータにおける第１キーフレームが即ち、再生ポイントの対応するキーフレームである。
【０１５３】
プレーヤがＭＰ４ファイルにおける２つのキーフレームを定位することは、識別されたメディア情報及び現在の再生ポイントに基づき上記した第１キーフレーム及び第２キーフレームのオフセット量及び容量を決定し、さらにオフセット量及び容量に基づきサーバに第１キーフレーム及び第２キーフレームの間のメディアデータを要求する。
【０１５４】
ステップ１００４、サーバに定位された２つのキーフレーム間のメディアデータを要求する。
【０１５５】
実際に実施される場合、プレーヤは、サーバにネットワーク要求を送信することにより、ＭＰ４ファイルにおける定位された２つのキーフレーム間のメディアデータを要求し、ネットワーク要求には、２つのキーフレームの対応する目標区間のオフセット量及び容量が携帯されている。
【０１５６】
ここで、プレーヤは、ＭＰ４ファイルにおける第１キーフレーム及び第２キーフレームの間のビデオフレームのオフセット量及び容量によって、ビデオフレームがｍｄａｔにある位置を定位し、ＭＰ４ファイルにおけるビデオフレームに合わせたオーディオフレームのオフセット量及び容量によって、オーディオフレームがｍｄａｔにある位置を定位し、位置上限及び下限によって形成される区間を目標区間とし、位置上限の対応するオフセット量及び容量を目標区間の上限の対応するオフセット量及び容量とし、位置下限の対応するオフセット量及び容量を目標区間の下限の対応するオフセット量及び容量とする。
【０１５７】
ステップ１００５、プレーヤは、サーバにＭＰ４ファイルにおける前記２つのキーフレーム間のメディアデータを要求する。
【０１５８】
ステップ１００６、プレーヤは、サーバによって返された対応するメディアデータを受信する。
【０１５９】
ステップ１００７、プレーヤは、抽出されたメディアデータに基づきＦＭＰ４フォーマットのセグメントメディアファイルを構築する。
【０１６０】
実際に実施される場合、プレーヤは、メディアデータのメディア情報に基づきセグメントメディアファイルレベルのメタデータを算出し、続いてＦＭＰ４フォーマットのセグメントメディアファイルのパッケージフォーマットに基づき、セグメントメディアファイルレベルのメタデータ及びメディアデータを充填した後、ＦＭＰ４フォーマットのセグメントメディアファイルを取得する。
【０１６１】
ステップ１００８、プレーヤは、セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加する。
【０１６２】
ここで、前記セグメントメディアファイルにおける異なるトラックは、（ａ）ビデオトラック及びオーディオトラック、（ｂ）ビデオトラック、オーディオトラック及び字幕トラックを含む。
【０１６３】
ステップ１００９、プレーヤは、前記メディア要素を呼び出して前記仮想アドレスに関連するメディアソースオブジェクトを解析し、関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行う。
【０１６４】
仮想アドレスは、メディア要素（ｖｉｄｅｏ要素＋ａｕｄｉｏ要素）にメディアソースオブジェクトをデータソースとしてビデオ再生を行わせるために用いられる。
【０１６５】
以上説明したように、本開示の実施例は、下記の有益な効果を有する。
【０１６６】
１）非ストリーミングメディアフォーマットのメディアファイルにおけるメディアデータから変換されたセグメントメディアファイルを、ウェブページのメディアソース拡張インタフェースを介して、ウェブページのメディア要素に送信して復号再生を行い、ウェブページによって非ストリーミングメディアフォーマットのメディアファイルを再生することを実現し、非ストリーミングメディアパッケージフォーマットのファイルが完全にダウンロードされなければ独立して再生できないという制限を解除する。
【０１６７】
２）メディアデータがフロントエンドウェブページのプレーヤでセグメントメディアファイルへの変換を完了し、バックグラウンドサーバにとって、異なる解像度のメディアファイルを記憶する必要があるが、セグメントメディアファイルがサーバ側で予め記憶されることを必要とせず、メディアファイルの少ない記憶スペース占有方式による再生を実現する。
【０１６８】
３）セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加することにより、異なるトラックを同期再生させ、従来技術がメディアソース拡張インタフェースで再生したメディアファイルの音声及び画面が同期しないという欠陥を解消する。
【０１６９】
図１１は、本開示の実施例にて提供されるメディアファイルの同期再生方法の１つの好ましい実施シーン概略図であり、図１１に示すように、本開示の実施例にて提供されるメディアファイルの同期再生装置５００がユーザ端末１０に実施されてもよく、１つの例示的な適用へのサポートを実現するために、ユーザ端末１０（例示的にユーザ端末１０−１及びユーザ端末１０−２を示す）は、ネットワーク２０によってサーバ３０に接続され、ネットワーク２０は、広域エリアネットワーク又はローカルエリアネットワーク、又は両方の組み合わせであってもよく、ワイヤレスリンクでデータ伝送を実現する。
【０１７０】
ユーザ端末１０は、プレーヤが埋め込まれたウェブページによってメディアファイルを再生するとともに、グラフィカルインタフェース１１０（例示的にグラフィカルインタフェース１１０−１及びグラフィカルインタフェース１１０−２を示す）によって再生されたコンテンツを表示し、再生プロセスにおいて、ユーザ端末１０は、ウェブページに埋め込まれたプレーヤによって、前記ウェブページにおける再生ウィンドウに対応する、サーバ３０から取得されたメディアソースオブジェクトを作成し、セグメントメディアファイルにおける異なるトラックを、前記メディアソースオブジェクトにおける同一ソースバッファオブジェクトに追加し、前記メディアソースオブジェクトをデータソースとする仮想アドレスを前記ウェブページのメディア要素に伝達し、前記メディア要素を呼び出して前記仮想アドレスに関連するメディアソースオブジェクトを解析し、及び、関連するメディアソースオブジェクトのソースバッファオブジェクトにおけるトラックを読み取るとともに、復号再生を行う。
【符号の説明】
【０１７１】
20  ネットワーク
30  サーバ
500  メディアファイル再生装置
501  プロセッサ
502  メモリ
503  ユーザインタフェース
504  ネットワークインタフェース
600  メディアファイル再生装置
601  メディアソース作成モジュール
602  メディアソース伝達モジュール
603  メディアソース再生モジュール
5021  オペレーティングシステム
5022  アプリケーション
【図１】
2021510047.tif 000003
【図２】
2021510047.tif 000004
【図３】
2021510047.tif 000005
【図４】
2021510047.tif 000006
【図５】
2021510047.tif 000007
【図６】
2021510047.tif 000008
【図７】
2021510047.tif 000009
【図８】
2021510047.tif 000010
【図９】
2021510047.tif 000011
【図１０】
2021510047.tif 000012
【図１１】
2021510047.tif 000013
【国際調査報告】
2021510047.tif 000014
2021510047.tif 000015
2021510047.tif 000016
2021510047.tif 000017