用于编码数据的方法和设备技术

技术编号:7481414 阅读:244 留言:0更新日期:2012-07-05 14:23
一种编码将用于图形处理的纹理数据元素集合的方法,包括:把纹理数据元素集合划分成这种元素的多个子集;以及把两个或更多纹理数据元素子集编码为单个纹理数据块,其中每个编码的纹理数据元素子集是与其它的纹理数据元素子集无关地被重现。

【技术实现步骤摘要】

本专利技术涉及用于编码数据的方法和设备,具体地,涉及在计算机图形系统中使用来压缩(解压缩)纹理数据的方法和设备。
技术介绍
在计算机图形系统中通常通过把所谓的纹理或纹理数据施加到要绘制的表面上来为在要被显示的图像中的像素生成纹理和颜色。例如,在三维(3D)计算机图形中,在目标上的表面细节通过把诸如编织物图像那样的“纹理”加到表示目标的一组多边形,以便给予目标的渲染图像以纹理结构(例如,编织物)的外貌。这样的纹理典型地通过存储纹理元素阵列或“纹理像素”而被应用,每个纹理像素表示给定的纹理(例如,颜色、亮度、和/或光亮/阴影等等)数值,然后把纹理像素映射到要被显示的图像上的相应的元素,诸如(和,实际上,典型地)像素。这样的安排可以提供高图像质量,但具有许多缺点。具体地,纹理数据的贮存和在使用时接入它,例如会对于图像处理设备提出例如高贮存量和带宽要求(或相反,在不满足这样的要求的场合下,导致性能损失)。这对于执行图像处理的移动和手持设备是特别重要的,因为这样的设备例如在它们的贮存、带宽与功率资源和能力方面是固有地有限的。所以,众所周知,尝试以“压缩的”形式编码这样的纹理数据,以便试图减小例如加到设备上的贮存和带宽负担。一个已知的这样的纹理数据压缩技术确定例如对于给定的情景要使用的一组调色板,然后对于情景中的每个纹理元素(纹理像素)存储一个索引号到调色板组,指示将用于该纹理像素的颜色。这具有优点对于每个纹理像素只需要一个索引号,而不是全部(例如)颜色值。这有助于减小例如纹理数据贮存要求,但仍旧具有某些缺点,诸如在减小图像质量和必须的数据处理方面。另一个已知的纹理压缩技术是要使用所谓的块截断编码(BTC)。在这个技术中,用于整个情景或图像的纹理阵列被自划分成较小的块,例如4x4纹理像素,和对于每个这样的块确定多个(典型地两个)基色值,在块中的每个纹理像素被设置为基色值之一。这再次节省了必须被存储或接入的数据,但以较低的图像质量为代价。美国加州的S3公司,在它们的美国专利No. 5956431中建议改进的块截断编码技术。在这个技术中,对于每个纹理像素块再次存储两个基色,但从这两个基色也得到将用于块的两个附加颜色(例如,通过线性混合这些颜色)。这样,四种颜色被提供作为用于纹理像素块的“调色板”,但对于块只需要存储两个颜色值。在块中的每个纹理像素然后通过使用两个比特被编码,以指示四个块颜色的哪个颜色应当用于纹理像素。这个系统比起基本块截断编码提供改进的图像质量,但需要每个块更多的数据。申请人相信,仍旧有用于改进的数据编码和压缩技术的空间,特别是在用于图形处理的纹理数据方面。
技术实现思路
按照本专利技术的第一方面,提供了编码将用于图形处理的纹理数据元素集合的方法,包括把纹理数据元素集合编码为纹理数据块;以及在纹理数据块中包括指示如何生成数据值集合的数据,该数据值集合将用于所述块表示的纹理元素;以及指示一个方法的数据,该方法将用于通过使用为所述块生成的数据值集合来为所述块表示的每个纹理数据元素生成数据值。按照本专利技术的第二方面,提供了用于编码将用于图形处理的纹理数据元素集合的设备,包括用于把纹理数据元素集合编码为纹理数据块的装置;用于在纹理数据块中包括指示如何生成数据值集合的数据的装置,该数据值集合将用于所述块表示的纹理元素;以及用于在纹理数据块中包括指示一个方法的数据的装置,该方法将用于通过使用为所述块生成的数据值集合来为所述块表示的每个纹理数据元素生成数据值。按照本专利技术的第三方面,提供了表示将用于图形处理的纹理数据元素集合的纹理数据块,包括指示如何生成数据值集合的数据,该数据值集合将用于所述块表示的纹理元素;以及指示一个方法的数据,该方法将用于通过使用为所述块生成的数据值集合来为所述块表示的每个纹理数据元素生成数据值。在本专利技术的纹理数据编码系统中,纹理数据元素集合被编码为纹理数据块,如在已知的块截断编码技术中那样。然而,在本专利技术中,每个纹理数据块尤其包括指示如何为所讨论的块生成数据值集合的数据,和指示一个方法的数据,该方法将用于通过使用所生成的数据值集合来为由纹理数据块表示的每个纹理元素生成数据值。正如下面进一步说明的,本申请人发现,这种编码形式易于实现良好的重现的图像质量,而仍旧允许相当且足够高的数据压缩速率。以这种方式编码纹理数据允许例如当从编码的数据重现图像时,逐块地调制和改变要被使用的数据值,诸如颜色值。这在可被重现的数据值,例如,颜色值中,提供更大的灵活性,即使仅仅提供有限的总的数据值(例如颜色)组或调色板。本专利技术可被使用来编码任何适当的形式的纹理数据。正如以上讨论的,这样的数据,以它的原先的、原始的或未编码的形式,被典型地安排成纹理元素或纹理像素的阵列的形式,因此,在具体的优选实施例中,本专利技术被使用来编码纹理数据元素(纹理像素)的阵列。这样的阵列典型地是二维的,正如在技术上已知的,虽然也有可能使用本专利技术来编码3 维阵列(或事实上编码不是常规阵列的形式的数据(例如只要编码和译码处理过程被安排成使得能够以正确的次序和/或位置重现数据))。纹理数据元素可以表示任何适当的纹理数据,诸如,例如颜色、亮度、黑白图、阴影图(明亮图)、等等,正如本领域已知的。在具体的优选实施例中,纹理数据元素均表示纹理元素的颜色值,但这不是本质的。正如本领域技术人员将会看到的,实际数据值以纹理元素的原先的、未编码的原始形式和以纹理元素的编码形式与纹理元素相一致(或至少当编码的数据被译码以重现原先的数据的表示时),将取决于纹理元素打算规定或表示的“纹理”的形式。因此,例如,在纹理元素规定要被使用颜色的场合下,以它们的原先的、未编码形式的纹理数据元素都将包括颜色值集合(红色、绿色、蓝色(RGB),或颜色和透明度值集合 (红色、绿色、蓝色、α (RGBa))),以及编码的数据,当被译码(重现)时,将生成相应的颜色值皇A朱口 ο在阴影(明亮)图的情形下,例如,纹理数据元素都将包括或表示数据值集合,例如指示纹理元素是明亮还是阴影,以及该纹理元素的明亮或阴影的量(和/或颜色)。同样地, 对于标准图(黑白图),每个纹理元素的数据将是指示在该纹理元素处光被反射的方向的值皇A朱口 ο纹理数据元素例如也可以表示ζ值(深度值)、模板值、亮度值(亮度纹理)、亮度-α -纹理、和/或光泽图(S卩,在纹理元素位置处表面是否光亮)。在适当的场合,有可能的是,对于每个纹理数据块只编码对于生成某些但不是全部数据值所须的数据,这些数据值是对于重现原先的数据所必须的,并且剩余的数据值(例如,由此)被导出,以作为数据重现处理过程的一部分。因此,在优选实施例中,编码的纹理数据块编码表示某些原先的纹理数据的数据,表示原先的数据的其它部分的数据在译码过程期间从编码的数据导出。例如,在标准图的情形下,编码的纹理数据有可能例如仅仅编码两个法线方向分量(例如,dx和dy),第三分量(dz)在译码时由这两个数值导出(由于已经知道,分量的平方和必须是1 (因为它们规定长度1的法向量):l=dx2+ dy2+ dz2)。每个纹理元素编码和表示的实际数据值,以及被生成为纹理数据块的数据值集合和对于每个编码的纹理元素重现的数据值将因此取决于编码的纹理元素表示的纹理数据。因此,例如,在颜色数据的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:E索加德B乔斯兰德J恩斯塔德M布拉泽维F赫格伦德
申请(专利权)人:ARM挪威股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术