JP2017069849A - 映像制御装置、映像配信システムおよび映像制御方法 - Google Patents

映像制御装置、映像配信システムおよび映像制御方法 Download PDF

Info

Publication number
JP2017069849A
JP2017069849A JP2015195257A JP2015195257A JP2017069849A JP 2017069849 A JP2017069849 A JP 2017069849A JP 2015195257 A JP2015195257 A JP 2015195257A JP 2015195257 A JP2015195257 A JP 2015195257A JP 2017069849 A JP2017069849 A JP 2017069849A
Authority
JP
Japan
Prior art keywords
video
network
available bandwidth
data
video data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015195257A
Other languages
English (en)
Inventor
遼太 大西
Ryota Onishi
遼太 大西
一暢 小西
Kazunobu Konishi
一暢 小西
孝弘 米田
Takahiro Yoneda
孝弘 米田
衛一 村本
Eiichi Muramoto
衛一 村本
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.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
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 Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to JP2015195257A priority Critical patent/JP2017069849A/ja
Publication of JP2017069849A publication Critical patent/JP2017069849A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ネットワークの帯域変化により適切に対応できる映像制御装置、映像配信システムおよび映像制御方法を提供する。【解決手段】映像制御装置100は、ネットワーク300を介して受信した映像データを蓄積する再生バッファ208と、再生バッファ208から読み出した映像データをデコードするデコーダ209と、ネットワーク300の所定時間後の可用帯域を推定し、推定した所定時間後の可用帯域に基づき必要となる目標バッファデータ量を決定し、決定した目標バッファデータ量と、再生バッファ208に蓄積されたデータ量とを用いて、映像データのトランスコード速度と、映像データのエンコードレートを含むエンコードパラメータとを決定する決定部220と、決定部220が決定したトランスコード速度およびエンコードパラメータを、サーバ装置100に対して送信する通信部210と、を備える。【選択図】図4

Description

本発明は映像を映像変換(トランスコード)する映像制御装置、映像配信システムおよび映像制御方法に関する。
映像配信サーバに蓄積された映像データを、ネットワークを介して、クライアントに配信するシステムでは、クライアントにおいて高品質かつ安定した映像の再生を実現できることが望ましい。インターネットのようなネットワークは、利用可能な帯域(以下、可用帯域とも呼ぶ)が変化する。このため、映像データの配信と並行して、映像配信サーバが、映像データのビットレート(以下、エンコードレートとも呼ぶ)を可用帯域以下に抑えるように映像変換(以下、トランスコードとも呼ぶ)する制御を行っている。
また、ネットワークの可用帯域の変化に合わせて、映像データを指定したエンコードレートでトランスコードするだけでなく、映像をトランスコードする速度(以下、トランスコード速度とも呼ぶ)を調整する技術が提案されている。
特許文献1では、可用帯域が変化する接続を介した映像データの送信において、エンコードレートとトランスコード速度とを調整する技術が開示されている。
特表2014−529931号公報
しかしながら、上述した従来の技術では、ネットワークの帯域変化に適切に対応できていないため、更なる改善が必要とされていた。
そこで、本発明は、ネットワークの帯域変化により適切に対応できる映像制御装置、映像配信システムおよび映像制御方法を提供することを目的とする。
従来の課題を解決するため、本発明の一態様に係る映像制御装置は、サーバ装置から送信された映像データを受信する映像制御装置であって、前記サーバ装置でトランスコードされ、ネットワークを介して受信した前記映像データを蓄積する再生バッファと、前記再生バッファから読み出した前記映像データをデコードするデコーダと、前記ネットワークの所定時間後の可用帯域を推定し、推定した当該所定時間後の可用帯域に基づき必要となる目標バッファデータ量を決定し、決定した当該目標バッファデータ量と、前記再生バッファに蓄積されたデータ量とを用いて、前記再生バッファに蓄積されるデータ量を変化させるパラメータである、前記映像データの単位時間当たりの送信速度に関するトランスコード速度と、前記映像データの1つのフレーム当たりのデータ量に関するエンコードレートを含むエンコードパラメータとを決定する決定部と、前記決定部が決定した前記トランスコード速度および前記エンコードパラメータを、前記サーバ装置に対して送信する通信部と、を備える。
なお、これらの包括的又は具体的な側面は、システム、装置、方法、記録媒体、又は、コンピュータプログラムで実現されてもよく、システム、装置、方法、記録媒体、および、コンピュータプログラムの任意な組み合わせで実現されてもよい。
本発明に係る映像制御装置、映像配信システムおよび映像制御方法を用いることで、ネットワークの可用帯域の変動を推定してトランスコード速度とエンコードパラメータとを決定することが可能となり、ネットワークの帯域変化により適切に対応できる。
図1は、トランスコード速度を説明するための図である。 図2は、実施の形態1における映像配信システムの構成の一例を示す図である。 図3は、実施の形態1における映像配信サーバの構成の一例を示す図である。 図4は、実施の形態1におけるクライアントの構成の一例を示す図である。 図5は、実施の形態1におけるクライアントが可用帯域の推定を行うための動作の一例を示すフローチャートである。 図6は、実施の形態1におけるクライアントがトランスコード速度とエンコードパラメータとを決定する動作の一例を示すフローチャートである。 図7は、実施の形態2におけるクライアントの構成の一例を示す図である。 図8は、実施の形態2におけるクライアントがトランスコード速度とエンコードパラメータとを決定する動作の一例を示すフローチャートである。 図9は、実施の形態2におけるクライアントが通信環境を確認する動作の一例を示すフローチャートである。
(発明の基礎となった知見)
以下、本発明の基礎となった知見について説明する。
映像配信サーバに蓄積された映像データを、ネットワークを介して、クライアントに配信するシステムでは、クライアントにおいて高品質かつ安定した映像の再生を実現できることが望ましい。
クライアントへの映像データの到着に遅れが発生すると、クライアントでは、デコーダに供給する映像データが枯渇することにより、映像の再生が停止する可能性がある。通常、データの到着の遅延が発生しても映像の再生が停止することを防ぐため、クライアントは、映像データを受信してから再生するまでの間、映像データを一時的に蓄積する再生バッファを備える。しかし、配信する映像データのビットレート(エンコードレート)がネットワークの可用帯域を超えると、映像データの配信の遅延が再生バッファで吸収できないほど大きくなる場合がある。この場合、クライアントは、バッファアンダーフローが発生して、映像の再生の停止を防ぐことができない。特に、インターネットのようなネットワークは、利用可能な帯域(可用帯域)が変化する。
映像データの配信の遅延を再生バッファに蓄積されたデータ量内に収めるために、映像配信サーバは、映像データの配信と並行して、映像データのエンコードレートを可用帯域以下に抑えるように映像変換(トランスコード)を行う制御を行う。従来の方法では、再生バッファに蓄積するデータ量は、映像配信の開始時に決定され、可用帯域の変化に応じて動的に変更することができない。すなわち、再生開始時に設定した再生バッファに蓄積するデータ量が小さい場合、再生途中でネットワークの品質が悪化すると、安定した映像の再生ができなくなる可能性がある。
逆に、再生開始時に設定した再生バッファに蓄積するデータ量が大きい場合、再生途中でネットワークの品質が改善しても、再生開始時に設定した再生バッファに蓄積するデータ量に合わせて映像データのバッファリングが継続される。つまり、映像データのエンコードレートを上昇させることができず、再生開始時と同様の低品質な映像データをそのまま配信することになる。また、クライアントのリソースを無駄に消費するという課題を有している。
以上のような課題を解決し、高品質かつ安定した映像配信を実現するためには、可用帯域の変化に合わせて、映像の再生開始後も再生バッファに蓄積するデータ量およびエンコードレートの双方を調整することのできる機能が必要である。この機能を実現するためには、映像配信サーバにおいて、指定したエンコードレートで映像データをトランスコードできるようにするだけでなく、映像配信サーバにおいて、映像データをトランスコードする速度(トランスコード速度)を変化させる技術が必要である。エンコードレートは、再生バッファに蓄積されるデータ量を変化させるパラメータであり、映像データの1つのフレーム当たりのデータ量に関するパラメータである。例えば、エンコードレートが低い場合、画質は悪くなり、エンコードレートが高い場合、画質は良くなる。また、トランスコード速度は、再生バッファに蓄積されるデータ量を変化させるパラメータであり、映像データの単位時間当たりの送信速度に関するパラメータである。ここで、トランスコード速度について説明する。
図1は、トランスコード速度を説明するための図である。図1の(a)は、30fpsの映像コンテンツを示す図であり、1秒間に30個の連続するフレームが並んでいることを示す。図1の(b)は、2倍のトランスコード速度でトランスコードしている状態を示す図である。図1の(c)は、再生バッファに蓄積するデータ量を示す図である。
図1の(b)に示される2倍のトランスコード速度とは、例えば、2倍にする前の元々のトランスコード速度を30fpsの映像コンテンツの再生速度と同じ速度とすると、元々の速度は、1秒間に30フレーム分トランスコードする速度となり、2倍の速度は、1秒間に60フレーム分トランスコードする速度となる。このように、トランスコード速度を早くすることで、映像配信サーバからクライアントへの映像データの単位時間当たりの送信速度が速くなり、再生バッファに蓄積するデータ量を増やすことができる。
なお、再生バッファに蓄積するデータ量および後述する目標バッファデータ量とは、バッファアンダーフローが発生するまでの時間を意味する。
例えば、ネットワークの状況が悪化し、再生バッファに蓄積するデータ量を増大させなければバッファアンダーフローが発生するような状況では、映像配信サーバは、トランスコード速度が映像の再生速度よりも速くなるように、トランスコードを行う。例えば、映像配信サーバは、図1の(b)に示されるように、2倍の速度でトランスコードを行う。これにより、クライアントが再生するよりも早く、映像データの配信が行われるため、図1の(c)に示されるように再生バッファに蓄積する映像データ量を増やすことができる。具体的には、トランスコード速度を2倍にする前には、再生バッファに蓄積するデータ量は1秒分のデータだったものが、トランスコード速度を2倍にすることで、再生バッファに蓄積するデータ量は2秒分のデータとなる。ただし、トランスコード速度を早くすることで、1つのフレーム当たりのデータ量が低下し(つまり画質が劣化し)、低いエンコードレートのデータが送信されることになる。また、ネットワークの状況が改善し再生バッファに蓄積するデータ量が多すぎる場合には、映像配信サーバは、再生速度よりも遅い速度に、トランスコード速度を設定する。これにより、再生バッファに蓄積するデータ量を削減するとともに可用帯域の範囲内でより高いエンコードレートのデータを送信することが可能となる。
エンコードレートとトランスコード速度とのどちらも変更可能なシステムとしては特許文献1があげられる。
特許文献1に記載の構成において、クライアントは、HTTP(Hyper Text Transfer Protocol)のGETリクエストを用いて、分割された映像ストリームをシーケンシャルに取得する。また、トランスコード速度の指定は、HTTPセッションの間で、セッション開始時の1回しか行われない。一般的に、無線通信を用いる場合には、可用帯域はセッションの間においても急激に変化する。しかしながら、特許文献1に記載の方法では、HTTPセッションの間に可用帯域が例えば急激に減少するような状況において、トランスコード速度を変更し、再生バッファに蓄積するデータ量を増やすことができず、再生バッファに蓄積されたデータが枯渇し、再生が停止してしまう。また、可用帯域の変化を検出する方法についても問題がある。特許文献1に記載の構成におけるネットワークの可用帯域の変化の推定方法は、映像送信サーバにおいてトランスコーダから送信スタックにデータが渡される時間間隔を利用して推定する方法となっている。しかし、この方法では、推定結果が映像送信サーバ側の送信バッファの挙動に影響を受けるため、実際のネットワークの可用帯域を、素早く正確に推定することができない。したがって、可用帯域の変化に応じて正確にトランスコード速度を変更できない。
そこで、本発明の映像制御装置は、サーバ装置から送信された映像データを受信する映像制御装置であって、サーバ装置でトランスコードされ、ネットワークを介して受信した映像データを蓄積する再生バッファと、再生バッファから読み出した映像データをデコードするデコーダと、ネットワークの所定時間後の可用帯域を推定し、推定した所定時間後の可用帯域に基づき必要となる目標バッファデータ量を決定し、決定した目標バッファデータ量と、再生バッファに蓄積されたデータ量とを用いて、再生バッファに蓄積されるデータ量を変化させるパラメータである、映像データの単位時間当たりの送信速度に関するトランスコード速度と、映像データの1つのフレーム当たりのデータ量に関するエンコードレートを含むエンコードパラメータとを決定する決定部と、決定部が決定したトランスコード速度およびエンコードパラメータを、サーバ装置に対して送信する通信部と、を備える。
これにより、ネットワークの可用帯域の変動を推定して、可用帯域の変動に応じて必要となる目標バッファデータ量と現在再生バッファに蓄積されたデータ量との差に基づいたトランスコード速度とエンコードパラメータとを決定することが可能となる。例えば、目標バッファデータ量と現在の再生バッファに蓄積されたデータ量との差が大きい場合、再生バッファに蓄積されたデータが枯渇しないようにトランスコード速度を速くする。また、目標バッファデータ量と現在の再生バッファに蓄積されたデータ量との差が小さい場合、再生バッファに蓄積されたデータ量に余裕があるため、エンコードレートの高い映像データを再生することができる。このように、本発明の映像制御装置は、ネットワークの帯域変化により適切に対応できる。
また、決定部は、ネットワークの可用帯域を所定のタイミング毎に計測し、計測した所定のタイミング毎の可用帯域の変化を用いて、所定時間後の可用帯域を推定してもよい。
これにより、所定のタイミング毎に計測した可用帯域の変化を用いて、容易にネットワークの可用帯域の変動を推定できる。
また、決定部は、所定のタイミング毎の可用帯域の変化に基づく可用帯域の低下の速度を示す低下係数を用いて、所定時間後の可用帯域を推定してもよい。
これにより、所定のタイミング毎に計測した可用帯域の変化に基づく低下係数を用いて、容易にネットワークの可用帯域の変動を推定できる。
また、決定部は、サーバ装置との間のRTT(Round Trip Time)と低下係数とを用いて、所定時間後の可用帯域を推定してもよい。
これにより、RTTと低下係数とを用いて、容易にネットワークの可用帯域の変動を推定できる。
また、決定部は、所定時間後の可用帯域と、所定のタイミング毎の可用帯域の変化に基づく可用帯域の低下が継続する時間を示す低下継続係数と、サーバ装置との間のRTTとを用いて、目標バッファデータ量を決定してもよい。
これにより、推定した可用帯域と低下継続係数とRTTとを用いて、容易に目標バッファデータ量を決定できる。
また、通信部は、決定部が決定したトランスコード速度を、1回の確立されたコネクションの間に、複数回送信してもよい。
これにより、1回の確立されたコネクションの間に可用帯域が急激に変化するような状況においても、ネットワークの帯域変化により適切に対応できる。
また、さらに、通信部からネットワークの通信環境に関する通信環境情報を取得し、通信環境情報に基づいてネットワークの通信環境の変化が一時的な変化であるか否かを判断する通信環境観測部を有し、決定部は、通信環境観測部が通信環境の変化が一時的な変化であると判断した場合には目標バッファデータ量を変更せず、一時的な変化でないと判断した場合には目標バッファデータ量を変更してもよい。
これにより、一時的なネットワークの変化に対して目標バッファデータ量の制御を行うことが抑制され、再生バッファに蓄積するデータ量を不必要に伸ばす制御が抑制される。したがって、トランスコード速度が不必要に上昇させられることが抑制され、その結果、エンコードレートが不必要に下げられて映像配信の品質が劣化することが抑制される。
また、通信環境観測部は、通信環境情報としてRSSI(Received Signal Strength Indicator)を所定間隔で取得し、RSSIが、予め定められた複数の閾値の範囲のうち前回取得したRSSIと同じ閾値の範囲内にある場合に、通信環境の変化が一時的な変化であると判断してもよい。
これにより、通信環境情報としてRSSIを取得することで、通信環境の変化が一時的な変化であるか否かを容易に判断できる。
本発明の映像制御方法は、ネットワークを介してサーバ装置から送信された映像データを受信する映像制御装置における映像制御方法であって、映像制御装置は、受信した映像データを蓄積する再生バッファと、再生バッファから読み出した映像データをデコードするデコーダと、を備え、映像制御方法は、記ネットワークの可用帯域を所定のタイミング毎に計測するステップと、計測するステップで計測した所定のタイミング毎の可用帯域の変化を用いて、ネットワークの所定時間後の可用帯域を推定し、推定した所定時間後の可用帯域に基づき必要となる目標バッファデータ量を決定するステップと、目標バッファデータ量と再生バッファに蓄積されたデータ量とを用いて、再生バッファに蓄積するデータ量を変化させるパラメータである、映像データの単位時間当たりの送信速度に関するトランスコード速度と、映像データの1つのフレーム当たりのデータ量に関するエンコードレートを含むエンコードパラメータとを決定するステップと、トランスコード速度およびエンコードパラメータを、サーバ装置に対して送信するステップと、を含む。
これにより、ネットワークの可用帯域の変動を推定して、可用帯域の変動に応じて必要となる目標バッファデータ量と現在再生バッファに蓄積されたデータ量との差に基づいたトランスコード速度とエンコードパラメータとを決定することが可能となる。したがって、ネットワークの帯域変化により適切に対応できる。
本発明の映像配信システムは、サーバ装置に蓄積された映像データを、ネットワークを介して、クライアントに配信する映像配信システムであって、映像データをトランスコードするトランスコーダと、トランスコーダがトランスコードした映像データを送信する第1の通信部と、第1の通信部が送信した映像データを受信する第2の通信部と、第2の通信部が受信した映像データを蓄積する再生バッファと、再生バッファから読み出した映像データをデコードするデコーダと、ネットワークの所定時間後の可用帯域を推定し、推定した所定時間後の可用帯域に基づき必要となる目標バッファデータ量を決定し、決定した目標バッファデータ量と、再生バッファに蓄積されたデータ量とを用いて、再生バッファに蓄積するデータ量を変化させるパラメータである、映像データの単位時間当たりの送信速度に関するトランスコード速度と、映像データの1つのフレーム当たりのデータ量に関するエンコードレートを含むエンコードパラメータとを決定する決定部と、を備え、トランスコーダは、決定部が決定したトランスコード速度とエンコードパラメータとを用いて映像データをトランスコードする。
これにより、ネットワークの可用帯域の変動を推定して、可用帯域の変動に応じて必要となる目標バッファデータ量と現在再生バッファに蓄積されたデータ量との差に基づいたトランスコード速度とエンコードパラメータとを決定することが可能となる。したがって、ネットワークの帯域変化により適切に対応できる。
以下、本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
実施の形態1について、図2から図6を用いて説明する。
図2は、実施の形態1における映像配信システム10の構成の一例を示す図である。具体的には、図2は、映像配信サーバ100(サーバ装置)とクライアント200(映像制御装置)との相互の接続関係を示す図である。
映像配信サーバ100とクライアント200とは、ネットワーク300を介して接続している。映像配信サーバ100は、ネットワーク300を介して、映像データをクライアント200に対して送信する。クライアント200は、ネットワーク300を介して、映像配信サーバ100に制御信号を送信する。制御信号の詳細は、後述する。
映像配信サーバ100は、送信する映像データをネットワーク300の変化する可用帯域に合わせて粒度の細かい制御を行うため、トランスコーダによって映像データを逐次トランスコードして、クライアント200に送信する。映像配信サーバ100は、トランスコードの際に、H.264やMPEG2といったエンコードレートの制御が可能な圧縮データ形式を用いる。なお、映像データの形式は、エンコードレートの制御が可能ものであれば何でもよい。
映像配信サーバ100とクライアント200とは、互いに送受信する映像データおよび制御信号を、信頼性のあるプロトコル(例えばTCP(Transmission Control Protocol))を用いて通信する。なお、本実施の形態において、映像データおよび制御信号の通信に用いられるプロトコルは、信頼性が確保されたプロトコルであれば何でもよい。例えば、ファイヤーウォールやProxyの透過性を満たすためにHTTPを用いてもよいし、データをチャンク単位で扱えるWebsocketを用いてもよい。
ネットワーク300は、インターネット又は無線LAN(Local Area Network)などのベストエフォートネットワークを用いる。なお、ネットワーク300は、社内ネットワークなどのイントラネットを含んでもよいし、WiMAX(登録商標)やLTE(Long Term Evolution)といった公衆無線を用いてもよい。
まず、映像配信サーバ100の詳細について図3を用いて説明する。
図3は、実施の形態1における映像配信サーバ100の構成の一例を示す図である。
映像配信サーバ100は、エンコードパラメータ指定部102、トランスコード速度指定部103、映像ソース106、トランスコーダ107及び第1の通信部110を備える。
エンコードパラメータ指定部102は、エンコードレートなどを含むエンコードパラメータに関する指示を第1の通信部110から通知され、エンコードパラメータをトランスコーダ107に指定する。
トランスコード速度指定部103は、トランスコーダ107の動作速度(トランスコード速度)に関する指示を第1の通信部110から通知され、トランスコード速度をトランスコーダ107に指定する。
映像ソース106は、映像配信サーバ100が備える記憶部(図示せず)に記憶された映像ソースであって、トランスコーダ107に映像データを読み出される。
トランスコーダ107は、映像ソース106から、映像変換処理前の映像データの読み出しを行い、異なるビットレート(エンコードレート)の映像データへの変換(トランスコード)を行う。トランスコーダ107は、変換処理の際に、1つのフレーム当たりのデータ量に関するエンコードレートなどを含むエンコードパラメータがエンコードパラメータ指定部102により指定されるとともに、トランスコード速度指定部103によりトランスコーダ107の動作速度(単位時間当たりの送信速度に関するトランスコード速度)が指定される。これにより、トランスコーダ107は、後述する決定部220が決定したトランスコード速度とエンコードパラメータとを用いて映像データをトランスコードする。ここで、トランスコーダ107の動作速度について説明する。
トランスコーダ107の動作速度とは、ある映像コンテンツの一部分を通常再生するために必要な時間を、その一部分をエンコードするために必要な時間で除したものである。具体的には、再生に10秒かかるコンテンツのエンコードを5秒で完了するようなトランスコーダ107の動作速度は、図1の(b)で説明したように、2倍となる。逆に、再生に10秒かかるコンテンツのトランスコードを20秒かけて完了するようなトランスコーダ107の動作速度は、0.5倍となる。エンコードパラメータおよびトランスコード速度は、クライアント200からの指示により決定される。
第1の通信部110は、ネットワーク300を介してクライアント200と映像データおよび制御信号の通信を行う。第1の通信部110は、命令受信部104と通信スタック105とを備える。つまり、第1の通信部110は、これらの構成要素に対応し、これらの構成要素の役割を担う。
通信スタック105は、制御信号としてエンコードパラメータおよびトランスコード速度に関する指示を、クライアント200から受信し、命令受信部104に通知する。命令受信部104は、通知されたエンコードパラメータおよびトランスコード速度に関する指示を、エンコードパラメータ指定部102およびトランスコード速度指定部103に対して通知する。
そして、トランスコーダ107は、エンコードパラメータ指定部102及びトランスコード速度指定部103に指定されたパラメータで変換処理(トランスコード)した後の映像データを、通信スタック105に通知し、通信スタック105(第1の通信部110)はトランスコーダ107がトランスコードした映像データをクライアント200に送出(送信)する。また、通信スタック105は、後述するクライアント200から受信した帯域推定に利用するプローブパケットに対しての返答機能を有する。
次に、クライアント200の詳細について、図4を用いて説明する。
図4は、実施の形態1におけるクライアント200の構成の一例を示す図である。
クライアント200は、再生バッファ208、デコーダ209、通信部(第2の通信部)210及び決定部220を備える。
通信部210は、ネットワーク300を介して映像配信サーバ100と映像データおよび制御信号の通信を行う。通信部210は、通信スタック202と命令送信部203とを備える。つまり、通信部210は、これらの構成要素に対応し、これらの構成要素の役割を担う。
通信スタック202(通信部210)は、映像配信サーバ100から配信された(第1の通信部110が送信した)映像データを受信する。命令送信部203は、後述する決定部220から通知されたエンコードパラメータおよびトランスコード速度に関する指示を通信スタック202に対して通知する。
再生バッファ208は、映像配信サーバ100でトランスコードされ、ネットワーク300を介して通信スタック202(通信部210)が受信した映像データを一時的に蓄積する。
デコーダ209は、再生バッファ208から読み出した映像データをデコードする。デコーダ209は、再生バッファ208に一定量の映像データが蓄積されると、映像の再生を開始する。映像の再生が開始されると、デコーダ209は、再生バッファ208から一定の速度で映像データを読み出し続け、映像の再生が終了するまで映像のデコードを続ける。
決定部220は、トランスコード速度決定部204、エンコードパラメータ決定部205、帯域推定部206および目標バッファデータ量決定部207を備える。つまり、決定部220は、これらの構成要素に対応し、これらの構成要素の役割を担う。決定部220は、ネットワーク300の所定時間後の可用帯域を推定し、推定した所定時間後の可用帯域に基づき必要となる目標バッファデータ量を決定する。そして、決定部220は、決定した目標バッファデータ量と、再生バッファ208に蓄積されたデータ量とを用いて、再生バッファ208に蓄積するデータ量を変化させるパラメータである、映像データの単位時間当たりの送信速度に関するトランスコード速度と、映像データの1つのフレーム当たりのデータ量に関するエンコードレートを含むエンコードパラメータとを決定する。
帯域推定部206は、通信スタック202によって受信された映像データの受信間隔情報若しくは受信レート、又は、映像配信サーバ100との間のRTT等を用いてネットワーク300の可用帯域を計算する。帯域推定部206は、通信部210から映像配信サーバ100の第1の通信部110に対して送信したプローブパケットの送信時間と、プローブパケットに対しての返信メッセージの受信時間とから、RTTを計測する。
ここで、帯域計算の方法について詳細に説明する。クライアント200から映像配信サーバ100に対して定期的にプローブパケットを送信し、映像配信サーバ100側からはそのプローブパケットに呼応する形での応答パケットが返信される。応答パケットは、映像データとは別のパケットであってもよいし、映像ストリームデータのヘッダにメッセージを書き込む方法等により実現してもよい。これにより、プローブパケットを送信してから応答メッセージを受信するまでの間の時間をRTTとして計測することができる。時系列上でRTTが増加している場合にはネットワーク300の可用帯域に対して配信を行おうとしている映像のエンコードレートが高く、RTTが低下している場合には可用帯域に対して映像のエンコードレートが低い状態であるということが言える。帯域推定部206が計測したRTTの観測値は、ネットワーク300の可用帯域が配信映像のエンコードレートを下回った場合に直ちに変化するため、アプリケーションからネットワーク300の可用帯域の変化を瞬時に精度良く観測することができる。
目標バッファデータ量決定部207は、帯域推定部206で推定されたネットワーク300の可用帯域、その統計情報、再生バッファ208内に蓄積されている映像データの残量情報を利用して現在のネットワーク環境で安定再生に必要な、再生バッファ208に蓄積する目標のデータ量(目標バッファデータ量とも呼ぶ)を逐次計算する。
トランスコード速度決定部204とエンコードパラメータ決定部205とは、再生バッファ208内に蓄積された映像データの量を目標バッファデータ量決定部207が決定した目標バッファデータ量となるように、トランスコード速度とエンコードパラメータとを決定する。
そして、通信スタック202は、映像配信サーバ100に命令送信部203を介して通知された制御信号を送信する。具体的には、通信部210(通信スタック202)は、決定部220が決定したトランスコード速度およびエンコードパラメータを、サーバ装置(映像配信サーバ)100に対して送信する。
また、映像の配信を開始する際には、クライアント200を利用するユーザあるいはコンテンツの配信に関する設定ファイルにより最小再生バッファデータ量、最低エンコードレート、最高エンコードレートおよび最高トランスコード速度が予め決定される。最小再生バッファデータ量、最低エンコードレート、最高エンコードレートおよび最高トランスコード速度は、例えばクライアント200が備える記憶部(図示せず)にそれぞれ保存される。
次に、可用帯域の測定および統計値の計算から目標バッファデータ量の計算を行い、トランスコード速度およびエンコードパラメータを算出するまでの処理について詳細に説明する。
まず、可用帯域の測定および統計値の計算について図5を用いて説明する。
図5は、実施の形態1におけるクライアント200が可用帯域の推定を行うための動作の一例を示すフローチャートである。
まず、帯域推定部206は、タイマにより起動される(ステップS301)。帯域推定部206は、所定のタイミング毎に起動し、図5に示されるステップS301からステップS309の処理を所定のタイミング毎に行う。所定のタイミングは、例えば0.1秒毎のタイミングである。
次に、帯域推定部206は、映像配信サーバ100とのRTTの計測データ又は受信レート等から現在のネットワーク300の可用帯域を計算する(ステップS302)。本実施の形態では、帯域推定部206は、例えば、映像配信サーバ100とのRTTの計測データから現在のネットワーク300の可用帯域を計算する。帯域推定部206は、ネットワーク300の可用帯域を上述した所定のタイミング毎に計算する。
次に、帯域推定部206は、ステップS302で所定のタイミング毎に計算している可用帯域のうち、前回計算した可用帯域と今回計算した可用帯域との比較を行い、可用帯域が低下しているか否かを判定する(ステップS303)。例えば、0.1秒前に計算した可用帯域と今回計算した可用帯域とが比較される。
帯域推定部206が、可用帯域が低下していると判定した場合(ステップS303でYES)、ステップS304の処理が行われる。
帯域推定部206は、可用帯域の低下率を計算する(ステップS304)。可用帯域の低下率は、次式のように表される。
低下率=(今回計算した可用帯域−前回計算した可用帯域)/(i×サンプリング間隔)
ここで、iは正の実数である。
具体的には、サンプリング間隔(所定のタイミング毎の間隔)を0.1秒としiの値を5とした環境で、前回計算した可用帯域が5Mbps、今回計算した可用帯域が4Mbpsであったとき、低下率は次式のように計算できる。
低下率=(4Mbps−5Mbps)/(5×0.1)=−2
次に、帯域推定部206は、低下時間継続カウンタを更新する(ステップS305)。低下時間継続カウンタとは、現在の可用帯域の低下がどれだけの期間継続しているかを表す変数であり、次式に基づいて計算できる。
低下時間継続カウンタの値=前回の低下時間継続カウンタの値+前回計算時からの差分時間
具体的には、前回の低下時間継続カウンタの値が1.5秒であり、前回計測時からの差分時間(所定のタイミング毎の間隔)が0.1秒であったときには、低下時間継続カウンタの値は1.6秒に更新される。
一方、帯域推定部206が、可用帯域が低下していないと判定した場合(ステップS303でNO)、ステップS306の処理が行われる。帯域推定部206は、可用帯域の低下が起こっていなかったため、低下時間持続カウンタの値をリセットし、帯域の低下率を1にセットする(ステップS306)。
そして、帯域推定部206は、ステップS304〜ステップS306で計算された低下率および低下時間継続カウンタの値を用いて低下係数および低下継続係数を更新する(ステップS307)。低下係数は、所定のタイミング毎の可用帯域の変化に基づく可用帯域の低下の速度を示す係数である。具体的には、低下係数は、帯域推定部206が可用帯域を計算し、計算した可用帯域を統計処理することにより、1秒間にどのくらいネットワーク300の可用帯域が低下するかを示す係数であり、ネットワーク300の不安定さを示す統計値である。低下継続係数は、所定のタイミング毎の可用帯域の変化に基づく可用帯域の低下が継続する時間を示す係数である。具体的には、低下継続係数は、可用帯域の低下がどの程度の時間にわたって継続して起こるかを示す係数であり、低下係数と同様にネットワーク300の不安定さを示す統計値である。低下係数および低下継続係数は、例えばクライアント200が備える記憶部に記憶され、後述する目標バッファデータ量の決定やトランスコード速度の決定の際に利用される。
低下係数の更新には次式が用いられる。
低下係数の更新値=前回の低下係数×(1−k)+低下率×k
また、低下継続係数の更新には次式が用いられる。
低下継続係数の更新値=前回の低下継続係数×(1−k)+低下時間継続カウンタの値×k
ここで、kは(0<k<1)の実数であり、kの値を調整することにより過去のネットワーク300の変動がどの程度低下係数および低下継続係数に影響を与えるかを調整することができる。
具体的には、例えばkの値を0.1に設定した場合、前回の低下係数が−4で今回の低下率が−2であったとすると、低下係数の更新値は次式のように計算できる。
低下係数の更新値=(−4)×0.9+(−2)×0.1=−3.8
また、例えば低下時間継続カウンタの値が0.5で前回の低下継続係数が1.5であったとすると、低下継続係数の更新値は次式のように計算できる。
低下継続係数の更新値=1.5×0.9+0.5×0.1=1.4
次に、帯域推定部206は、今回計算した可用帯域の値を保存する(ステップS308)。今回計算した可用帯域の値は、例えばクライアント200が備える記憶部(図示せず)に保存される。また、帯域推定部206は、RTTの計測データを記憶部に記憶する。
そして、クライアント200が可用帯域の推定を行うための動作は終了する(ステップS309)。
このように、クライアント200が可用帯域の推定を行うための動作として、低下係数と低下継続係数とが所定のタイミング毎に更新される。
次に、目標バッファデータ量決定部207における目標バッファデータ量の算出手順とトランスコード速度決定部204およびエンコードパラメータ決定部205におけるエンコードパラメータとトランスコード速度との決定方法について説明する。
図6は、実施の形態1におけるクライアント200がトランスコード速度とエンコードパラメータとを決定する動作の一例を示すフローチャートである。
まず、目標バッファデータ量決定部207、トランスコード速度決定部204およびエンコードパラメータ決定部205は、タイマにより起動される(ステップS401)。目標バッファデータ量決定部207、トランスコード速度決定部204およびエンコードパラメータ決定部205は、図5に示される処理とは異なるタイミングで起動される。例えば、図5に示される処理の後に(ステップS309の後に)、ステップS401の処理が開始される。
次に、目標バッファデータ量決定部207は、記憶部から最新の可用帯域のデータおよび映像配信サーバ100とのRTTの計測データを取得する(ステップS402)。最新の可用帯域のデータおよびRTTの計測データは、ステップS308において保存されたデータである。
次に、目標バッファデータ量決定部207は、配信開始の際に予め決定した最低エンコードレートよりもステップS402において取得した可用帯域の値が大きいか否かを判定する(ステップS403)。
目標バッファデータ量決定部207が、可用帯域が最低エンコードレートよりも大きいと判定した場合(ステップS403でYES)、ステップS404の処理が行われる。
目標バッファデータ量決定部207は、低下係数および低下継続係数を取得する(ステップS404)。例えば、目標バッファデータ量決定部207は、ステップS307で更新された低下係数および低下継続係数をクライアント200の記憶部から取得する。
次に、目標バッファデータ量決定部207は、目標バッファデータ量を決定する(ステップS405)。目標バッファデータ量は、理想的にはネットワーク300の可用帯域が低下して映像データの到着が遅延した場合においても、映像の再生を停止させないためにクライアント200の再生バッファ208が持つべき最低限のデータ量である。すなわち、想定されるネットワーク300の可用帯域の低下を算出し(つまり所定時間後の可用帯域を推定し)、その際に発生する映像データ到着の遅延を計算することができれば、その遅延の値を目標バッファデータ量とすればよいことがわかる。
まずは、ネットワーク300の所定時間後の可用帯域の推定方法について説明する。本発明の映像配信システム10では、映像配信サーバ100とクライアント200との間のメッセージングによって可用帯域の推定とトランスコーダ107の制御を行う。そのため、ネットワーク300で可用帯域の変化が発生してから帯域の変化を検知し可用帯域に合わせたエンコードレートにトランスコーダ107を制御するまでには所定の時間がかかる。所定の時間は例えば1RTTとなる。ここで、ステップS404で取得した低下係数は、1秒間に起こる可用帯域の低下率の統計値であることから、1RTTの間に発生する可用帯域の想定低下帯域は次式のように計算できる。
想定低下帯域=最新の可用帯域×((1−RTT)+低下係数×RTT)
ただし想定低下帯域<0となる場合には、想定低下帯域を0.01とする。
具体的な例を挙げると、例えば、ステップS402で取得した最新の可用帯域が4MbpsでRTTが0.1秒、低下係数が−3.8のとき想定低下帯域は次式のように計算できる。
想定低下帯域=4Mbps×((1−0.1)−3.8×0.1)≒2.1Mbps
これにより、所定時間後の可用帯域(1RTT後の可用帯域)は4Mbps−2.1Mbps=1.9Mbpsと推定される。
なお、ステップS401からステップS405における所定時間後の可用帯域の推定までの処理を帯域推定部206が行ってもよい。つまり、帯域推定部206は、ステップS301からステップS309までの処理およびステップS401からステップS405における所定時間後の可用帯域の推定までの処理を行ってもよい。さらに言い換えると、帯域推定部206および目標バッファデータ量決定部207が構成する決定部220がステップS301からステップS309までの処理およびステップS401からステップS405における所定時間後の可用帯域の推定までの処理を行ってもよい。
このように、決定部220は、ネットワーク300の可用帯域を所定のタイミング毎に計測し、所定のタイミング毎の可用帯域の変化を用いて、所定時間後の可用帯域を推定する。具体的には、決定部220は、所定のタイミング毎の可用帯域の変化に基づく可用帯域の低下の速度を示す低下係数を用いて、所定時間後の可用帯域を推定する。より具体的には、決定部220は、サーバ装置(映像配信サーバ100)との間のRTTと低下係数とを用いて、所定時間後の可用帯域を推定する。
ここで、帯域低下が発生する前のエンコードレートが最新の可用帯域に等しいと仮定した場合、1RTTの間の可用帯域の低下によって発生する映像データの到着遅延は次式で計算できる。
1RTTの間に発生する映像データの到着遅延=((最新の可用帯域−想定低下帯域)×RTT/2)/想定低下帯域
具体例として上述した最新の可用帯域、想定低下帯域およびRTTを用いると、1RTTの間に発生する映像データの到着遅延は次式のように計算できる。
1RTTの間に発生する映像データの到着遅延=((4Mbps−2.1Mbps)×0.1/2)/2.1≒0.045..秒
ここで、ステップS404において取得した低下継続係数が可用帯域の低下が継続する時間の統計値であることから、低下継続係数を用いると、ネットワーク300の想定される可用帯域の低下によって発生する映像データの到着遅延、すなわち目標バッファデータ量は次式のように導出することができる。
目標バッファデータ量=1RTTの間に発生する映像データの到着遅延/RTT×低下継続係数
低下継続係数が3であったとし、1RTTの間に発生する映像データの到着遅延が上述した0.45秒とすると、目標バッファデータ量は次式のように計算できる。
目標バッファデータ量=0.045../0.1×3≒1.35秒
このようにして、決定部220は、所定時間後の可用帯域と、所定のタイミング毎の可用帯域の変化に基づく可用帯域の低下が継続する時間を示す低下継続係数と、サーバ装置(映像配信サーバ100)との間のRTTとを用いて、目標バッファデータ量を決定する。
次に、目標バッファデータ量決定部207は、再生バッファ208に蓄積されたデータ量の計測および取得を行う(ステップS406)。
次に、トランスコード速度決定部204は、トランスコード速度を決定する(ステップS407)。
次に、エンコードパラメータ決定部205は、エンコードパラメータを決定する(ステップS408)。
ステップ407とステップ408とでは、目標バッファデータ量および低下係数から、それぞれトランスコード速度およびエンコードパラメータの決定を順に行う。トランスコード速度と再生バッファ208のデータ量の増減とは正の相関関係にあり、トランスコード速度を大きくすれば大きくするほど再生バッファ208のデータ量を素早く増大させ、目標バッファデータ量に素早く到達することができる。しかし、トランスコード速度、ネットワーク300の可用帯域および映像のエンコードレートには、ネットワーク300の可用帯域が十分に活用され、かつ、映像データの到着遅延がない場合には次式の関係にある。
トランスコード速度×エンコードレート=可用帯域
上式から明らかなように、トランスコード速度が大きくなればなるほど、エンコードレートは小さくしなければならない。すなわち、再生バッファ208のデータ量を素早く伸ばすことに注力するあまりトランスコード速度を早くしすぎると、エンコードレートが低くなり低画質な映像を配信することになってしまい配信品質が劣化する。そこで、トランスコード速度とエンコードレートとのトレードオフの関係から最適点を見つけ出す。具体的には、ステップS405で決定した目標バッファデータ量とステップS406で取得した現在の再生バッファ208に蓄積されたデータ量との間の差、および、ネットワーク300の不安定さという2つの要素が利用される。すなわち、目標バッファデータ量と現在の再生バッファ208に蓄積されたデータ量との差が小さい場合や、ネットワーク300が比較的安定している場合には、再生バッファ208に蓄積するデータ量が目標バッファデータ量へ緩やかに適応するようにトランスコード速度を決定する。また、目標バッファデータ量と現在の再生バッファ208に蓄積されたデータ量との差が大きい場合や、ネットワーク300が不安定な場合には、再生バッファ208に蓄積するデータ量が目標バッファデータ量へ速やかに適応するようにトランスコード速度を決定する。ここで、ネットワーク300の不安定さを示す統計値としてステップS404で取得した低下係数を利用すると、本実施の形態において、次式を用いて仮のトランスコード速度を決定することができる。ここで、トランスコード速度には許容範囲があり、次式を用いて計算したトランスコード速度が、許容範囲内にないことがあるため、いったん仮のトランスコード速度としている。
仮のトランスコード速度=1+(目標バッファデータ量−現在のバッファデータ量)×m×(1.01−低下係数)
ここでmは正の実数であり、例えばm=0.1程度の値が用いられる。
目標バッファデータ量を1.5秒、現在のバッファデータ量を1秒、低下係数を−2とし、mを0.1としたときの仮のトランスコード速度は次式のように計算できる。
仮のトランスコード速度=1+(1.5−1.0)×0.1×(1.01+2)≒1.15
計算した仮のトランスコード速度は、映像の配信を開始する際に予め決定した最高トランスコード速度と比較される。つまり、上述したトランスコード速度の許容範囲は、0から最高トランスコード速度の範囲のことである。
仮のトランスコード速度が最高トランスコード速度よりも大きい場合、トランスコード速度は最高トランスコード速度になる。また、仮のトランスコード速度が0以上、最高トランスコード速度以下の場合、トランスコード速度は計算した仮のトランスコード速度になる。また、仮のトランスコード速度が0より小さい場合、トランスコード速度は0になる。
このように、ステップS407では、トランスコード速度が決定される。
次に、ステップS408では、エンコードパラメータの決定が行われる。
まず、エンコードパラメータとして仮のエンコードレートが次式のように決定される。ここで、エンコードレートには許容範囲があり、次式を用いて計算したエンコードレートが、許容範囲内にないことがあるため、いったん仮のエンコードレートとしている。
仮のエンコードレート=可用帯域/トランスコード速度
計算した仮のエンコードレートは、映像の配信を開始する際に予め決定した最低エンコードレートおよび最高エンコードレートと比較される。つまり、上述したエンコードレートの許容範囲は、最低エンコードレートから最高エンコードレートの範囲のことである。
仮のエンコードレートが最高エンコードレートよりも大きい場合、エンコードレートは最高エンコードレートになる。仮のエンコードレートが最低エンコードレートよりも小さい場合、エンコードレートは最低エンコードレートになる。仮のエンコードレートが最低エンコードレート以上最高エンコードレート以下の場合、エンコードレートは計算した仮のエンコードレートになる。
なお、ステップS408で決定されるエンコードパラメータはエンコードレートに限らない。例えば、エンコードレートの関数として解像度が、エンコードパラメータとして決定されてもよい。また、トランスコーダ107に固有のパラメータが、決定されたトランスコード速度やエンコードレートをもとに、エンコードパラメータとして決定されてもよい。
一方、目標バッファデータ量決定部207が、可用帯域が最低エンコードレートよりも小さいと判定した場合(ステップS403でNO)、ステップS409の処理が行われる。可用帯域が最低エンコードレートよりも小さい場合に、エンコードレートを映像の配信を開始する際に決定した最低エンコードレートに設定したとしても、リアルタイムエンコーディングを行うと必ず映像データの到着遅延が発生する。また、最低エンコードレートでリアルタイムエンコーディングを行った場合、ネットワーク300上に滞留する映像データが増大し正確な帯域推定を行うことが困難となる。そこで、ステップS409およびステップS410では、ネットワーク300上にデータが滞留しないようなエンコードパラメータおよびトランスコード速度の決定を行う。
エンコードパラメータ決定部205は、エンコードレートを最低エンコードレートに決定する(ステップS409)。なお、ステップS408と同様に、解像度等の他のパラメータが、エンコードパラメータとして決定されてもよい。
次に、トランスコード速度決定部204は、トランスコード速度を決定する(ステップS410)。具体的には、次式を用いてトランスコード速度は決定される。
トランスコード速度=可用帯域/最低エンコードレート
このように、目標バッファデータ量決定部207が、可用帯域が最低エンコードレートよりも小さいと判定した場合には、目標バッファデータ量の算出は行われず、ネットワーク300上にデータが滞留しないようなエンコードパラメータおよびトランスコード速度が決定される。
そして、通信部210は、決定部220が決定したエンコードパラメータおよびトランスコード速度を映像配信サーバ100(サーバ装置)に対して送信する(ステップS411)。
そして、クライアント200がトランスコード速度とエンコードパラメータとを決定する動作は終了する(ステップS412)。
なお、ステップS401からステップS412の動作は、所定のタイミング毎に繰り返し行われるため、通信部210は、決定部220が決定したエンコードパラメータおよびトランスコード速度を、1回の確立されたコネクションの間に、複数回送信することになる。
以上、実施の形態1に開示した映像制御装置200、映像配信システム10および映像制御方法を用いて、トランスコード速度およびエンコードパラメータの制御を行うことにより、ネットワーク300の状況により素早く適応した高品質かつ安定した途切れない映像の配信を実現できる。
(実施の形態2)
次に、実施の形態2について、図7から図9を用いて説明する。
実施の形態1においては、映像配信サーバ100およびクライアント200間のメッセージングを利用してネットワーク300の可用帯域を推定し、可用帯域の統計情報である低下係数および低下継続時間を算出・利用することにより、トランスコード速度およびエンコードパラメータを決定し、トランスコーダ107に通知する方法について説明した。実施の形態2では、ネットワーク300の可用帯域の推定情報のみをトランスコード速度およびエンコードパラメータの決定に用いるのではなく、ネットワークインターフェイス等から取得できるより低レイヤの情報を利用することにより、より効率的かつ安定したエンコードパラメータおよびトランスコード速度の制御を行う方法について説明する。
実施の形態1においても説明したように、クライアント200が持つべき再生バッファ208のデータ量は帯域変動が発生する可能性、言い換えればネットワーク300の不安定さを元に決定される。本発明の対象とする映像配信システム10のユースケースの一つである家庭内で無線LANを使った映像配信を例にとって考えると、ネットワーク300の状態が変化するパターンは主に二つある。
一つ目のパターンは、クライアント200の周囲のネットワーク環境が大きく変化し、変化後は変化したままのネットワーク状態が継続するパターンである。想定されるシーンとしては、例えば、クライアント端末(ノートPC又はスマートフォン等)を利用して配信映像を視聴中のユーザが、クライアント端末を持って部屋間を移動するような状況があげられる。この様なシーンでは、ネットワーク300の状況(例えば受信電力)などが変化したまま維持されることで、ネットワーク300の不安定さも大きく変化して維持される。そのため、変化したネットワーク環境に対して、クライアント200側の再生バッファ208の最適な目標バッファデータ量を再計算し、その最適な目標バッファデータ量に適応させるような制御を行わなければならない。
一方、二つ目のパターンとしては、クライアント200の周囲のネットワーク環境が一瞬変化するものの、直ちに元のネットワーク環境に回復する様なパターンがあげられる。具体的に想定されるシーンとしては、クライアント200と映像配信サーバ100との間を人が横切ることや、部屋のドアの開閉によって、一瞬(例えば1秒程度)ネットワーク環境が変化し、その後元に戻るような状況があげられる。二つ目のパターンは、一つ目のパターンと異なり、一瞬変化したネットワーク環境は直ちに元のネットワーク環境に戻る。そのため、変化の発生している例えば1秒程度の一瞬の間に目標バッファデータ量を再計算し、再生バッファ208に蓄積するデータ量を目標バッファデータ量に近づけるような制御を行おうとすると、実際に再生バッファ208に蓄積するデータ量が目標バッファデータ量に適応された時点において、元のネットワーク環境に戻っている。したがって、再度、目標バッファデータ量の制御およびトランスコード速度の制御をやり直さなければならない。このように、一瞬のネットワーク300の変化に対して目標バッファデータ量の制御を行おうとすると、不必要な制御が発生し、制御が安定しない。さらに、再生バッファ208に蓄積するデータ量を不必要に伸ばす制御になるため、トランスコード速度が上昇させられ、その結果、エンコードレートが不必要に下げられて映像配信の品質が劣化するという問題も発生する。
これらの問題を解決するためには、ネットワーク300の状況の変化が一時的であるか、あるいは恒常的であるかを判断する必要がある。しかし、実施の形態1で説明した帯域推定の方法では、RTTや受信レートなどのネットワークレイヤよりも上位の観測データしか持たないため、ネットワーク300の状況の変化が一時的なものであるか否かの判断を行うことは難しい。
そこで、実施の形態2においては、MAC(Medium Access Control)レイヤ以下の情報を用いることにより、直接的にネットワーク300の状況に関しての情報を取得する。そして、ネットワーク300の状況に関しての情報を用いてネットワーク300の状況の変化をパターン分けし、ネットワーク環境が恒常的に変化した場合のみ目標バッファデータ量の再計算の制御とトランスコード速度およびエンコードパラメータの制御とを行う。また、一時的なネットワーク300の状況の変化が発生した場合には、トランスコード速度およびエンコードパラメータの制御のみを行う。
この手法により、より高品質かつ安定した制御を実現することができる。
図7は、実施の形態2におけるクライアント200aの構成の一例を示す図である。
実施の形態2において映像配信サーバ100は図2に示される構成と同じであるため説明は省略する。
実施の形態2におけるクライアント200aは、通信環境観測部230をさらに備える点が、実施の形態1におけるクライアント200と異なる。その他の点は実施の形態1におけるクライアント200の構成と同様であるため説明は省略する。
通信環境観測部230は、通信部210からネットワーク300の通信環境に関する情報を取得し、通信環境情報に基づいてネットワーク300の通信環境の変化が一時的な変化であるか否かを判断する。そして、通信環境観測部230は、決定部220(目標バッファデータ量決定部207)に対してネットワーク環境の変化が一時的な変化であるか否かの通知を行う。MACレイヤの通信手段に無線LANを用いる場合には、例えばRSSIの値が取得される利用される。
以下、実施の形態2としてMACレイヤの通信手段に無線LANを用い、通信環境観測部230がRSSIの値を取得して利用する例を用いて、より具体的に実施の形態2について説明する。
図8は、実施の形態2におけるクライアント200aがトランスコード速度とエンコードパラメータとを決定する動作の一例を示すフローチャートである。図8は、ネットワーク300の通信環境に関する情報を用いた場合の目標バッファデータ量の決定およびトランスコード速度とエンコードレートの決定の処理を示すフローチャートである。図8において、ステップS401からステップS412における動作は、実施の形態1におけるものと同じであるため、説明は省略し、ステップS501からステップS505の処理を中心に説明する。
目標バッファデータ量決定部207が、可用帯域が最低エンコードレートよりも大きいと判定した場合(ステップS403でYES)、ステップS501の処理が行われる。
通信環境観測部230は、ネットワーク300の通信環境を確認する(ステップS501)。ステップS501の処理について図9を用いて詳細に説明する。
図9は、実施の形態2におけるクライアント200aが通信環境を確認する動作の一例を示すフローチャートである。図9は、具体的には、通信環境観測部230の処理を示すフローチャートである。
目標バッファデータ量決定部207が、可用帯域が最低エンコードレートよりも大きいと判定した場合(ステップS403でYES)、通信環境観測部230は起動される(ステップS601)。
次に、通信環境観測部230は、通信部210を介してRSSIの値を取得する(ステップS602)。ステップS603からステップS606は、RSSIの値からネットワーク環境の変化が一時的か、あるいは恒常的かを判断するための手順である。ここで、ネットワーク環境の変化が一時的か、あるいは恒常的かを判断する方法について説明する。
ネットワーク環境が変化するとき、RSSIなどのネットワーク情報も変化すると考えられる。つまり、ネットワーク環境が恒常的に変化する場合にはRSSIの値の変化も恒常的な変化となり、ネットワーク環境が一時的に変化する場合にはRSSIの値の変化も一時的な変化となる。すなわち、RSSIの変化を時系列に沿って観測することで、ネットワーク環境の変化が一時的であるか恒常的であるかの判断を行える。ここで、RSSIの変化が一時的か恒常的かを判定するときに設定する閾値が、当該判定を行うために重要になる。一般的に、クライアント200aの前を人が横切る等の状況が発生するとき、人が横切ること等によるネットワーク環境の変化は1秒以内となる。そこで、実施の形態2では、一例として、ネットワーク環境の一時的な変化と判断する閾値を1秒以内のネットワーク300の変化と規定する。
通信環境観測部230は、RSSIの1秒移動平均を計算する(ステップS603)。上述したようにネットワーク環境の一時的な変化と判断する閾値を1秒以内のネットワーク300の変化と規定したため、ステップS603では、RSSIの直近1秒間の移動平均が計算される。ステップS401からの処理は所定のタイミング毎に行われるため、可用帯域が最低エンコードレートよりも大きいと判定される場合(ステップS403でYES)、ステップS501の処理も所定のタイミングで行われる。ここで、所定のタイミングを0.1秒とすると、通信環境観測部230は、RSSIの値を0.1秒毎に取得し、0.1秒毎に取得したRSSIの値の1秒移動平均を計算する。以降、RSSIの1秒移動平均の値を単にRSSIとも呼ぶ。
なお、RSSIの変化の時系列での閾値を1秒とおいた処理(RSSIの直近1秒間の移動平均の計算)が行われるが、RSSIが変化したか否かの判定をするためには、RSSIの閾値の範囲(レンジ)の設定が必要である。
実施の形態2の一例として、複数の閾値の範囲(レンジ)が予め定められる。予め定められた複数のレンジは、例えば10dBm刻みのレンジと規定する。例えば、0〜−10dBm、−10〜−20dBm、−20〜−30dBm、・・・をそれぞれ一つのレンジとする。そして、RSSIの計測値が前回(例えば0.1秒前に)取得したRSSIの計測値と同じ閾値の範囲(レンジ)内にある場合には、通信環境観測部230は、通信環境の変化が一時的な変化であると判断する。
通信環境観測部230は、RSSIの1秒移動平均の値が前回と同じレンジになっているか否か判定する(ステップS604)。
通信環境観測部230が、RSSIの1秒移動平均の値が前回と異なるレンジになっていると判定した場合(ステップS604でNO)、通信環境観測部230は、目標バッファデータ量変更フラグをセットする(ステップS605)。
通信環境観測部230が、RSSIの1秒移動平均の値が前回と同じレンジになっていると判定した場合(ステップS604でYES)、通信環境観測部230は、目標バッファデータ量変更フラグを解除する(ステップS606)。ステップS605およびステップS606で設定された目標バッファデータ量変更フラグは、目標バッファデータ量を変更するか否かの判断に用いられる。
そして、通信環境観測部230がネットワーク300の通信環境を確認する処理は終了し(ステップS607)、ステップS502の処理が行われる。
このように、RSSIを用いることで、恒常的なネットワーク300の変化と一時的なネットワーク300の変化を素早く判断することができる。
次に、目標バッファデータ量決定部207は、目標バッファデータ量変更フラグがセットされているか否かを判定する(ステップS502)。
目標バッファデータ量決定部207が、目標バッファデータ量変更フラグがセットされていないと判定した場合(ステップS502でNO)、目標バッファデータ量決定部207は、目標バッファデータ量を前回の目標バッファデータ量のまま維持する(ステップS503)。これにより、一時的なネットワーク300の変化に対して目標バッファデータ量の制御を行うことが抑制され、再生バッファ208に蓄積するデータ量を不必要に伸ばす制御が抑制される。したがって、トランスコード速度が不必要に上昇させられることが抑制され、その結果、エンコードレートが不必要に下げられて映像配信の品質が劣化することが抑制される。
そして、実施の形態1におけるステップS406からステップS408と同じ処理が行われる。具体的には、ステップS503で維持された目標バッファデータ量およびステップS406で計測された再生バッファ208に蓄積されたデータ量を元にステップS407およびステップS408でトランスコード速度とエンコードパラメータが決定される。
一方、目標バッファデータ量決定部207が、目標バッファデータ量変更フラグがセットされていると判定した場合(ステップS502でYES)、ステップS404の処理が行われる。ステップS404での動作は実施の形態1におけるものと同じであるため説明は省略する。
次に、目標バッファデータ量決定部207は、目標バッファデータ量を決定する(ステップS504)。ステップS504での目標バッファデータ量の決定については、ステップS405での処理と異なる。実施の形態1では、次式を用いて目標バッファデータ量を導出した。
目標バッファデータ量=1RTTの間に発生する映像データの到着遅延/RTT×低下継続係数
しかし、実施の形態2においては、ネットワーク300の環境情報であるRSSIのデータが取得されるため、RSSIを用いて目標バッファデータ量の補正を行うことができる。一般的に、RSSIが−30dBm以上であれば安定した通信を行える。したがって、RSSIが−30dBm以上であれば安定したネットワーク状況であると判断することができ、クライアント200aの再生バッファ208に蓄積するデータ量を少なくしてエンコードレートを上げることができる。一方、RSSIが−30dBm以下であれば不安定なネットワーク状況であると判断することができる。したがって、安定した映像の再生を行うためには、クライアント200aの再生バッファ208に蓄積するデータ量をより多くする必要があるため、より多くの目標バッファデータ量を設定しなければならない。
一例をあげると、RSSIを用いて補正した目標バッファデータ量は以下のようにして計算できる。
補正した目標バッファデータ量=目標バッファデータ量×(1−(30+RSSI)/n)
ここで、nは正の実数であり、ネットワーク300において観測されるRSSIの変化幅に応じて調整される。
より具体的に一例をあげると、RSSIが−10dBmから−80dBmの間で変化するようなネットワーク300においては、n=200に設定する。これにより、例えばRSSIが−10dBmのときには、補正した目標バッファデータ量は次式のように計算できる。
補正した目標バッファデータ量=目標バッファデータ量×(1−(30−10)/200)=目標バッファデータ量×0.9
また、例えばRSSIが−80dBmのときには、補正した目標バッファデータ量は次式のように計算できる。
補正した目標バッファデータ量=目標バッファデータ量×(1−(30−80)/200)=目標バッファデータ量×1.25
このように、RSSIが大きい場合には、通信環境が安定しているため、目標バッファデータ量が小さくなるように補正され、RSSIが小さい場合には、通信環境が不安定なため、目標バッファデータ量が大きくなるように補正される。
次に、ステップS406の処理が行われるが、ステップS406での処理は実施の形態1におけるものと同じであるため説明は省略する。
次に、トランスコード速度決定部204は、トランスコード速度を決定する(ステップS505)。ステップS505でのトランスコード速度の決定については、ステップS407での処理と異なる。ステップS505では、補正した目標バッファデータ量が使用される。
ステップS505では、トランスコード速度の決定にRSSIを利用する。すなわち、ステップS407での仮のトランスコード速度の算出を行うための計算式を次式のように置き換える。
仮のトランスコード速度=1+(補正した目標バッファデータ量−現在のバッファデータ量)/(m×(1.01−低下係数))−(RSSI+30)/n
m、nは、ともに正の実数である。また、例えば、RSSIが−10dBmから−80dBmの間で変化するようなネットワーク300においては、n=200に設定する。さらに、実施の形態1において例示したパラメータ(m=0.1、目標バッファデータ量=1.5秒、現在のバッファデータ量=1秒、低下係数=−2)を用いる。例えばRSSIが−10dBmのときには、仮のトランスコード速度は次式のように計算できる。
仮のトランスコード速度=1+(1.5×0.9−1.0)×0.1×(1.01+2)−(−10+30)/200≒1.0
また、例えばRSSIが−80dBmのときには、仮のトランスコード速度は次式のように計算できる。
仮のトランスコード速度=1+(1.5×1.25−1.0)×0.1×(1.01+2)−(−80+30)/200≒1.51
そして、実施の形態1で説明したように、仮のトランスコード速度は、最高トランスコード速度と比較され、トランスコード速度が決定される。
このように、RSSIが大きい場合には、通信環境が安定しているため、トランスコード速度を早くする必要がなく、RSSIが小さい場合には、通信環境が不安定なため、トランスコード速度を早くする必要がある。つまり、ネットワーク環境が良い場合にはよりゆっくりと制御を行うことでより高品質な映像を配信し、不安定なネットワーク環境ではより素早く再生バッファ208に蓄積するデータ量を目標値に適合させることで安定して映像を配信することができる。
以上、実施の形態2に開示した映像制御装置、映像配信システムおよび映像制御方法により、ネットワークインターフェイス等から取得できるより低レイヤの情報(例えばRSSI)を利用して、より効率的かつ安定したエンコードパラメータとトランスコード速度との制御を行うことができる。
(その他の実施の形態)
以上、本発明の映像制御装置、映像配信システムおよび映像制御方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、及び、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
例えば、上記実施の形態では、通信部210は、トランスコード速度およびエンコードパラメータに関する指示を、映像配信サーバ100に送信したが、これに限らない。例えば、通信部210は、目標バッファデータ量および再生バッファ208に蓄積されたデータ量に関する情報を映像配信サーバ100に送信してもよい。また、映像配信サーバ100は、トランスコード速度決定部およびエンコードパラメータ決定部を備えてもよい。これにより、映像配信サーバ100に備えられたトランスコード速度決定部およびエンコードパラメータ決定部が、通信部210から受信した目標バッファデータ量および再生バッファ208に蓄積されたデータ量に関する情報に基づいてトランスコード速度およびエンコードパラメータを決定してもよい。つまり、トランスコード速度およびエンコードパラメータは、映像配信サーバ100側で決定されてもよい。
なお、本発明の包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。例えば、本発明は、上記映像制御方法をコンピュータに実行させるためのプログラムとして実現されてもよい。また、そのプログラムを示す情報、データ又は信号として実現することもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。
その他、実施の形態に対して当業者が思いつく各種変形を施して得られる形態や、本発明の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。
本発明にかかる映像制御装置は、さまざまなネットワークへの適用性を有し、蓄積型の映像配信システムの制御技術等として有用である。また比較的遅延に対する要求の緩やかなライブストリーミング等の用途にも応用できる。
10 映像配信システム
100 映像配信サーバ(サーバ装置)
200、200a クライアント(映像制御装置)
300 ネットワーク
102 エンコードパラメータ指定部
103 トランスコード速度指定部
104 命令受信部
105、202 通信スタック
106 映像ソース
107 トランスコーダ
110 第1の通信部
203 命令送信部
204 トランスコード速度決定部
205 エンコードパラメータ決定部
206 帯域推定部
207 目標バッファデータ量決定部
208 再生バッファ
209 デコーダ
210 通信部(第2の通信部)
220 決定部
230 通信環境観測部

