(57)【特許請求の範囲】
【請求項１】
ネットワークと、前記ネットワークにデータパケット及び前記データパケットのエラー訂正用の冗長データを含むＦＥＣ用パケットを含むデータを送信する送信装置と、前記ネットワークから前記データを受信する受信装置とからなり、前記受信装置が、受信した前記データパケットと前記ＦＥＣ用パケットとを用いて前記データパケットのエラー訂正を行うデータ伝送システムにおいて、
前記受信装置は、
受信した前記ＦＥＣ用パケットを用いて、受信した前記データパケットのエラー訂正を行うＦＥＣ回路と、
前記ＦＥＣ回路においてエラー訂正を行う対象のパケットの受信待ち時間が書き込まれる待ち時間回路と、
前記受信するデータパケットの前記受信装置への入力レートを測定し、前記測定した入力レートに基づいた受信待ち時間を前記待ち時間回路に設定する入力レート測定回路であって、受信するパケット内のタイムスタンプ情報を用いてパケット到着間隔を測定し、該測定したパケット到着間隔から前記入力レートを測定する、入力レート測定回路と
を有することを特徴とするデータ伝送システム。
【請求項２】
前記入力レート測定回路は、受信するパケット内のタイムスタンプ情報およびパケットのシーケンス番号情報を用いて前記入力レートを測定することを特徴とする請求項１に記載のデータ転送システム。
【請求項３】
前記入力レート測定回路は、複数回測定した入力レートあるいはパケット到着間隔の平均を測定結果として出力することを特徴とする請求項１に記載のデータ転送システム。
【請求項４】
送信装置から、データパケット及び前記データパケットのエラー訂正用の冗長データを含むＦＥＣ用パケットを含むデータを、ネットワークを介して受信する受信装置であって、
前記ネットワークから受信した前記ＦＥＣ用パケットを用いて、前記ネットワークから受信した前記データパケットのエラー訂正を行うＦＥＣ回路と、
前記ＦＥＣ回路においてエラー訂正を行う対象のパケットの受信待ち時間が書き込まれる待ち時間回路と、
前記受信したパケットを用いて該受信したパケットの前記受信装置への入力レートを測定し、前記測定した入力レートに基づいた受信待ち時間を前記待ち時間回路に設定する入力レート測定回路であって、受信するパケット内のタイムスタンプ情報を用いてパケット到着間隔を測定し、該測定したパケット到着間隔から前記入力レートを測定する、入力レート測定回路と
を備えることを特徴とする受信装置。
【請求項５】
前記入力レート測定回路は、受信するパケット内のタイムスタンプ情報およびパケットのシーケンス番号情報を用いて前記入力レートを測定することを特徴とする請求項４に記載の受信装置。
【請求項６】
前記入力レート測定回路は、複数回測定した入力レートあるいはパケット到着間隔の平均を測定結果として出力することを特徴とする請求項４に記載の受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置と、受信装置と、ネットワークとを備え、送信装置がネットワークにデータパケットとＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ：前方向エラー訂正）用の冗長データを含むＦＥＣ用パケットとを転送し、受信装置が受信したデータパケットと前記ＦＥＣ用パケットとを用いてエラー訂正を行うデータ伝送システムに関係する。
【背景技術】
【０００２】
ＩＰネットワーク網の拡大、およびＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）技術の進歩に伴い、映像、オーディオ等のリアルタイムデータをＩＰネットワークを通して転送する事が可能になってきている。この様なリアルタイムデータを転送する場合には、ＲＴＰ（Ｒｅａｌ  ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）を用いる事が多く、ＩＰネットワークでのパケットロスに対するエラー訂正としてＦＥＣを用いるのが一般的である。ＲＴＰを用いたパケットフォーマット及びＦＥＣの方式についてはＳＭＰＴＥ（Ｓｏｃｉｅｔｙ  ｏｆ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  ａｎｄ  Ｔｅｌｅｖｉｓｉｏｎ  Ｅｎｇｉｎｅｅｒｓ）で標準化が行われており、代表的な規格としては、ＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍｓ）をＩＰネットワーク上で伝送するためのＦＥＣの方式を定めたＳＭＰＴＥ  ２０２２−１とパケットフォーマットを定めたＳＭＰＴＥ  ２０２２−２がある（非特許文献１及び２を参照）。
【０００３】
図４にＳＭＰＴＥ２０２２−１で規定されているＦＥＣの方式を示す。ＳＭＰＴＥ  ２０２２−１の方式では、送信装置がデータパケットに加えて、ＦＥＣデータを含んだＦＥＣパケットを送信する。このＦＥＣパケットは送信装置が送信するデータパケットをマトリックス上に配置し、そのマトリックスの行側、列側でそれぞれ排他的論理和の演算を行うことで生成される。受信装置では送信装置が作ったのと同じマトリックスを作り、未受信のパケットがある場合、ＦＥＣパケットを含めた排他的論理和演算を行側、列側で行うことにより当該未受信のパケットを再生する事ができる。エラー訂正に用いる演算が排他的論理和である以上、１つの行、１つの列に複数の未受信パケットがある場合には、エラー訂正による回復ができない場合もある。この事は行、列からなる二次元のＦＥＣではなく、行だけからなる一次元のＦＥＣを用いる場合を考慮すれば、より一層明らかである。従って、受信装置においてＦＥＣの効果を確実にするためには、マトリックスの対象となるパケットをできるだけ多く受信する必要がある。
【０００４】
しかし、ネットワークでパケットロスとなったパケットを永久に待ち続ける事は無意味である。このため、受信装置は一般的にマトリックスの対象となるパケットを受信するまでの待ち時間、言い換えればその時間までに受信しなければパケットロスと判断する時間を設けている。この待ち時間は受信装置の実装によっては、受信バッファサイズ等の別のパラメータとして具現化されている事もあるが、受信装置に対してＧＵＩ等を通して外部から設定する設定情報となっているのが一般的である。
【０００５】
前記の受信装置でのパケットを受信するまでの待ち時間（ｔとする）は、パケットの入力レートに対する関数となる。すなわち、パケットの入力レートをｘメガビット／秒、パケット内のペイロード長を１４００バイト固定、ＦＥＣのマトリックスサイズをｎ行、ｍ列とし、あらかじめ見積もっておいたネットワーク内でのパケットジッターの予測最大値を用いて、以下のように算出することができる。  
ＦＥＣの演算に必要なパケット数＝データパケット数＋ＦＥＣパケット数
＝ｎ＊ｍ＋（ｎ＋ｍ）          （式１）
マトリックス分のパケットを受信するのに必要な時間（マイクロ秒）＝（ｎ＊ｍ＋（ｎ＋ｍ））×１４００バイト×８ビット／ｘメガビット          （式２）
ｔ＝マトリックス分のパケットを受信するまでの時間＋ネットワーク内でのパケットジッターの予測最大値          （式３）
となる。これは定性的に言えば、受信装置へのパケットの入力レートが低ければ、長い待ち時間を必要とし、受信装置へのパケットの入力レートが高ければ、短い待ち時間で良い事を意味する。従来の受信装置においては、送信装置との組み合わせでネットワーク上で一対一の専用リンクを張り使用する事が多く、この待ち時間の設定、あるいは受信バッファサイズ等の等価のパラメータは、装置の設置時にＧＵＩ等を通して外部から設定していた。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】ＳＭＰＴＥ  Ｓｔａｎｄａｒｄ  ＳＴ  ２０２２−１−２００７，  ２００７年
【非特許文献２】ＳＭＰＴＥ  Ｓｔａｎｄａｒｄ  ＳＴ  ２０２２−２−２００７，  ２００７年
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし近年、広域なネットワークを通して、Ｎ対Ｎの形態で送信装置及び受信装置を動作させたり、複数の圧縮映像を例えばＤＶＢ−ＡＳＩ信号のスイッチング装置により切り替えし、ネットワークに送信したりする場合には、データパケットの送信元が変わるため、受信装置へのパケットの入力レートが変化する。
【０００８】
図１はＮ対Ｎの形態で送信装置及び受信装置を動作させる伝送システムの構成例を示した図である。送信装置である動画像エンコーダー１０１、１０２はそれぞれ映像信号１０１１、１０２１をエンコードする。動画像エンコーダー１０１は例えばＭＰＥＧ２圧縮した３０ＭｂｐｓのデータパケットとＦＥＣパケットとを回線１０３に出力する。動画像エンコーダー１０２は例えばＪＰＥＧ２０００で圧縮した３００ＭｂｐｓのデータパケットとＦＥＣパケットとを回線１０４に出力する。受信装置である動画像デコーダー１０５はネットワークから受信した動画像エンコーダー１０１及び１０２の送信データのうちどちらかを選び、デコードし、デコード結果の映像を例えばＨＤ−ＳＤＩの映像信号１０６として出力する。受信装置がＪＰＥＧ２０００で圧縮した３００Ｍｂｐｓのデータパケットを選択した場合と、ＭＰＥＧ２圧縮した３０Ｍｂｐｓのデータパケットを選択した場合では受信装置がマトリックス分のパケットを受信するまでの時間が大きく異なるので動画像デコーダー１０５の設定を変える必要がある。この変更を行うには、図１内の制御システム１０７から動画像デコーダー１０５の制御を行う、あるいは動画像デコーダー１０５を制御する別の制御システムを設けて制御システム１０７と同期した制御を行う方法がある。しかし、いずれの方法も、ネットワークを渡る制御を行うため、規模が大きなシステムでは制御が複雑になるうえに、コストが増大すると言う問題点がある。
【０００９】
図２は、複数の圧縮映像をＤＶＢ−ＡＳＩ信号のスイッチング装置により切り替えし、ネットワークを経由して送受信をするシステムを示した図である。スイッチング装置２０１はＤＶＢ−ＡＳＩ信号２０１１、２０１２、２０１３から入力される圧縮映像信号の内から制御システム２０２からの指示により１つを選択しＤＶＢ−ＡＳＩ信号２０１４として出力する。ＤＶＢ−ＡＳＩ信号２０１１、２０１２、２０１３上の圧縮映像信号のレートは、図２の例ではそれぞれ３０Ｍｂｐｓ、６０Ｍｂｐｓ、１００Ｍｂｐｓである。送信装置２０３はＤＶＢ−ＡＳＩ信号２０１４から入力された圧縮映像信号をデータパケット化し、同時にＦＥＣパケットを生成し、両方のパケットをネットワーク２０４に送る。受信装置２０５はネットワークより送信装置２０３が送信したパケットを受信し、ＦＥＣによるエラー訂正を行ったうえ、圧縮映像信号をパケットから抜き出し、映像信号ＤＶＢ−ＡＳＩ信号２０５１として出力する。この場合、スイッチング装置２０１により選択された圧縮映像信号のレートに合わせて、受信装置２０５がマトリックス分のパケットを受信するまでの時間の設定を変える必要がある。この変更を行うには、図２内の制御システム２０２から受信装置２０５の制御を行う、あるいは受信装置２０５を制御する別の制御システムを設けて制御システム２０２と同期した制御を行う方法がある。しかし、いずれの方法も、図１の事例と同じように、ネットワークを渡る制御を行うため、規模が大きなシステムでは制御が複雑になるうえに、コストが増大すると言う問題点がある。
【課題を解決するための手段】
【００１０】
本発明は、上述した問題を解決するためになされたものであり、その目的は、受信装置へのパケットの入力レートが変わった時に、外部からの制御なしに、受信装置がマトリックスの対象となるパケットを受信するまでの待ち時間を自律的に変更する方法を提供することである。
【００１１】
上記課題を解決するために、本発明の受信装置は、処理の対象となるパケットの入力レートを測定し、必要なら平均化する手段と、測定し又は平均化された結果に基づき、ＦＥＣの処理マトリックスの対象となるパケットを受信するまでの待ち時間を変更する手段とを有する。
【発明の効果】
【００１２】
本発明によれば、受信装置へのパケットの入力レートが変わった時に、外部からの制御なしに、受信装置がマトリックスの対象となるパケットを受信するまでの待ち時間を自律的に変更することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例を適用可能なシステム構成の一例を示す図である。
【図２】本発明の実施例を適用可能なシステム構成の一例を示す図である。
【図３】本発明の実施例のデータ伝送システムの受信装置の構成の一例を示す図である。
【図４】ＳＭＰＴＥ２０２２−１のＦＥＣの方式の例を示す図である。
【図５】本発明の実施例のデータ伝送システムの受信装置内の入力レート測定回路の構成の一例を示す図である。
【図６】ＲＴＰパケットのフォーマットの一例を示す図である。
【発明を実施するための形態】
【００１４】
以下に、図を用いて本発明の実施の形態を説明する。なお、本発明はこれらの実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施しうる。
【００１５】
本実施例で適用されるデータ伝送システムの構成は、先に説明した図１に示すシステム構成であってもよいし、図２に示すシステム構成であってもよい。
【００１６】
本実施例のデータ伝送システムの受信装置３００の構成について、図３のブロック図を参照して説明する。本実施例の受信装置３００はネットワークより例えば図６に示すフォーマットのＳＭＰＴＥ  ２０２２−２に準拠したパケットを受信し、ＳＭＰＴＥ  ２０２２−１に準拠したエラー訂正を行い、結果の映像ストリームを映像信号ＤＶＢ−ＡＳＩとして出力するものである。
【００１７】
図３に示す受信装置３００は、ＭＡＣ回路３０１、バッファメモリ３０２、待ち時間回路３０３、入力レート測定回路３０４、ＦＥＣ回路３０５、映像信号出力回路３０６より構成される。ＭＡＣ回路はイーサネット（登録商標）のＭＡＣ（メディアアクセス制御）サブ層の機能を実現する回路であり、バッファメモリ３０２は受信したパケットを格納するバッファメモリであり、待ち時間回路３０３はＦＥＣ回路へのバッファメモリのデータを渡すのを待ち合わせる回路であり、ＦＥＣ回路３０５はＳＭＰＴＥ  ２０２２−１準拠のＦＥＣを行う回路であり、映像信号出力回路３０６はＤＶＢ−ＡＳＩ信号出力用の回路である。
【００１８】
次に、本実施例での受信装置のパケット受信からの一連の動作の一例を説明する。
【００１９】
ＭＡＣ回路３０１はイーサネット３０１１から入力されたパケットのＭＡＣ処理を行い、ＶＬＡＮ，宛先ＭＡＣアドレスで受信すべきパケットを判断するとともに、ＦＣＳのチェック、パケット長のチェック等を行うことによりパケットの正常性チェックを行い、不当なパケットを廃棄し、正常と判断した自分宛のパケットをバッファメモリ３０２に書き込む。本実施例ではただ１つだけの映像データを受信装置が扱えるものとする。従って、ＭＡＣ回路３０１はただ１つだけのＲＴＰストリームのパケットをバッファメモリ３０２に書き込む。なお、バッファメモリ３０２に書き込まれるパケットには、図４で示すデータパケットとＦＥＣ用パケットとが含まれる。
【００２０】
待ち時間回路３０３は待ち時間レジスタ３０３１を有し、バッファメモリ３０２にＭＡＣ回路３０１がパケットを書き込んだ後、待ち時間レジスタ３０３１で指定される時間だけ待ち合わせした後、バッファメモリ３０２からデータの読み出しを行い、読み出したデータをＦＥＣ回路３０５に渡す。
【００２１】
入力レート測定回路３０４はＭＡＣ回路３０１がバッファメモリ３０２に書き込むデータパケットを監視し、入力パケットのレートを測り、待ち時間レジスタ３０３１に待ち時間を書き込むことにより、待ち時間回路３０３でバッファメモリ３０２からの読み出しを待ち合わせる時間を指定する。
【００２２】
ＦＥＣ回路３０５は待ち時間回路３０３より受け取ったデータを用いて、ＦＥＣのマトリックスを構成し、エラー訂正処理を行い、パケットロスしたパケットを可能な範囲で回復し、結果としてのエラー回復後のデータを映像信号出力回路３０６に渡す。映像信号出力回路３０６はＦＥＣ回路３０５から受け取ったデータから映像ストリームを抽出し、ＤＶＢ−ＡＳＩ信号として出力する。
【００２３】
上記述べたように、バッファメモリでの待ち時間は入力レート測定回路３０４での入力レートの測定により決定される。以下、入力レート測定回路の３０４の構成と動作について説明する。
【００２４】
図５に入力レート測定回路の構成を、図６に本受信装置が扱うＲＴＰパケットのフォーマットを示す。
【００２５】
入力レート測定回路３０４は、ＭＡＣ回路出力３０１１が出力するデータパケットよりＲＴＰヘッダ内（図６の６１）のタイムスタンプ（図６の６３）およびシーケンス番号（図６の６２）をそれぞれ抽出し保持するタイムスタンプレジスタ５０１１およびシーケンス番号レジスタ５０１２を備える。また、入力レート測定回路３０４は、入力レートの測定及び待ち時間の計算用にシーケンス番号オフセットレジスタ５０１３、シーケンス番号比較レジスタ５０１４、タイムスタンプ比較レジスタ５０１５、入力レート計算回路５０２および時間計算回路５０３を備える。
【００２６】
本実施例では、シーケンス番号レジスタ５０１２、およびシーケンス番号オフセットレジスタ５０１３は受信処理の初期化処理によりあらかじめ設定されているものとするが、もちろん遠隔からの制御システムにより設定可能な別の実施例もありえる。シーケンス番号レジスタ５０１２、シーケンス番号オフセットレジスタ５０１３、およびシーケンス番号比較レジスタ５０１４は各々１６ビットのレジスタである。
【００２７】
入力レート測定回路３０４は、ＭＡＣ回路３０１がバッファメモリ３０２に書き込んだパケットのＲＴＰヘッダ内のシーケンス番号の下位１６ビットがシーケンス番号レジスタ５０１２の値と一致した時、当該パケットのタイムスタンプの値をタイムスタンプレジスタ５０１１に保持すると同時に、当該シーケンス番号にシーケンス番号オフセットレジスタ５０１３の値を加えた値をシーケンス番号比較レジスタ５０１４に格納する。
【００２８】
その後、入力レート測定回路３０４はシーケンス番号比較レジスタ５０１４の値に一致するシーケンス番号を持つパケットをＭＡＣ回路３０１がバッファメモリ３０２に書き込まないかを監視する。
【００２９】
シーケンス番号比較レジスタ５０１４の値に一致するシーケンス番号を持つパケットをＭＡＣ回路３０１がバッファメモリ３０２に書き込んだ場合、入力レート測定回路３０４は当該パケットのタイムスタンプの値をタイムスタンプ比較レジスタ５０１５に格納し、入力レート計算回路５０２が入力レートの計算を下記の式で行う。なお、本実施例ではデータパケット内のペイロードのデータ長は固定で１４００バイトとする。  
ｐ（測定範囲の時間で送信側が送ったパケット数）＝シーケンス番号比較レジスタ５０１４の値―シーケンス番号レジスタ５０１２の値          （式４）
ｑ（マイクロ秒：測定範囲の時間）＝（タイムスタンプ比較レジスタ５０１５の値―タイムスタンプレジスタ５０１１の値）×１／タイムスタンプの周波数        （式５）
ｘ（メガビット：入力レート）＝ｐ×１４００バイト×８（バイト当りのビット数）／ｑ          （式６）
上記ｑはパケット到着間隔と考えることができる。なお、シーケンス番号比較レジスタ５０１４の値に一致するシーケンス番号を持つパケットは常に受信されるとは限らない。例えば、ネットワーク内でのパケットロスによってこのパケットが失われる可能性がある。従って、シーケンス番号比較レジスタ５０１４の値が更新されてから十分に大きい一定時間の間、当該レジスタの値に一致するシーケンス番号を持つパケットをＭＡＣ回路３０１がバッファメモリ３０２に書き込まなかった場合、入力レート測定回路３０４は当該パケットが失われたものと判断し、入力レート計算に関わる上記一連の処理を打ち切り、新しいレート計算を始めるために、ＭＡＣ回路３０１がバッファメモリ３０２に書き込んだパケットのＲＴＰヘッダ内のシーケンス番号の下位１６ビットがシーケンス番号レジスタ５０１２の値と一致するのを待つ。ＲＴＰパケットのシーケンス番号はパケット毎に更新されるので、最大でも６５，５３６パケット後に次のレート計算が始まる事になる。
【００３０】
入力レート値の計算が完了すると、入力レート測定回路３０４は待ち時間計算回路５０３を用いて、待ち時間回路３０３が待ち合わせする時間を計算する。この待ち時間計算は前述の計算式に基づき行われる。すなわち、待ち時間ｔを求めるため、ＦＥＣ回路３０５の処理するマトリックスサイズをｎ行、ｍ列、ネットワーク内でのパケットジッターの予測最大値を５００００マイクロ秒とすると、下記の計算を行う。
ＦＥＣの演算に必要なパケット数＝ｎ＊ｍ＋（ｎ＋ｍ）          （式１）
マトリックス分のパケットを受信するのに必要な時間（マイクロ秒）＝（ｎ＊ｍ＋（ｎ＋ｍ））×１４００バイト×８ビット／ｘメガビット          （式２）
ｔ＝マトリックス分のパケットを受信するまでの時間＋５００００マイクロ秒          （式７）
【００３１】
待ち時間値ｔの計算後、入力レート測定回路３０３は待ち時間値ｔの値を、待ち時間回路３０３内の待ち時間レジスタ３０３１に書き込む。
【００３２】
待ち時間回路３０３はバッファメモリ３０２にＭＡＣ回路３０１がパケットを書き込んだ後、待ち時間レジスタ３０３１で指定される時間だけ待ち合わせした後、読み出しを行いＦＥＣ回路３０５に読み出したパケットを転送する。これにより結果として、ＭＡＣ回路３０１で受信したパケットは、バッファメモリ３０２内でｔ時間待ち合わせを行うこととなる。
【００３３】
上記の一連の動作により、入力レート測定回路３０４は、ＭＡＣ回路出力３０１１が出力するパケットを常時監視し、パケットの入力レートの変化に合わせて、バッファメモリ３０２内での待ち時間を変更する事を可能とする。この動きを受信装置として見てみれば、受信装置へのパケットの入力レートが変わった時に、外部からの制御なしに、受信装置がマトリックスの対象となるパケットを受信するまでの待ち時間を自律的に変更する事を可能としている。
【００３４】
この実施例では示していないが、例えばバッファメモリ３０２の状況を受信クロック制御等のＰＬＬに反映していて、待ち時間の急な変動が好ましくない場合には、待ち時間計算回路で求めた待ち時間を複数回分平均してから、待ち時間回路３０３に与える実施例もある。また、本実施例では論理回路として入力レート測定回路３０４を説明したが、マイクロプロセッサおよびプログラムを用いても同等の機能が実現できるのは明らかである。
【００３５】
また、実施例では説明を簡便化するために、ただ１つだけの映像データを受信装置が扱えるものとして説明したが、複数の映像データを受信装置が扱える構成であってもよい。扱う映像データの数に応じてバッファメモリを増やしてもよい。
【産業上の利用可能性】
【００３６】
本発明は、Ｎ対Ｎの形態で送信装置および受信装置を動作させたり、あるいは、複数の圧縮映像を例えばＤＶＢ−ＡＳＩ信号のスイッチング装置により切り替えし、ネットワークに送信したものを受信させたりするような、受信装置へのパケットの入力レートが変化するシステムに対して、外部からの制御なしに、受信装置がＦＥＣの対象となるパケットを受信するまでの待ち時間を自律的に変更する事によりシステムの制御を簡素化できる技術として、極めて有用である。
【図１】
0005723753.tif 000002
【図２】
0005723753.tif 000003
【図３】
0005723753.tif 000004
【図４】
0005723753.tif 000005
【図５】
0005723753.tif 000006
【図６】
0005723753.tif 000007