專利名稱:一種雙線性兩倍上采樣方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于圖像處理、視頻編解碼等技術(shù)領(lǐng)域,具體涉及到一種雙線性兩倍上采樣方法及系統(tǒng)。
背景技術(shù):
近年來,隨著圖像處理、視頻編解碼技術(shù)的不斷發(fā)展,人們對圖像和視頻的呈現(xiàn)靈活性要求越來越高。例如,圖像的放大縮小,視頻的拉伸壓縮,其中都涉及到上下采樣技術(shù)。 尤其是在可伸縮視頻編碼中,編解碼器內(nèi)部都需要進(jìn)行上下采樣,以支持空域可伸縮的特性。圖像上采樣是從較低分辨率圖像中產(chǎn)生較高分辨率的過程,也就是增大圖像分辨率。上采樣技術(shù)有很多種,從最簡單的最近鄰域采樣,到較為復(fù)雜的Lanczos采樣等。最近鄰域采樣的運(yùn)算量最小且容易實(shí)現(xiàn),但效果最差。Lanczos采樣方法是BicubicResize的替代者,可以提供更精準(zhǔn)、更銳利的畫質(zhì),但其程序復(fù)雜、消耗時(shí)間長。對于圖像處理,為了提高畫質(zhì)而采用較復(fù)雜、較耗時(shí)的采樣方法是合理的。然而對于視頻應(yīng)用,實(shí)時(shí)性、同步性的要求則是第一位的。雙線性上采樣是上采樣算法中較為簡單的一種,由于它速度較快,采樣效果較好,因而被廣泛使用。雙線性采樣法的輸出像素值是它在輸入圖像中2X2領(lǐng)域采樣點(diǎn)的平均值,就是根據(jù)周圍最接近的四個點(diǎn)的像素值通過加權(quán)平均計(jì)算出新像素值。它根據(jù)周圍4個像素的灰度值在水平和垂直兩個方向上進(jìn)行插值。雙線性上采樣的比較典型的應(yīng)用場合是進(jìn)行兩倍上采樣。現(xiàn)有的雙線性上采樣方法是針對多倍上采樣的通用方法,采用乘法計(jì)算采樣結(jié)果,由于乘法計(jì)算耗時(shí)較多、速度較慢,因此采樣效率較低。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明所要解決的技術(shù)問題是提供一種效率高的雙線性兩倍上采樣方法及系統(tǒng)。為解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案如下一種雙線性兩倍上采樣方法,包括以下步驟(1)申請四個緩沖區(qū),分別為第一緩沖區(qū)、第二緩沖區(qū)、第三緩沖區(qū)和第四緩沖區(qū);(2)將待采樣圖像輸入到第一緩沖區(qū);(3)遍歷待采樣圖像,分別對待采樣圖像進(jìn)行橫向像素采樣、縱向像素采樣和相鄰四像素采樣;將橫向像素采樣結(jié)果存入第二緩沖區(qū),將縱向像素采樣結(jié)果存入第三緩沖區(qū), 將相鄰四像素采樣結(jié)果存入第四緩沖區(qū);(4)將四個緩沖區(qū)中像素進(jìn)行交錯排布,輸出采樣后圖像。一種雙線性兩倍上采樣系統(tǒng),包括用于申請緩沖區(qū)的緩存裝置,所述緩存裝置申請四個緩沖區(qū),分別為第一緩沖區(qū)、第二緩沖區(qū)、第三緩沖區(qū)和第四緩沖區(qū);所述第一緩沖區(qū)用于緩存待采樣圖像,所述第二緩沖區(qū)用于緩存橫向像素采樣所得像素,所述第三緩沖區(qū)用于緩存縱向像素采樣所得像素, 所述第四緩沖區(qū)用于緩存相鄰四像素采樣所得像素;用于將待采樣圖像輸入到第一緩沖區(qū)的輸入裝置;用于對待采樣圖像進(jìn)行橫向像素采樣、縱向像素采樣和相鄰四像素采樣,并將橫向像素采樣結(jié)果存入第二緩沖區(qū),將縱向像素采樣結(jié)果存入第三緩沖區(qū),將相鄰四像素采樣結(jié)果存入第四緩沖區(qū)的采樣裝置;用于將四個緩沖區(qū)中像素進(jìn)行交錯排布,輸出采樣后圖像的輸出裝置。本發(fā)明所述方法及系統(tǒng),通過將待采樣圖像進(jìn)行橫向像素采樣、縱向像素采樣和相鄰四像素采樣,并將采樣結(jié)果存入不同的緩沖區(qū)中,再交錯排布四個緩沖區(qū)中像素的方式,大大提高了圖像雙線性兩倍上采樣的效率。而且,在采樣過程中,通過計(jì)算相鄰像素平均值的方式,代替了乘法計(jì)算,從而減少了計(jì)算時(shí)間,加快了采樣速度。
圖1是具體實(shí)施方式
中所述雙線性兩倍上采樣系統(tǒng)的結(jié)構(gòu)框圖;圖2是具體實(shí)施方式
中所述雙線性兩倍上采樣方法的流程圖;圖3是具體實(shí)施方式
中緩沖區(qū)起始地址16字節(jié)對齊示意圖;圖4是具體實(shí)施方式
中待采樣圖像像素分布示意圖;圖5是具體實(shí)施方式
中四個緩沖區(qū)中像素交錯排布的示意圖。
具體實(shí)施例方式下面結(jié)合具體實(shí)施方式
和附圖對本發(fā)明進(jìn)行詳細(xì)描述。圖1出示了本實(shí)施方式中所述雙線性兩倍上采樣系統(tǒng)的結(jié)構(gòu)框圖。該系統(tǒng)包括緩存裝置12,與緩存裝置12連接的輸入裝置11和采樣裝置13,以及與采樣裝置13連接的輸出裝置14。緩存裝置12用于申請緩沖區(qū),本實(shí)施方式中共申請四個緩沖區(qū),分別命名為第一緩沖區(qū)(0緩沖區(qū))、第二緩沖區(qū)(H緩沖區(qū))、第三緩沖區(qū)(V緩沖區(qū))和第四緩沖區(qū)(HV緩沖區(qū))。0緩沖區(qū)用于緩存待采樣圖像,H緩沖區(qū)用于緩存橫向像素采樣所得像素,V緩沖區(qū)用于緩存縱向像素采樣所得像素,HV緩沖區(qū)用于緩存相鄰四像素采樣所得像素。輸入裝置11用于將待采樣圖像輸入到0緩沖區(qū)。采樣裝置13用于對待采樣圖像進(jìn)行橫向像素采樣、縱向像素采樣和相鄰四像素采樣,并將橫向像素采樣結(jié)果存入H緩沖區(qū),將縱向像素采樣結(jié)果存入V緩沖區(qū),將相鄰四像素采樣結(jié)果存入HV緩沖區(qū)。輸出裝置14用于將四個緩沖區(qū)中像素進(jìn)行交錯排布,輸出采樣后圖像。圖2出示了采用圖1所示系統(tǒng)進(jìn)行雙線性兩倍上采樣的方法流程圖。該方法包括以下步驟(1)緩存裝置12首先申請四個緩沖區(qū),分別命名為0緩沖區(qū)、H緩沖區(qū)、V緩沖區(qū)和HV緩沖區(qū)。每個緩沖區(qū)的大小均不小于待采樣圖像的大小,且為16的倍數(shù)。申請四個緩沖區(qū)后,還包括對每個緩沖區(qū)的起始地址進(jìn)行16字節(jié)對齊的操作。本實(shí)施方式中,16字節(jié)對齊操作采用如下方式對于32位應(yīng)用程序,首先在申請每個緩沖區(qū)時(shí),額外申請19字節(jié)空間;然后記錄緩沖區(qū)的起始地址P,將P+4字節(jié)后進(jìn)行16字節(jié)向上對齊,得到Q。對于64位應(yīng)用程序,在申請每個緩沖區(qū)時(shí),額外申請23字節(jié)空間;記錄緩沖區(qū)的起始地址P,將P+8字節(jié)后進(jìn)行16 字節(jié)向上對齊,得到Q。其中4字節(jié)和8字節(jié)為指針的大小。緩沖區(qū)的結(jié)束地址相應(yīng)后延, 保證緩沖區(qū)的大小不變。16字節(jié)對齊處理后,對于32位應(yīng)用程序,將P寫入Q的前方4字節(jié)中;對于64位應(yīng)用程序,將P寫入Q的前方8字節(jié)中。例如,如圖3所示,設(shè)某緩沖區(qū)的起始位置P為10,將P向右移4個字節(jié)后到達(dá)R 位置,R為14 ;與16相比差2個字節(jié),再向右移動2個字節(jié)后到達(dá)Q位置,此時(shí)緩沖區(qū)的當(dāng)前起始位置Q為16,達(dá)到了對齊目的。由于多申請了 19或23字節(jié),因此緩沖區(qū)的大小能夠保持不變。在釋放緩沖區(qū)時(shí),將Q減去4字節(jié)(64位應(yīng)用程序?yàn)?字節(jié))取得P,釋放P即可。(2)輸入裝置11將待采樣圖像(原始圖像)輸入到0緩沖區(qū),作為上采樣源數(shù)據(jù)。(3)采樣裝置13遍歷待采樣圖像,分別對待采樣圖像進(jìn)行橫向像素采樣、縱向像素采樣和相鄰四像素采樣。將橫向像素采樣結(jié)果存入H緩沖區(qū),將縱向像素采樣結(jié)果存入 V緩沖區(qū),將相鄰四像素采樣結(jié)果存入HV緩沖區(qū)。以圖4所示原始圖像為例,其像素為IOX 10矩陣,行和列的交叉點(diǎn)表示像素。橫向像素采樣的過程如下遍歷待采樣圖像,首先計(jì)算像素00(第0行第0列像素,其他像素相同的表示方式的含義以此類推)和像素01的平均值,存入H緩沖區(qū)中第0行第0列位置; 然后計(jì)算像素01和像素02的平均值,存入H緩沖區(qū)中第0行第1列位置;再計(jì)算像素02 和像素03的平均值,存入H緩沖區(qū)中第0行第2列位置;以此類推。處理完第一行后,再與處理第一行相同的方式處理第二行,直到處理完所有行,橫向像素采樣結(jié)束。H緩沖區(qū)中存儲的采樣結(jié)果如下表所示
權(quán)利要求
1.一種雙線性兩倍上采樣方法,包括以下步驟(1)申請四個緩沖區(qū),分別為第一緩沖區(qū)、第二緩沖區(qū)、第三緩沖區(qū)和第四緩沖區(qū);(2)將待采樣圖像輸入到第一緩沖區(qū);(3)遍歷待采樣圖像,分別對待采樣圖像進(jìn)行橫向像素采樣、縱向像素采樣和相鄰四像素采樣;將橫向像素采樣結(jié)果存入第二緩沖區(qū),將縱向像素采樣結(jié)果存入第三緩沖區(qū),將相鄰四像素采樣結(jié)果存入第四緩沖區(qū);(4)將四個緩沖區(qū)中像素進(jìn)行交錯排布,輸出采樣后圖像。
2.如權(quán)利要求1所述的方法,其特征在于步驟(1)中所述四個緩沖區(qū)中,每個緩沖區(qū)的大小不小于待采樣圖像的大小,且為16的倍數(shù)。
3.如權(quán)利要求2所述的方法,其特征在于步驟(1)中還包括對四個緩沖區(qū)的起始地址進(jìn)行16字節(jié)對齊的操作。
4.如權(quán)利要求3所述的方法,其特征在于對每個緩沖區(qū)的地址進(jìn)行16字節(jié)對齊操作的方法如下對于32位應(yīng)用程序,在申請每個緩沖區(qū)時(shí),額外申請19字節(jié)空間;記錄緩沖區(qū)的起始地址P,將P+4個字節(jié)后進(jìn)行16字節(jié)向上對齊;緩沖區(qū)的結(jié)束地址相應(yīng)后延,保證緩沖區(qū)的大小不變。
5.如權(quán)利要求3所述的方法,其特征在于對每個緩沖區(qū)的地址進(jìn)行16字節(jié)對齊操作的方法如下對于64位應(yīng)用程序,在申請每個緩沖區(qū)時(shí),額外申請23字節(jié)空間;記錄緩沖區(qū)的起始地址P,將P+8字節(jié)后進(jìn)行16字節(jié)向上對齊;緩沖區(qū)的結(jié)束地址相應(yīng)后延,保證緩沖區(qū)的大小不變。
6.如權(quán)利要求1所述的方法,其特征在于步驟(3)中所述橫向像素采樣采用的方法如下遍歷待采樣圖像,對待采樣圖像的每一行像素,計(jì)算相鄰兩個像素的平均值,作為橫向像素采樣結(jié)果。
7.如權(quán)利要求1所述的方法,其特征在于步驟(3)中所述縱向像素采樣采用的方法如下遍歷待采樣圖像,對待采樣圖像的每一列像素,計(jì)算相鄰兩個像素的平均值,作為縱向像素采樣結(jié)果。
8.如權(quán)利要求7所述的方法,其特征在于所述計(jì)算相鄰兩個像素的平均值采用并行求平均數(shù)指令進(jìn)行并行計(jì)算。
9.如權(quán)利要求1所述的方法,其特征在于步驟(3)中所述相鄰四像素采樣采用的方法如下遍歷待采樣圖像,對待采樣圖像相鄰的四個像素,計(jì)算平均值,作為相鄰四像素采樣結(jié)^ ο
10.如權(quán)利要求6所述的方法,其特征在于步驟(3)中所述相鄰四像素采樣采用的方法如下獲取相鄰四像素中上面兩個像素的平均值A(chǔ)和下面兩個像素的平均值B,計(jì)算A和B的平均值,作為相鄰四像素的平均值。
11.如權(quán)利要求10所述的方法,其特征在于所述相鄰四像素的平均值采用并行求平均數(shù)指令進(jìn)行并行計(jì)算。
12.如權(quán)利要求6至11之一所述的方法,其特征在于步驟中所述將四個緩沖區(qū)中像素進(jìn)行交錯排布的方法如下在第一緩沖區(qū)中的圖像每行兩個相鄰像素之間插入第二緩沖區(qū)中這兩個像素的平均值,在每列兩個相鄰像素之間插入第三緩沖區(qū)中這兩個像素的平均值,在相鄰四像素的中心位置處插入第四緩沖區(qū)中這四個像素的平均值。
13.如權(quán)利要求12所述的方法,其特征在于所述將四個緩沖區(qū)中像素進(jìn)行交錯排布的方法為采用并行整數(shù)交錯指令對四個緩沖區(qū)中像素進(jìn)行并行交錯排布。
14.一種雙線性兩倍上采樣系統(tǒng),包括用于申請緩沖區(qū)的緩存裝置(12),所述緩存裝置(1 申請四個緩沖區(qū),分別為第一緩沖區(qū)、第二緩沖區(qū)、第三緩沖區(qū)和第四緩沖區(qū);所述第一緩沖區(qū)用于緩存待采樣圖像,所述第二緩沖區(qū)用于緩存橫向像素采樣所得像素,所述第三緩沖區(qū)用于緩存縱向像素采樣所得像素,所述第四緩沖區(qū)用于緩存相鄰四像素采樣所得像素;用于將待采樣圖像輸入到第一緩沖區(qū)的輸入裝置(11);用于對待采樣圖像進(jìn)行橫向像素采樣、縱向像素采樣和相鄰四像素采樣,并將橫向像素采樣結(jié)果存入第二緩沖區(qū),將縱向像素采樣結(jié)果存入第三緩沖區(qū),將相鄰四像素采樣結(jié)果存入第四緩沖區(qū)的采樣裝置(13);以及用于將四個緩沖區(qū)中像素進(jìn)行交錯排布,輸出采樣后圖像的輸出裝置(14)。
全文摘要
本發(fā)明公開了一種雙線性兩倍上采樣方法及系統(tǒng),屬于圖像處理、視頻編解碼等技術(shù)領(lǐng)域?,F(xiàn)有的雙線性上采樣方式的效率較低。本發(fā)明首先申請四個緩沖區(qū),分別為第一緩沖區(qū)、第二緩沖區(qū)、第三緩沖區(qū)和第四緩沖區(qū);然后將待采樣圖像輸入到第一緩沖區(qū);再遍歷待采樣圖像,分別對待采樣圖像進(jìn)行橫向像素采樣、縱向像素采樣和相鄰四像素采樣;將橫向像素采樣結(jié)果存入第二緩沖區(qū),將縱向像素采樣結(jié)果存入第三緩沖區(qū),將相鄰四像素采樣結(jié)果存入第四緩沖區(qū);最后將四個緩沖區(qū)中的像素進(jìn)行交錯排布,輸出采樣后圖像。本發(fā)明主要應(yīng)用于對圖像進(jìn)行雙線性兩倍上采樣處理中。
文檔編號H04N7/46GK102333212SQ20101022601
公開日2012年1月25日 申請日期2010年7月14日 優(yōu)先權(quán)日2010年7月14日
發(fā)明者孫俊, 肖建國, 郭宗明, 顏樂駒 申請人:北京北大方正電子有限公司, 北京大學(xué), 北大方正集團(tuán)有限公司