(57)【要約】      （修正有）【課題】送信側から受信側へ伝送するデータ量を従来よりも軽減しつつ、受信側が受信したデータの誤り訂正を可能ににする。【解決手段】マルチメディアデータ配信装置１には、端末装置２にデータを送信するデータ送信手段と、端末装置２が受信したデータに誤りが発生しているか否かを判別する手段とを設ける。端末装置２には、データ配信装置１からデータを受信する手段と、受信したデータの誤り検出符号を生成する成手段と、生成した誤り検出符号をマルチメディアデータ配信装置１に送信する誤り検出符号送信手段と、を設ける。誤り有無判別手段は、端末装置２が受信したマルチメディアデータに誤りが発生しているか否かを、その端末装置２から送信されてきた誤り検出符号に基づいて判別し、データ送信手段は、端末装置２が受信したマルチメディアデータに誤りが発生していると判別された場合に、そのマルチメディアデータをその端末装置２に送信し直す。【選択図】図１
2006245781.tif 000002
【特許請求の範囲】
【請求項１】
第一の装置と第二の装置とを有し、
前記第一の装置には、
前記第二の装置にデータを送信するデータ送信手段と、
前記第二の装置が受信した前記データに誤りが発生しているか否かを判別する誤り有無判別手段と、が設けられ、
前記第二の装置には、
前記第一の装置から前記データを受信するデータ受信手段と、
前記第一の装置から受信した前記データの誤り検出符号を生成する誤り検出符号生成手段と、
生成した前記誤り検出符号を前記第一の装置に送信する誤り検出符号送信手段と、が設けられ、
前記誤り有無判別手段は、前記第二の装置が受信した前記データに誤りが発生しているか否かを、当該第二の装置から送信されてきた前記誤り検出符号に基づいて判別し、
前記データ送信手段は、前記第二の装置が受信した前記データに誤りが発生していると判別された場合に、当該データを当該第二の装置に送信し直す、
ことを特徴とするデータ送受信システム。
【請求項２】
前記第一の装置には、前記第二の装置に送信した前記データの所定のビット長のパリティ符号を、第二の誤り検出符号として生成する、第二の誤り検出符号生成手段、が設けられ、
前記誤り検出符号生成手段は、前記第一の装置から受信した前記データの前記所定のビット長のパリティ符号を、前記誤り検出符号として生成し、
前記誤り有無判別手段は、前記誤り検出符号および前記第二の誤り検出符号の互いに対応するビット同士の値を比較することによって、前記第二の装置が受信した前記データに誤りが発生しているか否かを判別するとともに、当該データのうち誤りを含む部分を判別し、
前記データ送信手段は、前記第二の装置が受信した前記データのうち誤りを含むと判別された部分のみを送信し直す、
請求項１記載のデータ送受信システム。
【請求項３】
第一の装置と第二の装置とを有し、
前記第一の装置には、
前記第二の装置に送信する目的のデータである目的データの誤り検出符号を生成する誤り検出符号生成手段と、
前記目的データを前記誤り検出符号とともに前記第二の装置に送信する目的データ送信手段と、
前記第二の装置が受信した前記目的データの中から誤りが発生している部分である誤り部分を判別する誤り部分判別手段と、
前記誤り判別手段によって判別された前記誤り部分を訂正するための訂正用データを前記第二の装置に送信する訂正用データ送信手段と、が設けられ、
前記第二の装置には、
前記第一の装置から前記目的データを前記誤り検出符号とともに受信する目的データ受信手段と、
受信した前記目的データに誤りが発生しているか否かを、当該目的データとともに受信した前記誤り検出符号に基づいて判別する、誤り有無判別手段と、
受信した前記目的データに誤りが発生していると判別された場合に、当該目的データをチェック用データとして前記第一の装置に送信する、チェック用データ送信手段と、が設けられ、
前記誤り部分判別手段は、前記第二の装置が受信した前記目的データの前記誤り部分を、前記目的データ送信手段によって当該第二の装置に送信した当該目的データと当該第二の装置から送信されてきた前記チェック用データとを比較することによって判別する、
ことを特徴とするデータ送受信システム。
【請求項４】
相手方の装置にデータを送信し、
前記相手方の装置が受信した前記データの誤り検出符号を当該相手方の装置から受信し、
受信した前記誤り検出符号に基づいて、前記相手方の装置が受信した前記データに誤りが発生しているか否かを判別し、
前記データに誤りが発生していると判別した場合は、当該データを前記相手方の装置に送信し直す、
ことを特徴とするデータ送信方法。
【請求項５】
第一の装置から第二の装置にデータを送信するデータ送信方法であって、
前記第一の装置が、送信する目的のデータである目的データの誤り検出符号を生成し、
前記第一の装置が、前記目的データを前記誤り検出符号とともに前記第二の装置に送信し、
前記第二の装置が、前記第一の装置から受信した前記目的データに誤りが発生しているか否かを、当該目的データとともに受信した前記誤り検出符号に基づいて判別し、
受信した前記目的データに誤りが発生していると判別された場合に、前記第二の装置が、当該目的データをチェック用データとして前記第一の装置に送信し、
前記第一の装置が、前記第二の装置が受信した前記目的データの中の誤りが発生している部分である誤り部分を、当該第二の装置に送信した当該目的データと当該第二の装置から送信されてきた前記チェック用データとを比較することによって判別し、
前記第一の装置が、前記誤り部分を訂正するための訂正用データを前記第二の装置に送信する、
ことを特徴とするデータ送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの送受信を行うシステムおよび方法などに関する。
【背景技術】
【０００２】
２つの装置間でデータのやり取りを行うと、通信経路上のノイズなどが原因でデータの一部が破損してしまい、受信側の装置に届いたデータに誤り（エラー）が含まれてしまうことがある。受信側の装置は、誤りが含まれるデータをそのまま使用して処理を実行すると、不具合を生じることがある。
【０００３】
そこで、非特許文献１に記載されるような方法が提案されている。係る方法によると、送信側の装置は、送信対象のデータを、ＣＲＣ符号などの誤り検出符号とともに受信側の装置に送信する。受信側の装置は、受信したデータに誤りが発生していないかどうかを、誤り検出符号を用いて演算処理を行うことによって判別する。そして、誤りが発生していると判別されたら、そのデータを送信し直すように送信側の装置に対して要求する。
【０００４】
そのほか、非特許文献２に記載されるような、ＥＣＣ（Error Check and Correct）符号などの誤り訂正符号を用いる方法が提案されている。送信側の装置は、送信対象のデータを、誤り訂正符号とともに受信側の装置に送信する。そして、受信側の装置は、誤り訂正符号を用いて演算処理を行うことによって、受信したデータの誤りを検知するとともに、誤りがあった場合はそれを訂正する。
【０００５】
ところで、近年、ＣＰＵの処理速度が速くなり、メモリの容量が増大し、ディスプレイの解像度が高くなるなど、各種のリソースの性能が向上しており、パーソナルコンピュータおよび映像再生装置などの各種装置で処理されるデータ量がますます増大している。よって、装置間でやり取りされるデータ量も増大している。通信技術の発達により、通信の速度もますます速くなっているが、ＣＰＵなどのリソースの性能を最大限に引き出すためには、通信回線を有効的に活用することが不可欠である。
【非特許文献１】” モバイルコンピューティングに適した適応型Ｔｙｐｅ−Ｉ  ハイブリッドＡＲＱ方式の研究”、”中村謙志、石井教夫、三島寛之  共著”、平成１７年１月２８日検索、インターネット＜ＵＲＬ：http://www.nak.nw.kanagawa-it.ac.jp/thesis/1998/arq-1998.pdf＞
【非特許文献２】” 富士通ＮＡＮＤフラッシュメモリへのソリューション（情報誌「ＦＩＮＤ」  ｖｏｌ．１９  Ｎｏ．１  ２００１年）”、富士通株式会社  電子デバイス営業本部  発行、平成１７年１月２８日検索、インターネット＜ＵＲＬ：http://edevice.fujitsu.com/jp/catalog/find/19-1j/pdf/j19-1-2.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、データを送信し直すことは、送信側から受信側へのチャネル（以下、「下りチャネル」と記載する。）のトラフィックを増大させるので、データ転送に遅延が生じてしまうことがある。ＥＣＣ符号などの誤り訂正符号によって受信側の装置で誤りを自己訂正する方法によると、データを再送信する必要がない。しかし、そもそも誤り訂正符号は冗長性が大きいので、係る方法を採用すると、パリティ符号またはＣＲＣ符号などを用いる場合よりもさらに、下りチャネルのトラフィックが大きくなってしまう。
【０００７】
下りチャネルを有効的に活用するには、誤りの発生を完全になくすことによって誤り検出符号または誤り訂正符号を不要にし、トラフィックを小さくすることが、最も理想的である。しかし、誤りの発生を完全になくすことは、極めて困難である。よって、データの信頼性および正確性を維持するためには、誤りを検出し、それを訂正しまたはデータの送受信をやり直すことが、求められる。
【０００８】
本発明は、このような点に鑑み、送信側の装置から受信側の装置へ伝送するデータ量を従来よりも軽減しつつ、受信側の装置が受信したデータに発生している誤りの訂正のための処理を行うことができるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るデータ送受信システムは、第一の装置と第二の装置とを有し、前記第一の装置には、前記第二の装置にデータを送信するデータ送信手段と、前記第二の装置が受信した前記データに誤りが発生しているか否かを判別する誤り有無判別手段と、が設けられ、前記第二の装置には、前記第一の装置から前記データを受信するデータ受信手段と、前記第一の装置から受信した前記データの誤り検出符号を生成する誤り検出符号生成手段と、生成した前記誤り検出符号を前記第一の装置に送信する誤り検出符号送信手段と、が設けられ、前記誤り有無判別手段は、前記第二の装置が受信した前記データに誤りが発生しているか否かを、当該第二の装置から送信されてきた前記誤り検出符号に基づいて判別し、前記データ送信手段は、前記第二の装置が受信した前記データに誤りが発生していると判別された場合に、当該データを当該第二の装置に送信し直す、ことを特徴とする。
【００１０】
または、前記第一の装置には、前記第二の装置に送信する目的のデータである目的データの誤り検出符号を生成する誤り検出符号生成手段と、前記目的データを前記誤り検出符号とともに前記第二の装置に送信する目的データ送信手段と、前記第二の装置が受信した前記目的データの中から誤りが発生している部分である誤り部分を判別する誤り部分判別手段と、前記誤り判別手段によって判別された前記誤り部分を訂正するための訂正用データを前記第二の装置に送信する訂正用データ送信手段と、が設けられ、前記第二の装置には、前記第一の装置から前記目的データを前記誤り検出符号とともに受信する目的データ受信手段と、受信した前記目的データに誤りが発生しているか否かを、当該目的データとともに受信した前記誤り検出符号に基づいて判別する、誤り有無判別手段と、受信した前記目的データに誤りが発生していると判別された場合に、当該目的データをチェック用データとして前記第一の装置に送信する、チェック用データ送信手段と、が設けられ、前記誤り部分判別手段は、前記第二の装置が受信した前記目的データの前記誤り部分を、前記目的データ送信手段によって当該第二の装置に送信した当該目的データと当該第二の装置から送信されてきた前記チェック用データとを比較することによって判別する、ことを特徴とする。
【００１１】
前記誤り検出符号として、例えば、ＣＲＣ（Cyclic Redundancy Check）符号またはパリティ符号などが用いられる。
【発明の効果】
【００１２】
本発明によると、送信側の装置から受信側の装置へ伝送するデータ量を従来よりも軽減しつつ、受信側の装置が受信したデータに発生している誤りの訂正のための処理を行うことができる。
【発明を実施するための最良の形態】
【００１３】
〔第一の実施形態〕
図１は本発明に係るネットワークシステムＮＷＳの全体的な構成の例を示す図、図２はマルチメディアデータ配信装置１のハードウェア構成の例を示す図、図３は端末装置２のハードウェア構成の例を示す図である。
【００１４】
図１に示すように、本発明に係るネットワークシステムＮＷＳは、マルチメディアデータ配信装置１、端末装置２、および通信回線３などによって構成される。マルチメディアデータ配信装置１と端末装置２とは、通信回線３を介して互いに接続されており、ユーザからのリクエストに応じてマルチメディアデータを端末装置２に送信する。
【００１５】
通信回線３として、イーサネットまたはＡＤＳＬ（Asymmetric Digital Subscriber Line）などのような、下り方向（マルチメディアデータ配信装置１から端末装置２への方向）および上り方向（端末装置２からマルチメディアデータ配信装置１への方向）それぞれのチャネルが設けられた通信回線が用いられる。以下、下り方向のチャネルを「下りチャネルＣＨｄ」と記載し、上り方向のチャネルを「上りチャネルＣＨｕ」と記載する。下りチャネルＣＨｄおよび上りチャネルＣＨｕは、時分割多重または周波数多重（帯域の分割）によって実現してもよいし、物理的な回線を２本用意することによって実現してもよい。
【００１６】
マルチメディアデータ配信装置１は、図２に示すように、ＣＰＵ１０ａ、ＲＡＭ１０ｂ、ＲＯＭ１０ｃ、ＤＶＤ（Digital Versatile Disc）ドライブ１０ｄ、ハードディスク１０ｅ、データ送信部１Ｓ、およびデータ受信部１Ｒなどによって構成される。
【００１７】
ＲＯＭ１０ｃおよびハードディスク１０ｅには、マルチメディアデータ配信装置１の各部を制御するためのプログラムおよびデータが記憶されている。これらのプログラムおよびデータは必要に応じてＲＡＭ１０ｂにロードされ、ＣＰＵ１０ａによってプログラムが実行される。
【００１８】
さらに、ハードディスク１０ｅには、映画、演劇、スポーツ、またはニュースなどの様々な種類のマルチメディアコンテンツのマルチメディアデータＧＤＴが保存されている。これらのマルチメディアデータＧＤＴは、端末装置２のユーザのリクエストに応じて、端末装置２に配信（送信）される。また、ディスクに記録されているマルチメディアデータＧＤＴを、ＤＶＤドライブ１０ｄによって読み取って端末装置２に送信することもできる。マルチメディアデータＧＤＴのフォーマットとして、例えば、ＭＰＥＧ（Moving Picture Experts Group）などが用いられる。
【００１９】
データ送信部１Ｓは、ブロック生成回路１０１、送信回路１０２、送信済データバッファ１０３、およびリトライ送信制御回路１０４などによって構成され、マルチメディアデータＧＤＴを端末装置２に送信するための処理を行う。
【００２０】
データ受信部１Ｒは、受信回路１２１、受信データバッファ１２２、チェック用データ生成回路１２３、およびチェック用データ比較回路１２４などによって構成され、端末装置２から制御用のデータを受信し、マルチメディアデータＧＤＴの一部分（後に説明するブロックＢＬ１）の再送信の要否をチェックするなどの処理を行う。
【００２１】
データ送信部１Ｓおよびデータ受信部１Ｒの各回路の処理内容などについては、後に詳しく説明する。なお、データ送信部１Ｓおよびデータ受信部１Ｒの一部の機能を、プログラムによってソフトウェア的に実現するようにしてもよい。
【００２２】
マルチメディアデータ配信装置１として、例えば、ＤＶＤ再生装置を接続したパーソナルコンピュータまたはワークステーションなどが用いられる。または、ネットワーク機能を備えたＤＶＤプレーヤまたはハードディスク内蔵プレーヤなどを用いてもよい。
【００２３】
端末装置２は、図３に示すように、端末装置本体２Ｍ、キーボードまたはマウスなどの入力装置２Ｎ、ディスプレイ２Ｄ、およびスピーカ２Ｐなどによって構成される。
【００２４】
端末装置本体２Ｍは、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、ハードディスク２０ｄ、ビデオインタフェース２０ｅ、入力インタフェース２０ｆ、音声インタフェース２０ｇ、データ送信部２Ｓ、およびデータ受信部２Ｒなどによって構成される。
【００２５】
ＲＯＭ２０ｃおよびハードディスク２０ｄには、端末装置本体２Ｍの各部、ディスプレイ２Ｄ、入力装置２Ｎ、およびスピーカ２Ｐを制御するためのプログラムおよびデータが記憶されている。これらのプログラムおよびデータは必要に応じてＲＡＭ２０ｂにロードされ、ＣＰＵ２０ａによってプログラムが実行される。さらに、ハードディスク２０ｄには、マルチメディアデータ配信装置１から受信したマルチメディアデータＧＤＴに基づいてマルチメディアコンテンツすなわち映像および音声を再生し、ディスプレイ２Ｄおよびスピーカ２Ｐによって出力するためのアプリケーションソフトウェアがインストールされている。
【００２６】
ビデオインタフェース２０ｅ、入力インタフェース２０ｆ、および音声インタフェース２０ｇは、それぞれ、ディスプレイ２Ｄ、入力装置２Ｎ、およびスピーカ２Ｐと接続するためのインタフェースである。
【００２７】
データ送信部２Ｓは、制御データ生成回路２０１、送信回路２０２、および送信済データバッファ２０３などによって構成され、制御用のデータをマルチメディアデータ配信装置１に送信するための処理を行う。
【００２８】
データ受信部２Ｒは、受信回路２２１、受信データバッファ２２２、チェック用データ生成回路２２３、およびブロック結合回路２２４などによって構成され、マルチメディアデータ配信装置１から配信されるマルチメディアデータＧＤＴを受信するための処理を行う。
【００２９】
データ送信部２Ｓおよびデータ受信部２Ｒの各回路の処理内容などについては、順次詳しく説明する。なお、データ送信部２Ｓおよびデータ受信部２Ｒの一部の機能を、プログラムによってソフトウェア的に実現するようにしてもよい。端末装置２として、パーソナルコンピュータまたはワークステーションなどが用いられる。
【００３０】
図４はブロックＢＬ１の構成および生成方法の例を説明する図、図５は再送信制御データＢＬ２の構成および生成方法の例を説明する図、図６は分割データＢＤＴの誤りの検出の方法の例を説明する図である。
【００３１】
以下、図２に示すデータ送信部１Ｓおよびデータ受信部１Ｒおよび図３に示すデータ送信部２Ｓおよびデータ受信部２Ｒの処理内容などについて詳細に説明する。
【００３２】
図２のマルチメディアデータ配信装置１において、データ送信部１Ｓのブロック生成回路１０１は、ＤＶＤドライブ１０ｄまたはハードディスク１０ｅから読み出された、ユーザがリクエストしたマルチメディアコンテンツのマルチメディアデータＧＤＴを、図４（ａ）に示すように所定のデータ長のデータに分割する。以下、マルチメディアデータＧＤＴの分割されたデータを「分割データＢＤＴ」と記載する。
【００３３】
図４（ｂ）に示すように、分割データＢＤＴに、先頭から順に「１」、「２」、…とシーケンス番号を付し、さらにマルチメディアデータ配信装置１と端末装置２との通信のプロトコルなどに応じて、送信先アドレス、送信元アドレス、またはデータタイプなどを付すことによって、ブロックＢＬ１を生成する。ここでは、送信先アドレスにはリクエスト元の端末装置２のネットワーク上のアドレスを記し、送信元アドレスにはマルチメディアデータ配信装置１自身のネットワーク上のアドレスを記し、データタイプにはマルチメディアデータの分割データである旨を記しておく。
【００３４】
送信回路１０２は、ブロック生成回路１０１によって生成されたブロックＢＬ１を、送信先アドレスすなわちリクエスト元の端末装置２に送信する。
【００３５】
送信済データバッファ１０３は、送信回路１０２によって送信されたブロックＢＬ１を一時的に記憶する。送信済データバッファ１０３の空き容量が不足なった場合は、シーケンス番号が小さい（つまり、古い）ブロックＢＬ１から順に削除することによって空き容量を確保する。
【００３６】
リトライ送信制御回路１０４は、端末装置２によって受信されたブロックＢＬ１の中の分割データＢＤＴに誤り（エラー）があったことがデータ受信部１Ｒによって検出された場合に、そのブロックＢＬ１を再送信するための制御処理を行う。係る制御処理の内容については、後に説明する。
【００３７】
図３の端末装置２において、データ受信部２Ｒの受信回路２２１は、マルチメディアデータ配信装置１から送信されてくるブロックＢＬ１を受信する。
【００３８】
受信されたブロックＢＬ１は、受信データバッファ２２２に記憶される。ブロックＢＬ１に含まれるデータのうち、もう使わなくなったデータは受信時に削除しておいてもよい。受信データバッファ２２２の空き容量が不足なった場合は、シーケンス番号が小さいブロックＢＬ１から順に削除することによって空き容量を確保する。または、受信後、所定の時間が経過したら、空き容量に関わらず削除するようにしてもよい。
【００３９】
また、受信したブロックＢＬ１に含まれる分割データＢＤＴに誤りがあることがマルチメディアデータ配信装置１によって検知された場合は、その分割データＢＤＴが再送信されてくる。この場合は、再送信されてきた分割データＢＤＴを受信データバッファ２２２に記憶し、古いほうの分割データＢＤＴは受信データバッファ２２２から削除する。
【００４０】
チェック用データ生成回路２２３は、図５（ａ）（ｂ）に示すように、受信されたブロックＢＬ１から分割データＢＤＴを抽出し、その分割データＢＤＴの誤り検出用のデータを生成する。以下、係るデータを「チェック用データＣＫＤ」と記載する。チェック用データＣＫＤの生成方法として、ＣＲＣ（Cyclic Redundancy Check）方式またはパリティチェック方式などが用いられる。つまり、ＣＲＣ方式による場合は、チェック用データＣＫＤとして、ＣＲＣ符号が生成され、パリティチェック方式による場合は、所定のビット数のパリティビットからなるパリティ符号が生成される。
【００４１】
生成されたチェック用データＣＫＤは、後に説明するように、データ送信部２Ｓによってマルチメディアデータ配信装置１に送信され、分割データＢＤＴの誤り検出のために用いられる。
【００４２】
ブロック結合回路２２４は、受信データバッファ２２２に蓄積されている各ブロックＢＬ１の分割データＢＤＴをシーケンス番号順に結合することによって、マルチメディアデータ配信装置１で分割されたマルチメディアデータＧＤＴを元に戻す処理を行う。ただし、受信データバッファ２２２に蓄積されているブロックＢＬ１の分割データＢＤＴに誤りが含まれている場合は、そのブロックＢＬ１がしばらくしてから再送信されてくる。よって、分割データＢＤＴを受信して直ちにその分割データＢＤＴの結合の処理を行うのではなく、所定の時間だけ待ってから行う。
【００４３】
データ送信部２Ｓの制御データ生成回路２０１は、図５（ｃ）に示すように、データ受信部２Ｒの送信済データバッファ２０３によって生成されたチェック用データＣＫＤに、そのチェック用データＣＫＤの基の分割データＢＤＴのシーケンス番号を付し、さらにプロトコルなどに応じて、送信先アドレス（ここでは、そのチェック用データＣＫＤの基の分割データＢＤＴを送信したマルチメディアデータ配信装置１のネットワーク上のアドレス）、送信元アドレス、またはデータタイプなどを付すことによって、再送信制御データＢＬ２を生成する。
【００４４】
送信回路２０２は、制御データ生成回路２０１によって生成された再送信制御データＢＬ２を、送信先アドレスに示される装置すなわちマルチメディアデータ配信装置１に送信する。また、ユーザからマルチメディアコンテンツの再生の要求（リクエスト）がなされた場合は、そのマルチメディアコンテンツの識別情報、要求元の装置（すなわち、その端末装置２）のネットワーク上のアドレス、およびデータタイプなどを示すリクエストデータＲＣＤをマルチメディアデータ配信装置１に送信する。
【００４５】
送信済データバッファ２０３には、マルチメディアデータ配信装置１に送信された再送信制御データＢＬ２などが一時的に記憶される。
【００４６】
図２のマルチメディアデータ配信装置１において、データ受信部１Ｒのチェック用データ生成回路１２３は、端末装置２に送信済のブロックＢＬ１をデータ送信部１Ｓから取得し、これに含まれる分割データＢＤＴの誤り検出用のデータを、端末装置２のチェック用データ生成回路２２３（図３参照）におけるチェック用データＣＫＤの生成方法と同じ方法で生成する。このように同一の生成方法を用いることにより、チェック用データ生成回路１２３によって生成される誤り検出用のデータのフォーマットは、チェック用データ生成回路２２３で生成されるチェック用データＣＫＤのそれと同じになる。以下、チェック用データ生成回路１２３が生成した誤り検出用のデータを「チェック用データＣＫＤ’」と記載する。
【００４７】
受信回路１２１は、端末装置２から送信されてきた各種のデータの受信する。受信後、そのデータが再送信制御データＢＬ２であるかリクエストデータＲＣＤであるかを、そのデータのデータタイプを参照して判別する。
【００４８】
再送信制御データＢＬ２に含まれるチェック用データＣＫＤは、チェック用データ生成回路１２３によって生成されたチェック用データＣＫＤ’とともに、端末装置２に届いた分割データＢＤＴに誤り（エラー）が発生していないかどうかをチェックする処理のために用いられる。係る処理は、チェック用データ比較回路１２４によって行われる。チェック用データ比較回路１２４がビジーであるため、受信した再送信制御データＢＬ２のチェック用データＣＫＤが直ちに用いられない場合は、その再送信制御データＢＬ２を受信データバッファ１２２に記憶しておく。
【００４９】
ここで、データ受信部１Ｒにおける誤りの検出処理の流れを、図６を参照して説明する。チェック用データ比較回路１２４は、受信データバッファ１２２に記憶されている再送信制御データＢＬ２を呼び出し（＃３０１）、それに含まれているチェック用データＣＫＤを抽出する（＃３０２）。ただし、再送信制御データＢＬ２が複数記憶されている場合は、シーケンス番号が小さい順に優先的に呼び出す。再送信制御データＢＬ２が記憶されていない場合は、新たに再送信制御データＢＬ２が受信されたら直ちにその再送信制御データＢＬ２からチェック用データＣＫＤを抽出する。
【００５０】
チェック用データ生成回路１２３は、その再送信制御データＢＬ２と同じシーケンス番号を有するブロックＢＬ１をデータ送信部１Ｓの送信済データバッファ１０３から呼び出し（＃３０３）、そのブロックＢＬ１に含まれる分割データＢＤＴのチェック用データＣＫＤ’を生成する（＃３０４）。なお、チェック用データＣＫＤ’を、ブロックＢＬ１を端末装置２に送信した後すぐに生成し、シーケンス番号などと対応付けて送信済データバッファ１０３またはその他の記憶手段に予め蓄積しておいてもよい。
【００５１】
そして、チェック用データ比較回路１２４は、ステップ＃３０２で抽出されたチェック用データＣＫＤとステップ＃３０４で生成されたチェック用データＣＫＤ’とを比較することによって、そのシーケンス番号の分割データＢＤＴが誤りを生じることなく端末装置２で受信されたか否かを判別する（＃３０５）。すなわち、両者が一致する場合は、誤りを生じることなく受信されたと判別する。一致しない場合は、端末装置２が受信した分割データＢＤＴに誤りが生じていると判別する。
【００５２】
図２に戻って、受信回路１２１によって受信されたデータがリクエストデータＲＣＤである場合は、ＤＶＤドライブ１０ｄまたはハードディスク１０ｅによってそのリクエストデータＲＣＤに示されるマルチメディアコンテンツのマルチメディアデータＧＤＴが呼び出される。そして、前に説明したように、ブロック生成回路１０１および送信回路１０２によってリクエスト元の端末装置２にそのマルチメディアデータＧＤＴを送信するための処理が行われる。
【００５３】
データ送信部１Ｓのリトライ送信制御回路１０４は、チェック用データ比較回路１２４による判別の結果に基づいて、分割データＢＤＴの再送信のための処理を行う。分割データＢＤＴに誤りが生じていると判別された場合は、その分割データＢＤＴをもう一度端末装置２に送信すべき旨の指令を送信回路１０２に対して与える。送信回路１０２は、係る指令を受けて、送信済データバッファ１０３からその分割データＢＤＴを含むブロックＢＬ１を呼び出し、端末装置２への送信をやり直す。一方、誤りを生じることなく分割データＢＤＴが端末装置２で受信されたと判別された場合は、再送信のための処理は行わず、その分割データＢＤＴを含むブロックＢＬ１を送信済データバッファ１０３から削除しておく。
【００５４】
図７はマルチメディアデータ配信装置１および端末装置２の全体的な処理の流れの例を説明するフローチャートである。
【００５５】
次に、ユーザが所望するマルチメディアコンテンツのマルチメディアデータＧＤＴをマルチメディアデータ配信装置１から端末装置２に配信する際の両装置の処理の流れを、図７のフローチャートを参照して説明する。
【００５６】
ユーザは、端末装置２を操作してアプリケーションソフトウェアを端末装置２に起動させる。そして、メニュー画面などを見ながら、自分の所望するマルチメディアコンテンツを指定する。すると、端末装置２は、リクエストデータＲＣＤを送信することによって、ユーザが指定したマルチメディアコンテンツを配信するようにマルチメディアデータ配信装置１に対して要求する（図７の＃２０１）。
【００５７】
マルチメディアデータ配信装置１は、リクエストデータＲＣＤを受信すると（＃１０１）、そのリクエストデータＲＣＤに示されるマルチメディアコンテンツのマルチメディアデータＧＤＴをＤＶＤドライブ１０ｄまたはハードディスク１０ｅによって読み出し（＃１０２）、これを所定のデータ長の分割データＢＤＴに分割するなどしてブロックＢＬ１を生成する（＃１０３）。生成したブロックＢＬ１を、端末装置２に送信するとともに（＃１０４）、送信済データバッファ１０３に記憶させておく（＃１０５）。なお、マルチメディアデータＧＤＴのサイズが大きい場合は、マルチメディアデータＧＤＴを先頭から順に読み出し、読み出された部分から順次分割を行い、ブロックＢＬ１を生成し送信する。
【００５８】
端末装置２は、ブロックＢＬ１を受信すると（＃２０２）、そのブロックＢＬ１に含まれる分割データＢＤＴのチェック用データＣＫＤを生成し（＃２０３）、再送信制御データＢＬ２に乗せてマルチメディアデータ配信装置１に送信する（＃２０４）。また、受信したブロックＢＬ１は、受信データバッファ２２２に記憶させておく（＃２０５）。
【００５９】
マルチメディアデータ配信装置１は、再送信制御データＢＬ２を受信すると（＃１０６）、その再送信制御データＢＬ２と同じシーケンス番号を有するブロックＢＬ１を呼び出し、そのブロックＢＬ１に含まれる分割データＢＤＴのチェック用データＣＫＤ’を生成する（＃１０７）。そして、再送信制御データＢＬ２に含まれるチェック用データＣＫＤと生成したチェック用データＣＫＤ’とを比較することによって、端末装置２で受信された、そのシーケンス番号の分割データＢＤＴに誤りがないかどうかを判別する（＃１０８）。つまり、誤り検出を行う。
【００６０】
誤りが検出された場合は（＃１０９でＹｅｓ）、その分割データＢＤＴを端末装置２に再送信する（＃１１０）。
【００６１】
誤りが検出されなかった場合は（＃１０９でＮｏ）、ステップ＃１０４に戻って、残りの分割データＢＤＴについて、送信、誤り検出の処理、および必要に応じて再送信の処理を行う（＃１１１でＹｅｓ）。なお、マルチメディアデータＧＤＴのサイズが大きい場合は、ブロック化および送信処理（＃１０２〜＃１０５）および誤り検出および再送信の処理（＃１０６〜＃１１０）は、並行して実行される。ただし、送信回路１０２（図２参照）は、再送信対象の分割データＢＤＴを、初めて送信する分割データＢＤＴよりも優先的に送信する。つまり、シーケンス番号が小さいものを優先的に送信する。
【００６２】
端末装置２は、ブロックＢＬ１を再受信すると（＃２０６）、これを受信データバッファ２２２に記憶させる（＃２０７）。このとき、同じシーケンス番号を持つ古いほうのブロックＢＬ１は、受信データバッファ２２２から削除しておく。
【００６３】
ステップ＃２０２〜＃２０５の処理およびステップ＃２０６〜＃２０８の処理は、マルチメディアデータ配信装置１からブロックＢＬ１が送信されまたは再送信されるごとに実行する。
【００６４】
そして、受信データバッファ２２２に蓄積された各ブロックＢＬ１の分割データＢＤＴをシーケンス番号順に結合させることによって、マルチメディアデータＧＤＴを再生成し、そのマルチメディアデータＧＤＴに基づいてマルチメディアコンテンツを再生する（＃２０８）。このようにして、ユーザの所望するマルチメディアコンテンツがディスプレイ２Ｄおよびスピーカ２Ｐから出力される。
【００６５】
なお、マルチメディアデータＧＤＴが大きければ、多数の分割データＢＤＴが長い時間を掛けて次々に受信される。このような場合は、分割データＢＤＴの受信および再受信の処理と並行して、既に取得されている分割データＢＤＴを結合しながらマルチメディアコンテンツの再生処理を実行する。第二の実施形態においても同様である。
【００６６】
ただし、前に述べたように、端末装置２は、分割データＢＤＴから誤りが検出された場合は、その分割データＢＤＴを再受信しなければならない。そこで、端末装置２は、結合の処理を実行するタイミングを、新たな分割データＢＤＴを受信してからその分割データＢＤＴを再受信するまでに要する時間を考慮して決定するのが望ましい。つまり、新たな分割データＢＤＴを受信したら直ちに結合の処理を実行するのではなく、しばらく待ってから実行する。
【００６７】
または、分割データＢＤＴから誤りが検出されなかった場合に、端末装置２は、その旨を示す結果情報をマルチメディアデータ配信装置１から受信し、係る結果情報が受信された分割データＢＤＴについて結合の処理を実行するようにしてもよい。
【００６８】
ステップ＃２０６で再受信した分割データＢＤＴについても、ステップ＃２０３〜＃２０５およびステップ＃１０６〜＃１０８の、誤りを検出するための処理を実行するようにしてもよい。そして、誤りが検出された場合は、その分割データＢＤＴを再々送信するようにしてもよい。
【００６９】
本実施形態によると、誤り検出符号を付けずにマルチメディアデータ配信装置１から端末装置２にデータを送信する。その代わりに、端末装置２が受信したデータについて誤り検出符号を生成しマルチメディアデータ配信装置１に送信する。このように、従来あまり使用されなかった上りチャネルＣＨｕを誤り検出符号の経路として使用することによって、下りチャネルＣＨｄのトラフィックを従来よりも軽減することができる。しかも、誤りの検出およびデータの再送信の処理を実行することができる。
【００７０】
図８はパリティ方式による分割データＢＤＴの誤り検出方法の例を説明する図である。
【００７１】
本実施形態では、分割データＢＤＴの全部分を端末装置２に再送信したが、チェック用データＣＫＤ、ＣＫＤ’としてパリティ符号を生成した場合は、分割データＢＤＴのうち誤り含まれる部分のみを再送信してもよい。
【００７２】
例えば、ある２キロバイトの分割データＢＤＴｘがマルチメディアデータ配信装置１から端末装置２に送信されたとする。端末装置２は、受信した分割データＢＤＴｘのチェック用データＣＫＤとして、図８（ａ）に示すような８ビットの奇数パリティ符号を生成したとする。一方、マルチメディアデータ配信装置１は、その分割データＢＤＴｘのチェック用データＣＫＤ’として、図８（ｂ）に示すような８ビットの奇数パリティ符号を生成したとする。
【００７３】
このような場合に、マルチメディアデータ配信装置１のチェック用データ生成回路１２３（図２参照）は、チェック用データＣＫＤ、ＣＫＤ’の第１ビット同士、第２ビット同士、…第８ビット同士を比較し、互いに値の異なるビット目を探す。そして、分割データＢＤＴｘの中の、そのビット目に対応する部分のどこかに誤りが発生していると判別する。図８の例では、２ビット目および７ビット目に対応する部分のどこかに誤りが発生していると判別される。
【００７４】
リトライ送信制御回路１０４およびブロック生成回路１０１は、その部分のデータ（図中の丸数字２、７のデータ）を分割データＢＤＴから抽出し、そのデータの位置（アドレス、番地）を示す情報とともに、端末装置２に送信する処理を行う。
【００７５】
端末装置２は、これらのデータおよび情報を受信すると、受信データバッファ２２２に記憶されている分割データＢＤＴｘを呼び出す。そして、誤りが発生している部分を、受信したデータと置き換えることによって、分割データＢＤＴｘを訂正する。
【００７６】
誤り検出の精度を高めたい場合は、パリティ符号のビット数を多くすればよい。または、さらに精度を高めたい場合は、次のようにしてもよい。端末装置２において、受信した分割データＢＤＴを可逆な圧縮方式で圧縮し、これをチェック用データＣＫＤとしてマルチメディアデータ配信装置１に送信する。マルチメディアデータ配信装置１において、チェック用データＣＫＤを解凍して分割データＢＤＴに戻すとともに、これと同じシーケンス番号の分割データＢＤＴを送信済データバッファ１０３から呼び出す。そして、両者を比較することによって誤りの部分を検出する。これらの方法によると、誤り検出の精度を高めるだけでなく、誤りが発生した部分をより細かく特定することができるので、端末装置２に再送信するデータのサイズを小さくし、下りチャネルＣＨｄのトラフィックの負荷を軽減することができる。特に、後者の方法の場合は、誤りのビット位置まで特定することができるので、再送信するデータのサイズは非常に小さくなる。ただし、これらの場合は、チェック用データＣＫＤのサイズが大きくなるので、上りチャネルＣＨｕのトラフィックが多くなる。また、誤り検出処理の負荷が大きくなる。
【００７７】
誤り検出の精度が低くてもよいが上り回線のトラフィックをもっと少なくしたい場合は、パリティ符号のビット数を小さくすればよい。
【００７８】
チェック用データＣＫＤとして、ＣＲＣ符号を用いた場合は、マルチメディアデータ配信装置１において、チェック用データＣＫＤ’を生成せずに誤り検出処理を行うこともできる。すなわち、マルチメディアデータ配信装置１は、従来は受信側で実行していたＣＲＣ方式に基づく演算処理を、端末装置２から受信したチェック用データＣＫＤおよび送信済データバッファ１０３に記憶されている分割データＢＤＴを用いて実行することによって、誤りを検出してもよい。
【００７９】
〔第二の実施形態〕
図９はマルチメディアデータ配信装置１βのハードウェア構成の例を示す図、図１０は端末装置２βのハードウェア構成の例を示す図である。
【００８０】
第一の実施形態では、データの誤り検出の処理を、データの送信側つまりマルチメディアデータ配信装置が実行したが、第二の実施形態では、データの受信側つまり端末装置が実行する。第二の実施形態で用いられるマルチメディアデータ配信装置および端末装置をそれぞれ「マルチメディアデータ配信装置１β」および「端末装置２β」と記載する。
【００８１】
以下、第一の実施形態と異なる構成および処理内容を中心に詳細に説明する。第一の実施形態と共通する部分については、説明を省略することがある。
【００８２】
第一の実施形態の場合と同様に、ネットワークシステムＮＷＳβは、マルチメディアデータ配信装置１β、端末装置２β、および通信回線３によって構成される。通信回線３として、下りチャネルＣＨｄおよび上りチャネルＣＨｕが設けられた回線が用いられる（図１参照）。
【００８３】
図９に示すように、マルチメディアデータ配信装置１βは、ＣＰＵ１５ａ、ＲＡＭ１５ｂ、ＲＯＭ１５ｃ、ＤＶＤドライブ１５ｄ、ハードディスク１５ｅ、データ送信部１Ｓβ、およびデータ受信部１Ｒβなどによって構成される。図２と比較して分かるように、第一の実施形態のマルチメディアデータ配信装置１とほぼ同様の構成であるが、両者には、データ送信部およびデータ受信部の構成に違いがある。
【００８４】
ＣＰＵ１５ａないしハードディスク１５ｅの機能は、第一の実施形態のＣＰＵ１０ａないしハードディスク１０ｅの機能と基本的に同じである。ただし、ＲＯＭ１５ｃおよびハードディスク１５ｅには、後に説明する第二の実施形態の特徴的な方法によってマルチメディアデータＧＤＴの配信を実行するためのプログラムおよびデータが記憶されている。
【００８５】
データ送信部１Ｓβは、データ分割回路１７１、チェック用データ生成回路１７２、ブロック生成回路１７３、送信回路１７４、送信済データバッファ１７５、およびリトライ送信制御回路１７６などによって構成され、マルチメディアデータＧＤＴを端末装置２βに送信するための処理を行う。
【００８６】
データ受信部１Ｒβは、受信回路１８１、受信データバッファ１８２、およびデータ比較回路１８３などによって構成される。
【００８７】
図１０に示すように、端末装置２βは、端末装置本体２Ｍβ、キーボードまたはマウスなどの入力装置２Ｎ’、ディスプレイ２Ｄ’、およびスピーカ２Ｐ’などによって構成される。端末装置本体２Ｍβは、ＣＰＵ２５ａ、ＲＡＭ２５ｂ、ＲＯＭ２５ｃ、ハードディスク２５ｄ、ビデオインタフェース２５ｅ、入力インタフェース２５ｆ、音声インタフェース２５ｇ、データ送信部２Ｓβ、およびデータ受信部２Ｒβなどによって構成される。図３と比較して分かるように、第一の実施形態の端末装置２とほぼ同様の構成であるが、両者には、データ送信部およびデータ受信部の構成に違いがある。
【００８８】
ＣＰＵ２５ａないし音声インタフェース２５ｇ、ディスプレイ２Ｄ’、入力装置２Ｎ’、およびスピーカ２Ｐ’の機能は、それぞれ、第一の実施形態のＣＰＵ１０ａないし音声インタフェース２０ｇ、ディスプレイ２Ｄ、入力装置２Ｎ、およびスピーカ２Ｐの機能と基本的に同じである。ただし、ＲＯＭ２５ｃおよびハードディスク２５ｄには、後に説明する第二の実施形態の特徴的な方法によってマルチメディアデータＧＤＴの受信を実行するためのプログラムおよびデータが記憶されている。
【００８９】
データ送信部２Ｓβは、制御データ生成回路２７１、送信回路２７２、および送信済データバッファ２７３などによって構成され、制御用のデータをマルチメディアデータ配信装置１に送信するための処理を行う。
【００９０】
データ受信部２Ｒβは、受信回路２８１、受信データバッファ２８２、誤り検出回路２８３、データ結合回路２８４、およびデータ訂正回路２８５などによって構成され、マルチメディアデータ配信装置１から配信されるマルチメディアデータＧＤＴを受信するための処理を行う。
【００９１】
なお、データ送信部１Ｓ、データ受信部１Ｒ、データ送信部２Ｓ、またはデータ受信部２Ｒの一部の機能を、プログラムによってソフトウェア的に実現するようにしてもよい。
【００９２】
図１１はブロックＢＬ３の構成および生成方法の例を説明する図、図１２は訂正要求データＢＬ４の構成の例を示す図、図１３は誤有分割データＢＤＴ’から誤りを検出する方法の例を説明する図である。
【００９３】
次に、データ送信部１Ｓβ、データ受信部１Ｒβ、データ送信部２Ｓβ、およびデータ受信部２Ｒβの処理内容などについて詳細に説明する。
【００９４】
図９のマルチメディアデータ配信装置１βにおいて、データ送信部１Ｓβのデータ分割回路１７１は、ＤＶＤドライブ１５ｄまたはハードディスク１５ｅから読み出された、ユーザがリクエストしたマルチメディアコンテンツのマルチメディアデータＧＤＴを、図１１（ａ）に示すように、所定のデータ長の分割データＢＤＴに分割する。
【００９５】
チェック用データ生成回路１７２は、図１１（ｂ）に示すように、それぞれの分割データＢＤＴについて、誤り検出用のデータを生成する。生成方法として、ＣＲＣ方式またはパリティチェック方式などが用いられる。つまり、ＣＲＣ方式による場合はＣＲＣ符号を生成し、パリティチェック方式による場合はパリティ符号を生成する。以下、チェック用データ生成回路１７２によって生成されたデータを「チェック用データＣＫＥ」と記載する。
【００９６】
ブロック生成回路１７３は、図１１（ｃ）に示すように、データ分割回路１７１によって分割された分割データＢＤＴに、先頭から順に「１」、「２」、…とシーケンス番号を付し、チェック用データ生成回路１７２によって生成されたチェック用データＣＫＥを付し、さらにマルチメディアデータ配信装置１βと端末装置２βとの通信のプロトコルなどに応じて、送信先アドレスすなわちリクエスト元の端末装置２βのネットワーク上のアドレス、送信元アドレスすなわちマルチメディアデータ配信装置１β自身のネットワーク上のアドレス、またはデータタイプなどを付すことによって、ブロックＢＬ３を生成する。
【００９７】
送信回路１７４は、生成されたブロックＢＬ３を、送信先アドレスすなわちリクエスト元の端末装置２βに送信する。
【００９８】
送信済データバッファ１７５は、端末装置２βに送信したブロックＢＬ３を一時的に記憶する。送信済データバッファ１７５の空き容量が不足なった場合は、シーケンス番号が小さい（つまり、古い）ブロックＢＬ３から順に削除することによって空き容量を確保する。または、空き容量に関わらず、記憶されてから所定の時間を経過した後に削除するようにしてもよい。リトライ送信制御回路１７６は、端末装置２βが受信したブロックＢＬ３の中の分割データＢＤＴに誤り（エラー）が検出された場合に、誤りのあった部分の訂正用のデータを送信するための制御処理を行う。係る制御処理の内容については、後に説明する。
【００９９】
図１０の端末装置２βにおいて、データ受信部２Ｒβの受信回路２８１は、マルチメディアデータ配信装置１βから送信されてくるブロックＢＬ３を受信する。受信されたブロックＢＬ３は、受信データバッファ２８２に記憶される。ブロックＢＬ３に含まれるデータのうち、もう使わなくなったデータは受信時に削除しておいてもよい。
【０１００】
誤り検出回路２８３は、受信したブロックＢＬ３から分割データＢＤＴおよびチェック用データＣＫＥを抽出し、その分割データＢＤＴに誤りが発生していないかどうかを、そのチェック用データＣＫＥに基づいて判別する。つまり、誤り検出を行う。誤り検出は、公知の方法によって行われる。
【０１０１】
データ結合回路２８４は、第一の実施形態のブロック結合回路２２４と同様に、受信データバッファ２８２に蓄積されているブロックＢＬ３に含まれる分割データＢＤＴをシーケンス番号順に結合することによって、マルチメディアデータ配信装置１βで分割されたマルチメディアデータＧＤＴを元に戻す処理を行う。ただし、分割データＢＤＴから誤りが検出された場合は、マルチメディアデータ配信装置１βから訂正用のデータが送信されてきて、データ訂正回路２８５によって誤り部分が訂正される。
よって、分割データＢＤＴから誤りが検出された場合は、その分割データＢＤＴについての結合の処理は、誤り部分が訂正された後に実行する。
【０１０２】
データ送信部２Ｓβの制御データ生成回路２７１は、誤り検出回路２８３によって分割データＢＤＴから誤りが検出された場合に、その分割データＢＤＴおよびそのシーケンス番号に必要に応じて送信先アドレス、送信元アドレス、またはデータタイプなどを付すことによって、図１２に示すような訂正要求データＢＬ４を生成する。分割データＢＤＴを、可逆な圧縮方式で圧縮しておいてもよい。以下、誤りが検出された分割データＢＤＴを「誤有分割データＢＤＴ’」と記載することがある。
【０１０３】
送信回路２７２は、制御データ生成回路２７１によって生成された訂正要求データＢＬ４を、送信先アドレスの装置すなわちマルチメディアデータ配信装置１βに送信する。また、ユーザからマルチメディアコンテンツの再生の要求がなされた場合は、第一の実施形態の送信回路２０２と同様に、リクエストデータＲＣＤをマルチメディアデータ配信装置１βに送信する。送信済データバッファ２７３には、マルチメディアデータ配信装置１βに送信した訂正要求データＢＬ４などが一時的に記憶される。
【０１０４】
図９のマルチメディアデータ配信装置１βにおいて、データ受信部１Ｒβの受信回路１８１は、端末装置２βから送信されてきた各種のデータを受信処理する。受信後、そのデータが訂正要求データＢＬ４であるかリクエストデータＲＣＤであるかを、そのデータのデータタイプを参照して判別する。
【０１０５】
訂正要求データＢＬ４に含まれるチェック用データＣＫＥは、端末装置２で受信された誤有分割データＢＤＴ’の訂正用のデータを生成するために用いられる。生成の処理は、次に説明するデータ比較回路１８３およびデータ送信部１Ｓβのリトライ送信制御回路１７６によって実行される。データ比較回路１８３またはリトライ送信制御回路１７６がビジーであるため、受信した訂正要求データＢＬ４が直ちに用いられない場合は、これを受信データバッファ１８２に記憶させておく。
【０１０６】
データ比較回路１８３は、図１３に示すような手順で、誤りが発生した位置を特定する。図１３において、受信した訂正要求データＢＬ４または受信データバッファ１８２に記憶されている訂正要求データＢＬ４から誤有分割データＢＤＴ’を抽出する（＃３２１）。受信データバッファ１８２に複数の訂正要求データＢＬ４が記憶されている場合は、シーケンス番号の小さいものを優先的に抽出する。送信済データバッファ１７５の中から、その訂正要求データＢＬ４と同じシーケンス番号のブロックＢＬ３を呼び出し（＃３２２）、ブロックＢＬ３から分割データＢＤＴを抽出する（＃３２３）。
【０１０７】
抽出した分割データＢＤＴおよび誤有分割データＢＤＴ’について、先頭の１ビット目同士、２ビット目同士、…、というように、互いに対応するビット目同士を比較する（＃３２４）。その結果、相違するビット目が見つかったら、それを誤り位置として検出する。なお、１ビット単位で比較を行うのではなく、１バイト、２バイト、４バイト、などの単位で行ってもよい。
【０１０８】
図９に戻って、リトライ送信制御回路１７６は、データ比較回路１８３によって得られた比較結果、つまり、端末装置２で受信された分割データＢＤＴ（誤有分割データＢＤＴ’）の誤り位置の部分のデータを、送信済データバッファ１７５に記憶されている分割データＢＤＴの中から呼び出す。呼び出したデータとその位置（分割データＢＤＴにおける番地）を示す情報とを対応付けることによって、誤り訂正データＡＴＤを生成する。そして、その誤り訂正データＡＴＤが端末装置２に送信されるようにブロック生成回路１７３および送信回路１７４を制御する。
【０１０９】
なお、ビット単位で誤りを検出した場合は、誤りの位置（番地）を示す情報があれば、ビット反転させることによって誤りを訂正することができる。したがって、誤り訂正データＡＴＤには係る情報が含まれていればよく、基の分割データＢＤＴから正しいデータを呼び出す必要はない。
【０１１０】
ブロック生成回路１７３は、リトライ送信制御回路１７６からの指令に基づいて、誤り訂正データＡＴＤにその基となる分割データＢＤＴのシーケンス番号を付し、さらに送信先アドレス、送信元アドレス、またはデータタイプなどを付すことによって、訂正制御データＢＬ５を生成する。送信回路１７４は、生成された訂正制御データＢＬ５を端末装置２に送信する。
【０１１１】
図１０の端末装置２βにおいて、データ受信部２Ｒβのデータ訂正回路２８５は、訂正制御データＢＬ５を受信すると、その訂正制御データＢＬ５と同じシーケンス番号のブロックＢＬ３を受信データバッファ１８２から呼び出し、その訂正制御データＢＬ５に含まれる誤り訂正データＡＴＤに基づいて、そのブロックＢＬ３に含まれる分割データＢＤＴ（誤有分割データＢＤＴ’）の誤り部分を訂正する。
【０１１２】
例えば、マルチメディアデータ配信装置１βにおいてビット単位で誤りが検出された場合は、誤有分割データＢＤＴ’のうちの誤り訂正データＡＴＤに示される位置（番地）のデータをビット反転させることによって訂正を行う。または、バイト単位またはその他のビット長の単位で誤りが検出された場合は、誤有分割データＢＤＴ’のうちの誤りを含む部分を、誤り訂正データＡＴＤに示される正しいデータに置き換えることによって訂正を行う。
【０１１３】
図１４はマルチメディアデータ配信装置１βおよび端末装置２βの全体的な処理の流れの例を説明するフローチャートである。
【０１１４】
次に、ユーザが所望するマルチメディアコンテンツのマルチメディアデータＧＤＴをマルチメディアデータ配信装置１βから端末装置２βに配信する際の両装置の処理の流れを、図１４のフローチャートを参照して説明する。
【０１１５】
端末装置２βは、リクエストデータＲＣＤをマルチメディアデータ配信装置１βに送信することによって、ユーザの所望するマルチメディアコンテンツのマルチメディアデータＧＤＴを配信するように要求する（図１４の＃２２１）。
【０１１６】
マルチメディアデータ配信装置１βは、リクエストデータＲＣＤを受信すると（＃１２１）、そのリクエストデータＲＣＤに示されるマルチメディアコンテンツのマルチメディアデータＧＤＴをＤＶＤドライブ１５ｄまたはハードディスク１５ｅによって読み出し、これを所定のデータ長の分割データＢＤＴに分割する（＃１２２）。分割データＢＤＴのチェック用データＣＫＥ（誤り検出符号）を生成する（＃１２３）。そして、分割データＢＤＴおよびそのチェック用データＣＫＥに基づいてブロックＢＬ３を生成し（＃１２４）、これを端末装置２に送信するとともに（＃１２５）、送信済データバッファ１７５に記憶させておく（＃１２６）。マルチメディアデータＧＤＴのサイズが大きい場合は、マルチメディアデータＧＤＴを先頭から順に読み出し、読み出された部分から順次、ステップ＃１２２〜＃１２５の処理を行う。
【０１１７】
端末装置２βは、ブロックＢＬ３を受信すると（＃２２２）、そのブロックＢＬ３に含まれるチェック用データＣＫＥに基づいて、分割データＢＤＴに誤りがないかどうかをチェックする（＃２２３）。誤りが検出された場合は（＃２２４でＹｅｓ）、その分割データＢＤＴ（誤有分割データＢＤＴ’）を訂正要求データＢＬ４に乗せてマルチメディアデータ配信装置１βに送信することによって、正しいデータを送信するように要求する（＃２２５）。誤りの有無に関わらず、マルチメディアデータ配信装置１βから受信したブロックＢＬ３は、受信データバッファ２８２に記憶しておく（＃２２６）。
【０１１８】
マルチメディアデータ配信装置１βは、訂正要求データＢＬ４を受信すると（＃１２７）、その訂正要求データＢＬ４に含まれる誤有分割データＢＤＴ’と、その基の（つまり、同じシーケンス番号の）分割データＢＤＴとを比較することによって、誤有分割データＢＤＴ’の中から誤りが発生している位置（番地）を特定し抽出する（＃１２８）。そして、その部分を訂正するための誤り訂正データＡＴＤを生成し、これを訂正制御データＢＬ５に乗せて端末装置２βに送信する（＃１２９）。
【０１１９】
端末装置２βは、誤り訂正データＡＴＤを受信すると（＃２２７）、これに基づいて分割データＢＤＴ（誤有分割データＢＤＴ’）を訂正する（＃２２８）。訂正後の分割データＢＤＴは、必要に応じて再び受信データバッファ２８２に記憶させておく（＃２２９）。なお、誤りが検出されなかった分割データＢＤＴについては、誤り訂正データＡＴＤが送信されてこないので、ステップ＃２２７〜＃２２９の処理はスキップされる。
【０１２０】
そして、受信データバッファ２８２に蓄積された分割データＢＤＴをシーケンス番号順に結合させることによって、マルチメディアデータＧＤＴを再生成し、そのマルチメディアデータＧＤＴに基づいてマルチメディアコンテンツを再生する（＃２３０）。
【０１２１】
第二の実施形態によると、誤りが検出されたデータを従来のようにすべて再送信するのではなく、誤りが含まれる部分のみまたは誤りの位置（番地）情報のみを送信する。よって、従来よりも下りチャネルＣＨｄのトラフィックを軽減することができる。
【０１２２】
図１５は訂正要求データＢＬ４’の構成および生成方法の変形例を説明する図である。
【０１２３】
第二の実施形態では、端末装置２βが受信した分割データＢＤＴから誤りが検出された場合に、その分割データＢＤＴ（誤有分割データＢＤＴ’）の全部分をマルチメディアデータ配信装置１βに送信したが、一部分だけを送信するようにしてもよい。
【０１２４】
例えば、図１５（ａ）に示すように、８ビットの奇数パリティ符号であるチェック用データＣＫＥが分割データＢＤＴ（誤有分割データＢＤＴ’）とともに受信され、その誤有分割データＢＤＴ’から８ビットの奇数パリティ符号であるチェック用データＣＫＥ’が算出されたとする。
【０１２５】
ここで、チェック用データＣＫＥ、ＣＫＥ’の対応するビット目同士を比較すると、２ビット目が一致しないので、誤有分割データＢＤＴ’のうちの２ビット目に対応する部分すなわち丸数字２の部分のどこかに誤りが発生していることが分かる。以下、係る部分のデータを「誤り部分データＡＢＤ」と記載する。
【０１２６】
そこで、端末装置２βは、図１５（ｂ）に示すような訂正要求データＢＬ４’を生成し、誤有分割データＢＤＴ’の全部分を送信する代わりに誤り部分データＡＢＤおよびその位置（番地）を送信する。
【０１２７】
訂正要求データＢＬ４’を受信したマルチメディアデータ配信装置１βは、それに含まれる誤り部分データＡＢＤについてのみ、基の分割データＢＤＴとの比較を行い、誤りが発生している位置を特定する。
【０１２８】
これにより、上りチャネルＣＨｕおよび下りチャネルＣＨｄの両方のトラフィックを軽減するとともに、マルチメディアデータ配信装置１βにおける誤り位置の特定処理の負荷を軽減することができる。
【０１２９】
第一および第二の実施形態では、マルチメディアデータＧＤＴを複数の分割データＢＤＴに分割して送受信を行ったが、分割せずに送受信を行うようにしてもよい。
【０１３０】
マルチメディアデータ配信装置１、１βの機能をインターネット上のストリーミングサーバに適用してもよい。この場合は、パケット単位で誤り検出を行えばよい。
【０１３１】
その他、ネットワークシステムＮＷＳ、マルチメディアデータ配信装置１、端末装置２、通信回線３の全体または各部の構成、処理内容、処理順序、データベースの内容などは、本発明の趣旨に沿って適宜変更することができる。
【０１３２】
以上説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）第一の装置と第二の装置とを有し、
前記第一の装置には、
前記第二の装置にデータを送信するデータ送信手段と、
前記第二の装置が受信した前記データに誤りが発生しているか否かを判別する誤り有無判別手段と、が設けられ、
前記第二の装置には、
前記第一の装置から前記データを受信するデータ受信手段と、
前記第一の装置から受信した前記データの誤り検出符号を生成する誤り検出符号生成手段と、
生成した前記誤り検出符号を前記第一の装置に送信する誤り検出符号送信手段と、が設けられ、
前記誤り有無判別手段は、前記第二の装置が受信した前記データに誤りが発生しているか否かを、当該第二の装置から送信されてきた前記誤り検出符号に基づいて判別し、
前記データ送信手段は、前記第二の装置が受信した前記データに誤りが発生していると判別された場合に、当該データを当該第二の装置に送信し直す、
ことを特徴とするデータ送受信システム。
（付記２）前記第一の装置には、前記第二の装置に送信した前記データの所定のビット長のパリティ符号を、第二の誤り検出符号として生成する、第二の誤り検出符号生成手段、が設けられ、
前記誤り検出符号生成手段は、前記第一の装置から受信した前記データの前記所定のビット長のパリティ符号を、前記誤り検出符号として生成し、
前記誤り有無判別手段は、前記誤り検出符号および前記第二の誤り検出符号の互いに対応するビット同士の値を比較することによって、前記第二の装置が受信した前記データに誤りが発生しているか否かを判別するとともに、当該データのうち誤りを含む部分を判別し、
前記データ送信手段は、前記第二の装置が受信した前記データのうち誤りを含むと判別された部分のみを送信し直す、
付記１記載のデータ送受信システム。
（付記３）第一の装置と第二の装置とを有し、
前記第一の装置には、
前記第二の装置に送信する目的のデータである目的データの誤り検出符号を生成する誤り検出符号生成手段と、
前記目的データを前記誤り検出符号とともに前記第二の装置に送信する目的データ送信手段と、
前記第二の装置が受信した前記目的データの中から誤りが発生している部分である誤り部分を判別する誤り部分判別手段と、
前記誤り判別手段によって判別された前記誤り部分を訂正するための訂正用データを前記第二の装置に送信する訂正用データ送信手段と、が設けられ、
前記第二の装置には、
前記第一の装置から前記目的データを前記誤り検出符号とともに受信する目的データ受信手段と、
受信した前記目的データに誤りが発生しているか否かを、当該目的データとともに受信した前記誤り検出符号に基づいて判別する、誤り有無判別手段と、
受信した前記目的データに誤りが発生していると判別された場合に、当該目的データをチェック用データとして前記第一の装置に送信する、チェック用データ送信手段と、が設けられ、
前記誤り部分判別手段は、前記第二の装置が受信した前記目的データの前記誤り部分を、前記目的データ送信手段によって当該第二の装置に送信した当該目的データと当該第二の装置から送信されてきた前記チェック用データとを比較することによって判別する、
ことを特徴とするデータ送受信システム。
（付記４）前記第二の装置には、受信した前記目的データの前記誤り部分を、前記第一の装置から送信されてきた前記訂正用データに基づいて訂正する、データ訂正手段、が設けられている、
付記３記載のデータ送受信システム。
（付記５）前記第一の装置と前記第二の装置とを接続する通信回線は、全二重の通信回線である、
付記１ないし付記４のいずれかに記載のデータ送受信システム。
（付記６）マルチメディアデータを配信するマルチメディアデータ配信装置と、前記マルチメディアデータに基づいてマルチメディアコンテンツを再生する再生装置と、を有し、
前記マルチメディアデータ配信装置には、
前記再生装置に前記マルチメディアデータを送信するマルチメディアデータ送信手段と、
前記再生装置が受信した前記マルチメディアデータに誤りが発生しているか否かを判別する誤り有無判別手段と、が設けられ、
前記再生装置には、
前記マルチメディアデータ配信装置から前記マルチメディアデータを受信するマルチメディアデータ受信手段と、
前記マルチメディアデータ配信装置から受信した前記マルチメディアデータの誤り検出符号を生成する誤り検出符号生成手段と、
生成した前記誤り検出符号を前記マルチメディアデータ配信装置に送信する誤り検出符号送信手段と、が設けられ、
前記誤り有無判別手段は、前記再生装置が受信した前記マルチメディアデータに誤りが発生しているか否かを、当該再生装置から送信されてきた前記誤り検出符号に基づいて判別し、
前記マルチメディアデータ送信手段は、前記再生装置が受信した前記マルチメディアデータに誤りが発生していると判別された場合に、当該マルチメディアデータを当該再生装置に送信し直す、
ことを特徴とするマルチメディアデータ送受信システム。
（付記７）マルチメディアデータを配信するマルチメディアデータ配信装置と、前記マルチメディアデータに基づいてマルチメディアコンテンツを再生する再生装置と、を有し、
前記マルチメディアデータ配信装置には、
配信対象のマルチメディアデータである配信対象データの誤り検出符号を生成する誤り検出符号生成手段と、
前記配信対象データを前記誤り検出符号とともに前記再生装置に送信する配信対象データ送信手段と、
前記再生装置が受信した前記配信対象データの中から誤りが発生しているである誤り部分を判別する誤り部分判別手段と、
前記誤り判別手段によって判別された前記誤り部分を訂正するための訂正用データを前記再生装置に送信する訂正用データ送信手段と、が設けられ、
前記再生装置には、
前記マルチメディアデータ配信装置から前記配信対象データを前記誤り検出符号とともに受信する配信対象データ受信手段と、
受信した前記配信対象データに誤りが発生しているか否かを、当該配信対象データとともに受信した前記誤り検出符号に基づいて判別する、誤り有無判別手段と、
受信した前記配信対象データに誤りが発生していると判別された場合に、当該配信対象データをチェック用データとして前記マルチメディアデータ配信装置に送信する、チェック用データ送信手段と、が設けられ、
前記誤り部分判別手段は、前記再生装置が受信した前記配信対象データの前記誤り部分を、前記配信対象データ送信手段によって当該再生装置に送信した当該配信対象データと当該再生装置から送信されてきた前記チェック用データとを比較することによって判別する、
ことを特徴とするマルチメディアデータ送受信システム。
（付記８）相手方の装置にデータを送信し、
前記相手方の装置が受信した前記データの誤り検出符号を当該相手方の装置から受信し、
受信した前記誤り検出符号に基づいて、前記相手方の装置が受信した前記データに誤りが発生しているか否かを判別し、
前記データに誤りが発生していると判別した場合は、当該データを前記相手方の装置に送信し直す、
ことを特徴とするデータ送信方法。
（付記９）第一の装置から第二の装置にデータを送信するデータ送信方法であって、
前記第一の装置が、前記データを前記第二の装置に送信し、
前記第二の装置が、前記第一の装置から受信した前記データの誤り検出符号を生成し、
前記第二の装置が、生成した前記誤り検出符号を前記第一の装置に送信し、
前記第一の装置が、前記第二の装置が受信した前記データに誤りが発生しているか否かを、当該第二の装置から送信されてきた前記誤り検出符号に基づいて判別し、
前記第二の装置が受信した前記データに誤りが発生していると判別された場合に、前記第一の装置が、当該データを当該第二の装置に送信し直す、
ことを特徴とするデータ送信方法。
（付記１０）第一の装置から第二の装置にデータを送信するデータ送信方法であって、
前記第一の装置が、送信する目的のデータである目的データの誤り検出符号を生成し、
前記第一の装置が、前記目的データを前記誤り検出符号とともに前記第二の装置に送信し、
前記第二の装置が、前記第一の装置から受信した前記目的データに誤りが発生しているか否かを、当該目的データとともに受信した前記誤り検出符号に基づいて判別し、
受信した前記目的データに誤りが発生していると判別された場合に、前記第二の装置が、当該目的データをチェック用データとして前記第一の装置に送信し、
前記第一の装置が、前記第二の装置が受信した前記目的データの中の誤りが発生している部分である誤り部分を、当該第二の装置に送信した当該目的データと当該第二の装置から送信されてきた前記チェック用データとを比較することによって判別し、
前記第一の装置が、前記誤り部分を訂正するための訂正用データを前記第二の装置に送信する、
ことを特徴とするデータ送信方法。
【産業上の利用可能性】
【０１３３】
本発明は、マルチメディアコンテンツのデータを配信する場合のように、データの提供者側の装置から被提供者側の装置へのチャネル（下りチャネル）が上りチャネルよりもよく用いられる場合において、下りチャネルのトラフィックを軽減し、データ送信の遅延などを防止するために好適に用いられる。
【図面の簡単な説明】
【０１３４】
【図１】本発明に係るネットワークシステムの全体的な構成の例を示す図である。
【図２】マルチメディアデータ配信装置のハードウェア構成の例を示す図である。
【図３】端末装置のハードウェア構成の例を示す図である。
【図４】ブロックの構成および生成方法の例を説明する図である。
【図５】再送信制御データの構成および生成方法の例を説明する図である。
【図６】分割データの誤りの検出の方法の例を説明する図である。
【図７】マルチメディアデータ配信装置および端末装置の全体的な処理の流れの例を説明するフローチャートである。
【図８】パリティ方式による分割データの誤り検出方法の例を説明する図である。
【図９】マルチメディアデータ配信装置のハードウェア構成の例を示す図である。
【図１０】端末装置のハードウェア構成の例を示す図である。
【図１１】ブロックの構成および生成方法の例を説明する図である。
【図１２】訂正要求データの構成の例を示す図である。
【図１３】誤有分割データから誤りを検出する方法の例を説明する図である。
【図１４】マルチメディアデータ配信装置および端末装置の全体的な処理の流れの例を説明するフローチャートである。
【図１５】訂正要求データの構成および生成方法の変形例を説明する図である。
【符号の説明】
【０１３５】
ＮＷＳ、ＮＷＳβ  ネットワークシステム（データ送受信システム）
１、１β  マルチメディアデータ配信装置（第一の装置）
１０２  送信回路（データ送信手段）
１２３  チェック用データ生成回路（第二の誤り検出符号生成手段）
１２４  チェック用データ比較回路（誤り有無判別手段）
１７２  チェック用データ生成回路（誤り検出符号生成手段）
１７４  送信回路（目的データ送信手段、訂正用データ送信手段）
１７６  リトライ送信制御回路（訂正用データ送信手段）
１８３  データ比較回路（誤り部分判別手段）
２、２β  端末装置（第二の装置）
２０２  送信回路（誤り検出符号送信手段）
２２１  受信回路（データ受信手段）
２２３  チェック用データ生成回路（誤り検出符号生成手段）
２７２  送信回路（チェック用データ送信手段）
２８１  受信回路（目的データ受信手段）
２８３  誤り検出回路（誤り有無判別手段）
ＡＴＤ  誤り訂正データ（訂正用データ）
ＢＤＴ  分割データ（データ、目的データ）
ＣＫＤ  チェック用データ（誤り検出符号）
ＣＫＤ’  チェック用データ（第二の誤り検出符号）
ＣＫＥ  チェック用データ（誤り検出符号）
ＧＤＴ  マルチメディアデータ（データ、目的データ）
【図１】
2006245781.tif 000003
【図２】
2006245781.tif 000004
【図３】
2006245781.tif 000005
【図４】
2006245781.tif 000006
【図５】
2006245781.tif 000007
【図６】
2006245781.tif 000008
【図７】
2006245781.tif 000009
【図８】
2006245781.tif 000010
【図９】
2006245781.tif 000011
【図１０】
2006245781.tif 000012
【図１１】
2006245781.tif 000013
【図１２】
2006245781.tif 000014
【図１３】
2006245781.tif 000015
【図１４】
2006245781.tif 000016
【図１５】
2006245781.tif 000017