專利名稱:圖像數(shù)據(jù)的誤差累加抖動(dòng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明大體而言涉及基于光柵的圖像產(chǎn)生且具體而言涉及用于根據(jù)誤差累加來(lái)抖動(dòng)圖像數(shù)據(jù)的系統(tǒng)及方法。
背景技術(shù):
現(xiàn)代圖形處理系統(tǒng)能產(chǎn)生高色彩分辨率的像素?cái)?shù)據(jù)。舉例而言,通常使用一24位(紅色、綠色及藍(lán)色彩分量中各8位)的色彩分辨率。在某些情形中,在圖形處理系統(tǒng)中可獲得的色彩分辨率可能會(huì)超過(guò)在一特定顯示裝置上可獲得(或所使用)的色彩分辨率。例如,某些LCD裝置使用18位的色彩(每一色彩分量中各6位),從而使可獲得的色彩變少。
色彩抖動(dòng)常用于形成一呈現(xiàn)多于一給定顯示裝置所提供的顏色數(shù)量的外觀。舉例而言,如果要以一強(qiáng)度介于兩種可用色彩之間的色彩來(lái)顯示圖像內(nèi)的一區(qū)域,則可通過(guò)以較低強(qiáng)度的色彩顯示某些像素并以較高強(qiáng)度的色彩顯示某些像素來(lái)形成所述中間顏色的外觀。例如,假定一圖像的某些區(qū)域應(yīng)具有一其強(qiáng)度介于一較低可用值CL與一較高可用值CH之間的色彩(或色彩分量)CO。對(duì)于一N*N像素塊而言,存在一最接近于滿足下列方程式的整數(shù)“混合因子”P(pán)CO=CH*P/N2+CL*(N2-P)/N2可通過(guò)將N*N個(gè)像素中的P個(gè)像素的色彩值設(shè)定成較高值CH并將其余像素的色彩值設(shè)定成較低值CL來(lái)逼近所希望的色彩CO。常常通過(guò)對(duì)屏幕上的每一像素塊應(yīng)用一N*N“抖動(dòng)矩陣”來(lái)選擇將哪P個(gè)像素設(shè)定成較高值CH。抖動(dòng)矩陣中的各個(gè)元-其分別對(duì)應(yīng)于一不同像素-通常由從0到N2-1的編號(hào)組成,所述編號(hào)布置成一圖案以通過(guò)下述方式來(lái)產(chǎn)生所希望的色彩效果對(duì)于其抖動(dòng)矩陣的元小于P的像素,將色彩設(shè)定成CH,對(duì)于其余像素則將色彩設(shè)定成CL。對(duì)顯示器中的每一N*N像素塊重復(fù)所述抖動(dòng)矩陣,其中N的一典型值為4。此抖動(dòng)程序通常分別應(yīng)用于每一色彩分量。
然而,基于矩陣的抖動(dòng)可在所顯示的圖像中產(chǎn)生不期望有的假象。例如,由于對(duì)每一像素塊重復(fù)使用抖動(dòng)矩陣,因此可能會(huì)出現(xiàn)一種可見(jiàn)的“屏幕門(mén)”效應(yīng),這是因?yàn)橛擅靼迪袼匦纬傻念愃茍D案往往在圖像上的水平及垂直帶中重復(fù)出現(xiàn)。某些實(shí)施方案力圖通過(guò)下述方式來(lái)避免此種現(xiàn)象在相繼的幀(例如對(duì)一4×4抖動(dòng)矩陣而言在一4個(gè)幀的循環(huán)內(nèi))上重新排列抖動(dòng)矩陣中的元,借此使瞬時(shí)分辨率變模糊。然而,所述循環(huán)往往慢到足以產(chǎn)生可見(jiàn)的閃爍或閃動(dòng)效應(yīng)。
作為對(duì)固定的抖動(dòng)矩陣的替代形式,F(xiàn)loyd及Steinberg已提出一種抖動(dòng)算法,所述抖動(dòng)算法是基于從掃描輸出次序中較早的像素向后續(xù)掃描的鄰近像素的誤差推進(jìn)。圖1中針對(duì)一3×3像素塊100來(lái)圖解說(shuō)明此算法。以光柵次序(掃描各個(gè)行,從頂部開(kāi)始)掃描像素110-118。根據(jù)像素114的所希望的的色彩(CO)加上一從先前所掃描的鄰近像素110-113的相應(yīng)誤差項(xiàng)ε0至ε3所累加的誤差項(xiàng)ε來(lái)確定像素114的顯示色彩(CD)。例如,如果CO+ε≥CH,則選擇CH作為所顯示的色彩CO,否則選擇CL。然后,確定一殘留誤差84(例如CO-CD)并將其推進(jìn)至如圖所示的未經(jīng)掃描的鄰近像素115-118。所推進(jìn)的誤差不均等地分布于未經(jīng)掃描的鄰近像素當(dāng)中;例如ε4的7/16推進(jìn)至像素115,而ε4的僅1/16推進(jìn)至像素116。對(duì)每一像素使用相同的分布模式。由于每一像素均為幾個(gè)其它像素的鄰近像素,因此一給定像素的誤差為先前所掃描的鄰近像素的誤差之和。例如,用于確定像素114的色彩的誤差項(xiàng)ε將為ε=(3/16)*ε0+(5/16)*ε1+(1/16)*ε2+(7/16)*ε3其中ε0至ε3為像素110-113的各自的殘留誤差。如同基于矩陣的抖動(dòng)一樣,可使用此程序來(lái)分別處理R、G及B色彩分量。此種技術(shù)會(huì)使較高強(qiáng)度(CH)的像素分布在較低強(qiáng)度(CL)的像素當(dāng)中,以產(chǎn)生所希望的視覺(jué)效果,而且所述誤差分布會(huì)引入可減輕或消除所不希望有的屏幕門(mén)效應(yīng)的準(zhǔn)隨機(jī)變化。
然而,此種分布算法在硬件中構(gòu)建起來(lái)很昂貴。舉例而言,在處理一當(dāng)前行時(shí)通常需要使用一個(gè)行存儲(chǔ)器來(lái)記錄要加至下一行中每一像素的誤差,而且需要對(duì)所述行存儲(chǔ)器進(jìn)行頻繁的讀取-修改-寫(xiě)入操作以累加來(lái)自所有鄰近像素的誤差。
因此,將需要提供一種能避免出現(xiàn)屏幕門(mén)效應(yīng)或其它視覺(jué)假象、同時(shí)構(gòu)建起來(lái)還不昂貴的抖動(dòng)技術(shù)。
發(fā)明內(nèi)容
本發(fā)明各實(shí)施例提供用于從較高色彩分辨率的輸入圖像數(shù)據(jù)產(chǎn)生較低色彩分辨率的圖像的誤差累加抖動(dòng)。根據(jù)本發(fā)明的一實(shí)施例,當(dāng)所述高色彩分辨率圖像的數(shù)據(jù)為一介于兩個(gè)低分辨率色彩的之間的像素指定一色彩時(shí),是通過(guò)一從先前所處理的像素累加來(lái)的誤差項(xiàng)來(lái)控制在一給定像素的這兩種色彩之間的選擇。
根據(jù)本發(fā)明的一個(gè)方面,提供一種用以抖動(dòng)一圖像的方法。以一高的色彩分辨率為所述圖像的若干像素中的一當(dāng)前像素接收一目標(biāo)色彩。所述目標(biāo)色彩介于處于一低色彩分辨率的一第一色彩與一第二色彩之間。跟蹤所述像素中一直到且包括所述當(dāng)前像素的一累加誤差。選擇所述第一色彩及所述第二色彩中的一者作為一最終像素色彩,其中在所述累加誤差小于一閾值的情況下選擇所述第一色彩而在所述累加誤差超過(guò)所述閾值的情況下選擇所述第二色彩;在選擇所述第二色彩的情況下將所述累加誤差降至所述閾值以下。向所述像素中的下一像素提供一更新的累加誤差。
在一些實(shí)施例中,跟蹤所述累加誤差的步驟可包括根據(jù)所述第一色彩與所述目標(biāo)色彩之間的一差來(lái)確定一當(dāng)前誤差并將所述當(dāng)前誤差添加至所述累加誤差。在選擇所述第二色彩的情況下,可使所述累加誤差減少一對(duì)應(yīng)于所述閾值的量。
在其它實(shí)施例中,選擇所述最終像素色彩的步驟可包括將所述累加誤差添加至所述目標(biāo)色彩,由此獲得一經(jīng)修改的目標(biāo)色彩;在所述經(jīng)修改的目標(biāo)色彩介于所述第一色彩與所述第二色彩之間的情況下選擇所述第一色彩作為所述最終像素色彩;并在所述經(jīng)修改的目標(biāo)色彩不介于所述第一色彩與所述第二色彩之間的情況下選擇所述第二色彩作為所述最終像素色彩??蓪⑺鼋?jīng)修改的目標(biāo)色彩與所述最終像素色彩之間的差存儲(chǔ)起來(lái)作為一可提供至所述下一個(gè)像素的更新的累加誤差。
根據(jù)本發(fā)明的另一方面,一種用于抖動(dòng)一圖像的裝置包括一累加器模塊、一轉(zhuǎn)換模塊及一調(diào)節(jié)模塊。所述累加模塊經(jīng)配置以跟蹤所述圖像的若干像素中的一累加誤差。所述轉(zhuǎn)換模塊經(jīng)配置以為所述圖像的一當(dāng)前像素接收一高分辨率色彩信號(hào)并產(chǎn)生一對(duì)應(yīng)的低分辨率色彩信號(hào)。所述調(diào)節(jié)模塊經(jīng)配置以在所述累加誤差超過(guò)一閾值的情況下對(duì)所述當(dāng)前像素的所述低分辨率色彩信號(hào)進(jìn)行修改。在處理所述當(dāng)前像素后,將所述累加誤差提供至所述像素中的下一像素。
在一些實(shí)施例中,所述累加模塊可包括一當(dāng)前誤差電路及一第一加法器電路。所述當(dāng)前誤差電路可經(jīng)配置以從所述當(dāng)前像素的所述高分辨率色彩信號(hào)中提取一當(dāng)前誤差,且所述第一加法器電路可經(jīng)配置以將所述當(dāng)前誤差加至所述累加誤差并將一更新的累加誤差提供至所述調(diào)節(jié)模塊。所述調(diào)節(jié)模塊可包括一比較器電路及一第二加法器電路,其中所述比較器電路經(jīng)配置以將所述更新的累加誤差與一閾值相比較,由此產(chǎn)生一抖動(dòng)控制信號(hào)且所述第二加法器電路經(jīng)配置以自所述轉(zhuǎn)換模塊接收所述低分辨率色彩信號(hào)并根據(jù)所述抖動(dòng)控制信號(hào)調(diào)節(jié)所接收的低分辨率色彩信號(hào),由此產(chǎn)生一最終色彩信號(hào)。
在其它實(shí)施例中,所述累加器模塊可包括一經(jīng)配置以存儲(chǔ)所述累加誤差的寄存器;所述調(diào)節(jié)電路可包括一經(jīng)配置以將所述累加誤差加至所述高分辨率色彩信號(hào)由此產(chǎn)生一中間色彩信號(hào)的加法器電路;且所述轉(zhuǎn)換電路可包括一經(jīng)配置以將所述中間色彩信號(hào)減小成一低分辨率色彩信號(hào)的截短器。此截短器電路可進(jìn)一步經(jīng)配置以通過(guò)移除若干最低有效位來(lái)減小所述中間色彩信號(hào)并將所移除的最低有效位作為一新的累加誤差存儲(chǔ)于所述寄存器中。
下文詳細(xì)說(shuō)明連同附圖將提供對(duì)本發(fā)明的性質(zhì)及優(yōu)點(diǎn)的更好了解。
圖1圖解說(shuō)明一針對(duì)一3×3像素塊的常規(guī)誤差分布抖動(dòng)方案;圖2為一根據(jù)本發(fā)明一實(shí)施例的計(jì)算機(jī)系統(tǒng)的一方塊圖;圖3為一根據(jù)本發(fā)明一實(shí)施例的掃描輸出控制邏輯的方塊圖;圖4為一根據(jù)本發(fā)明一實(shí)施例的誤差累加抖動(dòng)過(guò)程的一流程圖;
圖5為一根據(jù)本發(fā)明一替代實(shí)施例的抖動(dòng)單元的一方塊圖;及圖6A-D圖解說(shuō)明不同抖動(dòng)方案的效果,其中圖6A顯示一高分辨率圖像,圖6B顯示在未抖動(dòng)的情況下以低分辨率再現(xiàn)的同一圖像,圖6C顯示使用常規(guī)的基于矩陣的抖動(dòng)以低分辨率再現(xiàn)的同一圖像,而圖6D顯示根據(jù)本發(fā)明的一實(shí)施例使用抖動(dòng)以低分辨率再現(xiàn)的同一圖像。
具體實(shí)施例方式
本發(fā)明的各實(shí)施例提供用于從較高色彩分辨率的輸入圖像數(shù)據(jù)產(chǎn)生較低色彩分辨率的圖像的誤差累加抖動(dòng)。本文所述的“色彩分辨率”(或“分辨率”)通常是指可為一圖像的一像素指定的不同色彩的數(shù)量,且該術(shù)語(yǔ)可適用于一總體色彩或適用于其一特定分量,例如單個(gè)RGB分量。在一些實(shí)施例中,用值來(lái)表示色彩,且這些值的數(shù)量(其可例如取決于用于表示所述值的位數(shù))決定色彩分辨率。根據(jù)本發(fā)明的一實(shí)施例,當(dāng)高分辨率圖像的數(shù)據(jù)為一介于兩個(gè)低分辨率色彩之間的像素規(guī)定一色彩時(shí),一給定像素的這兩個(gè)低分辨率色彩之間的選擇是基于一從先前處理的像素累加來(lái)的誤差項(xiàng)。
圖2為一根據(jù)本發(fā)明一實(shí)施例的計(jì)算機(jī)系統(tǒng)200的一方塊圖。計(jì)算機(jī)系統(tǒng)200包括一中央處理器(CPU)202及一經(jīng)由一總線206進(jìn)行通信的系統(tǒng)存儲(chǔ)器204。自一個(gè)或多個(gè)耦接至總線206的用戶輸入裝置208(例如鍵盤(pán)、鼠標(biāo))接收用戶輸入。在一在耦接至系統(tǒng)總線206的圖形處理子系統(tǒng)212的控制下運(yùn)行的基于像素的顯示裝置210(例如一常規(guī)的基于CRT或LCD的監(jiān)視器)上提供可視輸出。一系統(tǒng)盤(pán)228及其它組件-例如一個(gè)或多個(gè)抽取式存儲(chǔ)裝置229(例如軟盤(pán)驅(qū)動(dòng)器、光盤(pán)(CD)驅(qū)動(dòng)器、及/或DVD驅(qū)動(dòng)器)-也可耦接至系統(tǒng)總線206。系統(tǒng)總線206可使用包括PCI(外圍組件互連)、AGP(加速圖形端口)及/或PCI Express(PCI E)在內(nèi)的一種或多種不同的總線協(xié)議來(lái)構(gòu)建;可提供例如常規(guī)的北橋及南橋(未顯示)等適當(dāng)?shù)摹皹蚪印毙酒瑏?lái)互連各種組件及/或總線。
圖形處理子系統(tǒng)212包括一圖形處理單元(GPU)214及一圖形存儲(chǔ)器216,圖形處理單元214及圖形存儲(chǔ)器216可(例如)使用例如可編程處理器、特殊應(yīng)用集成電路(ASIC)及存儲(chǔ)裝置等一個(gè)或多個(gè)集成電路裝置來(lái)構(gòu)建。圖形存儲(chǔ)器216包括一為一顯示像素陣列存儲(chǔ)色彩數(shù)據(jù)的像素緩沖器218。GPU 214包括一幾何處理管線220、一存儲(chǔ)器接口模塊222、及掃描輸出控制邏輯224。幾何處理管線220可經(jīng)配置以實(shí)施與根據(jù)通過(guò)系統(tǒng)總線206所提供的圖形數(shù)據(jù)產(chǎn)生像素?cái)?shù)據(jù)(例如執(zhí)行各種2D及/或3D再現(xiàn)算法)相關(guān)的任務(wù)、與和圖形存儲(chǔ)器216交互作用以存儲(chǔ)及更新像素?cái)?shù)據(jù)相關(guān)的任務(wù)等各種任務(wù)。與幾何管線220及掃描輸出控制邏輯224進(jìn)行通信的存儲(chǔ)器接口模塊222管理與圖形存儲(chǔ)器216的所有交互作用。存儲(chǔ)器接口模塊222還可包括用于將自系統(tǒng)總線206接收的像素?cái)?shù)據(jù)寫(xiě)入至像素緩沖器218中而無(wú)需由幾何管線220處理的路徑。幾何處理管線220及存儲(chǔ)器接口模塊222的具體配置可視需要而定,且不再對(duì)其進(jìn)行詳細(xì)說(shuō)明,因?yàn)槠鋵?duì)于了解本發(fā)明而言并不重要。
如上所述,像素緩沖器218為一顯示像素陣列存儲(chǔ)色彩數(shù)據(jù)。在一些實(shí)施例中,一像素的色彩數(shù)據(jù)包括單獨(dú)的紅色(R)、綠色(G)及藍(lán)色(B)色彩強(qiáng)度值,每一色彩強(qiáng)度值均使用若干個(gè)(例如8個(gè))位來(lái)表示。像素緩沖器218也可存儲(chǔ)其它數(shù)據(jù),例如某些或所有像素的深度(Z)及/或透明數(shù)據(jù)。在一些實(shí)施例中,像素緩沖器218可為每一像素存儲(chǔ)多于一組RGB色彩值,并可在掃描輸出操作前或期間對(duì)所述色彩值進(jìn)行組合或進(jìn)行下一級(jí)濾波。應(yīng)了解,GPU 214可按任一種可使像素?cái)?shù)據(jù)寫(xiě)入至像素緩沖器218中的方式運(yùn)行。
掃描輸出控制邏輯224-其可集成于一具有GPU 214的單個(gè)芯片中或構(gòu)建于一獨(dú)立芯片中-從像素緩沖器218中讀取色彩數(shù)據(jù)并將所述數(shù)據(jù)傳送至顯示裝置210中以供顯示。在一實(shí)施例中,以一不變的屏幕刷新率(例如80Hz)進(jìn)行掃描輸出;所述刷新率可為一可由用戶選擇的參數(shù)。掃描輸出控制邏輯224也可實(shí)施其它操作,例如調(diào)節(jié)特定顯示硬件的色彩值;通過(guò)將來(lái)自像素緩沖器218的像素?cái)?shù)據(jù)與一例如從圖形存儲(chǔ)器216、系統(tǒng)存儲(chǔ)器204或另一數(shù)據(jù)源(未顯示)中獲得的視頻或光標(biāo)覆蓋圖像或類似圖像相結(jié)合來(lái)產(chǎn)生合成屏幕圖像;將數(shù)字像素?cái)?shù)據(jù)轉(zhuǎn)換成用于顯示裝置的模擬信號(hào);等等。
根據(jù)本發(fā)明的一實(shí)施例,在顯示裝置具有一低于在像素緩沖器118中所用色彩分辨率的色彩分辨率(例如任一或所有RGB色彩分量的容許值的數(shù)量)的情況下,掃描輸出控制邏輯224實(shí)施色彩抖動(dòng)。此色彩抖動(dòng)較佳基于一下文將詳細(xì)闡述的誤差累加技術(shù)。
應(yīng)了解,本文中所述的系統(tǒng)為例示性的且也可具有變化形式及修改形式。GPU可使用任一適當(dāng)技術(shù)構(gòu)建成例如一個(gè)或多個(gè)集成電路裝置。所述GPU可安裝于一可包括一個(gè)或多個(gè)此種處理器的擴(kuò)展卡上、直接安裝于一系統(tǒng)母板上、或集成至一系統(tǒng)芯片組組件中(例如集成至一常用PC系統(tǒng)架構(gòu)的北橋芯片中)。圖形處理子系統(tǒng)可包括任一數(shù)量的專用圖形存儲(chǔ)器(某些實(shí)施方案可沒(méi)有專用圖形存儲(chǔ)器)并可以任何組合形式來(lái)使用系統(tǒng)存儲(chǔ)器及專用圖形存儲(chǔ)器。具體而言,像素緩沖器可根據(jù)需要構(gòu)建于專用圖形存儲(chǔ)器或系統(tǒng)存儲(chǔ)器中。掃描輸出控制邏輯電路可與一GPU相集成或構(gòu)建成一獨(dú)立芯片;掃描輸出邏輯可使用一個(gè)或多個(gè)ASIC、可編程處理器元件或其任一組合來(lái)構(gòu)建。
圖3為一顯示根據(jù)本發(fā)明一實(shí)施例的掃描輸出控制邏輯224的更多細(xì)節(jié)的方塊圖。像素選擇塊302-其可為通常的常規(guī)設(shè)計(jì)-選擇一當(dāng)前像素(例如通過(guò)掃描一光柵陣列中的各個(gè)像素行,其中使所述當(dāng)前像素根據(jù)一像素時(shí)鐘信號(hào)遞增)并為像素緩沖器218產(chǎn)生一像素選擇信號(hào)(PSEL)。此信號(hào)使所選擇的像素的色彩值(例如表示成RGB分量)通過(guò)信號(hào)線304傳輸至掃描輸出控制邏輯224。掃描輸出控制邏輯224可包括一像素管線306,像素管線306具有一個(gè)或多個(gè)經(jīng)配置以對(duì)像素實(shí)施各種變換的級(jí)。此種變換的很多實(shí)例在所屬領(lǐng)域中為人們所已知,例如使用覆蓋圖來(lái)合成圖像、對(duì)圖像尺寸進(jìn)行重新?lián)Q算、可見(jiàn)區(qū)域選擇、下一級(jí)濾波、及類似轉(zhuǎn)換??稍谙袼毓芫€306中實(shí)施所需的任何變換,且不再對(duì)其進(jìn)行詳細(xì)說(shuō)明,因?yàn)槠鋵?duì)于了解本發(fā)明而言并不重要。
在像素管線306中實(shí)施的任何變換后,將一最終像素色彩經(jīng)由信號(hào)管線310提供至一抖動(dòng)單元312。在圖3所示實(shí)施例中,信號(hào)線310載送RGB色彩分量值;應(yīng)了解,也可使用其它色彩表示形式。所述色彩分量是以一“高”分辨率(例如在一實(shí)施例中每一色彩分量8位)來(lái)提供,其可為在像素緩沖器218中存儲(chǔ)色彩數(shù)據(jù)時(shí)所使用的同一分辨率。抖動(dòng)單元312將每一色彩分量轉(zhuǎn)換成一為顯示裝置規(guī)定的較低分辨率(例如每一分量6位)并經(jīng)由信號(hào)線314將低分辨率色彩分量值(R′,G′,B′)傳輸至顯示裝置。
根據(jù)本發(fā)明的一實(shí)施例,抖動(dòng)單元312執(zhí)行一誤差累加抖動(dòng)算法。當(dāng)處理每一像素時(shí),例如通過(guò)去掉一個(gè)或多個(gè)最低有效位(LSB)來(lái)將每一色彩分量截短至低分辨率色彩空間中最接近的較低強(qiáng)度色彩值。將目標(biāo)高分辨率色彩分量值與最接近的較低強(qiáng)度色彩分量值(例如由所去掉的LSB表示的值)之間的差(“誤差)自一個(gè)像素累加至下一像素。
當(dāng)累加誤差達(dá)到某一閾值(例如一對(duì)應(yīng)于所去掉的LSB的數(shù)量的值)時(shí),當(dāng)前像素的色彩分量會(huì)向上移至低分辨率色彩空間中的下一較高值,并在處理下一像素前從所述累加誤差中減去所述閾值的大小。
圖4為一根據(jù)本發(fā)明的一實(shí)施例用于誤差累加抖動(dòng)的過(guò)程400的一流程圖。在步驟402處,接收一像素的一目標(biāo)色彩分量CO作為一高分辨率色彩空間中的值。在步驟404處,將低分辨率色彩空間中低于目標(biāo)值的最接近值識(shí)別為一低值CL。此可例如通過(guò)從目標(biāo)值CO中截去或去掉一個(gè)或多個(gè)LSB或?qū)O的一個(gè)或多個(gè)LSB設(shè)定成零來(lái)實(shí)現(xiàn)。在步驟406處,確定一當(dāng)前誤差εcur,其中εcur對(duì)應(yīng)于目標(biāo)色彩CO與低值CL之間的差。在步驟408處,將當(dāng)前誤差εcur添加至一累加誤差εtot。
在步驟410處,將累加誤差εtot與一閾值相比較。此閾值可較佳設(shè)定成等于在步驟404處識(shí)別出其相同低值CL的高分辨率色彩的數(shù)量。舉例而言,如果高分辨率色彩空間是每一分量提供八位而低分辨率色彩空間是每一分量提供六位,則可將所述閾值設(shè)定成一等于4的值。如果累加誤差εtot小于所述閾值,則在步驟412處將一校正項(xiàng)D設(shè)定成一等于0的值。反之,在步驟414處將校正項(xiàng)D設(shè)定成一等于1的值,并在步驟416處從累加誤差εtot中減去所述閾值。在這兩種情況下,在步驟418處,均通過(guò)將校正項(xiàng)D加至在步驟404處所識(shí)別的低值CL來(lái)確定最終像素色彩。因此,如果在步驟412處將D設(shè)定成0,則將以在步驟404處所確定的色彩CL來(lái)顯示所述像素,而如果在步驟414處將D設(shè)定成1,則將以下一較高色彩CH(其對(duì)應(yīng)于低分辨率色彩空間中的CL+1)來(lái)顯示所述像素。
因此,如果較高的色彩值對(duì)應(yīng)于較高的強(qiáng)度,則以一低于目標(biāo)值的強(qiáng)度顯示各像素直至累加誤差達(dá)到所述閾值為止。以一高于目標(biāo)色彩的較高強(qiáng)度顯示其誤差達(dá)到所述閾值的像素,并將累加誤差遞減所述閾值。因此,在一其中目標(biāo)色彩CO介于兩個(gè)低分辨率值CL與CG之間的大體均勻的色彩區(qū)內(nèi),累加誤差達(dá)到所述閾值的頻率將取決于目標(biāo)色彩與低值CL之間的差的大小。因此,以高色彩CH顯示的像素的比例同樣取決于所述大小,從而可產(chǎn)生一中間色彩的所需外觀。
還應(yīng)注意,對(duì)于其中高分辨率色彩CO與低分辨率值CL完全相一致的像素而言,由于這些像素的當(dāng)前誤差εcur為零,因而不累加新的誤差;以規(guī)定色彩顯示所有這些像素??芍幌蚯拜d送任何先前所累加的誤差,以便可用于抖動(dòng)隨后所處理的像素。
應(yīng)了解,本文中所述的過(guò)程為例示性的且也可具有變化形式及修改形式??刹⑿袑?shí)施按順序闡述的各步驟,可改變各步驟的次序,并可修改或組合各步驟。
重新參見(jiàn)圖3,在抖動(dòng)單元312內(nèi)顯示與對(duì)R色彩分量執(zhí)行過(guò)程400相關(guān)的各種功能塊。應(yīng)了解,也可為其它(G及B)色彩分量提供類似功能塊。一累加器320包括一當(dāng)前誤差塊322、一寄存器324及一加法器電路326。當(dāng)前誤差塊322根據(jù)在信號(hào)線310上接收的輸入R色彩分量來(lái)計(jì)算當(dāng)前誤差εcur。在一實(shí)施例中,當(dāng)前誤差塊322從輸入信號(hào)中提取一所選數(shù)量的LSB。所提取的LSB數(shù)量可為一可配置的參數(shù)并可根據(jù)像素緩沖器與顯示器之間的色彩分辨率之差來(lái)動(dòng)態(tài)地確定。例如,如果像素緩沖器是每一色彩分量存儲(chǔ)8位而顯示器是每一分量只使用6位,則將提取兩個(gè)LSB。寄存器324存儲(chǔ)累加誤差εtot。加法器電路326將當(dāng)前誤差εcur加至累加誤差εtot并將結(jié)果存儲(chǔ)回至寄存器324。
來(lái)自加法器電路326的結(jié)果累加誤差εtot還作為一個(gè)輸入提供至一比較器330。比較器330的另一輸入由一存儲(chǔ)一閾值(T)的寄存器332提供。閾值T可為一可配置的參數(shù)并可根據(jù)像素緩沖器與顯示器之間的色彩分辨率之差來(lái)動(dòng)態(tài)地確定。例如,對(duì)于從每一分量8位到每一分量6位的轉(zhuǎn)換而言,可使用T=4。比較器330將累加誤差εtot與閾值T相比較并產(chǎn)生一校正信號(hào)D。在此實(shí)施例中,D=1表示εtot已達(dá)到閾值T,而D=0表示εtot尚未達(dá)到閾值T。校正信號(hào)D返回至累加器320,累加器320使用D的值來(lái)確定是否遞減存儲(chǔ)于寄存器324中的累加誤εtot。校正信號(hào)D還作為一輸入提供至一加法器電路334。
截短器電路336自信號(hào)線310接收輸入色彩信號(hào)R并例如通過(guò)去掉一所選數(shù)量的LSB而將所述色彩值轉(zhuǎn)換成所需的低分辨率,從而將所述低分辨率信號(hào)作為一輸入(CL)傳送至加法器電路334。在一些實(shí)施例中,所去掉的LSB的數(shù)量可為一可配置的參數(shù)并可根據(jù)像素緩沖器與顯示器之間的色彩分辨率之差來(lái)動(dòng)態(tài)地確定。此數(shù)量可設(shè)定成與當(dāng)前誤差塊322所提取的LSB數(shù)量相同的值。截短器電路336也可包括附加定時(shí)電路(未顯示),以使被截短的色彩信號(hào)與來(lái)自比較器330的校正信號(hào)D同時(shí)到達(dá)加法器電路334的輸入端。
加法器電路334將來(lái)自比較器330的校正信號(hào)D加至來(lái)自截短器電路336的被截短的色彩信號(hào)CL,從而將結(jié)果作為最終色彩分量R′提供于信號(hào)線314上。根據(jù)校正信號(hào)D的值而定,最終色彩分量R′將具有一為CL或下一較高值CH=CL+1的值。
應(yīng)了解,本文中所述的抖動(dòng)單元為例示性的且也可具有變化形式及修改形式。可使用常規(guī)集成電路技術(shù)來(lái)構(gòu)建各種功能塊及寄存器。可為每一色彩分量構(gòu)建單獨(dú)的電路,或者不同的色彩分量可根據(jù)需要共享電路。另外,色彩數(shù)據(jù)并非必需以本文中所述的RGB格式提供;而是也可使用其它格式,例如亮度及色度。不同的分量可視需要抖動(dòng)至不同的分辨率。在一些實(shí)施例中,抖動(dòng)單元可配置成在顯示器的色彩分辨率不低于像素緩沖器的色彩分辨率的情況下處于空閑狀態(tài)。在其它實(shí)施例中,當(dāng)像素緩沖器與顯示器具有相同的色彩分辨率時(shí),可在不從輸入信號(hào)中提取任何誤差位的情況下執(zhí)行抖動(dòng)操作。由于此種情況下的誤差將保持低于所述閾值,因此抖動(dòng)單元的操作將不對(duì)每一像素的色彩產(chǎn)生任何影響。
也可使用上述誤差累加抖動(dòng)算法的變化形式。例如,在一替代算法中,將來(lái)自先前像素的累加誤差加至所接收的當(dāng)前像素的高分辨率色彩。然后,將所得到的高分辨率值縮減或截短至較低分辨率(例如通過(guò)去掉LSB)并將被截短的部分作為新的累加誤差加以存儲(chǔ)。如同過(guò)程400一樣,此替代技術(shù)可使像素以一較低強(qiáng)度色彩(CL)顯示,直至累加誤差εtot達(dá)到一足夠(閾值)尺寸以使CO+εtot≥CH為止;這時(shí),便以較高強(qiáng)度色彩(CH)顯示一個(gè)像素,且累加誤差降至低于閾值。
圖5為一執(zhí)行此算法的抖動(dòng)單元500的一方塊圖。在一加法器電路502的一個(gè)輸入端處的輸入線310上接收一輸入色彩分量(例如紅色分量R)。一累加誤差εtot存儲(chǔ)于一寄存器504中并作為另一輸入提供至加法器電路502。向截短器電路506提供(以高分辨率)結(jié)果值。截短器電路506將一定數(shù)量的最高有效位(MSB)作為低分辨率色彩信號(hào)R’提供于輸出信號(hào)線314上。其余位(LSB)則存儲(chǔ)于寄存器504中作為一新的累加誤差εtot。
如上所述,所述抖動(dòng)單元也可針對(duì)不同的輸出色彩分辨率來(lái)加以配置。在此類實(shí)施例中,可包括附加邏輯以檢測(cè)所需輸出色彩分辨率并確定為將輸入色彩分辨率降至所需輸出色彩分辨率而要截去的位數(shù)。在圖3所示實(shí)施例中,也可提取該相同的位數(shù)作為當(dāng)前誤差并將其用作設(shè)定閾值T的基礎(chǔ)。例如,如果一8位的色彩分量要減至6位,則截短器336將截去兩位,誤差確定塊322將提取兩位作為當(dāng)前誤差,且所述閾值將設(shè)定成4。如果顯示狀態(tài)隨后發(fā)生改變以使所述8位的色彩分量要減至5位,則對(duì)各參數(shù)加以調(diào)節(jié)以便截短器336將截去3位,誤差確定塊322將提取三位,且閾值T將設(shè)定成8。
在一些實(shí)施例中,不時(shí)地將累加誤差εtot初始化,例如在一光柵掃描期間的每一像素掃描行開(kāi)始時(shí)進(jìn)行初始化??衫缤ㄟ^(guò)檢測(cè)一常規(guī)的“水平同步”或水平回掃信號(hào)來(lái)檢測(cè)一行的開(kāi)始。在一實(shí)施例中,在每一行開(kāi)始時(shí)將累加誤差εtot初始化成相同的值(例如零)。在另一實(shí)施例中,部分地根據(jù)行編號(hào)來(lái)確定一給定行的εtot初始值。例如,可將εtot的各個(gè)位中的某些或全部設(shè)定成等于所述行編號(hào)的選定位,以使鄰近的掃描行將εtot初始化成不同的值。在一個(gè)這樣的實(shí)施例中,所述行編號(hào)的兩個(gè)LSB用于初始化εtot中低于閾值T的兩個(gè)MSB,以便在掃描連續(xù)的行時(shí)εtot的初始值在四個(gè)可能值之間循環(huán)。(例如在一其中截去3位的實(shí)施例中,將εtot中處于21及22位置上的位初始化。)在其它實(shí)施例中,可使用其它模式。對(duì)不同掃描行使用不同的初始化可有助于消除在呈大體均勻的色彩的區(qū)中可能會(huì)出現(xiàn)的垂直條帶假象。在其它實(shí)施例中,εtot值可從一個(gè)掃描行的最后一像素載送至下一掃描行的第一像素。
在其它實(shí)施例中,累加誤差εtot的初始化值可隨幀而變化。例如,可例如通過(guò)檢測(cè)一常規(guī)的“垂直同步”或垂直回掃信號(hào)來(lái)檢測(cè)一新幀??商峁p態(tài)切換作為在每一新幀開(kāi)始時(shí)在“0”與“1”狀態(tài)之間反轉(zhuǎn)的單個(gè)位。在一實(shí)施例中,使用所述幀雙態(tài)切換及所述行編號(hào)的一選定位根據(jù)一邏輯XOR(異或)操作來(lái)初始化εtot中的選定位。由于幀雙態(tài)切換,一給定掃描行的初始εtot值在交替的幀上在兩個(gè)值之間切換。在一具有足夠高的屏幕刷新率(例如70個(gè)幀/秒)的顯示裝置上,振蕩可足夠快地發(fā)生,以致于除作為一準(zhǔn)靜態(tài)圖像中色彩CL與CH的進(jìn)一步混合外,其不會(huì)為人眼所察覺(jué)。
在再其他實(shí)施例中,累加誤差εtot可逐行及/或逐幀地向前載送。此可在為一給定圖像的像素顯示的色彩中引入準(zhǔn)隨機(jī)性(或歷史相關(guān)性)。當(dāng)不需要此種效果時(shí),可例如如上所述不時(shí)地初始化εtot。
圖6圖解說(shuō)明根據(jù)本發(fā)明的抖動(dòng)效果。圖6A顯示一由兩個(gè)梯度灰度級(jí)組成的原始圖像。此圖像使用24位色彩來(lái)再現(xiàn),且所述梯度在人眼看起來(lái)大體平滑。圖6B顯示在未抖動(dòng)的情況下使用9位色彩(每一RGB分量中3位)再現(xiàn)的同一圖像。在此圖像中,所述梯度顯現(xiàn)成若干離散的色彩塊。圖6顯示使用一2×2抖動(dòng)矩陣借助常規(guī)的基于矩陣的抖動(dòng)使用9位色彩再現(xiàn)的圖6A的圖像。雖然所述梯度比在圖6B中平滑,但明顯的“屏幕門(mén)”圖案也顯而易見(jiàn)。
最后,圖6D顯示根據(jù)本發(fā)明一實(shí)施例通過(guò)誤差累加抖動(dòng)使用9位色彩再現(xiàn)的圖6A的圖像。所述梯度看起來(lái)比在圖6C中更為平滑,且基本上不存在幾何“屏幕門(mén)”圖案。應(yīng)注意,對(duì)于一典型的顯示裝置而言,可通過(guò)如上所述在交替的幀上將εtot初始化成一不同值來(lái)使可在圖像的某些部分中見(jiàn)到的點(diǎn)圖案更不可見(jiàn)。
應(yīng)了解,圖6D中的圖像為例示性的且可(例如)通過(guò)下述方式來(lái)對(duì)圖像質(zhì)量進(jìn)行修改改變累加誤差εtot的初始化參數(shù),改變輸入及/或輸出像素?cái)?shù)據(jù)的色彩分辨率,等等。
雖然已參照具體實(shí)施例闡述了本發(fā)明,但所屬領(lǐng)域的技術(shù)人員將認(rèn)識(shí)到,也可具有眾多修改形式。舉例而言,誤差累加抖動(dòng)也可適用于除RGB空間以外的其他色彩空間,包括其中可將高分辨率空間中的一色彩(或色彩分量)識(shí)別成在視覺(jué)上介于低分辨率空間中的兩種色彩(色彩分量)之間的任何色彩空間。所述色彩空間可包括一個(gè)或多個(gè)分量,且不同分量的相應(yīng)分辨率(所規(guī)定狀態(tài)或值的數(shù)量)在低分辨率或高分辨率空間中既可相同也可不同。另外,并非必需將色彩以本文中所使用的低-高(或暗-明)尺度表示為值的形式;可根據(jù)需要來(lái)規(guī)定值與色彩的關(guān)系。此外,本發(fā)明的各實(shí)施例也可適用于一其中可為高分辨率色彩空間規(guī)定一可能無(wú)限的色彩值范圍的浮點(diǎn)像素緩沖器。一些實(shí)施例可配置成支持不同色彩空間中的抖動(dòng)。
本文中所述的掃描輸出控制邏輯也是例示性的。在一些實(shí)施例中,所述掃描輸出控制邏輯可配置成在任一級(jí)或所有級(jí)上(包括在抖動(dòng)期間)平行處理多個(gè)像素。在一些實(shí)施例中,最終(經(jīng)抖動(dòng)的)色彩信號(hào)可在發(fā)送至一顯示裝置前經(jīng)進(jìn)一步處理,例如數(shù)字-模擬轉(zhuǎn)換及轉(zhuǎn)換后濾波。在其它實(shí)施例中,最終色彩信號(hào)以數(shù)字形式提供至一可由數(shù)字信號(hào)控制的顯示裝置。
此外,雖然本文是根據(jù)在一掃描輸出操作期間實(shí)施來(lái)闡述誤差累加技術(shù),但類似技術(shù)也可在其它像素處理階段中或在一顯示裝置內(nèi)部實(shí)施??稍谟布b置(例如電路)、可由一個(gè)或多個(gè)適當(dāng)處理器執(zhí)行的軟件、及/或其任一組合中支持抖動(dòng)。
因此,雖然已參照具體實(shí)施例闡述了本發(fā)明,但應(yīng)了解,本發(fā)明旨在涵蓋所有歸屬于隨附權(quán)利要求書(shū)范圍內(nèi)的修改及等效形式。
權(quán)利要求
1.一種用以抖動(dòng)一圖像的方法,所述方法包括下列步驟為所述圖像的復(fù)數(shù)個(gè)像素中的一當(dāng)前像素接收一處于一高色彩分辨率的目標(biāo)色彩,所述目標(biāo)色彩介于處于一低色彩分辨率的一第一色彩與一第二色彩之間;跟蹤一累加誤差,其經(jīng)過(guò)所述復(fù)數(shù)個(gè)像素一直到所述當(dāng)前像素并包括所述當(dāng)前像素;選擇所述第一色彩與所述第二色彩中的一者作為一最終像素色彩,其中在所述累加誤差小于一閾值的情況下選擇所述第一色彩,其中在所述累加誤差超過(guò)所述閾值的情況下選擇所述第二色彩,且其中在選定所述第二色彩的情況下將所述累加誤差降至低于所述閾值;及將一更新的累加誤差提供至所述復(fù)數(shù)個(gè)像素中的下一像素。
2.如權(quán)利要求1所述的方法,其中跟蹤所述累加誤差的所述步驟包括下列步驟根據(jù)所述第一色彩與所述目標(biāo)色彩之間的一差來(lái)確定一當(dāng)前誤差;及將所述當(dāng)前誤差添加至所述累加誤差。
3.如權(quán)利要求2所述的方法,其進(jìn)一步包括如下步驟在選定所述第二色彩的情況下將所述累加誤差減小一對(duì)應(yīng)于所述閾值的量。
4.如權(quán)利要求1所述的方法,其中所述選擇步驟包括將所述累加誤差加至所述目標(biāo)色彩,由此獲得一經(jīng)修改的目標(biāo)色彩;在所述經(jīng)修改的目標(biāo)色彩介于所述第一色彩與所述第二色彩之間的情況下選擇所述第一色彩作為所述最終像素色彩;及在所述經(jīng)修改的目標(biāo)色彩不介于所述第一色彩與所述第二色彩之間的情況下選擇所述第二色彩作為所述最終像素色彩。
5.如權(quán)利要求4所述的方法,其中提供所述累加誤差的所述步驟包括存儲(chǔ)所述經(jīng)修改的目標(biāo)色彩與所述最終像素色彩之間的差以作為一更新的累加誤差。
6.如權(quán)利要求1所述的方法,其中所述復(fù)數(shù)個(gè)像素對(duì)應(yīng)于一顯示裝置的一掃描線。
7.如權(quán)利要求6所述的方法,其進(jìn)一步包括在所述掃描線的一開(kāi)始處來(lái)初始化所述累加誤差的步驟。
8.如權(quán)利要求7所述的方法,其中將所述累加誤差初始化成一至少部分地取決于所述掃描線的一行編號(hào)的值。
9.如權(quán)利要求8所述的方法,其中對(duì)于各個(gè)連續(xù)幀,將所述累加誤差初始化成一不同的值。
10.如權(quán)利要求1所述的方法,其中所述閾值對(duì)應(yīng)于所述第一色彩與所述第二色彩各自的高分辨率表示形式之間的差。
11.如權(quán)利要求1所述的方法,其中所述目標(biāo)色彩為所述像素的復(fù)數(shù)個(gè)獨(dú)立色彩分量中的一個(gè)分量。
12.一種用以抖動(dòng)一圖像的裝置,所述裝置包括一累加器模塊,其經(jīng)配置以跟蹤經(jīng)過(guò)所述圖像的復(fù)數(shù)個(gè)像素的一累加誤差;一轉(zhuǎn)換模塊,其經(jīng)配置以接收所述圖像的一當(dāng)前像素的一高分辨率色彩信號(hào)并產(chǎn)生一對(duì)應(yīng)的低分辨率色彩信號(hào);及一調(diào)節(jié)模塊,其經(jīng)配置以在所述累加誤差超過(guò)一閾值的情況下修改所述當(dāng)前像素的所述低分辨率色彩信號(hào),其中在處理所述當(dāng)前像素后,所述累加誤差提供至所述復(fù)數(shù)個(gè)像素中的下一像素。
13.如權(quán)利要求12所述的裝置,其中所述累加模塊包括一當(dāng)前誤差電路,其經(jīng)配置以從所述當(dāng)前像素的所述高分辨率色彩信號(hào)中提取一當(dāng)前誤差;及一第一加法器電路,其經(jīng)配置以將所述當(dāng)前誤差加至所述累加誤差并將一更新的累加誤差提供至所述調(diào)節(jié)模塊。
14.如權(quán)利要求13所述的裝置,其中所述調(diào)節(jié)模塊包括一比較器電路,其經(jīng)配置以將所述更新的累加誤差與一閾值相比較,由此產(chǎn)生一抖動(dòng)控制信號(hào);及一第二加法器電路,其經(jīng)配置以自所述轉(zhuǎn)換模塊接收所述低分辨率色彩信號(hào)并根據(jù)所述抖動(dòng)控制信號(hào)來(lái)調(diào)節(jié)所述所接收的低分辨率色彩信號(hào),由此產(chǎn)生一最終色彩信號(hào)。
15.如權(quán)利要求14所述的裝置,其中所述比較器電路進(jìn)一步經(jīng)配置以將所述抖動(dòng)控制信號(hào)作為一反饋信號(hào)提供至所述累加器模塊,且其中所述累加器模塊進(jìn)一步經(jīng)配置以根據(jù)所述抖動(dòng)控制信號(hào)來(lái)減小所述累加誤差。
16.如權(quán)利要求12所述的裝置,其中所述累加器模塊包括一寄存器,所述寄存器經(jīng)配置以存儲(chǔ)所述累加誤差。
17.如權(quán)利要求12所述的裝置,其中所述調(diào)節(jié)電路包括一加法器電路,所述加法器電路經(jīng)配置以將所述累加誤差加至所述高分辨率色彩信號(hào),由此產(chǎn)生一中間色彩信號(hào)。
18.如權(quán)利要求17所述的裝置,其中所述轉(zhuǎn)換電路包括一截短器電路,所述截短器電路經(jīng)配置以將所述中間色彩信號(hào)縮減成一低分辨率色彩信號(hào)。
19.如權(quán)利要求18所述的裝置,其中所述截短器電路進(jìn)一步經(jīng)配置以通過(guò)去掉若干最低有效位來(lái)縮減所述中間色彩信號(hào)并將所述所去掉的最低有效位作為一新的累加誤差存儲(chǔ)于所述寄存器中。
20.一種圖形處理單元,其包括一經(jīng)配置以產(chǎn)生一圖像的像素?cái)?shù)據(jù)的幾何管線單元;及一經(jīng)配置以將所述像素?cái)?shù)據(jù)提供至一顯示裝置的掃描輸出模塊,其中所述掃描輸出模塊包括一抖動(dòng)單元,所述抖動(dòng)單元包括一累加器模塊,其經(jīng)配置以跟蹤經(jīng)過(guò)所述圖像的復(fù)數(shù)個(gè)像素的一累加誤差;一轉(zhuǎn)換模塊,其經(jīng)配置以接收所述圖像的一當(dāng)前像素的一高分辨率色彩信號(hào)并產(chǎn)生一對(duì)應(yīng)的低分辨率色彩信號(hào);及一調(diào)節(jié)模塊,其經(jīng)配置以在所述累加誤差超過(guò)一閾值的情況下修改所述當(dāng)前像素的所述低分辨率色彩信號(hào)。
全文摘要
本發(fā)明使用誤差累加抖動(dòng)來(lái)從較高色彩分辨率的輸入數(shù)據(jù)產(chǎn)生較低色彩分辨率的圖像。以高分辨率為所述圖像的一當(dāng)前像素接收一目標(biāo)色彩。所述目標(biāo)色彩介于一低色彩分辨率的一第一色彩與一第二色彩之間。根據(jù)一從先前像素確定出的累加誤差是高于還是低于一閾值量,選擇所述第一色彩及所述第二色彩中的一者來(lái)作為一最終像素色彩。在選定所述最終像素色彩后,將一更新的累加誤差提供至下一像素。
文檔編號(hào)G09G3/20GK1950877SQ200580014371
公開(kāi)日2007年4月18日 申請(qǐng)日期2005年2月28日 優(yōu)先權(quán)日2004年3月8日
發(fā)明者韋恩·D·揚(yáng) 申請(qǐng)人:輝達(dá)公司