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