樂器背景圖片(多媒體數據壓縮算術研究 論文筆記

董乐器 2022-05-23 13:04:32

  多媒體圖像壓縮技術

  姓名:Vencent Lee

  摘要:多媒體數據壓縮技術是現代網絡發展的關鍵性技術之一。由于圖像和聲音信號中存在各種各樣的冗余樂器背景圖片,爲數據壓縮提供了可能。數據壓縮技術有無損壓和有損壓縮兩大類,這些壓縮技術又各有不同的標准。

  一、多媒體數據壓縮技術

  仙農(C.E.Shannon)在創立信息論時,提出把數據看作是信息和冗余度的組合。早期的數據壓縮之所以成爲信息論的一部分是因爲它涉及冗余度問題。而數據之所以能夠被壓縮是因爲其中存在各種各樣的冗余;其中有時間冗余性、空間冗余性、信息熵冗余、先驗知識冗余、其它冗余等。時間冗余是語音和序列圖像中常見的冗余,運動圖像中前後兩幀間就存在很強的相關性,利用幀間運動補興就可以將圖像數據的速率大大壓縮。語音也是這樣。尤其是濁音段,在相當長的時間內(幾到幾十毫秒)語音信號都表現出很強的周期性,可以利用線性預測的方法得到較高的壓縮比。空間冗余是用來表示圖像數據中存在的某種空間上的規則性,如大面積的均勻背景中就有很大的空間冗余性。信息熵冗余是指在信源的符號表示過程中由于未遵循信息論意義下最優編碼而造成的冗余性,這種冗余性可以通過熵編碼來進行壓縮,經常使用的如Huff-man編碼。先驗知識冗余是指數據的理解與先驗知識有相當大的關系,如當收信方知道一個單詞的前幾個字母爲administrato時,立刻就可以猜到最後一個字母爲r,那麽在這種情況下,最後一個字母就不帶任何信息量了,這就是一種先驗知識冗余。其它冗余是指那些主觀無法感受到的信息等帶來的冗余。

  通常數據壓縮技術可分爲無損壓縮(又叫冗余壓縮)和有損壓縮(又叫熵壓縮)兩大類。無損壓縮就是把數據中的冗余去掉或減少,但這些冗余量是可以重新插入到數據中的,因而不會産生失真。該方法一般用于文本數據的壓縮,它可以保證完全地恢複原始數據;其缺點是壓縮比小(其壓縮比一般爲2:1至5:1)。有損壓縮是對熵進行壓縮,因而存在一定程度的失真;它主要用于對聲音、圖像、動態視頻等數據進行壓縮,壓縮比較高(其壓縮比一般高達20:1以上。最新被稱爲“E―igen―ID”的壓縮技術可將基因數據壓縮1.5億倍)。對于多媒體圖像采用的有損壓縮的標准有靜態圖像壓縮標准(JPEG標准,即‘JointPhotographicExpertGroup’標准)和動態圖像壓縮標准(MPEG標准,即‘MovingPictureExpertGroup’標准)。

  JPEG利用了人眼的心理和生理特征及其局限性來對彩色的、單色的和多灰度連續色調的、靜態圖像的、數字圖像的壓縮,因此它非常適合不太複雜的以及一般來源于真

  實景物的圖像。它定義了兩種基本的壓縮算法:一種是基于有失真的壓縮算法,另一種是基于空間線性預測技術(DPCM)無失真的壓縮算法。爲了滿足各種需要,它制定了四種工作模式:無失真壓縮、基于DCT的順序工作方式、累進工作方式和分層工作方式。

  MPEG用于活動影像的壓縮。MPEG標准具體包叁部分內容:(1)MPEG視頻、(2)MPEG音頻、(3)MP系統(視頻和音頻的同步)。MPEG視頻是標准的核心分,它采用了幀內和幀間相結合的壓縮方法,以離散余變換(DCT)和運動補償兩項技術爲基礎,在圖像質量基不變的情況下,MPEG可把圖像壓縮至1/100或更MPEG音頻壓縮算法則是根據人耳屏蔽濾波功能。利用音響心理學的基本原理,即“某些頻率的音響在重放其頻率的音頻時聽不到”這樣一個特性,將那些人耳完全不到或基本上聽到的多余音頻信號壓縮掉,最後使音頻號的壓縮比達到8:1或更高,音質逼真,與CD唱片可媲美。按照MPEG標准,MPEG數據流包含系統層和壓層數據。系統層含有定時信號,圖像和聲音的同步、多

  分配等信息。壓縮層包含經壓縮後的實際的圖像和聲數據,該數據流將視頻、音頻信號複合及同步後,其數據輸率爲1.5MB/s。其中壓縮圖像數據傳輸率爲1.2M壓縮聲音傳輸率爲0.2MB/s。

  MPEG標准的發展經曆了MPEG―I,MPEG一2、MPEG一4、MPEG-7、MPEG一21等不同層次。在MPEG的不同標准中,每―個標准都是建立在前面的標准之上的,並與前面的標准向後的兼容。目前在圖像壓縮中,應用得較多的是MPEG一4標准,MPEG-是在MPEG-2基礎上作了很大的擴充,主要目標是多媒體應用。在MPEG一2標准中,我們的觀念是單幅圖像,而且包含了一幅圖像的全部元素。在MPEG一4標准下,我們的觀念變爲多圖像元素,其中的每―個多圖像元素都是獨立編碼處理的。該標准包含了爲接收器所用的指令,告訴接收器如何構成最終的圖像。

  上圖既表示了MPEG一4解碼器的概念,又比較清楚地描繪了每個部件的用途。這裏不是使用單一的視頻或音頻解碼器,而是使用若幹個解碼器,其中的每一個解碼器只接收某個特定的圖像(或聲音)元素,並完成解碼操作。每個解碼緩沖器只接收屬于它自己的靈敏據流,並轉送給解碼器。複合存儲器完成圖像元素的存儲,並將它們送到顯示器的恰當位置。音頻的情況也是這樣,但顯然不同點是要求同時提供所有的元素。數據上的時間標記保證這些元素在時間上能正確同步。MPEG一4標准對自然元素(實物圖像)和合成元素進行區分和規定,計算機生成的動畫是合成元素的一個例子。比如,一幅完整的圖像可以包含一幅實際的背景圖,並在前面有一幅動畫或者有另外一幅自然圖像。這樣的每一幅圖像都可以作最佳壓縮,並互相獨立地傳送到接收器,接收器知道如何把這些元素組合在一起。在MPEG一2標准中,圖像被看作一個整體來壓縮;而在MPEG一4標准下,對圖像中的每一個元素進行優化壓縮。靜止的背景不必壓縮到以後的I幀之中去,否則會使帶寬的使用變得很緊張。而如果這個背景圖像靜止10秒鍾,就只要傳送一次(假設我們不必擔心有人在該時間內切人此頻道),需要不斷傳送的僅是前台的比較小的圖像元素。對有些節目類型,這樣做會節省大量的帶寬。MPEG一4標准對音頻的處理也是相同的。例如,有一位獨唱演員,伴隨有電子合成器,在MPEG一2標准下,我們必須先把獨唱和合成器作混合,然後再對合成的音頻信號進行壓縮與傳送。在MPEG一4標准下,我們可以對獨唱作單獨壓縮,然後再傳送樂器數字接口的聲軌信號,就可以使接收器重建伴音。當然,接收器必須能支持MIDI放音。與傳送合成的信號相比,分別傳送獨唱信號和MIDI數據要節省大量的帶寬。其它的節目類型同樣可以作類似的規定。MPEG一7標准又叫多媒體內容描述接口標准。圖像可以用色彩、紋理、形狀、運動等參數來描述,MPEG一7標准是依靠衆多的參數對圖像與聲音實現分類,並對它們的數據庫實現查詢。

  二、多媒體數據壓縮技術的實現方法

  目前多媒體壓縮技術的實現方法已有近百種,其中基于信源理論編碼的壓縮方法、離散余弦變換(DCT)和小波分解技術壓縮算法的研究更具有代表性。小波技術突破了傳統壓縮方法的局限性,引入了局部和全局相關去冗余的新思想,具有較大的潛力,因此近幾年來吸引了衆多的研究者。在小波壓縮技術中,一幅圖像可以被分解爲若幹個叫做“小片”的區域;在每個小片中,圖像經濾波後被分解成若幹個低頻與高頻分量。低頻分量可以用不同的分辨率進行量化,即圖像的低頻部分需要許多的二進制位,以改善圖像重構時的信噪比。低頻元素采用精細量化,高頻分量可以量化得比較粗糙,因爲你不太容易看到變化區域的噪聲與誤差。此外,碎片技術已經作爲一種壓縮方法被提出,這種技術依靠實際圖形的重複特性。用碎片技術壓縮圖像時需要占用大量的計算機資源,但可以獲得很好的結果。借助于從DNA序列研究中發展出來的模式識別技術,能減少通過WAN鏈路的流量,最多時的壓縮比率能達到90%,從而爲網絡傳送圖像和聲音提供更大的壓縮比,減輕風絡負荷,更好地實現網絡信息傳播。

  叁、壓縮原理

  由于圖像數據之間存在著一定的冗余,所以使得數據的壓縮成爲可能。信息論的創始人Shannon提出把數據看作是信息和冗余度(redundancy)的組合。所謂冗余度,是由于一副圖像的各像素之間存在著很大的相關性,可利用一些編碼的方法刪去它們,從而達到減少冗余壓縮數據的目的。爲了去掉數據中的冗余,常常要考慮信號源的統計特性,或建立信號源的統計模型。圖像的冗余包括以下幾種:

  (1) 空間冗余:像素點之間的相關性。

  (2) 時間冗余:活動圖像的兩個連續幀之間的冗余。

  (3) 信息熵冗余:單位信息量大于其熵。

  (4) 結構冗余:圖像的區域上存在非常強的紋理結構。

  (5) 知識冗余:有固定的結構,如人的頭像。

  (6) 視覺冗余:某些圖像的失真是人眼不易覺察的。

  對數字圖像進行壓縮通常利用兩個基本原理:

  (1) 數字圖像的相關性。在圖像的同一行相鄰像素之間、活動圖像的相鄰幀的對應像素之間往往存在很強的相關性,去除或減少這些相關性,也就去除或減少圖像信息中的冗余度,即實現了對數字圖像的壓縮。

  (2) 人的視覺心理特征。人的視覺對于邊緣急劇變化不敏感(視覺掩蓋效應),對顔色分辨力弱,利用這些特征可以在相應部分適當降低編碼精度,而使人從視覺上並不感覺到圖像質量的下降,從而達到對數字圖像壓縮的目的。

  編碼壓縮方法有許多種,從不同的角度出發有不同的分類方法,比如從信息論角度出發可分 爲兩大類:

  (1)冗余度壓縮方法,也稱無損壓縮,信息保持編碼或熵編碼。具體講就是解碼圖像和壓縮 編碼前的圖像嚴格相同,沒有失真,從數學上講是一種可逆運算。

  (2)信息量壓縮方法,也稱有損壓縮,失真度編碼或熵壓縮編碼。也就是講解碼圖像和原始圖像是有差別的,允許有一定的失真。

  應用在多媒體中的圖像壓縮編碼方法,從壓縮編碼算法原理上可以分類爲:

  (1)無損壓縮編碼種類 •哈夫曼編碼 •算術編碼 •行程編碼 •Lempel zev編碼

  (2)有損壓縮編碼種類 •預測編碼:DPCM,運動補償 •頻率域方法:正文變換編碼(如DCT),子帶編碼 •空間域方法:統計分塊編碼 •模型方法:分形編碼,模型基編碼 •基于重要性:濾波,子采樣,比特分配,矢量量化

  (3)混合編碼 •JBIG,H261,JPEG,MPEG等技術標准

  衡量一個壓縮編碼方法優劣的重要指標

  (1)壓縮比要高,有幾倍、幾十倍,也有幾百乃至幾千倍;

  (2)壓縮與解壓縮要快,算法要簡單,硬件實現容易;

  (3)解壓縮的圖像質量要好。

  四、JPEG圖像壓縮算法

  1..JPEG壓縮過程

  JPEG壓縮分四個步驟實現:

  1.顔色模式轉換及采樣;

  2.DCT變換;

  3.量化;

  4.編碼。

  2.1.顔色模式轉換及采樣

  RGB色彩系統是我們最常用的表示顔色的方式。JPEG采用的是YCbCr色彩系統。想要用JPEG基本壓縮法處理全彩色圖像,得先把RGB顔色模式圖像數據,轉換爲YCbCr顔色模式的數據。Y代表亮度,Cb和Cr則代表色度、飽和度。通過下列計算公式可完成數據轉換。

  Y=0.2990R 0.5870G 0.1140B

  Cb=-0.1687R-0.3313G 0.5000B 128

  Cr=0.5000R-0.4187G-0.0813B+128

  人類的眼晴對低頻的數據比對高頻的數據具有更高的敏感度,事實上,人類

  的眼睛對亮度的改變也比對色彩的改變要敏感得多,也就是說Y成份的數據是比較重要的。既然Cb成份和Cr成份的數據比較相對不重要,就可以只取部分數據來處理。以增加壓縮的比例。JPEG通常有兩種采樣方式:YUV411和YUV422,它們所代表的意義是Y、Cb和Cr叁個成份的資料取樣比例。

  2.2.DCT變換

  DCT變換的全稱是離散余弦變換(Discrete Cosine Transform),是指將一組光強數據轉換成頻率數據,以便得知強度變化的情形。若對高頻的數據做些修飾,再轉回原來形式的數據時,顯然與原始數據有些差異,但是人類的眼睛卻是不容易辨認出來。

  壓縮時,將原始圖像數據分成8*8數據單元矩陣,例如亮度值的第一個矩陣內容如下:

  JPEG將整個亮度矩陣與色度Cb矩陣,飽和度Cr矩陣,視爲一個基本單元稱作MCU。每個MCU所包含的矩陣數量不得超過10個。例如,行和列采樣的比例皆爲4:2:2,則每個MCU將包含四個亮度矩陣,一個色度矩陣及一個飽和度矩陣。

  當圖像數據分成一個8*8矩陣後,還必須將每個數值減去128,然後一一代入DCT變換公式中,即可達到DCT變換的目的。圖像數據值必須減去128,是因爲DCT轉換公式所接受的數字範圍是在-128到 127之間。

  DCT變換公式:

  x,y代表圖像數據矩陣內某個數值的坐標位置

  f(x,y)代表圖像數據矩陣內的數個數值

  u,v代表DCT變換後矩陣內某個數值的坐標位置

  F(u,v)代表DCT變換後矩陣內的某個數值

  u=0 且 v=0 c(u)c(v)=1/1.414

  u>0 或 v>0 c(u)c(v)=1

  經過DCT變換後的矩陣數據自然數爲頻率系數,這些系數以F(0,0)的值最大,稱爲DC,其余的63個頻率系數則多半是一些接近于0的正負浮點數,一概稱之爲AC。

  3.3、量化

  圖像數據轉換爲頻率系數後,還得接受一項量化程序,才能進入編碼階段。

  量化階段需要兩個8*8矩陣數據,一個是專門處理亮度的頻率系數,另一個則是

  針對色度的頻率系數,將頻率系數除以量化矩陣的值,取得與商數最近的整數,

  即完成量化。

  當頻率系數經過量化後,將頻率系數由浮點數轉變爲整數,這才便于執行最

  後的編碼。不過,經過量化階段後,所有數據只保留整數近似值,也就再度損失

  了一些數據內容,JPEG提供的量化表如下:

  2.4、編碼

  Huffman編碼無專利權問題,成爲JPEG最常用的編碼方式,Huffman編碼通常是以完整的MCU來進行的。

  編碼時,每個矩陣數據的DC值與63個AC值,將分別使用不同的Huffman編碼表,而亮度與色度也需要不同的Huffman編碼表,所以一共需要四個編碼表,才能順利地完成JPEG編碼工作。

  DC編碼

  DC是彩采用差值脈沖編碼調制的差值編碼法,也就是在同一個圖像分量中取得每個DC值與前一個DC值的差值來編碼。DC采用差值脈沖編碼的主要原因是由于在連續色調的圖像中,其差值多半比原值小,對差值進行編碼所需的位數,會比對原值進行編碼所需的位數少許多。例如差值爲5,它的二進制表示值爲101,如果差值爲-5,則先改爲正整數5,再將其二進制轉換成1的補碼即可。所謂1的補碼,就是將每個Bit若值爲0,便改成1;Bit爲1,則變成0。差值5應保留的位數爲3,下表即列出差值所應保留的Bit數與差值內容的對照。

  在差值前端另外加入一些差值的霍夫曼碼值,例如亮度差值爲5(101)的位數爲3,則霍夫曼碼值應該是100,兩者連接在一起即爲100101。下列兩份表格分別是亮度和色度DC差值的編碼表。根據這兩份表格內容,即可爲DC差值加上霍夫曼碼值,完成DC的編碼工作。

  AC編碼

  AC編碼方式與DC略有不同,在AC編碼之前,首先得將63個AC值按Zig-zag排序,即按照下圖箭頭所指示的順序串聯起來。

  63個AC值排列好的,將AC系數轉換成中間符號,中間符號表示爲RRRR/SSSS,RRRR是指第非零的AC之前,其值爲0的AC個數,SSSS是指AC值所需的位數,AC系數的範圍與SSSS的對應關系與DC差值Bits數與差值內容對照表相似。

  如果連續爲0的AC個數大于15,則用15/0來表示連續的16個0,15/0稱爲ZRL(Zero Rum Length),而(0/0)稱爲EOB(Enel of Block)用來表示其後所

  剩余的AC系數皆等于0,以中間符號值作爲索引值,從相應的AC編碼表中找出適當的霍夫曼碼值,再與AC值相連即可。

  例如某一組亮度的中間符爲5/3,AC值爲4,首先以5/3爲索引值,從亮度AC的Huffman編碼表中找到1111111110011110霍夫曼碼值,于是加上原來100(4)即是用來取[5,4]的Huffman編碼1111111110011110100,[5,4]表示AC值爲4的前面有5個零。

  由于亮度AC,色度AC霍夫曼編碼表比較長,在此省略去,有興趣者可參閱相關書籍。

  實現上述四個步驟,即完成一幅圖像的JPEG壓縮。

上一篇:tambourine是什麽樂器(街舞的舞種都有哪些?都有什麽特點?
下一篇:
相关文章
留言与评论 (共有 条评论)
验证码:
顶部