新四季網

視頻編碼器和編碼方法

2023-05-01 12:27:06


專利名稱::視頻編碼器和編碼方法
技術領域:
:本發明涉及視頻編碼領域,特別涉及一種視頻編碼器和編碼方法。
背景技術:
:視頻是指由一系列時間上相關的圖像組成的序列。其中的每幅圖像稱為一個幀,每個幀又可以劃分為若干個塊,通常塊為正方形或矩形,視頻編碼以塊為基本單位進行編碼,視頻編碼中常用的塊有16X16,8X16,16X8,8X8,4X4等,這些塊的大小都是以像素為單位,像素則是指構成圖像的點,是構成圖像的最小單元,亞像素是通過整像素進行插值濾波產生的,如1/2或1/4像素等。視頻編碼塊按照所承載的信息類別又可分為亮度塊和色度塊,在主流的視頻編碼標準中通常把按照一定比例組成的亮度塊和色度塊的集合稱為一個宏塊。如圖l(a)所示,對於4:2:0格式的圖像,每個宏塊的大小為16X16,可以包括l個16X16的亮度塊,以及2個8X8的色度塊。視頻編碼是指在給定的碼率帶寬下,在保持一定的視頻圖像質量的前提下,有效的減少表達視頻信息所需數據量的技術,它以視頻信號的高度相關性和人眼的視覺特性為出發點,通過恰當的編碼方式,來消除各種相關性和人眼特性所產生的冗餘。隨著人們對視頻的需求越來越大,對編碼速度的要求也就越來越高。為了滿足實時編碼視頻的需求,現有技術中的視頻編碼器採用了宏塊級的VLSI(VeryLargeScaleintergratedCircuit)體系結構。參見圖1(b),該VLSI體系結構為四級流水,包括了五個主要功能模塊,包括整像素運動估計模塊,亞像素運動估計模塊,幀內預測、變換和量化模塊,熵編碼模塊以及環路去塊效應濾波模塊。輸入圖像所承載的原始視頻數據,經過整像素運動估計、亞像素運動估計的處理以及幀內預測編碼的各模式處理,由特定的模式選擇算法決定預測編碼的模式,並將待編碼數據與重建圖像參考數據按照某種算法得到的殘差進行變換編碼以及量化,最後進行熵編碼,輸出碼流。同時,還需要對量化後的數據進行反量化和反變換以得到重建數據作為下一段待編碼數據的參考圖像數據。其中環路濾波一般是可選的增強技術,由於變換以及量化等都是以塊為單位進行,因此重建的圖像在塊的邊界可能會出現不連續,形成重建圖象的明顯缺陷,特別是當量化粗糙的時候尤為明顯,這種現象稱為塊效應。為了去除塊效應,部分視頻編碼算法中可以對重建圖像以整幀為單位進行環路濾波,以獲得更好的參考幀質量,供幀間預測參考。其中整像素運動估計模塊作為第一級流水級、亞像素運動估計模塊作為第二級流水級,幀內預測、變換/量化模塊作為第三級流水級,熵編碼模塊和環路去塊效應濾波模塊可以並行執行,作為第四級流水級。在對現有技術進行分析後,發明人發現現有技術至少具有如下缺點現有技術中流水級之間的數據交互,主要利用總線或共享內存,但不論共享內存還是總線,都需要通過時分復用的方式來被多個模塊訪問,這樣就可能使得一些模塊在需要訪問共享內存或者總線時需要等待其他模塊釋放共享內存或總線的使用權,使得處理效率嚴重降低,影響了整個編碼器運行的流暢程度,影響了數據處理的速度。數據通路上缺少獨立的數據加載模塊流水級,增加了第一級流水級的負擔,因此,較為明顯的影響了流水線的吞吐率,減慢了數據處理的速度。
發明內容本發明實施例提供了一種視頻編碼器和編碼方法。所述技術方案如下—種視頻編碼器,包括數據加載模塊,用於讀入待編碼宏塊和重建圖像參考數據,將讀入的待編碼宏塊和重建圖像參考數據發送給第一存儲模塊;所述第一存儲模塊,用於接收並存儲所述待編碼宏塊和所述重建圖像參考數據;整像素運動估計模塊,用於讀取所述待編碼宏塊和所述重建圖像參考數據,根據所述待編碼宏塊進行整像素級運動搜索,得到整像素運動估計信息,將所述整像素運動估計信息,所述待編碼宏塊和所述重建圖像參考數據發送給第二存儲模塊;所述第二存儲模塊,用於接收並存儲所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據;亞像素運動估計模塊,用於讀取所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,根據所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,進行亞像素插值濾波和亞像素級運動搜索,得到亞像素運動估計信息,將所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據發送給第三存儲模塊;所述第三存儲模塊,用於接收並存儲所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據;綜合處理模塊,用於讀取所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,進行幀內預測,結合所述亞像素運動估計信息,得到預測殘差和表徵編碼方式的輔助信息,對所述預測殘差變換和量化,掃描量化後的宏塊,讀取宏塊的殘差數據,將讀取的殘差數據轉換成適合熵編碼處理的數據結構和所述表徵編碼方式的輔助信息,將轉換後的殘差數據發送給第四存儲模塊;所述第四存儲模塊,用於接收並存儲所述轉換後的殘差數據和所述表徵編碼方式的輔助信息;熵編碼模塊,用於讀取所述殘差數據和所述表徵編碼方式的輔助信息,進行熵編碼,將得到的二進位碼流輸出。所述編碼器還包括環路濾波模塊,用於對所述重建圖像參考數據進行環路濾波。所述綜合處理模塊還包括反變換量化單元,用於將量化後的殘差塊進行反量化,反變換,結合指定塊的數據形成重建圖像。所述綜合處理模塊還包括第一存儲單元,用於將所述重建圖像存入外部存儲器;第二存儲單元,用於將所述重建圖像通過所述第四存儲模塊的埠暫存在所述第四存儲模塊中;由所述熵編碼模塊通過所述第四存儲模塊的埠讀出,並將所述重建圖像存入所述外部存儲器;第三存儲單元,用於將所述重建圖像通過所述第四存儲模塊的埠暫存在所述第四存儲模塊中,由所述環路濾波模塊通過所述第四存儲模塊的埠讀出,並對所述重建圖像進行環路濾波後,存入所述外部存儲器。所述編碼器還包括第一掃描單元,用於掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給第四存儲模塊;第二掃描單元,用於掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給所述熵編碼模塊。所述編碼器中的各個模塊之間還傳遞包括但不限於編碼端預設參數的數據。—種視頻編碼方法,包括數據加載模塊讀入待編碼宏塊和重建圖像參考數據;所述數據加載模塊將讀入的待編碼宏塊和重建圖像參考數據發送給第一存儲模塊;所述第一存儲模塊接收並存儲所述待編碼宏塊和所述重建圖像參考數據;整像素運動估計模塊讀取所述待編碼宏塊和所述重建圖像參考數據,根據所述待編碼宏塊進行整像素級運動搜索,得到整像素運動估計信息,將所述整像素運動估計信息,所述待編碼宏塊和所述重建圖像參考數據發送給第二存儲模塊;所述第二存儲模塊接收並存儲所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據;亞像素運動估計模塊讀取所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,根據所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,進行亞像素插值濾波和亞像素級運動搜索,得到亞像素運動估計信息,將所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據發送給第三存儲模塊;所述第三存儲模塊接收並存儲所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據;所述綜合處理模塊讀取所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,進行幀內預測,結合所述亞像素運動估計信息,得到預測殘差和表徵編碼方式的輔助信息,對所述預測殘差變換和量化,掃描量化後的宏塊,讀取宏塊的殘差數據,將讀取的殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據和所述表徵編碼方式的輔助信息發送給第四存儲模塊;所述第四存儲模塊接收並存儲所述轉換後的殘差數據和所述表徵編碼方式的輔助信息;所述熵編碼模塊讀取所述殘差數據和所述表徵編碼方式的輔助信息,進行熵編碼,將得到的二進位碼流輸出。所述預測殘差變換和量化之後還包括將量化後的殘差塊進行反量化,反變換,結合指定塊的數據形成重建圖像。所述重建圖像存入外部存儲器;或,所述重建圖像通過所述第四存儲模塊的埠暫存在所述第四存儲模塊中;由所述熵編碼模塊通過所述第四存儲模塊的埠讀出,並將所述重建圖像存入所述外部存儲器;或,將所述重建圖像通過所述第四存儲模塊的埠暫存在所述第四存儲模塊中,由所述環路濾波模塊通過所述第四存儲模塊的埠讀出,並對所述重建圖像進行環路濾波後,存入所述外部存儲器。所述熵編碼模塊接收所述第四存儲模塊發送的殘差數據之前,還包括掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給第四存儲模塊;或,掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給所述熵編碼模塊。所述第四存儲模塊接收並存儲所述轉換後的殘差數據和所述表徵編碼方式的輔助信息,之後還包括環路濾波模塊對所述重建圖像參考數據以整幀為單位進行環路濾波,並將濾波後的重建圖像參考數據存入外部存儲器。所述編碼器中的各個模塊之間還傳遞包括但不限於編碼端預設參數的數據。本發明實施例提供的技術方案的有益效果是本發明改進了視頻編碼器中的流水級結構,包括,增加了獨立的數據加載模塊,流水級之間以及流水級與外部存儲器之間採用雙埠存儲器模塊進行數據交互,克服了原有利用總線或共享內存進行數據交互所導致的低效率問題,簡化了數據交互的控制邏輯,提高了流水級之間數據傳輸的速度。該視頻編碼器的級間數據交互均在宏塊級進行,數據結構一致,簡化了控制流程,有效的提高吞吐率以及降低延遲,可以對高清視頻源進行實時的編碼。為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖l(a)是現有技術提供的4:2:0圖像格式的亮度與色度組合示意圖;圖1(b)是現有技術提供的一種編碼方法的示意圖;圖2是本發明實施例1提供的一種視頻編碼器的結構示意圖;圖3是本發明實施例2提供的一種視頻編碼方法的方法流程圖;圖4是本發明實施例2提供的一種視頻編碼方法的宏塊級流水示意圖;圖5是本發明實施例2提供的一種視頻編碼方法中1/4亞像素精度插值示意圖。具體實施例方式為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明實施方式作進一步地詳細描述。實施例1為了提高編碼時數據處理的效率,本發明實施例提供了一種視頻編碼器,參見圖2,該編碼器包括數據加載模塊201,用於讀入待編碼宏塊和重建圖像參考數據,將讀入的待編碼宏塊和重建圖像參考數據發送給第一存儲模塊202;第一存儲模塊202,用於接收並存儲數據加載模塊201發送的待編碼宏塊和重建圖像參考數據;整像素運動估計模塊203,用於讀取第一存儲模塊202中的待編碼宏塊和重建圖像參考數據,根據待編碼宏塊進行整像素級運動搜索,得到整像素運動估計信息,將整像素運動估計信息,待編碼宏塊和重建圖像參考數據發送給第二存儲模塊204;第二存儲模塊204,用於接收並存儲整像素運動估計模塊203發送的整像素運動估計信息、待編碼宏塊和重建圖像參考數據;亞像素運動估計模塊205,用於讀取第二存儲模塊204中的整像素運動估計信息、待編碼宏塊和重建圖像參考數據,根據整像素運動估計信息、待編碼宏塊和重建圖像參考數據,進行亞像素插值濾波和亞像素級運動搜索,得到亞像素運動估計信息,將亞像素運動估計信息、待編碼宏塊和重建圖像參考數據發送給第三存儲模塊206;第三存儲模塊206,用於接收並存儲亞像素運動估計模塊205發送的亞像素運動估計信息、待編碼宏塊和重建圖像參考數據;綜合處理模塊207,用於讀取第三存儲模塊206中的亞像素運動估計信息、待編碼宏塊和重建圖像參考數據,進行幀內預測,結合亞像素運動估計信息,得到預測殘差和表徵編碼方式的輔助信息,對預測殘差變換和量化,掃描量化後的宏塊,讀取宏塊的殘差數據,將讀取的殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據和表徵編碼方式的輔助信息發送給第四存儲模塊208;綜合處理模塊207還包括反變換量化單元2071,用於將量化後的殘差塊進行反量化,反變換,結合指定塊的數據形成重建圖像。第一存儲單元2072,用於將重建圖像存入外部存儲器;第二存儲單元2073,用於將重建圖像通過第四存儲模塊208的埠暫存在第四存儲模塊208中,由熵編碼模塊210通過第四存儲模塊208的埠讀出,並將重建圖像存入外部存儲器;第三存儲單元2074,用於將重建圖像通過第四存儲模塊208的埠暫存在第四存儲模塊208中,由環路濾波模塊209通過第四存儲模塊208的埠讀出,並對重建圖像進行環路濾波後,存入外部存儲器;第四存儲模塊208,用於接收並存儲綜合處理模塊207發送的轉換後的殘差數據和表徵編碼方式的輔助信息;該編碼器進一步包括環路濾波模塊209,用於對重建圖像以整幀為單位進行環路濾波,以獲得更好的參考幀質量,供幀間預測參考。熵編碼模塊210,用於讀取第四存儲模塊208中的轉換後的殘差數據和表徵編碼方式的輔助信息,進行熵編碼,將得到的二進位碼流輸出。第一掃描單元2075,用於掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給第四存儲模塊208;第二掃描單元2101,用於掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給所述熵編碼模塊。需要說明的是,第一掃描單元2075和第二掃描單元2101執行的"掃描量化後的宏塊,讀取宏塊的殘差數據,將讀取的殘差數據轉換成適合熵編碼處理的數據結構",既可以在綜合處理模塊207中進行,也可以在熵編碼模塊210中進行,該掃描過程只要在熵編碼之前進行即可。需要說明的是,若重建圖象參考數據通過第四存儲模塊208的埠暫存,則重建圖象參考數據既可以由環路濾波模塊209從第四存儲模塊208的埠讀出,並對其進行環路濾波後,存入外部存儲器,也可以在編碼器不選用環路濾波模塊209時,由熵編碼模塊210從第四存儲模塊208的埠讀出,並將重建圖像存入外部存儲器。需要說明的是,各個模塊在工作時所傳遞的數據還包括但不限於一些編碼時需要的設定參數,這些預設參數可以用流水級之間逐級傳遞的方式傳遞,也可以將預設參數存儲在全局存儲器(或寄存器)中,某一級流水級使用時直接從全局存儲器(寄存器)中讀取。需要說明的是,本發明對幀模式和場模式的圖像都統一適用,所以不再區分幀和場,統一稱為幀。本發明改進了視頻編碼器中的流水級結構,包括,增加了獨立的數據加載模塊,流水級之間以及流水級與外部存儲器之間採用雙埠存儲器模塊進行數據交互,克服了原有利用總線或共享內存進行數據交互所導致的低效率問題,簡化了數據交互的控制邏輯,提高了流水級之間數據傳輸的速度。該視頻編碼器的級間數據交互均在宏塊級進行,數據結構一致,簡化了控制流程,有效的提高吞吐率以及降低延遲,可以對高清視頻源進行實時的編碼。實施例2為了提高編碼時數據處理的效率,本發明實施例提供了一種視頻編碼方法,參見圖3,該方法包括301:數據加載模塊201讀入待編碼宏塊和重建圖像參考數據;其中,待編碼宏塊具體是指原始視頻數據中的待編碼宏塊,該重建圖像參考數據是與當前接收的原始視頻數據中待編碼宏塊相對應的。302:數據加載模塊201將讀入的待編碼宏塊和重建圖像參考數據發送給第一存儲模塊202;303:第一存儲模塊202接收並存儲數據加載模塊201發送的待編碼宏塊和重建圖像參考數據;304:整像素運動估計模塊203讀取第一存儲模塊202中存儲的待編碼宏塊和重建圖像參考數據,根據該待編碼宏塊進行整像素級運動搜索,得到整像素運動估計信息,將該整像素運動估計信息,待編碼宏塊和重建圖像參考數據發送給第二存儲模塊204;其中,整像素級運動搜索即是在多種不同預測模式下,在整像素級計算待編碼宏塊和某一個(或某幾個)參考幀(參考幀來自重建圖像參考數據)在預設的搜索範圍內的匹配程度(該匹配程度常用"絕對殘差和"表示),取每個預測模式中匹配程度最高的宏塊,作為該預測模式下的最佳匹配宏塊(即匹配程度最高的宏塊),將最佳匹配宏塊的相關信息作為整像素運動估計信息。其中,整像素運動估計信息包括整像素級運動搜索得到的運動矢量、匹配程度等信息。305:第二存儲模塊204接收並存儲整像素運動估計模塊203發送的整像素運動估計信息,待編碼宏塊和重建圖像參考數據;306:亞像素運動估計模塊205讀取第二存儲模塊204中的整像素運動估計信息,根據該整像素運動估計信息、待編碼宏塊和重建圖像參考數據,進行亞像素插值濾波和亞像素級運動搜索,得到亞像素運動估計信息,將該亞像素運動估計信息、待編碼宏塊和重建圖像參考數據發送給第三存儲模塊206;其中,亞像素運動估計信息包括亞像素插值濾波和亞像素級運動搜索得到的運動矢量、匹配程度等信息。307:第三存儲模塊206接收並存儲亞像素運動估計模塊205發送的亞像素運動估計信息、待編碼宏塊和重建圖像參考數據;308:綜合處理模塊207讀取第三存儲模塊206中的亞像素運動估計信息、待編碼宏塊和重建圖像參考數據,進行幀內預測,結合亞像素運動估計得到的信息,形成預測殘差和表徵編碼方式的輔助信息,對預測殘差變換和量化,掃描量化後的宏塊,讀取宏塊的殘差數據,將讀取的殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據和表徵編碼方式的輔助信息發送給第四存儲模塊208;具體地,將亞像素運動估計得到的最佳匹配塊的匹配程度與幀內預測得到的預測塊的匹配程度,進行比較,得出最終的最佳匹配塊,選擇該最佳匹配塊對應的預測方式,並根據待編碼宏塊與最佳匹配塊計算得到的殘差進行變化編碼(如離散餘弦變換DCT等),按照預設的量化等級進行量化;其中,表徵編碼方式的輔助信息包括表徵預測方式的信息以及其他表徵編碼方式的編信息,該輔助信息有些是編碼端設定的參數,有些是幀內預測和幀間預測進行模式選擇後的預測信息。其中,幀內預測,是指在待編碼宏塊所在幀內,根據已經編碼完畢的重建宏塊數據,預測待編碼宏塊,並記錄預測方法以及預測得到的宏塊與待編碼宏塊的匹配程度,其預測方法有多種,本發明不做具體限定。其中,變換和量化的方法有多種,本發明不做具體限定。其中,亞像素運動估計的目的是減少待編碼宏塊與最佳匹配宏塊之間的殘差,降低碼率,提高壓縮效率,提高運動估計的精度。其中,掃描的方法有多種,本發明不做具體限定。進一步地,步驟308後還包括將量化後的殘差塊進行反量化,反變換,結合指定塊的數據形成重建圖像。重建圖像既可以存入外部存儲器;也可以通過第四存儲模塊的埠暫存在第四存儲模塊中,由熵編碼模塊通過第四存儲模塊的埠讀出,並存入外部存儲器。上述指定塊是指,亞像素運動估計得到的最佳匹配塊的匹配程度與幀內預測得到的預測塊的匹配程度,進行比較,得到的匹配程度最高的塊,即最終的最佳匹配塊。309:第四存儲模塊208接收綜合處理模塊207發送轉換後的殘差數據和表徵編碼方式的輔助信息,並將轉換後的殘差數據發送給熵編碼模塊210;進一步地,環路濾波模塊209讀取重建圖像數據,對重建圖像以整幀為單位進行環路濾波;其中,環路去塊效應濾波是為了獲得更好的參考幀質量,供幀間預測參考。需要說明的是,環路去塊效應濾波是可選的增強技術,如果選用環路去塊效應濾波,則重建圖像先存入第四存儲模塊208中,然後經過環路去塊效應濾波後,再存入外部存儲器。如果不選用環路去塊效應濾波,則重建圖像既可以直接存入外部存儲器,也可以通過第四存儲模塊的埠暫存,然後由熵編碼模塊從第四存儲模塊的讀出,並將重建圖象存入外部存儲器。310:熵編碼模塊210讀取第四存儲模塊208中的殘差數據和表徵編碼方式的輔助信息,進行熵編碼,將得到的二進位碼流輸出。需要說明的是,執行步驟308中的"掃描量化後的宏塊,讀取宏塊的殘差數據,將讀取的殘差數據轉換成適合熵編碼處理的數據結構",也可以在步驟309之後,步驟310之中進行,則有綜合處理模塊輸出量化後的宏塊,第四存儲模塊接收量化後的宏塊,將該宏塊發送給熵編碼模塊,熵編碼模塊掃描量化後的宏塊,讀取宏塊的殘差數據,將讀取的殘差數據轉換成適合熵編碼處理的數據結構,根據處理後的殘差數據進行熵編碼,將得到的二進位碼流輸出。以上步驟301-步驟310的過程中,編碼是一個宏塊級的流水編碼過程,在處理一個編碼圖像幀的多個宏塊時,各個模塊的工作是並行的,即各個模塊分為5級流水級進行工作,各個流水級在不同時間段所處理的宏塊可由下表所示。tableseeoriginaldocumentpage13為方便描述,按照宏塊編碼的次序,對當前編碼圖像幀的所有宏塊從1開始依次進行編號,編號為N的宏塊記為"宏塊N"。本實施例中表達某模塊"處理第X個宏塊"時,如果第X個宏塊存在,則該模塊按實施例中所描述方法處理,如果第X個宏塊不存在(例如處理第N-3個宏塊,而N=1時),則指該模塊閒置不作處理。本發明實施例中用埠A和埠B來表示存儲模塊的兩個埠(一個存儲的情況下)或兩組埠(多個並列存儲的情況下)。同樣,本發明實施例所提到的模塊的輸入埠A和輸出埠B,可以是指一個埠,也可以是指並列的一組埠。如圖4所示,在第N個時間段,第一級流水級中,數據加載模塊通過外部存儲器控制,從外部存儲器中讀入待編碼宏塊,該待編碼宏塊為原始視頻中的宏塊N,通過第一存儲模塊的埠A寫入第一存儲模塊。同時,通過外部存儲器控制,從外部存儲器中讀入宏塊N對應的重建圖像參考數據,並通過第一存儲模塊的埠A寫入第一存儲模塊。如圖4所示,在第N個時間段,第二級流水級中,整像素運動估計模塊通過第一存儲模塊的埠B,從第一存儲模塊中讀出待編碼的宏塊N-1以及宏塊N-1對應的重建圖像參考數據,並按照多種不同的預測模式,根據讀出的數據進行整像素運動搜索,在整像素級計算出待編碼宏塊N-1和某一個(或某幾個)參考幀(參考幀來自重建圖像參考數據)在一定的搜索範圍內的匹配程度(該匹配程度常用絕對殘差和表示),取每個預測模式中匹配程度最高的宏塊,作為該預測模式下的最佳匹配宏塊(即匹配程度最高的宏塊)。並將待編碼宏塊數據,重建圖像參考數據以及與最佳匹配塊相關的數據通過第二存儲模塊的埠A寫入第二存儲模塊。如圖4所示,在第N個時間段,第三級流水級中,亞像素運動估計模塊通過第二存儲模塊的埠B從第二存儲模塊中,讀入待編碼宏塊N-2的數據、重建圖像參考數據以及與最佳匹配塊相關的數據,根據讀入的數據通過亞像素插值濾波,在整像素運動估計找出的最佳匹配塊的周圍一定範圍內的整像素數據之間,插入亞像素(如1/2或1/4等)(如圖5所示),然後作亞像素運動級運動搜索,具體地,按照不同的預測模式,在亞像素級計算出待編碼宏塊N-1和某一個(或某幾個)參考幀(參考幀來自重建圖像參考數據)在一定的搜索範圍內的匹配程度(該匹配程度常用絕對殘差和表示),取每個預測模式中匹配程度最高的宏塊,作為該預測模式下的最佳匹配宏塊(即匹配程度最高的宏塊)。然後,將待編碼宏塊數據,重建圖像參考數據以及亞像素運動估計產生的數據通過第三存儲模塊的埠A寫入第三存儲模塊。如圖4所示,在第N個時間段,第四級流水級中,綜合處理模塊通過第三存儲模塊的埠B,從第三存儲模塊中讀出第個待編碼宏塊N-3數據,重建圖像參考數據以及亞像素運動估計產生的數據。首先進行幀內預測,即在待編碼宏塊所在幀內,根據已經編碼完畢的重建宏塊數據,預測待編碼宏塊,並記錄預測方法以及預測得到的宏塊與待編碼宏塊的匹配程度。然後,將運動估計得到的最佳匹配塊的匹配程度與幀內預測得到的預測塊的匹配程度,進行比較,得出最終的最佳匹配塊,並形成表徵預測方式的信息,以及其他一些表徵編碼方式的輔助信息,然後根據待編碼塊與最佳匹配塊進行計算,將得到的殘差進行變化編碼(如離散餘弦變換DCT等),接著按照預設的量化等級進行量化。最後,按照預設的掃描順序(如zig-zag等)將變換以及量化後的殘差塊按照預設的順序,形成適合熵編碼處理的數據結構(如AVS(AudioVideoCodingStandard,數字音視頻編解碼技術標準)中的遊程-非零係數對,其中遊程表示非零係數之前的零的個數),將此殘差塊和表徵編碼方式的輔助信息通過第四存儲模塊的埠A寫入第四存儲模塊。進一步地,第四級流水級還需要將量化後的殘差塊進行反量化,反變換,結合最佳匹配塊的數據形成重建圖像。重建圖像既可以在第四級流水級通過外部存儲器控制存入外部存儲器;也可以通過存第四儲模塊的埠A暫存在第四存儲模塊中,再由第五級流水級的熵編碼模塊通過第四存儲模塊的埠B讀出,並通過外部存儲器控制將重建圖像存入外部存儲器;或由第五級流水級的環路濾波模塊通過第四存儲模塊的埠B讀出,並對重建圖像進行環路濾波後,通過外部存儲器控制將濾波後的重建圖像存入外部存儲器。如圖4所示,在第N個時間段,第五級流水級中,環路濾波模塊和熵編碼模塊在同一流水級,環路濾波模塊對重建圖像以整幀為單位進行環路濾波,以獲得更好的參考幀質量,供幀間預測參考。熵編碼模塊通過第四存儲模塊的埠B從第四存儲模塊中讀出宏塊N-4的適合熵編碼處理的數據結構和表徵編碼方式的輔助信息,並按照預設的熵編碼算法進行編碼,從而輸出最終的二進位碼流。需要說明的是,各個模塊在工作時所傳遞的數據還包括但不限於一些編碼時需要的設定參數,這些預設參數可以用流水級之間逐級傳遞的方式傳遞,也可以將預設參數存儲在全局存儲器(或寄存器)中,某一級流水級使用時直接從全局存儲器(寄存器)中讀取。本發明改進了視頻編碼器中的流水級結構,包括,增加了獨立的數據加載模塊,流水級之間以及流水級與外部存儲器之間採用雙埠存儲器模塊進行數據交互,克服了原有利用總線或共享內存進行數據交互所導致的低效率問題,簡化了數據交互的控制邏輯,提高了流水級之間數據傳輸的速度。該視頻編碼器的級間數據交互均在宏塊級進行,數據結構一致,簡化了控制流程,有效的提高吞吐率以及降低延遲,可以對高清視頻源進行實時的編碼。本發明實施例可以利用軟體實現,相應的軟體程序可以存儲在可讀取的存儲介質中,例如,計算機的硬碟、緩存或光碟中。以上所述僅為本發明的較佳實施例,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、合併、拆分、改進等,均應包含在本發明的保護範圍之內。權利要求一種視頻編碼器,其特徵在於,包括數據加載模塊,用於讀入待編碼宏塊和重建圖像參考數據,將讀入的待編碼宏塊和重建圖像參考數據發送給第一存儲模塊;所述第一存儲模塊,用於接收並存儲所述待編碼宏塊和所述重建圖像參考數據;整像素運動估計模塊,用於讀取所述待編碼宏塊和所述重建圖像參考數據,根據所述待編碼宏塊進行整像素級運動搜索,得到整像素運動估計信息,將所述整像素運動估計信息,所述待編碼宏塊和所述重建圖像參考數據發送給第二存儲模塊;所述第二存儲模塊,用於接收並存儲所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據;亞像素運動估計模塊,用於讀取所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,根據所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,進行亞像素插值濾波和亞像素級運動搜索,得到亞像素運動估計信息,將所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據發送給第三存儲模塊;所述第三存儲模塊,用於接收並存儲所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據;綜合處理模塊,用於讀取所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,進行幀內預測,結合所述亞像素運動估計信息,得到預測殘差和表徵編碼方式的輔助信息,對所述預測殘差變換和量化,掃描量化後的宏塊,讀取宏塊的殘差數據,將讀取的殘差數據轉換成適合熵編碼處理的數據結構和所述表徵編碼方式的輔助信息,將轉換後的殘差數據發送給第四存儲模塊;所述第四存儲模塊,用於接收並存儲所述轉換後的殘差數據和所述表徵編碼方式的輔助信息;熵編碼模塊,用於讀取所述殘差數據和所述表徵編碼方式的輔助信息,進行熵編碼,將得到的二進位碼流輸出。2.如權利要求1所述的視頻編碼器,其特徵在於,所述編碼器還包括環路濾波模塊,用於對所述重建圖像參考數據進行環路濾波。3.如權利要求1所述的視頻編碼器,其特徵在於,所述綜合處理模塊還包括反變換量化單元,用於將量化後的殘差塊進行反量化,反變換,結合指定塊的數據形成重建圖像。4.如權利要求3所述的視頻編碼器,其特徵在於,所述綜合處理模塊還包括第一存儲單元,用於將所述重建圖像存入外部存儲器;第二存儲單元,用於將所述重建圖像通過所述第四存儲模塊的埠暫存在所述第四存儲模塊中,由所述熵編碼模塊通過所述第四存儲模塊的埠讀出,並將所述重建圖像存入所述外部存儲器;第三存儲單元,用於將所述重建圖像通過所述第四存儲模塊的埠暫存在所述第四存儲模塊中,由所述環路濾波模塊通過所述第四存儲模塊的埠讀出,並對所述重建圖像進行環路濾波後,存入所述外部存儲器。5.如權利要求1所述的視頻編碼器,其特徵在於,所述編碼器還包括第一掃描單元,用於掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給第四存儲模塊;第二掃描單元,用於掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給所述熵編碼模塊。6.如權利要求1至5所述的視頻編碼器,其特徵在於,所述編碼器中的各個模塊之間還傳遞包括但不限於編碼端預設參數的數據。7.—種視頻編碼方法,其特徵在於,包括數據加載模塊讀入待編碼宏塊和重建圖像參考數據;所述數據加載模塊將讀入的待編碼宏塊和重建圖像參考數據發送給第一存儲模塊;所述第一存儲模塊接收並存儲所述待編碼宏塊和所述重建圖像參考數據;整像素運動估計模塊讀取所述待編碼宏塊和所述重建圖像參考數據,根據所述待編碼宏塊進行整像素級運動搜索,得到整像素運動估計信息,將所述整像素運動估計信息,所述待編碼宏塊和所述重建圖像參考數據發送給第二存儲模塊;所述第二存儲模塊接收並存儲所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據;亞像素運動估計模塊讀取所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,根據所述整像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,進行亞像素插值濾波和亞像素級運動搜索,得到亞像素運動估計信息,將所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據發送給第三存儲模塊;所述第三存儲模塊接收並存儲所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據;所述綜合處理模塊讀取所述亞像素運動估計信息、所述待編碼宏塊和所述重建圖像參考數據,進行幀內預測,結合所述亞像素運動估計信息,得到預測殘差和表徵編碼方式的輔助信息,對所述預測殘差變換和量化,掃描量化後的宏塊,讀取宏塊的殘差數據,將讀取的殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據和所述表徵編碼方式的輔助信息發送給第四存儲模塊;所述第四存儲模塊接收並存儲所述轉換後的殘差數據和所述表徵編碼方式的輔助信息;所述熵編碼模塊讀取所述殘差數據和所述表徵編碼方式的輔助信息,進行熵編碼,將得到的二進位碼流輸出。8.如權利要求7所述的方法,其特徵在於,所述預測殘差變換和量化之後還包括將量化後的殘差塊進行反量化,反變換,結合指定塊的數據形成重建圖像。9.如權利要求8所述的方法,其特徵在於,所述重建圖像存入外部存儲器;或,所述重建圖像通過所述第四存儲模塊的埠暫存在所述第四存儲模塊中,由所述熵編碼模塊通過所述第四存儲模塊的埠讀出,並將所述重建圖像存入所述外部存儲器;或,將所述重建圖像通過所述第四存儲模塊的埠暫存在所述第四存儲模塊中,由所述環路濾波模塊通過所述第四存儲模塊的埠讀出,並對所述重建圖像進行環路濾波後,存入所述外部存儲器。10.如權利要求7所述的方法,其特徵在於,所述熵編碼模塊接收所述第四存儲模塊發送的殘差數據之前,還包括掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給第四存儲模塊;或,掃描量化後的宏塊數據,讀取宏塊的殘差數據,將所述殘差數據轉換成適合熵編碼處理的數據結構,將轉換後的殘差數據發送給所述熵編碼模塊。11.如權利要求7所述的方法,其特徵在於,所述第四存儲模塊接收並存儲所述轉換後的殘差數據和所述表徵編碼方式的輔助信息,之後還包括環路濾波模塊對所述重建圖像參考數據以整幀為單位進行環路濾波,並將濾波後的重建圖像參考數據存入外部存儲器。12.如權利要求7至11所述的視頻編碼器,其特徵在於,所述編碼器中的各個模塊之間還傳遞包括但不限於編碼端預設參數的數據。全文摘要本發明公開了一種視頻編碼器和編碼方法,屬於視頻編碼領域。該編碼器分為五級流水,包括數據加載模塊、第一存儲模塊、整像素運動估計模塊、第二存儲模塊、亞像素運動估計模塊、第三存儲模塊、綜合處理模塊、第四存儲模塊以及環路濾波模塊和熵編碼模塊。還提出了一種視頻編碼方法。本發明的五級流水模塊之間利用雙埠存儲器模塊進行數據交互,簡化了數據交互的控制邏輯,提高了流水級之間數據傳輸的速度。該視頻編碼器的級間數據交互均在宏塊級進行,數據結構一致,簡化了控制流程,有效的提高吞吐率以及降低延遲,可以對高清視頻源進行實時的編碼。文檔編號H04N7/50GK101707716SQ20091023797公開日2010年5月12日申請日期2009年11月19日優先權日2009年11月19日發明者何芸,佟欣,安達,朱炳強,榮耀程,袁媛申請人:清華大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