图像数据压缩制造技术

技术编号:30221700 阅读:20 留言:0更新日期:2021-09-29 09:41
本公开涉及图像数据压缩。本发明专利技术提供了一种计算机实施的方法和一种压缩单元,用于根据多级差值表对图像数据块执行有损压缩。所述图像数据块包括多个图像元素值,其中多级差值表的每个级别包括多个条目。确定所述图像数据块的起点值。确定所述多级差值表内针对所述图像数据块的级别。对于所述图像数据块中的每个图像元素值,在所述多级差值表内所确定的级别选择所述条目中的一个。形成对于所述图像数据块的压缩数据块,其中,所述压缩数据块包括:(i)表示所确定的起点值的数据,(ii)所确定的级别的指示,以及(iii)对于所述图像数据块中的每个图像元素值,为所述图像元素值选择的条目的指示。指示。指示。

【技术实现步骤摘要】
图像数据压缩


[0001]本公开涉及数据压缩和数据解压缩。

技术介绍

[0002]数据压缩,无论是无损的还是有损的,在将数据存储在存储器中和/或从存储器中读取数据的许多应用中都是人们所期望的。通过在将数据存储在存储器中之前压缩数据,可以减少传输到存储器的数据量。数据压缩对其而言特别有用的数据的示例是图像数据。术语“图像数据”在本文中用以指具有对应于图像的相应像素或采样位置的值的二维数据。例如,图像可以作为图形处理单元(GPU)上的渲染过程的一部分而产生。图像数据包括但不限于:将存储在深度缓冲器中的深度数据、将存储在帧缓冲器中的像素数据(例如,颜色数据)、将存储在纹理缓冲器中的纹理数据,以及将存储在表面法线缓冲器中的表面法线数据。这些缓冲器可以是任何合适类型的存储器,例如高速缓冲存储器、单独的存储器子系统、共享存储器系统中的存储区域或它们的某种组合。
[0003]GPU可用于处理数据以便生成图像数据。例如,GPU可以确定将存储在帧缓冲器中的图像的像素值(例如,颜色值),该像素值可以输出到显示器。GPU通常具有高度并行化的结构,用于并行处理大型数据块。使GPU(尤其是旨在在移动/嵌入式装置上实施的那些GPU)以减少的延时、降低的功耗和减少的物理尺寸(例如,减少的硅面积)操作有很大的商业压力。针对这些目标的竞争期望使用更高质量的渲染算法来产生更高质量的图像。降低存储器带宽(即,降低GPU与存储器之间传输的数据量)可显著降低系统的延时和功耗,这是在传输数据之前压缩数据可能特别有用的原因。当考虑在GPU自身内四处移动的数据时,这在较小程度上也同样适用。而且,同样的问题可能与其他处理单元,例如中央处理单元(CPU)以及GPU相关。
[0004]图1示出了可以在诸如移动/嵌入式装置的电子装置中实现的示例性计算系统100。计算系统100包括主机CPU 102、GPU 104、存储器106(例如,图形存储器)和显示器108。CPU 102被配置为与GPU 104进行通信。可以是压缩数据的数据可以在GPU 104与存储器106之间沿任一方向传输。由GPU 104渲染的图像(例如,利用像素值表示)可以存储在存储器106中并经由显示器接口116显示在显示器108上。
[0005]GPU 104包括渲染逻辑110、压缩/解压缩单元112和存储器接口114。图形渲染系统100被布置成使得数据可以在(i)CPU 102与渲染逻辑110;(ii)CPU 102与存储器接口114;(iii)存储器接口114与存储器106;(iv)渲染逻辑110与压缩/解压缩单元112;(v)压缩/解压缩单元112与存储器接口114;以及(vi)存储器106与显示器接口116之间在任一方向上传递。在一些示例中,图形渲染系统100可进一步被布置成使得数据可以在压缩/解压缩单元112和显示器接口116之间在任一方向上传递,且使得数据可从显示器接口116传递到显示器108。
[0006]在操作中,GPU 104可以个别地处理图像数据的区域。所述区域例如可以表示渲染空间(即,表示例如待渲染的图像区域的二维空间)的矩形(包括正方形)部分(或“分块”)。
渲染逻辑110可以使用诸如深度测试和纹理映射的已知技术执行图形原语(例如但不限于,三角形和线)的扫描转换和光栅化。渲染逻辑110可以包含高速缓存单元以减少存储器流量。一些数据由渲染逻辑110经由存储器接口114(其可以包括高速缓存)从存储器106读取或写入到存储器中,但是对于其他数据,例如要存储在缓冲器(例如,帧缓冲器)中的数据,数据优选地从渲染逻辑110经由压缩/解压缩单元112传输到存储器接口114。压缩/解压缩单元112通过压缩数据来减少要通过外部存储器总线传输到存储器106的数据量。
[0007]显示器接口116将定义完整图像的数据发送到显示器108。可以直接从存储器106存取未压缩图像。可以经由压缩/解压缩单元112对压缩数据解压缩,并将其作为未压缩数据发送到显示器108。在替代性示例中,压缩数据可以直接被显示器接口116读取,并且显示器接口116可以包括用于以与压缩/解压缩单元112的解压缩等效的方式解压缩压缩数据的逻辑。尽管示为单个实体,但是出于增强性能的原因,压缩/解压缩单元112可以包含多个并行压缩和/或解压缩单元。
[0008]如本领域的技术人员已知的,渲染逻辑110可以针对渲染空间中的每个像素生成一组一个或多个颜色值(例如,RGB或RGBA),并将颜色值存储在帧缓冲器中。帧的颜色值的集合在本文中可以称作颜色数据、图像数据、帧缓冲数据或简称为帧数据。渲染逻辑110还可以生成其它图像数据,例如深度数据、表面法线数据、照明数据等,并且可以将那些图像数据值存储在存储器中的一个或多个缓冲器中。在一些情况下,这些缓冲器可被称为帧缓冲器,而在其它情况下,术语“帧缓冲器”可为存储颜色值或存储要发送到显示器的数据的缓冲器保留。在一些图形渲染系统中,在执行一次或多次后续渲染时,渲染逻辑110可以使用存储在缓冲器中的用于特定渲染的图像数据值。例如,由一次渲染生成的颜色值可以表示可以(例如,以压缩形式)存储在存储器106中的纹理,并且纹理可以从存储器106读取(例如,并且解压缩)以在一次或多次后续渲染中作为纹理施加到表面。类似地,在一次渲染中为几何模型生成的表面法线值可以用于在渲染一个或多个后续渲染期间对相同模型施加照明效果。此外,在一次渲染中生成并存储的表面深度值可以被回读以用于渲染相同模型的一次或多次后续渲染。
[0009]由于图像数据(例如,颜色数据)可能相当大,因此与将图像数据写入到存储器中的缓冲器以及从存储器中的缓冲器读取图像数据相关联的存储器带宽可能是图形处理系统和/或GPU的总存储器带宽的相当大的部分。因此,图像数据在存储在缓冲器中之前通常通过压缩/解压缩单元112被压缩,并且在从缓冲器中读取之后,通过压缩/解压缩单元112被解压缩。
[0010]当使用无损压缩技术压缩数据并且然后使用互补无损解压缩技术解压缩数据时,可以恢复原始数据,而不会丢失数据(假设在压缩或解压缩过程中没有出现错误)。数据被压缩的程度可以表示为压缩比,其中通过将未压缩数据的大小除以压缩数据的大小得到压缩比。通过无损压缩技术实现的压缩比通常取决于被压缩的数据。例如,无损压缩技术往往能够在压缩高度相关的数据时实现相对高的压缩比;而无损压缩技术往往在压缩不相关(例如,随机)数据时实现相对低的压缩比。因此,难以保证无损压缩技术将实现特定的压缩比(例如,2:1的压缩比)。因此,如果仅使用无损压缩技术,那么系统通常必须要能够处理无法实现所期望的压缩比(例如,2:1)的情况,以及例如有时使用无损压缩技术根本不能产生压缩的情况。
[0011]在一些情况下,可以认为保证压缩比比保证在压缩期间不会丢失数据更重要。在这些情况下,可以使用有损压缩技术,这可以实现保证压缩比,但是在压缩过程中可能丢失一些数据。

