JP2016015534A - Information processor and method - Google Patents

Information processor and method Download PDF

Info

Publication number
JP2016015534A
JP2016015534A JP2014135151A JP2014135151A JP2016015534A JP 2016015534 A JP2016015534 A JP 2016015534A JP 2014135151 A JP2014135151 A JP 2014135151A JP 2014135151 A JP2014135151 A JP 2014135151A JP 2016015534 A JP2016015534 A JP 2016015534A
Authority
JP
Japan
Prior art keywords
segment
data
server
client
media
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014135151A
Other languages
Japanese (ja)
Inventor
五十嵐 卓也
Takuya Igarashi
卓也 五十嵐
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2014135151A priority Critical patent/JP2016015534A/en
Publication of JP2016015534A publication Critical patent/JP2016015534A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an information processor capable of swiftly switching among media.SOLUTION: A processing to previously open plural media responding to a request from a regenerator which reproduces the media. When receiving a request for switching a medium from a regenerator, transmission of a switched medium is started without performing any processing to open the medium. When receiving a request to open another medium different from a predetermined media specifying another medium while the regenerator is reproducing the predetermined medium, responding to the request, a piece of media information of the other medium specified by the regenerator is transmitted to the regenerator. This technique is applicable to, for example, a distribution device for distributing content data by using MPEG-DASH.

Description

本開示は、情報処理装置および方法に関し、特に、メディアの切り替えを高速に行うことができるようにした情報処理装置および方法に関する。   The present disclosure relates to an information processing apparatus and method, and more particularly, to an information processing apparatus and method capable of switching media at high speed.

近年、HTTP(Hyper Text Transfer Protocol)を利用したコンテンツ配信技術としてMPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)が標準化された(例えば、非特許文献1参照)。MPEG-DASHでは、同一コンテンツが異なるビットレートで表現された複数の符号化データをコンテンツサーバに格納し、クライアントが、ネットワーク帯域に応じて複数の符号化データのいずれかの符号化データを選択しながら再生するABS(Adaptive Bitrate Streaming)技術が採用されている。   In recent years, MPEG-DASH (Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP) has been standardized as a content distribution technology using HTTP (Hyper Text Transfer Protocol) (see, for example, Non-Patent Document 1). In MPEG-DASH, multiple encoded data in which the same content is expressed at different bit rates are stored in the content server, and the client selects one of the multiple encoded data according to the network bandwidth. However, it uses ABS (Adaptive Bitrate Streaming) technology for playback.

ところで、全体画像の代わりにその一部である部分画像を適応的に選択して配信することが考えられた。例えば、全体画像の内、画像データを受け取る端末側によって選択された部分の部分画像を配信したり、端末の性能(例えばCPU等の処理能力やディスプレイの大きさ等)や伝送経路やサーバの負荷状況等に応じて、配信する部分画像の大きさを制御したりすることが考えられた。   By the way, it has been considered to adaptively select and distribute a partial image which is a part of the image instead of the entire image. For example, a partial image of a part selected by the terminal that receives the image data in the entire image is distributed, the terminal performance (for example, the processing capacity of the CPU, the size of the display, etc.), the transmission path, and the load on the server It was considered to control the size of the partial image to be distributed according to the situation.

MPEG-DASH(Dynamic Adaptive Streaming over HTTP)(URL:http://mpeg.chiariglione.org/standards/mpeg-dash/media-presentation-description-and-segment-formats/text-isoiec-23009-12012-dam-1)MPEG-DASH (Dynamic Adaptive Streaming over HTTP) (URL: http://mpeg.chiariglione.org/standards/mpeg-dash/media-presentation-description-and-segment-formats/text-isoiec-23009-12012-dam -1)

しかしながら、従来のMPEG-DASH規格では、メディアの切り替えを行う際に、切り替え後のメディアをオープンする処理を行った後に、切り替え後のメディアの送信を開始する。このため、処理に継ぎ目が発生し、切り替えを高速に行うことができなかった。   However, in the conventional MPEG-DASH standard, when a medium is switched, a process for opening the medium after the switching is performed, and then transmission of the medium after the switching is started. For this reason, a seam occurred in the processing, and switching could not be performed at high speed.

本開示は、このような状況に鑑みてなされたものであり、メディアの切り替えを高速に行うことができるようにするものである。   The present disclosure has been made in view of such a situation, and enables media to be switched at high speed.

本開示の一側面の情報処理装置は、メディアを再生する再生装置からの要求に応じて、あらかじめ複数のメディアをオープンする処理を行うオープン処理部と、前記再生装置から前記メディアの切り替えが要求されると、前記メディアをオープンする処理を行うことなく、切り替え後の前記メディアの送信を開始する送信部とを備える。   An information processing device according to an aspect of the present disclosure is requested to open a plurality of media in advance in response to a request from a playback device that plays back the media, and to switch the media from the playback device. A transmission unit that starts transmission of the media after switching without performing the process of opening the media.

本開示の一側面の情報処理方法は、メディアを再生する再生装置からの要求に応じて、あらかじめ複数のメディアをオープンする処理を行い、前記再生装置から前記メディアの切り替えが要求されると、前記メディアをオープンする処理を行うことなく、切り替え後の前記メディアの送信を開始するステップを含む。   An information processing method according to an aspect of the present disclosure performs processing for opening a plurality of media in advance in response to a request from a playback device that plays back media, and when the playback device requests switching of the media, A step of starting transmission of the media after switching without performing a process of opening the media.

本開示の一側面においては、メディアを再生する再生装置からの要求に応じて、あらかじめ複数のメディアをオープンする処理が行われ、前記再生装置から前記メディアの切り替えが要求されると、前記メディアをオープンする処理を行うことなく、切り替え後の前記メディアの送信が開始される。   In one aspect of the present disclosure, a process of opening a plurality of media is performed in advance in response to a request from a playback device that plays back the media. The transmission of the media after switching is started without performing the opening process.

本開示の一側面によれば、メディアの切り替えを高速に行うことができる。   According to one aspect of the present disclosure, media can be switched at high speed.

MPEG-DASHの概要を説明する図である。It is a figure explaining the outline | summary of MPEG-DASH. MPDの構成例を示す図である。It is a figure which shows the structural example of MPD. コンテンツの時間的区切りを説明する図である。It is a figure explaining the time division | segmentation of a content. MPDにおけるPeriod以下の階層構造の例を示す図である。It is a figure which shows the example of the hierarchical structure below the Period in MPD. MPDファイルの構成例を時間軸上で説明する図である。It is a figure explaining the structural example of a MPD file on a time-axis. 配信システムの主な構成例を示すブロック図である。It is a block diagram which shows the main structural examples of a delivery system. 従来のHTTPとウェブソケット(WebSocket)とのそれぞれにおけるサーバ−クライアント間のセグメントデータの転送方法を説明する図である。It is a figure explaining the transfer method of the segment data between the server-client in each of conventional HTTP and a web socket (WebSocket). 従来のHTTPとウェブソケット(WebSocket)とのそれぞれにおけるサーバ−クライアント間のセグメントデータの帯域適応ロジックを適用した場合の転送方法を説明する図である。It is a figure explaining the transfer method at the time of applying the band adaptive logic of the segment data between the server and client in each of conventional HTTP and web socket (WebSocket). DASHに適用されるウェブソケットのサブフレームのプロトコルについて説明する図である。It is a figure explaining the protocol of the subframe of the web socket applied to DASH. dashのコントロールデータのシンタックスを説明する図である。It is a figure explaining the syntax of the control data of dash. コントロールデータを送信するサブフレームに用いられるオペレーションコードの一覧を示す図である。It is a figure which shows the list of the operation code used for the sub-frame which transmits control data. オペレーションコードopenMediaのシンタックスを説明する図である。It is a figure explaining the syntax of operation code openMedia. オペレーションコードmediainfoのシンタックスを説明する図である。It is a figure explaining the syntax of operation code mediainfo. オペレーションコードcloseMediaのシンタックスを説明する図である。It is a figure explaining the syntax of operation code closeMedia. オペレーションコードplayStreamのシンタックスを説明する図である。It is a figure explaining the syntax of operation code playStream. オペレーションコードStreamInfoのシンタックスを説明する図である。It is a figure explaining the syntax of operation code StreamInfo. オペレーションコードstopStreamのシンタックスを説明する図である。It is a figure explaining the syntax of operation code stopStream. オペレーションコードchangeMediaのシンタックスを説明する図である。It is a figure explaining the syntax of operation code changeMedia. オペレーションコードplayerInfoのシンタックスを説明する図である。It is a figure explaining the syntax of operation code playerInfo. オペレーションコードcapabilityのシンタックスを説明する図である。It is a figure explaining the syntax of operation code capability. オペレーションコードpreferenceのシンタックスを説明する図である。It is a figure explaining the syntax of operation code preference. VOD再生を開始させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which starts VOD reproduction | regeneration. VOD再生を中断し、再開させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which interrupts and restarts VOD reproduction | regeneration. VOD再生を最後まで再生し、終了するシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which reproduces | regenerates VOD reproduction to the last and complete | finishes. ライブの最初から視聴する場合におけるライブ再生を開始させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which starts live reproduction in the case of viewing from the beginning of live. ライブの途中から視聴する場合におけるライブ再生を開始するシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which starts live reproduction in the case of viewing from the middle of the live. サーバの機能を実現する機能ブロック図である。It is a functional block diagram which implement | achieves the function of a server. クライアントの機能を実現する機能ブロック図である。It is a functional block diagram which implement | achieves the function of a client. Multiple Representations Transfer at startupのシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence of Multiple Representations Transfer at startup. Multiple Representations Transfer at startupのシーケンスを説明する図である。It is a figure explaining the sequence of Multiple Representations Transfer at startup. Low delay Transfer by Sub-Segmentのシーケンスを説明するタイミングチャートである。6 is a timing chart illustrating a sequence of Low delay Transfer by Sub-Segment. Low delay Transfer by Sub-Segmentのシーケンスを説明する図である。It is a figure explaining the sequence of Low delay Transfer by Sub-Segment. ライブ再生でネットワーク輻輳が発生した場合に行われるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence performed when network congestion generate | occur | produces by live reproduction. 複数のメディアを切り替えて再生させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which switches and reproduces several media. 複数のメディアを切り替えて再生させるシーケンスを説明するタイミングチャートである。It is a timing chart explaining the sequence which switches and reproduces several media. 本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。And FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied.

以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.概要
2.第1の実施の形態(MPEG-DASH over WebSocket)
3.第2の実施の形態(Multiple Representations Transfer at startup)
4.第3の実施の形態(Low delay Transfer by Sub-Segment)
5.第4の実施の形態(Auto Segment Skip for Live Streaming)
6.第5の実施の形態(Fast Switching of multiple media)
7.第6の実施の形態(コンピュータ)
Hereinafter, modes for carrying out the present disclosure (hereinafter referred to as embodiments) will be described. The description will be given in the following order.
1. Overview 2. First embodiment (MPEG-DASH over WebSocket)
3. Second embodiment (Multiple Representations Transfer at startup)
4). Third Embodiment (Low delay Transfer by Sub-Segment)
5. Fourth embodiment (Auto Segment Skip for Live Streaming)
6). Fifth embodiment (Fast Switching of multiple media)
7). Sixth embodiment (computer)

<1.概要>
<DASH>
従来、HTTP(HyperText Transfer Protocol)を利用したコンテンツ配信技術として、例えば、非特許文献1に記載のように、MPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)がある。MPEG-DASHでは、同一コンテンツが異なるビットレートで表現された複数の符号化データをコンテンツサーバに格納し、クライアントが、ネットワーク帯域に応じて複数の符号化データのいずれかの符号化データを選択しながら再生するABS(Adaptive Bitrate Streaming)技術が採用されている。
<1. Overview>
<DASH>
Conventionally, as a content distribution technique using HTTP (HyperText Transfer Protocol), for example, as described in Non-Patent Document 1, there is MPEG-DASH (Moving Picture Experts Group-Dynamic Adaptive Streaming over HTTP). In MPEG-DASH, multiple encoded data in which the same content is expressed at different bit rates are stored in the content server, and the client selects one of the multiple encoded data according to the network bandwidth. However, it uses ABS (Adaptive Bitrate Streaming) technology for playback.

DASHによるコンテンツの伝送の手順を、図1を参照して説明する。まず、コンテンツを取得する側の動画再生端末において、ストリーミング・データの制御用ソフトウエアが、所望のコンテンツのMPD(Media Presentation Description)ファイルを選択し、Webサーバから取得する。MPDは、配信する動画や音声等のコンテンツを管理するメタデータである。   A procedure of content transmission by DASH will be described with reference to FIG. First, in the video playback terminal on the content acquisition side, the streaming data control software selects an MPD (Media Presentation Description) file of the desired content and acquires it from the Web server. MPD is metadata for managing content such as moving images and audio to be distributed.

MPDを取得すると、動画再生端末のストリーミング・データの制御用ソフトウエアは、そのMPDを解析し、所望のコンテンツの、通信回線の品質や動画再生端末の性能等に合ったデータ(DASHセグメント)をWebサーバから取得するように制御する。HTTPアクセス用のクライアント・ソフトウエアは、その制御に従って、そのDASHセグメントを、HTTPを用いてWebサーバから取得する。このように取得されたコンテンツを、動画再生ソフトウエアが再生する。   When the MPD is obtained, the streaming data control software of the video playback terminal analyzes the MPD and generates data (DASH segment) that matches the quality of the communication line and the performance of the video playback terminal of the desired content. Control to obtain from Web server. The client software for HTTP access acquires the DASH segment from the Web server using HTTP according to the control. The moving image reproduction software reproduces the content acquired in this way.

MPDは、例えば図2に示されるような構成を有する。MPDの解析(パース)においては、クライアントは、MPD(図2のMedia Presentation)のピリオド(Period)に含まれるリプレゼンテーション(Representation)の属性から最適なものを選択する。   The MPD has a configuration as shown in FIG. 2, for example. In MPD analysis (parsing), the client selects an optimum attribute from the representation attribute included in the period of the MPD (Media Presentation in FIG. 2).

クライアントは、選択したリプレゼンテーション(Representation)の先頭のセグメント(Segment)を読んでイニシャライズセグメント(Initialization Segment)を取得し、処理する。続いて、クライアントは、後続のセグメント(Segment)を取得し、再生する。   The client reads the first segment (Segment) of the selected representation (Representation), acquires an initialization segment (Initialization Segment), and processes it. Subsequently, the client acquires and reproduces the subsequent segment (Segment).

なお、MPDにおける、ピリオド(Period)、リプレゼンテーション(Representation)、およびセグメント(Segment)の関係は、図3のようになる。つまり、1つのメディアコンテンツは、時間方向のデータ単位であるピリオド(Period)毎に管理することができ、各ピリオド(Period)は、時間方向のデータ単位であるセグメント(Segment)毎に管理することができる。また、各ピリオド(Period)について、ビットレート等の属性の異なる複数のリプレゼンテーション(Representation)を構成することができる。   In addition, the relationship between a period (Period), a representation (Representation), and a segment (Segment) in MPD is as shown in FIG. That is, one media content can be managed for each period (Period) that is a data unit in the time direction, and each period (Period) should be managed for each segment (Segment) that is a data unit in the time direction. Can do. In addition, for each period (Period), a plurality of representations (Representations) having different attributes such as bit rate can be configured.

したがって、このMPDのファイル(MPDファイルとも称する)は、ピリオド(Period)以下において、図4に示されるような階層構造を有する。また、このMPDの構造を時間軸上に並べると図5の例のようになる。図5の例から明らかなように、同一のセグメント(Segment)に対して複数のリプレゼンテーション(Representation)が存在している。クライアントは、これらのうちのいずれかを適応的に選択することにより、通信環境や自己のデコード能力などに応じて適切なストリームデータを取得し、再生することができる。   Therefore, this MPD file (also referred to as MPD file) has a hierarchical structure as shown in FIG. 4 below the period. Further, when the MPD structures are arranged on the time axis, an example shown in FIG. 5 is obtained. As is clear from the example of FIG. 5, there are a plurality of representations (Representations) for the same segment (Segment). The client can acquire and reproduce appropriate stream data according to the communication environment, its decoding capability, and the like by adaptively selecting one of these.

<配信システム>
次に、以上のような本技術を実現する装置とその方法について説明する。図6は、本技術を適用したシステムの一態様である、配信システムを示す図である。図6に示される配信システム100は、全体画像の一部である部分画像のデータを適応的に配信することができるシステムである。
<Distribution system>
Next, an apparatus and method for realizing the present technology as described above will be described. FIG. 6 is a diagram illustrating a distribution system, which is an aspect of a system to which the present technology is applied. A distribution system 100 shown in FIG. 6 is a system that can adaptively distribute data of a partial image that is a part of an entire image.

図6に示されるように配信システム100は、配信データ生成装置101、配信サーバ102、および端末装置103を有する。   As illustrated in FIG. 6, the distribution system 100 includes a distribution data generation device 101, a distribution server 102, and a terminal device 103.

配信データ生成装置101は、配信サーバ102が配信する、例えば画像や音声等のコンテンツのファイル(コンテンツファイル)とそのMPDファイルを生成し、それを配信サーバ102に供給する。配信サーバ102は、配信データ生成装置101から供給されたコンテンツファイルとそのMPDファイルを、ネットワーク104に向けて公開し、部分画像の適応的な配信を行う。   The distribution data generation device 101 generates a content file (content file) such as an image or sound and an MPD file distributed by the distribution server 102 and supplies the generated MPD file to the distribution server 102. The distribution server 102 publishes the content file and the MPD file supplied from the distribution data generation apparatus 101 to the network 104, and performs adaptive distribution of partial images.

端末装置103は、ネットワーク104を介して配信サーバ102にアクセスし、配信サーバ102が公開する所望のコンテンツのMPDファイルを取得する。   The terminal device 103 accesses the distribution server 102 via the network 104 and acquires an MPD file of desired content that the distribution server 102 discloses.

端末装置103は、そのMPDファイルに従って、ネットワーク104を介して配信サーバ102にアクセスし、MPDファイルに対応する適切なコンテンツファイルを適応的に選択し、それをHTTPプロトコルにより取得する。端末装置103は、取得したコンテンツファイルを再生する。
<2.第1の実施の形態>
<MPEG-DASH over WebSocket>
次に、図7を参照して、従来のHTTPとウェブソケット(WebSocket)とのそれぞれにおけるサーバ−クライアント間のセグメントデータ(図中のSeg.Data)の転送方法について説明する。尚、図7におけるサーバ201は、上述した図6の配信サーバ102に対応するものであり、クライアント202は、上述した図6の端末装置103に対応するものである。
The terminal device 103 accesses the distribution server 102 via the network 104 in accordance with the MPD file, adaptively selects an appropriate content file corresponding to the MPD file, and acquires it using the HTTP protocol. The terminal device 103 reproduces the acquired content file.
<2. First Embodiment>
<MPEG-DASH over WebSocket>
Next, a method for transferring segment data (Seg. Data in the figure) between the server and the client in each of conventional HTTP and Web socket (WebSocket) will be described with reference to FIG. Note that the server 201 in FIG. 7 corresponds to the distribution server 102 in FIG. 6 described above, and the client 202 corresponds to the terminal device 103 in FIG. 6 described above.

サーバ201およびクライアント202間における、HTTPによるセグメントデータの転送は、図7Aで示されるような処理となる。尚、ここでは、デコードの開始時に3個のセグメントデータ(Seg.Data)単位でバッファリングがされるものとする。   Transfer of segment data between the server 201 and the client 202 by HTTP is a process as shown in FIG. 7A. Here, it is assumed that buffering is performed in units of three segment data (Seg. Data) at the start of decoding.

すなわち、クライアント202において、まず、再生が指示されると(PlayStart)、Getコマンドからなる要求(図7Aの3段目のクライアント202の先頭のReq.)がサーバ201に対して送信される。   That is, when playback is instructed first in the client 202 (PlayStart), a request consisting of a Get command (Req at the beginning of the third stage client 202 in FIG. 7A) is transmitted to the server 201.

次に、サーバ201が、このGetコマンドに応じて、応答(図7Aの3段目のクライアント202の先頭のResp.)としてMPDをクライアント202に送信する。   Next, the server 201 transmits the MPD to the client 202 as a response (Resp. At the head of the third-stage client 202 in FIG. 7A) in response to this Get command.

クライアント202は、このMPDの情報に基づいて、順次、セグメントデータ(Seg.Data)をサーバ201に対して要求(図7Aの3段目のクライアント202の2番目以降のReq.)する。   Based on the MPD information, the client 202 sequentially requests segment data (Seg. Data) from the server 201 (second and subsequent Req. Of the third-stage client 202 in FIG. 7A).

サーバ201は、この要求に応じて、セグメントデータ(Seg.Data)をクライアント202に対して送信(図7Aの3段目のサーバ201の2番目以降のResp.)する。   In response to this request, the server 201 transmits segment data (Seg. Data) to the client 202 (the second and subsequent Resp. Of the third-stage server 201 in FIG. 7A).

ここで、クライアント202が、サーバ201に対してセグメントデータ(Seg.Data)を要求して、サーバ201がセグメントデータ(Seg.Data)をクライアント202に送信する際、図7Aの2段目で示されるように、PlayStartのタイミングからクライアント202により再生が開始される(DecStart)タイミングまでに遅延時間(Delay to Rendering)が発生する。   Here, when the client 202 requests the segment data (Seg.Data) from the server 201 and the server 201 transmits the segment data (Seg.Data) to the client 202, the second stage of FIG. As described above, a delay time (Delay to Rendering) occurs from the timing of PlayStart to the timing of playback start by the client 202 (DecStart).

尚、図7Aにおいては、最上段において、サーバ201−クライアント202間が接続されていることが示されており、中段においては、再生が要求されたタイミング(Play Start)から再生が実際に開始されるタイミング(DecStart)までの遅延時間(Delay to Rendering)が示されている。さらに、図7Aの最下段においては、パイプ状に描かれた通信回線上をセグメントデータ(Seg.Data)が転送される様子が図中右方向に時系列に描かれている。また、図7Aにおいては、パイプ状の通信回線の上側がクライアント(Client)202側の動作タイミングを示しており、下側がサーバ(Server)201側の動作タイミングを示している。さらに、以降において、図7Bおよび図8においても同様の記載である。   FIG. 7A shows that the server 201 and the client 202 are connected at the top, and in the middle, playback is actually started from the timing when playback is requested (Play Start). The delay time (Delay to Rendering) until the start timing (DecStart) is shown. Further, in the lowermost part of FIG. 7A, the state in which segment data (Seg. Data) is transferred on the communication line drawn in a pipe shape is drawn in time series in the right direction in the figure. In FIG. 7A, the upper side of the pipe-shaped communication line indicates the operation timing on the client 202 side, and the lower side indicates the operation timing on the server 201 side. Further, in the following description, the same applies to FIGS. 7B and 8.

すなわち、従来のHTTPにおいて、サーバ201−クライアント202間は、いわゆるPull回線となるため、トランザクション間にGAPが生じ、複数ファイルの読み出しに時間がかかる。特に、毎回、TCPコネクションした場合、オープンの遅延やフロー制御のスロースタートの為、さらに時間がかかる。   That is, in the conventional HTTP, since the server 201 and the client 202 are so-called Pull lines, GAP occurs between transactions, and it takes time to read a plurality of files. In particular, every time a TCP connection is made, more time is required due to delays in opening and slow start of flow control.

結果として、再生開始時に、十分なデータをバッファリングするため再生画像が表示されるまでの時間が遅く、転送スループットが上がらないので、低いビットレートのビデオが選択されることになるので、常に低画質の画像が転送される恐れがある。   As a result, at the start of playback, a sufficient amount of data is buffered so that it takes a long time to display the playback image and the transfer throughput does not increase, so a video with a low bit rate is selected. There is a risk that an image of quality will be transferred.

これに対して、サーバ201およびクライアント202間における、ウェブソケットによるセグメントデータの転送は、図7Bで示されるような処理となる。   On the other hand, the transfer of the segment data by the web socket between the server 201 and the client 202 is a process as shown in FIG. 7B.

すなわち、クライアント202において、まず、再生が指示されると(PlayStart)、Getコマンドからなる要求(図7Bの3段目のクライアント202の先頭のCommand Send)がサーバ201に対して送信される。   That is, first, when playback is instructed in the client 202 (PlayStart), a request including a Get command (Command Send at the head of the third stage client 202 in FIG. 7B) is transmitted to the server 201.

次に、サーバ201は、このGetコマンドに応じて、応答(図7Bの3段目のクライアント202の先頭のData(MPD))としてMPDと共に、セグメントデータ(Seg.Data)をクライアント202に対して順次送信(図7Bの3段目のサーバ201の2番目以降のSeg.Data)する。   Next, in response to this Get command, the server 201 sends segment data (Seg. Data) to the client 202 together with MPD as a response (Data (MPD) at the head of the client 202 in the third row in FIG. 7B). Transmit sequentially (second and subsequent Seg.Data of the third-stage server 201 in FIG. 7B).

ここでも、クライアント202が、サーバ201に対してセグメントデータ(Seg.Data)を要求して、サーバ201がセグメントデータ(Seg.Data)をクライアント202に送信する際、図7Bの2段目で示されるように、PlayStartのタイミングからクライアント202により再生が開始される(DecStart)タイミングまでに遅延時間(Delay to Rendering)が発生するものの、HTTPの場合よりも短い。   Again, when the client 202 requests the segment data (Seg.Data) from the server 201 and the server 201 transmits the segment data (Seg.Data) to the client 202, the second row in FIG. As described above, although a delay time (Delay to Rendering) occurs from the timing of PlayStart to the timing when playback is started by the client 202 (DecStart), it is shorter than in the case of HTTP.

すなわち、ウェブソケットにおいては、サーバ201−クライアント202間は、いわゆるPush回線となるため、トランザクション間にGAPが生じず、複数ファイルの読み出しにかかる時間を短縮することができる。特に、同一のTCPセッションでの転送となるため、コネクションに関わる問題も発生しない。   That is, in the web socket, since the server 201 and the client 202 are a so-called push line, no GAP occurs between transactions, and the time required for reading a plurality of files can be shortened. In particular, since the transfer is performed in the same TCP session, there is no connection problem.

結果として、再生開始時の画像が表示されるまでの時間を短縮することが可能となり、転送スループットを上げることができるので、高めのビットレートのビデオを選択でき、再生の開始から比較的高画質の画像を転送することが期待できる。   As a result, it is possible to shorten the time until the image at the start of playback is displayed and to increase the transfer throughput, so that a higher bit rate video can be selected, and a relatively high image quality can be selected from the start of playback. You can expect to transfer images.

ただし、HTTPにおいても、帯域適応ロジックであるPipeliningがサポートされている場合を考えると、上述した図7Aにおける処理よりも遅延時間を短縮することが可能である。Pipeliningとは、クライアント202が、帯域の状態を判断し、帯域に応じて、サーバ201に対して、一度に複数の要求をすることができ、これに応じて、クライアント202は、サーバ201からまとめて要求に応じたデータを受信できる機能である。   However, also in HTTP, considering the case where Pipelining, which is a bandwidth adaptation logic, is supported, the delay time can be shortened compared to the processing in FIG. 7A described above. Pipelining means that the client 202 determines the state of the bandwidth, and can make a plurality of requests to the server 201 at a time according to the bandwidth. This is a function that can receive data in response to a request.

すなわち、図8Aで示されるように、サーバ201からのMPDによる応答があった後のタイミングで、クライアント202は、サーバ201に対して、3個のセグメントデータを同時に要求することにより、サーバ201から、まとめて3個のセグメントデータを受信するというものである。   That is, as shown in FIG. 8A, at the timing after the response from the server 201 by the MPD, the client 202 requests the server 201 for three segment data at the same time. The three segment data are received collectively.

このようにすることで、図7Aで示されるような要求を出してから応答を受信するまでのGapを省くことができ、遅延時間(Delay to Rendering)を短縮することが可能となる。   By doing so, gaps from when a request as shown in FIG. 7A is issued until a response is received can be omitted, and the delay time (Delay to Rendering) can be shortened.

しかしながら、リクエストへのレスポンスが返ってくる前に、次のセグメントデータのリクエストをすることになるので、進行中のトランザクションの帯域をモニタし、その結果から状況により異なるリプレゼンテーション(Representation)を選択して、次のセグメントデータの要求に反映させることができない。このため、進行中のトランザクション結果は、3個後のセグメントのリクエストにしか反映させることができない。   However, since the next segment data is requested before the response to the request is returned, the bandwidth of the ongoing transaction is monitored, and a different representation (Representation) is selected according to the situation. Therefore, it cannot be reflected in the next segment data request. For this reason, the transaction result in progress can be reflected only in the request for the segment after three.

すなわち、例えば、図8Aで示されるように、クライアント202側で帯域の判断をするため、最初の要求を送った後のタイミングで、実際には、十分な帯域があるにも関わらず、次の要求を送信するまでの間、3個の低画質のセグメントデータをサーバ201から受信しなければならない。尚、図8Aの最下段におけるSeg.Data(rep1)およびSeg.Data(rep3)は、それぞれリプレゼンテーションが異なるセグメントデータを示しており、rep3は、rep1よりも高画質のリプレゼンテーションのセグメントデータであることを示している。すなわち、図8Aの最下段においては、最初の要求に対して、低画質の3個のセグメントデータ(Seg.Data(rep1))が送信された後に、高画質のセグメントデータ(Seg.Data(rep3))が送信されることが示されている。   That is, for example, as shown in FIG. 8A, in order to determine the bandwidth on the client 202 side, the timing after sending the first request is actually the next, even though there is sufficient bandwidth. Until the request is transmitted, three pieces of low-quality segment data must be received from the server 201. Note that Seg.Data (rep1) and Seg.Data (rep3) at the bottom of FIG. 8A indicate segment data with different representations, and rep3 is segment data of a representation with higher image quality than rep1. It shows that there is. That is, in the lowermost part of FIG. 8A, in response to the first request, three segment data (Seg.Data (rep1)) with low image quality are transmitted, and then segment data (Seg.Data (rep3) with high image quality is sent. )) Is shown to be sent.

これに対して、ウェブソケットにおいては、サーバ201が帯域の状態を判断してセグメントデータのリプレゼンテーションを切り替えることができる。このため、図8Bで示されるように、サーバ201が帯域に応じた判断をするため、1個目のセグメントデータを送った直後のタイミングにでも、帯域の状態に応じて、異なるリプレゼンテーションのセグメントデータを送信することができる。すなわち、図8Bの最下段においては、先頭で低画質のセグメントデータ(Seg.Data(rep1))が送信された直後に、高画質のセグメントデータ(Seg.Data(rep3))が送信されることが示されている。   On the other hand, in the web socket, the server 201 can switch the representation of the segment data by determining the bandwidth state. For this reason, as shown in FIG. 8B, since the server 201 makes a determination according to the bandwidth, even in the timing immediately after sending the first segment data, the segment of the different representation depends on the bandwidth status. Data can be transmitted. That is, at the bottom of FIG. 8B, high-quality segment data (Seg.Data (rep3)) is transmitted immediately after the first low-quality segment data (Seg.Data (rep1)) is transmitted. It is shown.

結果として、帯域の状態に応じて、迅速で、かつ適切なリプレゼンテーションのセグメントデータを切り替えて送信することが可能になると共に、クライアント202側の実装内容を簡易なものとすることが可能となる。   As a result, it is possible to switch and transmit segment data for a quick and appropriate representation according to the state of the band, and to simplify the implementation content on the client 202 side. .

<ウェブソケットのサブフレームのプロトコル>
また、ウェブソケットでは、フレーム(Frame)と呼ばれる単位で、データの送受信が行われる。
<Web socket subframe protocol>
In the web socket, data is transmitted and received in units called frames.

そこで、次に、図9を参照して、DASHに適用されるウェブソケットのサブフレームのプロトコルについて説明する。   Then, with reference to FIG. 9, the protocol of the subframe of the web socket applied to DASH is demonstrated next.

図9の左側には、ウェブソケットのベースフレーミングプロトコルと、サブフレームのヘッダ部分に記述されるオペレーションコード(operation code , opcode)との例が示されている。   On the left side of FIG. 9, examples of the web socket base framing protocol and operation codes (operation code, opcode) described in the header portion of the subframe are shown.

サブフレームのヘッダ部分には、オペレーションコードの他、例えば、このサブフレームがデータの終わりなのかどうかを示すFINや、データがマスク化されているかどうかを示すMASK、アプリケーションデータの長さを示すPayload lenなどが記述される。   In the header part of the subframe, in addition to the operation code, for example, FIN indicating whether this subframe is the end of data, MASK indicating whether the data is masked, Payload indicating the length of the application data len etc. are described.

また、オペレーションコードが0である場合、接続を継続するのに用いられるサブフレーム(Continuation Frame)であることを示しており、オペレーションコードが1である場合、テキストデータ用のサブフレーム(Text Frame)であることを示している。また、オペレーションコードが2である場合、バイナリデータ用のサブフレーム(Binary Frame)であることを示しており、オペレーションコードが8である場合、接続終了を行うサブフレーム(Connection Close Frame)であることを示している。また、オペレーションコードが9である場合、接続維持できているかを確認するのに用いられるサブフレーム(Ping Frame)であることを示している。また、オペレーションコードが10である場合、Ping Frameに対する応答に用いられるサブフレーム(Pong Frame)であることを示している。   Further, when the operation code is 0, it indicates a subframe (Continuation Frame) used to continue the connection. When the operation code is 1, the subframe for text data (Text Frame) It is shown that. In addition, when the operation code is 2, it indicates a subframe (Binary Frame) for binary data, and when the operation code is 8, it is a subframe (Connection Close Frame) for terminating the connection. Is shown. Further, when the operation code is 9, it indicates a subframe (Ping Frame) used for confirming whether the connection can be maintained. Further, when the operation code is 10, it indicates a subframe (Pong Frame) used for a response to Ping Frame.

そして、ウェブソケットをDASHに適用する場合、図9の右側に示すように、サブフレームのペイロード部分に、テキストフレームとして送信されるコントロールデータと、バイナリフレームとして送信されるセグメントデータとの2つのデータが規定される。   When the web socket is applied to DASH, as shown on the right side of FIG. 9, two data of control data transmitted as a text frame and segment data transmitted as a binary frame are included in the payload portion of the subframe. Is defined.

例えば、コントロールデータは、軽量なデータ記述言語の1つであるジェイソン(JSON:JavaScript Object Notation)により記述されるJSON Dataより構成される。また、セグメントデータ(Segment Data)は、ISO/IEC 14496-12(MPEG-4)の規格に従って記述されたデータより構成される。   For example, the control data is composed of JSON Data described by Jason (JavaScript Object Notation) which is one of lightweight data description languages. The segment data is composed of data described in accordance with the ISO / IEC 14496-12 (MPEG-4) standard.

