JP2004312713A - データ送信装置 - Google Patents

データ送信装置 Download PDF

Info

Publication number
JP2004312713A
JP2004312713A JP2004083457A JP2004083457A JP2004312713A JP 2004312713 A JP2004312713 A JP 2004312713A JP 2004083457 A JP2004083457 A JP 2004083457A JP 2004083457 A JP2004083457 A JP 2004083457A JP 2004312713 A JP2004312713 A JP 2004312713A
Authority
JP
Japan
Prior art keywords
data
information
content data
file
reproduction control
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.)
Withdrawn
Application number
JP2004083457A
Other languages
English (en)
Inventor
Tadamasa Toma
正真 遠間
Yoshinori Matsui
義徳 松井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004083457A priority Critical patent/JP2004312713A/ja
Publication of JP2004312713A publication Critical patent/JP2004312713A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】 データ受信装置に対してコンテンツデータの適切な再生処理を実行させるデータ送信装置を提供する。
【解決手段】 データ送信装置100は、データ受信装置に対してコンテンツデータの適切な再生処理を実行させるものであって、そのデータ受信装置との間でコンテンツデータの伝送路の確立及び初期化を行い、その後、再生制御情報をMP4ファイルから取り出して、データ受信装置に送信するファイル解析部110及びRTSP処理部101と、ファイル解析部110を介してMP4ファイルからコンテンツデータを取得してパケット化するRTP作成部102と、RTP作成部102によりパケット化されたコンテンツデータを送信するRTP送出部103とを備える。
【選択図】 図1

Description

