[go: up one dir, main page]

JP2007036666A - コンテンツ配信システム、クライアント及びクライアントプログラム - Google Patents

コンテンツ配信システム、クライアント及びクライアントプログラム Download PDF

Info

Publication number
JP2007036666A
JP2007036666A JP2005217031A JP2005217031A JP2007036666A JP 2007036666 A JP2007036666 A JP 2007036666A JP 2005217031 A JP2005217031 A JP 2005217031A JP 2005217031 A JP2005217031 A JP 2005217031A JP 2007036666 A JP2007036666 A JP 2007036666A
Authority
JP
Japan
Prior art keywords
stream data
client
data
reproduction
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005217031A
Other languages
English (en)
Inventor
Susumu Takemura
進 竹村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onkyo Corp
Original Assignee
Onkyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Onkyo Corp filed Critical Onkyo Corp
Priority to JP2005217031A priority Critical patent/JP2007036666A/ja
Publication of JP2007036666A publication Critical patent/JP2007036666A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】コンテンツの所定の位置で再生ビットレートの変更が可能なコンテンツ配信システムを提供する。
【解決手段】サーバ10は、同じコンテンツに関し、互いに異なるビットレートを有し、複数のパートに分割されたストリームデータSTi(i=1〜3)を有する。クライアント20は、サーバ10から配信されたストリームデータSTiを受信しながら再生する。このとき、クライアント20は、各パートの再生を完了するごとに、次のパートのデータ量が既にバッファ領域27A及び27Bに蓄積されているか否かを判断する。蓄積されている場合、次のパートの再生時間中にバッファ領域27A及び27Bに蓄積可能なデータ量を算出し、その算出結果に基づいて、サーバ10に要求するストリームデータSTiを選択する。
【選択図】図1

Description

