一种动态参考点深度偏移Z值压缩算法制造技术

技术编号:23893812 阅读:37 留言:0更新日期:2020-04-22 07:35
本发明专利技术公开了一种动态参考点深度偏移Z值压缩算法,该算法包括如下步骤:S1:计算并存储当前Tile的ZMin和ZMax参考点,并将每个偏移量关联的Indicator由1bit增加到2bit;S2:按照标准DO算法判断每个像素的Z值是否可压缩,若Tile内所有像素均可压缩,则Tile压缩成功;若Tile内有任一个像素不可压缩,则进入S3;S3:根据不可压缩像素的深度,增加一个动态参考点ZDyn,并基于ZDyn压缩Tile内S2中不可压缩的像素。该算法使基于Z

【技术实现步骤摘要】
一种动态参考点深度偏移Z值压缩算法
本专利技术涉及计算机硬件
,尤其涉及基于深度偏移的动态参考点Z值压缩算法。
技术介绍
3D图形处理与2D图形处理最显著的区别在于引入了深度的概念,使绘制结果产生了有层次的空间立体真实感受。在连续的图形绘制过程中,为了最终能够正确的显示距离观察者最近的图元像素颜色,每一个像素的深度数据(Z值)都需要进行缓冲,以便进行实时深度测试来分辨当前正在绘制像素的深度值与已经绘制完成的像素深度值之间的前后关系。而深度测试频繁的显存读写操作需要的存储器数据带宽极大。举例来说,假设三维场景复杂度为15、像素Z值精度为32bit、屏幕分辨率为4096×2304、每秒绘制30帧,则仅从外部显存读取深度缓冲区数据需要的带宽达到16.98GB/s。假设70%的像素通过深度测试,则写外部显存中深度缓冲区所需要的数据带宽达到11.89GB/s,深度数据读写共需要28.87GB/s。可见,深度缓冲区访问性能是影响现代图形处理器性能的关键因素。Z值压缩通常是基于Tile的,而且必须是无损的,否则会造成绘制到同一位置的多个像素深度无法辨认,因此并不是所有像素的深度数据都是可压缩的。在一种特定压缩算法下,一个Tile中像素的深度值都能够被压缩的概率定义为“可压缩概率”,可压缩概率与正在进行渲染的几何图元有关,也是Z值压缩算法的一项性能指标。尤其是基于深度偏移的动态参考点Z值压缩算法,可能影响到显存带宽利用率、3D图形绘制三角形通过能力和像素填充能力等多个方面的性能指标,最终影响GPU的整体工作效率,研究优化Z值压缩算法性能对研制高性能GPU具有十分重要的理论意义和应用价值。
技术实现思路
公开了一种动态参考点深度偏移Z值压缩算法—DRDO,除原有静态ZMin和ZMax参考点外,为每个像素Tile增加一个动态参考点ZDyn,在Tile深度数据压缩过程中动态确定ZDyn的插入位置,同时将每个偏移量关联的Indicator由1bit增加到2bit,以便在ZMin、ZMax和ZDyn参考点间进行选择,使基于ZDyn参考点的偏移覆盖区域相对于ZMin或ZMax参考点增加1倍,更好的覆盖Tile中不能被基于ZMin和ZMax参考点偏移量覆盖到的离散、非均匀分布的像素深度值,从而实现更高的可压缩率。本专利技术的技术解决方案是:本专利技术提供了一种动态参考点深度偏移Z值压缩算法,该算法包括如下步骤:S1:计算并存储当前Tile的ZMin和ZMax参考点,并将每个偏移量关联的Indicator由1bit增加到2bit;S2:按照标准DO算法判断每个像素的Z值是否可压缩,若Tile内所有像素均可压缩,则Tile压缩成功;若Tile内有任一个像素不可压缩,则进入S3;S3:根据不可压缩像素的深度,增加一个动态参考点ZDyn,并基于ZDyn压缩Tile内S2中不可压缩的像素。进一步的,所述S1中Indicator根据参考点ZMin和ZMax选择情况所设置,设置成00或01;并设置初始值N=0,N表示Tile中像素的编号。进一步的,所述S2包括如下步骤:S2.1:判断N是否等于Tile中像素数量最大值;若N等于最大值,则像素Tile压缩成功;若N不等于最大值,则进入S2.2;S2.2:设置N=N+1,对下一像素进行处理;S2.3:计算当前像素点N的像素与ZMin和ZMax之间的差值绝对值a和b;S2.4:判断当前像素N的a和b的有效位宽度是否有任意一个小于等于深度偏移量宽度;若有任意一个小于等于深度偏移量宽度,则该像素可压缩,压缩后进入步骤S2.1;否则,进入步骤S3。进一步的,所述S3包括如下步骤:S3.1:根据当前像素点N确定动态参与点ZDyn的值,并计算当前像素N与ZDyn的差值绝对值c;S3.2:判断当前像素N的c有效位宽度是否小于等于深度偏移量宽度;若小于等于深度偏移量宽度,则进入步骤S3.3;否则,像素Tile压缩失败;S3.3:根据当前像素点N确定动态参考点ZDyn的值,设置像素点的Indicator为10或11,表示该像素点所选择的参考点为ZDyn,进入步骤S2.1。进一步的,在压缩成功的情况下,其数据格式定义为包括ZMin、ZMax和ZDyn参考点深度数据、Tile内部所有像素点相对于ZMin或ZMax或ZDyn参考点的N位偏移量数据,以及每个深度偏移量所关联的2bitIndicator数据。进一步的,所述解压缩时,先将压缩数据包中前96bitZmin,Zmax和ZDyn参考点值取出;然后根据对所有PixelsOffset数据并行的按当前偏移量宽度进行分组,并根据每个偏移量关联的Indicator位选择Zmin,Zmax和ZDyn参考点对应的覆盖区域,最后计算与Zmin或Zmax或ZDyn参考点的差或和得到原始的像素深度值。在现有DO深度压缩算法原有2个静态ZMin和ZMax参考点的基础上,为每个像素Tile增加一个动态参考点ZDyn,同时通过每个偏移量关联的Indicator在ZMin、ZMax和ZDyn参考点间进行选择,使基于ZDyn参考点的偏移覆盖区域相对于ZMin或ZMax参考点增加1倍,更好的覆盖Tile中不能被基于ZMin和ZMax参考点偏移量覆盖到的离散、非均匀分布的像素深度值,从而实现更高的可压缩率。所述动态参考点ZDyn是当Tile中某个像素深度数据基于ZMin和ZMax参考点均压缩失败时,根据当前压缩失败像素点的位置动态确定ZDyn的插入位置。对不同的来说像素Tile来说,动态参考点ZDyn位置不一定相同。所述Indicator是每个深度偏移量关联的参考点选择指示位,与现有DO压缩算法不同的是,每个偏移量关联的Indicator由1bit增加到2bit,参考点选择能力由在ZMin和ZMax间进行选择扩展到在ZMin、ZMax和ZDyn参考点间进行选择。所述压缩过程是指,除必须首先计算出每个像素与被压缩像素Tile中具有最小深度值和最大深度值的两个参考像素点ZMin和ZMax的深度偏移量差值外,其特征在于:当某个像素基于ZMin和ZMax参考点均压缩失败时,进一步基于动态插入的ZDyn参考点位置计算该像素的深度偏移量差值,从而提升可压缩概率。Indicator指示位由1bit扩展为2bit后,将基于ZMin和ZMax参考点的2个偏移量覆盖区域扩展为基于ZMin、ZMax和ZDyn参考点的4个偏移量覆盖区域,2bitIndicator的4个取值分别对应ZMin右侧、ZMax左侧、ZDyn右侧和ZDyn左侧。如果某个像素基于ZMin、ZMax和ZDyn参考点均压缩失败,则该像素Tile压缩失败。有益效果:本专利技术提供的动态参考点深度偏移Z值压缩算法,插入了动态参考点ZDyn,并将像素Tile中每个像素偏移量关联的Indicator由1bit扩展为2bit,相较ZMin或ZMax参考点深度偏本文档来自技高网
...

【技术保护点】
1.一种动态参考点深度偏移Z值压缩算法,其特征在于:该算法包括如下步骤:/nS1:计算并存储当前Tile的ZMin和ZMax参考点,并将每个偏移量关联的Indicator由1bit增加到2bit;/nS2:按照标准DO算法判断每个像素的Z值是否可压缩,若Tile内所有像素均可压缩,则Tile压缩成功;若Tile内有任一个像素不可压缩,则进入S3;/nS3:根据不可压缩像素的深度,增加一个动态参考点ZDyn,并基于ZDyn压缩Tile内S2中不可压缩的像素。/n

【技术特征摘要】
1.一种动态参考点深度偏移Z值压缩算法,其特征在于:该算法包括如下步骤:
S1:计算并存储当前Tile的ZMin和ZMax参考点,并将每个偏移量关联的Indicator由1bit增加到2bit;
S2:按照标准DO算法判断每个像素的Z值是否可压缩,若Tile内所有像素均可压缩,则Tile压缩成功;若Tile内有任一个像素不可压缩,则进入S3;
S3:根据不可压缩像素的深度,增加一个动态参考点ZDyn,并基于ZDyn压缩Tile内S2中不可压缩的像素。


2.根据权利要求1所述的动态参考点深度偏移Z值压缩算法,其特征在于:所述S1中Indicator根据参考点ZMin和ZMax选择情况所设置,设置成00或01;
并设置初始值N=0,N表示Tile中像素的编号。


3.根据权利要求1所述的动态参考点深度偏移Z值压缩算法,其特征在于:所述S2包括如下步骤:
S2.1:判断N是否等于Tile中像素数量最大值;若N等于最大值,则像素Tile压缩成功;若N不等于最大值,则进入S2.2;
S2.2:设置N=N+1,对下一像素进行处理;
S2.3:计算当前像素点N的像素与ZMin和ZMax之间的差值绝对值a和b;
S2.4:判断当前像素N的a和b的有效位宽度是否有任意一个小于等于深度偏移量宽度;若有任意一个小于等于深度偏移量宽度,则该像素可压缩,压缩后进入步骤S2.1;否则,进入步骤S3。


4....

【专利技术属性】
技术研发人员:张骏田泽郑新建任向隆韩立敏聂曌
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:陕西;61

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

1