JP2017175334A - コンテンツ配信制御装置,そのコンテンツ配信制御方法,及びプログラム - Google Patents

コンテンツ配信制御装置,そのコンテンツ配信制御方法,及びプログラム Download PDF

Info

Publication number
JP2017175334A
JP2017175334A JP2016058200A JP2016058200A JP2017175334A JP 2017175334 A JP2017175334 A JP 2017175334A JP 2016058200 A JP2016058200 A JP 2016058200A JP 2016058200 A JP2016058200 A JP 2016058200A JP 2017175334 A JP2017175334 A JP 2017175334A
Authority
JP
Japan
Prior art keywords
distribution
content
terminal
group
reproduction position
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016058200A
Other languages
English (en)
Inventor
直哉 本郷
Naoya Hongo
直哉 本郷
大谷 武
Takeshi Otani
武 大谷
角田 潤
Jun Tsunoda
潤 角田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016058200A priority Critical patent/JP2017175334A/ja
Priority to US15/467,154 priority patent/US20170280170A1/en
Publication of JP2017175334A publication Critical patent/JP2017175334A/ja
Pending legal-status Critical Current

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/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
    • 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/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/26616Channel 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 for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41407Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
    • 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/64Addressing
    • H04N21/6405Multicasting
    • 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/64Addressing
    • H04N21/6408Unicasting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

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

Abstract

【課題】配信先毎に異なる再生位置で再生可能なコンテンツの配信において、コンテンツ配信に用いる帯域を削減可能とする。【解決手段】配信先毎に異なる再生位置で再生可能なコンテンツの複数の配信先への配信を制御するコンテンツ配信制御装置は、複数の配信先のそれぞれから得られる、コンテンツの再生位置と再生位置からの所定期間を示す情報とに基づいて、複数の配信先をグルーピングするグルーピング部と、複数の配信先へのコンテンツの配信に使用される網の使用状況に基づいて、グルーピングにより形成されたグループに対するコンテンツの配信方法を判定する判定部とを含む。【選択図】図11

Description

