(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6501691
(24)【登録日】2019年3月29日
(45)【発行日】2019年4月17日
(54)【発明の名称】コンテンツ配信システムのクライアント装置、コンテンツの再生開始タイミングを判定する方法及びプログラム
(51)【国際特許分類】
G06F 13/00 20060101AFI20190408BHJP
H04N 21/238 20110101ALI20190408BHJP
H04N 21/442 20110101ALI20190408BHJP
【FI】
G06F13/00 540A
H04N21/238
H04N21/442
【請求項の数】8
【全頁数】8
(21)【出願番号】特願2015-210756(P2015-210756)
(22)【出願日】2015年10月27日
(65)【公開番号】特開2017-84044(P2017-84044A)
(43)【公開日】2017年5月18日
【審査請求日】2018年3月7日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100076428
【弁理士】
【氏名又は名称】大塚 康徳
(74)【代理人】
【識別番号】100115071
【弁理士】
【氏名又は名称】大塚 康弘
(74)【代理人】
【識別番号】100112508
【弁理士】
【氏名又は名称】高柳 司郎
(74)【代理人】
【識別番号】100116894
【弁理士】
【氏名又は名称】木村 秀二
(74)【代理人】
【識別番号】100130409
【弁理士】
【氏名又は名称】下山 治
(74)【代理人】
【識別番号】100134175
【弁理士】
【氏名又は名称】永川 行光
(74)【代理人】
【識別番号】100131886
【弁理士】
【氏名又は名称】坂本 隆志
(74)【代理人】
【識別番号】100170667
【弁理士】
【氏名又は名称】前田 浩次
(72)【発明者】
【氏名】福井 啓允
(72)【発明者】
【氏名】河村 圭
(72)【発明者】
【氏名】内藤 整
【審査官】
小林 義晴
(56)【参考文献】
【文献】
特開2011−257870(JP,A)
【文献】
特開2000−201343(JP,A)
【文献】
米国特許出願公開第2013/0166770(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
H04N 21/238
H04N 21/442
(57)【特許請求の範囲】
【請求項1】
コンテンツを分割したセグメントを単位としてコンテンツ配信を行うコンテンツ配信システムのクライアント装置であって、
サーバ装置からコンテンツの各セグメントのサイズを示すサイズ情報を取得する取得手段と、
前記サーバ装置から前記コンテンツを取得して再生するために、前記サーバ装置に前記コンテンツのセグメントを再生時間順に要求する要求手段と、
前記要求手段による要求の応答として前記サーバ装置から受信したセグメントをバッファするバッファ手段と、
前記コンテンツの再生開始タイミングを判定する判定手段と、
を備えており、
前記判定手段は、セグメントを受信する度に、少なくとも当該セグメントのサイズと、当該セグメントの受信期間を使用して伝送速度を判定し、前記判定した伝送速度に基づき、当該セグメントを受信したときから所定時間後までの間に受信できるデータ量を判定し、前記サイズ情報に基づき前記所定時間後までのデータ消費量の評価値を判定し、前記受信できるデータ量と前記評価値とを比較することで、前記コンテンツの再生を開始するか否かを判定することを特徴とするクライアント装置。
【請求項2】
前記評価値は、前記所定時間の間に再生されるセグメントのサイズの合計値であることを特徴とする請求項1に記載のクライアント装置。
【請求項3】
前記判定手段は、前記受信できるデータ量が前記評価値より大きいと、前記コンテンツの再生を開始すると判定することを特徴とする請求項1又は2に記載のクライアント装置。
【請求項4】
コンテンツを分割したセグメントを単位としてコンテンツ配信を行うコンテンツ配信システムのクライアント装置であって、
前記セグメントは複数のフレームを含み、
前記クライアント装置は、
サーバ装置からコンテンツの各セグメントのサイズを示すサイズ情報を取得する取得手段と、
前記コンテンツの各セグメントのサイズの分散値に基づき、各セグメントの各フレームのサイズを推定する推定手段と、
前記サーバ装置から前記コンテンツを取得して再生するために、前記サーバ装置に前記コンテンツのセグメントを再生時間順に要求する要求手段と、
前記要求手段による要求の応答として前記サーバ装置から受信したセグメントをバッファするバッファ手段と、
前記コンテンツの再生開始タイミングを判定する判定手段と、
を備えており、
前記判定手段は、セグメントを受信すると、少なくとも当該セグメントのサイズと、当該セグメントの受信期間を使用して伝送速度を判定し、前記判定した伝送速度に基づき、当該セグメントを受信したときから所定時間後までの間に受信できるデータ量を判定し、前記推定した各フレームのサイズに基づき前記所定時間後までのデータ消費量の評価値を判定し、前記受信できるデータ量と前記評価値とを比較することで、フレームの再生周期毎に、前記コンテンツの再生を開始するか否かを判定することを特徴とするクライアント装置。
【請求項5】
前記評価値は、前記所定時間の間に再生されるフレームのサイズの合計値であることを特徴とする請求項4に記載のクライアント装置。
【請求項6】
コンテンツを分割したセグメントを単位としてコンテンツ配信を行うコンテンツ配信システムのクライアント装置において、コンテンツの再生開始タイミングを判定する方法であって、
サーバ装置からコンテンツの各セグメントのサイズを示すサイズ情報を取得する取得ステップと、
前記サーバ装置から前記コンテンツを取得して再生するために、前記サーバ装置に前記コンテンツのセグメントを再生時間順に要求する要求ステップと、
前記要求の応答として前記サーバ装置から受信したセグメントをバッファするバッファステップと、
前記コンテンツの再生開始タイミングを判定する判定ステップと、
を含み、
前記判定ステップにおいては、セグメントを受信する度に、少なくとも当該セグメントのサイズと、当該セグメントの受信期間を使用して伝送速度を判定し、前記判定した伝送速度に基づき、当該セグメントを受信したときから所定時間後までの間に受信できるデータ量を判定し、前記サイズ情報に基づき前記所定時間後までのデータ消費量の評価値を判定し、前記受信できるデータ量と前記評価値とを比較することで、前記コンテンツの再生を開始するか否かを判定することを特徴とする方法。
【請求項7】
コンテンツを分割したセグメントを単位としてコンテンツ配信を行うコンテンツ配信システムのクライアント装置において、コンテンツの再生開始タイミングを判定する方法であって、
前記セグメントは複数のフレームを含み、
前記方法は、
サーバ装置からコンテンツの各セグメントのサイズを示すサイズ情報を取得する取得ステップと、
前記コンテンツの各セグメントのサイズの分散値に基づき、各セグメントの各フレームのサイズを推定する推定ステップと、
前記サーバ装置から前記コンテンツを取得して再生するために、前記サーバ装置に前記コンテンツのセグメントを再生時間順に要求する要求ステップと、
前記要求の応答として前記サーバ装置から受信したセグメントをバッファするバッファステップと、
前記コンテンツの再生開始タイミングを判定する判定ステップと、
を含み、
前記判定ステップにおいては、セグメントを受信すると、少なくとも当該セグメントのサイズと、当該セグメントの受信期間を使用して伝送速度を判定し、前記判定した伝送速度に基づき、当該セグメントを受信したときから所定時間後までの間に受信できるデータ量を判定し、前記推定した各フレームのサイズに基づき前記所定時間後までのデータ消費量の評価値を判定し、前記受信できるデータ量と前記評価値とを比較することで、フレームの再生周期毎に、前記コンテンツの再生を開始するか否かを判定することを特徴とする方法。
【請求項8】
請求項1から5のいずれか1項に記載のクライアント装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツ配信システムのクライアント装置における再生開始タイミングの判定技術に関する。
【背景技術】
【0002】
例えば、DASH(Dynamic Adaptive Streaming over HTTP)配信方式といったコンテンツ配信システムにおいて、クライアント装置は、バッファ量が所定値になるとコンテンツの再生を開始する。特許文献1は、コンテンツを受信し始めたときの伝送速度に基づきバッファ量が所定値となるタイミングを求め、これにより、コンテンツの再生開始タイミングを決定する構成を開示している。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−229060号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の方法は、伝送速度の揺らぎを考慮していない。
【0005】
本発明は、伝送速度の揺らぎを考慮してコンテンツの再生開始タイミングを決定するクライアント装置、コンテンツの再生開始タイミングを決定する方法及びプログラムを提供するものである。
【課題を解決するための手段】
【0006】
本発明の一側面によると、コンテンツを分割したセグメントを単位としてコンテンツ配信を行うコンテンツ配信システムのクライアント装置は、
サーバ装置からコンテンツの各セグメントのサイズを示すサイズ情報を取得する取得手段と、前記サーバ装置から
前記コンテンツを取得して再生するために、前記サーバ装置に前記コンテンツのセグメントを再生時間順に要求する要求手段と、前記要求手段による要求の応答として前記サーバ装置から受信したセグメントをバッファするバッファ手段と、
前記コンテンツの再生開始タイミングを判定する判定手段と、を備えており、前記判定手段は、セグメントを受信する度に、少なくとも当該セグメントのサイズと、当該セグメントの受信期間を使用して伝送速度を判定し、
前記判定した伝送速度に基づき、当該セグメントを受信したときから所定時間後までの間に受信できるデータ量を判定し、前記サイズ情報に基づき前記所定時間後までのデータ消費量の評価値を判定し、前記受信できるデータ量と前記評価値とを比較することで、前記コンテンツの再生を開始するか否かを判定することを特徴とする。
【発明の効果】
【0007】
伝送速度の揺らぎを考慮してコンテンツの再生開始タイミングを決定することができる。
【図面の簡単な説明】
【0008】
【
図1】一実施形態によるコンテンツ配信システムの構成図。
【
図2】一実施形態によるコンテンツ配信処理のシーケンス図。
【
図3】一実施形態によるクライアント装置の構成図。
【発明を実施するための形態】
【0009】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の実施形態は例示であり、本発明を実施形態の内容に限定するものではない。また、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【0010】
図1は、本実施形態によるコンテンツ配信システムの構成図である。例えば、インターネットといったネットワーク2にはサーバ装置3とクライアント装置1が接続されている。サーバ装置3は、配信対象のコンテンツを保持しており、クライアント装置1からの要求に従い、クライアント装置1が指定するコンテンツを当該クライアント装置1に配信する。なお、以下では、サーバ装置3及びクライアント装置1は、DASHに従いコンテンツ配信及び受信を行うものとして説明する。しかしながら、本発明は、コンテンツを複数のセグメントに分割し、セグメントを単位としてコンテンツの要求及び配信を行う任意のコンテンツ配信システムに適用できる。
【0011】
図2は、本実施形態によるコンテンツ配信のシーケンス図である。クライアント装置1は、S1で、取得したいコンテンツのMPD(Media Presentation Description)ファイルをサーバ装置3に要求するためのMPD要求メッセージを送信する。MPDファイルには、コンテンツを構成するセグメントと、そのURIが記述されている。サーバ装置3は、クライアント装置1からMPD要求メッセージを受信すると、S2で、要求されたMPDファイルをクライアント装置1に送信する。続いて、クライアント装置1は、S3で、サーバ装置3にコンテンツのセグメントサイズ時系列情報を要求する時系列情報要求メッセージを送信する。セグメントサイズ時系列情報とは、コンテンツを構成するセグメントのサイズを、セグメントの再生時間順に記述したものである。サーバ装置3は、クライアント装置1から時系列情報要求メッセージを受信すると、S4で、要求されたセグメントサイズ時系列情報をクライアント装置1に送信する。なお、セグメントサイズ時系列情報をMPDファイルに含める構成であっても良い。クライアント装置1は、以後、サーバ装置3から、セグメントの再生時間順にセグメントを取得する。このため、クライアント装置1は、まず、S5で、最初のセグメントをサーバ装置3に要求するセグメント要求メッセージを送信し、サーバ装置3は、セグメント要求メッセージを受信すると、S6で、要求されたセグメントをクライアント装置1に配信する。
【0012】
クライアント装置1は、セグメント要求メッセージの応答として受信したセグメントをバッファし、以下に説明する判定処理を行って、コンテンツの再生を開始するか否かを判定する。コンテンツの再生を開始しない場合には、S5〜S7の処理が繰り返される。なお、以後の繰り返しにおいてクライアント装置1が要求するセグメントは、直前に取得したセグメントの次のセグメントである。また、コンテンツの再生を開始した以降においては、S5及びS6の処理が繰り返される。
【0013】
続いて、S7における判定処理について説明する。なお、以下では、セグメントのサイズがその時間順にS
1、S
2、・・・S
Nであるものとする。なお、Nはコンテンツを構成するセグメントの総数である。つまり、k番目のセグメント(kは1からNの整数)のサイズをS
kとする。なお、各セグメントにより再生されるコンテンツの期間は等しく、これをΔtとする。また、k番目のセグメントを受信したタイミング(時刻)をt
kとする。
【0014】
クライアント装置1は、k番目のセグメントを受信すると、k番目のセグメント及k番目のセグメントの受信期間から、k番目のセグメントを受信したタイミングにおける推定伝送速度R
kを判定する。なお、推定伝送速度R
kの判定には、過去所定期間内に受信したセグメントのサイズ及びその受信期間を更に使用することもできる。この場合、推定伝送速度R
kを判定するために使用するセグメント数を可変とすることができる。例えば、1番目のセグメントを受信したときには、当該セグメントのサイズと受信期間から、推定伝送速度R
1を算出し、2番目のセグメントを受信したときには、1番目のセグメントのサイズとその受信期間から算出される速度と、2番目のセグメントのサイズとその受信期間から算出される速度との平均値を推定伝送速度R
2とする。そして、3番目以降においては、受信したセグメントと過去2つのセグメントのサイズと、それらの受信期間から、3つの速度を求め、これらの平均値を推定伝送速度とすることができる。なお、上記特定の数字は、説明のための例示であり、クライアント装置1は、任意の方法で推定伝送速度R
kを算出することができる。
【0015】
そして、クライアント装置1は、k番目のセグメントからk+q番目のセグメントまでのセグメントのサイズの合計値、つまり、S
k〜S
k+qの合計値と、R
k×q×Δtとを比較する。S
k〜S
k+qの合計値は、k番目のセグメントからq+1個のセグメントを再生した場合に、バッファから取り出されるデータ量であり、R
k×q×Δtは、現在の推定伝送速度が継続したと仮定した場合に、現時点からq+1個のセグメントを再生するまでに受信できるデータ量である。S
k〜S
k+qの合計値は、再生する場合のデータ消費量の評価値であり、S
k〜S
k+qの合計値よりR
k×q×Δtが大きいと、バッファに格納されたデータ量は減少しない。よって、クライアント装置1は、1番目のセグメントを受信したときから、S
k〜S
k+qの合計値とR
k×q×Δtとを比較し、S
k〜S
k+qの合計値よりR
k×q×Δtが大きいと、コンテンツの再生を開始すると決定する。なお、R
k×q×Δtと比較する対象は、S
k〜S
k+qの合計値ではなく、S
1〜S
1+qの合計値とすることもできる。この場合には、S
1〜S
1+qの合計値は、現時点(k番目のセグメントを受信した時点)で再生を開始した場合に、さらにq個セグメントを受信するまでにバッファから取り出されるデータ量であり、この値がR
k×q×Δtより小さいと、バッファのデータ量は増加することになる。
【0016】
以上、セグメントを受信する度に、受信した時点における伝送速度を推定し、当該受信した時点から所定時間後において受信できるデータ量と、データの消費量の評価値とを比較する。そして、受信できるデータ量が消費量より多い場合にコンテンツの再生を開始する。これにより、バッファアンダーフローを抑えることができる。
【0017】
図3は、本実施形態によるクライアント装置1の構成図である。送受信部10は、ネットワーク2との間で送受信処理を行う。制御部11は、送受信部10を介してサーバ装置3にMPDファイル及びセグメントサイズ時系列情報を要求し、これらを取得する。さらに、制御部11は、送受信部10を介してサーバ装置3にセグメントを要求する。一方、サーバ装置3が送信したセグメントを、送受信部10は、バッファ部12に格納する。そして制御部11は、上述した判定処理を行って、コンテンツの再生を開始すると判定すると、再生部13にコンテンツの再生を指示する。再生部13は、制御部11からコンテンツの再生指示を受け取ると、バッファ部12に格納されたセグメントを、その時間順に取り出してコンテンツの再生を開始する。
【0018】
なお、上述した実施形態では、複数のフレームで構成されるセグメントのサイズに基づきコンテンツ再生の開始タイミングを判定していた。しかしながら、セグメントのサイズに基づき、各フレームのサイズを推定し、フレームのサイズに基づきコンテンツ再生の開始タイミングを判定することができる。具体的には、上述した様に、1つのセグメントにより再生されるコンテンツの期間は既知の値Δtであり、フレーム・レートも既知である。つまり、1つのセグメントに含まれるフレーム数は既知である。例えば、制御部11は、セグメントのサイズの分散値を求め、この分散値から1つのセグメント内の各フレームのサイズを推定する。
【0019】
例えば、あるセグメントのサイズが100であり、フレーム数が10であるものとするこの場合、セグメントのサイズの分散値が0であると、制御部11は、各フレームのサイズが、その平均値に等しく10であると推定する。一方、分散値が0より大きいAであると、制御部11は、平均値より大きい初期値を求める。例えば、この初期値を15とする。この場合、制御部11は、当該セグメントの1番目から6番目のフレームのサイズを15と推定し、7番目のフレームのサイズを、残りのサイズである10と判定し、8〜10番目のフレームのサイズを0と推定する。さらに、分散値がAより大きいBであると、制御部11は、初期値を15より大きい、例えば、20と判定する。この場合、制御部11は、当該セグメントの1番目から5番目のフレームのサイズを20と推定し、6〜10番目のフレームのサイズを0と推定する。なお、分散値と初期値との関係については予め定めておくが、分散値が大きくなると、初期値も大きくなる様にする。
【0020】
そして、制御部11は、フレームの再生周期毎に、つまり、1つのセグメントの再生期間がΔtであり、1つのセグメントが10フレームである場合、期間Δt/10毎に再生を開始するか否かの判定を行う。なお、判定方法は、上記セグメントを、フレームと読み替えるのみであり、再度の説明は省略する。また、推定伝送速度は、直近に受信したセグメントのサイズ及び受信期間により判定したものを使用する。
【0021】
なお、本発明によるクライアント装置は、コンピュータを上記クライアントとして動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
【符号の説明】
【0022】
11:制御部、12:バッファ部