压缩方法及装置、计算机可读存储介质及电子设备制造方法及图纸

技术编号:26694213 阅读:34 留言:0更新日期:2020-12-12 02:50
本公开涉及计算机技术领域,提供了一种压缩方法及装置、计算机可读存储介质和电子设备。其中,上述方法包括:根据当前帧图像的颜色生成下一帧图像的颜色库;当对下一帧图像进行存储时,依次读取预设数量的像素,若各像素的颜色相同,则在颜色库中查询该颜色;当该颜色在颜色库中时,存储该颜色的颜色标识。本公开基于生成的颜色库可以实现帧缓存的压缩,从而可以提高帧缓存的压缩倍率,提升压缩性能。

【技术实现步骤摘要】
压缩方法及装置、计算机可读存储介质及电子设备
本公开涉及计算机
,具体而言,涉及一种压缩方法、压缩装置、计算机可读存储介质和电子设备。
技术介绍
FrameBuffer(帧缓存)是嵌入式系统中专门为GPU(raphicsProcessingUnit,图形处理器)所保留的一块连续的物理内存,LCD(LiquidCrystalDisplay,液晶显示器)通过专门的总线从Framebuffer中读取数据,显示到屏幕上。以一个4K120HZ的设备为例,FrameBuffer每秒带宽将达到4096*2160*120约等于3.75GB的未压缩数据量。因此,FrameBuffer的数据的读写会对系统功耗和性能产生很大的影响。相关技术中,主要采用UBWC(UniversalBandwidthCompression,通用宽带压缩)框架的压缩技术来进行FrameBuffer的压缩,即,主要根据当前帧和上一帧的像素差异来压缩。其核心思想是假设当前帧和下一帧的差异很小,只要保存当前帧和下一帧的差异,然后通过差异和当前帧数据就可以恢复下一帧的数据。然而,这种根据相邻两帧之间的差异来实现压缩的方法,在相邻两帧的差异较大的情况下,会降低其压缩率,进而影响压缩性能。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开的目的在于提供一种压缩方法及装置、计算机可读存储介质及电子设备,进而至少在一定程度上提高压缩率、改善压缩性能。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的第一方面,提供了一种压缩方法,包括:根据当前帧图像的颜色生成下一帧图像的颜色表;当对所述下一帧图像进行存储时,依次读取预设数量的像素,若各所述像素的颜色相同,则在所述颜色库中查询所述颜色;当所述颜色在所述颜色库中时,存储所述颜色的颜色标识。根据本公开的第二方面,提供了一种压缩装置,包括:颜色库生成模块,被配置为根据当前帧图像的颜色生成下一帧图像的颜色库;颜色查询模块,被配置为当对所述下一帧图像进行存储时,依次读取预设数量的像素,若各所述像素的颜色相同,则在所述颜色库中查询所述颜色;颜色标识存储模块,被配置为当所述颜色在所述颜色库中时,存储所述颜色的颜色标识。根据本公开的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的压缩方法。根据本公开实施例的第四方面,提供了一种电子设备,包括:处理器;以及,存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的压缩方法。由上述技术方案可知,本公开示例性实施例中的压缩方法、压缩装置,以及实现所述压缩方法的计算机可读存储介质及电子设备,至少具备以下优点和积极效果:在本公开的一些实施例所提供的技术方案中,首先,根据当前帧图像的颜色生成下一帧图像的颜色库;然后,当对下一帧图像进行存储时,依次读取预设数量的像素,若各像素的颜色相同,则在颜色库中查询该颜色;当该颜色在颜色库中时,存储该颜色的颜色标识。与相关技术相比,本公开基于当前帧图像的颜色生成下一帧图像的颜色库,根据生成的颜色库可以存储颜色的颜色标识,以实现帧图像的压缩,从而在相邻帧图像差异较大的情况下,能够提高帧图像的压缩率、提升压缩性能,降低系统的消耗。本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本公开一示例性实施例中压缩方法的流程示意图;图2示出本公开一示例性实施例中生成颜色库的方法的流程示意图;图3示出本公开一示例性实施例中生成颜色字典的方法的流程示意图;图4示出本公开一示例性实施例中压缩过程的示意图;图5示出本公开一示例性实施例中压缩和解压缩过程的示意图;图6示出本公开一示例性实施例中压缩装置的结构示意图;图7示出本公开示例性实施例中电子设备的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。FrameBuffer(帧缓存)是嵌入式系统中专门为GPU所保留的一块连续的物理内存,LCD通过专门的总线从Framebuffer读取数据,显示到屏幕上。FrameBuffer本质上是一块显示缓存,往显示缓存中写入特定格式的数据就意味着向屏幕输出内容。FrameBuffer机制模仿显卡的功能,将显卡硬件结构抽象掉,可以通过FrameBuffer的读写直接对显存进行操作。用户可以将FrameBuffer看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。这种操作是抽象的,统一的。用户不必关心物理显存的位置、换页机制等等具体细节,这些都是由FrameBuffer设备驱动来完成的。对于一个4K、120HZ的设备来说,FrameBuffer每秒带宽将达到4096*2160*120约等于3.75GB的未压缩数据量。数据将通过系统中央总线读写到内部存储器上,所以FrameBuffer的数据DDR(DoubleDataRate,双倍速率同步动态随机存储器)的读写将会对系统功耗和性能产生很大的影响。相关技术中,主要采用UBWC框架的压缩技术来进行F本文档来自技高网...

