一种纹理、音频和视频的压缩和重建方法转让专利

申请号 : CN202111569484.8

文献号 : CN114832373B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许磊靳文波赵庆鹏

申请人 : 许磊

摘要 :

本发明公开了一种纹理、音频和视频的压缩和重建方法,建立通用压缩和特殊压缩相结合的数据压缩子系统,利用数据分类信息,进行数据压缩;将压缩之后的数据按照不同的需求重新组合,并按照原包类似的方式重新打包;压缩过程中使用到的参数,如果需要在重建阶段使用,以元数据的方式保存下来,放入到新包内,以便重建过程中使用;在用户端针对纹理、图片、音频和视频数据的按需重建子系统,用户端根据自身的设备信息和网络状况选择特定的压缩后数据和元数据;当用户端接受到压缩后数据和元数据之后,根据对压缩格式的支持,决定是否对压缩后的数据进行解压和重建;本发明属于计算机技术领域,具体是指一种纹理、音频和视频的压缩和重建方法。

权利要求 :

1.一种纹理、音频和视频的压缩和重建方法,其特征在于,包括如下步骤:

(1)建立通用压缩和特殊压缩相结合的数据压缩子系统,利用数据分类信息,进行分类数据压缩;

(2)针对需要精确传输的代码、配置、文本、模型和数值的数据,根据压缩率和算力要求,选取通用压缩算法以及不同的压缩率参数进行压缩,生成不同等级的压缩后数据;

(3)针对音频、视频、图形和图像的数据,根据实效性要求和用户服务等级,使用无损或有损压缩算法以及不同的码率或分辨率参数进行压缩,生成不同品质的压缩后数据;

(4)针对纹理数据,如果纹理采用了压缩纹理格式,则解压将纹理恢复成普通图片格式;根据压缩比,重建阶段算力,以及质量要求,选择不同的压缩算法和不同的质量参数,生成不同品质的压缩后图片;并将原始的压缩纹理数据中的元数据作为压缩参数的一部分保存下来,用于指导纹理的重建过程;元数据包括颜色表、基础颜色值、插值范围;

(5)将压缩之后的数据按照不同的需求重新组合,并按照原包的方式重新打包;其中,需求包括质量需求,重建阶段算力成本需求;

(6)压缩过程中使用到的参数,如果需要在重建阶段使用,则以元数据的方式保存下来,放入到新包内,以便重建过程中使用;

(7)用户端针对纹理、图片、音频和视频数据的按需重建子系统,根据自身设备信息和网络状况选择特定的压缩后数据和元数据;用户端接收压缩后数据和元数据之后,根据对压缩格式的支持,决定是否对压缩后的数据进行解压和重建;在压缩过程和重建过程中,使用硬件进行编解码;

(8)对通用压缩的数据直接解压;对音频,图片和视频数据,检查本地是否支持压缩之后的格式,如果支持则直接使用,否则先进行格式转换;对纹理数据,根据对纹理格式的支持和元数据的指导进行重建,从图片转换成相应的纹理格式。

2.根据权利要求1所述的纹理、音频和视频的压缩和重建方法,其特征在于,步骤(2)中,通用压缩算法包括7z,LZMA,zip。

3.根据权利要求1所述的纹理、音频和视频的压缩和重建方法,其特征在于,步骤(3)中,图像压缩算法包括png,jpeg,webp,音频压缩算法包括aac,mp3,视频压缩算法包括mpeg,mpeg4,H264,H265,VP8,VP9。

说明书 :

一种纹理、音频和视频的压缩和重建方法

技术领域

[0001] 本发明属于计算机技术领域,具体是指一种纹理、音频和视频的压缩和重建方法。

背景技术

[0002] 随着计算机技术和游戏产业的高速发展,游戏和程序容量爆炸式增长,一些大型游戏的容量往往已经超过200GB。因此,在现有分发技术(线下光盘,硬盘,闪存等存储介质,线上下载安装)条件下,这些大容量的游戏(特别是手机游戏的)分发,安装和存储就成了问题,而且由于大型游戏的容量较大,用户的网络环境复杂,用户通常需要等待几分钟乃至几十分钟才能开始游戏,严重影响了用户体验。而且长时间的等待过程中,很多用户直接放弃,也间接影响了盈利。

发明内容