Claims (10)

  1. サーバ装置から送信された映像データを受信する映像制御装置であって、
    前記サーバ装置でトランスコードされ、ネットワークを介して受信した前記映像データを蓄積する再生バッファと、
    前記再生バッファから読み出した前記映像データをデコードするデコーダと、
    前記ネットワークの所定時間後の可用帯域を推定し、推定した当該所定時間後の可用帯域に基づき必要となる目標バッファデータ量を決定し、決定した当該目標バッファデータ量と、前記再生バッファに蓄積されたデータ量とを用いて、前記再生バッファに蓄積されるデータ量を変化させるパラメータである、前記映像データの単位時間当たりの送信速度に関するトランスコード速度と、前記映像データの1つのフレーム当たりのデータ量に関するエンコードレートを含むエンコードパラメータとを決定する決定部と、
    前記決定部が決定した前記トランスコード速度および前記エンコードパラメータを、前記サーバ装置に対して送信する通信部と、を備える
    映像制御装置。
  2. 前記決定部は、前記ネットワークの可用帯域を所定のタイミング毎に計測し、計測した当該所定のタイミング毎の可用帯域の変化を用いて、前記所定時間後の可用帯域を推定する
    請求項1に記載の映像制御装置。
  3. 前記決定部は、前記所定のタイミング毎の可用帯域の変化に基づく可用帯域の低下の速度を示す低下係数を用いて、前記所定時間後の可用帯域を推定する
    請求項2に記載の映像制御装置。
  4. 前記決定部は、前記サーバ装置との間のRTT(Round Trip Time)と前記低下係数とを用いて、前記所定時間後の可用帯域を推定する
    請求項3に記載の映像制御装置。
  5. 前記決定部は、前記所定時間後の可用帯域と、前記所定のタイミング毎の可用帯域の変化に基づく可用帯域の低下が継続する時間を示す低下継続係数と、前記サーバ装置との間のRTTとを用いて、前記目標バッファデータ量を決定する
    請求項2〜4のいずれか1項に記載の映像制御装置。
  6. 前記通信部は、前記決定部が決定した前記トランスコード速度を、1回の確立されたコネクションの間に、複数回送信する
    請求項1〜5のいずれか1項に記載の映像制御装置。
  7. さらに、前記通信部から前記ネットワークの通信環境に関する通信環境情報を取得し、当該通信環境情報に基づいて当該ネットワークの通信環境の変化が一時的な変化であるか否かを判断する通信環境観測部を有し、
    前記決定部は、前記通信環境観測部が前記通信環境の変化が一時的な変化であると判断した場合には前記目標バッファデータ量を変更せず、一時的な変化でないと判断した場合には前記目標バッファデータ量を変更する
    請求項1〜6のいずれか1項に記載の映像制御装置。
  8. 前記通信環境観測部は、前記通信環境情報としてRSSI(Received Signal Strength Indicator)を所定間隔で取得し、前記RSSIが、予め定められた複数の閾値の範囲のうち前回取得したRSSIと同じ閾値の範囲内にある場合に、前記通信環境の変化が一時的な変化であると判断する
    請求項7に記載の映像制御装置。
  9. ネットワークを介してサーバ装置から送信された映像データを受信する映像制御装置における映像制御方法であって、
    前記映像制御装置は、受信した前記映像データを蓄積する再生バッファと、前記再生バッファから読み出した前記映像データをデコードするデコーダと、を備え、
    前記映像制御方法は、
    前記ネットワークの可用帯域を所定のタイミング毎に計測するステップと、
    前記計測するステップで計測した前記所定のタイミング毎の可用帯域の変化を用いて、前記ネットワークの所定時間後の可用帯域を推定し、推定した当該所定時間後の可用帯域に基づき必要となる目標バッファデータ量を決定するステップと、
    前記目標バッファデータ量と前記再生バッファに蓄積されたデータ量とを用いて、前記再生バッファに蓄積するデータ量を変化させるパラメータである、前記映像データの単位時間当たりの送信速度に関するトランスコード速度と、前記映像データの1つのフレーム当たりのデータ量に関するエンコードレートを含むエンコードパラメータとを決定するステップと、
    前記トランスコード速度および前記エンコードパラメータを、前記サーバ装置に対して送信するステップと、を含む
    映像制御方法。
  10. サーバ装置に蓄積された映像データを、ネットワークを介して、クライアントに配信する映像配信システムであって、
    前記映像データをトランスコードするトランスコーダと、
    前記トランスコーダがトランスコードした映像データを送信する第1の通信部と、
    前記第1の通信部が送信した前記映像データを受信する第2の通信部と、
    前記第2の通信部が受信した前記映像データを蓄積する再生バッファと、
    前記再生バッファから読み出した前記映像データをデコードするデコーダと、
    前記ネットワークの所定時間後の可用帯域を推定し、推定した当該所定時間後の可用帯域に基づき必要となる目標バッファデータ量を決定し、決定した当該目標バッファデータ量と、前記再生バッファに蓄積されたデータ量とを用いて、前記再生バッファに蓄積するデータ量を変化させるパラメータである、前記映像データの単位時間当たりの送信速度に関するトランスコード速度と、前記映像データの1つのフレーム当たりのデータ量に関するエンコードレートを含むエンコードパラメータとを決定する決定部と、を備え、
    前記トランスコーダは、前記決定部が決定したトランスコード速度とエンコードパラメータとを用いて前記映像データをトランスコードする
    映像配信システム。
