CN115460461A - 视频处理方法及装置、终端设备、计算机可读存储介质 - Google Patents

视频处理方法及装置、终端设备、计算机可读存储介质 Download PDF

Info

Publication number
CN115460461A
CN115460461A CN202211089940.3A CN202211089940A CN115460461A CN 115460461 A CN115460461 A CN 115460461A CN 202211089940 A CN202211089940 A CN 202211089940A CN 115460461 A CN115460461 A CN 115460461A
Authority
CN
China
Prior art keywords
video
video data
component
resolution
target
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.)
Granted
Application number
CN202211089940.3A
Other languages
English (en)
Other versions
CN115460461B (zh
Inventor
冀睿哲
杨子斌
王仕俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202211089940.3A priority Critical patent/CN115460461B/zh
Publication of CN115460461A publication Critical patent/CN115460461A/zh
Application granted granted Critical
Publication of CN115460461B publication Critical patent/CN115460461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440263Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440218Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)

Abstract

本发明实施例提供了一种视频处理方法及装置、终端设备、计算机可读存储介质,涉及视频处理技术领域。该视频处理方法包括:在第一视频的数据格式为YUV格式的情况下,获取第一视频的第一Y分量视频数据;将第一Y分量视频数据输入至目标视频转换模型中,通过目标视频转换模型将第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据;根据第二Y分量视频数据与第一视频,生成分辨率为目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频。本发明实施例提供的技术方案,能够在一定程度上解决现有技术中在进行实时视频超分辨率处理时,由于数据运算量大,运算时间较长,导致易出现视频播放卡顿的问题。

Description

视频处理方法及装置、终端设备、计算机可读存储介质
技术领域
本发明涉及视频处理技术领域,尤其涉及一种视频处理方法及装置、终端设备、计算机可读存储介质。
背景技术
随着网络多媒体技术的发展,使得网络视频资源越来越多,从而吸引了越来越多的用户选择观看网络视频。
用户在观看网络视频时,有时为了享受更好的视频观看体验,会有观看高分辨视频的需求。但在网络信号较差的情况下,由于网速问题导致终端设备从服务器获取数据量较大的高分辨视频时速度较慢,出现视频播放卡顿甚至无法播放的问题。为了解决这一问题,现有技术中提出了在终端设备侧通过实时的视频超分辨率技术(即将低分辨率图像转换为高分辨率图像的技术),为用户提供高分辨率视频,以减少高分辨率视频播放对网络信号质量的依赖。
现有技术中,一般是基于RGB运算模型实现实时视频超分辨率技术,即将数据格式为RGB格式的视频数据输入至RGB运算模型中进行处理,以得到更高分辨率的视频数据。但对于这种方法,需要计算R(Red,红)、G(Green,绿)、B(Blue,蓝)三个通道的数据,运算量较大,运算时间较长,容易出现视频播放卡顿的情况。
发明内容
本发明提供一种视频处理方法及装置、终端设备、计算机可读存储介质,以便在一定程度上解决现有技术中在进行实时视频超分辨率处理时,由于数据运算量大,运算时间较长,导致易出现视频播放卡顿的问题。
在本发明实施的第一方面,提供了一种视频处理方法,应用于终端设备,所述视频处理方法包括:
在第一视频的数据格式为YUV格式的情况下,获取所述第一视频的第一Y分量视频数据;
将所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据;其中,所述第一Y分量视频数据输入至所述目标视频转换模型之前的分辨率小于所述目标分辨率;
根据所述第二Y分量视频数据与所述第一视频,生成分辨率为所述目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频。
可选地,所述根据所述第二Y分量视频数据与所述第一视频,生成分辨率为所述目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频,包括:
通过预设插值算法,将所述第一视频转换为数据格式为YUV格式,且分辨率为所述目标分辨率的第三视频;
将所述第二Y分量视频数据与所述第三视频进行合成处理,生成所述第二视频。
可选地,所述预设插值算法包括:最邻近插值算法、双线性插值算法和双三次插值算法中的一种。
可选地,所述将所述第二Y分量视频数据与所述第三视频进行合成处理,生成所述第二视频,包括:
获取所述第三视频的第三Y分量视频数据;
对于同一视频帧,将所述第三Y分量视频数据中每一像素的数值与所述第二Y分量视频数据中相同位置处的像素的数值求和,获得第四Y分量视频数据;
将所述第四Y分量视频数据与所述第三视频中的UV分量视频数据进行组合,生成所述第二视频。
可选地,所述获取所述第一视频的第一Y分量视频数据,包括:
通过图形处理器获取所述第一视频的第一Y分量视频数据,并将所述第一Y分量视频数据存储至预先申请的共享硬件内存地址中;
所述将所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据,包括:
通过嵌入式神经网络处理器从所述共享硬件内存地址中获取所述第一Y分量视频数据,并将获取的所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据。
可选地,所述终端设备中存储有至少两个视频转换模型,不同视频转换模型用于将输入的Y分量视频数据转换为不同分辨率的视频数据;
在所述将所述第一Y分量视频数据输入至目标视频转换模型中之前,所述视频处理方法还包括:
在所述至少两个视频转换模型中,确定与所述目标分辨率匹配的视频转换模型;
将与所述目标分辨率匹配的视频转换模型确定为所述目标视频转换模型。
可选地,在所述获取所述目标视频的第一Y分量视频数据之前,所述视频处理方法还包括:
接收用户在视频播放界面对分辨率的选择操作;
响应于所述选择操作,在用户选择的分辨率大于所述第一视频的当前分辨率的情况下,将所述用户选择的分辨率确定为所述目标分辨率。
在本发明实施的第二方面,提供了一种视频处理装置,应用于终端设备,所述视频处理装置包括:
获取模块,用于在第一视频的数据格式为YUV格式的情况下,获取所述第一视频的第一Y分量视频数据;
转换模块,用于将所述获取模块获取的所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据;其中,所述第一Y分量视频数据输入至所述目标视频转换模型之前的分辨率小于所述目标分辨率;
生成模块,用于根据通过所述转换模块得到的所述第二Y分量视频数据与所述第一视频,生成分辨率为所述目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频。
可选地,所述生成模块包括:
第一转换单元,用于通过预设插值算法,将所述第一视频转换为数据格式为YUV格式,且分辨率为所述目标分辨率的第三视频;
生成单元,用于将所述第二Y分量视频数据与通过所述转换单元得到的所述第三视频进行合成处理,生成所述第二视频。
可选地,所述预设插值算法包括:最邻近插值算法、双线性插值算法和双三次插值算法中的一种。
可选地,所述生成单元包括:
获取子单元,用于获取所述第三视频的第三Y分量视频数据;
处理子单元,用于对于同一视频帧,将所述获取子单元获取的所述第三Y分量视频数据中每一像素的数值与所述第二Y分量视频数据中相同位置处的像素的数值求和,获得第四Y分量视频数据;
生成子单元,用于将所述处理子单元获得的所述第四Y分量视频数据与所述第三视频中的UV分量视频数据进行组合,生成所述第二视频。
可选地,所述获取模块包括:
存储单元,用于通过图形处理器获取所述第一视频的第一Y分量视频数据,并将所述第一Y分量视频数据存储至预先申请的共享硬件内存地址中;
所述转换模块包括:
第二转换单元,用于通过嵌入式神经网络处理器从所述共享硬件内存地址中获取所述存储单元存储的所述第一Y分量视频数据,并将获取的所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据。
可选地,所述终端设备中存储有至少两个视频转换模型,不同视频转换模型用于将输入的Y分量视频数据转换为不同分辨率的视频数据;
所述视频处理装置还包括:
第一确定模块,用于在所述至少两个视频转换模型中,确定与所述目标分辨率匹配的视频转换模型;
第二确定模块,用于将所述第一确定模块确定的与所述目标分辨率匹配的视频转换模型确定为所述目标视频转换模型。
可选地,所述视频处理装置还包括:
接收模块,用于接收用户在视频播放界面对分辨率的选择操作;
第三确定模块,用于响应于所述接收模块接收到的所述选择操作,在用户选择的分辨率大于所述第一视频的当前分辨率的情况下,将所述用户选择的分辨率确定为所述目标分辨率。
在本发明实施的第三方面,还提供了一种终端设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如第一方面所述的视频处理方法中的步骤。
在本发明实施的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的视频处理方法。
在本发明实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如第一方面所述的视频处理方法。
针对在先技术,本发明具备如下优点:
本发明实施例中,在进行视频超分辨处理时,是提取视频中的Y分量视频数据,将Y分量视频数据输入至视频转换模型中进行处理,这样,相比于现有技术中将整个视频(即R、G、B三个通道的视频数据)输入至模型中进行处理,本发明实施例中模型所要处理的视频数据量缩减至原来的三分之一,同时计算时间也会缩减至原来的三分之一,提高了运算速度,降低了视频超分辨处理过程发生视频播放卡顿的概率。此外,视频数据处理量的减少,还可以节省终端设备功耗,延长终端设备电量的使用时长。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为本发明实施例提供的一种视频处理方法的流程示意图;
图2为本发明实施例提供的另一种视频处理方法的流程示意图;
图3为本发明实施例提供的像素位置的示意图;
图4为本发明实施例提供的视频超分辨率处理过程的示例流程示意图;
图5为本发明实施例提供的一种视频处理装置的框图;
图6为本发明实施例提供的另一种视频处理装置的框图;
图7为本发明实施例提供的终端设备的框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解的是,还可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是本发明实施例提供的一种视频处理方法的流程示意图,该视频处理方法应用于终端设备,该终端设备可以是手机、平板电脑、台式电脑、笔记本电脑、掌上电脑以及车载终端等。
如图1所示,该视频处理方法可以包括:
步骤101:在第一视频的数据格式为YUV格式的情况下,获取第一视频的第一Y分量视频数据。
其中,YUV中的Y表示亮度(Luminance或Luma),也就是灰阶值;YUV中的UV共同表示彩度的色度(Chrominance或Chroma)。颜色是由亮度和色度共同表示的,色度是不包括亮度在内的颜色性质。
其中,第一视频为彩色视频。在第一视频为YUV格式时,可以获取其Y分量视频数据(即第一Y分量视频数据),也就是亮度分量视频数据,因为Y分量视频数据只有亮度参数而没有彩度的色度参数,因此,Y分量视频数据可以理解为没有彩度的黑白视频图像或灰度视频图像。其中,黑白灰三个颜色无彩度,只有亮度。
其中,在第一视频的数据格式非YUV格式的情况下,可以将第一视频转换为YUV格式的视频数据。例如,第一视频的数据格式为RGB格式,则可以将RGB格式的第一视频转换为YUV格式的视频。可选地,可以基于RGB与YUV之间的转换公式,实现两种格式之间的转换。其中,RGB与YUV之间的转换公式有多种,可根据实际需求进行选择。
其中,一般将RGB转换为YUV的转换公式可以包括:将R、G、B三个通道数据转换得到Y分量数据的第一公式、将R、G、B三个通道数据转换得到U分量数据的第二公式以及将R、G、B三个通道数据转换得到V分量数据的第三公式。也就是说,在基于转换公式,将RGB格式的视频转换为YUV格式的视频时,是根据R、G、B三个通道的视频数据,分别得到Y分量视频数据、U分量视频数据和V分量视频数据,而在YUV格式的视频中,每个像素是以三个Y、U、V三个分量视频数据组成的向量形式进行保存的,且三个分量视频数据按照预设顺序进行排列,因此基于此,可以从YUV格式的视频中获得Y分量视频数据。
步骤102:将第一Y分量视频数据输入至目标视频转换模型中,通过目标视频转换模型将第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据。
其中,第一Y分量视频数据输入至目标视频转换模型之前的分辨率小于目标分辨率。
人眼对色度的敏感程度要远低于对亮度的敏感程度,也就是说在将一个低分辨率视频调整为高分辨率视频后,对于人眼而言,亮度的变化要远大于色度的变化,因此,在视频超分辨率处理中,本发明实施例优选将更重要的Y分量视频数据输入至目标视频转换模型中,以得到分辨率更高的Y分量视频数据(对应第二Y分量视频数据)。可以理解的是,模型输出的Y分量视频数据依旧是黑白视频图像。其中,这里所述的目标视频转换模型为预先训练好的、仅处理Y分量视频数据的神经网络模型。可选地,该目标视频转换模型可以是SRCNN(Super Resolution Convolutional Neural Networks,超分辨率卷积神经网络)模型。该模型是end-to-end(端到端)的超分算法。
其中,高分辨率(High Definition,简称HD)是指垂直分辨率大于或等于720的分辨率,如1280×720、1920×1080,其中,1280×720中的“720”和1920×1080中的“1080”为垂直分辨率。对应的,本发明实施例中,低分辨率是指垂直分辨率小于720的分辨率,如480×360、960×540,其中,480×360中的“360”和960×540中的“540”为垂直分辨率。
可选地,在进行模型训练时,可以将同一视频的高分辨率Y分量视频数据和低分辨率Y分量视频数据作为样本数据进行训练。例如,将低分辨率Y分量视频数据输入至模型中,获得高分辨率Y分量视频数据,然后将模型输出的高分辨率Y分量视频数据与样本高分辨率Y分量视频数据进行对比,并基于对比结果,调整模型参数。之后进行下一次学习训练,直到对比结果达到期望结果为止或训练次数达到预设次数为止。
可选地,目标视频转换模型可以是卷积神经网络模型、循环神经网络模型或生成式对抗网络模型等,具体可根据实际需求选择,本发明实施例对此不进行限定。
步骤103:根据第二Y分量视频数据与第一视频,生成分辨率为目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频。
由于目标视频转换模型输出的第二Y分量视频数据是黑白视频图像,缺少彩度的色度参数(即缺少UV分量视频数据),而第一视频中包括彩度的色度参数,因此,为保证视频的完整性,本发明实施例中还可以根据第二Y分量视频数据和第一视频,生成分辨率为目标分辨率且包括亮度参数(对应Y分量视频数据)和彩度的色度参数(对应UV分量视频数据)的第二视频,即生成提高了分辨率的完整视频。
综上所述,本发明实施例中,在进行视频超分辨处理时,是提取视频中的Y分量视频数据,将Y分量视频数据输入至视频转换模型中进行处理,这样,相比于现有技术中将整个视频(即R、G、B三个通道的视频数据)输入至模型中进行处理,本发明实施例中模型所要处理的视频数据量缩减至原来的三分之一,同时计算时间也会缩减至原来的三分之一,提高了运算速度,降低了视频超分辨处理过程发生视频播放卡顿的概率。此外,视频数据处理量的减少,还可以节省终端设备功耗,延长终端设备电量的使用时长。
图2是本发明实施例提供的一种视频处理方法的流程示意图。该视频处理方法应用于终端设备。
如图2所示,该视频处理方法可以包括:
步骤201:在第一视频的数据格式为YUV格式的情况下,获取第一视频的第一Y分量视频数据。
关于步骤201的解释说明,可参考前一实施例中对步骤101的具体描述,为避免重复,这里便不再赘述。
步骤202:将第一Y分量视频数据输入至目标视频转换模型中,通过目标视频转换模型将第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据。
关于步骤202的解释说明,可参考前一实施例中对步骤102的具体描述,为避免重复,这里便不再赘述。
步骤203:通过预设插值算法,将第一视频转换为数据格式为YUV格式,且分辨率为目标分辨率的第三视频。
由于目标视频转换模型输出的第二Y分量视频数据是黑白视频图像,缺少彩度的色度参数(即缺少UV分离视频数据),而第一视频中包括彩度的色度参数,因此,为保证视频的完整性,本发明实施例可以基于第一视频和第二Y分量视频数据,通过合成处理手段,生成分辨率提高的完整视频。
但由于第二Y分量视频数据与第一视频的分辨率不同,也就是像素数量不同,不便于进行合成处理,因此本发明实施例中,可以通过预设插值算法,将第一视频转换为分辨率为目标分辨率的第三视频,使得参与合成处理的两组视频数据的像素数量相同,从而便于进行相同位置上的像素的合成处理。
通过插值算法得到的高分辨率视频,相比于通过模型运算(模型运算精度更高)得到的高分辨率图像,图像质量稍差,但由于插值算法相对简单且计算量较小、运算时间短,又由于合成处理是为了补全视频彩度的色度参数,而前面也提到人眼对色度的敏感程度较低,因此,可以在牺牲一定图像质量的基础上,通过计算量较小的插值算法快速得到高分辨率视频图像,以减少数据处理量以及处理时长。
可选地,这里所述的预设插值算法可以包括:最邻近插值算法、双线性插值算法和双三次插值算法中的一种。当然可以理解的是,该预设插值算法还可以是其他可用的插值算法,具体情况可根据实际需求选择。
其中,为了进行相同数据格式的视频之间的合成处理,第三视频的数据格式应为YUV格式,因此,在第一视频的数据格式非YUV格式的情况下,可以在将第一视频转换为第三视频时,也进行数据格式的转换。
步骤204:将第二Y分量视频数据与数据格式为YUV格式的第三视频进行合成处理,生成分辨率为目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频。
本步骤通过将第二Y分量视频数据与由第一视频转换得到的相同分辨率的第三视频进行合成处理,生成分辨率提高且完整的第二视频,实现了对第一视频的超分辨率处理。
本发明实施例中,在进行视频超分辨处理时,是将Y分量视频数据输入至模型中,得到相比原视频分辨率更高的Y分量视频数据,这样,相比于现有技术中将整个视频(即R、G、B三个通道的视频数据)输入至模型中进行处理,模型所要处理的视频数据量得到了降低,从而提高了运算速度和处理时长,降低了视频超分辨处理过程发生视频播放卡顿的概率。此外,本发明实施例通过插值算法将原视频的分辨率提高,然后根据提高分辨率的Y分量视频数据和提高分辨率的原视频,得到分辨率提高且完整的视频。由于插值算法相比于模型运算,相对简单且计算量较小,因此也可以减少数据处理量,优化运算时长,有利于降低视频超分辨处理过程发生视频播放卡顿的概率。进一步地,视频数据处理量的减少,还可以节省终端设备功耗,延长终端设备电量的使用时长。
可选地,在得到第二视频后,可以将其数据格式转换为可播放的格式,如纹理格式,以便终端设备可以对其进行播放。
可选地,一般是在网络信号强度较差时,由终端设备执行视频超分辨率处理,以便在难以从服务器获取数据量较大的高分辨视频的情况下,也能为用户提供高分辨视频,因此,本发明实施例中,可以是在网络信号强度小于或等于预设信号强度的情况下,执行步骤201。其中,这里所述的预设信号强度为用于表示较小网络信号强度的一个数值,具体数值可根据实际需求设置,本发明实施例对此不进行具体限定。
作为一种可选实施例,步骤204:将第二Y分量视频数据与第三视频进行合成处理,获得第二视频,可以包括:
步骤一:获取第三视频的第三Y分量视频数据。
在第三视频的数据格式为YUV格式的情况下,可以获取第三视频的Y分量视频数据(即第三Y分量视频数据)。
步骤二:对于同一视频帧,将第三Y分量视频数据中每一像素的数值与第二Y分量视频数据中相同位置处的像素的数值求和,获得第四Y分量视频数据。
步骤三:将第四Y分量视频数据与第三视频中的UV分量视频数据进行组合,生成第二视频。
首先,本发明实施例中所述的合成处理是针对同一视频帧而言的。
其次,本发明实施例中所述的合成处理具体可以是像素值的叠加计算,也就是将第二Y分量视频数据中的每一像素的数值与第三视频中相同位置处的像素的数据求和,获得新的视频数据(即第二视频)。在具体叠加计算时,是Y分量之间进行叠加计算,U分量之间进行叠加计算以及V分量之间进行叠加计算。由于第二Y分量视频数据中仅有Y分量,因此只需将第二Y分量视频数据与第三视频中的Y分量视频数据进行叠加计算即可,然后将叠加计算结果(即第四分量视频数据)与第三视频中的UV分量视频数据组合在一起,即为第二视频。
本发明实施例中,叠加计算过程可以如下面公式所示:
rawYn=Yn+dit Yn;
rawVn=Vn;
rawUn=Un。
其中,Yn表示第三视频的第x帧视频图像中第n个像素的Y分量数值,dit Yn表示第二Y分量视频数据中第x帧视频图像中第n个像素的Y分量数值,rawYn表示第n个像素的Y分量数值叠加计算后的数值。
其中,Vn表示第三视频的第x帧视频图像中第n个像素的V分量数值,rawVn表示第n个像素的V分量数值叠加计算后的数值。
其中,Un表示第三视频的第x帧视频图像中第n个像素的U分量数值,rawUn表示第n个像素的U分量数值叠加计算后的数值。
其中,x与n均为大于或等于1的整数。
本发明实施例中所述的相同位置处的像素是指相同行和相同列的像素。例如,如图3中的a图所示,第二Y分量视频数据的第x帧视频图像包括A、B、C、D四个像素,四个像素以两行两列的方式排列。如图3中的b图所示,第三视频的第x帧视频图像包括A'、B'、C'、D'四个像素,四个像素也以两行两列的方式排列。像素A与像素A'均位于第一行和第一列,因此像素A与像素A'的位置相同;像素B与像素B'均位于第一行和第二列,因此像素B与像素B'的位置相同;像素C与像素C'均位于第二行和第一列,因此像素C与像素C'的位置相同;像素D与像素D'均位于第二行和第二列,因此,像素D与像素D'的位置相同。
为了更好地理解前述合成处理过程,下面通过示例性实施例进行进一步地解释说明。
假设,第一视频在视频解码后的数据格式为RGB格式,原分辨为540P(即960×540),目标分辨率为1080P(即1920×1080),最后需要得到分辨率为1080p且数据格式为RGB格式的第二视频。
首先,由于合成处理时需要分辨率为1080P且数据格式为YUV格式的视频数据,因此,需先将第一视频转换为分辨率为1080P且数据格式为YUV格式的第三视频。
具体的,可以先通过程序代码:vec3 color=texture(texture0,v_uv).rgb,获取第一视频中每个像素R、B、G三个通道的数值。其中,texture0表示第一视频;v_uv表示像素位置;“texture()”用于根据像素位置从第一视频中获取像素位置指示的像素的数值;“.rgb”用于指示获取像素R、B、G三个通道的数值;vec3 color表示获得的一个像素R、B、G三个通道的数值。
在获得第一视频中每个像素R、B、G三个通道的数值后,可以通过预设插值算法,将第一视频转换为分辨率为1080P且数据格式为RGB格式的第三视频。之后再将RGB格式的第三视频转换为YUV格式的视频。
其次,由于像素R、B、G三个通道的数值的取值范围均为[0,1],而像素Y分量数值的取值范围为[0,255],为便于计算,在进行合成处理前,可以将像素Y分量数值进行归一化处理,即:将Y分量数值转换为[0,1]之间的数值。
具体的,可以通过程序代码:float dltY=texture(textureY,v_uv).r/255.0实现像素Y分量数值的归一化处理。其中,textureY表示通过目标视频转换模型得到的1080P的第二分量视频数据;v_uv表示像素位置;“texture()”用于根据像素位置从第二Y分量视频数据中获取像素位置指示的像素的数值;“.r/255.0”用于指示对像素Y分量数值进行归一化处理;dltY表示归一化处理后的Y分量数值;float用于定义dltY的数据类型,即定义dltY为浮点型数据类型。
之后,可以通过下面程序代码实现第二Y分量视频数据与第三视频的合成处理(即叠加计算):
float rawY=0.299*color.r+0.587*color.g+0.114*color.b+dltY;
float rawV=0.500*color.r-0.419*color.g-0.081*color.b;
float rawU=-0.169*color.r-0.331*color.g+0.500*color.b。
其中,rawY表示像素Y分量数值叠加计算后的数值,rawV表示像素V分量数值叠加计算后的数值,rawU表示像素U分量数值叠加计算后的数值。
其中,“0.299*color.r+0.587*color.g+0.114*color.b”表示第三视频中像素R、G、B三个通道的数值转换得到的Y分量数值;“0.500*color.r-0.419*color.g-0.081*color.b”表示第三视频中像素R、G、B三个通道的数值转换得到的U分量数值,“-0.169*color.r-0.331*color.g+0.500*color.b”表示第三视频中像素R、G、B三个通道的数值转换得到的U分量数值。
其中,color.r表示像素R通道数值,color.g表示像素G通道数值,color.b表示像素B通道数值。
通过前述合成处理,得到分辨率为1080P且数据格式为YUV格式的第二视频,最后再将第二视频转换为RGB格式的视频即可,具体可以通过下面程序代码实现:
float R=rawY+1.403*rawV;
float G=rawY-0.343*rawU-0.714*rawV;
float B=rawY+1.770*rawU;
fragColor=vec4(R,G,B,1.0)。
其中,第一行程序代码用于基于像素Y分量数值和V分量数值,得到R通道数值。
其中,第二行程序代码用于基于像素Y分量数值、U分量数值和V分量数值,得到G通道数值。
其中,第二行程序代码用于基于像素Y分量数值和U分量数值,得到B通道数值。
其中,第四行程序代码用于将转换得到像素R、G、B三个通道数值整合在一起,形成最后需要得到的第二视频。其中,fragColor表示最后需要得到的第二视频,即分辨率为1080P且数据格式为RGB格式的第二视频;“vec4()”定义了一个包括四种元素的向量,四种元素分为像素R通道数值、像素G通道数值、B通道数值以及图像透明度(即1.0,表示透明度为1)。
需要说明的是,上述RGB与YUV之间的转换公式(包括将RGB转换为YUV和将YUV转换为RGB),不仅限于上述公式,还可以根据实际需求采用其他可用的转换公式。
上述合成处理过程,可以由终端设备中的着色器(Shader)实现。着色器是用来实现图像渲染的可编辑程序。
作为一种可选实施例,步骤201中的“获取第一视频的第一Y分量视频数据”,可以包括:
通过图形处理器(graphics processing unit,GPU)获取第一视频的第一Y分量视频数据,并将第一Y分量视频数据存储至预先申请的共享硬件内存地址中。
相应的,步骤202:将第一Y分量视频数据输入至目标视频转换模型中,通过目标视频转换模型将第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据,可以包括:
通过嵌入式神经网络处理器(NPU)从共享硬件内存地址中获取第一Y分量视频数据,并将获得的第一Y分量视频数据输入至目标视频转换模型中,通过目标视频转换模型将第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据。
现有技术中,在系统级芯片硬件设备中,不同设备可能具有不同的内存访问机制,因此,不同设备之间难以直接进行内存访问。例如,GPU处理视频数据后,是将视频数据存储至GPU指定内存中。若要使用GPU指定内存中的视频数据,终端设备需先申请一个内存地址,将GPU指定内存中的视频数据拷贝到申请的内存地址中。然后将申请的内存地址传递给人工智能软件开发工具包(即AI SDK)。AI SDK可以从申请的内存地址中,拷贝视频数据至NPU指定内存中。这样,整个过程需要执行两次拷贝操作,操作繁琐,花费时间长。其中,在AISDK中,AI为Artificial Intelligence的简称,中文名称为人工智能。SDK为SoftwareDevelopment Kit的简称,中文名称为软件开发工具包。
而本发明实施例中,通过共享内存技术,将GPU获得的第一Y分量视频数据,存储至预先申请的共享硬件内存地址中,而NPU可以直接取用共享硬件内存地址中的第一Y分量视频数据进行模型运算,这样可以减少两次视频数据的拷贝,节省视频拷贝时间,从而缩减视频超分辨率处理过程的整体计算时间以及降低终端设备的功耗。
其中,共享内存技术是指允许多个硬件设备共享同一份文件。若不使用共享内存技术,则意味着需要该文件的硬件设备,均须各自备有此文件的副本,如前面对现有技术的描述,NPU若需第一Y分量视频数据,则须第一Y分量视频数据的副本。可选地,本发明实施例中所述的共享内存技术可以是安卓ION技术。
为了更好地理解上述共享内存方案,下面以一示例性实施例进行进一步地解释说明。
如图4所示,该示例包括如下流程:
步骤401:解码第一视频,获得RGB格式的第一视频,然后进入步骤402。
步骤402:获取RGB格式的第一视频的视频帧,然后分别进入步骤403和步骤404。
其中,RGB格式的视频帧也是纹理格式的纹理视频帧。
步骤403:创建缓冲区,然后进入步骤405。
步骤404:申请AhardwareBuffer内存地址。
其中,AhardwareBuffer为共享硬件内存的名称。
步骤405:将RGB格式的视频帧转换为YUV格式的视频帧,然后进入步骤406。
步骤406:将转换得到的YUV格式的视频帧,存储于步骤403中创建的缓冲区,然后进入步骤407。
步骤407:获取YUV格式的视频帧中的Y分量视频数据,并将获取的Y分量视频数据存储至步骤404中申请得到的AhardwareBuffer内存地址中,然后进入步骤408。
步骤408:加载仅处理Y分量视频数据的模型,然后进入步骤409。
步骤408:将申请的AhardwareBuffer内存地址传递给AI SDK,并由AI SDK调用NPU执行模型计算,即:AI SDK控制NPU从申请的AhardwareBuffer内存地址获取Y分量视频数据,并将Y分量视频数据输入至仅处理Y分量视频数据的模型中进行模型运算。
作为一种可选实施例,终端设备中存储有至少两个视频转换模型,不同视频转换模型用于将输入的Y分量视频数据转换为不同分辨率的视频数据,也就是说,一个视频转换模型对应一种分辨率。例如,终端设备中存储有A、B两个视频转换模型,视频转换模型A用于将输入的Y分量视频数据转换为720P的视频数据,视频转换模型B用于将输入的Y分量视频数据转换为1080P的视频数据。
由于终端设备中存储有至少两个视频转换模型,且不同视频转换模型对应不同分辨率,因此,在进行视频超分辨率处理时,还需确定与目标分辨率匹配的视频转换模型(即目标视频转换模型),其具体实现方式可以如下所述:
在步骤202:将第一Y分量视频数据输入至目标视频转换模型中之前,该视频处理方法还可以包括:
在该至少两个视频转换模型中,确定与目标分辨率匹配的视频转换模型;并将与目标分辨率匹配的视频转换模型确定为目标视频转换模型。
可选地,视频转换模型可以打包在应用程序安装包中,终端设备在下载应用程序安装包并进行应用程序安装时,视频转换模型存储于终端设备中。视频转换模型还可以存储于服务器中,终端设备在执行视频超分辨率处理时,通过网络从服务器下载视频转换模型并进行存储。在完成本次视频超分辨率处理后,可以对该视频转换模型进行保留,以用于下次视频超分辨率处理,省去重新下载的操作。
作为一种可选实施例,在步骤201:在第一视频的数据格式为YUV格式的情况下,获取第一视频的第一Y分量视频数据之前,获取目标视频的第一Y分量视频数据之前,该视频处理方法还可以包括:
接收用户在视频播放界面对分辨率的选择操作;响应于选择操作,在用户选择的分辨率大于第一视频的当前分辨率的情况下,将用户选择的分辨率确定为目标分辨率。
本发明实施例中,目标分辨率可以是根据用户的选择操作确定的。
一般,在视频播放界面设置有分辨率选项,如360P(标清)、540P(高清)、720P(超清)、1080P(蓝光)等选项。用户可以根据自身需求进行选择,例如,当前为标清视频,用户想看图像质量更高的视频,则可以通过分辨率选项,将标清视频切换为高清视频,甚至分辨率更高的视频。但当前网络信号质量较差,高分辨视频播放卡顿时,用户也可以通过分辨率选项,将视频选择切换为低分辨率视频,如将高清视频切换为标清视频,以保证视频播放的流畅性。由此可见,用户在选择分辨率时,可能会选择更高的分辨率,也可能会选择更低的分辨率,而当用户选择更高分辨率的情况下,才有可能进行视频超分辨率处理,因此,终端设备在接收到用户对分辨率的选择操作;且确定用户选择的分辨率大于第一视频的当前分辨率的情况下,再将用户选择的分辨率确定为目标分辨率。
以上即为对本发明实施例提供的视频处理方法的描述。
综上所述,本发明实施例中,终端设备在进行实时的视频超分辨率处理的过程中,仅将Y分量视频数据输入模型中进行超分辨率运算,相比于现有技术,减少了模型的数据处理量和处理时长,降低了实时视频超分辨处理过程发生视频播放卡顿的概率。此外,本发明实施例中在Y分量视频数据的存储上,采用共享硬件内存方式进行存储,减少了视频数据的拷贝次数,节省了视频拷贝时间,进一步优化了实时视频超分辨率处理过程的整体处理时长。最后,视频数据处理量的减少以及视频数据拷贝过程的减少,还可以节省终端设备功耗,延长终端设备电量的使用时长。
图5是本发明实施例提供的一种视频处理装置的示意框图。该视频处理装置应用于终端设备。
如图5所示,所述视频处理装置500包括:
获取模块501,用于在第一视频的数据格式为YUV格式的情况下,获取所述第一视频的第一Y分量视频数据。
转换模块502,用于将所述获取模块501获取的所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据。
其中,所述第一Y分量视频数据输入至所述目标视频转换模型之前的分辨率小于所述目标分辨率。
生成模块503,用于根据通过所述转换模块502得到的所述第二Y分量视频数据与所述第一视频,生成分辨率为所述目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频。
可选地,如图6所示,所述生成模块503包括:
第一转换单元5031,用于通过预设插值算法,将所述第一视频转换为数据格式为YUV格式,且分辨率为所述目标分辨率的第三视频。
生成单元5032,用于将所述第二Y分量视频数据与通过所述第一转换单元5031得到的所述第三视频进行合成处理,生成所述第二视频。
可选地,所述预设插值算法包括:最邻近插值算法、双线性插值算法和双三次插值算法中的一种。
可选地,如图6所示,所述生成单元5032包括:
获取子单元50321,用于获取所述第三视频的第三Y分量视频数据。
处理子单元50322,用于对于同一视频帧,将所述获取子单元50321获取的所述第三Y分量视频数据中每一像素的数值与所述第二Y分量视频数据中相同位置处的像素的数值求和,获得第四Y分量视频数据。
生成子单元50323,用于将所述处理子单元50322获得的所述第四Y分量视频数据与所述第三视频中的UV分量视频数据进行组合,生成所述第二视频。
可选地,如图6所示,所述获取模块501包括:
存储单元5011,用于通过图形处理器获取所述第一视频的第一Y分量视频数据,并将所述第一Y分量视频数据存储至预先申请的共享硬件内存地址中。
所述转换模块502包括:
第二转换单元5021,用于通过嵌入式神经网络处理器从所述共享硬件内存地址中获取所述存储单元5011存储的所述第一Y分量视频数据,并将获取的所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据。
可选地,所述终端设备中存储有至少两个视频转换模型,不同视频转换模型用于将输入的Y分量视频数据转换为不同分辨率的视频数据。
如图6所示,所述视频处理装置500还包括:
第一确定模块504,用于在所述至少两个视频转换模型中,确定与所述目标分辨率匹配的视频转换模型。
第二确定模块505,用于将所述第一确定模块504确定的与所述目标分辨率匹配的视频转换模型确定为所述目标视频转换模型。
可选地,如图6所示,所述视频处理装置500还包括:
接收模块506,用于接收用户在视频播放界面对分辨率的选择操作。
第三确定模块505,用于响应于所述接收模块506接收到的所述选择操作,在用户选择的分辨率大于所述第一视频的当前分辨率的情况下,将所述用户选择的分辨率确定为所述目标分辨率。
本发明实施例中,在进行视频超分辨处理时,是提取视频中的Y分量视频数据,将Y分量视频数据输入至视频转换模型中进行处理,这样,相比于现有技术中将整个视频(即R、G、B三个通道的视频数据)输入至模型中进行处理,本发明实施例中模型所要处理的视频数据量缩减至原来的三分之一,同时计算时间也缩减至原来的三分之一,提高了运算速度,降低了视频超分辨处理过程发生视频播放卡顿的概率。此外,视频数据处理量的减少,还可以节省终端设备功耗,延长终端设备电量的使用时长。
对于上述装置实施例而言,由于其与方法实施例基本相似,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种终端设备。如图7所示,该终端设备包括处理器701、通信接口702、存储器703和通信总线704。其中,处理器701、通信接口702、存储器703通过通信总线704完成相互间的通信。
存储器703,用于存放计算机程序。
处理器701用于执行存储器703上所存放的程序时,实现如下步骤:
在第一视频的数据格式为YUV格式的情况下,获取所述第一视频的第一Y分量视频数据;
将所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据;其中,所述第一Y分量视频数据输入至所述目标视频转换模型之前的分辨率小于所述目标分辨率;
根据所述第二Y分量视频数据与所述第一视频,生成分辨率为所述目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频。
可选地,处理器701还用于实现如下步骤:
通过预设插值算法,将所述第一视频转换为数据格式为YUV格式,且分辨率为所述目标分辨率的第三视频;
将所述第二Y分量视频数据与所述第三视频进行合成处理,生成所述第二视频。
可选地,处理器701还用于实现如下步骤:
获取所述第三视频的第三Y分量视频数据;
对于同一视频帧,将所述第三Y分量视频数据中每一像素的数值与所述第二Y分量视频数据中相同位置处的像素的数值求和,获得第四Y分量视频数据;
将所述第四Y分量视频数据与所述第三视频中的UV分量视频数据进行组合,生成所述第二视频。
可选地,处理器701(此时处理器701为图形处理器)还用于实现如下步骤:获取所述第一视频的第一Y分量视频数据,并将所述第一Y分量视频数据存储至预先申请的共享硬件内存地址中;
处理器701(此时处理器701为嵌入式神经网络处理器)还用于实现如下步骤:从所述共享硬件内存地址中获取所述第一Y分量视频数据,并将获取的所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据。
可选地,所述终端设备中存储有至少两个视频转换模型,不同视频转换模型用于将输入的Y分量视频数据转换为不同分辨率的视频数据;
处理器701还用于实现如下步骤:
在所述至少两个视频转换模型中,确定与所述目标分辨率匹配的视频转换模型;
将与所述目标分辨率匹配的视频转换模型确定为所述目标视频转换模型。
可选地,处理器701还用于实现如下步骤:
接收用户在视频播放界面对分辨率的选择操作;
响应于所述选择操作,在用户选择的分辨率大于所述第一视频的当前分辨率的情况下,将所述用户选择的分辨率确定为所述目标分辨率。
上述终端设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的视频处理方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的视频处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,包含在本发明的保护范围内。

