JP2016040919A - Information processor, information processing method, and program - Google Patents
Information processor, information processing method, and program Download PDFInfo
- Publication number
- JP2016040919A JP2016040919A JP2015201283A JP2015201283A JP2016040919A JP 2016040919 A JP2016040919 A JP 2016040919A JP 2015201283 A JP2015201283 A JP 2015201283A JP 2015201283 A JP2015201283 A JP 2015201283A JP 2016040919 A JP2016040919 A JP 2016040919A
- Authority
- JP
- Japan
- Prior art keywords
- file
- segment
- content
- data
- segments
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理方法およびプログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and a program.
近日、コンテンツ伝送のためのHTTP(HyperText Transfer Protocol)、およびコンテンツ圧縮符号化に関するMP4が広く利用されている。HTTPによれば、インターネットにおいて、コンテンツのダウンロードだけでなく、ストリーミングを行うことが可能である。このHTTPストリーミングは、「DLNA guidelines」(2006)や「Open IPTV Forum」(2009)などのネットワークメディア規格にも採用されている。また、MP4(ISO/IEC−14496−12,14)は、記憶フォーマットとしてだけでなく、ダウンロードやストリーミングなどの伝送フォーマットとしても利用可能である。 Recently, HTTP (Hyper Text Transfer Protocol) for content transmission and MP4 related to content compression coding are widely used. According to HTTP, it is possible not only to download contents but also to perform streaming on the Internet. This HTTP streaming is also adopted in network media standards such as “DLNA guidelines” (2006) and “Open IPTV Forum” (2009). MP4 (ISO / IEC-14296-12, 14) can be used not only as a storage format but also as a transmission format such as download or streaming.
例えば、非特許文献1には、インターネットを介したコンテンツのストリーミングをHTTPおよびMP4を用いて行うことが記載されている。より詳細には、非特許文献1には、サーバが、異なるビットレートで符号化されたMP4形式の符号化ファイルを記憶しており、ネットワーク状況に適切な符号化ファイルを構成するセグメントを順次に送信することが記載されている。
For example, Non-Patent
しかし、従来のシステムでは、いずれの符号化ファイルを構成するセグメントを送信するかをサーバ側で判断していたため、サーバ側の負荷が大きくなってしまうという問題があった。また、クライアントにはセグメントが再生される時間(コンテンツの先頭からの相対時間)などの情報が提供されないために、可変速再生などのトリックプレイや、相対時間への飛び越してからの再生(シーク再生)などを行うことが困難であった。 However, in the conventional system, there is a problem in that the load on the server side increases because the server side determines which segment constituting the encoded file is to be transmitted. In addition, since the client is not provided with information such as the segment playback time (relative time from the beginning of the content), trick play such as variable speed playback or playback after jumping to relative time (seek playback) ) Etc. was difficult.
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、コンテンツの適応的なストリーミングにおける送信側の負荷を軽減するための、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。 Accordingly, the present invention has been made in view of the above problems, and an object of the present invention is to provide a new and improved information processing for reducing the load on the transmission side in adaptive streaming of contents. To provide an apparatus, an information processing method, and a program.
上記課題を解決するために、本発明のある観点によれば、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成する生成部、および複数のセグメントから構成される前記複数の符号化データの各々を記憶する記憶部、を有するコンテンツサーバと、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記同一コンテンツ内で順次に選択する選択部、前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部、および、前記コンテンツサーバから取得されたセグメントを順次に再生する再生部、を有するコンテンツ再生装置と、を備えるコンテンツ再生システムが提供される。 In order to solve the above-described problem, according to an aspect of the present invention, a plurality of codes configured of a generation unit that generates a plurality of encoded data by encoding the same content at different bit rates, and a plurality of segments A selection unit for sequentially selecting, within the same content, a content server having a storage unit for storing each of the encoded data and which of the encoded data is requested from the content server; A content playback device including: an acquisition unit that requests the content server for a segment selected by the content server and acquires the segment from the content server; and a playback unit that sequentially plays back the segments acquired from the content server A playback system is provided.
前記複数の符号化データを構成する前記複数のセグメントの各々は、前記複数の符号化データ間で代替して復号できるように符号化されてもよい。 Each of the plurality of segments constituting the plurality of encoded data may be encoded so as to be decoded instead of the plurality of encoded data.
前記生成部は、前記複数の符号化データへアクセスするためのアクセス情報を含む第1のデータファイル、および前記複数の符号化データの各々を含む複数の第2のデータファイルを生成し、前記アクセス情報は、前記複数の第2のデータファイルのネットワーク位置情報、および前記符号化データの各セグメントのファイル内での位置情報および各セグメントの再生時間(各セグメントの再生に要する時間)を含んでもよい。 The generation unit generates a first data file including access information for accessing the plurality of encoded data, and a plurality of second data files including each of the plurality of encoded data, and the access The information may include network position information of the plurality of second data files, position information in the file of each segment of the encoded data, and playback time of each segment (time required for playback of each segment). .
前記生成部は、前記複数の符号化データへアクセスするためのアクセス情報、および前記複数の符号化データのうちの1の符号化データを含む第1のデータファイル、他の符号化データを含む第2のデータファイルを生成してもよい。 The generating unit includes access information for accessing the plurality of encoded data, a first data file including one encoded data of the plurality of encoded data, and a first data file including other encoded data. Two data files may be generated.
前記第2のデータファイルは、前記他の符号化データを構成するセグメントの前記第2のデータファイルにおける位置情報をさらに含み、前記第1のデータファイルに含まれる前記他の符号化データへのアクセス情報は、前記第2のデータファイルのネットワーク位置情報、および前記符号化データを含むトラックを示す識別情報を含み、前記第2のデータファイルは、ファイルに含まれる前記符号化データのセグメントのファイル内での位置情報ならびに各セグメントの再生時間を含んでもよい。 The second data file further includes position information in the second data file of a segment constituting the other encoded data, and access to the other encoded data included in the first data file The information includes network location information of the second data file and identification information indicating a track including the encoded data, and the second data file is included in a file of a segment of the encoded data included in the file. In addition, the position information of each segment and the playback time of each segment may be included.
前記取得部は、前記第1のデータファイルに含まれる前記アクセス情報を取得し、前記選択部により選択されたセグメントを、当該アクセス情報に基づいて前記コンテンツサーバから取得してもよい。 The acquisition unit may acquire the access information included in the first data file, and acquire the segment selected by the selection unit from the content server based on the access information.
前記生成部は、前記第1のデータファイルおよび前記第2のデータファイルをMP4形式で生成し、前記第1のデータファイルにおける前記他の符号化データへアクセスするためのネットワーク位置情報をMP4の「dinf」に記載してもよい。 The generation unit generates the first data file and the second data file in an MP4 format, and provides network location information for accessing the other encoded data in the first data file as “4” of MP4. dinf ".
前記セグメントは、MP4ファイルのSync Sampleを境界にして分割されたデータであってもよい。 The segment may be data divided with the Sync Sample of the MP4 file as a boundary.
前記生成部は、前記第1のデータファイルに、前記複数の符号化データの対応するセグメント同士は代替して再生可能であることを示す情報を記載してもよい。 The generation unit may write information indicating that the corresponding segments of the plurality of encoded data can be reproduced in place of each other in the first data file.
前記取得部は、HTTPに従って前記複数の符号化データの各々へのアクセス情報および前記セグメントを取得してもよい。 The acquisition unit may acquire access information and the segment to each of the plurality of encoded data according to HTTP.
前記生成部は、前記第1のデータファイルに、前記複数の符号化データのビットレート情報を記載してもよい。 The generation unit may describe bit rate information of the plurality of encoded data in the first data file.
前記取得部は、アクセス情報に含まれる各符号化データファイルのネットワーク位置情報および各セグメントのファイル内でのバイト単位での位置情報を指定して、HTTPに従って前記セグメントを取得してもよい。 The acquisition unit may acquire the segment according to HTTP by designating network position information of each encoded data file included in the access information and position information in bytes of each segment in the file.
前記取得部は、前記アクセス情報に基づき、時系列に復号されるべきセグメントを前記コンテンツサーバからネットワークを介して順次に取得し、前記選択部は、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記ネットワークの状況に応じて動的に選択してもよい。 The acquisition unit sequentially acquires segments to be decoded in time series from the content server via the network based on the access information, and the selection unit selects any of the segments constituting the encoded data as the content. Whether to make a request to the server may be dynamically selected according to the state of the network.
前記コンテンツ再生装置は、前記取得部により取得されたセグメントをバッファリングするバッファを備え、前記再生部は、前記バッファにバッファリングされたセグメントを順次に再生し、前記選択部は、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記バッファによるバッファリング状況に応じて選択してもよい。 The content playback apparatus includes a buffer that buffers the segment acquired by the acquisition unit, the playback unit sequentially plays back the segment buffered in the buffer, and the selection unit Whether to request the content server to request a segment constituting data may be selected according to the buffering status of the buffer.
前記選択部は、前記バッファにバッファリングされているセグメントで再生可能な時間が短くなると、低ビットレートで符号化された符号化データを構成するセグメントを選択し、前記バッファにバッファリングされているセグメントで再生可能な時間が長くなると、高ビットレートで符号化された符号化データを構成するセグメントを選択してもよい。 When the reproducible time is shortened in the segment buffered in the buffer, the selection unit selects a segment constituting encoded data encoded at a low bit rate and is buffered in the buffer. When the reproducible time for a segment becomes longer, a segment constituting encoded data encoded at a high bit rate may be selected.
また、上記課題を解決するために、本発明の別の観点によれば、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成し、複数のセグメントから構成される前記複数の符号化データの各々を記憶するコンテンツサーバに、いずれの符号化データを構成するセグメントを要求するかを、前記同一コンテンツ内で順次に選択する選択部と、前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部と、前記コンテンツサーバから取得されたセグメントを順次に再生する再生部と、を備えるコンテンツ再生装置が提供される。 In order to solve the above problem, according to another aspect of the present invention, a plurality of encoded data is generated by encoding the same content at different bit rates to generate a plurality of encoded data. A selection unit that sequentially selects within the same content which segment of the encoded data is requested from the content server that stores each of the encoded data, and the segment selected by the selection unit is the content There is provided a content playback apparatus including an acquisition unit that requests a server and acquires from the content server, and a playback unit that sequentially plays back the segments acquired from the content server.
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成し、複数のセグメントから構成される前記複数の符号化データの各々を記憶するコンテンツサーバに、いずれの符号化データを構成するセグメントを要求するかを、前記同一コンテンツ内で順次に選択する選択部と、前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部と、前記コンテンツサーバから取得されたセグメントを順次に再生する再生部と、として機能させるためのプログラムが提供される。 In order to solve the above problem, according to another aspect of the present invention, the computer generates the plurality of encoded data by encoding the same content at different bit rates, and includes the plurality of segments. A selection unit that sequentially selects within the same content which segment of the encoded data is requested from the content server that stores each of the plurality of encoded data, and the segment selected by the selection unit A program for causing the content server to function as an acquisition unit that acquires the content server from the content server and a playback unit that sequentially plays back the segments acquired from the content server is provided.
また、上記課題を解決するために、本発明の別の観点によれば、コンテンツサーバが、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成するステップと、前記コンテンツサーバが、複数のセグメントから構成される前記複数の符号化データの各々を記憶媒体に記憶するステップと、コンテンツ再生装置が、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記同一コンテンツ内で順次に選択するステップと、前記コンテンツ再生装置が、選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得するステップと、前記コンテンツ再生装置が、前記コンテンツサーバから取得されたセグメントを順次に再生するステップと、を含むコンテンツ再生方法が提供される。 In order to solve the above problem, according to another aspect of the present invention, a content server encodes the same content at different bit rates to generate a plurality of encoded data, and the content server includes: The step of storing each of the plurality of encoded data composed of a plurality of segments in a storage medium, and the content reproduction apparatus requesting the segment constituting the encoded data to the content server are the same A step of sequentially selecting the content; a step in which the content reproduction device requests the selected segment from the content server to acquire the selected segment; and the content reproduction device is acquired from the content server. Content playback including the step of sequentially playing back segments The law is provided.
また、上記課題を解決するために、本発明の別の観点によれば、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成する生成部と、複数のセグメントから構成される前記複数の符号化データの各々を記憶する記憶部とを備え、前記生成部は、前記複数の符号化データの各々へのアクセス情報、および前記複数の符号化データのうちの1の符号化データからなる第1のデータファイルと、他の符号化データの各々からなる1または2以上の第2のデータファイルとを、生成する、コンテンツサーバが提供される。 In order to solve the above-described problem, according to another aspect of the present invention, the generation unit configured to generate a plurality of encoded data by encoding the same content at different bit rates, and the plurality of segments. A storage unit that stores each of the plurality of encoded data, and the generation unit includes access information to each of the plurality of encoded data, and one encoded data of the plurality of encoded data. There is provided a content server that generates a first data file and one or more second data files each including other encoded data.
以上説明したように本発明によれば、コンテンツの適応的なストリーミングにおける送信側の負荷を軽減することができる。 As described above, according to the present invention, it is possible to reduce the load on the transmission side in adaptive streaming of content.
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。 Exemplary embodiments of the present invention will be described below in detail with reference to the accompanying drawings. In addition, in this specification and drawing, about the component which has the substantially same function structure, duplication description is abbreviate | omitted by attaching | subjecting the same code | symbol.
また、以下に示す項目順序に従って当該「発明を実施するための形態」を説明する。
1.コンテンツ再生システムの概要
2.コンテンツ再生装置のハードウェア構成
3.コンテンツサーバの機能
4.コンテンツ再生装置の機能
5.コンテンツ再生システムの動作
6.変形例
7.まとめ
Further, the “DETAILED DESCRIPTION OF THE INVENTION” will be described according to the following item order.
1. 1. Overview of
<1.コンテンツ再生システムの概要>
まず、図1および図2を参照し、本発明の実施形態によるコンテンツ再生システム1について概略的に説明する。
<1. Overview of content playback system>
First, with reference to FIG. 1 and FIG. 2, the
図1は、本発明の実施形態によるコンテンツ再生システムの構成を示した説明図である。図1に示したように、本発明の実施形態によるコンテンツ再生システム1は、コンテンツサーバ10と、ネットワーク12と、コンテンツ再生装置20(クライアント)と、を備える。
FIG. 1 is an explanatory diagram showing a configuration of a content reproduction system according to an embodiment of the present invention. As shown in FIG. 1, the
コンテンツサーバ10とコンテンツ再生装置20は、ネットワーク12を介して接続されている。このネットワーク12は、ネットワーク12に接続されている装置から送信される情報の有線、または無線の伝送路である。
The
例えば、ネットワーク12は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク12は、IP−VPN(Internet Protocol−Virtual Private Network)などの専用回線網を含んでもよい。
For example, the
コンテンツサーバ10は、コンテンツデータを符号化し、符号化データおよび符号化データのメタ情報を含むデータファイルを生成して記憶する。なお、コンテンツサーバ10がMP4形式のデータファイルを生成する場合、符号化データは「mdat」に該当し、メタ情報は「moov」に該当する。
The
また、コンテンツデータは、音楽、講演およびラジオ番組などの音楽データや、映画、テレビジョン番組、ビデオプログラム、写真、文書、絵画および図表などの映像データや、ゲームおよびソフトウェアなどであってもよい。 Further, the content data may be music data such as music, lectures and radio programs, video data such as movies, television programs, video programs, photographs, documents, pictures and charts, games and software.
ここで、本実施形態によるコンテンツサーバ10は、同一コンテンツに関し、異なるビットレートで複数のデータファイルを生成する。以下、図2を参照して当該事項について具体的に説明する。
Here, the
図2は、本実施形態によるコンテンツ再生システム1におけるデータの流れを示した説明図である。コンテンツサーバ10は、同一のコンテンツデータを異なるビットレートで符号化し、図2に示したように例えば2MbpsのファイルA、1.5MbpsのファイルB、1MbpsのファイルCを生成する。相対的に、ファイルAはハイビットレートであり、ファイルBは標準ビットレートであり、ファイルCはロービットレートである。
FIG. 2 is an explanatory diagram showing a data flow in the
また、図2に示したように、各ファイルの符号化データは複数のセグメントに区分されている。例えば、ファイルAの符号化データは「A1」、「A2」、「A3」、・・・「An」というセグメントに区分されており、ファイルBの符号化データは「B1」、「B2」、「B3」、・・・「Bn」というセグメントに区分されており、ファイルCの符号化データは「C1」、「C2」、「C3」、・・・「Cn」というセグメントに区分されている。 As shown in FIG. 2, the encoded data of each file is divided into a plurality of segments. For example, the encoded data of file A is divided into segments “A1”, “A2”, “A3”,... “An”, and the encoded data of file B is “B1”, “B2”, “B3”,... “Bn” is segmented, and the encoded data of file C is segmented as “C1”, “C2”, “C3”,. .
ここで、各セグメントはMP4のシンクサンプル(たとえば、AVC/H.264の映像符号化ではIDR−ピクチャ)で始まる単独で再生可能な1または2以上の映像符号化データおよび音声符号化データより構成サンプルで構成される。例えば、一秒30フレームのビデオデータが15フレーム固定長のGOP(Group of Picture)にて符号化されていた場合、各セグメントは、4GOPに相当する2秒分の映像ならびに音声符号化データであっても、20GOPに相当する10秒分の映像ならびに音声符号化データであってもよい。 Here, each segment is composed of one or more video encoded data and audio encoded data that can be reproduced independently starting with an MP4 sync sample (for example, IDR-picture in the case of video encoding of AVC / H.264). Consists of samples. For example, when video data of 30 frames per second is encoded by a GOP (Group of Pictures) having a fixed length of 15 frames, each segment is encoded video and audio data of 2 seconds corresponding to 4 GOP. Alternatively, it may be 10 seconds worth of video and audio encoded data corresponding to 20 GOP.
また、各ファイルにおける配置順番が同一のセグメントによる再生範囲(コンテンツの先頭からの時間位置の範囲)は同一である。例えば、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は同一であり、各セグメントが2秒分の符号化データである場合、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は、いずれもコンテンツの2秒〜4秒である。 In addition, the reproduction range (the range of the time position from the beginning of the content) by the segments having the same arrangement order in each file is the same. For example, when the playback ranges of the segment “A2”, the segment “B2”, and the segment “C2” are the same and each segment is encoded data for 2 seconds, the segment “A2”, the segment “B2”, and The playback range of the segment “C2” is 2 to 4 seconds for the content.
コンテンツサーバ10は、このような複数のセグメントから構成されるファイルA〜ファイルCを生成すると、ファイルA〜ファイルCを記憶する。そして、コンテンツサーバ10は、図2に示したように、異なるファイルを構成するセグメントをコンテンツ再生装置20に順次に送信し、コンテンツ再生装置20は、受信したセグメントをストリーミング再生する。
When the
なお、図1にはコンテンツ再生装置20の一例として表示装置を示しているが、コンテンツ再生装置20はかかる例に限定されない。例えば、コンテンツ再生装置20は、PC(Personal Computer)、家庭用映像処理装置(DVDレコーダ、ビデオデッキなど)、PDA(Personal Digital Assistants)、家庭用ゲーム機器、家電機器などの情報処理装置であってもよい。また、コンテンツ再生装置20は、携帯電話、PHS(Personal Handyphone System)、携帯用音楽再生装置、携帯用映像処理装置、携帯用ゲーム機器などの情報処理装置であってもよい。
Although FIG. 1 shows a display device as an example of the
ここで、コンテンツサーバ10からは、ネットワーク状況に応じたセグメントが送信されることが望ましい。例えば、ネットワーク帯域の余裕が大きい場合にはハイビットレートのセグメント(例えば、ファイルAを構成するセグメント)を送信し、ネットワーク帯域の余裕が少ない場合にはロービットレートのセグメント(例えば、ファイルCを構成するセグメント)を送信することが適切である。
Here, it is desirable that a segment corresponding to the network status is transmitted from the
しかし、ネットワーク状況の監視、およびネットワーク状況に応じたセグメントの選択をコンテンツサーバ10が行うと、コンテンツサーバ10の負荷が大きくなってしまうという問題があった。
However, when the
そこで、上記の背景の下、本実施形態にかかるコンテンツ再生システム1を創作するに至った。本実施形態にかかるコンテンツ再生システム1によれば、適応的なストリーミングをサーバ側の負荷を軽減して実現することができる。
In view of the above, the
さらに、本実施形態にかかるコンテンツ再生システム1によれば、HTTPやMP4などの規格の大部分に準拠し、かつ、既存装置と互換性を確保することができる。以下、このような本実施形態にかかるコンテンツ再生システム1を構成するコンテンツ再生装置20およびコンテンツサーバ10について詳細に説明する。
Furthermore, according to the
<2.コンテンツ再生装置のハードウェア構成>
図3は、コンテンツ再生装置20のハードウェア構成を示したブロック図である。コンテンツ再生装置20は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、ホストバス204と、を備える。また、コンテンツ再生装置20は、ブリッジ205と、外部バス206と、インタフェース207と、入力装置208と、出力装置210と、ストレージ装置(HDD)211と、ドライブ212と、通信装置215とを備える。
<2. Hardware configuration of content playback device>
FIG. 3 is a block diagram showing a hardware configuration of the
CPU201は、演算処理装置および制御装置として機能し、各種プログラムに従ってコンテンツ再生装置20内の動作全般を制御する。また、CPU201は、マイクロプロセッサであってもよい。ROM202は、CPU201が使用するプログラムや演算パラメータ等を記憶する。RAM203は、CPU201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス204により相互に接続されている。
The
ホストバス204は、ブリッジ205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス206に接続されている。なお、必ずしもホストバス204、ブリッジ205および外部バス206を分離構成する必要はなく、一のバスにこれらの機能を実装してもよい。
The
入力装置208は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU201に出力する入力制御回路などから構成されている。コンテンツ再生装置20のユーザは、該入力装置208を操作することにより、コンテンツ再生装置20に対して各種のデータを入力したり処理動作を指示したりすることができる。
The
出力装置210は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置およびランプなどの表示装置を含む。さらに、出力装置210は、スピーカおよびヘッドホンなどの音声出力装置を含む。出力装置210は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
The
ストレージ装置211は、本実施形態にかかるコンテンツ再生装置20の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置211は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置211は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置211は、ハードディスクを駆動し、CPU201が実行するプログラムや各種データを格納する。
The
ドライブ212は、記憶媒体用リーダライタであり、コンテンツ再生装置20に内蔵、あるいは外付けされる。ドライブ212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体24に記録されている情報を読み出して、RAM203に出力する。また、ドライブ212は、リムーバブル記憶媒体24に情報を書き込むこともできる。
The
通信装置215は、例えば、ネットワーク12に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置215は、無線LAN(Local Area Network)対応通信装置であっても、LTE(Long Term Evolution)対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
The
以上、図3を参照してコンテンツ再生装置20のハードウェア構成について説明した。コンテンツサーバ10のハードウェアはコンテンツ再生装置20と実質的に同一に構成することが可能であるため、説明を省略する。
The hardware configuration of the
<3.コンテンツサーバの機能>
次に、図4〜図7を参照し、本実施形態によるコンテンツサーバ10の機能を説明する。
<3. Content Server Functions>
Next, functions of the
図4は、本実施形態によるコンテンツサーバ10の構成を示した機能ブロック図である。図4に示したように、本実施形態によるコンテンツサーバ10は、ファイル生成部120と、記憶部130と、通信部140と、を備える。
FIG. 4 is a functional block diagram showing the configuration of the
ファイル生成部120は、コンテンツデータを符号化するエンコーダ122を備え、符号化データおよびメタデータを含むMP4ファイルを生成する。より詳細には、ファイル生成部120は、同一コンテンツに関し、符号化データのビットレートが異なる複数のMP4ファイルを生成する。以下、図5を参照して一般的なMP4ファイルの構成を説明した後、本実施形態においてファイル生成部120により生成されるMP4ファイルの構成を説明する。
The
図5は、一般的なMP4ファイルの構成を示した説明図である。図5に示したように、MP4ファイルは「moov」および「mdat」を含む。「mdat」は映像や音声などの符号化データである。本実施例では、映像の符号化にはH.246/AVC,音声符号化にはHE−AACを利用する。「moov」は、「trak(video)」や「trak(audio)」など、「mdat」に含まれる各セグメントへのアクセス情報を含む。アクセス情報としては、例えば、各サンプルの所在情報(バイトオフセット)や再生時間情報などがあげられる。 FIG. 5 is an explanatory diagram showing the structure of a general MP4 file. As shown in FIG. 5, the MP4 file includes “moov” and “mdat”. “Mdat” is encoded data such as video and audio. In this embodiment, H.264 is used for video encoding. HE-AAC is used for H.246 / AVC and speech coding. “Moov” includes access information to each segment included in “mdat”, such as “trak (video)” and “trak (audio)”. Examples of the access information include location information (byte offset) of each sample and reproduction time information.
なお、MP4においては他の外部ファイルを参照するためのデータボックスとして「dinf」が規定されている。図5に示したように「moov」の参照先が同一のMP4ファイルに含まれる「mdat」である場合、この「dinf」の値は「null」である。これに対し、本実施形態においては、図6を参照して説明するように、この「dinf」を活用することで顕著な効果を得ることができる。 In MP4, “dinf” is defined as a data box for referring to another external file. As shown in FIG. 5, when the reference destination of “moov” is “mdat” included in the same MP4 file, the value of “dinf” is “null”. On the other hand, in this embodiment, as described with reference to FIG. 6, a remarkable effect can be obtained by utilizing this “dinf”.
図6は、本実施形態においてファイル生成部120により生成されるMP4ファイルの構成を示した説明図である。図6に示したように、ファイル生成部120は、同一コンテンツに関し、ビットレートが異なる「mdat」を含む複数のMP4ファイルA〜MP4ファイルCを生成する。
FIG. 6 is an explanatory diagram showing the configuration of the MP4 file generated by the
本実施形態では、セグメントはビデオのMP4 Sync Sampleを境界にして分割されたデータであり、セグメント中には映像符号化データと音声符号化データがインターリーブして配置されている。セグメントは、コンテンツが再生される時系列に連続的にmdatに配列されている。ビットレートが異なる各データファイルのセグメントの再生時間は同じになるように符号化されている。また、セグメントの先頭にはAVC/H.264の場合はIDRピクチャーが存在するように配置され、セグメント単位で、ビットレートの異なるデータに切り替えることができる。 In the present embodiment, a segment is data divided with a video MP4 Sync Sample as a boundary, and video encoded data and audio encoded data are arranged interleaved in the segment. The segments are arranged in mdat continuously in time series in which the content is reproduced. The data files having different bit rates are encoded so that the playback times of the segments are the same. In addition, the AVC / H. In the case of H.264, the IDR picture is arranged so as to exist, and it is possible to switch to data having a different bit rate for each segment.
なお、各セグメントの位置はSync Sampleの位置であり、コンテンツ再生装置20は、「moov」のSample Description boxの情報、もしくは、それに含まれるSync sample tableboxと組み合わせによって得られるセグメント位置を元に、各データファイルから、セグメントデータの読み込みを行える。本実施形態では1つのビデオフレームを一つのSampleとし、30フレームに一回IDRピクチャーが存在するSampleであるSync Sampleとなるようにし、Sample Description boxにはSync sample table boxを設ける。
Note that the position of each segment is the position of the Sync Sample, and the
MP4ファイルB(第1のデータファイル)の「mdat」は、ビットレートが1.5MbpsであるセグメントB1〜Bnで構成され、MP4ファイルCの「mdat」(第2のデータファイル)は、ビットレートが1MbpsであるセグメントC1〜Cnで構成され、MP4ファイルA(第3のデータファイル)の「mdat」は、ビットレートが2MbpsであるセグメントA1〜Anで構成される。 “Mdat” of MP4 file B (first data file) is composed of segments B1 to Bn having a bit rate of 1.5 Mbps, and “mdat” (second data file) of MP4 file C is bit rate. Is composed of segments C1 to Cn with 1 Mbps, and “mdat” of the MP4 file A (third data file) is composed of segments A1 to An with a bit rate of 2 Mbps.
また、MP4ファイルBの「moov」は、同一ファイルを構成するセグメントB1〜Bnにアクセスするための「trak(video)B」や「trak(audioB)」を含む。 In addition, “moov” of the MP4 file B includes “trak (video) B” and “trak (audio B)” for accessing the segments B1 to Bn constituting the same file.
さらに、MP4ファイルBの「moov」は、MP4ファイルCを構成するセグメントC1〜Cnにアクセスするための「trak(videoC’)」および「trak(audioC’)」を含む。 Furthermore, “moov” of the MP4 file B includes “trak (videoC ′)” and “trak (audioC ′)” for accessing the segments C1 to Cn constituting the MP4 file C.
すなわち、この「trak(videoC’)」および「trak(audioC’)」の「dinf」には、MP4ファイルCのURLが記載される。より具体的には、以下に示す「dinf」の構文中の‘location’の欄にMP4ファイルCのURLが記載される。また、「trak(VideoC’)」および「trak(audioC’)」に記載されている映像トラックのSample Description Boxの情報から、各SampleおよびSync SampleセグメントC1〜Cnの位置情報(ファイル内でのバイトオフセット)が得られる。 That is, the URL of the MP4 file C is described in “dinf” of “trak (videoC ′)” and “trak (audioC ′)”. More specifically, the URL of the MP4 file C is described in the “location” column in the “dinf” syntax shown below. Further, the position information (bytes in the file) of each Sample and Sync Sample segment C1 to Cn is obtained from the information of the Sample Description Box of the video track described in “trak (VideoC ′)” and “trak (audioC ′)”. Offset).
(構文例)
aligned(8)
class DataEntryUrlBox (bit(24) flags) extends FullBox(‘url ’,
version
= 0, flags) {
string location;
}
(Syntax example)
aligned (8)
class DataEntryUrlBox (bit (24) flags) extends FullBox ('url',
version
= 0, flags) {
string location;
}
同様に、MP4ファイルBの「moov」は、MP4ファイルAを構成するセグメントA1〜Anにアクセスするための「trak(videoA’)」および「trak(audioA’)」を含む。すなわち、この「trak(videoA’)」および「trak(audioA’)」の「dinf」には、MP4ファイルAのURLが記載される。 Similarly, “moov” of the MP4 file B includes “trak (videoA ′)” and “trak (audioA ′)” for accessing the segments A1 to An that constitute the MP4 file A. That is, the URL of the MP4 file A is described in “dinf” of “trak (video A ′)” and “trak (audio A ′)”.
なお、MP4ファイルAにも、MP4ファイルAを構成するセグメントA1〜Anにアクセスするための「trak(videoA)」および「trak(audioA)」が含まれるが、コンテンツ再生装置20は、これらは後述の適応的なストリーミングには利用しない。
The MP4 file A also includes “trak (videoA)” and “trak (audioA)” for accessing the segments A1 to An that make up the MP4 file A. The
同様に、MP4ファイルCにもMP4ファイルCを構成するセグメントC1〜Cnにアクセスするための「trak(videoC)」および「trak(audioC)」が含まれるが、コンテンツ再生装置20は、これらは後述の適応的なストリーミングには利用しない。
Similarly, the MP4 file C includes “trak (videoC)” and “trak (audioC)” for accessing the segments C1 to Cn constituting the MP4 file C. The
上述したように、本実施形態においては、異なるビットレートを有する「mdat」を、同一のMP4ファイルでなく、異なるMP4ファイルに作成する。また、1のMP4ファイルに、他のMP4ファイルに含まれる「mdat」を参照するためのURLおよび各セグメントのファイル内でのオフセット情報がSample Description boxに記載される。 As described above, in the present embodiment, “mdat” having different bit rates is created not in the same MP4 file but in different MP4 files. Further, in one MP4 file, a URL for referring to “mdat” included in another MP4 file and offset information in the file of each segment are described in the Sample Description box.
かかる構成により、本実施形態によるMP4ファイルを、ストリーミング用だけでなく、ダウンロード用としても支障なく利用することが可能となる。その理由を、異なるビットレートを有する複数の「mdat」を同一ファイルに生成する場合と比較して説明する。 With this configuration, the MP4 file according to the present embodiment can be used not only for streaming but also for downloading without any problem. The reason will be described in comparison with a case where a plurality of “mdat” having different bit rates are generated in the same file.
異なるビットレートを有する複数の「mdat」を同一ファイルに生成し、当該ファイルをダウンロード用としても利用する場合、クライアントは、複数の「mdat」を含む当該ファイル全体をダウンロードすることとなる。このため、ダウンロードデータ量およびダウンロード時間が不要に倍増してしまうという問題が生じる。 When a plurality of “mdat” having different bit rates are generated in the same file and the file is also used for downloading, the client downloads the entire file including the plurality of “mdat”. For this reason, there arises a problem that the amount of download data and download time are doubled unnecessarily.
これに対し、本実施形態においては、ビットレートが異なる複数の「mdat」のうちで、1の「mdat」のみを含むMP4ファイルをダウンロードすることができる。例えば、コンテンツ再生装置20は、ビットレートが異なる複数の「mdat」のうちでハイビットレートの「mdat」のみを含むMP4ファイルAをダウンロードすることができる。したがって、クライアントは、ダウンロードデータ量およびダウンロード時間を抑制してダウンロードを行うことが可能となる。
In contrast, in the present embodiment, an MP4 file including only one “mdat” among a plurality of “mdat” having different bit rates can be downloaded. For example, the
なお、ファイル生成部120は、ファイルBの「moov」中の各トラックの「minfo」に、各「trak」の参照先のメディアデータが、異なるビットレートでの符号化により得られた代替可能なメディアデータのグループに属するか否かを示す情報を記載してもよい。例えば、以下に示す「minfo」の構文中の以下の拡張ブロックを設け、“alternative_media_group”には、代替可能なメディアデータのグループの識別番号を記載し、「extended_type」に「<uuid_value>:T.B.D」と記載し、「flags」に「0」と記載してもよい。コンテンツ再生装置20は、代替可能なメディアデータのグループに属するメディアデータのセグメントは、同一のグループに属する他のメディアデータ中の対応セグメントで代替可能であることを認識できる。また、メディアの最大ビットレートmaxbitrateおよび平均ビットレートavgbitrateが記載されており、コンテンツ再生装置20が、どの符号化データのセグメントを取得するかに判断に利用できる。
Note that the
(構文例)
aligned(8) class
AlternateMediaInformationBox extends FullBox(‘uuid’, version=0,
flags
= 0, extended_type){
unsigned
int(32) alternative_media_group;
unsigned int(32)
maxbitrate;
unsigned int(32)
avgbitrate;
}
(Syntax example)
aligned (8) class
AlternateMediaInformationBox extends FullBox ('uuid', version = 0,
flags
= 0, extended_type) {
unsigned
int (32) alternative_media_group;
unsigned int (32)
maxbitrate;
unsigned int (32)
avgbitrate;
}
かかる構成により、コンテンツ再生装置20は、MP4ファイルの「moov」中の「minfo」を確認することにより、当該MP4ファイルが本実施形態の方法により生成されたものであるかを判断することができる。そして、当該MP4ファイルが本実施形態の方法により生成されたものである場合、コンテンツ再生装置20は、後述するように適応的なストリーミングをコンテンツサーバ10に対して要求することが可能となる。
With this configuration, the
また、図6においては、MP4ファイルが主に「moov」と「mdat」から構成される例を示したが、MP4ファイルの構成はかかる例に限定されない。例えば、図6に示した「moov」に含まれるアクセス情報を、図7に示すように「moov」と「moof」を用いて分散的に配置してもよい。 6 shows an example in which the MP4 file mainly includes “moov” and “mdat”, but the configuration of the MP4 file is not limited to such an example. For example, the access information included in “moov” shown in FIG. 6 may be distributed using “moov” and “moof” as shown in FIG.
図7は、本実施形態においてファイル生成部120により生成されるMP4ファイルの変形例を示した説明図である。図7に示したように、各ファイルの先頭には「moov」が配置され、以降、「mdat」と「moof」が交互に配置される。MP4ファイルBの「moov」には、前述したMP4ファイルの構造と同様に、MP4ファイルBとAとCの各セグメントにアクセス情報が記載された「trak」および後続の「mdat」へアクセスするための「Sample description boxが含まれる。また、MP4ファイルBの各「moof」には、「moov」に記載された「trak」に対応した複数の「traf」を含み、「traf」にはそれぞれのファイルの後続する「mdat」の各セグメントにアクセスするための情報を含む。なお、MP4ファイルC,Aにも「moov」、「moof」は記載されても良いが、前例と同様に、コンテンツ再生装置20は、適応ストリーミングでは使用しない。
FIG. 7 is an explanatory diagram showing a modification of the MP4 file generated by the
このようにアクセス情報を分散的に配置することにより、MP4ファイルBの先頭「moov」および各「moof」のデータ量を小さくすることができ、先頭の「moov」取得時間の抑制ならび、コンテンツ再生装置20がバッファ230に保持する「moov」および「moof」の情報を減少させることができる。また、「moof」および対応のndatは独立して生成することができるため、生放送などのライブコンテンツのストリーミングに利用できる。本実施形態は、「moov」、「moof」および「mdat」を分散的に配置する図7に示したフォーマットにも適用可能である。
By arranging the access information in a distributed manner in this way, the data amount of the top “moov” and each “moof” of the MP4 file B can be reduced, the time for obtaining the top “moov” is suppressed, and the content reproduction is performed. The “moov” and “moof” information held by the
ここで図4を参照してコンテンツサーバ10の構成の説明に戻る。図4に示したコンテンツサーバ10の記憶部130は、ファイル生成部120により生成された複数のMP4ファイルを記憶する記憶媒体である。
Here, referring back to FIG. 4, the description of the configuration of the
例えば、記憶部130は、不揮発性メモリ、磁気ディスク、光ディスク、およびMO(Magneto Optical)ディスクなどの記憶媒体であってもよい。不揮発性メモリとしては、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)、EPROM(Erasable Programmable ROM)があげられる。また、磁気ディスクとしては、ハードディスクおよび円盤型磁性体ディスクなどがあげられる。また、光ディスクとしては、CD(Compact Disc、DVD−R(Digital Versatile Disc Recordable)およびBD(Blu−Ray Disc(登録商標))などがあげられる。
For example, the
通信部140は、コンテンツ再生装置20とのインターフェースであって、ネットワーク12を介してコンテンツ再生装置20と通信する。より詳細には、通信部140は、HTTPに従ってコンテンツ再生装置20と通信するHTTPサーバとしての機能を有する。例えば、通信部140は、HTTPに従ってコンテンツ再生装置20から要求されたデータを記憶部130から抽出し、HTTPレスポンスとしてコンテンツ再生装置20にデータを送信する。
The
<4.コンテンツ再生装置の機能>
以上、本実施形態によるコンテンツサーバ10の機能を説明した。続いて、図8を参照し、本実施形態によるコンテンツ再生装置20の機能を説明する。
<4. Functions of content playback device>
The function of the
図8は、本実施形態によるコンテンツ再生装置20の構成を示した機能ブロック図である。図8に示したように、本実施形態によるコンテンツ再生装置20は、取得部220と、バッファ230と、再生部240と、選択部250と、を備える。
FIG. 8 is a functional block diagram showing the configuration of the
取得部220は、コンテンツサーバ10とのインターフェースであって、コンテンツサーバ10に対してデータを要求し、コンテンツサーバ10からデータを取得する。より詳細には、取得部220は、HTTPに従ってコンテンツ再生装置20と通信するHTTPクライアントとしての機能を有する。例えば、取得部220は、HTTP Rangeを利用することにより、コンテンツサーバ10からMP4ファイルの一部(moovやセグメント)を部分的に取得することができる。
The
バッファ230は、取得部220によりコンテンツサーバ10から取得されるセグメントを順次にバッファリングする。バッファ230にバッファリングされたセグメントは、FIFO(First In First Out)で再生部240へ順次に供給される。
The
再生部240は、バッファ230から供給されるセグメントを順次に再生する。具体的には、再生部240は、セグメントのデコード、DA変換、およびレンダリングなどを行う。
The
選択部250は、いずれのMP4ファイルを構成するセグメントを取得するか、すなわち、いずれのビットレートを有するセグメントを取得するかを、ネットワーク12の状況に応じて同一コンテンツ内で順次に選択する。例えば、選択部250がセグメント「A1」、「B2」、「A3」を順次に選択すると、図2に示したように、取得部220がコンテンツサーバ10からセグメント「A1」、「B2」、「A3」を順次に取得する。
The
なお、取得部220は、セグメントの取得に先立ってMP4ファイルの「moov」を取得しており、選択部250により選択されたセグメントを当該「moov」に含まれるアクセス情報を指定してコンテンツサーバ10から取得することができる。
The
ここで、ネットワーク12の帯域が大きくなるとバッファ230のバッファリングデータ量が増加し、帯域が小さくなるとバッファ230のバッファリングデータ量が減少すると考えられる。そこで、選択部250は、バッファ230のバッファリング状況を監視することで、ネットワーク12の状況を間接的に把握してもよい。
Here, it is considered that the buffering data amount of the
例えば、選択部250は、バッファ230にバッファリングされているサンプル数(ビデオフレーム数)が所定範囲内である場合、すなわち、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲内である場合には、標準ビットレート(例えば、1.5Mbps)のセグメントを選択してもよい。例えば、コンテンツ再生装置20は、標準ビットレート90個のサンプル(3秒分)を一時蓄積してから、ストリーミングの再生を開始し、後続のセグメントデータを読み続けながら再生を続けるが、その再生中にバッファ230のデータが75個から105個のサンプルの範囲内にある場合は、標準のビットレートのセグメントを選択する。
For example, when the number of samples (the number of video frames) buffered in the
一方、選択部250は、バッファリング量が減少し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲を下回った場合、ロービットレート(例えば、1Mbps)のセグメントを選択してもよい。例えば、選択部250は、再生中にバッファ230のデータが75個のサンプル以下になった場合は、ロービットレートのセグメントを選択する。
On the other hand, the
また、選択部250は、バッファリング量が増加し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲を上回った場合、ハイビットレート(例えば、2Mbps)のセグメントを選択してもよい。例えば、選択部250は再生中にバッファ230のデータが105個サンプル以上になった場合は、ハイビットレートのセグメントを選択する。さらに、バッファ230中のセグメントが120個と十分になった場合には、読み込みを一時中断し、120個以下になった場合に再開する。
Further, when the buffering amount increases and the reproducible time of the sample buffered in the
なお、上記ではネットワーク12の帯域の判断方法の一例としてバッファ230のバッファリング状況を監視する例を説明したに過ぎず、本実施形態はかかる例に限定されない。例えば、コンテンツ再生装置10は、実際にダミーパケットをネットワーク12に送信することによりネットワーク12の帯域を判断しても、取得部220によるセグメントの取得速度に基づいてネットワーク12の帯域を判断してもよい。
In the above description, only an example of monitoring the buffering status of the
<5.コンテンツ再生システムの動作>
以上、本実施形態によるコンテンツサーバ10およびコンテンツ再生装置20の機能を説明した。続いて、本実施形態によるコンテンツ再生システム1の動作について図9を参照して説明する。
<5. Operation of content playback system>
The functions of the
図9は、本実施形態によるコンテンツ再生システム1の動作を示したシーケンス図である。まず、コンテンツ再生装置20の取得部220は、「HTTP:GET URL−B with Range」により、コンテンツサーバ10に対してあるコンテンツに関するMP4ファイルBの「moov」の送信を要求する(S304)。そして、コンテンツサーバ10の通信部140は、「HTTP:Response」として、MP4ファイルBの「moov」をコンテンツ再生装置20に送信する(S308)。なお、MP4ファイルBのURL−Bは、コンテンツのメタデータ情報に記載されて、コンテンツ再生装置20は事前に取得済であるものとする。そして、コンテンツ再生装置20のバッファ230が、コンテンツサーバ10から取得されるMP4ファイルBの「moov」のバッファリングを開始する(S310)。
FIG. 9 is a sequence diagram showing the operation of the
ここで、コンテンツ再生装置20の選択部250は、「moov」中の「minfo」を確認することにより、「moov」中の「trak」の参照先のファイルが、異なるビットレートでの符号化により得られた代替メディアグループに属しているか否かを判断することができる。
Here, the
そして、「moov」中の「trak」の参照先のファイルが異なるビットレートでの符号化により得られた代替メディアグループに属している場合、選択部250は、標準ビットレートを有するMP4ファイルBのセグメントBiを選択する。
When the file referred to by “trak” in “moov” belongs to an alternative media group obtained by encoding at a different bit rate, the
続いて、取得部220が、「HTTP:GET URL−B with Range」を用い、選択部250により選択されたMP4ファイルBのセグメントBiをコンテンツサーバ10に要求する(S312)。具体的には、取得部220は、MP4ファイルBのネットワーク位置情報、MP4ファイルBにおけるセグメントBiのバイト単位での位置情報指定することにより、MP4ファイルBのセグメントBiをコンテンツサーバ10に要求する。なお、MP4ファイルBのネットワーク位置情報、MP4ファイルBにおけるセグメントBiのバイト単位での位置情報などは、S308で受信されるMP4ファイルBの「moov」に記載されている。そして、コンテンツサーバ10の通信部140は、「HTTP:Response」として、MP4ファイルBのセグメントBiをコンテンツ再生装置20に送信する(S316)。
Subsequently, the
その後、コンテンツ再生装置20のバッファ230にセグメントBiが十分にバッファリングされると、再生部240がセグメントBiの再生を開始する(S320)。なお、バッファリング開始時(S310)から、ある一定の時間たたっても十分なバッファの読み出しができない場合は、ネットワーク帯域が十分でないと考えられる。そこで、このような場合は、S316から後続するセグメントの読み込みをファイルCのセグメントに切り替えてもよい。同様に、早く所定のセグメントをバッファリングできると判断した場合は、ファイルAのセグメントをバッファリングしてから再生を開始する(S320)ことも可能である。
Thereafter, when the segment Bi is sufficiently buffered in the
同様に、コンテンツ再生装置20の取得部250は、「HTTP:GET URL−B with Range」を用い、次のセグメントBjをコンテンツサーバ10に要求する(S324)。そして、コンテンツサーバ10の通信部140は、「HTTP:Response」として、次のセグメントBjをコンテンツ再生装置20に送信する(S328)。
Similarly, the
ここで、バッファ230のバッファリング量が減少し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲を下回った場合(S332)、選択部250は、ロービットレートを有するMP4ファイルCのセグメントCkを選択する。
Here, when the buffering amount of the
そして、取得部220が、「HTTP:GET URL−C with Range」を用い、選択部250により選択されたMP4ファイルCのセグメントCkをコンテンツサーバ10に要求する(S336)。当該要求を受けたコンテンツサーバ10の通信部140は、「HTTP:Response」として、MP4ファイルCのセグメントCkをコンテンツ再生装置20に送信する(S340)。
Then, the
その後、バッファ230のバッファリング量が増加し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲になった場合(S344)、選択部250は、標準ビットレートを有するMP4ファイルBのセグメントBlを選択する。
Thereafter, when the buffering amount of the
続いて、取得部220が、「HTTP:GET URL−B with Range」を用い、選択部250により選択されたMP4ファイルBのセグメントBlをコンテンツサーバ10に要求する(S348)。そして、コンテンツサーバ10の通信部140は、「HTTP:Response」として、MP4ファイルBのセグメントBlをコンテンツ再生装置20に送信する(S352)。
Subsequently, the
さらにその後、バッファ230のバッファリング量が増加し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲を上回った場合(S356)、選択部250は、ハイビットレートを有するMP4ファイルAのセグメントAmを選択する。
Thereafter, when the buffering amount of the
続いて、取得部220が、「HTTP:GET URL−A with Range」を用い、選択部250により選択されたMP4ファイルAのセグメントAmをコンテンツサーバ10に要求する(S360)。そして、コンテンツサーバ10の通信部140は、「HTTP:Response」として、MP4ファイルAのセグメントAmをコンテンツ再生装置20に送信する(S352)。
Subsequently, the
以降も同様に、バッファ230のバッファリング量に応じて選択部250がいずれのビットレートを有するセグメントを要求するかを選択し、選択部250により選択されたセグメントを取得部220がコンテンツサーバ10から取得する。
Similarly, the
かかる構成により、ネットワーク12の帯域が小さい場合に再生が途切れてしまうことを防止し、また、ネットワーク12の帯域が大きい場合には高品質な再生を実現することができる。また、本実施形態においては、ネットワーク12の帯域判断、および要求するセグメントの選択をコンテンツ再生装置20側で行うことができるため、コンテンツサーバ10の負荷軽減を図ることが可能である。
With this configuration, it is possible to prevent playback from being interrupted when the bandwidth of the
<6.変形例>
上記では、「trak」中の「dinf」を用いて他ファイルの「mdat」へのアクセスを可能とする例を説明したが、図10を参照して説明するように、「trak」を用いて他ファイルの「trak」を参照できるようにしてもよい。
<6. Modification>
In the above description, an example of enabling access to “mdat” of another file using “dinf” in “trak” has been described. However, as described with reference to FIG. 10, using “trak” You may be able to refer to “trak” of another file.
図10は、本実施形態においてファイル生成部120により生成されるMP4ファイルの変形例を示した説明図である。図10に示したように、MP4ファイルBの「trak」にMP4ファイルAの「trak」へのアクセス情報を記載すると、コンテンツ再生装置20は、MP4ファイルBの「trak」を解析し、記載されているアクセス情報を用いてMP4ファイルAの「trak」を取得することができる。このため、コンテンツ再生装置20は、MP4ファイルAの「trak」およびそこに記載されているSample Description Boxに基づき、セグメントA1、A2、・・・を取得することも可能となる。
FIG. 10 is an explanatory diagram showing a modification of the MP4 file generated by the
同様に、MP4ファイルBの「trak」にMP4ファイルCの「trak」へのアクセス情報を記載すると、コンテンツ再生装置20は、MP4ファイルBの「trak」を解析し、記載されているアクセス情報を用いてMP4ファイルCの「trak」を取得することができる。このため、コンテンツ再生装置20は、MP4ファイルCの「trak」およびそこに記載されているSample Description Boxに基づき、に基づいてセグメントC1、C2、・・・を取得することも可能となる。
Similarly, when the access information to “trak” of MP4 file C is described in “trak” of MP4 file B,
具体的には、MP4ファイルフォーマットを拡張し、以下に示す拡張ボックスを「minfo」に記載し、構文中の「extended_type」に「<uuid_value>:T.B.D」と記載し、「location」に参照先のMP4ファイルのURLを記載し、「track_ID」に参照先のMP4ファイルにおける「trak」の識別子を記載してもよい。これにより、コンテンツ再生装置20は、ファイルBのトラックのメディアデータとして代替可能なメディアデータがトラックCのtrack_idに示されるトラックにあることを認識できる。また、メディアの最大ビットレートmaxbitrateおよび平均ビットレートavgbitrateなどのビットレート情報が記載されており、コンテンツ再生装置20が、どの符号化データのセグメントを取得するかに判断に利用できる。
Specifically, the MP4 file format is expanded, the following extension box is described in “minfo”, “extended_value>: TBD” is described in “extended_type” in the syntax, and “location” The URL of the reference destination MP4 file may be described, and the “track_ID” may describe the identifier of “trak” in the reference destination MP4 file. Thereby, the
(構文例)
aligned(8)
class AlternateMediaReferenceBox extends FullBox(‘uuid’, version=0,
flags = 0, extended_type){unsigned
int(32) entry_count;
for
(i=1; i ・
entry_count; i++) {
string
location; // URL
unsigned
int(32) track_ID;
unsigned int(32)
maxbitrate;
unsigned int(32)
avgbitrate;
}
}
(Syntax example)
aligned (8)
class AlternateMediaReferenceBox extends FullBox ('uuid', version = 0,
flags = 0, extended_type) {unsigned
int (32) entry_count;
for
(i = 1; i
entry_count; i ++) {
string
location; // URL
unsigned
int (32) track_ID;
unsigned int (32)
maxbitrate;
unsigned int (32)
avgbitrate;
}
}
なお、上記構成は、「moov」に含まれるアクセス情報を、「moov」と「moof」を用いて分散的に配置するファイルフォーマットにも同様に適用可能である。この場合、図11に示すように、「trak」に他ファイルの「trak」へのアクセス情報を記載することにより、MP4ファイルBの「trak」を用いて、他のファイルの「trak」および「traf」にアクセスすることが可能となる。 The configuration described above can be similarly applied to a file format in which access information included in “moov” is distributed using “moov” and “moof”. In this case, as shown in FIG. 11, by describing the access information to “trak” of another file in “trak”, “trak” and “trak” of other files are used using “trak” of MP4 file B. “traf” can be accessed.
図11は、本実施形態においてファイル生成部120により生成されるMP4ファイルの変形例を示した説明図である。図11に示したように、MP4ファイルBの「trak」にMP4ファイルAの「trak」へのアクセス情報を記載すると、コンテンツ再生装置20は、MP4ファイルBの「trak」を解析し、記載されているアクセス情報を用いてMP4ファイルAの「trak」を取得することができる。このため、コンテンツ再生装置20は、MP4ファイルAの「trak」に基づいてセグメントA11、A12、・・・を取得することも可能となる。
FIG. 11 is an explanatory diagram showing a modification of the MP4 file generated by the
同様に、MP4ファイルBの「trak」にMP4ファイルCの「trak」へのアクセス情報を記載すると、コンテンツ再生装置20は、MP4ファイルBの「trak」を解析し、記載されているアクセス情報を用いてMP4ファイルCの「trak」を取得することができる。このため、コンテンツ再生装置20は、MP4ファイルCの「trak」および各「traf」に基づいてセグメントC11、C12、・・・を取得することも可能となる。なお、各ファイルの「moof」のファイル中の位置は、コンテンツ再生装置20がMP4ファイルのBOX構造を解析することによりも可能であるが、MP4ファイルに記載されたMovie Fragment Random access boxを利用して、各moofの位置情報を取得して該当のmoof情報を取得後に、moofに後続のmdatの各セグメントにアクセスしても良い。また、moof情報を先読みして「traf」を解析しておくことで、「moof」直後のmdatを時間的遅延なしに読み出し可能である。
Similarly, when the access information to “trak” of MP4 file C is described in “trak” of MP4 file B,
<7.まとめ>
以上説明したように、本実施形態においては、コンテンツ再生装置20の選択部250がいずれのビットレートを有するセグメントを要求するかをネットワーク12の帯域に応じて選択し、選択されたセグメントを取得部220がコンテンツサーバ10から取得する。したがって、本実施形態によれば、コンテンツサーバ10の負荷軽減を図ることが可能である。
<7. Summary>
As described above, in the present embodiment, the
また、本実施形態の大部分は、HTTPやMP4などの既存の規格に準拠するものである。したがって、本実施形態は、既存のHTTPおよびMP4を利用するストリーミングと互換性を有し、かつ、拡張機能を最小限に抑制できるため、円滑な導入が期待される。 Most of the present embodiment conforms to existing standards such as HTTP and MP4. Therefore, this embodiment is compatible with streaming using existing HTTP and MP4, and can suppress the extended function to the minimum, so that smooth introduction is expected.
また、本実施形態においては、異なるビットレートを有する「mdat」を、同一のMP4ファイルでなく、異なるMP4ファイルに作成する。このため、各MP4ファイルを、ストリーミング用としてだけでなく、ダウンロード用としても支障なく利用することが可能である。 In the present embodiment, “mdat” having different bit rates is created not in the same MP4 file but in different MP4 files. For this reason, each MP4 file can be used not only for streaming but also for downloading.
なお、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。 Although the preferred embodiments of the present invention have been described in detail with reference to the accompanying drawings, the present invention is not limited to such examples. It is obvious that a person having ordinary knowledge in the technical field to which the present invention pertains 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 these also belong to the technical scope of the present invention.
例えば、本明細書のコンテンツ再生システム1の処理における各ステップは、必ずしもシーケンス図として記載された順序に沿って時系列に処理する必要はない。例えば、コンテンツ再生システム1の処理における各ステップは、シーケンス図として記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
For example, each step in the processing of the
また、コンテンツ再生装置20およびコンテンツサーバ10に内蔵されるCPU201、ROM202およびRAM203などのハードウェアを、上述したコンテンツ再生装置20およびコンテンツサーバ10の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
Also, a computer program for causing hardware such as the
また、本実施例では、図6,7、10,11に示す通り、第1のデータファイルは標準ビットレートの符号化データを配置したが、ロービットレート、または、ハイビットレートの符号化データを配置してもよい。 Further, in this embodiment, as shown in FIGS. 6, 7, 10 and 11, the first data file has standard bit rate encoded data, but low bit rate or high bit rate encoded data is allocated. May be.
また、本実施例では、図6,7、10,11に示す通り、第1のデータファイルに符号化データを配置したが、第1のデータファイルのmoofにはそれら符号化データへのアクセス情報のみを配置するようにしてもよい。 In this embodiment, as shown in FIGS. 6, 7, 10, and 11, the encoded data is arranged in the first data file, but access information for the encoded data is included in the moof of the first data file. May be arranged.
また、本実施例では、図7に示すように「moov」、「moof」および「mdat」を分散的に配置する例を示したが、第1のデータファイルのみ分散的に配置し、他のデータファイルは図8に示すように「moov」およびそれに対応する「mdat」から構成されるように配置してもよい。 Further, in this embodiment, as shown in FIG. 7, an example in which “moov”, “moof”, and “mdat” are arranged in a distributed manner is shown, but only the first data file is arranged in a distributed manner, As shown in FIG. 8, the data file may be arranged so as to be composed of “moov” and “mdat” corresponding thereto.
さらに、第1のデータファイルに符号化データが含まれない場合の実施例を図12に示す。第1のデータファイルには、他のデータファイルに配置された符号化データの各セグメントのアクセス情報が記載されている。また、第1のデータファイルには「moov」および「moof」を利用してアクセス情報が分散化されるように配置され、各「moof」にはただ1つのデータファイルのセグメントへのアクセス情報のみを記載されている。 Furthermore, FIG. 12 shows an embodiment in which encoded data is not included in the first data file. In the first data file, access information of each segment of encoded data arranged in another data file is described. The first data file is arranged so that access information is distributed using “moov” and “moof”, and each “moof” has only access information to a segment of one data file. Is described.
この場合は、映像トラック、音声トラック、各々の「traf」には各セグメントのアクセス情報が各「moof」に記載されており、連続して配置された「moof」の組(この場合は3組)にある範囲のセグメントに対するアクセス情報が記載される。 In this case, the access information of each segment is described in each “moof” in each “traf” of the video track, the audio track, and a group of “moof” (in this case, three sets) arranged continuously. ) Describes access information for a range of segments.
図12に示した例では、「moov」の各「trak」にはセグメントへのアクセス情報が含まれず、次の3つの「moof」にセグメント1からセグメント(i−1)へのアクセス情報が記載される。同様に、さらに次の3つの「moof」にセグメントiからセグメント(j−1)へのアクセス情報が記載され、さらに次の3つの「moof」がセグメントjからセグメント(k−1)へのアクセス情報が記載される。なお、「moov」中の「trak」の配置順序(すなわち、B、C、A)と、3つの「moof」中の「traf」の配置順序(すなわち、B、C、A)は一致しているので、「traf」の読み込みが容易になる。
In the example shown in FIG. 12, each “trak” of “moov” does not include the access information to the segment, and the access information from the
このように第1データファイルを構成することによって、セグメントへのアクセス情報が第1のデータファイルを解析することのみによって容易に得られる。また、各データファイルのセグメント情報も「moof」の単位で分割されているために、コンテンツ再生装置20は、すべてのデータファイルのセグメントのアクセス情報を保持することなく、必要なデータファイルの「moof」のみを取得ならび、保持することで、ネットワーク状況に合わせて適切なビットレートのデータファイルを選択しながら、適応ストリーミングを行うことが可能となる。
By configuring the first data file in this way, the access information to the segment can be easily obtained only by analyzing the first data file. Further, since the segment information of each data file is also divided in units of “moof”, the
また、符号化データを含まないデータファイルは「moof」による分散化がされておらず、「moov」と「mdat」によって構成されるために、既存のHTTPおよびMP4を利用するストリーミングのみをサポートするコンテンツ再生装置のために、これらデータファイルは利用することができる。 In addition, since data files that do not include encoded data are not distributed by “moof” and are configured by “moov” and “mdat”, only streaming using existing HTTP and MP4 is supported. These data files can be used for the content reproduction apparatus.
一方、第1のデータファイルには符号化データが含まれないため、既存のコンテンツ再生装置の場合では再生できないなどの問題を考慮し、コンテンツ再生装置が適応ストリーミングに対応している場合は第1のMP4ファイル、そうでない場合は分散化されていなMP4ファイルが再生されるような仕組みを設けてもよい。例えば、コンテンツ再生装置に、各URLと属性を開示させ、コンテンツ再生装置の能力と属性に基づいてURL選ぶ方法などがある。 On the other hand, since the first data file does not include encoded data, the first data file takes into account the problem that reproduction cannot be performed in the case of an existing content reproduction device. It is also possible to provide a mechanism for reproducing the MP4 file, or the MP4 file that has not been distributed otherwise. For example, there is a method of causing the content reproduction apparatus to disclose each URL and attribute, and selecting a URL based on the capability and attribute of the content reproduction apparatus.
1 コンテンツ再生システム
10 コンテンツサーバ
12 ネットワーク
20 コンテンツ再生装置
120 ファイル生成部
122 エンコーダ
130 記憶部
140 通信部
220 取得部
230 バッファ
240 再生部
250 選択部
DESCRIPTION OF
Claims (8)
前記セグメントの所在情報を、前記他の機器から受信する受信部と、
前記送信部は、前記受信部により受信された前記セグメントの所在情報に基づいて、前記セグメントを前記他の機器に送信する、情報処理装置。 A transmission unit that transmits different location information regarding the plurality of segments in each of a plurality of contents that are different bit rates and configured from a plurality of segments;
A receiving unit for receiving the location information of the segment from the other device;
The information processing apparatus, wherein the transmission unit transmits the segment to the other device based on the location information of the segment received by the reception unit.
映像データのいずれかである請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the content is one of encoded audio data and encoded video data.
前記セグメントの所在情報を、前記他の機器から受信することと、
受信された前記所在情報に基づいてセグメントを前記他の機器に送信することと、
を含む、情報処理装置により実行される情報処理方法。 Transmitting location information relating to the plurality of segments in each of a plurality of contents having different bit rates and including a plurality of segments to another device;
Receiving the location information of the segment from the other device;
Sending a segment to the other device based on the received location information;
An information processing method executed by an information processing apparatus.
異なるビットレートであり、複数のセグメントから構成される、複数のコンテンツのそれぞれにおける前記複数のセグメントに関する所在情報を、他の機器に送信することと、
前記セグメントの所在情報を、前記他の機器から受信することと、
受信された前記所在情報に基づいてセグメントを前記他の機器に送信することと、
を実行させるための、プログラム。
On the computer,
Transmitting location information relating to the plurality of segments in each of a plurality of contents having different bit rates and including a plurality of segments to another device;
Receiving the location information of the segment from the other device;
Sending a segment to the other device based on the received location information;
A program for running
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015201283A JP2016040919A (en) | 2015-10-09 | 2015-10-09 | Information processor, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015201283A JP2016040919A (en) | 2015-10-09 | 2015-10-09 | Information processor, information processing method, and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014020958A Division JP2014131307A (en) | 2014-02-06 | 2014-02-06 | Information processing apparatus, information processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016040919A true JP2016040919A (en) | 2016-03-24 |
Family
ID=55541118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015201283A Pending JP2016040919A (en) | 2015-10-09 | 2015-10-09 | Information processor, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016040919A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113545095A (en) * | 2019-03-08 | 2021-10-22 | 佳能株式会社 | Method, apparatus and computer program for optimizing transmission of a portion of packaged media content |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004362099A (en) * | 2003-06-03 | 2004-12-24 | Sony Corp | Server device, information processor, information processing method, and computer program |
JP2007036666A (en) * | 2005-07-27 | 2007-02-08 | Onkyo Corp | Contents distribution system, client, and client program |
WO2009119394A1 (en) * | 2008-03-28 | 2009-10-01 | 日本電気株式会社 | Video acquisition method, video acquisition device, video acquisition system, and program for video acquisition |
JP2013505680A (en) * | 2009-09-22 | 2013-02-14 | クゥアルコム・インコーポレイテッド | Enhanced block-request streaming system using signaling or block generation |
-
2015
- 2015-10-09 JP JP2015201283A patent/JP2016040919A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004362099A (en) * | 2003-06-03 | 2004-12-24 | Sony Corp | Server device, information processor, information processing method, and computer program |
JP2007036666A (en) * | 2005-07-27 | 2007-02-08 | Onkyo Corp | Contents distribution system, client, and client program |
WO2009119394A1 (en) * | 2008-03-28 | 2009-10-01 | 日本電気株式会社 | Video acquisition method, video acquisition device, video acquisition system, and program for video acquisition |
JP2013505680A (en) * | 2009-09-22 | 2013-02-14 | クゥアルコム・インコーポレイテッド | Enhanced block-request streaming system using signaling or block generation |
Non-Patent Citations (3)
Title |
---|
QUALCOMM EUROPE S.A.R.L., HUAWEI: "Updated Baseline Architecture and Definitions for HTTP, [online]", 3GPP TSG-SA WG4#55 S4-090696, JPN6016036442, 21 August 2009 (2009-08-21), ISSN: 0003403881 * |
QUALCOMM EUROPE S.A.R.L.: "Baseline Architecture and Definitions for HTTP Streaming, [online]", 3GPP TSG-SA WG4#55 S4-090603, JPN6016036440, 12 August 2009 (2009-08-12), ISSN: 0003403879 * |
QUALCOMM EUROPE S.A.R.L.: "Requirements for HTTP Streaming, [online]", 3GPP TSG-SA WG4#55 S4-090604, JPN6016036441, 12 August 2009 (2009-08-12), ISSN: 0003403880 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113545095A (en) * | 2019-03-08 | 2021-10-22 | 佳能株式会社 | Method, apparatus and computer program for optimizing transmission of a portion of packaged media content |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101868281B1 (en) | Information processing apparatus, information processing method, and computer-readable recording medium | |
JP6404505B2 (en) | Method and apparatus for streaming media content to client devices | |
WO2013008867A1 (en) | Transmission device, method for controlling transmission device, control program, and recording medium | |
WO2014112186A1 (en) | Content server and content distribution method | |
JP6258168B2 (en) | Distribution device, playback device, and distribution system | |
JP2014131307A (en) | Information processing apparatus, information processing method, and program | |
WO2014171385A1 (en) | Server device, content provision method, and computer program | |
KR20140117889A (en) | Client apparatus, server apparatus, multimedia redirection system and the method thereof | |
JP6294527B2 (en) | Transmission device, transmission method, reproduction device, and reproduction method | |
JP2016040919A (en) | Information processor, information processing method, and program | |
JP2006339980A (en) | Image reproducer | |
KR101499194B1 (en) | Method for Adaptive Streaming | |
JP2018074348A (en) | Video processing device, video processing method and video processing program | |
JP2024040912A (en) | Information processing apparatus, reception apparatus, information processing method, and program | |
WO2015072020A1 (en) | Information processing device and information processing method | |
KR20160017655A (en) | Method for Adaptive Streaming | |
KR20110123644A (en) | File format structure for multimedia streaming service and method and apparatus for servicing multimedia streamming using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160825 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160920 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161117 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170509 |