本發明屬于數字視頻圖像處理與顯示技術領域,具體涉及一種基于圖像特征檢測、可保護原始圖像細節的自適應視頻壓縮失真補償系統和方法。
背景技術:隨著互聯網電視與智能電視的迅速發展,數字電視的視頻內容來源日益豐富。其中,網絡視頻已成為通過電視觀看的主要視頻內容之一。由于受帶寬和媒體存儲等因素的限制,網絡視頻一般采用壓縮和解壓縮技術來去除冗余信息以達到低碼率傳輸的目的。其所采用的壓縮標準一般為基于塊的離散余弦變換(Block-basedDiscreteCosineTransform,BDCT)的視頻編解碼標準,如MPEG-4Visual、H.264/AVC和AVS等。然而,由于網絡視頻在傳輸過程中受傳輸方式和碼率控制等因素的影響,原始視頻圖像的內容會受到不同程度的損失。DCT正反變換本身對視頻圖像是無損的,而編解碼過程中的量化和反量化才是產生壓縮失真的主要根源。視頻壓縮失真主要包括振鈴噪聲和塊效應等。在圖像的邊緣附近,對圖像高頻信息的粗糙量化會引起振鈴噪聲;在基于塊的編解碼模式中,由于塊編解碼時不考慮臨近塊間的相關性,塊與塊間的量化差異導致了塊與塊之間的不連續性,從而產生塊效應。如果這些低質量的視頻直接在大屏幕平板電視上播放,將嚴重影響用戶的視覺體驗。在現有振鈴噪聲抑制的技術中,公告號為US7894685B2的美國專利提出了一種減少振鈴噪聲的方法和裝置。該方法根據像素亮度的平均絕對差(MeanAbsoluteDeviation,MAD)及梯度和等信息對像素點進行分類,并依此通過在8×8編解碼塊內統計在平坦區域和強弱邊緣上的像素點數,尋找滿足條件的邊緣塊,從而對塊內非邊緣的平坦點進行Sigma濾波來減少振鈴噪聲。該專利需要通過編解碼的量化參數(QuantizationParameter,QP)等信息來控制濾波強度,且其基于8×8編解碼塊的處理方式并不能很好地兼容多種常用國際視頻編解碼標準。因此當QP等編解碼信息不可知或者編解碼采用可變塊大小時,該方法的實現效果就會受到限制。現有的其他振鈴噪聲抑制技術中,或者是在有效地減少振鈴噪聲的同時模糊了圖像細節,或者是很好地保護了細節信息卻使減少振鈴噪聲的效果一般,難以在兩者之間做很好的平衡。現有塊效應的檢測方法主要是在已知塊邊界位置的情況下進行塊邊界強度檢測。由于網絡視頻源中原始分辨率與編解碼標準的多樣性,到達顯示端的視頻有可能已經過處理,如簡單的縮放或者上下左右的偏移。在這種情況下,采用已知塊位置檢測塊強度的結果必然不準確。綜上所述,提出一種魯棒性更高,且在有效減少振鈴噪聲和塊效應的同時又能保護邊緣和紋理等重要原始信息的方法是很有必要的。
技術實現要素:本發明的目的在于提出一種自適應補償視頻壓縮失真的系統及方法,以克服現有技術的缺點;本發明在有效補償壓縮失真的同時,能夠更好地保護邊緣和細節信息,從而改善網絡視頻圖像效果,使其滿足在高清、甚至超高清顯示器上的播放需求。為提高魯棒性,本發明不受限于視頻編解碼信息和編解碼標準,也不受視頻源圖像偏移或者小幅度縮放的限制。為了實現上述目的,本發明采用如下技術方案:本發明首先對輸入視頻圖像進行特征檢測,將圖像像素點分類,定位振鈴噪聲易發區域和塊效應濾波區域;其次,對區域內滿足條件的不同種類的像素點進行自適應濾波以補償壓縮失真,而對處在邊緣和紋理上的像素不濾波,以保留重要的原始信息。本發明提出的一種自適應補償視頻壓縮失真的系統,包括邊緣檢測器、平坦/紋理檢測器、振鈴噪聲區域定位器、線檢測器、塊邊界檢測器、塊效應濾波區域定位器、抑制塊效應使能判決器、自適應均值濾波器、濾波選擇器和輸出融合器。邊緣檢測器、平坦/紋理檢測器、線檢測器、塊邊界檢測器、自適應均值濾波器、濾波選擇器和輸出融合器的輸入端連接視頻圖像輸入端口;邊緣檢測器的輸出端和平坦/紋理檢測器的輸出端均連接振鈴噪聲區域定位器的輸入端;線檢測器的輸出端連接塊效應濾波區域定位器的輸入端;塊邊界檢測器的輸出端連接塊效應濾波區域定位器的輸出端和抑制塊效應使能判決器的輸入端;振鈴噪聲區域定位器的輸出端、塊效應濾波區域定位器的輸出端和自適應均值濾波器的輸出端連接濾波選擇器的輸入端;濾波選擇器的輸出端連接輸出融合器的輸入端。本發明進一步的改進在于:邊緣檢測器,用于獲得輸入視頻圖像的邊緣及其強度信息;平坦/紋理檢測器,用于獲得輸入視頻圖像的平坦/紋理信息;線檢測器,用于輔助檢測并保留平坦區的單像素弱線條;塊邊界檢測器,用于檢測輸入視頻圖像存在塊效應的塊邊界位置及其強度信息;振鈴噪聲區域定位器,用于根據邊緣信息、平坦/紋理信息,定位振鈴噪聲易發區并標記其濾波的強度;塊效應濾波區域定位器,用于根據邊緣信息、平坦/紋理信息、單像素線條信息和塊邊界信息,定位塊效應濾波區域并標記其濾波的強度;抑制塊效應濾波使能判決器,用于統計當前幀中檢測到的塊邊界占整幀圖像的比例,當塊效應超過閾值時,打開抑制塊效應濾波強度使能,以供后一幀使用;自適應均值濾波器,用于產生不同強度的濾波結果;濾波選擇器,用于根據輸入視頻圖像、振鈴噪聲區域定位器、塊效應濾波區域定位器和自適應均值濾波器的結果及前一幀得出的抑制塊效應濾波使能,選擇對應的濾波結果;輸出融合器,最終輸出輸入視頻圖像的待處理點原始值和濾波結果的加權和。本發明提出的一種自適應補償視頻壓縮失真的方法,包括以下步驟:邊緣檢測,檢測出輸入視頻圖像的邊緣信息,并對其進行腐蝕膨脹,獲得邊緣及其強度信息;平坦/紋理檢測,獲得輸入視頻圖像的平坦/紋理信息;線檢測,檢測輸入視頻圖像的單像素線條;塊邊界檢測,檢測輸入視頻圖像存在塊效應的塊邊界位置及強度信息;在排除掉邊緣和紋理信息后,根據邊緣和平坦/紋理特征信息,定位振鈴噪聲易發區并標記其需要的濾波強度;在排除掉邊緣、紋理及平坦區的單像素弱線條上的像素點后,根據檢測到的塊邊界信息定位塊效應濾波區域并標記其需要的濾波強度;根據塊邊界檢測器檢測到的塊邊界結果,統計當前幀中塊邊界占整幀圖像的比例,當塊效應超過閾值時,打開抑制塊效應濾波強度使能deblk_glenN,以供后一幀使用;根據上述特征檢測的結果及前一幀得出的抑制塊效應濾波使能,選擇對應的自適應濾波系數輸出濾波結果;最終結果輸出為待處理點原始值和濾波結果的加權和。其中,加權系數的大小由待處理點周邊像素與其差異程度決定。與已有技術相比,本發明的技術優勢與效果體現在:1.本發明可用于視頻解碼器端,也可以與視頻編解碼器相對獨立,用于視頻顯示處理端。本發明與現有多種視頻編解碼標準兼容,且不需要已知QP等編解碼信息,也不受限于編解碼塊大小的選擇;2.本發明在有效補償壓縮失真的同時,能很好地保護邊緣和紋理等原始信息;3.本發明的塊邊界信息檢測不需要預知塊邊界位置。當視頻圖像經過了偏移或者小幅度縮放等預處理時,本發明的塊邊界信息檢測結果會與實際畫面的塊邊界相對應,而不會出現誤檢測;4.本發明基于空域信息處理,復雜度低,易于硬件實現,以滿足實時性要求。附圖說明圖1為本發明所述壓縮失真補償方法用于視頻顯示端處理的一個具體實施例的框圖;圖2為本發明所述壓縮失真補償方法和系統的具體實施框圖;圖3為Sobel邊緣檢測四方向梯度算子Av、Ah、Ar和Al的示意圖;圖4為用于線檢測、邊緣檢測和平坦/紋理檢測的3×3像素亮度矩陣X,(2,2)為待處理像素點的位置;圖5為本發明所述實施例中振鈴噪聲區域定位的一種實施方法示意圖;圖6為單像素線條的一種檢測方法示意圖,主要針對垂直和水平方向上的單像素線條的檢測;圖7(a)和圖7(b)為本發明所述實施例中塊邊界檢測的一種方法示意圖,其中圖7(a)示出了假設的垂直塊邊界附近相連六個像素點,P1、P2、P3、Q3、Q2和Q1的亮度關系;圖7(b)示出了塊效應檢測過程中需要額外滿足的條件,當滿足四種情形之一后才能確定存在塊效應的塊邊界。圖8為本發明所述實施例中塊效應濾波區域定位時所采用的4×4的窗,其中(3,3)對應待處理點的位置。具體實施方式本發明既可以和視頻解碼器結合在一起,也可以獨立作為視頻顯示處理的一部分,以下將結合附圖和實施例對本發明作進一步的詳細說明。圖1所示為本發明所述壓縮失真補償方法被用于視頻顯示處理的壓縮失真補償系統的一個具體實施例的框圖。原始視頻源100經過視頻編碼101壓縮后通過通信信道102傳輸到用戶接收端的視頻解碼103處。解碼后的有損視頻作為視頻顯示處理104的輸入,經過抑制振鈴噪聲105和抑制塊效應106的壓縮失真補償及其他視頻顯示處理后,送給視頻輸出107以供顯示。圖2中的200是圖1中壓縮失真補償系統的具體實施框圖。本發明提出的一種自適應補償視頻壓縮失真的系統主要包括邊緣檢測器201、平坦/紋理檢測器202、振鈴噪聲區域定位器203、線檢測器204、塊邊界檢測器205、塊效應濾波區域定位器206、抑制塊效應使能判決器207、自適應均值濾波器208、濾波選擇器209和輸出融合器210。輸入視頻信號進入邊緣檢測器201、平坦/紋理檢測器202、線檢測器204、塊邊界檢測器205、自適應均值濾波器208、濾波選擇器209和輸出融合器210的輸入端;邊緣檢測器201的輸出端和平坦/紋理檢測器202的輸出端均連接振鈴噪聲區域定位器203;線檢測器204的輸出端連接塊效應濾波區域定位器206的輸入端;塊邊界檢測器205的輸出端連接塊效應濾波區域定位器206的輸入端和抑制塊效應使能判決器207的輸入端;振鈴噪聲區域定位器203的輸出端、塊效應濾波區域定位器206的輸出端和自適應均值濾波器208的輸出端連接濾波選擇器209的輸入端;濾波選擇器209的輸出端連接輸出融合器210的輸入端。邊緣檢測器201、平坦/紋理檢測器202、線檢測器204和塊邊界檢測器205為具體實施例自適應補償視頻壓縮失真的系統200的四個主要的特征檢測器。其中,邊緣檢測器201檢測出輸入視頻圖像的邊緣信息,并對其進行腐蝕膨脹,以獲得相對較準確的邊緣及其強度信息;平坦/紋理檢測器202得到輸入視頻圖像的平坦/紋理信息,以便保留紋理信息及協助定位失真易發區域;線檢測器204,檢測輸入視頻圖像的單像素線條以輔助保留平坦區的單像素弱線條,避免在進行塊效應抑制時被誤濾波而損失視頻圖像的層次與細節;塊邊界檢測器205檢測輸入視頻圖像存在塊效應的塊邊界位置及強度信息。通過對這四個特征檢測器的檢測結果進行分析,本發明可以很好地保護原始圖像中的邊緣、紋理及平坦區的單像素弱線條等重要特征信息,以防止對有損視頻圖像造成二次損壞,并能為定位噪聲區域及決定濾波強度提供依據。振鈴噪聲區域定位器203在排除掉邊緣和紋理等重要信息后,根據邊緣和平坦特征信息,定位振鈴噪聲易發區并標記其需要的濾波強度;塊效應濾波區域定位器206,在排除掉邊緣、紋理及平坦區的單像素弱線條上的像素點后,根據檢測到的塊邊界信息定位塊效應濾波區域并標記其需要的濾波強度;抑制塊效應使能判決器207根據塊邊界檢測器205檢測到的塊邊界結果,統計當前幀中塊邊界占整幀圖像的比例,當塊效應較嚴重時,打開抑制塊效應濾波強度使能deblk_glenN,以供后一幀使用。自適應濾波器208產生不同強度的自適應濾波結果以供選擇;濾波選擇器209根據上述特征檢測的結果及前一幀得出的抑制塊效應濾波使能deblk_glenN-1,選擇對應的自適應濾波結果;輸出融合器210實現待處理點原始值和濾波結果的加權和,而加權系數的大小是由待處理點周邊像素與其差異程度來決定的,以便更好地保護原始圖像。圖3所示為本發明實施例200中邊緣檢測器201采用的Sobel邊緣檢測的四個方向梯度算子Av,Ah,Ar和Al。結合圖4的3×3像素亮度矩陣X,計算出四個方向上的梯度值Gv、Gh、Gr和Gl。然后取梯度絕對值的最大值Gmax,分別與閾值SOBEL_HIGH_TH(270)和SOBEL_LOW_TH(65)比較,將圖像像素點分類得到整體邊緣信息和強邊緣信息,如公式(1)和(2)所示。Gmax=max(|Gh|,|Gv|,|Gr|,|Gl|)(1)edge_tmp(i,j)=(Gmax>SOBEL_LOW_TH)?1:0(2)stedge_tmp(i,j)=(Gmax>SOBEL_HIGH_TH)?1:0式中,edge_tmp(i,j)和stedge_tmp(i,j)分別為圖像(i,j)位置像素點的整體邊緣信息和強邊緣信息。由于受噪聲等因素的干擾,上述邊緣檢測后的結果在一定程度上并不準確。因此,邊緣檢測器201還包括了對上述得到的Sobel邊緣檢測結果的腐蝕和膨脹,以得到相對較準確的邊緣信息。具體的腐蝕和膨脹過程如公式(3)和(4)所示。最終邊緣檢測器201輸出的整體邊緣信息如公式(5)所示。edge_expansion(i,j)=[!edge_tmp(i,j)]&&{[edge_tmp(i-1,j-1)&&edge_tmp(i+1,j+1)]||[edge_tmp(i,j-1)&&edge_tmp(i,j+1)]||(4)[edge_tmp(i+1,j-1)&&edge_tmp(i-1,j+1)]||[edge_tmp(i-1,j)&&edge_tmp(i+1,j)]}edge_map(i,j)=edge_corriosion(i,j)||edge_expansion(i,j)(5)式中,edge_corrosion(i,j)為圖像(i,j)位置像素點腐蝕后的整體邊緣信息,edge_expansion(i,j)為圖像(i,j)位置像素點膨脹后的整體邊緣信息,edge_map(i,j)為邊緣檢測器201輸出的圖像(i,j)位置像素點較準確的整體邊緣信息。同樣,對強邊緣信息進行相同的膨脹和腐蝕過程。邊緣檢測器201最終輸出的圖像(i,j)位置像素點的強邊緣信息為stedge_map(i,j)。本發明所述實施例的平坦/紋理檢測器202,采用對待處理點周圍像素亮度值進行數理統計的方法實現。該方法主要對3×3像素亮度矩陣X計算亮度平均值μ和亮度平均絕對偏差MAD,來分析待處理點所處像素矩陣中的亮度變化情況,如公式(6)和(7)所示。將統計的亮度變化值與設定閾值TEXTURE_HIGH_TH(16)、2·TEXTURE_LOW_TH和TEXTURE_LOW_TH(2)比較,當亮度平均絕對差MAD較大時,說明待處理點處于紋理區域;而當亮度平均絕對差MAD較小時,說明待處理點處于平坦區域。式中,texture_map(i,j)表示圖像(i,j)位置像素點的紋理程度,其值越小說明待處理點所處位置越平坦。圖5所示為本發明所述實施例200中振鈴噪聲區域定位器203的一種實施方法。該方法在7×11的窗內對上述得到的邊緣信息和平坦/紋理信息進行綜合分析,從而定位待處理點是否處于振鈴噪聲區域并判斷其嚴重程度,如公式(9)所示。式中,ring_map(i,j)表示了圖像中(i,j)位置像素點的振鈴噪聲情況:當ring_map(i,j)為3時,說明待處理點處在邊緣上或者紋理區域,需要保留之,故不濾波;當ring_map(i,j)為2時,說明待處理點在強邊緣附近,由于強邊緣附近的振鈴噪聲比較嚴重,所以需要較強的濾波方式抑制振鈴噪聲;當ring_map(i,j)為1時,說明待處理點在弱邊緣附近,需要相對較弱的濾波方式抑制振鈴噪聲;當ring_map(i,j)為0時,說明待處理點不是振鈴噪聲點,不需要進行振鈴噪聲的抑制。圖6所示為本發明所述實施例200中線檢測器204檢測單像素線條的一種實施方法。以垂直方向的單像素線條為例,當滿足圖6(a)和圖6(b)中所示條件,即連續三行像素點A1、A2和A3同時分別比D1和E1、D2和E2及D3和E3都小或者都大LINE_TH1,且A1、A2和A3中最大值和最小值的差值小于LINE_TH2時,當前位置的像素點處在垂直單像素線條上,vline_map(i,j)被標記為1。同樣,當滿足圖6(c)和圖6(d)中所示條件,即連續三列A4、A5和A6同時分別比B1和C1、B2和C2及B3和C3都小或者都大LINE_TH1,且A4、A5和A6中最大值和最小值的差值小于LINE_TH2時,當前位置的像素點處在水平單像素線條上,hline_map(i,j)被標記為1。本實施例中閾值LINE_TH1和LINE_TH2均被設為2。最終線檢測器204的輸出line_map(i,j)由公式(10)所得。line_map(i,j)=vline_map(i,j)||hline_map(i,j)(10)圖7所示為本發明所述實施例200中塊邊界檢測器205的一種方法。以垂直塊邊界為例,圖7(a)示出了假設的塊邊界附近相連六個像素點,P1、P2、P3、Q3、Q2和Q1的亮度關系:在存在塊效應的塊邊界左右兩邊的P3和Q3存在一定的亮度跳變,而塊邊界左邊或者右邊的相連像素間的亮度變化較小。根據塊邊界的這一特性,本發明實施例通過觀察相連像素點的梯度變化,來判斷當前像素點是否在塊邊界上,以及通過塊邊界兩邊像素P3和Q3間跳變的大小,來判斷塊邊界的強弱。當P1、P2、P3、Q3、Q2和Q1同時滿足公式(11)中的三個條件時,像素點P3和Q3之間可能存在垂直塊邊界。條件1:BLK_MID_TH<D3<BLK_HIGH_TH;條件2:max(D1,D2,D4,D5)<BLK_LOW_TH;(11)條件3:D3>max(D1,D2,D4,D5).式中,D1、D2、D3、D4和D5分別表示|P1-P2|、|P2-P3|、|P3-Q3|、|Q3-Q2|和|Q2-Q1|。BLK_LOW_TH(2)、BLK_MID_TH(1)和BLK_HIGH_TH(15)為設定的經驗閾值。在上述基礎上,本發明實施例采用圖7(b)中的四種情形,來決定P3和Q3之間是否確實存在塊效應。圖7(b)中第i行為當前行,虛線為假設的垂直塊邊界位置,灰色區域為滿足條件的連續四行。在7×6窗中,根據垂直塊邊界在垂直方向上的連續性,當連續至少四行滿足公式(11)中的三個條件,且滿足連續至少四行P3-Q3同號,才表示待處理點處在存在塊效應的垂直塊邊界上。在檢測到存在塊效應的塊邊界位置信息后,根據公式(12)判斷塊邊界的強弱,以便控制后續濾波的強弱。垂直方向上塊邊界的檢測結果vbd_map(i,j)如公式(12)所示,其中P3對應圖像中(i,j)的位置。水平塊邊界的檢測方式類似,只是取的是6×7窗的候選像素矩陣。采用類似的檢測方法,最終得到水平塊邊界的檢測結果hbd_map(i,j)。結合垂直和水平塊邊界信息,最終得出整體的塊邊界信息bd_map(i,j)及強塊邊界信息stbd_map(i,j),作為塊邊界檢測器205的輸出。本發明所述實施例200中的塊效應濾波區域定位器206,在塊邊界檢測器205得到的塊邊界信息bd_map(i,j)的基礎上,定位塊邊界上及附近需要濾波的區域。由于塊邊界檢測過程中標記的是塊邊界左邊或者上邊的像素點,所以塊效應濾波區域定位器206采用第三行第三列為待處理點的4×4窗來定位待處理點所處塊效應濾波區域并定性該塊效應的嚴重程度,如圖8所示。定位過程如公式(15)所示。本發明所述實施例200中的抑制塊效應濾波使能判決器207,對上述檢測得到的當前幀塊邊界信息bd_map(i,j)非零的情況進行計數,并統計該計數結果占整幀圖像像素點數的比例,用ratio表示。根據塊效應的嚴重程度,輸出不同強度的抑制塊效應濾波使能deblk_glenN,以供下一幀使用。式中,TH_BLK_RATIO1(1/64)和TH_BLK_RATIO2(23/512)為設定的經驗比例閾值。當deblk_glenN為2時,說明視頻圖像中的塊效應情況較嚴重;當deblk_glenN為1時,說明視頻圖像中的塊效應較明顯,需要進行塊效應抑制處理;當deblk_glenN為0時,說明視頻圖像中不存在塊效應或者塊效應不明顯,不需要進行塊效應的抑制處理。在本發明所述實施例200的自適應均值濾波器208中,一種自適應均值濾波器被用來抑制振鈴噪聲和塊效應,亮度濾波結果如公式(17)所示。式中,y(i,j)為當前待處理像素點的亮度;y'(i,j)為亮度濾波結果,濾波時所用的是以y(i,j)為中心像素點的M×N的窗;y(i+s,j+t)為M×N窗中(i+s,j+t)位置的像素亮度值;ω(i+s,j+t)為像素y(i+s,j+t)對應的權重;filter_th為自適應濾波閾值,由公式(19)得到。式中,α1和α2為閾值調節系數,本實施例中分別設為1/8和3/32;FILTER_TH1、FILTER_TH2、FILTER_TH3和FILTER_TH4的取值為6、15、8、4。本實施例的自適應濾波器208,根據不同的閾值filter_th,將輸出五類濾波結果,分別為抑制振鈴噪聲的強濾波結果ystdr(i,j)和弱濾波結果ywkdr(i,j)以及抑制塊效應的強濾波結果ystdb(i,j)、弱濾波結果ywkdb(i,j)和平坦區域補充濾波結果yflatdb(i,j)。本實施例的濾波過程取的是5×7的濾波窗。本發明所述實施例200中的濾波選擇器209,根據上述所得ring_map(i,j)和blk_map(i,j)信息,保留邊緣、紋理和平坦區的單像素弱線條。然后再根據待處理點所在的區域和噪聲強度以及上一幀得出的抑制塊效應濾波使能deblk_glenN-1,從y(i,j)、ystdr(i,j)、ywkdr(i,j)、ystdb(i,j)、ywkdb(i,j)和yflatdb(i,j)中選擇合適的結果作為最終的濾波結果yfiltered(i,j)從濾波選擇器209輸出。具體選擇過程如公式(20)所示。為了更好地防止過度濾波,本發明所述的實施例200在最終輸出結果前,將待處理點原始亮度值和濾波結果進行加權和。加權系數的大小是根據待處理點周邊像素與其差異程度來自適應取得,以便更好地保護原始圖像。這些都是在輸出融合器210中完成的。yout(i,j)=λ·y(i,j)+(1-λ)·yfiltered(i,j)(21)式中,yout(i,j)為最終的亮度輸出,λ為融合權重系數。λ的值由公式(22)和(23)求得。式中,ω'(i+s,j+t)表示了以(i,j)像素為中心的5×5窗內其他點與中心點間的亮度差異情況,閾值BLEND_TH設為3。綜上所述,本發明所述的實施例200能夠達到有效抑制振鈴噪聲和塊效應的同時很好地保護邊緣和紋理等重要原始信息的目的。