專利名稱:一種差錯控制方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及一種差錯控制方法和系統(tǒng),適用于通信領域。
背景技術:
隨著寬帶網絡及視頻業(yè)務的發(fā)展,組播得到了廣闊的應用,例
如IPTV。組播應用中有大量的用戶接收共同的數(shù)據(jù)源,標準的組播
協(xié)議是不帶反饋的,這就帶來新的問題如果網絡上出現(xiàn)丟包,由 于每個用戶丟失的數(shù)據(jù)都可能不一樣,為此需要一種有效的恢復機 制,無論用戶丟失哪些數(shù)據(jù)包,都能將丟失的數(shù)據(jù)恢復。
發(fā)明內容
發(fā)明目的本發(fā)明的目的是提供一種數(shù)據(jù)傳輸?shù)牟铄e控制方法 和實現(xiàn)該方法的系統(tǒng),有效地將丟失的數(shù)據(jù)恢復,提高數(shù)據(jù)完整性。
技術方案 一種數(shù)據(jù)傳輸?shù)牟铄e控制方法,包括生成冗余包的 方法和信源恢復的方法,其中生成冗余包的方法包括以下步驟 (1)構造編碼系數(shù)矩陣A:
假設有n個信源X。 X2、 X3......Xn, m為需要生成的冗余包的
數(shù)量,選一個數(shù)域P,保證每個信源Xj都在數(shù)域P內,在數(shù)域P中 任取m個不同的值Ki(l^i^m),任取n個不同的值Lj (l司^n), 并且滿足(Ki + Lj)^ 0,取編碼系數(shù)矩陣A為如下柯西矩陣(Cauchy Matrix):
A =
An A12 A13 ... Aln
A21 A22 A23 ... A2n
A31 A32 A33…A3n
Aml Am3
人
1111
Kj+L2K,+L3
K2+L2K2+L3K2+Ln
K3+LiK3+L2K3+L3 '.K3+Ln
Km+L2Km+L3Km+Ln
5或對柯西矩陣進行變換將柯西矩陣乘以任意可逆矩陣得到矩 K
陣LL」,其中K為方陣,取編碼系數(shù)矩陣A-I^K—、 步驟(1)每步數(shù)學運算都采用數(shù)域P內的運算。 (2)計算冗余包
取信源向量X如下
*" \
X2
X =
乂
將編碼系數(shù)矩陣A乘以信源向量X,得到冗余包向量Y如下:
Y = A*X =
Y
Y2、 Y3......Ym即為m個冗余包。步驟(2)每步數(shù)學運算
都采用與步驟(1)相同的數(shù)域P內的運算。
XI
YA
上等式中,I為n階單位陣,A為m行n列矩陣。上等式左邊 取任意n行記為列向量G,取等式右邊單位陣I及矩陣A對應的n 行記為矩陣H,則下等式仍然成立
G = H*X
當A為柯西矩陣時,H為可逆矩陣,因而可以解出X如下 X = H"*G
當A為對柯西矩陣進行變換而得到的矩陣時,也可證明X有解, 證明的方法可參考本申請人提出的第200810234515.2號中國發(fā)明專 利,將其證明過程中的范得蒙矩陣替換為柯西矩陣。
因而理論上,從n個信源及m個冗余包中任取n個數(shù)據(jù)包都可以恢復出n個信源,這是本發(fā)明的數(shù)學原理。
發(fā)信端將n個信源及m個冗余包發(fā)送往收信端,當收信端收到 的信源個數(shù)r小于n時,信源恢復的方法包括以下步驟-
(3)構造解碼系數(shù)矩陣B:
假設收到r個信源和t個冗余包,當t大于(n_r)時任取(n —r)個冗余包,當t等于(n—r)時取所有的冗余包,這些冗余包 記為Yu、 Yv......Yw,其中u < v < < w,取矩陣B的第1
行為步驟(1)編碼系數(shù)矩陣A的第u行;矩陣B的第2行為步驟
(1)編碼系數(shù)矩陣A的第v行......矩陣B的最后1行為步驟(1)
編碼系數(shù)矩陣A的第w行,構成解碼系數(shù)矩陣B如下
B =
Aii Au2 Au3
Ayl Av2 Av3
人n
Avl^w23 Avn
(4)恢復出信源X:
當t大于(n—r)時任取(n_r)個冗余包,當t等于(n-時取所有的冗余包,得到如下等式
-r)
B * X =
Yv Y
當t大于或等于(n—r)時,前面已經證明上述等式必定有解, 可采用解(n—r)元1次方程組的解法解出(n—r)個未收到的信源 Xj。步驟(4)每步數(shù)學運算都采用與步驟(1)相同的數(shù)域P內的 運算。
上面描述了生成冗余包Y及將信源X恢復的差錯控制方法,下 面描述如何實現(xiàn)該差錯控制方法的系統(tǒng),包括以下內容
(a)上述步驟(1)、 (2)、 (4)中的數(shù)域P采用擴展伽羅瓦域 GF (2q) (Extended Galois Field)。
7(b) 事先按上述步驟(1)算好編碼系數(shù)矩陣A,并將它存儲在 發(fā)信端和收信端的存儲器上。
(c) 發(fā)信端將信源Xj按固定的規(guī)則切成s個片段Xp Xj2、 Xj3......Xjs,保證每個片段的值都在上述GF (2q)域內,信源Xj切
片后得到如下信源矩陣X:
發(fā)信端利用CPU或ASIC按如下等式生成冗余包,冗余包Yi 由Yu、 Yi2、 Yi3......Y^構成。將n個信源Xj及m個冗余包Yi發(fā)送
往收信端。
<formula>formula see original document page 8</formula>(d)當收信端收到的信源數(shù)r小于n時,取r個的信源及(n—r) 個冗余包,并將信源Xj及冗余包Yi按與步驟(c)相同的規(guī)則切成 s個片段。利用CPU或ASIC按上述步驟(3)和(4)的方法恢復 出信源。信源Xj及冗余Yi包切片后,步驟(4)恢復信源的等式如 下
<formula>formula see original document page 8</formula>有益效果本發(fā)明與現(xiàn)有技術相比,其顯著優(yōu)點是從n個信 源及m個冗余包中任取n個數(shù)據(jù)包,都一定能恢復出n個信源,保 證了冗余包信息量的最大化。采用GF (2q)域內的運算,在減少運
<formula>formula see original document page 8</formula>算量的同時還能保證信道容量得到最有效的利用。本發(fā)明的方法是 信息論香農定律在實踐應用中的最優(yōu)化方法之一,具有很高的可用 性。
在組播應用如IPTV中使用本發(fā)明的方法和系統(tǒng),能有效地將丟 失的組播數(shù)據(jù)恢復,完美地解決組播應用中當數(shù)據(jù)被丟失一部分之 后出現(xiàn)的故障例如IPTV的噪音及圖像停頓或馬賽克。
圖1是冗余包生成單元的簡要邏輯圖。
圖2是信源恢復單元的簡要邏輯圖。
具體實施例方式
上述技術方案中的數(shù)域P,可采用任何無限數(shù)域或有限數(shù)域, 無限數(shù)域如實數(shù)域、有理數(shù)域,有限數(shù)域如基本伽羅瓦域,在無限 數(shù)域中的運算如在實數(shù)域內的運算,505()是個巨大的數(shù),需要增大 存儲空間,也會因為進位而不利于有效地利用信道容量。采用有限 域中的GF (pq)域,對于p取2,則任何運算的結果都不會要求更 多的存儲空間。具體實施本發(fā)明描述的方法時, 一般選用GF (28) 域。本申請人提出的第200810234515.2號中國發(fā)明專利對GF (28) 域內的加、減、乘、除運算有描述。由于GF (28)域內的乘、除運 算的運算量較大,為了加快運算速度采用查表法來完成,即事先將 所有可能的乘、除運算及結果存于收發(fā)信端。
作為實施例,取『10, m=4, s=5,取GF (28)域內的不可約 多項式Z (x) = l+x+x3+x4+x8, K產l、 K2=2、 K3=3、 K3=4, L尸5、 L2=6、 L3=7、 L4=8、 L5=9、 L6=10、 L7=ll、 L8=12、 L9=13、 L10=14。 利用GF (28)域內的運算,求得4行10列的柯西矩陣即編碼矩陣 系數(shù)A如下,由于A的計算量比較大,可事先算好并分別保存在收 發(fā)信端。
, 203 209 123 79 232 192 41 225 176 199
A= 209 203 82 41 192 232 79 229 199 176 123 82 203 192 41 79 232 199 229 225 1141 246 176 225 229 199 232 79 41假設信源包X,、 X2、 X3......Xu)構成的信源列向量X如下:
X =
abcde
x2fghij
x3klmno
x4pqrst
x5uvwxy
x6=ABCDE
x7FGHIJ
x8KLMNO
x9PQRST
XioUVWXY
將每個信源包切成5片,每片1個Byte并轉換成數(shù)值,信源列 向量X變?yōu)槿缦?br>
X12x13x14x15—979899100101
x21X22X23x24X25102103104105106
x31X32X33X34X35107108109110111
x41X42X43X44X45112113114115116
x51X52X53X54x55117118119120121
x61X62X63x65=6566676869
x71X72x73X74x757071727374
x81X83Xg4X857576777879
x91X92X93X94X958081828384
XioiX102Xi03X104X1058586878889
上述數(shù)據(jù)代入冗余包生成等式Y:AfX后,10個信源包共50個 切片生成4個冗余包共20個切片如下-
Y =
361649511420
842052316211
131392071153
13619176249222
假設發(fā)信端將10個信源包和4個冗余包發(fā)出之后,收信端僅接 收到信源包Xi、 X2、 X3、 X5......X9,信源包X4及Xu)在傳輸過程中
被丟失,同時收信端還收到冗余包Y2、 Y3,冗余包Y^ Y4在傳輸過程中被丟失,則可構造解碼系數(shù)矩陣B如下:
B =
編碼系數(shù)矩陣A的第2行 編碼系數(shù)矩陣A的第3行
B*X =
Y2 Y,
上等式即成為如下2元1次方程組 Y2 = 209 Xi +203 X2 +82 X3 +41 X4 +192 X5 + 232 X6 +79 X7 +229 X8 +199 X9 +176 X10 Y3 = 123 X! +82 X2 +203 X3 +192 X4 +41 X5 +79 X6 +232 X7 +199 X8 +229 X9 +225 X10
收到的信源包X。 X2、 X3、 X5......X9及冗余包Y2、 Y3作為已
知項,未收到的信源包X4、 X1()作為變量,上等式即成為包含變量 X4、 Xh)各切片的5組2元1次方程組,解開這些方程組即得到信源 X4、 X1()。上述過程中的所有數(shù)學運算仍采用GF (28)域內的運算。
圖1是冗余包生成單元的簡要邏輯圖,由CPU及存儲器等單元 構成,在不易失存儲器中存儲編碼系數(shù)矩陣A及GF (28)域內的乘 除法表,由CPU采用軟件方法實現(xiàn)(如采用ASIC硬件實現(xiàn),可用 硬件實現(xiàn)乘除法因而無需存儲乘除法表),按步驟(2)生成冗余包。
圖2是信源恢復單元的簡要邏輯圖,由CPU及存儲器等單元構 成,在不易失存儲器中存儲編碼系數(shù)矩陣A及GF (28)域內的乘除 法表,由CPU采用軟件方法實現(xiàn)(如采用ASIC硬件實現(xiàn),可用硬 件實現(xiàn)乘除法因而無需存儲乘除法表),按步驟(3)和(4)解出所 有信源。
權利要求
1、一種數(shù)據(jù)傳輸?shù)牟铄e控制方法,其特征是該方法包括生成冗余包的方法和信源恢復的方法,其中生成冗余包的方法包括以下步驟(1)構造編碼系數(shù)矩陣A假設有n個信源X1、X2、X3......Xn,m為需要生成的冗余包的數(shù)量,選一個數(shù)域P,保證每個信源Xj都在數(shù)域P內,在數(shù)域P中任取m個不同的值Ki(1≦i≦m),任取n個不同的值Lj(1≦j≦n),并且滿足Ki+Lj≠0,取編碼系數(shù)矩陣A為如下柯西矩陣或對柯西矩陣進行變換將柯西矩陣乘以任意可逆矩陣得到矩陣其中K為方陣,取編碼系數(shù)矩陣A=L*K-1;步驟(1)每步數(shù)學運算都采用數(shù)域P內的運算;(2)計算冗余包取信源向量X如下將編碼系數(shù)矩陣A乘以信源向量X,得到冗余包向量Y如下Y1、Y2、Y3......Ym即為m個冗余包;步驟(2)每步數(shù)學運算都采用與步驟(1)相同的數(shù)域P內的運算;發(fā)信端將n個信源及m個冗余包發(fā)送往收信端,當收信端收到的信源個數(shù)r小于n時,信源恢復的方法包括以下步驟(3)構造解碼系數(shù)矩陣B假設收到r個信源和t個冗余包,當t大于n—r時任取n—r個冗余包,當t等于n—r時取所有的冗余包,這些冗余包記為Yu、Yv......Yw,其中u<v<……<w,取矩陣B的第1行為步驟(1)編碼系數(shù)矩陣A的第u行;矩陣B的第2行為步驟(1)編碼系數(shù)矩陣A的第v行......矩陣B的最后1行為步驟(1)編碼系數(shù)矩陣A的第w行,構成解碼系數(shù)矩陣B如下(4)恢復出信源X當t大于n—r時任取n—r個冗余包,當t等于n—r時取所有的冗余包,得到如下等式當t大于或等于n—r時,利用上等式解出n—r個未收到的信源Xj;步驟(4)每步數(shù)學運算都采用與步驟(1)相同的數(shù)域P內的運算。
2、實現(xiàn)如權利要求1所述差錯控制方法的系統(tǒng),其特征是(a) 數(shù)域P采用GF (2q)域;(b) 事先算好編碼系數(shù)矩陣A,并將它保存在發(fā)信端和收信端;(c) 發(fā)信端將信源Xj按固定的規(guī)則切成s個片段,保證每個片 段的值都在上述GF (2q)域內,利用CPU或ASIC生成冗余包,然 盾將n個信源及m個冗余包發(fā)送往收信端;(d) 當收信端收到的信源數(shù)r小于n時,取r個的信源及n—r 個冗余包,并按與步驟(c)同樣的規(guī)則將信源Xj及冗余包Yi切成 s個片段,利用CPU或ASIC恢復出信源。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)傳輸?shù)牟铄e控制方法和系統(tǒng),適用于通信領域,在該領域中使用本發(fā)明的方法或系統(tǒng),可有效地將丟失的數(shù)據(jù)恢復,提高數(shù)據(jù)的完整性。本發(fā)明的方法包括生成編碼系數(shù)和冗余包、生成解碼系數(shù)和恢復信源等步驟,發(fā)信端以n個信源生成m個冗余包,將信源及冗余包都發(fā)送往收信端,收信端收到的信源個數(shù)與冗余包個數(shù)之和只要大于或等于n,就能恢復出所有n個信源。本發(fā)明利用柯西矩陣及GF(2<sup>q</sup>)域內的運算,巧妙地實現(xiàn)了信息量最大化及運算量最小化。在多播及廣播通信中使用本發(fā)明的差錯控制方法或系統(tǒng),可取得理想的效果。
文檔編號H04L12/18GK101505201SQ200910030309
公開日2009年8月12日 申請日期2009年3月18日 優(yōu)先權日2009年3月18日
發(fā)明者劉怡梅, 呂曉雯, 玲 杜 申請人:呂曉雯;劉怡梅;杜 玲