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
part
data
stream data
client
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
進 竹村
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
Application status is Pending legal-status Critical

Links

Images

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 the client program, and more particularly, a content distribution system to stream content from a server to a client, about the client and the client program.

ストリーミング型コンテンツ配信システムは、動画等のコンテンツに関する複数のストリームデータを有するサーバと、サーバからストリームデータの配信を受けながらコンテンツを再生するクライアントとを備える。 Streaming content distribution system includes a server having a plurality of stream data about the content, such as video, and a client for reproducing the content while receiving the delivery of the stream data from the server.

このようなストリーミング型のコンテンツ配信システムでは、ネットワークのトラフィック状態が変化しても、クライアントで再生が途切れないようにする必要がある。 In such a streaming content distribution system, even if the traffic condition of the network is changed, it is necessary to play on the client uninterrupted.

この問題を解決すべく、特開2004−215074号公報(特許文献1)では、サーバに予め異なるビットレートの複数のストリームデータを準備し、ネットワークのトラフィック状態に応じて、適切な再生ビットレートのストリームデータを配信できるマルチビットレート方式が開示されている。 To solve this problem, JP 2004-215074 (Patent Document 1), and providing a plurality of stream data in advance different bit rates to a server, depending on the traffic state of the network, the appropriate reproduction bit rate multiple bit rate system that can deliver the stream data is disclosed. また、特開2003−259333号公報(特許文献2)では、ネットワークの状況に応じてサーバがコンテンツの圧縮率やフレームレートを変更できるコンテンツ配信システムが開示されている。 Further, in JP 2003-259333 (Patent Document 2), a content delivery system server according to the condition of the network can change the compression ratio and frame rate of the content is disclosed. これらの方法によれば、ストリーム配信中にクライアントで再生が途切れるのを防止できるとしている。 According to these methods, and the playback on client during streaming that interruption can be prevented.

しかしながら、これらの方法では、再生ビットレートや圧縮率、フレームレートの変更タイミング時に、クライアントが蓄積するデータが枯渇して再生が途切れる可能性がある。 However, in these methods, the reproduction bit rate or compression rate, when changing the timing of the frame rate, there is a possibility that the reproduction is interrupted data that the client is accumulated is depleted. さらに、これらの方法では、再生中のコンテンツの内容に依存せずに、ネットワークの状況に依存してビットレートを変更する。 Moreover, in these methods, without depending on the contents of the content being reproduced, to change the bit rate depending on the status of the network. つまり、再生中の動画がどのような場面であっても、ビットレートを変更して画質を変化させる。 In other words, whatever the scene moving picture being reproduced, by changing the bit rate to vary the picture quality. そのため、画質の変化が唐突に発生し、コンテンツを視聴する利用者に違和感を与えてしまう。 Therefore, the change in image quality is suddenly occur, would give an uncomfortable feeling to the user to view the content.
特開2004−215074号公報 JP 2004-215074 JP 特開2003−259333号公報 JP 2003-259333 JP

本発明の目的は、ストリーム配信中の再生の途切れを防止するコンテンツ配信システムを提供することである。 An object of the present invention is to provide a content distribution system that prevents interruption of playback in streaming.
本発明の他の目的は、コンテンツの所定の位置で再生ビットレートの変更が可能なコンテンツ配信システムを提供することである。 Another object of the present invention is to provide a content distribution system capable of adjusting a playback bit rate at a predetermined position of the content.

課題を解決するための手段及び発明の効果 Effect of means and invention to solve the problems

本発明によるコンテンツ配信システムは、サーバと、サーバに接続されたクライアントとを備える。 Content distribution system according to the present invention includes a server and a client connected to the server. サーバは、ストリームデータ蓄積手段と、配信手段とを備える。 The server includes a stream data storing unit, and a distribution means. ストリームデータ蓄積手段は、複数のストリームデータを蓄積する。 Stream data accumulation means accumulates a plurality of stream data. 複数のストリームデータは、各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割される。 A plurality of stream data, each of which relates to the same content, have different reproduction bit rates from each other, is divided into a plurality of parts arranged in succession. 配信手段は、クライアントの要求に対応してストリームデータのパートを配列順にストリーム配信する。 Delivery means to stream part of the stream data in the arrangement order in response to client requests. クライアントは、バッファ手段と、再生手段と、判断手段と、データ量算出手段と、選択手段と、要求手段とを備える。 The client includes a buffer means, reproducing means, judgment means, the data amount calculation means, selection means, and a request unit. バッファ手段は、ストリーム配信されたパートを順次蓄積する。 Buffer means sequentially accumulates the streamed part. 再生手段は、バッファ手段に蓄積されたパートを順次再生する。 Reproducing means sequentially reproduces the part stored in the buffer means. 判断手段は、パートの再生が完了したとき、未再生のパートがバッファ手段に蓄積されているか否かを判断する。 Determining means, when the reproduction of the part is completed, unplayed part determines whether or not it is stored in the buffer means. データ量算出手段は、判断の結果、未再生のパートが蓄積されているとき、未再生のパートの再生時間でバッファ手段に蓄積可能なデータ量を算出する。 Data amount calculation means, the result of decision, when the unplayed part is accumulated to calculate the amount of data that can be stored in the buffer means at the playback time of the unplayed part. 選択手段は、算出結果に基づいて、サーバに要求するストリームデータ及び配信開始パートを選択する。 Selecting means, based on the calculation result, selects the stream data and the distribution start part for requesting the server. 要求手段は、選択されたストリームデータを、配信開始パートからストリーム配信するよう要求する。 Requesting means, a stream data selected, requests to stream from the distribution start part.

このコンテンツ配信システムでは、クライアントは、予め未再生のパートを蓄積し、未再生のパートの再生時間に蓄積可能なデータ量に基づいてストリームデータを選択し、その未再生のパートを再生している間、選択したストリームデータを順次取得する。 In this content delivery system, the client, accumulates in advance unreproduced part, to select the stream data on the basis of the amount of data which can be stored in the playback time of the unplayed part, play the unplayed part during sequentially acquires stream data selected. そのため、再生すべきデータが枯渇するのを防止でき、コンテンツの再生が途切れるのを防止できる。 Therefore, it is possible to prevent the depletion data to be reproduced can be prevented from playback of the content is interrupted. さらに、ストリームデータをパート単位で順次受信し、再生するため、再生ビットレートをパート単位で変更できる。 Moreover, sequentially receives the stream data in Part units, to play, can change the playback bit rate part units. つまり、再生ビットレートの変更位置を所定の位置(パートとパートとの区切りの位置)とすることができる。 That is, it is possible to change the position of the reproduction bit rate and the predetermined position (separated position between the part and the part). 各パートを、画質や音質が変化しても視聴への影響が少ない再生位置、たとえば、動画の場合であれば、場面設定が変更する位置等で区切れば、再生ビットレートが変更しても、画質や音質の変化による違和感を抑えることができる。 Each part, is less affected by the playback position to the viewer even if the image quality and the sound quality changes, for example, in the case of video, if you separate them by position, such as a scene set to change, even if the change playback bit rate , it is possible to suppress a sense of discomfort due to a change in image quality and sound quality.

好ましくは、データ量算出手段は、配信ビットレート特定手段を備える。 Preferably, the data amount calculation means comprises a delivery bit rate specification unit. 配信ビットレート特定手段は、パートの再生が完了したとき、サーバから配信されるストリームデータの配信ビットレートを特定する。 Delivery bit rate specification means, when reproduction of the part is completed, to identify the delivery bit rate of the stream data distributed from the server. データ量算出手段は、特定した配信ビットレートと、未再生のパートの再生時間とに基づいて、データ量を算出する。 Data amount calculation means includes a delivery bit rate specified, based on the playback time of unplayed part, to calculate the amount of data.

この場合、パートの再生が完了した時点の配信ビットレートを特定し、データ量を算出する。 In this case, to identify the delivery bit rate at which reproduction of part has been completed, to calculate the amount of data. そのため、データ量算出手段により算出した値を実際に蓄積されるデータ量に近づけることができ、蓄積されるデータ量の予測精度を上げることができる。 Therefore, it is possible to approach the amount of data that is actually accumulated value calculated by the data amount calculation means, it is possible to improve the prediction accuracy of the stored the amount of data.

好ましくは、クライアントは、ストリーム情報蓄積手段を備える。 Preferably, the client includes a stream information storage means. ストリーム情報蓄積手段は、ストリームデータの各パートのデータ量及び再生時間と、各パートに対応する他のストリームデータのパートとに関するストリーム情報を蓄積する。 Stream information storage means stores the data amount and the reproduction time of each part of the stream data, the stream information regarding the part of the other stream data corresponding to each part. 選択手段は、算出結果とストリーム情報とに基づいて、ストリームデータ及び配信開始パートを選択する。 Selecting means, based on the calculation result and the stream information to select the stream data and the distribution start part.

