專利名稱:利用逐顏色分裂向調色板圖像提供熵約束顏色分裂的計算機系統的制作方法
技術領域:
本發明涉及圖像數據的漸進編碼。
背景技術:
具有上千或上百萬顏色的圖片可以表示為真彩色圖像,以諸如BMP (位圖)和JPEG 的格式來存儲針對每一個像素的確切顏色。相反,僅包含少量(典型地最多為256)顏色的圖片能夠被更有效地存儲為色圖(colormapped)圖像或調色板(palettized)圖像,像公知的GIF(圖形交換格式)或PNG(便攜式網絡圖形)格式。大部分的網絡圖像具有GIF或 PNG格式。當通過低帶寬通信鏈路瀏覽調色板圖像時,例如通過無線鏈路或撥號鏈路,該調色板圖像的漸進傳輸能夠支持快速瀏覽,因為其使用戶能夠在接收到所有漸進編碼的圖像數據之前觀看該圖像的完整版本(但分辨率低)。然而,即使GIF和PNG均支持交錯格式, 該格式通過對圖像進行多通道編碼并在每個通道中跳過多個像素而漸進地細化圖像分辨率,但是就每個像素的顏色信息漸進地細化為無損失恢復的嚴格意義上來說,交錯的GIF 和PNG不具有漸進格式。Rauschenbach在他的MCQ(移動可視化顏色量化格式)方法(U. Rauschenbach, "Compression of palettized images with progressive coding of the color information", in Proc SPIE Visual)中研究了針對調色板圖像的顏色信息的漸進細化。Communications and Image Processing(VCIP14000), Perth, Australia,2000 年6月,下文稱作[1]。與交錯GIF和PNG格式不同,MCQ的顏色信息的細化是逐比特平面而進行的,并且允許以良好細節對形狀(例如文本)進行早期識別,通常是在對壓縮比特流的小部分進行解碼之后。盡管MCQ支持和分辨率細化形成對照的顏色信息的漸進細化, 然而其僅實現了與GIF或PNG格式可比較的壓縮率。為了提高壓縮率并同時支持調色板圖像的漸進傳輸,Chen 等人(X. Chen,S. Kwong,和 J. Feng,“A new compression scheme for color-quantized images",IEEE Transactions on Circuits and System for Video Technology, Vol. 12,No. 10,pp. 904-908,Oct. 2002,下文稱作[2])提出了一種基于 MCQ 的新的顏色細化方案,而且Orchard和Bouman開創了基于失真的分層分裂顏色量化算法 (Orchard 禾口 Boumari,“Color quantization of images", IEEE Transactions on Signal Processing, Vol. 39,No. 12,pp. 2677-2690, Dec. 1991,下文稱作[3])。與逐比特平面地對顏色信息進行細化的MCQ不同(比特平面的個數與調色板的顏色深度相等),Chen的算法逐顏色地對顏色進行進行細化。針對調色板圖像的無損壓縮,[幻中提出的顏色分裂算法實現了相比于GIF或PNG格式的大約30-40 %的尺寸減小,而且還具有支持漸進傳輸的良好特征。
發明內容
根據本發明的實施例的方面,提供了一種使用數據處理系統對具有被分配給像素集的M個不同顏色的數字化彩色圖像進行漸進編碼的方法,通過把所述M個不同顏色中的每一個分配給所述像素集中相關聯的像素子集而提供所述數字化彩色圖像,所述方法包括(a)通過提供至少一個起始葉節點來初始化樹結構,所述起始葉節點包括來自所述M個不同顏色的顏色集;(b)針對每一個起始葉節點,確定至少一個代表顏色;以及(c)通過如下步驟增大所述樹結構(i)基于相關聯的可實現代價,選擇葉節點η變為與兩個新的葉節點相鏈接的非葉節點η,其中所述相關聯的可實現代價通過如下步驟來確定1)確定由把所述葉節點變為與兩個新的葉節點相鏈接的非葉節點而產生的相關聯的失真改變;2)確定由把所述葉節點變為與兩個新的葉節點相鏈接的非葉節點而產生的相關聯的熵速率增加;以及,幻基于所述相關聯的失真改變以及所述相關聯的熵速率增加,確定所述相關聯的可實現代價;( )通過把η中的每一個顏色分配給所述兩個新的葉節點之一而創建兩個新的葉節點;(iii)針對所述兩個新的葉節點中的每一個,確定代表顏色;以及(iv)對與葉節點η相關聯的索引信息、所述兩個新的葉節點的代表顏色、以及與和所述兩個新的葉節點的兩個代表顏色相對應的數字化彩色圖像的多個像素有關的信息進行編碼。根據本發明的實施例的方面,提供了一種由計算機使用的計算機程序產品,對具有被分配給像素集的M個不同顏色的數字化彩色圖像進行漸進編碼,通過把所述M個不同顏色中的每一個分配給所述像素集中相關聯的像素子集而提供所述數字化彩色圖像,所述計算機程序產品包括記錄介質;以及所述記錄介質上記錄的裝置,用于指揮計算機系統執行如下步驟(a)通過提供至少一個起始葉節點來初始化樹結構,所述起始葉節點包括來自所述M個不同顏色的顏色集;(b)針對每一個起始葉節點,確定至少一個代表顏色;以及(c)通過如下步驟增大所述樹結構(i)基于相關聯的可實現代價,選擇葉節點η變為與兩個新的葉節點相鏈接的非葉節點η,其中所述相關聯的可實現代價通過如下步驟來確定 1)確定由把所述葉節點變為與兩個新的葉節點相鏈接的非葉節點而產生的相關聯的失真改變;幻確定由把所述葉節點變為與兩個新的葉節點相鏈接的非葉節點而產生的相關聯的熵速率增加;以及,幻基于所述相關聯的失真改變以及所述相關聯的熵速率增加,確定所述相關聯的可實現代價;( )通過把η中的每一個顏色分配給所述兩個新的葉節點之一而創建兩個新的葉節點;(iii)針對所述兩個新的葉節點中的每一個,確定代表顏色;以及 (iv)對與葉節點η相關聯的索引信息、所述兩個新的葉節點的代表顏色、以及與和所述兩個新的葉節點的兩個代表顏色相對應的數字化彩色圖像的多個像素有關的信息進行編碼。根據本發明的另一實施例,提供了一種對具有被分配給像素集的M個不同顏色的數字化彩色圖像進行漸進編碼的系統,通過把所述M個不同顏色中的每一個分配給所述像素集中相關聯的像素子集而提供所述數字化彩色圖像,所述系統包括記錄介質;以及包括用于執行如下步驟的處理器的裝置(a)通過提供至少一個起始葉節點來初始化樹結構,所述起始葉節點包括來自所述M個不同顏色的顏色集;(b)針對每一個起始葉節點,確定至少一個代表顏色;以及(c)通過如下步驟增大所述樹結構(i)基于相關聯的可實現代價,選擇葉節點η變為與兩個新的葉節點相鏈接的非葉節點η,其中所述相關聯的可實現代價通過如下步驟來確定1)確定由把所述葉節點變為與兩個新的葉節點相鏈接的非葉節點而產生的相關聯的失真改變;幻確定由把所述葉節點變為與兩個新的葉節點相鏈接的非葉節點而產生的相關聯的熵速率增加;以及,幻基于所述相關聯的失真改變以及所述相關聯的熵速率增加,確定所述相關聯的可實現代價;(ii)通過把η中的每一個顏色分配給所述兩個新的葉節點之一而創建兩個新的葉節點;(iii)針對所述兩個新的葉節點中的每一個,確定代表顏色;以及(iv)對與葉節點η相關聯的索引信息、所述兩個新的葉節點的代表顏色、以及與和所述兩個新的葉節點的兩個代表顏色相對應的數字化彩色圖像的多個像素有關的信息進行編碼。
為了更好地理解這里描述的各個實施例以及更加清楚地展示如何實現這些實施例,僅作為示例來參考示出至少一個典型實施例的附圖,其中圖1在流程圖中示出了根據本發明實施例的方面用于在葉節點之間利用逐顏色分裂對調色板圖像進行熵約束顏色分裂的總算法;圖2在流程圖中示出了根據本發明實施例的另一方面用于在葉節點之間利用逐顏色分裂對調色板圖像進行熵約束顏色分裂的總算法;圖3在流程圖中示出了圖1和2中的方法的初始化子過程;圖4在流程圖中示出了圖1中的方法的子過程的示例,其中葉節點被分裂;圖5在流程圖中示出了圖2中的方法的子過程的示例,其中葉節點被試驗性地分裂;圖6在流程圖中示出了圖2中的方法的子過程,其中葉節點被永久地分裂;圖7在流程圖中示出了圖1中的方法的子過程的變體,用于分裂葉節點;圖8在流程圖中示出了圖1中的方法中分裂葉節點的另一變體;圖9在流程圖中示出了圖1和2中的方法的子過程,其中對新的代表顏色進行漸進編碼;圖10在框圖中示出了根據本發明實施例的計算機系統;圖11在框圖中更加詳細地示出了圖10中的計算機系統的處理器;圖lh-d在圖表中示出了根據本發明實施例的方面對葉節點進行漸進分裂以提供顏色數據的漸進編碼;圖13是移動設備的典型實施例的框圖;圖14是圖13中的移動設備的通信子系統組件的典型實施例的框圖。
具體實施例方式具有上千或上百萬顏色的圖片可以表示為真彩色圖像,以諸如BMP (位圖)和JPEG 的格式來存儲針對每一個像素的確切顏色。相反,僅包含少量(典型地最多為256)顏色的圖片能夠被更有效地存儲為色像或調色板圖像,像公知的GIF(圖形交換格式)或 PNG(便攜式網絡圖形)格式。大部分的網絡圖像具有GIF或PNG格式。當通過低帶寬通信鏈路瀏覽調色板圖像時,例如通過無線鏈路或撥號鏈路,該調色板圖像的漸進傳輸能夠支持快速瀏覽,因為其使用戶能夠在接收到所有漸進編碼的圖像數據之前觀看該圖像的完整版本(但分辨率低)。然而,即使GIF和PNG均支持交錯格式, 該格式通過對圖像進行多通道編碼并在每個通道中跳過多個像素而漸進地細化圖像分辨率,但是就每個像素的顏色信息漸進地細化為無損失恢復的嚴格意義上來說,交錯的GIF 和PNG不具有漸進格式。Rauschenbach在他的MCQ(移動可視化顏色量化格式)方法 (U. Rauschenbach, "Compression of palettized images with progressive coding of the color information,,,in Proc SPIE Visual Communications and Image Processing(VCIP2000), Perth, Australia, June 2000,下文稱作[1])中研究了針對調色板圖像的顏色信息的漸進細化。與交錯GIF和PNG格式不同,MCQ的顏色信息的細化是逐比特平面而進行的,并且允許以良好細節對形狀(例如文本)進行早期識別,通常是在對壓縮比特流的小部分進行解碼之后。盡管MCQ支持和分辨率細化形成對照的顏色信息的漸進細化,然而其僅實現了與GIF或PNG格式可比較的壓縮率。為了提高壓縮率并同時支持調色板圖像的漸進傳輸,Chen 等人(X.Chen,S. Kwong,和 J. Feng,‘‘A new compression scheme for color-quantized images",IEEE Transactions on Circuits and System for Video Technology, Vol. 12,No. 10,pp. 904-908,Oct. 2002,下文稱作[2])提出了一種基于 MCQ 的新的顏色細化方案,而且Orchard和Bouman開創了基于失真的分層分裂顏色量化算法 (Orchard 禾口 Boumari,“Color quantization of images", IEEE Transactions on Signal Processing, Vol. 39,No. 12,pp. 2677-2690, Dec. 1991,下文稱作[3])。與逐比特平面地對顏色信息進行細化的MCQ不同(比特平面的個數與調色板的顏色深度相等),Chen的算法逐顏色地對顏色進行進行細化。針對調色板圖像的無損壓縮,[幻中提出的顏色分裂算法實現了相比于GIF或PNG格式的大約30-40%的尺寸減小,而且還具有支持漸進傳輸的良好特征。[2]、[3]中的顏色分裂算法僅基于失真標準來分裂代表顏色,而且完全不考慮速率約束。另一方面,調色板圖像中的每一個顏色是3D矢量。顏色量化或顏色分裂實質上是矢量量化(VQ)問題(Y,Linde,A,Buzo,fPR.Gray,“An algorithm for vector quantizer design", IEEE Trans. Communications, Vol. C0M-28, No. 1, pp. 84-95, Jan. 1980, TjC^ 作W])。由Chou等人提出的熵約束矢量量化(ECVQ)或有條件熵約束矢量量化(CECVQ) (P· Chou,T· Lookabaugh,禾口 R· Gray,"Entropy-constrained vector quantization,,,IEEE Trans. Acous.,Speech,禾口 Signal Processing,Vol. 37,No. 1,pp. 31-42,Jan. 1989,下文禾爾作[5],以及 P. Chou 禾口 T· Lookabaugh,“Conditional entropy constrained vector quantization”,Proceeding ICASSP 1990,pp. 197-200,Apr. 1990,下文稱作[6])可以將失真和熵速率(entropy rate)進行折衷。為了減小常規矢量量化算法的復雜度并使其在實際應用中可行,已經幵發出樹結構矢量量化(TSVQ)算法(A.Buzo,A. Gray, Jr., R. Gray 禾口 J. Markel,“Speech coding based upon vector quantization”,IEEE Trans. Acous.,Speech,and Signal Processing,Vol. ASSP-28, No. 5,pp. 562-574,Oct. 1980,下文禾爾作[7],Ε· Riskin 禾口 R. Gray,“A greedy tree growing algorithm for the design of variable rate vector quantizers", IEEE Transactions on Signal Processing, Vol. 39,No. 11,pp. 2500-2507,Nov. 1991,下文稱作[8],以及 Μ. Mahesh,W. Pearlman 和L. Lu, "Variable-rate tree-structured vector quantizers,,,IEEE Trans. Information Theory,Vol. 41,No. 4,pp. 917-930,Jul. 1995,下文稱作[9])。在該方法中,把 ECVQ/CECVQ 和TSVQ的理念應用于基于二叉樹的顏色分裂情景,并開發出針對調色板圖像的四種熵約束顏色分裂算法,其不僅導致漸進傳輸方案,而且在R-D (速率-失真)意義上能夠比[2] 中的方案好得多。本文檔的余下部分組織如下。文本部分首先描述無條件熵約束顏色分裂問題,然后在實施例中提供了分別使用固定的拉格朗日乘數和動態確定的拉格朗日乘數的兩種分裂算法。在部分III中,根據另一實施例,描述了使用固定的拉格朗日乘數的逐像素有條件熵約束顏色分裂算法。在部分IV中,根據另一實施例示出了逐顏色有條件熵約束顏色分裂算法,其增加了如下約束原始圖像中具有相同顏色值的所有像素能夠在分裂過程期間通過相同的代表顏色值進行更新。II.無條件熵約束顏色分裂[2]和[3]中使用二叉樹結構(相比于線性結構,二叉樹結構能夠保持顏色索引之間的更多相關)來表示調色板圖像的顏色的關系,以便劃分色圖,或等效地,在編碼過程期間漸進地分裂代表顏色。假定調色板圖像的色圖為C= {c0, C1,…,Cm_J,其中M是原始調色板圖像中不同顏色的個數。每一個顏色矢量(或被稱作顏色條目)Ci對應于顏色值 O^gybi)。把f (Ci)定義為Ci在給定圖像中出現的次數。目標是設計基于二叉樹的顏色分裂算法,該算法能夠最小化受到無條件熵約束的失真。該顏色分裂算法劃分色圖C或漸進地分裂C的代表顏色,直到無損地重構原始調色板圖像或達到用戶指定的目標顏色數。 該劃分過程產生了動態的二叉樹,其每一個葉節點η對應于C的子集Sn,從而C = U nSn且夂門& = 0,其中m興n,0彡m,η < N且N是動態二叉樹的葉節點總數。把qn表示為&的代表色,其被定義為&的質心。這樣,動態二叉樹連同qn(0 ^n <N)給出了樹結構的矢量量化器,使得隨著動態二叉樹增大,當前的矢量量化器完全嵌入后續的高速率矢量量化器。 關鍵的問題是怎樣增大動態二叉樹。從根節點(表示原始色圖C)開始,通過每次分裂期望的葉節點而增大動態二叉樹。進行選擇和分裂期望的葉節點的過程,以最小化拉格朗日代價J = D+λ · R (1)其中,D和R分別是在把一個葉節點分裂為兩個新的葉節點后與新創建的動態二叉樹相對應的重構的調色板圖像的失真和熵。可針對整個分裂過程中被分裂的或固定的每一個葉節點而動態地確定拉格朗日乘數λ (表示針對失真的速率折衷)。在這部分中考慮這兩種情況。設Tn是具有N個葉節點的二叉樹,而ΤΝ+1是通過把Tn的葉節點η分裂為兩個子節點η’和η”而從Tn中產生的二叉樹。設d(Ci,qn)是當顏色條目Ci = (r^g^b,) e C被代
表顏色扎二民)所替代時的顏色量化誤差。具體地,Cf(Cl^n) = ICl -qnj2=(r,-r )2+(gl -gj2+^ -bnf(2)這樣,把葉節點η分裂為η’和η”所引起的失真減小是
權利要求
1.一種對具有被分配給像素集的M個不同顏色的數字化彩色圖像進行漸進編碼的計算機系統(1010),所述系統包括a)用于存儲彩色圖像數據的存儲器(1012);b)用于顯示數字彩色圖像的監視器(1014);c)用于圖像處理并用于提供基于失真和熵速率兩者的顏色數據漸進編碼的 CPU (1016),所述 CPU 包括i)樹管理模塊(1122),用于把至少一個起始葉節點之間的顏色進行劃分而初始化樹結構; 確定每個起始葉節點的至少一個代表顏色;基于在將葉節點η變為與兩個新的葉節點相鏈接的非葉節點η而產生的所確定的失真改變和所確定的熵速率增加,選擇葉節點η變為與兩個新的葉節點相鏈接的非葉節點τι,從而增大樹結構;通過把葉節點η中的每一個顏色分配給所述兩個新的葉節點之一而創建所述兩個新的葉節點;以及針對所述兩個新的葉節點中的每一個,確定代表顏色; )失真量化器(11 ),用于確定由把所述葉節點η變為與兩個新的葉節點相鏈接的非葉節點η而產生的相關聯的失真改變;以及iii)熵速率量化器(1126),用于確定由把所述葉節點η變為與兩個新的葉節點相鏈接的非葉節點η而產生的相關聯的熵速率增加;其中所述樹管理模塊與失真量化器和熵速率量化器兩者相鏈接;以及d)編碼器(1018),用于對與葉節點η相關聯的索引信息、所述兩個新的葉節點的代表顏色、以及與和所述兩個新的葉節點的兩個代表顏色相對應的數字化彩色圖像的多個像素有關的信息進行編碼。
2.根據權利要求1所述的計算機系統,其中,所述至少一個起始葉節點是所述樹結構的根節點,而且所述根節點的顏色集包括所有M個不同顏色。
3.根據權利要求1所述的計算機系統,其中,所述至少一個起始葉節點包括包含了所述M個不同顏色的多個不相交子集的多個起始葉節點,其中,顏色的每一個不相交子集包括在所述多個起始節點中唯一一個起始葉節點中。
4.根據權利要求1所述的計算機系統,其中,所述樹管理模塊還能夠確定以下至少一項(A)相關聯的增加的熵速率,所述相關聯的增加的熵速率通過把葉節點η中的每一個顏色分配給兩個新的葉節點之一,將葉節點η變為與兩個新的葉節點相鏈接的非葉節點η而產生,以及⑶葉節點的新的總數,所述葉節點的新的總數由將葉節點η變為與兩個新的葉節點相鏈接的非葉節點η而產生;如果相關聯的增加的熵速率小于目標熵速率,則重復增大所述樹結構;以及如果所述葉節點的新的總數小于葉節點的目標個數,則重復增大所述樹結構。
5.根據權利要求1所述的計算機系統,其中,所述樹管理模塊通過針對葉節點中的每一個顏色,確定數字化彩色圖像中具有該顏色的相關聯的像素子集中的像素的個數;以及基于葉節點中的所有顏色以及與葉節點中每一個顏色相關聯的像素子集中的像素個數,確定葉節點中所有顏色的質心,由此來確定兩個新的葉節點中的每一個的代表顏色。
6.根據權利要求1所述的計算機系統,其中,所述樹管理模塊通過針對兩個新的葉節點中的每一個,確定涉及到把顏色分配給新的葉節點的熵速率和失真的相關聯的有偏失真測量,并把η中的顏色分配給具有較低的相關聯的有偏失真測量的新的葉節點,從而把葉節點η中的每一個顏色分配給兩個新的葉節點之一,由此來創建兩個新的葉節點。
7.根據權利要求6所述的計算機系統,其中,所述樹管理模塊針對兩個新的葉節點中的每一個,通過確定由向新的葉節點分配顏色而產生的相關聯的失真改變;確定由向新的葉節點分配顏色而產生的相關聯的熵速率增加;以及基于相關聯的失真改變和相關聯的熵速率增加來計算相關聯的有偏失真測量,由此來確定相關聯的有偏失真測量。
8.根據權利要求1所述的計算機系統,其中,所述樹管理模塊通過針對每一個葉節點,確定把該葉節點變為與兩個新的葉節點相鏈接的非葉節點的相關聯的可實現代價;以及基于針對該葉節點的相關聯的可實現代價與針對至少一個其他葉節點的相關聯的可實現代價的比較來選擇葉節點,由此選擇葉節點η變為與兩個新的葉節點相鏈接的非葉節點 η。
9.根據權利要求8所述的計算機系統,其中,所述樹管理模塊通過針對每一個葉節點,確定針對所選葉節點的相關聯的可實現代價是否小于針對其他葉節點中的每一個的相關聯的可實現代價,由此選擇葉節點η變為與兩個新的葉節點相鏈接的非葉節點η。
10.根據權利要求9所述的計算機系統,其中,所述樹管理模塊通過針對每一個葉節點,基于把相關聯的失真改變與通過將相關聯的熵速率增加和乘數相乘所獲得的乘積相加,來確定相關聯的可實現代價,由此選擇葉節點η變為與兩個新的葉節點相鏈接的非葉節點η。
11.根據權利要求10所述的計算機系統,其中,所述乘數是固定的拉格朗日乘數。
12.根據權利要求9所述的計算機系統,其中,所述樹管理模塊通過針對每一個葉節點,確定由把葉節點變為與兩個新的葉節點相鏈接的非葉節點而產生的相關聯的熵速率增加和相關聯的失真減小之間的相關聯的可實現折衷,以及基于相關聯的可實現折衷、相關聯的熵速率增加以及相關聯的失真減小,從而確定相關聯的可實現代價,由此選擇葉節點η變為與兩個新的葉節點相鏈接的非葉節點η。
13.根據權利要求7所述的計算機系統,其中,針對兩個新的葉節點中的每一個,所述樹管理模塊通過針對該顏色的像素子集中的每一個像素,確定相鄰像素集,其中相鄰像素集中的每一個像素與該像素鄰接;基于所述相鄰像素集,確定針對該像素的熵速率增加; 以及基于針對該顏色的像素子集中的所有像素的熵速率增加,確定向新的葉節點分配顏色而產生的相關聯的熵速率增加。
全文摘要
提供了一種利用逐顏色分裂向調色板圖像提供熵約束顏色分裂的計算機系統,對具有被分配給像素集的M個不同顏色的數字化彩色圖像進行漸進編碼,該計算機系統包括用于存儲彩色圖像數據的存儲器;用于顯示數字彩色圖像的監視器;用于圖像處理并用于提供基于失真和熵速率兩者的顏色數據漸進編碼的CPU包括樹管理模塊用于初始化樹結構;確定每一個起始葉節點的至少一個代表顏色;以及通過基于相關聯的可實現代價,選擇葉節點n成為與兩個新的葉節點相鏈接的非葉節點n;通過把n中的每一個像素分配給兩個新的葉節點之一而創建兩個新的葉節點;確定兩個新的葉節點中每一個的代表顏色;以及對與葉節點n相關聯的索引信息進行編碼,從而增大所述樹結構。
文檔編號H04N7/26GK102196266SQ20111005431
公開日2011年9月21日 申請日期2006年9月25日 優先權日2005年9月23日
發明者楊恩輝, 王隆基 申請人:噴流數據有限公司