摘要:該文主要介紹了襪機數據的整合及對整合的效率進行了分析,有效的減小了數據所占用的位數;根據襪機數據的特點且存在大量的重復性字符,我們應用無損編碼技術對襪機數據冗余部分進行壓縮,通過比較幾種無損編碼技術的平均壓縮率,得出了最適合襪機數據的壓縮方式。
關鍵詞:電腦襪機;數據整合;無損編碼技術;壓縮算法
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2011)04-0930-02
Application of RLE Encoding Technology and Data Analysis in Computerized Hosiery Machine
YU Wei, YU Shi-ming, LIN Zhong-neng
(Zhejiang University of Technology, College of Informational Engineering, Hangzhou 310014, China)
Abstract: This paper describes the socks on the integration of data and analysis of its efficiency and reduces the number of bits occupied by the data effectively, according to the characteristics of socks' data, there are a lot of repetitive characters, we apply the lossless coding technology data redundancy compression hosiery machine parts, by comparing the average of several lossless compression coding techniques, obtained the most suitable data compression in socks' data.
Key words: hosiery machine; data integration; lossless encoding technology; compression algorithm;
在紡織工業中,各個行業的產品都有與其配套的軟硬件設施來輔助其產品的生產制造,本文也是基于這個事實來對自動電腦襪機的上位機數據部分進行分析和處理;在襪機運行過程中,需要很多的數據信息來控制襪機的動作,在每個時段需要不同的電機轉速,需要控制信息來調節編織圈速,還有很多梭子,這些都需要數據信息來記錄某個時段哪些工作,哪些不工作;還有電磁閥、選針器等的工作狀態都需要我們用數據來加以控制。數據整合與處理有誤會導致意想不到的結果發生,輕則會導致襪機無法正常工作或者出現亂動作,嚴重時會導致電機損壞,襪機機械結構遭到破壞等等,所以對襪機數據的分析和研究是十分重要的。
1 數據分析與整合效率
1.1 襪機控制數據的歸納
襪機控制板的程序在剛進入主程序初始化后就要不斷的讀取數據來進行編織,包括頭文件信息,襪子的寬度及長度信息,各個時段的轉速信息,襪機的機型信息等;緊接著是襪子花紋信息、主梭配置信息和橡筋位置信息;最后是襪子的結束信息,用于提示處理器一雙完整的襪子即將完成,至此我們完成了襪機數據的收集。
1.2 襪機控制數據的整合
我們需要一個12bit來表示一個數據信息,這個數據信息包括的信息量有花紋顏色信息、主梭配置信息、橡筋位置信息等這是低8bit所包含的,高8bit的低4字節來記錄襪機每個時段的不同速度,因為我們現在已經定義了6種不同的速度值,以后根據實際情況還會再增加速度值,預留10種不同信息值來保存以后增加的速度值。
圖1是我們設計的襪機上位機畫圖軟件的部分截圖,它具有三個做圖窗口,從左到右依次是花形繪制窗口view1、主梭配置窗口view2、橡筋位置窗口view3,這在襪機花形設計及參數配置中是需要的。
1.3 數據的整合效率分析
下面是對2種數據組合方式的比較,結合實際的情況證明采用的整合方式效率最高:
1) 用3個Byte來保存3個窗口的一個點陣值,每個窗口的每個點陣值獲得1Byte的空間存儲,下面的表格展示了使用情況,其中Byte1用以保存view1中的第一個點陣信息,Byte2用以保存view2中的第一個點陣信息,Byte3用以保存view3中的第一個點陣信息:
2) 從表1中可以看出,數據存在很多的冗余信息,有很多bit沒有使用,我們以最少的bit來記錄最大的信息量的原則來對這些沒有使用的位加以改進,改進后如表2。
ByteA、ByteB、ByteC記錄三個窗口中的第一和第二個點陣的信息,ByteA的bit0-bit3用于存儲view1第一個點陣信息,ByteA的bit4-bit6用于存儲view2第一個點陣信息,ByteA的bit7用于存儲view3第一個點陣信息,ByteB的bit0-bit3用于存儲第一個點陣信息,ByteB的bit4-bit7存儲view1第二個點陣信息,ByteC的bit0-bit3存儲view2第二個點陣信息,ByteC的bit4-bit6用于存儲view2第二個點陣信息,ByteC的bit7用于存儲view3第二個點陣信息。
以第一種情況占空間的百分比為100%來計算,第二種情況為其1/3,這樣存儲的文件數量也會逐次增加,在同一塊存儲器中采用第二種方式存儲器的文件數量是第一種方式的3倍,實用價值非常可觀。
2 編碼技術對花形數據的壓縮
襪機的數據有一個特點,數據字符會連續出現多次,因為圓筒式電腦襪機一圈又100多跟織針,很多時候一圈中的顏色是相同的,花紋的顏色也會連續的相同出現很多次,這就給襪機數據的壓縮提供了前提條件,下面針對各種壓縮算法對數據壓縮的效率進行分析。
2.1 無損編碼方法
針對襪機數據的特點,主要實驗RLE編碼、哈夫曼編碼、算術編碼、LZ77、LZ78等無損編碼技術在襪機數據上壓縮進行分析,得出最適合襪機數據的編碼算法。
Run-Length Encoding(RLE,行程編碼)主要是針對一連串出現的重復字串做壓縮的動作[1];哈夫曼編碼是根據字符出現的概率來構造平均長度最最短的編碼[2];算術編碼是一種熵編碼方法,是用符號的概率和它的編碼間隔來描述的[3];LZ77編碼是通過使用編碼器中已經出現過的相應匹配數據信息替換當前數據[4];LZ78編碼與LZ77相反,是針對后來的數據進行處理[M]。
2.2 花紋數據的編碼效率分析
該文用4個花型文件(test1-test4)來實驗各個編碼算法的壓縮效率,通過對比各個編碼的壓縮效率來判斷最適合襪機數據的壓縮編碼。
運用RLE、哈夫曼、算術、LZ77、LZ78編碼壓縮的實驗結果如下:
表3 RLE、哈夫曼、算術、LZ77、LZ78編碼壓縮的實驗結果
從實驗結果可以看出,RLE編碼對連續字符文件的壓縮率非常高,而對于較大不連續文件壓縮率很低,其平均壓縮率為p=89.474%,五種編碼中排第2。
哈夫曼編碼對較小的文件壓縮率不如RLE編碼,較大文件的壓縮效率不如LZ78編碼,其平均壓縮率為p=82.6423%,五種編碼中排第4。
算術編碼是幾種編碼中效率最低的,其平均壓縮率為p=77.7113%,五種編碼中排第5。
LZ77編碼不是最適合花型文件的編碼技術,其平均壓縮率為p=85.3642%,五種編碼中排第3。
LZ78編碼是測試的幾種編碼中效率最高的,其平均壓縮率為p=92.3985%,五種編碼中排第1。
2.3 實驗總結
從以上實驗數據中可以看出,較小的花型數據RLE編碼和LZ78明顯處于優勢,相對較大的花型文件,LZ78編碼的壓縮優勢是最大的,我們可以得出LZ78編碼無論是對較小數據還是大數據,都具有壓縮優勢,且其平均壓縮率是最高的,因此根據襪機花型數據大小可變動的實際情況,LZ78編碼是最適合壓縮的編碼方法。
3 結論
本文對自動電腦襪機的數據進行了分析、整合和編碼,對數據按怎樣的方式進行整合效率會更好,進行了比較,并且按照襪機實際的需求,將數據按照高效的方式進行了組合,并且將實際設計得出的花形數據進行了壓縮實驗,通過對比各個編碼的壓縮效率,得到了最適合襪機數據的壓縮編碼方法,通過本文的分析可知,采用自定義的花型文件壓縮后,減小了花紋數據的存儲量,提高了襪機文件的傳輸效率。
參考文獻:
[1] 蘆亞亞,丁維龍,古輝.由行程編碼改進的一種通用性壓縮算法[J].浙江工業大學學報,2007,35(1):60-64.
[2] 楊利華,李娟,彭永康.哈弗曼算法的改進與應用[J].電腦知識與技術,2006(5):110-111.
[3] 張遠夏.淺談算術編碼的編譯過程[J].自然科學,2003,24(4):123-125.
[4] 馬巧梅,朱林泉.基于LZ77算法的文本壓縮軟件的實現[J].電腦開發與應用,2008,21(5):41-42.
[5] 吳家安.數據壓縮技術及應用[M].2版.北京:科學出版社,2009.