視頻圖像采集芯片是一種十分重要的視頻信號處理芯片。它處理的視頻信號是來源于電視或者錄像機的復合視頻信號(CVBS)或者S-VIDEO格式數(shù)據(jù),也包括變?nèi)醯暮捅慌で囊曨l信號。復合視頻信號的解碼過程如下:首先對模擬的彩色電視信號進行數(shù)字化處理,先將其經(jīng)ADC轉(zhuǎn)換成數(shù)字信號;然后用數(shù)字化方法分離出亮度信號Y和色度信號C,再從色度信號C中分離出兩個色差信號U和V;最后將Y,U,V信號通過一定的采樣/插值算法轉(zhuǎn)換為ITU-R BT601 4:2:2的標準視頻數(shù)據(jù)格式,便于與其他視頻設備接口。
本文所要解決的問題就是如何將Y,U,V信號轉(zhuǎn)換為ITU-R BT601 4:2:2標準所需的數(shù)據(jù)流,用行插值校正像素點的方法來實現(xiàn)。
行插值校正像素點及算法
行像素點校正的任務和方法
通常情況下,電視信號所需要的標準有效行像素點為每一行720個,而NTSC制為每行1716個,PAL制為每行1728個。所以行像素點的校正任務就是計算這些信號采樣點的中間值。
對于不同的制式來說,在每一行中所需要的采樣點數(shù)一般是不同的,如ITU601需要的有效像素點是720。所以本文的任務就是將1820個像素點轉(zhuǎn)化為720個像素點。
上述的轉(zhuǎn)化可通過一個多項式 FIR(有限脈沖響應) 校正濾波器實現(xiàn)。其數(shù)學表達式如下:
(1)
其中
YS(t)是由x[n]構(gòu)建的離散信號波,而Y(t)是由x[n]構(gòu)建的連續(xù)信號波。FIR濾波器系數(shù)可由下述的行內(nèi)插過程算得。
行插值控制算法
行插值的控制過程其實就是像素碼率轉(zhuǎn)換的過程,主要是用來計算出基點s(未插值的行采樣像素點)和相關的小數(shù)延時芀(s)(基點和需求的插值點之間的延遲時間)。如果需求的插值點是2,那么基點就是采樣點3。對于6階濾波器來說,采樣像素點1~6都用來計算插值點2。所以說行插值控制主要是計算基點s和插值點k之間的小數(shù)延時芀(s)。芀(s)可通過下式算得:[nextpage]
芀(s)=芐TART+mk/n-s (2)
上式中的基點s是每一行的第s個采樣像素點,m是視頻信號每一整行的采樣像素點數(shù),n是經(jīng)過濾波插值后的有效像素點數(shù)(對PAL制,m=1728,n=720)。k是被插值點的序號,芐TART是當前行與上一行的相位差。
行插值控制算法如下:對每一個采樣像素點,用公式(2)來計算其芀(s),并且按照下式的條件進行檢測:
0 < ΔK(s) < 1 (3)
當式(3)的條件滿足時,該采樣像素點s被設置為基點,所計算出來的芀(s)就是其相應的小數(shù)延時。然后k增值1。如果式(3)的條件不滿足,就計算下一個采樣點的芀(s)并按照式(3)的條件檢測,直到本行的所有像素點都計算檢查過為止。當本行的所有采樣像素點都被計算檢查完后,s和k被設置為0,準備進行下一行的插值控制計算。
算出所有的基點s和相關的小數(shù)延時芀(s)后,就可通過下式計算FIR濾波器系數(shù)Ci:
(4)
i=-5~5(integer)
上式中的hi就是FIR濾波器系數(shù)Ci,它是sinc函數(shù)。
公式(4)所示的sinc函數(shù)將用來計算濾波器系數(shù)。
實現(xiàn)方案和計算結(jié)果
面向硬件的濾波器系數(shù)產(chǎn)生方法
通過matlab工具進行系統(tǒng)仿真發(fā)現(xiàn)在實際設計中采用11階的sinc函數(shù)較為理想,它的11個系數(shù),由coef=sin(pi*(芀(s)+I))/(pi*(芀(s) +I))確定(I是〔-5,5〕的整數(shù))。因為在實際工作中,需要的有效像素點為720個,也就是對應產(chǎn)生720個芀(s),每一個芀(s)產(chǎn)生一組濾波器系數(shù),即有720組11階系數(shù),這對于硬件的RAM資源要求太高。所以可以在區(qū)間[0,1] 進行20等分,這樣可劃分為20個區(qū)間:[0,0.05],[0.05,0.1],……,[0.95,1]。設區(qū)間為[a,b],若芀(s)>= (a+b)/2,取芀(s)=b;反之取芀(s)=a。這樣將720個芀(s)簡化為20個,對應20組濾波器系數(shù),每一組濾波器系數(shù)乘以1024(便于下一步的2進制乘法器來處理),做出查找表。查找方法如下:根據(jù)上節(jié)算得的小數(shù)延時芀(s),先確定控制部分的地址值address(即簡化后的芀(s) 值);再由address+I,I是〔-5,5〕的整數(shù),得到查找表的地址值,根據(jù)查找表的地址值查得對應的濾波器系數(shù)。系統(tǒng)框圖如圖1所示。
算法的模擬驗證
因為只是驗證算法,為了更清楚地說明問題,做了下列兩點簡化假設:1.處理的視頻信號是余弦函數(shù)y=100*cos(x);2. 假設一行視頻信號的采樣像素點數(shù)為13,而需要的有效像素點數(shù)為8。進行行插值方法后的結(jié)果如圖2所示。
從圖2可以看出,采用本文算法能很好地實現(xiàn)將13個像素點的信號轉(zhuǎn)化為8個有效像素點信號。
結(jié)語
本文提出了一種在數(shù)字視頻信號解碼中的行插值算法及其實現(xiàn)方案。為了驗證方法的正確性,用本文方法處理了13個采樣點的余弦信號,計算結(jié)果表明本算法正確有效。本算法已應用在視頻信號解碼芯片設計中。