JP2014131307A - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP2014131307A
JP2014131307A JP2014020958A JP2014020958A JP2014131307A JP 2014131307 A JP2014131307 A JP 2014131307A JP 2014020958 A JP2014020958 A JP 2014020958A JP 2014020958 A JP2014020958 A JP 2014020958A JP 2014131307 A JP2014131307 A JP 2014131307A
Authority
JP
Japan
Prior art keywords
content
encoded data
file
segment
data
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
JP2014020958A
Other languages
English (en)
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 JP2014020958A priority Critical patent/JP2014131307A/ja
Publication of JP2014131307A publication Critical patent/JP2014131307A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供する。
【解決手段】同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成し、複数のセグメントから構成される前記複数の符号化データの各々を記憶するコンテンツサーバに、いずれの符号化データを構成するセグメントを要求するかを、前記同一コンテンツ内で順次に選択する選択部と、前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部と、前記コンテンツサーバから取得されたセグメントを順次に再生する再生部と、を備える、コンテンツ再生装置。
【選択図】図8

Description

本発明は、コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供に関する。
近日、コンテンツ伝送のためのHTTP(HyperText Transfer Protocol)、およびコンテンツ圧縮符号化に関するMP4が広く利用されている。HTTPによれば、インターネットにおいて、コンテンツのダウンロードだけでなく、ストリーミングを行うことが可能である。このHTTPストリーミングは、「DLNA guidelines」(2006)や「Open IPTV Forum」(2009)などのネットワークメディア規格にも採用されている。また、MP4(ISO/IEC−14496−12,14)は、記憶フォーマットとしてだけでなく、ダウンロードやストリーミングなどの伝送フォーマットとしても利用可能である。
例えば、非特許文献1には、インターネットを介したコンテンツのストリーミングをHTTPおよびMP4を用いて行うことが記載されている。より詳細には、非特許文献1には、サーバが、異なるビットレートで符号化されたMP4形式の符号化ファイルを記憶しており、ネットワーク状況に適切な符号化ファイルを構成するセグメントを順次に送信することが記載されている。
「IIS Smooth Streaming Technical Overview」、Alex Zambelli,Microsoft Corporation、March 2009
しかし、従来のシステムでは、いずれの符号化ファイルを構成するセグメントを送信するかをサーバ側で判断していたため、サーバ側の負荷が大きくなってしまうという問題があった。また、クライアントにはセグメントが再生される時間(コンテンツの先頭からの相対時間)などの情報が提供されないために、可変速再生などのトリックプレイや、相対時間への飛び越してからの再生(シーク再生)などを行うことが困難であった。
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、コンテンツの適応的なストリーミングをコンテンツサーバの負荷を軽減して実現するための、新規かつ改良されたコンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供することにある。
上記課題を解決するために、本発明のある観点によれば、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成する生成部、および複数のセグメントから構成される前記複数の符号化データの各々を記憶する記憶部、を有するコンテンツサーバと、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記同一コンテンツ内で順次に選択する選択部、前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部、および、前記コンテンツサーバから取得されたセグメントを順次に再生する再生部、を有するコンテンツ再生装置と、を備えるコンテンツ再生システムが提供される。
前記複数の符号化データを構成する前記複数のセグメントの各々は、前記複数の符号化データ間で代替して復号できるように符号化されてもよい。
前記生成部は、前記複数の符号化データへアクセスするためのアクセス情報を含む第1のデータファイル、および前記複数の符号化データの各々を含む複数の第2のデータファイルを生成し、前記アクセス情報は、前記複数の第2のデータファイルのネットワーク位置情報、および前記符号化データの各セグメントのファイル内での位置情報および各セグメントの再生時間(各セグメントの再生に要する時間)を含んでもよい。
前記生成部は、前記複数の符号化データへアクセスするためのアクセス情報、および前記複数の符号化データのうちの1の符号化データを含む第1のデータファイル、他の符号化データを含む第2のデータファイルを生成してもよい。
前記第2のデータファイルは、前記他の符号化データを構成するセグメントの前記第2のデータファイルにおける位置情報をさらに含み、前記第1のデータファイルに含まれる前記他の符号化データへのアクセス情報は、前記第2のデータファイルのネットワーク位置情報、および前記符号化データを含むトラックを示す識別情報を含み、前記第2のデータファイルは、ファイルに含まれる前記符号化データのセグメントのファイル内での位置情報ならびに各セグメントの再生時間を含んでもよい。
前記取得部は、前記第1のデータファイルに含まれる前記アクセス情報を取得し、前記選択部により選択されたセグメントを、当該アクセス情報に基づいて前記コンテンツサーバから取得してもよい。
前記生成部は、前記第1のデータファイルおよび前記第2のデータファイルをMP4形式で生成し、前記第1のデータファイルにおける前記他の符号化データへアクセスするためのネットワーク位置情報をMP4の「dinf」に記載してもよい。
前記セグメントは、MP4ファイルのSync Sampleを境界にして分割されたデータであってもよい。
前記生成部は、前記第1のデータファイルに、前記複数の符号化データの対応するセグメント同士は代替して再生可能であることを示す情報を記載してもよい。
前記取得部は、HTTPに従って前記複数の符号化データの各々へのアクセス情報および前記セグメントを取得してもよい。
前記生成部は、前記第1のデータファイルに、前記複数の符号化データのビットレート情報を記載してもよい。
前記取得部は、アクセス情報に含まれる各符号化データファイルのネットワーク位置情報および各セグメントのファイル内でのバイト単位での位置情報を指定して、HTTPに従って前記セグメントを取得してもよい。
前記取得部は、前記アクセス情報に基づき、時系列に復号されるべきセグメントを前記コンテンツサーバからネットワークを介して順次に取得し、前記選択部は、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記ネットワークの状況に応じて動的に選択してもよい。
前記コンテンツ再生装置は、前記取得部により取得されたセグメントをバッファリングするバッファを備え、前記再生部は、前記バッファにバッファリングされたセグメントを順次に再生し、前記選択部は、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記バッファによるバッファリング状況に応じて選択してもよい。
前記選択部は、前記バッファにバッファリングされているセグメントで再生可能な時間が短くなると、低ビットレートで符号化された符号化データを構成するセグメントを選択し、前記バッファにバッファリングされているセグメントで再生可能な時間が長くなると、高ビットレートで符号化された符号化データを構成するセグメントを選択してもよい。
また、上記課題を解決するために、本発明の別の観点によれば、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成し、複数のセグメントから構成される前記複数の符号化データの各々を記憶するコンテンツサーバに、いずれの符号化データを構成するセグメントを要求するかを、前記同一コンテンツ内で順次に選択する選択部と、前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部と、前記コンテンツサーバから取得されたセグメントを順次に再生する再生部と、を備えるコンテンツ再生装置が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータを、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成し、複数のセグメントから構成される前記複数の符号化データの各々を記憶するコンテンツサーバに、いずれの符号化データを構成するセグメントを要求するかを、前記同一コンテンツ内で順次に選択する選択部と、前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部と、前記コンテンツサーバから取得されたセグメントを順次に再生する再生部と、として機能させるためのプログラムが提供される。
また、上記課題を解決するために、本発明の別の観点によれば、コンテンツサーバが、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成するステップと、前記コンテンツサーバが、複数のセグメントから構成される前記複数の符号化データの各々を記憶媒体に記憶するステップと、コンテンツ再生装置が、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記同一コンテンツ内で順次に選択するステップと、前記コンテンツ再生装置が、選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得するステップと、前記コンテンツ再生装置が、前記コンテンツサーバから取得されたセグメントを順次に再生するステップと、を含むコンテンツ再生方法が提供される。
また、上記課題を解決するために、本発明の別の観点によれば、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成する生成部と、複数のセグメントから構成される前記複数の符号化データの各々を記憶する記憶部とを備え、前記生成部は、前記複数の符号化データの各々へのアクセス情報、および前記複数の符号化データのうちの1の符号化データからなる第1のデータファイルと、他の符号化データの各々からなる1または2以上の第2のデータファイルとを、生成する、コンテンツサーバが提供される。
以上説明したように本発明によれば、コンテンツの適応的なストリーミングをコンテンツサーバの負荷を軽減して実現することができる。
本発明の実施形態によるコンテンツ再生システムの構成を示した説明図である。 本実施形態によるコンテンツ再生システムにおけるデータの流れを示した説明図である。 コンテンツ再生装置のハードウェア構成を示したブロック図である。 本実施形態によるコンテンツサーバの構成を示した機能ブロック図である。 一般的なMP4ファイルの構成を示した説明図である。 本実施形態においてファイル生成部により生成されるMP4ファイルの構成を示した説明図である。 本実施形態においてファイル生成部により生成されるMP4ファイルの変形例を示した説明図である。 本実施形態によるコンテンツ再生装置の構成を示した機能ブロック図である。 本実施形態によるコンテンツ再生システムの動作を示したシーケンス図である。 本実施形態においてファイル生成部により生成されるMP4ファイルの変形例を示した説明図である。 本実施形態においてファイル生成部により生成されるMP4ファイルの変形例を示した説明図である。 本実施形態においてファイル生成部により生成されるMP4ファイルの変形例を示した説明図である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下に示す項目順序に従って当該「発明を実施するための形態」を説明する。
1.コンテンツ再生システムの概要
2.コンテンツ再生装置のハードウェア構成
3.コンテンツサーバの機能
4.コンテンツ再生装置の機能
5.コンテンツ再生システムの動作
6.変形例
7.まとめ
<1.コンテンツ再生システムの概要>
まず、図1および図2を参照し、本発明の実施形態によるコンテンツ再生システム1について概略的に説明する。
図1は、本発明の実施形態によるコンテンツ再生システムの構成を示した説明図である。図1に示したように、本発明の実施形態によるコンテンツ再生システム1は、コンテンツサーバ10と、ネットワーク12と、コンテンツ再生装置20(クライアント)と、を備える。
コンテンツサーバ10とコンテンツ再生装置20は、ネットワーク12を介して接続されている。このネットワーク12は、ネットワーク12に接続されている装置から送信される情報の有線、または無線の伝送路である。
例えば、ネットワーク12は、インターネット、電話回線網、衛星通信網などの公衆回線網や、Ethernet(登録商標)を含む各種のLAN(Local Area Network)、WAN(Wide Area Network)などを含んでもよい。また、ネットワーク12は、IP−VPN(Internet Protocol−Virtual Private Network)などの専用回線網を含んでもよい。
コンテンツサーバ10は、コンテンツデータを符号化し、符号化データおよび符号化データのメタ情報を含むデータファイルを生成して記憶する。なお、コンテンツサーバ10がMP4形式のデータファイルを生成する場合、符号化データは「mdat」に該当し、メタ情報は「moov」に該当する。
また、コンテンツデータは、音楽、講演およびラジオ番組などの音楽データや、映画、テレビジョン番組、ビデオプログラム、写真、文書、絵画および図表などの映像データや、ゲームおよびソフトウェアなどであってもよい。
ここで、本実施形態によるコンテンツサーバ10は、同一コンテンツに関し、異なるビットレートで複数のデータファイルを生成する。以下、図2を参照して当該事項について具体的に説明する。
図2は、本実施形態によるコンテンツ再生システム1におけるデータの流れを示した説明図である。コンテンツサーバ10は、同一のコンテンツデータを異なるビットレートで符号化し、図2に示したように例えば2MbpsのファイルA、1.5MbpsのファイルB、1MbpsのファイルCを生成する。相対的に、ファイルAはハイビットレートであり、ファイルBは標準ビットレートであり、ファイルCはロービットレートである。
また、図2に示したように、各ファイルの符号化データは複数のセグメントに区分されている。例えば、ファイルAの符号化データは「A1」、「A2」、「A3」、・・・「An」というセグメントに区分されており、ファイルBの符号化データは「B1」、「B2」、「B3」、・・・「Bn」というセグメントに区分されており、ファイルCの符号化データは「C1」、「C2」、「C3」、・・・「Cn」というセグメントに区分されている。
ここで、各セグメントはMP4のシンクサンプル(たとえば、AVC/H.264の映像符号化ではIDR−ピクチャ)で始まる単独で再生可能な1または2以上の映像符号化データおよび音声符号化データより構成サンプルで構成される。例えば、一秒30フレームのビデオデータが15フレーム固定長のGOP(Group of Picture)にて符号化されていた場合、各セグメントは、4GOPに相当する2秒分の映像ならびに音声符号化データであっても、20GOPに相当する10秒分の映像ならびに音声符号化データであってもよい。
また、各ファイルにおける配置順番が同一のセグメントによる再生範囲(コンテンツの先頭からの時間位置の範囲)は同一である。例えば、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は同一であり、各セグメントが2秒分の符号化データである場合、セグメント「A2」、セグメント「B2」、およびセグメント「C2」の再生範囲は、いずれもコンテンツの2秒〜4秒である。
コンテンツサーバ10は、このような複数のセグメントから構成されるファイルA〜ファイルCを生成すると、ファイルA〜ファイルCを記憶する。そして、コンテンツサーバ10は、図2に示したように、異なるファイルを構成するセグメントをコンテンツ再生装置20に順次に送信し、コンテンツ再生装置20は、受信したセグメントをストリーミング再生する。
なお、図1にはコンテンツ再生装置20の一例として表示装置を示しているが、コンテンツ再生装置20はかかる例に限定されない。例えば、コンテンツ再生装置20は、PC(Personal Computer)、家庭用映像処理装置(DVDレコーダ、ビデオデッキなど)、PDA(Personal Digital Assistants)、家庭用ゲーム機器、家電機器などの情報処理装置であってもよい。また、コンテンツ再生装置20は、携帯電話、PHS(Personal Handyphone System)、携帯用音楽再生装置、携帯用映像処理装置、携帯用ゲーム機器などの情報処理装置であってもよい。
ここで、コンテンツサーバ10からは、ネットワーク状況に応じたセグメントが送信されることが望ましい。例えば、ネットワーク帯域の余裕が大きい場合にはハイビットレートのセグメント(例えば、ファイルAを構成するセグメント)を送信し、ネットワーク帯域の余裕が少ない場合にはロービットレートのセグメント(例えば、ファイルCを構成するセグメント)を送信することが適切である。
しかし、ネットワーク状況の監視、およびネットワーク状況に応じたセグメントの選択をコンテンツサーバ10が行うと、コンテンツサーバ10の負荷が大きくなってしまうという問題があった。
そこで、上記の背景の下、本実施形態にかかるコンテンツ再生システム1を創作するに至った。本実施形態にかかるコンテンツ再生システム1によれば、適応的なストリーミングをサーバ側の負荷を軽減して実現することができる。
さらに、本実施形態にかかるコンテンツ再生システム1によれば、HTTPやMP4などの規格の大部分に準拠し、かつ、既存装置と互換性を確保することができる。以下、このような本実施形態にかかるコンテンツ再生システム1を構成するコンテンツ再生装置20およびコンテンツサーバ10について詳細に説明する。
<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とを備える。
CPU201は、演算処理装置および制御装置として機能し、各種プログラムに従ってコンテンツ再生装置20内の動作全般を制御する。また、CPU201は、マイクロプロセッサであってもよい。ROM202は、CPU201が使用するプログラムや演算パラメータ等を記憶する。RAM203は、CPU201の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス204により相互に接続されている。
ホストバス204は、ブリッジ205を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス206に接続されている。なお、必ずしもホストバス204、ブリッジ205および外部バス206を分離構成する必要はなく、一のバスにこれらの機能を実装してもよい。
入力装置208は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU201に出力する入力制御回路などから構成されている。コンテンツ再生装置20のユーザは、該入力装置208を操作することにより、コンテンツ再生装置20に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置210は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置およびランプなどの表示装置を含む。さらに、出力装置210は、スピーカおよびヘッドホンなどの音声出力装置を含む。出力装置210は、例えば、再生されたコンテンツを出力する。具体的には、表示装置は再生された映像データ等の各種情報をテキストまたはイメージで表示する。一方、音声出力装置は、再生された音声データ等を音声に変換して出力する。
ストレージ装置211は、本実施形態にかかるコンテンツ再生装置20の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置211は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。ストレージ装置211は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置211は、ハードディスクを駆動し、CPU201が実行するプログラムや各種データを格納する。
ドライブ212は、記憶媒体用リーダライタであり、コンテンツ再生装置20に内蔵、あるいは外付けされる。ドライブ212は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記憶媒体24に記録されている情報を読み出して、RAM203に出力する。また、ドライブ212は、リムーバブル記憶媒体24に情報を書き込むこともできる。
通信装置215は、例えば、ネットワーク12に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置215は、無線LAN(Local Area Network)対応通信装置であっても、LTE(Long Term Evolution)対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
以上、図3を参照してコンテンツ再生装置20のハードウェア構成について説明した。コンテンツサーバ10のハードウェアはコンテンツ再生装置20と実質的に同一に構成することが可能であるため、説明を省略する。
<3.コンテンツサーバの機能>
次に、図4〜図7を参照し、本実施形態によるコンテンツサーバ10の機能を説明する。
図4は、本実施形態によるコンテンツサーバ10の構成を示した機能ブロック図である。図4に示したように、本実施形態によるコンテンツサーバ10は、ファイル生成部120と、記憶部130と、通信部140と、を備える。
ファイル生成部120は、コンテンツデータを符号化するエンコーダ122を備え、符号化データおよびメタデータを含むMP4ファイルを生成する。より詳細には、ファイル生成部120は、同一コンテンツに関し、符号化データのビットレートが異なる複数のMP4ファイルを生成する。以下、図5を参照して一般的なMP4ファイルの構成を説明した後、本実施形態においてファイル生成部120により生成されるMP4ファイルの構成を説明する。
図5は、一般的なMP4ファイルの構成を示した説明図である。図5に示したように、MP4ファイルは「moov」および「mdat」を含む。「mdat」は映像や音声などの符号化データである。本実施例では、映像の符号化にはH.246/AVC,音声符号化にはHE−AACを利用する。「moov」は、「trak(video)」や「trak(audio)」など、「mdat」に含まれる各セグメントへのアクセス情報を含む。アクセス情報としては、例えば、各サンプルの所在情報(バイトオフセット)や再生時間情報などがあげられる。
なお、MP4においては他の外部ファイルを参照するためのデータボックスとして「dinf」が規定されている。図5に示したように「moov」の参照先が同一のMP4ファイルに含まれる「mdat」である場合、この「dinf」の値は「null」である。これに対し、本実施形態においては、図6を参照して説明するように、この「dinf」を活用することで顕著な効果を得ることができる。
図6は、本実施形態においてファイル生成部120により生成されるMP4ファイルの構成を示した説明図である。図6に示したように、ファイル生成部120は、同一コンテンツに関し、ビットレートが異なる「mdat」を含む複数のMP4ファイルA〜MP4ファイルCを生成する。
本実施形態では、セグメントはビデオのMP4 Sync Sampleを境界にして分割されたデータであり、セグメント中には映像符号化データと音声符号化データがインターリーブして配置されている。セグメントは、コンテンツが再生される時系列に連続的にmdatに配列されている。ビットレートが異なる各データファイルのセグメントの再生時間は同じになるように符号化されている。また、セグメントの先頭にはAVC/H.264の場合はIDRピクチャーが存在するように配置され、セグメント単位で、ビットレートの異なるデータに切り替えることができる。
なお、各セグメントの位置はSync Sampleの位置であり、コンテンツ再生装置20は、「moov」のSample Description boxの情報、もしくは、それに含まれるSync sample tableboxと組み合わせによって得られるセグメント位置を元に、各データファイルから、セグメントデータの読み込みを行える。本実施形態では1つのビデオフレームを一つのSampleとし、30フレームに一回IDRピクチャーが存在するSampleであるSync Sampleとなるようにし、Sample Description boxにはSync sample table boxを設ける。
MP4ファイルB(第1のデータファイル)の「mdat」は、ビットレートが1.5MbpsであるセグメントB1〜Bnで構成され、MP4ファイルCの「mdat」(第2のデータファイル)は、ビットレートが1MbpsであるセグメントC1〜Cnで構成され、MP4ファイルA(第3のデータファイル)の「mdat」は、ビットレートが2MbpsであるセグメントA1〜Anで構成される。
また、MP4ファイルBの「moov」は、同一ファイルを構成するセグメントB1〜Bnにアクセスするための「trak(video)B」や「trak(audioB)」を含む。
さらに、MP4ファイルBの「moov」は、MP4ファイルCを構成するセグメントC1〜Cnにアクセスするための「trak(videoC’)」および「trak(audioC’)」を含む。
すなわち、この「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の位置情報(ファイル内でのバイトオフセット)が得られる。

