音频压缩方法及装置、存储介质、电子设备与流程

文档序号:33504333发布日期:2023-03-17 23:15阅读:88来源:国知局
音频压缩方法及装置、存储介质、电子设备与流程

1.本公开涉及音频处理技术领域,尤其涉及一种音频压缩方法与音频压缩装置、计算机可读存储介质及电子设备。


背景技术:

2.目前,大多数虚拟游戏中都包含大量的音频资源,例如,游戏中与枪击事件对应的音频资源,游戏中与脚步声对应的音频资源。为了满足音频内存需求,通常需要对音频资源进行压缩。
3.在相关技术中,通常需要对游戏性能进行循环测试,以确定出一个比较符合各项游戏性能的压缩格式,然而这种确定方式无法兼顾音频品质和压缩后的文件的大小这两方面的需求,或是降低了某些音频资源的音频品质,或是提高了某些音频资源对于计算机内存的占用,进而影响游戏的顺畅度。
4.鉴于此,本领域亟需开发一种新的音频压缩方法及装置。
5.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现要素:

6.本公开的目的在于提供一种音频压缩方法、音频压缩装置、计算机可读存储介质及电子设备,进而至少在一定程度上克服由于相关技术导致的无法兼顾音频品质和压缩后的文件的大小这两方面的需求的问题。
7.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
8.根据本发明实施例的第一个方面,提供一种音频压缩方法,所述方法包括:获取与目标游戏对应的游戏音频事件文件,对所述游戏音频事件文件进行解析得到音频事件名称;对所述音频事件名称出现的次数进行统计,得到与所述音频事件名称对应的事件触发次数;基于所述事件触发次数,为与所述音频事件名称对应的音频资源确定出相应的压缩信息,以按照所述压缩信息对所述音频资源进行压缩。
9.根据本发明实施例的第二个方面,提供一种音频压缩装置,所述装置包括:解析模块,被配置为获取与目标游戏对应的游戏音频事件文件,对所述游戏音频事件文件进行解析得到音频事件名称;统计模块,被配置为对所述音频事件名称出现的次数进行统计,得到与所述音频事件名称对应的事件触发次数;压缩模块,被配置为基于所述事件触发次数,为与所述音频事件名称对应的音频资源确定出相应的压缩信息,以按照所述压缩信息对所述音频资源进行压缩。
10.根据本发明实施例的第三个方面,提供一种电子设备,包括:处理器和存储器;其中,存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现上述任意示例性实施例的音频压缩方法。
11.根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意示例性实施例中的音频压缩方法。
12.由上述技术方案可知,本发明示例性实施例中的音频压缩方法、音频压缩装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
13.在本公开的示例性实施例提供的方法及装置中,根据不同的事件触发次数,确定出与不同的音频资源相应的压缩信息,避免了现有技术中无法兼顾音频品质和压缩后的文件的大小这两方面的需求的问题,进而不仅提升了音频资源在目标游戏中的播放品质,还避免了过多的性能损耗,提升了目标游戏中的游戏顺畅度。
14.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
15.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1示意性示出本公开实施例中音频压缩方法的流程示意图;
17.图2示意性示出本公开实施例中音频压缩方法中对游戏音频事件文件进行解析得到音频事件名称的流程示意图;
18.图3示意性示出本公开实施例中音频压缩方法中对游戏音频事件文件进行解析得到音频事件名称的流程示意图;
19.图4示意性示出本公开实施例中音频压缩方法中对得到与音频事件名称对应的事件触发次数的流程示意图;
20.图5示意性示出本公开实施例中音频压缩方法中对音频事件名称出现的次数进行统计的流程示意图;
21.图6示意性示出本公开实施例中音频压缩方法中一种为与音频事件名称对应的音频资源确定出相应的压缩信息的流程示意图;
22.图7示意性示出本公开实施例中音频压缩方法中另一种为与音频事件名称对应的音频资源确定出相应的压缩信息的流程示意图;
23.图8示意性示出本公开实施例中音频压缩方法中又一种为与音频事件名称对应音频资源确定出相应的压缩信息的流程示意图;
24.图9示意性示出本公开实施例中音频压缩方法中为音频资源确定出相应的压缩信息的流程示意图;
25.图10示意性示出本公开实施例中音频压缩方法中按照压缩信息对音频资源进行压缩之后的流程示意图;
26.图11示意性示出本公开实施例中一种用于音频压缩方法的装置;
27.图12示意性示出本公开实施例中一种用于音频压缩方法的电子设备;
28.图13示意性示出本公开实施例中一种用于音频压缩方法的计算机可读存储介质。
具体实施方式
29.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
30.本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
31.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
32.针对相关技术中存在的问题,本公开提出了一种音频压缩方法。图1示出了音频压缩方法的流程示意图,如图1所示,音频压缩方法至少包括以下步骤:
33.步骤s110.获取与目标游戏对应的游戏音频事件文件,对游戏音频事件文件进行解析得到音频事件名称。
34.步骤s120.对音频事件名称出现的次数进行统计,得到与音频事件名称对应的事件触发次数。
35.步骤s130.基于事件触发次数,为与音频事件名称对应的音频资源确定出相应的压缩信息,以按照压缩信息对音频资源进行压缩。
36.在本公开的示例性实施例提供的方法及装置中,根据不同的事件触发次数,确定出与不同的音频资源相应的压缩信息,避免了现有技术中无法兼顾音频品质和压缩后的文件的大小这两方面的需求的问题,进而不仅提升了音频资源在目标游戏中的播放品质,还避免了过多的性能损耗,提升了目标游戏中的游戏顺畅度。
37.下面对音频压缩方法的各个步骤进行详细说明。
38.在步骤s110中,获取与目标游戏对应的游戏音频事件文件,对游戏音频事件文件进行解析得到音频事件名称。
39.在本公开的示例性实施例中,目标游戏指的是任意一种虚拟游戏。音频事件指的是游戏玩家在进行目标游戏中,可能触发的一种游戏事件,值得说明的是,当游戏玩家触发了该游戏事件后,会在游戏中产生对应的音频。
40.游戏音频事件文件指的是一种存储着音频事件的文件。获取的游戏音频事件文件可以是目标游戏结束时产生的游戏音频事件文件,也可以是目标游戏进行的过程中产生的游戏音频事件文件,还可以是目标游戏进行到关键时刻时产生的游戏音频事件文件,还可以是指定数量个游戏音频事件文件,具体的,可以根据需求灵活获取与目标游戏对应的游戏音频事件文件。
41.基于此,当对游戏音频事件文件进行解析时,将会得到游戏音频事件文件中存储着的与音频事件对应的音频事件名称。举例而言,音频事件名称可以是与枪击这一音频事件对应的名称,可以是与行走这一音频事件对应的名称,可以是与击打这一音频事件对应的名称,本示例性实施例对此不做特殊限定。
42.举例而言,当目标游戏结束时,自动从wwise(wave works interactive sound engine,wave交互式声音引擎)客户端中获取大量profile文件(即游戏音频事件文件)。对获取到的大量游戏音频事件文件分别进行解析可以得到多个音频事件名称。
43.在可选的实施例中,图2示出了音频压缩方法中对游戏音频事件文件进行解析得到音频事件名称的流程示意图,如图2所示,该方法至少包括以下步骤:在步骤s210中,对游戏音频事件文件进行解析得到解析数据,确定出预设音频触发关键词。
44.其中,对游戏音频事件文件进行解析后可以得到解析的结果,即可以得到解析数据。预设音频触发关键词指的是在游戏玩家触发音频事件时,对应的在游戏音频事件文件中产生的关键词,并且,往往与预设音频触发关键词紧邻的字符串即为对应的音频事件名称。
45.举例而言,对游戏音频事件文件进行解析可以得到解析数据,获取到的预设音频触发关键词为“play”。
46.在步骤s220中,若在解析数据中存在预设音频触发关键词,从解析数据中提取出与预设音频触发关键词对应的音频事件名称。
47.其中,当解析数据中存在预设音频触发关键词时,证明在解析数据中存在游戏玩家触发的音频事件,进而就存在与预设音频触发关键词对应的音频事件名称。
48.举例而言,在解析数据中存在10个“play”,则对应的,可以从解析数据中提取出与这10个“play”分别对应的10个音频事件名称。
49.在本示例性实施例中,若解析数据中存在预设音频触发关键词,从解析数据中提取出与预设音频触发关键词对应的音频事件名称,以为后续对音频事件名称出现的次数进行统计奠定了基础。
50.在可选的实施例中,图3示出了音频压缩方法中对游戏音频事件文件进行解析得到音频事件名称的流程示意图,如图3所示,该方法至少包括以下步骤:在步骤s310中,确定与游戏音频事件文件对应的文件大小,确定出与游戏音频事件文件对应的预设文件大小阈值。
51.其中,文件大小指的是游戏音频事件文件所占磁盘的空间大小。预设文件大小阈值指的是在内容无缺失的情况下,游戏音频事件文件应该占据磁盘空间最小值。
52.举例而言,与游戏音频事件文件对应的文件大小为30m,预设文件大小阈值为10m。
53.在步骤s320中,若在游戏音频事件文件中存在第一音频事件文件,将第一音频事件文件从游戏音频事件文件中删除,得到目标游戏音频事件文件;第一音频事件文件的文件大小小于或等于预设文件大小阈值。
54.其中,第一音频事件文件指的是游戏音频事件文件中存在的一个或多个文件,并且,第一音频事件文件的文件大小小于或等于预设文件大小阈值,基于此,可以证明第一音频事件文件为内容可能缺失的音频事件文件,进而,需要将第一音频事件文件从游戏音频事件文件中删除,以得到内容不存在缺失的目标游戏音频事件文件。
55.举例而言,在游戏音频事件文件中存在文件大小小于10m的第一音频事件文件c-1。基于此,将第一音频事件文件c-1从游戏音频事件文件中删除,得到目标游戏音频事件文件。
56.在步骤s330中,对目标游戏音频事件文件进行解析得到音频事件名称。
57.其中,目标游戏音频事件文件为内容不存在缺失的游戏音频事件文件,因此,在得到目标游戏音频事件文件之后,就可以对目标游戏音频事件文件进行解析得到音频事件名称,以确保得到更加准确完整的音频事件名称。
58.在本示例性实施例中,将第一音频事件文件从游戏音频事件文件中删除,以得到目标游戏音频事件文件,以确保后续对目标游戏音频事件文件进行解析后,可以得到正确完整的音频事件名称。
59.在步骤s120中,对音频事件名称出现的次数进行统计,得到与音频事件名称对应的事件触发次数。
60.在本公开的示例性实施例中,在所有游戏音频事件文件中,对相同的音频事件名称出现的次数进行统计,所得到的统计结果即为与音频事件名称对应的事件触发次数(即游戏玩家在进行目标游戏的过程中,对同一个音频事件触发的次数)。
61.举例而言,共存在10个游戏音频事件文件,并且,在第一个游戏音频事件文件中音频事件名称a出现了2次,在第二个游戏音频事件文件中音频事件名称a出现了8次,在第三个游戏音频事件文件中音频事件名称a出现了7次,
……
,在第十个游戏音频事件文件中音频事件名称a出现了9次。对上述音频事件名称a出现的次数进行统计,即可以得到与音频事件名称a对应的事件触发次数。
62.值得说明的是,统计出与音频事件名称对应的事件触发次数之后,就可以确定出哪些音频事件没有被触发过。将这些没有被触发过的音频事件叫做未被触发音频事件,并且,将这些未被触发音频事件删除,基于此,后续也不会为与这些未被触发音频事件对应的音频资源确定相应的压缩信息,以减少计算机的性能损耗。
63.在可选的实施例中,图4示出了音频压缩方法中对得到与音频事件名称对应的事件触发次数的流程示意图,事件触发次数包括事件平均触发次数,如图4所示,该方法至少包括以下步骤:在步骤s410中,对每个游戏音频事件文件中相同的音频事件名称出现的次数进行统计,得到第一事件触发次数。
64.其中,事件触发次数具体可以是事件平均触发次数,事件平均触发次数指的是音频事件名称在所有游戏音频事件文件中出现的平均次数。
65.在计算出事件平均触发次数之前,需要先计算出第一事件触发次数。第一事件触发次数指的是针对于一个音频事件名称而言,这一个音频事件名称在与每个游戏音频事件文件分别对应的解析数据中出现的次数。
66.举例而言,音频事件名称c-2在与游戏音频事件文件a对应的解析数据中出现了f1次,音频事件名称c-2在与游戏音频事件文件b对应的解析数据中出现了f2次,音频事件名称c-2在与游戏音频事件文件c对应的解析数据中出现了f3次,音频事件名称c-2在与游戏音频事件文件d对应的解析数据中出现了f4次,则第一事件触发次数包括f1、f2、f3以及f4。
67.在步骤s420中,对第一事件触发次数进行计算,得到所有游戏音频事件文件中相同的音频事件名称出现的总触发次数。
68.其中,对第一事件触发次数进行求和计算,可以得到同一个音频事件名称在所有游戏音频事件文件中出现的总次数(即总触发次数)。
69.举例而言,对f1、f2、f3以及f4进行求和,得到的结果f总即为总触发次数。
70.在步骤s430中,基于所有游戏音频事件文件的文件数量,对总触发次数进行计算,以得到与音频事件名称对应的事件平均触发次数。
71.其中,文件数量指的是游戏音频事件文件的数量,对总触发次数和文件数量进行计算,既可以得到同一个音频事件名称在所有游戏音频事件文件中出现的平均次数(即事件平均触发次数)。
72.举例而言,所有游戏音频事件文件的文件数量为4,因此,对总触发次数f总和文件数量4进行除法计算,既可以得到事件平均触发次数。
73.在本示例性实施例中,计算得到与音频事件名称对应的事件平均触发次数,以此来体现目标游戏进行过程中,与音频事件名称对应的音频事件被触发的频率,进而有助于后续根据音频事件被触发的频率确定出对应的音频资源的压缩信息,以兼顾音频资源的音频品质以及压缩后的音频资源的文件大小。
74.在可选的实施例中,图5示出了音频压缩方法中对音频事件名称出现的次数进行统计的流程示意图,如图5所示,该方法至少包括以下步骤:在步骤s510中,获取与目标游戏对应的关键音频事件名称,若音频事件名称中不存在关键音频事件名称,则确定出与音频事件名称对应的第二游戏音频事件文件。
75.其中,关键事件名称指的是在进行目标游戏中,与一定会被触发的音频事件对应的音频事件名称。若音频事件名称中不存在关键音频事件名称,则证明游戏玩家在进行目标游戏时可能产生了一些预期之外的情况,或者可以证明游戏玩家为非正常游戏玩家。因此,此时需要确定出与音频事件名称对应的第二游戏音频事件文件,以在后续将第二游戏戏音频事件文件删除。
76.举例而言,关键音频事件名称可以是与游戏开始事件对应的音频事件名称n-1,还可以是与游戏结束事件对应的音频事件名称n-2。在音频事件名称中,与第二游戏音频事件文件c-3对应的所有音频事件名称中不存在关键音频事件名称n-1和关键音频事件名称n-2。
77.在步骤s520中,将第二游戏音频事件文件从游戏音频事件文件中删除,将与第二游戏音频事件文件对应的第一音频事件名称从音频事件名称中删除,以得到目标音频事件名称。
78.其中,由于第二游戏音频事件文件中不存在与关键音频事件名称一致的音频事件名称,因此,第二游戏音频事件文件有可能是非正常玩家在进行目标游戏时产生的,进而需要将第二游戏音频事件文件从游戏音频事件文件中删除。除此之外,由于已经对第二游戏音频事件文件进行解析,因此,还需要将与第二游戏音频事件文件对应的第一音频事件名称从音频事件名称中删除。基于上述过程,可以得到目标音频事件名称。
79.举例而言,将第二游戏音频事件文件c-3从游戏音频事件文件中删除,将与第二游戏音频事件文件c-3对应的第一音频事件名称从音频事件名称中删除,以得到目标音频事件名称n-3。
80.在步骤s530中,对目标音频事件名称出现的次数进行统计。
81.其中,在得到目标音频事件名称之后,可以对目标音频事件名称出现的次数进行统计,以确保统计出的事件触发次数的准确性。
82.举例而言,对目标音频事件名称n-3中相同的音频事件名称出现的次数进行统计。
83.在本示例性实施例中,将第二游戏音频事件从游戏音频事件中删除,将与第二游戏音频事件对应的第一音频事件名称从音频事件名称中删除,得到目标音频事件名称。有助于后续提高对目标音频事件名称进行统计所得到的事件触发次数的准确性。
84.在步骤s130中,基于事件触发次数,为与音频事件名称对应的音频资源确定出相应的压缩信息,以按照压缩信息对音频资源进行压缩。
85.其中,音频资源指的是与音频事件名称对应的音频对象,具体的,音频资源可以是与音频事件名称对应的音调对象,可以是与音频事件名称对应的声音对象,还可以是与音频事件名称对应的与音频相关的一切对象,本示例性实施例对此不做特殊限定。
86.压缩信息指的是对音频资源进行压缩时所使用到的信息,具体的,压缩信息可以包括压缩格式,可以包括压缩比,还可以包括对音频资源进行压缩时所使用到的任何一种信息,本示例性实施例对此不做特殊限定。在确定出压缩信息之后,将利用压缩信息对音频资源进行压缩。
87.举例而言,与枪击这一音频事件对应的音频事件名称的事件触发次数为80次,此时,根据事件触发次数80,可以为与音频事件名称对应的音频资源确定出对应的压缩信息。具体的,压缩信息中包括的压缩格式为adpcm(adpcm adaptive differential pulse code modulation,一种压缩算法)。
88.在可选的实施例中,图6示出了音频压缩方法中一种为与音频事件名称对应的音频资源确定出相应的压缩信息的流程示意图,如图6所示,该方法至少包括以下步骤:在步骤s610中,获取与事件平均触发次数对应的次数阈值,若事件平均触发次数大于或等于次数阈值,为与音频事件名称对应的音频资源确定出第一压缩信息。
89.其中,次数阈值指的是用于衡量事件平均触发次数的临界值。由于事件平均触发次数代表了音频事件(音频事件与音频事件名称对应)被触发的频率。因此,若事件平均触发次数大于或等于次数阈值,则证明,与事件平均触发次数对应的音频事件为一个被游戏玩家频繁触发的音频事件,反之,若事件平均触发次数小于次数阈值,则证明,与事件平均触发次数对应的音频事件为一个不被游戏玩家频繁触发的音频事件。
90.针对于被游戏玩家频繁触发的音频事件而言,我们需要为音频资源确定出第一压缩信息,值得说明的是,第一压缩信息中确定出的压缩格式需要满足压缩比(即第一压缩比)偏小,内存占用程度为中等,中央处理器的性能损耗偏低的需求。
91.举例而言,次数阈值为50,与音频事件名称n-4对应的事件平均触发次数为80,显然此时,事件平均触发次数80大于次数阈值,因此,为与音频事件名称n-4对应的音频资源确定第一压缩信息,其中,第一压缩信息中包括压缩格式adpcm。
92.在步骤s620中,若事件平均触发次数小于次数阈值,为与音频事件名称对应的音频资源确定出第二压缩信息;第一压缩信息中包括的第一压缩比小于第二压缩信息中包括的第二压缩比。
93.其中,若事件平均触发次数小于次数阈值,为与音频事件名称对应的音频资源确定出第二压缩信息,值得说明的是,第二压缩信息中确定出的压缩格式需要满足压缩比(即
第二压缩比,并且第二压缩比大于第一压缩比)偏高,内存占用程度为偏低,中央处理器的性能损耗中等的需求。
94.举例而言,次数阈值为50,与音频事件名称n-5对应的事件平均触发次数为40,显然此时,事件平均触发次数40小于次数阈值,因此,为与音频事件名称n-5对应的音频资源确定第二压缩信息,其中,第二压缩信息中包括压缩格式vorbis(一种音频压缩格式)。
95.在本示例性实施例中,若事件平均触发次数大于次数阈值,为与音频事件名称对应的音频资源确定出第一压缩信息;若事件平均触发次数小于次数阈值,为与音频事件名称对应的音频资源确定出第二压缩信息,并且,第一压缩比小于第二压缩比,显然,根据不同的事件平均触发次数,为对应的音频资源确定出了不同的压缩信息,使得被触发频繁的音频资源可以在减少对计算机的性能损耗基础上,保证音频的品质,使得不被频繁触发的音频资源可以减少对于内存的占用,避免了现有技术中无法兼顾音频品质和压缩后的音频资源文件的大小这两方面的需求的问题。
96.在可选的实施例中,图7示出了音频压缩方法中另一种为与音频事件名称对应的音频资源确定出相应的压缩信息的流程示意图,如图7所示,该方法至少包括以下步骤:在步骤s710中,确定与事件平均触发次数对应的多个触发次数区间,在多个触发次数区间中确定出事件平均触发次数所属于的目标触发次数区间。
97.其中,由于不同的音频事件名称可能对应于不同的事件平均触发次数,因此,将事件平均触发次数可能的取值划分为多个触发次数区间。值得说明的是,不同的触发次数区间所代表的音频事件(与音频事件名称对应)被触发的频繁程度是不同的。
98.举例而言,多个触发次数区间包括(0,2]、(2,10]、(10,100]以及大于100这四个触发次数区间。当事件平均触发次数为101时,证明与事件平均触发次数101对应的目标触发次数区间为大于100的触发次数区间。
99.在步骤s720中,确定与事件平均触发次数对应的音频事件名称,确定与音频事件对应的事件优先级区间,以在事件优先级区间中确定出与音频事件名称对应的目标优先级区间;音频事件与音频事件名称对应。
100.其中,不同的音频事件在目标游戏中发挥着不同的游戏功能,按照游戏功能可以确定出与音频事件对应优先级。优先级区间为对优先级可能取到值的进行划分后所得到的区间,并且,不同的优先级区间所代表的音频事件优先级程度是不同的。
101.举例而言,与平均触发次数对应的音频事件名称为shot,确定出的与音频事件名称shot对应的音频事件为枪击事件。事件优先级区间包括[0,40)、[40,70)以及[70,100)这三个事件优先级区间。
[0102]
若与枪击事件对应的优先级为75,则与音频事件名称shot对应的目标优先级区间为[70,100)。
[0103]
在步骤s730中,基于目标触发次数区间以及目标优先级区间,为与音频事件名称对应的音频资源确定出相应的压缩信息。
[0104]
其中,表1示意性示出了本公开示例性实施例中的压缩信息表。
[0105]
表1压缩信息表
[0106] [70,100)[40,70)[0,40)大于100adpcm highadpcm lowvorbis high
(10,100]adpcm highadpcm lowvorbis low(2,10]vorbis highvorbis highvorbis low(0,2]vorbis lowvorbis low/
[0107]
其中,事件优先级区间[70,100)代表优先级程度高,事件优先级区间[40,70)代表优先级程度中等,事件优先级区间[0,40)代表优先级低。触发次数区间(0,2]代表极难触发,触发次数区间(2,10]代表触发频次低,触发次数区间(10,100]代表触发频次中等,触发次数区间大于100代表触发频次高。
[0108]
adpcm和vorbis代表着不同的压缩格式,在压缩格式adpcm中,adpcm high的压缩比小于adpcm low的压缩比,同样的,在压缩格式vorbis中,vorbis high的压缩比小于vorbis low的压缩比。
[0109]
若目标触发次数区间为大于100的触发次数区间,目标优先级区间为[70,100),则为与音频事件名称对应的音频资源确定出的压缩信息中的压缩格式为adpcm high。
[0110]
在本示例性实施例中,从事件平均触发次数和事件优先级两个维度,为与音频事件名称对应的音频资源确定出压缩信息,不仅避免了无法兼顾音频品质和压缩后的音频资源文件的大小这两方面的需求的问题,还对不同情况的音频资源进行了细分,以为音频资源确定出更为准确的压缩信息。
[0111]
在可选的实施例中,图8示出了音频压缩方法中又一种为与音频事件名称对应音频资源确定出相应的压缩信息的流程示意图,如图8所示,该方法至少包括以下步骤:在步骤s810中,确定出与音频事件名称对应的音频资源。
[0112]
其中,确定出与音频事件名称对应的音频资源,举例而言,与音频事件名称对应的音频资源可以是与音频事件名称shot对应的音调对象。
[0113]
在步骤s820中,若与音频资源对应的播放方式为流式播放方式,确定与音频资源对应的音频时长。
[0114]
其中,流式播放方式指的是一种将音频资源由流媒体服务器向用户客户端连续、实时传送的方式。当与音频资源对应的播放方式为流式播放方式时,需要确定出音频资源的音频时长(即音频资源中的音频所持续的时长)。
[0115]
举例而言,若与音频资源a-1对应的播放方式为流式播放方式,则确定出与音频资源a-1对应的音频时长为100s。
[0116]
在步骤s830中,确定与音频时长对应的音频时长区间,在音频时长区间中确定出音频时长所属的目标音频时长区间。
[0117]
其中,由于不同的音频资源所具有不同的音频时长,因此,可以对音频时长进行划分以得到音频时长区间,值得说明的是,不同的音频时长区间代表着不同的时长程度。
[0118]
举例而言,音频时长区间包括[0,2)、[2,10)、[10,1000000)这三个区间。由于与音频资源a-1对应的音频时长为100s,因此,目标音频时长区间为[10,1000000)。
[0119]
在步骤s840中,基于目标触发次数区间、目标优先级区间以及目标音频时长区间,为音频资源确定出相应的压缩信息。
[0120]
其中,通过目标触发次数区间、目标优先级区间以及目标音频时长区间,可以为音频资源确定出一个对应的压缩信息。
[0121]
举例而言,表2示意性示出了本公开实施例中触发次数区间、事件优先级区间以及
音频时长区间。
[0122]
表2触发次数区间、事件优先级区间以及音频时长区间
[0123]
区间程度区间范围事件优先级区间低[0,40)事件优先级区间中等[40,70)事件优先级区间高[70,100)触发次数区间基本不触发(0,1]触发次数区间极难触发(1,2]触发次数区间触发频率低(2,10]触发次数区间触发频率中等(10,100]触发次数区间触发频率高(100,1000000]音频时长区间短(0,2]音频时长区间中等(2,10]音频时长区间长(10,1000000]
[0124]
其中,若音频资源对应的播放方式为流式播放方式,并且,确定出的目标触发次数区间为(100,1000000],确定出的目标优先级区间为[70,100),确定出的目标音频时长区间为(0,2],则可以为音频资源确定出的压缩信息为adpcm auto detect high。
[0125]
对于adpcm压缩格式来说,存在adpcm high/medium/low,对于adpcm high来说,又可以分为adpcm quality high和adpcm auto detect high,其中,与adpcm quality high对应的压缩比大于与adpcm auto detect high对应的压缩比,同理,adpcm medium以及adpcm low的分类情况与上述相似。
[0126]
在本示例性实施例中,当音频资源的播放方式为流式播放方式时,引入了音频播放时长这个维度,进而从事件平均触发次数、事件优先级以及音频时长三个维度,来确定出与音频资源对应的压缩信息,不仅避免了无法兼顾音频品质和压缩后的音频资源文件的大小这两方面的需求的问题,还对不同情况的音频资源进行了细分,以为音频资源确定出更为准确的压缩信息。
[0127]
在可选的实施例中,图9示出了音频压缩方法中为音频资源确定出相应的压缩信息的流程示意图,如图9所示,该方法至少包括以下步骤:在步骤s910中,确定压缩信息模板;压缩信息模板中包括多种压缩格式。
[0128]
其中,压缩信息模板可以是wwise中的压缩信息模板,也可以是用户自己定义的压缩信息模板,本示例性实施例对此不做特殊限定。
[0129]
举例而言,表3示意性示出了本公开实施例中的压缩信息模板。
[0130]
表3压缩信息模板
[0131][0132]
在步骤s920中,基于目标触发次数区间、目标优先级区间以及目标时长区间,在多种压缩格式中确定出与音频资源对应的目标压缩格式。
[0133]
其中,根据目标触发次数区间、目标优先级区间以及目标时长区间,可以在压缩信息模板中的多种压缩格式里确定出与音频资源对应的目标压缩格式。
[0134]
举例而言,确定出的目标触发次数区间为(100,1000000],确定出的目标优先级区间为[70,100),确定出的目标音频时长区间为(0,2],基于目标触发次数区间、目标优先级区间以及目标音频时长区间,可以获知该音频资源是一个被触发频次很高的音频资源,而且该音频资源是一个在目标游戏中,优先处理的音频资源,同时,该音频资源的音频时长并不长,因此,需要减少解压该音频资源时对内存的占用,并且,要保证音频资源被压缩后的音频品质,因此,可以为音频资源确定出的目标压缩格式为adpcm auto detect high。
[0135]
在本示例性实施例中,基于目标触发次数区间、目标优先级区间以及目标时长区间,在多种压缩格式中确定出与音频资源对应的目标压缩格式,可以提高确定出的目标压缩格式的准确度,以进一步平衡音频资源的品质以及压缩后的音频资源文件的大小。
[0136]
在可选的实施例中,确定压缩信息模板之前,方法还包括:确定初始压缩信息模板,对初始压缩信息模板中的初始压缩格式进行编辑,以得到压缩信息模板。
[0137]
其中,初始压缩信息模板就是wwise中的压缩信息模板,工作人员可以对初始压缩信息模板中包括的初始压缩格式进行增加,也可以是对初始压缩信息模板中包括的初始压缩格式进行删除,还可以对初始压缩信息模板中包括的初始压缩格式进行修改,以灵活的对初始压缩信息模板进行编辑,以得到压缩信息模板。
[0138]
举例而言,初始压缩信息模板如表3所示,显然,在表3中最大的压缩比为45:1。若此时需要的压缩比为50:1,则需要在表3中增加新的压缩格式,并且,与新增的压缩格式对应的压缩比为50:1,进而得到压缩信息模板。
[0139]
在本示例性实施例中,对初始压缩信息模板中的初始压缩格式进行编辑,得到压
缩信息模板,可以灵活的编辑压缩信息模板,以遍后续确定出更加准确的与音频资源对应的压缩信息。
[0140]
在可选的实施例中,图10示出了音频压缩方法中按照压缩信息对音频资源进行压缩之后的流程示意图,如图10所示,该方法至少包括以下步骤:在步骤s1010中,确定待观测性能指标。
[0141]
其中,待观测指标指的是用于评估压缩后的音频资源的性能指标,具体的,待观测性能指标可以是在对音频资源进行压缩的过程中,对应的线程对于中央处理器的占用指标,可以是内存对音频资源进行压缩过程中所分配的内存指标,可以是在特定时刻,音频引擎对于调用接口的调用数量,还可以是其他需要观测的指标,本示例性实施例对此不做特殊限定。
[0142]
在步骤s1020中,确定与音频资源对应的待观测性能指标的第一指标大小,确定默认音频资源对应的待观测性能指标的第二指标大小;按照默认压缩格式对音频资源进行压缩后得到的默认音频资源。
[0143]
其中,第一指标大小指的是在按照压缩格式对音频资源进行压缩的过程中待观测性能指标的值的大小。第二指标大小指的是按照默认压缩格式对音频资源进行压缩的过程中待观测性能指标的值的大小。默认压缩格式可以是现有技术中的压缩格式,也可以是前一次为音频资源所确定出的压缩格式,本示例性实施例对此不做特殊限定。
[0144]
举例而言,假设待观测性能指标为对音频资源进行压缩的过程中,对应的线程对于中央处理器的占用的指标。并且,第一指标大小为m,第二指标大小为n。
[0145]
在步骤s1030中,若第一指标大小小于或等于第二指标大小,对压缩信息进行调整;或对参数区间进行调整;参数区间包括触发次数区间、事件优先级区间以及音频时长区间。
[0146]
其中,当第一指标大小小于或等于第二指标大小时,证明此时所确定出的与音频资源对应的压缩格式没有默认压缩格式所产生压缩性能好,基于此,需要对参数区间进行调整,或对压缩信息进行调整。参数区间可以是触发次数区间、事件优先级区间以及音频时长区间中的一个或多个。
[0147]
举例而言,若第一指标大小为m小于第二指标大小为n,则对压缩信息中的压缩格式进行调整。
[0148]
在本示例性实施例中,若第一指标大小小于或等于第二指标大小,对压缩信息进行调整;或对参数区间进行调整,提供了一种验证压缩性能的方式,以便进一步提高确定出的压缩信息的准确度。
[0149]
在本公开的示例性实施例提供的方法及装置中,根据不同的事件触发次数,确定出与不同的音频资源相应的压缩信息,避免了现有技术中无法兼顾音频品质和压缩后的文件的大小这两方面的需求的问题,进而不仅提升了音频资源在目标游戏中的播放品质,还避免了过多的性能损耗,提升了目标游戏中的游戏顺畅度。
[0150]
下面结合一应用场景对本公开实施例中音频压缩方法做出详细说明。
[0151]
获取与目标游戏对应的游戏音频事件文件,对游戏音频事件文件进行解析得到多个音频事件名称;对所有游戏音频事件文件相同的音频事件名称出现的次数进行统计,得到与音频事件名称对应的事件触发次数;若事件触发次数大于70,则为与音频事件名称对
应的音频资源确定压缩信息(压缩信息中包括的压缩格式为adpcm),基于此,按照adpcm压缩格式对音频资源进行压缩。
[0152]
在本应用场景中,根据不同的事件触发次数,确定出与不同的音频资源相应的压缩信息,避免了现有技术中无法兼顾音频品质和压缩后的文件的大小这两方面的需求的问题,进而不仅提升了音频资源在目标游戏中的播放品质,还避免了过多的性能损耗,提升了目标游戏中的游戏顺畅度。
[0153]
此外,在本公开的示例性实施例中,还提供一种音频压缩装置。图11示出了音频压缩装置的结构示意图,如图11所示,音频压缩装置1100可以包括:解析模块1110、统计模块1120以及压缩模块1130。其中:
[0154]
解析模块1110,被配置为获取与目标游戏对应的游戏音频事件文件,对游戏音频事件文件进行解析得到音频事件名称;统计模块1120,被配置为对音频事件名称出现的次数进行统计,得到与音频事件名称对应的事件触发次数;压缩模块1130,被配置为基于事件触发次数,为与音频事件名称对应的音频资源确定出相应的压缩信息,以按照压缩信息对音频资源进行压缩。
[0155]
上述音频压缩装置1100的具体细节已经在对应的音频压缩方法中进行了详细的描述,因此此处不再赘述。
[0156]
应当注意,尽管在上文详细描述中提及音频压缩装置1100的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0157]
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
[0158]
下面参照图12来描述根据本发明的这种实施例的电子设备1200。图12显示的电子设备1200仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0159]
如图12所示,电子设备1200以通用计算设备的形式表现。电子设备1200的组件可以包括但不限于:上述至少一个处理单元1210、上述至少一个存储单元1220、连接不同系统组件(包括存储单元1220和处理单元1210)的总线1230、显示单元1240。
[0160]
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1210执行,使得所述处理单元1210执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
[0161]
存储单元1220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)1221和/或高速缓存存储单元1222,还可以进一步包括只读存储单元(rom)1223。
[0162]
存储单元1220还可以包括具有一组(至少一个)程序模块1225的程序/使用工具1224,这样的程序模块1225包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包含网络环境的现实。
[0163]
总线1230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0164]
电子设备1200也可以与一个或多个外部设备1270(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1200交互的设备通信,和/或与使
得该电子设备1200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口1250进行。并且,电子设备1200还可以通过网络适配器1260与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器1260通过总线1230与电子设备1200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0165]
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
[0166]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
[0167]
参考图13所示,描述了根据本发明的实施例的用于实现上述方法的程序产品1300,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0168]
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0169]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0170]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0171]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算
设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0172]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1