專利名稱:基于avs運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯膙lsi實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字視頻編解碼技術(shù)領(lǐng)域的方法,具體是一種基于AVS(數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn))運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI(超大規(guī)模集成電路)實(shí)現(xiàn)方法。
背景技術(shù):
數(shù)字音視頻編解碼技術(shù)標(biāo)準(zhǔn)工作組(AVS工作組)制定的AVS音視頻編解碼技術(shù)標(biāo)準(zhǔn)的視頻部分于2006年2月22日被頒布為中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn),標(biāo)準(zhǔn)號(hào)GB/T 20090.2-2006,于2006年3月1日起實(shí)施。運(yùn)動(dòng)補(bǔ)償作為運(yùn)動(dòng)估計(jì)的逆運(yùn)算,是AVS解碼算法最重要的組成部分之一。運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償旨在消除視頻數(shù)據(jù)幀與幀之間的時(shí)間冗余,從而達(dá)到視頻數(shù)據(jù)壓縮的目的。由于在實(shí)際情況下,畫面運(yùn)動(dòng)的距離可以具有無(wú)限精度,因此整數(shù)精度的運(yùn)動(dòng)矢量已無(wú)法滿足日益增長(zhǎng)的對(duì)視頻質(zhì)量的要求。在AVS中,采用了分?jǐn)?shù)精度的運(yùn)動(dòng)矢量來提高圖像質(zhì)量。AVS標(biāo)準(zhǔn)規(guī)定,亮度信息的運(yùn)動(dòng)矢量具有1/4像素的精度;相應(yīng)地,色度信息運(yùn)動(dòng)矢量的精度達(dá)到1/8像素。對(duì)于亮度信息,AVS中定義了兩種4抽頭濾波器和一種雙線性濾波器,使用插值濾波的方法來得到半像素和1/4像素位置的數(shù)據(jù)。具體細(xì)節(jié)可參考AVS標(biāo)準(zhǔn)的文檔和參考軟件。分?jǐn)?shù)像素插值在提高圖像質(zhì)量的同時(shí),也大大增加了計(jì)算的復(fù)雜度,這在VLSI實(shí)現(xiàn)時(shí)直接表現(xiàn)為成本的上升和功耗的增加。對(duì)于高清晰度視頻的應(yīng)用,這個(gè)問題就顯得更加突出。例如在解碼每秒30幀,1920×1080像素點(diǎn)的高清碼流時(shí),為了保證視頻播放的實(shí)時(shí)性,最壞情況下每秒種需要對(duì)1944000個(gè)8×8像素的亮度塊進(jìn)行插值操作。巨大的計(jì)算量給亮度插值器的VLSI實(shí)現(xiàn)帶來了一個(gè)難題,即如何在保證視頻解碼實(shí)時(shí)性的前提下,盡可能縮小芯片的面積并降低系統(tǒng)的時(shí)鐘頻率。
根據(jù)對(duì)現(xiàn)有技術(shù)文獻(xiàn)的檢索,發(fā)現(xiàn)Deng Lei等人在Pacific Rim Conferenceon Multimedia 2004Tokyo,Japan(一個(gè)多媒體技術(shù)領(lǐng)域的國(guó)際會(huì)議)上所發(fā)表的“An Efficient VLSI Implementation for MC Interpolation of AVSStandard”(AVS運(yùn)動(dòng)補(bǔ)償中插值算法的高效VLSI實(shí)現(xiàn))中,涉及到一種AVS亮度插值器的實(shí)現(xiàn)方法,該方法具有一定的流水線思想,但其缺點(diǎn)在于1、其輸入存儲(chǔ)單元中使用了(n+1)*6個(gè)像素寄存器。其中n為并行計(jì)算的像素點(diǎn)個(gè)數(shù)。同時(shí),為了使1/4像素濾波器獲得同步的輸入數(shù)據(jù),該架構(gòu)使用了總共12級(jí)延遲寄存器。這里存在著較大的資源冗余。2、其架構(gòu)中使用的濾波器數(shù)量較多。例如,在n=1的情況下,需要用到30個(gè)各類濾波器。因此存在較大的計(jì)算冗余。3、使用該方法實(shí)現(xiàn)的插值器,其輸入到輸出的延遲時(shí)間將最多達(dá)到9個(gè)時(shí)鐘周期,這里存在著一定的時(shí)間冗余。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明的目的在于,提供一種基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法。本發(fā)明采用一種級(jí)數(shù)可變的流水線結(jié)構(gòu),使得數(shù)據(jù)的輸入、處理和輸出能夠同時(shí)執(zhí)行,避免了空閑等待、數(shù)據(jù)轉(zhuǎn)置和存放中間變量的開銷,在提高運(yùn)算速度的同時(shí)也有效減少了硬件資源的占用。使用該方法實(shí)現(xiàn)亮度插值器,在確保高清晰度視頻實(shí)時(shí)解碼的前提下,也能有效地控制芯片面積和系統(tǒng)時(shí)鐘頻率。
本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的,本發(fā)明采用了一種級(jí)數(shù)可變的流水線結(jié)構(gòu),針對(duì)不同目標(biāo)位置的插值需要,自動(dòng)選擇4到8級(jí)流水線,同時(shí)進(jìn)行數(shù)據(jù)的輸入、處理和輸出,包括如下步驟(a)對(duì)輸入數(shù)據(jù)做延遲操作;(b)行方向?yàn)V波;(c)列方向?yàn)V波;(d)J點(diǎn)濾波;(e)對(duì)(a)、(b)、(c)和(d)步驟的輸出數(shù)據(jù)進(jìn)行整理;(f)四分之一像素濾波;(g)輸出通路選擇、限幅輸出。
以下對(duì)各個(gè)步驟進(jìn)行進(jìn)一步的說明
(a)對(duì)輸入數(shù)據(jù)做延遲操作設(shè)并行計(jì)算的像素點(diǎn)個(gè)數(shù)為n,其中n可取1和8之間,數(shù)據(jù)按行輸入輸出,則每行的輸入數(shù)據(jù)最多需要n+4個(gè)像素點(diǎn),每個(gè)時(shí)鐘周期輸入一行數(shù)據(jù),將其表示為{An+3,An+2,…A0},其中共n+4項(xiàng),每一項(xiàng)代表一個(gè)8比特的像素點(diǎn),對(duì)該數(shù)據(jù)進(jìn)行三級(jí)延遲操作,得到三行輸出數(shù)據(jù),相對(duì)于輸入數(shù)據(jù),這三行數(shù)據(jù)分別具有1、2和3個(gè)時(shí)鐘周期的延遲,表示為{Bn+3,Bn+2,…B0}、{Cn+3,Cn+2,…C0}和{Dn+3,Dn+2,…D0};(b)行方向?yàn)V波使用n+1個(gè)4抽頭濾波器,抽頭系數(shù)為[-1,5,5,-1],濾波器編號(hào)為n遞減到0;其中n號(hào)濾波器的輸入為{Cn+3,Cn+2,Cn+1,Cn},n-1號(hào)濾波器的輸入為{Cn+2,Cn+1,Cn,Cn-1},依此類推,該組濾波器的輸出表示為{bn,bn-1,…b0},輸出比輸入延遲一個(gè)時(shí)鐘周期;(c)列方向?yàn)V波使用n+4個(gè)4抽頭濾波器,抽頭系數(shù)為[-1,5,5,-1],濾波器編號(hào)為n+3遞減到0;其中n+3號(hào)濾波器的輸入為{An+3,Bn+3,Cn+3,Dn+3},n+2號(hào)濾波器的輸入為{An+2,Bn+2,Cn+2,Dn+2},依此類推;該組濾波器的輸出表示為{hn+3,hn+2,…h(huán)0},輸出比輸入延遲一個(gè)時(shí)鐘周期;(d)J點(diǎn)濾波使用n+1個(gè)4抽頭濾波器,抽頭系數(shù)為[-1,5,5,-1],濾波器編號(hào)為n遞減到0;其中n號(hào)濾波器的輸入為{hn+3,hn+2,hn+1,hn},n-1號(hào)濾波器的輸入為{hn+2,hn+1,hn,hn-1},依此類推;該組濾波器的輸出表示為{jn,jn-1,…j0};輸出比輸入延遲一個(gè)時(shí)鐘周期;(e)對(duì)(a)、(b)、(c)和(d)步驟的輸出數(shù)據(jù)進(jìn)行整理該步驟的目的是為第(f)步提供輸入數(shù)據(jù);通過對(duì)(a)、(b)、(c)和(d)這四步的輸出數(shù)據(jù)進(jìn)行選擇和延遲操作,針對(duì)不同位置的四分之一像素插值,得到n組輸出數(shù)據(jù),每組4個(gè),用于四分之一像素濾波的輸入;(f)四分之一像素濾波使用n個(gè)4抽頭濾波器,抽頭系數(shù)為[1,7,7,1],濾波器編號(hào)為n-1遞減到0;其輸入數(shù)據(jù)來自第(e)步的輸出;該組濾波器的輸出表示為{Qn-1,Qn-2,…Q0};輸出比輸入延遲一個(gè)時(shí)鐘周期;(g)輸出通路選擇、限幅輸出首先從(a)、(b)、(c)、(d)和(f)五步的輸出中選擇出n個(gè)數(shù)據(jù);當(dāng)目標(biāo)位置為整數(shù)像素點(diǎn),即分?jǐn)?shù)坐標(biāo)Y和X均為0時(shí),選擇{An+3,An+2,…A4};當(dāng)目標(biāo)位置為b點(diǎn),即分?jǐn)?shù)坐標(biāo)Y=0、X=2時(shí),選擇{bn,bn-1,…b1};當(dāng)目標(biāo)位置為h點(diǎn),即分?jǐn)?shù)坐標(biāo)X=2、Y=0時(shí),選擇{hn+3,hn+2,…h(huán)4};當(dāng)目標(biāo)位置為j點(diǎn),即分?jǐn)?shù)坐標(biāo)Y=2、X=2時(shí),選擇{jn,jn-1,…j1};當(dāng)目標(biāo)位置為其他點(diǎn)時(shí),選擇{Qn-1,Qn-2,…Q0};隨后使用n個(gè)限幅器分別處理這n個(gè)數(shù)據(jù),將值域限制在0到255,每個(gè)長(zhǎng)度為8比特;最后輸出8*n比特的數(shù)據(jù)。
在上述方法中,步驟(a)到步驟(g)這7步操作是同時(shí)工作的,從輸入到輸出,形成一個(gè)流水線;從而該亮度插值器在每個(gè)時(shí)鐘周期都能進(jìn)行一次數(shù)據(jù)輸入,經(jīng)過一定周期數(shù)延遲后,每個(gè)時(shí)鐘周期都能進(jìn)行一次數(shù)據(jù)輸出。
在上述方法中,亮度插值器的輸入輸出方式并不局限于按行進(jìn)行;如果需要按列進(jìn)行輸入輸出,只需將分?jǐn)?shù)坐標(biāo)Y和X對(duì)調(diào),而不需要對(duì)插值器的結(jié)構(gòu)做任何改動(dòng)。
上述方法主要面向高清晰度視頻解碼,但又不局限于解碼高清晰度視頻;通過改變步驟(a)中定義的參數(shù)n,即并行計(jì)算的像素點(diǎn)的個(gè)數(shù),就可以調(diào)整具體實(shí)現(xiàn)時(shí)所使用的硬件資源數(shù)量。
由上可知,本發(fā)明所述的一種基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,采用了一種級(jí)數(shù)可變的流水線結(jié)構(gòu),針對(duì)不同目標(biāo)位置的插值需要,自動(dòng)選擇5到8級(jí)流水線,執(zhí)行包括輸入數(shù)據(jù)延遲、行方向?yàn)V波、列方向?yàn)V波、J點(diǎn)濾波、數(shù)據(jù)整理、1/4像素濾波、輸出通路選擇和限幅這些步驟的操作。該方法使得數(shù)據(jù)的輸入、處理和輸出能夠同時(shí)執(zhí)行,避免了空閑等待、數(shù)據(jù)轉(zhuǎn)置和存放中間變量的開銷,在提高運(yùn)算速度的同時(shí)也有效減少了硬件資源的占用。使用該方法實(shí)現(xiàn)亮度插值器,在確保高清晰度視頻實(shí)時(shí)解碼的前提下,也能有效地控制芯片面積和系統(tǒng)時(shí)鐘頻率。
特別地,本發(fā)明與前文中所提到的Deng Lei等人提出的方法進(jìn)行比較,可以得到如下的對(duì)比結(jié)果(1)從寄存器數(shù)量上看,在n=1情況下,Deng Lei等人的架構(gòu)中,用于輸入存儲(chǔ)和數(shù)據(jù)同步的像素寄存器數(shù)量為48個(gè)(6×6+12),而本發(fā)明的架構(gòu)中,n=1的情況下,像素寄存器的數(shù)量?jī)H為18個(gè)(5×3+3);(2)從濾波器數(shù)量上看,在n=1情況下,Deng Lei等人的架構(gòu)中,總共使用了30個(gè)各類濾波器;而在本發(fā)明的架構(gòu)中,只需要使用10個(gè)濾波器。而兩中架構(gòu)中單個(gè)的濾波器的大小是相仿的;(3)從計(jì)算速度上看,Deng Lei等人的架構(gòu)中,輸出和輸入之間的最長(zhǎng)延遲為9個(gè)時(shí)鐘周期,而在本發(fā)明的架構(gòu)中,最長(zhǎng)延遲為8個(gè)時(shí)鐘周期,略有改善。
綜上所述,本發(fā)明在計(jì)算速度和硬件資源的節(jié)省上,都是具有優(yōu)勢(shì)的。
圖1是亮度插值器的總體結(jié)構(gòu)圖;圖2是AVS中亮度分?jǐn)?shù)像素的位置分布;其中含有大寫字母的正方形表示整數(shù)像素點(diǎn)所在的位置,含有小寫字母的圓形表示半像素和四分之一像素點(diǎn)所在的位置。
圖3是流水線工作方式的示意圖;圖4是約定的輸入數(shù)據(jù)的格式(2點(diǎn)并行計(jì)算時(shí)的情況);圖5是延遲寄存器組模塊的結(jié)構(gòu)圖;圖6是行濾波器組的結(jié)構(gòu)圖;圖7是列濾波器組的結(jié)構(gòu)圖;圖8是J點(diǎn)濾波器組的結(jié)構(gòu)圖;圖9是1/4濾波器組模塊及其與數(shù)據(jù)整理模塊的連接;圖10是數(shù)據(jù)整理模塊的內(nèi)部結(jié)構(gòu)圖;圖11是輸出選擇器與限幅器。
具體實(shí)現(xiàn)方式結(jié)合本發(fā)明技術(shù)方案以及附圖提供以下實(shí)施例如圖1所示,為方便敘述,在本例中,規(guī)定并行計(jì)算的像素點(diǎn)個(gè)數(shù)為2,即令步驟(a)中所定義的參數(shù)n等于2。對(duì)于n不等于2的情況,只需對(duì)本例的結(jié)構(gòu)進(jìn)行簡(jiǎn)單的擴(kuò)展(n大于2時(shí))或精簡(jiǎn)(n等于1時(shí))即可。
如圖1,本發(fā)明的7個(gè)步驟分別對(duì)應(yīng)于圖中7個(gè)硬件模塊。其對(duì)應(yīng)關(guān)系如下步驟(a)對(duì)應(yīng)延遲寄存器組。
步驟(b)對(duì)應(yīng)行濾波器組。
步驟(c)對(duì)應(yīng)列濾波器組。
步驟(d)對(duì)應(yīng)J點(diǎn)濾波器組。
步驟(e)對(duì)應(yīng)數(shù)據(jù)整理模塊。
步驟(f)對(duì)應(yīng)1/4濾波器組。
步驟(g)對(duì)應(yīng)輸出選擇器和限幅器。
各個(gè)硬件模塊同時(shí)工作,形成流水線,針對(duì)不同目標(biāo)位置的插值需要,自動(dòng)選擇5到8級(jí)流水線,執(zhí)行上述各步驟的操作(如圖3)。以下分別闡述各個(gè)模塊。
延遲寄存器組模塊。如圖5。由于n等于2,輸入數(shù)據(jù)每行最多應(yīng)有n+4=6個(gè)像素點(diǎn)的亮度數(shù)據(jù)。在進(jìn)行不同位置的插值時(shí),需要用到的輸入數(shù)據(jù)數(shù)量也是不同的。例如對(duì)i位置插值時(shí),需要用到每行n+4=6個(gè)像素點(diǎn)的數(shù)據(jù);而對(duì)d位置插值時(shí),只需要用到每行n=2個(gè)像素點(diǎn)的數(shù)據(jù)。因此有必要規(guī)定,數(shù)據(jù)輸入時(shí),有用數(shù)據(jù)從高位開始向低位排列,排完為止(參閱圖4)。在AVS中,每個(gè)像素的亮度數(shù)據(jù)用8比特?zé)o符號(hào)數(shù)表示。因此,為了完成步驟(a)中要求的操作,需要使用3級(jí)寄存器,每級(jí)位寬應(yīng)為6×8=48比特。更一般的情況下,每級(jí)位寬應(yīng)為(n+3)×8比特。
行濾波器組模塊。如圖6。該模塊的功能是計(jì)算處于位置b的半像素?cái)?shù)據(jù)(參閱圖2),其結(jié)果根據(jù)需要作為輸出數(shù)據(jù)或1/4像素濾波器的輸入。由于n等于2,行濾波器組應(yīng)由n+1=3個(gè)濾波器構(gòu)成。其中每個(gè)濾波器具有抽頭系數(shù)(-1,5,5,-1)。每個(gè)濾波器的4個(gè)輸入均為8比特的位寬。其中,濾波器R_FIR_2的輸入為{C5,C4,C3,C2},R_FIR_1的輸入為{C4,C3,C2,C1},R_FIR_0的輸入為{C3,C2,C1,C0}。為了保持濾波后數(shù)據(jù)的精度,濾波器的輸出為13比特有符號(hào)數(shù),表示為{b2,b1,b0}。更一般的情況下,行濾波器組模塊應(yīng)由n+1個(gè)濾波器構(gòu)成,其輸出表示為{bn,bn-1,…b0}。由于采用了輸出寄存器,數(shù)據(jù)輸出將晚于輸入一個(gè)時(shí)鐘周期。
列濾波器組模塊。如圖7。該模塊的功能是計(jì)算處于位置h的半像素?cái)?shù)據(jù)(參閱圖2),其結(jié)果根據(jù)需要作為輸出數(shù)據(jù)或1/4像素濾波器的輸入。由于n等于2,列濾波器組應(yīng)由n+4=6個(gè)濾波器構(gòu)成。其中每個(gè)濾波器具有抽頭系數(shù)(-1,5,5,-1)。每個(gè)濾波器的4個(gè)輸入均為8比特的位寬。其中,濾波器C_FIR_5的輸入為{A5,B5,C5,D5},濾波器C_FIR 4的輸入為{A4,B4,C4,D4}……依此類推。為了保持濾波后數(shù)據(jù)的精度,濾波器的輸出為13比特有符號(hào)數(shù),表示為{b5,b4,b3,b2,b1,b0}。更一般的情況下,列濾波器組模塊應(yīng)由n+4個(gè)濾波器構(gòu)成,其輸出表示為{bn+3,bn+2…b0}。由于采用了輸出寄存器,數(shù)據(jù)輸出將晚于輸入一個(gè)時(shí)鐘周期。
J點(diǎn)濾波器組模塊。如圖8。該模塊的功能是計(jì)算處于位置j的半像素?cái)?shù)據(jù)(如圖2),其結(jié)果根據(jù)需要作為輸出數(shù)據(jù)或1/4像素濾波器的輸入。由于n等于2,J點(diǎn)濾波器組應(yīng)由n+1=3個(gè)濾波器構(gòu)成。其中每個(gè)濾波器具有抽頭系數(shù)(-1,5,5,-1)。每個(gè)濾波器的4個(gè)輸入均為13比特的位寬,這是因?yàn)镴點(diǎn)濾波器組的輸入來自列濾波器組的輸出。濾波器J_FIR_2的輸入為{h5,h4,h3,h2},J_FIR_1的輸入為{h4,h3,h2,h1},J_FIR_0的輸入為{h3,h2,h1,h0}。為了保持濾波后數(shù)據(jù)的精度,濾波器的輸出為17比特有符號(hào)數(shù),表示為{j2,j1,j0}。更一般的情況下,J點(diǎn)濾波器組模塊應(yīng)由n+1個(gè)濾波器構(gòu)成,其輸出表示為{jn,jn-1,…j0}。由于采用了輸出寄存器,數(shù)據(jù)輸出將晚于輸入一個(gè)時(shí)鐘周期。
1/4濾波器組模塊。如圖9。該模塊的功能是計(jì)算處于1/4像素位置的數(shù)據(jù),包括位置a,c,i,k,e,g,p,r,d,n,f和q(如圖2)。該模塊本身并不關(guān)心其輸出的是哪個(gè)1/4位置的數(shù)據(jù),而是由它的輸入來決定,即由數(shù)據(jù)整理模塊來完成1/4位置選擇的功能。1/4濾波器組應(yīng)由n=2個(gè)濾波器構(gòu)成。其中每個(gè)濾波器具有抽頭系數(shù)(1,7,7,1)。值得注意的是,本方法沒有針對(duì)e,g,p和r這四個(gè)位置配備專門的雙線性濾波器,而是使用1/4濾波器完成了此功能,實(shí)現(xiàn)方法見“數(shù)據(jù)整理模塊”中的表格。為了使濾波器適用于所有的1/4位置,每個(gè)濾波器需要2個(gè)17比特的輸入和2個(gè)13比特的輸入。由于采用了不統(tǒng)一的輸入寬度,每個(gè)濾波器實(shí)際上進(jìn)行的計(jì)算是Y=X3+7*8*x2+7*X1+8*x0。式中Y為濾波結(jié)果,X3和X1是17比特輸入,x2和x0是13比特輸入,*代表乘號(hào)。Y是一個(gè)21比特的有符號(hào)數(shù),濾波器將Y右移9比特后輸出。輸出表示為{Q1,Q0},每項(xiàng)12比特。更一般的情況下,1/4濾波器組模塊應(yīng)由n個(gè)濾波器構(gòu)成,其輸出表示為{Qn-1,Qn-2,…Q0}。由于采用了輸出寄存器,數(shù)據(jù)輸出將晚于輸入一個(gè)時(shí)鐘周期。
數(shù)據(jù)整理模塊。如圖10。該模塊的功能是根據(jù)插值的目標(biāo)位置,從延遲寄存器組、行濾波器組、列濾波器組和J點(diǎn)濾波器組這4個(gè)模塊的所有輸出中選擇并整理出所需要的數(shù)據(jù),用于1/4濾波器組模塊的輸入。以對(duì)位置a插值為例(如圖2),需要用到的數(shù)據(jù)為ee,D,b,E。對(duì)應(yīng)到本例中,計(jì)算Q0所需要的數(shù)據(jù)就是{b1,D2,b0,D1}。再以對(duì)位置d插值為例,需要用到的數(shù)據(jù)為ff,D,h,H。注意到在流水線中,ff是相對(duì)于h提前一個(gè)時(shí)鐘周期的h位置數(shù)據(jù)。而H則是相對(duì)于D延遲一個(gè)時(shí)鐘周期的D位置數(shù)據(jù)。而D和h是同步的。因此,在本例中,為了使1/4濾波器的輸入同步,計(jì)算Q0所需要的數(shù)據(jù)就是{h4++,D4+,h4+,D4}。其中+表示將數(shù)據(jù)延遲一個(gè)時(shí)鐘周期再輸出,++表示延遲兩個(gè)周期。根據(jù)這樣的思路,得到一張表。下表表示了不同目標(biāo)位置時(shí)計(jì)算Q0所需要的數(shù)據(jù)。要得到用于Qn的表,只需要將表中的下標(biāo)都加上n即可。
為了減少硬件資源占用,可以將表中所有需要延遲的數(shù)據(jù)分離出來,用專門的選擇器選擇后,統(tǒng)一進(jìn)行延遲。于是得到以下兩張表。
如圖10,可以用硬件方法實(shí)現(xiàn)這兩張表所描述的功能。
輸出選擇器和限幅器模塊。如圖11。該模塊的功能分為兩部分。第一部分功能是選擇輸出數(shù)據(jù)。當(dāng)目標(biāo)位置為整數(shù)像素點(diǎn)D時(shí)(參閱圖2),選擇{An+3,An+2,…A4}。當(dāng)目標(biāo)位置為b點(diǎn)時(shí),選擇{bn,bn-1,…b1}。當(dāng)目標(biāo)位置為h點(diǎn)時(shí),選擇{hn+3,hn+2,…h(huán)4}。當(dāng)目標(biāo)位置為1/4像素點(diǎn)時(shí),選擇{Qn-1,Qn-2,…Q0}。特別的,在本例中n=2。第二部分功能是限幅,即將輸出數(shù)據(jù)限制在0到255的范圍內(nèi)當(dāng)限幅器輸入為負(fù)時(shí),輸出為0;當(dāng)限幅器輸入大于255時(shí),輸出255;其他情況下輸入與輸出一致。特別的,在本例中n=2,則用到了兩個(gè)限幅器。
至此,實(shí)現(xiàn)了一種基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯?。在本例中,?guī)定并行計(jì)算的像素點(diǎn)個(gè)數(shù)為n=2。對(duì)于n不等于2的情況,只需對(duì)本例的結(jié)構(gòu)進(jìn)行簡(jiǎn)單的擴(kuò)展(n大于2時(shí))或精簡(jiǎn)(n等于1時(shí))即可。
權(quán)利要求
1.一種基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征在于,采用了一種級(jí)數(shù)可變的流水線結(jié)構(gòu),針對(duì)目標(biāo)位置的插值需要,自動(dòng)選擇4到8級(jí)流水線,同時(shí)進(jìn)行數(shù)據(jù)的輸入、處理和輸出,包括如下步驟(a)對(duì)輸入數(shù)據(jù)做延遲操作;(b)行方向?yàn)V波;(c)列方向?yàn)V波;(d)J點(diǎn)濾波;(e)對(duì)(a)、(b)、(c)和(d)步驟的輸出數(shù)據(jù)進(jìn)行整理;(f)四分之一像素濾波;(g)輸出通路選擇、限幅輸出。
2.如權(quán)利要求1所述的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征是,在步驟(a)中,設(shè)并行計(jì)算的像素點(diǎn)個(gè)數(shù)為n,其中n可取1和8之間,數(shù)據(jù)按行輸入輸出,則每行的輸入數(shù)據(jù)最多需要n+4個(gè)像素點(diǎn),每個(gè)時(shí)鐘周期輸入一行數(shù)據(jù),將其表示為{An+3,An+2,…A0},其中共n+4項(xiàng),每一項(xiàng)代表一個(gè)8比特的像素點(diǎn),對(duì)該數(shù)據(jù)進(jìn)行三級(jí)延遲操作,得到三行輸出數(shù)據(jù),相對(duì)于輸入數(shù)據(jù),這三行數(shù)據(jù)分別具有1、2和3個(gè)時(shí)鐘周期的延遲,表示為{Bn+3,Bn+2,…B0}、{Cn+3,Cn+2,…C0}和{Dn+3,Dn+2,…D0}。
3.如權(quán)利要求1所述的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征是,在步驟(b)中,使用n+1個(gè)4抽頭濾波器,抽頭系數(shù)為[-1,5,5,-1],濾波器編號(hào)為n遞減到0;其中n號(hào)濾波器的輸入為{Cn+3,Cn+2,Cn+1,Cn},n-1號(hào)濾波器的輸入為{Cn+2,Cn+1,Cn,Cn-1},依此類推,該組濾波器的輸出表示為{bn,bn-1,…b0},輸出比輸入延遲一個(gè)時(shí)鐘周期。
4.如權(quán)利要求1所述的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征是,在步驟(c)中,使用n+4個(gè)4抽頭濾波器,抽頭系數(shù)為[-1,5,5,-1],濾波器編號(hào)為n+3遞減到0;其中n+3號(hào)濾波器的輸入為{An+3,Bn+3,Cn+3,Dn+3},n+2號(hào)濾波器的輸入為{An+2,Bn+2,Cn+2,Dn+2},依此類推;該組濾波器的輸出表示為{hn+3,hn+2,…h(huán)0},輸出比輸入延遲一個(gè)時(shí)鐘周期。
5.如權(quán)利要求1所述的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征是,在步驟(d)中,使用n+1個(gè)4抽頭濾波器,抽頭系數(shù)為[-1,5,5,-1],濾波器編號(hào)為n遞減到0;其中n號(hào)濾波器的輸入為{hn+3,hn+2,hn+1,hn},n-1號(hào)濾波器的輸入為{hn+2,hn+1,hn,hn-1},依此類推;該組濾波器的輸出表示為{jn,jn-1,…j0};輸出比輸入延遲一個(gè)時(shí)鐘周期。
6.如權(quán)利要求1所述的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征是,在步驟(e)中,該步驟的目的是為第(f)步提供輸入數(shù)據(jù);通過對(duì)(a)、(b)、(c)和(d)這四步的輸出數(shù)據(jù)進(jìn)行選擇和延遲操作,針對(duì)不同位置的四分之一像素插值,得到n組輸出數(shù)據(jù),每組4個(gè),用于四分之一像素濾波的輸入。
7.如權(quán)利要求1所述的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征是,在步驟(f)中,使用n個(gè)4抽頭濾波器,抽頭系數(shù)為[1,7,7,1],濾波器編號(hào)為n-1遞減到0;其輸入數(shù)據(jù)來自第(e)步的輸出;該組濾波器的輸出表示為{Qn-1,Qn-2,…Q0};輸出比輸入延遲一個(gè)時(shí)鐘周期。
8.如權(quán)利要求1所述的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征是,在步驟(g)中,首先從(a)、(b)、(c)、(d)和(f)五步的輸出中選擇出n個(gè)數(shù)據(jù);當(dāng)目標(biāo)位置為整數(shù)像素點(diǎn),即分?jǐn)?shù)坐標(biāo)Y和X均為0時(shí),選擇{An+3,An+2,…A4};當(dāng)目標(biāo)位置為b點(diǎn),即分?jǐn)?shù)坐標(biāo)Y=0、X=2時(shí),選擇{bn,bn-1,…b1};當(dāng)目標(biāo)位置為h點(diǎn),即分?jǐn)?shù)坐標(biāo)X=2、Y=0時(shí),選擇(hn+3,hn+2,…h(huán)4};當(dāng)目標(biāo)位置為j點(diǎn),即分?jǐn)?shù)坐標(biāo)Y=2、X=2時(shí),選擇{jn,jn-1,…j1};當(dāng)目標(biāo)位置為j點(diǎn)以外的點(diǎn)時(shí),選擇{Qn-1,Qn-2,…Q0};隨后使用n個(gè)限幅器分別處理這n個(gè)數(shù)據(jù),將值域限制在0到255,每個(gè)長(zhǎng)度為8比特;最后輸出8*n比特的數(shù)據(jù)。
9.如權(quán)利要求1所述的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征是,如果需要按列進(jìn)行輸入輸出,只需將分?jǐn)?shù)坐標(biāo)Y和X對(duì)調(diào)。
10.如權(quán)利要求1所述的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法,其特征是,通過改變步驟(a)中定義的參數(shù)n,即并行計(jì)算的像素點(diǎn)的個(gè)數(shù),從而調(diào)整具體實(shí)現(xiàn)時(shí)所使用的硬件資源數(shù)量。
全文摘要
本發(fā)明涉及一種數(shù)字視頻編解碼技術(shù)領(lǐng)域的基于AVS運(yùn)動(dòng)補(bǔ)償?shù)牧炼炔逯灯鞯腣LSI實(shí)現(xiàn)方法。本發(fā)明采用了一種級(jí)數(shù)可變的流水線結(jié)構(gòu),針對(duì)不同目標(biāo)位置的插值需要,自動(dòng)選擇4到8級(jí)流水線,執(zhí)行包括輸入數(shù)據(jù)延遲、行方向?yàn)V波、列方向?yàn)V波、J點(diǎn)濾波、數(shù)據(jù)整理、1/4像素濾波、輸出通路選擇和限幅這些步驟的操作。該方法使得數(shù)據(jù)的輸入、處理和輸出能夠同時(shí)執(zhí)行,避免了空閑等待、數(shù)據(jù)轉(zhuǎn)置和存放中間變量的開銷,在提高運(yùn)算速度的同時(shí)也有效減少了硬件資源的占用。使用該方法實(shí)現(xiàn)亮度插值器,在確保高清晰度視頻實(shí)時(shí)解碼的前提下,也能有效地控制芯片面積和系統(tǒng)時(shí)鐘頻率。
文檔編號(hào)H04N7/015GK1835587SQ200610025670
公開日2006年9月20日 申請(qǐng)日期2006年4月13日 優(yōu)先權(quán)日2006年4月13日
發(fā)明者周大江, 劉佩林 申請(qǐng)人:上海交通大學(xué)