(構文例)
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が記載される。
なお、MP4ファイルAにも、MP4ファイルAを構成するセグメントA1〜Anにアクセスするための「trak(videoA)」および「trak(audioA)」が含まれるが、コンテンツ再生装置20は、これらは後述の適応的なストリーミングには利用しない。
同様に、MP4ファイルCにもMP4ファイルCを構成するセグメントC1〜Cnにアクセスするための「trak(videoC)」および「trak(audioC)」が含まれるが、コンテンツ再生装置20は、これらは後述の適応的なストリーミングには利用しない。
上述したように、本実施形態においては、異なるビットレートを有する「mdat」を、同一のMP4ファイルでなく、異なるMP4ファイルに作成する。また、1のMP4ファイルに、他のMP4ファイルに含まれる「mdat」を参照するためのURLおよび各セグメントのファイル内でのオフセット情報がSample Description boxに記載される。
かかる構成により、本実施形態によるMP4ファイルを、ストリーミング用だけでなく、ダウンロード用としても支障なく利用することが可能となる。その理由を、異なるビットレートを有する複数の「mdat」を同一ファイルに生成する場合と比較して説明する。
異なるビットレートを有する複数の「mdat」を同一ファイルに生成し、当該ファイルをダウンロード用としても利用する場合、クライアントは、複数の「mdat」を含む当該ファイル全体をダウンロードすることとなる。このため、ダウンロードデータ量およびダウンロード時間が不要に倍増してしまうという問題が生じる。
これに対し、本実施形態においては、ビットレートが異なる複数の「mdat」のうちで、1の「mdat」のみを含むMP4ファイルをダウンロードすることができる。例えば、コンテンツ再生装置20は、ビットレートが異なる複数の「mdat」のうちでハイビットレートの「mdat」のみを含むMP4ファイルAをダウンロードすることができる。したがって、クライアントは、ダウンロードデータ量およびダウンロード時間を抑制してダウンロードを行うことが可能となる。
なお、ファイル生成部120は、ファイルBの「moov」中の各トラックの「minfo」に、各「trak」の参照先のメディアデータが、異なるビットレートでの符号化により得られた代替可能なメディアデータのグループに属するか否かを示す情報を記載してもよい。例えば、以下に示す「minfo」の構文中の以下の拡張ブロックを設け、“alternative_media_group”には、代替可能なメディアデータのグループの識別番号を記載し、「extended_type」に「<uuid_value>:T.B.D」と記載し、「flags」に「0」と記載してもよい。コンテンツ再生装置20は、代替可能なメディアデータのグループに属するメディアデータのセグメントは、同一のグループに属する他のメディアデータ中の対応セグメントで代替可能であることを認識できる。また、メディアの最大ビットレートmaxbitrateおよび平均ビットレートavgbitrateが記載されており、コンテンツ再生装置20が、どの符号化データのセグメントを取得するかに判断に利用できる。

(構文例)
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に対して要求することが可能となる。
また、図6においては、MP4ファイルが主に「moov」と「mdat」から構成される例を示したが、MP4ファイルの構成はかかる例に限定されない。例えば、図6に示した「moov」に含まれるアクセス情報を、図7に示すように「moov」と「moof」を用いて分散的に配置してもよい。
図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は、適応ストリーミングでは使用しない。
このようにアクセス情報を分散的に配置することにより、MP4ファイルBの先頭「moov」および各「moof」のデータ量を小さくすることができ、先頭の「moov」取得時間の抑制ならび、コンテンツ再生装置20がバッファ230に保持する「moov」および「moof」の情報を減少させることができる。また、「moof」および対応のndatは独立して生成することができるため、生放送などのライブコンテンツのストリーミングに利用できる。本実施形態は、「moov」、「moof」および「mdat」を分散的に配置する図7に示したフォーマットにも適用可能である。
ここで図4を参照してコンテンツサーバ10の構成の説明に戻る。図4に示したコンテンツサーバ10の記憶部130は、ファイル生成部120により生成された複数のMP4ファイルを記憶する記憶媒体である。
例えば、記憶部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(登録商標))などがあげられる。
通信部140は、コンテンツ再生装置20とのインターフェースであって、ネットワーク12を介してコンテンツ再生装置20と通信する。より詳細には、通信部140は、HTTPに従ってコンテンツ再生装置20と通信するHTTPサーバとしての機能を有する。例えば、通信部140は、HTTPに従ってコンテンツ再生装置20から要求されたデータを記憶部130から抽出し、HTTPレスポンスとしてコンテンツ再生装置20にデータを送信する。
<4.コンテンツ再生装置の機能>
以上、本実施形態によるコンテンツサーバ10の機能を説明した。続いて、図8を参照し、本実施形態によるコンテンツ再生装置20の機能を説明する。
図8は、本実施形態によるコンテンツ再生装置20の構成を示した機能ブロック図である。図8に示したように、本実施形態によるコンテンツ再生装置20は、取得部220と、バッファ230と、再生部240と、選択部250と、を備える。
取得部220は、コンテンツサーバ10とのインターフェースであって、コンテンツサーバ10に対してデータを要求し、コンテンツサーバ10からデータを取得する。より詳細には、取得部220は、HTTPに従ってコンテンツ再生装置20と通信するHTTPクライアントとしての機能を有する。例えば、取得部220は、HTTP Rangeを利用することにより、コンテンツサーバ10からMP4ファイルの一部(moovやセグメント)を部分的に取得することができる。
バッファ230は、取得部220によりコンテンツサーバ10から取得されるセグメントを順次にバッファリングする。バッファ230にバッファリングされたセグメントは、FIFO(First In First Out)で再生部240へ順次に供給される。
再生部240は、バッファ230から供給されるセグメントを順次に再生する。具体的には、再生部240は、セグメントのデコード、DA変換、およびレンダリングなどを行う。
選択部250は、いずれのMP4ファイルを構成するセグメントを取得するか、すなわち、いずれのビットレートを有するセグメントを取得するかを、ネットワーク12の状況に応じて同一コンテンツ内で順次に選択する。例えば、選択部250がセグメント「A1」、「B2」、「A3」を順次に選択すると、図2に示したように、取得部220がコンテンツサーバ10からセグメント「A1」、「B2」、「A3」を順次に取得する。
なお、取得部220は、セグメントの取得に先立ってMP4ファイルの「moov」を取得しており、選択部250により選択されたセグメントを当該「moov」に含まれるアクセス情報を指定してコンテンツサーバ10から取得することができる。
ここで、ネットワーク12の帯域が大きくなるとバッファ230のバッファリングデータ量が増加し、帯域が小さくなるとバッファ230のバッファリングデータ量が減少すると考えられる。そこで、選択部250は、バッファ230のバッファリング状況を監視することで、ネットワーク12の状況を間接的に把握してもよい。
例えば、選択部250は、バッファ230にバッファリングされているサンプル数(ビデオフレーム数)が所定範囲内である場合、すなわち、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲内である場合には、標準ビットレート(例えば、1.5Mbps)のセグメントを選択してもよい。例えば、コンテンツ再生装置20は、標準ビットレート90個のサンプル(3秒分)を一時蓄積してから、ストリーミングの再生を開始し、後続のセグメントデータを読み続けながら再生を続けるが、その再生中にバッファ230のデータが75個から105個のサンプルの範囲内にある場合は、標準のビットレートのセグメントを選択する。
一方、選択部250は、バッファリング量が減少し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲を下回った場合、ロービットレート(例えば、1Mbps)のセグメントを選択してもよい。例えば、選択部250は、再生中にバッファ230のデータが75個のサンプル以下になった場合は、ロービットレートのセグメントを選択する。
また、選択部250は、バッファリング量が増加し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲を上回った場合、ハイビットレート(例えば、2Mbps)のセグメントを選択してもよい。例えば、選択部250は再生中にバッファ230のデータが105個サンプル以上になった場合は、ハイビットレートのセグメントを選択する。さらに、バッファ230中のセグメントが120個と十分になった場合には、読み込みを一時中断し、120個以下になった場合に再開する。
なお、上記ではネットワーク12の帯域の判断方法の一例としてバッファ230のバッファリング状況を監視する例を説明したに過ぎず、本実施形態はかかる例に限定されない。例えば、コンテンツ再生装置10は、実際にダミーパケットをネットワーク12に送信することによりネットワーク12の帯域を判断しても、取得部220によるセグメントの取得速度に基づいてネットワーク12の帯域を判断してもよい。
<5.コンテンツ再生システムの動作>
以上、本実施形態によるコンテンツサーバ10およびコンテンツ再生装置20の機能を説明した。続いて、本実施形態によるコンテンツ再生システム1の動作について図9を参照して説明する。
図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)。
ここで、コンテンツ再生装置20の選択部250は、「moov」中の「minfo」を確認することにより、「moov」中の「trak」の参照先のファイルが、異なるビットレートでの符号化により得られた代替メディアグループに属しているか否かを判断することができる。
そして、「moov」中の「trak」の参照先のファイルが異なるビットレートでの符号化により得られた代替メディアグループに属している場合、選択部250は、標準ビットレートを有するMP4ファイルBのセグメントBiを選択する。
続いて、取得部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)。
その後、コンテンツ再生装置20のバッファ230にセグメントBiが十分にバッファリングされると、再生部240がセグメントBiの再生を開始する(S320)。なお、バッファリング開始時(S310)から、ある一定の時間たたっても十分なバッファの読み出しができない場合は、ネットワーク帯域が十分でないと考えられる。そこで、このような場合は、S316から後続するセグメントの読み込みをファイルCのセグメントに切り替えてもよい。同様に、早く所定のセグメントをバッファリングできると判断した場合は、ファイルAのセグメントをバッファリングしてから再生を開始する(S320)ことも可能である。
同様に、コンテンツ再生装置20の取得部250は、「HTTP:GET URL−B with Range」を用い、次のセグメントBjをコンテンツサーバ10に要求する(S324)。そして、コンテンツサーバ10の通信部140は、「HTTP:Response」として、次のセグメントBjをコンテンツ再生装置20に送信する(S328)。
ここで、バッファ230のバッファリング量が減少し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲を下回った場合(S332)、選択部250は、ロービットレートを有するMP4ファイルCのセグメントCkを選択する。
そして、取得部220が、「HTTP:GET URL−C with Range」を用い、選択部250により選択されたMP4ファイルCのセグメントCkをコンテンツサーバ10に要求する(S336)。当該要求を受けたコンテンツサーバ10の通信部140は、「HTTP:Response」として、MP4ファイルCのセグメントCkをコンテンツ再生装置20に送信する(S340)。
その後、バッファ230のバッファリング量が増加し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲になった場合(S344)、選択部250は、標準ビットレートを有するMP4ファイルBのセグメントBlを選択する。
続いて、取得部220が、「HTTP:GET URL−B with Range」を用い、選択部250により選択されたMP4ファイルBのセグメントBlをコンテンツサーバ10に要求する(S348)。そして、コンテンツサーバ10の通信部140は、「HTTP:Response」として、MP4ファイルBのセグメントBlをコンテンツ再生装置20に送信する(S352)。
さらにその後、バッファ230のバッファリング量が増加し、バッファ230にバッファリングされているサンプルで再生可能な時間が所定範囲を上回った場合(S356)、選択部250は、ハイビットレートを有するMP4ファイルAのセグメントAmを選択する。
続いて、取得部220が、「HTTP:GET URL−A with Range」を用い、選択部250により選択されたMP4ファイルAのセグメントAmをコンテンツサーバ10に要求する(S360)。そして、コンテンツサーバ10の通信部140は、「HTTP:Response」として、MP4ファイルAのセグメントAmをコンテンツ再生装置20に送信する(S352)。
以降も同様に、バッファ230のバッファリング量に応じて選択部250がいずれのビットレートを有するセグメントを要求するかを選択し、選択部250により選択されたセグメントを取得部220がコンテンツサーバ10から取得する。
かかる構成により、ネットワーク12の帯域が小さい場合に再生が途切れてしまうことを防止し、また、ネットワーク12の帯域が大きい場合には高品質な再生を実現することができる。また、本実施形態においては、ネットワーク12の帯域判断、および要求するセグメントの選択をコンテンツ再生装置20側で行うことができるため、コンテンツサーバ10の負荷軽減を図ることが可能である。
<6.変形例>
上記では、「trak」中の「dinf」を用いて他ファイルの「mdat」へのアクセスを可能とする例を説明したが、図10を参照して説明するように、「trak」を用いて他ファイルの「trak」を参照できるようにしてもよい。
図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、・・・を取得することも可能となる。
同様に、MP4ファイルBの「trak」にMP4ファイルCの「trak」へのアクセス情報を記載すると、コンテンツ再生装置20は、MP4ファイルBの「trak」を解析し、記載されているアクセス情報を用いてMP4ファイルCの「trak」を取得することができる。このため、コンテンツ再生装置20は、MP4ファイルCの「trak」およびそこに記載されているSample Description Boxに基づき、に基づいてセグメントC1、C2、・・・を取得することも可能となる。
具体的には、MP4ファイルフォーマットを拡張し、以下に示す拡張ボックスを「minfo」に記載し、構文中の「extended_type」に「<uuid_value>:T.B.D」と記載し、「location」に参照先のMP4ファイルのURLを記載し、「track_ID」に参照先のMP4ファイルにおける「trak」の識別子を記載してもよい。これにより、コンテンツ再生装置20は、ファイルBのトラックのメディアデータとして代替可能なメディアデータがトラックCのtrack_idに示されるトラックにあることを認識できる。また、メディアの最大ビットレートmaxbitrateおよび平均ビットレートavgbitrateなどのビットレート情報が記載されており、コンテンツ再生装置20が、どの符号化データのセグメントを取得するかに判断に利用できる。

(構文例)
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」にアクセスすることが可能となる。
図11は、本実施形態においてファイル生成部120により生成されるMP4ファイルの変形例を示した説明図である。図11に示したように、MP4ファイルBの「trak」にMP4ファイルAの「trak」へのアクセス情報を記載すると、コンテンツ再生装置20は、MP4ファイルBの「trak」を解析し、記載されているアクセス情報を用いてMP4ファイルAの「trak」を取得することができる。このため、コンテンツ再生装置20は、MP4ファイルAの「trak」に基づいてセグメントA11、A12、・・・を取得することも可能となる。
同様に、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を時間的遅延なしに読み出し可能である。
<7.まとめ>
以上説明したように、本実施形態においては、コンテンツ再生装置20の選択部250がいずれのビットレートを有するセグメントを要求するかをネットワーク12の帯域に応じて選択し、選択されたセグメントを取得部220がコンテンツサーバ10から取得する。したがって、本実施形態によれば、コンテンツサーバ10の負荷軽減を図ることが可能である。
また、本実施形態の大部分は、HTTPやMP4などの既存の規格に準拠するものである。したがって、本実施形態は、既存のHTTPおよびMP4を利用するストリーミングと互換性を有し、かつ、拡張機能を最小限に抑制できるため、円滑な導入が期待される。
また、本実施形態においては、異なるビットレートを有する「mdat」を、同一のMP4ファイルでなく、異なるMP4ファイルに作成する。このため、各MP4ファイルを、ストリーミング用としてだけでなく、ダウンロード用としても支障なく利用することが可能である。
なお、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
例えば、本明細書のコンテンツ再生システム1の処理における各ステップは、必ずしもシーケンス図として記載された順序に沿って時系列に処理する必要はない。例えば、コンテンツ再生システム1の処理における各ステップは、シーケンス図として記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
また、コンテンツ再生装置20およびコンテンツサーバ10に内蔵されるCPU201、ROM202およびRAM203などのハードウェアを、上述したコンテンツ再生装置20およびコンテンツサーバ10の各構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供される。
また、本実施例では、図6,7、10,11に示す通り、第1のデータファイルは標準ビットレートの符号化データを配置したが、ロービットレート、または、ハイビットレートの符号化データを配置してもよい。
また、本実施例では、図6,7、10,11に示す通り、第1のデータファイルに符号化データを配置したが、第1のデータファイルのmoofにはそれら符号化データへのアクセス情報のみを配置するようにしてもよい。
また、本実施例では、図7に示すように「moov」、「moof」および「mdat」を分散的に配置する例を示したが、第1のデータファイルのみ分散的に配置し、他のデータファイルは図8に示すように「moov」およびそれに対応する「mdat」から構成されるように配置してもよい。
さらに、第1のデータファイルに符号化データが含まれない場合の実施例を図12に示す。第1のデータファイルには、他のデータファイルに配置された符号化データの各セグメントのアクセス情報が記載されている。また、第1のデータファイルには「moov」および「moof」を利用してアクセス情報が分散化されるように配置され、各「moof」にはただ1つのデータファイルのセグメントへのアクセス情報のみを記載されている。
この場合は、映像トラック、音声トラック、各々の「traf」には各セグメントのアクセス情報が各「moof」に記載されており、連続して配置された「moof」の組(この場合は3組)にある範囲のセグメントに対するアクセス情報が記載される。
図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」の読み込みが容易になる。
このように第1データファイルを構成することによって、セグメントへのアクセス情報が第1のデータファイルを解析することのみによって容易に得られる。また、各データファイルのセグメント情報も「moof」の単位で分割されているために、コンテンツ再生装置20は、すべてのデータファイルのセグメントのアクセス情報を保持することなく、必要なデータファイルの「moof」のみを取得ならび、保持することで、ネットワーク状況に合わせて適切なビットレートのデータファイルを選択しながら、適応ストリーミングを行うことが可能となる。
また、符号化データを含まないデータファイルは「moof」による分散化がされておらず、「moov」と「mdat」によって構成されるために、既存のHTTPおよびMP4を利用するストリーミングのみをサポートするコンテンツ再生装置のために、これらデータファイルは利用することができる。
一方、第1のデータファイルには符号化データが含まれないため、既存のコンテンツ再生装置の場合では再生できないなどの問題を考慮し、コンテンツ再生装置が適応ストリーミングに対応している場合は第1のMP4ファイル、そうでない場合は分散化されていなMP4ファイルが再生されるような仕組みを設けてもよい。例えば、コンテンツ再生装置に、各URLと属性を開示させ、コンテンツ再生装置の能力と属性に基づいてURL選ぶ方法などがある。
1 コンテンツ再生システム
10 コンテンツサーバ
12 ネットワーク
20 コンテンツ再生装置
120 ファイル生成部
122 エンコーダ
130 記憶部
140 通信部
220 取得部
230 バッファ
240 再生部
250 選択部

