(57)【要約】【課題】  エラー訂正用データの計算をより効率的に行なえるようにする。【解決手段】  送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成するにあたって、上記挿入間隔とは独立して累積的に送信データの排他的論理和を計算し続け、前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成する。【選択図】        図５
2006067072.tif 000002
【特許請求の範囲】
【請求項１】
送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成するエラー訂正用データの生成方法であって、
該挿入間隔とは独立して累積的に該送信データの排他的論理和を計算し続け、
前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成するエラー訂正用データの生成方法。
【請求項２】
複数のデータ受信装置宛にデータを配信する際に、該データ受信装置別にそれぞれ所定の挿入間隔で該エラー訂正用データを送信する場合において、
前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値を該データ受信装置別に記憶しておき、
該データ受信装置のそれぞれについて、上記記憶しておいた前回のエラー訂正用データ挿入時点での該計算値と今回のエラー訂正用データ挿入予定時点での上記排他的論理和計算の計算値との排他的論理和を計算することにより、今回挿入すべき該エラー訂正用データを生成することを特徴とする、請求項１記載のエラー訂正用データの生成方法。
【請求項３】
送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成するエラー訂正用データの生成装置であって、
該挿入間隔とは独立して累積的に該送信データの排他的論理和を計算し続ける排他的論理和累積計算手段と、
前回のエラー訂正用データ挿入時点での該排他的論理和累積計算手段の計算値を記憶する記憶手段と、
今回のエラー訂正用データ挿入予定時点での該排他的論理和累積計算手段の計算値と、該記憶手段に記憶された前回のエラー訂正用データ挿入時点での該計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成する排他的論理和挿入時点計算手段とをそなえたことを特徴とする、エラー訂正用データの生成装置。
【請求項４】
コンピュータに、送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成させるエラー訂正用データの生成プログラムであって、
該コンピュータに、
該挿入間隔とは独立して累積的に該送信データの排他的論理和を計算し続けるステップと、
前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成するステップとを実行させることを特徴とする、エラー訂正用データの生成プログラム。
【請求項５】
請求項４記載のエラー訂正用データの生成プログラムを格納したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エラー訂正用データの生成方法及び生成装置並びに生成プログラム及び同プログラムを格納したコンピュータ読み取り可能な記録媒体に関し、特に、インターネットのようなパケットロスの多いネットワーク環境におけるストリーミングデータ等のデータ転送のエラー耐性を高めるのに用いて好適な技術に関する。
【背景技術】
【０００２】
昨今、インターネット通信を始めとして様々な通信手段を介した、画像データ、音声データ等のデータ通信の需要が高まっている。特に近年のデータ通信のサービスとして、インターネット上のデータ転送におけるストリーミング配信方式によるサービスが増えてきている。ストリーミング配信方式においては、ＭＰＥＧ（Motion Picture Experts Group）エンコーダ装置（以下、単に「エンコーダ」ともいう）からＭＰＥＧデコーダ装置（以下、単に「デコーダ」ともいう）にデータ転送が行なわれている間に、リアルタイムで受信データの再生処理を行なっている。このような方式を採用したシステムとして、例えば、VOD(ビデオオンデマンド)やライブ映像のストリーミング配信、あるいはテレビ会議システム等が挙げられる。
【０００３】
そして、かかるリアルタイム通信に適したインターネット技術として、RTP(Real-time Transport Protocol)プロトコル〔後記非特許文献１（IETF RFC1889）参照〕がある。このRTPを利用したデータ通信では、時間情報としてパケットにタイムスタンプを付加し、このタイムスタンプを参照することにより、パケット送信側であるエンコーダ装置とパケット受信側であるデコーダ装置との間で時間関係の把握を行ない、デコーダ装置側において、パケット転送の遅延やゆらぎ（ジッタ）などの影響を受けずに同期をとった再生を可能としている。ただし、RTPは実時間のデータ通信を保証しているものではないため、RTPパケットは、他のパケットと同様、ネットワーク上での配信遅延やパケットロストが起きる可能性がある。
【０００４】
しかし、このような状況下においても、デコーダ装置は期待する時間内に到着したパケットだけを利用してデータを再生することも可能である。これは、映像や音声データに多少のデータ欠損(パケットロスト)があったとしても、データ品質を落とした再生、あるいはデータ補正処理による再生が可能となるからである。なお、再生に間に合わず遅延して配送されたパケットやエラーの発生したパケットは、デコーダ装置側でそのまま破棄される。つまり、パケットロストやエラーが発生した場合は、高品質なデータ配信処理を行なっている場合でも、デコーダ装置側で品質を保持した再生が実行されないという課題がある。
【０００５】
このようなRTPを利用したデータ転送における課題を解決する案としては、データ転送に信頼性の高いデータ転送プロトコルであるTCP (Transmission Control Protocol)を利用して、パケットの再送要求および再送パケット送信を行なわせる方法が考えられる。しかし、TCPはエラー訂正には強いが、スループットが低く、遅延が大きいため、再送しても再生時間に間に合わない可能性があり、リアルタイム通信システムを実現する上では問題がある。
【０００６】
さらに、パケットロストに対応するエラー訂正手法として、例えば、FEC〔Forward Error Correction：後記非特許文献２（IETF RFC2733）参照〕という技術がある。FECのエラー訂正手法について、図８に示す。この図８に示すように、FECでは、エンコーダ装置１００側において排他的論理和(XOR)演算に基づいて生成したエラー訂正用データである冗長パケット(パリティ)Ｐ１を、送信データ（パケット）Ｄ１，Ｄ２とともに送信しておくことにより、途中のインターネット等のネットワーク３００においてパケットロストが発生しても、デコーダ装置２００側においてこの冗長パケットＰ１からロストしたパケットＤ１又はＤ２を復元することができ、エンコーダ装置１００側からのパケット再送を必要としない手法である。
【０００７】
このようなFECを利用すると、インターネットのようにパケットロストの多いネットワーク環境においても、信頼性とインタラクティブ性に優れたメディア伝送を実現し、インターネットライブ放送などのサービスが実現可能ではあるが、バースト的にパケットロストが発生するネットワーク環境においては高品質なメディア伝送を実現することは困難である。
【０００８】
そこで、このようなバースト的なパケットロストに対応するエラー訂正手法として、例えば、ARQ(Automatic Repeat Request)という技術がある。ARQのエラー訂正手法について、図９に示す。この図９に示すように、ARQでは、デコーダ装置５００側においてパケットロストを検出すると、即時にロストしたパケットの再送要求をデコーダ装置５００からエンコーダ装置４００側に送信し（矢印６００参照）、エンコーダ装置４００側においてロストしたパケットの再送を行なう（矢印７００参照）技術である。
【０００９】
そして、従来のシステムにおいては、以上のFECとARQのいずれか一方の誤り手法を固定的に使用することが多いため、例えば、FEC技術を利用した場合は伝送率が低くエラー率が高いネットワーク環境においては効果的だが、逆に、伝送率が高くエラー率が低い場合にはFECパケットのオーバヘッドが大きく、伝送効率が悪化するという特質があり、また、伝送率が高くエラー率が低いネットワーク環境においては、ARQ技術を利用するのが効果的だが、伝送率が低くエラー率が高くなると、再送要求に係るやりとりが多くなり、伝送効率が悪化するという特質がある。
【００１０】
そこで、従来、以上のARQの技術とFECの技術とを組み合わせた技術も提案されている。例えば、後記特許文献１（特開２００２−９８８３号公報）及び特許文献２（特開平７−６７１７５号公報）により提案されている技術がそれである。
まず、特許文献１に記載の技術は、通信網システム上で発生する通信データの伝送エラーにより発生する誤りに対して特定の指標値（誤り率や伝送率）を用いて、誤り訂正方法を自動的に切り替えるという技術である。より具体的には、受信データを解読して指標値（誤り率／伝送率）を計算し、当該指標値が閾値以下の場合にはARQ、閾値よりも大きい場合にはFECに誤り訂正方法を自動的に切り替えるようになっている。これにより、データ伝送率や伝送効率の状況によって自動的に最も能率的な誤り訂正方法を選択することが可能となり、網トラフィック負荷を下げることが可能となる（段落００２１〜００２３参照）。
【００１１】
一方、特許文献２に記載の技術は、必ずしも安定でない無線区間の回線状態に応じて伝送速度を変更し、誤り制御方式をFEC及びARQのいずれか又は双方を併用することにより、最も伝送効率の良いデータ伝送方式を提供するもので、そのために、この技術においては、無線区間の回線状態（誤り発生状況）を監視して、その誤り発生状況に応じて伝送速度を変更し、適用すべき誤り制御方式としてARQとFECのいずれかを選択・決定することが行なわれる。
【００１２】
より具体的には、例えば、伝送速度が９６００bpsのときにはARQを用い、それ以外の伝送速度（４８００bps又は２４００bps）ときには、FECによる訂正が可能か否かを判断して、可能であれば自己訂正を行ない、不可能なときには伝送速度が４８００bpsであればARQによる再送要求を行なうようになっている。また、再送回数を監視して、再送回数が多く回線品質が悪い場合には、伝送速度を４８００bpsに下げて、ARQ及びFECの併用モードとし、伝送速度が４８００bpsのときに再送回数が増加し回線品質がさらに低下した場合には、伝送速度をさらに２４００bpsに下げて、FECモードとすることも行なえるようになっている（段落００１４及び００１５参照）。
【００１３】
このような特許文献２に記載の技術によれば、回線状態に応じてデータ伝送速度及び伝送速度に適した誤り制御方式を選択するので、最も効率的な伝送速度を達成することが可能となる。
【特許文献１】特開２００２−９８８３号公報
【特許文献２】特開平７−６７１７５号公報
【非特許文献１】H. Schulzrinne et al.,“RTP:A Transport Protocol for Real-Time Applications”, Request for Comments:1889、[online]、１９９６年１月、IETF Network Working Group、[平成１６年８月２５日検索]、インターネット<URL: http://www.ietf.org/rfc/rfc1889.txt>
【非特許文献２】J. Rosenberg.et al.,“An RTP Payload Format for Generic Forward Error Correction”, Request for Comments:2733、[online]、１９９９年１２月、IETF Network Working Group、[平成１６年８月２５日検索]、インターネット<URL:http://www.ietf.org/rfc/rfc2733.txt>
【発明の開示】
【発明が解決しようとする課題】
【００１４】
従来のシステムでは、エンコーダとデコーダが一組ずつの場合には効率的なエラー訂正を行ないつつ、データ送信帯域の変動を抑えることが可能であるが、１台のエンコーダから複数のデコーダに対して映像データを配信するシステムの場合の考慮がなされていない。
即ち、冗長パケットを挿入すべき間隔が全てのデコーダで同じであり、また、全てのデコーダが同じネットワークに属しており、パケットロストに伴う再送要求の発生回数も全てのデコーダで同程度であれば、エンコーダとデコーダが一組ずつの場合と同等に効率的なエラー訂正とデータ送信帯域の変動抑制とを実現できるが、例えば、デコーダの一部又は全てが異なるネットワークに属しており、あるデコーダが属するネットワークの品質が悪いためにそのデコーダからの再送要求が偏って増加すると、そのデコーダに対するデータ送信帯域が増加し、逆にネットワークの帯域を圧迫してしまうことになる。
【００１５】
また、デコーダの属するネットワークの品質によって冗長パケットの挿入間隔がデコーダ毎に異なるような場合、エンコーダはデコーダ別に冗長パケットの生成（排他的論理和演算）をそれぞれ行なう必要があり、エンコーダの負荷が増大する。
そこで、例えば、最もエラーの多いデコーダにあわせて、全てのデコーダに対する冗長パケットの挿入間隔を同じ間隔に設定しておくことも考えられるが、この場合、エラーの少ないデコーダもエラーの多いデコーダに引きずられて冗長パケットの挿入間隔が長くなることになる。エラーが少ないから冗長パケットの挿入間隔を伸ばしても問題ない、という見方もあるが、FEC方式は前方予測であってエラーに対する予防的な要素が強いため、あるタイミングで突然ロスが増加すると対応できなくなる。
【００１６】
また、特定のデコーダに合わせて他のデコーダに対する冗長パケットの挿入間隔を変更にすると、さらにエンコーダの負荷が増大するばかりでなく、別のデコーダに対する冗長パケットの挿入間隔が変更されてしまい、望むべきエラー訂正を行なうことができなくなる。加えて、冗長パケットの挿入間隔を変更して送信レートを変動させると、ネットワーク内の別の通信（TCP等）がその帯域を使用し始めて、ストリーミングに必要な使用帯域が少なくなるため、必要帯域は常に確保しておくことが望ましい。
【００１７】
本発明は、以上のような課題に鑑み創案されたもので、１台のデータ送信装置（エンコーダ）から複数のデータ受信装置（デコーダ）に対してデータを配信するシステムにおいて、複数のデータ受信装置それぞれに対するエラー訂正用データの計算をより効率的に行なって効率的なエラー訂正を実現できるようにすることを目的とする。
【課題を解決するための手段】
【００１８】
上記の目的を達成するために、本発明のエラー訂正用データの生成方法（請求項１）は、送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成するエラー訂正用データ生成方法であって、該挿入間隔とは独立して累積的に該送信データの排他的論理和を計算し続け、前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成することを特徴としている。
【００１９】
ここで、複数のデータ受信装置宛にデータを配信する際に、該データ受信装置別にそれぞれ所定の挿入間隔で該エラー訂正用データを送信する場合においては、前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値を該データ受信装置別に記憶しておき、該データ受信装置のそれぞれについて、上記記憶しておいた前回のエラー訂正用データ挿入時点での該計算値と今回のエラー訂正用データ挿入予定時点での上記排他的論理和計算の計算値との排他的論理和を計算することにより、今回挿入すべき該エラー訂正用データを生成するのが好ましい（請求項２）。
【００２０】
また、本発明のエラー訂正用データの生成装置（請求項３）は、送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成するエラー訂正用データ生成装置であって、該挿入間隔とは独立して累積的に該送信データの排他的論理和を計算し続ける排他的論理和累積計算手段と、前回のエラー訂正用データ挿入時点での該排他的論理和累積計算手段の計算値を記憶する記憶手段と、今回のエラー訂正用データ挿入予定時点での該排他的論理和累積計算手段の計算値と、該記憶手段に記憶された前回のエラー訂正用データ挿入時点での該計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成する排他的論理和挿入時点計算手段とをそなえたことを特徴としている。
【００２１】
さらに、本発明のエラー訂正用データの生成プログラム（請求項４）は、コンピュータに、送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成させるエラー訂正用データ生成プログラムであって、該コンピュータに、該挿入間隔とは独立して累積的に該送信データの排他的論理和を計算し続けるステップと、前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成するステップとを実行させることを特徴としている。
【００２２】
また、本発明の記録媒体（請求項５）は、上記のエラー訂正用データ生成プログラムを格納したことを特徴としている。
【発明の効果】
【００２３】
上記の本発明によれば、エラー訂正用データの挿入間隔とは独立して累積的に送信データの排他的論理和を計算し続け、前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成するので、エラー訂正用データの計算を挿入間隔の相違や変更の有無に依存しないで効率良く行なってその負荷を大幅に軽減することができ、効率的なエラー訂正を実現することが可能となる。
【００２４】
特に、データ送信先（データ受信装置）が複数存在する場合であっても、データ受信装置のそれぞれについて、前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算するだけで、データ配信中のデータ受信装置に対する今回挿入すべきエラー訂正用データを生成することができるので、全てのデータ受信装置についての挿入間隔に依存して、個別に累積的な排他的論理和計算を行なう必要がなく、その効果は極めて大きい。
【発明を実施するための最良の形態】
【００２５】
〔Ａ〕一実施形態の説明
図１は本発明の一実施形態に係る映像配信システムの構成を示すブロック図で、この図１に示すように、本実施形態の映像配信システムは、例えば、ネットワーク５としてエラーレートの高いＩＰ（Internet Protocol）ネットワークに、ＭＰＥＧのストリーミングデータをパケットによりライブ配信するＭＰＥＧエンコーダ（データ送信装置）１と、このＭＰＥＧエンコーダ１が送信したストリーミングデータ（パケット）を受信／デコード／表示等する複数のＭＰＥＧデコーダ（データ受信装置）２−１，２−２，…及び／又はクライアント端末（データ受信装置）３と、ＭＰＥＧエンコーダ１／ＭＰＥＧデコーダ２等の符号化モードやライブ配信アドレス等の設定制御を行なうサーバ４とが通信可能に接続されて構成されている。なお、以下において、ＭＰＥＧデコーダ２−１，２−２，…を区別しない場合は、単に「ＭＰＥＧデコーダ２」と表記する。
【００２６】
そして、本システムでは、サーバ４がＭＰＥＧエンコーダ１に対して符号化モード（ＭＰＥＧ１／２／４、符号化ビットレート、音声あり／なし等）やライブ配信アドレスの設定を行なう。また、ＭＰＥＧデコーダ２やクライアント端末３（以下、単に「クライアント３」と表記する）に対して、ライブ受信アドレスや再送要求を即時に送信するか否かの閾値の設定等もこのサーバ４が行なう。
【００２７】
ＭＰＥＧエンコーダ１は、例えば、監視システム等における監視対象の場所等の遠隔地に設置され、設定された符号化モードで入力映像を符号化し、符号化されたＭＰＥＧストリーミングデータ及びエラー訂正用の冗長パケット（FECパケット）を設定されたアドレスに対して配信する。ＭＰＥＧデコーダ２及び／又はクライアント３では、受信したＭＰＥＧストリーミングデータをエラー訂正しつつ、デコード／再生して遠隔地での映像監視を行なうことを可能とする。
【００２８】
このため、本実施形態のＭＰＥＧエンコーダ１は例えば図２、ＭＰＥＧデコーダ２は例えば図３に示すように構成される。なお、パケット送信側のＭＰＥＧエンコーダ１の構成は本発明の適用にあたって特殊な構成を有するものである必要はなく、少なくとも再送要求を受けて要求されたパケットを再送する機能をそなえている（ARQをサポートしている）装置であれば同様に適用される。
【００２９】
（Ａ１）ＭＰＥＧエンコーダ１の説明
図２に示すように、ＭＰＥＧエンコーダ１は、その要部に着目すると、映像アナログ／デジタル（Ａ／Ｄ）変換器１１Ａ，音声アナログ／デジタル（Ａ／Ｄ）変換器１１Ｂ，ＭＰＥＧ符号化部１２，冗長パケット生成部１３，パケット配信部１４，パケットバッファ１５，再送要求受信部１６，パケット再送部１７，サーバインタフェース（ＩＦ）部１８及び設定制御部１９をそなえて構成されている。
【００３０】
ここで、映像Ａ／Ｄ変換器１１Ａは、ビデオカメラ装置等からの入力映像（アナログ信号）をデジタル信号に変換するものであり、音声Ａ／Ｄ変換器１１Ｂは、入力音声（アナログ信号）をデジタル信号に変換するものであり、ＭＰＥＧ符号化部１２は、これらのＡ／Ｄ変換器１１Ａ及び１１Ｂから入力されたデジタル映像／音声信号をＭＰＥＧ符号化するもので、ここでは、符号化後のＭＰＥＧストリーミングデータをパケット化する機能も有している。
【００３１】
冗長パケット生成部（エラー訂正用データ生成装置）１３は、このＭＰＥＧ符号化部１２で符号化されたＭＰＥＧストリーミングデータを基にエラー訂正用の冗長パケット（パリティ）を生成するもので、本実施形態では、以下の各部としての機能を有している。
(1)ある冗長パケットを生成するために必要な期間〔冗長パケット生成割合（つまり、挿入間隔）〕には無関係に、動作開始時から累積的に送信データ〔各ＭＰＥＧパケット（メディアパケットともいう）〕の排他的論理和を計算し続ける排他的論理和累積計算部１３Ａとしての機能
(2)当該計算部１３Ａの計算値をマスタの冗長パケット（FEC値）とし、各デコーダ２（及びクライアント３）に対して冗長パケットを送信した時に、その段階でのマスタの冗長パケット（FEC値）を差分計算用としてデコーダ２別に記憶しておくメモリ（データ受信装置別記憶手段）１３Ｂとしての機能
(3)いずれかのデコーダ２（又はクライアント３）に対する次回の冗長パケット送信時に、その段階でのマスタの冗長パケット（FEC値）と、記憶しておいた前回のマスタの冗長パケット（FEC値）との排他的論理和を計算することにより、１度の排他的論理和演算だけで次回の冗長パケットを生成する排他的論理和挿入時点計算部１３Ｃとしての機能
この冗長パケット生成部１３としての機能（各手段の全部又は一部の機能）は、ＣＰＵ等のコンピュータ（エンコーダ１）が所定のアプリケーションプログラム（エラー訂正用データ生成プログラム）を実行することによって実現される。そのプログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＭＯ，ＤＶＤ等のコンピュータ読取可能な記録媒体に記録された形態で提供可能である。なお、当該冗長パケット生成部１３の詳細な動作については、図５及び図７を用いて後述する。
【００３２】
パケット配信部１４は、ＭＰＥＧ符号化部１２からのＭＰＥＧストリーミングデータをパケット化して、冗長パケット生成部１３からのパケットとともにネットワーク５に送信（配信）するものである。
パケットバッファ１５は、再送要求を受信した場合のパケット再送に備えて送信済みのＭＰＥＧパケット（コピーパケット）を一定時間保存するものであり、再送要求受信部１６は、ネットワーク５経由でＭＰＥＧデコーダ２から受信される再送要求を受信するものであり、パケット再送部１７は、この再送要求受信部１６で再送要求が受信された場合に、パケットバッファ１５から再送要求のあったＭＰＥＧパケットを読み出して再送要求元のＭＰＥＧデコーダ２宛に送信するものである。
【００３３】
サーバＩＦ部１８は、ネットワーク５とのインタフェースをとるもので、ネットワーク５経由でサーバ４からの設定情報や制御情報等を受信できるようになっている。そして、設定制御部１９は、ＭＰＥＧエンコーダ１の全体動作を統括的に制御するもので、サーバＩＦ部１８で受信したサーバ４からの設定情報や制御情報に応じて、ＭＰＥＧ符号化部１２，冗長パケット生成部１３，パケット配信部１４，パケット再送部１７等に対する設定や制御を行なえるようになっている。
【００３４】
具体的に、装置設定に関しては、この設定制御部１９により、サーバＩＦ部１８にてサーバ４から受信した符号化モードやライブ配信アドレス，冗長パケット生成割合（間隔），再送パケット保存時間等の設定情報を解釈し、符号化モードをＭＰＥＧ符号化部１２に設定し、ライブ配信アドレスをパケット配信部１４に設定し、冗長パケット生成割合（デフォルト値）を冗長パケット生成部１３に設定し、再送パケット保存時間をパケットバッファ１５に設定するようになっている。
【００３５】
これにより、本ＭＰＥＧエンコーダ１は、入力された映像／音声を各Ａ／Ｄ変換器１１Ａ及び１１Ｂにてそれぞれデジタル変換した後、ＭＰＥＧ符号化部１２にてサーバ４から設定された符号化モードで符号化を行なう。そして、冗長パケット生成部１３にて、複数のＭＰＥＧパケットに対してサーバ４から設定された割合で排他的論理和演算に基づいて冗長パケット（パリティ）を生成し、ＭＰＥＧパケットとともに冗長パケットをパケット配信部１４からネットワーク５に配信する。
【００３６】
また、このとき、ＭＰＥＧエンコーダ１は、ＭＰＥＧデコーダ２からの再送要求に備えて、配信済みのＭＰＥＧパケットをパケットバッファ１５に保存しておき、ＭＰＥＧデコーダ２から再送要求を再送要求受信部１６で受信した場合、ＭＰＥＧデコーダ２が所望するパケットをこのパケットバッファ１５から取り出して、パケット再送部１７からネットワーク５に配信する。同時に、冗長パケット生成部１３に対して、パケット再送を行なったデコーダ２（又は、クライアント３）に対する冗長パケットの生成（挿入）間隔を伸ばすように指示して、全データ送信レートを一定に保つ。つまり、本実施形態のＭＰＥＧエンコーダ１（冗長パケット生成部１３）は、あるデコーダ２（又は、クライアント３）からパケット再送要求に応じて、全データ送信レートを一定に保つよう、冗長パケットの生成（挿入）間隔を変更する挿入間隔変更手段としての機能も有している。
【００３７】
（Ａ２）ＭＰＥＧデコーダ２の説明
一方、ＭＰＥＧデコーダ２（又はクライアント３。以下、同じ。）は、その要部に着目すると、図３に示すように、エラー訂正装置２０として、パケット受信部２１，エラー訂正部２２，再送要求送信部２３及びパケット抜け判定部２４をそなえるとともに、ＭＰＥＧ復号化部２５，映像デジタル／アナログ（Ｄ／Ａ）変換器２６Ａ，音声デジタル／アナログ（Ｄ／Ａ）変換器２６Ｂ，サーバＩＦ部２７及び設定制御部２８をそなえて構成されている。
【００３８】
ここで、パケット受信部２１は、ＭＰＥＧエンコーダ１が送信したパケットをネットワーク５から受信するものであり、エラー訂正部２２は、パケットの欠落（パケット抜け）が発生した場合に、次にパケット受信部２１にて受信される冗長パケットに基づいて欠落パケットを復元するためのエラー訂正処理（FEC）を行なうものである。なお、パケット抜けの発生は、例えば後述するようにRTPのパケット番号（シーケンス番号）を監視することにより認識できる。
【００３９】
また、再送要求送信部２３は、パケット抜け判定部２４からの再送要求送信指示に従ってＭＰＥＧエンコーダ１に対して再送要求を送信するものであり、パケット抜け判定部（パケット欠落検出部，再送要求制御部）２４は、パケット受信部２１で受信されるパケットの欠落（パケット抜け）を検出するとともに、パケット抜けが検出された場合に、ＭＰＥＧエンコーダ１に対して当該パケットの再送要求を送信するものである。ここで、再送要求を行なうタイミングは、即時でもよいし、所定時間内にエラー訂正部２２により欠落パケットを復元できるか否かに応じて再送要求送信部２３によるＭＰＥＧエンコーダ１への再送要求の送信タイミングを制御するようにしてもよい。例えば、パケット抜けが発生しても直ぐに冗長パケットを受信できてFECによるエラー訂正が可能な場合もあるので、次の冗長パケットが到着する時間を冗長パケットの送信間隔に基づいて判断し、その判断結果に応じて再送要求送信部２３による再送要求の送信タイミングを制御（変更）することも可能である。
【００４０】
ＭＰＥＧ復号化部２５は、受信したＭＰＥＧストリーミングデータを送信側（ＭＰＥＧエンコーダ１）の符号化モードに対応する復号化モードでＭＰＥＧ復号化するものであり、映像Ｄ／Ａ変換器２６Ａは、このＭＰＥＧ復号化部２５によってＭＰＥＧ復号化されたデジタル映像データをアナログ化してモニタ装置等の映像表示装置へ出力するものであり、音声Ｄ／Ａ変換器２６Ｂは、ＭＰＥＧ復号化部２５によってＭＰＥＧ復号化されたデジタル音声データをアナログ化してスピーカ等の音声出力装置へ出力するものである。
【００４１】
サーバＩＦ部２７は、ネットワーク５とのインタフェースをとるもので、ＭＰＥＧエンコーダ１と同様に、サーバ４からの設定情報や制御情報を受信できるようになっている。そして、設定制御部２８は、このサーバＩＦ部２７にて受信された設定情報や制御情報に応じてパケット受信部２１やＭＰＥＧ復号化部２５等に対する設定や制御を行なうものである。
【００４２】
これにより、まず、装置設定に関しては、サーバＩＦ部２７にてサーバ４から受信したライブ受信アドレスを設定制御部２８にて解釈し、そのアドレスをパケット受信部２１に設定する。パケット受信部２１で受信したパケットは、パケット抜け判定部２４でパケット抜けの有無が判定され、パケット抜けがない場合は、ＭＰＥＧ復号化部２５でＭＰＥＧ復号化された後、映像及び音声の各Ｄ／Ａ変換器２６Ａ及び２６Ｂにてそれぞれ映像及び音声の再生出力が行なわれる。
【００４３】
一方、パケット抜けの発生をパケット抜け判定部２４が認識した場合には、直ぐにはＭＰＥＧ復号化部２５によるＭＰＥＧ復号化は行なわず、次の冗長パケットを受信するまで待ってエラー訂正部２２によるエラー訂正（FEC）を行なうか、再送要求送信部２３からＭＰＥＧエンコーダ１に対して再送要求を送信して欠落パケットを受信するまで待ってから、ＭＰＥＧ復号化を行なう。
【００４４】
以下、上述のごとく構成された本実施形態のシステムの動作、特に、冗長パケット（FEC）の生成手順について詳述する。
まず、デコーダ２毎に冗長パケット生成間隔が異なる場合に通常考えられる生成手順について、図４を用いて説明する。冗長パケットは、ある期間のメディアパケットの排他的論理和の累積により生成されるので、例えば図４（Ａ）に示すように、メディアパケット１０個に１個の割合で冗長パケットを送信すべきデコーダ２−１に対しては、通常、メディアパケット１〜１０の排他的論理和を計算して冗長パケットを生成、メディアパケット１１〜２０の排他的論理和を計算して冗長パケットを生成、・・・という具合に冗長パケット生成のために必要な期間のメディアパケットから計算を行なうことになる。
【００４５】
しかし、この計算方法では、デコーダ２−１，デコーダ２−２，デコーダ２−３のように複数のデコーダに冗長パケットを配信し、かつ、図４（Ａ）〜図４（Ｃ）に示すように、その冗長パケットの挿入間隔もデコーダ２−１，２−２，２−３毎に可変である場合、デコーダ２−１，２−２，２−３別に独立して排他的論理和演算を行なう必要がある。例えば、デコーダ２−１，２−２，２−３で冗長パケットの挿入間隔が同じときには、各デコーダ２−１，２−２，２−３に対して冗長パケットを２個生成するのに、２０×３＝６０回の排他的論理和演算が必要となる。仮に、デコーダ２−２，２−３の挿入間隔が変更されて、図４（Ａ）〜図４（Ｃ）に示すように、各デコーダ２−１，２−２，２−３に対する挿入間隔がそれぞれ「１０」，「９」，「８」である場合には、冗長パケットを２個生成するのに、デコーダ２−１については１０×２、デコーダ２−２については９×２、デコーダ２−３については８×２の合計２０＋１８＋１６＝５４回の排他的論理和演算が必要となる。
【００４６】
かかる演算回数を減らして処理負荷を下げるために、本実施形態では、冗長パケット生成部１３において、例えば図５（Ｄ）に示すように、ある冗長パケットを生成するために必要な期間には関係なく、動作開始時から累積的に各メディアパケットの排他的論理和を計算し続け、これをマスタの冗長パケット（FECパケット）としておく。冗長パケットは、排他的論理和の演算により生成されるものであるから、ある期間Ｎ〜Ｍの排他的論理和を計算するためには、１〜Ｎの期間の排他的論理和をFECN、１〜Ｍの期間の排他的論理和をFECMとすると、FECNとFECMの排他的論理和により計算される。
【００４７】
従って、各デコーダに対して冗長パケットを送信する時に、その段階でのマスタの冗長パケットを差分計算用として残しておき、次回の冗長パケットを送信する時にその段階でのマスタの冗長パケットとの排他的論理和を計算することにより、１度の排他的論理和演算だけで冗長パケットを生成することが可能となる。
例えば図５（Ａ）及び図５（Ｄ）に示すように、デコーダ２−１については、メディアパケット１〜１０についての累積的な排他的論理和の結果（マスタFEC値）を１回目の冗長パケットとして送信するとともに、そのマスタFEC値を記憶しておき、次回の冗長パケットの送信タイミング（挿入予定時点）において、その段階でのFEC計算値と記憶しておいた前回のマスタFEC値との排他的論理和を計算するだけで、次回の冗長パケットを生成することが可能となる。
【００４８】
同様に、デコーダ２−２については、図５（Ｂ）及び図５（Ｄ）に示すように、メディアパケット１〜９についてのマスタFEC値を１回目の冗長パケットとして送信するとともに、そのマスタFEC値を記憶しておき、次回の冗長パケットの送信タイミングにおいて、その段階でのFEC計算値と記憶しておいた前回のマスタFEC値との排他的論理和を計算し、デコーダ２−３については、図５（Ｃ）及び図５（Ｄ）に示すように、メディアパケット１〜８についてのマスタFEC値を１回目の冗長パケットとして送信するとともに、そのマスタFEC値を記憶しておき、次回の冗長パケットの送信タイミングにおいて、その段階でのFEC計算値と記憶しておいた前回のマスタFEC値との排他的論理和を計算するだけで、それぞれ、次の冗長パケットを生成することができる。
【００４９】
したがって、本例の場合は、マスタ冗長パケット（マスタFEC値）の演算用に２０回と、各デコーダ２用に２×３＝６回の合計２６回の排他的論理和演算を行なうだけで、複数デコーダ２に対して独立した冗長パケットを送信（挿入）することが可能となり、冗長パケット生成処理の負荷を大幅に削減することが可能となる。
このような動作を実現するため、本実施形態の冗長パケット生成部１３は、例えば図６に示すようなFECパケット送信管理テーブル１３１を有しており、このテーブル１３１にデコーダ２別に、「最後に冗長パケットを送出した時のメディアパケット番号」及び「その時のマスタFEC値」を保管しておく。このテーブル１３１は、テーブル形式のデータとしてRAM等のメモリ（記憶手段）１３Ｂに記憶されて管理される。
【００５０】
また、この図６に示すように、「次にFECパケットを送出するまでの間隔」も同テーブル１３１で管理する。この値もデコーダ２毎にデフォルト設定値及び現在動作値のそれぞれを管理する。デフォルト設定値は例えばサーバ４から設定され、サーバＩＦ部１８経由で設定制御部１９に格納されているものとする。
なお、この値は主にネットワーク５の帯域やＭＰＥＧの符号化レート等によって決められる。現在動作値は、例えばARQ再送パケットを送ったときにFECパケット挿入間隔を変更するために更新される。例としては、ARQ再送パケットを１パケット送信するとFECパケットの送出間隔をデフォルト値の倍にする（冗長パケットの送信を１回分取り止めればよい）等の制御が考えられる。この値は図７により後述するように「デコーダ２−ｋにFECパケットを送信するか」を判定する前に更新され、この判定の条件として使用される。
【００５１】
次表１にFEC値の数値例を示す。本来はパケット単位でFEC計算を行なうものであるが、説明の簡単化のため、各パケットが１バイトである場合の例を示す。
【００５２】
【表１】
2006067072.tif 000003
【００５３】
この表１に斜線部で示すように、デコーダ２−１用として、メディアパケット番号が「１０」の時と「２０」の時にFECパケットが送出され、それぞれの値は「１１」，「３１」となる。図５により上述した通常の計算方法では、パケット番号が「２０」の時のFEC値＝３１はパケット番号「１１」からパケット番号「２０」までの累積的な排他的論理和から計算するが、本実施形態の冗長パケット生成部１３では、パケット番号が「１０」の時のマスタFEC値＝「１１」とパケット番号が「２０」の時のマスタFEC値＝２０の排他的論理和から、パケット番号が「２０」の時のFEC値＝３１が導き出せる。
【００５４】
同様に、デコーダ２−２用として、メディアパケット番号が「９」の時と「１８」の時にFECパケットが送出され、それぞれの値は「２０」と「７」となるが、パケット番号が「１８」の時のFEC値＝７はパケット番号が「９」の時のマスタFEC値＝２０とパケット番号が「１８」の時のマスタFEC値＝２０の排他的論理和から導き出せ、デコーダ２−３用として、メディアパケット番号が「８」の時と「１６」の時にFECパケットが送出され、それぞれの値は「８」と「２４」となるが、パケット番号が「１６」の時のFEC値＝２４はパケット番号が「８」の時のマスタFEC値＝８とパケット番号が「１６」の時のマスタFEC値＝１６の排他的論理和から導き出せる。
【００５５】
ここで、排他的論理和の演算は（０，０）→０，（０，１）→１，（１，０）→１，（１，１）→０となる。つまり、ビット毎に排他的論理和を実行するということは、そのビット値が１である回数が奇数であれば１となり、そのビット値が１である回数が偶数であれば０となる。次表２に、ある時点ｋとある時点Ｎでのビット値が１であった回数が偶数か奇数かと、パケットｋとパケットＮでのマスタFEC計算値と、ｋ＋１〜Ｎでのビット値が１であった回数が偶数か奇数かと、ｋ＋１〜ＮのFEC計算値を示す。
【００５６】
【表２】
2006067072.tif 000004
【００５７】
この表２からｋ＋１〜Ｎの間で排他的論理和演算を行なった結果（ｋ＋１〜ＮのFEC計算値）と、パケットｋでのマスタFEC計算値とパケットＮでのマスタFEC計算値との排他的論理和演算の結果とが一致することが分かる。
次に、上記の冗長パケット生成方法を実現する、エンコーダ１（冗長パケット生成部１３）での動作について、図７を用いて説明する。
【００５８】
エンコーダ１（冗長パケット生成部１３）は、まず、ＭＰＥＧ符号化部１２からメディアパケットを受信することにより動作を開始し（ステップＳ１）、メディアパケットを受信する度に排他的論理和を累積的に計算し続けて、マスタの冗長パケットを生成する（ステップＳ２）。
この間、冗長パケット生成部１３は、あるデコーダ２−ｉ（ｉ＝１，２，３，…）から再送要求を受けることにより、パケット再送部１７からパケットの再送が行なわれたか否かをチェックし（ステップＳ３）、再送が行なわれていれば、前記FECパケット送信管理テーブル１３１の「次にFECパケットを送出するまでの間隔（現在動作値）」を更新し（ステップＳ３のＹｅｓルートからステップＳ４）、さらに、デコーダ２−ｉにFECパケットを送信すべきタイミングであるか否かをチェックする（ステップＳ５）。なお、パケット再送が行なわれていなければ、上記現在動作値の更新は行なわず、デコーダ２−ｉにFECパケットを送信すべきタイミングであるか否かをチェックする（ステップＳ３のＮｏルートからステップＳ５）。FECパケットを送信するタイミングか否かは、サーバ４から指定されたFECパケットの送信間隔や、再送要求受信部１６経由でデコーダ２−ｉからの再送要求を受信したパケット再送部１７により送信間隔を変更するように指示された回数等から、映像配信先デコーダ２−ｉ毎に判断される。
【００５９】
その結果、FECパケットの送信タイミングであれば、冗長パケット生成部１３は、テーブル１３１を参照して、前述したごとく、デコーダ２−ｉに前回（最後に）送信したマスタFECパケット（FEC計算値）と、その時点でのマスタFECパケット（FEC計算値）との排他的論理和演算を行なって今回送信すべきFECパケットを計算して生成し（ステップＳ６）、パケット配信部１４を通じて当該FECパケットを送信する（ステップＳ７）。デコーダ２−ｉに対して、初めてFECパケットを送信する時は、メディアパケット送信開始時点でのマスタFEC計算値と現在のマスタFEC計算値との排他的論理和を計算してFECパケットを生成・送信する。また、FECパケットを送信した時点でのマスタFEC計算値を、次回のFECパケット送信時の計算用としてテーブル１３１に保存しておく。
【００６０】
以上の処理を全デコーダ２−ｉに関してチェックが完了するまで（ステップＳ８でＹｅｓと判定されるまで）、上記ステップＳ３以降の処理を繰り返し（ステップＳ８のＮｏルート）、完了すれば上記ステップＳ１以降の処理を再実行する（ステップＳ８のＹｅｓルート）ことにより、映像配信中のデコーダ２−ｉ全てに関して、それぞれのデコーダ２−ｉ毎に独立したFECパケットを生成する。
【００６１】
これにより、複数のデコーダ２−ｉそれぞれに対するFECパケット計算を、デコーダ２−ｉ毎の挿入間隔の相違や変更の有無に依存しないで効率良く行なうことができる、つまりは、データ配信対象の全てのデコーダ２−ｉについてのFECパケット挿入間隔に依存して個別に累積的な排他的論理和計算を行なうことなく必要なFECパケットの生成・挿入を行なうことができる。したがって、FECパケット生成に必要な計算負荷を大幅に軽減することができ、また、再送要求に応じたFECパケット挿入間隔の変更により全体のデータ送信帯域を一定に保ちつつ、効率的なエラー訂正を実現することが可能となる。
【００６２】
なお、本発明は、上述した実施形態に限定されず、本発明の趣旨を逸脱しない範囲で種々変形して実施することができることはいうまでもない。
例えば、上述した例では、FECとARQの両エラー訂正方式を併用しているが、本発明は、FEC方式単独を採用するデータ送信装置についても同様に適用される。また、上述した例では、データ配信先が複数存在し、それぞれについてのFECパケット挿入間隔が変更されて異なる場合の動作について説明したが、それぞれについての挿入間隔が同じであっても、固定であっても同様に適用でき、FECパケット生成のための排他的論和の計算負荷を大幅に軽減することが可能である。
【００６３】
さらに、上述した例では、送信データがストリーミングデータ（メディアパケット）である場合について説明したが、本発明は、勿論、他の種類のデータであっても同様に適用され、上述した実施形態と同様の作用効果を得ることが可能である。
〔Ｂ〕付記
（付記１）
送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成するエラー訂正用データの生成方法であって、
該挿入間隔とは独立して累積的に該送信データの排他的論理和を計算し続け、
前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成するエラー訂正用データの生成方法。
【００６４】
（付記２）
複数のデータ受信装置宛に該送信データを配信する際に、該データ受信装置別にそれぞれ所定の挿入間隔で該エラー訂正用データを送信する場合において、
前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値を該データ受信装置別に記憶しておき、
該データ受信装置のそれぞれについて、上記記憶しておいた前回のエラー訂正用データ挿入時点での該計算値と今回のエラー訂正用データ挿入予定時点での上記排他的論理和計算の計算値との排他的論理和を計算することにより、今回挿入すべき該エラー訂正用データを生成することを特徴とする、付記１記載のエラー訂正用データの生成方法。
【００６５】
（付記３）
該挿入間隔が、該送信データについての再送要求に応じて変更されることを特徴とする、付記１又は２に記載のエラー訂正用データの生成方法。
（付記４）
送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成するエラー訂正用データの生成装置であって、
該挿入間隔とは独立して累積的に該送信データの排他的論理和を計算し続ける排他的論理和累積計算手段と、
前回のエラー訂正用データ挿入時点での該排他的論理和累積計算手段の計算値を記憶する記憶手段と、
今回のエラー訂正用データ挿入予定時点での該排他的論理和累積計算手段の計算値と、該記憶手段に記憶された前回のエラー訂正用データ挿入時点での該計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成する排他的論理和挿入時点計算手段とをそなえたことを特徴とする、エラー訂正用データの生成装置。
【００６６】
（付記５）
複数のデータ受信装置宛に該送信データを配信する際に、該データ受信装置別にそれぞれ所定の挿入間隔で該エラー訂正用データを送信する場合において、
該記憶手段が、前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値を該データ受信装置別に記憶するデータ受信装置別記憶手段として構成されるとともに、
該排他的論理和挿入時点計算手段が、該データ受信装置のそれぞれについて、該データ受信装置別記憶手段に記憶された前回のエラー訂正用データ挿入時点での該計算値と今回のエラー訂正用データ挿入予定時点での該排他的論理和累積計算手段の計算値との排他的論理和を計算する手段として構成されたことを特徴とする、付記４記載のエラー訂正用データの生成装置。
【００６７】
（付記６）
該挿入間隔を該送信データについての再送要求に応じて変更する挿入間隔変更手段をさらにそなえたことを特徴とする、付記４又は５に記載のエラー訂正用データの生成装置。
（付記７）
コンピュータに、送信データに対して或る挿入間隔で挿入すべきエラー訂正用データを該送信データについての排他的論理和の計算により生成させるエラー訂正用データの生成プログラムであって、
該コンピュータに、
該挿入間隔とは独立して累積的に該送信データの排他的論理和を計算し続けるステップと、
前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成するステップとを実行させることを特徴とする、エラー訂正用データの生成プログラム。
【００６８】
（付記８）
付記７記載のエラー訂正用データの生成プログラムを格納したコンピュータ読み取り可能な記録媒体。
【産業上の利用可能性】
【００６９】
以上詳述したように、本発明によれば、エラー訂正用データの挿入間隔とは独立して累積的に送信データの排他的論理和を計算し続け、前回のエラー訂正用データ挿入時点での上記排他的論理和の計算値と、今回のエラー訂正用パケット挿入予定時点での上記排他的論理和の計算値との排他的論理和を計算することにより、今回挿入すべきエラー訂正用データを生成するので、エラー訂正用データの計算を挿入間隔の相違や変更の有無に依存しないで効率良く行なってその負荷を大幅に軽減することができ、情報通信技術分野において極めて有用と考えられる。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施形態に係る映像配信システムの構成を示すブロック図である。
【図２】図１に示すＭＰＥＧエンコーダの要部構成を示すブロック図である。
【図３】図１に示すＭＰＥＧデコーダの要部構成を示すブロック図である。
【図４】（Ａ）〜（Ｃ）はそれぞれＭＰＥＧデコーダ毎の冗長パケットの生成（挿入）方法を説明するための図である。
【図５】（Ａ）〜（Ｄ）はそれぞれ本実施形態の冗長パケットの生成方法を説明するための図である。
【図６】本実施形態に係る冗長パケット送信管理テーブルの一例を示す図である。
【図７】本実施形態の冗長パケット生成方法を説明するためのフローチャートである。
【図８】従来のFECを利用したエラー訂正方法を説明するための図である。
【図９】従来のARQを利用したエラー訂正方法を説明するための図である。
【符号の説明】
【００７１】
１  ＭＰＥＧエンコーダ（データ送信装置）
１１Ａ  映像アナログ／デジタル（Ａ／Ｄ）変換器
１１Ｂ  音声Ａ／Ｄ変換器
１２  ＭＰＥＧ符号化部
１３  冗長パケット生成部
１３Ａ  排他的論理和累積計算部
１３Ｂ  メモリ（データ受信装置別記憶手段）
１３Ｃ  排他的論理和挿入時点計算部
１３１  FECパケット送信管理テーブル
１４  パケット配信部
１５  パケットバッファ
１６  再送要求受信部
１７  パケット再送部
１８  サーバインタフェース（ＩＦ）部
１９  設定制御部
２−１，２−２，２−３，…  ＭＰＥＧデコーダ（データ受信装置）
２０  エラー訂正装置
２１  パケット受信部
２２  エラー訂正部
２３  再送要求送信部
２４  パケット抜け判定部（パケット欠落検出部，再送要求制御部）
２５  ＭＰＥＧ復号化部
２６Ａ  映像Ｄ／Ａ変換器
２６Ｂ  音声Ｄ／Ａ変換器
２７  サーバＩＦ部
２８  設定制御部
３  クライアント
４  サーバ
５  ネットワーク
【図１】
2006067072.tif 000005
【図２】
2006067072.tif 000006
【図３】
2006067072.tif 000007
【図４】
2006067072.tif 000008
【図５】
2006067072.tif 000009
【図６】
2006067072.tif 000010
【図７】
2006067072.tif 000011
【図８】
2006067072.tif 000012
【図９】
2006067072.tif 000013