RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

你們知道DCT究竟有多重要嗎

訊維官方公眾號 ? 來源:LiveVideoStack ? 作者:ALex、趙軍 ? 2021-08-16 17:55 ? 次閱讀

Nasir Ahmed

聲影傳奇

#003#

前段時間,LiveVideoStack發(fā)布了一篇文章《視頻壓縮簡史:從1920到2020》,這篇文章獲得了很高的閱讀量,文章中記錄了一個又一個視頻壓縮歷史上的里程碑事件,而其中最引人注目,也最重要的發(fā)明之一就是DCT。沒有DCT,后面的H.26X, JPEG等一系列壓縮標(biāo)準(zhǔn)將無從談起。

什么是DCT?

隨著現(xiàn)代人越來越依賴計算機,需要傳輸?shù)臄?shù)據(jù)數(shù)量和種類也越來越多,比如我們經(jīng)常分享給別人的照片和視頻。如何在不丟失主要信息的情況下,縮減數(shù)據(jù)量,提升存儲空間,從而提高傳輸效率,降低傳輸成本呢?

數(shù)據(jù)壓縮技術(shù)登場了。數(shù)據(jù)壓縮分為無損壓縮和有損壓縮。無損壓縮是指數(shù)據(jù)在解壓縮時可以100%被恢復(fù),而有損壓縮(常用于聲音、圖片和視頻的壓縮)在解壓縮的過程中會舍棄一部分?jǐn)?shù)據(jù),達(dá)到相對較高的壓縮比,同時圖像質(zhì)量也會有所下降。但顯而易見,有損壓縮可以大大壓縮文件數(shù)據(jù),節(jié)省磁盤空間,并提高傳輸效率。

而有損壓縮的核心之一就是DCT。

DCT全稱為Discrete Cosine Transform,即離散余弦變換。DCT變換屬于傅里葉變換的一種,常用于對信號和圖像(包括圖片和視頻)進(jìn)行有損數(shù)據(jù)壓縮。

DCT將圖像分成由不同頻率組成的小塊,然后進(jìn)行量化。在量化過程中,舍棄高頻分量,剩下的低頻分量被保存下來用于后面的圖像重建。

簡單介紹一下整個圖像壓縮過程:

將圖像分解為8*8的圖像塊

將表示像素的RGB系統(tǒng)轉(zhuǎn)換成YUV系統(tǒng)

然后從左至右,從上至下對每個圖像塊做DCT變換,舍棄高頻分量,保留低頻分量

對余下的圖像塊進(jìn)行量化壓縮,由壓縮后的數(shù)據(jù)所組成的圖像大大縮減了存儲空間

解壓縮時對每個圖像塊做DCT反轉(zhuǎn)換(IDCT),然后重建一幅完整的圖像

由于舍棄了某些頻率的圖像,所以最終呈現(xiàn)出來的圖像清晰度會有差異。

可以看到,壓縮后的圖像比原始圖像模糊一些,但圖像的主要特征仍然可以識別。

本質(zhì)上,離散余弦變換需要一組N個相關(guān)(相似)的數(shù)據(jù)點,變換之后,返回N個去相關(guān)(不相似)的數(shù)據(jù)點(系數(shù)),其特點是能量被壓縮在僅有的M個系數(shù)中,其中M《N。

技術(shù)文獻(xiàn)中通常這樣描述DCT,說它具備去相關(guān)性和能量集中的特性,初看可能稍有點難以理解。其中,DCT將矩陣的能量壓縮到第一個元素中,被稱為直流(DC)系數(shù)。其余的系數(shù)被稱為交流(AC)系數(shù)。

這意味著輸出的二維DCT的左上角被稱為DC系數(shù)。它是DCT最重要的輸出,包含了很多關(guān)于原始圖像的信息。其余的系數(shù)被稱為交流系數(shù)(AC coefficients)。如果你使用DCT對圖像進(jìn)行轉(zhuǎn)換,AC系數(shù)包含了圖像的更多細(xì)節(jié)。同時,如果把這些DCT系數(shù)應(yīng)用于反向的2D-DCT,將得到原始系數(shù)。DCT本身并不會壓縮數(shù)據(jù),它為隨后的量化之類的操作,提供了一個良好的基礎(chǔ)。