Claims (10)

1.一种视频处理方法,应用于终端设备,其特征在于,包括:
在第一视频的数据格式为YUV格式的情况下,获取所述第一视频的第一Y分量视频数据;
将所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据;其中,所述第一Y分量视频数据输入至所述目标视频转换模型之前的分辨率小于所述目标分辨率;
根据所述第二Y分量视频数据与所述第一视频,生成分辨率为所述目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频。
2.根据权利要求1所述的视频处理方法,其特征在于,所述根据所述第二Y分量视频数据与所述第一视频,生成分辨率为所述目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频,包括:
通过预设插值算法,将所述第一视频转换为数据格式为YUV格式,且分辨率为所述目标分辨率的第三视频;
将所述第二Y分量视频数据与所述第三视频进行合成处理,生成所述第二视频。
3.根据权利要求2所述的视频处理方法,其特征在于,所述将所述第二Y分量视频数据与所述第三视频进行合成处理,生成所述第二视频,包括:
获取所述第三视频的第三Y分量视频数据;
对于同一视频帧,将所述第三Y分量视频数据中每一像素的数值与所述第二Y分量视频数据中相同位置处的像素的数值求和,获得第四Y分量视频数据;
将所述第四Y分量视频数据与所述第三视频中的UV分量视频数据进行组合,生成所述第二视频。
4.根据权利要求1所述的视频处理方法,其特征在于,所述获取所述第一视频的第一Y分量视频数据,包括:
通过图形处理器获取所述第一视频的第一Y分量视频数据,并将所述第一Y分量视频数据存储至预先申请的共享硬件内存地址中;
所述将所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据,包括:
通过嵌入式神经网络处理器从所述共享硬件内存地址中获取所述第一Y分量视频数据,并将获取的所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据。
5.根据权利要求1所述的视频处理方法,其特征在于,所述终端设备中存储有至少两个视频转换模型,不同视频转换模型用于将输入的Y分量视频数据转换为不同分辨率的视频数据;
在所述将所述第一Y分量视频数据输入至目标视频转换模型中之前,所述视频处理方法还包括:
在所述至少两个视频转换模型中,确定与所述目标分辨率匹配的视频转换模型;
将与所述目标分辨率匹配的视频转换模型确定为所述目标视频转换模型。
6.根据权利要求1或5所述的视频处理方法,其特征在于,在所述获取所述目标视频的第一Y分量视频数据之前,所述视频处理方法还包括:
接收用户在视频播放界面对分辨率的选择操作;
响应于所述选择操作,在用户选择的分辨率大于所述第一视频的当前分辨率的情况下,将所述用户选择的分辨率确定为所述目标分辨率。
7.一种视频处理装置,应用于终端设备,其特征在于,包括:
获取模块,用于在第一视频的数据格式为YUV格式的情况下,获取所述第一视频的第一Y分量视频数据;
转换模块,用于将所述获取模块获取的所述第一Y分量视频数据输入至目标视频转换模型中,通过所述目标视频转换模型将所述第一Y分量视频数据转换为分辨率为目标分辨率的第二Y分量视频数据;其中,所述第一Y分量视频数据输入至所述目标视频转换模型之前的分辨率小于所述目标分辨率;
生成模块,用于根据通过所述转换模块得到的所述第二Y分量视频数据与所述第一视频,生成分辨率为所述目标分辨率且包括Y分量视频数据和UV分量视频数据的第二视频。
8.根据权利要求7所述的视频处理装置,其特征在于,所述生成模块包括:
第一转换单元,用于通过预设插值算法,将所述第一视频转换为数据格式为YUV格式,且分辨率为所述目标分辨率的第三视频;
生成单元,用于将所述第二Y分量视频数据与通过所述第一转换单元得到的所述第三视频进行合成处理,生成所述第二视频。
9.一种终端设备,其特征在于,包括:处理器、通信接口、存储器和通信总线;其中,处理器、通信接口以及存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如权利要求1至6任一项所述的视频处理方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6任一项所述的视频处理方法。
CN202211089940.3A 2022-09-07 2022-09-07 视频处理方法及装置、终端设备、计算机可读存储介质 Active CN115460461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211089940.3A CN115460461B (zh) 2022-09-07 2022-09-07 视频处理方法及装置、终端设备、计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211089940.3A CN115460461B (zh) 2022-09-07 2022-09-07 视频处理方法及装置、终端设备、计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN115460461A true CN115460461A (zh) 2022-12-09
CN115460461B CN115460461B (zh) 2024-04-26

