一种基于制造技术

技术编号:39587020 阅读:4 留言:0更新日期:2023-12-03 19:38
本发明专利技术公开了一种基于

【技术实现步骤摘要】
一种基于WebGPU提升Web播放器硬件解码能力的方法


[0001]本专利技术涉及码流解码
,具体涉及一种基于
WebGPU
提升
Web
播放器硬件解码能力的方法


技术介绍

[0002]H.265
视频已发展了十年,近5年芯片硬件厂家也基本推出了该标准下的方案

硬件厂商可以直接输出
H.264/H.265
二种视频格式,
H.265
相比
H264
可以保证视频质量的前提下节省一半传输带宽及存储空间

但是基于
Web
浏览器开发的相关应用软件未能快速适配
H.265
视频流的播放,是由于市面上大多数应用采用播放器进行软解码完成
H.265
视频流的播放
。Web
播放器使用软解码
H.265
视频时,无论是手机端还是桌面端的
Web
浏览器都会造成浏览器性能不够,从而出现视频流黑屏

浏览器崩溃等现象

另外随着网络视频

实时直播

智慧安防的普及,越来越多的用户开始使用在线视频服务

然而,由于网络带宽和硬件性能的限制,许多视频无法流畅播放

其中,
H.265
编码格式的视频如果参与软解码方式占用的带宽较大,需要更高的计算能力和更先进的硬件支持才能实现流畅播放和节约带宽

[0003]目前基于
WebAssembly
的播放器对
H265
的视频解码技术还不够稳定,无法充分利用硬件资源处理计算任务和解码任务,而且性能相对较低,无法满足高质量视频播放的要求;
H265
的视频解码需要较高的计算资源,而
WebAssembly
技术的运行环境有一定的限制,无法充分利用硬件资源,导致解码速度较慢


技术实现思路

[0004]本专利技术的目的在于提供一种基于
WebGPU
提升
Web
播放器硬件解码能力的方法,解决以下技术问题:
[0005]现有的码流解码技术,对
H265
的视频解码技术性能相对较低,无法充分利用硬件资源处理计算任务和解码任务,导致解码速度较慢

[0006]本专利技术的目的可以通过以下技术方案实现:
[0007]一种基于
WebGPU
提升
Web
播放器硬件解码能力的方法,包括以下步骤:
[0008]S1
:在
Web
平台上搭建
WebGPU
技术框架,开发
WebGPU
解码器,所述
WebGPU
解码器中设置
H.265
码流解码模块;
[0009]S2
:通过对
WebGPU
解码器的
H.265
码流解码模块进行解析重构,所述
H.265
码流解码模块分解为帧数据单元
、NAL
单元

解码单元和计算单元,将
H.265
码流解码模块的帧数据
、NAL
单元和解码单元与
WebGPU
解码器的计算模块分离;
[0010]S3
:所述
WebGPU
解码器的
H.265
码流解码模块通过
GPU
进行
H.265
码流解码时,
WebGPU
解码器通过
WebGPU API
获取
GPU
的负载情况,根据
GPU
的负载情况,动态调整计算任务和解码任务的分配方式

[0011]作为本专利技术进一步的方案:所述步骤
S1
中,在
Web
平台上搭建
WebGPU
技术框架,开发
WebGPU
解码器,包括以下步骤:
[0012]在
Web
平台上搭建
WebGPU
技术框架,在
WebGPU
技术框架上构建
WebGPU
解码器,
WebGPU
解码器具有进度保存功能,同时,在渲染故障时,进行快速重启

[0013]作为本专利技术进一步的方案:所述步骤
S1
中,在
WebGPU
技术框架上构建
WebGPU
解码器,
WebGPU
解码器具有进度保存功能,同时,在渲染故障时,进行快速重启,包括以下步骤:
[0014]构建
WebGPU
解码器时,将
WebGPU
解码器的解码过程划分为初始化阶段

数据解码阶段和渲染阶段,每个阶段都设置相应的状态变量保存进度;
[0015]渲染阶段设置为逐帧渲染,数据解码阶段每解码一帧数据后,渲染阶段立即渲染解码后的一帧数据,并在渲染阶段加入异常捕获机制;
[0016]若异常捕获机制检测到渲染故障时,立即捕获异常,保存当前数据解码阶段的解码进度,以及渲染阶段已完成的帧数据,并通过调用重启函数,将
WebGPU
解码器重置到初始状态,重新执行解码过程;
[0017]WebGPU
解码器重启后,根据保存的解码进度,将解码器设置为恢复状态,继续解码未处理的数据

