CN101258526A - 基于具有修改亮度的两个色调的纹理压缩 - Google Patents

基于具有修改亮度的两个色调的纹理压缩 Download PDF

Info

Publication number
CN101258526A
CN101258526A CN200680030057.XA CN200680030057A CN101258526A CN 101258526 A CN101258526 A CN 101258526A CN 200680030057 A CN200680030057 A CN 200680030057A CN 101258526 A CN101258526 A CN 101258526A
Authority
CN
China
Prior art keywords
color
symbol
essential colour
code word
revise
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200680030057.XA
Other languages
English (en)
Other versions
CN101258526B (zh
Inventor
J·斯特龙
M·彼得森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN101258526A publication Critical patent/CN101258526A/zh
Application granted granted Critical
Publication of CN101258526B publication Critical patent/CN101258526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Output Control And Ontrol Of Special Type Engine (AREA)

Abstract

在图像编码方案中,输入图像被分解为其中包含多个图像元素(610)的图像块(600)。然后,图像块(600)被编码为编码块表示(700)。编码块(700)包括第一颜色码字(710)、第二颜色码字(720)、颜色修改符码字(730)和颜色指数序列(740)。颜色码字(710,720)是位于色彩空间中的第一行(40)的第一和第二基本色(10,20)的表示。修改符码字(730)是用于修改沿第二行(12)的第一基本色(10)以便得到沿行(12)的多个颜色的表示(30,32,34,35,36,38)的至少一个颜色修改符的表示。与第一行(40)相比,第二行(12)具有不同的方向(15)。指数序列(740)包含关联从以下表示中选取的颜色表示的颜色指数:i)第二行(12)上的表示(30,32,34,35,36,38);以及ii)基于第二基本色(20)的至少一个表示(31,33)。

Description

基于具有修改亮度的两个色调的纹理压缩
技术领域
一般来说,本发明涉及图像处理,更具体来说,涉及用于对图像编码和解码的方法及***。
背景技术
三维图形的实时渲染在移动终端上具有许多吸引人的应用,包括游戏、人机界面、消息传递和移动商务。由于三维渲染是计算昂贵的任务,所以往往必须构建专用硬件来实现充分的性能。因此,降低这种硬件体系结构的复杂度和带宽使用的创新方法极为重要。
特别是对于移动电话的主要瓶颈是存储器带宽。用于减少存储器带宽使用的一种常见技术是纹理压缩。纹理贴图表示将图像(在这里称作纹理)“粘合”到渲染三角形上的过程。如果纹理在存储器中被压缩,然后在访问期间解压缩,则可避免大量带宽使用情况。
目前有若干纹理压缩方案可用,最实用的一些方案受到专利保护。
S3TC(又称作DXTC)方案最为普遍[1]。它对于每个4×4像素使用64位,并且速率为每像素4位(bpp)。在解压缩期间,使用两个基本色(以16位存储),以及在它们之间(在红、绿、蓝即RGB空间中),内插另外两种颜色。这提供四种颜色的调色板。4×4块中的每个像素则存储对本地调色板的2位索引。在另外两种颜色的内插期间,执行1/3和2/3的乘法,这在硬件方面不是理想的。另外,采用S3TC的压缩比较费时。
近来,
Figure A20068003005700181
和Akenine-
Figure A20068003005700182
[2]提供了一种称作PACKMAN的纹理压缩方案。它将2×4像素块编码为32位。每个块只有一种颜色是可能的,但在各像素中,这种颜色的强度可经过修改。PACKMAN的主要目标是允许最小解压缩复杂度,并且实现了这个目标。但是,在峰值信噪比(PSNR)方面,质量比S3TC大约差2.5dB。质量方面的主要问题是非常大量地量化的事实。这产生块瑕疵。
为了缓解这种情况,
Figure A20068003005700191
和Akenine-
Figure A20068003005700192
提出了PACKMAN的改进形式,称作iPACKMAN或Ericsson纹理压缩(ETC)[3,4]。主要技巧是对两个2×4块共同编码,这允许颜色的差分编码。这使得能够具有对颜色的更精细量化,它引起3dB的质量提高。这种质量提高是以某种硬件复杂度的代价得到的,但iPACKMAN/ETC在复杂度方面仍然很可能低于S3TC。
即使iPACKMAN/ETC提供了PSNR方面的高质量,但仍然希望提供一种能够单独使用或者作为改进iPACKMAN/ETC方案的补充所使用的图像处理。具体来说,图像处理应当适用于管理iPACKMAN/ETC对其产生观看者清楚可见瑕疵的那些图像。
发明内容
本发明克服了现有技术装置的这些及其它缺点。
本发明的一般目的是提供图像编码和图像解码方法及***。
本发明的另一个目的是提供适用于处理包含两个不同行的图像块的这类方法和***。
如所附专利权利要求书所定义的本发明满足这些目的及其它目的。
简言之,本发明涉及对图像进行编码(压缩)以及对编码(压缩)图像进行解码(解压缩)的形式的图像处理。
根据本发明,要编码的图像被分解为包含多个图像元素(像素、纹理元素即图素或体积元素即体素)的多个图像块。图像块优选地包括十六个图像元素,并具有其中的m=4-n且n=0,1,2,3,4的2m×2n图像元素的大小或者其中的m、n、p=0,1,2,3,4且附带条件为m、n、p不是全部为零的2m×2n2p图像元素的大小。块中的各图像元素的特征由一种颜色、如24位RGB(红、绿、蓝)色来表示。然后对图像块进行编码。
在这种有损块编码中,作为第一基本色的表示来确定第一颜色码字。还作为第二基本色的表示来确定第二颜色码字。第一和第二基本色位于色彩空间中具有第一方向的第一行。
提供颜色修改符码字,作为适用于修改沿色彩空间中具有第二方向的第二行的第一基本色以便获得沿这个第二行的多个颜色表示的至少一个颜色修改符的表示。第二方向不同于第一方向。
优选地对图像块中的每个图像元素选择颜色指数。颜色指数与从以下表示中选取的颜色表示关联:i)沿第二行的多个颜色表示;以及ii)基于第二基本色的至少一个颜色表示。
这种图像压缩特别适合于处理具有两个不同行或色度、并且其中图像元素的原色分布于这两个色度值附近的图像块。
在解码期间,应当被解码的编码图像块被识别并且从例如存储位置中取出。一旦识别了正确的编码图像块,则根据两个颜色码字来确定第一和第二基本色。颜色修改符码字用于提供至少一个颜色修改符,该颜色修改符用于修改沿第二行的第一基本色,以便产生沿这个第二行的多个颜色表示。颜色指数序列则用于对将要解码的每个图像元素从以下表示中选取颜色表示:i)沿第二行的多个颜色表示;以及ii)基于第二基本色的至少一个颜色表示。
本发明涉及如独立权利要求所定义的、用于对图像和图像块进行编码/压缩以及解码/解压缩的方法及***、包括这样一种***的用户终端以及图像块的信号表示。
附图说明
通过以下参照附图进行的描述,可以透彻地理解本发明以及其它目的和优点,附图包括:
图1是流程图,说明根据本发明的图像编码方法和图像块压缩方法;
图2说明根据本发明的图像块的一个实施例;
图3说明根据本发明的图像块的编码表示的一个实施例;
图4A是简图,说明根据本发明、可有利地进行压缩的图像块的图像元素的颜色分布;
图4B是简图,说明根据本发明生成并且适合于表示图4A所示的图像元素的颜色的颜色表示;
图5A是简图,说明根据本发明、可有利地进行压缩的另一个图像块的图像元素的颜色分布;
图5B是简图,说明根据本发明生成并且适合于表示图5A所示的图像元素的颜色的颜色表示;
图6是流程图,更详细地说明图1的提供步骤的一个实施例;
图7是流程图,对于本发明的多模方面更详细地说明图1的提供和选择步骤的一个实施例;
图8说明根据本发明的图像块的编码表示的另一个实施例;
图9是简图,说明根据本发明的一个实施例可得到的颜色表示;
图10是简图,说明根据本发明的另一个实施例可得到的颜色表示;
图11是简图,说明根据本发明的又一个实施例可得到的颜色表示;
图12是简图,说明根据本发明的又一个实施例可得到的颜色表示;
图13是流程图,对于本发明的另一个多模方面更详细地说明图1的提供和选择步骤的一个实施例;
图14A至14D说明根据本发明的多模方面的图像块的编码表示的实施例;
图15示意说明在用于确定图像块的压缩表示的径向压缩中有用的不同颜色(″frequent colors″)的分布;
图16是流程图,说明根据本发明的图像解码方法和块解压缩方法;
图17是流程图,更详细地说明图16的生成步骤的一个实施例;
图18是流程图,根据本发明的多模方面更详细地说明图16的生成步骤的一个实施例;
图19是流程图,根据本发明的另一个多模方面更详细地说明图16的生成步骤的一个实施例;
图20示意说明具有根据本发明的图像编码器和解码器的用户终端的一个实例;
图21是框图,示意说明根据本发明的图像编码器的一个实施例;
图22是框图,示意说明根据本发明的块编码器的一个实施例;
图23是框图,示意说明根据本发明的块编码器的另一个实施例;
图24是框图,示意说明根据本发明的图像解码器的一个实施例;
图25是框图,示意说明根据本发明的块解码器的一个实施例;
图26是硬件框图,示意说明根据本发明的块解码器的一个实施例;以及
图27是根据本发明进行压缩的图像与按照现有技术S3TC和iPACKMAN方案进行压缩的对应图像的比较。
具体实施方式
在所有附图中,相同的参考标号将用于对应或相似的元件。
本发明涉及图像和图形处理,具体来说,涉及对图像和图像块进行编码或压缩以及对编码(压缩)图像和图像块进行解码或解压缩。
一般来说,根据本发明,在图像编码期间,图像被分解或分为多个图像块。每个这种图像块则包括其中还具有某种颜色的多个图像元素。对图像块进行编码或压缩以产生图像的编码/压缩表示。
当编码图像或图形图元随后将被渲染、例如在屏幕上显示时,编码图像块的相干图像元素被识别和解码。这些已解码图像元素则用来产生原始图像或图形图元的解码表示。
本发明极适合与三维(3D)图形配合使用,例如游戏、3D地图和画面、3D消息,例如动画消息、屏幕保护程序、人机界面(MMI)等,但是不限于此。因此,本发明还可用于对其它类型的图像或图形进行编码,例如一维(1D)、二维(2D)或3D图像。
在3D图形处理中,通常创建若干三角形,并确定这些三角形的角的对应屏幕坐标。图像(或图像的一部分)或者所谓的纹理被映射(“粘合”)到每个三角形上。但是,在纹理的存储的所使用存储器方面以及当从存储器取纹理时在存储器存取期间在存储器带宽方面,对于图形***,纹理的管理是高成本的。特别对于具有有限存储容量和带宽的瘦客户机、如移动单元和电话,这是一个问题。因此,往往采用纹理或图像编码方案。在这样一种方案中,纹理通常被分解或分为包含多个图素的多个图像块。然后,图像块被编码并存储在存储器中。注意,编码图像块(图像块的编码形式)的大小比图像块的未编码形式的对应大小更小。
在本发明中,表达“图像元素”表示图像块中的元素或者图像块的编码表示。这种图像块又对应于图像或纹理的一部分。因此,根据本发明,图像元素可能是(1D、2D、3D)纹理的图素(纹理元素)、(1D或2D)图像的像素或者3D图像的体素(体积元素)。一般来说,图像元素的特征由某些图像元素属性、如颜色值来表现。此外,以下的术语“图像”用来表示可通过本发明进行编码和解码的任何1D、2D或3D图像或纹理,其中包括但不限于照片、游戏类型纹理、文本、制图、高动态范围图像和纹理等。
本发明提供一种图像处理,它特别适合于对每个图像块具有两个不同色度或色调的图像和图像块进行压缩及解压缩。在一个优选实现中,本发明的图像处理可用作包括一种缺省模式和至少一种辅助模式的图像处理方案的辅助模式。在这样一种情况中,本发明的图像处理可用于处理具有两个不同色调的那些图像块,而缺省模式或另一种辅助模式则用于具有其它颜色分布和图案的图像块。
压缩
图1说明根据本发明对图像进行编码的(有损)方法。在第一步骤S1,图像被分解或分为多个图像块。每个这种图像块包括多个、即至少两个图像元素。在本发明的一个优选实施例中,图像块包括十六个图像元素(像素、图素或体素),并且具有2m×2n个图像元素的大小,其中,m=4-n且n=0,1,2,3,4。更优选地,m和n均为2。还可能的是能够采用大小为2m×2n或2m×2n×2p个图像元素的图像块,其中,m、n、p为零或正整数,其中具有并非所有m、n、p可同时为零的附带条件。图2示意说明根据本发明、具有十六个图像元素610的图像块600的一个实例。在本发明的一个备选实施例中,图像被分解为优选地具有2×4或4×2个图像元素的多个图像子块。在这样一种情况中,两个这类子块可在压缩期间共同被处理,从而形成如图2所示的4×4块600。回到图1,整个图像块优选地在步骤S1中分解为(非重叠)图像块。但是,在一些应用中,只有图像的一部分被编码,因而只有这个部分才被分解为图像块。
以下步骤S2和S4执行图像块的编码或压缩。首先,在步骤S2,确定第一和第二颜色码字。第一颜色码字是第一基本色的表示,以及第二颜色码字同样地是第二基本色的表示。这两个基本色位于色彩空间中的第一行,其中第一行具有第一方向。
在一个优选实施例中,待压缩块中的图像元素的颜色为RGB(红、绿、蓝)色。在这样一种情况中,两个基本色优选地也是两个RGB色,因而步骤S2中确定的两个颜色码字表示RGB色彩空间中的两个颜色点。但是,本发明还可用于图像和图形处理及管理中常用的其它任何专有色彩空间,包括YUV空间和YcrCb空间。颜色码字优选地采用与图像相同的色彩格式(空间)。但是,在一些情况中,可能有效的是,将图像转换为不同的颜色格式,即,在第一色彩空间中具有颜色码字以及在第二个不同的色彩空间中具有原始图像。
在本发明的一个优选实现中,块中的图像元素的原色包括三个颜色成分,如红、绿、蓝色。在另一个优选实现中,这些原色采用格式RGB888,意味着每个颜色成分耗用8位,以及颜色成分可具有0至255区间中的值。相应地,第一和第二基本色则优选地采取RGB888的格式。在备选实施例中,原色成分表示为浮点或半浮点。
第一和第二颜色码字通常包括多个颜色成分,优选地包括与图像元素的原色、如RGB相同的颜色成分。但是,与原色相比,颜色码字优选地采取量化形式、如RGBXYZ,其中X、Y、Z的至少一个小于8。例如,两个颜色码字可采取RGB555、RGB554或RGB444的格式。这意味着,第一和第二颜色码字则可分别看作是第一和第二基本色的量化表示。在解压缩期间,采取格式RGB888的基本色值可通过扩展或扩充颜色码字来获得,下文中进一步描述。
在下一个步骤S3,提供颜色修改符码字。这个修改符码字是在图像块解压缩期间适用于修改沿色彩空间中的第二行的第一颜色码字所表示的第一基本色的至少一个颜色修改符的表示。这个第二行具有第二方向,并且第二方向不同于第一方向。换言之,第一和第二行是色彩空间中的两个独立行,并且另外还是色彩空间中的两个非平行行。这意味着,如果两行相交,则它们以最小角度α相交,其中0°<α≤90°。
通过采用步骤S3提供的修改符码字所表示的至少一个颜色修改符修改沿第二行的第一基本色,获得沿第二行的多个颜色表示或绘画颜色。与以上论述相对应,如果块中的图像元素的原色、优选地是第一和第二基本色为RGB色,则可得到的多个颜色表示优选地也是RGB色。
在下一个步骤s,对图像块中的当前图像元素选择颜色指数。这个颜色指数与从包含以下表示的颜色表示集中选取的颜色表示关联:i)通过沿第二行采用至少一个颜色修改符来修改第一基本色可得到的多个颜色表示;以及ii)基于第二基本色的至少一个颜色表示。因此,在这个步骤S4,颜色表示对于块中的图像元素来选取,并用作那个图像元素的“真实”原色的表示。根据本发明,因此,用于图像元素的颜色表示可从自第一基本色可得到(并且存在于第二行)的颜色表示以及基于第二基本色的一个或多个颜色表示中选取。这意味着,要从中选取的可用颜色表示可看作是分为两个集合。第一集合包含从第一基本色可得到的颜色表示,并且存在于第二行。第二集合则包含从第二基本色可得到的颜色表示。注意,第一集合实际上可包括作为可用颜色表示的第一基本色,和/或第二集合可包括作为可用颜色表示的第二基本色。
步骤S4优选地对于图像块中的所有图像元素重复进行(由线条L1示意表示)。步骤S2至S4的编码的结果是编码图像块,或者更准确地说是图像块的编码(压缩)表示。这种编码块表示700如图3所示。表示700(编码图像块)包括第一颜色码字710、第二颜色码字720、颜色修改符码字730和颜色指数的序列或位图730(对于块中的每个图像元素优选地为一个颜色指数)。注意,编码图像块700的第一颜色码字710、第二颜色码字720、颜色修改符码字730和颜色指数序列740的相互顺序可能与图中所示不同。
回到图1,步骤S2到S4优选地对于步骤S1的分解期间所提供的所有图像块重复进行(由线条L2示意表示)。结果则是编码图像块的序列或文件。所得编码图像块(图像块的编码表示)可在文件中从左到右以及从上到下以它们在步骤S1的块分解中被分解的相同顺序进行排序。然后,该方法结束。
编码图像则可提供给存储器以便在其中存储,直到图像的后续渲染、如显示为止。此外,编码图像可作为编码块表示的信号提供给发射器,以便(无线或有线)传送给另一个单元。
图4A是简图,说明由RGB空间的RB平面所表示、以便简化附图的RGB空间的一部分。在这个简图中,十六个颜色点标记为灰色或黑色填充圆圈。这些颜色点表示根据本发明有利地压缩的图像块的原色。如前面所述,本发明特别适合于处理(压缩和解压缩)图像块,其中所包含图像元素的原色一般具有两个不同色调或色度。例如,如果原色可分组为如图4A所示的两个颜色组2、4,则发生这种情况。这样一种颜色组2、4中的两个颜色点的颜色在色彩空间中比较接近,而属于不同组2、4的两个颜色点的颜色更为远离。
图4B是与图4A中的RGB空间的相同部分的对应简图,并说明本发明可如何用于表示图4A中的两个颜色组的十六个原色。根据本发明,第一颜色码字被确定为可用于表示第一颜色组2的第一基本色10的表示。相应地,第二颜色码字被确定为可用于表示第二颜色组4的第二基本色20的表示。图中很明显,第一基本色10和第二基本色20存在于色彩空间中具有第一方向45的第一行40。在图4B中,这个方向45非限制性地采用从第二基本色20指向第一基本色10的向量45来表示。但是,这应当只是看作说明性实例,并且方向45实际上可能与图中所示相反,即具有从第一基本色10指向第二基本色20的向量。
在本发明的这个实施例中,颜色修改符码字是以下颜色修改符的表示:i)适用于修改沿色彩空间中具有第二方向15的第二行12的第一基本色10的至少一个颜色修改符;以及ii)适用于修改沿色彩空间中具有第三方向25的第三行22的第二基本色20的至少一个颜色修改符。
沿第二行12对第一基本色10的修改产生沿第二行12的多个、图中为两个颜色表示30、32。对应的,沿第三行22对第二基本色20的修改产生沿第三行22的多个、图中为两个颜色表示31、33。在一个优选实施例中,第二行12(第三行22)在第一基本色10(第二基本色20)位于第一行40的点上与第一行40相交。这又意味着,第一基本色10除了第一行40之外还优选地位于第二行12,以及第二基本色20在这个实施例中位于第一行40以及第三行22。从图中清楚看到,第三行22不同于第二行12,但在色彩空间中具有与第一行12相同的方向25。因此,第三行22和第二行12可能是平行的。
第二行12上的两个颜色表示30、32优选地位于这一行的第一基本色10的任一侧,以及第三行22上的两个表示31、33优选地相应位于第三行22的第二基本色20的任一侧。
因此,在这个说明性实例中,四个颜色表示30、31、32、33可用于图像元素的十六个原色的表示。在一种典型的实际情况中,通常对具有存在于图4A的第一组2的颜色的图像元素分配与存在于第二行12并从第一基本色10可导出的颜色表示30、32的任一个关联的颜色指数。相应地,通常对具有图4A的第二组4的颜色的块中的图像元素分配与第三行22上的并从第二基本色20可导出的颜色表示31或33关联的颜色指数。因此,两个颜色表示30、32是第一颜色组2中的颜色点的良好近似,但不是存在于第二颜色组4的颜色点的良好近似。但是,对于后一种情况,两个颜色表示31、33是良好近似。
这意味着,如图4A所示具有两个不同色调的图像块可有利地按照本发明来处理。在图4B中看到,颜色表示30、31、32、33之间的行12、22以及两个基本色10、20之间的行40共同形成H。因此,本发明的这个实施例在本文中表示H图案或H模式。
图5A是RGB空间的RB平面部分对应的简图。与图4A相比,第一颜色组6包括更多颜色点,并且这些颜色点分布在延长的椭圆集合6中。
但是,第二颜色组8的颜色点分布在颜色点附近并与其接近。在这种情况中,如上所述修改第一基本色以便得到两个颜色表示的步骤通常是第一颜色组6的颜色的适当近似。但是,将这样一种过程也应用于第二基本色以便得到两个颜色表示的步骤通常是浪费的,因为第二颜色组8的颜色可以仅用单个颜色表示便可适当表示。
但是,本发明还可用于管理具有如图5A所示的颜色分布的图像块,因为这个块也具有两个不同的色调。
根据本发明的这个实施例的这样一种颜色近似和表示的结果如图5B所示。与以上所述相似,第一颜色码字被确定为第一基本色10的表示,基本色10通常存在于或接近色彩空间的第一颜色组6。相应地,第二颜色码字被确定为通常位于或接近第二颜色组8的第二基本色20的表示。两个基本色10、20位于色彩空间中具有第一方向45的第一行40。
在这个实施例中,颜色修改符码字是适用于修改沿具有与第一方向不同的第二方向15的第二行12的第一基本色10的至少一个颜色修改符的表示。这种颜色修改产生位于第二行12上的三个颜色表示30、32、34。这些颜色表示中的第一个34实际上是第一基本色10。这意味着,对于这个表示,颜色修改提供与输入(第一基本色10)相同的输出。另外两个颜色表示30、32优选地位于第二行12的第一颜色表示34(第一基本色10)的任一侧。这意味着,这些颜色表示30、32、34可用作第一颜色组6的图像元素颜色的近似。
在这个实施例中,单个颜色表示31从第二基本色20导出,优选地等于第二基本色20。因此,第二颜色组8的颜色则通常选择与这个颜色表示31关联的颜色指数。
与图4A和图4B表示的情况相比,通过在第二基本色附近提供更少的颜色表示为代价,在存在大部分图像元素颜色的颜色空间的区域中提供更多颜色表示。
在图5B中看到,颜色表示30、32之间的行12以及两个基本色10、20之间的行40共同形成T。因此,本发明的这个实施例在本文中表示T图案或T模式。
在本发明的一个实施例中,颜色修改符码字是(在解码期间)用于修改图像块中的图像元素的颜色的至少一个颜色修改符的集合的表示。在一个优选实现中,颜色修改符用于修改图像块中的图像元素的亮度或强度。
在本发明的这个实施例中,颜色修改符码字可能是允许标识颜色修改符集的表索引。这个索引则可标识或指向包含若干不同的颜色修改符集的表或码本中的集合。每个集合包括一个或多个颜色修改符值,优选地包含一个或两个修改符值。
可通过以随机值开始,然后采用本领域的技术人员已知的诸如LBG算法(Linde、Buzo和Gray)[5]的形式,模拟退火和坐标搜索之类的多个不同优化方案及算法对这些值进行优化,来找出表中的集合的实际颜色修改符值。例如照片、游戏类型纹理、文本等的不同类型的少量图像可用作训练数据。
表1说明包含颜色修改符的7个集合的表的一个当前优选实例,其中每个集合具有一个颜色修改符值。
表1-修改符表
如果该表包括最多8个不同的强度修改符集,则颜色修改符码字优选地为3位索引(000bin-111bin),标识表的(8个)集合之一,例如[3]用于码字000bin(000基数(base)2)。
但是,本发明不限于表1的使用情况,而是可采用具有其它颜色修改符集和值的其它表。此外,对于表中多于或少于8个集合的情况,颜色修改符码字的大小可能需要改变。例如,如果表包括两个(3-4个或者8个以上)颜色修改符集,则码字大小可限制为一位(两位或三位以上)。另外,在表1中,每个修改符集仅包含单个颜色修改符值。但是,本发明不限于此,因为修改符集可包含两个、三个、四个或四个以上修改符值。
在一个优选实施例中,每个集合中的颜色修改符值是距离表示。因此,修改符值表示沿色彩空间的第二行(或第三行)从第一基本色(或第二基本色)传播的距离,以便获得那一行的颜色表示。如果该集合如表1所示仅包含单个修改符值,则优选地沿第一基本色的任一侧的第二行(或第三行)传播所选修改符值表示的距离。回到图4B,在这样一种情况中,第二行12上的两个颜色表示30、32优选地处于与第一基本色10相隔相同距离d的位置,但处于行12的基本色10的任一侧。同样的情况适用于第三行22上的两个颜色表示31.33。
颜色修改符码字所表示的颜色修改符则可表示在两个基本色10、20的颜色修改中所使用的这个距离值d。
本发明预计,颜色码字所表示的颜色修改符集可包含两个颜色修改符、即两个不同的距离值d1和d2。在这样一种情况中,第一距离值d1可用于修改沿第二行12的第一基本色10,以便得到两个颜色表示30、32。两个颜色表示31、33则通过采用距离值d2修改沿第三行22的第二基本色20来获得。
不是将第一距离值d1仅用于第一基本色,这个距离值d1而是可通过第二方向15沿第二行12传播以便获得颜色表示32,并且可通过第三方向25沿第三行22传播以便获得颜色表示33。相应地,另一个距离值d2用于获得颜色表示30、31。这个概念无疑可经过进一步扩展,使得颜色修改符码字所表示的颜色修改符集包含四个距离值d1、d2、d3、d4,其中d1和d2分别用于修改沿第二行的第一基本色10,以便获得颜色表示30和32。其余两个距离值d3、d4与第二基本色20和第三方向25一起使用,以便获得沿第三行的两个颜色表示31、33。
另外,颜色修改符码字无需是对表中的颜色修改符集的索引或指针,实际上可能是颜色修改符集本身,例如包含一个距离值。
从以上论述中清楚地看到,颜色修改在H模式的两种基本色上执行,但优选地仅用于T模式的第一基本色。
在本发明的另一个实施例中,颜色修改符码字是位组合位移的次数的表示,以便获得修改符值,优选地为距离值。例如,码字可指定数值1bin应当向左位移的次数,以便得到修改符值。在这样一种情况中,可用修改符值按照下表2所示。
表2-位移表
  颜色修改符码字   位移值   颜色修改符值
  000bin   00000001bin   1
  001bin   00000010bin   2
  010bin   00000100bin   4
  011bin   00001000bin   8
  100bin   00010000bin   16
  101bin   00100000bin   32
  110bin   01000000bin   64
  111bin   10000000bin   128
