變換編碼(DCT)基本理解

2021-10-04 07:25:46 字數 869 閱讀 2608

影象變換編碼是指將以空間域中畫素形式描述的影象轉換至變換域,以變換係數的形式加以表示。

大部分影象是平坦區域和內容變換緩慢的區域,即大部分是直流和低頻,高頻比較少,所以適當的變換可以使影象能量在空間域的分散分布轉換為在變換域的相對集中分布,以達到去除冗餘的目的,結合量化,「z」掃瞄和熵編碼等其他編碼技術,可以獲得對影象資訊的有效壓縮。

dct變換的基本思路是將影象分解為8×8的子塊或16×16的子塊,並對每乙個子塊進行單獨的dct變換,然後對變換結果進行量化、編碼。隨著子塊尺寸的增加,演算法的複雜度急劇上公升,因此,實用中通常採用8×8的子塊進行變換,但採用較大的子塊可以明顯減少影象分塊效應。

目前dct是構成主流緩和編碼框架的一項基本技術,因為dct變換形式與輸入訊號無關且存在快速實現演算法,hevc沿用了h264的整數dct,並進行了不同尺寸變換形式推廣,此外,為適應不同**方式下殘差的分布情況,hevc還引入了dst離散正弦變換。

傅利葉變換表明,任何訊號都能表示為多個不同振幅和頻率的正弦波和余弦波訊號的疊加,如果採用的是余弦就是余弦變換,若輸入訊號是離散的就是離散余弦變換。

下圖給出了二維8*8dct基影象,其中左上角小影象表示水平和垂直空間頻率均為0時的基影象,在任一方向都木有灰度值的變化;其餘小影象分別對應於不同水平和垂直空間頻率的基影象,如基影象右下角小影象對應於最高的水平和垂直頻率,這裡畫素灰度在水平和垂直方向發生連續變化,因此離散余弦變換可以解釋為:將任一8*8畫素塊表示為下圖的64個基影象中子畫素塊的加權和,其權值即為對應位置的dct係數。

hevc使用了4種不同尺寸的整數dct,分別為4*4、8*8、16*16、32*32

DCT變換編碼及C語言實現

離散余弦變換 discrete cosine transform,簡稱dct變換 是一種與傅利葉變換緊密相關的數 算。在傅利葉級數展開式中,如果被展開的函式是實偶函式,那麼其傅利葉級數中只包含余弦項,再將其離散化可匯出余弦變換,因此稱之為離散余弦變換。3 具有較強的抗干擾能力,傳輸過程中的誤碼對影象...

關於DCT變換的理解 0

首先,dct變換是jpeg用的壓縮方式,學習的時候以jpeg影象壓縮流程為展開來學,脈絡比較清晰。1.jpeg影象壓縮流程,dct演算法 和 編碼 是兩個難點。這篇文章介紹了每個步驟 2.dct部分 分塊 dct變換 量化 比較難理解的知識點 基函式 1個二維變換 2個一維變換 用矩陣表示二維變換 ...

H 264編碼之DCT變換公式推導

dct變換是一種與fft變換緊密相連的數 算,當函式為偶函式是,其傅利葉展開式只有余弦項,因些稱為 余弦變換,其離散化的過程稱為dct 離散余弦 變換。下面我們就推導下h.264的4x4整數dct公式。首先給出dct變換的定義,其變換公式可以寫成 y axa t 這裡a為單位正交距陣,滿足 i aa...