JP2019054415A - 情報処理装置および方法 - Google Patents

情報処理装置および方法 Download PDF

Info

Publication number
JP2019054415A
JP2019054415A JP2017177380A JP2017177380A JP2019054415A JP 2019054415 A JP2019054415 A JP 2019054415A JP 2017177380 A JP2017177380 A JP 2017177380A JP 2017177380 A JP2017177380 A JP 2017177380A JP 2019054415 A JP2019054415 A JP 2019054415A
Authority
JP
Japan
Prior art keywords
streaming data
segment
unit
reception
distribution
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
JP2017177380A
Other languages
English (en)
Inventor
健史 筑波
Kenji Tsukuba
健史 筑波
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 JP2017177380A priority Critical patent/JP2019054415A/ja
Priority to PCT/JP2018/032325 priority patent/WO2019054201A1/ja
Publication of JP2019054415A publication Critical patent/JP2019054415A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk

Abstract

【課題】再生遅延の発生を抑制することができるようにする。【解決手段】ストリーミングデータの品質に関する情報と、そのストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、そのストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前にそのストリーミングデータを受信することができるようにそのストリーミングデータの受信タイミングが計画されたそのストリーミングデータの受信スケジュールに基づいて、そのストリーミングデータの配信要求を行う。本開示は、例えば、情報処理装置、画像処理装置、再生装置、配信装置、情報処理方法、またはプログラム等に適用することができる。【選択図】図10

Description

