JP2015115728A - データ送信装置、前方誤り訂正方法、及びプログラム - Google Patents

データ送信装置、前方誤り訂正方法、及びプログラム Download PDF

Info

Publication number
JP2015115728A
JP2015115728A JP2013255595A JP2013255595A JP2015115728A JP 2015115728 A JP2015115728 A JP 2015115728A JP 2013255595 A JP2013255595 A JP 2013255595A JP 2013255595 A JP2013255595 A JP 2013255595A JP 2015115728 A JP2015115728 A JP 2015115728A
Authority
JP
Japan
Prior art keywords
quality information
error correction
data
quality
forward error
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
JP2013255595A
Other languages
English (en)
Other versions
JP5743350B2 (ja
Inventor
陽子 狩野
Yoko Kano
陽子 狩野
輝夫 北
Teruo Kita
輝夫 北
松本 剛
Takeshi Matsumoto
松本  剛
塩原 寿子
Toshiko Shiobara
寿子 塩原
松井 龍也
Tatsuya Matsui
龍也 松井
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
Priority to JP2013255595A priority Critical patent/JP5743350B2/ja
Publication of JP2015115728A publication Critical patent/JP2015115728A/ja
Application granted granted Critical
Publication of JP5743350B2 publication Critical patent/JP5743350B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】マルチキャストを用いた場合でも最適なパラメータを決定することのできるデータ送信装置、前方誤り訂正方法、及びプログラムを提供する。【解決手段】データ送信装置10は、メディアデータに対応する前方誤り訂正情報を送信するデータ送信装置であって、複数のデータ受信装置20から通信品質を示す品質情報を収集する品質情報収集部12と、品質情報収集部12により収集された品質情報のうち予め定めた条件を満たす品質情報に基づいて符号化のためのパラメータを決定するパラメータ決定部13と、パラメータ決定部13により決定されたパラメータに基づいて前方誤り訂正情報を生成し、その前方誤り訂正情報をデータ受信装置20に送信する誤り訂正符号化部14とを備える。【選択図】図1

Description

本発明は、データ送信装置、前方誤り訂正方法、及びプログラムに関する。
近年、通信網のブロードバンド化に伴い、IPネットワークを介して高画質な映像コンテンツを配信するIPTVサービスの利用が増加している。IPTVサービスでは、多番組を実現する上で、多数のストリーミング伝送が同時に並行するため、伝送自体を効率化することが望ましく、マルチキャスト技術が採用されている。マルチキャスト技術を採用すると、同一経路上を同一の番組が複数流れることを防げるため、ネットワーク利用の効率化につながる。
また、近年、IPTVサービスでは、携帯端末をはじめタブレット端末・PC・高解像度の4Kテレビ等の様々な端末に対して高品質な映像コンテンツを提供可能としていくことが急がれている。しかし、IPネットワークでは伝送品質の完全な保証が難しく、IPパケット損失が視聴品質の劣化につながる。パケット損失による品質低下を防ぐ機能としては、損失パケットの再送を行う方法や、予め冗長パケットを送信し、受信側で誤りを訂正する方法(前方誤り訂正)等がある。前方誤り訂正(FEC:Forward Error Correction)では、パケットの再送を伴わないので、リアルタイム系の映像コンテンツの配信への適用が期待される。
パケット単位の誤り訂正を行う場合、送信側で複数のメディアパケット(映像等)によりFEC符号化ブロック(以下、ブロック)を構成し、そのブロックごとに冗長符号を生成し、メディアパケットとは別のFECパケットとして送出する。パケット損失時、受信側単独の演算でFECパケットを用いて損失パケットを回復する。
過度な冗長データを付加することは、ネットワークの利用効率の妨げにもなりうることから、通信路のエラー発生頻度や許容遅延時間に応じて適応的に変化させていくことが望ましい。最適な符号化パラメータを適応的に選択する方法として、ネットワークの品質情報をリアルタイムに取得し、その品質情報に応じて符号化パラメータを適応的に変化させる方法が提案されている(特許文献1参照)。
特開2007−74152号公報
しかし、マルチキャストを用いてストリーム配信するサービスに従来の技術を適用した場合、以下に説明するように、幾つかの問題が生じる。以下では、サービスを受けるデータ受信装置がスマートフォンやタブレット等である場合を想定している。
まず、図24を用いて、従来の前方誤り訂正システムの基本的な動作について説明する。この図に示すように、データ受信装置は、ネットワークの品質情報としてパケット損失のバースト性の値とパケット損失率を測定し、データ送信装置に送信する(ステップS101→S102)。データ送信装置は、データ受信装置から受信したバースト性の値とパケット損失率に基づいて符号長や冗長度等のFECパラメータ(以下、パラメータ)を決定し、そのパラメータに基づいて符号化を行い、そのパラメータを含む復号化のための前方誤り訂正情報(以下、FEC情報)をパケット化して、データ受信装置に送信する(ステップS103→S104→S105→S106)。データ受信装置は、データ送信装置から受信したFEC情報を用いて符号化ブロックのデータの復号化を行う(ステップS107)。
このような場合、ステップS101では、マルチキャスト受信中の長時間、品質情報を測定することになるため、リソース消費の増大につながる。特に、スマートフォンやタブレット等は、蓄積できるデータ量もPCに比べて限られている。また、ステップS102では、無線区間は半二重通信であるため、マルチキャスト受信中に品質情報を送信することは、マルチキャスト受信データのパケットロスにつながる可能性がある。さらに、ステップS103では、多数のデータ受信装置から品質情報がアップロードされることになるため、ネットワーク効率の妨げになるとともに、品質情報を蓄積する設備コストの増大につながる。しかも、運用目標を合格しているかどうかという運用面での評価と、FECパラメータそのものの性能面での評価とに基づいてパラメータを決定する必要がある。加えて、ネットワークの切り替え作業やネットワーク機器の故障等によるバースト損失は、FECでは補償できない可能性が高く、過度な冗長データを付加しかねない。さらに、ステップS105では、1つのデータ受信装置に最適なパラメータを決定するのでは不十分である。すなわち、同一ストリームを受信する可能性のある多数のデータ受信装置に最適なパラメータを決定する必要がある。
このように、マルチキャストを用いてストリーム配信するサービスに従来の技術を適用した場合、幾つかの問題が生じる。マルチキャストを用いた場合でも、ネットワークの品質情報から符号化のための最適なパラメータを決定し、適応的にパラメータを変化させながら前方誤り訂正を行うことが望まれるが、そのような手法は確立していないのが現状である。
本発明は、マルチキャストを用いた場合でも最適なパラメータを決定することのできるデータ送信装置、前方誤り訂正方法、及びプログラムを提供することを目的とする。
上記目的を達成するため、第1の態様に係る発明は、メディアデータに対応する前方誤り訂正情報を送信するデータ送信装置であって、複数のデータ受信装置から通信品質を示す品質情報を収集する品質情報収集部と、前記品質情報収集部により収集された品質情報のうち予め定めた条件を満たす品質情報に基づいて符号化のためのパラメータを決定するパラメータ決定部と、前記パラメータ決定部により決定されたパラメータに基づいて前方誤り訂正情報を生成し、その前方誤り訂正情報を前記データ受信装置に送信する誤り訂正符号化部とを備えることを要旨とする。
第2の態様に係る発明は、第1の態様に係る発明において、前記品質情報として、前記メディアデータのパケットの連続欠損数、または、符号化ブロック内のどこで損失しているかを示すロスパターンをビット列で示したロスリストを用いることを要旨とする。
第3の態様に係る発明は、メディアデータに対応する前方誤り訂正情報をデータ送信装置からデータ受信装置に送信することによりデータ受信装置側で符号誤りを訂正する前方誤り訂正方法であって、前記データ送信装置が、複数のデータ受信装置から通信品質を示す品質情報を収集する品質情報収集ステップと、前記品質情報収集ステップで収集された品質情報のうち予め定めた条件を満たす品質情報に基づいて符号化のためのパラメータを決定するパラメータ決定ステップと、前記パラメータ決定ステップで決定されたパラメータに基づいて前方誤り訂正情報を生成し、その前方誤り訂正情報を前記データ受信装置に送信する誤り訂正符号化ステップとを実行することを要旨とする。
第4の態様に係る発明は、第1又は第2の態様に係るデータ送信装置としてコンピュータを機能させるためのプログラムであることを要旨とする。
本発明によれば、マルチキャストを用いた場合でも最適なパラメータを決定することのできるデータ送信装置、前方誤り訂正方法、及びプログラムを提供することができる。
本発明の実施形態における前方誤り訂正システムの構成図である。 従来の前方誤り訂正システムを説明するための図である。 本発明の実施形態における前方誤り訂正システムを説明するための図である。 本発明の実施形態における抽選確率を説明するための図である。 従来のパラメータの決定プロセスの問題を説明するための図である。 本発明の実施形態におけるパラメータの決定プロセスを説明するための図である。 冗長度と回復との関係を示す図である。 従来の品質測定単位を説明するための図である。 本発明の実施形態における品質測定単位を説明するための図である。 本発明の実施形態における制御情報取得部の動作を示すフローチャートである。 本発明の実施形態における品質測定部の動作を示すフローチャートである。 本発明の実施形態における品質測定部の動作を示すフローチャートである。 本発明の実施形態における品質測定イメージを示す図である。 本発明の実施形態における品質測定部の動作を示すフローチャートである。 本発明の実施形態における誤り訂正復号化部の動作を示すフローチャートである。 本発明の実施形態における品質情報収集部の動作を示すフローチャートである。 本発明の実施形態におけるパラメータ決定部の動作を示すフローチャートである。 バースト性・目標BER判定結果(一次判定結果)を示す図である。 一次判定結果をサービス条件値と比較した結果(最終判定結果)を示す図である。 本発明の実施形態における誤り訂正符号化部の動作を示すフローチャートである。 本発明の実施形態における制御情報送信部の動作を示すフローチャートである。 本発明の実施形態におけるロスリスト例を示す図である。 本発明の実施形態における別のロスリスト例を示す図である。 従来の前方誤り訂正システムの基本的な動作を示すフローチャートである。
以下、本発明の実施形態について図面を参照して詳細に説明する。
(システム構成)
図1は、本発明の実施形態における前方誤り訂正システムの構成図である。この図に示すように、データ送信装置10とデータ受信装置20とが通信網30を介して接続されている。データ送信装置10は、メディアデータを受信し、受信したメディアデータに対応するFEC情報(前方誤り訂正情報)を生成し、生成したFEC情報を送信するサーバ等である。一方、データ受信装置20は、FEC情報を受信し、受信したFEC情報に基づいてメディアデータの符号誤りを訂正し、修復済みメディアデータを出力するスマートフォンやタブレット、PC等の各種端末である。
本発明の実施形態における前方誤り訂正システムの基本的な動作は、図24と同様である。図24の説明では言及しなかったが、データ受信装置20へのメディアデータは、データ送信装置10と異なる別装置から送信しても良いし、データ送信装置10から送信しても良い。この実施形態では、データ受信装置20へのメディアデータは、データ送信装置10と異なる別装置から送信する場合を前提としている。データ受信装置20は、メディアパケットとFECパケットを受信することになる。もちろん、メディアデータの単位は必ずしもパケットでなくても構わないので、「メディアパケット」と言わず「メディアデータ」という場合がある。
ここで、データ送信装置10は、制御情報送信部11と、品質情報収集部12と、パラメータ決定部13と、誤り訂正符号化部14とを備える。制御情報送信部11は、品質測定処理を制御するための制御情報を生成してデータ受信装置20に送信する。品質情報収集部12は、複数のデータ受信装置20から通信品質を示す品質情報を収集する。品質情報としては、例えば、メディアデータのパケットの連続欠損数や、符号化ブロック内のどこで損失しているかを示すロスパターンをビット列で示したロスリストを用いることができる。パラメータ決定部13は、品質情報収集部12により収集された品質情報のうち予め定めた条件を満たす品質情報に基づいて符号化のためのパラメータ(FECパラメータ)を決定する。このパラメータは、例えば、符号長、冗長度等である。誤り訂正符号化部14は、パラメータ決定部13により決定されたパラメータに基づいて符号化を行い、そのパラメータを含む復号化のためのFEC情報をパケット化して、データ受信装置20に送信する。FEC情報には、列重み、サブパケット分割数、符号化ブロック番号、シーケンス番号等も含まれる場合がある。
データ送信装置10からデータ受信装置20に送信されるFECパケットのヘッダには、FECパラメータや、そのパラメータに関連する関連情報(符号化ブロック番号、シーケンス番号、列重み、サブパケット分割数等)が格納され、FECパケットのペイロードには、符号化によって生成された情報が格納される。制御情報はFECパケットのヘッダに格納されてもよいし、FECパケットとは別の制御情報パケットに格納されてもよい。また、制御情報の一部をデータ受信装置20に予め設定しておいてもよい。
一方、データ受信装置20は、制御情報取得部21と、品質測定部22と、誤り訂正復号化部23とを備える。制御情報取得部21は、データ送信装置10から制御情報を取得する。品質測定部22は、制御情報取得部21により取得された制御情報に基づいて品質測定処理を行う。誤り訂正復号化部23は、FECパケットに格納されているFEC情報に基づいてメディアデータの符号誤りを訂正し、修復済みメディアデータを出力する。具体的には、誤り訂正復号化部23は、FECパケットを用いて、当該ブロック内のパケット欠損の修復を行い、修復済みデータを出力するようになっている。
なお、図1では、制御情報送信部11と品質情報収集部12とパラメータ決定部13と誤り訂正符号化部14とをデータ送信装置10が備えることとしているが、これに限定されるものではない。例えば、品質情報収集部12とパラメータ決定部13とをセットで、データ送信装置10とは独立した別装置に備えることもできる。この場合でも、各処理部の関係は図1と同様である。
(ユニキャスト)
図2は、従来の前方誤り訂正システムを説明するための図である。ここでは、データ送信装置10から各データ受信装置20A〜20Zにユニキャストを用いてストリーム配信するサービスを前提としている。データ送信装置10は、各データ受信装置20A〜20Zに初期パラメータを配布した後、各データ受信装置20A〜20Zから品質情報を取得し、その品質情報に基づいて各データ受信装置20A〜20Zそれぞれに最適なパラメータを配布するようになっている。
(マルチキャスト)
図3は、本発明の実施形態における前方誤り訂正システムを説明するための図である。ここでは、データ送信装置10から各データ受信装置20A〜20Zにマルチキャストを用いてストリーム配信するサービスを前提としている。データ送信装置10は、各データ受信装置20A〜20Zに初期パラメータを配布した後、各データ受信装置20A〜20Zから品質情報を取得し、その品質情報に基づいてデータ受信装置20A〜20Zの全体に最適なパラメータを配布するようになっている。
具体的には、データ送信装置10は、マルチキャスト受信した各データ受信装置20A〜20Zから品質情報を収集し、同一ストリーム・使用行列毎に応じて最適なパラメータを決定する。これにより、マルチキャスト受信した各データ受信装置20A〜20Zに広くあまねく最適な符号化パラメータを決定することが可能である。
また、データ送信装置10は、マルチキャスト配信時のデータの一部に抽選確率を含める。抽選確率は制御情報の一つであり、ごく僅かなデータ量である。データ受信装置20A〜20Zは、抽選確率で指定された確率に従って確率的に品質測定・品質情報送信対象とする。これにより、品質情報の測定に伴う制御や品質情報の送信に伴う通信を抑えることが可能である。
さらに、データ送信装置10は、サービスを受ける全てのデータ受信装置20A〜20Zに応じて抽選確率を適応的に変化させる。これにより、データ受信装置20A〜20Zからデータ送信装置10に送信される品質情報を必要最低限に抑えることが可能である。
(抽選確率)
図4は、本発明の実施形態における抽選確率を説明するための図である。品質測定の抽選確率の値は、次式のように、品質情報を収集するデータ送信装置10のスループット、チャンネル(ch)数、視聴ユーザ数、各チャンネルにおける配信終了時刻によって決定される。
抽選確率=サーバにおける単位時間当たりの品質情報のスループット
÷該当chと同時刻に終了するch数(自ch含む)
÷該当chにおける視聴ユーザ数
×100
例えば、データ送信装置10における単位時間当たりの品質情報受信のスループットが90件/秒(データ受信装置20A〜20Zのうちの1つから1回に送られる品質情報のサイズが61KB、データ送信装置10のディスク性能値が5.5MB/s)であると仮定する。このような場合においてch数が5であるとき、各chに設定する抽選確率は、図4に示すように、1chが90÷2÷500×100=9%、2chが90÷2÷1000×100=4.5%、3chが90÷2÷1000×100=4.5%、4chが90÷2÷2000×100=2.25%、5chが90÷1÷5000×100=1.8%となる。
(従来のパラメータの決定プロセス)
一般的なFEC符号化パラメータ決定プロセスは次の通りである。すなわち、バースト性の値が予め定めたバースト性の値(閾値)よりも大きい場合は、符号化ブロック長を大きくする。一方、バースト性の値が閾値よりも小さい場合は、符号化ブロック長を小さくする。また、損失率の値が予め定めた損失率の値(閾値)よりも大きい場合は、冗長度を大きくする。一方、損失率の値が閾値よりも小さい場合は、冗長度を小さくする。
図5は、従来のパラメータの決定プロセスの問題を説明するための図である。横軸は時間tを示し、縦軸は品質情報(メディアデータのパケットの連続欠損数)を示している。この図に示すように、FECでは修復できないバースト損失の区間を含んだ品質情報Q1が存在するが、従来は、バースト性の強い区間も含めた品質情報に基づいて分析を行っていた。そのため、冗長度を過剰に付与する問題や、符号化ブロック長を過剰に長く設定する方向(遅延時間を過剰に延ばす方向)に分析結果が傾く問題があった。
(本発明の実施形態におけるパラメータの決定プロセス)
図6は、本発明の実施形態におけるパラメータの決定プロセスを説明するための図である。図6(a)(b)の横軸は時間tを示し、縦軸は品質情報(メディアデータのパケットの連続欠損数)を示している。また、図6(c)の横軸はブロック内連続欠損数を示し、縦軸はブロック数を示している。図中の符号T1は品質情報除外用の閾値を示し、符号T2はFECによる保証可能閾値を示している。
図6(a)(b)に示すように、データ送信装置10は、各データ受信装置20A〜20Zから収集した品質情報において、同一時間帯で共通的に見られる閾値T1以上のバースト損失のある区間を分析対象区間から除外し、残った品質情報から最適なパラメータを決定する。このように、閾値T1以上の区間の品質情報をパラメータ最適化のための分析に利用しないようにすれば、図6(c)に示すように、適切な冗長度と符号化ブロック長を付与することができる。言い換えると、FECで修復できないバースト損失を含めた品質情報に基づいて決定されたパラメータをもとに、過剰な冗長度や符号化ブロック長を付与することを回避することが可能である。
また、データ受信装置20A〜20Zは、品質情報を送信するタイミングをマルチキャスト受信終了後としている。これにより、マルチキャスト受信時の通信と品質情報の送信時の通信との間での衝突を回避することが可能である。
(従来の品質測定単位)
図7は、冗長度と回復との関係を示す図である。図7(a)(b)ともに、8個のメディアパケットを伝送する例である。A,B,…はFECパケット、1,2,…はメディアパケットを示している。冗長量は、図7(a)(b)ともに同じ(冗長度20%)であるが、損失する箇所によっては、ブロック長が長い方(この例では図7(b))が修復可能な場合がある。
図8は、従来の品質測定単位を説明するための図である。ここでは、品質測定単位は、予め定めたパケット数(この例では8つ)である場合を想定している。FEC符号化ブロックの単位と品質情報の取得単位とは不一致である。品質情報測定間隔での受信すべき全パケット数に対するパケット損失数の割合から、冗長度を大きくするか小さくするかを判定している。
[損失率](FEC除く)=2/8=25%(1つ目の品質測定)
サービスの品質目標がBER(Block Error Rate)=10^−5(一般的な目標値)の場合、10^5ブロック分の品質情報から目標達成したか否かを判定し、必要冗長度を見極める必要がある。上記損失率の結果だけに基づいて冗長度の最適化を行うことは好ましくない。また、FEC方式によっては、符号化ブロック内のソースパケット数がパケットサイズの可変長対応に伴い流動的であるため、品質測定単位時間において、受信すべき全パケット数が常に一定とは限らない。そのため、損失率、バースト値から適切な冗長度、遅延の決定を誤ることによって、修復能力低下、余計な冗長度付与や遅延時間を延ばす方向になりかねない。
(本発明の実施形態における品質測定単位)
図9は、本発明の実施形態における品質測定単位を説明するための図である。この図に示すように、品質測定単位を符号化ブロックの単位と同期させ、符号化ブロック毎の損失率、バースト性を品質情報として取得する。損失率としては、次式のように、制御情報で指定された期間中の符号化ブロック毎の損失率の平均を求める。
損失率 = (0/4 + 2/4 + 1/3 + 1/3 +・・・)/N = 29% (FECを除いた場合)
総ブロック数が目標BER確認可能なブロック数分以上蓄積した品質情報から、目標BERを達成したか否かを判定する(運用面での評価)。総ブロックは、1つのデータ受信装置20から取得しなくても、複数のデータ受信装置20から収集した品質情報が総ブロック(10^5)になっていれば良い。
ロスリストとしては、連続欠損数だけでなく、符号化ブロック内のどこで損失しているかを示すロスパターンをビット列で示したロスリストを取得する。以下の例では、「01」は欠損無し、「00」は欠損有りを示している。
01,00,00,00,01 ,1ブロックの長さ5 ,ソース数5, 20120815110900 , ・・・
01,01,00,00,00 ,1ブロックの長さ5 ,ソース数5, 20120815110901 , ・・・
01,01,01,00,01 ,1ブロックの長さ5 ,ソース数3, 20120815110902 , ・・・
・・・
FEC性能として最適な冗長度だけでなく、サービス品質目標に沿って適切な冗長度を適用することが可能である。また、同一連続ロス数でもブロック内の損失している位置によって誤り訂正可否が決定されるFEC方式にとって、ブロック長を変化させるべきかどうかの判断基準が従来より増え、より適切なブロック長へと適応させることが可能である。
このように、本発明の実施形態における前方誤り訂正システムでは、品質測定単位を符号化ブロックと同期させて品質情報を取得する。これにより、ブロック内のパケット数が変動していても、パラメータが適正に機能しているかどうか(ブロック中の損失パケットがX個までであれば回復できるはずだが、結果そうなっているか)を評価することが可能である。
また、前述の評価結果に加え、サービス品質目標のBERに達しているかどうかの判定結果を基に冗長度を決定する。これにより、サービス品質目標に応じた必要冗長度・ブロック長を最適化することが可能である。
さらに、符号化ブロック内のどこで何個損失しているかを示す情報をバースト性の値として取得する。これにより、バースト性の値に基づいてブロック長を決定することで、より最適なブロック長を決定することが可能である。
(制御情報取得部の動作)
図10は、本発明の実施形態における制御情報取得部21の動作を示すフローチャートである。まず、本装置と連携したアプリケーションが視聴プレイヤ起動等を契機に初期化機能を呼び出すと(ステップS1)、制御情報取得部21は、オプトインフラグを読み込み、オプトインフラグの値を判定する(ステップS2→S2a)。オプトインフラグは、データ受信装置20の利用者が品質情報の取得・送信を許諾するか否かを示すものである。オプトインフラグがtrueであれば以降の処理を実施し、falseであれば以降の処理を実施しない。次いで、制御情報初期値を読み込み、送信日格納ファイルの存在有無を判定する(ステップS3→S4)。これにより、送信日格納ファイルが有る場合は、送信日格納ファイルを読み込み(ステップS5)、送信日格納ファイルが無い場合は、送信日格納ファイルを生成する(ステップS6)。その後、マルチキャスト受信を開始すると、品質測定対象とするかどうかを判定する(ステップS7→S8)。
以下、品質測定対象とするかどうかを判定するステップS8について更に詳しく説明する。すなわち、制御情報取得部21は、サーバから送信された制御情報パケットから、受信したメディアストリームに関わる品質測定を行うか否かを示す「品質測定有無」、品質情報を送信する対象に該当する確率を示す「品質測定抽選確率(有効値、指数)」を取得する。以下の(1)〜(4)の条件を全て満たす場合は、品質情報送信対象とし、品質測定部22を呼び出し、品質測定を開始する。一方、以下の(1)〜(4)の条件のいずれかを満たさない場合は、品質情報送信対象外とし、品質測定を行わない。
(1)入力パラメータのオプトインフラグがtrue:同意
(2)制御情報の品質測定有無が「有」
(3)現在日付(システム時刻)− 品質情報送信日格納ファイルの最終送信日 ≧ 制御情報初期値の品質情報送信凍結日数
(4)抽選結果が当選
具体的には、以下の式で抽選する。
0 ≦ 抽選値 < 有効数値
抽選値=0から10の指数乗までの乱数を発生させ、発生させた乱数の値を抽選値とし、抽選値が0〜有効数値以内の場合、当選と判定する。例えば、有効数値が20、指数が3の場合、抽選値=0から10の3乗(1000)未満の乱数を発生させる。そして、0 ≦ 抽選値 < 20を満たせば当選とする。
これにより、全データ受信装置20から品質情報が送られてくることを防ぎ、必要最低限の品質情報の収集が可能となる。また、品質測定対象となるデータ受信装置20が偏ることを防ぎ、全データ受信装置20を均等に品質測定対象とすることが可能となる。
(品質測定部の動作)
図11は、本発明の実施形態における品質測定部22の動作を示すフローチャートである。まず、品質測定部22は、ロスリストを生成し、誤り訂正前のエラーメディアパケット数を取得する(ステップS11→S12)。次いで、誤り訂正復号化処理が行われると、誤り訂正後のエラーメディアパケット数を取得し、品質情報を蓄積するかどうかを判定する(ステップS13→S14→S15)。これにより、品質情報を蓄積する場合は、品質情報を蓄積し、マルチキャスト受信が終了すると、品質情報を送信する(ステップS15→S16→S17→S18)。一方、品質情報を蓄積しない場合は、ロスリストの生成ステップに戻る(ステップS15→S11)。
以下、品質情報を蓄積するかどうかを判定するステップS15について更に詳しく説明する。すなわち、以下の(1)と(3)を満たす場合は、品質情報取得ブロック数の先頭ブロックと判定し、前回品質情報取得周期開始時刻(後述する)に現在時刻を設定し、取得ブロック回数(後述する)に0を設定した後、品質情報蓄積ステップS16へ遷移する。一方、以下の(1)と(2)を満たすが(3)を満たさない場合は、何もせずに品質情報蓄積ステップS16へ遷移する。それ以外の場合は、ロスリスト生成ステップS11へ遷移する。
(1)デコード開始から制御情報初期値の品質情報取得開始時間以上経過している。
(2)取得回数が制御情報初期値の品質情報取得ブロック数未満である。
(3)一度も品質情報蓄積を行なっていない、または、前回品質情報取得周期開始時刻から制御情報初期値の品質情報取得周期(時間)経過している。
なお、前回品質情報取得周期開始時刻とは、周期毎の初回品質情報取得を行った時刻である。前回品質情報取得周期開始時刻は、制御情報初期値の品質情報取得周期毎に更新される。
また、取得ブロック回数とは、1ブロック分の品質情報の取得回数である。取得ブロック回数は、制御情報初期値の品質情報取得周期毎に初期化される。
図12は、本発明の実施形態における品質測定部22の動作を示すフローチャートである。ここでは、図11に示される品質情報蓄積(ステップS16)について詳細に説明する。まず、品質測定部22は、“蓄積サイズ+取得した品質情報”が制御情報の[最大蓄積サイズ]未満であるかどうかを判定する(ステップS21)。ここで、制御情報の[最大蓄積サイズ]未満である場合は、蓄積回数が“制御情報の[品質情報取得周期回数]×[品質情報取得ブロック数] ”未満であるかどうかを判定する(ステップS22)。これにより、“制御情報の[品質情報取得周期回数]×[品質情報取得ブロック数] ”未満である場合は、品質情報を蓄積して、蓄積回数に1を加算して、呼び出し元へ戻る(ステップS23)。
図13は、本発明の実施形態における品質測定イメージを示す図である。ここでは、品質情報取得開始時間として5sec、品質情報取得ブロック数として2ブロック、品質情報取得周期として10sec、品質情報取得周期回数として3が設定されている。これにより、マルチキャスト受信中の常に同じ受信経過時間帯の品質情報が取得され、収集されることを防ぐことが可能である。このような設定項目の各設定値は、制御情報パケットに格納してデータ送信装置10からデータ受信装置20に配布するようにしてもよいし、あるいは、予めデータ受信装置20に設定しておくようにしてもよい。
図14は、本発明の実施形態における品質測定部22の動作を示すフローチャートである。ここでは、図11に示される品質情報送信(ステップS18)について詳細に説明する。まず、品質測定部22は、品質情報を送信するかどうかを判定し、送信する場合は通信プロトコルを判定する(ステップS31→S32)。ここで、通信プロトコルがhttpsである場合は、証明書ファイルを読み込み、品質情報を送信し、通信結果を判定する(ステップS33→S34→S35)。一方、通信プロトコルがhttpである場合や、証明書ファイルが存在しない場合は、証明書ファイルを読み込むことなく、品質情報を送信し、通信結果を判定する(ステップS34→S35)。これにより、通信結果判定において正常応答を受信した場合は、送信日格納ファイルを更新して呼び出し元へ戻る(ステップS36)。
(誤り訂正復号化部の動作)
図15は、本発明の実施形態における誤り訂正復号化部23の動作を示すフローチャートである。誤り訂正復号化部23は、パラメータ決定部13により決定されたパラメータに基づいてFEC復号化処理を行い、修復済みメディアデータを出力する(ステップS41)。この動作は、入力データがなくなるまで、または、停止要求があるまで繰り返される(ステップS42)。
(品質情報収集部の動作)
図16は、本発明の実施形態における品質情報収集部12の動作を示すフローチャートである。品質情報収集部12は、品質情報を受信すると、データ計算を行い、その計算結果を示すデータを登録する(ステップS51→S52→S53)。この動作は、品質情報を受信しなくなるまで繰り返される。
(パラメータ決定部の動作)
図17は、本発明の実施形態におけるパラメータ決定部13の動作を示すフローチャートである。まず、パラメータ決定部13は、品質情報を取得し、評価対象外区間を判定し、評価対象外区間についてデータ計算を行う(ステップS61→S62→S63)。次いで、バースト性・目標BER判定(一次判定)を行い、サービス条件適合性判定(最終判定)を行う(ステップS64→S65)。最後に、サービス条件適合性判定(最終判定)の結果に基づいてパラメータを決定する(ステップS66)。
図18は、バースト性・目標BER判定結果(一次判定結果)を示す図である。この図に示すように、バースト性が閾値より小さく、目標BER判定が適正値を大きく上回る場合(1−1)は、符号長を小さくするとともに、冗長度を小さくする。また、バースト性が閾値と同じであり、目標BER判定が適正値を大きく上回る場合(1−2)は、冗長度を小さくする。また、バースト性が閾値より大きく、目標BER判定が適正値を大きく上回る場合(1−3)は、符号長を大きくするとともに、冗長度を小さくする。また、バースト性が閾値より小さく、目標BER判定が適正範囲内である場合(2−1)は、符号長を小さくする。また、バースト性が閾値と同じであり、目標BER判定が適正範囲内である場合(2−2)は、符号長を変更せず、冗長度も変更しない。また、バースト性が閾値より大きく、目標BER判定が適正範囲内である場合(2−3)は、符号長を大きくする。また、バースト性が閾値より小さく、目標BER判定が適正値を大きく下回る場合(3−1)は、符号長を小さくするとともに、冗長度を大きくする。また、バースト性が閾値と同じであり、目標BER判定が適正値を大きく下回る場合(3−2)は、冗長度を大きくする。また、バースト性が閾値より大きく、目標BER判定が適正値を大きく下回る場合(3−3)は、符号長を大きくするとともに、冗長度を大きくする。
図19は、一次判定結果をサービス条件値と比較した結果(最終判定結果)を示す図である。この図に示すように、符号長の一次判定結果がサービス条件値より大きく、冗長度の一次判定結果もサービス条件値より大きい場合(A−1)は、符号長を変更せず、冗長度も変更しない。また、符号長の一次判定結果がサービス条件値以下であり、冗長度の一次判定結果がサービス条件値より大きい場合(A−2)は、符号長をサービス条件値上限まで大きくする。また、符号長の一次判定結果がサービス条件値より大きく、冗長度の一次判定結果がサービス条件値以下である場合(B−1)は、冗長度をサービス条件値上限まで大きくする。また、符号長の一次判定結果がサービス条件値以下であり、冗長度の一次判定結果もサービス条件値以下である場合(B−2)は、一次判定結果のパラメータを採用する。
このように、一次判定と最終判定とを組み合わせれば、より適切な符号長と冗長度を設定することができる。例えば、1−3の判定結果を受けても、符号長を大きくすることによる遅延が許容されないサービス条件の場合、符号長は維持され、その変わり冗長度を大きくすることが可能である。
(誤り訂正符号化部の動作)
図20は、本発明の実施形態における誤り訂正符号化部14の動作を示すフローチャートである。まず、誤り訂正符号化部14は、パラメータ決定部13により決定されたパラメータに基づいてFEC符号化処理を行う(ステップS71)。この符号化処理が行われた結果、FEC情報はFECパケットのペイロードに格納され、使用したパラメータなどの情報はFECパケットのヘッダに格納される(ステップS72)。最後に、このFECパケットをデータ受信装置20に送信する(ステップS73)。この動作は、入力データがなくなるまで、または、停止要求があるまで繰り返される(ステップS74)。
(制御情報送信部の動作)
図21は、本発明の実施形態における制御情報送信部11の動作を示すフローチャートである。まず、制御情報送信部11は、配信ストリーム(ch)毎に送信用制御情報設定値を設定する(ステップS81)。送信用制御情報設定値とは、具体的には、品質測定有無を示す値や、品質測定抽選確率を示す値である。次いで、FEC生成プロセス起動時または制御情報変更時に送信用制御情報設定値を読み込む(ステップS82)。最後に、読み込んだ情報を変換した値を制御情報パケット内に格納し、マルチキャスト送信する(ステップS83)。
(ロスリスト例)
図22は、本発明の実施形態におけるロスリスト例を示す図である。ここでは、入力データのパケットサイズがパケットによって異なる場合を想定し、入力パケットが特定のパケットサイズになるようにパディングを行うFEC方式を例示している。「01」は損失無し、「00」は損失有りを意味している、この場合、パケット単位毎にロス状況をビット列で示すと、ロスリストは「00010001」となる。
図23は、本発明の実施形態における別のロスリスト例を示す図である。ここでは、入力パケットを特定のパケットサイズ(GM)に分割して処理するFEC方式を例示している。「01」は損失無し、「00」は損失有り、「11」はパケットの区切り文字を意味している。この場合、GM単位にロス状況をビット列で示すと、ロスリストは「00000000110101010111000000000000000011」となる。
1ブロック分のメディアパケットのビット文字列と1ブロック分のFECパケットペイロードのビット文字列とを結合し、最後にデータ長が4の倍数となるように、「10」の文字列を追加する。この例では、1パケットまたは1GMを2bitのビット列で表し、16進数に変換して送るため、4の倍数になるように10で補完している。もちろん、何ビット表現で表すかは任意に決めた値でよい。
以上のように、本発明の実施形態における前方誤り訂正システムによれば、マルチキャストを用いた場合でも最適なパラメータを決定することができる。すなわち、通信品質(パケットの損失状況等)に応じてFEC情報を生成するためのパラメータを決定する場合に、そもそも前方誤り訂正処理では回復できないような損失が発生している区間の品質情報を除外してパラメータを決定するため、過度なパケットの生成を回避することが可能である。
このような前方誤り訂正システムは、サービスを受けるデータ受信装置20がスマートフォンやタブレット等である場合、特に有用である。すなわち、スマートフォンやタブレット等は無線環境で使用され、またPCに比べてリソースが乏しいため、過度なパケットの生成を回避することが可能な本システムは、非常に実用的価値の高いシステムと言える。
なお、本発明は、前方誤り訂正システム(データ送信装置10、データ受信装置20)として実現することができるだけでなく、このような前方誤り訂正システムが備える特徴的な処理部をステップとする前方誤り訂正方法として実現することができる。具体的には、本発明の実施形態における前方誤り訂正方法は、メディアデータに対応するFEC情報をデータ送信装置10からデータ受信装置20に送信することによりデータ受信装置20側で符号誤りを訂正する前方誤り訂正方法である。このような前方誤り訂正方法において、データ送信装置10が、複数のデータ受信装置20から通信品質を示す品質情報を収集する品質情報収集ステップと、品質情報収集ステップで収集された品質情報のうち予め定めた条件を満たす品質情報に基づいて符号化のためのパラメータを決定するパラメータ決定ステップと、パラメータ決定ステップで決定されたパラメータに基づいてFEC情報を生成し、そのFEC情報をデータ受信装置20に送信する訂正符号化ステップとを実行する。
また、このような前方誤り訂正方法の各ステップをコンピュータに実行させるプログラムとして実現したりすることもできる。このようなプログラムは、データ送信装置10やデータ受信装置20に記憶することができるのはもちろん、CD−ROM等の記録媒体やネットワーク等の伝送媒体を介して配信することができるのはいうまでもない。
10…データ送信装置
11…制御情報送信部
12…品質情報収集部
13…パラメータ決定部
14…誤り訂正符号化部
20…データ受信装置
21…制御情報取得部
22…品質測定部
23…誤り訂正復号化部
上記目的を達成するため、第1の態様に係る発明は、メディアデータに対応する前方誤り訂正情報を送信するデータ送信装置であって、複数のデータ受信装置から通信品質を示す品質情報を収集する品質情報収集部と、前記品質情報収集部により収集された品質情報において、同一時間帯で共通的に見られる所定の閾値以上の損失が発生している区間を除外し、残った品質情報に基づいて符号化のためのパラメータを決定するパラメータ決定部と、前記パラメータ決定部により決定されたパラメータに基づいて前方誤り訂正情報を生成し、その前方誤り訂正情報を前記データ受信装置に送信する誤り訂正符号化部とを備えることを要旨とする。
第2の態様に係る発明は、第1の態様に係る発明において、前記品質情報として、前記メディアデータのパケット符号化ブロック内のどこで損失しているかを示すロスパターンをパケットの損失有りを意味するビット列とパケットの損失無しを意味するビット列を当該符号化ブロック内の位置に対応させて連結したビット列で示したロスリストを用いることを要旨とする。
第3の態様に係る発明は、第1又は第2の態様に係る発明において、マルチキャストを用いて前記メディアデータをストリーム配信し、前記複数のデータ受信装置が同一のストリームを受信することを要旨とする。
の態様に係る発明は、メディアデータに対応する前方誤り訂正情報をデータ送信装置からデータ受信装置に送信することによりデータ受信装置側で符号誤りを訂正する前方誤り訂正方法であって、前記データ送信装置が、複数のデータ受信装置から通信品質を示す品質情報を収集する品質情報収集ステップと、前記品質情報収集ステップで収集された品質情報において、同一時間帯で共通的に見られる所定の閾値以上の損失が発生している区間を除外し、残った品質情報に基づいて符号化のためのパラメータを決定するパラメータ決定ステップと、前記パラメータ決定ステップで決定されたパラメータに基づいて前方誤り訂正情報を生成し、その前方誤り訂正情報を前記データ受信装置に送信する誤り訂正符号化ステップとを実行することを要旨とする。
の態様に係る発明は、第1から第3のいずれか1つの態様に係るデータ送信装置としてコンピュータを機能させるためのプログラムであることを要旨とする。

Claims (4)

  1. メディアデータに対応する前方誤り訂正情報を送信するデータ送信装置であって、
    複数のデータ受信装置から通信品質を示す品質情報を収集する品質情報収集部と、
    前記品質情報収集部により収集された品質情報のうち予め定めた条件を満たす品質情報に基づいて符号化のためのパラメータを決定するパラメータ決定部と、
    前記パラメータ決定部により決定されたパラメータに基づいて前方誤り訂正情報を生成し、その前方誤り訂正情報を前記データ受信装置に送信する誤り訂正符号化部と
    を備えることを特徴とするデータ送信装置。
  2. 前記品質情報として、前記メディアデータのパケットの連続欠損数、または、符号化ブロック内のどこで損失しているかを示すロスパターンをビット列で示したロスリストを用いることを特徴とする請求項1記載のデータ送信装置。
  3. メディアデータに対応する前方誤り訂正情報をデータ送信装置からデータ受信装置に送信することによりデータ受信装置側で符号誤りを訂正する前方誤り訂正方法であって、
    前記データ送信装置が、
    複数のデータ受信装置から通信品質を示す品質情報を収集する品質情報収集ステップと、
    前記品質情報収集ステップで収集された品質情報のうち予め定めた条件を満たす品質情報に基づいて符号化のためのパラメータを決定するパラメータ決定ステップと、
    前記パラメータ決定ステップで決定されたパラメータに基づいて前方誤り訂正情報を生成し、その前方誤り訂正情報を前記データ受信装置に送信する誤り訂正符号化ステップと
    を実行することを特徴とする前方誤り訂正方法。
  4. 請求項1又は2記載のデータ送信装置としてコンピュータを機能させるためのプログラム。
JP2013255595A 2013-12-11 2013-12-11 データ送信装置、前方誤り訂正方法、及びプログラム Active JP5743350B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013255595A JP5743350B2 (ja) 2013-12-11 2013-12-11 データ送信装置、前方誤り訂正方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013255595A JP5743350B2 (ja) 2013-12-11 2013-12-11 データ送信装置、前方誤り訂正方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015115728A true JP2015115728A (ja) 2015-06-22
JP5743350B2 JP5743350B2 (ja) 2015-07-01

Family

ID=53529175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013255595A Active JP5743350B2 (ja) 2013-12-11 2013-12-11 データ送信装置、前方誤り訂正方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5743350B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018148503A (ja) * 2017-03-08 2018-09-20 株式会社東芝 量子通信装置、量子通信システム及び量子通信方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6952726B2 (ja) 2019-01-07 2021-10-20 株式会社東芝 通信装置、通信方法、通信プログラム、および通信システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072720A (ja) * 2002-06-14 2004-03-04 Matsushita Electric Ind Co Ltd メディア伝送方法並びにその送信装置及び受信装置
JP2009272794A (ja) * 2008-05-02 2009-11-19 Fujitsu Ltd データ伝送システム、プログラム及び方法
US20130263201A1 (en) * 2010-06-01 2013-10-03 Gi Provision Limited Data transmission apparatus, system and method
JP2014068295A (ja) * 2012-09-27 2014-04-17 Kddi Corp 無線環境に適したマルチキャストデータを配信する配信サーバ、システム及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004072720A (ja) * 2002-06-14 2004-03-04 Matsushita Electric Ind Co Ltd メディア伝送方法並びにその送信装置及び受信装置
JP2009272794A (ja) * 2008-05-02 2009-11-19 Fujitsu Ltd データ伝送システム、プログラム及び方法
US20130263201A1 (en) * 2010-06-01 2013-10-03 Gi Provision Limited Data transmission apparatus, system and method
JP2014068295A (ja) * 2012-09-27 2014-04-17 Kddi Corp 無線環境に適したマルチキャストデータを配信する配信サーバ、システム及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018148503A (ja) * 2017-03-08 2018-09-20 株式会社東芝 量子通信装置、量子通信システム及び量子通信方法
US11265157B2 (en) 2017-03-08 2022-03-01 Kabushiki Kaisha Toshiba Quantum communication device, quantum communication system, and quantum communication method

Also Published As

Publication number Publication date
JP5743350B2 (ja) 2015-07-01

Similar Documents

Publication Publication Date Title
CN101272495B (zh) 用于传输基于分组的图像帧的方法和装置
JP4405875B2 (ja) エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体
JP5147950B2 (ja) 可変帯域幅のチャンネルを介してサイマル放送を行う装置および方法
CN100592670C (zh) 一种在iptv网络中动态自适应前向差错控制的***及方法
US9781488B2 (en) Controlled adaptive rate switching system and method for media streaming over IP networks
JP2010246120A (ja) ホームネットワークにおいてインターネットプロトコルテレビを使用して通信するための装置及び方法
CN103795996B (zh) 3d视频传递方法和设备
JP2009272794A (ja) データ伝送システム、プログラム及び方法
Toemoeskoezi et al. On the delay characteristics for point-to-point links using random linear network coding with on-the-fly coding capabilities
WO2012018339A1 (en) Application of unequal error protection rateless codes in multimedia streaming over multi-path networks
Sun et al. Delay-aware fountain codes for video streaming with optimal sampling strategy
JP6535718B2 (ja) ストリーミングサービスを提供する方法及び装置
JP5743350B2 (ja) データ送信装置、前方誤り訂正方法、及びプログラム
Roca et al. Less latency and better protection with AL-FEC sliding window codes: A robust multimedia CBR broadcast case study
de Alwis et al. Content and network-aware multicast over wireless networks
US20180192088A1 (en) Transmitting/receiving audio and/or video data over a wireless network
Ghaeini et al. Adaptive video protection in large scale peer‐to‐peer video streaming over mobile wireless mesh networks
CN107995502B (zh) 实现自适应流媒体的方法和设备以及***
Belda et al. Hybrid FLUTE/DASH video delivery over mobile wireless networks
Toemoeskoezi et al. On the packet delay characteristics for serially-connected links using random linear network coding with and without recoding
CN113301387B (zh) 数据编解码方法、相关设备及***
US9930423B1 (en) Dynamic transmission time interval bundling for multicast video
Naderi et al. Performance analysis of selected error control protocols in wireless multimedia sensor networks
JP5247358B2 (ja) 情報処理装置及びその方法、プログラム、記録媒体
KR100916312B1 (ko) 적응적 가중 오류 정정 부호화 및 다중 표현열 부호화를사용한 비디오 전송 장치 및 그 방법

Legal Events

Date Code Title Description
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: 20150422

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150427

R150 Certificate of patent or registration of utility model

Ref document number: 5743350

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150