摘要:而在這個革命的所有這些領(lǐng)域中數(shù)據(jù)壓縮都是基礎(chǔ)支撐技術(shù)之一。說完了數(shù)據(jù)壓縮的概念我們將注意力回到之前的問題上分別進行解釋。而通過數(shù)據(jù)壓縮我們可以提高其傳輸能力降低存儲的空間。而在設(shè)計出種數(shù)據(jù)壓縮方案之后我們還需要能夠測量它的性能。
原文地址:
http://blog.52sox.com/data-co...
網(wǎng)上戲說2018是互聯(lián)網(wǎng)的冬天,先有阿里、騰訊、華為不擴招進行人員優(yōu)化,后有美團、知乎裁員,好生熱鬧。不得不說,中國的經(jīng)濟進入1個新的階段,用官方的話就是新生態(tài),用百姓的話說就是,我們告別了粗曠的放養(yǎng),迎來了精耕細作的時代。
當我們在為互聯(lián)網(wǎng)冬天感到擔(dān)驚受怕的時候,前方傳來董小姐廠加薪的捷報。然而這次又是別人家的公司。
聽你說了大半天的話,就是為了跟我說這些傷心的事情?如果內(nèi)里是這樣想的,那么你可以關(guān)閉你網(wǎng)頁上的標簽頁了。
適合讀者人群下面要說的內(nèi)容,適合以下人群:
小白程序員,無論編程語言
準備年后跳槽的程序員
數(shù)據(jù)開發(fā)工程師
數(shù)據(jù)算法工程師
在校相關(guān)專業(yè)(數(shù)分、應(yīng)用數(shù)學(xué))大學(xué)生
喜歡裝X的某些人
作為已經(jīng)入坑2家的數(shù)據(jù)人,只能從自身的經(jīng)驗和發(fā)展路線來講述數(shù)據(jù)壓縮。下面我們要準備開始上車了。
引言在過去10多年里,我們見證通信方式的變革,而且這一過程仍在持續(xù)。這一變革既包括因特網(wǎng)規(guī)模持續(xù)不斷的增長(從2M到100M帶寬的飛躍),也包括移動通信的爆炸式發(fā)展(從2G到4G,以及即將商用的5G),還體現(xiàn)在視頻通信重要性的不斷增加。而在這個革命的所有這些領(lǐng)域中,數(shù)據(jù)壓縮都是基礎(chǔ)支撐技術(shù)之一。
在2013年,大數(shù)據(jù)概念的提出,Hadoop打響了第一炮。而在2016年,我們迎來大數(shù)據(jù)的元年。而2017年,迎來了人工智能AI元年。技術(shù)和工具的不斷推陳出新,我們也在成長中老去。那么,你可能會提出這樣的問題:
為什么需要數(shù)據(jù)壓縮?
了解數(shù)據(jù)壓縮有什么好處?
我工作都不涉及這部分,跟我講這個,你不是在浪費我的時間?
為了回答這樣問題,我們有必要先說下什么是數(shù)據(jù)壓縮再回答這些問題也不遲。
什么是數(shù)據(jù)壓縮簡而言之,數(shù)據(jù)壓縮就是以緊湊方式表示信息的技術(shù)或科學(xué)。人們識別出數(shù)據(jù)中存在的結(jié)構(gòu)特征,并加以利用,生成這些緊湊表示方式。
說完了數(shù)據(jù)壓縮的概念,我們將注意力回到之前的問題上,分別進行解釋。
之所以需要數(shù)據(jù)壓縮,是因為人們以數(shù)字形式生成和利用的信息越來越多。在大數(shù)據(jù)時代里,我們可以說,當前我們被大量的各種信息所包圍。比如在百度中輸入1個智能手環(huán)的搜索,然后你會在隔天發(fā)現(xiàn)各種智能手環(huán)的廣告。當然,這些精準的廣告營銷并沒有達到我們的期望,至少現(xiàn)在看來還不夠智能。
而隨著需要傳輸、存儲的數(shù)據(jù)呈爆炸式增長,人們在致力于開發(fā)更好的傳輸與存儲技術(shù)方面取得很大的進步,但是取得的成果還不夠。相關(guān)技術(shù)也層次不窮,比如大數(shù)據(jù)處理中的Hadoop工具,關(guān)于Hadoop及其生態(tài)圈,可以參見。
根據(jù)帕金森第一法則的推論,對大容量存儲與傳輸能力需求的增長,至少是存儲與傳輸能力增長速度的2倍。而在有些情況下,存儲與傳輸能力并沒有顯著的提高,比如通過無線電波傳送的信息量會受到大氣特性的限制。
而通過數(shù)據(jù)壓縮,我們可以提高其傳輸能力,降低存儲的空間。
說了大白天的數(shù)據(jù)壓縮的問題,你還沒有告訴我們了解或?qū)W習(xí)數(shù)據(jù)壓縮到底有什么用。
學(xué)習(xí)數(shù)據(jù)壓縮并不一定能讓你拿高薪,也不一定能讓你找到新的崗位,但是可以讓你具備一定的數(shù)據(jù)思維的基礎(chǔ)。至少,在實踐中會懂得應(yīng)用,并選擇合適的方案。
切記,數(shù)據(jù)壓縮只是基礎(chǔ),所謂基礎(chǔ)就是沒有它,你的上層建筑是沒法構(gòu)建起來的。
這個時候,有人會說,你真是浪費我的時間。我的工作又不涉及這部分內(nèi)容,跟我嘮叨這東西干嘛?
如果你是這樣的觀點,那么你不妨問下你自己,你平時是不是不聽歌、看電影?而這些都與JPEG、MP3、H.264標準息息相關(guān)。
而學(xué)習(xí)數(shù)據(jù)壓縮,只是1種擴展你技術(shù)的1種選擇,比如選擇合適的方案解決工程問題。當然,如果你已經(jīng)厲害到可以設(shè)計出合理的數(shù)據(jù)壓縮方案,你也可以選擇自助創(chuàng)業(yè)。
在互聯(lián)網(wǎng)冬天,有1家科技公司近期完成了數(shù)千萬的A輪融資。如果你對圖像處理領(lǐng)域有所了解的話,就會發(fā)現(xiàn)實際上就是AI+DSP的模式,并不算多大的事情。
當然這也是別人家公司的事情,該干嘛干嘛。
說了這么多,如果你覺得沒有什么看點,那么可以直接關(guān)閉標簽頁了。如果沒有,我們就繼續(xù)把。
在數(shù)據(jù)壓縮的早期,1個典型的例子就是是摩爾斯電碼的使用,它通過對電報發(fā)送的字符以點和劃來編碼。通過統(tǒng)計發(fā)現(xiàn),某些字符的出現(xiàn)頻率要高于其他字符,于是為出現(xiàn)頻率較高的字符分配較短的序列,從而減少發(fā)送1條消息所需要的平均時間。其中,霍夫曼(Huffman)編碼就是利用思想。
我們可以通過許多不同類型的結(jié)構(gòu)來實現(xiàn)壓縮,而不僅僅局限于利用統(tǒng)計其結(jié)構(gòu)來進行壓縮。
在不同類型的數(shù)據(jù)中,存在許多其他類型的結(jié)構(gòu)可以為壓縮技術(shù)所用。例如,在語音中,我們在說話時,喉部的物理構(gòu)造決定了所能發(fā)出的聲音。換句話說,產(chǎn)生語音的力學(xué)特征使語音具有了某種結(jié)構(gòu)。因此,我們可以不直接傳送語音本身,而是傳送喉部構(gòu)造的相關(guān)信息,而接收器利用這些信息來合成語音。這樣,我們只需要很少的數(shù)據(jù)就能表示足夠的喉部結(jié)構(gòu)信息,從而實現(xiàn)壓縮。而這就是壓縮方法早期版本中的聲碼器。
除了對數(shù)據(jù)的結(jié)構(gòu)的利用外,我們還可以對數(shù)據(jù)的一些特性入手。比如,在許多時候,比如傳送或存儲語音和圖像時,這些數(shù)據(jù)最終是由人來體驗的,而人的感知能力是有限的。對于這些數(shù)據(jù)中表示的一些內(nèi)容無法被用戶感知,那么就可以將沒有必要保留這些信息。我們通過利用人類的知覺局限,通過丟棄一些不相干的信息來實現(xiàn)壓縮。
在開始研究數(shù)據(jù)壓縮技術(shù)之前,我們先對這一領(lǐng)域作一整體概述。
對于數(shù)據(jù)壓縮而言,我們需要先設(shè)計出對應(yīng)的算法及方案。
壓縮技術(shù)或壓縮算法實際上指的是如下的2種算法組成的:
壓縮算法,取得輸入X,生成1種需要較少二進位的表示Xc
重構(gòu)算法,對壓縮后的表示Xc執(zhí)行操作,生成重構(gòu)結(jié)果y
這些操作的示意圖如下圖所示:
我們沿循慣例,將壓縮算法和重構(gòu)算法結(jié)合在一起,稱為壓縮算法。
而根據(jù)重構(gòu)需求,我們可以將數(shù)據(jù)壓縮劃分為2大類:
無損壓縮,重構(gòu)結(jié)果y和X相同
有損壓縮,實現(xiàn)的壓縮比通常高于無損壓縮,但重構(gòu)結(jié)果y可能與X不同
無損壓縮在無損壓縮技術(shù)中,不允許存在信息的損失,該技術(shù)通常用于一些不允許原數(shù)據(jù)與重構(gòu)數(shù)據(jù)之間存在任何差別的應(yīng)用中,其中以文本壓縮作為代表。
對于文本壓縮而言,如果壓縮后的文本與原文不一致,可能會造成語義的謬以千里。
有損壓縮技術(shù)會造成一些信息損失,采用該技術(shù)壓縮后的數(shù)據(jù)通常不能再準確還原或重構(gòu)。但是,如果可以接受重構(gòu)結(jié)果中存在的這種失真,那么它所實現(xiàn)的壓縮比通常要比無損壓縮高的多。
而在設(shè)計出1種數(shù)據(jù)壓縮方案之后,我們還需要能夠測量它的性能。而數(shù)據(jù)壓縮的應(yīng)用領(lǐng)域多種多樣,所以用于描述和測量壓縮性能的術(shù)語也有所不同。
我們可以用多種方式來評估一種壓縮算法,我們可以從如下一些方面進行測量:
算法的相對復(fù)雜度
算法在給定計算機上的運行速度
壓縮量
重構(gòu)結(jié)果與原數(shù)據(jù)之間的類似程度
常用的指標有:
壓縮比
速率
建模與編碼而對重構(gòu)結(jié)果的要求可能直接決定了應(yīng)當采用有損還是無損壓縮方案,但具體使用哪1種壓縮方案,則可能需要許多不同因素來決定。其中最重要的一些因素就是待壓縮數(shù)據(jù)的特性。比如,1種能夠有效壓縮文本的技術(shù),不一定能同樣有效地壓縮圖像。
而要針對特定數(shù)據(jù)開發(fā)數(shù)據(jù)壓縮算法,我們可以分為2個階段來進行:
建模
編碼
在第1階段,我們通常稱之為建模,我們嘗試了解數(shù)據(jù)中存在的冗余情況,并用1個模型來描述這種冗余。而第2階段,我們通過編碼的方式來描述這個模型,描述數(shù)據(jù)與模型之間的差別。而數(shù)據(jù)與模型之間的差別通常稱為殘差。
比如在前面的摩爾斯電碼中,我們先通過統(tǒng)計的方式了解到某個字符的頻率比其他的字符高,這就是1個建模的過程。而使用較短序列分配給較高頻率的字符,就是1種編碼方式。
在數(shù)據(jù)壓縮中,我們有許多不同方法來描述數(shù)據(jù)的特征,而不同的特征描述方式可以得到不同的壓縮方案。
參考書籍:
《Introduction to Data Compression,Fourth Edition》P1-8
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/100952.html
摘要:而在這個革命的所有這些領(lǐng)域中數(shù)據(jù)壓縮都是基礎(chǔ)支撐技術(shù)之一。說完了數(shù)據(jù)壓縮的概念我們將注意力回到之前的問題上分別進行解釋。而通過數(shù)據(jù)壓縮我們可以提高其傳輸能力降低存儲的空間。而在設(shè)計出種數(shù)據(jù)壓縮方案之后我們還需要能夠測量它的性能。 原文地址:http://blog.52sox.com/data-co... 網(wǎng)上戲說2018是互聯(lián)網(wǎng)的冬天,先有阿里、騰訊、華為不擴招進行人員優(yōu)化,后有美...
摘要:而在這個革命的所有這些領(lǐng)域中數(shù)據(jù)壓縮都是基礎(chǔ)支撐技術(shù)之一。說完了數(shù)據(jù)壓縮的概念我們將注意力回到之前的問題上分別進行解釋。而通過數(shù)據(jù)壓縮我們可以提高其傳輸能力降低存儲的空間。而在設(shè)計出種數(shù)據(jù)壓縮方案之后我們還需要能夠測量它的性能。 原文地址:http://blog.52sox.com/data-co... 網(wǎng)上戲說2018是互聯(lián)網(wǎng)的冬天,先有阿里、騰訊、華為不擴招進行人員優(yōu)化,后有美...
摘要:而在這個革命的所有這些領(lǐng)域中數(shù)據(jù)壓縮都是基礎(chǔ)支撐技術(shù)之一。說完了數(shù)據(jù)壓縮的概念我們將注意力回到之前的問題上分別進行解釋。而通過數(shù)據(jù)壓縮我們可以提高其傳輸能力降低存儲的空間。而在設(shè)計出種數(shù)據(jù)壓縮方案之后我們還需要能夠測量它的性能。 原文地址:http://blog.52sox.com/data-co... 網(wǎng)上戲說2018是互聯(lián)網(wǎng)的冬天,先有阿里、騰訊、華為不擴招進行人員優(yōu)化,后有美...
摘要:轉(zhuǎn)行前端有哪些疑慮在人生的抉擇處,尋求一些別人的經(jīng)驗和總結(jié),無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面這里前后端指的是開發(fā)的前后端。 轉(zhuǎn)行前端有哪些疑慮? 在人生的抉擇處,尋求一些別人的經(jīng)驗和總結(jié),無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面:這里前后端指的是web開發(fā)的前后端。1、前端崗位需...
摘要:轉(zhuǎn)行前端有哪些疑慮在人生的抉擇處,尋求一些別人的經(jīng)驗和總結(jié),無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面這里前后端指的是開發(fā)的前后端。 轉(zhuǎn)行前端有哪些疑慮? 在人生的抉擇處,尋求一些別人的經(jīng)驗和總結(jié),無可厚非,但是決定了就一定要堅定的走下去,謹慎是為了更好的堅持,而不是放棄的理由。寫在前面:這里前后端指的是web開發(fā)的前后端。1、前端崗位需...
閱讀 1917·2021-11-23 09:51
閱讀 1246·2019-08-30 15:55
閱讀 1613·2019-08-30 15:44
閱讀 759·2019-08-30 14:11
閱讀 1146·2019-08-30 14:10
閱讀 916·2019-08-30 13:52
閱讀 2630·2019-08-30 12:50
閱讀 615·2019-08-29 15:04