本開示は、情報処理装置および方法に関し、特に、再生遅延の発生を抑制することができるようにした情報処理装置および方法に関する。
従来、シームレスな動画配信サービスを実現する技術として、HTTP(HyperText Transfer Protocol)プロトコルによる適応ストリーミング技術(HTTP Streaming)があった。例えば、そのHTTP Streamingの1つとしてMPEG-DASH(Moving Picture Experts Group phase − Dynamic Adaptive Streaming over HTTP)があった(例えば、非特許文献1参照)。
また、ストリーミング配信において、なるべく早期にデータを受信することにより、再生が途切れる可能性を低減する方法が提案された(例えば特許文献1参照)。
MPEG-DASH (Information technology - Dyamic adaptive streaming over HTTP(DASH) -Part1: Media presentation description and segment formats), ISO/IEC 23009-1
特開2014−204270号公報
しかしながら、非特許文献1に記載の方法では、ストリーミングデータのビットレートよりも通信路の伝送レートが低下した場合、ストリーミングデータの伝送が遅延し、その再生において遅延が発生するおそれがあった。
また、特許文献1に記載の方法の場合、通信路の伝送レートに余裕があればより早期にストリーミングデータを受信することができるが、無計画に受信タイミングを早めるのみであるため、各セグメントの受信順はその再生順のままであり、通信路の伝送レート変動の仕方によっては、セグメントの受信が再生に間に合わず、遅延が発生するおそれがあった。
本開示は、このような状況に鑑みてなされたものであり、再生遅延の発生を抑制することができるようにするものである。
本技術の一側面の情報処理装置は、ストリーミングデータの品質に関する情報と、前記ストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、前記ストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前に前記ストリーミングデータを受信することができるように前記ストリーミングデータの受信タイミングが計画された前記ストリーミングデータの受信スケジュールに基づいて、前記ストリーミングデータの配信要求を行う配信要求部を備える情報処理装置である。
本技術の一側面の情報処理方法は、ストリーミングデータの品質に関する情報と、前記ストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、前記ストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前に前記ストリーミングデータを受信することができるように前記ストリーミングデータの受信タイミングが計画された前記ストリーミングデータの受信スケジュールに基づいて、前記ストリーミングデータの配信要求を行う情報処理方法である。
本技術の他の側面の情報処理装置は、ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータの生成を要求する生成要求部を備える情報処理装置である。
本技術の他の側面の情報処理方法は、ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータの生成を要求する情報処理方法である。
本技術のさらに他の側面の情報処理装置は、要求に基づいて、ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータを生成する生成部を備える情報処理装置である。
本技術のさらに他の側面の情報処理方法は、要求に基づいて、ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータを生成する情報処理方法である。
本技術の一側面の情報処理装置および方法においては、ストリーミングデータの品質に関する情報と、そのストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、そのストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前にそのストリーミングデータを受信することができるようにそのストリーミングデータの受信タイミングが計画されたそのストリーミングデータの受信スケジュールに基づいて、そのストリーミングデータの配信要求が行われる。
本技術の他の側面の情報処理装置および方法においては、ストリーミングデータのビットレートが、そのストリーミングデータが配信される通信路の伝送レートを超えないように、そのストリーミングデータの生成が要求される。
本技術のさらに他の側面の情報処理装置および方法においては、要求に基づいて、ストリーミングデータのビットレートが、そのストリーミングデータが配信される通信路の伝送レートを超えないように、そのストリーミングデータが生成される。
本開示によれば、情報を処理することができる。特に、再生遅延の発生を抑制することができる。
MPEG-DASHの概要について説明するための図である。 MPDの主な構成例を示す図である。 ユースケースについて説明するための図である。 通信路の帯域幅の変動の様子の例を示すタイミングチャートである。 ストリーミングデータの配信の様子の例を示すタイミングチャートである。 通信路の帯域幅の変動の様子の例を示すタイミングチャートである。 ストリーミングデータの配信の様子の例を示すタイミングチャートである。 配信システムの主な構成例を示す図である。 MPDおよびストリーミングデータの例を示す図である。 ストリーミングデータの配信の様子の例を示すタイミングチャートである。 配信装置の主な構成例を示すブロック図である。 配信装置が実現する主な機能の例を示す機能ブロック図である。 再生装置の主な構成例を示すブロック図である。 再生装置が実現する主な機能の例を示す機能ブロック図である。 ビットレート決定部が実現する主な機能の例を示す機能ブロック図である。 再生対象セグメントの割り当ての様子の例を示す図である。 受信可能最大セグメント数の設定の様子の例を示す図である。 受信セグメントの割り当ての様子の例を示す図である。 ビットレート決定処理の流れの例を説明する図である。 受信対象セグメントのビットレートについて説明するための図である。 ビットレートの設定の様子の例を示す図である。 配信・再生処理の流れの例を説明するフローチャートである。 配信・再生処理の流れの例を説明する、図22に続くフローチャートである。 ストリーミングデータの配信の様子の例を示すタイミングチャートである。 経路の変更の例を示す図である。 ストリーミングデータの配信の様子の例を示すタイミングチャートである。 配信装置101が実現する機能の例を示す機能ブロック図である。 再生装置102が実現する機能の例を示す機能ブロック図である。 ビットレート決定処理の流れの例を説明するフローチャートである。 受信対象セグメントのビットレートについて説明するための図である。 配信・再生処理の流れの例を説明するフローチャートである。 配信・再生処理の流れの例を説明する、図31に続くフローチャートである。 配信・再生処理の流れの例を説明する、図32に続くフローチャートである。 配信・再生処理の流れの例を説明する、図33に続くフローチャートである。
以下、本開示を実施するための形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。
1.ストリーミングデータ配信
2.第1の実施の形態(受信スケジュールの設定)
3.第2の実施の形態(適正ビットレートセグメント&MPD作成要求)
4.まとめ
5.その他
<1.ストリーミングデータの配信>
<MPEG-DASH>
シームレスな動画配信サービスを実現する技術として、HTTP(HyperText Transfer Protocol)プロトコルによる適応ストリーミング技術(HTTP Streaming)がある。例えば、HTTP Streamingの1つであるMPEG-DASH(Moving Picture Experts Group phase − Dynamic Adaptive Streaming over HTTP)では、配信サーバ上に
(1)複数のビットレートの動画コンテンツを、数秒乃至十数秒程度の単位毎に分割したセグメントファイル(動画データ)
(2)上記動画データ群の属性(ビットレート、解像度、fps等)や配信元(URL(Uniform Resource Locator),統一資源位置指定子)が記述されたマニフェストファイル(MPD(Media Presentaion Description)とも称する)
を予め用意しておく。
クライアントの再生端末は、上記MPDを受信・解析し、クライアントの再生端末の受信環境(画面サイズ、ネットワーク帯域など)に合わせて、最適な品質のセグメントファイルを動的に変更して受信する。
MPEG-DASHでは、以上のようにして、シームレスな動画再生を提供することができる。図1は、このようなMPEG-DASHの概要を説明するための図である。
<配信サーバ側>
図1に示されるように、例えば撮像装置11等で撮像する等して生成された動画コンテンツは、予めエンコーダ12(ENC)により符号化される。エンコーダ12は、その符号化により、その動画コンテンツの、品質(解像度やビットレート)が互いに異なる複数のストリームを生成し、時刻を揃えて各ストリームを数秒単位のセグメントファイルに分割する。
図1において、ビットストリーム21は、その複数のストリーム群からなる、動画コンテンツの符号化データである。ビットストリーム21の各ストリームを分割して得られる数秒単位のセグメントは、SG101,SG102,SG103,…,SG106である。
各セグメントSG10x(x=1,2,…,)は、さらに、品質の異なるセグメントファイル(SG10xR1,SG10xR2,SG10xR3…)から構成されている。なお、分割数は、図1の例に限定されず、任意の整数値をとりうる。また、各セグメントに含まれる品質の数は、図1の例に限定されず、任意の整数値をとりうる。また、セグメントファイルSG101Rxの添え字Rxは、ある品質を示すレートRxを表し、図1では、R1<R2<R3の順で、品質が良くなり、同時にデータ量も増える。
さらに、上記動画コンテンツのエンコード情報(符号化方式、ビットレート、解像度など)やセグメント構成(セグメントがどの品質のセグメントファイルから構成されているかを表す)など動画品質情報を記述したマニフェストファイル(MPD(Media Presentation Description))22を生成し、そのMPD22を、上述のセグメントファイル群共に、配信サーバ13に供給する。
<MPDの概要>
ここで、図2を参照して、図1のMPD22の概要について説明する。MPD22は時間方向に対して、ピリオド"Period"によって、分割され、各Periodには、"start"で定義される開始時刻の情報を有する。さらに、各Periodは、グループ"Group"というコンテンツの種別ごとの情報を有する。ピリオド"Period"とは、プログラム単位の動画コンテンツである。また、図2の例では、"video"のGroupと"audio"のGroupが示されている。
各Groupは、ビットレート(または帯域幅bandwidth)、ピクチャの水平解像度(またはピクチャ横幅width)、ピクチャの垂直解像度(あるいは、ピクチャ縦幅height)が定義された"Representation"によって、例えば、解像度を軸にした複数レイヤのストリームに区分される。各Representationは、さらに時間方向に対して、所定時間単位(duration単位)に分割されたセグメント"Segment"に関する情報が記述されたセグメント情報"SegmentInfo"を含む。
さらに、セグメント情報SegmentInfoは、サブセグメント(Sub Segment)毎の情報が記述された"SubSegment"を含む。SubSegmentには、対応するデータファイルのアクセス先URL(Uniform Resource Location)や、対応するPeriodに記述された時刻を基準とした開始時刻が記述される。
<ユーザ側>
図3において、ユーザ端末32は、画像やテキストといった一般のウェブコンテンツと同様に動画コンテンツを、配信サーバ13から通信路31(インターネットなど)を介してHTTPで取得するものとする。
ユーザ端末32は、まず、MPD22を配信サーバ13より受信する。ユーザ端末32は、MPD22の内容を把握し、現在の通信路の状況や視聴環境などに合わせた品質のセグメントファイルを選択して受信し、順番に再生する。
図4のAに示されるように、ユーザが地点L1から地点L7へ移動する間(時刻T1からT7)、配信サーバ13からユーザ端末32までの間の通信路の伝送レートが図4のBに示されるように、時間とともに変化すると仮定する。
図4のBにおいて、時刻T1乃至T3の時、通信路31の伝送レートは低レートのR1であるため、ユーザ端末32は、図5のAおよびBに示されるように、ビットストリーム21の、伝送レートR1で伝送可能なセグメントファイルの中で最大品質のセグメントファイル(SG101R1、SG102R1)を選択し、受信して再生する。
また、図4のBにおいて、時刻T3乃至T4の時、伝送レートは中レートのR2であるため、ユーザ端末32は、図5のAおよびBに示されるように、ビットストリーム21の、伝送レートR2で伝送可能なセグメントファイルの中で、最大品質のセグメントファイル(SG103R2)を選択し、受信して再生する。
さらに、図4のBにおいて、時刻T4乃至T6の時、通信路31の伝送レートは高レートのR3であるため、ユーザ端末32は、図5のAおよびBに示されるように、ビットストリーム21の、伝送レートR3で伝送可能なセグメントファイルの中で、最大品質のセグメントファイル(SG104R3、SG105R3)を選択し、受信して再生する。
また、図4のBにおいて、時刻T6乃至T7の時、通信路31の伝送レートは中レートのR2であるため、ユーザ端末32は、図5のAおよびBに示されるように、ビットストリーム21の、伝送レートR2で伝送可能なセグメントファイルの中で、最大品質のセグメントファイル(SG106R2)を選択し、受信して再生する。
以上のようにすることで、通信路31の状況に応じた品質の動画コンテンツをユーザ端末32側で選択、受信、再生することができる(図5のC)。
<再生遅延の発生>
しかしながら、非特許文献1に記載の方法では、MPD22に記述がある下限ビットレートRminよりも通信路31の伝送レートが低下した場合、ユーザ端末32は対象セグメント(S10xRy)の受信・再生に遅延が発生するおそれがあった。さらに、後続セグメントの受信・再生も続けて遅延するおそれがあった。すなわち、シームレスな動画再生ができないおそれがあった。
例えば、図6のAに示されるように、ユーザ端末32が地点L1から地点L7へ移動する間(時刻T1からT7)、通信路31の伝送レートが、図6のBに示すように変動すると仮定する。
ユーザ端末32は、通信路31の伝送レートR1、R2、R3で伝送可能なセグメントファイルが、MPD22上に記述があれば、それぞれの伝送レートRyで伝送可能なセグメントファイルの中で最大品質のセグメントファイルを選択し、受信・再生することができる。
例えば図6の場合、時刻T1乃至T3の時、通信路31の伝送レートは高レートのR3であるため、ユーザ端末32は、図7のAおよびBに示されるように、ビットストリーム21の、伝送レートR3で伝送可能なセグメントファイルの中で最大品質のセグメントファイル(SG101R3, SG102R3)を選択し、受信して再生する。
また、図6の時刻T3乃至T4の場合、通信路31の伝送レートは低レートのR1であるため、ユーザ端末32は、図7のAおよびBに示されるように、ビットストリーム21の、伝送レートR1で伝送可能なセグメントファイルの中で、最大品質のセグメントファイル(SG103R1)を選択し、受信して再生する。
さらに、図6の時刻T4乃至T6の場合、通信路31の伝送レートは、伝送レートR1の半分、R1/2であるとする。ユーザ端末32は、図7のAおよびBに示されるように、ビットストリーム21の、伝送レートR1/2で伝送可能なセグメントファイルがMPD22上に記述がないため、MPD22に記述がある下限レートポイントのR1に対応するセグメントファイルSG104R1の受信を試みる。
しかしながら、通信路31の伝送レートはR1/2であるため、セグメントファイルSG104R1の受信には、(T6-T4)の時間を要する。したがって、図7のCに示されるように、セグメントファイルSG104R1の再生完了は、ΔT=(T6-T5)だけ遅延する。したがって、セグメントSG104の後続セグメントSG105…らの受信・再生開始時刻も遅延する。
以上、説明したように、MPD22に記述がある下限ビットレートRminよりも通信路31の伝送レートが低下した場合、ユーザ端末32は対象セグメント(S10xRy)の受信・再生に遅延が発生し、後続セグメントの受信・再生も続けて遅延するおそれがあり、シームレスな動画再生ができないおそれがあった。
<2.第1の実施の形態>
<配信システム>
図8は、本技術を適用した配信システムの一実施の形態の主な構成例を示すブロック図である。図8において、配信システム100は、動画像コンテンツのストリーミング配信サービスが提供されるシステムである。
図8に示されるように、この配信システム100は、配信装置101および再生装置102を有する。配信装置101および再生装置102は、互いにネットワーク103に通信可能に接続されている。
ネットワーク103は、任意の通信網である。ネットワーク103において採用される通信方法は任意である。例えば、有線通信であってもよいし、無線通信であってもよいし、それらの両方であってもよい。また、ネットワーク103は、単数の通信網により構成されるようにしてもよいし、複数の通信網により構成されるようにしてもよい。例えば、インターネット、公衆電話回線網、所謂3G回線や4G回線等の無線移動体用の広域通信網、WAN(Wide Area Network)、LAN(Local Area Network)、Bluetooth(登録商標)規格に準拠した通信を行う無線通信網、NFC(Near Field Communication)等の近距離無線通信の通信路、赤外線通信の通信路、HDMI(High-Definition Multimedia Interface)やUSB(Universal Serial Bus)等の規格に準拠した有線通信の通信網等、任意の通信規格の通信網や通信路がネットワーク103に含まれるようにしてもよい。
配信装置101および再生装置102は、このネットワーク103を介して互いに通信を行い、情報を授受することができる。なお、配信装置101および再生装置102と、ネットワーク103との接続は、有線(すなわち、有線通信を介した接続)であってもよいし、無線(すなわち、無線通信を介した接続)であってもよいし、その両方であってもよい。
配信装置101は、コンテンツデータの配信に関する処理を行う装置である。再生装置102は、配信装置101が配信するコンテンツデータを受信し、再生する装置である。配信システム100は、MPEG-DASHと基本的に同様の方法により、コンテンツデータの配信サービスを提供する。
例えば、再生装置102は、配信装置101に対して所望のコンテンツに対応するMPDを要求する(矢印111)。配信装置101は、その要求に応じてMPDを再生装置102に供給する(矢印112)。再生装置102は、そのMPDに基づいて再生に必要なコンテンツデータのセグメントの配信を要求する(矢印111)。配信装置101は、要求されたコンテンツデータ(ストリーミングデータ)を配信する(矢印112)。再生装置102は、配信されたコンテンツデータを受信すると、それを再生する。
なお、各装置の数、筐体の形状や大きさ、配置位置等は任意である。
配信システム100において装置間で授受されるMPDの例を図9のAに示す。図9のAに示されるように、MPD121には、コンテンツデータのビットレート、コンテンツデータに含まれる動画像の解像度、セグメントの分割単位、およびセグメントの取得元等の情報が含まれる。
また、配信システム100において装置間で授受されるコンテンツデータには、動画像データや音声データが含まれる。例えば、この動画像データのビットストリームの例を図9のBに示す。図9のBに示されるビットストリーム122は、配信システム100において配信されるコンテンツデータであり、複数のセグメント(セグメントSG101乃至SG106)により構成される。各セグメントは、ビットレートが互いに異なる複数のビットストリームにより構成される。
配信システム100の配信装置101および再生装置102は、例えば、図10の例のように配信、受信、再生を行う。
図10は、実施例#1の形態に係る配信システムの動作の概念を示すタイミングチャートである。図10のAは、所定時間Tperiodの長さを有するビットストリーム122を構成するセグメント、およびセグメントファイルを図示したものである。このタイミングチャートは、図6に示されるようなレート変動に応じて行われた配信の様子を示す。
図10のBは、配信装置101と再生装置102との間での各分割期間Diにおけるセグメントファイルの配信要求のやり取りを図示したものである。例えば、図10のBの分割期間D1において、再生装置102は、ビットレートがR2であるセグメントファイルSG101(SG101R2)、およびビットレートがR1であるセグメントファイルSG104(SG104R1)の配信要求を配信装置101へ供給し、配信装置101からそれに対応するデータ(SG101R2, SG104R1)を受信する様子を図示している。
図10のCは、再生装置102において、各分割期間Diで再生されるセグメントファイルを図示したものである。例えば、図10のCの分割期間D1では、セグメントファイルSG101R2が再生される。
なお、これらの各分割期間Diの配信装置101および再生装置102間の通信路の予測伝送レートRipは、図6のBと同等であるものとする。また、時刻Tiに対応する再生装置102の地図上の地点Liは、図6のAと同等である。例えば、分割期間D1であれば、時刻T1からT2にかけて、再生装置102は地点L1からL2へ移動することを示している。
<配信装置>
配信装置101は、ストリーミングデータ(ビットストリーム122)の再生期間を所定時間単位(duration単位)で分割したセグメントごとに異なるビットレートのデータ、および上記ストリーミングデータに関するMPD121を保持する。
同図のストリーミングデータ(ビットストリーム)を例にすれば、SG10x(X=1,2,3…)が所定時間単位で分割されたセグメントであり、各セグメントには、異なるビットレートRx(X=1,2,3,…)のセグメントファイルSG10xRy(x=1,2,3…, y=1,2,3…)が含まれる。また、上記ビットレートRx(X=1,2,3…)は、再生装置102側において、受信するセグメントの候補ビットレートRcandとなる。
配信装置101は、再生装置102からストリーミングデータに関するMPDの配信要求を受けると、再生装置102へそのMPDを配信する。
そして、配信装置101は、再生装置102から各セグメントの配信要求を受ける際に、セグメント毎に候補ビットレートRcandの中からビットレートの指定を受け、指定されたビットレートのデータを配信する。
図11は、本技術を適用した情報処理装置の一実施の形態である配信装置101の主な構成例を示すブロック図である。
図11に示されるように、配信装置101は、CPU201、ROM202、RAM203、バス204、入出力インタフェース210、入力部211、出力部212、記憶部213、通信部214、およびドライブ215を有する。
CPU201、ROM202、RAM203は、バス204を介して相互に接続されている。バス204にはまた、入出力インタフェース210も接続されている。入出力インタフェース210には、入力部211、出力部212、記憶部213、通信部214、およびドライブ215が接続されている。
入力部211は、ユーザ入力等の外部の情報を受け付ける任意の入力デバイスよりなる。例えば、入力部211が、操作ボタン、タッチパネル、カメラ、マイクロホン、および入力端子のいずれか1つ以上を有するようにしてもよい。また、例えば、入力部211が、光センサや温度センサ等の任意のセンサを1つ以上有するようにしてもよい。もちろん、入力部211が、これら以外の入力デバイスを有するようにしてもよい。
出力部212は、画像や音声等の情報を出力する任意の出力デバイスよりなる。例えば、出力部212が、ディスプレイ、スピーカ、および出力端子のいずれか1つ以上を有するようにしてもよい。もちろん、出力部212が、これら以外の出力デバイスを有するようにしてもよい。
記憶部213は、プログラムやデータ等の情報を記憶する任意の記憶媒体よりなる。例えば、記憶部213が、ハードディスク、RAMディスク、不揮発性メモリのいずれか1つ以上を有するようにしてもよい。もちろん、記憶部213が、これら以外の記憶媒体を有するようにしてもよい。
通信部214は、所定の通信媒体(例えばインターネット等の任意のネットワーク)を介して外部の装置とプログラムやデータ等の情報を授受する通信を行う任意の通信デバイスにより構成される。通信部214は、例えば、任意のネットワークインタフェースにより構成されるようにしてもよい。例えば、通信部214は、配信装置101の外部の装置と通信(プログラムやデータの授受)を行う。なお、通信部214が有線通信機能を有するようにしてもよいし、無線通信機能を有するようにしてもよいし、その両方を有するようにしてもよい。
ドライブ215は、自身に装着されたリムーバブルメディア221に記憶されている情報を読み出したり、自身に装着されたリムーバブルメディア221に情報を書き込んだりする。ドライブ215は、例えば、リムーバブルメディア221から情報を読み出し、その読み出した情報をCPU201やRAM203等に供給することができる。また、ドライブ215は、書き込み可能なリムーバブルメディア221が自身に装着された場合、CPU201やRAM203等から供給される情報(プログラムやデータ等)を、そのリムーバブルメディア221に記憶させることができる。リムーバブルメディア221は、ドライブ215に対して着脱可能な記録媒体である。例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどであってもよい。
CPU201は、例えば、記憶部213に記憶されているプログラムを、入出力インタフェース210およびバス204を介して、RAM203にロードして実行することにより、各種処理を行う。RAM203にはまた、CPU201が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU201は、そのようにプログラム等を実行することにより、対応点の検出に関する処理を行うことができる。
<配信装置の機能ブロック>
図12は、配信装置101がプログラム等を実行することにより実現する機能の例を示す機能ブロック図である。図12に示されるように、プログラムを実行することにより配信装置101は、例えば、MPD管理部251、MPD要求受付部252、MPD送信部253、コンテンツ管理部254、コンテンツ要求受付部255、およびコンテンツ送信部256を有する。なお、矢印等の図示は省略しているが、これらの処理部は、他の任意の処理部と任意の情報を授受することができる。
MPD管理部251は、MPDの管理に関する処理を行う。例えば、MPD管理部251は、記憶部213等に記憶したMPDの読み出しや書き込み等を行う。MPD要求受付部252は、MPDの送信要求の受け付けに関する処理を行う。例えば、MPD要求受付部252は、通信部214を制御して、再生装置102等から送信された要求を受け付ける。MPD送信部253は、MPDの送信に関する処理を行う。例えば、MPD送信部253は、通信部214を制御して、MPD要求受付部252により受け付けられた要求に基づいてMPD管理部251が読み出したMPDを要求元に送信する。
コンテンツ管理部254は、コンテンツデータの管理に関する処理を行う。例えば、コンテンツ管理部254は、記憶部213等に記憶したコンテンツデータ(ビットストリーム122等)の読み出しや書き込み等を行う。コンテンツ要求受付部255は、コンテンツデータの送信要求の受け付けに関する処理を行う。例えば、コンテンツ要求受付部255は、通信部214を制御して、再生装置102等から送信された要求を受け付ける。コンテンツ送信部256は、コンテンツデータの送信に関する処理を行う。例えば、コンテンツ送信部256は、通信部214を制御して、コンテンツ要求受付部255により受け付けられた要求に基づいて、コンテンツ管理部254が読み出したコンテンツデータを要求元に送信する。
<再生装置>
図13は、本技術を適用した情報処理装置の一実施の形態である再生装置102の主な構成例を示すブロック図である。
図13に示されるように、再生装置102は、CPU301、ROM302、RAM303、バス304、入出力インタフェース310、入力部311、出力部312、記憶部313、通信部314、およびドライブ315を有する。
CPU301、ROM302、RAM303は、バス304を介して相互に接続されている。バス304にはまた、入出力インタフェース310も接続されている。入出力インタフェース310には、入力部311、出力部312、記憶部313、通信部314、およびドライブ315が接続されている。
入力部311は、ユーザ入力等の外部の情報を受け付ける任意の入力デバイスよりなる。例えば、入力部311が、操作ボタン、タッチパネル、カメラ、マイクロホン、および入力端子のいずれか1つ以上を有するようにしてもよい。また、例えば、入力部311が、光センサや温度センサ等の任意のセンサを1つ以上有するようにしてもよい。もちろん、入力部311が、これら以外の入力デバイスを有するようにしてもよい。
出力部312は、画像や音声等の情報を出力する任意の出力デバイスよりなる。例えば、出力部312が、ディスプレイ、スピーカ、および出力端子のいずれか1つ以上を有するようにしてもよい。もちろん、出力部312が、これら以外の出力デバイスを有するようにしてもよい。
記憶部313は、プログラムやデータ等の情報を記憶する任意の記憶媒体よりなる。例えば、記憶部313が、ハードディスク、RAMディスク、不揮発性メモリのいずれか1つ以上を有するようにしてもよい。もちろん、記憶部313が、これら以外の記憶媒体を有するようにしてもよい。
通信部314は、所定の通信媒体(例えばインターネット等の任意のネットワーク)を介して外部の装置とプログラムやデータ等の情報を授受する通信を行う任意の通信デバイスにより構成される。通信部314は、例えば、任意のネットワークインタフェースにより構成されるようにしてもよい。例えば、通信部314は、再生装置102の外部の装置と通信(プログラムやデータの授受)を行う。なお、通信部314が有線通信機能を有するようにしてもよいし、無線通信機能を有するようにしてもよいし、その両方を有するようにしてもよい。
ドライブ315は、自身に装着されたリムーバブルメディア321に記憶されている情報を読み出したり、自身に装着されたリムーバブルメディア321に情報を書き込んだりする。ドライブ315は、例えば、リムーバブルメディア321から情報を読み出し、その読み出した情報をCPU301やRAM303等に供給することができる。また、ドライブ315は、書き込み可能なリムーバブルメディア321が自身に装着された場合、CPU301やRAM303等から供給される情報(プログラムやデータ等)を、そのリムーバブルメディア321に記憶させることができる。リムーバブルメディア321は、ドライブ315に対して着脱可能な記録媒体である。例えば、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどであってもよい。
CPU301は、例えば、記憶部313に記憶されているプログラムを、入出力インタフェース310およびバス304を介して、RAM303にロードして実行することにより、各種処理を行う。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU301は、そのようにプログラム等を実行することにより、対応点の検出に関する処理を行うことができる。
<再生装置の機能ブロック>
図14は、再生装置102がプログラム等を実行することにより実現する機能の例を示す機能ブロック図である。図12に示されるように、プログラムを実行することにより再生装置102は、例えば、MPD要求部351、MPD取得部352、MPD保持部353、配信要求部354、ビットレート決定部355、および予測伝送レート取得部356を有する。なお、矢印等の図示は省略しているが、これらの処理部は、他の任意の処理部と任意の情報を授受することができる。
MPD要求部351はMPDの要求に関する処理を行う。例えば、MPD要求部351は、通信部314を制御し、MPDの送信要求を配信装置101に対して送信する。MPD取得部352は、MPDの取得に関する処理を行う。例えば、MPD取得部352は、通信部314を制御し、MPD要求部351からの要求に応じて配信装置101から送信されたMPDを取得する。MPD保持部353は、MPDの保持に関する処理を行う。例えば、MPD保持部353は、MPD取得部352により取得されたMPDを記憶部313やRAM302等に格納し、保持させる。
配信要求部354は、コンテンツデータの配信要求に関する処理を行う。例えば、配信要求部354は、通信部314を制御し、コンテンツデータの配信要求を配信装置101に対して送信する。また、配信要求部354は、その要求に応じて配信されたコンテンツデータを取得する。さらに、配信要求部354は、取得したコンテンツデータを再生する。
ビットレート決定部355は、コンテンツデータのビットレートの設定に関する処理を行う。例えば、ビットレート決定部355は、受信し、再生するコンテンツデータの(各セグメントの)ビットレートを設定する。例えば、ビットレート決定部355は、受信したMPD、および上記分割期間毎の予測伝送レートRipを参照して、各分割期間Diで受信対象とする0以上のセグメント、および各セグメントの受信ビットレート(受信スケジュール)を決定する。
予測伝送レート取得部356は、通信路の伝送レートの予測に関する処理を行う。例えば、予測伝送レート取得部356は、配信装置101から再生装置102までの通信路の分割期間毎の予測伝送レートRipを取得する。
再生装置102は、各分割期間の再生対象セグメントの再生を行う。以下、各構成ブロックの詳細について説明する。
<予測伝送レート取得部>
予測伝送レート取得部356は、再生装置102の移動経路情報(予測情報)(例えば、図6のA)に基づいて、分割期間Di毎の配信装置101から再生装置102間の通信路の伝送レートの予測値(予測伝送レートRipともいう)(例えば、図6のB)を取得する。
<予測伝送レートの取得例>
予測伝送レート取得部356は、再生装置102が移動経路上を移動したとき分割期間Di(図6であれば、Di=[Ti,Ti+1)(i=1,2,…))ごとの予測伝送レートRipを、例えば、移動経路情報と伝送レートとを対応づけたデータベース(通信路予測伝送レートDB)を参照して取得する。
例えば、図6であれば、予測伝送レート取得部356は、時刻T1を起点として、時間T1乃至T7の所定時間Tperiod = (T7-T1)内における各分割期間Diの予測伝送レートRipを取得する。
図6のBの場合の例では、各分割期間Diの予測伝送レートRipは以下の通りでる。
・分割期間D1の予測伝送レートR1p = R3(=4*R1)
・分割期間D2の予測伝送レートR2p = R3(=4*R1)
・分割期間D3の予測伝送レートR3p = R1
・分割期間D4の予測伝送レートR4p = R1/2
・分割期間D5の予測伝送レートR5p = R1/2
・分割期間D6の予測伝送レートR6p = R1
ここでは、R3 = 2*R2, R2 = 2*R1とする。
つまり、伝送レートに関する情報は、情報処理装置の移動経路に基づいて予測された通信路の伝送レートである予測伝送レートを含み、その予測伝送レートに基づいて、受信スケジュールが設定されるようにしてもよい。
<ビットレート決定部>
ビットレート決定部355の機能は以下の通りである。
・MPDを参照して、各分割期間Diで再生するセグメントSiを決定する(再生スケジュール)。
・セグメント毎のビットレート情報と分割期間Di毎の予測伝送レートRipを参照して、各分割期間Diで再生するセグメントSiを、該分割期間Di、または、分割期間Diより前の分割期間Dj(i>j)において配信要求するための受信スケジュールを決定する。
つまり、品質に関する情報は、MPDを解析して得られる前記ストリーミングデータのビットレートを含み、ビットレート決定部355は、そのビットレートに基づいて、受信スケジュールを設定する。
また、ビットレート決定部355は、ストリーミングデータの各セグメントを、再生スケジュールにおいて計画された期間よりも前の期間において受信することができるように、ストリーミングデータの各セグメントを受信する期間を計画し、受信スケジュールを設定する。
以下、ビットレート決定部355の詳細について説明する。
・ビットレート決定部355は、MPD121を参照して、所定時間Tperiod内の各分割期間Diで再生するセグメントSG10xを決定する。
・ビットレート決定部355は、所定時間Tperiod内の各分割期間Diの予測伝送レートRip、およびMPD121に記述されている各セグメントSG10xのビットレート情報から、各分割期間Diで受信する0以上のセグメントS(i,j)、およびセグメントS(i,j)のビットレートR(i,j)を決定する。
・決定した分割期間Di毎の受信対象セグメントの割り当て、および各受信対象セグメントのビットレートを記述したデータ(受信スケジュール表と呼ぶ)を配信要求部354へ供給する。
ここで、S(i,j)は、分割期間Diにおいて、j番目の受信対象セグメントを表し、S(i,j)のビットレートをR(i,j)と表記する。
ビットレート決定部355は、図15に示されるように、再生対象セグメント決定部371、受信可能セグメント数導出部372、受信対象セグメント決定部373、および受信対象セグメントビットレート決定部374を有する。
<再生対象セグメント決定部>
再生対象セグメント決定部371は、MPD121を参照して、各分割期間Diで再生対象となるセグメントを決定する。例えば、図16に示される表のように、MPDの各ピリオド(period)を基準とした各セグメントの開始時刻startが早い順に、各分割期間へ割り当てる。
<受信可能セグメント数導出部>
受信可能セグメント数導出部372は、各分割期間Diの予測伝送レートRip、MPD121の下限ビットレートRmin、最大受信セグメント数numSGMaxに基づいて、下限ビットレートRminで受信可能なセグメント数numSG(受信可能セグメント数numSGという)を導出する。例えば、受信可能セグメント数導出部372は、図17のAに示されるようなテーブル情報の右端のパラメータを導出する。例えば、受信可能セグメント数導出部372は、図17のBのようにしてパラメータを導出する。また、受信可能セグメント数導出部372は、各分割期間Diの受信可能セグメント数numSGを記述したデータ(受信可能セグメント数情報)(図17のAに示すテーブル)を出力する。
<受信対象セグメント決定部>
受信対象セグメント決定部373は、受信可能セグメント数情報(図17のA)を参照して、所定ルールに基づいて、各分割期間Diに受信対象とする0以上のセグメントS(i,j)を決定する。決定された各分割期間Diの受信対象セグメントを記述したデータ(受信対象セグメント割り当て情報)(図18に示すテーブル)を出力する。
<受信対象セグメントビットレート決定部>
受信対象セグメントビットレート決定部374は、受信対象セグメント割り当て情報(図18に示すテーブル)を参照して、各分割期間Diの受信対象セグメントS(i,j)のビットレートR(i,j)を、所定ルールに基づいて決定する。
<ビットレート決定処理の流れ>
図19のフローチャートを参照して、ビットレート決定部355の動作について説明する。最初にビットレート決定処理の流れの例を説明する。
ビットレート決定処理が開始されると、ビットレート決定部355の再生対象セグメント決定部371は、ステップS101において、MPD121を参照して、各分割期間Di(i=1…N)の再生対象セグメントを決定する(図16)。
ステップS102において、ビットレート決定部355は、各分割期間Di(i=1…N)の予測伝送レートRipを予測伝送レート取得部356から取得する(図17のAの左から2列目)。
ステップS103において、ビットレート決定部355は、MPD121の下限ビットレートRminを取得する(図17のAの左から3列目)。
ステップS104において、ビットレート決定部355の受信可能セグメント数導出部372は、各分割期間Di(i=1…N)における下限ビットレートRminで受信可能なセグメント数numSGを決定する。例えば、受信可能セグメント数導出部372は、同一分割期間Diで受信可能なセグメント数の最大値を、numSGMax(=2)、下限ビットレートRmin、予測伝送レートRipに基づいて、以下の式(1)で決定する。
numSG = clip3(0, numSGMax, floor(Rip/Rmin))
・・・(1)
上記式(1)に基づいて、各分割期間Diの受信可能セグメント数を決定した例は、図17のAの左から4列目である。つまり、ビットレート決定部355は、通信路の伝送レートを超えない範囲で、単一の期間において複数のセグメントを受信するように、受信スケジュールを設定することができる。
ステップS105において、ビットレート決定部355の受信対象セグメント決定部373は、各分割期間Diで受信対象とするセグメントを所定ルールで割り当てる。ここで、図18の表を参照して、第1の割り当て方法に基づく各分割期間Diで受信対象とするセグメントの割り当て方を説明する。
<第1の割り当て方法>
図18を例にして、分割期間Di(i=1,…6)に対して、割り当てるべきセグメントをSG10j(j=1,…,6)とする。なお、分割期間Diの数とセグメント数は一致しているものとする。
(1−1)受信可能セグメント数numSG>0となる各分割期間Di(i=1,2,…)に対して、iと対応するセグメントを1個割り当てる。
・図18では、numSG>0となる分割期間Di(=1,2,3,6)に対して、セグメントSG10j(j=1,2,3,6)を割り当てる。すなわち,numSG>0である分割期間Diにi==jとなる添え字jを有するセグメントSG10jを割り当てる。
・(1−1)の後、未割当のセグメントはSG104, SG105の2個である。
(1−2)続いて、受信可能セグメント数numSG > 1となる分割期間Di(i=1,2)に対して、未割当セグメントSG10j(j=1,2)をjの小さい順に割り当てる。
・図18では、分割期間D1にSG104、分割期間D2にSG105を割り当てる。
・(1−2)により、受信可能セグメント数numSG>0となる分割期間Diに対して、1以上のセグメントを割り当てることができる。
**ここまで(第1の割り当て方法)**
図19に戻り、ステップS106において、ビットレート決定部355の受信対象セグメントビットレート決定部374は、各分割期間Diの受信対象セグメントS(i,j)のビットレートR(i,j)を所定のビットレート割り当て方法で決定する。ここで、所定のビットレート割り当て方法の一例について説明する。
分割期間Diの受信対象セグメントのビットレート割り当て方法(ビットレート割り当て方法#1)は、例えば、以下のように表現することができる。ここでは、表記を簡略化するため、S(i,j)のビットレートR(i,j)を単純にRjと記載する。
<ビットレート割り当て方法#1>
分割期間Diにおいて、受信対象セグメントS(i,j)のビットレートR(i,j)の総和が予測伝送レートRipを超えない範囲で、最大となるように各受信対象セグメントS(i,j)のビットレートR(i,j)を候補ビットレートRcandから決定する(式(2))。ここで、候補ビットレートRcandとは、MPDに記述されているビットレートである。
Figure 2019054415
・・・(2)
上述の式(2)は、以下の式(3)に示されるように、最小化問題として表すこともできる。
Figure 2019054415
・・・(3)
ただし、式(2)または式(3)の問題を簡単化するため、以下のいずれかの拘束条件を加えるようにしてもよい。以下では、各拘束条件について説明する。
<拘束条件#1>
分割期間Diにおいて、2番目以降の受信対象セグメントS(i,j)のビットレートR(i,j)を下限ビットレートRminに固定する。この場合、上述の式(2)は、以下の式(4)に修正される。
すなわち、予測伝送レートRipから2番目以降の受信対象セグメントのビットレートR(i,j)(j>1)の総和を引いた残余ビットレートRrem(=Rip-(numSGallocated-1))を超えない範囲で、1番目の受信対象セグメントS(i,1)のビットレートR(i,1)(= R_1)を候補ビットレートRcandから決定する。
Figure 2019054415
・・・(4)
図18に示される分割期間Diに対する受信可能セグメントの割り当てに対して、上述の式(4)に基づいて、各レートを割り当てた一例を図20に示す。図20において、分割期間D1を例にして説明する。分割期間D1における各パラメータを上述の式(4)に代入すると、以下の式(5)に示す不等式をえる。
・分割期間D1の割り当てセグメント数numSGallocated=2
・予測伝送レートRip=R3 (=2*R2 = 4*R1)
・下限ビットレートRmin=R1
R(1,1) ≦ Rip - (numSGallocated - 1 ) * Rmin
≦ 4*R1 - (2 - 1) * R1
= 3*R1
・・・(5)
ここで、分割期間D1の候補ビットレートRcand = { R1, R2(=2*R1), R3(=4*R1) } である。従って、候補ビットレートRcandの中で、不等式(5)を満たす最大ビットレートは、R2(=2*R1)である。すなわち、R(1,1) = R2となる。また、2個目の受信対象セグメントのビットレートはRmin固定であるため、R(1,2) = R1となる。
分割期間D2は、分割期間D1と同一パラメータであるため、同様にして、R(2,1) = R2、R(2,2) = R1となる。
分割期間D3における各パラメータを式(4)に代入すると、以下の式(6)に示す不等式をえる。
・分割期間D3の割り当てセグメント数numSGallocated=1
・予測伝送レートRip=R1
・下限ビットレートRmin=R1
R(3,1) ≦ Rip - (numSGallocated - 1 ) * Rmin
= R1 - (1 - 1) * R1 = R1
・・・(6)
ここで、分割期間D3の候補ビットレートRcand = { R1, R2, R3 } である。
従って、候補ビットレートRcandの中で、不等式(6)を満たす最大ビットレートは、R1である。すなわち、R(3,1) = R1となる。
分割期間D6は、分割期間D3と同じパラメータ(numSGallocated, Rip, Rmin)であるため、同様にして、R(6,1) = R1となる。
以上のようにして、各分割期間Diの受信対象セグメントS(i,j)のビットレートR(i,j)をMPD上の候補ビットレートRcandより選択して、決定することができる。
**ここまで(拘束条件#1)**
また、拘束条件は任意であり、上述の拘束条件#1に限定されない。例えば、以下の拘束条件#2にしてもよい。
<拘束条件#2>
分割期間Diにおいて、すべての受信対象セグメントのビットレートを、予測伝送レートRipを割り当てセグメント数numSGallocatedで除算したRip / numSGallocated以下とする。よって、上述の式(2)は、以下の式(7)へ修正される。
Figure 2019054415
・・・(7)
各受信対象セグメントのビットレートR(i,j)は、 上記不等式(7)を満たす範囲で、候補ビットレートRcand = {R1, R2(=2*R1), R3(=4*R1) }からビットレートを選択する。
Rmin ≦ R(i,j) ≦ Rip / numSGallocated
・・・(8)
図21において、分割期間D1を例にして説明する。分割期間D1における各パラメータを式(7)に代入すると、以下の式(9)に示す不等式をえる。
・分割期間D1の割り当てセグメント数numSGallocated=2
・予測伝送レートRip=R3 (=2*R2 = 4*R1)
・下限ビットレートRmin=R1
R(1,j) ≦Rip / numSGallocated
= 4*R1 / 2 = 2*R1 (=R2) (j=1,2)
・・・(9)
ここで、分割期間D1の候補ビットレートRcand = { R1, R2(=2*R1), R3(=4*R1) } である。従って、候補ビットレートRcandの中で、不等式(9)を満たす最大ビットレートは、R2(=2*R1)である。すなわち、R(1,1) = R(1,2) = R2となる。
以上のようにして、各分割期間Diの受信対象セグメントS(i,j)のビットレートR(i,j)をMPD121上の候補ビットレートRcandより選択して、決定することができる。
拘束条件#2の場合、拘束条件#1と比較して、各分割期間Diの合計ビットレートΣR(i,j) (over j)を予測伝送レートRipにより近づけることができるため、より効率良くビットレートを割り当てることができる。
**ここまで(拘束条件#2)**
<配信要求部>
図14に戻り、配信要求部354は、ビットレート決定部355で決定された、分割期間Di毎の受信対象セグメントの割り当て、および各受信対象セグメントの受信ビットレートの表(図18および図20(または図21)の表,以降、受信スケジュール表とも称する)を参照して、それぞれの分割期間Diに対応するデータの配信を、それぞれの分割期間の開始時刻またはそれ以前に配信装置101に要求する。
なお、図18および図20(または図21)の表に示す受信スケジュール表は少なくとも以下の情報を有する。
・分割期間Di毎の受信対象セグメントS(i,j)
・受信対象セグメントS(i,j)のビットレートR(i,j)
例えば、配信要求部354は、ストリーミングデータの品質に関する情報と、そのストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、そのストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前にそのストリーミングデータを受信することができるようにそのストリーミングデータの受信タイミングが計画されたそのストリーミングデータの受信スケジュールに基づいて、そのストリーミングデータの配信要求を行う。これにより、再生遅延の発生を抑制することができる。
なお、再生スケジュールにおいては、ストリーミングデータのセグメント毎に再生タイミングが計画されており、受信スケジュールにおいては、そのストリーミングデータの各セグメントを再生タイミングよりも前に受信することができるように、ストリーミングデータのセグメント毎に受信タイミングが計画されており、配信要求部は、その受信スケジュールに基づいて、ストリーミングデータの各セグメントを受信タイミングにおいて受信することができるように、ストリーミングデータのセグメント毎に配信要求を行う。したがって、再生遅延の発生を抑制することができる。
また、再生スケジュールにおいては、ストリーミングデータの各セグメントを再生する期間が計画されており、受信スケジュールにおいては、ストリーミングデータの各セグメントを、その再生スケジュールにおいて計画された期間よりも前の期間において受信することができるように、ストリーミングデータの各セグメントを受信する期間が計画されており、配信要求部は、その受信スケジュールに基づいて、ストリーミングデータの各セグメントを受信スケジュールにおいて計画された期間において受信することができるように、ストリーミングデータのセグメント毎に配信要求を行う。したがって、再生遅延の発生を抑制することができる。
配信要求部354は、コンテンツデータの配信要求に関する処理を行う。例えば、配信要求部354は、通信部314を制御し、コンテンツデータの配信要求を配信装置101に対して送信する。また、配信要求部354は、その要求に応じて配信されたコンテンツデータを取得する。さらに、配信要求部354は、取得したコンテンツデータを再生する。
<配信要求の動作>
ここで図10のタイミングチャートを例に、配信要求部354の動作の概略を、図18や図20の表を参照しながら説明する。
<分割期間D1>
図18や図20の受信スケジュール表を例にすれば、図10において、配信要求部354は、分割期間D1の開始時刻「T1」において、以下の動作をする。
・第1の受信対象セグメント「SG101」に対するビットレートを「R2(=2*R1)」と指定して、対応するデータ「SG101R2」の配信をリクエストする。
・第2の受信対象セグメント「SG104」に対するビットレートを「R1」と指定して、対応するデータ「SG104R1」の配信をリクエストする。
ここで、分割期間D1における予測伝送レートはR3(=4*R1)であり、受信対象セグメントの合計ビットレートRtotalは、3*R1(<4*R1)であるので、分割期間D1の時間の長さをTとすれば、再生装置102は、T' = T*Rtotal /Rip = T*3/4の時間で、分割期間D1に対応する1以上の受信対象セグメントのデータを受信できる可能性が高い。
すなわち、配信要求部354は、分割期間D1の終了時刻「T2」(次の分割期間D2の開始時刻「T2」)よりΔT = T - T'(=T*3/4) = T/4の時間だけ早く、分割期間D1に対応するセグメントSG101、および分割期間D4で再生予定であるセグメントSG104を受信できる可能性が高い。
従って、再生装置102は、分割期間D1において、セグメントSG104のデータを先行して受信することができるため、分割期間D4で再生対象のセグメントSG104を途切れることなく再生することができる。つまり、再生遅延の発生を抑制することができる。
また、配信要求部354は、分割期間D1の終了時刻「T2」(次の分割期間D2の開始時刻「T2」)より最大でΔT= T - T'(=T*3/4) = T/4だけ早く、分割期間D2に対応する1以上の受信対象セグメント(SG102,SG105)のデータの配信をリクエストできる可能性が高い。その結果、再生装置102は、分割期間D2で再生対象のセグメントSG102の再生が途切れる可能性を低減することができる。つまり、再生遅延の発生を抑制することができる。
<分割期間D2>
同様にして、配信要求部354は、分割期間D2の開始時刻「T2」において、以下の動作をする。
・第1の受信対象セグメント「SG102」に対するビットレートを「R2(=2*R1)」と指定して、対応するデータ「SG102R2」の配信をリクエストする。
・第2の受信対象セグメント「SG105」に対するビットレートを「R1」と指定して、対応するデータ「SG105R1」の配信をリクエストする。
ここで、分割期間D2における予測伝送レートはR3(=4*R1)であり、受信対象セグメントの合計ビットレートRtotalは、3*R1(<4*R1)であるので、分割期間D2の時間の長さをTとすれば、再生装置102は、T' = T*Rtotal /Rip = T*3/4の時間で、分割期間D2に対応する1以上の受信対象セグメントのデータを受信できる可能性が高い。
すなわち、配信要求部354は、分割期間D2の終了時刻「T3」(次の分割期間D3の開始時刻「T3」)よりΔT = T - T'(=T*3/4) = T/4の時間だけ早く、分割期間D2に対応するセグメントSG102、および分割期間D5で再生予定であるセグメントSG105を受信できる可能性が高い。
従って、再生装置102は、分割期間D2において、セグメントSG105のデータを先行して受信できるため、分割期間D5で再生対象のセグメントSG105を途切れることなく再生することができる。つまり、再生遅延の発生を抑制することができる。
<分割期間D3>
配信要求部354は、分割期間D3の開始時刻「T3」において、以下の動作をする。
・第1の受信対象セグメント「SG103」に対するビットレートを「R1」と指定して、対応するデータ「SG103R1」の配信をリクエストする。
<分割期間D4,D5>
分割期間Di(i=4,5)の再生対象セグメントを分割期間Diより以前の分割期間において前受信済みである。従って、配信要求部354は、分割期間Di(i=4,5)において、次の分割期間Dj(j=6)に対応する受信対象セグメントSG106のデータの配信をリクエストし、前受信することができる。従って、再生装置102は、分割期間D6で再生対象のセグメントSG106の再生が途切れる可能性を低減することができる。つまり、再生遅延の発生を抑制することができる。
<分割期間D6>
配信要求部354は、分割期間D6の開始時刻「T6」において、以下の動作をする。
・第1の受信対象セグメント「SG106」に対するビットレートを「R1」と指定して、対応するデータ「SG106R1」の配信をリクエストする。
以上のように、再生装置102は、ある分割期間Djの予測伝送レートRipがMPDの下限ビットレートRminより小さい場合、ある分割期間Djで再生対象のセグメントSjを、予測伝送レートRipが十分に大きい、その分割期間Djより以前の分割期間Dj'(j'<j)において、前受信を行う。それによって、分割期間Djで再生対象のセグメントSjを途切れることなく再生することが可能となる。つまり、再生遅延の発生を抑制することができる。
また、再生装置102は、所定時間Tperiod内の各分割期間Diの予測伝送レートRip、およびMPD121に記述されている各セグメントSiのビットレート情報から、各分割期間Diで受信する0以上のセグメントSi、およびセグメントSiのビットレートRiを適切に決定することができる。これにより、再生装置102は、配信されるデータのビットレートをできるだけ高くして、再生品質を向上させつつ、再生が途切れる可能性を低くすることができる。
<配信・再生処理の流れ>
次に、図22および図23のフローチャートを参照して、配信システム100において実行される配信・再生処理の流れの例を説明する。
配信・再生処理が開始されると、ステップS221において、再生装置102のMPD要求部351は、通信部314を制御して、配信装置101に対して所望のストリーミングデータに対応するMPDの配信を要求(MPD配信要求)する。
配信装置101のMPD要求受付部252は、ステップS211において、通信部214を制御して、再生装置102から送信されたそのMPD配信要求を受け付ける。MPD管理部251は、その要求に基づいて、要求されたMPDを記憶部213等から読み出す。ステップS212において、MPD送信部253は、通信部214を制御し、その読み出されたMPDを、要求元である再生装置102に送信する。
ステップS222において、再生装置102のMPD取得部352は、通信部314を制御し、配信装置101から送信されたそのMPDを受信する。ステップS223において、再生装置102の予測伝送レート取得部356およびビットレート決定部355は、各分割期間の再生対象セグメント、および受信対象セグメントを決定する。つまり、再生スケジュール、受信スケジュールを決定する。
再生スケジュールおよび受信スケジュールが決定されると、ステップS224において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101に対して分割期間D1の受信対象セグメント(SG101R2, SG104R1)の配信を要求する。
ステップS213において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。コンテンツ送信部256は、ステップS214において、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D1の受信対象セグメント(SG101R2, SG104R1))を送信する。
ステップS225において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D1の受信対象セグメント(SG101R2, SG104R1)を受信する。
ステップS226において、再生装置102の配信要求部354は、受信した分割期間D1の受信対象セグメント(SG101R2, SG104R1)の再生を行う。
再生装置102の配信要求部354は、分割期間D2の開始時刻T2(またはそれ以前の時刻)において、ステップS227の処理として、通信部314を制御し、配信装置101に対して分割期間D2の受信対象セグメント(SG102R2, SG105R1)の配信を要求する。
ステップS215において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。ステップS216において、コンテンツ送信部256は、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D2の受信対象セグメント(SG102R2, SG105R1))を送信する。ステップS216の処理が終了すると、配信装置101の処理は図23に進む。
ステップS228において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D2の受信対象セグメント(SG102R2, SG105R1)を受信する。
ステップS229において、再生装置102の配信要求部354は、受信した分割期間D2の受信対象セグメント(SG102R2, SG105R1)の再生を行う。ステップS229の処理が終了すると、再生装置102の処理は図23に進む。
再生装置102の配信要求部354は、分割期間D3の開始時刻T3(またはそれ以前の時刻)において、図23のステップS241の処理として、通信部314を制御し、配信装置101に対して分割期間D3の受信対象セグメント(SG103R1)の配信を要求する。
図23のステップS231において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。ステップS232において、コンテンツ送信部256は、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D3の受信対象セグメント(SG103R1))を送信する。
ステップS242において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D3の受信対象セグメント(SG103R1)を受信する。
ステップS243において、再生装置102の配信要求部354は、受信した分割期間D3の受信対象セグメント(SG103R1)の再生を行う。
ステップS244において、再生装置102の配信要求部354は、分割期間D4の再生対象セグメント(SG104R1)の再生を行う。ステップS245において、再生装置102の配信要求部354は、分割期間D5の再生対象セグメント(SG105R1)の再生を行う。
再生装置102の配信要求部354は、分割期間D6の開始時刻T6(またはそれ以前の時刻)において、ステップS246の処理として、通信部314を制御し、配信装置101に対して分割期間D6の受信対象セグメント(SG106R1)の配信を要求する。
ステップS233において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。ステップS234において、コンテンツ送信部256は、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D6の受信対象セグメント(SG106R1))を送信する。
ステップS247において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D6の受信対象セグメント(SG106R1)を受信する。
ステップS248において、再生装置102の配信要求部354は、受信した分割期間D6の受信対象セグメント(SG106R1)の再生を行う。
再生装置102および配信装置101は、所定時間Tperiod単位で、上述の各処理に対応する処理を繰り返し実行する。
以上のように再生装置102と配信装置101との間で各セグメントの配信を行うことで、ある分割期間Daにおいて、ストリーミングデータのMPD121上の下限ビットレートRminよりも通信路の伝送レートが低下した場合であっても、該分割期間Daで再生対象となるセグメントSaを、該分割期間Daより以前の分割期間Dbにおいて、予め前受信することができる。
従って、該分割期間Daにおいて、再生対象となるセグメントSaを遅延なく再生することができる。その結果、該分割期間Daより後続の分割期間Dcにおいて再生対象となるセグメントの受信・再生の遅延発生を低減し、シームレスな動画再生を実現することができる。
特に、再生装置102は、ストリーミングデータの品質に関する情報と、そのストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、そのストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前にそのストリーミングデータを受信することができるようにそのストリーミングデータの受信タイミングが計画されたそのストリーミングデータの受信スケジュールに基づいて、そのストリーミングデータの配信要求を行う。
したがって、例えば、ストリーミングデータのビットレートが伝送レートを上回るセグメントを先に受信する等の、計画的な受信を行うことができるので、再生装置102は、より確実に再生タイミングよりも前にストリーミングデータを受信することができる。したがって、再生遅延の発生をより抑制することができる。
<音声データの前受信>
図24に示されるタイミングチャートのように、分割期間Diの再生対象セグメントSiの音声データSAiを分割期間Dj(j<i)で前受信するようにしてもよい。そして、その場合、動画データSViは、画質を犠牲(例えば、IDRピクチャのみ受信)して、分割期間Diで受信するようにしてもよい。なお、図24のタイミングチャートは図6のタイミングチャートに対応しており、通信路の伝送レートは、図6のBのように変動する。例えば、分割期間D4および分割期間D5において通信路の伝送レートがR/2となる。
例えば、再生装置102は、セグメント毎のビットレート情報と分割期間Di毎の予測伝送レートRipを参照して、各分割期間Diの再生対象セグメントSiの音声データSAiを、該分割期間Di、またはその分割期間Diより前の分割期間Dj(i>j)において配信要求する。配信装置101は、その要求に従って、図24に示されるように、音声データを該分割期間Di、またはその分割期間Diより前の分割期間Dj(i>j)において配信する。
図24の例の場合、分割期間D1において、分割期間D4において再生される音声データSG104AR1が配信され、分割期間D2において、分割期間D5において再生される音声データSG105AR1が配信されている。
つまり、通信路の伝送レートを超えない範囲で、音声データを優先的に受信するように、受信スケジュールが設定される。このようにすることにより、通信路の伝送レートが低減する分割期間D4および分割期間D5においても、少なくとも音声データだけは遅延なく再生することができる。したがって、再生装置102は、コンテンツデータのストリーミング再生をシームレスに行うことができる。
また、分割期間D4および分割期間D5においては、通信路の伝送レートがR/2となるので、動画データSG104VR1やSG105VR1を遅延なく伝送することは困難である。そこで、再生装置102は、セグメント毎のビットレート情報と分割期間Di毎の予測伝送レートRipを参照して、この分割期間D4および分割期間D5については、再生対象セグメントSiの動画データSViのIDRピクチャを配信するように要求する。このようにすることにより、再生装置102は、通信路の伝送レートが低減する分割期間D4および分割期間D5において、音声データとIDRピクチャの再生を遅延なく行うことができる。
なお、音声データとともに、例えばテキストデータ等、動画像データに比べてデータ量の少ない任意のデータを前受信するようにしてもよい。
以上のような配信要求ができるように、再生装置102は、動画データ、音声データ毎の受信スケジュールを決定すればよい。
<経路の選択1>
以上に説明したように、再生装置102は、ある分割期間Diの予測伝送レートRipが、MPD上の下限ビットレートRminより小さい場合、該分割期間Diで再生対象となるセグメントSiを、分割期間Diより前の分割期間Dj(j<i)での受信対象セグメントとして、配信装置101へ該分割期間Djで配信するように要求する。
このとき、例えば図10のように、再生装置102から配信装置101に対して、2以上の受信対象セグメントを配信するよう要求があった場合、配信装置101が、図25に示されるように、各受信対象セグメント(および各セグメントのデータ毎(動画、音声))をそれぞれ異なる配信経路によって、再生装置102まで配信するようにしてもよい。または、再生装置102が、配信装置101に対して複数の経路を用いて配信を行うように指示するようにしてもよい。つまり、再生装置102が、ストリーミングデータの、互いに異なる経路を介して伝送された複数のセグメントを受信するようにしてもよい。
図25の例では、配信装置101から再生装置102までの通信路には、ネットワーク103−1を経由する経路1(図中、矢印401で示される経路)、ネットワーク103−2を経由する経路2(図中、矢印402で示される経路)、ネットワーク103−3を経由する経路3(図中、矢印403で示される経路)、・・・・、ネットワーク103−Nを経由する経路までのN個の経路nがあるものとする。
経路nを介して、配信装置101から再生装置102へデータを送る場合の遅延時間をdnとする(d1<d2<d3<…<dn)。例えば、経路a,b(a<b)であれば、経路aは、経路bよりも、少ない遅延時間でデータを送ることができる特性をもっている。
上記経路nの特性があるもとで、図25において、図10のBの分割期間D1での配信装置101から再生装置102へ伝送されるセグメントSG101R2およびSG104R1の経路を考える。
経路の割り当て方として、例えば、図25に示すように、配信装置101は、再生時刻の早い順にセグメントを、遅延時間の小さい順の経路nを介して配信するようにする。すなわち、経路1(矢印401で示される経路)を介して、セグメントSG101R2を配信し、経路2(矢印402で示される経路)を介して、セグメントSG104R1を配信するようにする。
以上のようにすることで、ある分割期間Djにおいて、2以上(すなわち複数)の受信対象セグメントを配信する場合、再生時刻の早いセグメント(ここでは、SG101R2)を、より遅延時間の小さい経路1(ネットワーク103−1を経由する経路)を介して伝送することができる。すなわち、直近で再生対象のセグメントの受信から再生までの遅延時間を低減することができる。
<経路の選択2>
経路の決定方法は任意であり、前項の例に限定されない。例えば、経路nを介して、配信装置101から再生装置102へデータを送る場合の各経路nの伝送レートをrnとする(r1>r2>r3>…>rn)。例えば、経路a,b(a>b)であれば、経路aは、経路bよりも、単位時間あたりに配信できるデータのサイズが大きい。
上記経路nの特性があるもとで、図25において、図10のBの分割期間D1での配信装置101から再生装置102へ伝送されるセグメントSG101R2、SG104R1の送る経路を考える。経路の割り当て方として、例えば、図25に示されるように、配信装置101が、ビットレートの高い順にセグメントを、伝送レートの高い順の経路nを介して配信するようにする。すなわち、配信装置101は、経路1(矢印401で示される経路)を介して、セグメントSG101R2を配信し、経路2(矢印402で示される経路)を介して、セグメントSG104R1を配信する。
以上のようにすることで、配信装置101は、ある分割期間Djにおいて、2以上(すなわち複数)の受信対象セグメントを配信する場合、より大きなビットレートを有するセグメントを(ここでは、SG101R2)を、伝送レートがより高い経路1(ネットワーク103−1を経由する経路)を介して伝送することができる。すなわち、より大きなビットレートを有するセグメントの、配信装置101から再生装置102までに伝送に要する時間を低減することができる。すなわち、より大きなビットレートを有するセグメントの受信から再生までの遅延時間を低減することができる。
なお、遅延時間、伝送レートの指標を組み合わせて経路が決定されるようにしてもよい。
<経路の選択3>
前2項においては、それぞれ、各セグメントをどの経路で送るかを、遅延時間、あるいは伝送レート(あるいはその組み合わせ)に基づいて決定したが、これに限定されない。例えば、配信するセグメントのデータのタイプによって、配信経路が決定されるようにしてもよい。
例えば、経路nを介して、配信装置101から再生装置102へデータを送る場合の各経路nのパケットロス率(=通信路の誤り率)を、pnとする(p1<p2<p3…<pn)。また、例えば、経路a,b(a<b)であれば、経路aは、経路bよりも、小さいパケットロス率でデータを配信することができる。
このような経路nの特性があるもとで、図25において、図10のBの分割期間D1での配信装置101から再生装置102へ伝送されるセグメントSG101の動画データSG101VR2とその音声データSG101AR1、およびセグメントSG104の音声データSG104AR1を送る経路を考える。
経路の割り当て方として、例えば、図25に示すように、配信装置101は、音声データから、再生時刻の早い順に、パケットロス率が小さい順の経路nを介して配信するようにする。すなわち、経路1(矢印401で示される経路)を介して、セグメントSG101の音声データSG101AR1を配信し、経路2(矢印402で示される経路)を介して、セグメントSG104の音声データSG104AR1を配信する。さらに、配信装置101は、動画データを、再生時刻の早い順に、パケットロス率が小さい順の経路nを介して配信するようにする。そして経路3を介して、セグメントSG101の動画データSG101VR2を配信するようにする。
以上のようにすることで、ある分割期間Djにおいて、2以上(すなわち複数)の受信対象セグメントを配信する場合、音声データを再生時刻の早い順に、よりパケットロス率の低い経路を介して送ることができる。
音声データを動画データよりも、よりパケットロス率の低い経路で送ることで、視聴者の動画視聴に関する品質の低下を低減することができる。
なお、上述した遅延時間、伝送レート、パケットロス率の指標を組み合わせて経路が決定されるようにしてもよい。
なお、経路n(1…N)の特性(伝送レート、遅延時間、誤り率)は、例えば、5Gにおいて利用可能となるネットワークスライシングという技術を用いて、異なる特性(伝送レート、遅延時間、誤り率)を有する経路を定義するようにしてもよい。
<3.第2の実施の形態>
<適正ビットレートセグメント&MPD作成要求>
第1の実施の形態においては、再生装置102は、ある分割期間Djの予測伝送レートRipがMPDの下限ビットレートRminより小さい場合、分割期間Djで再生対象のセグメントSjを、予測伝送レートRipが十分に大きい分割期間Djより以前の分割期間Dj'(j'<j)において、配信装置101から前受信するようにしていた。
これに限らず、例えば、再生装置102が、配信可能なレートのセグメントを生成するように要求することができるようにしてもよい。図26は、その場合の配信の様子の例を示すタイミングチャートである。
再生装置102は、ある分割期間Djの予測伝送レートRipがMPDの下限ビットレートRminより小さい場合、分割期間Djで再生対象のセグメントSjが該分割期間Djの予測伝送レートRipで受信可能となるよう、すなわち、Rip>=Rminを満たすセグメントSjの再生成、および該セグメントSjの情報が追記されたMPD'の生成を分割期間Djより以前の分割期間Dj'(j'<j)において、配信装置101に要求する(例えば図26の矢印501)。
該要求を受けた配信装置101は、Rip>=Rminを満たすセグメントSj'(例えば図26のセグメント511およびセグメント512)の生成、および該セグメントSj'の情報が追記されたMPD'を生成する。
配信装置101は、更新されたMPD'を再生装置102へ配信する。再生装置102は、その更新されたMPD'を受信し、それを参照して、各分割期間Djの再生対象セグメントSjの受信・再生を行う。
このようにすることにより、通信路の伝送レートを超えないようにストリーミングデータの配信が可能になるので、再生遅延の発生を抑制することができる。
なお、図26のタイミングチャートは図6のタイミングチャートに対応しており、通信路の伝送レートは、図6のBのように変動する。例えば、分割期間D4および分割期間D5において通信路の伝送レートがR/2となる。
図26のAは、所定時間Tperiodの長さを有するストリーミングデータを構成するセグメント、およびセグメントファイル(再生成するセグメントファイルを含む)を図示したものである。
図26のBは、配信装置101と再生装置102との間での各分割期間Diにおけるセグメントファイルの配信要求のやり取りを図示したものである。例えば、図26のBの分割期間D1において、再生装置102は、ビットレートがR3であるセグメントファイルSG101(SG101R3)を配信装置101へ配信する要求し、配信装置101からそれに対応するデータ(SG101R3)を受信する様子を図示している。
また、図26のBの分割期間D1において、再生装置102は、分割期間Di(i=4,5)で再生対象となるセグメントSG10i(i=4,5)について、予測伝送レートRip>Rminを満たすビットレートのセグメントファイルの生成、およびMPD更新を要求する様子を図示している。
図26のCは、再生装置102において、各分割期間Diで再生されるセグメントファイルを図示したものである。例えば、図26のCの分割期間D1では、セグメントファイルSG101R3が再生される。
<配信装置の機能ブロック>
図27は、この場合の配信装置101がプログラム等を実行することにより実現する機能の例を示す機能ブロック図である。図27に示されるように、プログラムを実行することにより配信装置101は、第1の実施の形態の場合と同様の機能(MPD管理部251乃至コンテンツ送信部256)を有する。さらに、この場合の配信装置101は、プログラムを実行することにより、生成要求受付部551、セグメント生成部552、およびMPD更新部553を有する。なお、矢印等の図示は省略しているが、これらの処理部は、他の任意の処理部と任意の情報を授受することができる。
生成要求受付部551は、再生装置102からの、セグメントの生成やMPDの更新の要求を受け付ける。
セグメント生成部552は、生成要求受付部551により受け付けられたセグメントSjの再生成要求に従って、予測伝送レートRipより小さい新規下限ビットレートRmin'を設定する。例えば、再生装置102で指定されたビットレートを新規下限ビットレートRmin'として設定する。
また、セグメント生成部552は、トランスコードの機能を有し、既に存在する候補ビットレートRcandのいずれかのビットレートのセグメントから、新規下限ビットレートRmin'のセグメントSG10iRjを生成する。
つまり、セグメント生成部552は、要求に基づいて、ストリーミングデータのビットレートが、そのストリーミングデータが配信される通信路の伝送レートを超えないように、そのストリーミングデータを生成する。
なお、セグメント生成部552は、そのストリーミングデータの要求されたセグメントを、そのセグメントのビットレートが通信路の伝送レートを超えないように、生成する。また、セグメント生成部552は、そのストリーミングデータの要求されたセグメントを、そのセグメントのビットレートが、そのセグメントが配信される期間における通信路の伝送レートを超えないように、生成する。
また、セグメント生成部552は、生成したセグメントSG10iRjのエンコード情報、および該セグメントSG10iRjのアクセス先URLなどの情報をMPD更新部553へ供給する。
MPD更新部553は、ストリーミングデータのMPDへ、セグメント生成部552より供給されたセグメントSG10iRjのエンコード情報、およびアクセス先URLなどの情報を追加し、そのMPDを更新する。なお、更新されたMPD(更新MPD)は、MPD送信部253により、通信部214を介して再生装置102へ配信される。
また、コンテンツ送信部256は、再生装置102の要求に応じて、セグメント生成部552により生成されたセグメントを、要求元である再生装置102に送信する。
<再生装置の機能ブロック>
図28は、この場合の再生装置102がプログラム等を実行することにより実現する機能の例を示す機能ブロック図である。図28に示されるように、プログラムを実行することにより再生装置102は、第1の実施の形態の場合と同様の機能(MPD要求部351乃至予測伝送レート取得部356)を有する。さらに、この場合の再生装置102は、プログラムを実行することにより、生成要求部571を有する。なお、矢印等の図示は省略しているが、これらの処理部は、他の任意の処理部と任意の情報を授受することができる。
MPD要求部351は、ストリーミングデータに関するMPDの配信要求を配信装置101へ行う。予測伝送レート取得部356は、配信装置101から再生装置102までの通信路の分割期間毎の予測伝送レートRipを取得する。ビットレート決定部355は、各分割期間Diで受信対象とするセグメント、および該セグメントの受信ビットレート(受信スケジュール)を決定する。
生成要求部571は、受信スケジュールを参照して、分割期間Djの予測伝送レートRipがMPDの下限ビットレートRminより小さい場合、Rip>Rminを満たすセグメントSjの再生成、および該セグメントSjの情報が追記された更新MPD'の生成を配信装置101に要求する。
つまり生成要求部571は、ストリーミングデータのビットレートが、そのストリーミングデータが配信される通信路の伝送レートを超えないように、ストリーミングデータの生成を要求する。
また、生成要求部571は、そのストリーミングデータの、ビットレートが通信路の伝送レートを超えるセグメントについて、通信路の伝送レートを超えないビットレートのセグメントの生成を要求する。
また、生成要求部571は、そのストリーミングデータの、ビットレートが通信路の伝送レートを超える期間に配信されるセグメントについて、その通信路の期間の伝送レートを超えないビットレートのセグメントの生成を要求する。
さらに、生成要求部571は、その要求に基づくセグメントの生成を反映させるようにMPDの更新を要求する。
なお、MPD取得部352は、その要求に応じて更新されたMPDを取得する。
また、配信要求部354は、受信スケジュールを参照して、各分割期間の受信対象セグメントのビットレートを指定して、配信装置101へ該受信対象セグメントのデータ配信を要求する。配信要求部354は、各分割期間の再生対象セグメントを受信し、その再生を行う。
つまり、配信要求部354は、その取得された更新MPDに基づいて、ストリーミングデータの各セグメントの配信を要求する。また、配信要求部354は、その要求に応じて配信されたストリーミングデータをセグメント毎に受信する。さらに、配信要求部354は、受信されたストリーミングデータの各セグメントを、再生スケジュールに従って再生する。
予測伝送レート取得部356は、第1の実施の形態の場合と基本的に同等の機能を有する。
<ビットレート決定部>
この場合のビットレート決定部355は、第1の実施の形態の場合と基本的に同等の機能を有する。図29のフローチャートを参照して、この場合のビットレート決定部355が実行するビットレート決定処理の流れの例を説明する。
ビットレート決定処理が開始されると、ビットレート決定部355は、ステップS301において、MPDを参照して、図16の表のように、各分割期間Di(i=1…N)の再生対象セグメントを決定する。
ステップS302において、ビットレート決定部355は、図17のAの表の左から2列目のような、各分割期間Di(i=1…N)の予測伝送レートRipを予測伝送レート取得部356から取得する。
ステップS303において、ビットレート決定部355は、図17のAの表の左から3列目のような、MPDの下限ビットレートRminを取得する。
ステップS304において、ビットレート決定部355は、各分割期間Diで受信対象とするセグメントを所定ルールで割り当てる。例えば、図30に示される表の左から5列目に示されるように、各分割期間Diへ再生順にセグメントを割り当てる。
ステップS305において、ビットレート決定部355は、各分割期間Diの受信対象セグメントS(i,j)のビットレートR(i,j)(j=1)を所定のビットレート割り当て方法で決定する。
例えば、Rip>=Rminの場合、上述した式(2)(ただし,j=1)に基づいて、予測伝送レートRip以下で、候補ビットレートRcandで最大ビットレートを、分割期間Diの受信対象セグメントS(i,1)のビットレートR(i,1)とする。同時に、ビットレート決定部355は、図30に示される表の右から1列目のように、分割期間Diの受信対象セグメントS(i,1)を、再生成要求をしない'F'とする。
また、例えば、Rip<Rminの場合、ビットレート決定部355は、予測伝送レートRipを分割期間Diの受信対象セグメントS(i,1)のビットレートR(i,1)とする(R(i,1) = Rip)。同時に、ビットレート決定部355は、図30に示される表の右から1列目のように、分割期間Diの受信対象セグメントS(i,1)を、再生成要求をする'T'とする。
図30に示される表の左から4列目に、このような方法で割り当てた受信ビットレートの一例を示す。ステップS305の処理が終了するとビットレート決定処理が終了する。
以上のようにして、各分割期間Diの受信対象セグメントS(i,1)のビットレートR(i,1)をMPD上の候補ビットレートRcand、および予測伝送レートRipより決定することができる。
また、再生成要求をするセグメントを決定することができる。
<配信要求部>
配信要求部354は、第1の実施の形態の場合と基本的に同等の機能を有する。
<生成要求部>
生成要求部571は、受信スケジュールを参照して、再生成要求が'T'である(再生要求をする)分割期間Djの受信対象セグメントS(j,1)について、Rip>=Rminを満たすセグメントS(j,1)の再生成、および該セグメントSjの情報が追記されたMPD'の生成を配信装置101に要求する。
<動作の概略>
ここで図26のタイミングチャートを例に、再生装置102の動作の概略を、図30の表を参照しながら説明する。
<分割期間D1>
図30の受信スケジュール表を例にすれば、図26において、生成要求部571は、分割期間D1の開始時刻「T1」において、以下の動作をする。
・各再生成要求が'T'である受信対象セグメントS(i,1)について、ビットレートを指定して、対応するセグメントの生成、および該セグメントの情報が追記されたMPD'の生成を配信装置101に要求する。より具体的には、生成要求部571は以下のような要求を行う。
・分割期間D4で受信対象セグメント「SG104」に対するビットレートを「R1/2(=Rip)」と指定して、対応するデータ「SG104R4」の生成をリクエストする。
・分割期間D5で受信対象セグメント「SG105」に対するビットレートを「R1/2(=Rip)」と指定して、対応するデータ「SG105R4」の生成をリクエストする。
また、配信要求部354は、以下のような要求を行う。
・第1の受信対象セグメント「SG101」に対するビットレートを「R3 (=4*R1)」と指定して、対応するデータ「SG101R3」の配信をリクエストする。
<分割期間D2>
配信要求部354は、分割期間D2の開始時刻「T2」において、以下の動作をする。
・第1の受信対象セグメント「SG102」に対するビットレートを「R3 (=4*R1)」と指定して、対応するデータ「SG102R3」の配信をリクエストする。
<分割期間D3>
配信要求部354は、分割期間D3の開始時刻「T3」において、以下の動作をする。
・第1の受信対象セグメント「SG103」に対するビットレートを「R1」と指定して、対応するデータ「SG103R1」の配信をリクエストする。
<分割期間D4>
配信要求部354は、分割期間D4の開始時刻「T4」において、以下の動作をする。
・第1の受信対象セグメント「SG104」に対するビットレートを「R1/2」と指定して、対応するデータ「SG104R4」の配信をリクエストする。
なお、配信装置101における受信対象セグメント「SG104R4」の再生成は、分割期間D4より以前の分割期間D1乃至分割期間D3において完了済であるものとする。
<分割期間D5>
配信要求部354は、分割期間D5の開始時刻「T5」において、以下の動作をする。
・第1の受信対象セグメント「SG105」に対するビットレートを「R1/2」と指定して、対応するデータ「SG105R4」の配信をリクエストする。
なお、配信装置101における受信対象セグメント「SG105R4」の再生成は、分割期間D5より以前の分割期間D1乃至分割期間D4において完了済であるものとする。
<分割期間D6>
配信要求部354は、分割期間D6の開始時刻「T6」において、以下の動作をする。
・第1の受信対象セグメント「SG106」に対するビットレートを「R1」と指定して、対応するデータ「SG106R1」の配信をリクエストする。
以上のように、再生装置102は、ある分割期間Djの予測伝送レートRipがMPDの下限ビットレートRminより小さい場合、分割期間Djで再生対象のセグメントSjが該分割期間Djの予測伝送レートRipで受信可能となるよう、すなわち、Rip>=Rminを満たすセグメントSjの再生成、および該セグメントSjの情報が追記されたMPD'の生成を分割期間Djより以前の分割期間Dj'(j'<j)において、配信装置101に要求する。
また、再生装置102は、配信装置101により更新されたMPD'を受信し、該更新MPD'を参照して、各分割期間Djの再生対象セグメントSjの受信・再生を行う。
従って、再生装置102は、ある分割期間Djの予測伝送レートRipがMPDの下限ビットレートRminより小さい場合であっても、Rip>=Rminを満たすよう再生成されたセグメントSjを受信できるようになるため、分割期間Djで再生対象のセグメントSjを途切れることなく再生することが可能となる。つまり、再生遅延の発生を抑制することができる。
<配信・再生処理の流れ>
次に、図31乃至図34のフローチャートを参照して、配信システム100において実行される配信・再生処理の流れの例を説明する。
配信・再生処理が開始されると、ステップS421において、再生装置102のMPD要求部351は、通信部314を制御して、配信装置101に対して所望のストリーミングデータに対応するMPDの配信を要求(MPD配信要求)する。
配信装置101のMPD要求受付部252は、ステップS411において、通信部214を制御して、再生装置102から送信されたそのMPD配信要求を受け付ける。MPD管理部251は、その要求に基づいて、要求されたMPDを記憶部213等から読み出す。ステップS412において、MPD送信部253は、通信部214を制御し、その読み出されたMPDを、要求元である再生装置102に送信する。
ステップS422において、再生装置102のMPD取得部352は、通信部314を制御し、配信装置101から送信されたそのMPDを受信する。ステップS423において、再生装置102の予測伝送レート取得部356およびビットレート決定部355は、各分割期間の再生対象セグメント、および受信対象セグメントを決定する。つまり、再生スケジュール、受信スケジュールを決定する。
ステップS424において、再生装置102の生成要求部571は、再生成要求='T'である分割期間Diに割り当てられた受信対象セグメントを再生成対象セグメントとし、配信装置101へ該生成対象セグメントの生成要求、およびMPDの更新を要求する。
ステップS413において、配信装置101の生成要求受付部551は、その要求を受ける。ステップS414において、セグメント生成部552は、その要求に基づいて、該生成対象セグメント(SG104R4,SG105R4)の生成を行う。ステップS415において、MPD更新部553は、その生成されたセグメントの情報(エンコード情報、アクセス先URLなど)をMPDへ追記して、更新MPDを生成する。つまり、この更新MPDは、上述の受信スケジュールおよび再生スケジュールに対応するものとなる。
ステップS416において、MPD送信部253は、通信部214を介して、その更新MPDを再生装置102へ配信する。ステップS425において、再生装置102のMPD取得部352は、その更新MPDを取得する。ステップS426において、再生装置102のMPD管理部251は、取得した更新MPDを解析して生成対象セグメントのアクセス先URLを取得する。
以上のように、セグメントが生成され、MPDが更新されると、図32のステップS441において、再生装置102の配信要求部354は、受信スケジュールに従って(すなわち更新MPDに基づいて)、通信部314を制御し、配信装置101に対して分割期間D1の受信対象セグメント(SG101R3)の配信を要求する。
図32のステップS431において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。コンテンツ送信部256は、ステップS432において、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D1の受信対象セグメント(SG101R3))を送信する。
ステップS442において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D1の受信対象セグメント(SG101R3)を受信する。ステップS443において、再生装置102の配信要求部354は、再生スケジュールに従って(すなわち更新MPDに基づいて)、受信した分割期間D1の受信対象セグメント(SG101R3)の再生を行う。
以下、各分割期間Diに対して同様の処理を行う。
つまり、ステップS444において、再生装置102の配信要求部354は、受信スケジュールに従って(すなわち更新MPDに基づいて)、通信部314を制御し、配信装置101に対して分割期間D2の受信対象セグメント(SG102R3)の配信を要求する。
ステップS433において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。コンテンツ送信部256は、ステップS434において、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D2の受信対象セグメント(SG102R3))を送信する。
ステップS445において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D2の受信対象セグメント(SG102R3)を受信する。ステップS446において、再生装置102の配信要求部354は、再生スケジュールに従って(すなわち更新MPDに基づいて)、受信した分割期間D2の受信対象セグメント(SG102R3)の再生を行う。
図33のステップS461において、再生装置102の配信要求部354は、受信スケジュールに従って(すなわち更新MPDに基づいて)、通信部314を制御し、配信装置101に対して分割期間D3の受信対象セグメント(SG103R1)の配信を要求する。
図33のステップS451において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。コンテンツ送信部256は、ステップS452において、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D3の受信対象セグメント(SG103R1))を送信する。
ステップS462において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D3の受信対象セグメント(SG103R1)を受信する。ステップS463において、再生装置102の配信要求部354は、再生スケジュールに従って(すなわち更新MPDに基づいて)、受信した分割期間D3の受信対象セグメント(SG103R1)の再生を行う。
ステップS464において、再生装置102の配信要求部354は、受信スケジュールに従って(すなわち更新MPDに基づいて)、通信部314を制御し、配信装置101に対して分割期間D4の受信対象セグメント(SG104R4)の配信を要求する。
ステップS453において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。コンテンツ送信部256は、ステップS454において、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D4の受信対象セグメント(SG104R4))を送信する。
ステップS465において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D4の受信対象セグメント(SG104R4)を受信する。ステップS466において、再生装置102の配信要求部354は、再生スケジュールに従って(すなわち更新MPDに基づいて)、受信した分割期間D4の受信対象セグメント(SG104R4)の再生を行う。
図34のステップS481において、再生装置102の配信要求部354は、受信スケジュールに従って(すなわち更新MPDに基づいて)、通信部314を制御し、配信装置101に対して分割期間D5の受信対象セグメント(SG105R5)の配信を要求する。
図34のステップS471において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。コンテンツ送信部256は、ステップS472において、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D5の受信対象セグメント(SG105R5))を送信する。
ステップS482において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D5の受信対象セグメント(SG105R5)を受信する。ステップS483において、再生装置102の配信要求部354は、再生スケジュールに従って(すなわち更新MPDに基づいて)、受信した分割期間D5の受信対象セグメント(SG105R5)の再生を行う。
ステップS484において、再生装置102の配信要求部354は、受信スケジュールに従って(すなわち更新MPDに基づいて)、通信部314を制御し、配信装置101に対して分割期間D6の受信対象セグメント(SG106R1)の配信を要求する。
ステップS473において、配信装置101のコンテンツ要求受付部255は、通信部214を制御し、その配信要求を受け付ける。コンテンツ管理部254は、その配信要求に基づいて、要求されたコンテンツのデータを記憶部213等から読み出す。コンテンツ送信部256は、ステップS474において、通信部214を制御し、その読み出されたコンテンツデータ(分割期間D6の受信対象セグメント(SG106R1))を送信する。
ステップS485において、再生装置102の配信要求部354は、通信部314を制御し、配信装置101から送信されたその分割期間D6の受信対象セグメント(SG106R1)を受信する。ステップS486において、再生装置102の配信要求部354は、再生スケジュールに従って(すなわち更新MPDに基づいて)、受信した分割期間D6の受信対象セグメント(SG106R1)の再生を行う。
再生装置102および配信装置101は、所定時間Tperiod単位で、上述の各処理に対応する処理を繰り返し実行する。
以上のように再生装置102と配信装置101の間で各セグメントの配信を行うことで、ある分割期間Daにおいて、ストリーミングデータのMPD上の下限ビットレートRminよりも通信路の伝送レートが低下した場合であっても、該分割期間Daで再生対象となるセグメントSaを、該分割期間Daより以前の分割期間Dbにおいて、配信装置101において再生成させることができる。
従って、再生装置102は、該分割期間Daにおいて、再生対象となるセグメントSaを遅延なく受信・再生することができる。その結果、該分割期間Daより後続の分割期間Dcにおいて再生対象となるセグメントの受信・再生の遅延発生を低減し、シームレスな動画再生を実現することができる。つまり、再生遅延の発生を抑制することができる。
<4.まとめ>
第1の実施の形態においては、再生装置102は、ある分割期間Djの予測伝送レートRipがMPDの下限ビットレートRminより小さい場合、ある分割期間Djで再生対象のセグメントSjを、予測伝送レートRipが十分に大きい、その分割期間Djより以前の分割期間Dj'(j'<j)において、前受信を行う。それによって、分割期間Djで再生対象のセグメントSjを途切れることなく再生することが可能となる。つまり、再生遅延の発生を抑制することができる。
また、再生装置102は、所定時間Tperiod内の各分割期間Diの予測伝送レートRip、およびMPD(M100)に記述されている各セグメントSiのビットレート情報から、各分割期間Diで受信する0以上のセグメントSi、およびセグメントSiのビットレートRiを適切に決定することができる。これにより、再生装置102は、配信されるデータのビットレートをできるだけ高くして、再生品質を向上させつつ、再生が途切れる可能性を低くすることができる。つまり、再生遅延の発生を抑制することができる。
さらに、ある分割期間Daにおいて、ストリーミングデータ3のMPD上の下限ビットレートRminよりも通信路の伝送レートが低下した場合であっても、該分割期間Daで再生対象となるセグメントSaを、該分割期間Daより以前の分割期間Dbにおいて、予め前受信する。従って、該分割期間Daにおいて、再生対象となるセグメントSaを遅延なく再生することができる。その結果、該分割期間Daより後続の分割期間Dcにおいて再生対象となるセグメントの受信・再生の遅延発生を低減し、シームレスな動画再生を実現することができる。
また、第2の実施の形態においては、ある分割期間Daにおいて、ストリーミングデータのMPD上の下限ビットレートRminよりも通信路の伝送レートが低下した場合であっても、該分割期間Daで再生対象となるセグメントSaを、該分割期間Daより以前の分割期間Dbにおいて、配信装置101において再生成させる。従って、再生装置102は、該分割期間Daにおいて、再生対象となるセグメントSaを遅延なく受信・再生することができる。その結果、該分割期間Daより後続の分割期間Dcにおいて再生対象となるセグメントの受信・再生の遅延発生を低減し、シームレスな動画再生を実現することができる。
<5.その他>
<本技術の適用分野>
本技術は、画像を処理するものであれば、例えば、交通、医療、防犯、農業、畜産業、鉱業、美容、工場、家電、気象、自然監視等、任意の分野に利用されるシステム、装置、処理部等に適用することができる。
例えば、本技術は、鑑賞の用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、交通管理の用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、セキュリティの用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、スポーツの用に供されるシステムやデバイスにも適用することができる。さらに、例えば、本技術は、農業の用に供されるシステムやデバイスにも適用することができる。また、例えば、本技術は、畜産業の用に供されるシステムやデバイスにも適用することができる。さらに、本技術は、例えば火山、森林、海洋等の自然の状態を監視するシステムやデバイスにも適用することができる。また、本技術は、例えば天気、気温、湿度、風速、日照時間等を観測する気象観測システムや気象観測装置に適用することができる。さらに、本技術は、例えば鳥類、魚類、ハ虫類、両生類、哺乳類、昆虫、植物等の野生生物の生態を観測するシステムやデバイス等にも適用することができる。
<ソフトウエア>
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。また、一部の処理をハードウエアにより実行させ、他の処理をソフトウエアにより実行させることもできる。上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムやデータ等が、ネットワークや記録媒体からインストールされる。
例えば図11の配信装置101の場合、この記録媒体は、装置本体とは別に、ユーザにプログラムやデータ等を配信するために配布される、そのプログラムやデータ等が記録されているリムーバブルメディア221により構成される。その場合、例えば、リムーバブルメディア221をドライブ215に装着することにより、そのリムーバブルメディア221に記憶されているこのプログラムやデータ等を読み出させ、記憶部213にインストールさせることができる。
また例えば図13の再生装置102の場合、この記録媒体は、装置本体とは別に、ユーザにプログラムやデータ等を配信するために配布される、そのプログラムやデータ等が記録されているリムーバブルメディア321により構成される。その場合、例えば、リムーバブルメディア321をドライブ315に装着することにより、そのリムーバブルメディア321に記憶されているこのプログラムやデータ等を読み出させ、記憶部313にインストールさせることができる。
また、このプログラムやデータ等は、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することもできる。例えば図11の配信装置101の場合、そのプログラムやデータ等は、通信部214で受信し、記憶部213にインストールすることができる。また、例えば図13の再生装置102の場合、そのプログラムやデータ等は、通信部314で受信し、記憶部313にインストールすることができる。
その他、このプログラムやデータ等は、記憶部やROM等に、あらかじめインストールしておくこともできる。例えば図11の配信装置101の場合、プログラムやデータ等は、記憶部213やROM302等に予めインストールしておくこともできる。また、例えば図13の再生装置102の場合、プログラムやデータ等は、記憶部313やROM302等に予めインストールしておくこともできる。
<補足>
本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、装置またはシステムを構成するあらゆる構成、例えば、システムLSI(Large Scale Integration)等としてのプロセッサ、複数のプロセッサ等を用いるモジュール、複数のモジュール等を用いるユニット、ユニットにさらにその他の機能を付加したセット等(すなわち、装置の一部の構成)として実施することもできる。
なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、全ての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、および、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
また、上述した処理部は、その処理部について説明した機能を有するようにすれば、どのような構成により実現するようにしてもよい。例えば、処理部が、任意の回路、LSI、システムLSI、プロセッサ、モジュール、ユニット、セット、デバイス、装置、またはシステム等により構成されるようにしてもよい。また、それらを複数組み合わせるようにしてもよい。例えば、複数の回路、複数のプロセッサ等のように同じ種類の構成を組み合わせるようにしてもよいし、回路とLSI等のように異なる種類の構成を組み合わせるようにしてもよい。
また、例えば、1つの装置(または処理部)として説明した構成を分割し、複数の装置(または処理部)として構成するようにしてもよい。逆に、以上において複数の装置(または処理部)として説明した構成をまとめて1つの装置(または処理部)として構成されるようにしてもよい。また、各装置(または各処理部)の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置(または処理部)の構成の一部を他の装置(または他の処理部)の構成に含めるようにしてもよい。
また、例えば、本技術は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能(機能ブロック等)を有し、必要な情報を得ることができるようにすればよい。
また、例えば、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、1つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を1つのステップとしてまとめて実行することもできる。
コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
なお、本技術は以下のような構成も取ることができる。
(1) ストリーミングデータの品質に関する情報と、前記ストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、前記ストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前に前記ストリーミングデータを受信することができるように前記ストリーミングデータの受信タイミングが計画された前記ストリーミングデータの受信スケジュールに基づいて、前記ストリーミングデータの配信要求を行う配信要求部
を備える情報処理装置。
(2) 前記再生スケジュールにおいては、前記ストリーミングデータのセグメント毎に再生タイミングが計画されており、
前記受信スケジュールにおいては、前記ストリーミングデータの各セグメントを前記再生タイミングよりも前に受信することができるように、前記ストリーミングデータの前記セグメント毎に受信タイミングが計画されており、
前記配信要求部は、前記受信スケジュールに基づいて、前記ストリーミングデータの各セグメントを前記受信タイミングにおいて受信することができるように、前記ストリーミングデータの前記セグメント毎に前記配信要求を行う
(1)に記載の情報処理装置。
(3) 前記再生スケジュールにおいては、前記ストリーミングデータの各セグメントを再生する期間が計画されており、
前記受信スケジュールにおいては、前記ストリーミングデータの各セグメントを、前記再生スケジュールにおいて計画された期間よりも前の期間において受信することができるように、前記ストリーミングデータの各セグメントを受信する期間が計画されており、
前記配信要求部は、前記受信スケジュールに基づいて、前記ストリーミングデータの各セグメントを前記受信スケジュールにおいて計画された期間において受信することができるように、前記ストリーミングデータの前記セグメント毎に前記配信要求を行う
(2)に記載の情報処理装置。
(4) 、前記ストリーミングデータの各セグメントを、前記再生スケジュールにおいて計画された期間よりも前の期間において受信することができるように、前記ストリーミングデータの各セグメントを受信する期間を計画し、前記受信スケジュールを設定する受信スケジュール設定部をさらに備える
(3)に記載の情報処理装置。
(5) 前記受信スケジュール設定部は、前記通信路の伝送レートを超えない範囲で、単一の期間において複数のセグメントを受信するように、前記受信スケジュールを設定する
(4)に記載の情報処理装置。
(6) 前記ストリーミングデータは画像データおよび音声データを含み、
前記受信スケジュール設定部は、前記通信路の伝送レートを超えない範囲で、音声データを優先的に受信するように、前記受信スケジュールを設定する
(4)または(5)に記載の情報処理装置。
(7) 前記ストリーミングデータはさらにテキストデータも含み、
前記受信スケジュール設定部は、前記通信路の伝送レートを超えない範囲で、テキストデータも優先的に受信するように、前記受信スケジュールを設定する
(6)に記載の情報処理装置。
(8) 前記伝送レートに関する情報は、前記情報処理装置の移動経路に基づいて予測された前記通信路の伝送レートである予測伝送レートを含み、
前記受信スケジュール設定部は、前記予測伝送レートに基づいて、前記受信スケジュールを設定する
(4)乃至(7)のいずれかに記載の情報処理装置。
(9) 前記品質に関する情報は、MPD(Media Presentation Description)を解析して得られる前記ストリーミングデータのビットレートを含み、
前記受信スケジュール設定部は、前記ビットレートに基づいて、前記受信スケジュールを設定する
(4)乃至(8)のいずれかに記載の情報処理装置。
(10) 前記配信要求部の要求に応じて配信された前記ストリーミングデータをセグメント毎に受信するストリーミングデータ受信部をさらに備える
(1)乃至(9)のいずれかに記載の情報処理装置。
(11) 前記ストリーミングデータ受信部は、前記ストリーミングデータの、互いに異なる経路を介して伝送された複数のセグメントを受信する
(10)に記載の情報処理装置。
(12) 前記ストリーミングデータ受信部により受信された前記ストリーミングデータの各セグメントを、前記再生スケジュールに従って再生する再生部をさらに備える
(10)または(11)に記載の情報処理装置。
(13) ストリーミングデータの品質に関する情報と、前記ストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、前記ストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前に前記ストリーミングデータを受信することができるように前記ストリーミングデータの受信タイミングが計画された前記ストリーミングデータの受信スケジュールに基づいて、前記ストリーミングデータの配信要求を行う
情報処理方法。
(21) ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータの生成を要求する生成要求部
を備える情報処理装置。
(22) 前記生成要求部は、前記ストリーミングデータの、ビットレートが前記通信路の伝送レートを超えるセグメントについて、前記通信路の伝送レートを超えないビットレートの前記セグメントの生成を要求する
(21)に記載の情報処理装置。
(23) 前記生成要求部は、前記ストリーミングデータの、ビットレートが前記通信路の伝送レートを超える期間に配信されるセグメントについて、前記通信路の前記期間の伝送レートを超えないビットレートの前記セグメントの生成を要求する
(22)に記載の情報処理装置。
(24) 前記生成要求部による要求に基づくセグメントの生成を反映させるようにMPD(Media Presentation Description)の更新を要求するMPD更新要求部をさらに備える
(21)乃至(23)のいずれかに記載の情報処理装置。
(25) 前記MPD更新要求部の要求に応じて更新されたMPDを取得するMPD取得部をさらに備える
(24)に記載の情報処理装置。
(26) 前記MPD取得部により取得された前記MPDに基づいて、前記ストリーミングデータの各セグメントの配信を要求する配信要求部をさらに備える
(25)に記載の情報処理装置。
(27) 前記配信要求部の要求に応じて配信された前記ストリーミングデータをセグメント毎に受信するストリーミングデータ受信部をさらに備える
(26)に記載の情報処理装置。
(28) 前記ストリーミングデータ受信部により受信された前記ストリーミングデータの各セグメントを、再生スケジュールに従って再生する再生部をさらに備える
(27)に記載の情報処理装置。
(29) ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータの生成を要求する
情報処理方法。
(31) 要求に基づいて、ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータを生成する生成部
を備える情報処理装置。
(32) 前記生成部は、前記ストリーミングデータの要求されたセグメントを、前記セグメントのビットレートが前記通信路の伝送レートを超えないように、生成する
(31)に記載の情報処理装置。
(33) 前記生成部は、前記ストリーミングデータの要求されたセグメントを、前記セグメントのビットレートが前記セグメントが配信される期間における前記通信路の伝送レートを超えないように、生成する
(32)に記載の情報処理装置。
(34) 前記生成部により生成された前記ストリーミングデータのセグメントを配信する配信部をさらに備える
(33)に記載の情報処理装置。
(35) 前記生成部により生成された前記ストリーミングデータのセグメントを反映するように、前記ストリーミングデータのMPD(Media Presentation Description)を更新するMDP更新部をさらに備える
(31)乃至(34)のいずれかに記載の情報処理装置。
(36) 前記MPD更新部により更新された前記MPDを供給するMPD供給部をさらに備える
(35)に記載の情報処理装置。
(37) 要求に基づいて、ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータを生成する
情報処理方法。
100 配信システム, 101 配信装置, 102 再生装置, 103 ネットワーク, 121 MPD, 122 ストリーミングデータ, 251 MPD管理部, 252 MPD要求受付部, 253 MPD送信部, 254 コンテンツ管理部, 255 コンテンツ要求受付部, 256 コンテンツ送信部, 351 MPD要求部, 352 MPD取得部, 353 MPD保持部, 354 配信要求部, 355 ビットレート決定部, 356 予測伝送レート取得部, 371 再生対象セグメント決定部, 372 受信可能セグメント数導出部, 373 受信対象セグメント決定部, 374 受信対象セグメントビットレート決定部, 551 生成要求受付部, 552 セグメント生成部, 553 MPD更新部, 571 生成要求部

