專利名稱:用于對(duì)視頻圖像進(jìn)行濾波操作的濾波電路及其濾波方法
技術(shù)領(lǐng)域:
本發(fā)明屬于視頻圖像處理技術(shù)領(lǐng)域,尤其涉及一種用于對(duì)視頻圖像進(jìn)行濾波操作的濾波電路及其濾波方法。
背景技術(shù):
在圖像處理技術(shù)中,圖像的空間頻率是指特定頻率在單位間距內(nèi)重復(fù)的次數(shù);圖像細(xì)節(jié)越精細(xì),單位間距內(nèi)重復(fù)的次數(shù)越多,頻率就越高;反之,頻率則越低;即高頻反映圖像的細(xì)節(jié)部分,低頻反映圖像的平坦部分。電視機(jī)在對(duì)一幅圖像進(jìn)行顯示時(shí),人眼對(duì)畫面的高頻區(qū)域會(huì)感受到一種明顯的閃爍感;這種閃爍感源于電視圖像信號(hào)的奇偶場(chǎng)交替。從工作原理上講,電視機(jī)會(huì)先顯示一幅圖像的所有奇數(shù)行(即奇場(chǎng)),奇場(chǎng)圖像的垂直方向尺寸只有原始圖像的一半;然后電視機(jī)會(huì)顯示一幅圖像的所有偶數(shù)行(即偶場(chǎng)),偶場(chǎng)圖像的垂直方向尺寸也只有原始圖像的一半;當(dāng)奇場(chǎng)和偶場(chǎng)連續(xù)交替顯示時(shí),人眼看到的就是一幅連續(xù)的圖像。對(duì)于原始圖像的低頻區(qū)域,由于圖像的相鄰像素點(diǎn)的值(尤其是垂直方向相鄰像素點(diǎn)的值)相差不大,當(dāng)把它抽取為奇場(chǎng)和偶場(chǎng)分別顯示時(shí),奇場(chǎng)和偶場(chǎng)中的此區(qū)域內(nèi)的值比較接近,人眼會(huì)比較舒服; 而對(duì)于原始圖像的高頻部分,由于圖像的相鄰像素點(diǎn)的值(尤其是垂直方向相鄰像素點(diǎn)的值)相差較大,當(dāng)把它抽取為奇場(chǎng)和偶場(chǎng)分別顯示時(shí),奇場(chǎng)和偶場(chǎng)中的此區(qū)域內(nèi)的值相差較大,人眼就會(huì)感覺到明顯的閃爍。為了消除這種視覺上的閃爍感,一般需要對(duì)送入電視信號(hào)編碼器的圖片進(jìn)行濾波操作,濾掉高頻分量。電路實(shí)現(xiàn)濾波操作時(shí),一般要把將要進(jìn)行濾波操作的圖像原始行取到一個(gè)緩沖器當(dāng)中,接著進(jìn)行濾波,然后把濾波完的數(shù)據(jù)送出去。具體的濾波算法為對(duì)原始圖像的上下邊界和左右邊界上的像素點(diǎn),不做處理,直接保留;對(duì)原始圖像的其他像素點(diǎn), 需要取它左邊一個(gè)像素點(diǎn)、右邊一個(gè)像素點(diǎn)、上邊一個(gè)像素點(diǎn)和下邊一個(gè)像素點(diǎn),共四個(gè)臨近點(diǎn)來進(jìn)行濾波操作;濾波操作時(shí),按照先進(jìn)行水平濾波后進(jìn)行垂直濾波的思路進(jìn)行。該算法的具體實(shí)現(xiàn)如下所述圖1示出了一幅圖像的所有像素點(diǎn),其中圖像水平尺寸為n,垂直尺寸為m。圖像的上下左右四個(gè)邊界上的點(diǎn)不需要濾波,即點(diǎn)(pn,P12,P13... Pm),(Pml,Pm2,Pm3... PJ,(Pu, P21,P31... Pffll),(Pln, P2n,P3n... PJ不需要濾波,其他所有點(diǎn)都需要進(jìn)行濾波。濾波操作按照先水平濾波后垂直濾波的順序進(jìn)行。濾波算法在水平方向計(jì)算時(shí),涉及到當(dāng)前點(diǎn)Pjurrait 及其左、右兩點(diǎn)P .left 禾口 P—right, 計(jì)算公式為P hf — (P_left+2*P_current+P_right) /4, 其中P hf ^V =I 前點(diǎn)P—__水平濾波后的值。所有點(diǎn)的水平方向?yàn)V波完成之后,得到每一個(gè)像素點(diǎn)值濾波后的值,然后進(jìn)行垂直濾波。濾波算法在垂直方向計(jì)算時(shí),涉及到當(dāng)前點(diǎn)P—hf—。umnt及其上、 下兩點(diǎn)P—hf—up和P—hf—d。wn,計(jì)算公式為P_ Vf — (P—hf—up+2*P—hf—curTent+P—hf—down) /4,其中 P_vf 為當(dāng)前點(diǎn)P—Μ—。—垂直濾波后的值,也是點(diǎn)ρ—。umnt濾波操作完成后的最終結(jié)果值。為了更進(jìn)一步的說明,現(xiàn)以點(diǎn)P22為例當(dāng)進(jìn)行水平方向?yàn)V波計(jì)算時(shí),涉及到點(diǎn)P21 和P23,對(duì)點(diǎn)P22進(jìn)行水平方向?yàn)V波得到P22—hf = (P21+2*P22+P23) /4 ;當(dāng)進(jìn)行垂直方向?yàn)V波計(jì)算時(shí),涉及到點(diǎn)P12和點(diǎn);而參與計(jì)算時(shí)點(diǎn)P12、點(diǎn)P22和點(diǎn)P32要用水平方向?yàn)V波完成后的三個(gè)點(diǎn)對(duì)應(yīng)的值,即點(diǎn)p12—hf、p22—hf、P32Jrf,對(duì)點(diǎn)P22Jrf進(jìn)行垂直方向?yàn)V波后的值p22—vf = (p12— hf+2*P22 hf+P32 hf)/4。當(dāng)所有點(diǎn)的垂直方向?yàn)V波完成之后,整幀圖像的濾波完成,濾波后的圖片可以交給顯示控制模塊去顯示。根據(jù)上面描述的計(jì)算方法,現(xiàn)有技術(shù)一般采用的濾波電路是先從內(nèi)存中按從上到下的順序取原始圖像的每一行,依次進(jìn)行水平方向的濾波,水平濾波完成之后的圖像放入內(nèi)存中;然后從內(nèi)存中按從左到右的順序取原始圖像的每一列,依次進(jìn)行垂直方向的濾波, 垂直濾波完成之后的圖像放入內(nèi)存中,作為最終的輸出圖像。但這種方法存在兩大弊端 (1)對(duì)內(nèi)存進(jìn)行讀寫數(shù)據(jù)操作的耗時(shí)較長(zhǎng);S卩首先需要把數(shù)據(jù)從內(nèi)存中讀出來(第1次), 做水平濾波后,寫進(jìn)去(第2次);再把數(shù)據(jù)從內(nèi)存中讀出來(第3次),做垂直濾波后,寫進(jìn)去(第4次)。對(duì)內(nèi)存操作了 4次,所以耗時(shí)較大。( 濾波計(jì)算時(shí)存儲(chǔ)每一行數(shù)據(jù)所用到的緩沖器存儲(chǔ)的是原始圖像的一整行(或列),所以緩沖器容量較大,占用較多的硬件資源。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種用于對(duì)視頻圖像進(jìn)行濾波操作的濾波電路,旨在解決現(xiàn)有的濾波電路對(duì)內(nèi)存進(jìn)行讀寫數(shù)據(jù)操作次數(shù)多導(dǎo)致耗時(shí)太長(zhǎng);以及濾波計(jì)算時(shí)存儲(chǔ)一整行數(shù)據(jù)或一整列數(shù)據(jù)所用到的緩沖器容量大導(dǎo)致占用硬件資源多的問題。本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種用于對(duì)視頻圖像進(jìn)行濾波操作的濾波電路,包括連接在第一存儲(chǔ)單元的輸出端的第一緩沖器、第二緩沖器和第三緩沖器;寄存器,其輸出控制端連接至所述第一存儲(chǔ)單元的輸出端,根據(jù)外部的控制信號(hào)控制將一幀原始圖像沿水平方向切割成N列后的像素值按照預(yù)定的時(shí)序分別被送入所述第一緩沖器、第二緩沖器或第三緩沖器;第一水平濾波模塊,其輸入端連接至所述第一緩沖器的輸出端,用于對(duì)所述第一緩沖器輸出的像素值進(jìn)行水平方向?yàn)V波處理;第二水平濾波模塊,其輸入端連接至所述第二緩沖器的輸出端,用于對(duì)所述第二緩沖器輸出的像素值進(jìn)行水平方向?yàn)V波處理;第三水平濾波模塊,其輸入端連接至所述第三緩沖器的輸出端,用于對(duì)所述第三緩沖器輸出的像素值進(jìn)行水平方向?yàn)V波處理;垂直濾波模塊,其第一輸入端連接至所述第一水平濾波模塊的輸出端,所述垂直濾波模塊的第二輸入端連接至所述第二水平濾波模塊的輸出端,所述垂直濾波模塊的第三輸入端連接至所述第三水平濾波模塊的輸出端;所述垂直濾波模塊用于對(duì)所述第一水平濾波模塊、第二水平濾波模塊和第三水平濾波模塊的輸出進(jìn)行垂直方向?yàn)V波處理;以及第四緩沖器,其輸入端連接至所述垂直濾波模塊的輸出端,所述第四緩沖器的輸出端連接至外部的第二存儲(chǔ)單元;所述第四緩沖器用于儲(chǔ)存所述垂直濾波模塊輸出的經(jīng)垂直方向?yàn)V波后的像素值;所述N為大于等于2的正整數(shù)。更進(jìn)一步地,所述第一水平濾波模塊包括第一觸發(fā)器,其輸入端連接至所述第一緩沖器的輸出端;
第二觸發(fā)器,其輸入端連接至第一觸發(fā)器的第一輸出端;第三觸發(fā)器,其輸入端連接至所述第二觸發(fā)器的第一輸出端;以及水平濾波結(jié)果輸出單元,其第一輸入端連接至所述第一觸發(fā)器的第二輸出端,所述水平濾波結(jié)果輸出單元的第二輸入端連接至所述第二觸發(fā)器的第二輸出端,所述水平濾波結(jié)果輸出單元的第三輸入端連接至所述第三觸發(fā)器的輸出端,所述水平濾波結(jié)果輸出單元的輸出端連接至所述垂直濾波模塊的第一輸入端。本發(fā)明實(shí)施例的另一目的在于提供一種采用上述用于對(duì)視頻圖像進(jìn)行濾波操作的濾波電路的濾波方法,所述濾波方法包括下述步驟步驟Sl 將一幀原始圖像沿水平方向切割成N列,每列具有M行;步驟S2 對(duì)第1列中從第1行至第M行的像素值分別進(jìn)行濾波操作;步驟S3 依次對(duì)第2列、第3列直至第N列分別進(jìn)行步驟S2中從第1行至第M行的濾波操作;所述N為大于等于2的正整數(shù),所述M為大于等于3的正整數(shù)。更進(jìn)一步地,所述步驟S2進(jìn)一步包括下述步驟步驟S21 第一緩沖器讀取第1列第1行的像素值,第二緩沖器讀取第1列第2行的像素值;第一水平濾波模塊將所述第一緩沖器輸出的第1列第1行的像素值進(jìn)行水平方向?yàn)V波后輸出,第四緩沖器存儲(chǔ)濾波后的第1列第1行的像素值;步驟S22 第三緩沖器讀取第1列第3行的像素值;第一水平濾波模塊將所述第一緩沖器輸出的第1列第1行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將第二緩沖器輸出的第1列第2行的像素值進(jìn)行水平方向?yàn)V波后輸出,第三水平濾波模塊將所述第三緩沖器輸出的第1列第3行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1列第2行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第2行的像素值;步驟S23 第一緩沖器讀取第1列第4行的像素值,第三水平濾波模塊將第三緩沖器輸出的第1列第3行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將第二緩沖器輸出的第1列第2行的像素值進(jìn)行水平方向?yàn)V波后輸出,第一水平濾波模塊將所述第一緩沖器輸出的第1列第4行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1列第3行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第3行的像素值;步驟S24 第二緩沖器讀取第1列第5行的像素值,第一水平濾波模塊將第一緩沖器輸出的第1列第4行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將所述第二緩沖器輸出的第1列第5行的像素值進(jìn)行水平方向?yàn)V波后輸出,第三水平濾波模塊將第三緩沖器輸出的第1列第3行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1列第4行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第4行的像素值;步驟S25 第三緩沖器讀取第1列第6行的像素值,第一水平濾波模塊將第一緩沖器輸出的第1列第4行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將第二緩沖器輸出的第1列第5行的像素值進(jìn)行水平方向?yàn)V波后輸出,第三水平濾波模塊將所述第三緩沖器輸出的第1列第6行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1列第5行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第5行的像素值;重復(fù)上述步驟直至第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第M行的像素值。更進(jìn)一步地,所述步驟Sl具體為將一幀原始圖像沿水平方向以寬度P進(jìn)行切割成N列,其中,P = D-2,D為緩沖器的深度。本發(fā)明提供的濾波電路采用水平濾波模塊、垂直濾波模塊以及容量小的緩沖器對(duì)沿水平方向切割后的圖像數(shù)據(jù)按列進(jìn)行濾波操作,電路結(jié)構(gòu)簡(jiǎn)單、硬件資源少,電路效率
尚ο
圖1是現(xiàn)有技術(shù)提供的水平尺寸為n,垂直尺寸為m的圖像的所有像素點(diǎn)的結(jié)構(gòu)示意圖;圖2是本發(fā)明實(shí)施例提供的用于對(duì)視頻圖像進(jìn)行濾波操作的濾波電路的模塊結(jié)構(gòu)原理圖;圖3是本發(fā)明實(shí)施例提供的濾波電路中第一水平濾波模塊的模塊結(jié)構(gòu)原理圖;圖4是本發(fā)明實(shí)施例提供的濾波方法的實(shí)現(xiàn)流程圖;圖5是本發(fā)明實(shí)施例提供的將一幀原始圖像沿水平方向切割成N列的結(jié)構(gòu)示意圖;圖6是本發(fā)明實(shí)施例提供的單獨(dú)一列中第1行至第M行的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實(shí)施例提供的濾波電路采用水平濾波模塊、垂直濾波模塊以及容量小的緩沖器對(duì)沿水平方向切割后的圖像數(shù)據(jù)按列進(jìn)行濾波操作,電路結(jié)構(gòu)簡(jiǎn)單、硬件資源少,電路
效率高。本發(fā)明實(shí)施例提供的濾波電路主要是用于對(duì)輸出至電視機(jī)的視頻圖像進(jìn)行濾波操作,該濾波電路可以應(yīng)用于相機(jī)等圖像處理裝置中;圖2示出了該濾波電路的模塊結(jié)構(gòu)原理圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,詳述如下。濾波電路2包括寄存器21、第一緩沖器22、第二緩沖器23、第三緩沖器24、第一水平濾波模塊25、第二水平濾波模塊沈、第三水平濾波模塊27、垂直濾波模塊觀和第四緩沖器四;其中第一緩沖器22、第二緩沖器23和第三緩沖器M分別連接在第一存儲(chǔ)單元1 的輸出端;寄存器21的輸出控制端連接至第一存儲(chǔ)單元1的輸出端,寄存器21根據(jù)外部的控制信號(hào)控制將一幀原始圖像沿水平方向切割成N列后的像素值按照預(yù)定的時(shí)序分別被送入第一緩沖器22、第二緩沖器23或第三緩沖器M ;第一水平濾波模塊25的輸入端連接至第一緩沖器22的輸出端,第一水平濾波模塊25用于對(duì)第一緩沖器22輸出的像素值進(jìn)行水平方向?yàn)V波處理;第二水平濾波模塊26的輸入端連接至第二緩沖器23的輸出端,第二水平濾波模塊26用于對(duì)第二緩沖器23輸出的像素值進(jìn)行水平方向?yàn)V波處理;第三水平濾波模塊27的輸入端連接至第三緩沖器M的輸出端,第三水平濾波模塊27用于對(duì)第三緩沖器M輸出的像素值進(jìn)行水平方向?yàn)V波處理;垂直濾波模塊觀的第一輸入端連接至第一水平濾波模塊25的輸出端,垂直濾波模塊觀的第二輸入端連接至第二水平濾波模塊沈的輸出端,垂直濾波模塊觀的第三輸入端連接至第三水平濾波模塊27的輸出端;垂直濾波模塊觀用于對(duì)第一水平濾波模塊25、第二水平濾波模塊沈和第三水平濾波模塊27的輸出進(jìn)行垂直方向?yàn)V波處理;第四緩沖器四的輸入端連接至垂直濾波模塊觀的輸出端,第四緩沖器 29的輸出端連接至外部的第二存儲(chǔ)單元3 ;第四緩沖器四用于儲(chǔ)存垂直濾波模塊觀輸出的經(jīng)垂直方向?yàn)V波后的像素值;其中N為大于等于2的正整數(shù)。本發(fā)明實(shí)施例提供的濾波電路選取在水平方向進(jìn)行分段,然后在垂直方向上順序進(jìn)行濾波操作,大大節(jié)省了硬件資源;當(dāng)采用該濾波電路對(duì)一幅輸出至電視機(jī)顯示的圖像進(jìn)行濾波操作時(shí),可以降低電視畫面的閃爍感。在本發(fā)明實(shí)施例中,把原始圖像在水平方向上切割成若干列。其中,每一列的寬度并非要求均等;但為求電路實(shí)施方便,除最后一列以外,其他列的寬度應(yīng)盡量相等,如圖5 所示,最后一列寬度為S,其他列寬度為P ;占多數(shù)的列的寬度P與所使用的緩沖器的深度D 有關(guān);當(dāng)緩沖器的深度D確定之后,列寬P取(D-2);實(shí)際操作時(shí),沿原始圖像的水平方向, 以寬度(D-2)進(jìn)行切割,切割到最后一列時(shí),保留其尺寸S即可。圖像切割成列后,濾波操作按照從左到右一列一列進(jìn)行。圖6示出了單獨(dú)一列,該列中有若干行,是對(duì)水平尺寸進(jìn)行切割后落在該列內(nèi)的短行,以下表述中提到列中的行即指的是這樣的短行,寬度為P或S ; 對(duì)單獨(dú)每一列進(jìn)行濾波操作時(shí),按照從上到下一行一行的進(jìn)行。在本發(fā)明實(shí)施例中,第一水平濾波模塊25的內(nèi)部結(jié)構(gòu)如圖3所示,為了便于說明, 僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,詳述如下。第一水平濾波模塊25包括第一觸發(fā)器251、第二觸發(fā)器252、第三觸發(fā)器253以及水平濾波結(jié)果輸出單元254 ;其中,第一觸發(fā)器251的輸入端連接至第一緩沖器22的輸出端,第二觸發(fā)器252的輸入端連接至第一觸發(fā)器251的第一輸出端,第三觸發(fā)器253的輸入端連接至第二觸發(fā)器252的第一輸出端,水平濾波結(jié)果輸出單元254的第一輸入端連接至第一觸發(fā)器251的第二輸出端,水平濾波結(jié)果輸出單元254的第二輸入端連接至第二觸發(fā)器252的第二輸出端,水平濾波結(jié)果輸出單元254的第三輸入端連接至第三觸發(fā)器253 的輸出端,水平濾波結(jié)果輸出單元254的輸出端連接至垂直濾波模塊觀的第一輸入端。在本發(fā)明實(shí)施例中,第二水平濾波模塊沈、第三水平濾波模塊27和垂直濾波模塊 28的內(nèi)部結(jié)構(gòu)與第一水平濾波模塊25的內(nèi)部結(jié)構(gòu)相同,也是由一個(gè)結(jié)果輸出單元和三個(gè)串聯(lián)連接的觸發(fā)器構(gòu)成;在此就不再贅述。在本發(fā)明實(shí)施例中,第一水平濾波模塊25對(duì)每一列中的行進(jìn)行濾波操作時(shí),在寄存器21的控制下先從第一存儲(chǔ)單元1中取最上面兩行分別裝載進(jìn)第一緩沖器22和第二緩沖器23中,然后從第一緩沖器22中把第一行數(shù)據(jù)讀出來,讀出來的過程中就開始由第一水平濾波模塊25進(jìn)行水平方向的濾波;具體地,從第一緩沖器22中把像素?cái)?shù)據(jù)pixel data 讀出來,在每一個(gè)時(shí)鐘上升沿到來時(shí),把pixel data送進(jìn)第一觸發(fā)器251,把第一觸發(fā)器 251的數(shù)據(jù)送進(jìn)第二觸發(fā)器252,把第二觸發(fā)器252的數(shù)據(jù)送進(jìn)第三觸發(fā)器253,這三個(gè)觸發(fā)器中的數(shù)據(jù)就是做水平方向?yàn)V波操作時(shí)涉及到的三個(gè)點(diǎn),數(shù)據(jù)準(zhǔn)備需要兩個(gè)時(shí)鐘周期,即第一個(gè)點(diǎn)的值到達(dá)第二觸發(fā)器252需要兩個(gè)時(shí)鐘周期。由于第一個(gè)點(diǎn)不需要濾波,可以直接送出;在下一個(gè)時(shí)鐘周期,三個(gè)觸發(fā)器中的數(shù)據(jù)都得到更新;也可以說,第二觸發(fā)器252中的數(shù)據(jù)將一直是待濾波數(shù)據(jù)。把三個(gè)觸發(fā)器中的數(shù)據(jù)取出來,做濾波操作即可,一個(gè)時(shí)鐘周期即可得到結(jié)果。當(dāng)緩沖器中所有數(shù)據(jù)全部經(jīng)過觸發(fā)器一遍,濾波操作就完成了。因?yàn)榈谝恍惺菆D像的上邊界,不需要進(jìn)行垂直方向?yàn)V波,直接把濾波結(jié)果送給第四緩沖器四,第四緩沖器四專門用于存放最終的濾波數(shù)據(jù),把第四緩沖器四中的數(shù)據(jù)讀出來,送回第二儲(chǔ)存單元3即完成了一行的濾波操作;此時(shí)第一緩沖器22中依然保留著第一行的原始數(shù)據(jù)。在寄存器21的控制下從第一存儲(chǔ)單元1中取新的一行(即第三行)放入第三緩沖器M中,此時(shí)濾波電路中的第一緩沖器22、第二緩沖器23、第三緩沖器M分別裝載了第一行、第二行、第三行的原始數(shù)據(jù);從三個(gè)緩沖器中分別把三行數(shù)據(jù)讀出來,讀出來后馬上就開始進(jìn)行水平方向的濾波;由于所采用的濾波算法較為簡(jiǎn)單,完成水平方向一個(gè)點(diǎn)的濾波運(yùn)算只需要一個(gè)時(shí)鐘周期,三個(gè)短行數(shù)據(jù)同時(shí)進(jìn)行計(jì)算,三個(gè)時(shí)鐘周期(含兩個(gè)時(shí)鐘周期做數(shù)據(jù)準(zhǔn)備和一個(gè)時(shí)鐘周期做濾波計(jì)算)之后,三個(gè)短行都可以完成各自的第一個(gè)點(diǎn)水平濾波的計(jì)算,這個(gè)結(jié)果就可以拿來直接為垂直濾波所用,垂直濾波也就開始操作;當(dāng)水平濾波最后一個(gè)點(diǎn)的濾波操作完成之后,再用一個(gè)時(shí)鐘周期,垂直濾波也就完成了,這也是要設(shè)定三個(gè)緩沖器的原因;此時(shí),第二行的濾波完成,可以把第二行濾波后的像素?cái)?shù)據(jù)送到內(nèi)存中。此時(shí),第一緩沖器22、第二緩沖器23、第三緩沖器M依然保留著第一行、第二行和第三行的原始數(shù)據(jù)。繼續(xù)按照一列中從上到下的順序取新的一行(即第四行)并覆蓋掉第一緩沖器22 中的第一行作為新的垂直濾波計(jì)算的第三行,原來第二緩沖器23中的第二行此時(shí)為新的垂直濾波計(jì)算的第一行,原來第三緩沖器M中的第三行此時(shí)為新的垂直濾波計(jì)算的第二行。按照上面相同的方法,把三個(gè)緩沖器中的數(shù)據(jù)讀出來進(jìn)行水平濾波,緊接著水平濾波就可以進(jìn)行垂直濾波,垂直濾波結(jié)束就把第二行的數(shù)據(jù)送到第二存儲(chǔ)單元3中。按照上述步驟持續(xù)進(jìn)行,每下載新的一行數(shù)據(jù),就覆蓋掉剛剛濾波完成的舊數(shù)據(jù), 保持三個(gè)緩沖器中的數(shù)據(jù)為接下來垂直濾波涉及到的三行數(shù)據(jù),直到一列中的所有行都完成。當(dāng)?shù)谝涣型瓿蔀V波操作之后,繼續(xù)按照上述步驟的順序進(jìn)行下一列數(shù)據(jù)的濾波操作,直至所有的列都完成,此時(shí)整幅圖像的濾波完成。與現(xiàn)有的濾波電路采用可以裝載一整行圖像數(shù)據(jù)量的緩沖器(比如,假設(shè)圖像尺寸為720X 576,那么現(xiàn)有的濾波電路中的緩沖器容量為720個(gè)像素?cái)?shù)據(jù))相比,本發(fā)明實(shí)施例中所采用的四個(gè)緩沖器的容量都比較??;與現(xiàn)有的濾波電路是一行一行進(jìn)行濾波操作相比,本發(fā)明實(shí)施例采用并行處理,將圖像分成若干列,然后沿著每一列的垂直方向按行進(jìn)行濾波操作,水平方向和垂直方向均采用的是相同的計(jì)算電路,大大節(jié)省了硬件資源。本發(fā)明實(shí)施例提供的濾波方法的實(shí)現(xiàn)流程如圖4所示,該濾波方法主要包括下述步驟步驟Sl 將一幀原始圖像沿水平方向切割成N列;步驟S2 對(duì)第1列中從第1行至第M行的像素值分別進(jìn)行濾波操作;步驟S3 依次對(duì)第2列、第3列直至第N列分別進(jìn)行步驟S2中從第1行至第M行的濾波操作;所述N為大于等于2的正整數(shù),所述M為大于等于3的正整數(shù)。在本發(fā)明實(shí)施例中,將一幀原始圖像沿水平方向切割成N列這個(gè)步驟可以通過寄存器來實(shí)現(xiàn);具體地,可以通過軟件接口(就是軟件可配置的寄存器)來實(shí)現(xiàn);在軟件接口中有個(gè)寄存器cOlUmn_nUm[7:0],該寄存器表示原始圖像沿水平方向一共劃分為多少列,這個(gè)值是由軟件計(jì)算好并配置給濾波電路;濾波電路拿到這個(gè)數(shù)值后,就知道需要進(jìn)行多少列的濾波,也就是知道了原始圖像在水平方向上切割成了多少列。作為本發(fā)明的一個(gè)實(shí)施例,步驟Sl具體為將一幀原始圖像沿水平方向以寬度P 進(jìn)行切割成N列,其中,P = D-2,D為緩沖器的深度。在本發(fā)明實(shí)施例中,步驟S2進(jìn)一步包括下述步驟步驟S21 第一緩沖器讀取第1列第1行的像素值,第二緩沖器讀取第1列第2行的像素值;第一水平濾波模塊將所述第一緩沖器輸出的第1列第1行的像素值進(jìn)行水平方向?yàn)V波后輸出,第四緩沖器存儲(chǔ)濾波后的第1列第1行的像素值;完成第1列第1行的濾波操作;步驟S22 第三緩沖器讀取第1列第3行的像素值;第一水平濾波模塊將所述第一緩沖器輸出的第1列第1行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將第二緩沖器輸出的第1列第2行的像素值進(jìn)行水平方向?yàn)V波后輸出,第三水平濾波模塊將所述第三緩沖器輸出的第1列第3行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1列第2行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第2行的像素值;此時(shí)第一緩沖器、第二緩沖器和第三緩沖器依然分別保留著第1列第1行、第2行和第3行的原始數(shù)據(jù);步驟S23 第一緩沖器讀取第1列第4行的像素值,第三水平濾波模塊將第三緩沖器輸出的第1列第3行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將第二緩沖器輸出的第1列第2行的像素值進(jìn)行水平方向?yàn)V波后輸出,第一水平濾波模塊將所述第一緩沖器輸出的第1列第4行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1列第3行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第3行的像素值;步驟S24 第二緩沖器讀取第1列第5行的像素值,第一水平濾波模塊將第一緩沖器輸出的第1列第4行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將所述第二緩沖器輸出的第1列第5行的像素值進(jìn)行水平方向?yàn)V波后輸出,第三水平濾波模塊將第三緩沖器輸出的第1列第3行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1列第4行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第4行的像素值;步驟S25 第三緩沖器讀取第1列第6行的像素值,第一水平濾波模塊將第一緩沖器輸出的第1列第4行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將第二緩沖器輸出的第1列第5行的像素值進(jìn)行水平方向?yàn)V波后輸出,第三水平濾波模塊將所述第三緩沖器輸出的第1列第6行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1列第5行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第5行的像素值;重復(fù)上述步驟直至第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第M行的像素值。 即完成第1列的濾波操作。為了更進(jìn)一步的說明本發(fā)明實(shí)施例提供的濾波方法是如何進(jìn)行濾波操作的,現(xiàn)以輸入尺寸為720X576的圖像為例說明如下
10
水平尺寸720,在水平方向把圖像切割成若干列。每一列的寬度與緩沖器的深度設(shè)置相關(guān),假設(shè)緩沖器的深度設(shè)置為64,那么列寬為62 ;用水平尺寸720除以62得到11,余數(shù)38,那么我們需要進(jìn)行的列數(shù)N為12,其中最后一列的寬度S為38,其他列的寬度P都是62 ;從第一存儲(chǔ)單元1中下載第一列第一行到第一緩沖器22中;從第一存儲(chǔ)單元1中下載第一列第二行到第二緩沖器23中;從第一緩沖器22中讀取像素值,進(jìn)行水平方向?yàn)V波, 濾波完成直接送出;從第一存儲(chǔ)單元1中下載第一列第三行到第三緩沖器M中;從三個(gè)緩沖器中分別讀取像素值,進(jìn)行各自水平方向?yàn)V波,兩個(gè)時(shí)鐘周期后,開始垂直方向?yàn)V波,濾波完成后把第二行的濾波結(jié)果送出去;從第一存儲(chǔ)單元1中下載第一列第四行到第一緩沖器22中,作為當(dāng)次濾波的第三行,進(jìn)行濾波;按照以上思路持續(xù)進(jìn)行,直到本列濾波結(jié)束; 一列一列進(jìn)行直至整幀圖像濾波完成。本發(fā)明實(shí)施例提供的濾波電路采用水平濾波模塊、垂直濾波模塊以及容量小的緩沖器對(duì)沿水平方向切割后的圖像數(shù)據(jù)按列進(jìn)行濾波操作,電路結(jié)構(gòu)簡(jiǎn)單、硬件資源少,電路
效率高。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
1權(quán)利要求
1.一種用于對(duì)視頻圖像進(jìn)行濾波操作的濾波電路,其特征在于,包括 連接在第一存儲(chǔ)單元的輸出端的第一緩沖器、第二緩沖器和第三緩沖器;寄存器,其輸出控制端連接至所述第一存儲(chǔ)單元的輸出端,根據(jù)外部的控制信號(hào)控制將一幀原始圖像沿水平方向切割成N列后的像素值按照預(yù)定的時(shí)序分別被送入所述第一緩沖器、第二緩沖器或第三緩沖器;第一水平濾波模塊,其輸入端連接至所述第一緩沖器的輸出端,用于對(duì)所述第一緩沖器輸出的像素值進(jìn)行水平方向?yàn)V波處理;第二水平濾波模塊,其輸入端連接至所述第二緩沖器的輸出端,用于對(duì)所述第二緩沖器輸出的像素值進(jìn)行水平方向?yàn)V波處理;第三水平濾波模塊,其輸入端連接至所述第三緩沖器的輸出端,用于對(duì)所述第三緩沖器輸出的像素值進(jìn)行水平方向?yàn)V波處理;垂直濾波模塊,其第一輸入端連接至所述第一水平濾波模塊的輸出端,所述垂直濾波模塊的第二輸入端連接至所述第二水平濾波模塊的輸出端,所述垂直濾波模塊的第三輸入端連接至所述第三水平濾波模塊的輸出端;所述垂直濾波模塊用于對(duì)所述第一水平濾波模塊、第二水平濾波模塊和第三水平濾波模塊的輸出進(jìn)行垂直方向?yàn)V波處理;以及第四緩沖器,其輸入端連接至所述垂直濾波模塊的輸出端,所述第四緩沖器的輸出端連接至外部的第二存儲(chǔ)單元;所述第四緩沖器用于儲(chǔ)存所述垂直濾波模塊輸出的經(jīng)垂直方向?yàn)V波后的像素值;所述N為大于等于2的正整數(shù)。
2.如權(quán)利要求1所述的濾波電路,其特征在于,所述第一水平濾波模塊包括 第一觸發(fā)器,其輸入端連接至所述第一緩沖器的輸出端;第二觸發(fā)器,其輸入端連接至第一觸發(fā)器的第一輸出端; 第三觸發(fā)器,其輸入端連接至所述第二觸發(fā)器的第一輸出端;以及水平濾波結(jié)果輸出單元,其第一輸入端連接至所述第一觸發(fā)器的第二輸出端,所述水平濾波結(jié)果輸出單元的第二輸入端連接至所述第二觸發(fā)器的第二輸出端,所述水平濾波結(jié)果輸出單元的第三輸入端連接至所述第三觸發(fā)器的輸出端,所述水平濾波結(jié)果輸出單元的輸出端連接至所述垂直濾波模塊的第一輸入端。
3.一種采用權(quán)利要求1所述的用于對(duì)視頻圖像進(jìn)行濾波操作的濾波電路的濾波方法, 其特征在于,所述濾波方法包括下述步驟步驟S 1 將一幀原始圖像沿水平方向切割成N列,每列具有M行; 步驟S2 對(duì)第1列中從第1行至第M行的像素值分別進(jìn)行濾波操作; 步驟S3 依次對(duì)第2列、第3列直至第N列分別進(jìn)行步驟S2中從第1行至第M行的濾波操作;所述N為大于等于2的正整數(shù),所述M為大于等于3的正整數(shù)。
4.如權(quán)利要求3所述的濾波方法,其特征在于,所述步驟S2進(jìn)一步包括下述步驟 步驟S21 第一緩沖器讀取第1列第1行的像素值,第二緩沖器讀取第1列第2行的像素值;第一水平濾波模塊將所述第一緩沖器輸出的第1列第1行的像素值進(jìn)行水平方向?yàn)V波后輸出,第四緩沖器存儲(chǔ)濾波后的第1列第1行的像素值;步驟S22 第三緩沖器讀取第1列第3行的像素值;第一水平濾波模塊將所述第一緩沖器輸出的第1列第1行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將第二緩沖器輸出的第1列第2行的像素值進(jìn)行水平方向?yàn)V波后輸出,第三水平濾波模塊將所述第三緩沖器輸出的第1列第3行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1列第2行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第2行的像素值;步驟S23 第一緩沖器讀取第1列第4行的像素值,第三水平濾波模塊將第三緩沖器輸出的第1列第3行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將第二緩沖器輸出的第1列第2行的像素值進(jìn)行水平方向?yàn)V波后輸出,第一水平濾波模塊將所述第一緩沖器輸出的第1列第4行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1 列第3行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第 1列第3行的像素值;步驟S24 第二緩沖器讀取第1列第5行的像素值,第一水平濾波模塊將第一緩沖器輸出的第1列第4行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將所述第二緩沖器輸出的第1列第5行的像素值進(jìn)行水平方向?yàn)V波后輸出,第三水平濾波模塊將第三緩沖器輸出的第1列第3行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1 列第4行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第 1列第4行的像素值;步驟S25 第三緩沖器讀取第1列第6行的像素值,第一水平濾波模塊將第一緩沖器輸出的第1列第4行的像素值進(jìn)行水平方向?yàn)V波后輸出,第二水平濾波模塊將第二緩沖器輸出的第1列第5行的像素值進(jìn)行水平方向?yàn)V波后輸出,第三水平濾波模塊將所述第三緩沖器輸出的第1列第6行的像素值進(jìn)行水平方向?yàn)V波后輸出;垂直濾波模塊對(duì)濾波后的第1 列第5行的像素值進(jìn)行垂直方向?yàn)V波處理后輸出;第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第 1列第5行的像素值;重復(fù)上述步驟直至第四緩沖器存儲(chǔ)經(jīng)垂直方向?yàn)V波后的第1列第M行的像素值。
5.如權(quán)利要求3所述的濾波方法,其特征在于,所述步驟Sl具體為將一幀原始圖像沿水平方向以寬度P進(jìn)行切割成N列,其中,P = D-2,D為緩沖器的深度。
全文摘要
本發(fā)明適用于視頻圖像處理技術(shù)領(lǐng)域,提供了一種用于對(duì)視頻圖像進(jìn)行濾波操作的濾波電路及其濾波方法;濾波電路包括寄存器、第一緩沖器、第二緩沖器、第三緩沖器、第一水平濾波模塊、第二水平濾波模塊、第三水平濾波模塊、垂直濾波模塊和第四緩沖器。本發(fā)明提供的濾波電路采用水平濾波模塊、垂直濾波模塊以及容量小的緩沖器對(duì)沿水平方向切割后的圖像數(shù)據(jù)按列進(jìn)行濾波操作,電路結(jié)構(gòu)簡(jiǎn)單、硬件資源少,電路效率高。
文檔編號(hào)H04N5/213GK102215324SQ20101014681
公開日2011年10月12日 申請(qǐng)日期2010年4月8日 優(yōu)先權(quán)日2010年4月8日
發(fā)明者李小明, 王強(qiáng), 胡勝發(fā), 許永永 申請(qǐng)人:安凱(廣州)微電子技術(shù)有限公司