專利名稱:一種數(shù)字圖像的縮放處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理領(lǐng)域,具體地說(shuō),是涉及一種用于數(shù)字圖像的縮放處理系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)、手機(jī)等多媒體領(lǐng)域應(yīng)用產(chǎn)品的迅速發(fā)展,人們對(duì)圖像顯示的要求越來(lái)越高,由于不同的顯示技術(shù)對(duì)圖像的尺寸有不同的要求,需要對(duì)圖像的尺寸進(jìn)行靈活的變化。例如,計(jì)算機(jī)的分辨率有VGA(640×480),SVGA(800×600),XVGA(1600×1200),但對(duì)手機(jī)來(lái)說(shuō),通常顯示屏的分辨率小于QVGA(320×240)。因此,怎樣實(shí)現(xiàn)圖像在不同的分辨率靈活轉(zhuǎn)變并保持較高的圖像質(zhì)量成為日益迫切的一個(gè)問(wèn)題。
在計(jì)算機(jī)的圖像處理領(lǐng)域中,圖像縮放是通過(guò)軟件來(lái)實(shí)現(xiàn)的,通常是使用二次線性插值、三次線性插值等算法來(lái)處理。軟件處理需要占用非常多的CPU資源,對(duì)計(jì)算機(jī)處理器件的要求很高。但對(duì)于手機(jī)來(lái)說(shuō),CPU的功能不夠強(qiáng)大,對(duì)處理視頻的縮放來(lái)說(shuō)遠(yuǎn)遠(yuǎn)不夠,因此通過(guò)軟件來(lái)實(shí)現(xiàn)視頻縮放是不可能的,這就需要用硬件來(lái)解決這個(gè)問(wèn)題。
在一般的視頻卡、視頻采集卡中,通常使用二次線性插值來(lái)實(shí)現(xiàn)硬件的圖像縮放。這種算法能夠帶來(lái)較好的圖像質(zhì)量,但卻需要占用較多的硬件資源(例如乘法器和除法器等)。
發(fā)明內(nèi)容
本發(fā)明的目的是為了提供一種圖像縮放處理系統(tǒng),來(lái)提高芯片支持圖像和視頻實(shí)現(xiàn)的性能。
為達(dá)到上述目的,本發(fā)明提供方案如下一種數(shù)字圖像的縮放處理系統(tǒng),其接收上位機(jī)1發(fā)送來(lái)的指令和圖像預(yù)處理模塊2發(fā)送來(lái)的圖像數(shù)據(jù),根據(jù)上位機(jī)1發(fā)送來(lái)的指令對(duì)圖像數(shù)據(jù)進(jìn)行縮放處理,并將縮放處理的圖像送給圖像后處理模塊4,由圖像后處理模塊4對(duì)圖像進(jìn)行壓縮或者直接顯示。
本發(fā)明所述的圖像縮放處理系統(tǒng)包括前置濾波器模塊4、圖像橫向尺寸縮放模塊5、圖像縮放行緩沖器模塊6、命令發(fā)送模塊7、圖像縮放系數(shù)計(jì)算模塊8和圖像縱向尺寸縮放模塊9;由上位機(jī)1通過(guò)命令發(fā)送模塊7,將該圖像縮放處理系統(tǒng)激活并使之處于正常的工作狀態(tài),此時(shí)前置濾波器模塊4將圖像預(yù)處理模塊送過(guò)來(lái)的圖像進(jìn)行低通濾波,此低通濾波器的系數(shù)由上位機(jī)1根據(jù)圖像縮放比例進(jìn)行配置,通過(guò)命令發(fā)送模塊7發(fā)送給前置濾波器模塊4;圖像縮放系數(shù)計(jì)算模塊8根據(jù)上位機(jī)1發(fā)送給命令發(fā)送模塊7的命令,計(jì)算縮放的系數(shù)并送給圖像橫向尺寸縮放模塊5和圖像縱向尺寸縮放模塊9使用;圖像橫向尺寸縮放模塊5根據(jù)命令發(fā)送模塊7發(fā)送的指令和縮放系數(shù)對(duì)經(jīng)前置濾波的圖像在橫向進(jìn)行縮放處理,并將處理過(guò)的圖像儲(chǔ)存在圖像縮放行緩沖器模塊6中,然后圖像縱向尺寸縮放模塊9再對(duì)圖像縮放行緩沖器模塊6中的圖像進(jìn)行縱向尺度的變換。
本發(fā)明所述的前置濾波器模塊4包括橫向?yàn)V波器模塊41,濾波器行緩沖器模塊42和縱向?yàn)V波器模塊43;橫向?yàn)V波器模塊41首先在橫向尺度上對(duì)圖像進(jìn)行濾波,并把橫向?yàn)V波后的圖像儲(chǔ)存在濾波器行緩沖器模塊42中;由于所述系統(tǒng)采取七階濾波,濾波器行緩沖器模塊42儲(chǔ)存了6行的圖像數(shù)據(jù);縱向?yàn)V波器模塊43把圖像從濾波器行緩沖器模塊42取出,并對(duì)之進(jìn)行縱向?yàn)V波。
本發(fā)明所述的命令發(fā)送模塊7包括寄存器地址譯碼模塊71、寄存器讀寫模塊72、寄存器模塊73,寄存器地址譯碼模塊71將上位機(jī)1發(fā)送過(guò)來(lái)的寄存器地址進(jìn)行譯碼,找到要操作的寄存器單元;寄存器讀寫模塊72則完成對(duì)該寄存器的讀寫操作;而寄存器模塊73則包含了數(shù)量眾多的控制寄存器。
本發(fā)明所述的寄存器模塊73包括輸入圖像寬度寄存器731,輸入圖像高度寄存器732,輸出圖像寬度寄存器733,輸出圖像高度寄存器734,前置濾波器系數(shù)寄存器735,圖像放大倍數(shù)寄存器736和圖像縮小倍數(shù)寄存器737;在啟動(dòng)圖像縮放之前,由上位機(jī)1配置好這些寄存器的值,以保證所述系統(tǒng)的正常工作。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于本發(fā)明所述的圖像縮放處理系統(tǒng)中,不需要較大的圖像緩沖區(qū),僅僅需要幾條行緩沖器,這樣大大節(jié)約了存儲(chǔ)器的使用;其次,由于該方法是實(shí)時(shí)操作,輸入幾行圖像數(shù)據(jù)就可以啟動(dòng)縮放操作,因此延遲極小,僅有幾行,不像傳統(tǒng)方法需要有一幀的延遲;第三,由于該方法將二維濾波轉(zhuǎn)化為兩個(gè)一維濾波,將二位圖像的縮放轉(zhuǎn)化維兩個(gè)一位圖像縮放,大大減少了乘法器的使用,使芯片的成本大大降低;最后,由于該方法使用查表法代替除法器來(lái)計(jì)算圖像縮放器的系數(shù),使芯片成本進(jìn)一步降低,而我們都知道除法器不易實(shí)現(xiàn)。
本發(fā)明目的、特點(diǎn)及優(yōu)點(diǎn)將參照附圖結(jié)合實(shí)施例作進(jìn)一步的說(shuō)明。
圖1是本發(fā)明的結(jié)構(gòu)框圖。
圖2是本發(fā)明所述前置濾波器模塊的結(jié)構(gòu)框圖。
圖3是本發(fā)明所述命令發(fā)送模塊的結(jié)構(gòu)框圖。
圖4是本發(fā)明所述寄存器模塊的結(jié)構(gòu)框圖。
圖5是本發(fā)明所述的寄存器的一個(gè)參考配置。
具體實(shí)施例方式
參照附圖1,是本發(fā)明的結(jié)構(gòu)框圖。
一種數(shù)字圖像的縮放處理系統(tǒng),其接收上位機(jī)發(fā)送來(lái)的指令和圖像預(yù)處理模塊發(fā)送來(lái)的圖像數(shù)據(jù),根據(jù)上位機(jī)發(fā)送來(lái)的指令對(duì)圖像數(shù)據(jù)進(jìn)行縮放處理,并將縮放處理的圖像送給圖像后處理模塊,由圖像后處理模塊對(duì)圖像進(jìn)行壓縮或者直接顯示。
本發(fā)明所述的圖像縮放處理系統(tǒng)包括前置濾波器模塊、圖像橫向尺寸縮放模塊、圖像縮放行緩沖器模塊、命令發(fā)送模塊、圖像縮放系數(shù)計(jì)算模塊和圖像縱向尺寸縮放模塊;由上位機(jī)通過(guò)命令發(fā)送模塊,將該圖像縮放處理系統(tǒng)激活并使之處于正常的工作狀態(tài),此時(shí)前置濾波器模塊將圖像預(yù)處理模塊送過(guò)來(lái)的圖像進(jìn)行低通濾波,此低通濾波器的系數(shù)由上位機(jī)根據(jù)圖像縮放比例進(jìn)行配置,通過(guò)命令發(fā)送模塊發(fā)送給前置濾波器模塊;圖像縮放系數(shù)計(jì)算模塊根據(jù)上位機(jī)發(fā)送給命令發(fā)送模塊的命令,計(jì)算縮放的系數(shù)并送給圖像橫向尺寸縮放模塊和圖像縱向尺寸縮放模塊使用;圖像橫向尺寸縮放模塊根據(jù)命令發(fā)送模塊發(fā)送的指令和縮放系數(shù)對(duì)經(jīng)前置濾波的圖像在橫向進(jìn)行縮放處理,并將處理過(guò)的圖像儲(chǔ)存在圖像縮放行緩沖器模塊中,然后圖像縱向尺寸縮放模塊再對(duì)圖像縮放行緩沖器模塊中的圖像進(jìn)行縱向尺度的變換。
參照附圖2,是本發(fā)明所述前置濾波器模塊的結(jié)構(gòu)框圖。本發(fā)明所述的前置濾波器模塊包括橫向?yàn)V波器模塊,濾波器行緩沖器模塊和縱向?yàn)V波器模塊;橫向?yàn)V波器模塊首先在橫向尺度上對(duì)圖像進(jìn)行濾波,并把橫向?yàn)V波后的圖像儲(chǔ)存在濾波器行緩沖器模塊中;由于所述系統(tǒng)采取七階濾波,濾波器行緩沖器模塊儲(chǔ)存了6行的圖像數(shù)據(jù);縱向?yàn)V波器模塊把圖像從濾波器行緩沖器模塊取出,并對(duì)之進(jìn)行縱向?yàn)V波。
參照附圖3,是本發(fā)明所述命令發(fā)送模塊的結(jié)構(gòu)框圖。本發(fā)明所述的命令發(fā)送模塊包括寄存器地址譯碼模塊、寄存器讀寫模塊、寄存器模塊,寄存器地址譯碼模塊將上位機(jī)發(fā)送過(guò)來(lái)的寄存器地址進(jìn)行譯碼,找到要操作的寄存器單元;寄存器讀寫模塊則完成對(duì)該寄存器的讀寫操作;而寄存器模塊則包含了數(shù)量眾多的控制寄存器。
參照附圖4是本發(fā)明所述寄存器模塊的結(jié)構(gòu)框圖。本發(fā)明所述的寄存器模塊包括輸入圖像寬度寄存器(IMG_WIDTH),輸入圖像高度寄存器(IMG_HEIGHT),輸出圖像寬度寄存器(OUT_WIDTH),輸出圖像高度寄存器(OUT_HEIGHT),前置濾波器系數(shù)寄存器(FIR_COEF),圖像放大倍數(shù)寄存器(UP_FACTOR)和圖像縮小倍數(shù)寄存器(DOWN_FACTOR);在啟動(dòng)圖像縮放之前,由上位機(jī)配置好這些寄存器的值,以保證所述系統(tǒng)的正常工作。
在圖像縮放處理之前,上位機(jī)首先要完成相關(guān)寄存器的配置,以保證該系統(tǒng)能夠正常工作。例如,如果該系統(tǒng)輸入圖像大小為640×480,輸出圖像大小為352×288,濾波器的系數(shù)采取0、1/16、3/16、8/16、3/16、1/16、0,則這些寄存器的配置可以參照附圖5。當(dāng)圖像從圖像預(yù)處理模塊到來(lái)時(shí),這些相關(guān)的配置已經(jīng)完成。
當(dāng)圖像輸入時(shí),首先要由前置濾波器對(duì)之進(jìn)行濾波。該系統(tǒng)采取7×7的二維低通濾波,濾波器系數(shù)的選取要根據(jù)圖像縮放的比例來(lái)確定。濾波之后,圖像的高頻噪聲已經(jīng)被去除,但圖像的大小仍為640×480(以上述參考配置為例),這時(shí)首先要進(jìn)行橫向尺度的縮放;由于該系統(tǒng)采取雙線性差值,差值系數(shù)需要由圖像縮放系數(shù)計(jì)算模塊計(jì)算得到。做完橫向縮放后,每行的尺寸變?yōu)?52,但高都仍為480,圖像儲(chǔ)存在圖像縮放行緩沖器模塊,在該模塊中儲(chǔ)存有三條圖像的顏色數(shù)值。然后再由縱向圖像縮放模塊對(duì)之進(jìn)行縱向的縮放。這樣圖像尺寸就有640×480變?yōu)?52×288。
參照附圖2,對(duì)于圖像前置低通濾波,該系統(tǒng)采取7×7的線性差值,即濾波后的一個(gè)象素的顏色數(shù)值由周圍7×7個(gè)象素點(diǎn)經(jīng)過(guò)線性加權(quán)平均得到,這樣就需要49個(gè)乘法器。根據(jù)前述,該方法將二維運(yùn)算轉(zhuǎn)化為兩個(gè)一維運(yùn)算,并采取對(duì)稱的濾波器系數(shù),這樣對(duì)于每一個(gè)一維濾波器(橫向?yàn)V波和縱向?yàn)V波),僅僅需要4個(gè)乘法器。以橫向?yàn)V波為例,假設(shè)要計(jì)算的象素為Pn’,它與濾波前的Pn-3,Pn-2,Pn-1,Pn,Pn+1,Pn+2和Pn+3相關(guān),則Pn’的計(jì)算公式為Pn’=(Pn-3+Pn+3)*FIR_COEF0+(Pn-2+Pn+2)*FIR_COEF1+(Pn-1+Pn+1)*FIR_COEF2+Pn*FIR_COEF3上述公式中濾波器的系數(shù)由上位機(jī)來(lái)配置。此系數(shù)與圖像縮放的比例相關(guān),它應(yīng)保證在縮放之后圖像應(yīng)該沒(méi)有高頻噪聲,同時(shí)應(yīng)該具有較清晰的圖像質(zhì)量。
做完橫向?yàn)V波后,圖像存在濾波器行緩沖器模塊里。濾波器行緩沖器模塊包含了六條行緩沖器,可以儲(chǔ)存六行圖像的數(shù)據(jù)。對(duì)于七階縱向?yàn)V波需要有七行的圖像,緩沖器里存有六條,而第七行則實(shí)時(shí)的在輸入;第七行的數(shù)據(jù)輸入之后不僅提供給縱向?yàn)V波器使用,而且會(huì)覆蓋掉原先第一行數(shù)據(jù)所占用的緩沖器,所以六條緩沖器就能夠滿足使用。
對(duì)于縱向?yàn)V波,其算法通橫向?yàn)V波完全一樣,唯一區(qū)別是計(jì)算方向的差別。
做完濾波之后,就要對(duì)圖像進(jìn)行橫向尺度的縮放??s放比例由寄存器UP_FACTOR和DOWN_FACTOR決定,比如由640×480到352×288,其縮放比例是11/20,則UP_FACTOR=11,DOWN_FACTOR=20。圖像縮放涉及到兩步,首先根據(jù)UP_FACTOR將圖像的橫向尺寸變?yōu)镮MG_WIDTH*UP_FACTOR,即7040;然后再在這7040個(gè)象素里面每20個(gè)抽取一個(gè)作為輸出圖像的象素,這樣輸出圖像寬度就是352。但是,在具體實(shí)現(xiàn)的時(shí)候可以不儲(chǔ)存7040個(gè)象素的值,因?yàn)檫@里面絕大多數(shù)都是沒(méi)有用而且要丟掉的;我們只需要儲(chǔ)存那些出現(xiàn)在最后輸出圖像象素的值。在本系統(tǒng)的橫向縮放方法中,有兩個(gè)計(jì)數(shù)器,其中一個(gè)是用以統(tǒng)計(jì)輸入圖像中一行象素的個(gè)數(shù)(PIXEL_CNT),每到一個(gè)象素它自動(dòng)會(huì)增加1;另一個(gè)計(jì)數(shù)器(UPSIZE_COUNT)用以計(jì)算每行需要抽取的象素的位置,當(dāng)新的一幀圖像到來(lái)或者該幀圖像某一行結(jié)束時(shí),該計(jì)數(shù)器清零;以后每到來(lái)一個(gè)新的象素該計(jì)數(shù)器的值就加上UP_FACTOR。如果新的象素到來(lái)后發(fā)現(xiàn)UPSIZE_COUNT>=DOWN_FACTOR,在輸出圖像中有一個(gè)輸出象素,同時(shí)從UPSIZE_COUNT減取DOWN_FACTOR。由于新的象素必然出現(xiàn)在剛剛到達(dá)的兩個(gè)輸入象素的中間,它就由這兩個(gè)象素的加權(quán)平均計(jì)算得到。設(shè)剛剛到達(dá)的兩個(gè)象素為P1和P2,則新的象素顏色值可以通過(guò)以下公式計(jì)算得到Pnew=(1-a)*P1+a*P2其中系數(shù)a可以根據(jù)新的象素Pnew和P1的距離(即UPSIZE_COUNT)求出a=UPSIZE_COUNT/UP_FACTOR由于UP_FACTOR是一個(gè)六位二進(jìn)制數(shù),為避免除法器,在系統(tǒng)中存在一個(gè)表儲(chǔ)存64個(gè)1/UP_FACTOR。
這樣一個(gè)一個(gè)象素依照同樣的方法處理,就可以得到經(jīng)過(guò)橫向縮放的一行圖像,處理過(guò)的圖像儲(chǔ)存在圖像縮放行緩沖器模塊4中。三條圖像縮放行緩沖器可以儲(chǔ)存三行橫向縮放處理過(guò)的圖像,其工作方式是這樣的當(dāng)緩沖器里存有兩行圖像數(shù)據(jù)就可以進(jìn)行縱向縮放處理;但是由于在做縱向處理的時(shí)候輸入圖像還有可能繼續(xù)進(jìn)來(lái),因此需要第三條緩沖器來(lái)儲(chǔ)存輸入的圖像??v向圖像縮放的處理方法與橫向幾乎一樣。這樣可以得到一幅完整的經(jīng)過(guò)縮放處理的圖像。
本發(fā)明所述的一種數(shù)字圖像的縮放處理系統(tǒng),并不僅僅限于說(shuō)明書和實(shí)施方式中所列運(yùn)用,它完全可以被適用于各種適合本發(fā)明之領(lǐng)域,對(duì)于熟悉本領(lǐng)域的人員而言可容易地實(shí)現(xiàn)另外的優(yōu)點(diǎn)和進(jìn)行修改,因此在不背離權(quán)利要求及等同范圍所限定的一般概念的精神和范圍的情況下,本發(fā)明并不限于特定的細(xì)節(jié)、代表性的設(shè)備和這里示出與描述的圖示示例。
權(quán)利要求
1.一種數(shù)字圖像的縮放處理系統(tǒng),其接收上位機(jī)(1)發(fā)送來(lái)的指令和圖像預(yù)處理模塊(2)發(fā)送來(lái)的圖像數(shù)據(jù),根據(jù)上位機(jī)(1)發(fā)送來(lái)的指令對(duì)圖像數(shù)據(jù)進(jìn)行縮放處理,并將縮放處理的圖像送給圖像后處理模塊(4),由圖像后處理模塊(4)對(duì)圖像進(jìn)行壓縮或者直接顯示;其特征在于所述的圖像縮放處理系統(tǒng)包括前置濾波器模塊(4)、圖像橫向尺寸縮放模塊(5)、圖像縮放行緩沖器模塊(6)、命令發(fā)送模塊(7)、圖像縮放系數(shù)計(jì)算模塊(8)和圖像縱向尺寸縮放模塊(9);由上位機(jī)(1)通過(guò)命令發(fā)送模塊(7),將該圖像縮放處理系統(tǒng)激活并使之處于正常的工作狀態(tài),此時(shí)前置濾波器模塊(4)將圖像預(yù)處理模塊送過(guò)來(lái)的圖像進(jìn)行低通濾波,此低通濾波器的系數(shù)由上位機(jī)(1)根據(jù)圖像縮放比例進(jìn)行配置,通過(guò)命令發(fā)送模塊(7)發(fā)送給前置濾波器模塊(4);圖像縮放系數(shù)計(jì)算模塊(8)根據(jù)上位機(jī)(1)發(fā)送給命令發(fā)送模塊(7)的命令,計(jì)算縮放的系數(shù)并送給圖像橫向尺寸縮放模塊(5)和圖像縱向尺寸縮放模塊(9)使用;圖像橫向尺寸縮放模塊(5)根據(jù)命令發(fā)送模塊(7)發(fā)送的指令和縮放系數(shù)對(duì)經(jīng)前置濾波的圖像在橫向進(jìn)行縮放處理,并將處理過(guò)的圖像儲(chǔ)存在圖像縮放行緩沖器模塊(6)中,然后圖像縱向尺寸縮放模塊(9)再對(duì)圖像縮放行緩沖器模塊(6)中的圖像進(jìn)行縱向尺度的變換。
2.根據(jù)權(quán)利要求1所述的圖像縮放處理系統(tǒng),其特征在于所述的前置濾波器模塊(4)包括橫向?yàn)V波器模塊(41),濾波器行緩沖器模塊(42)和縱向?yàn)V波器模塊(43);橫向?yàn)V波器模塊(41)首先在橫向尺度上對(duì)圖像進(jìn)行濾波,并把橫向?yàn)V波后的圖像儲(chǔ)存在濾波器行緩沖器模塊(42)中;由于所述系統(tǒng)采取七階濾波,濾波器行緩沖器模塊(42)儲(chǔ)存了6行的圖像數(shù)據(jù);縱向?yàn)V波器模塊(43)把圖像從濾波器行緩沖器模塊(42)取出,并對(duì)之進(jìn)行縱向?yàn)V波。
3.根據(jù)權(quán)利要求1所述的圖像縮放處理系統(tǒng),其特征在于所述的命令發(fā)送模塊(7)包括寄存器地址譯碼模塊(71)、寄存器讀寫模塊(72)、寄存器模塊(73),寄存器地址譯碼模塊(71)將上位機(jī)(1)發(fā)送過(guò)來(lái)的寄存器地址進(jìn)行譯碼,找到要操作的寄存器單元;寄存器讀寫模塊(72)則完成對(duì)該寄存器的讀寫操作;而寄存器模塊(73)則包含了數(shù)量眾多的控制寄存器。
4.根據(jù)權(quán)利要求3所述的圖像縮放處理系統(tǒng),其特征在于所述的寄存器模塊(73)包括輸入圖像寬度寄存器(731),輸入圖像高度寄存器(732),輸出圖像寬度寄存器(733),輸出圖像高度寄存器(734),前置濾波器系數(shù)寄存器(735),圖像放大倍數(shù)寄存器(736)和圖像縮小倍數(shù)寄存器(737);在啟動(dòng)圖像縮放之前,由上位機(jī)(1)配置好這些寄存器的值,以保證所述系統(tǒng)的正常工作。
全文摘要
本發(fā)明涉及圖像處理領(lǐng)域,并具體的公開了一種用于數(shù)字圖像的縮放處理系統(tǒng)。本發(fā)明所述的圖像縮放處理系統(tǒng)包括前置濾波器模塊、圖像橫向尺寸縮放模塊、圖像縮放行緩沖器模塊、命令發(fā)送模塊、圖像縮放系數(shù)計(jì)算模塊和圖像縱向尺寸縮放模塊。按照本發(fā)明可以提高芯片支持圖像和視頻實(shí)現(xiàn)的性能。
文檔編號(hào)G06T1/00GK1719476SQ200410068819
公開日2006年1月11日 申請(qǐng)日期2004年7月8日 優(yōu)先權(quán)日2004年7月8日
發(fā)明者李國(guó)新, 周芬, 腰建勛, 高曉宇 申請(qǐng)人:北京中星微電子有限公司