视频播放方法、装置以及电子设备与流程

文档序号:11710250阅读:200来源:国知局
视频播放方法、装置以及电子设备与流程

本发明涉及显示技术领域,尤其涉及一种视频播放方法、装置以及电子设备。



背景技术:

相关技术中,针对低码率、低质量的视频,如果想提升该视频的清晰度,通常是对该视频源进行重新压制,以调高该视频的码率从而获取更清晰的视频。然而,这种对视频源重新压制以调高视频码率的处理方法,虽然可以获取更清晰的视频观看体验,但同时会导致视频的体积增大,消耗更多的cdn(contentdeliverynetwork,内容分发网络)流量,且对用户的带宽也有更高的要求。



技术实现要素:

本发明的目的旨在至少在一定程度上解决相关技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种视频播放方法。该方法在满足用户的观看体验的同时,节省了视频转换所带来的空间、cdn流量等资源消耗。

本发明的第二个目的在于提出一种视频播放装置。

本发明的第三个目的在于提出一种电子设备。

本发明的第四个目的在于提出一种存储介质。

本发明的第五个目的在于提出一种应用程序。

为达到上述目的,本发明第一方面实施例提出的视频播放方法,包括:对目标视频文件进行解码,并从解码后的所述目标视频文件中获取当前视频帧数据;基于提高视频清晰度的算法,将所述当前视频帧数据转换为新的视频帧数据;对所述新的视频帧数据进行渲染显示。

根据本发明实施例的视频播放方法,可对目标视频文件进行解码,并从解码后的目标视频文件中获取当前视频帧数据,之后,基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据,最后,对新的视频帧数据进行渲染显示。即将每个视频帧数据均经过算法(如shader算法)处理以生成新的视频帧数据再渲染显示,实际上是对每个视频帧用算法来进行降噪和细节增强处理,使处理后的画面质量更好,而整个过程中,无需对视频源重新转码,这样不会增加视频的体积,进而也不会消耗更多cdn流量,在满足用户的观看体验的同时,节省了视频转换所带来的空间、cdn流量等资源消耗。

根据本发明的一个实施例,所述提高视频清晰度的算法为着色器shader算法。

根据本发明的一个实施例,在所述基于提高视频清晰度的算法,将所述当前视频帧数据转换为新的视频帧数据之前,所述方法还包括:获取所述目标视频文件的属性信息,其中,所述属性信息包括分辨率和/或码率;判断所述目标视频文件的属性信息是否满足预设条件,其中,所述属性信息满足预设条件包括所述分辨率小于第一阈值,和/或,所述码率小于第二阈值;如果所述目标视频文件的属性信息满足所述预设条件,则基于提高视频清晰度的算法,将所述当前视频帧数据转换为新的视频帧数据。

根据本发明的一个实施例,所述基于提高视频清晰度的算法,将所述当前视频帧数据转换为新的视频帧数据,包括:基于所述提高视频清晰度的算法,对所述当前视频帧数据进行降噪处理;将降噪处理后的所述当前视频帧数据进行细节增强处理以生成所述新的视频帧数据。

根据本发明的一个实施例,所述对所述新的视频帧数据进行渲染显示,包括:利用显卡上的图形处理器gpu,将所述新的视频帧数据通过shader程序生成三层纹理对象,其中,所述三层纹理对象分别存放所述新的视频帧数据的y、u、v分量;将所述新的视频帧数据的y、u、v分量传送至图形程序接口opengl显示播放。

为达到上述目的,本发明第二方面实施例提出的视频播放装置,包括:解码模块,用于对目标视频文件进行解码;第一获取模块,用于从解码后的所述目标视频文件中获取当前视频帧数据;转换模块,用于基于提高视频清晰度的算法,将所述当前视频帧数据转换为新的视频帧数据;渲染显示模块,用于对所述新的视频帧数据进行渲染显示。

根据本发明实施例的视频播放装置,可通过解码模块对目标视频文件进行解码,第一获取模块从解码后的目标视频文件中获取当前视频帧数据,转换模块基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据,渲染显示模块对新的视频帧数据进行渲染显示。即将每个视频帧数据均经过算法(如shader算法)处理以生成新的视频帧数据再渲染显示,实际上是对每个视频帧用算法来进行降噪和细节增强处理,使处理后的画面质量更好,而整个过程中,无需对视频源重新转码,这样不会增加视频的体积,进而也不会消耗更多cdn流量,在满足用户的观看体验的同时,节省了视频转换所带来的空间、cdn流量等资源消耗。

根据本发明的一个实施例,所述提高视频清晰度的算法为着色器shader算法。

根据本发明的一个实施例,所述装置还包括:第二获取模块,用于在所述转换模块基于提高视频清晰度的算法,将所述当前视频帧数据转换为新的视频帧数据之前,获取所述目标视频文件的属性信息,其中,所述属性信息包括分辨率和/或码率;判断模块,用于判断所述目标视频文件的属性信息是否满足预设条件,其中,所述属性信息满足预设条件包括所述分辨率小于第一阈值,和/或,所述码率小于第二阈值;其中,所述转换模块还用于在所述目标视频文件的属性信息满足所述预设条件时,基于提高视频清晰度的算法,将所述当前视频帧数据转换为新的视频帧数据。

根据本发明的一个实施例,所述转换模块包括:降噪单元,用于基于所述提高视频清晰度的算法,对所述当前视频帧数据进行降噪处理;细节增强单元,用于将降噪处理后的所述当前视频帧数据进行细节增强处理以生成所述新的视频帧数据。

根据本发明的一个实施例,所述渲染显示模块具体用于:利用显卡上的图形处理器gpu,将所述新的视频帧数据通过shader程序生成三层纹理对象,其中,所述三层纹理对象分别存放所述新的视频帧数据的y、u、v分量;将所述新的视频帧数据的y、u、v分量传送至图形程序接口opengl显示播放。

为达到上述目的,本发明第三方面实施例提出的电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述电子设备的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:对目标视频文件进行解码,并从解码后的所述目标视频文件中获取当前视频帧数据;基于提高视频清晰度的算法,将所述当前视频帧数据转换为新的视频帧数据;对所述新的视频帧数据进行渲染显示。

根据本发明实施例的电子设备,可对目标视频文件进行解码,并从解码后的目标视频文件中获取当前视频帧数据,之后,基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据,最后,对新的视频帧数据进行渲染显示。即将每个视频帧数据均经过算法(如shader算法)处理以生成新的视频帧数据再渲染显示,实际上是对每个视频帧用算法来进行降噪和细节增强处理,使处理后的画面质量更好,而整个过程中,无需对视频源重新转码,这样不会增加视频的体积,进而也不会消耗更多cdn流量,在满足用户的观看体验的同时,节省了视频转换所带来的空间、cdn流量等资源消耗。

为达到上述目的,本发明第四方面实施例提出的存储介质,其中,所述存储介质用于存储应用程序,所述应用程序用于在运行时执行本发明第一方面实施例所述的视频播放方法。

为达到上述目的,本发明第五方面实施例提出的应用程序,其中,所述应用程序用于在运行时执行本发明第一方面实施例所述的视频播放方法。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,

图1是根据本发明一个实施例的视频播放方法的流程图;

图2是根据本发明一个具体实施例的视频播放方法的流程图;

图3是根据本发明一个实施例的视频播放装置的结构示意图;

图4是根据本发明一个具体实施例的视频播放装置的结构示意图;

图5是根据本发明另一个具体实施例的视频播放装置的结构示意图;

图6是根据本发明一个实施例的电子设备的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面参考附图描述根据本发明实施例的视频播放方法、装置以及电子设备。

图1是根据本发明一个实施例的视频播放方法的流程图。需要说明的是,本发明实施例的视频播放方法可应用于本发明实施例的视频播放装置,该视频播放装置可被配置于电子设备。其中,该电子设备可以是移动终端,如手机、平板电脑、个人数字助理等具有各种操作系统的硬件设备。

如图1所示,该视频播放方法可以包括:

s110,对目标视频文件进行解码,并从解码后的目标视频文件中获取当前视频帧数据。

具体地,可通过解码工具对目标视频文件进行视频解码,并从解码后的目标视频文件中获取每帧视频数据。

s120,基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据。

其中,在本发明的实施例中,提高视频清晰度的算法可为着色器shader算法。例如,可通过shader算法,将该当前视频帧数据进行算法处理,得到对应的新的视频帧数据。

具体而言,在本发明的一个实施例中,基于提高视频清晰度的算法,可先对当前视频帧数据进行降噪处理,再将降噪处理后的当前视频帧数据进行细节增强处理以生成新的视频帧数据。也就是说,基于提高视频清晰度的算法,可先对每个视频帧数据进行降噪处理,再进行细节增强处理,以得到对应的新的视频帧数据。

s130,对新的视频帧数据进行渲染显示。

具体而言,在本发明的一个实施例中,可利用显卡上的图形处理器gpu,将新的视频帧数据通过shader程序生成三层纹理对象,其中,三层纹理对象分别存放新的视频帧数据的y、u、v分量,之后,可将新的视频帧数据的y、u、v分量传送至图形程序接口opengl显示播放。