Claims (20)

  1. ストリーミングデータの品質に関する情報と、前記ストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、前記ストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前に前記ストリーミングデータを受信することができるように前記ストリーミングデータの受信タイミングが計画された前記ストリーミングデータの受信スケジュールに基づいて、前記ストリーミングデータの配信要求を行う配信要求部
    を備える情報処理装置。
  2. 前記再生スケジュールにおいては、前記ストリーミングデータのセグメント毎に再生タイミングが計画されており、
    前記受信スケジュールにおいては、前記ストリーミングデータの各セグメントを前記再生タイミングよりも前に受信することができるように、前記ストリーミングデータの前記セグメント毎に受信タイミングが計画されており、
    前記配信要求部は、前記受信スケジュールに基づいて、前記ストリーミングデータの各セグメントを前記受信タイミングにおいて受信することができるように、前記ストリーミングデータの前記セグメント毎に前記配信要求を行う
    請求項1に記載の情報処理装置。
  3. 前記再生スケジュールにおいては、前記ストリーミングデータの各セグメントを再生する期間が計画されており、
    前記受信スケジュールにおいては、前記ストリーミングデータの各セグメントを、前記再生スケジュールにおいて計画された期間よりも前の期間において受信することができるように、前記ストリーミングデータの各セグメントを受信する期間が計画されており、
    前記配信要求部は、前記受信スケジュールに基づいて、前記ストリーミングデータの各セグメントを前記受信スケジュールにおいて計画された期間において受信することができるように、前記ストリーミングデータの前記セグメント毎に前記配信要求を行う
    請求項2に記載の情報処理装置。
  4. 前記ストリーミングデータの各セグメントを、前記再生スケジュールにおいて計画された期間よりも前の期間において受信することができるように、前記ストリーミングデータの各セグメントを受信する期間を計画し、前記受信スケジュールを設定する受信スケジュール設定部をさらに備える
    請求項3に記載の情報処理装置。
  5. 前記受信スケジュール設定部は、前記通信路の伝送レートを超えない範囲で、単一の期間において複数のセグメントを受信するように、前記受信スケジュールを設定する
    請求項4に記載の情報処理装置。
  6. 前記ストリーミングデータは画像データおよび音声データを含み、
    前記受信スケジュール設定部は、前記通信路の伝送レートを超えない範囲で、音声データを優先的に受信するように、前記受信スケジュールを設定する
    請求項4に記載の情報処理装置。
  7. 前記ストリーミングデータはさらにテキストデータも含み、
    前記受信スケジュール設定部は、前記通信路の伝送レートを超えない範囲で、テキストデータも優先的に受信するように、前記受信スケジュールを設定する
    請求項6に記載の情報処理装置。
  8. 前記伝送レートに関する情報は、前記情報処理装置の移動経路に基づいて予測された前記通信路の伝送レートである予測伝送レートを含み、
    前記受信スケジュール設定部は、前記予測伝送レートに基づいて、前記受信スケジュールを設定する
    請求項4に記載の情報処理装置。
  9. 前記品質に関する情報は、MPD(Media Presentation Description)を解析して得られる前記ストリーミングデータのビットレートを含み、
    前記受信スケジュール設定部は、前記ビットレートに基づいて、前記受信スケジュールを設定する
    請求項4に記載の情報処理装置。
  10. 前記配信要求部の要求に応じて配信された前記ストリーミングデータをセグメント毎に受信するストリーミングデータ受信部をさらに備える
    請求項1に記載の情報処理装置。
  11. 前記ストリーミングデータ受信部は、前記ストリーミングデータの、互いに異なる経路を介して伝送された複数のセグメントを受信する
    請求項10に記載の情報処理装置。
  12. 前記ストリーミングデータ受信部により受信された前記ストリーミングデータの各セグメントを、前記再生スケジュールに従って再生する再生部をさらに備える
    請求項10に記載の情報処理装置。
  13. ストリーミングデータの品質に関する情報と、前記ストリーミングデータが配信される通信路の伝送レートに関する情報とに基づいて、前記ストリーミングデータの再生スケジュールにおいて計画された再生タイミングよりも前に前記ストリーミングデータを受信することができるように前記ストリーミングデータの受信タイミングが計画された前記ストリーミングデータの受信スケジュールに基づいて、前記ストリーミングデータの配信要求を行う
    情報処理方法。
  14. ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータの生成を要求する生成要求部
    を備える情報処理装置。
  15. 前記生成要求部は、前記ストリーミングデータの、ビットレートが前記通信路の伝送レートを超えるセグメントについて、前記通信路の伝送レートを超えないビットレートの前記セグメントの生成を要求する
    請求項14に記載の情報処理装置。
  16. 前記生成要求部は、前記ストリーミングデータの、ビットレートが前記通信路の伝送レートを超える期間に配信されるセグメントについて、前記通信路の前記期間の伝送レートを超えないビットレートの前記セグメントの生成を要求する
    請求項15に記載の情報処理装置。
  17. 前記生成要求部による要求に基づくセグメントの生成を反映させるようにMPD(Media Presentation Description)の更新を要求するMPD更新要求部をさらに備える
    請求項14に記載の情報処理装置。
  18. ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータの生成を要求する
    情報処理方法。
  19. 要求に基づいて、ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータを生成する生成部
    を備える情報処理装置。
  20. 要求に基づいて、ストリーミングデータのビットレートが、前記ストリーミングデータが配信される通信路の伝送レートを超えないように、前記ストリーミングデータを生成する
    情報処理方法。