因此,采用3位颜色修改符码字和数值1bin的位移允许表示修改符值1、2、4、8、16、32、64和128。这个修改符值优选地表示用于修改沿第二行的第一基本色以便得到两个颜色表示、并且可能修改沿第三行的第二基本色以便得到两个颜色表示的先前所述距离值d。
两个实施例提供相似的性能和所得图像质量,并且硬件表与位位移之间的实际选择可能是(硬件)实现的选择。
图6是流程图,更详细地说明图1的码字提供步骤。该方法从图1的步骤S2继续进行。在下一个步骤S10,确定至少一个距离值。这个至少一个距离值一用于获得基于第一基本色(在H和T模式中)的颜色表示以及可能还获得基于第二基本色(在H模式中)的颜色表示。在一个优选实现中,在步骤S10确定单个距离值d。但是,对于某些应用,在这个步骤S10可确定两个d1、d2甚至四个d1、d2、d3、d4或者更多。下一个步骤S11确定作为距离值的表示的颜色修改符码字。在第一实施例中,码字是对各包含一个(或多个)距离值的多个修改符集之一的表索引。在第二实施例中,码字是指定位组合位移的次数以便得到距离值的位移数。然后,该方法继续进行到图1的步骤S4。
如上所述以及如图4B和图5B所示,本发明优选地可采取多模压缩方案的形式,意味着H模式(图4B)与T模式(图5B)之间的选择。在这样一种情况中,本发明的H模式优选地用于原始图像元素颜色分布在两个扩展颜色簇的图像块,参见图4A。如果图像元素颜色分布在两个颜色簇中,并且簇之一的颜色点集中于单个颜色点,参见图5A,则优选地采用T模式。这意味着,本发明的两种模式相互补充,并且可共同处理具有两个不同色调或色度的许多不同的图像块。
图7是流程图,按照这样一种多模实现更详细地说明图7的提供和选择步骤。该方法从图2中的步骤S1继续进行。在下一个步骤S20,当前图像块首先采用H图案或模式来压缩。这包括确定第一和第二候选颜色码字,如前面所述。另外,候选颜色修改符码字作为以下修改符的表示来提供:i)适用于修改第一颜色码字所表示的第一基本色的至少一个颜色修改符;以及ii)适用于修改第二颜色码字所表示的第二基本色的至少一个颜色修改符。这个颜色修改产生优选地经过第一基本色、沿第二行的至少两个颜色表示以及优选地经过色彩空间的第二基本色、沿不同的第三行的至少两个颜色表示。优选地对图像块中的每个图像元素选择与这至少四个颜色表示其中之一关联的颜色指数。
在下一个步骤S21,计算或者至少估计误差表示。这个误差是关于表示具有在步骤S20按照H模式所确定的压缩块、即候选颜色修改符码字和候选颜色指数序列等的两个候选颜色码字的图像块的指示。可通过对压缩图像块解压缩以获得原始图像块的解压缩形式,然后将所得颜色与图像块的原色进行比较,例如按照下式1来执行这个误差计算:
ϵ 2 = Σ y = 0 3 Σ x = 0 3 ( ( R xy - R xy o ) 2 + ( G xy - G xy o ) 2 + ( B xy - B xy o ) 2 ) - - - ( 1 )
式中,Ro xy、Go xy、Bo xy分别表示图像元素(x,y)的原色的原始红、绿和蓝色成分,Rxy、Gxy、Bxy表示图像元素(x,y)的所分配颜色表示的红、绿和蓝色成分,x=0,1,2,3且y=0,1,2,3,以及ε2是所计算误差表示。
与步骤S20和S21并行或依次地,在步骤S22还按照T模式对当前图像块进行压缩。这包括确定第一和第二候选颜色码字,如前面所述。另外,作为适用于修改第一颜色码字所表示的第一基本色的至少一个颜色修改符的表示来提供候选颜色修改符码字。这种颜色修改产生优选地经过第一基本色、沿第二行的至少两个颜色表示。优选地对图像块中的每个图像元素选择与下列表示其中之一关联的颜色指数:i)这至少两个颜色表示,ii)第一基本色,以及iii)第二基本色。
在下一个步骤S23,计算或者至少估计误差表示。这个误差是关于表示具有在步骤S22按照T模式所确定的压缩块、即候选颜色修改符码字和候选颜色指数序列等的两个候选颜色码字的图像块的表示。这种误差计算以类似于以上结合步骤S21所述的方式执行。
在步骤S24,这两个压缩表示其中之一被选取并用作当前块的压缩形式。这个选择步骤根据步骤S21和S23所计算的误差值来执行。因此,与最小误差值关联的压缩表示通常在步骤S23中选取,即按照H模式或者T模式的块表示。在下一个可选步骤,表示用于产生所选压缩表示的压缩模式的模式或图案指数被提供,并包含在压缩图像块、即表示图像块的位序列中。这个过程优选地对于待压缩的每个图像块执行。然后,该方法结束。
这意味着,图像的每个图像块优选地分别被分析和压缩,它在最典型的应用中(取决于要编码的实际图像)产生按照不同模式压缩的图像块的镶嵌。因此,第一组图像块按照H模式来压缩,以及剩余的第二组块按照T模式来压缩。对于其它应用,只有模式其中之一才用于不同的图像块。
在这个实施例中,对每种可用压缩模式产生一个压缩候选块。但是,在另一个实施例中,用于当前块的压缩模式的选择在实际块压缩之前执行。在这样一种情况中,执行第一分析步骤,其中,块中的图像元素的原色、具体来说是它们在色彩空间中的分布被研究和分析。压缩模式的选择根据这种分析来进行。这个实施例是可行的,因为两种压缩模式适合于通过比较图4A和图5A看到的略有不同的颜色分布。
分析实施例的优点在于,仅需要产生一个而不是四个压缩候选块,但以块和颜色分析以及选择非最佳压缩方案的风险为代价。
如前面所述,步骤S20-S21和S22-S23可并行或依次执行。在另一个实施例中,H和T模式之一可选作缺省模式,意味着当前图像块首先按照那种模式来压缩。在这样一种情况中,该方法在H模式看作缺省模式时通过步骤S20和S21进行,或者在T模式为缺省模式时通过步骤S22和S23进行。所得计算误差表示则与最大允许误差值进行比较。如果计算误差小于这个最大误差,则按照缺省(H或T)模式所确定的压缩块用作图像块的压缩表示,而无需测试另外的可用模式。但是,如果误差表示超过该最大误差,则当前图像块还按照另一种压缩模式进行压缩。这个新确定的压缩块则可直接用作压缩块表示。或者,表示压缩块的误差表示被计算并与另一种模式的先前计算误差进行比较。产生最小误差值的表示则通常被选择并用于当前图像块。
本发明预计,图像压缩可以仅按照上述H模式来实现。在这样一种情况中,不需要H与T模式之间的选择。在另一个实施例中,只有上述T模式用于所有图像块。在这两个实施例中,在所得压缩图像块中无疑不需要模式或图案索引。但是,如结合图7所公开的那样,在两种模式之间优选地存在选择。
图8更详细地说明按照本发明的H或T模式所确定的压缩图像块700。这个压缩块包括第一颜色码字710和第二颜色码字720,各分别包含红色成分712、722、绿色成分714、724和蓝色成分716、726。颜色修改符码字730和颜色指数序列740也包含在压缩块700中。为了区分H和T模式,模式或图案指数750优选地包含在压缩块700中。在一个典型实现中,每个颜色码字710、720可能耗用14位,优选地5位用于红色成分712、722和绿色成分714、724,以及4位用于蓝色成分716、726。颜色修改符码字730在这个实现中优选地包括3位,以及颜色指数序列740包括16个2位颜色指数,从而提供32位的总序列大小。另外,图案指数750可能是区分两种模式的一位,例如0bin用于H(T)模式以及1bin用于T(H)模式。这对于图像块总计为64位以及每个图像元素4位(bpp)的压缩比。
一般来说,块压缩的问题是找到用于图像块的最佳可能的基本色对。在最典型的实际应用中,穷举搜索因需要测试的组合的数量而可能不是可行的。例如,假定上述码字、序列和模式指数(mode index)大小,对所有可能的基本色进行迭代需要228种组合、对模式需要21种组合、对颜色修改符码字需要23种组合以及对颜色指数需要22种组合。这意味着,对于块中的每个图像元素需要尝试多达234种不同组合。因此,对于大多数实际实现,优选地采用非穷举压缩方法,例如本文所述的三种方法其中之一。
LBG压缩
LBG向量量化算法[5]用来查找两个颜色码字。由于仅使用两个重构值(颜色码字),所以算法相当迅速地收敛。例如,以两个随机基本色开始,往往仅需要十次替代来获得满意结果。在找到两个基本色之后,尝试所有可能的模式、颜色修改符码字和颜色指数,这对于块中的每个图像元素仅需要26种不同的组合。对于图像块选取提供最低均方误差(MSE)的特定组合。将这种方法用于对512×512纹理进行编码的步骤采用256 MB的RAM的800MHz PC需要不到五秒的时间。
径向压缩
这种方法比LBG压缩更慢,但在图像质量方面还提供更好的结果。最初,两个修改颜色码字采用如上所述的LBG算法来确定。然后,对于各颜色码字,尝试围绕候选颜色码字所表示的候选基本色的(2k+1)×(2k+1)×(2k+1)立方体中的所有可能的颜色。大致来说,k可称作立方体的半径,因而作为这种方法的名称。编码时间相对k非常迅速地增加,但图像质量的增益得到稳定。由于每个图像块有两个颜色码字,并且它们不是单独测试的,所以径向压缩比LBG压缩慢(2k+1)6倍。例如,k=1的径向压缩比LBG压缩慢729倍,k=2的径向压缩慢15625倍,依此类推。实际上,超过二的径向等级的额外编码时间不能通过小的质量增益证明。与LBG压缩相比,采用径向的第一级(k=1)的图像质量的增益在峰值信噪比(PSNR)方面平均为1dB。
选择性压缩
这个解决方案利用以下事实:径向压缩中的所有周围颜色不是同样可能的。经验研究表明,对于采用第一径向等级的几乎所有图像块,仅尝试图15所示的颜色点是足够的。这意味着,对于每个颜色码字仅需要测试九种而不是27种不同颜色。因此,与径向压缩相比,编码时间减少令人满意的倍数。与径向压缩相比的图像质量的损失仅为大约0.05dB。
图9是RGB空间的RB部分的简图,说明根据本发明的H模式的另一个可能的实施例。与图4B相比,与第二基本色20相比,颜色修改符码字在这种情况中包括用于修改第一基本色10的不同的颜色修改符值(距离值d1、d2)。如图所示,用于修改沿第二行12的第一基本色10、产生两个颜色表示30、32的颜色修改符值d1大于用于修改沿第三行的第二基本色20以便获得颜色表示31、33的对应颜色修改符值d2。
在这个上下文中,颜色修改符码字可能是两个不同的颜色修改符值d1、d2的表示,例如是对包含这两个修改符值的修改符集的表索引。在一个备选实现中,颜色修改符码字是单个颜色修改符值、如d2的表示,并且另一个修改符值d1则可从d2来计算。例如,d1=h×d2,其中的h为预定的固定常数、如2,或者在压缩块表示中定义。
如图9所示,在这个实施例中,第一修改符值d1可定义为始终大于第二修改符值d2。
在图9中,第二行12和第三行22是平行的,即两个方向15和25相同。在优选的这种情况中,第二方向15以及优选地还有第三方向25是色彩空间中的亮度或强度方向,即v=[1,1,1]。在这样一种情况中,两个基本色10、12的颜色修改可能只是通过将颜色修改符码字所表示的颜色修改符值d1、d2与基本色10、20的各颜色成分相加来实现,例如(R1+d1,G1+d1,B1+d1),其中R1、G1、B1表示第一基本色10的三个颜色成分。
在本发明的另一个实施例中,第二行12和第三行22是平行的,但它们相应的方向15、25不是亮度方向。在这样一种情况中,这个方向15、25可预先定义并且对于根据本发明的这种H模式进行压缩的所有图像块均相同。在一个备选实施例中,可在压缩图像块中对该方向编码,以便允许不同图像块的不同方向向量。这表示压缩图像块可包括方向码字。
这个原理可进一步扩展,如图10所示。在这个图中,第二行12和第三行13是非平行的,即两个方向向量15、25是不同的。在这样一种情况中,两个方向15、25可预先定义并且对于根据这样一种模式进行压缩的所有块通常都是相同的。或者,可在特定图像块的方向码字中对方向15、25的一个或两个进行编码。
在前面所述的图中,两个颜色表示存在于第一基本色10(和第二基本色20)的任一侧的第二行12(以及在H模式中的第三行22)。但是,本发明不限于此。图11对于T模式来说明这个概念,但同样适用于本发明的H模式。在这个说明性实例中,三个颜色表示30、32、34、35、36、38存在于第一基本色10的任一侧的第二行12。这无疑允许从其中选择更多的颜色表示32、34、35、36、28用于具有RGB空间的这个部分的颜色的图像元素,因而一般允许更高的可得图像质量但更高的bpp。
第二行12上的不同颜色表示32、34、35、36、38可能与第一基本色10等距。换言之,第一颜色表示对34、36可能位于与第一基本色10距离d的位置(行12的基本色10的任一侧的一个颜色表示34、46)。第二颜色表示对32、38位于与基本色10距离2×d的位置,以及第三颜色表示对30、35位于与基本色10距离3×d的位置。在这样一种情况中,颜色修改符码字仅需要是d的表示。
在一个备选方法中,不同于等距离的另一个分布用于位于第二行12上的颜色表示32、34、35、36、38。在图11中,类似高斯的分布用于第二行12的颜色表示32、34、35、36、38。这意味着,颜色表示32、34、35、36、38与第一基本色10之间的距离对于更多远侧颜色表示增加。换言之,最里面的颜色表示34、36与基本色10之间的距离小于其次最里面的颜色表示38、32与最里面的颜色表示对34、36之间的距离,依此类推。
这种方法特别适合于处理其中图像元素的原始图像颜色围绕色彩空间中的某个点、但某些颜色位于与这个点略微更远距离的位置的图像块。
在先前的附图中,一对的颜色表示以与相干基本色相同的距离、但在该行的基本色的任一侧设置。但是,本发明不限于这样一种解决方案。图12说明简图,示出本发明的H模式的一个实施例,对于这个实施例,不同的颜色修改符d1、d2用于修改沿第三行22的第二基本色20,以便得到行22的基本色20的任一侧的相应颜色表示31、33。因此,如果行方向25是亮度方向,则第一颜色表示31具有以下颜色值(R2-d1,G2-d1,B2-d1),以及另一个颜色表示33具有颜色值(R2+d2,G2+d2,B2+d2)。
这个图还说明通过修改基本色10可得到的两个以上等距颜色表示30、32、34、36的使用。
图9-12中进一步说明的本发明的上述实施例和实现的理论可进行组合。例如,第一和第二基本色的不同修改符值的使用或者从单个基本色可得到的两个以上(等距或高斯分布)颜色表示的使用可适用于非平行的第二和第三行。本领域的技术人员了解可如何根据以上提供的论述来实现这类不同的组合,因而这类组合属于本发明的理论范围之内。
如前面所述,本发明有利地用作对iPACKMANN/ETC压缩方案[3,4]的补充或辅助模式。在这样一种情况中,本发明用于对具有两个不同色调和色度的图像块进行压缩和解压缩。对于其它图像块,可改用iPACKMAN/ETC或另一种辅助模式。
图13示意说明这样一种实现。该方法从图1的步骤S1继续进行。然后按照不同方式、通常并行地处理待压缩的所提供图像块。换言之,图像块在步骤S30中按照根据本发明的H图案或模式来压缩。这个步骤S30基本上对应于图7的步骤S20,本文中不作进一步论述。在下一个步骤S31,估计表示具有这个第一压缩块的图像块的误差值。另外,同一个图像块按照图中三种其它模式的至少另一种压缩模式进一步压缩。因此,图像块在下一个步骤S32按照本发明的T模式进行压缩。这个步骤S32对应于先前所述的图7的步骤S22,并且不作进一步描述。下一个步骤S33计算关于将图像块表示为按照T模式可得到的压缩块的指示的误差值。
除了按照本发明的两种不同模式的这个块压缩之外,图像块还在步骤S34按照iPACKMAN/ETC模式进行压缩。这种压缩模式包括确定作为第一基本色值的表示的第一颜色码字。另外,还确定第二颜色码字。但是,这个第二码字是差分颜色的表示。第二基本色值则是作为第一颜色值和差分颜色之和可得到的。对第一子块中的图像元素(2×4或4×2个图像元素)分配第一基本色值,而对第二子块(2×4或4×2个图像元素)中的图像元素分配第二基本色值。
提供强度码字用于图像块,其中强度码字是一组多个强度修改符的表示。这些强度修改符适用于修改第一或第二基本色值的强度,以便产生多个颜色表示。在一个优选实现中,强度码字是对包含多个修改符集合的强度表的表索引,其中修改符集合具有不同的强度修改符。此外,对于块中的各图像元素选择强度指数,其中强度指数与来自强度码字所表示的强度修改符集合的强度修改符关联。
下一个步骤S35计算关于将图像块表示为按照iPACKMAN/ETC模式可得到的压缩块的指示的误差值。
最后,在步骤S36,图像块优选地按照表示“平面”并在文献[6]中描述的压缩模式进行压缩。这种压缩模式包括将颜色加权分配给图像块中的图像元素的至少一个子集。颜色加权优选地根据至少一个子集的图像元素在图像块中的相对位置来确定。这些颜色加权在解压缩期间用于对于对图像块所确定的不同颜色进行加权,以便产生用于表示图像元素的原始(“真实”)颜色的颜色表示。
优选地将颜色加权分配给块中的图像元素的至少一个子集的每个图像元素。在第一实施例中,图像块包括N个、如16个图像元素,N为大于一的整数,以及子集包括M个图像元素,其中0≤M<N。这表示没有为其余N-M个图像元素分配颜色加权。在那种情况中,这个(这些)剩余图像元素的原色通过对于图像块所确定的颜色码字其中之一来表示。但是,这基本对应于将颜色加权向量之一的所有组成元素设置为1,并且将另一个(其它)颜色加权向量的所有组成元素设置为0。
因此,在另一个优选实现中,将颜色加权分配给块中的所有图像元素。在这个实施例中,分配给至少一个图像元素的颜色加权的至少一个优选地不同于0、1或-1。
此后,根据或采用所分配颜色加权对图像块确定至少两个颜色码字。在这种压缩模式的第一实施例中,确定两个颜色码字。但是,在本发明的一个优选实施例中,根据颜色加权来确定三个或者有时四个或四个以上颜色码字。这多个码字则表示三个、四个或四个以上颜色值。根据这种压缩模式,通过使颜色码字确定基于所分配颜色加权,能够确定颜色码字,从而产生高图像质量并允许产生具有缓慢变化颜色过渡的颜色表示。
块中的多个图像元素的原色通过从至少两个颜色值可导出的颜色表示来表示(近似),其中的至少两个颜色值又通过至少两个所确定颜色码字来表示。另外,至少一个子集中的图像元素、即对其分配了颜色加权的那些图像元素的颜色表示是从通过所分配颜色加权进行加权的至少两个颜色值的组合中可导出的。
如果至少一个子集包括块中的图像元素的第一子集,则这些图像元素的颜色表示是从通过所分配颜色加权进行加权的至少两个颜色值的组合中可导出的。但是,块中的图像元素的第二剩余子集中的图像元素的颜色表示直接从颜色值中选取,因此没有构成多个颜色值的组合。
在“平面”的一个当前优选实现中,颜色加权优选地经过选择,使得块中只有单个图像元素具有一个1、其余为0所构成的颜色加权。这意味着,优选地是角图像元素的这个单一图像元素的原色通过仅从这个实现中使用的三个颜色码字其中之一所得到的颜色值来表示。
设置这个实现的颜色值的方式产生用于计算图像块中的图像元素的颜色表示和颜色加权的以下公式:
R ( x , y ) = x 4 ( R H - R O ) + y 4 ( R V - R O ) + R O
G ( x , y ) = x 4 ( G H - G O ) + y 4 ( G V - G O ) + G O
B ( x , y ) = x 4 ( B H - B O ) + y 4 ( B V - B O ) + B O
w O xy = 1 - x 4 - y 4
w H xy = x 4
w V xy = y 4
式中,(RV,GV,BV)、(RH,GH,BV)、(RO,GO,BO)表示三个颜色码字,R(x,y)、G(x,y)、B(x,y)表示图像元素(x,y)的颜色表示,x=0,1,2,3且y=0,1,2,3,以及wH xy、wY xy、wO xy是图像块中的图像元素(x,y)的三个不同颜色码字的颜色加权。这意味着,图2所示的图像块的颜色表示具有按照下表3的红色成分。
表3-颜色表示
Figure A20068003005700431
蓝色和绿色成分优选地以相同方式、即基本上通过将Rz与Bz或Gz进行交换来处理,其中的z=0,1,2,3。
在下一个步骤S37,计算表示将这个“平面”压缩图像块用作图像块的表示的误差值。
这时,四个(或者在备选实施例中为两个、三个或四个以上)不同的压缩表示是可得到的。在下一个步骤S38,四个压缩表示其中之一被选取并用作当前块的压缩形式。这个选择步骤根据步骤S31、S33、S35和S37所计算的误差值来执行。因此,在步骤S38中选取与最小误差值关联的压缩表示。在下一个可选步骤,表示用于产生所选压缩表示的压缩模式的模式指数被提供,并包含在压缩图像块、即表示图像块的位序列中。这个过程优选地对于待压缩的每个图像块执行。然后,该方法结束。
这意味着,图像的每个图像块优选地分别被分析和压缩,它在最典型的应用中(取决于要编码的实际图像)产生按照不同模式压缩的图像块的镶嵌。因此,图像块的第一集合按照H模式来压缩,块的第二集合按照T模式来压缩,第三块集合按照iPACKMAN/ETC模式来压缩,以及第四块集合按照“平面”模式来压缩。对于其它应用,只有一种、两种或三种模式用于不同的图像块。
在这个实施例中,对每种可用压缩模式产生一个压缩候选块。但是,在另一个实施例中,用于当前块的压缩模式的选择在实际块压缩之前执行。在这样一种情况中,执行第一分析步骤,其中,块中的图像元素的原色、具体来说是它们在色彩空间中的分布被研究和分析。压缩模式的选择根据这种分析来进行。
这个实施例是可行的,因为不同的可用压缩模式对于给定块类型是极为适合且有效的。例如,“平面”方案在处理具有缓慢变化颜色过渡的块方面是有效的。iPACKMAN/ETC方案对于处理其中的图像元素的颜色具有相当相似的色度但具有可变亮度的图像块是非常有效的。本发明适合于管理具有两个不同色度(颜色)的图像块,以及两种模式T和H处理不同的颜色组分布。
这个实施例的优点在于,仅需要产生一个而不是四个压缩候选块,但以块和颜色分析以及选择非最佳压缩方案的风险为代价。
图14A示意说明iPACKMAN/ETC差分模式的一种可能的压缩块表示700。压缩块700包括第一颜色码字710,其中包含优选地各由五位所表示的三个颜色成分,即红色712、绿色714和蓝色716。第二颜色或差分颜色码字720同样包括优选地各由三位所表示的三个成分,即红色722、绿色724和蓝色726。压缩块700还包括两个强度码字730A、730B,每个2×4/4×2子块一个,优选地各为3位。优选地为块中的每个图像元素一个2位强度指数的强度指数的序列740也包含在压缩块700中,从而产生32位。翻转位770定义图像块的两个子块是两个2×4块还是两个4×2块,即垂直设置翻转位=0bin还是水平设置翻转位=1bin。iPACKMAN/ETC包括两种所谓的缺省模式,其中之一在本文档中已经进行描述和公开。差分位(diffbit)760区分这两种缺省模式。在图14A至图14D中,这个差分位760等于并设置成1bin(或0bin)。注意,编码图像块700的码字710、720、730A、730B、指数序列740、翻转位770和差分位760的相互顺序可能与图中所示的不同。压缩块的总大小为64位。
在以上所述的iPACKMAN/ETC模式中,第一颜色码字710的颜色成分712、714、716优选地各包含5位,基本上表示区间0-31中的任何值(00000bin-11111bin)。第二码字720的成分722、724、726优选地各包含3位,它们用于表示区间-4至+3中的值。第二颜色值的颜色成分是通过对两个码字的成分712、714、716以及722、724、726求和可得到的:
红色成分=R+dR
绿色成分=G+dG
蓝色成分=B+dB
由于这些颜色成分表示强度信息,所以允许它们采取从0(无强度)至31(全强度)的值。这意味着,引起加法R+dR、G+dG、B+dB溢出、即<0或>31的第一颜色码字710和第二颜色码字720的位组合决不会由以这种iPACKMAN/ETC模式进行操作的编码器使用。这允许引入可用来补充iPACKMAN/ETC的三种辅助模式。
在第一辅助模式中,红色成分溢出,即R+dR小于零或大于31。如果发生这种情况,则第一颜色码字710的红色成分712的前三位相等,并且不同于第二颜色码字720的红色成分722的第一位。
在图14B中,这个原理用于将本发明的H图案/模式用作iPACKMAN/ETC的辅助模式。因此,在这种模式中,四位790不能随意选取,因为红色成分一定溢出,并且它们必须为1110bin或0001bin。压缩块表示700优选地总共为64位,其中的四位按照以上所述使用。其余60位优选地按照以下方式在包含部分之间划分:第一颜色码字710和第二颜色码字720的每个颜色成分712、714、716以及722、724、726分配4位。颜色修改符码字730包括三位,差分位760包括一位(它具有与图14A相同的值),以及颜色指数序列740优选地包括32位。
第二辅助模式是在绿色成分溢出、即G+dG小于零或大于31时、并且不允许红色成分溢出、即0≤R+dR≤31时可得到的。在这种模式中,图14A中的第一颜色码字的红色成分712的第一位设置成不同于红色成分712的第二或第三位,使得无法令红色成分溢出。另外,第一颜色码字710的绿色成分714的前三位必须相等,并且不同于第二颜色码字720的绿色成分724的第一位。另外还应当检查绿色成分实际上溢出。
在图14C中,图中由790共同表示的位0(对应于图14A中的第一颜色码字的红色成分的第一位)、位8-位10(对应于图14A中的第一颜色码字的绿色成分的三个第一位)和位13(对应于图14A中的第二颜色码字的绿色成分的第一位)不能随意设置。因此,59位保留用于压缩块700的其它部分。这59位优选地根据本发明的T模式来使用。在颜色码字710、720、颜色修改符码字730、差分位760和颜色指数序列740之间的位的划分优选地与图14C相同,但这种情况中的颜色修改符码字730仅包含两位而不是三位。
如果蓝色成分溢出,即B+dB小于零或大于31,但不允许红色和绿色成分溢出,则采用“平面”模式方案的第三辅助模式是可用的。这意味着,图14A中的第一颜色码字710的红色成分712和绿色成分714的第一位必须不同于红色成分712和绿色成分714的第二或第三成分。另外,蓝色成分溢出,即B+dB小于零或大于31。
因此,在图14D中,共同表示为790的位0(对应于图14A中的第一颜色码字的红色成分的第一位)、位8(对应于图14A中的第一颜色码字的绿色成分的第一位)、位16-位18(对应于图14A中的第一颜色码字的蓝色成分的三个第一位)和位21(对应于图14中的第二颜色码字的蓝色成分的第一位)不能随意设置。优选地对三个颜色码字710、720、730的红色成分712、722、782和蓝色成分716、726、786各分配6位,而对应的绿色成分714、724、784则各包含7位,以及差分位780为一位。这总计为64位。
如果图14A-图14D所示的四个不同的压缩表示是可能的,则用于区分四种模式的模式指数优选地包括位序列中的已定义位置。这些位的位置包括图14A中的第一颜色码字710和第二颜色码字720。另外,差分位优选地用来区分其它可用的iPACKMAN/ETC模式。但是要注意,这个模式指数的位的一部分可用于对不同模式的压缩块进行编码。
解压缩
图16说明根据本发明、对原始图像的编码图像或编码形式进行解码的方法的流程图。编码图像基本上包括图像块的若干编码表示。这些编码块表示优选地通过以上论述的图像编码方法来产生。
该方法一般通过识别要解码的编码图像块开始。可能的是,编码图像的所有编码图像块应当经过解码,以便产生原始图像的解码表示。或者,只有原始图像的一部分将被存取。因此,只有所选数量的图像块需要被解码(或者更准确地说,某些图像块的所选数量的图像元素需要被解码)。
一旦识别了正确的编码图像块(图像块的编码表示),则步骤S40根据压缩块表示中的第一颜色码字来确定第一基本色。下一个步骤S41同样地根据第二颜色码字来确定第二基本色。这两个所确定基本色位于在色彩空间中具有第一方向的第一行上。
在步骤S40和S41的一个优选实现中,优选为12位或14位的颜色码字的量化颜色优选地扩充或扩展为24位。对于采用RGB颜色和RGB444颜色码字的情况,颜色码字的每个量化4位颜色成分扩充为8位颜色成分。对于采用256种不同颜色 ( 256 - 1 16 - 1 = 17 ) 的实现,这种颜色扩充可通过将量化4位颜色成分与17相乘来实现。这与把4位图案复制到扩充的8位颜色字的前(上)和最后(下)4位是相同情况。换言之,1011bin的4位颜色成分扩充为10111011bin
在下一个步骤S42,至少一个颜色修改符根据颜色修改符码字来提供,并用于修改沿色彩空间中具有第二方向的第二行的第一基本色,以便获得位于第二行的多个颜色表示。这个第二方向不同于第一方向。
可通过将所提供的至少一个颜色修改符或者其派生、如修改符值的反数到沿第二方向的第一基本色,来实现颜色修改。在一个典型实现中,第二方向是亮度方向[1,1,1],意味着只是将至少一个修改符值与基本色的三个成分相加或者从三个颜色成分中减去。在一些应用中,不是只加入修改符值,而是可能优选地在将修改符值与成分相加之前对它进行加权。在这样一种情况中,不同的加权可用于不同的颜色成分。在一个备选实施例中,可采用不同于简单加法的另一种类型的修改,例如乘法、异或、或者另一个修改。在下一个可选步骤,所得颜色修改颜色成分值被钳制在最小颜色门限与最大颜色门限之间。例如,如果在将(可能加权的)颜色修改符值加入颜色成分之后,所得值小于最小门限,则该值被钳制为这个门限的值。相应地,如果所得值大于最大门限,则门限的值应当用于那个成分。对于每个颜色成分具有256个不同颜色等级的情况,最小和最大门限的一个非限制性实例分别为0和255。
在下一个步骤S43,颜色指数从以下颜色表示中选取:i)在步骤S42所产生的沿第二行的多个颜色表示;以及ii)基于第二基本色的至少一个颜色表示。这个表示选择根据压缩图像块的颜色指数序列、更准确来说根据分配给待解码的当前图像元素的颜色指数来执行。
步骤S43可对图像块中的若干图像元素执行(由线条L3示意表示)。本发明预计,在一些应用中,只有单一图像元素从特定图像块中被解码,特定图像块的多个图像元素被解码,和/或特定块的所有图像元素被解码。
然后,步骤S40至S43优选地对于包含应当被解码的图像元素的所有图像块重复进行(由线条L4示意表示)。这意味着,步骤S40至S43的循环可执行一次,但是对于不同的编码图像块往往执行若干次,和/或对于特定编码图像块执行若干次。
在可选步骤S44,原始图像或者它的一部分的解码表示根据解码图像元素和块来产生。注意,在一些应用中,若干图像元素需要被解码,以便渲染解码表示的单个像素。例如,在三线性内插中,八个图像元素被解码,以及对于双线性内插,相应数量为四个图像元素,它是本领域的技术人员众所周知的。然后,该方法结束。
图17是流程图,更详细地说明图16的生成步骤S42的一个实施例。该方法从图16中的步骤S41继续进行。在下一个步骤S50,至少一个颜色修改符根据颜色修改符码字来提供。这个提供步骤可通过将颜色修改符码字作为表查找过程的表索引来实现。在这样一种情况中,根据修改符码字从修改符表中检索包含至少一个颜色修改符的修改符集合。在另一个实现中,颜色修改符码字是使所定义位组合位移的位移数的表示。这表示修改符码字则用于计算预期修改符值。本发明还讲授其中颜色修改符码字本身是一个或多个颜色修改符值或者这类值的量化形式的实施例。
在任一种情况中,在下一个步骤S51,所提供的颜色修改符用于修改沿第二行的第一基本色,以便得到沿第二行的多个颜色表示。在第一实施例中,颜色修改包括将至少一个颜色修改符或者其派生、如修改符值的反数或者其加权因子与沿第二行的基本色相加。如果这个第二行具有等于亮度方向v=[1,1,1]的关联方向向量,则该加法可通过只将修改符值与第一基本色的各颜色成分相加来实现。在不同于v=[1,1,1]、例如v=[0.299,0.587,0.114]的亮度向量或者非亮度方向向量用于第二行的其它实施例中,颜色修改值可看作是沿第二行从基本色传播的距离。
在一个实施例中,颜色修改符码字表示单个颜色修改符值。在这样一种情况中,这个单一修改符值用于修改沿第二行的第一基本色,以便得到颜色表示。可通过例如将修改符值本身与基本颜色成分相加以便得到第一颜色表示,并将修改符值的派生、如其负数值与颜色成分相加以便得到第二颜色表示,可从这样一种单个修改符值中导出多个表示。
在第二实施例中,修改符码字表示多个颜色修改符值。在这样一种情况中,每个这种修改符值可用于修改第一基本色,以便得到至少一个颜色表示。这意味着,在修改符值与颜色表示之间则可能存在一对一或一对多(例如一对二)的关系。
在这个上下文中,修改符值可经过选择,使得等距或非等距(例如高斯分布)颜色表示在第二行上可用,如本文详细描述的那样。在任一种情况中,该方法则继续进行到图16的步骤S43。
在图16的生成步骤的另一个实施例中,通过采用修改符码字所表示的至少一个颜色修改符修改第一基本色,沿第二行产生多个颜色表示的第一集合。通过采用修改符码字所表示的至少一个颜色修改符来修改第二基本色,同样地产生沿色彩空间中的第三行的多个颜色表示的第二对应集合。如前面所述,这个第三行不同于第二行,但是可能与第二行平行或不平行。在这个上下文中,用于修改沿第三行的第二基本色的至少一个颜色修改符可能是用于修改第一基本色的相同或不同的修改符值。在后一种情况中,颜色修改符码字优选地是至少两个颜色修改符值的表示。
然后根据颜色指数序列,从多个颜色表示的第一和第二集合中选择用作块中的图像元素的原色近似的颜色表示。
图18是流程图,根据本发明的多模的模式实现来说明图16的生成步骤的一个实施例。在这个多模实现中,第一解压缩模式是先前提供的T模式,以及第二解压缩模式是H模式。该方法从图16中的步骤S41继续进行。在下一个步骤S60,用于当前图像块的选择模式被选取。这种模式选择优选地根据图像块的压缩表示中包含的模式或图案指数来执行。例如,单一位可用来区分T和H模式,其中的模式位等于1bin表示第一模式以及0bin表示第二模式。
如果在步骤S60选择T模式,则该方法继续进行到步骤S61。这个步骤S61包括根据修改符码字来提供至少一个颜色修改符,以及将至少一个修改符用于产生沿色彩空间中的第二行的多个颜色表示,如前面所述。然后,该方法继续进行到步骤S43,其中,从以下颜色表示中选取当前图像元素的颜色表示:i)从第一基本色所产生的多个颜色表示,优选地包括第一基本色本身;以及ii)从其中产生的第二基本色或颜色表示。
如果选择步骤S60从模式位确定引起将H模式用于对当前块解压缩,则该方法继续进行到步骤S62。这个步骤S62包括:i)修改沿第二行的第一基本色,以便得到沿第二行的多个颜色表示的第一集合;以及ii)修改沿第三行的第二基本色,以便得到多个颜色表示的第二集合。然后,该方法继续进行到图16的步骤S43,其中,根据分配给待解码的图像元素的颜色指数,从第一和第二集合中选择颜色表示。
图19是本发明的图像和块解码/解压缩的另一个多模实现的流程图。该方法在步骤S70开始,其中,根据模式指数来选择要用于当前块的解压缩模式。如果图14A-图14D所示的四个不同的压缩表示是可能的,则模式指数包括图14A中的差分位、第一颜色码字和第二颜色码字。因此,解码器检查构成压缩块表示的位序列中的这些位的位置,并根据所检查位来选择一种解压缩模式。在一个优选实现中,如果蓝色成分溢出,但红色和绿色没有溢出,则选择“平面”解压缩模式。如果红色成分溢出,则选择H模式;如果绿色成分溢出,但红色成分没有溢出,则选择本发明的T模式。如果没有成分溢出,则在步骤S70选择iPACKMAN/ETC解压缩模式。
如果在步骤S70选择H模式,则该方法继续进行到步骤S71,其中,按照这种模式对块进行解压缩。这对应于执行图16所示的步骤S40-S43,其中,生成步骤S42按照结合图18的步骤S62所述的方式来执行。如果在步骤S70选择本发明的T模式,则该方法继续进行到步骤S72,其中,按照本发明的T模式对块进行解压缩。这个步骤S72基本上对应于图16的步骤S40至S43,其中,生成步骤S42优选地按照前面结合图18的步骤S61所述的方式来执行。
如果选择“平面”解压缩模式,则该方法从步骤S70继续进行到步骤S73。这个解压缩模式包括根据压缩块表示中的至少两个颜色码字来确定至少两个颜色值(参见图14D)。在一个优选实现中,这个确定步骤包括将颜色码字的量化颜色、如RGB676优选地扩充为24位(RGB888)。在“平面”的一个优选实现中,压缩块表示包括三个颜色码字。这意味着,三个颜色值通过扩展码字的每个来确定。此后,提供分配给待解码的图像元素的颜色加权。颜色加权优选地是预定加权,它们取决于块中的图像元素的实际位置:
w O xy = f O ( x , y )
w H xy = f H ( x , y )
w V xy = f V ( x , y )
因此,根据这种“平面”模式进行压缩的图像的所有图像块优选地具有相同的颜色加权分配,使得在两个块根据“平面”压缩模式进行压缩时,例如第一块中的位置(2,1)上的图像元素具有与第二块中的位置(2,1)上的元素相同的颜色加权。
用于表示待解码的图像元素的原色的颜色表示根据所提供颜色加权以及所确定的至少两个颜色值来计算。在一个优选实现中,颜色表示作为所确定颜色值的、采用所提供加权进行加权的(线性)组合来计算。在这个上下文中,所有颜色值优选地用于计算中,但可能能够仅使用它们的子集。
最后,如果在步骤S70选择这种模式,则在步骤S74采用iPACKMAN/ETC解压缩模式。解压缩包括根据第一颜色码字或者根据第一和第二颜色码字来确定颜色值。如果要解码的图像元素存在于第一(2×4/4×2)子块中,则颜色值优选地通过将码字的位序列从RGB555扩充到RGB888、根据第一颜色码字来确定。如果图像元素而是存在于第二(2×4/4×2)子块中,则基本上通过相加第一和第二码字的红色成分、绿色成分、蓝色成分,然后将结果扩充到RGB888(或者首先扩充码字成分然后将它们相加),根据第一和第二颜色码字来确定颜色值。压缩块在这种模式中包括两个强度码字,每个子块一个。分配给包含待解码图像元素的子块的强度码字用来提供多个强度修改符的集合。这优选地包括根据强度码字从包含多个这类修改符集合的表中提供修改符集合。用于图像元素的强度修改符根据分配给图像元素的强度指数从所提供修改符集合中选取。此后,所确定颜色值通过所选修改符进行强度修改,以便产生图像元素的颜色表示,并且在必要时可选地钳制在最小与最大允许颜色成分值之间。
然后,该方法结束,或者新的图像块被选择用于解压缩,如线条L5示意表示。
解压缩实例
下文是采用图14A至图14D所示的位序列布局的解压缩实例。
iPACKMAN/ETC
压缩图像块由以下位序列表示:
10110 010 11010 110 00100 000 101 110 11
10 01 11 00 01 01 10 11 10 00 11 00 01 01 00 01
首先检查位0-位2、位6、位8-10、位13、位16-18、位21和差分位760,以便确定哪一种解压缩模式将用于这个图像块。由于没有颜色成分溢出,并且差分位760设置为1,所以应当选择iPACKMAN/ETC的差分缺省模式。
首先,将第一颜色码字710的颜色成分712、714、716扩充为RGB888,以便产生第一颜色值:
红色: 1011 0 bin ⇒ 1011010 1 bin = 181
绿色: 11010 bin ⇒ 11010110 bin = 214
蓝色: 00100 bin ⇒ 00100001 bin = 33
将第二颜色码字720的差分成分722、724、726与这些成分相加,从而得到第二颜色值:
红色: 10110 bin + 010 bin = 11000 bin ⇒ 11000110 bin = 198
绿色: 11010 bin + 110 bin = 100000 bin ⇒ 10000010 bin = 130
蓝色: 00100 bin + 000 bin = 00100 bin ⇒ 00100001 bin = 33
翻转位设置为1bin,这意味着,将第一颜色值分配给4×4块的最上两行中的八个图像元素,而第二颜色值则用于最下两行中的八个图像元素。
两个强度码字730A、730B指向由下表4阐述的强度表:
表4-强度表
  强度码字   11bin   10bin   00bin   01bin
  000bin   -8   -2   2   8
  001bin   -12   -4   4   12
  010bin   -31   -6   6   31
  011bin   -34   -12   12   34
  100bin   -50   -8   8   50
  101bin   -57   -19   19   57
  110bin   -80   -28   28   80
  111bin   -127   -42   42   127
