System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 对压缩数据结构进行解码制造技术_技高网

对压缩数据结构进行解码制造技术

技术编号:42551837 阅读:7 留言:0更新日期:2024-08-29 00:25
本申请涉及对压缩数据结构进行解码。根据系统参数对压缩数据结构进行解码以确定解码值的方法和解码单元。对一组哈尔系数进行编码,其包括微分系数和总和系数。压缩数据结构的第一部分包括指数位,第二部分包括符号位,第三部分包括总和位,这三部分中的位数与系统参数一致。对压缩数据结构进行解包以标识指数位、符号位和总和位。使用指数位确定针对微分系数的指数。使用符号位确定针对微分系数的符号。使用总和位确定总和系数。通过使用以下各项确定针对像素块的微分系数和总和系数的加权和的结果确定解码值:(i)针对微分系数的所确定的指数,(ii)针对微分系数的所确定的符号,(iii)总和系数,以及(iv)针对微分系数和总和系数的相应权重。输出解码值。

【技术实现步骤摘要】

本公开涉及用于将像素块编码成压缩数据结构以及/或者用于对压缩数据结构进行解码以确定解码值的技术。像素块可以是计算机图形系统内的纹理或其他图像的一部分。


技术介绍

1、在计算机图形学中,图形处理单元(gpu)通常使用纹理化以向待渲染的场景内的对象添加表面细节。纹理通常被存储为图像,可对这些图像进行访问以返回正在处理的像素的颜色值。为了获得像素的纹理颜色值,可对纹理的多个纹素的值进行采样,并且随后可对采样纹理像素值进行滤波,以获得像素的最终纹理值。

2、对纹素值进行采样通常涉及从存储器或高速缓存中提取纹素块,例如2x2纹素四元组(或者大小不同和/或形状不同的纹素块,例如4x4、8x8或16x4纹素块)。由此,将纹素块编码(或“压缩”)成压缩数据结构,使得该压缩数据结构在存储器或高速缓存中使用的空间较少,并且使得在存储器与gpu之间传输的数据量(即“存储器带宽”)被减少,这可能是有益的。gpu可以(使用与用于将纹素块编码成压缩数据结构的编码技术互补的解码技术)对压缩数据结构进行解码以确定解码值,例如可应用于针对像素的几何形状的解码纹理值。

3、解码值可以表示纹素块的纹素中的一个纹素。可以确定表示纹素块的纹素中的多个(例如全部)纹素的解码值。以此方式,编码和解码过程可以执行对纹素块的压缩和解压缩。

4、此外,由于纹理在图像内投影到3d几何上,所渲染的图像的单个像素通常不能精确映射到纹理的单个纹理像素。例如,对于描绘纹理的相对较近视图的纹理像素,每个像素都可以与映射到纹理的相对较小的区域(例如,覆盖零或一个纹理像素)的覆盖区域相关联,而对于描绘纹理的相对远处的纹理像素,每个像素可以与映射到纹理的相对较大的区域(例如,覆盖许多(例如,两个或更多个)纹理像素)的覆盖区域相关联。

5、在一些情况下,可执行各向异性纹理滤波。各向异性纹理滤波标识出纹理的采样率是屏幕空间中行进方向的函数,所述采样率取决于从屏幕空间(其中描绘了图像并且定义了像素坐标)到纹理空间(其中描绘了纹理并且定义了纹理像素坐标)的映射。换句话说,最佳纹理采样率在屏幕空间中沿不同行进方向或轴线可能不同。在这种情况下,可以说屏幕空间与纹理空间之间的映射是各向异性的。各向异性映射的示例是水平面附近的平面纹理表面的3d投影,或者是将纹理应用于场景中与视点(例如在对象的轮廓边缘附近)成显著较大角度的表面的任何其他情形。

