JP2017157958A - Client device and method - Google Patents

Client device and method Download PDF

Info

Publication number
JP2017157958A
JP2017157958A JP2016037953A JP2016037953A JP2017157958A JP 2017157958 A JP2017157958 A JP 2017157958A JP 2016037953 A JP2016037953 A JP 2016037953A JP 2016037953 A JP2016037953 A JP 2016037953A JP 2017157958 A JP2017157958 A JP 2017157958A
Authority
JP
Japan
Prior art keywords
segment
bit rate
client device
content
unit
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.)
Granted
Application number
JP2016037953A
Other languages
Japanese (ja)
Other versions
JP6466870B2 (en
Inventor
福井 啓允
Hiromitsu Fukui
啓允 福井
圭 河村
Kei Kawamura
圭 河村
内藤 整
Hitoshi Naito
整 内藤
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/en
Publication of JP2017157958A publication Critical patent/JP2017157958A/en
Application granted granted Critical
Publication of JP6466870B2 publication Critical patent/JP6466870B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

PROBLEM TO BE SOLVED: To optimize a bit rate of a required segment in accordance with a situation of a client device or attributes of a content.SOLUTION: A client device is configured to request and acquire over a network a segment while designating a bit rate for each segment to a content having multiple bit rates and divided into multiple segments. The client device comprises: an update section which updates a reference for determining the bit rate of the requested segment from an index of throughput in the client device on the basis of a situation of the client device and at least one of attributes of the content; and a determination section which determines a bit rate in accordance with the reference updated by the update section.SELECTED DRAWING: Figure 1

Description

本発明は、クライアント装置および方法に関する。   The present invention relates to a client apparatus and method.

近年、オンライン動画配信サービスにおいてDASH(dynamic adaptive streaming over hyper transfer protocol)型配信に代表される配信ビットレートを動的に変更する配信形態が広く採用されている。本方式によれば、予めあるコンテンツについて、異なる品質(ビットレート)のデータを用意し、かつ、セグメント単位に分割しておくことで、ネットワーク状況に応じて最適かつ最高の品質のコンテンツを要求できるようになる。具体的には、コンテンツビットレートと直近で計測したスループットの指標とが比較され、スループットを超えない範囲のビットレートのセグメントファイルが要求される。例えば、非特許文献1には、セグメントの再生時間を実際に同セグメントの受信に要した時間で除して、その値が予め設定されたしきい値以上であれば、要求するビットレートを一段階上げ、逆の場合は下げる技術が開示されている。   2. Description of the Related Art In recent years, a distribution form that dynamically changes a distribution bit rate typified by DASH (dynamic adaptive streaming over hyper transfer protocol) type distribution has been widely adopted in online video distribution services. According to this method, by preparing data of different quality (bit rate) for a certain content in advance and dividing it into segment units, it is possible to request content with the optimum and highest quality according to the network situation. It becomes like this. Specifically, the content bit rate is compared with the latest measured throughput index, and a segment file with a bit rate in a range not exceeding the throughput is requested. For example, Non-Patent Document 1 divides the playback time of a segment by the time actually required to receive the segment, and if the value is equal to or greater than a preset threshold, the requested bit rate is set as one. A technique for raising the level and lowering it in the opposite case is disclosed.

MMSys'11 - Proceedings of the 2011 ACM Multimedia Systems Conference, 2011, p. 169-174MMSys'11-Proceedings of the 2011 ACM Multimedia Systems Conference, 2011, p. 169-174

しかしながら、非特許文献1に記載されるような方法では、コンテンツビットレートとスループットとを比較するロジックは固定されているので、受信装置がおかれた実環境を考慮することができない。つまり、実際にはスループットの急激な変動が発生する状況であっても、スループットの変動が安定的である状況であっても、用いられるロジックは同一となる。前者の状況の例は、端末が移動して頻繁にハンドオーバが行われる状況である。ハンドオーバにおいては、基地局のインタフェースの変化および端末登録期間のデータ通信停止が瞬間的に発生するので、スループットが急激に変動しうる。   However, in the method described in Non-Patent Document 1, since the logic for comparing the content bit rate and the throughput is fixed, it is not possible to consider the actual environment in which the receiving apparatus is placed. In other words, the logic that is used is the same regardless of whether or not there is actually a sudden change in throughput or a situation in which the change in throughput is stable. An example of the former situation is a situation where the terminal moves and frequent handovers are performed. In handover, the change in the interface of the base station and the stop of data communication during the terminal registration period occur instantaneously, so that the throughput can fluctuate rapidly.

このため、例えばスループットが変動しやすい状況において要求するビットレートが早く上がってしまうと、予期せぬバッファアンダーフローが起こる蓋然性が高くなる。また、逆に、スループットが変動しづらい状況であっても要求するビットレートが早く上がるということはなく、ユーザが体感する品質の低下につながりうる。このように、非特許文献1に記載されるような従来の方法では、パフォーマンス面で不十分となる虞がある。   For this reason, for example, if the required bit rate increases rapidly in a situation where the throughput is likely to fluctuate, there is a high probability that an unexpected buffer underflow will occur. Conversely, even if the throughput is difficult to fluctuate, the requested bit rate does not increase quickly, which can lead to a decrease in quality experienced by the user. Thus, the conventional method as described in Non-Patent Document 1 may be insufficient in performance.

本発明はこうした課題に鑑みてなされたものであり、その目的は、クライアント装置の状況やコンテンツの属性に応じて、要求するセグメントのビットレートを最適化することができる技術の提供にある。   The present invention has been made in view of these problems, and an object of the present invention is to provide a technique capable of optimizing the bit rate of a requested segment in accordance with the status of the client device and the attribute of the content.

本発明のある態様はクライアント装置に関する。このクライアント装置は、複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得するクライアント装置であって、クライアント装置におけるスループットの指標から要求するセグメントのビットレートを決定するための基準を、クライアント装置の状況およびコンテンツの属性のうちの少なくともひとつに基づいて更新する更新部と、更新部によって更新された基準にしたがいビットレートを決定する決定部と、を備える。   One embodiment of the present invention relates to a client device. The client device is a client device that requests a content divided into a plurality of segments by specifying a bit rate for each segment and obtains the content via a network. In accordance with the update unit for updating the bit rate of the requested segment from the throughput index in the client based on at least one of the status of the client device and the attribute of the content, and the criterion updated by the update unit A determination unit that determines a bit rate.

なお、以上の構成要素の任意の組み合わせや、本発明の構成要素や表現を装置、方法、システム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で相互に置換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements, or those obtained by replacing the constituent elements and expressions of the present invention with each other between apparatuses, methods, systems, computer programs, recording media storing computer programs, and the like are also included in the present invention. It is effective as an embodiment of

本発明によれば、クライアント装置の状況やコンテンツの属性に応じて、要求するセグメントのビットレートを最適化することができる。   According to the present invention, the bit rate of the requested segment can be optimized according to the status of the client device and the content attribute.

実施の形態に係るクライアント装置を備える配信システムの機能および構成を示すブロック図である。It is a block diagram which shows the function and structure of a delivery system provided with the client apparatus which concerns on embodiment. 図1のDASHサーバに保持されるコンテンツの説明図である。It is explanatory drawing of the content hold | maintained at the DASH server of FIG. 図1のハンドオーバ情報保持部の一例を示すデータ構造図である。FIG. 2 is a data structure diagram illustrating an example of a handover information holding unit in FIG. 1. 図1のスループット保持部の一例を示すデータ構造図である。FIG. 2 is a data structure diagram illustrating an example of a throughput holding unit in FIG. 1. 図1の配信システムにおける一連の処理を示すタイムチャートである。It is a time chart which shows a series of processes in the delivery system of FIG. 図5の第3ビットレート決定処理の流れを示すフローチャートである。6 is a flowchart showing a flow of third bit rate determination processing in FIG. 5.

以下、各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、各図面において説明上重要ではない部材の一部は省略して表示する。   Hereinafter, the same or equivalent components, members, and processes shown in the drawings are denoted by the same reference numerals, and repeated description is appropriately omitted. In addition, in the drawings, some of the members that are not important for explanation are omitted.

図1は、実施の形態に係るクライアント装置106を備える配信システム100の機能および構成を示すブロック図である。ここに示す各ブロックは、ハードウエア的には、コンピュータのCPU(Central Processing Unit)をはじめとする素子や機械装置で実現でき、ソフトウエア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウエア、ソフトウエアの組合せによっていろいろなかたちで実現できることは、本明細書に触れた当業者には理解されるところである。   FIG. 1 is a block diagram illustrating functions and configurations of a distribution system 100 including a client device 106 according to the embodiment. Each block shown here can be realized by hardware such as a computer (CPU) (Central Processing Unit) and other elements and mechanical devices, and software can be realized by a computer program or the like. The functional block realized by those cooperation is drawn. Therefore, it is understood by those skilled in the art who have touched this specification that these functional blocks can be realized in various forms by a combination of hardware and software.

配信システム100は、DASHサーバ102と、インターネットなどのネットワーク104を介してDASHサーバ102と接続されたクライアント装置106と、を備える。DASHサーバ102は、映画やアニメーションや他の動画像などのコンテンツを保持し、クライアント装置106からの要求に応じてストリーミング形式で配信する。クライアント装置106は携帯電話やタブレット端末、スマートフォン、デスクトップPC(Personal Computer)、ノートPC等であってもよいが、本実施の形態ではクライアント装置106は基地局や無線アクセスポイントを介してネットワーク104に無線で接続される携帯端末であるとする。   The distribution system 100 includes a DASH server 102 and a client device 106 connected to the DASH server 102 via a network 104 such as the Internet. The DASH server 102 holds contents such as movies, animations, and other moving images, and distributes them in a streaming format in response to a request from the client device 106. The client device 106 may be a mobile phone, a tablet terminal, a smartphone, a desktop PC (Personal Computer), a notebook PC, or the like. In this embodiment, the client device 106 is connected to the network 104 via a base station or a wireless access point. It is assumed that the mobile terminal is connected wirelessly.

図2は、DASHサーバ102に保持されるコンテンツの説明図である。DASHサーバ102はひとつのコンテンツを複数のビットレート(符号化速度)で保持する。複数のビットレートは300kbps、1.2Mbps、5Mbpsを含むがこれらに限定されない。DASHサーバ102では、ひとつのコンテンツはN個(Nは2以上の自然数)のセグメントに分割される。各セグメントは所定の再生長またはデータ量に対応する。本実施の形態ではセグメントは3秒、5秒、10秒のいずれかの再生長に対応するものとする。ただしこれらに限定されない。各セグメントには複数のビットレートのそれぞれに対応するセグメントファイルが存在する。   FIG. 2 is an explanatory diagram of content held in the DASH server 102. The DASH server 102 holds one content at a plurality of bit rates (encoding speeds). The multiple bit rates include, but are not limited to, 300 kbps, 1.2 Mbps, and 5 Mbps. In the DASH server 102, one content is divided into N segments (N is a natural number of 2 or more). Each segment corresponds to a predetermined playback length or data amount. In the present embodiment, the segment corresponds to a playback length of 3 seconds, 5 seconds, or 10 seconds. However, it is not limited to these. Each segment has a segment file corresponding to each of a plurality of bit rates.

図2には、3秒の再生長でN個のセグメントに分割されたコンテンツが示される。すなわちこのコンテンツの総再生長は3・N秒となる。各セグメントについて、ビットレートが高いほどセグメントファイルのデータ量は多くなる。図2に示されるように、DASHサーバ102にはセグメントごとに異なるビットレートのデータが用意されており、セグメントごとに異なるビットレートを指定可能となっている。例えば、セグメント1については300kbpsのセグメントファイル202、セグメント2については1.2Mbpsのセグメントファイル204、セグメント3については5Mbpsのセグメントファイル206、がそれぞれ指定され、クライアント装置106に配信されてもよい。ビットレートの指定はクライアント装置106からのセグメントの要求に含まれる。   FIG. 2 shows content divided into N segments with a playback length of 3 seconds. That is, the total playback length of this content is 3 · N seconds. For each segment, the amount of data in the segment file increases as the bit rate increases. As shown in FIG. 2, the DASH server 102 is prepared with data having different bit rates for each segment, and can specify different bit rates for each segment. For example, a segment file 202 of 300 kbps for segment 1, a segment file 204 of 1.2 Mbps for segment 2, and a segment file 206 of 5 Mbps for segment 3 may be designated and distributed to the client device 106. The bit rate designation is included in the segment request from the client device 106.

図1に戻り、クライアント装置106はコンテンツをネットワーク104を介して取得する。クライアント装置106は受信したデータをバッファしつつ既にバッファされているデータを順次再生する。ここで、データの再生にデータの蓄積が追いつかず、データの「残量」すなわちクライアント装置106にダウンロードされバッファに格納されたデータであってまだ再生の用に供されていないデータの量が無くなってしまうことをバッファアンダーフローという。バッファアンダーフローが生じると再生が途切れ途切れになるなどユーザ体験が劣化しうる。   Returning to FIG. 1, the client apparatus 106 acquires content via the network 104. The client device 106 sequentially reproduces the already buffered data while buffering the received data. Here, the accumulation of data does not catch up with the reproduction of data, and there is no “remaining amount” of data, that is, the amount of data downloaded to the client device 106 and stored in the buffer but not yet provided for reproduction. This is called buffer underflow. When the buffer underflow occurs, the user experience may be deteriorated, such as playback being interrupted.

バッファアンダーフローを抑制または除去するために、クライアント装置106はコンテンツの受信速度すなわちスループットの指標(スループットそのものやスループットを示す他のパラメータ)を、セグメントを受信するたびに算出する。クライアント装置106は、算出された指標が基準を満たせば次に要求するセグメントについて指定するビットレートを変更する。本実施の形態では、クライアント装置106はこの基準を通信環境やバッファの状況、コンテンツの属性に応じて動的に更新する。これにより、固定的な基準を使用する場合と比較して、スループットの急な変動に起因するバッファアンダーフローが起こりにくい配信システムを実現できる。特に、セグメントの再生長と同程度の周期のスループットの変動に起因するバッファアンダーフローを抑制することができる。または、スループットの変動があまりない場合はより早い段階でより高品質なコンテンツの再生が可能となり、ユーザ体験が向上する。   In order to suppress or eliminate buffer underflow, the client device 106 calculates a content reception speed, that is, an index of throughput (throughput itself and other parameters indicating the throughput) each time a segment is received. If the calculated index satisfies the criterion, the client device 106 changes the bit rate specified for the next requested segment. In the present embodiment, the client device 106 dynamically updates this standard according to the communication environment, buffer status, and content attributes. Accordingly, it is possible to realize a distribution system in which buffer underflow caused by a sudden change in throughput is less likely to occur than when a fixed reference is used. In particular, it is possible to suppress a buffer underflow caused by a variation in throughput with a period similar to the segment reproduction length. Alternatively, when there is not much variation in throughput, it becomes possible to reproduce higher quality content at an earlier stage, and the user experience is improved.

クライアント装置106は、HTTPアクセスクライアント108と、メディアエンジン110と、制御エンジン112と、ディスプレイ114と、ハンドオーバ検知部116と、ユーザ操作受付部118と、ハンドオーバ情報保持部120と、MPD保持部122と、スループット保持部124と、を備える。   The client device 106 includes an HTTP access client 108, a media engine 110, a control engine 112, a display 114, a handover detection unit 116, a user operation reception unit 118, a handover information holding unit 120, and an MPD holding unit 122. A throughput holding unit 124.

HTTPアクセスクライアント108はHTTPアクセス用のクライアントであり、ネットワーク104とのインタフェースとして機能する。HTTPアクセスクライアント108はネットワーク104を介してクライアント装置106宛に送られてきたデータを受信して他の部材に提供すると共に、他の部材から送信対象のデータを取得してネットワーク104に送信する。   The HTTP access client 108 is a client for HTTP access, and functions as an interface with the network 104. The HTTP access client 108 receives data sent to the client device 106 via the network 104 and provides it to other members, acquires data to be transmitted from the other members, and transmits it to the network 104.

メディアエンジン110はクライアント装置106が受信したコンテンツを再生するための復号等の処理を行い、ディスプレイ114にコンテンツを表示させる。メディアエンジン110は受信したコンテンツのセグメントファイルを保持するためのバッファ136を含む。DASHサーバ102から送信されたセグメントファイルはネットワーク104を介してHTTPアクセスクライアント108で受信され、HTTPアクセスクライアント108からメディアエンジン110に送信され、メディアエンジン110においてバッファ136に格納される。また、メディアエンジン110は再生対象のセグメントファイルをバッファ136から読み出して処理し、ディスプレイ114に表示させる。   The media engine 110 performs processing such as decryption for reproducing the content received by the client device 106 and causes the display 114 to display the content. Media engine 110 includes a buffer 136 for holding segment files of received content. The segment file transmitted from the DASH server 102 is received by the HTTP access client 108 via the network 104, transmitted from the HTTP access client 108 to the media engine 110, and stored in the buffer 136 in the media engine 110. Further, the media engine 110 reads out the segment file to be reproduced from the buffer 136, processes it, and displays it on the display 114.

ハンドオーバ検知部116はクライアント装置106とネットワーク104との間の無線接続におけるハンドオーバを検知し、検知結果をハンドオーバ情報保持部120に登録する。ハンドオーバ検知部116は、周期的に、例えば所定の間隔ΔTごとに、API(Application Programing Interface)を呼び出して現在接続している基地局の基地局IDを取得する。ハンドオーバ検知部116は、取得された基地局IDと、該基地局IDを取得した時刻と、を対応付けてハンドオーバ情報保持部120に登録する。さらにハンドオーバ検知部116は、ハンドオーバ情報保持部120を参照し、今回登録した基地局IDとその直前の基地局IDとを比較し、それらが異なっていればハンドオーバが発生したと判定する。ハンドオーバが発生したと判定された場合、ハンドオーバ検知部116はハンドオーバが有った旨をハンドオーバ情報保持部120に登録する。   The handover detection unit 116 detects a handover in the wireless connection between the client device 106 and the network 104 and registers the detection result in the handover information holding unit 120. The handover detection unit 116 periodically calls an API (Application Programming Interface), for example, at predetermined intervals ΔT, and acquires the base station ID of the currently connected base station. The handover detection unit 116 registers the acquired base station ID and the time when the base station ID is acquired in the handover information holding unit 120 in association with each other. Further, the handover detection unit 116 refers to the handover information holding unit 120, compares the base station ID registered this time with the base station ID immediately before it, and determines that a handover has occurred if they are different. When it is determined that a handover has occurred, the handover detection unit 116 registers in the handover information holding unit 120 that a handover has occurred.

ハンドオーバの検知間隔ΔTとセグメントの再生長とは対応してもしなくてもよい。また、ハンドオーバ検知部116は、間隔ΔTを使用する代わりに、セグメントが受信されるごとにハンドオーバを検知してもよい。   The handover detection interval ΔT may or may not correspond to the segment playback length. Further, the handover detection unit 116 may detect a handover every time a segment is received instead of using the interval Δ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」を登録する。   FIG. 3 is a data structure diagram illustrating an example of the handover information holding unit 120. The handover information holding unit 120 holds the time when the base station ID is acquired, the base station ID, and information indicating the presence / absence of handover in association with each other. For the entry at time “13:02:26”, the base station ID is “xxx” and the base station ID immediately before (time “13:02:25”) is also “xxx”. It is determined that no handover has occurred, and “N” is registered in the presence / absence of handover of the entry. For the entry at time “13:02:27”, the base station ID is “yyy”, and the base station ID immediately before (time “13:02:26”) is “xxx”, which is different. The unit 116 determines that a handover has occurred, and registers “Y” in the presence / absence of handover of the entry.

図1に戻り、ユーザ操作受付部118は不図示のタッチパネル等の入力装置と接続され、ユーザから再生対象のコンテンツの指定を受け付ける。ユーザ操作受付部118は、コンテンツの再生に関するユーザ操作、例えばコンテンツの再生開始や再生停止の指示、を受け付ける。   Returning to FIG. 1, the user operation accepting unit 118 is connected to an input device such as a touch panel (not shown), and accepts designation of content to be reproduced from the user. The user operation accepting unit 118 accepts a user operation related to content reproduction, for example, an instruction to start or stop content reproduction.

制御エンジン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)に準拠してもよい。   The control engine 112 controls reception of content from the DASH server 102. The control engine 112 requests an MPD (Media Presentation Description) file, which is a metafile of the content to be played, from the DASH server 102, obtains it from the DASH server 102, and registers it in the MPD holding unit 122. The MPD file includes information about content, for example, information about the playback length of a segment, a bit rate that can be specified for each segment, information about DRM (Digital Rights Management), and information about an encoding method. The MPD file may conform to, for example, MPEG-DASH (ISO / IEC 2309-1).