需要说明的是,在本发明的实施例中,经过shader算法处理后的每一帧视频数据均是yuv420p格式数据。在本步骤中,可将处理后的每一帧yuv420p像素数据通过shader程序生成三个纹理对象,其中,三层纹理对象分别存放新的视频帧数据的y、u、v分量,之后,可将该新的视频帧数据的y、u、v分量传送给opengl显示播放。其中,该渲染显示过程是通过shader程序利用显卡上的gpu来完成的。

根据本发明实施例的视频播放方法,可对目标视频文件进行解码,并从解码后的目标视频文件中获取当前视频帧数据,之后,基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据,最后,对新的视频帧数据进行渲染显示。即将每个视频帧数据均经过算法(如shader算法)处理以生成新的视频帧数据再渲染显示,实际上是对每个视频帧用算法来进行降噪和细节增强处理,使处理后的画面质量更好,而整个过程中,无需对视频源重新转码,这样不会增加视频的体积,进而也不会消耗更多cdn流量,在满足用户的观看体验的同时,节省了视频转换所带来的空间、cdn流量等资源消耗。

图2是根据本发明一个具体实施例的视频播放方法的流程图。

为了提高本发明的可用性以及可行性,在本发明的实施例中,可判断当前目标视频文件的分辨率和/或码率是否满足预设条件,若是,则将每个视频帧数据经过算法处理以转换为新的视频帧数据。具体地,如图2所示,该视频播放方法可以包括:

s210,对目标视频文件进行解码,并从解码后的目标视频文件中获取当前视频帧数据。

具体地,可通过解码工具对目标视频文件进行视频解码,并从解码后的目标视频文件中获取每帧视频数据。

s220,获取目标视频文件的属性信息,其中,该属性信息包括分辨率和/或码率。

s230,判断目标视频文件的属性信息是否满足预设条件,其中,属性信息满足预设条件包括分辨率小于第一阈值,和/或,码率小于第二阈值。

也就是说,判断需要是否对当前视频帧数据进行算法处理的条件可以有以下三种情况:(1)可以只需判断目标视频文件的分辨率是否小于第一阈值,若是,则可判定需要对当前视频帧数据进行算法处理;(2)可以只需判断目标视频文件的码率是否小于第二阈值,若是,则可判定需要对当前视频帧数据进行算法处理;(3)还可以判断目标视频文件的分辨率是否小于第一阈值,以及判断目标视频文件的码率是否小于第二阈值,若目标视频文件的分辨率小于第一阈值、且码率小于第二阈值,则可判定需要对当前视频帧数据进行算法处理。

需要说明的是,在本发明的实施例中,针对上述三种情况,如果没有满足相应判断条件,则可判定当前视频满足播放要求,此时可无需对该当前视频帧数据进行算法处理,而是直接显示播放即可。

其中,在本发明的实施例中,第一阈值可为640x480像素,第二阈值可为600kpbs(比特率)。例如,如果目标视频文件的分辨率小于640x480像素,且码率小于600kpbs,则可执行步骤s240。

s240,如果目标视频文件的属性信息满足预设条件,则基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据。

其中,在本发明的实施例中,提高视频清晰度的算法可为着色器shader算法。例如,可通过shader算法,将该当前视频帧数据进行算法处理,得到对应的新的视频帧数据。

具体而言,在本发明的一个实施例中,基于提高视频清晰度的算法,对当前视频帧数据进行降噪处理,并将降噪处理后的当前视频帧数据进行细节增强处理以生成新的视频帧数据。也就是说,基于提高视频清晰度的算法,可先对每个视频帧数据进行降噪处理,再进行细节增强处理,以得到对应的新的视频帧数据。

s250,对新的视频帧数据进行渲染显示。

具体而言,在本发明的一个实施例中,利用显卡上的图形处理器gpu,将所述新的视频帧数据通过shader程序生成三层纹理对象,其中,所述三层纹理对象分别存放所述新的视频帧数据的y、u、v分量,之后,可将所述新的视频帧数据的y、u、v分量传送至图形程序接口opengl显示播放。

需要说明的是,在本发明的实施例中,经过shader算法处理后的每一帧视频数据均是yuv420p格式数据。在本步骤中,可将处理后的每一帧yuv420p像素数据通过shader程序生成三个纹理对象,其中,三层纹理对象分别存放新的视频帧数据的y、u、v分量,之后,可将该新的视频帧数据的y、u、v分量传送给opengl显示播放。其中,该渲染显示过程是通过shader程序利用显卡上的gpu来完成的。