适用于第一2×4子块中的图像元素的第一强度码字730A为101bin,表示强度修改符-57、-19、19、57。第二强度码字730B则表示强度修改符-80、-28、28、80。
位置(0,0)中的第一图像元素具有关联颜色指数10bin,并且具有以下颜色表示:
(181,214,33)+(-19,-19,-19)=(162,195,14)
相应地,(位置(3,3)中)的最后一个图像元素的颜色表示具有颜色指数01bin,并且按照下式计算:
(198,130,33)+(80,80,80)=(255,210,113)
在将所计算颜色成分值钳制在最小允许值0与最大值255之间之后。
然后,这个过程对于图像块中的其余图像元素继续进行。
THUMB的H图案
压缩图像块由以下位序列表示:
111 10 0 10 1101 0110 0010 0000 1011 101 1
10 01 11 00 01 01 10 11 10 00 11 00 01 01 00 01
在这种情况中,在按照图14A、即iPACKMAN/ETC来解释位序列时,第一颜色码字的红色成分为11110bin=30,并且第二颜色码字的红色成分为010bin=2,意味着红色成分溢出,因为30+2=32>31,并且应当采用第一辅助模式、即THUMB H图案。以上提供的位序列具有如图14B所示的布局。
通过扩充两个颜色码字710、720的成分712、714、716以及722、724、726来产生第一和第二颜色值:
红色0: 1010 bin ⇒ 10101010 bin = 170
绿色0: 0 : 1101 bin ⇒ 11011101 bin = 221
蓝色0: 0110 bin ⇒ 01100110 bin = 102
红色1: 0010 bin ⇒ 00100010 bin = 34
绿色1: 0000 bin ⇒ 00000000 bin = 0
蓝色1: 1011 bin ⇒ 10111011 bin = 187
因此,第一颜色值为(170,221,102),并且第二值为(34,0,187)。
修改符码字730 101bin=5意味着数值1bin应当向左位移五次,以便得到100000bin=32。这个值用来修改两个颜色值,以便得到四个颜色表示:
C0:(170,221,102)-(32,32,32)=(138,189,70)
C1:(170,221,102)+(32,32,32)=(202,253,134)
C2:(34,0,187)-(32,32,32)=(2,0,155)
C3:(34,0,187)+(32,32,32)=(66,32,219)
第一图像元素具有颜色指数10bin,这意味着颜色表示C2用于这个图像元素。这个过程对于其余图像元素(指数 00 bin ↔ C 0 , 01 bin ↔ C 2 , 10 bin ↔ C 2 11 bin ↔ C 3 )继续进行。
T图案THUMB
压缩图像块由以下位序列表示:
1 0110 010 111 1 0 0 100 0100 0001 0111 01 1
10 01 11 00 01 01 10 11 10 00 11 00 01 01 00 01
在这种情况中,由于在按照图14A、即iPACKMAN/ETC来解释位序列时,第一颜色码字的绿色成分为11110bin=30,并且第二颜色码字的绿色成分为010bin=2,意味着绿色成分溢出,因为30+2=32>31。另外,红色成分没有溢出,因为位0不同于位1。这意味着,应当选择采取THUMB的T图案的形式的第二辅助解压缩模式,并且位序列被解释为具有图14C的布局。
两个颜色值通过与以上对于P图案相同的方式来计算:
红色0: 0110 bin ⇒ 01100110 bin = 102
绿色0: 0101 bin ⇒ 01010101 bin = 85
蓝色0: 0100 bin ⇒ 01000100 bin = 68
红色1: 0100 bin ⇒ 01000100 bin = 68
绿色1: 0001 bin ⇒ 00010001 bin = 17
蓝色1: 0111 bin ⇒ 01110111 bin = 119
在这种情况中,颜色修改符730仅包含两个位01bin=1。如果与H模式相同的数值1bin应当位移,则只有较小的颜色修改符值是可得到的(从0到8)。因此,在这种情况中,优选地位移表示更大数值、如5或6的另一个位序列。例如,数值110bin=6可能向左位移一步,以便得到1100bin=12。四个可能的颜色表示中的两个采用这个修改符值来计算,而另外两个表示则等于两个颜色值:
C0:(102,85,68)
C1:(102,85,68)-(12,12,12)=(90,73,56)
C2:(102,85,68)+(12,12,12)=(114,97,80)
C3:(68,17,119)
第一图像元素具有颜色指数10bin,它对应于C2。然后,该过程对于块中的其余图像元素重复进行。
平面
压缩图像块由以下位序列表示:
1 011001 0 0 10101 1 0 000 00 1 010 111001 1
1001110 001011 011100 0110001 010001
在这个实例中,在按照图14A、即iPACKMAN/ETC来解释位序列时,蓝色成分溢出,因为第一颜色码字的蓝色成分为00000bin=0,并且第二颜色码字的蓝色成分为101bin=-3,意味着蓝色成分溢出,因为0-3=-3<0。另外,位0不同于位1(红色没有溢出),并且位8不同于位9(绿色没有溢出)。因此,应当采用“平面”。
在这个实例中,通过将三个颜色码字710、720、780的成分712、714、716和722、724、726以及782、784、786扩充到RGB888来计算三个颜色值。
R 0 : 011001 bin ⇒ 01100101 bin = 101
G 0 : 0101011 bin ⇒ 01010110 bin = 86
B 0 : 000010 bin ⇒ 00001000 bin = 8
R H : 111001 bin ⇒ 11100111 bin = 231
G H : 1001110 bin ⇒ 10011101 bin = 157
B H : 001011 bin ⇒ 00101100 bin = 44
R V : 011100 bin ⇒ 01110001 bin = 113
G V : 0110001 bin ⇒ 01100010 bin = 98
B V : 010001 bin ⇒ 01000101 bin = 69
这些颜色值则按照上表3的理论被加权和组合。第一图像元素(0,0)的颜色表示只是第一值(101,86,8)。图像元素(1,0)的颜色表示是第一颜色值的四分之三以及第二颜色值的四分之一,即 3 4 ( 101,86,8 ) + 1 4 ( 231,157,44 ) = ( 133,104,17 ) . 这个过程对于其余图像元素继续进行,以便提供图像块的解码表示。
实现方面
根据本发明的图像编码(图像块编码)和图像解码(图像块解码或处理)方案可设置在一般数据处理***中、例如在配置用于处理和/或渲染图像的用户终端或其它单元中。这样一种终端可能是例如PC等的计算机、游戏控制台或者瘦客户机,例如个人数字助理(PDA)、移动单元和电话。
用户终端
图20说明由移动单元表示的用户终端100。但是,本发明不限于移动单元,而是可通过其它终端和数据处理单元、如PC计算机和游戏控制台来实现。在图中仅示出移动单元100中直接涉及本发明的部件和元件。
移动单元100包括移动单元100中用于处理包括图像数据在内的数据的(中央)处理器(CPU)200。在移动单元100中提供图形***130用于管理图像和图形数据。具体来说,图形***130适合在所连接屏幕120或其它显示单元上渲染或显示图像。移动单元100还包括用于在其中存储数据的存储装置或存储器140。在这个存储器140中,可存储图像数据,具体来说是根据本发明的编码图像数据(编码图像块)。
根据本发明的图像编码器210通常设置在移动单元100中。这个编码器210配置用于将图像或纹理编码为图像(或纹理)的编码表示。如上所述,这样一种编码表示包括多个编码图像块的序列或文件。这个图像编码器210可作为在CPU 200上运行的软件来提供,如图所示。作为替代或补充,编码器210可设置在图形***130中或者设置在移动单元100中的其它位置上。
来自块编码器210的图像的编码表示可通过(存储)总线150提供给存储器140以便在其中存储,直到图像的后续渲染为止。作为替代或补充,编码图像数据可被转发给输入和输出(I/O)单元110,用于(无线或有线)传送到其它外部终端或单元。这个I/O单元110还可适合从外部单元接收图像数据。这个图像数据可能是应当由图像编码器210进行编码的图像,或者是应当被解码的编码图像数据。还能够将编码图像表示存储于例如设置在图形***130内的专用纹理存储器中。此外,作为补充或替代,编码图像的若干部分可能(暂时)存储在例如图形***130内的纹理高速缓冲存储器中。
在移动单元100中通常提供根据本发明的图像解码器220,用于对编码图像进行解码,以便产生解码图像表示。这个解码表示可能对应于整个原始图像或者它的一部分。图像解码器220将解码图像数据提供给图形***130,它通常又当数据在屏幕120上渲染或提供之前对数据进行处理。图像解码器220可设置在图形***130中,如图中所示。作为替代或补充,解码器200可作为在CPU 200上运行的软件来提供,或者在移动单元100中的其它位置上提供。
移动单元100可配备图像编码器210以及图像解码器220,如图中所示。但是,对于一些终端100,可能仅包括图像编码器210。在这样一种情况中,编码图像数据可发送到执行图像的解码以及可能的渲染的另一个终端。相应地,终端100可能仅包括图像解码器220,即没有编码器。这样一种终端100则从另一个实体接收包含编码图像数据的信号,并对它进行解码以便产生解码图像表示。因此,编码图像信号可在采用无线电发射器和接收器的终端之间以无线方式发送。或者,可采用用于根据本发明在终端之间分发图像和编码图像表示的其它技术,例如
Figure A20068003005700591
、使用IR端口的IR-技术以及终端之间的图像数据的有线传递。可在终端之间连接和交换的存储卡或芯片也可用于这种图像数据的终端间分发。
移动单元100的单元110、130、200、210和220可作为软件、硬件或者它们的组合来提供。
图像编码器
图21说明根据本发明的图像编码器210的一个实施例的框图。编码器210通常包括用于将输入图像分解或分为若干图像块的图像分解器215。分解器215优选地配置用于将图像分解为图像块,其中包含十六个图像元素(像素、图素或体素),即具有4×4个图像元素的整体大小。这个分解器215可适合于将不同的输入图像分解为具有不同大小的图像块。在这样一种情况中,分解器215优选地接收输入信息,实现标识哪一种图像块格式要用于给定图像。
图像编码器210的这个实施例包括单个块编码器300。这个块编码器300对于从图像分解器所接收的图像块进行编码,以便产生编码块表示。块表示的整体大小比未编码图像块的对应大小更小。块编码器300优选地配置用于依次对来自分解器215的每个图像块进行处理(编码)。
在一个备选实现中,编码器210包括多个块编码器300,用于并行处理来自图像分解器215的多个图像块,这减小总体图像编码时间。
图像编码器210的单元215和300可作为软件、硬件或者它们的组合来提供。单元215和300可在图像编码器210中共同实现。或者,分布式实现也是可行的,其中的一部分单元设置在移动单元中的其它位置上。
块编码器
图22说明根据本发明的块编码器300、如图21中的图像编码器的块编码器的一个实施例的框图。编码器300包括颜色量化器310,它设置用于确定作为第一基本色的表示的第一颜色码字,以及用于确定作为第二基本色的表示的第二颜色码字。另外,由量化器310确定的码字所表示的这两个颜色表示位于色彩空间中具有第一方向的第一行。这个颜色量化器22优选地确定作为第一和第二基本色的量化形式、如RGB888基本色的RGB444或RGB554形式的两个颜色码字。
颜色修改符量化器320设置在块编码器300中,用于提供颜色修改符码字。这个所提供颜色修改符码字是适用于修改第一基本色以及可选地(在H模式中)修改第二基本色的至少一个颜色修改符的表示。通过采用至少一个颜色修改符、沿色彩空间中具有第二方向的第二行修改第一基本色,来实现这样一种颜色修改。这个第二方向不同于前面所述的第一方向,意味着第一和第二行是不平行的。
在一个典型实现中,实现修改符量化器320,用于提供作为指向或者关联其中包含多个不同修改符集合的修改符表500中存在的这种修改符集合的表索引的颜色修改符码字。关联修改符集合则包括至少一个颜色修改符或者其量化形式。在这样一种情况中,块编码器300优选地包括或者至少有权访问修改符表500。
块编码器500可包括单个修改符表500。或者,若干不同的表可设置在编码器300中,其中,表的颜色修改符适合于不同的图像类型,或者表可适合于特定图像。例如,第一强度表可在第一图像类型、如照片的编码期间被使用,而第二个表则用于对第二类型的图像、如文本进行编码。在这样一种情况中,表标识符优选地包含在所产生的编码图像表示中,所述标识符允许标识用于当前图像的修改符表500。在这个上下文中,实际上有可能将表条目(颜色修改符值)包含在所产生的编码图像表示中或者至少将表条目与其关联。但是,为了节省存储器,采用来自若干不同图像类型的训练数据所产生的单个颜色修改符表500优选地用于编码器300。
在另一个实现中,修改符量化器320提供作为表示位组合位移的次数的位移数的颜色修改符码字,以便获得至少一个颜色修改符。
本发明还预计,颜色修改符量化器320所提供的修改符码字实际上可表示至少一个修改符值本身或者其量化形式,使得对于从码字来确定修改符值,不需要表查找过程或位的位移。
在这个上下文中,颜色修改符码字可看作是沿第二行从第一基本色传播的至少一个距离的表示,以便对至少一个距离的每个获得沿第二行的一个或多个、优选地为两个颜色表示。
颜色修改符码字可表示多个颜色修改符或单个修改符。在后一种情况中,通过从这个单一修改符确定其它修改值、如修改符的负数形式或者与所定义因子相乘的修改符值,可得到沿第二行的多个颜色表示。
块编码器300还包括指数选择器330,用于选择将由块编码器300进行压缩的块中的图像元素的颜色指数。这个选择器330对于图像元素选择关联或者允许标识从以下颜色表示中选取的颜色表示的颜色指数:i)沿第二行的多个颜色表示(是通过采用至少一个颜色修改符对第一基本色进行颜色修改可得到的),以及ii)基于第二基本色的至少一个颜色表示(例如第二基本色本身或者是通过对于沿色彩空间中的第三行的第二基本色进行颜色修改可得到的颜色表示)。
指数选择器330的选择操作优选地对于图像块中的所有图像元素执行,意味着对每个图像元素。分配一个颜色指数。
块编码器300的单元310、320、330和500可作为软件、硬件或者它们的组合来提供。单元310、320、330和500可在块编码器300中共同实现。或者,分布式实现也是可行的,其中的一部分单元设置在图像编码器中的其它位置上。
在一个优选实现中,块编码器300可按照多个不同的压缩模式、如上述H和T模式进行操作。这种情况通过图23的块编码器实施例300示意说明。
在第一多模实现中,颜色量化器310的操作与结合图22所述相似,即确定两个颜色码字。在T操作模式中,由修改符量化器320提供的修改符码字所表示的至少一个颜色修改符用于修改沿第二行的第一基本色,以便得到沿这一行的至少两个颜色表示。指数选择器330则允许选择与下列各项关联的颜色指数:i)沿第二行的至少这两个颜色表示;ii)优选地是第一基本色,还优选地位于第二行;以及iii)第二基本色。
但是,在H模式中,修改符量化器320适合于提供作为i)适用于修改沿第二行的第一基本色以便得到多个颜色表示的第一集合的至少一个修改符的表示的颜色修改符码字。码字还是ii)适合于修改沿第三行的第二基本色以便得到沿这个第三行的多个颜色修改符的第二集合的至少一个修改符的表示。第三行不同于第二行,但是可能在彩色空间中具有与第二行相同的方向。另外,第三行的方向不同于上述第一行的方向。指数选择器330从i)第一集合或者ii)第二集合中选择颜色表示。在这个实施例中,相同或不同的颜色修改符可在用于修改第一和第二基本色的修改符码字中表示。
然后,实现模式选择器350用于选择候选表示的哪一个应当用作图像块的压缩表示。这种选择优选地根据误差估计的比较来执行,每种压缩模式一个这种估计。因此,块编码器300优选地包括误差估计器340,用于估计关于表示具有T模式压缩块候选的图像块的指示的误差值以及用于表示具有H模式压缩块的块的误差值。产生最小误差的候选压缩块优选地由模式选择器350选取。模式指数管理器360则编译表示产生最小误差的压缩模式(即在产生由模式选择器350所选的候选时使用的模式)的模式指数。这个模式指数构成压缩图像块的一部分。
这个块编码器实施例还可按照另一个多模实现进行操作,其中,由iPACKMAN/ETC和“平面”压缩模式对本发明的H和T模式进行补充。
在iPACKMAN/ETC压缩模式中,颜色量化器310用于确定作为第一颜色值的表示的第一颜色码字以及用于确定作为差分颜色的表示的第二颜色码字,它可与第一颜色值相加以便得到第二颜色值。修改符量化器330以这种模式进行操作,用于确定作为用于修改第一或第二颜色值以便得到颜色表示的多个强度修改符的至少一个集合的表示的至少一个、优选地为两个强度码字。强度码字优选地是对包含多个这类修改符集合的修改符表500的表索引。指数选择器330设置在块编码器300中,用于对块中的每个图像元素确定与强度码字所表示的修改符集合中的强度修改符之一关联的强度指数。
在“平面”模式中,加权分配器370将颜色加权分配给将要压缩的图像块中的图像元素的至少一个子集。在一个优选实现中,加权分配器370对块中的每个图像单元分配N个颜色加权,其中的N是等于颜色量化器310对图像块确定的颜色码字的数量的一个倍数。在另一个优选实施例中,分配器370将颜色加权分配给块中的图像元素,使得用于表示图像元素的原色的颜色表示的至少一个颜色成分的颜色成分值沿块中的图像元素的行或/和列单调变化。由块编码器300的分配器370所执行的对块中的图像元素的加权分配优选地根据图像元素的位置、即块中的图像元素的相对坐标来进行。
块编码器300的颜色量化器310在这种模式中设置用于至少部分根据分配器370所分配的颜色加权来确定图像块的至少两个颜色码字。在一个优选实现中,颜色量化器320确定三个颜色码字、优选地为三个RGB676码字。
然后,提供误差估计器340用于还计算iPACKMAN/ETC和“平面”候选压缩块的误差值,使得模式选择器350接收四个输入误差值,并根据这些误差值来执行模式选择。
块编码器300的单元310至370和500可作为软件、硬件或者它们的组合来提供。单元310至370和500可在块编码器300中共同实现。或者,分布式实现也是可行的,其中的一部分单元设置在图像编码器中的其它位置上。
图像解码器
图24说明根据本发明的图像解码器220的一个实施例的框图。图像解码器220优选地包括块选择器222,它适合于例如从存储器中选择哪一个编码图像块应当提供给块解码器400以便进行解码。块选择器222优选地例如从首标或渲染引擎中接收与编码图像数据关联的输入信息。具有预期图像元素的编码图像块的地址则根据输入信息来计算。这个计算地址优选地取决于图像中的图像元素(像素、图素或体素)坐标。采用该地址,块选择器222从存储器中识别编码图像块。这个已识别编码图像块则从存储装置中取出,并提供给块解码器400。
对图像块的图像元素的(随机)存取有利地实现仅对图像中所需的那些部分进行有选择地解码。此外,图像还可按照需要数据的任何顺序来解码。例如,在纹理映射中,可能仅需要纹理的一部分,以及一般以非连续顺序需要这些部分。因此,本发明的图像解码可有利地适用于仅处理图像的一部分。
所选编码图像块则被转发给块解码器400。除了图像块之外,解码器400还优选地接收指定块的哪些图像元素应当被解码的信息。信息可指定整个图像块、即其中的所有图像元素应当被解码。但是,所接收信息可能仅标识应当被解码的单个或几个图像元素。块解码器400则产生块中的图像元素的解码表示。这个解码表示优选地为P位颜色,其中的P是原始图像中的每个图像元素的位数、如24位RGB色。
可选图像合成器224可设置在图像解码器220中。这个合成器接收来自块解码器400的解码图像元素,并将它们合成以便产生可在屏幕上渲染或显示的像素。这个图像合成器224或者也可设置在图形***中。
或者,图像解码器220包括多个块解码器400。通过有权访问多个块解码器400,图像解码器220可并行对多个编码图像块进行处理(解码)。这多个块解码器400允许提高图像解码器220的处理性能和效率的并行处理。
图像解码器220的单元222、224和400可作为软件、硬件或者它们的组合来提供。单元222、224和400可在图像解码器220中共同实现。或者,分布式实现也是可行的,其中的一部分单元设置在用户终端中的其它位置上。
块解码器
图25是根据本发明的块解码器400的一个实施例的说明。块解码器400包括颜色生成器410,它适合于根据输入压缩块序列中的第一颜色码字来产生第一颜色值以及用于根据第二码字产生第二颜色值。这个颜色生成优选地通过将量化码字扩充或扩展为RGB888基本色值来执行。两个基本色位于色彩空间中具有第一方向的第一行上。
在第一实施例中,颜色生成器410仅产生第一或第二基本色,取决于块中的哪一个图像元素应当被解码。在这样一种情况中,颜色生成器410或者块解码器400中的另外某个单元根据分配给那个图像元素的颜色指数来执行这个选择。但是,在许多情况中,多个图像元素需要从同一个压缩图像块被解码,意味着产生两种基本色而不是对每个图像元素执行选择是更为过程有效的。
基本色修改器420在块解码器400中实现,用于根据颜色修改符码字来提供至少一个颜色修改符。颜色修改器420则通过采用由颜色修改符修改第一基本色,来产生沿色彩空间中具有第二方向的第二行的多个颜色表示。另外,这个第二方向不同于第一方向。
修改器420的颜色修改动作可采取将颜色修改符值与第一基本色值的每个颜色成分相加的形式(意味着第二方向等于亮度方向v=[1,1,1])。如果第二方向不同于亮度方向,则至少一个修改符值可看作是至少一个距离。在这样一种情况中,颜色修改器420通过从第一基本色开始沿第二行传播定义为颜色修改符码字的距离,来产生颜色表示。
如果颜色修改符码字采取修改符表索引的形式,则颜色修改器420优选地采用表500查找过程中的码字从块解码器400中所实现的或者至少是基本色修改器420可访问的修改符表500检索包含至少一个颜色修改符的集合。如果码字是采取位移数的形式,则颜色修改器420将所定义位组合位移与这个数值对应的次数,以便得到颜色修改符值。其它这类修改符值则可从其中导出,作为修改符值的不同因子或加权形式。
与以上对于块编码器所进行的关于一个或多个不同的颜色修改符表500的使用的相同论述经过必要修改适用于块解码器400。
在第一实施例中(T模式),颜色修改器420优选地修改沿第二行的第一基本色,以便得到沿那一行的多个颜色表示。在另一个实施例中(H模式),除了第一基本色的这个颜色修改之外,颜色修改符420还采用至少一个颜色修改符值来修改沿第三行的第二基本色,以便得到那个第三行上的多个颜色表示。
提供块解码器400的颜色选择器430,用于对于块中的至少一个图像元素并根据颜色指数序列从以下表示中选择颜色表示:i)沿第二行的多个颜色表示;以及ii)基于第二基本色的至少一个颜色表示。
根据T模式,颜色选择器430在以下各项之间执行选择:i)沿第二行由颜色修改器420所确定的多个颜色表示;ii)优选的第一基本色;以及iii)第二基本色。在H模式中,选择器430设置用于在以下颜色表示中进行选择:i)沿第二行的多个颜色表示;以及ii)沿第三行的多个颜色表示。
块解码器400可按照多种解压缩模式进行操作。例如,输入压缩块可按照H或T模式来压缩。在这样一种情况中,模式选择器440优选地设置在块解码器400中,用于根据压缩块中包含的模式或图案指数来确定哪一种压缩模式要用于当前块。模式选择器400则可产生模式信号,将该模式信号提供给块解码器400中的其它单元,用于影响操作。具体来说,将这个模式信号提供给颜色选择器430,用于通知选择器430关于哪些颜色表示可用于当前块。
除了H和T模式之外,块解码器400还可优选地按照iPACKMAN/ETC和“平面”模式进行操作。
如果模式选择器440选择iPACKMAN/ETC解压缩模式,则颜色生成器410根据第一颜色码字或者根据第一和第二颜色码字(取决于块中的图像元素的实际位置)来确定颜色值。在前一种情况中,量化器组成颜色只是优选地扩展为RGB888。在后一种情况中,第二码字的差分成分与来自第一码字的颜色成分相加,并且和数扩展为例如RGB888,以便确定颜色值。颜色修改器420以这种模式进行操作,用于根据至少一个强度码字其中之一、优选地从修改符表500中提供多个强度修改符的集合。颜色选择器430采用与当前图像元素关联的强度指数从所提供集合中选择强度修改符其中之一。颜色修改器420则使用这个所选强度修改符对颜色值进行强度修改,以便计算图像元素的颜色表示。
如果模式选择器440是根据模式指数选择了“平面”模式,则颜色生成器410根据压缩块表示中的至少两个颜色码字来产生至少两个颜色值。这个颜色生成器410优选地配置用于将颜色码字的量化颜色成分优选地扩充或扩展为RGB888。加权管理器450设置在块解码器400中,用于对应当被解码的每个图像元素提供分配给图像元素的颜色加权。在一个优选实现中,不同图像块的给定位置中的对应图像元素具有相同的所分配颜色加权。因此,颜色加权取决于块中的图像元素的坐标或位置,但是对于根据本发明进行压缩的不同块没有改变。因此,加权管理器450优选地根据图像块中的图像元素位置/坐标来提供颜色加权。
颜色修改器420将所提供的颜色加权和所产生的颜色值用于确定用作图像元素的原色的近似的颜色表示。优选地实现修改器420用于组合来自生成器410、但采用来自加权管理器450的颜色加权进行加权的颜色值。
块解码器400的单元410、420、430、440、450和500可作为软件、硬件或者它们的组合来提供。单元410、420、430、440、450和500可在块解码器400中共同实现。或者,分布式实现也是可行的,其中的一部分单元设置在图像解码器中的其它位置上。
硬件实现
图26示意说明根据本发明、可按照H或T模式进行操作的块解码器400的一个可能的硬件实现。对块解码器400的输入是编码块表示700,其中包含14位第一颜色码字710(红色和绿色成分的每个5位,以及蓝色成分4位)、14位第二颜色码字、3位颜色修改符码字730、1位模式指数750和32位颜色指数序列740。
将颜色码字提供给颜色生成器410,它通过六位扩展器411至416来实现。第一位扩展器411接收第一颜色码字的红色成分,第二扩展器412和第三扩展器413分别接收第一码字的绿色和蓝色成分。这三个扩展器411至413共同产生第一基本色。其余三个位扩展器414至416处理第二码字的颜色成分,以便产生第二基本色。来自相应扩展器411至416的输出为8位颜色成分。可通过将5位颜色成分中的三个最高有效位的副本用作所得8位颜色成分的三个最低有效位,来实现五到八位扩展器411、412、414、415。四到八位扩展器413、416只是重复4位颜色成分图案,以便得到8位成分输出。
表查找425表示块解码器的颜色修改符表500。采用输入颜色修改符码字,查找425从表的修改符集之一中取出正确的颜色修改符值,在这种情况中取出单个修改符值。将这个修改符值提供给颜色修改器420的求反部件427。将非求反颜色修改符值提供给两个加法器421、426。第一加法器421将输入修改符值与第一基本色相加,将结果从前三位扩展器411至413输出。优选地通过将修改符值与第一基本色的每个颜色成分来执行这种加法,以便产生沿第二行的第一颜色表示。然后将加法器输出转发给钳制器423。这个钳制器423在必要时将第一颜色表示的颜色成分钳制在0与255之间。
从第二加法器422获得沿第二行的第二颜色表示,第二加法器422接收作为输入的第一基本色和求反颜色修改符值。将求反修改符值与第一基本色的三个成分相加,以便产生第二颜色表示,将该颜色表示输出给第二钳制器424。
另外两个加法器426、428接收来自位扩展器414至416的第二基本色以及修改符值或求反修改符值。来自这两个加法器426、428的输出表示位于色彩空间的第三行上的第三和第四颜色表示。这些颜色表示值同样地由相应钳制器429A、429B钳制在0与255之间。
模式选择器400在这个说明性硬件实现中实现为两个倍增器442、440。第一倍增器442接收来自位扩展器411至413的第一基本色以及来自钳制器429A的第三颜色表示。倍增器442采用压缩块的模式指数450在这两个颜色值之间进行选择。如果模式指数表示T模式(0bin),则倍增器442输出第一基本色,否则,在H模式中输出第三颜色表示。
第二倍增器444接收作为输入、来自扩展器414至416的第二基本色以及第四颜色表示。如果模式指数表示T模式,则倍增器444输出第二基本色。根据H模式,改为输出第四颜色表示。
从钳制器423、424输出的沿色彩空间的第二行的第一和第二颜色表示与来自倍增器442、444的倍增器输出一起转发到构成块编码器的颜色选择器430的一部分的倍增器434。倍增器434选择这四个输入颜色值的哪一个用作图像元素的原色的近似/表示。在这种选择中,倍增器434接收来自颜色选择器430的第二倍增器432的选择信号。将4位地址索引输入到这个第二倍增器432。根据地址索引,倍增器432选择十六个图像元素的哪一个要进行解码。然后,与所选图像元素关联的2位颜色指数被转发给第一倍增器434,并由倍增器434用于识别那个图像元素正确的颜色值。
尽管允许双模操作,但图27中的块编码器400的硬件解决方案非常简单。它可通过本领域众所周知的较少标准组件来实现。
实验结果
为了比较不同压缩方案的图像质量而进行了实验。将本发明的双模实现(在本文中表示为THUMB)以及组合THUMB-iPACKMAN/ETC解决方案与iPACKMAN和S3TC进行比较。为了使图像质量为最大,采用最慢的压缩模式iPACKMAN[3,4]。THUMB利用径向的第二级、采用径向压缩来编码。对于组合解决方案中的THUMB模式,情况也是这样。S3TC采用来自ATI的Compressonator软件包来编码。DirectX模式用于这个比较,对于最低误差分数将加权设置为(1,1,1)。
将结果作为峰值信噪比(PSNR)来提供。
不同方案之间的比较结果见于表5。可以看到,组合解决方案比S3TC优于S3TC 0.5dB以上。单独使用THUMB比使用组合解决方案几乎差1dB。iPACKMAN/ETC的同样数量仅为0.21dB。一般来说,在图像编码中,低于0.25的差异难以察觉。
表5-不同方案的PSNR
  Kodak图像1   Kodak图像2   Kodak图像3   Kodak图像4   Kodak图像5   Lena   Lorikeet   平均增益
  S3TC   34.78   36.86   38.53   37.96   32.80   35.97   34.37   +0.61
  iPACKMAN   36.29   38.09   38.62   38.59   34.12   35.17   33.25   +0.21
  THUMB   34.80   36.86   37.88   37.34   32.97   35.31   33.69   +0.96
  组合   36.26   38.12   38.92   38.66   34.08   35.66   33.99   -
最右列显示将不同压缩方案与组合iPACKMAN-THUMB解决方案进行比较时单位为dB的平均增益。
本发明的一个具体目标是提供一种图像处理方案,它可处理对于iPACKMAN/ETC最有问题的特定块。从图27清楚看到,正确实现这个目标。在这个图中,说明典型的问题块的三个实例。顶部:在显示道路的这个实例中,可看到iPACKMAN/ETC的主要问题。包含两个不同色调的图像块未被最佳地编码。中部:这里是iPACMAN/ETC的强度的实例。亮度的小过渡被完善编码,在眼睛周围以及在脸颊上可以看到。THUMB和S3TC具有更斑驳的外表。对于S3TC,在耳朵中还可看到大的图像瑕疵。由于组合解决方案继承了iPACKMAN/ETC的强度,所以这些块被完善编码。底部:这最后一个实例是***的剪切图。在这里,S3TC的性能由于它在基本色之间的线性内插而是最佳的。由于块包含一个以上色调,所以对于iPACKMAN,结果趋向于斑驳。THUMB和组合解决方案对图像更好地编码,但可看到某些边缘。
本领域的技术人员会理解,可以对本发明进行各种修改和变更,而没有背离所附权利要求书定义的本发明的范围。
参考文献
[1]美国专利No.5956431
[2]国际专利申请No.WO 2005/059836
[3]国际专利申请No.WO 2006/006915
[4]
Figure A20068003005700721
Akenine-移动电话的iPACKMAN高质量低复杂度纹理压缩,Graphics Hardware 05,Los Angeles,USA,2005年6月
[5]Y.Linde、A.Buzo和R.Gray的“向量量化器设计的算法”,IEEE Transaction on Communications,Vol.28,第84-94页,1980年1月
[6]国际专利申请No.PCT/SE2006/00613
权利要求书(按照条约第19条的修改)
至少一个颜色修改符,所述第三行不同于所述第二行;以及
-所述指数选择器在所述第二压缩模式中适合对所述图像块中的每个图像元素来选择与从多个颜色表示的所述第一和第二集合中选取的颜色表示关联的颜色指数,以及
-所述第一颜色量化器在所述第三压缩模式中适合于确定所述第一颜色码字作为所述第一基本色的表示;
-所述第二颜色量化器在所述第三压缩模式中适合于确定所述第二颜色码字作为差分颜色的表示,其中,所述第二基本色是作为所述第一基本色和所述差分颜色之和可得到的;
-所述修改符量化器在所述第三压缩模式中适合于提供至少一个强度码字作为用于修改所述第一或第二基本色的强度以便得到多个颜色表示的多个强度修改符集合的表示;
-所述指数选择器在所述第三压缩模式中适合对所述图像块中的每个图像元素来选择与来自所述强度修改符集合的强度修改符关联的强度索引,所述***还包括:
-模式选择器,用于选择所述第一、第二或第三压缩图像块作为所述图像块的压缩表示;以及
-模式指数管理器,用于提供与用于所述模式选择器所选的所述压缩图像块的压缩模式关联的模式指数。
30. 一种用于对图像进行编码的***,所述***包括:
-图像分解器,用于将所述图像分解为图像块,各图像块包含多个图像元素;以及
-如权利要求23至29中的任一项所述的***,用于对至少一个图像块、通过压缩所述至少一个图像块来确定编码表示。
31. 一种用于处理包含多个图像元素的图像块的压缩表示的***,所述压缩表示包括第一颜色码字、第二颜色码字、颜色修改符码字和颜色指数序列,以及所述***包括:
-第一颜色生成器,用于根据所述第一颜色码字来确定第一基本色;
-第二色颜色生成器,用于根据所述第二颜色码字来确定第二基本色,所述第一和第二基本色位于色彩空间中具有第一方向的第一行;
-基本色修改器,用于通过采用所述颜色修改符码字所表示的至少一个颜色修改符来修改所述第一基本色,产生沿色彩空间中具有第二方向的第二行的多个颜色表示,所述第二方向不同于所述第一方向;以及
-颜色选择器,用于对所述图像块中的至少一个图像元素并根据所述颜色指数序列来选择颜色表示。
32. 如权利要求31所述的***,其特征在于,所述基本色修改器设置用于:i)根据所述颜色修改符码字来提供所述至少一个颜色修改符;以及ii)根据所述所提供的至少一个颜色修改符来修改沿所述第二行的所述第一基本色,以便得到沿所述第二行的所述多个颜色表示。
33. 如权利要求31或32所述的***,其特征在于,所述颜色修改符码字是表示包含多个颜色修改符的修改符表中的至少一个颜色修改符的表索引,以及所述基本色修改器设置成用于根据所述表索引从所述修改符表中选择所述至少一个颜色修改符。
34. 如权利要求31或32所述的***,其特征在于,所述颜色修改符码字是位移数的表示,以及所述基本色修改器设置成用于将位组合位移等于所述位移数的次数,以便得到所述至少一个颜色修改符。
35. 如权利要求31至34中的任一项所述的***,其特征在于,所述基本色修改器设置成用于:i)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第一基本色来产生沿所述第二行的多个颜色表示的第一集合;以及ii)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第二基本色来产生沿色彩空间中的第三行的多个颜色表示的第二集合,所述第三行不同于所述第二行,

