JP2007036666A - Contents distribution system, client, and client program - Google Patents
Contents distribution system, client, and client program Download PDFInfo
- 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
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、コンテンツ配信システム、クライアント及びクライアントプログラムに関し、さらに詳しくは、サーバからクライアントにコンテンツをストリーム配信するコンテンツ配信システム、クライアント及びクライアントプログラムに関する。 The present invention relates to a content distribution system, a client, and a client program. More specifically, the present invention relates to a content distribution system, a client, and a client program for streaming content from a server to a client.
ストリーミング型コンテンツ配信システムは、動画等のコンテンツに関する複数のストリームデータを有するサーバと、サーバからストリームデータの配信を受けながらコンテンツを再生するクライアントとを備える。 The streaming content distribution system includes a server having a plurality of stream data related to content such as a moving image, and a client that reproduces the content while receiving the distribution of the stream data from the server.
このようなストリーミング型のコンテンツ配信システムでは、ネットワークのトラフィック状態が変化しても、クライアントで再生が途切れないようにする必要がある。 In such a streaming-type content distribution system, it is necessary to prevent playback from being interrupted by the client even if the network traffic state changes.
この問題を解決すべく、特開2004−215074号公報(特許文献1)では、サーバに予め異なるビットレートの複数のストリームデータを準備し、ネットワークのトラフィック状態に応じて、適切な再生ビットレートのストリームデータを配信できるマルチビットレート方式が開示されている。また、特開2003−259333号公報(特許文献2)では、ネットワークの状況に応じてサーバがコンテンツの圧縮率やフレームレートを変更できるコンテンツ配信システムが開示されている。これらの方法によれば、ストリーム配信中にクライアントで再生が途切れるのを防止できるとしている。 In order to solve this problem, Japanese Patent Laid-Open No. 2004-215074 (Patent Document 1) prepares a plurality of stream data with different bit rates in advance in a server, and sets an appropriate reproduction bit rate according to the traffic state of the network. A multi-bit rate method capable of distributing stream data is disclosed. Japanese Patent Laying-Open No. 2003-259333 (Patent Document 2) discloses a content distribution system in which a server can change a compression rate and a frame rate of a content according to a network situation. According to these methods, it is possible to prevent the reproduction from being interrupted by the client during the stream distribution.
しかしながら、これらの方法では、再生ビットレートや圧縮率、フレームレートの変更タイミング時に、クライアントが蓄積するデータが枯渇して再生が途切れる可能性がある。さらに、これらの方法では、再生中のコンテンツの内容に依存せずに、ネットワークの状況に依存してビットレートを変更する。つまり、再生中の動画がどのような場面であっても、ビットレートを変更して画質を変化させる。そのため、画質の変化が唐突に発生し、コンテンツを視聴する利用者に違和感を与えてしまう。
本発明の目的は、ストリーム配信中の再生の途切れを防止するコンテンツ配信システムを提供することである。
本発明の他の目的は、コンテンツの所定の位置で再生ビットレートの変更が可能なコンテンツ配信システムを提供することである。
An object of the present invention is to provide a content distribution system for preventing interruption of reproduction during stream distribution.
Another object of the present invention is to provide a content distribution system capable of changing a reproduction bit rate at a predetermined position of content.
本発明によるコンテンツ配信システムは、サーバと、サーバに接続されたクライアントとを備える。サーバは、ストリームデータ蓄積手段と、配信手段とを備える。ストリームデータ蓄積手段は、複数のストリームデータを蓄積する。複数のストリームデータは、各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割される。配信手段は、クライアントの要求に対応してストリームデータのパートを配列順にストリーム配信する。クライアントは、バッファ手段と、再生手段と、判断手段と、データ量算出手段と、選択手段と、要求手段とを備える。バッファ手段は、ストリーム配信されたパートを順次蓄積する。再生手段は、バッファ手段に蓄積されたパートを順次再生する。判断手段は、パートの再生が完了したとき、未再生のパートがバッファ手段に蓄積されているか否かを判断する。データ量算出手段は、判断の結果、未再生のパートが蓄積されているとき、未再生のパートの再生時間でバッファ手段に蓄積可能なデータ量を算出する。選択手段は、算出結果に基づいて、サーバに要求するストリームデータ及び配信開始パートを選択する。要求手段は、選択されたストリームデータを、配信開始パートからストリーム配信するよう要求する。 The content distribution system according to the present invention includes a server and a client connected to the server. The server includes stream data storage means and distribution means. The stream data storage unit stores a plurality of stream data. Each of the plurality of stream data is divided into a plurality of parts arranged in succession with different reproduction bit rates for the same content. The distribution means performs stream distribution of the parts of the stream data in order of arrangement in response to the request from the client. The client includes buffer means, playback means, determination means, data amount calculation means, selection means, and request means. The buffer means sequentially stores the streamed parts. The reproduction means sequentially reproduces the parts stored in the buffer means. The determining means determines whether or not an unreproduced part is accumulated in the buffer means when the reproduction of the part is completed. When the unreproduced part is accumulated as a result of the determination, the data amount calculation means calculates the amount of data that can be accumulated in the buffer means with the reproduction time of the unreproduced part. The selection means selects the stream data and distribution start part requested from the server based on the calculation result. The requesting unit requests the stream distribution of the selected stream data from the distribution start part.
このコンテンツ配信システムでは、クライアントは、予め未再生のパートを蓄積し、未再生のパートの再生時間に蓄積可能なデータ量に基づいてストリームデータを選択し、その未再生のパートを再生している間、選択したストリームデータを順次取得する。そのため、再生すべきデータが枯渇するのを防止でき、コンテンツの再生が途切れるのを防止できる。さらに、ストリームデータをパート単位で順次受信し、再生するため、再生ビットレートをパート単位で変更できる。つまり、再生ビットレートの変更位置を所定の位置(パートとパートとの区切りの位置)とすることができる。各パートを、画質や音質が変化しても視聴への影響が少ない再生位置、たとえば、動画の場合であれば、場面設定が変更する位置等で区切れば、再生ビットレートが変更しても、画質や音質の変化による違和感を抑えることができる。 In this content distribution system, the client accumulates unreproduced parts in advance, selects stream data based on the amount of data that can be accumulated during the reproduction time of the unreproduced part, and reproduces the unreproduced part. During this time, the selected stream data is acquired sequentially. Therefore, it is possible to prevent the data to be reproduced from being exhausted and to prevent the content reproduction from being interrupted. Furthermore, since the stream data is sequentially received and reproduced in parts, the reproduction bit rate can be changed in parts. That is, the reproduction bit rate change position can be set to a predetermined position (partition position between parts). If each part is separated by a playback position that has little effect on viewing even if the image quality or sound quality changes, for example, in the case of a movie, if the playback bit rate changes In addition, it is possible to suppress a sense of incongruity due to changes in image quality and sound quality.
好ましくは、データ量算出手段は、配信ビットレート特定手段を備える。配信ビットレート特定手段は、パートの再生が完了したとき、サーバから配信されるストリームデータの配信ビットレートを特定する。データ量算出手段は、特定した配信ビットレートと、未再生のパートの再生時間とに基づいて、データ量を算出する。 Preferably, the data amount calculating unit includes a distribution bit rate specifying unit. The distribution bit rate specifying means specifies the distribution bit rate of the stream data distributed from the server when the reproduction of the part is completed. The data amount calculation means calculates the data amount based on the identified delivery bit rate and the playback time of the unplayed part.
この場合、パートの再生が完了した時点の配信ビットレートを特定し、データ量を算出する。そのため、データ量算出手段により算出した値を実際に蓄積されるデータ量に近づけることができ、蓄積されるデータ量の予測精度を上げることができる。 In this case, the distribution bit rate at the time when the reproduction of the part is completed is specified, and the data amount is calculated. Therefore, the value calculated by the data amount calculation means can be brought close to the data amount actually stored, and the prediction accuracy of the data amount to be stored can be improved.
好ましくは、クライアントは、ストリーム情報蓄積手段を備える。ストリーム情報蓄積手段は、ストリームデータの各パートのデータ量及び再生時間と、各パートに対応する他のストリームデータのパートとに関するストリーム情報を蓄積する。選択手段は、算出結果とストリーム情報とに基づいて、ストリームデータ及び配信開始パートを選択する。 Preferably, the client includes a stream information storage unit. The stream information accumulating unit accumulates stream information related to the data amount and reproduction time of each part of the stream data and other stream data parts corresponding to each part. The selecting means selects the stream data and the distribution start part based on the calculation result and the stream information.
この場合、ストリーム情報に基づいて、データ量算出手段により算出されたデータ量を
各パートのデータ量と比較し、ストリームデータ及び配信開始パートを選択できる。
In this case, the stream data and the distribution start part can be selected by comparing the data amount calculated by the data amount calculation means with the data amount of each part based on the stream information.
好ましくは、判断手段が判断した結果、未再生のパートがバッファ手段に蓄積されていないとき、選択手段は、複数のストリームデータのうち、再生ビットレートが最も低いストリームデータを選択する。 Preferably, as a result of the determination by the determination unit, when an unreproduced part is not accumulated in the buffer unit, the selection unit selects the stream data having the lowest reproduction bit rate from among the plurality of stream data.
この場合、未再生のパートがバッファ手段に蓄積されていなくても、再生ビットレートが最も低いストリームデータを取得することにより、再生の途切れをある程度防止できる。 In this case, even if unreproduced parts are not stored in the buffer means, by obtaining stream data having the lowest reproduction bit rate, it is possible to prevent interruption of reproduction to some extent.
本発明によるクライアントプログラムは、各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するサーバに接続可能なクライアントコンピュータに実行させるプログラムである。クライアントプログラムは、サーバからストリーム配信されたパートを順次蓄積するステップと、蓄積されたパートを順次再生するステップと、パートの再生が完了したとき、未再生のパートが蓄積されているか否かを判断するステップと、判断の結果、未再生のパートが蓄積されているとき、未再生のパートの再生時間で蓄積可能なデータ量を算出するステップと、算出結果に基づいて、サーバに要求するストリームデータ及び配信開始パートを選択するステップと、選択されたストリームデータを、配信開始パートからストリーム配信するよう要求するステップとをクライアントコンピュータに実行させる。 The client program according to the present invention is a client that can be connected to a server that stores a plurality of stream data divided into a plurality of parts arranged in succession, each having a different reproduction bit rate for the same content. A program to be executed by a computer. The client program sequentially accumulates the parts streamed from the server, sequentially reproduces the accumulated parts, and determines whether or not an unreproduced part is accumulated when the reproduction of the part is completed. And a step of calculating the amount of data that can be stored in the playback time of the unplayed part when the unplayed part is accumulated as a result of the determination, and the stream data requested to the server based on the calculation result And a step of selecting a distribution start part and a step of requesting the selected stream data to be stream-distributed from the distribution start part.
このクライアントプログラムは、予め未再生のパートを蓄積し、未再生のパートの再生時間に蓄積可能なデータ量に基づいてストリームデータを選択し、その未再生のパートを再生している間、選択したストリームデータを順次取得する。そのため、再生すべきデータが枯渇するのを防止でき、コンテンツの再生が途切れるのを防止できる。さらに、ストリームデータをパート単位で順次受信し、再生するため、再生ビットレートをパート単位で変更できる。つまり、再生ビットレートの変更位置を所定の位置(パートとパートとの区切りの位置)とすることができる。 This client program stores unplayed parts in advance, selects stream data based on the amount of data that can be stored during the playback time of the unplayed part, and selects it while playing the unplayed part. Get stream data sequentially. Therefore, it is possible to prevent the data to be reproduced from being exhausted and to prevent the content reproduction from being interrupted. Furthermore, since the stream data is sequentially received and reproduced in parts, the reproduction bit rate can be changed in parts. That is, the reproduction bit rate change position can be set to a predetermined position (partition position between parts).
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals and description thereof will not be repeated.
1.構成
図1を参照して、コンテンツ配信システムは、サーバ(コンピュータ)10と、複数のクライアント(コンピュータ)20とを備える。サーバ10とクライアント20とは、インターネット30経由で接続されるが、LAN(Local Area Network)、WAN(Wide Area Network)、その他のコンピュータネットワークで接続されてもよい。
1. Configuration Referring to FIG. 1, the content distribution system includes a server (computer) 10 and a plurality of clients (computers) 20. The
サーバ10は、動画や音楽等のコンテンツに関する複数のストリームデータを蓄積し、クライアント20からの要求に応答して、ストリームデータをストリーム配信する。要するに、このシステムは、ストリーミング型のコンテンツ配信システムである。
The
[サーバの構成]
図1を参照して、サーバ10は、ハードディスクドライブ(HDD)11と、CPU12と、メモリ13とを備える。これらは、バス17で互いに接続される。
[Server configuration]
With reference to FIG. 1, the
HDD11は、複数のストリームデータST1〜ST3を蓄積する。ストリームデータST1〜ST3は、同一コンテンツに関するストリームデータであり、互いに異なる再生ビットレートを有する。ストリームデータST1〜ST3の構造については後述する。HDD11は、ストリームデータST1〜ST3と異なるコンテンツに関する複数のストリームデータも蓄積する。
The
HDD11はさらに、ストリーム情報データベース15とサーバアプリケーション(プログラム)16とを記憶する。ストリーム情報データベース15は、上述した複数のストリームデータに関する情報を登録する。ストリーム情報データベース15については後述する。
The
サーバアプリケーション(プログラム)16は、クライアント20からの要求に対応したストリームデータをストリーミング配信する。CPU12は、サーバアプリケーション16をメモリ13に読み出して、上記のサーバアプリケーション16の動作を実行する。
The server application (program) 16 performs streaming delivery of stream data corresponding to the request from the
[ストリームデータの構造]
図2にストリームデータST1〜ST3のデータ構造を示す。横軸は再生時間を示す。また、各ストリームデータST1〜ST3の面積は、データ量を示す。
[Structure of stream data]
FIG. 2 shows the data structure of the stream data ST1 to ST3. The horizontal axis shows the playback time. Moreover, the area of each stream data ST1-ST3 shows data amount.
ストリームデータST1〜ST3は、互いに異なる再生ビットレートBR1〜BR3を有する。ストリームデータST1の再生ビットレートBR1が最も低く、ストリームデータST2の再生ビットレートBR2は再生ビットレートBR1よりも高く、ストリームデータST3の再生ビットレートBR3が最も高い。したがって、ストリームデータST3のデータ量が最も多く、ストリームデータST1のデータ量が最も少ない。 The stream data ST1 to ST3 have different reproduction bit rates BR1 to BR3. The reproduction bit rate BR1 of the stream data ST1 is the lowest, the reproduction bit rate BR2 of the stream data ST2 is higher than the reproduction bit rate BR1, and the reproduction bit rate BR3 of the stream data ST3 is the highest. Therefore, the data amount of the stream data ST3 is the largest, and the data amount of the stream data ST1 is the smallest.
ストリームデータST1〜ST3のデータ量は互いに異なるものの、その再生時間は同じである(時刻t0〜時刻t8)。同一のコンテンツに基づいて作成されているためである。 Although the data amounts of the stream data ST1 to ST3 are different from each other, their reproduction times are the same (time t0 to time t8). This is because they are created based on the same content.
各ストリームデータST1〜ST3は、連続的に配列された複数のパート(P0〜P7)に分割される。このとき、各パートPj(パート番号j=0〜7)は、画質や音質が変化しても視聴への影響が少ない再生位置(時刻t1〜t7)で区切られる。たとえば、動画の場合であれば、場面設定が変更される位置等で区切られる。そのため、各パートP0〜P7の再生時間(D0〜D7)は互いに異なる。 Each stream data ST1 to ST3 is divided into a plurality of parts (P0 to P7) arranged continuously. At this time, each part Pj (part number j = 0 to 7) is divided at a reproduction position (time t1 to t7) that has little influence on viewing even if the image quality and sound quality change. For example, in the case of a moving image, the scene setting is divided at a position where the scene setting is changed. Therefore, the reproduction times (D0 to D7) of the parts P0 to P7 are different from each other.
ストリームデータST1〜ST3は、同じ再生位置(t1〜t7)で分割されるため、各ストリームデータの同じパートPjは同じ再生時間Djを有する。たとえば、ストリームデータST1のパートP0と、ストリームデータST2のパートP0と、ストリームデータST3のパートP0とは、同じ再生時間D0を有する。 Since the stream data ST1 to ST3 are divided at the same playback position (t1 to t7), the same part Pj of each stream data has the same playback time Dj. For example, the part P0 of the stream data ST1, the part P0 of the stream data ST2, and the part P0 of the stream data ST3 have the same reproduction time D0.
[ストリーム情報データベース]
図3を参照して、ストリーム情報データベース15は、各ストリームデータSTi(レート番号i=1〜3)に関する情報が登録されるデータブロック151で構成される。
[Stream information database]
Referring to FIG. 3, stream
各データブロック151は、ストリームデータの識別子STi(たとえばST1)と、再生ビットレート情報BRi(たとえばBR1)とを有する。データブロック151はさらに、パートリストを有する。パートリストは、各ストリームデータSTiのパートPjに関する情報を登録する。具体的には、パートリストは、そのストリームデータSTiが有するパート数分のレコードを有する。各レコードは、パート識別子(たとえばP0、P1等)を登録するフィールドと、再生時間Djを登録するフィールドと、対応するパートPjのデータ量SZ(i,j)を登録するフィールドとを有する。 Each data block 151 has an identifier STi (for example, ST1) of stream data and reproduction bit rate information BRi (for example, BR1). The data block 151 further has a part list. In the part list, information related to the part Pj of each stream data STi is registered. Specifically, the part list has records for the number of parts included in the stream data STi. Each record has a field for registering a part identifier (for example, P0, P1, etc.), a field for registering a reproduction time Dj, and a field for registering the data amount SZ (i, j) of the corresponding part Pj.
ストリームデータST1〜ST3のデータブロック151を参照して、各データブロック151の同じ番号のパート識別子は互いに対応する。たとえば、ストリームデータST1のパートP1はストリームデータST2及びST3のパートP1に対応する。上述したとおり、各パート識別子の再生時間は同じであるが、データ量は異なる。 Referring to the data block 151 of the stream data ST1 to ST3, the part identifiers having the same number in each data block 151 correspond to each other. For example, part P1 of stream data ST1 corresponds to part P1 of stream data ST2 and ST3. As described above, the playback time of each part identifier is the same, but the data amount is different.
このように、ストリーム情報データベース15は、ストリームデータに関する情報と、各ストリームデータ内の各パートの再生時間、データ量に関する情報と、各ストリームデータのパートに対応する他のストリームデータのパートに関する情報とを含む。
As described above, the
[クライアントの構成]
再び図1を参照して、クライアント20は、HDD21と、CPU22と、メモリ23と、ディスプレイ24とを備える。これらはバス26で相互に接続される。
[Client Configuration]
Referring to FIG. 1 again, the
HDD21は、クライアントアプリケーション(プログラム)25を記憶する。クライアントアプリケーション25は、サーバ10にストリームデータSTiを要求したり、受信したストリームデータSTiのパートPjに基づくコンテンツを再生したりする。クライアントアプリケーション25はさらに、再生中にサーバ10に要求するストリームデータSTiを選択する。詳細は後述する。
The
HDD21はさらに、内部にバッファ領域27A、27B(これらをまとめてバッファ領域27とも称する)を含む。バッファ領域27は、サーバ10からストリーム配信されたストリームデータSTiを順次蓄積する。バッファ領域27A及び27Bは、互いに異なる再生ビットレートBRiのストリームデータSTiを蓄積する。
なお、HDD21はサーバ10から送信されたストリーム情報データベース15を記憶する。
The
The
CPU22は、クライアントアプリケーション25をメモリ23に読み出して、以下に説明するクライアント20の動作を実行する。
The
2.動作
2.1.概要
本実施の形態によるコンテンツ配信システムでは、クライアント20が、サーバ10から配信されたストリームデータSTiを受信しながら再生する。このとき、クライアント20は、各パートPjの再生を完了するごとに、次のパートPj+1のデータ量SZ(i,j+1)が既にバッファ領域27に蓄積されているか否かを判断する。蓄積されている場合、次のパートPj+1の再生時間中にバッファ領域27に蓄積可能なデータ量を算出し、その算出結果に基づいて、サーバに要求するストリームデータSTiを選択する。
2. Operation 2.1. Overview In the content distribution system according to the present embodiment, the
図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)である。
FIG. 4 shows changes in the distribution bit rate BRcur and the data amount DL (t) accumulated in the buffer area 27 at time t when the
図4を参照して、クライアント20は、初めにストリームデータSTi(たとえばST3)をサーバ10に要求する。クライアント20は、サーバ10からストリームデータST3を受け、バッファ領域27に蓄積する。蓄積したデータ量が所定のデータ量DL(t0)となったとき、クライアント20は再生を開始する。時刻t0〜時刻t2において、配信ビットレートBRcurは、再生ビットレートBR3よりも高い。そのため、再生するデータ量よりも受信するデータ量の方が多くなる。つまり、図4中のDL(t)の傾きの方が、DST3の傾きよりも大きくなる。そのため、バッファ領域27にデータが順次蓄積される。
Referring to FIG. 4,
クライアント20は、パートP0の再生が終了した時刻t1において、サーバに要求するストリームデータSTiを選択する(データ要求処理:図6)。データ要求処理では、次のパート(パートP1)の全データ量SZ(3,1)が既にバッファ領域27に蓄積されているか判断し、既に蓄積されている場合、パートP1の再生時間D1中にバッファ領域27に蓄積可能なデータ量に基づいて、再生ビットレートBR3(ストリームデータST3)を変更するか否かを判断する。時刻t1では、データ量SZ(3,1)が既にバッファ領域27に蓄積されており、かつ、再生ビットレートBR3のまま維持すると判断し、そのまま再生を継続する。
The
時刻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を再生する。
At time t21, the delivery bit rate BRcur decreases and becomes lower than the reproduction bit rate BR3. Therefore, the data amount DL (t) accumulated in the buffer area 27 decreases after time t21. That is, the slope of DL (t) in FIG. 4 is smaller than the slope of DST3 .
The
時刻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以降にそのデータを再生する。
At time t51, the distribution bit rate BRcur rises again and becomes higher than the reproduction bit rate BR3. The
以上のとおり、クライアント20は、パートPjの再生を完了したとき、原則として、次に再生すべきパートPj+1を蓄積する。さらに、パートPj+1の再生時間Dj+1中に蓄積可能なデータ量に基づいて、次のパートPj+2のデータをどの再生ビットレートBRi(ストリームデータSTi)にするか選択し、選択したストリームデータSTiのパートPj+2を取得する。そのため、コンテンツの再生が途切れるのを防止できる。
さらに、再生ビットレートBRiを切り替える場合、クライアント20は、パートPj単位で切り替える。各パートPjは、画質や音質が変更しても違和感が少ない位置で予め区切られているため、画質や音質が変化することによる視聴への影響を極力抑えることができる。また、再生ビットレートBRi(ストリームデータSTi)の変更をクライアント20で判断するため、サーバの負荷が軽減される。以下、フロー図を用いてコンテンツ配信システムの動作を詳述する。
As described above, when the reproduction of the part Pj is completed, the
Furthermore, when switching the reproduction bit rate BRi, the
2.2.全体動作
図5を参照して、まず、クライアント20は、所望のコンテンツのストリーム情報データベース15を要求する(S1)。サーバ10は、クライアント20からの要求を監視し(S2)、要求を受けたとき(S2でYES)、対応するストリーム情報データベース15を送信する(S3)。
2.2. Overall Operation Referring to FIG. 5, first, the
クライアント20はストリーム情報データベース15を受け、各ストリームデータST1〜ST3の再生ビットレートBR1〜BR3に関する情報をディスプレイ24に表示する。クライアント20のユーザは、ディスプレイ24を参照し、再生ビットレート(たとえばBR3)を選択する。クライアント20は、ユーザ操作に基づいて、選択された再生ビットレートBR3のストリームデータST3をパートP0から配信するようサーバ10に要求する(S4)。具体的には、クライアント20は、ストリーム情報データベース15を参照し、ビットレート情報BR3に対応したストリームデータ識別子=ST3と、パート識別子=P0とを含む配信要求コマンドをサーバ10に送信する。
The
サーバ10は、クライアント20からの配信要求を監視し(S5)、配信要求コマンドを受けたとき(S5でYES)、配信要求コマンドに基づいてストリームデータST3をパートP0からストリーム配信する(S6)。
The
クライアント20は、サーバ10からデータを受信したか否かを監視し(S7)、データを受信したとき(ステップS7でYES)、受信したデータをバッファ領域27に順次蓄積する(S8)。このとき、クライアント20は、バッファ領域27A、27Bのいずれか(たとえば27A)を受信バッファに指定し、受信バッファに指定されたバッファ領域27Aにデータを蓄積する。以降、受信バッファに指定されたバッファ領域27を単に受信バッファとも称する。
The
クライアント20は、受信バッファに蓄積されたデータ量DL(t)がパートP0のデータ量SZ(3,0)を超えたか否かを判断し(S9)、超えたとき(S9でYES)、パートP0の再生を開始する(S10)。このとき、クライアント20はデータ量DL(t)を有するバッファ領域27Aを再生バッファに指定し、指定された再生バッファからデータを読み出し、パートP0の再生を開始する。この場合、1つのバッファ領域27Aが受信バッファ及び再生バッファとして機能する。以降、再生バッファに指定されたバッファ領域17を単に再生バッファとも称する。
The
再生後、クライアント20は、各パートPjの再生を完了するごとに、サーバ10に要求するストリームデータSTiを選択し、選択したストリームデータSTiの配信を要求する(S11:データ要求処理)。サーバ10は、クライアント20の要求に応答して、ストリームデータSTiを配信する(S12)。サーバ10は、ストリームデータSTiの最後のパートP7の配信を完了したとき(S14でYES)、動作を終了する。
After reproduction, every time the reproduction of each part Pj is completed, the
クライアント20は、サーバ10から受信したストリームデータSTiの再生を継続し(S13:再生処理)、ストリームデータSTiを全て再生したときに動作を終了する。
The
ステップS11のデータ要求処理と、ステップS13の再生処理とは、各パートPjの再生が完了するごとに実施される。以下、データ要求処理及び再生処理について説明する。 The data request process in step S11 and the reproduction process in step S13 are performed every time reproduction of each part Pj is completed. Hereinafter, data request processing and reproduction processing will be described.
2.3.データ要求処理
データ要求処理は、各パートPjの再生が完了するごとに実行される。データ要求処理は、まず、要求するストリームデータSTi及び配信を開始するパート(配信開始パート)Pjを選択する(図6:ストリームデータ選択処理)。続いて、選択したストリームデータSTiを配信開始パートPjから配信するよう要求する(図7:要求処理)。
2.3. Data request processing The data request processing is executed every time reproduction of each part Pj is completed. In the data request process, first, stream data STi to be requested and a part (distribution start part) Pj for starting distribution are selected (FIG. 6: stream data selection process). Subsequently, a request is made to distribute the selected stream data STi from the distribution start part Pj (FIG. 7: request processing).
2.3.1.ストリームデータ選択処理
クライアント20は、パートPjの再生を完了したとき、次のパートPjの全データを既に蓄積しているか否かを判断する。蓄積している場合、次のパートPjの再生時間Dj中に受信バッファに蓄積可能な受信データ量に基づいて、再生ビットレートBRiを変更するか否か判断し、要求するストリームデータSTiを選択する。以下、詳細を説明する。
2.3.1. Stream Data Selection Processing When the
図6を参照して、パートPj(たとえばj=0)の再生が完了し(S21でYES)、かつ、パートPjが最終パートP7でない場合(S22でNO)、クライアント20は、現在の配信ビットレートBRcurを特定する(S23)。具体的には、以下の式(1)に基づいて、現在の配信ビットレートBRcur(bit/sec)を算出する。
Referring to FIG. 6, when reproduction of part Pj (for example, j = 0) is completed (YES in S21) and part Pj is not final part P7 (NO in S22),
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は再生ビットレートを変更するか否かを判断するときに利用される。
BRcur = (DL (tj + 1) −DL (tj)) × 8 / Dj (1)
When j = 0, BRcur = (DL (t1) −DL (t0) / D0. In short, the playback time Dj (sec) of the part Pj that has been played back and the buffer accumulated during the playback time The distribution bit rate BRcur is calculated based on the received data amount DL (tj + 1) −DL (tj) (bytes), and is used when determining whether or not to change the reproduction bit rate. .
次に、クライアント20はパート番号jをインクリメントし、(S24、j=1とする)、次に再生する予定のパートPj(パートP1)がバッファ領域27に蓄積されているか否かを判断する(S25)。具体的には、クライアント20は、以下の式(2)を満たすか否かを判断する。
Next, the
DLunused(tj)≧SZ(i,j) (2)
ここで、DLunused(tj)は、時刻tjにバッファ領域27に蓄積されたストリームデータSTiの未再生データ量を示す。たとえば、時刻t1におけるステップS25の判断では、DLunused(t1)≧SZ(i,1)を満たすか否かを判断する。クライアント20は、ストリーム情報データベース15に基づいて各パートPjのデータ量SZ(i,j)を特定する。
DL unused (tj) ≧ SZ (i, j) (2)
Here, DL unused (tj) indicates the unreproduced data amount of the stream data STi stored in the buffer area 27 at time tj. For example, in the determination in step S25 at time t1, it is determined whether DL unused (t1) ≧ SZ (i, 1) is satisfied. The
判断の結果、式(2)を満たさない場合(S25でNO)、クライアント20は、次に再生する予定のパートPjの全データ量を蓄積しておらず、パートPjの一部のデータのみ蓄積している。そのため、クライアント20は、受信バッファに蓄積されたパートPjの部分データを再生せず、代わりに再生するデータとして、最も低い再生ビットレートBR1を有するストリームデータST1を選択し、配信開始パートをPjとする(S35)。ストリームデータST1は、各パートPjのデータ量SZ(1,j)が最も少ないため、サーバ10からデータを受信しながら再生しても、再生の途切れを可能な限り防止できるためである。
As a result of the determination, if the expression (2) is not satisfied (NO in S25), the
一方、ステップS25での判断の結果、式(2)を満たす場合(S25でYES)、クライアント20は、次に再生するパートPjのデータ量SZ(i,j)を既に受信バッファに蓄積している。そのため、パートPjの再生時間Dj中に、次のパートPj+1のデータを順次蓄積することができる。そこで、クライアント20は、ストリームデータST1〜ST3のうち、いずれのストリームデータSTiのパートPj+1を要求するか検討する(S20)。
On the other hand, as a result of the determination in step S25, if the expression (2) is satisfied (YES in S25), the
まず、クライアント20は、既に蓄積されたストリームデータSTiのパートPjの再生が完了したときに、ストリームデータSTiのパートPj+1の全データを蓄積できるか否かを判断する(S26)。このとき、クライアント20は、以下の式(3)を満たすか否かを判断する。
First, the
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)とについて、具体例を挙げながら説明する。
DL unused (tj) + (BRcur × Dj / 8) ≧ SZ (i, j) + SZ (i, j + 1) (3)
Here, the
When Expression (3) is not satisfied (NO in S26), the
[再生ビットレートを下げる検討(S27〜S29)]
ストリームデータST3を受信しながら再生を実行している場合であって、図4中の時刻t3においてデータ要求処理を実行したとき、クライアント20は、ステップS26で式(3)を満たさないと判断する(S26でNO)。つまり、パートP3の再生終了時にパートP4の全データ量SZ(3,4)を蓄積できないと判断する。
このとき、クライアント20は再生ビットレートBRiを下げる検討を行う。具体的には、再生時間D3中にパートP4のデータ量SZ(i,4)を取得できるストリームデータSTiを選択する。
[Study to reduce playback bit rate (S27 to S29)]
In the case where the reproduction is executed while receiving the stream data ST3 and the data request process is executed at the time t3 in FIG. 4, the
At this time, the
クライアント20は、レート番号i=i−1(つまりレート番号i=2)にデクリメントする(S27)。デクリメントしたレート番号2は最小値=1でないため(S28でNO)、クライアント20は、ストリームデータST2のパートPj+1(つまりパート4)が、以下の式(4)を満たすか否かを判断する(S29)。
The
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)。
BRcur × Dj / 8 ≧ SZ (i, j + 1) (4)
When BRcur × D3 / 8 ≧ SZ (2, 4) and Expression (4) is satisfied (YES in S29), the data amount SZ (2, 4) of the part P4 of the stream data ST2 can be acquired within the reproduction time D3. Therefore, the stream data ST2 is selected as the stream data requested to the
[再生ビットレートを上げる検討(S30〜S33)]
ストリームデータST2を受信しながら再生している場合であって、図4中の時刻t6においてデータ要求処理を実行したとき、クライアント20は、ステップS26で式(3)を満たすと判断する(S26でYES)。つまり、パートP6の再生完了時である時刻t7に、ストリームデータST2のパートP7の全データ量SZ(2,7)を蓄積できると判断する。
このとき、クライアント20は、現在よりも高いビットレートBRiのストリームデータSTiを要求できるか否かを検討する。
[Study to increase playback bit rate (S30 to S33)]
In the case where the reproduction is performed while receiving the stream data ST2, and when the data request process is executed at time t6 in FIG. 4, the
At this time, the
クライアント20は、レート番号i=i+1(つまりレート番号i=3)にインクリメントする(S30)。続いて、クライアント20は、ストリームデータST3のパートPj+1(すなわちパートP7)が、式(4)を満たすか否かを判断する(S31)。
The
BRcur×D6/8≧SZ(3,7)となり、式(4)を満たすとき(S31でYES)、現在よりも高いビットレートのストリームデータST3を取得できる。ここで、レート番号iが最大(=3)であるか否かを判断し(S33)、レート番号iが最大であるため(S33でYES)、クライアント20は、ストリームデータST3を選択し、配信開始パートをパートP7とする(S34)。
When BRcur × D6 / 8 ≧ SZ (3, 7) is satisfied and Expression (4) is satisfied (YES in S31), stream data ST3 having a higher bit rate than the present can be acquired. Here, it is determined whether or not the rate number i is the maximum (= 3) (S33). Since the rate number i is the maximum (YES in S33), the
なお、ステップ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)を選択する。そのため、再生すべきデータが途中で枯渇せず、再生の途切れを防止できる。
If the rate number i is not the maximum (NO in S33) as a result of the determination in step S33, the process returns to step S30 to examine whether or not the reproduction bit rate BRi can be further increased, and steps S31 to S33. Execute. When the expression (4) is not satisfied in step S31 (NO in S31), the data amount SZ (i, j + 1) of the part Pj + 1 of the stream data STi cannot be accumulated during the reproduction time Dj, so the rate number i is decremented. Return to the next lower rate number i (S32), select the stream data STi of the returned rate number i, and set part Pj + 1 as the distribution start part (step S34).
Through the above stream selection processing, the stream data STi (reproduction bit rate BRi) that can acquire all the data SZ (i, j + 1) of the part Pj + 1 during the reproduction time Dj of the part Pj to be reproduced next is selected. Therefore, the data to be reproduced is not exhausted in the middle, and the reproduction can be prevented from being interrupted.
2.3.2.要求処理
図7を参照して、図6で示したストリームデータ選択処理を実行後(S111)、クライアント20は、選択したストリームデータSTiが、現在受信しているストリームデータSTiと同じか否かを判断する(S51)。同じである場合(S51でYES)、クライアント20は既にそのストリームデータSTiを受信し続けているため、そのまま受信を継続する。要するに、この場合はサーバ10に配信要求コマンドを送信しない。
2.3.2. Request Process Referring to FIG. 7, after executing the stream data selection process shown in FIG. 6 (S111), the
一方、選択したストリームデータSTi(たとえばST2)が現在受信しているストリームデータSTi(たとえばST3)と異なる場合(S51でNO)、クライアント20は、サーバ10に対して、選択されたストリームデータST2を、配信開始パートPj+1から配信するよう要求する(S54)。具体的には、クライアント20は、ストリーム情報データベース15に基づいて、ストリームデータ識別子=ST2と、パート識別子=Pj+1とを含む新たな配信要求コマンドを送信する。
On the other hand, when the selected stream data STi (eg, ST2) is different from the currently received stream data STi (eg, ST3) (NO in S51), the
なお、新たな配信要求を送信する前に、クライアント20は、バッファ領域27A及び27Bのうち、現在受信バッファに指定されているバッファ領域(たとえば27A)を切り替え(S52)。バッファ領域27Bを受信バッファとする。さらに、新たに受信バッファに指定されたバッファ領域27Bに蓄積されているデータを消去しておく(S53)。
Before transmitting a new distribution request, the
サーバ10は、新たな配信要求コマンドを受けたとき、今まで配信していたストリームデータST3の配信を停止し、選択されたストリームデータST2を、配信開始パートPj+1から配信する(S55)。
When receiving a new distribution request command, the
クライアント20はサーバ10から配信されたストリームデータST2を受け、ステップS52で指定した受信バッファ(バッファ領域27B)に蓄積する。
The
以上に示したとおり、今まで受信していたストリームデータST3と異なる新たなストリームデータST2を受信する場合、ストリームデータST2をストリームデータST3を蓄積しているバッファ領域27Aと異なるバッファ領域27Bに蓄積する。
異なるビットレートBRiのストリームデータSTiを同一のバッファ領域に蓄積すると、再生処理が煩雑になる。そこで、異なるビットレートBRiのストリームデータSTiを異なるバッファ領域27A及び27Bに蓄積し、受信バッファを再生バッファと分けることにより再生処理を容易にする。以下、再生処理について説明する。
As described above, when new stream data ST2 different from the stream data ST3 received so far is received, the stream data ST2 is accumulated in a
If stream data STi having different bit rates BRi are stored in the same buffer area, the reproduction process becomes complicated. Thus, stream data STi having different bit rates BRi is accumulated in
2.4.再生処理
再生処理は、各パートPjの再生が完了するごとに実施される。図8を参照して、クライアント20は、再生中のストリームデータSTi(たとえばST3)のパートPjの再生が完了したか否かを判断する(S61)。再生が完了したとき(S61でYES)、再生を完了したパートPjが最終のパートP7であるか否かを判断する(S62)。パートP7である場合(S62でYES)、コンテンツは全て再生されたため、再生を停止し(S68)、再生処理を終了する。
2.4. Reproduction Process The reproduction process is performed every time reproduction of each part Pj is completed. Referring to FIG. 8,
再生を完了したパートPjがパートP7でない場合(S62でNO)、再生は継続される。このとき、クライアント20は、ストリームデータST3のパートPjの再生完了時に、受信バッファと再生バッファとが同一であるか否かを判断する(S63)。つまり、1つのバッファ領域(27A又は27B)が再生バッファ及び受信バッファとして機能していたか否かを判断する。
If the part Pj that has been reproduced is not the part P7 (NO in S62), the reproduction is continued. At this time, when the reproduction of the part Pj of the stream data ST3 is completed, the
再生バッファと受信バッファが同一でない場合(S63でNO)、クライアント20は、ストリームデータST3のパートPjの再生時間Dj中に、異なるストリームデーSTi(たとえばST2)のデータを取得している。そのため、次に再生するパートPjは、今までの再生バッファ(たとえばバッファ領域27A)と異なるバッファ領域(たとえば27B)に蓄積されている。したがって、再生バッファを切り替え(S65)、今までと異なるバッファ領域27Bを再生バッファに指定する。さらに、次に再生するパートPjは、今までの再生ビットレートBR3と異なる再生ビットレートBR2であるため、再生ビットレートをBR3からBR2に変更し(S66)、再生を開始する(S67)。
When the reproduction buffer and the reception buffer are not the same (NO in S63), the
一方、パートPjの再生完了時に、再生バッファと受信バッファとが同一である場合(S63でYES)、パート番号jをインクリメントし(S69)、次に再生するストリームデータST3のパートPjのデータ量SZ(3,j)が蓄積されているか否かを判断する(S64)。 On the other hand, when reproduction of the part Pj is completed, if the reproduction buffer and the reception buffer are the same (YES in S63), the part number j is incremented (S69), and the data amount SZ of the part Pj of the stream data ST3 to be reproduced next It is determined whether (3, j) is accumulated (S64).
ここで、データ量SZ(3,j)が蓄積されていない場合(S64でNO)とは、図6中のステップS25で式(2)を満たさない場合に相当し、最も低いビットレートBR1のストリームデータST1のパートPjを受信と同時に再生する場合である。この場合、受信と同時に再生を行うため、受信バッファと再生バッファとを同じバッファ領域27にする必要がある。そのため、再生バッファを切り替え(S65)、図7に示した要求処理中のステップS52で切り替えられた受信バッファと再生バッファとを同じバッファ領域27とする。続いて、再生ビットレートBRiをBR1として(S66)、再生を開始する(S67)。これにより、ストリームデータST1を受信と同時に再生できる。 Here, the case where the data amount SZ (3, j) is not accumulated (NO in S64) corresponds to the case where the expression (2) is not satisfied in step S25 in FIG. 6, and the lowest bit rate BR1. This is a case where the part Pj of the stream data ST1 is reproduced simultaneously with reception. In this case, since the reproduction is performed at the same time as reception, the reception buffer and the reproduction buffer need to be in the same buffer area 27. Therefore, the reproduction buffer is switched (S65), and the reception buffer and the reproduction buffer switched in step S52 during the request processing shown in FIG. Subsequently, the reproduction bit rate BRi is set to BR1 (S66), and reproduction is started (S67). Thereby, the stream data ST1 can be reproduced simultaneously with reception.
ステップS64の判断の結果、次に再生するパートPj(ストリームデータST3)のデータ量SZ(3,j)が蓄積されている場合(S64でYES)、次に再生されるパートPjは、今まで再生してきたデータと同じ再生ビットレートBR3であるため、今までと同じ再生ビットレートBR3で再生を開始する(S67)。
以上のとおり、受信バッファと再生バッファとが同一であるか否かの判断と、再生バッファ中に次に再生するパートPjが蓄積されているか否かの判断を実行すれば、次に再生するパートPjの再生ビットレートBRiを判断できる。
As a result of the determination in step S64, when the data amount SZ (3, j) of the part Pj (stream data ST3) to be reproduced next is accumulated (YES in S64), the part Pj to be reproduced next is Since the reproduction bit rate BR3 is the same as the reproduced data, reproduction is started at the same reproduction bit rate BR3 as before (S67).
As described above, if it is determined whether or not the reception buffer and the reproduction buffer are the same, and whether or not the part Pj to be reproduced next is stored in the reproduction buffer, the part to be reproduced next The reproduction bit rate BRi of Pj can be determined.
上述したコンテンツ配信システムでは、式(1)に基づいて配信ビットレートBRcurを特定したが、他の方法により配信ビットレートBRcurを特定してもよい。たとえば、各再生時間Dj中の配信ビットレートの変動を測定し、その測定値に基づいて、次に再生するパートPjの再生中の配信ビットレートBRcurの変動を予測してビットレートBRcurを特定してもよい。 In the content distribution system described above, the distribution bit rate BRcur is specified based on Expression (1), but the distribution bit rate BRcur may be specified by other methods. For example, the fluctuation of the distribution bit rate during each reproduction time Dj is measured, and based on the measured value, the fluctuation of the distribution bit rate BRcur during reproduction of the part Pj to be reproduced next is predicted to identify the bit rate BRcur. May be.
また、ストリームデータ選択処理(図6)において、ステップS31の判断基準を厳しくしてもよい。たとえば、ステップS31において、式(4)の代わりに以下の式(5)を用いてもよい。 Further, in the stream data selection process (FIG. 6), the judgment criterion in step S31 may be strict. For example, in step S31, the following equation (5) may be used instead of equation (4).
BRcur×Dj/8≧SZ(i,j+1)+SZ(i,j+2) (5)
この場合、再生ビットレートBRiは上がりにくくなるが、ストリームデータSTiの選択の変更頻度は低下するため、コンテンツの画質や音質の変更頻度を抑えることができる。
BRcur × Dj / 8 ≧ SZ (i, j + 1) + SZ (i, j + 2) (5)
In this case, although the reproduction bit rate BRi is difficult to increase, the frequency of changing the selection of the stream data STi is reduced, so that the frequency of changing the image quality and sound quality of the content can be suppressed.
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。 While the embodiments of the present invention have been described above, the above-described embodiments are merely examples for carrying out the present invention. Therefore, the present invention is not limited to the above-described embodiment, and can be implemented by appropriately modifying the above-described embodiment without departing from the spirit thereof.
10 サーバ
11、21 ハードディスクドライブ
15 ストリーム情報データベース
16 サーバアプリケーション
20 クライアント
23 メモリ
25 クライアントアプリケーション
27、27A、27B バッファ領域
10
Claims (9)
前記サーバは、
各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するストリームデータ蓄積手段と、
前記クライアントの要求に対応して前記ストリームデータのパートを配列順にストリーム配信する配信手段とを備え、
前記クライアントは、
前記ストリーム配信された前記パートを順次蓄積するバッファ手段と、
前記バッファ手段に蓄積された前記パートを順次再生する再生手段と、
前記パートの再生が完了したとき、未再生のパートが前記バッファ手段に蓄積されているか否かを判断する判断手段と、
判断の結果、前記未再生のパートが蓄積されているとき、前記未再生のパートの再生時間で前記バッファ手段に蓄積可能なデータ量を算出するデータ量算出手段と、
前記算出結果に基づいて、前記サーバに要求するストリームデータ及び配信開始パートを選択する選択手段と、
前記選択されたストリームデータを、前記配信開始パートからストリーム配信するよう要求する要求手段とを備えることを特徴とするコンテンツ配信システム。 A content distribution system comprising a server and a client connected to the server,
The server
Stream data accumulating means for accumulating a plurality of stream data divided into a plurality of parts, each having a different reproduction bit rate and the same content, with respect to the same content;
A delivery means for streaming the parts of the stream data in order of arrangement in response to the request of the client;
The client
Buffer means for sequentially storing the streamed parts;
Playback means for sequentially playing back the parts stored in the buffer means;
Determining means for determining whether or not an unreproduced part is accumulated in the buffer means when the reproduction of the part is completed;
As a result of the determination, when the unreproduced part is accumulated, a data amount calculating means for calculating the amount of data that can be accumulated in the buffer means with the reproduction time of the unreproduced part;
Based on the calculation result, selection means for selecting stream data to be requested to the server and a delivery start part;
A content distribution system comprising: request means for requesting the stream distribution of the selected stream data from the distribution start part.
前記データ量算出手段は、
前記パートの再生が完了したとき、前記サーバから配信される前記ストリームデータの配信ビットレートを特定する配信ビットレート特定手段を備え、
前記特定した配信ビットレートと、前記未再生のパートの再生時間とに基づいて、前記データ量を算出することを特徴とするコンテンツ配信システム。 The content distribution system according to claim 1,
The data amount calculating means includes
A delivery bit rate specifying means for specifying a delivery bit rate of the stream data delivered from the server when the reproduction of the part is completed;
The content distribution system, wherein the data amount is calculated based on the identified distribution bit rate and the reproduction time of the unreproduced part.
前記クライアントは、
前記ストリームデータの各パートのデータ量及び再生時間と、前記各パートに対応した他のストリームデータのパートとに関するストリーム情報を蓄積するストリーム情報蓄積手段を備え、
前記選択手段は、前記算出結果と前記ストリーム情報とに基づいて、前記ストリームデータ及び配信開始パートを選択することを特徴とするコンテンツ配信システム。 The content distribution system according to claim 1 or 2,
The client
Stream information storage means for storing stream information related to the data amount and playback time of each part of the stream data, and parts of other stream data corresponding to each part,
The content distribution system, wherein the selection unit selects the stream data and a distribution start part based on the calculation result and the stream information.
前記判断の結果、前記未再生のパートが前記バッファ手段に蓄積されていないとき、前記選択手段は、前記複数のストリームデータのうち、前記再生ビットレートが最も低いストリームデータを選択することを特徴とするコンテンツ配信システム。 The content distribution system according to any one of claims 1 to 3,
As a result of the determination, when the unreproduced part is not accumulated in the buffer means, the selection means selects the stream data having the lowest reproduction bit rate from among the plurality of stream data. Content distribution system.
前記サーバからストリーム配信された前記パートを順次蓄積するバッファ手段と、
前記バッファ手段に蓄積された前記パートを順次再生する再生手段と、
前記パートの再生が完了したとき、未再生のパートが前記バッファ手段に蓄積されているか否かを判断する判断手段と、
判断の結果、前記未再生のパートが蓄積されているとき、前記未再生のパートの再生時間で前記バッファ手段に蓄積可能なデータ量を算出するデータ量算出手段と、
前記算出結果に基づいて、前記サーバに要求するストリームデータ及び配信開始パートを選択する選択手段と、
前記選択されたストリームデータを、前記配信開始パートからストリーム配信するよう要求する要求手段とを備えることを特徴とするクライアント。 Each of which is a client that can be connected to a server that stores a plurality of stream data divided into a plurality of parts arranged in succession with different playback bit rates for the same content,
Buffer means for sequentially storing the parts streamed from the server;
Playback means for sequentially playing back the parts stored in the buffer means;
Determining means for determining whether or not an unreproduced part is accumulated in the buffer means when the reproduction of the part is completed;
As a result of the determination, when the unreproduced part is accumulated, a data amount calculating means for calculating the amount of data that can be accumulated in the buffer means with the reproduction time of the unreproduced part;
Based on the calculation result, selection means for selecting stream data to be requested to the server and a delivery start part;
A client comprising: request means for requesting the selected stream data to be streamed from the delivery start part.
前記データ量算出手段は、
前記パートの再生が完了したとき、前記サーバから配信される前記ストリームデータの配信ビットレートを特定する配信ビットレート特定手段を備え、
前記特定した配信ビットレートと、前記未再生のパートの再生時間とに基づいて、前記データ量を算出することを特徴とするクライアント。 6. The client according to claim 5, wherein
The data amount calculating means includes
A delivery bit rate specifying means for specifying a delivery bit rate of the stream data delivered from the server when the reproduction of the part is completed;
The client, wherein the data amount is calculated based on the identified delivery bit rate and the playback time of the unplayed part.
前記ストリームデータの各パートのデータ量及び再生時間と、前記各パートに対応した他のストリームデータのパートとに関するストリーム情報を蓄積可能なストリーム情報蓄積手段を備え、
前記選択手段は、前記算出結果と前記ストリーム情報とに基づいて、前記ストリームデータ及び配信開始パートを選択することを特徴とするクライアント。 The client according to claim 5 or 6, wherein
Stream information storage means capable of storing stream information relating to the data amount and playback time of each part of the stream data, and other parts of the stream data corresponding to each part;
The client is characterized in that the selection means selects the stream data and the distribution start part based on the calculation result and the stream information.
前記判断の結果、前記未再生のパートが前記バッファ手段に蓄積されていないとき、前記選択手段は、前記複数のストリームデータのうち、前記再生ビットレートが最も低いストリームデータを選択することを特徴とするクライアント。 A client according to any one of claims 5 to 7,
As a result of the determination, when the unreproduced part is not accumulated in the buffer means, the selection means selects the stream data having the lowest reproduction bit rate from among the plurality of stream data. Client.
前記サーバからストリーム配信された前記パートを順次蓄積するステップと、
前記蓄積された前記パートを順次再生するステップと、
前記パートの再生が完了したとき、未再生のパートが蓄積されているか否かを判断するステップと、
判断の結果、前記未再生のパートが蓄積されているとき、前記未再生のパートの再生時間で蓄積可能なデータ量を算出するステップと、
前記算出結果に基づいて、前記サーバに要求するストリームデータ及び配信開始パートを選択するステップと、
前記選択されたストリームデータを、前記配信開始パートからストリーム配信するよう要求するステップとをクライアントコンピュータに実行させるクライアントプログラム。
A client program that is executed by a client computer that can be connected to a server that accumulates a plurality of stream data divided into a plurality of parts arranged in succession with different playback bit rates for the same content. There,
Sequentially storing the parts streamed from the server;
Sequentially playing back the accumulated parts;
Determining whether or not unplayed parts are accumulated when playback of the part is completed;
As a result of the determination, when the unreproduced part is accumulated, calculating the amount of data that can be accumulated in the reproduction time of the unreproduced part;
Selecting stream data and a delivery start part to be requested from the server based on the calculation result;
A client program that causes a client computer to execute a step of requesting the stream distribution of the selected stream data from the distribution start part.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005217031A JP2007036666A (en) | 2005-07-27 | 2005-07-27 | Contents distribution system, client, and client program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005217031A JP2007036666A (en) | 2005-07-27 | 2005-07-27 | Contents distribution system, client, and client program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007036666A true JP2007036666A (en) | 2007-02-08 |
Family
ID=37795373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005217031A Pending JP2007036666A (en) | 2005-07-27 | 2005-07-27 | Contents distribution system, client, and client program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007036666A (en) |
Cited By (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008271170A (en) * | 2007-04-20 | 2008-11-06 | Hitachi Ltd | Receiver, and receiving method |
JP2010028455A (en) * | 2008-07-18 | 2010-02-04 | Sony Corp | Data structure, playback apparatus and method, and program |
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 (en) * | 2010-09-24 | 2011-02-17 | Hitachi Ltd | Device and method for reproducing content |
JP2011087103A (en) * | 2009-10-15 | 2011-04-28 | Sony Corp | Provision of content reproduction system, content reproduction device, program, content reproduction method, and content server |
US8270473B2 (en) | 2009-06-12 | 2012-09-18 | Microsoft Corporation | Motion based dynamic resolution multiple bit rate video encoding |
JP2012222530A (en) * | 2011-04-06 | 2012-11-12 | Sony Corp | Receiving device and method, and program |
US8311115B2 (en) | 2009-01-29 | 2012-11-13 | Microsoft Corporation | Video encoding using previously calculated motion information |
CN102812683A (en) * | 2010-02-19 | 2012-12-05 | 瑞典爱立信有限公司 | Method and arrangement for adaption in http streaming |
JP2013520119A (en) * | 2010-02-19 | 2013-05-30 | トムソン ライセンシング | Adaptive streaming multipath delivery |
JP2013524603A (en) * | 2010-04-01 | 2013-06-17 | トムソン ライセンシング | How to recover content streamed in chunks |
JP2013526150A (en) * | 2010-04-16 | 2013-06-20 | マイクロソフト コーポレーション | Media content with improved playback quality |
JP2013219819A (en) * | 2009-07-24 | 2013-10-24 | Netflix Inc | Adaptive streaming for distribution of digital content |
US8588293B2 (en) | 2007-08-01 | 2013-11-19 | Nec Corporation | Moving image data distribution system, its method, and its program |
JP2013543296A (en) * | 2010-09-08 | 2013-11-28 | フル・エルエルシー | Method and apparatus for adaptive bit rate switching |
JP2014501048A (en) * | 2010-10-04 | 2014-01-16 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and apparatus in adaptive control of streaming |
JP2014506430A (en) * | 2011-01-05 | 2014-03-13 | ソニック アイピー, インコーポレイテッド | Adaptive bitrate streaming of media stored in Matroska container files using hypertext transfer protocol |
JP2014506748A (en) * | 2011-01-21 | 2014-03-17 | ネットフリックス・インコーポレイテッド | Various bit video streams for adaptive streaming |
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 (en) * | 2012-11-29 | 2014-06-05 | 日本電気株式会社 | Packet transfer control device and communications system |
JP2014131307A (en) * | 2014-02-06 | 2014-07-10 | Sony Corp | Information processing apparatus, information processing method, and program |
JP2014519259A (en) * | 2011-05-17 | 2014-08-07 | アルカテル−ルーセント | How to stream video content, nodes in a network for monitoring video content streaming |
JP2014520422A (en) * | 2011-05-18 | 2014-08-21 | トムソン ライセンシング | Method for dynamically adapting received bit rate and associated receiver |
JP2015053677A (en) * | 2009-09-22 | 2015-03-19 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
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 (en) * | 2012-03-13 | 2015-05-28 | グーグル・インコーポレーテッド | Predictive adaptive media streaming |
JP2016007026A (en) * | 2009-11-13 | 2016-01-14 | サムスン エレクトロニクス カンパニー リミテッド | Method and apparatus for adaptive streaming using segmentation |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
JP2016040919A (en) * | 2015-10-09 | 2016-03-24 | ソニー株式会社 | Information processor, information processing method, and program |
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 |
US9343112B2 (en) | 2013-10-31 | 2016-05-17 | Sonic Ip, Inc. | Systems and methods for supplementing content from a server |
US9344517B2 (en) | 2013-03-28 | 2016-05-17 | Sonic Ip, Inc. | Downloading and adaptive streaming of multimedia content to a device with cache assist |
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 (en) * | 2016-02-29 | 2017-09-07 | Kddi株式会社 | Client device and method |
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 |
-
2005
- 2005-07-27 JP JP2005217031A patent/JP2007036666A/en active Pending
Cited By (122)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10878065B2 (en) | 2006-03-14 | 2020-12-29 | Divx, Llc | Federated digital rights management scheme including trusted systems |
US11886545B2 (en) | 2006-03-14 | 2024-01-30 | 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 |
US11477253B2 (en) | 2006-06-09 | 2022-10-18 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
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 |
JP4600418B2 (en) * | 2007-04-20 | 2010-12-15 | 株式会社日立製作所 | Receiving apparatus and receiving method |
KR101145527B1 (en) * | 2007-04-20 | 2012-05-15 | 히다찌 컨슈머 일렉트로닉스 가부시끼가이샤 | Receiver and receiving method |
US8255679B2 (en) | 2007-04-20 | 2012-08-28 | Hitachi Consumer Electronics Co., Ltd. | Receiver and receiving method |
JP2008271170A (en) * | 2007-04-20 | 2008-11-06 | Hitachi Ltd | Receiver, and receiving method |
WO2008132877A1 (en) * | 2007-04-20 | 2008-11-06 | Hitachi, Ltd. | Receiver and receiving method |
US8588293B2 (en) | 2007-08-01 | 2013-11-19 | Nec Corporation | Moving image data distribution system, its method, and its program |
JP2010028455A (en) * | 2008-07-18 | 2010-02-04 | Sony Corp | Data structure, playback apparatus and method, and program |
US9009337B2 (en) | 2008-12-22 | 2015-04-14 | 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 |
US10484694B2 (en) | 2008-12-22 | 2019-11-19 | 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 (en) * | 2009-01-29 | 2012-07-19 | マイクロソフト コーポレーション | Multi-bit rate video encoding with variable bit rate and dynamic resolution for adaptive video streaming |
CN102301710B (en) * | 2009-01-29 | 2013-03-13 | 微软公司 | Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming |
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 |
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 |
US8311115B2 (en) | 2009-01-29 | 2012-11-13 | Microsoft Corporation | Video encoding using previously calculated motion information |
US8270473B2 (en) | 2009-06-12 | 2012-09-18 | Microsoft Corporation | Motion based dynamic resolution multiple bit rate video encoding |
US9014545B2 (en) | 2009-07-24 | 2015-04-21 | Netflix, Inc. | Adaptive streaming for digital content distribution |
US9769505B2 (en) | 2009-07-24 | 2017-09-19 | Netflix, Inc. | Adaptive streaming for digital content distribution |
US9648385B2 (en) | 2009-07-24 | 2017-05-09 | Netflix, Inc. | Adaptive streaming for digital content distribution |
JP2013219819A (en) * | 2009-07-24 | 2013-10-24 | Netflix Inc | Adaptive streaming for distribution of digital content |
US9521354B2 (en) | 2009-07-24 | 2016-12-13 | Netflix, Inc. | Adaptive streaming for digital content distribution |
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 |
JP2016174363A (en) * | 2009-09-22 | 2016-09-29 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
JP2015053677A (en) * | 2009-09-22 | 2015-03-19 | クゥアルコム・インコーポレイテッドQualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US11770432B2 (en) | 2009-09-22 | 2023-09-26 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
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 |
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 |
KR101750558B1 (en) * | 2009-10-15 | 2017-07-04 | 소니 주식회사 | Information processing apparatus, information processing method, and computer-readable recording medium |
KR101868281B1 (en) * | 2009-10-15 | 2018-06-15 | 소니 주식회사 | Information processing apparatus, information processing method, and computer-readable recording medium |
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 (en) * | 2009-10-15 | 2017-06-22 | 소니 주식회사 | Information processing apparatus, information processing method, and computer-readable recording medium |
KR20170070856A (en) * | 2009-10-15 | 2017-06-22 | 소니 주식회사 | Information processing apparatus, information processing method, and computer-readable recording medium |
TWI643502B (en) * | 2009-10-15 | 2018-12-01 | 日商新力股份有限公司 | Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server |
JP2011087103A (en) * | 2009-10-15 | 2011-04-28 | Sony Corp | Provision of content reproduction system, content reproduction device, program, content reproduction method, and content server |
KR101868280B1 (en) * | 2009-10-15 | 2018-06-15 | 소니 주식회사 | Information processing apparatus, information processing method, and computer-readable recording medium |
US9967598B2 (en) | 2009-11-13 | 2018-05-08 | Samsung Electronics Co., Ltd. | Adaptive streaming method and apparatus |
US9860573B2 (en) | 2009-11-13 | 2018-01-02 | Samsung Electronics Co., Ltd. | Method and apparatus for providing and receiving data |
USRE48360E1 (en) | 2009-11-13 | 2020-12-15 | Samsung Electronics Co., Ltd. | Method and apparatus for providing trick play service |
US10425666B2 (en) | 2009-11-13 | 2019-09-24 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptive streaming using segmentation |
JP2016007026A (en) * | 2009-11-13 | 2016-01-14 | サムスン エレクトロニクス カンパニー リミテッド | 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 |
US10484749B2 (en) | 2009-12-04 | 2019-11-19 | 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 |
US9756364B2 (en) | 2009-12-07 | 2017-09-05 | Samsung Electronics Co., Ltd. | Streaming method and apparatus operating by inserting other content into main content |
JP2013520119A (en) * | 2010-02-19 | 2013-05-30 | トムソン ライセンシング | Adaptive streaming multipath delivery |
US9112933B2 (en) | 2010-02-19 | 2015-08-18 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for adaption in HTTP streaming |
US9479555B2 (en) | 2010-02-19 | 2016-10-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and arrangement for adaption in HTTP streaming |
US10034048B2 (en) | 2010-02-19 | 2018-07-24 | Thomson Licensing Dtv | Multipath delivery for adaptive streaming |
CN102812683A (en) * | 2010-02-19 | 2012-12-05 | 瑞典爱立信有限公司 | Method and arrangement for adaption in http streaming |
KR101624013B1 (en) | 2010-02-19 | 2016-05-24 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | Method and arrangement for adaptation in http streamimg |
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 (en) * | 2010-04-01 | 2013-06-17 | トムソン ライセンシング | How to recover content streamed in chunks |
JP2013526150A (en) * | 2010-04-16 | 2013-06-20 | マイクロソフト コーポレーション | Media content with improved playback quality |
US8705616B2 (en) | 2010-06-11 | 2014-04-22 | Microsoft Corporation | Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures |
US9319448B2 (en) | 2010-08-10 | 2016-04-19 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
JP2013543296A (en) * | 2010-09-08 | 2013-11-28 | フル・エルエルシー | Method and apparatus for adaptive bit rate switching |
JP2011035924A (en) * | 2010-09-24 | 2011-02-17 | Hitachi Ltd | Device and method for reproducing content |
JP2014501048A (en) * | 2010-10-04 | 2014-01-16 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | Method and apparatus in adaptive control of streaming |
US8997160B2 (en) | 2010-12-06 | 2015-03-31 | Netflix, Inc. | Variable bit video streams for adaptive streaming |
US10972772B2 (en) | 2010-12-06 | 2021-04-06 | Netflix, Inc. | Variable bit video streams for adaptive streaming |
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 |
JP2014506430A (en) * | 2011-01-05 | 2014-03-13 | ソニック アイピー, インコーポレイテッド | Adaptive bitrate streaming of media stored in Matroska container files using hypertext transfer protocol |
US11638033B2 (en) | 2011-01-05 | 2023-04-25 | Divx, Llc | Systems and methods for performing adaptive bitrate 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 |
US10382785B2 (en) | 2011-01-05 | 2019-08-13 | Divx, Llc | Systems and methods of encoding trick play streams for use in adaptive streaming |
US10368096B2 (en) | 2011-01-05 | 2019-07-30 | Divx, Llc | Adaptive streaming systems and methods for performing trick play |
JP2014506748A (en) * | 2011-01-21 | 2014-03-17 | ネットフリックス・インコーポレイテッド | Various bit video streams for adaptive streaming |
JP2012222530A (en) * | 2011-04-06 | 2012-11-12 | Sony Corp | Receiving device and method, and program |
JP2014519259A (en) * | 2011-05-17 | 2014-08-07 | アルカテル−ルーセント | How to stream video content, nodes in a network for monitoring video content streaming |
US10015225B2 (en) | 2011-05-18 | 2018-07-03 | Thomson Licensing | Method for dynamic adaptation of the reception bitrate and associated receiver |
JP2014520422A (en) * | 2011-05-18 | 2014-08-21 | トムソン ライセンシング | Method for dynamically adapting received bit rate and associated receiver |
US11457054B2 (en) | 2011-08-30 | 2022-09-27 | Divx, Llc | Selection of resolutions for seamless resolution switching of multimedia content |
US10856020B2 (en) | 2011-09-01 | 2020-12-01 | Divx, Llc | Systems and methods for distributing content using a common set of encryption keys |
US11683542B2 (en) | 2011-09-01 | 2023-06-20 | 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 |
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 |
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 |
US9591318B2 (en) | 2011-09-16 | 2017-03-07 | Microsoft Technology Licensing, Llc | Multi-layer encoding and decoding |
US9769485B2 (en) | 2011-09-16 | 2017-09-19 | 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 (en) * | 2012-03-13 | 2015-05-28 | グーグル・インコーポレーテッド | Predictive adaptive media streaming |
WO2014083960A1 (en) * | 2012-11-29 | 2014-06-05 | 日本電気株式会社 | Packet transfer control device and communications system |
USRE49990E1 (en) | 2012-12-31 | 2024-05-28 | Divx, Llc | Use of objective quality measures of streamed content to reduce streaming bandwidth |
USRE48761E1 (en) | 2012-12-31 | 2021-09-28 | Divx, Llc | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US10805368B2 (en) | 2012-12-31 | 2020-10-13 | Divx, Llc | Systems, methods, and media for controlling delivery of content |
US11785066B2 (en) | 2012-12-31 | 2023-10-10 | Divx, Llc | Systems, methods, and media for controlling delivery of content |
US10225299B2 (en) | 2012-12-31 | 2019-03-05 | Divx, Llc | Systems, methods, and media for controlling delivery of content |
US11438394B2 (en) | 2012-12-31 | 2022-09-06 | Divx, Llc | Systems, methods, and media for controlling delivery of content |
US10715806B2 (en) | 2013-03-15 | 2020-07-14 | Divx, Llc | Systems, methods, and media for transcoding video data |
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 |
US10264255B2 (en) | 2013-03-15 | 2019-04-16 | 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 |
US9344517B2 (en) | 2013-03-28 | 2016-05-17 | Sonic Ip, Inc. | Downloading and adaptive streaming of multimedia content to a device with cache assist |
US10462537B2 (en) | 2013-05-30 | 2019-10-29 | Divx, Llc | Network video streaming with trick play based on separate trick play files |
US9712890B2 (en) | 2013-05-30 | 2017-07-18 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9247317B2 (en) | 2013-05-30 | 2016-01-26 | Sonic Ip, Inc. | Content streaming with client device trick play index |
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 (en) * | 2014-02-06 | 2014-07-10 | Sony Corp | Information processing apparatus, information processing method, and program |
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 |
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 |
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 |
JP2016040919A (en) * | 2015-10-09 | 2016-03-24 | ソニー株式会社 | Information processor, information processing method, and program |
US10382832B2 (en) | 2016-02-29 | 2019-08-13 | Fuji Xerox Co., Ltd. | Information processing apparatus and information processing method |
JP2017157958A (en) * | 2016-02-29 | 2017-09-07 | Kddi株式会社 | Client device and 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 (en) | Contents distribution system, client, and client program | |
US8842970B2 (en) | Methods and systems for use in controlling playback of content in relation to recorded content | |
JP5840702B2 (en) | Various bit video streams for adaptive streaming | |
US20170279863A1 (en) | System and method of managing multiple video players | |
JP7255116B2 (en) | Information processing system, terminal device and program | |
WO2011010688A1 (en) | Content delivery system, content delivery method and content delivery programme | |
JP2003167813A (en) | Stream data storing and distributing method and system | |
JP2009027598A (en) | Video distribution server and video distribution method | |
JP2013526150A (en) | Media content with improved playback quality | |
US20100166387A1 (en) | Method and apparatus for playing video data of high bit rate format by a player capable of playing video data of low bit rate format | |
JPH08317384A (en) | Information processing system | |
WO2009119394A1 (en) | Video acquisition method, video acquisition device, video acquisition system, and program for video acquisition | |
US20230239532A1 (en) | Systems and methods for media content hand-off based on type of buffered data | |
JP2008311795A (en) | Content distribution system, distribution server, accepting station and computer program | |
JP2016134701A (en) | Video reproduction control program, video reproduction control method, video distribution server, transmission program, and transmission method | |
JP2004005472A (en) | Recording/storage control of contents attached with precedence | |
JP6248943B2 (en) | Information processing apparatus, information processing method, program, and information processing system | |
JP2003536329A (en) | Method and system for reading a block from a storage medium | |
EP3895352B1 (en) | Method and system for reducing drop-outs during video stream playback | |
WO2011142249A1 (en) | Terminal, distribution system, distribution server, playback method, and program | |
JP2008071229A (en) | Network av system and controller | |
JP2016134702A (en) | Video data file generation program, video data file generation method, and video data file generation device | |
JP2000299841A (en) | Image processing unit, image processing method and information recording medium | |
JP2008180932A (en) | Display control device, display, display control method and program | |
JP2012222530A (en) | Receiving device and method, and program |