自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種自適應(yīng)混合數(shù)據(jù)無(wú)損壓縮系統(tǒng),為了提高編碼的有效性、可靠性而設(shè)計(jì)。本發(fā)明包括:統(tǒng)計(jì)分析模塊,分析待編碼信號(hào)統(tǒng)計(jì)特征并與設(shè)定的門(mén)限值進(jìn)行比較,實(shí)現(xiàn)線性預(yù)測(cè)Golomb編碼法和自適應(yīng)Golomb編碼法的自適應(yīng)切換;若適用線性預(yù)測(cè)Golomb編碼法,則線性預(yù)測(cè)模塊對(duì)待編碼信號(hào)進(jìn)行線性預(yù)測(cè),得到殘差信號(hào),將殘差信號(hào)映射為正整數(shù),統(tǒng)計(jì)判決模塊根據(jù)映射后的殘差信號(hào)確定Golomb編碼參數(shù)后進(jìn)行Golomb編碼;若適用自適應(yīng)Golomb編碼法,則統(tǒng)計(jì)判決模塊直接對(duì)待編碼信號(hào)進(jìn)行映射,根據(jù)映射后的數(shù)據(jù)確定Golomb編碼參數(shù)后進(jìn)行Golomb編碼。本發(fā)明,通過(guò)分析每幀信號(hào)的數(shù)字統(tǒng)計(jì)特征,自適應(yīng)采用不同的編碼方式和編碼參數(shù)對(duì)信號(hào)進(jìn)行壓縮編碼,從而提高壓縮的有效性與可靠性。
【專利說(shuō)明】
自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及一種信號(hào)壓縮技術(shù),尤其涉及一種自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系 統(tǒng)。
【背景技術(shù)】
[0002] 隨著多媒體技術(shù)的發(fā)展和應(yīng)用,人們獲得的信息有文本、圖像、視頻、音頻及各種 動(dòng)畫(huà)媒體,傳輸這些信息需要處理和傳送的數(shù)據(jù)量非常大,制約了多媒體信息的存儲(chǔ)和傳 輸,阻礙了信息的獲取和傳送。因此數(shù)據(jù)壓縮技術(shù)和大容量存儲(chǔ)技術(shù)對(duì)于多媒體技術(shù)的發(fā) 展極為重要。近年來(lái),隨著大容量存儲(chǔ)設(shè)備的出現(xiàn)和網(wǎng)絡(luò)傳輸帶寬的增加,為無(wú)損壓縮提供 了物理保證,從而推動(dòng)了其發(fā)展。無(wú)損壓縮的主要內(nèi)容包括分幀、預(yù)測(cè)和無(wú)損編碼等。
[0003] 實(shí)際應(yīng)用中遇到的絕大多數(shù)信號(hào)都不是平穩(wěn)信號(hào),而對(duì)于隨機(jī)信號(hào),譬如間歇性 突變信號(hào)的壓縮處理,采用固定碼長(zhǎng)的編碼方式比采用變長(zhǎng)碼編碼會(huì)占用更多的比特位 數(shù),降低壓縮性能。
[0004] 有鑒于上述的缺陷,本設(shè)計(jì)人,積極加以研究創(chuàng)新,以期創(chuàng)設(shè)一種自適應(yīng)的混合的 數(shù)據(jù)無(wú)損壓縮系統(tǒng),使其更具有產(chǎn)業(yè)上的利用價(jià)值。
【發(fā)明內(nèi)容】
[0005] 為解決上述技術(shù)問(wèn)題,本發(fā)明的目的是提供一種提高壓縮的有效性與可靠性的自 適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng)。
[0006] 本發(fā)明自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),包括:
[0007] 中央控制器,所述中央控制器包括統(tǒng)計(jì)分析、線性預(yù)測(cè)模塊、統(tǒng)計(jì)判決模塊、 Golomb編碼模塊;
[0008] 所述統(tǒng)計(jì)分析模塊,對(duì)待編碼信號(hào)的信號(hào)分析統(tǒng)計(jì)特征與設(shè)定的門(mén)限值進(jìn)行比 較,判斷待編碼信號(hào)是否需要進(jìn)行預(yù)測(cè),
[0009] 若需要預(yù)測(cè),則所述統(tǒng)計(jì)分析模塊輸出待編碼信號(hào)至所述線性預(yù)測(cè)模塊;所述線 性預(yù)測(cè)模塊對(duì)待編碼信號(hào)進(jìn)行線性預(yù)測(cè),得到殘差信號(hào),將所述殘差信號(hào)輸出至所述統(tǒng)計(jì) 判決模塊;所述統(tǒng)計(jì)判決模塊,基于所述殘差信號(hào)得到Golomb編碼參數(shù),輸出Golomb編碼參 數(shù)至所述Golomb編碼模塊,所述Golomb編碼模塊對(duì)殘差信號(hào)進(jìn)行編碼;
[0010] 若不需要預(yù)測(cè),則所述統(tǒng)計(jì)分析模塊輸出待編碼信號(hào)至所述統(tǒng)計(jì)判決模塊;所述 統(tǒng)計(jì)判決模塊,基于待編碼信號(hào)得到Golomb編碼參數(shù),輸出Golomb編碼參數(shù)至所述Golomb 編碼模塊,所述Golomb編碼模塊對(duì)待編碼信號(hào)進(jìn)行編碼。
[0011] 進(jìn)一步地,所述中央控制器還包括預(yù)測(cè)判決模塊、逆線性預(yù)測(cè)模塊、Golomb解碼模 塊;
[0012] 預(yù)測(cè)判決模塊,判斷編碼碼流是否進(jìn)行了線性預(yù)測(cè),
[0013] 若沒(méi)有線性預(yù)測(cè),則將所述的編碼碼流輸出至Golomb解碼模塊,經(jīng)過(guò)Golomb解碼 模塊處理恢復(fù)出待編碼信號(hào);
[0014] 若進(jìn)行了線性預(yù)測(cè),將所述的編碼碼流輸出至逆線性預(yù)測(cè)模塊處理之后,輸出至 Go I omb解碼模塊,經(jīng)過(guò)Go I omb解碼模塊處理恢復(fù)出待編碼信號(hào)。
[0015] 進(jìn)一步地,所述統(tǒng)計(jì)分析模塊,包括預(yù)測(cè)系數(shù)計(jì)算單元、比較單元,
[0016] 所述預(yù)測(cè)系數(shù)計(jì)算單元,用于運(yùn)行萊文森-德賓算法求解出待編碼信號(hào)兩階線性 預(yù)測(cè)的預(yù)測(cè)系數(shù)以及輸出自相關(guān)系數(shù);
[0017] 所述比較單元,用于獲取預(yù)測(cè)系數(shù)計(jì)算單元輸出的自相關(guān)系數(shù)2階預(yù)測(cè)的最小預(yù) 測(cè)誤差功率<5彡以及尤爾-沃克Yule-Walker方程中I卜,
[0018] 若最小預(yù)測(cè)誤差功率σ|*β〈自相關(guān)系數(shù)變1議),則比較單元輸出待編碼信號(hào)至線 性預(yù)測(cè)模塊;
[0019] 若最小預(yù)測(cè)誤差功率0|祁彡自相關(guān)系數(shù)φχχ(δ),則比較單元輸出待編碼信號(hào)至 統(tǒng)計(jì)判決模塊;
[0020] 其中,β為根據(jù)信號(hào)特征預(yù)先確定的參數(shù)。
[0021] 進(jìn)一步地,所述統(tǒng)計(jì)判決模塊包括第一判決單元、第二判決單元以及參數(shù)輸出單 元,所述第一判決單元,接收殘差信號(hào),將所述殘差信號(hào)映射為正整數(shù)、計(jì)算均值mean;所述 第二判決單元接收待編碼信號(hào),將所述待編碼信號(hào)映射為正整數(shù)、計(jì)算均值mean;
[0022]所述參數(shù)輸出單元,若mean〈mi,則參數(shù)輸出單元輸出選擇參數(shù)b = mi/2至所述 Go Iomb編碼模塊;若mi Smean Cm2,則參數(shù)輸出單元輸出選擇參數(shù)b = mi至所述Go Iomb編碼 模塊;若m2 <mean〈m3,則參數(shù)輸出單元輸出選擇參數(shù)b = m2至所述Go Iomb編碼模塊;若mean 彡m3,則參數(shù)輸出單元輸出選擇參數(shù)b=m3至所述Golomb編碼模塊。
[0023]進(jìn)一步地,所述線性預(yù)測(cè)模塊包括殘差計(jì)算單元,用于獲取預(yù)測(cè)系數(shù),基于P個(gè)在 前的待編碼信號(hào)預(yù)測(cè)待編碼信號(hào)預(yù)測(cè)值,并計(jì)算數(shù)字?jǐn)?shù)據(jù)與數(shù)字?jǐn)?shù)據(jù)預(yù)測(cè)值的插值,獲得 預(yù)測(cè)殘差。
[0024] 優(yōu)選地,中央處理器的專用芯片以DSP作為主處理器、以ARM芯片為主處理器芯片 或者以FPGA做主處理器。
[0025]進(jìn)一步地,還包括分別與所述中央控制器連接的模擬/數(shù)字信號(hào)輸入電路、模擬/ 數(shù)字信號(hào)輸出電路以及碼流輸出接口、碼流輸入接口,若待編碼信號(hào)為模擬信號(hào),通過(guò)模 擬/數(shù)字信號(hào)輸入電路進(jìn)行AD轉(zhuǎn)換后輸入中央處理器,若待編碼信號(hào)為數(shù)字信號(hào),則直接輸 入中央處理器;
[0026] 所述Golomb編碼模塊處理生成編碼碼流,所述編碼碼流經(jīng)所述編碼碼流輸出接口 輸出;所述編碼碼流經(jīng)碼流輸入接口輸入至中央處理器,經(jīng)所述Go Iomb編碼模塊處理恢復(fù) 出待編碼信號(hào),若需要恢復(fù)模擬信號(hào)所述待編碼信號(hào)經(jīng)模擬/數(shù)字信號(hào)輸出接口輸出。
[0027]借由上述方案,本發(fā)明至少具有以下優(yōu)點(diǎn):
[0028]本發(fā)明首先對(duì)信號(hào)預(yù)處理,提高運(yùn)算速度。通過(guò)對(duì)信號(hào)數(shù)據(jù)的測(cè)試與分析,在線性 預(yù)測(cè)模塊中有選擇的對(duì)每幀信號(hào)進(jìn)行預(yù)測(cè)。采用2階線性預(yù)測(cè)。
[0029]線性預(yù)測(cè)模塊根據(jù)每幀信號(hào)的數(shù)字特征,選擇不同的選擇參數(shù)進(jìn)行Golomb編碼, 實(shí)現(xiàn)壓縮編碼的自適應(yīng)性能。在無(wú)損編碼模塊中采用不同于Huff man編碼的Go Iomb編碼進(jìn) 行熵編碼,測(cè)試后可以進(jìn)行改進(jìn),提高無(wú)損壓縮編碼的有效性和可靠性。
[0030]以Golomb編碼為主要編碼方式,對(duì)信號(hào)分幀,分析每幀信號(hào)的數(shù)字特征,采用不同 的選擇參數(shù)進(jìn)行Golomb編碼,實(shí)現(xiàn)壓縮編碼的自適應(yīng)性能。計(jì)算出每幀的自相關(guān)系數(shù),由 Levinson-Durbin算法求出兩階線性預(yù)測(cè)系數(shù)。引入線性預(yù)測(cè),在分析信號(hào)幀的基礎(chǔ)上選擇 是否預(yù)測(cè),提高壓縮效率,根據(jù)判決門(mén)限判定該數(shù)據(jù)幀是否需要線性預(yù)測(cè),對(duì)預(yù)測(cè)幀、非預(yù) 測(cè)幀分別采用自適應(yīng)選擇參數(shù)的Golomb編碼,靈活性強(qiáng),壓縮率高。
[0031] 上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 并可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,以下以本發(fā)明的較佳實(shí)施例并配合附圖詳細(xì)說(shuō)明如后。
【附圖說(shuō)明】
[0032] 圖1是本發(fā)明自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng)的流程圖;
[0033] 圖2是本發(fā)明自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0034]下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步詳細(xì)描述。以下實(shí)施 例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。
[0035] 本發(fā)明使用一種變長(zhǎng)碼--Golomb編碼對(duì)信號(hào)進(jìn)行壓縮編碼。Golomb編碼可以使 服從幾何分布的正整數(shù)數(shù)據(jù)流的平均碼長(zhǎng)最短,對(duì)較小的數(shù)用較短的編碼,較大的數(shù)用較 長(zhǎng)的碼表示,可直接給出最佳變長(zhǎng)碼。
[0036] 正整數(shù)η的Golomb碼由"前綴碼+尾碼"組成
[0037] 0)前綴碼是α+1位的一元碼字,而
[0038]
[0039] ②尾碼是(n_l)/b的余數(shù)
[0040] r = n-1-qb [0041 ] 的二進(jìn)制編碼。
[0042] 其中匕=21^為6〇1〇11113碼的選擇參數(shù)。
[0043] 每幀數(shù)據(jù)需要分析該信號(hào)幀的數(shù)字特征,根據(jù)數(shù)字特征選擇合適的選擇參數(shù),實(shí) 現(xiàn)自適應(yīng)編碼。通過(guò)多次實(shí)驗(yàn)分析,本發(fā)明提供四種選擇參數(shù)的Golomb編碼,b分取值別為 4,8,16,32,其中Golomb碼尾碼最大比特位數(shù)為5。但是對(duì)于較大數(shù)值的數(shù)據(jù)幀,在b值取32 的情況下,其q值就會(huì)相應(yīng)地變大,前綴碼則會(huì)占用較大的比特位數(shù),碼長(zhǎng)變大。
[0044] 因此本發(fā)明還引入了線性預(yù)測(cè)技術(shù),對(duì)所有的數(shù)據(jù)幀有選擇的進(jìn)行預(yù)測(cè)。即對(duì)于 數(shù)值較小的數(shù)據(jù)幀不進(jìn)行預(yù)測(cè),直接編碼;對(duì)于數(shù)值較大的數(shù)據(jù)幀進(jìn)行2階線性預(yù)測(cè),只需 要對(duì)預(yù)測(cè)誤差編碼,降低了編碼占用的比特?cái)?shù)。
[0045] 實(shí)施例1
[0046] 參見(jiàn)圖1,本發(fā)明一較佳實(shí)施例所述的自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),自適應(yīng) 的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),包括:中央控制器,所述中央控制器包括統(tǒng)計(jì)分析、線性預(yù)測(cè) 模塊、統(tǒng)計(jì)判決模塊、Golomb編碼模塊;
[0047] 所述統(tǒng)計(jì)分析模塊,對(duì)待編碼信號(hào)的信號(hào)分析統(tǒng)計(jì)特征與設(shè)定的門(mén)限值進(jìn)行比 較,判斷待編碼信號(hào)是否需要進(jìn)行預(yù)測(cè),
[0048] 若需要預(yù)測(cè),則所述統(tǒng)計(jì)分析模塊輸出待編碼信號(hào)至所述線性預(yù)測(cè)模塊;所述線 性預(yù)測(cè)模塊對(duì)待編碼信號(hào)進(jìn)行線性預(yù)測(cè),得到殘差信號(hào),將所述殘差信號(hào)輸出至所述統(tǒng)計(jì) 判決模塊;所述統(tǒng)計(jì)判決模塊,基于所述殘差信號(hào)得到Golomb編碼參數(shù),輸出Golomb編碼參 數(shù)至所述Golomb編碼模塊,所述Golomb編碼模塊對(duì)殘差信號(hào)進(jìn)行編碼;
[0049] 若不需要預(yù)測(cè),則所述統(tǒng)計(jì)分析模塊輸出待編碼信號(hào)至所述統(tǒng)計(jì)判決模塊;所述 統(tǒng)計(jì)判決模塊,基于待編碼信號(hào)得到Golomb編碼參數(shù),輸出Golomb編碼參數(shù)至所述Golomb 編碼模塊,所述Golomb編碼模塊對(duì)待編碼信號(hào)進(jìn)行編碼。
[0050] 所述中央控制器還包括預(yù)測(cè)判決模塊、逆線性預(yù)測(cè)模塊、Golomb解碼模塊;
[0051]預(yù)測(cè)判決模塊,判斷編碼碼流是否進(jìn)行了線性預(yù)測(cè),
[0052] 若沒(méi)有線性預(yù)測(cè),則將所述的編碼碼流輸出至Golomb解碼模塊,經(jīng)過(guò)Golomb解碼 模塊處理恢復(fù)出待編碼信號(hào);
[0053]若進(jìn)行了線性預(yù)測(cè),將所述的編碼碼流輸出至逆線性預(yù)測(cè)模塊處理之后,輸出至 Go I omb解碼模塊,經(jīng)過(guò)Go I omb解碼模塊處理恢復(fù)出待編碼信號(hào)。
[0054]所述中央控制器分別與模擬/數(shù)字信號(hào)輸入電路、模擬/數(shù)字信號(hào)輸出電路以及碼 流輸出接口、碼流輸入接口連接,若待編碼信號(hào)為模擬信號(hào),通過(guò)模擬/數(shù)字信號(hào)輸入電路 進(jìn)行AD轉(zhuǎn)換后輸入中央處理器,若待編碼信號(hào)為待編碼信號(hào),則直接輸入中央處理器;
[0055] 所述Golomb編碼模塊處理生成編碼碼流,所述編碼碼流經(jīng)所述編碼碼流輸出接口 輸出;所述編碼碼流經(jīng)碼流輸入接口輸入至中央處理器,經(jīng)所述Go Iomb編碼模塊處理恢復(fù) 出待編碼信號(hào),所述待編碼信號(hào)經(jīng)模擬/數(shù)字信號(hào)輸出接口輸出。
[0056] 本實(shí)施例中,無(wú)損壓縮大致由三個(gè)部分實(shí)現(xiàn)。第一步是分幀操作,分幀提供可編輯 能力,是大部分待編碼信號(hào)壓縮算法重要且必要的特點(diǎn)。接著幀內(nèi)去相關(guān)。通過(guò)線性預(yù)測(cè)器 去除相鄰樣值包含的冗余信息,將線性預(yù)測(cè)器有選擇的應(yīng)用于幀數(shù)據(jù)中,產(chǎn)生預(yù)測(cè)誤差序 列。無(wú)損編碼預(yù)測(cè)器的參數(shù)和預(yù)測(cè)誤差一起代表幀信號(hào)。最后是熵編碼。熵編碼是無(wú)損編 碼,山邊馬一區(qū)誤差信號(hào)自身的冗余度。在此過(guò)程中無(wú)信息丟失。本實(shí)施例經(jīng)過(guò)分析采用了 Golomb碼對(duì)每幀信號(hào)進(jìn)行熵編碼。
[0057] 在實(shí)際應(yīng)用中,待壓縮信號(hào)通常是模擬信號(hào),所以需要經(jīng)過(guò)A/D采樣將模擬信號(hào)轉(zhuǎn) 換為數(shù)字信號(hào),對(duì)數(shù)字信號(hào)壓縮編碼,輸出編碼碼流。
[0058]首先對(duì)信號(hào)預(yù)處理,提高運(yùn)算速度。通過(guò)對(duì)信號(hào)數(shù)據(jù)的測(cè)試與分析,采用2階線性 預(yù)測(cè)。計(jì)算出每幀的自相關(guān)系數(shù),由Levinson-Durbin算法求出兩階線性預(yù)測(cè)系數(shù)。根據(jù)判 決門(mén)限判定該數(shù)據(jù)幀是否需要線性預(yù)測(cè)。
[0059]若數(shù)據(jù)幀需要預(yù)測(cè),則根據(jù)信號(hào)的前兩個(gè)采樣點(diǎn)采樣值對(duì)后來(lái)的信號(hào)對(duì)線性預(yù) 測(cè),然后求出殘差信號(hào)。
[0060]若數(shù)據(jù)幀不需要線性預(yù)測(cè),則直接對(duì)該數(shù)據(jù)幀映射,對(duì)映射后的數(shù)據(jù)進(jìn)行數(shù)據(jù)分 析,選擇合適的Golomb編碼的參數(shù)值b,然后進(jìn)行Golomb編碼。該數(shù)據(jù)幀同樣也包含兩個(gè)部 分,標(biāo)志位和Go Iomb碼流。標(biāo)志位有3位,存放預(yù)測(cè)標(biāo)志位和選擇參數(shù)值b。
[0061 ]本實(shí)施例自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),若數(shù)據(jù)幀需要預(yù)測(cè),則根據(jù)信號(hào)的 前兩個(gè)采樣點(diǎn)采樣值對(duì)后來(lái)的信號(hào)對(duì)線性預(yù)測(cè),然后求出殘差信號(hào)??紤]到Golomb編碼是 對(duì)正整數(shù)進(jìn)行編碼,所以需要對(duì)殘差信號(hào)映射為正整數(shù),對(duì)殘差信號(hào)進(jìn)行Golomb編碼。數(shù)據(jù) 幀預(yù)測(cè)標(biāo)志位為1位,前兩個(gè)采樣點(diǎn)則分別用16位二進(jìn)制編碼,線性預(yù)測(cè)系數(shù)分別用13位二 進(jìn)制編碼,選擇參數(shù)b有四種情況,所以占用兩個(gè)比特位。因此該數(shù)據(jù)幀的編碼有兩個(gè)部分, 分別為標(biāo)志位和Golomb碼流。標(biāo)志位有61位,用于存放預(yù)測(cè)標(biāo)志位、預(yù)測(cè)系數(shù)、2個(gè)采樣點(diǎn)值 以及Go Iomb編碼的選擇參數(shù)b Xolomb碼流則存放所有殘差彳目號(hào)的Go Iomb編碼碼字。
[0062] 若數(shù)據(jù)幀不需要線性預(yù)測(cè),則直接對(duì)該數(shù)據(jù)幀映射,對(duì)映射后的數(shù)據(jù)進(jìn)行數(shù)據(jù)分 析,選擇合適的Golomb編碼的參數(shù)值b,然后進(jìn)行Golomb編碼。該數(shù)據(jù)幀同樣也包含兩個(gè)部 分,標(biāo)志位和Go Iomb碼流。標(biāo)志位有3位,存放預(yù)測(cè)標(biāo)志位和選擇參數(shù)值b。
[0063] 本實(shí)施例,解碼過(guò)程是對(duì)輸入的編碼碼流做解碼恢復(fù)待編碼信號(hào)的過(guò)程。因?yàn)檩?入的每幀碼流包含標(biāo)志位和編碼碼流,所以需要首先判斷標(biāo)志位中的預(yù)測(cè)標(biāo)志位。
[0064] 解碼過(guò)程是對(duì)輸入的編碼碼流做解碼恢復(fù)待編碼信號(hào)的過(guò)程。因?yàn)檩斎氲拿繋a 流包含標(biāo)志位和編碼碼流,所以需要首先判斷標(biāo)志位中的預(yù)測(cè)標(biāo)志位。
[0065] 若該幀為預(yù)測(cè)幀,則需要提取出2階預(yù)測(cè)的兩個(gè)預(yù)測(cè)系數(shù)以及2個(gè)采樣點(diǎn)值, Golomb編碼的選擇系數(shù)b,然后再對(duì)編碼碼流作解碼處理,恢復(fù)出待編碼信號(hào)。
[0066] 若該幀不是預(yù)測(cè)幀,則只需提取出Golomb編碼的選擇系數(shù)b,即可對(duì)碼流解碼恢復(fù) 待編碼信號(hào)。
[0067] 實(shí)施例2
[0068] 本實(shí)施例所述的自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),在實(shí)施例1的基礎(chǔ)上,所述線 性預(yù)測(cè)模塊,包括預(yù)測(cè)系數(shù)計(jì)算單元,運(yùn)行萊文森-德賓Levinson-Durbin算法計(jì)算各幀待 編碼信號(hào)的線性預(yù)測(cè)系數(shù),具體包括:
[0069] p階線性預(yù)測(cè)的尤爾-沃克Yule-Walker方程如下:
[0070]
[0071] 其中,(?為自相關(guān)系數(shù);
[0072] 尤爾-沃克Yule-Walker方程中共有ρ+1個(gè)方程,
[0073] 當(dāng)k = 0,1,2,…,ρ的貨已知時(shí),解得apk[k=l,2,···,ρ]以及%'樣ρ+1個(gè)未知 量,其中,apk預(yù)測(cè)系數(shù),if為最小誤差功率;
[0074] 線性預(yù)測(cè)的尤爾-沃克Yule-Walker方程中的自相關(guān)系數(shù)Ay(O)'?根據(jù)Levinson- Durbin算法求出2階預(yù)測(cè)的最小預(yù)測(cè)誤差功率
[0075] 萊文森-德賓Levinson-Durbin算法遞推公式為
[0076]
[0077] 其中[k = l,2,…,ρ];
[0078] 兩階預(yù)測(cè),k取值為1和2,預(yù)測(cè)系數(shù)就是an、a22
[0079]
[0080]
[0081]由此求解出兩階線性預(yù)測(cè)的預(yù)測(cè)系數(shù)an、a22。
[0082]所述線性預(yù)測(cè)模塊,還包括比較單元,預(yù)測(cè)系數(shù)計(jì)算單元輸出線性預(yù)測(cè)的尤爾-沃 克Yule-Walker方程中的自相關(guān)系數(shù)階預(yù)測(cè)的最小預(yù)測(cè)誤差功率至所述結(jié)果 輸出單元;
[0083]所述結(jié)果輸出單元,獲取預(yù)測(cè)系數(shù)計(jì)算單元輸出的自相關(guān)系數(shù)2階預(yù)測(cè)的最小預(yù) 測(cè)誤差功率0!以及尤爾-沃克Yule-Walker方程中的,
[0084] 若最小預(yù)測(cè)誤差功率0|*β〈自相關(guān)系數(shù)爭(zhēng)則比較單元輸出待編碼信號(hào)至線 性預(yù)測(cè)模塊;
[0085] 若最小預(yù)測(cè)誤差功率:〇|祁多自相關(guān)系數(shù),爭(zhēng)_|:0),則比較單元輸出待編碼信號(hào)至 統(tǒng)計(jì)判決模塊;
[0086] 其中,β為根據(jù)信號(hào)特征預(yù)先確定的參數(shù)。
[0087] 所述自適應(yīng)模塊包括預(yù)測(cè)殘差計(jì)算單元,預(yù)測(cè)殘差ε(η)的具體計(jì)算公式為:
[0088]
[0089] 其中,s(n)是待編碼數(shù)據(jù),、§〇!)是待編碼數(shù)據(jù)預(yù)測(cè)值。
[0090] 待編碼數(shù)據(jù)預(yù)測(cè)值是用過(guò)去P個(gè)待編碼數(shù)據(jù)S(n)來(lái)預(yù)測(cè)得到,其中
[0091]
[0092]其中ail為線性預(yù)測(cè)系數(shù)。
[0093]本實(shí)施例中的線性預(yù)測(cè),對(duì)所有的數(shù)據(jù)幀有選擇的進(jìn)行預(yù)測(cè)。即對(duì)于數(shù)值較小的 數(shù)據(jù)幀不進(jìn)行預(yù)測(cè),直接編碼;對(duì)于數(shù)值較大的數(shù)據(jù)幀進(jìn)行2階線性預(yù)測(cè),只需要對(duì)預(yù)測(cè)誤 差編碼,降低了編碼占用的比特?cái)?shù)。
[0094]本實(shí)施例中,還包括分別與所述中央控制器連接的模擬/數(shù)字信號(hào)輸入電路、模 擬/數(shù)字信號(hào)輸出電路以及碼流輸出接口、碼流輸入接口,若待編碼信號(hào)為模擬信號(hào),通過(guò) 模擬/數(shù)字信號(hào)輸入電路進(jìn)行AD轉(zhuǎn)換后輸入中央處理器,若待編碼信號(hào)為數(shù)字信號(hào),則直接 輸入中央處理器;
[0095] 所述Golomb編碼模塊處理生成編碼碼流,所述編碼碼流經(jīng)所述編碼碼流輸出接口 輸出;所述編碼碼流經(jīng)碼流輸入接口輸入至中央處理器,經(jīng)所述Go Iomb編碼模塊處理恢復(fù) 出待編碼信號(hào),若需要恢復(fù)模擬信號(hào)所述待編碼信號(hào)經(jīng)模擬/數(shù)字信號(hào)輸出接口輸出。
[0096] 上述各實(shí)施例中,所述統(tǒng)計(jì)判決模塊包括第一判決單元、第二判決單元以及參數(shù) 輸出單元,所述第一判決單元,接收殘差信號(hào),將所述殘差信號(hào)映射為正整數(shù)、計(jì)算均值 mean;所述第二判決單元接收待編碼信號(hào),將所述待編碼信號(hào)映射為正整數(shù)、計(jì)算均值 mean;
[0097] 第一判決單元對(duì)各幀待編碼預(yù)測(cè)殘差進(jìn)行數(shù)據(jù)映射,具體包括:將各幀待編碼預(yù) 測(cè)殘差的帶編碼值c被替換為映射值d:
[0098] 判斷各幀待編碼預(yù)測(cè)殘差中帶編碼值c是否小于0,
[0099] 若帶編碼值c小于0,則映射值d = 2c;
[0?00]若帶編碼值c大于等于0,則映射值d = 2c+l;
[0101 ]第二判決單元對(duì)各幀待編碼預(yù)測(cè)殘差進(jìn)行數(shù)據(jù)映射,具體包括:將各幀待編碼預(yù) 測(cè)殘差的帶編碼值C被替換為映射值d:
[0102] 判斷各幀待編碼預(yù)測(cè)殘差中帶編碼值c是否小于0,
[0103] 若帶編碼值c小于0,則映射值d = 2c;
[0104] 若帶編碼值c大于等于0,則映射值d = 2c+l;
[0105] 對(duì)各幀待編碼信號(hào)進(jìn)行數(shù)據(jù)映射,具體包括:將各幀待編碼信號(hào)的帶編碼值e被替 換為映射值f:
[0106] 判斷各幀待編碼預(yù)測(cè)殘差中帶編碼值e是否小于0,
[0107] 若帶編碼值e小于0,則映射值f = 2e;
[0108]若帶編碼值e大于等于0,則映射值f = 2e+l。
[0109] 所述所述參數(shù)輸出單元用于對(duì)待編碼信號(hào)或預(yù)測(cè)殘差進(jìn)行數(shù)據(jù)分析得到均值;
[0110] 若需要預(yù)測(cè),則參數(shù)輸出單元通過(guò)計(jì)算分析第一判決單元輸出的殘差信號(hào)的均值 得到選擇參數(shù)吧,具體包括,
[0111 ] 若殘差信號(hào)mean〈mi,則參數(shù)輸出單元輸出選擇參數(shù)b = mi/2至所述Golomb編碼模 塊;
[0112] 若mi <殘差信號(hào)mean〈m2,則參數(shù)輸出單元輸出選擇參數(shù)b = mi至所述Go Iomb編碼 模塊;
[0113] 若m2<殘差信號(hào)mean〈m3,則參數(shù)輸出單元輸出選擇參數(shù)b = m2至所述Go Iomb編碼 模塊;
[0114] 若殘差信號(hào)mean彡im,則參數(shù)輸出單元輸出選擇參數(shù)b = m3至所述GoIomb編碼模 塊。
[0115]若不需要預(yù)測(cè),則參數(shù)輸出單元通過(guò)計(jì)算分析第二判決單元輸出的待編碼信號(hào)的 均值得到選擇參數(shù)吧,具體包括,
[0116] 若待編碼信號(hào)mean〈mi,則參數(shù)輸出單元輸出選擇參數(shù)b=mi/2至所述Go Iomb編碼 模塊;
[0117] 若1111<待編碼信號(hào)1]16311〈1]12,則參數(shù)輸出單元輸出選擇參數(shù)匕=1]11至所述6〇1〇1]113編 碼模塊;
[0118] 若1112<待編碼信號(hào)1116311〈1]13,則參數(shù)輸出單元輸出選擇參數(shù)匕=1]12至所述6〇1〇1]113編 碼模塊;
[0119] 若待編碼信號(hào)mean彡m3,則參數(shù)輸出單元輸出選擇參數(shù)b=m3至所述Golomb編碼模 塊。
[0120] mi、m2、m3、取值根據(jù)殘差均值或帶編碼數(shù)據(jù)均值來(lái)確定大小。
[0121]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,并不用于限制本發(fā)明,應(yīng)當(dāng)指出,對(duì)于本技 術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明技術(shù)原理的前提下,還可以做出若干改進(jìn)和 變型,這些改進(jìn)和變型也應(yīng)視為本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1. 一種自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),其特征在于,包括:中央控制器,所述中央 控制器包括統(tǒng)計(jì)分析、線性預(yù)測(cè)模塊、統(tǒng)計(jì)判決模塊、Golomb編碼模塊; 所述統(tǒng)計(jì)分析模塊,對(duì)待編碼信號(hào)的信號(hào)分析統(tǒng)計(jì)特征與設(shè)定的口限值進(jìn)行比較,判 斷待編碼信號(hào)是否需要進(jìn)行預(yù)測(cè), 若需要預(yù)測(cè),則所述統(tǒng)計(jì)分析模塊輸出待編碼信號(hào)至所述線性預(yù)測(cè)模塊;所述線性預(yù) 測(cè)模塊對(duì)待編碼信號(hào)進(jìn)行線性預(yù)測(cè),得到殘差信號(hào),將所述殘差信號(hào)輸出至所述統(tǒng)計(jì)判決 模塊;所述統(tǒng)計(jì)判決模塊,基于所述殘差信號(hào)得到Golomb編碼參數(shù),輸出Go Iomb編碼參數(shù)至 所述Golomb編碼模塊,所述Golomb編碼模塊對(duì)殘差信號(hào)進(jìn)行編碼; 若不需要預(yù)測(cè),則所述統(tǒng)計(jì)分析模塊輸出待編碼信號(hào)至所述統(tǒng)計(jì)判決模塊;所述統(tǒng)計(jì) 判決模塊,基于待編碼信號(hào)得到Golomb編碼參數(shù),輸出Golomb編碼參數(shù)至所述Golomb編碼 模塊,所述Golomb編碼模塊對(duì)待編碼信號(hào)進(jìn)行編碼。2. 根據(jù)權(quán)利要求1所述的自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),其特征在于,所述中央控 制器還包括預(yù)測(cè)判決模塊、逆線性預(yù)測(cè)模塊、Golomb解碼模塊; 預(yù)測(cè)判決模塊,判斷編碼碼流是否進(jìn)行了線性預(yù)測(cè), 若沒(méi)有線性預(yù)測(cè),則將所述的編碼碼流輸出至Golomb解碼模塊,經(jīng)過(guò)Golomb解碼模塊 處理恢復(fù)出待編碼信號(hào); 若進(jìn)行了線性預(yù)測(cè),將所述的編碼碼流輸出至逆線性預(yù)測(cè)模塊處理之后,輸出至 Golomb解碼模塊,經(jīng)過(guò)Golomb解碼模塊處理恢復(fù)出待編碼信號(hào)。3. 根據(jù)權(quán)利要求1所述的自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),其特征在于,所述統(tǒng)計(jì)分 析模塊,包括預(yù)測(cè)系數(shù)計(jì)算單元、比較單元,所述預(yù)測(cè)系數(shù)計(jì)算單元,用于運(yùn)行萊文森-德賓 算法求解出待編碼信號(hào)兩階線性預(yù)測(cè)的預(yù)測(cè)系數(shù)W及輸出自相關(guān)系數(shù); 所述比較單元,用于獲取預(yù)測(cè)系數(shù)計(jì)算單元輸出的自相關(guān)系數(shù)2階預(yù)測(cè)的最小預(yù)測(cè)誤 差功率沒(méi)IW及尤爾-沃克化le-mdker方程中的紙錢),若最小預(yù)測(cè)誤差功2 ,Ij比較單元輸出待編碼信號(hào)至線性 預(yù)測(cè)模塊; 若最小預(yù)測(cè)誤差功^ 則比較單元輸出待編碼信號(hào)至統(tǒng) 計(jì)判決模塊; 其中,e為根據(jù)信號(hào)特征預(yù)先確定的參數(shù)。4. 根據(jù)權(quán)利要求1所述的自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),其特征在于,所述統(tǒng)計(jì)判 決模塊包括第一判決單元、第二判決單元W及參數(shù)輸出單元,所述第一判決單元,接收殘差 信號(hào),將所述殘差信號(hào)映射為正整數(shù)、計(jì)算均值mean;所述第二判決單元接收待編碼信號(hào), 將所述待編碼信號(hào)映射為正整數(shù)、計(jì)算均值mean; 所述參數(shù)輸出單元,若mean<mi,則參數(shù)輸出單元輸出選擇參數(shù)b=mi/2至所述Golomb編 碼模塊;若mi《mean <m2,則參數(shù)輸出單元輸出選擇參數(shù)b = mi至所述Go Iomb編碼模塊;若m2 《1116日]1<1]13,則參數(shù)輸出單元輸出選擇參數(shù)6 = 1]12至所述6〇1〇11113編碼模塊;若1116日]1>1]13,貝11參 數(shù)輸出單元輸出選擇參數(shù)b =m3至所述Go 1 omb編碼模塊。5. 根據(jù)權(quán)利要求1所述的自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),其特征在于,所述線性預(yù) 測(cè)模塊包括殘差計(jì)算單元,用于獲取預(yù)測(cè)系數(shù),基于P個(gè)在前的待編碼信號(hào)預(yù)測(cè)待編碼信號(hào) 預(yù)測(cè)值,并計(jì)算數(shù)字?jǐn)?shù)據(jù)與數(shù)字?jǐn)?shù)據(jù)預(yù)測(cè)值的插值,獲得預(yù)測(cè)殘差。6. 根據(jù)權(quán)利要求1所述的自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),其特征在于,中央處理器 的專用忍片WDSP作為主處理器、WARM忍片為主處理器忍片或者WFPGA做主處理器。7. 根據(jù)權(quán)利要求2所述的自適應(yīng)的混合的數(shù)據(jù)無(wú)損壓縮系統(tǒng),其特征在于,還包括分別 與所述中央控制器連接的模擬/數(shù)字信號(hào)輸入電路、模擬/數(shù)字信號(hào)輸出電路W及碼流輸出 接口、碼流輸入接口,若待編碼信號(hào)為模擬信號(hào),通過(guò)模擬/數(shù)字信號(hào)輸入電路進(jìn)行AD轉(zhuǎn)換 后輸入中央處理器,若待編碼信號(hào)為數(shù)字信號(hào),則直接輸入中央處理器; 所述Golomb編碼模塊處理生成編碼碼流,所述編碼碼流經(jīng)所述編碼碼流輸出接口輸 出;所述編碼碼流經(jīng)碼流輸入接口輸入至中央處理器,經(jīng)所述Go Iomb編碼模塊處理恢復(fù)出 待編碼信號(hào),若需要恢復(fù)模擬信號(hào)所述待編碼信號(hào)經(jīng)模擬/數(shù)字信號(hào)輸出接口輸出。
【文檔編號(hào)】H03M7/40GK105915227SQ201610214126
【公開(kāi)日】2016年8月31日
【申請(qǐng)日】2016年4月8日
【發(fā)明人】胡劍凌, 李楊, 張霞
【申請(qǐng)人】蘇州大學(xué)