[發明專利]一種具有透明度信息的圖像的調色板裝置與生成方法有效
| 申請號: | 201210290041.X | 申請日: | 2012-08-15 |
| 公開(公告)號: | CN102881026A | 公開(公告)日: | 2013-01-16 |
| 發明(設計)人: | 陳喆;殷福亮;李丹丹 | 申請(專利權)人: | 大連理工大學 |
| 主分類號: | G06T7/40 | 分類號: | G06T7/40 |
| 代理公司: | 大連星海專利事務所 21208 | 代理人: | 徐淑東 |
| 地址: | 116024 遼*** | 國省代碼: | 遼寧;21 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 具有 透明度 信息 圖像 調色板 裝置 生成 方法 | ||
1.一種具有透明度信息的圖像的調色板裝置,其特征在于,所述一種具有透明度信息的圖像的調色板裝置包括:圖像輸入單元、圖像顏色取值空間分割單元、圖像調色板生成單元、圖像顏色量化單元、圖像輸出單元;
所述圖像輸入單元用于輸入一張PNG圖片,并判斷該圖像是否包含透明度信息,只通過含有透明度信息的圖像,具體步驟如下:提取PNG圖像的IHDR字段信息,包括圖片寬、圖片高、圖片色深、顏色類型,定義顏色類型為ColorType;判斷該圖像是否包含透明度信息:若ColorType=6,則該圖像為帶α通道的真彩色圖片,滿足要求;若ColorType=3,則該圖像為真彩色索引圖像,再在文件數據中搜索tRNS字段,若文件包含tRNS字段,則該圖像包含透明度信息,滿足要求;若圖像不滿足上述兩種顏色類型中任何一種情況下,則該圖像不包含透明度信息,不滿足要求;
所述圖像顏色取值空間分割單元用于統計R、G、B、α分量的像素分布直方圖,并根據直方圖信息分割R、G、B、α顏色取值空間,具體步驟如下:解析輸入的PNG圖片,得到每個像素點的透明度α和RGB三基色信息,即根據步驟100得到的信息,提取PNG圖像IDAT字段信息,即圖像顏色信息:若ColorType=6,直接從IDAT中每個像素數據中提取出R、G、B、α分量值;若ColorType=3,則從IDAT中每個像素點數據中提取顏色索引值,再根據顏色索引值到PLET字段中提取該像素的R、G、B分量值,最后在該像素的tRNS字段中提取α分量值;遍歷圖片,根據步驟210的方法,統計圖像中各個顏色分量的像素分布直方圖,即R、G、B、α分量不同取值對應的像素數目,分別存儲在4×256個計數器中;根據步驟220的統計結果,將各顏色分量分割為8個量化區間,并取區間內所有像素的顏色平均值作為各分量的區間量化值;由于R、G、B、α的取值范圍均為[0,?255],以下以????????????????????????????????????????????????指代各顏色分量來表述它們的區間分割及顏色量化方法;定義k∈[0,?7]且k為整數,對于x∈[0,?255],將其量化為8個值,則定義第k個量化區間的量化代價函數為:
其中,num(x)為像素取值為x的像素數目,在取值區間[]內的x量化為,為像素取值為x的像素透明度:;為求解使代價函數取到最小值的值,可另0,即時,得:
此時,取最小值為:
本步驟的核心是搜索最佳量化區間,搜索過程如下:設x?[0,?255]且num(x)≠0時,對應的最小x值為xlow,最大值為xup,將區間[xlow,xup]等分8份,作為x最佳量化區間的初值,即[xk_down,?xk_up]初值為[xlow+k(xup-?xlow)/8,xlow+(k+1)(xup-?xlow)/8];分別計算幾個代價函數:區間[xk_down,?xk_up]代價函數、區間[xk+1_down,?xk+1_up]的代價函數;區間[xk_down,?xk_up-1]代價函數、區間[xk+1_down-1,?xk+1_up]的代價函數;區間[xk_down,?xk_up+1]代價函數、區間[xk+1_down+1,?xk+1_up]的代價函數;比較步驟232得到的代價函數的幾項和值:+、+和+,將其中和值最小的取值點作新的區間劃分;?重復步驟232和步驟233,調整各個區間的劃分,直到區間的劃分不再改變為止,即+>=+且+>=+為止;分別取k=0,?1,?…,?7,進行步驟步驟232~步驟234,得到分量的8個量化區間;計算區間映射表map[256],即對于x?[xk_down,?xk_up],map()=k;根據各顏色分量的量化區間分布,將四維的圖像顏色取值空間被分割為4096個子空間;
所述圖像調色板生成單元用于根據圖像像素在圖像顏色取值空間分布情況,計算并輸出K個帶透明度的圖像調色板獨立條目,具體步驟如下:遍歷圖片,根據步驟100得到的信息,提取圖像各像素顏色信息,根據每個像素的R、G、B、α值,按照map映射表的規則,映射到4096個子空間中,統計得到每個子空間中像素數目,得到像素的顏色子空間分布直方圖;定義指定的調色板長度為K,則將顏色子空間分布直方圖按照其像素數目由大到小排列,取排在前面的K個子空間中像素顏色均值為調色板初值;若K≥256,則取步驟2得到的調色板初值為調色板終值;否則,以步驟200中得到的調色板初值為初始質心,以各子空間的像素顏色均值為量化點進行LBG矢量量化[3],得到的最終的調色板值;
所述圖像顏色量化單元用于量化圖像各像素顏色,輸出圖像各像素索引值,具體步驟如下:遍歷圖片,計算像素點顏色與每個調色板顏色的空間距離;若調色板小于256,直接取距離最小的調色板條目序號作為像素索引值,否則,在直接取距離最小的調色板條目作為像素顏色的基礎上,使用弗洛伊德-斯坦伯格抖動方法量化圖像顏色;
所述圖像輸出單元用于根據圖像調色板生成單元、圖像顏色量化單元輸出的數據,生成并輸出帶透明度的PNG8索引圖,即將調色板的RGB分量寫入PNG8圖像PLET字段,再將調色板的α分量相對應的寫入PNG8圖像tRNS字段,將像素索引值寫入PNG8圖像IDAT字段,再添加PNG8圖像文件的文件頭、文件尾,保存PNG8真彩色索引圖,輸出得到的圖像。
2.根據權利要求1所述的一種具有透明度信息的圖像的調色板生成方法,包括以下步驟:
步驟100:圖像輸入單元用于輸入一張含透明度的PNG圖片,具體步驟如下:
步驟110:提取PNG圖像的IHDR字段信息,包括圖片寬、圖片高、圖片色深、顏色類型,定義顏色類型為ColorType;
步驟120:判斷該圖像是否包含透明度信息:
步驟121:若ColorType=6,則該圖像為帶α通道的真彩色圖片,滿足要求;
步驟122:若ColorType=3,則該圖像為真彩色索引圖像,再在文件數據中搜索tRNS字段,若文件包含tRNS字段,則該圖像包含透明度信息,滿足要求;
步驟123:若圖像不滿足上述兩種顏色類型中任何一種情況下,則該圖像不包含透明度信息,不滿足要求;
步驟200:圖像顏色取值空間分割單元,用于統計R、G、B、α分量的像素分布直方圖,并根據直方圖信息分割R、G、B、α顏色取值空間,具體步驟如下:
步驟210:解析輸入的PNG圖片,得到每個像素點的透明度α和RGB三基色信息,即根據步驟100得到的信息,提取PNG圖像IDAT字段信息,即圖像顏色信息:
步驟211:若ColorType=6,直接從IDAT中每個像素數據中提取出R、G、B、α分量值;
步驟212:若ColorType=3,則從IDAT中每個像素點數據中提取顏色索引值,再根據顏色索引值到PLET字段中提取該像素的R、G、B分量值,最后在該像素的tRNS字段中提取α分量值;
步驟220:遍歷圖片,根據步驟210的方法,統計圖像中各個顏色分量的像素分布直方圖,即R、G、B、α分量不同取值對應的像素數目,分別存儲在4×256個計數器中;
步驟230:根據步驟220的統計結果,將各顏色分量分割為8個量化區間,并取區間內所有像素的顏色平均值作為各分量的區間量化值;
由于R、G、B、α的取值范圍均為[0,?255],以下以指代各顏色分量來表述它們的區間分割及顏色量化方法;
定義k∈[0,?7]且k為整數,對于x∈[0,?255],將其量化為8個值,則定義第k個量化區間的量化代價函數為:
其中,num(x)為像素取值為x的像素數目,在取值區間[]內的x量化為,為像素取值為x的像素透明度:;為求解使代價函數取到最小值的值,可另0,即時,得:
此時,取最小值為:
本步驟的核心是搜索最佳量化區間,搜索過程如下:
步驟231:設x?[0,?255]且num(x)≠0時,對應的最小x值為xlow,最大值為xup,將區間[xlow,xup]等分8份,作為x最佳量化區間的初值,即[xk_down,?xk_up]初值為[xlow+k(xup-?xlow)/8,xlow+(k+1)(xup-?xlow)/8];
步驟232:分別計算幾個代價函數:區間[xk_down,?xk_up]代價函數、區間[xk+1_down,?xk+1_up]的代價函數;區間[xk_down,?xk_up-1]代價函數、區間[xk+1_down-1,?xk+1_up]的代價函數;區間[xk_down,?xk_up+1]代價函數、區間[xk+1_down+1,?xk+1_up]的代價函數;
步驟233:比較步驟232得到的代價函數的幾項和值:+、+和+,將其中和值最小的取值點作新的區間劃分;?
步驟234:重復步驟232和步驟233,調整各個區間的劃分,直到區間的劃分不再改變為止,即+>=+且+>=+為止;
步驟235:分別取k=0,?1,?…,?7,進行步驟步驟232~步驟234,得到分量的8個量化區間;
步驟240:計算區間映射表map[256],即對于x?[xk_down,?xk_up],map()=k;
步驟250:根據各顏色分量的量化區間分布,將四維的圖像顏色取值空間被分割為4096個子空間;
步驟300:調色板生成單元用于根據圖像像素在圖像顏色取值空間分布情況,計算并輸出帶透明度的圖像調色板;具體步驟如下:
步驟310:遍歷圖片,根據步驟100得到的信息,提取圖像各像素顏色信息,根據每個像素的R、G、B、α值,按照map映射表的規則,映射到4096個子空間中,統計得到每個子空間中像素數目,得到像素的顏色子空間分布直方圖;
步驟320:定義指定的調色板長度為K,則將顏色子空間分布直方圖按照其像素數目由大到小排列,取排在前面的K個子空間中像素顏色均值為調色板初值;
步驟330:若K≥256,則取步驟2得到的調色板初值為調色板終值;否則,以步驟200中得到的調色板初值為初始質心,以各子空間的像素顏色均值為量化點進行LBG矢量量化[3],得到的最終的調色板值;
步驟400:圖像顏色量化單元用于量化圖像各像素顏色,輸出圖像各像素索引值;具體步驟如下:
步驟410:遍歷圖片,計算像素點顏色與每個調色板顏色的空間距離;
步驟420:若調色板小于256,直接取距離最小的調色板條目序號作為像素索引值,否則,在直接取距離最小的調色板條目作為像素顏色的基礎上,使用弗洛伊德-斯坦伯格抖動方法量化圖像顏色;
步驟500:圖像輸出單元用于根據步驟300、步驟400輸出的數據,生成并輸出帶透明度的PNG8索引圖,即將調色板的RGB分量寫入PNG8圖像PLET字段,再將調色板的α分量相對應的寫入PNG8圖像tRNS字段,將像素索引值寫入PNG8圖像IDAT字段,再添加PNG8圖像文件的文件頭、文件尾,保存PNG8真彩色索引圖,輸出得到的圖像。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于大連理工大學,未經大連理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210290041.X/1.html,轉載請聲明來源鉆瓜專利網。
- 信息記錄介質、信息記錄方法、信息記錄設備、信息再現方法和信息再現設備
- 信息記錄裝置、信息記錄方法、信息記錄介質、信息復制裝置和信息復制方法
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄裝置、信息再現裝置、信息記錄方法、信息再現方法、信息記錄程序、信息再現程序、以及信息記錄介質
- 信息記錄設備、信息重放設備、信息記錄方法、信息重放方法、以及信息記錄介質
- 信息存儲介質、信息記錄方法、信息重放方法、信息記錄設備、以及信息重放設備
- 信息存儲介質、信息記錄方法、信息回放方法、信息記錄設備和信息回放設備
- 信息記錄介質、信息記錄方法、信息記錄裝置、信息再現方法和信息再現裝置
- 信息終端,信息終端的信息呈現方法和信息呈現程序
- 信息創建、信息發送方法及信息創建、信息發送裝置
- 彩色圖像和單色圖像的圖像處理
- 圖像編碼/圖像解碼方法以及圖像編碼/圖像解碼裝置
- 圖像處理裝置、圖像形成裝置、圖像讀取裝置、圖像處理方法
- 圖像解密方法、圖像加密方法、圖像解密裝置、圖像加密裝置、圖像解密程序以及圖像加密程序
- 圖像解密方法、圖像加密方法、圖像解密裝置、圖像加密裝置、圖像解密程序以及圖像加密程序
- 圖像編碼方法、圖像解碼方法、圖像編碼裝置、圖像解碼裝置、圖像編碼程序以及圖像解碼程序
- 圖像編碼方法、圖像解碼方法、圖像編碼裝置、圖像解碼裝置、圖像編碼程序、以及圖像解碼程序
- 圖像形成設備、圖像形成系統和圖像形成方法
- 圖像編碼裝置、圖像編碼方法、圖像編碼程序、圖像解碼裝置、圖像解碼方法及圖像解碼程序
- 圖像編碼裝置、圖像編碼方法、圖像編碼程序、圖像解碼裝置、圖像解碼方法及圖像解碼程序