制御エンジン112は、MPD保持部122に保持されるMPDファイルを解析し、解析結果に基づいて次に要求するセグメントについて指定するビットレートを決定する。クライアント装置106におけるスループットの指標から次に要求するセグメントのビットレートを決定するための基準を決定基準と称す。制御エンジン112は、セグメントが受信されるごとに決定基準を更新する。制御エンジン112は、セグメント要求部126と、指標算出部128と、変動係数算出部130と、しきい値更新部132と、ビットレート決定部134と、を含む。   The control engine 112 analyzes the MPD file held in the MPD holding unit 122 and determines a bit rate to be designated for the next requested segment based on the analysis result. A criterion for determining the bit rate of the next requested segment from the throughput index in the client device 106 is referred to as a determination criterion. The control engine 112 updates the decision criteria each time a segment is received. The control engine 112 includes a segment request unit 126, an index calculation unit 128, a variation coefficient calculation unit 130, a threshold update unit 132, and a bit rate determination unit 134.

セグメント要求部126は、ビットレート決定部134によって決定されたビットレートを指定して次のセグメントを、ネットワーク104を介してDASHサーバ102に要求する。セグメント要求部126は、要求する次のセグメントのIDと該セグメントについて指定するビットレートとを含むセグメント要求信号を生成し、HTTPアクセスクライアント108およびネットワーク104を介してDASHサーバ102に送信する。DASHサーバ102は、受信したセグメント要求信号で指定されるビットレートのセグメントファイルをクライアント装置106に送信する。バッファ136はDASHサーバ102から送信されたセグメントファイルを保持する。   The segment request unit 126 specifies the bit rate determined by the bit rate determination unit 134 and requests the DASH server 102 via the network 104 for the next segment. The segment request unit 126 generates a segment request signal including the ID of the next segment to be requested and the bit rate specified for the segment, and transmits the segment request signal to the DASH server 102 via the HTTP access client 108 and the network 104. The DASH server 102 transmits a segment file having a bit rate specified by the received segment request signal to the client device 106. The buffer 136 holds the segment file transmitted from the DASH server 102.

