JP2007173987A - マルチメディアデータ送受信システム、及び装置、又はプログラム - Google Patents
マルチメディアデータ送受信システム、及び装置、又はプログラム Download PDFInfo
- Publication number
- JP2007173987A JP2007173987A JP2005365423A JP2005365423A JP2007173987A JP 2007173987 A JP2007173987 A JP 2007173987A JP 2005365423 A JP2005365423 A JP 2005365423A JP 2005365423 A JP2005365423 A JP 2005365423A JP 2007173987 A JP2007173987 A JP 2007173987A
- Authority
- JP
- Japan
- Prior art keywords
- data
- distribution
- receiving terminal
- additional information
- terminal device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 20
- 230000008859 change Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 abstract description 20
- 230000008569 process Effects 0.000 abstract description 8
- 238000007726 management method Methods 0.000 description 45
- 238000012545 processing Methods 0.000 description 35
- 239000012634 fragment Substances 0.000 description 32
- 230000006870 function Effects 0.000 description 27
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 13
- 239000000872 buffer Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000012546 transfer Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234318—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6582—Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
【課題】 データ転送プロトコルを用いたメディアデータ配信を、データトラフィック及び配信元のデータ処理負荷を低減しながら実現する。
【解決手段】 例えばISO Base Media File Formatにおけるフラグメント映像形式(Fragmented Movie)のメディアデータを、HTTPなどのデータ転送プロトコルで送信する際、ネットワークカメラ100からは共通のデータを出力する。そして、中間サーバ101で、配信先の再生装置102に応じてヘッダ情報を変更して個々の再生装置102に配信するためのデータを生成する。
【選択図】 図1
【解決手段】 例えばISO Base Media File Formatにおけるフラグメント映像形式(Fragmented Movie)のメディアデータを、HTTPなどのデータ転送プロトコルで送信する際、ネットワークカメラ100からは共通のデータを出力する。そして、中間サーバ101で、配信先の再生装置102に応じてヘッダ情報を変更して個々の再生装置102に配信するためのデータを生成する。
【選択図】 図1
Description
本発明は、マルチメディアデータの比較的広域な送受信技術に関するもので、より詳細には、ファイルの転送に適したプロトコルによるマルチキャスト的なデータ配信に関するものである。
近年、防犯目的の監視や遠隔地の様子の確認などを目的とした、いわゆる監視カメラが普及しつつある。監視カメラなどの撮像装置が撮像した映像や音声をリアルタイムで配信(以下、ライブ映像配信とする)する際に用いられるプロトコルとして、RTP(A Transport Protocol for Real-Time Applications)が一般的に用いられている。RTPは、IETF(Internet Engineering Task Force)によりRFC1889及びRFC1890として規格化された、オーディオデータやビデオデータなどをリアルタイムで転送するためのプロトコルである。
しかしながら、RTPを用いたライブ映像配信においては、配信先のクライアントの手前にファイヤーウォールが設定されていると配信ができない場合がある。また、リアルタイム性を重視したプロトコルであるため、ライブ映像や音声を格納するデータパケットの欠落が発生する場合があるといった課題が存在する。そのため、より単純なHTTP(HyperText Transfer Protocol)などのプロトコルを用いたライブ映像配信が検討されてきた。
従来、このような実時間処理に適したファイル記録形式としては、ISO Base Media File Formatにおけるフラグメント映像形式(Fragmented Movie)がある。
フラグメント映像形式では、動画データの全体にかかわるデータと、ある基準で分割された動画データ(分割動画データ)に対応するメタデータをファイルの先頭に記述し、その後に、メタデータに対応する分割動画データを記録する。そして、以下同様に、分割動画データのメタデータと、対応する分割動画データを、時系列に従って順次記録していく。尚、動画データを分割する基準としては、一定の時間が良く用いられる。
フラグメント映像形式では、動画データの全体にかかわるデータと、ある基準で分割された動画データ(分割動画データ)に対応するメタデータをファイルの先頭に記述し、その後に、メタデータに対応する分割動画データを記録する。そして、以下同様に、分割動画データのメタデータと、対応する分割動画データを、時系列に従って順次記録していく。尚、動画データを分割する基準としては、一定の時間が良く用いられる。
このように、フラグメント映像形式では、1つの分割動画データとそのメタデータとの組み合わせを、ひとかたまりとして取り扱うことが可能である。このような形式で記録することにより、撮像された動画データをある一定の条件により断片化して随時記録する事が可能となる。そのため、断片化した動画データ(すなわち、分割動画データ)を連続してファイル転送して、ライブ映像配信を実現することが検討されている。
また、HTTPなどの、ファイル転送に適したプロトコルでは、その性質上、転送されるデータサイズをあらかじめ受信側に通知する必要がある。そのため、このような仕様に対応する仕組みも考えられてきている。
ライブ映像配信においては、最終的に送信すべきデータサイズを、データ送信前に確定することは出来ない。そのため、分割画像データ毎に送信することで、データ送信時にデータサイズを受信側へ通知することが可能になり、HTTPなど事前にデータサイズの通知が必要なプロトコルを利用することが可能になる。
あるいは、受信側から送信側に対して送信要求サイズを通知し、送信側では要求されたサイズの分割画像データを送信することによって、同様の仕組みを実現する事も提案されている(特許文献1)。これは、HTTPに定義されるRange機能を用いて、通信接続を維持したまま、受信側からデータの一部を順次取得することにより、分割受信をするものである。
ところで、RTPを用いて多数の相手に対して同一の映像配信を行なう場合、一般にマルチキャストという配信方法が用いられる。マルチキャストとは、一つのパケットを特定の多数に送信するための技術であり、マルチキャストが指定されたパケットは、途中の適切なルータによって複製され、各受信端末に送信される。送信元でデータを複製する必要がないため、データトラフィックと送信元のデータ処理負荷の低減が可能になるという利点がある。
一方、前述のフラグメント映像形式を利用し、HTTP等を用いて行う映像配信は、ファイヤーウォールの先にあるクライアントへ送信する場合や、データパケットの欠落を特に嫌う用途などに使用される。しかし、この方法は基本的には動画ファイルの分割転送であり、特にライブ映像配信の場合は、映像データの受信を開始したタイミングによって、映像データに挿入されているメタデータの一部が変化する。そのため、どの相手に対しても同一のデータを配信する、マルチキャストによる映像配信とは異なる。
本発明は以上の問題に鑑みて成されたものであり、データ転送プロトコルを用いたメディアデータ配信を、データトラフィック及び配信元のデータ処理負荷を低減しながら実現することを目的とする。
上述の目的は、映像データと音声データの少なくとも1つを含むメディアデータを、通信可能に接続された受信端末装置に配信するためのデータ配信装置であって、受信端末装置に関する情報である受信端末装置情報を管理する情報管理手段と、予め定められた単位で分割されたメディアデータと、当メディアデータに対応する第1及び第2の付加データとを受信する受信手段と、配信先の受信端末装置に対応する受信端末装置情報に基づいて、第1及び第2の付加情報の一方と、分割されたメディアデータとから、配信先の受信端末装置用の配信データを生成する配信データ生成手段と、配信データを対応する受信端末装置へ送信する送信手段とを有し、配信データ生成手段が、第1の付加情報を用いる場合には、第1の付加情報、対応するメディアデータとから配信データを生成し、第2の付加情報を用いる場合には、第2の付加情報を、配信先の受信端末装置に対応する受信端末装置情報に基づいて変更した変更後の第2の付加情報と、対応するメディアデータとから配信データを生成することを特徴とするデータ配信装置によって達成される。
また、上述の目的は、映像データと音声データの少なくとも1つを含むメディアデータを、受信端末装置に配信するためのデータに変換して出力するデータ出力装置であって、メディアデータを取得する取得手段と、メディアデータを予め定めた単位で分割する分割手段と、受信端末装置に関する情報を記憶する記憶手段と、分割したメディアデータに対応する第1及び第2の付加情報を生成する付加情報生成手段と、分割したメディアデータと、第1及び第2の付加情報を受信端末装置に配信するためのデータとして送信する送信手段とを有し、付加情報生成手段が、1つの分割したメディアデータに対し、1つの第1の付加情報と受信端末毎の第2の付加手段を生成し、第2の付加手段を受信端末装置に関する情報を用いて生成することを特徴とするデータ出力装置によっても達成される。
また、上述の目的は、映像データと音声データの少なくとも1つを含むメディアデータを、通信可能に接続された受信端末装置に配信するためのデータ配信装置であって、受信端末装置に関する情報である受信端末装置情報を管理する情報管理手段と、予め定められた単位で分割されたメディアデータと、当メディアデータに対応する付加情報であって、1つの第1の付加情報と、受信端末毎の第2の付加データとを受信する受信手段と、配信先の受信端末装置に対応する受信端末装置情報に基づいて、第1及び第2の付加情報の一方と、分割されたメディアデータとから、配信先の受信端末装置用の配信データを生成する配信データ生成手段と、配信データを対応する受信端末装置へ送信する送信手段とを有し、配信データ生成手段が、第1の付加情報を用いる場合には、第1の付加情報、分割されたメディアデータとから配信データを生成し、第2の付加情報を用いる場合には、第2の付加情報のうち、配信先の受信端末装置に対応するものと、分割されたメディアデータとから配信データを生成することを特徴とするデータ配信装置によっても達成される。
このような構成により、本発明によれば、データ転送プロトコルを用いたメディアデータ配信を、データトラフィック及び配信元のデータ処理負荷を低減しながら実現することができる。
以下、図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。
なお、以下の実施形態では、ライブ映像配信に用いるデータがMP4(MPEG4)ファイル形式である場合を主眼としている。しかし、本発明はMP4形式に類似した他のデータ形式によるライブ映像配信にも適用可能である。
なお、以下の実施形態では、ライブ映像配信に用いるデータがMP4(MPEG4)ファイル形式である場合を主眼としている。しかし、本発明はMP4形式に類似した他のデータ形式によるライブ映像配信にも適用可能である。
このような他のデータ形式として、例えば、ISOではMP4形式と同様の基本構造を持つ「Motion JPEG 2000ファイル形式」(ISO/IEC 15444-3)や、「AVCファイル形式」(ISO/IEC 14496-15)を規格化している。また、第三世代携帯電話を中心とする無線端末上での利用を前提に制約が課せられた動画ファイル規格(3GPP形式や3GPP2形式など)もある。このように、MP4形式と類似のファイル形式およびアーキテクチャが採用されている他の規格に対しても、本発明の一部あるいは全部を適用することが可能である。
(第1の実施形態)
本実施形態は、通信機能を有したネットワークカメラから中間サーバを介して再生装置にコンテンツデータを配信するデータ配信システムに本発明を適用した例である。
本実施形態は、通信機能を有したネットワークカメラから中間サーバを介して再生装置にコンテンツデータを配信するデータ配信システムに本発明を適用した例である。
図1は、本実施形態に係るデータ配信システムの機能構成例を示すブロック図である。
本実施形態のデータ配信システムは、映像データと音声データの少なくとも1つを含むメディアデータを予め定めた単位毎に分割し、付加情報を付加してブロック化した形式で、再生装置に対してリアルタイム配信するデータ配信システムである。
本実施形態のデータ配信システムは、映像データと音声データの少なくとも1つを含むメディアデータを予め定めた単位毎に分割し、付加情報を付加してブロック化した形式で、再生装置に対してリアルタイム配信するデータ配信システムである。
システムは、通信機能を有するネットワークカメラ100と、いわゆる代理サーバのような機能を有する中間サーバ101と、コンテンツデータの再生処理機能を有する再生装置102で構成されている。
ネットワークカメラ100は、メディアデータを取得して、データ配信用の形式に変換して出力するデータ出力装置として機能する。具体的には例えば通信機能を備えた撮像装置であり、近年、監視用途などで用いられるビデオカメラである。また、データ配信装置として機能する中間サーバ101は、通信データのキャッシュ機能を備えた代理サーバであり、一般にプロクシサーバ(又はプロキシサーバ)と呼ばれる。受信端末装置の一例としての再生装置102は、ネットワーク通信機能を備えた、動画像の再生を行う装置である。ここでは受信したメディアデータを再生する受信端末を例示しているが、再生機能は必須ではない。
装置例えばPC(パーソナルコンピュータ)上でアプリケーション・プログラムを動作させて実現されている場合もあれば、専用のディスプレイを備えた監視装置の一部として実現される場合もある。
ネットワークカメラ100において、映像/音声入力部103は、所謂ビデオカメラであり、映像及び音声データをキャプチャし、デジタルデータとして出力する。映像/音声データ符号化部104は、キャプチャしたデータを、予め定めた単位で(例えば一定時間毎に)分割し、この単位毎に符号化する。また、管理情報生成部105は、符号化された映像/音声データ(符号化映像/音声データ)に対応した付加情報としての管理情報を生成する。マスターデータ配信部106は、符号化映像/音声データと管理情報(この2つのデータをあわせてマスターデータと呼ぶ)を中間サーバ101に配信する。
ネットワークカメラ100からのマスターデータの配信先となる中間サーバ101は複数あっても良い。中間サーバ101複数ある場合、ネットワークカメラ100は、どの中間サーバ101に対しても同じマスターデータを配信する。
中間サーバ101において、マスターデータ受信部107は、ネットワークカメラ100から配信されるマスターデータを受信する。再生装置情報管理部112は、中間サーバ101に接続している再生装置102の接続情報を保持・管理する。コンテンツデータ生成部108は、受信したマスターデータ(符号化映像/音声データと管理情報)と、再生装置情報管理部112で保持されている再生装置の接続情報から再生装置102での再生処理が可能なコンテンツデータを生成する。コンテンツデータ配信部109は、コンテンツデータ生成部108が生成したコンテンツデータを、再生装置102へ配信する。
再生装置102は、中間サーバ101と同様に複数あっても良く、尚且つその数は動的に変動しても良い。但し、再生装置102が複数ある場合、必要に応じ、再生装置102に応じてコンテンツデータ生成部108においてデータの一部を書き換えるため、再生装置102全てに同じコンテンツデータが配信されるとは限らない。また、再生装置情報管理部112では、接続している再生装置102の数の増減を検出し、再生装置102全ての最新情報を常に管理する。
再生装置102は、中間サーバ101からコンテンツデータを受信するコンテンツデータ受信部110と、コンテンツデータに含まれている符号化映像及び音声データを復号化して表示装置に表示するコンテンツデータ再生処理部111から構成される。
次に、図1の構成を有するシステムの一般的な処理の流れを説明する。
まず始めに、再生装置102を操作する利用者は、プロクシサーバとして中間サーバ101を設定し、更にネットワークカメラ100からの符号化映像/音声データを取得するよう指示を行う。具体的には、例えばGUI(Graphical User Interface)を用いてネットワークカメラ100や中間サーバ101のURL(Uniform Resource Locator)を入力して指示を行うことができる。或いは、あらかじめ再生装置102に通信接続の定義をしておき、その定義を用いて通信を開始するための指示をスイッチの押下などにより指示してもよい。
まず始めに、再生装置102を操作する利用者は、プロクシサーバとして中間サーバ101を設定し、更にネットワークカメラ100からの符号化映像/音声データを取得するよう指示を行う。具体的には、例えばGUI(Graphical User Interface)を用いてネットワークカメラ100や中間サーバ101のURL(Uniform Resource Locator)を入力して指示を行うことができる。或いは、あらかじめ再生装置102に通信接続の定義をしておき、その定義を用いて通信を開始するための指示をスイッチの押下などにより指示してもよい。
この時、ネットワークカメラ100、中間サーバ101、再生装置102の間のデータ取得に必要な情報は、データ転送プロトコルの一例としてのHTTPを用いて各機器を接続するネットワークを介してやりとりされる。そして、ネットワークカメラ100の管理情報生成部105では、受信した指示に応答して、符号化映像/音声データに対応した管理情報をフラグメント映像形式に準拠した形で生成する。そして、マスターデータ配信部106が、符号化映像/音声データと、対応管理情報とをマスターデータとして中間サーバ101に配信する。中間サーバ101に配信されたマスターデータは、コンテンツデータ生成部108において、フラグメント映像形式のデータ構造に変換され、再生装置102に配信される。
ここで、フラグメント映像形式のデータ構造について図を用いて説明する。
図2はフラグメント映像形式を含むMP4ファイル形式のデータ構造を説明するための図である。
MP4ファイル形式では、ファイルに記録されるデータは「BOX」と呼ばれるデータ構造の内部に記述され、BOXを単位としてファイルに記録される。またMP4ファイル形式では、コンテンツ全体のプレゼンテーションを「ムービー」、コンテンツを構成するメディアストリームのプレゼンテーションを「トラック」と呼ぶ。
図2はフラグメント映像形式を含むMP4ファイル形式のデータ構造を説明するための図である。
MP4ファイル形式では、ファイルに記録されるデータは「BOX」と呼ばれるデータ構造の内部に記述され、BOXを単位としてファイルに記録される。またMP4ファイル形式では、コンテンツ全体のプレゼンテーションを「ムービー」、コンテンツを構成するメディアストリームのプレゼンテーションを「トラック」と呼ぶ。
最初のヘッダである「Movie_BOX」('moov')202には、典型的には、映像/音声データ全体を論理的に取り扱うビデオトラック203と、音声のデータ全体を論理的に取り扱うオーディオトラック207が含まれている。また、ビデオトラック203とオーディオトラック207の基本的な構成内容は、ほとんど同等である。すなわち、ビデオトラック203とオーディオトラック207は、いずれも実際のメディアデータの様々な属性情報を記録しており、その内容がメディアデータの特性に応じて多少異なっているだけである。
ビデオトラック203に含まれるデータは、例えば、符号化データを復号化するためのデコーダの構成情報や動画像の矩形サイズなどの情報が含まれる。代表的なものを説明すると、オフセット204は、メディアデータが実際に記録されているファイル上の位置を示す。サンプルサイズ205は、メディアデータのそれぞれのフレームデータ(サンプル、或いは映像データの場合ピクチャと呼ばれることもある)のサイズを示す。タイムスタンプ206は、それぞれのフレームデータのデコード時間及びプレゼンテーション時間を示す。
MP4ファイル201の全体の構成としては、映像及び音声データの物理的位置、時間的位置や特性情報などを示すヘッダ情報(メタデータ)部分と、符号化映像・音声データの実体であるメディアデータ部分から構成される。
図2では、フラグメント映像形式独自のBOXを含んだMP4ファイルの構造を示している。フラグメント映像形式の構造を持たないMP4ファイルでは、「Movie_BOX」('moov')202内に、フラグメント映像形式による拡張部分の情報を示す「Movie_Extends_BOX」('mvex')208が含まれない。つまり、'mvex'208を含まない'moov'202と、それに対応するメディアデータ部である「Media_Data_BOX」('mdat')211のみによって構成される。
一方、フラグメント映像形式のMP4ファイルでは、コンテンツのヘッダ情報およびメディアデータを任意の時間単位でフラグメントに分割することができ、分割されたフラグメントはファイルの先頭から時系列順に記録される。この時、コンテンツ全体の属性情報を含む先頭の「Movie_BOX」('moov')202には、図2に示すように、フラグメント部分を含む全体の再生時間(duration)などの情報を格納する「Movie_Extends_BOX」('mvex')208が配置される。mvex208は、後に続く「Media_Data_BOX」('mdat')211に含まれるデータに関する情報を保持する。
次に出現する「Movie_Fragment_BOX」('moof')212は、フラグメント部分のヘッダ情報であり、「Media_Data_BOX」('mdat')213に含まれるデータに関する情報を保持する。以降同様に「Movie_Fragment_BOX」('moof')212と「Media_Data_BOX」('mdat')213の組み合わせ(フラグメント)が追加されていく形で構成される。
フラグメント映像形式のMP4ファイルでは、前述のように「Movie_BOX」('moov')202の中にフラグメント映像形式による拡張情報を格納している「Movie_Extends_BOX」('mvex')208が存在する。「Movie_Extends_BOX」('mvex')208には、フラグメント部分を含めたムービー全体の再生時間(duration)209や、フラグメント部分に含まれるメディアデータのサンプルサイズやサンプル毎のdurationなどのデフォルト値などの情報210を設定できる。ここにデフォルト値を設定することによって、後に続く「Movie_Fragment_BOX」('moof')212内のサンプル情報では、デフォルト値を使用する場合、サンプル毎の値の設定を省略することができる。
このようにフラグメント映像形式では、メタデータとそれに対応するメディアデータの組み合わせを1つのブロックとして、複数のブロックが時系列順に連結したファイル構造とすることが出来る。よって、このファイル形式を利用すれば、ある単位時間毎(又はある単位サイズ毎)に「メタデータとそれに対応するメディアデータのブロック」を生成し、随時配信することにより、一般的なデータ転送プロトコルを用いたライブ映像配信が実現できる。このような映像配信方法を、以下、フラグメント配信と呼ぶ。
図1の管理情報生成部105において生成する管理情報は、図2における「Movie_BOX」('moov')202と「Movie_Fragment_BOX」('moof')212の2つの管理情報(ヘッダ情報)である。通常、MP4ファイルでは、同一の符号化データに対して2種類の管理情報を必要としない。しかし、本実施形態では、複数の再生装置102に対応したコンテンツデータを生成するため、映像/音声データ符号化部104において符号化された同一の映像/音声符号化データに対して2種類の管理情報が生成される。
ライブ映像配信時のデータの流れを、図8を用いてより詳細に説明する。
図8は、ネットワークカメラ100内の映像/音声データ符号化部104からマスターデータ配信部106までのデータ処理を模式的に示した図である。
図8は、ネットワークカメラ100内の映像/音声データ符号化部104からマスターデータ配信部106までのデータ処理を模式的に示した図である。
映像/音声データ符号化部104では、Video符号化器1041とAudio符号化器1042により、映像/音声入力部103が出力する映像/音声データを符号化する。符号化結果は、Video Data Buffer1043とAudio Data Buffer1044に随時保管していく。管理情報生成部105のA/Vデータ多重化処理部1051は、これらのバッファに保管された符号化映像データと符号化音声データとを必要に応じて特定の条件でインターリーブさせた符号化映像/音声データを生成する。符号化映像/音声データは、マスターデータ配信部106内の送信用バッファAudio / Video Data Buffer1061に格納する。
また、送信用バッファAudio / Video Data Buffer1061に格納した符号化データは、図2の「Media_Data_BOX」('mdat')211或いは213に対応している。そして、このデータに対応した「Movie_BOX」('moov')202と「Movie_Fragment_BOX」('moof')212の2つの管理情報を管理情報生成部105内で生成する。そして、マスターデータ配信部106内の送信用バッファmoov Buffer1062とmoof Buffer1063にそれぞれ格納する。
そして、マスターデータ配信部106は、送信バッファ1061〜1063に格納されたデータをまとめてマスターデータとして配信する。つまり、中間サーバ101のマスターデータ受信部107で受信されるマスターデータは、「Media_Data_BOX」('mdat')と「Movie_BOX」('moov')と「Movie_Fragment_BOX」('moof')の3つのデータである。そして、この3つのデータから成るマスターデータは、中間サーバ101が複数ある場合、全ての中間サーバに対して共通して配信される。
次に、マスターデータを受信した中間サーバ101では、マスターデータと再生装置情報管理部112において保持されている再生装置102の接続情報をもとに、コンテンツデータ生成部108において各再生装置102毎のコンテンツデータを生成する。
ここで、フラグメント配信において、複数の再生装置102の情報を管理する為の仕組みと、個々の再生装置102に適したコンテンツデータを生成する方法について説明する。
図3は、中間サーバ101内で複数の再生装置102の情報を管理し、個々の再生装置102に適したコンテンツデータを生成・配信する処理を説明するフローチャートである。
図3は、中間サーバ101内で複数の再生装置102の情報を管理し、個々の再生装置102に適したコンテンツデータを生成・配信する処理を説明するフローチャートである。
まず、ある1つの中間サーバ101に既に接続している複数の再生装置102には、再生装置毎の接続状態を管理するために、個別のIDが割り当てられている。そして最初にステップS301において、既に接続している再生装置が取り外されたか電源OFFされたか等により切断されたか否かを判断する。切断されている場合はステップS302において、対応するIDのデータを初期化し再利用可能な状態にする。
次にステップS303において、再生装置102の接続要求があるか否かを判断する。接続要求がある場合はステップS304において、新規或いは再接続の再生装置102に対して管理データを識別する為のIDを割り当て、再生装置102毎の状態管理を可能にする。
次にステップS305において、再生装置102毎の接続情報を参照して、個別の再生装置102毎に適したコンテンツデータを生成する。ステップS306において、再生装置の情報管理として保持しているヘッダータイプの更新を行なう。これらの処理はコンテンツデータ生成部108内で行なわれ、処理内容の詳細については後述する。
続いてステップS307において、生成したコンテンツデータを再生装置102に配信する。
中間サーバ101では、接続されている再生装置102の接続情報の保持・管理のために、例えば図4に示すような再生装置接続情報を再生装置毎に保存する。図4の再生装置接続情報400は再生装置102の接続状態を管理する為のデータ構造体の例であり、再生装置情報管理部112にて保持・管理される。
「ST_MOOFClient」は再生装置102毎の状態を管理する為のデータ構造体であり、各メンバー変数の意味は以下の通りである。
「FragHeaderType」は、今回配信するコンテンツデータに付加する管理情報のタイプを示しており、「Movie_BOX」('moov')202と「Movie_Fragment_BOX」('moof')212のどちらかを識別するために用いられる。0がmoov、1がmoofを意味する。ある再生装置102に対して、最初に配信するコンテンツデータには「Movie_BOX」('moov')が付加され、以降は「Movie_Fragment_BOX」('moof')が付加される。
「FragHeaderType」は、今回配信するコンテンツデータに付加する管理情報のタイプを示しており、「Movie_BOX」('moov')202と「Movie_Fragment_BOX」('moof')212のどちらかを識別するために用いられる。0がmoov、1がmoofを意味する。ある再生装置102に対して、最初に配信するコンテンツデータには「Movie_BOX」('moov')が付加され、以降は「Movie_Fragment_BOX」('moof')が付加される。
「SequenceNUM」は「Movie_Fragment_BOX」('moof')212の管理情報を付加してコンテンツを生成する場合に、「Movie_Fragment_BOX」内の所定の位置に示すべき数字を示す。この数字は最初に「Movie_Fragment_BOX」の管理情報を付加したコンテンツデータを生成・配信する時に1から開始され、以降、コンテンツデータの生成・配信毎にインクリメントされる。
「VideoBaseOffset」と「AudioBaseOffset」は、上述の「SequenceNUM」と同様に「Movie_Fragment_BOX」内に示すべき基準オフセット値を示し、VideoトラックとAudioトラックに関して適切な値を設定する必要がある。
以降の3つのメンバー変数「SequenceNUMPos」と「VideoBaseOffsetPos」と「AudioBaseOffsetPos」は、それぞれ、メンバー変数「SequenceNUM」と「VideoBaseOffset」と「AudioBaseOffset」の記録位置情報である。つまり、メンバー変数「SequenceNUM」、「VideoBaseOffset」及び「AudioBaseOffset」で示された値を、「Movie_Fragment_BOX」('moof')212内のどこに記録するかを示す情報である。
具体的には、例えば「Movie_Fragment_BOX」('moof')の先頭からのオフセット位置を示す。そして、「Movie_Fragment_BOX」('moof')内の、メンバ変数「SequenceNUMPos」、「VideoBaseOffsetPos」及び「AudioBaseOffsetPos」が示す位置のデータをそれぞれ書き換え、各再生装置102に適したフラグメント配信用のコンテンツデータを生成する。
再生装置接続情報を構成するもう1つのデータ構造体「ST_FragComInfo」は、4つのメンバ変数を有する。
「Client ID」は、再生装置102の各々に割り当てられた固有のIDである。
「IsAlive」は、「Client ID」で特定される再生装置の接続状況(接続しているか否か)を示す。0は切断を、1は接続を表す。
「Client ID」は、再生装置102の各々に割り当てられた固有のIDである。
「IsAlive」は、「Client ID」で特定される再生装置の接続状況(接続しているか否か)を示す。0は切断を、1は接続を表す。
「TrackConfig」は、トラック構成(例えば受信するオーディオ/ビデオトラックの有無)を示す。0は両トラックの存在を、1はオーディオトラックのみ、2はビデオトラックのみであることを示す。
「ST_MOOFClient」は、対応するデータ構造体「ST_MOOFClient」の先頭のアドレスを保持する。
「ST_MOOFClient」は、対応するデータ構造体「ST_MOOFClient」の先頭のアドレスを保持する。
このように、データ構造体「ST_FragComInfo」により、個々の再生装置102の状態を保持・管理することが出来る。
ここで、図3の処理フローにおける「FragHeaderType」に関しての処理についての説明を補足する。
フラグメント映像形式では‘moov’形式のヘッダは、前述のようにファイルの先頭(個々の再生装置102に最初に配信されるデータ)のみに付加され、以降は‘moof’形式のヘッダによって管理情報が保持される。そこで、図3のステップS302における管理データの初期化では、使用していないIDに対応する「FragHeaderType」は「Movie_BOX」('moov')を示す定数(本実施形態では0)を設定する。そして、ステップS306における管理データのヘッダータイプ更新では、「FragHeaderType」に「Movie_BOX」('moov')を示す定数(0)が設定されているものがあれば、これを「Movie_Fragment_BOX」('moof')を示す定数(本実施形態では1)に変更する。これにより、フラグメント映像形式として正しい形式の管理情報が付加されたコンテンツデータを生成することができる。
フラグメント映像形式では‘moov’形式のヘッダは、前述のようにファイルの先頭(個々の再生装置102に最初に配信されるデータ)のみに付加され、以降は‘moof’形式のヘッダによって管理情報が保持される。そこで、図3のステップS302における管理データの初期化では、使用していないIDに対応する「FragHeaderType」は「Movie_BOX」('moov')を示す定数(本実施形態では0)を設定する。そして、ステップS306における管理データのヘッダータイプ更新では、「FragHeaderType」に「Movie_BOX」('moov')を示す定数(0)が設定されているものがあれば、これを「Movie_Fragment_BOX」('moof')を示す定数(本実施形態では1)に変更する。これにより、フラグメント映像形式として正しい形式の管理情報が付加されたコンテンツデータを生成することができる。
また、コンテンツデータの生成は、中間サーバ101内のコンテンツデータ生成部108で処理される。以下、コンテンツデータ生成部108において、マスターデータと再生装置接続情報400をもとにフラグメント配信用のコンテンツデータを生成する処理手順について、図9に示すフローチャートを参照して説明する。
コンテンツデータ生成処理が開始されると、まずステップS901において、再生装置接続情報400の「FragHeaderType」の値を参照してヘッダータイプの識別(‘moov'か‘moof’のどちらか)を行なう。
ヘッダータイプが‘moov’であった場合、ステップS902において、Movie_BOX('moov')と、分割されたメディアデータであるMedia_Data_BOX('mdat')を連結したデータを配信用データとして生成する。一方、ヘッダータイプが‘moof’であった場合は、まずステップS903において、再生装置接続情報400を参照してMovie_Fragment_BOX('moof')内のデータの書き換えを行なう。そして、ステップS904において、内容を一部書き換えたMovie_Fragment_BOX('moof')と、分割されたメディアデータであるMedia_Data_BOX('mdat')を連結したデータを生成する。
続いてステップS905において、ステップS902又はステップS904において連結したデータを、フラグメント配信用のコンテンツデータとしてコンテンツデータ配信用のバッファなどに保管する。
最後に、ステップS906において、再生装置接続情報400の更新を行う。すなわち、「SequenceNUM」を1インクリメントし、「VideoBaseOffset」と「AudioBaseOffset」の値を、生成したデータの大きさに基づいて更新する。
この一連の処理は、個々の中間サーバ101において、接続されている再生装置102の数だけ、即ち、再生装置102毎に割り振られた再生装置接続情報400の「ClientID」の数だけ繰り返される。これにより、その中間サーバ101の管理下にある個々の再生装置102に対応するコンテンツデータが生成される。
ここで上述のステップS903におけるMovie_Fragment_BOX('moof')212内のデータの書き換え、即ち「SequenceNUM」と「VideoBaseOffset」と「AudioBaseOffset」の書き換えについて図4、及び図5を用いて詳細に説明する。
図5は、本実施形態における、「Movie_Fragment_BOX」('moof')212内の所定の位置に記録すべき3種類のパラメータ、シーケンスナンバーと基準オフセット(ビデオ、オーディオ)の書き換え処理の説明を行なう為の図である。
シーケンスナンバーは「Movie_Fragment_BOX」('moof')212内の「Movie_Fragment_Header_BOX」('mfhd')2121内の所定の位置P1に、適切な値を設定しなければならない。そして、この書き換え位置は、再生装置接続情報における、メンバ変数「SequenceNUMPos」により、また書き換える値は「SequenceNUM」により、「ClientID」毎に(すなわち、再生装置毎に)管理されている。つまり、メンバ変数「SequenceNUMPos」は図5のシーケンスナンバーポジションに、「SequenceNUM」は、シーケンスナンバーに相当する。
「SequenceNUM」は前述の通り、1を初期値として1づつインクリメントする値であるが、その書き換え位置「SequenceNUMPos」は、moofの先頭からの位置であるから、同様の処理シーケンスを繰り返す場合、通常は固定値となる。しかし、何らかの要因により「SequenceNUMPos」が変更される場合、この値は、マスターデータを生成するネットワークカメラ100から提供されることが望ましい。
基準オフセットについてもシーケンスナンバーと同様に、「Movie_Fragment_BOX」('moof')212内の、「VideoBaseOffsetPos」と「AudioBaseOffsetPos」が指す位置P2のデータを各々「VideoBaseOffset」と「AudioBaseOffset」の値に書き換える。なお、図5ではAudioとVideoの区別はしていないが、実際にはAudioとVideoの各々に対して個別に書き換えを行う。「VideoBaseOffsetPos」と「AudioBaseOffsetPos」はそれぞれ基準オフセットポジションP2を指す値であり、「VideoBaseOffset」と「AudioBaseOffset」の値が、書き込まれる基準オフセットに相当する。
基準オフセットの値は、その再生装置に対してそれまでに配信したデータの合計(バイト数)に、今回配信する「Movie_Fragment_BOX」('moof')212のサイズを加えた値である。
基準オフセットポジション2種類(「VideoBaseOffsetPos」と「AudioBaseOffsetPos」)は、「SequenceNUMPos」と同様、同じ処理シーケンスを繰り返す限り、通常は固定値となる。しかし、何らかの要因(例えば、フレームレートやビットレートの動的な変更など)により、書き換え位置が変更される場合、この値は、マスターデータを生成するネットワークカメラ100から提供されることが望ましい。
この様な方法により、中間サーバ101内のコンテンツデータ生成部108で、再生装置102毎に適したデータに書き換えられ生成されたコンテンツデータは、コンテンツデータ配信部109より、個々の再生装置102に配信される。このコンテンツデータは、各再生装置102内のコンテンツデータ受信部110で受信され、コンテンツデータ再生処理部111において再生処理が行なわれる。
受信したコンテンツデータを連結すれば、フラグメント映像形式のデータと同等である。従って、再生装置102は、フラグメント映像形式のデータを分割してダウンロード再生しているのと同じであり、結果として連続した一つの映像データとして再生される。
図6は、本実施形態における各装置間のデータの流れを模式的に示す図である。
図6において、ネットワークカメラ100から3つの中間サーバ101a〜101cへ配信されるデータは、符号化映像/音声データと管理情報の2つのデータをあわせたマスターデータであり、全ての中間サーバに同一のマスターデータが配信される。一方、中間サーバ101aから、再生装置102a−1〜102a−3に配信されるデータは、各々の再生装置毎の接続情報に基づいて部分的に改変されたコンテンツデータである。同様に、中間サーバ101bから再生装置102b−1〜102b−3、中間サーバ101cから再生装置102c−1〜102c−3へ配信されるデータも、再生装置毎に異なる。
図6において、ネットワークカメラ100から3つの中間サーバ101a〜101cへ配信されるデータは、符号化映像/音声データと管理情報の2つのデータをあわせたマスターデータであり、全ての中間サーバに同一のマスターデータが配信される。一方、中間サーバ101aから、再生装置102a−1〜102a−3に配信されるデータは、各々の再生装置毎の接続情報に基づいて部分的に改変されたコンテンツデータである。同様に、中間サーバ101bから再生装置102b−1〜102b−3、中間サーバ101cから再生装置102c−1〜102c−3へ配信されるデータも、再生装置毎に異なる。
本実施形態によれば、個々の再生装置に合わせたデータの生成を、中間サーバ101が行うようにした。そのため、ネットワークカメラ100は、再生装置102の数や増減に関係なく、全ての中間サーバ101に共通したマスターデータを配信すればよい。
結果として、ネットワークカメラ100が再生装置毎のデータを生成する場合と比較して、ネットワークカメラ100の処理負荷が大幅に軽減される。また、ネットワークカメラ100と中間サーバ101との間のネットワークトラフィックも、中間サーバ101の数にのみ依存するため、やはり大幅に軽減される。
換言すれば、本実施形態において、ネットワークカメラ100は、再生装置毎のコンテンツデータ生成を中間サーバ101a〜101cに任せることでデータ処理負荷を分散する。
(第2の実施形態)
次に第2の実施形態として、第1の実施形態におけるネットワークカメラ100の中に中間サーバ101の機能を取り込んだ形態について説明する。
次に第2の実施形態として、第1の実施形態におけるネットワークカメラ100の中に中間サーバ101の機能を取り込んだ形態について説明する。
図10は、本発明の第2の実施形態に係るデータ配信システムの機能構成例を示すブロック図であり、図1と同じ構成には同じ参照数字を付してある。図1と図10との比較から明らかなように、本実施形態においては、ネットワークカメラ700が、第1の実施形態におけるネットワークカメラ100と中間サーバ101の機能を有している。
そして、管理情報生成部105が出力する符号化映像/音声データと管理情報とを、各中間サーバ101のコンテンツデータ生成部108に直接入力する。
図7は、第2の実施形態に係るデータ配信システムにおける各装置間のデータの流れについて説明した図である。図7に示すように、本実施形態では、ネットワークカメラ700内で直接、複数の再生装置102の状態管理を行ない、その状態管理している情報とマスターデータを基に各々の再生装置102に適したコンテンツデータを生成し、配信するものである。
本実施形態においても、ネットワークカメラ700内では、中間サーバ101に相当する構成を複数用意することで、内部処理の負荷を分散することが可能である。またこの場合、中間サーバ101に相当するものは、1つだけでも複数あっても良く、接続している再生装置の数や内部バスのデータトラフィックの増減などに因って、適応的にその数を変化させても良い。
(第3の実施形態)
第1の実施形態では、マスターデータ内の管理情報のうち「Movie_Fragment_BOX」('moof')212を個別の再生装置102に適した内容に修正する処理は、中間サーバ101内のコンテンツデータ生成部で行なう構成とした。本実施形態では、この処理をネットワークカメラ内で行なう。すなわち、本実施形態では、ネットワークカメラがデータ配信装置としても機能する。
第1の実施形態では、マスターデータ内の管理情報のうち「Movie_Fragment_BOX」('moof')212を個別の再生装置102に適した内容に修正する処理は、中間サーバ101内のコンテンツデータ生成部で行なう構成とした。本実施形態では、この処理をネットワークカメラ内で行なう。すなわち、本実施形態では、ネットワークカメラがデータ配信装置としても機能する。
本実施形態にかかるデータ配信システムの機能構成は、第1の実施形態と同様、図1に示す構成でよい。ただし、ネットワークカメラ100における管理情報生成部105とマスターデータ配信部106、中間サーバ101におけるマスターデータ受信部107とコンテンツデータ生成部108で処理する内容と扱うデータが若干異なる。
即ち、第3の実施形態では、再生装置102の状態を管理する再生装置接続情報400に基づいて、「Movie_Fragment_BOX」('moof')212を個別の再生装置102に適した内容に修正したデータを生成する処理を管理情報生成部105で行なう。
従って、再生装置102が複数接続している場合、マスターデータ配信部106から中間サーバ101に配信されるマスターデータは、以下のようになる。「Media_Data_BOX」('mdat')、「Movie_BOX」('moov')及び、再生装置102毎に適した内容を有する複数の「Movie_Fragment_BOX」('moof')。つまり、管理情報生成部105は、第1の実施形態では一種類のmoofを生成したのに対し、本実施形態では、個々の再生装置102に合わせた内容のmoofを生成する。
中間サーバ101では、マスターデータ受信部107にてこれらのデータを受信する。そして、コンテンツデータ生成部108において、マスターデータに含まれるmoofと、再生装置接続情報400とに基づいて、moov又はmoofと、 mdatを適切に組み合わせることにより、個別の再生装置102に対応したコンテンツデータを生成する。
つまり、第1の実施形態との大きな違いは、個別の再生装置102に適した「Movie_Fragment_BOX」('moof')を生成する処理をネットワークカメラ100側で行なう点である。そして、中間サーバ101側では、マスターデータの内部(moof)は全く改変することなく、「Movie_BOX」('moov')と「Movie_Fragment_BOX」('moof')のどちらかと「Media_Data_BOX」('mdat')を適切に組み合わせることにより、個別の再生装置に適したコンテンツデータを生成することが可能となる。
ネットワークカメラ100で、再生装置102に合わせたmoofを作成するには、ネットワークカメラ100でも再生装置接続情報400の情報が必要となる。そのため、中間サーバ101内の再生装置情報管理部112において保持・管理している再生装置接続情報400をネットワークカメラ100が利用可能とする必要がある。
ネットワークカメラ100が管理情報を生成する際に逐次中間サーバ101にアクセスして再生装置接続情報400を参照もしくは取得することは効率的でない。そのため、例えば、ネットワークカメラ100は、接続している中間サーバ101から再生装置接続情報400を所定のタイミングで取得し、ネットワークカメラ100内の図示しない記憶装置に記憶する。また、その後所定のタイミングで再生装置接続情報400の更新を行い、切断された再生装置102に対するmoofの作成による負荷を低減することが好ましい。
なお、再生装置102の接続状況は中間サーバ101が直接管理しているため、接続状況に変化があり、中間サーバ101が保持する再生装置接続情報400に変化が生じた場合には、中間サーバ101からネットワークカメラ100へ通知を行うようにしても良い。そして、通知に応答してネットワークカメラ100が最新の再生装置接続情報400を取得し、カメラ内の再生装置接続情報400を更新する。もちろん、中間サーバ101からネットワークカメラ100に対して最新の再生装置接続情報400を送信するようにしても良い。
このように、本実施形態のネットワークカメラ100は、自らが保持する再生装置接続情報400に基づいて管理情報(moovと再生装置毎のmoof)を生成し、符号化映像/音声データ(mdat)とともにマスターデータとして中間サーバ101に配信する。
中間サーバ101のコンテンツデータ生成部は、マスターデータに含まれる、再生装置102毎の「Movie_Fragment_BOX」('moof')に含まれる、再生装置に固有な情報を参照する。そして、自らが保持する再生装置接続情報400に含まれる情報と対応させ、どの再生装置に配信するコンテンツデータに使用すべきmoofであるかを識別する。
moofに含まれ、かつ再生装置接続情報400に含まれる再生装置の固有情報としては、例えば基準オフセット、シーケンスナンバーの少なくともいずれか、好ましくは両方がある。これらの情報に基づいて適切なmoofを識別し、各再生装置102に適したコンテンツデータを生成する。なお、ヘッダタイプがmoovの場合には識別処理は不要である。
以上の様に第3の実施形態では、ネットワークカメラ100から中間サーバ101に配信するマスターデータの内容が、
「Media_Data_BOX」('mdat')のデータ1つ
「Movie_BOX」('moov')のデータ1つ
最大で再生装置102の数の「Movie_Fragment_BOX」('moof')のデータ
となる。また、個々の再生装置に関する情報を中間サーバから取得する必要もある。
「Media_Data_BOX」('mdat')のデータ1つ
「Movie_BOX」('moov')のデータ1つ
最大で再生装置102の数の「Movie_Fragment_BOX」('moof')のデータ
となる。また、個々の再生装置に関する情報を中間サーバから取得する必要もある。
そのため、第1の実施形態と比較して、特に「Movie_Fragment_BOX」('moof')のデータを生成する手間と、中間サーバ101との間のトラフィックは増加する。しかし、中間サーバ101では、マスターデータの中身を改変する必要がなく、中間サーバ101の処理負荷は軽減される。
いずれにせよ、ネットワークカメラ100が再生装置毎のコンテンツデータを生成する従来技術のデータ配信システムと比較すると、処理負荷及びネットワークトラフィックのいずれもを低減することが可能である。
(他の実施形態)
上述の第1から第3の実施形態では、ISO Base Media File Formatにおけるフラグメント映像形式を利用してライブ映像配信を行なうフラグメント配信を用いる方法について説明した。しかし、本発明は、HTTPなどのファイル転送プロトコルを用いたライブ映像配信において、複数の再生装置に対して配信しているコンテンツデータ間の差異がヘッダ部分の情報のみであるような場合に適用可能である。
上述の第1から第3の実施形態では、ISO Base Media File Formatにおけるフラグメント映像形式を利用してライブ映像配信を行なうフラグメント配信を用いる方法について説明した。しかし、本発明は、HTTPなどのファイル転送プロトコルを用いたライブ映像配信において、複数の再生装置に対して配信しているコンテンツデータ間の差異がヘッダ部分の情報のみであるような場合に適用可能である。
また、上述の実施形態では、映像と音声の両方のデータを配信するものとして説明したが、いずれか一方のみの配信を行うシステムにも本発明を適用することが可能である。
また、前述した実施形態の機能を実現するコンピュータプログラムを、コンピュータを含むシステム或いは装置のコンピュータが実行することによって同等の機能が達成される場合も本発明に含む。コンピュータを含むシステム又はコンピュータへのプログラムの供給は、記録媒体から直接行っても、有線/無線通信を用いて行っても良い。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体がある。また、MO、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−R、DVD−RW等の光/光磁気記憶媒体、不揮発性の半導体メモリなどもある。
有線/無線通信を用いたプログラムの供給方法としては、以下のような方法がある。コンピュータネットワーク上のサーバに、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムデータファイル)を記憶する。そして、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法である。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。プログラムデータファイルとしては、本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等でよい。
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してダウンロードさせることによって供給することもできる。この場合、その鍵情報を使用することにより、暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現されるだけでなく、他のプログラムを利用することによって実施形態の機能を実現してもよい。例えば、プログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行うことで、前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードや、コンピュータに接続された機能拡張ユニットで実行されることで前述した実施形態の機能が実現されてもよい。具体的には、機能拡張ボードや機能拡張ユニットが備えるメモリやCPUによってプログラムが実行され、実際の処理の一部または全部を担っても良い。
Claims (10)
- 映像データと音声データの少なくとも1つを含むメディアデータを、通信可能に接続された受信端末装置に配信するためのデータ配信装置であって、
前記受信端末装置に関する情報である受信端末装置情報を管理する情報管理手段と、
予め定められた単位で分割されたメディアデータと、当該メディアデータに対応する第1及び第2の付加データとを受信する受信手段と、
配信先の受信端末装置に対応する前記受信端末装置情報に基づいて、前記第1及び第2の付加情報の一方と、前記分割されたメディアデータとから、前記配信先の受信端末装置用の配信データを生成する配信データ生成手段と、
前記配信データを対応する受信端末装置へ送信する送信手段とを有し、
前記配信データ生成手段が、前記第1の付加情報を用いる場合には、前記第1の付加情報、対応する前記メディアデータとから前記配信データを生成し、前記第2の付加情報を用いる場合には、前記第2の付加情報を、前記配信先の受信端末装置に対応する前記受信端末装置情報に基づいて変更した変更後の前記第2の付加情報と、対応する前記メディアデータとから前記配信データを生成することを特徴とするデータ配信装置。 - 前記データ生成手段が、前記配信先の受信端末装置に最初に送信する配信データを生成する場合には前記第1の付加情報を用い、その後は前記第2の付加情報を用いて前記配信データを生成することを特徴とする請求項1記載のデータ配信装置。
- 前記受信端末装置が複数存在する場合、前記変更後の前記第2の付加情報が前記受信端末装置毎に異なり、対応する前記メディアデータは共通であることを特徴とする請求項1又は請求項2記載のデータ配信装置。
- 前記第1及び第2の付加情報が、異なる種類のヘッダ情報であることを特徴とする請求項1乃至請求項3のいずれか1項に記載のデータ配信装置。
- さらに、前記メディアデータを取得する手段と、
前記メディアデータを前記予め定められた単位で分割する分割手段と、
前記分割したメディアデータに対応する前記第1及び第2の付加情報を生成する付加情報生成手段とを有し、
前記受信手段が、前記負荷情報生成手段から、前記分割したメディアデータと、前記第1及び第2の付加情報を受信することを特徴とする請求項1乃至請求項4のいずれか1項記載のデータ配信装置。 - 映像データと音声データの少なくとも1つを含むメディアデータを、受信端末装置に配信するためのデータに変換して出力するデータ出力装置であって、
前記メディアデータを取得する取得手段と、
前記メディアデータを予め定めた単位で分割する分割手段と、
前記受信端末装置に関する情報を記憶する記憶手段と、
前記分割したメディアデータに対応する第1及び第2の付加情報を生成する付加情報生成手段と、
前記分割したメディアデータと、前記第1及び第2の付加情報を前記受信端末装置に配信するためのデータとして送信する送信手段とを有し、
前記付加情報生成手段が、1つの前記分割したメディアデータに対し、1つの前記第1の付加情報と前記受信端末毎の前記第2の付加手段を生成し、前記第2の付加手段を前記受信端末装置に関する情報を用いて生成することを特徴とするデータ出力装置。 - 映像データと音声データの少なくとも1つを含むメディアデータを、通信可能に接続された受信端末装置に配信するためのデータ配信装置であって、
前記受信端末装置に関する情報である受信端末装置情報を管理する情報管理手段と、
予め定められた単位で分割されたメディアデータと、当該メディアデータに対応する付加情報であって、1つの第1の付加情報と、前記受信端末毎の第2の付加データとを受信する受信手段と、
配信先の受信端末装置に対応する前記受信端末装置情報に基づいて、前記第1及び第2の付加情報の一方と、前記分割されたメディアデータとから、前記配信先の受信端末装置用の配信データを生成する配信データ生成手段と、
前記配信データを対応する受信端末装置へ送信する送信手段とを有し、
前記配信データ生成手段が、前記第1の付加情報を用いる場合には、前記第1の付加情報、前記分割されたメディアデータとから前記配信データを生成し、前記第2の付加情報を用いる場合には、前記第2の付加情報のうち、前記配信先の受信端末装置に対応するものと、前記分割されたメディアデータとから前記配信データを生成することを特徴とするデータ配信装置。 - 請求項6記載のデータ出力装置と、請求項7記載のデータ配信装置とが通信可能に接続され、前記受信手段が、前記データ装置から前記分割されたメディアデータと前記付加情報とを受信することを特徴とするデータ配信システム。
- コンピュータを、請求項1乃至請求項5又は請求項7のいずれか1項に記載のデータ配信装置として機能させるプログラム。
- 請求項9記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005365423A JP2007173987A (ja) | 2005-12-19 | 2005-12-19 | マルチメディアデータ送受信システム、及び装置、又はプログラム |
US11/610,410 US20070143807A1 (en) | 2005-12-19 | 2006-12-13 | Data distribution apparatus, data provision apparatus and data distribution system comprised thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005365423A JP2007173987A (ja) | 2005-12-19 | 2005-12-19 | マルチメディアデータ送受信システム、及び装置、又はプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007173987A true JP2007173987A (ja) | 2007-07-05 |
Family
ID=38175312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005365423A Pending JP2007173987A (ja) | 2005-12-19 | 2005-12-19 | マルチメディアデータ送受信システム、及び装置、又はプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070143807A1 (ja) |
JP (1) | JP2007173987A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009050894A1 (ja) * | 2007-10-17 | 2009-04-23 | Panasonic Corporation | 映像記録装置、映像記録方法、映像記録プログラム及び集積回路 |
WO2012011449A1 (ja) | 2010-07-20 | 2012-01-26 | シャープ株式会社 | プロキシサーバ、中継方法、通信システム、中継制御プログラム、および記録媒体 |
WO2012011467A1 (ja) | 2010-07-20 | 2012-01-26 | シャープ株式会社 | データ配信システム、データ配信方法、配信側データ中継装置、及び受信側データ中継装置 |
JP2013521691A (ja) * | 2010-03-03 | 2013-06-10 | サムスン エレクトロニクス カンパニー リミテッド | メディアファイルの記録及び再生に係る装置及び方法とその記録媒体 |
KR101384564B1 (ko) * | 2012-11-29 | 2014-04-17 | (주)투비소프트 | 데이터셋 전송 프로토콜을 이용한 다중 요청 처리 방법 |
JP2015516742A (ja) * | 2012-04-02 | 2015-06-11 | エリクソン テレビジョン インコーポレイテッド | 適応レートコンテンツストリームをセグメント化、配信、及び再セグメント化する方法及び装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4486291B2 (ja) * | 1999-07-14 | 2010-06-23 | パナソニック株式会社 | 情報提供装置、情報受信装置および記憶媒体 |
US8489702B2 (en) | 2007-06-22 | 2013-07-16 | Apple Inc. | Determining playability of media files with minimal downloading |
EP2150059A1 (en) * | 2008-07-31 | 2010-02-03 | Vodtec BVBA | A method and associated device for generating video |
US8909806B2 (en) * | 2009-03-16 | 2014-12-09 | Microsoft Corporation | Delivering cacheable streaming media presentations |
US8782267B2 (en) | 2009-05-29 | 2014-07-15 | Comcast Cable Communications, Llc | Methods, systems, devices, and computer-readable media for delivering additional content using a multicast streaming |
US9237387B2 (en) * | 2009-10-06 | 2016-01-12 | Microsoft Technology Licensing, Llc | Low latency cacheable media streaming |
US8751677B2 (en) * | 2009-10-08 | 2014-06-10 | Futurewei Technologies, Inc. | System and method to support different ingest and delivery schemes for a content delivery network |
JP2011087103A (ja) * | 2009-10-15 | 2011-04-28 | Sony Corp | コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供 |
KR101656102B1 (ko) * | 2010-01-21 | 2016-09-23 | 삼성전자주식회사 | 컨텐츠 파일 생성/제공 장치 및 방법 |
WO2011132937A2 (en) * | 2010-04-20 | 2011-10-27 | Samsung Electronics Co., Ltd. | Interface apparatus and method for transmitting and receiving media data |
JP2012257041A (ja) * | 2011-06-08 | 2012-12-27 | Sony Corp | 通信装置、通信システム、通信方法及びプログラム |
JP5617781B2 (ja) * | 2011-07-13 | 2014-11-05 | パナソニック株式会社 | 制御装置、制御システムおよび制御方法 |
JP2013051607A (ja) * | 2011-08-31 | 2013-03-14 | Canon Inc | データ処理装置、方法および制御プログラム |
US8825811B2 (en) | 2012-03-15 | 2014-09-02 | International Business Machines Corporation | Connection management and optimization for services delivered over networks |
US8904014B2 (en) | 2012-03-15 | 2014-12-02 | International Business Machines Corporation | Content delivery mechanisms for multicast communication |
CN107360424B (zh) * | 2017-07-28 | 2019-10-25 | 深圳岚锋创视网络科技有限公司 | 一种基于视频编码器的码率控制方法、装置及视频服务器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987211A (en) * | 1993-01-11 | 1999-11-16 | Abecassis; Max | Seamless transmission of non-sequential video segments |
US6675384B1 (en) * | 1995-12-21 | 2004-01-06 | Robert S. Block | Method and apparatus for information labeling and control |
JP2003009102A (ja) * | 2001-04-18 | 2003-01-10 | Victor Co Of Japan Ltd | オブジェクトデータの符号化方法、オブジェクトデータの伝送方法、オブジェクトデータの復号方法、オブジェクトデータ符号化装置、オブジェクトデータ生成装置、オブジェクトデータ復号装置、オブジェクトデータ符号化用プログラム、オブジェクトデータ復号用プログラム、及びオブジェクトデータ記録媒体 |
WO2002091778A1 (en) * | 2001-05-04 | 2002-11-14 | Nokia Corporation | Method for providing parameters during a change of access, cellular communications system, user equipment and network element |
US7295578B1 (en) * | 2001-09-12 | 2007-11-13 | Lyle James D | Method and apparatus for synchronizing auxiliary data and video data transmitted over a TMDS-like link |
WO2004112326A1 (ja) * | 2003-06-10 | 2004-12-23 | Fujitsu Limited | パケット転送方法及び装置 |
-
2005
- 2005-12-19 JP JP2005365423A patent/JP2007173987A/ja active Pending
-
2006
- 2006-12-13 US US11/610,410 patent/US20070143807A1/en not_active Abandoned
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009050894A1 (ja) * | 2007-10-17 | 2009-04-23 | Panasonic Corporation | 映像記録装置、映像記録方法、映像記録プログラム及び集積回路 |
US8094993B2 (en) | 2007-10-17 | 2012-01-10 | Pansonic Corporation | Video recording device, video recording method, video recording program, and integrated circuit |
JP5032583B2 (ja) * | 2007-10-17 | 2012-09-26 | パナソニック株式会社 | 映像記録装置、映像記録方法、映像記録プログラム及び集積回路 |
JP2013521691A (ja) * | 2010-03-03 | 2013-06-10 | サムスン エレクトロニクス カンパニー リミテッド | メディアファイルの記録及び再生に係る装置及び方法とその記録媒体 |
WO2012011449A1 (ja) | 2010-07-20 | 2012-01-26 | シャープ株式会社 | プロキシサーバ、中継方法、通信システム、中継制御プログラム、および記録媒体 |
WO2012011467A1 (ja) | 2010-07-20 | 2012-01-26 | シャープ株式会社 | データ配信システム、データ配信方法、配信側データ中継装置、及び受信側データ中継装置 |
JP2015516742A (ja) * | 2012-04-02 | 2015-06-11 | エリクソン テレビジョン インコーポレイテッド | 適応レートコンテンツストリームをセグメント化、配信、及び再セグメント化する方法及び装置 |
KR101384564B1 (ko) * | 2012-11-29 | 2014-04-17 | (주)투비소프트 | 데이터셋 전송 프로토콜을 이용한 다중 요청 처리 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20070143807A1 (en) | 2007-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007173987A (ja) | マルチメディアデータ送受信システム、及び装置、又はプログラム | |
US11647071B2 (en) | Method and apparatus for transmitting and receiving content | |
TWI774744B (zh) | 在使用mime類型參數之網路視頻串流中發信重要視頻資訊 | |
JP5288710B2 (ja) | マルチメディアデータを記録した情報保存媒体、その再生方法及び再生装置 | |
JP6920578B2 (ja) | 映像ストリーミング装置、映像編集装置および映像配信システム | |
RU2481720C2 (ru) | Потоковая передача данных в режиме реального времени или в режиме, близком к реальному времени | |
US8818021B2 (en) | Watermarking of digital video | |
JP6285608B2 (ja) | ネットワークを介して交換されたファイルのためのエラー処理 | |
CN110870282B (zh) | 使用网络内容的文件轨处理媒体数据 | |
US20050193138A1 (en) | Storage medium storing multimedia data, and method and apparatus for reproducing the multimedia data | |
EP4038895A1 (en) | Use of extensions in gltf2 scene description to support video and audio data | |
CN113287323A (zh) | 用于流媒体数据的多解码器接口 | |
US11321516B2 (en) | Processing dynamic web content of an ISO BMFF web resource track | |
JPWO2016174960A1 (ja) | 受信装置、送信装置、およびデータ処理方法 | |
JP2014017741A (ja) | コンテンツ送信装置、コンテンツ再生装置、コンテンツ配信システム、コンテンツ送信装置の制御方法、コンテンツ再生装置の制御方法、制御プログラムおよび記録媒体 | |
TWI820227B (zh) | 用於媒體資料之網路串流之初始化集合 | |
KR100640918B1 (ko) | 인터넷 스트리밍 서비스를 위한 스트림 파일 제작 방법 | |
JP2005110024A (ja) | データ送信装置、データ送受信システム、及びデータ送受信方法 | |
JP2006135569A (ja) | データ配信方法および情報処理装置 | |
JP2019053350A (ja) | 配信装置、再生装置、配信方法、再生方法、再生プログラムおよびデータ構造 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080804 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081002 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091002 |