(57)【特許請求の範囲】
【請求項１】
コンテンツデータをマルチキャスト配信する配信装置であって、
前記マルチキャスト配信を受ける第１の受信装置における前記コンテンツデータの受信状況に関する第１の受信状況情報と前記マルチキャスト配信を受ける第２の受信装置における前記コンテンツデータの受信状況に関する第２の受信状況情報を受信する受信手段と、
前記マルチキャスト配信されたコンテンツデータのうち前記第１の受信装置が正常に受信しなかったコンテンツデータを前記第１の受信装置が復元するために用いる第１の復元用データを、前記コンテンツデータに対する前記第１の受信状況情報に基づく演算によって生成し、前記マルチキャスト配信されたコンテンツデータのうち前記第２の受信装置が正常に受信しなかったコンテンツデータを前記第２の受信装置が復元するために用いる第２の復元用データを、前記コンテンツデータに対する前記第２の受信状況情報に基づく演算によって生成する生成手段と、
前記生成された前記第１及び第２の復元用データを前記コンテンツデータと共にマルチキャスト配信する配信手段とを有することを特徴とする配信装置。
【請求項２】
前記マルチキャスト配信を受ける前記第１の受信装置から前記第１の受信状況情報を受信すると共に、前記マルチキャスト配信を受ける前記第２の受信装置から前記第１の受信状況情報よりも正常に受信しなかったデータ量が多い前記第２の受信状況情報を受信した場合、
前記生成手段は、前記第１の受信状況情報に応じた前記第１の復元用データを生成すると共に、前記第１の復元用データよりも復元可能なデータ量が多い前記第２の復元用データを生成することを特徴とする請求項１に記載の配信装置。
【請求項３】
前記配信手段がマルチキャスト配信する復元用データを受信装置が受信できるように、受信装置に対して復元用データの特定情報を通知する通知手段を有することを特徴とする請求項１又は２に記載の配信装置。
【請求項４】
前記受信手段は、前記コンテンツデータのマルチキャスト配信を受ける前記第１及び第２の受信装置、及び第３の受信装置のそれぞれから受信状況情報を受信し、
前記第１の受信装置からの前記第１の受信状況情報が示す第１のエラー量が所定の閾値よりも低く、前記第２の受信装置からの前記第２の受信状況情報が示す第２のエラー量、及び前記第３の受信装置からの第３の受信状況情報が示す第３のエラー量が前記所定の閾値よりも高い場合、前記生成手段は、前記第１の受信装置用の前記第１の復元用データを生成すると共に、前記第２及び第３の受信装置用の前記第２の復元用データを生成することを特徴とする請求項１又は２に記載の配信装置。
【請求項５】
前記生成手段が前記第１の受信装置用の前記第１の復元用データと、前記第２及び第３の受信装置用の前記第２の復元用データとを生成しているときに前記第１の受信装置がマルチキャスト配信の受信を終了した場合、前記生成手段は、前記第１の復元用データの生成を終了することを特徴とする請求項４に記載の配信装置。
【請求項６】
前記生成手段は、第１の生成方式による復元用データの生成と、前記第１の生成方式よりも前記受信装置における復元にかかる計算量が多く前記第１の生成方式よりも復元用データのデータ量に対する復元可能データのデータ量が多い第２の生成方式による復元用データの生成とが可能であり、
前記コンテンツデータのマルチキャスト配信を受ける受信装置が、前記第１の生成方式による復元用データと前記第２の生成方式による復元用データとから、受信する復元用データを指定できるように、前記第１の生成方式による復元用データの特定情報と前記第２の生成方式による復元用データの特定情報とを通知する通知手段を有することを特徴とする請求項１に記載の配信装置。
【請求項７】
前記受信手段が受信した受信状況情報のパケットの拡張領域から前記受信装置が指定した復元用データの生成方式の特定情報を取得する取得手段を有し、
前記生成手段は、前記コンテンツデータのマルチキャスト配信を受けている受信装置からの受信状況情報から前記取得手段が取得した生成方式の特定情報に前記第２の生成方式に対応する特定情報がない場合、前記第２の生成方式による復元用データを生成しないことを特徴とする請求項６に記載の配信装置。
【請求項８】
コンテンツデータをマルチキャスト配信する配信装置が行う配信方法であって、
前記マルチキャスト配信を受ける第１の受信装置における前記コンテンツデータの受信状況に関する第１の受信状況情報と前記マルチキャスト配信を受ける第２の受信装置における前記コンテンツデータの受信状況に関する第２の受信状況情報を受信する受信工程と、
前記マルチキャスト配信されたコンテンツデータのうち前記第１の受信装置が正常に受信しなかったコンテンツデータを前記第１の受信装置が復元するために用いる第１の復元用データを、前記コンテンツデータに対する前記第１の受信状況情報に基づく演算によって生成し、前記マルチキャスト配信されたコンテンツデータのうち前記第２の受信装置が正常に受信しなかったコンテンツデータを前記第２の受信装置が復元するために用いる第２の復元用データを、前記コンテンツデータに対する前記第２の受信状況情報に基づく演算によって生成する生成工程と、
前記生成された前記第１及び第２の復元用データを前記コンテンツデータと共にマルチキャスト配信する配信工程とを有することを特徴とする配信方法。
【請求項９】
前記マルチキャスト配信を受ける前記第１の受信装置から前記第１の受信状況情報を受信すると共に、前記マルチキャスト配信を受ける前記第２の受信装置から前記第１の受信状況情報よりも正常に受信しなかったデータ量が多い前記第２の受信状況情報を受信した場合、
前記生成工程は、前記第１の受信状況情報に応じた前記第１の復元用データを生成すると共に、前記第１の復元用データよりも復元可能なデータ量が多い前記第２の復元用データを生成することを特徴とする請求項８に記載の配信方法。
【請求項１０】
前記配信工程がマルチキャスト配信する復元用データを受信装置が受信できるように、受信装置に対して復元用データの特定情報を通知する通知工程を有することを特徴とする請求項８又は９に記載の配信方法。
【請求項１１】
コンピュータに請求項１乃至７のうち、何れか１項に記載の配信装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、有線あるいは無線のネットワークにおけるデータの配信方法に関する。
【背景技術】
【０００２】
近年、動画像や音声などのマルチメディアデータをＩＰネットワークを利用してストリーミング配信し、視聴する技術が実用化されている。
【０００３】
特に、ライブ映像などのリアルタイム性を必要とするマルチメディアデータを配信するためには、ＲＴＰ（Ａ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ａｐｐｌｉｃａｔｉｏｎｓ）と呼ばれる通信プロトコルが一般に使用されている。
【０００４】
ＲＴＰは、主に音声や動画像などをリアルタイムでデータ転送するためのプロトコルであり、ＩＥＴＦによりＲＦＣ３５５０として定義されている。
【０００５】
ＲＴＰは、非コネクション型のプロトコルであるＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）の上位プロトコルである。ＲＴＰは、通信処理が比較的単純なことから通信速度が期待できるが、通信エラーの補償は行われない。このため、通信経路途中でパケットの損失が発生すると、受信装置でのデータ再生に乱れが生じることがある。
【０００６】
そこで、ＲＴＰを用いてデータを送信する際に通信エラーを回避するための方法として、例えば、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ：前方誤り訂正）という方法が知られている。ＦＥＣは、誤り訂正符号化技術を用いて生成された復元用データ（ＦＥＣデータ）を用いて通信データの誤りを受信装置側で復元する方法である。
【０００７】
特許文献１には、データ送信装置が、メディアストリームと共に冗長度が異なる複数のＦＥＣストリームを送信し、データ受信装置は、複数のＦＥＣストリームのうちの１つ又は複数を用いてロスしたメディアデータを復元することが記載されている。具体的には、データ受信装置は、各ＦＥＣパケットのヘッダに含まれるメディアパケットのシーケンスナンバーに基づいて選択したＦＥＣパケットを用いてロスしたメディアパケットを復元することが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第４５３２５０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、マルチキャスト配信する場合、配信先に適した冗長データが配信先で利用されない恐れがあった。
【００１０】
例えば、冗長度が異なる複数の冗長データをマルチキャスト配信する場合、配信先がどの冗長データを受信すべきかを、例えば、エラー率などにより判断できないと、配信先に適した冗長データが配信先で利用されない恐れがあった。
【００１１】
また、例えば、受信装置によって利用可能なＦＥＣデータの生成方式が異なる場合、マルチキャストの配信先に適した生成方式の冗長データが配信先で利用されない恐れがあった。
【００１２】
本発明は、上述した問題を解決するためになされたものであり、その目的は、マルチキャストの配信先により適した復元用データが利用されるようにすることである。
【課題を解決するための手段】
【００１３】
上記の問題点を解決するために、本発明の配信装置は、例えば以下の構成を有する。すなわち、コンテンツデータをマルチキャスト配信する配信装置であって、前記マルチキャスト配信を受ける第１の受信装置における前記コンテンツデータの受信状況に関する第１の受信状況情報と前記マルチキャスト配信を受ける第２の受信装置における前記コンテンツデータの受信状況に関する第２の受信状況情報を受信する受信手段と、前記マルチキャスト配信されたコンテンツデータのうち前記第１の受信装置が正常に受信しなかったコンテンツデータを前記第１の受信装置が復元するために用いる第１の復元用データを、前記コンテンツデータに対する前記第１の受信状況情報に基づく演算によって生成し、前記マルチキャスト配信されたコンテンツデータのうち前記第２の受信装置が正常に受信しなかったコンテンツデータを前記第２の受信装置が復元するために用いる第２の復元用データを、前記コンテンツデータに対する前記第２の受信状況情報に基づく演算によって生成する生成手段と、前記生成された前記第１及び第２の復元用データを前記コンテンツデータと共にマルチキャスト配信する配信手段とを有する。
【００１４】
また、本発明の配信方法は、例えば、以下の構成を有する。すなわち、コンテンツデータをマルチキャスト配信する配信装置が行う配信方法であって、前記マルチキャスト配信を受ける第１の受信装置における前記コンテンツデータの受信状況に関する第１の受信状況情報と前記マルチキャスト配信を受ける第２の受信装置における前記コンテンツデータの受信状況に関する第２の受信状況情報を受信する受信工程と、前記マルチキャスト配信されたコンテンツデータのうち前記第１の受信装置が正常に受信しなかったコンテンツデータを前記第１の受信装置が復元するために用いる第１の復元用データを、前記コンテンツデータに対する前記第１の受信状況情報に基づく演算によって生成し、前記マルチキャスト配信されたコンテンツデータのうち前記第２の受信装置が正常に受信しなかったコンテンツデータを前記第２の受信装置が復元するために用いる第２の復元用データを、前記コンテンツデータに対する前記第２の受信状況情報に基づく演算によって生成する生成工程と、前記生成された前記第１及び第２の復元用データを前記コンテンツデータと共にマルチキャスト配信する配信工程とを有する。
【発明の効果】
【００１５】
本発明によれば、マルチキャストの配信先により適した復元用データが利用されるようにすることができる。
【図面の簡単な説明】
【００１６】
【図１】配信装置１０１及び受信装置１０２の基本構成を示すブロック図。
【図２】パケットロス率をもとにＦＥＣ冗長度レベルを設定する例を示す図。
【図３】ＲＴＳＰのＳＥＴ＿ＰＡＲＡＭＥＴＥＲメソッドを用いてＳＤＰ情報を通知するときのメッセージの例を示す図。
【図４】配信装置１０１の処理を説明するためのフローチャート。
【図５】受信装置１０２の処理を説明するためのフローチャート。
【図６】セッション情報の通知にＳＤＰを使用する場合の記述例を示す図。
【図７】受信レポートの構成図。
【発明を実施するための形態】
【００１７】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１８】
＜実施形態１＞
本実施形態の配信装置や受信装置を構成するコンピュータ装置の構成について、図１のブロック図を参照して説明する。
【００１９】
図１に示すように、配信装置１０１と受信装置１０２が伝送路１０８を介して接続されている。なお、配信装置１０１と受信装置１０２は複数接続することが可能である。
【００２０】
配信装置１０１や受信装置１０２はそれぞれ単一のコンピュータ装置で実現してもよいし、必要に応じた複数のコンピュータ装置に各機能を分散して実現するようにしてもよい。複数のコンピュータ装置で構成される場合は、互いに通信可能なようにＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）などで接続される。
【００２１】
図１において、配信装置１０１は、パケット生成部１０３、誤り訂正符号化部１０４、冗長度制御部１０５、送信バッファ１０６、送受信部１０７を含んで構成される。
【００２２】
パケット生成部１０３は、外部からの符号化済みのコンテンツデータを通信に適したサイズに分割し、さらに通信するために必要なヘッダを付加してＲＴＰのデータパケットを生成する。
【００２３】
なお、本形態ではコンテンツデータが動画データや音声データである場合を中心に説明するが、それ以外のデータであっても本発明は適用可能である。また、本形態では、データをＲＴＰプロトコルで送信する例を中心に説明するが、そのほかのプロトコルで送信するようにしてもよい。また、配信装置１０１が、撮像部やマイク、及び、動画データや音声データを符号化する符号化部を備えるようにしてもよい。
【００２４】
誤り訂正符号化部１０４は、冗長度制御部１０５から通知された冗長度と、パケット生成部１０３により生成されたパケットのデータに従って復元用パケット（ＦＥＣパケット）を生成する。ＦＥＣパケットは、受信装置１０２が正常に受信しなかったコンテンツデータを受信装置１０２が復元するために用いる復元用データである。誤り訂正符号化部１０４は、例えば、コンテンツデータに対する排他的論理輪の演算により、ＦＥＣパケットを生成する。
【００２５】
送信バッファ１０６は、パケット生成部１０３により生成されたパケットと、誤り訂正符号化部１０４により生成されたＦＥＣパケットを一時的に保存する。
【００２６】
送受信部１０７は、送信バッファ１０６に保存されたデータパケットとＦＥＣパケットを伝送路１０８を介してマルチキャスト配信する。また、送受信部１０７は伝送路１０８を介して受信装置１０２からのパケットを受信する。送受信部１０７が受信するパケットには、例えば、受信装置１０２によるデータパケット（コンテンツデータ）の受信状況を示す受信レポート（受信状況情報）が含まれる。本形態の受信装置１０２は、受信レポートの通信プロトコルにＲＴＣＰ（ＲＴＰ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いる。ＲＴＣＰは、ＲＦＣ３５５０で定義され、主にＲＴＰでのデータ送受信の状況を送信側・受信側の双方で把握するために利用される。受信レポートの詳細については後述する。
【００２７】
伝送路１０８は、各種ネットワークに代表される伝送路であり、本実施形態においては、パケット化された動画像および音声データを送信するためのネットワークである。
【００２８】
冗長度制御部１０５は、送受信部１０７が受信した受信レポートに基づいてＦＥＣデータの冗長度を決定し、決定された冗長度を誤り訂正符号化部１０４へ通知する。冗長度制御部１０５による冗長度の決定方法の詳細は後述する。
【００２９】
次に、受信装置１０２の構成について説明する。
受信装置１０２は、送受信部１０９、受信バッファ１１０、受信状況解析部１１１、パケット復元部１１２、再生処理部１１３、音声／映像表示部１１４を含んで構成される。
【００３０】
送受信部１０９は、配信装置１０１によりマルチキャスト配信されたデータパケット及びＦＥＣパケットを受信する。送受信部１０９は、配信装置１０１からのデータパケット及びＦＥＣパケットを受信バッファ１１０に一時的に保存する。
【００３１】
また、送受信部１０９は、配信装置１０１宛のパケットを送信する。配信装置１０１宛のパケットには、例えば、受信装置１０２によるデータパケットの受信状況を示す受信レポートが含まれる。
【００３２】
受信状況解析部１１１は、受信バッファ１１０に保存されたパケットに基づいて、受信状況を判定する。本形態の受信状況解析部１１１は、データパケットやＦＥＣパケットのシーケンスナンバーを監視することで、伝送路１０８で棄却されるなどしたロスパケットを識別してパケットロス率を判定する。シーケンスナンバーは各パケットのヘッダに連番で付加される番号情報である。なお、本形態では、受信状況を示す情報としてパケットロス率を判定することを中心に説明するが、コンテンツデータのエラー量として考えても良い。受信状況解析部１１１は、判定されたパケットロス率に基づいて受信レポートを生成すると共に、ロスパケットの情報をパケット復元部１１２へ通知する。受信レポートは送受信部１０９により配信装置１０１へ送信される。
【００３３】
受信状況解析部１１１による受信状況の判定、及び、受信レポートの生成は、定期的に行われる。そして、配信装置１０１の冗長度制御部１０５は、定期的に生成された受信レポートに基づいて、ＦＥＣデータの冗長度を制御する。ただし、受信レポートの生成は定期的に行わなくても良い。
【００３４】
パケット復元部１１２は、受信状況解析部１１１からロスパケットの通知を受けると、ＦＥＣパケットと、正常に受信されたほかのデータパケットを用いて、ロスパケットを生成する。すなわち、パケット復元部１１２は、マルチキャスト配信されたデータパケット（コンテンツデータ）のうち受信装置１０２が正常に受信しなかったコンテンツデータをＦＥＣパケット（復元用データ）を用いて復元する。生成された復元パケットは受信バッファ１１０に保存される。
【００３５】
再生処理部１１３は、受信バッファ１１０に保存されているデータパケット内の符号化データを復号する。復号された符号化データは音声／映像表示部１１４へ渡される。
【００３６】
音声／映像表示部１１４は、復号されたデータを再生する。例えば、音声／映像表示部１１４は、復号された音声データをスピーカーへ出力し、復号映像データをディスプレイへ出力する。
【００３７】
次に、受信レポートの詳細について、図７を用いて説明する。
本形態の受信状況解析部１１１は、受信レポートの通信プロトコルにＲＴＣＰを用いる。ＲＴＣＰのパケットは、受信レポート（ＲＲ）、送信レポート（ＳＲ）、ソース記述（ＳＤＥＳ）、メンバシップ管理（ＢＹＥ）、及びアプリケーション定義（ＡＰＰ）が定義されている。本実施形態では、受信状況を把握するためにＲＴＣＰの受信レポートが用いられる。
【００３８】
図７に示すように、受信レポート（受信状況情報）には、ＲＴＣＰヘッダ７０１と、受信レポートブロック７０２と、プロファイル依存拡張７０３が含まれる。受信レポートブロック７０２はＲＣ（ｒｅｃｅｐｔｉｏｎ  ｒｅｐｏｒｔ  ｃｏｕｎｔ）７０４に示される数だけ存在する。
【００３９】
次に受信レポートブロック７０２の構成について説明する。
瞬時廃棄率（Ｆｒａｃｔｉｏｎ  Ｌｏｓｔ）７０５には、前回の受信レポートの生成タイミングから今回の受信レポートの生成タイミングまでにロスしたＲＴＰパケットの割合を示す値が含まれる。
【００４０】
累積パケット廃棄率（ｃｕｍｕｌａｔｉｖｅ  ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔｓ  ｌｏｓｔ）７０６には、通信を開始してから受信レポート生成までにロスしたＲＴＰパケットの総数を示す値が含まれる。
【００４１】
受信状況解析部１１１は、瞬時廃棄率７０５と、累積パケット廃棄率７０６とを含む受信レポートを生成する。
【００４２】
受信状況解析部１１１が生成した受信レポートは、送受信部１０９により配信装置１０１へ送信される。そして、配信装置１０１の冗長度制御部１０５は、複数の受信装置１０２から受信した受信レポートに基づいて、生成するＦＥＣデータの冗長度を決定する。
【００４３】
次に、冗長度制御部１０５による冗長度の決定方法の詳細について説明する。冗長度制御部１０５は、複数の受信装置１０２から受信レポートを受信すると、その内容に応じて複数の冗長度を決定して誤り訂正符号化部１０４へ通知する。
【００４４】
図２は、マルチキャスト配信を受けている複数の受信装置１０２のパケットロス率と、当該パケットロス率に対応する冗長度レベルを示す図である。図２におけるパケットロス率は、受信レポートの瞬時廃棄率７０５に基づいて決定される。
【００４５】
図２は、配信装置１０１が複数の受信装置１０２（Ｐ１〜Ｐ５）に対してコンテンツデータをマルチキャスト配信しているときのある期間における各受信装置１０２のパケットロス率を示している。また、図２では、冗長度レベルは、ＡからＥの５段階に設定されている。ここで、受信装置Ｐ２のパケットロス率が最も高く、受信装置Ｐ３のパケットロス率が最も低いことが示されている。冗長度制御部１０５は、受信装置Ｐ１のためのＦＥＣデータの冗長度（レベルＢ）が、受信装置Ｐ３のためのＦＥＣデータの冗長度（レベルＡ）よりも高くなるように、複数の冗長度を決定する。すなわち、誤り訂正符号化部１０４は、第１の受信装置から第１の受信レポートを受信し、第２の受信装置から第１の受信レポートよりもロス率が高い第２の受信レポートを受信した場合、以下のような異なる冗長度のＦＥＣデータを生成する。すなわち、誤り訂正符号化部１０４は、第１の受信装置のための第１のＦＥＣデータと、第１のＦＥＣデータよりも復元可能データのデータ量が多い第２のＦＥＣデータを生成する。
【００４６】
また、図２において、受信装置Ｐ２のパケットロス率と受信装置Ｐ５のパケットロス率には大きな差がないため、受信装置Ｐ２とＰ５のためのＦＥＣデータは同じＦＥＣデータとして決定される。すなわち、図２は、３つの異なる冗長度（冗長度レベルＡ、Ｂ、Ｄ）が冗長度制御部１０５により決定されることを示している。言い換えると、冗長度制御部１０５は、決定可能な複数の冗長度（冗長度レベルＡ、Ｂ、Ｃ、Ｄ、Ｅ）のうち、冗長度レベルＣ、Ｅに対応する冗長度のＦＥＣデータを生成しないことを決定する。また、図２の例において、受信装置Ｐ３がコンテンツデータの受信を終了した場合や、受信装置Ｐ３のパケットロス率が所定の閾値Ｔｈ１よりも高くなった場合、誤り訂正符号化部１０４は、冗長度レベルＡのＦＥＣデータの生成を終了する。このようにすることで、マルチキャスト配信を受ける受信装置において利用されないＦＥＣデータを生成するための負荷を低減できる。
【００４７】
なお、図２では、冗長度レベルを５段階に分類している例を示しているが、この分類数に限らない。また、本形態では、パケットロス率を用いて冗長度レベルを決定する例を中心に説明しているが、例えば、一定期間において受信装置１０２が正常に受信しなかったデータ量（エラー量）に基づいて冗長度レベルを決定するようにしても良い。冗長度決定部１０５は、エラー量を受信レポートの瞬時廃棄率７０５に基づいて取得可能である。
【００４８】
例えば、３台の受信装置１０２にコンテンツデータをマルチキャスト配信しており、ある期間における第１の受信装置のエラー量が所定の閾値よりも低く、第２及び第３の受信装置のエラー量が所定の閾値よりも高い場合、以下のようにＦＥＣデータを生成する。すなわち、誤り訂正符号化部１０４はエラー量が所定の閾値よりも低い第１の受信装置用のＦＥＣデータを生成するとともに、エラー量が所定の閾値よりも高い第２及び第３の受信装置用のＦＥＣデータを生成する。
【００４９】
また、第１の受信装置がコンテンツデータの受信を終了した場合、誤り訂正符号化部１０４は、第１の受信装置用のＦＥＣデータの生成を終了する。
【００５０】
また、配信装置１０１の誤り訂正符号化部１０４は、ＦＥＣデータのほかに、各受信装置１０２が受信すべきＦＥＣデータを特定するための特定情報を含むセッション情報を生成する。なお、本形態の誤り訂正符号化部１０４は、ＲＴＳＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌ）で定義されているＳＥＴ＿ＰＡＲＡＭＥＴＥＲのメソッドに従ってセッション情報を生成するが、この例に限らない。なお、ＲＴＳＰは、ＲＴＰを用いてデータ通信を行う際などに、セッションの制御を行うためのプロトコルであり、ＩＥＴＦによりＲＦＣ２３２６で定義されている。また、ＳＥＴ＿ＰＡＲＡＭＥＴＥＲは送信側と受信側で何らかのパラメータの設定を相互に依頼するためのメソッドである。
【００５１】
図３は、ＳＥＴ＿ＰＡＲＡＭＥＴＥＲのメソッドに従うセッション情報の記述の例を示している。セッション情報は、ＳＤＰ（Ｓｅｓｓｉｏｎ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）と呼ばれるプロトコルを用いて記述される。ＳＤＰは、ＲＴＳＰなどのプロトコルを用いてデータ通信のためのセッションを構築する際に、セッションの内容について記述するためのプロトコルであり、ＩＥＴＦによりＲＦＣ４５６６で定義されている。
【００５２】
図３の３００がＳＤＰで記述されるセッション情報である。セッション情報３００は、コンテンツ情報３０１、ＦＥＣ情報３０２、記述部分３０３を含んで構成される。ＦＥＣ情報３０２は、マルチキャスト配信されるＦＥＣデータを受信装置１０２が受信できるようにするための特定情報である。セッション情報３００は、コンテンツ情報３０１に対応するコンテンツデータが、ＦＥＣ情報３０２に対応するＦＥＣデータにより復元可能であることを示している。なお、このＦＥＣ情報３０２の記述方法については、ＳＤＰを拡張する形で、ＩＥＴＦによりＲＦＣ４７５６で定義されている。
【００５３】
図３のコンテンツ情報３０１は、Ｈ．２６４によるマルチキャスト・ストリームの情報を示しており、ＦＥＣ情報３０２はコンテンツ情報３０１のストリームを保護するためのＦＥＣデータの情報を示している。本形態の配信装置１０１は、ＦＥＣデータをマルチキャスト配信する。
【００５４】
つまり、セッション情報３００は、コンテンツ情報３０１で示すコンテンツデータのパケットがロスした場合、ＦＥＣ情報３０２で示すＦＥＣデータを用いてロスパケットを復元できることが示されている。
【００５５】
本実施形態の誤り訂正符号化部１０４は、複数の受信装置１０２のそれぞれの受信状況に応じて異なるＦＥＣ情報を記述したセッション情報を生成する。そして、送受信部１０７は、誤り訂正符号化部１０４により生成されたセッション情報を各受信装置１０２へ送信する。
【００５６】
送受信部１０７は、例えば、ＦＥＣ情報３０２が冗長度レベルＡのＦＥＣデータに対応するセッション情報を受信装置Ｐ３へ送信する。また、送受信部１０７は、ＦＥＣ情報３０２が冗長度レベルＢのＦＥＣデータに対応するセッション情報を受信装置Ｐ１とＰ４へ送信する。このようにすることで、各受信装置１０２は、自身の受信状況により合致したＦＥＣデータを特定できる。
【００５７】
尚、図３のセッション情報３００は、コンテンツ情報３０１とＦＥＣ情報３０２が含まれているが、さらに、音声やその他のコンテンツ情報がさらに含まれていても良い。また、本実施形態では、ＲＴＳＰのＳＥＴ＿ＰＡＲＡＭＥＴＥＲメソッドを使用する方法について説明したが、この例に限らない。
【００５８】
次に、配信装置１０１、受信装置１０２の処理の流れについて図４及び図５のフローチャートを用いて説明する。
図４は、配信装置１０１の処理の流れを説明するためのフローチャートである。本形態の配信装置１０１は、コンテンツデータをマルチキャスト配信する配信装置である。図４の処理は、配信装置１０１のＣＰＵが図４に係る処理を行うためのプログラムをＲＯＭからＲＡＭへ読み出して実行することにより実現される。ただし、図４に示す各処理の少なくとも一部を専用のハードウェアにより行わせるようにすることも可能である。図４の処理は、配信装置１０１によるマルチキャスト配信の開始と共に開始される。マルチキャスト配信は、受信装置１０２からの要求に応じて開始される。ただし、受信装置１０２からの要求がない場合において、例えば配信装置１０１の操作に応じた受信装置１０２へ配信を開始するようにしても良い。
【００５９】
配信装置１０１の冗長度制御部１０５は、ＦＥＣ冗長度を初期値に決定する（Ｓ４０１）。ＦＥＣ冗長度の初期値は、例えば一定値であっても、前回のマルチキャスト配信の終了時に決定されていたＦＥＣ冗長度であっても良い。また、配信装置１０１の送受信部１０７は、Ｓ４０１において、受信装置１０２からの要求に応じてセッション情報を送信する。セッション情報は、マルチキャスト配信されたコンテンツデータとＦＥＣデータを受信装置１０２が受信できるようにするための情報である。送受信部１０７が受信装置１０２からの要求に応じてセッション情報を送信すると、Ｓ４０２へ進む。なお、送受信部１０７は、Ｓ４０２以降においてセッション情報の要求を受信すると、当該要求した受信装置１０２に対してセッション情報を送信する。
【００６０】
送受信部１０７は、コンテンツデータのデータパケットとＦＥＣデータのＦＥＣパケットのマルチキャスト配信を開始する（Ｓ４０２）。
本形態の送受信部１０７は、コンテンツデータとＦＥＣデータのマルチキャスト配信をＳ４０２からＳ４１０の処理が終了するまでの間、実行する（配信手順）。
送受信部１０７は、マルチキャストグループに参加し、マルチキャストアドレス宛に送信されるデータを受信可能にする（Ｓ４０３）
送受信部１０７は、コンテンツデータのマルチキャスト配信を終了するか否かを判定する（Ｓ４０４）。マルチキャスト配信を終了すると判定された場合、マルチキャスト配信の終了処理を行って（Ｓ４１０）、処理を終了する。
【００６１】
一方、マルチキャスト配信を終了しないと判定された場合、送受信部１０７は、コンテンツデータのマルチキャスト配信を受信している受信装置１０２から受信レポートを受信する（Ｓ４０５）。すなわち、Ｓ４０５（受信手順）において、送受信部１０７は、コンテンツデータのマルチキャスト配信を受ける受信装置１０２におけるコンテンツデータの受信状況に関する受信状況情報（受信レポート）を受信する。また、Ｓ４０５において、冗長度制御部１０５は、受信レポートに基づいて各受信装置１０２のパケットロス率を取得する。
【００６２】
そして、冗長度制御部１０５は、取得されたパケットロス率に基づいて、受信レポートを送信した受信装置１０２に対するＦＥＣの冗長度レベルを決定する（Ｓ４０６）。例えば、取得されたパケットロス率が図２に示すＴｈ１よりも下の位置に対応する場合、冗長度制御部１０５は、ＦＥＣの冗長度レベルＡに決定する。誤り訂正符号化部１０４は、Ｓ４０６で決定された冗長度レベル（冗長度レベルＡ）のＦＥＣデータを、当該冗長度レベルに受信状況が対応する受信装置１０２がなくなるまで生成する（生成手順）。この受信装置１０２の受信状況が変わり、対応する冗長度レベルが変わった場合、他にこの冗長度レベルに対応する受信装置１０２が存在しなければ、この冗長度レベルのＦＥＣデータの生成を終了する。
【００６３】
冗長度制御部１０５は、決定した冗長度レベルと、受信装置１０２の組み合わせを保存する（Ｓ４０７）。
冗長度制御部１０５は、Ｓ４０６で決定された冗長度レベルがこれまでの冗長度レベルと異なるか否かを判定する（Ｓ４０８）。すなわち、冗長度制御部１０５は、Ｓ４０６で決定された冗長度レベルが、前回のＳ４０６で決定された冗長度レベルと異なるか否かを判定する。図４の処理を開始してから最初のＳ４０８では、冗長度制御部１０５は、Ｓ４０６で決定した冗長度レベルが、Ｓ４０１で初期設定された冗長度レベルと異なる場合、冗長度レベルが異なると判定する。冗長度レベルが異なると判定されるとＳ４０９へ進み、冗長度レベルが異ならないと判定されるとＳ４０４に戻る。
【００６４】
誤り訂正符号化部１０４は、Ｓ４０６で決定された新たな冗長度レベルのＦＥＣデータを示すＦＥＣ情報３０２を含むセッション情報を生成する（Ｓ４０９）。そして、Ｓ４０９において、送受信部１０７は、誤り訂正符号化部１０４により生成されたセッション情報を、受信レポートを送信した受信装置１０２へ送信する。セッション情報を受信した受信装置１０２は、受信するＦＥＣデータをセッション情報の記述に従って変更することで、受信装置１０２の受信状況により合致したＦＥＣデータを受信できるようになる。
【００６５】
なお、本実施形態では、セッション情報で新たな冗長度レベルのＦＥＣデータを通知する例について説明しているが、これに限らず、別の形式のメッセージで新たな冗長度レベルのＦＥＣデータを通知しても良い。
【００６６】
尚、ＦＥＣの冗長度レベルを決定するタイミングは、一定の間隔で行っても良いし、ネットワークの状況や受信レポートの受信状況に応じて行うようにしてもよい。
【００６７】
次に、受信装置１０２の処理の流れについて、図５のフローチャートを用いて説明する。
図５は、受信装置１０２の処理の流れを説明するためのフローチャートである。図５の処理は、受信装置１０２のＣＰＵが図５に係る処理を行うためのプログラムをＲＯＭからＲＡＭへ読み出して実行することにより実現される。ただし、図５に示す各処理の少なくとも一部を専用のハードウェアにより行わせるようにすることも可能である。受信装置１０２の送受信部１０９は、マルチキャスト配信されるデータを受信するためのセッション情報が記述されたＳＤＰ情報を配信装置１０１から取得する（Ｓ５０１）。配信装置１０１の送受信部１０７は、受信装置１０２からの要求に応じてセッション情報を送信する。
【００６８】
ＳＤＰ情報を取得する方法には、ＲＴＳＰを利用する方法や、ＦＴＰやＨＴＴＰなどを用いる方法などがある。
送受信部１０９は、取得したＳＤＰ情報に格納されたセッション情報から、受信するマルチキャストデータを決定し、そのマルチキャストグループに参加する（Ｓ５０２）。
【００６９】
再生処理部１１３は、マルチキャストグループへの参加に応じて配信装置１０１から送信されたマルチキャストパケットの再生処理を行う（Ｓ５０３）。
送受信部１０９は、マルチキャスト配信されたデータの受信を終了するか否かを判定する（Ｓ５０４）。データの受信を終了すると判定されるとデータの受信及び再生処理の終了処理を行って（Ｓ５０８）、図５の処理を終了する。
【００７０】
一方、データの受信を終了しないと判定された場合、受信状況解析部１１１は、ＲＴＣＰの受信レポートを生成し、マルチキャストアドレス宛に送信する（Ｓ５０５）。配信装置１０１は、マルチキャストアドレス宛に送信された受信レポートを受信できる。マルチキャストアドレスは、Ｓ５０１で取得されるＳＤＰ情報に含まれている。図３の例では、コンテンツ情報３０１に記述されており、アドレスは２２４．２．０．１、ＴＴＬは３２、ポートは５００１であることが示されている。なお、本形態の受信状況解析部１１１は、所定の間隔で受信レポートを生成する。配信装置１０１からＦＥＣデータを特定するためのセッション情報のパケットを受信した場合（Ｓ５０６）、受信装置１０２は、受信するＦＥＣデータをセッション情報で特定されるＦＥＣデータに変更する（Ｓ５０７）。
なお、Ｓ５０６の処理は、任意のタイミングで発生する処理であり、例えばＳ５０５と処理の順序を逆にすることもありうる。
【００７１】
以上説明したように、本実施形態の配信装置１０１は、マルチキャスト配信されるコンテンツデータを受信する受信装置１０２におけるデータの受信状況に応じた冗長度でＦＥＣデータを生成する。そして、生成されたＦＥＣデータを特定するためのセッション情報を受信装置１０２へ通知する。受信装置１０２は、マルチキャスト配信されたコンテンツデータを受信すると共に、データの受信状況を配信装置１０１へ通知する。さらに受信装置１０２は、配信装置１０１から通知されたセッション情報で特定されるＦＥＣデータを受信する。
【００７２】
このようにすることで、配信装置１０１はＦＥＣデータの生成負荷を低減できる。また、受信装置１０２は、マルチキャスト配信されるデータの受信状況に応じた冗長度のＦＥＣデータを受信できるようになる。
【００７３】
＜第２の実施形態＞
次に、実施形態２として、実施形態１との差異を中心に説明する。特に実施形態２では、ＦＥＣデータの生成に用いる誤り訂正符号化方式に複数の方式で行える場合の例を説明する。
ＦＥＣの生成に用いる誤り訂正符号化方式として、例えば排他的論理和（ＸＯＲ）やリード・ソロモン符号が知られている。
【００７４】
本実施形態では、配信装置１０１の誤り訂正符号化部１０４が、符号化方式１（排他的論理和）と、符号化方式２（リード・ソロモン符号化）の２つの符号化方式でＦＥＣデータを生成できる場合の例を説明する。なお、本形態の符号化方式２（第２の方式）は、符号化方式１（第１の方式）よりも受信装置１０２における復元にかかる計算量が多く、符号化方式１より復元用データのデータ量に対する復元可能なデータ量が多い方式である。ただし、ＦＥＣの生成に用いる誤り訂正符号化方法は上の２つの方式に限らない。
【００７５】
なお、本形態の受信装置１０２には、符号化方式１に対応する受信装置、符号化方式２に対応する受信装置、及び、符号化方式１及び２のいずれにも対応する受信装置が存在する。
【００７６】
本形態の冗長度制御部１０５は、符号化方式１で生成されるＦＥＣデータと符号化方式２で生成されるＦＥＣデータをそれぞれ特定するための特定情報を含むセッション情報を受信装置１０２へ通知する。そして、受信装置１０２は、受信されたセッション情報に含まれる特定情報から、受信装置１０２により適したＦＥＣデータの受信を行う。このようにすることで、受信装置１０２は、自身の能力や機能により合致したＦＥＣデータを受信できるようになる。
【００７７】
図６は、本形態の冗長度制御部１０５が生成するセッション情報の例を示す図である。なお、本形態の冗長度制御部１０５は、実施形態１と同様に、ＳＥＴ＿ＰＡＲＡＭＥＴＥＲによって、セッション情報の通知を行う。
【００７８】
図６には、１つのコンテンツ情報６０１と、２つのＦＥＣ情報６０２、６０３が含まれている。コンテンツ情報６０１は、Ｈ．２６４のコンテンツデータを示している。また、ＦＥＣ情報６０２は、符号化方式１により生成されるＦＥＣデータ１を特定するための情報である。また、ＦＥＣ情報６０３は、符号化方式２により生成されるＦＥＣデータ２を特定するための情報である。なお、ＦＥＣデータ１及び２はコンテンツ情報６０１に対応するコンテンツデータを用いて生成される。すなわち、ＦＥＣ情報６０２、６０３は、ＦＥＣデータの生成方式に対応する。
【００７９】
受信装置１０２は、図６に示すようなセッション情報を受信すると、ＦＥＣ情報６０２、６０３で特定される２種類のＦＥＣデータから、受信するＦＥＣデータを決定する。例えば、受信装置１０２は、自身が処理可能な符号化方式により生成されるＦＥＣデータを受信するＦＥＣデータとして決定する。また、例えば、受信装置１０２は、符号化方式１及び２のいずれにも対応している場合、現在のデータの受信状況や、パケット復元部１１２の処理負荷により合致したＦＥＣデータを受信するＦＥＣデータとして決定する。
【００８０】
また、本形態の受信装置１０２は、受信するＦＥＣデータとして決定したＦＥＣデータを受信レポートで配信装置１０１に通知する。
図７は受信レポートの例である。本形態の受信装置１０２は、受信しているＦＥＣデータの種別を配信装置１０１で特定できるようにするための特定情報を受信レポートの拡張領域であるプロファイル依存拡張７０３に格納する。配信装置１０１は、受信装置１０２からの受信レポートに含まれるプロファイル依存拡張７０３を参照することで、受信装置１０２が受信しているＦＥＣデータを特定できる。また、本形態の誤り訂正符号化部１０４は、マルチキャスト配信されたコンテンツデータを受信している受信装置１０２からの受信レポートに、例えば符号化方式２のＦＥＣデータの特定情報が含まれていない場合、符号化方式２のＦＥＣデータを生成しない。すなわち、マルチキャスト配信を受けている複数の受信装置１０２がすべて符号化方式１のＦＥＣデータを受信している場合、誤り訂正符号化部１０４は、符号化方式２のＦＥＣデータを生成しない。このようにすることで、ＦＥＣデータの生成にかかる負荷を低減できる。
【００８１】
次に、本形態の配信装置１０１の処理について実施形態１との差異を中心に説明する。本形態の配信装置１０１の冗長度制御部１０５は、受信レポートから受信装置１０２のパケットロス率を取得すると共に、受信装置１０２が受信しているＦＥＣデータの情報を取得する（Ｓ４０５）。そして、冗長度制御部１０５は、受信装置１０２が受信しているＦＥＣデータの種別におけるＦＥＣの冗長度をパケットロス率に基づいて決定する（Ｓ４０６）。
【００８２】
例えば、ある受信装置１０２が符号化方式１のＦＥＣデータを受信し、パケットロス率が第１のロス率である場合、冗長度制御部１０５は、第１のロス率に基づいて符号化方式１のＦＥＣの冗長度を決定する。すなわち、受信装置１０２が受信しているＦＥＣデータの符号化方式によって、決定される冗長度は異なる。
【００８３】
冗長度制御部１０５は、受信装置１０２ごとに、受信装置１０２が受信しているＦＥＣの符号化方式、及び、決定した冗長度との組み合わせを保存する。
【００８４】
そして、Ｓ４０８において、冗長度レベルがこれまでの冗長度レベルと異なると判定された場合、誤り訂正符号化部１０４は、新たな冗長度レベルのＦＥＣデータを示すＦＥＣ情報３０２を含むセッション情報を生成する。そして、生成されたセッション情報は、受信装置１０２へ送信される（Ｓ４０９）。このときに送信されるセッション情報には、ＦＥＣ情報６０２、６０３のうち、受信装置１０２により受信されていないＦＥＣデータに対応するＦＥＣ情報が含まれない。ただし、受信装置１０２が受信しているＦＥＣデータの符号化方式と異なる符号化方式に対応するＦＥＣ情報をセッション情報に含めることにより、受信装置１０２は、通信の途中でＦＥＣの符号化方式を変更できる。
【００８５】
受信装置１０２は、図５のＳ５０２において、複数の符号化方式のＦＥＣデータから、受信するＦＥＣデータを決定する。また、受信装置１０２は、受信レポートを用いて、受信するＦＥＣデータとして決定したＦＥＣデータを配信装置１０１に通知する。
【００８６】
なお、本形態の配信装置１０１は、受信装置１０２において受信するＦＥＣデータの符号化方式が１度決定されると、それを変更しないようにすることもできるが、通信の途中で符号化方式を変更することも可能である。すなわち、配信装置１０１は、複数のＦＥＣ情報が格納されたセッション情報を受信装置１０２へ送信することで、受信装置１０２が１度決定した符号化方式とは異なる符号化方式のＦＥＣデータを選択させることもできる。
【００８７】
また、符号化方式は、上記の２種類の方式に限らず、３種類以上であってもよい。また、本形態の配信装置１０１は、受信装置１０２により受信されていないＦＥＣデータを生成しない。すなわち、冗長度制御部１０５は、複数の受信装置１０２からの受信レポートを参照することで、各受信装置１０２が受信しているＦＥＣデータの符号化方式と冗長度レベルを特定する。そして、複数の受信装置１０２のいずれも受信していない符号化方式と冗長レベルのＦＥＣデータを生成しないように、誤り訂正符号化部１０４へ通知する。このようにすることで、ＦＥＣデータの生成にかかる負荷を低減できる。
【００８８】
なお、配信装置１０１は、受信装置１０２が受信を開始する前に予めマルチキャスト配信をすることも可能であるが、受信装置１０２からのＲＴＳＰの要求に応じてマルチキャスト配信を開始するようにしてもよい。受信装置１０２からの要求に応じてマルチキャスト配信を開始するようにすれば、通信帯域をより有効に利用できる。また、配信装置１０１は、受信装置１０２からの受信レポートの受信に応じてＦＥＣデータを生成するようにすれば、通信帯域をより有効に利用できる。
【００８９】
配信装置１０１がマルチキャスト配信をしていないときに受信装置１０２がマルチキャスト配信を要求するための方法には、例えば、以下の２つの方法がある。１つ目の方法は、受信装置１０２が、予めＨＴＴＰやＦＴＰなどのプロトコルなどを用いることでＳＤＰ情報を取得してマルチキャスト配信を要求する方法である。また、２つ目の方法は、受信装置１０２が、ＲＴＳＰで要求されたストリーミングを開始するための一連の処理の中でＳＤＰ情報を取得する方法である。
【００９０】
受信装置１０２は、以上のような方法で取得したＳＤＰ情報から所望のコンテンツ情報を指定して要求する。このようにすることで、通信帯域を有効に利用できる。
【００９１】
また、ＲＴＣＰを利用している場合、受信装置１０２はデータの受信を終了するときにＢＹＥパケットを送信することで、配信装置１０１は受信の終了を知ることができる。しかし、ＲＴＣＰを用いていない場合や、受信装置１０２が異常終了した場合、配信装置１０１はどの受信装置１０２にも受信されていないコンテンツデータをマルチキャスト配信し続けてしまう可能性がある。そこで、本形態の配信装置１０１は、一定時間、受信レポートを受信しない場合、受信装置１０２がデータの受信を終了したと判定する。そして、受信装置１０２により受信されていないコンテンツデータ、ＦＥＣデータの配信を終了する。このようにすることで、通信帯域をより有効に利用できるようになる。
【００９２】
なお、受信装置１０２がデータの受信を終了したと判定するための時間は、セッション開始時にＲＴＳＰメソッドを用いて決定しても良いし、ＳＤＰ情報に含めて通知するようにしても良い。また、受信装置１０２からの受信レポートの送信間隔に基づいて決定することも可能である。
【００９３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005748471.tif 000002
【図２】
0005748471.tif 000003
【図３】
0005748471.tif 000004
【図４】
0005748471.tif 000005
【図５】
0005748471.tif 000006
【図６】
0005748471.tif 000007
【図７】
0005748471.tif 000008