指標算出部128は現在のスループットを定量化した指標を算出する。このスループットの指標はスループットの大きさを数値で表したものであれば何でもよく、例えばスループットそのものやスループットに関連する値であってもよい。本実施の形態では、指標算出部128は、直前に取得されたセグメントの受信に要した時間である受信時間と当該セグメントの再生長との比をスループットの指標として算出する。セグメントの再生長はセグメントファイルのデータ量を反映するので、この指標はスループットの大きさを示す良い指標である。より具体的には、指標算出部128は、セグメントファイルが受信されるごとに、そのセグメントファイルの受信時間と再生長とから指標を算出する。セグメントの数をN個(Nは2以上の自然数)とし、m番目(mはNより小さい自然数)のセグメントが受信された後に(m+1)番目のセグメントを要求するとき、指標算出部128は、m番目のセグメントについての指標μ
μ=(m番目のセグメントの再生長)/(m番目のセグメントの受信時間) …(式1)
にしたがい算出する。
The index calculation unit 128 calculates an index that quantifies the current throughput. The throughput index may be anything as long as the magnitude of the throughput is expressed by a numerical value, and may be, for example, the throughput itself or a value related to the throughput. In the present embodiment, the index calculation unit 128 calculates, as a throughput index, the ratio between the reception time that is the time required to receive the segment acquired immediately before and the playback length of the segment. Since the segment playback length reflects the data amount of the segment file, this index is a good index indicating the size of the throughput. More specifically, each time a segment file is received, the index calculation unit 128 calculates an index from the reception time and playback length of the segment file. When the number of segments is N (N is a natural number greater than or equal to 2) and the (m + 1) -th segment is requested after the m-th segment (m is a natural number smaller than N) is received, the index calculation unit 128 an indication mu m for the m-th segment mu m = (playback length of the m-th segment) / (reception time of the m-th segment) ... (equation 1)
Calculate according to