本発明は、コンテンツ配信システム、クライアント及びクライアントプログラムに関し、さらに詳しくは、サーバからクライアントにコンテンツをストリーム配信するコンテンツ配信システム、クライアント及びクライアントプログラムに関する。
ストリーミング型コンテンツ配信システムは、動画等のコンテンツに関する複数のストリームデータを有するサーバと、サーバからストリームデータの配信を受けながらコンテンツを再生するクライアントとを備える。
このようなストリーミング型のコンテンツ配信システムでは、ネットワークのトラフィック状態が変化しても、クライアントで再生が途切れないようにする必要がある。
この問題を解決すべく、特開2004−215074号公報(特許文献1)では、サーバに予め異なるビットレートの複数のストリームデータを準備し、ネットワークのトラフィック状態に応じて、適切な再生ビットレートのストリームデータを配信できるマルチビットレート方式が開示されている。また、特開2003−259333号公報(特許文献2)では、ネットワークの状況に応じてサーバがコンテンツの圧縮率やフレームレートを変更できるコンテンツ配信システムが開示されている。これらの方法によれば、ストリーム配信中にクライアントで再生が途切れるのを防止できるとしている。
しかしながら、これらの方法では、再生ビットレートや圧縮率、フレームレートの変更タイミング時に、クライアントが蓄積するデータが枯渇して再生が途切れる可能性がある。さらに、これらの方法では、再生中のコンテンツの内容に依存せずに、ネットワークの状況に依存してビットレートを変更する。つまり、再生中の動画がどのような場面であっても、ビットレートを変更して画質を変化させる。そのため、画質の変化が唐突に発生し、コンテンツを視聴する利用者に違和感を与えてしまう。
特開2004−215074号公報 特開2003−259333号公報
本発明の目的は、ストリーム配信中の再生の途切れを防止するコンテンツ配信システムを提供することである。
本発明の他の目的は、コンテンツの所定の位置で再生ビットレートの変更が可能なコンテンツ配信システムを提供することである。
課題を解決するための手段及び発明の効果
本発明によるコンテンツ配信システムは、サーバと、サーバに接続されたクライアントとを備える。サーバは、ストリームデータ蓄積手段と、配信手段とを備える。ストリームデータ蓄積手段は、複数のストリームデータを蓄積する。複数のストリームデータは、各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割される。配信手段は、クライアントの要求に対応してストリームデータのパートを配列順にストリーム配信する。クライアントは、バッファ手段と、再生手段と、判断手段と、データ量算出手段と、選択手段と、要求手段とを備える。バッファ手段は、ストリーム配信されたパートを順次蓄積する。再生手段は、バッファ手段に蓄積されたパートを順次再生する。判断手段は、パートの再生が完了したとき、未再生のパートがバッファ手段に蓄積されているか否かを判断する。データ量算出手段は、判断の結果、未再生のパートが蓄積されているとき、未再生のパートの再生時間でバッファ手段に蓄積可能なデータ量を算出する。選択手段は、算出結果に基づいて、サーバに要求するストリームデータ及び配信開始パートを選択する。要求手段は、選択されたストリームデータを、配信開始パートからストリーム配信するよう要求する。
このコンテンツ配信システムでは、クライアントは、予め未再生のパートを蓄積し、未再生のパートの再生時間に蓄積可能なデータ量に基づいてストリームデータを選択し、その未再生のパートを再生している間、選択したストリームデータを順次取得する。そのため、再生すべきデータが枯渇するのを防止でき、コンテンツの再生が途切れるのを防止できる。さらに、ストリームデータをパート単位で順次受信し、再生するため、再生ビットレートをパート単位で変更できる。つまり、再生ビットレートの変更位置を所定の位置(パートとパートとの区切りの位置)とすることができる。各パートを、画質や音質が変化しても視聴への影響が少ない再生位置、たとえば、動画の場合であれば、場面設定が変更する位置等で区切れば、再生ビットレートが変更しても、画質や音質の変化による違和感を抑えることができる。
好ましくは、データ量算出手段は、配信ビットレート特定手段を備える。配信ビットレート特定手段は、パートの再生が完了したとき、サーバから配信されるストリームデータの配信ビットレートを特定する。データ量算出手段は、特定した配信ビットレートと、未再生のパートの再生時間とに基づいて、データ量を算出する。
この場合、パートの再生が完了した時点の配信ビットレートを特定し、データ量を算出する。そのため、データ量算出手段により算出した値を実際に蓄積されるデータ量に近づけることができ、蓄積されるデータ量の予測精度を上げることができる。
好ましくは、クライアントは、ストリーム情報蓄積手段を備える。ストリーム情報蓄積手段は、ストリームデータの各パートのデータ量及び再生時間と、各パートに対応する他のストリームデータのパートとに関するストリーム情報を蓄積する。選択手段は、算出結果とストリーム情報とに基づいて、ストリームデータ及び配信開始パートを選択する。
この場合、ストリーム情報に基づいて、データ量算出手段により算出されたデータ量を
各パートのデータ量と比較し、ストリームデータ及び配信開始パートを選択できる。
好ましくは、判断手段が判断した結果、未再生のパートがバッファ手段に蓄積されていないとき、選択手段は、複数のストリームデータのうち、再生ビットレートが最も低いストリームデータを選択する。
この場合、未再生のパートがバッファ手段に蓄積されていなくても、再生ビットレートが最も低いストリームデータを取得することにより、再生の途切れをある程度防止できる。
本発明によるクライアントプログラムは、各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するサーバに接続可能なクライアントコンピュータに実行させるプログラムである。クライアントプログラムは、サーバからストリーム配信されたパートを順次蓄積するステップと、蓄積されたパートを順次再生するステップと、パートの再生が完了したとき、未再生のパートが蓄積されているか否かを判断するステップと、判断の結果、未再生のパートが蓄積されているとき、未再生のパートの再生時間で蓄積可能なデータ量を算出するステップと、算出結果に基づいて、サーバに要求するストリームデータ及び配信開始パートを選択するステップと、選択されたストリームデータを、配信開始パートからストリーム配信するよう要求するステップとをクライアントコンピュータに実行させる。
このクライアントプログラムは、予め未再生のパートを蓄積し、未再生のパートの再生時間に蓄積可能なデータ量に基づいてストリームデータを選択し、その未再生のパートを再生している間、選択したストリームデータを順次取得する。そのため、再生すべきデータが枯渇するのを防止でき、コンテンツの再生が途切れるのを防止できる。さらに、ストリームデータをパート単位で順次受信し、再生するため、再生ビットレートをパート単位で変更できる。つまり、再生ビットレートの変更位置を所定の位置(パートとパートとの区切りの位置)とすることができる。
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
1.構成
図1を参照して、コンテンツ配信システムは、サーバ(コンピュータ)10と、複数のクライアント(コンピュータ)20とを備える。サーバ10とクライアント20とは、インターネット30経由で接続されるが、LAN(Local Area Network)、WAN(Wide Area Network)、その他のコンピュータネットワークで接続されてもよい。
サーバ10は、動画や音楽等のコンテンツに関する複数のストリームデータを蓄積し、クライアント20からの要求に応答して、ストリームデータをストリーム配信する。要するに、このシステムは、ストリーミング型のコンテンツ配信システムである。
[サーバの構成]
図1を参照して、サーバ10は、ハードディスクドライブ(HDD)11と、CPU12と、メモリ13とを備える。これらは、バス17で互いに接続される。
HDD11は、複数のストリームデータST1〜ST3を蓄積する。ストリームデータST1〜ST3は、同一コンテンツに関するストリームデータであり、互いに異なる再生ビットレートを有する。ストリームデータST1〜ST3の構造については後述する。HDD11は、ストリームデータST1〜ST3と異なるコンテンツに関する複数のストリームデータも蓄積する。
HDD11はさらに、ストリーム情報データベース15とサーバアプリケーション(プログラム)16とを記憶する。ストリーム情報データベース15は、上述した複数のストリームデータに関する情報を登録する。ストリーム情報データベース15については後述する。
サーバアプリケーション(プログラム)16は、クライアント20からの要求に対応したストリームデータをストリーミング配信する。CPU12は、サーバアプリケーション16をメモリ13に読み出して、上記のサーバアプリケーション16の動作を実行する。
[ストリームデータの構造]
図2にストリームデータST1〜ST3のデータ構造を示す。横軸は再生時間を示す。また、各ストリームデータST1〜ST3の面積は、データ量を示す。
ストリームデータST1〜ST3は、互いに異なる再生ビットレートBR1〜BR3を有する。ストリームデータST1の再生ビットレートBR1が最も低く、ストリームデータST2の再生ビットレートBR2は再生ビットレートBR1よりも高く、ストリームデータST3の再生ビットレートBR3が最も高い。したがって、ストリームデータST3のデータ量が最も多く、ストリームデータST1のデータ量が最も少ない。
ストリームデータST1〜ST3のデータ量は互いに異なるものの、その再生時間は同じである(時刻t0〜時刻t8)。同一のコンテンツに基づいて作成されているためである。
各ストリームデータST1〜ST3は、連続的に配列された複数のパート(P0〜P7)に分割される。このとき、各パートPj(パート番号j=0〜7)は、画質や音質が変化しても視聴への影響が少ない再生位置(時刻t1〜t7)で区切られる。たとえば、動画の場合であれば、場面設定が変更される位置等で区切られる。そのため、各パートP0〜P7の再生時間(D0〜D7)は互いに異なる。
ストリームデータST1〜ST3は、同じ再生位置(t1〜t7)で分割されるため、各ストリームデータの同じパートPjは同じ再生時間Djを有する。たとえば、ストリームデータST1のパートP0と、ストリームデータST2のパートP0と、ストリームデータST3のパートP0とは、同じ再生時間D0を有する。
[ストリーム情報データベース]
図3を参照して、ストリーム情報データベース15は、各ストリームデータSTi(レート番号i=1〜3)に関する情報が登録されるデータブロック151で構成される。
各データブロック151は、ストリームデータの識別子STi(たとえばST1)と、再生ビットレート情報BRi(たとえばBR1)とを有する。データブロック151はさらに、パートリストを有する。パートリストは、各ストリームデータSTiのパートPjに関する情報を登録する。具体的には、パートリストは、そのストリームデータSTiが有するパート数分のレコードを有する。各レコードは、パート識別子(たとえばP0、P1等)を登録するフィールドと、再生時間Djを登録するフィールドと、対応するパートPjのデータ量SZ(i,j)を登録するフィールドとを有する。
ストリームデータST1〜ST3のデータブロック151を参照して、各データブロック151の同じ番号のパート識別子は互いに対応する。たとえば、ストリームデータST1のパートP1はストリームデータST2及びST3のパートP1に対応する。上述したとおり、各パート識別子の再生時間は同じであるが、データ量は異なる。
このように、ストリーム情報データベース15は、ストリームデータに関する情報と、各ストリームデータ内の各パートの再生時間、データ量に関する情報と、各ストリームデータのパートに対応する他のストリームデータのパートに関する情報とを含む。
[クライアントの構成]
再び図1を参照して、クライアント20は、HDD21と、CPU22と、メモリ23と、ディスプレイ24とを備える。これらはバス26で相互に接続される。
HDD21は、クライアントアプリケーション(プログラム)25を記憶する。クライアントアプリケーション25は、サーバ10にストリームデータSTiを要求したり、受信したストリームデータSTiのパートPjに基づくコンテンツを再生したりする。クライアントアプリケーション25はさらに、再生中にサーバ10に要求するストリームデータSTiを選択する。詳細は後述する。
HDD21はさらに、内部にバッファ領域27A、27B(これらをまとめてバッファ領域27とも称する)を含む。バッファ領域27は、サーバ10からストリーム配信されたストリームデータSTiを順次蓄積する。バッファ領域27A及び27Bは、互いに異なる再生ビットレートBRiのストリームデータSTiを蓄積する。
なお、HDD21はサーバ10から送信されたストリーム情報データベース15を記憶する。
CPU22は、クライアントアプリケーション25をメモリ23に読み出して、以下に説明するクライアント20の動作を実行する。
2.動作
2.1.概要
本実施の形態によるコンテンツ配信システムでは、クライアント20が、サーバ10から配信されたストリームデータSTiを受信しながら再生する。このとき、クライアント20は、各パートPjの再生を完了するごとに、次のパートPj+1のデータ量SZ(i,j+1)が既にバッファ領域27に蓄積されているか否かを判断する。蓄積されている場合、次のパートPj+1の再生時間中にバッファ領域27に蓄積可能なデータ量を算出し、その算出結果に基づいて、サーバに要求するストリームデータSTiを選択する。
図4は、クライアント20がサーバ10からストリームデータSTiを受信しながら再生しているときの、配信ビットレートBRcurの変動と、時刻tにバッファ領域27に蓄積されるデータ量DL(t)とを示すグラフである。配信ビットレートBRcurとは、サーバ10からクライアント20にストリーム配信されるデータの配信時のビットレート(bit/sec)である。図4中の上部グラフが配信ビットレートBRcurの変動を示し、縦軸はビットレート(bit/sec)である。図4中の下部のグラフは、バッファ領域27に蓄積されるデータ量DL(t)を示し、縦軸はデータ量(bytes)である。グラフ中のDST1〜DST3は、各ストリームデータST1〜ST3の再生に必要なデータ量を示す。なお、いずれのグラフも、横軸は時間(sec)である。
図4を参照して、クライアント20は、初めにストリームデータSTi(たとえばST3)をサーバ10に要求する。クライアント20は、サーバ10からストリームデータST3を受け、バッファ領域27に蓄積する。蓄積したデータ量が所定のデータ量DL(t0)となったとき、クライアント20は再生を開始する。時刻t0〜時刻t2において、配信ビットレートBRcurは、再生ビットレートBR3よりも高い。そのため、再生するデータ量よりも受信するデータ量の方が多くなる。つまり、図4中のDL(t)の傾きの方が、DST3の傾きよりも大きくなる。そのため、バッファ領域27にデータが順次蓄積される。
クライアント20は、パートP0の再生が終了した時刻t1において、サーバに要求するストリームデータSTiを選択する(データ要求処理:図6)。データ要求処理では、次のパート(パートP1)の全データ量SZ(3,1)が既にバッファ領域27に蓄積されているか判断し、既に蓄積されている場合、パートP1の再生時間D1中にバッファ領域27に蓄積可能なデータ量に基づいて、再生ビットレートBR3(ストリームデータST3)を変更するか否かを判断する。時刻t1では、データ量SZ(3,1)が既にバッファ領域27に蓄積されており、かつ、再生ビットレートBR3のまま維持すると判断し、そのまま再生を継続する。
時刻t21で配信ビットレートBRcurは低下し、再生ビットレートBR3よりも低くなる。そのため、時刻t21以降、バッファ領域27に蓄積されているデータ量DL(t)は減少する。つまり、図4中のDL(t)の傾きの方が、DST3の傾きよりも小さくなる。
クライアント20は、時刻t3でデータ要求処理を実施し、次のパートP3のデータ量SZ(3,3)は既に蓄積しているものの、このまま再生を続けると、パートP4の再生中に蓄積したデータが枯渇する(図4中のDL(t)がDST3よりも低くなる)と判断する。このとき、クライアント20は、再生するデータをストリームデータST2(ビットレートBR2)に切り替えればパートP4以降も再生が途切れないと判断し、サーバ10にストリームデータST2をパートP4から配信するよう要求する。この動作により、クライアント20は時刻t4(パートP4)以降ストリームデータST2を再生する。
時刻t51で配信ビットレートBRcurは再び上昇し、再生ビットレートBR3よりも高くなる。クライアント20は、時刻t6で、ストリームデータST2のパートP6のデータSZ(2,6)を既に蓄積していると判断し、さらに、パートP6の再生時間D6中にストリームデータST3(再生ビットレートBR3)のパートP7のデータSZ(3,7)を蓄積できると判断する。その結果、時刻t6でクライアント20は、サーバ10にストリームデータST3をパートP7から配信するよう要求する。クライアント20は、再生時間D6中にストリームデータST3のパートP7のデータSZ(3,7)を取得し、時刻t7以降にそのデータを再生する。
以上のとおり、クライアント20は、パートPjの再生を完了したとき、原則として、次に再生すべきパートPj+1を蓄積する。さらに、パートPj+1の再生時間Dj+1中に蓄積可能なデータ量に基づいて、次のパートPj+2のデータをどの再生ビットレートBRi(ストリームデータSTi)にするか選択し、選択したストリームデータSTiのパートPj+2を取得する。そのため、コンテンツの再生が途切れるのを防止できる。
さらに、再生ビットレートBRiを切り替える場合、クライアント20は、パートPj単位で切り替える。各パートPjは、画質や音質が変更しても違和感が少ない位置で予め区切られているため、画質や音質が変化することによる視聴への影響を極力抑えることができる。また、再生ビットレートBRi(ストリームデータSTi)の変更をクライアント20で判断するため、サーバの負荷が軽減される。以下、フロー図を用いてコンテンツ配信システムの動作を詳述する。
2.2.全体動作
図5を参照して、まず、クライアント20は、所望のコンテンツのストリーム情報データベース15を要求する(S1)。サーバ10は、クライアント20からの要求を監視し(S2)、要求を受けたとき(S2でYES)、対応するストリーム情報データベース15を送信する(S3)。
クライアント20はストリーム情報データベース15を受け、各ストリームデータST1〜ST3の再生ビットレートBR1〜BR3に関する情報をディスプレイ24に表示する。クライアント20のユーザは、ディスプレイ24を参照し、再生ビットレート(たとえばBR3)を選択する。クライアント20は、ユーザ操作に基づいて、選択された再生ビットレートBR3のストリームデータST3をパートP0から配信するようサーバ10に要求する(S4)。具体的には、クライアント20は、ストリーム情報データベース15を参照し、ビットレート情報BR3に対応したストリームデータ識別子=ST3と、パート識別子=P0とを含む配信要求コマンドをサーバ10に送信する。
サーバ10は、クライアント20からの配信要求を監視し(S5)、配信要求コマンドを受けたとき(S5でYES)、配信要求コマンドに基づいてストリームデータST3をパートP0からストリーム配信する(S6)。
クライアント20は、サーバ10からデータを受信したか否かを監視し(S7)、データを受信したとき(ステップS7でYES)、受信したデータをバッファ領域27に順次蓄積する(S8)。このとき、クライアント20は、バッファ領域27A、27Bのいずれか(たとえば27A)を受信バッファに指定し、受信バッファに指定されたバッファ領域27Aにデータを蓄積する。以降、受信バッファに指定されたバッファ領域27を単に受信バッファとも称する。
クライアント20は、受信バッファに蓄積されたデータ量DL(t)がパートP0のデータ量SZ(3,0)を超えたか否かを判断し(S9)、超えたとき(S9でYES)、パートP0の再生を開始する(S10)。このとき、クライアント20はデータ量DL(t)を有するバッファ領域27Aを再生バッファに指定し、指定された再生バッファからデータを読み出し、パートP0の再生を開始する。この場合、1つのバッファ領域27Aが受信バッファ及び再生バッファとして機能する。以降、再生バッファに指定されたバッファ領域17を単に再生バッファとも称する。
再生後、クライアント20は、各パートPjの再生を完了するごとに、サーバ10に要求するストリームデータSTiを選択し、選択したストリームデータSTiの配信を要求する(S11:データ要求処理)。サーバ10は、クライアント20の要求に応答して、ストリームデータSTiを配信する(S12)。サーバ10は、ストリームデータSTiの最後のパートP7の配信を完了したとき(S14でYES)、動作を終了する。
クライアント20は、サーバ10から受信したストリームデータSTiの再生を継続し(S13:再生処理)、ストリームデータSTiを全て再生したときに動作を終了する。
ステップS11のデータ要求処理と、ステップS13の再生処理とは、各パートPjの再生が完了するごとに実施される。以下、データ要求処理及び再生処理について説明する。
2.3.データ要求処理
データ要求処理は、各パートPjの再生が完了するごとに実行される。データ要求処理は、まず、要求するストリームデータSTi及び配信を開始するパート(配信開始パート)Pjを選択する(図6:ストリームデータ選択処理)。続いて、選択したストリームデータSTiを配信開始パートPjから配信するよう要求する(図7:要求処理)。
2.3.1.ストリームデータ選択処理
クライアント20は、パートPjの再生を完了したとき、次のパートPjの全データを既に蓄積しているか否かを判断する。蓄積している場合、次のパートPjの再生時間Dj中に受信バッファに蓄積可能な受信データ量に基づいて、再生ビットレートBRiを変更するか否か判断し、要求するストリームデータSTiを選択する。以下、詳細を説明する。
図6を参照して、パートPj(たとえばj=0)の再生が完了し(S21でYES)、かつ、パートPjが最終パートP7でない場合(S22でNO)、クライアント20は、現在の配信ビットレートBRcurを特定する(S23)。具体的には、以下の式(1)に基づいて、現在の配信ビットレートBRcur(bit/sec)を算出する。
BRcur=(DL(tj+1)−DL(tj))×8/Dj (1)
j=0の場合、BRcur=(DL(t1)−DL(t0)/D0となる。要するに、再生が完了したパートPjの再生時間Dj(sec)と、その再生時間中にバッファに蓄積された受信データ量DL(tj+1)−DL(tj)(bytes)とに基づいて、配信ビットレートBRcurを算出する。配信ビットレートBRcurは再生ビットレートを変更するか否かを判断するときに利用される。
次に、クライアント20はパート番号jをインクリメントし、(S24、j=1とする)、次に再生する予定のパートPj(パートP1)がバッファ領域27に蓄積されているか否かを判断する(S25)。具体的には、クライアント20は、以下の式(2)を満たすか否かを判断する。
DLunused(tj)≧SZ(i,j) (2)
ここで、DLunused(tj)は、時刻tjにバッファ領域27に蓄積されたストリームデータSTiの未再生データ量を示す。たとえば、時刻t1におけるステップS25の判断では、DLunused(t1)≧SZ(i,1)を満たすか否かを判断する。クライアント20は、ストリーム情報データベース15に基づいて各パートPjのデータ量SZ(i,j)を特定する。
判断の結果、式(2)を満たさない場合(S25でNO)、クライアント20は、次に再生する予定のパートPjの全データ量を蓄積しておらず、パートPjの一部のデータのみ蓄積している。そのため、クライアント20は、受信バッファに蓄積されたパートPjの部分データを再生せず、代わりに再生するデータとして、最も低い再生ビットレートBR1を有するストリームデータST1を選択し、配信開始パートをPjとする(S35)。ストリームデータST1は、各パートPjのデータ量SZ(1,j)が最も少ないため、サーバ10からデータを受信しながら再生しても、再生の途切れを可能な限り防止できるためである。
一方、ステップS25での判断の結果、式(2)を満たす場合(S25でYES)、クライアント20は、次に再生するパートPjのデータ量SZ(i,j)を既に受信バッファに蓄積している。そのため、パートPjの再生時間Dj中に、次のパートPj+1のデータを順次蓄積することができる。そこで、クライアント20は、ストリームデータST1〜ST3のうち、いずれのストリームデータSTiのパートPj+1を要求するか検討する(S20)。
まず、クライアント20は、既に蓄積されたストリームデータSTiのパートPjの再生が完了したときに、ストリームデータSTiのパートPj+1の全データを蓄積できるか否かを判断する(S26)。このとき、クライアント20は、以下の式(3)を満たすか否かを判断する。
DLunused(tj)+(BRcur×Dj/8)≧SZ(i,j)+SZ(i,j+1) (3)
ここで、クライアント20は、ストリーム情報データベース15に基づいて、各パートPjの再生時間Djを特定する。
式(3)を満たさない場合(S26でNO)、クライアント20は、パートPjの再生完了時に次のパートPj+1の全データを蓄積できない。そのため、クライアント20は再生ビットレートBRiを下げる検討を行う(S27〜S29)。一方、式(3)を満たす場合(S26でYES)、パートPjの再生完了時に、次のパートPj+1の全データを蓄積できる。つまり、少なくとも今の再生ビットレートBRiで再生を継続できる。したがってこの場合、再生ビットレートBRiをさらに上げることができるか否かを検討する(S30〜S33)。以下、再生ビットレートBRiを下げる場合(S27〜S29)と、上げる場合(S30〜S33)とについて、具体例を挙げながら説明する。
[再生ビットレートを下げる検討(S27〜S29)]
ストリームデータST3を受信しながら再生を実行している場合であって、図4中の時刻t3においてデータ要求処理を実行したとき、クライアント20は、ステップS26で式(3)を満たさないと判断する(S26でNO)。つまり、パートP3の再生終了時にパートP4の全データ量SZ(3,4)を蓄積できないと判断する。
このとき、クライアント20は再生ビットレートBRiを下げる検討を行う。具体的には、再生時間D3中にパートP4のデータ量SZ(i,4)を取得できるストリームデータSTiを選択する。
クライアント20は、レート番号i=i−1(つまりレート番号i=2)にデクリメントする(S27)。デクリメントしたレート番号2は最小値=1でないため(S28でNO)、クライアント20は、ストリームデータST2のパートPj+1(つまりパート4)が、以下の式(4)を満たすか否かを判断する(S29)。
BRcur×Dj/8≧SZ(i,j+1) (4)
BRcur×D3/8≧SZ(2,4)となり、式(4)を満たす場合(S29でYES)、再生時間D3内にストリームデータST2のパートP4のデータ量SZ(2,4)を取得できるため、サーバ10に要求するストリームデータとしてストリームデータST2を選択し、配信開始パートをP4とする(S34)。一方、式(4)を満たさない場合(S29でNO)、ステップS27に戻り、レート番号iをさらにデクリメントしてステップS28及びS29の判断を実行し、要求するストリームデータSTiを選択する(S34)。なお、レート番号iをデクリメントした結果、ステップS28でレート番号i=1と判断したとき(S28でYES)、クライアント20は、ストリームデータST1を選択し、配信開始パートをP4とする(S34)。
[再生ビットレートを上げる検討(S30〜S33)]
ストリームデータST2を受信しながら再生している場合であって、図4中の時刻t6においてデータ要求処理を実行したとき、クライアント20は、ステップS26で式(3)を満たすと判断する(S26でYES)。つまり、パートP6の再生完了時である時刻t7に、ストリームデータST2のパートP7の全データ量SZ(2,7)を蓄積できると判断する。
このとき、クライアント20は、現在よりも高いビットレートBRiのストリームデータSTiを要求できるか否かを検討する。
クライアント20は、レート番号i=i+1(つまりレート番号i=3)にインクリメントする(S30)。続いて、クライアント20は、ストリームデータST3のパートPj+1(すなわちパートP7)が、式(4)を満たすか否かを判断する(S31)。
BRcur×D6/8≧SZ(3,7)となり、式(4)を満たすとき(S31でYES)、現在よりも高いビットレートのストリームデータST3を取得できる。ここで、レート番号iが最大(=3)であるか否かを判断し(S33)、レート番号iが最大であるため(S33でYES)、クライアント20は、ストリームデータST3を選択し、配信開始パートをパートP7とする(S34)。
なお、ステップS33で判断した結果、レート番号iが最大でない場合(S33でNO)、さらに再生ビットレートBRiを上げることができるか否かを検討するために、ステップS30に戻り、ステップS31〜S33を実行する。ステップS31で式(4)を満たさなくなったとき(S31でNO)、そのストリームデータSTiのパートPj+1のデータ量SZ(i,j+1)を再生時間Dj中に蓄積できないため、レート番号iをデクリメントして1つ下のレート番号iに戻し(S32)、戻したレート番号iのストリームデータSTiを選択し、パートPj+1を配信開始パートにする(ステップS34)。
以上のストリーム選択処理により、次に再生するパートPjの再生時間Dj中にパートPj+1の全データSZ(i,j+1)を取得できるストリームデータSTi(再生ビットレートBRi)を選択する。そのため、再生すべきデータが途中で枯渇せず、再生の途切れを防止できる。
2.3.2.要求処理
図7を参照して、図6で示したストリームデータ選択処理を実行後(S111)、クライアント20は、選択したストリームデータSTiが、現在受信しているストリームデータSTiと同じか否かを判断する(S51)。同じである場合(S51でYES)、クライアント20は既にそのストリームデータSTiを受信し続けているため、そのまま受信を継続する。要するに、この場合はサーバ10に配信要求コマンドを送信しない。
一方、選択したストリームデータSTi(たとえばST2)が現在受信しているストリームデータSTi(たとえばST3)と異なる場合(S51でNO)、クライアント20は、サーバ10に対して、選択されたストリームデータST2を、配信開始パートPj+1から配信するよう要求する(S54)。具体的には、クライアント20は、ストリーム情報データベース15に基づいて、ストリームデータ識別子=ST2と、パート識別子=Pj+1とを含む新たな配信要求コマンドを送信する。
なお、新たな配信要求を送信する前に、クライアント20は、バッファ領域27A及び27Bのうち、現在受信バッファに指定されているバッファ領域(たとえば27A)を切り替え(S52)。バッファ領域27Bを受信バッファとする。さらに、新たに受信バッファに指定されたバッファ領域27Bに蓄積されているデータを消去しておく(S53)。
サーバ10は、新たな配信要求コマンドを受けたとき、今まで配信していたストリームデータST3の配信を停止し、選択されたストリームデータST2を、配信開始パートPj+1から配信する(S55)。
クライアント20はサーバ10から配信されたストリームデータST2を受け、ステップS52で指定した受信バッファ(バッファ領域27B)に蓄積する。
以上に示したとおり、今まで受信していたストリームデータST3と異なる新たなストリームデータST2を受信する場合、ストリームデータST2をストリームデータST3を蓄積しているバッファ領域27Aと異なるバッファ領域27Bに蓄積する。
異なるビットレートBRiのストリームデータSTiを同一のバッファ領域に蓄積すると、再生処理が煩雑になる。そこで、異なるビットレートBRiのストリームデータSTiを異なるバッファ領域27A及び27Bに蓄積し、受信バッファを再生バッファと分けることにより再生処理を容易にする。以下、再生処理について説明する。
2.4.再生処理
再生処理は、各パートPjの再生が完了するごとに実施される。図8を参照して、クライアント20は、再生中のストリームデータSTi(たとえばST3)のパートPjの再生が完了したか否かを判断する(S61)。再生が完了したとき(S61でYES)、再生を完了したパートPjが最終のパートP7であるか否かを判断する(S62)。パートP7である場合(S62でYES)、コンテンツは全て再生されたため、再生を停止し(S68)、再生処理を終了する。
再生を完了したパートPjがパートP7でない場合(S62でNO)、再生は継続される。このとき、クライアント20は、ストリームデータST3のパートPjの再生完了時に、受信バッファと再生バッファとが同一であるか否かを判断する(S63)。つまり、1つのバッファ領域(27A又は27B)が再生バッファ及び受信バッファとして機能していたか否かを判断する。
再生バッファと受信バッファが同一でない場合(S63でNO)、クライアント20は、ストリームデータST3のパートPjの再生時間Dj中に、異なるストリームデーSTi(たとえばST2)のデータを取得している。そのため、次に再生するパートPjは、今までの再生バッファ(たとえばバッファ領域27A)と異なるバッファ領域(たとえば27B)に蓄積されている。したがって、再生バッファを切り替え(S65)、今までと異なるバッファ領域27Bを再生バッファに指定する。さらに、次に再生するパートPjは、今までの再生ビットレートBR3と異なる再生ビットレートBR2であるため、再生ビットレートをBR3からBR2に変更し(S66)、再生を開始する(S67)。
一方、パートPjの再生完了時に、再生バッファと受信バッファとが同一である場合(S63でYES)、パート番号jをインクリメントし(S69)、次に再生するストリームデータST3のパートPjのデータ量SZ(3,j)が蓄積されているか否かを判断する(S64)。
ここで、データ量SZ(3,j)が蓄積されていない場合(S64でNO)とは、図6中のステップS25で式(2)を満たさない場合に相当し、最も低いビットレートBR1のストリームデータST1のパートPjを受信と同時に再生する場合である。この場合、受信と同時に再生を行うため、受信バッファと再生バッファとを同じバッファ領域27にする必要がある。そのため、再生バッファを切り替え(S65)、図7に示した要求処理中のステップS52で切り替えられた受信バッファと再生バッファとを同じバッファ領域27とする。続いて、再生ビットレートBRiをBR1として(S66)、再生を開始する(S67)。これにより、ストリームデータST1を受信と同時に再生できる。
ステップS64の判断の結果、次に再生するパートPj(ストリームデータST3)のデータ量SZ(3,j)が蓄積されている場合(S64でYES)、次に再生されるパートPjは、今まで再生してきたデータと同じ再生ビットレートBR3であるため、今までと同じ再生ビットレートBR3で再生を開始する(S67)。
以上のとおり、受信バッファと再生バッファとが同一であるか否かの判断と、再生バッファ中に次に再生するパートPjが蓄積されているか否かの判断を実行すれば、次に再生するパートPjの再生ビットレートBRiを判断できる。
上述したコンテンツ配信システムでは、式(1)に基づいて配信ビットレートBRcurを特定したが、他の方法により配信ビットレートBRcurを特定してもよい。たとえば、各再生時間Dj中の配信ビットレートの変動を測定し、その測定値に基づいて、次に再生するパートPjの再生中の配信ビットレートBRcurの変動を予測してビットレートBRcurを特定してもよい。
また、ストリームデータ選択処理(図6)において、ステップS31の判断基準を厳しくしてもよい。たとえば、ステップS31において、式(4)の代わりに以下の式(5)を用いてもよい。
BRcur×Dj/8≧SZ(i,j+1)+SZ(i,j+2) (5)
この場合、再生ビットレートBRiは上がりにくくなるが、ストリームデータSTiの選択の変更頻度は低下するため、コンテンツの画質や音質の変更頻度を抑えることができる。
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
本発明の実施の形態によるコンテンツ配信システムの構成を示す機能ブロック図である。 図1に示したサーバに蓄積されるストリームデータの構造の詳細を示す図である。 図1に示したサーバ及びクライアントに蓄積されるストリーム情報データベースのデータ構造の詳細を示す図である。 図1に示したコンテンツ配信システムにおける配信ビットレートとクライアントに蓄積されるデータ量との関係を示す図である。 図1に示したコンテンツ配信システムの動作を示すフロー図である。 図5中のステップS11の動作のうち、ストリームデータ選択処理の詳細を示すフロー図である。 図5中のステップS11の動作のうち、図6のストリームデータ選択処理以降に実施される要求処理の動作を示すフロー図である。 図5中のステップS13の動作を示すフロー図である。
符号の説明
10 サーバ
11、21 ハードディスクドライブ
15 ストリーム情報データベース
16 サーバアプリケーション
20 クライアント
23 メモリ
25 クライアントアプリケーション
27、27A、27B バッファ領域

Claims (9)

  1. サーバと、前記サーバに接続されたクライアントとを備えたコンテンツ配信システムであって、
    前記サーバは、
    各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するストリームデータ蓄積手段と、
    前記クライアントの要求に対応して前記ストリームデータのパートを配列順にストリーム配信する配信手段とを備え、
    前記クライアントは、
    前記ストリーム配信された前記パートを順次蓄積するバッファ手段と、
    前記バッファ手段に蓄積された前記パートを順次再生する再生手段と、
    前記パートの再生が完了したとき、未再生のパートが前記バッファ手段に蓄積されているか否かを判断する判断手段と、
    判断の結果、前記未再生のパートが蓄積されているとき、前記未再生のパートの再生時間で前記バッファ手段に蓄積可能なデータ量を算出するデータ量算出手段と、
    前記算出結果に基づいて、前記サーバに要求するストリームデータ及び配信開始パートを選択する選択手段と、
    前記選択されたストリームデータを、前記配信開始パートからストリーム配信するよう要求する要求手段とを備えることを特徴とするコンテンツ配信システム。
  2. 請求項1に記載のコンテンツ配信システムであって、
    前記データ量算出手段は、
    前記パートの再生が完了したとき、前記サーバから配信される前記ストリームデータの配信ビットレートを特定する配信ビットレート特定手段を備え、
    前記特定した配信ビットレートと、前記未再生のパートの再生時間とに基づいて、前記データ量を算出することを特徴とするコンテンツ配信システム。
  3. 請求項1又は請求項2に記載のコンテンツ配信システムであって、
    前記クライアントは、
    前記ストリームデータの各パートのデータ量及び再生時間と、前記各パートに対応した他のストリームデータのパートとに関するストリーム情報を蓄積するストリーム情報蓄積手段を備え、
    前記選択手段は、前記算出結果と前記ストリーム情報とに基づいて、前記ストリームデータ及び配信開始パートを選択することを特徴とするコンテンツ配信システム。
  4. 請求項1〜請求項3のいずれか1項に記載のコンテンツ配信システムであって、
    前記判断の結果、前記未再生のパートが前記バッファ手段に蓄積されていないとき、前記選択手段は、前記複数のストリームデータのうち、前記再生ビットレートが最も低いストリームデータを選択することを特徴とするコンテンツ配信システム。
  5. 各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するサーバに接続可能なクライアントであって、
    前記サーバからストリーム配信された前記パートを順次蓄積するバッファ手段と、
    前記バッファ手段に蓄積された前記パートを順次再生する再生手段と、
    前記パートの再生が完了したとき、未再生のパートが前記バッファ手段に蓄積されているか否かを判断する判断手段と、
    判断の結果、前記未再生のパートが蓄積されているとき、前記未再生のパートの再生時間で前記バッファ手段に蓄積可能なデータ量を算出するデータ量算出手段と、
    前記算出結果に基づいて、前記サーバに要求するストリームデータ及び配信開始パートを選択する選択手段と、
    前記選択されたストリームデータを、前記配信開始パートからストリーム配信するよう要求する要求手段とを備えることを特徴とするクライアント。
  6. 請求項5に記載のクライアントであって、
    前記データ量算出手段は、
    前記パートの再生が完了したとき、前記サーバから配信される前記ストリームデータの配信ビットレートを特定する配信ビットレート特定手段を備え、
    前記特定した配信ビットレートと、前記未再生のパートの再生時間とに基づいて、前記データ量を算出することを特徴とするクライアント。
  7. 請求項5又は請求項6に記載のクライアントであって、
    前記ストリームデータの各パートのデータ量及び再生時間と、前記各パートに対応した他のストリームデータのパートとに関するストリーム情報を蓄積可能なストリーム情報蓄積手段を備え、
    前記選択手段は、前記算出結果と前記ストリーム情報とに基づいて、前記ストリームデータ及び配信開始パートを選択することを特徴とするクライアント。
  8. 請求項5〜請求項7のいずれか1項に記載のクライアントであって、
    前記判断の結果、前記未再生のパートが前記バッファ手段に蓄積されていないとき、前記選択手段は、前記複数のストリームデータのうち、前記再生ビットレートが最も低いストリームデータを選択することを特徴とするクライアント。
  9. 各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するサーバに接続可能なクライアントコンピュータに実行させるクライアントプログラムであって、
    前記サーバからストリーム配信された前記パートを順次蓄積するステップと、
    前記蓄積された前記パートを順次再生するステップと、
    前記パートの再生が完了したとき、未再生のパートが蓄積されているか否かを判断するステップと、
    判断の結果、前記未再生のパートが蓄積されているとき、前記未再生のパートの再生時間で蓄積可能なデータ量を算出するステップと、
    前記算出結果に基づいて、前記サーバに要求するストリームデータ及び配信開始パートを選択するステップと、
    前記選択されたストリームデータを、前記配信開始パートからストリーム配信するよう要求するステップとをクライアントコンピュータに実行させるクライアントプログラム。
JP2005217031A 2005-07-27 2005-07-27 コンテンツ配信システム、クライアント及びクライアントプログラム Pending JP2007036666A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005217031A JP2007036666A (ja) 2005-07-27 2005-07-27 コンテンツ配信システム、クライアント及びクライアントプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005217031A JP2007036666A (ja) 2005-07-27 2005-07-27 コンテンツ配信システム、クライアント及びクライアントプログラム

Publications (1)

Publication Number Publication Date
JP2007036666A true JP2007036666A (ja) 2007-02-08

Family

ID=37795373

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005217031A Pending JP2007036666A (ja) 2005-07-27 2005-07-27 コンテンツ配信システム、クライアント及びクライアントプログラム

Country Status (1)

Country Link
JP (1) JP2007036666A (ja)

Cited By (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008271170A (ja) * 2007-04-20 2008-11-06 Hitachi Ltd 受信装置および受信方法
JP2010028455A (ja) * 2008-07-18 2010-02-04 Sony Corp データ構造、再生装置および方法、並びにプログラム
WO2010088030A3 (en) * 2009-01-29 2010-10-21 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
JP2011035924A (ja) * 2010-09-24 2011-02-17 Hitachi Ltd コンテンツ再生装置およびコンテンツ再生方法
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
US8270473B2 (en) 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
JP2012222530A (ja) * 2011-04-06 2012-11-12 Sony Corp 受信装置及び方法、並びにプログラム
US8311115B2 (en) 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
CN102812683A (zh) * 2010-02-19 2012-12-05 瑞典爱立信有限公司 用于在http流传输中进行自适应的方法和装置
JP2013520119A (ja) * 2010-02-19 2013-05-30 トムソン ライセンシング アダプティブ・ストリーミングのマルチパス配信
JP2013524603A (ja) * 2010-04-01 2013-06-17 トムソン ライセンシング チャンクの形態でストリーミングされたコンテンツを回復する方法
JP2013526150A (ja) * 2010-04-16 2013-06-20 マイクロソフト コーポレーション 再生品質が改善されたメディアコンテンツ
JP2013219819A (ja) * 2009-07-24 2013-10-24 Netflix Inc デジタルコンテンツの配布のための適応型ストリーミング
US8588293B2 (en) 2007-08-01 2013-11-19 Nec Corporation Moving image data distribution system, its method, and its program
JP2013543296A (ja) * 2010-09-08 2013-11-28 フル・エルエルシー 適応ビットレート切換えのための方法および装置
JP2014501048A (ja) * 2010-10-04 2014-01-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ストリーミングの適応制御における方法及び装置
JP2014506430A (ja) * 2011-01-05 2014-03-13 ソニック アイピー, インコーポレイテッド ハイパーテキスト転送プロトコルを使用してMatroskaコンテナファイル中に記憶されるメディアの適応型ビットレートストリーミング
JP2014506748A (ja) * 2011-01-21 2014-03-17 ネットフリックス・インコーポレイテッド 適応ストリーミングのための様々なビットのビデオストリーム
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
WO2014083960A1 (ja) * 2012-11-29 2014-06-05 日本電気株式会社 パケット転送制御装置および通信システム
JP2014131307A (ja) * 2014-02-06 2014-07-10 Sony Corp 情報処理装置、情報処理方法およびプログラム
JP2014519259A (ja) * 2011-05-17 2014-08-07 アルカテル−ルーセント ビデオコンテンツをストリーミングする方法、ビデオコンテンツストリーミングを監視するためのネットワーク内ノード
JP2014520422A (ja) * 2011-05-18 2014-08-21 トムソン ライセンシング 受信ビットレートの動的適応方法および関連する受信機
JP2015053677A (ja) * 2009-09-22 2015-03-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated シグナリング又はブロック生成を用いた拡張ブロック−要求ストリーミングシステム
US9009337B2 (en) 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
US9014545B2 (en) 2009-07-24 2015-04-21 Netflix, Inc. Adaptive streaming for digital content distribution
JP2015515788A (ja) * 2012-03-13 2015-05-28 グーグル・インコーポレーテッド 予測アダプティブメディアストリーミング
JP2016007026A (ja) * 2009-11-13 2016-01-14 サムスン エレクトロニクス カンパニー リミテッド 部分化を利用した適応的なストリーミング方法及びその装置
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
JP2016040919A (ja) * 2015-10-09 2016-03-24 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9621522B2 (en) 2011-09-01 2017-04-11 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9699486B2 (en) 2010-02-23 2017-07-04 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data
US9712890B2 (en) 2013-05-30 2017-07-18 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9756364B2 (en) 2009-12-07 2017-09-05 Samsung Electronics Co., Ltd. Streaming method and apparatus operating by inserting other content into main content
JP2017157958A (ja) * 2016-02-29 2017-09-07 Kddi株式会社 クライアント装置および方法
US9860573B2 (en) 2009-11-13 2018-01-02 Samsung Electronics Co., Ltd. Method and apparatus for providing and receiving data
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9967598B2 (en) 2009-11-13 2018-05-08 Samsung Electronics Co., Ltd. Adaptive streaming method and apparatus
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US10212486B2 (en) 2009-12-04 2019-02-19 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US10225299B2 (en) 2012-12-31 2019-03-05 Divx, Llc Systems, methods, and media for controlling delivery of content
US10382832B2 (en) 2016-02-29 2019-08-13 Fuji Xerox Co., Ltd. Information processing apparatus and information processing method
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US10437896B2 (en) 2009-01-07 2019-10-08 Divx, Llc Singular, collective, and automated creation of a media guide for online content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US10687095B2 (en) 2011-09-01 2020-06-16 Divx, Llc Systems and methods for saving encoded media streamed using adaptive bitrate streaming
USRE48360E1 (en) 2009-11-13 2020-12-15 Samsung Electronics Co., Ltd. Method and apparatus for providing trick play service
US10878065B2 (en) 2006-03-14 2020-12-29 Divx, Llc Federated digital rights management scheme including trusted systems
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
US11457054B2 (en) 2011-08-30 2022-09-27 Divx, Llc Selection of resolutions for seamless resolution switching of multimedia content

Cited By (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11886545B2 (en) 2006-03-14 2024-01-30 Divx, Llc Federated digital rights management scheme including trusted systems
US12470781B2 (en) 2006-03-14 2025-11-11 Divx, Llc Federated digital rights management scheme including trusted systems
US10878065B2 (en) 2006-03-14 2020-12-29 Divx, Llc Federated digital rights management scheme including trusted systems
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US11477253B2 (en) 2006-06-09 2022-10-18 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US8255679B2 (en) 2007-04-20 2012-08-28 Hitachi Consumer Electronics Co., Ltd. Receiver and receiving method
KR101145527B1 (ko) * 2007-04-20 2012-05-15 히다찌 컨슈머 일렉트로닉스 가부시끼가이샤 수신 장치 및 수신 방법
WO2008132877A1 (ja) * 2007-04-20 2008-11-06 Hitachi, Ltd. 受信装置および受信方法
JP2008271170A (ja) * 2007-04-20 2008-11-06 Hitachi Ltd 受信装置および受信方法
US8588293B2 (en) 2007-08-01 2013-11-19 Nec Corporation Moving image data distribution system, its method, and its program
JP2010028455A (ja) * 2008-07-18 2010-02-04 Sony Corp データ構造、再生装置および方法、並びにプログラム
US9009337B2 (en) 2008-12-22 2015-04-14 Netflix, Inc. On-device multiplexing of streaming media content
US10484694B2 (en) 2008-12-22 2019-11-19 Netflix, Inc. On-device multiplexing of streaming media content
US11589058B2 (en) 2008-12-22 2023-02-21 Netflix, Inc. On-device multiplexing of streaming media content
US10437896B2 (en) 2009-01-07 2019-10-08 Divx, Llc Singular, collective, and automated creation of a media guide for online content
JP2012516644A (ja) * 2009-01-29 2012-07-19 マイクロソフト コーポレーション 適応ビデオ・ストリーミングのための可変ビット・レートおよび動的解像度を用いた多ビット・レート・ビデオ・エンコーディング
CN102301710B (zh) * 2009-01-29 2013-03-13 微软公司 使用用于自适应视频流传输的可变比特率和动态分辨率的多比特率视频编码
US8396114B2 (en) 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8311115B2 (en) 2009-01-29 2012-11-13 Microsoft Corporation Video encoding using previously calculated motion information
WO2010088030A3 (en) * 2009-01-29 2010-10-21 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US8270473B2 (en) 2009-06-12 2012-09-18 Microsoft Corporation Motion based dynamic resolution multiple bit rate video encoding
JP2013219819A (ja) * 2009-07-24 2013-10-24 Netflix Inc デジタルコンテンツの配布のための適応型ストリーミング
US9648385B2 (en) 2009-07-24 2017-05-09 Netflix, Inc. Adaptive streaming for digital content distribution
US9769505B2 (en) 2009-07-24 2017-09-19 Netflix, Inc. Adaptive streaming for digital content distribution
US9521354B2 (en) 2009-07-24 2016-12-13 Netflix, Inc. Adaptive streaming for digital content distribution
US9014545B2 (en) 2009-07-24 2015-04-21 Netflix, Inc. Adaptive streaming for digital content distribution
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US11743317B2 (en) 2009-09-22 2023-08-29 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
JP2015053677A (ja) * 2009-09-22 2015-03-19 クゥアルコム・インコーポレイテッドQualcomm Incorporated シグナリング又はブロック生成を用いた拡張ブロック−要求ストリーミングシステム
US10855736B2 (en) 2009-09-22 2020-12-01 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US11770432B2 (en) 2009-09-22 2023-09-26 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US12155715B2 (en) 2009-09-22 2024-11-26 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
JP2016174363A (ja) * 2009-09-22 2016-09-29 クゥアルコム・インコーポレイテッドQualcomm Incorporated シグナリング又はブロック生成を用いた拡張ブロック−要求ストリーミングシステム
US8812735B2 (en) 2009-10-15 2014-08-19 Sony Corporation Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server
KR20170070857A (ko) * 2009-10-15 2017-06-22 소니 주식회사 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR101868280B1 (ko) * 2009-10-15 2018-06-15 소니 주식회사 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR20170070856A (ko) * 2009-10-15 2017-06-22 소니 주식회사 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR101868281B1 (ko) * 2009-10-15 2018-06-15 소니 주식회사 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
KR101750558B1 (ko) * 2009-10-15 2017-07-04 소니 주식회사 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
TWI643502B (zh) * 2009-10-15 2018-12-01 日商新力股份有限公司 內容重製系統、內容重製裝置、程式、內容重製方法、及提供內容伺服器
USRE48360E1 (en) 2009-11-13 2020-12-15 Samsung Electronics Co., Ltd. Method and apparatus for providing trick play service
JP2016007026A (ja) * 2009-11-13 2016-01-14 サムスン エレクトロニクス カンパニー リミテッド 部分化を利用した適応的なストリーミング方法及びその装置
US9860573B2 (en) 2009-11-13 2018-01-02 Samsung Electronics Co., Ltd. Method and apparatus for providing and receiving data
US9967598B2 (en) 2009-11-13 2018-05-08 Samsung Electronics Co., Ltd. Adaptive streaming method and apparatus
US10425666B2 (en) 2009-11-13 2019-09-24 Samsung Electronics Co., Ltd. Method and apparatus for adaptive streaming using segmentation
US11102553B2 (en) 2009-12-04 2021-08-24 Divx, Llc Systems and methods for secure playback of encrypted elementary bitstreams
US10212486B2 (en) 2009-12-04 2019-02-19 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
US10484749B2 (en) 2009-12-04 2019-11-19 Divx, Llc Systems and methods for secure playback of encrypted elementary bitstreams
US12184943B2 (en) 2009-12-04 2024-12-31 Divx, Llc Systems and methods for secure playback of encrypted elementary bitstreams
US9756364B2 (en) 2009-12-07 2017-09-05 Samsung Electronics Co., Ltd. Streaming method and apparatus operating by inserting other content into main content
US9112933B2 (en) 2010-02-19 2015-08-18 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for adaption in HTTP streaming
CN102812683A (zh) * 2010-02-19 2012-12-05 瑞典爱立信有限公司 用于在http流传输中进行自适应的方法和装置
JP2013520119A (ja) * 2010-02-19 2013-05-30 トムソン ライセンシング アダプティブ・ストリーミングのマルチパス配信
KR101624013B1 (ko) 2010-02-19 2016-05-24 텔레폰악티에볼라겟엘엠에릭슨(펍) 에이치티티피 스트리밍에서 적응화를 위한 방법 및 장치
US10034048B2 (en) 2010-02-19 2018-07-24 Thomson Licensing Dtv Multipath delivery for adaptive streaming
US9479555B2 (en) 2010-02-19 2016-10-25 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for adaption in HTTP streaming
US9699486B2 (en) 2010-02-23 2017-07-04 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data
US9258333B2 (en) 2010-04-01 2016-02-09 Thomson Licensing Method for recovering content streamed into chunk
JP2013524603A (ja) * 2010-04-01 2013-06-17 トムソン ライセンシング チャンクの形態でストリーミングされたコンテンツを回復する方法
JP2013526150A (ja) * 2010-04-16 2013-06-20 マイクロソフト コーポレーション 再生品質が改善されたメディアコンテンツ
US8705616B2 (en) 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US9319448B2 (en) 2010-08-10 2016-04-19 Qualcomm Incorporated Trick modes for network streaming of coded multimedia data
JP2013543296A (ja) * 2010-09-08 2013-11-28 フル・エルエルシー 適応ビットレート切換えのための方法および装置
JP2011035924A (ja) * 2010-09-24 2011-02-17 Hitachi Ltd コンテンツ再生装置およびコンテンツ再生方法
JP2014501048A (ja) * 2010-10-04 2014-01-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ストリーミングの適応制御における方法及び装置
US10972772B2 (en) 2010-12-06 2021-04-06 Netflix, Inc. Variable bit video streams for adaptive streaming
US8997160B2 (en) 2010-12-06 2015-03-31 Netflix, Inc. Variable bit video streams for adaptive streaming
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
JP2014506430A (ja) * 2011-01-05 2014-03-13 ソニック アイピー, インコーポレイテッド ハイパーテキスト転送プロトコルを使用してMatroskaコンテナファイル中に記憶されるメディアの適応型ビットレートストリーミング
US11638033B2 (en) 2011-01-05 2023-04-25 Divx, Llc Systems and methods for performing adaptive bitrate streaming
US12262051B2 (en) 2011-01-05 2025-03-25 Divx, Llc Systems and methods for performing adaptive bitrate streaming
US12250404B2 (en) 2011-01-05 2025-03-11 Divx, Llc Systems and methods for performing adaptive bitrate streaming
US10368096B2 (en) 2011-01-05 2019-07-30 Divx, Llc Adaptive streaming systems and methods for performing trick play
US9883204B2 (en) 2011-01-05 2018-01-30 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US10382785B2 (en) 2011-01-05 2019-08-13 Divx, Llc Systems and methods of encoding trick play streams for use in adaptive streaming
JP2014506748A (ja) * 2011-01-21 2014-03-17 ネットフリックス・インコーポレイテッド 適応ストリーミングのための様々なビットのビデオストリーム
JP2012222530A (ja) * 2011-04-06 2012-11-12 Sony Corp 受信装置及び方法、並びにプログラム
JP2014519259A (ja) * 2011-05-17 2014-08-07 アルカテル−ルーセント ビデオコンテンツをストリーミングする方法、ビデオコンテンツストリーミングを監視するためのネットワーク内ノード
US10015225B2 (en) 2011-05-18 2018-07-03 Thomson Licensing Method for dynamic adaptation of the reception bitrate and associated receiver
JP2014520422A (ja) * 2011-05-18 2014-08-21 トムソン ライセンシング 受信ビットレートの動的適応方法および関連する受信機
US11457054B2 (en) 2011-08-30 2022-09-27 Divx, Llc Selection of resolutions for seamless resolution switching of multimedia content
US10341698B2 (en) 2011-09-01 2019-07-02 Divx, Llc Systems and methods for distributing content using a common set of encryption keys
US10244272B2 (en) 2011-09-01 2019-03-26 Divx, Llc Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US12244878B2 (en) 2011-09-01 2025-03-04 Divx, Llc Systems and methods for distributing content using a common set of encryption keys
US11178435B2 (en) 2011-09-01 2021-11-16 Divx, Llc Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US10225588B2 (en) 2011-09-01 2019-03-05 Divx, Llc Playback devices and methods for playing back alternative streams of content protected using a common set of cryptographic keys
US9621522B2 (en) 2011-09-01 2017-04-11 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US10687095B2 (en) 2011-09-01 2020-06-16 Divx, Llc Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US11683542B2 (en) 2011-09-01 2023-06-20 Divx, Llc Systems and methods for distributing content using a common set of encryption keys
US10856020B2 (en) 2011-09-01 2020-12-01 Divx, Llc Systems and methods for distributing content using a common set of encryption keys
US9769485B2 (en) 2011-09-16 2017-09-19 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US11089343B2 (en) 2012-01-11 2021-08-10 Microsoft Technology Licensing, Llc Capability advertisement, configuration and control for video coding and decoding
JP2015515788A (ja) * 2012-03-13 2015-05-28 グーグル・インコーポレーテッド 予測アダプティブメディアストリーミング
WO2014083960A1 (ja) * 2012-11-29 2014-06-05 日本電気株式会社 パケット転送制御装置および通信システム
US11438394B2 (en) 2012-12-31 2022-09-06 Divx, Llc Systems, methods, and media for controlling delivery of content
US10805368B2 (en) 2012-12-31 2020-10-13 Divx, Llc Systems, methods, and media for controlling delivery of content
US12177281B2 (en) 2012-12-31 2024-12-24 Divx, Llc Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
USRE49990E1 (en) 2012-12-31 2024-05-28 Divx, Llc Use of objective quality measures of streamed content to reduce streaming bandwidth
US11785066B2 (en) 2012-12-31 2023-10-10 Divx, Llc Systems, methods, and media for controlling delivery of content
USRE48761E1 (en) 2012-12-31 2021-09-28 Divx, Llc Use of objective quality measures of streamed content to reduce streaming bandwidth
US10225299B2 (en) 2012-12-31 2019-03-05 Divx, Llc Systems, methods, and media for controlling delivery of content
US10264255B2 (en) 2013-03-15 2019-04-16 Divx, Llc Systems, methods, and media for transcoding video data
US10715806B2 (en) 2013-03-15 2020-07-14 Divx, Llc Systems, methods, and media for transcoding video data
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US11849112B2 (en) 2013-03-15 2023-12-19 Divx, Llc Systems, methods, and media for distributed transcoding video data
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US9712890B2 (en) 2013-05-30 2017-07-18 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US12407906B2 (en) 2013-05-30 2025-09-02 Divx, Llc Network video streaming with trick play based on separate trick play files
US10462537B2 (en) 2013-05-30 2019-10-29 Divx, Llc Network video streaming with trick play based on separate trick play files
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
JP2014131307A (ja) * 2014-02-06 2014-07-10 Sony Corp 情報処理装置、情報処理方法およびプログラム
US10321168B2 (en) 2014-04-05 2019-06-11 Divx, Llc Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US11711552B2 (en) 2014-04-05 2023-07-25 Divx, Llc Systems and methods for encoding and playing back video at different frame rates using enhancement layers
JP2016040919A (ja) * 2015-10-09 2016-03-24 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
JP2017157958A (ja) * 2016-02-29 2017-09-07 Kddi株式会社 クライアント装置および方法
US10382832B2 (en) 2016-02-29 2019-08-13 Fuji Xerox Co., Ltd. Information processing apparatus and information processing method
US11343300B2 (en) 2017-02-17 2022-05-24 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming

Similar Documents

Publication Publication Date Title
JP2007036666A (ja) コンテンツ配信システム、クライアント及びクライアントプログラム
CN102845072B (zh) 改进的媒体内容回放质量
JP5408257B2 (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信プログラム
JP7255116B2 (ja) 情報処理システム、端末装置およびプログラム
JP2003167813A (ja) ストリームデータの蓄積・配信方法及びストリームデータの蓄積・配信システム
JP2014502483A (ja) 適応ストリーミングのための様々なビットのビデオストリーム
CN101595731A (zh) 前缀高速缓存辅助的服务质量感知对等视频点播
JPH08317384A (ja) 情報処理システム
JP2006109480A (ja) マルチメディアコンテンツのストリーミング方法
JP2008311795A (ja) コンテンツ配信システム、配信サーバ、受信端末及びコンピュータプログラム
JP2004005472A (ja) 優先度が付されたコンテンツの記録・ストレージ管理
JP6248943B2 (ja) 情報処理装置、情報処理方法、およびプログラム、並びに情報処理システム
JP2016134701A (ja) 映像再生制御プログラム、映像再生制御方法、映像配信サーバ、送信プログラム、及び送信方法
EP3895352B1 (en) Method and system for reducing drop-outs during video stream playback
JP2006304272A (ja) 送信装置
JPWO2011142249A1 (ja) 端末、配信システム、配信サーバ、再生方法、及びプログラム
US9648067B2 (en) Reception of a digital content in trick mode
JP2021082882A (ja) 情報処理プログラム、情報処理方法および情報処理装置
JP2000299841A (ja) 画像処理装置および画像処理方法ならびに情報記録媒体
JP2016134702A (ja) 映像データファイル生成プログラム、映像データファイル生成方法、及び映像データファイル生成装置
JP2012222530A (ja) 受信装置及び方法、並びにプログラム
JP2015510727A (ja) メディアファイル用のファイルデータを提供するための方法およびシステム
US10135896B1 (en) Systems and methods providing metadata for media streaming
JP2008180932A (ja) 表示制御装置、表示装置、表示制御方法および制御プログラム
JP2002077857A (ja) マルチメディアデータの送出装置