JP2015195257A 2015-09-30 2015-09-30 映像制御装置、映像配信システムおよび映像制御方法 Pending JP2017069849A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015195257A JP2017069849A (ja) 2015-09-30 2015-09-30 映像制御装置、映像配信システムおよび映像制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015195257A JP2017069849A (ja) 2015-09-30 2015-09-30 映像制御装置、映像配信システムおよび映像制御方法

Publications (1)

Publication Number Publication Date
JP2017069849A true JP2017069849A (ja) 2017-04-06

Family

ID=58495350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015195257A Pending JP2017069849A (ja) 2015-09-30 2015-09-30 映像制御装置、映像配信システムおよび映像制御方法

Country Status (1)

Country Link
JP (1) JP2017069849A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2017179230A1 (ja) * 2016-04-14 2018-08-16 株式会社ソニー・インタラクティブエンタテインメント 受信装置、送信装置、制御方法、送信方法及びプログラム
CN109348307A (zh) * 2018-10-23 2019-02-15 安徽慧视金瞳科技有限公司 一种慧视云课堂教学系统音视频低延迟方法
CN113852818A (zh) * 2020-06-28 2021-12-28 上海交通大学 一种自适应码率传输的服务器及码率确定方法
JP2022503419A (ja) * 2018-08-21 2022-01-12 ロヴィ ガイズ, インコーポレイテッド リアルタイム適応ビットレートトランスコーディングおよびトランスコードされたメディアの伝送のためのシステムおよび方法
US11425394B2 (en) * 2019-07-24 2022-08-23 Beijing Dajia Internet Information Technology Co., Ltd. Method and apparatus for determining video bit rate, and electronic device
WO2023047578A1 (ja) * 2021-09-27 2023-03-30 富士通株式会社 画像伝送制御装置、方法およびプログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2017179230A1 (ja) * 2016-04-14 2018-08-16 株式会社ソニー・インタラクティブエンタテインメント 受信装置、送信装置、制御方法、送信方法及びプログラム
US10931913B2 (en) 2016-04-14 2021-02-23 Sony Interactive Entertainment Inc. Reception apparatus, transmission apparatus, control method, transmission method, and program
JP2022503419A (ja) * 2018-08-21 2022-01-12 ロヴィ ガイズ, インコーポレイテッド リアルタイム適応ビットレートトランスコーディングおよびトランスコードされたメディアの伝送のためのシステムおよび方法
JP7167194B2 (ja) 2018-08-21 2022-11-08 ロヴィ ガイズ, インコーポレイテッド リアルタイム適応ビットレートトランスコーディングおよびトランスコードされたメディアの伝送のためのシステムおよび方法
US11516542B2 (en) 2018-08-21 2022-11-29 Rovi Guides, Inc. Systems and methods for real-time adaptive bitrate transcoding and transmission of transcoded media
CN109348307A (zh) * 2018-10-23 2019-02-15 安徽慧视金瞳科技有限公司 一种慧视云课堂教学系统音视频低延迟方法
US11425394B2 (en) * 2019-07-24 2022-08-23 Beijing Dajia Internet Information Technology Co., Ltd. Method and apparatus for determining video bit rate, and electronic device
CN113852818A (zh) * 2020-06-28 2021-12-28 上海交通大学 一种自适应码率传输的服务器及码率确定方法
WO2023047578A1 (ja) * 2021-09-27 2023-03-30 富士通株式会社 画像伝送制御装置、方法およびプログラム

