[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2007036666A - Contents distribution system, client, and client program - Google Patents

Contents distribution system, client, and client program 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
Japanese (ja)
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/en
Publication of JP2007036666A publication Critical patent/JP2007036666A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To provide a contents distribution system which is possible to change a reproduction bit rate at the predetermined position of the contents. <P>SOLUTION: A server 10 has bit rates which are different each other for the same contents, and has stream data STi (i=1 to 3) divided into a plurality of parts. A client 20 reproduces the stream data STi distributed from the server 10 while receiving them. At the time, the client 20 discriminates whether the data amount of the next part is already stored in buffer regions 27A or 27B or not in every completion of reproduction of the parts. If it is stored, the client calculates a data amount which is possible to be stored in the buffer regions 27A and 27B during a reproduction time of the next part, and selects stream data STi to request to the server 10 based on the calculation result. <P>COPYRIGHT: (C)2007,JPO&INPIT

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.

しかしながら、これらの方法では、再生ビットレートや圧縮率、フレームレートの変更タイミング時に、クライアントが蓄積するデータが枯渇して再生が途切れる可能性がある。さらに、これらの方法では、再生中のコンテンツの内容に依存せずに、ネットワークの状況に依存してビットレートを変更する。つまり、再生中の動画がどのような場面であっても、ビットレートを変更して画質を変化させる。そのため、画質の変化が唐突に発生し、コンテンツを視聴する利用者に違和感を与えてしまう。
特開2004−215074号公報 特開2003−259333号公報
However, in these methods, there is a possibility that data stored in the client is depleted and reproduction is interrupted when the reproduction bit rate, compression rate, and frame rate are changed. Furthermore, in these methods, the bit rate is changed depending on the state of the network without depending on the content of the content being reproduced. That is, regardless of the scene of the moving image being reproduced, the image quality is changed by changing the bit rate. As a result, image quality changes suddenly, giving the user a discomfort to view the content.
Japanese Patent Laid-Open No. 2004-215074 JP 2003-259333 A

本発明の目的は、ストリーム配信中の再生の途切れを防止するコンテンツ配信システムを提供することである。
本発明の他の目的は、コンテンツの所定の位置で再生ビットレートの変更が可能なコンテンツ配信システムを提供することである。
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.

課題を解決するための手段及び発明の効果Means for Solving the Problems and Effects of the Invention

本発明によるコンテンツ配信システムは、サーバと、サーバに接続されたクライアントとを備える。サーバは、ストリームデータ蓄積手段と、配信手段とを備える。ストリームデータ蓄積手段は、複数のストリームデータを蓄積する。複数のストリームデータは、各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割される。配信手段は、クライアントの要求に対応してストリームデータのパートを配列順にストリーム配信する。クライアントは、バッファ手段と、再生手段と、判断手段と、データ量算出手段と、選択手段と、要求手段とを備える。バッファ手段は、ストリーム配信されたパートを順次蓄積する。再生手段は、バッファ手段に蓄積されたパートを順次再生する。判断手段は、パートの再生が完了したとき、未再生のパートがバッファ手段に蓄積されているか否かを判断する。データ量算出手段は、判断の結果、未再生のパートが蓄積されているとき、未再生のパートの再生時間でバッファ手段に蓄積可能なデータ量を算出する。選択手段は、算出結果に基づいて、サーバに要求するストリームデータ及び配信開始パートを選択する。要求手段は、選択されたストリームデータを、配信開始パートからストリーム配信するよう要求する。   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 server 10 and the client 20 are connected via the Internet 30, but may be connected via a LAN (Local Area Network), a WAN (Wide Area Network), or other computer networks.

サーバ10は、動画や音楽等のコンテンツに関する複数のストリームデータを蓄積し、クライアント20からの要求に応答して、ストリームデータをストリーム配信する。要するに、このシステムは、ストリーミング型のコンテンツ配信システムである。   The server 10 accumulates a plurality of stream data relating to contents such as moving images and music, and in response to a request from the client 20, the stream data is streamed. In short, this system is a streaming type content distribution system.

[サーバの構成]
図1を参照して、サーバ10は、ハードディスクドライブ(HDD)11と、CPU12と、メモリ13とを備える。これらは、バス17で互いに接続される。
[Server configuration]
With reference to FIG. 1, the server 10 includes a hard disk drive (HDD) 11, a CPU 12, and a memory 13. These are connected to each other by a bus 17.

HDD11は、複数のストリームデータST1〜ST3を蓄積する。ストリームデータST1〜ST3は、同一コンテンツに関するストリームデータであり、互いに異なる再生ビットレートを有する。ストリームデータST1〜ST3の構造については後述する。HDD11は、ストリームデータST1〜ST3と異なるコンテンツに関する複数のストリームデータも蓄積する。   The HDD 11 stores a plurality of stream data ST1 to ST3. The stream data ST1 to ST3 are stream data related to the same content, and have different reproduction bit rates. The structure of the stream data ST1 to ST3 will be described later. The HDD 11 also stores a plurality of stream data related to content different from the stream data ST1 to ST3.

HDD11はさらに、ストリーム情報データベース15とサーバアプリケーション(プログラム)16とを記憶する。ストリーム情報データベース15は、上述した複数のストリームデータに関する情報を登録する。ストリーム情報データベース15については後述する。   The HDD 11 further stores a stream information database 15 and a server application (program) 16. The stream information database 15 registers information related to the plurality of stream data described above. The stream information database 15 will be described later.

サーバアプリケーション(プログラム)16は、クライアント20からの要求に対応したストリームデータをストリーミング配信する。CPU12は、サーバアプリケーション16をメモリ13に読み出して、上記のサーバアプリケーション16の動作を実行する。   The server application (program) 16 performs streaming delivery of stream data corresponding to the request from the client 20. The CPU 12 reads the server application 16 into the memory 13 and executes the operation of the server application 16 described above.

[ストリームデータの構造]
図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 information database 15 includes data block 151 in which information regarding each stream data STi (rate number i = 1 to 3) is registered.

各データブロック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 stream information database 15 includes information on the stream data, information on the reproduction time and data amount of each part in each stream data, and information on other stream data parts corresponding to each stream data part. including.

[クライアントの構成]
再び図1を参照して、クライアント20は、HDD21と、CPU22と、メモリ23と、ディスプレイ24とを備える。これらはバス26で相互に接続される。
[Client Configuration]
Referring to FIG. 1 again, the client 20 includes an HDD 21, a CPU 22, a memory 23, and a display 24. These are connected to each other by a bus 26.

HDD21は、クライアントアプリケーション(プログラム)25を記憶する。クライアントアプリケーション25は、サーバ10にストリームデータSTiを要求したり、受信したストリームデータSTiのパートPjに基づくコンテンツを再生したりする。クライアントアプリケーション25はさらに、再生中にサーバ10に要求するストリームデータSTiを選択する。詳細は後述する。   The HDD 21 stores a client application (program) 25. The client application 25 requests the stream data STi from the server 10 and reproduces content based on the part Pj of the received stream data STi. The client application 25 further selects the stream data STi requested from the server 10 during reproduction. Details will be described later.

HDD21はさらに、内部にバッファ領域27A、27B(これらをまとめてバッファ領域27とも称する)を含む。バッファ領域27は、サーバ10からストリーム配信されたストリームデータSTiを順次蓄積する。バッファ領域27A及び27Bは、互いに異なる再生ビットレートBRiのストリームデータSTiを蓄積する。
なお、HDD21はサーバ10から送信されたストリーム情報データベース15を記憶する。
The HDD 21 further includes buffer areas 27A and 27B (collectively referred to as a buffer area 27). The buffer area 27 sequentially accumulates stream data STi stream-distributed from the server 10. The buffer areas 27A and 27B accumulate stream data STi having different reproduction bit rates BRi.
The HDD 21 stores the stream information database 15 transmitted from the server 10.

CPU22は、クライアントアプリケーション25をメモリ23に読み出して、以下に説明するクライアント20の動作を実行する。   The CPU 22 reads the client application 25 into the memory 23 and executes the operation of the client 20 described below.

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 client 20 reproduces the stream data STi distributed from the server 10 while receiving it. At this time, every time the reproduction of each part Pj is completed, the client 20 determines whether or not the data amount SZ (i, j + 1) of the next part Pj + 1 is already accumulated in the buffer area 27. If so, the amount of data that can be stored in the buffer area 27 during the playback time of the next part Pj + 1 is calculated, and the stream data STi requested from the server is selected based on the calculation result.

図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 client 20 is playing back while receiving the stream data STi from the server 10. It is a graph to show. The delivery bit rate BRcur is a bit rate (bit / sec) at the time of delivery of data stream-delivered from the server 10 to the client 20. The upper graph in FIG. 4 shows the fluctuation of the distribution bit rate BRcur, and the vertical axis is the bit rate (bit / sec). The lower graph in FIG. 4 shows the data amount DL (t) accumulated in the buffer area 27, and the vertical axis represents the data amount (bytes). D ST1 to D ST3 in the graph indicate the amount of data necessary for reproducing each stream data ST1 to ST3 . In each graph, the horizontal axis is time (sec).

図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, client 20 first requests server 10 for stream data STi (eg, ST3). The client 20 receives the stream data ST3 from the server 10 and accumulates it in the buffer area 27. When the accumulated data amount reaches a predetermined data amount DL (t0), the client 20 starts reproduction. From time t0 to time t2, the distribution bit rate BRcur is higher than the reproduction bit rate BR3. For this reason, the amount of data received is larger than the amount of data to be reproduced. That is, the slope of DL (t) in FIG. 4 is larger than the slope of DST3 . Therefore, data is sequentially stored in the buffer area 27.

クライアント20は、パートP0の再生が終了した時刻t1において、サーバに要求するストリームデータSTiを選択する(データ要求処理:図6)。データ要求処理では、次のパート(パートP1)の全データ量SZ(3,1)が既にバッファ領域27に蓄積されているか判断し、既に蓄積されている場合、パートP1の再生時間D1中にバッファ領域27に蓄積可能なデータ量に基づいて、再生ビットレートBR3(ストリームデータST3)を変更するか否かを判断する。時刻t1では、データ量SZ(3,1)が既にバッファ領域27に蓄積されており、かつ、再生ビットレートBR3のまま維持すると判断し、そのまま再生を継続する。   The client 20 selects the stream data STi requested from the server at the time t1 when the reproduction of the part P0 ends (data request process: FIG. 6). In the data request process, it is determined whether or not the total data amount SZ (3, 1) of the next part (part P1) has already been accumulated in the buffer area 27, and if already accumulated, during the reproduction time D1 of part P1. Based on the amount of data that can be stored in the buffer area 27, it is determined whether or not to change the reproduction bit rate BR3 (stream data ST3). At time t1, it is determined that the data amount SZ (3, 1) has already been accumulated in the buffer area 27 and is maintained at the reproduction bit rate BR3, and reproduction is continued as it is.

時刻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 client 20 performs the data request process at time t3, and the data amount SZ (3, 3) of the next part P3 has already been accumulated, but if the reproduction is continued as it is, the data accumulated during the reproduction of the part P4 Is depleted (DL (t) in FIG. 4 is lower than DST3 ). At this time, the client 20 determines that the reproduction is not interrupted after the part P4 if the data to be reproduced is switched to the stream data ST2 (bit rate BR2), and requests the server 10 to distribute the stream data ST2 from the part P4. By this operation, the client 20 reproduces the stream data ST2 after time t4 (part P4).

時刻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 client 20 determines that the data SZ (2, 6) of the part P6 of the stream data ST2 has already been accumulated at time t6, and further the stream data ST3 (reproduction bit rate BR3) during the reproduction time D6 of the part P6. It is determined that the data SZ (3, 7) of the part P7 of FIG. As a result, at time t6, the client 20 requests the server 10 to distribute the stream data ST3 from the part P7. The client 20 acquires the data SZ (3, 7) of the part P7 of the stream data ST3 during the reproduction time D6, and reproduces the data after time t7.

以上のとおり、クライアント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 client 20 accumulates the part Pj + 1 to be reproduced next in principle. Further, based on the amount of data that can be stored during the playback time Dj + 1 of the part Pj + 1, the playback bit rate BRi (stream data STi) of the data of the next part Pj + 2 is selected, and the part Pj + 2 of the selected stream data STi To get. Therefore, it is possible to prevent the content reproduction from being interrupted.
Furthermore, when switching the reproduction bit rate BRi, the client 20 switches in units of part Pj. Since each part Pj is divided in advance at a position where there is little discomfort even if the image quality and sound quality are changed, it is possible to suppress the influence on viewing by changing the image quality and sound quality as much as possible. In addition, since the client 20 determines a change in the reproduction bit rate BRi (stream data STi), the load on the server is reduced. Hereinafter, the operation of the content distribution system will be described in detail using a flowchart.

2.2.全体動作
図5を参照して、まず、クライアント20は、所望のコンテンツのストリーム情報データベース15を要求する(S1)。サーバ10は、クライアント20からの要求を監視し(S2)、要求を受けたとき(S2でYES)、対応するストリーム情報データベース15を送信する(S3)。
2.2. Overall Operation Referring to FIG. 5, first, the client 20 requests the stream information database 15 of desired content (S1). The server 10 monitors the request from the client 20 (S2), and when receiving the request (YES in S2), transmits the corresponding stream information database 15 (S3).

クライアント20はストリーム情報データベース15を受け、各ストリームデータST1〜ST3の再生ビットレートBR1〜BR3に関する情報をディスプレイ24に表示する。クライアント20のユーザは、ディスプレイ24を参照し、再生ビットレート(たとえばBR3)を選択する。クライアント20は、ユーザ操作に基づいて、選択された再生ビットレートBR3のストリームデータST3をパートP0から配信するようサーバ10に要求する(S4)。具体的には、クライアント20は、ストリーム情報データベース15を参照し、ビットレート情報BR3に対応したストリームデータ識別子=ST3と、パート識別子=P0とを含む配信要求コマンドをサーバ10に送信する。   The client 20 receives the stream information database 15 and displays information on the reproduction bit rates BR1 to BR3 of the stream data ST1 to ST3 on the display 24. The user of the client 20 refers to the display 24 and selects a reproduction bit rate (for example, BR3). Based on the user operation, the client 20 requests the server 10 to distribute the stream data ST3 of the selected reproduction bit rate BR3 from the part P0 (S4). Specifically, the client 20 refers to the stream information database 15 and transmits a distribution request command including the stream data identifier = ST3 corresponding to the bit rate information BR3 and the part identifier = P0 to the server 10.

サーバ10は、クライアント20からの配信要求を監視し(S5)、配信要求コマンドを受けたとき(S5でYES)、配信要求コマンドに基づいてストリームデータST3をパートP0からストリーム配信する(S6)。   The server 10 monitors the distribution request from the client 20 (S5), and when receiving the distribution request command (YES in S5), the server 10 performs stream distribution of the stream data ST3 from the part P0 based on the distribution request command (S6).

クライアント20は、サーバ10からデータを受信したか否かを監視し(S7)、データを受信したとき(ステップS7でYES)、受信したデータをバッファ領域27に順次蓄積する(S8)。このとき、クライアント20は、バッファ領域27A、27Bのいずれか(たとえば27A)を受信バッファに指定し、受信バッファに指定されたバッファ領域27Aにデータを蓄積する。以降、受信バッファに指定されたバッファ領域27を単に受信バッファとも称する。   The client 20 monitors whether or not data is received from the server 10 (S7). When the data is received (YES in step S7), the received data is sequentially stored in the buffer area 27 (S8). At this time, the client 20 designates one of the buffer areas 27A and 27B (for example, 27A) as a reception buffer, and accumulates data in the buffer area 27A designated as the reception buffer. Hereinafter, the buffer area 27 designated as the reception buffer is also simply referred to as a reception buffer.

クライアント20は、受信バッファに蓄積されたデータ量DL(t)がパートP0のデータ量SZ(3,0)を超えたか否かを判断し(S9)、超えたとき(S9でYES)、パートP0の再生を開始する(S10)。このとき、クライアント20はデータ量DL(t)を有するバッファ領域27Aを再生バッファに指定し、指定された再生バッファからデータを読み出し、パートP0の再生を開始する。この場合、1つのバッファ領域27Aが受信バッファ及び再生バッファとして機能する。以降、再生バッファに指定されたバッファ領域17を単に再生バッファとも称する。   The client 20 determines whether or not the data amount DL (t) accumulated in the reception buffer exceeds the data amount SZ (3, 0) of the part P0 (S9), and when it exceeds (YES in S9), the part 20 Playback of P0 is started (S10). At this time, the client 20 designates the buffer area 27A having the data amount DL (t) as a reproduction buffer, reads data from the designated reproduction buffer, and starts reproduction of the part P0. In this case, one buffer area 27A functions as a reception buffer and a reproduction buffer. Hereinafter, the buffer area 17 designated as the reproduction buffer is also simply referred to as a reproduction buffer.

再生後、クライアント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 client 20 selects the stream data STi to be requested from the server 10 and requests distribution of the selected stream data STi (S11: data request processing). In response to the request from the client 20, the server 10 distributes the stream data STi (S12). The server 10 ends the operation when the delivery of the last part P7 of the stream data STi is completed (YES in S14).

クライアント20は、サーバ10から受信したストリームデータSTiの再生を継続し(S13:再生処理)、ストリームデータSTiを全て再生したときに動作を終了する。   The client 20 continues to reproduce the stream data STi received from the server 10 (S13: reproduction process), and ends the operation when all the stream data STi is reproduced.

ステップ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 client 20 completes the reproduction of the part Pj, the client 20 determines whether or not all data of the next part Pj has already been accumulated. If so, it is determined whether or not to change the reproduction bit rate BRi based on the amount of received data that can be accumulated in the reception buffer during the reproduction time Dj of the next part Pj, and the requested stream data STi is selected. . Details will be described below.

図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), client 20 determines the current distribution bit. The rate BRcur is specified (S23). Specifically, the current distribution bit rate BRcur (bit / sec) is calculated based on the following equation (1).

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 client 20 increments the part number j (S24, j = 1), and determines whether or not the part Pj (part P1) to be reproduced next is stored in the buffer area 27 ( S25). Specifically, the client 20 determines whether or not the following formula (2) is satisfied.

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 client 20 specifies the data amount SZ (i, j) of each part Pj based on the stream information database 15.