JP2017177380A 2017-09-15 2017-09-15 情報処理装置および方法 Pending JP2019054415A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017177380A JP2019054415A (ja) 2017-09-15 2017-09-15 情報処理装置および方法
PCT/JP2018/032325 WO2019054201A1 (ja) 2017-09-15 2018-08-31 情報処理装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017177380A JP2019054415A (ja) 2017-09-15 2017-09-15 情報処理装置および方法

Publications (1)

Publication Number Publication Date
JP2019054415A true JP2019054415A (ja) 2019-04-04

Family

ID=65723671

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017177380A Pending JP2019054415A (ja) 2017-09-15 2017-09-15 情報処理装置および方法

Country Status (2)

Country Link
JP (1) JP2019054415A (ja)
WO (1) WO2019054201A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021200212A1 (ja) * 2020-03-30 2021-10-07 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム
WO2021200226A1 (ja) * 2020-03-30 2021-10-07 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2014171385A1 (ja) * 2013-04-19 2017-02-23 ソニー株式会社 サーバ装置、コンテンツ提供方法及びコンピュータプログラム
US20150281303A1 (en) * 2014-03-26 2015-10-01 Mohamed Yousef Adaptive media streaming
JP6565324B2 (ja) * 2015-05-20 2019-08-28 日本電気株式会社 通信端末、データ送受信システム、通信方法、および通信用プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021200212A1 (ja) * 2020-03-30 2021-10-07 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム
WO2021200226A1 (ja) * 2020-03-30 2021-10-07 ソニーグループ株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
WO2019054201A1 (ja) 2019-03-21

