專利名稱:用于圖像處理中的邊緣處理的設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明的一種或多種實(shí)施例涉及視頻后置處理和圖像增強(qiáng)領(lǐng)域。更加具體地講,一種實(shí)施例涉及用于圖像處理中的邊緣處理的方法和設(shè)備。
背景技術(shù):
目前的數(shù)字電視(DTV)可以在編碼媒體信號(hào)解碼之后但顯示解碼數(shù)字視頻幀之前的顯示處理流水線中提供視頻后置處理和/或圖像增強(qiáng)。視頻后置處理的例子包括水平和垂直視頻縮放。水平和垂直視頻縮放在DTV芯片內(nèi)可以使用多相濾波器來實(shí)現(xiàn)??傮w上,可以將視頻縮放看成內(nèi)插/抽取處理,這一處理包括從一組輸入像素產(chǎn)生更大/更小(取決于縮放系數(shù))數(shù)量的輸出像素。當(dāng)縮放是使用多相濾波器實(shí)現(xiàn)之時(shí),所產(chǎn)生的各個(gè)輸出像素是N個(gè)輸入像素的函數(shù)。
一般來說,N是整數(shù),指的是由多相濾波器給出的用來進(jìn)行縮放處理的抽頭的數(shù)量。產(chǎn)生輸出像素所需的N個(gè)輸入像素一般以輸出像素的位置為中心,例如,在使用對(duì)稱多相濾波器的時(shí)候就是如此。雖然這對(duì)大多數(shù)輸出像素是很有作用的,但是卻在像素幀的邊緣造成了問題。實(shí)際上,至少有一個(gè)產(chǎn)生像素幀邊緣上的輸出像素所需的輸入像素是不存在的。
舉例來說,考慮從720水平像素到1920像素的縮放(放大)。假設(shè)這個(gè)例子中的抽頭數(shù)量也就是N等于九。根據(jù)這一抽頭數(shù)量,為了產(chǎn)生輸出像素零(用0-1919對(duì)像素進(jìn)行編號(hào)),需要九個(gè)輸入像素,這九個(gè)輸入像素以零為中心。而輸入像素0-4是存在的,像素-4到-1卻并不存在。類似地,對(duì)輸出像素1、2和3進(jìn)行的輸出像素計(jì)算也有缺失的輸入像素。雖然缺失輸入像素的數(shù)量在計(jì)算后續(xù)輸出像素的時(shí)候會(huì)減少并且最終會(huì)消失,但是在像素幀的右邊緣(上下邊緣(對(duì)于垂直縮放))會(huì)再次出現(xiàn)這一問題,即,輸入像素719(對(duì)于720線寬像素幀)右側(cè)的輸入像素也不存在。
為了解決這一問題,目前存在數(shù)種邊緣處理方法。這些方法專注于在像素幀周圍填補(bǔ)額外的邊緣像素。這些方法包括復(fù)制(在上述例子中,像素-4到-1全部取像素0的值);鏡像,其中像素-4到-1取像素1-4的值;和基于零,在這種情況下,將像素-4到-1簡(jiǎn)單地設(shè)為零。
上述方法中的任何一種的實(shí)現(xiàn)一般來說都牽涉到在進(jìn)行縮放操作之前通過軟件或其它硬件單元真正產(chǎn)生這些填補(bǔ)像素并且將它們保存在存儲(chǔ)器中。結(jié)果,視頻縮放器要讀取整個(gè)經(jīng)過填補(bǔ)的圖像。硬件廠商常常會(huì)完全忽略邊緣處理問題并且放棄像素幀邊緣處縮放的質(zhì)量。
在附圖中,為了舉例而非為了限制,圖解說明了本發(fā)明的各種實(shí)施例,其中附圖1是表示按照一種實(shí)施例的邊緣處理邏輯的框圖;附圖2是表示按照一種實(shí)施例的像素幀邊界處的邊緣處理的框圖;附圖3是表示按照一種實(shí)施例的包括邊緣處理邏輯(例如,如附圖1所示的邊緣處理邏輯)的系統(tǒng)的框圖;附圖4是表示按照一種實(shí)施例的圖像處理中的邊緣處理方法的流程圖;附圖5是表示按照一種實(shí)施例在像素幀邊界處的邊緣處理方法的流程圖。
附圖6是表示使用所公開的技術(shù)的設(shè)計(jì)方案的仿真、模擬和制造的各種不同設(shè)計(jì)方案表達(dá)方式或格式的框圖。
具體實(shí)施例方式
在下面的說明中,給出了大量的具體細(xì)節(jié),比如邏輯實(shí)現(xiàn)、信號(hào)和總線的大小和名稱、系統(tǒng)組件的類型和相互關(guān)系以及邏輯劃分/整合選擇,為的是提供更加全面的理解。不過,本領(lǐng)域技術(shù)人員將會(huì)意識(shí)到,在沒有這些具體細(xì)節(jié)的情況下,也能夠?qū)嵺`本發(fā)明。在其它例子中,沒有詳細(xì)給出控制結(jié)構(gòu)和門電平電路,以避免使本發(fā)明重點(diǎn)不突出。本領(lǐng)域的普通技術(shù)人員在使用所包含的說明書的情況下,將能夠?qū)崿F(xiàn)合乎要求的邏輯電路,而不需要過度的試驗(yàn)。
系統(tǒng)附圖1是表示按照一種實(shí)施例的邊緣處理邏輯100的框圖。在一種實(shí)施例中,邊緣處理邏輯100在諸如視頻后置處理和/或圖像增強(qiáng)之類的圖像處理期間執(zhí)行邊緣處理。在一種實(shí)施例中,邊緣處理邏輯100并入在視頻后置處理邏輯(比如,顯示器群集器)的水平和垂直縮放器中。本文介紹的實(shí)施例并不局限于將邊緣處理邏輯并入在水平和垂直縮放器中,并且可以用在其它類型的后置處理邏輯中。實(shí)例包括用在數(shù)字電視(DTV)的顯示處理流水線、計(jì)算機(jī)系統(tǒng)內(nèi)具有集成圖形控制器的系統(tǒng)芯片組的顯示引擎或其它顯示裝置中。
具有代表性地,邊緣處理邏輯100包括控制器110,可以對(duì)該控制器110進(jìn)行編程或硬連接,以指示輸入邏輯門120以及第二邏輯門130(130-1、103-2、130-3和130-4)填充輸入像素寄存器140(140-1、140-2、140-3、140-4、140-5、140-6、140-7、140-8和140-9)。如附圖1所示,邊緣處理邏輯100是在視頻后置處理邏輯的水平/垂直縮放器內(nèi)工作的。不過,本文所介紹的實(shí)施例并不局限于在垂直或水平縮放器內(nèi)實(shí)現(xiàn)邊緣處理邏輯100,而是可以應(yīng)用于對(duì)像素幀進(jìn)行處理以從處于像素幀邊緣之外的輸入像素產(chǎn)生輸出像素的其它視頻后置處理和圖像處理技術(shù),例如,如附圖2所示。
附圖2是表示包括多個(gè)輸入像素166(Z0,0...,Zi,j)的像素幀緩沖器150的框圖。如圖所示,像素幀緩沖器150包括左邊緣152、右邊緣154、上邊緣156和下邊緣158。因此,在一種實(shí)施例中,其中邊緣處理邏輯(EHL)100(附圖1)用于進(jìn)行DTV處理流水線內(nèi)的縮放,EHL 100可以在視頻后置處理邏輯的水平縮放器內(nèi)實(shí)現(xiàn)。
如上所述,視頻縮放在DTV中一般來說是使用多相濾波器實(shí)現(xiàn)的。可以將視頻縮放看作內(nèi)插/抽取處理,這一處理專注于從一組輸入像素產(chǎn)生更大/更小(取決于縮放系數(shù))數(shù)量的輸出像素。當(dāng)縮放是使用多相濾波器實(shí)現(xiàn)之時(shí),各個(gè)輸出像素是作為N個(gè)輸入像素的函數(shù)而產(chǎn)生的,其中N是多相濾波器抽頭的數(shù)量。所使用的N個(gè)輸入像素將與輸出像素以相同的位置為中心,例如,如附圖2所示。
假設(shè)與輸入像素Z0,0的位置相應(yīng)的輸出像素160是從像素幀150產(chǎn)生的,計(jì)算輸出像素160所需的輸入像素可能是不可用的。如附圖2所示,假設(shè)N的值等于九,要產(chǎn)生輸出像素160,需要九個(gè)以輸出像素160為中心的輸入像素。雖然需要九個(gè)輸入像素,但是卻只有五個(gè)輸入像素可用,具體來說,像素-Z0,4、-Z0,3、-Z0,2、-Z0,1不可用,因?yàn)檩敵鱿袼?60在像素幀150的左邊緣上。對(duì)于位于像素幀150的右邊緣的輸出像素162的輸出像素計(jì)算以及位于像素幀150的下邊緣158的輸出像素164,同樣會(huì)出現(xiàn)這個(gè)問題。
為了計(jì)算像素幀邊緣處或附近的輸出像素,有三種邊緣處理方法。這些方法中的每一種都專注于在像素幀150的外邊緣170周圍填補(bǔ)額外的邊緣像素。外邊緣170的尺寸(D)178(178-1、178-2、178-3和178-4)是按下式確定的D=(N-1)/2如果N是奇數(shù) (1)D=N/2如果N是偶數(shù) (2)為了計(jì)算輸出像素160,基于零的邊緣處理方法會(huì)用零值172填補(bǔ)像素幀緩沖器150的外邊緣170。通過填補(bǔ)像素幀150的外邊緣170,可以得到完成輸出像素160所需的九個(gè)輸入像素。還可以認(rèn)識(shí)到,對(duì)輸出像素160右邊的輸出像素(Z0,1、Z0,2、Z0,3)進(jìn)行水平縮放也要求邊緣處理方法提供缺失的輸入像素。其它的技術(shù)牽涉到復(fù)制,其中對(duì)幀邊緣處的像素的值進(jìn)行重復(fù)使用,如174所示。在鏡像方法中,對(duì)輸入像素的值進(jìn)行鏡像,如176所示。
再次參照附圖1,按照所示的實(shí)施例,邊緣處理邏輯100是為九抽頭多相濾波器而提供的。在一種實(shí)施例中,輸入像素寄存器140保存與多相濾波器的抽頭數(shù)量N相應(yīng)的九個(gè)輸入像素。在一種實(shí)施例中,各個(gè)像素是與亮度值(Y)和色度值(Cr/Cb)相應(yīng)的8/10/12比特量。如圖所示,控制器110包括邊緣處理模式(EHM)寄存器116,用來提供邊緣處理模式。同樣,控制器110與線寬寄存器118相耦合,該線寬寄存器提供像素幀的當(dāng)前線的線寬度。在一種實(shí)施例中,EHM寄存器116和線寬寄存器118是由例如諸如設(shè)備驅(qū)動(dòng)器或其它類似的特許軟件之類的控制軟件進(jìn)行填充的,以提供邊緣處理模式和像素幀的當(dāng)前線的線寬度。
在一種實(shí)施例中,信號(hào)114是提供給第二邏輯門130的左(上)邊緣控制信號(hào)。在一種實(shí)施例中,信號(hào)112是右(下)邊緣控制信號(hào),該信號(hào)提供給第一邏輯門120。基于線寬度并且取決于所檢測(cè)到的邊緣處理方法,按照正在進(jìn)行的一種實(shí)施例,控制器110判斷當(dāng)前輸出像素是否位于像素幀邊界上或處于像素幀邊界附近。在一種實(shí)施例中,控制器110使控制信號(hào)112和114有效以便指示用輸入像素寄存器140來存儲(chǔ)輸入像素,從而能夠按照視頻后置處理和/或圖像增強(qiáng)操作實(shí)現(xiàn)輸出像素的計(jì)算。
在一種實(shí)施例中,第一邏輯門120是例如多路復(fù)用器(MUX),它從輸入像素寄存器140-1、140-2、140-3、140-6和140-8接收輸入像素?cái)?shù)據(jù)信號(hào)(數(shù)據(jù)輸入)122以及反饋信號(hào)124(124-1、124-2、124-3、124-4、124-5),以輔助像素幀右邊緣的處理。在正常操作狀態(tài)下,控制器110指示MUX 120用來自數(shù)據(jù)輸入122的輸入像素填充輸入像素寄存器140-1。對(duì)于線中剩下的像素,MUX 120簡(jiǎn)單地選取數(shù)據(jù)輸入122,一旦對(duì)各個(gè)輸入像素寄存器140內(nèi)的值進(jìn)行了移位,例如,右移,則將數(shù)據(jù)輸入122存儲(chǔ)在輸入寄存器140-1內(nèi)。當(dāng)檢測(cè)到右邊緣時(shí),控制器110依據(jù)從寄存器116中檢測(cè)的邊緣處理模式,選取到MUX 120的反饋輸入124之一。
在一種實(shí)施例中,第二邏輯門130也是多路復(fù)用器(MUX),這些多路復(fù)用器由信號(hào)114控制的,信號(hào)114由控制器110驅(qū)動(dòng)。如圖所示,第二MUX 130用來從寄存器140-6到140-9中選取數(shù)據(jù)。如圖所示,MUX 130-4為基于零的邊緣處理取輸入零,以及取得來自數(shù)據(jù)輸入122、輸入像素寄存器140-4和輸入寄存器140-8的輸入。同樣地,MUX 130-3取輸入零,以及從輸入像素寄存器140-1、140-4和140-7中取得輸入。MUX130-2取輸入零以及從輸入像素寄存器140-1、140-4和140-6取得輸入。最后,MUX 130-1取輸入零并且從輸入像素寄存器140-3、140-4和140-5取得輸入。
在一種實(shí)施例中,提供第二MUX 130用來處理左(上)邊緣的輸出像素計(jì)算。對(duì)于線中剩下的像素,第二MUX起到簡(jiǎn)單的移位寄存器的作用。如圖所示,所給出的操作是右移操作。在線的左邊緣上,控制器110使控制信號(hào)114有效以便按照從EHM寄存器116中檢測(cè)到的邊緣處理模式指示輸入像素寄存器140-6、140-7、140-8和140-9的加載。在一種實(shí)施例中,附圖1中所示的邊緣處理邏輯100的操作是按照表1中給出的偽碼進(jìn)行的。
表1<pre listing-type="program-listing"><![CDATA[//偽碼參數(shù)9抽頭多相濾波器 總是@(每時(shí)鐘邊緣)開始 //左邊緣專用代碼 //這個(gè)代碼僅對(duì)第5個(gè)輸入像素操作1個(gè)周期。 //寄存器P
到P[3]具有基于非移位寄存器的功能。 //其它5個(gè)寄存器繼續(xù)起移位寄存器的作用。if(no_pixel_shifted_in==4)begin//對(duì)于這個(gè)例子為4(Number_of_taps-1/2) If(EHA==ZERO_BASED)begin For(i=0;i<4;i++)P[i]<=0;//這里完成賦零 For(i=4;i<8;i++)P[i]<=P[i+1]; P[8}<=data_in; End If(EHA==REPLICATION)begin For(i=0;i<4;i++)P[i]<=P[5];//這里完成復(fù)制 For(i=4;i<8;i++)P[i]<=P[i+1]; P[8}<=data_in; End If(EHA==MIRRORING)begin P
<=data_in;//對(duì)P
進(jìn)行鏡像 For(i=1;i<4;i++)P[i]<=P[9-i];//對(duì)P[1]到P[3]進(jìn)行鏡像 For(i=4;i<8;i++)P[i]<=P[i+1]; P[8]<=data_in; End End //右邊緣專用代碼 //這個(gè)代碼進(jìn)行4個(gè)循環(huán)的操作(例如,循環(huán)第721到724,如果輸入具有720線輸入像素)?! ?/僅對(duì)P[8]進(jìn)行改變?! ?/其它11個(gè)寄存器繼續(xù)起移位寄存器的作用?! ? if(no_pixel_shifted_in>=line_width)begin For(i=0;i<8;i++)P[i]<=P[i+1];//寄存器0到7 if(no_pixel_shifted_in==line_width)begin if(EHA==ZERO_BASED)P[8]<=0; if(EHA==REPLICATION)P[8]<=P[8] if(EHA==MIRRORING)P[8]<=P[7]] end if(no_pixel_shifted_in==line_width+2)begin if(EHA==ZERO_BASED)P[8]<=0; if(EHA==REPLICATION)P[8]<=P[8] if(EHA==MIRRORING)P[8]<=P[1]; end End//最后否則子句(簡(jiǎn)單移位寄存器) If((edge==none)\\ ((edge==left)&((pixel_shifted in !=5)\\ ((edge==right)&((pixel_shifted_in<bundle_width))begin For(i=0;i<8;i++)P[i]<=P[i+1]; P[8]<=date_in; End End]]></pre>雖然附圖1表示用于進(jìn)行視頻后置處理操作的按照針對(duì)九抽頭多相濾波器的實(shí)施例的邊緣處理邏輯100,但是應(yīng)當(dāng)意識(shí)到,本文所介紹的關(guān)于邊緣處理邏輯100的這些實(shí)施例包括但不局限于取決于視頻后置處理操作所要求的多相濾波器的抽頭數(shù)量N的各種不同的配置。同樣地,雖然是用輸入MUX 120和第二MUX130加以圖解說明的,但是可以根據(jù)需要增加額外的MUX,以兼顧各種不同的邊緣處理模式,來為輸出像素計(jì)算提供輸入像素。
因此,按照本文所介紹的實(shí)施例,用來產(chǎn)生缺失輸入像素的邊緣處理會(huì)在后處理操作期間發(fā)生,而不是象在像素幀的周圍填補(bǔ)像素來為輸出像素計(jì)算消除像素幀邊緣處缺失的輸入像素的傳統(tǒng)技術(shù)所進(jìn)行的那樣在視頻后置處理操作之前進(jìn)行。例如,如附圖2所示,傳統(tǒng)技術(shù)在提供用于顯示的像素幀的后置處理之前用缺失像素填補(bǔ)解碼的像素幀。
附圖3是表示包括具有水平縮放器(H縮放器)284和垂直縮放器(V縮放器)286的后置處理邏輯280的芯片上系統(tǒng)(SOC)200的框圖,水平縮放器和垂直縮放器包括附圖1的邊緣處理邏輯(EHL)100。典型地,系統(tǒng)200包括與存儲(chǔ)器控制器292和DMA控制器290相耦合的嵌入式控制處理器202。在一種實(shí)施例中,后置處理邏輯280可以包括噪聲修正塊282以及水平縮放器(H縮放器)284和垂直縮放器(V縮放器)286。在一種實(shí)施例中,運(yùn)動(dòng)圖像專家組(MPEG)塊206向幀緩沖器208提供用于后置處理邏輯280的解碼數(shù)字視頻幀,該后置處理邏輯280可以對(duì)所接收到的解碼數(shù)字視頻幀進(jìn)行縮放或圖像增強(qiáng)。在一種實(shí)施例中,MPEG塊206由從外部系統(tǒng)存儲(chǔ)器294接收到的編碼視頻信號(hào)產(chǎn)生解碼視頻幀。
在一種實(shí)施例中,后置處理邏輯280依靠控制處理器202或預(yù)設(shè)軟件來確定邊緣處理模式和當(dāng)前像素幀線的線寬。在一種實(shí)施例中,控制處理器202是嵌入式處理器,該處理器可以由匯編語(yǔ)言代碼進(jìn)行編程。按照一種可選實(shí)施例,可以設(shè)置裝置驅(qū)動(dòng)器來輔助控制處理器202填充EHM寄存器116和線寬寄存器118,以便指示控制器110填充輸入像素寄存器140,從而來實(shí)現(xiàn)例如變形縮放操作。一旦進(jìn)行了后置處理,就向顯示器296提供輸出像素幀。在所描述的實(shí)施例中,顯示器296可以是仿真陰極射線管(CRT)監(jiān)視器、數(shù)字監(jiān)視器(比如具有數(shù)字顯示接口的平板顯示器)、DTV單元等等。
在一種實(shí)施例中,為了符合例如后置處理邏輯280每秒30幀的帶寬要求,芯片上直接存儲(chǔ)器訪問(DMA)控制器290向芯片上存儲(chǔ)器控制器292發(fā)出DMA請(qǐng)求,該芯片上存儲(chǔ)器控制器292將來自芯片外系統(tǒng)存儲(chǔ)器294的像素幀提供給DMA控制器290。然后將這些像素幀提供給幀緩沖器208,比如,先入先出(FIFO)緩沖器等。在一種實(shí)施例中,可以將這種初始幀提供給MPEG塊206,該MPEG塊206將所接收到的幀解碼成解碼數(shù)字視頻信號(hào)幀,并且經(jīng)由幀緩沖器208將這種幀提供給后置處理邏輯280。
在一種實(shí)施例中,系統(tǒng)200可以并入在機(jī)頂盒或電視機(jī)內(nèi),用以提供高清晰度電視(HDTV)信號(hào)處理,以及可以并入在DTV等的顯示流水線內(nèi)。在這樣的一種實(shí)施例中,系統(tǒng)存儲(chǔ)器294是由機(jī)頂盒或電視機(jī)系統(tǒng)提供的。不過,應(yīng)當(dāng)認(rèn)識(shí)到,可以將SOC 202提供在用于提供圖像或視頻信號(hào)顯示的其它系統(tǒng)內(nèi),例如,家用個(gè)人計(jì)算機(jī)(PC)、桌面或筆記本單元、手持裝置等等。
在一種實(shí)施例中,可以將SOC 200實(shí)現(xiàn)在例如需要在顯示解碼圖像或視頻幀之前進(jìn)行后置處理或圖像增強(qiáng)的圖形控制器的顯示引擎或者計(jì)算機(jī)系統(tǒng)或顯示裝置的芯片組(它們可能需要在像素幀邊界處進(jìn)行邊緣處理)內(nèi)。在這樣做的過程中,SOC 200消除了現(xiàn)有技術(shù)的局限性,現(xiàn)有技術(shù)會(huì)按照邊緣處理模式畫出像素幀緩沖器的外周長(zhǎng),需要在存儲(chǔ)器內(nèi)存儲(chǔ)額外的系統(tǒng)開銷和日期?,F(xiàn)在將介紹實(shí)現(xiàn)一種或多種實(shí)施例的方法。
操作過程附圖4是表示按照一種實(shí)施例的用于視頻后置處理和/或圖像增強(qiáng)的基于硬件的邊緣處理方法300的流程圖。在處理塊310,依照視頻后置處理和/或圖像增強(qiáng)操作開始輸出像素的計(jì)算。在處理塊312,判斷計(jì)算輸出像素所需的至少一個(gè)輸入像素是否未存儲(chǔ)在輸入像素寄存器內(nèi)。當(dāng)檢測(cè)到這一情況時(shí),在處理塊320中,判斷未存儲(chǔ)的輸入像素是否處于像素幀邊界之外。
在一種實(shí)施例中,在處理塊350,按照檢測(cè)到的邊緣處理模式為未存儲(chǔ)的輸入像素產(chǎn)生像素值。在一種實(shí)施例中,輸入像素的產(chǎn)生是由控制器進(jìn)行的,例如,由附圖1的邊緣處理邏輯100的控制器110進(jìn)行。一旦產(chǎn)生了像素值,則將該像素值加載到輸入像素寄存器內(nèi)。如果計(jì)算輸出像素所需的多個(gè)輸入像素都未經(jīng)存儲(chǔ),并且處于像素幀邊界之外,則重復(fù)進(jìn)行處理塊350和352,直至計(jì)算輸出像素所需的N個(gè)輸入像素都得到存儲(chǔ)。另外,在處理塊360,將未存儲(chǔ)的輸入像素從像素幀緩沖器加載到輸入像素寄存器內(nèi)。在處理塊370,計(jì)算輸出像素。在處理塊380中,重復(fù)進(jìn)行處理塊310-360,直到計(jì)算出所有輸出像素。
附圖5是表示視頻縮放器(例如,如附圖3所示)內(nèi)基于硬件的邊緣處理方法330的流程圖。在處理塊332中,確定像素加載計(jì)數(shù)。在一種實(shí)施例中,像素加載計(jì)數(shù)是依據(jù)線寬寄存器(例如,附圖1的邊緣處理邏輯100的線寬寄存器118)來進(jìn)行跟蹤的。在處理塊334中,如果像素加載計(jì)數(shù)等于規(guī)定的加載計(jì)數(shù),則檢測(cè)到的是左像素幀邊緣。在一種實(shí)施例中,所規(guī)定的加載計(jì)數(shù)是按照等式(1)和(2)確定的。因此,按照參照附圖2介紹的實(shí)施例,所規(guī)定的像素加載計(jì)數(shù)等于四。
當(dāng)處理塊334的條件評(píng)定為真時(shí),在處理塊336中,對(duì)一個(gè)或多個(gè)相鄰輸入像素寄存器之間的輸入像素進(jìn)行移位。在處理塊338中,將來自像素幀緩沖器的輸入像素存儲(chǔ)在最低有效位輸入像素寄存器中,比如,存儲(chǔ)在附圖1的輸入像素寄存器140-1中。一旦加載了,在處理塊340中,識(shí)別至少一個(gè)空輸入像素寄存器。提供輸入像素寄存器的識(shí)別是為了加載針對(duì)處于像素幀邊界之外的缺失輸入像素而產(chǎn)生的值,以按照視頻后置處理或圖像增強(qiáng)操作計(jì)算輸出像素。
在處理塊342中,判斷像素加載計(jì)數(shù)是否大于或等于當(dāng)前像素幀線的線寬。當(dāng)這種條件評(píng)定為真時(shí),在處理塊344中,對(duì)各個(gè)相鄰輸入像素寄存器之間的輸入像素值進(jìn)行移位,以空出一個(gè)輸入像素寄存器。輸入像素寄存器的移位空出了一個(gè)輸入像素寄存器,以便加載至少一個(gè)為處于右像素幀邊緣之外的輸入像素產(chǎn)生的值。隨后,控制流程分支到附圖4的處理塊350。否則,控制流程分支到處理塊360,從而在輸入像素寄存器或像素幀緩沖器內(nèi)獲得計(jì)算輸出像素所需的各個(gè)輸入像素。
在一種實(shí)施例中,未存儲(chǔ)輸入像素的識(shí)別是通過確定計(jì)算輸出像素所需的輸入像素來進(jìn)行的。一旦得到確定,在一種實(shí)施例中,附圖1的控制器110可以判斷計(jì)算輸出像素所需的輸入像素中的任何一個(gè)是否沒有存儲(chǔ)在輸入像素寄存器內(nèi)。當(dāng)確是這種情況時(shí),檢測(cè)出至少一個(gè)未經(jīng)存儲(chǔ)的、計(jì)算輸出像素所需的輸入像素。隨后,如果未存儲(chǔ)的輸入像素處于像素幀邊界之外,則控制器可以按照所檢測(cè)到的邊緣處理模式產(chǎn)生像素值,而不是使用傳統(tǒng)的技術(shù),傳統(tǒng)技術(shù)在視頻后置處理操作之前填補(bǔ)處于像素幀邊界之外的輸入像素,以實(shí)現(xiàn)邊緣處理。
附圖6是表示對(duì)使用所公開的技術(shù)的設(shè)計(jì)方案的仿真、模擬和制造的各種表達(dá)方式或格式的框圖。代表設(shè)計(jì)方案的數(shù)據(jù)可以代表多種方式的設(shè)計(jì)方案。首先,由于在仿真中很有用,因此硬件可以使用硬件描述語(yǔ)言或者其它功能描述語(yǔ)言來表示,這種語(yǔ)言基本上給出了所設(shè)計(jì)的硬件應(yīng)該如何實(shí)現(xiàn)的計(jì)算機(jī)化模型??梢詫⒂布P?10存儲(chǔ)在存儲(chǔ)介質(zhì)400中,比如計(jì)算機(jī)存儲(chǔ)器,從而可以使用仿真軟件420對(duì)該模型進(jìn)行仿真,該仿真軟件420對(duì)硬件模型410應(yīng)用特定的測(cè)試組,來判定它是否確實(shí)起到了所預(yù)期的功能。在某些實(shí)施例中,不將仿真軟件記錄、采集或包含在介質(zhì)中。
按照設(shè)計(jì)方案的任何一種表示,可以將數(shù)據(jù)存儲(chǔ)在任何形式的機(jī)器可讀介質(zhì)中。經(jīng)過調(diào)制或采用其它方式產(chǎn)生的用來傳輸這種信息的光波或電波460、存儲(chǔ)器450或者磁性或光學(xué)存儲(chǔ)裝置(比如盤)可以是機(jī)器可讀介質(zhì)。這些介質(zhì)中的任何一種可以攜帶設(shè)計(jì)信息。術(shù)語(yǔ)“攜帶”(例如,機(jī)器可讀介質(zhì)攜帶信息)因此涵蓋了信息存儲(chǔ)在存儲(chǔ)裝置上或信息編碼成載波或調(diào)制在載波上。描述設(shè)計(jì)或設(shè)計(jì)的細(xì)節(jié)的數(shù)據(jù)位集(當(dāng)嵌入在機(jī)器可讀介質(zhì)(比如載波或存儲(chǔ)介質(zhì))中時(shí))是可以封入其內(nèi)外的物品,或者由他人用來進(jìn)行進(jìn)一步設(shè)計(jì)或制造。
可供選用的其它實(shí)施例應(yīng)意識(shí)到,對(duì)于其它的實(shí)施例,可以使用不同的系統(tǒng)配置。例如,雖然將系統(tǒng)200配置為芯片上系統(tǒng),但是對(duì)于其它實(shí)施例,單處理器或多處理器系統(tǒng)(在這種情況下,一個(gè)或多個(gè)處理器可以類似于上面介紹的處理器202那樣配置和操作)可以受益于各種實(shí)施例的基于硬件的邊緣處理。此外,對(duì)于其它的實(shí)施例,可以使用不同類型的系統(tǒng)或不同類型的計(jì)算機(jī)系統(tǒng),例如,服務(wù)器、工作站、臺(tái)式計(jì)算機(jī)系統(tǒng)、游戲系統(tǒng)、嵌入式計(jì)算機(jī)系統(tǒng)、刀片服務(wù)器等。
雖然公開了具體實(shí)施例和最佳模式,但是可以在保持在所附權(quán)利要求定義的本發(fā)明的實(shí)施例的范圍內(nèi)的同時(shí),對(duì)所公開的實(shí)施例進(jìn)行修改和改變。
權(quán)利要求
1.一種方法,包括在輸出像素計(jì)算期間識(shí)別出至少一個(gè)未經(jīng)存儲(chǔ)的、計(jì)算輸出像素所需的輸入像素;然后如果未經(jīng)存儲(chǔ)的輸入像素的坐標(biāo)處于像素幀邊界之外,則按照所檢測(cè)到的邊緣處理模式為所識(shí)別出的未經(jīng)存儲(chǔ)的輸入像素產(chǎn)生像素值。
2.按照權(quán)利要求1所述的方法,此外還包括將所產(chǎn)生的像素值加載到輸入像素寄存器內(nèi),以存儲(chǔ)計(jì)算輸出像素所需的N個(gè)輸入像素,其中N是整數(shù)。
3.按照權(quán)利要求1所述的方法,此外還包括如果未經(jīng)存儲(chǔ)的像素的坐標(biāo)處于像素幀邊界之內(nèi),則從像素幀緩沖器加載所識(shí)別出的未經(jīng)存儲(chǔ)的輸入像素。
4.按照權(quán)利要求1所述的方法,其中所述產(chǎn)生此外還包括訪問模式寄存器,以將邊緣處理模式確定為基于零的邊緣處理模式、復(fù)制邊緣處理模式和鏡像邊緣處理模式中的一種;和按照所確定的邊緣處理模式形成像素值。
5.按照權(quán)利要求1所述的方法,其中所述產(chǎn)生此外還包括確定像素加載計(jì)數(shù);如果像素加載計(jì)數(shù)等于規(guī)定的加載計(jì)數(shù),則檢測(cè)左像素幀邊緣;和如果像素加載計(jì)數(shù)大于或等于像素幀的線寬,則檢測(cè)右像素幀邊緣。
6.按照權(quán)利要求5所述的方法,其中檢測(cè)左像素幀邊緣此外還包括在一個(gè)或多個(gè)相鄰輸入像素寄存器之間對(duì)輸入像素進(jìn)行移位;將輸入像素從幀緩沖器存儲(chǔ)到最低有效位輸入像素寄存器內(nèi);識(shí)別出至少一個(gè)空輸入像素寄存器;和將按照所檢測(cè)到的邊緣處理模式產(chǎn)生的像素值加載到空輸入像素寄存器內(nèi)。
7.按照權(quán)利要求1所述的方法,其中檢測(cè)右像素幀邊緣此外還包括在各個(gè)相鄰輸入像素寄存器之間對(duì)輸入像素值進(jìn)行移位,以空出一個(gè)輸入像素寄存器;和將按照所檢測(cè)到的邊緣處理模式產(chǎn)生的像素值加載到空輸入像素寄存器內(nèi)。
8.按照權(quán)利要求1所述的方法,其中輸出像素計(jì)算包括視頻縮放操作。
9.按照權(quán)利要求1所述的方法,其中所述識(shí)別包括確定計(jì)算輸出像素所需的N個(gè)輸入像素;和如果計(jì)算輸出像素所需的N個(gè)輸入像素中的至少一個(gè)并不包含在N個(gè)輸入像素寄存器中的輸入像素寄存器內(nèi),則檢測(cè)至少一個(gè)未經(jīng)存儲(chǔ)的輸入像素,其中N是整數(shù)。
10.按照權(quán)利要求5所述的方法,其中檢測(cè)右像素幀邊緣此外還包括訪問線寬寄存器,以確定像素幀的線寬。
11.一種制造物品,包括機(jī)器可讀介質(zhì),該機(jī)器可讀介質(zhì)具有存儲(chǔ)在其上的指令,這些指令可以將一個(gè)系統(tǒng)程控成在輸出像素計(jì)算期間檢測(cè)出計(jì)算輸出像素所需的一個(gè)或多個(gè)輸入像素,所檢測(cè)到的輸入像素各自具有處于像素幀邊界之外的坐標(biāo);按照所檢測(cè)到的邊緣處理模式為各個(gè)所檢測(cè)到的未經(jīng)存儲(chǔ)的輸入像素產(chǎn)生像素值;和按照?qǐng)D像處理操作計(jì)算輸出像素。
12.按照權(quán)利要求11所述的制造物品,其中將所述系統(tǒng)進(jìn)一步編程以如果所識(shí)別出的未經(jīng)存儲(chǔ)的像素的坐標(biāo)處于像素幀邊界之內(nèi),則從像素幀緩沖器加載一個(gè)或多個(gè)所識(shí)別出的未經(jīng)存儲(chǔ)的、計(jì)算輸出像素所需的輸入像素;和將各個(gè)所產(chǎn)生的像素值加載到輸入像素寄存器內(nèi),以存儲(chǔ)計(jì)算輸出像素所需的N個(gè)輸入像素,其中N是整數(shù)。
13.按照權(quán)利要求11所述的制造物品,其中為了產(chǎn)生像素值,將所述系統(tǒng)進(jìn)一步編程以確定像素加載計(jì)數(shù);如果像素加載計(jì)數(shù)等于規(guī)定的加載計(jì)數(shù),則檢測(cè)左像素幀邊緣;和如果像素加載計(jì)數(shù)的大于或等于像素幀的線寬,則檢測(cè)右像素幀邊緣。
14.按照權(quán)利要求13所述的制造物品,其中為了檢測(cè)左像素幀邊緣,將所述系統(tǒng)進(jìn)一步編程以在一個(gè)或多個(gè)相鄰輸入像素寄存器之間對(duì)輸入像素進(jìn)行移位;將輸入像素從幀緩沖器存儲(chǔ)到最低有效位輸入像素寄存器內(nèi);識(shí)別出至少一個(gè)空輸入像素寄存器;和將按照所檢測(cè)到的邊緣處理模式產(chǎn)生的像素值加載到空輸入像素寄存器內(nèi)。
15.按照權(quán)利要求13所述的制造物品,其中為了檢測(cè)右像素幀邊緣,將所述系統(tǒng)進(jìn)一步編程以在各個(gè)相鄰輸入像素寄存器之間對(duì)輸入像素值進(jìn)行移位,以空出一個(gè)輸入像素寄存器;和將按照所檢測(cè)到的邊緣處理模式產(chǎn)生的像素值加載到空輸入像素寄存器內(nèi)。
16.一種設(shè)備,包括多個(gè)輸入像素寄存器;和與所述多個(gè)輸入像素寄存器相耦合的控制器,該控制器用來在輸出像素計(jì)算期間識(shí)別出計(jì)算輸出像素所需的、所述多個(gè)輸入像素寄存器內(nèi)的至少一個(gè)未經(jīng)存儲(chǔ)的輸入像素,并且,如果未經(jīng)存儲(chǔ)的輸入像素的坐標(biāo)處于像素幀邊界之外,則按照所檢測(cè)到的邊緣處理模式為所識(shí)別出的未經(jīng)存儲(chǔ)的輸入像素產(chǎn)生像素值。
17.按照權(quán)利要求16所述的設(shè)備,此外還包括邊緣處理模式寄存器,用于將為具有處于像素幀邊界之外的坐標(biāo)的輸入像素產(chǎn)生像素值所用的邊緣處理模式確定為基于零的邊緣處理模式、復(fù)制邊緣處理模式和鏡像邊緣處理模式中的一種。
18.按照權(quán)利要求16所述的設(shè)備,此外還包括線寬寄存器,該線寬寄存器用于存儲(chǔ)像素幀的線寬和像素加載計(jì)數(shù)。
19.按照權(quán)利要求11所述的設(shè)備,此外還包括第一邏輯門,用于接收來自控制器的控制信號(hào),并且依照控制信號(hào),當(dāng)檢測(cè)到右邊緣時(shí),用所產(chǎn)生的像素值填充第一輸入像素寄存器,而在其它情況下將從像素幀中取得輸入像素值加載到第一輸入像素寄存器內(nèi)。
20.按照權(quán)利要求19所述的設(shè)備,其中第一邏輯門用于在各個(gè)相鄰輸入像素寄存器之間對(duì)像素值進(jìn)行了移位以空出第一輸入像素寄存器之后對(duì)第一輸入像素寄存器進(jìn)行加載。
21.按照權(quán)利要求19所述的設(shè)備,此外還包括與多個(gè)輸入像素寄存器中的一個(gè)或多個(gè)相耦合的一個(gè)或多個(gè)第二邏輯門,所述一個(gè)或多個(gè)第二邏輯門用于接收來自控制器的控制信號(hào),以在檢測(cè)到左邊緣的時(shí)候?qū)⒅导虞d到輸入像素寄存器內(nèi)并且在其它情況下在相鄰的輸入像素寄存器之間對(duì)值進(jìn)行移位。
22.按照權(quán)利要求17所述的設(shè)備,其中裝置驅(qū)動(dòng)器對(duì)邊緣處理模式寄存器和線寬寄存器進(jìn)行加載。
23.按照權(quán)利要求21所述的設(shè)備,其中第一邏輯門是多路復(fù)用器,并且所述一個(gè)或多個(gè)第二邏輯門是多路復(fù)用器,第一多路復(fù)用器和第二多路復(fù)用器用于按照從控制器接收的右邊緣控制信號(hào)和從控制器接收的左邊緣控制信號(hào)之一選取輸入。
24.按照權(quán)利要求16所述的設(shè)備,其中控制器用于在檢測(cè)到輸入像素幀的左邊緣和右邊緣之一時(shí)產(chǎn)生用來將所產(chǎn)生的像素值加載到輸入像素寄存器內(nèi)的控制信號(hào)。
25.按照權(quán)利要求16所述的設(shè)備,此外還包括控制處理器,用于對(duì)邊緣處理模式寄存器和線寬寄存器進(jìn)行加載。
26.一種系統(tǒng),包括嵌入式處理器;與該處理器相耦合的后置處理邏輯,該后置處理邏輯包括縮放器,該縮放器包括多個(gè)輸入像素寄存器,和控制器,用于在輸出像素計(jì)算期間識(shí)別出計(jì)算輸出像素所需的、未存儲(chǔ)在輸入像素寄存器內(nèi)的至少一個(gè)輸入像素,并且,如果未經(jīng)存儲(chǔ)的輸入像素的坐標(biāo)處于像素幀邊界之外,則按照所檢測(cè)到的邊緣處理模式為所識(shí)別出的未經(jīng)存儲(chǔ)的輸入像素產(chǎn)生像素值;和顯示裝置,用于顯示經(jīng)過后處理的視頻幀。
27.按照權(quán)利要求26所述的系統(tǒng),此外還包括與顯示器群集相耦合的直接存儲(chǔ)器訪問(DMA)緩沖器;和與DMA緩沖器相耦合的DMA控制器,用于向存儲(chǔ)器控制器發(fā)出用來自系統(tǒng)存儲(chǔ)器的輸入像素加載DMA緩沖器的請(qǐng)求。
28.按照權(quán)利要求26所述的系統(tǒng),其中該系統(tǒng)包括芯片上系統(tǒng)。
29.按照權(quán)利要求26所述的系統(tǒng),其中該系統(tǒng)此外還包括視頻解碼器,用于對(duì)來自芯片外系統(tǒng)存儲(chǔ)器的數(shù)字視頻進(jìn)行解碼并且將經(jīng)過解碼的數(shù)字視頻幀提供給視頻后置處理邏輯。
30.按照權(quán)利要求26所述的系統(tǒng),其中所述嵌入式處理器用來對(duì)邊緣處理寄存器和線寬寄存器進(jìn)行加載。
全文摘要
一種視頻后置處理中基于硬件的邊緣處理的方法和設(shè)備。在一種實(shí)施例中,該方法包括在輸出像素計(jì)算期間識(shí)別出至少一個(gè)未存儲(chǔ)的計(jì)算輸出像素所需的輸入像素。一旦識(shí)別到,就按照檢測(cè)到的邊緣處理模式對(duì)所述至少一個(gè)未存儲(chǔ)的輸入像素產(chǎn)生像素值。在一種實(shí)施例中,為未存儲(chǔ)的輸入像素產(chǎn)生像素值是在未存儲(chǔ)的輸入像素處于像素幀邊界之外的情況下進(jìn)行的。例如,在一種實(shí)施例中,對(duì)于縮放操作的輸出像素計(jì)算,幀邊界包括左(上)邊緣和右(下)邊緣,對(duì)于這些邊緣,在幀邊界上或幀邊界附近,并不存在計(jì)算輸出像素所需的輸入像素。還介紹了其它一些實(shí)施例,并且要求保護(hù)這些實(shí)施例。
文檔編號(hào)H04N5/14GK1804900SQ200510138038
公開日2006年7月19日 申請(qǐng)日期2005年9月22日 優(yōu)先權(quán)日2004年9月22日
發(fā)明者S·庫(kù)魯帕蒂, B·尼克爾森, S·王, S·喬德哈里, J·劉 申請(qǐng)人:英特爾公司