この場合、ストリーム情報に基づいて、データ量算出手段により算出されたデータ量を各パートのデータ量と比較し、ストリームデータ及び配信開始パートを選択できる。 In this case, based on the stream information, the data amount calculated by the data amount calculating means compares the amount of data of each part, you can select a stream data and distribution start part.

好ましくは、判断手段が判断した結果、未再生のパートがバッファ手段に蓄積されていないとき、選択手段は、複数のストリームデータのうち、再生ビットレートが最も低いストリームデータを選択する。 Preferably, a result of determination means determines, when the unplayed part is not stored in the buffer means, selecting means, among the plurality of stream data, reproduced bit rate to select the lowest stream data.

この場合、未再生のパートがバッファ手段に蓄積されていなくても、再生ビットレートが最も低いストリームデータを取得することにより、再生の途切れをある程度防止できる。 In this case, even unplayed part is not stored in the buffer means, by reproducing the bit rate to obtain the lowest stream data, to some extent possible to prevent interruption of reproduction.

本発明によるクライアントプログラムは、各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するサーバに接続可能なクライアントコンピュータに実行させるプログラムである。 The client program according to the present invention, each of which relates to the same content, have different reproduction bit rates from each other, clients can connect to a server that stores a plurality of stream data divided into a plurality of parts arranged in succession a program executed by a computer. クライアントプログラムは、サーバからストリーム配信されたパートを順次蓄積するステップと、蓄積されたパートを順次再生するステップと、パートの再生が完了したとき、未再生のパートが蓄積されているか否かを判断するステップと、判断の結果、未再生のパートが蓄積されているとき、未再生のパートの再生時間で蓄積可能なデータ量を算出するステップと、算出結果に基づいて、サーバに要求するストリームデータ及び配信開始パートを選択するステップと、選択されたストリームデータを、配信開始パートからストリーム配信するよう要求するステップとをクライアントコンピュータに実行させる。 The client program, determines the steps of sequentially storing the streamed part from the server, a step of sequentially reproducing the stored part, when the reproduction of the part is completed, whether or not reproduction of the part is stored comprising the steps of, in the determination result, when the unplayed part is stored, and calculating the amount of data that can be stored in the playback time of the unplayed part, based on the calculation result, the stream data request to the server and selecting a distribution start part, a stream data selected, is executed from the delivery start part and a step of requesting to streamed to the client computer.

このクライアントプログラムは、予め未再生のパートを蓄積し、未再生のパートの再生時間に蓄積可能なデータ量に基づいてストリームデータを選択し、その未再生のパートを再生している間、選択したストリームデータを順次取得する。 The client program, accumulates in advance unreproduced part, to select the stream data on the basis of the amount of data which can be stored in the playback time of the unplayed part, while reproducing the non-reproduction of the part, the selected in order to get the stream data. そのため、再生すべきデータが枯渇するのを防止でき、コンテンツの再生が途切れるのを防止できる。 Therefore, it is possible to prevent the depletion data to be reproduced can be prevented from playback of the content is interrupted. さらに、ストリームデータをパート単位で順次受信し、再生するため、再生ビットレートをパート単位で変更できる。 Moreover, sequentially receives the stream data in Part units, to play, can change the playback bit rate part units. つまり、再生ビットレートの変更位置を所定の位置(パートとパートとの区切りの位置)とすることができる。 That is, it is possible to change the position of the reproduction bit rate and the predetermined position (separated position between the part and the part).

以下、図面を参照し、本発明の実施の形態を詳しく説明する。 Hereinafter, with reference to the drawings, an embodiment of the present invention in detail. 図中同一又は相当部分には同一符号を付してその説明は繰り返さない。 Its description will not be repeated the same reference numerals designate like or corresponding parts in FIG.

1. 1. 構成 図1を参照して、コンテンツ配信システムは、サーバ(コンピュータ)10と、複数のクライアント(コンピュータ)20とを備える。 Referring to diagram 1, the content distribution system includes a server (computer) 10, and a plurality of clients (computers) 20. サーバ10とクライアント20とは、インターネット30経由で接続されるが、LAN(Local Area Network)、WAN(Wide Area Network)、その他のコンピュータネットワークで接続されてもよい。 The server 10 and client 20, but is connected via the Internet 30, LAN (Local Area Network), WAN (Wide Area Network), may be connected by other computer networks.

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

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

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

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

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

[ストリームデータの構造] [Structure of the stream data]
図2にストリームデータST1〜ST3のデータ構造を示す。 It shows the data structure of the stream data ST1~ST3 in FIG. 横軸は再生時間を示す。 The horizontal axis shows the playback time. また、各ストリームデータST1〜ST3の面積は、データ量を示す。 The area of ​​each stream data ST1~ST3 indicates the amount of data.

ストリームデータST1〜ST3は、互いに異なる再生ビットレートBR1〜BR3を有する。 Stream data ST1~ST3 have different reproduction bit rate BR1~BR3 each other. ストリームデータST1の再生ビットレートBR1が最も低く、ストリームデータST2の再生ビットレートBR2は再生ビットレートBR1よりも高く、ストリームデータST3の再生ビットレートBR3が最も高い。 Play bit rate BR1 is the lowest of the stream data ST1, reproduction bit rate BR2 of the stream data ST2 is higher than the reproduction bit rate BR1, reproduction bit rate BR3 stream data ST3 highest. したがって、ストリームデータST3のデータ量が最も多く、ストリームデータST1のデータ量が最も少ない。 Accordingly, the data amount of stream data ST3 is largest, the data amount of stream data ST1 smallest.

ストリームデータST1〜ST3のデータ量は互いに異なるものの、その再生時間は同じである(時刻t0〜時刻t8)。 Although the data amount of stream data ST1~ST3 are different from each other, the reproducing time is the same (time t0~ time t8). 同一のコンテンツに基づいて作成されているためである。 This is because that was created from the same content.

各ストリームデータST1〜ST3は、連続的に配列された複数のパート(P0〜P7)に分割される。 Each stream data ST1~ST3 is divided into successively arranged plural parts (P0 to P7). このとき、各パートPj(パート番号j=0〜7)は、画質や音質が変化しても視聴への影響が少ない再生位置(時刻t1〜t7)で区切られる。 In this case, each part Pj (part number j = 0~7) are separated by a little influence playback position to the viewing even if the image quality and the sound quality changes (time t1~t7). たとえば、動画の場合であれば、場面設定が変更される位置等で区切られる。 For example, in the case of moving image, it is separated at a position such that the scene setting is changed. そのため、各パートP0〜P7の再生時間(D0〜D7)は互いに異なる。 Therefore, the playback time of each part P0 to P7 (D0 to D7) are different from each other.

ストリームデータST1〜ST3は、同じ再生位置(t1〜t7)で分割されるため、各ストリームデータの同じパートPjは同じ再生時間Djを有する。 Stream data ST1~ST3 is to be divided at the same playback position (t1 to t7), the same part Pj of each stream data have the same playback time Dj. たとえば、ストリームデータST1のパートP0と、ストリームデータST2のパートP0と、ストリームデータST3のパートP0とは、同じ再生時間D0を有する。 For example with a part P0 stream data ST1, and part P0 stream data ST2, a part-P0 in the stream data ST3, the same playback time D0.

[ストリーム情報データベース] [Stream information database]
図3を参照して、ストリーム情報データベース15は、各ストリームデータSTi(レート番号i=1〜3)に関する情報が登録されるデータブロック151で構成される。 Referring to FIG. 3, the stream information database 15 is composed of data block 151 information about each stream data STi (rate number i = 1 to 3) are registered.

各データブロック151は、ストリームデータの識別子STi(たとえばST1)と、再生ビットレート情報BRi(たとえばBR1)とを有する。 Each data block 151 includes a stream data identifier STi (e.g. ST1), the reproduction bit rate information BRi (eg BR1). データブロック151はさらに、パートリストを有する。 Data block 151 further comprises a part list. パートリストは、各ストリームデータSTiのパートPjに関する情報を登録する。 Part list registers information about part Pj of each stream data STi. 具体的には、パートリストは、そのストリームデータSTiが有するパート数分のレコードを有する。 Specifically, part list includes a record for the number of parts included in the stream data STi. 各レコードは、パート識別子(たとえばP0、P1等)を登録するフィールドと、再生時間Djを登録するフィールドと、対応するパートPjのデータ量SZ(i,j)を登録するフィールドとを有する。 Each record includes a field for registering the part identifier (e.g. P0, P1, etc.), a field for registering a reproduction time Dj, data amount SZ (i, j) of the corresponding part Pj and a field for registering.

ストリームデータST1〜ST3のデータブロック151を参照して、各データブロック151の同じ番号のパート識別子は互いに対応する。 With reference to the data blocks 151 of the stream data ST1 to ST3, Part identifier of the same number of each data block 151 correspond to each other. たとえば、ストリームデータST1のパートP1はストリームデータST2及びST3のパートP1に対応する。 For example, part P1 of stream data ST1 corresponds to the part P1 of the stream data ST2 and ST3. 上述したとおり、各パート識別子の再生時間は同じであるが、データ量は異なる。 As described above, the playback time of each part identifier is the same, the amount of data is different.

