符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラム
【課題】アプリケーションのレート変動に対して符号化のための情報を最適化することにより、誤り訂正遅延を常に一定値以下に維持し、低遅延で安定な符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラムを実現する。
【解決手段】データ送信装置1のデータ監視機能11は、入力データの情報量と、最終データを示すデータの区切り、及びデータの入力を開始してからの経過時間のうちの少なくとも一方とを監視する。情報決定機能12は、監視結果に基づいて、適切な符号化パラメータ等の情報を決定する。誤り訂正符号化機能14は、決定された符号化パラメータ等の情報に基づいて符号化を行う。パラメータ通知機能13は、情報決定機能12により決定された情報をパケットのヘッダに付与する。データ受信装置2の情報監視機能21は、受信したパケットのヘッダから、符号化パラメータ等の情報を取得する。誤り訂正復号化機能22は、誤り訂正演算により復号化を行い、パケット損失を修復する。
【解決手段】データ送信装置1のデータ監視機能11は、入力データの情報量と、最終データを示すデータの区切り、及びデータの入力を開始してからの経過時間のうちの少なくとも一方とを監視する。情報決定機能12は、監視結果に基づいて、適切な符号化パラメータ等の情報を決定する。誤り訂正符号化機能14は、決定された符号化パラメータ等の情報に基づいて符号化を行う。パラメータ通知機能13は、情報決定機能12により決定された情報をパケットのヘッダに付与する。データ受信装置2の情報監視機能21は、受信したパケットのヘッダから、符号化パラメータ等の情報を取得する。誤り訂正復号化機能22は、誤り訂正演算により復号化を行い、パケット損失を修復する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットを含むベストエフォート型サービスのネットワークにおいて、データ転送品質を向上させる技術に関する。
【背景技術】
【0002】
近年、通信網のブロードバンド化に伴い、双方向映像コミュニケーション等のリアルタイム映像通信の利用が増加している。リアルタイム映像通信では、通信網の品質が体感品質に直接影響するため、微量なパケット損失が視聴品質の劣化につながる。パケット損失による品質低下を防ぐ機能として、損失パケットの再送を行う方法や、予め冗長パケットを送信し、受信側で誤りを訂正する符号誤り訂正方法がある。パケットの再送を伴わない符号誤り訂正方法は、復号のための符号化ブロックを受信する時間程度の遅延しか発生しないため、リアルタイム系アプリケーションへの適用が期待されている。
【0003】
一般に、符号誤り訂正とは、sビットを1シンボルとし、伝送しようとするkシンボルの情報に誤り訂正符号化を行い、符号長nシンボルの符号(以下、符号化ブロックという。)を構成して伝送し、伝送の過程で誤りが発生したとしても、誤り訂正復号化を行うことにより元のkシンボルの情報に復元することができるというものである。符号誤り訂正には様々な符号化方式があり、適用される分野やターゲットとする誤りによって使い分けられている。本発明は、有線通信系のベストエフォート網の分野において、バーストパケット損失をターゲットとするものであり、主に、シンボル誤り訂正のリードソロモン符号やLDPC(Low Density Parity Check)符号が適用される。
【0004】
ここで、図9に、リードソロモン符号によるパケット単位の誤り訂正の実現例を示す。送信側の誤り訂正符号化機能において、送信側は、kシンボル(1シンボル=sビット)のデータ系列に対してガロア体GF(2S)の中でシンドローム計算を行い、原データ系列に2S−kシンボルの冗長データ系列を添付して送信する。受信側の誤り訂正復号化機能において、同様のシンドローム計算を行い、その結果からシンボル単位の誤り位置及び量を特定し、誤り訂正を実現する(例えば、非特許文献1を参照)。パケット単位の誤り訂正を行う場合、一般的には、長さpビットパケットに対し上記sビット単位の処理をp/s個並列に実行することにより訂正を行う。パケット毎にシーケンス番号が付与されている場合、k個の情報パケットに対し、(n−k)個の冗長パケットを添付して転送することにより(以下、RS(n,k)符号化という。)、任意の(n−k)個のパケット損失を完全に訂正することができる。
【0005】
図10に、リードソロモン符号とパケットレベルの交錯法を組み合わせた誤り訂正符化処理の実現例を示す。送信側は、列方向に誤り訂正処理を行い、k個の情報パケットと(n−k)個の冗長パケットからなる符号化ブロックをN列並べ、図10の矢印のように行方向に送信する。この方法を交錯法、ブロックの数Nを交錯回数という。これにより、ネットワークで発生した連続的なパケット損失を各符号化ブロックに分散させて訂正することができる。
【0006】
符号誤り訂正方法は、例えば、アメリカのDigital Fountain社が、メタコンテンツ技術といわれる独自の符号化・復号化技術をソフトウェアアプリケーションによって実用化している(非特許文献2を参照)。また、過度な冗長データを付与することはネットワークに更なる輻輳を発生させるという問題に対し、通信路において発生しているパケット損失率に応じて、冗長度パラメータを適応的に変化させる方式が提案されている(例えば、特許文献1を参照)。
【0007】
【非特許文献1】金子敏信、江藤良純、他著、「誤り訂正符号とその応用」、オーム出版局、平成8年12月25日発行、p.107−115
【非特許文献2】「Overview of Meta-Content Technology」、Digital Fountain社、[online]、[2004年10月14日検索]、インターネット<URL:http://digitalfountain.com/technology/index.cfm>
【特許文献1】特開2004−215224号公報(段落〔0011〕〔0012〕)
【発明の開示】
【発明が解決しようとする課題】
【0008】
リアルタイム性が高いとされている符号誤り訂正方式において、発生する誤り訂正遅延の大部分は、復号化のための符号化ブロックを受信する時間程度である。符号化ブロックの受信時間は、符号化パラメータn,kや原データ系列の送信レートに依存する。
【0009】
一方、リアルタイム映像通信は、被写体の動き等によって、原データ系列の送信レートが大きく変動するという特性を持つ。図11に示すように、送信レートの変動に対し、符号化パラメータをー定にしたまま誤り訂正符号化を行うと、送信レートが低くなるほど符号化ブロック受信時間は増加し、誤り訂正遅延も増大する。つまり、送信レートの変動によって、誤り訂正遅延の変動を生む可能性がある。
【0010】
本発明は、このような問題を考慮してなされたものであり、アプリケーションのレート変動に対して符号化のための情報を最適化することにより、誤り訂正遅延を常に一定値以下に維持することを目的とし、低遅延で安定な符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラムを実現する。
【課題を解決するための手段】
【0011】
上記課題を解決するためのデータ送信方法、受信方法、装置、システム及びプログラムについて、図1を参照してその基本構成を説明する。尚、以下の説明では、本発明をIP網に適用する場合を想定し、送受信されるデータはIPパケットの形態をとるものとする。図1において、データ送受信システム4は、入力データを入力して誤り訂正符号化し、符号化ブロックとして通信路3へ送信するデータ送信装置1と、この符号化ブロックを通信路3から受信し、符号を復号化して出力データを出力するデータ受信装置2とを備えている。データ送信装置1及びデータ受信装置2は通信路3により接続される。これらのデータ送信装置1及びデータ受信装置2は、端末や通信網エッジ等に配置される。
【0012】
データ送信装置1は、データ監視機能11、情報決定機能12、パラメータ通知機能13(情報付与機能)及び誤り訂正符号化機能14を備えている。データ監視機能11は、入力データの情報量を監視すると共に、最終データを示すデータの区切り、及びデータの入力を開始してからの経過時間のうちの少なくとも一方を監視する。情報決定機能12は、データ監視機能11により監視した結果に基づいて、入力データのレートやデータの区切り等に適した符号化のために必要なパラメータ等から成る符号化のための情報を決定する。ここで、符号化のために必要なパラメータとは、例えば、符号化及び複合化のために直接用いる符号化ブロック番号、シーケンス番号、情報パケット数、情報パケット及び冗長パケットの合計数、交錯回数をいう。また、符号化のための情報とは、符号化のために必要なパラメータに加えて、符号化及び複合化のために間接的に用いる情報であって、例えば、符号化方法等を識別するための識別情報をいう。詳細については後述する。誤り訂正符号化機能14は、情報決定機能12により決定された符号化パラメータ等の情報に基づいて、リードソロモン符号やLDPC符号等の誤り訂正符号を用いて符号化を行う。パラメータ通知機能13は、情報決定機能12により決定された情報を、例えば符号化ブロックを構成するパケットのヘッダに付与する。
【0013】
データ受信装置2は、情報監視機能21及び誤り訂正復号化機能22を備えている。情報監視機能21は、受信した符号化ブロックのパケットのヘッダから、符号化ブロック毎の符号化パラメータ等の情報を取得する。誤り訂正復号化機能22は、情報監視機能21により取得された情報に基づいて、誤り訂正演算により復号化を行い、通信路3で発生したパケット損失を修復する。
【0014】
図2に、本発明のデータ送信装置1の動作イメージを示す。図2では、誤り訂正符号としてリードソロモン符号を用いる。この例では、入力データのレートが高い時は、RS(n,k)で符号化し、入力データのレートが低い時は、RS(n/2,k/2)で符号化を行う。図1に示したパラメータ通知機能13は、変化する符号化パラメータの他、符号化ブロックを識別するための符号化ブロック番号、符号化ブロック内のシーケンス番号等を各パケットのヘッダに付与しデータ受信装置2へ通知する。
【0015】
本発明によれば、データ監視機能11が、入力データレートやデータの区切り目等を監視し、情報決定機能12が、その監視結果に応じて符号化パラメータ等の情報を適応的に変化させることが可能であるため、誤り訂正遅延を一定化することが可能となる。
【0016】
さらに、符号化のための必要なパラメータの数により識別される符号化方法と、符号化のために必要なパラメータの送信方法をデータ送受信装置1,2間であらかじめ定めておき、データ受信装置2がパラメータ数を監視することにより、パラメータ数が異なる符号化方法を通信中に変化させることが可能となる。従って、誤り訂正遅延を一定化することに加えて、パラメータ数の異なる符号化方法を入力データの状況等に応じて決定することが可能となる。
【0017】
また、符号化方法及び符号化のために必要なパラメータの送信方法を示す識別子をデータ送受信装置1,2間で予め定めておくことにより、データ送信装置1が識別子を送信し、データ受信装置2がそれを監視することで、パラメータ数が同じ符号化方法であっても符号化方法を通信中に変化させることが可能となる。従って、誤り訂正遅延を一定化することに加えて、パラメータ数が同じ符号化方法であっても入力データの状況等に応じて決定することが可能となる。
【発明の効果】
【0018】
以上のように、本発明によれば、誤り訂正遅延を常に一定値以下に維持し、低遅延で安定な符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラムを実現することが可能となる。
【発明を実施するための最良の形態】
【0019】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、データ量の単位はパケット数とし、入力データ量は、入力したデータを特定のパケットサイズに分割したときのパケット数、または、特定のパケットサイズになるようにパディングを行ったときのパケット数とする。
【実施例1】
【0020】
(符号化方法・パラメータ送信方法固定/リードソロモン符号)
本実施例は、データ送受信装置1,2間において、符号化方法及び符号化のために必要なパラメータの送信方法が予め定められており、符号化のための情報として符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。本実施例において、予め定められた符号化方法は、リードソロモン符号を用いた符号化方法である。また、予め定められた、符号化のために必要なパラメータの送信方法は、パケットのヘッダの定められた位置に、以下の(1)〜(4)の情報を付与して送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
【0021】
図3は、本発明の実施例1におけるデータ送信装置の構成及び初期設定値を示す図である。データ送信装置1−1は、データ監視機能11−1、情報決定機能12−2、パラメータ通知機能13−1及び誤り訂正符号化機能14−1を備えている。このデータ送信装置1−1は、初期設定値として、データ量の和と比較するための特定の値k0、符号化のために必要な情報n=n0,k=k0、経過時間との比較に用いる特定の時間T0、最終データとして監視するデータはMビットパケット、及び冗長度Rを予め有している。尚、Mビットパケットとは、画像フレームの単位であるIPBフレームの最後のパケットであることを示すヘッダ情報(RTPヘッダのマーカビット(Mビット)=1)が含まれたパケットをいう。以下、各機能について、図4及び図5を参照して詳細に説明する。
【0022】
データ送信装置1−1のデータ監視機能11−1は、パケットを入力し、符号化ブロックの最初のパケットを入力してからのデータ量の和を監視すると共に、以下の(1)及び(2)のうちのいずれか一方、または(1)及び(2)の両方を監視する。
(1)符号化ブロックの最初のパケットを受信してから現在までの経過時間
(2)連続データ系列のうちの最終データを意味する情報が付与されたデータの入力
ここで、(2)の最終データはMビットパケットとする。
【0023】
図4を参照して、情報決定機能12−1は、データ監視機能11−1により監視された入力パケットのデータ量の和と、予め定められた特定の値k0とを比較し、そのデータ量が特定値k0に達したものと判断すると、予め定められた情報n=n0,k=k0を符号化のための情報として選択し決定する。また、図5を参照して、情報決定機能12−1は、データ監視機能11−1により監視されたデータ量の和が予め定められた特定の値k0に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、それまでに入力したパケット数k1と、予め定められた冗長度R(0<R<1)とに基づいて、以下の式によりn1を算出し、n=n1,k=k1を符号化のための情報として選択し決定する。
式:n1=k1/(1−R)
ここで、n1が小数値を含む場合は、冗長パケット数が多くなっても損失耐力を維持したいときは小数点以下を切り上げ(安全側)、損失耐力が多少低下してしまうが冗長パケット数を増やしたくないときは小数点以下を切り捨てる(危険側)。情報決定機能12−1がn及びkを決定すると、データ監視機能11−1は、データ量の和及び経過時間をゼロクリアする。
【0024】
この場合、データ送信装置1−1は、入力したパケットをコピーし、その後直ちに入力パケットをデータ受信装置2−1へ送信する。また、誤り訂正符号化機能14−1は、このコピーされたパケットのデータを用いてRS(n,k)符号化処理を行う。これにより、誤り訂正遅延を最小限に抑えることができる。
【0025】
このように、入力パケットである情報パケットは、パラメータが決定される前にデータ受信装置2−1へ送信されてしまう。このため、パラメータ通知機能13−1は、情報パケットに対して、以下の(1)〜(4)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
また、パラメータ通知機能13−1は、冗長パケットに対して、以下の(1)〜(4)の情報を各冗長パケットのヘッダに付与する(図4,5を参照)。ここで、(3)(4)は、情報決定機能12−1により決定された情報である。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
データ送信装置1−1は、符号化のための情報が付与された情報パケット及び冗長パケットをデータ受信装置2−1へ送信する。
【0026】
データ受信装置2−1において、情報監視機能21−1が、n及びkが付与された冗長パケットを検出すると、誤り訂正復号化機能22−1は、これらのパラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−1は、受信した符号化ブロックのパケットをそのまま出力する。
【0027】
このように、実施例1によれば、インターネットを含むベストエフォート型の通信路3の下で、リアルタイム映像通信のような要求遅延時間が短い場合において、通信路3におけるパケット損失を誤り訂正符号技術によって訂正するときに、アプリケーションのレート変動に対して適応的に符号化パラメータを変更することにより、誤り訂正遅延を一定化し、低遅延で安定な通信を行うことが可能となる。
【実施例2】
【0028】
(符号化方法・パラメータ送信方法固定/リードソロモン符号+交錯法)
本実施例は、データ送受信装置1,2間において、符号化方法及び符号化のために必要なパラメータの送信方法が予め定められており、符号化のための情報として符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。本実施例において、予め定められた符号化方法は、リードソロモン符号と交錯法とを組み合わせた方法である。また、予め定められた、符号化のために必要なパラメータの送信方法は、パケットのヘッダの定められた位置に、以下の(1)〜(5)の情報を付与して送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
(5)交錯回数N
【0029】
図6は、本発明の実施例2におけるデータ送信装置の構成及び初期設定値を示す図である。データ送信装置1−2は、データ監視機能11−2、情報決定機能12−3、パラメータ通知機能13−2及び誤り訂正符号化機能14−2を備えている。このデータ送信装置1−2は、初期設定値として、データ量の和と比較するための特定の値k0×N0、符号化のための情報n=n0,k=k0,N=N0、経過時間との比較に用いる特定の時間T0、最終データとして監視するデータはMビットパケット、及び冗長度Rを予め有している。以下、各機能について、図7及び図8を参照して詳細に説明する。
【0030】
データ送信装置1−2のデータ監視機能11−2は、パケットを入力し、符号化ブロックの最初のパケットを入力してからのデータ量の和を監視すると共に、以下の(1)及び(2)のうちのいずれか一方、または(1)及び(2)の両方を監視する。
(1)符号化ブロックの最初のパケットを受信してから現在までの経過時間
(2)連続データ系列のうちの最終データを意味する情報が付与されたデータの入力
ここで、(2)の最終データは、実施例1と同様にMビットパケットとする。
【0031】
図7を参照して、情報決定機能12−2は、データ監視機能11−2により監視された入力パケットのデータ量の和と、予め定められた特定の値k0×N0とを比較し、そのデータ量が特定値k0×N0に達したものと判断すると、予め定められた情報n=n0,k=k0,N=N0を符号化のための情報として選択し決定する。また、図8を参照して、情報決定機能12−2は、データ監視機能11−2により監視されたデータ量の和が予め定められた特定の値k0×N0に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、それまでに入力したパケット数k1と、予め定められた冗長度R(0<R<1)とに基づいて、以下の場合分け(a)〜(c)により、n2,k2,N2を算出し、n=n2,k=k2,N=N2を符号化のための情報として選択し決定する。
(a)1≦k1≦k0の湯合
k2=k1
n2=k1/(1−R)
N2=1
(b)k0<k1≦2×k0の場合
k2=k1/2
n2=k2/(1−R)
N2=2
以下同様に続き、
(c)k0×(N0−1)<k1≦k0×N0の場合
k2=k1/N0
n2=k2/(1−R)
N2=N0
ここで、k2が小数値を含む場合は、小数点以下を切り上げる。また、n2が小数値を含む場合は、冗長パケット数が多くなっても損失耐力を維持したいときは小数点以下を切り上げ(安全側)、損失耐力が多少低下してしまうが冗長パケット数を増やしたくないときは小数点以下を切り捨てる(危険側)。k2の算出においては小数点の切り上げを行っているため、入力したパケット数k1がk2×N2に満たない場合がある。この場合は、足りないパケットをゼロパディングデータで補い、インタリーブ回数分の全てのブロックでRS(n2,k2)符号化を行えるようにする。情報決定機能12−2がn、k及びNを決定すると、データ監視機能11−2は、データ量の和及び経過時間をゼロクリアする。
【0032】
この場合、データ送信装置1−2は、入力したパケットをコピーし、その後直ちに入力パケットをデータ受信装置2−2へ送信する。また、誤り訂正符号化機能14−4は、このコピーされたパケットのデータを用いてRS(n,k)符号化処理をN回行う。これにより、誤り訂正遅延を最小限に抑えることができる。
【0033】
このように、入力パケットである情報パケットは、パラメータが決定される前にデータ受信装置2−2へ送信されてしまう。このため、パラメータ通知機能13−2は、情報パケットに対して、以下の(1)〜(5)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
(5)N=0
また、パラメータ通知機能13−2は、冗長パケットに対して、以下の(1)〜(5)の情報を各冗長パケットのヘッダに付与する(図7,8を参照)。ここで、(3)〜(5)は、情報決定機能12−2により決定された情報である。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
(5)N
データ送信装置1−2は、符号化のための情報が付与された情報パケット及び冗長パケットをデータ受信装置2−2へ送信する。
【0034】
データ受信装置2−2において、情報監視機能21−2が、n、k及びNが付与された冗長パケットを検出すると、誤り訂正復号化機能22−2は、これらのパラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−2は、受信した符号化ブロックのパケットをそのまま出力する。
【0035】
このように、実施例2によれば、インターネットを含むベストエフォート型の通信路3の下で、リアルタイム映像通信のような要求遅延時間が短い場合において、通信路3におけるパケット損失を誤り訂正符号技術によって訂正するときに、アプリケーションのレート変動に対して適応的に符号化パラメータを変更することにより、誤り訂正遅延を一定化し、低遅延で安定な通信を行うことが可能となる。
【実施例3】
【0036】
(パラメータ数により符号化方法を識別)
本実施例は、データ送受信装置1,2間において、データ受信装置2がパラメータの数により識別可能な符号化方法、及び符号化のために必要なパラメータの送信方法が予め定められており、符号化のための情報として符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。本実施例において、予め定められた符号化方法は、リードソロモン符号を用いた符号化方法、リードソロモン符号と交錯法とを組み合わせた方法等である。以下に示すように、リードソロモン符号を用いた符号化方法の場合のパラメータ数は4個であり、リードソロモン符号と交錯法とを組み合わせた方法の場合のパラメータ数は5個であるから、データ受信装置2は、パラメータ数により、パラメータ数の異なる符号化方法を識別することができる。また、符号化方法がリードソロモン符号を用いた方法の場合、予め定められた、符号化のために必要なパラメータの送信方法は、パケットのヘッダの定められた位置に、以下の(1)〜(4)の4個の情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
また、符号化方法がリードソロモン符号と交錯法とを組み合わせた方法の場合、予め定められた、符号化のために必要なパラメータの送信方法は、パケットのヘッダの定められた位置に、以下の(1)〜(5)の5個の情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
(5)交錯回数N
【0037】
本発明の実施例3におけるデータ送信装置及びデータ受信装置の構成は、図1に示した構成に加えて、さらに、データ送信装置1−3が符号化方法決定機能を備え、データ受信装置2−3が符号化方法識別機能を備えている。データ送信装置1−3の符号化方法決定機能は、入力したパケットのデータの状況に応じて適切な符号化方法を決定する。例えば、データの送信開始時には符号化方法としてリードソロモン符号を用いた方法に決定し、データ入力が短時間に多くなってきたか否かを判断し、そのデータ入力速度が予め設定された速度よりも大きくなったときは、リードソロモン符号と交錯法とを組み合わせた方法に決定する。
【0038】
データ監視機能11−3、情報決定機能12−3及びパラメータ通知機能13−3は、符号化方法がリードソロモン符号を用いた方法の場合は、実施例1において説明した同様の機能を実現する。また、符号化方法がリードソロモン符号と交錯法とを組み合わせた方法の場合は、実施例2において説明した同様の機能を実現する。情報決定機能12−3は、データ監視機能11−3により監視された入力パケットのデータ量の和と、符号化決定機能により決定された符号化方法における予め定められた特定の値(リードソロモン符号を用いた方法の場合はk0、リードソロモン符号と交錯法とを組み合わせた方法の場合はk0×N0)とを比較し、そのデータ量が特定値に達したものと判断すると、予め定められた情報(リードソロモン符号を用いた方法の場合はn=n0,k=k0、リードソロモン符号と交錯法とを組み合わせた方法の場合はn=n0,k=k0,N=N0)を符号化のための情報として選択し決定する。また、情報決定機能12−3は、データ監視機能11−3により監視されたデータ量の和が予め定められた特定の値に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、実施例1及び2において説明したように、それぞれの式により符号化のための情報を決定する。
【0039】
誤り訂正符号化機能14−3は、符号化方法決定機能により決定された符号化方法でRS(n,k)符号化処理を行う。パラメータ通知機能13−3は、符号化方法決定機能により決定された符号化方法における符号化のための情報(リードソロモン符号を用いた方法の場合は前述した4個のパラメータ、リードソロモン符号と交錯法とを組み合わせた方法の場合は5個のパラメータ)を、順番にパケットのヘッダに付与する。データ送信装置1−3は、実施例1及び2において説明したように、情報パケット及び冗長パケットをデータ受信装置2−3へ送信する。
【0040】
データ受信装置2−3において、情報監視機能21−3が、符号化パラメータ部分であるヘッダに符号化のための情報や数値が付与された冗長パケットを検出すると、符号化識別機能は、符号化のための情報からパラメータ数を求め、符号化方法を識別する。そして、誤り訂正復号化機能22−3は、符号化識別機能により識別された符号化方法で、情報監視機能21−3により監視されたパラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−3は、受信した符号化ブロックのパケットをそのまま出力する。
【0041】
このように、実施例3によれば、データ送信装置1−3が、入力データの状況に応じて符号化方法を決定し、その符号化方法を実現するためのパラメータをデータ受信装置2−3へ送信するようにした。これにより、データ送信装置1−3は、入力データの状況に応じて符号化方法を変更することが可能となると共に、適切な符号化方法を決定することが可能となる。また、データ受信装置2−3は、パラメータ数に基づいて符号化方法を識別することが可能となる。
【実施例4】
【0042】
(識別子により符号化方法を識別)
本実施例は、データ送受信装置1,2間において、符号化方法及び符号化のために必要なパラメータの送信方法を示す識別子が予め定められており、符号化のための情報として、識別子及び符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。データ受信装置2は、識別子により符号化方法及び符号化のために必要なパラメータの送信方法を識別することができる。本実施例において、予め定められた識別子が識別子Aの場合は、符号化方法がリードソロモン符号を用いた方法であり、符号化のためのパラメータの送信方法が、パケットのヘッダの定められた位置に、識別子Aに加えて以下の(1)〜(4)の情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
また、予め定められた識別子が識別子Bの場合は、符号化方法が、リードソロモン符号と交錯法とを組み合わせた方法であり、符号化のためのパラメータの送信方法が、パケットのヘッダの定められた位置に、識別子Bに加えて以下の(1)〜(5)情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
(5)交錯回数N
【0043】
本発明の実施例4におけるデータ送信装置及びデータ受信装置の構成は、図1に示した構成に加えて、さらに、データ送信装置1−4が符号化方法決定機能を備え、データ受信装置2−4が符号化方法識別機能を備えている。データ送信装置1−4の符号化方法決定機能は、実施例3において説明したように、入力したパケットのデータの状況に応じて適切な符号化方法を決定する。
【0044】
データ監視機能11−4、情報決定機能12−4及びパラメータ通知機能13−4は、符号化方法がリードソロモン符号を用いた方法の場合は、実施例1において説明した同様の機能を実現する。また、符号化方法がリードソロモン符号と交錯法とを組み合わせた方法の場合は、実施例2において説明した同様の機能を実現する。情報決定機能12−4は、データ監視機能11−4により監視された入力パケットのデータ量の和と、符号化決定機能により決定された符号化方法における予め定められた特定の値とを比較し、そのデータ量が特定値に達したものと判断すると、予め定められた情報を符号化のための情報として選択し決定する。また、情報決定機能12−4は、データ監視機能11−4により監視されたデータ量の和が予め定められた特定の値に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、実施例1及び2において説明したように、それぞれの式により符号化のための情報を決定する。この場合、比較する特定の値は、符号化方法決定手段により決定された符号化方法により変更するようにしてもよいし、固定であってもよい。誤り訂正符号化機能14−4は、符号化方法決定機能により決定された符号化方法でRS(n,k)符号化処理を行う。
【0045】
一方、実施例1及び2において説明したように、入力パケットである情報パケットは、パラメータが決定される前にデータ受信装置2−4へ送信されてしまう。このため、符号化方法がリードソロモン符号を用いた方法の場合、パラメータ通知機能13−4は、情報パケットに対して、識別子=Aに加えて以下の(1)〜(4)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
また、パラメータ通知機能13−4は、冗長パケットに対して、識別子=Aに加えて以下の(1)〜(4)の情報を各冗長パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
【0046】
また、符号化方法がリードソロモン符号と交錯法とを組み合わせた方法の場合は、パラメータ通知機能13−4は、情報パケットに対して、識別子=Bに加えて以下の(1)〜(5)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
(5)N=0
また、パラメータ通知機能13−4は、冗長パケットに対して、識別子=Bに加えて以下の(1)〜(5)の情報を各冗長パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
(5)N
データ送信装置1−4は、符号化のための情報が付与された情報パケット及び冗長パケットをデータ受信装置2−4へ送信する。
【0047】
データ受信装置2−4において、情報監視機能21−4が、符号化パラメータ部分であるヘッダに符号化のための情報や数値が付与された冗長パケットを検出すると、符号化識別機能は、識別子に基づいて、符号化方法及び符号化のために必要なパラメータの送信方法を識別する。そして、誤り訂正復号化機能22−4は、符号化識別機能により識別された符号化のために必要なパラメータの送信方法に従って、パラメータを取得する。また、符号化識別機能により識別された符号化方法で、前記パラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−4は、受信した符号化ブロックのパケットをそのまま出力する。
【0048】
このように、実施例4によれば、データ送信装置1−4が、入力データの状況に応じて符号化方法及び符号化のために必要なパラメータの送信方法を決定し、これらの方法を識別するための識別子をデータ受信装置2−4へ送信するようにした。これにより、データ送信装置1−4は、入力データの状況に応じて符号化方法を変更することが可能となると共に、適切な符号化方法を決定することが可能となる。また、データ受信装置2−4は、識別子に基づいて、符号化方法及び符号化のために必要なパラメータの送信方法を識別することが可能となる。
【実施例5】
【0049】
(識別子により符号化方法を識別)
本実施例は、データ送受信装置1,2間において、符号化方法及び符号化のために必要なパラメータの送信方法を示す識別子が予め定められており、符号化のための情報として、識別子及び符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。データ受信装置2は、識別子により符号化方法及び符号化のために必要なパラメータの送信方法を識別することができる。本実施例において、予め定められた識別子が識別子Aの場合は、符号化方法がリードソロモン符号を用いた符号化方法であり、符号化のためのパラメータの送信方法が、パケットのヘッダの定められた位置に、識別子Aに加えて以下の(1)〜(4)の情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
また、予め定められた識別子が識別子Bの場合は、符号化方法がLDPC符号を用いた符号化方法であり、符号化のためのパラメータの送信方法がパケットのヘッダの定められた位置に、識別子Bに加えて以下の(1)〜(4)情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
【0050】
本発明の実施例5におけるデータ送信装置及びデータ受信装置の構成は、図1に示した構成に加えて、さらに、データ送信装置1−5が符号化方法決定機能を備え、データ受信装置2−5が符号化方法識別機能を備えている。データ送信装置1−5の符号化方法決定機能は、実施例4において説明したように、入力したパケットのデータの状況に応じて適切な符号化方法を決定する。
【0051】
データ監視機能11−5、情報決定機能12−5及びパラメータ通知機能13−5は、符号化方法がリードソロモン符号を用いた方法の場合は、実施例1において説明した同様の機能を実現する。また、符号化方法がLDPC符号を用いた方法の場合も、実施例1において説明した同様の機能を実現する。情報決定機能12−5は、データ監視機能11−5により監視された入力パケットのデータ量の和と、符号化決定機能により決定された符号化方法における予め定められた特定の値とを比較し、そのデータ量が特定値に達したものと判断すると、予め定められた情報を符号化のための情報として選択し決定する。また、情報決定機能12−5は、データ監視機能11−5により監視されたデータ量の和が予め定められた特定の値に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、実施例1において説明したように、それぞれの式により符号化のための情報を決定する。この場合、比較する特定の値は、符号化方法決定手段により決定された符号化方法により変更するようにしてもよいし、固定であってもよい。誤り訂正符号化機能14−5は、符号化方法決定機能により決定された符号化方法でRS(n,k)符号化処理を行う。符号化方法がLDPC符号を用いた方法の場合、誤り訂正符号化機能14−5は、LDPC符号化則に従い、入力したk1個のパケットを符号化し、n1パケットの符号化ブロックを生成する。
【0052】
一方、実施例1において説明したように、入力パケットである情報パケットは、パラメータが決定される前にデータ受信装置2−5へ送信されてしまう。このため、符号化方法がリードソロモン符号を用いた方法の場合、パラメータ通知機能13−5は、情報パケットに対して、識別子=Aに加えて以下の(1)〜(4)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
また、パラメータ通知機能13−5は、冗長パケットに対して、識別子=Aに加えて以下の(1)〜(4)の情報を各冗長パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
【0053】
また、符号化方法がLDPC符号を用いた方法の場合は、パラメータ通知機能13−5は、情報パケットに対して、識別子=Bに加えて以下の(1)〜(4)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
(5)N=0
また、パラメータ通知機能13−5は、冗長パケットに対して、識別子=Bに加えて以下の(1)〜(5)の情報を各冗長パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
(5)N
データ送信装置1−5は、符号化のための情報が付与された情報パケット及び冗長パケットをデータ受信装置2−5へ送信する。
【0054】
データ受信装置2−5において、情報監視機能21−5が、符号化パラメータ部分であるヘッダに符号化のための情報や数値が付与された冗長パケットを検出すると、符号化識別機能は、識別子に基づいて、符号化方法及び符号化のために必要なパラメータの送信方法を識別する。そして、誤り訂正復号化機能22−5は、符号化識別機能により識別された符号化のために必要なパラメータの送信方法に従って、パラメータを取得する。また、符号化識別機能により識別された符号化方法で、前記パラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−5は、受信した符号化ブロックのパケットをそのまま出力する。
【0055】
このように、実施例5によれば、データ送信装置1−5が、入力データの状況に応じて符号化方法及び符号化のために必要なパラメータの送信方法を決定し、これらの方法を識別するための識別子をデータ受信装置2−5へ送信するようにした。これにより、データ送信装置1−5は、入力データに応じて符号化方法を変更することが可能となると共に、適切な符号化方法を決定することが可能となる。また、データ受信装置2−5は、識別子に基づいて、符号化方法及び符号化のために必要なパラメータの送信方法を識別することが可能となることに加えて、パラメータ数及びパラメータ内容が同じ複数の異なる符号化方法を識別することが可能となる。
【0056】
また、実施例5によれば、データ送信装置1−5の符号化方法決定機能は、データ送信開始時に、符号化方法として、損失耐力の高いリードソロモン符号を用いた符号化方法を決定し、他のアプリケーションを同時に動作させる等によりマシンであるデータ送信装置1−5の負荷が増大した時に、符号化方法として、損失耐力は多少低いが演算負荷がリードソロモン符号よりも小さいLDPC符号を用いた符号化方法を決定するようにしてもよい。この場合、データ送信装置1−5は、その負荷状況に応じた符号化方法を決定することができる。
【0057】
尚、前述の実施例1から5において、データ送信装置1,1−1〜1−5及びデータ受信装置2,2−1〜2−5は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、キーボードやポインティングデバイス等の入力装置、画像やシーンを表示する表示装置、及び外部の装置と通信をするためのインターフェースを備えたコンピュータ装置によってそれぞれ構成されるようにしてもよい。この場合、データ送信装置1,1−1〜1−5に備えたデータ監視機能11,11−1〜11−5、情報決定機能12,12−1〜12−5、パラメータ通知機能13,13−1〜13−5、誤り訂正符号化機能14,14−1〜14−5、及び符号化決定機能、データ受信装置2,2−1〜2−5に備えた情報監視機能21,21−1〜21−5、誤り訂正復号化機能22,22−1〜22−5、及び符号化識別機能の各機能は、当該機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、これらのプログラムは、磁気ディスク(フロッピィーディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【図面の簡単な説明】
【0058】
【図1】本発明の基本構成を示すブロック図である。
【図2】本発明のデータ送信装置の動作イメージを示す説明図である。
【図3】本発明の実施例1におけるデータ送信装置の構成及び初期設定値を示す図である。
【図4】図3におけるデータ送信装置の動作イメージを示す第1の説明図である。
【図5】図3におけるデータ送信装置の動作イメージを示す第2の説明図である。
【図6】本発明の実施例2におけるデータ送信装置の構成及び初期設定値を示す図である。
【図7】図6におけるデータ送信装置の動作イメージを示す第1の説明図である。
【図8】図6におけるデータ送信装置の動作イメージを示す第2の説明図である。
【図9】リードソロモン符号によるパケット単位の誤り訂正の実現例を示す図である。
【図10】リードソロモン符号と交錯法を組み合わせた誤り訂正の実現例を示す図である。
【図11】送信レート変動と誤り訂正遅延変動との関係を示す図である。
【符号の説明】
【0059】
1 データ送信装置
2 データ受信装置
3 通信路
4 データ送受信システム
11 データ監視機能
12 情報決定機能
13 パラメータ通知機能
14 誤り訂正符号化機能
21 情報監視機能
22 誤り訂正復号化機能
【技術分野】
【0001】
本発明は、インターネットを含むベストエフォート型サービスのネットワークにおいて、データ転送品質を向上させる技術に関する。
【背景技術】
【0002】
近年、通信網のブロードバンド化に伴い、双方向映像コミュニケーション等のリアルタイム映像通信の利用が増加している。リアルタイム映像通信では、通信網の品質が体感品質に直接影響するため、微量なパケット損失が視聴品質の劣化につながる。パケット損失による品質低下を防ぐ機能として、損失パケットの再送を行う方法や、予め冗長パケットを送信し、受信側で誤りを訂正する符号誤り訂正方法がある。パケットの再送を伴わない符号誤り訂正方法は、復号のための符号化ブロックを受信する時間程度の遅延しか発生しないため、リアルタイム系アプリケーションへの適用が期待されている。
【0003】
一般に、符号誤り訂正とは、sビットを1シンボルとし、伝送しようとするkシンボルの情報に誤り訂正符号化を行い、符号長nシンボルの符号(以下、符号化ブロックという。)を構成して伝送し、伝送の過程で誤りが発生したとしても、誤り訂正復号化を行うことにより元のkシンボルの情報に復元することができるというものである。符号誤り訂正には様々な符号化方式があり、適用される分野やターゲットとする誤りによって使い分けられている。本発明は、有線通信系のベストエフォート網の分野において、バーストパケット損失をターゲットとするものであり、主に、シンボル誤り訂正のリードソロモン符号やLDPC(Low Density Parity Check)符号が適用される。
【0004】
ここで、図9に、リードソロモン符号によるパケット単位の誤り訂正の実現例を示す。送信側の誤り訂正符号化機能において、送信側は、kシンボル(1シンボル=sビット)のデータ系列に対してガロア体GF(2S)の中でシンドローム計算を行い、原データ系列に2S−kシンボルの冗長データ系列を添付して送信する。受信側の誤り訂正復号化機能において、同様のシンドローム計算を行い、その結果からシンボル単位の誤り位置及び量を特定し、誤り訂正を実現する(例えば、非特許文献1を参照)。パケット単位の誤り訂正を行う場合、一般的には、長さpビットパケットに対し上記sビット単位の処理をp/s個並列に実行することにより訂正を行う。パケット毎にシーケンス番号が付与されている場合、k個の情報パケットに対し、(n−k)個の冗長パケットを添付して転送することにより(以下、RS(n,k)符号化という。)、任意の(n−k)個のパケット損失を完全に訂正することができる。
【0005】
図10に、リードソロモン符号とパケットレベルの交錯法を組み合わせた誤り訂正符化処理の実現例を示す。送信側は、列方向に誤り訂正処理を行い、k個の情報パケットと(n−k)個の冗長パケットからなる符号化ブロックをN列並べ、図10の矢印のように行方向に送信する。この方法を交錯法、ブロックの数Nを交錯回数という。これにより、ネットワークで発生した連続的なパケット損失を各符号化ブロックに分散させて訂正することができる。
【0006】
符号誤り訂正方法は、例えば、アメリカのDigital Fountain社が、メタコンテンツ技術といわれる独自の符号化・復号化技術をソフトウェアアプリケーションによって実用化している(非特許文献2を参照)。また、過度な冗長データを付与することはネットワークに更なる輻輳を発生させるという問題に対し、通信路において発生しているパケット損失率に応じて、冗長度パラメータを適応的に変化させる方式が提案されている(例えば、特許文献1を参照)。
【0007】
【非特許文献1】金子敏信、江藤良純、他著、「誤り訂正符号とその応用」、オーム出版局、平成8年12月25日発行、p.107−115
【非特許文献2】「Overview of Meta-Content Technology」、Digital Fountain社、[online]、[2004年10月14日検索]、インターネット<URL:http://digitalfountain.com/technology/index.cfm>
【特許文献1】特開2004−215224号公報(段落〔0011〕〔0012〕)
【発明の開示】
【発明が解決しようとする課題】
【0008】
リアルタイム性が高いとされている符号誤り訂正方式において、発生する誤り訂正遅延の大部分は、復号化のための符号化ブロックを受信する時間程度である。符号化ブロックの受信時間は、符号化パラメータn,kや原データ系列の送信レートに依存する。
【0009】
一方、リアルタイム映像通信は、被写体の動き等によって、原データ系列の送信レートが大きく変動するという特性を持つ。図11に示すように、送信レートの変動に対し、符号化パラメータをー定にしたまま誤り訂正符号化を行うと、送信レートが低くなるほど符号化ブロック受信時間は増加し、誤り訂正遅延も増大する。つまり、送信レートの変動によって、誤り訂正遅延の変動を生む可能性がある。
【0010】
本発明は、このような問題を考慮してなされたものであり、アプリケーションのレート変動に対して符号化のための情報を最適化することにより、誤り訂正遅延を常に一定値以下に維持することを目的とし、低遅延で安定な符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラムを実現する。
【課題を解決するための手段】
【0011】
上記課題を解決するためのデータ送信方法、受信方法、装置、システム及びプログラムについて、図1を参照してその基本構成を説明する。尚、以下の説明では、本発明をIP網に適用する場合を想定し、送受信されるデータはIPパケットの形態をとるものとする。図1において、データ送受信システム4は、入力データを入力して誤り訂正符号化し、符号化ブロックとして通信路3へ送信するデータ送信装置1と、この符号化ブロックを通信路3から受信し、符号を復号化して出力データを出力するデータ受信装置2とを備えている。データ送信装置1及びデータ受信装置2は通信路3により接続される。これらのデータ送信装置1及びデータ受信装置2は、端末や通信網エッジ等に配置される。
【0012】
データ送信装置1は、データ監視機能11、情報決定機能12、パラメータ通知機能13(情報付与機能)及び誤り訂正符号化機能14を備えている。データ監視機能11は、入力データの情報量を監視すると共に、最終データを示すデータの区切り、及びデータの入力を開始してからの経過時間のうちの少なくとも一方を監視する。情報決定機能12は、データ監視機能11により監視した結果に基づいて、入力データのレートやデータの区切り等に適した符号化のために必要なパラメータ等から成る符号化のための情報を決定する。ここで、符号化のために必要なパラメータとは、例えば、符号化及び複合化のために直接用いる符号化ブロック番号、シーケンス番号、情報パケット数、情報パケット及び冗長パケットの合計数、交錯回数をいう。また、符号化のための情報とは、符号化のために必要なパラメータに加えて、符号化及び複合化のために間接的に用いる情報であって、例えば、符号化方法等を識別するための識別情報をいう。詳細については後述する。誤り訂正符号化機能14は、情報決定機能12により決定された符号化パラメータ等の情報に基づいて、リードソロモン符号やLDPC符号等の誤り訂正符号を用いて符号化を行う。パラメータ通知機能13は、情報決定機能12により決定された情報を、例えば符号化ブロックを構成するパケットのヘッダに付与する。
【0013】
データ受信装置2は、情報監視機能21及び誤り訂正復号化機能22を備えている。情報監視機能21は、受信した符号化ブロックのパケットのヘッダから、符号化ブロック毎の符号化パラメータ等の情報を取得する。誤り訂正復号化機能22は、情報監視機能21により取得された情報に基づいて、誤り訂正演算により復号化を行い、通信路3で発生したパケット損失を修復する。
【0014】
図2に、本発明のデータ送信装置1の動作イメージを示す。図2では、誤り訂正符号としてリードソロモン符号を用いる。この例では、入力データのレートが高い時は、RS(n,k)で符号化し、入力データのレートが低い時は、RS(n/2,k/2)で符号化を行う。図1に示したパラメータ通知機能13は、変化する符号化パラメータの他、符号化ブロックを識別するための符号化ブロック番号、符号化ブロック内のシーケンス番号等を各パケットのヘッダに付与しデータ受信装置2へ通知する。
【0015】
本発明によれば、データ監視機能11が、入力データレートやデータの区切り目等を監視し、情報決定機能12が、その監視結果に応じて符号化パラメータ等の情報を適応的に変化させることが可能であるため、誤り訂正遅延を一定化することが可能となる。
【0016】
さらに、符号化のための必要なパラメータの数により識別される符号化方法と、符号化のために必要なパラメータの送信方法をデータ送受信装置1,2間であらかじめ定めておき、データ受信装置2がパラメータ数を監視することにより、パラメータ数が異なる符号化方法を通信中に変化させることが可能となる。従って、誤り訂正遅延を一定化することに加えて、パラメータ数の異なる符号化方法を入力データの状況等に応じて決定することが可能となる。
【0017】
また、符号化方法及び符号化のために必要なパラメータの送信方法を示す識別子をデータ送受信装置1,2間で予め定めておくことにより、データ送信装置1が識別子を送信し、データ受信装置2がそれを監視することで、パラメータ数が同じ符号化方法であっても符号化方法を通信中に変化させることが可能となる。従って、誤り訂正遅延を一定化することに加えて、パラメータ数が同じ符号化方法であっても入力データの状況等に応じて決定することが可能となる。
【発明の効果】
【0018】
以上のように、本発明によれば、誤り訂正遅延を常に一定値以下に維持し、低遅延で安定な符号誤り訂正を行うデータ送信方法、受信方法、装置、システム及びプログラムを実現することが可能となる。
【発明を実施するための最良の形態】
【0019】
以下、図面を参照して本発明の実施の形態について詳細に説明する。尚、データ量の単位はパケット数とし、入力データ量は、入力したデータを特定のパケットサイズに分割したときのパケット数、または、特定のパケットサイズになるようにパディングを行ったときのパケット数とする。
【実施例1】
【0020】
(符号化方法・パラメータ送信方法固定/リードソロモン符号)
本実施例は、データ送受信装置1,2間において、符号化方法及び符号化のために必要なパラメータの送信方法が予め定められており、符号化のための情報として符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。本実施例において、予め定められた符号化方法は、リードソロモン符号を用いた符号化方法である。また、予め定められた、符号化のために必要なパラメータの送信方法は、パケットのヘッダの定められた位置に、以下の(1)〜(4)の情報を付与して送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
【0021】
図3は、本発明の実施例1におけるデータ送信装置の構成及び初期設定値を示す図である。データ送信装置1−1は、データ監視機能11−1、情報決定機能12−2、パラメータ通知機能13−1及び誤り訂正符号化機能14−1を備えている。このデータ送信装置1−1は、初期設定値として、データ量の和と比較するための特定の値k0、符号化のために必要な情報n=n0,k=k0、経過時間との比較に用いる特定の時間T0、最終データとして監視するデータはMビットパケット、及び冗長度Rを予め有している。尚、Mビットパケットとは、画像フレームの単位であるIPBフレームの最後のパケットであることを示すヘッダ情報(RTPヘッダのマーカビット(Mビット)=1)が含まれたパケットをいう。以下、各機能について、図4及び図5を参照して詳細に説明する。
【0022】
データ送信装置1−1のデータ監視機能11−1は、パケットを入力し、符号化ブロックの最初のパケットを入力してからのデータ量の和を監視すると共に、以下の(1)及び(2)のうちのいずれか一方、または(1)及び(2)の両方を監視する。
(1)符号化ブロックの最初のパケットを受信してから現在までの経過時間
(2)連続データ系列のうちの最終データを意味する情報が付与されたデータの入力
ここで、(2)の最終データはMビットパケットとする。
【0023】
図4を参照して、情報決定機能12−1は、データ監視機能11−1により監視された入力パケットのデータ量の和と、予め定められた特定の値k0とを比較し、そのデータ量が特定値k0に達したものと判断すると、予め定められた情報n=n0,k=k0を符号化のための情報として選択し決定する。また、図5を参照して、情報決定機能12−1は、データ監視機能11−1により監視されたデータ量の和が予め定められた特定の値k0に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、それまでに入力したパケット数k1と、予め定められた冗長度R(0<R<1)とに基づいて、以下の式によりn1を算出し、n=n1,k=k1を符号化のための情報として選択し決定する。
式:n1=k1/(1−R)
ここで、n1が小数値を含む場合は、冗長パケット数が多くなっても損失耐力を維持したいときは小数点以下を切り上げ(安全側)、損失耐力が多少低下してしまうが冗長パケット数を増やしたくないときは小数点以下を切り捨てる(危険側)。情報決定機能12−1がn及びkを決定すると、データ監視機能11−1は、データ量の和及び経過時間をゼロクリアする。
【0024】
この場合、データ送信装置1−1は、入力したパケットをコピーし、その後直ちに入力パケットをデータ受信装置2−1へ送信する。また、誤り訂正符号化機能14−1は、このコピーされたパケットのデータを用いてRS(n,k)符号化処理を行う。これにより、誤り訂正遅延を最小限に抑えることができる。
【0025】
このように、入力パケットである情報パケットは、パラメータが決定される前にデータ受信装置2−1へ送信されてしまう。このため、パラメータ通知機能13−1は、情報パケットに対して、以下の(1)〜(4)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
また、パラメータ通知機能13−1は、冗長パケットに対して、以下の(1)〜(4)の情報を各冗長パケットのヘッダに付与する(図4,5を参照)。ここで、(3)(4)は、情報決定機能12−1により決定された情報である。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
データ送信装置1−1は、符号化のための情報が付与された情報パケット及び冗長パケットをデータ受信装置2−1へ送信する。
【0026】
データ受信装置2−1において、情報監視機能21−1が、n及びkが付与された冗長パケットを検出すると、誤り訂正復号化機能22−1は、これらのパラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−1は、受信した符号化ブロックのパケットをそのまま出力する。
【0027】
このように、実施例1によれば、インターネットを含むベストエフォート型の通信路3の下で、リアルタイム映像通信のような要求遅延時間が短い場合において、通信路3におけるパケット損失を誤り訂正符号技術によって訂正するときに、アプリケーションのレート変動に対して適応的に符号化パラメータを変更することにより、誤り訂正遅延を一定化し、低遅延で安定な通信を行うことが可能となる。
【実施例2】
【0028】
(符号化方法・パラメータ送信方法固定/リードソロモン符号+交錯法)
本実施例は、データ送受信装置1,2間において、符号化方法及び符号化のために必要なパラメータの送信方法が予め定められており、符号化のための情報として符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。本実施例において、予め定められた符号化方法は、リードソロモン符号と交錯法とを組み合わせた方法である。また、予め定められた、符号化のために必要なパラメータの送信方法は、パケットのヘッダの定められた位置に、以下の(1)〜(5)の情報を付与して送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
(5)交錯回数N
【0029】
図6は、本発明の実施例2におけるデータ送信装置の構成及び初期設定値を示す図である。データ送信装置1−2は、データ監視機能11−2、情報決定機能12−3、パラメータ通知機能13−2及び誤り訂正符号化機能14−2を備えている。このデータ送信装置1−2は、初期設定値として、データ量の和と比較するための特定の値k0×N0、符号化のための情報n=n0,k=k0,N=N0、経過時間との比較に用いる特定の時間T0、最終データとして監視するデータはMビットパケット、及び冗長度Rを予め有している。以下、各機能について、図7及び図8を参照して詳細に説明する。
【0030】
データ送信装置1−2のデータ監視機能11−2は、パケットを入力し、符号化ブロックの最初のパケットを入力してからのデータ量の和を監視すると共に、以下の(1)及び(2)のうちのいずれか一方、または(1)及び(2)の両方を監視する。
(1)符号化ブロックの最初のパケットを受信してから現在までの経過時間
(2)連続データ系列のうちの最終データを意味する情報が付与されたデータの入力
ここで、(2)の最終データは、実施例1と同様にMビットパケットとする。
【0031】
図7を参照して、情報決定機能12−2は、データ監視機能11−2により監視された入力パケットのデータ量の和と、予め定められた特定の値k0×N0とを比較し、そのデータ量が特定値k0×N0に達したものと判断すると、予め定められた情報n=n0,k=k0,N=N0を符号化のための情報として選択し決定する。また、図8を参照して、情報決定機能12−2は、データ監視機能11−2により監視されたデータ量の和が予め定められた特定の値k0×N0に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、それまでに入力したパケット数k1と、予め定められた冗長度R(0<R<1)とに基づいて、以下の場合分け(a)〜(c)により、n2,k2,N2を算出し、n=n2,k=k2,N=N2を符号化のための情報として選択し決定する。
(a)1≦k1≦k0の湯合
k2=k1
n2=k1/(1−R)
N2=1
(b)k0<k1≦2×k0の場合
k2=k1/2
n2=k2/(1−R)
N2=2
以下同様に続き、
(c)k0×(N0−1)<k1≦k0×N0の場合
k2=k1/N0
n2=k2/(1−R)
N2=N0
ここで、k2が小数値を含む場合は、小数点以下を切り上げる。また、n2が小数値を含む場合は、冗長パケット数が多くなっても損失耐力を維持したいときは小数点以下を切り上げ(安全側)、損失耐力が多少低下してしまうが冗長パケット数を増やしたくないときは小数点以下を切り捨てる(危険側)。k2の算出においては小数点の切り上げを行っているため、入力したパケット数k1がk2×N2に満たない場合がある。この場合は、足りないパケットをゼロパディングデータで補い、インタリーブ回数分の全てのブロックでRS(n2,k2)符号化を行えるようにする。情報決定機能12−2がn、k及びNを決定すると、データ監視機能11−2は、データ量の和及び経過時間をゼロクリアする。
【0032】
この場合、データ送信装置1−2は、入力したパケットをコピーし、その後直ちに入力パケットをデータ受信装置2−2へ送信する。また、誤り訂正符号化機能14−4は、このコピーされたパケットのデータを用いてRS(n,k)符号化処理をN回行う。これにより、誤り訂正遅延を最小限に抑えることができる。
【0033】
このように、入力パケットである情報パケットは、パラメータが決定される前にデータ受信装置2−2へ送信されてしまう。このため、パラメータ通知機能13−2は、情報パケットに対して、以下の(1)〜(5)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
(5)N=0
また、パラメータ通知機能13−2は、冗長パケットに対して、以下の(1)〜(5)の情報を各冗長パケットのヘッダに付与する(図7,8を参照)。ここで、(3)〜(5)は、情報決定機能12−2により決定された情報である。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
(5)N
データ送信装置1−2は、符号化のための情報が付与された情報パケット及び冗長パケットをデータ受信装置2−2へ送信する。
【0034】
データ受信装置2−2において、情報監視機能21−2が、n、k及びNが付与された冗長パケットを検出すると、誤り訂正復号化機能22−2は、これらのパラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−2は、受信した符号化ブロックのパケットをそのまま出力する。
【0035】
このように、実施例2によれば、インターネットを含むベストエフォート型の通信路3の下で、リアルタイム映像通信のような要求遅延時間が短い場合において、通信路3におけるパケット損失を誤り訂正符号技術によって訂正するときに、アプリケーションのレート変動に対して適応的に符号化パラメータを変更することにより、誤り訂正遅延を一定化し、低遅延で安定な通信を行うことが可能となる。
【実施例3】
【0036】
(パラメータ数により符号化方法を識別)
本実施例は、データ送受信装置1,2間において、データ受信装置2がパラメータの数により識別可能な符号化方法、及び符号化のために必要なパラメータの送信方法が予め定められており、符号化のための情報として符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。本実施例において、予め定められた符号化方法は、リードソロモン符号を用いた符号化方法、リードソロモン符号と交錯法とを組み合わせた方法等である。以下に示すように、リードソロモン符号を用いた符号化方法の場合のパラメータ数は4個であり、リードソロモン符号と交錯法とを組み合わせた方法の場合のパラメータ数は5個であるから、データ受信装置2は、パラメータ数により、パラメータ数の異なる符号化方法を識別することができる。また、符号化方法がリードソロモン符号を用いた方法の場合、予め定められた、符号化のために必要なパラメータの送信方法は、パケットのヘッダの定められた位置に、以下の(1)〜(4)の4個の情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
また、符号化方法がリードソロモン符号と交錯法とを組み合わせた方法の場合、予め定められた、符号化のために必要なパラメータの送信方法は、パケットのヘッダの定められた位置に、以下の(1)〜(5)の5個の情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
(5)交錯回数N
【0037】
本発明の実施例3におけるデータ送信装置及びデータ受信装置の構成は、図1に示した構成に加えて、さらに、データ送信装置1−3が符号化方法決定機能を備え、データ受信装置2−3が符号化方法識別機能を備えている。データ送信装置1−3の符号化方法決定機能は、入力したパケットのデータの状況に応じて適切な符号化方法を決定する。例えば、データの送信開始時には符号化方法としてリードソロモン符号を用いた方法に決定し、データ入力が短時間に多くなってきたか否かを判断し、そのデータ入力速度が予め設定された速度よりも大きくなったときは、リードソロモン符号と交錯法とを組み合わせた方法に決定する。
【0038】
データ監視機能11−3、情報決定機能12−3及びパラメータ通知機能13−3は、符号化方法がリードソロモン符号を用いた方法の場合は、実施例1において説明した同様の機能を実現する。また、符号化方法がリードソロモン符号と交錯法とを組み合わせた方法の場合は、実施例2において説明した同様の機能を実現する。情報決定機能12−3は、データ監視機能11−3により監視された入力パケットのデータ量の和と、符号化決定機能により決定された符号化方法における予め定められた特定の値(リードソロモン符号を用いた方法の場合はk0、リードソロモン符号と交錯法とを組み合わせた方法の場合はk0×N0)とを比較し、そのデータ量が特定値に達したものと判断すると、予め定められた情報(リードソロモン符号を用いた方法の場合はn=n0,k=k0、リードソロモン符号と交錯法とを組み合わせた方法の場合はn=n0,k=k0,N=N0)を符号化のための情報として選択し決定する。また、情報決定機能12−3は、データ監視機能11−3により監視されたデータ量の和が予め定められた特定の値に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、実施例1及び2において説明したように、それぞれの式により符号化のための情報を決定する。
【0039】
誤り訂正符号化機能14−3は、符号化方法決定機能により決定された符号化方法でRS(n,k)符号化処理を行う。パラメータ通知機能13−3は、符号化方法決定機能により決定された符号化方法における符号化のための情報(リードソロモン符号を用いた方法の場合は前述した4個のパラメータ、リードソロモン符号と交錯法とを組み合わせた方法の場合は5個のパラメータ)を、順番にパケットのヘッダに付与する。データ送信装置1−3は、実施例1及び2において説明したように、情報パケット及び冗長パケットをデータ受信装置2−3へ送信する。
【0040】
データ受信装置2−3において、情報監視機能21−3が、符号化パラメータ部分であるヘッダに符号化のための情報や数値が付与された冗長パケットを検出すると、符号化識別機能は、符号化のための情報からパラメータ数を求め、符号化方法を識別する。そして、誤り訂正復号化機能22−3は、符号化識別機能により識別された符号化方法で、情報監視機能21−3により監視されたパラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−3は、受信した符号化ブロックのパケットをそのまま出力する。
【0041】
このように、実施例3によれば、データ送信装置1−3が、入力データの状況に応じて符号化方法を決定し、その符号化方法を実現するためのパラメータをデータ受信装置2−3へ送信するようにした。これにより、データ送信装置1−3は、入力データの状況に応じて符号化方法を変更することが可能となると共に、適切な符号化方法を決定することが可能となる。また、データ受信装置2−3は、パラメータ数に基づいて符号化方法を識別することが可能となる。
【実施例4】
【0042】
(識別子により符号化方法を識別)
本実施例は、データ送受信装置1,2間において、符号化方法及び符号化のために必要なパラメータの送信方法を示す識別子が予め定められており、符号化のための情報として、識別子及び符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。データ受信装置2は、識別子により符号化方法及び符号化のために必要なパラメータの送信方法を識別することができる。本実施例において、予め定められた識別子が識別子Aの場合は、符号化方法がリードソロモン符号を用いた方法であり、符号化のためのパラメータの送信方法が、パケットのヘッダの定められた位置に、識別子Aに加えて以下の(1)〜(4)の情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
また、予め定められた識別子が識別子Bの場合は、符号化方法が、リードソロモン符号と交錯法とを組み合わせた方法であり、符号化のためのパラメータの送信方法が、パケットのヘッダの定められた位置に、識別子Bに加えて以下の(1)〜(5)情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
(5)交錯回数N
【0043】
本発明の実施例4におけるデータ送信装置及びデータ受信装置の構成は、図1に示した構成に加えて、さらに、データ送信装置1−4が符号化方法決定機能を備え、データ受信装置2−4が符号化方法識別機能を備えている。データ送信装置1−4の符号化方法決定機能は、実施例3において説明したように、入力したパケットのデータの状況に応じて適切な符号化方法を決定する。
【0044】
データ監視機能11−4、情報決定機能12−4及びパラメータ通知機能13−4は、符号化方法がリードソロモン符号を用いた方法の場合は、実施例1において説明した同様の機能を実現する。また、符号化方法がリードソロモン符号と交錯法とを組み合わせた方法の場合は、実施例2において説明した同様の機能を実現する。情報決定機能12−4は、データ監視機能11−4により監視された入力パケットのデータ量の和と、符号化決定機能により決定された符号化方法における予め定められた特定の値とを比較し、そのデータ量が特定値に達したものと判断すると、予め定められた情報を符号化のための情報として選択し決定する。また、情報決定機能12−4は、データ監視機能11−4により監視されたデータ量の和が予め定められた特定の値に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、実施例1及び2において説明したように、それぞれの式により符号化のための情報を決定する。この場合、比較する特定の値は、符号化方法決定手段により決定された符号化方法により変更するようにしてもよいし、固定であってもよい。誤り訂正符号化機能14−4は、符号化方法決定機能により決定された符号化方法でRS(n,k)符号化処理を行う。
【0045】
一方、実施例1及び2において説明したように、入力パケットである情報パケットは、パラメータが決定される前にデータ受信装置2−4へ送信されてしまう。このため、符号化方法がリードソロモン符号を用いた方法の場合、パラメータ通知機能13−4は、情報パケットに対して、識別子=Aに加えて以下の(1)〜(4)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
また、パラメータ通知機能13−4は、冗長パケットに対して、識別子=Aに加えて以下の(1)〜(4)の情報を各冗長パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
【0046】
また、符号化方法がリードソロモン符号と交錯法とを組み合わせた方法の場合は、パラメータ通知機能13−4は、情報パケットに対して、識別子=Bに加えて以下の(1)〜(5)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
(5)N=0
また、パラメータ通知機能13−4は、冗長パケットに対して、識別子=Bに加えて以下の(1)〜(5)の情報を各冗長パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
(5)N
データ送信装置1−4は、符号化のための情報が付与された情報パケット及び冗長パケットをデータ受信装置2−4へ送信する。
【0047】
データ受信装置2−4において、情報監視機能21−4が、符号化パラメータ部分であるヘッダに符号化のための情報や数値が付与された冗長パケットを検出すると、符号化識別機能は、識別子に基づいて、符号化方法及び符号化のために必要なパラメータの送信方法を識別する。そして、誤り訂正復号化機能22−4は、符号化識別機能により識別された符号化のために必要なパラメータの送信方法に従って、パラメータを取得する。また、符号化識別機能により識別された符号化方法で、前記パラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−4は、受信した符号化ブロックのパケットをそのまま出力する。
【0048】
このように、実施例4によれば、データ送信装置1−4が、入力データの状況に応じて符号化方法及び符号化のために必要なパラメータの送信方法を決定し、これらの方法を識別するための識別子をデータ受信装置2−4へ送信するようにした。これにより、データ送信装置1−4は、入力データの状況に応じて符号化方法を変更することが可能となると共に、適切な符号化方法を決定することが可能となる。また、データ受信装置2−4は、識別子に基づいて、符号化方法及び符号化のために必要なパラメータの送信方法を識別することが可能となる。
【実施例5】
【0049】
(識別子により符号化方法を識別)
本実施例は、データ送受信装置1,2間において、符号化方法及び符号化のために必要なパラメータの送信方法を示す識別子が予め定められており、符号化のための情報として、識別子及び符号化のために必要なパラメータのみがデータ送信装置1からデータ受信装置2へ送信されるものとする。データ受信装置2は、識別子により符号化方法及び符号化のために必要なパラメータの送信方法を識別することができる。本実施例において、予め定められた識別子が識別子Aの場合は、符号化方法がリードソロモン符号を用いた符号化方法であり、符号化のためのパラメータの送信方法が、パケットのヘッダの定められた位置に、識別子Aに加えて以下の(1)〜(4)の情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
また、予め定められた識別子が識別子Bの場合は、符号化方法がLDPC符号を用いた符号化方法であり、符号化のためのパラメータの送信方法がパケットのヘッダの定められた位置に、識別子Bに加えて以下の(1)〜(4)情報をパラメータとして付与し、送信する方法である。
(1)符号化ブロック番号
(2)符号化ブロック内のシーケンス番号
(3)情報パケット数+冗長パケット数n
(4)情報パケット数k
【0050】
本発明の実施例5におけるデータ送信装置及びデータ受信装置の構成は、図1に示した構成に加えて、さらに、データ送信装置1−5が符号化方法決定機能を備え、データ受信装置2−5が符号化方法識別機能を備えている。データ送信装置1−5の符号化方法決定機能は、実施例4において説明したように、入力したパケットのデータの状況に応じて適切な符号化方法を決定する。
【0051】
データ監視機能11−5、情報決定機能12−5及びパラメータ通知機能13−5は、符号化方法がリードソロモン符号を用いた方法の場合は、実施例1において説明した同様の機能を実現する。また、符号化方法がLDPC符号を用いた方法の場合も、実施例1において説明した同様の機能を実現する。情報決定機能12−5は、データ監視機能11−5により監視された入力パケットのデータ量の和と、符号化決定機能により決定された符号化方法における予め定められた特定の値とを比較し、そのデータ量が特定値に達したものと判断すると、予め定められた情報を符号化のための情報として選択し決定する。また、情報決定機能12−5は、データ監視機能11−5により監視されたデータ量の和が予め定められた特定の値に達する前に、以下の(1)または(2)
(1)経過時間が予め定められた値T0に達する。
(2)Mビットパケットを入力する。
を満たす場合には、実施例1において説明したように、それぞれの式により符号化のための情報を決定する。この場合、比較する特定の値は、符号化方法決定手段により決定された符号化方法により変更するようにしてもよいし、固定であってもよい。誤り訂正符号化機能14−5は、符号化方法決定機能により決定された符号化方法でRS(n,k)符号化処理を行う。符号化方法がLDPC符号を用いた方法の場合、誤り訂正符号化機能14−5は、LDPC符号化則に従い、入力したk1個のパケットを符号化し、n1パケットの符号化ブロックを生成する。
【0052】
一方、実施例1において説明したように、入力パケットである情報パケットは、パラメータが決定される前にデータ受信装置2−5へ送信されてしまう。このため、符号化方法がリードソロモン符号を用いた方法の場合、パラメータ通知機能13−5は、情報パケットに対して、識別子=Aに加えて以下の(1)〜(4)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
また、パラメータ通知機能13−5は、冗長パケットに対して、識別子=Aに加えて以下の(1)〜(4)の情報を各冗長パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
【0053】
また、符号化方法がLDPC符号を用いた方法の場合は、パラメータ通知機能13−5は、情報パケットに対して、識別子=Bに加えて以下の(1)〜(4)の情報を各情報パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n=0
(4)k=0
(5)N=0
また、パラメータ通知機能13−5は、冗長パケットに対して、識別子=Bに加えて以下の(1)〜(5)の情報を各冗長パケットのヘッダに付与する。
(1)符号化ブロック番号
(2)シーケンス番号
(3)n
(4)k
(5)N
データ送信装置1−5は、符号化のための情報が付与された情報パケット及び冗長パケットをデータ受信装置2−5へ送信する。
【0054】
データ受信装置2−5において、情報監視機能21−5が、符号化パラメータ部分であるヘッダに符号化のための情報や数値が付与された冗長パケットを検出すると、符号化識別機能は、識別子に基づいて、符号化方法及び符号化のために必要なパラメータの送信方法を識別する。そして、誤り訂正復号化機能22−5は、符号化識別機能により識別された符号化のために必要なパラメータの送信方法に従って、パラメータを取得する。また、符号化識別機能により識別された符号化方法で、前記パラメータに基づいて復号化を行い、該当する符号化ブロック番号のパケット損失を修復し、出力する。尚、符号化ブロックの冗長パケットの全てが損失している場合には、パケット損失の修復は不可能であるため、データ受信装置2−5は、受信した符号化ブロックのパケットをそのまま出力する。
【0055】
このように、実施例5によれば、データ送信装置1−5が、入力データの状況に応じて符号化方法及び符号化のために必要なパラメータの送信方法を決定し、これらの方法を識別するための識別子をデータ受信装置2−5へ送信するようにした。これにより、データ送信装置1−5は、入力データに応じて符号化方法を変更することが可能となると共に、適切な符号化方法を決定することが可能となる。また、データ受信装置2−5は、識別子に基づいて、符号化方法及び符号化のために必要なパラメータの送信方法を識別することが可能となることに加えて、パラメータ数及びパラメータ内容が同じ複数の異なる符号化方法を識別することが可能となる。
【0056】
また、実施例5によれば、データ送信装置1−5の符号化方法決定機能は、データ送信開始時に、符号化方法として、損失耐力の高いリードソロモン符号を用いた符号化方法を決定し、他のアプリケーションを同時に動作させる等によりマシンであるデータ送信装置1−5の負荷が増大した時に、符号化方法として、損失耐力は多少低いが演算負荷がリードソロモン符号よりも小さいLDPC符号を用いた符号化方法を決定するようにしてもよい。この場合、データ送信装置1−5は、その負荷状況に応じた符号化方法を決定することができる。
【0057】
尚、前述の実施例1から5において、データ送信装置1,1−1〜1−5及びデータ受信装置2,2−1〜2−5は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、キーボードやポインティングデバイス等の入力装置、画像やシーンを表示する表示装置、及び外部の装置と通信をするためのインターフェースを備えたコンピュータ装置によってそれぞれ構成されるようにしてもよい。この場合、データ送信装置1,1−1〜1−5に備えたデータ監視機能11,11−1〜11−5、情報決定機能12,12−1〜12−5、パラメータ通知機能13,13−1〜13−5、誤り訂正符号化機能14,14−1〜14−5、及び符号化決定機能、データ受信装置2,2−1〜2−5に備えた情報監視機能21,21−1〜21−5、誤り訂正復号化機能22,22−1〜22−5、及び符号化識別機能の各機能は、当該機能を記述したプログラムをCPUに実行させることによりそれぞれ実現される。また、これらのプログラムは、磁気ディスク(フロッピィーディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもできる。
【図面の簡単な説明】
【0058】
【図1】本発明の基本構成を示すブロック図である。
【図2】本発明のデータ送信装置の動作イメージを示す説明図である。
【図3】本発明の実施例1におけるデータ送信装置の構成及び初期設定値を示す図である。
【図4】図3におけるデータ送信装置の動作イメージを示す第1の説明図である。
【図5】図3におけるデータ送信装置の動作イメージを示す第2の説明図である。
【図6】本発明の実施例2におけるデータ送信装置の構成及び初期設定値を示す図である。
【図7】図6におけるデータ送信装置の動作イメージを示す第1の説明図である。
【図8】図6におけるデータ送信装置の動作イメージを示す第2の説明図である。
【図9】リードソロモン符号によるパケット単位の誤り訂正の実現例を示す図である。
【図10】リードソロモン符号と交錯法を組み合わせた誤り訂正の実現例を示す図である。
【図11】送信レート変動と誤り訂正遅延変動との関係を示す図である。
【符号の説明】
【0059】
1 データ送信装置
2 データ受信装置
3 通信路
4 データ送受信システム
11 データ監視機能
12 情報決定機能
13 パラメータ通知機能
14 誤り訂正符号化機能
21 情報監視機能
22 誤り訂正復号化機能
【特許請求の範囲】
【請求項1】
1以上のデータを連続データ系列として入力し、誤り訂正符号化し、符号化ブロックとして通信路を介して送信するデータ送信方法において、
符号化ブロックの最初のデータを入力してから現在までのデータ量の合計値を監視すると共に、符号化ブロックの最初のデータを入力してから現在までの経過時間、及び連続データ系列の最終データを意味する情報が付与されたデータの入力のうちの少なくとも一方を監視するデータ監視手順と、
該データ監視手順により監視した結果を用いて、符号化のための情報を決定する情報決定手順と、
該情報決定手順により決定した情報を用いて、符号化を行う誤り訂正符号化手順と、
前記情報決定手順により決定した情報を符号化ブロックのデータに付与する情報付与手順と
を含むことを特徴とするデータ送信方法。
【請求項2】
請求項1に記載のデータ送信方法において、
前記情報決定手順は、データ監視手順により監視するデータ量の合計値が特定の値に達したときに、予め定められた情報を符号化のための情報として決定することを特徴とするデータ送信方法。
【請求項3】
請求項1または2に記載のデータ送信方法において、
前記情報決定手順は、データ監視手順により監視する経過時間が特定の時間に達したとき、または最終データの入力を検知したときに、そのときまでのデータ量の合計値を用いて符号化のための情報を決定することを特徴とするデータ送信方法。
【請求項4】
請求項1から3までのいずれか一項に記載のデータ送信方法において、
前記符号化を行う方法、及び符号化のための情報を符号化ブロックのデータに付与する方法が予め定められている場合に、
前記情報決定手順は、符号化のために必要なパラメータを符号化のための情報として決定し、
前記誤り訂正符号化手順は、情報決定手順により決定したパラメータを用いて、前記予め定められた符号化方法により符号化を行い、
前記情報付与手順は、情報決定手順により決定したパラメータを、前記予め定められた付与方法により符号化ブロックのデータに付与することを特徴とするデータ送信方法。
【請求項5】
請求項1から3までのいずれか一項に記載のデータ送信方法において、
前記符号化のために必要なパラメータの数により識別可能な符号化方法、及び、符号化のための情報を符号化ブロックのデータに付与する方法が予め定められている場合に、
さらに、前記入力したデータを用いて符号化方法を決定する符号化方法決定手順を含み、
前記情報決定手順は、前記決定した符号化方法を実現するために必要な数のパラメータを、符号化のための情報として決定し、
前記誤り訂正符号化手順は、情報決定手順により決定したパラメータを用いて、前記決定した符号化方法により符号化を行い、
前記情報付与手順は、情報決定手順により決定したパラメータを、前記予め定められた付与方法により符号化ブロックのデータに付与し、
前記通信路を介して符号化ブロックを受信する受信側が、前記パラメータの数により符号化方法を識別することを特徴とするデータ送信方法。
【請求項6】
請求項1から3までのいずれか一項に記載のデータ送信方法において、
前記符号化方法、及び符号化のための情報を符号化ブロックのデータに付与する方法、を示す識別子が予め定められている場合に、
さらに、前記入力したデータを用いて符号化方法を決定する符号化方法決定手順を含み、
前記情報決定手順は、前記決定した符号化方法を実現するために必要なパラメータと、該符号化方法及び付与方法を示す識別子とを、符号化のための情報として決定し、
前記誤り符号化手順は、情報決定手順により決定したパラメータを用いて、前記決定した符号化方法により符号化を行い、
前記情報付与手順は、情報決定手順により決定したパラメータ及び前記識別子を、前記付与方法により符号化ブロックのデータに付与し、
前記通信路を介して符号化ブロックを受信する受信側が、前記識別子により符号化方法及び付与方法を識別することを特徴とするデータ送信方法。
【請求項7】
請求項2から6までのいずれか一項に記載のデータ送信方法において、
前記請求項2に記載の情報決定手順により比較する特定の値を、可変の値とすることを特徴とするデータ送信方法。
【請求項8】
請求項1から7までのいずれか一項に記載のデータ送信方法により通信路に送信された符号ブロックのデータを受信し、復号化して出力するデータ受信方法であって、
前記受信した符号ブロックのデータに付与された、符号化のための情報を監視する情報監視手順と、
該情報監視手順により監視した情報を用いて、復号化を行う復号化手順とを含むことを特徴とするデータ受信方法。
【請求項9】
1以上のデータを連続データ系列として入力し、誤り訂正符号化し、符号化ブロックとして通信路を介して送信するデータ送信装置において、
符号化ブロックの最初のデータを入力してから現在までのデータ量の合計値を監視すると共に、符号化ブロックの最初のデータを入力してから現在までの経過時間、及び連続データ系列の最終データを意味する情報が付与されたデータの入力のうちの少なくとも一方を監視するデータ監視機能と、
該データ監視機能により監視された結果を用いて、符号化のための情報を決定する情報決定機能と、
該情報決定機能により決定された情報を用いて、復号化を行う誤り訂正符号化機能と、
前記情報決定機能により決定された情報を符号化ブロックのデータに付与する情報付与機能と
を備えたことを特徴とするデータ送信装置。
【請求項10】
請求項9に記載のデータ送信装置により通信路に送信された符号ブロックのデータを受信し、復号化して出力するデータ受信装置であって、
前記受信した符号ブロックのデータに付与された、符号化のための情報を監視する情報監視機能と、
該情報監視機能により監視した情報を用いて、復号化を行う復号化機能と
を備えたことを特徴とするデータ受信装置。
【請求項11】
請求項9に記載のデータ送信装置と、請求項10に記載のデータ受信装置とを備えたデータ送受信システム。
【請求項12】
1以上のデータを入力して誤り訂正符号化し、符号化ブロックとして通信路を介して送信するプログラムであって、コンピュータに、請求項1から7までのいずれか一項に記載のデータ送信方法を実行させるデータ送信プログラム。
【請求項13】
請求項1から7までのいずれか一項に記載のデータ送信方法により通信路に送信された符号ブロックのデータを受信し、復号化して出力するプログラムであって、コンピュータに、請求項8に記載のデータ受信方法を実行させるデータ受信プログラム。
【請求項1】
1以上のデータを連続データ系列として入力し、誤り訂正符号化し、符号化ブロックとして通信路を介して送信するデータ送信方法において、
符号化ブロックの最初のデータを入力してから現在までのデータ量の合計値を監視すると共に、符号化ブロックの最初のデータを入力してから現在までの経過時間、及び連続データ系列の最終データを意味する情報が付与されたデータの入力のうちの少なくとも一方を監視するデータ監視手順と、
該データ監視手順により監視した結果を用いて、符号化のための情報を決定する情報決定手順と、
該情報決定手順により決定した情報を用いて、符号化を行う誤り訂正符号化手順と、
前記情報決定手順により決定した情報を符号化ブロックのデータに付与する情報付与手順と
を含むことを特徴とするデータ送信方法。
【請求項2】
請求項1に記載のデータ送信方法において、
前記情報決定手順は、データ監視手順により監視するデータ量の合計値が特定の値に達したときに、予め定められた情報を符号化のための情報として決定することを特徴とするデータ送信方法。
【請求項3】
請求項1または2に記載のデータ送信方法において、
前記情報決定手順は、データ監視手順により監視する経過時間が特定の時間に達したとき、または最終データの入力を検知したときに、そのときまでのデータ量の合計値を用いて符号化のための情報を決定することを特徴とするデータ送信方法。
【請求項4】
請求項1から3までのいずれか一項に記載のデータ送信方法において、
前記符号化を行う方法、及び符号化のための情報を符号化ブロックのデータに付与する方法が予め定められている場合に、
前記情報決定手順は、符号化のために必要なパラメータを符号化のための情報として決定し、
前記誤り訂正符号化手順は、情報決定手順により決定したパラメータを用いて、前記予め定められた符号化方法により符号化を行い、
前記情報付与手順は、情報決定手順により決定したパラメータを、前記予め定められた付与方法により符号化ブロックのデータに付与することを特徴とするデータ送信方法。
【請求項5】
請求項1から3までのいずれか一項に記載のデータ送信方法において、
前記符号化のために必要なパラメータの数により識別可能な符号化方法、及び、符号化のための情報を符号化ブロックのデータに付与する方法が予め定められている場合に、
さらに、前記入力したデータを用いて符号化方法を決定する符号化方法決定手順を含み、
前記情報決定手順は、前記決定した符号化方法を実現するために必要な数のパラメータを、符号化のための情報として決定し、
前記誤り訂正符号化手順は、情報決定手順により決定したパラメータを用いて、前記決定した符号化方法により符号化を行い、
前記情報付与手順は、情報決定手順により決定したパラメータを、前記予め定められた付与方法により符号化ブロックのデータに付与し、
前記通信路を介して符号化ブロックを受信する受信側が、前記パラメータの数により符号化方法を識別することを特徴とするデータ送信方法。
【請求項6】
請求項1から3までのいずれか一項に記載のデータ送信方法において、
前記符号化方法、及び符号化のための情報を符号化ブロックのデータに付与する方法、を示す識別子が予め定められている場合に、
さらに、前記入力したデータを用いて符号化方法を決定する符号化方法決定手順を含み、
前記情報決定手順は、前記決定した符号化方法を実現するために必要なパラメータと、該符号化方法及び付与方法を示す識別子とを、符号化のための情報として決定し、
前記誤り符号化手順は、情報決定手順により決定したパラメータを用いて、前記決定した符号化方法により符号化を行い、
前記情報付与手順は、情報決定手順により決定したパラメータ及び前記識別子を、前記付与方法により符号化ブロックのデータに付与し、
前記通信路を介して符号化ブロックを受信する受信側が、前記識別子により符号化方法及び付与方法を識別することを特徴とするデータ送信方法。
【請求項7】
請求項2から6までのいずれか一項に記載のデータ送信方法において、
前記請求項2に記載の情報決定手順により比較する特定の値を、可変の値とすることを特徴とするデータ送信方法。
【請求項8】
請求項1から7までのいずれか一項に記載のデータ送信方法により通信路に送信された符号ブロックのデータを受信し、復号化して出力するデータ受信方法であって、
前記受信した符号ブロックのデータに付与された、符号化のための情報を監視する情報監視手順と、
該情報監視手順により監視した情報を用いて、復号化を行う復号化手順とを含むことを特徴とするデータ受信方法。
【請求項9】
1以上のデータを連続データ系列として入力し、誤り訂正符号化し、符号化ブロックとして通信路を介して送信するデータ送信装置において、
符号化ブロックの最初のデータを入力してから現在までのデータ量の合計値を監視すると共に、符号化ブロックの最初のデータを入力してから現在までの経過時間、及び連続データ系列の最終データを意味する情報が付与されたデータの入力のうちの少なくとも一方を監視するデータ監視機能と、
該データ監視機能により監視された結果を用いて、符号化のための情報を決定する情報決定機能と、
該情報決定機能により決定された情報を用いて、復号化を行う誤り訂正符号化機能と、
前記情報決定機能により決定された情報を符号化ブロックのデータに付与する情報付与機能と
を備えたことを特徴とするデータ送信装置。
【請求項10】
請求項9に記載のデータ送信装置により通信路に送信された符号ブロックのデータを受信し、復号化して出力するデータ受信装置であって、
前記受信した符号ブロックのデータに付与された、符号化のための情報を監視する情報監視機能と、
該情報監視機能により監視した情報を用いて、復号化を行う復号化機能と
を備えたことを特徴とするデータ受信装置。
【請求項11】
請求項9に記載のデータ送信装置と、請求項10に記載のデータ受信装置とを備えたデータ送受信システム。
【請求項12】
1以上のデータを入力して誤り訂正符号化し、符号化ブロックとして通信路を介して送信するプログラムであって、コンピュータに、請求項1から7までのいずれか一項に記載のデータ送信方法を実行させるデータ送信プログラム。
【請求項13】
請求項1から7までのいずれか一項に記載のデータ送信方法により通信路に送信された符号ブロックのデータを受信し、復号化して出力するプログラムであって、コンピュータに、請求項8に記載のデータ受信方法を実行させるデータ受信プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2006−157525(P2006−157525A)
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願番号】特願2004−345636(P2004−345636)
【出願日】平成16年11月30日(2004.11.30)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
【公開日】平成18年6月15日(2006.6.15)
【国際特許分類】
【出願日】平成16年11月30日(2004.11.30)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】
[ Back to top ]