Similar Documents

Publication Publication Date Title
KR101484900B1 (ko) 코덱이 적용된 프레임 크기로의 오디오 분할
EP2792123B1 (en) Remote storage digital video recorder and related operating methods
US9641791B2 (en) Bandwidth aware digital video recording (DVR) scheduling
CN105814900B (zh) 用于在自适应流播环境中管理相邻频道的系统和方法
US20190045242A1 (en) Live consecutive ad insertion
CN102664032B (zh) 一种直播时移的播放进度调节条及其控制方法
US10681104B1 (en) Handling media timeline offsets
JP6761983B2 (ja) 広告配信サーバ、番組配信サーバ及び再生端末、並びに映像配信システム
JP6555263B2 (ja) 情報処理装置および方法
EP3190794A1 (en) System, device and method for implementing hls channel playback service, and storage medium
US9807447B2 (en) Intelligent scheduling of DVR commands and DVR client status updates
JP5890517B2 (ja) 3dコンテンツを配信するための方法およびデバイス
JP2019054415A (ja) 情報処理装置および方法
JP2011151535A (ja) コンテンツ配信システムと方法およびプログラム
JP2014131142A (ja) 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
JP2012222530A (ja) 受信装置及び方法、並びにプログラム
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
KR20120035831A (ko) 스케일러블 비디오 코딩 기반의 스트리밍 서비스를 위한 랜덤 액세스 지원 방법
KR101869360B1 (ko) 미디어 버퍼 제어를 이용한 효율적인 무선 네트워크 스트리밍 중계 엔진 시스템
KR20170101674A (ko) P2p 기반 cdn 서비스를 위한 서버, 단말, 및 방법
US20140222961A1 (en) Reproduction apparatus, reproduction method, distribution apparatus, distribution system, reproduction program, and storage medium
WO2017071524A1 (zh) 多媒体资源的发布方法及装置
JP7438835B2 (ja) サーバ装置、通信システム、プログラムおよび情報処理方法
JP6340882B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP7419151B2 (ja) サーバ装置、情報処理方法およびプログラム