ビットレート決定部134は、しきい値更新部132によって更新される決定基準にしたがい、次に要求するセグメントについて指定するビットレートを決定する。ビットレート決定部134は、指標算出部128によって算出された指標μとしきい値更新部132によって更新されるしきい値との大小関係に基づいてビットレートを決定する。 The bit rate determination unit 134 determines the bit rate to be designated for the next requested segment in accordance with the determination criteria updated by the threshold update unit 132. Bitrate setter 134 determines a bitrate on the basis of the magnitude relation between the threshold is updated by the index mu m and the threshold value updating section 132 calculated by the index calculation unit 128.

具体的には、ビットレート決定部134は、レートアップ基準が満たされる場合、すなわち
μ>μum+1
の場合、(m+1)番目のセグメントについて要求するビットレートをm番目のセグメントのビットレートよりも高くなるよう決定する。μum+1は(m+1)番目のセグメントに対するレートアップしきい値であり、しきい値更新部132により算出される。ビットレート決定部134は、レートダウン基準が満たされる場合、すなわち
μ<μdm+1
の場合、(m+1)番目のセグメントについて要求するビットレートをm番目のセグメントのビットレートよりも低くなるよう決定する。μdm+1は(m+1)番目のセグメントに対するレートダウンしきい値であり、しきい値更新部132により算出される。
Specifically, the bit rate determination unit 134 determines that the rate increase criterion is satisfied, that is, μ m > μu m + 1.
In this case, the bit rate required for the (m + 1) th segment is determined to be higher than the bit rate of the mth segment. μu m + 1 is a rate-up threshold for the (m + 1) -th segment, and is calculated by the threshold update unit 132. The bit rate determination unit 134 determines that the rate down criterion is satisfied, that is, μ m <μd m + 1.
In this case, the bit rate required for the (m + 1) th segment is determined to be lower than the bit rate of the mth segment. μd m + 1 is a rate down threshold for the (m + 1) th segment, and is calculated by the threshold update unit 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程度。
The initial values (μu 2 , μd 2 ) of μu m + 1 and μd m + 1 are determined as follows.
μu 2 : Maximum value of the ratio between adjacent rates (BR 2 / BR 1, BR 3 / BR 2,...) when the bit rates available for content described in the MPD file are BR 1, BR 2, BR 3,. In an example where the available bit rates are 300 kbps, 1.2 Mbps, and 5 Mbps, 1.2 / 0.3 = 4 and 5 / 1.2 = 4.2, so μu 2 is 4.2.
μd 2 : a preset constant, for example, about 0.8.

しきい値更新部132は、セグメントファイルが受信されるごとに、決定基準をクライアント装置106の状況およびコンテンツの属性のうちの少なくともひとつに基づいて更新する。しきい値更新部132は、(1)スループットの変動が大きいほど、または(2)ハンドオーバの頻度が高いほど、ビットレートが上がりにくくなるよう決定基準を更新する。   Each time the segment file is received, the threshold update unit 132 updates the determination criterion based on at least one of the status of the client device 106 and the content attribute. The threshold update unit 132 updates the determination criterion so that the bit rate is less likely to increase as (1) the variation in throughput is larger or (2) the frequency of handover is higher.

より具体的には、しきい値更新部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とに基づいてセグメントごとに更新される変動係数である。
More specifically, the threshold update unit 132 updates the rate up threshold and the rate down threshold in the bit rate determination unit 134 as follows. The threshold update unit 132 sets the rate-up threshold μu m + 1 and the rate-down threshold μd m + 1 for the (m + 1) -th segment for m greater than 1 as μu m + 1 = (1−α) · μu m + α · μu. 2 · k (Formula 2)
μd m + 1 = (1−β) · μd m + β · μd 2 · k (Formula 3)
Calculate according to μu m and μd m are a rate-up threshold value and a rate-down threshold value for the m-th segment, respectively. α and β are weighting coefficients, and in particular, learning rates indicating the reflection ratios of the latest values. k is a coefficient of variation that is updated for each segment based on an index σ th that represents the degree of variation in throughput and an index σ ho that represents the degree of handover frequency.

変動係数算出部130は、セグメントファイルが受信されるごとに、変動係数kを算出し、しきい値更新部132に供給する。変動係数kは指標σthおよび指標σhoの2変数に関して単調増加となる2次元関数
k=f(σth、σho) (0.5≦k≦2)
である。変動係数算出部130は以下のように指標σthおよび指標σhoを算出し、それらを上記の式に代入することでkを算出する。kの値域はしきい値が発散しないために例として設定したものである。
The variation coefficient calculation unit 130 calculates the variation coefficient k each time a segment file is received and supplies the variation coefficient k to the threshold value update unit 132. The coefficient of variation k is a two-dimensional function k = f (σ th , σ ho ) (0.5 ≦ k ≦ 2) that monotonically increases with respect to two variables of the index σ th and the index σ ho.
It is. The variation coefficient calculation unit 130 calculates the index σ th and the index σ ho as follows, and calculates k by substituting them into the above formula. The value range of k is set as an example because the threshold value does not diverge.

変動係数算出部130は、直前に受信されたセグメントファイルのサイズと、セグメントを要求してからそのセグメントファイル全てを受信し終わるのに要した時間と、からスループットを算出する。変動係数算出部130は、算出されたスループットと、該スループットを算出した時刻と、を対応付けてスループット保持部124に登録する。   The coefficient of variation calculation unit 130 calculates the throughput from the size of the segment file received immediately before and the time required to finish receiving all the segment files after requesting the segment. The variation coefficient calculation unit 130 registers the calculated throughput and the time when the throughput is calculated in the throughput holding unit 124 in association with each other.