本発明は、コンテンツ配信制御装置,そのコンテンツ配信制御方法,及びプログラムに関する。
近年、無線LAN(Local Area Network)インタフェースを備える端末が広く使用されている。端末は、例えば、ラップトップのPC(Personal Computer),スマートフォン
,タブレットPCなどを含む。
また、近年では、「セカンドスクリーン」と呼ばれるコンテンツ配信サービスが広まりつつある。セカンドスクリーンでは、スポーツスタジアムなどに設置された無線LAN設備を用いて、端末を所持するユーザ(観戦者)に対し、カメラで撮影された画像や映像のコンテンツ(例えば、試合のダイジェスト動画やリプレイ動画など)を配信する。例えば、野球やバスケットボールのスタジアムにおいて、ユーザが所持するスマートフォンへ、試合の詳細情報やリプレイ動画等が配信される。
特開2011−176730号公報 特開2013−110477号公報 特開2008−165479号公報 特開2010−187083号公報
コンテンツ配信サービスで配信されるコンテンツ、例えば端末で再生される動画の再生開始タイミングや再生位置は、端末ごとに異なる。一方、スタジアムでスポーツの試合が行われている環境では、得点直後、休憩時間の開始直後など、特定のタイミングでユーザが一定時間内に一斉にコンテンツを取得し始めることが多い。このような無線網に対する一斉のアクセス時に輻輳が起こりやすい。
輻輳によって端末へのコンテンツ配信が遅延し、動画の再生中断などが生じると、ユーザが主観的に知覚・認知するユーザ体感品質(Quality of Experience:QoE)が低下
するという問題が生じる。
本発明は、配信先毎に異なる再生位置で再生可能なコンテンツの配信において、コンテンツ配信に用いる帯域を削減可能とすることができるコンテンツ配信制御装置,そのコンテンツ配信制御方法,及びプログラムを提供することを目的とする。
一つの態様では、コンテンツ配信制御装置は、配信先毎に異なる再生位置で再生可能なコンテンツの複数の配信先のそれぞれから得られる、コンテンツの再生位置と再生位置からの所定期間を示す情報とに基づいて、複数の配信先をグルーピングするグルーピング部と、複数の配信先へのコンテンツの配信に使用される網の使用状況に基づいて、グルーピングにより形成されたグループに対するコンテンツの配信方法を判定する判定部とを含む。
一側面では、配信先毎に異なる再生位置で再生可能なコンテンツの配信において、コンテンツ配信に用いる帯域を削減可能とすることができる。
図1は、コンテンツ配信システムの構成例を模式的に示す。 図2は、ゲートウェイ及び端末のハードウェア構成例を示す図である。 図3は、ゲートウェイ及び端末の構成例を示す。 図4は、コンテンツバッファ管理テーブルのデータ構造例を示す。 図5は、アプリ実行状況管理テーブルのデータ構造例を示す。 図6は、コンテンツ配信状況管理テーブルのデータ構造例を示す。 図7は、処理1(アプリに対してコンテンツのフラグメントを提供する処理)の例を示すフローチャートである。 図8Aは、処理2(アプリが要求するコンテンツのフラグメントを端末に配信する処理)の例を示すフローチャートであり、ゲートウェイにおける処理を示す。 図8Bは、処理2(アプリが要求するコンテンツのフラグメントを端末に配信する処理)の例を示すフローチャートであり、端末における処理を示す。 図9は、端末のグルーピング処理の例を示すフローチャートである。 図10は、グルーピングの基本概念の説明図である。 図11は、グルーピングの例の説明図である。 図12は、第2実施形態におけるゲートウェイ及び端末の構成例を示す。 図13は、第2実施形態におけるアプリ実行状況管理テーブル309Bのデータ構造例を示す。 図14は、第2実施形態における端末5のグルーピング方法の説明図である。 図15Aは、第2実施形態における端末のグルーピング処理の例を示すフローチャートである。 図15Bは、第2実施形態における端末のグルーピング処理の例を示すフローチャートである。 図16は、第2実施形態におけるグルーピング方法の説明図である。 図17は、第2実施形態における“処理1”の例を示すフローチャートである。 図18Aは、第2実施形態における“処理2”の例を示すフローチャートである。 図18Bは、第2実施形態における“処理2”の例を示すフローチャートである。
以下、図面を参照して、コンテンツ配信制御装置、コンテンツ配信制御方法及びプログラムの実施形態について説明する。実施形態の構成は例示であり、実施形態の構成に限定されない。
〔第1実施形態〕
<システム構成>
図1は、コンテンツ配信システムの構成例を模式的に示す。図1において、コンテンツ配信システムは、コンテンツサーバ1と、コンテンツサーバ1と有線網2を介して接続されるゲートウェイ3と、ゲートウェイ3と無線網4を介して接続される複数の端末5とを含む。但し、図1には、1つの端末5を例示している。端末5は、プロキシサーバ(プロキシ)6と、動画再生アプリケーション(動画再生アプリ)7とを含む。ゲートウェイ3は、「コンテンツ配信制御装置」の一例である。複数の端末5は、「複数の配信先」の一
例である。無線網4は、「コンテンツの配信に使用される網」の一例である。
第1実施形態では、説明を簡単にするため、無線LANのアクセスポイント(AP)とゲートウェイ装置とが一体化されたゲートウェイ3を例示する。但し、システムは、一体型のゲートウェイ3の代わりに、ゲートウェイとAPとが分離されている構成を採用することもできる。このとき、1つのゲートウェイに対して、複数のAPが接続された構成を採用することもできる。例えば、1つのゲートウェイと複数のAPが適用される場合、端末5は、複数のAPのいずれかを経由してゲートウェイ装置と通信する。ゲートウェイは、AP単位で後述する処理を行う。ゲートウェイとAPが分離された構成が採用される場合、端末5からゲートウェイに対して、端末5が接続しているAPのBSSID(Basic Service Set Identifier:APのMAC(Media Access Control)アドレス)が送信される。BSSID(APの識別子)は、ゲートウェイにおいて、端末5とAPとの紐づけに使用される。
第1実施形態では、コンテンツ配信サービスの一例として、動画配信サービスについて説明する。コンテンツは、動画(ビデオ)、音声を含む。動画配信サービスは、動画コンテンツを複数の細かいフラグメントに分割する。フラグメントは、ゲートウェイ3を介して端末5に配信される。端末5は、再生順でフラグメントを受信し、再生処理を行う。動画配信サービスを実現する動画配信機構としては、例えば、HLS(Http Live Streaming)やMPEG-DASH(Dynamic Adaptive Streaming over HTTP)が挙げられる。但し、これら以外の動画配信機構を適用し得る。
HLSやMPEG-DASHなどの動画配信サービスでは,動画コンテンツの各フラグメントの
URL(Uniform Resource Locator)と、フラグメントの再生順序や再生オプションとが、“プレイリスト”と呼ばれるファイルに予め定義される。
動画再生アプリ7は、プレイリストを取得し、プレイリストに定義された再生順に従って、プロキシ6で受信されたフラグメントを取得し、動画の再生を行う。このとき、或るフラグメントを用いた再生中に次のフラグメントが入手される状況が継続する限り、動画の再生が滞りなく(継続して)行われる。すなわち、コンテンツの再生位置からの所定期間内に次のフラグメントが配信される場合、配信先はコンテンツの再生を中断や停止なく継続することができる。
第1実施形態に係る処理は、大略して、以下の処理1と処理2とに分けることができる。処理1は、動画再生アプリ7に動画コンテンツのフラグメントを提供する処理である。処理2は、動画再生アプリ7が要求する動画コンテンツのフラグメントを端末5に配信する処理である。
処理1は、プロキシ6が、動画再生アプリ7のフラグメントの取得リクエストに応じて、同期的に実行する。処理2は,動画再生アプリ7からのリクエストを契機として発生する処理であり、処理1とは非同期に行われる。処理1において、プロキシ6は、処理2によるフラグメントの端末5への配信を待ち合わせて,動画再生アプリ7に対し、リクエストに応じたフラグメントを提供する。
<端末及びゲートウェイの構成>
図2は、端末及びゲートウェイのハードウェア構成例を示す図である。図2において、ゲートウェイ3(APを含む)は、バスを介して相互に接続された、Central Processing
Unit(CPU)31と、主記憶装置32と、補助記憶装置33と、無線通信回路34と
、通信インタフェース(通信IF)35とを含む。通信IF35は、有線網2を介してコンテンツサーバ1に接続されている。
端末5は、バスを介して相互に接続された、CPU51と、主記憶装置52と、補助記憶装置53と、無線通信回路54と、アンテナ(図示せず)を含む。端末5とゲートウェイ3とは、無線網4を介して無線通信を行う。端末5は、例えば、無線通信機能を有する携帯型の端末である。但し、端末5はこのような端末に限られず、通信IFを有し有線で通信するもの、固定配置されるものを含み得る。第1実施形態では、無線機能を有する携帯型の端末5が一例として示されている。
ここで、コンテンツサーバ1について説明する。コンテンツサーバ1は、図示を省略するが、バスを介して相互接続されたCPU,主記憶装置,補助記憶装置,通信インタフェースを備える。補助記憶装置には、映像,画像,音楽のコンテンツデータが記憶されている。コンテンツデータとして、オリジナルの映像,画像,音楽に関して、画像サイズ、送信ビットレートなどの異なる複数のコンテンツデータが記憶されている。CPUは、補助記憶装置や主記憶装置に記憶されているプログラムを主記憶装置にロードして実行する。これによって、CPUは、端末5からの要求に応じたコンテンツデータを補助記憶装置から読み出し、通信IFを用いて端末5へ送信する処理(制御)を行う。
コンテンツサーバ1として使用される情報処理装置(コンピュータ)は、例えば、パーソナルコンピュータ(PC),ワークステーション(WS)のような汎用コンピュータを適用できる。或いは、サーバマシンのような専用のコンピュータを適用することもできる。但し、上述したPC,WS,サーバマシン以外のコンピュータを用いる場合もある。
主記憶装置(例えば、主記憶装置32,主記憶装置52,コンテンツサーバ1に含まれた主記憶装置)は、プログラムの展開領域,CPU(例えば、CPU31、CPU51、コンテンツサーバ1に含まれたCPU)の作業領域,データやプログラムの記憶領域又はバッファ領域として使用される。主記憶装置は、例えばRandom Access Memory(RAM),或いはRAMとRead Only Memory(ROM)との組み合わせで形成される。
補助記憶装置(例えば、補助記憶装置33,補助記憶装置53,コンテンツサーバ1に含まれた補助記憶装置)は、データやプログラムの記憶領域として使用される。補助記憶装置は、例えば、ハードディスクドライブ(HDD),Solid State Drive(SSD),
フラッシュメモリ,Electrically Erasable Programmable Read-Only Memory(EEPR
OM)などの不揮発性記憶媒体で形成される。補助記憶装置には、ディスク型記憶媒体や、USBメモリなど、可搬性を有する記録媒体を含むことができる。主記憶装置及び補助記憶装置は、「記憶装置」,「記憶媒体」,「メモリ」,「記憶部」の一例である。
無線通信回路(例えば。無線通信回路34,無線通信回路54)は、ベースバンド回路(BB回路)と、Radio Frequency(RF)回路とを含む。BB回路は、データ(ディジ
タル)信号とベースバンド信号(BB信号)との間の変換処理を行う。RF回路は、BB信号と無線信号との間の変換処理を行う。無線信号はアンテナ(図示せず)によって送受信される。
通信IF(例えば、通信IF35,コンテンツサーバ1に含まれた通信IF)は、パケットの送受信処理等を行う通信インタフェース回路である。通信IFとして、例えば、LANカード或いはネットワークインタフェースカードと呼ばれるネットワークカードを適用できる。
CPU(例えば、CPU31,CPU51,コンテンツサーバ1に含まれたCPU)は、主記憶装置及び補助記憶装置の少なくとも一方に記憶されたプログラムを主記憶装置にロードして実行する。CPU31がプログラムを実行することによって、ゲートウェイ3
としての動作乃至処理が行われる。CPU51がプログラムを実行することによって、端末5としての動作乃至処理が行われる。CPUは、「制御装置」,「制御部」,「コントローラ」,「プロセッサ」の一例である。
CPUは、MPU(Microprocessor)、プロセッサとも呼ばれる。CPUは、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPUがマルチコア構成を有していても良い。CPUで行われる処理の少なくとも一部は、CPU以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。
また、CPUで行われる処理の少なくとも一部は、集積回路(IC)、その他のディジタル回路で行われても良い。また、集積回路やディジタル回路はアナログ回路を含んでいても良い。集積回路は、LSI,Application Specific Integrated Circuit(ASIC),
プログラマブルロジックデバイス(PLD)を含む。PLDは、例えば、Field-Programmable Gate Array(FPGA)を含む。CPUで行われる処理の少なくとも一部は、プロセッサ
と集積回路との組み合わせにより実行されても良い。組み合わせは、例えば、マイクロコントローラ(MCU),SoC(System-on-a-chip),システムLSI,チップセットなどと呼ばれる。
図3は、ゲートウェイ3及び端末5の機能を模式的に示す。図3において、ゲートウェイのCPU31は、プログラム実行によって、リクエスト受信部307,リクエスト送信部308,アプリ実行状況管理部309,ネットワーク状況管理部310として動作する。また、ゲートウェイのCPU31は、プログラム実行によって、コンテンツ受信部311,端末グループ決定部312,コンテンツ配信状況管理部313,コンテンツ配信部314として動作する。CPU31は、リクエストやコンテンツの送受信に、通信IF35や無線通信回路34を用いる。端末グループ決定部312(CPU31)は,「グルーピング部」,「判定部」,第2実施形態に係る「設定部」の一例である。
端末5のCPU51は、プログラムの実行によって、端末5を、プロキシ6と動画再生アプリ7とを含む装置として動作させる。CPU51は、プログラムの実行によって、プロキシ6に含まれるリクエスト受信部501,アプリ実行状況検出部502,リクエスト送信部503,コンテンツ受信部504,コンテンツバッファ505,コンテンツ配信部506として動作する。
前提として、動画再生アプリ7は、コンテンツサーバ1に対して、プレイリストの提供のリクエストを送り、コンテンツサーバ1は、動画再生アプリにプレイリストを送信する。プロキシ6は、リクエストとレスポンス(プレイリスト)の中継処理を行う。
端末5のリクエスト受信部501は、動画再生アプリ7から、動画取得リクエストを受信する。アプリ実行状況検出部502は、動画コンテンツの再生位置(コンテンツの再生時間軸上の位置)と配信遅延許容時間を検出する。配信遅延許容時間は、動画再生アプリ7内にキャッシュされているコンテンツの上記再生時間軸上の時間である。配信遅延許容時間は、コンテンツの端末への配信が遅延しても,動画再生が滞らない(停止乃至中断しない)最大の時間を意味する。
動画コンテンツの再生位置と配信遅延許容時間は、例えば、動画再生アプリ7が動画コンテンツのフラグメントを取得するリクエストのヘッダに含まれる。但し、動画再生アプリ7のリクエスト送信の挙動から推定したり,プレイリストの内容から計算したりしても良い。
端末5のリクエスト送信部503は、動画再生アプリ7からのリクエストを、ゲートウェイ3に送信する。このとき、リクエスト送信部503は、端末5の識別子として,端末のMACアドレスをリクエストのヘッダに付与する。
端末5のコンテンツ受信部504は、ゲートウェイ3からのユニキャスト配信またはマルチキャスト配信によって無線網4を介して転送されるコンテンツフラグメントを受信する。
コンテンツバッファ505は、ゲートウェイ3から受信したコンテンツフラグメントを一時的に記憶する。図1を用いて説明した“処理1”と“処理2”とが非同期的に実行されるので、端末5のプロキシ6において,コンテンツフラグメントの待ち合わせを行う。特に、ゲートウェイ3からマルチキャストでコンテンツフラグメントが端末5に配信される場合では、以下の可能性がある。すなわち、動画再生アプリ7が実際にコンテンツサーバ1にリクエストを送信する前に、同じグループに所属する端末5からのリクエストに従って、コンテンツフラグメントが配信される可能性がある。
このため,実際に動画再生アプリ7からリクエストが発生するまで,コンテンツフラグメントがリクエストのURL(Uniform Resource Locator)と関連付けて記憶され、動画再生アプリ7にコンテンツフラグメントを提供できるようにしておく。
図4は、コンテンツバッファ管理テーブル505Aのデータ構造例を示す。コンテンツバッファ管理テーブル505Aは、コンテンツフラグメントのIDと、ローカルファイルのパス(コンテンツフラグメントの記憶位置)とを対応づけて記憶する。コンテンツバッファ505及びコンテンツバッファ管理テーブル505Aは、CPU51によって生成され、主記憶装置52及び補助記憶装置53の少なくとも一方に記憶される。端末5のコンテンツ配信部506は、所定のタイミングでコンテンツフラグメントをコンテンツバッファ505から読み出して動画再生アプリ7に転送する。
ゲートウェイ3のリクエスト受信部307は、端末5からのリクエストを受信し,リクエストに含まれるアプリ実行状況情報,端末ID(端末5の識別子),取得対象のコンテンツフラグメントのURLを抽出し、アプリ実行状況管理部309に渡す。ゲートウェイ3のリクエスト送信部308は、端末5からのリクエストを,コンテンツサーバ1に送信する。
アプリ実行状況管理部309は、端末5毎の動画コンテンツの再生状況を管理する。図5は、アプリ実行状況管理テーブル309Aのデータ構造例を示す。アプリ実行状況管理部309によってアプリ実行状況管理テーブル309Aは管理される。アプリ実行状況管理テーブル309Aは、端末5毎に形成されたレコード(エントリ)の集合である。レコードは、端末IDと、コンテンツIDと、コンテンツの再生位置と、配信遅延許容時間とを含む。アプリ実行状況管理テーブル309Aは、CPU31によって生成され、主記憶装置32及び補助記憶装置33の少なくとも一方に記憶される。端末IDは、端末5のMACアドレスを適用することができる。但し、MACアドレス以外の識別子で管理されても良い。また、MACアドレスと,MACアドレス以外の識別子の双方で管理されても良い。
アプリ実行状況管理部309は、プレイリストに含まれるコンテンツフラグメントの取得要求(リクエスト)を受信する度に、アプリ実行状況管理テーブル309Aの該当するレコードを更新する。レコードは、例えば,最初にレコードが追加されてから所定期間(1日など)が経過した場合に削除される。経過時間のチェック及び削除は、定期的に又は
非定期に実行できる。また、レコードは、プレイリストに記載されている最後のコンテンツフラグメントが取得された時点で削除しても良い。
ネットワーク状況管理部310は、無線帯域(無線網4)の使用状況(ユニキャストとマルチキャストとのそれぞれ)を管理する。ゲートウェイ3のように、ゲートウェイがAPとの一体型である場合には、APの機能として,使用帯域情報を取得可能である。但し、コンテンツ配信部314による実際のデータ転送量と転送時間から無線帯域の使用状況(使用帯域)を算出しても良い。ゲートウェイとAPとが分離されている場合には、APの外部API(Application Programming Interface)や、ゲートウェイ3と通信可能な
無線ネットワーク装置の管理システム(無線帯域の使用状況を管理している)から取得しても良い。
コンテンツ受信部311は、コンテンツサーバ1からコンテンツフラグメントを受信する。端末グループ決定部312は、端末5のアプリ実行状況と,無線網4の使用状況とから、グループ化する端末(各端末が属するグループ)、コンテンツフラグメントの配信方式(マルチキャストかユニキャストか)を決定する。
コンテンツ配信状況管理部313は、端末5毎に,端末5へ送信したコンテンツフラグメントのID(識別子)を管理する。マルチキャスト配信は、或る端末5と同じグループに属し、且つ再生位置が或る端末5より先行する或る端末5以外の端末5からのリクエストによって発生する場合がある。この場合に,同一のコンテンツフラグメントの重複配信を回避するために、各コンテンツフラグメントの配信先の端末5を示す情報を管理する。
図6は、コンテンツ配信状況管理部313によって管理される、コンテンツ配信状況管理テーブル303Aのデータ構造例を示す。コンテンツ配信状況管理テーブル303Aは、各端末5に対応するレコードを含む。レコードは、端末IDと、コンテンツフラグメントIDと、配信時刻とを含む。レコードの削除は、例えば、定期的に実行される。但し、削除要求に応じてレコードが削除されるようにしても良い。コンテンツ配信状況管理テーブル303Aは、CPU31によって生成され、主記憶装置32及び補助記憶装置33の少なくとも一方に記憶される。
コンテンツ配信部314は、端末グループ決定部312によって決定された配信方法(ゆにキャスト又はマルチキャスト)に従って,コンテンツフラグメントを端末5に配信する。配信の際に、コンテンツ配信部314は、コンテンツ配信状況管理部313が管理する配信状況(コンテンツ配信状況管理テーブル303A)を参照して,同一のコンテンツの配信を回避する。
<“処理1”のフロー>
図7は、処理1(アプリに対してコンテンツフラグメントを提供する処理)の例を示すフローチャートである。図7の処理は、動画再生アプリ7,プロキシ6として動作するCPU31によって実行される。
図7において、動画再生アプリ7は(以下「アプリ7」とも表記)、コンテンツフラグメント(以下単に「フラグメント」とも表記)の取得リクエスト(以下「リクエスト」とも表記)をプロキシ6に送信する(01)。
プロキシ6において、リクエスト受信部501は、アプリ7からのリクエストを受信すると(02)、アプリ実行状況検出部502を用いて、アプリ7の実行状況(再生位置,配信遅延許容時間)を検出する(03)。
04において、リクエスト受信部501は、アプリ7の実行状況,端末ID及びコンテンツIDをリクエストのヘッダに付与する。リクエスト送信部503は、リクエストをゲートウェイ3(以下「GW3」とも表記)へ送信する。リクエストはGW3のリクエスト受信部307で受信される。
05の処理において、リクエスト受信部501は、リクエストに係る(要求された)フラグメントのURLに対応するフラグメントがコンテンツバッファ505にバッファ済か否かを確認し、バッファ済かバッファ済みでないかを判定する(06)。
06においてバッファ済でないと判定される場合には(06,No)、リクエスト受信部501は、経過時間が閾値を超過するか否かを判定する。閾値を超過しないと判定される場合には(07,No)、一定時間待機の後、処理が05に戻される。これに対し、所定時間が閾値を超過すると判定される場合には(07,Yes)、処理が09に進む。09の処理では、エラー(タイムアウト)がリクエストの応答としてアプリ7に返却される。
一方、06において、バッファ済であると判定される場合には(06,Yes)、コンテンツ配信部506は、該当のフラグメントをコンテンツバッファ505から取得し(10)、アプリ7に送る(11)。
アプリ7は、フラグメントを取得し、アプリ7内でバッファリングする。バッファリングされたフラグメントは、コンテンツの再生処理に使用される。なお、09でプロキシからエラーが通知された場合には、アプリ7は、所定のエラー処理を行う(13)。12又は13の処理の終了後、図7の処理が終了する。
<“処理2”のフロー>
図8A及び図8Bは、処理2(アプリが要求するコンテンツのフラグメントを端末に配信する処理)の例を示すフローチャートである。図8Aは、ゲートウェイ3における処理を示し、図8Bは、端末5における処理を示す。ゲートウェイ3における処理は、CPU31によって行われ、端末5における処理は、CPU51によって行われる。
図8Aにおいて、リクエスト受信部307は、リクエスト送信部503からリクエストを受信する(001)。リクエスト受信部307は、リクエストから、アプリの実行状況,端末ID,コンテンツIDを抽出し、アプリ実行状況管理部309に渡す。アプリ実行状況管理部309は、アプリ実行状況管理テーブル309A(図5)を更新する(002)。
003では、リクエスト送信部308が、リクエスト中のURLに従って,所定のコンテンツサーバ1に,リクエストを転送する。コンテンツサーバ1は、リクエストに対応するコンテンツのフラグメントを送信し、コンテンツ受信部311がフラグメントを受信する。
004では、端末グループ決定部312が各端末5のアプリ実行状況と、無線網4の使用状況とを参照して,端末のグルーピングを行う(この処理の詳細は後述する)。
005では、コンテンツ配信部314が、グルーピングの結果に基づき、リクエストの送信元端末への配信方式がユニキャストかマルチキャストかを判定する。このとき、配信方式がユニキャストであると判定される場合には(005,Yes)、処理が010に進む。これに対し、配信方式がマルチキャストであると判定される場合には(005,No)、処理が006に進む。
006では、コンテンツ配信状況管理部313(管理部313)が、リクエストの送信元端末が属するグループに,フラグメントをマルチキャストで送信済みか否かを確認する。確認は、コンテンツ配信状況管理テーブル303Aを参照することで行われる。
007では、コンテンツ配信部314が、管理部313の確認結果に基づき送信済であるか否かを判定する。送信済であると判定される場合には(007,Yes)、図8Aの処理が終了する。これに対し、送信済でないと判定される場合には(007,No)、処理が008に進む。
008では、コンテンツ配信部314は、URLとグループに属する端末IDのリストとともに、フラグメントをマルチキャストで配信する。009では、コンテンツ配信状況管理部313が、配信に応じて、コンテンツ配信状況管理テーブル303Aを更新する。
010に処理が進んだ場合には、コンテンツ配信部314は、URLとグループに属する端末IDのリストとともに、フラグメントをユニキャストで配信する。その後、処理が009に進む。
端末5では、011において、コンテンツ受信部504が、ユニキャストで配信されたフラグメントを受信し、処理を014に進める。012では、コンテンツ受信部504が、マルチキャストで配信されたフラグメントを受信し、処理を013に進める。
013では、コンテンツ受信部504が、端末IDリストに自端末の端末IDが含まれるか否か(端末5が参加しているマルチキャストグループのパケット(フラグメント)か)を判定する。端末IDが含まれていないと判定される場合には(013,No)、図8Bの処理が終了する(フラグメントは保存されない)。端末IDが含まれていると判定される場合には(013,Yes)、処理が014に進む。
014では、フラグメントがコンテンツバッファ505に保存(記憶)される。また、コンテンツバッファ管理テーブル505A(図4)が更新される。フラグメントとURLとが関連づけられる。その後、図8Bの処理が終了する。
なお、図8Bの破線矩形で囲まれた処理は、コンテンツフラグメント取得リクエストの発生とは無関係に、マルチキャストで配信されたパケット(フラグメント)が受信された場合に実行されることがある。
なお,マルチキャスト配信の場合,他の端末5からの,同じコンテンツフラグメントについてのリクエストの発生タイミング次第で,端末5へのコンテンツフラグメントの配信が行われない場合があり得る。逆に、リクエストを送信しなくても,コンテンツフラグメントの配信が発生する場合もあり得る。
<端末のグルーピング処理>
図9は、端末のグルーピング処理の例を示すフローチャートである。図9に示す処理は、端末グループ決定部312(決定部312)として動作するCPU31によって行われる。021の処理では、決定部312は、全ての端末5がユニキャスト配信した場合の使用帯域を計算する。
022の処理では、決定部312は、使用帯域がAPの許容帯域の上限以上か否かを判定する。使用帯域がAPの許容帯域の上限以上と判定される場合には(022,Yes)、処理が023に進む。これに対し、使用帯域がAPの許容帯域の上限未満と判定される
場合には(022,No)、処理が031に進む。
023の処理では、決定部312は、各端末5の再生位置と配信遅延許容時間とを参照し,マルチキャスト可能な端末グループを決定する(各グループとも「未選択」に設定する)。なお、023において、或るグループの部分集合となるグループは除外される。また、端末5からの電波強度から、端末毎の伝送レートを判定し、レートが大きくなる場合には、コンテンツの再生位置が近くてもグルーピングしない構成を採用可能である。
024の処理では、023で決定されたグループが存在するか否かを判定する。グループが存在しないと判定される場合には(024,No)、処理が031に進む。グループが存在すると判定される場合には(024,Yes)、処理が025に進む。
025の処理では、決定部312は、各グループの使用帯域と、マルチキャスト配信への変更による使用帯域の削減量を計算する。026では、決定部312は、未選択グループがあるか否かを判定する。未選択グループがない場合には(026,Yes)、処理が033に進み、未選択グループがある場合には(026,No)、処理が027に進む。
027では,決定部312は、未選択グループのうち、使用帯域の削減量が一番多いグループの使用帯域を参照する。028では、決定部312は、グループの使用帯域がマルチキャスト用の帯域を超過するか否かを判定する。グループの使用帯域がマルチキャスト用帯域を超過すると判定される場合には(028,Yes)、処理が033に進む。これに対し、グループの使用帯域がマルチキャスト用帯域以下と判定される場合には(028,No)、処理が029に進む。
029の処理では、決定部312は、使用帯域の削減量の一番多いグループを、マルチキャスト配信が適用されるグループとして選択する。030の処理では、決定部312は、これまでに選択されたグループが全端末をカバーしているか否かを判定する。すなわち、全ての端末5が、マルチキャストが選択されたグループのいずれかに属しているかが判定される。全ての端末がカバーされる場合には(030,Yes)、処理が032に進み、そうでない場合には(030,No)、029で選択されたグループが「選択済」に設定され(「未選択」が解除され)処理が026に戻る。026では、029で選択されたグループ以外の未選択のグループについて、027〜030の処理が行われる。
031に処理が進んだ場合には、決定部312は、全ての端末5に対する配信方式をユニキャストにすることを決定する。032に処理が進んだ場合には、決定部312は、選択されたグループに属する端末5(全端末)に対する配信方式をマルチキャストにすることを決定する。033に処理が進んだ場合には、決定部312は、現状で選択された(選択済の)グループの配信方式をマルチキャストに設定する。一方、選択されたグループに属しない残りの端末5に対する配信方式をユニキャストに設定することを決定する。
図10及び図11は、グルーピングの説明図である。図10は、どのような場合にグルーピング可能か、グルーピング不可能かという基本的な考え方を説明する。例えば、同一のコンテンツを再生中の端末t1,端末t2,及び端末t3があると仮定する。そして、各端末が再生しているコンテンツ全体を長方形で表し、コンテンツは複数のフラグメントに分割されていることを意味する。コンテンツは、再生時間の経過によって、再生位置が先頭(長方形の左端)から末尾(右端)方向へ移動する。コンテンツに対して、再生位置(再生時刻)とバッファリング可能な位置(バッファリング可能時刻)とが規定され、時間経過に伴い、再生位置とバッファリング可能な位置は末尾方向に移動する。
再生時刻とバッファリング可能時刻との間の時間は、配信遅延許容時間であり、この間
は、コンテンツバッファ505に格納されたフラグメントを用いたコンテンツの再生がなされる。よって、配信遅延許容時間が経過する前に次のフラグメントが供給されれば、中断や停止のない再生が行われる。
ここで。端末t2に注目すると、端末t1の配信遅延許容時間内に再生位置が入っているので、この配信遅延許容時間内に次のフラグメントが供給されるようにフラグメントの配信を行っても、バッファリングが可能で、且つ再生が中断又は停止することもない。決定部312は、このような端末t1と端末t2とを同じグループ(例えばグループ1)にグルーピングする。端末t1は、「第1の配信先」の一例であり、端末t2は、「第1の配信先に対応する所定期間内に再生位置が存する第1の配信先以外の配信先」の一例である。これに対し、端末t3の再生位置は、端末t1の配信遅延許容時間外にあるので、フラグメントの配信タイミングを端末t1に揃えることができない。よって、端末t3は、端末t1と同じグループにグルーピングされない。
図11は、グルーピングの例を示す。想定として、端末t1〜t6は、同じ動画コンテンツを再生中である。各端末の使用帯域は10Mbpsである。APの許容帯域は50Mbpsである。そして、マルチキャスト用の帯域上限が20Mbpsである。
端末t1〜t6の再生位置(再生時刻)とバッファリング可能な位置(バッファリング可能時刻)とが図11に示すような状態である場合、端末t2及び端末t3の再生位置は、端末t1の配信遅延許容時間内にある。このため、決定部312は、端末t1〜t3を同一のグループG1にグルーピングする。また、決定部312は、端末t6の再生位置が端末t5の配信遅延許容時間内にあるので、端末t5と端末t6とを同一のグループG2にグルーピングする。図11の左下には、決定部312が管理するグループリスト312Aを示す。グループG1の削減量は、端末t1〜t3の各帯域10Mbpsをマルチキャストにより一つに纏めるため、20Mbpsである。これに対し、グループG2の削減量は、端末t5及びt6を一つに纏めるため、10Mbpsである。
そして、図9に示す027の処理においてグループG1が選択される。グループG1の使用帯域10Mbpsは、マルチキャスト用帯域20Mbpsを超えないので、029の処理でグループG1が選択される。030の処理で、グループG1は全端末をカバーしないので、グループG2について027〜030の処理が行われる。その後、030から026へ処理が遷移する。グループG1及びG2以外のグループは存在しないので、処理が033に遷移する。そして、図11にグルーピング結果として示されるように、グループG1(端末t1,t2,t3)に対するマルチキャスト配信が決定され、グループG2(端末t5及びt6)に対するマルチキャスト配信が決定される。もっとも、端末t4は、いずれのグループにも属することができないので、端末t4に対するユニキャストが決定される。
<第1実施形態の効果>
第1実施形態では、「配信先毎に異なる再生位置で再生可能なコンテンツの複数の配信先」の一例として複数の端末5が用意され、「複数の配信先へのコンテンツの配信を制御するコンテンツ配信制御装置」の一例として、ゲートウェイ3が用意されている。
ゲートウェイ3は、各端末5から得られる、コンテンツの再生位置と前記再生位置からの所定期間を示す情報(配信遅延許容時間)とに基づいて、複数の配信先をグルーピングするグルーピング部としての決定部312(CPU31)を含む。
また、決定部312(CPU31)は、複数の配信先へのコンテンツの配信に使用される網の使用状況に基づいて、グルーピングにより形成されたグループに対するコンテンツ
の配信方法を判定する判定部の一例である。
グルーピング部としての決定部312は、複数の配信先(例えば、端末t1〜t6(図11))のうち、第1の配信先(端末t1)と、第1の配信先に対応する所定期間内に再生位置が存する第1の配信先以外の配信先(端末t2,t3)とを1つのグループ(G1)にグルーピングする。
判定部としての決定部312は、無線網4の使用状況に基づいて、1つのグループに対する前記コンテンツのマルチキャスト配信が可能か否かを判定する(図9,028)。そして、マルチキャスト配信可能な場合には、グループG1に対するマルチキャスト配信の設定を行う。これによって、端末t1,t2,t3に対し、マルチキャストで共通な帯域を用いたコンテンツ配信がなされるので、無線網4の使用帯域を削減することができる。このように、第1実施形態は。コンテンツ配信に用いる帯域を削減可能とすることができる。
また、第1実施形態では、判定部としての決定部312は、複数のグループ(例えばG1,G2)が形成される場合に、マルチキャスト配信による帯域削減量が大きいグループの配信方法の判定を優先して行う(図9,027〜029の処理参照)。これによって、削減量の多いグループからマルチキャストに切り替えて、使用帯域の削減を図る。
第1実施形態によれば、図1に示したようなコンテンツの配信システム(ゲートウェイ3)において、端末5毎のアプリの実行状況(コンテンツの再生状況)である動画コンテンツの再生位置と配信遅延許容時間とに基づき、端末5のグルーピングを行う。グルーピングは、コンテンツの配信を一纏めに可能な端末、すなわち、或る端末5の再生位置に基づく配信遅延許容時間内に再生位置が存する或る端末5以外の端末5が同一のグループにグルーピングされる。
そして、各端末5に対するコンテンツフラグメントの供給網(網)である無線網4の使用状況に基づき、各グループに対するコンテンツ(フラグメント)の配信方法として、マルチキャストとユニキャストとのいずれを適用するかが決定される。第1実施形態では、各グループに属する端末5の使用帯域がマルチキャスト用の帯域以下である場合に、マルチキャスト配信が決定され、そうでない場合にユニキャスト配信が決定される。
グルーピング(グループ化)前では、個々の端末5に対してユニキャストによりフラグメントが供給されていたのに対し、マルチキャスト配信では、共通の帯域を用いてフラグメントが供給されるので、無線網4における使用帯域が削減される。よって、輻輳の発生が抑えられ、ユーザがユーザ体感品質(QoE)が低下したと認識するケースを減らす(抑える)ことができる。
上記したように、第1実施形態では、複数のグループが形成された場合に、帯域の削減量が大きいグループから優先的に配信方法が判定される。これによって、帯域の削減効果の大きいグループを優先的にマルチキャスト配信に変更することで、使用帯域を削減できる。
〔第2実施形態〕
以下、第2実施形態について説明する。第2実施形態は第1実施形態との共通点を含むので、主として相違点について説明し。共通点についての説明は省略する。
第2実施形態では、ユーザに分からないように(ユーザに認識されない程度に)動画再生アプリ7によるコンテンツの再生速度を調整し、グループ化可能な端末5を増やす。こ
れにより、コンテンツの供給網(無線網4)の使用帯域を削減し、第1実施形態よりもQoEの低下を認識するユーザを減らすことを可能とする。
図12は、第2実施形態におけるゲートウェイ3及び端末5の構成例を示す図である。第2実施形態のハードウェア構成は、第1実施形態と同様の構成(図2)を適用することができる。
第2実施形態におけるゲートウェイ3及び端末5は、第1実施形態とほぼ同様の構成を採ることができる(図3)。但し、第2実施形態の構成が第1実施形態の構成と異なる点は、以下の通りである。
(0)端末5のプロキシ6がさらに再生速度制御部515を有する。再生速度制御部515は、動画再生アプリ7によるコンテンツの再生速度を速めたり遅くしたりすることができる。
(1)端末5側のアプリ実行状況検出部502が、再生位置と配信遅延許容時間の他に、再生速度を検出する。
再生速度は,通常の再生速度を例えば1.0とした場合における倍率である。再生速度の変化がユーザにとって気にならないように、再生速度の取り得る範囲は、例えば、1.0(標準)を中心に±0.1(倍)の範囲に収められる。但し、再生速度(倍率)は、ユーザが気にしない範囲で適宜変更可能である。
(2)ゲートウェイ3のアプリ実行状況管理部309が,端末毎の再生速度も管理する。
図13は、第2実施形態におけるアプリ実行状況管理テーブル309Bのデータ構造例を示す。図13に示すように、第1実施形態におけるアプリ実行状況管理テーブル309Aのデータ構造(図5)に加えて、再生速度が記憶される。
(3)ゲートウェイ3の端末グループ決定部312が、端末5毎の再生速度を変更可能なことを考慮したグルーピングを行う。
図14は、第2実施形態における端末5のグルーピング方法(端末5のグルーピングの考え方)の説明図である。第1実施形態との違いは、グルーピングの際の再生位置の範囲を第1実施形態よりも多少多めに評価することにある。
例えば、図14における端末t3は、第1実施形態においてグループ1に属さないと判定される。これに対し、第2実施形態では、端末t1の配信遅延許容時間の満了時期と端末t3の再生位置との時間差(再生位置のズレ)が小さい場合には、端末t3における再生速度を遅くして端末t1と同じグループにグルーピング可能と判定される。端末t4は、再生位置のズレが若干大きいので、即座に端末t1とグルーピングすることは不可能であるが、再生速度を遅くし、しばらくすると、端末t1とグルーピング可能になると考えられる。端末t1は、「第1の配信先」の一例であり、端末t3は、「第2の配信先」の一例である。
図15A及び図15Bは、第2実施形態における端末のグルーピング処理の例を示すフローチャートである。第2実施形態では、図15Aにおける041及び042の処理と、図15Bにおける051〜057の処理とが追加されている点で、第1実施形態(図9)と異なる。図16は、第2実施形態におけるグルーピング方法の説明図である。
041,042の処理では、決定部312は、各端末5の再生速度を確認し、再生速度が1.0未満の場合には0.02を加算し、1.0を超えている場合には0.02を減算
した値にするような、動画再生アプリ7に対するコマンドを各端末5に割り当てる。割当られたコマンドが、各端末5の動画再生アプリ7に供給される。これは、どの端末も既にグルーピングされるか、そもそも帯域が潤沢にあるため、グルーピングする必要がなく、再生速度の調整を行う必要がないため、変更された再生速度を、本来の値1.0に徐々に戻すための処理である。
051の処理は、026にて未選択グループがないと判定された場合、及びグループの使用帯域がマルチキャスト用帯域を超える場合に行われる。051では、決定部312は、選択されたグループに所属する各端末5の再生速度を確認する。このとき、1.0未満の場合に0.02加算し、1.0を超えている場合に0.02減算した値にするような動画再生アプリ7に対するコマンドが各端末5に割り当てられる。
052の処理では、決定部312は、グループ未所属でまだ速度調整確認してないものがあるか否かを判定する。速度調整確認していないものがない場合には処理が033に進み。速度調整確認していないものがある場合には処理が053に進む。
053の処理では、決定部312は、グループに所属しない端末5を一つ選択し,選択した端末5の再生位置の近傍で、且つ或るグループに属する端末5の再生位置との差分を計算する。このとき、選択した端末5の両隣に別個のグループにそれぞれ属する端末5の再生位置が存する場合には、決定部312は、再生位置が近い側の再生位置との差分を計算する。
054では、決定部312は、差分がグループ化の閾値Δ1以下であるか否かを判定する。差分が閾値Δ1以下である場合には、処理が055に進み、そうでない場合には、処理が057に進む。
055では、決定部312は、053で選択した端末を、053での差分算出に用いた再生位置の端末5(最近傍端末)が属するグループに追加する。056では、決定部312は、追加した端末の再生位置がグループより遅れている場合に0.02を加算し、進んでいる場合に0.02を再生速度から減算した値にするコマンドを当該端末に割り当てる(供給する)。但し,再生速度が1.0の±0.1、すなわち[0.9≦再生速度≦1.
1]の範囲に収まらない場合は、再生速度を変更しない。その後、処理が052に戻る。
057に処理が進んだ場合には、決定部312は、053で算出した差分が速度調整の閾値Δ2以下か否かを判定する。差分が閾値Δ2以下の場合には、処理が056に進み、グループ化はされないが、再生位置が最近傍グループの再生位置に近づけられる。これに対し、差分が閾値Δ2を超える場合には、処理が052に戻る。
図16に示すように、同じコンテンツを再生する端末t1〜t7があり、端末t1〜t7の再生位置が、図16に示すように分布していると仮定する。端末t2及びt3の再生位置は、端末t1の配信遅延許容時間内(破線枠参照)に存するため、グループG1にグルーピングされる(図15A,023)。同様にして、端末t6と端末t7とがグループG2にグルーピングされる。なお、端末t4,端末t5はグルーピングされない。このような処理の結果、026から051へ処理が進む。
端末t4、端末t5は、どちらもグループに所属していないので、051において、再生速度の調整は行われず、052の条件に合致するので、処理が053に進む。
053では、端末t4と端末t5とのうち、例えば端末t4が選択される。図16に示すように、端末t4の再生位置の左隣には、グループG1に属する端末t3の再生位置が
隣接している。右側には、グループ2が存在するが、グループ2に属する端末t6およびt7よりも、端末t3の方が近いので、端末t3を端末t4の最近傍端末と見なす。決定部312は、端末t4の再生位置と、端末t3の再生位置との差分を算出し(053)、閾値Δ1以下か否かを判定する(054)。このとき、差分がΔ1以下である(再生位置がグループG1に非常に近い)と仮定すると、決定部312は、端末t4をグループG1に追加する(055)。056で、決定部312は、端末t4がグループG1より進んでいるので、再生速度に0.02を減算する。これにより,端末t4の再生位置が端末t3の再生位置に近づく。
その後、処理が052に戻り、053にて端末t5が選択される。端末t5の右側には端末t5に隣接するグループG2がある(左側のグループはグループG2よりも離れている)。このため、グループG2中の最近傍の再生位置(端末t6の再生位置)と端末t5の再生位置との差分を決定部312は計算する(053)。このとき、差分は閾値Δ1を超過する(054)、しかし差分は閾値Δ2以下である(057)と仮定する(再生位置がグループG2にやや近い)。この場合、056において、端末t5の再生速度が0.02減算される。これにより,端末t5の再生位置が端末t6の再生位置に近づく。端末t5は、グループG2に追加されないが、056でグループG2に近づけられるため、やがてグループG2に追加される程に再生位置が近づく可能性がある。
コマンドに関しては、以下のように扱われる。041,042等でコマンドが端末に割り当てられると、ゲートウェイ3でコマンドが発行され(コンテンツサーバ1に発行させても良い)、フラグメントとともに、宛先の端末5へ送信される。但し、コマンドは、フラグメントとは別個に端末5へ送信されても良い。
図12に示すように、第2実施形態では。端末5のプロキシ6が再生速度制御部515を有する。端末5のコンテンツ受信部504は、ゲートウェイ3から、コンテンツフラグメントとともに再生速度の変更コマンドを受信する。コンテンツ受信部504は、再生速度変更コマンドを再生速度制御部515に渡し、動画再生アプリ7のAPIを呼び出して,動画コンテンツの再生速度を変更する。
図17は、第2実施形態における“処理1”の例を示すフローチャートである。第2実施形態では、03の処理(図7)の代わりに03Aの処理が行われる点で、第1実施形態と異なる。
プロキシ6において、リクエスト受信部501は、アプリ7からのリクエストを受信すると(02)、アプリ実行状況検出部502を用いて、アプリ7の実行状況(再生位置,配信遅延許容時間、再生速度)を検出する(03A)。図17の処理は、03A以外は第1実施形態の処理(図7)と同じであるので説明は省略する。
図18A及び図18Bは、第2実施形態における“処理2”を示すフローチャートである。図18Aにおいて、第1実施形態の処理(図8A及び図8B)における004,008,010の代わりに004A,008A,010Aが設けられている点で、第1実施形態と異なる。また、図18Bに示すように、016及び017が追加されている点で、第1実施形態と異なる。
004Aでは、004では、端末グループ決定部312が各端末5のアプリ実行状況と、無線網4の使用状況とを参照して,端末のグルーピングを行う。このとき、決定部312は、再生速度の変更を要する端末5向けに、変更内容を決定する。
008Aでは、コンテンツ配信部314は、URLとグループに属する端末IDのリス
トとともに、フラグメントをマルチキャストで配信する。このとき、再生速度の変更コマンドがあれば、変更コマンドがフラグメントともに配信される。
010Aでは、コンテンツ配信部314は、URLとグループに属する端末IDのリストとともに、フラグメントをユニキャストで配信する。このとき、再生速度の変更コマンドがあれば、変更コマンドがURL,端末IDリスト及びフラグメントともに配信される。
016では、再生速度の変更コマンドの有無が判定され、変更コマンドがある場合、変更コマンドに従って動画再生アプリ7によるコンテンツの再生速度が経項される(017)。
第2実施形態では、グループに属しない第2の配信先のコンテンツの再生速度と、グループに属する第1の配信先の再生速度との差分が求められる。第2の配信先は、例えば、図16の例における端末t4,端末t5である。第1の配信先は、端末t4に対する端末t3,端末t5に対する端末t6である。端末t3は、グループG1に属し且つ再生位置が端末t4の再生位置の最近傍に位置する。端末t6は、グループG2に属し且つ再生位置が端末t5の再生位置の最近傍に位置する。
決定部312は、第1及び第2の配信先の再生位置の差分に基づいて、第1の配信先(t4,t5)の再生位置をグループ(G1,G2)に属する配信先(t3,t6)の再生位置に近づける再生速度の変更を設定する設定部(図15B,056)の一例である。
第2実施形態は、さらに、グルーピング部としての決定部312が第1の配信先(t3)の再生位置と第2の配信先(t4)の再生位置との差分が閾値Δ1より小さい場合に第2の配信先(t4)を第1の配信先(t3)が属するグループG1に追加する。これによって、端末t4をマルチキャストグループに含めて帯域削減を図ることができる。
換言すれば、第2実施形態では、コンテンツの再生速度を変更し、グループに属する端末5の数を増やすことができる。これによって、輻輳発生を第1実施形態よりも抑え、ユーザのQoEが低下する可能性を抑えることができる。
以上説明した実施形態の構成は、適宜組み合わせることができる。
1・・・コンテンツサーバ
3・・・ゲートウェイ(AP含む)
4・・・無線網
5・・・端末
6・・・プロキシ
7・・・動画再生アプリ
31,51・・・CPU
32,52・・・主記憶装置
33,53・・・補助記憶装置
34,54・・・無線通信回路

