亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于嵌入式實時操作系統(tǒng)Vxworks下的數(shù)據(jù)壓縮技術(shù)

        2017-05-17 08:56:36王江泉張小研
        關(guān)鍵詞:壓縮算法

        王江泉++張小研

        摘要:嵌入式實時操作系統(tǒng)Vxworks本身的數(shù)據(jù)壓縮技術(shù)與其它主流操作系統(tǒng)不能夠相互兼容,本文針對Vxworks提出了一種新的數(shù)據(jù)壓縮技術(shù),并且詳細描述了數(shù)據(jù)壓縮技術(shù)算法的數(shù)據(jù)模型及其實現(xiàn)方法,對研究其他壓縮技術(shù)提供了思路和研究方法。

        關(guān)鍵詞:Vxworks;數(shù)據(jù)壓縮技術(shù);壓縮算法

        中圖分類號:TP316 文獻標識碼:A 文章編號:1007-9416(2017)03-0070-02

        1 引言

        隨著現(xiàn)代信息技術(shù)的快速進步,特別是計算機技術(shù)的高速發(fā)展,計算機存儲技術(shù)面對諸多困難和挑戰(zhàn)。數(shù)據(jù)壓縮技術(shù)是在保證信息完整性的前提下,通過數(shù)據(jù)量的縮減達到存儲空間減少的或按照某種算法重新組織原始數(shù)據(jù),減少數(shù)據(jù)冗余、提高其傳輸存儲和處理效率的一種技術(shù)方法。

        Vxworks是美國風(fēng)河公司研制的一種具備發(fā)展能力強、性能極其優(yōu)越及人機交互友好的嵌入式實時操作系統(tǒng)(RTOS),在RTOS領(lǐng)域中起到重要的引導(dǎo)作用,Vxworks以高可靠性、高精度計時和優(yōu)良的實時性在載人航天、衛(wèi)星通訊、軍事工業(yè)等高精端領(lǐng)域得到廣泛的應(yīng)用及推廣。

        Vworks本身自帶的數(shù)據(jù)壓縮技術(shù)只能在Vxworks自身操作系統(tǒng)使用,與其他平臺不能夠相互兼容,存在局限性,而主流平臺的常用壓縮軟件在Vxworks下因平臺屬性不同又不能兼容。本文所描述的數(shù)據(jù)壓縮技術(shù)為無損壓縮,主要用于存儲數(shù)據(jù)庫記錄或處理文本文件,且能夠跨平臺使用,支持Vxworks與其他主流操作系統(tǒng)之間相互應(yīng)用。

        2 數(shù)據(jù)壓縮原理

        數(shù)據(jù)壓縮技術(shù)作為一種非常重要的的計算機技術(shù)[1],會在很多場景下得到應(yīng)用,比如計算機文件系統(tǒng)、數(shù)據(jù)庫的應(yīng)用、大數(shù)據(jù)量信息的傳輸、多媒體移動通信系統(tǒng)等。壓縮可以分為無損壓縮和有損壓縮,有損,指的是壓縮之后就無法完整還原原始信息,但是壓縮率可以很高,主要應(yīng)用于視頻、話音等數(shù)據(jù)的壓縮,因為損失了一點信息,人是很難察覺的;無損壓縮則用于文件或者信息等重要信息必須完整復(fù)原的場合。

        數(shù)據(jù)壓縮技術(shù)是以信息論作為基礎(chǔ)理論發(fā)展起來的一種技術(shù)。如果以信息論的觀點看數(shù)據(jù)壓縮技術(shù),壓縮把信息中冗余的部分信息去除,即去除掉可以確定的信息或者可推算得到的信息,而保留信息中非常不確定的信息,即用一種非常靠近信息本質(zhì)的描述來代替原有信息中的冗余描述,這個實質(zhì)的描述就是信息論中的信息量,而整個過程就是數(shù)據(jù)壓縮技術(shù)。

        數(shù)據(jù)壓縮技術(shù)的核心思想就是利用數(shù)據(jù)的重復(fù)結(jié)構(gòu)信息來進行數(shù)據(jù)壓縮[2]。舉個簡單的例子,比如一段字符串“取之以仁義,守之以仁義者,周也。取之以詐力,守之以詐力者,秦也?!?,如果不使用壓縮,采用Unicode編碼共計32個字符64個字節(jié)。如果使用數(shù)據(jù)壓縮,其中字符“取之以”、“仁義”、“,”,、“者”、“守之以”、“也”、“詐力”、“?!本貜?fù)出現(xiàn)過,只需指出其之前出現(xiàn)的位置,便可表示整段字符串。

        3 數(shù)據(jù)壓縮算法

        本壓縮技術(shù)所采取的的壓縮算法是一種基于字典、“滑動窗口”的無損壓縮模型算法,包含一個碼表字典、一個動態(tài)滑動窗口和一個預(yù)讀緩沖器。

        碼表作為壓縮使用的字典,采用最優(yōu)二叉樹進行編碼,動態(tài)窗口是個歷史緩沖器,它被用來存放輸入流前字節(jié)的有關(guān)信息,與動態(tài)窗口相匹配的是預(yù)讀緩沖器,它被用來存儲當(dāng)前輸入流的字節(jié)信息。

        數(shù)據(jù)信息首先存儲于預(yù)讀緩沖器,通過之前的滑動窗口與當(dāng)前預(yù)讀緩沖器中的信息進行匹配,查找兩者最匹配的數(shù)據(jù)。如果匹配上的數(shù)據(jù)中,數(shù)據(jù)匹配長度大于最小預(yù)定匹配長度,就會輸出一對數(shù)組數(shù)據(jù),含距離 (distance),長度(length)等信息。其中距離(distance)表示在當(dāng)前的輸入流中重復(fù)的字符在之前滑動窗口中能夠相匹配的字節(jié)數(shù)據(jù)位置,而長度(length)是指能夠匹配的數(shù)據(jù)長度。如果匹配的信息數(shù)據(jù)長度小于最小預(yù)定匹配長度,輸出當(dāng)前字節(jié),對數(shù)據(jù)信息不做改動?;瑒哟翱谑疽鈭D如圖1所示。

        數(shù)據(jù)壓縮算法流程為:

        (1)從當(dāng)前需要壓縮的起點位置開始,匹配未進行編碼的數(shù)據(jù),并盡量在當(dāng)前的滑動窗口中查找最長的字符匹配數(shù)據(jù),如果能夠找到,則執(zhí)行步驟 2 ,否則執(zhí)行步驟 3。

        (2)輸出三元參數(shù)數(shù)組( off,len,c )。其中 off 為當(dāng)前預(yù)讀緩沖器中匹配的數(shù)據(jù)相對滑動窗口邊界的偏移量,len為兩者所能夠匹配的長度,c 為下一個即將匹配的字符,即不匹配數(shù)據(jù)的第一個字符。然后滑動窗口向后移動 len+1 個字節(jié),繼續(xù)執(zhí)行步驟 1。

        (3)針對不匹配的數(shù)據(jù),輸出三元參數(shù)數(shù)組( 0,0,c )。其中 c 為不能夠匹配字符。然后對滑動窗口進行一個字符的滑動,繼續(xù)執(zhí)行步驟 1。

        4 算法實現(xiàn)

        4.1 三元參數(shù)數(shù)組設(shè)計

        針對三元參數(shù)數(shù)組的第一個參數(shù)——相對滑動窗口的偏移(off),依據(jù)概率理論計算,匹配數(shù)據(jù)接近滑動窗口尾部的概率要大于接近滑動窗口頭部的概率,所以字符串在滑動窗口的邊界位置比較容易找到相同的匹配串,但對于通常情況下大小固定的的窗口(例如 4096 字節(jié)大小的窗口),偏移值一般情況下為均勻分布,可以通過固定的字節(jié)位數(shù)進行描述。編碼 off的位數(shù)計算為MaxNum = upper_bound( log2( MAX_NumCount))。因此,用 12 位字節(jié)數(shù)就可以對大小為 4096的滑動窗口進行偏移編碼。在數(shù)據(jù)進行壓縮前,滑動窗口字節(jié)數(shù)并沒有達到 最大值,而是隨著壓縮過程的不斷進行而增長, 因此偏移字節(jié)計算所需要的位數(shù)可以通過窗口的當(dāng)前大小動態(tài)進行編碼。

        為了盡量對數(shù)據(jù)進行壓縮,可以對窗口內(nèi)的偏移(off) 采用可變字長編碼方式,本算法采用哈夫曼編碼(Huffman Coding)對off重新編碼,統(tǒng)計每個符號的出現(xiàn)次數(shù)。依據(jù)每種符號所統(tǒng)計的出現(xiàn)次數(shù),建立標準的Huffman 樹,獲得每種符號根據(jù)Huffman樹所得到的編碼,形成碼表字典。對于字符出現(xiàn)次數(shù)較多的情況,可以用較少的編碼實現(xiàn),對于字符出現(xiàn)次數(shù)很少的,用較多的編碼進行實現(xiàn)。

        針對三元參數(shù)數(shù)組的第二個參數(shù)——所匹配字符串得長度(len),它在一般情況下不會太大,只有在極少數(shù)情況下才會出現(xiàn)較大的長度,因此,應(yīng)該采用一種變長的編碼技術(shù)對長度值進行編碼,此編碼還必須為前綴編碼[3]。

        本算法中編碼為Golomb 編碼,比如對整數(shù)長度x采用 Golomb 編碼,參數(shù)變量選擇為 p,則:

        a = 2p;

        j = ((x - 1)/a);

        y = x - ja – 1;

        通過計算可知長度x的編碼由兩部分組成,其中前部分是由 j 個 1 和 1 個 0 組成,后半部分為p位的字節(jié)組成,其值等于 y,當(dāng)參數(shù)p 為0、1、2、3時的 Golomb 編碼表如下:

        值 x p = 0 p = 1 p = 2 p = 3

        ------------------------------------------------------------------------------------------------------------

        1 0 0 0 0 00 0 000

        2 10 0 1 0 01 0 001

        3 110 10 0 0 10 0 010

        4 1110 10 1 0 11 0 011

        5 11110 110 0 10 00 0 100

        6 111110 110 1 10 01 0 101

        7 1111110 1110 0 10 10 0 110

        8 11111110 1110 1 10 11 0 111

        9 111111110 11110 0 110 00 10 000

        算法中所采用的Golomb 編碼不僅僅符合前綴編碼的要求,而且數(shù)值比較小的x值可以用較少的位編碼,數(shù)值較大的x值用較長的位編碼。如果x的取值范圍為比較小的數(shù)時,Golomb 編碼就能夠?qū)臻g進行有效的節(jié)省,編碼參數(shù) p 的值,根據(jù)經(jīng)驗一般為3或者4。

        針對三元參數(shù)數(shù)組的第三個參數(shù)——不能夠匹配的字節(jié)c,因為該字符的概率為隨機數(shù),只能采用標準的8位進行編碼,可以直接輸出該字符。

        4.2 查找匹配串

        本壓縮算法的核心內(nèi)容是在滑動窗口中尋找最長的匹配字節(jié)串,每一次滑動窗口移動之后,都要在滑動窗口中查找下一個匹配串,如果匹配算法的時間效率高于O(n2),那么總的算法效率將高達 O(n3),這在實際應(yīng)用中是無法接受的。

        本壓縮算法主要通過在滑動窗口中控制能夠匹配字符串的最大長度(比如24個字節(jié))方法,將滑動窗口中每個24字節(jié)串單獨抽取出來,按照一定的大小順序形成二叉有序樹,在組織的二叉有序樹中對字符串進行匹配,可以有效提高效率。

        4.3 數(shù)據(jù)的解壓縮

        因為數(shù)據(jù)壓縮時需要做大量的字符匹配工作,而解壓縮時所需要做很少的工作。因此數(shù)據(jù)解壓縮的整個過程很簡單,只要對滑動窗口進行維護即可,同時查詢存儲于壓縮文件的碼表字典,隨著三元數(shù)組的不斷輸入,算法會在滑動窗口中找到滿足要求的匹配串,在輸出流文件中對符合字符串進行輸出(如果off和len 數(shù)值都為0,只需要輸出后繼字符c )。

        5 結(jié)語

        本文中所論述的數(shù)據(jù)壓縮技術(shù)在嵌入式實時操作系統(tǒng)Vxworks和主流操作系統(tǒng)之間能夠相互兼容,使得對Vxworks的應(yīng)用做了進一步的擴展,且在工程實踐中得到良好的應(yīng)用。本文詳細描述了數(shù)據(jù)壓縮技術(shù)算法的數(shù)據(jù)模型及其實現(xiàn)方法,對研究其他壓縮技術(shù)提供了思路和研究方法。

        參考文獻

        [1]閆陽,張正炳.淺談數(shù)據(jù)壓縮技術(shù)[J].長江大學(xué)學(xué)報(自科版),2004,1(4):120-121.

        [2]于翔.數(shù)據(jù)壓縮技術(shù)分析[J].青海大學(xué)學(xué)報(自然科學(xué)版),2002,20(5):52-54.

        [3]SalomonD.數(shù)據(jù)壓縮原理與應(yīng)用[M].吳樂南,譯.北京:電子工業(yè)出版社,2003.

        猜你喜歡
        壓縮算法
        列式數(shù)據(jù)庫的數(shù)據(jù)壓縮技術(shù)研究
        多媒體數(shù)據(jù)壓縮算法及其實現(xiàn)研究
        基于人工智能技術(shù)的運動教學(xué)視頻壓縮算法
        淺談面向云計算數(shù)據(jù)中心的新型解壓縮方法
        中國信息化(2020年4期)2020-05-19 15:14:30
        基于參數(shù)識別的軌道電路監(jiān)測數(shù)據(jù)壓縮算法研究
        更正聲明
        基于Hadoop平臺的數(shù)據(jù)壓縮技術(shù)研究
        PMU數(shù)據(jù)預(yù)處理及壓縮算法
        WSN中降低噴泉碼存儲冗余量的方法研究
        計算機工程(2014年5期)2014-08-05 04:27:22
        基于HBASE的大數(shù)據(jù)壓縮算法的研究
        色综合久久蜜芽国产精品| 对白刺激的老熟女露脸| 真人与拘做受免费视频| av无码天一区二区一三区| 日本丰满妇人成熟免费中文字幕| 亚洲熟妇中文字幕日产无码| 日本女优中文字幕有码| 亚洲精品在线97中文字幕| 亚洲视频高清一区二区| 日本妇人成熟免费2020| 人妻无码一区二区不卡无码av| 国产精品高潮呻吟av久久4虎| 八戒网站免费观看视频| 国内大量揄拍人妻在线视频| 免费人成视频欧美| 日韩va高清免费视频| 国产理论亚洲天堂av| 亚洲精彩av大片在线观看| 国产自拍av在线观看视频 | 午夜久久久久久禁播电影| 中文字幕日韩精品有码视频| 免费人妻无码不卡中文字幕18禁 | 青青草视频免费观看| 黑人巨大白妞出浆| 久久天天躁狠狠躁夜夜中文字幕| 国产av黄色一区二区| 亚洲国产精品一区二区久久恐怖片 | 国产一区二区一级黄色片| 久久精品不卡一区二区三区| 精品国产成人av久久| 精品无码国产自产拍在线观看蜜| 欧美精品久久久久久久自慰| 51精品视频一区二区三区| 一级黄色一区二区三区视频| 国产精品三区四区亚洲av| 五月色婷婷丁香无码三级| 99在线精品免费视频九九视| 国产精品久久久久电影网| 亚洲无码a∨在线视频| 久久99久久99精品观看| 亚洲黑寡妇黄色一级片|