Family

ID=84302797

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211089940.3A Active CN115460461B (zh) 2022-09-07 2022-09-07 视频处理方法及装置、终端设备、计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN115460461B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100177162A1 (en) * 2009-01-15 2010-07-15 Charles Macfarlane Method and system for enabling 3d video and image processing using one full resolution video stream and one lower resolution video stream
CN102722875A (zh) * 2012-05-29 2012-10-10 杭州电子科技大学 一种基于视觉注意和质量可变的图像超分辨率重建方法
CN110062282A (zh) * 2019-03-18 2019-07-26 北京奇艺世纪科技有限公司 一种超分辨率视频重建方法、装置及电子设备
CN111314741A (zh) * 2020-05-15 2020-06-19 腾讯科技(深圳)有限公司 视频超分处理方法、装置、电子设备及存储介质
CN114845138A (zh) * 2022-04-26 2022-08-02 三星电子(中国)研发中心 自适应流媒体的超分辨率重建方法和装置及服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100177162A1 (en) * 2009-01-15 2010-07-15 Charles Macfarlane Method and system for enabling 3d video and image processing using one full resolution video stream and one lower resolution video stream
CN102722875A (zh) * 2012-05-29 2012-10-10 杭州电子科技大学 一种基于视觉注意和质量可变的图像超分辨率重建方法
CN110062282A (zh) * 2019-03-18 2019-07-26 北京奇艺世纪科技有限公司 一种超分辨率视频重建方法、装置及电子设备
CN111314741A (zh) * 2020-05-15 2020-06-19 腾讯科技(深圳)有限公司 视频超分处理方法、装置、电子设备及存储介质
CN114845138A (zh) * 2022-04-26 2022-08-02 三星电子(中国)研发中心 自适应流媒体的超分辨率重建方法和装置及服务器