判断の結果、式(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 client 20 does not accumulate the total data amount of the part Pj scheduled to be reproduced next, and accumulates only a part of the data of the part Pj. is doing. Therefore, the client 20 does not reproduce the partial data of the part Pj stored in the reception buffer, but instead selects the stream data ST1 having the lowest reproduction bit rate BR1 as data to be reproduced, and sets the distribution start part as Pj. (S35). This is because the stream data ST1 has the smallest data amount SZ (1, j) of each part Pj, and therefore, even if it is reproduced while receiving data from the server 10, it is possible to prevent interruption of reproduction as much as possible.

一方、ステップ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 client 20 has already accumulated the data amount SZ (i, j) of the part Pj to be reproduced next in the reception buffer. Yes. Therefore, the data of the next part Pj + 1 can be sequentially stored during the reproduction time Dj of the part Pj. Therefore, the client 20 considers which stream data STi of the stream data ST1 to ST3 is requested for the part Pj + 1 (S20).

まず、クライアント20は、既に蓄積されたストリームデータSTiのパートPjの再生が完了したときに、ストリームデータSTiのパートPj+1の全データを蓄積できるか否かを判断する(S26)。このとき、クライアント20は、以下の式(3)を満たすか否かを判断する。   First, the client 20 determines whether or not all the data of the part Pj + 1 of the stream data STi can be accumulated when the reproduction of the part Pj of the stream data STi that has already been accumulated is completed (S26). At this time, the client 20 determines whether or not the following expression (3) is satisfied.

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 client 20 specifies the playback time Dj of each part Pj based on the stream information database 15.
When Expression (3) is not satisfied (NO in S26), the client 20 cannot accumulate all data of the next part Pj + 1 when the reproduction of the part Pj is completed. Therefore, the client 20 studies to reduce the reproduction bit rate BRi (S27 to S29). On the other hand, when Expression (3) is satisfied (YES in S26), all data of the next part Pj + 1 can be accumulated when the reproduction of the part Pj is completed. That is, playback can be continued at least at the current playback bit rate BRi. Therefore, in this case, it is examined whether or not the reproduction bit rate BRi can be further increased (S30 to S33). Hereinafter, the case where the reproduction bit rate BRi is lowered (S27 to S29) and the case where it is raised (S30 to S33) will be described with specific examples.

[再生ビットレートを下げる検討(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 client 20 determines in step S26 that the expression (3) is not satisfied. (NO in S26). That is, it is determined that the total data amount SZ (3,4) of part P4 cannot be accumulated at the end of reproduction of part P3.
At this time, the client 20 considers reducing the reproduction bit rate BRi. Specifically, the stream data STi that can acquire the data amount SZ (i, 4) of the part P4 during the reproduction time D3 is selected.

クライアント20は、レート番号i=i−1(つまりレート番号i=2)にデクリメントする(S27)。デクリメントしたレート番号2は最小値=1でないため(S28でNO)、クライアント20は、ストリームデータST2のパートPj+1(つまりパート4)が、以下の式(4)を満たすか否かを判断する(S29)。   The client 20 decrements to rate number i = i−1 (that is, rate number i = 2) (S27). Since the decremented rate number 2 is not the minimum value = 1 (NO in S28), the client 20 determines whether or not the part Pj + 1 (that is, part 4) of the stream data ST2 satisfies the following expression (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)。
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 server 10, and the distribution start part is set to P4 (S34). On the other hand, if the expression (4) is not satisfied (NO in S29), the process returns to step S27, the rate number i is further decremented, the determinations in steps S28 and S29 are executed, and the requested stream data STi is selected (S34). . As a result of decrementing the rate number i, when it is determined in step S28 that the rate number i = 1 (YES in S28), the client 20 selects the stream data ST1 and sets the distribution start part to P4 (S34).

[再生ビットレートを上げる検討(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 client 20 determines in step S26 that the expression (3) is satisfied (in S26). YES) That is, it is determined that the total data amount SZ (2, 7) of the part P7 of the stream data ST2 can be accumulated at the time t7 when the reproduction of the part P6 is completed.
At this time, the client 20 examines whether or not the stream data STi having the bit rate BRi higher than the current value can be requested.

クライアント20は、レート番号i=i+1(つまりレート番号i=3)にインクリメントする(S30)。続いて、クライアント20は、ストリームデータST3のパートPj+1(すなわちパートP7)が、式(4)を満たすか否かを判断する(S31)。   The client 20 increments the rate number i = i + 1 (that is, the rate number i = 3) (S30). Subsequently, the client 20 determines whether or not the part Pj + 1 (that is, the part P7) of the stream data ST3 satisfies Expression (4) (S31).

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 client 20 selects the stream data ST3 and distributes it. The start part is set as part 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)を選択する。そのため、再生すべきデータが途中で枯渇せず、再生の途切れを防止できる。
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 client 20 determines whether or not the selected stream data STi is the same as the currently received stream data STi. Judgment is made (S51). If they are the same (YES in S51), since the client 20 has already received the stream data STi, it continues to receive it as it is. In short, in this case, the distribution request command is not transmitted to the server 10.

一方、選択したストリームデータ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 client 20 sends the selected stream data ST2 to the server 10. The distribution is requested from the distribution start part Pj + 1 (S54). Specifically, the client 20 transmits a new distribution request command including the stream data identifier = ST2 and the part identifier = Pj + 1 based on the stream information database 15.

なお、新たな配信要求を送信する前に、クライアント20は、バッファ領域27A及び27Bのうち、現在受信バッファに指定されているバッファ領域(たとえば27A)を切り替え(S52)。バッファ領域27Bを受信バッファとする。さらに、新たに受信バッファに指定されたバッファ領域27Bに蓄積されているデータを消去しておく(S53)。   Before transmitting a new distribution request, the client 20 switches the buffer area (for example, 27A) currently designated as the reception buffer among the buffer areas 27A and 27B (S52). The buffer area 27B is used as a reception buffer. Further, the data stored in the buffer area 27B newly designated as the reception buffer is deleted (S53).

サーバ10は、新たな配信要求コマンドを受けたとき、今まで配信していたストリームデータST3の配信を停止し、選択されたストリームデータST2を、配信開始パートPj+1から配信する(S55)。   When receiving a new distribution request command, the server 10 stops the distribution of the stream data ST3 that has been distributed so far, and distributes the selected stream data ST2 from the distribution start part Pj + 1 (S55).

クライアント20はサーバ10から配信されたストリームデータST2を受け、ステップS52で指定した受信バッファ(バッファ領域27B)に蓄積する。   The client 20 receives the stream data ST2 distributed from the server 10 and accumulates it in the reception buffer (buffer area 27B) designated in step S52.

以上に示したとおり、今まで受信していたストリームデータ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 buffer area 27B different from the buffer area 27A in which the stream data ST3 is accumulated. .
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 different buffer areas 27A and 27B, and the reception process is facilitated by separating the reception buffer from the reproduction buffer. Hereinafter, the reproduction process will be described.

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, client 20 determines whether or not reproduction of part Pj of stream data STi (eg, ST3) being reproduced has been completed (S61). When the reproduction is completed (YES in S61), it is determined whether or not the part Pj that has been reproduced is the final part P7 (S62). If it is part P7 (YES in S62), since all the content has been reproduced, the reproduction is stopped (S68), and the reproduction process is terminated.

再生を完了したパート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 client 20 determines whether or not the reception buffer and the reproduction buffer are the same (S63). That is, it is determined whether one buffer area (27A or 27B) functions as a reproduction buffer and a reception buffer.

再生バッファと受信バッファが同一でない場合(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 client 20 acquires data of different stream data STi (eg, ST2) during the reproduction time Dj of the part Pj of the stream data ST3. Therefore, the part Pj to be reproduced next is accumulated in a buffer area (for example, 27B) different from the conventional reproduction buffer (for example, buffer area 27A). Therefore, the reproduction buffer is switched (S65), and a different buffer area 27B is designated as the reproduction buffer. Further, since the part Pj to be reproduced next has a reproduction bit rate BR2 different from the reproduction bit rate BR3 so far, the reproduction bit rate is changed from BR3 to BR2 (S66), and reproduction is started (S67).

一方、パート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.

本発明の実施の形態によるコンテンツ配信システムの構成を示す機能ブロック図である。It is a functional block diagram which shows the structure of the content delivery system by embodiment of this invention. 図1に示したサーバに蓄積されるストリームデータの構造の詳細を示す図である。It is a figure which shows the detail of the structure of the stream data accumulate | stored in the server shown in FIG. 図1に示したサーバ及びクライアントに蓄積されるストリーム情報データベースのデータ構造の詳細を示す図である。It is a figure which shows the detail of the data structure of the stream information database accumulate | stored in the server and client shown in FIG. 図1に示したコンテンツ配信システムにおける配信ビットレートとクライアントに蓄積されるデータ量との関係を示す図である。It is a figure which shows the relationship between the delivery bit rate in the content delivery system shown in FIG. 1, and the data amount accumulate | stored in a client. 図1に示したコンテンツ配信システムの動作を示すフロー図である。It is a flowchart which shows operation | movement of the content delivery system shown in FIG. 図5中のステップS11の動作のうち、ストリームデータ選択処理の詳細を示すフロー図である。It is a flowchart which shows the detail of a stream data selection process among the operation | movement of step S11 in FIG. 図5中のステップS11の動作のうち、図6のストリームデータ選択処理以降に実施される要求処理の動作を示すフロー図である。FIG. 6 is a flowchart showing the operation of a request process performed after the stream data selection process of FIG. 6 among the operations of step S11 in FIG. 図5中のステップS13の動作を示すフロー図である。It is a flowchart which shows operation | movement of step S13 in FIG.

符号の説明Explanation of symbols

10 サーバ
11、21 ハードディスクドライブ
15 ストリーム情報データベース
16 サーバアプリケーション
20 クライアント
23 メモリ
25 クライアントアプリケーション
27、27A、27B バッファ領域
10 Server 11, 21 Hard disk drive 15 Stream information database 16 Server application 20 Client 23 Memory 25 Client application 27, 27A, 27B Buffer area

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.
請求項1に記載のコンテンツ配信システムであって、
前記データ量算出手段は、
前記パートの再生が完了したとき、前記サーバから配信される前記ストリームデータの配信ビットレートを特定する配信ビットレート特定手段を備え、
前記特定した配信ビットレートと、前記未再生のパートの再生時間とに基づいて、前記データ量を算出することを特徴とするコンテンツ配信システム。
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.
請求項1又は請求項2に記載のコンテンツ配信システムであって、
前記クライアントは、
前記ストリームデータの各パートのデータ量及び再生時間と、前記各パートに対応した他のストリームデータのパートとに関するストリーム情報を蓄積するストリーム情報蓄積手段を備え、
前記選択手段は、前記算出結果と前記ストリーム情報とに基づいて、前記ストリームデータ及び配信開始パートを選択することを特徴とするコンテンツ配信システム。
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.
請求項1〜請求項3のいずれか1項に記載のコンテンツ配信システムであって、
前記判断の結果、前記未再生のパートが前記バッファ手段に蓄積されていないとき、前記選択手段は、前記複数のストリームデータのうち、前記再生ビットレートが最も低いストリームデータを選択することを特徴とするコンテンツ配信システム。
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.
請求項5に記載のクライアントであって、
前記データ量算出手段は、
前記パートの再生が完了したとき、前記サーバから配信される前記ストリームデータの配信ビットレートを特定する配信ビットレート特定手段を備え、
前記特定した配信ビットレートと、前記未再生のパートの再生時間とに基づいて、前記データ量を算出することを特徴とするクライアント。
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.
請求項5又は請求項6に記載のクライアントであって、
前記ストリームデータの各パートのデータ量及び再生時間と、前記各パートに対応した他のストリームデータのパートとに関するストリーム情報を蓄積可能なストリーム情報蓄積手段を備え、
前記選択手段は、前記算出結果と前記ストリーム情報とに基づいて、前記ストリームデータ及び配信開始パートを選択することを特徴とするクライアント。
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.
請求項5〜請求項7のいずれか1項に記載のクライアントであって、
前記判断の結果、前記未再生のパートが前記バッファ手段に蓄積されていないとき、前記選択手段は、前記複数のストリームデータのうち、前記再生ビットレートが最も低いストリームデータを選択することを特徴とするクライアント。
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.
JP2005217031A 2005-07-27 2005-07-27 Contents distribution system, client, and client program Pending JP2007036666A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (122)

* Cited by examiner, † Cited by third party
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