(57)【要約】【課題】マルチメディア・ブロードキャスト・マルチキャスト・サービスにおいて、ワイヤレスWANで、高品質のマルチメディアストリーム信号を提供する場合には、（１）ワイヤレスWANでの送信におけるパケット損失。（２）パケット損失の再送信要求を行うと多量のＮＡＫが発生し、システムが対応できなくなる。（３）ＦＥＣにおける受信品質のアンバランスの問題が生じる。【解決手段】（１）アドホックネットワークを構成するノード集合内で、マルチメディアソースから異なるパケットのサブセットを受信した後で、各ノードがワイヤレスLAN間で受信したパケットの交換を行う。（２）各ノードでのパケット損失率に基づくひずみ率を計算し、ひずみ率を最小にするソースパケットレートでマルチメディアパケットストリームを送信する。【選択図】図１
2010258541.tif 000002
【特許請求の範囲】
【請求項１】
マルチメディアソース、及び、各ノード間で相互に送受信を行うアドホックネットワークを形成しているノード集合を含むシステムであって、
前記マルチメディアソースは、以下の手段を含み、
（ａ）各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れる手段、
（ｂ）所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求める手段、
（ｃ）所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求める手段、
（ｄ）前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信する手段、さらに、
前記ノード集合は以下の手段を含む、
（ｅ）各ノードが、前記パケットストリームを受信し、ノード間で受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復する手段、
（ｆ）各ノードが、デコーディングを行いパケットストリームを再生する手段、
を有するシステム。
【請求項２】
さらに、以下の手段を有する請求項１に記載のシステム、
前記マルチメディアソースが、以下の手段を含み、
（ａ）マルチメディアソースが、ノード集合へパケットストリームを送信する手段、
前記各ノードが以下の手段を含む、
（ｂ）各ノードが、前記パケットストリームを受信し、受信時のパケット損失率を求める手段、
（ｃ）各ノードが、各ノード間で受信したパケットを交換しパケットストリームを修復する手段、
（ｄ）各ノードが、修復したパケットストリームのデコーディングを行う手段、
（ｅ）各ノードが、各ノードのパケットストリーム受信時における損失率、及び、ノード間での修復後の損失率を、前記マルチメディアソースへ送信する手段。
【請求項３】
さらに、前記ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復する手段は、さらに以下の手段を含む請求項１及び２に記載のシステム、
（ａ）他のノードが、マルチメディアソースから受信したパケットストリームに欠落があり、かつ、前記一のノードから送信されたパケットを用いて修復することが出来る場合に、パケットストリームを修復する手段、
（ｂ）上記（ａ）を、所定時間の間繰返し行う手段。
【請求項４】
前記ひずみ率は、以下の式で与えられる請求項１乃至３に記載のシステム、
ひずみ率＝｛Ｄ−ｄ（Ｒｓ）＊（１−Ｐgrp（Ｒｓ，Ｒｃ））｝
ここで、Ｒｓはソースパケットレート、ＲｃはＦＥＣパケットレートである。Ｄはパケットを受信しないときのひずみ率である。ｄ（Ｒｓ）は、ソースパケットを所定のビット数でエンコードする場合のひずみ低減係数であり、Ｒｓの関数である。Ｐgrp（Ｒｓ，Ｒｃ）は、各ノードにおけるマルチメディアパケットのパケットの損失確率、及び、各ノードのノード間での修復後の損失確率に基づくグループ損失確率である。
【請求項５】
マルチメディアソースから送信されたパケットストリームを、各ノード間で相互に送受信を行うアドホックネットワークを形成しているノード集合で、受信し再生する方法、
（ａ）前記マルチメディアソースが、各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れるステップ、
（ｂ）マルチメディアソースが、所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求めるステップ、
（ｃ）マルチメディアソースが、所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求めるステップ、
（ｄ）マルチメディアソースが、前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信するステップ、
（ｅ）各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復するステップ、
（ｆ）各ノードが、デコーディングを行いパケットストリームを再生するステップ。
【請求項６】
前記受入れるステップは、さらに以下のステップを含む請求項５に記載の方法、
（ａ）マルチメディアソースが、ノード集合へパケットストリームを送信するステップ、
（ｂ）各ノードが、前記パケットストリームを受信し、受信時のパケット損失率を求めるステップ、
（ｃ）各ノードが、各ノード間で受信したパケットを交換しパケットストリームを修復するステップ、
（ｄ）各ノードが、修復したパケットストリームのデコーディングを行うステップ、
（ｅ）各ノードが、各ノードのパケットストリーム受信時における損失率、及び、ノード間での修復後の損失率を、前記マルチメディアソースへ送信するステップ。
【請求項７】
前記ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復するステップは、さらに以下のステップを含む請求項５及び６に記載の方法、
（ａ）他のノードが、マルチメディアソースから受信したパケットストリームに欠落があり、かつ、前記一のノードから送信されたパケットを用いて修復することが出来る場合に、パケットストリームを修復するステップ、
（ｂ）上記（ａ）を、所定時間の間繰返し行うステップ。
【請求項８】
前記ひずみ率は、以下の式で与えられる請求項５乃至７に記載の方法、
ひずみ率＝｛Ｄ−ｄ（Ｒｓ）＊（１−Ｐgrp（Ｒｓ，Ｒｃ））｝
ここで、Ｒｓはソースパケットレート、ＲｃはＦＥＣパケットレートである。Ｄはパケットを受信しないときのひずみ率である。ｄ（Ｒｓ）は、ソースパケットを所定のビット数でエンコードする場合のひずみ低減係数であり、Ｒｓの関数である。Ｐgrp（Ｒｓ，Ｒｃ）は、各ノードにおけるマルチメディアパケットのパケットの損失確率、及び、各ノードのノード間での修復後の損失確率に基づくグループ損失確率である。
【発明の詳細な説明】
【技術分野】
【０００１】
ワイヤレス広域エリアネットワークでの高品質マルチメディアパケットストリームのマルチキャスト送信に関する。
【背景技術】
【０００２】
マルチメディアソースから、マルチメディアストリーム信号をワイヤレス広域エリアネットワーク（以下、ワイヤレスWANと呼ぶ）を使用して、受信側ノード集合へ送信することはよく行われている。この場合ワイヤレスWANでの送信中にパケット損失が生じることがある。このパケット損失をカバーするために、各ノードからフィードバック方式で再送信要求を行うと、多量のNAK（ネガティブアック）が送信され、システムの対応が出来なくなる場合が生じる。これを避けるために前方誤り訂正（FORWARD ERROR CORRECTION、以下、ＦＥＣと呼ぶ。）がよく用いられている。ＦＥＣは送信側からデータの再送を行わず、その代わりに損失したパケットを回復することが出来るＦＥＣパケットを送信し、受信側でＦＥＣパケットを利用して送信中に損失したパケットを修復する方法である。ＦＥＣにおいて、ソースパケットの線形結合によってＦＥＣパケットを作成することを「ネットワークコーディング」と呼ぶ。ＦＥＣは例えば、動画や音声のデータを送る場合ような用途の通信でよく使われる。ＦＥＣを使えば、受信側はデータが再送されてくるのを待つ必要が無く、誤りによる遅延が小さくなるので、表示のタイミングに遅れることなく動画を表示することが出来る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】2008年7月2日付米国出願、Appl No. 12/166998、発明の名称：”Distribution Of Packets Among A Plurality Of Nodes”、発明者Gene Cheung
【非特許文献】
【０００４】
【非特許文献１】S. Raza, D. Li, C.-N. Chuah, and G. Cheung, ”Cooperative peer-to-peer repair for wireless multimedia broadcast，” in IEEE International Conference on Multimedia and Expo, Beijing, China, July 2007.
【非特許文献２】X. Liu, S. Raza, C.-N. Chuah, and G. Cheung， ”Network coding based cooperative peer-to-peer repair in wireless ad-hoc networks，” in IEEE International Conference on Communications, Beijing, China, May 2008.
【非特許文献３】X. Liu, G. Cheung， and C.-N. Chuah， ”Rate-distortion optimized network coding for cooperative video stream repair in wireless peer-to-peer Networks，” in 1st IEEE Workshop on Mobile Video Delivery, NewportBeach, CA, June 2008.
【非特許文献４】”Structured network coding and cooperative local peer-to-peer repair for MBMS video streaming，” in IEEE 2008 International Workshopon Multimedia Signal Processing, Cairns, Queensland, Australia, October 2008.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
３Ｇネットワークのマルチメディア・ブロードキャスト・マルチキャスト・サービス（Multimedia Broadcast/Multicast Service、MBMS）の様な送信サービスにおいて、ワイヤレスWANで、継続した高品質のマルチメディアストリーム信号を送信する場合、以下のような技術的な問題点がある。
１．ワイヤレスWANでの送信において、一時的なワイヤレスリンクの遮断により、パケット損失が生じる。
２．パケット損失をカバーするために、フィードバック方式で再送信要求を行うと、多量のＮＡＫ（ネガティブアック）が発生し、システムが対応できなくなる問題が発生する。
【０００６】
これらにより、再送信がうまく行かないために、高品質のビデオ・マルチキャス送信をフィードバック方式で行うことには問題がある。これらの問題を解決するために、前述のＦＥＣがある。しかし従来方法のＦＥＣでは、以下の問題がある。
３．選択されたｎ番目のユーザをターゲットとしているために、ターゲットとするｎ番目ユーザよりも悪い受信状況のユーザは、実質的なチャンネルの損失によりパケット損失に悩まされる。一方これより受信状況の良いユーザは、必要以上のチャンネル符号化のデータを受取ることになる。
【課題を解決するための手段】
【０００７】
[システム]
以上の問題を解決するために、本願発明ではシステムとして以下の手段を開示する。
マルチメディアソース、及び、各ノード間で相互に送受信を行うアドホックネットワークを形成しているノード集合を含むシステムであって、
（１）マルチメディアソースは、以下の手段を含み、
（ａ）各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れる手段、
（ｂ）所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求める手段、
（ｃ）所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求める手段、
（ｄ）前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信する手段、さらに、
（２）ノード集合は、以下の手段を含む、
（ｅ）各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復する手段、
（ｆ）各ノードが、デコーディングを行いパケットストリームを再生する手段。
【０００８】
[方法]
以上の問題を解決するために、本願発明では以下のシステムで使用される方法を開示する。
マルチメディアソースから送信されたパケットストリームを、各ノード間で相互に送受信を行うアドホックネットワークを形成しているノード集合で、受信し再生する方法、
（ａ）前記マルチメディアソースが、各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れるステップ、
（ｂ）マルチメディアソースが、所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求めるステップ、さらに、
（ｃ）マルチメディアソースが、所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求めるステップ、
（ｄ）マルチメディアソースが、前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信するステップ、
（ｅ）各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復するステップ、
（ｆ）各ノードが、デコーディングを行いパケットストリームを再生するステップ。
【０００９】
[発明の効果]
本願発明では、ＦＥＣを使用して、マルチメディアソースから複数のノード集合へのパケット配信において、ひずみ率を最小にするソースパケットレートを求め、その求められたソースパケットレートで、マルチメディアパケットストリームを送信する。さらに、その送信されたパケットストリームをノード集合内でＣＰＲを行い、パケットストリームを修復した後で再生するシステム・方法を開示する。本願発明には以下のような主な２つの有効性がある。
１．ＰＳＮＲ（Peak Signal to Noise Ratio）の改善
シミュレーション実験では、従来のJSCC（結合ソース・チャンネルコーディング）方法と比較して、マルチメディアソースとノード集合と全体で最適化を行ったネットワークコーディングのみを行い、ワイヤレスLANでのノード間（P2P間）でのデータ修復方法（CPR）を行わなかった場合には、ＰＳＮＲが９．２ｄＢ改善されたこと検証された。
また、ノード間（P2P間）でのデータ修復方法（CPR）を用いた場合であって、マルチメディアソースとノード集合とで、ネットワークコーディングが別個に行われたときと比較して、本願発明に従ってマルチメディアソースとノード集合と全体で最適化を行った場合には、ＰＳＮＲが３．７ｄＢ改善されたことが検証された。
２．マルチメディアソースから受信したパケットを集合内の他ノードに送信する場合、転送する前に、各ノードでＦＥＣを行って他ノードに送信し、マルチメディアソースからの送信、及び、集合内の各ノードでのパケットの修復が完了した後で、デコーディングを行う。その結果、マルチメディアソースから受信したパケットでコーディングを行うためには、十分でない数のパケットを受信したノードであっても、直ちに、ノード集合内でのパケットの修復（CPR）に対応することが出来る。
【図面の簡単な説明】
【００１０】
【図１】本発明を実施するシステムの概要図である。
【図２】本発明ので用いられるコンピュータブロック図である。
【図３】本発明でのノード集合でのデータ処理を示す図である。
【図４】本発明でのマルチメディアソースのソフトウェア構成図である。
【図５】本発明での全体の処理を示すフローチャートである。
【図６】本発明でのノードでの損失率を求めるフローチャートである。
【図７】本発明でのストリームの修復に関するフローチャートである。
【図８】本発明でのノードのソフトウェア構成図である。
【図９】本発明での実験結果を示す図である。
【発明を実施するための形態】
【００１１】
[システム全体の構成]
以下に本願発明の最良の形態を説明する。図１はシステム全体のハードウェア構成を示す図である。本願明細書で開示するシステム１００は、マルチメディアソース１１０、及び、ノード集合１２０を含む。マルチメディアソース１１０はノード集合１２０にマルチメディアストリームをワイヤレスWANで送信する。ノード集合１２０には複数のノードが含まれており、それぞれのノードがマルチメディアストリームを受信する。ノードの例としては、パソコン、ノートパソコン、ＰＤＡ(Persona Data Assistant)、携帯電話端末機などが挙げられるがこれらには限られない。ここでは各ノードはノード間で相互に送受信を行うアドホックネットワークを形成している。アドホックネットワークとは、アクセスポイントを必要としない、無線で接続できるノードのみで構成されたネットワークを言う。
【００１２】
[コンピュータ内部ハードウェア構成図]
図２は、本願発明を実施する、送信側マルチメディアソース１１０、及び、ノード集合１２０の各ノードＡ−Ｄ１２２ａのコンピュータ内部ハードウェア構成図を示す。コンピュータを用いたこれらの装置はプロセッサー３０２を有し、本願発明で実施されるプログラムが実行される。プロセッサー３０２からデータ及びコマンドはコミュニケーションバス３０４を通して送られる。コンピュータ３００はまた、ＲＡＭに代表されるメインメモリ３０６を有し、ここでプログラムコードが実行される。２次メモリー３０８には、例えば、一つ以上のハードディスク３１０、あるいは、フレキシブルディスクドライブ、磁気テープドライブ、ＣＤディスクドライブなどのリムーバブルストレージドライブ３１２を有している。ここでは、本願発明を実施するプログラムコードが格納される。
【００１３】
ユーザＩ／Ｏデバイスは、キーボード３１６、マウス３１８、ディスプレー３２０などを含んでいる。ディスプレーアダプター３２２は、コミュニケーションバス３０４とディスプレー３２０とのインターフェースを行い、プロセッサー３０２からのデータを受信し、ディスプレー３２０のために表示コマンドに変換する。さらに、プロセッサー３０２は、ネットワークアダプター３２４を通して、例えば、インターネット及びＬＡＮ等と通信する。
【００１４】
[ノードのハードウェア構成]
図３は、本願発明の受信側ノードのハードウェア構成ブロック図である。マルチメディアソース１１０は、ノード集合１２０へ、パケットストリーム１３２を送信する。一例としてノードＡ１２２ａでそれらの信号を受信する場合について説明する。ノードＡ１２２ａは、ワイヤレスＷＡＮのインターフェース１５２で、パケットストリームを受信し、そのデータをデータストア１５４に格納する。ここで、受信したパケットストリームは、マルチメディアソースからの送信損失により、多くの場合、全てのパケットストリームを受信できないことに注意されたい。またそのデータは、コントローラ１５８に送信され受信したパケットストリームに基づいて、ネットワークコーディングを行いＦＥＣパケットを作成する。受信したソースパケット及び作成されたＦＥＣパケットは、ワイヤレスＬＡＮインターフェース１５６へ送信され、そこからノード集合内の他のノードＮ１２２ｎへ送信される。
【００１５】
[CPRによるストリームの修復]  
ノードＮ１２２ｎが、マルチメディアソース１１０から受信したパケットストリーム１３２は、前述のように、全てのパケットストリームを受信出来ないことが多い。ノードＮ１２２ｎは、ノードＡから受信したパケットストリームを利用して、ノードＮ１２２ｎがマルチメディアソースから受信したマルチメディアストリームを修復する。このように、マルチメディアソースから複数のノードからなるノード集合へパケットストリームを送信する場合において、これらを受信したノード集合内で自己の受信したパケットを、ノード集合内の他のノードに送信し、集合内の各ノードは自己が受信していないパケットを取り込み、パケットストリームの修復を行う。これを本願明細書ではＣＰＲ（Corporate Peer-to-Peer Repair、ピア間協調修復）と呼ぶ。
【００１６】
[ノードのソフトウェア構成]
図８は、ノードのソフトウェア構成を示す図である。以下のようなソフトウェアモジュールを含む。送受信部２５２、アドホックネットワーク生成部２５４、パケットデータ解析部２５６、ストリームデータ解析部２５８、受信パケットストア部２６０、ストリーム修復部２６２、デコーディング部２６４、ストリーム再生部２６８、ネットワークエンコーディング部２６６が含まれる。
ここで、送受信部２５２、は、マルチメディアソース１１０からのパケットデータストリームデータの受信、及び、他のノードからのパケットデータの受信を行うとともに、自己が受信したパケットデータの他のノードへの送信、自己が受信したパケットの損失率、及び、ＣＰＲによるストリーム修復後のパケット損失率を送信する。
【００１７】
アドホックネットワーク生成部２５４について説明する。本願発明では、ノード集合内で相互にパケットの交換を行うために、ノード集合内でアドホックネットワークを構成する。そのためにアドホックネットワーク生成部がノード集合内の他のノードとのアドホックネットワークを形成する。
【００１８】
パケットデータ解析部２５６は、他のノードから送信されたパケットが正常に受信されたか否かを解析する。正常に受信されたパケットをストリーム修復部２６２へ送る。
【００１９】
ストリームデータ解析部２５８は、マルチメディアソース１１０から送信されたマルチメディアストリームが正し受信されたか否かを解析する。正しく受信された部分を受信パケットストア部２６０へ送る。また、必要に応じて受信時のストリームの損失率を計算し送受信部２５２へ送る。
【００２０】
受信パケットストア部２６０は、正しく受信されたストリームパケットを格納する。
【００２１】
ストリーム修復部２６２は、受信パケットストア部２６０から送られるストリームパケットの中で、欠落したパケットを確認し、パケットデータ解析部２５６から送られるパケットデータを用いて修復が出来るか否かを判断し、修復が出来る場合には修復する。また、必要に応じて修復後のストリームの損失率を計算し送受信部２５２へ送る。
【００２２】
デコーディング部２６４は、修復されたストリームデータをデコーディングする。
【００２３】
ストリーム再生部２６８は、デコーディングされたパケットストリームを再生する。
【００２４】
ネットワークエンコーディング部２６６は、受信パケットストア部２６０から送られる正常に受信されたパケットを用いて、さらに、エンコーディングを行い送受信部２５２へ送る。
【００２５】
[マルチメディアソースの構成図]
図４は、マルチメディアソース１１０のソフトウェア構成図である。
マルチメディアソース１１０は、データ送受信部１６２、パケット損失率入力部１６４、ノードパケット損失率計算部１６６、ひずみ率計算部１６８、ネットワークコード計算部１７０、マルチメディアパケットストリーム生成部１７２、マルチメディアデータ管理部１７４、マルチメディアデータ格納部１７６を含む。
【００２６】
データ送受信部１６２は、ノード集合へマルチメディアストリームへの送信、及び、各ノードからのパケット損失に関するデータを受信する。それらのデータが既知である場合には、それらのデータをパケット損失率入力部１６４からマルチメディアソースに入力する。ノードパケット損失率計算部１６６は、各ノードから送信されたマルチメディアストリームの受信時の損失率、及び、CPR修復後のマルチメディアストリームの損失率を計算する。
【００２７】
ひずみ率計算部１６８は、後述のひずみ率の定義に従って、ひずみ率を求める。
【００２８】
ネットワークコード計算部１７０は、ひずみ率計算部１６８で計算されたひずみ率について、Ｒｓ（ソースパケットレート）を変更しながら、ひずみ率を計算しそれを最小とするＲｓを求めて、ネットワークコードを決定する。
【００２９】
マルチメディアデータ格納部１７６は、送信するマルチメディアパケットデータストリームが格納されている。これらのデータはマルチメディアデータ管理部１７４へ送られる。
【００３０】
マルチメディアデータ管理部１７４は、マルチメディアデータ格納部１７６を管理するとともに、マルチメディアデータ格納部１７６から送られてきたデータを、マルチメディアパケットデータストリーム生成部１７２へ送る。
【００３１】
マルチメディアパケットデータストリーム生成部１７２は、ネットワークコード計算部１７０で決定されたネットワークコードに従ってマルチメディアパケットデータストリームを生成する。
【００３２】
[ＦＥＣ]
本願発明では、マルチメディアソースからノード集合へ送信する場合、及び、ノード集合内でＣＰＲによるパケットストリーム修復の場合に、ネットワークコーディングを行う。ＦＥＣは送信側からデータの再送を行わず、その代わり損失したパケットを回復することが出来るＦＥＣパケットを送信し、受信側でＦＥＣパケットを利用して送信中に損失したパケットを回復する方法である。ＦＥＣにおいて、ＦＥＣパケットを作成する場合に、ソースパケットの線形結合によって作成することをネットワークコーディングと呼ぶ。
【００３３】
（１）マルチメディアソース送信時のＦＥＣ
ここでは、マルチメディアソースから５個のパケットを送信する場合を例にとって説明する。５個のパケットのうち３個がソースパケット（ｓ１、ｓ２、ｓ３）であり、２個がＦＥＣパケット（ｃ４、ｃ５）であると仮定する。
マルチメディアソースで生成されるパケットPC（S）を次のように定義する。
PC（S）＝｛ｓ１、ｓ２，ｓ３，ａ４，a５｝
ここで、ｃ４及びｃ５は以下のように表すことが出来る。
a４＝α１・ｓ１＋α２・ｓ２＋α３・ｓ３
a５＝β１・ｓ１＋β２・ｓ２＋β３・ｓ３
ここで、α１、α２、α３、β１、β２、及び、β３はランダムに生成される乗数であり、ａ４及びａ５とともに送信される。受信側で、５個のパケットのうち、任意の３個のパケットを受信すると、未知パケットが３個で、方程式が３個であるので解を求めることが出来る。すなわち、受信側で、送信されたストリームパケットを再現することが出来る。
【００３４】
（２）ノード集合でのＦＥＣ
（２−１）ノードＡでのＦＥＣ
例えば、ノードＡで、前述のパケットのうち、以下のように３個受信したと仮定する。ノードＡでの受信パケットPR(S-A)＝｛ｓ１，ｓ３，ｃ４｝とする。ここで、３個の独立したパケットを受信したので、この時点で、方程式を解くことによりソースパケットにデコードすることが出来る。すなわち、ソースパケットPS＝｛ｓ１，ｓ２，ｓ３｝を再生することが出来る。
【００３５】
ノードＡで作成されるＦＥＣパケット
ノードＡで受信したパケットPR(S-A)＝｛ｓ１，ｓ３，ｃ４｝の線形結合によって、以下のＦＥＣパケットを生成する。
ｂ１＝γ１・ｓ１+γ２・ｓ３＋γ３・a４
ノードＡは、このＦＥＣパケット（ｂ１）を集合内の他のパケットへ送信する。例えばノードＢへ送信する。
【００３６】
（２−２）ノードＢでのＦＥＣ
ノードＡからノードＢへ送信されたデータは、PC(A-B)＝｛ｂ１｝であるとする。ノードＢでの、ノードＡから送信されたパケットの受信パケットは、PR(A-B)＝｛ｂ１｝である。
【００３７】
（２―３）ノードＢでの受信パケット
ノードＢでは、マルチチャンネルソースから、受信したパケットも有している。マルチチャンネルソースからノードＢが２個のパケットを受信したとし、それらをPR（S-B）＝｛ｓ１，ｓ２｝と仮定する。
PR(A-B)＝｛ｂ１｝
PR（S-B）＝｛ｓ１，ｓ２｝
これらの、情報より、パケットＢでは、３個の変数に対して、３個の方程式があるので、解を求めることが出来、その結果、ｓ１，ｓ２，及び、ｂ１より、ｓ３を再現することが出来る。
【００３８】
以下に本願発明の処理フローの詳細について説明する。本願発明は、マルチメディアソース（送信機）から、ワイヤレスLANで接続されているアドホックネットワークのノード集合へのパケット送信において、ひずみ率を最小にするソースパケットレートを求め、さらに、そのソースパケットレートに従って、マルチメディアパケットストリームを送信する方法・システムである、
【００３９】
[全体の処理フロー]
図５は、本願発明の全体の処理フローを示す。
（A）前記マルチメディアソースが、各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れるステップ（４１０）、
（B）マルチメディアソースが、所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求めるステップ（４３０）、
（C）マルチメディアソースが、所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求めるステップ（４４０）、
（D）マルチメディアソースが、前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信するステップ（４５０）、
（E）各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復するステップ（４６０）、
（F）各ノードが、デコーディングを行いパケットストリームを再生するステップ（４７０）。
【００４０】
以下処理フローの詳細について（Ａ）から（Ｆ）まで順に説明する。
[ステップ（Ａ）の詳細]
（Ａ）前記マルチメディアソースが、各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れるステップ。
各ノードでのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率が、後述の「ひずみ率」を求めるために必要である。それらのデータが既知である場合には、それらのデータをパケット損失率入力部１６４からマルチメディアソースに入力する。
【００４１】
[パケット損失率の実測]
以下に、各ノードでのパケットストリーム送信時における損失率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失率を、実際のノードからの実測により求める場合のフローを図６に示す。
（ａ）マルチメディアソースが、ノード集合へパケットストリームを送信するステップ（４１２）、
このときには、ノード集合での受信時における各ノードでの損失率を求めるので、ＦＥＣを行う必要ない。
（ｂ）各ノードが、前記パケットストリームを受信し、受信時のパケット損失率を求めるステップ（４１４）、
ノード集合の各ノードが、マルチメディアソースからのパケットストリームを受信する。ワイヤレスＷＡＮの場合には、送信において、一時的なワイヤレスリンクの遮断により、パケット損失が生じることが発生することは良く知られている。ここで、各ノードはパケットストリーム受信時のパケットの損失率を求める。
（ｃ）各ノードが、各ノード間で受信したパケットを交換しパケットストリームを修復するステップ（４１６）、
【００４２】
（ｄ）各ノードが、修復したパケットストリームのデコーディングを行うステップ（４１８）、
（ｅ）各ノードが、各ノードのパケットストリーム受信時における損失率、及び、ノード間でのパケット交換による修復後の損失率を、前記マルチメディアソースへ送信するステップ（４２０）。
各ノードはパケットストリーム受信時、及び、ノード間でのパケット交換によるストリーム修復後のパケット損失率を求め、そのデータをマルチメディアソースへ送信する。
以上により、各ノードのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率が、マルチメディアソースへ送信される。
【００４３】
[パケットストリームを修復するステップの詳細]
ここで、ステップ（ｄ）各ノードが、各ノード間で受信したパケットを交換しパケットストリームを修復するステップ(４１８)を詳しく説明すると次のようになる。この場合のフローチャートを図７に示す。
（ｄ−１）一のノードが、受信したパケットを他ノードに送信するステップ（５１０）、
一のノードは、受信したパケットをノード集合内の全ての他ノードに送信する。ここで、一のノードが受信したパケットの線形結合に基づいて、ＦＥＣパケットを生成しこれらを送信する。
（ｄ−２）他のノードが、一のノードから送信されたパケットを受信するステップ（５１２）、
ここで、他のノードは自己が受信していないパケットがあっても、そのパケットの再送要求をマルチメディアソースに出さない。再送要求を送信すると、NAK（Negative Acknowledgement）の問題が発生するからである。
【００４４】
（ｄ−３）他のノードが、マルチメディアソースから受信したパケットストリームに欠落があり、かつ、一のノードから送信されたパケットを用いて修復することが出来る場合に、パケットストリームを修復するステップ（５１４、５１６）、
この時には、受信したパケットのデコードを行わないで、マルチメディアソースから受信したソースパケット、及び、一のノードから受信したＦＥＣパケットを用いてパケットストリームを修復する。
（ｄ−４）上記（ｄ−１）から（ｄ−３）を、所定時間の間繰返し行うステップ（５１８）、
（ｄ−５）修復されたストリームのデコーディングを行うステップ（５２０）、
一連のストリームの修復が終了した後でデコーディングを行う。
以上のように、ノード集合内でＣＰＲを実施しつつ、マルチメディアソースから受信したパケットストリームの修復を行う。
【００４５】
[ステップ（Ｂ）の詳細]
（Ｂ）マルチメディアソースが、所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失率、及び、ノード間での修復後の損失率に基づいて、ひずみ率を求めるステップ（４３０）、
（１）ひずみ率の計算
実際には、マルチメディアソースから各ノードへの送信時の損失、及び、各ノード間での送信時の損失が発生するので、必ずしも、全てのノードが全てのストリームパケットを有する訳ではない。
そこで、Ｒｓの関数として求められるひずみ低減率ｄ（Ｒｓ）、各ノードがマルチメディアソースから各ノードへのパケット送信における損失確率（l´col）、及び、各ノードのノード間修復後の損失確率Ｑに基づいて、ひずみ率を計算する。
（２）ひずみ率の定義
以下にひずみ率を定義する。
【００４６】
（式１）
ひずみ率＝ｆ｛d(Rｓ),l´col,Q｝
＝｛Ｄ−d(Rｓ)＊（１−Ｐgrp（Ｒｓ，Ｒｃ））｝Ｒｓ＋Ｒｃ＝＜C
ここで、Dはひずみの初期値であり、各ノードでパケットが受信されない場合の全体のひずみ率である。Ｒｓはソースパケットレート、ＲｃはＦＥＣパケットレートである。
d(Rｓ)は、所与のGOPのシーケンスを所定のビット数で量子化する場合のひずみ低減率であって、Rｓに比例する。ここで、GOPとは、ビデオストリームを記録する際に用いられる圧縮コーデックにおいて、最小単位である一コマ（フレーム）を効率的に管理するために必要なコマデータのまとまりのことを言う。d(Rｓ)は順にＲｓを一パケット毎減らすことにより、ひずみ率に関する評価関数の変化をモニターしつつこの評価関数を最小にするRｓを実験により求める。Cは送信において利用可能なワイヤーレスWANの全帯域である。
【００４７】
[グループ損失確率]
Ｐgrp（Ｒｓ，Ｒｃ）は、Ｒｓ及びＲｃに基づく「グループ損失確率」であり、Ｒｃ個以上のパケットが損失した場合、ＣＰＲがリカバリー出来ない確率である。Ｐgrp（Ｒｓ，Ｒｃ）は、また、各ノードへのパケット配信における損失率（l´col）、及び、各ノードのノード間修復後の損失率  Qを与えることにより求めることが出来る。なお、Ｐgrp（Ｒｓ，Ｒｃ）の詳細な定義は、後述の[Ｐgrp（Ｒｓ，Ｒｃ）の詳細な定義]において詳細を述べる。
【００４８】
[ステップ（Ｃ）の詳細]
（Ｃ）マルチメディアソースが、所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求めるステップ（４４０）、
ひずみ率を最小にするソースパケットレートを求める。
（式1)を最小化する最適のRｓ及びRｃを求めるために、一例として、本願発明では、以下の検索方法を開示するが、検索方法はこれには限らない。
（ａ）Ｒｓの初期値Ｒｓを決める。
（ｂ）Ｒｓの値、すなわち、Ｒｓのパケット数を、順次１づつ減少させ、式（１）の値を求める。
（ｃ）（式１）の値が最小になるようになるように (ｂ)を繰り返して行う。
以上により、（式１）を最小にするＲｓの値を求めることが出来る。
【００４９】
[ステップ（Ｄ）の詳細]
（Ｄ）マルチメディアソースが、前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信するステップ（４５０）、
この時には、求められたソースパケットレートに基づいて、ネットコーディングを行いながら送信する。
【００５０】
[ステップ（Ｅ）の詳細]  
（Ｅ）各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復するステップ（４６０）、
この時も、各ノードがネットワークコーディングを行いながら他のノードへ送信する。
【００５１】
[ステップ（Ｆ）の詳細]
（Ｆ）各ノードが、デコーディングを行いパケットストリームを再生するステップ（４７０）。
ここで、本願発明では、以下のように、ストリームデータの修復が終了した後でデコーディングを行う。
これにより、ひずみ率が最小となるマルチメディアパケットデータストリームの再生が可能となる。
【００５２】
[パケットがリカバリー出来ない確率Ｐgrp（Ｒｓ，Ｒｃ）の定義]
パケットがリカバリー出来ない確率Ｐgrp（Ｒｓ，Ｒｃ）は次式で与えられる。
【００５３】
（式２）
2010258541.tif 000003
【００５４】
ここで、lavgは、各ノードがマルチメディアソースを受信したときの各ノードのパケット損失確率ｌｍの平均値である。（ここで、ｍ＝１からＮであり、Ｎは全ノードの数を表す。）Ｐcolは、集合がｉ個のパケットを損失したときに十分にリカバリー出来ない確率である。言い換えると、
（i）単一パケットがワイヤレスWANで正しく配信される場合における、または、
(ii)単一パケットがワイヤレスWANで正しく配信されない場合には、集合内に正しく配信され、その結果集合内でCPRにより修復される場合における、単一パケットがリカバー出来る確率である。
【００５５】
Ｐcol（ｉ，Ｒｃ）は次式で定義される。
【００５６】
（式３）
2010258541.tif 000004
【００５７】
Ｐisuf（ｉ，Ｒｃ）は「集合不十分確率」であり、CPRで修復するために必要な最小限のパケットがそろわない確率である
Ｑ（ｉ）は、ＣＰＲ損失確率であり、各ノードでのＦＥＣパケットの数に依存する損失確率である。
集合の不十分性確率Ｐisuf（ｉ，Ｒｃ）は（４）式で表すことが出来る。
【００５８】
（式４）
2010258541.tif 000005
【００５９】
ここで、（式４）は、ノードで損失したｉ個のパケットの中で、ｊ個のパケットのみを、集合を通じて受信し、その他のパケットは集合内で損失する確率である。よって、この値以下の場合には全体のパケットグループをリカバリーすることは出来ない。l´colは、集合パケット損失確率であり、マルチメディアソースから各ノードへの送信時の損失確率である。
【００６０】
（式５）
2010258541.tif 000006
【００６１】
である。ここで、ｌｍ（ｍ＝１からＮ、Ｎは全ノードの数）は、各ノードがマルチメディアソースを受信したときのパケット損失確率、ρは、空間相関係数（spacial correlated factor）である。これはマルチメディア信号を受信する場合、各ノードにおいて同じ信号を受信するか否かに関係する値である。これはノード間の距離に関係する。本実施例ではρ＝１とした。
これにより、ひずみ率が、マルチメディアソースから各ノードへの送信時の損失率（l´col）、及び、各ノードでのＦＥＣパケットの数に依存する損失率（Q(i)）に基づいていることが分かる。
【００６２】
[実験結果]
本願発明で開示した方法により求められたソースパケットにより、マルチメディアソースから各ノードへの送信し、各ノードでの損失パケットの修復を行った場合における、ひずみ率の低減を図ることが出来る。
以下に、本願発明で開示する、JSCC方法とCPRとを同時に用いた実験例、CPRのみを用いた実験例、CPRを用いない場合の実験例を示す。図９上図ａはＨＭパケット損失モデル、図９下図はＨＴパケット損失モデルの場合である。
【符号の説明】
【００６３】
１１０：マルチメディアソース
１２０：ノード集合
１２２ａ：ノードＡ
１２２ｎ：他のノードＮ
１３２：パケットストリーム
１５８：コントローラ
１５４：データストア
１５６：ＷＬＡＮインターフェース
３００：コンピュータ
３０２：プロセッサー
３０４：コミュニケーションバス
３０６：メインメモリ
３０８：２次メモリー
３１０：ハードディスク
３１６：キーボード
３１８：マウス
３２０：ディスプレー
【図１】
2010258541.tif 000007
【図２】
2010258541.tif 000008
【図３】
2010258541.tif 000009
【図４】
2010258541.tif 000010
【図５】
2010258541.tif 000011
【図６】
2010258541.tif 000012
【図７】
2010258541.tif 000013
【図８】
2010258541.tif 000014
【図９】
2010258541.tif 000015