国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種面向科學(xué)計(jì)算的浮點(diǎn)型數(shù)據(jù)無(wú)損壓縮方法

      文檔序號(hào):9306409閱讀:1127來(lái)源:國(guó)知局
      一種面向科學(xué)計(jì)算的浮點(diǎn)型數(shù)據(jù)無(wú)損壓縮方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于數(shù)據(jù)處理技術(shù)領(lǐng)域,具體涉及一種面向科學(xué)計(jì)算的浮點(diǎn)型數(shù)據(jù)無(wú)損壓縮方法。
      【背景技術(shù)】
      [0002]隨著社會(huì)的日益發(fā)展,由科學(xué)研究(天文學(xué)、生物學(xué)、海洋學(xué))、社交網(wǎng)絡(luò)(faceb00k、QQ、人人網(wǎng))、自然環(huán)境監(jiān)測(cè)(暴雨、洪水、地震)等產(chǎn)生的數(shù)以億計(jì)的數(shù)據(jù)呈爆炸式增長(zhǎng),無(wú)論在工業(yè)界還是學(xué)術(shù)界,大規(guī)模數(shù)據(jù)處理都受到火熱追捧。
      [0003]數(shù)據(jù)的多樣性和指數(shù)級(jí)增長(zhǎng)給數(shù)據(jù)存儲(chǔ)和傳輸帶來(lái)了巨大壓力,嚴(yán)重阻礙了高性能計(jì)算在科學(xué)領(lǐng)域的運(yùn)用和發(fā)展。數(shù)據(jù)壓縮一直是人們用于解決此類問(wèn)題的熱點(diǎn)技術(shù),尋找高效的數(shù)據(jù)壓縮技術(shù)可以有效降低數(shù)據(jù)存儲(chǔ)量和傳輸成本。
      [0004]數(shù)據(jù)壓縮按解碼后的數(shù)據(jù)是否完整恢復(fù)原數(shù)據(jù),可分為有損壓縮和無(wú)損壓縮。有損壓縮指的是解壓縮時(shí)不能精確恢復(fù)原始數(shù)據(jù),有一定的信息損失,該方法主要用于圖像、視頻、音頻等少量信息遺失而不會(huì)影響原有數(shù)據(jù)效果的領(lǐng)域。無(wú)損壓縮又稱為熵編碼、無(wú)失真編碼,其工作原理是減少或去除數(shù)據(jù)中的冗余度,且原數(shù)據(jù)可被精確恢復(fù)。
      [0005]對(duì)大部分科學(xué)數(shù)據(jù)而言,任何一個(gè)微小誤差都將可能引發(fā)一場(chǎng)災(zāi)難,所以必須采用無(wú)損壓縮技術(shù),以保證數(shù)據(jù)恢復(fù)時(shí)的完整性;同時(shí),數(shù)據(jù)壓縮速度必須十分迅速,以適應(yīng)科學(xué)數(shù)據(jù)規(guī)模大、密集度高、更新快等特點(diǎn)。

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

      [0006]本發(fā)明的目的是提供一種面向科學(xué)計(jì)算的浮點(diǎn)型數(shù)據(jù)無(wú)損壓縮方法,解決了浮點(diǎn)型數(shù)據(jù)壓縮率低、壓縮緩慢的問(wèn)題。
      [0007]本發(fā)明所采用的技術(shù)方案是,一種面向科學(xué)計(jì)算的浮點(diǎn)型數(shù)據(jù)無(wú)損壓縮方法,具體按照以下步驟實(shí)施:
      [0008]步驟1、對(duì)浮點(diǎn)型數(shù)據(jù)的符號(hào)域、指數(shù)域和尾數(shù)域分別映射、分別壓縮,并對(duì)壓縮后的數(shù)據(jù)以二進(jìn)制位為單位進(jìn)行存儲(chǔ);
      [0009]步驟2、獲得尾數(shù)域差值的有效數(shù)據(jù)、指數(shù)域差值和符號(hào)域,并根據(jù)IEEE754格式和參考數(shù)據(jù),完整恢復(fù)出原始數(shù)據(jù),
      [0010]其中,參考數(shù)據(jù)是前一個(gè)被壓縮數(shù)據(jù)。
      [0011]本發(fā)明的特點(diǎn)還在于:
      [0012]步驟I具體為:
      [0013]步驟1.1、內(nèi)存拷貝參考數(shù)據(jù)和被壓縮數(shù)據(jù),將其分別轉(zhuǎn)換為4個(gè)字節(jié)的整數(shù);
      [0014]步驟1.2、根據(jù)IEEE754格式,提取出參考數(shù)據(jù)和被壓縮數(shù)據(jù)的符號(hào)域、指數(shù)域和尾數(shù)域;
      [0015]步驟1.3、保持被壓縮數(shù)據(jù)的符號(hào)域值不變;
      [0016]步驟1.4、采用減法運(yùn)算得出被壓縮數(shù)據(jù)與參考數(shù)據(jù)的指數(shù)域差值,當(dāng)指數(shù)域差值的值較小時(shí),標(biāo)記相應(yīng)的標(biāo)志位;當(dāng)指數(shù)域差值的值較大時(shí),單獨(dú)存儲(chǔ)被壓縮數(shù)據(jù)的指數(shù)域,并標(biāo)記相應(yīng)的標(biāo)志位;
      [0017]步驟1.5、采用減法運(yùn)算得出被壓縮數(shù)據(jù)與參考數(shù)據(jù)的尾數(shù)域差值,刪除尾數(shù)域差值頭部的連續(xù)冗余0,存儲(chǔ)有效數(shù)據(jù),同時(shí)標(biāo)記有效數(shù)據(jù)的個(gè)數(shù);
      [0018]步驟1.6、采用位位相接的方式封裝所有數(shù)據(jù)尾數(shù)域差值的有效數(shù)據(jù)位,并封裝被壓縮數(shù)據(jù)的符號(hào)域、指數(shù)域及各種標(biāo)志位,即實(shí)現(xiàn)了數(shù)據(jù)的完全無(wú)損壓縮。
      [0019]步驟1.4中指數(shù)域差值的值較小為被壓縮數(shù)據(jù)與參考數(shù)據(jù)的指數(shù)域差值為0,1,-1,對(duì)應(yīng)的標(biāo)記位為0,1,2 ;指數(shù)域差值的值較大為被壓縮數(shù)據(jù)與參考數(shù)據(jù)的指數(shù)域差值為其他,對(duì)應(yīng)的標(biāo)記位為3。
      [0020]步驟2具體為:
      [0021]步驟2.1、根據(jù)尾數(shù)部分的標(biāo)志位值確定尾數(shù)域差值的有效數(shù)據(jù)位數(shù),并按位從尾數(shù)域的壓縮數(shù)據(jù)中取出該差值;然后由IEEE754格式可知該差值頭部所需的冗余O位數(shù),并對(duì)其進(jìn)行填充;最后根據(jù)參考數(shù)據(jù)的尾數(shù)值恢復(fù)出被壓縮數(shù)據(jù)的尾數(shù)域;
      [0022]步驟2.2、根據(jù)指數(shù)部分的標(biāo)志位值,如果獲得的是指數(shù)域差值,根據(jù)參考數(shù)據(jù)的指數(shù)域恢復(fù)出被壓縮數(shù)據(jù)的指數(shù)域,轉(zhuǎn)到步驟2.3 ;如果獲得的是被壓縮數(shù)據(jù)的指數(shù)域,直接轉(zhuǎn)到步驟2.3 ;
      [0023]步驟2.3、從壓縮數(shù)據(jù)中取出被壓縮數(shù)據(jù)的符號(hào)域;
      [0024]步驟2.4、按照IEEE754格式,組合符號(hào)域、指數(shù)域和尾數(shù)域變成4個(gè)字節(jié)的整數(shù),并內(nèi)存映射該整數(shù)使其還原成被壓縮的浮點(diǎn)型數(shù)據(jù)。
      [0025]本發(fā)明的有益效果是:本發(fā)明一種面向科學(xué)計(jì)算的浮點(diǎn)型數(shù)據(jù)無(wú)損壓縮方法,所采用的尾數(shù)整型法(Think Mantissa as Integer,TMI)根據(jù)浮點(diǎn)型數(shù)據(jù)各部分的物理含義及結(jié)構(gòu)特點(diǎn),對(duì)數(shù)據(jù)各部分分別映射、分別壓縮,打破了傳統(tǒng)的浮點(diǎn)型數(shù)據(jù)壓縮方法中,強(qiáng)行將其按字節(jié)劃分,既破壞了浮點(diǎn)型數(shù)據(jù)的物理含義,又使壓縮率低下;再者,本發(fā)明無(wú)損壓縮方法沒(méi)有過(guò)多的數(shù)據(jù)預(yù)測(cè)或變換算法,從而有利于加快數(shù)據(jù)壓縮速度;最后,由于任何數(shù)據(jù)在計(jì)算機(jī)中都以二進(jìn)制形式表示,所以該方法的思想可推廣到其它數(shù)據(jù)類型的壓縮。
      【附圖說(shuō)明】
      [0026]圖1是本發(fā)明無(wú)損壓縮方法中數(shù)據(jù)壓縮的實(shí)施例流程圖;
      [0027]圖2是本發(fā)明無(wú)損壓縮方法中數(shù)據(jù)解壓縮的實(shí)施例流程圖;
      [0028]圖3是本發(fā)明無(wú)損壓縮方法與WinRAR、WinZIP的壓縮率比較圖;
      [0029]如圖4所示為本發(fā)明無(wú)損壓縮方法與WinRAR、WinZIP的壓縮和解壓縮時(shí)間比較圖。
      【具體實(shí)施方式】
      [0030]下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
      [0031]—種面向科學(xué)計(jì)算的浮點(diǎn)型數(shù)據(jù)無(wú)損壓縮方法,主要針對(duì)單精度浮點(diǎn)型數(shù)據(jù),根據(jù)IEEE754格式,利用數(shù)據(jù)之間的高度密集性,設(shè)計(jì)出尾數(shù)整型化(Think Mantissa asInteger, TH)壓縮技術(shù),具體按照以下步驟實(shí)施:
      [0032]步驟1、數(shù)據(jù)壓縮:對(duì)浮點(diǎn)型數(shù)據(jù)的符號(hào)域、指數(shù)域和尾數(shù)域分別映射、分別壓縮,并對(duì)壓縮后的數(shù)據(jù)以二進(jìn)制位為單位進(jìn)行存儲(chǔ),具體步驟如下:
      [0033]步驟1.1、內(nèi)存拷貝參考數(shù)據(jù)和被壓縮數(shù)據(jù),將其分別轉(zhuǎn)換為4個(gè)字節(jié)的整數(shù);其中,參考數(shù)據(jù)是前一個(gè)被壓縮數(shù)據(jù);
      [0034]步驟1.2、根據(jù)IEEE754格式,提取出參考數(shù)據(jù)和被壓縮數(shù)據(jù)的符號(hào)域、指數(shù)域和尾數(shù)域;
      [0035]步驟1.3、保持被壓縮數(shù)據(jù)的符號(hào)域值不變;
      [0036]步驟1.4、采用減法運(yùn)算得出被壓縮數(shù)據(jù)與參考數(shù)據(jù)的指數(shù)域差值,由于參考數(shù)據(jù)與被壓縮數(shù)據(jù)具有極大相似性,因此該差值的值較小,因而所需要存儲(chǔ)的比特位也較少;當(dāng)指數(shù)域差值的值較小即被壓縮數(shù)據(jù)與參考數(shù)據(jù)的指數(shù)域差值為0,1,-1時(shí),標(biāo)記相應(yīng)的標(biāo)志位,對(duì)應(yīng)的標(biāo)記位為0,1,2 ;當(dāng)指數(shù)域差值的值較大,即被壓縮數(shù)據(jù)與參考數(shù)據(jù)的指數(shù)域差值為其他值時(shí),單獨(dú)存儲(chǔ)被壓縮數(shù)據(jù)的指數(shù)域,并標(biāo)記相應(yīng)的標(biāo)志位,對(duì)應(yīng)的標(biāo)記位為3 ;
      [0037]步驟1.5、采用減法運(yùn)算得出被壓縮數(shù)據(jù)與參考數(shù)據(jù)的尾數(shù)域差值,根據(jù)數(shù)據(jù)間具有極強(qiáng)的相似性可知,該尾數(shù)域差值頭部將產(chǎn)生若干連續(xù)冗余0,在存儲(chǔ)有效數(shù)據(jù)時(shí)刪除這些冗余O即可達(dá)到壓縮數(shù)據(jù)的效果,存儲(chǔ)有效數(shù)據(jù),同時(shí)標(biāo)記有效數(shù)據(jù)的個(gè)數(shù),以便解壓時(shí)完整恢復(fù)原始數(shù)據(jù);
      [0038]步驟1.6、采用位位相接的方式封裝所有數(shù)據(jù)尾數(shù)域差值的有效數(shù)據(jù)位,并封裝被壓縮數(shù)據(jù)的符號(hào)域、指數(shù)域及各種標(biāo)志位,即實(shí)現(xiàn)了數(shù)據(jù)的完全無(wú)損壓縮。
      [0039]步驟2、數(shù)據(jù)的解壓縮:獲得尾數(shù)域差值的有效數(shù)據(jù)、指數(shù)域差值和符號(hào)域,并根據(jù)IEEE754格式和參考數(shù)據(jù),完整恢復(fù)出原始數(shù)據(jù),進(jìn)而滿足準(zhǔn)確、實(shí)時(shí)無(wú)損的要求,具體步驟如下:
      [0040]步驟2.1、根據(jù)尾數(shù)部分的標(biāo)志位值確定尾數(shù)域差值的有效數(shù)據(jù)位數(shù),并按位從尾數(shù)域的壓縮數(shù)據(jù)中取出該差值;然后由IEEE754格式可知該差值頭部所需的冗余O位數(shù),并對(duì)其進(jìn)行填充;最后根據(jù)參考數(shù)據(jù)的尾數(shù)值恢復(fù)出被壓縮數(shù)據(jù)的尾數(shù)域;
      [0041]步驟2.2、根據(jù)指數(shù)部分的標(biāo)志位值可確定被壓縮數(shù)據(jù)與參考數(shù)據(jù)的指數(shù)域差值或者可直接獲得被壓縮數(shù)據(jù)的指數(shù)域,如果獲得的是指數(shù)域差值,根據(jù)參考數(shù)據(jù)的指數(shù)域恢復(fù)出被壓縮數(shù)據(jù)的指數(shù)域,轉(zhuǎn)到步驟2.3 ;如果獲得的是被壓縮數(shù)據(jù)的指數(shù)域,直接轉(zhuǎn)到步驟2.3 ;
      [0042]步驟2.3、從壓縮數(shù)據(jù)中取出被壓縮數(shù)據(jù)的符號(hào)域;
      [0043]步驟2.4、按照IEEE754格式,組合符號(hào)域、指數(shù)域和尾數(shù)域變成4個(gè)字節(jié)的整數(shù),并內(nèi)存映射該整數(shù)使其還原成被壓縮的浮點(diǎn)型數(shù)據(jù)。
      [0044]下面以具體實(shí)施例說(shuō)明本發(fā)明無(wú)損壓縮方法的具體操
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1