JPWO2010087113A1 - 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置 - Google Patents

配信システム、配信方法、サーバ装置、プログラム及びクライアント装置 Download PDF

Info

Publication number
JPWO2010087113A1
JPWO2010087113A1 JP2010548388A JP2010548388A JPWO2010087113A1 JP WO2010087113 A1 JPWO2010087113 A1 JP WO2010087113A1 JP 2010548388 A JP2010548388 A JP 2010548388A JP 2010548388 A JP2010548388 A JP 2010548388A JP WO2010087113 A1 JPWO2010087113 A1 JP WO2010087113A1
Authority
JP
Japan
Prior art keywords
bit rate
correction amount
time
target value
content data
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.)
Granted
Application number
JP2010548388A
Other languages
English (en)
Other versions
JP5494495B2 (ja
Inventor
裕志 吉田
裕志 吉田
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.)
NEC Corp
Original Assignee
NEC 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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=42395379&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPWO2010087113(A1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2010548388A priority Critical patent/JP5494495B2/ja
Publication of JPWO2010087113A1 publication Critical patent/JPWO2010087113A1/ja
Application granted granted Critical
Publication of JP5494495B2 publication Critical patent/JP5494495B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

サーバ装置は複数のビットレートのうちの1つを有するコンテンツデータを送信可能に構成される。クライアント装置はコンテンツデータを受信しながら、受信された部分を記憶し記憶しているデータに基づいてコンテンツを再生する。配信システムは、記憶されているデータのうちの未だ再生していない部分に基づいてコンテンツを再生可能な時間(残余再生時間)を取得する。配信システムは残余再生時間に基づいて、ビットレートを補正するための補正量を所定の方式に従って算出し算出した補正量に基づいてビットレートを変更する。配信システムはビットレートが所定の範囲内にある場合、上記方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出する。

Description

本発明は、コンテンツデータを送信するサーバ装置と、受信したコンテンツデータが表すコンテンツを再生するクライアント装置と、を含む配信システムに関する。
互いに通信可能に構成されたサーバ装置及びクライアント装置を含む配信システムが知られている。サーバ装置は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータをクライアント装置へ送信可能に構成される。
また、クライアント装置は、サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生する。
この種の配信システムの一つとして特許文献1に記載の配信システムは、クライアント装置の記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいてコンテンツを再生可能な時間である残余再生時間を目標値に近づけるように、サーバ装置が送信するコンテンツデータのビットレートを変更する。
これによれば、残余再生時間を適切な範囲に維持することができる。従って、残余再生時間が過少となることによって、クライアント装置におけるコンテンツの再生が途切れることを防止することができる。また、残余再生時間が過大となることによって、クライアント装置の記憶装置に記憶されているデータ量が過大となることを防止することができる。
特開2004−172830号公報
しかしながら、上記配信システムにおいては、クライアント装置が再生するコンテンツのビットレートが頻繁に変動してしまう。このため、コンテンツの視聴者が感じるサービス品質であるユーザ体感品質(QoE;Quality of Experience)が過度に低下してしまうという問題があった。
このため、本発明の目的は、上述した課題である「残余再生時間を適切な範囲に維持した場合に、ユーザ体感品質が過度に低下してしまうこと」を解決することが可能な配信システムを提供することにある。
かかる目的を達成するため本発明の一形態である配信システムは、互いに通信可能に構成されたサーバ装置及びクライアント装置を含むシステムである。
更に、上記サーバ装置は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成され、
上記クライアント装置は、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成される。
加えて、上記配信システムは、
上記クライアント装置の上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を備える。
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
また、本発明の他の形態である配信方法は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と、上記サーバ装置と通信可能に構成されたクライアント装置と、を含む配信システムに適用される方法である。
更に、この配信方法は、
上記サーバ装置が上記コンテンツデータを上記クライアント装置へ送信し、
上記クライアント装置が、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生し、
上記クライアント装置の上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得し、
上記ビットレートが所定の補正量低減範囲内にない場合、上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、一方、上記ビットレートが当該補正量低減範囲内にある場合、上記取得された残余再生時間と当該目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量であって当該補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出し、
上記算出された補正量に基づいて、上記サーバ装置が送信するコンテンツデータの上記ビットレートを変更する方法である。
また、本発明の他の形態であるサーバ装置は、クライアント装置と通信可能に構成された装置である。
更に、このサーバ装置は、
1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成され、
上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を備える。
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
また、本発明の他の形態であるプログラムは、
クライアント装置と通信可能に構成されるとともに、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成されたサーバ装置に、
上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を実現させるためのプログラムである。
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
また、本発明の他の形態であるクライアント装置は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成された装置である。
更に、このクライアント装置は、
上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成され、
上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
を備える。
加えて、上記ビットレート変更要求送信手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
また、本発明の他の形態であるプログラムは、
1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されるとともに、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成されたクライアント装置に、
上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
を実現させるためのプログラムである。
加えて、上記ビットレート変更要求送信手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
本発明は、以上のように構成されることにより、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
本発明の第1実施形態に係る配信システムの概略構成を表す図である。 本発明の第1実施形態に係る配信システムの機能の概略を表すブロック図である。 4つの時定数、残余再生時間、残余再生時間の目標値、及び、メディア流速の時間変化率の関係を概念的に示した説明図である。 時定数、残余再生時間、残余再生時間の目標値、及び、メディア流速の時間変化率の関係を概念的に示した説明図である。 本発明の第1実施形態に係るクライアント装置のCPUが実行する受信側情報送信プログラムを示したフローチャートである。 本発明の第1実施形態に係るサーバ装置のCPUが実行するビットレート補正プログラムを示したフローチャートである。 本発明の第1実施形態に係るサーバ装置のCPUが実行する補正量低減範囲決定プログラムを示したフローチャートである。 本発明の第1実施形態に係るサーバ装置のCPUが実行する補正量算出プログラムを示したフローチャートである。 本発明の第1実施形態に係る配信システムを用いた場合のシミュレーション結果を示したグラフである。 特許文献1に記載の配信システムを用いた場合のシミュレーション結果を示したグラフである。 本発明の第2実施形態に係る配信システムの機能の概略を表すブロック図である。 本発明の第3実施形態に係る配信システムの機能の概略を表すブロック図である。
以下、本発明に係る、配信システム、配信方法、サーバ装置、プログラム、及び、クライアント装置、の各実施形態について図1〜図12を参照しながら説明する。
<第1実施形態>
図1に示したように、第1実施形態に係る配信システム1は、サーバ装置10と、クライアント装置20と、を含む。サーバ装置10及びクライアント装置20は、通信回線(例えば、インターネット)NWを介して、互いに通信可能に接続されている。
サーバ装置10は、図示しない中央処理装置(CPU;Central Processing Unit)、及び、記憶装置(メモリ及びハードディスク駆動装置(HDD;Hard Disk Drive))を備える。サーバ装置10は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
クライアント装置20は、パーソナル・コンピュータである。なお、クライアント装置20は、携帯電話装置、カーナビゲーション装置、テレビ受像機、セットトップボックス、又は、ゲーム機等であってもよい。クライアント装置20は、図示しない中央処理装置(CPU)、記憶装置(メモリ)、入力装置(例えば、キーボード及びマウス等)及び出力装置(例えば、ディスプレイ及びスピーカ等)を備える。クライアント装置20は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
図2は、上記のように構成された配信システム1の機能を表すブロック図である。
サーバ装置10の機能は、コンテンツデータ蓄積部11と、コンテンツ送信部12と、補正量低減範囲決定部(ビットレート変更手段の一部、残余再生時間受信手段、受信速度受信手段、再生速度受信手段)13と、ビットレート補正部(ビットレート変更手段の一部)14と、を含む。コンテンツデータ蓄積部11は、サーバ装置10の記憶装置により実現される。また、コンテンツ送信部12、補正量低減範囲決定部13、及び、ビットレート補正部14は、サーバ装置10のCPUが後述する図6に示したフローチャートにより表されるプログラム等を実行することにより、実現される。
一方、クライアント装置20の機能は、コンテンツ受信部21と、コンテンツバッファ部22と、コンテンツ再生部23と、受信速度取得部(受信速度取得手段)24と、残余再生時間取得部(残余再生時間取得手段)25と、再生速度取得部(再生速度取得手段)26と、を含む。これらの機能は、クライアント装置20のCPUが後述する図5に示したフローチャートにより表されるプログラム等を実行することにより、実現される。
以下、各機能について説明する。
サーバ装置10のコンテンツデータ蓄積部11は、1つのコンテンツ(例えば、映像又は音声等を表す情報)を、複数の異なるビットレートのそれぞれにて符号化したコンテンツデータを予め記憶(蓄積)している。ここで、ビットレートは、コンテンツを単位時間だけ等速再生(1倍速にて再生)するために必要なデータのサイズを表す。
サーバ装置10のコンテンツ送信部12は、コンテンツデータ蓄積部11に記憶されているコンテンツデータをクライアント装置20へ送信する。本例では、コンテンツ送信部12は、クライアント装置20からコンテンツ送信要求を受信し、受信したコンテンツ送信要求により特定されるコンテンツデータをクライアント装置20へ送信する。
なお、コンテンツ送信部12は、コンテンツデータ蓄積部11に記憶されているコンテンツデータに基づいて、そのコンテンツデータと異なるビットレートにて符号化したコンテンツデータを生成するように構成されていてもよい。
このように、サーバ装置10は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータをクライアント装置20へ送信可能に構成されている。
一方、クライアント装置20のコンテンツ受信部21は、サーバ装置10により送信されたコンテンツデータを受信する。
クライアント装置20のコンテンツバッファ部22は、コンテンツ受信部21によりコンテンツデータが受信されている間に、そのコンテンツデータのうちの受信されたデータを記憶装置に記憶させる。
更に、クライアント装置20のコンテンツ再生部23は、記憶装置に記憶されているデータに基づいてコンテンツを再生する(出力装置を介して出力する)。また、コンテンツ再生部23は、ユーザからの指示に応じてコンテンツを再生する速度である再生速度を変更する機能を含む。
即ち、クライアント装置20は、サーバ装置10により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生する(即ち、ストリーミング再生を行う)ように構成されている。
また、クライアント装置20の受信速度取得部24は、コンテンツ受信部21によって、単位時間あたりに受信されるコンテンツデータのサイズ(データ量又はデータサイズ)である受信速度を取得する。
本例では、受信速度取得部24は、所定の計測時間内に受信されたコンテンツデータのデータサイズを当該計測時間により除した値である瞬時受信速度を取得し、複数の異なる時点にて取得された瞬時受信速度を平均した値を受信速度として取得する。なお、受信速度取得部24は、ある時点にて取得された瞬時受信速度を受信速度として取得するように構成されていてもよい。また、受信速度取得部24は、複数の異なる時点にて取得された瞬時受信速度と、フィルタ(例えば、カルマンフィルタ等)と、に基づいて受信速度を取得するように構成されていてもよい。
更に、受信速度取得部24は、取得した受信速度を受信側情報の一部としてサーバ装置10へ送信する。
また、クライアント装置20の残余再生時間取得部25は、記憶装置に記憶されているデータのうちの未だ再生していない部分(未再生データ)に基づいてコンテンツ再生部23によりコンテンツを再生可能な時間である残余再生時間を取得する。
本例では、残余再生時間取得部25は、当該未再生データのサイズを当該未再生データのビットレートにより除した値を残余再生時間として取得する。例えば、未再生データのサイズが1[MB](以下、物理量の単位を[]により囲んで表記する)であり、且つ、その未再生データのビットレートが1[Mbps]である場合には、残余再生時間は8[秒]となる。また、未再生データのサイズが1[MB]であり、且つ、その未再生データのビットレートが2[Mbps]である場合には、残余再生時間は4[秒]となる。
なお、残余再生時間取得部25は、当該未再生データが互いに異なるビットレートを有する複数の部分から構成されている場合、各部分のサイズをその部分のビットレートにより除した値の和を残余再生時間として取得する。例えば、1[Mbps]のビットレートを有し且つサイズが1[MB]であるデータと、2[Mbps]のビットレートを有し且つサイズが1[MB]であるデータと、からなるコンテンツデータが、未再生データである場合、残余再生時間取得部25は、8[秒]+4[秒]=12[秒]を残余再生時間として取得する。
更に、残余再生時間取得部25は、取得した残余再生時間を受信側情報の一部としてサーバ装置10へ送信する。
加えて、クライアント装置20の再生速度取得部26は、コンテンツ再生部23によってコンテンツが再生されている速度である再生速度を取得する。更に、再生速度取得部26は、取得した再生速度を等速再生に対応する再生速度にて除した値である再生速度倍率を受信側情報の一部としてサーバ装置10へ送信する。
ここで、再生速度倍率は、コンテンツが等速再生されている場合、1となり、等速再生の2倍の再生速度(2倍速)にてコンテンツが再生されている場合、2となり、等速再生の半分の再生速度にてコンテンツが再生(スロー再生)されている場合、0.5となる。
一方、サーバ装置10の補正量低減範囲決定部13は、クライアント装置20から受信側情報を受信する。受信側情報は、上述したように、受信速度と、残余再生時間と、再生速度倍率と、を含む情報である。
補正量低減範囲決定部13は、受信した受信側情報と、予め設定された残余再生時間の目標値と、に基づいて補正量低減範囲の上限値及び下限値を決定する。なお、式の導出、及び、各変数が有する意味については、後述する。
具体的には、補正量低減範囲決定部13は、下記式(1)に基づいて、残余再生時間差e[秒]を算出する。
=T−T …(1)
ここで、Tは、予め設定された残余再生時間の目標値であり、Tは、受信された受信側情報に含まれる残余再生時間(即ち、クライアント装置20により取得された現時点の残余再生時間)である。
次いで、補正量低減範囲決定部13は、上記算出された残余再生時間差eと、下記式(2)〜式(5)と、に基づいて、残余再生時間の時間変化率(時間微分値)Δxmax,Δxminを算出する。
Δxmax=e/τmin,+ (e≧0のとき) …(2)
Δxmax=e/τmax,− (e<0のとき) …(3)
Δxmin=e/τmax,+ (e≧0のとき) …(4)
Δxmin=e/τmin,− (e<0のとき) …(5)
ここで、τmin,+は、第1の不足時時定数(第1の不足時遅延時間)であり、τmax,+は、第2の不足時時定数(第2の不足時遅延時間)であり、τmin,−は、第1の余剰時時定数(第1の余剰時遅延時間)であり、τmax,−は、第2の余剰時時定数(第2の余剰時遅延時間)である。第1の不足時時定数τmin,+、第2の不足時時定数τmax,+、第1の余剰時時定数τmin,−及び第2の余剰時時定数τmax,−は、サーバ装置10の記憶装置に予め記憶されている。
図3に示したように、第2の不足時時定数τmax,+は、第1の不足時時定数τmin,+よりも長い。また、第1の余剰時時定数τmin,−は、第1の不足時時定数τmin,+よりも長い。更に、第2の余剰時時定数τmax,−は、第1の余剰時時定数τmin,−よりも長く、且つ、第2の不足時時定数τmax,+よりも長い。
そして、補正量低減範囲決定部13は、上記算出された時間変化率Δxmax,Δxminと、下記式(6)及び式(7)と、に基づいて、メディア流速xmax,xminを算出する。ここで、メディア流速xmax,xminは、後述するように、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいてコンテンツを再生可能な時間を表す。
max=p+Δxmax …(6)
min=p+Δxmin …(7)
ここで、pは、受信された受信側情報に含まれる再生速度倍率(即ち、クライアント装置20により取得された現時点の再生速度に応じた再生速度倍率)である。
次いで、補正量低減範囲決定部13は、上記算出されたメディア流速xmax,xminと、下記式(8)及び式(9)と、に基づいて、補正量低減範囲の上限値bmax及び補正量低減範囲の下限値bminを算出する。
max=v/xmin …(8)
min=v/xmax …(9)
ここで、vは、受信された受信側情報に含まれる受信速度(即ち、クライアント装置20により取得された現時点の受信速度)である。
このように、補正量低減範囲決定部13は、再生速度取得部26により取得された再生速度(に応じた再生速度倍率)と、受信速度取得部24により取得された受信速度と、残余再生時間取得部25により取得された残余再生時間と、目標値と、に基づいて補正量低減範囲を決定する。これによれば、適切に補正量低減範囲を設定することができる。
また、補正量低減範囲決定部13は、第1の遅延時間(第1の不足時時定数τmin,+又は第1の余剰時時定数τmin,−)後に残余再生時間Tを目標値Tに一致させる第1のビットレートと、第1の遅延時間よりも長い第2の遅延時間(第2の不足時時定数τmax,+又は第2の余剰時時定数τmax,−)後に残余再生時間Tを目標値Tに一致させる第2のビットレートと、を算出する。更に、補正量低減範囲決定部13は、算出した第1のビットレート及び第2のビットレートのうちの大きい方を補正量低減範囲の上限値bmaxとして決定し、且つ、第1のビットレート及び第2のビットレートのうちの小さい方を補正量低減範囲の下限値bminとして決定する。
ところで、上記式(1)〜式(9)から、残余再生時間差eが0に近づくにつれて、上限値bmaxと下限値bminとの差が0に近づくことがわかる。即ち、補正量低減範囲決定部13は、取得された残余再生時間Tが目標値Tに近くなるほど、補正量低減範囲を狭くするように構成されている、と言うことができる。
これによれば、残余再生時間Tを目標値Tにより確実に収束させることができる。
次に、上記式(1)〜式(9)の導出、及び、各変数が有する意味について説明する。
以下、サーバ装置10からクライアント装置20へ送信されるデータの流れが連続体であることを仮定する。
また、ある時刻t[秒]においてクライアント装置20が単位時間あたりに受信するコンテンツデータのサイズである受信速度をv(t)[bps]とする。更に、時刻tにて、クライアント装置20が受信しているコンテンツデータのビットレートをb(t)[bps]とおく。
このとき、下記式(10)により算出されるρ(t)[秒/bit]をメディア密度と呼ぶ。
ρ=1/b …(10)
メディア密度ρは、時刻tにてクライアント装置20が受信しているコンテンツデータのうちの単位サイズのデータに基づいてコンテンツを再生可能な時間を表す。例えば、クライアント装置20が時刻tにてビットレートが1[Mbps]のコンテンツデータを受信しているとき、ρ=1×10−6[秒/bit]である。従って、この場合、クライアント装置20は、1[bit]のコンテンツデータに基づいて1×10−6[秒]のコンテンツを再生可能である。
式(10)から明らかなように、ビットレートが高い(コンテンツが映像である場合、高画質)コンテンツデータはメディア密度が小さく、一方、ビットレートが低い(コンテンツが映像である場合、低画質)コンテンツデータはメディア密度が高い。
ところで、極めて短い時間Δtの間にクライアント装置20が受信したコンテンツデータに基づいてコンテンツを再生可能な時間ΔT[秒]は、下記式(11)に基づいて算出される。
ΔT=ρvΔt …(11)
ここで、式(11)においてΔt→0とする(Δtを0に近づけた極限をとる)ことによって、下記式(12)に示したように、時刻tにて単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいてコンテンツを再生可能な時間dT/dt[無次元]が算出される。
dT/dt=ρv …(12)
上記式(12)の左辺dT/dtをxとおき、このxをメディア流速と呼ぶ。
次に、このメディア流速の意味について説明する。
メディア流速は、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいてコンテンツを再生可能な時間を表す無次元量である。
メディア流速が再生速度倍率pと等しい場合、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいて、クライアント装置20が再生速度倍率pに応じた再生速度にてコンテンツを再生可能な時間は、その単位時間と等しくなる。従って、残余再生時間は変化しない。
また、メディア流速が再生速度倍率pよりも大きい場合、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいて、クライアント装置20が再生速度倍率pに応じた再生速度にてコンテンツを再生可能な時間は、その単位時間よりも長くなる。従って、残余再生時間は増加する。
一方、メディア流速が再生速度倍率pよりも小さい場合、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいて、クライアント装置20が再生速度倍率pに応じた再生速度にてコンテンツを再生可能な時間は、その単位時間よりも短くなる。従って、残余再生時間は減少する。
このように、メディア流速は、残余再生時間を支配する物理量であることがわかる。
以下、メディア流速と残余再生時間との関係について説明する。
前述したとおり、メディア流速は、単位時間あたりにクライアント装置20が受信するコンテンツデータに基づいてコンテンツを再生可能な時間を表している。従って、下記式(13)に示したように、残余再生時間Tの時間微分値dT/dtは、メディア流速xから再生速度倍率pを減じた値と等しくなる。
dT/dt=x−p …(13)
次に、図4を参照しながら、ある時刻tにて残余再生時間がT[秒]であった場合、遅延時間τ[秒]後に残余再生時間Tを目標値T[秒]に一致させるメディア流速xを求めることを考える。
残余再生時間Tが線形的に増加又は減少して遅延時間τ後に目標値Tに一致するためには、Tは下記式(14)を満足する変化率にて増加又は減少する必要がある。なお、目標値Tから残余再生時間Tを減じた値T−Tを残余再生時間差eとしている。なお、T−Tをeと置くことは、上記式(1)に対応している。
dT/dt=(T−T)/τ=e/τ …(14)
上記式(13)の右辺と、上記式(14)の右辺と、が等しいことから、ある時刻tにて残余再生時間がT[秒]であった場合、遅延時間τ[秒]後に残余再生時間Tを目標値T[秒]に一致させるためのメディア流速xは、下記式(15)によって算出される。
x=p+e/τ …(15)
ここで、上記式(15)の右辺e/τを残余再生時間の時間変化率Δxと置くことにより、上記式(15)は、上記式(6)及び式(7)に対応している。また、e/τをΔxと置くことは、上記式(2)〜式(5)に対応している。
次に、上記式(14)における遅延時間τ[秒]が、残余再生時間Tの目標値Tへの追従速度を示す時定数であることを説明する。式(14)を変形し、下記式(16)のように書くと、式(16)がTについての1階常微分方程式になっていることがわかる。
dT/dt=−(T−T)/τ …(16)
上記式(16)を解くと、下記式(17)のようになる。ただし、式(17)におけるCは任意定数である。下記式(17)からτが時定数であることは明らかである。
=T+C・exp(−t/τ) …(17)
従って、上記式(15)を用いることにより、ある時刻における残余再生時間T[秒]と、残余再生時間の目標値T[秒]と、が与えられたとき、時定数τ[秒]の追従速度にて(即ち、時定数τ[秒]後に)残余再生時間Tを目標値Tに一致させるためのメディア流速x[無次元]を算出することができる。
更に、そのメディア流速xを満足する(実現する)ビットレートb[bps]は、下記式(18)に基づいて算出される。ここで、v[bps]は、クライアント装置20が単位時間あたりに受信するコンテンツデータのサイズ(受信速度)である。なお、下記式(18)は、上記式(10)及び式(12)より導出される。また、下記式(18)は、上記式(8)及び式(9)に対応している。
b=v/x …(18)
仮に、サーバ装置10が送信しているコンテンツデータのビットレートを、上記式(15)及び式(18)によって算出されたビットレートに変更するように配信システムが構成されている場合、残余再生時間を目標値に近づけることができる。
しかしながら、この場合において、特に、通信可用帯域が変動する通信回線を介してコンテンツデータを配信する(サーバ装置10からクライアント装置20へ送信する)場合、クライアント装置20が再生するコンテンツのビットレートが頻繁に変動してしまう。このため、コンテンツの視聴者が感じるサービス品質であるユーザ体感品質(QoE;Quality of Experience)が過度に低下してしまう虞がある。
そこで、上記配信システム1は、式(15)及び式(18)に基づく上記式(2)〜式(9)に基づいて補正量低減範囲を決定する。更に、配信システム1は、現時点にてサーバ装置10が送信しているコンテンツデータのビットレートがその補正量低減範囲外にあるときにのみ、以降において送信するコンテンツデータのビットレートを変更する。このように、配信システム1は、現時点のビットレートが補正量低減範囲内にある場合には、ビットレートを変更しないことにより、ビットレートの過度な変動を抑制することができる。
次に、補正量低減範囲の上限値bmax及び下限値bminと、4つの時定数(第1の不足時時定数τmin,+、第2の不足時時定数τmax,+、第1の余剰時時定数τmin,−及び第2の余剰時時定数τmax,−)と、の関係について図3を参照しながら説明する。
先ず、時定数τとビットレートbとの関係について説明する。
上記式(15)及び式(18)から、残余再生時間差eが正である(即ち、残余再生時間Tが目標値Tよりも小さい)場合、時定数τが大きくなるほど、ビットレートbは大きくなる。一方、残余再生時間差eが負である(即ち、残余再生時間Tが目標値Tよりも大きい)場合、時定数τが大きくなるほど、ビットレートbは小さくなる。
従って、上述したように、残余再生時間差eが正である場合、第1の不足時時定数τmin,+に基づいて補正量低減範囲の下限値bminが算出され(式(2)、式(6)及び式(9))、第1の不足時時定数τmin,+よりも大きい第2の不足時時定数τmax,+に基づいて補正量低減範囲の上限値bmaxが算出される(式(4)、式(7)及び式(8))。
一方、残余再生時間差eが負である場合、第1の余剰時時定数τmin,−に基づいて補正量低減範囲の上限値bmaxが算出され(式(5)、式(7)及び式(8))、第1の余剰時時定数τmin,−よりも大きい第2の余剰時時定数τmax,−に基づいて補正量低減範囲の下限値bminが算出される(式(3)、式(6)及び式(9))。
ところで、残余再生時間差eが正である場合、残余再生時間が不足することによりコンテンツの再生が途切れる可能性は、残余再生時間差eが負である場合よりも高い。そこで、上記配信システム1は、残余再生時間が目標値よりも小さい場合において、残余再生時間が目標値よりも大きい場合よりも早期に残余再生時間を目標値に一致させるように、時定数を設定している。具体的には、配信システム1は、上述したように、第2の不足時時定数τmax,+を、第2の余剰時時定数τmax,−よりも大きな(第2の不足時遅延時間τmax,+を、第2の余剰時遅延時間τmax,−よりも長い)値に設定している。
ところで、後述するように、サーバ装置10は、第1の不足時時定数τmin,+から第2の不足時時定数τmax,+の範囲、又は、第1の余剰時時定数τmin,−から第2の余剰時時定数τmax,−の範囲内の時間後に、残余再生時間Tを目標値Tに一致させるように、サーバ装置10が送信しているコンテンツデータのビットレートを補正するための補正量を算出する。
即ち、サーバ装置10は、残余再生時間Tが目標値Tよりも小さい場合において、残余再生時間Tが目標値Tよりも大きい場合よりも早期に残余再生時間Tを目標値Tに一致させるように、補正量を算出する。
従って、配信システム1によれば、残余再生時間差eが正である場合、残余再生時間差eが負である場合よりも早期に残余再生時間Tを目標値Tに一致させることができる。
これにより、残余再生時間差eが正である場合において、コンテンツの再生が途切れる可能性を小さくすることができる。一方、残余再生時間差eが負である場合において、補正量低減範囲を広げることができるので、ビットレートの変動をより一層低減することができる。
このように、補正量低減範囲決定部13は、残余再生時間Tが目標値Tよりも小さい場合、第1の不足時遅延時間τmin,+後に残余再生時間Tを目標値Tに一致させるビットレートを第1のビットレートとして算出する。更に、この場合、補正量低減範囲決定部13は、当該第1の不足時遅延時間τmin,+よりも長い第2の不足時遅延時間τmax,+後に残余再生時間Tを目標値Tに一致させるビットレートを第2のビットレートとして算出する。
そして、補正量低減範囲決定部13は、算出した第1のビットレート及び第2のビットレートのうちの大きい方(ここでは、第1のビットレート)を補正量低減範囲の上限値bmaxとして決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方(ここでは、第2のビットレート)を補正量低減範囲の下限値bminとして決定する。
一方、補正量低減範囲決定部13は、残余再生時間Tが目標値Tよりも大きい場合、第1の余剰時遅延時間τmin,−後に残余再生時間Tを目標値Tに一致させるビットレートを第1のビットレートとして算出する。更に、この場合、補正量低減範囲決定部13は、当該第1の余剰時遅延時間τmin,−よりも長く且つ当該第2の不足時遅延時間τmax,+よりも長い第2の余剰時遅延時間τmax,−後に残余再生時間Tを目標値Tに一致させるビットレートを第2のビットレートとして算出する。
そして、補正量低減範囲決定部13は、算出した第1のビットレート及び第2のビットレートのうちの大きい方(ここでは、第2のビットレート)を補正量低減範囲の上限値bmaxとして決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方(ここでは、第1のビットレート)を補正量低減範囲の下限値bminとして決定する。
次に、配信システム1の他の機能について説明を続ける。
ビットレート補正部14は、補正量低減範囲決定部13により決定された補正量低減範囲の上限値bmaxと、当該補正量低減範囲の下限値bminと、に基づいて、コンテンツ送信部12により送信されるコンテンツデータのビットレートを補正するための補正量を算出する。
具体的には、ビットレート補正部14は、下記式(19)〜式(21)に基づいてビットレート差eを算出する。
=bmax−b (b>bmaxのとき) …(19)
=0 (bmin≦b≦bmaxのとき) …(20)
=bmin−b (b<bminのとき) …(21)
即ち、ビットレート補正部14は、現時点にてコンテンツ送信部12により送信しているコンテンツデータのビットレートbが上記下限値bminよりも小さい場合、当該下限値bminから当該ビットレートbを減じた値bmin−bをビットレート差e(=bmin−b)として算出する。
また、ビットレート補正部14は、上記ビットレートbが上記上限値bmaxよりも大きい場合、当該上限値bmaxから当該ビットレートbを減じた値bmax−bをビットレート差e(=bmax−b)として算出する。
また、ビットレート補正部14は、上記ビットレートbが上記下限値bmin以上であり且つ上記上限値bmax以下である場合、ビットレート差eを「0」に設定する(即ち、ビットレート差eとして「0」を算出する)。なお、後述するように、ビットレート差eが「0」に設定されることは、ビットレートの補正量が「0」に設定されることに対応している。即ち、ビットレート補正部14は、ビットレートが補正量低減範囲内にある場合、補正量を0に設定する、と言うことができる。
次いで、ビットレート補正部14は、上記算出したビットレート差eと、下記式(22)と、に基づいて補正量算出基礎値Δbを算出する。
Δb=K・e …(22)
ここで、Kは、比例ゲイン(比例係数)である。なお、本例では、ビットレート補正部14は、補正量算出基礎値Δbを、ビットレート差eに比例した比例項K・eのみからなる値として算出していたが、比例項と、ビットレート差eの時間積分値に比例した積分項、及び/又は、ビットレート差eの時間微分値に比例した微分項と、の和として算出するように構成されていてもよい。この場合、例えば、ビットレート補正部14は、下記式(23)に基づいて補正量算出基礎値Δbを算出する。ここで、Kは、積分ゲインであり、Kは、微分ゲインである。
Δb=K・e+K∫edt+K(de/dt) …(23)
そして、ビットレート補正部14は、上記算出した補正量算出基礎値Δbと、下記式(24)と、に基づいて、以降においてサーバ装置10が送信するコンテンツデータのビットレートb’を算出する。
b’=b+w・Δb …(24)
ここで、wは、下記式(25)に示したように、補正量算出基礎値Δbに応じて変化する関数である。
w=w(Δb) …(25)
関数wは、補正量算出基礎値Δbが負の値である(即ち、以降においてサーバ装置10が送信するコンテンツデータのビットレートを減少させる)場合、補正量算出基礎値Δbが正の値である(即ち、以降においてサーバ装置10が送信するコンテンツデータのビットレートを増加させる)場合よりも大きい正の値を有する関数である。
本例では、関数wは、下記式(26)及び式(27)に従った関数である。
w=wup (Δb≧0のとき) …(26)
w=wdown (Δb<0のとき) …(27)
ここで、wup=0.5であり、wdown=1である。即ち、ビットレート補正部14は、以降においてサーバ装置10が送信するコンテンツデータのビットレートを増加させる場合、算出された補正量算出基礎値Δbを半減させた値を補正量として用い、一方、以降においてサーバ装置10が送信するコンテンツデータのビットレートを減少させる場合、算出された補正量算出基礎値Δbをそのまま補正量として用いる。このような関数wを採用する理由について説明する。
以降においてサーバ装置10が送信するコンテンツデータのビットレートを増加させることにより、残余再生時間の時間変化量は減少する。従って、以降においてサーバ装置10が送信するコンテンツデータのビットレートを増加させた場合、コンテンツの再生が途切れてしまう可能性が高くなる。そこで、この場合、比較的緩慢にビットレートを増加させることが好適であると考えられる。従って、本例では、補正量算出基礎値Δbが正の値である場合、関数wの値はwup(=0.5)に設定されている。
一方、以降においてサーバ装置10が送信するコンテンツデータのビットレートを減少させる場合、既に、残余再生時間が目標値よりも小さいためにコンテンツの再生が途切れてしまう可能性が高い状態にある。従って、この場合、比較的迅速にビットレートを減少させることが好適であると考えられる。従って、本例では、補正量算出基礎値Δbが負の値である場合、関数wの値はwup(=0.5)よりも大きいwdown(=1)に設定されている。
なお、本例では、関数wが1以下の値を有するように設定されているので、フィードバック制御の安定性が低下することを回避することができる。また、本例では、関数wは、補正量算出基礎値Δbが正の場合と負の場合とで、異なる2つの値を有する関数であったが、任意の関数であってもよい。
このように、ビットレート補正部14は、サーバ装置10が送信しているコンテンツデータのビットレートbが上限値bmaxよりも大きい場合、上限値bmaxからビットレートbを減じた値eに予め設定された比例係数K・wを乗じた値K・w・e(=w・Δb)を補正量として算出している。
また、ビットレート補正部14は、サーバ装置10が送信しているコンテンツデータのビットレートbが下限値bminよりも小さい場合、下限値bminからビットレートbを減じた値eに予め設定された比例係数K・wを乗じた値K・w・e(=w・Δb)を補正量として算出している。
なお、本例では、上記式(1)〜式(9)、式(19)、式(21)、式(22)及び式(24)〜式(27)に基づいて、ビットレートの補正量を算出する方式は、補正量算出方式とも呼ばれる。
このように、補正量低減範囲決定部13及びビットレート補正部14は、取得された残余再生時間Tと予め設定された目標値Tとに基づいて、残余再生時間Tを目標値Tに近づけるようにサーバ装置10が送信するコンテンツデータのビットレートを補正するための補正量を式(19)及び式(21)に基づいた補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更している。
更に、補正量低減範囲決定部13及びビットレート補正部14は、ビットレートが補正量低減範囲内にある場合、式(20)に従ってビットレート差eを「0」に設定することにより、補正量として「0」を算出する。即ち、補正量低減範囲決定部13及びビットレート補正部14は、ビットレートが補正量低減範囲内にある場合、上記式(19)又は式(21)に従ってビットレート差eを算出した場合に(即ち、上記補正量算出方式に従って)算出される補正量の大きさよりも小さい大きさの補正量を算出する。
次に、上述した配信システム1の作動について具体的に述べる。
先ず、クライアント装置20は、ユーザからの指示に応じて、コンテンツデータを特定するための情報を含むコンテンツ送信要求をサーバ装置10へ送信する。
一方、サーバ装置10は、クライアント装置20からコンテンツ送信要求を受信すると、そのコンテンツ送信要求により特定されるコンテンツデータをクライアント装置20へ送信する(コンテンツデータ送信工程)。
そして、クライアント装置20は、サーバ装置10により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生する(コンテンツ再生工程)。
また、クライアント装置20のCPUは、図5にフローチャートにより示した受信側情報送信プログラムを、クライアント装置20の起動時に実行するようになっている。
具体的に述べると、CPUは、受信側情報送信プログラムの処理を開始すると、ステップ505にて、所定の補正周期が経過するまで待機する。そして、CPUは、補正周期が経過すると、「Yes」と判定してステップ510へ進み、残余再生時間を取得する(残余再生時間取得工程)。
次いで、CPUは、受信速度を取得し(ステップ515、受信速度取得工程)、続いて、再生速度を取得する(ステップ520、再生速度取得工程)。そして、CPUは、取得した残余再生時間T、取得した受信速度v、及び、取得した再生速度に応じた再生速度倍率pからなる受信側情報をサーバ装置10へ送信する(ステップ525)。その後、CPUは、ステップ505へ戻り、ステップ505〜ステップ525の処理を繰り返し実行する。
一方、サーバ装置10のCPUは、図6にフローチャートにより示したビットレート補正プログラムを、サーバ装置10の起動時に実行するようになっている。なお、このビットレート補正プログラムの処理は、ビットレート変更工程に対応している。
具体的に述べると、CPUは、ビットレート補正プログラムの処理を開始すると、ステップ605にて、クライアント装置20から受信側情報を受信するまで待機する。そして、サーバ装置10が受信側情報を受信すると、CPUは、「Yes」と判定してステップ610へ進む。
そして、CPUは、補正量低減範囲を決定するため、図7のフローチャートに示した補正量低減範囲決定プログラムを実行する。
先ず、CPUは、ステップ705にて、受信した残余再生時間Tと、予め設定された目標値Tと、に基づいて、残余再生時間差eを算出する。
次いで、CPUは、上記算出された残余再生時間差eと、予め設定された、第1の不足時時定数τmin,+、第2の不足時時定数τmax,+、第1の余剰時時定数τmin,−及び第2の余剰時時定数τmax,−と、に基づいて、残余再生時間の時間変化率Δxmax,Δxminを算出する(ステップ710)。
そして、CPUは、上記算出された残余再生時間の時間変化率Δxmax,Δxmin
と、上記受信した受信側情報に含まれる再生速度倍率pと、に基づいて、メディア流速xmax,xminを算出する(ステップ715)。
次いで、CPUは、上記算出されたメディア流速xmax,xminと、上記受信した受信側情報に含まれる受信速度vと、に基づいて、補正量低減範囲の上限値bmax及び補正量低減範囲の下限値bminを算出する(ステップ720)。
そして、CPUは、この補正量低減範囲決定プログラムの実行を終了して図6のステップ615へ進む。
次いで、CPUは、補正量を算出するため、図8のフローチャートに示した補正量算出プログラムを実行する。
先ず、CPUは、ステップ805にて、現時点にて送信しているコンテンツデータのビットレートbと、上記算出された上限値bmax及び下限値bminと、に基づいて、ビットレート差eを算出する(ステップ805)。
次いで、CPUは、上記算出されたビットレート差eに基づいて補正量算出基礎値Δbを算出する(ステップ810)。
そして、CPUは、現時点にて送信しているコンテンツデータのビットレートbと、上記算出された補正量算出基礎値Δbと、に基づいて、以降においてサーバ装置10が送信するコンテンツデータのビットレートb’を算出する(ステップ815)。
次いで、CPUは、この補正量算出プログラムの実行を終了して図6のステップ620へ進む。そして、CPUは、コンテンツデータ蓄積部11に記憶されているコンテンツデータが有するビットレートの中から、上記ステップ815にて算出されたビットレートb’よりも小さいビットレートのうちの最大のビットレートを選択する。そして、CPUは、クライアント装置20へ送信しているコンテンツデータのビットレートを、選択したビットレートに変更する。
その後、CPUは、ステップ605へ戻り、ステップ605〜ステップ620の処理を繰り返し実行する。
次に、上述したように配信システム1が作動することによって生じる効果について図9及び図10を参照しながら説明する。
図9は、配信システム1を用いて映像を表す映像データ(コンテンツデータ)をTCP(Transmission Control Protocol)に従って配信した場合における、映像データのビットレート(映像ビットレート)[kbps](左軸)の時間変化(点線C1)、及び、残余再生時間[秒](右軸)の時間変化(一点鎖線C2)を示したグラフである。このグラフは、図9に示した通信速度(TCP可用帯域)[kbps](左軸)の時間変化(実線C3)を仮定した場合のシミュレーション結果である。
同様に、図10は、上記特許文献1に記載の配信システムを用いてコンテンツデータをTCPに従って配信した場合における、コンテンツデータのビットレート[kbps](左軸)の時間変化(点線C4)、及び、残余再生時間[秒](右軸)の時間変化(一点鎖線C5)を示したグラフである。このグラフも、図10に示した通信速度[kbps](左軸)の時間変化(実線C3)を仮定した場合のシミュレーション結果である。
ここで、特許文献1に記載の配信システムは、残余再生時間と、目標値と、の差に比例した量をビットレートを補正するための補正量として算出するシステムである。
また、上記シミュレーションにおいては、配信システム1及び特許文献1に記載の配信システムが、複数の異なるビットレートとしての、128[kbps]、256[kbps]、384[kbps]、768[kbps]、1024[kbps]、1536[kbps]、及び、2048[kbps]のそれぞれにて符号化したコンテンツデータを予め記憶し且つ送信可能に構成されている場合を想定している。
なお、図10に示した通信速度の時間変化(実線C3)と、図9に示した通信速度の時間変化(実線C3)と、は同一である。この通信速度の時間変化は、ある広域無線網にて実測された600秒間(=10分間)のデータである。この通信速度は、数100[kbps]〜2[Mbps]の範囲内で比較的激しく変動している。
また、上記シミュレーションにおいては、配信システム1及び特許文献1に記載の配信システムが、配信するコンテンツデータのビットレートを1[秒]毎に補正するように構成されている場合を想定している。更に、上記シミュレーションにおいては、配信システム1及び特許文献1に記載の配信システムが、配信するコンテンツデータのビットレートを、上記送信可能な7つのビットレートのうちの、算出された補正後のビットレートよりも小さく且つ最大のビットレートに変更するように構成されている場合を想定している。
更に、上記シミュレーションにおいては、配信システム1及び特許文献1に記載の配信システムが、残余再生時間の目標値を30[秒]に設定している場合を想定している。
次に、配信システム1を用いた場合のシミュレーション結果と、特許文献1に記載の配信システムを用いた場合のシミュレーション結果と、を対比して説明する。
先ず、ビットレートが変更された回数(ビットレート切り替え回数)に着目すると、配信システム1を用いた場合のビットレート切り替え回数は12[回]であり、特許文献1に記載の配信システムを用いた場合のビットレート切り替え回数は311[回]である。即ち、配信システム1を用いた場合のビットレート切り替え回数は、特許文献1に記載の配信システムを用いた場合よりも極めて少ない。
このように、配信システム1を用いることにより、特許文献1に記載の配信システムを用いる場合よりも、ビットレートが変更される回数を低減することができる。この結果、配信システム1を用いることにより、特許文献1に記載の配信システムを用いる場合よりも、ユーザ体感品質を高くすることができる。
次に、配信されるコンテンツデータのビットレートの平均値である平均ビットレートに着目すると、配信システム1を用いた場合の平均ビットレートは838.1[kbps]であり、特許文献1に記載の配信システムを用いた場合の平均ビットレートは836.3[kbps]である。即ち、配信システム1を用いた場合の平均ビットレートと、特許文献1に記載の配信システムを用いた場合の平均ビットレートと、は略等しい。
このように、配信システム1を用いた場合、ビットレート切り替え回数が少ないにも関わらず、特許文献1に記載の配信システムを用いる場合と同様に比較的高いビットレートを有するコンテンツデータを配信することができる。
次に、残余再生時間に着目する。配信システム1を用いた場合の残余再生時間は、比較的大きく変動している。しかしながら、残余再生時間が過度に少なくなることはない。従って、コンテンツの再生が途切れることが回避されている。
更に、残余再生時間の目標値である30[秒]を下回った状態において、比較的大きく変動することはない。これは、配信システム1が、残余再生時間が目標値である30[秒]を下回った場合には迅速に残余再生時間を目標値に一致させるようにビットレートを補正し、一方、残余再生時間が目標値である30[秒]を上回った場合にはビットレートの変動をより一層抑制するように補正量を算出しているためである。
一方、特許文献1に記載の配信システムを用いた場合の残余再生時間は、常に目標値である30[秒]付近にある。しかしながら、残余再生時間が目標値に近いことは、ユーザ体感品質に影響を及ぼさない。従って、本発明のように、コンテンツの再生を途切れさせない範囲において、ビットレートの切り替え回数を減少させることにより、ユーザ体感品質を向上させることが好適である。
以上、説明したように、本発明による配信システムの第1実施形態によれば、ビットレートの変動量を低減することができる。より具体的に述べると、上記第1実施形態においては、ビットレートが補正量低減範囲内にある場合に、補正量として「0」を算出することにより、ビットレートの変動を回避することができる。この結果、ユーザ体感品質が過度に低下することを防止することができる。
一方、上記配信システム1は、ビットレートが補正量低減範囲外にある場合、十分に大きな補正量に基づいてビットレートを変更するので、残余再生時間が過少又は過大となることを防止することができる。即ち、残余再生時間を適切に維持することができる。この結果、コンテンツの再生が途切れることを防止できるとともに、クライアント装置20の記憶装置に記憶されるデータ量が過大となることを防止することができる。
このように、上記構成によれば、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
また、上記第1実施形態は、取得された受信速度に基づいて補正量低減範囲を決定するように構成されている。
これによれば、受信速度が変動する場合であっても、適切に補正量低減範囲を設定することができる。
また、上記第1実施形態は、取得された再生速度に基づいて補正量低減範囲を決定するように構成されている。
これによれば、複数の再生速度(例えば、スロー再生用の再生速度、等速再生用の再生速度、及び、倍速再生用の再生速度等)のいずれか1つにてコンテンツを再生可能なクライアント装置20を含む配信システム1においても、適切に補正量低減範囲を設定することができる。
なお、上記第1実施形態に係る配信システム1は、4つの時定数に基づいて補正量低減範囲を決定するように構成されていた。ところで、上記第1実施形態の第1変形例に係る配信システム1は、2つの時定数に基づいて補正量低減範囲を決定するように構成されている。
この配信システム1に係る補正量低減範囲決定部13は、下記式(28)〜式(31)に基づいて、残余再生時間の時間変化率(時間微分値)Δxmax,Δxminを算出する。
Δxmax=e/τmin (e≧0のとき) …(28)
Δxmax=e/τmax (e<0のとき) …(29)
Δxmin=e/τmax (e≧0のとき) …(30)
Δxmin=e/τmin (e<0のとき) …(31)
ここで、τminは、第1の時定数(第1の遅延時間)であり、τmaxは、第2の時定数(第2の遅延時間)である。第1の時定数τmin及び第2の時定数τmaxは、サーバ装置10の記憶装置に予め記憶されている。第2の時定数τmaxは、第1の時定数τminよりも長い。
この第1変形例によっても、上記第1実施形態と同様に、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
また、上記第1実施形態に係る配信システム1は、4つの時定数に基づいて補正量低減範囲を決定するように構成されていた。ところで、上記第1実施形態の第2変形例に係る配信システム1は、1つの時定数に基づいて補正量低減範囲を決定するように構成されている。
この配信システム1に係る補正量低減範囲決定部13は、下記式(32)〜式(34)に基づいて、補正量低減範囲の基準値bを算出する。
Δx=e/τ …(32)
=p+Δx …(33)
=v/x …(34)
ここで、τは、時定数(遅延時間)であり、サーバ装置10の記憶装置に予め記憶されている。
そして、補正量低減範囲決定部13は、上記算出された補正量低減範囲の基準値bと、予め設定された値bth[bps]と、下記式(35)及び式(36)と、に基づいて、補正量低減範囲の上限値bmax及び下限値bminを算出する。ここで、値bthは、サーバ装置10の記憶装置に予め記憶された正の値である。
max=b+bth …(35)
min=b−bth …(36)
この第2変形例によっても、上記第1実施形態と同様に、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
また、上記第1実施形態の他の変形例に係る配信システム1は、任意の数の時定数(ここでは、m個)に基づいて、任意の数(ここでは、n個)の、補正量低減範囲の基準値を算出し、算出した基準値に基づいて補正量低減範囲を決定するように構成されていてもよい。
m=nの場合、配信システム1は、m個の時定数のそれぞれに対して、式(15)及び式(18)を用いることにより、m個の基準値を算出する。
一方、m>nの場合、配信システム1は、複数の時定数から1つの基準値を算出する。即ち、この場合、配信システム1は、1つの基準値を算出するために用いる時定数を残余再生時間差e(=T−T)の値に応じて変更することにより、複数の時定数と、式(15)及び式(18)と、に基づいて1つの基準値を算出する。
そして、配信システム1は、算出されたn個の基準値に基づいて、補正量低減範囲を決定する。n=1の場合、上記第2変形例に係る説明の通り、配信システム1は、算出された基準値と所定値bthとに基づいて補正量低減範囲を決定する。
また、n≧2の場合、配信システム1は、算出されたn個の基準値のうちの最大の基準値を、補正量低減範囲の上限値bmaxとして決定するとともに、算出されたn個の基準値のうちの最小の基準値を、補正量低減範囲の下限値bminとして決定する。
更に、この場合、配信システム1は、下記式(37)〜式(39)に基づいてビットレート差eを算出するように構成されていてもよい。
=FSup(b) (b>bmax) …(37)
=F(b) (b∈BLim(k),k=1,2,…,n−2) …(38)
=FInf(b) (b<bmin) …(39)
ここで、BLim(k)は、下記式(40)により定められる範囲である。なお、上記算出されたn個の基準値を小さい方から順に、b(0),b(1),b(2),…,b(n−1)とおく。
Lim(k)={b|b(k)≦b≦b(k+1)}
(k=0,1,…,n−2) …(40)
また、関数FSup,F,FInfは、現時点にてサーバ装置10が送信しているコンテンツデータのビットレートbが、補正量低減範囲から大きく外れるほど、大きさが大きくなる値を有する関数である。
例えば、上記第1変形例に係る配信システム1においては、n=2であり、b(0)=bmin,b(1)=bmaxとなる。また、BLim(0)={b|bmin≦b≦bmax}であり、FSup(b)=bmax−b,F(b)=0,FInf(b)=bmin−bとなる。
即ち、現時点にてサーバ装置10が送信しているコンテンツデータのビットレートbが補正量低減範囲内にある場合、ビットレート差e=0とし、ビットレートbが補正量低減範囲外にある場合、ビットレートbと補正量低減範囲の境界との差をビットレート差eとしている。
なお、ビットレート差eに基づいて、以降において送信するコンテンツデータのビットレートb’を算出する方法については上述したとおりである。
また、上記第1実施形態に係る配信システム1は、残余再生時間差eを時定数τにより除した値を、残余再生時間の時間変化率(時間微分値)Δxとして算出していた。ところで、上記第1実施形態の他の変形例に係る配信システム1は、下記式(41)に基づいて、残余再生時間の時間変化率Δxを算出するように構成されていてもよい。
Δx=G(e) …(41)
ここで、G(e)は残余再生時間差eの関数である。例えば、G(e)は、下記式(42)に示した関数であってもよい。
G(e)=L・e+L・∫edt+L・(de/dt) …(42)
ここで、Lは、比例ゲインであり、Lは、積分ゲインであり、Lは、微分ゲインである。また、∫edtは、積分区間[0,t]におけるeの時間tに関する積分値を表し、de/dtは、時刻tにおけるeの時間tに関する微分値を表す。
<第2実施形態>
次に、本発明の第2実施形態に係る配信システムについて説明する。第2実施形態に係る配信システムは、上記第1実施形態に係る配信システムに対して、クライアント装置がビットレートを補正するための補正量を算出するように構成されている点において相違している。従って、以下、かかる相違点を中心として説明する。
この第2実施形態に係るサーバ装置10の機能は、図11に示したように、コンテンツデータ蓄積部11と、コンテンツ送信部12と、を含む。コンテンツデータ蓄積部11及びコンテンツ送信部12は、上記第1実施形態に係るコンテンツデータ蓄積部11及びコンテンツ送信部12と同様の機能を有する。
また、第2実施形態に係るクライアント装置20の機能は、コンテンツ受信部21と、コンテンツバッファ部22と、コンテンツ再生部23と、受信速度取得部24と、残余再生時間取得部25と、再生速度取得部26と、補正量低減範囲決定部27と、ビットレート補正部28と、ビットレート変更要求送信部29と、を含む。補正量低減範囲決定部27〜ビットレート変更要求送信部29は、ビットレート変更要求送信手段を構成している。
コンテンツ受信部21〜再生速度取得部26は、上記第1実施形態に係るコンテンツ受信部21〜再生速度取得部26と同様の機能を有する。また、補正量低減範囲決定部27は、上記第1実施形態に係る補正量低減範囲決定部13と同様の機能を有する。更に、ビットレート補正部28は、上記第1実施形態に係るビットレート補正部14と同様の機能を有する。
ビットレート変更要求送信部29は、ビットレート補正部28により算出された、以降においてサーバ装置10が送信するコンテンツデータのビットレートb’を含むビットレート変更要求をサーバ装置10へ送信する。即ち、ビットレート変更要求は、算出された補正量に基づいて、サーバ装置10が送信するコンテンツデータのビットレートを変更する旨を要求する情報である、と言うことができる。
本例では、コンテンツ送信部12は、RTP(Real−Time Transport Protocol)に従って、クライアント装置20へコンテンツデータを送信するように構成されている。更に、ビットレート変更要求送信部29は、RTCP(RTP Control Protocol)に従って、ビットレート変更要求をサーバ装置10へ送信するように構成されている。この場合、ビットレート変更要求送信部29は、任意の拡張を実施可能なAPP(Application)パケットを用いることが好適である。
また、コンテンツ送信部12がRTP以外のプロトコルに従ってクライアント装置20へコンテンツデータを送信する場合には、ビットレート変更要求送信部29は、RTCP以外のプロトコルに従って、ビットレート変更要求をサーバ装置10へ送信するように構成されていてもよい。
コンテンツ送信部12は、クライアント装置20からビットレート変更要求を受信すると、コンテンツデータ蓄積部11に記憶されているコンテンツデータが有するビットレートの中から、ビットレート変更要求に含まれるビットレートb’よりも小さいビットレートのうちの最大のビットレートを選択する。そして、コンテンツ送信部12は、クライアント装置20へ送信しているコンテンツデータのビットレートを、選択したビットレートに変更する。
この第2実施形態に係る配信システム1によっても、上記第1実施形態と同様に、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
<第3実施形態>
次に、本発明の第3実施形態に係る配信システムについて図12を参照しながら説明する。
第3実施形態に係る配信システム100は、互いに通信可能に構成されたサーバ装置110及びクライアント装置120を含む。
サーバ装置110は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータをクライアント装置120へ送信可能に構成される。
クライアント装置120は、サーバ装置110により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいてコンテンツを再生するように構成される。
配信システム100の機能は、残余再生時間取得部(残余再生時間取得手段)130と、ビットレート変更部(ビットレート変更手段)140と、を含む。
残余再生時間取得部130は、クライアント装置120の記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいてコンテンツを再生可能な時間である残余再生時間を取得する。
ビットレート変更部140は、残余再生時間取得部130により取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるようにサーバ装置110が送信するコンテンツデータのビットレートを補正するための補正量を所定の補正量算出方式に従って算出する。このとき、ビットレート変更部140は、ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
そして、ビットレート変更部140は、算出した補正量に基づいて上記ビットレートを変更する。
これによれば、ビットレートの変動量を低減することができる。例えば、ビットレートが補正量低減範囲内にある場合に、補正量として「0」を算出することにより、ビットレートの変動を回避することができる。この結果、ユーザ体感品質が過度に低下することを防止することができる。
一方、配信システム100は、ビットレートが補正量低減範囲外にある場合、十分に大きな補正量に基づいてビットレートを変更するので、残余再生時間が過少又は過大となることを防止することができる。即ち、残余再生時間を適切に維持することができる。この結果、コンテンツの再生が途切れることを防止できるとともに、クライアント装置120の記憶装置に記憶されるデータ量が過大となることを防止することができる。
このように、上記構成によれば、残余再生時間を適切な範囲に維持しながら、ユーザ体感品質が過度に低下することを防止することができる。
この場合、上記配信システムは、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
上記ビットレート変更手段は、
上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
これによれば、受信速度が変動する場合であっても、適切に補正量低減範囲を設定することができる。
この場合、上記ビットレート変更手段は、
上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
これによれば、残余再生時間を目標値により確実に収束させることができる。
この場合、上記ビットレート変更手段は、
第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
上記構成のように、補正量低減範囲の上限値及び下限値を決定することにより、残余再生時間が目標値に近くなるほど狭くなる補正量低減範囲を容易に設定することができる。
この場合、上記ビットレート変更手段は、
上記残余再生時間が上記目標値よりも小さい場合において、上記残余再生時間が上記目標値よりも大きい場合よりも早期に上記残余再生時間を上記目標値に一致させるように、上記補正量を算出するように構成されることが好適である。
これによれば、コンテンツの再生が途切れることを確実に防止することができる。
この場合、上記ビットレート変更手段は、
上記残余再生時間が上記目標値よりも小さい場合、第1の不足時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第1のビットレートとして算出するとともに、当該第1の不足時遅延時間よりも長い第2の不足時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第2のビットレートとして算出し、一方、上記残余再生時間が上記目標値よりも大きい場合、第1の余剰時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第1のビットレートとして算出するとともに、当該第1の余剰時遅延時間よりも長く且つ当該第2の不足時遅延時間よりも長い第2の余剰時遅延時間後に上記残余再生時間を上記目標値に一致させるビットレートを上記第2のビットレートとして算出するように構成されることが好適である。
この場合、上記配信システムは、
上記クライアント装置が上記コンテンツを再生する速度である再生速度を取得する再生速度取得手段を備えるとともに、
上記ビットレート変更手段は、
上記取得された再生速度に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
これによれば、複数の再生速度(例えば、スロー再生用の再生速度、等速再生用の再生速度、及び、倍速再生用の再生速度等)のいずれか1つにてコンテンツを再生可能なクライアント装置を含む配信システムにおいても、適切に補正量低減範囲を設定することができる。
この場合、上記ビットレート変更手段は、
上記目標値から、上記取得された残余再生時間を減じた値を、上記第1の遅延時間又は上記第2の遅延時間により除した値を上記残余再生時間の時間微分値として推定し、当該推定した時間微分値に基づいて上記第1のビットレート又は上記第2のビットレートを算出するように構成されることが好適である。
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記上限値よりも大きい場合、当該上限値と、当該ビットレートと、の差に基づいて上記補正量を算出するように構成されることが好適である。
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記上限値よりも大きい場合、当該上限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を上記補正量として算出するように構成されることが好適である。
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記下限値よりも小さい場合、当該下限値と、当該ビットレートと、の差に基づいて上記補正量を算出するように構成されることが好適である。
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記下限値よりも小さい場合、当該下限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を上記補正量として算出するように構成されることが好適である。
この場合、上記ビットレート変更手段は、
上記サーバ装置が送信しているコンテンツデータのビットレートが上記補正量低減範囲内にある場合、上記補正量を0に設定するように構成されることが好適である。
また、本発明の他の形態である配信方法は、
1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と、上記サーバ装置と通信可能に構成されたクライアント装置と、を含む配信システムに適用される方法である。
更に、この配信方法は、
上記サーバ装置が上記コンテンツデータを上記クライアント装置へ送信し、
上記クライアント装置が、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生し、
上記クライアント装置の上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得し、
上記ビットレートが所定の補正量低減範囲内にない場合、上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、一方、上記ビットレートが当該補正量低減範囲内にある場合、上記取得された残余再生時間と当該目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量であって当該補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出し、
上記算出された補正量に基づいて、上記サーバ装置が送信するコンテンツデータの上記ビットレートを変更する方法である。
この場合、上記配信方法は、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得し、
上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
この場合、上記配信方法は、
上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
この場合、上記配信方法は、
第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
また、本発明の他の形態であるサーバ装置は、クライアント装置と通信可能に構成された装置である。
更に、このサーバ装置は、
1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成され、
上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を備える。
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
この場合、上記サーバ装置は、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を備えるとともに、
上記ビットレート変更手段は、
上記受信された受信速度と、上記受信された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
この場合、上記ビットレート変更手段は、
上記受信された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
この場合、上記ビットレート変更手段は、
第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
また、本発明の他の形態であるプログラムは、
クライアント装置と通信可能に構成されるとともに、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを上記クライアント装置へ送信可能に構成されたサーバ装置に、
上記コンテンツデータのうちの上記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
上記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記クライアント装置へ送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
を実現させるためのプログラムである。
加えて、上記ビットレート変更手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
この場合、上記プログラムは、
上記サーバ装置に、更に、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を実現させるとともに、
上記ビットレート変更手段は、
上記受信された受信速度と、上記受信された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
この場合、上記ビットレート変更手段は、
上記受信された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
この場合、上記ビットレート変更手段は、
第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
また、本発明の他の形態であるクライアント装置は、
1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成された装置である。
更に、このクライアント装置は、
上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成され、
上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
を備える。
加えて、上記ビットレート変更要求送信手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
この場合、上記クライアント装置は、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
上記ビットレート変更要求送信手段は、
上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
この場合、上記ビットレート変更要求送信手段は、
上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
この場合、上記ビットレート変更要求送信手段は、
第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
また、本発明の他の形態であるプログラムは、
1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されるとともに、上記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて上記コンテンツを再生するように構成されたクライアント装置に、
上記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて上記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
上記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように上記サーバ装置が送信するコンテンツデータの上記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を上記サーバ装置へ送信するビットレート変更要求送信手段と、
を実現させるためのプログラムである。
加えて、上記ビットレート変更要求送信手段は、
上記ビットレートが所定の補正量低減範囲内にある場合、上記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成される。
この場合、上記プログラムは、
上記クライアント装置に、更に、
上記クライアント装置が上記サーバ装置から上記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を実現させるとともに、
上記ビットレート変更要求送信手段は、
上記取得された受信速度と、上記取得された残余再生時間と、上記目標値と、に基づいて上記補正量低減範囲を決定するように構成されることが好適である。
この場合、上記ビットレート変更要求送信手段は、
上記取得された残余再生時間が上記目標値に近くなるほど、上記補正量低減範囲を狭くするように構成されることが好適である。
この場合、上記ビットレート変更要求送信手段は、
第1の遅延時間後に上記残余再生時間を上記目標値に一致させる第1のビットレートと、上記第1の遅延時間よりも長い第2の遅延時間後に上記残余再生時間を上記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を上記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されることが好適である。
上述した構成を有する、配信方法、サーバ装置、プログラム、又は、クライアント装置、の発明であっても、上記配信システムと同様の作用を有するために、上述した本発明の目的を達成することができる。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
例えば、上記各実施形態においては、サーバ装置10又はクライアント装置20がビットレートの補正量を算出するように構成されていたが、サーバ装置10及びクライアント装置20以外の情報処理装置が補正量を算出するように構成されていてもよい。
また、上記各実施形態は、サーバ装置10が送信しているコンテンツデータのビットレートが補正量低減範囲内にある場合、補正量を「0」に設定するように構成されていたが、補正量を大きさ(絶対値)が「0」よりも大きな値に設定するように構成されていてもよい。この場合、配信システム1は、サーバ装置10が送信しているコンテンツデータのビットレートが補正量低減範囲外にある場合に補正量を算出するために用いる補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出する。
なお、上記各実施形態において配信システム1の各機能は、CPUがプログラム(ソフトウェア)を実行することにより実現されていたが、回路等のハードウェアにより実現されていてもよい。
また、上記各実施形態においてプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記憶されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
また、上記実施形態の他の変形例として、上述した実施形態及び変形例の任意の組み合わせが採用されてもよい。
なお、本発明は、日本国にて2009年1月27日に出願された特願2009−015262の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願にて開示された内容のすべてが本明細書に含まれるものとする。
本発明は、サーバ装置からクライアント装置へコンテンツデータを配信するコンテンツ配信システム等に適用可能である。
1 配信システム
10 サーバ装置
11 コンテンツデータ蓄積部
12 コンテンツ送信部
13 補正量低減範囲決定部
14 ビットレート補正部
20 クライアント装置
21 コンテンツ受信部
22 コンテンツバッファ部
23 コンテンツ再生部
24 受信速度取得部
25 残余再生時間取得部
26 再生速度取得部
27 補正量低減範囲決定部
28 ビットレート補正部
29 ビットレート変更要求送信部
100 配信システム
110 サーバ装置
120 クライアント装置
130 残余再生時間取得部
140 ビットレート変更部
NW 通信回線

Claims (33)

  1. 互いに通信可能に構成されたサーバ装置及びクライアント装置を含む配信システムであって、
    前記サーバ装置は、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを前記クライアント装置へ送信可能に構成され、
    前記クライアント装置は、前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生するように構成され、
    前記クライアント装置の前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
    前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
    を備えるとともに、
    前記ビットレート変更手段は、
    前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成された配信システム。
  2. 請求項1に記載の配信システムであって、
    前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
    前記ビットレート変更手段は、
    前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成された配信システム。
  3. 請求項1又は請求項2に記載の配信システムであって、
    前記ビットレート変更手段は、
    前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成された配信システム。
  4. 請求項3に記載の配信システムであって、
    前記ビットレート変更手段は、
    第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成された配信システム。
  5. 請求項1乃至請求項4のいずれか一項に記載の配信システムであって、
    前記ビットレート変更手段は、
    前記残余再生時間が前記目標値よりも小さい場合において、前記残余再生時間が前記目標値よりも大きい場合よりも早期に前記残余再生時間を前記目標値に一致させるように、前記補正量を算出するように構成された配信システム。
  6. 請求項5に記載の配信システムであって、
    前記ビットレート変更手段は、
    前記残余再生時間が前記目標値よりも小さい場合、第1の不足時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第1のビットレートとして算出するとともに、当該第1の不足時遅延時間よりも長い第2の不足時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第2のビットレートとして算出し、一方、前記残余再生時間が前記目標値よりも大きい場合、第1の余剰時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第1のビットレートとして算出するとともに、当該第1の余剰時遅延時間よりも長く且つ当該第2の不足時遅延時間よりも長い第2の余剰時遅延時間後に前記残余再生時間を前記目標値に一致させるビットレートを前記第2のビットレートとして算出するように構成された配信システム。
  7. 請求項1乃至請求項6のいずれか一項に記載の配信システムであって、
    前記クライアント装置が前記コンテンツを再生する速度である再生速度を取得する再生速度取得手段を備えるとともに、
    前記ビットレート変更手段は、
    前記取得された再生速度に基づいて前記補正量低減範囲を決定するように構成された配信システム。
  8. 請求項4乃至請求項7のいずれか一項に記載の配信システムであって、
    前記ビットレート変更手段は、
    前記目標値から、前記取得された残余再生時間を減じた値を、前記第1の遅延時間又は前記第2の遅延時間により除した値を前記残余再生時間の時間微分値として推定し、当該推定した時間微分値に基づいて前記第1のビットレート又は前記第2のビットレートを算出するように構成された配信システム。
  9. 請求項1乃至請求項8のいずれか一項に記載の配信システムであって、
    前記ビットレート変更手段は、
    前記サーバ装置が送信しているコンテンツデータのビットレートが前記上限値よりも大きい場合、当該上限値と、当該ビットレートと、の差に基づいて前記補正量を算出するように構成された配信システム。
  10. 請求項9に記載の配信システムであって、
    前記ビットレート変更手段は、
    前記サーバ装置が送信しているコンテンツデータのビットレートが前記上限値よりも大きい場合、当該上限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を前記補正量として算出するように構成された配信システム。
  11. 請求項1乃至請求項10のいずれか一項に記載の配信システムであって、
    前記ビットレート変更手段は、
    前記サーバ装置が送信しているコンテンツデータのビットレートが前記下限値よりも小さい場合、当該下限値と、当該ビットレートと、の差に基づいて前記補正量を算出するように構成された配信システム。
  12. 請求項11に記載の配信システムであって、
    前記ビットレート変更手段は、
    前記サーバ装置が送信しているコンテンツデータのビットレートが前記下限値よりも小さい場合、当該下限値から当該ビットレートを減じた値に予め設定された比例係数を乗じた値を前記補正量として算出するように構成された配信システム。
  13. 請求項1乃至請求項12のいずれか一項に記載の配信システムであって、
    前記ビットレート変更手段は、
    前記サーバ装置が送信しているコンテンツデータのビットレートが前記補正量低減範囲内にある場合、前記補正量を0に設定するように構成された配信システム。
  14. 1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と、前記サーバ装置と通信可能に構成されたクライアント装置と、を含む配信システムに適用される配信方法であって、
    前記サーバ装置が前記コンテンツデータを前記クライアント装置へ送信し、
    前記クライアント装置が、前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生し、
    前記クライアント装置の前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得し、
    前記ビットレートが所定の補正量低減範囲内にない場合、前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、一方、前記ビットレートが当該補正量低減範囲内にある場合、前記取得された残余再生時間と当該目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量であって当該補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出し、
    前記算出された補正量に基づいて、前記サーバ装置が送信するコンテンツデータの前記ビットレートを変更する、配信方法。
  15. 請求項14に記載の配信方法であって、
    前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得し、
    前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成された配信方法。
  16. 請求項14又は請求項15に記載の配信方法であって、
    前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成された配信方法。
  17. 請求項16に記載の配信方法であって、
    第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成された配信方法。
  18. クライアント装置と通信可能に構成されたサーバ装置であって、
    1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを前記クライアント装置へ送信可能に構成され、
    前記コンテンツデータのうちの前記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
    前記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記クライアント装置へ送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
    を備えるとともに、
    前記ビットレート変更手段は、
    前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されたサーバ装置。
  19. 請求項18に記載のサーバ装置であって、
    前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を備えるとともに、
    前記ビットレート変更手段は、
    前記受信された受信速度と、前記受信された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたサーバ装置。
  20. 請求項18又は請求項19に記載のサーバ装置であって、
    前記ビットレート変更手段は、
    前記受信された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたサーバ装置。
  21. 請求項20に記載のサーバ装置であって、
    前記ビットレート変更手段は、
    第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたサーバ装置。
  22. クライアント装置と通信可能に構成されるとともに、1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを前記クライアント装置へ送信可能に構成されたサーバ装置に、
    前記コンテンツデータのうちの前記クライアント装置が受信したデータを記憶する記憶装置に記憶されているデータのうちの、当該クライアント装置が未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を当該クライアント装置から受信する残余再生時間受信手段と、
    前記受信された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記クライアント装置へ送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するビットレート変更手段と、
    を実現させるとともに、
    前記ビットレート変更手段は、
    前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されたプログラム。
  23. 請求項22に記載のプログラムであって、
    前記サーバ装置に、更に、
    前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を当該クライアント装置から受信する受信速度受信手段を実現させるとともに、
    前記ビットレート変更手段は、
    前記受信された受信速度と、前記受信された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたプログラム。
  24. 請求項22又は請求項23に記載のプログラムであって、
    前記ビットレート変更手段は、
    前記受信された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたプログラム。
  25. 請求項24に記載のプログラムであって、
    前記ビットレート変更手段は、
    第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたプログラム。
  26. 1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されたクライアント装置であって、
    前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生するように構成され、
    前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
    前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を前記サーバ装置へ送信するビットレート変更要求送信手段と、
    を備えるとともに、
    前記ビットレート変更要求送信手段は、
    前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されたクライアント装置。
  27. 請求項26に記載のクライアント装置であって、
    前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を備えるとともに、
    前記ビットレート変更要求送信手段は、
    前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたクライアント装置。
  28. 請求項26又は請求項27に記載のクライアント装置であって、
    前記ビットレート変更要求送信手段は、
    前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたクライアント装置。
  29. 請求項28に記載のクライアント装置であって、
    前記ビットレート変更要求送信手段は、
    第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたクライアント装置。
  30. 1つのコンテンツを複数の異なるビットレートのうちの任意の1つのビットレートにて符号化したコンテンツデータを送信可能に構成されたサーバ装置と通信可能に構成されるとともに、前記サーバ装置により送信されたコンテンツデータを受信しながら、当該コンテンツデータのうちの受信されたデータを記憶装置に記憶させるとともに当該記憶されているデータに基づいて前記コンテンツを再生するように構成されたクライアント装置に、
    前記記憶装置に記憶されているデータのうちの未だ再生していない部分に基づいて前記コンテンツを再生可能な時間である残余再生時間を取得する残余再生時間取得手段と、
    前記取得された残余再生時間と予め設定された目標値とに基づいて、当該残余再生時間を当該目標値に近づけるように前記サーバ装置が送信するコンテンツデータの前記ビットレートを補正するための補正量を所定の補正量算出方式に従って算出し、当該算出した補正量に基づいて当該ビットレートを変更するためのビットレート変更要求を前記サーバ装置へ送信するビットレート変更要求送信手段と、
    を実現させるとともに、
    前記ビットレート変更要求送信手段は、
    前記ビットレートが所定の補正量低減範囲内にある場合、前記補正量算出方式に従って算出される補正量の大きさよりも小さい大きさの補正量を算出するように構成されたプログラム。
  31. 請求項30に記載のプログラムであって、
    前記クライアント装置に、更に、
    前記クライアント装置が前記サーバ装置から前記コンテンツデータを単位時間あたりに受信するデータ量である受信速度を取得する受信速度取得手段を実現させるとともに、
    前記ビットレート変更要求送信手段は、
    前記取得された受信速度と、前記取得された残余再生時間と、前記目標値と、に基づいて前記補正量低減範囲を決定するように構成されたプログラム。
  32. 請求項30又は請求項31に記載のプログラムであって、
    前記ビットレート変更要求送信手段は、
    前記取得された残余再生時間が前記目標値に近くなるほど、前記補正量低減範囲を狭くするように構成されたプログラム。
  33. 請求項32に記載のプログラムであって、
    前記ビットレート変更要求送信手段は、
    第1の遅延時間後に前記残余再生時間を前記目標値に一致させる第1のビットレートと、前記第1の遅延時間よりも長い第2の遅延時間後に前記残余再生時間を前記目標値に一致させる第2のビットレートと、を算出し、当該算出した第1のビットレート及び第2のビットレートのうちの大きい方を前記補正量低減範囲の上限値として決定し、且つ、当該第1のビットレート及び当該第2のビットレートのうちの小さい方を当該補正量低減範囲の下限値として決定するように構成されたプログラム。
JP2010548388A 2009-01-27 2010-01-14 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置 Active JP5494495B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010548388A JP5494495B2 (ja) 2009-01-27 2010-01-14 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2009015262 2009-01-27
JP2009015262 2009-01-27
JP2010548388A JP5494495B2 (ja) 2009-01-27 2010-01-14 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置
PCT/JP2010/000158 WO2010087113A1 (ja) 2009-01-27 2010-01-14 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置

Publications (2)

Publication Number Publication Date
JPWO2010087113A1 true JPWO2010087113A1 (ja) 2012-07-26
JP5494495B2 JP5494495B2 (ja) 2014-05-14

Family

ID=42395379

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010548388A Active JP5494495B2 (ja) 2009-01-27 2010-01-14 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置

Country Status (4)

Country Link
US (2) US8909809B2 (ja)
EP (1) EP2393294B1 (ja)
JP (1) JP5494495B2 (ja)
WO (1) WO2010087113A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5494495B2 (ja) * 2009-01-27 2014-05-14 日本電気株式会社 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置
US9282134B2 (en) * 2011-12-21 2016-03-08 Nec Corporation Content delivery system
JP6354197B2 (ja) * 2013-03-15 2018-07-11 株式会社リコー 配信制御システム、配信制御方法、及びプログラム
EP2806633A1 (en) * 2013-05-23 2014-11-26 Alcatel Lucent Method and apparatus for improved network optimization for providing video from a plurality of sources to a plurality of clients
JP2015115756A (ja) 2013-12-11 2015-06-22 ソニー株式会社 通信制御装置、通信制御方法及びプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3173369B2 (ja) 1996-04-25 2001-06-04 松下電器産業株式会社 画像圧縮符号化装置
WO1999020051A1 (en) * 1997-10-15 1999-04-22 Sony Corporation Video data multiplexer, video data multiplexing control method, method and apparatus for multiplexing encoded stream, and encoding method and apparatus
JP4193080B2 (ja) * 1997-12-08 2008-12-10 ソニー株式会社 符号化装置及び方法
US20020003941A1 (en) * 2000-06-26 2002-01-10 Eiichi Hatae Remaining recordable time calculation apparatus that converts amount of free area of recording medium into time
JP2004013283A (ja) * 2002-06-04 2004-01-15 Hitachi Ltd コンテンツ配信方法及びコンテンツ配信装置
US7450646B2 (en) * 2002-06-04 2008-11-11 Panasonic Corporation Image data transmitting apparatus and method and image data reproducing apparatus and method
JP3935419B2 (ja) * 2002-11-19 2007-06-20 Kddi株式会社 動画像符号化ビットレート選択方式
CN1723702B (zh) * 2003-02-13 2010-04-28 松下电器产业株式会社 数据处理装置
US20060168632A1 (en) * 2004-02-20 2006-07-27 Yoshimasa Honda Video reception device, video transmission device, and video transmission system
US7536469B2 (en) * 2004-12-10 2009-05-19 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a limited number of supported coding bit rates
JP4207950B2 (ja) * 2005-10-27 2009-01-14 ソニー株式会社 番組予約システム、記録装置及びコントローラ装置
JP2009520381A (ja) * 2005-12-19 2009-05-21 パナソニック株式会社 残量検出部を有する記録装置
JP2007294052A (ja) * 2006-04-27 2007-11-08 Hitachi Ltd 情報記録装置
JP2007312051A (ja) * 2006-05-18 2007-11-29 Matsushita Electric Ind Co Ltd セットトップボックス
WO2008018446A1 (fr) * 2006-08-08 2008-02-14 Panasonic Corporation Contrôleur de mémoire, dispositif de mémoire non-volatile, dispositif d'accès, et système de mémoire non-volatile
WO2008108379A1 (ja) 2007-02-28 2008-09-12 Nec Corporation メディア配信システム、配信サーバ装置及びそれらに用いるメディア配信方法並びにそのプログラム
JP2008301309A (ja) 2007-06-01 2008-12-11 Panasonic Corp 符号化レート制御方法、符号化レートを制御する伝送装置、プログラム記憶媒体及び集積回路
JP5095280B2 (ja) 2007-07-09 2012-12-12 シャープ株式会社 表示制御装置、表示制御装置の制御方法、表示制御装置制御プログラム、および該プログラムを記録したコンピュータ読み取り可能な記録媒体
US8275237B2 (en) * 2007-08-30 2012-09-25 Canon Kabushiki Kaisha Moving image reproducing apparatus
JP5494495B2 (ja) * 2009-01-27 2014-05-14 日本電気株式会社 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置
US20120150936A1 (en) * 2009-08-10 2012-06-14 Nec Corporation Distribution system

Also Published As

Publication number Publication date
US9319739B2 (en) 2016-04-19
EP2393294A1 (en) 2011-12-07
US20140297730A1 (en) 2014-10-02
US8909809B2 (en) 2014-12-09
WO2010087113A1 (ja) 2010-08-05
EP2393294B1 (en) 2018-07-11
EP2393294A4 (en) 2014-10-08
JP5494495B2 (ja) 2014-05-14
US20110276714A1 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
JP5673538B2 (ja) 配信システム
JP7275033B2 (ja) 適応ビットレートストリーミングの間の複数のコンテンツ配信ネットワーク間の適応切替のためのシステムおよび方法
US9313249B2 (en) Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
US10200432B2 (en) HTTP streaming client adaptation algorithm based on proportional-integral control
US8082356B2 (en) Synchronizing buffer map offset in peer-to-peer live media streaming systems
JP5494495B2 (ja) 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置
JP5339007B1 (ja) コンテンツ配信システム
JP2013135471A (ja) マルチパス環境におけるアダプティブストリーミングのためのシステムと方法
CN104022845A (zh) 调整数据块比特率的方法、装置和系统
JP5804060B2 (ja) パラメータ推定装置、パラメータ推定方法、及び、パラメータ推定プログラム
Baik et al. VSync: Cloud based video streaming service for mobile devices
KR20140105297A (ko) 스트리밍 서비스를 제공하기 위한 동적 버퍼링 방법 및 그 장치
JP2011061533A (ja) コンテンツ配信システム、体感品質推定装置、方法、及び、プログラム
KR101491604B1 (ko) 다중 채널을 이용한 콘텐츠 제공 방법 및 시스템
Kim et al. Content-aware rate adaptation scheme to improve stability in HTTP Adaptive Streaming
JP5532045B2 (ja) 通信システム
Iwamoto et al. Rate adaptation with Bayesian attractor model for MPEG-DASH
US11201901B2 (en) Methods and systems for streaming media data over a content delivery network
Riad et al. A channel variation-aware algorithm for enhanced video streaming quality
JP2011180810A (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信装置、コンテンツ計測装置、及びプログラム
JP2023004668A (ja) 配信装置、配信方法及び配信プログラム
JP5402710B2 (ja) コンテンツ配信装置、コンテンツ配信方法、コンテンツ配信システム、及び、プログラム
US20120233288A1 (en) Apparatus, and associated method, by which to play out media data pursuant to a media data service

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20120723

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140108

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140217

R150 Certificate of patent or registration of utility model

Ref document number: 5494495

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150