説明

マルチメディアビデオ送信システム・方法

【課題】
マルチメディア・ブロードキャスト・マルチキャスト・サービスにおいて、ワイヤレスWANで、高品質のマルチメディアストリーム信号を提供する場合には、(1)ワイヤレスWANでの送信におけるパケット損失。(2)パケット損失の再送信要求を行うと多量のNAKが発生し、システムが対応できなくなる。(3)FECにおける受信品質のアンバランスの問題が生じる。
【解決手段】
(1)アドホックネットワークを構成するノード集合内で、マルチメディアソースから異なるパケットのサブセットを受信した後で、各ノードがワイヤレスLAN間で受信したパケットの交換を行う。(2)各ノードでのパケット損失率に基づくひずみ率を計算し、ひずみ率を最小にするソースパケットレートでマルチメディアパケットストリームを送信する。

【発明の詳細な説明】
【技術分野】
【0001】
ワイヤレス広域エリアネットワークでの高品質マルチメディアパケットストリームのマルチキャスト送信に関する。
【背景技術】
【0002】
マルチメディアソースから、マルチメディアストリーム信号をワイヤレス広域エリアネットワーク(以下、ワイヤレスWANと呼ぶ)を使用して、受信側ノード集合へ送信することはよく行われている。この場合ワイヤレスWANでの送信中にパケット損失が生じることがある。このパケット損失をカバーするために、各ノードからフィードバック方式で再送信要求を行うと、多量のNAK(ネガティブアック)が送信され、システムの対応が出来なくなる場合が生じる。これを避けるために前方誤り訂正(FORWARD ERROR CORRECTION、以下、FECと呼ぶ。)がよく用いられている。FECは送信側からデータの再送を行わず、その代わりに損失したパケットを回復することが出来るFECパケットを送信し、受信側でFECパケットを利用して送信中に損失したパケットを修復する方法である。FECにおいて、ソースパケットの線形結合によってFECパケットを作成することを「ネットワークコーディング」と呼ぶ。FECは例えば、動画や音声のデータを送る場合ような用途の通信でよく使われる。FECを使えば、受信側はデータが再送されてくるのを待つ必要が無く、誤りによる遅延が小さくなるので、表示のタイミングに遅れることなく動画を表示することが出来る。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】2008年7月2日付米国出願、Appl No. 12/166998、発明の名称:”Distribution Of Packets Among A Plurality Of Nodes”、発明者Gene Cheung
【非特許文献】
【0004】
【非特許文献1】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.
【非特許文献2】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.
【非特許文献3】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.
【非特許文献4】”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.
【発明の概要】
【発明が解決しようとする課題】
【0005】
3Gネットワークのマルチメディア・ブロードキャスト・マルチキャスト・サービス(Multimedia Broadcast/Multicast Service、MBMS)の様な送信サービスにおいて、ワイヤレスWANで、継続した高品質のマルチメディアストリーム信号を送信する場合、以下のような技術的な問題点がある。
1.ワイヤレスWANでの送信において、一時的なワイヤレスリンクの遮断により、パケット損失が生じる。
2.パケット損失をカバーするために、フィードバック方式で再送信要求を行うと、多量のNAK(ネガティブアック)が発生し、システムが対応できなくなる問題が発生する。
【0006】
これらにより、再送信がうまく行かないために、高品質のビデオ・マルチキャス送信をフィードバック方式で行うことには問題がある。これらの問題を解決するために、前述のFECがある。しかし従来方法のFECでは、以下の問題がある。
3.選択されたn番目のユーザをターゲットとしているために、ターゲットとするn番目ユーザよりも悪い受信状況のユーザは、実質的なチャンネルの損失によりパケット損失に悩まされる。一方これより受信状況の良いユーザは、必要以上のチャンネル符号化のデータを受取ることになる。
【課題を解決するための手段】
【0007】
[システム]
以上の問題を解決するために、本願発明ではシステムとして以下の手段を開示する。
マルチメディアソース、及び、各ノード間で相互に送受信を行うアドホックネットワークを形成しているノード集合を含むシステムであって、
(1)マルチメディアソースは、以下の手段を含み、
(a)各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れる手段、
(b)所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求める手段、
(c)所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求める手段、
(d)前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信する手段、さらに、
(2)ノード集合は、以下の手段を含む、
(e)各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復する手段、
(f)各ノードが、デコーディングを行いパケットストリームを再生する手段。
【0008】
[方法]
以上の問題を解決するために、本願発明では以下のシステムで使用される方法を開示する。
マルチメディアソースから送信されたパケットストリームを、各ノード間で相互に送受信を行うアドホックネットワークを形成しているノード集合で、受信し再生する方法、
(a)前記マルチメディアソースが、各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れるステップ、
(b)マルチメディアソースが、所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求めるステップ、さらに、
(c)マルチメディアソースが、所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求めるステップ、
(d)マルチメディアソースが、前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信するステップ、
(e)各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復するステップ、
(f)各ノードが、デコーディングを行いパケットストリームを再生するステップ。
【0009】
[発明の効果]
本願発明では、FECを使用して、マルチメディアソースから複数のノード集合へのパケット配信において、ひずみ率を最小にするソースパケットレートを求め、その求められたソースパケットレートで、マルチメディアパケットストリームを送信する。さらに、その送信されたパケットストリームをノード集合内でCPRを行い、パケットストリームを修復した後で再生するシステム・方法を開示する。本願発明には以下のような主な2つの有効性がある。
1.PSNR(Peak Signal to Noise Ratio)の改善
シミュレーション実験では、従来のJSCC(結合ソース・チャンネルコーディング)方法と比較して、マルチメディアソースとノード集合と全体で最適化を行ったネットワークコーディングのみを行い、ワイヤレスLANでのノード間(P2P間)でのデータ修復方法(CPR)を行わなかった場合には、PSNRが9.2dB改善されたこと検証された。
また、ノード間(P2P間)でのデータ修復方法(CPR)を用いた場合であって、マルチメディアソースとノード集合とで、ネットワークコーディングが別個に行われたときと比較して、本願発明に従ってマルチメディアソースとノード集合と全体で最適化を行った場合には、PSNRが3.7dB改善されたことが検証された。
2.マルチメディアソースから受信したパケットを集合内の他ノードに送信する場合、転送する前に、各ノードでFECを行って他ノードに送信し、マルチメディアソースからの送信、及び、集合内の各ノードでのパケットの修復が完了した後で、デコーディングを行う。その結果、マルチメディアソースから受信したパケットでコーディングを行うためには、十分でない数のパケットを受信したノードであっても、直ちに、ノード集合内でのパケットの修復(CPR)に対応することが出来る。
【図面の簡単な説明】
【0010】
【図1】本発明を実施するシステムの概要図である。
【図2】本発明ので用いられるコンピュータブロック図である。
【図3】本発明でのノード集合でのデータ処理を示す図である。
【図4】本発明でのマルチメディアソースのソフトウェア構成図である。
【図5】本発明での全体の処理を示すフローチャートである。
【図6】本発明でのノードでの損失率を求めるフローチャートである。
【図7】本発明でのストリームの修復に関するフローチャートである。
【図8】本発明でのノードのソフトウェア構成図である。
【図9】本発明での実験結果を示す図である。
【発明を実施するための形態】
【0011】
[システム全体の構成]
以下に本願発明の最良の形態を説明する。図1はシステム全体のハードウェア構成を示す図である。本願明細書で開示するシステム100は、マルチメディアソース110、及び、ノード集合120を含む。マルチメディアソース110はノード集合120にマルチメディアストリームをワイヤレスWANで送信する。ノード集合120には複数のノードが含まれており、それぞれのノードがマルチメディアストリームを受信する。ノードの例としては、パソコン、ノートパソコン、PDA(Persona Data Assistant)、携帯電話端末機などが挙げられるがこれらには限られない。ここでは各ノードはノード間で相互に送受信を行うアドホックネットワークを形成している。アドホックネットワークとは、アクセスポイントを必要としない、無線で接続できるノードのみで構成されたネットワークを言う。
【0012】
[コンピュータ内部ハードウェア構成図]
図2は、本願発明を実施する、送信側マルチメディアソース110、及び、ノード集合120の各ノードA−D122aのコンピュータ内部ハードウェア構成図を示す。コンピュータを用いたこれらの装置はプロセッサー302を有し、本願発明で実施されるプログラムが実行される。プロセッサー302からデータ及びコマンドはコミュニケーションバス304を通して送られる。コンピュータ300はまた、RAMに代表されるメインメモリ306を有し、ここでプログラムコードが実行される。2次メモリー308には、例えば、一つ以上のハードディスク310、あるいは、フレキシブルディスクドライブ、磁気テープドライブ、CDディスクドライブなどのリムーバブルストレージドライブ312を有している。ここでは、本願発明を実施するプログラムコードが格納される。
【0013】
ユーザI/Oデバイスは、キーボード316、マウス318、ディスプレー320などを含んでいる。ディスプレーアダプター322は、コミュニケーションバス304とディスプレー320とのインターフェースを行い、プロセッサー302からのデータを受信し、ディスプレー320のために表示コマンドに変換する。さらに、プロセッサー302は、ネットワークアダプター324を通して、例えば、インターネット及びLAN等と通信する。
【0014】
[ノードのハードウェア構成]
図3は、本願発明の受信側ノードのハードウェア構成ブロック図である。マルチメディアソース110は、ノード集合120へ、パケットストリーム132を送信する。一例としてノードA122aでそれらの信号を受信する場合について説明する。ノードA122aは、ワイヤレスWANのインターフェース152で、パケットストリームを受信し、そのデータをデータストア154に格納する。ここで、受信したパケットストリームは、マルチメディアソースからの送信損失により、多くの場合、全てのパケットストリームを受信できないことに注意されたい。またそのデータは、コントローラ158に送信され受信したパケットストリームに基づいて、ネットワークコーディングを行いFECパケットを作成する。受信したソースパケット及び作成されたFECパケットは、ワイヤレスLANインターフェース156へ送信され、そこからノード集合内の他のノードN122nへ送信される。
【0015】
[CPRによるストリームの修復]
ノードN122nが、マルチメディアソース110から受信したパケットストリーム132は、前述のように、全てのパケットストリームを受信出来ないことが多い。ノードN122nは、ノードAから受信したパケットストリームを利用して、ノードN122nがマルチメディアソースから受信したマルチメディアストリームを修復する。このように、マルチメディアソースから複数のノードからなるノード集合へパケットストリームを送信する場合において、これらを受信したノード集合内で自己の受信したパケットを、ノード集合内の他のノードに送信し、集合内の各ノードは自己が受信していないパケットを取り込み、パケットストリームの修復を行う。これを本願明細書ではCPR(Corporate Peer-to-Peer Repair、ピア間協調修復)と呼ぶ。
【0016】
[ノードのソフトウェア構成]
図8は、ノードのソフトウェア構成を示す図である。以下のようなソフトウェアモジュールを含む。送受信部252、アドホックネットワーク生成部254、パケットデータ解析部256、ストリームデータ解析部258、受信パケットストア部260、ストリーム修復部262、デコーディング部264、ストリーム再生部268、ネットワークエンコーディング部266が含まれる。
ここで、送受信部252、は、マルチメディアソース110からのパケットデータストリームデータの受信、及び、他のノードからのパケットデータの受信を行うとともに、自己が受信したパケットデータの他のノードへの送信、自己が受信したパケットの損失率、及び、CPRによるストリーム修復後のパケット損失率を送信する。
【0017】
アドホックネットワーク生成部254について説明する。本願発明では、ノード集合内で相互にパケットの交換を行うために、ノード集合内でアドホックネットワークを構成する。そのためにアドホックネットワーク生成部がノード集合内の他のノードとのアドホックネットワークを形成する。
【0018】
パケットデータ解析部256は、他のノードから送信されたパケットが正常に受信されたか否かを解析する。正常に受信されたパケットをストリーム修復部262へ送る。
【0019】
ストリームデータ解析部258は、マルチメディアソース110から送信されたマルチメディアストリームが正し受信されたか否かを解析する。正しく受信された部分を受信パケットストア部260へ送る。また、必要に応じて受信時のストリームの損失率を計算し送受信部252へ送る。
【0020】
受信パケットストア部260は、正しく受信されたストリームパケットを格納する。
【0021】
ストリーム修復部262は、受信パケットストア部260から送られるストリームパケットの中で、欠落したパケットを確認し、パケットデータ解析部256から送られるパケットデータを用いて修復が出来るか否かを判断し、修復が出来る場合には修復する。また、必要に応じて修復後のストリームの損失率を計算し送受信部252へ送る。
【0022】
デコーディング部264は、修復されたストリームデータをデコーディングする。
【0023】
ストリーム再生部268は、デコーディングされたパケットストリームを再生する。
【0024】
ネットワークエンコーディング部266は、受信パケットストア部260から送られる正常に受信されたパケットを用いて、さらに、エンコーディングを行い送受信部252へ送る。
【0025】
[マルチメディアソースの構成図]
図4は、マルチメディアソース110のソフトウェア構成図である。
マルチメディアソース110は、データ送受信部162、パケット損失率入力部164、ノードパケット損失率計算部166、ひずみ率計算部168、ネットワークコード計算部170、マルチメディアパケットストリーム生成部172、マルチメディアデータ管理部174、マルチメディアデータ格納部176を含む。
【0026】
データ送受信部162は、ノード集合へマルチメディアストリームへの送信、及び、各ノードからのパケット損失に関するデータを受信する。それらのデータが既知である場合には、それらのデータをパケット損失率入力部164からマルチメディアソースに入力する。ノードパケット損失率計算部166は、各ノードから送信されたマルチメディアストリームの受信時の損失率、及び、CPR修復後のマルチメディアストリームの損失率を計算する。
【0027】
ひずみ率計算部168は、後述のひずみ率の定義に従って、ひずみ率を求める。
【0028】
ネットワークコード計算部170は、ひずみ率計算部168で計算されたひずみ率について、R(ソースパケットレート)を変更しながら、ひずみ率を計算しそれを最小とするRを求めて、ネットワークコードを決定する。
【0029】
マルチメディアデータ格納部176は、送信するマルチメディアパケットデータストリームが格納されている。これらのデータはマルチメディアデータ管理部174へ送られる。
【0030】
マルチメディアデータ管理部174は、マルチメディアデータ格納部176を管理するとともに、マルチメディアデータ格納部176から送られてきたデータを、マルチメディアパケットデータストリーム生成部172へ送る。
【0031】
マルチメディアパケットデータストリーム生成部172は、ネットワークコード計算部170で決定されたネットワークコードに従ってマルチメディアパケットデータストリームを生成する。
【0032】
[FEC]
本願発明では、マルチメディアソースからノード集合へ送信する場合、及び、ノード集合内でCPRによるパケットストリーム修復の場合に、ネットワークコーディングを行う。FECは送信側からデータの再送を行わず、その代わり損失したパケットを回復することが出来るFECパケットを送信し、受信側でFECパケットを利用して送信中に損失したパケットを回復する方法である。FECにおいて、FECパケットを作成する場合に、ソースパケットの線形結合によって作成することをネットワークコーディングと呼ぶ。
【0033】
(1)マルチメディアソース送信時のFEC
ここでは、マルチメディアソースから5個のパケットを送信する場合を例にとって説明する。5個のパケットのうち3個がソースパケット(s1、s2、s3)であり、2個がFECパケット(c4、c5)であると仮定する。
マルチメディアソースで生成されるパケットPC(S)を次のように定義する。
PC(S)={s1、s2,s3,a4,a5}
ここで、c4及びc5は以下のように表すことが出来る。
a4=α1・s1+α2・s2+α3・s3
a5=β1・s1+β2・s2+β3・s3
ここで、α1、α2、α3、β1、β2、及び、β3はランダムに生成される乗数であり、a4及びa5とともに送信される。受信側で、5個のパケットのうち、任意の3個のパケットを受信すると、未知パケットが3個で、方程式が3個であるので解を求めることが出来る。すなわち、受信側で、送信されたストリームパケットを再現することが出来る。
【0034】
(2)ノード集合でのFEC
(2−1)ノードAでのFEC
例えば、ノードAで、前述のパケットのうち、以下のように3個受信したと仮定する。ノードAでの受信パケットPR(S-A)={s1,s3,c4}とする。ここで、3個の独立したパケットを受信したので、この時点で、方程式を解くことによりソースパケットにデコードすることが出来る。すなわち、ソースパケットPS={s1,s2,s3}を再生することが出来る。
【0035】
ノードAで作成されるFECパケット
ノードAで受信したパケットPR(S-A)={s1,s3,c4}の線形結合によって、以下のFECパケットを生成する。