Similar Documents

Publication Publication Date Title
US11503307B2 (en) System and method for automatic encoder adjustment based on transport data
US10129316B2 (en) Server side adaptive bit rate control for HTTP streaming clients
CN108141443B (zh) 用户设备、媒体流传输网络辅助节点和媒体流传输方法
JP2017069849A (ja) 映像制御装置、映像配信システムおよび映像制御方法
US7987284B2 (en) Communication processing apparatus, data communication system, and communication processing method
KR101524325B1 (ko) 스트리밍 미디어 서버에 있어서 프록시 구동의 콘텐츠 레이트 선택
US8230105B2 (en) Adaptive bitrate management for streaming media over packet networks
EP2717536B1 (en) Processing method, distribution server, client and system for streaming media
CN110192394B (zh) 通过网络传送媒体内容的方法和服务器
JP2015536594A (ja) 積極的なビデオフレームドロップ
JP2010011212A (ja) 送信装置、受信装置、及び方法、プログラム
CN107210999B (zh) 链路感知流送自适应
WO2011018868A1 (ja) 配信システム
JP2014522609A (ja) マルチパスレート適応
AU2021200428B2 (en) System and method for automatic encoder adjustment based on transport data
JP2010028378A (ja) 通信装置及び通信方法
JP5234719B2 (ja) 映像サーバ装置
KR101055169B1 (ko) 스트리밍 시스템의 트래픽 제어 방법 및 그 장치
JP2004153610A (ja) 動画像配信方法、無線端末、動画像配信制御装置、及び動画像配信システム
KR101795958B1 (ko) 실시간 네트워크 카메라에서의 적응적 영상 제공 방법, 장치 및 사용자 단말기
JP5524374B2 (ja) 映像ストリームの伝送方法
JP2011239232A (ja) 送信装置、送信方法、並びにプログラム
JP2010136159A (ja) データ受信装置
Hermanns et al. A framework and evaluation of rate adaptive video telephony in 4G LTE
JP2011015214A (ja) 送信装置、送信方法、及びコンピュータプログラム