DCT是誰發(fā)明的?

第一個提出DCT的人是Nasir Ahmed。

1940年,Nasir出生于印度的班加羅爾,并在那里完成了電機工程的本科學(xué)業(yè)。隨后,他來到美國求學(xué)。在新墨西哥大學(xué),他獲得了電子和計算機工程專業(yè)的碩士和博士學(xué)位。

1966~1968年,Nasir就職于霍尼韋爾公司,之后在堪薩斯州立大學(xué)開始了他的教學(xué)生涯。1984年,他成為新墨西哥大學(xué)電子和計算機工程專業(yè)的教授,并一直留在那里任教,直到2001年退休。他現(xiàn)在是新墨西哥大學(xué)的榮譽退休教授。

在任教期間,Nasir同時還是桑迪亞國家實驗室的顧問(1976~1990),這所實驗室歸屬于霍尼韋爾公司,專注于與大學(xué)和公司合作進(jìn)行科技創(chuàng)新。

DCT是Nasir一生中最重要的成就。

20世紀(jì)70年代中期,Nasir在堪薩斯州立大學(xué)帶領(lǐng)一組研究人員開發(fā)了DCT技術(shù)。

DCT是世界上應(yīng)用最廣泛的數(shù)據(jù)壓縮轉(zhuǎn)換技術(shù),同時也是大多數(shù)數(shù)字媒體標(biāo)準(zhǔn)(圖像、視頻和音頻)的基礎(chǔ)。

DCT是如何被創(chuàng)造出來的?

在上世紀(jì)60~70年代,關(guān)于數(shù)字正交變換及其在圖像數(shù)據(jù)壓縮中應(yīng)用的研究層出不窮。許多變換聲稱與其他變換相比具有更好的性能,但這些對比全部是建立在定性比較的基礎(chǔ)上,即查看一組使用變換編碼技術(shù)進(jìn)行數(shù)據(jù)壓縮的“標(biāo)準(zhǔn)”圖像。

同一時期,在定量比較方面取得了重要進(jìn)展。方差準(zhǔn)則(variance criterion)和率失真標(biāo)準(zhǔn)(rate distortion criterion)被開發(fā)出來并廣泛用于評估圖像數(shù)據(jù)壓縮的性能指標(biāo)。此外,KLT(Karhunen-Loeve transform,K-L變換)一躍成為用作比較目的的最優(yōu)變換。

正是在這樣的技術(shù)背景下,Nasir才能開始著手解決DCT問題。

Nasir發(fā)現(xiàn),KLT確實是基于均方誤差準(zhǔn)則和一階馬爾科夫模型的最佳變換,但是卻缺少有效算法來計算它。于是,如何有效計算 KLT 的最佳近似值成為了他的研究重點。

他當(dāng)時想到一種值得研究的方法——切比雪夫插值。1972年,他將這一想法寫成一份提案,提交給了美國國家科學(xué)基金會(NSF),希望獲得該基金會的資助。在提案中,Nasir提出使用切比雪夫多項式來研究“余弦變換”——也就是后來大名鼎鼎的DCT:

f19c9d0a-fe6f-11eb-9bcf-12bb97331649.png

但令他非常失望的是,NSF 并沒有為該提案提供資金,其中一位審查者給出的原因竟然是“太簡單”。

不過Nasir并沒有放棄,他找到了他的博士生T. Natarajan和他的朋友K.R.Rao,1973年的整個夏天,他們都在研究這一問題。最終,他們的研究有了結(jié)果,但這個結(jié)果好得讓Nasir不敢相信。正巧之后Nasir要和Harry Andrews(美國數(shù)學(xué)家)一起出席新奧爾良的一個數(shù)學(xué)會議,所以Nasir決定在會上向他請教。

Harry Andrews建議Nasir使用率失真標(biāo)準(zhǔn)來檢查這個“余弦變換”的性能,并發(fā)給他一個計算機程序幫助他計算結(jié)果。