b1=γ1・s1+γ2・s3+γ3・a4
ノードAは、このFECパケット(b1)を集合内の他のパケットへ送信する。例えばノードBへ送信する。
【0036】
(2−2)ノードBでのFEC
ノードAからノードBへ送信されたデータは、PC(A-B)={b1}であるとする。ノードBでの、ノードAから送信されたパケットの受信パケットは、PR(A-B)={b1}である。
【0037】
(2―3)ノードBでの受信パケット
ノードBでは、マルチチャンネルソースから、受信したパケットも有している。マルチチャンネルソースからノードBが2個のパケットを受信したとし、それらをPR(S-B)={s1,s2}と仮定する。
PR(A-B)={b1}
PR(S-B)={s1,s2}
これらの、情報より、パケットBでは、3個の変数に対して、3個の方程式があるので、解を求めることが出来、その結果、s1,s2,及び、b1より、s3を再現することが出来る。
【0038】
以下に本願発明の処理フローの詳細について説明する。本願発明は、マルチメディアソース(送信機)から、ワイヤレスLANで接続されているアドホックネットワークのノード集合へのパケット送信において、ひずみ率を最小にするソースパケットレートを求め、さらに、そのソースパケットレートに従って、マルチメディアパケットストリームを送信する方法・システムである、
【0039】
[全体の処理フロー]
図5は、本願発明の全体の処理フローを示す。
(A)前記マルチメディアソースが、各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れるステップ(410)、
(B)マルチメディアソースが、所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求めるステップ(430)、
(C)マルチメディアソースが、所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求めるステップ(440)、
(D)マルチメディアソースが、前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信するステップ(450)、
(E)各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復するステップ(460)、
(F)各ノードが、デコーディングを行いパケットストリームを再生するステップ(470)。
【0040】
以下処理フローの詳細について(A)から(F)まで順に説明する。
[ステップ(A)の詳細]
(A)前記マルチメディアソースが、各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れるステップ。
各ノードでのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率が、後述の「ひずみ率」を求めるために必要である。それらのデータが既知である場合には、それらのデータをパケット損失率入力部164からマルチメディアソースに入力する。
【0041】
[パケット損失率の実測]
以下に、各ノードでのパケットストリーム送信時における損失率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失率を、実際のノードからの実測により求める場合のフローを図6に示す。
(a)マルチメディアソースが、ノード集合へパケットストリームを送信するステップ(412)、
このときには、ノード集合での受信時における各ノードでの損失率を求めるので、FECを行う必要ない。
(b)各ノードが、前記パケットストリームを受信し、受信時のパケット損失率を求めるステップ(414)、
ノード集合の各ノードが、マルチメディアソースからのパケットストリームを受信する。ワイヤレスWANの場合には、送信において、一時的なワイヤレスリンクの遮断により、パケット損失が生じることが発生することは良く知られている。ここで、各ノードはパケットストリーム受信時のパケットの損失率を求める。
(c)各ノードが、各ノード間で受信したパケットを交換しパケットストリームを修復するステップ(416)、
【0042】
(d)各ノードが、修復したパケットストリームのデコーディングを行うステップ(418)、
(e)各ノードが、各ノードのパケットストリーム受信時における損失率、及び、ノード間でのパケット交換による修復後の損失率を、前記マルチメディアソースへ送信するステップ(420)。
各ノードはパケットストリーム受信時、及び、ノード間でのパケット交換によるストリーム修復後のパケット損失率を求め、そのデータをマルチメディアソースへ送信する。
以上により、各ノードのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率が、マルチメディアソースへ送信される。
【0043】
[パケットストリームを修復するステップの詳細]
ここで、ステップ(d)各ノードが、各ノード間で受信したパケットを交換しパケットストリームを修復するステップ(418)を詳しく説明すると次のようになる。この場合のフローチャートを図7に示す。
(d−1)一のノードが、受信したパケットを他ノードに送信するステップ(510)、
一のノードは、受信したパケットをノード集合内の全ての他ノードに送信する。ここで、一のノードが受信したパケットの線形結合に基づいて、FECパケットを生成しこれらを送信する。
(d−2)他のノードが、一のノードから送信されたパケットを受信するステップ(512)、
ここで、他のノードは自己が受信していないパケットがあっても、そのパケットの再送要求をマルチメディアソースに出さない。再送要求を送信すると、NAK(Negative Acknowledgement)の問題が発生するからである。
【0044】
(d−3)他のノードが、マルチメディアソースから受信したパケットストリームに欠落があり、かつ、一のノードから送信されたパケットを用いて修復することが出来る場合に、パケットストリームを修復するステップ(514、516)、
この時には、受信したパケットのデコードを行わないで、マルチメディアソースから受信したソースパケット、及び、一のノードから受信したFECパケットを用いてパケットストリームを修復する。
(d−4)上記(d−1)から(d−3)を、所定時間の間繰返し行うステップ(518)、
(d−5)修復されたストリームのデコーディングを行うステップ(520)、
一連のストリームの修復が終了した後でデコーディングを行う。
以上のように、ノード集合内でCPRを実施しつつ、マルチメディアソースから受信したパケットストリームの修復を行う。
【0045】
[ステップ(B)の詳細]
(B)マルチメディアソースが、所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失率、及び、ノード間での修復後の損失率に基づいて、ひずみ率を求めるステップ(430)、
(1)ひずみ率の計算
実際には、マルチメディアソースから各ノードへの送信時の損失、及び、各ノード間での送信時の損失が発生するので、必ずしも、全てのノードが全てのストリームパケットを有する訳ではない。
そこで、Rsの関数として求められるひずみ低減率d(R)、各ノードがマルチメディアソースから各ノードへのパケット送信における損失確率(l´col)、及び、各ノードのノード間修復後の損失確率Qに基づいて、ひずみ率を計算する。
(2)ひずみ率の定義
以下にひずみ率を定義する。
【0046】
(式1)
ひずみ率=f{d(R),l´col,Q}
={D−d(R)*(1−Pgrp(R,R))}R+R=<C
ここで、Dはひずみの初期値であり、各ノードでパケットが受信されない場合の全体のひずみ率である。Rはソースパケットレート、RはFECパケットレートである。
d(R)は、所与のGOPのシーケンスを所定のビット数で量子化する場合のひずみ低減率であって、Rに比例する。ここで、GOPとは、ビデオストリームを記録する際に用いられる圧縮コーデックにおいて、最小単位である一コマ(フレーム)を効率的に管理するために必要なコマデータのまとまりのことを言う。d(R)は順にRを一パケット毎減らすことにより、ひずみ率に関する評価関数の変化をモニターしつつこの評価関数を最小にするRを実験により求める。Cは送信において利用可能なワイヤーレスWANの全帯域である。
【0047】
[グループ損失確率]
grp(R,R)は、R及びRに基づく「グループ損失確率」であり、R個以上のパケットが損失した場合、CPRがリカバリー出来ない確率である。Pgrp(R,R)は、また、各ノードへのパケット配信における損失率(l´col)、及び、各ノードのノード間修復後の損失率 Qを与えることにより求めることが出来る。なお、Pgrp(R,R)の詳細な定義は、後述の[Pgrp(R,R)の詳細な定義]において詳細を述べる。
【0048】
[ステップ(C)の詳細]
(C)マルチメディアソースが、所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求めるステップ(440)、
ひずみ率を最小にするソースパケットレートを求める。
(式1)を最小化する最適のR及びRを求めるために、一例として、本願発明では、以下の検索方法を開示するが、検索方法はこれには限らない。
(a)Rの初期値Rを決める。
(b)Rの値、すなわち、Rのパケット数を、順次1づつ減少させ、式(1)の値を求める。
(c)(式1)の値が最小になるようになるように (b)を繰り返して行う。
以上により、(式1)を最小にするRの値を求めることが出来る。
【0049】
[ステップ(D)の詳細]
(D)マルチメディアソースが、前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信するステップ(450)、
この時には、求められたソースパケットレートに基づいて、ネットコーディングを行いながら送信する。
【0050】
[ステップ(E)の詳細]
(E)各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復するステップ(460)、
この時も、各ノードがネットワークコーディングを行いながら他のノードへ送信する。
【0051】
[ステップ(F)の詳細]
(F)各ノードが、デコーディングを行いパケットストリームを再生するステップ(470)。
ここで、本願発明では、以下のように、ストリームデータの修復が終了した後でデコーディングを行う。
これにより、ひずみ率が最小となるマルチメディアパケットデータストリームの再生が可能となる。
【0052】
[パケットがリカバリー出来ない確率Pgrp(R,R)の定義]
パケットがリカバリー出来ない確率Pgrp(R,R)は次式で与えられる。
【0053】
(式2)