このように、DASHにウェブソケットを適用する際、コントロールデータとセグメントデータとを共通のサブフレームのペイロード部分に混在させず、それぞれが個別のサブフレームのペイロード部分に配置される。   As described above, when the web socket is applied to the DASH, the control data and the segment data are not mixed in the payload portion of the common subframe, but are arranged in the payload portions of the individual subframes.

これにより、コントロールデータが遅延されて伝送されることを回避することができる。即ち、セグメントデータはデータ量が大きいため、伝送が遅れてしまうことがあり、コントロールデータをセグメントデータと混在させた場合には、混在させたデータの全てを読み取った後でなければコントロールデータを認識することできない。このため、コントロールデータが認識されるまでに遅延時間が発生することが想定される。これに対し、コントロールデータとセグメントデータとを個別のサブフレームのペイロード部分に配置すると、セグメントデータを送信する前に、比較的小さなコントロールデータを送信するようにすることができるので、コントロールデータが認識されるまでに発生する遅延時間を短縮して伝送することができる。   Thereby, it is possible to avoid transmission of the control data with a delay. In other words, because segment data has a large amount of data, transmission may be delayed. When control data is mixed with segment data, control data is recognized only after all the mixed data has been read. I can't. For this reason, it is assumed that a delay time occurs until the control data is recognized. On the other hand, if control data and segment data are arranged in the payload part of individual subframes, control data can be recognized because relatively small control data can be transmitted before segment data is transmitted. Thus, transmission can be performed with a reduced delay time.

また、HTML5のウェブソケットAPIにて、受信したセグメントデータを、JavaScript(登録商標)でパースせずにそのままMSEのソースバッファに追加(Append)することができる。   Also, the received segment data can be added (Append) to the MSE source buffer without parsing with JavaScript (registered trademark) using HTML5 web socket API.

次に、図10乃至図21を参照して、コントロールデータについて説明する。   Next, control data will be described with reference to FIGS.

図10には、ジェイソンにより記述されたコントロールデータのシンタックス(syntax)が示されている。   FIG. 10 shows the syntax of the control data described by Jason.

図10の例では、プロトコルのIDがdashであり、プロトコルのバージョンが0.2であることが示されている。また、タイムスタンプ(図10の例では、1403627982268)は、アプリケーション層以下で発生する伝送遅延を補正することができる。   In the example of FIG. 10, the protocol ID is dash and the protocol version is 0.2. Further, the time stamp (1403627982268 in the example of FIG. 10) can correct a transmission delay occurring in the application layer and below.

また、例えば、1つのサブフレームに、複数のコントロールデータをまとめて送信することができる。これにより、受信した側は、一括処理を容易に行うことができる。即ち、図10の例では、コントロールデータとして、capability,openMedia,playStreamのオペレーションコードがまとめて記述されている。   For example, a plurality of control data can be transmitted together in one subframe. As a result, the receiving side can easily perform batch processing. That is, in the example of FIG. 10, operation codes of capability, openMedia, and playStream are collectively described as control data.

図11には、コントロールデータを送信するサブフレームに用いられるオペレーションコードの一覧が示されている。   FIG. 11 shows a list of operation codes used for subframes for transmitting control data.

openMediaは、MPDのURLを指定して、サーバにメディアのセグメントをストリームできる状態にするためのオペレーションコードであり、クライアントからサーバに送信される。例えば、openMediaは、図12に示すように記述され、1行目の“opcode”:“openMedia”は、MPDのURLを指定して、サーバにメディアのセグメントをストリームできる状態にするためのオペレーションコードであることを表している。URL(図12の例では、“http://cdn.example/movies/134532.mpd“)によりMPDを指定する。そして、openMediaを受信したサーバは、指定されたMPDをオープンして、mediaInfoをクライアントに送り返す。   The openMedia is an operation code for specifying a MPD URL so that a media segment can be streamed to the server, and is sent from the client to the server. For example, openMedia is described as shown in FIG. 12, and “opcode”: “openMedia” on the first line is an operation code for specifying a URL of an MPD so that a media segment can be streamed to a server. It represents that. The MPD is specified by the URL (“http: //cdn.example/movies/134532.mpd” in the example of FIG. 12). Then, the server that received openMedia opens the specified MPD and sends mediaInfo back to the client.

mediaInfoは、openMediaを受信した直後、もしくは、メディアの情報が更新された場合に送信されるオペレーションコードであり、サーバからクライアントに送信される。   mediaInfo is an operation code transmitted immediately after receiving openMedia or when media information is updated, and is transmitted from the server to the client.

例えば、mediaInfoは、図13に示すように記述され、1行目の“opcode”:“mediaInfo”は、openMediaを受信した直後、もしくは、メディアの情報が更新された場合に送信されるオペレーションコードであることを表している。また、2行目以降においては、対象となるメディアがmediaDescriptor(図13の例では、152736)により指定される。また、networkStateによりHTML5 Videoにおいて定義されるようにネットワークの動作状態(アクティビティ)(図13の例では、4)が指定される。また、readyStateにより、対象となるメディアの準備状態(図13の例では、4)が指定される。さらに、URL(図13の例では、“http://cdn.example/movies/134532.mpd“)によりMPDが指定される。   For example, mediaInfo is described as shown in FIG. 13, and “opcode”: “mediaInfo” on the first line is an operation code transmitted immediately after receiving openMedia or when media information is updated. It represents something. In the second and subsequent lines, the target media is designated by mediaDescriptor (152736 in the example of FIG. 13). Further, the network operation state (activity) (4 in the example of FIG. 13) is specified as defined in HTML5 Video by networkState. Also, the ready state of the target medium (4 in the example of FIG. 13) is designated by readyState. Further, the MPD is specified by the URL (“http: //cdn.example/movies/134532.mpd” in the example of FIG. 13).

closeMediaは、openMediaでサーバが確保したリソースを解放するためのオペレーションコードであり、クライアントからサーバに送信される。例えば、closeMediaは、図14に示すように記述され、“opcode”:“closeMedia”により、openMediaでサーバが確保したリソースを解放するためのオペレーションコードであることを表している。クローズにするメディアがmediaDescriptor(図14の例では、152736)により指定される。   closeMedia is an operation code for releasing resources secured by the server using openMedia, and is sent from the client to the server. For example, closeMedia is described as shown in FIG. 14, and “opcode”: “closeMedia” represents an operation code for releasing a resource secured by the server with openMedia. The media to be closed is specified by mediaDescriptor (152736 in the example of FIG. 14).

playStreamは、ストリームを開始し、オープンされているメディアを指定するためのオペレーションコードであり、クライアントからサーバに送信される。   playStream is an operation code for starting a stream and specifying an open medium, and is transmitted from the client to the server.

例えば、playStreamは、図15に示すように記述される。   For example, playStream is described as shown in FIG.

より詳細には、1行目の“opcode”:“playStream”は、ストリームを開始し、オープンされているメディアを指定するためのオペレーションコードであることを表している。   More specifically, “opcode”: “playStream” on the first line represents an operation code for starting a stream and designating an opened medium.

2行目以降においては、streamDescriptorで指定された(図15の例では、4323)ストリームにおける、mediaDescriptorで指定したメディア(図15の例では、152736)のsegmentNumberで指定されたセグメント番号のセグメント(図15の例では、155)からnumSegmentにより指定されたセグメント数(図15では1000)分のストリームを開始する。また、VODの場合はメディアの最初のセグメントからストリームを開始し、Liveの場合は現在の最新のセグメントからストリームを開始する。   In the second and subsequent lines, the segment of the segment number specified by segmentNumber of the medium specified by mediaDescriptor (152736 in the example of FIG. 15) in the stream specified by streamDescriptor (4323 in the example of FIG. 15) (see FIG. 15). In the example of 15, the stream for the number of segments (1000 in FIG. 15) designated by numSegment is started from 155). In the case of VOD, the stream starts from the first segment of the media, and in the case of Live, the stream starts from the current latest segment.

streamInfoは、ストリームの状態、次に伝送されるセグメントデータの属性を通知するためのオペレーションコードであり、サーバからクライアントに送信される。   The streamInfo is an operation code for notifying the state of the stream and the attribute of the segment data to be transmitted next, and is transmitted from the server to the client.

例えば、streamInfoは、図16に示すように記述される。また、streamInfoは、定期的に伝送され、このコントロールデータの後に伝送されるセグメントデータの属性情報を示す。   For example, streamInfo is described as shown in FIG. Further, streamInfo indicates attribute information of segment data that is transmitted periodically and transmitted after the control data.

より詳細には、1行目の“opcode”:“StreamInfo”は、ストリームの状態、次に伝送されるセグメントデータの属性を通知するためのオペレーションコードであることを表している。   More specifically, “opcode”: “StreamInfo” on the first line represents an operation code for notifying the state of the stream and the attribute of the segment data to be transmitted next.

また、2行目以降においては、対象となるストリームがstreamDescriptor(図16の例では4323)により指定される。また、対象となるメディアがmediaDescriptor(図13の例では、1527364235312)により指定される。さらに、networkStateによりHTML5 Videoにおいて定義されるようにネットワークの動作状態(アクティビティ)(図16の例では4に)が指定される。また、readyStateにより、対象となるメディアの準備状態(図16の例では、4)が記述される。   In the second and subsequent lines, the target stream is specified by streamDescriptor (4323 in the example of FIG. 16). Further, the target medium is designated by mediaDescriptor (1527364235312 in the example of FIG. 13). Furthermore, the network operation state (activity) (4 in the example of FIG. 16) is designated as defined in HTML5 Video by networkState. Also, the ready state (4 in the example of FIG. 16) of the target medium is described by readyState.

multipleRepresentationにより、同一のセグメントデータに対して複数のリプレゼンテーションが送信されてくる可能性があるか否かが指定される。図16の例では“true”とされて、同一のセグメントデータに対して複数のリプレゼンテーションが送信されてくる可能性があることが指定されている。クライアントはその場合、次のStreamInfoの受信を待ってから、現在のSegmentデータを利用するか破棄するかを決める。尚、“false”とされるとき、同一のセグメントデータに対して複数のリプレゼンテーションが送信されてくることがないことが指定される。   With multipleRepresentation, it is specified whether or not there is a possibility that a plurality of representations may be transmitted for the same segment data. In the example of FIG. 16, “true” is specified, which indicates that there is a possibility that a plurality of representations may be transmitted for the same segment data. In that case, the client waits for reception of the next StreamInfo and then decides whether to use or discard the current Segment data. When “false” is specified, it is designated that a plurality of representations are not transmitted for the same segment data.

segmentSkippedにより、Live配信などの際、実時間に対して再生が遅れてしまったセグメントの配信をスキップさせる、セグメントスキップがなされる可能性があるか否かが指定され、図16の例では、“false”とされて、セグメントスキップがなされる可能性がないことが指定されている。尚、“true”とされる場合、セグメントスキップがなされる可能性があることが指定される。   With segmentSkipped, it is specified whether or not there is a possibility of performing segment skip, which causes the delivery of a segment whose playback has been delayed with respect to real time to be performed during Live distribution. In the example of FIG. “false” indicates that there is no possibility of segment skipping. When “true” is set, it is specified that there is a possibility of segment skipping.

minBufferTimeにより、バッファリングの最小時間が指定されており、図16においては、“4.00”により4秒であることが指定されている。   The minimum buffering time is specified by minBufferTime, and in FIG. 16, “4.00” specifies 4 seconds.

minNetworkBufferTimeにより、クライアントがどのくらいのデータをバッファリングしてからデコードを開始すればよいという奨励値が指定されており、図16においては、“5.00”により5秒分であることが指定されている。   The minNetworkBufferTime specifies an encouragement value that the client should start decoding after buffering data. In FIG. 16, “5.00” specifies 5 seconds.

すなわち、サーバは、MinNetworkBufferDurationにより、クライアントがどのくらいのデータをバッファリングしてからデコードを開始すればよいという奨励値として指定し、ネットワークの状態などから判断して、帯域変動でクライアントのバッファが枯渇し、再生が停止しないよう、ストリーム開始時にstreamInfoをシグナリング(送信)する。   In other words, the server uses MinNetworkBufferDuration to specify as an encouragement value that the client should start decoding after buffering, and judging from the network status, etc., the client buffer is depleted due to bandwidth fluctuations. StreamInfo is signaled (transmitted) at the start of the stream so that playback does not stop.

segmentにより、セグメントデータが指定され、このうち、presentationTimeによりセグメントデータの時刻が指定され、図16においては“331533”がミリ秒単位で指定される。また、“periodID”により、再生開始位置が指定され、図16においては、“1”と指定され、先頭ピリオドからの再生が指定されている。   Segment data is designated by segment, and among these, the time of segment data is designated by presentationTime, and in FIG. 16, “331533” is designated in milliseconds. In addition, the reproduction start position is designated by “periodID”. In FIG. 16, “1” is designated, and reproduction from the leading period is designated.

さらに、“adaptationSetID”によりセグメントデータの種別が指定されて、図16においては“video”が指定されている。また、representationIDによりリプレゼンテーションの種別が指定され、図16の例では“rep4”が指定されている。segmentNumber”によりセグメントデータの番号が指定され、図16において、“1324”が指定されている。尚、もし、これらのセグメントを指定する情報が無い場合、対象となるセグメントは、初期化された先頭のセグメントとされる。   Further, the type of segment data is designated by “adaptationSetID”, and “video” is designated in FIG. Also, the type of representation is specified by representationID, and “rep4” is specified in the example of FIG. The segment data number is specified by "segmentNumber", and "1324" is specified in Fig. 16. If there is no information specifying these segments, the target segment is the head of the initialization. It is considered as a segment.

“SAPType”により、セグメントやサブセグメントなどの離プレゼンテーションが変化する先頭位置SAP(Stream Access Point)の種別が指定される。SAP TypeはつまりSegmentのSubSegmentの先頭のピクチャーがClosed GOPやOpen GOPの先頭のピクチャーであるなどのSAPの種類が記述Type1から6まで定義されており、図16の例では、1が指定されている。   “SAPType” designates the type of the start position SAP (Stream Access Point) at which the separated presentation such as a segment or subsegment changes. In other words, the SAP type is defined from the description Type 1 to 6 in which the first picture of the Segment SubSegment is the first picture of the Closed GOP or Open GOP. In the example of FIG. 16, 1 is specified. Yes.

subsegmentNumberにより、1のセグメントデータを構成するサブセグメントを識別する番号が指定され、図16においては、“0”が指定されている。尚、サブセグメントを識別する番号については、サブセグメントが3個で1のセグメントデータを構成するような場合、図16の例で示されるように、1番目のサブセグメントであれば、“0”であり、2番目のサブセグメントであれば“1”となり、3番目のサブセグメントであれば“2”とするようにしてもよい。   The subsegmentNumber designates a number for identifying a subsegment constituting one segment data, and “0” is designated in FIG. As for the number identifying the sub-segment, when three sub-segments constitute one segment data, as shown in the example of FIG. 16, if the number is the first sub-segment, “0” In the second sub-segment, “1” may be set, and in the third sub-segment, “2” may be set.

すなわち、Segment Dataを分割してSubSegmentとして伝送可能にするため、サーバは、SAPTypeおよびSubSegmentNumberをシグナリング(送信)する。   That is, the server signals (transmits) the SAPType and the SubSegmentNumber in order to divide the Segment Data and transmit it as a SubSegment.

このように、サブセグメントを定義することにより、StopStream、およびChangeMediaにおいて、サーバは、SubSegmentの途中でストリームを停止することができる。これにより、不要なSegment Dataを伝送しないで、StopStreamにより、即座にストリームを停止することができ、ChangeMediaを低遅延で実現することができる。さらに、ChangeMediaでは切り替えたMediaをSubSegmentからストリームすることで、更に高速に切り替えることが可能となる。   In this way, by defining the sub-segment, in StopStream and ChangeMedia, the server can stop the stream in the middle of SubSegment. As a result, the stream can be stopped immediately by StopStream without transmitting unnecessary Segment Data, and ChangeMedia can be realized with low delay. Furthermore, ChangeMedia can be switched at a higher speed by streaming the switched Media from the SubSegment.

stopStreamは、ストリームを停止するためのオペレーションコードであり、クライアントからサーバに送信される。   stopStream is an operation code for stopping the stream, and is transmitted from the client to the server.

例えば、stopStreamは、図17に示すように記述され、対象となるストリームとしてstreamDescriptor(図16の例では4323)により指定されたストリームの停止が指示される。   For example, stopStream is described as shown in FIG. 17, and the stop of the stream designated by the streamDescriptor (4323 in the example of FIG. 16) is instructed as the target stream.

より詳細には、1行目の“opcode”:“stopStream”は、ストリームの停止を指示するオペレーションコードであることを表しており、2乃至4行目の“params” : { “streamDescriptor”: “4323” }は、停止するストリームを指定するパラメータを表している。   More specifically, “opcode”: “stopStream” on the first line indicates an operation code for instructing to stop the stream, and “params”: {“streamDescriptor”: “on the second to fourth lines. 4323 "} represents a parameter for designating a stream to be stopped.

changeMediaは、ストリームをされるメディアを変えるものであり、オープンされているMediaを指定し、ストリームを止めることなく切り替える。changeMediaは、クライアントからサーバに送信される。   changeMedia changes the media to be streamed, specifies an open media, and switches without stopping the stream. changeMedia is sent from the client to the server.

例えば、changeMediaは、図18に示すように記述される。   For example, changeMedia is described as shown in FIG.

1行目の“opcode” : “changeMedia”は、変更後に再生するストリームするメディアを指定するオペレーションコードであることを表している。2乃至7行目の“params”: {“streamDescriptor” : “4323”, “mediaDescriptor” : “152736”,“segmentNumber” : “155”, “numSegment” : “1000”}は、それぞれ、複数のストリームを指定するパラメータ、切り替えるメディアを指定するパラメータ、セグメント番号を指定するパラメータ、およびメディアのエンドが存在しない場合におけるセグメントの数を指定するパラメータを表している。   “Opcode”: “changeMedia” on the first line represents an operation code for designating a stream medium to be reproduced after the change. 2nd to 7th line "params": {"streamDescriptor": "4323", "mediaDescriptor": "152736", "segmentNumber": "155", "numSegment": "1000"} , A parameter for specifying a medium to be switched, a parameter for specifying a segment number, and a parameter for specifying the number of segments when there is no end of the media.

このように、予め複数のメディアをサーバにオープンの状態にしておき、直ちにセグメントをストリームできる状態にしておくことで、図34および図35を参照して後述するように、メディアを切り替えた直後に、別のセグメントを伝送することができる。また、上述したOpenMediaおよびCloseMediaによって、サーバが保持するメディアに関するリソースが管理される。   In this way, by setting a plurality of media in an open state to the server in advance and immediately allowing a segment to be streamed, immediately after switching the media, as will be described later with reference to FIGS. , Another segment can be transmitted. Further, the above-mentioned OpenMedia and CloseMedia manage resources related to media held by the server.

playerInfoは、ストリームを再生中のプレイヤーの再生状況を通知するためのオペレーションコードであり、クライアントからサーバに送信される。   playerInfo is an operation code for notifying the playback status of the player who is playing the stream, and is sent from the client to the server.

例えば、playerInfoは、図19に示すように記述され、プレイヤーの再生状況に変化があれば通知される。   For example, playerInfo is described as shown in FIG. 19, and is notified if there is a change in the playback status of the player.

1行目の“opcode” : “playerInfo”は、プレイヤーの再生状況を通知するオペレーションコードであることを表している。2乃至8行目の“params”: { “streamDescriptor”: “4323”,“networkState” : “4”, “readyState” : “4” “currentPresentationTime” : “478777”, “bufferedTime” : “4000”}は、それぞれ、ストリームを識別するパラメータ、ネットワーク状況を表すパラメータ、読み込み状況を表すパラメータ、現在の再生時間をミリ秒で表すパラメータ、バッファされている時間をミリ秒で表すパラメータを表している。   “Opcode” on the first line: “playerInfo” represents an operation code for notifying the playback status of the player. “Params” on lines 2 to 8: {“streamDescriptor”: “4323”, “networkState”: “4”, “readyState”: “4” “currentPresentationTime”: “478777”, “bufferedTime”: “4000”} Represents a parameter for identifying a stream, a parameter representing a network status, a parameter representing a reading status, a parameter representing the current playback time in milliseconds, and a parameter representing the buffered time in milliseconds.

このように、サーバは、playerInfoに含まれるcurrentPresentationTimeを利用して、ライブでクライアントがリアルタイムに再生できていないことを感知することができる。これにより、図33を参照して後述するように、サーバは、再生されない不要なセグメントはスキップして、ライブの最新のセグメントを継続して転送することができる。   In this way, the server can detect that the client cannot be played back in real time using the currentPresentationTime included in the playerInfo. As a result, as will be described later with reference to FIG. 33, the server can skip unnecessary segments that are not reproduced and continue to transfer the latest live segment.

capabilityは、例えば、コーデックなど、クライアンのケーパビリティを通知するためのオペレーションコードであり、クライアントからサーバに送信される。   The capability is an operation code for notifying the client's capability, such as a codec, and is transmitted from the client to the server.

例えば、capabilityは、図20に示すように記述される。   For example, capability is described as shown in FIG.

すなわち、1行目の“opcode” : “capability”は、例えば、コーデックなど、クライアントのケーパビリティを通知するためのオペレーションコードであることを表している。2行目以降においては、multipleRepresentationにより、クライアントが、同一のセグメントデータについて、複数のRepresentationを受け入れることが可能であるか否かが指定される。例えば、図20においては、“true”とされて、同一のセグメントデータについて、複数のRepresentationを受け入れることが可能であることが指定されている。尚、“false”とされる場合、同一のセグメントデータについて、複数のRepresentationを受け入れることができないことが指定される。   That is, “opcode”: “capability” in the first line represents an operation code for notifying the client capability, such as a codec. In the second and subsequent lines, it is specified by multipleRepresentation whether or not the client can accept a plurality of Representations for the same segment data. For example, in FIG. 20, “true” is specified to specify that a plurality of representations can be accepted for the same segment data. When “false” is specified, it is specified that a plurality of representations cannot be accepted for the same segment data.

segmentSkipにより、セグメントスキップに対応可能であるか否かが指定され、例えば、図20においては“false”とされて、セグメントスキップに対応可能ではないことが指定されている。尚、“true”とされた場合、セグメントスキップに対応可能であることが指定されている。   By segmentSkip, it is specified whether or not it is possible to cope with segment skipping. For example, it is set to “false” in FIG. 20 and it is designated that segment skipping is not possible. When “true” is set, it is specified that segment skipping can be supported.

decodeにより、対応可能なデコードの種別が指定され、mimeTypeによりmimeタイプが指定され、図20においては、“video/mp4”とされ、mp4のビデオのデコードが可能であることが指定されている。また、codecによりコーデックの種別として[“avc1.640828”]が可能であると指定されている。このときmaxWidth、maxHieght、およびmaxBandwidthにより、処理可能な画像の最大幅、最大高、および最大バンド幅が指定され、図20においては、それぞれ“1920”,“1080”,“101024”とされて、1920画素×1080画素のバンド幅が101024となる画像を処理可能であることが指定されている。   The type of decoding that can be supported is specified by decode, the mime type is specified by mimeType, and in FIG. 20, “video / mp4” is specified, and it is specified that mp4 video can be decoded. Further, it is specified by codec that [“avc1.640828”] is possible as the type of codec. At this time, the maximum width, the maximum height, and the maximum bandwidth of the image that can be processed are designated by maxWidth, maxHieght, and maxBandwidth. In FIG. 20, “1920”, “1080”, and “101024” are set, respectively. It is specified that an image with a 1920 × 1080 pixel bandwidth of 101024 can be processed.

また、segmentAlignment!により、リプレゼンテーションのセグメントがそろっているか否かが指定され、図20においては、falseとされており、各リプレゼンテーションのセグメントがそろっていることが指定されている。尚、trueの場合、各リプレゼンテーションのセグメントがそろっていないことが指定される。   In addition, “segmentAlignment!” Specifies whether or not the segments of the representation are aligned. In FIG. 20, “false” is specified, and it is specified that the segments of each representation are aligned. If true, it is specified that there are no segments for each representation.

さらに、SAPTypeにより、セグメントの先頭位置SAP(Stream Access Point)の種別が指定され、図20の場合、SAPの種別が1または2のいずれかであることが指定されている。   Furthermore, the type of segment start position SAP (Stream Access Point) is specified by SAPType. In the case of FIG. 20, it is specified that the SAP type is either 1 or 2.

また、図20においては、さらなる対応可能なmimeタイプとして“audiomp4”が指定されて、音声のmp4がデコード可能であることが指定されている。さらに、コーデックの種別として[“mp4a.40”]が指定され、segmentAlignment!により、リプレゼンテーションのセグメントがそろっているか否かが指定され、図20においては、falseとされており、各リプレゼンテーションのセグメントがそろっていることが指定されている。   In FIG. 20, “audiomp4” is designated as a mime type that can be further dealt with, and it is designated that audio mp4 can be decoded. Furthermore, [“mp4a.40”] is designated as the codec type, and segmentAlignment! Designates whether or not the segments of the representation are aligned. In FIG. 20, it is set to false. It is specified that the segment is complete.

preferenceは、例えば、AdaptationSetIDなど、クライアントのプリファレンス(優先的にして欲しい設定)を通知するためのオペレーションコードであり、クライアントからサーバに送信される。   The preference is an operation code for notifying the client's preference (setting that should be given priority) such as AdaptationSetID, and is transmitted from the client to the server.

例えば、preferenceは、図21に示すように記述される。   For example, preference is described as shown in FIG.

すなわち、1行目の“opcode” : “preference”は、クライアントのプリファレンス(優先的にして欲しい設定)を通知するためのオペレーションコードであることを表している。2行目以降においては、mediaDescriptorにより、対象となるメディアがmediaDescriptor(図21の例では、152736)により指定される。segmentSkipにより、対象となるメディアに対してセグメントスキップをしない状態か否かが指定され、図21においては、“false”によりセグメントスキップをしない状態を設定するように求められていることが指定されている。   That is, “opcode”: “preference” on the first line represents an operation code for notifying a client preference (a setting that is to be given priority). In the second and subsequent lines, the target medium is designated by mediaDescriptor (152736 in the example of FIG. 21) by mediaDescriptor. In segmentSkip, it is specified whether or not the target media is not in a segment skip state. In FIG. 21, it is specified by “false” that it is requested to set a state in which segment skip is not performed. Yes.

languageにより、使用する言語が指定され、図21の場合、[“en”,“fr”]により英語とフランス語の使用を優先的に設定するように求められていることが指定されている。   The language to be used is specified by language, and in the case of FIG. 21, it is specified by [“en”, “fr”] that it is required to preferentially set the use of English and French.

segmentにより、セグメントデータに対する設定についてのプリファレンスが指定され、このうち1番目のperiodIDにより画像の再生開始位置が指定され、図21の場合、“1”とされ、画像の再生開始位置として先頭ピリオドを優先的に設定するように求められていることが指定されている。   The segment specifies a preference for setting the segment data, and the first period ID among them specifies the image playback start position. In FIG. 21, this is set to “1”, and the start period is set as the image playback start position. Is specified to be set with priority.

1番目のadaptationSetIDにより、セグメントデータの画像種別が指定され、図21の場合、“mainVideo”により主画像が優先的に設定されるように求められていることが示されている。   The image type of the segment data is specified by the first adaptationSetID. In the case of FIG. 21, it is indicated that the main image is requested to be set preferentially by “mainVideo”.

1番目のreprsentationIDにより、画像のリプレゼンテーションの種別が指定され、図21においては、[“1”, “2”, “3”]とされ、reprsentationの種別として、1乃至3のいずれかとするように優先的に設定するように求められていることが示されている。尚、この場合、リプレゼンテーションの種別としては3種類が指定されることになるが、サーバは、この3種類のリプレゼンテーションのうち、帯域の状態を判断して、最適なリプレゼンテーションを設定する。   The type of image representation is specified by the first reprsentationID. In FIG. 21, it is set to [“1”, “2”, “3”], and the type of reprsentation is any one of 1 to 3. It is shown that it is demanded to set with priority. In this case, three types of representations are designated, but the server determines the state of the band among these three types of representations and sets an optimal representation.

さらに、2番目のperiodIDにより、音声の再生開始位置が指定され、図21の場合、“1”とされ、音声の再生開始位置として先頭ピリオドを優先的に設定するように求められていることが指定されている。   Furthermore, the second period ID specifies the audio playback start position. In the case of FIG. 21, it is set to “1”, and it is required to preferentially set the leading period as the audio playback start position. It is specified.

2番目のadaptationSetIDによりセグメントデータの音声種別が指定され、図21の場合、“mainAudio”により主音声が優先的に設定するように求められていることが示されている。   The audio type of the segment data is specified by the second adaptationSetID, and in the case of FIG. 21, it is indicated that “mainAudio” is required to set the main audio preferentially.

さらに、2番目のreprsentationIDにより、音声のリプレゼンテーションの種別が指定され、図21においては、[“1”]とされ、音声のリプレゼンテーションの種別として、1とするように優先的に設定するように求められていることが示されている。   Further, the type of audio representation is specified by the second reprsentationID. In FIG. 21, it is set to [“1”], and the type of audio representation is preferentially set to 1. Is shown to be required.

すなわち、preferenceにより、MediaのどのMediaSegmentをストリームするかクライアントのプリファレンスが指定される。(なにも指定しない場合はサーバがクライアントのCapabilityに合わせて自動で選択する)   In other words, the preference of the client specifies which MediaSegment of Media is to be streamed. (If nothing is specified, the server automatically selects according to the Capability of the client.)

尚、representationIDがArrayの場合で複数指定されている場合、サーバは、Network Adaptation(ネットワークの状態に応じた処理)を実行し、その範囲にて、帯域適応等のサーバの判断にて適切なリプレゼンテーションを選択しストリームする。   If multiple representationIDs are specified, the server executes Network Adaptation (processing according to the network status), and within that range, the server determines appropriate bandwidth based on the decision of the server such as bandwidth adaptation. Select a presentation and stream it.

このようなコントロールデータが、サーバ201およびクライアント202の間で送受信され、コンテンツファイルの配信が制御される。   Such control data is transmitted and received between the server 201 and the client 202, and distribution of the content file is controlled.

図22には、VOD再生を開始させるシーケンスが示されている。   FIG. 22 shows a sequence for starting VOD reproduction.

例えば、ユーザが、VOD再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS11において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームを開始するように要求する。   For example, the processing is started when the user performs an operation on the client 202 so as to start VOD playback. In step S11, the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests to start a stream by designating the medium.

サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS12において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。   In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S12.

そして、サーバ201は、ステップS13において、コントロールデータ(streamInfo)をクライアント202に送信して、次に伝送されるセグメントデータの属性を通知する。続いて、サーバ201は、ステップS14において、セグメントデータ(RepID 1,SegmentNo 0)をクライアント202に送信する。   In step S13, the server 201 transmits control data (streamInfo) to the client 202 to notify the attribute of segment data to be transmitted next. Subsequently, the server 201 transmits segment data (RepID 1, Segment No 0) to the client 202 in step S14.

クライアント202は、このセグメントデータを受信してデコードを開始し、ステップS15において、コントロールデータ(playerInfo)をサーバ201に送信することで、ストリームのデコードを開始してからの経過時間を通知する。   The client 202 receives the segment data and starts decoding. In step S15, the client 202 transmits control data (playerInfo) to the server 201, thereby notifying the elapsed time after starting the decoding of the stream.

その後、サーバ201は、セグメントデータを順次、クライアント202に送信する。このとき、サーバ201は、ネットワークの状態に応じた処理(Network Adaption)により、リプレゼンテーション(Rep)を変えるPlayerInfoでCurrentPresentanTimeからクライアントのバッファ量を推測することで、適切な帯域適応をすることができる。   Thereafter, the server 201 sequentially transmits segment data to the client 202. At this time, the server 201 can perform appropriate band adaptation by estimating the buffer amount of the client from CurrentPresentanTime with PlayerInfo that changes the representation (Rep) by processing (Network Adaption) according to the network state. .

これにより、例えば、サーバ201は、ステップS16において、コントロールデータ(streamInfo)を送信し、ステップS17において、セグメントデータ(RepID 3,SegmentNo 1)を送信する。続いて、サーバ201は、ステップS18において、コントロールデータ(streamInfo)をクライアント202に送信し、ステップS19において、セグメントデータ(RepID 3,SegmentNo 2)を送信する。   Accordingly, for example, the server 201 transmits control data (streamInfo) in step S16, and transmits segment data (RepID 3, Segment No 1) in step S17. Subsequently, in step S18, the server 201 transmits control data (streamInfo) to the client 202. In step S19, the server 201 transmits segment data (RepID 3, Segment No 2).

また、サーバ201は、Transmission Controlにより、クライアント202の再生進行に合わせてセグメントデータを送り続けることができる。即ち、サーバ201は、クライアント202の再生進行に合わせたタイミングで、ステップS20において、コントロールデータ(streamInfo)をクライアント202に送信し、ステップS21において、セグメントデータ(RepID 3,SegmentNo 3)を送信する。   In addition, the server 201 can continue to send segment data as transmission progresses by the client 202 by transmission control. That is, the server 201 transmits control data (streamInfo) to the client 202 at a timing in accordance with the reproduction progress of the client 202, and transmits segment data (RepID 3, Segment No 3) at step S21.

一方、クライアント202は、再生状況の変化があると、ステップS22において、コントロールデータ(playerInfo)をサーバ201に送信し、ストリームのデコードを開始してからの経過時間を通知する。   On the other hand, when there is a change in the playback status, the client 202 transmits control data (playerInfo) to the server 201 in step S22, and notifies the elapsed time since the start of stream decoding.

このように、VOD再生を開始する処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。   In this way, processing for starting VOD playback is performed, and similarly, segment data is transmitted from the server 201 to the client 202.

図23には、VOD再生を中断し、再開させるシーケンスが示されている。   FIG. 23 shows a sequence for interrupting and resuming VOD playback.

上述したようにセグメントデータの送信が続けられ、サーバ201は、ステップS31において、コントロールデータ(streamInfo)を送信し、ステップS32において、セグメントデータ(RepID 2,SegmentNo 153)を送信する。そして、クライアント202は、ステップS33において、コントロールデータ(playerInfo)をサーバ201に送信する。   As described above, transmission of segment data is continued, and the server 201 transmits control data (streamInfo) in step S31, and transmits segment data (RepID 2, Segment No 153) in step S32. Then, the client 202 transmits control data (playerInfo) to the server 201 in step S33.

そして、ユーザが再生を中断(例えば、ポーズやシークなど)するようにクライアント202に対する操作を行うと、ステップS34において、クライアント202は、コントロールデータ(stopStream)をサーバ201に送信する。これにより、クライアント202は、ストリームを停止することをサーバ201に通知する。   When the user performs an operation on the client 202 so as to interrupt reproduction (for example, pause or seek), the client 202 transmits control data (stopStream) to the server 201 in step S34. As a result, the client 202 notifies the server 201 that the stream is to be stopped.

これに応じ、サーバ201は、ステップS35およびS36において、コントロールデータ(streamInfo)およびセグメントデータ(RepID 3,SegmentNo 154)をそれぞれ送信した後、ステップS37において、中断したことを通知するコントロールデータ(streamInfo)をクライアント202に送信する。   In response to this, the server 201 transmits control data (streamInfo) and segment data (RepID 3, SegmentNo 154) in steps S35 and S36, respectively, and then, in step S37, control data (streamInfo) notifying the interruption. Is transmitted to the client 202.

その後、ユーザが再生を再開するようにクライアント202に対する操作を行うと、ステップS38において、クライアント202は、コントロールデータ(Start Stream)を送信して、再開するセグメント番号(図23の例では155)を指定する。   Thereafter, when the user performs an operation on the client 202 so as to resume reproduction, in step S38, the client 202 transmits control data (Start Stream), and specifies the segment number to resume (155 in the example of FIG. 23). specify.

これに応じ、サーバ201は、ステップS39において、セグメントデータ(RepID 3,SegmentNo 155)をクライアント202に送信し、クライアント202は、ステップS40において、コントロールデータ(playerInfo)をサーバ201に送信する。   In response, the server 201 transmits segment data (RepID 3, Segment No 155) to the client 202 in step S39, and the client 202 transmits control data (playerInfo) to the server 201 in step S40.

このように、VOD再生を中断し、再開させる処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。   In this way, processing for interrupting and resuming VOD playback is performed, and segment data is transmitted from the server 201 to the client 202 in the same manner.

図24には、VOD再生を最後まで再生し、終了するシーケンスが示されている。   FIG. 24 shows a sequence in which VOD playback is played back to the end and finished.

上述したようにセグメントデータの送信が続けられ、サーバ201は、ステップS51において、コントロールデータ(streamInfo)を送信し、ステップS52において、セグメントデータ(RepID 2,SegmentNo 873)を送信する。そして、クライアント202は、ステップS53において、コントロールデータ(playerInfo)をサーバ201に送信する。   As described above, transmission of segment data is continued, and the server 201 transmits control data (streamInfo) in step S51, and transmits segment data (RepID 2, Segment No 873) in step S52. Then, the client 202 transmits control data (playerInfo) to the server 201 in step S53.

そして、サーバ201は、ステップS54において、コントロールデータ(streamInfo)を送信し、ステップS55において、セグメントデータ(RepID 2,SegmentNo 874)を送信する。ここで、送信されたセグメントがストリームの最後である場合、サーバ201は、ステップS56において、コントロールデータ(streamInfo)を送信し、ストリームが終了したことをクライアント202に通知する。   In step S54, the server 201 transmits control data (streamInfo). In step S55, the server 201 transmits segment data (RepID 2, SegmentNo 874). If the transmitted segment is the end of the stream, the server 201 transmits control data (streamInfo) in step S56 to notify the client 202 that the stream has ended.

これに応じ、クライアント202は、ステップS57において、コントロールデータ(playerInfo)をサーバ201に送信した後、ステップS58において、コントロールデータ(closeMedia,stopStream)をサーバ201に送信する。これにより、クライアント202は、受信したセグメントの再生をすべて終了し、メディアをクローズすることをサーバ201に通知する。   In response to this, the client 202 transmits control data (playerInfo) to the server 201 in step S57, and then transmits control data (closeMedia, stopStream) to the server 201 in step S58. As a result, the client 202 notifies the server 201 that the playback of all received segments is finished and the media is closed.

サーバ201は、コントロールデータ(closeMedia,stopStream)を受信すると、メディアの情報を破棄する。そして、ステップS59において、サーバ201は、コントロールデータ(MediaStatus)をクライアント202に送信し、VOD再生が終了される。   When the server 201 receives the control data (closeMedia, stopStream), the server 201 discards the media information. In step S59, the server 201 transmits control data (MediaStatus) to the client 202, and the VOD reproduction is ended.

このように、VOD再生を終了する処理が行われる。   In this way, a process for ending VOD playback is performed.

図25には、ライブの最初から視聴する場合におけるライブ再生を開始させるシーケンスが示されている。   FIG. 25 shows a sequence for starting live reproduction when viewing from the beginning of the live.

例えば、ユーザが、ライブ再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS71において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームの開始するように要求する。   For example, the processing is started when the user performs an operation on the client 202 so as to start live reproduction. In step S71, the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests to start the stream by specifying the medium.

サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS72において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。   In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S72.

ここで、例えば、ライブ放送が開始されていない場合にはMediaStatusが定期的に通知され、サーバ201は、ステップS73において、コントロールデータ(mediaInfo)をクライアント202に送信して、MediaStatusを通知する。   Here, for example, when live broadcasting is not started, MediaStatus is periodically notified, and in step S73, the server 201 transmits control data (mediaInfo) to the client 202 to notify MediaStatus.

その後、ライブ放送が開始されるとセグメントの送信が開始され、ステップS74において、サーバ201は、コントロールデータ(mediaInfo,streamInfo)をクライアント202に送信する。続いて、サーバ201は、ステップS75において、セグメントデータ(Segment Data of SegmentNo 0)をクライアント202に送信する。   Thereafter, when live broadcasting is started, transmission of a segment is started, and in step S74, the server 201 transmits control data (mediaInfo, streamInfo) to the client 202. Subsequently, the server 201 transmits segment data (Segment Data of Segment No 0) to the client 202 in step S75.

クライアント202は、このセグメントデータを受信してデコードを開始し、ステップS76において、コントロールデータ(playerInfo)をサーバ201に送信することで、例えば、ストリームのデコードを開始してからの経過時間を通知する。   The client 202 receives the segment data and starts decoding. In step S76, the client 202 transmits control data (playerInfo) to the server 201, for example, to notify the elapsed time since the start of decoding the stream. .

このように、ライブの最初から視聴する場合におけるライブ再生を開始する処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。   In this way, the process of starting live playback when viewing from the beginning of live is performed, and similarly, segment data is transmitted from the server 201 to the client 202.

図26には、ライブの途中から視聴する場合におけるライブ再生を開始するシーケンスが示されている。   FIG. 26 shows a sequence for starting live reproduction when viewing from the middle of live performance.

例えば、ユーザが、ライブ再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS91において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームの開始するように要求する。   For example, the processing is started when the user performs an operation on the client 202 so as to start live reproduction. In step S91, the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests the start of the stream by specifying the medium.

サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS92において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。   In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S92.

ここで、例えば、ライブ放送が既に始まっている場合は、最新のセグメントから伝送が行われ、ステップS93において、サーバ201は、コントロールデータ(streamInfo)をクライアント202に送信する。続いて、サーバ201は、ステップS94において、セグメントデータ(Segment Data of SegmentNo 1447)をクライアント202に送信する。   Here, for example, when live broadcasting has already started, transmission is performed from the latest segment, and the server 201 transmits control data (streamInfo) to the client 202 in step S93. Subsequently, the server 201 transmits segment data (Segment Data of Segment No 1447) to the client 202 in step S94.

クライアント202は、このセグメントデータを受信してデコードを開始し、ステップS95において、コントロールデータ(playerInfo)をサーバ201に送信することで、例えば、ストリームのデコードを開始してからの経過時間を通知する。   The client 202 receives the segment data and starts decoding. In step S95, the client 202 transmits control data (playerInfo) to the server 201, for example, to notify the elapsed time since starting the decoding of the stream. .

その後、サーバ201は、セグメントデータを送り続けることができ、ステップS96およびS97において、コントロールデータ(streamInfo)およびセグメントデータ(Segment Data of SegmentNo 1448)をそれぞれ送信する。続いて、サーバ201は、ステップS98およびS99において、コントロールデータ(streamInfo)およびセグメントデータ(Segment Data of SegmentNo 1449)をそれぞれ送信する。   Thereafter, the server 201 can continue to send segment data, and transmits control data (streamInfo) and segment data (Segment Data of Segment No 1448) in steps S96 and S97, respectively. Subsequently, in steps S98 and S99, the server 201 transmits control data (streamInfo) and segment data (Segment Data of Segment No 1449), respectively.

このように、ライブの途中から視聴する場合におけるライブ再生を開始する処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。   In this way, the process of starting live playback when viewing from the middle of live is performed, and the segment data is transmitted from the server 201 to the client 202 in the same manner.

<3.第2の実施の形態>
<Multiple Representations Transfer at startup>
<配信システムを実現するサーバの構成>
図27に示すように、サーバ201は、受信部211、送信部212、記憶部312、および通信処理部214を備えて構成される。
<3. Second Embodiment>
<Multiple Representations Transfer at startup>
<Configuration of server realizing distribution system>
As illustrated in FIG. 27, the server 201 includes a reception unit 211, a transmission unit 212, a storage unit 312, and a communication processing unit 214.

受信部211は、ネットワークを介してサーバ201に送信されるデータを受信して通信処理部214に供給する。   The receiving unit 211 receives data transmitted to the server 201 via the network and supplies the data to the communication processing unit 214.

送信部212は、通信処理部214において実行される通信処理に従い、例えば、各種のコントロールデータをクライアント202に送信したり、記憶部312からコンテンツファイルのセグメントを適宜読み出してクライアント202に送信する。   The transmission unit 212 transmits, for example, various control data to the client 202 according to the communication processing executed in the communication processing unit 214, or appropriately reads the content file segment from the storage unit 312 and transmits it to the client 202.

記憶部312には、サーバ201から配信される画像や音声等のコンテンツファイルが記憶されている。   The storage unit 312 stores content files such as images and sounds distributed from the server 201.

通信処理部214は、例えば、クライアント202の通信処理部227との間で、上述したようなコントロールデータを利用した通信処理を行う。   For example, the communication processing unit 214 performs communication processing using the control data as described above with the communication processing unit 227 of the client 202.

<配信システムを実現するクライアントの構成>
図28に示すように、クライアント202は、受信部221、送信部222、バッファ223、再生処理部224、ディスプレイ225、スピーカ226、および通信処理部227を備えて構成される。
<Configuration of client to realize distribution system>
As shown in FIG. 28, the client 202 includes a receiving unit 221, a transmitting unit 222, a buffer 223, a reproduction processing unit 224, a display 225, a speaker 226, and a communication processing unit 227.

受信部221は、例えば、サーバ201から送信されてくるコントロールデータを受信して通信処理部227に供給したり、サーバ201から送信されてくるコンテンツファイルのセグメントを受信してバッファ223に供給する。バッファ223は、受信部221から供給されるコンテンツファイルのセグメントを一時的に保持する。   For example, the reception unit 221 receives control data transmitted from the server 201 and supplies the control data to the communication processing unit 227, or receives a segment of a content file transmitted from the server 201 and supplies the segment to the buffer 223. The buffer 223 temporarily holds a segment of the content file supplied from the receiving unit 221.

再生処理部224は、バッファ223に保持されているセグメントを読み出してデコードする再生処理を行い、映像データをディスプレイ225に供給するとともに、音声データをスピーカ226に供給する。これにより、ディスプレイ225は映像を表示し、スピーカ226は音声を出力する。   The reproduction processing unit 224 performs reproduction processing for reading and decoding the segment held in the buffer 223, supplies video data to the display 225, and supplies audio data to the speaker 226. Thereby, the display 225 displays an image, and the speaker 226 outputs sound.

通信処理部227は、例えば、サーバ201の通信処理部214との間で、上述したようなコントロールデータを利用した通信処理を行う。   For example, the communication processing unit 227 performs communication processing using the control data as described above with the communication processing unit 214 of the server 201.

次に、図29のフローチャートを参照して、図27のサーバ201、および図28のクライアント202とからなる配信システムによる、コンテンツの再生開始時において複数のリプレンゼンテーションを送信する処理(Multiple Representations Transfer at startup)について説明する。すなわち、この処理においては、再生開始時に、同一のSegment Noで、異なるリプレンゼンテーションのセグメントデータが送信されるようにする。これにより、帯域の状態に対応した画質のリプレンゼンテーションのセグメントデータから再生させることができ、必ず最初に低画質の画像から再生が開始されるのを防ぐことが可能となる。   Next, referring to the flowchart of FIG. 29, a process (Multiple Representations Transfer) of transmitting a plurality of representations at the start of content reproduction by the distribution system including the server 201 of FIG. 27 and the client 202 of FIG. at startup). That is, in this process, segment data of different representations are transmitted with the same segment number at the start of reproduction. As a result, it is possible to reproduce from the segment data of the representation with the image quality corresponding to the band state, and it is possible to always prevent the reproduction from starting from the image with the low image quality first.

すなわち、例えば、ユーザが、VOD再生を開始するようにクライアント202に対する操作を行うと処理が開始される。   That is, for example, when the user performs an operation on the client 202 so as to start VOD playback, the processing is started.

ステップS111において、クライアント202の通信処理部227は、送信部222を制御して、コントロールデータ(capability,openMedia,playStream)をサーバ201に送信する。これにより、クライアント202のケーパビリティがサーバ201に通知されるとともに、メディアが指定されてストリームの開始が要求される。   In step S <b> 111, the communication processing unit 227 of the client 202 controls the transmission unit 222 to transmit control data (capability, openMedia, playStream) to the server 201. As a result, the capabilities of the client 202 are notified to the server 201, the media is specified, and the start of the stream is requested.

サーバ201の通信処理部214は、受信部211を制御して、この要求を受信し、クライアント202により指定されたメディアのメディア情報を記憶部213より読み出す。そして、ステップS112において、通信処理部214は、送信部212を制御して、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。   The communication processing unit 214 of the server 201 controls the reception unit 211 to receive this request, and reads the media information of the media designated by the client 202 from the storage unit 213. In step S <b> 112, the communication processing unit 214 controls the transmission unit 212 to transmit the control data (mediaInfo) to the client 202, thereby returning the media information.

そして、サーバ201の通信処理部214は、ステップS113において、送信部212を制御して、コントロールデータ(streamInfo(RepID 1,SegmentNo 0,RepRep:true))をクライアント202に送信して、次に伝送されるセグメントデータの属性を通知する。続いて、通信処理部214は、ステップS114において、送信部212を制御してセグメントデータ(RepID 1,SegmentNo 0)をクライアント202に送信する。   In step S113, the communication processing unit 214 of the server 201 controls the transmission unit 212 to transmit control data (streamInfo (RepID 1, Segment No 0, RepRep: true)) to the client 202, and then transmits the control data. Notify the attribute of the segment data to be processed. Subsequently, in step S <b> 114, the communication processing unit 214 controls the transmission unit 212 to transmit segment data (RepID 1, SegmentNo 0) to the client 202.

すなわち、DASHにウェブソケットを適用する際、コントロールデータとセグメントデータとは、図9を参照して説明したように、それぞれが個別のサブフレームのペイロード部分に配置されている。   That is, when the web socket is applied to the DASH, the control data and the segment data are respectively arranged in the payload portion of the individual subframe as described with reference to FIG.

そこで、サーバ201の通信処理部214は、ステップS113において、送信部212を制御して、セグメントデータを送信する前に、コントロールデータを用いて、StreamInfoにより、次のタイミングで送信するセグメントデータ(Media Data Frame)により送信する予定であるリプレゼンテーションを識別する情報(RepID 1)と共に、同一のSegment Noで、異なるリプレゼンテーションのセグメントデータを送信する可能性があることを示す情報(RepRep:true)を送信する。   Therefore, in step S113, the communication processing unit 214 of the server 201 controls the transmission unit 212 to transmit segment data (MediaMedia) at the next timing using StreamInfo using the control data before transmitting the segment data. (RepRep: true) that indicates that there is a possibility of transmitting segment data of different representations with the same Segment No. Send.

すなわち、例えば、図30の上段最左部におけるコントロールフレーム(Control Frame StreamInfo)においては、次に送信するセグメントデータが、セグメントナンバが0(SegmentNo. 0)であって、セグメントのリプレゼンテーションがVideo1(RepID:Video1)であることを示す情報であることが示されている。さらに、同一のSegment Noで、異なるリプレゼンテーションのセグメントデータを送る可能性があることを示す情報(Multiple Representationl:True)が送信される。尚、Multiple Representationl:Trueは、図29のRepRep:trueに対応する。   That is, for example, in the control frame (Control Frame StreamInfo) in the upper left part of the upper stage of FIG. 30, the segment data to be transmitted next has a segment number of 0 (Segment No. 0), and the segment representation is Video1 ( It is indicated that the information is RepID: Video1). Furthermore, information (Multiple Representation: True) indicating that there is a possibility of sending segment data of different representations with the same Segment No is transmitted. Note that Multiple Representationl: True corresponds to RepRep: true in FIG.

そして、引き続き、ステップS114において、図30の上段の左から2番目で示されるように、セグメントデータが送信される。   Then, in step S114, segment data is transmitted as shown in the second from the left in the upper part of FIG.

クライアント202の通信処理部227は、受信部221を制御して、このセグメントデータを受信してデコードを開始する。そして、ステップS115において、通信処理部227は、送信部222を制御して、コントロールデータ(playerInfo(CurrentPresentanTime))をサーバ201に送信することで、ストリームのデコードを開始してからの経過時間を通知する。   The communication processing unit 227 of the client 202 controls the receiving unit 221 to receive this segment data and start decoding. In step S115, the communication processing unit 227 controls the transmission unit 222 to transmit control data (playerInfo (CurrentPresentanTime)) to the server 201, thereby notifying the elapsed time from the start of stream decoding. To do.

その後、サーバ201の通信処理部214は、送信部212を制御して、セグメントデータを順次、クライアント202に送信する。このとき、サーバ201の通信処理部214は、ネットワークの状態に応じた処理(Network Adaption)により、リプレゼンテーション(Rep)を変えるPlayerInfoにより、CurrentPresentanTimeからクライアント202のバッファ223のバッファ量を推測することで、適切な帯域に適応することができる。   Thereafter, the communication processing unit 214 of the server 201 controls the transmission unit 212 to sequentially transmit segment data to the client 202. At this time, the communication processing unit 214 of the server 201 estimates the buffer amount of the buffer 223 of the client 202 from CurrentPresentanTime by PlayerInfo that changes the representation (Rep) by processing according to the network state (Network Adaption). Can adapt to the appropriate band.

すなわち、これにより、例えば、十分な帯域があると判断される場合、サーバ201の通信制御部214は、同一のセグメントナンバであって、異なるビットレートの高いリプレゼンテーションのセグメントデータを送信すると判断し、ステップS116において、図30の下段最左列で示されるように、コントロールデータ(streamInfo(RepID 3,SegmentNo 0,RepRep:false))からなるコントロールデータフレーム(Control Frame streamInfo)を送信する。   That is, for example, when it is determined that there is sufficient bandwidth, the communication control unit 214 of the server 201 determines that the segment data of the same segment number and different bit rate is transmitted. In step S116, a control data frame (Control Frame streamInfo) composed of control data (streamInfo (RepID 3, Segment No 0, RepRep: false)) is transmitted as shown in the lower leftmost column of FIG.

このとき、クライアント202は、直前に送信されてきている、ビットレートの低いリプレンゼンテーションのセグメントデータ(RepID 1,SegmentNo 0)を破棄する。   At this time, the client 202 discards the segment data (RepID 1, Segment No 0) that has been transmitted immediately before and has a low bit rate.

そして、ステップS117において、サーバ201の通信制御部214は、送信部212を制御して、図30の下段左から2番目で示されるように、事前のコントロールデータにより予告したセグメントデータ(RepID 3,SegmentNo 0)からなるセグメントデータフレーム(Media Data Frame0)を送信する。   In step S117, the communication control unit 214 of the server 201 controls the transmission unit 212 so that the segment data (RepID 3,. A segment data frame (Media Data Frame 0) consisting of Segment No 0) is transmitted.

すなわち、図30の下段最左部で示されるように、次に送信するセグメントデータが、直前に送ったセグメントデータと同一のセグメントナンバが0(SegmentNo. 0)であって、よりビットレートの高いリプレゼンテーションのVideo3(RepID:Video3)を示すコントロールデータからなるコントロールフレームが送信される。続いて、サーバ201の通信制御部214は、送信部212を制御して、ステップS117において、図30の下段左から2番目で示されるように、セグメントデータからなるセグメントデータフレーム(RepID 3,SegmentNo 0)からなるセグメントデータフレーム(Media Data Frame0)を送信する。   That is, as shown in the lower left part of the lower part of FIG. 30, the segment data to be transmitted next has the same segment number as the segment data sent immediately before (Segment No. 0), and the bit rate is higher. A control frame composed of control data indicating Video3 (RepID: Video3) of the representation is transmitted. Subsequently, the communication control unit 214 of the server 201 controls the transmission unit 212, and in step S117, as shown second from the left in the lower part of FIG. 30, a segment data frame (RepID 3, SegmentNo. 0)) is sent as a segment data frame (Media Data Frame 0).

