JP2018182447A - 映像配信装置、映像配信方法及びプログラム - Google Patents

映像配信装置、映像配信方法及びプログラム Download PDF

Info

Publication number
JP2018182447A
JP2018182447A JP2017076652A JP2017076652A JP2018182447A JP 2018182447 A JP2018182447 A JP 2018182447A JP 2017076652 A JP2017076652 A JP 2017076652A JP 2017076652 A JP2017076652 A JP 2017076652A JP 2018182447 A JP2018182447 A JP 2018182447A
Authority
JP
Japan
Prior art keywords
segment
video
unit
management unit
client
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.)
Granted
Application number
JP2017076652A
Other languages
English (en)
Other versions
JP6472478B2 (ja
Inventor
勝敏 田尻
Katsutoshi Tajiri
勝敏 田尻
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 JP2017076652A priority Critical patent/JP6472478B2/ja
Priority to US15/938,529 priority patent/US11102527B2/en
Priority to CN201810300567.9A priority patent/CN108696505B/zh
Publication of JP2018182447A publication Critical patent/JP2018182447A/ja
Application granted granted Critical
Publication of JP6472478B2 publication Critical patent/JP6472478B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4381Recovering the multiplex stream from a specific network, e.g. recovering MPEG packets from ATM cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • H04N21/6379Control signals issued by the client directed to the server or network components directed to server directed to encoder, e.g. for requesting a lower encoding rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP

Abstract

【課題】適切な映像を配信することができる映像配信装置を提供する。【解決手段】映像配信装置は、撮像された映像を単位映像毎に保持する保持手段と、外部の受信装置から送信されるセグメント長に関する要求を受信する受信手段と、保持手段により保持された単位映像から、受信手段により受信された要求に対応するセグメント長の映像のセグメントを生成する生成手段と、生成手段により生成されたセグメントを受信装置へ配信する配信手段と、を備えることを特徴とする。【選択図】図3

Description

本発明は、映像配信装置、映像配信方法及びプログラムに関する。
近年、インターネットの発達により、IP(Internet Protocol)ネットワークを利用して、カメラ等で撮像された映像のリアルタイムによる配信を行うネットワークカメラが利用されている。このような映像の配信は、例えば、オフィスや商業施設等における防犯や、スキー場や動物園等のレジャー施設における状況把握のために利用されている。
ネットワークカメラにおいて映像配信に利用されるプロトコルには、RTP(Real-time Transport Protocol)などのプロトコルがある。しかしながら、RTPは、ネットワーク環境によっては相手側受信装置までデータが届かない、受信装置側のRTP対応アプリケーションが必要など、普及を妨げる課題があった。
一方、映像配信の規格には、MPEG(Moving Picture Experts Group)によって規格化されたDASH(Dynamic Adaptive Streaming over HTTP)や、HLS(HTTP Live Streaming)などがある。これらは、HTTP(Hyper Text Transfer Protocol)を用いたAdaptive Bitrate Streaming技術であり、こうした映像配信技術が普及しつつある。
これらのAdaptive Bitrate Streaming技術では、上記のRTPでの課題が解消され、通常のブラウザ上で映像を受信し再生することができる。例えば、一般的なDASH配信では、送信サーバー側で、解像度やビットレートが異なる複数の映像データを、数秒単位の「セグメント」と言われる映像ファイルに分割する。クライアント側は、分割されたセグメントを順次ダウンロードして映像ファイルの再生を行う。具体的には、クライアント側で、まず映像の全体情報が記述されているMPD(Media Presentation Description)ファイルを取得し、このMPDファイル中から適切な解像度やビットレートの映像ストリームを選択する。そして、クライアントは、このMPDファイルの記述に従って、MPEG2 TSストリームやMP4ファイルの映像データをセグメント単位でダウンロードして再生する。
特許文献1は、セグメント変換部と制御情報変換部とを備える再生装置について開示している。ここでセグメント変換部は、ライブ放送番組を構成する短い時間長の多数のセグメントを録画再生用に長い時間長の少数のセグメントに変換して記憶部に記録する。また制御情報変換部は、多数のセグメント用の再生用情報を含む制御情報を、少数のセグメント用の再生用情報を含む制御情報に変換する。
国際公開第2014/010501号公報
上記のAdaptive Bitrate Streaming技術を用いた動画配信サービスでは、セグメント時間を短くするとクライアントは連続で映像再生するために何度もセグメントを取得しなければならない。このセグメント取得のための処理負荷を考慮して、数秒〜十数秒単位でセグメントを作ることが多い。この場合、ライブ配信では、最初のセグメントを作成完了するまでの数秒〜十数秒間、クライアントもダウンロードすることができず、配信遅延が発生してしまう。
ところで、例えばネットワークカメラのライブ映像配信を考えた場合、複数のクライアントの間で、上記の配信遅延への許容度が異なり得る。例えば、映像を見るだけのクライアントでは、ある程度の配信遅延が許容される一方、ダウンロード回数を少なくして、スムーズな再生を行いたいという要求がある。この場合、このクライアントへは長いセグメントで配信されることが好ましい。
また一方で、例えばカメラ制御を行う等のリアルタイム性を重視するクライアントでは、ダウンロード回数が多少多くても配信遅延を少なくしたいという要求がある。この場合、このクライアントへは短いセグメントで配信されることが好ましい。
しかしながら、例えば、ネットワークカメラのような組込み機器は、CPU性能が低くメモリー容量も限られていることが多い。このため、このような組込み機器において、複数のクライアントの異なる複数の要求に応じて、セグメント時間が異なる複数種類の映像ファイルを準備することは困難であった。
本発明は、上述の事情に鑑みてされたものであり、適切な映像を配信することができる映像配信装置を提供することを目的とする。
本発明の一態様に係る映像配信装置は、撮像された映像を単位映像毎に保持する保持手段と、外部の受信装置から送信されるセグメント長に関する要求を受信する受信手段と、前記保持手段により保持された前記単位映像から、前記受信手段により受信された前記要求に対応するセグメント長の映像のセグメントを生成する生成手段と、前記生成手段により生成された前記セグメントを前記受信装置へ配信する配信手段と、を備えることを特徴とする。
本発明によれば、適切な映像を配信することができる。
本開示の映像配信システムの構成を概略的に示す図である。 映像配信装置であるカメラサーバのハードウェア構成を示すハードウェア構成図である。 図2のハードウェア構成で実現されるカメラサーバの機能構成を示す機能ブロック図である。 受信装置の機能構成を示す機能ブロック図である。 本実施形態の送信態様の一例であるDASH配信の送信データについて説明するための図である。 単位映像を1映像フレームとした場合の第1の映像ストリーム及び第2の映像ストリームの構成を説明するための図である。 映像を第1の映像ストリームにより送信する際の処理の例を示すシーケンス図である。 映像配信システムにおいて第1のクライアント及び第2のクライアントの両方に映像が送信される場合について示すシーケンス図である。 セグメント管理プログラムの処理の一例について示すフローチャートである。 配信管理部の処理の一例について示すフローチャートである。 配信管理部の処理の別の例について示すフローチャートである。
以下、添付図面を参照して、本開示における実施形態について詳細に説明する。なお、以下に説明する実施形態は、実現手段としての一例であり、適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、以下の実施形態に限定されるものではない。また、同様の要素には、同一の符号を付して重複する説明を省略する。
(映像システムの構成)
図1は、本開示の映像配信システム100の構成の一例を概略的に示す図である。この図に示すように、映像配信システム100は、映像配信装置であるカメラサーバ200及び受信装置であるクライアント120を備える。カメラサーバ200及びクライアント120は、互いにネットワーク110で接続される。カメラサーバ200は、カメラ(撮像装置)を備え、撮像映像を、ネットワーク110を介してクライアント120に配信する。なお、映像配信システム100は、例えば、MPEGによって規格化されたDASHや、HLSなどに準拠した映像配信を行うことができる。つまり、映像配信システム100は、HTTPを用いたAdaptive Bitrate Streaming技術を用いた映像配信を行うことができる。
クライアント120は、ネットワーク110を介して、カメラサーバ200にアクセスし、カメラサーバ200から配信される映像を取得する。なお本実施形態において「配信」のとはは、複数のクライアント(受信装置)に送信するものに限られず、一つのクライアントのみに送信する意味も含むものとする。
ここで、ネットワーク110は、通信ネットワークであり、Ethernet(登録商標)等の通信規格に準拠する複数のルータ、スイッチ、ケーブル等から構成される。これに替えて、ネットワーク110は、インターネット、LAN(Local Area Network)や公衆無線ネットワークその他の通信ネットワークにより構成されてもよい。図1では、説明を分かりやすくするために、カメラサーバ200及びクライアント120は、それぞれ1つずつとしているが、カメラサーバ200及びクライアント120のいずれか又は両方とも複数とすることができる。また、本実施形態において、カメラサーバ200及びクライアント120の間の通信ネットワークの通信規格、規模及び構成は、それぞれ自由に選択することができる。
図2は、映像配信装置であるカメラサーバ200のハードウェア構成の一例を示すハードウェア構成図である。カメラサーバ200のハードウェアは、例えば、主に半導体装置とそれらを接続する配線とから構成されることができる。図2に示すように、カメラサーバ200は、CPU(Central Processing Unit)201、一次記憶装置202、二次記憶装置203、画像キャプチャI/F(Interface)205及びネットワークI/F206を備える。また、これらの各部は、内部バス204を介して相互に接続される構成とすることができる。カメラサーバ200は、さらに、画像を画像キャプチャI/F205へ供給するセンサ207を備える。
CPU201は、カメラサーバ200内の各部の動作を総括的に制御する。一次記憶装置202は、RAM(Random Access Memory)に代表される書き込み可能な高速の記憶装置であり、揮発性記憶装置で構成されてよい。この一次記憶装置202は、OS(Operating System)や各種プログラム及び各種データがロードされる記憶装置であり、OSや各種プログラムの作業領域としても使用されてもよい。
二次記憶装置203は、例えば、フラッシュメモリ、HDD(Hard Disk Drive)及びSD(登録商標)カード等に代表される不揮発性記憶装置で、主にOSや各種プログラム及び各種データの半永続的な記憶領域として使用され得る。この二次記憶装置203は、短期的な各種データの記憶領域としても使用されてもよい。カメラサーバ200は、一次記憶装置202及び二次記憶装置203に記憶された各種プログラムに基づいて、各種の処理を行うことができ、その詳細は後述する。
画像キャプチャI/F205は、センサ207に接続され、このセンサ207から供給される映像データを所定のフォーマットに変換・圧縮して一次記憶装置202に転送する。ネットワークI/F206は、ネットワーク110と接続するためのI/Fであり、Ethernet等の通信媒体を介してクライアント120等との通信を行う。ネットワークI/F206は、保存されたデータを順次送信する送信バッファを含んでいてもよい。送信バッファは、例えば保存されたデータを送信後、バッファのデータをクリアし、次の送信されるデータが保存されるのを待つものとすることができる。送信バッファは、例えば保存された順にデータを出力するFIFO(First In First Out)バッファであってもよい。
センサ207は、いわゆるカメラ等の光学センサとすることができ、例えばCCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の光を検知する素子を用いて映像を撮像するものであってもよい。
(カメラサーバ200の機能構成)
図3は、図2のハードウェア構成で実現されるカメラサーバ200の機能構成の一例を示す機能ブロック図である。図2に示されるように、カメラサーバ200は、撮像手段である撮像処理部210と、保持手段である一時記憶部214と、生成手段であるセグメント管理部211とを有している。また、カメラサーバ200は、配信手段及び受信手段の一部の機能を有する配信管理部212と、受信手段及び配信手段のその他の機能を有するネットワーク処理部213とを有している。ここでカメラサーバ200は、撮像処理部210を有さず、撮像手段がカメラサーバ200とは別装置として構成されてもよい。
撮像処理部210は映像を撮像する。一時記憶部214は撮像された映像を単位映像毎に記憶する。配信管理部212は、クライアント120から送信されるセグメント長に関する要求を受信し、その要求に基づいて生成されたセグメントの送信の指示を行う。セグメント管理部211は、記憶された単位映像から、受信した要求に対応するセグメント長のセグメントを生成する。ネットワーク処理部213は、配信管理部212の指示に基づいてセグメントの配信を行う。
ここで、セグメント長は、セグメント1つに含まれる単位映像の数で定義することとしてもよい。また単位映像は1又は複数の映像フレームで定義することとしてもよい。またセグメントは、1GOP(Group of Picture)を1又は複数に分割した単位としてもよい。一時記憶部214は、RAM等からなる一次記憶装置202の一部の領域とすることができる。ここで、図3の機能構成は、図2のハードウェアと、そのハードウェア構成を利用して動作するソフトウェアとの組合せにより実現されるものとすることができる。例えば、各機能構成は、OS(Operating System)上で動作するプログラムとすることができる。具体的には、撮像処理部210は撮像処理プログラム、配信管理部212は配信管理プログラム、セグメント管理部211はセグメント管理プログラム、及びネットワーク処理部213はネットワーク処理プログラムで構成することができる。
具体的には、撮像処理部210は、センサ207で生成された映像フレームを画像キャプチャI/F205を経由して取得し符号化処理を行う。また撮像処理部210は、符号化処理された映像フレームを、SPS(Sequence Parameter Set)やPPS(Picture Parameter Set)などの映像再生に必要な動画メタ情報と共に、一時記憶部214に保存する。つまり、撮像処理部210は、各単位映像である映像フレームを一時記憶部214に保存する。
ここでは、セグメントを構成する単位映像を1映像フレームとするが、単位映像は1映像フレームでなくてもよく、例えば複数の映像フレームにより構成されていてもよい。以下では、単位映像が1映像フレームである場合を例として説明する。
一時記憶部214は、生成された動画メタ情報及び映像フレームを一時的に記憶する。セグメント管理部211は、撮像処理部210が一時記憶部214に保存した動画メタ情報と映像フレームとから、初期化セグメントとセグメント(セグメント情報)とをそれぞれ生成して、配信管理部212に通知する。初期化セグメントは、映像再生に必要な情報を含むセグメントであり、例えば上記SPSやPPSを含む動画メタ情報から生成される。
配信管理部212は、配信できる全映像ストリーム情報が記載されているMPD(Media Presentation Description)ファイルと、初期化セグメントおよびセグメントとを、ネットワーク処理部213を介して送信する。ここでセグメント管理部211は、クライアント120に配信すべき映像のセグメント長に関する情報を、セグメント管理情報として管理する。このセグメント長に関する情報は、例えばセグメント1つに含まれる単位映像の数であってよい。1セグメントに含まれる単位映像(映像フレーム)の数は、例えばクライアント120からの要求に基づいて配信管理部212により最初に指定されることができる。セグメント管理部211は、セグメント管理情報で示されるクライアント120から要求された単位映像の数の単位映像を結合してセグメントを生成する。配信管理部212は、セグメント管理部211により生成されたセグメントに、セグメントのヘッダ情報を付加して、クライアント120に配信する。
以下、セグメント管理部211が生成するセグメントを、セグメント情報ともいう。このセグメント情報は、1つまたは複数のセグメントに含まれる映像フレームの情報である。ここで映像フレームの情報とは、映像データそのものの他、例えばセグメントに含まれる映像フレームの映像データが保存された一時記憶部214のアドレスとすることができる。これにより、セグメント管理部211は、映像データを含むセグメントファイルを作成して保存することなく、セグメントを送信する際に、アドレスに指定された一時記憶部214の映像データを読み出すことによりセグメントを形成することができる。
セグメント管理部211は、セグメント情報を解放するまで、一時記憶部214内の映像フレーム(セグメント情報)を保持する。また、配信管理部212は、生成されたセグメントに対するヘッダ部を作成し、このヘッダ部をセグメント情報に記載されている映像フレームに対応する映像データと結合して、ネットワーク処理部213を介して、クライアント120に送信する。
なお、配信管理部212は、クライアント120から、映像データが含まれるセグメントファイルの要求を受信した後に、セグメントファイルを送信してもよい。また、配信管理部212は、例えばHTTP/2やWebsocketなどのプロトコルによっては、要求を受信しなくても映像フレームを生成してセグメントファイルが完成した時点で順次送信することとしてもよい。
(クライアント120の構成)
クライアント120のハードウェア構成は、例えば、主に半導体装置とそれらを接続する配線とから構成され、図2のカメラサーバ200のハードウェア構成において、センサ207や画像キャプチャI/F205が備えられなくてよい。また、クライアント120のハードウェア構成は、例えば、マウスやキーボード等の信号を入力する入力部、入力内容や入力された指示の結果の画像を表示させる表示部を有していてもよい。
(クライアント120の機能構成)
図4は、クライアント120の機能構成の例を示す機能ブロック図である。ここで、図4の機能構成は、ハードウェアと、そのハードウェア構成を利用して動作するソフトウェアとの組合せにより実現されるものとすることができる。図4に示すように、クライアント120は、配信される映像のセグメント長に関する要求を送信する送信部121、要求に基づくセグメント長のセグメントを受信する受信部122、及び受信したセグメントを順に再生する再生部123を備える。また、クライアント120は、受信した各セグメントを記憶する記憶部124を備えてよい。
(配信データの構成例)
図5は、本実施形態の送信態様の一例であるDASH配信の送信データについて説明する図である。図5に示されるように、送信データは、映像ストリーム情報が保存されたMPDファイル400を有する。ここでMPDファイル400には、単数または複数の映像ストリーム情報として、それぞれの解像度や符号化情報、及び単位時間で区切られた映像ファイルであるセグメントの情報等が、定義される。
図5は、MPDファイル400の中で2本の映像ストリームを定義する例を示す。第1の映像ストリーム401は、例えば1セグメント1秒の映像ファイルであり、クライアント120がダウンロードするファイル数は多くなるが低遅延でリアルタイム性が高い再生が可能である。一方、第2の映像ストリーム402は、例えば1セグメント3秒の映像ファイルであり、クライアント120で再生時の遅延は発生するがダウンロードするファイル数を減らすことができる。
本実施形態においては説明の容易化のため、低遅延な映像ストリームのセグメント時間を1秒として説明するが、カメラ制御などよりリアルタイム性のより高い送信を行いたい場合には、セグメント時間を1秒以下にすることが望ましい。また、MPDファイル400は、2以上の映像ストリームを定義してもよいし、クライアント120からの要求に応じて1つの映像ストリームとしてもよい。
図6は、単位映像を1映像フレームとした場合の、第1の映像ストリーム401及び第2の映像ストリーム402の構成を説明する図である。この例においては説明を分かりやすくするため、1秒当たりに生成される映像フレームは、3映像フレームとしている。しかしながら、1秒当たりに生成される映像フレームは、いくつでもよく、例えば60又はそれ以上とすることができる。この図の映像フレーム500〜511は、撮像処理部210により順に生成され、一時記憶部214に保存される。
図6において、映像フレーム500と映像フレーム509とは、完全な映像フレームを構成するのに必要な映像情報を有するIフレームである。また、これ以外の映像フレーム501〜508、及び映像フレーム510並びに511は、直前の画像との差分の映像情報を有するPフレームである。
第1の映像ストリーム401において、第1セグメント520は、映像フレーム500、501及び502を含み、第2セグメント521は、映像フレーム503、504及び505を含む。また第3セグメント522は、映像フレーム506、507及び508を含み、第4セグメント523は、映像フレーム509,510,511を含む。一方、第2の映像ストリーム402の第1セグメント530は、映像フレーム500〜508を含み、第2セグメント531は、少なくとも映像フレーム509,510及び511を含む。
また、第2セグメント531は、更にこの後、撮像処理部210により生成されて一時記憶部214に保存される映像フレーム(不図示)を含む。なお、図6の例においては、差分の映像情報をPフレームとしたが、差分の映像情報は、Bフレームであってもよい。
(映像ストリームの配信シーケンス)
図7は、クライアント120に、映像を第1の映像ストリーム401により配信する際の処理の例を示すシーケンス図である。このシーケンス図では、図が煩雑になるのを避けるため、セグメント管理部211、ネットワーク処理部213及び一時記憶部214の記載を省略している。以下では、これらの構成の説明は配信管理部212の処理に含めて説明する。なお、撮像処理部210から配信管理部212への矢印は、一時記憶部214を介する映像フレーム等の書き込み及び/又は映像フレームが書き込まれたことによる通知を含む。また、セグメントの生成は、セグメント管理部211が一時記憶部214から映像フレームを読み出してセグメントを生成する処理を含む。
図7に示すように、まずクライアント120は、映像情報を束ねるMPDファイル400の取得要求をカメラサーバ200に送信する(S601)。取得要求を受信したカメラサーバ200の配信管理部212は、送信可能な映像ストリーム情報を保存したMPDファイル400を作成して、クライアント120に送信する(S602)。
クライアント120は、自端末のCPU能力や表示解像度などに基づいて、受信したMPDファイル400から、受信する映像ストリームを選択し、再生に必要な情報が含まれる初期化セグメントの取得要求をカメラサーバ200に送信する(S603)。この初期化セグメントの取得要求は、クライアント120に配信されるべき映像データのセグメント長を含むことができる。以下では、クライアント120が、3つの映像フレームを1つのセグメントとする第1の映像ストリーム401を選択したものとする。
初期化セグメントの取得要求を受信したカメラサーバ200内の配信管理部212は、初期化セグメントを送信するために、撮像処理部210に映像ストリームの生成開始を要求する(S610)。要求を受信した撮像処理部210は、SPS/PPS及び最初の映像フレームであるIフレームを生成し、一時記憶部214に保存する(S611)。セグメント管理部211は、SPS/PPSを読み出し、SPS/PPSを含む動画メタ情報を初期化セグメントとして生成し、配信管理部212は、生成された初期化セグメントをクライアント120に送信する(S604)。撮像処理部210は、クライアント120との通信とは無関係に、順次、映像フレームを作成して、配信管理部212に通知する(S612〜S616)。
クライアント120は、初期化セグメントを受信した後、最初の第1セグメントの取得要求をカメラサーバ200に送信する(S605)。配信管理部212は、撮像処理部210により第3映像フレームデータが保存されると(S613)、第1〜第3映像フレームデータを結合して第1セグメントとしてクライアント120に送信する(S606)。この際、配信管理部212は、セグメントファイルとしてのヘッダ情報と、セグメント長に対応する数の単位映像データ(第1〜第3映像フレームデータ)とを順次送信バッファに保存してもよい。これにより、カメラサーバ200において1セグメントの映像を映像ファイルとして保存しなくても、クライアント120では、1セグメントのファイルとして受信することができる。
クライアント120は、第1セグメントを受信後、映像再生を行うことができる(S609)。ここで、クライアント120は、一定時間バッファリングしてから映像再生を開始してもよい。クライアント120は、次の第2セグメントの取得要求を送信する(S607)。
要求を受信した配信管理部212は、撮像処理部210により第6映像フレームデータが一時記憶部214に保存されると(S616)、第4〜第6映像フレームデータを読み出す(S628)。そして、配信管理部212は、第4〜第6映像フレームデータを結合して第2セグメントとしてクライアント120に送信する(S608)。
この際、配信管理部212は、セグメントファイルとしてのヘッダ情報と、読み出した、セグメント長に対応する数の単位映像データ(第4〜第6映像フレームデータ)とを順次送信バッファに保存することとしてもよい。これにより、カメラサーバ200において1セグメントの映像を映像ファイルとして保存しなくても、クライアント120では、1セグメントのファイルとして受信することができる。クライアント120は、第1セグメントに含まれていた映像フレームの再生の後、映像が途切れないように第2セグメントに含まれている映像フレームを順次再生することができる。
なお、図7に示す遅延時間は、第1映像フレームが保存されるステップS611のタイミングと第1セグメントが送信されるステップS606のタイミングとの間の経過時間である。遅延時間は、映像の送信中において常に発生しており、遅延時間が短ければリアルタイム性が高く、逆に遅延時間が長ければリアルタイム性が低くなる。例えば、6つの映像フレームを1つのセグメントとする映像ストリームを送信する際は、第1セグメントは第6映像フレームが生成された後に送信されるので、遅延時間はステップS611のタイミングとステップS608のタイミングとの差分時間となる。
このように、本実施形態のカメラサーバ200は、単位映像としての映像フレーム毎に映像を保存し、送信時に、要求に応じたセグメント長のセグメントを生成して送信することができる。これにより、カメラサーバ200のCPUの処理の負担及び/又は記憶容量を抑えつつ、クライアント(映像受信装置)120からの要求に応じた映像を送信することができる。またカメラサーバ200は、要求に応じて、遅延時間のより少ないリアルタイム映像を送信することができる。またカメラサーバ200は、要求に応じて、ダウンロード回数の少ないことにより、より送信効率及び再生品質の高いリアルタイム映像を送信することができる。
図8は、図1の映像配信システム100において、クライアント120が、複数の第1のクライアント131及び第2のクライアント132であり、これらの両方に映像が送信される場合について示すシーケンス図である。このシーケンス図において、第1のクライアント131の処理は、第7映像フレーム以降の処理を除き、図7のクライアント120における処理と同様であり、第6映像フレームまでの重複する説明を省略する。第7映像フレーム以降においても、第1映像フレームのときと同様に、撮像処理部210は、第1のクライアント131との通信とは無関係に、順次映像フレームデータを作成して配信管理部212に通知する(S617〜S622)。
第1のクライアント131は、第3セグメントの取得要求をカメラサーバ200に送信する(S609)。配信管理部212は、撮像処理部210により第9映像フレームデータが通知されると(S619)、第7〜第9映像フレームデータを読み出し、結合して第3セグメントとして第1のクライアント131に送信する(S610)。第1のクライアント131は、第3セグメントを受信後、映像再生を行うこととしてもよい。そして、第1のクライアント131は、次の第4セグメントの取得要求を送信する(S611)。要求を受信した配信管理部212は、撮像処理部210により第12映像フレームデータが通知されると(S622)、第10〜第12映像フレームデータを読み出す(S632)。そして配信管理部212は、第10〜第12映像フレームデータを結合して第4セグメントとして第1のクライアント131に送信する(S612)。
次に第2のクライアント132の処理について説明する。第1のクライアント131のときの処理と同様に、第2のクライアント132と配信管理部212との間では、MPDファイル400の要求及び送信、並びに初期化セグメントの要求及び送信が行われるが、図が煩雑になるのを避けるため記載を省略している。初期化セグメントの受信が完了した後の第2のクライアント132の処理について説明する。
図8に示すように、第2のクライアント132は、最初の第1セグメントの取得要求をカメラサーバ200に送信する(S651)。配信管理部212は、撮像処理部210により第6映像フレームデータが通知されると(S616)、第1〜第6映像フレームデータを読み出し、結合して第1セグメントとして第2のクライアント132に送信する(S653)。第2のクライアント132は、第1セグメントを受信後、映像再生を行う。また、第2のクライアント132は、一定時間バッファリングしてから映像再生を開始してもよい。そして、第2のクライアント132は次の第2セグメントの取得要求を送信する(S654)。要求を受信したカメラサーバ200の配信管理部212は、撮像処理部210により第12映像フレームデータが通知されると(S622)、第7〜第12映像フレームデータを読み出す。そして配信管理部212は、第7〜第12映像フレームデータを結合して第2セグメントとして第2のクライアント132に送信する(S656)。
つまり、配信管理部212は、例えば、映像について、1セグメントが3映像フレームの第1セグメント長に関する要求を受信する。また配信管理部212は、第1セグメント長とは異なる、1セグメントが6映像フレームの第2セグメント長に関する要求を受信する。配信管理部212は、第1セグメント長及び第2セグメント長にそれぞれ対応する数の映像フレームデータ(単位映像)を読み出して、その映像を、それぞれ第1セグメント長のセグメント及び第2セグメント長のセグメントとして、要求元にそれぞれ送信する。
このようにカメラサーバ200は、単位映像としての映像フレーム毎に映像を保存し、送信時に、要求に応じたセグメント長のセグメントを生成して送信することができる。これにより、カメラサーバ200のCPUの処理の負担及び/又は記憶容量を抑えつつ、第1のクライアント131及び第2のクライアント132の双方からの異なる要求に応じた、異なるセグメント長の映像を並列して送信することができる。またカメラサーバ200は、要求に応じて、遅延時間のより少ないリアルタイム映像を送信することができる。またカメラサーバ200は、要求に応じて、ダウンロード回数の少ないことにより、より送信効率及び再生品質の高いリアルタイム映像を送信することができる。
(セグメント管理部の処理フローチャート)
図9は、セグメント管理部211の処理の一例について示すフローチャートである。この例において、セグメント管理部211が実行するセグメント管理プログラムは、クライアント120の初期化セグメントの要求に基づいて、配信管理部212が実行する配信管理プログラムの指示により起動することとしてもよい。まず、セグメント管理部211は、撮像処理部210に対し、要求された映像ストリームの生成開始を指示し(S701)、SPS/PPSを含む動画メタ情報が作成されるのを待つ(S702)。
動画メタ情報が作成されると、セグメント管理部211は、動画メタ情報を一時記憶部214から読み出し、読み出した動画メタ情報を含む初期化セグメントを生成する(S703)。セグメント管理部211は、配信管理部212に初期化セグメントが生成されたとことを通知する(S704)。
次に、セグメント管理部211は、初期化セグメント要求に規定されセグメント管理情報として管理される1セグメントに含まれる映像フレーム数等の起動時に指定された情報を保存する(S705)。その後、セグメント管理部211は、プログラムの状態をIフレーム待ちに設定して(S706)、イベントが発生するのを待つ(S707)。
イベントが発生すると、セグメント管理部211は、いずれのイベントが発生したかを判定し(S708)、発生イベントが撮像処理部210からの映像フレーム生成イベントの場合には、プログラム状態を判定する(S709)。ここで、セグメント管理部211は、プログラムの状態がIフレーム待ちの場合には、生成された映像フレームがIフレームかどうかを判定し(S710)、Iフレームでない場合には、ステップS708に戻り処理を繰り返す。Iフレームである場合には、セグメント管理部211は、SPS/PPS及び映像フレーム情報を一時記憶部214に保存する(S711)。
ここで映像フレーム情報は、映像データそのものではなく、例えば映像フレームの映像データが保存された一時記憶部214のアドレスとすることができる。これにより、セグメント管理部211は、映像フレームの映像データをコピーすることなく、映像データを読み出すことができる。
次に、セグメント管理部211は、プログラムの状態を次フレーム待ちに変更する(S712)。この後、セグメント管理部211による処理は、後述するステップS714に移行する。ステップS709にて、プログラム状態が次フレーム待ちの場合、セグメント管理部211は、映像フレーム情報を保存する(S713)。ステップS713の映像フレーム情報の保存後、又はステップS712におけるプログラムの状態を次フレーム待ちに変更の処理の後、セグメント管理部211の処理は、ステップS714に移行する。
ステップS714では、セグメント管理部211は、1セグメントに含まれる数の映像フレームが生成(受信)されたかどうかを判定する(S714)。ここで、セグメント管理部211は、1セグメントに含まれる数の映像フレームが生成された場合、セグメント番号とセグメントに含まれる映像フレーム情報であるセグメント情報を一時記憶部214に保存する(S715)。ここでセグメント情報として保存される複数の映像フレームが結合されて、配信要求元であるクライアント120へ配信される。
なお、ここで保存される映像フレーム情報は、映像データそのものではなく、例えばセグメントに含まれる映像フレームの映像データが保存された一時記憶部214のアドレスとすることができる。これにより、セグメント管理部211は、映像データを含むセグメントファイルを作成して保存することなく、セグメントを送信する際に、アドレスに指定された一時記憶部214の映像データを読み出すことによりセグメントを生成することができる。
セグメント管理部211は、配信管理プログラムにセグメントが生成されたことを通知し(S716)、再度イベントが受信されるのを待つ(S708)。ステップS714において、1セグメントに含まれる数の映像フレームが生成されていない場合には、セグメント管理部211は、再度イベントが受信されるのを待つ(S708)。
ステップS715及びステップS716の処理では、セグメント管理部211は、セグメント情報と映像フレーム情報のみを保存及び通知する。これは、もしセグメント管理部211が、映像フレーム中の映像データ部分からセグメントを作成した場合には、セグメント管理部211が映像データの複製処理を実行する必要があるためである。また、この場合には、セグメント管理部211がクライアント120毎にセグメントを保存する必要が生じ、一時記憶部214をより多く使用してしまう恐れがあるからである。
本フローチャートでは、撮像処理部210において連続で映像フレームを生成されることとして説明した。しかしながら、映像フレームが連続して生成されないことがある場合には、映像フレームが連続かどうかを判定し、連続でない場合は、セグメント管理部211は、再度Iフレーム待ち状態に戻ることとしてもよい。
ステップS708において、発生イベントが配信管理部211からのセグメント解放指示イベントと判定された場合には、セグメント管理部211は、保存されているセグメント情報を削除する(S717)。また、ステップS717において、セグメント管理部211は、該当セグメントに含まれている映像フレームデータを削除する。この後、セグメント管理部211は、再度イベント待ちに戻る(S707)。
一方、ステップS708において、発生イベントが配信管理部211からの映像ストリームの終了要求イベントであれば、セグメント管理部211は、撮像処理部210に映像ストリームの生成終了を指示する(S718)。また、セグメント管理部211は、保存している全セグメント情報と該当セグメントに含まれている映像フレーム情報を削除する(S719)。
本フローチャートでは、セグメント管理部211が実行するセグメント管理プログラムは、クライアント120から初期化セグメントの要求を受信した際に、配信管理部212が実行する配信管理プログラムから起動されてもよいこととした。しかしながら、セグメント管理プログラムは、常時起動されており、複数のクライアント120のセグメント情報を1つのセグメント管理プログラムが管理することとしてもよい。
(配信管理部の処理フローチャート)
図10は、配信管理部212の処理の一例について示すフローチャートである。配信管理部212が実行する配信管理プログラムは、例えば、クライアント120が初期化セグメントを要求した際に起動されるプログラムとすることができる。このフローチャートに示されるように、配信管理部212は、送信可能な単数または複数の映像ストリームの情報をまとめたMPDファイル400を作成し、クライアント120に送付する(S801)。
次に、配信管理部212は、クライアント120からMPDファイル400に定義してある映像ストリームのうち、いずれかの映像ストリームの初期化セグメントの要求が受信されるのを待つ(S803)。配信管理部212は、初期化セグメントの要求を受信すると、要求された映像ストリームの情報を保存し(S804)、セグメント管理部211を起動して映像ストリームの生成開始を要求する(S805)。配信管理部212は、セグメント管理部211において初期化セグメントが生成されるのを待ち(S806)、生成されると初期化セグメントをクライアント120に送信する(S807)。
次に、配信管理部212は、クライアント120の接続タイムアウトを監視するタイマーを開始し(S808)、イベントが発生するのを待つ(S809)。イベントが発生すると、配信管理部212は、いずれのイベントが発生したかを判定する(S810)。発生したイベントがセグメント管理部211からのセグメント生成通知イベントである場合には、配信管理部212は、映像フレーム情報を含むセグメント情報を保存する(S811)。
発生したイベントがクライアント120からのセグメント配信要求イベントの場合には、配信管理部212は、要求されたセグメントが既に生成されているかどうかを判定する(S812)。生成されている場合は、配信管理部212は、セグメントのヘッダ部分を作成し(S813)、映像フレームのデータ部分と結合されたデータとしてのセグメントをクライアント120に送信する(S814)。そして、配信管理部212は、送信したセグメントの解放をセグメント管理部211に指示する(S815)。
配信管理部212は、接続タイムアウトを監視しているタイマーをリセットしてタイムアウト時間を延長し(S816)、ステップS809のイベント受信を待つ処理に戻る。ステップS809において発生したイベントが配信終了要求のイベントであった場合には、配信管理部212は、セグメント管理部211にセグメント生成の停止を要求し(S818)、配信管理部212を終了する。
ステップS814では、映像フレームの複製による処理負担、及び一時記憶部214の使用量を増やさないため、配信管理部212は、ヘッダ部分のみを作成して、映像フレームのデータ部分と結合しながら送信することとすることができる。この場合において、配信管理部212は、ヘッダ部分とデータ部分を順次、クライアント120に送信するための送信バッファに保存することができる。本フローチャートにおいては、タイマーリセットをセグメント送信完了時に行うこととしたが、配信管理部212は、セグメント配信要求を受信した際やクライアント120との他の通信を行ったタイミングでタイマーリセットすることとしてもよい。また、クライアント120との接続を監視できるのであれば、タイマー以外の手段で監視することとしてもよく、またタイマー監視は行われなくてもよい。
またステップS812にて、要求されたセグメントが存在しない場合は、配信管理部212は、クライアント120にエラーレスポンスを送信する(S817)。本フローチャートにおいては、要求されたセグメントが存在しない場合はエラーレスポンスを送信することとしたが、配信管理部212は、セグメントが生成されるまで待つこととしてもよい。送信終了のイベントには、接続タイムアウトを監視するタイマーのタイムアウトや切断検出等を含むことができる。
本フローチャートでは、いわゆるDASH配信を例に説明したが、本実施形態のカメラサーバ200は、HLS配信など他のAdaptive Bitrate Streaming技術による送信に適用することができる。このように、本実施形態のカメラサーバ200においては、連続撮像した映像データをクライアント120毎に個別にセグメント管理し、送信時にセグメントに含まれる映像フレームを結合し送信することができる。
これにより、本実施形態のカメラサーバ200においては、リアルタイム性を重視する場合は映像ファイルを小さく、送信効率を重視する場合は映像ファイルを大きくして、クライアント120毎に適切な遅延時間及びで映像を送信することができる。図11は、配信管理部212の処理の別の例について示すフローチャートである。配信管理プログラムは、図8の場合と同様に、例えば、クライアント120が初期化セグメントを要求した際に起動されるプログラムとすることができる。
このフローチャートに示されるように、配信管理部212は、送信可能な単数または複数の映像ストリームの情報をまとめたMPDファイル400を作成し、クライアント120にMPDファイル400を送信する(S901)。次に、配信管理部212は、クライアント120からMPDファイル400に定義してある映像ストリームのうち、いずれかの映像ストリームの初期化セグメントの要求が受信されるのを待つ(S903)。
配信管理部212は、初期化セグメントの要求を受信すると、要求された映像ストリームの情報を保存し(S904)、セグメント管理部211を起動して映像ストリームの生成開始を要求する(S905)。配信管理部212は、セグメント管理部211において初期化セグメントが生成されるのを待ち(S906)、生成されると初期化セグメントをクライアント120に送信する(S907)。
次に、配信管理部212は、イベントが発生するのを待ち(S909)、イベントが発生すると、配信管理部212は、いずれのイベントが発生したかを判定する(S910)。発生したイベントがセグメント管理部211からのセグメント生成通知イベントである場合には、配信管理部212は、セグメントのヘッダ部分を作成する(S913)。また配信管理部212は、映像フレームのデータ部分と結合されたデータとしてセグメントをクライアント120に送信する(S914)。
配信管理部212は、初期化セグメントと同一の通信コネクションを使用して、配信管理部212を送信する。配信管理部212は、送信したセグメントの解放をセグメント管理部211に指示し(S915)、ステップS909のイベント受信を待つ処理に戻る。ステップS909において発生したイベントが配信終了要求のイベントであった場合には、配信管理部212は、セグメント管理部211にセグメント生成の停止を要求し(S918)、配信管理部212を終了する。
送信終了のイベントには、切断検出等が含まれ、切断検出は、セグメント送信に使用している通信コネクションがクライアント120から切断された時に検出されるイベントであってもよい。本フローチャートでは、いわゆるDASH配信を例に説明したが、本実施形態のカメラサーバ200は、HLS配信など他のAdaptive Bitrate Streaming技術による送信に適用することができる。
ステップS914では、映像フレームの複製による処理負担、及び一時記憶部214の使用量を増やさないため、配信管理部212は、ヘッダ部分のみを作成して、映像フレームのデータ部分と結合しながら送信することとすることができる。この場合において、配信管理部212は、ヘッダ部分とデータ部分を順次、クライアント120に送信するための送信バッファに保存することができる。このように、本実施形態のカメラサーバ200においては、連続撮像した映像データをクライアント120毎に個別にセグメント管理し、送信時にセグメントに含まれる映像フレームを結合し送信することができる。これにより、本実施形態のカメラサーバ200においては、リアルタイム性を重視する場合は映像ファイルを小さく、送信効率を重視する場合は映像ファイルを大きくして、クライアント120毎に適切な遅延時間で映像を送信することができる。
リアルタイム性のある動画配信では、動画ファイル情報をまとめているMPDのようなファイルにて、セグメント化時間が異なる複数の動画ストリームを定義してクライアントに選択させることが考えられる。また、クライアントから指定されたセグメント化時間の動画ストリームを定義することが考えられる。しかしながら、ネットワークカメラのような組込み機器は、CPU性能が低くメモリー容量も限られている。そのようなネットワークカメラで、映像を見るだけのクライアントと、映像を見ながらカメラ制御を行うようなクライアント向けに、セグメント時間が異なる複数種類の動画ファイルを用意することは困難である。
そこで本実施形態に係る映像配信装置100は、一時記憶部214が撮像された映像を単位映像毎に保持し、配信管理部212がクライアント120から送信されるセグメント長に関する要求を受信する。セグメント管理部211が、配信管理部212により受信されたセグメント長に関する要求に基づいて、一時記憶部214により保持された単位映像からセグメントを生成する。引き続き配信管理部212が、セグメント管理部211が生成した前記セグメントをクライアント120へ配信する。これにより、クライアント120の用途に応じた適切な映像を配信することができる。
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100・・・映像配信システム、110・・・ネットワーク、120・・・クライアント、200・・・カメラサーバ、210・・・撮像処理部、211・・・セグメント管理部、212・・・配信管理部、213・・・ネットワーク処理部、214・・・一時記憶部

Claims (10)

  1. 撮像された映像を単位映像毎に保持する保持手段と、
    外部の受信装置から送信されるセグメント長に関する要求を受信する受信手段と、
    前記保持手段により保持された前記単位映像から、前記受信手段により受信された前記要求に対応するセグメント長の映像のセグメントを生成する生成手段と、
    前記生成手段により生成された前記セグメントを前記受信装置へ配信する配信手段と、
    を備えることを特徴とする映像配信装置。
  2. 前記セグメント長は、1つの前記セグメントに含まれる前記単位映像の数であり、
    前記生成手段は、前記単位映像の数の前記単位映像を結合して前記セグメントを生成する、ことを特徴とする請求項1に記載の映像配信装置。
  3. 前記生成手段は、前記保持手段から前記単位映像を読み出し、前記セグメント長に対応する数の前記単位映像を結合して前記セグメントを生成し、
    前記配信手段は、前記生成手段により生成された前記セグメントに、前記セグメントのヘッダ情報を付加して、前記受信装置へ配信する、ことを特徴とする請求項1または2に記載の映像配信装置。
  4. 前記セグメントは、1GOP(Group of Picture)を1又は複数に分割した単位である、ことを特徴とする請求項1乃至3のいずれか一項に記載の映像配信装置。
  5. 前記単位映像は、1映像フレームで構成される、ことを特徴とする請求項1乃至4のいずれか一項に記載の映像配信装置。
  6. 映像を撮像する撮像手段を更に備える、ことを特徴とする請求項1乃至5のいずれか一項に記載の映像配信装置。
  7. 前記受信手段は、第1の受信装置から送信される第1セグメント長に関する要求、及び第2の受信装置から送信され、前記第1セグメント長とは異なる第2セグメント長に関する要求をそれぞれ受信し、
    前記生成手段は、前記第1セグメント長に対応する数の前記単位映像、及び前記第2セグメント長に対応する数の前記単位映像をそれぞれ読み出して、それぞれ前記第1セグメント長の前記セグメント及び前記第2セグメント長の前記セグメントとして生成し、
    前記配信手段は、前記第1セグメント長の前記セグメントを前記第1の受信装置に配信し、前記第2セグメント長の前記セグメントを前記第2の受信装置に配信する、ことを特徴とする請求項1乃至6のいずれか一項に記載の映像配信装置。
  8. 映像配信装置から配信される映像のセグメント長に関する要求を、前記映像配信装置に送信する送信手段と、
    前記セグメント長に関する要求に規定された前記セグメント長で、撮像された映像の単位映像から生成されたセグメントを、前記映像配信装置から受信する受信手段と、
    前記受信手段により受信された前記セグメントを順に再生する再生手段と、を備える、ことを特徴とする映像受信装置。
  9. 撮像された映像を単位映像毎に保持するステップと、
    外部の受信装置から送信されるセグメント長に関する要求を受信するステップと、
    前記保持された前記単位映像から、前記受信された前記要求に対応するセグメント長の映像のセグメントを生成するステップと、
    前記生成された前記セグメントを前記受信装置へ配信するステップと、を含む、ことを特徴とする映像配信方法。
  10. コンピュータを請求項1から7のいずれか一項に記載の映像配信装置の各手段として機能させるためのプログラム。
JP2017076652A 2017-04-07 2017-04-07 映像配信装置、映像配信方法及びプログラム Active JP6472478B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017076652A JP6472478B2 (ja) 2017-04-07 2017-04-07 映像配信装置、映像配信方法及びプログラム
US15/938,529 US11102527B2 (en) 2017-04-07 2018-03-28 Video distribution apparatus, video reception apparatus, video distribution method, and recording medium
CN201810300567.9A CN108696505B (zh) 2017-04-07 2018-04-04 视频分发设备、视频接收设备、视频分发方法和记录介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017076652A JP6472478B2 (ja) 2017-04-07 2017-04-07 映像配信装置、映像配信方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018182447A true JP2018182447A (ja) 2018-11-15
JP6472478B2 JP6472478B2 (ja) 2019-02-20

Family

ID=63711911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017076652A Active JP6472478B2 (ja) 2017-04-07 2017-04-07 映像配信装置、映像配信方法及びプログラム

Country Status (3)

Country Link
US (1) US11102527B2 (ja)
JP (1) JP6472478B2 (ja)
CN (1) CN108696505B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020129734A (ja) * 2019-02-07 2020-08-27 日本放送協会 コンテンツ生成装置、受信装置、及びプログラム
JP2020141225A (ja) * 2019-02-27 2020-09-03 キヤノン株式会社 送信装置、送信方法、及びプログラム
JP2021175025A (ja) * 2020-04-21 2021-11-01 株式会社東芝 サーバ装置、情報処理方法およびプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7105675B2 (ja) * 2018-11-02 2022-07-25 株式会社東芝 送信装置、サーバ装置、送信方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017069636A (ja) * 2015-09-28 2017-04-06 株式会社リコー 情報処理装置、配信方法、及びプログラム
WO2017054935A1 (en) * 2015-09-29 2017-04-06 Sony Mobile Communications Inc. User equipment and media streaming network assistance node

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
CN101534433B (zh) 2009-04-22 2011-06-22 北京航空航天大学 流媒体加密方法
JP2011087103A (ja) 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
CN102196008A (zh) 2010-03-08 2011-09-21 株式会社日立制作所 点对点下载方法、视频设备和内容发送方法
CN103004229A (zh) * 2010-07-20 2013-03-27 夏普株式会社 数据配送系统、数据配送方法、配送侧数据中继装置、及接收侧数据中继装置
CN102789804B (zh) 2011-05-17 2016-03-02 华为软件技术有限公司 视频播放方法、播放器、监控平台及视频播放系统
CN102427507B (zh) 2011-09-30 2014-03-05 北京航空航天大学 一种基于事件模型的足球视频集锦自动合成方法
US9432704B2 (en) * 2011-11-06 2016-08-30 Akamai Technologies Inc. Segmented parallel encoding with frame-aware, variable-size chunking
WO2014010501A1 (ja) 2012-07-10 2014-01-16 シャープ株式会社 再生装置、再生方法、配信装置、配信方法、配信プログラム、再生プログラム、記録媒体およびメタデータ
CN103546828B (zh) 2012-07-16 2019-02-22 腾讯科技(深圳)有限公司 节目预览的生成方法及装置
EP2907313A1 (en) 2012-10-12 2015-08-19 Canon Kabushiki Kaisha Method and corresponding device for streaming video data
CN103905924B (zh) 2012-12-28 2018-06-08 联芯科技有限公司 终端侧的视频自适应接收方法和装置
JP6465541B2 (ja) 2013-08-06 2019-02-06 キヤノン株式会社 通信装置、再生装置、及びその方法、並びにプログラム
CN103648019A (zh) 2013-11-29 2014-03-19 乐视致新电子科技(天津)有限公司 一种基于hls协议的视频下载方法及其装置
CN103984483A (zh) 2014-05-29 2014-08-13 丁明敏 一种将视频作为智能终端解锁前的屏保的方法
US10063872B2 (en) * 2015-09-11 2018-08-28 Facebook, Inc. Segment based encoding of video
CN105430425B (zh) 2015-11-18 2018-11-16 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置
US10007843B1 (en) * 2016-06-23 2018-06-26 Amazon Technologies, Inc. Personalized segmentation of media content
CN106331788A (zh) 2016-08-31 2017-01-11 乐视控股(北京)有限公司 一种视频下载方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017069636A (ja) * 2015-09-28 2017-04-06 株式会社リコー 情報処理装置、配信方法、及びプログラム
WO2017054935A1 (en) * 2015-09-29 2017-04-06 Sony Mobile Communications Inc. User equipment and media streaming network assistance node

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020129734A (ja) * 2019-02-07 2020-08-27 日本放送協会 コンテンツ生成装置、受信装置、及びプログラム
JP7324012B2 (ja) 2019-02-07 2023-08-09 日本放送協会 受信装置、及びプログラム
JP2020141225A (ja) * 2019-02-27 2020-09-03 キヤノン株式会社 送信装置、送信方法、及びプログラム
JP7292901B2 (ja) 2019-02-27 2023-06-19 キヤノン株式会社 送信装置、送信方法、及びプログラム
JP2021175025A (ja) * 2020-04-21 2021-11-01 株式会社東芝 サーバ装置、情報処理方法およびプログラム
JP7419151B2 (ja) 2020-04-21 2024-01-22 株式会社東芝 サーバ装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US20180295401A1 (en) 2018-10-11
CN108696505A (zh) 2018-10-23
US11102527B2 (en) 2021-08-24
JP6472478B2 (ja) 2019-02-20
CN108696505B (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
CN108696505B (zh) 视频分发设备、视频接收设备、视频分发方法和记录介质
KR102077752B1 (ko) 모션 비디오의 재생을 위한 방법 및 시스템
JP6238255B2 (ja) 監視カメラシステムによる監視方法及び動画分割装置
JP7105675B2 (ja) 送信装置、サーバ装置、送信方法およびプログラム
JPWO2013076915A1 (ja) 撮像装置、映像記録装置、映像表示装置、映像監視装置、映像監視システムおよび映像監視方法
JP2020113922A (ja) 動画配信装置、動画配信方法及びプログラム
JP7175658B2 (ja) 映像配信装置、配信方法及びプログラム
JP2011248935A (ja) 監視映像記録システム
JP6261020B2 (ja) 画面画像転送方法及び画面画像復元方法
JP2010011287A (ja) 映像伝送方法および端末装置
CN109104552B (zh) 摄像设备、摄像设备的处理方法和存储介质
JP7327953B2 (ja) 動画配信装置、動画配信方法及びプログラム
JP6357188B2 (ja) 監視カメラシステム及び監視カメラデータ保存方法
JP2005110024A (ja) データ送信装置、データ送受信システム、及びデータ送受信方法
JP7292901B2 (ja) 送信装置、送信方法、及びプログラム
CN113315997B (zh) 发送装置、服务器装置、发送方法以及程序
JP7302076B2 (ja) 送信装置、サーバ装置、送信方法およびプログラム
JP6907104B2 (ja) 映像配信装置、制御方法及びプログラム
KR102613872B1 (ko) 서버 디바이스, 통신 시스템, 및 비일시적 컴퓨터 판독가능 기록 매체
KR102291293B1 (ko) 송신 디바이스, 통신 시스템, 송신 방법, 및 비일시적 컴퓨터 판독가능 기록 매체
CN113542342B (zh) 服务器装置、信息处理方法以及存储介质
US20180262790A1 (en) Systems and methods for adaptive streaming using jpeg 2000
JP2019161251A (ja) 画像配信装置、方法及びプログラム
JP2017169082A (ja) 画像記録装置及び方法
JP2012253615A (ja) ネットワーク型録画システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181207

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: 20181225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190122

R151 Written notification of patent or utility model registration

Ref document number: 6472478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151