System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及圖像壓縮,尤其涉及一種圖像壓縮的dct系數處理電路及方法。
技術介紹
1、圖像壓縮一般包括dct變換、量化、z字形掃描、游程編碼和編碼后處理等操作;其中,dct變換是圖像壓縮的第一步,是對圖像的每個小塊進行dct變換,將空間域的圖像轉換到頻率域。dct系數隨后會被量化,這一步會減少系數的精度,從而實現壓縮。量化后的系數很多會變為零。量化后的dct系數會通過z字形(或稱為之字形)掃描重新排列,這樣會將所有的零和非零系數聚集在一起。在z字形掃描之后,將使用游程編碼來進一步壓縮數據。游程編碼會識別連續的零值或非零值,并用一個計數值和單個值來代替這些連續的值。編碼后的dct系數會進一步進行熵編碼(通常是霍夫曼編碼),以進一步壓縮數據。
2、目前的圖像編碼中的游程編碼是通過逐行或逐列掃描圖像的dct系數,來記錄其中零值的數量,但這種方式效率不高,耗時較長,特別是在處理大量數據或需要快速響應的應用中,對計算資源的需求較大且實時性能較差。
技術實現思路
1、本申請提供了一種圖像壓縮的dct系數處理電路及方法,在對當前像素進行游程編碼時僅需獲取上一個像素的ac系數及游程值,極大地提高了游程編碼的效率。
2、第一方面,本申請實施例提供了一種圖像壓縮的dct系數處理電路,包括:
3、輸入模塊,用于接收像素塊的dc系數和像素塊中各個像素的ac系數;
4、系數碼計算模塊,用于基于dc系數計算像素塊的dc系數碼;
5、游程統計模塊,包括參
6、獲取參考像素寄存器中的參考ac系數和參考游程值;
7、根據參考ac系數和參考游程值確定當前像素的目標游程值;
8、將參考像素寄存器中的參考ac系數替換為當前像素的ac系數;
9、將參考像素寄存器中的參考游程值替換為當前像素的目標游程值;
10、碼長計算模塊,用于計算dc系數和各ac系數的目標二進制碼和碼長;
11、輸出模塊,用于將dc系數碼、各目標游程值、各目標二進制碼和各碼長組合輸出。
12、進一步的,系數碼計算模塊包括系數寄存器和系數碼單元;系數碼單元用于獲取系數寄存器中的參考dc系數;計算dc系數和參考dc系數的差值,并作為dc系數碼;將系數寄存器中的參考dc系數替換為dc系數。
13、進一步的,游程計算單元具體用于在參考ac系數為0且參考游程值不等于預設閾值時,令參考游程值加1,得到目標游程值;在參考ac系數為0且參考游程值等于預設閾值時,令目標游程值為0;在參考ac系數不等于0時,令目標游程值為0。
14、進一步的,碼長計算模塊包括:
15、絕對值單元,用于對原始二進制碼取絕對值再逆序處理,得到第一序列;其中,原始二進制碼為dc系數或ac系數的二進制表示;
16、取反單元,用于令第一序列減1后再取反,得到第二序列;
17、第三序列單元,用于根據第一序列和第二序列得到第三序列;
18、碼長單元,用于根據第三序列確定初始二進制碼和碼長;
19、二進制單元,用于令原始二進制碼和初始二進制碼做與運算,得到目標二進制碼。
20、進一步的,絕對值單元用于在原始二進制碼為正數時,將原始二進制碼的逆序作為第一序列;在原始二進制碼為負數時,對原始二進制碼取反再加1,得到第一序列。
21、進一步的,第三序列單元用于令第一序列和第二序列做與運算,將運算結果逆序后減1,得到第三序列。
22、進一步的,碼長單元用于在原始二進制碼為正數時,將第三序列作為初始二進制碼;在原始二進制碼為負數時,對第三序列進行信號調制,得到初始二進制碼;計算第三序列中1的數量,并令1的數量再加1,得到碼長。
23、進一步的,該電路還包括:
24、零值判斷模塊,用于獲取輸入模塊中各像素的ac系數,并判斷各ac系數中是否有零值;若有,則將各ac系數發送到游程統計模塊;
25、零值判斷模塊和系數碼計算模塊在同一個時鐘周期內運行。
26、第二方面,本申請實施例還提供了一種圖像壓縮的dct系數處理方法,包括:
27、接收像素塊的dc系數和像素塊中各個像素的ac系數;
28、基于dc系數計算像素塊的dc系數碼;
29、獲取當前像素的上一個像素的參考ac系數和參考游程值;
30、根據參考ac系數和參考游程值確定當前像素的目標游程值;
31、計算dc系數和各ac系數的目標二進制碼和碼長;
32、將dc系數碼、各目標游程值、各目標二進制碼和各碼長組合輸出。
33、進一步的,上述根據參考ac系數和參考游程值確定當前像素的目標游程值,包括:
34、若參考ac系數為0且參考游程值不等于預設閾值,則令參考游程值加1,得到目標游程值;若參考ac系數為0且參考游程值等于預設閾值,則目標游程值為0;若參考ac系數不等于0,則目標游程值為0。
35、綜上,與現有技術相比,本申請實施例提供的技術方案帶來的有益效果至少包括:
36、本申請實施例提供的一種圖像壓縮的dct系數處理電路,其中的游程統計模塊中的游程計算單元在計算當前像素的目標游程值時,僅需獲取參考像素寄存器中的上一個像素的ac系數及游程值即可計算得到,無需執行多個系數的掃描操作,大大加快了游程編碼的計算效率。上述電路通過在游程統計模塊中對游程編碼過程的優化,提高了游程編碼的效率,從而提高了圖像壓縮過程中dct系數的整體編碼效率。
本文檔來自技高網...【技術保護點】
1.一種圖像壓縮的DCT系數處理電路,其特征在于,包括:
2.根據權利要求1所述的圖像壓縮的DCT系數處理電路,其特征在于,所述系數碼計算模塊包括系數寄存器和系數碼單元;所述系數碼單元用于獲取所述系數寄存器中的參考DC系數;計算所述DC系數和所述參考DC系數的差值,并作為所述DC系數碼;將所述系數寄存器中的所述參考DC系數替換為所述DC系數。
3.根據權利要求1所述的圖像壓縮的DCT系數處理電路,其特征在于,所述游程計算單元具體用于在所述參考AC系數為0且所述參考游程值不等于預設閾值時,令所述參考游程值加1,得到所述目標游程值;在所述參考AC系數為0且所述參考游程值等于所述預設閾值時,令所述目標游程值為0;在所述參考AC系數不等于0時,令所述目標游程值為0。
4.根據權利要求1所述的圖像壓縮的DCT系數處理電路,其特征在于,所述碼長計算模塊包括:
5.根據權利要求4所述的圖像壓縮的DCT系數處理電路,其特征在于,所述絕對值單元用于在所述原始二進制碼為正數時,將所述原始二進制碼的逆序作為所述第一序列;在所述原始二進制碼為負數時,對所述
6.根據權利要求4所述的圖像壓縮的DCT系數處理電路,其特征在于,所述第三序列單元用于令所述第一序列和所述第二序列做與運算,將運算結果逆序后減1,得到所述第三序列。
7.根據權利要求4所述的圖像壓縮的DCT系數處理電路,其特征在于,所述碼長單元用于在所述原始二進制碼為正數時,將所述第三序列作為所述初始二進制碼;在所述原始二進制碼為負數時,對所述第三序列進行信號調制,得到所述初始二進制碼;計算所述第三序列中1的數量,并令1的數量再加1,得到所述碼長。
8.根據權利要求1所述的圖像壓縮的DCT系數處理電路,其特征在于,還包括:
9.一種圖像壓縮的DCT系數處理方法,其特征在于,包括:
10.根據權利要求9所述的圖像壓縮的DCT系數處理方法,其特征在于,所述根據所述參考AC系數和所述參考游程值確定所述當前像素的目標游程值,包括:
...【技術特征摘要】
1.一種圖像壓縮的dct系數處理電路,其特征在于,包括:
2.根據權利要求1所述的圖像壓縮的dct系數處理電路,其特征在于,所述系數碼計算模塊包括系數寄存器和系數碼單元;所述系數碼單元用于獲取所述系數寄存器中的參考dc系數;計算所述dc系數和所述參考dc系數的差值,并作為所述dc系數碼;將所述系數寄存器中的所述參考dc系數替換為所述dc系數。
3.根據權利要求1所述的圖像壓縮的dct系數處理電路,其特征在于,所述游程計算單元具體用于在所述參考ac系數為0且所述參考游程值不等于預設閾值時,令所述參考游程值加1,得到所述目標游程值;在所述參考ac系數為0且所述參考游程值等于所述預設閾值時,令所述目標游程值為0;在所述參考ac系數不等于0時,令所述目標游程值為0。
4.根據權利要求1所述的圖像壓縮的dct系數處理電路,其特征在于,所述碼長計算模塊包括:
5.根據權利要求4所述的圖像壓縮的dct系數處理電路,其特征在于,所述絕對值單元用于在所述原始二進制碼為正數時...
【專利技術屬性】
技術研發人員:何升雨,
申請(專利權)人:廣州眾諾微電子有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。