Claims (7)

  1. 異なる再生位置で再生可能なコンテンツの複数の配信先のそれぞれから得られる、前記コンテンツの再生位置と前記再生位置からの所定期間を示す情報とに基づいて、前記複数の配信先をグルーピングするグルーピング部と、
    前記複数の配信先への前記コンテンツの配信に使用される網の使用状況に基づいて、前記グルーピングにより形成されたグループに対するコンテンツの配信方法を判定する判定部と
    を含むコンテンツ配信制御装置。
  2. 前記グルーピング部は、前記複数の配信先のうち、第1の配信先と、前記第1の配信先に対応する前記所定期間内に再生位置が存する前記第1の配信先以外の配信先とを1つのグループにグルーピングし、
    前記判定部は、前記使用状況に基づいて、前記1つのグループに対する前記コンテンツのマルチキャスト配信が可能か否かを判定する
    請求項1に記載のコンテンツ配信制御装置。
  3. 前記判定部は、前記グルーピング部によって複数のグループが形成された場合に、マルチキャスト配信による帯域削減量が大きいグループの配信方法の判定を優先して行う
    請求項1又は2に記載のコンテンツ配信制御装置。
  4. 前記グループに属しない第2の配信先の前記コンテンツの再生速度と、前記グループに属し且つ再生位置が前記第2の配信先の再生位置の最近傍の第1の配信先の再生位置と前記第2の配信先の再生位置との差分とに基づいて、前記第2の配信先の再生位置を前記グループに属する配信先の再生位置に近づける再生速度の変更を設定する設定部をさらに含む
    請求項1から3のいずれか1項に記載のコンテンツ配信制御装置。
  5. 前記グルーピング部は、前記第1の配信先の再生位置と前記第2の配信先の再生位置との差分が閾値より小さい場合に前記第2の配信先を前記グループに追加する
    請求項4に記載のコンテンツ配信制御装置。
  6. 異なる再生位置で再生可能なコンテンツの複数の配信先への配信を制御するコンテンツ配信制御装置が、
    前記複数の配信先のそれぞれから得られる、前記コンテンツの再生位置と前記再生位置からの所定期間を示す情報とに基づいて、前記複数の配信先をグルーピングし、
    前記複数の配信先への前記コンテンツの配信に使用される網の使用状況に基づいて、前記グルーピングにより形成されたグループに対するコンテンツの配信方法を判定する
    ことを含むコンテンツ配信制御装置のコンテンツ配信制御方法。
  7. 異なる再生位置で再生可能なコンテンツの複数の配信先への配信を制御するコンテンツ配信制御装置として動作するコンピュータに、
    前記複数の配信先のそれぞれから得られる、前記コンテンツの再生位置と前記再生位置からの所定期間を示す情報とに基づいて、前記複数の配信先をグルーピングし、
    前記複数の配信先への前記コンテンツの配信に使用される網の使用状況に基づいて、前記グルーピングにより形成されたグループに対するコンテンツの配信方法を判定する
    ことを実行させるプログラム。