【0054】
ここで、lavgは、各ノードがマルチメディアソースを受信したときの各ノードのパケット損失確率lの平均値である。(ここで、m=1からNであり、Nは全ノードの数を表す。)Pcolは、集合がi個のパケットを損失したときに十分にリカバリー出来ない確率である。言い換えると、
(i)単一パケットがワイヤレスWANで正しく配信される場合における、または、
(ii)単一パケットがワイヤレスWANで正しく配信されない場合には、集合内に正しく配信され、その結果集合内でCPRにより修復される場合における、単一パケットがリカバー出来る確率である。
【0055】
col(i,R)は次式で定義される。
【0056】
(式3)


【0057】
isuf(i,R)は「集合不十分確率」であり、CPRで修復するために必要な最小限のパケットがそろわない確率である
Q(i)は、CPR損失確率であり、各ノードでのFECパケットの数に依存する損失確率である。
集合の不十分性確率Pisuf(i,R)は(4)式で表すことが出来る。
【0058】
(式4)


【0059】
ここで、(式4)は、ノードで損失したi個のパケットの中で、j個のパケットのみを、集合を通じて受信し、その他のパケットは集合内で損失する確率である。よって、この値以下の場合には全体のパケットグループをリカバリーすることは出来ない。l´colは、集合パケット損失確率であり、マルチメディアソースから各ノードへの送信時の損失確率である。
【0060】
(式5)