図4は、スループット保持部124の一例を示すデータ構造図である。スループット保持部124は、スループットが算出された時刻と、算出されたスループットの値と、を対応付けて保持する。   FIG. 4 is a data structure diagram illustrating an example of the throughput holding unit 124. The throughput holding unit 124 holds the time when the throughput is calculated and the calculated throughput value in association with each other.

図1に戻り、変動係数算出部130は、直前に受信されたセグメントファイルについて算出されたスループットを含む一定時間T内でのスループットの変動の程度を表す指標σthを以下のように算出する。一定時間T内に観測されたn個(nは2より大きくNより小さい自然数)のスループットをTh、Th、…、Th、平均をThとすると、σthはn個のスループットの標準偏差

Figure 2017157958
として算出される。変動係数算出部130は、各セグメントの受信を完了した時点で指標σthを算出する。 Returning to FIG. 1, the variation coefficient calculation unit 130 calculates an index σ th representing the degree of variation in throughput within a certain time T including the throughput calculated for the segment file received immediately before. When n (n is a natural number greater than 2 and less than N) throughput observed within a certain time T is Th 1 , Th 2 ,..., Th n and the average is Th, σ th is a standard of n throughputs. deviation
Figure 2017157958
Is calculated as The variation coefficient calculation unit 130 calculates the index σ th when reception of each segment is completed.

変動係数算出部130は、一定時間T内でのハンドオーバの発生頻度の程度を表す指標σhoを、一定時間T内でのハンドオーバ発生の累積回数として算出する。変動係数算出部130は、ハンドオーバ情報保持部120を参照し、現在時刻からTだけ前の時刻から現在時刻までの間に何回ハンドオーバが発生したかを算出する。変動係数算出部130は算出された値(回数)を指標σhoとする。 The variation coefficient calculation unit 130 calculates an index σ ho indicating the degree of occurrence of handover within a certain time T as the cumulative number of occurrences of handover within the certain time T. The coefficient of variation calculation unit 130 refers to the handover information holding unit 120 and calculates how many times a handover has occurred from a time T before the current time to the current time. The variation coefficient calculation unit 130 sets the calculated value (number of times) as an index σ ho .

以上の構成による配信システム100の動作を説明する。
図5は、配信システム100における一連の処理を示すタイムチャートである。クライアント装置106は、再生対象のコンテンツのMPDファイルをDASHサーバ102に要求する(S502)。DASHサーバ102は、予め生成したMPDファイルをクライアント装置106に送信する(S504)。クライアント装置106は取得されたMPDファイルの内容に基づいて第1ビットレート決定処理を行う(S506)。第1ビットレート決定処理はコンテンツの最初のセグメントを要求する際にその最初のセグメントについて指定するビットレートを決定するための処理である。本実施の形態では、最初のセグメントについて指定するビットレートの決定基準は予め定められている(例えば、利用可能なビットレートのうち最も低いレート)ので、クライアント装置106はその決定基準にしたがって最初のセグメントについて指定するビットレートを決定する。第1ビットレート決定処理における決定基準はスループットの指標にも、スループットの変動の程度にも依存しない。
The operation of the distribution system 100 configured as above will be described.
FIG. 5 is a time chart showing a series of processes in the distribution system 100. The client device 106 requests the DASH server 102 for the MPD file of the content to be played back (S502). The DASH server 102 transmits the MPD file generated in advance to the client device 106 (S504). The client device 106 performs a first bit rate determination process based on the content of the acquired MPD file (S506). The first bit rate determination process is a process for determining a bit rate to be designated for the first segment when requesting the first segment of the content. In the present embodiment, since the determination criterion of the bit rate designated for the first segment is predetermined (for example, the lowest rate among the available bit rates), the client device 106 uses the determination criterion according to the determination criterion. Determine the bitrate you want to specify for the segment. The determination criterion in the first bit rate determination process does not depend on the throughput index or the degree of variation of the throughput.

クライアント装置106は、ステップS506で決定されたビットレートを指定して最初のセグメント(セグメント1)をDASHサーバ102に要求する(S508)。DASHサーバ102は、ステップS508の要求に応答して、指定されたビットレートに対応するセグメント1のセグメントファイルをクライアント装置106に送信する(S510)。   The client device 106 requests the first segment (segment 1) from the DASH server 102 by designating the bit rate determined in step S506 (S508). In response to the request in step S508, the DASH server 102 transmits the segment 1 segment file corresponding to the designated bit rate to the client device 106 (S510).

クライアント装置106は、セグメント1についてのスループットの指標μに基づいて第2ビットレート決定処理を行う(S512)。第2ビットレート決定処理は、コンテンツの2番目のセグメントを要求する際に、最初のセグメントの指標μに基づいて2番目のセグメントについて指定するビットレートを決定するための処理である。クライアント装置106は、受信されたセグメント1のセグメントファイルのサイズと、セグメント1を要求してからそのセグメントファイル全てを受信し終わるのに要した時間と、からセグメント1のスループットを算出し、スループット保持部124に登録する。また、クライアント装置106は指標μを上記の式1にしたがい算出し、レートアップ基準が満たされるか、すなわちμ>μuが満たされるかを判定し、レートダウン基準が満たされるか、すなわちμ<μdが満たされるかを判定する。クライアント装置106は、レートアップ基準が満たされている場合、最初のセグメントについて指定したビットレートよりも高いビットレートを2番目のセグメントについて指定するビットレートとして決定する。クライアント装置106は、レートダウン基準が満たされている場合、最初のセグメントについて指定したビットレートよりも低いビットレートを2番目のセグメントについて指定するビットレートとして決定する。第2ビットレート決定処理における決定基準はスループットの指標に依存するが、スループットの変動の程度には依存しない。 The client device 106, the second bit rate determining process performed based on the index mu 1 throughput for segment 1 (S512). The second bit rate determination process is a process for determining a bit rate to be specified for the second segment based on the index μ 1 of the first segment when requesting the second segment of the content. The client device 106 calculates the throughput of the segment 1 from the size of the segment file received for the segment 1 and the time required to finish receiving all the segment files after requesting the segment 1, and holds the throughput. Registered in the unit 124. Further, the client device 106 calculates the index μ 1 according to the above equation 1, determines whether the rate up criterion is satisfied, that is, whether μ 1 > μu 2 is satisfied, and whether the rate down criterion is satisfied, that is, It is determined whether μ 1 <μd 2 is satisfied. If the rate increase criterion is satisfied, the client device 106 determines a bit rate higher than the bit rate specified for the first segment as the bit rate specified for the second segment. If the rate down criterion is satisfied, the client device 106 determines a bit rate that is lower than the bit rate specified for the first segment as the bit rate specified for the second segment. The determination criterion in the second bit rate determination process depends on the throughput index, but does not depend on the degree of variation in throughput.

クライアント装置106は、ステップS512で決定されたビットレートを指定して2番目のセグメント(セグメント2)をDASHサーバ102に要求する(S514)。DASHサーバ102は、ステップS514の要求に応答して、指定されたビットレートに対応するセグメント2のセグメントファイルをクライアント装置106に送信する(S516)。   The client device 106 requests the second segment (segment 2) from the DASH server 102 by designating the bit rate determined in step S512 (S514). In response to the request in step S514, the DASH server 102 transmits the segment 2 segment file corresponding to the designated bit rate to the client device 106 (S516).

クライアント装置106は、セグメント2についてのスループットの指標μとスループットの変動の程度を表す指標σthとハンドオーバの頻度の程度を表す指標σhoとに基づいて第3ビットレート決定処理を行う(S518)。第3ビットレート決定処理は、コンテンツの3番目以降のセグメントを要求する際に、直前のセグメント(m番目のセグメント、m≧2)の指標μに基づいて(m+1)番目のセグメントについて指定するビットレートを決定するための処理である。 The client device 106, the third bit rate determining process performed on the basis of the index sigma ho representing the degree of index mu 2 and indicators sigma th handover representing the degree of variation in the throughput frequency of the throughput for segment 2 (S518 ). The third bit rate determination process, when requesting third and subsequent segments of the content, specifies previous segment (m-th segment, m ≧ 2) based on indices mu m for the (m + 1) th segment This is a process for determining the bit rate.

