世界上最好用的壓縮軟件是什么?
微信。
這個段子想必很多人都聽過。
一張幾兆的圖片,經微信一發,立馬降到幾百kb。
△如果是有損壓縮畫質會下降(右圖天空有波紋)
雖說這是個吐槽,但u1s1,圖片視頻壓縮其實是一項非常必要的技術。
比如視頻通話、傳輸大量圖片時,如果不壓縮的話,要么圖像完全無法傳送,要么就是干等了。
所以在數字時代這幾十年里,萌生出了很多相關的技術,比如JPEG、H.26X。
不過你或許不知道,這些技術往上追溯,可以從47年前說起。
有三位名不見經傳的印度工程師“一意孤行”,在沒申請到研究經費的情況下,利用暑假時間鼓搗出來了一項技術,后來直接成為圖像視頻壓縮的行業標準。
它就是DCT。
全稱為Discrete Cosine Transform,即離散余弦變換。
而有趣的是,DCT誕生之初時,就連作者本人都沒有想到,它后來會有如此巨大的影響力。
沒有DCT,就沒有JPEG/MPEG
直接說DCT可能很多人不知道是什么,但JPEG大家肯定都聽過。
它除了是一種常見的圖片文件后綴名,其實也是一種有損壓縮標準,可以把一張圖片從左邊這樣變成右邊這樣:
ps.有損和無損的區別:無損壓縮可以再100%還原圖像;有損不可以,但有損壓縮后的圖像大小會大大減少。
DCT就是實現這個過程的一種基礎技術。
它是傅立葉變換的一種,可以將圖像從空域轉換到頻域,也就是把圖像從像素矩陣變成用帶有頻率等信息的函數來表示。
具體變換過程,我們以一張圖像中一個3x3的像素塊為例:
△圖源博客園博主@沉默的背影 X-Pacific
對這個像素塊做DTC變換,就相當于把除了第一個像素以外,其余像素的部分信息都抽取到第一個格中。
這樣,第一個格的像素值表示的就是一張圖的總體樣貌,稱為低頻信息;其余格表示的就是圖像中人物或物體的細節,稱為高頻信息。
經DCT轉換后,每個3x3的像素塊都會產生1個DC(直流)系數(位于第一個格)及8個AC(交流)系數(剩余格),前者是DCT最重要的輸出。
由于大部分的圖像能量會集中在低頻部分,因此轉換之后輸出的DC系數值比較大,而輸出的AC系值比較小。
利用“人眼對低頻分量的圖像比對高頻分量的圖像更敏感”這一原理,再通過量化保存下來低頻分量,舍棄高頻分量(將大部分AC系數值變為0)、丟掉那些對視覺效果影響不大的信息,從而達到壓縮目的。
從下面這兩張圖像的三維投影,我們可以看到DCT變換帶來的改變:
(上:原圖;下:經過DCT變換后)
在實際的JPEG壓縮標準中,都是將一張圖像分成若干個8x8的像素塊(不夠的用空白補齊)。
將色彩空間從RGB轉為YUV之后,從左至右、從上至下對每個塊進行DCT變換。
然后對每個塊變換得來的系數進行量化,在這個過程中,一些重要的分量就被去除了,且無法恢復。
因此,這是一種不可逆的有損壓縮技術。
接著對量化后得到的AC系數和DC系數再分別進行編碼,經過哈夫曼編碼后得到下面這樣的一大串數字。
解壓縮時對每個圖像塊做DCT反轉換(IDCT),就可以重建完整圖像。
具體計算過程如下:
首先將圖片中每個像素的原始灰度和亮度值用8bit表示,也就是(0,255)這個范圍。
由于大多數值都會分布在128左右,所以會將這些值都減去128,這樣會有更多值為0,有利于壓縮,這時候范圍變成(-128,127)。
然后再用DCT變換公式進行變換,二維的用這個:
變換完后進行根據量化表進行量化,將大部分系數變為0,完成壓縮。
ps.量化表是根據人眼對量化誤差的視覺閾值來確定的,有固定的一張表。
后面就是前面說的一系列編碼過程了。
1974年1月,這項技術首次被發表在IEEE Transactions on Computers上面。
自此,圖像和視頻壓縮領域的行業標準就誕生了。
1998年世界首個視頻壓縮標準H.261、1992年的JPEG和MPEG、2010年的WebP、2013年的HEIF、2018年谷歌亞馬遜等公司聯合創建的AV1……等壓縮標準都是基于這項技術,且一直沿用至今。
40多年都名不見經傳的發明者
DCT的作者有3位,分別是Nasir Ahmed(納西爾·艾哈邁德)、K.R. Rao(K.R.拉奧)和T. Natarajan(T.納塔拉詹)。
納西爾是新墨西哥大學電氣與計算機工程系名譽教授。
他1940年出生于印度班加羅爾,1966年在新墨西哥大學獲得博士學位。
1966-1968年,他在霍尼韋爾公司擔任首席工程師,1968-1983年在堪薩斯州立大學擔任教授。
1983-2001年,他回到新墨西哥大學擔任電氣與計算機工程系首席教授。在此期間,他先后擔任過系主任、研究生院院長等職位。
今年,納西爾已經有82歲高齡。
另一位主要作者是K.R.拉奧。
他同樣是一位美籍印度裔學者。
1960年,他在佛羅里達大學獲得核工程專業博士學位。1966年,又在新墨西哥大學獲得電氣與計算機工程專業博士學位。
之后50年,他一直在得克薩斯州阿靈頓分校工作,擔任電氣工程系教授。
與此同時,他還是IEEE Fellow。
2021年1月15日,拉奧教授揮別人世,享年89歲。
T.納塔拉詹當時是納西爾帶的博士生,如今在互聯網上已經檢索不到太多他的相關信息。
可以說相比于大名鼎鼎的DCT,幾位發明者稱得上是“名不見經傳”了。
實際上,40多年來,DCT發明的幕后故事一直鮮有人關注。
甚至連納西爾的兒子都表示,“從來沒想過父親帶來的影響有如此之大”。
而將納西爾從幕后推至臺前的,還多虧了一部美劇中的一波致敬。
2020年,《我們的生活》中有一段劇情是納西爾以視頻通話的方式,講述了自己和妻子相愛的故事。
片方表示,設計這一橋段的初衷,就是希望更多人意識到,當下我們能夠通過互聯網快速發送圖片視頻,都與納西爾的工作離不開關系。
劇情播出后,不少媒體將DCT定義為“改變世界的算法”,也稱納西爾這位名不見經傳的工程師,終于從幕后推到了臺前。
不過,納西爾在自己的回憶視頻里表示,當初真的沒想到DCT會帶來如此大的影響。
我也無法預測技術發展的速度,對于FaceTime這些應用的出現,我感到非常驚訝。
要知道,DCT最初可能差一點就被扼殺在了搖籃里。
1972年,當時已經對DCT初有構思的納西爾向美國國家科學基金會(NSF)遞交了一份申請,希望NSF能為他研究DCT提供資金支持。
不過令納西爾驚訝的是,這個申請直接被斃掉了,評審人給出的意見是“它太簡單了”。
但好在納西爾并沒有放棄,他始終覺得這個idea很有新意。
唯一令他有所顧慮的是,他可能是只能利用假期來完成DCT的相關工作了,而且這期間可能沒有任何收入。
所以,納西爾回家和妻子說:
我有直覺,這事兒值得做下去。只不過我們需要計劃好如何度過一個沒有薪水的暑假。
妻子沒有任何猶豫就支持了他。
于是,在1973年的夏天,DCT的研究工作正式開始了。
參與到這項研究的,還有納西爾的好友拉奧和博士生納塔拉詹。
拉奧也是支持納西爾研究DCT的重要人物之一。
在納西爾的申請被斃掉后,他第一時間把自己的想法告訴了好友拉奧。
拉奧給出了這樣的回復:
你要立即把這些結果以短文的形式發表。
這就是“How I Came Up with the Discrete Cosine Transform”誕生的始末。
后來,這篇文章幾乎稱得上是圖片視頻壓縮領域的必讀之文。
之后的故事,也就是我們所熟知的了。
1974年,《Discrete Cosine Transform》在IEEE Transactions on Computers上發表。
截至目前,這篇文章的被引次數已經達到5878次。
納西爾曾在采訪中表示,自己人生中最大的禮物,就是人們對DCT的認可。
審核編輯 :李倩
-
圖像
+關注
關注
2文章
1089瀏覽量
40528 -
JPEG
+關注
關注
0文章
66瀏覽量
29977 -
DCT
+關注
關注
1文章
56瀏覽量
19897
原文標題:三個印度人改變壓縮算法,一意孤行整個暑假,卻因“太簡單”申不到經費
文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數據結構】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論