【0061】
である。ここで、l(m=1からN、Nは全ノードの数)は、各ノードがマルチメディアソースを受信したときのパケット損失確率、ρは、空間相関係数(spacial correlated factor)である。これはマルチメディア信号を受信する場合、各ノードにおいて同じ信号を受信するか否かに関係する値である。これはノード間の距離に関係する。本実施例ではρ=1とした。
これにより、ひずみ率が、マルチメディアソースから各ノードへの送信時の損失率(l´col)、及び、各ノードでのFECパケットの数に依存する損失率(Q(i))に基づいていることが分かる。
【0062】
[実験結果]
本願発明で開示した方法により求められたソースパケットにより、マルチメディアソースから各ノードへの送信し、各ノードでの損失パケットの修復を行った場合における、ひずみ率の低減を図ることが出来る。
以下に、本願発明で開示する、JSCC方法とCPRとを同時に用いた実験例、CPRのみを用いた実験例、CPRを用いない場合の実験例を示す。図9上図aはHMパケット損失モデル、図9下図はHTパケット損失モデルの場合である。
【符号の説明】
【0063】
110:マルチメディアソース
120:ノード集合
122a:ノードA
122n:他のノードN
132:パケットストリーム
158:コントローラ
154:データストア
156:WLANインターフェース
300:コンピュータ
302:プロセッサー
304:コミュニケーションバス
306:メインメモリ
308:2次メモリー
310:ハードディスク
316:キーボード
318:マウス
320:ディスプレー