最終,結(jié)果再次表明,DCT變換比其他所有變換都表現(xiàn)得更好,在性能上也與KLT十分接近。隨后Harry Andrews建議Nasir發(fā)表這一成果。Nasir聽從了他的建議,將論文以信件的形式發(fā)給了IEEE Computer Transactions(IEEE的通訊期刊),并在1974年1月獲得發(fā)表。

據(jù)Nasir后來回憶,當(dāng)初誰也沒有想到DCT會在未來造成如此大的轟動。

DCT的重要性和其被發(fā)現(xiàn)的時間遠(yuǎn)不匹配,以至于Gilbert Strang在一篇1999年的論文中寫道:“離散問題是如此之尋常,而且?guī)缀跏且粋€不可避免的問題,而讓人異常驚訝的一個事實在于,業(yè)界直到1974年才由Nasir Ahmed等人發(fā)現(xiàn)了DCT。”最近也有一些研究證據(jù)表明,雖然DCT由 Ahmed 等人開發(fā)是一個無可置疑的事實,但馮諾依曼(John von Neumann)在1941年左右也對DCT做了一些開創(chuàng)性的研究,不過馮諾依曼自身可能并未意識到其重要性。

DCT的實現(xiàn)簡介

DCT有8種形態(tài),我們通常所說的DCT,其實指的是DCT-II,其對應(yīng)的反變換是DCT-III。DCT-II、DCT-III的原始定義非常簡單:

f1b7c9c2-fe6f-11eb-9bcf-12bb97331649.png

其中:X:X 是DCT輸出.x:x 是DCT輸入.k:k 是計算結(jié)果的輸出數(shù)據(jù)索引, 從 0 to N?1N:N 變換元素的數(shù)目.s:s是縮放函數(shù), 除去s(0)=0.5,其他s(y)=1

原始的N點的DCT-II變換算法最樸素的實現(xiàn)大概可以這樣:

void dct_ii(int N, const double x[], double X[]) { for (int k = 0; k 《 N; ++k) { double sum = 0.; double s = (k == 0) ? sqrt(0.5) : 1.; for (int n = 0; n 《 N; ++n) { sum += s * x[n] * cos(PI * (n + 0.5) * k / N); } X[k] = sum * sqrt(2.0 / N); }}

隨后,DCT的一些快速算法陸續(xù)被開發(fā)出來,其中最引入注目的大概是LLM DCT(LLM 來自于三位對應(yīng)算法的作者:Loeffler、Ligtenberg和 Moschytz,其論文“Practical Fast 1-D DCT Algorithms with 11 Multiplications”)和AAN DCT(AAN 的名字也來自于三位算法作者: Arai、Agui 和 Nakajima,其對應(yīng)的論文是“A fast DCT-SQ scheme for images”)。

LLM DCT的算法流程如下:

f1db842a-fe6f-11eb-9bcf-12bb97331649.png

它引入了非常經(jīng)典的蝶形:

f1f1de64-fe6f-11eb-9bcf-12bb97331649.png

需要注意的是,LLM DCT的算法論文中,蝶形圖的標(biāo)識說明里面還有一個明顯的錯誤在上面,其描述中,O1 均出現(xiàn)兩次,明顯第一個應(yīng)該是O0。

AAN DCT的計算流程如下,該算法使用了五個乘法(加上八個用于縮放的后乘法,文章中認(rèn)為這不算,因為它們可以被移到后面的量化矩陣中被平攤掉)。

以H.264標(biāo)準(zhǔn)為例,它實際上是把DCT 變換和后續(xù)的量化放在了一起,以減輕DCT變換計算的復(fù)雜度,所以有時候看H.264的DCT變換系數(shù),你甚至第一眼很難想象它其實是個DCT的變換;從H.264的時代開始,DCT的變換開始使用整數(shù)變換,避免類似MPEG2年代因不同DCT、IDCT實現(xiàn)精度帶來的編碼、解碼不完全匹配的問題。

DCT的應(yīng)用

DCT的去相關(guān)和能量壓縮特性使其在圖像和視頻壓縮中極具吸引力。Karhunen-Loève變換(KLT)通常被稱為理想變換,具有更好的去重特性,但在計算上是難以解決的。另一方面,DCT很容易編程,這使得它迅速占領(lǐng)了圖像和視頻壓縮領(lǐng)域?,F(xiàn)在常見的圖片、視頻壓縮,如JPEG、H.26X、MPEG等,都用到了DCT。