Claims (19)

  1. 同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成する生成部、および
    複数のセグメントから構成される前記複数の符号化データの各々を記憶する記憶部、
    を有するコンテンツサーバと;
    いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記同一コンテンツ内で順次に選択する選択部、
    前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部、および、
    前記コンテンツサーバから取得されたセグメントを順次に再生する再生部、
    を有するコンテンツ再生装置と;
    を備える、コンテンツ再生システム。
  2. 前記複数の符号化データを構成する前記複数のセグメントの各々は、コンテンツの再生時に、前記複数の符号化データ間で代替して復号できるように符号化される、請求項1に記載のコンテンツ再生システム。
  3. 前記生成部は、前記複数の符号化データへアクセスするためのアクセス情報を含む第1のデータファイル、および前記複数の符号化データの各々を含む複数の第2のデータファイルを生成し、
    前記アクセス情報は、前記複数の第2のデータファイルのネットワーク位置情報、および前記符号化データの各セグメントのファイル内での位置情報および各セグメントの再生時間を含む、請求項2に記載のコンテンツ再生システム。
  4. 前記生成部は、前記複数の符号化データへアクセスするためのアクセス情報、および前記複数の符号化データのうちの1の符号化データを含む第1のデータファイル、他の符号化データを含む第2のデータファイルを生成する、請求項2に記載のコンテンツ再生システム。
  5. 前記第2のデータファイルは、前記他の符号化データを構成するセグメントの前記第2のデータファイルにおける位置情報をさらに含み、
    前記第1のデータファイルに含まれる前記他の符号化データへのアクセス情報は、前記第2のデータファイルのネットワーク位置情報、および前記符号化データを含むトラックを示す識別情報を含み、
    前記第2のデータファイルは、ファイルに含まれる前記符号化データのセグメントのファイル内での位置情報ならびに各セグメントの再生時間を含む、請求項4に記載のコンテンツ再生システム。
  6. 前記取得部は、前記第1のデータファイルに含まれる前記アクセス情報を取得し、前記選択部により選択されたセグメントを、当該アクセス情報に基づいて前記コンテンツサーバから取得する、請求項3〜5のいずれか一項に記載のコンテンツ再生システム。
  7. 前記生成部は、前記第1のデータファイルおよび前記第2のデータファイルをMP4形式で生成し、前記第1のデータファイルにおける前記他の符号化データへアクセスするためのネットワーク位置情報をMP4の「dinf」に記載する、請求項6に記載のコンテンツ再生システム。
  8. 前記セグメントは、MP4ファイルのSync Sampleを境界にして分割されたデータである、請求項7に記載のコンテンツ再生システム。
  9. 前記生成部は、前記第1のデータファイルに、前記複数の符号化データの対応するセグメント同士は代替して再生可能であることを示す情報を記載する、請求項8に記載のコンテンツ再生システム。
  10. 前記取得部は、HTTPに従って前記複数の符号化データの各々へのアクセス情報および前記セグメントを取得する、請求項9に記載のコンテンツ再生システム。
  11. 前記生成部は、前記第1のデータファイルに、前記複数の符号化データのビットレート情報を記載する、請求項1〜10のいずれか一項に記載のコンテンツ再生システム。
  12. 前記取得部は、アクセス情報に含まれる各符号化データファイルのネットワーク位置情報および各セグメントのファイル内でのバイト単位での位置情報を指定して、HTTPに従って前記セグメントを取得する、請求項1〜10のいずれか一項に記載のコンテンツ再生システム。
  13. 前記取得部は、前記アクセス情報に基づき、時系列に復号されるべきセグメントを前記コンテンツサーバからネットワークを介して順次に取得し、
    前記選択部は、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記ネットワークの状況に応じて動的に選択する、請求項10に記載のコンテンツ再生システム。
  14. 前記コンテンツ再生装置は、前記取得部により取得されたセグメントをバッファリングするバッファを備え、
    前記再生部は、前記バッファにバッファリングされたセグメントを順次に再生し、
    前記選択部は、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記バッファによるバッファリング状況に応じて選択する、請求項11に記載のコンテンツ再生システム。
  15. 前記選択部は、
    前記バッファにバッファリングされているセグメントで再生可能な時間が短くなると、低ビットレートで符号化された符号化データを構成するセグメントを選択し、
    前記バッファにバッファリングされているセグメントで再生可能な時間が長くなると、高ビットレートで符号化された符号化データを構成するセグメントを選択する、請求項12に記載のコンテンツ再生システム。
  16. 同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成し、複数のセグメントから構成される前記複数の符号化データの各々を記憶するコンテンツサーバに、いずれの符号化データを構成するセグメントを要求するかを、前記同一コンテンツ内で順次に選択する選択部と;
    前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部と;
    前記コンテンツサーバから取得されたセグメントを順次に再生する再生部と;
    を備える、コンテンツ再生装置。
  17. コンピュータを、
    同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成し、複数のセグメントから構成される前記複数の符号化データの各々を記憶するコンテンツサーバに、いずれの符号化データを構成するセグメントを要求するかを、前記同一コンテンツ内で順次に選択する選択部と;
    前記選択部により選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得する取得部と;
    前記コンテンツサーバから取得されたセグメントを順次に再生する再生部と;
    として機能させるための、プログラム。
  18. コンテンツサーバが、同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成するステップと;
    前記コンテンツサーバが、複数のセグメントから構成される前記複数の符号化データの各々を記憶媒体に記憶するステップと;
    コンテンツ再生装置が、いずれの符号化データを構成するセグメントを前記コンテンツサーバに要求するかを、前記同一コンテンツ内で順次に選択するステップと;
    前記コンテンツ再生装置が、選択されたセグメントを前記コンテンツサーバに要求して前記コンテンツサーバから取得するステップと;
    前記コンテンツ再生装置が、前記コンテンツサーバから取得されたセグメントを順次に再生するステップと;
    を含む、コンテンツ再生方法。
  19. 同一コンテンツを異なるビットレートで符号化して複数の符号化データを生成する生成部と;
    複数のセグメントから構成される前記複数の符号化データの各々を記憶する記憶部と;
    を備え、
    前記生成部は、前記複数の符号化データの各々へのアクセス情報、および前記複数の符号化データのうちの1の符号化データからなる第1のデータファイルと、他の符号化データの各々からなる1または2以上の第2のデータファイルとを、生成する、コンテンツサーバ。