本発明は、動画像や音声、テキストなどのデジタルコンテンツデータをパケット化して伝送するデータ送信装置に関する。
近年、通信ネットワークの大容量化および伝送技術の進歩により、インターネット上でのPC(Personal Computer)向け動画配信サービスが普及してきた。また、無線網における受信端末の規格を定める国際標準化団体である3GPP(Third Generation Partnership Project)における規格としてTS26.234(Transparent end-to-end packet switched streaming service)が定められるなど、携帯端末においても動画配信サービスの拡大が見込まれる。音声、動画、静止画、およびテキストなどのメディアデータが蓄積及び配信される際には、メディアデータの再生および配信に必要なヘッダ情報とメディアデータとが多重化される。そのための多重化ファイルフォーマットとしてMP4が標準化された。MP4は、ISO/IEC JTC1/SC29/WG 11 (International Standardization Organization/International Engineering Consortium)において標準化された多重化ファイルフォーマットであり、3GPPのTS26.234においても採用されている。MP4を用いた動画配信サービスには2種類ある。
上記2種類の動画配信サービスのうちの1つの種類は、MP4ファイルを直接送受信するダウンロード型と呼ばれる方式である。現在のところ、無線端末上の動画配信ではこの方式が主流である。しかし、この動画配信サービスには、ファイルサイズが大きい長時間コンテンツの配信には適さない、また、早送りなどの特殊再生ができないといった欠点がある。
上記2種類の動画配信サービスのうちの他の1つの種類は、ストリーミング型と呼ばれる方式であり、ダウンロード型における問題点を解決する方式として、無線端末上でのサービスが開始されようとしている。ストリーミング型で使用されるMP4ファイルは、ダウンロード型のMP4ファイルにおいて多重化されるメディアデータに加えて、メディアデータをパケット化するためのヒントデータと呼ばれる情報が格納される。
ストリーミング型の動画配信サービスでは、MP4ファイル自体が配信されるのではなく、サーバ側がヒントデータを参照してメディアデータをパケット化し、パケット化されたメディアデータが端末に向けて配信される。なお、ヒントデータの枠組みについては、アップル社より開示されている(例えば、特許文献1参照。)。このように、ストリーミング型の動画配信サービスは、メディアデータ(コンテンツデータ)をパケット化して配信するため、長時間コンテンツの配信に適している。さらに、この動画配信サービスは、サーバがコンテンツの任意時間のデータを選択して配信することができるため、早送りや飛び込み再生などの特殊再生にも適している。
以下に、MP4ファイルを使用したストリーミング型の動画配信サービスについて詳細に説明する。
MP4では、ヘッダやメディアデータはBoxと呼ばれるオブジェクト単位で格納される。
図10は、Boxの構造を説明するための図である。Boxは、sizeフィールドと、typeフィールドと、versionフィールドと、flagsフィールドと、データフィールドとを含む。
sizeフィールドには、そのsizeフィールドも含めたBox全体のサイズが格納される。
typeフィールドには、Boxの識別子(通常はアルファベット4文字)が格納される。フィールド長は4バイトである。MP4ファイル内でのBoxの検索は、連続する4バイト分のデータがtypeフィールドの識別子と一致するかどうかを判定することにより行われる。
versionフィールドには、Boxのバージョン番号が格納される。flagsフィールドには、Box毎に設定されるフラグ情報が格納される。データフィールドには、ヘッダ情報やメディアデータが格納される。なお、versionフィールドとflagsフィールドは必須でないため、Boxによってはこれらのフィールドは存在しない。
以後、Boxの参照にはtypeフィールドの識別子を使用することとし、例えばその識別子が‘moov’であるBoxをmoovと呼ぶ。
図11は、MP4ファイルの構造を示すデータ構成図である。
MP4ファイルは、図11の(a)に示すように、ftyp,moov,及びmdatの3つのBoxから構成され、ftypがファイルの先頭に配置される。ftypは、MP4ファイルを識別するための情報を含む。mdatはメディアデータおよびヒントデータを格納する。ヒントデータとは、メディアデータをRTP(Real Time Transmission Protocol)パケット化して伝送するために必要な情報である。サーバはヒントデータを参照してメディアデータをRTPパケット化して配信する。なお、mdatに含まれる各メディア及びヒントデータはそれぞれ、トラックと呼ばれ、各トラックはトラックIDにより識別される。
また、MP4では、サンプルと呼ばれる単位でデータが取り扱われる。メディアトラックでは、ビデオやオーディオの1枚又は複数のフレームがサンプルに相当し、ヒントトラックでは、1つ以上のRTPパケットを作成するための情報がサンプルに相当する。
moovにはmdatの各トラックに含まれるサンプルについてのヘッダ情報が格納される。MP4ファイルにおいてmoovの使用は必須であり、その個数は1つである。図11の(b)に示すように、moov内にはBoxが階層的に配置されており、ファイル全体に共通なヘッダ情報はmvhdに格納される。さらに、オーディオ、ビデオ、および各メディアのトラックに関連するヒントトラックのヘッダ情報は、それぞれ別々のtrakに格納される。ここで、トラックの識別情報であるトラックIDはtrak内のtkhdによって示される。trakは、図11の(c)に示すように構成され、サンプルのサイズや復号時間、表示開始時間などの情報がstbl内の各Boxに格納される。
sttsには、サンプルの復号時間が格納される。即ち、sttsには、連続する2つのサンプル間における復号時間の差分値が格納されている。したがって、この差分値を加算することにより、各サンプルの復号時間を取得することができる。さらに、復号時間と表示時間が異なる際には、復号時間と表示時間との差分を格納するcttsと呼ばれるBoxが使用される。例えば、双方向予測を用いて符号化されたフレームでは復号時間と表示時間が異なるため、表示時間を求めるためにcttsが使用される。
また、トラックの途中から再生が開始(ランダムアクセス)されるときには、復号化の開始可能なサンプルを示す情報が必要になる。このためのBoxとしてstssがあり、stssにはランダムアクセス可能なサンプル(以降、シンクサンプルと呼ぶ。)の一覧が格納される。なお、stssが存在しない場合は、トラック内の全サンプルがランダムアクセス可能であることを示す。ここでは説明を省略するが、stblには、上記Boxの他にもサンプルのサイズを示すstszなど複数のBoxが格納される。
次に、ヒントデータの使用方法について図12を参照して説明する。
図12は、ヒントデータの使用方法を説明するための図である。
ここでは、サーバがビデオトラックの途中のサンプル(表示時間T)からRTPパケットを作成するときの手順について説明する。
(1) サーバはビデオのヒントトラック用のtrakを参照し、表示時間がTと一致、あるいはT近傍であるビデオトラックのサンプルに対するRTPパケット化情報が格納されたシンクサンプルを取得する。シンクサンプルの特定は、sttsおよびstssを参照し、表示時間を取得することにより行う。取得したシンクサンプルには、1つ以上のRTPパケットを作成するために必要な情報が格納される。
なお、シンクサンプルの表示時間は、先頭RTPパケットにより伝送が開始されるビデオトラックのサンプルの表示時間を示す。シンクサンプルは、それぞれのパケットがビデオトラックのどの部分のデータを伝送するかを、ビデオトラックのサンプル番号及びサンプル内のバイト位置により示す。例えば、i番目のRTPパケットは、K番目サンプルのLバイト目から、M番目サンプルのNバイト目までを伝送する。
(2) サーバは、ビデオトラック用のtrakを参照して、K番目からM番目までのサンプルの格納位置を取得する。
(3) サーバは、(2)で取得した格納位置を元に、K番目サンプルのLバイト目から、M番目サンプルのNバイト目までのデータを取得する。サーバは、その取得したデータに、RTPパケット化に必要な他の情報を設定してRTPパケットを作成する。
図13は、サーバから端末にメディアデータ(コンテンツデータ)がRTPパケットとして配信される手順を説明するための図である。
ここでは、MP4ファイルは蓄積装置に格納され、サーバと端末との間の再生制御にはRTSP(Real Time Transmission Protocol)が使用される。なお、蓄積装置はサーバの内部にあってもよいし、外部にあってもよい。
(1)まず、端末は、サーバに対して、RTSPを使用してコンテンツデータ(news.mp4)の送信を要求する。
(2)サーバは、news.mp4が利用できるかどうか確認し、利用できる際にはnews.mp4にアクセスする。
(3)サーバは、news.mp4のヒントトラックを解析し、端末へ送信するコンテンツデータを取得して、そのコンテンツデータからRTPパケットを作成する。
(4)サーバは、コンテンツデータを格納したRTPパケットを端末に対して送信する。
次に、サーバと端末の間で行われる再生制御の詳細について説明する。
図14は、サーバと端末と間の再生制御において交換されるRTSPメッセージの一例を示す図である。図中のc−>sは端末からサーバへのメッセージを示し、s−>cはサーバから端末へのメッセージを示す。
(1)端末は、サーバに対してDESCRIBE命令を用いてnews.mp4のコンテンツデータを要求する。
(2)サーバはnews.mp4が利用可能であると応答し、SDP(Session Description Protocol)によりnews.mp4に関する情報(news.mp4へのアクセス情報など)を送信する。ここで、SDPの内容の一部は、MP4ファイルのヒントトラック用trak及びmoov直下のudtaと呼ばれるBoxに格納されている。そこで、サーバは、上記一部の内容に残りの情報を付加することにより、SDPの内容を作成する。
(3)端末はサーバに対して伝送時のパラメータ設定を行う。
(4)サーバは端末に対して伝送時のパラメータを通知する。
このような(1)〜(4)に示すRTSPメッセージの送受信により、サーバと端末との間の伝送路の確立及び初期化が行われる。
(5)端末はサーバに向けてPLAY命令を発行し、news.mp4のコンテンツデータの送信開始を要求する。
(6)サーバはPLAY命令の応答として、送信を開始する旨のメッセージを返し、その後RTPパケットの送信が開始される。なお、サーバは、PLAY命令の応答を、RTPパケットの送信開始後に発行しても良い。
ここで、オーディオやビデオのメディアデータ(コンテンツデータ)は、メディア毎に異なる識別子を持ったRTPパケットにより伝送される。識別子には、RTPパケットのヘッダに含まれるSSRC(Synchronization Source)が使用される。また、オーディオやビデオのメディアデータを伝送するRTPパケットは、端末のそれぞれ異なるポートに送信されるため、ポート番号によりRTPパケットが伝送するメディアデータを識別しても良い。なお、オーディオのデータが2種類あるなど、同一メディアの複数のデータを送信する際にも、同様の方法によりRTPパケットが伝送するデータを識別することができる。
図14の(7)〜(10)は、ランダムアクセスが行われる際の手順を示す。この(7)〜(10)に挙げるメッセージは、端末のユーザがコンテンツデータの10秒目を視聴しているときに30秒目までスキップする場合の内容を示す。
(7)端末はサーバに対してデータの送信停止を要求する。
(8)サーバはデータの送信を停止する。
(9)端末は、PLAY命令の発行により、news.mp4の30秒目からのデータを要求する。
(10)サーバは、30秒から最後(60秒)までを送信する旨のメッセージをPLAY命令の応答として送信する。この後、30秒目からのコンテンツデータが端末に送信される。
(11)端末は、サーバに通信の終了手続きを促す。
(12)サーバは、通信の終了手続きを行う。
図15は、従来のデータ送信装置(サーバ)の構成を示すブロック図である。
データ送信装置は、ファイル解析部801と、RTP作成部802と、RTP送出部803と、RTSP処理部804とを備える。
RTSP処理部804は、データ受信装置(端末)に送信メッセージd806を送信するとともに、データ受信装置から受信メッセージd807を受信することにより、データ受信装置との間でRTSPを用いた再生制御を行う。RTSP処理部804は、受信メッセージd807を解析し、MP4ファイルのファイル名、格納場所、及び送信要求されている表示時間位置を含むRTSP要求データd808をファイル解析部801に出力する。
ファイル解析部801は、図示しない蓄積装置から、RTSP要求データd808に示されるMP4ファイルd801を取得する。次に、ファイル解析部801は、送信要求された表示時間位置に対応するサンプルを、ヒントトラックを解析することにより取得する。ファイル解析部801は、その取得したサンプルを、RTPパケットのヘッダの作成に必要な情報とともにパケット作成データd802としてRTP作成部802へ出力する。さらに、ファイル解析部801は、SDP、又は送信開始時の先頭RTPパケットに含まれるメディアデータの表示時間情報、を含むRTSP送出情報d805をRTSP処理部804に出力する。
RTP作成部802は、ファイル解析部801からパケット作成データd802を取得するとともに、図示しない装置から、RTPパケットのヘッダ情報であるパケットヘッダ情報d809を取得する。そして、RTP作成部802は、そのパケット作成データd802とパケットヘッダ情報d809とに基づいて、RTPパケットd803を作成してRTP送出部803に出力する。
RTP送出部803は、RTP作成部802から出力されたRTPパケットデータd803を取得し、これをRTPパケットd804としてデータ受信装置(端末)に送信する。
図16は、データ送信装置のファイル解析部801の動作を示すフロー図である。
ここでは、データ送信装置は、ビデオトラックのデータを、表示時間がTである部分のデータからRTPパケット化して送信する。また、ビデオトラックのトラックIDは1であり、ビデオトラック用のヒントトラックのトラックIDは3である。即ち、ファイル解析部801は、トラックID=3であるヒントトラックを参照することにより、トラックID=1であるビデオトラックのデータをRTPパケット化して送信する。
まず、ファイル解析部801は、トラックID=3であるトラックのstssおよびsttsを解析する(ステップS801)。この解析によりファイル解析部801は、表示時間がTと一致する、あるいはT以前で最もTに近いシンクサンプルを特定する(ステップS802)。なお、ファイル解析部801は、表示時間がT以降で最もTに近いシンクサンプルを特定しても良い。また、オーディオなどでは通常全てのサンプルがシンクサンプルであるためstssが存在しない。このようにstssが存在しない場合は、ファイル解析部801は、全てのサンプルをシンクサンプルとして扱う。
次に、ファイル解析部801は、stbl内の他のBoxを参照して、特定されたシンクサンプルのデータを取得する(ステップS803)。
さらに、ファイル解析部801は、取得したシンクサンプルを解析することにより、そのシンクサンプルにより作成されるRTPパケットで伝送されるトラックID=1のビデオトラックのサンプルを特定する(ステップS804)。
次に、ファイル解析部801は、トラックID=1であるトラックのtrakを解析し、ステップS804においてRTPパケット化の対象として特定されたサンプルのデータを取得する(ステップS805)。
また、ファイル解析部801は、ステップS802で特定したシンクサンプル以降にヒントトラックのサンプルがある場合には、そのサンプルを取得して、そのサンプルに基づいてステップS804,S805と同様の動作を行う。
以上では、単一のメディアデータを取得する手続きについて述べたが、オーディオとビデオなど複数のメディアを扱う際には、各メディアについて同様の処理が行われる。なお、各メディアトラックと、対応するヒントトラックとは、トラックIDにより関連付けられている。
データ受信装置は、上述のデータ送信装置から出力されたRTPパケットd804(符号化データ)を取得し、その符号化データをバッファと呼ばれるメモリに保持しながら、メモリ内の符号化データの復号化を行う。
ここで、バッファモデルと呼ばれるモデルが規定されている。このバッファモデルは、所定のレートで符号化データが流入する際に、所定のサイズのバッファを用意すれば、バッファが空になる(アンダーフロー)、あるいは溢れる(オーバーフロー)ことなしに復号化が行えることを保証する。
バッファモデルは、MPEG−4 AVC(Advanced Video Coding)やMPEG−4(Moving Picture Expert Group Visual)などの符号化方式ごとに定められており、符号化データはこのバッファモデルに従って符号化される。
図17は、符号化データの流入開始からの経過時間(横軸)と、データ受信装置のバッファの占有量(縦軸)との関係を示す図である。
バッファ占有量とは、ある時間にバッファに存在する符号化データのデータ量である。例えばこの図17に示すように、傾きRを持つビットレートによりバッファに符号化データが流入する。データ受信装置は、時刻t1にピクチャP1に対して復号化処理を開始し、続くピクチャをそれぞれt2,t3,…の時刻で復号化する。即ち、それぞれのピクチャの復号化時刻(t1,t2,…)において、復号化対象のピクチャに相当するデータがバッファから引き抜かれる。例えば、時刻t2において復号化対象のピクチャのデータがバッファから引き抜かれることにより、その復号化対象ピクチャのデータ量Ps2だけバッファ占有量が少なくなる。
ここで、バッファへの符号化データの流入が開始されてから復号化が開始されるまでの時間をプリバッファリング時間と呼ぶ。図17に示す動作をデータ受信装置が行う場合、プリバッファリング時間はt1である。データ受信装置は、バッファモデルに基づき、符号化時に定められたプリバッファリング時間を守って復号化を開始すれば、バッファ占有量がビデオ符号化規格(MPEG−4など)により規定されたバッファサイズを超えることなく、且つ、ピクチャの復号化時刻において復号化対象ピクチャのデータが完全に揃っている状態で、符号化データの復号化を継続することができる。つまり、図17に示すように、バッファ占有量は常にゼロ以上バッファサイズ以下の状態に保たれる。
特開2001−197120号公報
しかしながら、上記従来のデータ送信装置では、データ受信装置に伝えるべき、RTPパケットd804の再生に必要な情報が不足しているため、RTPパケットd804により伝送される符号化データを、データ受信装置に対して適切に再生させることができないという問題がある。
データ受信装置は、符号化データの途中のピクチャ(5枚目のピクチャP5)から復号化を開始する場合、バッファのアンダーフロー及びオーバーフローを防ぐため、ピクチャP5のデータをバッファから引き抜いた後に、バッファ占有量をオフセットos5にしておく必要がある。ところが、データ受信装置は、プリバッファリング時間として常に一定時間の経過後に復号を開始するため、ピクチャP5のデータの引き抜き後、バッファ占有量をオフセットos5よりも少なくしてしまう場合がある。
図18は、プリバッファリング時間に応じて異なるバッファ占有量の時間的な変化を示す図である。
データ受信装置は、図18の(a)に示すように、プリバッファリング時間dbの経過後にピクチャP5の復号化を開始すると、バッファ占有量がオフセットos5となるため、ピクチャP6以降のピクチャも復号化時刻において正常に復号化することができる。
ところが、データ受信装置は、図18の(b)に示すように、プリバッファリング時間daの経過後にピクチャP5の復号化を開始すると、バッファ占有量がゼロとなるため、ピクチャP6の復号化時刻においてピクチャP6のデータが揃っておらず、ピクチャP6を復号化することができない。このため、データ受信装置は、ピクチャP6のデータが揃うまで復号化動作を停止したり表示を停止したりする。
このように、バッファのオーバーフロー及びアンダーフローを防ぐ適切なプリバッファリング時間は、復号化の開始対象となるピクチャによって異なる。データ受信装置は、このようなピクチャごとに適切なプリバッファリング時間など、適切な再生に必要な情報を得ることができないため、再生中にピクチャの表示を停止したり、復号化開始までの待ち時間を必要以上に長くしてしまう。
本発明は、かかる問題に鑑みてなされたものであり、データ受信装置に対してコンテンツデータの適切な再生処理を実行させるデータ送信装置を提供することを目的とする。
上記目的を達成するために、本発明のデータ送信装置は、デジタル著作物たるコンテンツデータをファイルから取り出して受信装置に対して送信するデータ送信装置であって、前記ファイルは、前記コンテンツデータと、前記コンテンツデータの再生処理に用いられる再生制御情報とを多重化して構成され、前記データ送信装置は、前記受信装置との間でコンテンツデータの伝送路の確立及び初期化を行う前置処理手段と、前記前置処理手段による伝送路の確立及び初期化の後、前記再生制御情報の少なくとも一部を前記ファイルから取り出して、前記受信装置に送信する制御送信手段と、前記ファイルからコンテンツデータの少なくとも一部を取得してパケット化するパケット生成手段と、前記パケット生成手段によりパケット化されたコンテンツデータの少なくとも一部を送信するコンテンツ送信手段とを備えることを特徴とする。
これによって、前置処理手段による伝送路の確立及び初期化の後、再生制御情報の少なくとも一部がファイルから取り出されて受信装置に送信されるため、受信装置は、コンテンツ送信手段から送信されたコンテンツデータ、及び制御送信手段から送信された再生制御情報を受信すると、その再生制御情報を用いてコンテンツデータを適切に再生処理することができる。
また、前記ファイルに多重化された再生制御情報は、前記コンテンツデータに含まれる複数のデータ単位ごとに、当該データ単位からの再生に用いられる再生制御単位情報を含んでテーブル状に構成され、前記制御送信手段は、前記受信装置からの要求に応じたデータ単位に関連する前記再生制御単位情報を、前記ファイルの再生制御情報から取り出して送信し、前記パケット生成手段は、前記受信装置からの要求に応じたデータ単位からの前記コンテンツデータを取得してパケット化することを特徴としても良い。
これにより、受信装置からの要求に応じたデータ単位からのコンテンツデータがパケット化されて送信されるとともに、そのデータ単位に関連する再生制御単位情報も制御送信手段から送信されるため、受信装置は、自らが要求したコンテンツデータの一部分を、再生制御単位情報を用いて、その一部分に含まれる先頭のデータ単位から適切に再生処理することができる。
また、前記再生制御単位情報は、前記コンテンツ送信手段から送信されて前記受信装置に受信されるコンテンツデータに対して、復号処理を開始すべきタイミングを知らせる内容を示すことを特徴としても良い。例えば、前記再生制御単位情報は、前記タイミングを知らせる内容として、前記受信装置によるコンテンツデータの受信開始から前記復号処理の開始までの時間を示す。又は、前記再生制御単位情報は、前記タイミングを知らせる内容として、前記受信装置によって蓄積されるコンテンツデータのデータ量を示す。
これにより、コンテンツデータを受信してバッファへの蓄積を開始した受信装置は、再生制御単位情報を用いることで、そのバッファに蓄積されるコンテンツデータに対して復号処理を開始すべきタイミングを知ることができ、バッファのオーバーブローやアンダーフローの発生を防いで、その蓄積されるコンテンツデータの再生処理を適切に行うことができる。また、再生制御単位情報が時間を示すときには、受信装置は受信開始からの時間を計時することにより上記タイミングを知ることができ、再生制御単位情報がデータ量を示すときには、受信装置はバッファに蓄積されるデータ量に基づいて上記タイミングを知ることができる。
また、前記制御送信手段は、前記再生制御単位情報の示すデータ量を、前記受信装置によるコンテンツデータの受信開始から前記復号処理の開始までの時間に変換し、前記変換された再生制御単位情報を送信することを特徴としても良い。ここで、前記制御送信手段は、前記再生制御単位情報を、前記コンテンツ送信手段においけるコンテンツデータの伝送状況に応じて変換する。
これにより、再生制御単位情報の示すデータ量が時間に変換されて受信装置に通知されるため、バッファに蓄積されるデータ量を把握不可能な受信装置であっても適切に上記タイミングを知ることができる。また、コンテンツデータの伝送状況に応じて上記変換が行われる場合には、その伝送状況に影響されることなく適切な時間を受信装置に通知することができる。例えばコンテンツデータの送信速度が低下したときには、その時間が長くなるように変換し、適切な時間を受信装置に通知することができる。
また、前記コンテンツ送信手段は、伝送路の状況に基づいて、コンテンツデータの送信速度を変化させることを特徴としても良い。
これにより、受信装置は安定した品質でコンテンツデータを再生することができる。
また、前記コンテンツデータは、複数の画像を含んで構成される動画像データであって、前記再生制御単位情報は、当該データ単位の先頭の画像から正しい復号処理結果が得られるか否かを示すことを特徴としても良い。又は、前記コンテンツデータは、複数の画像を含んで構成される動画像データであって、前記再生制御単位情報は、当該データ単位の先頭の画像から復号処理が開始された場合に、最初に正しい復号処理結果が得られる部位を示すことを特徴としても良い。
これにより、データ送信装置からコンテンツデータを受信した受信装置は、不完全に復号処理される画像からコンテンツの内容を出力するか、正しく復号処理される画像からコンテンツの内容を出力するかを選択することができる。
また、前記コンテンツデータは、連続する複数の画像から構成されるシーンを前記データ単位として含む動画像データであって、前記再生制御情報は、前記各シーンを構成する画像を復号化する際の初期化に要する情報を示すことを特徴としても良い。
これにより、例えばクリップ再生のように異なるシーンの画像を順に受信装置が要求したときには、データ送信装置は各シーンとともに、それらに関連する再生制御単位情報を送信するため、受信装置は再生制御単位情報を用いて各シーンごとに適切に初期化を行い、各画像を表示することができる。
また、前記コンテンツデータは、複数の画像を含んで構成される動画像データであって、前記再生制御情報は、前記複数の画像のうちのランダムアクセス可能な画像の周期を示すことを特徴としても良い。
これにより、再生制御情報を受信した受信装置は、その再生制御情報に基づいてコンテンツデータのランダムアクセス可能な部位を特定することができ、受信装置はそれらの部位から適切に再生処理を行うことができる。
なお、本発明は、上記データ送信装置によってコンテンツデータを送信するデータ送信方法やプログラム、そのプログラムを格納する記憶媒体として実現することもできる。
本発明のデータ送信装置は、データ受信装置に対してコンテンツデータの適切な再生処理を実行させることができるという作用効果を奏する。
(実施の形態1)
以下、本発明の第1の実施の形態におけるデータ送信装置について、図面を参照しながら説明する。
図1は、本発明の実施の形態1に係るデータ送信装置の構成を示すブロック図である。
本実施の形態に係るデータ送信装置100は、例えばプリバッファリング時間などの適切な再生に必要な情報(再生制御情報)をMP4ファイルから取り出してデータ受信装置に送信することにより、そのデータ受信装置に対して適切な再生処理を実行させるものである。本実施の形態に使用されるMP4ファイルは、オーディオ、ビデオ、又はテキストのメディアデータと、ヒントデータとが多重化されたものであって、上記再生制御情報はそのヒントデータのヘッダに多重化されている。なお、本実施の形態において使用されるMP4ファイルは、MPEG−4 AVCや、MPEG−4 Visual、H.263などの符号化方式で符号化されるビデオデータを示す。
このようなデータ送信装置100は、ファイル解析部110と、RTSP処理部101と、RTP作成部102と、RTP送出部103と、ファイル作成部104とを備える。
ファイル作成部104は、コンテンツデータのストリームを取得して、MP4ファイルを作成し、そのMP4ファイルを蓄積装置に格納する。
RTSP処理部101は、データ受信装置に送信メッセージd107を送信するとともに、データ受信装置から受信メッセージd108を受信することにより、データ受信装置との間でRTSPを用いた再生制御を行う。ここで送信メッセージd107には、ファイル解析部110から取得したRTSP送出情報d105及び再生パラメータ情報d110の少なくとも一方が含まれる。RTSP処理部101は、受信メッセージd108を解析し、MP4ファイルのファイル名、格納場所、及び送信要求されている表示時間位置を含むRTSP要求データd101をファイル解析部110に出力する。
ファイル解析部110は、MP4ファイルを解析してRTPパケットの作成に必要なデータや、RTSPの通信に必要なデータを作成するものであって、RTP解析部112と、情報取得部111と、再生解析部113と、変換部114とを備える。
RTP解析部112は、情報取得部111を介してRTSP要求データd101を取得し、MP4ファイルのヒントトラックを解析することにより、そのRTSP要求データd101に対応するサンプルを含むサンプルデータd102を取得する。さらに、RTP解析部112は、その取得したサンプルデータd102を情報取得部111に出力し、サンプルデータd102の先頭にあるサンプルのサンプル番号を含むサンプル番号情報d103を再生解析部113に出力する。サンプル番号とは、サンプルを識別するための番号である。例えば、トラックの各サンプルに対して、先頭のサンプルから順にサンプル番号1,2,3…が割り当てられる。なお、サンプル番号情報d103は、ヒントトラックやメディアトラックのトラックIDを含んでいても良い。
情報取得部111は、RTP解析部112からサンプルデータd102を取得する。情報取得部111は、その取得したサンプルデータd102と、RTPパケットのヘッダの作成に必要な情報とを、パケット作成データd104としてRTP作成部102に出力する。さらに、情報取得部111は、サンプルデータd102に基づいて、シーケンス番号、タイムスタンプ、SDP、又はRTPパケットの送信開始時に先頭に含まれるメディアデータの表示時間情報、などを含むRTSP送出情報d105を作成してRTSP処理部101に出力する。
再生解析部113は、RTP解析部112からサンプル番号情報d103を取得する。再生解析部113は、その取得したサンプル番号情報d103の示すサンプル番号のサンプル以降の各サンプルに関する再生制御情報d109を、MP4ファイルのヒントトラックから取得する。そして、再生解析部113は、取得した再生制御情報d109を変換部114に出力する。再生制御情報d109は、サンプル番号情報d103の示すサンプル番号のサンプルからの再生処理がデータ受信装置側での適切に行われるための情報である。例えば、この再生制御情報d109は、データ受信装置のバッファでオーバーフローやアンダーフローが生じないような適切なプリバッファリングが行われるためのプリバッファリング情報である。
変換部114は、再生解析部113から取得した再生制御情報d109をRTSPのパラメータに変換して再生パラメータ情報d110を生成し、これをRTSP処理部101に出力する。
RTP作成部102は、ファイル解析部110からパケット作成データd104を取得するとともに、RTPパケットのヘッダ情報であるパケットヘッダ情報d111を図示しない装置から取得する。なお、このパケットヘッダ情報d111は、シーケンス番号の初期値などを含む。そして、RTP作成部102は、パケット作成データd104及びパケットヘッダ情報d111に基づいて、RTPパケットd112を作成する。
RTP送出部103は、RTP作成部102で作成されたRTPパケットd112をデータ受信装置に送信する。
このような本実施の形態のデータ送信装置100は、例えばビデオの途中からのデータを送信するようにデータ受信装置から要求されたときには、ヒントトラック用のstssを参照する。そしてデータ送信装置100は、ヒントトラックのシンクサンプルの中から、データ受信装置の要求に対して最も適当なサンプルを特定し、その特定したサンプル以降のサンプルに基づいて、ビデオデータのRTPパケットを生成して送信する。表示時間Tの部分からのデータ(RTPパケット)がデータ受信装置から要求された場合には、データ送信装置100は、表示時間がTと等しい、又はT以前で最もTに近いヒントトラックのシンクサンプルを特定する。なお、データ送信装置100は、表示時間がT以降で最もTに近いシンクサンプルを特定しても良い。
さらに本実施の形態に係るデータ送信装置100は、ヒントトラックのシンクサンプルに基づいて1つ以上のRTPパケットを作成するときには、先頭のRTPパケットにより最初に伝送されるビデオトラックのサンプルに対する再生パラメータ情報d110を、送信メッセージd107としてデータ受信装置に送信する。このようなデータ送信装置100からRTPパケットを受信したデータ受信装置は、その再生パラメータ情報d110(再生制御情報d109)に基づいて、その受信したRTPパケットに対して適切な再生を行うことができるのである。
ここで、本実施の形態のデータ送信装置100が取り扱うMP4ファイルの構造について説明する。
MP4ファイルは、再生制御情報としてプリバッファリング情報を含む。再生制御情報は、各サンプルからの再生処理がデータ受信装置によって適切に行われるための情報である。プリバッファリング情報は、各サンプルからのプリバッファリングが適切に行われるための情報であって、ヒントトラック用のtrakのstblの直下に配置されるstsp(SyncSample To Prebuf Box)に、テーブル構造となって格納される。具体的にプリバッファリング情報は、各サンプル(ピクチャ)に応じて、受信開始から復号開始までのプリバッファリングに必要な時間(プリバッファリング必要時間)や、受信開始から復号開始までのプリバッファリングに必要なデータ量(プリバッファリング必要データ量)を示す。
図2は、stspに格納されたプリバッファリング情報の内容の一例を示すデータ内容表示図である。
プリバッファリング情報D109は、図2の(a)に示すように、ヒントトラックのシンクサンプルのサンプル番号(シンクサンプル番号)と、そのサンプル番号のシンクサンプルに対応するプリバッファリング必要データ量とを含む。プリバッファリング必要データ量は、これに対応するシンクサンプルに基づいて作成されたRTPパケットからデータ受信装置による受信が開始された場合に、その受信開始から復号開始までにデータ受信装置のバッファに蓄積が必要なデータ量を示す。
例えば、データ受信装置は、サンプル番号1のシンクサンプルに基づいて作成されたRTPパケットd112から受信を開始するときには、RTPパケットd112を15000バイトまで受信してから復号化を開始する。なお、プリバッファリング必要データ量が、RTPなどの伝送プロトコルに依存することがないように、そのプリバッファリング必要データ量を、パケットに含まれるビデオやオーディオの符号化データの量としても良い。
図2の(b)は、上述のようなプリバッファリング情報D109を格納するstspのシンタックスの一例を示す図である。図2中のsync _sample _numberはシンクサンプルのサンプル番号を示し、prebuf_data _byteは、プリバッファリング必要データ量を示す。
図3は、stspに格納されたプリバッファリング情報の内容の他の例を示すデータ内容表示図である。
プリバッファリング情報D109は、図3の(a)に示すように、ヒントトラックのシンクサンプルのサンプル番号(シンクサンプル番号)と、そのサンプル番号のシンクサンプルに対応するプリバッファリング必要時間とを含む。
例えば、データ受信装置は、サンプル番号1のシンクサンプルに基づいて作成されたRTPパケットd112から受信を開始したときには、その受信開始から1.875(s)経過後にRTPパケットd112の復号化を開始する。言い換えれば、送信レートが64000(bps)である場合、データ受信装置は、64000×1.875/8=15000バイトのデータがバッファに蓄積されたときに、RTPパケットd112の復号化を開始する。
図3の(b)は、上述のようなプリバッファリング情報D109を格納するstspのシンタックスの一例を示す図である。図3中のsync _sample _numberはシンクサンプルのサンプル番号を示し、prebuf_periodはプリバッファリング必要時間を示す。
なお、シンクサンプルのプリバッファリング情報を示すことができるのであれば、そのプリバッファリング情報を他の方法によりMP4ファイルに格納してもよい。例えば、サンプルが参照するサンプルエントリのインデックス番号をSample to Chunk Box(’stsc’)を用いて示すのと同様に、プリバッファリング情報をstbl内のBoxにおけるテーブルデータのエントリとして格納し、シンクサンプルと前記エントリのインデックス番号とを関連付ける。
図4は、データ送信装置100のファイル解析部110の動作を示すフロー図である。なお、再生制御情報d109をプリバッファリング情報として以下説明する。
ここでは、データ送信装置100は、ビデオトラックのデータを、表示時間がTである部分のデータからRTPパケット化して送信する。また、ビデオトラックのトラックIDは1であり、ビデオトラック用のヒントトラックのトラックIDが3である。即ち、ファイル解析部110は、トラックID=3であるヒントトラックを参照することにより、トラックID=1であるビデオトラックのデータをRTPパケット化して送信する。なお、ここではビデオデータについて説明するが、オーディオ、あるいはテキストデータについてもプリバッファリング情報を使用しても良い。
まず、ファイル解析部110は、トラックID=3であるトラック(ヒントトラック)のstbl(stssおよびstts)を解析する(ステップS101)。この解析によりファイル解析部110は、表示時間がTと一致する、又はT以前で最もTに近いシンクサンプルを特定する(ステップS102)。次に、ファイル解析部110は、stbl内の他のBoxを参照して、特定されたシンクサンプルのデータを取得する(ステップS103)。さらに、ファイル解析部110は、取得したシンクサンプルを解析することにより、そのシンクサンプルにより作成されるRTPパケットによって伝送されるトラックID=1のビデオトラックのサンプルを特定する(ステップS104)。
次に、ファイル解析部110は、トラックID=3であるヒントトラックのstspを参照することにより、ステップS103で特定したシンクサンプル(トラックID=3)に基づいてRTPパケット化される先頭のRTPパケット(ピクチャ)に対するプリバッファリング情報d109を取得する(ステップS105)。
プリバッファリング情報d109を取得したファイル解析部110は、そのプリバッファリング情報d109をRTSPのパラメータに変換して、再生パラメータ情報d110を生成する(ステップS106)。
その後、ファイル解析部110は、トラックID=1であるビデオトラックのtrakを解析し、ステップS104においてRTPパケット化の対象として特定されたサンプルを取得する(ステップS107)。
また、ファイル解析部110は、ステップS102で特定したシンクサンプル以降のヒントトラックのサンプルについては、そのサンプルのデータを取得し、続いてステップS104,S107と同様の動作を行う。
なお、データ送信装置100は、プリバッファリング情報の取得処理(ステップS105)を、シンクサンプルの取得(ステップS103)前に行っても良く、ビデオトラックのサンプルの取得(ステップS107)後に行っても良い。
図5は、プリバッファリング情報の取得処理(図4のステップS105)の詳細な動作を示すフロー図である。
なお、stspは、図2の(b)に示すシンタックスで表され、図4のステップS103で特定されたヒントトラックのシンクサンプルのサンプル番号がNであると想定する。
まず、ファイル解析部110は、データを読み出すためのポインタを、stspのentry_countフィールドの先頭にセットし、カウント値を0にセットする(ステップS201)。
次に、ファイル解析部110は、stspに含まれるエントリ数Mを取得し(ステップS202)、ポインタを4バイト分進める(ステップS203)。
その後、ファイル解析部110は、カウント値に1を加算し(ステップS204)、シンクサンプルのサンプル番号(sync_number)を取得する(ステップS205)。ファイル解析部110は、さらにポインタを4バイト分進める(ステップS206)。
ファイル解析部110は、ステップS105で取得したシンクサンプルのサンプル番号(sync_number)がNと等しいか否かを判定する(ステップS207)。Nと等しければ(ステップS207のYes)、ファイル解析部110は、サンプル番号がNであるシンクサンプルに対応するプリバッファリング情報d109を取得する(ステップS208)。等しくない場合は(ステップS207のNo)、ファイル解析部110は、カウント値がエントリ数Mよりも小さいか否かを判定する(ステップS209)。ここで、ファイル解析部110は、カウント値がエントリ数Mよりも小さければ(ステップS209のYes)、ステップS204〜S207の処理を繰り返し実行する。一方、カウント値がエントリ数M以上であるときには(ステップS209のNo)、ファイル解析部110は、サンプル番号Nのシンクサンプルに対応するプリバッファリング情報d109を取得することができず、予め設定されたデフォルト値を取得し、そのデフォルト値をプリバッファリング情報d109として使用する(ステップS210)。
図6は、本実施の形態におけるデータ送信装置100とデータ受信装置との間で交換されるRTSPメッセージの一例を示す図である。
データ送信装置100は、(1)〜(5)に示すように、データ受信装置との間の伝送路の確立及び初期化を行った後、プリバッファリング情報d109を再生パラメータ情報d110に変換し、これをRTSPのPLAY命令の応答としてデータ受信装置に送信する。例えば図6に示すように、データ送信装置100は、プリバッファリング必要時間を示すプリバッファリング情報d109を、3GPP TS 26.234規格により規定されたx-initprebufperiodといった再生パラメータ情報d110に変換し、その再生パラメータ情報d110を送信メッセージd107に含めて送信する。
図6の(6)で送信される再生パラメータ情報d110について、具体的に説明する。
例えば、図2の(a)に示すプリバッファリング情報D109がstspに格納されている場合、データ送信装置100は、サンプル番号1のシンクサンプルに対応するプリバッファリング情報d109として「プリバッファリング必要データ量15000バイト」を取得する。データ送信装置100は、RTPパケットの伝送レートが64000bpsであって、タイムスケールが90000であると、その取得したプリバッファリング情報d109を90000×15000×8/64000=168750の再生パラメータ情報d110(x-initprebufperiod)に変換する。
図6の(10)で送信される再生パラメータ情報d110について、具体的に説明する。
例えば、データ送信装置100は、ビデオトラックの表示時間が30秒の位置にあるサンプルから送信を開始する場合、サンプル番号300のシンクサンプルに対応するプリバッファリング情報d109として「プリバッファリング必要データ量9000」を取得する。データ送信装置100は、RTPパケットの伝送レートが64000bpsであって、タイムスケールが90000であると、その取得したプリバッファリング情報d109を90000×9000×8/64000=101250の再生パラメータ情報d110(x-initprebufperiod)に変換する。
なお、図6に示す例では、データ送信装置100は、PLAY命令の応答として再生パラメータ情報d110(プリバッファリング情報)を送信したが、コンテンツ(例えばビデオ)の先頭からRTPパケットの送信を開始する場合、再生パラメータ情報d110をSDPに格納して送信しても良い。また、データ送信装置100は、PLAY命令の応答としてではなく、RTSP規格における別の命令や、新規に作成された命令などに対する応答として再生パラメータ情報d110を送信しても良い。
ここで、上述のようにデータ送信装置100がstspからプリバッファリング情報を取得する代わりにデフォルト値を用いる場合、そのデフォルト値は、プリバッファリング必要データ量として、例えばバッファサイズの3分の2に相当するデータ量を示す。
例えば、MPEG−4 Visualの場合には、VOL(Video Object Layer)内にプリバッファリング情報が示されない際には、規格により決められたバッファサイズの3分の2に相当するデータ量の符号化ビデオデータをプリバッファリングしてから復号化を開始することが規定されている。そこで、データ送信装置100は、バッファサイズの3分の2に相当するデータ量をデフォルト値として使用する。
このように本実施の形態のデータ送信装置100は、プリバッファリング情報d109を再生パラメータ情報d110に変換し、データ受信装置に対して送信するため、データ受信装置はその変換されたプリバッファリング情報d109に基づいて、RTPパケットの適切な復号開始時間を特定することができる。その結果、データ受信装置は、例えば、データ送信装置100からRTPにより送信されたビデオデータを途切れなく再生することができる。
ここで、MPEG−4 AVC及びMPEG−4 Visualのそれぞれの場合におけるファイル作成部104の動作について詳細に説明する。
MPEG−4 AVCでは、ビデオデータのストリーム内に、SEI(Supplemental Enhancement Information)と呼ばれる復号化のための補助情報を入れることができる。SEIは、復号化において直接必要はないが、復号化を行う際の手助けとなる情報であり、例えばプリバッファリング必要時間やランダムアクセスに関する情報を示すことができる。
特にプリバッファリング情報を示すSEIは、Buffering period SEIと呼ばれ、Buffering period SEI直後のピクチャのデータがMPEG−4 AVCの復号化バッファに流入開始してから、そのピクチャの復号化を開始するまでの時間長が格納される。
即ち、ファイル作成部104は、ストリームに含まれるBuffering period SEIを参照して、上述のようなstspを有するMP4ファイルを作成する。
例えば、Buffering period SEIが、ピクチャNの復号化開始までの時間長として1秒を示し、復号開始まで時間の算出基準となるレートが64000bpsである場合について、以下説明する。
この場合、64000×1/8=8000バイト分のMPEG−4 AVCのビデオデータを受信してからピクチャMの復号化が開始される。ここで、8000バイト分のビデオデータを伝送するために必要なRTPパケットの個数はMP4ファイルのヒントトラックを作成する際に決定されるため、ファイル作成部104は、8000バイトに、RTPパケットのヘッダのサイズの総和を加算する。そしてファイル作成部104は、その加算結果を、プリバッファリング必要データ量(プリバッファリング情報)としてstspに格納する。例えば、20個のRTPパケットで8000バイトのビデオデータが伝送され、RTPパケットのヘッダサイズが12バイトとすると、RTPパケットのヘッダのサイズの総和は12×20=240バイトとなる。その結果、8000+240=8240バイトがプリバッファリング必要データ量となる。
なお、MPEG−4 AVCのビデオデータのストリームにBuffering period SEIが使用されない場合には、ファイル作成部104は、ピクチャのプリバッファリング情報をストリームとは別に取得する。又は、ファイル作成部104は、そのストリームに含まれる各ピクチャのサイズ及び復号化時間などからプリバッファリング情報を算出する。
一方、MPEG−4 Visualでは、ビデオデータのストリームのVOL(Video Object Layer)内のパラメータが、VOL直後のVOP(Video Object Plane)データをバッファから引き抜く直前のバッファ占有量を示す。即ち、このバッファ占有量は、プリバッファリング必要データ量を示す。そこで、ランダムアクセス可能なピクチャの前にVOLが配置されていれば、ファイル作成部104は、そのVOL内のパラメータから、VOL直後のピクチャに対するプリバッファリング必要データ量(プリバッファリング情報)を算出する。
以上、本発明に係るデータ送信装置100ついて上記実施の形態を用いて説明したが、本発明に係るデータ送信装置100はこれらに限定されるものではない。
例えば、本実施の形態では、図3に示すように、プリバッファリング必要時間を示すプリバッファリング情報のみをstspに含めたが、送信レートが変化する場合があるため、そのプリバッファリング必要時間を導出するための基準とした送信レートをstsp内に格納しても良い。またMP4ファイルの別の場所に格納しても良い。
RTPパケットなどのパケットデータがネットワークを介して送信される場合、ネットワークにおける送信レートは必ずしも一定とならず、揺らぎが生ずる。例えば、データ送信装置100が64000bpsの送信レートでRTPパケットを送信したとしても、ネットワークが混雑してくると、その送信レートが60000bpsに下がることがある。
このような状況でRTPパケットを受信したデータ受信装置は、プリバッファリング必要時間が1秒として設定されていると、プリバッファリングに必要なデータ量が64000ビットでありながら、バッファ占有量が60000ビットに達した時点で復号化を開始してしまう。
そこで、上述のように送信レートがstspに格納されていれば、データ送信装置100はその送信レートもデータ受信装置に伝えることで、データ受信装置に適切なプリバッファリング必要時間を特定させることができる。
また、本実施意の形態では、stspにシンクサンプル番号のフィールドを設けたが、これを省いても良い。
また、本実施の形態では、RTPパケットの送信レートを一定にしたが、コンテンツが送信されている最中に、ネットワークの輻輳、又はパケットロスの発生頻度など伝送路の状況が変化する場合には、その状況の変化に応じてRTPパケットの送信レートを積極的に変化させても良い。この場合、データ送信装置100は、stspに格納されているプリバッファリング情報D109からプリバッファリング必要データ量を取得し、送信時の送信レートに応じてプリバッファリング必要時間を計算する。
例えば、データ送信装置100は、PLAY命令により要求されたビデオデータに対するプリバッファリング情報d109として「プリバッファリング必要データ量15000バイト」を取得すると、送信レート64000bpsに基づいて、プリバッファリング必要時間は15000×8/64000=1.875秒であると判断する。ところが、データ送信装置100は、ネットワークが混雑しているため、PLAY命令により要求されたビデオデータの送信開始時に、主体的又は必然的に、上記送信レートを60000bpsに変更する。これにより、データ送信装置100は、プリバッファリング必要時間が15000×8/60000=2.0秒であるとして上記判断を改める。そして、データ送信装置100は、PLAY命令への応答として、「プリバッファリング必要時間2.0秒」を示すプリバッファリング情報d109を再生パラメータ情報d110に変換してデータ受信装置に送信する。
ただし、伝送路においてパケットロスが発生したときには、上述のようにデータ受信装置に伝えるプリバッファリング必要時間を単に変更しただけでは、データ受信装置側でのバッファのオーバーフロー及びアンダーフローを防ぐことができない場合がある。
例えば、復号化の開始時には1〜N番目のN個のRTPパケットが必要とされるにも関わらず、パケットロスの発生により、データ受信装置は、データ送信装置100から通知されたプリバッファリング必要時間内において、1からN−2番目のRTPパケットしか受信しないことがある。このとき、データ受信装置がプリバッファリング必要時間を経過した時点で復号化を開始すると、N−1およびN番目のRTPパケットが不足しているため、バッファのアンダーフローが発生する。
そこで、データ送信装置100は、復号化開始までに受信することが必要なRTPパケットを特定するための情報、例えばシーケンス番号を、プリバッファリング情報d109としてデータ受信装置に送信しても良い。RTPパケットのヘッダには、シーケンス番号と呼ばれるパケットの識別番号が含まれる。RTPパケットのヘッダに含まれるシーケンス番号は、データ送信装置100から送信された直前のRTPパケットのヘッダに含まれるシーケンス番号に1を加算した値である。そこで、1番目〜N番目のRTPパケットの受信が復号化開始までに必要な場合、それらのRTPパケットのシーケンス番号を1〜Nとすると、データ送信装置100は、プリバッファリング情報d109として、シーケンス番号1〜Nを示す情報をデータ受信装置に伝える。
また、本実施の形態では、MP4ファイルのヒントトラック(ヒントトラック用のtrak)にプリバッファリング情報D109を再生制御情報として含めたが、それ以外にも、ピクチャの復号化を終了してから表示するまでの待ち時間を示す情報や、コンテンツの特定の区間を復号化する際に必要となるバッファサイズ、送信時の暗号化に関する情報を含めてもよい。さらに、RTPパケットにおいて符号化データをインタリーブして送信する場合には、(1)インタリーブの深さを示す情報、(2)1ピクチャ分のデータの受信開始から終了までにかかる時間、あるいは受信開始時刻と復号時刻との差分値などインタリーブに起因する遅延時間の情報、あるいは(3)インタリーブしてRTPパケット化された符号化データを受信及び再構成して1ピクチャずつ分離するために必要なバッファのサイズを示す情報など、データ受信装置におけるデータ受信、復号化、又は表示の際に有効な情報を、再生制御情報として含めても良い。この場合、データ送信装置100は、そのような再生制御情報をMP4ファイルのtrakから取得して再生パラメータ情報d110に変換し、データ受信装置に送信する。
また、連続する複数の画像から構成されるシーン単位でビデオデータの復号化処理の初期化に要するシーン初期化情報を、シーンのインデックス番号あるいはシーンの先頭サンプルのサンプル番号などのシーンを識別するための情報と関連付けて、再生制御情報としてMP4ファイルに含めておいても良い。MPEG−4 AVCでは、シーケンス・パラメータセット(Sequence Parameter Set)とピクチャ・パラメータセット(Picture Parameter Set)がシーン初期化情報に相当する。この場合、例えばクリップ再生のように異なるシーンの画像を順にデータ受信装置が要求したときには、データ送信装置100は要求された各シーンの画像データをRTPパケットとして送信するとともに、それらに関連するシーン初期化情報をRTSPのPLAY応答などに含めて送信するため、データ受信装置はシーン初期化情報を用いて各シーンごとに適切に初期化を行い、各画像を復号して表示することができる。なお、受信を開始する先頭シーンのシーン初期化情報については、そのシーン初期化情報をSDPに含めることができるため、PLAY応答に含めなくてもよい。
また、ビデオデータに含まれるランダムアクセス可能な画像の周期を示す画像周期情報を、再生制御情報としてMP4ファイルに含めておいても良い。この場合、画像周期情報を受信したデータ受信装置は、その画像周期情報に基づいてビデオデータのランダムアクセス可能な部位を特定することができ、それらの部位から適切に再生処理を行うことができる。例えば、データ受信装置は、その特定結果から約30秒先の時間位置の画像にランダムアクセスできるか否かを事前に判別することができ、いきなり5分先の時間位置の画像にランダムアクセスしてしまうことを防ぐことができる。
また、本実施の形態では、RTSPを用いてプリバッファリング情報d109(再生パラメータ情報d110)をデータ受信装置に送信したが、RTSP以外のプロトコルを用いて送信しても良い。
また、本実施の形態では、ビデオに対応するプリバッファリング情報D109をstspに格納したが、ビデオ以外のコンテンツ(メディア)、例えばオーディオやテキストなどに対応するプリバッファリング情報を格納しても良い。
また、本実施の形態では、プリバッファリング情報D109をMP4ファイルに多重化するためにstspを用いたが、このstspは、MPEG−2 TS(Transport Stream)などRTP以外の伝送方式においてパケットを作成するための情報をMP4ファイルに多重化する場合にも使用される。
また、本実施の形態では、stssによって示されるシンクサンプルに対するプリバッファリング情報のみをstspに格納したが、それ以外のサンプルに対するプリバッファリング情報も格納しても良い。例えば、シンクサンプル以外のIピクチャを格納するサンプル、又は全てのサンプルに対するプリバッファリング情報をstspに格納しても良い。また、Recovery Point SEIが付加されたIピクチャを格納するサンプルに対するプリバッファリング情報をstspに格納しても良い。
なお、プリバッファリング情報などの再生制御情報をビデオトラックのヘッダ情報に格納してもよい。例えば、ビデオトラックについてもstspのようなBoxを定義することで、ビデオトラックのシンクサンプルについてのプリバッファリング情報をそのBoxに含めることができる。具体的には、ヒントトラックのシンクサンプルから参照されるビデオトラックのサンプルは、シンクサンプルあるいはシンクサンプル以外のランダムアクセス可能なサンプルであるため、そのビデオトラックのサンプルについてのプリバッファリング情報をビデオトラックのヘッダ情報に格納する。MPEG−4 AVCでは、Recovery Point SEIを含むサンプルについてのプリバッファリング情報をヘッダ情報に格納してもよい。
ここで、上述のRecovery Point SEIについて説明する。
MPEG−4 AVCでは、stssにより示されるシンクサンプルは、IDR(Instantaneous Decoder Refresh)ピクチャを示す。IDRピクチャとは、復号順でIDRピクチャ以降のピクチャは、復号順でIDRピクチャ以前のピクチャを参照せずに復号できるというピクチャであり、MPEG−2におけるclosed GOPの先頭Iピクチャと同様の特徴をもつ。MPEG−4 AVCでは、IDRピクチャ以外にもランダムアクセス可能なピクチャがあり、これらのピクチャは上述のRecovery Point SEIにより識別される。
Recovery Point SEIは、本SEI直後のピクチャから復号化を開始した際に、何枚のピクチャを復号化すれば元の画像と同等品質のピクチャが得られるかを示す情報、又はブロークンリンクの識別情報を含む。つまり、Recovery Point SEIが付加されたIピクチャは、MPEG−2におけるopen−GOPの先頭Iピクチャと同様の特徴をもつ。そこで上述のように、Recovery Point SEIが付加されたIピクチャのサンプルに対するプリバッファリング情報もstspに格納しても良いのである。
また、データ送信装置100は、上述のRecovery Point SEIにより示される情報を再生制御情報として扱っても良い。これにより、Recovery Point SEIが付加されたIピクチャからビデオデータを受信したデータ受信装置は、その受信の事前に取得した再生制御情報により、不完全な復号画像を表示するか、正しい復号画像が得られるようになってから表示を開始するかを選択することができると共に、正しい復号画像から表示するために予め復号しておくことが必要なピクチャの枚数を取得することができる。
また、本実施の形態では、プリバッファリング情報D109をMP4ファイルのtrakのstspに格納したが、trak又はmoovの直下にSDPデータとして格納しても良い。また、ヒントトラックにおけるサンプルの定義を拡張し、ヒントトラックのサンプルとしてmdatにプリバッファリング情報D109を格納しても良い。
(実施の形態2)
以下、本発明の第2の実施の形態におけるデータ受信装置について、図面を参照しながら説明する。
本実施の形態におけるデータ受信装置は、実施の形態1のデータ送信装置100からRTSPに基づいて受信した再生制御情報(再生パラメータ情報)を用い、メディア(コンテンツ)データの適切な再生を行う。
なお、このデータ受信装置がメディアデータとして受信するビデオデータは、MPEG−4 AVCにより符号化されたデータであっても、MPEG−4 VisualやH.263など他の符号化方式のビデオデータであってもよい。
図7は、本実施の形態におけるデータ受信装置の構成を示すブロック図である。
データ受信装置200は、RTP受信処理部201と、復号部202と、表示部203と、RTSP処理部204と、指示部205とを備える。
RTSP処理部204は、再生パラメータ情報を含む受信メッセージd205をデータ送信装置100から受信するとともに、データ送信装置100に送信メッセージd207を送信することにより、データ送信装置100との間でRTSPを用いた再生制御を行う。ここでは、再生パラメータ情報は、プリバッファリング情報を示すものとして以下説明する。
RTSP処理部204は、受信メッセージd205に含まれるプリバッファリング情報を取得すると、そのプリバッファリング情報からプリバッファリング必要時間を特定する。例えば、RTSP処理部204は、RTPパケットがRTP受信処理部201に受信されると、その受信開始から、プリバッファリング情報に基づいて特定されたプリバッファリング必要時間だけ経過したときに復号化を開始すべきであると判断する。
さらに、RTSP処理部204は、メディア(コンテンツ)毎のRTPパケットの同期情報を含むRTP制御データd206をRTP受信処理部201に出力するとともに、指示部205に対して、上記プリバッファリング必要時間を含む復号化開始情報d209を出力する。
また、RTSP処理部204は外部命令d208を取得する。この外部命令d208は、データ受信装置200のユーザの操作によって生じる情報であって、コンテンツの受信の開始や終了、一時停止、コンテンツ中の特定時間位置へのジャンプなどを指示する内容を示す。
RTP受信処理部201は、RTPパケットd201を受信し、RTPパケットd201から例えばビデオの符号化データd202を取得した後、その符号化データd202を復号部202に出力する。なお、RTP受信処理部201は、RTPパケットd201の受信から符号化データd202の出力までの処理を瞬時に行う。また、復号化の開始の対象となるRTPパケットは、RTP制御データd206に基づいて決定される。
また、RTP受信処理部201は、RTPパケットd201の受信を開始した時点で、受信開始信号d210を指示部205に出力する。
指示部205は、受信開始信号d210および復号化開始情報d209に基づいて復号化を開始するタイミングを決定し、復号化開始を指示する開始指示信号d211を復号部202に出力する。
復号部202は、開始指示信号d211を指示部205から取得すると、符号化データd202の復号化を開始し、復号化データd203を表示部203に出力する。
即ち、本実施の形態の復号部202は、RTP受信処理部201にRTPパケットd201が受信されてからプリバッファリング必要時間だけ経過したときに復号処理を開始する。
表示部203は、復号部202から復号化データd203を取得すると、その復号化データd203の内容を表示する。
図8は、本実施の形態におけるデータ受信装置200の指示部205の動作を示すフロー図である。
まず、指示部205は、RTP受信処理部201から受信開始信号d210と、RTSP処理部204から復号化開始情報d209とを取得する(ステップS401)。例えば、受信開始信号d210は、トラックID=1であるビデオトラックに関するRTPパケットd201の受信が開始されたことを示す。
指示部205は、その受信開始信号d210の受信をトリガーに、RTPパケットd201の受信が開始されてからの経過時間を計時する(ステップS402)。
次に、指示部205は、ステップS402で計時した経過時間が、復号化開始情報d209に含まれるプリバッファリング必要時間と等しいか否かを判別する(ステップS403)。例えば、RTP受信処理部201に受信されたRTPパケットd201がトラックID=1のビデオトラックのデータであって、RTSPのPLAY命令の応答である受信メッセージd205に「プリバッファリング必要時間M秒」というプリバッファリング情報が含まれている場合を想定する。この場合、指示部205は、トラックID=1のビデオトラックのRTPパケットd201が受信開始されてからM秒経過したかどうかを判定する。
指示部205は、プリバッファリング必要時間と等しいと判別したときには(ステップS403のYes)、開始指示信号d211を復号部202に出力し(ステップS404)、プリバッファリング必要時間と異なると判別したときには(ステップS403のNo)、再びステップS402からの動作を実行する。
以上、本発明に係るデータ受信装置200ついて上記実施の形態を用いて説明したが、本発明に係るデータ受信装置200はこれらに限定されるものではない。
例えば、本実施の形態では、RTSPのPLAY命令の応答である受信メッセージd205からプリバッファリング情報を取得したが、RTSPにおけるPLAY命令以外の既存の命令、又は新規に規定された命令に対する応答である受信メッセージd205からプリバッファリング情報を取得しても良い。また、RTSP以外のプロトコルによるメッセージからプリバッファリング情報を取得しても良い。
また、本実施の形態では、プリバッファリング必要時間を示すプリバッファリング情報を取得したが、プリバッファリング必要データ量を示すプリバッファリング情報を取得しても良い。
この場合、RTP受信処理部201は、メディア(コンテンツ)ごとに受信したRTPパケットd201の総データ量を示す総量情報を、そのパケットを受信するたびに又は一定時間ごとに、指示部205に対して出力する。指示部205は、その総量情報に基づいて、RTPパケットd201の総データ量とプリバッファリング必要データ量を比較し、それらのデータ量が一致したときに、開始指示信号d211を出力する。なお、データ量の比較は、総量情報を取得するごとに、又は一定時間ごとに行っても良い。
また、本実施の形態では、再生パラメータ情報に変換されたプリバッファリング情報を再生制御情報として取得したが、受信、復号化、又は表示処理に関連する情報を再生制御情報として取得しても良い。この場合、指示部205又はRTSP処理部204は、取得した情報に基づいて復号部202及び表示部203を制御する。
また、本実施の形態では、プリバッファリング情報としてプリバッファリング必要時間を取得したが、シーケンス番号をプリバッファリング情報として取得しても良い。この場合、データ受信装置200は、取得したシーケンス番号により示されるRTPパケットが全て受信されたときに、復号化処理を開始する。データ受信装置200は、RTPパケットを全て受信できなかったときには、受信できなかったRTPパケットをデータ送信装置100に要求する。または、データ受信装置200は、復号化開始前に、ユーザに対して警告をした上で、予め設定された条件に基づいて復号化を開始する。この警告は、復号化処理の途中で発生するアンダーフロー又はオーバーフローのため、コンテンツの表示が停止する可能性があることをユーザに知らせるものである。
(実施の形態3)
さらに、上記各実施の形態で示したデータ送信装置100及びデータ受信装置200を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図9は、実施の形態1,2のデータ送信装置100及びデータ受信装置200をコンピュータシステムにより実現するためのプログラムを格納する記憶媒体についての説明図である。
図9中の(b)は、フレキシブルディスクFDの正面及び側面からみた外観と、記録媒体の本体であるディスク本体FD1の正面からみた外観とを示し、図9中の(a)は、ディスク本体FD1の物理フォーマットの例を示している。
ディスク本体FD1はケースF内に内蔵され、ディスク本体FD1の表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクFDでは、上記ディスク本体FD1上に割り当てられた領域に、上記プログラムが記録されている。
また、図9中の(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。
上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsが上記プログラムをフレキシブルディスクドライブFDDを介して書き込む。また、フレキシブルディスクFD内のプログラムをコンピュータシステムCs中に構築する場合は、フレキシブルディスクドライブFDDによりプログラムがフレキシブルディスクFDから読み出され、コンピュータシステムCsに転送される。
なお、上記説明では、記録媒体としてフレキシブルディスクFDを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
本発明に係るデータ送信装置は、データ受信装置に対してコンテンツデータの適切な再生処理を実行させることができ、例えば携帯端末向けの動画像配信サービスに利用されるサーバなどに有用である。
本発明の実施の形態1に係るデータ送信装置の構成を示すブロック図である。 stspに格納されたプリバッファリング情報の内容の一例を示すデータ内容表示図である。 stspに格納されたプリバッファリング情報の内容の他の例を示すデータ内容表示図である。 データ送信装置のファイル解析部の動作を示すフロー図である。 プリバッファリング情報の取得処理(図4のステップS105)の詳細な動作を示すフロー図である。 データ送信装置とデータ受信装置との間で交換されるRTSPメッセージの一例を示す図である。 本発明の実施の形態2に係るデータ受信装置の構成を示すブロック図である。 同上のデータ送信装置の指示部の動作を示すフロー図である。 本発明の実施の形態3における、実施の形態1又は2のデータ送信装置及びデータ受信装置をコンピュータシステムにより実現するためのプログラムを格納する記憶媒体についての説明図である。 MP4ファイルのBoxの構造を説明するための図である。 MP4ファイルの構造を示すデータ構成図である。 ヒントデータの使用方法を説明するための図である。 サーバから端末にメディアデータ(コンテンツデータ)がRTPパケットとして配信される手順を説明するための図である。 サーバと端末と間の再生制御において交換されるRTSPメッセージの一例を示す図である。 従来のデータ送信装置(サーバ)の構成を示すブロック図である。 同上のデータ送信装置のファイル解析部の動作を示すフロー図である。 符号化データの流入開始からの経過時間(横軸)と、データ受信装置のバッファの占有量(縦軸)との関係を示す図である。 プリバッファリング時間に応じて異なるバッファ占有量の時間的な変化を示す図である。
符号の説明
100 データ送信装置
101 RTSP処理部
102 RTP作成部
103 RTP送出部
104 ファイル作成部
110 ファイル解析部
111 情報取得部
112 RTP解析部
113 再生解析部
114 変換部
d101 RTSP要求データ
d102 サンプルデータ
d103 サンプル番号情報
d104 パケット作成データ
d105 RTSP送出情報
d107 送信メッセージ
d108 受信メッセージ
d109 再生制御情報
d110 再生パラメータ情報

Claims (19)

  1. デジタル著作物たるコンテンツデータをファイルから取り出して受信装置に対して送信するデータ送信装置であって、
    前記ファイルは、前記コンテンツデータと、前記コンテンツデータの再生処理に用いられる再生制御情報とを多重化して構成され、
    前記データ送信装置は、
    前記受信装置との間でコンテンツデータの伝送路の確立及び初期化を行う前置処理手段と、
    前記前置処理手段による伝送路の確立及び初期化の後、前記再生制御情報の少なくとも一部を前記ファイルから取り出して、前記受信装置に送信する制御送信手段と、
    前記ファイルからコンテンツデータの少なくとも一部を取得してパケット化するパケット生成手段と、
    前記パケット生成手段によりパケット化されたコンテンツデータの少なくとも一部を送信するコンテンツ送信手段と
    を備えることを特徴とするデータ送信装置。
  2. 前記ファイルに多重化された再生制御情報は、前記コンテンツデータに含まれる複数のデータ単位ごとに、当該データ単位からの再生に用いられる再生制御単位情報を含んでテーブル状に構成され、
    前記制御送信手段は、前記受信装置からの要求に応じたデータ単位に関連する前記再生制御単位情報を、前記ファイルの再生制御情報から取り出して送信し、
    前記パケット生成手段は、前記受信装置からの要求に応じたデータ単位からの前記コンテンツデータを取得してパケット化する
    ことを特徴とする請求項1記載のデータ送信装置。
  3. 前記再生制御単位情報は、前記コンテンツ送信手段から送信されて前記受信装置に受信されるコンテンツデータに対して、復号処理を開始すべきタイミングを知らせる内容を示す
    ことを特徴とする請求項2記載のデータ送信装置。
  4. 前記再生制御単位情報は、前記タイミングを知らせる内容として、前記受信装置によるコンテンツデータの受信開始から前記復号処理の開始までの時間を示す
    ことを特徴とする請求項3記載のデータ送信装置。
  5. 前記再生制御単位情報は、前記タイミングを知らせる内容として、前記受信装置によって受信されるコンテンツデータのデータ量を示す
    ことを特徴とする請求項3記載のデータ送信装置。
  6. 前記制御送信手段は、前記再生制御単位情報の示すデータ量を、前記受信装置によるコンテンツデータの受信開始から前記復号処理の開始までの時間に変換し、前記変換された再生制御単位情報を送信する
    ことを特徴とする請求項5記載のデータ送信装置。
  7. 前記制御送信手段は、前記再生制御単位情報を、前記コンテンツ送信手段におけるコンテンツデータの伝送状況に応じて変換する
    ことを特徴とする請求項6記載のデータ送信装置。
  8. 前記コンテンツ送信手段は、伝送路の状況に基づいて、コンテンツデータの送信速度を変化させる
    ことを特徴とする請求項7記載のデータ送信装置。
  9. 前記コンテンツデータは、複数の画像を含んで構成される動画像データであって、
    前記再生制御情報は、前記コンテンツデータに含まれる全ての画像ごとに、前記再生制御単位情報を含んで構成されている
    ことを特徴とする請求項2記載のデータ送信装置。
  10. 前記コンテンツデータは、複数の画像を含んで構成される動画像データであって、
    前記再生制御情報は、前記コンテンツデータに含まれる画面内符号化された画像ごとに、前記再生制御単位情報を含んで構成されている
    ことを特徴とする請求項2記載のデータ送信装置。
  11. 前記コンテンツデータは、複数の画像を含んで構成される動画像データであって、
    前記再生制御単位情報は、当該データ単位の先頭の画像から正しい復号処理結果が得られるか否かを示す
    ことを特徴とする請求項2記載のデータ送信装置。
  12. 前記コンテンツデータは、複数の画像を含んで構成される動画像データであって、
    前記再生制御単位情報は、当該データ単位の先頭の画像から復号処理が開始された場合に、最初に正しい復号処理結果が得られる部位を示す
    ことを特徴とする請求項2記載のデータ送信装置。
  13. 前記コンテンツデータは、連続する複数の画像から構成されるシーンを前記データ単位として含む動画像データであって、
    前記再生制御情報は、前記各シーンを構成する画像を復号化する際の初期化に要する情報を示す
    ことを特徴とする請求項2記載のデータ送信装置。
  14. 前記コンテンツデータは、複数の画像を含んで構成される動画像データであって、
    前記再生制御情報は、前記複数の画像のうちのランダムアクセス可能な画像の周期を示す
    ことを特徴とする請求項1記載のデータ送信装置。
  15. 前記ファイルに多重化された再生制御情報は、前記コンテンツデータに含まれる所定の1つのデータ単位からの再生に用いられる再生制御単位情報であって、
    前記制御送信手段は、前記受信装置からの要求に応じて前記再生制御単位情報を前記ファイルから取り出して送信し、
    前記パケット生成手段は、前記受信装置からの要求に応じて前記データ単位からの前記コンテンツデータを取得してパケット化する
    ことを特徴とする請求項1記載のデータ送信装置。
  16. デジタル著作物たるコンテンツデータをファイルから取り出して受信装置に対して送信するデータ送信方法であって、
    前記ファイルは、前記コンテンツデータと、前記コンテンツデータの再生処理に用いられる再生制御情報とを多重化して構成され、
    前記データ送信方法は、
    前記受信装置との間でコンテンツデータの伝送路の確立及び初期化を行う前置処理ステップと、
    前記伝送路の確立及び初期化が行われた後、前記再生制御情報の少なくとも一部を前記ファイルから取り出して、前記受信装置に送信する制御送信ステップと、
    前記ファイルからコンテンツデータの少なくとも一部を取得してパケット化するパケット生成ステップと、
    前記パケット生成ステップでパケット化されたコンテンツデータの少なくとも一部を送信するコンテンツ送信ステップと
    を含むことを特徴とするデータ送信方法。
  17. 前記ファイルに多重化された再生制御情報は、前記コンテンツデータに含まれる複数のデータ単位ごとに、当該データ単位からの再生に用いられる再生制御単位情報を含んでテーブル状に構成され、
    前記制御送信ステップでは、前記受信装置からの要求に応じたデータ単位に関連する前記再生制御単位情報を、前記ファイルの再生制御情報から取り出して送信し、
    前記パケット生成ステップでは、前記受信装置からの要求に応じたデータ単位からの前記コンテンツデータを取得してパケット化する
    ことを特徴とする請求項16記載のデータ送信方法。
  18. 前記再生制御単位情報は、前記コンテンツ送信ステップで送信されて前記受信装置に蓄積されるコンテンツデータに対して、再生処理を開始すべきタイミングを知らせる内容を示す
    ことを特徴とする請求項17記載のデータ送信方法。
  19. デジタル著作物たるコンテンツデータをファイルから取り出して受信装置に対して送信するためのプログラムであって、
    前記ファイルは、前記コンテンツデータと、前記コンテンツデータの再生処理に用いられる再生制御情報とを多重化して構成され、
    前記データ送信方法は、
    前記受信装置との間でコンテンツデータの伝送路の確立及び初期化を行う前置処理ステップと、
    前記伝送路の確立及び初期化が行われた後、前記再生制御情報の少なくとも一部を前記ファイルから取り出して、前記受信装置に送信する制御送信ステップと、
    前記ファイルからコンテンツデータの少なくとも一部を取得してパケット化するパケット生成ステップと、
    前記パケット生成ステップでパケット化されたコンテンツデータの少なくとも一部を送信するコンテンツ送信ステップと
    をコンピュータに実行させることを特徴とするプログラム。
JP2004083457A 2003-03-25 2004-03-22 データ送信装置 Withdrawn JP2004312713A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004083457A JP2004312713A (ja) 2003-03-25 2004-03-22 データ送信装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003083681 2003-03-25
JP2004083457A JP2004312713A (ja) 2003-03-25 2004-03-22 データ送信装置

Publications (1)

Publication Number Publication Date
JP2004312713A true JP2004312713A (ja) 2004-11-04

Family

ID=33478234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004083457A Withdrawn JP2004312713A (ja) 2003-03-25 2004-03-22 データ送信装置

Country Status (1)

Country Link
JP (1) JP2004312713A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135569A (ja) * 2004-11-05 2006-05-25 Canon Inc データ配信方法および情報処理装置
JP2009540642A (ja) * 2006-06-09 2009-11-19 トムソン ライセンシング デジタル・テレビジョン・サービスを送受信する方法
JP2013521739A (ja) * 2010-03-05 2013-06-10 サムスン エレクトロニクス カンパニー リミテッド 複数のストリームを含むコンテンツファイル送受信装置及び方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006135569A (ja) * 2004-11-05 2006-05-25 Canon Inc データ配信方法および情報処理装置
JP2009540642A (ja) * 2006-06-09 2009-11-19 トムソン ライセンシング デジタル・テレビジョン・サービスを送受信する方法
JP2013521739A (ja) * 2010-03-05 2013-06-10 サムスン エレクトロニクス カンパニー リミテッド 複数のストリームを含むコンテンツファイル送受信装置及び方法
US9106935B2 (en) 2010-03-05 2015-08-11 Samsung Electronics Co., Ltd Method and apparatus for transmitting and receiving a content file including multiple streams

Similar Documents

Publication Publication Date Title
CN111656796B (zh) 动态条件性广告插入
CN107409234B (zh) 基于lct利用dash格式的基于文件格式的流式传输
CN107251562B (zh) 检索媒体数据的方法及装置、发信媒体信息的方法及装置
CA2939250C (en) Processing continuous multi-period content
RU2652099C2 (ru) Устройство передачи, способ передачи, устройство приема и способ приема
US9591361B2 (en) Streaming of multimedia data from multiple sources
CN110870282B (zh) 使用网络内容的文件轨处理媒体数据
US11665219B2 (en) Processing media data using a generic descriptor for file format boxes
EP3504878B1 (en) System level signaling of sei tracks for media data streaming
CN115943631A (zh) 流式传输包括具有切换集的可寻址资源索引轨道的媒体数据
CN112771876B (zh) 检索媒体数据的方法和设备以及发送媒体数据的方法和设备
EP1566966A1 (en) Data transmission device
JP2004312713A (ja) データ送信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070223

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070426