図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ビットレート決定処理における決定基準はスループットの指標とスループットの変動の程度とに依存する。 FIG. 6 is a flowchart showing the flow of the third bit rate determination process. The client device 106 calculates the throughput of the segment m from the size of the segment file of the received segment m and the time required to finish receiving all the segment files after requesting the segment m, and holds the throughput. Registered in the unit 124. Further, client device 106 calculates an index mu m throughput according to Equation 1 above (S602). The client apparatus 106 calculates an index σ th of fluctuation in throughput (S604). The client device 106 calculates an index σ ho of the handover frequency (S606). The client device 106 calculates the coefficient of variation k from the index σ th calculated in step S604 and the index σ ho calculated in step S606, and the rate-up threshold value μu m + 1 according to the above formulas 2 and 3, The rate down threshold value μd m + 1 is updated (S608). The client device 106, or the updated rate up criteria are met, i.e. to determine μ m> μu m + 1 is satisfied, whether the updated rate down criteria are met, namely μ m <μd m + 1 is satisfied Is determined (S610). When the rate increase criterion is satisfied, the client device 106 determines a bit rate higher than the bit rate specified for the mth segment as the bit rate specified for the (m + 1) th segment (S612). When the rate down criterion is satisfied, the client device 106 determines a bit rate lower than the bit rate specified for the mth segment as the bit rate specified for the (m + 1) th segment (S612). The decision criterion in the third bit rate decision process depends on the throughput index and the degree of fluctuation of the throughput.

図5に戻り、クライアント装置106は、ステップS518で決定されたビットレートを指定して3番目のセグメント(セグメント3)をDASHサーバ102に要求する(S520)。DASHサーバ102は、ステップS520の要求に応答して、指定されたビットレートに対応するセグメント3のセグメントファイルをクライアント装置106に送信する(S522)。その後、クライアント装置106は次に要求する4番目のセグメントについて第3ビットレート決定処理を行う(S524)。以降、セグメントの配信と第3ビットレート決定処理とがセグメント全てが配信されるまで繰り返される。   Returning to FIG. 5, the client device 106 requests the third segment (segment 3) from the DASH server 102 by designating the bit rate determined in step S518 (S520). In response to the request in step S520, the DASH server 102 transmits the segment 3 segment file corresponding to the designated bit rate to the client device 106 (S522). Thereafter, the client device 106 performs a third bit rate determination process for the fourth segment requested next (S524). Thereafter, the segment distribution and the third bit rate determination process are repeated until all the segments are distributed.

上述の実施の形態において、保持部の例は、ハードディスクや半導体メモリである。また、本明細書の記載に基づき、各部を、図示しないCPUや、インストールされたアプリケーションプログラムのモジュールや、システムプログラムのモジュールや、ハードディスクから読み出したデータの内容を一時的に記憶する半導体メモリなどにより実現できることは本明細書に触れた当業者には理解される。   In the embodiment described above, examples of the holding unit are a hard disk and a semiconductor memory. Further, based on the description of the present specification, each unit is configured by a CPU (not shown), a module of an installed application program, a module of a system program, a semiconductor memory that temporarily stores the content of data read from the hard disk, or the like. It will be appreciated by those skilled in the art who have touched this specification that this can be achieved.

本実施の形態に係るクライアント装置106によると、スループットが変動しやすい状況においてはビットレートが上がりにくくなるようにしきい値が更新されるので、予期せぬバッファアンダーフローの発生を抑制または除去できる。また、逆に、スループットが変動しづらい状況においてはビットレートが上がりやすくなるようにしきい値が更新されるので、高画質のコンテンツを迅速にユーザに提供することができ、ユーザが体感する品質を高めることができる。   According to the client device 106 according to the present embodiment, in a situation where the throughput is likely to fluctuate, the threshold value is updated so that the bit rate is unlikely to increase, so that occurrence of unexpected buffer underflow can be suppressed or eliminated. Conversely, the threshold is updated so that the bit rate is likely to increase in situations where the throughput is not likely to fluctuate, so that high-quality content can be quickly provided to the user, and the quality experienced by the user can be improved. Can be increased.

以上、実施の形態に係るクライアント装置106の構成と動作について説明した。この実施の形態は例示であり、各構成要素や各処理の組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解される。   The configuration and operation of the client device 106 according to the embodiment has been described above. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to each component and combination of processes, and such modifications are within the scope of the present invention.

実施の形態では、クライアント側でビットレートを決定する場合について説明したが、これに限られず、サーバ側がクライアントからスループットの報告を受けてビットレートを決定するような構成に本実施の形態の技術的思想を適用してもよい。   In the embodiment, the case where the bit rate is determined on the client side has been described. However, the present invention is not limited to this, and the server side receives the report of the throughput from the client and determines the bit rate. Thoughts may be applied.

実施の形態では、指標算出部128は、直前に取得されたセグメントの受信に要した時間である受信時間と当該セグメントの再生長との比をスループットの指標として算出する場合について説明したが、これに限られない。例えば、指標算出部は2つ前のセグメントおよび直前のセグメントの2つのセグメントの受信時間の合計とそれらの再生長の合計との比を指標として算出してもよい。このように、過去に取得されたセグメントについて算出された指標が使用されてもよい。   In the embodiment, the case has been described in which the index calculation unit 128 calculates the ratio between the reception time, which is the time required to receive the segment acquired immediately before, and the playback length of the segment as a throughput index. Not limited to. For example, the index calculation unit may calculate, as an index, the ratio between the sum of the reception times of the two previous segments and the immediately preceding segment and the total of their playback lengths. In this way, an index calculated for a segment acquired in the past may be used.

実施の形態では、しきい値更新部132は、(1)スループットの変動が大きいほど、または(2)ハンドオーバの頻度が高いほど、ビットレートが上がりにくくなるよう決定基準を更新する場合について説明したが、これに限られない。例えば、しきい値更新部は、(3)バッファ136の残量が少ないほど、または(4)次以降に要求するセグメントのデータ量が多いほど、ビットレートが上がりにくくなるよう決定基準を更新してもよい。次以降に要求するセグメントのデータ量は、例えばセグメントの再生長や将来に配信されるセグメントのサイズ情報によって表される。   In the embodiment, the case has been described in which the threshold update unit 132 updates the determination criterion so that the bit rate is less likely to increase as (1) the variation in throughput increases or (2) the frequency of handover increases. However, it is not limited to this. For example, the threshold update unit updates the determination criterion so that the bit rate is less likely to increase as (3) the remaining amount of the buffer 136 is smaller, or (4) the larger the amount of segment data requested after the next. May be. The data amount of the segment requested after the next is represented by, for example, the playback length of the segment or the size information of the segment distributed in the future.

例えば、セグメントの再生長が長いほど急激なスループットの変動に弱いので、変動係数k’をセグメントの再生長lに関して単調増加となる関数
k’=g(l)
としてもよい。
For example, the longer the playback length of a segment, the weaker it is to sudden fluctuations in throughput.
It is good.

