System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于图像处理,尤其涉及一种rgba图像的压缩方法及相关设备。
技术介绍
1、rgba图像是一种特殊的rgb图像,rgba图像中的像素由红色(r,red)分量、绿色(g,green)分量、蓝色(b,blue)分量以及透明度分量(alpha)构成,rgb分量(红色分量、绿色分量、蓝色分量)决定像素的颜色,alpha分量决定像素的透明度,alpha分量为255时,表明像素完全不透明,当alpha分量为0时,表明像素完全透明,当alpha分量介于0~255之间时,表明像素为半透明。
2、通过rgba图像,可以实现各种视觉效果,例如透明背景、渐变色、图层叠加等。这种图像格式广泛应用于图像处理、图形设计、游戏开发以及界面设计等领域,实际应用时,为节省存储资源和成本,往往会对rgba图像进行压缩。此外,智能手表等应用通常要求具有随机访问,即局部刷新/开窗的能力。因此,rgba图像压缩编码还需要以分块为单位独立进行编码,并且具有固定的压缩比。
3、目前,支持的rgba图像格式为便携式网络图形(png,portable networkgraphics)文件,其具备无损压缩的优点,但使用该方法会占用行缓冲寄存器较大的面积,成本较高。
技术实现思路
1、本申请提供了一种rgba图像的压缩方法及相关设备,可以解决现有技术对rgba图像进行压缩时占用行缓冲寄存器面积大,成本高的问题。
2、第一方面,本申请提供了一种rgba图像的压缩方法,包括:
3、步骤
4、分别针对多个基本块中的每个基本块,执行以下步骤2至步骤3:
5、步骤2,分别获取基本块中每个像素的rgb分量和alpha分量,根据rgb分量和alpha分量,对基本块进行预编码,计算不同编码模式下基本块被编码前后的损失值,并根据最小损失值对应的编码模式的语法元素,构建基本块的码流参数;其中,编码模式包括第一编码模式、第二编码模式、第三编码模式、第四编码模式以及第五编码模式,第一编码模式的语法元素为通用语法元素,子块顺序索引表示alpha分量等于255的像素构成的集合与其它像素构成的集合之间的顺序,第二编码模式包括通用语法元素,第三编码模式的语法元素包括通用语法元素、子模式标志位、首索引标识、颜色索引数据,子模式标志位用于表征编码时采用的子模式,子模式为子模式一或子模式二,首索引标识用于标识索引变化的顺序,颜色索引数据用于索引每个像素rgb值插值时的权重,第四编码模式包括通用语法元素,第五编码模式的语法元素包括通用语法元素、分量旋转和索引标识,分量旋转用于表示rgb分量与alpha分量之间的交换情况,索引标识用于表征rgb分量索引和alpha分量索引的精度设置情况,通用语法元素包括模式标识符、划分标识符、像素排列索引、子块顺序索引、共享位以及索引数据,第一编码模式、第二编码模式以及第四编码模式划分的子集数量不同,且第二编码模式未对alpha分量进行编码;
6、步骤3,根据码流参数,对基本块进行压缩编码,得到基本块对应的编码块;
7、步骤4,对所有编码块进行解码,得到压缩后的rgba图像。
8、可选的,第一编码模式的端点对的数量等于三;
9、可选的,当编码模式为第一编码模式时,步骤2中预编码的过程如下:
10、分别针对基本块中的每个像素,若将像素划分为子集一,则将像素的alpha分量设置为255;若将像素划分为子集二,则设置像素的alpha分量与rgb分量共用索引;若像素的可察觉损失值小于预设阈值且alpha分量不是定值,则将像素划分为子集三;
11、分别针对子集一中的每个像素,分别对像素的rgb分量的索引和端点对进行编码;
12、分别针对子集二中的每个像素,分别对像素中的共用索引和端点对进行编码;
13、分别针对子集三中的每个像素,分别对像素中alpha分量的索引和端点对进行编码。
14、可选的,当编码模式为第二编码模式时,步骤2中预编码的过程如下:
15、将基本块中的所有像素划分为子集a和子集b;其中,子集a和子集b分别包含一对端点,端点的端点值共用一分享位;
16、分别针对基本块中的每个像素,根据子集a、子集b、端点以及分享位,对像素中rgb分量的索引进行编码。
17、可选的,当编码模式为第三编码模式的子模式一时,步骤2中预编码的过程如下:
18、分别针对基本块中的每个像素,根据像素的rgb分量的索引和子模式标志位对像素进行编码;
19、当编码模式为第三编码模式的子模式二时,步骤2中预编码的过程如下:
20、将基本块分为子集m和子集n;
21、分别针对子集m和子集n两者中的任一者,针对该者中的每个像素,执行以下操作:
22、对预先通过pca拟合获取的索引数据进行修正,根据修正后的索引数据获取基本块的像素排列顺序索引,并根据像素的子模式标志位、首索引标识以及二次压缩后的颜色索引数据,对像素进行编码。
23、可选的,当编码模式为第四编码模式时,步骤2中预编码的过程如下:
24、分别针对基本块中的每个像素,将像素的rgb分量划分为子集u和子集v,分别对子集u、子集v以及像素的alpha分量进行编码。
25、可选的,当编码模式为第五编码模式时,步骤2中预编码的过程如下:
26、分别针对基本块中的每个像素,对像素的rgb分量和alpha分量进行索引,得到初始rgb分量索引和初始alpha分量索引,并对初始rgb分量索引和初始alpha分量索引进行交换,得到最终rgb分量索引和最终alpha分量索引;
27、根据最终rgb分量索引、最终alpha分量索引、分量旋转以及索引标识,对基本块进行编码。
28、第二方面,本申请提供了一种rgba图像的压缩装置,包括:
29、图像划分模块,在rgb空间,按照2×8的尺寸对待压缩rgba图像进行划分,得到多个基本块;
30、预编码模块,用于分别获取基本块中每个像素的rgb分量和alpha分量,根据rgb分量和alpha分量,对基本块进行预编码,计算不同编码模式下基本块被编码前后的损失值,并根据最小损失值对应的编码模式的语法元素,构建基本块的码流参数;其中,编码模式包括第一编码模式、第二编码模式、第三编码模式、第四编码模式以及第五编码模式,第一编码模式的语法元素为通用语法元素,子块顺序索引表示alpha分量等于255的像素构成的集合与其它像素构成的集合之间的顺序,第二编码模式包括通用语法元素,第三编码模式的语法元素包括通用语法元素、子模式标志位、首索引标识、颜色索引数据,子模式标志位用于表征编码时采用的子模式,子模式为子模式一或子模式二,首索引标识用于标识索引变化的顺序,颜色索引数据用于索引每个像素rgb本文档来自技高网...
【技术保护点】
1.一种RGBA图像的压缩方法,其特征在于,包括:
2.根据权利要求1所述的RGBA图像的压缩方法,其特征在于,所述第一编码模式的端点对的数量等于三;
3.根据权利要求1所述的RGBA图像的压缩方法,其特征在于,当所述编码模式为第二编码模式时,所述步骤2中预编码的过程如下:
4.根据权利要求1所述的RGBA图像的压缩方法,其特征在于,当所述编码模式为所述第三编码模式的子模式一时,所述步骤2中预编码的过程如下:
5.根据权利要求1所述的RGBA图像的压缩方法,其特征在于,当所述编码模式为所述第四编码模式时,所述步骤2中预编码的过程如下:
6.根据权利要求1所述的RGBA图像的压缩方法,其特征在于,当所述编码模式为第五编码模式时,所述步骤2中预编码的过程如下:
7.一种RGBA图像的压缩装置,其特征在于,包括:
8.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的压缩方法。
...
【技术特征摘要】
1.一种rgba图像的压缩方法,其特征在于,包括:
2.根据权利要求1所述的rgba图像的压缩方法,其特征在于,所述第一编码模式的端点对的数量等于三;
3.根据权利要求1所述的rgba图像的压缩方法,其特征在于,当所述编码模式为第二编码模式时,所述步骤2中预编码的过程如下:
4.根据权利要求1所述的rgba图像的压缩方法,其特征在于,当所述编码模式为所述第三编码模式的子模式一时,所述步骤2中预编码的过程如下:
5.根据权利要求1所述的rgba图像的压缩方法,其特征在于,当所述编码模式为所述第四编码模式时,所述步骤2中预...
【专利技术属性】
技术研发人员:梁丕树,黄海鸥,胡小江,李江城,
申请(专利权)人:深圳市爱协生科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。