JP2021175026A - サーバ装置、通信システム、およびプログラム - Google Patents

サーバ装置、通信システム、およびプログラム Download PDF

Info

Publication number
JP2021175026A
JP2021175026A JP2020075376A JP2020075376A JP2021175026A JP 2021175026 A JP2021175026 A JP 2021175026A JP 2020075376 A JP2020075376 A JP 2020075376A JP 2020075376 A JP2020075376 A JP 2020075376A JP 2021175026 A JP2021175026 A JP 2021175026A
Authority
JP
Japan
Prior art keywords
data
unit
transmission
server device
transmitted
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
JP2020075376A
Other languages
English (en)
Other versions
JP7438835B2 (ja
Inventor
俊一 権藤
Shunichi Gondo
拓巳 黒坂
Takumi Kurosaka
美佳 峰松
Miyoshi Minematsu
智則 前川
Tomonori Maekawa
侑 溝口
Yu Mizoguchi
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2020075376A priority Critical patent/JP7438835B2/ja
Priority to EP21157450.4A priority patent/EP3902265A1/en
Priority to KR1020210023793A priority patent/KR102613872B1/ko
Priority to CN202110210607.2A priority patent/CN113542747B/zh
Priority to US17/185,864 priority patent/US11895332B2/en
Publication of JP2021175026A publication Critical patent/JP2021175026A/ja
Application granted granted Critical
Publication of JP7438835B2 publication Critical patent/JP7438835B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • 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/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/234381Processing 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 altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】品質を低下させることなく、回線負荷や処理負荷を低減するサーバ装置、通信システム、およびプログラムを提供する。【解決手段】エッジサーバは、データ受信部と、分割部と、送信部と、記憶制御部と、要求受信部と、を備える。データ受信部は、複数の送信データを送信装置から受信する。分割部は、複数の送信データを、第1データと第2データとに分割する。送信部は、第1データを、送信データを受信装置に配信する外部サーバ装置に送信する。記憶制御部は、第2データを記憶部に記憶させる。要求受信部は、第2データの送信要求を受信装置または外部サーバ装置から受信する。送信部は、さらに、送信要求に応じて第2データを外部サーバ装置に送信する。【選択図】図4

Description

本発明の実施形態は、サーバ装置、通信システム、およびプログラムに関する。
HLS(HTTP Live Streaming)およびMPEG−DASH(Moving Picture Experts Group−Dynamic Adaptive Streaming over HTTP)などのアダプティブストリーミングは、例えば、カメラで撮像した映像(動画像データ)を配信し監視可能とするシステム(映像配信システム、映像監視システム)に適用できる。
特許第6239472号公報
R. Pantos et al.、"RFC 8216、 HTTP Live Streaming"、[online]、August 2017、retrieved from the Internet: <URL:http://www.ietf.org/rfc/rfc8216.txt>
しかしながら、従来技術では、データ(映像など)を送信するネットワーク回線の負荷、および、システムの処理負荷が増加するおそれがあった。例えば、接続されるカメラの個数が増大することに伴い、カメラから映像を送信するためのネットワーク回線の負荷、並びに、映像の収録および配信などを実行するサーバの処理負荷が増大する可能性があった。
実施形態のサーバ装置は、データ受信部と、分割部と、送信部と、記憶制御部と、要求受信部と、を備える。データ受信部は、複数の送信データを送信装置から受信する。分割部は、複数の送信データを、第1データと第2データとに分割する。送信部は、第1データを、送信データを受信装置に配信する外部サーバ装置に送信する。記憶制御部は、第2データを記憶部に記憶させる。要求受信部は、第2データの送信要求を受信装置または外部サーバ装置から受信する。送信部は、さらに、送信要求に応じて第2データを外部サーバ装置に送信する。
本実施形態にかかる映像配信システムのブロック図。 本実施形態の映像配信システムによる配信処理の概要を示す図。 本実施形態の送信装置の機能ブロック図。 本実施形態のエッジサーバの機能ブロック図。 配信リストのデータ構造の一例を示す図。 判定情報のデータ構造の一例を示す図。 本実施形態のセンタサーバの機能ブロック図。 本実施形態のクライアントの機能ブロック図。 本実施形態における送信処理のフローチャート。 記憶されたデータの送信処理のフローチャート。 エッジサーバによる送信処理のフローチャート。 本実施形態におけるリスト生成処理のフローチャート。 本実施形態における判定情報生成処理のフローチャート。 本実施形態におけるコンテンツ配信処理のシーケンス図。 配信リストに対して判定情報を用いて判定する例を説明する図。 更新した判定情報の一例を示す図。 配信リストに対して判定情報を用いて判定する例を説明する図。 変形例における送信処理のフローチャート。 変形例の映像配信システムの構成例を示す図。 変形例の映像配信システムによる配信処理の概要を示す図。 変形例の映像配信システムによる配信処理の概要を示す図。 本実施形態にかかる送信装置のハードウェア構成図。
以下に添付図面を参照して、この発明にかかる送信装置の好適な実施形態を詳細に説明する。
従来のアダプティブストリーミングを用いた映像配信システムでは、高品質なライブ映像の配信に必要な高品質の映像ストリーム(送信データの一例)を確実に収録するためには、伝送レートが高いネットワーク回線を準備する必要がある。
一方、多数のカメラが接続される大規模な映像配信システムでは、常に大量のカメラ映像が送信される。このため、回線負荷やコストの低減のためには、カメラと、映像を収録するサーバ装置との間に、伝送レートが低いネットワーク回線を用いることが望ましい。しかし伝送レートが低い回線ではライブ映像が低品質となり、監視作業に支障をきたすおそれがある。
そこで、本実施形態では、品質を低下させることなく、回線負荷や処理負荷を低減することができる映像配信システムを実現する。
ここで、本実施形態を適用できる送信データの例について説明する。送信データは、例えば、動画像データおよびセンサデータなどの、時間的な順序が定められた時系列データを含む。
動画像データは、例えばカメラおよびフレームキャプチャなどの撮像装置により撮像されるデータである。動画像データは、例えば撮像装置からリアルタイムに取得され、配信対象のコンテンツとして使用される。撮像された後、一旦記憶媒体に記憶された動画像データが、配信対象のコンテンツとして使用されてもよい。
センサデータとは、センサ(検知装置)が検知した値を示すデータであり、例えばデータを検知(サンプリング)した時刻の情報を含む。センサはどのような装置であってもよい。例えば、音声を取得するマイクロフォン、位置情報を取得するGPS(Global Positioning System)装置、および、検知対象となる周辺環境や電子機器の温度、速度、圧力などを、定期的に、または、不定期に検知してセンサデータとして出力するセンサを使用することができる。
以下では、主に動画像データを送信データとした例について説明する。
図1は、本実施形態にかかる映像配信システムの構成の一例を示すブロック図である。図1に示すように、映像配信システムは、送信装置100(送信装置の一例)と、エッジサーバ200a(サーバ装置、第2サーバ装置の一例)と、センタサーバ200b(外部サーバ装置、第1サーバ装置の一例)と、クライアント300a、300b(受信装置の一例)と、を備えている。送信装置100とエッジサーバ200aとは、ネットワーク401により接続される。エッジサーバ200aとクライアント300aとは、ネットワーク402により接続される。エッジサーバ200aとセンタサーバ200bとは、ネットワーク403により接続される。センタサーバ200bとクライアント300bとは、ネットワーク404により接続される。
エッジサーバ200aは、端末(送信装置100)に物理的に近い位置または論理的に近い位置に配置されるサーバに相当する。センタサーバ200bは、エッジサーバ200aより上位のサーバに相当し、例えばエッジサーバ200aからデータを収集して処理する装置である。
ネットワーク401〜404は、インターネットなどの、どのようなネットワークであってもよい。例えばネットワーク401〜404は、有線ネットワークおよび無線ネットワークのいずれであってもよい。また、ネットワーク401〜404の一部または全部は、統合した1つのネットワークとして構成してもよい。
図1に示す通信システムの構成は一例であり、これに限られるものではない。例えば送信装置100、エッジサーバ200a、センタサーバ200b、および、クライアント300a、300bは、それぞれ複数備えられていてもよい。例えば複数のエッジサーバ200aが、送信装置100に物理的に近い位置に分散配置され、1以上のセンタサーバ200bが、分散配置された複数のエッジサーバ200aからデータを収集するように構成されてもよい。また、送信装置100、エッジサーバ200a、センタサーバ200bおよびクライアント300a、300bそれぞれは、物理的に1つの装置によって構成されてもよいし、物理的に複数の装置によって構成されてもよい。例えばセンタサーバ200bは、クラウド環境上で構築されてもよい。例えばエッジサーバ200aは、通信事業者などの中央拠点に集約されてもよいし、地域拠点およびエンドユーザの施設内に分散されてもよい。
また、クライアント300a、300bは、エッジサーバ200aおよびセンタサーバ200bの両方に接続されてもよい。映像配信システムは、クライアント300aを備えず、センタサーバ200bに接続されたクライアント300bのみを備えてもよい。クライアント300a、300bを区別する必要がない場合は、単にクライアント300という。
図2は、本実施形態の映像配信システムによる配信処理の概要を示す図である。送信装置100は、映像を入力し、入力した映像をエンコード(符号化)する。送信装置100は、例えばH.264などの規格に従い、映像を圧縮符号化する。エンコードされた映像は、例えばIピクチャおよびPピクチャを含む。Iピクチャは、フレーム内予測により符号化された画像データであり、単独で再生できる全画面の範囲を含む。Pピクチャは、Iピクチャに基づいてフレーム間予測により符号化した画像データである。Pピクチャは、単独では再生できずIピクチャと組み合わせて再生可能となる。
送信装置100は、これらのエンコードされた映像を、ピクチャごとに分割(フラグメント化)する。そして送信装置100は、分割したピクチャの一部(例えばIピクチャ)をエッジサーバ200aに送信し、残り(例えばPピクチャ)は、記憶部に記憶する。なお送信装置100は、エッジサーバ200aに送信したピクチャについてもプレイバック(ローカル再生)およびバックアップ等のために記憶部に記憶してもよい。
クライアント300を操作するユーザなどにより、センタサーバ200bおよびエッジサーバ200aを介してPピクチャの表示が要求されると、送信装置100は、記憶したPピクチャを読み出し、エッジサーバ200aに送信する。
エッジサーバ200aは、送信装置100から送信されたデータ(ピクチャ)を、送信装置100と同様の方式により、センタサーバ200bに送信する機能を有する。エッジサーバ200aは、送信装置100を仮想化した機能を有する装置であると言い換えることができる。
例えばエッジサーバ200aは、送信装置100から送信された映像を、ピクチャごとに分割(フラグメント化)する。そしてエッジサーバ200aは、分割したピクチャの一部(例えばIピクチャ)をセンタサーバ200bに送信し、残り(例えばPピクチャ)は、記憶部に記憶する。なおエッジサーバ200aは、センタサーバ200bに送信したピクチャについてもプレイバック(ローカル再生)およびバックアップ等のために記憶部に記憶してもよい。
センタサーバ200bは、通常時には、エッジサーバ200aから送信されたIピクチャのみをクライアント300bに配信する。クライアント300bは、例えばビューワアプリを用いて配信された映像を表示する。ビューワアプリは、例えばブラウザに含まれる、映像を表示して閲覧可能とするためのアプリケーションである。Iピクチャは一定間隔で送信されるため(例えば1秒間に数枚、または、数秒に1枚)、クライアント300bでは、静止画像(Iピクチャ)が一定間隔で更新されるような映像(ぱらぱら漫画、コマ送り(間欠)動画)が表示される。ビューワアプリは、例えば、HTML(Hyper Text Markup Language)5用のアプリケーションプログラミングインタフェースであるMSE(Media Source Extensions)を用いたアプリケーションとして実現できる。これにより、HTTPダウンロードを利用したストリーミング再生が可能となる。
上述のように、Pピクチャの表示が要求されると、送信装置100は、記憶したPピクチャを読み出し、エッジサーバ200aに送信する。エッジサーバ200aは、受信したPピクチャをセンタサーバ200bに送信する。センタサーバ200bは、送信されたPピクチャをクライアント300bに配信する。センタサーバ200bは、送信されたPピクチャをそのまま配信してもよいし、画像データに対する変換処理(再圧縮など)以外の加工処理(伝送パケット形式の変更など)のみを加えたPピクチャを配信してもよい。クライアント300bのビューワアプリは、既に受信したIピクチャと、後から受信したPピクチャとを合成して表示する。これにより、クライアント300bでは、より滑らかな映像が表示可能となる。転送済みのデータ(例えばIピクチャ)は、クライアント300b内の記憶部に記憶しておけば、後で受信したPピクチャとの合成等に使用できる。すなわち、転送済みのデータは再度送信装置100、エッジサーバ200aおよびセンタサーバ200bから送信する必要はない。従って、Pピクチャを含む全映像データを改めて送信しなおす方法と比べ、伝送データ量を減らすことができる。
上述のように、センタサーバ200bは、画像データに対して再圧縮などの変換処理などを適用することなく、エッジサーバ200aから送信された画像データをそのまままたは伝送パケット形式のみを加工してクライアント300bに配信する。例えばセンタサーバ200bは、低い伝送レートで配信可能とするために、品質を低下させた映像に変換する処理を実行する必要がない。従って、センタサーバ200bの処理負荷の増加、および、画質の劣化を回避できる。また、通常時は、Iピクチャのみを配信するため、通信量を抑制することができる。このように、品質を低下させることなく、回線負荷や処理負荷を低減することが可能となる。
なおIピクチャは、映像(動画像データ)を構成する一部のデータであるが、静止画像として扱うことができる。例えば、クライアント300bで動作するブラウザ(ビューワアプリ)は、動画像データに含まれるIピクチャを静止画像データとして表示できる場合がある。従って、例えばJPEG(Joint Photographic Experts Group)などの静止画像への圧縮処理を実行することなく、Iピクチャを静止画像データとして表示可能となる。JPEG形式の静止画像と比べてIピクチャはデータサイズが小さいため(圧縮効率が大きい)、回線負荷および処理負荷をより軽減可能となる。また、配信された映像を画像認識に用いるような場合にも、映像を静止画像に変換することなく、Iピクチャを画像認識の入力データとして利用することが可能となる。
なお図2では、センタサーバ200bからクライアント300bに映像を配信する例のみを記載しているが、エッジサーバ200aからクライアント300aに対する映像の配信も同様の手順で実現できる。
次に、本実施形態の映像配信システムの各装置の構成の詳細について説明する。図3は、本実施形態の送信装置100の機能構成の一例を示すブロック図である。
図3に示すように、送信装置100は、撮像部101と、記憶部121と、符号化部111と、分割部112と、データ送信部113と、記憶制御部114と、要求受信部115と、を備えている。
撮像部101は、映像(動画像データ)を撮像して出力する。撮像部101は、例えば、CCD(Charge Coupled Device)およびCIS(CMOS image sensor)等の撮像素子、または、フレームメモリ、フレームグラバ、および、スクリーンキャプチャ等のフレームバッファキャプチャにより実現できる。
記憶部121は、送信装置100による各種処理で用いられる各種データを記憶する。例えば記憶部121は、撮像部101により撮像された映像を記憶する。
符号化部111は、撮像部101から入力された映像を符号化する。符号化部111による符号化方式はどのような方式であってもよいが、例えば、H.264などの規格に従った符号化方式を適用できる。符号化部111は、例えば、映像を圧縮符号化し、IピクチャおよびPピクチャを含む映像を出力する。符号化された映像の各ピクチャが、送信対象となる複数の送信データに相当する。
分割部112は、符号化された映像を、エッジサーバ200aに送信するデータ(第1データ)と、送信せずに記憶部121に記憶するデータ(第2データ)と、に分割する。例えば分割部112は、Iピクチャをエッジサーバ200aに送信するデータ(フラグメントデータ)とし、Pピクチャを記憶部121に記憶するデータ(フラグメントデータ)とするように、符号化された映像をピクチャごとに分割する。分割部112は、分割したピクチャそれぞれが1つのファイル(フラグメントファイル)となるように映像を分割してもよい。記憶部121に記憶するデータについては、分割部112は、複数のピクチャが1つのファイルに含まれるように分割してもよい。
分割部112によるデータの分割方法はこれに限られず、どのような方法であってもよい。例えば分割部112は、符号化された映像を、複数のIピクチャから一定数ごとに選択されたIピクチャと、それ以外のピクチャ(残りのIピクチャおよびPピクチャ)とに分割してもよい。また例えば分割部112は、符号化された映像を、Iピクチャおよび複数のPピクチャから一定数ごとに選択されたPピクチャと、それ以外のピクチャ(残りのPピクチャ)とに分割してもよい。また例えば分割部112は、符号化された映像を、複数のIピクチャから一定数ごとに選択されたIピクチャ、および、複数のPピクチャから一定数ごとに選択されたPピクチャと、それ以外のピクチャ(残りのIピクチャおよびPピクチャ)とに分割してもよい。
エッジサーバ200aに送信するデータは、エッジサーバ200aがそのまま配信可能な形式で表されてもよい。例えば分割部112は、Fragmented MP4(fMP4)などの規格に従った形式となるように、分割したデータを変換してもよい。
エッジサーバ200aに送信するデータは、エッジサーバ200aが配信する形式に変換できるようなデータ(メタデータ)が付加された形式で表されてもよい。例えば分割部112は、エッジサーバ200a側でfMP4などの規格に従った形式に変換できるように、変換に必要な情報を含むメタデータを、分割したデータに付加してもよい。変換に必要な情報は、例えば、送信装置100を識別する情報(IPアドレスおよびポート番号など)、時刻(撮像された日時分秒など)、および、当該時刻内での画像の位置(例えば先頭から何番目かを示す情報など)を含む。
分割部112は、ネットワーク401の帯域に応じて、エッジサーバ200aに送信するデータのサイズまたは符号量を変更してもよい。例えば分割部112は、割り当てられたネットワーク401の帯域内で遅延等が生じずに送信できるサイズに相当するデータ、または、ネットワーク401の帯域以内の符号化ビットレートとなるデータをエッジサーバ200aに送信するデータとして分割してもよい。例えば、ネットワーク401の帯域が大きい場合は、分割部112は、IピクチャおよびPピクチャの一部をエッジサーバ200aに送信するデータとして分割し、帯域が小さくなるに従い、Iピクチャのみ、および、Iピクチャのうち一部(Iピクチャを一定数ごとに間引きするなど)をエッジサーバ200aに送信するデータとして分割してもよい。Pピクチャを部分的に配信する際のエンコード手法については、例えば特許文献1に記載の手法などを用いることができる。
分割部112は、ネットワーク401の帯域に応じて、あるいは、クライアント300またはエッジサーバ200aからの要求に応じて、上記のような分割方法を動的に切り替えることにより、エッジサーバ200aに送信するデータのサイズまたは符号量を変更してもよい。
符号化部111により符号化されたデータを単純に分割すると、分割されたデータのサイズが不一致となる可能性がある。例えば、符号化部111が、ネットワーク401の帯域に応じて各ピクチャの符号量を調整する機能を備えている場合、各Iピクチャのサイズ、および、各Pピクチャのサイズは相互に異なりうる。従って、このようにして符号化された各ピクチャのうち、例えばIピクチャをエッジサーバ200aに送信するデータとして分割すると、分割されたIピクチャそれぞれのサイズも相互に異なる可能性がある。
そこで、符号化部111は、分割後のデータのサイズまたは符号化ビットレートが、割り当てられたネットワーク401の帯域内で遅延等が生じずに送信できるサイズまたは符号化ビットレートとなるように、ネットワーク401の帯域に応じて符号量を調整してもよい。例えば、分割部112がIピクチャのみをエッジサーバ200aに送信するように映像を分割する場合であれば、符号化部111は、Iピクチャのサイズがネットワーク401の帯域内で遅延等が生じずに送信できる一定のサイズとなるように、または、ネットワーク401の帯域以内の符号化ビットレートとなるように、映像を符号化してもよい。
データ送信部113は、エッジサーバ200aなどの外部装置に対してデータを送信する。例えばデータ送信部113は、分割部112により分割されたデータのうち、エッジサーバ200aに送信するデータ(第1データ)を、エッジサーバ200aに送信する。またデータ送信部113は、記憶部121に記憶されたデータの送信要求が要求受信部115(後述)により受信された場合、要求されたデータをエッジサーバ200aに送信する。
記憶制御部114は、記憶部121に対する記憶処理を制御する。例えば記憶制御部114は、分割部112により分割されたデータのうち、エッジサーバ200aに送信しないデータを記憶部121に記憶する。記憶制御部114は、エッジサーバ200aに送信したデータ(第1データ)を記憶部121に記憶してもよい。このとき、記憶制御部114は、送信したデータ(第1のデータ)が送信済であることを示す、または、第2データが未送信であることを示すメタデータを用いて、記憶したデータを管理してもよい。記憶制御部114は、予め定められた条件に従い記憶部121に記憶されたデータを削除してもよい。例えば記憶制御部114は、記憶してから一定期間が経過したデータを削除してもよい。
要求受信部115は、記憶部121に記憶されたデータの送信要求をエッジサーバ200aから受信する。クライアント300からエッジサーバ200a以外の制御サーバ等を経由して要求を送信する構成の場合、要求受信部115は、記憶部121に記憶されたデータの送信要求をこのような制御サーバから受信してもよい。
上記各部(符号化部111、分割部112、データ送信部113、記憶制御部114、要求受信部115)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
なお送信装置100の各機能は、物理的または論理的に異なる複数の装置に分散されてもよい。例えば、撮像部101および符号化部111を備える装置(図2の映像入力、エンコーダ)と、残りの各部(図2のフラグメント化、記憶部)を備える装置とに分けられてもよい。この場合、符号化部111により符号化されたデータは、例えば、ネットワークまたは同軸ケーブルなどの通信路により、後者の装置に入力される。後者の装置が、符号化されたデータを通信路を介して取得するように構成してもよい。
次にエッジサーバ200aの構成について説明する。エッジサーバ200aは、配信リストおよび判定情報を、ネットワーク402を介してクライアント300aに配信する。配信リストは、配信するデータ(以下、コンテンツともいう)に関する情報を記載したリストである。通常、コンテンツ配信者は、配信リストにコンテンツの取得先やビットレート等のメタデータを記載する。コンテンツ取得者は、配信リストを取得し、解析することで、取得するコンテンツを特定することができる。
配信リストに記載されるコンテンツは、送信可能な状態のコンテンツのみではなく、送信できない状態のコンテンツ、および、送信を許可しないコンテンツなどを含みうる。判定情報は、配信リストに含まれるコンテンツの送信を要求するか否かを受信装置(クライアント300a)が判定するための情報である。
図4は、本実施形態のエッジサーバ200aの機能構成の一例を示すブロック図である。図4に示すように、エッジサーバ200aは、サーバ処理部240aと、送信処理部250aと、を備えている。サーバ処理部240aは、送信装置100から受信したデータをクライアント300aに配信するサーバとしての機能に相当する。送信処理部250aは、送信装置100から受信したデータを、さらにセンタサーバ200bに送信する機能である。送信装置100のデータの送信先はエッジサーバ200aであるが、送信処理部250aのデータの送信先はセンタサーバ200bである。すなわち、送信処理部250aは、センタサーバ200bに対して送信装置100を仮想化した装置として機能する。
サーバ処理部240aは、検出部201と、リスト生成部211と、判定情報生成部212と、リスト送信部213と、判定情報送信部214と、要求送受信部215と、配信部216と、データ受信部217と、記憶制御部218と、一時記憶部221と、記憶部222と、を備えている。
検出部201は、コンテンツが送信可能になったことを検出する。例えば検出部201は、コンテンツを提供する提供装置(送信装置100など)からコンテンツが提供された場合に、コンテンツが送信可能になったと判断する。検出部201は、コンテンツが記憶される記憶領域(例えば一時記憶部221)を監視し、コンテンツが記憶された場合に、コンテンツが送信可能になったと判断してもよい。
リスト生成部211は、配信リストを生成する。リスト生成部211は、例えば、配信リストを生成して送信することをクライアント300aから要求されたときに、配信リストを生成する。配信リストの生成の契機はこれに限られず、どのような契機であってもよい。例えばリスト生成部211は、一定時間が経過するごとに、次の期間に送信するコンテンツの配信リストを生成してもよい。リスト生成部211は、提供装置からコンテンツが提供されたとき、または、生成を指示されたときなどに配信リストを生成してもよい。
図5は、配信リストのデータ構造の一例を示す図である。図5に示すように、配信リストは、コンテンツを識別する識別情報を含む。図5は、コンテンツのURL(Uniform Resource Locator)を識別情報として利用する例を示している。識別情報は、コンテンツを識別できればURL以外の情報を用いてもよい。配信リストは、識別情報以外の情報を含んでもよい。本実施形態では、例えば分割されたデータ(ピクチャなど)ごとのURLを含む配信リストが作成される。
図4に戻り、判定情報生成部212は、判定情報を生成する。例えば判定情報生成部212は、コンテンツが送信可能である場合に送信可能であることを示す判定情報を生成し、コンテンツが送信可能でない場合に送信可能でないことを示す判定情報を生成する。また判定情報生成部212は、コンテンツが送信可能であるか否かを示す状況が変化した場合に、変化した後の状況に対応するように更新した判定情報を生成する。
判定情報生成部212は、例えば、判定情報を生成して送信することをクライアント300aから要求されたときに、判定情報を生成する。リスト生成部211により配信リストが生成されたときに、その時点での判定情報を判定情報生成部212が生成してもよい。判定情報の生成の契機はこれに限られず、どのような契機であってもよい。例えば判定情報生成部212は、一定時間が経過するごとに、例えば検出部201を用いてコンテンツが送信可能になったか否かを検出し、検出結果に応じて更新した判定情報を生成してもよい。
図6は、判定情報のデータ構造の一例を示す図である。図6の判定情報は、図5の配信リストに記載された4つのコンテンツが送信可能かを判定するための判定情報の例である。例えば「○」は、コンテンツが送信可能であることを示し、「×」は、コンテンツが送信可能でないことを示す。図6の例では、図5の4つのURLに対応する4つのコンテンツ(“ContentA_1”、“ContentA_2”、“ContentA_3”、“ContentA_4”)に対応する4つの判定情報(「○」または「×」)が対応する順序で指定されている。
コンテンツごとに判定情報を指定できる方法であれば、図6以外のデータ構造の判定情報を用いてもよい。例えば、コンテンツの識別情報を判定情報に対応づけてもよい。いずれの配信リストに対応する判定情報であるかを識別可能とするために、配信リストを識別するための情報を判定情報に対応づけてもよい。
コンテンツが送信可能であるとは、例えば、配信対象となるコンテンツがエッジサーバ200aに提供されており、クライアント300aに対して送信できる状態である。コンテンツが送信可能でないとは、例えば、配信対象となるコンテンツがエッジサーバ200aにまだ提供されておらず、クライアント300aに対して送信できない状態である。なおエッジサーバ200aは、クライアント300aからの要求に応じてコンテンツを送信(プル型送信)してもよいし、クライアント300aからの要求なしにコンテンツを送信(プッシュ型送信)してもよい。
コンテンツが提供されているか否かに関わらず、エッジサーバ200aが、コンテンツを送信可能であるか否かを指定してもよい。例えば、通信負荷を軽減させるために、提供された複数のコンテンツのうち一部または全部に対して、送信可能でないことを示す判定情報を生成し、これらのコンテンツを送信できないように構成してもよい。このように、送信可能であるコンテンツが、その後、送信可能でなくなる場合がありうる。
判定情報は、コンテンツごとに1つであってもよいし、複数であってもよい。例えば、コンテンツの1以上のメタデータを判定情報として使用してもよい。メタデータは、例えば、コンテンツの範囲を示す範囲情報、コンテンツのデータ長、および、コンテンツの種類などである。範囲情報は、例えば、あるデータのうち、コンテンツとして配信するデータの範囲を指定する情報である。範囲情報が確定している場合には、確定した範囲情報を判定情報として設定し、未確定の場合には、未確定であることを示す予め定められた情報(未確定情報)を判定情報として設定する。クライアント300aは、判定情報としての範囲情報に未確定情報が設定されていた場合に、対応するコンテンツが送信可能でないと判定できる。このように、メタデータを判定情報として使用する場合は、メタデータによりコンテンツが送信可能か否かを判定できるようなデータ形式を定めておけばよい。
図4に戻り、リスト送信部213は、リスト生成部211により生成された配信リストをクライアント300aに送信する。例えばリスト送信部213は、コンテンツの送信を開始する前に、事前に配信リストをクライアント300aに送信する。判定情報送信部214は、判定情報生成部212により生成された判定情報をクライアント300aに送信する。
要求送受信部215は、各種要求の送受信を行う。例えば要求送受信部215は、配信リストの送信要求、判定情報の送信要求、および、コンテンツの送信要求をクライアント300aから受信する。また要求送受信部215は、記憶部121に記憶されたコンテンツの送信要求を、送信装置100に送信する。
配信部216は、要求されたコンテンツを、送信要求を送信したクライアント300aに送信する。プッシュ型送信を採用する場合、配信部216は、クライアント300aからの要求なしにコンテンツを送信してもよい。
データ受信部217は、送信装置100から送信されたデータを受信する。例えばデータ受信部217は、エッジサーバ200aに送信するデータとして分割されたデータを受信する。記憶部121に記憶されたデータの送信要求が送信された場合、データ受信部217は、この送信要求に対して送信装置100が送信したデータを受信する。
記憶制御部218は、一時記憶部221および記憶部222に対する記憶処理を制御する。送信装置100から送信されたデータおよび送信装置100から送信されたデータをエッジサーバ200aが配信する形式に変換したデータを記憶部222に記憶してから配信するように構成すると、記憶部222にデータを記憶する処理が配信速度に追いつかない、および、記憶部222への書き出し処理が一時的にフリーズする、などの書き出し処理の異常が生じ、正常に配信できなくなる場合がある。そこで、記憶制御部218は、送信装置100から送信されたデータを、上記のような書き出し処理の異常が生じないような記憶媒体である一時記憶部221に記憶する。配信部216は、データが一時記憶部221に記憶されている場合は、一時記憶部221からデータを読み出してクライアント300aに配信する。この際、送信装置100から送信されたデータは最終的に記憶部222に記憶することになる。このため、配信部216はクライアント300aからの要求に対してあたかも記憶部222から配信しているかのように動作してもよい。すなわち、記憶部222に保存されているデータに対する要求に対し、一時記憶部221に保存されているデータを返してもよい。エッジサーバ200a上でこれらのファイルの紐づけを記録(データベース、ファイル、シンボリックリンクなど)して配信時に参照することで、このような機能を実現できる。
そして、記憶制御部218は、一時記憶部221に記憶されたデータを、記憶部222に書き出す処理(書き出し処理)を行う。書き出し処理では、記憶制御部218は、一時記憶部221に記憶された複数のデータを1つのデータに結合して記憶部222に記憶してもよい。例えば、記憶制御部218は、一定期間内に撮像された複数のデータを1つのファイルに含まれるように結合し、結合したファイル(結合ファイル)を記憶部222に書き出してもよい。これにより、記憶部222に記憶するファイルの個数が例えばオペレーティングシステムの許容量を超えることにより、データが記憶できなくなる不具合などを回避可能となる。
複数のデータを1つのデータに結合して記憶部222に記憶した後、結合したデータに含まれるデータの送信要求をクライアント300aから受信した場合は、結合したデータから、該当データを特定する機能が必要となる。そこで、例えばリスト生成部211は、該当データを特定するための特定情報を含むように配信リストを更新してもよい。リスト生成部211は、例えば、結合ファイル内でのデータの位置を示す特定情報(先頭からのバイトオフセットなど)を、当該データの識別情報(URLなど)に対応づけた配信リストを作成し、クライアント300aに送付する。
クライアント300aは、更新された配信リストを参照してデータの送信を要求する場合、要求するデータの識別情報とともに、対応づけられた特定情報を指定する。例えば、クライアント300aは、データの識別情報を示すURLに特定情報を付加した情報により、データを要求する。クライアント300aは、ヘッダ(HTTPの拡張ヘッダなど)に特定情報を含めた送信要求によりデータを要求してもよい。
この際に要求するファイル名は、もとの分割前のファイル名としてもよい。これによりクライアント300a上で既に受信済でキャッシュされているかの判定が容易となり、取得済データの再取得を抑制できる。この場合、エッジサーバ200aは元の分割されたファイル(フラグメントファイル)から結合したデータ(結合ファイル)を特定する必要がある。このためには、(1)予めクライアント300aに送信する特定情報としてフラグメントファイルに対する結合ファイルの情報を送信しておきクライアント300aが要求時にHTTP拡張ヘッダに記載する、(2)エッジサーバ200aが要求されたフラグメントファイル名から結合ファイルを要求応答時に自ら特定する、という方法がある。(2)については、(2−1)結合ファイルを作成する際にフラグメントファイルとの紐づけを記録しておく(データベース、ファイル、シンボリックリンクなど)ほか、(2−2)命名規則で自己解決するようにしておく(例えば図5の例であれば、ContentsA_1〜ContentsA_4の結合ファイル名はContentsAとするなど)ことなどが考えられる。
エッジサーバ200aは、クライアント300aから送信された特定情報を用いて、結合データから該当データを特定し、特定したデータを要求元のクライアント300aに配信する。
記憶制御部218は、予め定められた条件に従い記憶部222に記憶されたデータを削除してもよい。例えば記憶制御部218は、記憶してから一定期間が経過したデータを削除してもよい。記憶制御部218は、一定時間が経過するごとに、段階的にデータを削除してもよい。例えば記憶制御部218は、所定期間(例えば1日)が経過したらPピクチャの全部または一部を記憶部222から削除し、以降は、さらに所定期間(最初の期間と同じでもよいし異なってもよい)が経過するごとにPピクチャまたはIピクチャを段階的に間引くように記憶部222から削除する。このような処理により、長期記録のため記憶容量を削減したいときに、例えば品質を低下させた映像に変換する処理を実行することなく、時間の経過とともに間欠性を増した映像を得ることが可能となる。Pピクチャの段階的な削除については、例えば特許文献1に記載のエンコード手法などを用いることができる。
また例えば記憶制御部218は、送信済みのデータを優先して削除してもよい。この際、記憶制御部218は、データが送信済みであるか否かを示すメタデータを用いて、データが送信済みであるか判定してもよい。さらに、記憶制御部218は、削除処理で参照するためのその他のメタデータを予め用意しておいてもよい。このメタデータは、例えば、どのデータがどのピクチャに該当するかを判別できるデータなどである。より具体的には、メタデータは、例えば、時刻(撮像された日時分秒など)、当該時刻内での画像の位置(例えば先頭から何番目かを示す情報など)、ファイル名、および、ファイルの先頭からのバイトオフセットなどを含む。
一時記憶部221は、受信されたデータを一時的に記憶する。例えば一時記憶部221は、DRAM(Dynamic Random Access Memory)などの揮発性のメモリにより構成することができる。
記憶部222は、エッジサーバ200aが使用する各種データを記憶する。例えば記憶部222は、配信対象となるコンテンツ、生成された配信リスト、および、生成された判定情報を記憶する。記憶部222は、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
なお、上記のような書き出し処理の異常が生じないような場合であれば、一時記憶部221を備えないように構成してもよい。
送信処理部250aは、記憶部121と、分割部112と、データ送信部113と、記憶制御部114と、要求受信部115と、を備えている。このように送信処理部250aは、送信装置100が備える機能のうち、撮像部101および符号化部111以外の機能を備えている。送信処理部250aは、撮像部101および符号化部111に相当する機能をさらに備えてもよい。
送信処理部250aは、撮像部101により撮像され、符号化部111により符号化された映像の代わりに、送信装置100から送信された映像を用いる。また、送信処理部250aは、センタサーバ200bが、データの送信先および要求の受信元となる。その他の機能は送信装置100と同じであるため、同一の符号を付し説明を省略する。
例えば送信処理部250aは、符号化部111により符号化された映像の代わりに、送信装置100から送信され、記憶部222に記憶された映像を分割部112に入力する。分割部112は、入力された映像(既に符号化された映像)を、センタサーバ200bに送信するデータ(第1データ)と、送信せずに記憶部121に記憶するデータ(第2データ)と、に分割する。
上記各部(分割部112、データ送信部113、記憶制御部114、要求受信部115、検出部201、リスト生成部211、判定情報生成部212、リスト送信部213、判定情報送信部214、要求送受信部215、配信部216、データ受信部217、および、記憶制御部218)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
なおエッジサーバ200aの各機能は、物理的または論理的に異なる複数の装置に分散されてもよい。例えば、配信リストを送信するサーバ装置と、コンテンツを送信するサーバ装置とに分けられてもよい。また、例えば、送信装置100からデータを受信して一時記憶部221および記憶部222に記憶するサーバ装置と、一時記憶部221および記憶部222からデータを読み出して配信するサーバ装置とに分けられてもよい。
次にセンタサーバ200bの機能について説明する。センタサーバ200bは、エッジサーバ200aのサーバ処理部240aに相当する機能を備えるサーバである。図7は、本実施形態のセンタサーバ200bの機能構成の一例を示すブロック図である。
センタサーバ200bは、送信装置100の代わりにエッジサーバ200aから映像を受信する点、および、クライアント300aの代わりにクライアント300bを対象として映像を配信する点が、エッジサーバ200aと異なる。すなわち、センタサーバ200bは、データの受信元が送信装置100ではなくエッジサーバ200aであり、データの送信先がクライアント300aではなくクライアント300bである以外は、サーバ処理部240aと同様の機能を備える。このため図4と同一の符号を付し詳細な説明は省略する。
次にクライアント300の機能について説明する。以下では、クライアント300aを例に説明する。クライアント300bは、接続先がエッジサーバ200aからセンタサーバ200bに置き換えられる以外はクライアント300aと同様の機能を有する。
図8に示すように、クライアント300aは、リスト受信部311と、判定情報受信部312と、判定部313と、要求送信部314と、データ受信部315と、再生部316と、記憶部321と、を備えている。
リスト受信部311は、配信リストをエッジサーバ200aから受信する。判定情報受信部312は、判定情報をエッジサーバ200aから受信する。
判定部313は、配信リストおよび判定情報に基づいて、送信を要求するコンテンツを判定する。例えば判定部313は、図5に示す配信リストにURLが記載されたコンテンツのうち、図6のように判定情報として「○」が設定されたコンテンツを、送信を要求するコンテンツとして判定する。判定情報として上述の範囲情報を用いる場合、判定部313は、例えば、範囲情報に未確定情報が設定されていないコンテンツを、送信を要求するコンテンツと判定する。複数の判定情報を用いる場合、判定部313は、複数の判定情報の組み合わせに応じて、送信を要求するコンテンツを判定してもよい。例えば判定部313は、すべての判定情報がコンテンツを送信可能であることを示す場合に、対応するコンテンツを、送信を要求するコンテンツと判定する。
要求送信部314は、送信を要求すると判定されたコンテンツの送信要求をエッジサーバ200aに送信する。データ受信部315は、要求送信部314により送信した送信要求に応じて送信されたコンテンツをエッジサーバ200aから受信する。再生部316は、受信されたコンテンツを再生する。
記憶部321は、クライアント300aが使用する各種データを記憶する。例えば記憶部321は、送信された配信リスト、送信された判定情報、および、配信されたコンテンツを記憶する。
上記各部(リスト受信部311、判定情報受信部312、判定部313、要求送信部314、データ受信部315、および、再生部316)は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPUなどのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のICなどのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
上記のような配信リストと判定情報とを用いることにより、エッジサーバ200aは、例えば、更新があるごとに配信リストを作成して送信する必要がなくなる。また、クライアント300aは、判定情報を参照すれば、更新箇所をより容易に解析することができる。すなわち、配信リストを再取得および再解析することなく、最新の配信リストと同等の情報を効率的に取得および解析可能となる。
なお、判定情報を用いずに、例えば、データの更新があるごとに配信リストを作成して送信するように構成してもよい。この場合、判定情報に関する機能(判定情報生成部212、判定情報送信部214、判定情報受信部312など)は備えなくてもよい。また、例えばプッシュ型送信などを採用する場合であれば、エッジサーバ200aは、配信リストを用いずに映像をクライアント300aに配信してもよい。
次に、本実施形態にかかる送信装置100によるデータの送信処理について説明する。図9は、本実施形態における送信処理の一例を示すフローチャートである。
撮像部101は、配信対象となる映像を撮像する(ステップS101)。符号化部111は、撮像部101から入力された映像を符号化する(ステップS102)。分割部112は、エッジサーバ200aに送信するデータと、記憶部121に記憶するデータと、に分割する。例えば分割部112は、入力された映像を、Iピクチャのフラグメントと、Pピクチャのフラグメントとに分割する(ステップS103)。データ送信部113は、Iピクチャのフラグメントを、エッジサーバ200aに送信する(ステップS104)。記憶制御部114は、Pピクチャのフラグメントを、記憶部121に記憶する(ステップS105)。
次に、記憶部121に記憶されたデータの送信処理について説明する。図10は、記憶部121に記憶されたデータの送信処理の一例を示すフローチャートである。
要求受信部115は、エッジサーバ200a(または制御サーバ)から、記憶部121に記憶されたデータの送信要求を受信する(ステップS201)。記憶部121にPピクチャが記憶されている場合は、要求受信部115は、記憶されたPピクチャのうちいずれかのPピクチャの送信要求を受信する。データ送信部113は、要求されたPピクチャを記憶部121から読み出し、エッジサーバ200aに送信する(ステップS202)。
次に、このように構成された本実施形態にかかるエッジサーバ200aによるリスト生成処理について説明する。リスト生成処理は、エッジサーバ200aが配信リストを生成する処理である。なおセンタサーバ200bのリスト生成部211も同様の手順により配信リストを生成することができる。図11は、本実施形態におけるリスト生成処理の一例を示すフローチャートである。
エッジサーバ200aのリスト生成部211は、例えばクライアント300aからの要求に応じて、配信リストを生成する(ステップS301)。リスト生成部211は、生成した配信リストを例えば記憶部222に記憶する(ステップS302)。
一例として、時間的に連続したコンテンツであるContentA_1、ContentA_2、ContentA_3、およびContentA_4が配信予定のコンテンツとして存在し、ContentA_1とContentA_3が配信可能であるとする。この場合、リスト生成部211は、ContentA_1、ContentA_2、ContentA_3、およびContentA_4を配信するための配信リストを生成する。上述の図4は、このときに生成される配信リストの一例を示す。
次に、本実施形態にかかるエッジサーバ200aによる判定情報生成処理について説明する。判定情報生成処理は、エッジサーバ200aが判定情報を生成する処理である。なおセンタサーバ200bの判定情報生成部212も同様の手順により判定情報を生成することができる。判定情報生成処理は、例えばクライアント300aから判定情報の送信要求があった場合に実行される。図12は、本実施形態における判定情報生成処理の一例を示すフローチャートである。
エッジサーバ200aの判定情報生成部212は、配信予定のコンテンツについて、判定情報を生成済みであるか否かを判定する(ステップS401)。判定情報を生成済みでない場合(ステップS401:No)、判定情報生成部212は、当該コンテンツについての判定情報を生成する(ステップS402)。上述の図6は、図11で説明した例(ContentA_1とContentA_3が配信可能である例)に対して生成される判定情報の一例を示す。
判定情報を生成した後、および、判定情報を生成済みの場合(ステップS401:Yes)、判定情報生成部212は、生成済みの判定情報を更新するか否かを判定する(ステップS403)。例えば判定情報生成部212は、検出部201からコンテンツが送信可能になったことを示す検出結果を受け取った場合に、判定情報を更新すると判定する。
判定情報を更新すると判定した場合(ステップS403:Yes)、判定情報生成部212は、判定情報を更新する(ステップS404)。判定情報を更新した後、および、判定情報を更新しないと判定した場合(ステップS403:No)、判定情報生成処理を終了する。
エッジサーバ200aは、生成した配信リストおよび判定情報を、ネットワーク402を介して配信可能な状態にする。クライアント300aは、エッジサーバ200aにアクセスして配信リストおよび判定情報を取得することが可能となる。
次に、本実施形態にかかる通信システムによるコンテンツ配信処理について説明する。図13は、本実施形態におけるコンテンツ配信処理の一例を示すシーケンス図である。図13では、エッジサーバ200aがクライアント300aを対象としてコンテンツを配信する例を説明する。センタサーバ200bがクライアント300bを対象としてコンテンツを配信する場合も同様の手順を適用できる。
エッジサーバ200aのリスト生成部211は、配信リストを生成する(ステップS501)。この処理は、例えば上述のリスト生成処理に相当する。エッジサーバ200aのリスト送信部213は、例えばクライアント300aからの要求に応じて、配信リストをクライアント300aに送信する(ステップS502)。
エッジサーバ200aの判定情報生成部212は、判定情報を生成する(ステップS503)。この処理は、例えば上述の判定情報生成処理に相当する。エッジサーバ200aの判定情報送信部214は、例えばクライアント300aからの要求に応じて、判定情報をクライアント300aに送信する(ステップS504)。
クライアント300aのリスト受信部311が配信リストを受信し、判定情報受信部312が判定情報を受信する。その後、クライアント300aの判定部313は、受信した配信リストおよび判定情報を用いて、送信を要求するコンテンツを判定する(ステップS505)。例えば図5に示す配信リストを受信した場合、判定部313は、受信した配信リストを解析することで、ContentA_1〜ContentA_4をそれぞれ取得するためのURLを得る。また判定部313は、受信した判定情報を解析し、配信リストに記載されたコンテンツのうち、送信可能なコンテンツを判定する。
図14は、図5に示す配信リストに対して図6に示す判定情報を用いて判定する例を説明する図である。図14に示すように、配信リストに記載のContentA_1を取得するためのURLと、ContentA_1に対応する判定情報とを組み合わせることで、判定部313は、ContentA_1が送信可能(アクセス可能)であると判定できる。同様に判定部313は、ContentA_2が送信不可(アクセス不可)であると判定できる。
図13に戻り、要求送信部314は、送信を要求すると判定されたコンテンツの送信要求を、エッジサーバ200aに送信する(ステップS506)。エッジサーバ200aの配信部216は、要求されたコンテンツをクライアント300aに送信する(ステップS507)。クライアント300aのデータ受信部315がコンテンツを受信し、再生部316が、受信したコンテンツを再生する(ステップS508)。
なお、エッジサーバ200aでそのまま配信可能な形式で表されたコンテンツが送信装置100から送信される場合は、配信部216は、送信装置100から送信されたコンテンツを変換せずに、そのままクライアント300aに送信する。エッジサーバ200aが配信する形式に変換できるようなメタデータが付加された形式でコンテンツが送信される場合は、配信部216は、送信されたコンテンツを、メタデータに従って配信可能な形式に変換し、変換したコンテンツをクライアント300aに送信する。
この後、ContentA_2が配信可能な状態となったとする。このとき、エッジサーバ200aの検出部201は、ContentA_2が配信可能な状態となったことを検出する。判定情報生成部212は、検出結果に応じて更新した判定情報を生成する(ステップS509)。
図15は、更新した判定情報の一例を示す図である。判定情報生成部212は、図15に示すように、ContentA_2に対応する判定情報を「×」から「○」に更新する。更新された判定情報は、ネットワーク402を介して配信可能な状態にされる。
図13に戻り、エッジサーバ200aの判定情報送信部214は、例えばクライアント300aからの要求に応じて、更新された判定情報をクライアント300aに送信する(ステップS510)。この後のステップS511からステップS514は、ステップS505からステップS508と同様である。
図16は、図5に示す配信リストに対して図15に示す判定情報を用いて判定する例を説明する図である。図16に示すように、判定部313は、ContentA_2が送信可能(アクセス可能)な状態になったことを判定できる。
このようにクライアント300aは、ContentA_2が配信可能な状態となったときに、配信リストを再取得することなく、既に受信済みの配信リストに対して、更新された判定情報を適用するのみで、各コンテンツの最新の状態を得ることが可能となる。
次に、エッジサーバ200aによるデータの送信処理について説明する。図17は、エッジサーバ200aによる送信処理の一例を示すフローチャートである。
分割部112は、記憶部222に記憶されたデータ(映像)を、センタサーバ200bに送信するデータと、記憶部121に記憶するデータと、に分割する。例えば分割部112は、入力された映像を、Iピクチャのフラグメントと、Pピクチャのフラグメントとに分割する(ステップS601)。データ送信部113は、Iピクチャのフラグメントを、センタサーバ200bに送信する(ステップS602)。記憶制御部114は、Pピクチャのフラグメントを、記憶部121に記憶する(ステップS603)。
本実施形態は、例えば、ドライブレコーダで撮像した映像を監視するシステムに適用できる。適用可能なシステムはこれに限られるものではない。例えば、センサにより得らえたセンサデータを配信して監視するシステム、および、移動体に搭載された撮像装置などにより得られた動画像データを配信して監視するシステムに適用してもよい。移動体は、例えば、人、ロボット、車両(自動車、二輪車、電車など)、台車、飛行可能な物体(有人飛行機、無人飛行機(例えば、UAV(Unmanned Aerial Vehicle)、ドローン)、および、パーソナルモビリティ、などである。また、移動体は、例えば、人による運転操作を介して走行する移動体、および、人による運転操作を介さずに自動的に走行(自動運転)可能な移動体である。
本実施形態は、例えば、機器の監視制御システムの画面(HMI:Human Machine Interface)の操作履歴を監視する監視システムに適用することもできる。画面の操作履歴は、例えば、表示装置に表示される画面をキャプチャして記録する機能により得ることができる。このようにして得られる画像データを、送信装置100により撮像される映像の代わりに用いることができる。
機器の監視制御システムでは、通常、多数の監視画面が使用されるため、画面の操作履歴の監視システムは、多数の監視画面の画像を並べて監視する必要が生じる場合がある。一般に、このように多数の映像を並行して表示させる処理は処理負荷が高くなるが、本実施形態では分割したデータ(例えばIピクチャ)のみを表示させることができるため、処理負荷の増加を抑制することができる。
本実施形態では、送信装置100から送信されたデータは、エッジサーバ200aを介してセンタサーバ200bに送信される。従って、例えば送信装置100の電源がオフとなった場合、または、送信装置100が移動することによりオフラインとなった場合であっても、既にエッジサーバ200aに送信済みのデータであれば、エッジサーバ200aが送信装置100を代理してデータを送信可能となる。
例えば送信装置100とエッジサーバ200aとの間を、第5世代移動通信システム(5G)または無線LANなどの高速なネットワーク401で接続し、エッジサーバ200aとセンタサーバ200bとの間は、ネットワーク401より低速なネットワーク403で接続してもよい。このような構成により、高速なネットワーク401で常時データをエッジサーバ200aにアップロードしておき、エッジサーバ200aからセンタサーバ200bへは、例えばネットワーク403の使用率が低いときにデータを送信するといった制御が可能となる。
移動体により得られたデータを監視するシステムに適用する場合、移動体の移動範囲に複数のエッジサーバ200aが分散配置されてもよい。例えば複数のエッジサーバ200aは、複数の信号機、複数の電柱、複数の車庫、および、複数の無線局などにそれぞれ配置されてもよい。この場合、センタサーバ200bは、例えばテレマティクスサービスのセンタサーバであってもよい。
複数のエッジサーバ200aを分散配置する構成は、例えば発電プラントに含まれる各機器のセンサデータを監視するシステムにも適用できる。このようなシステムでは、例えば、複数の制御室それぞれに、センサデータを収集するエッジサーバ200aが分散配置される。センタサーバ200bは、例えば事務室に備えられる。データダイオードにより、各エッジサーバ200aからセンタサーバ200bへの一方送信のみが許可されるように構成されてもよい。
複数のエッジサーバ200aを分散配置する構成では、1つの送信装置100で得られたデータが、複数のエッジサーバ200aを介してセンタサーバ200bに送信されうる。本実施形態では、各エッジサーバ200aは、この送信装置100を仮想化するように動作するため、センタサーバ200bからは、この1つの送信装置100からデータが送信されるように見える。従って、例えば各エッジサーバ200a間でデータを同期させる機能は不要である。またセンタサーバ200bは、例えば複数のエッジサーバ200aを区別して処理する機能は不要である。
(変形例1)
上記実施形態では、送信装置100から送信されたデータは、エッジサーバ200aを介してセンタサーバ200bに送信された。送信装置100から、エッジサーバ200aを介さずにセンタサーバ200bにデータを送信可能とされてもよい。
例えば送信装置100は、センタサーバ200bからの要求、または、予め定められた送信条件に応じて、エッジサーバ200aを介さずにセンタサーバ200bにデータを送信する。
例えばセンタサーバ200bは、要求およびデータを直接送受信できるように送信装置100に接続される。センタサーバ200b(要求送受信部215)は、例えばIピクチャを直接センタサーバ200bに送信するとともに、Pピクチャをエッジサーバ200aに送信する要求を、送信装置100に対して送信する。送信装置100は、この要求に従い、Iピクチャをセンタサーバ200bに送信し、Pピクチャをエッジサーバ200aに送信する。
予め定められた送信条件は、例えば、エッジサーバ200aおよびセンタサーバ200bとの間のネットワークの接続形態である。送信装置100は、例えば、相対的に低速なネットワークと接続されたサーバに対して分割したピクチャの一部(例えばIピクチャ)のみを送信し、相対的に高速なネットワークと接続されたサーバに対して残りのピクチャ(例えばPピクチャ)を送信する。
より具体的には、以下のようにネットワークの接続形態を定めてもよい。
(N1)エッジサーバ200aとは高速なネットワーク401(5G、無線LANなど)で接続し、センタサーバ200bとはネットワーク401より低速なネットワーク403で接続する。
(N2)エッジサーバ200aとは高速なLTE(Long Term Evolution)で接続し、センタサーバ200bとは低速なLTEで接続する。
エッジサーバ200aおよびセンタサーバ200bの両方に対して5Gに準拠したネットワークで接続される場合、5Gで定められるスライスを送信条件としてもよい。例えばより低速にデータを送信するスライスをセンタサーバ200bとの通信に用いる場合、送信装置100は、分割したピクチャの一部(例えばIピクチャ)のみを、このスライスを用いてセンタサーバ200bに送信してもよい。
送信装置100からセンタサーバ200bに直接データを送信できる構成の場合、送信装置100から直接送信されるデータと、送信装置100からエッジサーバ200aを介して送信されるデータとが重複する場合が生じうる。本実施形態では、エッジサーバ200aは送信装置100を仮想化するようにデータを送信する。従って、センタサーバ200bは、送信装置100から重複してデータが送信された状況と同じ状況であると認識する。
従って、センタサーバ200bは、送信装置100から重複してデータが送信された場合の処理を実行する機能を備えていれば、例えば、送信装置100から送信されたデータと、エッジサーバ200aから送信されたデータとを整合させるための機能などを備える必要はない。送信装置100から重複してデータが送信された場合の処理を実行する機能は、例えば、重複するデータの一方を破棄する機能、および、重複するデータのいずれも記憶する機能など、従来から用いられているどのような機能であってもよい。
図18は、本変形例における送信装置100による送信処理の一例を示すフローチャートである。図18では、IピクチャとPピクチャとに分割して送信する例を説明するが、上記のようにデータの分割方法はこれに限られるものではない。
ステップS701〜S703は、上記実施形態の送信装置100による送信処理を示す図9のステップS101〜S103と同様である。
本変形例では、データ送信部113は、Iピクチャのフラグメントを送信する送信先を決定する(ステップS704)。例えばセンタサーバ200bからIピクチャの送信要求があった場合、データ送信部113は、センタサーバ200bを送信先と決定する。データ送信部113は、要求に応じてではなく、送信条件に応じて送信先を決定してもよい。例えばデータ送信部113は、より低速なネットワークにより接続されたサーバをIピクチャの送信先と決定してもよい。
データ送信部113は、Iピクチャのフラグメントを、決定した送信先のサーバに送信する(ステップS705)。記憶制御部114は、Pピクチャのフラグメントを、記憶部121に記憶する(ステップS706)。
(変形例2)
ネットワーク401を、複数の通信回線により構成し、分割部112により分割されたデータの一部(例えばIピクチャ)を複数の通信回線のいずれか(通信回線401Aとする)によりエッジサーバ200aに送信し、残りのデータ(例えばPピクチャ)を複数の通信回線のうち他の通信回線(通信回線401Bとする)によりエッジサーバ200aに送信するように構成してもよい。図19は、このように構成された変形例2の映像配信システムの構成例を示す図である。例えばデータ送信部113は、Iピクチャを通信回線401Aによりライブ配信し、Pピクチャを通信回線401Bにより、任意のタイミングで送信してもよい。
エッジサーバ200aとセンタサーバ200bとの間のネットワーク403を、ネットワーク401と同様の手法により複数の通信回線により構成してもよい。
(変形例3)
分割したデータをエッジサーバ200aに送信せず、分割したデータを、送信装置100内の記憶部121に分けて記憶するように構成してもよい。これにより、例えば記憶部121から必要なピクチャ(例えばIピクチャ)のみを読み出して表示させることなどが可能になる。Iピクチャのみを表示させる方法は、Pピクチャも含むすべてのピクチャを表示させる方法より処理負荷を軽減できる。従って、例えば処理能力が限られるクライアント300aなどであっても、複数の送信装置100の記憶部121からIピクチャのみを読み出して並行して表示させることが可能になる。さらに、必要に応じて残りのPピクチャなどを段階的に読み込出して動きのある表示とすることが可能となる。
この場合、記憶制御部114は、エッジサーバ200aの記憶制御部218と同様に、記憶してから一定期間が経過したデータを削除してもよいし、一定時間が経過するごとに、段階的にデータを削除してもよい。例えば、記憶容量が足りなくなった場合などに、IピクチャおよびPピクチャを含む全データを古い順に削除するのではなく、Pピクチャのみ削除してIピクチャを間欠表示できるデータとして残しておくことが可能となり、データの長期保存と低容量化を両立できる。
(変形例4)
ピクチャごとに映像を分割して配信すると、配信リストのサイズが増大する可能性がある。そこで、リスト生成部211は、階層構造を有する複数のファイルにより配信リストを作成してもよい。例えば、リスト生成部211は、年、月、日、時間などを単位として階層的に配信リストを構成してもよい。例えば最下層の配信リストは、ある範囲の時間に分割されたフラグメントデータそれぞれの識別情報を含む。次の上位の配信リストは、ある日に含まれる時間に対応する1以上の配信リストを識別する情報を含む。次の上位の配信リストは、ある月に含まれる日に対応する1以上の配信リストを識別する情報を含む。次の上位の配信リストは、ある年に含まれる月に対応する1以上の配信リストを識別する情報を含む。
(変形例5)
図20は、変形例5の映像配信システムによる配信処理の概要を示す図である。本変形例の映像配信システムは、制御サーバ510と、Webサーバ520と、をさらに備えている。なお本変形例では、センタサーバ200bは、ビデオ(映像)を配信するWebサーバとして構成される。
制御サーバ510は、制御部511を備える。制御部511は、クライアント300bから送信される要求に従い、エッジサーバ200aを制御する。例えばクライアント300bは、ピクチャを分割して一部のみ(例えば、Iピクチャのみ)を送信するか、すべてのピクチャを送信するかを示す送信要求を制御サーバ510に送信する。制御サーバ510の制御部511は、送信要求に従い、一部のピクチャのみを分割してセンタサーバ200bに送信(アップロード)するか、または、すべてのピクチャをセンタサーバ200bに送信するかを示す制御信号を、エッジサーバ200aに送信する。
エッジサーバ200aは、制御サーバ510から送信された制御信号に従い、上記実施形態のように分割した一部のピクチャのみをセンタサーバ200bに送信するか、または、すべてのピクチャをセンタサーバ200bに送信するかを切り替えて動作する。
キャプチャストリーム送信(アップロード送信)は、エッジサーバ200aまたはセンタサーバ200bに送信するデータ(第1データ)として分割されたデータを送信することを表す。キャプチャファイル保存(ファイル出力)は、エッジサーバ200aまたはセンタサーバ200bに送信せずに記憶部121に記憶するデータ(第2データ)として分割されたデータを記憶することを表す。図20に示すように、記憶したデータは、オフラインでエッジサーバ200aおよびセンタサーバ200bにコピーしてもよい。
エッジサーバ200aおよびセンタサーバ200bは、必要に応じて、データ受信部217により受信したデータを配信可能な形式に変換(ストリーム変換)し、記憶部222に記憶する。オフラインでコピーしたデータは、一括して変換(バッチ変換)して記憶部222に記憶してもよい。
記憶部222は、配信可能な形式の各ピクチャ(フラグメントファイル)、および、配信リストなどを記憶する。センタサーバ200bは、記憶部222に記憶されたピクチャを配信するビデオサーバとして機能する。上記のように、データ受信部217で受信されたデータを一時記憶部221に記憶し、一時記憶部221に記憶されたデータを配信部216により配信してもよい。
クライアント300bは、ビューワを備えるWebブラウザを備えている。Webブラウザは、ビデオを再生するビデオプレイヤを備えている。ビデオプレイヤは、例えば、HTML5に準拠したアプリケーションとして実現される。
Webサーバ520は、ビデオサーバの機能以外の機能を備えるサーバ装置である。例えばWebサーバ520は、映像配信システムとは異なる外部システムのためのユーザインタフェース(UI)を提供するためのサーバ装置である。
このように、上記実施形態の映像配信システムは、例えばインターネット上で利用されるWebシステムとして実現することができる。
図21は、変形例5の映像配信システムの他の例を示す図である。図21は、変形例1のように、送信装置100からエッジサーバ200aを介さずにセンタサーバ200bにデータを送信可能とするように構成された映像配信システムの例である。
このような構成の場合、図21に示すように、制御サーバ510は、エッジサーバ200aのみでなく、送信装置100に対しても制御信号を送信可能である。また、送信装置100のデータ送信部113は、エッジサーバ200aのみでなく、センタサーバ200bに対して直接データを送信可能である。
以上のように、本実施形態にかかる映像配信システムでは、品質を低下させることなく、回線負荷や処理負荷を低減することが可能となる。
次に、本実施形態にかかる送信装置のハードウェア構成について図22を用いて説明する。図22は、本実施形態にかかる送信装置のハードウェア構成例を示す説明図である。
本実施形態にかかる送信装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
本実施形態にかかる送信装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
本実施形態にかかる送信装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
さらに、本実施形態にかかる送信装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかる送信装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施形態にかかる送信装置で実行されるプログラムは、コンピュータを上述した送信装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 送信装置
101 撮像部
111 符号化部
112 分割部
113 データ送信部
114 記憶制御部
115 要求受信部
121 記憶部
200a エッジサーバ
200b センタサーバ
201 検出部
211 リスト生成部
212 判定情報生成部
213 リスト送信部
214 判定情報送信部
215 要求送受信部
216 配信部
217 データ受信部
218 記憶制御部
221 一時記憶部
222 記憶部
240a サーバ処理部
250a 送信処理部
300a、300b クライアント
311 リスト受信部
312 判定情報受信部
313 判定部
314 要求送信部
315 データ受信部
316 再生部
321 記憶部
401、402、403、404 ネットワーク
510 制御サーバ
511 制御部
520 Webサーバ

Claims (10)

  1. 複数の送信データを送信装置から受信するデータ受信部と、
    複数の前記送信データを、第1データと第2データとに分割する分割部と、
    前記第1データを、前記送信データを受信装置に配信する外部サーバ装置に送信する送信部と、
    前記第2データを記憶部に記憶させる記憶制御部と、
    前記第2データの送信要求を前記受信装置または前記外部サーバ装置から受信する要求受信部と、を備え、
    前記送信部は、さらに、前記送信要求に応じて前記第2データを前記外部サーバ装置に送信する、
    サーバ装置。
  2. 前記送信データは、動画像データであり、
    前記第1データは、フレーム内予測により符号化した画像データを含む、
    請求項1に記載のサーバ装置。
  3. 前記第2データは、前記第1データに基づいてフレーム間予測により符号化した画像データを含む、
    請求項2に記載のサーバ装置。
  4. 前記第1データは、フレーム内予測により符号化した画像データのうち一部を含み、
    前記第2データは、フレーム内予測により符号化した画像データのうち前記第1データに含まれる画像データ以外、および、前記第1データに基づいてフレーム間予測により符号化した画像データを含む、
    請求項2に記載のサーバ装置。
  5. 前記第1データは、フレーム内予測により符号化した画像データのうち一部を含み、
    前記分割部は、前記送信データを送信するネットワークの帯域に応じて、フレーム内予測により符号化した画像データのうち、前記第1データに含める画像データを変更する、
    請求項2に記載のサーバ装置。
  6. 前記第1データは、フレーム内予測により符号化した画像データのうち一部を含み、
    前記分割部は、前記受信装置または前記サーバ装置からの要求に応じて、フレーム内予測により符号化した画像データのうち、前記第1データに含める画像データを変更する、
    請求項2に記載のサーバ装置。
  7. 前記分割部は、前記送信データを送信するネットワークの帯域に応じて前記第1データのサイズを変更する、
    請求項1に記載のサーバ装置。
  8. 前記記憶制御部は、予め定められた条件に従い前記記憶部に記憶された前記第2データを削除する、
    請求項1に記載のサーバ装置。
  9. 第1サーバ装置と、第2サーバ装置と、を備える通信システムであって、
    前記第1サーバ装置は、
    複数の送信データの一部である第1データ、および、複数の前記送信データのうち前記第1データ以外の第2データ、の送信要求を送信装置に送信する要求送信部と、
    前記送信要求に応じて前記送信装置または前記第1サーバ装置から送信された前記第1データおよび前記第2データを受信する第1データ受信部と、
    前記第1データおよび前記第2データを受信装置に配信する配信部と、を備え、
    前記第2サーバ装置は、
    前記第2データを前記送信装置から受信する第2データ受信部と、
    前記第2データを、前記第1サーバ装置に送信する送信部と、を備える、
    通信システム。
  10. コンピュータに
    複数の送信データを送信装置から受信するステップと、
    複数の前記送信データを、第1データと第2データとに分割するステップと、
    前記第1データを、前記送信データを受信装置に配信する外部サーバ装置に送信するステップと、
    前記第2データを記憶部に記憶させるステップと、
    前記第2データの送信要求を前記受信装置または前記外部サーバ装置から受信するステップと、
    前記送信要求に応じて前記第2データを前記外部サーバ装置に送信するステップと、
    を実行させるためのプログラム。
JP2020075376A 2020-04-21 2020-04-21 サーバ装置、通信システム、プログラムおよび情報処理方法 Active JP7438835B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020075376A JP7438835B2 (ja) 2020-04-21 2020-04-21 サーバ装置、通信システム、プログラムおよび情報処理方法
EP21157450.4A EP3902265A1 (en) 2020-04-21 2021-02-16 Server device, communication system, and computer-readable medium
KR1020210023793A KR102613872B1 (ko) 2020-04-21 2021-02-23 서버 디바이스, 통신 시스템, 및 비일시적 컴퓨터 판독가능 기록 매체
CN202110210607.2A CN113542747B (zh) 2020-04-21 2021-02-25 服务器装置、通信系统以及存储介质
US17/185,864 US11895332B2 (en) 2020-04-21 2021-02-25 Server device, communication system, and computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020075376A JP7438835B2 (ja) 2020-04-21 2020-04-21 サーバ装置、通信システム、プログラムおよび情報処理方法

Publications (2)

Publication Number Publication Date
JP2021175026A true JP2021175026A (ja) 2021-11-01
JP7438835B2 JP7438835B2 (ja) 2024-02-27

Family

ID=74666488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020075376A Active JP7438835B2 (ja) 2020-04-21 2020-04-21 サーバ装置、通信システム、プログラムおよび情報処理方法

Country Status (5)

Country Link
US (1) US11895332B2 (ja)
EP (1) EP3902265A1 (ja)
JP (1) JP7438835B2 (ja)
KR (1) KR102613872B1 (ja)
CN (1) CN113542747B (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003009117A (ja) * 2001-06-20 2003-01-10 Nec Eng Ltd 動画像のリアルタイム配信方法及び配信システム
JP2005026866A (ja) * 2003-06-30 2005-01-27 Sony Corp ネットワークカメラ
JP2009021894A (ja) * 2007-07-13 2009-01-29 Panasonic Corp 映像配信システム
JP2010288230A (ja) * 2009-06-15 2010-12-24 Tokai Paudekkusu:Kk 動画情報中継システム、及び動画情報中継プログラム
JP2015195474A (ja) * 2014-03-31 2015-11-05 株式会社Jvcケンウッド 映像符号化データ送信装置、映像符号化データ送信方法、映像符号化データ受信装置、及び映像符号化データ送受信システム
JP2016063481A (ja) * 2014-09-19 2016-04-25 株式会社東芝 エンコード装置、デコード装置、ストリーミングシステム、および、ストリーミング方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4193069A (en) 1978-03-13 1980-03-11 American District Telegraph Company Latching alarm smoke detector
US6970939B2 (en) * 2000-10-26 2005-11-29 Intel Corporation Method and apparatus for large payload distribution in a network
JP2004110244A (ja) 2002-09-17 2004-04-08 Fuji Photo Film Co Ltd プリントシステムおよびプリント
JP2004282687A (ja) * 2003-01-23 2004-10-07 Toshiba Corp 符号化装置、復号化装置、通信システム、符号化方法および復号化方法
KR100608715B1 (ko) 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
CN101714909A (zh) * 2004-01-28 2010-05-26 日本电气株式会社 内容分发方法、编码方法、接收再现方法和装置
KR20060114080A (ko) * 2005-04-27 2006-11-06 삼성전자주식회사 멀티미디어 스트리밍 서비스 시스템 및 방법
US20080072047A1 (en) * 2006-09-20 2008-03-20 Futurewei Technologies, Inc. Method and system for capwap intra-domain authentication using 802.11r
JP5026167B2 (ja) * 2007-07-02 2012-09-12 パナソニック株式会社 ストリーム伝送サーバおよびストリーム伝送システム
US8209730B2 (en) * 2009-06-22 2012-06-26 Sony Corporation Speculative video on demand
KR101087194B1 (ko) * 2009-11-10 2011-11-29 주식회사 노매드커넥션 동영상 인코딩 시스템 및 방법
GB2476271B (en) * 2009-12-17 2015-09-02 Skype Coding data streams
US20120030723A1 (en) * 2010-07-27 2012-02-02 Motorola, Inc. Method and apparatus for streaming video
JP5544426B2 (ja) * 2010-09-24 2014-07-09 株式会社Gnzo 映像ビットストリームの伝送システム
CN103141102B (zh) * 2010-09-30 2016-07-13 富士通株式会社 图像解密方法、图像加密方法、图像解密装置、图像加密装置、图像解密程序以及图像加密程序
EP2727016A1 (en) * 2011-07-01 2014-05-07 Nokia Solutions and Networks Oy Data storage management in communications
US9402082B2 (en) * 2012-04-13 2016-07-26 Sharp Kabushiki Kaisha Electronic devices for sending a message and buffering a bitstream
US9537917B2 (en) * 2012-11-20 2017-01-03 Google Technology Holdings LLC Method and apparatus for streaming media content to client devices
US10979674B2 (en) * 2013-07-22 2021-04-13 Intellivision Cloud-based segregated video storage and retrieval for improved network scalability and throughput
JP6238255B2 (ja) * 2016-05-25 2017-11-29 株式会社Nexpoint 監視カメラシステムによる監視方法及び動画分割装置
CA3025334C (en) * 2016-05-25 2021-07-13 Arris Enterprises Llc Binary ternary quad tree partitioning for jvet coding of video data
JP7052218B2 (ja) * 2017-05-19 2022-04-12 コニカミノルタ株式会社 エッジコンピューティングシステム、通信制御方法及び通信制御プログラム
EP3863296B1 (en) * 2017-09-11 2023-11-22 Tiledmedia B.V. Streaming frames of spatial elements to a client device
US20190104326A1 (en) * 2017-10-03 2019-04-04 Qualcomm Incorporated Content source description for immersive media data
JP2019092133A (ja) * 2017-11-17 2019-06-13 株式会社東芝 送信装置、受信装置、通信システムおよびプログラム
JP7105675B2 (ja) * 2018-11-02 2022-07-25 株式会社東芝 送信装置、サーバ装置、送信方法およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003009117A (ja) * 2001-06-20 2003-01-10 Nec Eng Ltd 動画像のリアルタイム配信方法及び配信システム
JP2005026866A (ja) * 2003-06-30 2005-01-27 Sony Corp ネットワークカメラ
JP2009021894A (ja) * 2007-07-13 2009-01-29 Panasonic Corp 映像配信システム
JP2010288230A (ja) * 2009-06-15 2010-12-24 Tokai Paudekkusu:Kk 動画情報中継システム、及び動画情報中継プログラム
JP2015195474A (ja) * 2014-03-31 2015-11-05 株式会社Jvcケンウッド 映像符号化データ送信装置、映像符号化データ送信方法、映像符号化データ受信装置、及び映像符号化データ送受信システム
JP2016063481A (ja) * 2014-09-19 2016-04-25 株式会社東芝 エンコード装置、デコード装置、ストリーミングシステム、および、ストリーミング方法

Also Published As

Publication number Publication date
US11895332B2 (en) 2024-02-06
JP7438835B2 (ja) 2024-02-27
US20210329295A1 (en) 2021-10-21
CN113542747A (zh) 2021-10-22
EP3902265A1 (en) 2021-10-27
CN113542747B (zh) 2024-08-02
KR20210130093A (ko) 2021-10-29
KR102613872B1 (ko) 2023-12-15

Similar Documents

Publication Publication Date Title
JP7105675B2 (ja) 送信装置、サーバ装置、送信方法およびプログラム
US9106934B2 (en) Distribution of adaptive bit rate live streaming video via hyper-text transfer protocol
US9832492B2 (en) Distribution of adaptive bit rate video streaming via hyper-text transfer protocol
JP2004526227A (ja) 分散オン・デマンド・メディア変換システムおよび方法
JP2018182447A (ja) 映像配信装置、映像配信方法及びプログラム
TWI731579B (zh) 傳輸裝置、通訊系統、傳輸方法及電腦程式產品
JP7438835B2 (ja) サーバ装置、通信システム、プログラムおよび情報処理方法
JP7302076B2 (ja) 送信装置、サーバ装置、送信方法およびプログラム
JP7419151B2 (ja) サーバ装置、情報処理方法およびプログラム
KR102291293B1 (ko) 송신 디바이스, 통신 시스템, 송신 방법, 및 비일시적 컴퓨터 판독가능 기록 매체
KR101452269B1 (ko) 콘텐트 가상 세그멘테이션 방법과, 이를 이용한 스트리밍 서비스 제공 방법 및 시스템
CN113315997B (zh) 发送装置、服务器装置、发送方法以及程序
CN111800649A (zh) 存储视频的方法和装置以及生成视频的方法和装置
WO2017179271A1 (ja) 監視カメラシステム及び監視カメラデータ保存方法
JP2001111983A (ja) データ処理装置およびデータ処理方法ならびに情報記録媒体
JP2020150321A (ja) 動画配信装置、動画配信方法及びプログラム
JP2001111433A (ja) 圧縮データ処理装置および圧縮データ処理方法ならびに情報記録媒体
CN114945018A (zh) 一种流媒体数据分发方法、系统
JP2020141225A (ja) 送信装置、送信方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220824

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231030

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240214

R151 Written notification of patent or utility model registration

Ref document number: 7438835

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151