あるいはまた、しきい値更新部は、ユーザ操作受付部118によって受け付けられたユーザ操作の統計情報に基づいて決定基準を更新してもよい。統計情報は、例えば一定期間内の再生停止回数や一定期間内の再生停止時間である。あるいはまた、しきい値更新部132は、コンテンツの符号化情報(例えば、CBR、VBR、ABR)やDRM情報に基づいて決定基準を更新してもよい。ユーザ操作の統計情報について、ユーザ操作によっても、どれくらいのビットレートを要求すればよいかは変わりうる。例えば、シークを大量に行うユーザであれば、毎回の再生までの初期遅延が長くなるので、ビットレートを低くするほうが都合が良い。ユーザ操作の統計情報に基づいて決定基準を更新する場合はこのような状況にも対応可能となる。   Alternatively, the threshold update unit may update the determination criterion based on the user operation statistical information received by the user operation reception unit 118. The statistical information is, for example, the number of reproduction stops within a certain period and the reproduction stop time within a certain period. Alternatively, the threshold update unit 132 may update the determination criterion based on encoded content information (for example, CBR, VBR, ABR) and DRM information. Regarding the statistical information of the user operation, the bit rate to be requested may vary depending on the user operation. For example, if the user performs a large amount of seek, the initial delay until each reproduction becomes longer, so it is more convenient to lower the bit rate. Such a situation can be dealt with when the decision criterion is updated based on the statistical information of the user operation.

あるいはまた、バッファアンダーフローによっても再生停止が発生するので、しきい値更新部はそのような発生停止回数が多いほどまたはその期間が長いほど、ビットレートが上がりにくくなるよう決定基準を更新してもよい。   Alternatively, since playback stoppage occurs due to buffer underflow, the threshold update unit updates the determination criteria so that the bit rate is less likely to increase as the number of such stoppages increases or the period increases. Also good.

実施の形態では、スループットの変動の程度を表す指標σthとしてスループットの標準偏差を採用する場合について説明したが、これに限られず、スループットの変動の程度を表す指標であれば任意のものでよい。例えば、指標μの標準偏差が採用されてもよいし、過去のセグメントの受信時間の標準偏差が採用されてもよい。 In the embodiment, the case where the standard deviation of the throughput is adopted as the index σ th representing the degree of fluctuation of the throughput has been described, but the present invention is not limited to this, and any index may be used as long as it represents the degree of fluctuation of the throughput. . For example, the standard deviation of the index mu m may be employed, it may be the standard deviation of the reception time of the past segment is employed.

実施の形態では、しきい値更新部132はセグメントファイルを受信するごとに、次のセグメントの要求の際に使用されるしきい値を更新する場合について説明したが、これに限られない。例えば、ハンドオーバに着目すると、一般的な再生長よりも細かい時間粒度で変動しうる。したがって、しきい値更新部は、再生長よりも細かい時間粒度でしきい値を更新してもよい。例えば、しきい値更新部は、セグメントファイルの受信中に複数回しきい値の更新を行ってもよい。あるいはまた、しきい値更新部は、再生長が5秒のセグメントに対して1秒間隔や2秒間隔でしきい値の更新を行ってもよい。あるいはまた、しきい値更新部132は、ハンドオーバの検知が行われるごとにしきい値の更新を行ってもよい。   In the embodiment, the case where the threshold update unit 132 updates the threshold used when requesting the next segment every time a segment file is received has been described. However, the present invention is not limited to this. For example, when focusing on handover, it may fluctuate with a finer granularity than the general playback length. Therefore, the threshold update unit may update the threshold with a time granularity finer than the reproduction length. For example, the threshold update unit may update the threshold multiple times during reception of the segment file. Alternatively, the threshold update unit may update the threshold at intervals of 1 second or 2 seconds for a segment having a playback length of 5 seconds. Alternatively, the threshold update unit 132 may update the threshold every time a handover is detected.

100 配信システム、 102 DASHサーバ、 104 ネットワーク、 106 クライアント装置。   100 distribution system, 102 DASH server, 104 network, 106 client device.

Claims (13)

複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得するクライアント装置であって、
前記クライアント装置におけるスループットの指標から要求するセグメントのビットレートを決定するための基準を、前記クライアント装置の状況およびコンテンツの属性のうちの少なくともひとつに基づいて更新する更新部と、
前記更新部によって更新された基準にしたがいビットレートを決定する決定部と、を備えることを特徴とするクライアント装置。
A client device that has a plurality of bit rates and requests a content divided into a plurality of segments by specifying a bit rate for each segment, and obtains the content via a network.
An update unit that updates a criterion for determining a bit rate of a requested segment from an index of throughput in the client device based on at least one of the status of the client device and an attribute of content;
And a determining unit that determines a bit rate according to the reference updated by the updating unit.
前記更新部は、スループットの変動が大きいほどビットレートが上がりにくくなるよう基準を更新することを特徴とする請求項1に記載のクライアント装置。   The client device according to claim 1, wherein the updating unit updates the reference so that the bit rate is less likely to increase as the variation in throughput increases. 前記更新部は、ハンドオーバの頻度が高いほどビットレートが上がりにくくなるよう基準を更新することを特徴とする請求項1または2に記載のクライアント装置。   The client device according to claim 1, wherein the updating unit updates the reference so that the bit rate is less likely to increase as the frequency of handovers increases. 前記更新部は、セグメントが取得されるごとに基準を更新することを特徴とする請求項1から3のいずれか1項に記載のクライアント装置。   The client device according to claim 1, wherein the updating unit updates the reference every time a segment is acquired. 前記決定部によって決定されたビットレートを指定して次のセグメントをネットワークを介して要求する要求部をさらに備えることを特徴とする請求項1から4のいずれか1項に記載のクライアント装置。   5. The client device according to claim 1, further comprising a requesting unit that requests the next segment via the network by designating the bit rate determined by the determining unit. 取得されたセグメントファイルを保持するバッファをさらに備え、
前記更新部は、前記バッファの残量が少ないほどビットレートが上がりにくくなるよう基準を更新することを特徴とする請求項1から5のいずれか1項に記載のクライアント装置。
A buffer for holding the obtained segment file;
The client device according to claim 1, wherein the updating unit updates the reference so that the bit rate is less likely to increase as the remaining amount of the buffer is smaller.
取得されたセグメントファイルを保持するバッファをさらに備え、
前記更新部は、前記バッファの残量に起因する再生停止の回数または期間に基づいて基準を更新することを特徴とする請求項1から6のいずれか1項に記載のクライアント装置。
A buffer for holding the obtained segment file;
The client device according to claim 1, wherein the updating unit updates the reference based on the number or period of reproduction stop caused by the remaining amount of the buffer.
取得されたコンテンツの再生に関するユーザ操作を受け付ける受付部をさらに備え、
前記更新部は、前記受付部によって受け付けられたユーザ操作の統計情報に基づいて基準を更新することを特徴とする請求項1から7のいずれか1項に記載のクライアント装置。
A reception unit that receives a user operation related to reproduction of the acquired content;
The client device according to claim 1, wherein the update unit updates a reference based on statistical information of a user operation received by the reception unit.
前記更新部は、要求するセグメントのデータ量が多いほどビットレートが上がりにくくなるよう基準を更新することを特徴とする請求項1から8のいずれか1項に記載のクライアント装置。   The client device according to claim 1, wherein the updating unit updates the reference so that the bit rate is less likely to increase as the requested data amount of the segment increases. 過去に取得されたセグメントの受信に要した時間と当該セグメントの再生長またはデータ量との比をスループットの指標として算出する算出部をさらに備え、
前記決定部は、前記算出部によって算出された指標としきい値との大小関係に基づいてビットレートを決定し、
前記更新部は、前記決定部におけるしきい値を更新することを特徴とする請求項1から9のいずれか1項に記載のクライアント装置。
A calculation unit that calculates a ratio of a time required for receiving a segment acquired in the past and a reproduction length or a data amount of the segment as a throughput index;
The determination unit determines a bit rate based on a magnitude relationship between the index calculated by the calculation unit and a threshold value,
The client device according to claim 1, wherein the update unit updates a threshold value in the determination unit.
セグメントの数を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番目のセグメントのビットレートよりも低くなるよう決定することを特徴とする請求項1から10のいずれか1項に記載のクライアント装置。
When the number of segments is N (N is a natural number greater than or equal to 3) and the (m + 1) th segment is requested after the mth segment (m is a natural number greater than 1 and less than N) is received,
The calculation unit (playback length of the m-th segment) Indicators mu m to mu m = / (time required for reception of m-th segment)
Calculate according to
The update unit sets the first threshold value μu m + 1 and the second threshold value μd m + 1 to μu m + 1 = (1−α) · μu m + α · μu 2 · k.
μd m + 1 = (1−β) · μd m + β · μd 2 · k
Where α and β are weighting factors, and k is a value that is updated for each segment based on at least one of the client device status and content attributes,
The determination unit
μ m > μu m + 1
, The requested bit rate for the (m + 1) th segment is determined to be higher than the bit rate of the mth segment,
μ m <μd m + 1
11. The client device according to claim 1, wherein the bit rate requested for the (m + 1) -th segment is determined to be lower than the bit rate of the m-th segment.
複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得する方法であって、
受信装置におけるスループットの指標から要求されるセグメントのビットレートを決定するための基準を、前記受信装置の状況およびコンテンツの属性のうちの少なくともひとつに基づいて更新することと、
前記更新された基準にしたがいビットレートを決定することと、を含むことを特徴とする方法。
A method having a plurality of bit rates for content divided into a plurality of segments, specifying a bit rate for each segment, making a request, and acquiring the content via a network,
Updating a criterion for determining a required bit rate of a segment from an index of throughput in the receiving device based on at least one of the status of the receiving device and an attribute of the content;
Determining a bit rate according to the updated criteria.
複数のビットレートを有し、複数のセグメントに分割されるコンテンツに対し、セグメントごとにビットレートを指定して要求し、ネットワークを介して取得する機能と、
受信装置におけるスループットの指標から要求されるセグメントのビットレートを決定するための基準を、前記受信装置の状況およびコンテンツの属性のうちの少なくともひとつに基づいて更新する機能と、
前記更新された基準にしたがいビットレートを決定する機能と、をコンピュータに実現させるためのコンピュータプログラム。
A function for specifying and requesting a bit rate for each segment for content having a plurality of bit rates and being divided into a plurality of segments, and acquiring it via a network;
A function for updating a criterion for determining a required bit rate of a segment from an index of throughput in the receiving device based on at least one of the status of the receiving device and an attribute of the content;
A computer program for causing a computer to realize a function of determining a bit rate according to the updated standard.
JP2016037953A 2016-02-29 2016-02-29 Client device and method Active JP6466870B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016037953A JP6466870B2 (en) 2016-02-29 2016-02-29 Client device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016037953A JP6466870B2 (en) 2016-02-29 2016-02-29 Client device and method

