一种WebGPU实现语音编解码及转码的方法和装置与流程
- 国知局
- 2024-06-21 11:43:05
本发明涉及语音处理,尤其涉及一种webgpu实现语音编解码及转码的方法和装置。
背景技术:
1、近年来随着互联网技术的大力发展,在语音通话领域中开发者推出了speex、amr、g.711、aac和opus等多种语音编解码标准的先进方案,这些标准中,aac和opus以其在保持高质量语音的同时显著减少传输带宽和存储空间的特性而备受推崇。
2、然而,在 web浏览器中的语音编解码及转码应用软件在适配上仍存在挑战。通常,大多数应用仍然依赖于浏览器进行软解码、编码及转码,而这种软解码、编码及转码方式在web浏览器中往往导致性能不足的问题,这样的问题可能表现为语音流的播放卡顿、浏览器崩溃等现象,限制了在线语音服务的良好体验,可能会导致浏览器进行语音处理时的效率较低。
技术实现思路
1、本发明提供一种webgpu实现语音编解码及转码的方法和装置,其主要目的在于解决浏览器进行语音处理时的效率较低的问题。
2、为实现上述目的,本发明提供的一种webgpu实现语音编解码及转码的方法,包括:
3、根据浏览器获取显卡算力,分别对预设的初级处理组件进行编码初始化、解码初始化以及转码初始化操作,得到语音处理组件;
4、对所述语音处理组件进行异常监测,得到容错异常,根据所述容错异常对所述语音处理组件进行快照重启恢复操作;
5、利用所述语音处理组件对预先获取的语音文件进行语音编码、语音解码以及语音转码操作,得到语音处理文件;
6、利用所述浏览器获取实时显卡负载,根据所述显卡算力和所述实时显卡负载生成显卡占用率;
7、根据所述显卡占用率对所述语音处理组件进行动态任务调整。
8、可选地,所述根据浏览器获取显卡算力,包括:
9、根据浏览器获取显卡算力接口,根据所述显卡算力接口获取显卡适配器;
10、根据所述显卡适配器对所述浏览器进行设备请求,得到显卡设备名;
11、根据所述显卡设备名对所述浏览器进行算力查询,得到显卡算力。
12、可选地,所述分别对预设的初级处理组件进行编码初始化、解码初始化以及转码初始化操作,得到语音处理组件,包括:
13、对预设的初级处理组件进行多级编码单元初始化操作,得到语音编码组件;
14、对所述初级处理组件进行多级解码单元初始化操作,得到语音解码组件;
15、对所述初级处理组件进行多级转码单元初始化操作,得到语音转码组件;
16、将所述语音编码组件、所述语音解码组件以及所述语音转码组件汇集成语音处理组件。
17、可选地,所述根据所述容错异常对所述语音处理组件进行快照重启恢复操作,包括:
18、判断所述容错异常是否为异常状态;
19、若否,则返回所述对所述语音处理组件进行异常监测,得到容错异常的步骤;
20、若是,则对所述语音处理组件进行工作快照存储,得到实时工作快照;
21、对所述语音处理组件进行重启,利用所述实时工作快照对重启后的所述语音处理组件进行快照恢复操作。
22、可选地,所述利用所述语音处理组件对预先获取的语音文件进行语音编码、语音解码以及语音转码操作,得到语音处理文件,包括:
23、对预先获取的语音文件进行需求分组,得到待编码文件、待解码文件以及待转码文件;
24、从所述待编码文件中提取出编码类型;
25、利用所述语音处理组件以及所述编码类型对所述待编码文件进行适应编码以及编码封装操作,得到语音编码文件;
26、对所述待解码文件进行标识头识别,得到解码类型;
27、利用所述语音处理组件以及所述解码类型对所述待解码文件进行适应解码以及解码封装操作,得到语音解码文件;
28、从所述待转码文件中提取出转码类型,对所述待转码文件进行中标识头识别,得到初始类型;
29、利用所述语音处理组件、所述转码类型和所述初始类型对所述待转码文件进行适应转码以及转码封装操作,得到语音转码文件;
30、将所述语音编码文件、所述语音解码文件以及所述语音转码文件汇集成语音处理文件。
31、可选地,所述利用所述语音处理组件以及所述编码类型对所述待编码文件进行适应编码以及编码封装操作,得到语音编码文件,包括:
32、从所述语音处理组件中选取出语音编码组件,将所述语音编码组件中所述编码类型对应的编码单元作为目标编码单元;
33、从所述待编码文件中筛选出待编码语音数据;
34、利用所述目标编码单元对所述待编码语音数据进行编码,得到编码语音文件;
35、根据所述编码类型为所述编码语音文件添加编码类型标识头,得到标准编码文件;
36、对所述标准编码文件进行结构体组装,得到语音编码文件。
37、可选地,所述利用所述语音处理组件以及所述解码类型对所述待解码文件进行适应解码以及解码封装操作,得到语音解码文件,包括:
38、从所述语音处理组件中选取出语音解码组件,将所述语音解码组件中所述解码类型对应的解码单元作为目标解码单元;
39、从所述待解码文件中筛选出待解码语音数据;
40、利用所述目标解码单元对所述待解码语音数据进行解码,得到解码语音文件和解码语音帧特征;
41、对所述解码语音文件和所述解码语音帧特征进行结构体组装,得到语音解码文件。
42、可选地,所述利用所述语音处理组件、所述转码类型和所述初始类型对所述待转码文件进行适应转码以及转码封装操作,得到语音转码文件,包括:
43、从所述语音处理组件中筛选出语音转码组件;
44、将所述语音转码组件中所述转码类型对应的转码单元作为目标转码单元;
45、从所述待转码文件中提取出待转码语音数据;
46、利用所述目标转码单元和所述初始类型对所述待转码语音数据进行转码操作,得到转码语音文件;
47、根据所述转码类型对所述转码语音文件进行结构体组装,得到语音转码文件。
48、可选地,所述根据所述显卡占用率对所述语音处理组件进行动态任务调整,包括:
49、判断所述显卡占用率是否大于预设的初级负载阈值;
50、若否,则返回所述利用所述浏览器获取实时显卡负载的步骤;
51、若是,则判断所述显卡占用率是否大于预设的次级负载阈值;
52、若否,则获取所述语音处理组件的实时处理任务,对所述实时处理任务进行显卡并行计算,得到并行处理任务;
53、若是,则获取所述语音处理组件的实时处理任务,对所述实时处理任务进行优先级设置,得到优先处理任务。
54、为了解决上述问题,本发明还提供一种webgpu实现语音编解码及转码的装置,所述装置包括:
55、初始化模块,用于根据浏览器获取显卡算力,分别对预设的初级处理组件进行编码初始化、解码初始化以及转码初始化操作,得到语音处理组件;
56、异常监测模块,用于对所述语音处理组件进行异常监测,得到容错异常,根据所述容错异常对所述语音处理组件进行快照重启恢复操作;
57、语音处理模块,用于利用所述语音处理组件对预先获取的语音文件进行语音编码、语音解码以及语音转码操作,得到语音处理文件;
58、负载计算模块,用于利用所述浏览器获取实时显卡负载,根据所述显卡算力和所述实时显卡负载生成显卡占用率;
59、动态调节模块,用于根据所述显卡占用率对所述语音处理组件进行动态任务调整。
60、本发明通过根据浏览器获取显卡算力,可以确定出显卡设备的最大算力,从而方便后续实时确定显卡的占用率,通过分别对预设的初级处理组件进行编码初始化、解码初始化以及转码初始化操作,得到语音处理组件,可以采用多级编码、解码以及转码的单元实现语音的处理操作,从而满足不同应用场景下的语音处理需求,通过对所述语音处理组件进行异常监测,得到容错异常,根据所述容错异常对所述语音处理组件进行快照重启恢复操作,可以确保所述语音处理组件在工作时的容错能力,提高所述语音处理组件的工作效率,通过利用所述语音处理组件对预先获取的语音文件进行语音编码、语音解码以及语音转码操作,得到语音处理文件,可以根据所述语音处理组件中的多个不同类型的编码、解码以及转码单元实现对语音文件并行高效的处理操作,进而提高语音处理的效率。
61、通过利用所述浏览器获取实时显卡负载,根据所述显卡算力和所述实时显卡负载生成显卡占用率,可以实现对显卡设备的性能负载的实时监控,了解显卡的工作状态,进而方便后续对语音处理组件的动态调整,通过根据所述显卡占用率对所述语音处理组件进行动态任务调整,可以提高语音处理组件的工作效率,提高语音编解转码的效率。因此本发明提出的webgpu实现语音编解码及转码的方法和装置,可以解决浏览器进行语音处理时的效率较低的问题。
本文地址:https://www.jishuxx.com/zhuanli/20240618/23107.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。