三個印度人改變壓縮算法 一意孤行整個暑假卻因“太簡單”申不到經費

世界上最好用的壓縮軟件是什麼?微信。這個段子想必很多人都聽過。一張幾兆的圖片,經微信一發,立馬降到幾百 kb。雖說這是個吐槽,但 u1s1,圖片視頻壓縮其實是一項非常必要的技術。比如視頻通話、傳輸大量圖片時,如果不壓縮的話,要麼圖像完全無法傳送,要麼就是乾等了。

三個印度人改變壓縮算法 一意孤行整個暑假卻因“太簡單”申不到經費

△ 如果是有損壓縮畫質會下降(右圖天空有波紋)

所以在數字時代這幾十年裡,萌生出了很多相關的技術,比如 JPEG、H.26X。

不過你或許不知道,這些技術往上追溯,可以從 47 年前說起。

有三位名不見經傳的印度工程師“一意孤行”,在沒申請到研究經費的情況下,利用暑假時間鼓搗出來了一項技術,後來直接成為圖像視頻壓縮的行業標準。

它就是 DCT。

全稱為 Discrete Cosine Transform,即離散餘弦變換。

而有趣的是,DCT 誕生之初時,就連作者本人都沒有想到,它後來會有如此巨大的影響力。

沒有 DCT,就沒有 JPEG / MPEG

直接說 DCT 可能很多人不知道是什麼,但 JPEG 大家肯定都聽過。

它除了是一種常見的圖片文件後綴名,其實也是一種有損壓縮標準,可以把一張圖片從左邊這樣變成右邊這樣:

三個印度人改變壓縮算法 一意孤行整個暑假卻因“太簡單”申不到經費

ps.有損和無損的區別:無損壓縮可以再 100% 還原圖像;有損不可以,但有損壓縮后的圖像大小會大大減少。

DCT 就是實現這個過程的一種基礎技術。

它是傅立葉變換的一種,可以將圖像從空域轉換到頻域,也就是把圖像從像素矩陣變成用帶有頻率等信息的函數來表示。

具體變換過程,我們以一張圖像中一個 3×3 的像素塊為例:

三個印度人改變壓縮算法 一意孤行整個暑假卻因“太簡單”申不到經費

△ 圖源博客園博主 @沉默的背影 X-Pacific

對這個像素塊做 DTC 變換,就相當於把除了第一個像素以外,其餘像素的部分信息都抽取到第一個格中。

這樣,第一個格的像素值表示的就是一張圖的總體樣貌,稱為低頻信息;其餘格表示的就是圖像中人物或物體的細節,稱為高頻信息。

經 DCT 轉換后,每個 3×3 的像素塊都會產生 1 個 DC(直流)係數(位於第一個格)及 8 個 AC(交流)係數(剩餘格),前者是 DCT 最重要的輸出。

三個印度人改變壓縮算法 一意孤行整個暑假卻因“太簡單”申不到經費

由於大部分的圖像能量會集中在低頻部分,因此轉換之後輸出的 DC 係數值比較大,而輸出的 AC 系值比較小。

利用“人眼對低頻分量的圖像比對高頻分量的圖像更敏感”這一原理,再通過量化保存下來低頻分量,捨棄高頻分量(將大部分 AC 係數值變為 0)、丟掉那些對視覺效果影響不大的信息,從而達到壓縮目的。

從下面這兩張圖像的三維投影,我們可以看到 DCT 變換帶來的改變:

(上:原圖;下:經過 DCT 變換后)

三個印度人改變壓縮算法 一意孤行整個暑假卻因“太簡單”申不到經費

在實際的 JPEG 壓縮標準中,都是將一張圖像分成若干個 8×8 的像素塊(不夠的用空白補齊)。

將色彩空間從 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 的認可。

參考鏈接:

[1]https://spectrum.ieee.org/krrao-tribute

Nasir Ahmed’s Algorithm That Transformed The World

[2]https://cloud.tencent.com/developer/article/1862531

[3]https://mp.weixin.qq.com/s?__biz=MzU1NTEzOTM5Mw==&mid=2247512538&idx=1&sn=57f46386002cf5554681f8ef9f61a3e0&chksm=fbda19f4ccad90e219bf224db522e9999086dff886bae09562e1aeba4450d4ba0247a73c3138&scene=21#wechat_redirect

[4]https://blog.csdn.net/freee12/article/details/109953732

[5]https://blog.csdn.net/weixin_52779958/article/details/124413405

[6]https://www.youtube.com/watch?v=I9VXaVVs7W

(0)
上一篇 2022-07-10 14:54
下一篇 2022-07-10 14:55

相关推荐