続いて、サーバ201の通信制御部214は、送信部212を制御して、ステップS118において、図30の下段左から3番目で示されるように、コントロールデータ(streamInfo)からなるコントロールフレーム(Control Frame streamInfo)をクライアント202に送信する。そして、ステップS119において、サーバ201の通信制御部214は、送信部212を制御して、図30の下段左から4番目で示されるように、セグメントデータ(RepID 3,SegmentNo 1)からなるセグメントデータフレーム(Media Data Frame1)を送信する。   Subsequently, the communication control unit 214 of the server 201 controls the transmission unit 212, and in step S118, as shown in the third from the left in the lower part of FIG. 30, a control frame (Control Frame) composed of control data (streamInfo). streamInfo) to the client 202. In step S 119, the communication control unit 214 of the server 201 controls the transmission unit 212, and segment data including segment data (RepID 3, SegmentNo 1) as shown in the fourth from the left in the lower part of FIG. 30. Send a frame (Media Data Frame1).

クライアント202の通信制御部227は、受信部221を制御して、このセグメントデータを受信してデコードを開始し、ステップS120において、送信部222を制御して、コントロールデータ(playerInfo(CurrentPresentanTime))をサーバ201に送信する。これにより、クライアント202において、ストリームのデコードが開始されてからの経過時間がサーバ201に通知される。   The communication control unit 227 of the client 202 controls the reception unit 221 to receive the segment data and start decoding. In step S120, the communication control unit 227 controls the transmission unit 222 to transmit control data (playerInfo (CurrentPresentanTime)). To the server 201. As a result, the server 202 is notified of the elapsed time from the start of the stream decoding in the client 202.