このように、ストリーム情報データベース15は、ストリームデータに関する情報と、各ストリームデータ内の各パートの再生時間、データ量に関する情報と、各ストリームデータのパートに対応する他のストリームデータのパートに関する情報とを含む。 Thus, the stream information database 15 includes information about the stream data, the reproduction time of each part in each stream data, and information related to the data volume, and information relating to the part of the other stream data corresponding to the part of each stream data including.

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

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

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

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

2. 2. 動作 2.1. Operation 2.1. 概要 本実施の形態によるコンテンツ配信システムでは、クライアント20が、サーバ10から配信されたストリームデータSTiを受信しながら再生する。 SUMMARY content distribution system according to this embodiment, client 20, plays while receiving the stream data STi distributed from the server 10. このとき、クライアント20は、各パートPjの再生を完了するごとに、次のパートPj+1のデータ量SZ(i,j+1)が既にバッファ領域27に蓄積されているか否かを判断する。 At this time, the client 20 for each complete regeneration of each part Pj, it is determined whether the next part Pj + 1 of the data amount SZ (i, j + 1) has already been stored in the buffer region 27. 蓄積されている場合、次のパートPj+1の再生時間中にバッファ領域27に蓄積可能なデータ量を算出し、その算出結果に基づいて、サーバに要求するストリームデータSTiを選択する。 If the accumulated to calculate the amount of data that can be stored in the buffer area 27 during the playback time of the next part Pj + 1, based on the calculation result, selects the stream data STi that request to the server.

図4は、クライアント20がサーバ10からストリームデータSTiを受信しながら再生しているときの、配信ビットレートBRcurの変動と、時刻tにバッファ領域27に蓄積されるデータ量DL(t)とを示すグラフである。 4, when the client 20 is playing while receiving the stream data STi from the server 10, and the variation of the distribution bit rate BRcur, the amount of data DL to be accumulated in the buffer area 27 at time t and (t) it is a graph showing. 配信ビットレートBRcurとは、サーバ10からクライアント20にストリーム配信されるデータの配信時のビットレート(bit/sec)である。 The delivery bit rate BRcur, the bit rate at the time of delivery of data to be streamed from the server 10 to the client 20 (bit / sec). 図4中の上部グラフが配信ビットレートBRcurの変動を示し、縦軸はビットレート(bit/sec)である。 Figure 4 top graph in represents the variation of the distribution bit rate BRcur, the vertical axis represents the bit rate (bit / sec). 図4中の下部のグラフは、バッファ領域27に蓄積されるデータ量DL(t)を示し、縦軸はデータ量(bytes)である。 Bottom of the chart in Figure 4, indicates the volume of data DL to be accumulated in the buffer area 27 (t), the vertical axis represents the amount of data (bytes). グラフ中のD ST1 〜D ST3は、各ストリームデータST1〜ST3の再生に必要なデータ量を示す。 D ST1 to D in the graph ST3 indicates the amount of data necessary for reproducing the stream data ST1 to ST3. なお、いずれのグラフも、横軸は時間(sec)である。 Incidentally, any of the graph also, the horizontal axis represents time (sec).

図4を参照して、クライアント20は、初めにストリームデータSTi(たとえばST3)をサーバ10に要求する。 Referring to FIG. 4, the client 20 requests stream data STi (e.g. ST3) to the server 10 first. クライアント20は、サーバ10からストリームデータST3を受け、バッファ領域27に蓄積する。 The client 20 receives the stream data ST3 from the server 10 is stored in the buffer region 27. 蓄積したデータ量が所定のデータ量DL(t0)となったとき、クライアント20は再生を開始する。 When stored data amount reaches the predetermined amount of data DL (t0), the client 20 starts playback. 時刻t0〜時刻t2において、配信ビットレートBRcurは、再生ビットレートBR3よりも高い。 At time t0~ time t2, the delivery bit rate BRcur is higher than the reproduction bit rate BR3. そのため、再生するデータ量よりも受信するデータ量の方が多くなる。 Therefore, the greater the direction of data reception amount than the data amount to be reproduced. つまり、図4中のDL(t)の傾きの方が、D ST3の傾きよりも大きくなる。 In other words, the direction of inclination of the DL (t) in FIG. 4, is larger than the slope of the D ST3. そのため、バッファ領域27にデータが順次蓄積される。 Therefore, data is sequentially stored in the buffer area 27.

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

時刻t21で配信ビットレートBRcurは低下し、再生ビットレートBR3よりも低くなる。 Delivery bit rate BRcur at time t21 decreases, becomes lower than the reproduction bit rate BR3. そのため、時刻t21以降、バッファ領域27に蓄積されているデータ量DL(t)は減少する。 Therefore, time t21 and later, the amount of data DL stored in the buffer region 27 (t) decreases. つまり、図4中のDL(t)の傾きの方が、D ST3の傾きよりも小さくなる。 In other words, the direction of inclination of the DL (t) in FIG. 4, is smaller than the slope of the D ST3.
クライアント20は、時刻t3でデータ要求処理を実施し、次のパートP3のデータ量SZ(3,3)は既に蓄積しているものの、このまま再生を続けると、パートP4の再生中に蓄積したデータが枯渇する(図4中のDL(t)がD ST3よりも低くなる)と判断する。 The client 20, and performs data request processing at time t3, although the next data of the part P3 SZ (3,3) is already stored, this remains continue playing, accumulated while playing the part P4 data There determines to exhaustion (DL in FIG. 4 (t) is lower than D ST3). このとき、クライアント20は、再生するデータをストリームデータST2(ビットレートBR2)に切り替えればパートP4以降も再生が途切れないと判断し、サーバ10にストリームデータST2をパートP4から配信するよう要求する。 At this time, the client 20 determines that also play part P4 later be switched to data to be reproduced stream data ST2 (bit rate BR2) is not interrupted, and requests to deliver the stream data ST2 from Part P4 to the server 10. この動作により、クライアント20は時刻t4(パートP4)以降ストリームデータST2を再生する。 By this operation, the client 20 reproduces the time t4 (Part P4) after the stream data ST2.

時刻t51で配信ビットレートBRcurは再び上昇し、再生ビットレートBR3よりも高くなる。 Increased delivery bit rate BRcur again at the time t51, is higher than the playback bit rate BR3. クライアント20は、時刻t6で、ストリームデータST2のパートP6のデータSZ(2,6)を既に蓄積していると判断し、さらに、パートP6の再生時間D6中にストリームデータST3(再生ビットレートBR3)のパートP7のデータSZ(3,7)を蓄積できると判断する。 Client 20, at time t6, is determined that the data SZ part P6 stream data ST2 to (2,6) is already accumulated, further, the stream data ST3 during playback time D6 part P6 (reproduction bit rate BR3 ) is determined and can store data SZ (3, 7) of the part P7 of. その結果、時刻t6でクライアント20は、サーバ10にストリームデータST3をパートP7から配信するよう要求する。 As a result, the client 20 at time t6, and requests to deliver the stream data ST3 from Part P7 to the server 10. クライアント20は、再生時間D6中にストリームデータST3のパートP7のデータSZ(3,7)を取得し、時刻t7以降にそのデータを再生する。 The client 20 obtains data SZ (3, 7) of the part P7 stream data ST3 during playback time D6, it reproduces the data after the time t7.

以上のとおり、クライアント20は、パートPjの再生を完了したとき、原則として、次に再生すべきパートPj+1を蓄積する。 As described above, the client 20, when completing the reproduction of the part Pj, in principle, then storing part Pj + 1 to be reproduced. さらに、パートPj+1の再生時間Dj+1中に蓄積可能なデータ量に基づいて、次のパートPj+2のデータをどの再生ビットレートBRi(ストリームデータSTi)にするか選択し、選択したストリームデータSTiのパートPj+2を取得する。 Furthermore, based on the amount of data that can be accumulated in the reproduction time Dj + 1 part Pj + 1, or select the next part Pj + 2 data which reproduction bit rate BRi the (stream data STi), part of the stream data STi selected Pj + 2 to get. そのため、コンテンツの再生が途切れるのを防止できる。 Therefore, it is possible to prevent the reproduction of the content is interrupted.
さらに、再生ビットレートBRiを切り替える場合、クライアント20は、パートPj単位で切り替える。 Furthermore, when switching the reproduction bit rate BRi, the client 20 switches in part Pj units. 各パートPjは、画質や音質が変更しても違和感が少ない位置で予め区切られているため、画質や音質が変化することによる視聴への影響を極力抑えることができる。 Each part Pj, because the image quality and sound quality are separated in advance by the position also is less uncomfortable to change, it is possible to suppress as much as possible the impact on the viewing by the fact that the image and sound quality to change. また、再生ビットレートBRi(ストリームデータSTi)の変更をクライアント20で判断するため、サーバの負荷が軽減される。 Further, in order to determine the change of the reproduction bit rate BRi (stream data STi) in the client 20, the load of the server is reduced. 以下、フロー図を用いてコンテンツ配信システムの動作を詳述する。 Hereinafter, detailed operations of the content distribution system using a flow diagram.

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

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

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

