專利名稱::一種適用于avs編碼的幀內預測裝置及預測方法
技術領域:
:本發(fā)明涉及一種數(shù)字視頻編碼技術,尤其涉及一種適用于AVS編碼的幀內預測裝置及預測方法。
背景技術:
:AVS(AudioVideocodingStandard)是由我國自主制定的數(shù)字音視頻編解碼技術標準,幀內預測是提高編碼效率的技術手段之一,是利用當前塊的相鄰像素直接對每個系數(shù)做預測,更有效地去除相鄰塊之間的相關性,從而極大地提高幀內編碼的效率。AVS視頻標準9.4.2定義了幀內預測模式,9.8定義了幀內預測公式和參考像素的定義,AVS幀內預測包括亮度幀內預測和色度幀內預測,其中亮度有5種預測方式,分別為垂直(Vertical)預測模式、水平(Horizontal)預測模式、DC預測模式、左下(Down_Left)預測模式、右下(Down_Right)預測模式,色度有4種預測方式。幀內預測數(shù)據(jù)量和計算量非常大,且是整個系統(tǒng)運行的瓶頸之一,要提高編碼性能,并達到實時高清編碼的要求,是幀內編碼技術要解決的關鍵問題。經對現(xiàn)有文獻的檢索以及調研發(fā)現(xiàn)市面上現(xiàn)有的AVS編碼器產品,均為標清編碼器,尚不能實現(xiàn)實時高清要求。根據(jù)高清編碼實現(xiàn)的需求,如對通過每個宏塊(包括亮度和色度)的處理時間的要求,硬件實現(xiàn)編碼是較好的技術手段。在FPGA芯片的工作頻率為100MHz時,每個宏塊(包括亮度和色度)的處理時間time的計算如下1920xl088x30>awe"也就是說,對于高清實時編碼,每個宏塊(包括對應的亮度和色度)的處理時間必須小于409cycles。
發(fā)明內容本發(fā)明所解決的技術問題是提供一種適用于AVS編碼的幀內預測裝置及預測方法,其工作的時鐘頻率能達150MHz,完成一個宏塊的幀內預測過程只需要將近360個時鐘周期,完全能滿足實時高清視頻(1080i)的實時編碼要求。為了解決上述技術問題,本發(fā)明采用了如下技術手段一種適于AVS的幀內預測裝置,包含變換量化模塊和反變換反量化模塊,重建圖像SRAM和片內SDRAM,所述預測裝置還包含主控制器、計算模塊、選擇器和模式判決模塊,其中主控制器,用于產生控制信號,實現(xiàn)計算模塊和模式判決模塊間的數(shù)據(jù)同步,產生預測模式號和預測模式指針號并分別輸出至模式判決模塊和計算模塊;計算模塊,根據(jù)接收到的預測模式指針號以及從重建圖像SRAM中讀取的重建值,計算不同預測模式下的預測值,并將預測值分別輸出至模式判決模塊和選擇器;選擇器,用于對計算模塊輸出的至少一個預測值進行選擇,并輸出給重建圖像SRAM;模式判決模塊,根據(jù)預測值和片內SDRAM中讀取的原始圖像值進行差值計算,得到殘差值,并通過判決方法得到最佳模式號并輸出,所述殘差值通過變換量化模塊和反變換反量化模塊后輸入重建圖像SRAM,為編碼作好準備。所述的適于AVS的幀內預測裝置,所述的計算模塊中的預測模式號與預測模式指針號相對應,并存放在一個ROM中。所述的適于AVS的幀內預測裝置,所述的計算模塊包括5路并行計算單元。所述的并行計算單元可以基于統(tǒng)一的計算架構,即求和移位運算,表達式為(a+2b+c+d)i,其中a、b、c、d、i均為可重配置計算參數(shù),分布在架構中的寄存器單元,a、b、c、d為計算數(shù)據(jù)輸入?yún)?shù),i為右移次數(shù)。本發(fā)明提供的另一個技術方案是基于AVS的幀內預測裝置的預測方法,所述方法完成宏塊及宏塊的子塊的預測和重建,所述的每個宏塊包含亮度子塊O、1、2和3以及色度子塊4和5,所述方法包含以下步驟步驟一、預測當前宏塊的亮度子塊O并重建,得到亮度子塊0的重建值;步驟二、預測當前宏塊的亮度子塊1并重建,得到亮度子塊1的重建值;步驟三、預測當前宏塊的亮度子塊2并重建,得到亮度子塊2的重建值;步驟四、預測當前宏塊的亮度子塊3并重建,同時,在當前宏塊的亮度子塊3與下一個宏塊的亮度子塊0的之間插入當前宏塊的色度子塊4和5的預測值,預測和重建按照新排列順序進行,在得到當前宏塊的亮度子塊3的重建值時,也得到了色度子塊4和5的重建值;步驟五、重復步驟一至四,完成一幀圖像中所有宏塊的編碼;以上步驟一、二、三和四的子塊預測和重建的具體實現(xiàn)過程如下步驟a、主控制器提供預測模式指針號給計算模塊,提供對應的預測模式號、控制信號和參數(shù)給模式判決模塊;步驟b、計算模塊根據(jù)接收到的預測模式指針號以及從重建圖像SRAM中讀取的上一個重建值,利用統(tǒng)一的預測計算架構進行5路并行操作,同時輸出5組預測值,保存到存儲器中;步驟c、模式判決模塊首先讓5組預測值與從片內SDRAM中讀取的原始圖像值進行差值計算,得到5組殘差值,保存到另一組存儲器中;然后根據(jù)這5組殘差值,利用代價函數(shù)COST進行判決,得到最小的COST,最后輸出最佳模式號,并從存儲器中輸出最佳模式對應的殘差值,由選擇器輸出最佳模式對應的預測值;步驟d、變換量化模塊和反變換反量化模塊根據(jù)接收到的殘差值,進行變換量化和反變換反量化操作,得到另一組殘差值;步驟e、將反變換反量化后得到的殘差值和最佳模式對應的預測值求和,得到子塊的圖像重建值,保存到存儲器中,即完成了子塊的預測到重建的過程。由于采用了以上的幀內預測裝置及實現(xiàn)方法,與現(xiàn)有技術相比有以下優(yōu)點1)由于計算單元采用5路并行操作的結構,可以大大減少宏塊幀內預測所需的處理時鐘數(shù)目;2)色度子塊4的預測不需要等待亮度子塊3的整個反饋回路,也大大節(jié)省了時鐘,并且色度子塊4和5的重建圖像值緊跟著亮度子塊3的重建值出來,而且這樣預測下一個宏塊的子塊O時,也不受色度子塊的影響。本發(fā)明的適于AVS的幀內預測裝置及預測方法由以下的實施例及附圖詳細給出。圖l為本發(fā)明實施例幀內預測裝置結構示意圖;圖2為本發(fā)明實施例色度子塊插入亮度的過程示意圖。具體實施方式以下將對本發(fā)明的適于AVS的幀內預測裝置及預測方法作進一步的詳細描述。本實施例中涉及的視頻圖像大小為1920*1088,釆用XilinxVirtex4系列FPGA作為硬件開發(fā)平臺,ISE8.1作為開發(fā)工具。本實施例提供的幀內預測裝置,包含變換量化模塊和反變換反量化模塊,重建圖像SRAM和片內SDRAM,所述預測裝置還包含主控制器、計算模塊、選擇器和才莫式判決才莫塊,其中主控制器,用于產生控制信號(如圖中虛線所示),實現(xiàn)計算模塊和模式判決模塊間的數(shù)據(jù)同步,并產生預測模式號和預測模式指針號,分別輸出至模式判決模塊和計算模塊,表1中列出了亮度和色度子塊中每種預測模式對應的預測模式指針號和預測模式號,表2中列出了一幀圖像(大小為MxN)的所有宏塊行中的所有子塊可能出現(xiàn)的預測模式指針號和預測模式號。計算模塊,根據(jù)接收到的預測模式指針號以及從重建圖像SRAM中讀取的重建值,計算不同預測模式下的預測值,并分別輸出至模式判決模塊和選擇器;選擇器,用于對計算模塊輸出的至少一個預測值進行選擇,并輸出給重建圖像SRAM;模式判決模塊,根據(jù)計算模塊輸出的至少一個預測值和片內SDRAM中讀取的原始圖像值進行差值計算,得到殘差值,并通過判決方法得到最佳模式號輸出,所述殘差值通過變換量化模塊和反變換反量化模塊后輸入重建圖像SRAM,為編碼作好準備。所述的適于AVS的幀內預測裝置,所述主控機產生的預測模式號與預測模式指針號相對應,并存放在一個存儲器ROM(未圖示)中。所述的適于AVS的幀內預測裝置,所述的計算模塊包括5路并行計算單元計算1~計算5。所述的并行計算單元可以基于統(tǒng)一的計算架構,即求和移位運算,表達式為(a+2b+c+d)i,其中a、b、c、d、i均為可重配置計算參數(shù),分布在架構中的寄存器單元,a、b、c、d為計算數(shù)據(jù)輸入?yún)?shù),i為右移次數(shù)。本發(fā)明提供的另一個技術方案是基于AVS的幀內預測裝置的預測方法,所述方法完成宏塊及宏塊的子塊的預測和重建,所述的每個宏塊包含亮度子塊0、1、2和3以及色度子塊4和5,所述方法包含以下步驟步驟一、預測當前宏塊的亮度子塊O并重建,得到亮度子塊0的重建值;步驟二、預測當前宏塊的亮度子塊l并重建,得到亮度子塊l的重建值;步驟三、預測當前宏塊的亮度子塊2并重建,得到亮度子塊2的重建值;步驟四、預測當前宏塊的亮度子塊3并重建,同時,在當前宏塊的亮度子塊3與下一個宏塊的亮度子塊0之間插入當前宏塊的色度子塊4和5的預測值,預測和重建按照新排列順序進行,在得到當前宏塊的亮度子塊3的重建值時,也得到了色度子塊4和5的重建值;步驟五、重復步驟一至四,完成一幀圖像中所有宏塊的編碼;配合參照圖1,以上步驟一、二、三和四的子塊預測和重建的具體實現(xiàn)過程如下步驟a、主控制器提供預測模式指針號給計算模塊,提供對應的預測模式號、控制信號模式判決模塊;步驟b、計算模塊根據(jù)接收到的預測模式指針號以及從重建圖像SRAM中讀取的上一個重建值,利用統(tǒng)一的預測計算架構由計算1計算5五個單元進行5路并行操作,并分別將5組預測值輸出至模式判決模塊和選擇器,同時將5組預測值保存到存儲器(未圖示)中,這個預測過程從重建圖像值讀入到預測值輸出需要將近20個時鐘;步驟c、模式判決模塊首先讓5組預測值與從片內SDRAM中讀取的原始圖像值進行差值計算,得到5組殘差值,保存到另一組存儲器(未圖示)中;然后根據(jù)這5組殘差值,利用代價函數(shù)COST進行判決,得到最小的COST,最后輸出最佳模式號,并從存儲器中輸出最佳模式對應的殘差值和預測值至變換量化模塊,整個模式判決過程需要將近19個時鐘;步驟d、變換量化模塊和反變換反量化模塊根據(jù)接收到的殘差值,進行變換量化和反變換反量化操作,得到另一組殘差值,該過程需要將近42個時鐘;步驟e、將反變換反量化后得到的殘差值和選擇器輸出的最佳模式對應的預測值求和,得到子塊的圖像重建值,保存到存儲器中,即完成了子塊的預測到重建的過程,需要將近80個時鐘。由以上步驟可知,一個宏塊的所有子塊從預測到重建的過程共需要將近360個時鐘周期,遠遠小于409個時鐘的限制要求,所以完全能滿足實時高清視頻(誦i)的實時編解碼要求。表1<table>tableseeoriginaldocumentpage9</column></row><table>表2<table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>權利要求1、一種適于AVS的幀內預測裝置,包含變換量化模塊和反變換反量化模塊,重建圖像SRAM和片內SDRAM,其特征在于,所述預測裝置還包含主控制器、計算模塊、選擇器和模式判決模塊,其中主控制器,用于產生控制信號,實現(xiàn)計算模塊和模式判決模塊間的數(shù)據(jù)同步,產生預測模式號和預測模式指針號并分別輸出至模式判決模塊和計算模塊;計算模塊,根據(jù)接收到的預測模式指針號以及從重建圖像SRAM中讀取的重建值,計算不同預測模式下的預測值,并將預測值分別輸出至模式判決模塊和選擇器;選擇器,用于對計算模塊輸出的至少一個預測值進行選擇,并輸出給重建圖像SRAM;模式判決模塊,根據(jù)預測值和從片內SDRAM中讀取的原始圖像值進行差值計算,得到殘差值,并通過判決方法得到最佳模式號并輸出,所述殘差值通過變換量化模塊和反變換反量化模塊后輸入重建圖像SRAM。2、如權利要求1所述的適于AVS的幀內預測裝置,其特征在于,所述的計算模塊中的預測模式號與預測模式指針號相對應,并存放在一個ROM中。3、如權利要求2所述的適于AVS的幀內預測裝置,其特征在于,所述的計算模塊包括5路并行計算單元。4、如權利要求3所述的適于AVS的幀內預測裝置,其特征在于,所述的并行計算單元可以基于統(tǒng)一的計算架構,即求和移位運算,表達式為(a+2b+c+d)i,其中a、b、c、d、i均為可重配置計算參數(shù),分布在架構中的寄存器單元,a、b、c、d為計算數(shù)據(jù)輸入?yún)?shù),i為右移次數(shù)。5、如權利要求1所述的基于AVS的幀內預測裝置的預測方法,所述方法完成宏塊及宏塊的子塊的預測和重建,所述的每個宏塊包含亮度子塊O、1、2和3以及色度子塊4和5,其特征在于,所述方法包含以下步驟步驟一、預測當前宏塊的亮度子塊O并重建,得到亮度子塊0的重建值;步驟二、預測當前宏塊的亮度子塊1并重建,得到亮度子塊1的重建值;步驟三、預測當前宏塊的亮度子塊2并重建,得到亮度子塊2的重建值;步驟四、預測當前宏塊的亮度子塊3并重建,同時,在當前宏塊的亮度子塊3與下一個宏塊的亮度子塊0的之間插入當前宏塊的色度子塊4和5的預測值,預測和重建按照新排列順序進行,在得到當前宏塊的亮度子塊3的重建值時,也得到了色度子塊4和5的重建值;步驟五、重復步驟一至四,完成一幀圖像中所有宏塊的編碼;以上步驟一、二、三和四的子塊預測和重建的具體實現(xiàn)過程如下步驟a、主控制器提供預測模式指針號給計算模塊,提供對應的預測模式號、控制信號和參數(shù)給模式判決模塊;步驟b、計算模塊根據(jù)接收到的預測模式指針號以及從重建圖像SRAM中讀取的上一個重建值,利用統(tǒng)一的預測計算架構進行5路并行操作,同時輸出5組預測值,保存到存儲器中;步驟c、模式判決模塊首先讓5組預測值與從片內SDRAM中讀取的原始圖像值進行差值計算,得到5組殘差值,保存到另一組存儲器中;然后根據(jù)這5組殘差值,利用代價函數(shù)COST進行判決,得到最小的COST,最后輸出最佳模式號,并從存儲器中輸出最佳模式對應的殘差值,由選擇器輸出最佳模式對應的預測4直;步驟d、變換量化模塊和反變換反量化模塊根據(jù)接收到的殘差值,進行變換量化和反變換反量化操作,得到另一組殘差值;步驟e、將反變換反量化后得到的殘差值和最佳模式對應的預測值求和,得到子塊的圖像重建值,保存到存儲器中,即完成了子塊的預測到重建的過程。全文摘要本發(fā)明提供了一種適于AVS編碼的幀內預測裝置及預測方法,所述裝置包括主控制器、計算模塊、選擇器和模式判決模塊,主控制器用于協(xié)調計算模塊和模式判決模塊的信號同步,計算模塊采用5路并行處理;所述方法將當前宏塊的色度子塊4和5插入當前亮度子塊3和下一宏塊亮度0之間,大大加快了處理速度,減少了邏輯資源的消耗,能滿足實時高清編碼的要求。文檔編號H04N11/04GK101222646SQ20081003326公開日2008年7月16日申請日期2008年1月30日優(yōu)先權日2008年1月30日發(fā)明者張兆揚,楊其彤,滕國偉,王蕾睿,石旭利申請人:上海廣電(集團)有限公司中央研究院