1.基于瓦片分割原理对2D OpenGL纹理做无损实时压缩方法,具体步骤如下,其特征在于:
1)对图像内容瓦片化检测,对RGBA图像做2x2全卷积降低分辨率;
2)比较卷积后数值和卷积前像素值的差异,存在变化则重复步骤1);
所述步骤1)中RGBA图像做2x2全卷积降低分辨率,公式表述如下:n
F为卷积核,m,n为卷积核的大小,一般m=n=2G为原图像;
H为卷积后的图像;
i,j为像素坐标;
3)所有数值无变化或分辨率已经降低到1x1,卷积过程结束;
n
4)根据卷积结果,进行下一步的数据编码,按最优原则,对不同的2大小做最佳拼接组合编码成一个2D纹理;
最佳拼接后编码为一个2D纹理,该纹理直接用于显示或解码恢复原图或在压缩状态下整体编辑;
5)对不同颜色的单值像素做无重复编码为1D纹理;
n
6)2大小位置及索引信息编码为一个结构数组;
7)设计支持显示及解码的着色器;
编程着色器,接受纹理数据作为2D纹理,不重复的颜色编码作为1D纹理,位置及大小索引作为绘制坐标,一次渲染实现绘制原图像;
8)根据编码出2D,1D纹理及位置索引信息采用专用着色器实时显示全部图像或一部分,通过绘制原图像到显示缓冲区,实现原图像效果的显示过程;
9)根据编码出2D,1D纹理及位置索引信息采用专用着色器还原图像全部或一部分,绘制原图像到离屏纹理,实现还原原图像的解码过程;
10)将2D及1D纹理,位置及索引压缩保存到文件,提供一种可长期保存的压缩纹理格式。
2.根据权利要求1所述的基于瓦片分割原理对2D OpenGL纹理做无损实时压缩方法,其特征在于:所述无损实时压缩方法在GPU实现或通过芯片固化算法硬件实现。