JP2016058200A 2016-03-23 2016-03-23 コンテンツ配信制御装置,そのコンテンツ配信制御方法,及びプログラム Pending JP2017175334A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016058200A JP2017175334A (ja) 2016-03-23 2016-03-23 コンテンツ配信制御装置,そのコンテンツ配信制御方法,及びプログラム
US15/467,154 US20170280170A1 (en) 2016-03-23 2017-03-23 Content distribution control apparatus and content distribution control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016058200A JP2017175334A (ja) 2016-03-23 2016-03-23 コンテンツ配信制御装置,そのコンテンツ配信制御方法,及びプログラム

Publications (1)

Publication Number Publication Date
JP2017175334A true JP2017175334A (ja) 2017-09-28

Family

ID=59896770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016058200A Pending JP2017175334A (ja) 2016-03-23 2016-03-23 コンテンツ配信制御装置,そのコンテンツ配信制御方法,及びプログラム

Country Status (2)

Country Link
US (1) US20170280170A1 (ja)
JP (1) JP2017175334A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021256326A1 (ja) * 2020-06-19 2021-12-23 ソニーグループ株式会社 サーバ装置、端末装置、情報処理システム及び情報処理方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11917237B2 (en) * 2020-02-14 2024-02-27 Intel Corporation Move stream content from point to point over the existing IP gateway

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6543053B1 (en) * 1996-11-27 2003-04-01 University Of Hong Kong Interactive video-on-demand system
US20020023166A1 (en) * 2000-04-11 2002-02-21 Amotz Bar-Noy Method for stream merging
US7107606B2 (en) * 2000-08-30 2006-09-12 The Chinese University Of Hong Kong System and method for highly scalable video on demand
CN1528088A (zh) * 2000-12-13 2004-09-08 ���Ĵ���ѧ 经由网络递送媒体选择的方法与***
US7656908B1 (en) * 2005-09-30 2010-02-02 At&T Corp. System and method for delivering content in a unicast/multicast manner
US7430222B2 (en) * 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
US7788393B2 (en) * 2005-02-23 2010-08-31 Cisco Technology, Inc. Switching a client from unicasting to multicasting by increasing the unicast stream rate to the client
US20060225118A1 (en) * 2005-03-29 2006-10-05 Cox Communications, Inc. Methods and systems for providing Internet protocol video over a multicast bonded group
WO2007024233A1 (en) * 2005-08-26 2007-03-01 Thomson Licensing On demand system and method using dynamic broadcast scheduling
US8001575B2 (en) * 2007-08-21 2011-08-16 Alcatel Lucent Method of distributing video-on-demand over an internet protocol network infrastructure
US8312493B2 (en) * 2008-06-18 2012-11-13 Cisco Technology, Inc. Providing program restart functionality in a digital video network
US20100254462A1 (en) * 2009-04-07 2010-10-07 Cisco Technology, Inc. Method for reducing memory usage with accelerated channel changes
CN101588494B (zh) * 2009-06-30 2011-09-21 华为技术有限公司 一种媒体流处理方法及通讯***以及相关设备
US8522292B2 (en) * 2011-06-15 2013-08-27 Microsoft Corporation Streaming media bandwidth reduction
US9113211B1 (en) * 2011-10-05 2015-08-18 Arris Technology, Inc. Consolidation of time-compressible time-offset media streams
US9571896B2 (en) * 2012-12-10 2017-02-14 Time Warner Cable Enterprises Llc Methods and apparatus for dynamic management and bandwidth allocation for content delivery
US9066153B2 (en) * 2013-03-15 2015-06-23 Time Warner Cable Enterprises Llc Apparatus and methods for multicast delivery of content in a content delivery network
US9402107B2 (en) * 2013-03-15 2016-07-26 Time Warner Cable Enterprises Llc Apparatus and methods for delivery of multicast and unicast content in a content delivery network
WO2015023655A1 (en) * 2013-08-12 2015-02-19 Imvision Software Technologies Ltd. Method and system for managing the delivery of over-the-top streams
US9628405B2 (en) * 2014-04-07 2017-04-18 Ericsson Ab Merging multicast ABR and unicast ABR with progressive download ABR in a customer premises device within the same video delivery pipe

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021256326A1 (ja) * 2020-06-19 2021-12-23 ソニーグループ株式会社 サーバ装置、端末装置、情報処理システム及び情報処理方法

Also Published As

Publication number Publication date
US20170280170A1 (en) 2017-09-28

Similar Documents

Publication Publication Date Title
US9660922B2 (en) Network assisted rate shifting for adaptive bit rate streaming
US9998915B2 (en) Wireless communication device
WO2017125017A1 (zh) 缓存内容的调整方法、装置及***
RU2571732C2 (ru) Управляющее устройство и способ управления передачей потока видеоданных по сети на сетевое пользовательское устройство
WO2020216279A1 (zh) 一种媒体流发送方法、装置和设备
JP2015515170A (ja) 仮想パイプ内のマルチメディアストリームによって使用されるネットワークリソースを管理する方法及び装置
JP2014534489A (ja) 帯域幅および対応する装置を制御する方法
WO2017185951A1 (zh) 一种视频传输方法、基站及***
US20160234069A1 (en) Dynamic Content Delivery Network Allocation System
WO2020199929A1 (zh) 分发数据的方法和网络设备
US11848973B2 (en) Media stream sending method, apparatus, system and device
JP6485865B2 (ja) 配信制御装置、中継装置、配信システム、配信制御方法、及びプログラム
JP5699619B2 (ja) キャッシュ装置、データ管理方法、プログラム、及びキャッシュシステム
JP2017175334A (ja) コンテンツ配信制御装置,そのコンテンツ配信制御方法,及びプログラム
JP2008011177A (ja) ストリーミング配信における動的品質制御方法およびネットワーク・システム
CN104641655A (zh) 一种终端缓存的方法、终端及服务器
JP5729659B2 (ja) メディアストリーミング方法およびメディアコントローラ
JP5856795B2 (ja) コンテンツ配信システム
US10728911B2 (en) Wireless communication device
CN117121463A (zh) 在可定制内容和预创作媒体内容的递送之间切换
JP7222748B2 (ja) 受信装置及び配信サーバ
KR20130134911A (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
WO2023275969A1 (ja) データ中継装置、配信システム、データ中継方法、及びコンピュータ可読媒体
WO2013102962A1 (ja) キャッシュ装置、キャッシュ置換方法、及び非一時的なコンピュータ可読媒体
KR101565137B1 (ko) 무선 스트리밍 서비스 제공 방법 및 장치