本公开涉及数据处理领域,具体地涉及一种基于pdc压缩算法的解压缩测试用例生成方法、设备及介质。
背景技术:
::1、通常图像数据传输需要消耗很大的带宽,不经处理的图像数据传输既效率低,功耗又高。图像的无损压缩是将原始图像数据经过某些特定处理,将其转换成所需存储单元更小的格式进行存储、传输;而后又能经过特定处理将其还原的技术。predictable_delta_compress(pdc) 压缩是一种可将128b/256b的原始图像数据压缩为32b/64b/94b…/224b等不同大小的压缩解压方法。因图像数据是否能压缩的场景具有很大的不确定性,模块设计时提前知道产生的测试用例是否是可压缩的数据,以及测试用例能被压缩到的大小,这给pdc压缩算法设计实现的验证带来一定的难度。2、因此,如何基于pdc压缩算法高效生成可指定图像数据压缩大小的解压缩/压缩测试用例,是亟待解决的问题。技术实现思路1、本发明的目的在于提供一种基于pdc压缩算法的解压缩测试用例生成方法、设备及介质,以便于至少部分地解决上述问题。2、根据本公开的一个方面,提出一种基于pdc压缩算法的解压缩测试用例生成方法,包括:3、步骤s1,确定测试用例的压缩率comp_rate,4、步骤s2,根据comp_rate,随机生成压缩数据的长度comp_data_len,其中comp_data_len>=240bit,5、步骤s3,根据压缩数据长度comp_data_len, 随机生成pu_data_ra和pu_data_gb的长度,其中pu_data_ra_len + pu_data_bg_len = comp_data_len, 且pu_data_ra_len>=120, pu_data_bg_len>=120,6、步骤s4,随机生成tile中各个group的r、g、b、a四种像素的blh的值,blh_a_0~blh_a_3,blh_r_0~blh_r_3, blh_b_0~blh_b_3,blh_g_0~blh_g_3,各个blh的取值范围是1~7,其中,7、(blh_a_0 + blh_a_1 + blh_a_2 + blh_a_3 + blh_r_0 + blh_r_1 + blh_r_2+ blh_r_3) * 8 + 56 = pu_data_ra_len8、其中blh为每个group中各个像素pix差值res最大需要位数的最高有效位,9、步骤s5,根据各个group的blh值,生成各个像素pix的差值res_m_n[i],差值的取值范围为:0~(2*blh_m_n)-1,且对于各个group的8 个res, res_m_n [blh_m_n-1]中至少有一个为1,其中m 为r, a,b, g, n为0~3, i为0~7,10、步骤s6,根据各个pix的res值,分别生成r、a、b、g四种像素各个组的差值,pack_data_r, pack_data_a, pack_data_b, pack_data_g,11、步骤s7,随机生成rgba每种像素的均值,即dc_r, dc_a, dc_b, dc_g的值,12、步骤s8,生成pu_data_ra, pu_data_gb,其中,13、pu_data_ra = { pack_data_r , pack_data_a, dc_r, dc_a, blh_r_3, blh_r_2,blh_r_1, blh_r_0, blh_a_3, blh_a_2,blh_a_1, blh_a_0, pu_data_ra_len },14、pu_data_bg = { pack_data_b , pack_data_g, dc_b, dc_g, blh_b_3, blh_b_2,blh_b_1, blh_b_0, blh_g_3, blh_g_2,blh_g_1, blh_g_0, pu_data_bg_len },15、步骤s9,生成压缩数据comp_data,16、comp_data = { pu_data_ra , pu_data_bg},17、步骤s10,生成压缩测试用例final_comp_data,18、final_comp_data = {rdc, comp_data},其中,rdc为根据第一步中comp rate,将comp_data 高位补0到对齐对应的字节。19、在一些实施例中,基于pdc压缩算法的解压缩测试用例生成方法,还包括所述comp_rate具体为,压缩后数据长度,以32b对齐。20、根据本公开的另一个方面,提出一种基于pdc压缩算法的压缩测试用例生成方法,包括:21、步骤s1,确定测试用例的压缩率comp_rate,22、步骤s2,根据comp_rate,随机生成压缩数据的长度comp_data_len,其中comp_data_len>=240bit,23、步骤s3,根据压缩数据长度comp_data_len, 随机生成pu_data_ra 和pu_data_gb的长度,其中pu_data_ra_len + pu_data_bg_len = comp_data_len, 且pu_data_ra_len>=120 , pu_data_bg_len>=120,24、步骤s4,随机生成tile中各个group的r、g、b、a四种像素的blh的值,blh_a_0~blh_a_3 ,blh_r_0~blh_r_3, blh_b_0~blh_b_3,blh_g_0~blh_g_3,各个blh的取值范围是1~7,其中,25、(blh_a_0 + blh_a_1 + blh_a_2 + blh_a_3 + blh_r_0 + blh_r_1 + blh_r_2+ blh_r_3) * 8 + 56 = pu_data_ra_len26、其中blh为每个group中各个像素pix差值res最大需要位数的最高有效位,27、步骤s5,根据各个group的blh值,生成各个像素pix的差值res_m_n[i],差值的取值范围为:0~(2*blh_m_n)-1,且对于各个group的8 个res, res_m_n [blh_m_n-1]中至少有一个为1,其中m 为r, a,b, g, n为0~3 , i为0~7,28、步骤s6,根据各个pix的res值,分别生成r、a、b、g四种像素各个组的差值,pack_data_r, pack_data_a, pack_data_b, pack_data_g,29、步骤s7,随机生成rgba每种像素的均值,即dc_r, dc_a, dc_b, dc_g的值,30、步骤s8,计算各pixel的值, pix[i] = res[i]+pred_pix[i],31、步骤s9,利用上述各pix值,根据数据格式,组合tile中各pixel的未压缩数据raw_data_pix[n],32、步骤s10,根据数据格式,组合tile中所有pixel的未压缩数据raw_data。33、在一些实施例中,基于pdc压缩算法的解压缩测试用例生成方法,还包括所述comp_rate具体为,压缩后数据长度,以32b对齐。34、本技术实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例方法中的步骤。35、本技术实施例还提供一种计算机可读存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器运行时执行如上任一实施例方法中的步骤。36、本技术提供一种基于pdc压缩算法的解压缩测试用例生成方法、设备及介质。基于pdc压缩算法,首先确定压缩率,根据压缩率随机生成压缩数据长度comp_data_len,并随机生成tile中各个group的r、g、b、a四种像素的blh的值,根据各个group的blh值,生成各个像素pix的差值,根据各个pix的res值,分别生成r、a、b、g四种像素各个组的差值,随机生成rgba每种像素的均值,进而生成压缩数据,根据本公开提供的方法可以高效地生成足够随机的压缩数据测试向量,并可以高效产生可指定图像数据压缩大小的测试激励的验证方法,极大丰富验证场景,提前发现设计实现中存在的缺陷问题。当前第1页12当前第1页12
技术特征:1.一种基于pdc压缩算法的解压缩测试用例生成方法,其特征在于,所述方法包括:
2.根据权利要求1所述方法,所述方法还包括:
3.一种基于pdc压缩算法的压缩测试用例生成方法,其特征在于,所述方法包括:
4.根据权利要求3所述方法,所述方法还包括:
5.一种电子设备,其特征在于:包括存储有可执行程序代码的存储器以及与所述存储器耦合的处理器;其中,所述处理器调用所述存储器中存储的可执行程序代码,执行如权利要求1-4任一项所述的方法。
6.一种计算机可读存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器运行时执行如权利要求1-4任一项所述的方法。
技术总结本申请提供基于PDC压缩算法的解压缩测试用例生成方法、设备及介质。基于PDC压缩算法,首先确定压缩率,根据压缩率随机生成压缩数据长度comp_data_len,并随机生成tile中各个group的R、G、B、A四种像素的BLH的值,根据各个group的BLH值,生成各个像素pix的差值,根据各个pix的res值,分别生成R、A、B、G四种像素各个组的差值,随机生成RGBA每种像素的均值,进而生成压缩数据,根据本公开提供的方法可以高效地生成足够随机的压缩数据测试向量,并可以高效产生可指定图像数据压缩大小的测试激励的验证方法,极大丰富验证场景,提前发现设计实现中存在的缺陷问题。
技术研发人员:姚真平
受保护的技术使用者:沐曦集成电路(上海)有限公司
技术研发日:技术公布日:2024/12/17