用於對車聯網大量信息的存儲及傳輸的k復遊程編碼方法
2023-06-09 19:33:56 1
用於對車聯網大量信息的存儲及傳輸的k復遊程編碼方法
【專利摘要】本發明公開了一種用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法,利用復遊程碼來挖掘相鄰遊程之間的相關性,後一遊程與前一遊程相同,將後一整個遊程用一位來代替;使多位的後一遊程只用一位表示,進行從多位到一位的轉換,壓縮測試數據;使用編碼表編碼,用較短的代碼字來代替較長的遊程;設計解碼器,對log2k位計數器和k+1位計數器進行控制;用log2k位計數器來記錄前綴的長度;用k+1位計數器來記錄後綴的長度;用k+1位寄存器中來保存後綴輸入結束時k+1位計數器中的值。本發明將需要多位才能編碼的遊程用1位來代替,從而壓縮數據;在車聯網的採集數據實測中,其數據壓縮效果與傳統遊程編碼效果相比,性能提高10%以上。
【專利說明】用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法
【技術領域】
[0001] 本發明屬於信息編碼領域,尤其涉及一種用於對車聯網大量信息的存儲及傳輸的 κ復遊程編碼方法。
【背景技術】
[0002] 大量信息的存儲及傳輸是車聯網技術面臨的重要技術問題之一,因此必須對前端 採集的數據進行有效的壓縮編碼。編碼壓縮方法常見的有經典的遊程碼、Golomb碼、FDR 碼、交替連續碼(AARLC)、EFDR、混合遊程碼(HRC)等。雖然這些編碼方法都取得了一定的壓 縮效果,但這些編碼方法與傳統的遊程編碼相同,都沒有考慮遊程之間的相關性,沒有深入 挖掘數據中存在的冗餘信息,導致當遊程具有相同特徵時,仍然採用固有的方式進行處理, 沒有獲得更高的編碼增益。
【發明內容】
[0003] 本發明的目的在於提供一種用於對車聯網大量信息的存儲及傳輸的K復遊程編 碼方法,旨在解決現有的技術存在的沒有考慮遊程之間的相關性,沒有深入挖掘數據中存 在的冗餘信息,導致當遊程具有相同特徵時,仍然採用固有的方式進行處理,沒有獲得更高 的編碼增益的問題。
[0004] 本發明是這樣實現的,一種用於對車聯網大量信息的存儲及傳輸的K復遊程編碼 方法,該方法的步驟包括:
[0005] 步驟一、利用復遊程碼來挖掘相鄰遊程之間的相關性,如果後一遊程與前一遊程 相同,則將後一整個遊程用一位來代替;
[0006] 步驟二、使多位的後一遊程只用一位就可以表示,進行從多位到一位的轉換,壓縮 測試數據;
[0007] 步驟三、使用編碼表編碼,用較短的代碼字來代替較長的遊程;或者使用一位表示 整個遊程;
[0008] 步驟四、設計解碼器,FSM有限狀態機用來解碼狀態的轉換,並對log2k位計數器和 k+Ι位計數器進行控制;
[0009] 步驟五、用l〇g2k位計數器來記錄前綴的長度;用k+Ι位計數器來記錄後綴的長 度;用k+Ι位寄存器中來保存後綴輸入結束時k+Ι位計數器中的值。
[0010] 進一步,復遊程碼編碼表的第1列為復遊程碼遊程數,第2列為組號,第3列和第 4列分別為代碼字的首部和尾部,第5列為代碼字。
[0011] 進一步,復遊程碼編碼表中隨著組數的增加,每個分組的容量是依次遞增的,符合 實際數據中遊程的分布。
[0012] 進一步,本發明可以使用編碼表編碼,也可以使用一位表示整個遊程;如果正在編 碼的當前遊程與其前一遊程長度不相等,則當前遊程採用編碼表進行編碼;如果該遊程與 前一遊程長度相同,則該遊程用一位來表示整個遊程。
[0013] 進一步,使用復遊程編碼的每一個代碼字都是從1開始,考慮到遊程之間的相關 性,在連續的兩個遊程長度相同時,後一遊程可以使用數字0來代表該位置需要重複整個 前一遊程,後一遊程的編碼變成了 0,即將需要多位才能編碼的遊程用1位來代替,從而進 一步達到數據壓縮。
[0014] 進一步,復遊程碼所表示的實際遊程長度1等於其對應的編碼表的首部a和尾部 b之和再減去2,即有1 = a+b-2,考慮到對任一遊程的復遊程碼,其首部總是以11L··· 1110 形式出現,對上述1 = a+b-2變形可得到:
[0015]
【權利要求】
1. 一種用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法,其特徵在於,該方 法的步驟包括: 步驟一、利用復遊程碼來挖掘相鄰遊程之間的相關性,如果後一遊程與前一遊程相同, 則將後一整個遊程用一位來代替; 步驟二、使多位的後一遊程只用一位就可以表示,進行從多位到一位的轉換,壓縮測試 數據; 步驟三、使用編碼表編碼,用較短的代碼字來代替較長的遊程;或者使用一位表示整個 遊程; 步驟四、設計解碼器,FSM有限狀態機用來解碼狀態的轉換,並對log2k位計數器和k+1 位計數器進行控制; 步驟五、用1〇&1^位計數器來記錄前綴的長度;用k+Ι位計數器來記錄後綴的長度;用 k+Ι位寄存器中來保存後綴輸入結束時k+Ι位計數器中的值。
2. 如權利要求1所述的用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法,其 特徵在於,復遊程碼編碼表的第1列為復遊程碼遊程數,第2列為組號,第3列和第4列分 別為代碼字的首部和尾部,第5列為代碼字。
3. 如權利要求1所述的用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法,其 特徵在於,復遊程碼編碼表中隨著組數的增加,每個分組的容量是依次遞增的,符合實際數 據中遊程的分布。
4. 如權利要求1所述的用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法,其 特徵在於,本發明可以使用編碼表編碼,也可以使用一位表示整個遊程;如果正在編碼的當 前遊程與其前一遊程長度不相等,則當前遊程採用編碼表進行編碼;如果該遊程與前一遊 程長度相同,則該遊程用一位來表示整個遊程。
5. 如權利要求1所述的用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法, 其特徵在於,使用復遊程編碼的每一個代碼字都是從1開始,考慮到遊程之間的相關性,在 連續的兩個遊程長度相同時,後一遊程可以使用數字〇來代表該位置需要重複整個前一遊 程,後一遊程的編碼變成了 0,即將需要多位才能編碼的遊程用1位來代替,從而進一步達 到數據壓縮。
6. 如權利要求1所述的用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法,其 特徵在於,復遊程碼所表示的實際遊程長度1等於其對應的編碼表的首部a和尾部b之和 再減去2,即有1 = a+b-2,考慮到對任一遊程的復遊程碼,其首部總是以111··· 1110形式出 現,對上述1 = a+b-2變形可得到:
即在復遊程碼尾部最高位前面加一位1得到編碼所代表的遊程長度比對應的復遊程 碼所代表的實際遊程多4,因此解壓時可以充分利用這條規律.即使用一個特殊的k+Ι位計 數器來實現上述效果;該k+Ι位計數器初始時最低位置1,當復遊程碼輸入時,僅將復遊程 碼的尾部與最低位的1 一起向高位移位,當尾部移位結束時,該計數器的內容就是數字1與 尾部內容相併的結果,該內容所代表的遊程長度比對應的復遊程碼所代表的實際遊程多4。
7. 如權利要求1所述的用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法,其 特徵在於,為了使該計數器能夠正確輸出結果,對該計數器做另一改進,即讓該計數器做自 減計數的最終值不是〇而是4,能保證該計數器實際輸出的遊程長度與復遊程碼所代表的 遊程長度一致;這個功能可以由一個簡單的反饋組合邏輯實現,這也是該計數器的另一個 特點。
8. 如權利要求1所述的用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法,其 特徵在於,該解碼器由一個有限狀態機、一個特殊的k+Ι位計數器、一個log 2ldi計數器、一 個k+Ι位寄存器組成。
9. 如權利要求1所述的用於對車聯網大量信息的存儲及傳輸的K復遊程編碼方法,其 特徵在於,解碼器工作步驟: 第一步,有限狀態機發出使能信號en為1,然後shift和inc均為高電平,同時讀取 bit_in的值,若不為0, log2k^i計數器開始加1計數,此過程一直重複到bit_in為0 ; 第二步,輸入後綴進入k+Ι位計數器,log2k位計數器控制後綴的長度,dec2控制該計 數器做減1計數,當計數器為〇時,返回rs2高電平,後綴輸入結束; 第三步,:reg_cntl置為高電平,通過dent複製k+Ι位計數器的值到k+Ι位寄存器中; 第四步,k+Ι位計數器做減1計數,同時在有限狀態機的控制下,v輸出高電平,out輸 出低電平,此過程一直重複到k+Ι位計數器的內容為4,再次讓out和v都輸出高電平,至 此,該遊程解碼結束; 第五步,對輸入的數據進行判斷,如果bit_in為1,重複第一步;否則,置load為高電 平,通過dload裝載k+Ι位寄存器的值到k+Ι位計數器中,轉至第三步。
【文檔編號】H03M13/15GK104124981SQ201410298205
【公開日】2014年10月29日 申請日期:2014年6月26日 優先權日:2014年6月26日
【發明者】邱鋒 申請人:陝西凱鑫源科技有限公司