Publications (2)

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

Family

ID=59810785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016037953A Active JP6466870B2 (en) 2016-02-29 2016-02-29 Client device and method

Country Status (1)

Country Link
JP (1) JP6466870B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6271072B1 (en) * 2017-10-10 2018-01-31 パナソニック株式会社 Terminal device, video distribution system, and video distribution method
US11716508B2 (en) 2019-02-01 2023-08-01 Ntt Docomo, Inc. Information processing apparatus, server apparatus, and information processing system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007036666A (en) * 2005-07-27 2007-02-08 Onkyo Corp Contents distribution system, client, and client program
WO2013145194A1 (en) * 2012-03-28 2013-10-03 富士通株式会社 Quality evaluation device, quality evaluation method, communication system, and wireless base station device
JP2013214799A (en) * 2012-03-30 2013-10-17 Ntt Communications Kk Streaming media reproduction device, media bit rate change determination method, and program
US20140019633A1 (en) * 2012-07-12 2014-01-16 Futurewei Technologies, Inc. Signaling and Processing Content with Variable Bitrates for Adaptive Streaming
JP2015513840A (en) * 2012-02-27 2015-05-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated Improved DASH client and receiver with buffer water level determination
US20150295976A1 (en) * 2012-10-31 2015-10-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving media segments using adaptive streaming
JP2015532024A (en) * 2012-07-09 2015-11-05 ヴィド スケール インコーポレイテッド Power-aware video decoding and streaming

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007036666A (en) * 2005-07-27 2007-02-08 Onkyo Corp Contents distribution system, client, and client program
JP2015513840A (en) * 2012-02-27 2015-05-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated Improved DASH client and receiver with buffer water level determination
WO2013145194A1 (en) * 2012-03-28 2013-10-03 富士通株式会社 Quality evaluation device, quality evaluation method, communication system, and wireless base station device
JP2013214799A (en) * 2012-03-30 2013-10-17 Ntt Communications Kk Streaming media reproduction device, media bit rate change determination method, and program
JP2015532024A (en) * 2012-07-09 2015-11-05 ヴィド スケール インコーポレイテッド Power-aware video decoding and streaming
US20140019633A1 (en) * 2012-07-12 2014-01-16 Futurewei Technologies, Inc. Signaling and Processing Content with Variable Bitrates for Adaptive Streaming
US20150295976A1 (en) * 2012-10-31 2015-10-15 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving media segments using adaptive streaming

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6271072B1 (en) * 2017-10-10 2018-01-31 パナソニック株式会社 Terminal device, video distribution system, and video distribution method
JP2018133073A (en) * 2017-10-10 2018-08-23 パナソニック株式会社 Terminal device, video distribution system, and video distribution method
US11716508B2 (en) 2019-02-01 2023-08-01 Ntt Docomo, Inc. Information processing apparatus, server apparatus, and information processing system

Also Published As

Publication number Publication date
JP6466870B2 (en) 2019-02-06

Similar Documents

Publication Publication Date Title
JP6469788B2 (en) Using quality information for adaptive streaming of media content
US9378508B2 (en) System and method for content pre-positioning determination
US9674100B2 (en) Dynamic adjustment to multiple bitrate algorithm based on buffer length
JP2011170640A (en) Cache server control device, content distribution system, method of distributing content, and program
US11025987B2 (en) Prediction-based representation selection in video playback
US9680904B2 (en) Adaptive buffers for media players
Burger et al. A generic approach to video buffer modeling using discrete-time analysis
JPWO2017094847A1 (en) Experience quality optimization device, network quality estimation device, mobile terminal, experience quality optimization method, network quality estimation method, and program
KR100671635B1 (en) Service management using multiple service location managers
JP6466870B2 (en) Client device and method
KR101779791B1 (en) Transmitting information based on reading speed
EP4027616A1 (en) Global constraint-based content delivery network (cdn) selection in a video streaming system
CN108737355B (en) Streaming media playback based on user bandwidth
JP2014192566A (en) Video processing device, video processing method, and computer program
EP3211912B1 (en) Information processing apparatus
US20140380347A1 (en) Methods and systems for user experience based content consumption
KR100733247B1 (en) Systems and methods for selecting a provider
US20180199100A1 (en) Information processing apparatus and information processing system
US11902599B2 (en) Multiple protocol prediction and in-session adaptation in video streaming
JP2016015566A (en) Terminal device and data distribution method
JP2018025939A (en) Client device for acquiring content, content acquisition method and program
US10771522B2 (en) Crowdsourced prediction of CDN performance for zero buffer delivery of content
JPWO2017018072A1 (en) Delivery rate selection device, delivery rate selection method, and program
JP2017175597A (en) Moving image distribution system, distribution server, receiver, and program
KR102158856B1 (en) Remote computing system and remote computing method

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 Request for written amendment filed

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