(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-12
(45)【発行日】2024-11-20
(54)【発明の名称】伝送システム、伝送方法、および、伝送プログラム
(51)【国際特許分類】
H04L 47/50 20220101AFI20241113BHJP
H04L 47/129 20220101ALI20241113BHJP
【FI】
H04L47/50
H04L47/129
(21)【出願番号】P 2022579293
(86)(22)【出願日】2021-02-08
(86)【国際出願番号】 JP2021004560
(87)【国際公開番号】W WO2022168306
(87)【国際公開日】2022-08-11
【審査請求日】2023-07-10
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100129230
【氏名又は名称】工藤 理恵
(72)【発明者】
【氏名】山口 拓郎
(72)【発明者】
【氏名】山口 高弘
(72)【発明者】
【氏名】白井 大介
(72)【発明者】
【氏名】持田 康弘
【審査官】安藤 一道
(56)【参考文献】
【文献】特開2014-135685(JP,A)
【文献】特開2020-135816(JP,A)
【文献】特開2019-008554(JP,A)
【文献】特開2008-244894(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 47/50
H04L 47/129
(57)【特許請求の範囲】
【請求項1】
送信装置がネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置にそれぞれ到着した到着時間の差分とを用いて、前記パケットのジッタパターン系列を算出する算出部と、
前記ジッタパターン系列を第1の学習モデルに入力して、前記ネットワークの状態を示す状態指標を生成する生成部と、
前記状態指標に基づいて前記受信装置の受信バッファのバッファサイズを決定するバッファ推定部と、を有し、
前記バッファ推定部は、前記状態指標を、第2の学習モデルに入力して、前記受信バッファのバッファサイズを決定
する
伝送システム。
【請求項2】
送信装置がネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置にそれぞれ到着した到着時間の差分とを用いて、前記パケットのジッタパターン系列を算出する算出部と、
前記ジッタパターン系列を第1の学習モデルに入力して、前記ネットワークの状態を示す状態指標を生成する生成部と、
前記状態指標に基づいて前記受信装置の受信バッファのバッファサイズを決定するバッファ推定部と、を有し、
前記バッファ推定部は、前記受信バッファから出力される観測値を取得し、前記観測値または前記観測値から推定される推定値と前記状態指標との乖離を用いて、前記受信バッファのバッファサイズを決定
する
伝送システム。
【請求項3】
送信装置がネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置にそれぞれ到着した到着時間の差分とを用いて、前記パケットのジッタパターン系列を算出する算出部と、
前記ジッタパターン系列を第1の学習モデルに入力して、前記ネットワークの状態を示す状態指標を生成する生成部と、
前記状態指標に基づいて前記受信装置の受信バッファのバッファサイズを決定するバッファ推定部と、を有し、
第1の学習モデルは、深層学習により生成されたニューラルネットワークであって、
ネットワークの閑散時間帯を学習データとして教師無し学習をさせて前記ニューラルネットワークを生成する、または、前記送信装置から収集する前記送信間隔および前記受信装置から収集する前記到着時間にラベルを付与した教師あり学習をさせて前記ニューラルネットワークを生成する、学習部を
備える
伝送システム。
【請求項4】
伝送システムが行う伝送方法であって、
送信装置がネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置にそれぞれ到着した到着時間の差分とを用いて、前記パケットのジッタパターン系列を算出するステップと、
前記ジッタパターン系列を第1の学習モデルに入力して、前記ネットワークの状態を示す状態指標を生成するステップと、
前記状態指標に基づいて前記受信装置の受信バッファのバッファサイズを決定するステップと、を行
い、
前記バッファサイズを決定するステップは、前記状態指標を、第2の学習モデルに入力して、前記受信バッファのバッファサイズを決定する
伝送方法。
【請求項5】
伝送システムが行う伝送方法であって、
送信装置がネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置にそれぞれ到着した到着時間の差分とを用いて、前記パケットのジッタパターン系列を算出するステップと、
前記ジッタパターン系列を第1の学習モデルに入力して、前記ネットワークの状態を示す状態指標を生成するステップと、
前記状態指標に基づいて前記受信装置の受信バッファのバッファサイズを決定するステップと、を行い、
前記バッファサイズを決定するステップは、前記受信バッファから出力される観測値を取得し、前記観測値または前記観測値から推定される推定値と前記状態指標との乖離を用いて、前記受信バッファのバッファサイズを決定する
伝送方法。
【請求項6】
伝送システムが行う伝送方法であって、
送信装置がネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置にそれぞれ到着した到着時間の差分とを用いて、前記パケットのジッタパターン系列を算出するステップと、
前記ジッタパターン系列を第1の学習モデルに入力して、前記ネットワークの状態を示す状態指標を生成するステップと、
前記状態指標に基づいて前記受信装置の受信バッファのバッファサイズを決定するステップと、を行い、
第1の学習モデルは、深層学習により生成されたニューラルネットワークであって、
ネットワークの閑散時間帯を学習データとして教師無し学習をさせて前記ニューラルネットワークを生成する、または、前記送信装置から収集する前記送信間隔および前記受信装置から収集する前記到着時間にラベルを付与した教師あり学習をさせて前記ニューラルネットワークを生成する学習ステップを行う
伝送方法。
【請求項7】
請求項1から
3のいずれか1項に記載の伝送システムとしてコンピュータを機能させる伝送プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、伝送システム、伝送方法、および、伝送プログラムに関する。
【背景技術】
【0002】
SMPTE ST2110は、ネットワークを通して非圧縮映像・音声を伝送する方式である。SMPTE ST2110-20には、映像エッセンスをRTP(Real-time Transport Protocol)パケットのペイロードに格納して伝送する方法が記載されている(非特許文献1)。非圧縮映像伝送においては、映像パラメータおよびRTPパケットへの画素マッピング方法が変わらない限り、1フレーム当たりのパケット数は一定である。
【0003】
SMPTE ST2110-21には、非圧縮映像伝送における望ましいRTPパケットの送信タイミングモデルが記載されている(非特許文献2)。Linearモデルでは、RTPパケット送出間隔は常に一定である。Gappedモデルは、SDI(Serial Digital Interface)をベースにしたタイミングモデルで、各フレーム内でSDIの有効画素に相当する期間にのみ一定間隔でRTPパケットを送出する。受信装置は、送信タイミングモデルに基づいて設計される。
【先行技術文献】
【非特許文献】
【0004】
【文献】SMPTE ST 2110-20:2017、Professional Media Over Managed IP Networks: Uncompressed Active Video
【文献】SMPTE ST 2110-21:2017、Professional Media Over Managed IP Networks: Traffic Shaping and Delivery Timing for Video
【発明の概要】
【発明が解決しようとする課題】
【0005】
ネットワークを介した伝送では、ネットワークの状態により様々な伝送上の問題が発生することが知られている。例えば、映像は一定量のパケットが揃うことで再生が可能となるが、ネットワーク状態による遅延が発生し、一定量のパケットが揃うまでの時間が変化する。これに対して再生可能なパケット量が揃うまでの待ち時間であるバッファが設けられている。従来の伝送装置では、混雑状態において、データが揃うまでの時間揺らぎを吸収できるような一定の値をバッファに設定している。
【0006】
しかし、ネットワークの安定状態でも混雑状態と同じ値をバッファに適用するため、必要以上に遅延を発生させてしまう。このような遅延は、WEB会議でのオンラインコミュニケーション、遠隔医療、自動運転などの映像による制御など、リアルタイム性が求められるケースでの障害となる。
【0007】
また伝送規格SMPTE ST2110は、同軸ケーブルに代わり、映像・音声信号などをネットワークで送るものであるため、同軸ケーブルからネットワークへの移行にあたり、ネットワーク上の遅延は可能な限り抑えることが望ましい。
【0008】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、ネットワークの状態に応じて、伝送性能を向上させることにある。
【課題を解決するための手段】
【0009】
上記目的を達成するため、本発明の一態様は、伝送システムであって、送信装置がネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置にそれぞれ到着した到着時間の差分とを用いて、前記パケットのジッタパターン系列を算出する算出部と、前記ジッタパターン系列を第1の学習モデルに入力して、前記ネットワークの状態を示す状態指標を生成する生成部と、前記状態指標に基づいて前記受信装置の受信バッファのバッファサイズを決定するバッファ推定部と、を有する。
【0010】
本発明の一態様は、伝送システムが行う伝送方法であって、送信装置がネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置にそれぞれ到着した到着時間の差分とを用いて、前記パケットのジッタパターン系列を算出するステップと、前記ジッタパターン系列を第1の学習モデルに入力して、前記ネットワークの状態を示す状態指標を生成するステップと、前記状態指標に基づいて前記受信装置の受信バッファのバッファサイズを決定するステップと、を行う。
【0011】
本発明の一態様は、上記伝送システムとしてコンピュータを機能させる伝送プログラムである。
【発明の効果】
【0012】
本発明によれば、ネットワークの状態に応じて、伝送性能を向上させることができる。
【図面の簡単な説明】
【0013】
【
図1】第1の実施形態の伝送システムの構成例を示す図である。
【
図2】ネットワーク推定部の構成を示すブロック図である。
【
図4】伝送システムの動作を示すシーケンス図である。
【
図5】第1の実施形態の変形例の伝送システムの構成例を示す図である。
【
図6】第2の実施形態の伝送システムの構成例を示す図である。
【
図7】第2の実施形態の変形例の伝送システムの構成例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について、図面を参照して説明する。
【0015】
<第1の実施形態>
図1は、第1の実施形態の伝送システムの構成例を示す構成図である。本実施形態では、送信装置1が送信するRTPパケットの送信間隔が、伝送方式によって定まる既知の規則に則った固定(既知)の場合である。すなわち、本実施形態では、例えばSMPTE ST 2110による映像伝送など、固定の送信間隔の伝送方式に適用される。この場合、受信装置2のみがパケットキャプチャを行う。
【0016】
なお、本実施形態では、RTPパケットを用いるが、RTPパケットに限定されるものではなく、RTPパケット以外のパケットを用いてもよい。
【0017】
図示する伝送システムは、送信装置1と、受信装置2とを備え、送信装置1および受信装置2は、図示しないネットワークを介して接続されている。
【0018】
送信装置1は、パケット生成部11と、送信バッファ12と、ネットワークインタフェース13とを有する。パケット生成部11は、RTPパケットを生成し、送信バッファ12を経て、ネットワークインタフェース13に出力する。ネットワークインタフェース13は、RTPパケットをネットワークプロトコルパケット(以下、「ネットワークパケット」という)に格納して、ネットワークを介して受信装置2に送信する。本実施形態のネットワークインタフェース13は、RTPパケットの送信間隔を受信装置2のネットワーク推定部25に送信する。
【0019】
受信装置2は、パケットキャプチャ21と、ネットワークインタフェース22と、受信バッファ23と、再生部24と、ネットワーク推定部25と、バッファ推定部26と、制御部27とを有する。
【0020】
パケットキャプチャ21は、ネットワークを介して送信されたネットワークパケットを採取して、当該ネットワークパケットが受信装置2に到着した到着時間をネットワーク推定部25に出力する。
【0021】
ネットワークインタフェース22は、受信したネットワークパケットからRTPパケットを取り出し、当該RTPパケットを、受信バッファ23を経て再生部24に出力する。再生部24は、RTPパケットのデータ部を抽出し配置することで、RTPパケットを映像として再生する。
【0022】
ネットワーク推定部25は、パケットの送信間隔および到着時間を用いて、送信装置1と受信装置2との間のネットワークの状態を示す状態指標を生成し、当該状態指標をバッファ推定部26に出力する。ネットワーク推定部25については後述する。
【0023】
バッファ推定部26は、状態指標に基づいて受信装置2の受信バッファ23のバッファサイズを決定する。バッファ推定部26は、状態指標を、バッファ推定用の学習モデル(第2の学習モデル)に入力して、受信バッファ23のバッファサイズを決定してもよい。また、バッファ推定部26は、受信バッファ23から出力される観測値を取得し、観測値または観測値から推定される推定値と状態指標との乖離を用いて、受信バッファ23のバッファサイズを決定してもよい。
【0024】
制御部27は、バッファ推定部26が決定したバッファサイズに受信バッファ23を更新する。
【0025】
なお、以降において、RTPパケットおよびネットワークパケットを、パケットと記載する場合もある。
【0026】
図2は、ネットワーク推定部25の構成を示す構成図である。図示するネットワーク推定部25は、算出部251と、生成部252と、学習部253と、学習モデル254とを備える。
【0027】
算出部251は、送信装置1がネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置2にそれぞれ到着した到着時間(到着時刻)の差分とを用いて、前記パケットのジッタパターン系列を生成する。具体的には、算出部251は、時系列に連続する複数のパケットの到着時間をパケットキャプチャ21から取得し、これらの連続するパケットの到着時間の差分を算出する。
【0028】
生成部252は、ジッタパターン系列を学習モデル254(第1の学習モデル)に入力して、ネットワークの状態を示す状態指標を生成する。
【0029】
学習部253は、機械学習により学習モデル254を生成する。学習モデル254は、深層学習により生成されたニューラルネットワークであってもよい。深層学習は、教師無し学習であっても、教師有り学習であってもよい。具体的には、学習部253は、ネットワーク(経路)の閑散時間帯を学習データとして教師無し学習をさせてニューラルネットワークを生成してもよく、または、送信装置2から収集する送信間隔および受信装置2から収集する複数の到着時間にラベルを付与した教師あり学習をさせてニューラルネットワークを生成してもよい。
【0030】
なお、本実施形態では、ネットワーク推定部25は、受信装置2が備えるが、受信装置2ではなく外部装置がネットワーク推定部25を備えていてもよい。
【0031】
次に、本実施形態の基本的な映像伝送および再生の流れについて説明する。
【0032】
送信装置1では、パケット生成部11は、SMPTE ST 2110に従って、伝送したい映像ストリームをRTPパケットに分割し、RTPパケットを、送信バッファ12を経てネットワークインタフェース13に出力する。ネットワークインタフェース13は、RTPパケットを任意のネットワークプロトコルのネットワークパケットに格納して、受信装置2に向けてネットワークに送出する。
【0033】
ネットワークプロトコルとして、User Datagram Protocol(UDP)、Internet Protocol(IP)、Ethernetなどを使用してもよい。ネットワークの種類は問わない。ネットワークに、専用に波長が割り当てられた波長パスを使用しても良い。
【0034】
受信装置2では、ネットワークインタフェース22が、ネットワークを介して受信したネットワークパケットからRTPパケットを取り出し、受信バッファ23を経て、再生部24に出力する。再生部24は、RTPパケットのデータ部を抽出し配置することで、RTPパケットを映像として再生する。
【0035】
本実施形態の伝送システムは、この映像伝送および再生に加え、ネットワークの状態に応じて伝送を制御し、伝送性能を向上させる。
【0036】
図3は、伝送制御の処理を示すフローチャートである。
【0037】
送信装置1は、RTPパケットの送信を開始する(S11)。その際に、送信装置1のネットワークインタフェース13は、規定されたRTPパケットの送信間隔を示す送信間隔情報を、ネットワーク推定部25に送信する。受信装置2では、パケットキャプチャ21が、ネットワークインタフェース22に順次、到着したネットワークパケットを採取し、各ネットワークパケットの到着時間をネットワーク推定部25に出力する。
【0038】
ネットワーク推定部25は、送信装置1から取得した送信間隔情報と、パケットキャプチャ21から取得した到着時間とを用いて、ネットワークの状態を推定し、当該状態を示す状態指標を生成する(S12)。
【0039】
まず、算出部251は、受信装置2から通知された到着時間を用いて、パケットの到着時間差を算出する。具体的には、算出部251は、連続する2つのパケットの到着時間の差分を用いて到着時間差を算出する。そして、生成部252は、送信間隔及び到着時間差を用いてジッタパターン系列を算出する。具体的な、ジッタパターン系列の算出は次の通りである。
【0040】
送信タイミングモデルに基づく1フレーム分の理想的なRTPパケット送出時刻の系列を、Tideal(k)とする。kは1フレーム内におけるRTPパケットのインデックスで、1フレームあたりのRTPパケット数をNとすると、0 ≦ k ≦ N-1である。
【0041】
最初のRTPパケット送出時刻を0とすると、Tideal(k) = C * kと書ける。このとき、k番目パケットと(k-1)番目パケットにおけるパケット送信間隔は、以下のとおりである。
【0042】
ΔTideal(k) = Tideal(k)-Tideal(k-1) = C
算出部251は、フレームの先頭パケットを、タイムスタンプが切り替わったパケット、マーカー情報の付与などにより判断する。送信装置1は、このRTP パケットの送信間隔C を、ネットワーク推定部25に通知する。
【0043】
通知するタイミングとしては、送信装置1は、伝送開始時にRTPパケットに送信間隔Cを付与することで、送信間隔Cを通知してもよい。あるいは、ネットワーク推定部25に予め送信間隔Cのデフォルト値を設定しておき、デフォルト値とは異なる送信間隔Cの場合にのみ、送信装置1が送信間隔Cをネットワーク推定部25に通知することなどが考えられる。
【0044】
受信装置2のパケットキャプチャ21は、1フレーム相当のパケット到着時間系列TRX(k)、0 ≦ k ≦ N-1を得る。算出部251は、連続する2つのパケットの到着時間の差分を用いて到着時間差を算出する。到着時間差は、以下のとおりである。
【0045】
ΔTRX(k) = TRX(k)-TRX(k-1)
算出部251は、伝送遅延の差分を用いて、ジッタパターンを定義する。本実施形態のジッタパターンは、例えば以下のとおりである。
【0046】
J1(k)=(TRX(k)-Tideal(k))-(TRX(k-1)-Tideal(k-1))
=(TRX(k)-TRX(k-1))-(Tideal(k)-Tideal(k-1))
=ΔTRX(k)-C
算出部251は、複数のパケット分について、上記の計算を実施し、時系列なジッタパターン系列を生成する。このように、ジッタパターンは受信装置2における相対時間により算出可能であるため、送信装置1と受信装置2の時刻同期は必要ないことがわかる。
【0047】
本実施形態の算出部251は、連続する2つパケットの送信間隔および到着時間差により、ジッタパターンを計算しているが、サンプリングするパケットの間隔を長くする、または、複数のパケットの遅延差に関する平均を取ってもよい。
【0048】
次に、生成部252は、ジッタパターン系列に基づいて、状態指標を生成する。まず、生成部252は、ジッタパターン系列に対して、降順ソート、絶対値処理、特徴量抽出、周波数などの前処理を加える。生成部252は、前処理したジッタパターン系列を、例えば、深層学習により生成したニューラルネットワーク(学習モデル)に入力し、ニューラルネットワークが出力する状態指標を取得する。ニューラルネットワークは、入力されたジッタパターン系列に対して、最適な受信バッファ23のサイズが出力されるように学習される。
【0049】
学習に用いるニューラルネットワークの構造としては、単純な全結合、CNN、時系列データとしてRNNなどを利用することができる。学習に用いる重みに関しては、ネットワークの経路ごとに学習を行う場合と、あらかじめ学習させた重みを利用する場合とがある。
【0050】
経路ごとに深層学習を行う場合、各経路についてある程度の期間、伝送制御なしで伝送を実行し、そこで得られたデータを用いてニューラルネットワークに一から学習させる場合と、あらかじめ学習させた重みをそのままニューラルネットワークに利用する場合、あらかじめ学習させた重みをニューラルネットワークに適用して運用しながら少量データで調整・再学習させる場合などがある。
【0051】
重みを一から学習あるいは再学習させる場合、学習部253は、受信バッファ23での観測値(実際の運用データ)から、最大のジッタ(遅延時間)、ネットワーク状態(混雑状態、閑散状態)を取得し、取得したデータを用いてニューラルネットワークの学習に利用してもよい。
【0052】
ニューラルネットワークから出力される状態指標として、例えば、時間帯、トラヒック量、同時接続端末数などの混雑の程度を示す指標などが考えられる。また、状態指標を、バッファサイズの最適化に適用する場合、受信バッファ23はネットワークの状態に応じた最小の待ち時間に影響するため、状態指標には、予測される最大のジッタ、現在の状態(混雑状態あるいは閑散状態等)の持続可能性なども挙げられる。現在の状態の持続可能性は、状態遷移が発生する可能性・確率を意味する。
【0053】
バッファサイズの最適化により伝送制御を行う場合、バッファ推定部26は、ネットワーク推定部25から状態指標を受け取り、状態指標を用いて最適なバッファサイズを決定する。制御部27は、決定したバッファサイズで受信バッファ23を更新する(S13)。
【0054】
バッファ推定部26は、受信バッファ23からの観測値をフィードバックしてバッファサイズを決定してもよい。フィードバック制御の場合、バッファ推定部26は、受信バッファ23から出力される観測値を取得し、観測値または観測値から推定される受信バッファ23の推定値と、状態指標との乖離(差分)を用いてバッファサイズを決定してもよい。観測値は、例えば、実際の最大ジッタ、バッファの埋まり具合、パケットロスの発生有無などである。
【0055】
具体的には、バッファ推定部26は、観測値である実際の最大ジッタと、状態指標の最大ジッタとの乖離を算出し、算出した乖離に基づいてバッファサイズを決定してもよい。また、バッファ推定部26は、観測値のバッファの埋まり具合、パケットロスの発生などから状態遷移が発生したか否かを推定し、バッファサイズを実際のネットワークの経路に合わせて調整し、バッファサイズの制御精度を向上させてもよい。
【0056】
また、バッファ推定部26は、強化学習により生成したニューラルネットワーク(学習モデル)を利用してバッファサイズを決定してもよい。具体的には、バッファ推定部26は、ネットワーク推定部25から出力される状態指標を、ニューラルネットワークに入力して、ニューラルネットワークが出力するバッファサイズを、受信バッファ23のサイズとして決定してもよい。
【0057】
ニューラルネットワークは、ネットワークの特定の経路に対して実際に運用した受信バッファ23の観測値(実運用データ)を用いて、最適な受信バッファのサイズが出力されるように学習する。この場合、重みの学習については、バッファ推定部26など受信装置2内で一定期間に学習してもよい。あるいは、受信装置2内ではデータ収集のみを行い、収集したデータを受信装置2外の装置に設置した学習部253に伝送し、更新された重みを受信装置2に戻してバッファ推定部26が備えるニューラルネットワークを更新してもよい。
【0058】
バッファ推定部26は、上記以外でも、ネットワーク推定部25から出力される状態指標に応じて、段階的なバッファサイズを決定してもよい。具体的には、状態指標に対する閾値を設定し、状態に応じた段階的なバッファサイズ設定をしてもよい。
【0059】
図4は、本実施形態の伝送システムの処理を示すシーケンス図である。
【0060】
送信装置1は、パケットを受信装置2に送信する(S21)。送信装置1は、パケットの送信間隔をネットワーク推定部25に送信する(S22)。
【0061】
受信装置2は、パケットの到着時間をネットワーク推定部25に送信する(S23)。ネットワーク推定部25は、送信間隔と、到着時刻とを用いてジッタパターン系列を算出し、ジッタパターン系列を学習モデルに入力することでネットワークの状態指標を取得し、状態指標をバッファ推定部26に出力する(S24)。
【0062】
バッファ推定部26は、状態指標を用いて受信バッファ23のバッファサイズを決定し、当該バッファサイズを制御部27に出力する(S25)。制御部27は、バッファ推定部26から出力されたバッファサイズで受信バッファ23を更新する(S26)。再生部24は、更新された受信バッファ23に格納されたパケットを映像として再生する(S27)。
【0063】
図5は、第1の実施形態の変形例の伝送システムの構成例を示す。本変形例では、ネットワーク推定部25は、受信装置2ではなく、外部装置3が備える。その他については、第1の実施形態と同様である。
【0064】
<第2の実施形態>
図6は、第2の実施形態の伝送システムの構成例を示すシステム構成図である。本実施形態では、送信装置1Aが送信するパケットの送信間隔が、特定の規則に則っていなく、動的に変動する未知の場合の伝送システムである。この場合、送信装置1Aおよび受信装置2Aがパケットキャプチャを行う。本実施形態においても、送信装置1Aと受信装置2Aの時刻同期を行う必要はない。
【0065】
図示す本実施形態の伝送システムは、送信装置1Aと受信装置2Aとを備え、送信装置1Aと受信装置2Aとはネットワークを介して接続されている。本実施形態の送信装置1Aは、パケットキャプチャ14を備える点で第1の実施形態と異なり、その他は第1の実施形態の送信装置1と同様である。パケットキャプチャ14は、ネットワークインタフェース13から送出されるネットワークパケットを採取して、当該ネットワークパケットの送出時間(送出時刻)をネットワーク推定部25に送信する。
【0066】
受信装置2Aでは、ネットワーク推定部25A(算出部)が、送信装置1から複数のネットワークパケットのそれぞれの送出時間を収集し、連続するネットワークパケットの送出時間の差分を、送信間隔として算出する点において第1の実施形態と異なり、その他は第1の実施形態の受信装置2と同様である。本実施形態のネットワーク推定部25Aも、
図2に示すように算出部251と、生成部252と、学習部253と、学習モデル254とを備える。
【0067】
本実施形態では、送信装置1Aのパケット送出時間系列Tobserved(k)は、固定の送信間隔を持たない。ネットワーク推定部25に送信される送信側の情報は、パケットキャプチャ14により得られたパケットの送出時間である。
【0068】
また、系列Tobserved(k)は、第1の実施形態のように、先頭パケットのタイムスタンプ、マーカー情報を付与することでフレーム単位としてよい。あるいは特定のパケット数を設定し、任意のパケットを先頭とし、そこから設定したパケット数分を1系列として処理してもよい。kは1系列におけるRTPパケットのインデックスで、1系列に含まれるRTPパケット数をNとすると、0 ≦ k ≦ N-1である。
【0069】
このとき、k番目パケットと(k-1)番目パケットにおけるパケット送出間隔系列(送信間隔)は、以下のとおりである。
【0070】
ΔTobserved(k) = Tobserved(k)-Tobserved(k-1)
ネットワーク推定部25Aは、このパケット送出間隔系列ΔTobserved(k)を算出する。ΔTobserved(k)は、ネットワークの状態推定を行うタイミングで、必要なデータ数がネットワーク推定部25Aに存在できるようにする。送信装置1Aによる送出時間の送信タイミングとしては、パケット伝送時に付与情報として送信する、1~数系列を送り終えた段階でまとめて送信するなどが考えられる。
【0071】
受信装置2側のパケット到着時刻系列を、第1の実施形態と同様にΔTRX(k)とすると、パケット到着間隔は、以下の通りである。
【0072】
ΔTRX(k) = TRX(k)-TRX(k-1)
そのため、本実施形態のジッタパターンは、以下のとおりである。
【0073】
J2(k)=(TRX(k)-Tobserved(k))-(TRX(k-1)-Tobserved(k-1))
=(TRX(k)-TRX(k-1))-(Tobserved(k)-Tobserved(k-1))
=ΔTRX(k)- ΔTobserved(k)
ΔTRX(k)およびΔTobserved(k)は、ともに送信装置1Aおよび受信装置2Aにおける相対時間差であるので、本実施形態についても、送信装置1Aと受信装置2Aの間における時刻同期の必要ないことがわかる。
【0074】
ネットワーク推定部25Aは、複数のパケット分について、上記の計算を実施し、時系列なジッタパターン系列を生成する。そして、ネットワーク推定部25Aは、第1の実施形態と同様に、ジッタパターン系列を学習モデルに入力して状態指標を出力する。
【0075】
その他については第1の実施形態と同様であるため、ここでは説明を省略する。
【0076】
図7は、第2の実施形態の変形例の伝送システムの構成例を示す。本変形例では、ネットワーク推定部25は、受信装置2ではなく、外部装置3が備える。その他については、第2の実施形態と同様である。
【0077】
以上説明した第1および第2の実施形態の伝送システムは、送信装置1、1Aがネットワークを介して送信する複数のパケットの送信間隔と、前記パケットが受信装置2、2Aにそれぞれ到着した到着時間の差分とを用いて、前記パケットのジッタパターン系列を算出する算出部251と、前記ジッタパターン系列を学習モデル254に入力して、前記ネットワークの状態を示す状態指標を生成する生成部252と、前記状態指標に基づいて受信装置2、2Bの受信バッファ23のバッファサイズを決定するバッファ推定部26と、を有する。
【0078】
これにより、本実施形態では、ネットワークの状態に応じて、伝送性能を向上させることができる。具体的には、ネットワークの状態に応じて、バッファサイズを最適化し、待ち時間を変化させることで、混雑状態のオーバーフローの発生を抑止し、安定状態での低遅延な伝送を可能とすることができる。
【0079】
また、本実施形態では、ネットワーク推定部25、25Aが、送信装置1、1Aおよび受信装置2、2Aにおけるパケットの送信間隔及び到着間隔を取得し、遅延時間差の変動であるジッタパターンを学習モデルに入力し、伝送時に取得できる伝送情報からネットワークの状態を推定し指標化する。これにより、本実施形態では、ユーザがネットワーク全体の情報を得られない場合でも、送信装置1が送信間隔を伝送データと合わせて伝送することで、本実施形態の伝送システムが利用可能となる。
【0080】
また、ジッタパターンは、絶対時間ではなく、各装置1、1A、2、2Bにおける相対時間により計算可能であるため、送信装置1、1Aおよび受信装置2、2Aとで時刻同期がなされていなくても利用可能である。
【0081】
また、ネットワーク推定部25、25Aは、受信装置2、2A内に組み込む形態としてもよく、あるいは、外部装置3に組み込む形態としてもよい。前者では、送信装置1、1Aより伝送される送信間隔の取得以外は、受信装置2内で完結することができ、安定性の向上が期待できる。一方、後者では、ネットワークの状態指標の生成を外部で行うため、受信装置2、2Aの演算器性能に対する依存性が減り、本実施形態の伝送システムの利用範囲の拡大が期待できる。また、後者では、マルチキャストなど複数端末の経路情報を統合して処理するなどの拡張性も期待できる。
【0082】
本実施形態では、ネットワークの状態指標を用いてバッファサイズの最適化を行うため、一定の大きなバッファサイズを設定する必要がなくなり、ネットワークの安定状態においては、低遅延化を実現することができる。一方、安定状態に合わせた伝送を行っている場合に混雑状態へと変化した場合でも、映像を乱れさせることなくバッファサイズを制御することが可能となる。
【0083】
本実施形態では、フィードバック制御または強化学習によりバッファサイズを最適化する。演算器性能が高い装置の場合には、フィードバック制御によるリアルタイムで柔軟性の高い最適化を行い、演算性能の低い機器では実利用を通してサンプリングしたデータから強化学習し経路にあった重みを得て利用するなど、機器性能を考慮して処理を選択することができ、様々な機器での利用が期待できる。
【0084】
他のバッファサイズの制御として、ネットワークの状態指標に対する閾値を設定し、状態に応じた段階的なバッファサイズ設定をしてもよい。
【0085】
上記説明した送信装置1、1A、受信装置2、2Aおよび外部装置3には、例えば、
図8に示すような汎用的なコンピュータシステムを用いることができる。図示するコンピュータシステムは、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ903(HDD:Hard Disk Drive、SSD:Solid State Drive)と、通信装置904と、入力装置905と、出力装置906とを備える。メモリ902およびストレージ903は、記憶装置である。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、送信装置1、1Aおよび受信装置2、2Aの各機能は、送信装置用のプログラムの場合は送信装置1、1AのCPUが、受信装置用のプログラムの場合は受信装置2、2AのCPUが、それぞれ実行することにより実現される。
【0086】
また、これらの装置1、1A、2、2B、3は、1つのコンピュータで実装されてもよく、あるいは複数のコンピュータで実装されても良い。また、これらの装置1、1A、2、2B、3は、コンピュータに実装される仮想マシンであっても良い。送信装置用のプログラム、受信装置用のプログラム、外部装置用のプログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD (Compact Disc)、DVD (Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。
【0087】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【0088】
例えば、上記実施形態では、受信バッファ23のバッファサイズを最適化することで伝送を制御したが、これ以外の伝送制御を行ってもよい。例えば、冗長化伝送、誤り訂正符号の導入などが考えられる。この場合、ネットワーク推定部25から出力される状態指標は、受信装置2ではなく、送信装置1に伝送される。送信装置1は、状態指標に基づいて、冗長化伝送の有無を決定する、または、誤り訂正符号化方式を決定し、決定した内容で送信装置1を制御のための制御情報を生成する制御部を備える。さらに、制御部は、冗長化伝送のための経路を選択してもよく、また、高い誤り率に対応できる符号化方式の採用を決定してもよい。冗長化伝送により伝送の安定性を向上することができる。この場合、ネットワーク状態推定部25は、送信装置1側に備えられていてもよい。また、伝送制御として、状態指標から推定されるネットワークの状態が悪い場合に、アラートを出力する制御部を備えてもよい。
【符号の説明】
【0089】
1 :送信装置
11:パケット生成部
12:送信バッファ
13:ネットワークインタフェース
14:パケットキャプチャ
2 :受信装置
21:パケットキャプチャ
22:ネットワークインタフェース
23:受信バッファ
24:再生部
25:ネットワーク推定部
251:算出部
252:生成部
253:学習部
254:学習モデル(ニューラルネットワーク)
26:バッファ推定部
27:制御部