Also Published As

Publication number Publication date
CN115460461B (zh) 2024-04-26

Similar Documents

Publication Publication Date Title
CN109783178B (zh) 一种界面组件的颜色调整方法、装置、设备和介质
KR100547812B1 (ko) 컬러 참조테이블을 사용하여 화소데이터의 컬러모델을변환하는 장치 및 방법
CN110717868B (zh) 视频高动态范围反色调映射模型构建、映射方法及装置
CN112788235B (zh) 图像处理方法、装置、终端设备及计算机可读取存储介质
CN110335330B (zh) 图像模拟生成方法及其系统、深度学习算法训练方法及电子设备
CN112215760A (zh) 一种图像处理的方法及装置
CN110012336B (zh) 直播界面的图片配置方法、终端及装置
KR20200011000A (ko) 증강 현실 프리뷰 및 위치 추적을 위한 장치 및 방법
US20230300475A1 (en) Image processing method and apparatus, and electronic device
CN113742025A (zh) 页面生成方法、装置、设备和存储介质
CN110049347B (zh) 在直播界面配置图像的方法、系统、终端和装置
EP3453177A1 (en) Method and apparatus for encoding/decoding a scalar integer into a parameter representative of a pivot points of a piece-wise linear function.
CN112565887B (zh) 一种视频处理方法、装置、终端及存储介质
CN114286172A (zh) 数据处理方法及装置
US20060146366A1 (en) Apparatus and method for enhancing image quality of a mobile communication terminal
CN115460461B (zh) 视频处理方法及装置、终端设备、计算机可读存储介质
CN115293994B (zh) 图像处理方法、装置、计算机设备和存储介质
CN114217691B (zh) 一种显示器驱动方法、装置、电子设备及智能显示系统
CN114782250A (zh) 视频图像处理方法、装置、电子设备及存储介质
CN114677464A (zh) 图像处理方法、图像处理装置、计算机设备及存储介质
CN115546036A (zh) 一种图像增强方法、装置、设备及计算机可读存储介质
WO2020091939A1 (en) Method and apparatus for an hdr hardware processor inline to hardware encoder and decoder
TW200538933A (en) Method and apparatus for vertically scaling pixel data
US11749232B2 (en) Image generation apparatus and image generation method
TWI825410B (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
GR01 Patent grant
GR01 Patent grant