(57)【特許請求の範囲】
【請求項１】
送信装置と受信装置を備えた通信システムであって、
前記送信装置は、
送信対象である内容データを時刻によって分割し、前記分割した各内容データを第１の圧縮率にて圧縮し、第１分割データとする第１分割データ生成手段と、
前記分割した各内容データを、前記第１の圧縮率よりも高い第２の圧縮率にて圧縮し、第２分割データとする第２分割データ生成手段と、
少なくとも前記第１分割データと、当該第１分割データよりも前または後の時刻の内容データに対応する第２分割データと、パケットを識別するための識別データとを、パケットデータとして一つのパケットにまとめるパケット化手段と、
パケット化手段からのパケットデータを送信する送信部とを備え、
前記受信装置は、
送信装置からのパケットデータを受信する受信部と、
識別データに基づいて、パケットデータが受信できたかどうかを判断するエラー判断手段と、
エラー判断手段がエラーなしと判断した場合には、パケットデータ中の第１分割データを再生対象とし、エラー判断手段がエラー有りと判断した場合には、
当該第１分割データに対応する第２分割データを、後続のパケットデータまたは既に受信済みのパケットデータから取得して再生対象とする再生対象決定手段と、
再生対象とされた第１分割データおよび第２の分割データを時刻順に再生する再生部とを備えた通信システムであって、
前記パケット化手段は、所定時間異なる時間的に連続しない時刻に対応する第１分割データと第２分割データを一つのパケットにまとめて送信することを特徴とする通信システム。
【請求項２】
送信対象である内容データを時刻によって分割し、前記分割した各内容データを第１の圧縮率にて圧縮し、第１分割データとする第１分割データ生成手段と、
前記分割した各内容データを、前記第１の圧縮率よりも高い第２の圧縮率にて圧縮し、第２分割データとする第２分割データ生成手段と、
少なくとも前記第１分割データと、当該第１分割データよりも前または後の時刻の内容データに対応する第２分割データと、パケットを識別するための識別データとを、パケットデータとして一つのパケットにまとめるパケット化手段と、
パケット化手段からのパケットデータを送信する送信部と、
を備えた送信装置であって、
前記パケット化手段は、所定時間異なる時間的に連続しない時刻に対応する第１分割データと第２分割データを一つのパケットにまとめて送信することを特徴とする送信装置。
【請求項３】
コンピュータを用いて送信制御を行うための送信プログラムであって、
当該送信プログラムは、コンピュータを、
送信対象である内容データを時刻によって分割し、前記分割した各内容データを第１の圧縮率にて圧縮し、第１分割データとする第１分割データ生成手段と、
前記分割した各内容データを、前記第１の圧縮率よりも高い第２の圧縮率にて圧縮し、第２分割データとする第２分割データ生成手段と、
少なくとも前記第１分割データと、当該第１分割データよりも前または後の時刻の内容データに対応する第２分割データと、パケットを識別するための識別データとを、パケットデータとして一つのパケットにまとめるパケット化手段として機能させるための送信プログラムであって、
前記パケット化手段は、所定時間異なる時間的に連続しない時刻に対応する第１分割データと第２分割データを一つのパケットにまとめて送信することを特徴とする送信プログラム。
【請求項４】
請求項３のプログラムにおいて、
前記第１データ生成手段は、前記分割した各内容データを圧縮せず、そのまま第１分割データとし、
前記第２データ生成手段は、第２の圧縮率として所定の圧縮率を用いることを特徴とするプログラム。
【請求項５】
請求項３または４のプログラムにおいて、
前記パケット化手段は、異なる時刻の内容データに対応する複数の第２分割データを一つのパケットに含めることを特徴とするプログラム。
【請求項６】
請求項５のプログラムにおいて、
前記第２分割データ生成手段は、受信装置からの報告情報に基づいて、受信装置におけるエラー頻度が高くなっていると判断した場合には、第２の圧縮率を高くすることを特徴とするプログラム。
【請求項７】
請求項５または６のプログラムにおいて、
前記第２分割データ生成手段は、受信装置からの報告情報に基づいて、受信装置におけるエラー頻度が高くなっていると判断した場合には、一つのパケットに含める第２分割データの数を多くすることを特徴とするプログラム。
【請求項８】
送信装置からのパケットデータを受信する受信部と、
受信したパケットデータのパケットを識別するための識別データに基づいて、パケットデータが受信できたかどうかを判断するエラー判断手段と、
エラー判断手段がエラーなしと判断した場合には、パケットデータ中の第１分割データを再生対象とし、エラー判断手段がエラー有りと判断した場合には、
当該第１分割データに対応する第２分割データを、後続のパケットデータまたは既に受信済みのパケットデータから取得して再生対象とする再生対象決定手段と、
再生対象とされた第１分割データおよび第２の分割データを時刻順に再生する再生部と、
を備えた受信装置であって、
前記第１分割データと前記第２分割データは、送信対象である内容データを時刻によって分割し、前記分割した各内容データを第１の圧縮率にて圧縮した前記第１の分割データと、前記分割した各内容データを、前記第１の圧縮率よりも高い第２の圧縮率にて圧縮した前記第２の分割データであり、
前記パケットデータは、所定時間異なる時間的に連続しない時刻に対応する前記第１分割データと前記第２の分割データと前記パケットを識別するための識別データとを一つのパケットにまとめたものであることを特徴とする受信装置。
【請求項９】
コンピュータを用いて受信制御を行うための受信プログラムであって、
当該受信プログラムは、コンピュータを、
受信したパケットデータのパケットを識別するための識別データに基づいて、パケットデータが受信できたかどうかを判断するエラー判断手段と、
エラー判断手段がエラーなしと判断した場合には、パケットデータ中の第１分割データを再生対象とし、エラー判断手段がエラー有りと判断した場合には、
当該第１分割データに対応する第２分割データを、後続のパケットデータまたは既に受信済みのパケットデータから取得して再生対象とする再生対象決定手段と、
して機能させるための受信プログラムであって、
前記第１分割データと前記第２分割データは、送信対象である内容データを時刻によって分割し、前記分割した各内容データを第１の圧縮率にて圧縮した前記第１の分割データと、前記分割した各内容データを、前記第１の圧縮率よりも高い第２の圧縮率にて圧縮した前記第２の分割データであり、
前記パケットデータは、所定時間異なる時間的に連続しない時刻に対応する前記第１分割データと前記第２の分割データと前記パケットを識別するための識別データとを一つのパケットにまとめたものであることを特徴とする受信プログラム。
【請求項１０】
請求項９のプログラムにおいて、
前記エラー判断手段は、パケットデータの受信にエラーがあれば、これを送信側に報告情報として送信することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、通信中のエラーに対応することの可能な通信システムに関するものである。
【背景技術】
【０００２】
音声データなどの通信中に、外乱などの影響により、パケットデータが正しく受信されないことがある。このようなパケットロスを回復するため、同一のパケットを時間をおいて複数送信することが行われている（特許文献１）。これを模式的に示したのが、図１６である。図において、パケットに付された符号ＰＸにおけるＸは、時系列に分割されたパケットの連続番号を示している。
【０００３】
パケットＰ１００に続いて、パケットＰ８０、パケットＰ１０１、パケットＰ８１・・・の順に各パケットが送信されている。この例では、あるパケットを送信してから、４０パケット後に、同じパケットを重複して送信するようにしている。図において、ダッシュが付されたパケットは、再送信されたパケットである。たとえば、パケットＰ１００は、４０パケット後（パケットＰ１２０の直後）に、再度送信されている。
【０００４】
受信側では、２度目に送信されたパケットのタイミングにてパケットを再生するようにしている。パケットにエラーが生じた場合には、同一の情報を持つ２度目に送信されたパケットを用いて、パケットロスを回復している。
【０００５】
また、パケットロスが生じた場合、受信側において欠落したデータを補間する方法も用いられている（特許文献２）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２６８１２１
【特許文献２】特開２００８−２２３０８
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術には次のような問題があった。特許文献２に記載された技術では、複数のパケットに亘り連続してロス（バースト的なパケットロス）が生じた場合には、適切な補間ができないという問題があった。
【０００８】
一方、特許文献１に記載された技術では、バースト的なパケットロスには強いものの、パケット再送のためにデータ量が多くなってしまうという問題があった。
【０００９】
この発明は、上記のような問題点を解決して、バースト的なパケットロスに対応可能でありながら、データ量を小さくすることの可能な技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
(1)(2)(3)この発明に係る通信システムは、 送信装置と受信装置を備えた通信システムであって、前記送信装置は、
送信対象である内容データを時刻によって分割し、前記分割した各内容データを第１の圧縮率にて圧縮し、第１分割データとする第１分割データ生成手段と、前記分割した各内容データを、前記第１の圧縮率よりも高い第２の圧縮率にて圧縮し、第２分割データとする第２分割データ生成手段と、少なくとも前記第１分割データと、当該第１分割データよりも前または後の時刻の内容データに対応する第２分割データと、パケットを識別するための識別データとを、パケットデータとして一つのパケットにまとめるパケット化手段と、パケット化手段からのパケットデータを送信する送信部とを備え、
前記受信装置は、送信装置からのパケットデータを受信する受信部と、識別データに基づいて、パケットデータが受信できたかどうかを判断するエラー判断手段と、エラー判断手段がエラーなしと判断した場合には、パケットデータ中の第１分割データを再生対象とし、エラー判断手段がエラー有りと判断した場合には、
当該第１分割データに対応する第２分割データを、後続のパケットデータまたは既に受信済みのパケットデータから取得して再生対象とする再生対象決定手段と、再生対象とされた第１分割データおよび第２の分割データを時刻順に再生する再生部とを備えている。
【００１１】
したがって、複数のデータを一つのパケットにまとめているので、それぞれ独立してパケット化する場合に比べて、送受信するデータの総量を小さくできる。また、第２の分割データの圧縮率を高くしているので、パケットエラーに対応可能でありながら、データの品質の低下を防ぎつつデータ容量を小さくすることを可能としている。
【００１２】
(8)(9)この発明に係る受信装置は、送信装置からのパケットデータを受信する受信部と、受信したパケットデータのパケットを識別するための識別データに基づいて、パケットデータが受信できたかどうかを判断するエラー判断手段と、エラー判断手段がエラーなしと判断した場合には、パケットデータ中の第１分割データを再生対象とし、エラー判断手段がエラー有りと判断した場合には、当該第１分割データに対応する第２分割データを、後続のパケットデータまたは既に受信済みのパケットデータから取得して再生対象とする再生対象決定手段と、再生対象とされた第１分割データおよび第２の分割データを時刻順に再生する再生部とを備えている。
【００１３】
したがって、複数のデータを一つのパケットにまとめているので、それぞれ独立してパケット化する場合に比べてデータ容量を小さくできる。また、第２の分割データの圧縮率を高くしているので、パケットエラーに対応可能でありながら、データの品質の低下を防ぎつつデータ容量を小さくすることを可能としている。
【００１４】
(4)この発明に係るシステムは、第１データ生成手段が、前記分割した各内容データを圧縮せず、そのまま第１分割データとし、第２データ生成手段が、第２の圧縮率として所定の圧縮率を用いることを特徴としている。
【００１５】
したがって、データ品質を高くすることができる。
【００１６】
(5)この発明に係るシステムは、パケット化手段が、異なる時刻の内容データに対応する複数の第２分割データを一つのパケットに含めることを特徴としている。
【００１７】
したがって、パケットエラーを補間できる確率がさらに向上する。
【００１８】
(6)この発明に係るシステムは、第２分割データ生成手段が、受信装置からの報告情報に基づいて、受信装置におけるエラー頻度が高くなっていると判断した場合には、第２の圧縮率を高くすることを特徴としている。
【００１９】
したがって、通信状況に応じて、適切なパケット送信を実現することができる。
【００２０】
(7)この発明に係るシステムは、第２分割データ生成手段が、受信装置からの報告情報に基づいて、受信装置におけるエラー頻度が高くなっていると判断した場合には、一つのパケットに含める第２分割データの数を多くすることを特徴としている。
【００２１】
したがって、通信状況に応じて、適切なパケット送信を実現することができる。
【００２２】
「第１分割データ生成手段」は、実施形態においては、ステップＳ４がこれに対応する。
【００２３】
「第２分割データ生成手段」は、実施形態においては、ステップＳ３がこれに対応する。
【００２４】
「パケット化手段」は、実施形態においては、ステップＳ７がこれに対応する。
【００２５】
「エラー判断手段」は、実施形態においては、ステップＳ３５、Ｓ３６がこれに対応する。
【００２６】
「再生対象決定手段」は、実施形態においては、ステップＳ４０〜Ｓ４５がこれに対応する。
【００２７】
「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【図面の簡単な説明】
【００２８】
【図１】この発明の一実施形態による通信システムの機能ブロック図である。
【図２】内容データと、送信データとの対応を示す図である。
【図３】内容データと、送信データとの対応を示す図である。
【図４】送信装置のハードウエア構成である。
【図５】受信装置のハードウエア構成である。
【図６】送信プログラムのフローチャートである。
【図７】補間用データのバッファを示す図である。
【図８】送信パケットの構成を示す図である。
【図９】一連の送信パケットを模式的に示す図である。
【図１０】受信プログラムのフローチャートである。
【図１１】受信プログラムのフローチャートである。
【図１２】フラグテーブルを示す図である。
【図１３】再生用バッファを示す図である。
【図１４】その他の例によるテーブルを示す図である。
【図１５】その他の例によるパケットを模式的に示す図である。
【図１６】従来の通信方式を示す図である。
【発明を実施するための形態】
【００２９】
１．通信システムの全体的構成
図１に、この発明の一実施形態による通信システムの機能ブロック図を示す。この通信システムは、送信装置２と受信装置４を備えている。なお、この実施形態では、一つの送信装置２に対して多数の受信装置４が設けられているマルチキャストを想定している。
【００３０】
送信装置２は、第１分割データ生成手段２２、第２分割データ生成手段２４、パケット化手段２６、送信部２８を備えている。
【００３１】
第１分割データ生成手段２２は、送信対象である内容データを時刻によって分割した各内容データを、第１の圧縮率にて圧縮し、第１分割データを生成する。第２分割データ生成手段２４は、前記分割した各内容データを第２の圧縮率にて圧縮し、第２分割データを生成する。なお、第２分割データを生成する際の第２の圧縮率は、第１の圧縮率よりも高い圧縮率としている。
【００３２】
パケット化手段２６は、図２に示すように、第１分割データと、当該第１分割データよりも前の時刻の内容データに対応する第２分割データに、ヘッダを付して一つのパケットにまとめる。図２においては、内容データＣ５４に基づく第１分割データＤ５４と、内容データＣ３４に基づく第２分割データｄ３４が一つのパケットにまとめられている。なお、パケットには、送信元、送信先、パケットを識別するための情報（パケット番号）等を含むヘッダが付加される。
【００３３】
図２に示すパケット化の様子を、ある内容データに着目して表すと図３のようになる。図３では、内容データＣ４１は、第１分割データＤ４１としてパケットに含まれ、その後、第２分割データｄ４１として後続のパケットに含まれることになる。図１に戻って、送信部２８は、このようにして生成されたパケットデータを送信する。
【００３４】
受信装置４は、受信部４２、エラー判断手段４４、再生対象決定手段４６、再生部４８を備えている。
【００３５】
受信部４２は、送信装置２より送られてきたパケットデータを受信する。エラー判断手段４４は、受信したパケットデータの内容が正しいかどうか、また、受信すべきパケットが未受信のままとなっていないかどうかをヘッダの情報に基づいて判断する。再生対象決定手段４６は、パケットデータが正しく受信できた場合には、当該パケットデータ中の第１分割データを再生対象として決定する。ただし、すぐに再生することはせず、第１分割データに対応する（第１分割データと同じ内容データに対応する）第２分割データを含むパケットが送られてくるまで待ってから再生する。後述のように、パケットデータが正しく受信できなかった場合と時間的な整合性をとるためである。
【００３６】
パケットデータが正しく受信できなかった場合には、当該エラーを生じたパケットデータ中の第１分割データに対応する第２分割データが含まれる後続のパケットの受信を待つ。この実施形態では、図３に示すように、内容データＣ４１の第１分割データＤ４１を含むパケットにエラーが生じた場合、その２０パケット後のパケットにて、内容データＣ４１の第２分割データｄ４１を得ることができる。これにより、エラーを生じたデータを取得することができる。再生対象決定手段４６は、この第２分割データを再生対象として決定する。
【００３７】
再生部４８は、再生対象として決定された一連の第１分割データ、第２分割データを再生する。
【００３８】
この実施形態では、第１分割データと第２分割データを一つのパケットにしているので、パケット数が減り、したがってパケットのヘッダも少なくなるため、送信データの総量を小さくすることができる。また、エラーが発生した場合にしか用いない第２分割データの圧縮率を高くすることにより、全体的なデータの品質を維持しつつ送信データ容量を小さくすることを可能としている。
【００３９】
２．ハードウエア構成
図４に、この発明の一実施形態による送信装置のハードウエア構成を示す。ＣＰＵ３０には、ハードディスク３２、Ａ／Ｄ変換器３３、無線ＬＡＮアクセスポイント３４が接続されている。無線ＬＡＮアクセスポイント３４は、無線ＬＡＮによるマルチキャスト送信を行うための送受信機である。Ａ／Ｄ変換器３３は、マイク３１からの音声信号を、ディジタルデータに変換するものである。
【００４０】
ハードディスク３２には、オペレーティングシステム（WINDOWS（商標）など）３６、送信プログラム３８、送信対象である音声データ３９が記録されている。送信プログラム３８は、ＯＳ３６と協働してその機能を発揮するものである。また、送信プログラム３８、ＯＳ３６は、ＣＤ−ＲＯＭ（図示せず）に記録されていたプログラムを、インストールしたものである。音声データ３９は、放送すべき音声を予めディジタル化して記録したものである。なお、マイク３１から入力された音声を、リアルタイムにディジタル化して音声データとすることもできる。
【００４１】
図５に、この発明の一実施形態による受信装置のハードウエア構成を示す。ＣＰＵ５０には、ハードディスク５２、無線ＬＡＮクライアント５４、再生部５６が接続されている。無線ＬＡＮクライアント５４は、無線ＬＡＮアクセスポイント３４からの信号を受けるための送受信機である。再生部５６は、受信した音声データを再生し、スピーカ５７から出力するものである。
【００４２】
ハードディスク５２には、ＯＳ５８、受信プログラム５９が記録されている。
【００４３】
受信プログラム５９は、ＯＳ５８と協働してその機能を発揮するものである。受信プログラム５９、ＯＳ５８は、ＣＤ−ＲＯＭ（図示せず）に記録されていたプログラムを、インストールしたものである。
【００４４】
３．放送処理
図６に、送信プログラム３８の処理フローチャートを示す。この例では、マイク３１から入力された音声が、Ａ／Ｄ変換器３３によってディジタルデータ（ＰＣＭ音声データ）にされ、ＰＣＭ音声データ３９としてリアルタイムにハードディスク３２に蓄積されているものとする。なお、メモリ（図示せず）に蓄積するようにしてもよい。
【００４５】
まず、ＣＰＵ３０は、ＰＣＭ音声データ３９を所定時間分（たとえば２０ｍｓ）読み出して、これを高圧縮レート（たとえば、Ｇ．７２９）にて圧縮し、補間用データを得る（ステップＳ１）。ＣＰＵ３０は、これをバッファ（ハードディスク３２やメモリ（図示せず）の一領域）に記録する（ステップＳ２）。この実施形態では、バッファは、２０個分の補間用データを記録できるようになっている。後述のように、ステップＳ１、Ｓ２の処理は繰り返し行われる。したがって、処理開始当初は、生成した補間用データを順次バッファに記録しておくことになる。しかし、処理を繰り返し、バッファに２１個の補間用データが記録された後は、新たな補間用データを記録するために、送信済みの補間用データが削除されることになる。
【００４６】
たとえば、図７Ａに示すようにバッファに補間用データｄ３３〜ｄ５３（内容データＣ３３〜Ｃ５３に対応）が記録されている状態にて、補間用データを含むパケットが送信されると、その補間用データは削除される（あるいは削除可能なデータであることを示すフラグが立てられる）。この実施形態では、このように先入れ先出しのバッファを設けている。
【００４７】
次に、ＣＰＵ３０は、ステップＳ１にて読み出した２０ｍｓ分のＰＣＭ音声データを低圧縮レート（たとえば、Ｇ．７１１）にて圧縮し、低圧縮データＤ５４（内容データＣ５４に対応）を得る（ステップＳ４）。
【００４８】
続いて、ＣＰＵ３０は、規定の遅延時間差分（本実施形態では２０パケット分）だけ以前の音声情報を持つ補間用データを読み出す（ステップＳ５）。バッファが図７Ｂにような状態であれば、補間用データｄ３４（内容データＣ３４に対応）が読み出されることになる。
【００４９】
さらに、ＣＰＵ３０は、ステップＳ４で得た低圧縮データと、ステップＳ５で読み出した補間用データに、ヘッダを付して一つのパケットを生成する（ステップＳ７）。つまり、この実施形態では、補間データより２０パケット遅れた（２０パケットの遅延数をもって）低圧縮データを一つのパケットにして送るようにしている。
【００５０】
図８に、生成されたパケットの構成を示す。ヘッダＬ２は、イーサネット（商標）ヘッダであり、自分および相手方のイーサネット（商標）上でのアドレスが記述されている。ヘッダＬ３には、ＩＰ、ＵＤＰ、ＲＴＰの自分及び相手方のアドレスが記録される。ＲＴＰには、パケットの連続番号（パケット番号）が付される。この実施形態では、低圧縮データＤ５４は１６０バイト、補間用データｄ３４は２０バイトである。ヘッダＬ２が合計１８バイト、ヘッダＬ３が４０バイトであるから、１パケットは２３８バイトとなる。
【００５１】
続いて、ＣＰＵ３０は、生成したパケットを送信パケットバッファＢＺに書き込む（ステップＳ１０）。この送信パケットバッファから、別スレッドの処理がパケットを順次読み出し、無線ＬＡＮアクセスポイント３４に出力する。これを受けて無線ＬＡＮアクセスポイント３４はパケットを送信する。
【００５２】
ＯＳによって処理の終了が指示されなければ、ＣＰＵ３０は、ステップＳ１以下を繰り返す。したがって、次々とパケットが送信されることになる。ユーザが終了ボタン（図示せず）を押すと、ＯＳは送信プログラムを停止させる。
【００５３】
なお、この実施形態では、処理開始直後においてバッファに補間用データが蓄積されるまでの間は、低圧縮データのみを１パケットにして送信するようにしている。この実施形態によって送信されるパケットを時系列に示すと、図９のようになる。２０パケット目までは、低圧縮データＤ１〜Ｄ２０のみがパケットにして送出される。２１パケット目以降は、低圧縮データと補間用データが一つのパケットにして送出される。
【００５４】
４．受信処理
図１０、図１１に、受信プログラム５９のフローチャートを示す。受信装置４の無線ＬＡＮクライアント５４は、送信装置２から送られてきたパケットを受信する。受信されたパケットデータは、ハードディスク５２の受信パケットバッファＢｐに順次記録される。（受信パケットバッファＢｐはハードディスク上ではなくメモリ上に構築されていても良い。）
受信プログラム５９が起動されると、ＣＰＵ５０はまず図１２Ａに示すようにフラグテーブルＦＴを初期化する。すなわち、全パケット番号についてパケット未受信またはエラーを意味するフラグ１を設定する（ステップＳ３１）。
【００５５】
次にＣＰＵ５０は受信パケットバッファＢｐからパケット番号の最も小さいパケットＰｎ（ｎはパケット番号）を取得する（ステップＳ３２）。データを受信していない場合は受信パケットバッファＢｐにパケットが蓄積されていないため、ＣＰＵ５０は受信を待つ（ステップＳ３３の“Ｎｏ”の分岐）。パケットＰｎが取得できた場合は、受信パケットバッファＢｐからＰｎのデータを削除し（ステップＳ３４）、メモリ上のＰｎからエラーチェックのためのＦＣＳ（Frame Check Sequence）を抽出して（ステップＳ３５）、パケットが正しく受信できたかどうかの判定を行う（ステップＳ３６）。パケットにエラーがあった場合はＳ３２に戻り、次の受信パケットを取得する。
【００５６】
パケットが正常に受信できたと判定された場合は、図１１に示すとおり、Ｐｎから低圧縮データＡｎと高圧縮データＢｎ−２０を抽出する。（２０は本実施形態の遅延パケット数であり、図ではｋ＝２０としてｋで表記している。）ここで、図９に示すように、処理開始当初は低圧縮データのみが送られてくる。すなわち、パケット長が２１８バイトであれば低圧縮データのみが送られて来ていることがわかる。またパケット長が２３８バイトであれば低圧縮データと補間用データが送られて来ていることがわかる。これにより抽出された低圧縮データＡｎを再生用圧縮データバッファＢＢに書き込む（ステップＳ３７）。また、フラグテーブルにアクセスし、パケット番号ｎのフラグを０に書き換える（ステップＳ３８）。高圧縮データが含まれていない場合は、ＣＰＵ５０はこのままＳ３２に戻り、次の受信パケットを取得する。
【００５７】
こうして、図１２Ｂに示すように、フラグテーブルは、低圧縮データが受信できたパケットについてはフラグ０が、低圧縮データが受信できなかったパケットと、受信したが内容が不正であったパケットについてはフラグ１が書かれた状態となる。
【００５８】
高圧縮データＢｎ−ｋが含まれている場合、ＣＰＵ５０はフラグテーブルのパケット番号ｎ−ｋのフラグを取得する（ステップＳ４０）。フラグが０であれば、すでにｎ−ｋ番目の低圧縮データの受信に成功していることを意味するので、再生用圧縮データバッファから低圧縮データＡｎ−ｋをメモリ上に取得し、再生用圧縮データバッファからは同データを削除する（ステップＳ４２）。その上でメモリ上のＡｎ−ｋを伸張してＰＣＭ形式の音声データを得る（ステップＳ４３）。このときＢｎ−ｋは使用されないまま捨てることになる。一方、パケット番号ｎ−ｋのフラグが１であれば、Ａｎ−ｋが受信できていないことを意味するので、現在メモリ上にある高圧縮データＢｎ−ｋを伸張してＰＣＭ形式の音声データを得る（ステップＳ４４）。
【００５９】
このとき、フラグテーブルを１で初期化しておいたので、受信パケットにエラーがある場合も、パケットが受信できなかった場合も、共にフラグテーブルのパケット番号は１であり、遅れて受信する補間用データで補間できることになる。
【００６０】
こうして得られたＰＣＭデータは再生データバッファＲＢに書き込まれる（ステップＳ４５）。この実施形態では、ＰＣＭデータと共にフレーム番号も記録するようにしている。ここで再生データバッファは、ハードディスク５２内の一領域に設けられており、このバッファ上のＰＣＭデータを別スレッドで作動している再生部５６がフレーム番号順に読み出し、再生する。なお、低圧縮データも補間用データも受信できなかった場合、相当するＰＣＭデータが生成されない場合が発生する（図１３）。再生部５６では、フレーム番号に対応するデータの欠如を検知できるが、再生に当たっては、その間無音状態にするか、または特許文献２などで知られる音声補間方法を用いることができる。
【００６１】
ステップＳ４５のあと、ＣＰＵ５０はＳ３２に戻って次の受信パケットの処理を行う。ユーザが終了ボタン（図示せず）を押すと、ＯＳは送信プログラムを停止させる。
【００６２】
５．その他の実施形態
(1)上記実施形態では、パケット遅延数ｋを２０とし、再生用バッファの容量を１００パケット分としている。これらの数値は任意に設定することができる。ただし、再生用バッファの容量は、パケット遅延数よりも大きくすることが必要である。また、電波状態や音声のサンプリング周波数など、状況に合わせてパケット遅延数を可変とし、設定された遅延数に合わせて再生用バッファの容量を自動設定するようにしてもよい。
【００６３】
(2)また、上記実施形態では、パケット欠落を判断するためのフラグを記録するようにしている。しかし、図１４に示すように、受信したパケットのパケット番号のみを記録するようにしたテーブルを設けてもよい。この場合、ステップＳ３５、Ｓ３６におけるパケットロスがあったかどうかの判断は、パケット遅延数だけ前のフレーム番号が、図１４のテーブルに記録されているか否かによって判断する。
【００６４】
図１４のようなテーブルを設ける手法は、送信側から受信側までの経路が一定せず、パケットがパケット番号順に届かない可能性がある場合に有効である。
【００６５】
(3)上記実施形態では、パケットを受信できなかった場合およびパケットは受信できたが受信データに誤りがあった場合の双方の場合について、エラーであると判断するようにしている。しかし、受信データに誤りを生じる可能性が少ない場合には、パケットを受信できなかった場合についてのみエラーであると判断するようにしてもよい。さらに、上記実施形態では、パケットに付されたＦＣＳにより、正しく受信できたかどうかを判断しているが、ＦＣＳに限らずパケットに含まれるエラーチェック情報を利用してもよい。また、パケットのヘッダに記載されたパケット長と実際に受信したパケットのサイズが一致しなければエラーと判断することを、上記ＦＣＳなどのエラーチェック情報による判断に加えて、あるいは、これに代えて用いるようにしてもよい。
【００６６】
(4)上記実施形態では、図９に示すように、補間データを送ることで、元のデータを２回送るようにしている。しかし、図１５に示すように、元のデータを３回送るようにしてもよい（多重数＝３）。図１５においては、元データＣ５１に対し、低圧縮データＤ５１に、補間データｄ５１、補間データｄ’５１が送信されている。このようにすれば、パケットロスに対する回復性をより高めることができる。なお、補間データｄ５１と補間データｄ’５１の圧縮率は同じでもよいし、補間データｄ’５１の方を高い圧縮率としてもよい。また、多重数を４以上としてもよい。
【００６７】
さらに、パケットロスの発生数（単位時間当たりの発生数）が所定数を超えた場合には、受信装置はこれを送信装置に送信し、送信装置は、これを受けて、多重数を増やすようにしてもよい。あるいは、補間データや低圧縮データの圧縮率を上げるようにしてもよい。
【００６８】
(5)上記実施形態では、無線のマルチキャストについて説明したが、有線マルチキャストにも適用することができる。また、マルチキャストだけでなく、双方向通信、一対一通信などにも適用することができる。
【００６９】
(6)上記実施形態では、音声データを例として説明したが、画像データなどにも適用することができる。
【００７０】
(7)上記実施形態は、低圧縮データを用いているが、これに代えて元のデータを圧縮せずにそのまま用いるようにしてもよい。
【００７１】
(8)上記実施形態では、低圧縮データと、低圧縮データよりも前の時刻の補間データとをまとめて一つのパケットにしている。しかし、低圧縮データと、低圧縮データよりも後の時刻の補間データとをまとめて一つのパケットにしてもよい。
【図１】
0005746963.tif 000002
【図２】
0005746963.tif 000003
【図３】
0005746963.tif 000004
【図４】
0005746963.tif 000005
【図５】
0005746963.tif 000006
【図６】
0005746963.tif 000007
【図７】
0005746963.tif 000008
【図８】
0005746963.tif 000009
【図９】
0005746963.tif 000010
【図１０】
0005746963.tif 000011
【図１１】
0005746963.tif 000012
【図１２】
0005746963.tif 000013
【図１３】
0005746963.tif 000014
【図１４】
0005746963.tif 000015
【図１５】
0005746963.tif 000016
【図１６】
0005746963.tif 000017