【特許請求の範囲】
【請求項1】
マルチメディアソース、及び、各ノード間で相互に送受信を行うアドホックネットワークを形成しているノード集合を含むシステムであって、
前記マルチメディアソースは、以下の手段を含み、
(a)各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れる手段、
(b)所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求める手段、
(c)所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求める手段、
(d)前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信する手段、さらに、
前記ノード集合は以下の手段を含む、
(e)各ノードが、前記パケットストリームを受信し、ノード間で受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復する手段、
(f)各ノードが、デコーディングを行いパケットストリームを再生する手段、
を有するシステム。
【請求項2】
さらに、以下の手段を有する請求項1に記載のシステム、
前記マルチメディアソースが、以下の手段を含み、
(a)マルチメディアソースが、ノード集合へパケットストリームを送信する手段、
前記各ノードが以下の手段を含む、
(b)各ノードが、前記パケットストリームを受信し、受信時のパケット損失率を求める手段、
(c)各ノードが、各ノード間で受信したパケットを交換しパケットストリームを修復する手段、
(d)各ノードが、修復したパケットストリームのデコーディングを行う手段、
(e)各ノードが、各ノードのパケットストリーム受信時における損失率、及び、ノード間での修復後の損失率を、前記マルチメディアソースへ送信する手段。
【請求項3】
さらに、前記ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復する手段は、さらに以下の手段を含む請求項1及び2に記載のシステム、
(a)他のノードが、マルチメディアソースから受信したパケットストリームに欠落があり、かつ、前記一のノードから送信されたパケットを用いて修復することが出来る場合に、パケットストリームを修復する手段、
(b)上記(a)を、所定時間の間繰返し行う手段。
【請求項4】
前記ひずみ率は、以下の式で与えられる請求項1乃至3に記載のシステム、
ひずみ率={D−d(R)*(1−Pgrp(R,R))}
ここで、Rはソースパケットレート、RはFECパケットレートである。Dはパケットを受信しないときのひずみ率である。d(R)は、ソースパケットを所定のビット数でエンコードする場合のひずみ低減係数であり、Rの関数である。Pgrp(R,R)は、各ノードにおけるマルチメディアパケットのパケットの損失確率、及び、各ノードのノード間での修復後の損失確率に基づくグループ損失確率である。
【請求項5】
マルチメディアソースから送信されたパケットストリームを、各ノード間で相互に送受信を行うアドホックネットワークを形成しているノード集合で、受信し再生する方法、
(a)前記マルチメディアソースが、各ノードでの、マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復した後の損失確率の入力を、受入れるステップ、
(b)マルチメディアソースが、所与のソースパケットをエンコードする場合のひずみ低減係数、前記マルチメディアソースから各ノードへのパケットストリーム送信時における損失確率、及び、ノード間での修復後の損失確率に基づいて、ひずみ率を求めるステップ、
(c)マルチメディアソースが、所与の帯域制限のもとで、ソースパケットレートを変更しながら、ひずみ率を最小にするソースパケットレートを求めるステップ、
(d)マルチメディアソースが、前記ひずみ率を最小にするソースパケットレートに従ってパケットストリームを送信するステップ、
(e)各ノードが、前記パケットストリームを受信し、ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリームを修復するステップ、
(f)各ノードが、デコーディングを行いパケットストリームを再生するステップ。
【請求項6】
前記受入れるステップは、さらに以下のステップを含む請求項5に記載の方法、
(a)マルチメディアソースが、ノード集合へパケットストリームを送信するステップ、
(b)各ノードが、前記パケットストリームを受信し、受信時のパケット損失率を求めるステップ、
(c)各ノードが、各ノード間で受信したパケットを交換しパケットストリームを修復するステップ、
(d)各ノードが、修復したパケットストリームのデコーディングを行うステップ、
(e)各ノードが、各ノードのパケットストリーム受信時における損失率、及び、ノード間での修復後の損失率を、前記マルチメディアソースへ送信するステップ。
【請求項7】
前記ノード間での受信パケットに基づいて生成されたパケットの相互交換によるパケットストリーム修復するステップは、さらに以下のステップを含む請求項5及び6に記載の方法、
(a)他のノードが、マルチメディアソースから受信したパケットストリームに欠落があり、かつ、前記一のノードから送信されたパケットを用いて修復することが出来る場合に、パケットストリームを修復するステップ、
(b)上記(a)を、所定時間の間繰返し行うステップ。
【請求項8】
前記ひずみ率は、以下の式で与えられる請求項5乃至7に記載の方法、
ひずみ率={D−d(R)*(1−Pgrp(R,R))}
ここで、Rはソースパケットレート、RはFECパケットレートである。Dはパケットを受信しないときのひずみ率である。d(R)は、ソースパケットを所定のビット数でエンコードする場合のひずみ低減係数であり、Rの関数である。Pgrp(R,R)は、各ノードにおけるマルチメディアパケットのパケットの損失確率、及び、各ノードのノード間での修復後の損失確率に基づくグループ損失確率である。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−258541(P2010−258541A)
【公開日】平成22年11月11日(2010.11.11)
【国際特許分類】
【出願番号】特願2009−103448(P2009−103448)
【出願日】平成21年4月21日(2009.4.21)
【出願人】(503003854)ヒューレット−パッカード デベロップメント カンパニー エル.ピー. (1,145)
【Fターム(参考)】