两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于改進的gs算法的矩陣式二維碼rs譯碼糾錯方法

文檔序號:9200713閱讀:702來源:國知局
基于改進的gs算法的矩陣式二維碼rs譯碼糾錯方法
【技術領域】
[0001] 本發(fā)明涉及二維碼領域,更具體地,涉及一種基于改進的GS算法的矩陣式二維碼 RS譯碼糾錯方法。
【背景技術】
[0002] 二維碼具有數(shù)據(jù)存儲量大、保密性高、追蹤性高、抗損性強、備援性大、成本便宜、 互動性強、體驗性好等特點,并且能夠更好地與智能手機等移動終端有機結(jié)合。根據(jù)二維碼 的編碼原理、結(jié)構(gòu)形狀的差異,可將二維碼分為行排式二維碼和矩陣式二維碼。其中矩陣式 二維碼比行排式二維碼的信息密度高,因此其應用范圍較為廣泛,代表性的矩陣式二維碼 有DataMatrix,MaxiCode,CodeOne,QRCode等。糾錯技術的引入是二維碼的主要特點之一, 由于常用的矩陣式二維碼中使用的是RS系統(tǒng)碼,因此所涉及的譯碼糾錯算法是RS譯碼糾 錯算法。

【發(fā)明內(nèi)容】