[0003] 为了解决上述难题,本发明提供了一种纹理、音频和视频的压缩和重建方法,。
[0004] 为了实现上述功能,本发明采取的技术方案如下:一种纹理、音频和视频的压缩和重建方法,包括如下步骤:
[0005] (1)建立通用压缩和特殊压缩相结合的数据压缩子系统,利用数据分类信息,进行数据压缩;
[0006] (2)针对需要精确传输的代码、配置、文本、模型和数值的数据,根据压缩率和算力要求,选取通用压缩算法进行压缩以及不同的压缩率参数,生成不同等级的压缩后数据;
[0007] (3)对音频、视频、图形和图像的数据,根据实效性要求和用户服务等级,使用无损或有损压缩算法,以及不同的码率或分辨率参数,生成不同品质的压缩后数据;
[0008] (4)针对纹理数据,引入了下列方法来解决纹理压缩的问题:
[0009] (4‑1)如果纹理采用了压缩纹理格式,将纹理恢复成图片格式;
[0010] (4‑2)根据压缩比,重建阶段算力,以及质量要求,选择不同的压缩算法和不同的质量参数,生成不同品质的压缩后图像;
[0011] (4‑3)将原始的压缩纹理数据中的元数据作为压缩参数的部分保存下来,用来指导纹理的重建过程,减少算力消耗,缩短重建时间;
[0012] (5)将压缩之后的数据按照不同的需求重新组合,并按照原包类似的方式重新打包;
[0013] (6)压缩过程中使用到的参数,如果需要在重建阶段使用,以元数据的方式保存下来,放入到新包内,以便重建过程中使用;
[0014] (7)在用户端针对纹理、图片、音频和视频数据的按需重建子系统,用户端根据自身的设备信息和网络状况选择特定的压缩后数据和元数据;当用户端接受到压缩后数据和元数据之后,根据对压缩格式的支持,决定是否对压缩后的数据进行解压和重建;
[0015] (8)对通用压缩的数据直接解压;对音频,图片和视频数据,检查本地是否支持压缩之后的格式,如果支持则直接使用,否则先进行格式转换;对纹理部分,根据对纹理格式的支持和元数据的指导进行重建,从图片转换成相应的纹理格式。
[0016] 在压缩过程和重建过程中,尽量使用硬件进行编解码,提高编解码效率。
[0017] 本发明采取上述结构取得有益效果如下:本发明提供的纹理、音频和视频的压缩和重建方法,设计合理,包括以下优点:
[0018] (1)极大地减小了游戏大小,降低了游戏分发成本(存储,带宽,下载时间等等),在实际对一些大型游戏的测试中发现,经过纹理图片音视频压缩和通用压缩之后,在品质可以接受的情况下整体压缩率可以超过5:1。
[0019] (2)降低了游戏(程序)对用户端(手机或电脑)存储容量的要求。
[0020] (3)在纹理重建(图片到压缩纹理)的过程中,由于有元数据(颜色表,基础颜色,插值范围)的指导,效率提高超过1000倍。

附图说明

[0021] 图1为本发明提供的纹理、音频和视频的压缩和重建方法的纹理压缩流程图;
[0022] 图2为本发明提供的纹理、音频和视频的压缩和重建方法的纹理重建流程图。

具体实施方式

[0023] 下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0024] 在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。以下结合附图,对本发明做进一步详细说明。
[0025] 如图1‑2所示,本发明提供的纹理、音频和视频的压缩和重建方法,建立通用压缩和特殊压缩相结合的数据压缩子系统。利用数据分类信息,比如代码、配置、文本、模型、音频、视频、纹理、图形、图像、数值或其他等类型。
[0026] 针对需要精确传输的代码、配置、文本、模型、数值等数据,根据其压缩率和算力要求(压缩,和解压时间消耗),选取特定的通用压缩(无损)算法进行压缩(比如7z,LZMA,zip等)以及不同的压缩率等参数,生成不同等级的压缩后数据;
[0027] 对音频、视频、图形、图像等数据,根据实效性要求和用户服务等级,使用合适的无损或有损压缩算法(如图像的png,jpeg,webp等,音频的aac,mp3等,视频的mpeg,mpeg4,H264,H265,VP8,VP9等,以及自研算法)以及不同的码率或分辨率等参数,生成不同品质的压缩后数据。
[0028] 针对纹理数据,由于当前的纹理压缩算法(ASTC,DXT,ETC等)无需解压即可被GPU使用但压缩比不高,和RGB888相比压缩率最高为8:1,而且有些游戏中的纹理没有进行压缩。另一方面,一些图像压缩算法(如JPEG,PNG,WEBP等)在质量可接受的情况下和RGB888相比压缩率超过200:1,但是这些格式并不能被GPU直接使用。本发明引入了下列方法来解决纹理压缩的问题:
[0029] 如果纹理使用了压缩格式,则将其解压,还原成普通图片格式,比如BMP格式。
[0030] 根据压缩比,重建阶段算力,以及质量要求,选择不同的压缩算法(如JPEG,PNG,WEBP等)和不同的质量参数,生成不同品质的压缩后图像。
[0031] 由于当前的纹理压缩算法(ASTC,DXT,ETC等)的压缩过程比较耗时,本发明将原始的压缩纹理数据中的元数据(颜色表,基础颜色值,插值范围等)作为压缩参数的一部分保存下来,用来指导纹理的重建过程,减少算力消耗,缩短重建时间。
[0032] 将压缩之后的数据按照不同的需求(比如低带宽下需要的质量相对较低的包,低算力无硬件加速下需要的重建成本较低的包,对品质要求较高的无损压缩包)重新组合,并按照原包类似的方式重新打包。
[0033] 压缩过程中使用到的参数,如果需要在重建阶段使用(比如上文讲到的压缩纹理元数据),以元数据的方式保存下来,可以放入到新包的特定位置,也可以是单独的文件,以便重建过程中使用。
[0034] 本发明在用户端实现了针对纹理、图片、音频、视频等数据的按需重建子系统。用户端可以根据自身的设备信息和网络状况选择特定的压缩后数据和元数据。当用户端接受到压缩后数据和元数据之后,会根据本端对压缩格式的支持,决定是否对压缩后的数据进行解压和重建(转码)。
[0035] 对通用压缩的数据直接解压。
[0036] 对音频、图片和视频数据,检查本地是否支持压缩之后的格式,如果支持则直接使用,否则先进行格式转换(转码)。
[0037] 对纹理部分,根据本地对纹理格式的支持和元数据的指导进行重建,从图片转换成相应的纹理格式。
[0038] 在压缩过程和重建过程中,尽量使用硬件进行编解码,提高编解码效率。
[0039] 以上对本发明及其实施方式进行了描述,这种描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。