圖像

Nasir近況

今年二月份,在熱播美劇《我們的生活》(This is Us)第5季第8集中,穿插了一段“艾哈邁德夫婦的故事”。這段故事取材于現(xiàn)實,講述的正是Nasir和他的太太Esther之間發(fā)生的事。兩人是新墨西哥大學(xué)的校友,在一次大學(xué)國際學(xué)生聚會中偶然結(jié)識并相戀,然后步入了婚姻殿堂,并且一直相知相守到今天。2018年,Nasir和Esther還出版了一本講述他們生活故事的限量版圖書——Parallel Lives In Curved Space。去年,兩人慶祝了他們的結(jié)婚56周年紀(jì)念日。

《我們的生活》劇組工作人員正在和Nasir、Esther視頻對話

為什么要在《我們的生活》劇集中穿插這樣一段故事?

原來導(dǎo)演是想通過這個故事向DCT技術(shù)的發(fā)明者Nasir Ahmed致敬。如果沒有Nasir,劇中的皮爾森一家不可能在新冠疫情期間通過視頻會話保持聯(lián)系,慰藉彼此。

現(xiàn)實中的我們也是一樣。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1083

    瀏覽量

    40449
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    940

    瀏覽量

    54813
  • DCT
    DCT
    +關(guān)注

    關(guān)注

    1

    文章

    56

    瀏覽量

    19869
  • mpeg2
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    8468

原文標(biāo)題:DCT如此重要,作者當(dāng)初竟然不知道?

