【誤訳訂正書】
【提出日】令和3年6月23日(2021.6.23)
【誤訳訂正１】
【訂正対象書類名】特許請求の範囲
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【特許請求の範囲】
【請求項１】
ウェブページで再生しているメディアファイルの二つのキーフレームに基づいて、非ストリームメディアフォーマットの前記メディアファイル内のメディアデータの一部を取得することと、
前記二つのキーフレームの間のメディアデータに基づいて、セグメント化メディアファイルを構築することと、
構築されたセグメント化メディアファイルを、メディアリソース拡張インタフェースのメディアソースオブジェクトに添加することと、
前記ウェブページのメディア要素に、前記メディアソースオブジェクトをデータソースとして再生させるための仮想アドレスを伝達することと、
を含み、
前記した前記メディアファイル内のメディアデータの一部を取得することは、
前記メディアファイルから識別されたメディア情報に基づいて、前記二つのキーフレームの間のビデオフレームの、前記メディアファイルにおけるオフセット及び容量、及び前記ビデオフレームに合わせるオーディオフレームの、前記メディアファイルにおけるオフセット及び容量を確定することと、
確定されたオフセット及び容量に基づいて、前記ビデオフレーム及び前記オーディオフレームを含む目標区間のオフセット及び容量を確定することと、
前記目標区間のオフセット及び容量に基づいて、前記メディアファイルのメディアデータコンテナ内の、前記セグメント化メディアファイルを構築するためのメディアデータを取得することと、
を含み、
設定されたオフセット及び容量に基づいて、前記メディアファイル内のメタデータを取得することと、
取得された前記メタデータから、前記メディアファイルにおける前記メディアデータのオフセット及び容量を位置決めるためのメディア情報を識別することと、
をさらに含み、
取得された前記メタデータから完全なメディア情報を識別できなかったとき、メタデータコンテナのヘッダに基づいて、メタデータコンテナのオフセット及び容量を算出することと、
算出した前記メタデータコンテナのオフセット及び容量に基づいて、前記メタデータコンテナ内のメタデータを取得することと、
取得された前記メタデータコンテナ内のメタデータから、対応するメディア情報を識別することと、
をさらに含む
非ストリームメディアファイルのウェブページ再生方法。
【請求項２】
連続再生することで前記メディアファイルの再生ポイントに到着した場合、
前記二つのキーフレームの第１キーフレームは、前記メディアファイルにおける復号時間が前記再生ポイントよりも後にある第１のキーフレームであり、
前記二つのキーフレームの第２キーフレームは、前記メディアファイルにおける復号時間が前記第１キーフレームよりも遅れるキーフレームである、請求項１に記載の方法。
【請求項３】
ジャンプすることで前記メディアファイルの再生ポイントに到着した場合、
前記二つのキーフレームの第１キーフレームは、前記メディアファイルにおける復号時間が前記再生ポイントよりも前にある第１のキーフレームであり、
前記二つのキーフレームの第２キーフレームは、前記メディアファイルにおける復号時間が前記第１キーフレームよりも遅れるキーフレームである、請求項１に記載の方法。
【請求項４】
前記した前記二つのキーフレームの間のメディアデータに基づいて、セグメント化メディアファイルを構築することは、
前記二つのキーフレームの間のメディアデータに対応するメディア情報に基づいて、対応するセグメント化メディアファイルレベルのメタデータを算出することと、
算出したメタデータ、及び前記二つのキーフレームの間のメディアデータを、セグメント化メディアファイルのカプセル化フォーマットに従って充填して、対応するセグメント化メディアファイルを取得することと、
を含む、請求項１から３のいずれか１項に記載の方法。
【請求項５】
ウェブページで再生しているメディアファイルの二つのキーフレームに基づいて、前記メディアファイル内の非ストリームメディアフォーマットのメディアデータの一部を取得するように配置されている取得ユニットと、
前記二つのキーフレームの間のメディアデータに基づいて、セグメント化メディアファイルを構築するように配置されている構築ユニットと、
構築されたセグメント化メディアファイルを、メディアリソース拡張インタフェースのメディアソースオブジェクトに添加するように配置されている添加ユニットと、
前記ウェブページのメディア要素に、前記メディアソースオブジェクトをデータソースとして再生させるための仮想アドレスを伝達するように配置されている伝送ユニットと、
を含み、
前記取得ユニットは、さらに
前記メディアファイルから識別されたメディア情報に基づいて、前記二つのキーフレームの間のビデオフレームの、前記メディアファイルにおけるオフセット及び容量、及び前記ビデオフレームに合わせるオーディオフレームの、前記メディアファイルにおけるオフセット及び容量を確定し、
確定されたオフセット及び容量に基づいて、前記ビデオフレーム及び前記オーディオフレームを含む目標区間のオフセット及び容量を確定し、
前記目標区間のオフセット及び容量に基づいて、前記メディアファイルのメディアデータコンテナ内の、前記セグメント化メディアファイルを構築するためのメディアデータを取得するように配置され、
前記取得ユニットは、さらに、
設定されたオフセット及び容量に基づいて、前記メディアファイル内のメタデータを取得し、
取得された前記メタデータから、前記メディアファイルにおける前記メディアデータのオフセット及び容量を位置決めるためのメディア情報を識別するように配置され、
前記取得ユニットは、さらに、
取得された前記メタデータから完全なメディア情報を識別できなかったとき、メタデータコンテナのヘッダに基づいて、メタデータコンテナのオフセット及び容量を算出し、
算出した前記メタデータコンテナのオフセット及び容量に基づいて、前記メタデータコンテナ内のメタデータを取得し、
取得された前記メタデータコンテナ内のメタデータから、対応するメディア情報を識別するように配置されている
非ストリームメディアファイルのウェブページ再生装置。
【請求項６】
連続再生することで前記メディアファイルの再生ポイントに到着した場合、
前記二つのキーフレームの第１キーフレームは、前記メディアファイルにおける復号時間が前記再生ポイントよりも後にある第１のキーフレームであり、
前記二つのキーフレームの第２キーフレームは、前記メディアファイルにおける復号時間が前記第１キーフレームよりも遅れるキーフレームである、請求項５に記載の装置。
【請求項７】
ジャンプすることで前記メディアファイルの再生ポイントに到着した場合、
前記二つのキーフレームの第１キーフレームは、前記メディアファイルにおける復号時間が前記再生ポイントよりも前にある第１のキーフレームであり、
前記二つのキーフレームの第２キーフレームは、前記メディアファイルにおける復号時間が前記第１キーフレームよりも遅れるキーフレームである、請求項５に記載の装置。
【請求項８】
前記構築ユニットは、さらに、
前記二つのキーフレームの間のメディアデータに対応するメディア情報に基づいて、対応するセグメント化メディアファイルレベルのメタデータを算出し、
算出したメタデータ、及び前記二つのキーフレームの間のメディアデータを、セグメント化メディアファイルのカプセル化フォーマットに従って充填して、対応するセグメント化メディアファイルを取得するように配置されている、請求項５から７のいずれか１項に記載の装置。
【請求項９】
実行可能な指令を記憶するように配置されているメモリと、
前記メモリに記憶された実行可能な指令を実行するとき、請求項１から４のいずれか１項に記載された非ストリームメディアファイルのウェブページ再生方法を実現するように配置されているプロセッサと、
を含む非ストリームメディアファイルのウェブページ再生装置。
【請求項１０】
実行されるときに請求項１から４のいずれか１項に記載された非ストリームメディアファイルのウェブページ再生方法を実現させるための実行可能な指令を記憶したコンピュータで読み取り可能な記憶媒体。
【誤訳訂正２】
【訂正対象書類名】明細書
【訂正対象項目名】全文
【訂正方法】変更
【訂正の内容】
【発明の詳細な説明】
【発明の名称】非ストリームメディアファイルのウェブページ再生方法、装置及び記憶媒体
【技術分野】
【０００１】
関連出願の取り込み
本出願は、２０１８年０５月２９日付で出願された中国専利出願（出願番号２０１８１０５３２８４９．１）に基づくものであり、該中国専利出願の優先権を主張し、その内容をここに参照として取り込んでいる。
【０００２】
本開示は、メディア再生技術に関し、具体的に非ストリームメディアファイルのウェブページ再生方法、装置及び記憶媒体に関する。
【背景技術】
【０００３】
ウェブページは、メディアファイルを再生するとき、現在の再生ポイントから終了時間までの全てのメディアデータをロードするまで、現在の再生ポイントを基にして後続のメディアデータをプリロードする。
【０００４】
再生ポイントがジャンプされるとき、多様なウェブページのローディングストラテジー（ｌｏａｄｉｎｇ  ｓｔｒａｔｅｇｙ）に応じて、一部のウェブページが新たな再生ポイントに基づいて改めてプリロードするが、一部のウェブページが既に取得したメディアデータと重複する可能性もある。
【０００５】
実際に、ユーザはメディアファイルを再生中に再生進度のジャンプを行うことが多いため、従来技術のどのローディングストラテジーを採用しても、プリロードされたメディアデータが流量や帯域幅を無駄に消耗してしまうため、ウェブページにおける他のサービスに遅延が生じることになる。
【発明の概要】
【課題を解決するための手段】
【０００６】
以上を鑑みると、本開示の実施例は、流量や帯域幅を無駄に消耗することを回避でき、ウェブページにおける他のサービスのリアルタイム性能を確保できる非ストリームメディアファイルのウェブページ再生方法、装置及び記憶媒体を提供する。
【０００７】
本開示の実施例の技術は以下のように実現される：
第１の側面において、本開示の実施例は非ストリームメディアファイルのウェブページ再生方法を提供する。該方法は、
ウェブページで再生しているメディアファイルの二つのキーフレームに基づいて、非ストリームメディアフォーマットの前記メディアファイル内のメディアデータの一部を取得することと、
前記二つのキーフレームの間のメディアデータに基づいて、セグメント化メディアファイルを構築することと、
構築されたセグメント化メディアファイルを、メディアリソース拡張インタフェースのメディアソースオブジェクトに添加することと、
前記ウェブページのメディア要素に、前記メディアソースオブジェクトをデータソースとして再生させるための仮想アドレスを伝達することと、
を含む。
【０００８】
第２の側面において、本開示の実施例は非ストリームメディアファイルのウェブページ再生装置を提供する。該装置は、
ウェブページで再生しているメディアファイルの二つのキーフレームに基づいて、非ストリームメディアフォーマットの前記メディアファイル内のメディアデータの一部を取得するように配置されている取得ユニットと、
前記二つのキーフレームの間のメディアデータに基づいて、セグメント化メディアファイルを構築するように配置されている構築ユニットと、
構築されたセグメント化メディアファイルを、メディアリソース拡張インタフェースのメディアソースオブジェクトに添加するように配置されている添加ユニットと、
前記ウェブページのメディア要素に、前記メディアソースオブジェクトをデータソースとして再生させるための仮想アドレスを伝達するように配置されている伝送ユニットと、
を含む。
【０００９】
第３の側面において、本開示の実施例は非ストリームメディアファイルのウェブページ再生装置を提供する。該装置は、
実行可能な指令を記憶するように配置されているメモリと、
前記実行可能な指令を実行するとき、本開示の実施例の非ストリームメディアファイルのウェブページ再生方法を実現するように配置されているプロセッサと、
を含む。ここで、実行可能な指令は、インストールパッケージ、プログラム、コード、プラグイン、ライブラリ（動的／静的ライブラリ）であってもよい。
【００１０】
第４の側面において、本開示の実施例は記憶媒体を提供する。該記憶媒体は、実行されるときに本開示の実施例に係る非ストリームメディアファイルのウェブページ再生方法を実現するための実行可能な指令を記憶する。
【００１１】
本開示の上記実施例を適用することで以下の効果が得られる。
【００１２】
１）、プレーヤは、メディアファイル内の二つのキーフレームの間のメディアデータの一部を取得して、セグメント化メディアファイルを構築して再生することで、メディアファイルを再生する期間にメディアデータのロードに対する制御を実現し、流量や帯域幅を無駄に消耗することを回避する。
【００１３】
２）、非ストリームメディアフォーマットのメディアファイル内のメディアデータを、セグメント化メディアファイルに変換し、ウェブページのメディアソース拡張インタフェースを通じて、ウェブページのメディア要素へ発送して復号し再生させることで、非ストリームメディアフォーマットのメディアファイルをウェブページによって再生することを実現し、非ストリームメディアカプセル化フォーマットのファイルを完全にダウンロードしてなければ独立に再生できないという制限を克服する。
【００１４】
３）、カプセル化して得たセグメント化メディアファイルは、メディアファイルの全てのメディアデータではなく、取得したメディアファイルの一部のメディアデータに基づくものであるため、変換遅延が小さく、予め記憶する必要がなく、元のメディアファイル以外に、添加的な記憶空間を占用しないため、記憶空間への占用を顕著に低減する。
【００１５】
４）、ウェブページにおけるメディア要素は、メディアファイルの実アドレスに基づいてメディアデータを取得してから再生するものではなく、メディアソース拡張インタフェースを介してセグメント化メディアファイルを取得して復号再生するため、メディアファイルの実アドレスの保護を実現する。
【図面の簡単な説明】
【００１６】
【図１】図１は、本開示の実施例に係るコンテナの選択可能な構造の一つの模式図である。
【図２】図２は、本開示の実施例に係るＭＰ４ファイルの選択可能なカプセル化構造の一つの模式図である。
【図３】図３は、本開示の実施例に係るメディアファイルにおけるメディアデータコンテナにメディアデータを記憶する構造の模式図である。
【図４】図４は、本開示の実施例に係るセグメント化ＭＰ４ファイルの選択可能なカプセル化構造の一つの模式図である。
【図５】図５は、本開示の実施例に係るメディア再生のローディング制御システムのアーキテクチャの模式図である。
【図６】図６は、本開示の実施例に係る非ストリームメディアファイルのウェブページ再生装置の組成構造の模式図一である。
【図７】図７は、本開示の実施例に係る非ストリームメディアファイルのウェブページ再生方法のフローチャートの模式図一である。
【図８】図８は、本開示の実施例に係るセグメント化メディアファイルをカプセル化するフローチャートの模式図である。
【図９】図９は、本開示の実施例に係るプレーヤがウェブページのメディアソース拡張インタフェースによってセグメント化メディアファイルを再生する模式図である。
【図１０】図１０は、本開示の実施例に係るＭＰ４ファイルをＦＭＰ４ファイルに変換してメディアソース拡張インタフェースによって再生する模式図である。
【図１１】図１１は、本開示の実施例に係る非ストリームメディアファイルのウェブページ再生方法のフローチャートの模式図二である。
【図１２】図１２は、本開示の実施例に係る非ストリームメディアファイルのウェブページ再生方法のフローチャートの模式図三である。
【図１３】図１３は、本開示の実施例に係る非ストリームメディアファイルのウェブページ再生装置の組成構造の模式図二である。
【発明を実施するための形態】
【００１７】
以下、図面及び実施例を参照して、本開示をさらに詳しく説明する。ここで提供する実施例は、本開示の解釈のために過ぎず、本開示を限定するものではないと理解される。また、以下に提供する実施例は、本開示を実施するための一部の実施例であり、本開示の全ての実施例を提供するものではない。衝突が生じない場合、本開示の実施例に記載される形態は、任意に組み合わせた形態で実施することができる。
【００１８】
なお、本開示の実施例において、用語「備える」、「含める」又はその何の他の変化物は、非排他的な含有を意図することで、一連の要素を備えた方法又は装置が、明確に記載された要素だけではなく、明確に挙げられていない他の要素をも備え、或いは、方法又は装置を実施するために固有の要素をも備える。更なる制限がない限り、「…を備える」という語句で限定されている要素は、該要素を備える方法又は装置において他の関連要素（例えば、方法のステップ又は装置のユニット、例えばユニットが一部の電気回路、一部のプロセッサ、一部のプログラム又はソフトウェア等であってもよい）も存在することを除外していない。
【００１９】
例えば、本開示の実施例が提供する非ストリームメディアファイルのウェブページ再生方法は、一連のステップを含んでいるが、本開示の実施例が提供する非ストリームメディアファイルのウェブページ再生方法は、記載されたステップに限らず、同様に、本開示の実施例が提供する非ストリームメディアファイルのウェブページ再生装置は、一連のユニットを備えているが、本開示の実施例が提供するウェブページに基づくメディアファイルの再生装置は、明確に記載されたユニットを備えることに限らず、関連情報を取得するために、或いは、情報に基づいて処理を行うときに必要となるユニットを備えてもよい。
【００２０】
本明細書で使用される技術や科学用語は、特に断りがない限り、本開示の技術分野に属する当業者に通常理解されるものと同義である。本明細書において使用される用語は、具体的な実施例を説明するためのものであり、本開示を限定する主旨ではない。
【００２１】
本開示の実施例をさらに詳しく説明する前に、本開示の実施例に係る名詞及び用語を説明する。本開示の実施例に係る名詞及び用語は、以下のような解釈を適用する。
【００２２】
１）メディアファイルは、コンテナ（ボックス、箱とも呼ぶ）という形式で符号化されたメディアデータ（例えば、オーディオデータ及びビデオデータの少なくとも一種）を記憶するファイルである。メディアファイルには、メディアデータを記述するメタデータをさらに含む。メディアデータには、メディアデータが正確的に復号されることを確保するメディア情報が担持されている。
【００２３】
例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）−４というカプセル化フォーマットでマルチメディアデータをカプセル化することで形成されるメディアファイルは、ＭＰ４ファイルという。典型的には、ＭＰ４ファイルには、ＡＶＣ（Ａｄｖａｎｃｅｄ Ｖｉｄｅｏ Ｃｏｄｉｎｇ、即ちＨ.２６４）又はＭＰＥＧ-４（Ｐａｒｔ２）標準に符合化されたビデオデータ及びＡＡＣ（Ａｄｖａｎｃｅｄ Ａｕｄｉｏ Ｃｏｄｉｎｇ）標準に符合化されたオーディオデータが格納されており、もちろんビデオとオーディオの他の符号化方式を除外しない。
【００２４】
２）コンテナ（ボックス）は、箱とも呼ばれ、唯一の類別識別子と長さで定義される、オブジェクト向けの成分（ｃｏｍｐｏｎｅｎｔ）である。図１は、本開示の実施例に係るコンテナの選択可能な構造の模式図である。図１を参照して、コンテナには、コンテナヘッダ（ボックスヘッダ）及びコンテナデータ（ボックスＤａｔａ）が含まれ、各種情報を表現するためのバイナリデータが充填されている。
【００２５】
コンテナヘッダは、コンテナが占用する記憶空間の大きさ（本明細書で「容量」又は「長さ」とも称する）を示す容量（ｓｉｚｅ）、及びコンテナの種類を示すタイプ（ｔｙｐｅ）を含む。図２は、本開示の実施例に係るＭＰ４ファイルの選択可能なカプセル化構造の模式図である。図２を参照して、ＭＰ４ファイルには、ファイルタイプコンテナ（ｆｔｙｐ ｂｏｘ）、メタデータコンテナ（ｍｏｏｖ ｂｏｘ）及びメディアデータコンテナ（ｍｄａｔ ｂｏｘ）という三つの基本的なコンテナタイプを含む。
【００２６】
コンテナデータ部は、具体的なデータを記憶することができ、このときのコンテナが「データコンテナ」と呼ばれる。コンテナデータ部は別の種類のコンテナをさらにカプセル化することができ、このときのコンテナが「コンテナのコンテナ」と呼んでもよい。
【００２７】
３）トラック（Ｔｒａｃｋ）は、ストリーム（Ｓｔｒｅａｍ）とも言う。メディアデータコンテナにおいて時間順にソートする相関のサンプル（Ｓａｍｐｌｅ）である。メディアデータにおいては、トラックが一つのビデオフレーム系列又は一つのオーディオフレーム系列を表し、ビデオフレーム系列に同期した字幕トラックを含んでもよい。同一のトラックにおける一組の連続するサンプルはチャンク（Ｃｈｕｎｋ）と呼ばれる。
【００２８】
４）ファイルタイプのコンテナは、メディアファイルにおいてファイルの容量（即ち、占用するバイトの長さ）やタイプを格納するためのコンテナである。図２に示すように、ファイルタイプのコンテナに格納されるバイナリデータが、コンテナの種類及び容量を標準バイト長さに従って記述する。
【００２９】
５）メタデータコンテナは、メディアファイルにおいてメタデータ（即ち、メディアデータコンテナに格納されるマルチメディアデータを記述するデータ）を記憶するためのコンテナである。ＭＰ４ファイルのメタデータコンテナに格納されるバイナリデータが表現する情報をメディア情報と呼ぶ。
【００３０】
図２に示すように、メタデータコンテナのヘッダは、コンテナタイプが「ｍｏｏｖ ｂｏｘ」であることをバイナリデータで表す。コンテナデータ部は、ＭＰ４ファイルの全体情報を記憶するためのｍｖｈｄコンテナをカプセル化しており、時間長、作成時刻、修正時間などを含み、ＭＰ４ファイルから独立して、ＭＰ４ファイルの再生に関するものである。
【００３１】
メディアファイルのメディアデータコンテナに、複数のトラックに対応するサブコンテナ、例えばオーディオトラックコンテナ（オーディオトラックｂｏｘ）及び映像トラックコンテナ（ビデオトラックｂｏｘ）に対応するサブコンテナを含んでもよい。オーディオトラックコンテナ及び映像トラックコンテナのサブコンテナのそれぞれには、対応するトラックのメディアデータの参照及び記述を含んでいる。必要なサブコンテナには、トラックの特性及び全体情報（例えば時間、高さ、幅）を記述するためのコンテナ（ｔｋｈｄ ｂｏｘと記す）と、トラックのメディア情報（例えばメディアタイプ及びサンプルに関する情報）を記録するコンテナ（ｍｄｉａ ｂｏｘと記す）と、を含む。
【００３２】
ｍｄｉａ ｂｏｘにカプセル化されるサブコンテナについては、トラックの関連属性及び内容を記録するコンテナ（ｍｄｈｄ ｂｏｘと記す）と、メディアを再生する過程情報を記録するコンテナ（ｈｄｌｒ ｂｏｘと記す）と、トラックにおけるメディアデータのメディア情報を記述するコンテナ（ｍｉｎｆ ｂｏｘと記す）と、を含むことができる。ｍｉｎｆ ｂｏｘには、どのようにメディア情報を位置決めるかを解釈するためのサブコンテナ（ｄｉｎｆ ｂｏｘと記す）、及びトラックにおいてサンプリングした全ての時間情報（復号時間/表示時間）、位置情報及び復号/符号などの情報を記録するためのサブコンテナ（ｓｔｂｌ ｂｏｘと記す）がさらにカプセル化されている。
【００３３】
図３は、本開示の実施例に係るメディアファイルにおけるメディアデータコンテナがメディアデータを記憶する構造模式図である。図３に示すように、ｓｔｂｌ ｂｏｘのバイナリデータから識別されたメディア情報を用いて、サンプルの時間、タイプ、容量及びメディアデータコンテナにおける位置を解釈可能である。次に、ｓｔｂｌ  ｂｏｘにおける各サブコンテナについて説明する。
【００３４】
ｓｔｓｄ ｂｏｘは、１つのサンプルディスクリプション（ｓａｍｐｌｅ ｄｅｓｃｒｉｐｔｉｏｎ）テーブルを含む。各メディアファイルには、異なる符号化方式及び記憶データのファイル数に応じて、一つ又は複数のディスクリプションテーブルが含まれることができる。ディスクリプションテーブルを通じて、サンプル毎のディスクリプション情報を見当たることができる。ディスクリプション情報は、サンプルを正しく復号されることを保証できる。異なるメディアタイプに対して相違するディスクリプション情報を格納する。例えば、映像メディアについてのディスクリプション情報が画像の構造である。
【００３５】
ｓｔｔｓ ｂｏｘは、サンプルの時間長に関する情報を格納するものであり、テーブルを提供することで時間（復号時間）とサンプルの番号とをマッピングする。ｓｔｔｘ ｂｏｘにより、メディアファイルおける任意の時間のサンプルを位置決めすることができる。ｓｔｔｓ ｂｏｘは、さらに他のテーブルを用いてサンプルの容量とポインタとをマッピングし、テーブルにおけるエントリごとに同じ時間オフセット内で連続するサンプルの番号、およびサンプリングのオフセットを与え、これらのオフセットを増加させて、完全な時間−サンプルのマッピングテーブルを作成することができる。数式は次のようになる。
【００３６】
ＤＴ(ｎ+１)=ＤＴ(ｎ)+ＳＴＴＳ(ｎ)               （１）
【００３７】
ここで、ＳＴＴＳ（ｎ）は、圧縮されていないＳＴＴＳの第ｎの項の情報であり、ＤＴは第ｎのサンプルの表示時間である。サンプルの配列が時間順にソートされているため、オフセット量は常に非負である。ＤＴは、一般的に０から開始する。ＤＴの計算式は次の通りである。
【００３８】
ＤＴ(ｉ)=ＳＵＭ(ｆｏｒ ｊ=０ ｔｏ ｉ-１ ｏｆ ｄｅｌｔａ(ｊ))           （２）
【００３９】
全てのオフセットの和はトラックにおけるメディアデータの時間長である。
【００４０】
ｓｔｓｓ ｂｏｘは、メディアファイルにおけるキーフレームの番号を記録する。
【００４１】
ｓｔｓｃ ｂｏｘは、サンプルとサンプルを格納するチャンクとのマッピング関係を記録するものであり、テーブルによってサンプルの番号とチャンクの番号との関係をマッピングし、テーブルを調べることで特定のサンプルを含むチャンクを見つけることができる。
【００４２】
ｓｔｃｏ ｂｏｘは、トラック内における各チャンクの位置を定義するものであり、位置が、メディアデータコンテナの先頭バイトのオフセットと、先頭バイトに対する長さ（即ち容量）で表される。
【００４３】
ｓｔｓｚ ｂｏｘは、メディアファイル内の各サンプルの容量（即ちサイズ）を記録する。
【００４４】
６）メディアデータコンテナは、メディアファイルにおいてマルチメディアデータを記憶するためのコンテナである。例えば、ＭＰ４ファイルにおけるメディアデータコンテナは、図３に示すように、サンプルがメディアデータコンテナにおいて記憶する単位であって、メディアファイルのチャンクに記憶され、チャンクとサンプルの長さは互いに異なってもよい。
【００４５】
７）セグメント化メディアファイルは、メディアファイルを分割して形成され、それぞれ独立して復号できるサブファイルである。
【００４６】
ＭＰ４ファイルを例とすれば、ＭＰ４ファイルのメディアデータがキーフレームによって分割され、分割されたメディアデータと対応するメタデータとをセグメント化ＭＰ４（ＦＭＰ４,ＦｒａｇｍｅｎｔｅｄＭＰ４)ファイルにカプセル化する。各ＦＭＰ４ファイルにおけるメタデータは、メディアデータが正確的に復号されることを保証できる。
【００４７】
図４は、本開示の実施例に係るセグメント化ＭＰ４(ＦＭＰ４)ファイルの選択可能なカプセル化構造の模式図である。例えば、図２に示すＭＰ４ファイルを複数のＦＭＰ４ファイルに変換するとき、図４に示すように、一つのＭＰ４ファイルは、複数のＦＭＰ４ファイルに変換でき、各ＦＭＰ４ファイルには、ｍｏｏｖコンテナ、ｍｏｏｆコンテナ及びｍｄａｔコンテナという三つの基本的なコンテナが含まれる。
【００４８】
ｍｏｏｖコンテナは、ＭＰ４ファイルレベルのメタデータを含み、ＦＭＰ４ファイルの由来となるＭＰ４ファイルにおける全てのメディアデータ、例えばＭＰ４ファイルの時間長、作成時刻、修正時間などを記述するためのものである。
【００４９】
ｍｏｏｆコンテナは、セグメントレベルのメタデータを記憶、ＦＭＰ４ファイルにカプセル化されたメディアデータを記述し、ＦＭＰ４におけるメディアデータの復号が可能であることを保証するためのものである。
【００５０】
１つのｍｏｏｆコンテナと１つのｍｄａｔコンテナは、セグメント化ＭＰ４ファイルの１つのセグメントを構成し、１つのセグメント化ＭＰ４ファイルに一つ又は複数のこのようなセグメントが含まれてもよい。各セグメントの各々にカプセル化されたメタデータは、当該セグメント内にカプセル化されたメディアデータが独立して復号することができることを保証する。
【００５１】
８）メディアソース拡張（ＭＳＥ、Ｍｅｄｉａ Ｓｏｕｒｃｅ Ｅｘｔｅｎｓｉｏｎｓ）インタフェースは、ウェブページで実現されプレーヤ向けのインタフェースであって、ウェブページにおけるローディング期間にウェブブラウザのインタープリタによって解析されて、フロントエンドのプログラミング言語（例えばＪａｖａＳｃｒｉｐｔ）を実行することで実現され、ハイパーテキストマークアップ言語（ＨＴＭＬ）メディア要素（Ｍｅｄｉａ Ｅｌｅｍｅｎｔ）を呼び出すというメディアストリーミングを再生する機能をプレーヤに提供する。例としては、ビデオ要素<ｖｉｄｅｏ>、及びオーディオ要素<ａｕｄｉｏ>でビデオ/オーディオを再生する機能を実現する。
【００５２】
９）ストリームメディアフォーマットは、メディアデータをストリームメディアのメディアファイルにカプセル化する。メディアファイルを完全にダウンロードする必要がなく、別途にトランスコードする必要がなく、復号されて再生されることができる、すなわち、元のままダウンロードしながら再生することをサポートする技術である。典型的なストリームフォーマットのファイルは、ＨＴＴＰライブストリーム（ＨＬＳ、ＨＴＴＰ Ｌｉｖｅ Ｓｔｒｅａｍｉｎｇ)技術に基づくＴＳメディアファイルセグメント、ＦＬＶ（Ｆｌａｓｈ Ｖｉｄｅｏ）ファイルなどを含める。
【００５３】
１０）非ストリームメディアフォーマットは、メディアデータをメディアファイルにカプセル化し、且つメディアファイルを完全にダウンロードしてから復号されて再生されるカプセル化技術である。典型的には、非ストリームフォーマットのファイルは、ＭＰ４ファイル、ＷＭＶ（Ｗｉｎｄｏｗｓ Ｍｅｄｉａ Ｖｉｄｅｏ）ファイル、ＭＫＶファイルフォーマット（ＭＫＶ,ＭＫＶ  ｆｉｌｅ  ｆｏｒｍａｔ）、ＡＳＦ（Ａｄｖａｎｃｅｄ Ｓｔｒｅａｍｉｎｇ Ｆｏｒｍａｔ）ファイルなどが挙げられる。
【００５４】
なお、ＭＰ４ファイルは元のままでストリームメディア形式の再生をサポートしないが、オンライントランスコードした後に、プレーヤによりトランスコードされたメディアストリームに、又は部分的にダウンロードしたＭＰ４ファイルの欠落部分に無効なバイナリデータを充填（例えば、ｆｔｙｐコンテナ及びｍｏｏｖコンテナが完全にダウンロードされた場合、ｍｄａｔコンテナの欠落部分に無効なバイナリデータを代わりに充填）することで、ダウンロードしながら再生する技術効果も実現できる。本明細書には、このような元のままでストリームメディアの再生をサポートしないファイルのカプセル化フォーマットを、全て非ストリームメディアフォーマットという。
【００５５】
まず、本開示の実施例のメディア再生を実現するロード制御装置について説明する。本開示の実施例が提供するメディア再生のロード制御装置は、スマートフォン、タブレット、ノートパソコンなどの各種のタイプのユーザ端末として実施されることができる。以下、装置をユーザ端末として実施するときにユーザ端末を含めた例示的な応用について説明する。
【００５６】
図５を参照して、図５は、本開示の実施例が提供するメディア再生のロード制御システム１００のある選択可能なアーキテクチャの模式図である。例示的な応用のサポートを実現するために、ユーザ端末１０（例示的に、ユーザ端末１０−１とユーザ端末１０−２とを示した）は、ネットワーク２０を介してサーバ３０に接続されている。ネットワーク２０は、広域ネットワークまたはローカルネットワークであってもよいし、または、両者の組み合わせであってもよく、無線リンクを用いてデータ伝送を実現する。
【００５７】
ユーザ端末１０は、プレーヤが嵌め込まれたウェブページを通じてメディアファイルを再生し、再生する内容をグラフィカルインタフェース１１０（グラフィカルインタフェース１１０−１及びグラフィカルインタフェース１１０−２を例示的に示す）によって表示する。メディアファイルの再生中、ユーザ端末１０は、非ストリームメディアフォーマットのメディアファイルの二つのキーフレームに基づいて、前記メディアファイル内の一部のメディアデータをサーバ３０から取得し、二つのキーフレームの間のメディアデータに基づいてセグメント化メディアファイルを構築する。構成されたセグメント化メディアファイルをメディアリソース拡張インタフェース内のメディアソースオブジェクトに添加する。前記ウェブページのメディア要素に、前記メディア要素に前記メディアソースオブジェクトをデータソースとして再生させるための仮想アドレスを伝達する。
【００５８】
次に、本開示の実施例に係る非ストリームメディアファイルのウェブページ再生装置について説明する。非ストリームメディアファイルのウェブページ再生装置は、ハードウェア、ソフトウェア又は両者を結合する方式として提供することができる。
【００５９】
次に、本開示の実施例の非ストリームメディアファイルのウェブページ再生装置の実現について説明し、非ストリームメディアファイルのウェブページ再生装置は、ハードウェア、ソフトウェア又はソフトウェアとハードウェアを組み合わせた形態として提供できる。
【００６０】
以下、非ストリームメディアファイルのウェブページ再生装置のソフトウェアとハードウェアの組み合わせの実施を説明し、図６を参照し、図６は、本開示の実施例による非ストリームメディアファイルのウェブページ再生装置の選択可能な組成構造模式図である。以下、本開示の実施例の非ストリームメディアファイルのウェブページ再生装置のハードウェア構造を詳細に説明する。なお、図６には、非ストリームメディアファイルのウェブページ再生装置のすべての構造ではなく、例示的な構造だけが示されており、必要に応じて図６に示された構造の一部又は全部を実施できる。
【００６１】
本開示の実施例による非ストリームメディアファイルのウェブページ再生装置６００は、少なくとも１つのプロセッサ６０１、メモリ６０２、ユーザインターフェース６０３、及び少なくとも１つのネットワークインターフェース６０４を備える。非ストリームメディアファイルのウェブページ再生装置６００の各アセンブリは、バスシステム６０５を介して結合される。なお、バスシステム６０５は、これらのアセンブリの間の通信可能な接続に用いられる。バスシステム６０５は、データバス以外、電源バス、制御バス及び状態信号バスを含む。しかし、明確に説明するために、図６には、様々なバスは、バスシステム６０５として示されている。
【００６２】
ユーザインターフェース６０３は、モニター、キーボード、マウス、トラックボール、クリックホイール、キー、ボタン、タッチパネルやタッチスクリーンなどを含み得る。
【００６３】
なお、メモリ６０２は、揮発性メモリ又は非揮発性メモリであってもよく、揮発性メモリ及び非揮発性メモリの両方を含んでもよい。
【００６４】
本開示の実施例におけるメモリ６０２は、非ストリームメディアファイルのウェブページ再生装置６００の操作をサポートするように、さまざまなタイプのデータを記憶することに用いられる。これらデータの例には、非ストリームメディアファイルのウェブページ再生装置６００に操作される任意の実行可能な指令、たとえば実行可能な指令６０２１が含まれ、本開示の実施例のウ非ストリームメディアファイルのウェブページ再生方法を実現するプログラムは、実行可能な指令６０２１に含まれ得る。
【００６５】
本開示の実施例で開示されていた非ストリームメディアファイルのウェブページ再生方法は、プロセッサ６０１に適用され、又はプロセッサ６０１によって実現されることができる。プロセッサ６０１は、信号処理能力を有する集積回路チップであってもよい。実現する過程において、非ストリームメディアファイルのウェブページ再生方法の各ステップは、プロセッサ６０１におけるハードウェアの集積ロジック回路又はソフトウェアの形態の指令によって実施できる。上記プロセッサ６０１は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、又はそのほかのプログラマブルロジックデバイス、離散ゲート又はトランジスタロジックデバイス、離散ハードウェアユニットなどであってもよい。プロセッサ６０１は、本開示の実施例における開示された各方法、ステップ及びロジックブロック図を実現又は実行できる。汎用プロセッサは、マイクロプロセッサ又は任意の一般的なプロセッサなどであってもよい。本開示の実施例において開示された方法のステップを組み合わせ、ハードウェアデコードプロセッサで実行して完成し、或いはデコードプロセッサにおけるハードウェア及びソフトウェアモジュールの組み合わせによって実行して完成するように直接に現れることができる。ソフトウェアモジュールは、記憶媒体に位置することができ、該記憶媒体は、メモリ６０２に位置し、プロセッサ６０１は、メモリ６０２における情報を読み取り、そのハードウェアと組み合わせて本開示の実施例による非ストリームメディアファイルのウェブページ再生方法のステップを完成する。
【００６６】
以下、非ストリームメディアファイルのウェブページ再生装置の純粋なハードウェアの実施を説明する。本開示の実施例の非ストリームメディアファイルのウェブページ再生装置は、１つ又は複数の特定用途向け集積回路（ＡＳＩＣ、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、デジタル信号処理（ＤＳＰ、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ）、プログラマブルロジックデバイス（ＰＬＤ、Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、コンプレックスプログラマブルロジックデバイス（ＣＰＬＤ、Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）又はそのほかの電子素子によって実現されることができ、本開示の実施例による非ストリームメディアファイルのウェブページ再生方法を実行することに用いられる。
【００６７】
以下、非ストリームメディアファイルのウェブページ再生装置の純粋なソフトウェアの実施を説明する。本開示の実施例の非ストリームメディアファイルのウェブページ再生装置の実現は、アプリケーション又はプラグインであってもよく、又は両方を組み合わせた形態で実現されてもよい。
【００６８】
一例として、アプリケーションは、メディアファイルの再生に用いられるクライアントであってもよいし、メディアファイル再生機能をオプション機能としたクライアントであってもよく、対応するプラグインをインストールすることにより実現される。
【００６９】
一例として、プラグインは、アプリケーションの機能アップグレードインストールパッケージであり、特定アプリケーションにメディアファイル再生機能を追加するように実現されてもよいし、メディア再生のウェブページにおける要素であってよく、フロントエンド言語により実現され、ウェブページによって直接解釈して実行されることによりウェブページにおいてメディアファイル再生機能を実現する。
【００７０】
次に、プレーヤがウェブページに埋め込まれ、ウェブページのハイパーテキストマークアップ言語（ＨＴＭＬ、Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）５メディア要素を使用してメディアファイルを再生する場合を例として、本開示の実施例による非ストリームメディアファイルのウェブページ再生方法を説明する。本開示の実施例におけるウェブページは、ブラウザのウェブページであってもよいし、ブラウザカーネルが埋め込まれたアプリケーション（ＡＰＰ、Ａｐｐｌｉｃａｔｉｏｎ）のウェブページであってもよい。ウェブページは、プレーヤのＪＳ（ＪａｖａＳｃｒｉｐｔ）コードを解析して実行することによって、プレーヤのインスタンスを実現する。
【００７１】
図７には、本開示の実施例による非ストリームメディアファイルのウェブページ再生方法の選択可能な模式的なフローチャートが示されており、図７を参照して、本開示の実施例による非ストリームメディアファイルのウェブページ再生方法は、ステップ２０１〜ステップ２０４を含み、以下、それぞれ説明する。
【００７２】
ステップ２０１：ウェブページで再生しているメディアファイルの二つのキーフレームに基づいて、メディアファイルの一部のメディアデータを取得する。
【００７３】
ここで、ウェブページで再生しているメディアファイルが非ストリームメディアフォーマットを採用し、例えば、ＭＰ４／ＭＫＶ／ＷＭＶ／ＡＳＦなどのカプセル化フォーマットが挙げられる。本開示の実施例によるメディアデータは、メディアファイルのメディアデータコンテナ内のビデオフレーム及びオーディオフレームの少なくとも一つを意味する。
【００７４】
ある実施例において、プレーヤが以下のようにメディアファイルにおける一部のメディアデータを取得することができる。
【００７５】
プレーヤは、メディアファイルを再生する過程におけるリアルタイムの再生ポイントに基づいて、メディアファイル内の二つのキーフレームを確定し、メディアファイル内の二つのキーフレームの間のメディアデータを取得するようにネットワーク要求をサーバに発信する。
【００７６】
再生ポイントに基づいて二つのキーフレームを確定することについて説明する。プレーヤは、メディアファイルを再生する過程中、キーフレーム間のデータをローディングすることによりメディアファイルの再生を実現する。つまり、プレーヤが二つのキーフレームの間のメディアデータを再生ローディングユニットとする。再生ポイントについては、メディアファイルを連続して再生する（つまり、ユーザが関与しない状況で自然に再生する）ことで到着する再生時刻、例えば３０分目から４０分目まで再生するときの再生ポイントであってもよいし、ジャンプすることで（つまりユーザがカーソルでプログレスバーをクリックしてページジャンプを実現する）メディアファイルの再生時刻に到着してもよく、例えば元の再生ポイントが再生進度の２０％に位置して、ジャンプした後の再生ポイントが再生進度の３０％に位置するようになる。
【００７７】
実際の応用において、再生ポイントによって確定された二つのキーフレームは、メディアファイルにおける隣接する二つのキーフレームであってもよいし、二つのキーフレームの間に他の一つ又は複数のキーフレームが存在してもよい。二つのキーフレームの間のキーフレームの数は、ウェブブラウザのキャッシュ性能（例えば使用可能な容量）、ネットワーク性能（ネットワーク帯域幅）によって決められることができ、実際の必要に応じて設定することもできる。
【００７８】
ある実施例において、再生ポイントがメディアファイルを連続して再生することで到着する再生時刻である場合に、再生ポイントに対応するビデオフレームが通常フレームまたはキーフレームである状況に応じて、二つのキーフレーム（第１キーフレーム、及び復号時間が第１キーフレームよりも後にある第２キーフレームとする）を確定する方法を説明する。
【００７９】
場合１）、再生点に対応するビデオフレームが一般的なフレームである場合、プレーヤが２つのキーフレームの間のメディアデータを基本的な再生ロード単位とするため、再生点後且つ再生ポイント後の最初のキーフレーム（デコード時間が再生ポイントよりも遅いキーフレームのうち、再生ポイントに最も近いキーフレーム）の前のメディアデータがロード済みのメディアデータであり、当該ロード済みのメディアデータを繰り返して取得することを回避するために、メディアファイルにおいてデコード時間が再生ポイント以降の最初のキーフレームを所定期間帯の２つのキーフレームのうちの第１キーフレームする。メディアファイルにおいて復号時間が第１キーフレームよりも遅れるキーフレームを、二つのキーフレームのうちの第２キーフレームとする。
【００８０】
場合２）、再生ポイントに対応するビデオフレームはキーフレームである。再生ポイントに対応するキーフレーム、即ち再生ポイントの時間に合わせたキーフレームを、二つのキーフレームのうちの第１キーフレームとする。メディアファイルにおける復号時間が第１キーフレームよりも遅れるキーフレームを、二つのキーフレームのうちの第２キーフレームとする。
【００８１】
上記の場合１）において、再生ポイントを跨ぐキーフレームをメディアデータの端点とすることで、デコードデータ（即ちキーフレーム）の不足によるフレームスキップが発生しないように、再生ポイントに対応するビデオフレームにはデコードのための十分な情報を有することを保証することができる。
【００８２】
他の実施例において、再生ポイントがジャンプすることで到着する再生時刻である場合、再生ポイントに対応するビデオフレームが通常フレームまたはキーフレームである場合に応じて、二つのキーフレーム（第１キーフレーム、及び復号時間が第１キーフレームよりも遅れる第２キーフレームとする）を確定する方法を説明する。
【００８３】
場合１）再生ポイントに対応するビデオフレームが一般的なフレームである場合、再生ポイントがジャンプにより到達するため、再生ポイント前の最初のキーフレームと再生ポイントとの間のメディアデータがロードされておらず、メディアファイルにおいてデコード時間が再生ポイントよりも前の最初のキーフレームを、第１キーフレームとする。つまり、メディアデータの時間（即ち、メディア情報が示した番号とフレームのデコード時間との対応関係）の中で検索された、復号時間が所定期間帯の開始時間よりも早く且つ開始時間に最も近いキーフレームとする。メディアファイルにおいて復号時間が第１キーフレームよりも遅れるキーフレームを、二つのキーフレームのうちの第２キーフレームとする。再生ポイントから再生ポイントの前までのキーフレームの間のメディアデータを追加的に要求することにより、いずれの再生ポイントにジャンプしても正常にデコードできることを確保し、再生ポイントが一般的なフレームに対応する場合に復号できないことでフレームスキップが発生する状況を回避する。
【００８４】
場合２）再生点に対応するビデオフレームがキーフレームである場合、再生点に対応するキーフレームを、第１キーフレームとする。つまり、メディアデータの時間（即ち、メディア情報が示した番号とフレームのデコード時間との対応関係）の中から検索されたデコード時間が再生ポイント時間に合わせたキーフレームとする。メディアファイルにおいて復号時間が第１キーフレームよりも遅れるキーフレームを二つのキーフレームのうちの第２キーフレームとする。
【００８５】
上記の場合１）において、再生ポイントを跨ったキーフレームをメディアデータの端点とすることによって、再生ポイントに対応するビデオフレームには正確にデコードするための十分な情報を有し、デコードデータ（即ちキーフレーム）の不足によるフレームスキップが発生しないことを確保することができる。
【００８６】
場合２）において、再生点に合わせたキーフレームで取得待ちのメディアデータを規定することによって、再生点が正確にデコードされることができるという前提で、不必要なメディアデータの取得を最大限に減少させ、接続及び流量の使用を減少させ、さらにウェブページにおける非メディア再生サービスのリアルタイム性を確保する。
【００８７】
ある実施例において、プレーヤがサーバに発信したネットワーク要求には、要求された二つのキーフレームの間のメディアデータのオフセット及び容量を担持することで、サーバが、ネットワーク要求を解析した後に、オフセット及び容量に基づいて要求されたメディアファイル内のメディアデータを位置決め、前記オフセットから始め、且つ前記容量に合致するメディアデータをメディアファイルから抽出して、プレーヤに返す。そこで、プレーヤは、ネットワーク要求を発信する前に、メディアファイルのメディア情報（即ちビデオ／オーディオフレームの位置、オフセット、復号時刻などの情報）に基づいて、メディアファイルにおけるメディアデータのオフセット及び容量を確定する必要がある。オフセット及び容量を確定する前に、まずはメディアファイルのメタデータからメディア情報を識別する必要がある。
【００８８】
次に、プレーヤがメディア情報を識別することについて説明する。ある実施例において、プレーヤが以下のようにしてメディアファイルからメディア情報を識別することができる：設定されたオフセット及び容量に基づいて、サーバに、設定されたオフセット及び容量に対応するメディアファイル内のデータを要求し（即ち、一定の容量のデータを要求する）、サーバから返されたデータからメタデータコンテナ内のメタデータを識別し、識別されたメタデータを解析して、メディアファイルのメディアデータコンテナにカプセル化されたメディアデータを記述するためのメディア情報を取得する。
【００８９】
ここで、設定された容量は、既存のメディアファイルのファイルタイプコンテナ及びメタデータコンテナの容量に基づいて統計して取得することができる。設定された容量は、設定された割合（例えば全ての）メディアファイルのファイルタイプコンテナ及びメタデータコンテナの容量の加算値をカバーすることができようにして、メディアファイルのカプセル化構造が、ファイルタイプコンテナ、メタデータコンテナ及びメディアデータコンテナを順序にカプセル化したものであるとき、一回の要求でメタデータコンテナにカプセル化されたメタデータを完全に取得できることを確保する。ネットワーク伝送時に接続を占有する状況を節約でき、さらに接続占有に起因してウェブページ内の非メディア再生サービスが接続を使用できないことで応答を遅延させる状況を回避する。
【００９０】
メディアファイルがＭＰ４ファイルである場合を例として、プレーヤが取得したメタデータコンテナにカプセル化されたメタデータは、ＭＰ４ファイルにおけるｍｏｏｖ ｂｏｘにカプセル化されたバイナリデータである。ＭＰ４ファイルのカプセル化構造がｆｙｔｐ ｂｏｘ、ｍｏｏｖ ｂｏｘ及びｍｄａｔ ｂｏｘを順次カプセル化するものであるとき、設定容量が既存のＭＰ４ファイルのｆｔｙｐ ｂｏｘ及びｍｏｏｖ ｂｏｘの容量に基づいて統計して取得できる。設定容量は、設定割合（例えば全ての）ＭＰ４ファイルのｆｔｙｐ ｂｏｘ及びｍｏｏｖ ｂｏｘのバイナリデータの加算値をカバーできるようにして、多数の場合、ｍｏｏｖ ｂｏｘに含まれた全てのバイナリデータをサーバから一回だけで取得できることを保証する。
【００９１】
ある実施例において、プレーヤが設定されたオフセット及び容量に基づいてサーバから要求したバイナリデータにおいて、ゼロバイトから始まる一段のバイナリデータがファイルタイプコンテナに対応するものである。プレーヤは、コンテナヘッダを読み出すことでファイルタイプコンテナの容量を取得し、第２のコンテナのヘッダを読み出すことで次のコンテナのタイプ及び容量を知る。第２のコンテナのタイプがメタデータコンテナであり、且つ返されたバイナリデータの容量がファイルタイプコンテナの容量及びメタデータコンテナ容量の加算値以上である場合、設定されたオフセット及び容量に基づいてサーバから要求したバイナリデータには、メタデータコンテナにカプセル化されたメタデータが含まれることを表明する。それに対して、第２のコンテナのタイプがメタデータコンテナであり、且つ返されたバイナリデータの容量がファイルタイプコンテナの容量及びメタデータコンテナ容量の加算値に未満である場合、設定されたオフセット及び容量に基づいてサーバから要求したバイナリデータには、メタデータコンテナにカプセル化されたメタデータが含まれていないことを表明する。プレーヤが設定されたオフセット及び容量に基づいてサーバから要求したバイナリデータには、メタデータコンテナにおけるメタデータを完全に含んでいない場合、プレーヤは、サーバから返されたバイナリデータからコンテナの容量を読み出す必要がある。メタデータコンテナのヘッダによってメタデータコンテナのオフセット及び容量を算出し、算出されたオフセット及び容量をネットワーク要求に担持して、サーバにメタデータを要求する。サーバは、要求に従ってメディアファイルにおいて算出されたオフセットから、読み出されるバイナリデータが算出された容量に合致するようにバイナリデータを読み出し、プレーヤにデータを返す。
【００９２】
例を挙げて説明する。プレーヤは、サーバから返したバイナリデータからコンテナの容量を読み出し、メタデータコンテナのヘッダに基づいてメタデータコンテナのオフセット及び容量を算出する。以下の二つの場合に関わる。
【００９３】
場合１）残りのバイナリデータ（即ち返されたバイナリデータのうちファイルタイプコンテナのバイナリデータ以外のデータ）から読み出されたコンテナのタイプがメタデータコンテナであり、且つ残りのバイナリデータの容量がメタデータコンテナの容量よりも小さい場合、メタデータコンテナの容量と残余バイナリデータ容量の差分値を算出して二回目の要求の新たな容量とし、初回要求したオフセット及び容量の加算値を新たのオフセットとし、サーバにバイナリデータを二回目で要求する。
【００９４】
場合２）残りのバイナリデータから読み出されたコンテナのタイプがメディアデータコンテナである場合、メディアデータコンテナの容量とファイルタイプコンテナ容量の加算値を二回目で要求する新たなオフセットとし、設定された容量（メタデータコンテナの容量をカバーできる経験値であってもよい）でサーバにバイナリデータを二回目で要求する。
【００９５】
メディアファイルがＭＰ４ファイルである場合を例とする。プレーヤが設定されたオフセット及び容量によってサーバから要求されたバイナリデータにはｍｏｏｖ ｂｏｘの完全なバイナリデータを含まないとき、プレーヤは、サーバから返されたバイナリデータからコンテナのタイプ及び容量を読み出して、ＭＰ４ファイルにおけるｍｏｏｖ ｂｏｘのオフセット及び容量を確定する必要がある。
【００９６】
ＭＰ４ファイルのバイナリデータは、最初のバイトがいつもｆｔｙｐ ｂｏｘに対応するものであって、返されたバイナリデータからｆｙｔｐ ｂｏｘのバイナリデータを識別し、ｆｔｙｐ ｂｏｘのヘッダに基づいてその長さを取得することができる。そして、残りのバイナリデータから、ヘッダの基準長さによって次のｂｏｘのバイナリデータを読み出す。ヘッダが示すコンテナタイプによって、以下の場合が含まれる。
【００９７】
１）残りのバイナリデータ（即ち返されたバイナリデータのうちｆｙｔｐ ｂｏｘのバイナリデータ以外のデータ）から読み出されたコンテナのタイプがｍｏｏｖ ｂｏｘであり、且つ残りのバイナリデータの容量がｍｏｏｖ ｂｏｘの容量以上である場合、確定されたオフセット及び容量によって、サーバからＭＰ４ファイル内の、ＭＰ４ファイルにおけるｍｏｏｖ ｂｏｘのオフセットで始まり、且つＭＰ４ファイルにおけるｍｏｏｖ ｂｏｘの容量に合致するｍｏｏｖデータを取得する。
【００９８】
２）残りのバイナリデータから読み出されたコンテナのタイプはｍｏｏｖ ｂｏｘであり、且つ残りのバイナリデータの容量がｍｏｏｖ ｂｏｘの容量よりも小さいとき、ｍｏｏｖ ｂｏｘの容量と残りのバイナリデータ容量の差分値を算出して二回目で要求する新たな容量とし、一回目に要求されたオフセット及び容量の加算値を二回目で要求する新たなオフセットとし、サーバにバイナリデータを二回目で要求する。
【００９９】
３)残りのバイナリデータから読み出したコンテナのタイプがｍｄａｔ ｂｏｘであるとき、ｍｄａｔ ｂｏｘの容量及びｆｔｙｐ ｂｏｘ容量の加算値を算出して二回目で要求する新たなオフセットとし、設定された容量でサーバにバイナリデータを二回目で要求する。
【０１００】
このように、メディアファイルがいずれのカプセル化構造であっても、つまり、メディアファイルにおけるファイルタイプコンテナ、メタデータコンテナ及びメディアデータコンテナのカプセル化順序がどうなるかにもかかわらず、プレーヤが多くでも二回要求することでサーバからメタデータコンテナにおけるメタデータを取得することを保証でき、メタデータを取得する効率を向上させることができる。
【０１０１】
例を挙げて説明する。ＭＰ４ファイルについては、サーバから返されたバイナリデータにおいて、ＭＰ４ファイルのカプセル化基準によって、ゼロバイトからの一段のバイナリデータがｆｔｙｐ ｂｏｘに対応するものである。ｂｏｘのヘッダのカプセル化基準によって、ｆｔｙｐ ｂｏｘのヘッダからｆｔｙｐ ｂｏｘの容量（即ち長さ）及びＭＰ４ファイルの完全な容量を読み取ることができる。ｆｔｙｐ ｂｏｘの容量をａとすれば（単位がバイトである）、ａ+１から引き続くコンテナのヘッダ情報を読み取り、引き続くコンテナのタイプ及び容量を取得する。読み取ることで得られたｆｔｙｐ ｂｏｘに引き続くものがｍｏｏｖ ｂｏｘであり、且つ残りのバイナリデータの容量（設定の容量-ｆｔｙｐ ｂｏｘの容量）がｍｏｏｖ ｂｏｘの容量よりも大きい場合、ｍｏｏｖ ｂｏｘの完全のバイナリデータを取得したことを表明し、ｍｏｏｖ ｂｏｘのオフセット及び容量によって残りのバイナリデータからｍｏｏｖ ｂｏｘにおけるメタデータを抽出することができる。
【０１０２】
プレーヤは、サーバからメタデータコンテナにカプセル化されたメタデータを取得した後、メタデータコンテナにおけるサブコンテナのネスト構造を解析し、サブコンテナのネスト構造に応じて、それぞれのサブコンテナにおけるバイナリデータを読み取り、読み取ったバイナリデータからそれぞれのサブコンテナが表すメディアデータのメディア情報を解析する。実際の応用において、メディア情報がメディアファイルにおけるビデオフレーム及び/又はオーディオフレームのオフセット、容量、復号時間などの情報を含んでもよい。
【０１０３】
メディアファイルがＭＰ４ファイルである場合を例とする。メタデータコンテナがｍｏｏｖ ｂｏｘである。図２から分かるように、ｍｏｏｖ ｂｏｘにはｍｖｈｄ ｂｏｘ及びトラックｂｏｘがカプセル化されている。ここで、ｍｖｈｄ ｂｏｘのバイナリデータを解析することで、ＭＰ４ファイルの作成時刻、修正時刻、時間計量スケール、再生可能な時間長、デフォルトボリュームなどの情報を取得することができる。ｍｏｏｖ ｂｏｘには複数のトラックｂｏｘが含まれ、各メィデアトラックの特有な記述情報を記録している。例えば、ビデオトラックであるビデオトラックｂｏｘに対して、ビデオトラックｂｏｘには複数のサブコンテナが複数層にネストされ、ビデオトラックｂｏｘのネスト構造によって、対応するバイナリデータを解析してＭＰ４ファイルのビデオフレーム情報及び対応する画面情報を取得する。
【０１０４】
ある実施例において、プレーヤは、取得されたメタデータを以下のようにして解析して、メディア情報を取得する。メタデータコンテナのバイナリデータにおけるコンテナヘッダの基準長さに対応するバイナリデータを順序に解析し、前記メタデータコンテナのサブコンテナのコンテナタイプ、及び前記サブコンテナのコンテナデータの長さを取得する。前記サブコンテナのコンテナタイプに対応する解析器を呼び出し、解析されていないデータのうち前記コンテナデータの長さに対応するバイナリデータを順序に解析し、前記コンテナデータが表すメディア情報を取得する。
【０１０５】
ここで、プレーヤは、メタデータコンテナに複数のサブコンテナがネストされた状況に対して、バイナリデータを毎回に読み取る際のオフセットを、識別されたサブコンテナの長さの加算値にし、読み取ったバイナリデータの長さがコンテナヘッダの基準長さに合致することで、現在に処理するサブコンテナのタイプと長さを解析することができる。
【０１０６】
例えば、初めて読み取るとき、メタデータコンテナのバイナリデータのゼロバイトからバイナリデータを読み出し、且つ読み出したバイナリデータの長さがコンテナヘッダの基準長さと合致することで、第１のサブコンテナのタイプ及び長さを解析することができる。２回目で読み取るとき、１回目で読み取ったサブコンテナの長さをオフセットとし、バイナリデータの読み取りを始め、読み取ったバイナリデータの長さがコンテナヘッダの基準長さと合致することで、第２のサブコンテナのタイプと長さを解析することができる。
【０１０７】
前記した仕方によってバイナリデータを読み取ると、過度な読み取りによって戻すことはなく、読み取り不足によって二次読み取りを行うこともないことで、解析の効率及び正確率が保証される。
【０１０８】
ある実施例において、コンテナが直接にバイナリデータをカプセル化することに用いられるか、またはさらにコンテナをカプセル化することに用いられるかを示すように、メタデータコンテナにネストされた典型的なコンテナタイプを前もってマークする。例えば図２に示すｍｖｈｄ ｂｏｘ、オーディオトラックｂｏｘ及びビデオトラックｂｏｘなどに対してさらにコンテナをカプセル化しているとマークし、図２に示すｓｔｔｓ ｂｏｘ、ｓｔｓｄ ｂｏｘなどに対してバイナリデータを直接にカプセル化しているとマークする。
【０１０９】
バイナリデータを直接にカプセル化するとマークされたコンテナタイプに対して、コンテナタイプと一つずつ対応する解析器を設置する。解析器は、バイナリデータに基づいてそれの表すメディア情報を解析するためのものである。解析されたサブコンテナのコンテナタイプと前もってマークされたコンテナタイプとを比較することは、以下の二つの場合に関わる。
【０１１０】
場合１）対比を行うことで、前記サブコンテナのコンテナタイプが前もってマークされ、且つバイナリデータを直接にカプセル化することに用いられると前もってマークされたと確定されたとき、前記サブコンテナのコンテナタイプに対応する解析器を呼び出し、前記解析器によって前記サブコンテナにおけるコンテナデータを解析することで、前記コンテナデータが表すメディア情報を取得する。
【０１１１】
場合２)対比を行うことで、前記サブコンテナのコンテナタイプが前もってマークされ、且つさらにコンテナをカプセル化することに用いられると前もってマークされたと確定されたとき、前記サブコンテナにカプセル化されたコンテナのコンテナタイプが前もってマークされ、且つバイナリデータを直接にカプセル化することに用いられると前もってマークされるまで、前記メディアファイルにおけるコンテナヘッダの基準長さに基づいて、前記サブコンテナに対応するバイナリデータを再帰的に解析する。サブコンテナにカプセル化されたコンテナのコンテナタイプに対応する解析器を呼び出し、バイナリデータをバイト単位で解析し、解析されたバイナリデータの長さが前記サブコンテナにカプセル化されたコンテナのコンテナデータの長さと対応することで、前記サブコンテナにカプセル化されたコンテナのコンテナデータが表すメディア情報を取得する。
【０１１２】
ある実施例において、メタデータコンテナを解析する過程でメディア情報を記録する仕方について説明する。メタデータコンテナバイナリデータ内のコンテナヘッダの標準長に対応するバイナリデータを順次に解析して、前記メタデータコンテナ内のサブコンテナのコンテナタイプを取得する時に、サブコンテナと所属するコンテナとの間のネスト関係、及びサブコンテナとカプセル化しているコンテナとのネスト関係に基づいてオブジェクトを作成し、サブコンテナのコンテナタイプがバイナリデータを直接にカプセル化することに用いられると前もってマークされた時に、前記サブコンテナに対応して作成したオブジェクト内へメディア情報を含めた配列を格納する。格納されたメディア情報は、サブコンテナのコンテナデータによって表される。
【０１１３】
例えば、図２において、解析されるサブコンテナのタイプがｓｔｔｓ ｂｏｘである時に、ｓｔｔｓ ｂｏｘがバイナリデータを直接にカプセル化すると前もってマークされているため、ｓｔｔｓ ｂｏｘに対応して作成したオブジェクト内へメディア情報を含めた配列を格納する。ここでのメディア情報は、ｓｔｔｓ ｂｏｘのコンテナデータによって表される時間長情報である。
【０１１４】
ある実施例において、メタデータコンテナを解析する過程でサブコンテナの間のネスト関係を記録する仕方について説明する。メタデータコンテナバイナリデータ内のコンテナヘッダの標準長に対応するバイナリデータを順次に解析して、前記メタデータコンテナ内のサブコンテナのコンテナタイプを取得する時に、コンテナタイプがバイナリデータを直接にカプセル化すると前もってマークされていれば、呼び出された前記解析器の中へ解析するサブコンテナを記録する。記録されたサブコンテナのインスタンスをサブコンテナ属性に設置する。サブコンテナ属性は、サブコンテナが所属するコンテナに含められ、サブコンテナと所属するコンテナとの間のネスト関係を記述することに用いられる。
【０１１５】
例えば、図２において、解析されるサブコンテナのタイプがｓｔｓｄ ｂｏｘである時に、ｓｔｓｄ ｂｏｘがバイナリデータを直接にカプセル化すると前もってマークされているため、ｓｔｓｄ ｂｏｘに対応する解析器の中へｓｔｓｄ ｂｏｘを記録し、ｓｔｓｄ ｂｏｘのインスタンスをｓｔｂｌ ｂｏｘサブコンテナ属性に設置する。以降は同様であり、最後にｓｔｓｄ ｂｏｘのサブコンテナ属性にｓｔｓｄ ｂｏｘ、ｓｔｔｓ ｂｏｘ、ｓｔｓｃ ｂｏｘ等の、ｓｔｂｌ ｂｏｘにネストされている複数のサブコンテナを記録した。
【０１１６】
ある実施例において、対比を行うことで、前記サブコンテナのコンテナタイプが前もってマークされていないと確定した、又はバイナリデータを直接にカプセル化すると前もってマークされたが対応するタイプの解析器の呼び出しができなかった時に、サブコンテナに対応するバイナリデータを解析することを無視し、サブコンテナの長さに基づいて、前記バイナリデータのうち次のサブコンテナに対応する部分へジャンプして引き続いて解析する。
【０１１７】
実際の適用において、メディアファイル内にカスタムのコンテナタイプが出現することはあり得る。ジャンプの仕方によって、メタデータコンテナの全体の解析の進度を影響することがない。同時に、解析器を設置することで、メタデータコンテナのコンテナタイプが変化した時に、対応するタイプの解析器の増加、削除及び修正を通じて、最新のメタデータコンテナに対する互換的な解析を快速的に実現することができ、柔軟かつ快速的にアップデートできるという特性がある。
【０１１８】
上記のメディア情報の識別についての説明に基づいて、次に識別したメディア情報に基づいてメディアファイルにおけるメディアデータのオフセット及び容量を確定することを説明する。ある実施例において、プレーヤが以下のようにしてメディアファイルにおけるメディアデータのオフセット及び容量を確定する。識別したメディア情報に基づいて、メディアデータのビデオフレーム（即ち第１キーフレーム及び第２キーフレームの間のビデオフレーム）の、メディアファイルにおけるオフセット及び容量、及びビデオフレームに合わせたオーディオフレームの、メディアファイルにおけるオフセット及び容量を確定する。そして、確定されたオフセット及び容量に基づいて、上記のビデオフレーム及びオーディオフレームを含む目標区間（最小オフセットと最大容量からなる区間）のオフセット及び容量を確定する。ここで、目標区間には、上記ビデオフレーム及びオーディオフレームが含まれる。
【０１１９】
ここで、本開示の実施例によるオーディオフレームとビデオフレームの合わせる仕方について説明する。ビデオフレームを基準として、メディアデータの開始時点及び時間長に基づいて、ビデオフレームにおいて時間的同期するオーディオフレームを位置決めることで、メディアデータにおける第１のオーディオフレームの復号開始時点が第１のビデオフレームの復号開始時点と同時又はより早く、また最後のオーディオフレームの復号時間が最後のビデオフレームの復号終了時間と同時又はより遅いことを保証する。このように、メディアファイルにおけるビデオ、オーディオの時間長が一致しないという問題を回避でき、各フレームのビデオを再生しながら同期するオーディオを再生することを保証でき、画面があるのに音声がない現象は発生しない。
【０１２０】
次に、目標区間のオフセット及び容量を確定することについて説明する。２つのキーフレームのうちの第１キーフレームと第２キーフレームの間のビデオフレームのメディアファイルにおけるオフセット及び容量によって、メタデータコンテナにおけるビデオフレームの位置を特定し、メディアファイルにおけるビデオフレームに合わせたオーディオフレームのオフセット及び容量によって、メタデータコンテナにおけるオーディオフレームの位置を特定し、位置の上限と下限からなる区間を目標区間、即ち、最小オフセットと最大容量からなる区間とする。ここで、位置の上限に対応するオフセット及び容量は、目標区間の上限に対応するオフセット及び容量であり、位置の下限に対応するオフセット及び容量は、目標区間の下限に対応するオフセット及び容量である。実際の適用では、目標区間は、ターゲット解像度メディアファイルのメディアデータコンテナにおいてビデオフレームとオーディオフレームを記憶する最小区間である。たとえば、ターゲット解像度メディアファイルにおける、第１キーフレームと第２キーフレームの間のビデオフレームの位置のオフセットの対応区間が［ａ,ｂ］（アドレスは昇順）であり、ターゲット解像度メディアファイルにおける、オーディオフレームの位置のオフセットの対応区間が［ｃ,ｄ］（アドレスは昇順）である場合、位置の上限と下限からなる区間を取れば、［ｍｉｎ（ａ,ｃ）,ｍａｘ（ｂ,ｄ）］となる。このように、プレーヤは、目標区間のオフセット及び容量を担持したネットワーク要求をサーバに発送して、目標区間のメディアデータを要求する。サーバは、目標区間のオフセット及び容量に基づいてメディアファイルにおけるメディアデータを抽出した後、目標区間のメディアデータを一括して返送し、再度取得する必要がないため、プレーヤの要求回数を減少させて、処理効率を高める。
【０１２１】
ステップ２０２：二つのキーフレームの間のメディアデータを基づいてセグメント化メディアファイルを構築する。
【０１２２】
ある実施例において、プレーヤが以下のようにしてセグメント化メディアファイルを構築することができる。
【０１２３】
プレーヤは、識別されたメディア情報に基づいてセグメント化メディアファイルレベルのメタデータを算出し、算出されたメタデータ及び取得されたメディアデータを、セグメント化メディアファイルのカプセル化フォーマットに基づいて充填して、対応するセグメント化メディアファイルを得る。
【０１２４】
本開示のある実施例において、図８を参照し、図８は、本開示の例示によるセグメント化メディアファイルをカプセル化する選択可能な模式的なフローチャートであり、以下、図８に示したステップを参照して説明する。
【０１２５】
ステップ３０１：セグメント化メディアファイルのタイプ及び互換性を示すデータを、セグメント化メディアファイルのファイルタイプコンテナに充填する。
【０１２６】
たとえば、カプセル化によって図４に示したカプセル化構造のＦＭＰ４ファイルを形成することを例にして、ＦＭＰ４ファイルのファイルタイプコンテナ即ちｆｔｙｐ  ｂｏｘ  のヘッダに、コンテナのタイプ及び長さ（ｆｔｙｐ  ｂｏｘ全体の長さ）を充填し、ｆｔｙｐ  ｂｏｘのデータ部分に、ファイルタイプがＦＭＰ４であること、及び互換プロトコルを示すデータ（バイナリデータ）を充填して生成する。
【０１２７】
ステップ３０２：セグメント化メディアファイルのファイルレベルを示すメタデータを、セグメント化メディアファイルのメタデータコンテナに充填する。
【０１２８】
ある実施例において、セグメント化メディアファイルのカプセル化構造への充填待ちのメディアデータについて、セグメント化メディアファイルにおけるメタデータコンテナのネスト構造に基づいて、ネスト構造を充填するために必要となる、メディアデータを記述するメタデータを算出する。
【０１２９】
再度図４を例として、ＦＭＰ４ファイルのファイルレベルを表すメタデータを算出して、ＦＭＰ４のメタデータコンテナ（即ちｍｏｏｖ ｂｏｘ）に充填する。ｍｏｏｖ ｂｏｘには、ｍｖｈｄ、トラック及びビデオ広張（ｍｖｅｘ、ｍｏｖｉｅ  ｅｘｔｅｎｄ）という三つのコンテナがネストされている。
【０１３０】
その中で、ｍｖｈｄコンテナにカプセル化されたメタデータは、セグメント化メディアファイルの再生に関するメディア情報を表すために用いられ、位置、時間長、作成時間及び修正時間などを含む。トラックコンテナにネストされたサブコンテナは、メディアデータ内の相応のトラックの参照及び記述を表し、例えばトラックコンテナには、トラックの性質及び全体情報（例えば時間長、幅、高さ）を記述するコンテナ（ｔｋｈｄ ｂｏｘと記す）、トラックのメディア情報（例えばメディアタイプとサンプルに関する情報）を記録するコンテナ（ｍｄｉａ  ｂｏｘと記す）がネストされている。
【０１３１】
ステップ３０３：取得されたメディアデータ、及びメディアデータを記述するメタデータを、セグメント化メディアファイルのセグメント化コンテナ内のメディアデータコンテナ、及びセグメントレベルのメタデータコンテナに対応して充填する。
【０１３２】
ある実施例において、セグメント化メディアファイルには、一つ又は複数のセグメント（ｆｒａｇｍｅｎｔ）をカプセル化していてもよい。充填待ちのメディアデータに関しては、セグメント化メディアファイルの一つ又はセグメント化されたメディアデータコンテナ（即ちｍｄａｔ ｂｏｘ）に充填してもよい。各セグメントの各々には、セグメントレベルのメタデータコンテナ（ｍｏｏｆ ｂｏｘと記す）がカプセル化され、該メタデータコンテナに充填されたメタデータが、セグメントを独立して復号できるように、セグメントに充填されたるメディアデータを記述することに用いられる。
【０１３３】
図４に合わせて、充填待ちのメディアデータをＦＭＰ４ファイルのカプセル化構造の二つのセグメントに充填する場合を例として、各セグメント化メディアデータまで充填する。対応のセグメントのセグメントレベルのメタデータコンテナ（即ち  ｍｏｏｆ ｂｏｘ）へ充填したいメタデータを算出し、ｍｏｏｆ ｂｏｘにネストされたサブコンテナに対応的に充填する。ここで、ｍｏｏｆ ｂｏｘのヘッダをｍｏｏｆ ｂｏｘという。充填されたバイナリデータは、コンテナのタイプが「ｍｏｏｆ  ｂｏｘ」であること及びｍｏｏｆ ｂｏｘの長さを表すことに用いられる。
【０１３４】
ステップ３０１からステップ３０３において、データを対応のコンテナに充填するある実施例において、充填操作を実行するとき、クラスの書き込み作動機能を呼び出して、前記サブコンテナのメモリバッファにおいてバイナリデータの書き込みとマージを完成し、前記クラスのインスタンスを返す。返されたインスタンスは、前記サブコンテナとネスト関係を有するサブコンテナとをマージすることに用いられる。
【０１３５】
データを充填する一例として、カプセル化機能を実現するためのクラスＭＰ４を作成し、セグメント化メディアファイル内の各サブコンテナを、クラスストリーム（Ｓｔｒｅａｍ）としてカプセル化する静的な方法を示す。バイナリデータの作動機能を実現するためのクラスストリームを作成し、クラスストリームの各々が１つのメモリバッファを提供して、充填待ちのバイナリデータを保持することに用いる。ストリームで提供される静的な方法によって、充填待ちの複数のバイトの１０進数データをバイナリデータに変換する。クラスストリームのインスタンスにより提供される書き込み動作機能によって、メモリバッファにおいてサブコンテナへ充填待ちのバイナリデータのマージおよび充填を完成する。ストリームにより提供される静的な方法は、新たなストリームインスタンスを返して、現在のサブコンテナと他のネスト関係を有するサブコンテナとのマージを実現することができる。
【０１３６】
ステップ２０３：構築されたセグメント化メディアファイルをメディアリソース拡張インタフェース内のメディアソースオブジェクトに添加する。
【０１３７】
図９は、本開示の実施例によるプレーヤがウェブページにおけるメディアソース拡張インタフェースによってセグメント化メディアファイルを再生するある選択可能な模式図である。図９を参照して、プレーヤがウェブページの再生ウィンドウ（プレーヤに対応する再生ウィンドウ）でメディアファイルの再生イベントを受信すると、プレーヤはＭＳＥによってメディアソース（ＭｅｄｉａＳｏｕｒｃｅ）方法を実行してメディアソース（Ｍｅｄｉａ  Ｓｏｕｒｃｅ）オブジェクトを作成する。メディアソース拡張インタフェースにカプセル化されたソース添加バッファー（ａｄｄＳｏｕｒｃｅＢｕｆｆｅｒ）方法を実行してメディアソースオブジェクトのバッファーを作成する、すなわちソースバッファー（ＳｏｕｒｃｅＢｕｆｆｅｒ）オブジェクトを作成する。一つのメディアソースオブジェクトは一つ又は複数のソースバッファーオブジェクトを有する。各ソースバッファーオブジェクトの各々は、ウェブページにおける一つの再生ウィンドウを応対することに用いられることができ、ウィンドウにおける再生待ちのセグメント化メディアファイルを受信することに用いられる。
【０１３８】
メディアファイルを再生する過程で、プレーヤの解析器（Ｐａｒｓｅｒ）が新たに取得したメディアデータを解析することで、新たなセグメント化メディアファイルを構築し続け、ソースバッファーオブジェクトのａｐｐｅｎｄバッファー（ａｐｐｅｎｄＢｕｆｆｅｒ）方法を実行することで、セグメント化メディアファイルを、同じメディアソースオブジェクトのソースバッファーオブジェクトに添加する。
【０１３９】
プレーヤは、構築されたセグメント化メディアファイルを、メディアソース拡張インタフェースにおけるメディアソースオブジェクトに添加した後、メディアソース拡張インタフェースを呼び出して、メディアソースオブジェクトに対応する仮想アドレスを作成する。例えば、プレーヤは、メディアソース拡張インタフェースにカプセル化されたオブジェクト作成（ｃｒｅａｔｅＯｂjｅｃｔ）ＵＲＬ方法を実行して、メディアソースオブジェクトに対応する仮想アドレスを作成する、即、仮想ユニフォームリソースロケータ（ＵＲＬ、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を作成する。該仮想アドレスにＢｌｏｂタイプのセグメント化メディアファイルがカプセル化されている。
【０１４０】
なお、プレーヤは、メディアソースオブジェクトを仮想ＵＲＬのソース（ｓｒｃ）属性として設定する。つまり、仮想ＵＲＬを、ウェブページ内のメディア要素、例えばビデオ/オーディオ要素とバインディングする。この過程は、メディアソースオブジェクトをウェブページ内のメディア要素と関連付けるとも称される。
【０１４１】
本開示の実施例において、メディアソースオブジェクトへ添加するセグメント化メディアファイルは、現在再生するセグメント化メディアファイルである。例えば、現在、セグメント化メディアファイル１を再生しているが、後続のセグメント化メディアファイル２、３を既に構築していれば、構築されたセグメント化メディアファイル２、３をＭＳＥのソースバッファーに添加してプレロードを行い、相応的に、プレーヤが取得したメディアデータに対応する二つのキーフレームのうちの第１キーフレームは、セグメント化メディアファイル１の後に現れる１個目のキーフレームである。
【０１４２】
ステップ２０４：ウェブページのメディア要素へ、ウェブページのメディア要素にメディアソースオブジェクトをデータソースとしてデコードし再生させるための仮想アドレスを伝送する。
【０１４３】
例えば、プレーヤには、メディア要素を呼び出して仮想ＵＲＬを再生する文、例えば、<ａｕｄｉｏ>仮想ＵＲＬを備える。ブラウザは、ウェブページに嵌め込んでいるプレーヤに対応する文を解釈する時に、ブラウザのメディア要素に、仮想ＵＲＬにバインディングされたソースバッファーオブジェクトからセグメント化メディアファイルを読み取らせ、デコードして再生させる。
【０１４４】
以下、プレーヤがＭＰ４ファイルをＦＭＰ４ファイルに変換してメディアソース拡張インタフェースによってウェブページで再生する過程を説明する。
【０１４５】
図１０は、本開示の実施例によるＭＰ４ファイルをＦＭＰ４ファイルに変換してメディアソース拡張インタフェースによって再生する模式図である。図１０を参照して、プレーヤは、メディアファイルの実アドラス（ｈｔｔｐ://ｗｗｗ.ｔｏｕｔｉａｏ.ｃｏｍ/ａ/ｂ.ｍｐ４）に基づいて、サーバにＭＰ４ファイル内の一部のメディアデータ、例えば復号時間が再生ポイントに引き続くための所定時間帯にあるデータを取得することを要求する。
【０１４６】
プレーヤは、取得されたメディアデータに基づいてＦＭＰ４ファイルを構築し、その後、メディアソースオブジェクトに対応するソースバッファープロジェクトへ添加する。仮想ＵＲＬがメディアソースオブジェクトにバインディングされているため、プレーヤがオーディオ（ａｕｄｉｏ）/ビデオ（ｖｉｄｅｏ）要素を呼び出すコートが実行されると、オーディオ/ビデオ要素は、メディアソースオブジェクトのソースバッファーオブジェクトから、どんどん添加されてきた新たなＦＭＰ４ファイルを読み出し復号して、メディアファイルの連続再生を実現する。ウェブページ内のメディア要素は、メディアファイルの実アドレスに基づいてメディアデータを取得するものではなく、仮想ＵＲＬに基づいてメディアソースオブジェクトを取得し、さらに、メディアファイルの再生を実現する。このように、メディアファイルの実アドレスの保護を実現した。
【０１４７】
次に、プレーヤがウェブブラウザに嵌め込まれ、ウェブページがプレーヤのＪＳコードを解析し実行することでプレーヤを実現する場合を例とし、プレーヤがウェブブラウザのＨＴＭＬ５メディア要素（Ｖｉｄｅｏ要素+Ａｕｄｉｏ要素）を使用してＭＰ４ファイルを再生することを例として、本開示の実施例に係る非ストリームメディアファイルのウェブページ再生方法について説明する。ＭＰ４の実施を基に、他の非ストリームメディアフォーマットへ容易に適用することができる。図１１は、本開示の実施例による非ストリームメディアファイルのウェブページ再生方法のある選択可能なフロー模式図を示す。図１２は、本開示の実施例による非ストリームメディアファイルのウェブページ再生方法の別の択可能なフロー模式図を示す。図１１、図１２に合わせて、本開示の実施例による非ストリームメディアファイルのウェブページ再生方法は、以下のことを備える。
【０１４８】
ステップ４０１：プレーヤは、設定されたオフセット及び容量に基づいて、サーバにＭＰ４ファイル内の一定容量のデータを要求する。
【０１４９】
プレーヤは、設定されたオフセット及び容量を担持しているデータ要求をサーバに発信して、ＭＰ４ファイルにおけるゼロバイトから始まり、かつ設定容量に合致するバイナリデータを取得する。ＭＰ４ファイルのカプセル化構造が順序にカプセルされたｆｙｔｐ ｂｏｘ、ｍｏｏｖ ｂｏｘ及びｍｄａｔ ｂｏｘを含む場合を例として、設定容量は、既存のＭＰ４ファイルのｆｔｙｐ ｂｏｘ及びｍｏｏｖ ｂｏｘの容量に基づいて統計して取得できる。設定容量が、設定割合（例えば全ての）ＭＰ４ファイルのｆｔｙｐ ｂｏｘ及びｍｏｏｖ ｂｏｘの加算値をカバーできるようにして、完全なｍｏｏｖ ｂｏｘのバイナリデータをサーバから一回だけで取得できることを保証する。図１２を参照して、プレーヤ要求に設定されたオフセットがゼロバイトであり、設定された容量がＭａｔh.ｐｏｗ(２５,４)バイトのバイナリデータであり、サーバから返されたバイナリデータからｍｏｏｖデータを取得する。完全なｍｏｏｖデータを一回の要求で取得しなかった場合、オフセット（図１２において開始（ｓｔａｒｔ））及び容量（開始〜容量（ｓｔａｒｔ〜ｓｉｚｅ））を再び算出して、二回目で要求する。
【０１５０】
ステップ４０２：プレーヤがサーバから返されたデータを受信して、サーバから返されたデータからＭＰ４ファイルのメディア情報を識別する。
【０１５１】
ＭＰ４ファイルのメディア情報は、ＭＰ４ファイルにおけるビデオ/オーディオフレームのオフセット、容量、復号時間などの情報を含む。
【０１５２】
ある実施例において、プレーヤは、以下のようにＭＰ４ファイルにおけるメディア情報の識別を実現することができる。サーバから返されたデータからｆｙｔｐ ｂｏｘのバイナリデータを識別し、残りのバイナリデータからコンテナのタイプ及び容量を読み出す。読み出したコンテナのタイプがｍｏｏｖ ｂｏｘであり、かつ残りのバイナリデータの容量がｍｏｏｖ ｂｏｘの容量以上である場合、残りのバイナリデータからメディア情報を解析する。ここで、サーバが返されたバイナリデータに対して、始まる一段のバイナリデータが必ずｆｔｙｐ ｂｏｘに対応するものであるため、ｆｔｙｐ ｂｏｘのカプセル化基準に基づいて、ｆｔｙｐ ｂｏｘの容量（即ち長さ）及び完全のＭＰ４ファイルの容量を読み出すことができる。例えば、ｆｔｙｐ ｂｏｘの容量をａとすれば（バイトを単位とする）、ａ+１から引き続くコンテナのヘッダ情報を読み取り始め、コンテナのタイプ及び容量を取得する。ｍｏｏｖ ｂｏｘであり、且つ（設定容量-ｆｔｙｐ ｂｏｘの容量）がｍｏｏｖ ｂｏｘの容量よりも大きいであれば、ｍｏｏｖ ｂｏｘの完全のバイナリデータを取り出したことを表明し、カプセル化構造に基づいてバイナリデータを解析することができ、メディア情報を還元することができる。
【０１５３】
ある実施例において、サーバから返されたバイナリデータには完全のｍｏｏｖデータが含まれていない場合、取得したバイナリデータからコンテナの容量を読み出して、ＭＰ４ファイルにおけるｍｏｏｖ ｂｏｘのオフセット及び容量を確定する。確定されるオフセット及び容量によって、残りのバイナリデータから読み出したコンテナのタイプがｍｏｏｖ ｂｏｘであり、且つ残りのバイナリデータの容量がｍｏｏｖ ｂｏｘの容量以上である場合、サーバから、ＭＰ４ファイル内の、ＭＰ４ファイルにおけるｍｏｏｖ ｂｏｘのオフセットで始まり、且つＭＰ４ファイルにおけるｍｏｏｖ ｂｏｘの容量に合致するｍｏｏｖデータを取得する。残りのバイナリデータから読み出したコンテナのタイプがｍｏｏｖ ｂｏｘであり、かつ残りのバイナリデータの容量がｍｏｏｖ ｂｏｘの容量よりも小さい場合、ｍｏｏｖ ｂｏｘの容量と残りのバイナリデータ容量との差分を算出して二回目で要求する新たな容量とし、一回目で要求されたオフセット及び容量の加算値を新たなオフセットとして、サーバにバイナリデータを二回目で要求する。
【０１５４】
実際の応用において、ＭＰ４ファイルのカプセル化構造が順序にカプセル化されたｆｙｔｐ ｂｏｘ、ｍｄａｔ ｂｏｘ、ｍｏｏｖ ｂｏｘである場合がある。残りのバイナリデータから読み出したコンテナのタイプがｍｄａｔ ｂｏｘであるとき、算出したｍｄａｔ ｂｏｘの容量及び算出したｍｏｏｖ ｂｏｘ容量の加算値を、二回目で要求する新たのオフセットとし、設定された容量によってサーバにバイナリデータを二回目で要求する。
【０１５５】
ステップ４０３：プレーヤがウェブブラウザでＭＰ４ファイルを再生する過程で、識別されたメディア情報及び現在の再生ポイントに基づいてＭＰ４ファイルにおける二つのキーフレームを位置決める。
【０１５６】
本開示の実施例において、プレーヤは、二つのキーフレームの間のメディアデータ（ビデオデータを少なく含み、オーディオデータをさらに含んでもよい）をローディングユニットとして再生する、つまり、プレーヤは、二つのキーフレームの間のメディアデータをローディングすることで、ＭＰ４ファイルを再生する。二つのキーフレームの間には、通常フレームだけ存在してもよい。即ち、二つのキーフレームが隣接のキーフレームである。二つのキーフレームの間には、他のキーフレームが存在してもよい。
【０１５７】
ジャンプする方式でＭＰ４ファイルの再生ポイントに達する場合を例として説明する。図１２を参照して、プレーヤは、まず、キーフレームを確定し、即ちビデオキーフレームを登録する。プレーヤは、ＭＰ４ファイルにおける復号時間が再生ポイントよりも前の第１のキーフレームを第１キーフレームとして位置決め、ＭＰ４ファイルにおける復号時間が第１キーフレームよりも遅れるキーフレームを第２キーフレームとして位置決める。ここで、再生ポイントに対応するメディアファイルのビデオフレームは、通常フレーム又はキーフレームであるという二種の場合がある。再生ポイントに対応するビデオフレームがちょうどキーフレームであるとき、ＭＰ４ファイルにおける復号時間が再生ポイントよりも前の第１のキーフレームが、再生ポイントに対応するキーフレームとなる。つまり、このとき、プレーヤが要求するメディアデータにおける第１のキーフレームは、再生ポイントに対応するキーフレームである。
【０１５８】
プレーヤがＭＰ４ファイルにおける二つのキーフレームを位置決めることは、以下のことを備える。識別されたメディア情報及び現在の再生ポイントに基づいて前記第１キーフレーム及び第２キーフレームのオフセット及び容量を確定し（図１２においてデータオフセットの算出に対応する）、引いてはオフセット及び容量に基づいてサーバに第１キーフレームと第２キーフレームとの間のメディアデータを要求する。
【０１５９】
ステップ４０４：サーバに、位置決められた二つのキーフレームの間のメディアデータを要求する。
【０１６０】
実際に実施するとき、プレーヤは、サーバにネットワーク要求を発信して、ＭＰ４ファイル内の位置決められた二つのキーフレームの間のメディアデータを要求する。ネットワーク要求には二つのキーフレームに対応する目標区間のオフセット及び容量が担持されている。
【０１６１】
ここで、プレーヤは、ＭＰ４ファイルにおける、第１キーフレーム及び第２キーフレームの間のビデオフレームのオフセット及び容量によって、ｍｄａｔにおけるビデオフレームの位置を位置決め、ＭＰ４ファイルにおける、ビデオフレームに合わせたオーディオフレームのオフセット及び容量によって、ｍｄａｔおけるオーディオフレームの位置（図１２においてオーディオフレーム登録に対応する）を位置決め、位置の上限及び下限からなる区間を目標区間とする（図１２においてビデオ及びオーディオ多重化に対応する）。位置の上限に対応するオフセット及び容量は、目標区間の上限に対応するオフセット及び容量である。位置の下限に対応するオフセット及び容量は、目標区間の下限に対応するオフセット及び容量である。
【０１６２】
ステップ４０５：サーバは、プレーヤにより要求された二つのキーフレームの間のメディアデータを返す。
【０１６３】
ステップ４０６：サーバから返されたメディアデータに基づいて、ＦＭＰ４フォーマットのセグメント化メディアファイルをカプセル化する。
【０１６４】
実際に実施するとき、サーバは、メディアデータのメディア情報に基づいてセグメント化メディアファイルレベルのメタデータを算出し、その後、ＦＭＰ４フォーマットのセグメント化メディアファイルのカプセル化フォーマットに基づいて、セグメント化メディアファイルレベルのメタデータ及びメディアデータを充填してＦＭＰ４フォーマットのセグメント化メディアファイルを得る。
【０１６５】
ステップ４０７：セグメント化メディアファイルを、ＭＳＥインタフェース内のメディアソースオブジェクトに添加する。
【０１６６】
ステップ４０８：ウェブページのメディア要素に仮想アドレスを伝送する。
【０１６７】
仮想アドレスは、メディア要素（ビデオ要素及びオーディオ要素）がメディアソースオブジェクトをデータソースとして再生するためのものである。
【０１６８】
本開示の上記実施例を適用することで以下の有益な効果がある。
【０１６９】
１）、プレーヤは、メディアファイル内の二つのキーフレームの間のメディアデータの一部を取得して、セグメント化メディアファイルを構築して再生することで、メディアファイルを再生する期間にメディアデータのロードに対する制御を実現し、流量や帯域幅を無駄に消耗することを回避する。
【０１７０】
２）、非ストリームメディアフォーマットのメディアファイル内のメディアデータを、セグメント化メディアファイルに変換し、ウェブページのメディアソース拡張インタフェースを通じて、ウェブページのメディア要素へ発送して復号し再生させることで、非ストリームメディアフォーマットのメディアファイルをウェブページによって再生することを実現し、非ストリームメディアカプセル化フォーマットのファイルを完全にダウンロードしてなければ独立に再生できないという制限を克服する。
【０１７１】
３）、カプセル化して得たセグメント化メディアファイルは、メディアファイルの全てのメディアデータではなく、取得したメディアファイルの一部のメディアデータに基づくものであるため、変換遅延が小さく、予め記憶する必要がなく、元のメディアファイル以外に、添加的な記憶空間を占用しないため、記憶空間への占用を顕著に低減する。
【０１７２】
４）、ウェブページにおけるメディア要素は、メディアファイルの実アドレスに基づいてメディアデータを取得してから再生するものではなく、メディアソース拡張インタフェースを介してセグメント化メディアファイルを取得して復号再生するため、メディアファイルの実アドレスの保護を実現する。
【０１７３】
次に、引き続き非ストリームメディアファイルのウェブページ再生装置を説明する。非ストリームメディアファイルの再生装置のハードウェアの実施例又はソフトウェアの実施例として、非ストリームメディアファイルのウェブページ再生装置は、信号／情報／データのレベルで結合関係を有する一連のモジュールとして提供することができ、以下、図１３を参照しながら説明する。図１３を参照し、図１３は、本開示の実施例の非ストリームメディアファイルのウェブページ再生装置の選択可能な構成模式図であり、非ストリームメディアファイルのウェブページ再生装置を実現するために含まれる一連のユニットが示されていたが、非ストリームメディアファイルのウェブページ再生装置のユニット構造は、図１３に示されるものに制限されず、たとえば、一部のユニットについては、実現する機能に応じてさらに分割又は結合することができる。図１３に示すように、非ストリームメディアファイルのウェブページ再生装置９００は、
ウェブページで再生しているメディアファイルの二つのキーフレームに基づいて、非ストリームメディアフォーマットの前記メディアファイル内のメディアデータの一部を取得するように配置されている取得ユニット９１と、
前記二つのキーフレームの間のメディアデータに基づいて、セグメント化メディアファイルを構築するように配置されている構築ユニット９２と、
構築されたセグメント化メディアファイルを、メディアリソース拡張インタフェースのメディアソースオブジェクトに添加するように配置されている添加ユニット９３と、
ウェブページのメディア要素に、前記メディアソースオブジェクトをデータソースとして再生させるための仮想アドレスを伝達するように配置されている伝送ユニット９４と、
を含む。
【０１７４】
ある実施例において、連続再生することで前記メディアファイルの再生ポイントに到着した場合、
前記二つのキーフレームの第１キーフレームは、前記メディアファイルにおける復号時間が前記再生ポイントよりも後にある第１のキーフレームであり、
前記二つのキーフレームの第２キーフレームは、前記メディアファイルにおける復号時間が前記第１キーフレームよりも遅れるキーフレームである。
【０１７５】
ある実施例において、ジャンプすることで前記メディアファイルの再生ポイントに到着する場合、
前記二つのキーフレームの第１キーフレームは、前記メディアファイルにおける復号時間が前記再生ポイントよりも前にある第１のキーフレームであり、
前記二つのキーフレームの第２キーフレームは、前記メディアファイルにおける復号時間が前記第１キーフレームよりも遅れるキーフレームである。
【０１７６】
ある実施例において、前記取得ユニットは、さらに、
前記メディアファイルから識別されたメディア情報に基づいて、前記二つのキーフレームの間のビデオフレームの、前記メディアファイルにおけるオフセット及び容量、及び前記ビデオフレームに合わせるオーディオフレームの、前記メディアファイルにおけるオフセット及び容量を確定し、
確定されたオフセット及び容量に基づいて、前記ビデオフレーム及び前記オーディオフレームを含む目標区間のオフセット及び容量を確定し、
前記目標区間のオフセット及び容量に基づいて、前記メディアファイルのメディアデータコンテナ内の、前記セグメント化メディアファイルを構築するためのメディアデータを取得するように配置されている。
【０１７７】
ある実施例において、前記取得ユニットは、さらに、
設定されたオフセット及び容量に基づいて、前記メディアファイル内のメタデータを取得し、
取得された前記メタデータから、前記メディアファイルにおける前記メディアデータのオフセット及び容量を位置決めるためのメディア情報を識別するように配置されている。
【０１７８】
ある実施例において、前記取得ユニットは、さらに、
取得された前記メタデータから完全なメディア情報を識別できなかったとき、メタデータコンテナのヘッダに基づいて、メタデータコンテナのオフセット及び容量を算出し、
算出した前記メタデータコンテナのオフセット及び容量に基づいて、前記メタデータコンテナ内のメタデータを取得し、
取得された前記メタデータコンテナ内のメタデータから、対応するメディア情報を識別するように配置されている。
【０１７９】
ある実施例において、前記構築ユニットは、さらに、
前記二つのキーフレームの間のメディアデータに対応するメディア情報に基づいて、対応するセグメント化メディアファイルレベルのメタデータを算出し、
算出したメタデータ、及び前記二つのキーフレームの間のメディアデータを、セグメント化メディアファイルのカプセル化フォーマットに従って充填して、対応するセグメント化メディアファイルを取得するように配置されている。
【０１８０】
本開示の実施例は、読み取り可能な記憶媒体をさらに提供する。記憶媒体は、モバイル記憶機器、ランダムアクセスメモリ（ＲＡＭ、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ、Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク又は光ディスクなど、プログラムコードを記憶可能なさまざまな媒体であってもよい。前記読み取り可能な記憶媒体には、プロセッサにより実行されると上記非ストリームメディアファイルのウェブページ再生方法を実現するための実行可能な指令が記憶されている。
【０１８１】
以上のように、本開示の具体的な実施形態に過ぎず、本開示の技術的範囲は、これに制限されない。当業者であれば、本開示で開示されている技術的範囲から逸脱せずに容易に想到し得る変化又は置換は、すべて本開示の特許範囲に含まれるべきである。このため、本開示の技術的範囲は、請求項の技術的範囲を基準とすべきである。
【符号の説明】
【０１８２】
20  ネットワーク
30  サーバ
91  取得ユニット
92  構築ユニット
93  添加ユニット    94  伝送ユニット
600  非ストリームメディアファイルのウェブページ再生装置
601  プロセッサ
602  メモリ
603  ユーザインターフェース
604  ネットワークインターフェース
6021  実行可能な指令
【誤訳訂正３】
【訂正対象書類名】図面
【訂正対象項目名】図１
【訂正方法】変更
【訂正の内容】
【図１】
2021510991.tif 000001
【誤訳訂正４】
【訂正対象書類名】図面
【訂正対象項目名】図２
【訂正方法】変更
【訂正の内容】
【図２】
2021510991.tif 000002
【誤訳訂正５】
【訂正対象書類名】図面
【訂正対象項目名】図４
【訂正方法】変更
【訂正の内容】
【図４】
2021510991.tif 000003
【誤訳訂正６】
【訂正対象書類名】図面
【訂正対象項目名】図７
【訂正方法】変更
【訂正の内容】
【図７】
2021510991.tif 000004
【誤訳訂正７】
【訂正対象書類名】図面
【訂正対象項目名】図８
【訂正方法】変更
【訂正の内容】
【図８】
2021510991.tif 000005