JP6116240B2 - 送信装置、送信方法、及びプログラム - Google Patents

送信装置、送信方法、及びプログラム Download PDF

Info

Publication number
JP6116240B2
JP6116240B2 JP2012287237A JP2012287237A JP6116240B2 JP 6116240 B2 JP6116240 B2 JP 6116240B2 JP 2012287237 A JP2012287237 A JP 2012287237A JP 2012287237 A JP2012287237 A JP 2012287237A JP 6116240 B2 JP6116240 B2 JP 6116240B2
Authority
JP
Japan
Prior art keywords
data
description data
request
playlist
receiving
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.)
Active
Application number
JP2012287237A
Other languages
English (en)
Other versions
JP2014131143A (ja
JP2014131143A5 (ja
Inventor
祐樹 藤森
祐樹 藤森
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012287237A priority Critical patent/JP6116240B2/ja
Priority to US14/141,136 priority patent/US10277652B2/en
Publication of JP2014131143A publication Critical patent/JP2014131143A/ja
Publication of JP2014131143A5 publication Critical patent/JP2014131143A5/ja
Application granted granted Critical
Publication of JP6116240B2 publication Critical patent/JP6116240B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 

Description

本発明は、送信装置、送信方法、及びプログラムに関し、コンテンツデータをリアルタイムに送受信するストリーミング配信を行うデータ通信技術に関する。特に、コンテンツデータを複数のセグメントデータに分割し、各セグメントデータを受信装置が送信装置から取得するために用いるメタデータを、送信装置が受信装置に対して送信する技術に関する。
近年、ネットワークカメラやビデオ会議システム等のように、音声データや映像データ等により構成されるストリーミング形式のコンテンツデータを、ユーザにリアルタイムに配信するデータ通信技術が提供されている。このようなデータ通信技術により、ユーザは、コンテンツデータを受信しながら、同時に受信したコンテンツデータを再生することができる。
また、このようなデータ通信技術として、HTTP Live Streaming(非特許文献1)、及びMPEG−DASH(非特許文献2)等が標準規格化されている。これらの各標準規格において、送信装置は、映像データや音声データ等のコンテンツデータを所定の時間間隔毎に分割することにより複数のセグメントデータを生成する。さらに、送信装置は、生成した各セグメントデータの所在情報、再生順序等を含むメタデータ(プレイリストと称す)を受信装置へ送信する。受信装置は、受信したプレイリストに記載された、各セグメントデータの所在情報、再生順序等に基づいて、セグメントデータを取得する。このように、上述した各標準規格において、プレイリスト及びセグメントデータを、送信装置と受信装置との間で所定の時間間隔毎に連続して送受信することにより、コンテンツデータのストリーミングが可能である。
また、送信装置がコンテンツのプレイリストファイル(以下、プレイリスト)を、コンテンツとは別に受信装置に提供することで、受信装置側で取得するメディアファイルを選択することを可能にする方法が提案されている(特許文献1)。ここで、メディアファイルとは、コンテンツをセグメント化して生成されるファイルである。また、プレイリストとは、コンテンツを複数に分割したメディアファイルを受信装置が送信装置から受信するために用いる情報である。
特許文献1に記載の方法では、受信装置が周期的にプレイリストの取得要求(以下、プレイリスト要求)を送信し、さらに、当該プレイリスト要求に対して受信したプレイリストが更新されていなかった場合はプレイリスト要求の送信周期を変更する。
IETF draft HTTP Live Streaming draft−pantos−http−live−streaming−09 ISO/IEC 23009−1
特表2012−514276号公報
しかし、特許文献1に記載の方法では、送信装置は、受信装置から受信したプレイリスト要求に対して、当該プレイリスト要求より前に生成及び更新されたプレイリストしか送信できない。このため、送信装置は、受信装置からプレイリスト要求を受信した直後に、プレイリストを生成及び更新した場合、次に受信装置からプレイリスト要求を受信するまで、生成及び更新した最新のプレイリストを送信することができない。このように、従来技術では、送信装置は、受信装置からプレイリスト要求を受信した直後に最新のプレイリストを取得した場合について考慮しておらず、プレイリストの送信タイミングを制御できないという課題がある。
本発明は、上記課題を解決するためになされたものである。本発明は、送信装置が、プレイリスト要求に対するプレイリストの送信タイミングを制御する。これにより、プレイリストを更新してから当該プレイリストを受信装置に送信するまでのタイムロスを低減させることを目的とする。
上述の課題を解決するために、本発明の送信装置は下記の構成を有する。即ち、コンテンツが分割されたセグメントの取得要求を受信装置が行うための所在情報が記述された記述データを生成するデータ生成手段と、前記記述データの要求を前記受信装置から受信する受信手段と、前記受信手段による記述データの要求の受信に応じて記述データを送信する送信手段であって、前記受信手段が記述データの第1要求を前記受信装置から受信したことに応じて第1記述データを前記受信装置へ送信したあと、前記受信手段が記述データの第2要求を前記受信装置から受信し、且つ、前記第2要求の受信から所定時間の経過までに前記第1記述データとは異なる第2記述データが前記データ生成手段により生成されない場合、前記第2要求の応答として前記第1記述データを前記受信装置に対して送信する送信手段とを有する。
を有する。
本発明により、受信装置からプレイリストの取得要求を受信し、未送信のプレイリストがない場合に、送信装置が、プレイリストを生成及び更新してから当該プレイリストを受信装置に送信するまでのタイムロスを低減させることができる。
本発明の各実施形態を示すシステム構成図 プレイリストの一例を示す図 本発明の各実施形態における送信装置20の機能構成例を示すブロック図 実施形態1の送信装置20におけるプレイリストの送信制御処理の動作を示すフローチャート 実施形態1における送信装置20と受信装置30との間のメッセージを示すシーケンス図 実施形態2の送信装置20におけるプレイリストの送信制御処理の動作を示すフローチャート 実施形態2における送信装置20と受信装置30との間のメッセージを示すシーケンス図 本発明の送信装置に適用可能なコンピュータのハードウェア構成例を示すブロック図
以下に、添付の図面を参照して、実施形態について詳細に説明する。尚、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
<実施形態1>
本実施形態のシステム全体の処理について、図1を用いて説明する。
図1は、本実施形態に係る、送信装置20と受信装置30との接続形態の一例を示す図である。本実施形態において、送信装置20と受信装置30とは、ネットワーク10を介して相互に接続されている。
送信装置20及び受信装置30は、コンテンツデータを所定の時間間隔毎に分割して取得したセグメントデータと、各セグメントデータに関する再生区間情報を含むメタデータ(以下、プレイリストと称す)とをネットワーク10を介して夫々送受信する。これにより、送信装置20及び受信装置30はコンテンツデータのストリーミングを行う。コンテンツデータとは、映像データ、音声データ等を示す。本実施形態では、送信装置20が、コンテンツデータとして映像データを受信装置30へ送信することを想定して以下に説明するが、本発明はこれに限定されない。すなわち、送信装置20が、コンテンツデータとして音声データを受信装置30へ送信してもよい。また、プレイリストは、各セグメントデータの再生順序、所在情報(URL等)、再生時間等が記載されたメタデータである。本実施形態では、プレイリストのフォーマットとしてテキストベースのM3U8形式を用いる。M3U8形式のプレイリストの詳細は図2を用いて後述する。
ネットワーク10は、例えば、インターネットや有線LAN(Local Area Network)、または無線LAN(Wireless LAN)等により構成される。尚、本実施形態において、ネットワーク10はホームネットワークとしての有線LAN、または無線LANを想定しているが、本発明はネットワーク10の通信規格、規模、構成を問わない。即ち、ネットワーク10の通信規格として、WAN(Wide Area Network)、アドホックネットワーク、Bluetooth(登録商標)、Zigbee(登録商標)、UWB(Urtra Wide Band)等を用いてもよい。
送信装置20は、受信装置30からネットワーク10を介して送信されるプレイリストの取得要求(以下、プレイリスト要求)、及びセグメントデータの取得要求(以下、セグメントデータ要求)に基づいて、プレイリストの送信、及びセグメントデータの送信を行う。送信装置20としては、例えば、カメラ、ビデオカメラ、スマートフォン、PC(Personal Computer)、携帯電話等が挙げられるが、本発明はこれに限定されない。即ち、送信装置20は、後述のハードウェア構成、及びモジュール構成を満たすものであればよい。また、送信装置20が送信するコンテンツデータの生成は送信装置20内で行われてもよいし、他のサーバ装置等で行われてもよい。当該他のサーバ等でコンテンツデータが生成される場合、送信装置20に当該コンテンツデータに関する情報が通知されてもよい。
受信装置30は、送信装置20からネットワーク10を介して送信されるプレイリスト、及びセグメントデータを夫々受信する。さらに、本実施形態において受信装置30は、受信したコンテンツデータの再生、及び通信を行う機能を備える。尚、受信装置30が受信したコンテンツデータを他の装置に送信して、当該他の装置が再生、及び記録させることとしてもよい。受信装置30としては、例えば、スマートフォン、PC、テレビ、携帯電話等が挙げられるが、本発明はこれに限定されない。即ち、受信装置30は、前述の機能と同等の機能を備えるものであり、後述のハードウェア構成、及びモジュール構成を満たすものであればよい。また、ネットワーク10に接続される受信装置30は一台のみであってもよいし、複数台存在してもよい。
図3は、本実施形態に係る、送信装置20の機能構成図である。
通信制御部301は、ネットワーク10に接続するための通信制御を行う。通信制御部301は、受信装置30からのコンテンツ配信リクエストに対する通信制御、及び受信装置30へ送信するコンテンツデータに対する通信制御を行う。通信制御部301における通信制御処理の詳細については後述する。
リスト送信制御部302は、通信制御部301を用いて、ネットワーク10を介して、プレイリストを受信装置30へ送信するよう通信制御を行う。
計測部303は、通信制御部301を利用して、ネットワーク10の通信帯域の計測を行う。本実施形態では、送信装置20が受信装置30へプレイリストを送信してから、送信装置20が受信装置30から次のプレイリスト要求を受信するまでの時間を計測することにより、通信帯域の計測を行う。本実施形態では、上述した方法で通信帯域の計測を行うが、これに限定されない。即ち、送信装置20から受信装置30に送信するPINGの返答時間を計測する等、同等の方法で通信帯域を計測することも可能である。
制御部304は、図3に示す送信装置20の処理部全体の制御を行う。即ち、制御部304は、各処理部302、303、305〜307を管理、及び制御する。
識別子管理部305は、送信装置20と受信装置30との間の各セッションに対して識別子(ID)を夫々割り振り、当該識別子の管理を行う。ここで、1セッションは、送信装置20と受信装置30とが、通信を開始してから終了するまでの一連の送受信処理を示す。別々のセッションに対しては、別々の識別子が割り振られ、識別子によってセッションを一意に特定することが可能となる。本実施形態では、識別子として重複しない固有の数値を用いるが、これに限定されない。即ち、重複しない固有の文字列等、同等の機能を有する識別子を用いてもよい。また、本実施形態では、各セッションの識別子は、送信装置20の識別子管理部305が生成するが、受信装置30が、当該受信装置30のMACアドレス等、重複しない情報を用いて生成してもよい。
判定部306は、識別子管理部305が管理している各セッションについて、最新のプレイリストを送信済みであるか否かの情報を管理する。判定部306は、後述する図4に示す方法により、プレイリストを送信するための判定処理を行う。
時間取得部307は、プレイリストが生成、及び更新されるまでにかかる時間(以下、更新時間と称す)を取得する。本実施形態において、プレイリストは送信装置20のプレイリスト管理部(不図示)によって生成、及び更新されるが、本発明はこれに限定されない。即ち、プレイリストは、送信装置20外の他の装置によって生成、及び更新されて、プレイリスト管理部に入力されても構わない。また、プレイリストは、コンテンツデータを分割した各セグメントデータの送信準備が完了した時点で、生成、及び更新が可能となる。即ち、コンテンツデータのセグメントデータが生成され、当該セグメントデータの送信準備が完了するまでの時間が、更新時間となる。尚、セグメントデータの送信準備が完了すると、送信装置20は、当該セグメントデータに関する再生区間情報を含むプレイリストを受信装置30へ送信可能である。また、当該更新時間は、セグメントデータを生成する装置のハードウェアスペック、及びセグメントデータの生成・送信準備の処理方法によって決定される。
図4は受信装置30から受信したプレイリスト要求に従って、送信装置20で行うプレイリストの送信制御処理のフローを示す。
本実施形態において、送信装置20が受信装置30からプレイリスト要求を受信すると、判定部306はプレイリストの送信制御処理を開始する。
まず、ステップS401において、判定部306は、プレイリスト要求を受信したセッションに対して、最新のプレイリストが生成及び更新されたか否かの判定を行う。ここで、識別子管理部305は、受信装置30から受信したプレイリスト要求に含まれる識別子によって、セッションを特定する。また、プレイリストは、コンテンツデータの配信に関する開始指示を受信した場合に生成され、その後、当該コンテンツデータの各セグメントデータが生成される毎に更新される。
図2にプレイリストの一例を示す。プレイリスト200は、プレイリスト管理部(不図示)で取得した、コンテンツデータを分割した複数のセグメントデータのうち、受信装置30が取得可能なセグメントデータを示すメタデータである。図2において、1つの取得情報201が1つ分のセグメントデータに対応し、当該1つ分のセグメントデータを取得するための情報を夫々示している。プレイリスト200は、取得情報201によって、受信装置30が取得可能なセグメントデータを示すことができる。また、プレイリスト200は、取得情報201によって、送信装置20が送信可能なセグメントデータを示すことができる。尚、図2において、プレイリスト200には、対応するセグメントデータが再生される順序に応じた順序で、各取得情報201が夫々記載される。
本実施形態において、プレイリスト200は、複数の取得情報201を含むことができる。さらに、本実施形態において、プレイリスト200は、取得情報201を含まないようにすることができる。プレイリスト200が取得情報201を含まない場合、受信装置30が取得可能なセグメントデータが存在しないことを意味する。また、プレイリスト200が取得情報201を含まない場合、送信装置20が送信可能なセグメントデータが存在しないことを意味する。
さらに、本実施形態において各取得情報201は、再生時間202と所在情報(URL)203とを夫々含む。受信装置30は、プレイリスト200に含まれる所在情報203に基づいて、受信するセグメントデータ要求を送信装置20へ送信することにより、当該セグメントデータを受信することができる。
ステップS401において最新のプレイリストが生成及び更新されたと判定した場合(ステップS401のYES)に、判定部306は、当該セッションに対して、最新のプレイリストを送信したか否かを判定する(ステップS402)。ステップS402において最新のプレイリストを送信していないと判定された場合(ステップS402のNO)、リスト送信制御部302は、送信装置20が受信装置30に対して最新のプレイリストを送信するよう制御し(ステップS403)、処理を終了する。
一方、ステップS401で最新のプレイリストが生成及び更新されていない場合(ステップS401のNO)、またはステップS402で最新のプレイリストを送信済みである場合(ステップS402のYES)、判定部306はステップS404の処理を行う。
ステップS404において、判定部306は、最新のプレイリストが生成及び更新されるまで、受信装置30へプレイリストを送信せずに待機するよう制御する。但し、待機する待機期間は所定時間内とする。即ち、ステップS404において、判定部306は、最新のプレイリストが生成及び更新されるか、または所定時間経過するまで待機し、待機期間を終了後、ステップS405へ進む。ステップS405において、判定部306は、最新のプレイリストが生成及び更新されたか否かを再度判定する。
ステップS404において所定時間内に最新のプレイリストが生成及び更新された場合、判定部306は、待機を終了し、ステップS405において最新のプレイリストが生成及び更新されたと判定する(ステップS405のYES)。一方、ステップS404において最新のプレイリストが生成及び更新されずに所定時間経過した場合、待機を終了し、ステップS405において最新のプレイリストが生成及び更新されなかったと判定する(ステップS405のNO)。
ステップS405で、所定時間内に最新のプレイリストが生成及び更新された場合(ステップS405のYES)、リスト送信制御部302は、当該最新のプレイリストを送信するよう制御し(ステップS403)、処理を終了する。一方、所定時間内に最新のプレイリストが生成及び更新されない場合(ステップS405のNO)、リスト送信制御部302は、送信装置20が受信装置30へ既存のプレイリストを送信するよう制御し(ステップS406)、処理を終了する。
尚、ステップS405で所定時間内に最新のプレイリストが生成されない場合、ステップS406においてリスト送信制御部302は、送信装置20が、プレイリストが生成されていないことを示す情報を受信装置30へ送信するよう制御する。即ち、送信装置20は、図2に示す取得情報201を含まないプレイリストを受信装置30へ送信する。また、ステップS405で所定時間内に最新のプレイリストが更新されない場合、ステップS406においてリスト送信制御部302は、送信装置20が受信装置30へ既に送信済みのプレイリストを送信するよう制御する。
本実施形態において上述した所定時間は、ステップS401においてプレイリストが生成されていない場合に所定時間A、ステップS401においてプレイリストは生成されているが更新されていない場合に所定時間Bとして、判定部306に設定される。所定時間A、及び所定時間Bは、送信装置20が有する記録媒体のデータ容量、送信装置20が有するCPUの処理能力、送信装置20で使用する圧縮技術(符号化方式)等に基づいて決定され、送信装置20の判定部306に設定されている。尚、所定時間A、及び所定時間Bは、送信装置20が予め設定してもよいし、受信装置30がプレイリスト要求の送信時に、所定時間A、及び所定時間Bに関する情報を含めてもよいし、同等の方法で送信装置20に通知してもよい。また、所定時間A、及び所定時間Bは、計測部303において計測した通信帯域の状況に応じて動的に変更してもよい。また、所定時間Aと所定時間Bとは同一の値であってもよいし、異なる値でもよい。また、本発明はこれに限定されず、所定時間Aと所定時間Bとを各々設定せずに、共通の所定時間を設定してもよい。
このように、プレイリストの生成及び更新が所定時間内に完了する場合、本実施形態によって送信装置20は、最新のプレイリストが生成及び更新されてから受信装置30へ送信するまでの遅延を、従来技術におけるプレイリストの送信よりも低減することができる。
尚、本実施形態のステップS404において、判定部306は、最新のプレイリストが生成及び更新されるまで、受信装置30へプレイリストを送信せずに待機するよう制御するが、本発明はこれに限定されない。即ち、最新のプレイリストが生成及び更新されていない場合(ステップS401のNO)または、最新のプレイリストを送信済みである場合(ステップS402のYES)に、プレイリストの送信をせずに待機するよう制御する方法であればよい。即ち、上記の場合(ステップS401のNOまたはステップS402のYES)、所定時間待機し、その後、プレイリストが生成及び更新されたか否かを再度判定する処理手順でも構わない。
図5は、本実施形態に係る、送信装置20及び受信装置30におけるシステム全体のメッセージの流れを示すシーケンス図である。以下、図5に示すシーケンス図を用いて、受信装置30(A)、及び受信装置30(B)が送信装置20に対してプレイリスト要求を送信し、送信装置20が当該プレイリスト要求に応答する流れについて説明する。尚、図5において受信装置として受信装置30(A)と受信装置30(b)との二台が登場するが、これは一台であってもよいし、三台以上であってもよい。
まず、M500において受信装置30(A)は、送信装置20に対して、コンテンツデータの配信に関する開始指示を行う。当該開始指示(M500)を機に、送信装置20はコンテンツデータの配信の準備を開始する。尚、当該開始指示(M500)は、プレイリスト要求(M501)に含まれても良い。
以下、プレイリストの生成が所定時間A以内に完了する場合についてM501〜504の流れを説明する。
M501において受信装置30(A)は、送信装置20に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求(M501)を受信した送信装置20は、前述の図4に示したプレイリストの送信制御処理を行う。
ここでは、プレイリストの生成が所定時間A内に完了するため、M502において、送信装置20にセグメントデータ1の生成が完了したことを通知されると、M503において送信装置20はプレイリスト1を生成する。尚、本実施形態において図5に示す各プレイリスト1〜3には、図2に示すプレイリスト200に記載された内容と同等の情報が記載されている。
また、本実施形態において図5に示すように、受信装置30(A)からの開始指示(M500)の後に、送信装置20はプレイリスト1を生成(M502)するが、本発明はこれに限定されない。即ち、受信装置30(A)からの開始指示(M500)の有無に係らず、プレイリストを生成していてもよい。
次に、M504において、送信装置20は、M501における受信装置30(A)からのプレイリスト要求(M501)に応答する形で、M503で生成したプレイリスト1を受信装置30(A)へ送信する。尚、図5に示すように、受信装置30(A)によるプレイリスト要求(M501)から送信装置20によるプレイリスト1生成(M503)までの待機時間は、所定時間A内である。
これに対し、従来技術では、プレイリスト要求(M501)を受信した送信装置20は、点線で示すM505において、プレイリストが生成されていないことを受信装置30(A)へ送信する。そして、プレイリスト未生成(M505)を受信した受信装置30(A)は、プレイリスト要求のタイミング制御を行い、M506において、送信装置20に対して、再度プレイリスト要求を送信する。当該プレイリスト要求(M506)を受信した送信装置20は、既にM503で生成されたプレイリスト1をM507において受信装置30(A)へ送信する。
このように、プレイリストの生成が所定時間A内に完了する場合、本実施形態によって送信装置20は、従来技術におけるプレイリスト1送信(M507)よりもプレイリスト要求(M501)からの遅延時間が短いプレイリスト1送信(M504)を実現できる。また、従来技術において受信装置30(A)が行うプレイリスト要求のタイミング制御も省略でき、タイミング制御のための処理負荷を軽減することができる。
次に、該当するセッションに対して最新のプレイリストが未送信である場合についてM508〜509の流れを説明する。
M508において、受信装置30(B)は、送信装置20に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求(M508)を受信した送信装置20では、判定部306が前述の図4に示したプレイリストの送信制御処理を行う。ここでは、図4のステップS402の処理において、判定部306は、該当するセッションに対して最新のプレイリストを送信していないと判定するため、M509において、送信装置20は、即時に当該最新のプレイリストを送信する。
また、プレイリストの更新が所定時間B以内に完了する場合についてM510〜513の流れを説明する。
M510において、受信装置30(A)は、送信装置20に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求(M510)を受信した送信装置20は、前述の図4に示したプレイリストの送信制御処理を行う。この場合、図4のステップS401の処理において、判定部306は、該当するセッションに対して最新のプレイリストが更新されていないと判定する。このため、判定部306は、最新のプレイリストが更新されるまで、最長で所定時間Bまで待機するよう制御する(ステップS404)。
ここでは、セグメントデータ2の生成(M511)、及びプレイリスト2の更新(M512)が所定時間B内に完了するため、M513において、リスト送信制御部302は、送信装置20が受信装置30(A)へプレイリスト2を送信するよう制御する。
これに対し、従来技術では、プレイリスト要求(M510)を受信した送信装置20は、点線で示すM514において、プレイリスト1を受信装置30(A)へ送信する。そして、プレイリスト1(M514)を受信した受信装置30(A)は、M507において既にプレイリスト1を受信済みなので、プレイリストに更新情報がないことを判断し、プレイリスト要求のタイミング制御を行う。
このように、プレイリストの更新が所定時間B内に完了する場合、本実施形態によって送信装置20は、従来技術におけるプレイリスト1送信(M514)よりも新しく生成されたプレイリストであるプレイリスト2送信(M504)を実現できる。
また、プレイリストの更新が所定時間B内に完了しない場合についてM515〜516の流れを説明する。
M515において、受信装置30(A)は、送信装置20に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求(M515)を受信した送信装置20は、前述の図4に示したプレイリストの送信制御処理を行う。この場合、図4のステップS401の処理において、判定部306は、該当するセッションに対して最新のプレイリストが更新されていないと判定するため、判定部306は、所定時間Bだけ待機するよう制御する(ステップS404)。
ここでは、プレイリストの更新が所定時間B内に完了しないため、M516において送信装置20はプレイリスト2を送信する。そして、プレイリスト1(M516)を受信した受信装置30(A)は、M513において既にプレイリスト2を受信済みなので、プレイリストに更新情報がないことを判断し、プレイリスト要求のタイミング制御を行う。
尚、点線で示すM517〜518において、送信装置20は、セグメントデータ3を生成(M517)し、プレイリスト3の更新を行う(M518)。
上述したように本実施形態によって、送信装置20は、プレイリスト要求を受信した際に、プレイリストが生成及び更新されていない場合でも、プレイリスト要求を受信後、所定時間A及びB内でプレイリストが生成及び更新されたかを判定する。これにより、送信装置20は、プレイリスト要求から所定時間A及びB内に更新されるプレイリストがある場合に、従来技術の方法よりもプレイリストが更新されてから受信装置30が更新されたプレイリストを取得するまでの遅延を低減することができる。即ち、本実施形態によって、より新しいプレイリストを、連続性を保ちつつ送信することができる。
<実施形態2>
次に、本実施形態に係る、プレイリストの送信制御処理について、図6、及び図7を用いて説明する。尚、本実施形態のシステム全体の構成(図1)、及び送信装置20の機能構成(図3)は、前述した実施形態1と同一であるため、重複する説明は省略し、ここでは本実施形態の特徴となる構成について説明する。また、前述した実施形態と同一機能を有する各処理部には同一符号を付与する。
図6は受信装置30から受信したプレイリスト要求に従って、送信装置20で行うプレイリストの送信制御処理のフローを示す。
図6のステップS402において最新のプレイリストを送信していないと判定された場合(ステップS402のNO)、判定部306は、最新のプレイリストが所定時間A及びB内に生成及び更新されるかを判定する(ステップS601)。ステップS601において、判定部306は、時間取得部307によって取得された、プレイリストが生成及び更新されるまでの待機時間に基づいて、判定部306に設定された所定時間A及びBより長いか、短いかを判定する。
ステップS601で最新のプレイリストが所定時間A及びB内に生成及び更新されると判定した場合(ステップS601のYES)、判定部306は、最新のプレイリストが生成及び更新されるまで待機するよう制御する(ステップS602)。そして、ステップS403の処理へ進む。
一方、ステップS601で最新のプレイリストが所定時間A及びB内に生成及び更新されないと判定した場合(ステップS601のNO)、リスト送信制御部302は、送信装置20が受信装置30に対してエラー応答を送信するよう制御する(ステップS603)。そして、処理を終了する。
本実施形態において、エラー応答のみを送信し、受信装置30が一定の規則に従って待った上で、(一定期間後に)再度、プレイリスト要求を送信するが、本発明はこれに限定されない。即ち、エラー応答に、送信装置20におけるプレイリストの生成及び次の更新にかかる時間(以下、更新予定時間)を付加して送ってもよい。これにより、更新予定時間を付加したエラー応答を受信した受信装置30は、当該更新予定時間に基づいて、再度プレイリスト要求を送信するためのタイミング制御を行うにより、より適切なタイミング制御を可能にする。
図7は、本実施形態に係る、送信装置20及び受信装置30におけるシステム全体のメッセージの流れを示すシーケンス図である。以下、図7に示すシーケンス図を用いて、受信装置30(A)、及び受信装置30(B)が送信装置20に対してプレイリスト要求を送信し、送信装置20が当該プレイリスト要求に応答する流れについて説明する。尚、図7において受信装置として受信装置30(A)と受信装置30(b)との二台が登場するが、これは一台であってもよいし、三台以上であってもよい。
以下、プレイリストの更新が所定時間B内に完了しない場合についてM515、及びM701の流れについて図7を用いて説明する。
図7のM515において、受信装置30(A)は、送信装置20に対して、プレイリスト要求を送信する。そして、当該プレイリスト要求(M515)を受信した送信装置20は、前述の図6に示したプレイリストの送信制御処理を行う。この場合、図6のステップS401の処理において、判定部306は、該当するセッションに対して最新のプレイリストが更新されていないと判定するため、所定時間A内に最新のプレイリストが更新されるか否かを判定する(ステップS601)。
ここでは、プレイリストの更新が所定時間A内に完了しないと判断するため、M701において送信装置20はエラー応答を受信装置30(A)へ送信する。エラー応答(M701)を受信した受信装置30(A)は、プレイリストに更新情報がないことを判断し、プレイリスト要求のタイミング制御を行う。
上述したように本実施形態において、最新のプレイリストが所定時間A及びB内に生成及び更新されないと判定した場合に、リスト送信制御部302は、送信装置20が受信装置30に対してエラー応答を送信するよう制御する。これにより、送信装置20から受信装置30へ、重複した同じプレイリストを複数回送るのを防ぐことができる。
また、本実施形態のステップにおいて、予め、所定時間内に最新のプレイリストが生成及び更新されるか否かを判定し、所定時間内に最新のプレイリストが生成及び更新されないと判定した場合に、エラー応答を送信する。これにより、所定時間内に最新のプレイリストが生成及び更新されない場合に、実際に所定時間待機する必要がないため、送信装置20がプレイリスト要求を受信してからエラー応答を送信するまでの遅延時間を低減することができる。上述したように本実施形態によって、送信装置20は、プレイリスト要求を受信した際に、プレイリストが生成及び更新されていない場合でも、プレイリスト要求を受信後、所定時間A及びB内でプレイリストが生成及び更新されたかを判定する。これにより、送信装置20は、プレイリスト要求から所定時間A及びB内に更新されるプレイリストがある場合に、従来技術の方法よりもプレイリストが更新されてから受信装置30が更新されたプレイリストを取得するまでの遅延を低減することができる。即ち、本実施形態によって、より新しいプレイリストを、連続性を保ちつつ送信することができる。
<実施形態3> 上記実施形態1及び実施形態2において、図3に示した各処理部はハードウェアでもって構成しているものとして説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムで実行してもよい。
図8は、上記実施形態1及び実施形態2に係る送信装置の各処理部が行う処理を実行するコンピュータのハードウェアの構成例を示すブロック図である。
CPU801は、RAM802やROM803に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記実施形態1及び実施形態2に係る送信装置が行うものとして上述した各処理を実行する。即ち、CPU801は、図3に示した各処理部として機能することになる。
RAM802は、外部記憶装置806からロードされたコンピュータプログラムやデータ、I/F(インターフェース)807を介して、外部から取得したデータ等を一時的に記憶するためのエリアを有する。さらに、RAM802は、CPU801が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM802は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
ROM803は、本コンピュータの設定データや、ブートプログラム等を格納する。
操作部804は、キーボードやマウス等により構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU801に対して入力することができる。
出力部805は、CPU801による処理結果を表示するための制御を行う。また、出力部805は、例えば液晶ディスプレイで構成される表示部(不図示)において、CPU801による処理結果を表示するための制御を行う。
外部記憶装置806は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置806には、OS(オペレーティングシステム)や、図3に示した各部の機能をCPU801に実現させるためのコンピュータプログラムが保存されている。さらには、外部記憶装置806には、処理対象としての各画像が保存されていてもよい。
外部記憶装置806に保存されているコンピュータプログラムやデータは、CPU801による制御に従って適宜、RAM802にロードされ、CPU801による処理対象となる。
I/F807には、LANやインターネット等のネットワーク、投影装置や表示装置等の他の機部を接続することができ、本コンピュータはこのI/F807を介して様々な情報を取得したり、送出したりすることができる。
バス808は、上述の各部を繋ぐ。
上述の構成における作動は、前述のフローチャートで説明した作動をCPU801が中心となってその制御を行う。
[その他の実施形態]
上述の各実施形態において、プレイリストのフォーマットとしてM3U8形式を用いたが、M3U8形式に限らず、M3U形式、WPL形式等、他のプレイリストフォーマットを用いることも可能である。
また、上述の各実施形態において、データ転送プロトコルとしてHTTPを用いたが、HTTPに限らず、HTTPS、TCP、UDP等、OSI参照モデルの同一レイヤーの他のプロトコルまたは別レイヤーの他のプロトコルを用いることが可能である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワークまたは各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (11)

  1. コンテンツが分割されたセグメントの取得要求を受信装置が行うための所在情報が記述された記述データを生成するデータ生成手段と、
    前記記述データの要求を前記受信装置から受信する受信手段と、
    前記受信手段による記述データの要求の受信に応じて記述データを送信する送信手段であって、前記受信手段が記述データの第1要求を前記受信装置から受信したことに応じて第1記述データを前記受信装置へ送信したあと、前記受信手段が記述データの第2要求を前記受信装置から受信し、且つ、前記第2要求の受信から所定時間の経過までに前記第1記述データとは異なる第2記述データが前記データ生成手段により生成されない場合、前記第2要求の応答として前記第1記述データを前記受信装置に対して送信する送信手段とを有することを特徴とする送信装置。
  2. セグメントを生成するセグメント生成手段をさらに有し、
    前記データ生成手段は、前記セグメント生成手段によるセグメントの生成に応じて、当該セグメント取得要求のための所在情報が記述された記述データを生成することを特徴とする請求項1に記載の送信装置。
  3. 前記記述データを要求する第1要求を前記受信装置から受信したことに応じて第1記述データを前記受信装置へ送信したあと、前記記述データを要求する第2要求を前記受信装置から受信した場合、前記第1記述データの生成後に前記データ生成手段が第2記述データを生成したか判定する判定手段をさらに有し、
    前記送信手段は、
    前記第2記述データが前記データ生成手段により生成されていないと前記判定手段が判定した場合で、且つ、当該判定から前記所定時間内に前記第2記述データが生成されなかった場合、前記第2要求の応答として前記第2記述データを送信し、
    前記第2記述データが前記データ生成手段により生成されていないと前記判定手段が判定した場合で、且つ、当該判定から前記所定時間内に前記第2記述データが生成された場合、前記第2要求の応答として前記第1記述データを送信することを特徴とする請求項1又は2に記載の送信装置。
  4. 前記第2記述データは、前記第1記述データに対応するセグメントよりも新しいセグメントの取得要求を前記受信装置が行うための所在情報が示された記述データであることを特徴とする請求項1乃至3のうち何れか1項に記載の送信装置。
  5. コンテンツが分割されたセグメントの取得要求を受信装置が行うための所在情報が記述された記述データを生成するデータ生成手段と、
    前記記述データの要求を前記受信装置から受信する受信手段と、
    前記記述データを要求する第1要求を前記受信装置から受信したことに応じて第1記述データを前記受信装置へ送信したあと、前記記述データを要求する第2要求を前記受信装置から受信した場合において、前記第1記述データが生成されてから前記第2要求の受信までの間に前記第1記述データとは異なる第2記述データが前記データ生成手段により生成されていない場合、所定の待機時間中に前記第2記述データが前記データ生成手段により生成されるか否かを判定する判定手段と
    前記判定手段により前記所定の待機時間中に前記第2記述データが前記データ生成手段により生成されると判定された場合は、前記所定の待機時間中に生成される前記第2記述データを前記受信装置へ送信し、前記判定手段により前記所定の待機時間中に前記第2記述データが前記データ生成手段により生成されないと判定された場合は、前記第2要求に対してエラー応答を送信する送信手段とを有することを特徴とする送信装置。
  6. 前記所在情報はURLであることを特徴とする請求項1乃至5のうちいずれか1項に記載の送信装置。
  7. 前記コンテンツは映像データおよび音声データのうち少なくとも何れかが含まれることを特徴とする請求項1乃至のうち、何れか1項に記載の送信装置。
  8. コンテンツが分割されたセグメントの取得要求を受信装置が行うための所在情報が記述された記述データを生成するデータ生成工程と、
    前記記述データの要求を前記受信装置から受信する受信工程と、
    前記受信工程による記述データの要求の受信に応じて記述データを送信する送信工程であって、前記受信工程において記述データの第1要求を前記受信装置から受信したことに応じて第1記述データを前記受信装置へ送信したあと、前記受信工程において記述データの第2要求を前記受信装置から受信し、且つ、前記第2要求の受信から所定時間の経過までに前記第1記述データとは異なる第2記述データが前記データ生成工程により生成されない場合、前記第2要求の応答として前記第1記述データを前記受信装置に対して送信する送信工程とを有することを特徴とする送信方法。
  9. セグメントを生成するセグメント生成工程をさらに有し、
    前記データ生成工程は、前記セグメント生成工程によるセグメントの生成に応じて、当該セグメントに対する取得要求のための所在情報が記述された記述データを生成することを特徴とする請求項に記載の送信方法。
  10. コンテンツが分割されたセグメントの取得要求を受信装置が行うための所在情報が記述された記述データを生成するデータ生成工程と、
    前記記述データの要求を前記受信装置から受信する受信工程と、
    前記記述データを要求する第1要求を前記受信装置から受信したことに応じて第1記述データを前記受信装置へ送信したあと、前記記述データを要求する第2要求を前記受信装置から受信した場合において、前記第1記述データが生成されてから前記第2要求の受信までの間に前記第1記述データとは異なる第2記述データが前記データ生成工程により生成されていない場合、所定の待機時間中に前記第2記述データが前記データ生成工程により生成されるか否かを判定する判定工程と、
    前記判定工程により前記所定の待機時間中に前記第2記述データが前記データ生成工程により生成されると判定された場合は、前記所定の待機時間中に生成される前記第2記述データを前記受信装置へ送信し、前記判定工程により前記所定の待機時間中に前記第2記述データが前記データ生成工程により生成されないと判定された場合は、前記第2要求に対してエラー応答を送信する送信工程とを有することを特徴とする送信方法。
  11. コンピュータを請求項1乃至のうち少なくとも何れかの送信装置の各手段として動作させるためのプログラム。
JP2012287237A 2012-12-28 2012-12-28 送信装置、送信方法、及びプログラム Active JP6116240B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012287237A JP6116240B2 (ja) 2012-12-28 2012-12-28 送信装置、送信方法、及びプログラム
US14/141,136 US10277652B2 (en) 2012-12-28 2013-12-26 Transmission apparatus, transmission method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012287237A JP6116240B2 (ja) 2012-12-28 2012-12-28 送信装置、送信方法、及びプログラム

Publications (3)

Publication Number Publication Date
JP2014131143A JP2014131143A (ja) 2014-07-10
JP2014131143A5 JP2014131143A5 (ja) 2016-02-12
JP6116240B2 true JP6116240B2 (ja) 2017-04-19

Family

ID=51018481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012287237A Active JP6116240B2 (ja) 2012-12-28 2012-12-28 送信装置、送信方法、及びプログラム

Country Status (2)

Country Link
US (1) US10277652B2 (ja)
JP (1) JP6116240B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6193569B2 (ja) * 2012-12-28 2017-09-06 キヤノン株式会社 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
US11778014B2 (en) * 2014-12-12 2023-10-03 Arris Enterprises Llc Throttling content download in adaptive HTTP live streaming
JP2016123097A (ja) * 2014-12-24 2016-07-07 沖電気工業株式会社 配信サーバ、配信方法、配信プログラム、及び配信システム
KR102018146B1 (ko) * 2015-04-08 2019-09-04 후지쯔 가부시끼가이샤 기지국, 단말기, 무선 통신 시스템, 기지국의 제어 방법 및 단말기의 제어 방법
JP6797755B2 (ja) * 2017-06-20 2020-12-09 キヤノン株式会社 撮像装置、撮像装置の処理方法およびプログラム
US20220212100A1 (en) * 2021-01-04 2022-07-07 Microsoft Technology Licensing, Llc Systems and methods for streaming interactive applications

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904922B1 (en) * 2000-04-07 2011-03-08 Visible World, Inc. Template creation and editing for a message campaign
JP4333870B2 (ja) * 2002-12-27 2009-09-16 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 配信システム、配信サーバ装置、及び配信プログラム
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9886503B2 (en) * 2007-12-27 2018-02-06 Sirius Xm Radio Inc. Method and apparatus for multiplexing audio program channels from one or more received broadcast streams to provide a playlist style listening experience to users
US20110035442A1 (en) * 2008-04-10 2011-02-10 Telefonaktiebolaget Lm Ericsson (Publ) Adaption of Metadata Based on Network Conditions
BRPI0923917B1 (pt) * 2008-12-31 2021-05-25 Apple Inc Método implementado por máquina, meio de armazenamento não transitório legível por máquina, aparelho, e sistema de processamento de dados para transmissão contínua em tempo real ou próximo ao tempo real
US20120066711A1 (en) * 2009-08-24 2012-03-15 Novara Technology, LLC Virtualized home theater service
TWI451279B (zh) * 2010-04-07 2014-09-01 Apple Inc 即時或接近即時串流傳輸之內容存取控制
JP5961174B2 (ja) * 2010-11-02 2016-08-02 テレフオンアクチーボラゲット エルエム エリクソン(パブル) メディア記述配信のための方法およびデバイス
US8583818B2 (en) * 2011-01-31 2013-11-12 Cbs Interactive Inc. System and method for custom segmentation for streaming video
KR20120114016A (ko) * 2011-04-06 2012-10-16 삼성전자주식회사 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
US9634863B2 (en) * 2011-11-11 2017-04-25 Kollmorgen Corporation Systems and methods for supporting two different protocols on a same physical connection
KR101666246B1 (ko) * 2012-03-12 2016-10-13 한국전자통신연구원 메타데이터 우선제공 증강방송 장치 및 방법
US9014277B2 (en) * 2012-09-10 2015-04-21 Qualcomm Incorporated Adaptation of encoding and transmission parameters in pictures that follow scene changes
WO2014106092A1 (en) * 2012-12-28 2014-07-03 Access Bio, Inc. Pipette
US9800638B2 (en) * 2013-11-04 2017-10-24 At&T Intellectual Property I, L.P. Downstream bandwidth aware adaptive bit rate selection

Also Published As

Publication number Publication date
JP2014131143A (ja) 2014-07-10
US10277652B2 (en) 2019-04-30
US20140188975A1 (en) 2014-07-03

Similar Documents

Publication Publication Date Title
JP5897134B2 (ja) モバイルマルチメディアリアルタイムトランスコーディングシステム、装置、記憶媒体、および方法
JP6116240B2 (ja) 送信装置、送信方法、及びプログラム
US7996538B2 (en) Information processing apparatus and content information processing method for transmitting content and event information to a client
CN108476332B (zh) 客户端、服务器、接收方法及发送方法
WO2019237447A1 (zh) 一种设置视频封面的方法和系统
CA3143824C (en) Special effect synchronization method, device, and storage medium
KR20140146004A (ko) 무선 통신 시스템에서 어플리케이션 데이터를 디스플레이하기 위한 방법 및 장치
WO2014207899A1 (ja) 通信装置および通信方法
WO2015077983A1 (zh) 在家庭网络中播放媒体的装置和方法
JP2009246904A (ja) 通信装置、通信方法、プログラム
JP6193569B2 (ja) 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
JP2015104075A (ja) メディア再生制御装置、メディア再生制御方法、及びプログラム
JP7154833B2 (ja) 通信装置、通信方法、およびプログラム
US10104422B2 (en) Multimedia playing control method, apparatus for the same and system
JP2023549726A (ja) アップリンクストリーミングを測定および監視するためのメトリック
JP6327809B2 (ja) 受信装置、制御方法及びプログラム
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
JP6890977B2 (ja) 送信装置、送信方法、およびプログラム
JP2020022106A (ja) 情報処理装置、情報処理方法、及びプログラム
JP7118764B2 (ja) 通信装置、制御方法、およびプログラム
WO2017071524A1 (zh) 多媒体资源的发布方法及装置
KR20160090521A (ko) 단말 협력 통신을 통한 스트리밍 제공 방법, 서버 및 시스템
JP2019219919A (ja) 通信装置、通信方法、およびプログラム
JP2012039401A (ja) 情報処理装置、コンテンツデータ決定方法、及びプログラム
JP2020141225A (ja) 送信装置、送信方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170321

R151 Written notification of patent or utility model registration

Ref document number: 6116240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151