文章出處:【微信號:xunwei201508,微信公眾號:訊維官方公眾號】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    dct變換的主要優(yōu)點有哪些

    中的少數(shù)幾個系數(shù)中,從而實現(xiàn)高效的壓縮。以下是DCT變換的一些主要優(yōu)點: 能量壓縮 :DCT的一個顯著優(yōu)點是它能夠?qū)D像的能量集中在變換后的低頻系數(shù)中。這意味著圖像中最重要的信息(通常是圖像的主要特征)被保留在少數(shù)幾個系數(shù)中,
    的頭像 發(fā)表于 09-30 16:30 ?466次閱讀

    請問lmh6554/6552只畫雙層板能滿足需要嗎?

    layout example好像給的是六層板的示例。。新手還不會畫那么復(fù)雜的,想問兩層板設(shè)計能滿足一般需要嗎 器件layout參考datasheet里的來,應(yīng)該不會出什么問題吧?
    發(fā)表于 08-27 08:10

    請問STM32F407 USB的FIFO究竟有多少空間?

    FIFO 連接。但是另一方面,在CSR存儲器映射圖中,一個主機通道的 FIFO地址范圍為 0x1000 (4KB),并且主機模式下有8個這樣的通道。所以真搞不明白究竟 FIFO真正有多少空間?
    發(fā)表于 07-04 07:46

    請問ESP32-U4WDH的ESP32-MINI-1模組85℃版和105℃的區(qū)別是什么?

    如題:ESP32-U4WDH的ESP32-MINI-1模組85℃版和105℃的區(qū)別 這兩個模組,85℃和105℃究竟有哪些區(qū)別?包括工藝、功能、價格的區(qū)別?
    發(fā)表于 07-02 06:37

    在項目“backup_fw” 中手動設(shè)定application img地址有必要嗎?

    在項目“backup_fw” 中手動設(shè)定applicationimg 地址有必要嗎,還是不需要勾選,若勾選了,這個地址的值是根據(jù)什么設(shè)定的,謝謝!
    發(fā)表于 06-03 06:44

    逆變電源是交流是直流重要嗎,深循環(huán)電池

    與任何設(shè)備一樣,了解其工作原理才能安全使用它非常重要。電源逆變器上有輸入和輸出端口,用于正確連接和連接電器。如果出現(xiàn)錯誤,您的逆變器將無法工作,甚至?xí)斐砂踩[患。您想知道逆變器是交流還是直流
    的頭像 發(fā)表于 05-29 09:15 ?669次閱讀
    逆變電源是交流是直流<b class='flag-5'>重要嗎</b>,深循環(huán)電池

    PCBA焊前預(yù)熱與焊后熱處理到底有多重要

    過程中,預(yù)熱是一個異常重要的步驟,特別是在自動化生產(chǎn)和大量生產(chǎn)中更為必要。那么,PCBA焊接前的預(yù)熱究竟有多重要呢? PCBA波峰焊接之前進(jìn)行預(yù)熱的目的 首先,預(yù)熱可以有效防止PCBA板的失真和變形。在整個PCB板制作過程中,種
    的頭像 發(fā)表于 05-24 09:40 ?512次閱讀

    STM32的DAC輸出有個BUFFER功能,BUFFer的驅(qū)動能力究竟有多大,普通的運放輸出可以嗎?驅(qū)動LED可以嗎?

    DAC是輸出模擬電壓給外界參考,STM32的DAC輸出有個BUFFER功能,但不知這個BUFFer的驅(qū)動能力究竟有多大,普通的運放輸出可以嗎?驅(qū)動LED可以嗎?有沒有人做過這塊,給個建議,因為最近要設(shè)計個DAC輸出調(diào)節(jié)運放輸出,希望能有個參考。 如果外接跟隨的話,用LM358可以嗎?請一起討論下!??!
    發(fā)表于 05-15 07:42

    共模電感選型依據(jù)究竟有哪些

    電子發(fā)燒友網(wǎng)站提供《共模電感選型依據(jù)究竟有哪些.docx》資料免費下載
    發(fā)表于 05-06 10:26 ?1次下載

    SMT貼片加工中元器件移位的原因究竟有哪些?

    ,元器件移位的問題仍然時有發(fā)生。那么,造成SMT貼片加工中元器件移位的原因究竟有哪些呢?接下來深圳佳金源錫膏廠家來講一下:首先,貼片機吸嘴的氣壓是影響元器件位置的重要
    的頭像 發(fā)表于 04-26 16:00 ?562次閱讀
    SMT貼片加工中元器件移位的原因<b class='flag-5'>究竟有</b>哪些?

    貼片功率電感究竟有沒有正負(fù)極之分

    電子發(fā)燒友網(wǎng)站提供《貼片功率電感究竟有沒有正負(fù)極之分.docx》資料免費下載
    發(fā)表于 02-28 10:15 ?0次下載

    pcb應(yīng)變測試有多重要?一文了解!

    pcb應(yīng)變測試有多重要?一文了解!
    的頭像 發(fā)表于 02-24 16:26 ?1078次閱讀

    什么是DMA?DMA究竟有多快!

    助于提高數(shù)據(jù)傳輸速度和系統(tǒng)效率。 那么,DMA究竟有多快呢? 實踐出真知 恰好,最近有個多通道數(shù)據(jù)采集的項目,受限于通道數(shù)多、分辨率高,而系統(tǒng)帶寬有限,為了盡可能充分利用有限帶寬,就得想辦法優(yōu)化時序,把時間都留給數(shù)據(jù)采集和傳輸。 優(yōu)化方向就是DMA。 硬件鏈路是A
    的頭像 發(fā)表于 02-22 10:43 ?2007次閱讀
    什么是DMA?DMA<b class='flag-5'>究竟有</b>多快!

    dct變速箱和at變速箱哪個更好?

    dct變速箱和at變速箱各有優(yōu)勢,無法直接給出準(zhǔn)確的回答說哪個更好,可以根據(jù)個人駕駛需求和偏好以及預(yù)算考慮。在決定DCT(雙離合變速箱)和AT(自動變速箱)之間哪個更好之前,我們需要理解這兩種變速箱
    的頭像 發(fā)表于 01-17 09:45 ?1440次閱讀

    坐標(biāo)系在動態(tài)SLAM中究竟有多重要?

    大多同時定位于建圖(SLAM)系統(tǒng)在傳統(tǒng)上假定的都是靜態(tài)世界,這與現(xiàn)實世界的場景不符。
    的頭像 發(fā)表于 01-05 13:46 ?881次閱讀
    坐標(biāo)系在動態(tài)SLAM中<b class='flag-5'>究竟有</b><b class='flag-5'>多重要</b>?
    RM新时代网站-首页