また、サーバ201の通信制御部214は、Transmission Controlにより、クライアント202の再生進行に合わせてセグメントデータを送り続けることができる。即ち、サーバ201の通信制御部214は、クライアント202の再生進行に合わせたタイミングで、ステップS121において、送信部212を制御して、図30の下段左から5番目で示されるように、コントロールデータ(streamInfo)からなるコントロールフレーム(Control Frame streamInfo)をクライアント202に送信する。   In addition, the communication control unit 214 of the server 201 can continue to send segment data as transmission progresses by the client 202 by transmission control. That is, the communication control unit 214 of the server 201 controls the transmission unit 212 in step S121 at the timing in accordance with the progress of reproduction of the client 202, and the control data as shown in the fifth from the lower left in FIG. A control frame (Control Frame streamInfo) composed of (streamInfo) is transmitted to the client 202.

ステップS122において、サーバ201の通信制御部214は、送信部212を制御して、図30の下段最右列で示されるように、セグメントデータ(RepID 3,SegmentNo 2)からなるセグメントデータフレーム(Media Data Frame2)を送信する。   In step S122, the communication control unit 214 of the server 201 controls the transmission unit 212, and, as shown in the lower rightmost column of FIG. 30, a segment data frame (Media ID) including segment data (RepID 3, Segment No 2). Data Frame2) is transmitted.

一方、クライアント202の通信制御部227は、再生処理部224により再生状況の変化があると、ステップS123において、送信部222を制御して、コントロールデータ(playerInfo)をサーバ201に送信し、ストリームのデコードを開始してからの経過時間を通知する。   On the other hand, when the reproduction processing unit 224 changes the reproduction status, the communication control unit 227 of the client 202 controls the transmission unit 222 in step S123 to transmit the control data (playerInfo) to the server 201, thereby Notify the elapsed time since the start of decoding.

このように、サーバ201は、再生開始時に、帯域の状態に応じて、必要に応じてリプレゼンテーションを切り替えて、セグメントデータをクライアント202に送信する。セグメントデータのリプレゼンテーションを切り替える際には、直前に送ったセグメントナンバと同一のセグメントデータであって、帯域の状態に応じたリプレゼンテーションに切り替えられたものが送信される。   As described above, at the start of reproduction, the server 201 switches the representation as necessary according to the state of the band and transmits the segment data to the client 202. When switching the representation of the segment data, the segment data that is the same as the segment number sent immediately before and is switched to the representation according to the band status is transmitted.

尚、ステップS115の処理により、例えば、今の帯域に対して現在のリプレゼンテーションが適切であると判断される場合、サーバ201の通信処理部214は、直前に送信したセグメントデータのセグメントナンバを順序通り1インクリメントし、同一のリプレゼンテーションのセグメントデータを送信する。すなわち、サーバ201は、次のステップにおいて、図30の上段の左から3列目で示されるように、コントロールデータ(streamInfo(RepID 1,SegmentNo 1,RepRep:false))からなるコントロールフレーム(Control Frame streamInfo)をクライアント202に送信する。   If it is determined by the processing in step S115 that the current representation is appropriate for the current band, for example, the communication processing unit 214 of the server 201 orders the segment numbers of the segment data transmitted immediately before. 1 is incremented and the segment data of the same representation is transmitted. That is, in the next step, as shown in the third column from the left in the upper part of FIG. 30, the server 201 controls the control frame (Control Frame consisting of control data (streamInfo (RepID 1, SegmentNo 1, RepRep: false))). streamInfo) to the client 202.

そして、さらに次のステップにおいて、サーバは、図30の上段左から4番目で示されるように、事前のコントロールデータにより予告したセグメントデータ(RepID 1,SegmentNo 1)からなるセグメントデータフレーム(Media Data Frame1)を送信し、以降において、順次セグメントナンバが1ずつインクリメントされて、コントロールデータからなるコントロールデータフレームと、セグメントデータからなるセグメントデータフレームとが、順次、交互に送信されていく。   Then, in the next step, as shown in the fourth from the left in the upper part of FIG. 30, the server performs a segment data frame (Media Data Frame 1) composed of segment data (RepID 1, Segment No 1) notified in advance by the previous control data. Thereafter, the segment number is sequentially incremented by one, and the control data frame made up of control data and the segment data frame made up of segment data are sequentially sent alternately.

以上の如く、再生開始時に同一のセグメントデータに対して、帯域の状態に応じて、複数の種別のリプレゼンテーションを送信するようにしたので、帯域の状態に対して適切なビットレートのセグメントデータを送信することが可能となる。これにより、必ず低画質の画像から再生が開始されるのを防止することが可能となり、帯域の状態に応じた適切な画質の画像から再生させることが可能となる。結果として、再生処理における操作性を向上させることが可能となる。   As described above, a plurality of types of representations are transmitted for the same segment data at the start of playback in accordance with the band status. It becomes possible to transmit. As a result, it is possible to prevent playback from starting from an image with a low image quality, and it is possible to reproduce from an image with an appropriate image quality according to the state of the band. As a result, the operability in the reproduction process can be improved.

<4.第3の実施の形態>
<Low delay Transfer by Sub-Segment>
<4. Third Embodiment>
<Low delay Transfer by Sub-Segment>

次に、図31のフローチャートを参照して、セグメント(Segment)データをより小さな単位のサブセグメント(Sub-Segment)データで管理するシーケンスについて説明する。   Next, a sequence for managing segment data with sub-segment data in smaller units will be described with reference to the flowchart of FIG.

サブセグメントデータは、セグメントデータよりも小さな単位としたものである。これにより、セグメントデータ単位での処理よりも、より高速での動作を実現させて、伝送遅延等を防止するものである。   The sub-segment data is a unit smaller than the segment data. As a result, a higher-speed operation is realized than the processing in units of segment data, thereby preventing a transmission delay or the like.

例えば、ユーザが、VOD再生を開始するようにクライアント202に対する操作を行うと処理が開始される。   For example, the processing is started when the user performs an operation on the client 202 so as to start VOD playback.

ステップS141において、クライアント202の通信制御部227は、送信部222を制御して、コントロールデータ(capability(subSegment=true),openMedia,playStream)をサーバ201に送信させる。これにより、クライアント202のケーパビリティが通知されるとともに、メディアが指定されてストリームが開始されるように要求される。このとき、ケーパビリティにおいて、サブセグメント単位での伝送に対応することができるときには、クライアント202の通信制御部227は、送信部222を制御して、サブセグメント単位での伝送が可能であることを示す情報(subSegment=true)をサーバ201に送信する。これにより、サーバ201の通信制御部214は、クライアント202がサブセグメント単位での伝送に対応することを認識することができる。   In step S141, the communication control unit 227 of the client 202 controls the transmission unit 222 to transmit control data (capability (subSegment = true), openMedia, playStream) to the server 201. As a result, the capability of the client 202 is notified, and a request is made to start the stream by specifying the media. At this time, when the capability can support transmission in units of subsegments, the communication control unit 227 of the client 202 controls the transmission unit 222 to confirm that transmission in units of subsegments is possible. Information (subSegment = true) is transmitted to the server 201. Accordingly, the communication control unit 214 of the server 201 can recognize that the client 202 supports transmission in units of subsegments.

サーバ201の通信制御部214は、この要求に従って、記憶部213よりクライアント202により指定されたメディアのメディア情報を読み出し、ステップS142において、送信部212を制御して、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。   In accordance with this request, the communication control unit 214 of the server 201 reads the media information of the media designated by the client 202 from the storage unit 213, controls the transmission unit 212 in step S142, and sends control data (mediaInfo) to the client 202. The media information is returned by sending to.

そして、サーバ201の通信制御部214は、ステップS143において、送信部212を制御して、図32の最左部で示されるようにコントロールデータ(streamInfo(RepID 1,SegmentNo 1,SubsegmentNo, SAPType 1))からなるコントロールフレーム(Control Frame)をクライアント202に送信させて、次に伝送されるサブセグメントの属性を通知する。   In step S143, the communication control unit 214 of the server 201 controls the transmission unit 212 to control data (streamInfo (RepID 1, SegmentNo 1, SubsegmentNo, SAPType 1) as shown in the leftmost part of FIG. ) Is transmitted to the client 202, and the attribute of the sub-segment to be transmitted next is notified.

図32は、図中の左右に異なるリプレゼンテーションの2個のセグメントデータが、それぞれ2個のサブセグメントデータから構成されるときに送信されるコントロールデータからなるコントロールフレーム(Control Frame)と、サブセグメントデータからなるメディアデータフレーム(Media Data Frame)の送信順序を説明する図である。   FIG. 32 shows a control frame (Control Frame) composed of control data transmitted when two segment data of different representations on the left and right in the figure are each composed of two sub-segment data, and sub-segments It is a figure explaining the transmission order of the media data frame (Media Data Frame) which consists of data.

すなわち、図32には、左からリプレゼンテーションがvideo1(RepID : video1)のセグメント番号が1となる(Segment No 1)セグメントデータが送信されるときの手順と、リプレゼンテーションがvideo2(RepID : video2)のセグメント番号が2となる(Segment No 2)のセグメントデータが送信されるときの手順が示されている。   That is, in FIG. 32, from the left, the procedure for transmitting segment data in which the segment number of video1 (RepID: video1) is 1 (Segment No 1) and the representation is video2 (RepID: video2) The procedure when the segment data of (Segment No 2) with the segment number of 2 is transmitted is shown.

サブセグメントデータは、例えば、セグメントデータがMPEGの画像データであるような場合における、GOP(Group of Picture)であり、セグメントデータの構成単位よりも、より小さなデータサイズの構成単位のデータである。   The sub-segment data is, for example, a GOP (Group of Picture) when the segment data is MPEG image data, and is data in a constituent unit having a smaller data size than the constituent unit of the segment data.

この場合、図32で示されるように、サブセグメント単位で伝送が行われるので、サブセグメント単位で、コントロールデータも構成される。   In this case, as shown in FIG. 32, since transmission is performed in units of subsegments, control data is also configured in units of subsegments.

従って、図32においては、図中の左側のセグメントデータに対する1番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 1)が送信される前のタイミングで、コントロールデータ(streamInfo(RepID video1,SegmentNo 1,SubsegmentNo 1, SAPType 1))からなるコントロールデータフレーム(Control Frame)が送信される。   Accordingly, in FIG. 32, the control data (streamInfo (RepID video1, SegmentNo.) Is transmitted at the timing before the first sub-segment data (Media Data Frame: Segment Data of Subsegment 1) for the segment data on the left side in the figure is transmitted. 1, a control data frame (Control Frame) consisting of SubsegmentNo 1, SAPType 1)) is transmitted.

同様に、図32中の左側のセグメントデータに対する2番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 2)が送信される前のタイミングで、コントロールデータ(streamInfo(RepID video1,SegmentNo 1,SubsegmentNo 2, SAPType 3))からなるコントロールデータフレーム(Control Frame)が送信される。   Similarly, at the timing before the second subsegment data (Media Data Frame: Segment Data of Subsegment 2) for the left segment data in FIG. 32 is transmitted, the control data (streamInfo (RepID video1, SegmentNo 1, SubsegmentNo. 2, a control data frame (Control Frame) consisting of SAPType 3)) is transmitted.

引き続き、図32中の右側のセグメントデータに対する1番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 1)が送信される前のタイミングで、コントロールデータ(streamInfo(RepID video2,SegmentNo 2,SubsegmentNo 1, SAPType 1))からなるコントロールデータフレーム(Control Frame)が送信される。   Subsequently, at the timing before the first sub-segment data (Media Data Frame: Segment Data of Subsegment 1) for the segment data on the right side in FIG. 32 is transmitted, the control data (streamInfo (RepID video2, SegmentNo 2, SubsegmentNo 1) , SAPType 1)) is transmitted.

そして、図中の右側のセグメントに対する2番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 2)が送信される前のタイミングで、コントロールデータ(streamInfo(RepID video2,SegmentNo 2,SubsegmentNo 2, SAPType 2))からなるコントロールデータフレーム(Control Frame)が送信される。   Then, at the timing before the second subsegment data (Media Data Frame: Segment Data of Subsegment 2) for the right segment in the figure is transmitted, the control data (streamInfo (RepID video2, SegmentNo 2, SubsegmentNo 2, SAPType A control data frame consisting of 2)) is transmitted.

ここで、図31の説明に戻る。   Here, it returns to description of FIG.