クライアント20は、サーバ10からデータを受信したか否かを監視し(S7)、データを受信したとき(ステップS7でYES)、受信したデータをバッファ領域27に順次蓄積する(S8)。 The client 20 monitors whether it has received data from the server 10 (S7), when receiving data (YES in step S7), and successively stores the received data in the buffer area 27 (S8). このとき、クライアント20は、バッファ領域27A、27Bのいずれか(たとえば27A)を受信バッファに指定し、受信バッファに指定されたバッファ領域27Aにデータを蓄積する。 At this time, the client 20, the buffer region 27A, to specify one of 27B (eg 27A) to the receiving buffer, storing data in the buffer area 27A which is specified in the receive buffer. 以降、受信バッファに指定されたバッファ領域27を単に受信バッファとも称する。 Hereinafter simply referred to as a receive buffer a buffer region 27 that is specified in the receive buffer.

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

再生後、クライアント20は、各パートPjの再生を完了するごとに、サーバ10に要求するストリームデータSTiを選択し、選択したストリームデータSTiの配信を要求する(S11:データ要求処理)。 After regeneration, the client 20 for each complete regeneration of each part Pj, select the stream data STi requesting the server 10, it requests the distribution of the stream data STi selected (S11: data request processing). サーバ10は、クライアント20の要求に応答して、ストリームデータSTiを配信する(S12)。 Server 10 in response to a request of the client 20 delivers a stream data STi (S12). サーバ10は、ストリームデータSTiの最後のパートP7の配信を完了したとき(S14でYES)、動作を終了する。 Server 10, (YES in S14) when completing the delivery of the final part P7 stream data STi, the operation ends.

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

ステップS11のデータ要求処理と、ステップS13の再生処理とは、各パートPjの再生が完了するごとに実施される。 A data request process in step S11, the reproduction processing of step S13, the reproduction of each part Pj is performed for each completed. 以下、データ要求処理及び再生処理について説明する。 Hereinafter, a description will be given of a data request process and the regeneration process.

2.3. 2.3. データ要求処理 データ要求処理は、各パートPjの再生が完了するごとに実行される。 Data request processing data request processing, the reproduction of each part Pj is performed for each completed. データ要求処理は、まず、要求するストリームデータSTi及び配信を開始するパート(配信開始パート)Pjを選択する(図6:ストリームデータ選択処理)。 Data request process, first, the stream data STi and part to start the delivery request (distribution start part) selecting Pj (Figure 6: stream data selection processing). 続いて、選択したストリームデータSTiを配信開始パートPjから配信するよう要求する(図7:要求処理)。 Subsequently, requests to deliver the stream data STi selected from distribution start part Pj (Figure 7: request processing).

2.3.1. 2.3.1. ストリームデータ選択処理 クライアント20は、パートPjの再生を完了したとき、次のパートPjの全データを既に蓄積しているか否かを判断する。 Stream data selection processing client 20, when completing the reproduction of the part Pj, it is determined whether all the data of the next part Pj already accumulated. 蓄積している場合、次のパートPjの再生時間Dj中に受信バッファに蓄積可能な受信データ量に基づいて、再生ビットレートBRiを変更するか否か判断し、要求するストリームデータSTiを選択する。 If accumulated, on the basis of the received data amount which can be stored in the receive buffer playback time during Dj of the next part Pj, and determines whether or not to change the reproduction bit rate BRi, selects stream data STi requesting . 以下、詳細を説明する。 It will be described in detail below.

図6を参照して、パートPj(たとえばj=0)の再生が完了し(S21でYES)、かつ、パートPjが最終パートP7でない場合(S22でNO)、クライアント20は、現在の配信ビットレートBRcurを特定する(S23)。 Referring to FIG. 6, (YES in S21) playback is completed the part Pj (e.g. j = 0), and, if part Pj is not the last part P7 (S22 in NO), the client 20, the current distribution bit specifying the rate BRcur (S23). 具体的には、以下の式(1)に基づいて、現在の配信ビットレートBRcur(bit/sec)を算出する。 Specifically, based on the following equation (1), it calculates the current delivery bit rate BRcur (bit / sec).