6、对于各向异性纹理映射,映射到屏幕空间中的像素的纹理空间中的采样内核沿纹理空间中的某个轴线延长,此轴线的方向取决于屏幕空间与纹理空间之间的映射。这在图1中示意性地示出,所述图1展示由具有在图像空间中定义的坐标的像素形成的图像100,以及由具有在纹理像素空间中定义的坐标的纹理像素形成的纹理102。图像100包括对象104,所述对象具有由纹理102指定的表面细节,即纹理102映射到对象104的表面。为了清楚起见,已经省略了图像100内的其余对象。对象104在图像100内处于倾斜视角。如上文所提及,如果将纹理应用于相对于观察方向成斜角的几何形状(即,如果将纹理应用于法向向量与观察方向向量显著不平行的表面),则针对图像空间中的像素的各向同性覆盖区域映射到纹理空间中的各向异性覆盖区域。因此,在映射到纹理空间的情况下,没有维持图像100内的纹理映射像素的覆盖区域的圆形形状。数字106表示图像空间中为圆形的像素覆盖区域,并且数字108表示纹素空间中为卵圆形的对应像素覆盖区域。可以看出,覆盖区域在纹理空间中已经延长以形成椭圆,使得它是各向异性的。一般来说,在图像空间中具有圆形覆盖区域的像素到纹理空间的映射可以由椭圆形来近似,因为纹理映射本身可以由像素原点处的仿射映射(即,包括线性缩放/旋转和平移)来近似。本文应注意,针对像素使用的术语“覆盖区域”不一定指显示设备中的像素的物理形状,而可能是指用于构成针对该像素的最终像素值的像素滤波器的区域(其一般大于物理像素形状)。因此,可以说像素在纹理空间中的覆盖区域相当于该像素在纹理空间中的采样内核;即,纹理空间中的覆盖区域标识待采样和待滤波的纹理像素以形成像素的纹理颜色值。

7、通常认为纹理编码和解码过程为有损过程是可接受的,即当纹理被编码然后解码时,一些信息可能丢失。通过允许纹理编码和解码过程是有损的,纹理可以被压缩到比无损压缩大得多的程度,使得可以减少存储器存储和存储器带宽需求。编码/解码过程通常有三个相互竞争的目标:(i)减少用于表示所编码纹理的数据量是有益的、(ii)编码和解码过程引入的任何伪影最小是有益的,以及(iii)编码和解码过程实施起来便宜是有益的(例如,在处理等待时间、功耗和/或硅面积方面)。通常,改善这三个因素中的一个因素会损害其他因素中的一个或两个因素。当结合纹理滤波时,这些成本可能是复合的。例如,就存储器带宽和吞吐量要求而言,高质量纹理滤波(诸如将最小化采样伪影)通常是昂贵的。

8、对像素块进行编码以及/或者解码可能有用的另一情境是用于对图像进行压缩,例如用于对已由图形处理单元(gpu)渲染的图像进行压缩。这个过程可以被称为帧缓冲器压缩和/或帧缓冲器解压缩。对图像进行压缩减少了用于表示那些图像的数据量,这在减少用于存储图像的存储量以及减少在处理单元(例如gpu)与存储器之间传输的数据量方面可能是有用的。这可以使得等待时间、功耗和硅面积减少。对于帧缓冲器压缩/解压缩技术,不倾向于应用滤波,并且通常解压缩后的值旨在与压缩前的原始值相似(或完全相同)。例如,如果压缩/解压缩技术是无损的,则解压缩后的值将与压缩前的原始值相同,而如果压缩/解压缩技术是有损的,则解压缩后的值可能与压缩前的原始值不完全相同(但它们是所述原始值的近似表示)。实现高级别解压缩质量的有损压缩方案可以被描述为“视觉上/感觉上无损”的有损压缩方案。有损压缩相对于无损压缩的一个益处是,除了实现更好的压缩率之外,有损压缩还可以保证固定的最坏情况比特率(与针对无损压缩的仅预期比特率相对,该预期比特率必然是可变的比特率)。

9、公布为gb2603559的英国专利申请公开了一种通过以下操作将像素块编码成压缩数据结构的方法:确定像素块的2x2像素四元组的一组哈尔(haar)系数,并且将数据存储在压缩数据结构中以表示该一组哈尔系数。


技术实现思路

1、提供本
技术实现思路
是为了以简化形式介绍下文在具体实施方式中进一步描述的一系列概念。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用以限制所要求保护的主题的范围。

2、提供一种根据计算机系统中的系统参数对压缩数据结构进行解码以确定解码值的方法,其中压缩数据结构对针对像素块的一组哈尔系数进行编码,其中所述一组哈尔系数包括多个微分系数和总和系数,

3、其中压缩数据结构的第一部分包括表示针对微分系数的指数的一组指数位,压缩数据结构的第二部分包括表示针对微分系数的符号的一组符号位,并且压缩数据结构的第三部分包括表示总和系数的一组总和位,其中压缩数据结构的第一部分、第二部分和第三部分中的位本文档来自技高网...

【技术保护点】

1.一种根据计算机系统中的系统参数对压缩数据结构进行解码以确定解码值的方法,其中所述压缩数据结构对针对像素块的一组哈尔系数进行编码,其中所述一组哈尔系数包括多个微分系数和总和系数,

2.如权利要求1所述的方法,其中所述系统参数中的一个或多个系统参数定义所述一组指数位中的所述指数位数量。

3.如权利要求1或2所述的方法,其中所述对所述压缩数据结构进行解包包括:

4.如权利要求3所述的方法,其中所述对所述压缩数据结构进行解包还包括使用以下各项来确定所述一组总和位中的总和位数量:(i)所述系统参数中的一个或多个系统参数,以及(ii)所述一组符号位中的所确定的符号位数量。

5.如任一前述权利要求所述的方法,其中所述压缩数据结构的第四部分包括表示针对所述微分系数的尾数的一组尾数位,其中所述压缩数据结构的所述第四部分中的位数与所述系统参数一致,并且其中所述对所述压缩数据结构进行解包标识所述一组尾数位,

6.如权利要求5在从属于权利要求4时所述的方法,其中所述对所述压缩数据结构进行解包还包括使用以下各项来确定所述一组尾数位中的尾数位数量:(i)所述系统参数中的一个或多个系统参数,(ii)所述一组符号位中的所确定的符号位数量,以及(iii)所述一组总和位中的所确定的总和位数量。

7.如权利要求5或6所述的方法,其中为了对所述像素块进行编码,所述压缩数据结构仅包括所述第一部分中的所述一组指数位、所述第二部分中的所述一组符号位、所述第三部分中的所述一组总和位以及所述第四部分中的所述一组尾数位,使得所述压缩数据结构中的位数N等于所述一组指数位中的所述指数位数量、所述一组符号位中的所述符号位数量、所述一组总和位中的所述总和位数量和所述一组尾数位中的所述尾数位数量的总和。

8.如任一前述权利要求所述的方法,其中所述通过确定针对所述像素块的所述微分系数和所述总和系数的加权和的所述结果来确定所述解码值包括使用针对所述微分系数的所确定的指数和符号来确定所述微分系数。

9.如权利要求8在从属于权利要求5至7中任一项时所述的方法,其中所述确定所述微分系数进一步使用针对所述微分系数的所确定的尾数。

10.如任一前述权利要求所述的方法,其中所述确定所述解码值包括对所述加权和的所述结果执行达2个二进制位的二进制右移,从而将所述加权和的所述结果除以4,并且其中应用舍入来确定所述解码值。

11.如任一前述权利要求所述的方法,其中所述确定针对所述像素块的所述微分系数和所述总和系数的加权和的所述结果包括:

12.如任一前述权利要求所述的方法,其中预先确定针对所述微分系数的所述相应权重,并且其中所述解码值表示所述像素块的所述像素中的一个像素的像素位置处的值。

13.如权利要求1至11中任一项所述的方法,所述方法还包括确定针对所述微分系数的所述相应权重,其中基于以下各项中的一者或多者来确定所述权重:

14.如任一前述权利要求所述的方法,其中所述像素块中的每个像素用n位像素值来表示,其中n是所述系统参数中的一个系统参数;并且

15.如任一前述权利要求所述的方法,其中所述一组符号位中的所述符号位数量等于非零的所述微分系数的所述数量,并且

16.如任一前述权利要求所述的方法,其中所述块的所述像素的所述像素值呈无符号格式,并且其中所述使用所标识的一组总和位来确定所述总和系数包括将所述总和位映射到来自可表示总和值序列的总和值,同时在奇数模式下操作,在所述奇数模式下,在从所述序列中的最小可表示总和值到最大可表示总和值的连续可表示总和值之间存在奇数个步长。

17.如权利要求1至15中任一项所述的方法,其中所述块的所述像素的所述像素值呈有符号格式,并且其中所述使用所标识的一组总和位来确定所述总和系数包括将所述总和位映射到来自可表示总和值序列的总和值,同时在偶数模式下操作,在所述偶数模式下,在从所述序列中的所述最小可表示总和值到所述最大可表示总和值的连续可表示总和值之间存在偶数个步长。

18.如任一前述权利要求所述的方法,其中所述使用所标识的一组指数位来确定针对所述微分系数的指数包括:

19.一种解码单元,所述解码单元被配置成根据计算机系统中的系统参数对压缩数据结构进行解码以确定解码值,其中所述压缩数据结构对针对像素块的一组哈尔系数进行编码,其中所述一组哈尔系数包括多个微分系数和总和系数,

20.一种计算机可读代码,所述计算机可读代码被配置成使得在运行所述代码时执行如权利要求1至18中任一项所述的方法。

21.一种集成电路定义数据集,所述集成电路定义数据集...

【技术特征摘要】

1.一种根据计算机系统中的系统参数对压缩数据结构进行解码以确定解码值的方法,其中所述压缩数据结构对针对像素块的一组哈尔系数进行编码,其中所述一组哈尔系数包括多个微分系数和总和系数,

2.如权利要求1所述的方法,其中所述系统参数中的一个或多个系统参数定义所述一组指数位中的所述指数位数量。

3.如权利要求1或2所述的方法,其中所述对所述压缩数据结构进行解包包括:

4.如权利要求3所述的方法,其中所述对所述压缩数据结构进行解包还包括使用以下各项来确定所述一组总和位中的总和位数量:(i)所述系统参数中的一个或多个系统参数,以及(ii)所述一组符号位中的所确定的符号位数量。

5.如任一前述权利要求所述的方法,其中所述压缩数据结构的第四部分包括表示针对所述微分系数的尾数的一组尾数位,其中所述压缩数据结构的所述第四部分中的位数与所述系统参数一致,并且其中所述对所述压缩数据结构进行解包标识所述一组尾数位,

6.如权利要求5在从属于权利要求4时所述的方法,其中所述对所述压缩数据结构进行解包还包括使用以下各项来确定所述一组尾数位中的尾数位数量:(i)所述系统参数中的一个或多个系统参数,(ii)所述一组符号位中的所确定的符号位数量,以及(iii)所述一组总和位中的所确定的总和位数量。

7.如权利要求5或6所述的方法,其中为了对所述像素块进行编码,所述压缩数据结构仅包括所述第一部分中的所述一组指数位、所述第二部分中的所述一组符号位、所述第三部分中的所述一组总和位以及所述第四部分中的所述一组尾数位,使得所述压缩数据结构中的位数n等于所述一组指数位中的所述指数位数量、所述一组符号位中的所述符号位数量、所述一组总和位中的所述总和位数量和所述一组尾数位中的所述尾数位数量的总和。

8.如任一前述权利要求所述的方法,其中所述通过确定针对所述像素块的所述微分系数和所述总和系数的加权和的所述结果来确定所述解码值包括使用针对所述微分系数的所确定的指数和符号来确定所述微分系数。

9.如权利要求8在从属于权利要求5至7中任一项时所述的方法,其中所述确定所述微分系数进一步使用针对所述微分系数的所确定的尾数。

10.如任一前述权利要求所述的方法,其中所述确定所述解码值包括对所述加权和的所述结果执行达2个二进制位的二进制右移,从而将所述加权和的所述结果除...

【专利技术属性】
技术研发人员:P·史密斯莱西
申请(专利权)人:想象技术有限公司
类型:发明
国别省市:

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

1