従って、この場合、サーバ201の通信制御部214は、ステップS144において、送信部212を制御して、図31中の左側のセグメントに対する1番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 1(RepID video1,SegmentNo 1,SubsegmentNo 1, SAPType 1))を送信する。   Therefore, in this case, the communication control unit 214 of the server 201 controls the transmission unit 212 in step S144, so that the first subsegment data (Media Data Frame: Segment Data of Subsegment 1) for the left segment in FIG. (RepID video1, SegmentNo 1, SubsegmentNo 1, SAPType 1)).

クライアント202の通信制御部227は、受信部221を制御して、このセグメントデータを受信して、バッファ223に記憶させる。このとき、再生処理部224は、バッファ223にバッファリングされたセグメントデータのデコードを開始する。ステップS145において、通信制御部227は、送信部222を制御して、コントロールデータ(playerInfo)をサーバ201に送信することで、再生処理部224におけるストリームのデコードを開始してからの経過時間を通知する。この際、クライアント202は、サブセグメント単位のセグメントデータよりも、より小さなデータに基づいて画像を表示する処理を実行することができるので、より高速に画像を表示することが可能となる。   The communication control unit 227 of the client 202 controls the receiving unit 221 to receive this segment data and store it in the buffer 223. At this time, the reproduction processing unit 224 starts decoding the segment data buffered in the buffer 223. In step S145, the communication control unit 227 controls the transmission unit 222 to transmit control data (playerInfo) to the server 201, thereby notifying the elapsed time from the start of the stream decoding in the reproduction processing unit 224. To do. At this time, the client 202 can execute a process of displaying an image based on smaller data than the segment data in sub-segment units, so that the image can be displayed at a higher speed.

そして、サーバ201の通信処理部214は、ステップS146において、送信部212を制御して、図32の左側のセグメントデータのうちの2番目のサブセグメントデータのコントロールデータ(streamInfo(RepID video1,SegmentNo 1,SubsegmentNo 2, SAPType 3))からなるコントロールフレーム(Control Frame)をクライアント202に送信して、次に伝送されるサブセグメントの属性を通知する。   In step S146, the communication processing unit 214 of the server 201 controls the transmission unit 212 to control the second sub-segment data of the segment data on the left side of FIG. 32 (streamInfo (RepID video1, SegmentNo 1 , SubsegmentNo 2, SAPType 3)) is transmitted to the client 202, and the attribute of the next subsegment to be transmitted is notified.

従って、この場合、サーバ201の通信制御部214は、ステップS147において、送信部212を制御して、図32中の左側のセグメントに対する2番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 2(RepID video1,SegmentNo 1,SubsegmentNo 2, SAPType 3))を送信する。   Therefore, in this case, the communication control unit 214 of the server 201 controls the transmission unit 212 in step S147, so that the second subsegment data (Media Data Frame: Segment Data of Subsegment 2) for the left segment in FIG. (RepID video1, SegmentNo 1, SubsegmentNo 2, SAPType 3)).

ここで、ユーザにより再生停止が指示された場合、クライアント202の通信制御部227は、ステップS148において、送信部222を制御して、コントロールデータ(closeMedia,stopStream)をサーバ201に送信する。これにより、クライアント202の再生処理部224は、バッファ223に記憶されている、受信したセグメントの再生をすべて終了する。ここで、通信処理部227は、送信部222を制御して、メディアをクローズすることをサーバ201に通知する。   Here, when the user gives an instruction to stop playback, the communication control unit 227 of the client 202 controls the transmission unit 222 to transmit control data (closeMedia, stopStream) to the server 201 in step S148. As a result, the playback processing unit 224 of the client 202 ends the playback of all received segments stored in the buffer 223. Here, the communication processing unit 227 controls the transmission unit 222 to notify the server 201 that the medium is to be closed.

サーバ201の通信処理部214は、受信部211を制御して、コントロールデータ(closeMedia,stopStream)を受信すると、メディアの情報を破棄し、停止処理を開始する。そして、ステップS149において、サーバ201の通信処理部214は、送信部212を制御して、コントロールデータ(MediaStatus)をクライアント202に送信する。   When the communication processing unit 214 of the server 201 receives the control data (closeMedia, stopStream) by controlling the reception unit 211, the communication processing unit 214 discards the media information and starts the stop processing. In step S 149, the communication processing unit 214 of the server 201 controls the transmission unit 212 to transmit control data (MediaStatus) to the client 202.

しかしながら、サーバ201の通信制御部214は、送信部212を制御して、サブセグメント単位の処理であることから、送信が開始された処理を停止することができないので、例えば、ステップS150において、引き続き図32の右側のセグメントデータのうちの1番目のサブセグメントデータのコントロールデータ(streamInfo(RepID video2,SegmentNo 2,SubsegmentNo 1, SAPType 2))からなるコントロールフレーム(Control Frame)をクライアント202に送信して、次に伝送されるサブセグメントの属性を通知する。   However, since the communication control unit 214 of the server 201 controls the transmission unit 212 to perform processing in units of sub-segments and cannot stop the processing for which transmission has been started, for example, in step S150, it continues. A control frame (Control Frame) made up of control data (streamInfo (RepID video2, SegmentNo2, SubsegmentNo1, SAPType2)) of the first subsegment data in the segment data on the right side of FIG. Then, the attribute of the sub-segment to be transmitted next is notified.

そして、サーバ201の通信制御部214は、ステップS151において、送信部212を制御して、図32中の右側のセグメントに対する1番目のサブセグメントデータ(Media Data Frame:Segment Data of Subsegment 1(RepID video2,SegmentNo 2,SubsegmentNo 1, SAPType 2))を送信する。   Then, in step S151, the communication control unit 214 of the server 201 controls the transmission unit 212 to perform the first subsegment data (Media Data Frame: Segment Data of Subsegment 1 (RepID video2) for the right segment in FIG. , SegmentNo 2, SubsegmentNo 1, SAPType 2)).

最後に、ステップS152において、サーバ201の通信制御部214は、送信部212を制御して、動作の停止をクライアントに通知する。   Finally, in step S152, the communication control unit 214 of the server 201 controls the transmission unit 212 to notify the client of the operation stop.

以上の如く、セグメントデータ単位よりも、より小さなサブセグメント単位で、コントロールデータStreamInfo(SegmentNo,SubSegmentNo,SAP Type)を付して、管理することで、画像の再生表示時間、停止完了までの時間、およびコンテンツの切り替え等をより高速に実現することが可能となる。すなわち、上述したように、送信が開始された処理については停止できないため、サブセグメントデータのようにセグメントデータより小さな単位で送信を管理することで、画像の再生表示時間、停止完了までの時間、およびコンテンツの切り替え等をより高速に実現することが可能となる。   As described above, the control data StreamInfo (SegmentNo, SubSegmentNo, SAP Type) is added and managed in sub-segment units smaller than the segment data unit, so that the image playback display time, the time until completion of the stop, In addition, it is possible to realize switching of contents and the like at higher speed. That is, as described above, since the process for which transmission has been started cannot be stopped, by managing transmission in units smaller than segment data, such as sub-segment data, the image display time, the time until completion of the stop, In addition, it is possible to realize switching of contents and the like at higher speed.

また、例えば、ライブ放送では、例えば、GOP単位でサブセグメントを構成することで、伝送遅延をより短縮させることが可能となる。さらに、MPDにサブセグメントの情報がない場合、サーバ201の通信制御部214は、セグメントデータを解析(パース)して、可能であればサブセグメントに分割して、サブセグメント単位で伝送するようにしてもよく、このようにすることで、セグメントデータの管理を、より迅速なものとすることが可能となる。結果として、再生における操作性を向上させることが可能となる。
<5.第4の実施の形態>
<Auto Segment Skip for Live Streaming>
次に、図33を参照して、本技術を適用した第4の実施の形態について説明する。
Further, for example, in live broadcasting, it is possible to further reduce transmission delay by configuring subsegments in units of GOPs, for example. Further, when there is no sub-segment information in the MPD, the communication control unit 214 of the server 201 analyzes (parses) the segment data, divides it into sub-segments if possible, and transmits them in units of sub-segments. In this case, the segment data can be managed more quickly. As a result, it is possible to improve the operability in reproduction.
<5. Fourth Embodiment>
<Auto Segment Skip for Live Streaming>
Next, a fourth embodiment to which the present technology is applied will be described with reference to FIG.

図33には、ライブ再生でネットワーク輻輳が発生した場合に行われるシーケンスが示されている。   FIG. 33 shows a sequence performed when network congestion occurs during live reproduction.

例えば、ユーザが、ライブ再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS161において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームの開始するように要求する。ここで、上述した図20に示したようにcapabilityでは、segmentSkipにより、セグメントスキップに対応可能であるか否かを指定することができ、図33の例では、セグメントスキップに対応可能であることを指定する“true”とされている。   For example, the processing is started when the user performs an operation on the client 202 so as to start live reproduction. In step S161, the client 202 transmits control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests to start the stream by specifying the medium. Here, as shown in FIG. 20 described above, in capability, it is possible to specify whether segment skip can be supported by segmentSkip. In the example of FIG. 33, it is possible to handle segment skip. It is set to “true”.

サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS162において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。   In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S162.

ここで、例えば、ライブ放送が既に始まっている場合は、最新のセグメントから伝送が行われる。サーバ201は、ステップS163において、コントロールデータ(streamInfo)をクライアント202に送信するのに続いて、ステップS164において、セグメントデータ(MediaDisc 1, SegmentNo 1699)をクライアント202に送信する。   Here, for example, when live broadcasting has already started, transmission is performed from the latest segment. In step S163, the server 201 transmits segment data (MediaDisc 1, SegmentNo 1699) to the client 202 in step S164 after transmitting the control data (streamInfo) to the client 202.

その後、セグメントデータの送信が順次行われ、サーバ201は、ステップS165において、コントロールデータ(streamInfo)を送信し、続いて、ステップS166において、セグメントデータ(MediaDisc 1, SegmentNo 1700)を送信する。   Thereafter, segment data is sequentially transmitted, and the server 201 transmits control data (streamInfo) in step S165, and then transmits segment data (MediaDisc 1, SegmentNo 1700) in step S166.

クライアント202は、ステップS167において、コントロールデータ(playerInfo)をサーバ201に送信する。例えば、コントロールデータ(playerInfo)には、上述した図19に示したようにcurrentPresentationTimeおよびBufferedTimeが含まれる。   In step S167, the client 202 transmits control data (playerInfo) to the server 201. For example, the control data (playerInfo) includes currentPresentationTime and BufferedTime as shown in FIG.

このとき、ネットワーク輻輳(Network Congestion)が発生して、サーバ201およびクライアント202の間で送受信が行うことができなくなった後、ネットワーク輻輳が解消したとする。   At this time, it is assumed that network congestion is eliminated after network congestion occurs and transmission / reception between the server 201 and the client 202 becomes impossible.

このようにネットワーク輻輳が発生した場合、サーバ201は、前のセグメントデータ(SegmentNo 1700)の伝送に時間がかかってしまい、SegmentNo 1701を送信しても再生されないと判断した場合、SegmentNo 1701の送信をスキップする。   When network congestion occurs in this way, the server 201 takes time to transmit the previous segment data (SegmentNo 1700), and when it is determined that the segment No 1701 is not reproduced, the server 201 transmits the segment No 1701. skip.

即ち、サーバ201は、ステップS168およびS169において、コントロールデータ(mediaInfo)およびコントロールデータ(streamInfo)を送信した後、ステップS170において、セグメントデータ(MediaDisc 1, SegmentNo 1701)を送信する。つまり、サーバ201は、クライアント202においてライブ再生されるセグメントから送信を再開する。   That is, the server 201 transmits control data (mediaInfo) and control data (streamInfo) in steps S168 and S169, and then transmits segment data (MediaDisc 1, SegmentNo 1701) in step S170. That is, the server 201 resumes transmission from the segment that is played live by the client 202.

例えば、サーバ201は、SegmentNoおよびSubSegmentのシグナリングの他に、帯域に適応的に、クライアント202にセグメントがどのくらいバッファされているのかをシグナリングすることができる。即ち、サーバ201は、クライアント202からステップS167で送信されるコントロールデータ(playerInfo)により、currentPresentationTimeもしくはBufferedTimeをシグナリングすることができる。currentPresentationTimeは、クライアント202において再生処理部224によりストリームのデコードが開始されてからの経過時間を示す。BufferedTimeは、クライアント202のバッファ223に保持されているセグメントデータにて再生継続可能な時間を示し、仮にネットワークからセグメントデータを全く受信することができない状態において再生を継続することができる時間と同等である。   For example, in addition to SegmentNo and SubSegment signaling, the server 201 can signal how many segments are buffered to the client 202 adaptively to the band. That is, the server 201 can signal currentPresentationTime or BufferedTime by the control data (playerInfo) transmitted from the client 202 in step S167. The currentPresentationTime indicates an elapsed time since the playback processing unit 224 starts decoding the stream in the client 202. BufferedTime indicates the time during which playback can be continued with the segment data held in the buffer 223 of the client 202, and is equivalent to the time when playback can be continued in a state where no segment data can be received from the network. is there.

つまり、クライアント202では、通信処理部227が、例えば、再生処理部224によりストリームのデコードを開始してからの経過時間を取得する。また、通信処理部227は、バッファ223に保持されているセグメントだけで再生を継続することができる再生継続可能時間を取得する。そして、通信処理部227は、サーバ201に対して適宜、経過時間または再生継続可能時間を通知する。これにより、サーバ201では、通信処理部214が、ステップS167でコントロールデータ(playerInfo)を受信することで、クライアント202でのライブ再生の再生状況を把握して、ネットワーク輻輳などが発生して復帰する際に、再生されないセグメントの送信をスキップするように通信処理を行い、送信部212によりセグメントの送信を行うことができる。   In other words, in the client 202, the communication processing unit 227 acquires an elapsed time since the playback processing unit 224 started decoding the stream, for example. In addition, the communication processing unit 227 obtains a playback continuation possible time during which playback can be continued only with the segments held in the buffer 223. The communication processing unit 227 notifies the server 201 of the elapsed time or the playback continuation time as appropriate. Accordingly, in the server 201, the communication processing unit 214 receives the control data (playerInfo) in step S167, thereby grasping the reproduction status of the live reproduction in the client 202, and returning due to occurrence of network congestion or the like. At this time, communication processing can be performed so as to skip transmission of a segment that is not reproduced, and the transmission unit 212 can transmit the segment.

従って、例えば、再生されない不要なセグメントの送信が行われないので、帯域をより有効に利用することができ、ライブ再生でネットワーク輻輳が発生した場合に適切な復帰を行うことができる。   Therefore, for example, since unnecessary segments that are not reproduced are not transmitted, the bandwidth can be used more effectively, and when network congestion occurs during live reproduction, appropriate restoration can be performed.

なお、currentPresentationTimeおよびBufferedTimeを通知するコントロールデータ(playerInfo)は、毎回送信する必要はなく、例えば、クライアント202は、再生が開始された時点、または、データが枯渇して再生を再開したときに送信することができる。
<6.第5の実施の形態>
<Fast Switching of multiple media>
次に、図34および図35を参照して、本技術を適用した第5の実施の形態について説明する。
Note that the control data (playerInfo) for notifying the currentPresentationTime and BufferedTime does not need to be transmitted every time. For example, the client 202 transmits when playback is started or when playback is resumed due to data depletion. be able to.
<6. Fifth embodiment>
<Fast Switching of multiple media>
Next, a fifth embodiment to which the present technology is applied will be described with reference to FIGS. 34 and 35.

図34および図35には、複数のメディアを切り替えて再生させるシーケンスが示されている。   34 and 35 show a sequence for switching and reproducing a plurality of media.

例えば、ユーザが、再生を開始するようにクライアント202に対する操作を行うと処理が開始される。ステップS181において、クライアント202は、コントロールデータ(capability,openMedia,playStream)をサーバ201送信し、クライアント202のケーパビリティを通知するとともに、メディアを指定してストリームの開始するように要求する。   For example, the process starts when the user performs an operation on the client 202 so as to start reproduction. In step S181, the client 202 transmits the control data (capability, openMedia, playStream) to the server 201, notifies the client 202 of the capability, and requests the start of the stream by specifying the medium.

サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS182において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。このとき、図34の例では、再生の対象とされるメディアは、MediaDesc 1とされ、サーバ201は、MediaDesc 1を配信するためのリソースを確保する。   In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by transmitting control data (mediaInfo) to the client 202 in step S182. At this time, in the example of FIG. 34, the medium to be reproduced is MediaDesc 1, and the server 201 secures resources for distributing MediaDesc 1.

そして、サーバ201は、ステップS183において、コントロールデータ(streamInfo)をクライアント202に送信して、次に伝送されるセグメントデータの属性を通知する。続いて、サーバ201は、ステップS184において、セグメントデータ(MediaDesc 1,SegmentNo1447)をクライアント202に送信する。このとき、例えば、ライブ再生であって放送が既に始まっている場合、最新のセグメントから伝送が行われる。   In step S183, the server 201 transmits control data (streamInfo) to the client 202 to notify the attribute of segment data to be transmitted next. Subsequently, the server 201 transmits segment data (MediaDesc 1, Segment No 1447) to the client 202 in step S184. At this time, for example, in the case of live reproduction and broadcasting has already started, transmission is performed from the latest segment.

クライアント202は、このセグメントデータを受信してデコードを開始し、ステップS185において、コントロールデータ(playerInfo)をサーバ201に送信する。   The client 202 receives this segment data and starts decoding, and transmits control data (playerInfo) to the server 201 in step S185.

