JPWO2018142874A1 - データ配信システム、データ配信方法、マーカ、フィルタ及びプログラム - Google Patents

データ配信システム、データ配信方法、マーカ、フィルタ及びプログラム Download PDF

Info

Publication number
JPWO2018142874A1
JPWO2018142874A1 JP2018566015A JP2018566015A JPWO2018142874A1 JP WO2018142874 A1 JPWO2018142874 A1 JP WO2018142874A1 JP 2018566015 A JP2018566015 A JP 2018566015A JP 2018566015 A JP2018566015 A JP 2018566015A JP WO2018142874 A1 JPWO2018142874 A1 JP WO2018142874A1
Authority
JP
Japan
Prior art keywords
packet
data
marker
sink
filter
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
JP2018566015A
Other languages
English (en)
Other versions
JP6732966B2 (ja
Inventor
直樹 肥後
直樹 肥後
亮太 石橋
亮太 石橋
椿 俊光
俊光 椿
末田 欣子
欣子 末田
正夫 相原
正夫 相原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2018142874A1 publication Critical patent/JPWO2018142874A1/ja
Application granted granted Critical
Publication of JP6732966B2 publication Critical patent/JP6732966B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • 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/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2358Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • 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
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • 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
    • 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/633Control signals issued by server directed to the network components or client
    • H04N21/6338Control signals issued by server directed to the network components or client directed to network
    • 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/64Addressing
    • H04N21/6405Multicasting

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

データを配信するソースと、配信されたデータを処理するシンクとを有するデータ配信システムは、前記ソースから配信されたパケットを受信し、当該受信したパケットのヘッダから得られる情報に基づいて、当該パケットに付加情報を付与して転送するマーカと、前記マーカから転送されたパケットを受信し、当該受信したパケットに付与された付加情報に基づいて、前記シンクへの当該パケットの転送可否を判断し、転送可能なパケットを前記シンクに転送するフィルタとを有する。

Description

本発明は、データ配信システム、データ配信方法、マーカ、フィルタ及びプログラムに関する。
映像などのデータストリームを複数の利用者に対して配信する場合において、解像度やフレームレート、座標領域などに関する異なる要求を持つ利用者に対して適したストリームを配信するMPEG−DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP)が提案されている(非特許文献1参照)。
MPEG−DASHでは、ストリームの配信元ノードが、配信先ノードが要求する可能性のある解像度やフレームレート、座標領域などの組合せに応じたエンコードなどの処理を実施して配信予定のデータを準備しておき、接続してきた配信先ノードからの要求ないしは通信中の要求の変動に応じて準備してあるデータから最も適したデータを配信することで、配信先ノードが持つ複数の異なる要求に同時に対応することを可能とする。
一方、同じ要求を持つ複数の配信先に対して、同じ内容を一斉配信するための技術として、マルチキャスト技術がある(非特許文献2参照)。マルチキャスト技術では、ネットワーク上でデータの転送を担う中間ノード(ルータ等)が上流から受信したデータを下流に複製して配信する。
MPEG−DASHでは、配信先ノードが持つ複数の異なる要求に対応することが可能であるが、異なる要求を持つ配信先毎にデータを配信し分ける必要があるため、通信帯域、配信元ノードの処理能力をその分だけ消費するという課題がある。
また、マルチキャスト技術では、配信先の複数ノードが全て同じ目的である場合(例えば、放送の視聴)には、この技術によって、通信帯域や配信元ノードの処理能力を効率的に利用しながら、一斉配信を行うことができる。しかしながら、配信先のノード間でデータの利用目的が異なる場合(例えば、視聴、自動解析、保存)、ノードが受信したいデータの受信方式や内容も異なる(例えば、リアルタイム性重視/信頼性重視、解像度重視/輝度情報重視)。マルチキャスト技術では、データの複製配信を行うため、配信方式や配信内容を配信先ノードの目的に応じて変えることができず、配信先ノードが自ら目的に合わせたデータの解釈や変換を行う必要があり、配信先ノードの処理負荷が大きくなるという課題がある。
本発明は、1つの配信元ノードから異なる要求を持つ複数の配信先ノードにデータを配信するときの配信元ノード及び配信先ノードの処理負荷を低減し、通信トラヒックを削減することを目的とする。
本発明の一形態に係るデータ配信システムは、
データを配信するソースと、配信されたデータを処理するシンクとを有するデータ配信システムであって、
前記ソースから配信されたパケットを受信し、当該受信したパケットのヘッダから得られる情報に基づいて、当該パケットに付加情報を付与して転送するマーカと、
前記マーカから転送されたパケットを受信し、当該受信したパケットに付与された付加情報に基づいて、前記シンクへの当該パケットの転送可否を判断し、転送可能なパケットを前記シンクに転送するフィルタと、
を有することを特徴とする。
また、本発明の一形態に係るデータ配信方法は、
データを配信するソースと、配信されたデータを処理するシンクとを有し、前記ソースと前記シンクとの間に介在するマーカ及びフィルタを更に有するデータ配信システムにおけるデータ配信方法であって、
前記マーカが、前記ソースから配信されたパケットを受信し、当該受信したパケットのヘッダから得られる情報に基づいて、当該パケットに付加情報を付与して転送するステップと、
前記フィルタが、前記マーカから転送されたパケットを受信し、当該受信したパケットに付与された付加情報に基づいて、前記シンクへの当該パケットの転送可否を判断し、転送可能なパケットを前記シンクに転送するステップと、
を有することを特徴とする。
また、本発明の一形態に係るマーカは、
データを配信するソースと、配信されたデータを処理するシンクとの間に介在するマーカであって、
前記ソースから配信されたパケットを受信する受信部と、
当該受信したパケットのヘッダから得られる情報に基づいて、当該パケットに付加情報を付与する付加情報付与部と、
前記付加情報が付与されたパケットを、前記シンクへの当該パケットの転送可否を判断するフィルタに転送する転送部と、
を有することを特徴とする。
また、本発明の一形態に係るフィルタは、
データを配信するソースと、配信されたデータを処理するシンクとの間に介在するフィルタであって、
前記ソースから配信されたパケットに付加情報を付与するマーカから、当該付加情報が付与されたパケットを受信する受信部と、
前記受信したパケットに付与された付加情報に基づいて、前記シンクへの当該パケットの転送可否を判断する転送判断部と、
転送可能なパケットを前記シンクに転送する転送部と、
を有することを特徴とする。
また、本発明の一形態に係るプログラムは、
上記のマーカの各部としてコンピュータを機能させることを特徴とする。
また、本発明の一形態に係るプログラムは、
上記のフィルタの各部としてコンピュータを機能させることを特徴とする。
本発明によれば、1つの配信元ノードから異なる要求を持つ複数の配信先ノードにデータを配信するときの配信元ノード及び配信先ノードの処理負荷を低減し、通信トラヒックを削減することを目的とする。
本発明の実施例に係るデータ配信システムの全体構成を示す図である。 本発明の実施例に係るデータ配信システムにおける各ノードの配備例を示す図である。 本発明の実施例に係るマーカの機能構成を示すブロック図である。 本発明の実施例に係るフィルタの機能構成を示すブロック図である。 本発明の実施例に係るコントローラの機能構成を示すブロック図である。 特定の情報を抽出するためのソースにおける処理手順を示すシーケンス図である。 ソースにおけるパケット化の処理手順を示すフローチャートである。 輝度成分の部分データを抽出する概念図である。 特定周波数成分の部分データを抽出する概念図である。 サムネイルの部分データを抽出する概念図である。 部分画像の部分データを抽出する概念図である。 データ配信システムにおけるシーケンス例1である。 マーカにおけるマーキングの処理手順を示すフローチャート(メタデータが得られる場合)である。 マーカにおけるマーキングの処理手順を示すフローチャート(メタデータが得られない場合)である。 フィルタにおけるフィルタリングの処理手順を示すフローチャートである。 データ配信システムにおけるシーケンス例2である。 データ配信システムにおけるシーケンス例3である。 データ配信システムにおけるシーケンス例4である。 データ配信システムにおけるシーケンス例5である。 マーカにおけるマーカ方式の具体例1(RTP拡張ヘッダに設定する例)である。 マーカにおけるマーカ方式の具体例1(RTPペイロードに設定する例)である。 マーカにおけるマーカ方式の具体例2(パケットレベルのマーカ方式の例)である。 マーカにおけるマーカ方式の具体例2(ブロックレベルのマーカ方式の例)である。 パケットレベルのマーカ方式が使用される場合のフィルタにおけるフィルタリングの処理手順を示すフローチャートである。 ブロックレベルのマーカ方式が使用される場合のフィルタにおけるフィルタリングの処理手順を示すフローチャートである。 フィルタが転送終了通知をシンクに送信する具体例1である。 フィルタが転送終了通知をシンクに送信する具体例2である。 本発明の実施例に係る各ノードのハードウェア構成例を示す図である。
以下、図面を参照して本発明の実施例について説明する。
<データ配信システムの全体構成>
図1は、本発明の実施例に係るデータ配信システムの全体構成を示す図である。データ配信システムは、ソース30とシンク40の間にマーカ10及びフィルタ20が介在し、画像のようなデータを符号化、転送及び復号化する中で、マーカ10及びフィルタ20によってソースから配信されたデータの中から特定の情報を抽出し、シンク40に転送することを可能にする。これにより、データを転送する過程において、データを復号化することなく、例えば、グレースケール画像、低画質画像、部分画像等へ変換することができ、ソース30及びシンク40の処理負荷低減及び通信トラヒックの削減に貢献することができる。
図1に示すように、データ配信システムは、マーカ10と、フィルタ20と、ソース30と、シンク40とを有する。データ配信システムは、コントローラ50を更に有してもよい。
ソース30は、映像のようなデータを配信する装置(配信元ノード)である。ソース30の例として、カメラ、映像配信サーバ等がある。なお、ソース30は、カメラと映像配信サーバの組み合わせのように、複数の装置によって構成されることも可能である。
シンク40は、ソース30からデータの配信を要求し、受信したデータを処理(表示、解析、保存など)する装置(配信先ノード)である。シンク40の例として、ビュワー等がある。シンク40も、ビュワーと映像再生サーバの組み合わせのように、複数の装置によって構成されることも可能である。
マーカ10は、ソース30から配信されたパケットに、データの区切りや意味等を示す付加情報を付与して転送する装置(ノード)である。以下では、マーカ10がどのように付加情報を付与するかの動作をマーカ方式と呼ぶ。
フィルタ20は、マーカ10から転送されたパケットを受信し、マーカ10が付与した付加情報に基づいて、シンク40へのパケットの転送可否を判断する装置(ノード)である。フィルタ20は、受信したパケットの中からシンク40に適した内容を抽出して、シンク40に転送することができる。以下では、フィルタ20がどのように転送可否を判断するかの動作をフィルタ方式と呼ぶ。
コントローラ50は、シンク40が要求するデータの内容を示すシンク要求通知を受信し、シンク要求通知に応じてマーカ10におけるマーカ方式の設定及びフィルタ20におけるフィルタ方式の設定を行う装置(ノード)である。コントローラ50は、ソース30が配信するデータの種類や配信方式、マーカ10が対応するマーカ方式、フィルタ20が対応するフィルタ方式、シンク40からのシンク要求通知を取得し、それぞれの内容が整合するように、各ノードの動作設定を行う。
マーカ10、フィルタ20、ソース30及びシンク40は、データ配信システムにおいて様々な配備が可能である。図2は、各ノードの配備例を示す図である。
例えば、配備例1に示すように、ソース30及びマーカ10が、カメラ等のデータを生成する装置に配備され、フィルタ20及びシンク40が、ビュワーや映像再生サーバ等のデータを処理する装置に配備されてもよい。
例えば、配備例2に示すように、ソース30及びマーカ10が、データを生成する装置に配備され、フィルタ20が、中継サーバ又はネットワーク内のルータ等の装置に配備され、シンク40が、データを処理する装置に配備されてもよい。
例えば、配備例3に示すように、映像データの取得のようなソース30の一部の機能が、データを生成する装置に配備され、マーカ10に適した形式への符号化のようなソース30の一部の機能及びマーカ10が中継サーバ又はネットワーク内のルータ等の装置に配備されてもよい。また、シンク40に適した映像データの復号化のようなシンク40の機能の一部が、中継サーバ又はネットワーク内のルータ等の装置に配備され、映像データの表示のようなシンク40の一部の機能及びフィルタ20が、データを処理する装置に配備されてもよい。
なお、図2に示す配備例は単なる例であり、他の配備例も可能である。
<マーカの構成>
図3は、本発明の実施例に係るマーカ10の機能構成を示すブロック図である。マーカ10は、通信部101と、マーカ動作設定部103と、マーキング部105と、シグナリング部107とを有する。なお、図3の各機能部の名称は単なる例であり、別の名称で呼ばれてもよい。例えば、通信部101は、受信部及び転送部と呼ばれてもよく、マーキング部105は、付加情報付与部と呼ばれてもよい。
通信部101は、通信ネットワークと接続して各ノードとデータ通信を行う。通信部101は、ソース30から配信されたパケットを受信する。また、通信部101は、付加情報を付与したパケットをフィルタ20に転送する。
マーカ動作設定部103は、フィルタ20又はコントローラ50等からのシグナリング情報に基づき、マーキング部105が実行すべきマーカ方式を決定する。
マーキング部105は、マーカ動作設定部103が決定したマーカ方式に従って、転送すべきパケットに付加情報を付与する。付加情報は、パケットから得られる情報に基づいて付与される。例えば、画像データの輝度成分、色成分、周波数成分、部分画像等を示すメタデータがパケットのヘッダに付与されている場合、マーキング部105は、メタデータに基づいてパケットに付加情報を付与する。一方、上記のようなメタデータがパケットに付与されていない場合、マーキング部105は、パケットに含まれる情報のうちペイロード以外の情報、例えばパケットヘッダに含まれるパケットサイズ、RTP(Real-time Transport Protocol)タイムスタンプ値等に基づいてパケットに付加情報を付与してもよい。
シグナリング部107は、データを送受信する際に用いる通信アドレス、ポート番号、コーデック等を、送信側と受信側で合意する。シグナリング部107が用いるプロトコルとして、SIP(Session Initiation Protocol)、RTSP(Real Time Streaming Protocol)等がある。なお、シグナリング部107は、マーカ10の外部のノードに具備されて、マーカ10の通信部101を介して接続する形態でもよい。
<フィルタの構成>
図4は、本発明の実施例に係るフィルタ20の機能構成を示すブロック図である。フィルタ20は、通信部201と、フィルタ動作設定部203と、フィルタリング部205と、シグナリング部207とを有する。なお、図4の各機能部の名称は単なる例であり、別の名称で呼ばれてもよい。例えば、通信部201は、受信部及び転送部と呼ばれてもよく、フィルタリング部205は、転送判断部と呼ばれてもよい。
通信部201は、通信ネットワークと接続して各ノードとデータ通信を行う。通信部201は、マーカ10から転送されたパケットを受信する。また、通信部201は、シンク40に転送可能と判断されたパケットをシンク40に転送する。
フィルタ動作設定部203は、シンク40又はコントローラ50等からのシグナリング情報に基づき、フィルタリング部205が実行すべきフィルタ方式を決定する。また、フィルタ動作設定部203が、フィルタ方式に対応するマーカ方式を決定してマーカ10に通知することも可能である。
フィルタリング部205は、フィルタ動作設定部203が決定したフィルタ方式に従って、シンク40へのパケットの転送可否を判断する。転送不可と判断されたパケットは破棄される。
シグナリング部207は、データを送受信する際に用いる通信アドレス、ポート番号、コーデック等を、送信側と受信側で合意する。シグナリング部207が用いるプロトコルとして、SIP、RTSP等がある。なお、シグナリング部207は、フィルタ20の外部のノードに具備されて、フィルタ20の通信部201を介して接続する形態でもよい。
<コントローラの構成>
図5は、本発明の実施例に係るコントローラ50の機能構成を示すブロック図である。コントローラ50は、通信部501と、能力取得部503と、動作設定部505とを有する。なお、図5の各機能部の名称は単なる例であり、別の名称で呼ばれてもよい。
通信部501は、通信ネットワークと接続して各ノードとデータ通信を行う。
能力取得部503は、通信部501を介して、ソース30、シンク40、マーカ10及びフィルタ20の各ノードが備える能力(プロトコル、コーデック、マーカ方式、フィルタ方式等)を取得する。また、能力取得部503は、シンク40が要求するデータの内容を示すシンク要求通知を取得する。
動作設定部505は、能力取得部503が取得した各ノードの能力を参照して、シンク要求通知に応じて各ノードが実行すべき動作を決定して各ノードに指示する。動作設定部505は、マーカ10に対してはマーカ方式を設定し、フィルタ20に対してはフィルタ方式を設定する。
<特定の情報を抽出する具体例>
次に、ソース30からシンク40に画像データを配信する際に、マーカ10及びフィルタ20によって特定の情報のみを抽出する具体例について説明する。このためには、ソース30において、画像データを複数の成分又は部分画像に分解し、分解した画像データ毎に、画像データの成分又は部分画像を示すメタデータを付与する必要がある。
図6は、特定の情報を抽出するためのソース30における処理手順を示すシーケンス図である。ソース30は、カメラ等によって画像を取得する画像取得部と、画像を符号化する符号化部と、符号化した画像をパケット化して送信するパケット化部とを有するものとする。
ソース30の画像取得部は、符号化部等からの画像取得要求に応じて画像データを取得し(S101)、符号化部に送出する(S102)。
符号化部は、画像データを符号化する(S103)。例えば、符号化部は、画像データの輝度情報に基づいて、画像データをY成分、Cb成分、Cr成分に分解することができる。他の例として、符号化部は、画像データの周波数情報に基づいて、画像データをDC成分、AC1成分、AC2成分に分解することができる。他の例として、符号化部は、画像データのセグメント情報に基づいて、画像データをSOI、APP0、APP1等に分解することができる。他の例として、符号化部は、画像データのピクセル空間上の座標情報に基づいて、画像データを部分画像に分解することができる。以下の説明では、分解された画像データの成分又は部分画像を部分データと呼ぶこともある。符号化部は、部分データの種別の境目に境界情報を付与する。符号化部は、境界情報が付与された画像データをパケット化部に送出する(S104)。
パケット化部は、それぞれのパケットの中に異なる部分データが混在しないように、境界情報に基づいて部分データ毎にパケット化し(S105)、部分データの内容(成分等)がヘッダで解釈できるように、部分データの内容を示すメタデータをパケットのヘッダに付与して送出する(S106)。
パケット化部における処理手順について図7を参照して更に説明する。図7は、ソースにおけるパケット化の処理手順を示すフローチャートである。
まず、パケット化部は、符号化部で符号化された画像データから、境目までデータを読み込む(S111)。読み込んだデータがパケタイズ長以下である場合(S112:Yes)、読み込んだデータをパケット化し送出する(S113)。読み込んだデータがパケタイズ長より大きい場合(S112:No)、残りのデータがパケタイズ長以下になるまで、パケタイズ長までのデータをパケット化し送出する(S114)。残りのデータがパケタイズ長以下になった場合(S112:Yes)、残りのデータをパケット化し送出する(S113)。次の境界が存在する場合(S115:No)、上記の処理を繰り返し、読み込んだデータのパケット化が終了した場合(S115:Yes)、処理を終了する。
なお、上記の画像データの分解及びメタデータの付与は、マーカ10において行われてもよい。例えば、メタデータの付与がマーカ10において行われる場合、メタデータはプログラム間で共有メモリ等を用いてマーカ10のマーキング部105に渡すことができる。
図8は、マーカ10及びフィルタ20によって輝度成分の部分データを抽出する概念図である。
ソース30は、上記のように、画像データの輝度情報に基づき、画像データをY成分、Cb成分、Cr成分に分解し、成分毎にパケット化する。パケットのヘッダには、成分の内容を示すメタデータが付与される。
マーカ10は、フィルタ20が成分の違いを解釈できるように、ソース30により付与されたメタデータに基づいて付加情報を付与する。
フィルタ20は、Y成分のみを抽出し、シンク40に転送する。
図9は、マーカ10及びフィルタ20によって特定周波数成分の部分データを抽出する概念図である。
ソース30は、上記のように、画像データの周波数情報に基づき、画像データをDC成分、AC1成分、AC2成分に分解し、成分毎にパケット化する。パケットのヘッダには、成分の内容を示すメタデータが付与される。
マーカ10は、フィルタ20が成分の違いを解釈できるように、ソース30により付与されたメタデータに基づいて付加情報を付与する。
フィルタ20は、DC成分等の低周波数成分のみを抽出し、シンク40に転送する。
図10は、マーカ10及びフィルタ20によってサムネイルの部分データを抽出する概念図である。
ソース30は、上記のように、画像データのセグメント情報に基づき、画像データをSOI、APP0、APP1等に分解し、分解した部分データ毎にパケット化する。パケットのヘッダには、部分データの内容を示すメタデータが付与される。
マーカ10は、フィルタ20がSOI+APP0が含まれる情報とそれ以外の情報を解釈できるように、ソース30により付与されたメタデータに基づいて付加情報を付与する。
フィルタ20は、SOI+APP0のみを抽出し、シンク40に転送する。
図11は、マーカ10及びフィルタ20によって部分画像の部分データを抽出する概念図である。
ソース30は、上記のように、画像データのピクセル空間上の座標情報に基づき、画像データを複数のブロックに分解し、分解したブロック毎にパケット化する。各ブロックは、最小符号化単位であるMCU(Minimum Coded Unit)の集合で構成されてもよい。パケットのヘッダには、ブロックの内容を示すメタデータが付与される。
マーカ10は、フィルタ20がブロックの違いを解釈できるように、ソース30により付与されたメタデータに基づいて付加情報を付与する。
フィルタ20は、特定のブロックのみを抽出し、シンク40に転送する。
上記のように、ソース30がデータを分解し、一定の規則に従って順次データをマーカ10に送信するため、マーカ10も、一定の規則に従って順次データをシンク40に転送することができる。
<データ配信システムにおけるシーケンス例1>
次に、データ配信システムにおけるマーカ10及びフィルタ20の動作を詳細に説明する。
図12は、マーカ10におけるマーカ方式及びフィルタ20におけるフィルタ方式が事前に設定されている場合のデータ配信システムにおけるシーケンス例1である。
シンク40は、接続先URL(Uniform Resource Locator)とデータ受信アドレス及びポートとを含むシグナリング情報をフィルタ20に送信する(S201)。接続先URLは、ソース30のURLであり、データ受信アドレス及びポートは、データを受信するためのシンク40のIP(Internet Protocol)アドレス及びポート番号である。フィルタ20のシグナリング部207は、シンク40から受信したシグナリング情報をマーカ10に送信する(S202)。マーカ10のシグナリング部107は、フィルタ20から受信したシグナリング情報をソース30に送信する(S203)。
ソース30は、例えば、図6〜図11を参照して説明したように、部分データ毎に画像データをパケット化し、部分データの内容(成分等)がヘッダで解釈できるように、メタデータをパケットのヘッダに付与して送出する(S204)。
マーカ10のマーキング部105は、パケットのヘッダから得られる情報に基づいて、付加情報を付与する(S205)。
ステップS205について図13を参照して詳細に説明する。図13は、マーカ10のマーキング部105におけるマーキングの処理手順を示すフローチャートである。
マーキング部105は、マーカ動作設定部103で設定されたマーカ方式を取得する(S211)。図12の例では、マーカ方式は事前に設定されており、例えば、Y成分のみをマーキングするというマーカ方式を読み込む。
マーキング部105は、通信部101において受信したデータを受け取り(S212)、データ及びメタデータを読み込む(S213)。マーキング部105は、読み込んだデータ及びメタデータがマーカ方式に対応するか判断する(S214)。データ及びメタデータがマーカ方式に対応していない場合(S214:No)、例えば、Y成分のみをマーキングするマーカ方式にもかかわらずメタデータがDC成分を示す場合、エラーを出力する(S215)。
データ及びメタデータがマーカ方式に対応している場合(S214:Yes)、マーキング部105は、メタデータに基づいてマーキングすべきか判断する(S216)。マーキングが必要な場合(S216:Yes)、付加情報を付与して(S217)、送信する(S218)。マーキングが不要な場合(S216:No)、付加情報を付与せずに送信する(S218)。
ステップS205の別の例について図14を参照して詳細に説明する。図14は、メタデータが得られない場合のマーカ10のマーキング部105におけるマーキングの処理手順を示すフローチャートである。メタデータが得られない場合、マーキング部105は、パケットサイズ又はタイムスタンプ値等に基づいてマーキングを行うことができる。
マーキング部105は、マーカ動作設定部103で設定されたマーカ方式を取得する(S221)。図12の例では、マーカ方式は事前に設定されており、例えば、100バイトを超えるパケットのみをマーキングするというマーカ方式、直前のパケットに対してサイズが2倍を超えるパケットをマーキングするというマーカ方式、又はRTPタイムスタンプ値を3600で割った商が偶数の場合はマーキングするというマーカ方式を読み込む。
マーキング部105は、通信部101において受信したデータを受け取り(S222)、データを読み込む(S223)。マーキング部105は、読み込んだデータがマーカ方式に対応するか判断する(S224)。データがマーカ方式に対応していない場合(S224:No)、例えば、RTPタイムスタンプ値に基づいてマーキングするマーカ方式にもかかわらずRTPタイムスタンプ値が存在しない場合、エラーを出力する(S225)。
データがマーカ方式に対応している場合(S224:Yes)、マーキング部105は、パケットサイズ又はタイムスタンプ値等に基づいてマーキングすべきか判断する(S226)。例えば、直前のパケットに対してサイズが2倍を超えるパケットをマーキングするというマーカ方式の場合、最初に1400バイトのパケットを受信した場合にはマーキングせず、次に1400バイトのパケットを受信した場合にもマーキングせず、次に100バイトのパケットを受信した場合にもマーキングせず、次に1400バイトのパケットを受信した場合にはマーキングする。他の例として、RTPタイムスタンプ値を3600で割った商が偶数の場合はマーキングするというマーカ方式の場合、RTPタイムスタンプ値が10000であるパケットを受信した場合にはマーキングし、RTPタイムスタンプ値が13600であるパケットを受信した場合にはマーキングしない。マーキングが必要な場合(S226:Yes)、付加情報を付与して(S227)、送信する(S228)。マーキングが不要な場合(S226:No)、付加情報を付与せずに送信する(S228)。
マーキング部105は、通信部101から付加情報を付与したデータをフィルタ20に転送する(図12のS206)。
フィルタ20のフィルタリング部205は、付加情報に基づいて、シンク40への転送可否を判断する(図12のS207)。
ステップS207について図15を参照して詳細に説明する。図15は、フィルタ20のフィルタリング部205におけるフィルタリングの処理手順を示すフローチャートである。
フィルタリング部205は、フィルタ動作設定部203で設定されたフィルタ方式を取得する(S231)。図12の例では、フィルタ方式は事前に設定されており、例えば、マーカ10によってマーキングされたY成分のみを転送し、Cr成分及びCb成分を転送しないというフィルタ方式を読み込む。
フィルタリング部205は、通信部201において受信したデータを受け取り(S232)、データを読み込む(S233)。フィルタリング部205は、読み込んだデータがフィルタ方式に対応するか判断する(S234)。データがフィルタ方式に対応していない場合(S234:No)、例えば、フィルタリング部205が理解できない付加情報が付与されている場合、エラーを出力する(S235)。
データがフィルタ方式に対応している場合(S234:Yes)、フィルタリング部205は、付加情報に基づいてフィルタリングすべきか判断する(S236)。フィルタリングする場合(S236:Yes)、データを破棄する(S237)。フィルタリングが不要な場合(S236:No)、転送可能と判断する(S238)。
フィルタリング部205は、通信部201から転送可能なパケットをシンク40に転送する(図12のS208)。
<データ配信システムにおけるシーケンス例2>
図16は、複数のシンクが存在し、複数のフィルタが存在する場合のデータ配信システムにおけるシーケンス例2である。なお、マーカ10におけるマーカ方式及びフィルタA20及びフィルタB20におけるフィルタ方式は事前に設定されているものとする。以下では、マーカ10は、Y成分、Cr成分、Cb成分をそれぞれマーキングし、フィルタA20は、マーキングされたY成分のみを転送し、フィルタB20は、マーキングされたY成分及びCr成分を転送する例について説明する。
シンクA40は、接続先URLとデータ受信アドレス及びポートとを含むシグナリング情報をフィルタA20に送信する(S301)。フィルタA20のシグナリング部207は、シンクA40から受信したシグナリング情報をマーカ10に送信する(S302)。マーカ10のシグナリング部107は、フィルタA20から受信したシグナリング情報をソース30に送信する(S303)。
ソース30は、例えば、図6〜図11を参照して説明したように、部分データ毎に画像データをパケット化し、部分データの成分がヘッダで解釈できるように、メタデータをパケットのヘッダに付与して送出する(S304)。この例では、Y成分、Cr成分、Cb成分がヘッダで解釈できるように、メタデータが付与される。
マーカ10のマーキング部105は、メタデータに基づいて、Y成分、Cr成分又はCb成分を示す付加情報を付与する(S305)。マーキング部105は、通信部101から付加情報を付与したデータをフィルタA20に転送する(S306)。
フィルタA20のフィルタリング部205は、付加情報に基づいて、シンク40への転送可否を判断する(S307)。フィルタA20のフィルタリング部205は、マーカ10において付与された付加情報に基づいてY成分のパケットのみを転送し、Cr成分及びCb成分を破棄する(S308)。
ここで、シンクB40が同じソース30に配信要求を行う場合、シンクB40は、接続先URLとデータ受信アドレス及びポートとを含むシグナリング情報をフィルタB20に送信する(S311)。フィルタB20のシグナリング部207は、シンクB40から受信したシグナリング情報をマーカ10に送信する(S312)。マーカ10は、シグナリング情報から、接続先URLであるソース30から既にデータを受け取っていることを認識できるため、フィルタB20に対してマルチキャストグループに参加するように要求し(S313)、フィルタB20がマルチキャストグループに参加する(S314)。なお、フィルタA及びフィルタBの間でシグナリング情報を共有して、フィルタBがマーカ10へシグナリング情報を送信せずに、フィルタBがマルチキャストグループに直接参加することも可能である。
マーカ10のマーキング部105は、ソース30から受信したデータに付加情報を付与し、通信部101から付加情報を付与したデータをフィルタA20に転送する(S315)。同時に、同じデータをフィルタB20にもマルチキャストする。
フィルタA20のフィルタリング部205は、付加情報に基づいて、シンクA40への転送可否を判断する(S316)。フィルタA20のフィルタリング部205は、マーカ10において付与された付加情報に基づいてY成分のパケットのみを転送し、Cr成分及びCb成分を破棄する(S317)。
フィルタB20のフィルタリング部205は、付加情報に基づいて、シンクB40への転送可否を判断する(S318)。フィルタB20のフィルタリング部205は、マーカ10において付与された付加情報に基づいてY成分及びCr成分のパケットのみを転送し、Cb成分を破棄する(S319)。
<データ配信システムにおけるシーケンス例3>
図17は、マーカ10におけるマーカ方式及びフィルタ20におけるフィルタ方式がシグナリング情報に含まれる場合のデータ配信システムにおけるシーケンス例3である。
シンク40は、接続先URLとデータ受信アドレス及びポートとを含むシグナリング情報に、マーカ方式及びフィルタ方式を更に含めて、シグナリング情報をフィルタ20に送信する(S401)。例えば、Y成分のみをマーキングするというマーカ方式、マーキングされていないパケットをドロップするというフィルタ方式をフィルタ20に送信する。
フィルタ20のシグナリング部207は、シグナリング情報に含まれるフィルタ方式をフィルタ動作設定部203に通知する(S402)。フィルタ動作設定部203は、フィルタリング部205が実行すべきフィルタ方式を決定し、フィルタリング部205に指示する(S403)。
フィルタ20のシグナリング部207は、シグナリング情報に含まれるマーカ方式をマーカ10に送信する(S404)。
マーカ10のシグナリング部107は、シグナリング情報に含まれるマーカ方式をマーカ動作設定部103に通知する(S405)。マーカ動作設定部103は、マーキング部105が実行すべきマーカ方式を決定し、マーキング部105に指示する(S406)。
マーカ10のシグナリング部107は、フィルタ20から受信したシグナリング情報をソース30に送信する(S407)。
以降、図12のステップS204〜S208と同様に、マーキング及びフィルタリングが実行される。
<データ配信システムにおけるシーケンス例4>
図18は、マーカ10におけるマーカ方式及びフィルタ20におけるフィルタ方式がシグナリング情報に基づいて設定される場合のデータ配信システムにおけるシーケンス例4である。
シンク40は、接続先URLとデータ受信アドレス及びポートとを含むシグナリング情報に、配信を要求するデータの種別を示す情報(要求データ種別)を更に含めて、シグナリング情報をフィルタ20に送信する(S501)。例えば、要求データ種別は、シンク40がソース30からの配信を要求するデータの種別を表し、例えば、JPEGで符号化されたY成分のみの配信を要求することを表す。
フィルタ20のシグナリング部207は、シグナリング情報をフィルタ動作設定部203に通知する(S502)。フィルタ動作設定部203は、シグナリング情報の要求データ種別に基づいて、マーカ方式及びフィルタ方式を決定する(S503)。例えば、フィルタ動作設定部203は、Y成分のみをマーキングするというマーカ方式、マーキングされていないパケットをドロップするというフィルタ方式を決定する。フィルタ動作設定部203は、フィルタリング部205が実行すべきフィルタ方式をフィルタリング部205に指示する(S504)。
フィルタ20のシグナリング部207は、フィルタ動作設定部203において決定されたマーカ方式をシグナリング情報に含めてマーカ10に送信する(S505)。
マーカ10のシグナリング部107は、シグナリング情報に含まれるマーカ方式をマーカ動作設定部103に通知する(S506)。マーカ動作設定部103は、マーキング部105が実行すべきマーカ方式を決定し(S507)、マーキング部105に指示する(S508)。この例では、マーカ方式はフィルタ20により決定されてマーカ10に通知されるが、マーカ方式は、マーカ10のマーカ動作設定部103において、シグナリング情報に含まれる要求データ種別に基づいて決定されてもよい。
マーカ10のシグナリング部107は、フィルタ20から受信したシグナリング情報をソース30に送信する(S509)。
以降、図12のステップS204〜S208と同様に、マーキング及びフィルタリングが実行される。
<データ配信システムにおけるシーケンス例5>
図19は、コントローラ50が介在する場合のデータ配信システムにおけるシーケンス例5である。コントローラ50は、各ノードの能力を取得し、シンク40が要求するデータの内容を示すシンク要求通知に応じて各ノードが実行すべき動作を決定する。
シンク40は、接続先URLとデータ受信アドレス及びポートに加えて、要求データ種別を含むシンク要求通知をコントローラ50に送信する(S601)。例えば、要求データ種別は、シンク40がソース30からの配信を要求するデータの種別を表し、例えば、JPEGで符号化されたY成分のみの配信を要求することを表す。
コントローラ50の能力取得部503は、フィルタ20のフィルタ動作設定部203において設定可能なフィルタ方式を取得するためのフィルタ能力取得要求を送信し(S602)、設定可能なフィルタ方式を示すフィルタ能力を取得する(S603)。例えば、フィルタ能力には、パケット毎にフィルタリングが可能であるか、パケットのまとまりであるブロック毎にフィルタリングが可能であるか、0又は1の2値情報によってフィルタリングが可能であるか、2値以外の情報によってフィルタリングが可能であるか等の情報が含まれる。フィルタ方式の具体例については以下に詳細に説明する。
また、コントローラ50の能力取得部503は、マーカ10のマーカ動作設定部103において設定可能なマーカ方式を取得するためのマーカ能力取得要求を送信し(S604)、設定可能なマーカ方式を示すマーカ能力を取得する(S605)。例えば、マーカ能力には、パケット毎にマーキングが可能であるか、パケットのまとまりであるブロック毎にマーキングが可能であるか、0又は1の2値情報によってマーキングが可能であるか、2値以外の情報によってマーキングが可能であるか等の情報が含まれる。
また、コントローラ50の能力取得部503は、ソース30において利用可能なコーデックを取得するためのソース能力取得要求を送信し(S606)、利用可能なコーデック(例えば、H.264、JPEG等)を示すソース能力を取得する(S607)。
コントローラ50の動作設定部505は、能力取得部503が取得した各ノードの能力を取得して(S608)、シンク要求通知に応じて、シンク40が配信を要求するデータを受信できるように各ノードが実行すべき動作を整合させる(S609)。
コントローラ50の動作設定部505は、フィルタ20のフィルタ動作設定部203にフィルタ方式を指示し(S610)、フィルタ動作設定部203は、フィルタリング部205が実行すべきフィルタ方式をフィルタリング部205に指示する(S611)。
また、コントローラ50の動作設定部505は、マーカ10のマーカ動作設定部103にマーカ方式を指示し(S612)、マーカ動作設定部103は、マーキング部105が実行すべきマーカ方式をマーキング部105に指示する(S613)。
更に、コントローラ50の動作設定部505は、ソース30に対して使用すべきコーデックを指示する(S614)。
コントローラ50の動作設定部505は、例えば、各ノードへの動作指示に対する応答を受信した場合、準備完了通知をシンク40に送信する(S615)。
以降、図12のステップS204〜S208と同様に、データが配信される。
<マーカにおけるマーカ方式の具体例1>
次に、マーカ10のマーキング部105におけるマーカ方式について詳細に説明する。
図20A及び図20Bは、マーカ10におけるマーカ方式の具体例1である。上記のように、マーカ10は、パケットにデータの内容(成分等)を示す付加情報を付与することができるが、マーカ10は、パケットのヘッダに付加情報を付与してもよく、ペイロードに付加情報を付与してもよい。
例えば、データを伝送するためのプロトコルとしてRTPが利用される場合、マーカ10は、図20Aに示すように、RTP拡張ヘッダに付加情報を付与することができる。RTP拡張ヘッダは、IETF RFC 5285(https://tools.ietf.org/rfc/rfc5285.txt)において仕様化されているため、シンク40での読み取り処理に既存のライブラリコードをそのまま利用することができる。また、RTP拡張ヘッダを理解しない受信側ノードがRTP拡張ヘッダ部分を無視して通常通り処理できる。一方、マーキングする情報量が少ない場合でも、RTP拡張ヘッダとして定義されているlengthやID等を設定しなければならず、オーバヘッドが大きくなる。
また、マーカ10は、図20Bに示すように、RTPペイロードに付加情報を付与することができる。RTPペイロードには、必要な情報のみを埋め込めばよいため情報量のオーバヘッドが少ない。一方、RTPにおいて仕様化されていない独自形式の埋め込みとなるため、シンク40での読み取り処理を、埋め込み形式に合わせて個別に実装する必要が生じる。
なお、付加情報は、0又は1の2値情報でもよく、意味のある情報を示すセマンティックス情報でもよい。
付加情報を2値情報で表現するパルス方式は、フィルタリング対象でないデータには1を付与し、フィルタリング対象のデータには0を付与するというものでもよい。また、フィルタリング対象のデータでないデータに1を付与し、フィルタリング対象のデータには何も付与しないことも可能である。パルス方式は、マーカ10の負荷が軽く、フィルタ20の負荷も軽くすることができる。一方、フィルタ20において3種類を超えるフィルタリング処理を行う場合には、別の情報と組み合わせる必要がある。
付加情報をセマンティックス情報で表現するセマンティックス方式は、例えば、画像データの成分がY成分であるかCb成分であるかCr成分であるかという情報を付与するものである。他の例として、画像データの走査線の番号又は座標を付与するものでもよい。セマンティックス方式は、付加情報のみでフィルタリングが可能であるが、マーカ10の負荷が大きくなる。
<マーカにおけるマーカ方式の具体例2>
図21A及び図21Bは、マーカ10におけるマーカ方式の具体例2である。上記のように、マーカ10は、パケットにデータの内容(成分等)を示す付加情報を付与することができるが、マーカ10は、パケット毎に付加情報を付与してもよく、ソース30から部分データの種別を示すメタデータが取得できる場合には、部分データの種別が切り替わる境目のパケットに付加情報を付与してもよい。
図21Aは、パケット毎に付加情報を付与するパケットレベルのマーカ方式を示している。付加情報は、全てのパケットに付与される。ただし、フィルタリング対象のデータ(例えば、Cb成分、Cr成分)に対しては付加情報の付与を省略することも可能である。このマーカ方式は、パケットロス、順序逆転、パケット重複に強いため、UDP(User Datagram Protocol)を利用するソースに適している。一方、全てのパケットに付加情報が付与されるため、マーカ10及びフィルタ20の負荷が大きく、ネットワーク帯域も消費する。
図21Bは、部分データの種別が切り替わる境目のパケットに付加情報を付与するブロックレベルのマーカ方式を示している。例えば、インターリーブをせずに送信する場合のY成分、Cb成分、Cr成分の境目のように、部分データのまとまりであるブロックが切り替わる境目にマーキングする。このマーカ方式は、切り替え時に付加情報が付与されるため、マーカ10及びフィルタ20の負荷を軽くすることができ、ネットワーク帯域も節約できる。一方、パケットロス、順序逆転、パケット重複に弱いため、UDPを利用するソースに適用しづらくなる。
マーカ10において、パケットレベルのマーカ方式が使用されるかブロックレベルのマーカ方式が使用されるかによって、フィルタ20の動作が変わるため、フィルタ20の動作について更に詳細に説明する。図15のステップS236に示すように、フィルタ20は、マーカ10において付与された付加情報に基づいて、シンク40への転送可否を判断する。このステップS236の処理手順について、詳細に説明する。
図22は、パケットレベルのマーカ方式が使用される場合のフィルタリングの処理手順を示すフローチャートである。
フィルタ20のフィルタリング部205は、マーカ10において付与された付加情報を読み取る(S241)。付加情報が存在し(S242:Yes)、付加情報がフィルタ対象のデータであることを示す場合(S243:Yes)、ステップS237に進み、データが破棄される。付加情報が存在し(S242:Yes)、付加情報がフィルタ対象のデータでないことを示す場合(S243:No)、ステップS238に進み、データがシンク40に転送される。
また、付加情報が存在せず(S242:No)、付加情報が存在しないデータがフィルタ対象のデータである場合(S244:Yes)、ステップS237に進み、データが破棄される。付加情報が存在せず(S242:No)、付加情報が存在しないデータがフィルタ対象のデータでない場合(S244:No)、ステップS238に進み、データがシンク40に転送される。
図23は、ブロックレベルのマーカ方式が使用される場合のフィルタリングの処理手順を示すフローチャートである。
フィルタ20のフィルタリング部205は、マーカ10において付与された付加情報を読み取る(S251)。付加情報が存在する場合(S252:Yes)、読み取った付加情報を読取済付加情報として記録する(S253)。付加情報がフィルタ対象のデータであることを示す場合(S254:Yes)、ステップS237に進み、データが破棄される。付加情報がフィルタ対象のデータでないことを示す場合(S254:No)、ステップS238に進み、データがシンク40に転送される。
また、付加情報が存在しない場合(S252:No)、読取済付加情報が存在するか確認し、読取済付加情報が存在する場合(S255:Yes)、且つ、読取済付加情報がフィルタ対象のデータであることを示す場合(S256:Yes)、ステップS237に進み、データが破棄される。読取済付加情報が存在するが(S255:No)、読取済付加情報がフィルタ対象のデータでないことを示す場合(S256:No)、ステップS238に進み、データがシンク40に転送される。
また、付加情報及び読取済付加情報が存在せず(S255:No)、付加情報が存在しないデータがフィルタ対象のデータである場合(S257:Yes)、ステップS237に進み、データが破棄される。付加情報及び読取済付加情報が存在せず(S255:No)、付加情報が存在しないデータがフィルタ対象のデータでない場合(S257:No)、ステップS238に進み、データがシンク40に転送される。
<フィルタにおける転送終了通知の具体例>
上記のように、ソース30とシンク40の間にマーカ10及びフィルタ20が介在するデータ配信システムでは、フィルタ20のフィルタリングによってデータの一部が破棄される。典型的なシンク40におけるデータ処理では、データの欠損を判断するためにタイムアウト時間を設定し、それまでに所望のデータが到着しなかった場合に欠損とみなし、到着したデータのみから可能な範囲で復号を試みる。しかし、タイムアウト時間だけシンク40における描画等のデータ処理が遅延する。そこで、フィルタ20がデータの欠損をシンク40に通知することで、シンク40におけるデータ処理遅延を短縮することができ、リアルタイムな視聴及び画像解析に貢献することができる。
図24は、シンク40に転送すべきパケットの転送が終了したことを示す転送終了通知を、フィルタ20がシンク40に送信する具体例1を示す図である。ソース30は、画像データ等のデータ終端(EOI:End of Image)の情報のみを含むパケットをフィルタ20に送信する。フィルタ20の通信部201がEOIの情報のみを含むパケットを受信した場合、そのパケットをシンク40に転送する。
図25は、フィルタ20が転送終了通知をシンク40に送信する具体例2を示す図である。フィルタ20が画像データのY成分のみを転送するフィルタ方式を使用する場合、Y成分の転送後にCr成分を受信した場合、以降のパケットは破棄すべきであることを認識できる。したがって、フィルタ20の通信部201は、転送すべきパケットの転送が終了したため、データ終端(EOI)の情報のみを含むパケットをシンク40に送信する。
シンク40は、転送終了通知を受信した場合、タイムアウト時間を待つことなく、データ処理を行うことができる。
なお、具体例1および具体例2は、1つのソースからのデータ送信の例であるが、複数のソースが存在してもよい。複数のソースが存在する場合には、各ソースに対し少なくとも一つのマーカが存在し、各ソースから送出されるパケットは、パケットが有する5タプルにより識別され、対応するマーカへと転送される。
<本発明の実施例の効果>
本発明の実施例によれば、1つの配信元ノードから異なる要求を持つ複数の配信先ノードにデータを配信するときの配信元ノード及び配信先ノードの処理負荷を低減し、通信トラヒックを削減することが可能になる。したがって、1つの配信元ノードが複数の配信先ノードの異なる要求毎にデータを配信し分ける場合に、通信帯域、配信元ノードの処理能力を浪費するという従来技術の課題を解決することができる。また、1つの配信元ノードから複数の配信先ノードに一斉配信を行ったときに、配信先ノードで自らの目的に合わせたデータの解釈や変換を行うことによって配信先ノードの処理負荷が大きくなるという課題を解決することができる。
すなわち、映像などの情報の配信元ノードが、配信先ノード毎に異なる要求に応じてデータを配信し分ける能力を持つ必要がなくなり、処理の効率化や当該ノードのコストの削減が可能となる。
更に、配信元ノードからネットワークに向かって配信される情報が1種類で済むため、配信先ノード毎に配信し分ける必要がなくなり、ネットワーク帯域の圧迫回避が可能となる。
また、配信先ノードが、自らの目的に合った配信方法及び配信内容でデータを受信できるため、自らの目的に合わせたデータの解釈や変換を行う必要がなくなり、処理の効率化や当該ノードのコストの削減が可能となる。
<ハードウェア構成例>
図26に、本発明の実施例に係る各ノード(マーカ10、フィルタ20、ソース30、シンク40及びコントローラ50)のハードウェア構成例を示す。各ノードは、CPU(Central Processing Unit)151等のプロセッサ、RAM(Random Access Memory)やROM(Read Only Memory)等のメモリ装置152、ハードディスク等の記憶装置153等から構成されたコンピュータでもよい。例えば、各ノードの機能及び処理は、記憶装置153又はメモリ装置152に格納されているデータやプログラムをCPU151が実行することによって実現される。また、各ノードへのデータの入力は、入出力インタフェース装置154から行われ、各ノードからのデータの出力は、入出力インタフェース装置154から行われてもよい。
<補足>
説明の便宜上、本発明の実施例に係る各ノードは機能的なブロック図を用いて説明しているが、本発明の実施例に係る各ノードは、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、本発明の実施例は、コンピュータに対して本発明の実施例に係る各ノードの機能を実現させるプログラム、コンピュータに対して本発明の実施例に係る方法の各手順を実行させるプログラム等により、実現されてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。また、本発明の実施例に係る方法は、実施例に示す順序と異なる順序で実施されてもよい。
以上、1つの配信元ノードから異なる要求を持つ複数の配信先ノードにデータを配信するときの配信元ノード及び配信先ノードの処理負荷を低減し、通信トラヒックを削減するための手法について説明したが、本発明は、上記の実施例に限定されることなく、請求の範囲内において、種々の変更・応用が可能である。
本国際出願は2017年2月6日に出願した日本国特許出願2017−019891号に基づく優先権を主張するものであり、2017−019891号の全内容を本国際出願に援用する。
10 マーカ
20 フィルタ
30 ソース
40 シンク
50 コントローラ
101 通信部
103 マーカ動作設定部
105 マーキング部
107 シグナリング部
201 通信部
203 フィルタ動作設定部
205 フィルタリング部
207 シグナリング部
501 通信部
503 能力取得部
505 動作設定部
151 CPU
152 メモリ装置
153 記憶装置
154 入出力インタフェース装置

Claims (14)

  1. データを配信するソースと、配信されたデータを処理するシンクとを有するデータ配信システムであって、
    前記ソースから配信されたパケットを受信し、当該受信したパケットのヘッダから得られる情報に基づいて、当該パケットに付加情報を付与して転送するマーカと、
    前記マーカから転送されたパケットを受信し、当該受信したパケットに付与された付加情報に基づいて、前記シンクへの当該パケットの転送可否を判断し、転送可能なパケットを前記シンクに転送するフィルタと、
    を有するデータ配信システム。
  2. 前記ソースは、画像データを配信する場合、当該画像データの輝度情報、周波数情報、セグメント情報及び座標情報のうち少なくとも1つに基づいて複数の成分又は部分画像に分解し、分解した画像データ毎に、当該画像データの成分又は部分画像を示すメタデータをパケットに付与して配信し、
    前記マーカは、前記パケットのヘッダに付与されたメタデータに基づいて、前記パケットに付加情報を付与する、請求項1に記載のデータ配信システム。
  3. 前記マーカは、前記受信したパケットのヘッダから得られるサイズ又はタイムスタンプ値に基づいて、前記パケットに付加情報を付与する、請求項1に記載のデータ配信システム。
  4. 前記ソースは、配信するデータを複数の部分データに分解し、部分データの種別を示すメタデータをパケットに付与して配信し、
    前記マーカは、部分データの種別が切り替わる境目のパケットに付加情報を付与する、請求項1又は2に記載のデータ配信システム。
  5. 前記マーカは、パケット毎に付加情報を付与する、請求項1乃至3のうちいずれか1項に記載のデータ配信システム。
  6. 前記マーカは、パケットのヘッダ又はペイロードに付加情報を付与する、請求項1乃至5のうちいずれか1項に記載のデータ配信システム。
  7. 前記マーカは、付加情報として2値情報又はセマンティックス情報を付与する、請求項1乃至6のうちいずれか1項に記載のデータ配信システム。
  8. 前記フィルタは、前記シンクに転送すべきパケットの転送が終了した場合、転送終了通知を前記シンクに送信する、請求項1乃至7のうちいずれか1項に記載のデータ配信システム。
  9. 前記シンクが要求するデータの内容を示すシンク要求通知を受信し、前記シンク要求通知に応じて前記マーカにおける付加情報の付与の設定及び前記フィルタにおける転送可否の設定を行うコントローラを更に有する、請求項1乃至8のうちいずれか1項に記載のデータ配信システム。
  10. データを配信するソースと、配信されたデータを処理するシンクとを有し、前記ソースと前記シンクとの間に介在するマーカ及びフィルタを更に有するデータ配信システムにおけるデータ配信方法であって、
    前記マーカが、前記ソースから配信されたパケットを受信し、当該受信したパケットのヘッダから得られる情報に基づいて、当該パケットに付加情報を付与して転送するステップと、
    前記フィルタが、前記マーカから転送されたパケットを受信し、当該受信したパケットに付与された付加情報に基づいて、前記シンクへの当該パケットの転送可否を判断し、転送可能なパケットを前記シンクに転送するステップと、
    を有するデータ配信方法。
  11. データを配信するソースと、配信されたデータを処理するシンクとの間に介在するマーカであって、
    前記ソースから配信されたパケットを受信する受信部と、
    当該受信したパケットのヘッダから得られる情報に基づいて、当該パケットに付加情報を付与する付加情報付与部と、
    前記付加情報が付与されたパケットを、前記シンクへの当該パケットの転送可否を判断するフィルタに転送する転送部と、
    を有するマーカ。
  12. データを配信するソースと、配信されたデータを処理するシンクとの間に介在するフィルタであって、
    前記ソースから配信されたパケットに付加情報を付与するマーカから、当該付加情報が付与されたパケットを受信する受信部と、
    前記受信したパケットに付与された付加情報に基づいて、前記シンクへの当該パケットの転送可否を判断する転送判断部と、
    転送可能なパケットを前記シンクに転送する転送部と、
    を有するフィルタ。
  13. 請求項11に記載のマーカの各部としてコンピュータを機能させるためのプログラム。
  14. 請求項12に記載のフィルタの各部としてコンピュータを機能させるためのプログラム。
JP2018566015A 2017-02-06 2018-01-12 データ配信システム、データ配信方法、マーカ及びプログラム Active JP6732966B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017019891 2017-02-06
JP2017019891 2017-02-06
PCT/JP2018/000573 WO2018142874A1 (ja) 2017-02-06 2018-01-12 データ配信システム、データ配信方法、マーカ、フィルタ及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2018142874A1 true JPWO2018142874A1 (ja) 2019-12-26
JP6732966B2 JP6732966B2 (ja) 2020-07-29

Family

ID=63039569

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018566015A Active JP6732966B2 (ja) 2017-02-06 2018-01-12 データ配信システム、データ配信方法、マーカ及びプログラム

Country Status (3)

Country Link
US (1) US10951931B2 (ja)
JP (1) JP6732966B2 (ja)
WO (1) WO2018142874A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11061596B2 (en) 2019-11-04 2021-07-13 Google Llc Multi-pass distributed data shuffle

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078573A (ja) 1998-09-03 2000-03-14 Hitachi Ltd 階層符号化データ配信装置
US6570851B1 (en) 1999-07-01 2003-05-27 Nokia Telecommunications Oy Receiver driven differentiated service marking for unicast and multicast applications
JP3766259B2 (ja) 2000-06-01 2006-04-12 株式会社日立製作所 パケット転送装置
JP2003152544A (ja) 2001-11-12 2003-05-23 Sony Corp データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP4900487B2 (ja) 2010-01-06 2012-03-21 横河電機株式会社 制御ネットワーク管理システム
KR20140041310A (ko) * 2012-09-27 2014-04-04 삼성전자주식회사 패킷 처리 방법 및 장치

Also Published As

Publication number Publication date
US20190349610A1 (en) 2019-11-14
WO2018142874A1 (ja) 2018-08-09
JP6732966B2 (ja) 2020-07-29
US10951931B2 (en) 2021-03-16

Similar Documents

Publication Publication Date Title
CN100553251C (zh) 用于安全并且自适应地传送多媒体内容的方法和设备
Bolot et al. Scalable feedback control for multicast video distribution in the internet
CN110049353B (zh) 用于在广播系统中传输多媒体数据的装置及方法
KR101555855B1 (ko) 다양한 참가 디바이스의 화상회의 방법 및 시스템
JP2009165153A (ja) 複数のデータ型からなるデータ・ストリームを異なる優先レベルで配信する方法、システムおよびコンピュータ・プログラム
JP2005027325A (ja) Rtpペイロード形式
EP3127334A1 (en) Multicast streaming
CN106973253B (zh) 一种调整媒体流传输的方法及装置
RU2634206C2 (ru) Устройство и способ коммутации медиапотоков в режиме реального времени
GB2536299A (en) Method of communicating data packets within data communication systems
JP5748471B2 (ja) 配信装置、配信方法、プログラム
US9392048B2 (en) Method, a system, a server, a device, a computer program and a computer program product for transmitting data in a computer network
JP2009071576A (ja) アクセス制御方法、アクセス制御装置および画像配信システム
JP2009213138A (ja) 高速インターネット・プロトコル・ネットワークでデータを伝送するためのデータ・トランスポート・コンテナ
JP6732966B2 (ja) データ配信システム、データ配信方法、マーカ及びプログラム
US10652626B2 (en) Gateway, and method, computer program and storage means corresponding thereto
KR102138075B1 (ko) 미디어 데이터를 전송하기 위한 가변 크기 데이터 패킷을 송수신하는 방법 및 장치
CN110519331B (zh) 一种视联网资源处理方法及装置
US20150188841A1 (en) Aggregated adaptive bit rate streaming
JP2011147025A (ja) 配信装置、配信プログラムおよび配信方法
CN1845500A (zh) 网播幻灯演讲文件的实现系统及方法
US20100064029A1 (en) Network connector device
JP2013214888A (ja) メディアデータ送信装置、情報処理方法及びプログラム
CN105611387A (zh) 视频图像预览方法和系统
EP4236326A1 (en) A method, an apparatus and a computer program product for transmission of immersive media

Legal Events

Date Code Title Description
A529 Written submission of copy of amendment under article 34 pct

Free format text: JAPANESE INTERMEDIATE CODE: A5211

Effective date: 20190724

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200629

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200708

R150 Certificate of patent or registration of utility model

Ref document number: 6732966

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150