技术实现思路

[0012]提供本
技术实现思路
是为了介绍在以下详细描述中进一步描述的一些概念。本
技术实现思路
不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种根据多级差值表对图像数据块执行有损压缩的计算机实施的方法,其中,所述图像数据块包括多个图像元素值,其中,所述多级差值表的每个级别包括多个条目,所述方法包括:确定所述图像数据块的起点值;确定所述多级差值表内针对所述图像数据块的级别;对于所述图像数据块中的每个图像元素值,在所述多级差值表内所确定的级别选择所述条目中的一个;以及形成所述图像数据块的压缩数据块,所述压缩数据块包括:(i)表示所确定的起点值的数据,(ii)所确定的级别的指示,以及(iii)对于所述图像数据块中的每个图像元素值,为所述图像元素值选择的条目的指示。2.根据权利要求1所述的方法,其中,对于所述多级差值表的不同级别,由级别中的条目表示的值域的大小不同。3.根据任一项前述权利要求所述的方法,其中,所述确定所述图像数据块的起点值包括识别所述图像数据块中的最小图像元素值。4.根据任一项前述权利要求所述的方法,其中,表示所确定的起点值的所述数据具有的位少于所述图像数据块中的所述图像元素值中的任一个。5.根据任一项前述权利要求所述的方法,其中,所述确定所述多级差值表内针对所述图像数据块的级别包括:确定所确定的起点值与所述图像数据块中的图像元素值中的任一个之间的最大差值;以及从所述多级差值表中选择其最大条目最接近地表示所确定的最大差值的级别。6.根据任一项前述权利要求所述的方法,其中,对于所述图像数据块中的所述图像元素值中的每一个,在所述多级差值表内的所确定的级别所述选择所述条目中的一个包括:通过确定所确定的起点值和所述图像元素值之间的差值来确定所述图像元素值的差值;以及从所述多级差值表的所确定的级别中选择最接近地表示所确定差值的条目。7.根据任一项前述权利要求所述的方法,其中,所述多级差值表的每个级别中的第一条目表示零值。8.根据任一项前述权利要求所述的方法,其中,用于表示所述压缩数据块的位数不取决于所述图像数据块中的所述图像元素值的值,从而保证所述有损压缩的压缩比。9.根据任一项前述权利要求所述的方法,其中,所述图像元素值是整数格式,并且其中,通过以所述整数格式对所述图像元素值执行包括加法运算、减法运算和比较运算中的一个或多个的运算来压缩所述图像数据块,但是压缩所述图像数据块的所述方法不涉及执行任何乘法运算或除法运算。10.根据任一项前述权利要求所述的方法,其中,所述图像数据块涉及多通道图像数据块的一个通道,其中,所述多通道图像数据的不同通道被独立地压缩。11.根据权利要求10所述的方法,其中,所述多通道图像数据块是颜色值块的颜色数据,包括:(i)与所述颜色值块的红色通道有关的第一图像数据块,(ii)与所述颜色值块的绿色通道有关的第二图像数据块,以及(iii)与所述颜色值块的蓝色通道有关的第三图像
数据块,并且其中,在独立压缩三个图像数据块之前,对所述颜色值执行颜色去相关。12.根据权利要求10所述的方法,其中,所述多通道图像数据是呈RGB格式的颜色数据,使得每个颜色值包括红色值(R)、绿色值(G)和蓝色值(B),并且所述方法包括将所述颜色数据转换为亮度

色度格式,所述亮度

色度格式包括:(i)与颜色值块的亮度通道(Y)有关的第一图像数据块,(ii)与所述颜色值块的第一色度通道(Cb)有关的第二图像数据块,以及(iii)与所述颜色值块的第二色度通道(Cr)有关的第三图像数据块,其中,在所述颜色数据已经被转换成所述亮度

色度格式之后,独立地压缩三个图像数据块。13.一种压缩图像数据块的方法,包括:确定所述图像数据块的无损压缩是否将满...

【专利技术属性】
技术研发人员:杨喜乐
申请(专利权)人:畅想科技有限公司
类型:发明
国别省市:

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

1