[0003] 本發(fā)明提供了一種基于改進的GS算法的矩陣式二維碼RS譯碼糾錯方法,改進的 GS算法可以降低插值的復雜度,因此可以提高算法的效率,同時譯碼糾錯方法對RS碼的兩 種編碼方式及其轉(zhuǎn)化關系進行了研宄,從而利用兩種編碼方式的轉(zhuǎn)化過程對RS碼進行糾 正,使二維碼在出現(xiàn)脫落、污點、穿孔以及局部破損等情況時,能正確地還還原原始信息。
[0004] 為實現(xiàn)以上發(fā)明目的,采用的技術方案是:
[0005] -種基于改進的GS算法的矩陣式二維碼RS譯碼糾錯方法,其中改進的GS算法包 括改進的Kotter插值算法和Roth-Ruckenstein因式分解算法,其特征在于:所述糾錯方法 包括以下步驟:
[0006] SI.對二維碼圖像進行去掩膜處理,獲得去掩膜后的RS(n,k)碼,在RS(n,k)碼的 末位填充(255-n)個零,構(gòu)造 RS(255,255+k-n)碼;
[0007] S2.通過碼字RS(255,255+k-n)結(jié)合有限域GFQni)中非零元素 (x0,Xl,· · ·,x255+k-n-i)構(gòu)成 255+k_n 個插值點(X〇, r0),(X1, IT1),· · ·,(X255+k-n-l,r255+k-n-i),再基 于(1,k-1)-加權字典反序表通過在每個插值點至少插值m次來構(gòu)建一個二元多項式,其中 m為內(nèi)插重度;
[0008] S3.利用改進的Kotter插值算法求取最小多項式,具體過程如下:
[0009] S31.首先通過公式
4刀始化一組二元多項式,其中gW 為初始化的第j條二元多項式,Im為該組二元多項式的數(shù)目,%為初始化后的二元多項式 組成的集合,ik為迭代次數(shù),此時i k= 〇 ;
[0010] S32.通過公式
消去集合<3,;內(nèi)首階大于C的二元多項式, 其中
[0011] S33.通過公式\ =Dii 對Gii中的各個二元多項式的Hasse混合偏導數(shù)進行 計算,然后判斷集合%中所有二元多項式的Hasse混合偏導數(shù)是否都等于0,若都等于0, 則進行步驟S36,若不全等于0,進行步驟S34 ;
[0012] S34.求取該組二元多項式中的最小多項式,如下式所示:
[0013]
[0014]
[0015] 其中Λ = : ,f為該組二元多項式中的最小多項式,為最小多項式對應 的序號;
[0016] S35.對該組二元多項式中的最小多項式進行變換修改,公式如下:
[0017]
[0018] 其余的二元多項式也進行變換修改,公式如下:
[0019] ?
[0020] S36.選取另一組二元多項式重復步驟S31~S35的過程進行該組最小多項式的求 取,并令ik= i k+l ;
[0021] S37.若ik= C則停止迭代,此時各組二元多項式的最小多項式gQj組成集合G c, 通過公式Q(x, y) = min{gaj I gaje G J對C組二元多項式中的最小多項式Q(x, y)進行求 解;
[0022] S4.在求得Q (X, y)之后,利用Roth-Ruckenstein因式分解算法對Q (X, y)進行分 解獲得RS碼頻域編碼對應的信息多項式m'(X);
[0023] S5.對信息多項式m'(X)采用頻域編碼方式進行η位編碼,獲得編碼碼字之后取編 碼碼字第η-k+l到η位碼字生成時域編碼對應的信息多項式m(x),對m(x)采用時域編碼方 式進行編碼,即可獲得糾正的RS(n,k)碼。
[0024] 優(yōu)選地,步驟S4中,獲得RS碼頻域編碼對應的信息多項式m'(X)的過程具體如 下:
[0025] 使用Roth-Ruckenstein因式分解算法對Q (X,y)分解后,獲得若干形如y-p (X)的 因式,其中P (X)為一元多項式,分解獲得的一元多項式構(gòu)成集合L :
[0026] L = {p (X) : (y-p (X)) I Q (X,y)且 deg p (X) < k}
[0027] deg p (X) < k表示p (X)的次數(shù)小于k,對集合L中所有的一元多項式采用頻域編 碼方式進行編碼,將編碼得到的碼字與RS(n,k)碼進行比較,漢明距最小的碼字對應的一 元多項式即為信息多項式m'(X)。
[0028] 優(yōu)選地,步驟S2中,構(gòu)建的二元多項式J (X,y)的過程可用下式表示:
[0029]
[0030] Da pjUi, !Ti)表示二元多項式J(x, y)在插值點(Xi, yj的(α,β )階Hasse混合 偏導數(shù),F(xiàn)q[X,y]為自變量為X和y的二元多項式環(huán),F(xiàn)q[ X,y]表示系數(shù)屬于有限域GF(cf) 中的元素,F(xiàn)q[x,y]用公式可表示為
其中fabe GFQn1)。
[0031] 優(yōu)選地,步驟S5中,對信息多項式m'(X)采用頻域編碼方式進行η位編碼的過程 具體如下:
[0032]
[0033] 其中 m'(X) = Inc^m1X+. ·· +ι?ηΧ1^1,m'(X) e GF (qm);
[0034] (cQ, C1,…,Clri)為編碼碼字,α是有限域GF (q111)的本原元。
[0035] 優(yōu)選地,步驟S5中,生成多項式g (X)的過程可表示如下:
[0036] g (χ) = (χ- α χ) (χ- α 1+1). . . (χ- α 1+2t_1)
[0037] 其中n-k = 2t,1為整數(shù),α是本原元,m(x)對應的生成矩陣可表示為:
[0038]
[0039] mod g(x)表示對生成多項式g(x)取余,得到結(jié)果即為糾錯碼字多項式;
[0040] 通過式上述可以求出信息多項式m(x)對應的編碼后的碼字多項式c(x),
[0041] c (x) = m (x) + [m (x) xn_kmodg (χ)]
[0042] 碼字多項式c(x)的系數(shù)為時域編碼的碼字矢量,通過碼字矢量,即可獲得糾正的 RS (n,k)碼。
[0043] 與現(xiàn)有技術相比,本發(fā)明的有益效果是:
[0044] 本發(fā)明提供了一種基于改進的GS算法的矩陣式二維碼RS譯碼糾錯方法,改進的 GS算法可以降低插值的復雜度,因此可以提高算法的效率,同時譯碼糾錯方法對RS碼的兩 種編碼方式及其轉(zhuǎn)化關系進行了研宄,因此可以利用兩種編碼方式的轉(zhuǎn)化過程對RS碼進 行糾正,使二維碼在出現(xiàn)脫落、污點、穿孔以及局部破損等情況時,也能正確地還還原原始 信息。
【附圖說明】
[0045] 圖1為RS碼兩種編碼方式的常用轉(zhuǎn)換方法流程圖。
[0046] 圖2為GS算法以及列表譯碼算法對時域編碼所得碼字的譯碼流程圖。
[0047] 圖3為譯碼糾錯方法的流程圖。
【具體實施方式】
[0048] 附圖僅用于示例性說明,不能理解為對本專利的限制;
[0049] 以下結(jié)合附圖和實施例對本發(fā)明做進一步的闡述。
[0050] 實施例1
[0051] 在對本發(fā)明的技術方案進行說明之前,首先對RS碼進行簡介,RS碼具有兩種編碼 方式:頻域編碼方式和時域編碼方式。這兩種編碼方式通過將原始的碼字矢量C假設成碼 字的時域形式,將C對應的有限域傅里葉變換(GFFT)所得的碼字矢量C看成頻域形式,根 據(jù)GFFT變換的性質(zhì)可以證明兩者是等價的。因此可以將這兩種編碼方式分別看作為時域 編碼(即使與時間沒有關系)和頻域編碼。二維碼中的RS系統(tǒng)碼對應時域編碼,而改進的 GS算法對應頻域編碼,同時由于二維碼符號解除掩膜后的RS碼字是截短碼,這使得用改進 的GS算法對二維碼符號解除掩膜后的碼字進行糾錯譯碼時首先要研宄兩種編碼方式之間 的轉(zhuǎn)化關系。
[0052] 現(xiàn)有技術中,在進行兩種編碼方式之間的轉(zhuǎn)化時,如圖1所示,常常使用包括以下 步驟的方法:
[0053] 步驟1 :將時域編碼的碼字(:2低位置前即變成c' 2;
[0054] 步驟2 :分別求出頻域編碼的生成矩陣匕和時域編碼的生成矩陣G 2;
[0055] 步驟3 :對G2先上下翻轉(zhuǎn)再左右反轉(zhuǎn)得到G 2' ;
[0056] 步驟4 :運用線性代數(shù)求方程組解的方法求得矩陣A(nXn)和B(nXn)使得G'2 ·Α =61或G i · B = G' 2,即c' 2 · A = (^或c i · B = c' 2,從而實現(xiàn)兩種編碼碼字之間的轉(zhuǎn)化。 [0057] 但是當接收到的碼字有錯誤時,上述轉(zhuǎn)化的方法明顯行不通,因此需要尋找另外 一種轉(zhuǎn)化方法,如列表譯碼算法對時域編碼所得碼字的譯碼方法,這種方法分截短碼和非 截短碼兩種情況來討論,由于GS算法是列表譯碼算法的一種,并且碼字編碼原理相同,因 此該方法對GS算法以及列表譯碼算法都適用,如圖2所示,所述方法包括以下步驟。
[0058] 步驟1 :判斷RS (n, k)碼是否是截短碼;
[0059] 步驟2 :若不是截短碼,則轉(zhuǎn)向步驟3 ;若是,則對截短碼的信息位填充cf-1-n個 零,構(gòu)造 RS (qm_l, k+qm-1-n)碼;
[0060] 步驟3 :對所得
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
日土县| 壤塘县| 新余市| 长葛市| 佛教| 临湘市| 两当县| 阳江市| 玉树县| 神池县| 新余市| 曲阜市| 碌曲县| 广东省| 团风县| 习水县| 松桃| 新宾| 秦安县| 呼图壁县| 交城县| 喀喇沁旗| 延寿县| 泊头市| 堆龙德庆县| 漠河县| 锦州市| 藁城市| 绥德县| 绵阳市| 仙桃市| 揭阳市| 汝阳县| 塘沽区| 大渡口区| 江川县| 化州市| 开原市| 昭觉县| 濮阳县| 黄骅市|