(57)【特許請求の範囲】
【請求項１】
符号化されたメディアデータを含むメディアパケットを生成するメディアパケット生成手段と、
前記メディアパケットをメディアストリームとしてネットワーク上に送信するメディアパケット送信手段と、
送出中の前記メディアストリームに対応する前記メディアパケットをパケット数Ｑからなる複数のサブグループｎに分割してそれぞれのサブグループごとにＦＥＣパケットを算出する際に、ｎおよびＱをそれぞれ異なるパラメータとして、前記メディアパケット内の異なるパケット数を利用して、それぞれ異なる冗長度を有するＦＥＣ誤り訂正用のＦＥＣパケットを算出する複数のＦＥＣパケット計算手段と、
前記複数のＦＥＣパケット計算手段で算出されたそれぞれの前記ＦＥＣパケットをＦＥＣストリームとしてネットワーク上に送信する複数のＦＥＣパケット送信手段と
を備えたデータ送信装置において、
前記複数のＦＥＣパケット計算手段のそれぞれは、自身がＦＥＣパケットを算出する際に利用するメディアパケット内のパケットと、他のＦＥＣパケット計算手段がＦＥＣパケットを算出する際に利用するメディアパケット内のパケットとが、一部のみ重複するように関連性を持たせてＦＥＣパケットを算出する
データ送信装置。
【請求項２】
請求項１に記載のデータ送信装置において、
前記メディアパケット生成手段は、ヘッダ情報を付加したメディアパケットを生成するデータ送信装置。
【請求項３】
メディアストリームをネットワーク上から受信することによりメディアパケットを取得するメディアパケット受信手段と、
ネットワーク上の前記メディアストリームに対応する複数のＦＥＣストリームの中から、１つまたは複数のＦＥＣストリームを選択して受信することによりＦＥＣパケットを取得するＦＥＣストリーム選択・受信手段と、
前記メディアパケット受信手段が取得した前記メディアパケットに基づいて前記メディアパケットの一部に消失したパケットがあるか否かを判断し、消失したパケットがある場合には前記ＦＥＣストリーム選択・受信手段が取得した前記ＦＥＣパケットを用いて前記消失したパケットの復元処理を行うメディアパケット復元手段と
を備えたデータ受信装置において、
前記ＦＥＣストリーム選択・受信手段は、ネットワーク上の前記メディアストリームに対応する複数のＦＥＣストリームの中から、ＦＥＣパケットを算出する際に利用されたメディアパケットに含まれるパケット数が異なり、かつ、ＦＥＣパケットを算出する際に利用されたメディアパケット内のパケットが一部のみ重複するような関連性を有する複数のＦＥＣストリームを選択して受信することにより互いに関連性のある複数のＦＥＣパケットを取得し、
前記メディアパケット復元手段は、前記ＦＥＣストリーム選択・受信手段が取得した互いに関連性のある前記複数のＦＥＣパケットを用いて前記消失したパケットの復元処理を行う
データ受信装置。
【請求項４】
メディアストリームをネットワーク上から受信することによりメディアパケットを取得するメディアパケット受信手段と、
ネットワーク上の前記メディアストリームに対応する複数のＦＥＣストリームの中から、１つまたは複数のＦＥＣストリームを選択して受信することによりＦＥＣパケットを取得するＦＥＣストリーム選択・受信手段と、
前記メディアパケット受信手段が取得した前記メディアパケットに基づいて前記メディアパケットの一部に消失したパケットがあるか否かを判断し、消失したパケットがある場合には前記ＦＥＣストリーム選択・受信手段が取得した前記ＦＥＣパケットを用いて前記消失したパケットの復元処理を行うメディアパケット復元手段と
を備えたデータ受信装置において、
前記メディアパケット受信手段は、ヘッダ情報が含まれているメディアストリームを受信し、前記ヘッダ情報を前記ＦＥＣストリーム選択・受信手段に転送し、
前記ＦＥＣストリーム選択・受信手段は、転送された前記ヘッダ情報に基づいてパケットの消失の発生状況を推定し、推定した前記発生状況に応じてネットワーク上の複数のＦＥＣストリームの中から選択すべき１つまたは複数のＦＥＣストリームを特定して受信することによりＦＥＣパケットを取得するとともに、
複数のＦＥＣストリーム番号と受信ポートとの対応関係を示すテーブルをあらかじめ記憶した記憶部を有し、ヘッダ情報を含む複数のＦＥＣストリームを、前記テーブルに記憶されたそれぞれの通信ポートから順次受信し、受信したそれぞれのＦＥＣストリームに含まれているヘッダ情報に基づいてＦＥＣパケット算出時のパラメータを特定し、特定した前記パラメータを前記記憶部に記憶された前記テーブルのＦＥＣストリーム番号に対応させて記憶させ、推定した前記発生状況に応じて、前記テーブルの中から選択すべき１つまたは複数のＦＥＣストリーム番号および対応する通信ポートを特定して、ネットワーク上の複数のＦＥＣストリームの中から所望のＦＥＣストリームを受信する
データ受信装置。
【請求項５】
請求項４に記載のデータ受信装置において、
前記ＦＥＣストリーム選択・受信手段は、ネットワーク上の前記メディアストリームに対応する複数のＦＥＣストリームを順次受信して前記パラメータを特定する処理を、適宜繰り返して行うことにより、前記記憶部の前記テーブルを適宜更新するデータ受信装置。
【請求項６】
請求項１に記載のデータ送信装置と請求項３に記載のデータ受信装置とを備えたデータ配信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してデータ通信を行うデータ送信装置、データ受信装置、およびデータ配信システムに関する。
【背景技術】
【０００２】
従来のデータ配信装置では、データ配信におけるネットワーク上でのブロックのロス対策として、ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ）を用いるものがある。このＦＥＣは、誤り訂正符号技術を用いた前方誤り訂正であり、データの廃棄や誤りを検出したときに、そのデータを再送することなく、転送すべきデータに付加した冗長を用いて復元する通信方式である。
【０００３】
受信計算機は、いくつかのブロックの受信には失敗したがオリジナルデータの復元に成功した場合、該受信に失敗したブロックの識別子、ブロック数等の受信失敗ブロック情報を含む肯定応答を送信計算機に送信する。
【０００４】
これに対して、送信計算機では、受信計算機から返送された受信失敗ブロック情報に応じて、次回以降のデータ送信におけるＦＥＣ符号化の冗長度を決定する。このようにして、従来のデータ配信装置は、ＦＥＣの冗長度を現在の受信状況に合わせて最適化することを行っている（例えば、特許文献１参照）。
【０００５】
【特許文献１】特開２００２−３３０１１８号公報（第１頁、図４）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来技術には次のような課題がある。従来のデータ配信装置では、ＦＥＣ符号化パラメータ決定の際に、ブロック毎の受信状況あるいは復元可否情報を送信計算機に送信しなければならない。すなわち、受信計算機側からのフィードバックが必ず必要となる。従って、特に、ＩＰマルチキャスト等のような多配信のシステムを想定した場合には、多数の受信計算機からのブロック毎の応答が常に必要となってしまう。これにより、ネットワークのトラフィック増大、あるいは送信計算機での処理負荷の増大を招くといった問題があった。
【０００７】
本発明は上記のような課題を解決するためになされたもので、データ受信装置からデータ送信装置へのフィードバックの必要なしに、より適切なパラメータで設定されたＦＥＣストリームを用いた誤り訂正を行うことができるデータ送信装置、データ受信装置、およびデータ配信システムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明のデータ送信装置は、符号化されたメディアデータを含むメディアパケットを生成するメディアパケット生成手段と、メディアパケットをメディアストリームとしてネットワーク上に送信するメディアパケット送信手段と、送出中のメディアストリームに対応するメディアパケットをパケット数Ｑからなる複数のサブグループｎに分割してそれぞれのサブグループごとにＦＥＣパケットを算出する際に、ｎおよびＱをそれぞれ異なるパラメータとして、メディアパケット内の異なるパケット数を利用して、それぞれ異なる冗長度を有するＦＥＣ誤り訂正用のＦＥＣパケットを算出する複数のＦＥＣパケット計算手段と、複数のＦＥＣパケット計算手段で算出されたそれぞれのＦＥＣパケットをＦＥＣストリームとしてネットワーク上に送信する複数のＦＥＣパケット送信手段とを備え、複数のＦＥＣパケット計算手段のそれぞれは、自身がＦＥＣパケットを算出する際に利用するメディアパケット内のパケットと、他のＦＥＣパケット計算手段がＦＥＣパケットを算出する際に利用するメディアパケット内のパケットとが、一部のみ重複するように関連性を持たせてＦＥＣパケットを算出するものである。
【０００９】
また、本発明のデータ受信装置は、メディアストリームをネットワーク上から受信することによりメディアパケットを取得するメディアパケット受信手段と、ネットワーク上のメディアストリームに対応する複数のＦＥＣストリームの中から、１つまたは複数のＦＥＣストリームを選択して受信することによりＦＥＣパケットを取得するＦＥＣストリーム選択・受信手段と、メディアパケット受信手段が取得したメディアパケットに基づいてメディアパケットの一部に消失したパケットがあるか否かを判断し、消失したパケットがある場合にはＦＥＣストリーム選択・受信手段が取得したＦＥＣパケットを用いて消失したパケットの復元処理を行うメディアパケット復元手段とを備え、ＦＥＣストリーム選択・受信手段は、ネットワーク上のメディアストリームに対応する複数のＦＥＣストリームの中から、ＦＥＣパケットを算出する際に利用されたメディアパケットに含まれるパケット数が異なり、かつ、ＦＥＣパケットを算出する際に利用されたメディアパケット内のパケットが一部のみ重複するような関連性を有する複数のＦＥＣストリームを選択して受信することにより互いに関連性のある複数のＦＥＣパケットを取得し、メディアパケット復元手段は、ＦＥＣストリーム選択・受信手段が取得した互いに関連性のある複数のＦＥＣパケットを用いて消失したパケットの復元処理を行うものである。
さらに、本発明のデータ受信装置は、メディアストリームをネットワーク上から受信することによりメディアパケットを取得するメディアパケット受信手段と、ネットワーク上のメディアストリームに対応する複数のＦＥＣストリームの中から、１つまたは複数のＦＥＣストリームを選択して受信することによりＦＥＣパケットを取得するＦＥＣストリーム選択・受信手段と、メディアパケット受信手段が取得したメディアパケットに基づいてメディアパケットの一部に消失したパケットがあるか否かを判断し、消失したパケットがある場合にはＦＥＣストリーム選択・受信手段が取得したＦＥＣパケットを用いて消失したパケットの復元処理を行うメディアパケット復元手段とを備え、メディアパケット受信手段は、ヘッダ情報が含まれているメディアストリームを受信し、ヘッダ情報をＦＥＣストリーム選択・受信手段に転送し、ＦＥＣストリーム選択・受信手段は、転送されたヘッダ情報に基づいてパケットの消失の発生状況を推定し、推定した発生状況に応じてネットワーク上の複数のＦＥＣストリームの中から選択すべき１つまたは複数のＦＥＣストリームを特定して受信することによりＦＥＣパケットを取得するとともに、複数のＦＥＣストリーム番号と受信ポートとの対応関係を示すテーブルをあらかじめ記憶した記憶部を有し、ヘッダ情報を含む複数のＦＥＣストリームを、テーブルに記憶されたそれぞれの通信ポートから順次受信し、受信したそれぞれのＦＥＣストリームに含まれているヘッダ情報に基づいてＦＥＣパケット算出時のパラメータを特定し、特定したパラメータを記憶部に記憶されたテーブルのＦＥＣストリーム番号に対応させて記憶させ、推定した発生状況に応じて、テーブルの中から選択すべき１つまたは複数のＦＥＣストリーム番号および対応する通信ポートを特定して、ネットワーク上の複数のＦＥＣストリームの中から所望のＦＥＣストリームを受信するものである。
【発明の効果】
【００１０】
本発明において、データ送信装置は、あらかじめ複数のＦＥＣストリームを送信し、データ受信装置は、それらのストリームより選択してＦＥＣ受信を行う。これにより、基本的にデータ受信装置からデータ送信装置へのフィードバックの必要なしに、より適切なパラメータで設定されたＦＥＣストリームを用いた誤り訂正を行うことができるデータ送信装置、データ受信装置、およびデータ配信システムを得ることができる。
【発明を実施するための最良の形態】
【００１１】
実施の形態１．
図１は、本発明の実施の形態１におけるデータ配信システムの構成図である。このデータ配信システムは、データ送信装置１００、データ受信装置２００、およびネットワーク３００で構成される。データ送信装置１００およびデータ受信装置２００は、ＩＰ網等のネットワーク３００を介して接続されている。データ送信装置１００は、例えば、ＭＰＥＧ等の符号化方式により符号化された映像・音声等のメディアデータを含むパケット（以下の説明において、メディアデータを含むパケットをメディアパケットと称する）を生成する。さらに、データ送信装置１００は、生成したメディアパケットを、ネットワーク３００を介して、メディアストリームとしてデータ受信装置２００にリアルタイム送信する。
【００１２】
これに対して、データ受信装置２００は、データ送信装置１００より受信したメディアパケットから、符号化された映像・音声等のメディアデータを取得し、デコードあるいは映像・音声等の蓄積・再生等の処理を行う。
【００１３】
また、データ送信装置１００は、メディアパケットと同時に、そのメディアパケットに対応するＦＥＣ誤り訂正用の冗長データパケット（以下の説明において、ＦＥＣパケットと称する）を生成する。さらに、データ送信装置１００は、生成したＦＥＣパケットを、ネットワーク３００を介して、ＦＥＣストリームとしてデータ受信装置２００にリアルタイム送信する。
【００１４】
これに対して、データ受信装置２００は、データ送信装置１００より受信したメディアパケットにパケットロスが生じた場合には、同じくデータ送信装置１００より受信したＦＥＣパケットを用いて、ロスしたパケット（パケットロス）の復元処理を実行する。ここで、「パケットロス」とは、ネットワーク３００の輻輳等の原因により、いくつかのパケットがネットワーク３００上で消失する現象を意味する。
【００１５】
次に、図２は、本発明の実施の形態１におけるデータ送信装置１００の内部構成図である。図２において、データ送信装置１００は、メディアパケット生成手段１０１、メディアパケット送信手段１０２、ＦＥＣパケット計算手段１０３、ＦＥＣパケット送信手段１０４より構成される。
【００１６】
ここで、図２において、ＦＥＣパケット計算手段１０３およびＦＥＣパケット送信手段１０４は、複数台で構成されており、それぞれの符号に付されている添字「ａ」「ｂ」は、それぞれ１台目、２台目を意味するものである。
【００１７】
メディアパケット生成手段１０１は、データ送信装置１００がネットワーク３００を介してデータ受信装置２００に送信しようとするメディアパケットを生成する機能を持つ。例えば、メディアパケット生成手段１０１は、映像のエンコーダ等に相当する。あるいは、メディアパケット生成手段１０１は、あらかじめローカルに蓄積してあるメディアデータよりメディアパケットを生成する場合もある。
【００１８】
メディアパケット送信手段１０２は、ネットワーク３００に接続されており、メディアパケット生成手段１０１で生成されたメディアパケットを、メディアストリームとしてネットワーク３００に送信する機能を持つ。
【００１９】
ＦＥＣパケット計算手段１０３は、メディアパケット生成手段１０１で生成されたメディアパケットを元にして、誤り訂正用のＦＥＣパケットを計算する手段である。ＦＥＣパケット送信手段１０４は、ネットワーク３００に接続されており、ＦＥＣパケット計算手段１０３から出力された冗長データパケットをＦＥＣストリームとして、ネットワーク３００を介してデータ受信装置２００に送信する手段である。図２においては、１台目のＦＥＣパケット送信手段１０４ａからはＦＥＣストリーム１が出力され、２台目のＦＥＣパケット送信手段１０４ｂからはＦＥＣストリーム２が出力される様子が示されている。
【００２０】
次に、図３は、本発明の実施の形態１におけるデータ受信装置２００の内部構成図である。図３において、データ受信装置２００は、メディアパケット受信手段２０１、ＦＥＣストリーム選択・受信手段２０２、メディアパケット復元手段２０３、およびメディアパケット処理手段２０４より構成される。
【００２１】
メディアパケット受信手段２０１は、ネットワーク３００に接続されており、データ送信装置１００から送信されたメディアストリームを、ネットワーク３００を介して受信することにより、メディアパケットを取得し、さらに、このメディアパケットを、メディアパケット復元手段２０３およびメディアパケット処理手段２０４に出力する機能を有する。
【００２２】
ＦＥＣストリーム選択・受信手段２０２は、同じくネットワーク３００に接続されており、ネットワーク３００を介してデータ送信装置１００より送信される複数のＦＥＣストリームのうち１つまたは複数のストリームを選択した上でＦＥＣパケットを受信し、この受信したＦＥＣパケットをメディアパケット復元手段２０３に出力する機能を有する。
【００２３】
メディアパケット復元手段２０３は、メディアパケット受信手段２０１より出力されたメディアパケットに対してパケットロス発生状況をチェックする。そして、メディアパケット復元手段２０３は、パケットロス発生を検知した場合には、ＦＥＣストリーム選択・受信手段２０２より出力されたＦＥＣパケットを用いて、パケットロスの復元処理を行う。さらに、メディアパケット復元手段２０３は、復元に成功したパケットについては、メディアパケット処理手段２０４に出力する。
【００２４】
メディアパケット処理手段２０４は、メディアパケット受信手段２０１およびメディアパケット復元手段２０３よりそれぞれ出力されたメディアパケットを受け取り、デコード・表示等の映像・音声等のメディア再生に関連する処理を行う。
【００２５】
次に、このような機能を有するデータ配信システムの動作について説明する。まず始めに、データ送信装置１００の動作について説明する。図２において、メディアパケット生成手段１０１は、メディアデータを生成し、生成したメディアデータをあるデータ単位毎にパケット分割する。例えば、メディアパケット生成手段１０１は、ＭＰＥＧエンコーダによりエンコードされた映像データについて、映像フレーム単位で分割する、あるいは一定のバイト数で分割する等の分割処理を行うことによりパケットを生成する。
【００２６】
さらに、メディアパケット生成手段１０１は、必要に応じて、ネットワーク３００へのパケット送信のためのヘッダ情報等を付加する。メディアパケット生成手段１０１は、例えば、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）網の場合には、ヘッダ情報として、ＩＰヘッダおよびＲＴＰ（Ｒｅａｌ−ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｌｏｔｏｃｏｌ）ヘッダを付与し、ＲＴＰヘッダにシーケンス番号等の情報を付加する。
【００２７】
次に、メディアパケット送信手段１０２は、メディアパケット生成手段１０１で生成されたメディアパケットを、メディアストリームとして、ネットワーク３００を介してデータ受信装置２００に送信する。
【００２８】
一方、ＦＥＣパケット計算手段１０３は、メディアパケット生成手段１０１で生成されたメディアパケットを用いて、誤り訂正用のＦＥＣパケットを計算する。ここでは、誤り訂正用の処理として、排他的論理和であるＸＯＲ（ｅｘｃｌｕｓｉｖｅ  ＯＲ）処理を用いた例について、以下に具体例を示す。
【００２９】
図４は、本発明の実施の形態１におけるＦＥＣパケット計算手段１０３において、ＦＥＣパケットを計算する様子を示した説明図である。まず、ＦＥＣパケット計算手段１０３は、メディアパケット生成手段１０１で生成されたメディアパケットについて、連続ｎ×Ｑ個のパケットを一つのグループとする。そして、ＦＥＣパケット計算手段１０３は、そのグループからｎ個おきにＱ個分パケットを抜き出したものをサブグループとして抽出する。さらに、ＦＥＣパケット計算手段１０３は、ｎグループの各サブグループ内のメディアパケットのビット毎のＸＯＲ処理を行うことにより、各グループについて１個のＦＥＣパケットを生成する。
【００３０】
図４では、ｎ＝６、Ｑ＝４の例を示しており、連続する６×４＝２４個のパケットを１つのグループとしている。例えば、ＦＥＣパケット計算手段１０３は、１番目のグループとして、２４個の連続するパケットの１番目のパケットを先頭として６個おきに４個分のパケットを抽出することにより、１、７、１３、１９番目のパケットからなるサブグループを特定する。同様にして、ＦＥＣパケット計算手段１０３は、２〜６番目のグループとなるサブグループを特定する。
【００３１】
さらに、ＦＥＣパケット計算手段１０３は、それぞれのグループのメディアパケットをサブグループとして抽出した後に、各サブグループのビット毎のＸＯＲ処理を行うことにより、６つのサブグループに対応したＦＥＣパケットＸ１〜Ｘ６を生成する。
【００３２】
このようにしてＦＥＣパケット計算手段１０３で生成されたＦＥＣパケットＸ１〜Ｘ６は、順次ＦＥＣパケット送信手段１０４に出力される。そして、ＦＥＣパケット送信手段１０４は、ＦＥＣパケットに対して、必要に応じてヘッダ情報等を付加する。さらに、ＦＥＣパケット送信手段１０４は、ＦＥＣパケットを、ＦＥＣストリームとして、ネットワーク３００を介してデータ受信装置２００に送信する。
【００３３】
ここで、必要に応じてＦＥＣパケットに付加されるヘッダ情報としては、例えば、ＦＥＣパケット生成時にＸＯＲ処理を行ったパケットに関する情報、具体的には、メディアパケットのＲＴＰシーケンス番号等があげられる。この場合には、ＦＥＣパケット送信手段１０４は、例えば、ＦＥＣパケットＸ１に対して、シーケンス番号として１、７、１３、１９番目のメディアパケットのＲＴＰシーケンス番号をＦＥＣパケットのヘッダ情報として付加することになる。
【００３４】
ここで、図４においては、ｎ＝６、Ｑ＝４の場合を例示した。しかしながら、本方式を用いた場合には、その他にもｎ、Ｑの値を任意に変えることで、ＦＥＣパケットの生成頻度や誤り耐性の強さ等を変更することができる。そこで、本発明のデータ送信装置１００においては、ＦＥＣパケット計算手段１０３ａとＦＥＣパケット計算手段１０３ｂとで、それぞれ異なるｎ、Ｑの値を設定してＦＥＣパケットを生成するようにする。
【００３５】
例えば、１台目のＦＥＣパケット計算手段１０３ａは、ｎ＝６、Ｑ＝４と設定し、２台目のＦＥＣパケット計算手段１０３ｂは、ｎ＝１、Ｑ＝２４と設定したとする。この場合には、ＦＥＣパケット計算手段１０３ａは、２４メディアパケット毎に６個のＦＥＣパケットを生成し、ＦＥＣパケット計算手段１０３ｂは、２４メディアパケット毎に１個のＦＥＣパケットを生成することになる。
【００３６】
なお、図２では、ＦＥＣパケット計算手段、ＦＥＣパケット送信手段は、それぞれ２台分を例示している。しかしながら、これらの台数は、２個に限らず、複数台であれば３台以上のＦＥＣパケット計算手段およびＦＥＣパケット送信手段があってもよい。この場合には、各々のＦＥＣパケット計算手段は、パラメータｎ、Ｑの値を変える等の手段により、あるいは、あらかじめ決められた異なるパラメータｎ、Ｑの値を用いることにより、お互いに異なるＦＥＣパケット計算方法を用いてＦＥＣパケットを生成するものとする。その際のＦＥＣパケット計算方法についても、本実施の形態に示したようなＸＯＲ処理ベースのＦＥＣパケット生成の方法に限るものではない。
【００３７】
次に、データ受信装置２００の動作について説明する。図３において、メディアパケット受信手段２０１は、データ送信装置１００から送信されたメディアストリームを、ネットワーク３００を介して受信することにより、メディアパケットを取得する。その際に、ネットワークの輻輳等の原因により、いくつかのパケットがネットワーク上で消失する「パケットロス」が発生した場合を仮定する。
【００３８】
ＦＥＣストリーム選択・受信手段２０２は、データ送信装置１０１より送信された複数のＦＥＣストリームのうち、一つまたは複数のＦＥＣストリームを選択して受信する。さらに、ＦＥＣストリーム選択・受信手段２０２は、受信したＦＥＣストリームをメディアパケット復元手段２０３に出力する。
【００３９】
メディアパケット復元手段２０３は、メディアパケット受信手段２０１よりメディアパケットを受け取り、パケットロスの状況を把握する。メディアパケット復元手段２０３は、例えば、メディアパケットのＲＴＰヘッダのシーケンス番号の抜けをチェックすることにより、パケットロスの判定が可能となる。
【００４０】
そして、メディアパケット復元手段２０３は、パケットロスの発生を検知した場合には、以下の方法でパケットの復元を試みる。メディアパケット復元手段２０３は、ロスしたパケットのＲＴＰシーケンス番号を「ａ」とした場合に、そのパケットを復元するのに必要なメディアパケットおよびＦＥＣパケットを検索する。
【００４１】
ＦＥＣストリーム選択・受信手段２０２より受信したＦＥＣパケットのヘッダ情報には、ＦＥＣパケット生成時にＸＯＲ処理を行ったパケットのＲＴＰシーケンス番号が記録されているものと仮定する。この場合において、メディアパケット復元手段２０３は、ＦＥＣストリーム選択・受信手段２０２より受信したＦＥＣパケットの中から、ヘッダにＲＴＰシーケンス番号「ａ」が含まれているＦＥＣパケットをまず見つけ出す。さらに、メディアパケット復元手段２０３は、そのヘッダより、ＦＥＣパケットの生成時にＸＯＲ処理の対象となったＲＴＰパケットを、メディアパケット受信手段２０１より受信したメディアパケットの中から探し出す。
【００４２】
もしも、これらのＦＥＣパケットおよびＲＴＰパケットが全て見つかれば、メディアパケット復元手段２０３は、その全てのパケットのビット毎のＸＯＲを算出することで、ロスしたパケットのデータを復元できる。一方、それらのＦＥＣパケットまたはＲＴＰパケットのうち一つでも見つからないものがある場合には、メディアパケットの復元は不可能であるため、メディアパケット復元手段２０３は、復元処理を断念する。
【００４３】
このようにして、メディアパケット復元手段２０３は、メディアパケット受信手段２０１より受け取ったメディアパケットと、ＦＥＣストリーム選択・受信手段２０２より受け取ったＦＥＣパケットとを用いて、ロスパケットの復元を行っていく。
【００４４】
図５は、本発明の実施の形態１のメディアパケット復元手段２０３による復元処理の説明図である。メディアパケットおよびＦＥＣパケットの番号は、図４と同様であり、ｎ＝６、Ｑ＝４の場合に相当している。図５において、メディアパケット復元手段２０３は、メディアパケット受信手段２０１が受信した連続する２４個のメディアパケットと、ＦＥＣストリーム選択・受信手段２０２が受信した連続６個のＦＥＣパケットとを取り込んで、復元処理を行う。
【００４５】
ここで、メディアパケットのうち、７〜１２番目の連続した６個のパケットがロスした場合を仮定する。図４において、ＦＥＣパケットＸ１の生成元となったメディアパケットは、１、７、１３、１９番目のメディアパケットであるから、逆に１、１３、１９番目のメディアパケットおよびＦＥＣパケットＸ１のビット毎のＸＯＲ演算を行えば、７番目のメディアパケットが得られるはずである。
【００４６】
他のロスパケットである８、９、１０、１１、１２番目のメディアパケットについても同様に、それぞれＦＥＣパケットＸ２、Ｘ３、Ｘ４、Ｘ５、Ｘ６と対応するメディアパケットのＸＯＲ演算から復元することが可能である。したがって、図５の例示では、最終的に、７〜１２番目のロスパケットは、すべてメディアパケット復元手段２０３によって復元できることとなる。
【００４７】
このようにして復元されたメディアパケットは、メディアパケット復元手段２０３から順次メディアパケット処理手段２０４に送出される。そして、メディアパケット処理手段２０４は、メディアパケット受信手段２０１から送出されたメディアパケットと、メディアパケット復元手段２０３から送出された復元されたメディアパケットとを合わせて、デコード・表示等の映像・音声等のメディア再生に関連する処理を行う。
【００４８】
ここで、ＦＥＣストリームの選択方法の一例を示す。図６は、本発明の実施の形態１におけるＦＥＣストリーム選択・受信手段２０２が内部で保持するテーブルのデータ構成を示した図である。このテーブルには、各々のストリームに対応して、受信ポート、ＦＥＣパケット生成時のパラメータｎ、Ｑの値が記録されているものとする。ＦＥＣストリーム選択・受信手段２０２は、このテーブルを参照することにより、どのＦＥＣストリームがどういったパラメータで生成されているのかを把握することができる。
【００４９】
テーブルに記載されたパラメータからストリームを選択する判断基準としては、例えば、次のものがあげられる。図７は、本発明の実施の形態１のデータ受信装置において、メディアパケット受信手段２０１が自身のパケット受信状況をＦＥＣストリーム選択・受信手段２０２に伝送する例を示した構成図である。メディアパケット受信手段２０１は、例えば、メディアパケットのＲＴＰシーケンス番号をパケット受信状況として、ＦＥＣストリーム選択・受信手段２０２に伝送する。
【００５０】
ＦＥＣストリーム選択・受信手段２０２は、伝送されたＲＴＰシーケンス番号より、パケットロス発生率やバースト長の分布等の情報を算出して、適切なｎ、Ｑの値を決定する。例えば、パケットロスの発生率が十分低く、かつバースト長の分布において、大半のバーストが２パケット以上６パケット以下であるような場合を仮定する。
【００５１】
ＦＥＣストリーム選択・受信手段２０２は、このような場合には、図４の例のように、ｎ＝６に設定して連続２４メディアパケットのうち連続６パケットまでのバーストロスが復元可能であるようにする。この結果、バーストパケットロスの大半が復元可能ということになり、パケットロス復元に効果的である。
【００５２】
逆にｎが２以下であるような場合は、バーストパケットロスの大半が復元不可能となってしまうため、パケットロス復元には効果的でない。また、設定するｎの値については、大きくなればなるほど、メディアパケットに対するＦＥＣパケットの生成数が増大し、ストリームのオーバーヘッドが大きくなってしまう。したがって、設定するｎの値は、なるべく小さい値に設定することが望ましい。
【００５３】
よって、ＦＥＣストリーム選択・受信手段２０２は、図４のテーブルのうち、ｎ＝６で復元能力が十分であると判断した場合は、ｎが６よりも大きなものに相当するＦＥＣストリーム番号４〜６は選択しないものとして、ＦＥＣストリーム番号３のＦＥＣストリームを選択する。さらに、ＦＥＣストリーム選択・受信手段２０２は、該当する受信ポート番号４０２００よりＦＥＣストリームを受信する。
【００５４】
なお、以上の例では、データ受信装置２００が選択するＦＥＣストリームは１つのみの場合を示している。しかしながら、判断基準によっては、データ受信装置２００は、複数のＦＥＣストリームを選択し、それらのＦＥＣパケットを組み合わせてロスパケット復元を行う場合も当然考えられる。
【００５５】
また、メディアパケットのパケットロス状況が受信中に変化したような場合でも、ＦＥＣストリーム選択・受信手段２０２は、その状況の変化に合わせて適宜ＦＥＣストリームの再選択を行うことができる。そして、ＦＥＣストリーム選択・受信手段２０２は、再選択した結果に基づいて受信するＦＥＣストリームを切り替えることにより、ロスパケット復元の効率の低下を防ぐことが可能である。
【００５６】
実施の形態１によれば、データ送信装置は、送出中のメディアストリームに対応して、複数の異なるＦＥＣストリームを送出できる。さらに、これに対応して、データ受信装置は、ネットワークを介して送信された複数のＦＥＣストリームより１つあるいは複数のＦＥＣストリームを選択してメディアパケットのロスの復元処理を行うことができる。
【００５７】
さらに、データ受信装置は、受信したメディアパケットに基づいてパケットロス発生率等の情報を算出できるとともに、算出した情報に基づいて適切なＦＥＣストリームを選択することができる。これにより、データ受信装置は、現在の受信状況に対してより適切なロスパケット復元を行うためのＦＥＣストリームを受信することが可能となり、基本的にデータ受信装置からデータ送信装置へのフィードバックの必要なく、ロスパケットの復元率を向上させることが可能となる。
【００５８】
実施の形態２．
実施の形態１では、データ受信装置２００は、ＦＥＣストリームを選択する際に、あらかじめ図６に示すようなＦＥＣストリームのパラメータに関するテーブルを持っている場合について説明した。本実施の形態２では、データ受信装置２００がＦＥＣストリームを選択する際に、こうした情報をあらかじめ持っていない場合について説明する。実施の形態１と同様に、パラメータがｎ＝６、Ｑ＝４である場合を例に説明する。
【００５９】
図８は、本発明の実施の形態２におけるＦＥＣストリーム選択・受信手段２０２が内部で保持するテーブルのデータ構成を示した図である。本実施の形態２のデータ受信装置２００において、ＦＥＣストリーム選択・受信手段２０２は、図８に示すように、ＦＥＣストリームを受信するポート番号のみのテーブルを持っているものとする。すなわち、受信ポート番号がわからないとＦＥＣストリームを受信しようがないため、最低限の情報としてあらかじめ、あるいは別途何らかの手段で、このＦＥＣストリームを受信するポート番号のみの情報を入手しているものとする。
【００６０】
ＦＥＣストリーム選択・受信手段２０２は、このテーブルに従って、ＦＥＣストリーム番号１から順に一定時間（例えば０．５秒）ごとに、あるいは最初のＦＥＣパケットを受信するまでストリーム受信を順次行い、受信したＦＥＣパケットよりＦＥＣストリームのパラメータを推測する。
【００６１】
例えば、実施の形態１に示したようなＸＯＲ処理ベースでのＦＥＣパケット生成がなされている場合に、ＦＥＣストリーム番号３において、最初に受信したＦＥＣパケットのヘッダに、対応するメディアパケットのＲＴＰシーケンス番号１、７、１３、１９が記録されていたとする。ＦＥＣストリーム選択・受信手段２０２は、ＲＴＰパケット６個おきに４個のＲＴＰパケットを抜き出してＦＥＣパケットを生成していることがわかるため、実施の形態１で示したＦＥＣパラメータｎ、Ｑについて、ｎ＝６、Ｑ＝４であると判断できる。
【００６２】
これにより、ＦＥＣストリーム選択・受信手段２０２は、ＦＥＣストリーム番号３に対応するパラメータは、ｎ＝６、Ｑ＝４であると判断し、テーブルに追加する。同様に、ＦＥＣストリーム選択・受信手段２０２は、ＦＥＣストリーム番号１、２、４、５、６についても同様の判断を行うことができ、最終的に図６に示すようなテーブルが完成する。
【００６３】
実施の形態２によれば、ＦＥＣストリーム選択・受信手段は、複数のＦＥＣストリームを一定の短い時間順次受信し、ＦＥＣパケットに含まれているヘッダ情報を読み取ることにより、ＦＥＣストリームのパラメータに代表されるＦＥＣストリームの特性を把握することができる。これにより、ＦＥＣストリーム選択・受信手段は、あらかじめＦＥＣストリームの特性と受信ポートとの対応関係を記憶することなく、ＦＥＣストリームの選択判断を実行することが可能となる。
【００６４】
さらに、ＦＥＣストリーム受信の最中にＦＥＣストリームの特性が変化した場合についても、ＦＥＣストリーム選択・受信手段は、変化したＦＥＣストリームに対応することが可能となる。すなわち、ＦＥＣストリーム選択・受信手段は、必要に応じて適宜あるいは一定周期で、順次ＦＥＣストリームの受信の実行を繰り返すことで、ＦＥＣストリームの特性の変化に伴うパラメータ変更に対応した受信ポートを特定することができる。これにより、ＦＥＣストリーム選択・受信手段は、ストリーム受信の最中にＦＥＣストリームの特性が変化した場合にも、最適なＦＥＣストリームの選択をやり直すことが可能となる。
【００６５】
実施の形態３．
実施の形態１および２では、データ送信装置は、各々独立したパラメータを持つ複数のＦＥＣストリームを送信し、データ受信装置は、それらのＦＥＣストリームからあるストリームを選択してパケットロス復元を行う場合について説明した。本実施の形態３では、データ送信装置は、互いに関連性のある複数のＦＥＣストリームを送信し、データ受信装置は、それらのＦＥＣストリームを合わせて受信してロスパケットの復元を行うことで、パケットロス復元率を向上させる場合について説明する。
【００６６】
図２のデータ送信装置１００において、２台のＦＥＣパケット計算手段１０３ａ、１０３ｂが互いに関連するＦＥＣストリームを算出する場合を考える。図９は、本発明の実施の形態３における１台目のＦＥＣパケット計算手段１０３ａにおいて、ＦＥＣパケットを計算する様子を示した説明図である。図９において、ＦＥＣパケット計算手段１０３ａは、ｎ＝３、Ｑ＝８のパラメータによるＦＥＣパケットＹ１〜Ｙ３の生成を行うものとする。
【００６７】
一方、２台目のＦＥＣパケット計算手段１０３ｂは、図４に示すようなｎ＝６、Ｑ＝４のパラメータによるＦＥＣパケットのうち、３個のＦＥＣパケットＸ１〜Ｘ３の生成のみを行うものとする。
【００６８】
図１０は、本発明の実施の形態３における２台のＦＥＣパケット計算手段１０３ａ、１０３ｂにより生成されるＦＥＣパケットを示した図である。すなわち、１台目のＦＥＣパケット計算手段１０３ａは、例えば、１、４、７、１０、１３、１６、１９、２２番目のメディアパケットのＸＯＲを計算することで、ＦＥＣパケットＹ１を生成する。一方、２台目のＦＥＣパケット計算手段１０３ｂは、例えば、１、７、１３、１９番目のメディアパケットのＸＯＲを計算することで、ＦＥＣパケットＸ１を生成する。
【００６９】
図１１は、本発明の実施の形態３における２台のＦＥＣパケット計算手段１０３ａ、１０３ｂにより生成されるＦＥＣパケットのＸＯＲ演算を行った場合を示した図である。例えば、ＦＥＣパケットＹ１とＦＥＣパケットＸ１とのビット毎のＸＯＲを計算した場合を考える。
【００７０】
この場合に、ＦＥＣパケットＹ１は、１、４、７、１０、１３、１６、１９、２２番目のメディアパケットのＸＯＲであり、ＦＥＣパケットＸ１は、１、７、１３、１９番目のメディアパケットのＸＯＲであることから、両者間で重複する１、７、１３、１９番目のメディアパケットの分が打ち消し合うこととなる。したがって、Ｙ１とＸ１とのＸＯＲの計算結果は、両者間で重複していない４、１０、１６、２２番目のメディアパケットのＸＯＲを計算した場合と同じになる。
【００７１】
この計算結果は、図４におけるＦＥＣパケットＸ４に相当することになる。同様にして、ＦＥＣパケットＹ２とＸ２とのＸＯＲ演算でＦＥＣパケットＸ５が得られる。さらに、ＦＥＣパケットＹ３とＸ３とのＸＯＲ演算でＦＥＣパケットＸ６が得られる。従って、データ受信装置２００は、２台のＦＥＣパケット計算手段１０３ａ、１０３ｂで計算されたＦＥＣストリームの両方を受信することにより、ｎ＝６、Ｑ＝４のＦＥＣストリームを受信する場合と同様のパケットロス復元効果を得ることができる。
【００７２】
ＲＴＰシーケンス番号「ａ」のロスパケット復元処理に際し、実施の形態１または２におけるデータ受信装置２００は、受信したＦＥＣパケットより、ヘッダにＲＴＰシーケンス番号「ａ」が含まれているＦＥＣパケットと、そのＦＥＣパケットの生成時にＸＯＲ処理の対象となったＲＴＰパケットとを、受信したメディアパケットの中から探し出していた。そして、もしもそれらのＦＥＣパケットまたはＲＴＰパケットのうち１つでも見つからないものがある場合には、実施の形態１または２におけるデータ受信装置２００は、メディアパケットの復元が不可能であるため、復元処理を断念していた。
【００７３】
これに対し、本実施の形態３におけるデータ受信装置２００は、ＲＴＰシーケンス番号「ａ」が含まれているＦＥＣパケットが複数存在する場合には、その中のあるＦＥＣパケットで、上記のように実施の形態１で復元処理を断念していたようなケースにおいても、まだ復元の可能性が残されているものとして取り扱う。具体的な処理内容を以下に説明する。
【００７４】
実施の形態１における図６の場合と同様に、７〜１２番目の６個の連続したメディアパケットがロスした場合を考える。図１２は、本発明の実施の形態３における２台のＦＥＣパケット計算手段１０３ａ、１０３ｂにより生成されるＦＥＣパケットとロスパケットとの関係を示した図であり、７〜１２番目の６個の連続したメディアパケットがロスした場合を表している。
【００７５】
この場合に、１台目のＦＥＣパケット計算手段１０３ａが出力したＦＥＣパケットＹ１、Ｙ２、Ｙ３については、それぞれ対応するメディアパケットが２個ずつロスしてしまっているため、単純なＸＯＲ処理では復元ができない。
【００７６】
ところが、２台目のＦＥＣパケット計算手段１０３ｂが出力したＦＥＣパケットＸ１、Ｘ２、Ｘ３については、それぞれ対応するメディアパケットが１個ずつしかロスしていないため、ロスパケットの復元が可能である。そこで、メディアパケット復元手段２０３は、７、８、９番目のメディアパケットの復元処理を行う。
【００７７】
図１３は、本発明の実施の形態３における１台目のＦＥＣパケット計算手段１０３ａにより生成されるＦＥＣパケットとメディアパケットの復元の様子を示した図である。この図１３は、７〜１２番目の６個の連続したメディアパケットがロスしている場合に、２台目のＦＥＣパケット計算手段１０３ｂが出力したＦＥＣパケットＸ１、Ｘ２、Ｘ３により復元された７〜９番目のメディアパケットが反映される場合を表している。
【００７８】
このような復元処理の反映が行われた場合には、ＦＥＣパケットＹ１、Ｙ２、Ｙ３の様子についても、各々のＦＥＣパケットに対応するメディアパケットのロスが１個のみであるのと同様となる。このため、メディアパケット復元手段２０３は、１０、１１、１２番目のロスパケットを復元することができる。
【００７９】
このように、ロスパケットに対応するＦＥＣパケットが複数存在する場合にも、復元可能なＦＥＣパケットを適用してロスパケットの復元を部分的に行っていくことにより、ＦＥＣパケットにより復元可能なロスパケットの対応範囲が拡大することになる。また、上述のような関連性のある複数のＦＥＣパケットを用いることにより、互いに関連性のない独立した複数のＦＥＣパケットを用いる場合と同様の復元効果を得ることができる。これにより、使用するＦＥＣパケットを削減することができ、ＦＥＣストリームの配信に要する帯域幅を削減することが可能となる。
【００８０】
これらの機能を持つデータ送信装置１００、データ受信装置２００を用いたデータ配信システムについて示す。図１４は、本発明の実施の形態３におけるデータ送信装置１００、２台のデータ受信装置２００、２１０、およびネットワーク３００により構成される配信システムの構成図である。ここで、データ送信装置１００は、ＦＥＣパケット送信手段１０４ａよりＦＥＣストリームＦ１を送出し、ＦＥＣパケット送信手段１０４ｂよりＦＥＣストリームＦ２を送出しているものとする。
【００８１】
また、２台のＦＥＣパケット計算手段１０３ａ、１０３ｂで計算しているＦＥＣパケットは、前述の通りであるとする。さらに、ＦＥＣストリームＦ１は、データ受信装置２００、２１０の両方で受信されており、ＦＥＣストリームＦ２は、データ受信装置２１０のみで受信されているものとする。このとき、データ受信装置２００は、連続するメディアパケット２４個に対して、ＦＥＣパケット３個のオーバーヘッドのみではあるが、パケットロス復元能力については、２４メディアパケット中最大連続３個までのバーストロスを復元できるものに限られる。
【００８２】
一方、データ受信装置２１０は、連続するメディアパケット２４個に対して、ＦＥＣパケット６個のオーバーヘッドとなってしまうが、パケットロス復元能力については、２４メディアパケット中最大連続６個までのバーストロスを復元できることになる。このようにすれば、異なるパラメータのＦＥＣストリーム、例えばｎ＝３、Ｑ＝８のＦＥＣストリームとｎ＝６、Ｑ＝４のＦＥＣストリームとの両方を送信する場合に比べ、ストリーム配信に要するネットワークの帯域幅を少なくすることができる。
【００８３】
実施の形態３によれば、データ送信装置は、互いに関連性のある複数のＦＥＣストリームを送信し、データ受信装置は、それらのＦＥＣストリームを合わせて受信するようにする。これにより、互いに関連性のない独立した複数のＦＥＣストリームを送信してデータ受信装置毎に受信するＦＥＣストリームを選択する場合と比べて、ＦＥＣストリームの配信に要する帯域幅を削減することが可能となる。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施の形態１におけるデータ配信システムの構成図である。
【図２】本発明の実施の形態１におけるデータ送信装置の内部構成図である。
【図３】本発明の実施の形態１におけるデータ受信装置の内部構成図である。
【図４】本発明の実施の形態１におけるＦＥＣパケット計算手段において、ＦＥＣパケットを計算する様子を示した説明図である。
【図５】本発明の実施の形態１のメディアパケット復元手段２０３による復元処理の説明図である。
【図６】本発明の実施の形態１におけるＦＥＣストリーム選択・受信手段が内部で保持するテーブルのデータ構成を示した図である。
【図７】本発明の実施の形態１のデータ受信装置において、メディアパケット受信手段が自身のパケット受信状況をＦＥＣストリーム選択・受信手段に伝送する例を示した構成図である。
【図８】本発明の実施の形態２におけるＦＥＣストリーム選択・受信手段が内部で保持するテーブルのデータ構成を示した図である。
【図９】本発明の実施の形態３における１台目のＦＥＣパケット計算手段において、ＦＥＣパケットを計算する様子を示した説明図である。
【図１０】本発明の実施の形態３における２台のＦＥＣパケット計算手段により生成されるＦＥＣパケットを示した図である。
【図１１】本発明の実施の形態３における２台のＦＥＣパケット計算手段により生成されるＦＥＣパケットのＸＯＲ演算を行った場合を示した図である。
【図１２】本発明の実施の形態３における２台のＦＥＣパケット計算手段により生成されるＦＥＣパケットとロスパケットとの関係を示した図である。
【図１３】本発明の実施の形態３における１台目のＦＥＣパケット計算手段により生成されるＦＥＣパケットとメディアパケットの復元の様子を示した図である。
【図１４】本発明の実施の形態３におけるデータ送信装置、２台のデータ受信装置およびネットワークにより構成される配信システムの構成図である。
【図１】
0004532505.tif 000002
【図２】
0004532505.tif 000003
【図３】
0004532505.tif 000004
【図４】
0004532505.tif 000005
【図５】
0004532505.tif 000006
【図６】
0004532505.tif 000007
【図７】
0004532505.tif 000008
【図８】
0004532505.tif 000009
【図９】
0004532505.tif 000010
【図１０】
0004532505.tif 000011
【図１１】
0004532505.tif 000012
【図１２】
0004532505.tif 000013
【図１３】
0004532505.tif 000014
【図１４】
0004532505.tif 000015