[0018]作为本专利技术进一步的方案:所述步骤
S2
中,帧数据单元
、NAL
单元

解码单元和计算单元,包括:
[0019]计算单元:用于对来自数据传输单元的
H.265
码流进行解析,并提取出解析得到的
H.265
码流中的帧数据;
[0020]解码单元:用于将提取的帧数据进行解码,将帧数据还原为原始的视频的帧图像;
[0021]NAL
单元:用于对解码后的帧图像进行块解析,将其细分为更小的帧块;
[0022]帧数据单元:在块解析后,对于每个处理的帧块,进行优化帧处理操作;其中,优化帧处理操作包括:滤波

去噪和增强

[0023]作为本专利技术进一步的方案:所述步骤
S2
,将
H.265
码流解码模块的帧数据
、NAL
单元和解码单元与
WebGPU
解码器的计算模块分离,包括以下步骤:
[0024]对码流解码模块进行分析,将帧数据单元
、NAL
单元

解码单元本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
WebGPU
提升
Web
播放器硬件解码能力的方法,其特征在于,包括以下步骤:
S1
:在
Web
平台上搭建
WebGPU
技术框架,开发
WebGPU
解码器,所述
WebGPU
解码器中设置
H.265
码流解码模块;
S2
:通过对
WebGPU
解码器的
H.265
码流解码模块进行解析重构,所述
H.265
码流解码模块分解为帧数据单元
、NAL
单元

解码单元和计算单元,将
H.265
码流解码模块的帧数据
、NAL
单元和解码单元与
WebGPU
解码器的计算模块分离;
S3
:所述
WebGPU
解码器的
H.265
码流解码模块通过
GPU
进行
H.265
码流解码时,
WebGPU
解码器通过
WebGPU AP I
获取
GPU
的负载情况,根据
GPU
的负载情况,动态调整计算任务和解码任务的分配方式
。2.
根据权利要求1所述的一种基于
WebGPU
提升
Web
播放器硬件解码能力的方法
,
其特征在于,所述步骤
S1
中,在
Web
平台上搭建
WebGPU
技术框架,开发
WebGPU
解码器,包括以下步骤:在
Web
平台上搭建
WebGPU
技术框架,在
WebGPU
技术框架上构建
WebGPU
解码器,
WebGPU
解码器具有进度保存功能,同时,在渲染故障时,进行快速重启
。3.
根据权利要求2所述的一种基于
WebGPU
提升
Web
播放器硬件解码能力的方法
,
其特征在于,所述步骤
S1
中,在
WebGPU
技术框架上构建
WebGPU
解码器,
WebGPU
解码器具有进度保存功能,同时,在渲染故障时,进行快速重启,包括以下步骤:构建
WebGPU
解码器时,将
WebGPU
解码器的解码过程划分为初始化阶段

数据解码阶段和渲染阶段,每个阶段都设置相应的状态变量保存进度;渲染阶段设置为逐帧渲染,数据解码阶段每解码一帧数据后,渲染阶段立即渲染解码后的一帧数据,并在渲染阶段加入异常捕获机制;若异常捕获机制检测到渲染故障时,立即捕获异常,保存当前数据解码阶段的解码进度,以及渲染阶段已完成的帧数据,并通过调用重启函数,将
WebGPU
解码器重置到初始状态,重新执行解码过程;
WebGPU
解码器重启后,根据保存的解码进度,将解码器设置为恢复状态,继续解码未处理的数据
。4.
根据权利要求1所述的一种基于
WebGPU
提升
Web
播放器硬件解码能力的方法
,
其特征在于,所述步骤
S2
中,帧数据单元
、NAL
单元

解码单元和计算单元,包括:计算单元:用于对来自数据传输单元的
H.265
码流进行解析,并提取出解析得到的
H.265
码流中的帧数据;解码单元:用于将提取的帧数据进行解码,将帧数据还原为原始的视频的帧图像;
NAL
单元:用于对解码后的帧图像进行块解析,将其细分为更小的帧块;帧数据单元:在块解析后,对于每个处理的帧块,进行优化帧处理操作;其中,优化帧处理操作包括:滤波

去噪和增强
。5.
根据权利要求4所述的一种基于
WebGPU
提升
Web
播放器硬件解码能力的方法
,
其特征在于,所述步骤
S2
,将
H.265
码流解码模块的帧数据
、NAL
单元...

【专利技术属性】
技术研发人员:肖波王兵
申请(专利权)人:合肥善达信息科技有限公司
类型:发明
国别省市:

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

1