圖像的抖動(dòng)處理方法與裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,特別涉及一種圖像的抖動(dòng)處理方法與裝置。
【背景技術(shù)】
[0002] 抖動(dòng)(Dither)是一種故意造成的噪音用以隨機(jī)化量化誤差,阻止大幅度拉升圖 像時(shí)導(dǎo)致的如色帶(banding)這樣的問(wèn)題。Dither的概念常用在數(shù)字聲音和數(shù)字視頻數(shù)據(jù) 處理中,也常用在壓縮磁盤(pán)中。
[0003] 圖像處理中的抖動(dòng)處理(Dithering)是一個(gè)使用有限調(diào)色板在圖像中創(chuàng)建色深 錯(cuò)覺(jué)的技術(shù)。在一個(gè)經(jīng)過(guò)抖動(dòng)處理的圖像中,那些在調(diào)色板中不可用的顏色可以用當(dāng)前調(diào) 色板中可用的顏色中的一種近似代替,人眼可以接受這種由顏色組成的混合色。Dithering 類(lèi)似于印刷技術(shù)中使用的半色調(diào)印刷,經(jīng)過(guò)抖動(dòng)處理的圖像,特別是使用相關(guān)的少許顏色 的,通常都可以看出圖像中包含的顆粒。
[0004] Dithering技術(shù)在早期的視頻適配器、現(xiàn)在的一些手機(jī)上使用的液晶顯示器,還有 一些廉價(jià)的數(shù)碼照相機(jī)上都有使用,這些設(shè)備的色域范圍都要小于那些更先進(jìn)的設(shè)備。例 如,在照片圖像可能包含數(shù)百萬(wàn)中顏色,但是在視頻硬件上可能只支持256色,所以就需要 使用這256色通過(guò)Dithering技術(shù)來(lái)近似的達(dá)到原圖的效果。如果不使用Dithering技術(shù) 的話,那么原圖里面那些不被支持的顏色可能會(huì)被這些顏色的近似顏色所代替,這樣會(huì)導(dǎo) 致最后顯示出來(lái)的效果很差。
[0005] 另外需要使用Dithering的情況是圖像文件格式的限制因素。特別的,通常使用 的GIF文件格式嚴(yán)格限定只能使用256或者更少的顏色(在大多數(shù)圖像編輯軟件里是這樣 的)。其它一些文件格式,例如PNG,由于為了降低文件大小,也會(huì)使用相應(yīng)的限制。這些使 用受限顏色的圖片會(huì)包含一個(gè)它所使用的顏色的調(diào)色板。在這種情況下,圖像編輯軟件就 會(huì)負(fù)責(zé)Dithering圖像,而不僅僅是使用這些格式保存這類(lèi)文件。
[0006] 常用的圖像抖動(dòng)處理算法包括以下幾種:
[0007] 有序抖動(dòng)算法(例如點(diǎn)聚集有序抖動(dòng)算法和點(diǎn)離散有序抖動(dòng)算法):算法簡(jiǎn)單,易 于實(shí)現(xiàn);但是輸出圖像紋理不夠細(xì)膩,灰度過(guò)渡不連續(xù),特別是在高光與暗調(diào)灰階區(qū)域,有 明顯的固定圖案,即存在抖動(dòng)噪聲;
[0008] 誤差擴(kuò)散(errordiffusion)算法:輸出圖像色調(diào)豐富,且算法簡(jiǎn)單、高效、實(shí)用, 但是輸出圖像存在明顯的龜紋和蠕蟲(chóng)現(xiàn)象,邊緣模糊,圖像對(duì)比度較差;
[0009] 迭代算法:輸出圖像色調(diào)豐富,灰階過(guò)渡連續(xù),視覺(jué)效果較好,但是算法復(fù)雜度較 高,實(shí)時(shí)性差。
[0010] 因此,如何既能夠使經(jīng)過(guò)抖動(dòng)處理后的輸出圖像確保一定圖像質(zhì)量,例如使輸出 圖像色調(diào)豐富,灰階過(guò)渡連續(xù),而且沒(méi)有抖動(dòng)噪聲和明顯的龜紋和蠕蟲(chóng)現(xiàn)象,又能夠降低抖 動(dòng)處理的復(fù)雜度以滿(mǎn)足實(shí)時(shí)性的要求,是亟待解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明要解決的問(wèn)題是如何既使經(jīng)過(guò)抖動(dòng)處理后的輸出圖像確保一定圖像質(zhì)量, 又降低抖動(dòng)處理的復(fù)雜度以滿(mǎn)足實(shí)時(shí)性的要求。
[0012] 為解決上述問(wèn)題,本發(fā)明技術(shù)方案提供一種圖像的抖動(dòng)處理方法,包括:
[0013] 將待處理圖像中的像素點(diǎn)沿分形曲線所構(gòu)成的遍歷路徑進(jìn)行遍歷;
[0014] 對(duì)于遍歷到的每個(gè)像素點(diǎn)進(jìn)行鄰域處理,所述鄰域處理包括:將當(dāng)前遍歷到的像 素點(diǎn)的值與該像素點(diǎn)鄰域內(nèi)各像素點(diǎn)對(duì)應(yīng)的誤差值進(jìn)行求和,所述鄰域內(nèi)的像素點(diǎn)為在所 述遍歷路徑上與當(dāng)前遍歷到的像素點(diǎn)依次相鄰且已遍歷的像素點(diǎn);
[0015] 以所述鄰域處理后的結(jié)果確定抖動(dòng)處理后所述待處理圖像中每個(gè)像素點(diǎn)的值。
[0016] 可選的,所述待處理圖像是待進(jìn)行抖動(dòng)處理的原始圖像。
[0017] 可選的,所述待處理圖像是將待進(jìn)行抖動(dòng)處理的原始圖像經(jīng)過(guò)分割而形成的一個(gè) 以上圖像塊,所述方法還包括:在以所述鄰域處理后的結(jié)果確定抖動(dòng)處理后各圖像塊中每 個(gè)像素點(diǎn)的值之后,生成所述原始圖像經(jīng)過(guò)抖動(dòng)處理后的輸出圖像。
[0018] 可選的,相鄰圖像塊分別使用所述分形曲線的不同遍歷路徑。
[0019] 可選的,所述圖像的抖動(dòng)處理方法還包括:將兩個(gè)或兩個(gè)以上圖像塊的抖動(dòng)處理 并行進(jìn)行。
[0020] 可選的,所述鄰域內(nèi)各像素點(diǎn)對(duì)應(yīng)的誤差值是各像素點(diǎn)的量化誤差分別乘以相應(yīng) 的加權(quán)系數(shù)后得到的。
[0021] 可選的,所述鄰域內(nèi)與當(dāng)前遍歷到的像素點(diǎn)越鄰近的像素點(diǎn)相應(yīng)的加權(quán)系數(shù)越 大。
[0022] 可選的,以單調(diào)遞減函數(shù)為所述鄰域內(nèi)與當(dāng)前遍歷到的像素點(diǎn)依次相鄰的像素點(diǎn) 分別配置相應(yīng)的加權(quán)系數(shù)。
[0023] 可選的,所述單調(diào)遞減函數(shù)為單調(diào)遞減的指數(shù)函數(shù)。
[0024] 可選的,設(shè)置誤差隊(duì)列以循環(huán)存放當(dāng)前遍歷到的像素點(diǎn)鄰域內(nèi)各像素點(diǎn)對(duì)應(yīng)的誤 差值,所述誤差隊(duì)列的長(zhǎng)度至少與所述鄰域的大小相一致。
[0025] 可選的,所述分形曲線為希爾伯特曲線。
[0026] 為解決上述問(wèn)題,本發(fā)明技術(shù)方案還提供一種圖像的抖動(dòng)處理裝置,包括:
[0027] 遍歷單元,適于將待處理圖像中的像素點(diǎn)沿分形曲線所構(gòu)成的遍歷路徑進(jìn)行遍 歷;
[0028] 鄰域處理單元,適于對(duì)于遍歷到的每個(gè)像素點(diǎn)進(jìn)行鄰域處理,所述鄰域處理包括: 將當(dāng)前遍歷到的像素點(diǎn)的值與該像素點(diǎn)鄰域內(nèi)各像素點(diǎn)對(duì)應(yīng)的量化誤差值進(jìn)行求和,所 述鄰域內(nèi)的像素點(diǎn)為在所述遍歷路徑上與當(dāng)前遍歷到的像素點(diǎn)依次相鄰且已遍歷的像素 占.
[0029] 確定單元,適于以所述鄰域處理后的結(jié)果確定抖動(dòng)處理后所述待處理圖像中每個(gè) 像素點(diǎn)的值。
[0030] 與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)方案至少具有以下優(yōu)點(diǎn):
[0031] 通過(guò)將誤差擴(kuò)散沿著分形曲線的方向遍歷所有的像素點(diǎn),同時(shí)將傳統(tǒng)的鄰域處理 從二維處理轉(zhuǎn)變?yōu)橐痪S處理,既克服了傳統(tǒng)誤差擴(kuò)散抖動(dòng)處理方法存在的明顯方向性不足 的缺點(diǎn),又降低了抖動(dòng)處理的復(fù)雜度,從而既能夠使經(jīng)過(guò)抖動(dòng)處理后的輸出圖像確保一定 的圖像質(zhì)量,例如使輸出圖像色調(diào)豐富,灰階過(guò)渡連續(xù),而且沒(méi)有抖動(dòng)噪聲和明顯的龜紋和 蠕蟲(chóng)現(xiàn)象,又能夠滿(mǎn)足圖像抖動(dòng)處理對(duì)于實(shí)時(shí)性的要求。
[0032] 進(jìn)一步地,采用圖像分塊處理的方式,有利于各圖像塊抖動(dòng)處理的并行實(shí)現(xiàn),從而 增強(qiáng)實(shí)時(shí)處理的能力。
[0033] 進(jìn)一步地,通過(guò)選用希爾伯特曲線作為所述分形曲線,考慮到該分形曲線存在著 相似性,更能夠便于實(shí)現(xiàn)圖像分塊處理的方式,而且相鄰圖像塊分別使用所述分形曲線的 不同遍歷路徑,克服了遍歷路徑的重復(fù)性,能夠避免出現(xiàn)明顯的固定圖案,從而有效抑制抖 動(dòng)噪聲。
【附圖說(shuō)明】
[0034] 圖1是本發(fā)明技術(shù)方案提供的圖像的抖動(dòng)處理方法的流程示意圖;
[0035] 圖2是階數(shù)分別為1至4的希爾伯特曲線的示意圖;
[0036] 圖3是本發(fā)明實(shí)施例的圖像的抖動(dòng)處理方法的流程示意圖;
[0037] 圖4是本發(fā)明實(shí)施例的希爾伯特曲線的4種遍歷路徑的示意圖;
[0038] 圖5是本發(fā)明實(shí)施例的原始圖像中各圖像塊的遍歷路徑配置示意圖。
【具體實(shí)施方式】
[0039] 由于現(xiàn)有的圖像抖動(dòng)處理方法無(wú)法同時(shí)兼顧輸出圖像的質(zhì)量提升以及處理復(fù)雜 度的降低,因此對(duì)于一些對(duì)硬件配置成本較為敏感的終端設(shè)備,例如手機(jī)、掌上電腦等,既 需要確保輸出圖像達(dá)到一定質(zhì)量,又需要在不增加成本的前提下滿(mǎn)足圖