JP2014020958A 2014-02-06 2014-02-06 情報処理装置、情報処理方法およびプログラム Pending JP2014131307A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014020958A JP2014131307A (ja) 2014-02-06 2014-02-06 情報処理装置、情報処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014020958A JP2014131307A (ja) 2014-02-06 2014-02-06 情報処理装置、情報処理方法およびプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009238130A Division JP2011087103A (ja) 2009-10-15 2009-10-15 コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015201283A Division JP2016040919A (ja) 2015-10-09 2015-10-09 情報処理装置、情報処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2014131307A true JP2014131307A (ja) 2014-07-10

Family

ID=51409259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014020958A Pending JP2014131307A (ja) 2014-02-06 2014-02-06 情報処理装置、情報処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2014131307A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016059018A (ja) * 2014-09-12 2016-04-21 株式会社東芝 配信装置、再生装置および配信システム
JPWO2016103968A1 (ja) * 2014-12-22 2017-09-28 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003114845A (ja) * 2001-10-03 2003-04-18 Hitachi Ltd メディア変換方法およびメディア変換装置
JP2004135307A (ja) * 2002-08-27 2004-04-30 Matsushita Electric Ind Co Ltd データストリームを送信する方法
WO2004077790A1 (en) * 2003-02-26 2004-09-10 Koninklijke Philips Electronics N.V. System for broadcasting multimedia content
US20040231004A1 (en) * 2003-05-13 2004-11-18 Lg Electronics Inc. HTTP based video streaming apparatus and method in mobile communication system
JP2004356922A (ja) * 2003-05-29 2004-12-16 Hitachi Ltd コンテンツ配信サーバ、及び端末装置
JP2005504480A (ja) * 2001-09-24 2005-02-10 ノキア コーポレイション メタデータ及びメディアデータを含むマルチメディアファイルのストリーミング
JP2007036666A (ja) * 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005504480A (ja) * 2001-09-24 2005-02-10 ノキア コーポレイション メタデータ及びメディアデータを含むマルチメディアファイルのストリーミング
JP2003114845A (ja) * 2001-10-03 2003-04-18 Hitachi Ltd メディア変換方法およびメディア変換装置
JP2004135307A (ja) * 2002-08-27 2004-04-30 Matsushita Electric Ind Co Ltd データストリームを送信する方法
WO2004077790A1 (en) * 2003-02-26 2004-09-10 Koninklijke Philips Electronics N.V. System for broadcasting multimedia content
US20040231004A1 (en) * 2003-05-13 2004-11-18 Lg Electronics Inc. HTTP based video streaming apparatus and method in mobile communication system
JP2004356922A (ja) * 2003-05-29 2004-12-16 Hitachi Ltd コンテンツ配信サーバ、及び端末装置
JP2007036666A (ja) * 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016059018A (ja) * 2014-09-12 2016-04-21 株式会社東芝 配信装置、再生装置および配信システム
JPWO2016103968A1 (ja) * 2014-12-22 2017-09-28 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム
US10741211B2 (en) 2014-12-22 2020-08-11 Sony Corporation Information processing device, information recording medium, and information processing method

