CN117793441A - 视频画质增强方法、装置、计算机设备及存储介质 - Google Patents
视频画质增强方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117793441A CN117793441A CN202311854742.6A CN202311854742A CN117793441A CN 117793441 A CN117793441 A CN 117793441A CN 202311854742 A CN202311854742 A CN 202311854742A CN 117793441 A CN117793441 A CN 117793441A
- Authority
- CN
- China
- Prior art keywords
- video
- image quality
- quality enhancement
- webgpu
- webgl
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 85
- 238000004590 computer program Methods 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 7
- 238000012952 Resampling Methods 0.000 claims description 5
- 230000002708 enhancing effect Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013079 data visualisation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000004043 dyeing Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Image Processing (AREA)
Abstract
本申请公开了一种视频画质增强方法、装置、计算机设备及存储介质,涉及视频处理技术领域。所述方法包括:当通过web视频播放器对视频进行播放时,判断所述视频是否符合预设的画质增强条件;若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;对增强的视频帧进行渲染,以显示视频画面。本申请无需通过服务器端对视频进行画质增强处理,节省了服务器端的算力消耗和带宽消耗,改善了用户体验。
Description
技术领域
本申请涉及视频处理技术领域,尤其涉及一种视频画质增强方法、装置、计算机设备及存储介质。
背景技术
随着显示技术的发展,人们对显示效果的要求越来越高,比如,在视频播放场景中,人们希望显示屏显示的视频的画面质量更高。
相关技术中,为了提高视频的画面质量,会在服务器端对视频画面进行增强处理。这样,当使用计算机设备对视频进行播放时,即可以从服务器端获取到高画面质量的视频。
然而,发明人发现,虽然通过服务器端对视频画面进行增强处理可以使得计算机设备显示更高质量的视频画面,但是这种视频画面增强方式,增加了服务器端的算力消耗和带宽消耗。
发明内容
有鉴于此,现提供一种视频画质增强方法、装置、计算机设备及计算机可读存储介质,以解决上述问题。
本申请提供了一种视频画质增强方法,所述方法包括:
当通过web视频播放器对视频进行播放时,判断所述视频是否符合预设的画质增强条件;
若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;
对增强的视频帧进行渲染,以显示视频画面。
可选地,若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
若所述视频符合所述画质增强条件,则判断预设的画质增强开关是否处于开启状态;
若所述画质增强开关处于开启状态,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
可选地,当以下条件都满足时,判定所述视频符合所述画质增强条件:
CPU逻辑核心数超过预设数量;
所述浏览器具有所述WebGPU或WebGL接口;
所述视频的解码方式为所述计算机设备中的GPU支持的硬件解码方式;
所述视频的类型不为预设类型;及
所述视频的帧率不超过预设帧率。
可选地,所述调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
获取历史体验质量;
判断所述历史体验质量是否优于标准体验质量;
若所述历史体验质量不优于所述标准体验质量,则判断所述视频是否满足预设的分辨率限制策略;
若所述视频满足所述分辨率限制策略,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
可选地,调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
调用WebGPU或WebGL将所述视频中的视频帧转换为对应的纹理图片;
通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行画质增强处理,得到增强的视频帧。
可选地,通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行画质增强处理,得到增强的视频帧包括:
通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行重采样处理;
通过所述着色器对采样得到的纹理像素进行锐化处理,得到锐化后的纹理像素;
通过所述着色器对锐化后的纹理像素进行饱和度增强处理,得到增强的视频帧。
可选地,所述若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
若所述视频符合所述画质增强条件,则检测所述浏览器是否具有预设的第一视频帧回调接口;
若所述浏览器具有所述第一视频帧回调接口,则通过所述第一视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL;
调用所述WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
可选地,所述检测所述浏览器是否具有预设的第一视频帧回调接口的步骤之后,还包括:
若所述浏览器不具有所述第一视频帧回调接口,则通过预设的第二视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL。
本申请还提供了一种视频画质增强装置,所述视频画质增强装置包括:
判断模块,用于当通过web视频播放器对视频进行播放时,判断所述视频是否符合预设的画质增强条件;
调用模块,用于若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;
渲染模块,用于对增强的视频帧进行渲染,以显示视频画面。
本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本申请实施例视频画质增强方法,当通过web视频播放器对视频进行播放时,判断所述视频是否符合预设的画质增强条件;若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;对增强的视频帧进行渲染,以显示视频画面。上述视频画质增强方式通过在视频符合画质增强条件时,采用WebGPU和WebGL技术对视频的画质进行增强处理,从而实现利用计算机设备中的GPU来实现对视频的画质进行增强处理,而无需通过服务器端对视频进行画质增强处理,减少了服务器端的算力消耗和带宽消耗,且改善了用户体验。
附图说明
图1为本申请实施例的视频画质增强方法的一实施例的应用环境示意图;
图2为本申请所述的视频画质增强方法的一种实施例的流程图;
图3为本申请一实施例中若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧的步骤细化示意图;
图4为本申请另一实施例中若调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧的步骤细化示意图;
图5为本申请一实施例中调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧的步骤细化示意图;
图6为本申请一实施例中通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行画质增强处理,得到增强的视频帧的步骤细化示意图;
图7为本申请一实施例中若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧的步骤细化示意图;
图8为本申请所述的视频画质增强装置的一种实施例的程序模块图;
图9为本申请实施例提供的执行视频画质增强方法的计算机设备的硬件结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本申请的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
以下为本申请的术语解释:
纹理:纹理是一种图像的视觉特征,用于描述图像或物体表面的细节和质感。纹理图片可以看作是一幅图像,它可以在计算机图形学中用于在三维模型的表面上贴附,增加图形的真实感和细节。纹理图片通常是RGBA格式的图像数据,其中每个像素由红色(R)、绿色(G)、蓝色(B)和透明度(A)四个分量组成。
WebGL:WebGL(全写Web Graphics Library)是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES2.0结合在一起,通过增加OpenGL ES2.0的一个JavaScript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。
WebGPU:WebGPU API使web开发人员能够使用底层系统的GPU(图形处理器)进行高性能计算并绘制可在浏览器中渲染的复杂图形。WebGPU是WebGL的继任者,为现代GPU提供更好的兼容、支持更通用的GPU计算、更快的操作以及能够访问到更高级的GPU特性。
Shader(着色器):是一种计算机程序,在GPU中执行,一般用于处理图形和图像数据。最常见的着色器类型有顶点着色器(Vertex Shader,VS)、片元着色器(FragmentShader,FS)及Compute Shader(计算着色器)。其中,顶点着色器用于处理顶点数据。片元着色器用于计算像素的颜色。C计算着色器可用于高频的大量计算用于辅助染,例如一帧内要做成千上万次矩阵乘法。在它的帮助下,可直接将GPU作为并行处理器加以利用,GPU将不仅具有3D渲染能力,也具有其他的运算能力。
QoE:体验质量(Quality of Experience,QoE)是指用户对设备、网络和系统、应用或业务的质量和性能的主观感受。视频的QoE主要包含视频的流畅度(卡顿率)、视频的清晰度、视频掉帧率等。
流媒体:流媒体是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放。
逻辑CPU数:操作系统可以使用逻辑CPU来模拟出真实CPU的效果。在之前没有多核处理器的时候,一个CPU只有一个核,而现在有了多核技术,其效果就好像把多个CPU集中在一个CPU上。当计算机没有开启超线程时,逻辑CPU的个数就是计算机的核数。而当超线程开启后,逻辑CPU的个数是核数的两倍。
图1示出了本申请实施例提供的应用场景的一种示意图。
在示例性的实施例中,该应用环境的系统可包括终端设备10、服务器20。其中,终端设备10与服务器20通过无线或有线网络连接。终端设备10可以为智能手机、平板电脑、PC等。服务器20可以为机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。网络可以包括各种网络设备,例如路由器、交换机、多路复用器、集线器、调制解调器、网桥、中继器、防火墙和/或代理设备等。网络还可以包括物理链路,例如同轴电缆链路、双绞线电缆链路、光纤链路及其组合和/或类似物。
下面,将在上述示例性应用环境下提供若干个实施例,来说明本申请中的视频画质增强方案。参阅图2,其为本申请一实施例的视频画质增强方法的流程示意图。本实施例中的视频画质增强方法应用于浏览器中。需要说明的是,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。从图中可以看出,本实施例中所提供的视频画质增强方法包括:
步骤S20、当通过web视频播放器对视频进行播放时,判断所述视频是否符合预设的画质增强条件。
具体地,所述画质增强条件为预先设定的用于开启画质增强功能的条件。
在一示例性的实施方式中,所述画质增强条件可以包括以下几个条件:
1、CPU逻辑核心数超过预设数量,其中,所述预设数量为预先设定的值,其可以根据实际情况进行设定与修改,比如,所述预设数量为8。需要说明的是,CPU逻辑核心数可以通过浏览器提供的navigator.hardwareConcurrency接口获取到。
2、所述浏览器具有所述WebGPU或WebGL接口。
3、所述视频的解码方式为所述终端设备中的GPU支持的硬件解码方式。其中,GPU支持的硬件解码方式可以通过读取GPU的硬件信息,并对硬件信息进行解析后得到。
4、所述视频的类型不为预设类型,其中,所述预设类型可以根据实际情况进行设定与修改。作为示例,所述预设类型可以为杜比视界(Dolby Vision)及HDR(高动态范围)。
5、所述视频的帧率不超过预设帧率,其中,所述预设帧率可以根据实际情况进行设定与修改。作为示例,所述预设帧率为30帧。
在本实施例中,当上述5个条件都满足时,才会判定所述视频符合所述画质增强条件。
在另一实施方式中,当上述5个条件中的其中的几个条件满足时,也可以判定所述视频符合所述画质增强条件。
步骤S21,若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
具体地,若所述视频符合所述画质增强条件,则会调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到视频帧对应的增强的视频帧。
其中,进行画质增强处理的视频帧可以为所述视频中的每一帧,也可以仅为符合预设条件的视频帧。其中,所述预设条件可以根据实际情况进行设定,比如,预设条件可以为视频帧的视频质量评分值小于预设阈值。
在一实施方式中,相较于WebGL,WebGPU提供了更先进的API访问GPU能力,且性能更优、计算能力更纯粹。因此,当浏览器同时支持WebGPU与WebGL时,为了可以得到更好的性能,会调用WebGPU对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
在另一实施方式中,当浏览器只支持WebGPU与WebGL中的其中之一时,例如,浏览器支持WebGPU,则会调用WebGPU对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;当浏览器支持WebGL,则会调用WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
其中,画质增强处理可以包括饱和度增强处理、锐化处理、锐利度增强处理、对比度增强处理中的至少一种。
需要说明的是,当所述视频不符合所述画质增强条件时,则会采用正常的视频播放流程对所述视频进行播放。
在一示例性的实施方式中,参阅图3,所述若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
步骤S30,若所述视频符合所述画质增强条件,则判断预设的画质增强开关是否处于开启状态。
具体地,所述画质增强开关为供用户决定是否开启画质增强功能的按钮。所述画质增强开关默认为关闭状态。当用户想要采用画质增强功能对视频进行播放时,用户可以开启该画质增强开关。
步骤S31,若所述画质增强开关处于开启状态,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
具体地,当检测到所述画质增强开关处于开启状态时,才会调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;当检测到所述画质增强开关处于关闭状态时,则不会调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,而是会采用正常的视频播放流程对所述视频进行播放。
本实施例中,通过设置画质增强开关,从而使得用户可以灵活控制画质增强功能的开启与关闭。
在一示例性的实施方式中,参阅图4,所述调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧还包括:
步骤S40,获取历史体验质量。
具体地,为了可以得到更好的用户体验,在调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理之前,还会获取历史体验质量,以便可以根据该历史体验质量判断是否需要执行分辨率限制策略。
其中,所述历史体验质量为用户在历史时间段内开启画质增强功能后所得到的体验质量。
所述历史时间段可以根据实际情况进行设定与修改,比如,所述历史时间段为过去一周。
所述体验质量包括视频的流畅度(卡顿率)、视频的清晰度、视频掉帧率等。
步骤S41,判断所述历史体验质量是否优于标准体验质量。
具体地,所述标准体验质量用于作为与所述历史体验质量进行比较的基准。所述标准体验质量也包括视频的流畅度(卡顿率)、视频的清晰度、视频掉帧率等,且所述标准体验质量包含的体验质量的种类与历史体验质量中包含的体验质量的种类相同。
需要说明的是,当所述历史体验质量中的某一个种类的体验质量低于标准体验质量中的对应的体验质量时,即可以判定所述历史体验质量不优于所述标准体验质量。
步骤S42,若所述历史体验质量不优于所述标准体验质量,则判断所述视频是否满足预设的分辨率限制策略。
步骤S43,若所述视频满足所述分辨率限制策略,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
具体地,若所述历史体验质量不优于所述标准体验质量,则表明在历史时期开启了画质增强功能后,用户的体验下降了,此时,为了后续可以具有更好的观看体验,会开启分辨率限制策略。因而,在本实施例中,在检测到所述历史体验质量不优于所述标准体验质量时,会判断视频是否满足所述分辨率限制策略,以便在所述视频不满足所述分辨率限制策略时,仍然不会开启画质增强功能,即仍然不会调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,而只会采用正常的视频播放流程对所述视频进行播放。当所述视频满足所述分辨率限制策略时,才会调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
其中,所述分辨率限制策略为用于对开启画质增强功能的视频的分辨率进行限定的策略。
在一具体实施方式中,采用不同编码方式编码得到的视频对应的分辨率限制策略不同。
比如,AV1编码方式的分辨率限制策略如下:1、当采用CPU软解方式对视频进行解码,若浏览器支持WebGPU,CPU逻辑核心数超过16个,且浏览器支持requestVideoFrameCallback接口时,则视频的分辨率最高限制到1080P高码率,否则限制到1080P;2、当采用CPU软解方式对视频进行解码,若浏览器支持WebGL,且浏览器支持requestVideoFrameCallback接口时,则视频的分辨率最高限制到1080P,否则限制到720P。
HEVC/H.265编码方式的分辨率限制策略如下:视频的分辨率最高限制到1080P。
AVC/H.264编码方式的分辨率限制策略如下:浏览器支持requestVideoFraneCallback接口时,视频的分辨率最高限制到1080P高码率,否则限制到1080P。
需要说明的是,上述所述的分辨率最高限制到XX,指的是开启画质增强功能的视频的分辨率最高不能超过该分辨率,若超过该分辨率,则不能开启画质增强功能,只有不超过该分辨率才能开启画质增强功能。
本实施例中,通过历史体验质量不优于所述标准体验质量时,执行分辨率限制策略,从而使得对于满足该分辨率限制策略的视频不会开启画质增强功能,从而提高用户体验。
在一示例性的实施方式中,参阅图5,调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:步骤S50,调用WebGPU或WebGL将所述视频中的视频帧转换为对应的纹理图片;步骤S51,通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行画质增强处理,得到增强的视频帧。
具体地,在对视频帧进行画质增强处理之前,会先通过WebGPU或WebGL将所述视频中的每一帧图片格式的视频帧转换为对应的纹理图片,之后,才会通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行画质增强处理,得到增强的视频帧。
在一示例性的实施方式中,参阅图6,通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行画质增强处理,得到增强的视频帧包括:
步骤S60,通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行重采样处理。
具体地,在得到纹理图片会,会通过着色器对视频帧对应的纹理图片进行重采样处理,以便可以得到纹理像素。
步骤S61,通过所述着色器对采样得到的纹理像素进行锐化处理,得到锐化后的纹理像素。
具体地,可以通过Unsharp Mask(USM)锐化算法对采样得到的纹理像素进行锐化处理,得到锐化后的纹理像素。
步骤S62,通过所述着色器对锐化后的纹理像素进行饱和度增强处理,得到增强的视频帧。
具体地,可以通过photoshop自然饱和度增强算法对锐化后的纹理像素进行饱和度增强处理,得到增强的视频帧。
在一实施方式中,在采用photoshop自然饱和度增强算法对锐化后的纹理像素进行饱和度增强处理时,还可以先将锐化后的纹理像素的颜色值(RGBA)转化为HSL色域后,之后才会使用photoshop自然饱和度增强算法对转化为HSL色域的纹理像素进行饱和度增强处理。
本实施例中,通过对纹理像素依次执行重采样处理、锐化处理以及饱和度增强处理,从而可以得到较好的画质增强效果。
在一示例性的实施方式中,参阅图7,所述若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
步骤S70,若所述视频符合所述画质增强条件,则检测所述浏览器是否具有预设的第一视频帧回调接口。
具体地,所述第一视频帧回调接口为requestVideoFrameCallback API。
其中,requestVideoFrameCallback API会在视频每处理完一帧画面进行一次回调,画质增强处理时机比较准确,不会浪费性能,如视频是30帧的,则1s钟回调30次。
步骤S71,若所述浏览器具有所述第一视频帧回调接口,则通过所述第一视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL。
具体地,若所述浏览器具有所述第一视频帧回调接口,则可以通过所述第一视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL,从而使得WebGPU或WebGL可以获取到视频帧数据进行纹理转换处理。
步骤S72,若所述浏览器不具有所述第一视频帧回调接口,则通过预设的第二视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL。
具体地,所述第二视频帧回调接口为requestAnimationFrame API。
其中,requestAnimationFrame API回调视频帧的频率一般和用户显示器的刷新率一致,如用户屏幕为60fps的,则1s钟回调60次,此时可能大于视频帧率,从而造成性能浪费。
步骤S73,调用所述WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
具体地,在将帧视频帧传递给所述WebGPU或WebGL后,会调用所述WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
本实施例中,通过在浏览器支持第一视频帧回调接口时,通过所述第一视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL,从而避免性能浪费。
步骤S22,对增强的视频帧进行渲染,以显示视频画面。
具体地,在完成对视频帧的图像增强处理后,会对得到的每一帧增强的视频帧进行渲染,从而实现在浏览器中显示视频画面。
在本实施例中,视频画质增强方法,当通过web视频播放器对视频进行播放时,判断所述视频是否符合预设的画质增强条件;若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;对增强的视频帧进行渲染,以显示视频画面。上述视频画质增强方式通过在视频符合画质增强条件时,采用WebGPU和WebGL技术对视频的画质进行增强处理,从而实现利用终端设备中的GPU来实现对视频的画质进行增强处理,而无需通过服务器端对视频进行画质增强处理,减少了服务器端的算力消耗和带宽消耗,且改善了用户体验。
参阅图8所示,是本申请视频画质增强装置80一实施例的程序模块图。
本实施例中,视频画质增强装置80包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本申请各实施例的视频画质增强功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,视频画质增强装置80可以被划分为一个或多个模块,具体可以划分的模块如下:
判断模块81,用于当通过web视频播放器对视频进行播放时,判断所述视频是否符合预设的画质增强条件;
调用模块82,用于若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;
渲染模块83,用于对增强的视频帧进行渲染,以显示视频画面。
在一示例性的实施方式中,调用模块82,还用于若所述视频符合所述画质增强条件,则判断预设的画质增强开关是否处于开启状态;若所述画质增强开关处于开启状态,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
在一示例性的实施方式中,当以下条件都满足时,判定所述视频符合所述画质增强条件:CPU逻辑核心数超过预设数量;所述浏览器具有所述WebGPU或WebGL接口;所述视频的解码方式为所述终端设备中的GPU支持的硬件解码方式;所述视频的类型不为预设类型;及所述视频的帧率不超过预设帧率。
在一示例性的实施方式中,调用模块82,还用于获取历史体验质量;判断所述历史体验质量是否优于标准体验质量;若所述历史体验质量不优于所述标准体验质量,则判断所述视频是否满足预设的分辨率限制策略;若所述视频满足所述分辨率限制策略,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
在一示例性的实施方式中,调用模块82,还用于调用WebGPU或WebGL将所述视频中的视频帧转换为对应的纹理图片;通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行画质增强处理,得到增强的视频帧。
在一示例性的实施方式中,调用模块82,还用于通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行重采样处理;通过所述着色器对采样得到的纹理像素进行锐化处理,得到锐化后的纹理像素;通过所述着色器对锐化后的纹理像素进行饱和度增强处理,得到增强的视频帧。
在一示例性的实施方式中,调用模块82,还用于若所述视频符合所述画质增强条件,则检测所述浏览器是否具有预设的第一视频帧回调接口;若所述浏览器具有所述第一视频帧回调接口,则通过所述第一视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL;调用所述WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
在一示例性的实施方式中,调用模块82,还用于若所述浏览器不具有所述第一视频帧回调接口,则通过预设的第二视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL。
图9示意性示出了根据本申请实施例的适于实现视频画质增强方法的计算机设备9的硬件架构示意图。本实施例中,计算机设备9是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。如图9所示,计算机设备9至少包括但不限于:可通过系统总线相互通信链接存储器120、处理器121、网络接口122。其中:
存储器120至少包括一种类型的计算机可读存储介质,该可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备9的内部存储模块,例如该计算机设备9的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备9的外部存储设备,例如该计算机设备9上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器120还可以既包括计算机设备9的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备9的操作系统和各类应用软件,例如视频画质增强方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器121在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其它视频画质增强芯片。该处理器121通常用于控制计算机设备9的总体操作,例如执行与计算机设备9进行数据交互或者通信相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
网络接口122可包括无线网络接口或有线网络接口,该网络接口122通常用于在计算机设备9与其它计算机设备之间建立通信链接。例如,网络接口122用于通过网络将计算机设备9与外部终端相连,在计算机设备9与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图9仅示出了具有部件120~122的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器120中的视频画质增强方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本申请。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的视频画质增强方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的视频画质增强方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种视频画质增强方法,应用于计算机设备中,所述计算机设备安装有浏览器,其特征在于,所述方法包括:
当通过web视频播放器对视频进行播放时,判断所述视频是否符合预设的画质增强条件;
若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;
对增强的视频帧进行渲染,以显示视频画面。
2.根据权利要求1所述的视频画质增强方法,其特征在于,所述若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
若所述视频符合所述画质增强条件,则判断预设的画质增强开关是否处于开启状态;
若所述画质增强开关处于开启状态,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
3.根据权利要求1所述的视频画质增强方法,其特征在于,当以下条件都满足时,判定所述视频符合所述画质增强条件:
CPU逻辑核心数超过预设数量;
所述浏览器具有所述WebGPU或WebGL接口;
所述视频的解码方式为所述计算机设备中的GPU支持的硬件解码方式;
所述视频的类型不为预设类型;及
所述视频的帧率不超过预设帧率。
4.根据权利要求1至3任一项所述的视频画质增强方法,其特征在于,所述调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
获取历史体验质量;
判断所述历史体验质量是否优于标准体验质量;
若所述历史体验质量不优于所述标准体验质量,则判断所述视频是否满足预设的分辨率限制策略;
若所述视频满足所述分辨率限制策略,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
5.根据权利要求1所述的视频画质增强方法,其特征在于,调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
调用WebGPU或WebGL将所述视频中的视频帧转换为对应的纹理图片;
通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行画质增强处理,得到增强的视频帧。
6.根据权利要求5所述的视频画质增强方法,其特征在于,通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行画质增强处理,得到增强的视频帧包括:
通过所述WebGPU或WebGL中的着色器对视频帧对应的纹理图片进行重采样处理;
通过所述着色器对采样得到的纹理像素进行锐化处理,得到锐化后的纹理像素;
通过所述着色器对锐化后的纹理像素进行饱和度增强处理,得到增强的视频帧。
7.根据权利要求1所述的视频画质增强方法,其特征在于,所述若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧包括:
若所述视频符合所述画质增强条件,则检测所述浏览器是否具有预设的第一视频帧回调接口;
若所述浏览器具有所述第一视频帧回调接口,则通过所述第一视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL;
调用所述WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧。
8.根据权利要求7所述的视频画质增强方法,其特征在于,所述检测所述浏览器是否具有预设的第一视频帧回调接口的步骤之后,还包括:
若所述浏览器不具有所述第一视频帧回调接口,则通过预设的第二视频帧回调接口将所述视频中的视频帧传递给所述WebGPU或WebGL。
9.一种视频画质增强装置,应用于浏览器中,其特征在于,所述视频画质增强装置包括:
判断模块,用于当通过web视频播放器对视频进行播放时,判断所述视频是否符合预设的画质增强条件;
调用模块,用于若所述视频符合所述画质增强条件,则调用WebGPU或WebGL对所述视频中的视频帧进行画质增强处理,得到增强的视频帧;
渲染模块,用于对增强的视频帧进行渲染,以显示视频画面。
10.一种计算机设备,其特征在于,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311854742.6A CN117793441A (zh) | 2023-12-28 | 2023-12-28 | 视频画质增强方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311854742.6A CN117793441A (zh) | 2023-12-28 | 2023-12-28 | 视频画质增强方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117793441A true CN117793441A (zh) | 2024-03-29 |
Family
ID=90390645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311854742.6A Pending CN117793441A (zh) | 2023-12-28 | 2023-12-28 | 视频画质增强方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117793441A (zh) |
-
2023
- 2023-12-28 CN CN202311854742.6A patent/CN117793441A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210274224A1 (en) | Selectively enhancing compressed digital content | |
CN111681167B (zh) | 画质调整方法和装置、存储介质及电子设备 | |
CN109600666B (zh) | 游戏场景中的视频播放方法、装置、介质以及电子设备 | |
CN113041617B (zh) | 一种游戏画面渲染方法、装置、设备及存储介质 | |
CN112448962B (zh) | 视频抗锯齿显示方法、装置、计算机设备及可读存储介质 | |
KR20180072548A (ko) | 이미지 데이터의 인코딩 및 디코딩 | |
US11810524B2 (en) | Virtual reality display device and control method thereof | |
US20230362388A1 (en) | Systems and methods for deferred post-processes in video encoding | |
CN113301414B (zh) | 界面的生成处理方法、装置、电子设备及计算机存储介质 | |
CN112929740A (zh) | 一种渲染视频流的方法、装置、存储介质及设备 | |
US10237563B2 (en) | System and method for controlling video encoding using content information | |
CN110049347B (zh) | 在直播界面配置图像的方法、系统、终端和装置 | |
CN114205662A (zh) | iOS端的低延迟视频渲染方法及装置 | |
TWI699116B (zh) | 用於後製處理一視訊串流之方法及裝置 | |
CN117793441A (zh) | 视频画质增强方法、装置、计算机设备及存储介质 | |
CN112929682B (zh) | 对图像背景进行透明处理的方法、装置、系统及电子设备 | |
CN115225902A (zh) | 基于分散编码的高分辨率vr云游戏解决方法及计算机设备 | |
CN113825016A (zh) | 视频渲染方法、装置、设备、存储介质及计算机程序产品 | |
CN108933945B (zh) | 一种gif图片的压缩方法、装置及存储介质 | |
JP7438234B2 (ja) | 符号化アーティファクトのためのフレームオーバーレイ | |
CN115022678B (zh) | 图像处理方法、系统、装置、设备及存储介质 | |
CN116017058A (zh) | 视频播放方法、装置、电子设备和可读存储介质 | |
CN114640883A (zh) | 动效处理方法、客户端、服务器、电子设备及存储介质 | |
CN117692706A (zh) | 一种视频处理方法、装置、设备、可读存储介质及产品 | |
CN115866336A (zh) | 一种形状不规则视频的生成方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |