用于纹理解压缩的解码器单元制造技术

技术编号:19438216 阅读:23 留言:0更新日期:2018-11-14 13:39
用于纹理解压缩的解码器单元。解码器单元被配置为根据纹素请求解码多个纹素,所述多个纹素跨一个或更多个编码纹理数据块被编码,每个编码纹理数据块均对纹素块进行编码,所述解码器单元包括:第一组一个或更多个解码器,第一组解码器中的每个被配置为从接收到的单个编码纹理数据块解码n个纹素;第二组一个或更多个解码器,第二组解码器中的每个被配置为从接收到的单个编码纹理数据块解码p个纹素,其中p

【技术实现步骤摘要】
用于纹理解压缩的解码器单元
本专利技术涉及一种解码器单元,该解码器单元用于解码跨一个或更多个编码纹理数据块编码的多个纹素。
技术介绍
纹理在图形处理领域内被大量使用。可以使用纹理来表示表面特性、照明(例如,在被成像的场景的环境内)或者将表面细节应用于被渲染的对象。纹理可能需要相对大量的内存存储器,并且纹理访问可能贡献图形设备的内存带宽的很大比例。如此,通常需要压缩纹理数据。存在各种纹理压缩方案或格式。一类纹理压缩方案被称为基于块的方案。在基于块的方案中,经压缩的纹理数据被编码成一系列给定大小(例如,64位或128位)的数据块。每个数据块对纹理的特定纹素块(例如,2×2或4×4纹素块)的纹理数据进行编码。基于块的纹理压缩方案的示例包括例如PowerVR纹理压缩(PVRTC)、PVRTC2、S3纹理压缩(S3TC,也称为BC1、BC2和BC3);自适应可缩放纹理压缩(ASTC);爱立信纹理压缩(ETC);ETC2;EAC;3Dc(也称为BC4和BC5);BC6和BC7。通常期望图形系统同时或并行地解码多个纹素,以便在渲染场景时提高系统的性能。进一步动机来自这样一个事实,即,在许多图形应用中,要解码的纹素可以一起分组到多个纹素的多个组。例如,在许多图形流水线中,通过对映射到被处理的特定像素的多个相邻纹素进行过滤来获得将被应用于该像素的纹理颜色。因此,在处理像素时,可能需要解码多个纹素以在过滤操作中使用,以便获得用于该像素的最终纹理颜色。某些图形系统另外可能同时处理多个像素,每个像素可能需要对多个纹素进行解码作为过滤操作的一部分。处理对解码多个纹素的这种需求(从性能角度来看)的一种有效方式是简单地具有必需数量的解码器,每个解码器并行地操作,使得可以被并行解码的纹素的总数匹配或超过在给定纹素请求中的纹素数量。然而,该方法存在高硬件要求的缺点,这可能表现为大电路面积。例如,简单地使“n”个解码器并行操作以便在期望性能水平下处理纹理请求导致相称地n倍大的解码器电路。
技术实现思路
根据本专利技术,提供了一种解码器单元,该解码器单元被配置为根据纹素请求对多个纹素进行解码,所述多个纹素跨均对纹素块进行编码的一个或更多个编码纹理数据块被编码,解码器单元包括:第一组一个或更多个解码器,第一组解码器中的每个被配置为从接收到的单个编码纹理数据块解码n个纹素;第二组一个或更多个解码器,第二组解码器中的每个被配置为从接收到的单个编码纹理数据块解码p个纹素,其中,p<n;以及控制逻辑,所述控制逻辑被配置为根据纹素请求将编码纹理数据块分配给解码器。第二组一个或多个解码器中的每个可以被配置为从接收到的编码纹理数据块解码单个纹素。第二组一个或更多个解码器中的每个可以被配置为从接收到的编码纹理数据块解码两个纹素。第一组解码器中的每个可以被配置为从接收到的单个编码纹理数据块解码四个纹素。第一组中的解码器的数量与第二组中的解码器的数量的比率可以是4:2。第一组中的解码器的数量与第二组中的解码器的数量的比率可以是4:1。控制逻辑可以被配置为响应于指示跨多于一个编码纹理数据块编码的纹素的2×2子块要被解码的纹素请求,将至少一个编码纹理数据块分配给所述第二组中的两个解码器,所述多于一个编码纹理数据块中的每个对所述2×2子块的至少一个纹素进行编码。控制逻辑可以被配置为响应于指示2×2子块与两个相邻纹素块的边缘交叠的纹素请求,将对2×2子块的两个纹素进行编码的一个编码纹理数据块分配给第二组中的两个解码器。控制逻辑可以被配置为响应于指示2×2块与四个相邻纹素块的拐角交叠的纹素请求,将对2×2子块的两个不同纹素进行编码的两个不同编码纹理数据块分配给第二组中的两个解码器。控制逻辑可以被配置为将与分配给第二组中的解码器的块不同的、对2×2子块的至少一个其它纹素进行编码的编码数据块分配给第一组中的解码器。可以根据自适应可缩放纹理压缩(ASTC)格式对每个编码纹理数据块进行编码。第一组解码器中的每个可以包括:参数解码单元,该参数解码单元被配置为对接收到的纹理数据块的配置数据进行解码;颜色解码单元,该颜色解码单元被配置为根据所述配置数据对接收到的块的n个纹素的颜色端点数据进行解码;权重解码单元,该权重解码单元被配置为根据所述配置数据对接收到的块的n个纹素中的每个的插值权重数据进行解码;以及至少一个插值器单元,所述至少一个插值器单元被配置为使用接收到的块的n个纹素中的每个纹素的插值权重数据和来自颜色端点数据的一对颜色端点来计算该纹素的颜色值;其中,参数解码单元、颜色解码单元和权重解码单元中的至少一个被配置为从接收到的块解码中间数据,该中间数据对于该块的纹素的解码是公用的,并且被配置为在从接收到的纹理数据块解码n个纹素中的至少两个纹素时使用该经解码的中间数据。参数解码单元、颜色解码单元和权重解码单元中的至少一个可以被配置为使用相同数据作为n个纹素中的每个纹素的解码的一部分。配置数据的第一部分对于n个纹素的解码可以是公用的,并且权重解码单元被配置为使用该配置数据的第一部分来解码n个纹素中的每个纹素的插值权重数据。配置数据的第一部分可以包括以下中的至少一个:指定权重网格的尺寸的权重网格大小;以及指定由网格的权重占据的值的范围的权重范围。配置数据的第二部分对于接收到的块的纹素的解码可以是公用的,并且颜色解码单元可以被配置为使用配置数据的该第二部分来解码n个纹素中的每个纹素的颜色端点数据。配置数据的第二部分可以包括指定如何将一组颜色端点值转换成一对颜色端点的颜色端点模式数据。参数解码单元可以被配置为:从接收到的纹理数据块解码中间配置数据,作为解码配置数据的一部分;并且使用该同一中间配置数据来解码n个纹素中的每个纹素的分区索引。中间配置数据可以包括以下中的至少一个:分区模式索引;以及分区号。颜色解码单元可以被配置为:从接收到的纹理数据块解码中间颜色数据,作为解码颜色端点数据的一部分,所述中间颜色数据对于该块的纹素的解码是公用的;并且使用该中间颜色数据来解码n个纹素中的每个纹素的颜色端点数据。中间颜色数据可以包括块内用于表示颜色端点的数据的大小。中间颜色数据还可以包括指定如何将一组颜色端点值转换为一对颜色端点的颜色端点模式数据。颜色解码单元可以被配置为解码一组颜色值并且将那些值转换成多个纹素中的每个纹素的一对颜色端点,颜色解码单元被配置为使用n个纹素中的两个或更多个纹素的颜色端点中的至少一个。权重解码单元可以被配置为:从接收到的纹理数据块解码中间权重数据,作为解码插值权重数据的一部分,所述中间权重数据对于该块的纹素是公用的;并且使用该数据来解码n个纹素中的每个纹素的插值权重数据。中间数据可以包括块内用于表示插值权重数据的数据的大小。由块表示的纹素可以被划分为np个分区,并且解码器可以包括np个插值器,每个插值器被配置为使用该纹素的插值权重数据和来自颜色端点数据的相应一对颜色端点,计算相应分区中的纹素的子集的颜色值。可以根据以下纹理压缩格式中的一个来编码纹理数据块:S3TC;PVR-TC;PVR-TC2;ASTC;ETC1;ETC2;EAC;3Dc;以及BC1-BC5。根据本公开的第二方面,提供了一种根据纹素请求对多个纹素进行解码的方法,纹素跨均对纹素块编码的一个或更多本文档来自技高网
...

【技术保护点】
1.一种解码器单元,所述解码器单元被配置为根据纹素请求对多个纹素进行解码,所述多个纹素跨均对纹素块编码的一个或更多个编码纹理数据块被编码,所述解码器单元包括:第一组一个或更多个解码器,第一组解码器中的每个被配置为从接收到的单个编码纹理数据块解码n个纹素;第二组一个或更多个解码器,第二组解码器中的每个被配置为从接收到的单个编码纹理数据块解码p个纹素,其中,p

【技术特征摘要】
2017.04.28 GB 1706858.61.一种解码器单元,所述解码器单元被配置为根据纹素请求对多个纹素进行解码,所述多个纹素跨均对纹素块编码的一个或更多个编码纹理数据块被编码,所述解码器单元包括:第一组一个或更多个解码器,第一组解码器中的每个被配置为从接收到的单个编码纹理数据块解码n个纹素;第二组一个或更多个解码器,第二组解码器中的每个被配置为从接收到的单个编码纹理数据块解码p个纹素,其中,p<n;以及控制逻辑,所述控制逻辑被配置为根据所述纹素请求将不同编码纹理数据块分配给所述解码器。2.根据权利要求1所述的解码器单元,其中,所述第二组一个或更多个解码器中的每个被配置为从接收到的编码纹理数据块解码单个纹素。3.根据权利要求1所述的解码器单元,其中,所述第二组一个或更多个解码器中的每个被配置为从接收到的编码纹理数据块解码两个纹素。4.根据权利要求1、2或3中的任一项所述的解码器单元,其中,所述第一组解码器中的每个被配置为从接收到的单个编码纹理数据块解码四个纹素。5.根据从属于权利要求2时的权利要求4所述的解码器单元,其中,所述第一组中的解码器的数量与所述第二组中的解码器的数量的比率是4:2。6.根据从属于权利要求3时的权利要求4所述的解码器单元,其中,所述第一组中的解码器的数量与所述第二组中的解码器的数量的比率是4:1。7.根据权利要求1、2或3中的任一项所述的解码器单元,其中,所述控制逻辑被配置为响应于指示跨多于一个编码纹理数据块编码的纹素的2×2子块要被解码的纹素请求,将至少一个编码纹理数据块分配给所述第二组的两个解码器,所述多于一个编码纹理数据块中的每个对所述2×2子块的至少一个纹素进行编码。8.根据权利要求7所述的解码器单元,其中,所述控制逻辑被配置为响应于指示所述2×2子块与两个相邻纹素块的边缘交叠的纹素请求,将对所述2×2子块的两个纹素进行编码的一个编码纹理数据块分配给所述第二组的两个解码器。9.根据权利要求7所述的解码器单元,其中,所述控制逻辑被配置为响应于指示所述2×2子块与四个相邻纹素块的拐角交叠的纹素请求,将对所述2×2子块的两个不同纹素进行编码的两个不同编码纹理数据块分配给所述第二组的两个解码器。10.根据权利要求7所述的解码器单元,其中,所述控制逻辑被配置为将与分配给所述第二组的解码器的块不同的、对所述2×2子块的至少一个其它纹素进行编码的编码数据块分配给所述第一组的解码器。11.根据权利要求1、2或3中的任一项所述的解码器单元,其中,根据自适应可缩放纹理压缩ASTC格式对每个编码纹理数据块进行编码,并且所述第一组解码器中的每个包括:参数解码单元,所述参数解码单元被配置为对接收到的纹理数据块的配置数据进行解码;颜色解码单元,所述颜色解码单元被配置为根据所述配置数据对接收到的块的n个纹素的颜色端点数据进行解码;权重解码单元,所述权重解码单元被配置为根据所述配置数据对接收到的块的n个纹素中的每个纹素的插值权重数据进行解码;以及至少一个插值器单元,所述至少一个插值器单元被配置为使用接收到的块的所述n个纹素中的每个纹素的插值权重数据和来自所述颜色端点数据的一对颜色端点来计算该纹素...

【专利技术属性】
技术研发人员:YC·富K·洛维斯
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:英国,GB

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

1