周寧
摘要:多媒體技術(shù)近些年正處于快速發(fā)展階段,應用領(lǐng)域持續(xù)提升,相對應的技術(shù)水平也在不斷改進。多媒體數(shù)據(jù)壓縮技術(shù)屬于多媒體技術(shù)持續(xù)發(fā)展與應用的關(guān)鍵,當前來看多媒體數(shù)據(jù)壓縮技術(shù)具備可拓展、高壓縮比、可交互等多方面的優(yōu)勢。
關(guān)鍵詞:多媒體;數(shù)據(jù)技術(shù);壓縮技術(shù)
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)12-0200-02
1多媒體數(shù)據(jù)壓縮的意義
近些年隨著微電子技術(shù)、計算機技術(shù)、網(wǎng)絡技術(shù)的持續(xù)性發(fā)展,多媒體信息技術(shù)處理中,最為基礎的需求便是動態(tài)實時性的處理動畫、聲音以及視頻資料,圖像的數(shù)據(jù)量是非常龐大的,如果不對視頻信息進行壓縮處理,會導致數(shù)據(jù)傳輸效率下降,從而無法實現(xiàn)實時性傳輸。雖然當前的存儲技術(shù)以及網(wǎng)絡技術(shù)處于持續(xù)提升狀態(tài),再加上網(wǎng)絡帶寬、移動通信技術(shù)的持續(xù)發(fā)展促使信息傳輸容量以及速度得到了明顯的提升,但是想要更大程度的降低帶寬壓力,提升通信干線的傳輸效率,需要應用計算機實時音頻與視頻的處理,從而保障高質(zhì)量的音頻與視頻處理,所以多媒體數(shù)據(jù)壓縮顯得非常重要。
另外,對于多媒體信息壓縮技術(shù)而言,其需要有效實施的原因還涉及:1)原始圖像數(shù)據(jù)具備較高的相關(guān)性,存在比較多的冗余度,數(shù)據(jù)冗余會導致比特數(shù)的浪費,此時消除冗余時可以有效節(jié)省碼字,從而達到壓縮的目的。每一幀圖像可以通過幀內(nèi)相近的像素之間空域關(guān)聯(lián)性,所以數(shù)據(jù)本身也存在較大的空間冗余;2)圖像編碼本身具備一定失真率,這也是圖像可以有效壓縮的主要原因。在許多應用場合中,并沒有要求壓縮和復原后的圖像與圖像完全相同,而是允許少量的失真。在少量失真時基本不會被發(fā)現(xiàn),在大多數(shù)情況下都是可以被接受的。另外,還可以借助新技術(shù)實現(xiàn)對圖像壓縮編碼的對象特性維持可預知特性,例如在可視電話當中,編碼對象主要是以人的頭肩像,可以充分應用編碼對象的先驗方式實現(xiàn)建模,并借助模型參數(shù)的提取與編碼實現(xiàn)對圖形的加工,從而達到大量碼子的減少,呈現(xiàn)出較高的壓縮比。
2多媒體數(shù)據(jù)壓縮技術(shù)的軟件實現(xiàn)
2.1 編碼器基礎原理
借助數(shù)據(jù)壓縮技術(shù)的標準視頻框架簡單級別的基礎定義,視頻編碼主要是將運動估算補償、離散余弦變換、標量量化以及游程編碼為主。對于編碼控制機制而言,其主要是采用率失真模式進行計算,從而決定采用幀內(nèi)或幀間的編碼方式。假設是幀內(nèi)編碼模式,則原視頻數(shù)據(jù)需要借助DCT變換、量化以及行程編碼。并借助合成器實現(xiàn)對視頻流的壓縮,此時可以重構(gòu)預制幀,并作為下一編碼幀的參考數(shù)據(jù)。假設采用幀間編碼模式,需要先基于參考幀值作為幀內(nèi)編碼時的重構(gòu)預測值,如果上一幀屬于幀間編碼,則對源數(shù)據(jù)進行預測并獲得誤差。對于預測誤差值以DCT變換與量化,同時采用RLC進行編碼。編碼的結(jié)果可以和編碼模式、運動矢量以及量化參數(shù)等編碼參數(shù)一同轉(zhuǎn)變?yōu)榭勺冮L編碼,并借助合成器進行壓縮。此時可以重構(gòu)預測幀,并為下一幀參考使用。
2.2 整體框架
編碼器的實現(xiàn)核心在于提供一個簡單的編碼接口函數(shù),這一接口函數(shù)主要是按照編碼的三個不同階段提供三個基礎入口。接口函數(shù)的封裝主要是處于靜態(tài)鏈接庫當中,并在編碼期間提供支持。按照編碼接口函數(shù)對視頻序列進行編碼處理。先做好編碼初始化處理,并調(diào)用初始化的接口函數(shù),并循環(huán)到每一視頻幀,借助接口函數(shù)對視頻幀進行編碼處理,最終應用資源釋放接口函數(shù)釋放內(nèi)存。完成的流程如下:(1)初始化。設置變換編碼,其中涉及離散余弦變換以及逆離散余弦變換的變換矩陣;(2)導入編碼的參數(shù)涉及幀率、比特率以及矩陣率等數(shù)據(jù),同時還需要導入最值量化參數(shù)以及運動估計搜索范圍;(3)為編碼、參考、重構(gòu)以及殘差提供內(nèi)存并進行初始化;(4)配置相關(guān)參數(shù),做好比特率控制的初始化處理,編碼處理視頻幀并。這一環(huán)節(jié)的操作相對復雜,需要先讀入原始幀,并將原本輸入導入到編碼的分量當中初始化比特率后為其輸入數(shù)據(jù)并準備,假設編碼屬于第一幀,則計入VO與VOL的頭信息,調(diào)用VopCode函數(shù)實現(xiàn)對幀的編碼。在根據(jù)返回的編碼長度以比特率的方式進行控制,并借助函數(shù)處理更新控制參數(shù)。
2.3 資源釋放
在上述的編碼階段中,編碼視頻幀屬于關(guān)鍵性環(huán)節(jié),編碼需要分別針對每一個編碼、參考、重構(gòu)以及殘差的階段,通過編碼器可以基于數(shù)據(jù)壓縮技術(shù)的技術(shù)標準視頻框架的簡單級別,將原始視頻序列當中的每一幀圖像當作是矩陣數(shù)據(jù),并基于預測數(shù)據(jù)以及幀內(nèi)數(shù)據(jù)實現(xiàn)編碼處理。對此,在編碼視頻幀時,需要注重函數(shù)對于輸入視頻幀的編碼處理。基于函數(shù)VopCode的實現(xiàn)流程,其需要先判斷編碼VOP的類型,假設屬于P-VOP,則需要先實現(xiàn)運動估計與補償,在獲得絕對平均值誤差值與幀內(nèi)宏塊比例;判斷編碼是否存在誤差以及幀內(nèi)的預測值編碼結(jié)果,并判斷是否繼續(xù)應用P-VOP類型進行編碼,如果存在明顯的失真則應用幀內(nèi)編碼模式進行處理;假設編碼的VOP類型屬于I-VOP,則直接進入到幀內(nèi)編碼模式;在幀內(nèi)預測編碼以及幀內(nèi)編碼期間,也可以獲得重構(gòu)幀,此時可以作為下一幀編碼的參考幀,并作為其他參考幀應用,此時還可以進行重復的填充處理。編碼的整個過程可以劃分為三階段,分別為運動估計與補償、幀內(nèi)預測編碼以及幀內(nèi)編碼三個階段。運動估計與補償主要是對應當編碼的原理圖MC、ME進行處理,而幀內(nèi)預測編碼則采用便利圖當中的量化、逆量化、DCT等數(shù)據(jù)處理為主。兩種方式的差異主要在于預測值的應用,幀內(nèi)編碼主要是對原始幀進行處理,幀內(nèi)編碼不僅涉及編碼參數(shù)的控制還需要涉及運動矢量的編碼。
2.4 運動估計與補償
本文基于改進的運動估算算法作為基礎實現(xiàn)運動估算算法,為了更好地保障搜索的精度,需要在實施期間采用兩種方案。一種是將整像素和半像素的結(jié)合估計計算方式,改進運動估算算法的基礎上提升整個搜索的精度與速度。另一方面在于將單適量估計和四適量估計結(jié)合起來,從而實現(xiàn)預測精度的提升。為了更好地滿足具體應用的需求,可以在應用中允許全局搜索與部分搜索的選擇,并基于具體的應用特征采用最佳的搜索算法。運動估計與補償?shù)膶崿F(xiàn)函數(shù)應用期間,其作用核心在于估算運動矢量,同時提供適當?shù)倪\動補償。整體來看,需要先讀取目前的VOP信息,并應用初始化方式實現(xiàn)對數(shù)據(jù)變量的控制,并借助函數(shù)的調(diào)用獲得半像素精度的數(shù)據(jù),借助函數(shù)的應用為運動矢量與模式需求數(shù)據(jù)分配相應的內(nèi)存;應用函數(shù)實現(xiàn)運動補償;應用函數(shù)釋放部分的內(nèi)存壓力。函數(shù)的應用核心在于實現(xiàn)對運動向量以及誤差的預測,并完成整個VOP運動函數(shù)的預測,這一函數(shù)主要是針對VOP當中每一塊宏塊實現(xiàn)運動估計,從而實現(xiàn)二重循環(huán),對其中每一幀進行處理。
2.5 幀內(nèi)編碼
幀內(nèi)編碼的功能屬于VOP內(nèi)部紋理編碼,其可以在不通過其他參考幀的情況下獨立的完成編碼,編碼過程可以基于某一個VOP當中的宏塊進行處理,每一個宏塊涉及4個亮度塊與2個色差塊,幀內(nèi)編碼的函數(shù)方面,其核心在于二重循環(huán),對于每一個宏塊實行編碼時,每一次循環(huán)便需要對MB的編碼劃分為三個步驟,分別為宏塊的變換、量化以及重構(gòu),不同類型編碼系數(shù)的編碼時,變換和量化的結(jié)果編碼。函數(shù)可以實現(xiàn)對原本框架下的DCT、量化以及逆量化的處理,將原始數(shù)據(jù)實行DCT變換與量化處理,保存變化與量化的結(jié)果,將逆量化與逆DCT變化獲得重構(gòu)的視頻幀。在處理期間需要針對每一個塊實行變換與量化,變化與量化的具體實施需要基于具體情況選擇。函數(shù)實現(xiàn)的首要步驟在于變換與量化結(jié)果的編碼,假設實行ACDC的預測,可以先基于DC系數(shù)實現(xiàn)對DPCM編碼與VLC編碼,并對AC系數(shù)實行RLC編碼與VLC編碼,假設沒有ACDC預測,則以統(tǒng)一方式完成對變換系數(shù)的RLC與VLC編碼。DCT的變化屬于視頻編碼中的關(guān)鍵算法,其運行次數(shù)越多則運算量也會越大,變換的速度會直接決定編碼的速度,目前可以應用二維的DCT分解方式實現(xiàn)對一維DCT計算與列向DCT的計算,并基于組合運算方式實現(xiàn)對DCT變換的控制,盡可能減少運算的復雜性,提升變換的速度。在量化方面,可以通過DCT變換獲得8X8的系數(shù)矩陣,并借助量化方式獲得8X8的量化系數(shù)矩陣,量化的實現(xiàn)主要是應用H.263標準進行量化處理,并基于塊的類型采取相應的量化處理方式,其中DC與AC系數(shù)的量化需要區(qū)別性對待。DC預測的差分應用DC系數(shù)進行編碼,在DC預測的情況下對于差分DC系數(shù)的編碼可以應用DPCM進行編碼,先對差分的DC系數(shù)位置進行編碼,后應用系統(tǒng)定義的固定DC系數(shù)進行VLC碼表,之后對差分的DC系數(shù)進行編碼。對于非DC預測的DC系數(shù)編碼需要在不預測的情況下直接進行編碼。在AC系數(shù)的編碼期間,整個編碼過程劃分為2個步驟,分別為Z形的掃描序列矩陣以及三種Z形掃描矩陣。借助對Z掃描的方式可以獲得序列數(shù)據(jù)的DC系數(shù),并對序列數(shù)字進行編碼,長度方面應當跳過零量化的系數(shù)個數(shù),并基于層次方面對非零量化系數(shù)進行判斷,每一個非零量化系數(shù)需要和前面零量化系數(shù)的個數(shù)run形成對應。借助行程編碼可以run數(shù)后,對其實行變長編碼,應用系數(shù)給定固定碼表,通過VLC表在大量統(tǒng)計分析基礎上,對大多數(shù)情況都可以適用,同時額外傳送VLC碼表獲得比特量后,無法保障壓縮比的提升。變長編碼方面可以基于VLC碼表當中查詢具體的數(shù)據(jù),并基于run、level數(shù)值確定最終的系數(shù),從而獲得壓縮結(jié)果。
3結(jié)語
綜上所述,隨著近些年多媒體技術(shù)的持續(xù)性發(fā)展,MPEG-4成了最為廣泛的多媒體數(shù)據(jù)壓縮方式,具備廣泛性應用優(yōu)勢,相對于以往的壓縮標準,MPEG-4已經(jīng)不再是單純的視頻音頻編解碼標準,其內(nèi)容和交互性優(yōu)勢明顯,這也是推動多媒體數(shù)據(jù)壓縮技術(shù)持續(xù)穩(wěn)定發(fā)展的重要方向。在今后,需要進一步深入探究多媒體數(shù)據(jù)壓縮技術(shù),基于技術(shù)的改進,優(yōu)化匹配塊的運算估計以及快速搜索算法,從而推動網(wǎng)絡信息技術(shù)持續(xù)穩(wěn)定發(fā)展。
參考文獻:
[1] 李琰.多媒體數(shù)據(jù)壓縮算法研究與實現(xiàn)[J].計算機產(chǎn)品與流通,2018(2):118.
[2] 韓慧.多媒體計算機圖像數(shù)據(jù)壓縮的實現(xiàn)研究[J].通訊世界,2018(10):49-50.
[3] 楊陽.物聯(lián)網(wǎng)中數(shù)據(jù)壓縮與資源分配的研究[D].重慶:西南大學,2019.
[4] 張琰.對多媒體數(shù)據(jù)壓縮技術(shù)的一些探討[J].信息與電腦(理論版),2011(2):165.
[5] 袁佳樂.淺析多媒體圖像壓縮和轉(zhuǎn)換技術(shù)[J].科技信息,2010(30):650.
【通聯(lián)編輯:代影】