JP6466870B2 - クライアント装置および方法 - Google Patents

クライアント装置および方法 Download PDF

Info

Publication number
JP6466870B2
JP6466870B2 JP2016037953A JP2016037953A JP6466870B2 JP 6466870 B2 JP6466870 B2 JP 6466870B2 JP 2016037953 A JP2016037953 A JP 2016037953A JP 2016037953 A JP2016037953 A JP 2016037953A JP 6466870 B2 JP6466870 B2 JP 6466870B2
Authority
JP
Japan
Prior art keywords
segment
bit rate
client device
unit
throughput
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
JP2016037953A
Other languages
English (en)
Other versions
JP2017157958A (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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2016037953A priority Critical patent/JP6466870B2/ja
Publication of JP2017157958A publication Critical patent/JP2017157958A/ja
Application granted granted Critical
Publication of JP6466870B2 publication Critical patent/JP6466870B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、クライアント装置および方法に関する。
近年、オンライン動画配信サービスにおいてDASH(dynamic adaptive streaming over hyper transfer protocol)型配信に代表される配信ビットレートを動的に変更する配信形態が広く採用されている。本方式によれば、予めあるコンテンツについて、異なる品質(ビットレート)のデータを用意し、かつ、セグメント単位に分割しておくことで、ネットワーク状況に応じて最適かつ最高の品質のコンテンツを要求できるようになる。具体的には、コンテンツビットレートと直近で計測したスループットの指標とが比較され、スループットを超えない範囲のビットレートのセグメントファイルが要求される。例えば、非特許文献1には、セグメントの再生時間を実際に同セグメントの受信に要した時間で除して、その値が予め設定されたしきい値以上であれば、要求するビットレートを一段階上げ、逆の場合は下げる技術が開示されている。
MMSys'11 - Proceedings of the 2011 ACM Multimedia Systems Conference, 2011, p. 169-174
しかしながら、非特許文献1に記載されるような方法では、コンテンツビットレートとスループットとを比較するロジックは固定されているので、受信装置がおかれた実環境を考慮することができない。つまり、実際にはスループットの急激な変動が発生する状況であっても、スループットの変動が安定的である状況であっても、用いられるロジックは同一となる。前者の状況の例は、端末が移動して頻繁にハンドオーバが行われる状況である。ハンドオーバにおいては、基地局のインタフェースの変化および端末登録期間のデータ通信停止が瞬間的に発生するので、スループットが急激に変動しうる。
このため、例えばスループットが変動しやすい状況において要求するビットレートが早く上がってしまうと、予期せぬバッファアンダーフローが起こる蓋然性が高くなる。また、逆に、スループットが変動しづらい状況であっても要求するビットレートが早く上がるということはなく、ユーザが体感する品質の低下につながりうる。このように、非特許文献1に記載されるような従来の方法では、パフォーマンス面で不十分となる虞がある。
本発明はこうした課題に鑑みてなされたものであり、その目的は、クライアント装置の状況やコンテンツの属性に応じて、要求するセグメントのビットレートを最適化することができる技術の提供にある。
本発明のある態様はクライアント装置に関する。このクライアント装置は、複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得するクライアント装置であって、クライアント装置におけるスループットの指標から要求するセグメントのビットレートを決定するための基準を、クライアント装置の状況およびコンテンツの属性のうちの少なくともひとつに基づいて更新する更新部と、更新部によって更新された基準にしたがいビットレートを決定する決定部と、を備える。
なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。
本発明によれば、クライアント装置の状況やコンテンツの属性に応じて、要求するセグメントのビットレートを最適化することができる。
実施の形態に係るクライアント装置を備える配信システムの機能および構成を示すブロック図である。 図1のDASHサーバに保持されるコンテンツの説明図である。 図1のハンドオーバ情報保持部の一例を示すデータ構造図である。 図1のスループット保持部の一例を示すデータ構造図である。 図1の配信システムにおける一連の処理を示すタイムチャートである。 図5の第3ビットレート決定処理の流れを示すフローチャートである。
以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。
図1は、実施の形態に係るクライアント装置106を備える配信システム100の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPU(Central Processing Unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。
配信システム100は、DASHサーバ102と、インターネットなどのネットワーク104を介してDASHサーバ102と接続されたクライアント装置106と、を備える。DASHサーバ102は、映画やアニメーションや他の動画像などのコンテンツを保持し、クライアント装置106からの要求に応じてストリーミング形式で配信する。クライアント装置106は携帯電話やタブレット端末、スマートフォン、デスクトップPC(Personal Computer)、ノートPC等であってもよいが、本実施の形態ではクライアント装置106は基地局や無線アクセスポイントを介してネットワーク104に無線で接続される携帯端末であるとする。
図2は、DASHサーバ102に保持されるコンテンツの説明図である。DASHサーバ102はひとつのコンテンツを複数のビットレート(符号化速度)で保持する。複数のビットレートは300kbps、1.2Mbps、5Mbpsを含むがこれらに限定されない。DASHサーバ102では、ひとつのコンテンツはN個(Nは2以上の自然数)のセグメントに分割される。各セグメントは所定の再生長またはデータ量に対応する。本実施の形態ではセグメントは3秒、5秒、10秒のいずれかの再生長に対応するものとする。ただしこれらに限定されない。各セグメントには複数のビットレートのそれぞれに対応するセグメントファイルが存在する。
図2には、3秒の再生長でN個のセグメントに分割されたコンテンツが示される。すなわちこのコンテンツの総再生長は3・N秒となる。各セグメントについて、ビットレートが高いほどセグメントファイルのデータ量は多くなる。図2に示されるように、DASHサーバ102にはセグメントごとに異なるビットレートのデータが用意されており、セグメントごとに異なるビットレートを指定可能となっている。例えば、セグメント1については300kbpsのセグメントファイル202、セグメント2については1.2Mbpsのセグメントファイル204、セグメント3については5Mbpsのセグメントファイル206、がそれぞれ指定され、クライアント装置106に配信されてもよい。ビットレートの指定はクライアント装置106からのセグメントの要求に含まれる。
図1に戻り、クライアント装置106はコンテンツをネットワーク104を介して取得する。クライアント装置106は受信したデータをバッファしつつ既にバッファされているデータを順次再生する。ここで、データの再生にデータの蓄積が追いつかず、データの「残量」すなわちクライアント装置106にダウンロードされバッファに格納されたデータであってまだ再生の用に供されていないデータの量が無くなってしまうことをバッファアンダーフローという。バッファアンダーフローが生じると再生が途切れ途切れになるなどユーザ体験が劣化しうる。
バッファアンダーフローを抑制または除去するために、クライアント装置106はコンテンツの受信速度すなわちスループットの指標(スループットそのものやスループットを示す他のパラメータ)を、セグメントを受信するたびに算出する。クライアント装置106は、算出された指標が基準を満たせば次に要求するセグメントについて指定するビットレートを変更する。本実施の形態では、クライアント装置106はこの基準を通信環境やバッファの状況、コンテンツの属性に応じて動的に更新する。これにより、固定的な基準を使用する場合と比較して、スループットの急な変動に起因するバッファアンダーフローが起こりにくい配信システムを実現できる。特に、セグメントの再生長と同程度の周期のスループットの変動に起因するバッファアンダーフローを抑制することができる。または、スループットの変動があまりない場合はより早い段階でより高品質なコンテンツの再生が可能となり、ユーザ体験が向上する。
クライアント装置106は、HTTPアクセスクライアント108と、メディアエンジン110と、制御エンジン112と、ディスプレイ114と、ハンドオーバ検知部116と、ユーザ操作受付部118と、ハンドオーバ情報保持部120と、MPD保持部122と、スループット保持部124と、を備える。
HTTPアクセスクライアント108はHTTPアクセス用のクライアントであり、ネットワーク104とのインタフェースとして機能する。HTTPアクセスクライアント108はネットワーク104を介してクライアント装置106宛に送られてきたデータを受信して他の部材に提供すると共に、他の部材から送信対象のデータを取得してネットワーク104に送信する。
メディアエンジン110はクライアント装置106が受信したコンテンツを再生するための復号等の処理を行い、ディスプレイ114にコンテンツを表示させる。メディアエンジン110は受信したコンテンツのセグメントファイルを保持するためのバッファ136を含む。DASHサーバ102から送信されたセグメントファイルはネットワーク104を介してHTTPアクセスクライアント108で受信され、HTTPアクセスクライアント108からメディアエンジン110に送信され、メディアエンジン110においてバッファ136に格納される。また、メディアエンジン110は再生対象のセグメントファイルをバッファ136から読み出して処理し、ディスプレイ114に表示させる。
ハンドオーバ検知部116はクライアント装置106とネットワーク104との間の無線接続におけるハンドオーバを検知し、検知結果をハンドオーバ情報保持部120に登録する。ハンドオーバ検知部116は、周期的に、例えば所定の間隔ΔTごとに、API(Application Programing Interface)を呼び出して現在接続している基地局の基地局IDを取得する。ハンドオーバ検知部116は、取得された基地局IDと、該基地局IDを取得した時刻と、を対応付けてハンドオーバ情報保持部120に登録する。さらにハンドオーバ検知部116は、ハンドオーバ情報保持部120を参照し、今回登録した基地局IDとその直前の基地局IDとを比較し、それらが異なっていればハンドオーバが発生したと判定する。ハンドオーバが発生したと判定された場合、ハンドオーバ検知部116はハンドオーバが有った旨をハンドオーバ情報保持部120に登録する。
ハンドオーバの検知間隔ΔTとセグメントの再生長とは対応してもしなくてもよい。また、ハンドオーバ検知部116は、間隔ΔTを使用する代わりに、セグメントが受信されるごとにハンドオーバを検知してもよい。
図3は、ハンドオーバ情報保持部120の一例を示すデータ構造図である。ハンドオーバ情報保持部120は、基地局IDが取得された時刻と、基地局IDと、ハンドオーバの有無を示す情報と、を対応付けて保持する。時刻「13:02:26」のエントリについて、基地局IDは「xxx」であり、直前(時刻「13:02:25」)の基地局IDも「xxx」であるから、ハンドオーバ検知部116はハンドオーバが発生しなかったと判定し、該エントリのハンドオーバの有無に「N」を登録する。時刻「13:02:27」のエントリについて、基地局IDは「yyy」であり、直前(時刻「13:02:26」)の基地局IDは「xxx」であり異なっているから、ハンドオーバ検知部116はハンドオーバが発生したと判定し、該エントリのハンドオーバの有無に「Y」を登録する。
図1に戻り、ユーザ操作受付部118は不図示のタッチパネル等の入力装置と接続され、ユーザから再生対象のコンテンツの指定を受け付ける。ユーザ操作受付部118は、コンテンツの再生に関するユーザ操作、例えばコンテンツの再生開始や再生停止の指示、を受け付ける。
制御エンジン112はDASHサーバ102からのコンテンツの受信を制御する。制御エンジン112は再生対象のコンテンツのメタファイルであるMPD(Media Presentation Description)ファイルをDASHサーバ102に要求し、DASHサーバ102から取得し、MPD保持部122に登録する。MPDファイルはコンテンツについての情報を含み、例えばセグメントの再生長や各セグメントについて指定可能なビットレートやDRM(Digital Rights Management)についての情報や符号化方式についての情報を含む。MPDファイルは例えばMPEG−DASH(ISO/IEC23009−1)に準拠してもよい。
制御エンジン112は、MPD保持部122に保持されるMPDファイルを解析し、解析結果に基づいて次に要求するセグメントについて指定するビットレートを決定する。クライアント装置106におけるスループットの指標から次に要求するセグメントのビットレートを決定するための基準を決定基準と称す。制御エンジン112は、セグメントが受信されるごとに決定基準を更新する。制御エンジン112は、セグメント要求部126と、指標算出部128と、変動係数算出部130と、しきい値更新部132と、ビットレート決定部134と、を含む。
セグメント要求部126は、ビットレート決定部134によって決定されたビットレートを指定して次のセグメントを、ネットワーク104を介してDASHサーバ102に要求する。セグメント要求部126は、要求する次のセグメントのIDと該セグメントについて指定するビットレートとを含むセグメント要求信号を生成し、HTTPアクセスクライアント108およびネットワーク104を介してDASHサーバ102に送信する。DASHサーバ102は、受信したセグメント要求信号で指定されるビットレートのセグメントファイルをクライアント装置106に送信する。バッファ136はDASHサーバ102から送信されたセグメントファイルを保持する。
指標算出部128は現在のスループットを定量化した指標を算出する。このスループットの指標はスループットの大きさを数値で表したものであれば何でもよく、例えばスループットそのものやスループットに関連する値であってもよい。本実施の形態では、指標算出部128は、直前に取得されたセグメントの受信に要した時間である受信時間と当該セグメントの再生長との比をスループットの指標として算出する。セグメントの再生長はセグメントファイルのデータ量を反映するので、この指標はスループットの大きさを示す良い指標である。より具体的には、指標算出部128は、セグメントファイルが受信されるごとに、そのセグメントファイルの受信時間と再生長とから指標を算出する。セグメントの数をN個(Nは2以上の自然数)とし、m番目(mはNより小さい自然数)のセグメントが受信された後に(m+1)番目のセグメントを要求するとき、指標算出部128は、m番目のセグメントについての指標μ
μ=(m番目のセグメントの再生長)/(m番目のセグメントの受信時間) …(式1)
にしたがい算出する。
ビットレート決定部134は、しきい値更新部132によって更新される決定基準にしたがい、次に要求するセグメントについて指定するビットレートを決定する。ビットレート決定部134は、指標算出部128によって算出された指標μとしきい値更新部132によって更新されるしきい値との大小関係に基づいてビットレートを決定する。
具体的には、ビットレート決定部134は、レートアップ基準が満たされる場合、すなわち
μ>μum+1
の場合、(m+1)番目のセグメントについて要求するビットレートをm番目のセグメントのビットレートよりも高くなるよう決定する。μum+1は(m+1)番目のセグメントに対するレートアップしきい値であり、しきい値更新部132により算出される。ビットレート決定部134は、レートダウン基準が満たされる場合、すなわち
μ<μdm+1
の場合、(m+1)番目のセグメントについて要求するビットレートをm番目のセグメントのビットレートよりも低くなるよう決定する。μdm+1は(m+1)番目のセグメントに対するレートダウンしきい値であり、しきい値更新部132により算出される。
μum+1およびμdm+1のそれぞれの初期値(μu、μd)は以下のように決定される。
μu:MPDファイルに記載されている、コンテンツについて利用可能なビットレートをBR1、BR2、BR3、…とするとき、隣接レート間比率(BR2/BR1、BR3/BR2、…)の最大値。利用可能なビットレートが300kbps、1.2Mbps、5Mbpsである例では、1.2/0.3=4、5/1.2=4.2なのでμuは4.2となる。
μd:予め設定された定数であり、例えば0.8程度。
しきい値更新部132は、セグメントファイルが受信されるごとに、決定基準をクライアント装置106の状況およびコンテンツの属性のうちの少なくともひとつに基づいて更新する。しきい値更新部132は、(1)スループットの変動が大きいほど、または(2)ハンドオーバの頻度が高いほど、ビットレートが上がりにくくなるよう決定基準を更新する。
より具体的には、しきい値更新部132は、ビットレート決定部134におけるレートアップしきい値およびレートダウンしきい値を以下のように更新する。しきい値更新部132は、1より大きいmについて(m+1)番目のセグメントに対するレートアップしきい値μum+1およびレートダウンしきい値μdm+1
μum+1=(1−α)・μu+α・μu・k …(式2)
μdm+1=(1−β)・μd+β・μd・k …(式3)
にしたがい算出する。μu、μdはそれぞれm番目のセグメントに対するレートアップしきい値、レートダウンしきい値である。α、βは重み付け係数であり、特に直近の値の反映割合を示す学習率である。kはスループットの変動の程度を表す指標σthとハンドオーバの頻度の程度を表す指標σhoとに基づいてセグメントごとに更新される変動係数である。
変動係数算出部130は、セグメントファイルが受信されるごとに、変動係数kを算出し、しきい値更新部132に供給する。変動係数kは指標σthおよび指標σhoの2変数に関して単調増加となる2次元関数
k=f(σth、σho) (0.5≦k≦2)
である。変動係数算出部130は以下のように指標σthおよび指標σhoを算出し、それらを上記の式に代入することでkを算出する。kの値域はしきい値が発散しないために例として設定したものである。
変動係数算出部130は、直前に受信されたセグメントファイルのサイズと、セグメントを要求してからそのセグメントファイル全てを受信し終わるのに要した時間と、からスループットを算出する。変動係数算出部130は、算出されたスループットと、該スループットを算出した時刻と、を対応付けてスループット保持部124に登録する。
図4は、スループット保持部124の一例を示すデータ構造図である。スループット保持部124は、スループットが算出された時刻と、算出されたスループットの値と、を対応付けて保持する。
図1に戻り、変動係数算出部130は、直前に受信されたセグメントファイルについて算出されたスループットを含む一定時間T内でのスループットの変動の程度を表す指標σthを以下のように算出する。一定時間T内に観測されたn個(nは2より大きくNより小さい自然数)のスループットをTh、Th、…、Th、平均をThとすると、σthはn個のスループットの標準偏差
Figure 0006466870
として算出される。変動係数算出部130は、各セグメントの受信を完了した時点で指標σthを算出する。
変動係数算出部130は、一定時間T内でのハンドオーバの発生頻度の程度を表す指標σhoを、一定時間T内でのハンドオーバ発生の累積回数として算出する。変動係数算出部130は、ハンドオーバ情報保持部120を参照し、現在時刻からTだけ前の時刻から現在時刻までの間に何回ハンドオーバが発生したかを算出する。変動係数算出部130は算出された値(回数)を指標σhoとする。
以上の構成による配信システム100の動作を説明する。
図5は、配信システム100における一連の処理を示すタイムチャートである。クライアント装置106は、再生対象のコンテンツのMPDファイルをDASHサーバ102に要求する(S502)。DASHサーバ102は、予め生成したMPDファイルをクライアント装置106に送信する(S504)。クライアント装置106は取得されたMPDファイルの内容に基づいて第1ビットレート決定処理を行う(S506)。第1ビットレート決定処理はコンテンツの最初のセグメントを要求する際にその最初のセグメントについて指定するビットレートを決定するための処理である。本実施の形態では、最初のセグメントについて指定するビットレートの決定基準は予め定められている(例えば、利用可能なビットレートのうち最も低いレート)ので、クライアント装置106はその決定基準にしたがって最初のセグメントについて指定するビットレートを決定する。第1ビットレート決定処理における決定基準はスループットの指標にも、スループットの変動の程度にも依存しない。
クライアント装置106は、ステップS506で決定されたビットレートを指定して最初のセグメント(セグメント1)をDASHサーバ102に要求する(S508)。DASHサーバ102は、ステップS508の要求に応答して、指定されたビットレートに対応するセグメント1のセグメントファイルをクライアント装置106に送信する(S510)。
クライアント装置106は、セグメント1についてのスループットの指標μに基づいて第2ビットレート決定処理を行う(S512)。第2ビットレート決定処理は、コンテンツの2番目のセグメントを要求する際に、最初のセグメントの指標μに基づいて2番目のセグメントについて指定するビットレートを決定するための処理である。クライアント装置106は、受信されたセグメント1のセグメントファイルのサイズと、セグメント1を要求してからそのセグメントファイル全てを受信し終わるのに要した時間と、からセグメント1のスループットを算出し、スループット保持部124に登録する。また、クライアント装置106は指標μを上記の式1にしたがい算出し、レートアップ基準が満たされるか、すなわちμ>μuが満たされるかを判定し、レートダウン基準が満たされるか、すなわちμ<μdが満たされるかを判定する。クライアント装置106は、レートアップ基準が満たされている場合、最初のセグメントについて指定したビットレートよりも高いビットレートを2番目のセグメントについて指定するビットレートとして決定する。クライアント装置106は、レートダウン基準が満たされている場合、最初のセグメントについて指定したビットレートよりも低いビットレートを2番目のセグメントについて指定するビットレートとして決定する。第2ビットレート決定処理における決定基準はスループットの指標に依存するが、スループットの変動の程度には依存しない。
クライアント装置106は、ステップS512で決定されたビットレートを指定して2番目のセグメント(セグメント2)をDASHサーバ102に要求する(S514)。DASHサーバ102は、ステップS514の要求に応答して、指定されたビットレートに対応するセグメント2のセグメントファイルをクライアント装置106に送信する(S516)。
クライアント装置106は、セグメント2についてのスループットの指標μとスループットの変動の程度を表す指標σthとハンドオーバの頻度の程度を表す指標σhoとに基づいて第3ビットレート決定処理を行う(S518)。第3ビットレート決定処理は、コンテンツの3番目以降のセグメントを要求する際に、直前のセグメント(m番目のセグメント、m≧2)の指標μに基づいて(m+1)番目のセグメントについて指定するビットレートを決定するための処理である。
図6は、第3ビットレート決定処理の流れを示すフローチャートである。クライアント装置106は、受信されたセグメントmのセグメントファイルのサイズと、セグメントmを要求してからそのセグメントファイル全てを受信し終わるのに要した時間と、からセグメントmのスループットを算出し、スループット保持部124に登録する。また、クライアント装置106はスループットの指標μを上記の式1にしたがい算出する(S602)。クライアント装置106は、スループットの変動の指標σthを算出する(S604)。クライアント装置106は、ハンドオーバの頻度の指標σhoを算出する(S606)。クライアント装置106は、ステップS604で算出された指標σthとステップS606で算出された指標σhoとから変動係数kを算出し、上記の式2、式3にしたがいレートアップしきい値μum+1とレートダウンしきい値μdm+1とを更新する(S608)。クライアント装置106は、更新されたレートアップ基準が満たされるか、すなわちμ>μum+1が満たされるかを判定し、更新されたレートダウン基準が満たされるか、すなわちμ<μdm+1が満たされるかを判定する(S610)。クライアント装置106は、レートアップ基準が満たされている場合、m番目のセグメントについて指定したビットレートよりも高いビットレートを(m+1)番目のセグメントについて指定するビットレートとして決定する(S612)。クライアント装置106は、レートダウン基準が満たされている場合、m番目のセグメントについて指定したビットレートよりも低いビットレートを(m+1)番目のセグメントについて指定するビットレートとして決定する(S612)。第3ビットレート決定処理における決定基準はスループットの指標とスループットの変動の程度とに依存する。
図5に戻り、クライアント装置106は、ステップS518で決定されたビットレートを指定して3番目のセグメント(セグメント3)をDASHサーバ102に要求する(S520)。DASHサーバ102は、ステップS520の要求に応答して、指定されたビットレートに対応するセグメント3のセグメントファイルをクライアント装置106に送信する(S522)。その後、クライアント装置106は次に要求する4番目のセグメントについて第3ビットレート決定処理を行う(S524)。以降、セグメントの配信と第3ビットレート決定処理とがセグメント全てが配信されるまで繰り返される。
上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解される。
本実施の形態に係るクライアント装置106によると、スループットが変動しやすい状況においてはビットレートが上がりにくくなるようにしきい値が更新されるので、予期せぬバッファアンダーフローの発生を抑制または除去できる。また、逆に、スループットが変動しづらい状況においてはビットレートが上がりやすくなるようにしきい値が更新されるので、高画質のコンテンツを迅速にユーザに提供することができ、ユーザが体感する品質を高めることができる。
以上、実施の形態に係るクライアント装置106の構成と動作について説明した。この実施の形態は例示であり、各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解される。
実施の形態では、クライアント側でビットレートを決定する場合について説明したが、これに限られず、サーバ側がクライアントからスループットの報告を受けてビットレートを決定するような構成に本実施の形態の技術的思想を適用してもよい。
実施の形態では、指標算出部128は、直前に取得されたセグメントの受信に要した時間である受信時間と当該セグメントの再生長との比をスループットの指標として算出する場合について説明したが、これに限られない。例えば、指標算出部は2つ前のセグメントおよび直前のセグメントの2つのセグメントの受信時間の合計とそれらの再生長の合計との比を指標として算出してもよい。このように、過去に取得されたセグメントについて算出された指標が使用されてもよい。
実施の形態では、しきい値更新部132は、(1)スループットの変動が大きいほど、または(2)ハンドオーバの頻度が高いほど、ビットレートが上がりにくくなるよう決定基準を更新する場合について説明したが、これに限られない。例えば、しきい値更新部は、(3)バッファ136の残量が少ないほど、または(4)次以降に要求するセグメントのデータ量が多いほど、ビットレートが上がりにくくなるよう決定基準を更新してもよい。次以降に要求するセグメントのデータ量は、例えばセグメントの再生長や将来に配信されるセグメントのサイズ情報によって表される。
例えば、セグメントの再生長が長いほど急激なスループットの変動に弱いので、変動係数k’をセグメントの再生長lに関して単調増加となる関数
k’=g(l)
としてもよい。
あるいはまた、しきい値更新部は、ユーザ操作受付部118によって受け付けられたユーザ操作の統計情報に基づいて決定基準を更新してもよい。統計情報は、例えば一定期間内の再生停止回数や一定期間内の再生停止時間である。あるいはまた、しきい値更新部132は、コンテンツの符号化情報(例えば、CBR、VBR、ABR)やDRM情報に基づいて決定基準を更新してもよい。ユーザ操作の統計情報について、ユーザ操作によっても、どれくらいのビットレートを要求すればよいかは変わりうる。例えば、シークを大量に行うユーザであれば、毎回の再生までの初期遅延が長くなるので、ビットレートを低くするほうが都合が良い。ユーザ操作の統計情報に基づいて決定基準を更新する場合はこのような状況にも対応可能となる。
あるいはまた、バッファアンダーフローによっても再生停止が発生するので、しきい値更新部はそのような発生停止回数が多いほどまたはその期間が長いほど、ビットレートが上がりにくくなるよう決定基準を更新してもよい。
実施の形態では、スループットの変動の程度を表す指標σthとしてスループットの標準偏差を採用する場合について説明したが、これに限られず、スループットの変動の程度を表す指標であれば任意のものでよい。例えば、指標μの標準偏差が採用されてもよいし、過去のセグメントの受信時間の標準偏差が採用されてもよい。
実施の形態では、しきい値更新部132はセグメントファイルを受信するごとに、次のセグメントの要求の際に使用されるしきい値を更新する場合について説明したが、これに限られない。例えば、ハンドオーバに着目すると、一般的な再生長よりも細かい時間粒度で変動しうる。したがって、しきい値更新部は、再生長よりも細かい時間粒度でしきい値を更新してもよい。例えば、しきい値更新部は、セグメントファイルの受信中に複数回しきい値の更新を行ってもよい。あるいはまた、しきい値更新部は、再生長が5秒のセグメントに対して1秒間隔や2秒間隔でしきい値の更新を行ってもよい。あるいはまた、しきい値更新部132は、ハンドオーバの検知が行われるごとにしきい値の更新を行ってもよい。
100 配信システム、 102 DASHサーバ、 104 ネットワーク、 106 クライアント装置。

Claims (13)

  1. 複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得するクライアント装置であって、
    前記クライアント装置におけるスループットの指標から要求するセグメントのビットレートを決定するための基準を、前記クライアント装置の状況に基づいて更新する更新部と、
    前記更新部によって更新された基準にしたがいビットレートを決定する決定部と、を備え
    前記更新部は、スループットの変動が大きいほどビットレートが上がりにくくなるよう基準を更新することを特徴とするクライアント装置。
  2. 複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得するクライアント装置であって、
    前記クライアント装置におけるスループットの指標から要求するセグメントのビットレートを決定するための基準を、前記クライアント装置の状況に基づいて更新する更新部と、
    前記更新部によって更新された基準にしたがいビットレートを決定する決定部と、を備え、
    前記更新部は、ハンドオーバの頻度が高いほどビットレートが上がりにくくなるよう基準を更新することを特徴とするクライアント装置。
  3. 前記更新部は、スループットの変動が大きいほどビットレートが上がりにくくなるよう基準を更新することを特徴とする請求項に記載のクライアント装置。
  4. 前記更新部は、セグメントが取得されるごとに基準を更新することを特徴とする請求項1から3のいずれか1項に記載のクライアント装置。
  5. 前記決定部によって決定されたビットレートを指定して次のセグメントをネットワークを介して要求する要求部をさらに備えることを特徴とする請求項1から4のいずれか1項に記載のクライアント装置。
  6. 複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得するクライアント装置であって、
    前記クライアント装置におけるスループットの指標から要求するセグメントのビットレートを決定するための基準を、前記クライアント装置の状況に基づいて更新する更新部と、
    前記更新部によって更新された基準にしたがいビットレートを決定する決定部と、
    取得されたセグメントファイルを保持するバッファと、を備え、
    前記更新部は、前記バッファの残量が少ないほどビットレートが上がりにくくなるよう基準を更新することを特徴とするクライアント装置。
  7. 複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得するクライアント装置であって、
    前記クライアント装置におけるスループットの指標から要求するセグメントのビットレートを決定するための基準を、前記クライアント装置の状況に基づいて更新する更新部と、
    前記更新部によって更新された基準にしたがいビットレートを決定する決定部と、
    取得されたセグメントファイルを保持するバッファと、を備え、
    前記更新部は、前記バッファの残量に起因する再生停止の回数または期間に基づいて基準を更新することを特徴とするクライアント装置。
  8. 複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得するクライアント装置であって、
    前記クライアント装置におけるスループットの指標から要求するセグメントのビットレートを決定するための基準を、前記クライアント装置の状況に基づいて更新する更新部と、
    前記更新部によって更新された基準にしたがいビットレートを決定する決定部と、
    取得されたコンテンツの再生に関するユーザ操作を受け付ける受付部と、を備え、
    前記更新部は、前記受付部によって受け付けられたユーザ操作の統計情報に基づいて基準を更新することを特徴とするクライアント装置。
  9. 前記更新部は、要求するセグメントのデータ量が多いほどビットレートが上がりにくくなるよう基準を更新することを特徴とする請求項1から8のいずれか1項に記載のクライアント装置。
  10. 過去に取得されたセグメントの受信に要した時間と当該セグメントの再生長またはデータ量との比をスループットの指標として算出する算出部をさらに備え、
    前記決定部は、前記算出部によって算出された指標としきい値との大小関係に基づいてビットレートを決定し、
    前記更新部は、前記決定部におけるしきい値を更新することを特徴とする請求項1から9のいずれか1項に記載のクライアント装置。
  11. 複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得するクライアント装置であって、
    前記クライアント装置におけるスループットの指標から要求するセグメントのビットレートを決定するための基準を、前記クライアント装置の状況に基づいて更新する更新部と、
    前記更新部によって更新された基準にしたがいビットレートを決定する決定部と、
    過去に取得されたセグメントの受信に要した時間と当該セグメントの再生長またはデータ量との比をスループットの指標として算出する算出部と、を備え、
    前記決定部は、前記算出部によって算出された指標としきい値との大小関係に基づいてビットレートを決定し、
    前記更新部は、前記決定部におけるしきい値を更新し、
    セグメントの数をN個(Nは3以上の自然数)とし、m番目(mは1より大きくNより小さい自然数)のセグメントが受信された後に(m+1)番目のセグメントを要求するとき、
    前記算出部は、指標μ
    μ=(m番目のセグメントの再生長)/(m番目のセグメントの受信に要した時間)
    にしたがい算出し、
    前記更新部は、第1しきい値μum+1および第2しきい値μdm+1
    μum+1=(1−α)・μu+α・μu・k
    μdm+1=(1−β)・μd+β・μd・k
    にしたがい算出し、ここでα、βは重み付け係数であり、kは前記クライアント装置の状況およびコンテンツの属性のうちの少なくともひとつに基づいてセグメントごとに更新される値であり、
    前記決定部は、
    μ>μum+1
    の場合、(m+1)番目のセグメントについて要求するビットレートをm番目のセグメントのビットレートよりも高くなるよう決定し、
    μ<μdm+1
    の場合、(m+1)番目のセグメントについて要求するビットレートをm番目のセグメントのビットレートよりも低くなるよう決定することを特徴とするクライアント装置。
  12. 複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得する方法であって、
    受信装置におけるスループットの指標から要求されるセグメントのビットレートを決定するための基準を、前記受信装置の状況に基づいて更新することと、
    前記更新された基準にしたがいビットレートを決定することと、を含み、
    前記更新することは、スループットの変動が大きいほどビットレートが上がりにくくなるよう基準を更新することを含むことを特徴とする方法。
  13. 複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得する機能と、
    受信装置におけるスループットの指標から要求されるセグメントのビットレートを決定するための基準を、前記受信装置の状況に基づいて更新する機能と、
    前記更新された基準にしたがいビットレートを決定する機能と、をコンピュータに実現させ
    前記更新する機能は、スループットの変動が大きいほどビットレートが上がりにくくなるよう基準を更新する機能を含むコンピュータプログラム。
JP2016037953A 2016-02-29 2016-02-29 クライアント装置および方法 Active JP6466870B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016037953A JP6466870B2 (ja) 2016-02-29 2016-02-29 クライアント装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016037953A JP6466870B2 (ja) 2016-02-29 2016-02-29 クライアント装置および方法

Publications (2)

Publication Number Publication Date
JP2017157958A JP2017157958A (ja) 2017-09-07
JP6466870B2 true JP6466870B2 (ja) 2019-02-06

Family

ID=59810785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016037953A Active JP6466870B2 (ja) 2016-02-29 2016-02-29 クライアント装置および方法

Country Status (1)

Country Link
JP (1) JP6466870B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6271072B1 (ja) * 2017-10-10 2018-01-31 パナソニック株式会社 端末装置、映像配信システムおよび映像配信方法
JP7253574B2 (ja) 2019-02-01 2023-04-06 株式会社Nttドコモ 情報処理装置、サーバ装置及び情報処理システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007036666A (ja) * 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
US9503490B2 (en) * 2012-02-27 2016-11-22 Qualcomm Incorporated Dash client and receiver with buffer water-level decision-making
WO2013145194A1 (ja) * 2012-03-28 2013-10-03 富士通株式会社 品質評価装置、品質評価方法、通信システム、及び無線基地局装置
JP5784538B2 (ja) * 2012-03-30 2015-09-24 エヌ・ティ・ティ・コミュニケーションズ株式会社 ストリーミングメディア再生装置、メディアビットレート変更判定方法、及びプログラム
TW201717650A (zh) * 2012-07-09 2017-05-16 Vid衡器股份有限公司 功綠知覺視訊解碼及串流
WO2014011848A2 (en) * 2012-07-12 2014-01-16 Huawei Technologies Co., Ltd. Signaling and processing content with variable bitrates for adaptive streaming
KR102020363B1 (ko) * 2012-10-31 2019-09-10 삼성전자 주식회사 적응형 스트리밍을 이용한 미디어 세그먼트 송수신 방법 및 장치

Also Published As

Publication number Publication date
JP2017157958A (ja) 2017-09-07

Similar Documents

Publication Publication Date Title
JP6469788B2 (ja) メディアコンテンツの適応型ストリーミングのための品質情報の使用
US9378508B2 (en) System and method for content pre-positioning determination
US8527610B2 (en) Cache server control device, content distribution system, method of distributing content, and program
CN110268694A (zh) 在自适应位速率流传输期间在多个内容递送网络之间进行自适应切换的系统和方法
US20210076086A1 (en) Digital data streaming using server driven adaptive bitrate
US9674100B2 (en) Dynamic adjustment to multiple bitrate algorithm based on buffer length
Hoßfeld et al. To each according to his needs: Dimensioning video buffer for specific user profiles and behavior
US9680904B2 (en) Adaptive buffers for media players
US20200099973A1 (en) Information processing system, terminal apparatus, and non-transitory computer readable medium
US11025987B2 (en) Prediction-based representation selection in video playback
Burger et al. A generic approach to video buffer modeling using discrete-time analysis
KR100671635B1 (ko) 스트리밍 미디어 서비스 관리 방법
JP6466870B2 (ja) クライアント装置および方法
KR101779791B1 (ko) 읽기 속도에 기반한 정보 전송
JP2014192566A (ja) 映像処理装置、映像処理方法およびコンピュータプログラム
KR101454809B1 (ko) 트랜스코딩 작업 스케줄링 방법 및 이를 이용한 트랜스코딩 시스템
EP3211912B1 (en) Information processing apparatus
KR100733247B1 (ko) 클라이언트 디바이스로의 전송을 위한 콘텐츠를 서비스하는 방법, 클라이언트 디바이스에 콘텐츠를 제공하는 시스템 및 컴퓨터 판독가능한 기록 매체
US20180199100A1 (en) Information processing apparatus and information processing system
JP6517342B2 (ja) 配信レート選択装置、配信レート選択方法、及びプログラム
US11902599B2 (en) Multiple protocol prediction and in-session adaptation in video streaming
JP2018025939A (ja) コンテンツを取得するクライアント装置、コンテンツ取得方法及びプログラム
US20190327281A1 (en) Crowdsourced prediction of cdn performance for zero buffer delivery of content
JP2017175597A (ja) 動画配信システム、配信サーバ、受信装置、及びプログラム
KR102158856B1 (ko) 원격 컴퓨팅 시스템 및 원격 컴퓨팅 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181102

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: 20181221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190110

R150 Certificate of patent or registration of utility model

Ref document number: 6466870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150