專利名稱:一種多處理器并行實(shí)現(xiàn)高分辨率圖像濾波的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于圖像信息壓縮領(lǐng)域,具體涉及一種高分辨率圖像編(或解)碼濾波 在多片處理器上并行實(shí)現(xiàn)的方法。
背景技術(shù):
MPEG-4 PART-10 AVC建議,即H. 264標(biāo)準(zhǔn),以其高出一籌的視頻圖像壓縮 效率和重建圖像的質(zhì)量,獲得了業(yè)界的青睞。但11.264的高清晰度是以空間和時(shí) 間復(fù)雜度為代價(jià)的,在同等視頻編碼條件下,H.264編碼實(shí)現(xiàn)的所需要的耗時(shí) 是H. 263的3倍以上,并且H. 264需要更大的內(nèi)存空間來存儲(chǔ)龐大的中間數(shù)據(jù)。 因此,當(dāng)用H264對(duì)高分辨率圖像(如Dl,720p, 1080i)進(jìn)行編碼(或解碼,不失 一般性,下面統(tǒng)一用編碼)的時(shí)候,現(xiàn)如今的單顆處理器如DSP,ARM,或FPGA都 很難以支撐實(shí)時(shí)的編碼,特別是在編解高清或全高清圖像的時(shí)候,甚至需要2 片以上的處理器來完成一路圖像的編碼。當(dāng)用兩片或者兩片以上(以下稱為多片)的處理器對(duì)一路視頻序列進(jìn)行編碼, 就產(chǎn)生了一個(gè)問題,即怎樣使多片處理器的能力發(fā)揮到最大。如果其中一顆處理 器在運(yùn)行的時(shí)候,其他的處理器在閑置,那么跟一片沒有什么分別。但是多片處 理器如果要同時(shí)運(yùn)行,則必須得保證多片數(shù)據(jù)訪問沒有沖突。H.264引入的環(huán)路濾波是一種能夠自適應(yīng)去塊效應(yīng)的一種新方法。H.264的 環(huán)路濾波能有效地去除編碼重建圖像的塊效應(yīng),是H,264的亮點(diǎn)之一。H,264環(huán) 路濾波分為水平和垂直邊界的濾波。在對(duì)當(dāng)前宏塊進(jìn)行濾波的時(shí)候,需要用到上 面宏塊和左邊宏塊的數(shù)據(jù),如圖1所示。因此,在對(duì)當(dāng)前宏塊濾波的時(shí)候,必須 對(duì)上面和左邊的宏塊的數(shù)據(jù)已經(jīng)做了濾波,以使得其數(shù)據(jù)可用,由此造成了多片 處理器并行計(jì)算的困難。一種的簡單的可行辦法是單片處理器完成整幀圖像的處 理,這樣實(shí)現(xiàn)的效率無疑浪費(fèi)了其他處理器的資源,因?yàn)樵跒V波處理完成之前, 其他處理器不能進(jìn)行其他任何的動(dòng)作。另外一種方案是將亮度和色度分開由兩片 數(shù)字信號(hào)處理器(Digital Signal Processing, DSP)處理,但考慮到亮度的 數(shù)據(jù)量是色度的一倍(圖像格式是4:2:0),并且計(jì)算復(fù)雜度也幾乎是色度的一 倍,總的資源開銷將近4:1,因此這種方案也沒有充分利用多片處理器的資源。在如今的H.264解決方案中,基于DSP的方式是一種常用的選擇,因DSP 芯片的速率越來越高,集成的功能越來越強(qiáng)大,性能也日益增強(qiáng)大。發(fā)明內(nèi)容本發(fā)明所要解決的問題是,提供一種多處理器并行實(shí)現(xiàn)高分辨率圖像濾波的 方法,該方法能夠充分利用多片處理器的資源,使得多片處理器能并行地完成濾 波過程,從而以較小的資源占用、較快的速度完成濾波。本發(fā)明所述的一種多處理器并行實(shí)現(xiàn)高分辨率圖像濾波的方法,包括以下步驟步驟一將圖像宏塊行的宏塊按順序分成與處理器個(gè)數(shù)相同的份數(shù); 步驟二前一顆處理器完成宏塊行對(duì)應(yīng)部分的濾波后,下一顆處理器接著進(jìn)行該宏塊行下一部分的濾波操作,而前一顆處理器進(jìn)行下一個(gè)宏塊行的對(duì)應(yīng)部分的濾波,依次類推,直至完成一幀濾波。 所述步驟二進(jìn)一步包括以下步驟步驟A:第一顆處理器處理第一個(gè)宏塊行的第一份濾波,此時(shí),其他處理器 閑置;步驟B:第一顆處理器處理第二個(gè)宏塊行的第一份濾波,與此同時(shí),第二顆 濾波器處理第一個(gè)宏塊行的第二份濾波,其他濾波器閑置;步驟C:以此類推,直到第一顆處理器處理與處理器個(gè)數(shù)同數(shù)個(gè)宏塊行的第 一份濾波,至此,處理器開始并行運(yùn)行;步驟D:第一顆處理器繼續(xù)處理下一個(gè)宏塊行的第一份濾波;其他處理器相 應(yīng)的處理對(duì)應(yīng)宏塊行的對(duì)應(yīng)部分的濾波;依次類推,直至第一顆處理器處理最后 一個(gè)宏塊行的第一份濾波;步驟E:第一顆處理器閑置,第二顆處理器處理最后一個(gè)宏塊行的第二份濾 波,依次類推,直至完成一幀濾波。所述處理器處理完的重建寫在片外存儲(chǔ)器上。所述步驟一中,若宏塊行的宏塊數(shù)不能被處理器數(shù)目整除,則余數(shù)部分的宏 塊分在最后一份中。本發(fā)明利用了高清晰度格式的視頻數(shù)據(jù)量大的特點(diǎn),將一個(gè)宏塊行的數(shù)據(jù)分 成與處理器個(gè)數(shù)相同的份,每一顆處理器負(fù)責(zé)計(jì)算不同行的像素濾波,而在此之 前,前一次濾波已經(jīng)使得上方、左側(cè)數(shù)據(jù)可用,使得并行計(jì)算能得以順利進(jìn)行。這樣的處理過程幾乎是所有的處理器同時(shí)濾波計(jì)算,非常有效地利用了多片處理 器的資源,提高了處理效率。
圖l是比264濾波邊界示意圖;圖2是本發(fā)明所述方法的流程圖;圖3是本發(fā)明為四片DSP時(shí)的濾波示意圖。
具體實(shí)施方式
下面結(jié)合圖2和圖3對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。本發(fā)明中,假設(shè)處理器的數(shù)目為N,并設(shè)圖像的宏塊行數(shù)為M,每行的宏塊 數(shù)為L。 L能被N整除,也可以不能被N整除。L能被N整除的情況下,每份宏 塊數(shù)為[L/N]個(gè);L不能被N整除的情況下,前N-1份每份中的宏塊數(shù)為[L/N]個(gè), 而第N份的宏塊數(shù)為L一(N-1盧[L/N]個(gè)。本實(shí)施例以DSP為例,取附4,分別為DSPJ)、 DSP—1、 DSP—2和DSP—3;且 L能被N整除,即分為4份第一步DSP_0對(duì)第一宏塊行的第一個(gè)1/4行濾波。濾波之后的重建數(shù)據(jù)寫在片外存 儲(chǔ)器中(以下步驟完成后都存儲(chǔ)在片外存儲(chǔ)器)。此時(shí),DSPJ, DSP—2, DSP—3 閑置掛起。第二步DSP一1開始對(duì)第一宏塊行的第二個(gè)1/4行像素濾波。與此同時(shí),DSP—0對(duì)第 二宏塊行的前1/4行濾波,DSP—2、 DSP3繼續(xù)閑置。 第三步DSP_2開始對(duì)第一宏塊行的第三個(gè)1/4行濾波。與此同時(shí),DSP」則對(duì)第二 宏塊行的第二個(gè)1/4行濾波;而DSP—0則對(duì)第三宏塊行的第一個(gè)1/4行濾波; DSP—3繼續(xù)閑置。第四步DSP_3開始對(duì)第一宏塊行的最后一個(gè)1/4行濾波。與此同時(shí),DSP—2對(duì)第二 宏塊行的第三個(gè)1/4行濾波;DSP—1對(duì)第三宏塊行的第二個(gè)1/4行濾波;DSP—0 則對(duì)第四宏塊行的第一個(gè)l/4行濾波。至此,4顆DSP開始并行計(jì)算。第五步類似步驟四的過程,所有的DSP對(duì)下一個(gè)宏塊行的對(duì)應(yīng)l/4行濾波,直到最 后一個(gè)宏塊行第k=M宏塊行的第一個(gè)1/4行。 第六步DSPJ)閑置,其他處理器完成下一個(gè)宏塊行的對(duì)應(yīng)的1/4宏塊行的濾波。 第七步DSP—0, DSP—l閑置,DSP—2,DSP—3完成相應(yīng)l/4宏塊行的濾波。 第八步DSP一0, DSP—1, DSP_2閑置,DSP—3完成最后一個(gè)宏塊行即第M宏塊行最后一 個(gè)l/4行的濾波。至此,完成了整幀圖像的濾波。本發(fā)明以DSP實(shí)現(xiàn)為例進(jìn)行說明,但不失一般性,本發(fā)明也適用于FPGA、 ARM、 ASIC等其他芯片。
權(quán)利要求
1、一種多處理器并行實(shí)現(xiàn)高分辨率圖像濾波的方法,其特征在于,包括以下步驟步驟一將圖像宏塊行的宏塊按順序分成與處理器個(gè)數(shù)相同的份數(shù);步驟二前一顆處理器完成宏塊行對(duì)應(yīng)份的濾波后,下一顆處理器接著進(jìn)行該宏塊行下一份的濾波操作,而前一顆處理器進(jìn)行下一個(gè)宏塊行的對(duì)應(yīng)份的濾波,依次類推,直至一幀濾波完成。
2、 如權(quán)利要求1所述的多處理器并行實(shí)現(xiàn)高分辨率圖像濾波的方法,其特 征在于,步驟二進(jìn)一步包括以下步驟步驟A:第一顆處理器完成第一個(gè)宏塊行的第一份濾波,此時(shí),其他處理器 閑置;步驟B:第一顆處理器完成第二個(gè)宏塊行的第一份濾波,與此同時(shí),第二顆 濾波器完成第一個(gè)宏塊行的第二份濾波,其他濾波器閑置;步驟C:以此類推,直到第一顆處理器完成與處理器個(gè)數(shù)同數(shù)個(gè)宏塊行的第 一份濾波,處理器開始并行運(yùn)行;步驟D:第一顆處理器繼續(xù)完成下一個(gè)宏塊行的第一份濾波;其他處理器相 應(yīng)的完成對(duì)應(yīng)宏塊行的對(duì)應(yīng)部分的濾波;依次類推,直至第一顆處理器完成最后 一個(gè)宏塊行的第一份濾波;步驟E:第一顆處理器閑置,第二顆處理器完成最后一個(gè)宏塊行的第二份濾 波,依次類推,直至完成一幀濾波。
3、 如權(quán)利要求1或2所述的多處理器并行實(shí)現(xiàn)高分辨率圖像濾波的方法, 其特征在于,所述處理器處理完的重建寫在片外存儲(chǔ)器上。
4、 如權(quán)利要求1所述的多處理器并行實(shí)現(xiàn)高分辨率圖像濾波的方法,其特 征在于,步驟一中,若宏塊行的宏塊數(shù)不能被處理器數(shù)目整除,則余數(shù)部分的宏 塊分在最后一份中。
全文摘要
本發(fā)明涉及一種多處理器并行實(shí)現(xiàn)高分辨率圖像濾波的方法,該方法首先將圖像宏塊行的宏塊按順序分成與處理器個(gè)數(shù)相同的份數(shù);然后進(jìn)行濾波,前一顆處理器完成宏塊行對(duì)應(yīng)份的濾波后,下一顆處理器接著進(jìn)行該宏塊行下一份的濾波操作,而前一顆處理器進(jìn)行下一個(gè)宏塊行的對(duì)應(yīng)份的濾波,依次類推,直至一幀濾波完成。本發(fā)明利用了高清晰度格式的視頻數(shù)據(jù)量大的特點(diǎn),將一個(gè)宏塊行的數(shù)據(jù)分成與處理器個(gè)數(shù)相同的份,每一顆處理器負(fù)責(zé)計(jì)算不同行的像素濾波,而在此之前,前一次濾波已經(jīng)使得上方、左側(cè)數(shù)據(jù)可用,使得并行計(jì)算能得以順利進(jìn)行。該方法幾乎使所有的處理器同時(shí)濾波計(jì)算,非常有效地利用了多片處理器的資源,提高了處理效率。
文檔編號(hào)H04N7/26GK101252691SQ20081006555
公開日2008年8月27日 申請(qǐng)日期2008年3月12日 優(yōu)先權(quán)日2008年3月12日
發(fā)明者梁立偉, 寧 王, 陳晨航 申請(qǐng)人:中興通訊股份有限公司