本發(fā)明專利技術(shù)公開了一種具有透明度信息的圖像的調(diào)色板裝置與生成方法,定義指定的調(diào)色板中獨(dú)立條目的數(shù)目為K,對透明度信息的圖像的RGB三基色和透明度值進(jìn)行量化,生成K個(gè)帶α透明度值的RGB調(diào)色板條目,然后求取圖像中各像素索引值,最后保存成PNG8圖片。本發(fā)明專利技術(shù)實(shí)現(xiàn)了RGB三基色和α透明度的量化;在量化過程中考慮了圖片中α透明度對RGB三基色顯示效果的影響,減少了α透明度值較小時(shí)的量化級數(shù),在主觀上更合理的分配了調(diào)色板條目;當(dāng)調(diào)色板長度較小時(shí),對根據(jù)像素頻度得到的調(diào)色板初值,再進(jìn)行LBG矢量量化,避免過多顏色由于出現(xiàn)頻率小而丟失的現(xiàn)象,有效地減小量化后圖像的失真;當(dāng)調(diào)色板長度較大時(shí),在圖像量化過程中使用弗洛伊德抖動(dòng)方法,有效改善圖片的主觀質(zhì)量。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及圖像處理領(lǐng)域,特別涉及。
技術(shù)介紹
一幅常用的RGB888格式的彩色圖像最多可包含224種顏色。隨著計(jì)算機(jī)圖形、圖像技術(shù)的不斷發(fā)展,在RGB三色基礎(chǔ)上又增加了圖像的透明/半透明特性,使圖像顯示更靈活。例如20世紀(jì)90年代中期開發(fā)的PNG圖像格式,其PNG32圖像采用RGB α 8888格式,即R、G、B、α各通道分別使用8bit量化。PNG存儲(chǔ)的彩色圖像的深度可多達(dá)48位,還可以存儲(chǔ)多到16位的α通道數(shù)據(jù)。換句話說,帶α通道PNG圖像最多可包含的顏色數(shù)遠(yuǎn)遠(yuǎn)大于 224。 由于物理能力限制和經(jīng)濟(jì)成本等的原因,一方面,圖像顯示設(shè)備只能顯示有限數(shù)目的顏色。所以,可在最小的視覺失真的前提下,減少將要顯示的圖像中的顏色數(shù),即對圖像進(jìn)行色彩量化。另一方面,后續(xù)的圖像處理、計(jì)算機(jī)運(yùn)算效率應(yīng)用和圖像編碼和傳輸方面,對圖像的存儲(chǔ)量也有要求,也需在最小的視覺失真的前提下,對圖像進(jìn)行色彩量化。例如,對帶透明度PNG32的圖像,直接存儲(chǔ)每個(gè)像素的4個(gè)通道數(shù)據(jù)使圖像對存儲(chǔ)量要求較高。若使用RGB調(diào)色板和透明度(tRNS)字段來表示帶α通道的PNG圖像中的顏色,將其存儲(chǔ)為PNG8索引圖像,則每個(gè)像素點(diǎn)的存儲(chǔ)量減少為原來的1/4,明顯減少了圖片存儲(chǔ)量。現(xiàn)有技術(shù)中幾種比較常用的典型色彩量化算法如下(I) 1994 年,A. Kruger 在文獻(xiàn)“Median-cut color quantization,,中,提出了中位切割(MCQ)算法。該算法試圖選擇一個(gè)色彩均衡的集合來表示圖像,其基本思想是將圖像的彩色空間用RGB模型來表示,彩色立方體的三個(gè)維度分別對應(yīng)RGB三基色中一個(gè)顏色分量,每一根軸的取值范圍為為O 255,O對應(yīng)于黑,255對應(yīng)于亮度最大。MCQ (中位切割顏色量化)算法按照像素?cái)?shù)目平均分布或量化誤差最小等準(zhǔn)則把RGB色彩空間立方體分成若干個(gè)長方體,每個(gè)長方體的中心就是一個(gè)調(diào)色板顏色的最佳位置。這種算法考慮到具體圖像的色彩分布,所得到的圖像顯示層次感豐富,所以較為常用。(2) 1996 年,D. Clark 在文獻(xiàn)“Color quantization using octree,,中,提出了八叉樹(OctreeCut)算法。該算法是利用八叉樹數(shù)據(jù)結(jié)構(gòu)來表示圖像色彩空間的一種方法,顏色的RGB分量的二進(jìn)制編碼確定了顏色在八叉樹或顏色立方體中的位置,量化過程是簡化八叉樹,通過將子節(jié)點(diǎn)顏色平均值賦予父結(jié)點(diǎn)的方式實(shí)現(xiàn),然后將子結(jié)點(diǎn)刪除。八叉樹量化算法對內(nèi)存要求較低,且生產(chǎn)圖像質(zhì)量較好?,F(xiàn)有技術(shù)缺點(diǎn) (I)MCQ算法內(nèi)存開銷大,需要足夠的內(nèi)存作為源圖像中每種顏色的計(jì)數(shù)器。另外,該方法重建的圖像局部細(xì)節(jié)較為模糊,效果不夠理想。(2)八叉樹算法中,簡化八叉樹的過程中,顏色的合并是以像素的頻度為準(zhǔn),所以仍會(huì)出現(xiàn)某些顏色由于出現(xiàn)頻率小而丟失的現(xiàn)象,導(dǎo)致圖像顯示失真。(3)上述算法只支持RGB或其他無透明度顏色的量化。雖然中位分割算法作者提出可將算法擴(kuò)展到更多通道,但是α通道值越小時(shí),對圖像顏色的視覺敏感度也相應(yīng)降低,若只將α通道作為獨(dú)立的通道加入中位分割量化,則計(jì)算量和系統(tǒng)時(shí)延都等比增大,使處理成本上升。
技術(shù)實(shí)現(xiàn)思路
專利技術(shù)目的為解決上述現(xiàn)有技術(shù)中的技術(shù)問題,提供。采用的技術(shù)方案提供了一種具有透明度信息的圖像的調(diào)色板裝置,包括圖像輸入單元、圖像顏色取值空間分割單元、圖像調(diào)色板生成單元、圖像顏色量化單元、圖像輸出單元; 所述圖像輸入單元用于輸入一張PNG圖片,并判斷該圖像是否包含透明度信息,只通過含有透明度信息的圖像,具體步驟如下提取PNG圖像的IHDR字段信息,包括圖片寬、圖片高、圖片色深、顏色類型,定義顏色類型為ColorType ;判斷該圖像是否包含透明度信息若ColorType=6,則該圖像為帶α通道的真彩色圖片,滿足要求;若ColorType=3,則該圖像為真彩色索引圖像,再在文件數(shù)據(jù)中搜索tRNS字段,若文件包含tRNS字段,則該圖像包含透明度信息,滿足要求;若圖像不滿足上述兩種顏色類型中任何一種情況下,則該圖像不包含透明度信息,不滿足要求; 所述圖像顏色取值空間分割單元用于統(tǒng)計(jì)R、G、B、α分量的像素分布直方圖,并根據(jù)直方圖信息分割R、G、B、α顏色取值空間,具體步驟如下解析輸入的PNG圖片,得到每個(gè)像素點(diǎn)的透明度α和RGB三基色信息,即根據(jù)步驟100得到的信息,提取PNG圖像IDAT字段信息,即圖像顏色信息若ColorType=6,直接從IDAT中每個(gè)像素?cái)?shù)據(jù)中提取出R、G、B、α分量值;若ColorType=3,則從IDAT中每個(gè)像素點(diǎn)數(shù)據(jù)中提取顏色索引值,再根據(jù)顏色索引值到PLET字段中提取該像素的R、G、B分量值,最后在該像素的tRNS字段中提取α分量值;遍歷圖片,根據(jù)步驟210的方法,統(tǒng)計(jì)圖像中各個(gè)顏色分量的像素分布直方圖,即R、G、B、α分量不同取值對應(yīng)的像素?cái)?shù)目,分別存儲(chǔ)在4X256個(gè)計(jì)數(shù)器中;根據(jù)步驟220的統(tǒng)計(jì)結(jié)果,將各顏色分量分割為8個(gè)量化區(qū)間,并取區(qū)間內(nèi)所有像素的顏色平均值作為各分量的區(qū)間量化值;由于R、G、B、α的取值范圍均為,以下以指代各顏色分量來表述它們的區(qū)間分割及顏色量化方法;定義A e 且A為整數(shù),對于,將其量化為8個(gè)值ip則定義第々個(gè)量化區(qū)間的量化代價(jià)函數(shù)為 2_7 ^^_ ψ/ _ %Αη)=Σ Σα>(χ) ■ mifUx^x Xk) Jfc=O 其中,為像素取值為Z的像素?cái)?shù)目,在取值區(qū)間內(nèi)的Z量化為Xk > af(x)為像素取值為JT的像素透明度;為求解使代價(jià)函數(shù)取到最小值的L值,可另O,即權(quán)利要求1.一種具有透明度信息的圖像的調(diào)色板裝置,其特征在于,所述一種具有透明度信息的圖像的調(diào)色板裝置包括圖像輸入單元、圖像顏色取值空間分割單元、圖像調(diào)色板生成單元、圖像顏色量化單元、圖像輸出單元; 所述圖像輸入單元 用于輸入一張PNG圖片,并判斷該圖像是否包含透明度信息,只通過含有透明度信息的圖像,具體步驟如下提取PNG圖像的IHDR字段信息,包括圖片寬、圖片高、圖片色深、顏色類型,定義顏色類型為ColorType ;判斷該圖像是否包含透明度信息若ColorType=6,則該圖像為帶α通道的真彩色圖片,滿足要求;若ColorType=3,則該圖像為真彩色索引圖像,再在文件數(shù)據(jù)中搜索tRNS字段,若文件包含tRNS字段,則該圖像包含透明度信息,滿足要求;若圖像不滿足上述兩種顏色類型中任何一種情況下,則該圖像不包含透明度信息,不滿足要求; 所述圖像顏色取值空間分割單元用于統(tǒng)計(jì)R、G、B、α分量的像素分布直方圖,并根據(jù)直方圖信息分割R、G、B、α顏色取值空間,具體步驟如下解析輸入的PNG圖片,得到每個(gè)像素點(diǎn)的透明度α和RGB三基色信息,即根據(jù)步驟100得到的信息,提取PNG圖像IDAT字段信息,即圖像顏色信息若ColorType=6,直接從IDAT中每個(gè)像素?cái)?shù)據(jù)中提取出R、G、B、α分量值;若ColorType=3,則從IDAT中每個(gè)像素點(diǎn)數(shù)據(jù)中提取顏色索引值,再根據(jù)顏色索引值到PLET字段中提取該像素的R、G、B分量值,最后在該像素的tRNS字段中提取α分量值;遍歷圖片,根據(jù)步驟210的方法,統(tǒng)計(jì)圖像中各個(gè)顏色分量的像素分布直方圖,即R、G、B、α分量不本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種具有透明度信息的圖像的調(diào)色板裝置,其特征在于,所述一種具有透明度信息的圖像的調(diào)色板裝置包括:圖像輸入單元、圖像顏色取值空間分割單元、圖像調(diào)色板生成單元、圖像顏色量化單元、圖像輸出單元;所述圖像輸入單元用于輸入一張PNG圖片,并判斷該圖像是否包含透明度信息,只通過含有透明度信息的圖像,具體步驟如下:提取PNG圖像的IHDR字段信息,包括圖片寬、圖片高、圖片色深、顏色類型,定義顏色類型為ColorType;判斷該圖像是否包含透明度信息:若ColorType=6,則該圖像為帶α通道的真彩色圖片,滿足要求;若ColorType=3,則該圖像為真彩色索引圖像,再在文件數(shù)據(jù)中搜索tRNS字段,若文件包含tRNS字段,則該圖像包含透明度信息,滿足要求;若圖像不滿足上述兩種顏色類型中任何一種情況下,則該圖像不包含透明度信息,不滿足要求;所述圖像顏色取值空間分割單元用于統(tǒng)計(jì)R、G、B、α分量的像素分布直方圖,并根據(jù)直方圖信息分割R、G、B、α顏色取值空間,具體步驟如下:解析輸入的PNG圖片,得到每個(gè)像素點(diǎn)的透明度α和RGB三基色信息,即根據(jù)步驟100得到的信息,提取PNG圖像IDAT字段信息,即圖像顏色信息:若ColorType=6,直接從IDAT中每個(gè)像素?cái)?shù)據(jù)中提取出R、G、B、α分量值;若ColorType=3,則從IDAT中每個(gè)像素點(diǎn)數(shù)據(jù)中提取顏色索引值,再根據(jù)顏色索引值到PLET字段中提取該像素的R、G、B分量值,最后在該像素的tRNS字段中提取α分量值;遍歷圖片,根據(jù)步驟210的方法,統(tǒng)計(jì)圖像中各個(gè)顏色分量的像素分布直方圖,即R、G、B、α分量不同取值對應(yīng)的像素?cái)?shù)目,分別存儲(chǔ)在4×256個(gè)計(jì)數(shù)器中;根據(jù)步驟220的統(tǒng)計(jì)結(jié)果,將各顏色分量分割為8個(gè)量化區(qū)間,并取區(qū)間內(nèi)所有像素的顏色平均值作為各分量的區(qū)間量化值;由于R、G、B、α的取值范圍均為[0,?255],以下以????????????????????????????????????????????????指代各顏色分量來表述它們的區(qū)間分割及顏色量化方法;定義k∈[0,?7]且k為整數(shù),對于x∈[0,?255],將其量化為8個(gè)值,則定義第k個(gè)量化區(qū)間的量化代價(jià)函數(shù)為:其中,num(x)為像素取值為x的像素?cái)?shù)目,在取值區(qū)間[]內(nèi)的x量化為,為像素取值為x的像素透明度:;為求解使代價(jià)函數(shù)取到最小值的值,可另0,即時(shí),得:此時(shí),取最小值為:本步驟的核心是搜索最佳量化區(qū)間,搜索過程如下:設(shè)x?[0,?255]且num(x)≠0時(shí),對應(yīng)的最小x值為xlow,最大值為xup,將區(qū)間[xlow,xup]等分8份,作為x最佳量化區(qū)間的初值,即[xk_down,?xk_up]初值為[xlow+k(xup??xlow)/8,xlow+(k+1)(xup??xlow)/8];分別計(jì)算幾個(gè)代價(jià)函數(shù):區(qū)間[xk_down,?xk_up]代價(jià)函數(shù)、區(qū)間[xk+1_down,?xk+1_up]的代價(jià)函數(shù);區(qū)間[xk_down,?xk_up?1]代價(jià)函數(shù)、區(qū)間[xk+1_down?1,?xk+1_up]的代價(jià)函數(shù);區(qū)間[xk_down,?xk_up+1]代價(jià)函數(shù)、區(qū)間[xk+1_down+1,?xk+1_up]的代價(jià)函數(shù);比較步驟232得到的代價(jià)函數(shù)的幾項(xiàng)和值:+、+和+,將其中和值最小的取值點(diǎn)作新的區(qū)間劃分;?重復(fù)步驟232和步驟233,調(diào)整各個(gè)區(qū)間的劃分,直到區(qū)間的劃分不再改變?yōu)橹梗?>=+且+>=+為止;分別取k=0,?1,?…,?7,進(jìn)行步驟步驟232~步驟234,得到分量的8個(gè)量化區(qū)間;計(jì)算區(qū)間映射表map[256],即對于x?[xk_down,?xk_up],map()=k;根據(jù)各顏色分量的量化區(qū)間分布,將四維的圖像顏色取值空間被分割為4096個(gè)子空間;所述圖像調(diào)色板生成單元用于根據(jù)圖像像素在圖像顏色取值空間分布情況,計(jì)算并輸出K個(gè)帶透明度的圖像調(diào)色板獨(dú)立條目,具體步驟如下:遍歷圖片,根據(jù)步驟100得到的信息,提取圖像各像素顏色信息,根據(jù)每個(gè)像素的R、G、B、α值,按照map映射表的規(guī)則,映射到4096個(gè)子空間中,統(tǒng)計(jì)得到每個(gè)子空間中像素?cái)?shù)目,得到像素的顏色子空間分布直方圖;定義指定的調(diào)色板長度為K,則將顏色子空間分布直方圖按照其像素?cái)?shù)目由大到小排列,取排在前面的K個(gè)子空間中像素顏色均值為調(diào)色板初值;若K≥256,則取步驟2得到的調(diào)色板初值為調(diào)色板終值;否則,以步驟200中得到的調(diào)色板初值為初始質(zhì)心,以各子空間的像素顏色均值為量化點(diǎn)進(jìn)行LBG矢量量化[3],得到的最終的調(diào)色板值;所述圖像顏色量化單元用...
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:陳喆,殷福亮,李丹丹,
申請(專利權(quán))人:大連理工大學(xué),
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會(huì)獲得科技券。