基於頻譜的圖像分層編解碼方法及系統的製作方法
2023-06-09 18:40:36 2
專利名稱:基於頻譜的圖像分層編解碼方法及系統的製作方法
技術領域:
本發明涉及視頻圖像壓縮,具體涉及一種基於頻譜的圖像分層編解碼 方法及系統。背景技術:
網際網路和電信網絡的迅速發展為數字圖像的傳輸提供了必要條件,但 是不同接入方式其傳輸帶寬有很大的差別,因此,研究具有可伸縮性的視 頻編碼方法具有重要的意義。可伸縮性的編碼是指同一編碼源可以隨著接 入方式的不同,提供不同質量的數字圖像。分層編碼方法將數字圖像按照 人眼視覺特性對不同頻率分量信息的敏感度不同,將圖像信息分量分為不 同的層次,這樣就能適應不同的網絡帶寬,從而根據帶寬情況進行碼流調 節,即帶寬高時,傳輸全部層次,帶寬低時,只傳輸部分層次。或者說, 根據帶寬情況傳輸質量儘可能好的視頻圖像,當網絡出現擁塞時有選擇地 丟棄低優先級的信息,在給定的信道帶寬的條件下提供儘可能高質量的圖 像內容。已有的技術方案如下將圖像幀劃分為分塊,對各分塊進行空間 域至頻率域變換,獲得與圖像像素值相對應的頻率係數陣列,按頻譜劃分 由低至高的多個頻段,將頻率係數陣列相應地劃分為對應於各頻段的多個 係數區域,然後按照頻段的選取來劃分層次,對各係數區域的數據進行編 碼,其中,傳輸所編碼的頻段數根據解碼端的要求來確定。由於圖像從空 間域變換到頻率域後所產生頻率係數的主要成分集中於範圍較小的低頻部 分,即頻譜中的能量主要集中在低頻段,而高頻段分布的能量小,因此, 對頻率分段後,選取視覺敏感的那些低頻段,保留傳輸頻譜中主要的頻率 分量,而有選擇地捨去視覺不敏感的高頻段,從而實現圖像分層編碼。
編解碼利用參考圖像來實現數據的有效壓縮,而現有的分層編解碼方 案的一個根本缺點是解碼端和編碼端的參考圖像選取不一致帶來的問題。 所謂參考圖像通常是指前一幀圖像,由於前後幀傳輸的圖像具有較高的相 關性,當前圖像幀的很多內容都可由前一幀的某個塊移動過來,因此使用 編碼參考圖像編碼時可只用很少的比特,而解碼時則以解碼參考圖像為基 礎對解碼出的數據進行復原。現有方案中,編解碼參考圖像均設置在空間域,編碼端將當前圖像幀各分塊對比編碼參考圖像幀中的參考塊(根據運 動矢量確定)取殘差,並對各分塊轉換到頻率域的各個殘差頻率係數陣列
的所有頻段進行編碼;在解碼端,以前次解碼出的數據轉換至空間域後作 為解碼參考圖像,採用分層編碼時,解碼端只接收、解碼各個殘差頻率系 數陣列一部分低頻段的編碼數據,這部分編碼數據的頻段可能只與解碼參 考圖像很少一部分內容相關。這就會引起所取用的解碼參考圖像不合適的 問題,導致解碼參考圖像與編碼參考圖像的不一致,從而產生漂移現象, 造成誤差積累,最終使分層編碼效果變差。
發明內容
本發明所要解決的技術問題就是克服現有技術的上述缺陷,提供一種 基於頻譜的圖像分層編解碼方法及系統,能夠有效避免編解碼參考圖像的 不一致所造成的誤差累積。
為實現上述目的,本發明提供一種基於頻譜的圖像分層編解碼方法, 包括編碼步驟和解碼步驟,其特徵在於,編碼步驟包括
Al、將當前圖像幀劃分為多個分塊,並將各分塊與相應的編碼參考塊 進行比較,獲得分塊殘差;
Bl、將各分塊殘差從空間域轉換至頻率域,得到各分塊殘差在頻率域 的殘差頻率係數陣列,並進行量化;
Cl、將各殘差頻率係數陣列統一划分為頻率由低至高的N個頻段並按 頻段進行編碼;
解碼步驟包括
Dl、將解碼參考塊從空間域轉換至頻率域,得到所述解碼參考塊在頻 率域的頻率係數陣列,並劃分為頻率由低至高的N個頻段;
El、如果編碼端只向解碼端傳輸前n個頻段,接收各殘差頻率係數陣 列前n個頻段的編碼數據,將所述解碼參考塊在頻率域的頻率係數陣列大 於n的頻段置零,生成解碼參考頻率係數陣列,其中n小於N;
Fl、根據接收到的低頻段編碼數據解碼出各殘差頻率係數陣列,並分 別與所述解碼參考頻率係數陣列疊加;
Gl、將各自疊加的結果從頻率域轉換至空間域,生成解碼圖像幀;
辨述編碼參考塊和解碼參考塊分別為編碼參考圖像幀和解碼參考圖 像幀中根據運動矢量確定的分塊。
優選的,所述步驟B1和D1中,所述空間域至頻率域的轉換通過離散 餘弦變換實現,所述步驟Gl中,所述頻率域至空間域的轉換通過反離散餘弦變換實現。
為實現上述目的,本發明還提供一種基於頻譜的圖像分層編解碼系統, 包括編碼器和解碼器,其特徵在於,所述編碼器包括
圖像劃分模塊,用於將當前圖像幀劃分為多個分塊;
分塊殘差獲取模塊,用於獲取各分塊與編碼參考塊的分塊殘差,所述 編碼參考塊為編碼參考圖像幀中根據運動矢量確定的分塊;
第一變換模塊,用於將各分塊殘差從空間域轉換至頻率域,得到各分 塊殘差在頻率域的殘差頻率係數陣列;
第一頻段劃分模塊,用於將各殘差頻率係數陣列統一划分為頻率由低 至高的N個頻段,其中N為自然數;
編碼處理模塊,用於對各頻率係數陣列的各頻段進行編碼;
所述解碼器包括-
第二變換模塊,用於將解碼參考塊從空間域轉換至頻率域,得到所述 解碼參考塊在頻率域的頻率係數陣列,所述解碼參考塊為解碼參考圖像幀 中根據運動矢量確定的分塊;;
第二頻段劃分模塊,用於將所述解碼參考塊在頻率域的頻率係數陣列 劃分為頻率由低至高的N個頻段;
解碼參考頻率係數陣列生成模塊,用於當解碼器只接收前n個頻段時, 將所述解碼參考塊在頻率域的頻率係數陣列中大於n的頻段置零以得到解 碼參考頻率係數陣列,其中n為所述解碼器接收到的各殘差頻率係數陣列 的頻段數,且n小於N;
解碼處理模塊,用於解碼所接收到的各殘差頻率係數陣列的低頻段編 碼數據;
復原處理模塊,用於將所述解碼處理模塊對各頻率係數陣列的解碼結 果分別與所述解碼參考頻率係數陣列疊加;
第三變換模塊,用於將所述復原處理模塊的疊加結果從頻率域轉換至 空間域以生成解碼圖像幀。
優選的,所述第一、二變換模塊為實現離散餘弦變換的模塊,所述第 三變換模塊為實現反離散餘弦變換的模塊。
本發明的有益效果是
本發明突破了以往以空間域的像素圖像作為參考圖像的傳統做法,巧 妙地將解碼參考圖像放在變換域裡,即將解碼參考圖像在頻率域的頻率系 數陣列作為解碼參考,由於在頻率域中設置參考陣列等價於在空間域中設置參考圖像,故可以用來解決編、解碼參考圖像選取不一致的問題。解碼 過程中,先將解碼參考塊變換到頻率域以獲得解碼參考頻率係數陣列,其
中解碼參考塊由解碼參考圖像幀根據運動矢量確定;對於編碼端各殘差頻 率係數陣列存在著N個頻段數據但只傳輸前面n個的低頻段數據的情況, 將解碼參考頻率係數陣列大於n的頻段置零,即只保留其前n個頻段的系 數,再分別與各解碼出的殘差頻率係數陣列疊加,這樣,解碼端每次只取 用解碼參考塊在頻率域中相應n個的頻段內容作為圖像復原的參考,從而 保持編、解碼端參考圖像選取的一致性,消除了漂移現象,避免了誤差的 累積。
另一方面,在頻率域中設置解碼參考塊還大大方便運動補償搜索過 程,使本發明中的編碼器較以往的編碼器幾乎未增加複雜度且保持同樣的 編碼效率。
圖1分別為本發明的圖像分層編、解碼的流程圖2a至圖2e為一種實施例中的圖像分塊及域變換示意圖3為一種實施例中各圖像分塊頻率係數陣列的頻段劃分示意圖4為一種實施例中解碼參考頻率係數陣列參與解碼的頻段選擇示意圖。
具體實施方式
本發明的特徵及優點將通過實施例結合附圖進行詳細說明。
請參考圖l,編碼流程包括
步驟Sll、將當前圖像幀劃分為多個分塊;
步驟S12、通過運動補償搜索,根據運動矢量在編碼參考圖像幀中選 取編碼參考塊;
步驟S13、將當前圖像幀的各分塊與相應的編碼參考塊進行比較,獲 得分塊殘差;
步驟S14、將各分塊殘差從空間域轉換至頻率域,得到各分塊殘差在 頻率域的殘差頻率係數陣列,並進行量化;
步驟S15、將各殘差頻率係數陣列統一划分為頻率由低至高的N個頻
段;
步驟S16、將各殘差頻率係數陣列的所有頻段進行編碼。 解碼流程包括步驟S21、通過運動補償搜索,根據運動矢量在解碼參考圖像幀中選 取解碼參考塊;
步驟S22、將解碼參考塊從空間域轉換至頻率域,得到解碼參考塊在 頻率域的頻率係數陣列;
步驟S23、將解碼參考塊在頻率域的頻率係數陣列劃分為頻率由低至 高的N個頻段;
步驟S24、如果編碼端只向解碼端傳輸前n個頻段,接收來自編碼端 的各殘差頻率係數陣列的前n個頻段的編碼數據,其中n小於N;
步驟S25、將解碼參考塊在頻率域的頻率係數陣列大於n的頻段置零, 生成解碼參考頻率係數陣列;
步驟S26、根據接收到的低頻段編碼數據解碼出各殘差頻率係數陣列, 並分別與解碼參考頻率係數陣列疊加;
步驟S27、將各自疊加的結果從頻率域轉換至空間域,生成解碼圖像
幀;
編碼參考塊和解碼參考塊分別為編碼參考圖像幀和解碼參考圖像幀 中的分塊。顯然,步驟S21、步驟S22和步驟S23也可以放在步驟S24之 後,而步驟S26中的解碼也可以放在步驟S24之後、解碼數據與解碼參考 頻率係數陣列疊加之前的任意位置。
在編碼端,圖2a至圖2e展示了圖像幀分塊以及從空間域轉換至頻率
域的過程。首先,對當前圖像幀進行橫向和縱向切割,形成若干個分塊, 每個分塊包含8X8=64個像素。接著,以8X8像素的分塊作基本操作單元, 例如圖2a中的分塊A,依次處理其中每個像素(即取樣點)的取樣數值, 如可對各個像素的亮度值(或色度值)取樣。接著,將分塊A與編碼參考 塊進行比較,獲取其與編碼參考塊的殘差,如圖2c所示。由圖2c到圖2d, 對分塊殘差進行空間域至頻率域的域變換。本實施例對空間域至頻率域採 用常用的離散餘弦變換(Discrete Cosine Transform,簡稱為DCT),利 用DCT變換可將亮'度值轉變為頻率域的頻率係數值,從而獲得與分塊殘差 的像素亮度值陣列對應的殘差頻率係數陣列。接下來完成量化處理。對於 上述8X8=64陣列來說,轉換後得到如圖2 d所示的包含64個頻率係數的 矩形陣列。此時,64個像素點的亮度值組成的陣列變為了一個直流平均 值和63個不同頻率的餘弦波幅值(頻率係數值)組成的64個點陣列。陣 列中左上角的頻率係數值較大,而右下角的頻率係數值較小,且趨近於零值。左上角代表了圖像信息的直流成分和低頻分量,它是圖像信息的主體
部分,也是分塊內信息的主要部分;而右下角代表了圖像信息的高頻分量, 其幅值原本就比較小,它主要反映圖像的細節部分。人眼對圖像信息的低 頻分量具有較高的視覺靈敏度,如圖2 e所示,按Z字形(Zigzag)掃描 後所形成的頻率數據系列,恰好與人眼睛對圖像信息的敏感程度形成良好 的對應關係。
請參考圖3,將各殘差頻率係數陣列相應地劃分為由低至高的8個頻 段。如圖3中所示的Z字形掃描,第1至第7頻段(參見數字標號1 7) 分別對應於圖中從左上角往右下角各條帶箭頭的斜線依次覆蓋的區域,第 8頻段(參見數字標號8)對應於圖中右下部分箭頭首尾相接的各條連線所 覆蓋的區域。從低頻至高頻,各殘差頻率係數陣列共有8個供分層編碼的 頻段。
接著,對各殘差頻率係數陣列的所有頻段進行編碼處理(如遊程編碼、 熵編碼)。編碼處理後,可按照解碼端的要求傳輸各殘差頻率係數陣列的前 n個頻段(即從第l至第n個頻段,n小於8)的編碼數據。本實施例選取 了前3個頻段。
在解碼端,從解碼參考圖像幀中選取解碼參考塊後,將解碼參考塊從 空間域轉換至頻率域,得到解碼參考塊在頻率域的頻率係數陣列,將解碼 參考塊在頻率域的頻率係數陣列劃分為頻率由低至高的8個頻段,該過程 與前述的當前圖像幀各分塊的處理是相同的。
請參考圖4,解碼端接收到的來自編碼端各殘差頻率係數陣列的前3 個頻段的編碼數據時,將解碼參考塊在頻率域的頻率係數陣列後5個頻段 的內容置零,生成解碼參考頻率係數陣列。
然後,根據接收到的低頻段編碼數據解碼出各殘差頻率係數陣列,將 解碼出的內容分別與解碼參考頻率係數陣列疊加。
最後,利用反離散餘弦變換,將各自疊加的結果從頻率域轉換至空間 域,生成解碼圖像幀。
本實施例中,編碼端共有8個編碼層次可選。n的具體取值可根據解 碼端的需求、網絡的帶寬等因素靈活確定。
作為本發明的另一方面,還公開了一種基於頻譜的圖像分層編碼系統, 它包括編碼器和解碼器。
編碼器包括如下部分圖像劃分模塊,用於將當前圖像幀劃分為多個分塊;
分塊殘差獲取模塊,用於獲取各分塊與編碼參考塊的分塊殘差,編碼 參考塊為編碼參考圖像幀中根據運動矢量確定的分塊;
第一變換模塊,用於將各分塊殘差從空間域轉換至頻率域,得到各分 塊殘差在頻率域的殘差頻率係數陣列;
第一頻段劃分模塊,用於將各殘差頻率係數陣列統一划分為頻率由低 至高的N個頻段,其中N為自然數;
編碼處理模塊,用於對各頻率係數陣列的各頻段進行編碼。 解碼器包括如下部分
第二變換模塊,用於將解碼參考塊從空間域轉換至頻率域,得到解碼 參考塊在頻率域的頻率係數陣列,解碼參考塊為解碼參考圖像幀中根據運 動矢量確定的分塊;
第二頻段劃分模塊,用於將解碼參考塊在頻率域的頻率係數陣列劃分 為頻率由低至高的N個頻段;
解碼參考頻率係數陣列生成模塊,用於當解碼器只接收前n個頻段時, 將解碼參考塊在頻率域的頻率係數陣列中大於n的頻段置零以得到解碼參 考頻率係數陣列,其中n為解碼器接收到的各殘差頻率係數陣列的低頻段 頻段數,且n小於N;
解碼處理模塊,用於解碼所接收到的各殘差頻率係數陣列的低頻段編 碼數據;
復原處理模塊,用於將解碼處理模塊對各頻率係數陣列的解碼結果分 別與解碼參考頻率係數陣列疊加;
第三變換模塊,用於將復原處理模塊的疊加結果從頻率域轉換至空間 域以生成解碼圖像幀。
優選的,第一、二變換模塊為實現離散餘弦變換的模塊,第三變換模 塊為實現反離散餘弦變換的模塊。
本發明使用頻率域(如DCT、或類似DCT)的參考圖像或參考塊。
本發明突破了以往以空間域的像素圖像作為參考圖像的傳統做法,巧 妙地將解碼參考圖像放在變換域裡,以解碼參考圖像在頻率域的頻率係數 陣列作為解碼端的參考,解碼過程中,先將解碼參考圖像幀的解碼參考塊 變換到頻率域以獲得解碼參考頻率係數陣列,對於編碼端各殘差頻率係數 陣列存在著N個頻段數據但只傳輸前面n個的低頻段數據的情況,將解碼 參考頻率係數陣列大於n的頻段置零,只保留其前n個頻段的係數,再分別與各解碼出的殘差頻率係數陣列疊加,這樣,解碼端每次只取用解碼參 考塊在頻率域中相應的頻段內容作為圖像復原的參考,從而保持編、解碼 端參考圖像選取的一致性,消除了漂移現象,避免了誤差的累積。同時, 與以往編碼方法的計算複雜度相比較,本發明基於頻譜的分層編碼方法幾 乎沒有增加計算複雜度,因此更是一種高效的分層編碼方法。
以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說 明,不能認定本發明的具體實施只局限於這些說明,例如,本發明不限於
劃分8個頻段,只要是在變換域進行的分段並利用變換域參考圖像的方案, 均在本專利的保護範圍。對於本發明所屬技術領域的普通技術人員來說, 在不脫離本發明構思的前提下,所做的若干簡單推演或替換,都應當視為 屬於本發明的保護範圍。
權利要求
1. 一種基於頻譜的圖像分層編解碼方法,包括編碼步驟和解碼步驟,其特徵在於,編碼步驟包括A1、將當前圖像幀劃分為多個分塊,並將各分塊與相應的編碼參考塊進行比較,獲得分塊殘差;B1、將各分塊殘差從空間域轉換至頻率域,得到各分塊殘差在頻率域的殘差頻率係數陣列,並進行量化;C1、將各殘差頻率係數陣列統一划分為頻率由低至高的N個頻段並按頻段進行編碼;解碼步驟包括D1、將解碼參考塊從空間域轉換至頻率域,得到所述解碼參考塊在頻率域的頻率係數陣列,並劃分為頻率由低至高的N個頻段;E1、如果編碼端只向解碼端傳輸前n個頻段,則接收各殘差頻率係數陣列前n個頻段的編碼數據,並將所述解碼參考塊在頻率域的頻率係數陣列大於n的頻段置零,生成解碼參考頻率係數陣列,其中n小於N;F1、根據接收到的編碼數據解碼出各殘差頻率係數陣列,並分別與所述解碼參考頻率係數陣列疊加;G1、將各自疊加的結果從頻率域轉換至空間域,生成解碼圖像幀;所述編碼參考塊和解碼參考塊分別為編碼參考圖像幀和解碼參考圖像幀中根據運動矢量確定的分塊。
2. 如權利要求1所述的圖像分層編碼方法,其特徵在於所述步驟 B1和D1中,所述空間域至頻率域的轉換通過離散餘弦變換實現,所述步 驟G1中,所述頻率域至空間域的轉換通過反離散餘弦變換實現。
3. —種基於頻譜的圖像分層編解碼系統,包括編碼器和解碼器,其 特徵在於,所述編碼器包括圖像劃分模塊,用於將當前圖像幀劃分為多個分塊;分塊殘差獲取模塊,用於獲取各分塊與編碼參考塊的分塊殘差,所述 編碼參考塊為編碼參考圖像幀中根據運動矢量確定的分塊;第一變換模塊,用於將各分塊殘差從空間域轉換至頻率域,得到各分 塊殘差在頻率域的殘差頻率係數陣列;第一頻段劃分模塊,用於將各殘差頻率係數陣列統一划分為頻率由低至高的N個頻段,其中N為自然數;以及編碼處理模塊,用於對各頻率係數陣列的各頻段進行編碼; 所述解碼器包括第二變換模塊,用於將解碼參考塊從空間域轉換至頻率域,得到所述 解碼參考塊在頻率域的頻率係數陣列,所述解碼參考塊為解碼參考圖像幀 中根據運動補償確定的分塊;;第二頻段劃分模塊,用於將所述解碼參考塊在頻率域的頻率係數陣列 劃分為頻率由低至高的N個頻段;解碼參考頻率係數陣列生成模塊,用於當解碼器只接收前n個頻段時, 將所述解碼參考塊在頻率域的頻率係數陣列中大於n的頻段,置零以得到 解碼參考頻率係數陣列,其中n為所述解碼器接收到的各殘差頻率係數陣 列的頻段數,且n小於N;解碼處理模塊,用於解碼所接收到的各殘差頻率係數陣列的低頻段編 碼數據;復原處理模塊,用於將所述解碼處理模塊對各頻率係數陣列的解碼結 果分別與所述解碼參考頻率係數陣列疊加;以及第三變換模塊,用於將所述復原處理模塊的疊加結果從頻率域轉換至 空間域以生成解碼圖像幀。
4. 如權利要3所述的圖像分層編解碼系統,其特徵在於所述第 一、二變換模塊為實現離散餘弦變換的模塊,所述第三變換模塊為實現反 離散餘弦變換的模塊。
全文摘要
本發明公開了一種基於頻譜的圖像分層編解碼方法,包括編碼步驟和解碼步驟,解碼步驟包括獲取解碼參考塊在頻率域的頻率係數陣列,並劃分為頻率由低至高的N個頻段,接收各殘差頻率係數陣列前n個頻段的編碼數據,將解碼參考塊在頻率域的頻率係數陣列大於n的頻段置零,生成解碼參考頻率係數陣列;根據接收到的低頻段編碼數據解碼出各殘差頻率係數陣列,並分別與所述解碼參考頻率係數陣列疊加;將各自疊加的結果從頻率域轉換至空間域,生成解碼圖像幀。本發明還公開了一種基於頻譜的圖像分層編解碼系統。由於巧妙地將解碼器端的參考圖像放在變換域裡,本發明能夠保持解碼器端的參考圖像與編碼器端的參考圖像的一致性,消除了誤差積累,且計算複雜度較低。
文檔編號H04N7/26GK101287119SQ200810066928
公開日2008年10月15日 申請日期2008年4月28日 優先權日2008年4月28日
發明者勇 趙 申請人:北京大學深圳研究生院