根据本发明实施例的视频播放方法,在基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据之前,可先判断当前目标视频文件的属性信息是否满足预设条件,其中,属性信息满足预设条件包括分辨率小于第一阈值,和/或,码率小于第二阈值,如果目标视频文件的属性信息满足所述预设条件,则将每个视频帧数据经过算法处理以转换为新的视频帧数据,提高了本发明的可用性以及可行性。

与上述几种实施例提供的视频播放方法相对应,本发明的一种实施例还提供一种视频播放装置,由于本发明实施例提供的视频播放装置与上述几种实施例提供的视频播放方法相对应,因此在前述视频播放方法的实施方式也适用于本实施例提供的视频播放装置,在本实施例中不再详细描述。图3是根据本发明一个实施例的视频播放装置的结构示意图。如图3所示,该视频播放装置可以包括:解码模块310、第一获取模块320、转换模块330和渲染显示模块340。

具体地,解码模块310用于对目标视频文件进行解码。

第一获取模块320用于从解码后的目标视频文件中获取当前视频帧数据。

转换模块330用于基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据。其中,在本发明的实施例中,提高视频清晰度的算法可为着色器shader算法。

具体而言,在本发明的一个实施例中,如图4所示,该转换模块330包括:降噪单元331和细节增强单元332。其中,降噪单元331用于基于提高视频清晰度的算法,对当前视频帧数据进行降噪处理;细节增强单元332用于将降噪处理后的当前视频帧数据进行细节增强处理以生成新的视频帧数据。

渲染显示模块340用于对新的视频帧数据进行渲染显示。具体而言,在本发明的一个实施例中,渲染显示模块340可利用显卡上的图形处理器gpu,将新的视频帧数据通过shader程序生成三层纹理对象,其中,三层纹理对象分别存放新的视频帧数据的y、u、v分量,并将新的视频帧数据的y、u、v分量传送至图形程序接口opengl显示播放。

为了提高本发明的可用性以及可行性,进一步地,在本发明的一个实施例中,如图5所示,该视频播放装置还可包括:第二获取模块350和判断模块360。其中,第二获取模块350用于在转换模块基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据之前,获取目标视频文件的属性信息,其中,属性信息包括分辨率和/或码率;判断模块360用于判断目标视频文件的属性信息是否满足预设条件,其中,属性信息满足预设条件包括分辨率小于第一阈值,和/或,码率小于第二阈值;其中,转换模块330还用于在目标视频文件的属性信息满足预设条件时,基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据。

根据本发明实施例的视频播放装置,可通过解码模块对目标视频文件进行解码,第一获取模块从解码后的目标视频文件中获取当前视频帧数据,转换模块基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据,渲染显示模块对新的视频帧数据进行渲染显示。即将每个视频帧数据均经过算法(如shader算法)处理以生成新的视频帧数据再渲染显示,实际上是对每个视频帧用算法来进行降噪和细节增强处理,使处理后的画面质量更好,而整个过程中,无需对视频源重新转码,这样不会增加视频的体积,进而也不会消耗更多cdn流量,在满足用户的观看体验的同时,节省了视频转换所带来的空间、cdn流量等资源消耗。

为了实现上述实施例,本发明还提出了一种电子设备。

图6是根据本发明一个实施例的电子设备的结构示意图。如图6所示,该电子设备可以包括:壳体61、处理器62、存储器63、电路板64和电源电路65,其中,电路板64安置在壳体61围成的空间内部,处理器62和存储器63设置在电路板64上;电源电路65,用于为电子设备的各个电路或器件供电;存储器63用于存储可执行程序代码;处理器62通过读取存储器63中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:

s610’,对目标视频文件进行解码,并从解码后的目标视频文件中获取当前视频帧数据。

s620’,基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据。

s630’,对新的视频帧数据进行渲染显示。

根据本发明实施例的电子设备,可对目标视频文件进行解码,并从解码后的目标视频文件中获取当前视频帧数据,之后,基于提高视频清晰度的算法,将当前视频帧数据转换为新的视频帧数据,最后,对新的视频帧数据进行渲染显示。即将每个视频帧数据均经过算法(如shader算法)处理以生成新的视频帧数据再渲染显示,实际上是对每个视频帧用算法来进行降噪和细节增强处理,使处理后的画面质量更好,而整个过程中,无需对视频源重新转码,这样不会增加视频的体积,进而也不会消耗更多cdn流量,在满足用户的观看体验的同时,节省了视频转换所带来的空间、cdn流量等资源消耗。

为了实现上述实施例,本发明还提出了一种存储介质,其中,该存储介质用于存储应用程序,该应用程序用于在运行时执行本发明上述任一个实施例所述的视频播放方法。

为了实现上述实施例,本发明还提出了一种应用程序,其中,该应用程序用于在运行时执行本发明上述任一个实施例所述的视频播放方法。

在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1