BRcur=(DL(tj+1)−DL(tj))×8/Dj (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は再生ビットレートを変更するか否かを判断するときに利用される。 For j = 0, the BRcur = (DL (t1) -DL (t0) / D0. In short, the playback time of the part Pj play is complete Dj (sec), stored in the buffer during the playback time based on the amount of received data DL (tj + 1) -DL (tj) (bytes), and calculates the distribution bit rate BRcur. delivery bit rate BRcur is used when determining whether to change the playback bit rate .

次に、クライアント20はパート番号jをインクリメントし、(S24、j=1とする)、次に再生する予定のパートPj(パートP1)がバッファ領域27に蓄積されているか否かを判断する(S25)。 Next, the client 20 increments the part number j, (S24, and j = 1), then scheduled to play part Pj (Part P1) to determine whether it is accumulated in the buffer area 27 ( S25). 具体的には、クライアント20は、以下の式(2)を満たすか否かを判断する。 Specifically, the client 20 determines whether or not satisfies the following expression (2).

DL unused (tj)≧SZ(i,j) (2) DL unused (tj) ≧ SZ ( i, j) (2)
ここで、DL unused (tj)は、時刻tjにバッファ領域27に蓄積されたストリームデータSTiの未再生データ量を示す。 Here, DL unused (tj) represents the non-reproduction data amount of the stored stream data STi in the buffer area 27 at time tj. たとえば、時刻t1におけるステップS25の判断では、DL unused (t1)≧SZ(i,1)を満たすか否かを判断する。 For example, in the judgment of step S25 at the time t1, it is determined whether satisfies the DL unused (t1) ≧ SZ ( i, 1). クライアント20は、ストリーム情報データベース15に基づいて各パートPjのデータ量SZ(i,j)を特定する。 The client 20 specifies the amount of data SZ (i, j) of each part Pj based on the stream information database 15.

判断の結果、式(2)を満たさない場合(S25でNO)、クライアント20は、次に再生する予定のパートPjの全データ量を蓄積しておらず、パートPjの一部のデータのみ蓄積している。 When determining that do not satisfy the formula (2) (NO at S25), the client 20 is not then accumulated total data amount of the part Pj plan to play, storing only part of the data part Pj doing. そのため、クライアント20は、受信バッファに蓄積されたパートPjの部分データを再生せず、代わりに再生するデータとして、最も低い再生ビットレートBR1を有するストリームデータST1を選択し、配信開始パートをPjとする(S35)。 Therefore, the client 20 does not reproduce the partial data stored part Pj in the receive buffer, as data to be reproduced instead, selects the stream data ST1 with the lowest reproduction bit rate BR1, and the distribution start part Pj to (S35). ストリームデータST1は、各パートPjのデータ量SZ(1,j)が最も少ないため、サーバ10からデータを受信しながら再生しても、再生の途切れを可能な限り防止できるためである。 Stream data ST1, since data amount SZ for each part Pj (1, j) is the smallest, even if play while receiving the data from the server 10, in order to be prevented as much as possible interruptions in playback.

一方、ステップS25での判断の結果、式(2)を満たす場合(S25でYES)、クライアント20は、次に再生するパートPjのデータ量SZ(i,j)を既に受信バッファに蓄積している。 On the other hand, the result of the determination in step S25, when satisfying the formula (2) (YES at S25), the client 20, then the amount of data SZ (i, j) of the part Pj to play accumulated in the already received buffer there. そのため、パートPjの再生時間Dj中に、次のパートPj+1のデータを順次蓄積することができる。 Therefore, during the reproduction time Dj part Pj, data of the next part Pj + 1 can sequentially accumulate. そこで、クライアント20は、ストリームデータST1〜ST3のうち、いずれのストリームデータSTiのパートPj+1を要求するか検討する(S20)。 Therefore, the client 20, of the stream data ST1 to ST3, to consider whether to request part Pj + 1 of any stream data STi (S20).

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

DL unused (tj)+(BRcur×Dj/8)≧SZ(i,j)+SZ(i,j+1) (3) DL unused (tj) + (BRcur × Dj / 8) ≧ SZ (i, j) + SZ (i, j + 1) (3)
ここで、クライアント20は、ストリーム情報データベース15に基づいて、各パートPjの再生時間Djを特定する。 Here, the client 20, based on the stream information database 15, identifies the playback time Dj of each part Pj.
式(3)を満たさない場合(S26でNO)、クライアント20は、パートPjの再生完了時に次のパートPj+1の全データを蓄積できない。 Equation (3) is not satisfied (NO in S26), the client 20 can not accumulate all data in the next part Pj + 1 during regeneration completion part Pj. そのため、クライアント20は再生ビットレートBRiを下げる検討を行う(S27〜S29)。 Therefore, the client 20 performs the study to reduce the reproduction bit rate BRi (S27 to S29). 一方、式(3)を満たす場合(S26でYES)、パートPjの再生完了時に、次のパートPj+1の全データを蓄積できる。 On the other hand, when satisfying the expression (3) (at S26 YES), the playback completion part Pj, can store all the data of the next part Pj + 1. つまり、少なくとも今の再生ビットレートBRiで再生を継続できる。 In other words, it continues to play in at least for now reproducing bit rate BRi. したがってこの場合、再生ビットレートBRiをさらに上げることができるか否かを検討する(S30〜S33)。 Therefore, in this case, to consider whether it is possible to further increase the reproduction bit rate BRi (S30 to S33). 以下、再生ビットレートBRiを下げる場合(S27〜S29)と、上げる場合(S30〜S33)とについて、具体例を挙げながら説明する。 Hereinafter, the case (S27 to S29) to reduce the reproduction bit rate BRi, for the case (S30 to S33) raising will be described with a specific example.

[再生ビットレートを下げる検討(S27〜S29)] [Consider lowering the playback bit rate (S27~S29)]
ストリームデータST3を受信しながら再生を実行している場合であって、図4中の時刻t3においてデータ要求処理を実行したとき、クライアント20は、ステップS26で式(3)を満たさないと判断する(S26でNO)。 Even if you are running play while receiving the stream data ST3, when executing the data request processing at time t3 in FIG. 4, the client 20 determines not satisfy equation (3) in step S26 (NO at S26). つまり、パートP3の再生終了時にパートP4の全データ量SZ(3,4)を蓄積できないと判断する。 That is, it is determined that it can not accumulate all data amount SZ (3, 4) of the part P4 during playback end part P3.
このとき、クライアント20は再生ビットレートBRiを下げる検討を行う。 At this time, the client 20 performs the study to reduce the reproduction bit rate BRi. 具体的には、再生時間D3中にパートP4のデータ量SZ(i,4)を取得できるストリームデータSTiを選択する。 Specifically, selecting the stream data STi can acquire data of part P4 SZ (i, 4) during the playback time D3.

クライアント20は、レート番号i=i−1(つまりレート番号i=2)にデクリメントする(S27)。 The client 20 decrements the rate number i = i-1 (i.e. rate number i = 2) (S27). デクリメントしたレート番号2は最小値=1でないため(S28でNO)、クライアント20は、ストリームデータST2のパートPj+1(つまりパート4)が、以下の式(4)を満たすか否かを判断する(S29)。 Since the decreased rate number 2 is not the minimum value = 1 (NO at S28), the client 20, Part Pj + 1 of the data stream ST2 (i.e. Part 4) determines whether to satisfy the following equation (4) ( S29).

BRcur×Dj/8≧SZ(i,j+1) (4) 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)。 BRcur × D3 / 8 ≧ SZ (2,4), and when satisfying the expression (4) (YES at S29), it acquires the data amount SZ (2, 4) of the part P4 of the stream data ST2 within the playback time D3 Therefore, to select the stream data ST2 as a stream data request to the server 10, the distribution start part and P4 (S34). 一方、式(4)を満たさない場合(S29でNO)、ステップS27に戻り、レート番号iをさらにデクリメントしてステップS28及びS29の判断を実行し、要求するストリームデータSTiを選択する(S34)。 On the other hand, is not satisfied equation (4) (NO in S29), the process returns to step S27, and further decrements the rate number i running determination of step S28 and S29, for selecting the stream data STi requesting (S34) . なお、レート番号iをデクリメントした結果、ステップS28でレート番号i=1と判断したとき(S28でYES)、クライアント20は、ストリームデータST1を選択し、配信開始パートをP4とする(S34)。 Incidentally, the rate number i decreased result of, when it is determined that the rate number i = 1 at step S28 (YES in S28), the client 20 selects the stream data ST1, the distribution start part and P4 (S34).

[再生ビットレートを上げる検討(S30〜S33)] [Consider raising the playback bit rate (S30~S33)]
ストリームデータST2を受信しながら再生している場合であって、図4中の時刻t6においてデータ要求処理を実行したとき、クライアント20は、ステップS26で式(3)を満たすと判断する(S26でYES)。 A when playing while receiving the stream data ST2, when executing the data request processing at a time t6 in FIG. 4, the client 20 determines that satisfies the equation (3) at step S26 (in S26 YES). つまり、パートP6の再生完了時である時刻t7に、ストリームデータST2のパートP7の全データ量SZ(2,7)を蓄積できると判断する。 That is, the time t7 is a time of reproduction completion of Part P6, it is determined that can store all the data amount SZ part P7 stream data ST2 (2,7).
このとき、クライアント20は、現在よりも高いビットレートBRiのストリームデータSTiを要求できるか否かを検討する。 At this time, the client 20, to consider whether it is possible to request the stream data STi high bit rate BRi than currently.

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

BRcur×D6/8≧SZ(3,7)となり、式(4)を満たすとき(S31でYES)、現在よりも高いビットレートのストリームデータST3を取得できる。 BRcur × D6 / 8 ≧ SZ (3,7), and the time that satisfies the equation (4) (at S31 YES), acquires the stream data ST3 high bit rate than the current. ここで、レート番号iが最大(=3)であるか否かを判断し(S33)、レート番号iが最大であるため(S33でYES)、クライアント20は、ストリームデータST3を選択し、配信開始パートをパートP7とする(S34)。 Here, the rate number i is determined whether the maximum (= 3) (S33), (YES in S33) for rate number i is the maximum, the client 20 selects the stream data ST3, delivery start Part and Part P7 (S34).

なお、ステップS33で判断した結果、レート番号iが最大でない場合(S33でNO)、さらに再生ビットレートBRiを上げることができるか否かを検討するために、ステップS30に戻り、ステップS31〜S33を実行する。 As a result of the determination in step S33, in order to rate the number i is examined whether it is possible to raise the case (S33 in NO), further reproduction bit rate BRi not maximum, the process returns to step S30, step S31~S33 to run. ステップS31で式(4)を満たさなくなったとき(S31でNO)、そのストリームデータSTiのパートPj+1のデータ量SZ(i,j+1)を再生時間Dj中に蓄積できないため、レート番号iをデクリメントして1つ下のレート番号iに戻し(S32)、戻したレート番号iのストリームデータSTiを選択し、パートPj+1を配信開始パートにする(ステップS34)。 When no longer satisfy the formula (4) in step S31 (NO in S31), since the data amount of the part Pj + 1 of the data stream STi SZ (i, j + 1) can not accumulate in the playback time Dj and decrement the rate number i Te back to rate the number i of the lower one 1 (S32), selects the stream data STi rate number i that returned to the distribution start Part Part Pj + 1 (step S34).
以上のストリーム選択処理により、次に再生するパートPjの再生時間Dj中にパートPj+1の全データSZ(i,j+1)を取得できるストリームデータSTi(再生ビットレートBRi)を選択する。 The stream selection process described above, then select all data SZ (i, j + 1) Part Pj + 1 to the playback time during Dj part Pj to play stream data STi a can be obtained (reproduction bit rate BRi). そのため、再生すべきデータが途中で枯渇せず、再生の途切れを防止できる。 Therefore, without depleting the data to be reproduced in the middle, it can be prevented interruption of reproduction.

2.3.2. 2.3.2. 要求処理 図7を参照して、図6で示したストリームデータ選択処理を実行後(S111)、クライアント20は、選択したストリームデータSTiが、現在受信しているストリームデータSTiと同じか否かを判断する(S51)。 Referring to request processing Figure 7, after executing a stream data selection processing shown in FIG. 6 (S 111), the client 20, the stream data STi was selected, or the same or not the stream data STi currently being received to determine (S51). 同じである場合(S51でYES)、クライアント20は既にそのストリームデータSTiを受信し続けているため、そのまま受信を継続する。 If the same (YES in S51), the client 20 because it has already continues to receive the stream data STi, continues to receive it. 要するに、この場合はサーバ10に配信要求コマンドを送信しない。 In short, this case does not send a distribution request command to the server 10.

一方、選択したストリームデータSTi(たとえばST2)が現在受信しているストリームデータSTi(たとえばST3)と異なる場合(S51でNO)、クライアント20は、サーバ10に対して、選択されたストリームデータST2を、配信開始パートPj+1から配信するよう要求する(S54)。 On the other hand, if the selected stream data STi (e.g. ST2) different from the stream data STi currently being received (e.g. ST3) (NO in S51), the client 20, the server 10, the stream data ST2 selected , to request to deliver from the distribution start Part Pj + 1 (S54). 具体的には、クライアント20は、ストリーム情報データベース15に基づいて、ストリームデータ識別子=ST2と、パート識別子=Pj+1とを含む新たな配信要求コマンドを送信する。 Specifically, the client 20, based on the stream information database 15, and transmits the stream data identifier = ST2, a new distribution request command including a part identifier = Pj + 1.

なお、新たな配信要求を送信する前に、クライアント20は、バッファ領域27A及び27Bのうち、現在受信バッファに指定されているバッファ領域(たとえば27A)を切り替え(S52)。 Incidentally, before sending the new delivery request, the client 20, of the buffer area 27A and 27B, switching the buffer area specified in the current receive buffer (e.g., 27A) (S52). バッファ領域27Bを受信バッファとする。 The buffer area 27B and the receive buffer. さらに、新たに受信バッファに指定されたバッファ領域27Bに蓄積されているデータを消去しておく(S53)。 Furthermore, advance to erase the data stored in the buffer area 27B that is specified in the newly received buffer (S53).

サーバ10は、新たな配信要求コマンドを受けたとき、今まで配信していたストリームデータST3の配信を停止し、選択されたストリームデータST2を、配信開始パートPj+1から配信する(S55)。 Server 10, upon receiving a new distribution request command, the distribution of the stream data ST3 which has been delivered until now stopped, the stream data ST2 selected, delivers the delivery start Part Pj + 1 (S55).

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

以上に示したとおり、今まで受信していたストリームデータST3と異なる新たなストリームデータST2を受信する場合、ストリームデータST2をストリームデータST3を蓄積しているバッファ領域27Aと異なるバッファ領域27Bに蓄積する。 As shown above, when receiving stream data ST3 different new stream data ST2 has been received up to now, accumulates stream data ST2 to different buffer area 27B and the buffer area 27A which accumulates stream data ST3 .
異なるビットレートBRiのストリームデータSTiを同一のバッファ領域に蓄積すると、再生処理が煩雑になる。 When storing stream data STi of different bit rates BRi the same buffer area, the reproduction process becomes complicated. そこで、異なるビットレートBRiのストリームデータSTiを異なるバッファ領域27A及び27Bに蓄積し、受信バッファを再生バッファと分けることにより再生処理を容易にする。 Therefore, accumulates stream data STi of different bit rates BRi different buffer areas 27A and 27B, to facilitate regeneration process by separating the receive buffer and reproducing buffer. 以下、再生処理について説明する。 Following, description will be made regarding the playback processing.

2.4. 2.4. 再生処理 再生処理は、各パートPjの再生が完了するごとに実施される。 Reproduction processing reproduction process, the reproduction of each part Pj is performed for each completed. 図8を参照して、クライアント20は、再生中のストリームデータSTi(たとえばST3)のパートPjの再生が完了したか否かを判断する(S61)。 Referring to FIG. 8, the client 20 determines whether or not the reproduction of part Pj stream data STi being reproduced (e.g., ST3) has been completed (S61). 再生が完了したとき(S61でYES)、再生を完了したパートPjが最終のパートP7であるか否かを判断する(S62)。 Play When is completed (YES in S61), the part Pj completing the reproduction is determined whether the last part P7 (S62). パートP7である場合(S62でYES)、コンテンツは全て再生されたため、再生を停止し(S68)、再生処理を終了する。 If a part P7 (YES in S62), because the content has been reproduced all, stop playback (S68), and ends the playback processing.

再生を完了したパートPjがパートP7でない場合(S62でNO)、再生は継続される。 If part Pj you have completed the regeneration is not a part P7 (NO at S62), playback is continued. このとき、クライアント20は、ストリームデータST3のパートPjの再生完了時に、受信バッファと再生バッファとが同一であるか否かを判断する(S63)。 At this time, the client 20, upon reproduction completion of the part Pj stream data ST3, a receiving buffer and the reproduction buffer to determine whether the same (S63). つまり、1つのバッファ領域(27A又は27B)が再生バッファ及び受信バッファとして機能していたか否かを判断する。 That is, one buffer region (27A or 27B) determines whether to function as reproduction and receive buffers.

再生バッファと受信バッファが同一でない場合(S63でNO)、クライアント20は、ストリームデータST3のパートPjの再生時間Dj中に、異なるストリームデーSTi(たとえばST2)のデータを取得している。 If the reproduction and receive buffers are not identical (NO in S63), the client 20, during the playback time of the part Pj stream data ST3 Dj, and acquires data of different streams Day STi (e.g. ST2). そのため、次に再生するパートPjは、今までの再生バッファ(たとえばバッファ領域27A)と異なるバッファ領域(たとえば27B)に蓄積されている。 Therefore, part Pj to be reproduced next is stored in the reproduction buffer far (e.g. buffer area 27A) different from the buffer area (e.g., 27B). したがって、再生バッファを切り替え(S65)、今までと異なるバッファ領域27Bを再生バッファに指定する。 Therefore, switching a reproduction buffer (S65), a different buffer area 27B until now specify the playback buffer. さらに、次に再生するパートPjは、今までの再生ビットレートBR3と異なる再生ビットレートBR2であるため、再生ビットレートをBR3からBR2に変更し(S66)、再生を開始する(S67)。 Furthermore, the next part Pj to play are the reproduction bit rate BR3 different reproduction bit rate BR2 of ever change the reproduction bit rate from BR3 to BR2 (S66), starts reproduction (S67).

一方、パートPjの再生完了時に、再生バッファと受信バッファとが同一である場合(S63でYES)、パート番号jをインクリメントし(S69)、次に再生するストリームデータST3のパートPjのデータ量SZ(3,j)が蓄積されているか否かを判断する(S64)。 On the other hand, when the regeneration completion of part Pj, (YES in S63) When the reproduction buffer and the receive buffer are the same, increments the part number j (S69), then the data amount SZ part Pj stream data ST3 to be reproduced (3, j) to determine whether it is accumulated (S64).

ここで、データ量SZ(3,j)が蓄積されていない場合(S64でNO)とは、図6中のステップS25で式(2)を満たさない場合に相当し、最も低いビットレートBR1のストリームデータST1のパートPjを受信と同時に再生する場合である。 Here, (NO in S64) If the amount of data SZ (3, j) is not stored, it corresponds to a case that does not satisfy the formula (2) in step S25 in FIG. 6, the lowest bit rate BR1 it is a case of reproducing the part Pj stream data ST1 and receive simultaneously. この場合、受信と同時に再生を行うため、受信バッファと再生バッファとを同じバッファ領域27にする必要がある。 In this case, for reproducing and reception simultaneously, it is necessary to make a reception buffer and the reproduction buffer in the same buffer area 27. そのため、再生バッファを切り替え(S65)、図7に示した要求処理中のステップS52で切り替えられた受信バッファと再生バッファとを同じバッファ領域27とする。 Therefore, switching a reproduction buffer (S65), the same buffer area 27 receive buffer that has been switched in step S52 the requesting process and a reproduction buffer shown in FIG. 続いて、再生ビットレートBRiをBR1として(S66)、再生を開始する(S67)。 Subsequently, the reproduction bit rate BRi as BR1 (S66), starts reproduction (S67). これにより、ストリームデータST1を受信と同時に再生できる。 This enables reproducing the stream data ST1 and receive simultaneously.

ステップS64の判断の結果、次に再生するパートPj(ストリームデータST3)のデータ量SZ(3,j)が蓄積されている場合(S64でYES)、次に再生されるパートPjは、今まで再生してきたデータと同じ再生ビットレートBR3であるため、今までと同じ再生ビットレートBR3で再生を開始する(S67)。 Is determined in step S64, then the part to play Pj If the amount of data SZ of (stream data ST3) (3, j) is accumulated (YES in S64), the part Pj is to be next reproduced, until now is the same reproduction bit rate BR3 and data that has been played back, and start playback at the same reproduction bit rate BR3 and until now (S67).
以上のとおり、受信バッファと再生バッファとが同一であるか否かの判断と、再生バッファ中に次に再生するパートPjが蓄積されているか否かの判断を実行すれば、次に再生するパートPjの再生ビットレートBRiを判断できる。 As described above, a receiving buffer and regeneration buffer and whether the determination or the same, executing the determination of whether the part Pj to be next reproduced during playback buffer is stored, then the part to be reproduced You can determine the playback bit rate BRi of Pj.

上述したコンテンツ配信システムでは、式(1)に基づいて配信ビットレートBRcurを特定したが、他の方法により配信ビットレートBRcurを特定してもよい。 In the above-described content distribution system has been identified delivery bit rate BRcur based on equation (1) may specify the delivery bit rate BRcur by other methods. たとえば、各再生時間Dj中の配信ビットレートの変動を測定し、その測定値に基づいて、次に再生するパートPjの再生中の配信ビットレートBRcurの変動を予測してビットレートBRcurを特定してもよい。 For example, the variation of the delivery bit rate in each playback time Dj determined, based on the measurement value, then predict the variation of the distribution bit rate BRcur playing the part Pj to play identifying the bit rate BRcur by it may be.

また、ストリームデータ選択処理(図6)において、ステップS31の判断基準を厳しくしてもよい。 Further, the stream data selection processing (FIG. 6) may be strict criteria of step S31. たとえば、ステップS31において、式(4)の代わりに以下の式(5)を用いてもよい。 For example, in step S31, may be using the following equation (5) instead of equation (4).

BRcur×Dj/8≧SZ(i,j+1)+SZ(i,j+2) (5) BRcur × Dj / 8 ≧ SZ (i, j + 1) + SZ (i, j + 2) (5)
この場合、再生ビットレートBRiは上がりにくくなるが、ストリームデータSTiの選択の変更頻度は低下するため、コンテンツの画質や音質の変更頻度を抑えることができる。 In this case, the reproduced bit rate BRi is less likely to rise, since the change frequency of the selected stream data STi decreases, it is possible to suppress the change frequency of the image and sound quality of the content.

以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。 Having described the embodiments of the present invention, the above-described embodiment is merely an example for implementing the present invention. よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。 Accordingly, the present invention is not limited to the embodiments described above, it can be implemented by modifying the above-described embodiments without departing from the scope and spirit thereof as appropriate.

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

符号の説明 DESCRIPTION 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 the client application 27, 27A, 27B buffer area

Claims (9)

  1. サーバと、前記サーバに接続されたクライアントとを備えたコンテンツ配信システムであって、 A content distribution system comprising a server and a connected to said server-client,
    前記サーバは、 The server,
    各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するストリームデータ蓄積手段と、 Each relates same content, and the stream data storing means for storing different have reproduction bit rate, a plurality of stream data divided into a plurality of parts arranged in succession to one another,
    前記クライアントの要求に対応して前記ストリームデータのパートを配列順にストリーム配信する配信手段とを備え、 In response to a request of the client and a delivery means for streaming the part of the stream data in the arrangement order,
    前記クライアントは、 The client is,
    前記ストリーム配信された前記パートを順次蓄積するバッファ手段と、 A buffer means for sequentially storing the streamed said part,
    前記バッファ手段に蓄積された前記パートを順次再生する再生手段と、 Reproducing means for sequentially reproducing the part stored in said buffer means,
    前記パートの再生が完了したとき、未再生のパートが前記バッファ手段に蓄積されているか否かを判断する判断手段と、 When the reproduction of the part is completed, a determination unit configured unplayed part determines whether stored in said buffer means,
    判断の結果、前記未再生のパートが蓄積されているとき、前記未再生のパートの再生時間で前記バッファ手段に蓄積可能なデータ量を算出するデータ量算出手段と、 Result of the determination, when the unplayed part is accumulated, the data amount calculation means for calculating an amount of data that can be accumulated in said buffer means at a playback time of the unplayed part,
    前記算出結果に基づいて、前記サーバに要求するストリームデータ及び配信開始パートを選択する選択手段と、 A selecting means for, based on the calculation result, selects the stream data and the distribution start part for requesting said server,
    前記選択されたストリームデータを、前記配信開始パートからストリーム配信するよう要求する要求手段とを備えることを特徴とするコンテンツ配信システム。 Content delivery system; and a request means for said selected stream data and requests to stream from the distribution start part.
  2. 請求項1に記載のコンテンツ配信システムであって、 A content distribution system according to claim 1,
    前記データ量算出手段は、 It said data amount calculation means,
    前記パートの再生が完了したとき、前記サーバから配信される前記ストリームデータの配信ビットレートを特定する配信ビットレート特定手段を備え、 When the reproduction of the part is completed, with the delivery bit rate specifying means for specifying the distribution bit rate of the stream data distributed from the server,
    前記特定した配信ビットレートと、前記未再生のパートの再生時間とに基づいて、前記データ量を算出することを特徴とするコンテンツ配信システム。 Content delivery system comprising a delivery bit rate the particular, the based on the playback time of unplayed part, to calculate the amount of data.
  3. 請求項1又は請求項2に記載のコンテンツ配信システムであって、 A content distribution system according to claim 1 or claim 2,
    前記クライアントは、 The client is,
    前記ストリームデータの各パートのデータ量及び再生時間と、前記各パートに対応した他のストリームデータのパートとに関するストリーム情報を蓄積するストリーム情報蓄積手段を備え、 Wherein with the data amount and the reproduction time of each part of the stream data, the stream information storage means for storing said stream information on the part of the other stream data corresponding to each part,
    前記選択手段は、前記算出結果と前記ストリーム情報とに基づいて、前記ストリームデータ及び配信開始パートを選択することを特徴とするコンテンツ配信システム。 It said selection means, content distribution system, characterized in that on the basis of the calculation result and said stream information to select the stream data and the distribution start part.
  4. 請求項1〜請求項3のいずれか1項に記載のコンテンツ配信システムであって、 A content delivery system according to any one of claims 1 to 3,
    前記判断の結果、前記未再生のパートが前記バッファ手段に蓄積されていないとき、前記選択手段は、前記複数のストリームデータのうち、前記再生ビットレートが最も低いストリームデータを選択することを特徴とするコンテンツ配信システム。 A result of the determination, when the unplayed part is not stored in said buffer means, said selecting means, among the plurality of stream data, and wherein the reproduction bit rate to select the lowest stream data content distribution system for.
  5. 各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するサーバに接続可能なクライアントであって、 Each relates same content, have different reproduction bit rates from each other, a connectable to a server that stores a plurality of stream data divided into a plurality of parts arranged in succession client,
    前記サーバからストリーム配信された前記パートを順次蓄積するバッファ手段と、 And sequentially stored to the buffer means streamed said part from said server,
    前記バッファ手段に蓄積された前記パートを順次再生する再生手段と、 Reproducing means for sequentially reproducing the part stored in said buffer means,
    前記パートの再生が完了したとき、未再生のパートが前記バッファ手段に蓄積されているか否かを判断する判断手段と、 When the reproduction of the part is completed, a determination unit configured unplayed part determines whether stored in said buffer means,
    判断の結果、前記未再生のパートが蓄積されているとき、前記未再生のパートの再生時間で前記バッファ手段に蓄積可能なデータ量を算出するデータ量算出手段と、 Result of the determination, when the unplayed part is accumulated, the data amount calculation means for calculating an amount of data that can be accumulated in said buffer means at a playback time of the unplayed part,
    前記算出結果に基づいて、前記サーバに要求するストリームデータ及び配信開始パートを選択する選択手段と、 A selecting means for, based on the calculation result, selects the stream data and the distribution start part for requesting said server,
    前記選択されたストリームデータを、前記配信開始パートからストリーム配信するよう要求する要求手段とを備えることを特徴とするクライアント。 Client; and a request means for said selected stream data and requests to stream from the distribution start part.
  6. 請求項5に記載のクライアントであって、 A client according to claim 5,
    前記データ量算出手段は、 It said data amount calculation means,
    前記パートの再生が完了したとき、前記サーバから配信される前記ストリームデータの配信ビットレートを特定する配信ビットレート特定手段を備え、 When the reproduction of the part is completed, with the delivery bit rate specifying means for specifying the distribution bit rate of the stream data distributed from the server,
    前記特定した配信ビットレートと、前記未再生のパートの再生時間とに基づいて、前記データ量を算出することを特徴とするクライアント。 Clients said identified a distribution bitrate, the based on the playback time of unplayed part, and calculates the amount of data.
  7. 請求項5又は請求項6に記載のクライアントであって、 A client according to claim 5 or claim 6,
    前記ストリームデータの各パートのデータ量及び再生時間と、前記各パートに対応した他のストリームデータのパートとに関するストリーム情報を蓄積可能なストリーム情報蓄積手段を備え、 Wherein with the data amount and the reproduction time of each part of the stream data, the stream information storage means capable of storing stream information regarding the part of the other stream data corresponding to the each part,
    前記選択手段は、前記算出結果と前記ストリーム情報とに基づいて、前記ストリームデータ及び配信開始パートを選択することを特徴とするクライアント。 It said selection means, client based on said calculation result and the stream information, and selects the stream data and the distribution start part.
  8. 請求項5〜請求項7のいずれか1項に記載のクライアントであって、 A client according to any one of claims 5 to 7,
    前記判断の結果、前記未再生のパートが前記バッファ手段に蓄積されていないとき、前記選択手段は、前記複数のストリームデータのうち、前記再生ビットレートが最も低いストリームデータを選択することを特徴とするクライアント。 A result of the determination, when the unplayed part is not stored in said buffer means, said selecting means, among the plurality of stream data, and wherein the reproduction bit rate to select the lowest stream data clients.
  9. 各々が、同一のコンテンツに関し、互いに異なる再生ビットレートを有し、連続して配列される複数のパートに分割された複数のストリームデータを蓄積するサーバに接続可能なクライアントコンピュータに実行させるクライアントプログラムであって、 Each relates same content, have different reproduction bit rates from each other, a client program to be executed by the client computer can be connected to a plurality of stream data divided into a plurality of parts to the server to accumulate arranged in succession there,
    前記サーバからストリーム配信された前記パートを順次蓄積するステップと、 A step of sequentially storing the part that is streamed from the server,
    前記蓄積された前記パートを順次再生するステップと、 A step of sequentially reproducing the stored said part,
    前記パートの再生が完了したとき、未再生のパートが蓄積されているか否かを判断するステップと、 When the reproduction of the part is completed, the steps of unplayed part determines whether it is accumulated,
    判断の結果、前記未再生のパートが蓄積されているとき、前記未再生のパートの再生時間で蓄積可能なデータ量を算出するステップと、 Result of the determination, when the unplayed part is stored, and calculating the amount of data that can be stored in the playback time of the unplayed part,
    前記算出結果に基づいて、前記サーバに要求するストリームデータ及び配信開始パートを選択するステップと、 Selecting, based on the calculation result, the stream data and the distribution start part for requesting said server,
    前記選択されたストリームデータを、前記配信開始パートからストリーム配信するよう要求するステップとをクライアントコンピュータに実行させるクライアントプログラム。 The selected stream data, the client program for executing a step in the client computer to request to stream 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 (50)

* 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
JP2012222530A (en) * 2011-04-06 2012-11-12 Sony Corp Receiving device and method, and program
CN102812683A (en) * 2010-02-19 2012-12-05 瑞典爱立信有限公司 Method and arrangement for adaption in http streaming
JP2013520119A (en) * 2010-02-19 2013-05-30 トムソン ライセンシングThomson Licensing Adaptive streaming multipath delivery
JP2013524603A (en) * 2010-04-01 2013-06-17 トムソン ライセンシングThomson Licensing 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 ネットフリックス・インコーポレイテッドNetflix, Inc. Various bit video streams for adaptive streaming
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 トムソン ライセンシングThomson Licensing 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
US9344517B2 (en) 2013-03-28 2016-05-17 Sonic Ip, Inc. Downloading and adaptive streaming of multimedia content to a device with cache assist
US9343112B2 (en) 2013-10-31 2016-05-17 Sonic Ip, Inc. Systems and methods for supplementing content from a server
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9621522B2 (en) 2011-09-01 2017-04-11 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9699486B2 (en) 2010-02-23 2017-07-04 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data
US9712890B2 (en) 2013-05-30 2017-07-18 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9756364B2 (en) 2009-12-07 2017-09-05 Samsung Electronics Co., Ltd. Streaming method and apparatus operating by inserting other content into main content
JP2017157958A (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
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
US9967598B2 (en) 2009-11-13 2018-05-08 Samsung Electronics Co., Ltd. Adaptive streaming method and apparatus
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

Cited By (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US9628536B2 (en) 2006-06-09 2017-04-18 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
JP4600418B2 (en) * 2007-04-20 2010-12-15 株式会社日立製作所 Receiving apparatus and a receiving method
JP2008271170A (en) * 2007-04-20 2008-11-06 Hitachi Ltd Receiver, and receiving method
US8255679B2 (en) 2007-04-20 2012-08-28 Hitachi Consumer Electronics Co., Ltd. Receiver and receiving method
WO2008132877A1 (en) * 2007-04-20 2008-11-06 Hitachi, Ltd. Receiver and receiving method
KR101145527B1 (en) * 2007-04-20 2012-05-15 히다찌 컨슈머 일렉트로닉스 가부시끼가이샤 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
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
CN102301710B (en) 2009-01-29 2013-03-13 微软公司 Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US9769505B2 (en) 2009-07-24 2017-09-19 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
US9648385B2 (en) 2009-07-24 2017-05-09 Netflix, Inc. Adaptive streaming for digital content distribution
US9014545B2 (en) 2009-07-24 2015-04-21 Netflix, Inc. Adaptive streaming for digital content distribution
US9521354B2 (en) 2009-07-24 2016-12-13 Netflix, Inc. Adaptive streaming for digital content distribution
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
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
TWI643502B (en) * 2009-10-15 2018-12-01 日商新力股份有限公司 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
US8812735B2 (en) 2009-10-15 2014-08-19 Sony Corporation Content reproduction system, content reproduction apparatus, program, content reproduction method, and providing content server
KR101750558B1 (en) * 2009-10-15 2017-07-04 소니 주식회사 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
KR101868281B1 (en) * 2009-10-15 2018-06-15 소니 주식회사 Information processing apparatus, information processing method, and computer-readable recording medium
KR101868280B1 (en) * 2009-10-15 2018-06-15 소니 주식회사 Information processing apparatus, information processing method, and computer-readable recording medium
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
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
JP2016007026A (en) * 2009-11-13 2016-01-14 サムスン エレクトロニクス カンパニー リミテッド Method and apparatus for adaptive streaming using segmentation
US10425666B2 (en) 2009-11-13 2019-09-24 Samsung Electronics Co., Ltd. Method and apparatus for adaptive streaming using segmentation
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 トムソン ライセンシングThomson Licensing Adaptive streaming multipath delivery
KR101624013B1 (en) 2010-02-19 2016-05-24 텔레폰악티에볼라겟엘엠에릭슨(펍) Method and arrangement for adaptation in http streamimg
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
US9112933B2 (en) 2010-02-19 2015-08-18 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for adaption in HTTP streaming
CN102812683A (en) * 2010-02-19 2012-12-05 瑞典爱立信有限公司 Method and arrangement for adaption in http streaming
US9699486B2 (en) 2010-02-23 2017-07-04 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving data
US9258333B2 (en) 2010-04-01 2016-02-09 Thomson Licensing Method for recovering content streamed into chunk
JP2013524603A (en) * 2010-04-01 2013-06-17 トムソン ライセンシングThomson Licensing How to recover content streamed in chunks
JP2013526150A (en) * 2010-04-16 2013-06-20 マイクロソフト コーポレーション Media content with improved playback quality
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
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
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
JP2014506430A (en) * 2011-01-05 2014-03-13 ソニック アイピー, インコーポレイテッド Adaptive bitrate streaming of media stored in Matroska container files using hypertext transfer protocol
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
JP2014506748A (en) * 2011-01-21 2014-03-17 ネットフリックス・インコーポレイテッドNetflix, Inc. 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
JP2014520422A (en) * 2011-05-18 2014-08-21 トムソン ライセンシングThomson Licensing Method for dynamically adapting received bit rate and associated receiver
US10015225B2 (en) 2011-05-18 2018-07-03 Thomson Licensing Method for dynamic adaptation of the reception bitrate and associated receiver
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
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
US10341698B2 (en) 2011-09-01 2019-07-02 Divx, Llc Systems and methods for distributing content using a common set of encryption keys
US9769485B2 (en) 2011-09-16 2017-09-19 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
US9591318B2 (en) 2011-09-16 2017-03-07 Microsoft Technology Licensing, Llc Multi-layer encoding and decoding
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
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US10225299B2 (en) 2012-12-31 2019-03-05 Divx, Llc Systems, methods, and media for controlling delivery of content
US10264255B2 (en) 2013-03-15 2019-04-16 Divx, Llc Systems, methods, and media for transcoding video data
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
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
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US9712890B2 (en) 2013-05-30 2017-07-18 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
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
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
JP2017157958A (en) * 2016-02-29 2017-09-07 Kddi株式会社 Client device and method
US10382832B2 (en) 2016-02-29 2019-08-13 Fuji Xerox Co., Ltd. Information processing apparatus and information processing method

Similar Documents

Publication Publication Date Title
US6937770B1 (en) Adaptive bit rate control for rate reduction of MPEG coded video
CN100498778C (en) Transfer of content between storage devices
US8606966B2 (en) Network adaptation of digital content
US8402156B2 (en) Apparatus, system, and method for multi-bitrate content streaming
US7359980B2 (en) Progressive streaming media rendering
JP6054398B2 (en) Switching signaling method providing improved switching of display for adaptive HTTP streaming
US9680889B2 (en) System and method of managing multiple video players
US9021119B2 (en) Systems and methods for performing adaptive bitrate streaming based upon the delay of each stream and the channel rate
US8532464B2 (en) Methods and systems for use in controlling playback of content in relation to recorded content
CN101690192B (en) Display device and display method
JP4120461B2 (en) Transmission data generation method and transmission data generating unit
US20090043906A1 (en) Apparatus, system, and method for multi-bitrate content streaming
CN101868793B (en) A reciprocal operation of the playback apparatus and method
US20030161302A1 (en) Continuous media system
US9699519B2 (en) Partitioning streaming media files on multiple content distribution networks
JP4487028B2 (en) Delivery speed control device, the distribution system, the distribution rate control method, and delivery rate controlling program
KR101737325B1 (en) Method and apparatus for reducing decreasing of qualitly of experience in a multimedia system
US7133881B2 (en) Encoding and transferring media content onto removable storage
JP2012533938A (en) Digital content distribution system and method
US20100080290A1 (en) Fine-grained client-side control of scalable media delivery
US20140250236A1 (en) Method and system for selecting a delivery method for media on demand
JP2015216679A (en) System and method for synchronized playback of streaming digital content
EP2545459B1 (en) Parallel streaming
US20070058926A1 (en) Optimizing trick modes for streaming media content
US9378278B2 (en) Method and system for constructing and presenting a consumption profile for a media item