(57)【要約】  装置が、メディアストリームを再生している時に、メディアストリームの一部の代わりに置換コンテンツの再生を開始すべき目標時点を決定する。一方で、装置は、置換コンテンツの再生を開始する開始時点が目標時点から遅延期間Ｐだけ遅れていることを検出する。この結果、装置は、これに応答して、置換コンテンツの再生を所望の時点で終了させるのに役立つように置換コンテンツの再生を期間Ｐだけ短縮する。例えば、装置は、合計で期間Ｐの短縮となるように、置換コンテンツの再生内を期間Ｐだけ先へシークし、及び／又は置換コンテンツの１又は２以上の他の部分を除去することができる。【選択図】図３
2021534699.tif 000002
【特許請求の範囲】
【請求項１】
装置が基本メディアストリームの一部の代わりに置換コンテンツを再生する方法であって、ここで、前記置換コンテンツと前記基本メディアストリームの前記一部は等しい期間Ｄを有し、前記方法は、
前記装置が、前記基本メディアストリームを再生している間に、前記置換コンテンツの再生を開始すべき目標時点を決定することと、
前記装置が、前記置換コンテンツの再生を開始する開始時点が前記決定された目標時点から遅延期間Ｐだけ後であることを検出することと、
前記装置が、前記検出に応答して、前記置換コンテンツの再生の最後を前記基本メディアストリームの前記一部の最後と揃えるのに役立つように前記置換コンテンツの再生を期間Ｐだけ短縮することと、
を含むことを特徴とする方法。
【請求項２】
前記基本メディアストリームの前記一部は広告ポッド内の広告であり、前記置換コンテンツは置換広告である、
請求項１に記載の方法。
【請求項３】
前記置換コンテンツの再生を期間Ｐだけ短縮することは、前記置換コンテンツ内の新たな時点まで前記置換コンテンツ内を期間Ｐだけ先へシークし、前記新たな時点において前記置換コンテンツの再生を開始することを含む、
請求項１に記載の方法。
【請求項４】
前記置換コンテンツの再生を期間Ｐだけ短縮することは、前記置換コンテンツの再生を期間Ｐだけ早く終わらせることを含む、
請求項１に記載の方法。
【請求項５】
前記置換コンテンツの再生を期間Ｐだけ短縮することは、前記置換コンテンツから１又は２以上のフレームを除去することを含む、
請求項１に記載の方法。
【請求項６】
前記置換コンテンツの１又は２以上のフレームを除去することは、（ｉ）重複フレームを検出し、（ｉｉ）前記検出された重複フレームを除去することを含む、
請求項５に記載の方法。
【請求項７】
前記装置が、前記基本メディアストリームの前記一部の最初の部分の再生の代わりに、前記遅延期間中に遷移フレームを再生することをさらに含む、
請求項１に記載の方法。
【請求項８】
前記装置が、前記遷移フレームの再生から前記置換コンテンツの再生までフェーディングさせることをさらに含む、
請求項７に記載の方法。
【請求項９】
前記基本メディアストリームはビデオを含み、前記遷移フレームはブラックフレームを含む、
請求項７に記載の方法。
【請求項１０】
前記基本メディアストリームはオーディオを含み、前記遷移フレームは無音フレームを含む、
請求項７に記載の方法。
【請求項１１】
装置が、メディアストリームを再生している間に、前記メディアストリームの一部の代わりに置換コンテンツの再生を開始すべき目標時点を決定することと、
前記装置が、前記置換コンテンツの再生を開始する開始時点が前記決定された目標時点から遅延期間Ｐだけ後であることを検出することと、
前記装置が、前記検出に応答して、前記置換コンテンツ内を期間Ｐだけ先へシークして前記置換コンテンツの再生を期間Ｐだけ短縮することと、
を含むことを特徴とする方法。
【請求項１２】
前記メディアストリームの前記一部は広告ポッド内の広告であり、前記置換コンテンツは置換広告である、
請求項１１に記載の方法。
【請求項１３】
前記装置が、前記メディアストリームの前記一部の最初の部分の再生の代わりに、前記遅延期間中に遷移フレームを再生することをさらに含む、
請求項１１に記載の方法。
【請求項１４】
前記装置が、前記遷移フレームの再生から前記置換コンテンツの再生までフェーディングさせることをさらに含む、
請求項１３に記載の方法。
【請求項１５】
前記メディアストリームはビデオを含み、前記遷移フレームはブラックフレームを含む、
請求項１３に記載の方法。
【請求項１６】
前記メディアストリームはオーディオを含み、前記遷移フレームは無音フレームを含む、
請求項１３に記載の方法。
【請求項１７】
メディアクライアントであって、
プロセッシングユニットと、
非一時的データストレージと、
前記非一時的データストレージに記憶されて、前記プロセッシングユニットが前記メディアクライアントに動作を実行させるために実行できるプログラム命令と、
を備え、前記動作は、
前記メディアクライアントが基本メディアストリームを再生している間に、前記基本メディアストリームの一部の代わりに置換コンテンツの再生を開始すべき目標時点を決定することと、
前記メディアクライアントが前記置換コンテンツの再生を開始する開始時点が前記決定された目標時点から遅延期間Ｐだけ後であることを検出することと、
前記検出に応じて、前記置換コンテンツの再生を期間Ｐだけ短縮することと、
を含む、
ことを特徴とするメディアクライアント。
【請求項１８】
前記置換コンテンツの再生を期間Ｐだけ短縮することは、前記置換コンテンツ内の新たな時点まで前記置換コンテンツ内を期間Ｐだけ先へシークし、前記新たな時点において前記置換コンテンツの再生を開始することを含む、
請求項１７に記載のメディアクライアント。
【請求項１９】
前記置換コンテンツの再生を期間Ｐだけ短縮することは、前記置換コンテンツから１又は２以上のフレームを除去することを含む、
請求項１７に記載のメディアクライアント。
【請求項２０】
前記動作は、前記メディアストリームの前記一部の最初の部分の再生の代わりに、前記遅延期間中に遷移フレームを再生することをさらに含む、
請求項１７に記載のメディアクライアント。
【発明の詳細な説明】
【技術分野】
【０００１】
〔関連出願との相互参照〕
本出願は、２０１８年１１月７日に出願された米国特許出願第１６／１８３，２６６号、及び２０１８年８月１７日に出願された米国仮特許出願第６２／７６５，２７６号に対する優先権を主張するものであり、これらの各文献はその全体が引用により本明細書に組み入れられる。
【０００２】
本出願は、２０１８年１１月７日に出願された米国特許出願第１６／１８３，１８５号にも関連し、この文献はその全体が引用により本明細書に組み入れられる。
【背景技術】
【０００３】
典型的なメディアクライアントは、ビデオ及び／又はオーディオコンテンツなどのメディアコンテンツを表すアナログ又はデジタルメディアストリームを受け取って再生（例えば、再生のために出力）し、メディアコンテンツの出力及び／又はストリームの転送を行って、ディスプレイ画面及び／又はオーディオスピーカなどのユーザインターフェイス上にコンテンツを提示するように動作する。このようなクライアントの例としては、テレビ、コンピュータモニタ、投影システム、スピーカ、ヘッドフォン、セットトップボックス（例えば、ケーブル又は衛星ＴＶ受信機）、デジタルビデオレコーダ、ラジオ、パーソナルコンピュータ、ゲーム機、ストリーミングメディアプレーヤなどが挙げられる。
【０００４】
一例として、メディアクライアントは、メディアストリーム（例えば、無線放送ストリーム、セットトップボックスからのメディアストリーム出力、デジタル記憶媒体から再生されたメディアストリーム、インターネットストリーム、又は別のこのようなストリーム）を受信して、このストリームのメディアコンテンツをユーザに提示できるテレビとすることができる。別の例として、メディアクライアントは、多チャンネル映像番組配信事業者（ｍｕｌｔｉ−ｃｈａｎｎｅｌ  ｖｉｄｅｏ  ｐｒｏｇｒａｍ  ｄｉｓｔｒｉｂｕｔｏｒ）及び／又はデータストレージから放送ストリームを受け取り、高精細マルチメディアインターフェイス（ＨＤＭＩ(登録商標)）ケーブル又はその他のインターフェイスを介してストリームのメディアコンテンツをテレビ及び／又はオーディオ／ビデオ受信機に出力して再生できるセットトップボックス、或いはデジタルビデオ又はオーディオレコーダとすることもできる。さらに別の例として、メディアクライアントは、ラジオ、コンピュータ、或いは他の受信機又はオーディオ記憶装置からオーディオストリームを受信して、このストリームのオーディオコンテンツをユーザに提示できるスピーカ又はヘッドフォンとすることもできる。他にも数多くの例が考えられる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
いくつかの状況では、メディアクライアントが、メディアストリームの再生中にストリームのメディアコンテンツの一部を置換することが有用な場合がある。例えば、ユーザに対してコンテンツが提示されている時に、ユーザが当初含まれていた広告の代わりに置換広告を受け取るように、クライアントがメディアコンテンツの広告又はその他のセグメントを置換広告又はその他の置換コンテンツに動的に置き換えることが有用な場合がある。
【０００６】
さらに、クライアントがメディアストリーム内の特定の時点でこのようなコンテンツ置換を実行することが望ましい場合もある。例えば、クライアントが既存の広告を置換広告に動的に置き換える場合には、メディアストリーム内で既存の広告が開始した時点でクライアントが置換広告を配置することが望ましいと考えられる。
【０００７】
具体的に言えば、このようなメディアストリームは、ビデオフレーム及び／又はオーディオフレームなどのフレームシーケンスを定めることができ、従ってクライアントはメディアストリームの特定のフレームから開始するコンテンツ置換を実行することが望ましいと考えられる。例えば、広告置換では、クライアントが既存の広告の最初のフレームから開始する置換広告を既存の広告の代わりに挿入することが望ましいと考えられる。
【０００８】
このようなコンテンツ置換を容易にするために、クライアントは、コンテンツ置換を開始すべきメディアストリーム内の特定の時点を学習するとともに、指示された時点でどのような置換コンテンツの再生を開始すべきかを学習することができる。クライアントは、所望のコンテンツ切り替え時点で、既存のメディアストリームを再生することから、置換コンテンツを置換メディアストリームとして再生することに遷移することができる。さらに、クライアントは、置換メディアストリームを再生し終えると、再び（例えば、進行中の）オリジナルメディアストリームの再生に遷移することができる。
【０００９】
このプロセスの１つの技術的困難性は、例えばコンテンツ置換を開始するためにクライアントが第１のストリームの再生から第２のストリームの再生に遷移するのに、或いはコンテンツ置換の終了時に再びオリジナルストリームに切り替えるのにある程度の時間がかかり得る点である。このようなことは、クライアントが第２のストリームの再生を開始できるまでに多くの処理及び多くのメモリを必要とするいくつかのステップに関与する必要が生じ得る際に当てはまる場合がある。例えば、クライアントは、キャッシュをクリアし、第２のストリームのコンテンツの少なくとも最初の部分を受け取って復号し、この復号コンテンツをレンダリングのためにメモリバッファに読み込むことが必要になる場合がある。
【００１０】
実際に、このストリーム遷移プロセスには、１フレームに相当する時間よりも十分に長くかかることがある。例えば、問題のメディアが毎秒３０フレームのフレームレートのビデオである場合、各フレームは１／３０秒、すなわち約３３．３ミリ秒（ｍｓ）に及ぶ。さらに、１つのビデオストリームから別のビデオストリームへの遷移には約数百ミリ秒かかることもあり、従って数多くのビデオフレームと同等の時間に及ぶ。
【００１１】
クライアントは、そのストリーム遷移プロセスを所望のコンテンツ切り替え時点よりも十分に前に開始することによってこのタイミングを考慮するように機能することもできるが、遷移プロセスに要する実際の時間は様々な理由で予測不能な場合がある。従って、クライアントが正確にどれほど早く遷移プロセスを開始すべきかが不明な場合がある。
【００１２】
残念ながら、クライアントは、遷移プロセスを開始するのが遅すぎた場合、第２のストリームの再生の開始が遅くなりすぎ、結果的に終了も遅くなりすぎてしまい得るため、所望のコンテンツ切り替え時点までにプロセスを終了させることができずにユーザ体験の問題を引き起こしてしまう恐れがある。
【００１３】
例えば、クライアントがリニア放送フィード（ｌｉｎｅａｒ  ｂｒｏａｄｃａｓｔ  ｆｅｅｄ）内の同じ期間のオリジナル広告の代わりに置換広告を使用する広告置換シナリオでは、置換広告の再生を開始するのが遅すぎた場合、結局クライアントがオリジナル広告の一部を再生した後に突然置換広告の再生に切り替わることがある。さらに、クライアントが全期間にわたって置換広告を再生する場合、オリジナル広告の終了時を越えて置換広告が継続し、場合によっては基本の放送フィードのオリジナル広告よりも後の一部のコンテンツがカットされてしまうこともある。
【課題を解決するための手段】
【００１４】
本開示によれば、この問題への対処に役立つように、クライアントが、置換コンテンツの再生を開始する予定の時点が遅すぎることを検出し、この遅延期間が所望の開始時点からどれほどであるかを決定することができる。次に、クライアントは、その置換コンテンツの再生を時間通りに終了するように戦略的に短縮することができる。
【００１５】
例えば、クライアントは、決定された遅延期間だけ置換コンテンツ内を自動的に先へシークし（ｓｅｅｋ  ｆｏｒｗａｒｄ）、そこで置換コンテンツの再生を開始することができる。或いは、クライアントは、置換コンテンツの最後を自動的に切り捨てて、決定された遅延期間を最後から除去し、或いは置換コンテンツ内から１又は２以上のフレーム（例えば、重複フレーム及び／又は妥当な場合には中間フレーム）を選択的に除去することもできる。さらに、クライアントは、これらの及び／又はその他のこのような動作の組み合わせを実行することもできる。例えば、クライアントは、決定された遅延期間分だけ全体が短縮されるように、最初、中間及び最後から置換コンテンツの一部を除去することができる。
【００１６】
さらに、クライアントは、置換すべき基本コンテンツの開始後に開始する置換コンテンツの再生処理に役立つように、置換コンテンツの再生開始準備が整うまで、この基本コンテンツの代わりにいくつかの遷移フレームを戦略的に再生することもできる。
【００１７】
必要に応じて添付図面を参照しながら以下の詳細な説明を読むことにより、当業者にはこれらの及びその他の態様、利点及び代替例が明らかになるであろう。さらに、本概要の説明及び後述する説明は、本発明を限定ではなく一例として示すものにすぎないと理解されたい。
【図面の簡単な説明】
【００１８】
【図１】開示する特徴を実装できるシステムの簡略ブロック図である。
【図２】置換広告の再生開始が遅れる広告置換シナリオを示す図である。
【図３】図２の置換広告内を先へシークして再生時間を遅延期間だけ短縮することを示す図である。
【図４】図３に示す機構の結果を示す図である。
【図５】置換広告の再生を遅延期間だけ早く終了させることを示す図である。
【図６】図５に示す機構の結果を示す図である。
【図７】本開示に従って実行できる方法を示すフローチャートである。
【図８】本開示に従って実行できる方法を示す別のフローチャートである。
【図９】本開示に従って動作できるメディアクライアント例のコンポーネントを示す簡略ブロック図である。
【発明を実施するための形態】
【００１９】
図面を参照すると、図１は、開示する様々な原理を適用できるシステム例の簡略ブロック図である。しかしながら、本明細書で説明するこの及びその他の構成及びプロセスは他の様々な形態を取ることもできると理解されるであろう。例えば、要素及び動作は、並べ替え、分散させ、置換し、組み合わせ、省略し、追加し、又は別様に修正することができる。さらに、本明細書において１又は２以上のエンティティによって実行されるものとして説明する動作は、これらのエンティティが実行することも、及び／又はこれらのエンティティの代わりにプログラム命令を実行する１又は２以上のプロセッシングユニットなどがハードウェア、ファームウェア及び／又はソフトウェアを通じて実行することもできると理解されるであろう。
【００２０】
図１に示すように、このシステム例は、メディアソース１４からリアルタイムでメディアストリームを受け取るように構成されたメディアクライアント１２を含む。
【００２１】
メディアクライアント１２は、上述したように、ビデオ及び／又はオーディオコンテンツなどのメディアコンテンツを表すアナログ又はデジタルメディアストリームをメディアソース１４から受け取り、メディアコンテンツの出力及び／又はストリームの転送を行って、ディスプレイ画面及び／又はオーディオスピーカなどのユーザインターフェイス上にコンテンツを提示するように動作するよう構成することができる。メディアクライアントは、数ある可能性の中でも特に上述した形態のうちのいずれかを取ることができる。
【００２２】
メディアソース１４は、場合によってはメディアクライアント１２の形態に依存する様々な形態を取ることもできる。一例として、メディアクライアント１２がテレビである場合、メディアソース１４は、選択されたメディアストリームを出力してテレビが提示できるように構成されたローカルセットトップボックス（例えば、ケーブル又は衛星受信機）又はストリーミングメディアサーバとすることができ、或いはメディアソース１４は、数ある可能性の中でも特に放送テレビ局などとすることもできる。また、メディアクライアントがコンピュータである場合、メディアソースは、インターネットストリーミングメディアサーバ又はその他のメディアプロバイダを含むことができる。或いは、メディアソース１４は、メディアクライアント１２に一体化された、及び／又はメディアクライアント１２がメディアストリームの再生中又は再生のための転送中などに再生のためにローカルにアクセスしてメディアストリームを受け取る（例えば、取り出す）ことができるデータストレージとすることもできる。その他の例も考えられる。
【００２３】
さらに図１に示すように、メディアクライアント１２は、１又は２以上のサーバ１８との通信を可能にするネットワーク（例えば、インターネット又はプライベートネットワーク）１６との通信インターフェイスを有することができる。サーバ１８は、ファイルサーバ、メディアサーバ、及び／又は他のタイプのコンテンツサーバなどを含むことができる。さらに、メディアソース１４は、サーバ１８とは別に示しているが、１又は２以上のサーバ１８と共に含め又は一体化して、ネットワーク１６を介してアクセスすることもできる。
【００２４】
上述したように、クライアント１２などのメディアクライアントは、メディアストリームを受け取って再生（例えば、再生のために出力）している時に、ストリームの一部を、置換ストリームを定める置換コンテンツに置き換えることが有用な場合がある。さらに、上述したように、クライアントは、メディアストリーム内の特定の時点でこれを行うことが望ましい場合がある。例えば、ストリームがビデオフレーム及び／又はオーディオフレームなどのフレームシーケンスを定める場合、クライアントは、シーケンスの特定のフレームから開始するコンテンツ置換を実行することが望ましい場合がある。
【００２５】
実際に、クライアントは、コンテンツ置換を開始すべきメディアストリーム内の特定の目標時点を様々な方法で学習（決定）することができる。
【００２６】
例えば、クライアントは、メディアストリームと共に又はこれに関連して、メディアストリーム内の各フレームを識別する又はこれにタイムスタンプする（例えば、メディアストリームにタイムスタンプが埋め込まれた、又はストリーム内シグナリングを通じて別様にタイムスタンプが提供された）データセットと、コンテンツ置換を開始すべきフレームの識別子又はタイムスタンプを指定するデータとを提供され又は受け取ることができる。従って、クライアントは、このデータに基づいて、コンテンツ置換を開始すべきメディアストリーム内の特定の時点を決定することができる。
【００２７】
或いは、クライアントは、メディアストリームを受け取って再生する際に、ネットワークサーバと協働して、コンテンツ置換を開始すべきメディアストリーム内の時点を所望のコンテンツ切り替え時点として学習することもできる。例えば、サーバは、最初に、クライアントが再生しているメディアストリームを識別することができる。サーバは、メディアストリームを識別すると、クライアントがコンテンツ置換を開始すべきメディアストリーム内の特定の時点を決定し、この決定された時点をクライアントに通知することができる。
【００２８】
クライアント（又は付属装置）は、クライアントが再生しているメディアストリームをサーバが容易に識別できるように、ストリームを受け取る際にメディアコンテンツを表すデジタルフィンガープリントデータをリアルタイムで生成することができ、サーバは、このフィンガープリントデータと、既知のメディアストリームのメディアコンテンツを表す基準フィンガープリントデータとを比較し、フィンガープリントが一致した場合、クライアントが再生しているメディアストリームが既知のメディアストリームであることを示すことができる。
【００２９】
サーバは、既知のメディアストリームを表す基準フィンガープリントデータを確立又は別様に入手することができる。例えば、サーバ又は関連する視聴ステーション（ｗａｔｃｈｉｎｇ  ｓｔａｔｉｏｎ）又はその他のエンティティは、既知のメディアストリームのブロードキャストを受け取り、その最中に既知のメディアストリームのフレームを表す基準デジタルフィンガープリントシーケンスを生成することができる。サーバ又は別のエンティティは、既知のメディアストリームのフレームをプログラム的に分析し、既知のメディアストリームのコピーを入力として受け取り、現在知られている又は後で開発されるメディアフィンガープリンティングプロセス又はアルゴリズムを適用して基準フィンガープリントを生成することによって、これらの基準フィンガープリントを確立することができる。或いは、サーバは、この既知のメディアストリームを表す基準フィンガープリントシーケンスを別様に確立し又は提供されることもできる。その後、サーバは、基準フィンガープリントを既知のメディアストリームの識別子と関連付けて記憶することができる。
【００３０】
さらに、クライアントは、メディアストリームを再生する際に、このストリームのフレームを表すクエリフィンガープリントをリアルタイムで生成して、分析のためにサーバに送信することができる。クライアントは、フィンガープリントの比較を容易にするために、基準フィンガープリントを確立するために適用する又は適用した同じフィンガープリンティングプロセス又はアルゴリズムを使用してこれらのクエリフィンガープリントを生成することができる。また、クライアントは、特定のフレームレートでクエリフィンガープリントを生成し、これらのフィンガープリントをまとめてサーバに送信することもできる。例えば、毎秒３０フレームのビデオを含むメディアストリームの場合、クライアントは、リソースの節約に役立つように毎秒約２フレームの低フレームレートでクエリフィンガープリントを生成し、最新の一群のクエリフィンガープリントを１．５秒毎程度でサーバに送信することができる。その他の例も考えられる。
【００３１】
サーバは、クライアントからクエリフィンガープリントデータを受け取ると、クエリフィンガープリントデータを既知のメディアストリームの基準フィンガープリントデータと比較することができる。そして、サーバは、この比較によってクエリフィンガープリントデータが基準フィンガープリントデータに一致すると十分な信頼度で判定した場合、クライアントが再生しているメディアストリームが既知のメディアストリームであると結論付けることができる。
【００３２】
サーバは、このフィンガープリント比較をフレーム毎に実行することができる。例えば、ビデオコンテンツについて考察すると、サーバは、フレームのクエリフィンガープリントをフレームの基準フィンガープリントと比較する分析をビデオフレーム毎に実行することができる。この比較プロセスは、フィンガープリントの構造に応じて様々な形態のうちのいずれかを取ることができる。例えば、この比較は、フィンガープリント間の最大偏差を計算し、最大偏差が所定の許容差内に収まるかどうかを判定することを含むことができる。さらに、フィンガープリントが２進値である場合、この判定は、ブール型の判定とすることも、又は（フィンガープリントのそれぞれのビット位置間の不一致数としての）ハミング距離の計算を伴うこともできる。フィンガープリントが１０進値又はベクトル（例えば、ビデオフレーム領域毎のグレイ値）などのより複雑な値である場合、この判定は、値又はベクトル間の距離を求めることを含むことができる。他にも数多くの例が考えられる。
【００３３】
また、サーバは、このフィンガープリント比較プロセスを所望の許容差レベルで実行することもできる。例えば、この比較は、より多くの数の相違を認める許容差及び／又はより大きなサイズの相違を認める許容差などの、フィンガープリント間の相違の許容差が比較的大きな粗いものとすることができる。一例として、２つの３２ビットのフィンガープリントを互いに比較する場合、たとえ２つの又は別の指定数のビットが一致しない場合でも、粗い比較では、これらのフィンガープリントを互いに大まかに一致するとみなすことができる。或いは、この比較は、このような相違の許容差が小さい、及び／又は根本的なメディアの特定の部分を表すと思われる特定のフィンガープリント成分に比較の焦点を当てた、より粒度の細かいものとすることもできる。
【００３４】
これにより、サーバは、このクライアントが生成したクエリフィンガープリントと既知のメディアストリームの基準フィンガープリントとの比較を通じて１又は２以上の一致を発見することができる。例えば、サーバは、クライアントが再生しているメディアストリームのフレームのクエリフィンガープリントが既知のメディアストリームのフレームのそれぞれの基準フィンガープリントに一致する１又は２以上の場合を発見することができる。従って、この一致は、クライアントが再生しているメディアストリームが既知のメディアストリームであるとの結論を立証又は支援することができる。
【００３５】
或いは、サーバは、問題のメディアストリームを他の方法で識別することもできる。例えば、メディアストリームが、メディアストリームの素性に対応するウォーターマークデータを含む場合、クライアントは、このウォーターマークデータを読み取り又は別様に抽出してサーバにウォーターマークデータを報告することができる。すると、サーバは、報告されたウォーターマークデータを基礎として使用して、クライアントが受け取っているメディアストリームを識別することができる。例えば、サーバは、様々なウォーターマークデータを特定の既知のメディアストリームに相関させる基準データを調べて、クライアントによって報告されたウォーターマークデータが特定の既知のメディアストリームに一致すると判定することができる。
【００３６】
サーバは、クライアントが再生しているメディアストリームを識別し終えると、コンテンツ置換を行うべきメディアストリーム内の時点を決定することができる。例えば、サーバは、コンテンツ置換を開始すべき既知のメディアストリーム内の時点を指定する基準データを参照することができる。その後、サーバは、この時点を示す指令をクライアントに送信することができる。
【００３７】
サーバの基準データによって指定される置換時点は、クライアントが理解できる形で定めることができる。例えば、メディアストリーム内に定められた「実時間」タイムラインに沿ってメディアストリームの各フレームにタイムスタンプするデータをクライアントが提供される場合、サーバが有する置換時点は、メディアストリームの次のフレームの実時間タイムスタンプとすることができる。従って、サーバは、この実時間タイムスタンプを、クライアントがコンテンツ置換を開始すべき時間の指標としてクライアントに提供することができる。
【００３８】
さらに、クライアントは、コンテンツ置換を開始すべき時点を自機のクロック上で決定できるように、この実時間タイムスタンプをクライアントの内部クロックに従って定められた「クライアント時間」に対応付けることができる。例えば、クライアントは、（ｉ）現在のフレームの実時間タイムスタンプとクライアントのクロック上の現在時刻との間の差分を計算し、（ｉｉ）この求められた差分を、置換を行うべき次のフレームの指示された実時間タイムスタンプに適用して、コンテンツ置換を開始すべきクライアント時間時点を決定することができる。
【００３９】
或いは、サーバの基準データによって指定される置換時点は、クライアントが理解できない方法で定めることもできる。例えば、サーバが有する置換時点は、既知のメディアストリーム内の実時間タイムラインに従って定められたタイムスタンプであるが、実時間のコンテキスト又は観点をクライアントが有していないこともある。この場合、サーバは、実時間とクライアント時間との間のマッピング又は「同期ロック」を確立するプロセスを行った後に、コンテンツ置換を行うべき実時間時点を対応するクライアント時間時点に対応付け、このクライアント時間時点をクライアントに提供することができる。
【００４０】
この非限定的な例として、テレビ放送内に出現し得る広告ポッドを定めるメディアストリームについて考察する。広告ポッドは、テレビコマーシャルなどの広告シーケンスを含む。この例では、特定のテレビチャンネルのリニア放送フィード（ｌｉｎｅａｒ  ｂｒｏａｄｃａｓｔ  ｆｅｅｄ）を受信して再生しているテレビをクライアントとすることができ、このフィード内のあらゆる瞬間に広告ポッドが現れることができる。例えば、特にスポーツイベントなどのライブ放送では、このようなフィード内に広告ポッドが現れる時間を予測できないこともある。或いは、特別にスケジュールされた時点に広告ポッドが現れることもある。
【００４１】
この例では、広告ポッド内の特定の広告の置換（例えば、広告を異なる広告又はその他の置換コンテンツに置き換えること）を望ましいコンテンツ置換とすることができる。例えば、広告ポッドが広告シーケンスＡ１、Ａ２、Ａ３、Ａ４である場合、広告Ａ３の置換を望ましいコンテンツ置換とすることができる。
【００４２】
この状況では、広告ポッドが、Ｔ＝０の時点から開始して広告ポッドの最後まで継続する内部タイムラインを定めることができ、広告Ａ３は、このタイムライン上の時点ＴＡ３から開始することができる。しかしながら、クライアントにはこのタイムラインのコンテキストが存在しないことがある。クライアントは、クライアント時間を定めるタイムライン（例えば、時刻又はその他の内部時間基準）を有する独自の内部クロックを有することができる。しかしながら、クライアントは、クライアント時間内のどこに広告ポッドタイムラインが存在するかについての高度な知識を有していなければ、望ましいコンテンツ修正時点としての値ＴＡ３のみを与えられても、望ましい時に広告置換を開始することはできない。
【００４３】
クライアントは、このコンテキストでサーバが実時間とクライアント時間との間の同期ロックを確立できるように、サーバに送信するクエリフィンガープリントにタイムスタンプすることができる。具体的に言えば、クライアントは、メディアストリームを再生してクエリフィンガープリントを生成する際に、各クエリフィンガープリントに現在のクライアント時間値をタイムスタンプすることができる。サーバは、クエリフィンガープリントと既知のメディアストリームのタイムスタンプ付き基準フィンガープリントとの間の１又は２以上の一致を検出すると、これらの一致点を基礎として使用して実時間をクライアント時間に対応付けることができる。例えば、サーバは、少なくとも１つのこのような検出された一致点に基づいて、（ｉ）照合用基準フィンガープリントの実時間タイムスタンプと、（ｉｉ）照合用クエリフィンガープリントのクライアント時間タイムスタンプとの間のマッピングを定めることができる。
【００４４】
サーバは、同期ロックを確立し終えると、この確立された同期ロックを使用して、コンテンツ置換を行うべき実時間時点を、コンテンツ置換を行うべき対応するクライアント時間時点に変換することができる。サーバは、クライアントが再生しているメディアストリーム内の所望の時点でクライアントがコンテンツ置換を開始できるように、この決定されたクライアント時間時点をクライアントに送信することができる。
【００４５】
さらに、別の実装では、コンテンツ置換を行うべきクライアント時間時点を決定するために、同期ロックを確立して適用するプロセスをサーバではなくクライアントが実行することができる。
【００４６】
例えば、サーバは、クライアントが受け取っているメディアストリームを識別すると、基準フィンガープリントを定める何らかの基準データと、既知のメディアストリームの次の部分の実時間タイムスタンプとをクライアントに送信することができる。すると、クライアントは、クエリフィンガープリントと基準フィンガープリントとの間のフィンガープリント照合を実行して１又は２以上の一致点を発見し、少なくとも１つの一致点のタイムスタンプを同様に相関させることによって実時間とクライアント時間との間の同期ロックを確立することができる。クライアントは、同期ロックを確立し終えると、この同期ロックを基礎として使用して、コンテンツ置換を行うべき提供された実時間時点を、コンテンツ置換を行うべき対応するクライアント時間時点に変換することができる。
【００４７】
クライアントは、コンテンツ置換を開始すべきメディアストリーム内の目標時点を決定することに加え、その時点から開始してどのコンテンツ置換を実行すべきかを様々な方法で学習することもできる。
【００４８】
一例として、クライアントは、メディアストリームの既存のコンテンツの代わりに特定のコンテンツを代替すべき旨の指示などの指示が行われた時点で、開始すべきコンテンツ置換の明細を予め提供されることができる。或いは、クライアントは、実行すべきコンテンツ置換の明細をサーバ又はその他のエンティティから受け取ることもできる。例えば、サーバは、クライアントがコンテンツ修正を開始すべきメディアストリーム内の時点をクライアントに知らせる指令をクライアントに送信する際に、実行すべきコンテンツ置換の明細をこの指令に含める（又は別個に提供する）ことができる。
【００４９】
実際に、実行すべきコンテンツ置換の明細は、クライアントがメディアストリームの既存のコンテンツの代わりに又はその補完として取得して挿入すべき置換コンテンツへのポインタを含むことができる。例えば、上述したように、この明細は、クライアントが置換コンテンツの要求及び受信を行うことができるストリーミングメディアサーバ又はファイルサーバなどのネットワークアドレスを定める又はこれと相関するユニバーサルリソースロケータ（ＵＲＬ）を含むことができる。或いは、この明細は、メディアストリーム内の指示された時点でコンテンツ置換の開始を容易に実行できるように、置換コンテンツを取得すべき場所及び／又は方法を別の方法で示すこともできる。さらに、この明細は、クライアントがオリジナルコンテンツの代わりにどれほどの期間にわたって置換コンテンツを再生すべきであるかをクライアントに知らせるように、置換コンテンツの期間を示すこともできる。
【００５０】
クライアントは、指示されたコンテンツ置換を開始すべき時点で、既存のメディアストリームを再生することから、置換コンテンツを置換メディアストリームとして再生することに切り替えることができる。さらに、クライアントは、コンテンツ置換の終了時に、再び（例えば、進行中の）オリジナルメディアストリームを再生することに切り替えることができる。
【００５１】
非限定的な例として、上述した広告ポッドについて再び考察する。実際に、サーバは、広告ポッドのフレームを表してこれに対応するタイムスタンプ付き基準フィンガープリントを提供されることができる。さらに、サーバは、広告ポッド内の広告のうちの特定の１つを置換すべき旨の指示と、この広告置換を容易にするための情報とを取得することができる。例えば、サーバは、既存の広告の第１のフレームの実時点の指示と、置換広告のＵＲＬと、置換期間の指示とを提供されることができる。
【００５２】
クライアントは、この広告ポッドを含むことができるリニア放送フィードを受け取って再生する際に、継続的に、或いは１又は２以上の他のトリガに応答して、放送フィードのタイムスタンプ付きクエリフィンガープリントを生成してこれらのタイムスタンプ付きクエリフィンガープリントを分析のためにサーバに報告することができる。サーバは、このようなクエリフィンガープリントと、広告ポッドシーケンスのフレームを表す基準フィンガープリントとを比較することによって、クライアントが広告ポッドシーケンスを再生していることを検出することができる。
【００５３】
サーバは、クライアントが広告ポッドシーケンスを再生していると判定すると、例えば上述した方法で、広告置換を開始すべきフレームの実時点を対応するクライアント時間時点に変換するとともに、クライアント時間時点を指定し、そのクライアント時間から開始してメディアストリームのフレームの代用とすべき置換広告へのポインタを含み、指示されたコンテンツ置換を実行するようにクライアントに指示する指令をクライアントに送信することができる。従って、クライアントは、指示された置換広告を取得し、指示されたクライアント時間時点から開始してこの広告をメディアストリームのフレームの代用とすることができる。
【００５４】
さらに、サーバは、広告置換の期間、又は広告置換を終了すべきクライアント時間時点をクライアントに知らせることができ、或いは、この期間は標準的な又は予め確立された期間とすることもできる。その後、クライアントは、広告置換の終了時に、置換広告の再生から進行中の放送フィード（例えば、残りの広告ポッドシーケンス）の再生に再び切り替えることができる。
【００５５】
上述したように、このプロセスで発生し得る技術的課題は、クライアントがリニア放送ストリーム内の広告ポッドシーケンスを再生することから置換広告ストリームを再生することなどの、１つのストリームの再生から別のストリームの再生への遷移にある程度の時間がかかり得る点である。具体的に言えば、上述したように、クライアントは、置換ストリームの再生開始を容易にするために、キャッシュをクリアし、コンテンツを受け取って復号し、メモリバッファへの読み込みを行うことなどの様々なプロセスに関与する必要がある。
【００５６】
このストリーム遷移プロセスの開始点は、様々な方法で定めることができる。例えば、クライアントがストリーミングメディアサーバから第２のストリームのコンテンツを受け取る場合、ストリーム遷移プロセスの開始は、数ある可能性の中でも特に、クライアントが最初の伝送制御プロトコル（ＴＣＰ）ハンドシェイクメッセージを送信してサーバとのＴＣＰセッションの確立を開始した時点、或いはクライアントがサーバとのリアルタイムトランスポートプロトコル（ＲＴＰ）セッションの確立を開始するためにリアルタイムストリーミングプロトコル（ＲＴＳＰ）ＳＥＴＵＰ要求などを送信した時点とすることができる。或いは、クライアントが別様に又は別のソースから第２のストリームのコンテンツを受け取る場合には、プロセスの開始点を他の方法で定めることもできる。プロセスの終了は、クライアントがジッタ及び／又はその他の問題を考慮しながらストリームの再生を開始するのに十分な量の第２のメディアストリームをバッファリングし終えた時点として定めることができる。その他の例も考えられる。
【００５７】
上述したように、ストリーム遷移プロセスは、開始から終了まで約数百ミリ秒かかることがある。さらに、リソース制約及びその他の要因は時間と共に変化するので、いずれかの所与の段階でクライアントが１つのストリームから別のストリームに遷移するのにかかる実際の時間は予測することができない。
【００５８】
クライアントの（又は代表的なクライアントの）最小及び最大予想ストリーム遷移期間は、体験的に定めることができる。例えば、クライアントが第１のストリームの再生から第２のストリームの再生（例えば、クライアントが第２のストリームの再生を開始する準備が整った時点）に遷移するのに３００ｍｓ〜５００ｍｓ程度の時間がかかるとの試験結果が示されたこともある。従って、クライアントは、３００ｍｓの最小予想切り替え期間と５００ｍｓの最大予想遷移期間とを有し、数ある可能性の中でも特に２００ｍｓの不確定範囲を定めることができる。
【００５９】
クライアントは、一定期間にわたってストリーム遷移期間を追跡し、追跡期間をまとめ上げて最小値及び最大値の統計的尺度を確立することによってこれらの最小及び最大予想ストリーム遷移期間を決定することができ、及び／又は予想遷移期間の代表値を別様に提供されることもできる。
【００６０】
クライアントは、この不確定範囲を所与として、その切り替えプロセスを所望のコンテンツ切り替え時点よりも最大予想切り替え期間に等しい時間だけ前もって開始するように構成することができる。このように、理論的に言えば、結局クライアントは、所望のコンテンツ切り替え開始時点以前にこの不確定範囲内のどこかで第２のストリームの再生を開始すべきである。
【００６１】
ところが残念ながら、クライアントは、第２のストリームを再生する準備が終わると、この時点で第１のストリームのコンテンツではなく第２のストリームのコンテンツを再生のためにバッファリングしていると考えられるので、もはや第１のストリームを再生できる状態にない可能性がある。従って、クライアントは、最大予想切り替え期間の最後が経過する前に第２のストリームの再生準備を終えた場合、望ましい時点よりも早く第２のストリームの再生を開始してしまい、これによってユーザ体験の問題が発生することがある。さらに、広告置換などのコンテンツ置換の場合、このように第２のストリームの再生開始が早すぎると、クライアントが第２のストリームの再生から第１のストリームの再生に再び切り替える置換期間の最後に関連するユーザ体験の問題が発生することがある。
【００６２】
クライアントに望ましい時点よりも早く第２のストリームの再生を開始させるのを回避するのに役立つ１つの方法は、代わりにクライアントがその切り替えプロセスを所望のコンテンツ切り替え時点よりも最大予想切り替え期間に満たない時間だけ前に開始するように構成することである。例えば、クライアントは、最大予想切り替え期間未満ではあるが最小予想切り替え期間以上の時間だけ所望のコンテンツ切り替え時点よりも前に切り替えプロセスを開始することができる。
【００６３】
一例として、クライアントは、最小予想切り替え期間と最大予想切り替え期間との中間などの平均予想切り替え期間である時間だけ所望のコンテンツ切り替え時点よりも前に切り替えプロセスを開始することができる。従って、例えば最小予想切り替え期間が３００ｍｓであって最大予想切り替え期間が５００ｍｓである上記の例の値を使用すると、クライアントは、その切り替えプロセスを所望のコンテンツ切り替え時点よりも４００ｍｓだけ前に開始することができる。
【００６４】
ただし、最終的にクライアントが置換コンテンツの再生を準備するのにこの平均予想切り替え期間より長くかかることもあるので、この解決策が最適というわけでもない。従って、クライアントは、所望のコンテンツ切り替え時点が過ぎるまでそのコンテンツ切り替え準備を終えることができない場合もある。この結果、上述したように、クライアントは、置換されるはずの基本コンテンツの一部を結局再生した後に突然置換コンテンツの再生に切り替えることによってユーザ体験を低下させてしまうことがある。さらに、上述したように、クライアントが置換コンテンツの再生を開始するのが遅すぎた上で置換コンテンツを全期間にわたって再生する場合、置換されるはずであったコンテンツの最後を越えて置換コンテンツの再生が続き、基本メディアストリームの後続コンテンツの最初がカットされてしまうこともある。
【００６５】
本開示は、置換コンテンツの再生の開始が遅くなりすぎ、従って終了も遅くなりすぎるという技術的課題への対処に役立つ機構を提供する。
【００６６】
本開示によれば、クライアントが所望のコンテンツ切り替え時点の経過後に何らかの遅延を伴って置換コンテンツの再生を開始した又は開始する際に、この遅延がどれほどの長さであるかを特定する。例えば、クライアントは、所望のコンテンツ切り替え時点から置換コンテンツの再生が開始された又は開始される時点までにどれほどの時間が経過したか又は経過するかを特定することができる。また、上述したように、クライアントは、その置換コンテンツの再生を時間通りに終わるように戦略的に短縮する。さらに、上述したように、クライアントは、置換すべき基本コンテンツの開始後に開始される置換コンテンツの再生処理に役立つように、置換コンテンツの再生開始準備が整うまで、この基本コンテンツの代わりにいくつかの遷移フレームを戦略的に再生することもできる。
【００６７】
このプロセスは、置換されるコンテンツ（オリジナルコンテンツ）と置換コンテンツとが互いに同じ期間Ｄにわたり、遅延がなければオリジナルコンテンツが開始されたはずの正確な時点で置換コンテンツの再生を開始して、オリジナルコンテンツが終了したはずの正確な時点で置換コンテンツの再生を終了させることが目的であることを前提とする。例えば、広告置換のシナリオでは、オリジナル広告及び置換広告をそれぞれ３０秒又は別の典型的な広告期間とすることができ、オリジナル広告の再生が開始されたはずの正確な時点で置換広告の再生を開始し、オリジナル広告の再生が終了したはずの正確な時点で置換広告の再生を終了させることを目的とすることができる。
【００６８】
さらに、このプロセスは、オリジナルコンテンツが開始されたはずの時点、すなわち所望のコンテンツ切り替え時点の後に、クライアントによる置換コンテンツの再生開始が遅延期間Ｐ秒（恐らくはほんの数十ミリ秒、もしかすると１秒未満にわたる複数のフレーム）分だけ遅延する、遅延した又は遅延する予定であることを前提とする。クライアントは、所望のコンテンツ切り替え時点までに自機が置換コンテンツの再生を開始しなかった又は開始しない予定であることを検出することによってこのような遅延の存在を検出することができる。クライアントは、所望のコンテンツ切り替え時点が訪れた時点から自機が置換コンテンツの再生を開始する時点までプログラム的にストップウォッチを作動させることによって遅延の長さを計算することができる。
【００６９】
クライアントは、オリジナルコンテンツが終了したはずの正確な時点で置換コンテンツの再生を終了させることが望ましいので、クライアントに残される置換コンテンツを再生すべき期間はＤ−Ｐ（すなわち、広告全体の期間Ｄと遅延期間Ｐとの間の差分）に短縮される。
【００７０】
置換コンテンツの期間をＤとすると、クライアントは、置換コンテンツからＰ秒を除去することによって、すなわち置換コンテンツの再生をＰ秒しないことによって、短縮期間Ｄ−Ｐ内での置換コンテンツの再生を容易にすることができる。本開示によれば、クライアントは、置換コンテンツの最初のＰ秒を除去するか、置換コンテンツの最後のＰ秒を除去するか、或いは置換コンテンツの１又は２以上の部分を合計Ｐ秒になるように除去することによってこれを行うことができる。
【００７１】
このプロセスの一例として、クライアントは、置換コンテンツの再生がＰ秒だけ遅延していると判定すると、これに応じて置換コンテンツ内をＰ秒だけ先へシークし（すなわち、置換コンテンツストリーム内で先へジャンプし）、Ｐ秒の時点で置換コンテンツの再生を開始することができる。このようにすると、クライアントによる残りの置換コンテンツの再生にはＤ−Ｐ秒しかかからず、従って再生が時間通りに終了するはずである。この例では、クライアントが、実際の置換コンテンツの開始よりも後の時点で置換コンテンツの再生を開始するので、置換コンテンツの再生の開始があまり唐突に見えないように、置換コンテンツの再生にフェードイン（例えば、ディゾルブ）を追加することもできる。
【００７２】
クライアントは、置換コンテンツのちょうど冒頭に開始するこのシーク動作を実行することができる。或いは、クライアントは、置換コンテンツの冒頭よりも後（恐らくはわずかに後）の時点で先へのシークを開始し、やはり置換コンテンツの再生内でＰ秒だけ先へジャンプすることができる。
【００７３】
このプロセスの別の例として、クライアントは、置換コンテンツの再生がＰ秒だけ遅延していると判定すると、これに応じて置換コンテンツの再生をＰ秒早く終わらせることができる。すなわち、クライアントは、置換コンテンツの開始時に置換コンテンツの再生を開始することができるが、Ｄ秒の期間全体にわたって置換コンテンツを再生するのではなく、置換コンテンツをＤ−Ｐ秒再生し終えた時点で置換コンテンツの再生を停止する（そして再び基本メディアストリームに切り替える）ことができる。従って、置換コンテンツの再生にＤ−Ｐ秒しかかからないので、同じく終了も時間通りになるはずである。さらに、この例では、クライアントが置換コンテンツの再生を早く終わらせるので、置換コンテンツ再生の終了があまり唐突に見えないように、置換コンテンツから基本メディアストリームに戻るまでにクライアントがフェードアウトを追加することもできる。
【００７４】
このプロセスのさらに別の例として、クライアントは、置換コンテンツの再生がＰ秒だけ遅延していると判定すると、これに応じて置換コンテンツの総再生期間をＤ−Ｐ秒に短縮するために置換コンテンツ内から選択的にフレームを除去するプロセスを行うことができる。
【００７５】
例えば、クライアントは、置換コンテンツを再生する際に、合理的に除去できる、従って再生しないフレームを求めて、再生のためにバッファに記憶されている置換コンテンツの次のフレームを調べることができる。
【００７６】
一例として、問題のメディアがビデオを含む場合、好ましくはオーディオを伴っていない時に、クライアントは、２又は３以上の連続フレームの画像が同一である又は十分に類似する場合を検索することができる。クライアントは、連続フレームのフィンガープリントを生成し、パターン照合及び／又は他の何らかの方法で比較することによって、この分析を実行することができる。クライアントは、このような反復フレームを発見する度に１又は２以上の重複フレームを破棄することができる。これとは別に、又はこれに加えて、クライアントは、やはり好ましくはオーディオを伴っていない時に、ビデオの中間フレーム（例えば、Ｐフレーム又はＢフレーム）を探して同様にこれらのフレームを除去することもできる。さらに、問題のメディアがオーディオを含む場合、クライアントは、無音フレーム、可能であれば反復する無音フレームを検索して同様にこれらのフレームを破棄することができる。
【００７７】
或いは、クライアントは、置換コンテンツの期間を遅延期間Ｐだけ短縮するのに役立つように、置換コンテンツからフレームを選択的に除去する１又は２以上の他のプロセスを適用することもできる。
【００７８】
クライアントは、場合によってはこのフレーム除去プロセスを置換コンテンツ内の複数の異なる時点で選択的に実行することにより、結果として得られる置換コンテンツの再生期間がちょうどＤ−Ｐ秒になり、従って時間通りに終了するように合計Ｐ秒のフレームをさらに巧妙に除去することができる。或いは、クライアントは、置換コンテンツ再生がＤ−Ｐ秒に近づいた時に十分な数の置換コンテンツのフレームを除去できていなかった場合、同様に時間通りに終了するように、置換コンテンツの総再生期間をＤ−Ｐ秒に短縮するのに十分早い時点で置換コンテンツの再生を終了させることもできる。
【００７９】
さらに上述したように、クライアントは、Ｐ秒の遅延を伴って置換コンテンツの再生を開始しようとしている場合、この遅延期間中にオリジナルコンテンツの代わりにいくつかの遷移フレームを再生することもできる。これを容易にするために、クライアントは、所望のコンテンツ切り替え時点が訪れたことを検出した時に、置換コンテンツの再生を開始する準備がまだ整っていないと判定することができる。これに応答して、クライアントは、置換コンテンツの再生を開始する準備が整うまでオリジナルコンテンツの代わりに遷移フレームを生成して再生し始めることができる。クライアントは、置換コンテンツの再生を開始する準備が整うと、遷移フレームの再生から置換コンテンツの再生に切り替えることができる。さらに、クライアントは、遷移を円滑にするのに役立つように、遷移フレームの再生から置換コンテンツの再生までにフェーディング（例えば、ディゾルブ）を追加することもできる。
【００８０】
実際には、遷移フレームは、問題のメディアのタイプに基づいて様々な形態を取ることができる。例えば、メディアがビデオを（場合によってはオーディオも）含む場合、遷移フレームは、ブラックフレーム及び／又は遷移直前のフレームのコピーを含むことができる。一例として、クライアントは、遷移期間にわたって（置換コンテンツの再生に遷移するまで）ブラックフレームを再生することができる。或いは、クライアントは、遷移期間に入るまでのしばらくにわたって第１のストリームの最新フレームのコピーであるフレームを再生し、その後に残りの遷移期間にわたってこの画像からブラックフレームにフェーディングさせることができる。一方で、メディアがオーディオを（場合によってはビデオも）含む場合には、遷移フレームを無音フレームとすることができる。具体的に言えば、クライアントは、遷移期間にわたって無音フレームを提示することができる。その他の例も考えられる。
【００８１】
図２〜６に、特に広告置換シナリオにおける上述したプロセスの一部の例を示す。これらの各図には、タイムラインに沿ったコンテンツの再生を示しており、時間は左から右に進む。
【００８２】
図２には、クライアントがリニアストリーム２０内の広告ポッドを再生しており、リニアストリームの広告ＡＤ２の代わりに置換広告２２を使用すべきであるが、置換広告２２の再生が遅れて開始された問題のシナリオを示す。図示のように、ＡＤ２は期間Ｄにわたり、置換広告２２も期間Ｄにわたる。さらに、タイムラインに沿って示すように、ＡＤ２の開始時点であるＴDESIRED-STARTに正確に置換広告の再生を開始し、ＡＤ２の終了時間であるＴDESIRED-ENDに正確に置換広告の再生を終了することが最終目的であったと考える。やはり図示のように、クライアントは、ＴDESIRED-STARTからＰ秒後の時点ＴREADYに置換コンテンツの再生を開始する準備が整ったという理由で置換広告の再生開始がＰ秒だけ遅くなっている。この結果、このシナリオでは、クライアントがＡＤ２をＰ秒間再生した後に突然置換広告の再生に切り替わる恐れがある。さらに、クライアントによる置換広告の再生が次の広告ＡＤ３の開始をＰ秒過ぎて延長され、従って場合によっては次の広告の開始部分がカットされてしまうこともある。
【００８３】
図３に、クライアントがこれらの技術的課題を解決するのに役立つ１つの機構を示す。具体的に言えば、図３には、クライアントが置換広告２２内をＰ秒だけ先へシークし、その時点で置換広告の再生を開始できることを示す。クライアントは、これを実際に容易にするために、固有のシーク機能を適用して置換広告ストリーム内で先へジャンプし、又は置換広告のフレームの最初のＰ秒を別様に破棄することができる。この結果、クライアントは、置換広告に入ってＰ秒の時点から置換広告の再生を開始することにより、置換広告の最後のＤ−Ｐ秒のみを再生するようになる。
【００８４】
次に、図４に、このシークプロセスの結果例を示す。図４に示すように、クライアントによる置換広告の終わりのＤ−Ｐ秒の再生は、時点ＴREADYにおいて開始されて時点ＴDESIRED-ENDにおいて終了し、従ってクライアントによる置換広告の再生の最後は基本リニアストリーム２０内のＡＤ２の最後と望む通りに最適に揃うようになるはずである。（図示してはいないが、クライアントは、この置換広告の再生の最後又はその付近で、置換広告ストリーム２２の再生から基本リニアストリーム２０の再生に再び切り替える上での遅延を考慮する対策を取る必要がある。例えば、クライアントは、遷移フレームを再生し、場合によってはＡＤ３の再生内を適切な期間だけ先へシークすることによってこの状況に対処することができる。）
【００８５】
さらに図４に示すように、上記の説明によれば、クライアントは、置換広告の再生開始の遅れを考慮するのに役立つように、フェード期間を含む遷移フレーム２４を追加することもできる。ある実装例では、クライアントがこれらの遷移フレームを生成し、置換広告に置換されるはずのＡＤ２の開始時点を再生しないように少なくとも（ＴDESIRED-STARTからＴREADYまでの）遅延期間にわたって再生することができる。さらに、クライアントは、遷移を円滑化するのに役立つように、遷移フレームの再生を遅延期間後のフェード期間２６にわたって延長し、フェード期間２６を通じて遷移フレームの再生から置換広告の再生までフェーディングさせることもできる。
【００８６】
図５に、クライアントが置換広告の再生開始の遅延に関連する問題を克服するのに役立つ別の機構を示す。具体的に言えば、図５には、置換広告の再生が時点ＴDESIRED-ENDを越えて延長されないように、クライアントが置換広告の再生をＰ秒早く終了できることを示す。クライアントは、これを実際に容易にするために、置換広告の最初のＤ−Ｐ秒のみを再生して置換広告の最後のＰ秒を破棄することができる。例えば、クライアントは、置換広告の再生をＰ秒遅れて開始すると、置換広告の再生をＤ−Ｐ秒にわたって継続することができる。
【００８７】
次に、図６に、この別のプロセスの結果例を示す。図６に示すように、クライアントによる置換広告の最初のＤ−Ｐ秒の再生は、時点ＴREADYにおいて開始されて時点ＴDESIRED-ENDにおいて終了し、従ってクライアントによる置換広告の再生の最後は基本リニアストリーム２０内のＡＤ２の最後と望む通りに最適に揃うようになるはずである。（ここでも、クライアントは、この置換広告の再生の最後又はその付近で、置換広告ストリームの再生から基本リニアストリームの再生に再び切り替える上での遅延を考慮するフェーディングなどの対策を取る必要がある。）
【００８８】
次に、図７は、本開示に従って実行できる方法を示すフローチャートである。この方法は、メディアクライアント又はその他の再生装置などの装置が基本メディアストリームの一部の代わりに置換コンテンツの再生を容易にするために実行することができ、置換コンテンツ及び基本メディアストリームの一部は等しい期間Ｄにわたる。上述したように、ある実装例では、基本メディアストリームの一部を広告ポッド内の広告とすることができ、置換コンテンツを置換広告とすることができる。或いは、コンテンツは他の形態を取ることもできる。
【００８９】
図７に示すように、ブロック７０において、装置は、基本メディアストリームを再生している間に、置換コンテンツの再生を開始すべき目標時点を決定する。例えば、クライアントは、サーバ又はその他のエンティティから目標時点を指定する指令を受け取ることによって、及び／又は目標時点を決定する評価を単独で行うことによってこの目標時点を決定することができる。
【００９０】
次に、ブロック７２において、装置は、置換コンテンツの再生を開始する開始時点が、決定された目標時点から遅延期間Ｐだけ後であることを検出する。例えば、装置は、所望の開始時点から置換コンテンツの再生を開始する予定の、開始している、又は開始する予定の時点までにどれほどの時間が経過したかを測定することができる。
【００９１】
ブロック７４において、装置は、この遅延を検出したことに応答して、置換コンテンツの再生の最後を基本メディアストリームの最後と揃えるのに役立つように置換コンテンツの再生を期間Ｐだけ短縮する。上述したように、この短縮動作は、置換コンテンツ内の新たな時点まで置換コンテンツ内を期間Ｐだけ先へシークし、この新たな時点で置換コンテンツの再生を開始することを含むことができる。これとは別に、又はこれに加えて、この短縮は、置換コンテンツの再生を期間Ｐだけ早く終わらせることを含むこともできる。さらに、これとは別に、又はこれに加えて、この短縮は、置換コンテンツの再生の総期間をＤ−Ｐに短縮するのに役立つように置換コンテンツから１又は２以上の中間フレームを除去することを含むこともできる。
【００９２】
さらに上述したように、装置は、基本メディアストリームの一部の最初の部分の再生の代わりに、遅延期間Ｐ中に遷移フレームを再生することもできる。また、装置は、遷移フレームの再生から置換コンテンツの再生までフェーディングさせることもできる。
【００９３】
また、上述したように、問題のメディアがビデオを含む場合、遷移フレームは、ブラックフレーム、及び／又は第１のメディアストリームの最後に再生されるフレームのコピーであるフレームを含むことができる。また、問題のメディアがオーディオを含む場合、遷移フレームは無音フレームを含むことができる。
【００９４】
図８は、本開示に従って実行できる方法を示す別のフローチャートである。図８に示すように、ブロック８０において、装置は、メディアストリームの再生中に、メディアストリームの一部の代わりに置換コンテンツの再生を開始すべき目標時点を決定する。ブロック８２において、装置は、置換コンテンツの再生を開始する開始時点が、決定された目標時点から遅延期間Ｐだけ後であることを検出する。ブロック８４において、装置は、この検出に応答して、置換コンテンツの再生を期間Ｐだけ短縮するために置換コンテンツ内を期間Ｐだけ先へシークする。この方法の文脈では、上述した様々な特徴が当てはまることができ、逆もまた同様である。例えば、メディアストリームは広告ポッドとすることができ、置換コンテンツは置換広告とすることができる。さらに、装置は、遅延期間Ｐ中に遷移フレーム（例えば、ブラックフレーム又は無音フレームなど）を再生することもでき、遷移を円滑にするためにフェーディングを追加することもできる。
【００９５】
最後に、図９は、上述したような動作の実行を容易にするためにこのような装置に含めることができるいくつかのコンポーネントを示すメディアクライアント例の簡略ブロック図である。上記の説明によれば、このクライアントは様々な形態を取ることができる。例えば、クライアントは、テレビ、コンピュータモニタ、又はビデオコンテンツを受け取ってレンダリングするように動作するその他の装置、及び／又はスピーカ、ヘッドフォン、又はオーディオコンテンツを受け取ってレンダリングするように動作するその他の装置とすることができる。他にも数多くの例が考えられる。
【００９６】
図９に示すように、クライアント例は、メディア入力インターフェイス９０と、ネットワーク通信インターフェイス９２と、メディア提示インターフェイス９４と、プロセッシングユニット９６と、非一時的データストレージ９８とを含み、これらの一部又は全部は共に一体化することができ、或いは図示のようにシステムバス、ネットワーク又はその他の接続機構１００によって互いに通信可能に連結することができる。
【００９７】
クライアントは、メディア入力インターフェイス９０及び／又はネットワーク通信インターフェイス９２を使用して、提示するメディアストリームを受け取ることができる。これらのインターフェイスのいずれかは、受信機、サーバ、又はその他の装置又はシステムとの通信を確立してこれらからアナログ又はデジタル形態のメディアコンテンツを受け取るための１又は２以上の有線及び／又は無線インターフェイスを含むことができる。例えば、メディア入力インターフェイスは、数ある中でも特に、ＤＶＩ、ＨＤＭＩ(登録商標)、ＶＧＡ、ＵＳＢ、ＢＬＵＥＴＯＯＴＨ(登録商標)、ＷＩＦＩなどのプロトコルに準拠する１又は２以上のインターフェイスを含むことができ、ネットワーク通信インターフェイスは、１又は２以上のサーバ及び／又はその他の装置又はシステムと相互作用するためにローカルエリア又はワイドエリアパケットベース通信を行う有線又は無線イーサネットインターフェイスを含むことができる。
【００９８】
メディア提示インターフェイス９４は、メディアコンテンツの提示を容易にする１又は２以上のコンポーネントを含むことができる。一例として、メディア提示インターフェイスは、ディスプレイ画面及び／又はスピーカなどのユーザインターフェイスと、受け取ったメディアコンテンツを処理してユーザインターフェイス上におけるコンテンツの提示を容易にするための１又は２以上のドライバ又はその他のコンポーネントとを含むことができる。
【００９９】
プロセッシングユニット９６は、１又は２以上の汎用プロセッサ（例えば、マイクロプロセッサ）及び／又は１又は２以上の専用プロセッサ（例えば、特定用途向け集積回路）を含むことができる。また、非一時的データストレージ９８は、光学、磁気又はフラッシュストレージなどの１又は２以上の揮発性及び／又は不揮発性記憶要素を含むことができる。
【０１００】
さらに、図示のように、データストレージ９８は、本明細書で説明した様々な動作をクライアントに実行させるためにプロセッシングユニット９６が実行できるプログラム命令１０２を記憶することができる。例えば、これらの動作は、クライアントが基本メディアストリームを再生している間に、基本メディアストリームの一部の代わりに置換コンテンツの再生を開始すべき目標時点を決定することを含むことができる。さらに、これらの動作は、置換コンテンツの再生を開始する（例えば、開始した、開始している又は開始する予定の）開始時点が、決定された目標時点から遅延期間Ｐだけ後であることをクライアントが検出することを含むことができる。動作は、この検出に応答して置換コンテンツの再生を期間Ｐだけ短縮することを含むことができる。ここでも、この文脈では上述した様々な動作を適用することができ、逆もまた同様である。
【０１０１】
以上、例示的な実施形態について説明した。しかしながら、当業者であれば、本発明の実際の範囲及び趣旨から逸脱することなくこれらの実施形態に変更及び修正を行うことができると理解するであろう。
【図１】
2021534699.tif 000003
【図２】
2021534699.tif 000004
【図３】
2021534699.tif 000005
【図４】
2021534699.tif 000006
【図５】
2021534699.tif 000007
【図６】
2021534699.tif 000008
【図７】
2021534699.tif 000009
【図８】
2021534699.tif 000010
【図９】
2021534699.tif 000011
【国際調査報告】
2021534699.tif 000012
2021534699.tif 000013