JP2023103818A - コンテンツを取得するクライアント装置及びプログラム - Google Patents
コンテンツを取得するクライアント装置及びプログラム Download PDFInfo
- Publication number
- JP2023103818A JP2023103818A JP2022004567A JP2022004567A JP2023103818A JP 2023103818 A JP2023103818 A JP 2023103818A JP 2022004567 A JP2022004567 A JP 2022004567A JP 2022004567 A JP2022004567 A JP 2022004567A JP 2023103818 A JP2023103818 A JP 2023103818A
- Authority
- JP
- Japan
- Prior art keywords
- segments
- segment
- client device
- predetermined number
- acquisition
- 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
Links
- 238000011156 evaluation Methods 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 17
- 230000007423 decrease Effects 0.000 claims 1
- 230000001953 sensory effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 230000012447 hatching Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】体感品質を低下させず、かつ、コンテンツの再生が中断することを抑える様に、取得するセグメントのビットレートを判定する。【解決手段】コンテンツをセグメントを単位として配信するコンテンツ配信システムのクライアント装置は、キャッシュ装置からクライアント装置までの第1スループットと、サーバ装置からクライアント装置までの第2スループットと、を示す情報を取得する手段と、第1コンテンツを取得する際、第1コンテンツの複数の第1セグメントの内、キャッシュ装置に格納されている第2セグメントと、サーバ装置のみに格納されている第3セグメントと、を判定するためのキャッシュ情報を取得する手段と、第1スループットと、第2スループットと、キャッシュ情報と、に基づき、複数の第1セグメントそれぞれについて、複数の異なるビットレートの内のどのビットレートを取得するかを判定する判定処理を実行する手段と、を備えている。【選択図】図5
Description
本開示は、コンテンツを複数のセグメントに分割し、セグメントを単位として配信するコンテンツ配信技術に関する。
動画等のコンテンツを配信するコンテンツ配信システムにおいては可変ビットレート配信技術が採用されている。可変ビットレート配信技術の一例は、特許文献1に記載されているMPEG-DASH(Dynamic Adaptive Streaming over HTTP)である。以下、非特許文献1に記載されているMPEG-DASH技術を単にDASH技術と表記する。
DASH技術において、コンテンツを公開するサーバ装置には、各コンテンツについて、異なる品質の複数の符号化データが格納される。なお、品質が異なることは配信の際のビットレートが異なることに対応する。より具体的には、品質が高くなる程、配信の際のビットレートは高くなる。したがって、異なる品質の複数の符号化データは、異なるビットレートの符号化データでもある。また、DASH技術において、各品質の符号化データは、所定時間長のセグメントに分割される。コンテンツを取得して再生するクライアント装置は、サーバ装置からセグメントを単位としてコンテンツを取得する。なお、このとき、クライアント装置は、セグメント毎に品質(ビットレート)を選択することができる。
例えば、ネットワークのスループットが高い場合、クライアント装置は、ビットレートの高いセグメントをサーバ装置に要求し、ネットワークが混雑してスループットが低下すると、クライアント装置は、ビットレートの低いセグメントをサーバ装置に要求することで、クライアント装置のユーザは、ネットワークの状況に拘わらずコンテンツを視聴することができる。なお、1つのコンテンツに用意されているビットレートの数や、セグメント数や、各セグメントの時間長は、MPD(Media Presentation Description)ファイルに記述されてサーバ装置に格納される。クライアント装置は、コンテンツの配信を要求する際、まず、当該コンテンツのMPDをサーバ装置から取得することで、当該コンテンツに用意されているビットレートや、セグメント数や、セグメントの時間長を判定することができる。
一方、コンテンツを示すコンテンツ名に基づきコンテンツの要求及び配信を行う、ICN(Information Centric Networking)と呼ばれるコンテンツ配信システムが提案されている。特許文献1は、その様なシステムの1つであるCCN(Content Centric Networking)を開示している。ICNにおいて、コンテンツは、DASH技術と同様にチャンクと呼ばれるセグメントに分割され、クライアント装置は、セグメントを単位としてコンテンツを取得する。したがって、DASH技術の考え方をICNにおいても適用し、品質、つまり、ビットレートの異なるセグメントをサーバ装置に用意し、取得するセグメントのビットレートをネットワークの状況に応じてクライアント装置が制御することを考えることができる。
T.Stockhammer,"Dynamic adaptive streaming over HTTP-standards and design principles",Proceedings of ACM conference on Multimedia systems,pp.133-144,2011年2月
V.Jacobson,et al.,"Networking Named Content",in Proceedings of ACM CoNEXT 2009,2009年12月
通常のDASH技術を使用するコンテンツ配信システムにおいて、クライアント装置とサーバ装置との間に存在する装置は、IPパケットの転送を行う装置のみであり、クライアント装置は、要求するセグメントをサーバ装置に通知して当該セグメントをサーバ装置から取得する。つまり、クライアント装置は、1つのコンテンツを構成する複数のセグメントを同じ装置から取得する。一方、ICNにおいてはクライアント装置とサーバ装置との間にセグメントをキャッシュできるキャッシュ装置が存在する。
例えば、あるコンテンツが、高ビットレート、中ビットレート、低ビットレートの3つのビットレートで符号化されているものとする。また、キャッシュ装置に低ビットレートの1つのセグメントがキャッシュされているものとする。この場合、クライアント装置は、当該1つのセグメントを取得する際に、キャッシュ装置にキャッシュされている低ビットレートのセグメントを取得するか、サーバ装置に格納されている中ビットレート又は高ビットレートのセグメントを取得するかを判定しなければならない。
なお、一般的に、セグメント間におけるビットレート、つまり、品質の差が大きい程、かつ、コンテンツ内における品質の切り替わり多い程、ユーザの体感品質(QоE:Quality Of Experience)は低くなる。したがって、それまでに高ビットレートでセグメントを取得していた場合には、キャッシュ装置にキャッシュされているセグメントではなく、サーバ装置に格納されている高ビットレートのセグメントを取得することが好ましくなる。しかしながら、コンテンツを中断なく再生するには、セグメントの取得期限までに当該セグメントの取得を完了させなければならない。例えば、高ビットレートのセグメントをサーバ装置に要求しても当該セグメントの取得が当該セグメントの取得期限までに完了しないのであれば、コンテンツの再生が中断し得る。したがって、その様な場合、サーバ装置に格納されている中ビットレートのセグメント又はキャッシュ装置に格納されている低ビットレートのセグメントを取得することが好ましくなる。
本発明は、体感品質を低下させず、かつ、コンテンツの再生が中断することを抑える様に、取得するセグメントのビットレートを判定する技術を提供するものである。
本開示の一態様によると、コンテンツを複数のセグメントに分割し、セグメントを単位として配信するコンテンツ配信システムのクライアント装置が提供される。前記コンテンツ配信システムは、公開するコンテンツの前記複数のセグメントそれぞれについて、複数の異なるビットレートのセグメントを格納するサーバ装置と、セグメントをキャッシュするキャッシュ装置と、を有する。クライアント装置は、前記キャッシュ装置から前記クライアント装置までの第1スループットと、前記サーバ装置から前記クライアント装置までの第2スループットと、を示す情報を取得する第1取得手段と、第1コンテンツを取得する際、前記第1コンテンツの複数の第1セグメントの内、前記キャッシュ装置に格納されている第2セグメントと、前記サーバ装置のみに格納されている第3セグメントと、を判定するためのキャッシュ情報を取得する第2取得手段と、前記第1スループットと、前記第2スループットと、前記キャッシュ情報と、に基づき、前記複数の第1セグメントそれぞれについて、前記複数の異なるビットレートの内のどのビットレートの第1セグメントを取得するかを判定する判定処理を実行する判定手段と、を備えている。
本発明によると、体感品質を低下させず、かつ、コンテンツの再生が中断することを抑える様に、取得するセグメントのビットレートを判定することができる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
<第一実施形態>
図1は、本実施形態によるコンテンツ配信システムの概略図である。なお、本実施形態のコンテンツ配信システムはICNに基づくものとする。図1では、図の簡略化のため、1つのサーバ装置3と、1つのキャッシュ装置2と、1つのクライアント装置1と、を示しているが、コンテンツ配信システムには、複数のサーバ装置と、複数のキャッシュ装置と、複数のクライアント装置と、が含まれ得る。
図1は、本実施形態によるコンテンツ配信システムの概略図である。なお、本実施形態のコンテンツ配信システムはICNに基づくものとする。図1では、図の簡略化のため、1つのサーバ装置3と、1つのキャッシュ装置2と、1つのクライアント装置1と、を示しているが、コンテンツ配信システムには、複数のサーバ装置と、複数のキャッシュ装置と、複数のクライアント装置と、が含まれ得る。
サーバ装置3は、公開するコンテンツそれぞれについて、複数のビットレートの符号化データを格納している。以下の説明において、サーバ装置3に格納されるコンテンツは、それぞれ、高ビットレート、中ビットレート、低ビットレートの3つのビットレートで符号化されているものとする。各ビットレートのコンテンツの符号化データは、所定時間長のセグメントに分割される。コンテンツ及びセグメントにはコンテンツ名及びセグメント名が付与される。
例えば、コンテンツ名がCNAMEであるコンテンツが100個のセグメントに分割されている場合、高ビットレートの100個のセグメントのセグメント名をCNAME#kH(kは、1から100までの整数)とし、中ビットレートの100個のセグメントのセグメント名をCNAME#kMとし、低ビットレートの100個のセグメントのセグメント名をCNAME#kLとすることができる。なお、例えば、kの値は、コンテンツ内におけるセグメントの時間順序に対応させることができる。この場合、コンテンツの時間長を100分とすると、コンテンツの開始から1分までの高ビットレートのセグメントのセグメント名はCNAME#1Hであり、1分から2分までの低ビットレートのセグメントのセグメント名はCNAME#2Lである。したがって、CNAME#kH、CNAME#kM、CNAME#kLは、コンテンツ内の同じ期間のセグメントである。なお、サーバ装置3は、公開するコンテンツそれぞれのMPDも格納している。
キャッシュ装置2は、サーバ装置3が公開しているセグメントの一部をキャッシュする装置である。なお、キャッシュ装置2がキャッシュするセグメントを取得する方法や、サーバ装置3が公開している多数のセグメントの内のどのセグメントをキャッシュするかを決定する方法は任意である。例えば、サーバ装置3は、要求頻度の高いセグメントをキャッシュ装置2に送信してキャッシュ装置2にキャッシュさせる構成とすることができる。また、キャッシュ装置2は、サーバ装置3が図示しない他のクライアント装置に向けて送信したセグメントを転送した際、当該セグメントを所定基準に従いキャッシュすることができる。
クライアント装置1は、サーバ装置3又はキャッシュ装置2からセグメントを取得して再生する装置である。なお、クライアント装置1は、セグメントの取得を行って、クライアント装置1に接続されている再生装置に取得したセグメントを出力する装置であっても良い。クライアント装置1は、セグメントを取得する際、当該セグメントのセグメント名を含む要求パケットをサーバ装置3に向けて送信する。当該セグメントがキャッシュ装置2にキャッシュされている場合、キャッシュ装置2は、クライアント装置1から受信した要求パケットをサーバ装置3に向けて転送することなく当該セグメントをクライアント装置1に送信する。一方、当該セグメントがキャッシュ装置2にキャッシュされていない場合、キャッシュ装置2は、クライアント装置1から受信した要求パケットをサーバ装置3に向けて転送する。この場合、当該セグメントは、サーバ装置3からキャッシュ装置2を介してクライアント装置1に配信される。
クライアント装置1は、あるコンテンツを取得する際(以下、取得するコンテンツを対象コンテンツとも表記する。)、サーバ装置3から対象コンテンツのMPDを取得する。これにより、クライアント装置1は、対象コンテンツについて用意されているセグメントの数、名前及び時間長と、セグメントの複数のビットレートと、を認識する。また、クライアント装置1は、キャッシュ装置2に対して対象コンテンツのどのセグメントをキャッシュしているかを問い合わせ、キャッシュ装置2からキャッシュ装置2がキャッシュしているセグメントを示す情報を取得する。これにより、クライアント装置1は、キャッシュ装置2がキャッシュしている対象コンテンツのセグメントと、サーバ装置3のみが格納している対象コンテンツのセグメントと、を示すキャッシュ情報を判定する。
また、クライアント装置1は、図1に示す区間#1のスループットB1と、区間#2のスループットB2と、を示す情報を保持している。なお、区間#1は、キャッシュ装置2とクライアント装置1との間の、キャッシュ装置2からクライアント装置1への方向の区間であり、区間#2は、サーバ装置3とクライアント装置1との間の、サーバ装置3からクライアント装置1への方向の区間である。スループットB1は、例えば、クライアント装置1がキャッシュ装置2からの測定用パケットを受信することでクライアント装置1によって測定され得る。また、スループットB2は、例えば、クライアント装置1がサーバ装置3からの測定用パケットを受信することでクライアント装置1によって測定され得る。なお、図1において区間#3は、サーバ装置3とキャッシュ装置2との間の、サーバ装置3からキャッシュ装置2への方向の区間である。図1から明らかな様に、スループットB2は、スループットB1とスループットB3の小さい方の値となる。したがって、B1≧B2である。
クライアント装置1は、対象コンテンツを取得する際、スループットB1と、スループットB2と、キャッシュ情報と、に基づいて、対象コンテンツの各セグメントについて3つのビットレートの内のどのビットレートを取得するかを判定する判定処理を行う。この判定処理は、連続する所定数のセグメントを単位として行われ得る。例えば、対象コンテンツがS#1~S#100の100個のセグメントに分割され、所定数を40とする。この場合、クライアント装置1は、まず、セグメントS#1~S#40それぞれについて、どのビットレートを取得するかを判定し、続いて、セグメントS#41~S#80それぞれについて、どのビットレートを取得するかを判定し、最後に、セグメントS#81~S#100それぞれについて、どのビットレートを取得するかを判定する。なお、判定処理を行う単位である"所定数"は、固定値である必要はなく、クライアント装置1は、任意の基準に基づき判定処理を行う単位をセグメントの取得中に動的に変更し得る。さらに、判定処理を行う単位である"所定数"は、対象コンテンツのセグメント数とすることもできる。
以下、判定処理の詳細について説明する。判定処理は、連続する所定数のセグメントのビットレートの組み合わせの内、各セグメントをその取得期限までにクライアント装置1が取得できる組み合わせ(以下、取得可能組み合わせと表記する。)を判定する第1判定処理と、取得可能組み合わせそれぞれの体感品質(QоE)を判定し、体感品質の最も高い組み合わせを判定する第2判定処理と、を含む。まず、以下では第1判定処理について説明する。
<第1判定処理>
第1判定処理において、クライアント装置1は、第1条件から第3条件の3つの条件を満たす組み合わせを、取得可能組み合わせであると判定する。以下、第1判定処理において、具体的な数値を使用して説明する。なお、以下の説明においては、高ビットレート、中ビットレート、低ビットレートを、それぞれ、8Mbps、6Mbps、4Mbpsとする。また、図1に示す様に、スループットB1及びスループットB2を、それぞれ、10Mbps及び5Mbpsとする。また、各セグメントの時間長を1秒とし、判定処理を行う連続するセグメント数を3とする。なお、連続する2つのセグメントの取得期限の間隔はセグメントの時間長と同じ1秒である。
第1判定処理において、クライアント装置1は、第1条件から第3条件の3つの条件を満たす組み合わせを、取得可能組み合わせであると判定する。以下、第1判定処理において、具体的な数値を使用して説明する。なお、以下の説明においては、高ビットレート、中ビットレート、低ビットレートを、それぞれ、8Mbps、6Mbps、4Mbpsとする。また、図1に示す様に、スループットB1及びスループットB2を、それぞれ、10Mbps及び5Mbpsとする。また、各セグメントの時間長を1秒とし、判定処理を行う連続するセグメント数を3とする。なお、連続する2つのセグメントの取得期限の間隔はセグメントの時間長と同じ1秒である。
<第1条件>
本例においてビットレートの数は3であり、連続する3つのセグメントを単位として判定処理を行うため、連続する3つのセグメントのビットレートの組み合わせは33=27である。図2は、この27個の組み合わせを示している。なお、図2の番号は、各組み合わせを識別するために付与した番号である。図2の組み合わせのS#1は3つの連続するセグメントの内の時間的に最も早いセグメントであり、S#2はS#1の次のセグメントであり、S#3はS#2の次のセグメントである。連続する3つのセグメントの取得を開始する開始時点をt=0とすると、S#1の取得期限はt=1秒であり、S#2の取得期限はt=2秒であり、S#3の取得期限はt=3秒である。
本例においてビットレートの数は3であり、連続する3つのセグメントを単位として判定処理を行うため、連続する3つのセグメントのビットレートの組み合わせは33=27である。図2は、この27個の組み合わせを示している。なお、図2の番号は、各組み合わせを識別するために付与した番号である。図2の組み合わせのS#1は3つの連続するセグメントの内の時間的に最も早いセグメントであり、S#2はS#1の次のセグメントであり、S#3はS#2の次のセグメントである。連続する3つのセグメントの取得を開始する開始時点をt=0とすると、S#1の取得期限はt=1秒であり、S#2の取得期限はt=2秒であり、S#3の取得期限はt=3秒である。
第1評価値の1stは、開始時点(t=0)からS#1の取得期限(t=1秒)までにクライアント装置1が受信する必要がある総データ量を示している。第1評価値の2ndは、開始時点(t=0)からS#2の取得期限(t=2秒)までにクライアント装置1が受信する必要がある総データ量を示している。第1評価値の3rdは、開始時点(t=0)からS#3の取得期限(t=3秒)までにクライアント装置1が受信する必要がある総データ量を示している。なお、第1評価値の単位はMbitであるが、本例では、セグメントの時間長が1秒であるため、第1評価値の1st、2nd、3rdは、それぞれ、S#1のビットレート、S#1とS#2のビットレートの合計、S#1~S#3のビットレートの合計となる。
第1閾値の1stは、開始時点(t=0)からS#1の取得期限(t=1秒)までに区間#1において送信可能な総データ量である。第1閾値の2ndは、開始時点(t=0)からS#2の取得期限(t=2秒)までに区間#1において送信可能な総データ量である。第1閾値の3rdは、開始時点(t=0)からS#3の取得期限(t=3秒)までに区間#1において送信可能な総データ量である。なお、第1閾値の単位もMbitである。本例においてはスループットB1=10Mbpsであるため、第1閾値の1st、2nd、3rdは、それぞれ、10Mbit、20Mbit、30Mbitとなる。
第1条件は、第1評価値の1stが第1閾値の1st以下であり、第1評価値の2ndが第1閾値の2nd以下であり、かつ、第1評価値の3rdが第1閾値の3rd以下であると満たされる。第1条件は、3つのセグメントを対応する取得期限までに区間#1において送信できるか否かを判定するものである。なお、図2に示す例においては、27個の組み合わせの総てが第1条件を満たしている。第1条件を満たさない組み合わせが有る場合、当該組み合わせについては、取得期限までに各セグメントを取得できないと判定されるため、第2条件及び第3条件を満たすか否かを判定する必要はない。
<第2条件>
図2に示す様に、本例では総ての組み合わせが第1条件を満たすため、総ての組み合わせが第2条件の判定対象となる。図3は、第2条件の説明図である。なお、図3では、高ビットレート(8Mbps)のS#1がキャッシュ装置2にキャッシュされているものとする。図3の組み合わせの網掛けは、キャッシュ装置2にキャッシュされているセグメントを示している。
図2に示す様に、本例では総ての組み合わせが第1条件を満たすため、総ての組み合わせが第2条件の判定対象となる。図3は、第2条件の説明図である。なお、図3では、高ビットレート(8Mbps)のS#1がキャッシュ装置2にキャッシュされているものとする。図3の組み合わせの網掛けは、キャッシュ装置2にキャッシュされているセグメントを示している。
第2評価値の1stは、開始時点(t=0)からS#1の取得期限(t=1秒)までにサーバ装置3から送信される必要がある総データ量を示している。第1評価値の2ndは、開始時点(t=0)からS#2の取得期限(t=2秒)までにサーバ装置3から送信される必要がある総データ量を示している。第1評価値の3rdは、開始時点(t=0)からS#3の取得期限(t=3秒)までにサーバ装置3から送信される必要がある総データ量を示している。なお、第2評価値の単位もMbitである。番号#1~番号#9の組み合わせにおいて、S#1はキャッシュ装置2から配信されるため、第2評価値の1stは0Mbitになる。一方、番号#1~番号#9の組み合わせにおいて、S#2及びS#3はサーバ装置3から配信されるため、第2評価値の2ndはS#2のデータ量であり、第2評価値の3rdはS#2のデータ量とS#3のデータ量の合計になる。一方、番号#10~番号#27の組み合わせにおいては、S#1~S#3の総てがサーバ装置3から配信されるため、第2評価値の1st、2nd及び3rdは、それぞれ、第1評価値の1st、2nd及び3rdと同じになる。
第2閾値の1stは、開始時点(t=0)からS#1の取得期限(t=1秒)までに区間#2において送信可能な総データ量である。第2閾値の2ndは、開始時点(t=0)からS#2の取得期限(t=2秒)までに区間#2において送信可能な総データ量である。第1閾値の3rdは、開始時点(t=0)からS#3の取得期限(t=3秒)までに区間#2において送信可能な総データ量である。なお、第2閾値の単位もMbitである。本例において、スループットB2=5Mbpsであるため、第2閾値の1st、2nd、3rdは、それぞれ、5Mbit、10Mbit、15Mbitとなる。
第2条件は、第2評価値の1stが第2閾値の1st以下であり、第2評価値の2ndが第2閾値の2nd以下であり、かつ、第2評価値の3rdが第2閾値の3rd以下であると満たされる。第2条件は、サーバ装置3から取得するセグメントを対応する取得期限までに区間#2において送信できるか否かを判定するものである。
図3の第2評価値の網掛けは、その値が対応する第2閾値より大きいことを示している。図3より、番号#1、番号#10~番号#23、番号#25の組み合わせは第2条件を満たしていない。したがって、第2条件を満たす番号#2~番号#9、番号#24、番号#26、番号#27の組み合わせが第3条件の判定対象となる。
<第3条件>
図4は、第2条件を満たす番号#2~番号#9、番号#24、番号#26、番号#27の組み合わせを示している。なお、第3条件を満たすか否かの判定に使用する評価値は、第2条件と同じ第2評価値である。
図4は、第2条件を満たす番号#2~番号#9、番号#24、番号#26、番号#27の組み合わせを示している。なお、第3条件を満たすか否かの判定に使用する評価値は、第2条件と同じ第2評価値である。
サーバ装置3からS#1を取得する場合、第3閾値の1stは、開始時点(t=0)からS#1の取得期限(t=1秒)までにスループットB2で伝送できるデータ量である。一方、キャッシュ装置2からS#1を取得する場合、第3閾値の1stは、開始時点(t=0)からS#1の取得期限(t=1秒)までにスループットB1で伝送できるデータ量からS#1のデータ量を減じた値である。また、サーバ装置3からS#2を取得する場合、第3閾値の2ndは、S#1の取得期限(t=1秒)からS#2の取得期限(t=2秒)までにスループットB2で伝送できるデータ量と、1stの値との和である。一方、キャッシュ装置2からS#2を取得する場合、第3閾値の2ndは、S#1の取得期限(t=1秒)からS#2の取得期限(t=2秒)までにスループットB1で伝送できるデータ量からS#2のデータ量を減じた値と1stの値との和である。さらに、サーバ装置3からS#3を取得する場合、第3閾値の3rdは、S#2の取得期限(t=2秒)からS#3の取得期限(t=3秒)までにスループットB2で伝送できるデータ量と、2ndの値との和である。一方、キャッシュ装置2からS#3を取得する場合、第3閾値の3rdは、S#2の取得期限(t=2秒)からS#3の取得期限(t=3秒)までにスループットB1で伝送できるデータ量からS#3のデータ量を減じた値と2ndの値との和である。
本例において、番号#2~番号#9の組み合わせでは、S#1をキャッシュ装置2から取得する。したがって、第3閾値の1stは、区間#1でt=0からS#1の取得期限までに送信可能なデータ量の10MbitからS#1のデータ量8Mbitを減じた2Mbitとなる。一方、S#2及びS#3はサーバ装置3から取得するため、第3閾値の2ndは、区間#2でS#1の取得期限からS#2の取得期限までに送信可能なデータ量の5Mbitを1stの2Mbitに加えた7Mbitとなり、第3閾値の3rdは、区間#2でS#2の取得期限からS#3の取得期限までに送信可能なデータ量の5Mbitを2ndの7Mbitに加えた12Mbitとなる。一方、番号#24、番号#26、番号#27の組み合わせではS#1~S#3の総てをサーバ装置3から取得するため、第3閾値は第2閾値と同じである。
第3条件は、第2評価値の1stが第3閾値の1st以下であり、第2評価値の2ndが第3閾値の2nd以下であり、かつ、第2評価値の3rdが第3閾値の3rd以下であると満たされる。なお、第3条件の意味については後述する。図4の第2評価値の網掛けは、その値が対応する第3閾値より大きいことを示している。図4より、番号#2~番号#4の組み合わせは第3条件を満たしていない。したがって、第3条件を満たす番号#5~番号#9、番号#24、番号#26、番号#27の組み合わせが取得可能組み合わせであると判定される。
続いて、第3条件の意味について説明する。例えば、クライアント装置1がキャッシュ装置2からセグメントを取得するものとする。ここで、セグメントの時間長の間に区間#1において送信可能なデータ量(送信可能データ量)よりキャッシュ装置2から取得するセグメントのデータ量(セグメントデータ量)が小さいものとする。この場合、区間#1においては、送信可能データ量とセグメントデータ量との差を他のセグメントの伝送に利用することができる。一方、クライアント装置1がサーバ装置3からセグメントを取得する場合、区間#1においてセグメントの時間長の間に送信可能なデータ量は、区間#2のスループットB2に制限される。
例えば、図4の番号#2~番号#9の組み合わせにおいてはS#1をキャッシュ装置2から取得し、S#2及びS#3をサーバ装置3から取得することになる。S#1の取得期限までに区間#1で送信可能なデータ量は10Mbitである一方、S#1のデータ量は8Mbitである。したがって、クライアント装置1は、t=0~t=1の期間において、サーバ装置3から2Mbit分のデータを先に取得することができる。第3閾値の1stは、このデータ量を示している。また、次のt=1~t=2の期間において、クライアント装置1は、サーバ装置3から5Mbit分のデータを取得することができる。つまり、t=0~t=2の期間において、クライアント装置1がサーバ装置3から取得できる総データ量は7Mbitである。第3閾値の2ndは、このデータ量を示している。同様に、t=2~t=3の期間において、クライアント装置1は、サーバ装置3から5Mbit分のデータを取得することができる。つまり、t=0~t=3の期間において、クライアント装置1がサーバ装置3から取得できる総データ量は12Mbitである。第3閾値の3rdは、このデータ量を示している。
本実施形態において、クライアント装置1は、キャッシュ装置2からセグメントを取得しているときに、区間#1の空き容量を使用して予め時間的に後のセグメントをサーバ装置3から取得する様に動作する。条件3は、この様にクライアント装置1が動作することを前提に、サーバ装置3から取得するセグメントを、区間#1において送信できるか否かを判定するものである。
<第2判定処理>
続いて、第2判定処理について説明する。本実施形態においてはQоEを、以下の式(1)で評価する。
QоE=α×ΣRi-β×Σ|Rk+1-Rk| (1)
なお、iは1から判定処理を行うセグメント数までの整数、つまり、本例ではi=1から3までの値である。また、kは1から判定処理を行うセグメント数より1だけ小さい値までの整数、つまり、本例ではk=1から2までの値である。また、Rm(mはi又はk)は、判定処理を行う連続するセグメントの内のm番目のセグメントのビットレートである。なお、α及びβは所定の係数である。本実施形態においては、一例として、α=0.04及びβ=0.02としている。
続いて、第2判定処理について説明する。本実施形態においてはQоEを、以下の式(1)で評価する。
QоE=α×ΣRi-β×Σ|Rk+1-Rk| (1)
なお、iは1から判定処理を行うセグメント数までの整数、つまり、本例ではi=1から3までの値である。また、kは1から判定処理を行うセグメント数より1だけ小さい値までの整数、つまり、本例ではk=1から2までの値である。また、Rm(mはi又はk)は、判定処理を行う連続するセグメントの内のm番目のセグメントのビットレートである。なお、α及びβは所定の係数である。本実施形態においては、一例として、α=0.04及びβ=0.02としている。
例えば、図4の番号#5の組み合わせは、S#1=8、S#2=6、S#3=6である。したがって、式(1)より、
QoE=0.04(8+6+6)-0.02(|6-8|+|6-6|)=0.76
となる。
QoE=0.04(8+6+6)-0.02(|6-8|+|6-6|)=0.76
となる。
式(1)の第1項は、判定処理を行う連続するセグメントの平均的なビットレートが高くなる程、高くなる。これは、平均的なビットレートが高い程、平均的な品質が高く、よって、QoEも高くなることに対応する。一方、式(1)の第2項は、連続する2つのセグメントのビットレートの差が大きい程、かつ、セグメント間におけるビットレートの切り替わり回数が多い程、大きくなる。上述した様に、QoEは、連続する2つのセグメントのビットレートの差が大きい程、かつ、セグメント間におけるビットレートの切り替わり回数が多い程、劣化する。つまり、式(1)の第2項は、QoEの劣化の程度を示す値であり、この値を第1項から減ずることでQoEを評価している。
図4に示す様に、取得可能組み合わせの内、QoEが最も大きいのは番号#5の組み合わせである。したがって、本例において、クライアント装置1は、S#1についてはキャッシュ装置2にキャッシュされている高ビットレートのセグメントを取得し、S#2及びS#3についてはサーバ装置3から中ビットレートのセグメントを取得すると判定する。
図5は、番号#5の組み合わせに従いクライアント装置1がS#1~S#3を取得する際の区間#1及び区間#3(図1参照)における帯域の利用のされ方の説明図である。なお、図5(A)は区間#3を示し、図5(B)は区間#1を示している。例えば、クライアント装置1は、t=0において、高ビットレートのS#1を要求する要求パケットと、中ビットレートのS#2を要求する要求パケットを送信する。キャッシュ装置2は、高ビットレートのS#1をキャッシュしているため高ビットレートのS#1をクライアント装置1に向けて送信する。一方、キャッシュ装置2は、中ビットレートのS#2をキャッシュしていないため、中ビットレートのS#2を要求する要求パケットをサーバ装置3に転送する。サーバ装置3は、中ビットレートのS#2を要求する要求パケットに応答して中ビットレートのS#2の送信を開始する。また、例えば、クライアント装置1は、t=1において、中ビットレートのS#3を要求する要求パケットを送信する。キャッシュ装置2は、中ビットレートのS#3をキャッシュしていないため、中ビットレートのS#3を要求する要求パケットをサーバ装置3に転送する。サーバ装置3は、中ビットレートのS#3を要求する要求パケットに応答してS#3の送信を開始する。
図5において、クライアント装置1は、キャッシュ装置2からt=1までに8MbitのS#1を取得すると共に、t=1の時点において、サーバ装置3から6MbitのS#2の内の2Mbit分のデータを取得している。クライアント装置1は、t=2までにS#2の残りの4Mbitを取得すると共に、サーバ装置3から6MbitのS#3の内の1Mbit分のデータを取得している。クライアント装置1は、t=3までにS#3の残りの5Mbitを取得している。
なお、図5(B)において、キャッシュ装置2は、t=0~t=1の期間において区間#1の10Mbpsの帯域の内の8Mbpsの帯域を使用してS#1をクライアント装置1に送信し、残りの2Mbpsの帯域を使用してS#2をクライアント装置1に送信しているが例示である。例えば、キャッシュ装置2は、まず、区間#1の10Mbpsの帯域の総てを使用してt=0.8までにS#1をクライアント装置1に送信し、t=0.8~t=1の期間において区間#1の10Mbpsの帯域の総てを使用してS#2の2Mbitの部分をクライアント装置1に送信することができる。この場合、キャッシュ装置2は、t=0~t=0.8の間、サーバ装置3から取得するS#2のデータをバッファする。また、この場合、クライアント装置1は、t=0において、中ビットレートのS#2を要求する要求パケットを送信する必要はない。具体的には、区間#3において2Mbitの送信に必要な時間は0.4秒であるため、クライアント装置1は、t=0~t=0.6の間に、中ビットレートのS#2を要求する要求パケットを送信すれば良い。
また、図5(A)において、サーバ装置3は、t=0~t=1の期間において、区間#2の5Mbpsの帯域の内の2Mbpsの帯域を使用してキャッシュ装置2にS#2を送信しているが、t=0~t=1の期間において、区間#2の5Mbpsの帯域の総てを使用してキャッシュ装置2にS#2の5Mbitのデータを送信することもできる。この場合、キャッシュ装置2は、区間#1に空きができるまで既に受信したS#2のデータをバッファする。なお、図5(A)から明らかな様に、クライアント装置1がS#2の先取りを行わず、t=1の時点でサーバ装置3にS#2を要求すると、S#2をt=2までに取得することはできない。
図6及び図7は、低ビットレート(4Mbps)のS#1がキャッシュ装置2にキャッシュされている場合の第2条件及び第3条件の判定結果を示す図であり、上記例の図3及び図4に対応する。図6によると、番号#20~番号#27の組み合わせが第2条件を満たしている。また、図7によると、番号#20~番号#27の組み合わせは総て第3条件も満たしているため、番号#20~番号#27の組み合わせが取得可能組み合わせであると判定される。
したがって、クライアント装置1は、取得可能組み合わせの内のQoEが最も大きい番号#22の組み合わせに従い、S#1についてはキャッシュ装置2にキャッシュされている低ビットレートのセグメントを取得し、S#2についてはサーバ装置3から中ビットレートのセグメントを取得し、S#3についてはサーバ装置3から高ビットレートのセグメントを取得すると判定する。
図8及び図9は、高ビットレート(8Mbps)のS#3がキャッシュ装置2にキャッシュされている場合の第2条件及び第3条件の判定結果を示す図であり、上記例の図3及び図4に対応する。図8によると、番号#22、番号#24~番号#27の組み合わせが第2条件を満たしている。また、図9によると、第2条件を満たす組み合わせの総ては第3条件を満たしているため番号#22、番号#24~番号#27の組み合わせが取得可能組み合わせであると判定される。
したがって、クライアント装置1は、取得可能組み合わせの内のQoEが最も大きい番号#22の組み合わせに従い、S#1についてはサーバ装置3から低ビットレートのセグメントを取得し、S#2についてはサーバ装置から中ビットレートのセグメントを取得し、S#3についてはキャッシュ装置2から高ビットレートのセグメントを取得すると判定する。
なお、上記説明では、第1条件、第2条件、第3条件の順に判定を行っていたが、判定を行う順序は任意である。さらに、上記説明では、所定順序(第1条件、第2条件、第3条件の順)に従って判定を行い、ある条件を満たさない組み合わせについては、次の条件を満たすか否かの判定を行っていなかった。しかしながら、第1条件、第2条件、第3条件を満たすか否かをそれぞれ判定し、総ての条件を満たす組み合わせを判定する構成であっても良い。
<第二実施形態>
続いて第二実施形態について第一実施形態との相違点を中心に説明する。第一実施形態において、クライアント装置1は、第1判定処理において、第1条件、第2条件、第3条件の3つの条件を満たす組み合わせを取得可能組み合わせであると判定していた。これは、第一実施形態において、クライアント装置1は、キャッシュ装置2からセグメントを取得している間、区間#1の空き容量を使用して、サーバ装置3に格納されている時間的に後のセグメントの取得を事前に開始する様に動作するからであった。しかしながら、クライアント装置1がキャッシュ装置2からセグメントを取得している間、サーバ装置3に格納されている時間的に後のセグメントをクライアント装置1が取得するのではなく、キャッシュ装置2に取得させる構成とすることもできる。この場合、キャッシュ装置2とサーバ装置3の両方から並行してセグメントを取得できるか否かを判定する第3条件は必要ではなく、クライアント装置1は、第1条件及び第2条件を満たす組み合わせを取得可能組み合わせであると判定することができる。
続いて第二実施形態について第一実施形態との相違点を中心に説明する。第一実施形態において、クライアント装置1は、第1判定処理において、第1条件、第2条件、第3条件の3つの条件を満たす組み合わせを取得可能組み合わせであると判定していた。これは、第一実施形態において、クライアント装置1は、キャッシュ装置2からセグメントを取得している間、区間#1の空き容量を使用して、サーバ装置3に格納されている時間的に後のセグメントの取得を事前に開始する様に動作するからであった。しかしながら、クライアント装置1がキャッシュ装置2からセグメントを取得している間、サーバ装置3に格納されている時間的に後のセグメントをクライアント装置1が取得するのではなく、キャッシュ装置2に取得させる構成とすることもできる。この場合、キャッシュ装置2とサーバ装置3の両方から並行してセグメントを取得できるか否かを判定する第3条件は必要ではなく、クライアント装置1は、第1条件及び第2条件を満たす組み合わせを取得可能組み合わせであると判定することができる。
例えば、第一実施形態の図3及び図4で説明した例においては、図4に示す様に、番号#2~番号#4の組み合わせは第3条件を満たさず、よって、取得可能組み合わせではないと判定されていた。本実施形態では、第3条件は使用されないため、図4に示す総ての組み合わせが取得可能組み合わせであると判定される。したがって、クライアント装置1は、QoEの最も高い番号#2の組み合わせに従いセグメントを取得する。
図10は、番号#2の組み合わせに従いクライアント装置1がS#1~S#3を取得する際の区間#1及び区間#3(図1参照)における帯域の利用のされ方の説明図である。なお、図10(A)は区間#3を示し、図10(B)は区間#1を示している。クライアント装置1は、例えば、t=0において、8MbitのS#1を要求する要求パケットと、8MbitのS#2及び6MbitのS#3の取得/キャッシュを指示するキャッシュ指示パケットを送信する。キャッシュ装置2は、キャッシュ指示パケットに応答して、8MbitのS#2及び6MbitのS#3を要求する要求パケットをサーバ装置3に送信する。これにより、キャッシュ装置2は、t=0~t=1.6の期間において、サーバ装置3から8MbitのS#2を取得し、t=1.6~t=2.8の期間において、サーバ装置3から6MbitのS#2を取得する。
また、キャッシュ装置2は、8MbitのS#1を要求する要求パケットに応答してクライアント装置1に8MbitのS#1を送信する。クライアント装置1は、t=0~t=0.8の期間において、キャッシュ装置2から8MbitのS#1を取得する。クライアント装置1は、t=0.8~t=1.2の範囲内において8MbitのS#1を取得すると8MbitのS#2を要求する要求パケットを送信する。なお、図10(B)において、クライアント装置1は、t=1.2において8MbitのS#2を要求する要求パケットを送信しているが例示であり、クライアント装置1は、t=0.8~t=1.2の範囲内において8MbitのS#2を要求する要求パケットを送信すれば良い。キャッシュ装置2は、8MbitのS#2を要求する要求パケットを受信すると、8MbitのS#2のデータの内のサーバ装置3から既に受信しているデータをクライアント装置1に送信する。図10(B)によると、t=2.0において8MbitのS#2のクライアント装置1による取得が完了している。
クライアント装置1は、8MbitのS#2を取得すると6MbitのS#3を要求する要求パケットを送信する。なお、図10(B)において、クライアント装置1は、t=2.4において6MbitのS#3を要求する要求パケットを送信しているが例示であり、クライアント装置1は、S#2の取得完了からt=2.4までの間に6MbitのS#3を要求する要求パケットを送信すれば良い。キャッシュ装置2は、6MbitのS#2を要求する要求パケットを受信すると、6MbitのS#3のデータの内のサーバ装置3から既に受信しているデータをクライアント装置1に送信する。図10によると、t=3.0において6MbitのS#3のクライアント装置1による取得が完了している。
図11は、本実施形態によるクライアント装置1の機能ブロック図である。なお、図1の機能ブロックは、例えば、1つ以上のプロセッサを有する装置(コンピュータ)の当該1つ以上のプロセッサに適切なプログラムを実行させることで実現され得る。当該プログラムは、当該装置の1つ以上の記憶デバイスに格納され得る。また、当該装置は、プログラムを実行する1つ以上のプロセッサにより制御される通信回路を有する。
通信部14は、要求パケットの送信処理と、セグメントを含むデータパケットの受信処理と、を含む各種パケットの送受信処理を行う。スループット取得部11は、キャッシュ装置2からクライアント装置1までのスループットB1と、サーバ装置3からクライアント装置1までのスループットB2と、を示すスループット情報を取得する。例えば、スループット取得部11は、キャッシュ装置2やサーバ装置3から通信部14を介してスループットの測定用パケットを受信することで、スループットB1やスループットB2を測定し、これにより、スループット情報を取得し得る。また、スループット取得部11は、コンテンツ配信システムから通信部14を介してスループット情報を取得し得る。
キャッシュ情報取得部12は、第1コンテンツを取得する際、第1コンテンツの複数の第1セグメントの内、キャッシュ装置2に格納されている第2セグメントと、サーバ装置3のみに格納されている第3セグメントと、を判定するためのキャッシュ情報を取得する。例えば、キャッシュ情報取得部12は、通信部14を介してサーバ装置3から第1コンテンツのMPDを取得する。第1コンテンツのMPDは、第1コンテンツのセグメント数及びセグメント名や、セグメントの時間長や、セグメントの複数のビットレートを示す情報を含み得る。また、キャッシュ情報取得部12は、通信部14を介して第1コンテンツのコンテンツ名を含む問い合わせパケットを送信する。キャッシュ装置2は、この問い合わせパケットを受信すると、自装置がキャッシュしている第1コンテンツのセグメントを示す回答パケットをクライアント装置1に送信する。クライアント装置1は、MPDと、回答パケットが示す情報に基づき第2セグメントと、第3セグメントと、を判定することができる。
ビットレート判定部13は、スループットB1と、スループットB2と、キャッシュ情報と、に基づき、第1コンテンツを構成する複数の第1セグメントそれぞれについて、複数の異なるビットレートの内のどのビットレートの第1セグメントを取得するかを判定する判定処理を実行する。例えば、ビットレート判定部13は、連続する所定数の第1セグメントを単位として判定処理を実行し得る。所定数は、固定値であり得る。また、所定数は、第1コンテンツの全セグメント数とすることもできる。
判定処理は、連続する所定数の第1セグメントのビットレートの組み合わせの内、連続する所定数の第1セグメントそれぞれをその取得期限までにクライアント装置1が取得できる取得可能組み合わせ(第1組み合わせ)を判定する第1判定処理と、取得可能組み合わせから所定基準に従い1つの組み合わせを選択・判定する第2判定処理と、を含む。なお、通信部14は、この選択・判定された1つの組み合わせが示すビットレートに従い第1セグメントを要求する要求パケット等を送信する。
第二実施形態において、第1判定処理は、第1条件と第2条件に基づき行われる。また、第一実施形態において、第1判定処理は、第1条件と第2条件と第3条件とに基づき行われる。第1条件は、連続する所定数の第1セグメントの内の最初に取得する第1セグメントの取得開始から連続する所定数の第1セグメントそれぞれの取得期限までにクライアント装置が取得しなければならない第1セグメントのデータ量(第1評価値)と、取得開始から連続する所定数の第1セグメントそれぞれの取得期限までにスループットB1で送信できるデータ量(第1閾値)と、を比較することを含む。なお、第1条件は、連続する所定数の第1セグメントそれぞれのデータ量の積算値と、第1セグメントの時間長の間にスループットB1で送信できるデータ量の積算値と、を比較するものということもできる。
第2条件は、取得開始から連続する所定数の第1セグメントそれぞれの取得期限までにクライアント装置1が取得しなければならない第3セグメントのデータ量(第2評価値)と、取得開始から連続する所定数の第1セグメントそれぞれの取得期限までにスループットB2で送信できるデータ量(第2閾値)と、を比較することを含む。なお、第2条件は、連続する所定数の第1セグメントの内の第3セグメントのデータ量の積算値と、第1セグメントの時間長の間にスループットB2で送信できるデータ量の積算値と、を比較するものということもできる。
第3条件は、取得開始から連続する所定数の第1セグメントそれぞれの取得期限までにクライアント装置1が取得しなければならない第3セグメントのデータ量(第2評価値)と、第1データ量の積算値(第3閾値)と、を比較することを含む。なお、第1データ量は、取得開始から連続する所定数の第1セグメントの内の最初に取得する第1セグメントの取得期限までの期間と、連続する所定数の第1セグメントそれぞれの取得期限間の期間それぞれとに対して判定される。第1セグメントが第2セグメントである場合、第2セグメントの取得期限までの第1期間における第1データ量は、第1期間内においてスループットB1で送信可能なデータ量から第2セグメントのデータ量を減じた値である。一方、第1セグメントが第3セグメントである場合、第3セグメントの取得期限までの第2期間における第1データ量は、第2期間内においてスループットB2で送信可能なデータ量である。なお、第3条件は、連続する所定数の第1セグメントの内の第3セグメントのデータ量の積算値と、第1セグメントの時間長の間に送信可能な第2データ量の積算値(第3閾値)と、を比較するものということもできる。ここで、第2データ量は、第1セグメントが第2セグメントである場合、当該第1セグメントの時間長の間にスループットB1で送信できるデータ量から当該第2セグメントのデータ量を減じた値であり、第1セグメントが第3セグメントである場合、当該第1セグメントの時間長の間にスループットB2で送信できるデータ量である。
ビットレート判定部13は、第2判定処理において、取得可能組み合わせそれぞれについて、そのビットレートに基づき体感品質の評価値を求め、評価値の最も高い取得可能組み合わせを判定する。例えば、ビットレート判定部13は、上記式(1)に基づき評価値を求める。評価値は、連続する所定数の第1セグメントのビットレートの平均値が高くなる程、高くなる値であり得る。また、評価値は、連続する所定数の第1セグメントの内の隣接する2つの第1セグメントのビットレートの差が大きい程、低くなる値であり得る。さらに、評価値は、連続する所定数の第1セグメントのビットレートの切り替わり回数が多い程、低くなる値であり得る。
なお、第二実施形態の場合、通信部14は、ビットレート判定部13の判定結果に従い第2セグメントを要求する要求信号(要求パケット)を送信する場合、連続する所定数の第1セグメントの内の当該第2セグメントより時間的に後の第3セグメントをキャッシュ装置2がサーバ装置3から取得する様にキャッシュ装置2にキャッシュ指示を行う。一方、第一実施形態の場合、通信部14は、ビットレート判定部13の判定結果に従い第2セグメントを要求する要求信号を送信する場合、連続する所定数の第1セグメントの内の当該第2セグメントより時間的に後の第3セグメントを要求する要求信号を送信する。
なお、本実施形態においてコンテンツ配信システムは、ICNに従うものとしていた。しかしながら、本開示の構成は、ICNに従うコンテンツ配信システムとは異なるコンテンツ配信システムに適用することができる。具体的には、コンテンツをセグメントに分割し、各セグメントに複数の異なるビットレートを用意し、セグメントをキャッシュするキャッシュ装置を備え、キャッシュ装置がキャッシュしているセグメント又はサーバ装置が格納しているセグメントをクライアント装置1が選択的に取得できるコンテンツ配信システムに対して本開示の構成を適用することができる。
以上、上記の第1判定処理により取得するセグメントのビットレートを判定することで、コンテンツの再生が中断することを抑えることができる。さらに、上記の第2判定処理により、体感品質の低下を抑えることができる。
なお、本開示によるクライアント装置1は、コンピュータをクライアント装置1として動作させるプログラムにより実現することができる。これらコンピュータプログラムは、コンピュータが読み取り可能な記憶媒体に記憶されて、又は、ネットワーク経由で配布が可能なものである。
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
以上の構成により、体感品質を低下させず、かつ、コンテンツの再生が中断することを抑えることができる。したがって、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
11:スループット取得部、12:キャッシュ情報取得部、13:ビットレート判定部
Claims (13)
- コンテンツを複数のセグメントに分割し、セグメントを単位として配信するコンテンツ配信システムのクライアント装置であって、
前記コンテンツ配信システムは、公開するコンテンツの前記複数のセグメントそれぞれについて、複数の異なるビットレートのセグメントを格納するサーバ装置と、セグメントをキャッシュするキャッシュ装置と、を有し、
前記クライアント装置は、
前記キャッシュ装置から前記クライアント装置までの第1スループットと、前記サーバ装置から前記クライアント装置までの第2スループットと、を示す情報を取得する第1取得手段と、
第1コンテンツを取得する際、前記第1コンテンツの複数の第1セグメントの内、前記キャッシュ装置に格納されている第2セグメントと、前記サーバ装置のみに格納されている第3セグメントと、を判定するためのキャッシュ情報を取得する第2取得手段と、
前記第1スループットと、前記第2スループットと、前記キャッシュ情報と、に基づき、前記複数の第1セグメントそれぞれについて、前記複数の異なるビットレートの内のどのビットレートの第1セグメントを取得するかを判定する判定処理を実行する判定手段と、
を備えている、クライアント装置。 - 前記判定手段は、連続する所定数の第1セグメントを単位として前記判定処理を実行する、請求項1に記載のクライアント装置。
- 前記判定処理は、前記連続する所定数の第1セグメントのビットレートの組み合わせの内、前記連続する所定数の第1セグメントそれぞれをその取得期限までに前記クライアント装置が取得できる第1組み合わせを判定する第1判定処理と、前記第1組み合わせそれぞれの前記連続する所定数の第1セグメントのビットレートに基づき、取得する第1セグメントのビットレートの組み合わせである第2組み合わせを前記第1組み合わせの中から判定する第2判定処理と、を含む、請求項2に記載のクライアント装置。
- 前記判定手段は、前記第1組み合わせそれぞれについて、前記連続する所定数の第1セグメントのビットレートに基づき体感品質の評価値を求め、
前記第2組み合わせは、前記評価値の最も高い前記第1組み合わせである、請求項3に記載のクライアント装置。 - 前記評価値は、前記連続する所定数の第1セグメントのビットレートの平均値が高くなる程、高くなる、請求項4に記載のクライアント装置。
- 前記評価値は、前記連続する所定数の第1セグメントの内の隣接する2つの第1セグメントのビットレートの差が大きい程、低くなる、請求項4又は5に記載のクライアント装置。
- 前記評価値は、前記連続する所定数の第1セグメントのビットレートの切り替わり回数が多い程、低くなる、請求項4から6のいずれか1項に記載のクライアント装置。
- 前記第1判定処理は、前記連続する所定数の第1セグメントの内の最初に取得する第1セグメントの取得開始から前記連続する所定数の第1セグメントそれぞれの取得期限までに前記クライアント装置が取得しなければならない前記第1セグメントのデータ量と、前記取得開始から前記連続する所定数の第1セグメントそれぞれの取得期限までに前記第1スループットで送信できるデータ量と、を比較することを含む、請求項3から7のいずれか1項に記載のクライアント装置。
- 前記第1判定処理は、前記取得開始から前記連続する所定数の第1セグメントそれぞれの取得期限までに前記クライアント装置が取得しなければならない前記第3セグメントのデータ量と、前記取得開始から前記連続する所定数の第1セグメントそれぞれの取得期限までに前記第2スループットで送信できるデータ量と、を比較することをさらに含む、請求項8に記載のクライアント装置。
- 前記第1判定処理は、前記取得開始から前記連続する所定数の第1セグメントそれぞれの取得期限までに前記クライアント装置が取得しなければならない前記第3セグメントのデータ量と、第1データ量の積算値と、を比較することをさらに含み、
前記第1データ量は、前記取得開始から前記連続する所定数の第1セグメントの内の最初に取得する第1セグメントの取得期限までの期間と、前記連続する所定数の第1セグメントそれぞれの取得期限間の期間それぞれとに対して判定され、第1セグメントが前記第2セグメントである場合、前記第2セグメントの取得期限までの第1期間における前記第1データ量は、前記第1期間内において前記第1スループットで送信可能なデータ量から前記第2セグメントのデータ量を減じた値であり、第1セグメントが前記第3セグメントである場合、前記第3セグメントの取得期限までの第2期間における前記第1データ量は、前記第2期間内において前記第2スループットで送信可能なデータ量である、請求項9に記載のクライアント装置。 - 前記クライアント装置は、前記判定手段の判定結果に従い前記第2セグメントを要求する要求信号を送信する場合、前記連続する所定数の第1セグメントの内の前記第2セグメントより時間的に後の前記第3セグメントを前記キャッシュ装置が前記サーバ装置から取得する様に前記キャッシュ装置に指示を行う、請求項9に記載のクライアント装置。
- 前記クライアント装置は、前記判定手段の判定結果に従い前記第2セグメントを要求する要求信号を送信する場合、前記連続する所定数の第1セグメントの内の前記第2セグメントより時間的に後の前記第3セグメントを要求する要求信号を送信する、請求項10に記載のクライアント装置。
- 1つ以上のプロセッサを有する装置の前記1つ以上のプロセッサで実行されると、前記装置を請求項1から12のいずれか1項に記載のクライアント装置として機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022004567A JP2023103818A (ja) | 2022-01-14 | 2022-01-14 | コンテンツを取得するクライアント装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022004567A JP2023103818A (ja) | 2022-01-14 | 2022-01-14 | コンテンツを取得するクライアント装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023103818A true JP2023103818A (ja) | 2023-07-27 |
Family
ID=87378371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022004567A Pending JP2023103818A (ja) | 2022-01-14 | 2022-01-14 | コンテンツを取得するクライアント装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023103818A (ja) |
-
2022
- 2022-01-14 JP JP2022004567A patent/JP2023103818A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2953319B1 (en) | Method, system and various components of such a system for selecting a chunk identifier | |
US9838459B2 (en) | Enhancing dash-like content streaming for content-centric networks | |
US20060184688A1 (en) | System and Method for Parallel Indirect Streaming of Stored Media from Multiple Sources | |
US9131027B2 (en) | Method, system, and client for streaming media service | |
CN110636339B (zh) | 基于码率的调度方法、装置及电子设备 | |
EP2383999A1 (en) | Controlling an adaptive streaming of digital content | |
CN103119958A (zh) | 内容分发装置、内容重放装置、内容分发系统、内容分发装置的控制方法、控制程序以及记录介质 | |
CN108833996A (zh) | 分布式dash系统中服务节点选择、更新和码率自适应方法 | |
EP3014854B1 (en) | Method for adapting the downloading behavior of a client terminal configured to receive multimedia content, and corresponding terminal. | |
CN112690005A (zh) | 用于流传输内容的方法和设备 | |
CN107005486B (zh) | 数据传输装置和数据传输方法 | |
CN107509120A (zh) | 一种基于缓冲区下溢概率估计的流媒体自适应传输方法 | |
KR20140093430A (ko) | 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 | |
KR101454809B1 (ko) | 트랜스코딩 작업 스케줄링 방법 및 이를 이용한 트랜스코딩 시스템 | |
JP2023103818A (ja) | コンテンツを取得するクライアント装置及びプログラム | |
US20080209054A1 (en) | Method and apparatus for relaying streaming data | |
JP6793526B2 (ja) | 動画配信システム、配信サーバ、及びプログラム | |
CN114245225B (zh) | 用于经由内容分发网络流式传输媒体数据的方法及系统 | |
JP2014522594A (ja) | マルチメディア・コンテンツをストリーミングする方法および装置 | |
Khan et al. | Bandwidth Estimation Techniques for Relative'Fair'Sharing in DASH | |
Duan et al. | A Bandwidth-Aware Video Segments Request Strategy to Optimize User’s QoE in Connected Vehicle Networks | |
CN106464985B (zh) | 一种媒体流传输方法及装置 | |
JP2024127479A (ja) | キャッシュされたファイルを推定するクライアント装置及びプログラム | |
KR101387166B1 (ko) | 데이터 스트림을 전송하기 위한 장치, 방법 및 시스템 | |
Kim et al. | A bandwidth estimation scheme to improve the QoE of HTTP adaptive streaming in the multiple client environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240604 |