JP6242089B2 - 送信装置、送信方法及びプログラム - Google Patents

送信装置、送信方法及びプログラム Download PDF

Info

Publication number
JP6242089B2
JP6242089B2 JP2013122940A JP2013122940A JP6242089B2 JP 6242089 B2 JP6242089 B2 JP 6242089B2 JP 2013122940 A JP2013122940 A JP 2013122940A JP 2013122940 A JP2013122940 A JP 2013122940A JP 6242089 B2 JP6242089 B2 JP 6242089B2
Authority
JP
Japan
Prior art keywords
size
data
division unit
unit
media data
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.)
Active
Application number
JP2013122940A
Other languages
English (en)
Other versions
JP2014241493A (ja
JP2014241493A5 (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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013122940A priority Critical patent/JP6242089B2/ja
Priority to US14/297,238 priority patent/US20140362864A1/en
Publication of JP2014241493A publication Critical patent/JP2014241493A/ja
Publication of JP2014241493A5 publication Critical patent/JP2014241493A5/ja
Application granted granted Critical
Publication of JP6242089B2 publication Critical patent/JP6242089B2/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Description

本発明は、送信装置、送信方法及びプログラムに関する。
現在、インターネット等のIP(Internet Protocol)ネットワークを用いたメディア伝送が普及している。メディア伝送においては、カメラ等で撮影した動画像や音声等のメディアデータをネットワーク経由でリアルタイムに送信することができる。このようなプロトコルとして、RTP(A Transport Protocol for Real−Time Applications,RFC3550,IETF)が利用されている。
また、動画像の高精細化が進み、スマートフォンやタブレットの普及に伴うメディアデータの多様性の需要が高まっている。これに伴い、メディア伝送に大容量なネットワーク帯域が必要となり、インフラの整備と共にネットワーク帯域の効率的な利用が求められている。
ネットワーク帯域を効率的に利用する方法として、利用可能な複数のネットワークインタフェースを並行して利用し、大容量化を図るマルチパス伝送技術がある。マルチパス伝送をサポートするプロトコルとしては、Multipath TCP(Architectural Guidelines for Multipath TCP Development,RFC6182,IETF)が挙げられる。また、他のプロトコルとしては、Multipath RTPやCMT−SCTP(Concurrent Multipath Transfer using Stream Control Transmission Protocol)が挙げられる。
複数のパスを並行して利用するマルチパス伝送においては、利用する複数のパスの帯域やジッタが異なる場合も考えられる。帯域が狭く、ジッタが大きいパスメディアデータパケットを流した場合には、帯域が広く、ジッタが小さいパスにメディアデータパケットを流した場合に比べて、受信装置が受信するまでの遅延が大きくなってしまう可能性がある。これに対し、特許文献1には、それぞれのパスの帯域やジッタの違いを考慮してパスに振り分けるデータ量を制御する技術が開示されている。
特開2006−67075号公報
マルチパス伝送において、受信装置は、それぞれのパスから受信したメディアデータパケットを、パス毎に設けられたパケットバッファに格納する。そして、受信装置は、パス毎のパケットバッファに格納されたデータを再構築する。
このとき、関連性の高いデータパケットが、異なるパケットバッファに分かれて格納さえていると、データの再構築にかかる処理コストが大きくなってしまう。このため、受信装置のCPUやメモリ等のコンピュータリソースを圧迫してしまうという問題があった。
本発明はこのような問題点に鑑みなされたもので、マルチパス伝送において、受信装置におけるデータの再構築の処理コストを低減することを目的とする。
そこで、本発明は、メディアデータを取得する取得手段と、前記取得手段により取得されたメディアデータを分割して送信するための複数の通信経路に基づいて、前記メディアデータに含まれる連続する部分データにより構成される分割単位の大きさを決定する決定手段であって第1サイズの分割単位のデータを所定時間以内に送信できると判定された通信経路に対して割り当てるデータの分割単位の大きさを前記第1サイズに決定し、前記第1サイズの分割単位のデータを前記所定時間以内に送信できないと判定された通信経路に対して割り当てるデータの分割単位の大きさを前記第1サイズより小さい第2サイズに決定する決定手段と、前記取得手段により取得されたメディアデータを、前記決定手段により決定された大きさの分割単位で前記複数の通信経路に割り当てる割り当て手段と、前記取得手段により取得されたメディアデータを、前記割り当て手段による割り当てに応じた通信経路を使用して送信する送信手段とを有する。
本発明によれば、マルチパス伝送において、受信装置におけるデータの再構築の処理コストを低減することができる。
送信装置を示す図である。 送信装置を示す図である。 メディアデータの階層構造の一例を示す図である。 送信処理を示すフローチャートである。 グループ割当処理を示すフローチャートである。 送信処理を説明するための図である。 優先度の一例を示す図である。 グループ割当処理を示すフローチャートである。 送信処理を説明するための図である。
以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
図1は、送信装置11のハードウェア構成を示す図である。本実施形態にかかる送信装置11は、複数のネットワークインタフェースを並列に利用するマルチパス伝送により、メディアデータをパケット単位でリアルタイムに送信する。送信装置11は、例えば、カメラ等で撮影した映像や音声等のデータを、メディアデータとして受信装置12に送信する。なお、送信装置11が送信対象とするメディアデータは、メタデータや誤り訂正符号データ等を含んでいてもよい。
送信装置11及び受信装置12は、それぞれ単一のコンピュータ装置で実現されてもよいし、各装置の機能が複数のコンピュータ装置に分散され、複数のコンピュータ装置により各装置が実現されてもよい。各装置が複数のコンピュータ装置で実現される場合には、各コンピュータ装置は、互いに通信可能なようにLAN(Local Area Network)等で接続されているものとする。
CPU(Central Processing Unit)101は、後述の送信装置11の各部を統括的に制御する。ROM(Read Only Memory)102は、CPU101により実行される制御プログラム等を格納している。RAM(Random Access Memory)103は、CPU101の主メモリ、ワークエリア等として機能する。
ネットワークI/F104a〜104cは、インターネットや公衆無線、LANと接続できるインタフェースである。本実施形態においては、送信装置11は、3個のネットワークI/F104a〜104cを備えることとするが、送信装置11は、2個以上のネットワークI/Fを備えればよく、その数は、実施形態に限定されるものではない。
撮像部107は、被写体の光情報をセンサ(撮像素子)で受光する。撮像制御部108は、撮像部107を制御する。撮像制御部108は、例えば撮像部107のパン、チルト、ズーム等を制御する。撮像制御部108はまた、レンズ駆動を制御する。デジタル信号処理部109は、撮像部107によって撮像され、A/D変換によって生成されるデジタルデータに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理等の各種処理を行う。
エンコーダ部110は、デジタルデータを特定の符号化方式に応じて変換する処理を行う。本実施形態にかかるエンコーダ部110は、HEVCで符号化するものとする。なお、符号化方式は、実施形態に限定されるものではなく、エンコーダ部110は、H.264/AVC等、他の符号化方式により符号化を行ってもよい。バス111は、各種データの転送経路である。
なお、後述する送信装置11の機能や処理は、CPU101がROM102等に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
図2は、送信装置11のソフトウェア構成を示す図である。メディアデータ受付部201は、メディアデータを受け付ける。本実施形態にかかるメディアデータ受付部201は、撮像部107により撮影され、デジタル信号処理部109により各種処理が施されたメディアデータを受け付ける。
符号化部202は、HEVCの符号化方式によりメディアデータを符号化する。パケット生成部203は、符号化されたメディアデータを送信プロトコルに応じてパケット化する。なお、本実施形態にかかる送信プロトコルは、RTPプロトコルとするが、これに限定されるものではない。
グループ構成部204は、グループの階層構造を定義する。具体的には、グループ構成部204は、メディアデータを構成する複数のパケットを、異なる複数のグループ単位(粒度)それぞれによりグループ化する(グループ化処理)。これにより、グループ構成部204は、階層化された複数のグループ群を得る。
ここで、複数のグループ単位それぞれは、階層化された値であり、例えばRAM103等に予め設定されているものとする。そして、グループ構成部204は、予め設定されたグループ単位に基づいて、メディアデータのグループ化を行う。
また、各グループ群は、複数のグループを含んでいる。すなわち、階層構造における各階層には、グループ群を構成する複数のグループが属している。なお、グループ構成部204による処理については後に詳述する。
階層選択部205は、各ネットワークI/F104a〜104cの通信状態に基づいて、グループ構成部204により定義された階層構造を参照し、各パスに割り当てる際の単位とする階層を選択する。ここで、通信状態とは、各パスの利用帯域を示す情報である。通信状態は、後述する通信状態特定部213から取得する。
階層選択部205は、通信状態特定部213により特定された各コネクションの通信状態に基づいて、最も通信状態の良いコネクションのネットワークI/F104a〜104cから順に処理対象として選択する。そして、階層選択部205は、選択したネットワークI/F104a〜104cに対して、階層を選択する。
送受信部206は、送信機能として、階層選択部205により選択された階層のグループ単位で、パケットを送信キュー207a〜207cに格納する。ここで、送信キュー207a〜207cは、それぞれネットワークI/F104a〜104cに対応する送信待ちパケット用のキューである。各送信キュー207a〜207cに格納されたパケットは、それぞれ各送信キュー207a〜207cに格納された順に、対応するネットワーク210a〜210cに送信される。
なお、ネットワーク210a〜210cは、すべてが異なるネットワークである必要はない。ネットワーク210a〜210cのうち、一部のネットワークが異なっていればよい。
送受信部206は、また、受信機能として、受信装置12から、受信状況の情報を受信する。そして、送受信部206は、受信した情報を通信状態特定部213に送る。
通信状態特定部213は、通信状態として、各パスが利用可能な帯域(利用可能帯域)を特定する。具体的には、通信状態特定部213は、送受信部206から受け取った情報に基づいて、ネットワークI/F104a〜104cに対応する各パスの利用可能帯域を算出する。通信状態特定部213は、例えばTFRC(TCP Friendly Rate Control:Protocol Specification, RFC3448,IETF)による算出方法により、利用可能帯域を算出する。なお、通信状態特定部213は、これ以外方法により利用可能帯域を算出することとしてもよい。
図3は、メディアデータの階層構造の一例を示す図である。図3に示す階層構造は、メディアデータとしての、HEVCで符号化された映像データに対する階層構造を示している。この階層構造は、グループ構成部204により定義される。図3に示す階層構造は、4つの階層301〜304を有している。第1層301を最も下位の層とし、第2層302、第3層303、第4層304の順に、より上位の層となっており、第4層304を最も上位の層とする。
各階層301〜304には、1つのグループ群が属している。また、各階層301〜304のグループ群は、それぞれのグループ群を構成するグループのグループ単位が異なる。より詳しくは、例えば、第2層302に属するグループ群のグループ単位は、第1層301に属するグループ群のグループ単位の2以上の整数倍となっている。同様に、各層のグループ単位は、下位の層のグループ単位の2以上の整数倍となるというように、階層構造を示す複数の階層は、包含関係を有している。
第1層301に属するグループは、階層構造において最も小さいデータサイズをグループ単位とする。具体的には、第1層301に属するグループは、HEVCにおける符号化の単位であるタイルと呼ばれる矩形の1ブロックを1グループとする。なお、タイルの矩形サイズは、任意の値とする。グループ構成部204は、メディアデータを構成する複数のパケットを、先頭から順にタイル単位でグループ化することにより、第1層301のグループ群を定義する。
第2層302は、部分領域をグループ単位とするグループの層である。部分領域は、第1層301において定義されたタイルを複数有する領域である。図3に示す例においては、部分領域は、6つのタイルを有している。グループ構成部204は、メディアデータを構成する複数のパケットを先頭から順に、部分領域単位でグループ化することにより、第2層302のグループ群を定義する。
第3層303は、映像データのフレームをグループ単位とするグループの層である。グループ構成部204は、メディアデータとしての映像データを構成する複数のパケットを先頭から順に、フレームを単位としてグループ化していくことにより、第3層303のグループ群を定義する。
なお、HEVCのように、イントラ符号化されたフレームとインター符号化されたフレームとにおいて、データサイズが大きく異なる符号化方式がある。このような符号化方式により符号化されたメディアデータを対象とする場合には、グループ構成部204は、第3層303において、イントラ符号化フレームとインター符号化フレーとを異なる単位でグループ化してもよい。グループ構成部204は、例えば、第3層303において、1枚のイントラ符号化フレームを1つのグループとし、また、複数枚のインター符号化フレームを1つのグループとして定義してもよい。
第4層304は、GOP(Group Of Pictures)をグループ単位とするグループの層である。ここで、GOPは、少なくとも1枚のIピクチャを含む複数のフレームを有する。グループ構成部204は、映像データを構成する複数のパケットを先頭から順に、GOPを単位としてグループ化することにより、第4層304のグループ群を定義する。
なお、階層構造における各階層に属するグループの粒度(データサイズの単位)は、予めRAM103等の記憶部に格納されているものとする。図3に示す階層構造に対しては、記憶部には、タイル、部分領域、フレーム及びGOPが各階層の粒度として定義されている。
なお、階層構造における粒度は、実施形態に限定されるものではない。他の例としては、粒度は、メディアデータが映像データと音声データとを含む場合のメディア単位であってもよい。また、他の例としては、粒度は、SVCにおける階層フレーム単位でもよい。他の例としては、粒度は、メディアデータを複数の装置に送信する場合には、送信先の装置単位でもよい。また、他の例としては、誤り訂正符号による保護パケットやエラー損失に対する再送パケットを送信する場合には、粒度は、メディアデータと誤り訂正符号データのセットであってもよい。また、グループ構成部204は、再送パケットを別のグループとしてもよい。さらに、グループ構成部204は、予め定義されている階層化された複数の粒度を組み合わせたデータを新たな粒度として定義してもよい。
図4は、送信装置11による送信処理を示すフローチャートである。S401において、送信装置11のCPU101は、許容遅延時間を取得する。ここで、許容遅延時間とは、パケットが送信待ち状態となってから、パケットの送信先の受信装置12がパケットを受信するまでに許容される遅延時間である。
許容遅延時間は、送信装置11において定められており、送信装置11のRAM103等に予め設定されているものとする。なお、リアルタイム性の要求が高いシステム程、許容遅延時間は短くなる。また、他の例としては、許容遅延時間は、受信装置12において定められていてもよい。この場合には、CPU101は、受信装置12から許容遅延時間を取得する。
次に、S402において、CPU101は、各ネットワークI/F104a〜104cのRTT(Round Trip Time)を計測する。RTTの計測方法としては、ICMP(Internet Control Message Protocol)を利用した方法が挙げられるが、これに限定されるものではない。なお、以下、ネットワークI/F104a〜104cをそれぞれNIC1〜NIC3と称し、また、適宜単にNICと称することとする。
次に、S403において、CPU101は、各NIC(NIC1〜NIC3)に対して得られたRTTに基づいて、各NICの利用可能帯域を算出する。帯域算出方法としては、前述したTFRC等が挙げられる。
次に、S404において、CPU101は、利用可能帯域に基づいて、NIC1〜NIC3の中から、利用するNICを決定する。CPU101は例えば、予め設定された閾値未満の利用可能帯域を示すNICを使用しないこととする。また、CPU101は、回線に異常が発生している可能性のあるNICを使用しないこととしてもよい。
次に、S405において、CPU101は、NIC1〜NIC3それぞれについて、RTTと許容遅延時間の差分を算出する。この差分は、NIC1〜NIC3それぞれに対応する送信キュー207a〜207cにバッファリング可能な最大時間を意味する。
次に、S406において、CPU101は、各送信キュー207a〜207cがバッファリング可能なデータサイズの最大値(バッファリングサイズ)を算出する。具体的には、CPU101は、NIC1〜NIC3それぞれの利用可能帯域と、差分として得られた時間と、に基づいて、各送信キュー207a〜207cのバッファリングサイズを算出する。S406の処理は、通信状態として最大値を特定する特定処理の一例である。
次に、S407において、CPU101は、バッファリングサイズに基づいて、メディアデータを、いずれかの階層のグループ単位で、送信キュー207a〜207cに割り当てる。なお、S407の処理については後に詳述する。
次に、S408において、CPU101は、メディアデータの送信が完了したかどうかを判定する。メディアデータの送信が完了した場合には(S408でYes)、CPU101は、送信処理を終了する。メディアデータの送信が完了していない場合には(S408でNo)、CPU101は、一定時間待機した後(S409でYes)、処理をS402へ進める。
図5は、グループ割当処理(S407)における詳細な処理を示すフローチャートである。なお、前提として、グループ割当処理(S407)の開始前に、グループ構成部204により、異なるグループ単位を階層とする階層構造が定義されているものとする(グループ化処理)。
S501において、CPU101は、割り当て可能なデータの有無を確認する。割り当て可能なデータが存在する場合には(S501でYes)、CPU101は、処理をS502へ進める。割り当て可能なデータが存在しない場合には(S501でNo)、CPU101は、グループ割当処理を終了する。なお、CPU101は、パケット化され、割り当てのための準備が完了しているデータが存在しない場合に、割り当て可能なデータが存在しないと判断する。また、CPU101は、すべてのNICのバッファリング可能なデータサイズの最大値が、メディアデータのグループ単位の最小値よりも小さい場合に、割り当て可能なデータが存在しないと判断する。
次に、S502において、CPU101は、利用するすべてのNICの中から、バッファリングサイズが最大となるNICを処理対象として選択する。各NICのバッファリングサイズは、S406において算出された値とする。以下、処理対象のNICを対象NICと称する。
次に、S503において、CPU101は、対象NICのバッファリングサイズ以下(最大値以下)のデータサイズをグループ単位とするグループ群(階層)を特定する。そして、特定したグループ群が複数存在する場合には、CPU101は、特定したグループ群のうち、グループ単位が最も大きいグループ群を1つ選択する。ここで、S503の処理は、選択処理の一例である。
次に、S504において、CPU101は、選択したグループ群の複数のグループのうち、割り当てが行われていない、先頭のグループを対象NICに対応する送信キュー207a〜207cに割り当てる。すなわち、CPU101は、先頭のグループを対象NICに対応する送信キュー207a〜207cに格納する。ここで、S504の処理は、グループを対象通信経路としての選択されたNICに割り当てる割当処理の一例である。
次に、S505において、CPU101は、対象NICのバッファリングサイズを更新する。具体的には、CPU101は、対象NICのバッファリングサイズから、S504において割り当てたグループのデータサイズを減じ、減じた値を、対象NICの新たなバッファリングサイズとする。CPU101は、S501において割り当て可能なデータが存在しないと判断されるまで、S502からS505の処理を繰り返す。
図6は、送信処理を説明するための図である。図6(b)に示すように、送信装置11は、3つのネットワークI/F104a〜104c(NIC1〜NIC3)を備えているものとする。また、NIC1〜NIC3は、それぞれの利用帯域が40Mbps,20Mbps,10Mbpsであるものとする。また、NIC1〜NIC3に対応するパスのRTTはすべて1秒とし、許容遅延時間は2秒とする。
なお、メディアデータの送信先の装置、すなわち受信装置12も、送信装置11と同様に、3つのネットワークI/F(NIC,NIC2,NIC3)を備えている。送信装置11のNIC1〜NIC3は、それぞれ受信装置12のNIC1〜NIC3に対応している。
また、ここでは、説明の簡素化のため、以下の条件とする。すなわち、図6(a)に示すように、フレーム単位のグループ群と、部分領域単位のグループ群の2階層の階層構造が定義されているものとする。ここで、フレーム単位のグループ群を上位層、部分領域単位のグループ群を下位層とする。
送信装置11の処理対象のメディアデータは、図6(a)に示すように、フレーム「1」〜「4」を有する映像データであるものとする。また、各フレームは、4つの部分領域に分割されているものとする。ここで、フレーム4の部分領域を部分領域「4−1」〜「4−4」と称することとする。フレームのデータサイズは、いずれも2MBとする。部分領域のデータサイズは、いずれも0.5MBとする。
以上の前提においては、S405において、CPU101は、すべてのNIC1〜NIC3の許容遅延時間とRTTの差分として、許容遅延時間2秒からRTTの1秒を減じた値、すなわち1秒を得る。
次に、S406において、CPU101は、NIC1に対し、バッファリングサイズ5MB(40Mbps×1sec÷8bits)を得る。また、CPU101は、NIC2に対し、バッファリングサイズ2.5MB(20Mbps×1sec÷8bits)を得る。また、CPU101は、NIC3に対し、バッファリングサイズ1.25MB(10Mbps×1sec÷8bits)を得る。
次に、グループ割当処理について説明する。S502において、CPU101は、バッファリングサイズが最大のNICとして、バッファリングサイズ5MBのNIC1を選択する。
ここで、NIC1のバッファリングサイズ(5MB)以下で、且つ最大のグループ単位の階層は、フレーム単位(2MB)のデータ群の階層(上位層)となる。したがって、S503において、CPU101は、フレーム単位の階層を選択する。そして、S504において、CPU101は、メディアデータの先頭のフレーム、すなわちフレーム1をNIC1の送信キュー207aに割り当てる。
そして、S505において、CPU101は、NIC1のバッファリングサイズを、5MBからフレーム1のデータサイズ(2MB)を減じた値(3MB)に更新し、処理を再びS501に進める。
続いて、S502において、CPU101は、NIC1〜NI3のバッファリングサイズを比較する。このとき、バッファリングサイズ3MBのNIC1が選択される。フレーム単位(2MB)は、3MB以下である。したがって、S503において、CPU101は、フレームをグループ単位とする階層を選択する。そして、S504において、CPU101は、フレーム1に続く、フレーム2をNIC1の送信キュー207aに割り当てる。
続いて、S505において、CPU101は、NIC1のバッファリングサイズを、3MBからフレーム2のデータサイズ(2MB)を減じた値(1MB)に更新し、処理を再びS501に進める。
そして、S502において、CPU101は、バッファリングサイズが最大のNICとして、バッファリングサイズ2.5MBのNIC2を選択する。続いて、S503において、CPU101は、2.5MB以下且つ最大のグループ単位の階層として、フレームをグループ単位とする階層を選択する。そして、S504において、CPU101は、フレーム2に続くフレーム3をNIC2の送信キュー207bに割り当てる。
続いて、S505において、PCU101は、NIC2のバッファリングサイズを、2.5MBからフレーム3のデータサイズ(2MB)を減じた値(0.5MB)に更新し、処理を再びS501に進める。
続いて、S502において、CPU101は、バッファリングサイズが最大のNICとして、バッファリングサイズが1.25MBのNIC3を選択する。ここで、1.25MBは、フレーム単位(2MB)に比べて小さい。したがって、S503において、CPU101は、フレームをグループ単位とする階層の下位の層、すなわち、部分領域をグループ単位とする階層を選択する。そして、S504において、CPU101は、フレーム3に続くフレーム4を構成する部分領域4−1をNIC3の送信キュー207cに割り当てる。
以上のように、CPU101は、S501〜S505の処理を繰り返すことにより、図6(b)に示すように、フレーム1〜4のメディアデータをNIC1〜NIC3に割り当てることができる。
このように、本実施形態にかかる送信装置11は、複数の通信経路それぞれの通信状態に基づいて、異なるグループ単位のうち一のグループ単位を選択し、選択したグループ単位で、送信対象データを各通信経路に割り当てることができる。さらに、ここで、グループ単位のデータは、メディアデータのうち一部の連続するデータである。したがって、受信装置12側で、パケット単位で受信したデータから、メディアデータを再構築する際の処理コストを低減することができる。
さらに、送信装置11は、各パスに割り当てるグループのパケット構成を動的に変更することができる。したがって、送信装置11は、各パスの帯域を効率的に利用することができる。
第1の実施形態の第1の変更例としては、CPU101は、S504(図5)において、メディアデータの先頭から順にグループを選択することとしたが、選択順は、これに限定されるものではない。
また、第2の変更例としては、CPU101は、フレームの先頭から順に所定のタイル数に分割して部分領域を得るのにかえて、注目領域に基づいて、部分領域を得ることとしてもよい。例えば、CPU101は、注目領域を中心に順位付けし、順位順に部分領域を配列してもよい。さらに、送信キュー207a〜207cへの割り当て時(S505)には、CPU101は、順位の高い部分領域から優先的に状態の良いパスに割り当ててもよい。
(第2の実施形態)
次に、第2の実施形態にかかる送信装置11について説明する。第2の実施形態にかかる送信装置11は、同一階層のグループ群に含まれる複数のグループそれぞれに優先度を付与し、優先度に基づいて、送信キュー207a〜207cへの割り当てを行う。なお、ここでは、第1の実施形態にかかる送信装置11と異なる部分について説明する。第2の実施形態においては、HEVCの少なくとも1以上のタイルを有する部分領域単位の階層に属するグループ(部分領域)の割当処理について説明する。
図7は、優先度の一例を示す図である。図7に示すフレーム700内の部分領域701〜716には、それぞれ図7に示すような優先度が定義されている。すなわち、部分領域701には優先度3が設定されている。部分領域702〜707には、優先度2が設定されている。部分領域708〜716には、優先度1が設定されている。なお、優先度の値が大きい程、優先度が高いものとする。
CPU101は、例えば、メディアデータとしての映像データにおいては、フレーム内において、視聴者の注目度が高い領域により高い優先度を付与する。具体的には、CPU101は、動きのある部分領域に、動きのない部分領域に比べて高い優先度を付与する。
図8は、第2の実施形態にかかる送信装置11による、グループ割当処理を示すフローチャートである。CPU101は、S503において階層を選択した後、処理をS801へ進める。そして、S801において、CPU101は、選択されている階層に属する複数のグループの中から、優先度が最も大きいグループを選択し、これを対象NICに対応する送信キュー207a〜207cに割り当てる。なお、S801において、グループが1つのみの場合には、この1つのグループが割り当てられる。
図9は、第2の実施形態にかかる送信処理を説明するための図である。図9に示すように、送信装置11は、3つのネットワークI/F104a〜104c(NIC1〜NIC3)を備えているものとする。また、NIC1〜NIC3は、それぞれの利用帯域が30Mbps,20Mbps,10Mbpsであるものとする。
なお、メディアデータの送信先の装置、すなわち受信装置12も、送信装置11と同様に、3つのネットワークI/F(NIC,NIC2,NIC3)を備えている。送信装置11のNIC1〜NIC3は、それぞれ受信装置12のNIC1〜NIC3に対応している。
また、ここでは、説明の簡素化のため、以下の条件とする。すなわち、図7に示すように、HEVCで符号化されたフレームは、16個の部分領域701〜716に分割されているものとする。ここで、部分領域701〜716のデータサイズは、いずれも0.5MBとする。そして、フレーム全体のデータサイズは、8MB(0.5MB×16個)とする。NIC1〜NIC3に対応するパスのRTTはすべて1秒とし、許容遅延時間は2秒とする。
この場合、S406において、CPU101はNIC1に対し、バッファリングサイズ3.75MB(30Mbps×1sec÷8bits)を得る。CPU101はまた、NIC2に対し、バッファリングサイズ2.5MB(20Mbps×1sec÷8bits)を得る。CPU101はまた、NIC3に対し、バッファリングサイズ1.25MB(10Mbps×1sec÷8bits)を得る。
次に、グループ割当処理について説明する。S502において、CPU101は、バッファリングサイズが最大のNICとして、バッファリングサイズが3.75MBのNIC1を選択する。次に、S503において、CPU101は、NIC1のバッファリングサイズ3.5MB以下で、且つ最大のグループ単位の階層として、部分領域単位(0.5MB)のデータ群の階層を選択する。
次に、S801において、CPU101は、選択した階層のグループから、優先度が最大のグループとして、優先度3の部分領域701を選択し、これを、NIC1の送信キュー207aに割り当てる。次に、S505において、CPU101は、NIC1のバッファリングサイズを、3.75MBから、部分領域701のデータサイズ(0.5MB)を減じた値に更新し、処理を再びS501に進める。
続いて、S502において、CPU101は、NIC1〜NIC3のバッファリングサイズを比較する。このとき、バッファリングサイズ3.25MBのNIC1が選択される。そして、S801において、CPU101は、優先度が最大のグループとして、優先度2の部分領域702を選択する。
以上のように、CPU101は、図8に示す各処理を繰り返すことにより、図9に示すように、部分領域701〜714をNIC1〜NIC3に割り当てることができる。なお、部分領域715,716については、CPU101は、部分領域をグループ単位とする階層よりも下位の階層、すなわちタイルをグループ単位とする階層のグループ単位で、NIC1〜NIC3に割り当てることとする。
また、他の例としては、部分領域715,716については、CPU101は、次回実行されるグループ割当処理において、部分領域をグループ単位として割り当てを行うこととしてもよい。また、他の例としては、部分領域715,716の優先度が低いことから、CPU101は、部分領域715,716の割り当てをスキップしてもよい。
なお、第2の実施形態にかかる送信装置11のこれ以外の構成及び処理は、第1の実施形態にかかる送信装置11の構成及び処理と同様である。
以上のように、第2の実施形態の送信装置11は、優先度の高いグループを優先的に通信経路に割り当てることができる。
第2の実施形態の変更例について説明する。送信装置11は、メディアデータの階層構造における任意の階層のグループに優先度を付与することとしてもよい。例えば、送信装置11は、予め設定されているすべての階層のグループに優先度を付与することとしてもよい。また、他の例としては、送信装置11は、階層構造における複数の階層のうち一部の階層のグループに対してのみ、優先度を付与することとしてもよい。送信装置11は、例えばSVCのフレーム単位の階層のグループに優先度を付与してもよい。また、他の例としては、送信装置11は、フレームと、フレームを保護する誤り訂正符号データや再送データを同一階層と定義し、この階層のグループに優先度を付与してもよい。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、マルチパス伝送において、受信装置におけるデータの再構築の処理コストを低減することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
11 送信装置、12 受信装置、101 CPU、102 ROM、103 RAM、104a〜104c ネットワークI/F、107 撮像部、108 撮像制御部、109 デジタル信号処理部、110 エンコーダ部

Claims (13)

  1. メディアデータを取得する取得手段と、
    前記取得手段により取得されたメディアデータを分割して送信するための複数の通信経路に基づいて、前記メディアデータに含まれる連続する部分データにより構成される分割単位の大きさを決定する決定手段であって、第1サイズの分割単位のデータを所定時間以内に送信できると判定された通信経路に対して割り当てるデータの分割単位の大きさを前記第1サイズに決定し、前記第1サイズの分割単位のデータを前記所定時間以内に送信できないと判定された通信経路に対して割り当てるデータの分割単位の大きさを前記第1サイズより小さい第2サイズに決定する決定手段と、
    前記取得手段により取得されたメディアデータを、前記決定手段により決定された大きさの分割単位で前記複数の通信経路に割り当てる割り当て手段と、
    前記取得手段により取得されたメディアデータを、前記割り当て手段による割り当てに応じた通信経路を使用して送信する送信手段とを有することを特徴とする送信装置。
  2. 前記第1サイズの分割データを前記所定時間以内に送信できるか否かを、前記複数の通信経路それぞれにおける通信に係る遅延時間及び通信速度の少なくとも何れかに基づいて、前記複数の通信経路それぞれについて判定する判定手段を有し、
    前記決定手段は、前記判定手段による判定結果に基づいて、前記複数の通信経路に割り当てる分割単位の大きさを決定することを特徴とする請求項1に記載の送信装置。
  3. 前記第1サイズの分割単位は、符号化された前記メディアデータの符号化単位を複数含み、
    前記第2サイズの分割単位は、前記第1サイズの分割単位に含まれる符号化単位より少ない数の符号化単位を含むことを特徴とする請求項1又は2に記載の送信装置。
  4. 前記取得手段により取得されるメディアデータは、映像及び音声の少なくとも何れかを含むことを特徴とする請求項1乃至3何れか1項に記載の送信装置。
  5. 前記第1サイズの分割単位のデータと前記第2サイズの分割単位のデータは、それぞれ画像内の空間的に連続する領域であって大きさの異なる領域に対応することを特徴とする請求項1乃至3の何れか1項に記載の送信装置。
  6. 前記第1サイズの分割単位のデータは時間的に連続する複数の画像に対応し、前記第2サイズの分割単位のデータは単一の画像に対応することを特徴とする請求項1乃至3の何れか1項に記載の送信装置。
  7. 前記決定手段は、前記第1サイズの分割単位のデータを前記所定時間以内に送信できると判定された通信経路に対して割り当てるデータの分割単位を前記第1サイズに決定し、前記第1サイズの分割単位のデータを前記所定時間以内に送信できず前記第2サイズの分割単位のデータを前記所定時間以内に送信できると判定された通信経路に対して割り当てるデータの分割単位を前記第2サイズの分割単位に決定し、前記第2サイズの分割単位のデータを前記所定時間以内に送信できないと判定された通信経路に対して割り当てるデータの分割単位を前記第2サイズより小さい第3サイズの分割単位に決定することを特徴とする請求項1乃至6の何れか1項に記載の送信装置。
  8. 前記取得手段により取得されるメディアデータは映像を含み、
    前記第1サイズの分割単位は映像の複数フレーム単位であり、前記第2サイズの分割単位は映像の1フレーム単位であり、前記第3サイズの分割単位は映像の1フレーム内における部分領域単位であることを特徴とする請求項7に記載の送信装置。
  9. 前記割り当て手段は、前記取得手段により取得されたメディアデータを、前記決定手段により決定された大きさの分割単位で、当該分割単位のメディアデータそれぞれの優先度に応じて前記複数の通信経路に割り当てることを特徴とする請求項1乃至8の何れか1項に記載の送信装置。
  10. メディアデータを取得する取得工程と、
    前記取得工程において取得されたメディアデータを分割して送信するための複数の通信経路に基づいて、前記メディアデータに含まれる連続する部分データにより構成される分割単位の大きさを決定する決定工程であって、第1サイズの分割単位のデータを所定時間以内に送信できると判定された通信経路に対して割り当てるデータの分割単位を前記第1サイズに決定し、前記第1サイズの分割単位のデータを前記所定時間以内に送信できないと判定された通信経路に対して割り当てるデータの分割単位を前記第1サイズより小さい第2サイズに決定する決定工程と、
    前記取得工程において取得されたメディアデータを、前記決定工程において決定された大きさの分割単位で前記複数の通信経路に割り当てる割り当て工程と、
    前記取得工程において取得されたメディアデータを、前記割り当て工程における割り当てに応じた通信経路を使用して送信する送信工程と
    を含むことを特徴とする送信方法。
  11. 前記第1サイズの分割データを前記所定時間以内に送信できるか否かを、前記複数の通信経路それぞれにおける通信に係る遅延時間及び通信速度の少なくとも何れかに基づいて、前記複数の通信経路それぞれについて判定する判定工程を有し、
    前記決定工程は、前記判定工程における判定結果に基づいて、前記複数の通信経路に割り当てる分割単位の大きさを決定することを特徴とする請求項10に記載の送信方法。
  12. 前記第1サイズの分割単位は、符号化された前記メディアデータの符号化単位を複数含み、
    前記第2サイズの分割単位は、前記第1サイズの分割単位に含まれる符号化単位より少ない数の符号化単位を含むことを特徴とする請求項10又は11に記載の送信方法。
  13. コンピュータを請求項1乃至9の何れか1項に記載の送信装置として動作させるためのプログラム。
JP2013122940A 2013-06-11 2013-06-11 送信装置、送信方法及びプログラム Active JP6242089B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013122940A JP6242089B2 (ja) 2013-06-11 2013-06-11 送信装置、送信方法及びプログラム
US14/297,238 US20140362864A1 (en) 2013-06-11 2014-06-05 Transmitting apparatus, transmitting method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013122940A JP6242089B2 (ja) 2013-06-11 2013-06-11 送信装置、送信方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2014241493A JP2014241493A (ja) 2014-12-25
JP2014241493A5 JP2014241493A5 (ja) 2016-07-28
JP6242089B2 true JP6242089B2 (ja) 2017-12-06

Family

ID=52005433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013122940A Active JP6242089B2 (ja) 2013-06-11 2013-06-11 送信装置、送信方法及びプログラム

Country Status (2)

Country Link
US (1) US20140362864A1 (ja)
JP (1) JP6242089B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9413494B2 (en) * 2013-01-17 2016-08-09 Qualcomm Incorporated FEC-based reliable transport control protocols for multipath streaming
CN107210958A (zh) 2015-03-16 2017-09-26 奥林巴斯株式会社 通信装置、通信系统和通信方法
JP6529794B2 (ja) * 2015-03-16 2019-06-12 オリンパス株式会社 通信装置、通信システム、通信方法及び通信プログラム
US9336042B1 (en) 2015-11-19 2016-05-10 International Business Machines Corporation Performing virtual machine live migration within a threshold time by adding available network path in multipath network
JP2017175243A (ja) * 2016-03-22 2017-09-28 富士ゼロックス株式会社 通信装置
CN110785972B (zh) * 2017-06-29 2024-03-19 索尼公司 通信系统和发送装置
JP2019201286A (ja) * 2018-05-15 2019-11-21 キヤノン株式会社 通信装置、ネットワークカメラ、制御方法、及びプログラム
JP7321712B2 (ja) * 2019-01-30 2023-08-07 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム
JP2023113489A (ja) * 2022-02-03 2023-08-16 株式会社デンソー 通信装置、通信方法、及び通信プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6032178A (en) * 1998-01-12 2000-02-29 Siemens Aktiengesellschaft Method and arrangement for data transmission between units on a bus system selectively transmitting data in one of a first and a second data transmission configurations
US6788686B1 (en) * 1999-11-30 2004-09-07 Lucent Technologies Inc. Method of maintaining packet order in multipath transmission systems having non-uniform traffic splitting
US7340764B2 (en) * 2000-01-26 2008-03-04 Sony Corporation Data transmission system
JP2002112207A (ja) * 2000-09-29 2002-04-12 Toshiba Corp コンテンツ伝送・再生システム、コンテンツ伝送装置、コンテンツ再生装置及びコンテンツ伝送方法
JP2003309594A (ja) * 2002-04-16 2003-10-31 Hitachi Ltd 映像情報伝送システム
EP1627524A4 (en) * 2003-03-20 2009-05-27 Ge Security Inc SYSTEMS AND METHODS FOR PROCESSING IMAGES OF MULTIPLE RESOLUTIONS
KR100657314B1 (ko) * 2005-05-04 2006-12-20 삼성전자주식회사 멀티미디어 스트리밍 송신 장치 및 방법
KR100717712B1 (ko) * 2005-11-07 2007-05-11 중앙대학교 산학협력단 다양한 단말기환경에 대한 효과적인 엔브이오디 서비스방법
US7620710B2 (en) * 2005-12-19 2009-11-17 Commvault Systems, Inc. System and method for performing multi-path storage operations
JP2008142150A (ja) * 2006-12-07 2008-06-26 Matsushita Electric Ind Co Ltd 医療端末および医療端末の制御方法
US8223641B2 (en) * 2008-07-28 2012-07-17 Cellco Partnership Dynamic setting of optimal buffer sizes in IP networks
ES2355562B1 (es) * 2008-12-09 2012-02-02 Vodafone España, S.A.U. Procedimiento y dispositivo para controlar conexiones de múltiples caminos en redes de acceso por radio.
ES2355671B1 (es) * 2009-04-23 2012-02-02 Vodafone España, S.A.U. Encaminamiento de tráfico en una red de comunicación celular.
US8428024B2 (en) * 2010-07-21 2013-04-23 Telefonaktiebolaget L M Ericsson (Publ) System and method for mobility with a split home agent architecture using MPTCP
EP2619946B1 (en) * 2010-09-21 2014-07-16 Nokia Solutions and Networks Oy Method and network devices for splitting of a data stream
WO2013072765A2 (en) * 2011-11-18 2013-05-23 Dialogic Networks (Israel) Ltd. Method and apparatus for compressing communication packets

Also Published As

Publication number Publication date
US20140362864A1 (en) 2014-12-11
JP2014241493A (ja) 2014-12-25

Similar Documents

Publication Publication Date Title
JP6242089B2 (ja) 送信装置、送信方法及びプログラム
WO2017071167A1 (zh) 一种多视点视频传输方法及装置
WO2016082220A1 (zh) 多视频流的传输方法和设备
KR102328615B1 (ko) 다중 경로 송신 제어 프로토콜 연결을 사용하여 데이터를 전송하는 장치 및 방법
JP2003244676A (ja) 動画配信システム、動画配信装置および方法、記録媒体、並びにプログラム
JP2014241493A5 (ja)
US20120314127A1 (en) Provisioning network resources responsive to video requirements of user equipment nodes
JP2012504914A (ja) チャネルボンディングを用いたネットワーク上のデータ送信
US10785511B1 (en) Catch-up pacing for video streaming
JP7211765B2 (ja) パケット転送装置、方法、及びプログラム
US20110067072A1 (en) Method and apparatus for performing MPEG video streaming over bandwidth constrained networks
TW201019768A (en) Communications system and data transmitting method
JP2015138990A (ja) 受信装置、送信装置及び通信システム
JP6106851B2 (ja) 通信装置、通信方法、プログラム
CN110199505B (zh) 确定通信链路的带宽
WO2013042636A1 (ja) 配信ネットワークとサーバ及び配信方法
JP2009141565A (ja) 受信端末装置
Sutinen et al. Towards ubiquitous video services through scalable video coding and cross-layer optimization
CN114039931B (zh) 一种控制数据传输的方法、装置、设备及介质
Addisu et al. Mixed criticality scheduling applied to jpeg2000 video streaming over wireless multimedia sensor networks
WO2020208882A1 (ja) 制御装置、無線通信装置、および、無線通信システムの制御方法
JP5844692B2 (ja) リソース使用量平準化装置及びリソース使用量平準化方法
JP2005051517A (ja) 映像配信システム本発明は、映像配信システムに関し、複数の撮像装置からの映像信号に対してクライアントから要求があった映像信号をエンコーダを用いて符号化し、通信ネットワークを介して接続されるクライアントに対して配信を行う映像配信システムに関する。
JP4836871B2 (ja) 符号化画像に優先度を割り当てる映像データ送信装置、プログラム及び方法
JP6519304B2 (ja) データ配信装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170424

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171107

R151 Written notification of patent or utility model registration

Ref document number: 6242089

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151