(57)【要約】  データを低遅延かつ高品質に伝送するため、本発明の送信装置は、未知関数として設定された初期の送信レートを用いて受信装置にデータを送信する際のスループットを推定し、データのデータサイズと初期の送信レートとを用いて受信装置にデータを送信し終えるまでの送信完了時間を計算し、スループットとデータサイズと初期の送信レートとに基づいて通信回路網内におけるデータのロス率を計算し、送信完了時間とロス率とを含むコスト関数を最小化する最適化問題を解くことによって最適な送信レートを算出する送信レート決定手段と、最適な送信レートにしたがってデータを送信するデータ送信手段とを備える。
2015107898.tif 000002
【特許請求の範囲】
【請求項１】
通信回路網を介して受信装置にデータを送信する送信装置であって、
未知関数として設定された初期の送信レートを用いて前記受信装置に前記データを送信する際のスループットを推定し、前記データのデータサイズと前記初期の送信レートとを用いて前記受信装置に前記データを送信し終えるまでの送信完了時間を計算し、前記スループットと前記データサイズと前記初期の送信レートとに基づいて前記通信回路網内における前記データのロス率を計算し、前記送信完了時間と前記ロス率とを含むコスト関数を最小化する最適化問題を解くことによって最適な送信レートを算出する送信レート決定手段と、
前記最適な送信レートにしたがって前記データを送信するデータ送信手段とを備えることを特徴とする送信装置。
【請求項２】
前記送信レート決定手段は、
力学モデルのモデルパラメータに基づいて、前記力学モデルへの入力を送信レートとおき、前記力学モデルからの出力をスループットとおくことによって前記スループットを推定する請求項１に記載の送信装置。
【請求項３】
前記送信レート決定手段は、
前記力学モデルとして粘性要素と弾性要素とを含む粘弾性体モデルを用いる請求項２に記載の送信装置。
【請求項４】
前記送信レート決定手段は、
前記送信完了時間と前記ロス率とを含み、前記送信完了時間および前記ロス率に対して単調非減少である関数を前記コスト関数として用いることを特徴とする請求項１乃至３のいずれか一項に記載の送信装置。
【請求項５】
前記送信レート決定手段は、
前記初期の送信レートの解空間を限定することによって前記最適な送信レートを算出する請求項１乃至４のいずれか一項に記載の送信装置。
【請求項６】
前記送信レート決定手段は、
前記初期の送信レートを用いて前記受信装置に前記データを送信する際のスループットを推定するスループット推定手段と、
前記データのデータサイズと前記初期の送信レートとを用いて前記受信装置に前記データを送信し終えるまでに費やす送信完了時間を計算する送信完了時間計算手段と、
前記スループットと前記データサイズと前記初期の送信レートとに基づいて前記通信回路網内における前記データのロス率を計算するロス率計算手段と、
前記送信完了時間と前記ロス率とを含むコスト関数を最小化する最適化問題を解くことによって前記最適な送信レートを算出する最適化問題解決手段とを有する請求項１乃至５のいずれか一項に記載の送信装置。
【請求項７】
前記スループット推定手段は、
第１の固定部と、前記第１の固定部の一方の面上に配置された前記弾性要素および前記粘性要素と、前記弾性要素と前記粘性要素とによって支持された可動部と、前記可動部と対面する第２の固定部とによって構成される力学モデルにおいて、
前記第２の固定部と前記可動部との間への入力を送信レート、前記送信レートを変数とする関数の大きさの力が前記可動部に加わった際の前記第２の固定部と前記可動部との距離をスループットとおき、
2015107898.tif 000018
ただし、
Ｄ：粘性係数
Ｋ：弾性係数
ｕ：送信レート
ｖ：スループット
ｆ（ｕ）：送信レートｕにおいて可動部に加わる力
ｔ：時間
なる微分方程式を解くことによって前記スループットを推定する請求項６に記載の送信装置。
【請求項８】
前記最適化問題解決手段は、
前記コスト関数として、
Ｊ＝（１−λ）Ｔ＋λＬ
ただし、
Ｊ：コスト関数
λ：定数（０≦λ＜１）
Ｔ：送信完了時間
Ｌ：ロス率
なる式を用いる請求項６または７に記載の送信装置。
【請求項９】
通信回路網を介して受信装置にデータを送信する送信方法であって、
未知関数として設定された初期の送信レートを用いて前記受信装置に前記データを送信する際のスループットを推定し、
前記データのデータサイズと前記初期の送信レートとを用いて前記受信装置に前記データを送信し終えるまでの送信完了時間を計算し、
前記スループットと前記データサイズと前記初期の送信レートとに基づいて前記通信回路網内における前記データのロス率を計算し、
前記送信完了時間と前記ロス率とを含むコスト関数を最小化する最適化問題を解くことによって最適な送信レートを算出し、
前記最適な送信レートにしたがって前記データを送信することを特徴とする送信方法。
【請求項１０】
通信回路網を介して受信装置にデータを送信する送信プログラムであって、
未知関数として設定された初期の送信レートを用いて前記受信装置に前記データを送信する際のスループットを推定する処理と、
前記データのデータサイズと前記初期の送信レートとを用いて前記受信装置に前記データを送信し終えるまでの送信完了時間を計算する処理と、
前記スループットと前記データサイズと前記初期の送信レートとに基づいて前記通信回路網内における前記データのロス率を計算する処理と、
前記送信完了時間と前記ロス率とを含むコスト関数を最小化する最適化問題を解くことによって最適な送信レートを算出する処理と、
前記最適な送信レートにしたがって前記データを送信する処理とをコンピュータに実行させることを特徴とする送信プログラムを記録するプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置、送信方法およびプログラム記録媒体に関する。特に、フレームデータなどの大容量のデータを送信する送信装置、送信方法および送信プログラムを記録するプログラム記録媒体に関する。
【背景技術】
【０００２】
ベストエフォート型のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワークを介して、シンクライアントシステムにおける画面伝送やビデオ会議システムにおける映像伝送を実施する場合、伝送に要する遅延を小さくすることが求められる。そのため、インターネットやモバイルネットワークなどのベストエフォート型のＩＰネットワークを介して大容量データを伝送する際には、トランスポート層のプロトコルとしてＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）が用いられることが多い。なお、ベストエフォート型のＩＰネットワークとしては、インターネットやモバイルネットワークなどがある。【０００３】
しかしながら、画面データ（以下、フレームデータ）のようにサイズの大きなデータをＵＤＰにて送信すると、ネットワーク内で輻輳を引き起こし、データロス（パケットロス）が発生するという問題点がある。【０００４】
この問題点を解決する技術が特許文献１に開示されている。【０００５】
特許文献１には、フレームデータのビットレート（単位再生時間あたりのフレームデータサイズ）を調整することによって、フレームデータ送信時にネットワークの輻輳によるパケットロスを回避する技術（以下、レート制御技術と呼ぶ）が開示されている。レート制御技術は、単位時間あたりに生成される平均的なフレームデータサイズを調整する技術である。【０００６】
一方、実際のフレームデータは、フレームデータ自身のフレームレート（単位時間あたりに生成される画面数）に従って生成される。そのため、図１０に示すように、レート制御によって、長期的な時間間隔においては平均送信レートが制御されるが、フレーム単位の短期的な時間間隔では瞬時的な送信レートは大きくなる。その結果、レート制御によって、瞬時的なネットワークの輻輳が引き起こされることがある。特に、動きに大きな変化があったときの画面やイントラフレームの生成時には、送信すべきフレームデータサイズが大きくなり、瞬時的な送信レートも大きくなる。なお、イントラフレームとは、前後のフレームの情報を基にしたフレーム間予測を用いずに符号化されたフレームデータのことを意味する。一般的に、イントラフレームは、前後のフレームの情報を基にしたフレーム間予測を用いて符号化されたフレームデータと比較してデータサイズが大きい。【０００７】
特許文献１における瞬時的な送信レート増加という問題点を解決する技術が特許文献２に開示されている。【０００８】
特許文献２には、ネットワークのバッファの入出力を監視し、当該バッファが溢れないように送信レートに上限を設けることで、瞬時的なネットワークの輻輳を回避するパケットシェーピングに関する技術が開示されている。図１０の送信レートの例に対して、パケットシェーピングを施す例を図１１に示す。図１１の例によれば、送信レートが設定された上限を超えないように送信されるため、サイズが大きなフレームは送信完了までに多くの時間を要することになる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００３−２４４６９５号公報
【特許文献２】特開２００３−４６５５５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述した特許文献２のパケットシェーピングにおいては以下のような問題点がある。【００１１】
第一の問題点は、パケットシェーピングは、シンクライアントシステムやビデオ会議システムなどエンドホストのアプリケーションで実現されるシステムには適用できないということである。その理由は、ネットワークのバッファ量を監視する必要があるためである。【００１２】
第二の問題点は、バッファを監視せずに上限を設定する場合、その設定値によって画面伝送のシステムに大きな影響を与えるということである。すなわち、当該上限が大きすぎれば輻輳を回避することができない一方で、当該上限が低すぎればフレームデータを送信完了するまでに時間を要することになる。【００１３】
本発明の目的は、応答性とメディア品質の双方を高めることができるビットレート制御を実行する送信装置、送信方法および送信プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
本発明の送信装置は、通信回路網を介して受信装置にデータを送信する送信装置であって、未知関数として設定された初期の送信レートを用いて受信装置にデータを送信する際のスループットを推定し、データのデータサイズと初期の送信レートとを用いて受信装置にデータを送信し終えるまでの送信完了時間を計算し、スループットとデータサイズと初期の送信レートとに基づいて通信回路網内におけるデータのロス率を計算し、送信完了時間とロス率とを含むコスト関数を最小化する最適化問題を解くことによって最適な送信レートを算出する送信レート決定手段と、最適な送信レートにしたがってデータを送信するデータ送信手段とを備える。【００１５】
本発明の送信方法は、通信回路網を介して受信装置にデータを送信する送信方法であって、未知関数として設定された初期の送信レートを用いて受信装置にデータを送信する際のスループットを推定し、データのデータサイズと初期の送信レートとを用いて受信装置にデータを送信し終えるまでの送信完了時間を計算し、スループットとデータサイズと初期の送信レートとに基づいて通信回路網内におけるデータのロス率を計算し、送信完了時間とロス率とを含むコスト関数を最小化する最適化問題を解くことによって最適な送信レートを算出し、最適な送信レートにしたがってデータを送信する。【００１６】
本発明のプログラムは、通信回路網を介して受信装置にデータを送信する送信プログラムであって、未知関数として設定された初期の送信レートを用いて受信装置にデータを送信する際のスループットを推定する処理と、データのデータサイズと初期の送信レートとを用いて受信装置にデータを送信し終えるまでの送信完了時間を計算する処理と、スループットとデータサイズと初期の送信レートとに基づいて通信回路網内におけるデータのロス率を計算する処理と、送信完了時間とロス率とを含むコスト関数を最小化する最適化問題を解くことによって最適な送信レートを算出する処理と、最適な送信レートにしたがってデータを送信する処理とをコンピュータに実行させる。
【発明の効果】
【００１７】
本発明によれば、遅延が小さくかつロスが少ないデータ伝送を実現することによって、応答性とメディア品質の双方を高めることができるビットレート制御を実行する送信装置、送受信システム、送信方法および送信プログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る送信装置を含む送受信システムの概略構成を示すブロック図である。
【図２】本発明の実施形態に係る送信装置の機能構成を示すブロック図である。
【図３】本発明の実施形態に係る送信レート決定手段の機能構成を示すブロック図である。
【図４】本発明の実施形態の変形例に係る送信レート決定手段の機能構成を示すブロック図である。
【図５】本発明の実施形態に係る送信装置の内部機能を説明するための概念図である。
【図６】本発明の実施形態に係る送信レート決定手段の動作を説明するためのフローチャートである。
【図７】本発明の実施形態に係る送信装置におけるスループット推定に用いる力学モデルの概念図である。
【図８】本発明の実施形態に係る送信装置の送信完了時間計算手段が計算する送信完了時間と、ロス率計算手段が計算するロス率の一例を示すグラフである。
【図９】本発明の実施形態に係る送信装置におけるコスト関数値およびコスト関数の微分値の一例を示すグラフである。
【図１０】フレームデータ生成時に発生する瞬時的な送信レートを説明するための概念図である。
【図１１】パケットシェーピングを施す場合の送信レートを説明するための概念図である。
【発明を実施するための形態】
【００１９】
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
【００２０】
図１に示すように、本発明の実施形態に係る送信装置を含む送受信システムは、送信装置１と、受信装置２とを含む。送信装置１と受信装置２とは、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）網を構成する通信回路網３（ネットワークとも呼ぶ）を介して、互いに通信可能に接続されている。なお、本実施形態に係る送受信システムの構成に通信回路網３を含めてもよい。
【００２１】
また、以下においては、データとしてフレームデータを用いる例について説明しているが、本実施形態の手法は、フレームデータに限らずに一般的なデータ全般に適用することができる。特に、本実施形態の手法は、フレームデータのように、データ生成時に瞬時的に送信レートを設定する必要があるデータに好適である。
【００２２】
（送信装置）
本実施形態に係る送信装置１は、通信回路網３を介して受信装置にデータを送信する送信装置である。
【００２３】
送信装置１は、生成されたデータの初期の送信レートを設定し、初期の送信レートを用いて受信装置にデータを送信する際のスループットを推定する。また、送信装置１は、データのデータサイズと初期の送信レートとを用いて受信装置にデータを送信し終えるまでに費やす送信完了時間を計算する。そして、送信装置１は、スループット推定値とデータサイズと初期の送信レートとに基づいて通信回路網３内におけるデータのロス率を計算する。さらに、送信装置１は、送信完了時間とロス率とを含むコスト関数を最小化する最適化問題を解くことによって最適な送信レートを算出し、算出した最適な送信レートにしたがってデータを送信する。
【００２４】
送信装置１は、図示しない中央演算処理装置（以下、ＣＰＵ）やメモリなどの主記憶装置、ハードディスクなどの補助記憶装置、通信装置などを含むハードウェア構成の情報処理装置として実現される（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｃｅｓｓｉｎｇ  Ｕｎｉｔ）。送信装置１は、主記憶装置に展開されたプログラムをＣＰＵによって実行することによって、本実施形態の機能を実現するように構成される。なお、本実施形態で使用するプログラムは、補助記憶装置に記憶されていてもよいし、通信回路網３を通じてアクセスできる外部の記憶装置から取得するようにしてもよい。
【００２５】
例えば、送信装置１は、一般的なコンピュータやサーバ装置などの情報処理装置として構成することができる。なお、送信装置１は、携帯電話やスマートフォンなどの携帯端末、カーナビゲーション端末、ゲーム端末などにデータを送信する送信端末として構成してもよい。
【００２６】
（受信装置）
受信装置２は、図示しないＣＰＵや主記憶装置、補助記憶装置、通信装置などを含む一般的なハードウェア構成をもつ情報処理装置として実現される。また、受信装置２は、受信したデータを表示するための画面などの出力装置、データを入力するためのキーボードやマウスなどの入力装置を有する。受信装置２は、主記憶装置に展開されたプログラムをＣＰＵによって実行することによって、種々のアプリケーションを実行することができる。
【００２７】
例えば、受信装置２は、デスクトップ型やノート型、タブレット型などのコンピュータとして構成することができる。また、受信装置２は、携帯電話やスマートフォンなどの携帯端末、カーナビゲーション端末、ゲーム端末などといった受信端末として構成してもよい。
【００２８】
以下、本発明の実施形態に係る送信装置の機能構成・動作・効果等について図面を参照しながら説明する。
【００２９】
（構成）
まず、本発明の第１の実施形態に係る送信装置１について詳細に説明する。
【００３０】
図２は、本実施形態に係る送信装置１の機能構成を示すブロック図である。本実施形態に係る送信装置１は、送信レート決定手段１０と、データ送信手段２０とを備える。
【００３１】
［送信レート決定手段］
送信レート決定手段１０は、あるフレームデータが生成されたときに、当該フレームデータを送信する際の送信レート（単位時間あたりに送信するデータサイズ）を決定する。これ以降、フレームデータのデータサイズをＳと記載し、当該フレームデータが生成された時刻をｔ＝０とする。このとき、未知関数ｕ（ｔ）から、遅延が小さくかつロスが少なくなる最適な送信レートｕ*（ｔ）を求めることが送信レート決定手段１０の役割となる。また、生成されたフレームデータに初めに設定する送信レートを初期の送信レートと呼ぶ。
【００３２】
送信レート決定手段１０は、初期の送信レートｕ（ｔ）として、時刻ｔについての未知関数を用いる。なお、周期的にフレームデータを送信するのであれば、既に算出されていた最適な送信レートＵ（ｔ）を初期の送信レートｕ（ｔ）として用いてもよい。これ以降、初期の送信レートｕ（ｔ）を、単に送信レートｕ（ｔ）と記載する。
【００３３】
ここで、送信レート決定手段１０の機能構成について図面を参照しながら詳細に説明する。
【００３４】
図３は、本実施形態に係る送信レート決定手段１０の機能構成を示すブロック図である。本実施形態に係る送信レート決定手段１０は、スループット推定手段１１と、送信完了時間計算手段１２と、ロス率計算手段１３と、最適化問題解決手段１４とを有する。
【００３５】
［スループット推定手段］
スループット推定手段１１は、送信装置１から通信回路網３を経由して受信装置２へとデータを送信したときのスループットを推定する。なお、スループットとは、単位時間あたりに送信装置１から受信装置２へと損失せずに送り届けることができたデータのデータサイズを意味する。
【００３６】
例えば、送信装置１が１秒間（単位時間）に１０Ｍｂｙｔｅのデータを送信し、そのうち２Ｍｂｙｔｅが通信回路網３において損失し、残りの８Ｍｂｙｔｅが受信装置２に受信されたとする。このとき、送信レートは１０Ｍｂｙｔｅ／ｓｅｃ、スループットは８Ｍｂｙｔｅ／ｓｅｃとなる。換言すれば、スループットとは、通信回路網３を通過可能なデータ量である。
【００３７】
実際には、送信レートは、固定値ではなくて時間変化する関数ｕ（ｔ）として記述できる。スループット推定手段１１の役割は、送信レートｕ（ｔ）が与えられたときにスループットｖ（ｔ）を推定することである。
【００３８】
例えば、国際公開第２００９−２８２６１７号（関連文献）には、入力を送信レートｕ（ｔ）、出力をスループットｖ（ｔ）としたシステムを考えた場合、当該システムがダイナミカルシステム（力学モデル）となることが開示されている。そして、関連文献において、ダイナミカルシステムは粘弾性体によって高精度にモデリング可能であることが示されている。なお、粘弾性体とは、粘性と弾性を有する物質であり、例えばゴムなどの材料のことをいう。
【００３９】
ここで、ダイナミカルシステムについて図７を参照して説明する。本実施形態においては、粘弾性体モデルを用いたダイナミカルシステムを適用する。
【００４０】
図７は、ある送信レートｕ（ｔ）で通信回路網３にデータを送信した場合の送信レートとスループットｖ（ｔ）との関係を粘弾性体モデルによって記述した模式図である。
【００４１】
図７の粘弾性体モデルでは、ばね３２（弾性要素）とダンパ３３（粘性要素）が、床３１（第１の固定部）の上で板３４（可動部）を支えている。そして、天井３５（第２の固定部）から板３４（可動部）までの距離ｖ（ｔ）がデータの通過可能量、すなわちスループットに相当すると考える。
【００４２】
また、入力された送信レートｕ（ｔ）を変数とする関数ｆ（ｕ）の大きさの力によって、板（可動部）を下に押し付けるものとする。板３４（可動部）は、力ｆ（ｕ）、ばね３２（弾性要素）およびダンパ３３（粘性要素）から受ける力によって上下することになる。なお、板３４（可動部）は、ｆ＝０のとき、天井（第２の固定部）からの距離ｖ＝０にて平衡状態（静止状態）となるとする。
【００４３】
以上の粘弾性体モデルを考えるとき、送信レートｕ（ｔ）とスループットｖ（ｔ）との関係は、以下の式１の微分方程式によって線形微分方程式モデルとして記述することができる。ただし、式１において、Ｄは粘性係数、Ｋは弾性係数である。
2015107898.tif 000003
【００４４】
スループット推定手段１１は、式１の微分方程式を解くことによって、任意のｕ（ｔ）に対するスループットｖ（ｔ）を推定することができる。粘性係数Ｄが０ではない定数であり、かつ弾性係数Ｋが定数であるとき、式１の一般解は式２のようになる。式２に示したｖ（ｔ）がスループットの推定値である。
2015107898.tif 000004
【００４５】
ただし、式２において、粘性係数Ｄおよび弾性係数Ｋは、あらかじめ推定しておく必要がある。具体的には、送信装置１において適当な送信レートｕ（ｔ）で実際にデータを送信し、受信装置２でスループットｖ（ｔ）を計測しておく。そして、これらのｕ（ｔ）とｖ（ｔ）とから、例えば最小二乗推定法などを適用することによって粘性係数Ｄと弾性係数Ｋを推定することができる。
【００４６】
推定された粘性係数Ｄおよび弾性係数Ｋは、例えば図４の変形例に示す粘弾性体モデル記憶手段１５に格納することができる。粘弾性体モデル記憶手段１５は、例えば主記憶装置の領域に割り当ててもよいし、図示しないＣＰＵの中のレジスタに割り当ててもよい。また、スループット推定手段１１をＣＰＵとして実現する場合は、スループット推定手段１１を実現するＣＰＵのレジスタに、推定された粘性係数Ｄおよび弾性係数Ｋを記憶するようにしてもよい。
【００４７】
なお、上述の説明においては、粘弾性体モデルとして、弾性要素と粘性要素がそれぞれ１つずつ並列になっているＫｅｌｖｉｎ−Ｖｏｉｇｔモデルを例に挙げたが、例えば標準線形固体モデルなどの異なる粘弾性体モデルを用いても良い。また、複数の弾性要素および粘性要素を任意に組み合わせた粘弾性体モデルを用いてもよい。
【００４８】
すなわち、スループット推定手段１１は、ある送信レートｕ（ｔ）が与えられると、あらかじめ推定された粘性係数Ｄおよび弾性係数Ｋを用いて式１の微分方程式を解き、式２で表されるスループットｖ（ｔ）を推定する。
【００４９】
そして、スループット推定手段１１は、推定したスループット推定値ｖ（ｔ）をロス率計算手段１３に対して出力する。
【００５０】
［送信完了時間計算手段］
送信完了時間計算手段１２は、データサイズがＳのフレームデータを送信レートｕ（ｔ）にて送信した場合における当該フレームデータを送信完了するまでに要する時間Ｔを計算する。
【００５１】
時刻ｔ＝０からｔ＝Ｔまで、送信レートｕ（ｔ）で送信したときのトータル送信データ量がＳであることから式３の関係式が成り立つ。
2015107898.tif 000005
【００５２】
ここで、ｕ（ｔ）を、ｔ≧０においてｕ（ｔ）＞０かつ有界であると仮定した場合、式４で表されるｕ（ｔ）の原始関数Ｕ（ｔ）が存在する。
2015107898.tif 000006
【００５３】
このＵ（ｔ）は、ｔ≧０において連続かつ狭義単調増加関数となるため、区間［０、ｓｕｐＵ）において逆関数が存在し、送信完了時間Ｔは式５で記述できる。
2015107898.tif 000007
【００５４】
すなわち、送信完了時間計算手段１２は、式５を解くことによって、データサイズをＳとするフレームデータの送信完了時間Ｔを算出する。なお、送信完了時間計算手段１２によって算出される送信完了時間Ｔは、未知関数ｕ（ｔ）を引数とする汎関数となる。
【００５５】
そして、送信完了時間計算手段１２は、算出した送信完了時間Ｔを出力する。
【００５６】
［ロス率計算手段］
ロス率計算手段１３は、データサイズがＳのフレームデータを送信レートｕ（ｔ）にて送信した場合に、通信回路網３においてロスするフレームデータの割合であるロス率Ｌ（０≦Ｌ≦１）を計算する。
【００５７】
フレームデータのうち、ロスする分量をＳLとすると、当該ＳLは、送信レートに対するスループットの不足分に起因するため、式６にて計算できる。
2015107898.tif 000008
【００５８】
ここで、式６の右辺のｖ（ｔ）は式２で計算された式を代入すればよいので、ロス率Ｌは以下の式７によって計算できる。
2015107898.tif 000009
【００５９】
すなわち、ロス率計算手段１３は、スループット推定手段１１から取得したスループット推定値ｖ（ｔ）を代入した式７を解くことによって、データサイズがＳであるフレームデータのロス率Ｌを算出する。なお、ロス率計算手段１３によって算出されるロス率Ｌは、未知関数ｕ（ｔ）を引数とする汎関数となる。
【００６０】
そして、ロス率計算手段１３は、算出したロス率Ｌを出力する。
【００６１】
［最適化問題解決手段］
最適化問題解決手段１４は、送信完了時間計算手段１２が式５より算出した送信完了時間Ｔと、ロス率計算手段１３が式７より算出したロス率Ｌとに基づいて最適な送信レートｕ*（ｔ）を決定する。
【００６２】
ところで、本発明の実施形態においては、「遅延が小さく、かつロスが少ない」フレームデータ伝送を実現することを目的とする。すなわち「送信完了時間Ｔが小さく、かつロス率Ｌが小さい」条件を見つけることが目的となる。
【００６３】
しかしながら、送信完了時間Ｔを小さくすることと、ロス率Ｌを小さくすることとの間にはトレードオフの関係がある。そのため、送信完了時間Ｔとロス率Ｌの双方を独立に小さくすることができない。つまり、前述の「遅延が小さく、かつロスが少ない」という目的への到達度を評価するためには何らかの指標を設ける必要がある。
【００６４】
本実施形態においては、算出した送信完了時間Ｔとロス率Ｌとから構成されるコスト関数を定義し、当該コスト関数値を最小にする送信レートｕ*（ｔ）を最適な送信レートとみなすことにする。
【００６５】
すなわち、最適化問題解決手段１４は、送信完了時間Ｔとロス率Ｌとを含むコスト関数によって、トレードオフの関係にある送信時間Ｔとロス率との間の最適化問題を解決する。なお、最適化問題解決手段１４によって定義される具体的なコスト関数については、後ほど詳細に説明する。ただし、本実施形態で用いるコスト関数は、送信完了時間およびロス率に対して単調非減少であることが条件となる。
【００６６】
そして、最適化問題解決手段１４は、導出した最適な送信レートｕ*（ｔ）を出力する。最適化問題解決手段１４によって導出された最適な送信レートｕ*（ｔ）は、データ送信手段２０に入力される。
【００６７】
なお、最適な送信レートｕ*（ｔ）は、スループット推定手段１１および送信完了時間計算手段１２によって参照される構成としてもよい。
【００６８】
［データ送信手段］
データ送信手段２０は、送信レート決定手段１０によって導出された最適な送信レートｕ*（ｔ）を入力し、その最適な送信レートｕ*（ｔ）でフレームデータを送信する。
【００６９】
以上が、本発明の実施形態に係る送信装置１を含む送受信システムに関する説明である。
【００７０】
（構成要素同士の関係）
ここで、送信装置１の各構成要素間の有機的な結合関係について図を示して説明する。図５は、図３の送信レート決定手段１０に含まれる構成要素間の結合関係を有機的に示した概念図である。
【００７１】
スループット推定手段１１は、送信レートｕ（ｔ）を用いてスループットｖ（ｔ）を推定する。本実施形態においては、スループット推定手段１１は、設定された粘弾性体モデルにあらかじめ推定された粘性係数Ｄおよび弾性係数Ｋを当てはめてスループットｖ（ｔ）を推定する。スループット推定手段１１は、推定したスループットｖ（ｔ）を出力する。
【００７２】
送信完了時間計算手段１２は、送信しようとするフレームデータのデータサイズＳと送信レートｕ（ｔ）とを用いて送信完了時間Ｔを計算する。送信完了時間計算手段１２は、計算した送信完了時間Ｔを最適化問題解決手段１４に対して出力する。
【００７３】
ロス率計算手段１３は、スループット推定手段１１によって推定されたスループットｖ（ｔ）と、送信しようとするフレームデータのデータサイズＳと、送信レートｕ（ｔ）とを用いてロス率Ｌを計算する。ロス率計算手段１３は、計算したロス率Ｌを最適化問題解決手段１４に対して出力する。
【００７４】
最適化問題解決手段１４は、送信完了時間計算手段１２が計算した送信完了時間Ｔと、ロス率計算手段１３が計算したロス率Ｌとを用いてコスト関数を定義し、当該コスト関数値を最小にする送信レートｕ*（ｔ）を最適な送信レートとして出力する。
【００７５】
なお、最適化問題解決手段１４によって出力された最適な送信レートｕ*（ｔ）は、新たな送信レートｕ（ｔ）として設定されてもよい。その場合、新たな送信レートｕ（ｔ）は、データ送信手段２０に入力されるとともに、スループット推定手段１１および送信完了時間計算手段１２によって参照される構成とすればよい。
【００７６】
そして、データ送信手段２０は、最適な送信レートｕ*（ｔ）でフレームデータを送信する。
【００７７】
以上が、送信装置１の各構成要素間の有機的な結合関係についての説明である。
【００７８】
（動作）
次に、第１の実施形態に係る送信装置１の送信レート決定手段１０の動作について、図６のフローチャートを参照しながら説明する。なお、各構成要素の機能詳細については省略する。
【００７９】
スループット推定手段１１は、未知関数である送信レートｕ（ｔ）を用いて粘弾性体モデルの微分方程式を解き、フレームデータのスループットｖ（ｔ）を推定する(ステップＳ２０)。
【００８０】
送信完了時間計算手段１２は、送信レートｕ（ｔ）とフレームデータのデータサイズＳから、フレームデータの送信完了時間Ｔを計算する（ステップＳ３０）。
【００８１】
ロス率計算手段１３は、推定されたスループットｖ（ｔ）とフレームデータのデータサイズＳから、フレームデータのロス率Ｌを計算する（ステップＳ４０）
なお、図６においては、送信完了時間Ｔの計算（ステップＳ３０）とロス率Ｌの計算（ステップＳ４０）とがシリアルで実行されるように図示しているが、パラレルで実行されるようにしてもよい。
【００８２】
最適化問題解決手段１４は、送信完了時間Ｔとロス率Ｌとを用いてコスト関数を定義し、定義されたコスト関数を最小にする最適な送信レートｕ*（ｔ）を具体的な関数として導出する（ステップＳ５０）。
【００８３】
以上が、本実施形態に係る送信レート決定手段１０の動作についての説明である。
【００８４】
なお、導出された最適な送信レートを初期の送信レートに設定しなおし、上述の手順を繰り返すことによって送信レートを動的に制御することも可能となる。
【００８５】
（効果）
以上のように、本発明の実施形態に係る送信装置によれば、遅延が小さくかつロスが少ないデータ伝送を実現することが可能となる。その結果、応答性とメディア品質の双方を高めることができるビットレート制御を提供することができる。
【００８６】
本発明の実施形態に係る手法は、周期的に大きなデータ(複数のパケットから構成されるデータ)が生成され、それらをＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）によってリアルタイムに転送する際に好適である。例えば、本発明の実施形態に係る手法は、メディアデータやストリームデータに好適である。なお、メディアデータとはフレームデータの上位概念に相当し、ストリームデータには画像や音声以外のセンサデータなどを含む。
【００８７】
（コスト関数）
次に、式８を用いて本実施形態に係るコスト関数Ｊについて説明する。
Ｊ＝（１−λ）Ｔ＋λＬ・・・（８）
式８において、λは、０≦λ＜１の定数であり、送信完了時間Ｔを小さくすることとロス率Ｌを小さくすることとに対する重み付けを行う。
【００８８】
ここで、式５を用いて算出した送信完了時間Ｔおよび式７を用いて算出したロス率Ｌを式８に代入すると、コスト関数Ｊを式９のように表すことができる。
2015107898.tif 000010
【００８９】
式９において、コスト関数Ｊは、未知関数ｕ（ｔ）の関数、すなわち汎関数になっている。すなわち、コスト関数Ｊを最小にするｕ（ｔ）を具体的な関数ｕ*（ｔ）として求めることによって、本発明の実施形態における目的を達成することができる。
【００９０】
しかしながら、コスト関数Ｊは、送信レートｕ（ｔ）の積分や原始関数の逆関数を含む複雑な汎関数となっている。そのため、任意の関数空間から式９のコスト関数Ｊを最小にする送信レートｕ（ｔ）を求めることは非常に困難である。そこで、実用的には、ｕ（ｔ）の解空間を限定することによって具体的な関数ｕ（ｔ）を見つけることができる。なお、解空間とはｕ（ｔ）を求める関数空間である。また、「解空間を限定する」とは、例えば対象とする関数を線形関数のみに絞ることである。
【００９１】
以下に、ｕ（ｔ）をランプ関数に限定した場合の解法について具体的に説明する。ランプ関数とは、時刻ｔ＝０から線形に増加する関数であり、式１０のように記述できる。なお、ａ（ただし、ａ＞０）はランプ関数の傾きを表す定数である。
2015107898.tif 000011
【００９２】
一般的なステップ関数状の急峻な送信レート増加は、粘弾性体モデルにおける粘性要素に起因する損失を増大させる原因になる。そのため、本実施形態では、送信レートを徐々に増加させることによって損失を抑制するランプ関数を一例として挙げる。
【００９３】
スループット推定手段１１が推定したスループット推定式（式２）に式１０のｕ（ｔ）を代入すると、式１１のスループット推定が得られる。ただし、式１１においては、簡略化のためにｆ（ｕ）＝ｕとおく。
2015107898.tif 000012
【００９４】
また、送信完了時刻Ｔについては、式３に式１０を代入することによって求めたデータサイズＳを式５に代入することによって、式１２のように求められる。
2015107898.tif 000013
【００９５】
ロス率Ｌは、式１０と式１１とを式７に代入することによって、式１３のように求められる。
2015107898.tif 000014
【００９６】
よって、コスト関数Ｊは、式１３を式８に代入することによって得られる式１４として求められる。
2015107898.tif 000015
【００９７】
式９では複雑な汎関数であったＪが、ｕ（ｔ）をランプ関数に限定することにより、傾きａに関する初等関数（式１４）にまで簡約化することができた。コスト関数を式１４によって表すことができれば、コスト関数Ｊを最小にするａを求めることができる。
【００９８】
式１４のコスト関数Ｊはａに関して微分可能な下に凸の関数となるため、ｄＪ／ｄａの零点、すなわちｄＪ／ｄａ＝０を満足するａの値が求めるａとなる。すなわち、以下の式１５のようにコスト関数Ｊをａで微分する。
2015107898.tif 000016
【００９９】
なお、式１５中のｄＴ／ｄａは式１６のように求められる。
2015107898.tif 000017
【０１００】
式１５に示したｄＪ／ｄａの零点は、ニュートン法などの数値的解法によって容易に求めることができる。
【０１０１】
ここで、具体的な数値例として、Ｋ＝１．０１、Ｄ＝０．０１、Ｓ＝０．１Ｍｂｉｔ、λ＝０．９５の場合の最適な送信レート、すなわち最適なａを求める例を示す。
【０１０２】
図８は、上記数値例の送信完了時間Ｔとロス率Ｌのグラフである。横軸はａであり、縦軸に送信完了時間Ｔ（左の軸）とロス率Ｌ（右の軸）をとっている。
【０１０３】
図９は、上記数値例のコスト関数Ｊおよびコスト関数Ｊの微分値ｄＪ／ｄａである。すなわち、ｄＪ／ｄａの零点（０となる点）がコスト関数Ｊの最小点であり、そのときのａが最適解となる。図９において、最適解はａ＝０．５６Ｍｂｐｓ／ｓｅｃとなる。
【０１０４】
すなわち、上記の数値例における最適化問題の解決策は、「ａ＝０．５６Ｍｂｐｓ／ｓｅｃで送信レートをランプ関数状に増加させることである」と求まる。このとき、送信完了時間はＴ＝０．６ｓｅｃ、ロス率はＬ＝０．０７となる。
【０１０５】
また、式８の例では、送信完了時間Ｔとロス率Ｌの線形結合のコスト関数であるが、例えば式１７に示す二次形式のコスト関数を用いても良い。
Ｊ＝（１−λ）Ｔ2＋λＬ2・・・（１７）
本実施形態においては、式８や式１７に示すコスト関数のみならず、送信完了時間Ｔとロス率Ｌとを含む任意のコスト関数を適用することができる。なお、本実施形態で使用するコスト関数としては、送信完了時間Ｔおよびロス率Ｌに対して単調非減少となるコスト関数が好ましい。
【０１０６】
例えば、本発明の実施形態に係る送信装置の送信レート決定手段は、送信装置とは独立した送信レート決定装置として構成してもよい。
【０１０７】
上述した実施形態の各機能は、ＣＰＵがプログラム（ソフトウェア）を実行することによって実現されるように記載してきたが、回路等のハードウェアによって実現されていてもよい。
【０１０８】
また、上述した実施形態に関するプログラムは、コンピュータによって読み取り可能なプログラム記憶媒体に記憶されていてもよい。例えば、磁気ディスクや光磁気ディスク、半導体メモリなどの持ち運び可能な媒体をプログラム記憶媒体として用いることができる。
【産業上の利用可能性】
【０１０９】
本発明は、フレームデータ送信装置に適用可能である。例えば、データが多少抜け落ちてもかまわない音声や画像のストリーム形式での配信、小さなデータをリアルタイムで大量に転送するオンラインゲームなどに好適である。【０１１０】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。【０１１１】
この出願は、２０１４年１月２０日に出願された日本出願特願２０１４−００７７８０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１１２】
１    送信装置
２    受信装置
３    通信回路網
１０    送信レート決定手段
１１    スループット推定手段
１２    送信完了時間計算手段
１３    ロス率計算手段
１４    最適化問題解決手段
１５    粘弾性体モデル記憶手段
２０    データ送信手段
３１    床
３２    ばね
３３    ダンパ
３４    板
３５    天井
【図１】
2015107898.tif 000019
【図２】
2015107898.tif 000020
【図３】
2015107898.tif 000021
【図４】
2015107898.tif 000022
【図５】
2015107898.tif 000023
【図６】
2015107898.tif 000024
【図７】
2015107898.tif 000025
【図８】
2015107898.tif 000026
【図９】
2015107898.tif 000027
【図１０】
2015107898.tif 000028
【図１１】
2015107898.tif 000029
【手続補正書】
【提出日】平成28年6月21日(2016.6.21)
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は、送信装置、送信方法および送信プログラムに関する。特に、フレームデータなどの大容量のデータを送信する送信装置、送信方法および送信プログラムに関する。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１０
【補正方法】変更
【補正の内容】
【請求項１０】
通信回路網を介して受信装置にデータを送信する送信プログラムであって、
未知関数として設定された初期の送信レートを用いて前記受信装置に前記データを送信する際のスループットを推定する処理と、
前記データのデータサイズと前記初期の送信レートとを用いて前記受信装置に前記データを送信し終えるまでの送信完了時間を計算する処理と、
前記スループットと前記データサイズと前記初期の送信レートとに基づいて前記通信回路網内における前記データのロス率を計算する処理と、
前記送信完了時間と前記ロス率とを含むコスト関数を最小化する最適化問題を解くことによって最適な送信レートを算出する処理と、
前記最適な送信レートにしたがって前記データを送信する処理とをコンピュータに実行させることを特徴とする送信プログラム。
【国際調査報告】
2015107898.tif 000030
2015107898.tif 000031
2015107898.tif 000032
2015107898.tif 000033