JP5339007B1 - コンテンツ配信システム - Google Patents

コンテンツ配信システム Download PDF

Info

Publication number
JP5339007B1
JP5339007B1 JP2013510152A JP2013510152A JP5339007B1 JP 5339007 B1 JP5339007 B1 JP 5339007B1 JP 2013510152 A JP2013510152 A JP 2013510152A JP 2013510152 A JP2013510152 A JP 2013510152A JP 5339007 B1 JP5339007 B1 JP 5339007B1
Authority
JP
Japan
Prior art keywords
media
rate
media data
client device
content
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.)
Active
Application number
JP2013510152A
Other languages
English (en)
Other versions
JPWO2013094118A1 (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
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013510152A priority Critical patent/JP5339007B1/ja
Application granted granted Critical
Publication of JP5339007B1 publication Critical patent/JP5339007B1/ja
Publication of JPWO2013094118A1 publication Critical patent/JPWO2013094118A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/70Media network packetisation
    • 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/752Media network packet handling adapting media to network 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Abstract

サーバ装置100は、レート出力手段102で算出されたメディアレートのメディアデータを、レート出力手段102で算出された送信レートでクライアント装置200へ送信する。レート出力手段102では、メディアレートと送信レートとを変数とする目的関数であって、ユーザ体感品質と配信コストとの組み合わせを評価する評価値を上記変数と対応するように定める目的関数と、所定の制約条件とを用いて、評価値が最も高いメディアレートと送信レートとの組み合わせを算出する。クライアント装置200は、サーバ装置100から送られてきたメディアデータに基づいて、コンテンツを再生する。

Description

本発明は、コンテンツを配信するコンテンツ配信システムに関し、特にユーザの体感品質および配信にかかるコストを考慮して最適なコンテンツ配信を可能とするコンテンツ配信システムに関する。
ネットワークのブロードバンド化、携帯電話やPCなど情報端末の高性能化に伴い、ネットワークを介して大容量の映像や音楽などのコンテンツの配信サービスが増加している。
映像配信サービスでは、例えばSD(Standard Definition)画質の映像を送信する場合、MPEG−2(Motion Picture Expert Group−2)で約6Mbps(1秒間に6メガビットのデータ量)の大容量のデータ通信が必要となる。通信時にデータロスや通信遅延が発生すると、映像の乱れや映像到着遅延による映像再生の停止が発生するなど、ユーザの体感品質(ユーザ体感品質)が悪化する。このため、従来の映像配信サービスは、通信事業者がQoS(Quality of Service)を保証するために大容量の帯域を確保し、途中でデータロスが発生しないようにして映像配信サービスを行っていた。
しかし、近年のインターネットのブロードバンド化により、インターネットなどQoSが保証されないネットワークを介した映像配信サービスが増加している。インターネットでは他のユーザの通信により利用できるネットワーク帯域が変動するという特性がある。さらに、LTE(Long Term Evolution)などによるモバイルネットワークの高速化やスマートフォンの普及による端末の高性能化が顕著であり、モバイルネットワークを利用した映像視聴へのニーズが高まってきている。モバイルネットワークでは他のユーザの通信に加え、ユーザの移動による基地局とユーザ端末間の電波強度の変動や、他の無線機器の影響により、より大きくネットワーク帯域が変動するという特性がある。
このようなQoSが保証されないネットワークを介してメディアデータ(コンテンツを表すデータ)を送信するための配信システムが、特許文献1に記載されている。
QoSが保証されないネットワークを介してメディアデータを送信する場合、ネットワークの利用できる帯域(可用帯域)が小さくなると、メディアデータを送り切れないため、パケットロスによるメディアデータの乱れや、パケットの到着遅延によるメディアデータの再生停止などが発生する。メディアデータの乱れや、メディアデータの再生停止は、ユーザに不満を与え、ユーザ体感品質を低下させる。
このような問題に対応するため、特許文献1に記載されている技術では、サーバ装置からクライアント装置へメディアデータを送信する際の送信レート及びメディアレートを変数とし、これらの変数とユーザ体感品質とを対応付ける目的関数と、所定の制約条件とに基づいてユーザ体感品質を最も高くする送信レートとメディアレートとの組を算出するようにしている。より具体的には、制約条件を満たすメディアレートと送信レートとの組のうちの、目的関数の値を最も小さくするメディアレートと送信レートとの組み合わせを算出するようにしている。そして、算出したメディアレートのメディアデータを、算出した送信レートでサーバ装置からクライアント装置へ送信するようにしている。ここで、送信レートは、単位時間あたりに送信するメディアデータのデータ量であり、メディアレートは、コンテンツを単位時間だけ等速再生するために必要になるメディアデータのデータ量である。
上記した目的関数は、送信レートが低くなるほど、また、メディアレートが高くなるほど、値が小さくなる。また、上記した制約条件は、送信レートが可用帯域を超えないといった制限や、メディアレートは予め定められている複数のメディアレートの何れかにするといった条件などを含んでいる。
送信レートが低くなるほど、目的関数の値が小さくなるようにすることにより、低い送信レートが優先的に選択され、ネットワークにおいて輻輳が発生する確率を低くすることができるので、パケットロスの発生を抑止できる。また、メディアレートが高くなるほど、目的関数の値が小さくなるようにすることにより、高いメディアレートが優先的に選択されるので、コンテンツの質を高めることができる。このように、特許文献1に記載されている技術によれば、ユーザ体感品質を高いものにすることができる。
WO2011/018868
上述した特許文献1に記載されている技術によれば、ユーザ体感品質を高いものにすることができる。しかし、特許文献1に記載されている技術は、ユーザ体感品質を可能な限り高くすることができる送信レートとメディアレートとの組(制約条件を満たし、且つ、目的関数の値を最小にする送信レートとメディアレートとの組)を選択しているだけであるので、コンテンツを配信するためのコスト(配信コスト)を適切なものにすることができないという問題がある。
例えば、ストリーミングによりコンテンツを再生する場合において、ネットワークのトラフィック等が変動してもコンテンツを途切れなく連続して再生するためには、所定時間分の未再生のメディアデータをクライアント装置に蓄積しておく必要がある。一方、クライアント装置のユーザは、自由にコンテンツの視聴をやめることができ、コンテンツの途中で視聴をやめた場合には、クライアント装置に蓄積されている未再生のメディアデータは破棄される。つまり、ユーザがコンテンツの途中で視聴をやめた場合は無駄なメディアデータを配信するために配信コストをかけたことになる。ここで、特許文献1に記載されている技術では、メディアレートが高いメディアデータを優先的にサーバ装置からクライアント装置へ送信しており、クライアント装置に蓄積される未再生のメディアデータのデータ量が多くなるので、ユーザがコンテンツの途中でその視聴をやめた場合、多くの無駄なメディアデータを配信するために多くの配信コストを使ってしまったことになる。
[発明の目的]
そこで、本発明の目的は、ユーザ体感品質を高くすると、コンテンツを配信するための配信コストを適切なものにすることができないという課題を解決した配信システムを提供することにある。
本発明にかかるコンテンツ配信システムは、
互いに通信可能に構成されたサーバ装置及びクライアント装置を含むコンテンツ配信システムであって、
前記サーバ装置は、コンテンツを符号化したメディアデータを前記クライアント装置へ送信可能に構成され、
前記クライアント装置は、前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生するように構成され、且つ、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を前記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段と、
該レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信するメディアデータ送信手段と、
を備える。
本発明にかかるサーバ装置は、
クライアント装置と通信可能に構成されたサーバ装置であって、
コンテンツを符号化したメディアデータを前記クライアント装置へ送信可能に構成され、且つ、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を前記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段と、
該レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信するメディアデータ送信手段と、
を備える。
本発明に係るクライアント装置は、
サーバ装置と通信可能に構成されたクライアント装置であって、
前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生するように構成され、且つ、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を前記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段を備えるクライアント装置。
本発明に係る配信方法は、
互いに通信可能に構成されたサーバ装置及びクライアント装置を含むコンテンツ配信システムに適用される配信方法であって、
前記サーバ装置は、コンテンツを符号化したメディアデータを前記クライアント装置へ送信可能に構成され、
前記クライアント装置は、前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生するように構成され、且つ、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を前記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力し、
該レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信する。
本発明によれば、ユーザ体感品質を高め、且つ配信コストを抑えることができるという効果を得ることができる。
本発明の第1の実施の形態に係るコンテンツ配信システムの概略構成を示すブロック図である。 本発明の第1の実施の形態に係るコンテンツ配信システムの機能を示すブロック図である。 本発明の第1の実施の形態におけるレート出力手段102の処理例を示すフローチャートである。 本発明の第2の実施の形態に係るコンテンツ配信システムの機能を示すブロック図である。 本発明の第3の実施の形態に係るコンテンツ配信システムの概略構成を示すブロック図である。 本発明の第3の実施の形態に係るコンテンツ配信システムの機能を示すブロック図である。 本発明の第4の実施の形態に係るコンテンツ配信システムの機能を示すブロック図である。
以下、本発明の実施の形態について図面を参照して詳細に説明する。
[本発明の第1の実施の形態]
図1に示したように、本発明の第1の実施の形態に係るコンテンツ配信システムは、サーバ装置100と、クライアント装置200と、を含む。サーバ装置100およびクライアント装置200は、ネットワークNW(例えばインターネットやキャリアネットワーク網、モバイル網など)を介して互いに通信可能に接続されている。
サーバ装置100は、図示しない中央処理装置(CPU:Central
Processing Unit)及び記憶装置(メモリ及びハードディスク駆動装置(HDD:Hard Disk Drive))を備える。サーバ装置100は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
クライアント装置200は、パーソナルコンピュータである。なお、クライアント装置200は、携帯電話機、PHS(Personal Handyphone System)、PDA(Personal Digital Assistant)、スマートフォン、タブレット端末、テレビ受像機、セット・トップ・ボックス、ゲーム機、または、カーナビゲーション装置等であってもよい。
クライアント装置200は、図示しない中央処理装置(CPU:Central Processing Unit)及び記憶装置(メモリ)、入力装置(例えば、キーボード、マウス、タッチパネル等)および出力装置(例えば、ディスプレイ及びスピーカ等)を備える。クライアント装置200は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
図2は、上記のように構成された配信システムの機能を表すブロック図である。この機能は、サーバ装置100のCPUが後述する図3に示したフローチャートにより表されるプログラム等を実行するとともに、クライアント装置200が所定のプログラムを実行することにより、実現される。
[サーバ装置100の構成]
サーバ装置100は、メディアデータ記憶手段101と、レート出力手段102と、メディアパケット生成手段103と、メディアデータ送信手段104とを含む。さらに、レート出力手段102は、最適レート算出手段102aと、体感品質評価手段102bと、配信コスト評価手段102cとを含む。
サーバ装置100が有する手段は、それぞれ次のように動作する。
メディアデータ記憶手段101は、1つまたは複数のメディアデータを記憶している。メディアデータは、コンテンツ(1つまたは複数の映像データ、音声データ、字幕データなどのメディアを含む)を符号化したものである。通常、それぞれのメディアは、データ量を圧縮するために映像圧縮手法や音声圧縮手法により圧縮され、符号化されている。本実施の形態では、1つのコンテンツに対して、メディアレートが異なる複数のメディアデータが記録されている。ここで、メディアレートとは、符号化されたコンテンツの単位時間あたりのデータ量(データサイズ、例えば、バイト数やビット数)である。別の言い方をすれば、メディアレートは、コンテンツを単位時間だけ等速再生(1倍速にて再生)するために必要になるメディアデータのデータ量である。
レート出力手段102は、サーバ装置100の状態、クライアント装置200の状態、および、サーバ装置100とクライアント装置200を結ぶネットワークNWの状態などに応じた送信レートおよびメディアレートを出力する。送信レートとは、サーバ装置100が単位時間(例えば1秒)あたりにクライアント装置200に対して送信するデータ量(データサイズ、例えばバイト数)である。なお、レート出力手段102の詳細は後述する。
メディアパケット生成手段103は、クライアント装置200から配信要求されたコンテンツに対応するメディアデータであって、レート出力手段102から出力されたメディアレートで符号化されているメディアデータを取得する。そして、取得したメディアデータをクライアント装置200へ送信するために、メディアパケットを生成する。
メディアデータ送信手段104は、単位時間あたりに送信するデータ量がレート出力手段102から出力された送信レートと一致するように、メディアパケット生成手段103で生成されたメディアパケットをクライアント装置200に対して出力する。本実施の形態では、3GPPで規定されている3GPファイル形式やISO/IECで規定されているMP4ファイル形式、AVI形式などのコンテンツファイルをパケットに分割し、HTTP(Hypertext Transfer Protocol)やTCP/IPを用いて送信することを想定している。しかし、これに限られるものではなく、メディアパケットをRTP(Real−Time Transport Protocol)やUDP/IPで送信するなど、他の方法やプロトコルで生成し、送信するように構成されていても良い。
[クライアント装置200の構成]
クライアント装置200は、メディアデータ受信手段201と、メディア再生バッファ202と、メディアデータ再生手段203と、受信情報取得手段204と、再生速度取得手段205と、残余再生時間取得手段206とを含む。
クライアント装置200が有する手段は、それぞれ次のように動作する。
メディアデータ受信手段201は、サーバ装置100から送信されたメディアパケットを受信し、それに含まれているメディアデータをメディア再生バッファ202に記録する。
メディアデータ再生手段203は、メディア再生バッファ202に記録されているメディアデータを読み出して再生し、図示を省略した出力装置を介してユーザに提示する。また、メディアデータ再生手段203は、図示を省略した入力装置を介して入力される等速再生、スロー再生、2倍速再生、巻き戻しなどの再生速度に関する指示入力従って、再生速度を変更することもできる。
即ち、クライアント装置200は、メディアデータ受信手段201で受信されたサーバ装置100からのメディアデータをメディア再生バッファ202に記録しながら、メディア再生バッファ202に記録されている未再生のメディアデータをメディアデータ再生手段203で再生するように構成されているので、メディアデータを全てダウンロードする前にメディアデータを再生することが可能である。即ち、クライアント装置200は、ストリーミング、プログレッシブダウンロードによるメディアデータの再生が可能である。ストリーミングやプログレッシブダウンロードによりメディアデータを再生している最中に、メディア再生バッファ202に未再生のメディアデータ(これから再生しようとしているメディアデータ)がなくなった場合は、メディアデータ再生手段203によるメディアデータの再生が停止してしまう。メディアデータの再生が停止してしまうと、ユーザが不快に感じ、ユーザ体感品質が劣化する。
受信情報取得手段204は、メディアデータ受信手段201が連続的に受信したメディアデータのデータ量を、上記メディアデータの受信時間で除算した値を受信情報としてサーバ装置100へ送信する。例えば、メディアデータ受信手段201が「0.5秒」の間に、「0.5メガバイト」のメディアデータを連続的に受信し、その後、任意の時間だけメディアデータを受信できなくなったとすると、受信情報は、0.5メガバイト÷0.5秒=1(メガバイト/秒)となる。なお、上記した受信情報の算出処理は、所定時間毎に行う。メディアデータ受信手段201では、TCP/IPでメディアデータを受信することを想定しているが、UDP/IPを利用することもできる。UDP/IPを利用する場合は、サーバ装置100から送信されたメディアパケットが消失してメディアデータ受信手段201でメディアパケットを受信できないことがある。この場合、メディアパケットのロス率(パケットロスが発生する割合)も取得し、サーバ装置100へ送信する。例えば、RTPを利用している場合は、RTPヘッダに含まれるシーケンス番号を基にロスしたメディアパケットを特定してパケットロスの割合を算出する。
再生速度取得手段205は、メディアデータ再生手段203で再生されているメディアデータの再生速度を取得してサーバ装置100に送信する。再生速度とは、メディアデータ再生手段203において単位時間あたりに再生されるメディアデータのデータ量を、等速再生において単位時間あたりに再生されるデータ量との比に換算したものである。別の言い方をすれば、再生速度とは、メディアデータ再生手段203において単位時間あたりに再生されるメディアデータのデータ量を、等速再生において単位時間あたりに再生されるメディアデータのデータ量で除算した値である。たとえば、メディアデータで1秒分のデータを1秒で再生している場合は再生速度が「1」となり、ユーザが早送り、スロー再生、巻き戻しなどをせず、等倍で再生している場合に相当する。2倍の再生速度で早送り再生している場合は「2」、半分の速度でスロー再生している場合は「0.5」、等速で逆再生している場合は「−1」となる。
残余再生時間取得手段206は、メディア再生バッファ202に記憶されているメディアデータのうちの、まだ再生していない部分(未再生データ)に基づいて、メディアデータ再生手段203によりコンテンツを等速再生可能な時間(残余再生時間)を取得し、サーバ装置100へ送信する。例えば、メディア再生バッファ202に、メディアデータの先頭から30秒分のデータが記憶されており、メディアデータ再生手段203で20秒分のデータを再生済みの場合、残余再生時間は10秒(=30秒−20秒)となる。
本実施の形態では、受信情報取得手段204、再生速度取得手段205および残余再生時間取得手段206は、HTTPを利用してクライアント装置200からサーバ装置100へデータを送信することを想定しているが、RTPを利用している場合はRTCP(RTP Control Protocol)を使って送信してもよいし、その他のプロトコルを利用してもよい。
[第1の実施の形態の動作の説明]
次に、本実施の形態の動作について、図2のブロック図および図3のフローチャートを参照して詳細に説明する。
クライアント装置200にて、ユーザが視聴したいコンテンツを選択し、クライアント装置200からサーバ装置100に対してメディアデータの配信要求を行うことで、メディアデータの配信が開始される。メディアデータの配信開始時、サーバ装置100は、予め定められているメディアレートのメディアデータを、予め定められている送信レートで送信する。
メディアデータの配信が開始されると、レート出力手段102は、サーバ装置100の状態、クライアント装置200の状態、およびネットワークNWの状態を取得する(図3のステップS001)。
[クライアント装置200の状態]
本実施の形態では、クライアント装置200の状態は、再生速度取得手段205から送信されたメディアデータの再生速度と、残余再生時間取得手段206から送信されたメディア再生バッファ202の残余再生時間とを含む。また、クライアント装置200で再生できるメディアの種別やプロトコルや、クライアント装置200のCPU負荷やメモリの空き容量などを含んでも良い。
クライアント装置200内の再生速度取得手段205や残余再生時間取得手段206から送信されたクライアント装置200の状態は、ネットワークNWを介してサーバ装置100内のレート出力手段102に入力される。
なお、本実施の形態では、再生速度取得手段205からサーバ装置100に対して再生速度を送信するようにしたが、クライアント装置200のユーザによって入力された再生に関する指示内容(等速再生、スロー再生、巻き戻しなど)を送信するようにしてもよい。レート出力手段102では、クライアント装置200から送られてきた指示内容に基づいて、現在の再生速度を推定することができる。例えば、指示内容が「等速再生」であれば、再生速度「1」と推定し、指示内容が「スロー再生」であれば、再生速度「0.5」と推定する。また、クライアント装置における早送り、スロー再生、巻き戻しなどのトリックプレイを許可しないように制限することで、再生速度を「1」に固定しても良い。このような場合、再生速度取得手段205は必要ではない。
また、本実施の形態では、残余再生時間取得手段206からサーバ装置100に対して残余再生時間を送信するようにしているが、以下のようにすることにより、残余再生時間取得手段206から残余再生時間を送信しなくても、レート出力手段102で残余再生時間を推測することができる。
通常、メディアデータの再生開始時、メディア再生バッファ202に一定量のメディアデータが蓄積されるまで、メディアデータの再生は開始されない。今、例えば、再生を開始するためにメディア再生バッファ202に蓄積されている必要があるメディアデータのデータ量(初期バッファ量)をBi(秒)、時間tの間にサーバ装置100から送信されたメディアデータのデータ量をdM(t)(バイト)、上記メディアデータのメディアレートをrM(t)(バイト/秒)、上記時間tの間のクライアント装置200における再生速度をp(t)とすると、残余再生時間br(t)(秒)は、次式(1)に示すものとなる。但し、メディア再生バッファ202に初期バッファ量Biのメディアデータが蓄積されるまでは、再生速度p(t)=0である。
br(t)=∫(dM(t)/rM(t)−p(t))dt …(1)
今、例えば、初期バッファ量Biを5秒、クライアント装置200における再生速度p(t)を1とし、サーバ装置100からクライアント装置200に対して、メディアレートrM(t)が1Mbps(1秒間に1メガビット(=125キロバイト))のメディアデータを10秒間で2メガバイト送信したとする。
この場合、送信レートは、2メガバイト÷10秒=0.2(メガバイト/秒)となるので、初期バッファ量Bi=5秒分のメディアデータをメディア再生バッファ202に蓄積するために要する時間は、0.125(メガバイト/秒)×5(秒)÷0.2(メガバイト/秒)=3.125(秒)となる。従って、残余再生時間br(10)は、次式(2)に示すように、9.125(秒)と計算される。
br(10)=2(メガバイト)÷0.125(メガバイト/秒)−(10秒−3.125秒)
=16(秒)−6.875(秒)
=9.125(秒) …… (2)
また、クライアント装置200のユーザが、メディアデータの再生を開始してから4秒間は等速で視聴し、その後、2倍速で視聴した場合には、残余再生時間br(10)は、次式(3)に示すように、3.125(秒)となる。
br=2(メガバイト)÷0.125(メガバイト/秒)
−{4秒+(6秒−3.125秒)×2}
=16(秒)−9.75(秒)
=6.25(秒) …… (3)
ここで、サーバ装置100からクライアント装置200へ送信済みのメディアデータのデータ量およびメディアレートは、サーバ装置100で計測できる。従って、クライアント装置200における再生速度p(t)をサーバ装置100で把握できれば、残余再生時間取得手段206がなくても、レート出力手段102で残余再生時間を計算できる。特に、クライアント装置200での早送り、スロー再生、巻き戻しなどのトリックプレイを許可しないように制限する場合は、再生速度p(t)を「1」に固定して残余再生時間br(t)を計算することができる。
[サーバ装置100の状態]
サーバ装置100の状態は、サーバ装置100で同時に配信しているクライアント装置200の数、CPU負荷、メモリの空き容量、サーバ装置100から送信している全ての通信量、メディアデータ記憶手段101からのメディアデータの読み出しにかかっているデータ転送量などを含んでも良い。これらの情報は、周知の技術で取得することができる。
[ネットワークNWの状態]
ネットワークNWの状態は、サーバ装置100からクライアント装置200へのメディアデータ送信に利用できる可用帯域の帯域幅(単に可用帯域と記す場合もある)、ネットワークでパケットロスしたため、クライアント装置200に届かなかったパケットの割合(パケットロス率)を含む。また、ネットワーク全体の混雑の割合などを含んでも良い。
本実施の形態では、受信情報取得手段204から送られてきた受信情報(メディアデータ受信手段201が連続的に受信したメディアデータのデータ量を、上記メディアデータの受信時間で除算した値)を可用帯域幅とすることを想定しているが、次のようにすることもできる。
パケットロス率が想定できる場合やパケットロスがないことが分かる場合は、サーバ装置100のメディアデータ送信手段104で送出したデータ量からパケットロス分のデータ量を減算することで可用帯域を算出でき、受信情報取得手段204を不要とすることもできる。特にTCP/IPを使ってメディアデータを送出する場合は、TCP/IPの特性によりロスしたパケットは再送され、パケットロスは発生しないため、送信データ量から可用帯域が容易に測定できる。このような場合は受信情報取得手段204からの通信は不要となる。
また、メディアデータと異なるプローブデータをクライアント装置200へ送信することにより可用帯域幅を取得するように構成しても良い。このような方法として例えば、PathLoad、pathChirpなどのパケットトレイン推定法が知られており、受信情報取得手段204を用いず、パケットトレイン推定法により可用帯域を算出しても良い。
以上がステップS001で行う処理である。
ステップS001の処理が完了すると、レート出力手段102は、サーバ装置100、クライアント装置200およびネットワークNWの状態から、ユーザの体感品質および配信コストを評価し、次に配信するメディアデータの最適な送信レート及びメディアレートを算出する(図3のステップS002)。
[ユーザ体感品質の評価]
ユーザ体感品質は、レート出力手段102の体感品質評価手段102bで評価する。コンテンツ視聴時のユーザ体感品質が下がる要因としては、次のような要因がある。
(a)パケットロス。パケットロスが発生すると、映像や音声の劣化が発生する。
(b)メディアレートの不足。メディアレートが不足すると、映像がぼやける、ブロックノイズと呼ばれる格子状のノイズが発生する、音質が悪くなるなどメディア品質が悪くなる。
(c)コンテンツ再生中に残余再生時間がなくなる。残余再生時間がなくなると、コンテンツの再生が停止してしまう。
(d)メディアレートの頻繁な変更。メディアレートが頻繁に変更されると、メディア品質が頻繁に変化してしまう。
また、これらの要因(a)〜(d)に対する対策としては、次のようなものがある。
(A)パケットロスを抑制するための対策は、送信レートを大きくしすぎないことである。送信レートが小さいほど、輻輳が発生する確率を低くすることができるので、パケットロスを抑制することができる。つまり、送信レートが小さいほど、ユーザ体感品質が高いと評価することができる。
(B)メディアレートの不足をなくすための対策は、メディアレートをできるだけ大きくすることである。メディアレートが大きいほど、コンテンツの質を高めることができる。つまり、メディアレートが大きいほど、ユーザ体感品質が高いと評価することができる。
(C)残余再生時間がなくならないようにするための対策は、メディアレートを送信レートより大きくしすぎないことである。メディアレートを送信レートより小さくするほど、残余再生時間がなくなるという事態が発生しにくくなり、その結果、コンテンツの再生が中断することを防止できる。つまり、メディアレートが送信レートより小さくなるほど、ユーザ体感品質が高いと評価することができる。
(D)メディアレートの頻繁な変更をなくすための対策は、メディアレートの変更頻度を少なくすることである。メディアレートの変更頻度を少なくするほど、コンテンツの鮮明さが変化する頻度を少なくすることができる。つまり、メディアレートの変更頻度が少なくなるほど、ユーザ体感品質が高いと評価することができる。
また、クライアント装置200の状態により、クライアント装置200で再生できないメディアデータは選択しないようにすることもできる。クライアント装置200のCPUやメモリ、使用しているネットワークに余裕がない場合は、クライアント装置200で再生負荷がかからないようなメディアデータを選択することで、クライアント装置200を操作しているユーザの体感品質を下げないようにすることもできる。
体感品質評価手段102bは、メディアレートと送信レートとを変数とし、ユーザ体感品質を上記変数と対応するように定める目的関数fQを利用してユーザ体感品質を評価する。このユーザ体感品質評価用の目的関数fQは、上記対策(A)〜(D)に関連する4つの項目z1〜z4から構築される。以下、目的関数fQについて説明する。なお、目的関数fQの値は、ユーザ体感品質が高いほど、小さくなる。
時刻tにおいて、サーバ装置100からクライアント装置200へ送信しているコンテンツのメディアレートおよび送信レートをそれぞれb(t)、v(t)であるとし、クライアント装置200における残余再生時間および再生速度をそれぞれT(t)、p(t)とする。この場合、上記した対策(A)〜(D)に関連する項目z1〜z4は、それぞれ以下のように数式化できる。
対策(A)の「パケットロスを抑制するための対策は、送信レートv(t)を大きくしすぎないことである。」に関連する項目z1は、送信レートv(t)が小さいときほど、目的関数fQの値を小さくすることに相当するため、次式(4)により表される。
z1=v(t)2 …… (4)
対策(B)の「メディアレートb(t)の不足をなくすための対策は、メディアレートb(t)をできるだけ大きくすることである。」に関連する項目z2は、メディアレートb(t)の逆数が小さくなるほど、目的関数fQの値を小さくすることに相当するため、次式(5)により表される。
z2=1/b(t)2 …… (5)
対策(C)の「残余再生時間T(t)がなくならないようにするための対策は、メディアレートb(t)を送信レートv(t)より大きくしすぎないことである。」に関連する項目z3は、メディアレートb(t)を送信レートv(t)で除算した値が小さいほど、目的関数fQの値を小さくすることに相当するため、次式(6)により表される。
z3={p(t)/T(t)}・{b(t)/v(t)}2 …… (6)
ここで、p(t)/T(t)は、クライアント装置200における再生速度p(t)が大きく、残余再生時間T(t)が小さい場合には、項目z3が目的関数fQに及ぼす影響を大きくし、残余再生時間T(t)が大きく、再生速度p(t)が小さい場合には項目z3が目的関数fQに及ぼす影響を小さくするための項である。
対策(D)の「メディアレートb(t)の頻繁な変更をなくすための対策は、メディアレートb(t)の変更を少なくすることである。」に関連する項目z4は、メディアレートb(t)の時間変化率(時間微分値)が小さいほど、目的関数fQの値を小さくすることに相当するため、次式(7)により表される。
z4={db(t)/d(t)}2 …… (7)
本実施の形態では、各項目z1〜z4を重み付けして加算したものをユーザ体感品質評価用の目的関数fQとする。この目的関数は次式(8)により表される。
fQ=a1・z1+a2・z2+a3・z3+a4・z4 …… (8)
なお、式(8)において、a1、a2、a3、a4はそれぞれ項目z1、z2、z3、z4に対する重みであり、サービスの種類やユーザ毎に変更可能なものである。
[配信コストの評価]
配信コストは、レート出力手段102の配信コスト評価手段102cで評価する。
クライアント装置200のユーザは、自由にコンテンツの視聴をやめることができ、コンテンツの途中で視聴をやめた場合には、クライアント装置200のメディア再生バッファ202に蓄積されている未再生のメディアデータは破棄される。つまり、ユーザがコンテンツの途中で視聴をやめた場合には、無駄なメディアデータを配信するために配信コストをかけたことになる。一方、クライアント装置200のメディア再生バッファ202の残余再生時間T(t)が同じ場合は、蓄積されている未再生のメディアデータのメディアレートb(t)が大きいほど、蓄積されているメディアデータのデータ量が多くなる。つまり、メディアレートb(t)が大きいほど、多くの無駄なメディアデータを配信するために配信コストをかけたことになる。従って、配信コスト評価手段102cは、メディアレートb(t)が大きいほど、配信コストが大きいと評価する。より具体的には、次式(9)に示すように、メディアレートb(t)を変数とする目的関数fCであって、配信コストを上記変数に対応するように定める目的関数fCを使用して配信コストを評価する。なお、式(9)において、w1は重みである。また、目的関数fCは、配信コストが小さいほど、その値が小さくなるものである。
fC=w1・b(t)2 …… (9)
なお、上記した配信コスト評価用の目的関数fCは一つの例であり、これに限られるものではない。例えば、配信コスト評価用の目的関数fCとして次式(10)に示すものを使用しても構わない。
fC=w1・b(t)2+w2・v(t)2 …… (10)
式(10)の右辺第1項「w1・b(t)2」は、式(9)の第1項と同じものである。また、式(10)の右辺第2項「w2・v(t)2」中のw2は重み、v(t)はサーバ装置100からクライアント装置200へメディアデータを送信する際の送信レートである。この右辺第2項「w2・v(t)2」は、目的関数fCにおいて次のような役割を果たす。クライアント装置200のユーザは、自由にコンテンツの視聴をやめることができ、コンテンツの途中で視聴をやめた場合は、メディア再生バッファ202に蓄積されている未再生のメディアデータは破棄される。破棄される未再生のメディアデータのメディアレートb(t)が同じであれば、残余再生時間T(t)が長いほど、多くの無駄なメディアデータがサーバ装置100からクライアント装置200へ送信されたことになるので、残余再生時間T(t)が長いほど、配信コストが高いと評価するができる。ここで、送信レートv(t)を小さくするほど、残余再生時間T(t)を少なくすることができるので、右辺第2項「w2・v(t)2」は、残余再生時間T(t)が短いほど、目的関数fCの値を小さくするように作用する(配信コストを低くするように作用する)。
また、配信コスト評価用の目的関数fCとして、次式(11)に示すものを使用することもできる。なお、式(11)の右辺第1項「w2・v(t)2」は、式(10)の右辺第2項と同じものである。
fC=w2・v(t)2 …… (11)
[最適なメディアレートと送信レートとの組み合わせ]
最適レート算出手段102aは、コンテンツの配信対象にしているクライアント装置毎に、ユーザ体感品質と配信コストとの両方を考慮し、今後配信するメディアデータの最適なメディアレートb(t)と送信レートv(t)との組み合わせを算出する。より具体的には、最適レート算出手段102aは、所定の制約条件を満たすメディアレートb(t)と送信レートv(t)との組み合わせの内、次式(12)に示す目的関数fTの値を最小化するメディアレートb(t)と送信レートv(t)との組み合わせ(配信コストをできるだけ抑えて、ユーザ体感品質をできるだけ高くすることができるメディアレートと送信レートとの組み合わせ)を算出する。
fT=mq・fQ+mc・fC …… (12)
式(12)において、fQは式(8)に示したユーザ体感品質評価用の目的関数、fCは式(9)〜(11)に示した配信コスト評価用の目的関数の内の何れかである。また、mq、mcは、それぞれ目的関数fQ、fCの値に対する重みである。ここで、ユーザ体感品質評価用の目的関数fQはメディアレートb(t)と送信レートv(t)とを変数とし、配信コスト評価用の目的関数fCはメディアレートb(t)と送信レートv(t)との内の一方または両方を変数とするものである。従って、式(12)に示した目的関数fTは、メディアレートb(t)と送信レートv(t)とを変数とし、配信コストとユーザ体感品質との組み合わせを評価する評価値を、上記変数と対応するように定める関数であると言える。重みmq、mcはサーバ装置100の管理者などが自由に設定できるものである。例えば、ユーザ体感品質を配信コストよりも重視して、最適なメディアレートb(t)と送信レートv(t)との組み合わせを算出する場合には、重みmqを重みmcに比較して大きくし、反対に配信コストをユーザ体感品質よりも重視して、最適なメディアレートb(t)と送信レートv(t)との組み合わせを算出する場合は、重みmcを重みmqに比較して大きくする。
次に、最適レート算出手段102aで使用する制約条件について説明する。本実施の形態では、第1の制約条件と第2の制約条件とを使用する。
第1の制約条件は、「サーバ装置100のメディアデータ送信手段104における送信レートv(t)は、可用帯域幅Th(t)を超えない」という条件である。ここで、可用帯域幅Th(t)は、クライアント装置200の受信情報取得手段204から送られてきた受信情報によって示される可用帯域幅を用いる。この第1の制約条件を満たすことにより、可用帯域幅Th(t)以下の送信レートを確実に選択することができる。従って、パケットロスを抑制することができる。なお、第1の制約条件は、クライアント装置から送られてくる受信情報によって示される可用帯域幅Th(t)を含んでいるので、クライアント装置固有のものとなる。例えば、クライアント装置C1のメディアレートおよび送信レートを求める際には、クライアント装置C1から送られてきた可用帯域幅を含んだ第1の制約条件を使用し、クライアント装置C2のメディアレートおよび送信レートを求める際には、クライアント装置C2から送られてきた可用帯域を含んだ第1の制約条件を使用する必要がある。
第2の制約条件は、「サーバ装置100のメディアデータ送信手段104におけるメディアレートb(t)は、予め定められているn種類のメディアレートb1、b2、…、bnの内の何れか1つである」という条件である。本実施の形態では、メディアデータ記憶手段101には、1つのコンテンツについて、上記n種類のメディアレートb1、b2、…、bnで符号化したn個のメディアデータが記憶されている。
なお、制約条件は上記したものに限られるものではない。例えば、上記した第1或いは第2の制約条件だけを使用するようにしても構わない。
上述したように、最適レート算出手段102aは、コンテンツの配信対象にしているクライアント装置毎に、第1の制約条件および第2の制約条件を満たし、かつ、目的関数fTの値を最小化するメディアレートb(t)と送信レートv(t)との組み合わせを算出する。ここで、算出したメディアレートb(t)および送信レートv(t)をそのまま使用してメディアデータを送信するようにしているが、本実施の形態では、以下に述べるように、メディアレートb(t)および送信レートv(t)をサーバ装置100やネットワークNWの状態に基づいて補正し、補正後のメディアレートbh(t)および送信レートvh(t)でメディアデータを送信する。なお、補正前のメディアレートb(t)および送信レートv(t)でクライアント装置へメディアデータを送信するようにした場合には、個々のユーザのユーザ体感品質をできるだけ高くし、且つ配信コストを抑えることができるという効果を得ることができる。
[メディアレートおよび送信レートの補正]
次に、メディアレートおよび送信レートの補正処理について説明する。最適レート算出手段102aは、サーバ装置100やネットワークNWの状態に基づいて、コンテンツの配信対象にしているクライアント装置毎に、メディアレーb(t)および送信レートv(t)を補正し、補正後のメディアレートbh(t)および送信レートvh(t)をそれぞれメディアパケット生成手段103およびメディアデータ送信手段104へ出力する。サーバ装置100やネットワークNWの状態に基づいた補正とは、簡単に説明すると次のようなものである。最適レート算出手段102aは、サーバ装置100のCPU負荷やネットワークNWの帯域が逼迫している場合は、比較的余裕がある場合に比較して配信コストが高いと評価するというように、サーバ装置100やネットワークNWの状態に基づいて配信コストを評価する。次に、最適レート算出手段102aは、メディアレートb(t)および送信レートv(t)に対する重み(0≦重み≦1)を算出する。この重みは、配信コストが高いほど、小さな値になる。その後、最適レート算出手段102aは、メディアレートb(t)および送信レートv(t)のそれぞれに上記重みを乗算することにより、補正後のメディアレートbh(t)および送信レートvh(t)を算出する。
今、例えば、サーバ装置100がコンテンツを同時配信しているクライアント装置の台数をNc[台]、サーバ装置100のCPU負荷をLs[%]、サーバ装置100のメモリの空き容量をMs[バイト]、サーバ装置100から送信している全ての通信量をTs[ビット/秒]、メディアデータ記憶手段101からのメディアデータの読み出しにかかるデータ転送量をTd[バイト/秒]とすると、サーバ装置100における配信コストCsは、次式(13)に示すものとなる。
Cs=k1・Nc+k2・Ls+k3・Ms+k4・Ts+k5・Td … (13)
ここで、k1〜k5は、各項目に対する重みであり、サービスの種別やユーザ毎に変更可能である。配信コストCsは、その値が大きいほど、配信コストが高いことを示している。
上記した式(13)は、サーバ装置100で同時配信しているクライアント装置200の数が多い場合は、同時配信しているクライアント装置200の数が少ない場合に比べて、配信コストを高くなることを示している。また、式(13)は、サーバ装置100のCPU負荷が高く、CPUに余裕がないときや、メモリの空き容量が少ないときや、サーバ装置100から送信している全ての通信量が多く、通信できる量に余裕がないときや、メディアデータの読み出しにかかるデータ転送量が多く、データ転送に余裕がないときなどは、余裕があるときに比べて配信コストが高くなることを示している。
更に、最適レート算出手段102aは、ネットワークNW全体が混雑している場合(トラフィック量が多い場合)はネットワークが空いている場合に比較して、大きな配信コストを算出する関数を用意しておき、この関数を利用してネットワークNWにおける配信コストCnを算出する。そして、配信コストCsと配信コストCnとを加算することにより、サーバ装置100とネットワークNWの状態に応じた配信コストCt=(Cs+Cn)を算出する。なお、ネットワークNW全体の混雑度が分からない場合は、時間帯によって異なる配信コストを算出する関数を用意しておき、この関数を用いて算出した配信コストをネットワークNWにおける配信コストCnとするようにしても良い。例えば、深夜は空いているので、小さな配信コストを算出し、夜の21時から22時頃は多くの人がネットワークNWを使うので、高い配信コストCnを算出する関数を用いてネットワークNW全体の配信コストCnを算出するようにしても良い。さらに、ネットワーク全体の混雑度ではなく、パケットが通過するネットワークの場所に応じて配信コストを変化させてもよい。例えば、通信トラフィックが集中してボトルネックリンクになりやすいネットワークリンクを経由するクライアント装置200に対する配信コストは、配信コストCtに「1」よりも大きな重みを乗算した値とすることもできる。
更に、クライアント装置のユーザのサービスレベルに応じた重みを配信コストCtに乗算するようにしてもよい。例えば、無料会員の配信コストCtには有料会員の配信コストCtよりも大きな重みを乗算し、無料会員より有料会員の方が高品質のコンテンツを視聴できるようにしてもよい。また、サービスレベルが下位レベルのユーザの配信コストCtにはサービスレベルが上位レベルのユーザの配信コストCtよりも重みを乗算したり、サービス利用料金に反比例する重みを乗算したりしてもよい。
最適レート算出手段102aは、配信コストCtを算出すると、1から0まで単調減少する関数fAC(Ct)を利用して、メディアレートb(t)および送信レートv(t)に対する重みWを算出する。
次いで、最適レート算出手段102aは、次式(14)、(15)に示す演算を行うことにより、補正後のメディアレートbh(t)および送信レートvh(t)を算出する。
bh(t)=W・b(t) …… (14)
vh(t)=W・v(t) …… (15)
その後、最適レート算出手段102aは、補正後のメディアレートbh(t)および送信レートvh(t)をそれぞれメディアパケット生成手段103およびメディアデータ送信手段104に渡す。最適レート算出手段102aは、上述した処理をコンテンツの配信対象にしているクライアント装置毎に行う。以上がステップS002で行う処理の詳細である。なお、上述した配信コストCtの算出方法や、関数fAC(Ct)を用いた重みの算出方法は一つの例であり、これに限ったものではない。
メディアパケット生成手段103は、最適レート算出手段102aからメディアレートbh(t)が渡されると、異なるメディアレートで符号化された複数のメディアデータが格納されているメディアデータ記憶手段101から、上記メディアレートbh(t)で符号化されているメディアデータを入力する。そして、入力したメディアデータに基づいてメディアパケットを生成し、メディアデータ送信手段104に渡す。なお、メディアデータ記憶手段101から入力したメディアデータを、最適レート算出手段102aから渡されたメディアレートのメディアデータに変換(トランスコード)するようにしてもよい。また、メディアデータ送信手段104は、メディアパケット生成手段103から渡されたメディアパケットを、最適レート算出手段102aから渡された送信レートvh(t)で該当するクライアント装置(例えば、クライアント装置200)へ送信する(ステップS003)。
算出された送信レートでのメディアデータの送出は、UDP/IPで送出している場合はメディアパケットを適切なタイミングで送出すれば良い。例えば、メディアデータを1500バイトのパケットにして、300kbpsで送信する場合、1秒間あたり、
(300×1000)÷(1500×8)=25パケット
送出できるため、40ミリ秒ごとに一つのパケットを送出するように制御する。
TCP/IPで送出している場合は、パケット送出時間を制御できないため、前に送出したパケットの送出にかかった時間から、次に送出するパケットの時間を制御する。1500バイトのパケットを300kbpsで送出する場合を考えると、40ミリ秒ごとに1500バイト送出することになる。1500バイトのパケット送出に30ミリ秒かかった場合、次の1500バイトのパケットは10ミリ秒(=40ミリ秒−30ミリ秒)待って送出するように制御すれば良い。
以上の処理をメディアデータの終わりまで繰り返す(図3のステップS004)。
[第1の実施の形態の効果]
本実施の形態によれば、ユーザのユーザ体感品質をできるだけ高くし、且つ配信コストを抑えることができるという効果を得ることができる。その理由は、メディアデータのメディアレート及び送信レートを変数とし、ユーザ体感品質と配信コストとの組み合わせを評価する評価値を上記変数と対応付けるように定める目的関数を利用して、コンテンツを配信する際のメディアレート及び送信レートを算出するようにしているからである。
また、本実施の形態によれば、コンテンツ配信システムを利用するユーザ全員のユーザ体感品質を均等に高くし、且つ配信コストを抑えることができる。その理由は、目的関数を使用して求めたメディアレート及び送信レートを、サーバ装置の負荷や、ネットワークの混雑が逼迫している場合ほど、その値が小さくなるように補正し、補正後のメディアレート及び送信レートを使用してメディアデータを配信するようにしているからである。つあり、特定のユーザによって多くのリソースが使用されることを防止できるからである。
[本発明の第2の実施の形態]
次に、本発明の第2の実施の形態について図4を参照して詳細に説明する。
本実施の形態は、上記第1の実施の形態に係るコンテンツ配信システムに対して、クライアント装置400がレート出力手段407を持ち、クライアント装置400においてメディアレートと送信レートとの最適な組み合わせを決定する点において異なっている。以下、相違点を中心に説明する。
第2の実施の形態に係るコンテンツ配信システムは、サーバ装置300と、クライアント装置400とを含み、サーバ装置300およびクライアント装置400がネットワークを介して互いに通信可能に接続されている。
サーバ装置300は、メディアデータ記憶手段301と、メディアパケット生成手段302と、メディアデータ送信手段303とを含む。
また、クライアント装置400は、メディアデータ受信手段401と、メディア再生バッファ402と、メディアデータ再生手段403と、受信情報取得手段404と、再生速度取得手段405と、残余再生時間取得手段406と、レート出力手段407と、送信要求手段408とを含む。さらに、レート出力手段407は最適レート算出手段407aと、体感品質評価手段407bと、配信コスト評価手段407cとを含む。
サーバ装置300が有するメディアデータ記憶手段301と、メディアパケット生成手段302と、メディアデータ送信手段303とは、それぞれ第1の実施の形態に係るメディアデータ記憶手段101と、メディアパケット生成手段103と、メディアデータ送信手段104と同様の機能を有する。
クライアント装置400が有する手段401〜408はそれぞれ次のように動作する。
メディアデータ受信手段401、メディア再生バッファ402、メディアデータ再生手段403、受信情報取得手段404、再生速度取得手段405、残余再生時間取得手段406、レート出力手段407、最適レート算出手段407a、体感品質評価手段407b、および、配信コスト評価手段407cは、それぞれ第1の実施の形態に係るメディアデータ受信手段201、メディア再生バッファ202、メディアデータ再生手段203、受信情報取得手段204、再生速度取得手段205、残余再生時間取得手段206、レート出力手段102、最適レート算出手段102a、体感品質評価手段102b、および、配信コスト評価手段102cと同様の機能を有する。
送信要求手段408は、レート出力手段407で算出されたメディアレートのメディアデータを、レート出力手段407で算出された送信レートで配信するようにサーバ装置300に要求する。
サーバ装置300のメディアパケット生成手段302は、クライアント装置400から要求されたメディアレートのメディアデータをメディアデータ記憶手段301から読み出すか、若しくはメディアデータ記憶手段301から読み出したメディアデータのメディアレートを要求されたメディアレートに変換する。そして、読み出し若しくは変換したメディアデータに基づいてメディアパケットを生成し、生成したメディアパケットをメディアデータ送信手段303に渡す。
メディアデータ送信手段303は、メディアパケット生成手段302から渡されたメディアパケットを、クライアント装置400から要求された送信レートでクライアント装置400へ送信する。
[第2の実施の形態の効果]
本実施の形態によれば、第1の実施の形態で得られる効果に加えて、サーバ装置300の負荷を少なくすることができるという効果を得ることができる。その理由は、レート出力手段407をクライアント装置400に配置するようにしたからである。
[本発明の第3の実施の形態]
次に、本発明の第3の実施の形態について図面を参照して詳細に説明する。
第3の実施の形態に係るコンテンツ配信システムは、上記第1の実施の形態に係るコンテンツ配信システムに対して、サーバ装置からクライアント装置へメディアデータを転送する中継装置が受信情報を取得し、取得した受信情報をサーバ装置へ送信する点において異なっている。
図5に示した通り、本実施の形態のコンテンツ配信システムは、サーバ装置500と、クライアント装置600と、中継装置700を含んでいる。そして、サーバ装置500および中継装置700が第1のネットワークNW1を介して、また中継装置700およびクライアント装置600が第2のネットワークNW2を介して互いに通信可能に接続されている。
本実施の形態の一例は、クライアント装置600は、携帯電話網に接続されている携帯電話機やスマートフォンやタブレットなどであり、中継装置700は、基地局装置である。この場合、第1のネットワークNW1は、インターネットやテレコムオペレータのコアネットワークであり、第2のネットワークNW2は、携帯電話の無線ネットワークである。
別の例では、クライアント装置600は、家庭内に接続されているPCやテレビ受像機やセット・トップ・ボックス(STB)などであり、中継装置700は、ホームゲートウェイやブロードバンドルータである。また、第1のネットワークNW1は、インターネットやテレコムオペレータのアクセスネットワークやコアネットワークであり、第2のネットワークNW2は、家庭内の有線または無線ネットワークである。これらの例は一例であり、これに限るものではない。
中継装置700は、図示しない中央処理装置(CPU:Central
Processing Unit)及び記憶装置(メモリ及びハードディスク駆動装置(HDD:Hard Disk Drive))を備える。中継装置700は、記憶装置に記憶されているプログラムをCPUが実行することにより、後述する機能を実現するように構成されている。
図6は、上記のように構成された配信システムの機能を表すブロック図である。上記第1の実施の形態に係るコンテンツ配信システムに対して、中継装置700が追加されている点で異なっている。以下、相違点を中心に説明する。
サーバ装置500は、メディアデータ記憶手段501と、レート出力手段502、メディアパケット生成手段503と、メディアデータ送信手段504とを含む。さらに、レート出力手段502は、最適レート算出手段502aと、体感品質評価手段502bと、配信コスト評価手段502cとを含む。
サーバ装置500が有するメディアデータ記憶手段501、レート出力手段502、メディアパケット生成手段503、メディアデータ送信手段504、最適レート算出手段502a、体感品質評価手段502b、および配信コスト評価手段502cは、それぞれ第1の実施の形態に係るメディアデータ記憶手段101、レート出力手段102、メディアパケット生成手段103、メディアデータ送信手段104、最適レート算出手段102a、体感品質評価手段102b、および配信コスト評価手段102cと同様の機能を有する。
また、クライアント装置600は、メディアデータ受信手段601と、メディア再生バッファ602と、メディアデータ再生手段603と、再生速度取得手段604と、残余再生時間取得手段605とを含む。
クライアント装置600が有するメディアデータ受信手段601、メディア再生バッファ602、メディアデータ再生手段603、再生速度取得手段604、および残余再生時間取得手段605は、それぞれ第1の実施の形態に係るメディアデータ受信手段201、メディア再生バッファ202、メディアデータ再生手段203、再生速度取得手段205、および残余再生時間取得手段206と同様の機能を有する。
中継装置700は、データ転送手段701と、受信情報取得手段702とを含む。
中継装置700が有する手段701、702は、それぞれ次のように動作する。
データ転送手段701は、サーバ装置500からクライアント装置600宛に送信されたデータを、クライアント装置600へ転送する。また、クライアント装置600からサーバ装置500宛に送信されたデータを、サーバ装置500へ転送する。サーバ装置500から送信され、クライアント装置600に転送されるデータにはメディアデータが含まれる。また、クライアント装置600から送信され、サーバ装置500に転送されるデータには、再生速度や残余再生時間やその他クライアント状態のデータが含まれる。
受信情報取得手段702は、データ転送手段701がサーバ装置500からクライアント装置600に対して連続的に送信したメディアデータのデータ量を、上記メディアデータの転送時間で除算した値を、クライアント装置600の受信情報としてサーバ装置500へ送信する。例えば、データ転送手段701が、「0.5秒」の間に「0.5メガバイト」のメディアデータをサーバ装置500からクライアント装置600へ連続して転送し、その後、任意の時間だけサーバ装置500からメディアデータを受信できず、転送処理を実行できなかったとすると、受信情報は、0.5メガバイト÷0.5秒=1(メガバイト/秒)となる。なお、受信情報の取得処理は、所定時間毎に行う。メディアデータの転送は、TCP/IPを利用することを想定しているが、TCP/IPではなく、UDP/IPを利用することもできる。UDP/IPを利用する場合は、サーバ装置500から送信されたメディアパケットが消失してメディアデータ受信手段601まで届かないことがある。この場合、サーバ装置500から中継装置700の間でロスしたメディアパケットのロス率(パケットロスが発生する割合)、中継装置700からクライアント装置600の間でロスしたメディアパケットのロス率も取得する。例えば、RTPを利用している場合はRTPヘッダに含まれるシーケンス番号を基にロスしたパケットを特定してパケットロスの割合を算出する。中継装置700を接続するネットワークNW2が携帯電話網であり、クライアント装置600との間の電波状態まで測定できる場合は、クライアント装置600との間の電波状態などの状態を取得しても良い。受信情報取得手段702は取得した受信情報をサーバ装置500へ転送する。
[第3の実施の形態の効果]
本実施の形態によれば、第1の実施の形態で得られる効果に加えて、クライアント装置の構成を簡単なものにすることができるという効果を得ることができる。その理由は、受信情報取得手段702を中継装置700に設けるようにしたからである。
[本発明の第4の実施の形態]
次に、本発明の第4の実施の形態について図面を参照して説明する。
図7を参照すると、本実施の形態に係るコンテンツ配信システムは、互いに通信可能に構成されたサーバ装置800及びクライアント装置900を含む。サーバ装置800は、コンテンツを符号化したメディアデータをクライアント装置900へ送信可能に構成されている。また、クライアント装置900は、サーバ装置800より送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、上記メディア再生バッファから蓄積されたメディアデータを読み出して上記コンテンツを再生するように構成されている。
更に、本実施の形態にかかるコンテンツ配信システムは、レート出力手段801と、メディアデータ送信手段802とを備えている。
そして、レート出力手段801は、サーバ装置800が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、上記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、クライアント装置900のユーザが当該クライアント装置900により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を上記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力する。
また、メディアデータ送信手段802は、レート出力手段801から出力されたメディアレートにて符号化された上記メディアデータを、レート出力手段801から出力された送信レートにてサーバ装置800からクライアント装置900へ送信する。
[第4の実施の形態の効果]
本実施の形態によれば、ユーザのユーザ体感品質をできるだけ高くし、且つ配信コストを抑えることができるという効果を得ることができる。その理由は、メディアデータのメディアレート及び送信レートを変数とし、ユーザ体感品質と配信コストとの組み合わせを評価する評価値を上記変数と対応するように定める目的関数を利用して、コンテンツを配信する際のメディアレート及び送信レートを算出するようにしているからである。
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限定されない。
(付記1)
互いに通信可能に構成されたサーバ装置及びクライアント装置を含むコンテンツ配信システムであって、
前記サーバ装置は、コンテンツを符号化したメディアデータを前記クライアント装置へ送信可能に構成され、
前記クライアント装置は、前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生するように構成され、且つ、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を前記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段と、
該レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信するメディアデータ送信手段と、
を備えるコンテンツ配信システム。
(付記2)
付記1記載のコンテンツ配信システムにおいて、
前記目的関数は、前記メディアレートが高くなるほど、前記配信コストが高くなるように設定されたコンテンツ配信システム。
(付記3)
付記1または2記載のコンテンツ配信システムにおいて、
前記目的関数は、前記送信レートが低くなるほど、前記配信コストが低くなるように設定されたコンテンツ配信システム。
(付記4)
付記1乃至3の何れか1つに記載のコンテンツ配信システムにおいて、
前記目的関数は、前記メディア再生バッファに蓄積されている未再生のメディアデータによってコンテンツを再生可能な時間である残余再生時間が長いほど、前記配信コストが高くなるように設定されたコンテンツ配信システム。
(付記5)
付記1乃至4の何れか1つに記載のコンテンツ配信システムにおいて、
前記レート出力手段は、前記サーバ装置の負荷が高いほど、その値が小さくなるように前記算出した送信レートおよびメディアレートを補正し、補正後の送信レートおよびメディアレートを出力するコンテンツ配信システム。
(付記6)
付記1乃至5の何れか1つに記載のコンテンツ配信システムにおいて、
前記レート出力手段は、前記サーバ装置と前記クライアント装置を接続するネットワークの混雑度が高いほど、その値が小さくなるように前記算出した送信レートおよびメディアレートを補正し、補正後の送信レートおよびメディアレートを出力するコンテンツ配信システム。
(付記7)
付記1乃至6の何れか1つに記載のコンテンツ配信システムにおいて、
前記レート出力手段は、前記サーバ装置と前記クライアント装置とを接続するネットワークの混雑度が高いと予測される時間帯ほど、その値が小さくなるように前記算出した送信レートおよびメディアレートを補正し、補正後の送信レートおよびメディアレートを出力するコンテンツ配信システム。
(付記8)
付記1乃至7の何れか1つに記載のコンテンツ配信システムにおいて、
前記レート出力手段は、前記クライアント装置のユーザのサービスレベルが低いほど、その値が小さくなるように前記算出した送信レートおよびメディアレートを補正し、補正後の送信レートおよびメディアレートを出力することを特徴とするコンテンツ配信システム。
(付記9)
付記1乃至8の何れか1つに記載のコンテンツ配信システムにおいて、
前記目的関数は、前記送信レートが低くなるほど、前記ユーザ体感品質が高くなるように設定されたコンテンツ配信システム。
(付記10)
付記1乃至9の何れか1つに記載のコンテンツ配信システムにおいて、
前記目的関数は、前記メディアレートが高いほど、前記ユーザ体感品質が高くなるように設定されたコンテンツ配信システム。
(付記11)
付記1乃至10の何れか1つに記載のコンテンツ配信システムにおいて、
前記目的関数は、前記メディアレートの変更頻度が少ないほど、前記ユーザ体感品質が高くなるように設定されたコンテンツ配信システム。
(付記12)
付記1乃至11の何れか1つに記載のコンテンツ配信システムにおいて、
前記目的関数は、前記メディア再生バッファに蓄積されている未再生のメディアデータによってコンテンツを再生可能な時間である残余再生時間が長いほど、前記ユーザ体感品質が高くなるように設定されたコンテンツ配信システム。
(付記13)
付記1ないし12の何れか1項に記載のコンテンツ配信システムにおいて、
前記レート出力手段は、所定の制約条件を満たす前記送信レートと前記メディアレートとの組み合わせのうちの、前記目的関数によって対応付けられている評価値が最も高い送信レートとメディアレートとの組み合わせを出力するように構成されたコンテンツ配信システム。
(付記14)
クライアント装置と通信可能に構成されたサーバ装置であって、
コンテンツを符号化したメディアデータを前記クライアント装置へ送信可能に構成され、且つ、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を前記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段と、
該レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信するメディアデータ送信手段と、
を備えるサーバ装置。
(付記15)
付記14記載のサーバ装置において、
前記目的関数は、前記メディアレートが高くなるほど、前記配信コストが高くなるように設定されたサーバ装置。
(付記16)
付記14または15記載のサーバ装置において、
前記目的関数は、前記送信レートが低くなるほど、前記配信コストが低くなるように設定されたサーバ装置。
(付記17)
サーバ装置と通信可能に構成されたクライアント装置であって、
前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生するように構成され、且つ、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を該変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段を備えるクライアント装置。
(付記18)
付記17記載のクライアント装置において、
前記目的関数は、前記メディアレートが高くなるほど、前記配信コストが高くなるように設定されたクライアント装置。
(付記19)
付記17または18記載のクライアント装置において、
前記目的関数は、前記送信レートが低くなるほど、前記配信コストが低くなるように設定されたクライアント装置。
(付記20)
互いに通信可能に構成されたサーバ装置及びクライアント装置を含むコンテンツ配信システムに適用される配信方法であって、
前記サーバ装置は、コンテンツを符号化したメディアデータを前記クライアント装置へ送信可能に構成され、
前記クライアント装置は、前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生するように構成され、且つ、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を前記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力し、
該レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信する配信方法。
(付記21)
付記20記載の配信方法において、
前記目的関数は、前記メディアレートが高くなるほど、前記配信コストが高くなるように設定された配信方法。
(付記22)
付記20または21記載の配信方法において、
前記目的関数は、前記送信レートが低くなるほど、前記配信コストが低くなるように設定された配信方法。
(付記23)
コンピュータをサーバ装置として機能させるためのプログラムを記録した、コンピュータが読み取り可能な記録媒体であって、
前記コンピュータを、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を前記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段、
該レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信するメディアデータ送信手段として機能させるためのプログラムを記録した、コンピュータが読み取り可能な記録媒体。
(付記24)
コンピュータをクライアント装置として機能させるためのプログラムを記録した、コンピュータが読み取り可能な記録媒体であって、
前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生する再生手段、
前記サーバ装置が単位時間あたりに送信するメディアデータのデータ量を表す送信レートと、前記メディアデータの単位時間あたりのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する評価値を前記変数と対応するように定める目的関数に基づいて、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段として機能させるためのプログラムを記録した、コンピュータが読み取り可能な記録媒体。
以上、上記各実施の形態を参照して本願発明を説明したが、本願発明は、上述した実施の形態に限定されるものではない。本願発明の構成及び詳細に、本願発明の範囲内において当業者が理解し得る様々な変更をすることができる。
また、上記各実施の形態におけるプログラムは、記憶装置に記憶されていたが、コンピュータが読み取り可能な記録媒体に記録されていてもよい。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
なお、本発明は、日本国にて2011年12月21日に出願された特願2011−279213の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願にて開示された内容の全てが本明細書に含まれるものとする。
本発明は、コンテンツを表すメディアデータを送信するサーバ装置と、メディアデータをサーバ装置から受信して再生するクライアント装置とを含むコンテンツ配信システム等に適用可能である。
100 サーバ装置
101 メディアデータ記憶手段
102 レート出力手段
102a 最適レート算出手段
102b 体感品質評価手段
102c 配信コスト評価手段
103 メディアパケット生成手段
104 メディアデータ送信手段
200 クライアント装置
201 メディアデータ受信手段
202 メディア再生バッファ
203 メディアデータ再生手段
204 受信情報取得手段
205 再生速度取得手段
206 残余再生時間取得手段
300 サーバ装置
301 メディアデータ記憶手段
302 メディアパケット生成手段
303 メディアデータ送信手段
400 クライアント装置
401 メディアデータ受信手段
402 メディア再生バッファ
403 メディアデータ再生手段
404 受信情報取得手段
405 再生速度取得手段
406 残余再生時間取得手段
407 レート出力手段
407a 最適レート算出手段
407b 体感品質評価手段
407c 配信コスト評価手段
408 送信要求手段
500 サーバ装置
501 メディアデータ記憶手段
502 レート出力手段
502a 最適レート算出手段
502b 体感品質評価手段
502c 配信コスト評価手段
503 メディアパケット生成手段
504 メディアデータ送信手段
600 クライアント装置
601 メディアデータ受信手段
602 メディア再生バッファ
603 メディアデータ再生手段
604 再生速度取得手段
605 残余再生時間取得手段
700 中継装置
701 データ転送手段
702 受信情報取得手段
800 サーバ装置
801 レート出力手段
802 メディアデータ送信手段
900 サーバ装置

Claims (10)

  1. 互いに通信可能に構成されたサーバ装置及びクライアント装置を含むコンテンツ配信システムであって、
    前記サーバ装置は、コンテンツを符号化したメディアデータを前記クライアント装置へ送信可能に構成され、
    前記クライアント装置は、前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生するように構成され、且つ、
    前記サーバ装置または前記クライアント装置は、単位時間あたりに前記サーバ装置が送信するメディアデータのデータ量を表す送信レートと、コンテンツを単位時間だけ等速再生するために必要になる前記メディアデータのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する目的関数の値を最小にする、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段を備え、
    前記サーバ装置は、前記レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信するメディアデータ送信手段
    を備えるコンテンツ配信システム。
  2. 請求項1記載のコンテンツ配信システムにおいて、
    前記目的関数は、前記メディアレートが高くなるほど、前記配信コストが高くなるように設定されたコンテンツ配信システム。
  3. 請求項1または2記載のコンテンツ配信システムにおいて、
    前記目的関数は、前記送信レートが低くなるほど、前記配信コストが低くなるように設定されたコンテンツ配信システム。
  4. 請求項1乃至3の何れか1つに記載のコンテンツ配信システムにおいて、
    前記クライアント装置は、前記メディア再生バッファに蓄積されている未再生のメディアデータによってコンテンツを再生可能な時間である残余再生時間を求め、前記レート出力手段に送信する残余再生時間取得手段を備え、
    前記目的関数は、前記残余再生時間取得手段が求めた残余再生時間が長いほど、前記配信コストが高くなるように設定されたコンテンツ配信システム。
  5. 請求項1乃至4の何れか1つに記載のコンテンツ配信システムにおいて、
    前記レート出力手段は、前記サーバ装置の負荷が高いほど、その値が小さくなるように前記算出した送信レートおよびメディアレートを補正し、補正後の送信レートおよびメディアレートを出力するコンテンツ配信システム。
  6. 請求項1乃至5の何れか1つに記載のコンテンツ配信システムにおいて、
    前記レート出力手段は、前記サーバ装置と前記クライアント装置を接続するネットワークの混雑度が高いほど、その値が小さくなるように前記算出した送信レートおよびメディアレートを補正し、補正後の送信レートおよびメディアレートを出力するコンテンツ配信システム。
  7. 請求項1乃至6の何れか1つに記載のコンテンツ配信システムにおいて、
    前記レート出力手段は、前記サーバ装置と前記クライアント装置とを接続するネットワークの混雑度が高いと予測される時間帯ほど、その値が小さくなるように前記算出した送信レートおよびメディアレートを補正し、補正後の送信レートおよびメディアレートを出力するコンテンツ配信システム。
  8. クライアント装置と通信可能に構成されたサーバ装置であって、
    コンテンツを符号化したメディアデータを前記クライアント装置へ送信可能に構成され、且つ、
    単位時間あたりに前記サーバ装置が送信するメディアデータのデータ量を表す送信レートと、コンテンツを単位時間だけ等速再生するために必要になる前記メディアデータのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する目的関数の値を最小にする、送信レートとメディアレートとの組み合わせを算出して出力するレート出力手段と、
    該レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信するメディアデータ送信手段と、
    を備えるサーバ装置。
  9. クライアント装置と、該クライアント装置から送られてきたメディアレートにて符号化されたメディアデータを、前記クライアント装置から送られてきた送信レートにて前記クライアント装置へ送信するメディアデータ送信手段を備えたサーバ装置とから構成されるコンテンツ配信システムの構成要素であるクライアント装置であって、
    前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生するように構成され、且つ、
    単位時間あたりに前記サーバ装置が送信するメディアデータのデータ量を表す送信レートと、コンテンツを単位時間だけ等速再生するために必要になる前記メディアデータのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する目的関数の値を最小にする、送信レートとメディアレートとの組み合わせを算出し、前記メディアデータ送信手段に対して送信するレート出力手段を備えるクライアント装置。
  10. 互いに通信可能に構成されたサーバ装置及びクライアント装置を含むコンテンツ配信システムに適用される配信方法であって、
    前記サーバ装置は、コンテンツを符号化したメディアデータを前記クライアント装置へ送信可能に構成され、
    前記クライアント装置は、前記サーバ装置により送信されたメディアデータを受信しながら、当該メディアデータのうちの受信されたデータをメディア再生バッファに記憶させると共に、前記メディア再生バッファから蓄積されたメディアデータを読み出して前記コンテンツを再生するように構成され、且つ、
    前記サーバ装置または前記クライアント装置が備えるレート出力手段が、単位時間あたりに前記サーバ装置が送信するメディアデータのデータ量を表す送信レートと、コンテンツを単位時間だけ等速再生するために必要になる前記メディアデータのデータ量を表すメディアレートとを変数とする目的関数であって、前記クライアント装置のユーザが当該クライアント装置により再生されるコンテンツを視聴する際に感じるサービス品質であるユーザ体感品質と、メディアデータを配信する際にかかるコストを表す配信コストとの組み合わせを評価する目的関数の値を最小にする、送信レートとメディアレートとの組み合わせを算出して前記サーバ装置が備えているメディアデータ送信手段に対して出力し、
    前記メディアデータ送信手段が、前記レート出力手段から出力されたメディアレートにて符号化された前記メディアデータを、前記レート出力手段から出力された送信レートにて前記サーバ装置から前記クライアント装置へ送信する配信方法。
JP2013510152A 2011-12-21 2012-11-16 コンテンツ配信システム Active JP5339007B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013510152A JP5339007B1 (ja) 2011-12-21 2012-11-16 コンテンツ配信システム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011279213 2011-12-21
JP2011279213 2011-12-21
PCT/JP2012/007372 WO2013094118A1 (ja) 2011-12-21 2012-11-16 コンテンツ配信システム
JP2013510152A JP5339007B1 (ja) 2011-12-21 2012-11-16 コンテンツ配信システム

Publications (2)

Publication Number Publication Date
JP5339007B1 true JP5339007B1 (ja) 2013-11-13
JPWO2013094118A1 JPWO2013094118A1 (ja) 2015-04-27

Family

ID=48668037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013510152A Active JP5339007B1 (ja) 2011-12-21 2012-11-16 コンテンツ配信システム

Country Status (5)

Country Link
US (1) US9282134B2 (ja)
EP (1) EP2797319B1 (ja)
JP (1) JP5339007B1 (ja)
ES (1) ES2734356T3 (ja)
WO (1) WO2013094118A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150091508A1 (en) * 2013-10-01 2015-04-02 Blackberry Limited Bi-directional communication with a device under charge
JP6158752B2 (ja) * 2014-05-30 2017-07-05 日本電信電話株式会社 ネットワーク要件導出装置及び方法
US9729601B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Decoupled audio and video codecs
US9729726B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Seamless codec switching
US10506004B2 (en) 2014-12-05 2019-12-10 Facebook, Inc. Advanced comfort noise techniques
US10469630B2 (en) * 2014-12-05 2019-11-05 Facebook, Inc. Embedded RTCP packets
US9667801B2 (en) 2014-12-05 2017-05-30 Facebook, Inc. Codec selection based on offer
US9729287B2 (en) 2014-12-05 2017-08-08 Facebook, Inc. Codec with variable packet size
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221318A (ja) * 2006-02-15 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> 双方向映像通信サービスの品質管理・品質制御方法、品質管理方法、品質制御方法、品質管理・制御システム、品質管理装置、品質制御装置
JP2011019068A (ja) * 2009-07-08 2011-01-27 Nec Corp 品質制御装置、品質制御システム、品質制御方法およびプログラム
JP2011061533A (ja) * 2009-09-10 2011-03-24 Nec Corp コンテンツ配信システム、体感品質推定装置、方法、及び、プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7581019B1 (en) * 2002-06-05 2009-08-25 Israel Amir Active client buffer management method, system, and apparatus
US8280994B2 (en) * 2006-10-27 2012-10-02 Rockstar Bidco Lp Method and apparatus for designing, updating and operating a network based on quality of experience
US8275237B2 (en) * 2007-08-30 2012-09-25 Canon Kabushiki Kaisha Moving image reproducing apparatus
CN101577631B (zh) * 2008-05-07 2012-04-25 华为技术有限公司 评价用户体验质量的方法、系统及网络装置
JP5494495B2 (ja) * 2009-01-27 2014-05-14 日本電気株式会社 配信システム、配信方法、サーバ装置、プログラム及びクライアント装置
US8180385B2 (en) * 2009-03-31 2012-05-15 At&T Intellectual Property I, L.P. Intelligent adaptive re-coding for improved communications resource utilization
WO2011018868A1 (ja) 2009-08-10 2011-02-17 日本電気株式会社 配信システム
US8880689B2 (en) * 2011-12-22 2014-11-04 Empire Technology Development Llc Apparatus, mobile terminal, and method to estimate quality of experience of application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007221318A (ja) * 2006-02-15 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> 双方向映像通信サービスの品質管理・品質制御方法、品質管理方法、品質制御方法、品質管理・制御システム、品質管理装置、品質制御装置
JP2011019068A (ja) * 2009-07-08 2011-01-27 Nec Corp 品質制御装置、品質制御システム、品質制御方法およびプログラム
JP2011061533A (ja) * 2009-09-10 2011-03-24 Nec Corp コンテンツ配信システム、体感品質推定装置、方法、及び、プログラム

Also Published As

Publication number Publication date
US20150237105A1 (en) 2015-08-20
EP2797319B1 (en) 2019-05-01
EP2797319A4 (en) 2015-09-09
EP2797319A1 (en) 2014-10-29
ES2734356T3 (es) 2019-12-05
US9282134B2 (en) 2016-03-08
WO2013094118A1 (ja) 2013-06-27
JPWO2013094118A1 (ja) 2015-04-27

Similar Documents

Publication Publication Date Title
JP5339007B1 (ja) コンテンツ配信システム
JP3852761B2 (ja) ネットワークシステム、コンテンツ提供システム、端末装置及びコンテンツ送信方法並びにプログラム
JP5673538B2 (ja) 配信システム
KR101182518B1 (ko) 영상 전송 시스템 및 방법
US20140330887A1 (en) Device for obtaining content by choosing the transport protocol according to the available bandwidth
JP5257367B2 (ja) 映像配信装置、映像配信システム及び映像配信方法
US9660767B2 (en) Communication control apparatus, communication control method, and computer-readable non-transitory recording medium
JP2011019068A (ja) 品質制御装置、品質制御システム、品質制御方法およびプログラム
JP5140952B2 (ja) コンテンツ配信システム、コンテンツ配信サーバ、コンテンツ再生端末、プログラム、コンテンツ配信方法
KR20150057557A (ko) 이동 망에서 비디오 트래픽의 사용자 만족도 최적화를 고려한 혼잡 완화 방법 및 그 장치
JP6485865B2 (ja) 配信制御装置、中継装置、配信システム、配信制御方法、及びプログラム
JP2009188981A (ja) コンテンツ配信方法及び受信装置
JP2010028378A (ja) 通信装置及び通信方法
JP2011061533A (ja) コンテンツ配信システム、体感品質推定装置、方法、及び、プログラム
JP2009188735A (ja) 動画データ配信装置、動画データ配信システム、動画データ配信方法およびプログラム
JP4884922B2 (ja) 通信装置および通信方法
WO2012093718A1 (ja) コンテンツ取得装置、再生装置、コンテンツ取得方法、配信システム、コンテンツ取得プログラム、および記録媒体
US9654533B2 (en) Method of adaptively delivering media based on reception status information from media client and apparatus using the same
Eswara et al. etvsq based video rate adaptation in cellular networks with α-fair resource allocation
JP2011180810A (ja) コンテンツ配信システム、コンテンツ配信方法、コンテンツ配信装置、コンテンツ計測装置、及びプログラム
JP2008113225A (ja) 通信装置および通信方法
WO2023275969A1 (ja) データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体
JP2004297117A (ja) 無線通信システム、無線通信システムにおける無線端末、動画像データ配信サーバ、および無線通信方法
CN105393533B (zh) 播放多个媒体内容的方法、装置和网络媒体系统
KR102491247B1 (ko) 네트워크 상에서 실시간 멀티미디어 서비스의 품질을 제어하는 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
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: 20130709

R150 Certificate of patent or registration of utility model

Ref document number: 5339007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150