[發(fā)明專利]一種數(shù)據(jù)壓縮方法及裝置有效
| 申請?zhí)枺?/td> | 201310287343.6 | 申請日: | 2013-07-08 |
| 公開(公告)號: | CN103346800A | 公開(公告)日: | 2013-10-09 |
| 發(fā)明(設(shè)計(jì))人: | 趙玉秋;朱亞軍;李楠;吳風(fēng) | 申請(專利權(quán))人: | 沈陽東軟醫(yī)療系統(tǒng)有限公司 |
| 主分類號: | H03M7/30 | 分類號: | H03M7/30 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 110179 遼*** | 國省代碼: | 遼寧;21 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 數(shù)據(jù)壓縮 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)壓縮方法及裝置。
背景技術(shù)
數(shù)據(jù)壓縮是指在不丟失信息的前提下,縮減數(shù)據(jù)量以減少存儲(chǔ)空間,提高其傳輸、存儲(chǔ)和處理效率的一種技術(shù)方法。RLE(Run-Length?Encoding,行程長度編碼)是一種簡單的非破壞性資料壓縮法,其好處是編碼和解碼過程簡單,速度非常快,編碼原理簡單介紹如下:將原始的一元數(shù)據(jù)轉(zhuǎn)換為二元表示,即從<element>轉(zhuǎn)換到<element,number>,其中,element表示數(shù)據(jù)元,number表示對應(yīng)的數(shù)據(jù)元重復(fù)的次數(shù)。如數(shù)據(jù)AAAAAABBBBBCCCCDE經(jīng)RLE編碼后為FA6FB5FC4DE,其中,A6表示AAAAAA,F(xiàn)是特征字,用來區(qū)分哪些數(shù)據(jù)是需要RLE解碼的,如FC4在解碼時(shí),即會(huì)將F后面的C4解碼為數(shù)據(jù)元CCCC;D則直接解碼為數(shù)據(jù)元D。上述示例中,編碼前數(shù)據(jù)占用17個(gè)字節(jié),編碼后占用11個(gè)字節(jié),實(shí)現(xiàn)了數(shù)據(jù)壓縮的目的。
由RLE壓縮算法的原理可知,其主要是針對重復(fù)出現(xiàn)的數(shù)據(jù)元進(jìn)行的壓縮編碼,也就是說重復(fù)的數(shù)據(jù)元越多,RLE編碼的壓縮效果就越好,也即壓縮率(指文件壓縮后的大小與壓縮前的大小之比)越小,但是在實(shí)際應(yīng)用中卻可能因以下情況導(dǎo)致RLE壓縮之后的數(shù)據(jù)量沒有減少,反而增加:
當(dāng)F作為特征字時(shí),為避免混淆,其就不能再作為數(shù)據(jù)元單獨(dú)出現(xiàn),否則在解碼過程就無法準(zhǔn)確區(qū)分出F是數(shù)據(jù)元還是特征字,在這種情況下,就要用替代字G0來表示數(shù)據(jù)元F,相應(yīng)地用G1來表示數(shù)據(jù)元G。如此,對于數(shù)據(jù)AAAAAABBBBBCCCCDEF來說,經(jīng)RLE編碼后為FA6FB5FC4DEG0,數(shù)據(jù)在編碼前占用18個(gè)字節(jié),編碼后占用13個(gè)字節(jié),雖然壓縮率有所提高,但還是實(shí)現(xiàn)了數(shù)據(jù)壓縮的目的。但是,對于數(shù)據(jù)ABCDEFG來說,經(jīng)RLE編碼后為ABCDEG0G1,數(shù)據(jù)編碼前占用7個(gè)字節(jié),編碼后占用9個(gè)字節(jié),壓縮后數(shù)據(jù)量反而增加了,并未實(shí)現(xiàn)數(shù)據(jù)壓縮的目的。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種數(shù)據(jù)壓縮方法及裝置,進(jìn)一步降低RLE壓縮數(shù)據(jù)的壓縮率,提高數(shù)據(jù)壓縮效果。
為此,本發(fā)明提供如下技術(shù)方案:
本發(fā)明實(shí)施例的數(shù)據(jù)壓縮方法,包括:
獲取經(jīng)行程長度編碼RLE壓縮后的數(shù)據(jù);
判斷所述數(shù)據(jù)中是否包含特征字,如果包含特征字,則記錄所述特征字的位置信息,并對所述位置信息進(jìn)行編碼;
編碼后的位置信息作為首字節(jié)與數(shù)據(jù)流組裝為所述數(shù)據(jù)的壓縮結(jié)果,所述數(shù)據(jù)流由所述數(shù)據(jù)剔除特征字后獲得。
優(yōu)選的,統(tǒng)計(jì)不同個(gè)數(shù)的特征字對應(yīng)的數(shù)據(jù)元在數(shù)據(jù)流中的位置分布情況,并為每種位置分布情況設(shè)置一個(gè)索引值,建立索引數(shù)據(jù)庫;則
所述對所述位置信息進(jìn)行編碼,包括:
將所述數(shù)據(jù)包含的每個(gè)特征字的位置信息轉(zhuǎn)換為該特征字對應(yīng)的數(shù)據(jù)元在所述數(shù)據(jù)流中的位置信息,確定所述數(shù)據(jù)元在所述數(shù)據(jù)流中的當(dāng)前位置分布情況;
查找所述索引數(shù)據(jù)庫,獲得所述當(dāng)前位置分布情況對應(yīng)的索引值,將所述索引值作為所述編碼后的位置信息。
優(yōu)選的,建立數(shù)據(jù)元的位置信息與預(yù)設(shè)個(gè)數(shù)的比特位之間的對應(yīng)關(guān)系;則
所述對所述位置信息進(jìn)行編碼,包括:
將所述數(shù)據(jù)包含的每個(gè)特征字的位置信息轉(zhuǎn)換為該特征字對應(yīng)的數(shù)據(jù)元在所述數(shù)據(jù)流中的位置信息,并將該位置信息對應(yīng)的比特位標(biāo)識(shí)為具有特征字的狀態(tài),將標(biāo)識(shí)后的預(yù)設(shè)個(gè)數(shù)的比特位作為所述編碼后的位置信息。
優(yōu)選的,所述對所述位置信息進(jìn)行編碼,包括:
將所述數(shù)據(jù)包含的每個(gè)特征字的位置信息轉(zhuǎn)換為該特征字對應(yīng)的數(shù)據(jù)元在所述數(shù)據(jù)流中的位置信息,確定所述數(shù)據(jù)元在所述數(shù)據(jù)流中的當(dāng)前位置分布情況;
分別利用預(yù)設(shè)個(gè)數(shù)的比特位表示所述數(shù)據(jù)包含的特征字個(gè)數(shù)以及所述當(dāng)前位置分布情況,作為所述編碼后的位置信息。
優(yōu)選的,所述方法還包括:
在所述獲取經(jīng)行程長度編碼RLE壓縮后的數(shù)據(jù)之后,
判斷所述數(shù)據(jù)中是否包含替代字,如果包含替代字,則將所述替代字轉(zhuǎn)換為特征字。
優(yōu)選的,當(dāng)所述數(shù)據(jù)壓縮方法應(yīng)用于CAN總線數(shù)據(jù)發(fā)送時(shí),利用數(shù)據(jù)長度碼DLC表示所述數(shù)據(jù)是否經(jīng)所述數(shù)據(jù)壓縮方法處理:
如果DLC≤8,則表示CAN總線發(fā)送的數(shù)據(jù)未經(jīng)所述數(shù)據(jù)壓縮方法處理;
如果DLC>8,則表示CAN總線發(fā)送的數(shù)據(jù)經(jīng)過所述數(shù)據(jù)壓縮方法處理。
對應(yīng)地,本發(fā)明實(shí)施例還提供一種數(shù)據(jù)壓縮裝置,包括:
獲取單元,用于獲取經(jīng)行程長度編碼RLE壓縮后的數(shù)據(jù);
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于沈陽東軟醫(yī)療系統(tǒng)有限公司,未經(jīng)沈陽東軟醫(yī)療系統(tǒng)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310287343.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
H03M 一般編碼、譯碼或代碼轉(zhuǎn)換
H03M7-00 把用給定序列的數(shù)字或給定數(shù)目的數(shù)字來表示信息的碼,轉(zhuǎn)換到用不同序列的數(shù)字或不同數(shù)目的數(shù)字來表示相同信息的碼
H03M7-02 .轉(zhuǎn)換到加權(quán)代碼或相反轉(zhuǎn)換,即對一數(shù)字的加權(quán)與該數(shù)字在信息組或代碼字中的位置有關(guān)
H03M7-14 .轉(zhuǎn)換到非加權(quán)代碼或相反轉(zhuǎn)換
H03M7-26 .轉(zhuǎn)換到隨機(jī)碼或相反轉(zhuǎn)換
H03M7-28 .可編程序結(jié)構(gòu),即代碼轉(zhuǎn)換器所包括的設(shè)備其算符是可變的,以調(diào)整轉(zhuǎn)換程序
H03M7-30 .壓縮
- 基于WLAN網(wǎng)絡(luò)的數(shù)據(jù)壓縮傳輸方法、STA及AP
- 一種數(shù)據(jù)壓縮存儲(chǔ)方法、裝置,及分布式文件系統(tǒng)
- 數(shù)據(jù)傳輸、數(shù)據(jù)接收方法及裝置
- 一種數(shù)據(jù)壓縮存儲(chǔ)方法以及數(shù)據(jù)壓縮存儲(chǔ)裝置
- 數(shù)據(jù)的傳輸方法、數(shù)據(jù)傳輸裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 數(shù)據(jù)壓縮系統(tǒng)、有損數(shù)據(jù)壓縮的方法和數(shù)據(jù)壓縮的方法
- 數(shù)據(jù)壓縮方法、數(shù)據(jù)壓縮系統(tǒng)以及采用該系統(tǒng)的車輛ECU
- 數(shù)據(jù)壓縮方法、裝置、電子設(shè)備及計(jì)算機(jī)可讀介質(zhì)
- 口授系統(tǒng)
- 具有幾個(gè)數(shù)據(jù)壓縮信道的數(shù)據(jù)壓縮組件
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測試終端的測試方法
- 一種服裝用人體測量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