Similar Documents

Publication Publication Date Title
KR101868281B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
JP6404505B2 (ja) メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
WO2013008867A1 (ja) 送信装置、送信装置の制御方法、制御プログラム、及び記録媒体
JP2019517219A (ja) トリックプレイ再生の間にオーディオコンテンツを提供するためのシステムおよび方法
WO2014112186A1 (ja) コンテンツサーバおよびコンテンツ配信方法
JP6258168B2 (ja) 配信装置、再生装置および配信システム
JP2014131307A (ja) 情報処理装置、情報処理方法およびプログラム
WO2014171385A1 (ja) サーバ装置、コンテンツ提供方法及びコンピュータプログラム
JP2016072858A (ja) メディアデータ生成方法、メディアデータ再生方法、メディアデータ生成装置、メディアデータ再生装置、コンピュータ読み取り可能な記録媒体、及びプログラム
KR20140117889A (ko) 클라이언트 장치, 서버 장치, 멀티미디어 리디렉션 시스템 및 그 방법
JP6294527B2 (ja) 送信装置、送信方法、再生装置、及び再生方法
JP2016040919A (ja) 情報処理装置、情報処理方法およびプログラム
KR101499194B1 (ko) 적응형 스트리밍 방법
JP2018074348A (ja) 映像処理装置、映像処理方法および映像処理プログラム
JP2024040912A (ja) 情報処理装置、受信装置、情報処理方法、及びプログラム
WO2015072020A1 (ja) 情報処理装置および情報処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20150714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170118