続いて、サーバ201は、セグメントデータの送信を継続し、ステップS186およびS187において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 1,SegmentNo1448)を、クライアント202にそれぞれ送信する。   Subsequently, the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 1, SegmentNo 1448) to the client 202 in steps S186 and S187, respectively.

クライアント202は、このセグメントデータを受信してデコード行う一方で、ステップS188において、コントロールデータ(openMedia)をサーバ201送信し、別のメディアを指定してオープンするように要求する。     While the client 202 receives and decodes the segment data, in step S188, the client 202 transmits the control data (openMedia) to the server 201 and requests to open by designating another medium.

サーバ201は、この要求に従って、クライアント202により指定されたメディアのメディア情報を読み出し、ステップS189において、コントロールデータ(mediaInfo)をクライアント202に送信することでメディア情報を返信する。このとき、図34の例では、オープンされるメディアは、再生中のMediaDesc 1とは別のMediaDesc 2とされ、サーバ201は、MediaDesc 2を配信するためのリソースも確保する(オープン処理)。   In accordance with this request, the server 201 reads the media information of the media designated by the client 202, and returns the media information by sending control data (mediaInfo) to the client 202 in step S189. At this time, in the example of FIG. 34, the opened medium is MediaDesc 2 different from MediaDesc 1 being played back, and the server 201 also secures resources for distributing MediaDesc 2 (open processing).

そして、サーバ201は、セグメントデータの送信を継続し、ステップS190およびS191において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 1,SegmentNo1449)を、クライアント202にそれぞれ送信する。続いて、図35に示すように、ステップS192およびS193において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 1,SegmentNo1450)を、クライアント202にそれぞれ送信する。   Then, the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 1, Segment No 1449) to the client 202 in steps S190 and S191, respectively. Subsequently, as shown in FIG. 35, control data (streamInfo) and segment data (MediaDesc 1, Segment No 1450) are transmitted to the client 202 in steps S192 and S193, respectively.

このとき、ユーザが、メディアを切り替えるようにクライアント202に対する操作を行うと、ステップS194において、クライアント202は、コントロールデータ(changeMedia)をサーバ201送信し、ストリームされるメディアをMediaDesc 2に切り替えるようにサーバ201に対して要求する。   At this time, when the user performs an operation on the client 202 so as to switch the media, in step S194, the client 202 transmits control data (changeMedia) to the server 201, and the server 202 switches the streamed media to MediaDesc 2. Request to 201.

ここで、MediaDesc 2のメディア情報は、図34のステップS189で既にクライアント202に送信されている。従って、サーバ201は、ステップS195において、コントロールデータ(streamInfo)を送信するのに続いて、ステップS196において、セグメントデータ(MediaDesc 2,SegmentNo7337)を送信する。これにより、途切れなくストリーム再生が継続される。   Here, the media information of MediaDesc 2 has already been transmitted to the client 202 in step S189 of FIG. Accordingly, the server 201 transmits segment data (MediaDesc 2, Segment No. 7337) in step S196 following transmission of control data (streamInfo) in step S195. Thereby, stream reproduction is continued without interruption.

そして、サーバ201は、セグメントデータの送信を継続し、ステップS197およびS198において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 2,SegmentNo7338)を、クライアント202にそれぞれ送信する。   Then, the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 2, Segment No 7338) to the client 202 in steps S197 and S198, respectively.

また、ユーザが再度、メディアを切り替えるようにクライアント202に対する操作を行うと、ステップS199において、クライアント202は、コントロールデータ(changeMedia)をサーバ201に送信し、ストリームされるメディアをMediaDesc 1に切り替えるようにサーバ201に対して要求する。   When the user performs an operation on the client 202 again to switch the media, in step S199, the client 202 transmits control data (changeMedia) to the server 201, and switches the streamed media to MediaDesc 1. Request to the server 201.

ここで、MediaDesc 1のメディア情報は、図34のステップS182で既にクライアント202に送信されている。従って、サーバ201は、ステップS200において、コントロールデータ(streamInfo)を送信するのに続いて、ステップS201において、セグメントデータ(MediaDesc 1,SegmentNo1452)を送信する。このとき、サーバ201は、ライブ再生であれば最新のセグメントから送信を行い、VOD再生であれば、前回のメディアのセグメントの続きから送信を行う。   Here, the media information of MediaDesc 1 has already been transmitted to the client 202 in step S182 of FIG. Accordingly, the server 201 transmits segment data (MediaDesc 1, Segment No. 1452) in step S201 following transmission of control data (streamInfo) in step S200. At this time, the server 201 transmits from the latest segment in the case of live playback, and transmits from the continuation of the previous media segment in the case of VOD playback.

そして、サーバ201は、セグメントデータの送信を継続し、ステップS202およびS203において、コントロールデータ(streamInfo)およびセグメントデータ(MediaDesc 1,SegmentNo1453)を、クライアント202にそれぞれ送信する。   Then, the server 201 continues to transmit segment data, and transmits control data (streamInfo) and segment data (MediaDesc 1, SegmentNo 1453) to the client 202 in steps S202 and S203, respectively.

このように、複数のメディアを切り替えて再生する処理が行われ、以下同様に、サーバ201からクライアント202にセグメントデータが送信される。   In this way, a process of switching and reproducing a plurality of media is performed, and similarly, segment data is transmitted from the server 201 to the client 202.

以上のように、サーバ201は、クライアント202の要求に応じて複数のメディアをあらかじめオープンしておくことができる。これにより、クライアント202が、ストリーム中にコントロールデータ(changeMedia)を送信することで、サーバ201は、各メディアのセグメントを切れ目なく送信することができる。即ち、クライアント202は、メディアを切り替える際に新しいMPD(メディア情報)をロードする処理が不要になるので、チャンネルをスムーズに高速に切り替えて、メディアを再生することができる。   As described above, the server 201 can open a plurality of media in advance in response to a request from the client 202. Thus, the client 202 transmits the control data (changeMedia) in the stream, so that the server 201 can transmit the segments of each medium without breaks. That is, since the client 202 does not need to load a new MPD (media information) when switching media, the client 202 can smoothly switch channels and play media.

また、幾つのメディアをオープンできるのかはサーバ201の能力に依存するので、クライアント202が、サーバ201に対してメディアをオープンできるか否かを問い合わせるようにしてもよい。なお、OpenMediaおよびCloseMediaのコマンドではステートフルにMPD情報を維持できるようにされる。また、クライアント202がOpenMediaを送信するのに応じて、サーバ201はMediaDescriptorを返信する。   Since how many media can be opened depends on the capability of the server 201, the client 202 may make an inquiry about whether the media can be opened to the server 201. It should be noted that MPD information can be maintained statefully in the OpenMedia and CloseMedia commands. Also, in response to the client 202 sending OpenMedia, the server 201 returns a MediaDescriptor.

例えば、放送型のサービスであれば、最初から複数のメディアをオープンするようにしておくことで、高速にチャンネルを切り替えることができる。   For example, in the case of a broadcast type service, channels can be switched at high speed by opening a plurality of media from the beginning.

<7.第6の実施の形態>
<コンピュータ>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここでコンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータ等が含まれる。
<7. Sixth Embodiment>
<Computer>
The series of processes described above can be executed by hardware or can be executed by software. When a series of processing is executed by software, a program constituting the software is installed in the computer. Here, the computer includes, for example, a general-purpose personal computer that can execute various functions by installing a computer incorporated in dedicated hardware and various programs.

図36は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。   FIG. 36 is a block diagram illustrating a hardware configuration example of a computer that executes the above-described series of processing by a program.

図36に示されるコンピュータ900において、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903は、バス904を介して相互に接続されている。   In a computer 900 shown in FIG. 36, a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, and a RAM (Random Access Memory) 903 are connected to each other via a bus 904.

バス904にはまた、入出力インタフェース910も接続されている。入出力インタフェース910には、入力部911、出力部912、記憶部913、通信部914、およびドライブ915が接続されている。   An input / output interface 910 is also connected to the bus 904. An input unit 911, an output unit 912, a storage unit 913, a communication unit 914, and a drive 915 are connected to the input / output interface 910.

入力部911は、例えば、キーボード、マウス、マイクロホン、タッチパネル、入力端子などよりなる。出力部912は、例えば、ディスプレイ、スピーカ、出力端子などよりなる。記憶部913は、例えば、ハードディスク、RAMディスク、不揮発性のメモリなどよりなる。通信部914は、例えば、ネットワークインタフェースよりなる。ドライブ915は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブルメディア921を駆動する。   The input unit 911 includes, for example, a keyboard, a mouse, a microphone, a touch panel, an input terminal, and the like. The output unit 912 includes, for example, a display, a speaker, an output terminal, and the like. The storage unit 913 includes, for example, a hard disk, a RAM disk, a nonvolatile memory, and the like. The communication unit 914 includes a network interface, for example. The drive 915 drives a removable medium 921 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.

以上のように構成されるコンピュータでは、CPU901が、例えば、記憶部913に記憶されているプログラムを、入出力インタフェース910およびバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。RAM903にはまた、CPU901が各種の処理を実行する上において必要なデータなども適宜記憶される。   In the computer configured as described above, the CPU 901 loads the program stored in the storage unit 913 into the RAM 903 via the input / output interface 910 and the bus 904 and executes the program, for example. Is performed. The RAM 903 also appropriately stores data necessary for the CPU 901 to execute various processes.

コンピュータ(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア921に記録して適用することができる。その場合、プログラムは、リムーバブルメディア921をドライブ915に装着することにより、入出力インタフェース910を介して、記憶部913にインストールすることができる。   The program executed by the computer (CPU 901) can be recorded and applied to, for example, a removable medium 921 as a package medium or the like. In that case, the program can be installed in the storage unit 913 via the input / output interface 910 by attaching the removable medium 921 to the drive 915.

また、このプログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。その場合、プログラムは、通信部914で受信し、記憶部913にインストールすることができる。   This program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting. In that case, the program can be received by the communication unit 914 and installed in the storage unit 913.

その他、このプログラムは、ROM902や記憶部913に、あらかじめインストールしておくこともできる。   In addition, this program can be installed in the ROM 902 or the storage unit 913 in advance.

なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。   The program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.

また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   Further, in the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but may be performed in parallel or It also includes processes that are executed individually.

また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。   In this specification, the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .

また、以上において、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。   In addition, in the above description, the configuration described as one device (or processing unit) may be divided and configured as a plurality of devices (or processing units). Conversely, the configurations described above as a plurality of devices (or processing units) may be combined into a single device (or processing unit). Of course, a configuration other than that described above may be added to the configuration of each device (or each processing unit). Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of a certain device (or processing unit) may be included in the configuration of another device (or other processing unit). .

以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。   The preferred embodiments of the present disclosure have been described in detail above with reference to the accompanying drawings, but the technical scope of the present disclosure is not limited to such examples. It is obvious that a person having ordinary knowledge in the technical field of the present disclosure can come up with various changes or modifications within the scope of the technical idea described in the claims. Of course, it is understood that it belongs to the technical scope of the present disclosure.

例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。   For example, the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network and jointly processed.

また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。   In addition, each step described in the above flowchart can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.

さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。   Further, when a plurality of processes are included in one step, the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.

上述した実施形態に係る情報処理装置は、例えば、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。   The information processing apparatus according to the above-described embodiment includes, for example, a transmitter or a receiver, an optical disc, a magnetic disc, a wired broadcast such as a satellite broadcast and a cable TV, a delivery on the Internet, and a delivery to a terminal by cellular communication. The present invention can be applied to various electronic devices such as a recording device that records an image on a medium such as a flash memory or a reproducing device that reproduces an image from the storage medium.

なお、本技術は以下のような構成も取ることができる。
(1)
メディアを再生する再生装置からの要求に応じて、あらかじめ複数のメディアをオープンする処理を行うオープン処理部と、
前記再生装置から前記メディアの切り替えが要求されると、前記メディアをオープンする処理を行うことなく、切り替え後の前記メディアの送信を開始する送信部と
を備える情報処理装置。
(2)
前記オープン処理部は、前記再生装置が所定の前記メディアの再生を行っているときに、所定の前記メディアとは別の前記メディアを指定してオープンする要求があると、その要求に応じて、前記再生装置により指定された別の前記メディアのメディア情報を前記再生装置に送信する
上記(1)に記載の情報処理装置。
(3)
メディアを再生する再生装置からの要求に応じて、あらかじめ複数のメディアをオープンする処理を行い、
前記再生装置から前記メディアの切り替えが要求されると、前記メディアをオープンする処理を行うことなく、切り替え後の前記メディアの送信を開始する
ステップを含む情報処理方法。
In addition, this technique can also take the following structures.
(1)
In response to a request from a playback device that plays media, an open processing unit that performs processing to open a plurality of media in advance;
An information processing apparatus comprising: a transmission unit that starts transmission of the media after switching without performing processing to open the media when switching of the media is requested from the playback device.
(2)
When there is a request to specify and open the media different from the predetermined media when the playback device is playing the predetermined media, the open processing unit, in response to the request, The information processing apparatus according to (1), wherein media information of another medium designated by the playback apparatus is transmitted to the playback apparatus.
(3)
In response to a request from a playback device that plays back media, perform processing to open multiple media in advance,
An information processing method including a step of starting transmission of the media after switching without performing processing of opening the media when switching of the media is requested from the playback device.

なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。   Note that the present embodiment is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the present disclosure.

100 配信システム, 101 配信データ生成装置, 102 配信サーバ, 1
03 端末装置, 104 ネットワーク, 201 サーバ, 202 クライアント
100 delivery system, 101 delivery data generation device, 102 delivery server, 1
03 terminal device, 104 network, 201 server, 202 client

Claims (3)

メディアを再生する再生装置からの要求に応じて、あらかじめ複数のメディアをオープンする処理を行うオープン処理部と、
前記再生装置から前記メディアの切り替えが要求されると、前記メディアをオープンする処理を行うことなく、切り替え後の前記メディアの送信を開始する送信部と
を備える情報処理装置。
In response to a request from a playback device that plays media, an open processing unit that performs processing to open a plurality of media in advance;
An information processing apparatus comprising: a transmission unit that starts transmission of the media after switching without performing processing to open the media when switching of the media is requested from the playback device.
前記オープン処理部は、前記再生装置が所定の前記メディアの再生を行っているときに、所定の前記メディアとは別の前記メディアを指定してオープンする要求があると、その要求に応じて、前記再生装置により指定された別の前記メディアのメディア情報を前記再生装置に送信する
請求項1に記載の情報処理装置。
When there is a request to specify and open the media different from the predetermined media when the playback device is playing the predetermined media, the open processing unit, in response to the request, The information processing apparatus according to claim 1, wherein media information of another medium designated by the playback apparatus is transmitted to the playback apparatus.
メディアを再生する再生装置からの要求に応じて、あらかじめ複数のメディアをオープンする処理を行い、
前記再生装置から前記メディアの切り替えが要求されると、前記メディアをオープンする処理を行うことなく、切り替え後の前記メディアの送信を開始する
ステップを含む情報処理方法。
In response to a request from a playback device that plays back media, perform processing to open multiple media in advance,
An information processing method including a step of starting transmission of the media after switching without performing processing of opening the media when switching of the media is requested from the playback device.
JP2014135151A 2014-06-30 2014-06-30 Information processor and method Pending JP2016015534A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014135151A JP2016015534A (en) 2014-06-30 2014-06-30 Information processor and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014135151A JP2016015534A (en) 2014-06-30 2014-06-30 Information processor and method

Publications (1)

Publication Number Publication Date
JP2016015534A true JP2016015534A (en) 2016-01-28

Family

ID=55231455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014135151A Pending JP2016015534A (en) 2014-06-30 2014-06-30 Information processor and method

Country Status (1)

Country Link
JP (1) JP2016015534A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018047512A1 (en) * 2016-09-07 2018-03-15 キヤノン株式会社 Information processing device, control method therefor, and computer program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018047512A1 (en) * 2016-09-07 2018-03-15 キヤノン株式会社 Information processing device, control method therefor, and computer program

Similar Documents

Publication Publication Date Title
US11979621B2 (en) Advanced trick-play modes for streaming video
US11272232B2 (en) Synchronizing multiple over the top streaming clients
US11516542B2 (en) Systems and methods for real-time adaptive bitrate transcoding and transmission of transcoded media
US9584557B2 (en) Proxy for facilitating streaming of media from server to client
US20140282262A1 (en) Devices and methods for providing navigation images associated with adaptive bit rate video content
JP2013038766A (en) Transmitter, transmitter control method, control program, and recording medium
JP2021040342A (en) System and method for providing audio content during trick-play playback
US10826963B2 (en) Reducing latency for streaming video
WO2018103696A1 (en) Media file playback method, server, client, and system
US9516357B2 (en) Recording variable-quality content stream
US10687106B2 (en) System and method for distributed control of segmented media
JP7025446B2 (en) Real-time capture of user-generated content into a third-party content stream
JP2016015534A (en) Information processor and method
JP2016015533A (en) Information processor and method
WO2016002498A1 (en) Information processing device and method, distribution system, and program
WO2016002497A1 (en) Information processing device and method, distribution system, and program
JP7365212B2 (en) Video playback device, video playback system, and video playback method
JP2017130957A (en) Transmitter, transmission method, playback device, and playback method
EP3732888B1 (en) Reducing latency for streaming video
JP2006285586A (en) Content distribution system, content distribution device, content distribution program, and computer program
US20210392384A1 (en) Distribution system, information processing server, and distribution method
JP2016123097A (en) Distribution server, distribution method, distribution program, and distribution system