RealTimeTextureStreaming&Decompression

还是拯救了quake3的强银J.M.P. van Waveren写的。

http://software.intel.com/file/17248/

 

主要介绍了压缩解压缩的算法,和streaming没有太大关系,这个结合上一个id的virtual tex,可以理解他们为什么研究这个了。

而且这个就和transcode那一步对应的。

 

基本数据一目了然:

  • dxt1----6:1
  • dxt5----4:1
  • jpeg----10:1(rgb)
  • jpeg----7:1(rgba)

所以把数据存成jpeg系列,然后load进来,在解压成dxt的texture,对于virtual texture这种巨耗带宽的技术有着相当大的意义。

 

jpeg的压缩基本算法挺有意思的,首先把rgb转到另一个color space,进而将亮度(luma)和颜色(chroma)分开。

因为人眼对亮度比较敏感,而对于颜色的高频数据不敏感,所以可以滤掉chroma的高频部分,保留低频部分,那么低频部分就是

数据量小多了。

这个和spherical harmonics保存低频光照信息很像。

 

这也是jpeg能在图像质量不错的基础上保持高压缩比的原因。

 

然后是个名词:DCT----Discrete Cosine Transform。

这个用来将一个kernel(比如8*8的block)的颜色数据转到一个frequency map,然后将高频数据去掉。

id siggraph09的文章里面直接就用DCT来代表jpeg这样的贴图压缩了。

 

在后面就是讲有simd指令做高效的解压缩了,这个就不记了,用的时候直接查就好。

 

另外cuda上倒是有解压缩的sample。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值