【技术保护点】
1.一种压缩方法,其特征在于,包括:/n根据当前帧图像的颜色生成下一帧图像的颜色库;/n当对所述下一帧图像进行存储时,依次读取预设数量的像素,若各所述像素的颜色相同,则在所述颜色库中查询所述颜色;/n当所述颜色在所述颜色库中时,存储所述颜色的颜色标识。/n

【技术特征摘要】
1.一种压缩方法,其特征在于,包括:
根据当前帧图像的颜色生成下一帧图像的颜色库;
当对所述下一帧图像进行存储时,依次读取预设数量的像素,若各所述像素的颜色相同,则在所述颜色库中查询所述颜色;
当所述颜色在所述颜色库中时,存储所述颜色的颜色标识。


2.根据权利要求1所述的压缩方法,其特征在于,所述根据当前帧图像的颜色生成下一帧图像的颜色库,包括:
统计当前帧图像的各颜色所对应的像素数量;
根据所述像素数量对所述当前帧图像中的各颜色进行排序;
确定所述像素数量排序前N位的所述当前帧图像中的颜色,以生成下一帧图像的颜色库。


3.根据权利要求2所述的压缩方法,其特征在于,确定所述像素数量排序前N位的所述当前帧图像中的颜色,以生成下一帧图像的颜色库,包括:
确定所述像素数量排序前64位的所述当前帧图像中的颜色,以通过最大堆数据结构生成下一帧图像的颜色库。


4.根据权利要求1至3中任一项所述的压缩方法,其特征在于,所述颜色库中包括颜色索引、颜色的RGBA颜色值、所述RGBA颜色值所对应的像素数量;
所述当所述颜色在所述颜色库中时,存储所述颜色的颜色标识包括:
存储所述颜色在所述颜色库中的颜色索引。


5.根据权利要求1所述的压缩方法,其特征在于,所述依次读取预设数量的像素,若各像素的颜色相同,则在所述颜色库中查询所述颜色,包括:
依次读取2×2的4个像素,若4个像素的颜色相同,则在所述颜色库中查询所述颜色。


6.根据权利要求1所述的压缩方法,其特征在于,根据当前帧图像的颜色生成下一帧图像的颜色库后,所述方法还包括:
根据所述下一帧图像的颜色库生成下一帧图像的颜色字典,其中,所述下一帧图像的颜色字典用于解压缩所述下一帧图像。


7.根据权利要求6所述的压缩方法,其特征在于,所述根据所述下一帧图像的颜色库生成下一帧图像的颜色字典,包括:
确定所述下一帧图像的颜色库中的RGBA颜色值所对应的哈希值;
根据所述RGBA颜色值在所述颜色库中的排序,将所述RGBA颜色值所对应的哈希值顺序的存储在第一数组中,以生成所述下一帧图像的颜色字典。


8.根据权利要求7所述的压缩方法,其特征在于,所述...

【专利技术属性】
技术研发人员:张恺毅赵庆浩
申请(专利权)人:OPPO广东移动通信有限公司
类型:发明
国别省市:广东;44

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

1