一種基于色彩退化的有限調色板生成方法
【技術領域】
[0001] 本發(fā)明涉及基于色彩退化的有限調色板生成方法。
【背景技術】
[0002] 目前圖像顯示領域最常用的色彩空間是RGB色彩空間,不同的圖片存儲格式有不 同的顏色表示方法,對于真彩圖像每一個字節(jié)表示一個顏色通道,對于256色圖像會有一 個256種顏色的調色板,而圖像的每個像素則用一個字節(jié)來表示調色板的索引,這可以大 大節(jié)省空間,帶來的代價是圖片顯示的效果會比真彩色差。
[0003] 隨著計算機內存容量的不斷提升,許多領域完全不用調色板了,然而在許多嵌入 式領域,由于內存資源的限制256色圖像格式依然使用廣泛,甚至在一些低端的芯片上所 有的圖片共用一個調色板,在圖片的色彩空間相差很大而且需要比較好的顯示效果的場 合,調色板的生成就尤為重要,一個好的調色板可以利用盡可能少的空間實現盡可能好的 圖片顯示效果,這對有限調色板場合非常有用。
[0004] 然而,目前還沒有好的調色板生成方法來解決這類有限調色板生成,尤其是多張 圖片共用同一個調色板的調色板生成方法,使用傳統(tǒng)的調色板生成算法生成的調色板是所 有圖片綜合考慮的平均結果,然而這在圖片顯示權重有差異的情況下,圖片顯示效果差,它 不能根據圖片的顯示權值對調色板生成算法進行調整,這使得一些并不重要的圖片占據了 多余的調色板空間而一些重要的圖片卻由于調色板空間限制不能實現更好的顯示效果,
[0005] 綜上所述,現有技術由于調色板數目的限制導致圖片的顯示效果差以及由于大量 圖片導致圖片的顯示效果差,所以提出一種基于色彩退化的有限調色板生成方法是十分必 要的。
【發(fā)明內容】
[0006] 本發(fā)明的目的是為了解決現有圖片的顯示效果差的問題,而提出了一種基于色彩 退化的有限調色板生成方法。
[0007] 上述的發(fā)明目的是通過以下技術方案實現的:
[0008] 步驟一、利用改進的八叉樹色彩退化算法實現指定數量的調色板生成算法;
[0009] 步驟二、利用指定數量的調色板生成算法結合圖片的顯示權值生成所有圖片共用 的有限調色板。
[0010] 發(fā)明效果
[0011] 采用本發(fā)明的一種基于色彩退化的有限調色板生成方法,
[0012] 1.改進的色彩退化算法充分考慮了圖片的顏色統(tǒng)計特性,使得每次被縮減的顏色 代價最小,即顏色值的損失最小,每個圖片設置顯示權值,不僅可以綜合考慮所有圖片的顏 色特性,還可以指定不同的圖片具有不同的顯示優(yōu)先級,對于需要色彩豐富的圖片使用多 的調色板,而對于色彩相對少的圖片使用少的調色板,解決了生成調色板的過程中圖片的 顯示效果不會由于調色板數目的限制導致圖片的顯示效果差的問題。
[0013] 2.使用帶索引的最小堆來實現顏色的退化算法,保證了算法的執(zhí)行時間短,對大 量圖片進行調色板生成調試時是非常有幫助的,解決了在生成調色板的過程中圖片的顯示 效果由于大量圖片導致圖片的顯示效果差的問題。
[0014] 本發(fā)明解決了以往有限調色板圖片顯示效果差的問題,利用帶索引的最小堆保證 算法的執(zhí)行效率高,有限調試板生成效果可認為調整,使得在顯示權重偏差比較大的場景 圖片顯示效果比以往的技術顯示效果提高30% -50%,算法的運行時間和以前是相同的。
[0015] 總而言之,本方法使得有限調色板生成在應對不同圖片具有不同顯示優(yōu)先級的情 況也具有良好的顯示效果,不會因為由于綜合考慮所有圖片而導致某些細膩的圖片顯示效 果差的問題。
【附圖說明】
[0016] 圖1為利用改進的八叉樹色彩退化算法實現指定數量的調色板生成算法的流程 圖;
[0017]圖2為利用指定數量的調色板生成算法結合圖片的權值生成所有圖片共用的有 限調色板的流程圖;
[0018]圖3為實施例一中利用改進的八叉樹色彩退化算法在不同數量調色板下的算法 執(zhí)行效果圖,a為測試圖片的原圖,b為測試圖片在調試板數量為256個的算法執(zhí)行效果圖, c為測試圖片在調試板數量為128個的算法執(zhí)行效果圖,d為測試圖片在調試板數量為64 個的算法執(zhí)行效果圖,e為測試圖片在調試板數量為32個的算法執(zhí)行效果圖,f為測試圖片 在調試板數量為16個的算法執(zhí)行效果圖;
[0019] 圖4為實施例二中的原始圖像,a為0? bmp的圖像效果圖,b為1. bmp的圖像效 果圖,c為2. bmp的圖像效果圖,d為3. bmp的圖像效果圖,e為4. bmp的圖像效果圖,f為 5. bmp的圖像效果圖,g為6. bmp的圖像效果圖,h為7. bmp的圖像效果圖;
[0020] 圖5為不利用本方法對圖四進行生成調色板生成后形成的效果圖像,a為0. bmp 的圖像效果圖,b為1. bmp的圖像效果圖,c為2. bmp的圖像效果圖,d為3. bmp的圖像效 果圖,e為4. bmp的圖像效果圖,f為5. bmp的圖像效果圖,g為6. bmp的圖像效果圖,h為 7. bmp的圖像效果圖;
[0021] 圖6為實施例二中利用本方法對圖四進行生成調色板后形成的效果圖像,a為 0? bmp的圖像效果圖,b為1. bmp的圖像效果圖,c為2. bmp的圖像效果圖,d為3. bmp的圖 像效果圖,e為4. bmp的圖像效果圖,f為5. bmp的圖像效果圖,g為6. bmp的圖像效果圖, h為7. bmp的圖像效果圖。
【具體實施方式】
【具體實施方式】 [0022] 一:一種基于色彩退化的有限調色板生成方法,其特征在于,一種基 于色彩退化的有限調色板生成方法具體是按以下步驟進行的:
[0023] 步驟一、利用改進的八叉樹色彩退化算法實現指定數量的調色板生成算法;
[0024] 步驟二、利用指定數量的調色板生成算法結合圖片的顯示權值生成所有圖片共用 的有限調色板。
[0025]
【具體實施方式】二:結合圖1說明本實施方式,本實施方式與【具體實施方式】一不同 的是,所述步驟一中利用改進的八叉樹色彩退化算法實現指定數量的調色板生成算法;具 體過程為:
[0026] 改進的八叉樹色彩退化算法按如下步驟實現:
[0027] 步驟一一、選擇圖片的一個像素記為pixel i為第幾個像素,其RGB值記為 pg,pb,pg,p b為RGB的三個顏色通道,每個顏色通道有8位,1,2, 3,4, 5,6, 7,8,即每個 顏色通道位的索引位置為j(l < j < 8),j為第幾位,每一位對應一層子樹節(jié)點,最后一位 加一層葉子節(jié)點,即每個顏色通道有8+1層節(jié)點,對應樹的深度為8+1,記錄顏色值,每一位 有0, 1兩種選擇,由于RGB有三個顏色通道,所以每一位有2~3 = 8種選擇,每一種選擇對應 一個子樹節(jié)點,即每一位對應八個子樹節(jié)點,構成了八叉樹,全局的最大調色板數量為C;
[0028] 其中,所述C為正整數,匕為像素的紅色分量值,p像素的綠色分量值,pb為像 素的藍色分量值;
[0029] 比如一個像素:
[0030] R:10001111 G:01001111 B:00101111
[0031] 第一個節(jié)點:1〈〈2+0〈〈1+0 = 4,所以子樹在八叉樹的4叉上。進入這個子樹
[0032] 第二個節(jié)點:0〈〈2+1〈〈1+0 = 2,子樹在2叉上,進入這個子樹
[0033] 第三個節(jié)點:0〈〈2+0〈〈1+1 = 1子樹在1叉上,同理遍歷8個位,就構建好了 8個 子樹,最后一個是葉子節(jié)點,他會記錄rgb值。當然有可能有些子樹已經構建好了,就計數 加一,還有可能葉子節(jié)點(最后的調試版)超過了最大值,就需要合并;
[0034] 步驟一二、遍歷顏色通道位的索引位置,若index = (pr[j] < < 3) | (pg[j] < < 2) |pb[j]節(jié)點為子樹節(jié)點或空節(jié)點,則創(chuàng)建新的index = (pjj] < < 3) | (pg[j] << 2) |pb[j]節(jié)點,
[0035] 若index = (p』j] << 3) | (pg[j] <<