Claims (39)

1. 一种压缩包含多个图像元素的图像块的方法,所述方法包括以下步骤:
-确定第一颜色码字作为第一基本色的表示;
-确定第二颜色码字作为第二基本色的表示,所述第一和第二基本色位于色彩空间中具有第一方向的第一行;
-提供颜色修改符码字作为至少一个颜色修改符的表示,所述至少一个颜色修改符适用于修改沿色彩空间中具有第二方向的第二行的所述第一基本色,以便获得沿所述第二行的多个颜色表示,所述第二方向不同于所述第一方向;以及
-对于所述图像块中的每个图像元素来选择关联从以下颜色表示中选取的颜色表示的颜色指数:i)沿所述第二行的所述多个颜色表示;以及ii)基于所述第二基本色的至少一个颜色表示。
2. 如权利要求1所述的方法,其特征在于,所述第一基本色位于所述第二行,以及所述第二基本色位于色彩空间的第三行,所述第三行不同于所述第二行,并且基于所述第二基本色的所述至少一个颜色表示位于所述第三行。
3. 如权利要求2所述的方法,其特征在于,所述第三行与所述第二行平行。
4. 如权利要求1至3中的任一项所述的方法,其特征在于,所述第二方向是色彩空间中的亮度方向。
5. 如权利要求1至4中的任一项所述的方法,其特征在于,所述提供步骤包括提供颜色修改符码字作为沿所述第二行从所述第一基本色传播的至少一个距离的表示,以便对所述至少一个距离的每个获得沿所述第二行的至少一个颜色表示。
6. 如权利要求1至5中的任一项所述的方法,其特征在于,所述提供步骤包括提供颜色修改符码字作为位组合位移次数的表示,以便得到所述至少一个颜色修改符。
7. 如权利要求1至5中的任一项所述的方法,其特征在于,所述提供步骤包括提供作为表示来自包含多个颜色修改符的修改符表的至少一个颜色修改符的表索引的表示的颜色修改符码字,所述多个颜色表示是通过根据与所述表索引关联的所述至少一个颜色修改符沿所述第二行修改所述第一基本色可得到的。
8. 如权利要求1至7中的任一项所述的方法,其特征在于,所述提供步骤包括提供作为以下颜色修改符的表示的颜色修改符码字:i)至少一个颜色修改符,所述至少一个颜色修改符适用于修改沿所述第二行的所述第一基本色,以便得到沿所述第二行的多个颜色表示的第一集合;以及ii)至少一个颜色修改符,所述至少一个颜色修改符适合于修改沿色彩空间中的第三行的所述第二基本色,以便得到沿所述第三行的多个颜色表示的第二集合,所述第三行不同于所述第二行,以及所述选择步骤包括对所述图像块中的每个图像元素选择与从多个颜色表示的所述第一和第二集合中选取的颜色表示相关联的颜色指数。
9. 如权利要求1至8中的任一项所述的方法,其特征在于,所述提供步骤包括提供作为以下距离的表示的颜色修改符码字:i)沿所述第二行从所述第一基本色传播的第一距离,以便得到沿所述第二行的第一和第二颜色表示;以及ii)沿第三行从所述第二基本色传播的第二距离,以便得到沿所述第三行的第三和第四颜色表示,所述第三行不同于所述第二行,以及所述选择步骤包括对所述图像块中的每个图像元素选择与从所述第一、第二、第三和第四颜色表示中选取的颜色表示相关联的颜色指数。
10. 如权利要求9所述的方法,其特征在于,所述第一距离等于所述第二距离。
11. 如权利要求1至10中的任一项所述的方法,其特征在于,所述提供和选择步骤包括以下步骤:
-通过以下步骤产生所述图像块的第一压缩图像块:
-提供颜色修改符码字作为所述至少一个颜色修改符的表示,所述至少一个颜色修改符适用于修改沿所述第二行的所述第一基本色,以便得到沿所述第二行的所述多个颜色表示;以及
-对于所述图像块中的每个图像元素来选择颜色指数,所述颜色指数与从沿所述第二行的所述多个颜色表示以及基于所述第二基本色的颜色表示中选取的颜色表示相关联;
-通过以下步骤产生所述图像块的第二压缩图像块:
-提供作为以下颜色修改符的表示的颜色修改符码字:i)适合于修改沿所述第二行的所述第一基本色以便得到沿所述第二行的多个颜色表示的第一集合的至少一个颜色修改符;以及ii)适合于修改沿色彩空间中的第三行的所述第二基本色以便得到沿所述第三行的多个颜色表示的第二集合的至少一个颜色修改符,所述第三行不同于所述第二行;以及
-对于所述图像块中的每个图像元素来选择颜色指数,所述颜色指数与从多个颜色表示的所述第一和第二集合中选取的颜色表示相关联;
-选择所述第一或第二压缩图像块作为所述图像块的压缩表示;以及
-提供与所述所选第一或第二压缩图像块相关联的模式指数。
12. 如权利要求1至11中的任一项所述的方法,其特征在于,所述确定、提供和选择步骤包括以下步骤:
-通过以下步骤产生所述图像块的第一压缩图像块:
-确定所述第一颜色码字作为所述第一基本色的表示;
-确定所述第二颜色码字作为第二基本色的表示;
-提供所述颜色修改符码字作为所述至少一个颜色修改符的表示,所述至少一个颜色修改符适用于修改沿所述第二行的所述第一基本色,以便得到沿所述第二行的所述多个颜色表示;以及
-对于所述图像块中的每个图像元素来选择与从沿所述第二行的所述多个颜色表示以及基于所述第二基本色的颜色表示中选取的颜色表示相关联的颜色指数;
-通过以下步骤产生所述图像块的第二压缩图像:
-确定作为所述第一基本色的表示的所述第一颜色码字;
-确定作为第二基本色的表示的所述第二颜色码字;
-提供作为以下颜色修改符的表示的颜色修改符码字:i)适合于修改沿所述第二行的所述第一基本色以便得到沿所述第二行的多个颜色表示的第一集合的至少一个颜色修改符;以及ii)适合于修改沿色彩空间中的第三行的所述第二基本色以便得到沿所述第三行的多个颜色表示的第二集合的至少一个颜色修改符,所述第三行不同于所述第一行;以及
-对于所述图像块中的每个图像元素来选择颜色指数,所述颜色指数与从多个颜色表示的所述第一和第二集合中选取的颜色表示相关联;
-通过以下步骤产生所述图像块的第三压缩图像:
-确定所述第一颜色码字作为所述第一基本色的表示;
-确定所述第二颜色码字作为差分颜色的表示,其中,所述第二基本色是作为所述第一基本色和所述差分颜色之和可得到的;
-提供至少一个强度码字作为用于修改所述第一或第二基本色的强度以便得到多个颜色表示的多个强度修改符集合的表示;
-对于所述图像块中的每个图像元素,选择与来自所述强度修改符集合的强度修改符关联的强度指数;
-选择所述第一、第二或第三压缩图像块作为所述图像块的压缩表示;以及
-提供与所述所选第一、第二或第三压缩图像块关联的模式指数。
13. 一种对图像进行编码的方法,所述方法包括以下步骤:
-将所述图像分解为图像块,每个图像块包括多个图像元素;以及
-对于至少一个图像块,通过按照权利要求1至12中的任一项压缩所述至少一个图像块来确定编码表示。
14. 一种包含多个图像元素的图像块的信号表示,所述信号表示包括:
-表示第一基本色的第一颜色码字;
-表示第二基本色的第二颜色码字,所述第一和第二基本色位于色彩空间中具有第一方向的第一行;
-表示至少一个颜色修改符的颜色修改符码字,所述至少一个颜色修改符适用于修改沿色彩空间中具有第二方向的第二行的所述第一基本色,以便获得沿所述第二行的多个颜色表示,所述第二方向不同于所述第一方向;以及
-颜色指数的序列,其中,颜色指数对于所述图像块中的每个图像元素与从以下颜色表示中选取的颜色表示关联:i)沿所述第二行的所述多个颜色表示;以及ii)基于所述第二基本色的至少一个颜色表示。
15. 一种处理包含多个图像元素的图像块的压缩表示的方法,所述压缩表示包括第一颜色码字、第二颜色码字、颜色修改符码字和颜色指数序列,以及所述方法包括以下步骤:
-根据所述第一颜色码字来确定第一基本色;
-根据所述第二颜色码字来确定第二基本色,所述第一和第二基本色位于色彩空间中具有第一方向的第一行;
-通过采用由所述颜色修改符码字所表示的至少一个颜色修改符来修改所述第一基本色,产生沿色彩空间中具有第二方向的第二行的多个颜色表示,所述第二方向不同于所述第一方向;以及对于所述图像块中的至少一个图像元素:
-根据所述颜色指数序列从以下颜色表示中选择颜色表示:i)沿所述第二行的所述多个颜色表示;以及ii)基于所述第二基本色的至少一个颜色表示。
16. 如权利要求15所述的方法,其特征在于,所述生成步骤包括以下步骤:
-根据所述颜色修改符码字来提供所述至少一个颜色修改符;以及
-根据所述所提供的至少一个颜色修改符来修改沿所述第二行的所述第一基本色,以便得到沿所述第二行的所述多个颜色表示。
17. 如权利要求16所述的方法,其特征在于,所述颜色修改符码字是表示包含多个颜色修改符的修改符表中的至少一个颜色修改符的表索引,以及所述提供步骤包括根据所述表索引从所述修改符表中选择所述至少一个颜色修改符。
18. 如权利要求16所述的方法,其特征在于,所述颜色修改符码字是位移次数的表示,以及所述提供步骤包括将位组合位移等于所述位移数的次数,以便得到所述至少一个颜色修改符。
19. 如权利要求15至18中的任一项所述的方法,其特征在于,
所述生成步骤包括:i)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第一基本色,来产生沿所述第二行的多个颜色表示的第一集合;以及ii)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第二基本色来产生沿色彩空间中的第三行的多个颜色表示的第二集合,所述第三行不同于所述第二行,以及所述选择步骤包括对所述至少一个图像元素并根据所述颜色指数序列从多个颜色表示的所述第一和第二集合中选择颜色表示。
20. 如权利要求15至19中的任一项所述的方法,其特征在于,所述压缩表示还包括模式指数,以及所述方法包括根据所述模式指数来选择解压缩模式的另一个步骤,
如果根据所述模式指数选取了第一解压缩模式,则所述生成和选择步骤包括:
-通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第一基本色,来产生沿所述第二行的所述多个颜色表示;以及
对于所述图像块中的至少一个图像元素:
-根据所述颜色指数序列从以下颜色表示中选择颜色表示:i)沿所述第二行的所述多个颜色表示;以及ii)基于所述第二基本色的颜色表示,
如果根据所述模式指数选取了第二解压缩模式,则所述生成和选择步骤包括:
-i)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第一基本色,来产生沿所述第二行的多个颜色表示的第一集合;以及ii)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第二基本色,来产生沿色彩空间中的第三行的多个颜色表示的第二集合,所述第三行不同于所述第二行;以及
对于所述图像块中的至少一个图像元素:
-采用所述颜色指数序列从多个颜色表示的所述第一和第二集合中选择颜色表示。
21. 如权利要求15至20中的任一项所述的方法,其特征在于,所述压缩表示还包括模式指数,以及所述方法包括根据所述模式指数来选择解压缩的另一个步骤,
如果根据所述模式指数选取了第一解压缩模式,则所述确定、生成和选择步骤包括:
-根据所述第一颜色码字来确定所述第一基本色;
-根据所述第二颜色码字来确定所述第二基本色,所述第一和第二基本色位于所述第一行;
-通过采用所述颜色修改符码字所表示的所述至少一个颜色修改符修改所述第一基本色,来产生沿所述第二行的所述多个颜色表示;以及
对于所述图像块中的至少一个图像元素:
-根据所述颜色指数序列从以下颜色表示中选择颜色表示:i)沿所述第二行的所述多个颜色表示;以及ii)基于所述第二基本色的颜色表示,
如果根据所述模式指数选取了第二解压缩模式,则所述确定、生成和选择步骤包括:
-根据所述第一颜色码字来确定所述第一基本色;
-根据所述第二颜色码字来确定所述第二基本色,所述第一和第二基本色位于所述第一行;
-i)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第一基本色,来产生沿所述第二行的多个颜色表示的第一集合;以及ii)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第二基本色,来产生沿色彩空间中的第三行的多个颜色表示的第二集合,所述第三行不同于所述第二行;以及
对于所述图像块中的至少一个图像元素:
-根据所述颜色指数序列从多个颜色表示的所述第一和第二集合中选择颜色表示,如果根据所述模式指数选择了第三解压缩模式,则所述确定、生成和选择步骤包括:
-根据所述第一颜色码字来确定所述第一基本色;
-根据所述第一颜色码字和第二颜色码字来确定所述第二基本色,所述第一和第二基本色位于所述第一行;
-根据所述颜色修改符码字来提供多个强度修改符的集合;
对于所述图像块中的至少一个图像元素:
-根据所述颜色指数序列从所述强度修改符集合中选择强度修改符;以及
-通过根据所述所选强度修改符修改所述第一或第二基本色的强度,来产生颜色表示。
22. 一种对包括图像块的编码表示的编码图像进行解码的方法,其中图像块包含多个图像元素,所述方法包括以下步骤:
-根据权利要求15至21中的任一项来处理图像块的压缩表示,以便产生图像元素的多个颜色表示;以及
-通过合成图像元素的所述多个颜色表示来产生所述编码图像的解码表示。
23. 一种用于压缩包含多个图像元素的图像块的***,所述***包括:
-第一颜色量化器,用于确定第一颜色码字作为第一基本色的表示;
-第二颜色量化器,确定第二颜色码字作为第二基本色的表示,所述第一和第二基本色位于色彩空间中具有第一方向的第一行;
-修改符量化器,用于提供颜色修改符码字作为至少一个颜色修改符的表示,所述至少一个颜色修改符适用于修改沿色彩空间中具有第二方向的第二行的所述第一基本色以便得到沿所述第二行的多个颜色表示的,所述第二方向不同于所述第一方向;以及
-指数选择器,用于对所述图像块中的每个图像元素来选择与从以下颜色表示中选取的颜色表示关联的颜色指数:i)沿所述第二行的所述多个颜色表示;以及ii)基于所述第二基本色的至少一个颜色表示。
24. 如权利要求23所述的***,其特征在于,所述修改符量化器适合于提供颜色修改符码字作为沿所述第二行从所述第一基本色传播的至少一个距离的表示,以便对所述至少一个距离的每个获得沿所述第二行的至少一个颜色表示。
25. 如权利要求23或24所述的***,其特征在于,所述修改符量化器适合于提供颜色修改符码字作为位组合应当位移的次数的表示,以便得到所述至少一个颜色修改符。
26. 如权利要求23或24所述的***,其特征在于,所述修改符量化器适合于提供表示来自包含多个颜色修改符的修改符表的至少一个颜色修改符的表索引,所述多个颜色表示是通过根据与所述表索引关联的所述至少一个颜色修改符沿所述第二行修改所述第一基本色可得到的。
27. 如权利要求23至26中的任一项所述的***,其特征在于,所述修改符量化器适合于提供颜色修改符码字作为以下颜色修改符的表示:i)适用于修改沿所述第二行的所述第一基本色以便得到沿所述第二行的多个颜色表示的第一集合的至少一个颜色修改符;以及ii)适合于修改沿色彩空间中的第三行的所述第二基本色以便得到沿所述第三行的多个颜色表示的第二集合的至少一个颜色修改符,所述第三行不同于所述第二行,以及所述指数选择器适合于对所述图像块中的每个图像元素选择与从多个颜色表示的所述第一和第二集合中选取的颜色表示关联的颜色指数。
28. 如权利要求23至27中的任一项所述的***,其特征在于,所述***适合于按照第一压缩模式来产生第一压缩图像块,以及适合于按照第二压缩模式来产生第二压缩图像块,
-所述修改符量化器在所述第一压缩模式中适合于提供颜色修改符码字作为所述至少一个颜色修改符的表示,所述至少一个颜色修改符适用于修改沿所述第二行的所述第一基本色以便得到沿所述第二行的所述多个颜色表示;以及
-所述指数选择器在第一第二压缩模式中适合对所述图像块中的每个图像元素来选择与从沿所述第二行的所述多个颜色表示以及基于所述第二基本色的颜色表示中选取的颜色表示关联的颜色指数,以及
-所述修改符量化器在所述第二压缩模式中适合于提供作为以下颜色修改符的表示的颜色修改符码字:i)适合于修改沿所述第二行的所述第一基本色以便得到沿所述第二行的多个颜色表示的第一集合的至少一个颜色修改符;以及ii)适合于修改沿色彩空间中的第三行的所述第二基本色以便得到沿所述第三行的多个颜色表示的第二集合的至少一个颜色修改符,所述第三行不同于所述第二行;以及
-所述指数选择器在第一第二压缩模式中适合对所述图像块中的每个图像元素来选择与从多个颜色表示的所述第一和第二集合中选取的颜色表示关联的颜色指数,所述***还包括:
-模式选择器,用于选择所述第一或第二压缩图像块作为所述图像块的压缩表示;以及
-模式指数管理器,用于提供与用于所述模式选择器所选的所述压缩图像块的压缩模式关联的模式指数。
29. 如权利要求23至28中的任一项所述的***,其特征在于,所述***适合于按照第一压缩模式来产生第一压缩图像块,适合于按照第二压缩模式来产生第二压缩图像块,以及适合于按照第三压缩模式来产生第三压缩图像块,
-所述第一颜色量化器在所述第一压缩模式中适合于确定所述第一颜色码字作为所述第一基本色的表示;
-所述第二颜色量化器在所述第一压缩模式中适合于确定所述第二颜色码字作为第二基本色的表示;
-所述修改符量化器在所述第一压缩模式中适合于提供颜色修改符码字作为所述至少一个颜色修改符的表示,所述至少一个颜色修改符适用于修改沿所述第二行的所述第一基本色以便得到沿所述第二行的所述多个颜色表示;以及
-所述指数选择器在所述第一压缩模式中适合对所述图像块中的每个图像元素来选择与从沿所述第二行的所述多个颜色表示以及基于所述第二基本色的颜色表示中选取的颜色表示关联的颜色指数,
-所述第一颜色量化器在所述第二压缩模式中适合于确定所述第一颜色码字作为所述第一基本色的表示;
-所述第二颜色量化器在所述第二压缩模式中适合于确定所述第二颜色码字作为第二基本色的表示;
-所述修改符量化器在所述第二压缩模式中适合于提供所述颜色修改符码字作为以下颜色修改符的表示:i)适合于修改沿所述第二行的所述第一基本色以便得到沿所述第二行的多个颜色表示的第一集合的至少一个颜色修改符;以及ii)适合于修改沿色彩空间中的第三行的所述第二基本色以便得到沿所述第三行的多个颜色表示的第二集合的至少一个颜色修改符,所述第三行不同于所述第二行;以及
-所述指数选择器在所述第二压缩模式中适合对所述图像块中的每个图像元素来选择与从多个颜色表示的所述第一和第二集合中选取的颜色表示关联的颜色指数,以及
-所述第一颜色量化器在所述第三压缩模式中适合于确定所述第一颜色码字作为所述第一基本色的表示;
-所述第二颜色量化器在所述第三压缩模式中适合于确定所述第二颜色码字作为差分颜色的表示,其中,所述第二基本色是作为所述第一基本色和所述差分颜色之和可得到的;
-所述修改符量化器在所述第三压缩模式中适合于提供至少一个强度码字作为用于修改所述第一或第二基本色的强度以便得到多个颜色表示的多个强度修改符集合的表示;
-所述指数选择器在所述第三压缩模式中适合对所述图像块中的每个图像元素来选择与来自所述强度修改符集合的强度修改符关联的强度索引,所述***还包括:
-模式选择器,用于选择所述第一、第二或第三压缩图像块作为所述图像块的压缩表示;以及
-模式指数管理器,用于提供与用于所述模式选择器所选的所述压缩图像块的压缩模式关联的模式指数。
30. 一种用于对图像进行编码的***,所述***包括:
-图像分解器,用于将所述图像分解为图像块,各图像块包含多个图像元素;以及
-如权利要求23至30中的任一项所述的***,用于对至少一个图像块、通过压缩所述至少一个图像块来确定编码表示。
31. 一种用于处理包含多个图像元素的图像块的压缩表示的***,所述压缩表示包括第一颜色码字、第二颜色码字、颜色修改符码字和颜色指数序列,以及所述***包括:
-第一颜色生成器,用于根据所述第一颜色码字来确定第一基本色;
-第二颜色生成器,用于根据所述第二颜色码字来确定第二基本色,所述第一和第二基本色位于色彩空间中具有第一方向的第一行;
-基本色修改器,用于通过采用所述颜色修改符码字所表示的至少一个颜色修改符来修改所述第一基本色,产生沿色彩空间中具有第二方向的第二行的多个颜色表示,所述第二方向不同于所述第一方向;以及
-颜色选择器,用于对所述图像块中的至少一个图像元素并根据所述颜色指数序列从以下颜色表示中选择颜色表示:i)沿所述第二行的所述多个颜色表示;以及ii)基于所述第二基本色的至少一个颜色表示。
32. 如权利要求31所述的***,其特征在于,所述基本色修改器设置用于:i)根据所述颜色修改符码字来提供所述至少一个颜色修改符;以及ii)根据所述所提供的至少一个颜色修改符来修改沿所述第二行的所述第一基本色,以便得到沿所述第二行的所述多个颜色表示。
33. 如权利要求31或32所述的***,其特征在于,所述颜色修改符码字是表示包含多个颜色修改符的修改符表中的至少一个颜色修改符的表索引,以及所述基本色修改器设置成用于根据所述表索引从所述修改符表中选择所述至少一个颜色修改符。
34. 如权利要求31或32所述的***,其特征在于,所述颜色修改符码字是位移数的表示,以及所述基本色修改器设置成用于将位组合位移等于所述位移数的次数,以便得到所述至少一个颜色修改符。
35. 如权利要求31至34中的任一项所述的***,其特征在于,所述基本色修改器设置成用于:i)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第一基本色来产生沿所述第二行的多个颜色表示的第一集合;以及ii)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第二基本色来产生沿色彩空间中的第三行的多个颜色表示的第二集合,所述第三行不同于所述第二行,以及所述颜色选择器设置成用于对所述至少一个图像元素并根据所述颜色指数序列从多个颜色表示的所述第一和第二集合中选择颜色表示。
36. 如权利要求31至35中的任一项所述的***,其特征在于,所述压缩表示还包括模式指数,以及所述***包括用于根据所述模式指数来选择解压缩的模式选择器,
-所述基本色修改器设置成用于在第一解压缩模式中通过采用所述颜色修改符码字所表示的所述至少一个颜色修改符修改所述第一基本色,来产生沿所述第二行的所述多个颜色表示;以及
-所述颜色选择器设置成用于在所述第一解压缩模式中对所述至少一个图像元素并根据所述颜色指数序列从以下颜色表示中选择颜色表示:i)沿所述第二行的所述多个颜色表示;以及ii)基于所述第二基本色的颜色表示,以及
-所述基本色修改器设置成用于在第二解压缩模式中:i)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第一基本色,来产生沿所述第二行的多个颜色表示的第一集合;以及ii)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第二基本色,来产生沿色彩空间中的第三行的多个颜色表示的第二集合,所述第三行不同于所述第二行;以及
-所述颜色选择器设置成用于在所述第二解压缩模式中对所述至少一个图像元素并根据所述颜色指数序列从多个颜色表示的所述第一和第二集合中选择颜色表示。
37. 如权利要求31至36中的任一项所述的***,其特征在于,所述压缩表示还包括模式指数,以及所述***包括用于根据所述模式指数来选择解压缩的模式选择器,
-所述第一颜色生成器设置成用于在第一解压缩模式中根据所述第一颜色码字来确定所述第一基本色;
-所述第二颜色生成器设置成用于在所述第一解压缩模式中根据所述第二颜色码字来确定所述第二基本色;
-所述基本色修改器设置成用于在所述第一解压缩模式中通过采用所述颜色修改符码字所表示的所述至少一个颜色修改符修改所述第一基本色,来产生沿所述第二行的所述多个颜色表示;以及
-所述颜色选择器设置成用于在所述第一解压缩模式中对所述至少一个图像元素并根据所述颜色指数序列从以下颜色表示中选择颜色表示:i)沿所述第二行的所述多个颜色表示;以及ii)基于所述第二基本色的颜色表示,
-所述第一颜色生成器设置成用于在第二解压缩模式中根据所述第一颜色码字来确定所述第一基本色;
-所述第二颜色生成器设置成用于在所述第二解压缩模式中根据所述第二颜色码字来确定所述第二基本色;
-所述基本色修改器设置成用于在所述第二解压缩模式中:i)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第一基本色,来产生沿所述第二行的多个颜色表示的第一集合;以及ii)通过采用所述颜色修改符码字所表示的至少一个颜色修改符修改所述第二基本色,来产生沿色彩空间中的第三行的多个颜色表示的第二集合,所述第三行不同于所述第二行;以及
-所述颜色选择器设置成用于在所述第二解压缩模式中对所述至少一个图像元素并根据所述颜色指数序列从多个颜色表示的所述第一和第二集合中选择颜色表示,以及
-所述第一颜色生成器设置成用于在第三解压缩模式中根据所述第一颜色码字来确定所述第一基本色;
-所述第二颜色生成器设置成用于在所述第三解压缩模式中根据所述第一颜色码字和第二颜色码字来确定所述第二基本色;
-所述基本色修改器设置成用于在所述第三解压缩模式中根据所述颜色修改符码字来提供多个强度修改符的集合;
-所述颜色选择器设置成用于在所述第三解压缩模式中根据所述颜色指数序列从所述强度修改符集合中选择强度修改符;以及
-所述基本色修改器还设置成用于在所述第三解压缩模式中通过根据所述所选强度修改符修改所述第一或第二基本色的强度,来产生颜色表示。
38. 一种用于对包括图像块的编码表示的编码图像进行解码的***,其中的图像块包含多个图像元素,所述***包括:
-如权利要求31至37中的任一项所述的处理***,用于处理图像块的压缩表示,以便产生图像元素的多个颜色表示;以及
-图像合成器,用于通过合成图像元素的所述多个颜色表示来产生所述编码图像的解码表示。
39. 一种用户终端,包括如权利要求23至38中的任一项所述的***。
CN200680030057.XA 2005-08-19 2006-07-14 基于具有修改亮度的两个色调的纹理压缩 Active CN101258526B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US70943205P 2005-08-19 2005-08-19
US60/709,432 2005-08-19
PCT/SE2006/000885 WO2007021227A1 (en) 2005-08-19 2006-07-14 Texture compression based on two hues with modified brightness

Publications (2)

Publication Number Publication Date
CN101258526A true CN101258526A (zh) 2008-09-03
CN101258526B CN101258526B (zh) 2011-05-11

Family

ID=36954931

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680030057.XA Active CN101258526B (zh) 2005-08-19 2006-07-14 基于具有修改亮度的两个色调的纹理压缩

Country Status (8)

Country Link
US (1) US8144981B2 (zh)
EP (1) EP1924970B1 (zh)
CN (1) CN101258526B (zh)
AT (1) ATE425516T1 (zh)
CA (1) CA2618686A1 (zh)
DE (1) DE602006005689D1 (zh)
RU (1) RU2407223C2 (zh)
WO (1) WO2007021227A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0401850D0 (sv) 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
EP3023940B1 (en) * 2005-05-27 2019-02-27 Telefonaktiebolaget LM Ericsson (publ) Weight based image processing
EP1977605B1 (en) 2006-01-23 2020-04-15 Telefonaktiebolaget LM Ericsson (publ) Image processing
US7787691B2 (en) 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing
US7683910B2 (en) * 2006-06-29 2010-03-23 Microsoft Corporation Strategies for lossy compression of textures
US7714873B2 (en) * 2006-06-29 2010-05-11 Microsoft Corporation Strategies for compressing textures
US9418450B2 (en) 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
EP2107812A1 (en) * 2008-04-03 2009-10-07 STMicroelectronics (Grenoble) SAS Compression/decompression of digital images
US8165393B2 (en) 2008-06-05 2012-04-24 Microsoft Corp. High dynamic range texture compression
US20090322777A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Unified texture compression framework
EP2380353B1 (en) * 2009-01-19 2017-11-08 Telefonaktiebolaget LM Ericsson (publ) Image processing for memory compression
EP2556492A4 (en) * 2010-04-07 2016-08-31 Ericsson Telefon Ab L M COMPRESSION AND DECOMPRESSION OF TEXTURE
GB2487717B (en) * 2011-01-25 2017-06-21 Advanced Risc Mach Ltd Image encoding method
US8995764B2 (en) * 2011-04-04 2015-03-31 Telefonaktiebolaget L M Ericsson (Publ) Method and an arrangement for texture compression
US20130207994A1 (en) * 2012-02-13 2013-08-15 Vilen Rodeski System and method for generating and applying a color theme to a user interface
US9294766B2 (en) 2013-09-09 2016-03-22 Apple Inc. Chroma quantization in video coding
JP6336058B2 (ja) * 2013-10-14 2018-06-06 マイクロソフト テクノロジー ライセンシング,エルエルシー ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能
RU2654129C2 (ru) 2013-10-14 2018-05-16 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений
EP3058736B1 (en) 2013-10-14 2019-02-27 Microsoft Technology Licensing, LLC Encoder-side options for intra block copy prediction mode for video and image coding
US10419774B2 (en) 2013-12-10 2019-09-17 Canon Kabushiki Kaisha Palette mode in HEVC
EP3080990B1 (en) * 2013-12-10 2018-09-05 Canon Kabushiki Kaisha Method and apparatus for encoding or decoding a palette in palette coding mode
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
RU2669005C2 (ru) 2014-01-03 2018-10-05 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Предсказание вектора блока в кодировании/декодировании видео и изображений
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
US9843816B2 (en) * 2014-04-21 2017-12-12 Qualcomm Incorporated System and method for coding in pattern mode for display stream compression (DSC)
KR102413529B1 (ko) 2014-06-19 2022-06-24 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 통합된 인트라 블록 카피 및 인터 예측 모드
WO2016049839A1 (en) 2014-09-30 2016-04-07 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US10152804B2 (en) 2015-02-13 2018-12-11 Smugmug, Inc. System and method for dynamic color scheme application
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
US10148972B2 (en) * 2016-01-08 2018-12-04 Futurewei Technologies, Inc. JPEG image to compressed GPU texture transcoder
JP6702602B2 (ja) * 2016-08-25 2020-06-03 Necディスプレイソリューションズ株式会社 自己画像診断方法、自己画像診断プログラム、ディスプレイ装置、及び自己画像診断システム
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US11308152B2 (en) * 2018-06-07 2022-04-19 Canon Kabushiki Kaisha Quantization method for feature vector, search method, apparatus and storage medium
CN112929669B (zh) * 2021-01-21 2022-12-06 重庆京像微电子有限公司 图像编码及解码方法、装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2544574B1 (fr) * 1983-04-13 1985-06-14 Guichard Jacques Procede de codage par compression d'un signal numerique video en couleur
DE680030T1 (de) * 1993-11-18 1996-05-02 Sega Enterprises, Ltd., Tokio/Tokyo Datenverdichtungsverfahren, bilddatenspeicher und einrichtung zum expandieren verdichteter daten.
US6236405B1 (en) * 1996-07-01 2001-05-22 S3 Graphics Co., Ltd. System and method for mapping textures onto surfaces of computer-generated objects
US6128406A (en) * 1997-04-30 2000-10-03 Fujitsu Microelectronics, Inc. Method of compressing and decompressing graphics images
JP2002369010A (ja) * 2001-06-05 2002-12-20 Nec Corp 画像符号化装置及び画像復号装置
CN1190755C (zh) * 2002-11-08 2005-02-23 北京工业大学 基于感知器的彩色图像无损压缩方法
SE0401852D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE0401850D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE526226C2 (sv) * 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
CA2572967C (en) * 2004-07-08 2012-10-16 Telefonaktiebolaget L M Ericsson (Publ) Multi-mode image processing
US7787691B2 (en) * 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing

Also Published As

Publication number Publication date
EP1924970A1 (en) 2008-05-28
US8144981B2 (en) 2012-03-27
RU2407223C2 (ru) 2010-12-20
US20090003692A1 (en) 2009-01-01
DE602006005689D1 (de) 2009-04-23
EP1924970B1 (en) 2009-03-11
WO2007021227A1 (en) 2007-02-22
RU2008110507A (ru) 2009-09-27
CN101258526B (zh) 2011-05-11
ATE425516T1 (de) 2009-03-15
CA2618686A1 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
CN101258526B (zh) 基于具有修改亮度的两个色调的纹理压缩
CN100498838C (zh) 多模α图像处理方法及***
EP1697899B1 (en) Multi-mode alpha imag eprocessing
CN101233542B (zh) 基于权重的图像处理
US7751630B2 (en) Multi-mode image processing
CN101919254B (zh) 基于预测的图像处理
EP1697900B1 (en) Multi-mode image processing
CA2635542A1 (en) High quality image processing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant