CN107770618B - 一种图像处理方法、装置及存储介质 - Google Patents

一种图像处理方法、装置及存储介质 Download PDF

Info

Publication number
CN107770618B
CN107770618B CN201711066272.1A CN201711066272A CN107770618B CN 107770618 B CN107770618 B CN 107770618B CN 201711066272 A CN201711066272 A CN 201711066272A CN 107770618 B CN107770618 B CN 107770618B
Authority
CN
China
Prior art keywords
image
frame
video file
generate
color
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.)
Active
Application number
CN201711066272.1A
Other languages
English (en)
Other versions
CN107770618A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201711066272.1A priority Critical patent/CN107770618B/zh
Publication of CN107770618A publication Critical patent/CN107770618A/zh
Application granted granted Critical
Publication of CN107770618B publication Critical patent/CN107770618B/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
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)

Abstract

本发明实施例公开了一种图像处理方法、装置及存储介质,其中该方法包括:获取单路视频流的视频文件,视频文件中的每一帧图像为彩色图像和该彩色图像对应的灰度图像拼接而成;将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;对数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;将彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;根据合成图像生成目标视频文件,显示目标视频文件。实现了只需对单路视频流的视频文件进行处理,避免了对双路视频的同步硬件解码以及将图像从GPU拷贝到CPU进行合成等操作,提高了终端进行图像处理的效率。

Description

一种图像处理方法、装置及存储介质
技术领域
本发明涉及数据处理技术领域,具体涉及一种图像处理方法、装置及存储介质。
背景技术
随着终端的不断普及,以及终端技术的迅速发展,终端提供的应用越来越丰富,例如,直播应用,用户可通过在终端上开启直播应用与主播面对面即时互动,观看主播即时放送精彩节目,用户还可以根据自己的喜好给主播赠送礼物,并在终端上呈现礼物特效。
现有技术中,以呈现礼物特效为例,由于礼物特效一般都需要透明通道,所以需要采用双路视频的方案,即一路用于传输由彩色图像(也称为三原色(Red Green Blue,RGB)图像)图像帧组成的视频,另外一路用于传输由灰度图像帧组成的视频。当终端接收到赠送礼物的请求时,需要获取这两路视频,并在GPU内,对这两路视频的图像帧进行同步硬件解码,分别得到灰度图像(也称为A图像)和RGB图像,然后,将A图像和RGB图像从图形处理器(Graphics Processing Unit,GPU)拷贝到中央处理器(Central Processing Unit,CPU),在CPU内将A图像与RGB图像进行合成,并在终端进行显示,达到呈现礼物特效的目的。
由于双路视频的处理方案中,对这两路视频中每一帧图像进行硬件解码时需要进行同步,而要达到同步较难实现,例如需要等待一定时间才能实现同步,且硬件解码得到的A图像和RGB图像需要从GPU拷贝到CPU进行合成,需要占用CPU对图像合成的开销;另外直播应用本身需要硬件解码一路视频直播流,再加上另外需要硬件解码这两路视频,在很多终端机型上会存在兼容性问题,因此,使得终端处理起来的效率非常低下。
发明内容
本发明实施例提供一种图像处理方法、装置及存储介质,旨在提高终端进行图像处理的效率。
为解决上述技术问题,本发明实施例提供以下技术方案:
一种图像处理方法,包括:
获取单路视频流的视频文件,所述视频文件中的每一帧图像为彩色图像和所述彩色图像对应的灰度图像拼接而成;
将所述视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;
对所述数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;
将所述彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;
根据所述合成图像生成目标视频文件,显示所述目标视频文件。
一种图像处理装置,包括:
第一获取单元,用于获取单路视频流的视频文件,所述视频文件中的每一帧图像为彩色图像和所述彩色图像对应的灰度图像拼接而成;
解码单元,用于将所述视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;
切割单元,用于对所述数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;
合成单元,用于将所述彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;
显示单元,用于根据所述合成图像生成目标视频文件,显示所述目标视频文件。
一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述图像处理方法中的步骤。
本发明实施例通过获取单路视频流的视频文件,该视频文件中的每一帧图像为彩色图像和彩色图像的灰度图像拼接而成。然后将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像。再对数据图像进行切割处理,生成每一帧图像对应的彩色图像和灰度图像,以及将彩色图像和灰度图像进行合成处理,生成每一帧图像对应的合成图像。最后根据合成图像生成目标视频文件,显示目标视频文件。实现了只需对单路视频流的视频文件进行处理,避免了对双路视频的同步硬件解码以及将图像从GPU拷贝到CPU进行合成等操作,提高了终端进行图像处理的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的图像处理系统的场景示意图;
图2是本发明实施例提供的图像处理方法的流程示意图;
图3是本发明实施例提供的图像拼接示意图;
图4是本发明实施例提供的图像合成示意图;
图5是本发明实施例提供的直播应用显示界面示意图;
图6是本发明实施例提供的通过直播应用赠送礼物示意图;
图7是本发明实施例提供的通过即时通信发送动画示意图;
图8是本发明实施例提供的图像处理方法的另一流程示意图;
图9是本发明实施例提供的图像处理装置的结构示意图;
图10是本发明实施例提供的图像处理装置的另一结构示意图;
图11是本发明实施例提供的图像处理装置的另一结构示意图;
图12是本发明实施例提供的图像处理装置的另一结构示意图;
图13是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行的步骤及符号来说明,除非另有述明。因此,这些步骤及操作将有数次提到由计算机执行,本文所指的计算机执行包括了由代表了以一结构化型式中的数据的电子信号的计算机处理单元的操作。此操作转换该数据或将其维持在该计算机的内存系统中的位置处,其可重新配置或另外以本领域测试人员所熟知的方式来改变该计算机的运作。该数据所维持的数据结构为该内存的实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域测试人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明实施例提供一种图像处理方法、装置及存储介质。
请参阅图1,图1为本发明实施例所提供的图像处理系统的场景示意图,该图像处理系统可以包括图像处理装置,该图像处理装置具体可以集成在平板电脑、手机、笔记本电脑、台式电脑等具备储存单元并安装有微处理器而具有运算能力的终端中,主要用于获取单路视频流的视频文件,该视频文件中的每一帧图像为彩色图像和彩色图像对应的灰度图像拼接而成,获取单路视频流的视频文件的触发条件,可以是在接收到用户输入的图像获取请求时触发。然后,将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;对数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;再将彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;最后根据合成图像生成目标视频文件,显示目标视频文件,等等。
此外,该图像处理系统还可以包括服务器,图像处理装置可以将视频文件上传至服务器,由服务器存储该视频文件,当图像处理装置需要获取该视频文件时,可以从服务器获取等。
以下分别进行详细说明。
在本实施例中,将从图像处理装置的角度进行描述,该图像处理装置具体可以集成在平板电脑、手机等具备储存单元并安装有微处理器而具有运算能力的终端中。
一种图像处理方法,包括:获取单路视频流的视频文件,视频文件中的每一帧图像为彩色图像和彩色图像对应的灰度图像拼接而成;将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;对数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;将彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;根据合成图像生成目标视频文件,显示目标视频文件。
请参阅图2,图2是本发明第一实施例提供的图像处理方法的流程示意图。该图像处理方法包括:
在步骤S101中,获取单路视频流的视频文件;
本实施例中,图像处理方法可以应用在使用直播应用时赠送礼物、使用即时通信发送动画等场景。
图像处理装置可以是在接收到用户输入的图像获取请求时,获取单路视频流的视频文件,例如,用户在直播应用的赠送礼物显示界面内,点击某个礼物的显示图标,生成图像获取请求,从而触发图像处理装置获取该礼物对应的视频文件。图像处理装置也可以是间隔预设时间或在指定时间获取单路视频流的视频文件,例如,当到元旦节、中秋节或国庆节等节日时,图像处理装置自动获取每个节日对应的视频文件。
其中,视频文件包括多帧图像,视频文件中的每一帧图像为彩色图像(即RGB图像)和该彩色图像对应的灰度图像拼接而成,该RGB图像和灰度图像可以是左右拼接,如图3(a)所示,可以是左边是RGB图像,右边是灰度图像,也可以是右边是RGB图像,左边是灰度图像。该RGB图像和灰度图像也可以是上下拼接,如图3(b),可以是上边是RGB图像,下边是灰度图像,也可以是下边是RGB图像,上边是灰度图像。可选地,RGB图像和灰度图像的形状及大小一致,拼接后可以是左右均分或上下均分,RGB图像和灰度图像的拼接顺序、形状及大小等可根据实际需要进行灵活设置,具体此处不作限定。
为了提高效率,图像处理装置可预先制作视频文件,将视频文件存储在图像处理装置本地,或者将视频文件上传至服务器,由服务器存储该视频文件。可以理解的是,图像处理装置可以既将视频文件存储在本地,又将视频文件存储在服务器,当图像处理装置需要获取该视频文件时,可以从服务器或本地获取到。
在某些实施方式中,图像处理装置获取视频文件之前,制作视频文件的步骤可包括:(1)获取序列帧样本图像;
(2)对序列帧样本图像进行通道分离,生成每帧样本图像对应的彩色通道和灰度通道;
(3)为彩色通道和灰度通道设置相同的背景颜色,生成每帧样本图像对应的目标彩色图像和目标灰度图像;
(4)将每帧样本图像对应的目标彩色图像和目标灰度图像进行拼接,生成序列帧拼接图像;
(5)根据序列帧拼接图像生成单路视频流的视频文件。
图像处理装置可以制作多种类型的视频文件,根据不同礼物(例如,勋章、玫瑰花等)、不同表情(例如,大笑、流汗等)或不同节日的祝贺动画(例如,月饼、汤圆等)等设置对应的样本图像,并分别对不同的样本图像进行处理,生成不同类型的视频文件。
具体地,首先获取序列帧样本图像,该序列帧样本图像即为多帧同一类型的样本图像,例如,可以通过图形视频处理软件(AdobeAfter Effects,AE)制作需要的样本图像,制作完成后从AE中导出包含RGB通道和灰度通道(也称为alpha通道,或者称为透明通道)的序列帧样本图像,例如,该序列帧样本图像可以是png类型。可以理解的是,序列帧样本图像还可以直接从服务器下载,或通过其他方式获取,具体此处不作限定。
然后,对每一帧样本图像分别进行通道分离,生成目标RGB通道和目标灰度通道,例如,利用图像处理软件imageMagick对样本图像进行通道分离,或者是通过通过其他方式对样本图像进行通道分离。
得到每一帧样本图像对应的目标RGB通道和目标灰度通道后,分别为每一帧样本图像对应的RGB通道和灰度通道设置相同的背景颜色,生成每一帧样本图像对应的目标RGB图像和目标灰度图像。可选地,可以为RGB通道和灰度通道均设置黑色背景颜色,分别得到目标RGB图像和目标灰度图像可以是jpg格式的图像。可以理解的是,背景颜色及图像格式还可以根据具体情况进行灵活设置,具体此处不作限定。
其次,将每帧样本图像对应的目标RGB图像和目标灰度图像分别进行拼接,可以是左右拼接或上下拼接,生成序列帧拼接图像。
最后,根据序列帧拼接图像生成单路视频流的视频文件,例如,可以利用音视频软件ffmpeg将序列帧拼接图像合成为一个mp4视频文件,或其他格式的视频文件。
在步骤S102中,将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;
在得到视频文件后,将视频文件中的每一帧图像进行解码,在一种实施方式中,可以是将视频文件中的每一帧图像进行硬件解码,生成每一帧图像对应的数据图像。该硬件解码为利用GUP资源解码视频流的解码方法,由于硬件解码效率较高,因此可提高图像处理效率。
在另一种实施方式中,图像处理装置可以将视频文件中的每一帧图像进行软件解码,生成每一帧图像对应的数据图像。该软件解码为利用CUP资源解码视频流的解码方法。
可选地,软件解码的过程中可包括:通过预设软件解码将视频文件解码为色彩(color components in SECAM and PAL color spaces,YUV)格式;将解码为YUV格式后的视频文件转换为三原色RGB格式;对转换为RGB格式后的视频文件中的每一帧图像进行转换处理,生成每一帧图像对应的数据图像。
具体地,预设软件解码的类型可根据实际需要进行灵活设置,例如,预设软件解码可以是cisco开源的openh264或ffmpeg开源的libavcodec等,具体此处不作限定。首先通过预设软件解码将视频文件解码为YUV格式,例如,YUV420p格式,或者是其他的YUV格式。
需要说明的是,软件解码可以使用cisco开源的openh264或ffmpeg开源的libavcodec等,由于大部分直播应用已经引入了ffmpeg库,若再次引入则可能会带来符号冲突,因此可优先选择cisco开源的openh264进行软件解码。
然后,将YUV格式的视频文件转换为RGB格式,再对RGB格式的视频文件中的每一帧图像分别进行转换处理,生成每一帧图像对应的数据图像。
需要说明的是,图像处理装置可以仅具有硬件解码功能,通过对视频文件中的每一帧图像分别进行硬件解码,生成每一帧图像对应的数据图像。或者是,图像处理装置可以仅具有软件解码功能,通过对视频文件中的每一帧图像分别进行软件解码,生成每一帧图像对应的数据图像。也可以是,图像处理装置可以兼具备硬件解码功能和软件解码功能,优先对图像进行硬件解码,当硬件解码不成功时,再对图像进行软件解码;或者是,先获取图像处理装置对应的终端机型,当该终端机型为目标机型时,对图像进行硬件解码,当该终端机型不是目标机型时,对图像进行软件解码,该目标机型为能够兼容硬件解码所对应的机型。
在步骤S103中,对数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;
在得到数字图像后,对每一帧图像对应的数据图像进行切割,由于每一帧图像由RGB图像和灰度图像拼接而成,此时切割后可生成每一帧图像对应的RGB图像和灰度图像。
为了精准切割得到RGB图像和灰度图像,切割方式可以包括:将数据图像在预设纹理坐标上进行映射,生成映射参数;根据映射参数确定切割界限;根据切割界限将数据图像进行切割,生成彩色图像和灰度图像。
该切割可以是纹理切割,例如,使用图形程序接口(Open Graphics Library,OpenGL)在片元着色器里通过纹理坐标的方式对数字图像进行切割,得到RGB图像和灰度图像。其中,纹理实际上是一个二维数组,其元素是图像的颜色值,单个的颜色值被称为纹理元素或纹理像素,每一个纹理像素在纹理中都有一个唯一的地址,这个地址可以被认为是一个列和行的值,它们分别由U参数和V参数来表示。具体地,首先建立预设纹理坐标,该预设纹理坐标可以是处于二维平面的UV坐标,水平方向是U参数,垂直方向是V参数,UV坐标位于纹理空间中,通过纹理像素的地址映射到UV坐标中,可以定位数字图像上的任意一个像素。该预设纹理坐标的原点及各坐标点的取值此处不作限定,将数据图像在预设纹理坐标上进行映射,使得数字图像中的每个像素点在预设纹理坐标上均产生对应的映射参数。然后,根据映射参数确定切割界限,可以取原点与终点之间的中间值作为切割界限。再根据切割界限将数据图像进行切割,生成RGB图像和灰度图像。
在步骤S104中,将彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;
将切割得到每一帧图像对应的RGB图像和灰度图像分别进行合成,生成每一帧图像对应的合成图像,如图4所示。合成图像可以是透明图像,透明图像合成原理为:如4图中有两个黑色背景的图像,其中一个是只包含alpha通道的灰度图像(该灰度图像作为遮罩层),另一个是只包含RGB通道的RGB图像(该RGB图像作为被遮罩层),利用遮罩的方式合成为透明的合成图像。
在步骤S105中,根据合成图像生成目标视频文件,显示目标视频文件。
得到每一帧对应的合成图像后,即可生成目标视频文件,然后在显示界面内显示目标视频文件。例如,可以将视频文件渲染到图像处理装置系统预置的TextureView函数上,通过TextureView函数的setOpaque控件设置透明背景。达到了既能携带透明通道,又能实现高效播放目标视频文件的目的。
本实施例中,一方面,采用单路视频,只需要一个解码器,实现了只需对单路视频流的视频文件进行处理,避免了对双路视频进行硬件解码的同步问题;另一方面,硬件解码时所有的操作可以都在GPU内完成,不仅省去了将图像从GPU拷贝到CPU的拷贝开销,以及在CPU对图像进行合成的开销,也屏蔽了YUV格式的兼容性问题,即解决了不同终端机型硬件解码出的YUV格式不一样,需要做适配处理的问题。
根据本发明实施例所描述的图像处理方法,以下将对现有技术及本发明实施例的实验数据作进一步对比说明,如表1所示。表1中的实验数据包括内存占用、CPU占用、视频文件大小及单帧解码耗时等,当然,还可以包括其他实验数据,具体内容在此处不作限定。其中,在视频文件的图像分辨率、帧数、视频编码码率及测试的终端等同等条件下,本发明实施例的图像处理方法在测试的终端上运行,得到的实验数据包括:内存占用为4兆字节(即4M)、CPU占用为5%、视频文件大小为923千字节(即923K)、及单帧解码耗时为33毫秒等。而现有技术的方案在测试的终端上运行,得到的实验数据包括:内存占用为18兆字节(即18M)、CPU占用为34%、视频文件大小为8兆字节(即8M)、及单帧解码耗时为70毫秒等。通过对比可知,本发明实施例的图像处理方法,不仅对于内存占用及CPU占用较小,而且需要处理视频文件较小,及单帧解码耗时较短等。
参数 内存占用 CPU占用 视频文件大小 单帧解码耗时
现有技术 18M 34% 8M 70毫秒
本发明 4M 5% 932K 3毫秒
以图像处理装置通过直播应用赠送礼物为例,如图5所示,该直播应用的显示界面中显示有正在直播的视频、聊天功能、礼物选项等。当正在观看视频直播的用户要给主播赠送礼物时,可以在礼物选项中选择其中的任意一种礼物,进行发送,此时显示界面中呈现已赠送的礼物,如图6所示。
以图像处理装置通过即时通信发送动画为例,如图7所示,该即时通信可以是微信或QQ等,用户Maidou与用户Ali在聊天的过程中,当用户Ali要给用户Maidou发送一个动画消息时,可以在动画列表中选择其中的任意一种动画,进行发送,此时显示界面中呈现已发送的动画。
需要说明的是,本发明实施例的图像处理方法,除了可以应用在直播应用或即时通信之外,在实际应用中,还可以应用于需要呈现带透明通道的图像或视频等场景,具体此处不作限定。
由上可知,本发明实施例通过获取单路视频流的视频文件,该视频文件中的每一帧图像为彩色图像和彩色图像的灰度图像拼接而成。然后将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像。再对数据图像进行切割处理,生成每一帧图像对应的彩色图像和灰度图像,以及将彩色图像和灰度图像进行合成处理,生成每一帧图像对应的合成图像。最后根据合成图像生成目标视频文件,显示目标视频文件。实现了只需对单路视频流的视频文件进行处理,避免了对双路视频的同步硬件解码以及将图像从GPU拷贝到CPU进行合成等操作,提高了终端进行图像处理的效率。
根据上述实施例所描述的方法,以下将举例作进一步详细说明。
本实施例以图像处理装置通过直播应用赠送礼物为例,首先对礼物素材进行通道分离及拼接等第一预处理,生成视频文件,并对该视频文件进行存储。其次,当接收礼物赠送请求时,可以获取该礼物对应的视频文件,对该视频文件进行解码、切割及合成等第二预处理,生成目标视频文件,最后显示目标视频文件,实现呈现礼物动画特效的目的。
请参阅图8,图8为本发明实施例提供的图像处理方法的流程示意图。该方法流程可以包括:
步骤S201、对礼物素材进行第一预处理,生成视频文件;
首先,获取直播应用需要的礼物素材,该礼物素材可以包括鹅蛋、皮皮虾、大鲨鱼、蓝色妖姬、玫瑰、勋章及跑车等各种各样的图像。
礼物素材为“勋章”为例,首先获序列帧相同的勋章图像,该勋章图像包含RGB通道和透明通道,该勋章图像可以是图像处理装置通过图形视频处理软件制作得到,也可以是直接从服务器下载得到。
然后,对每一帧勋章图像进行通道分离,并加上黑色背景,分别得到RGB图像和灰度图像,该RGB图像和灰度图像中包含的勋章形状、大小等一致,如图4中所示的RGB图像和灰度图像。对每一帧勋章图像进行相应的分离处理后,可以得到每一帧勋章图像对应的RGB图像和灰度图像。
其次,将每一帧勋章图像对应的RGB图像和灰度图像分别进行拼接,可以是左右拼接或上下拼接,生成勋章拼接图像,如图3所示。对每一帧勋章图像进行相应的拼接处理后,可以得到生成序列帧的勋章拼接图像。根据序列帧的勋章拼接图像生成视频文件,从而完成对勋章礼物的制作。
按照制作勋章礼物的上述流程,可以对皮皮虾、玫瑰及跑车等各礼物进行制作,得到对应的视频文件。
需要说明的是,根据礼物素材生成的视频文件可以上传至服务器进行存储,当图像处理装置所在的终端需要安装直播应用时,从服务器下载直播应用的安装包的过程中,可以携带该直播应用的礼物素材对应的视频文件。在安装直播应用后,即可将礼物素材对应的视频文件存储至终端本地。此时,需要赠送礼物时可直接从终端本地获取该礼物对应的视频文件进行相应的处理,并在显示界面内呈现礼物特效。
可选地,可以将礼物素材对应的视频文件直接存储在终端本地,方便后续直接从终端本地获取礼物对应的视频文件。
可选地,将礼物素材对于的视频文件可以上传至服务器进行存储后,在从服务器下载直播应用的安装包时不携带礼物素材对应的视频文件。当首次赠送某个礼物时,可以从服务器获取该礼物对应的视频文件,此时将该礼物对应的视频文件存储在本地,在后续赠送该礼物时,可直接从本地获取该礼物对应的视频文件。可以理解的是,每次赠送该礼物时,可以是每次均从服务器获取该礼物对应的视频文件。
步骤S202、开启直播应用,接收用户输入的礼物赠送请求;
在完成对礼物素材对应的视频文件的制作及存储后,后续在使用直播应用的过程中,可在图像处理装置上开启直播应用,如图5所示。在直播应用的显示界面内,用户可以观看主播即时放送的精彩节目、与主播即时聊天互动、查看排行、以及赠送礼物等。
当用户需要向主播赠送礼物时,可以在礼物列表中选择其中任意一种礼物,例如,在图5中,当用户点击勋章图标,并段及发送按钮,赠送勋章礼物时,可生成礼物赠送请求,图像处理装置可接收到用户输入的礼物赠送请求。
步骤S203、根据礼物赠送请求获取礼物对应的视频文件;
以勋章礼物为例,当用户选择赠送勋章礼物时,图像处理装置从本地或服务器获取勋章礼物对应的视频文件。
步骤S204、对视频文件进行第二预处理,生成礼物对应的目标视频文件;
在获取到礼物对应的视频文件后,首先,对视频文件中的每一帧礼物图像分别进行硬件解码或软件解码,生成每一帧礼物图像对应的数据图像。此时,对每一帧礼物图像均进行解码处理后,得到序列帧数据图像。
然后,对数据图像进行切割,例如,可将数据图像在纹理坐标上进行映射,并确定切割界限,根据切割界限将数据图像进行切割,生成每一帧礼物图像对应的RGB图像和灰度图像。
其次,将切割得到每一帧礼物图像对应的RGB图像和灰度图像分别进行合成,生成每一帧礼物图像对应的合成图像,如图4所示。此时,在完成每一帧礼物图像对应的RGB图像和灰度图像进行合成后,即可生成需要赠送的礼物所对应的目标视频文件。
步骤S205、显示目标视频文件,完成对礼物的呈现。
在得到需要赠送的礼物所对应的目标视频文件后,可在显示界面内呈现礼物动画特效,如图6所示。礼物动画特效的显示时间可以是显示预设时间后消失,也可以是设置关闭选项,当用户点击关闭选项时,关闭礼物动画特效的显示,也可以是按照预设的规则进行显示及关闭,具体此处不作限定。
需要说明的是,可以将礼物所对应的目标视频文件存储在本地,或者上传至服务器进行存储,当后续再次赠送该礼物时,可以直接从本地或服务器获取该礼物对应的目标视频文件进行显示。
对于现有技术的礼物动画特效的实现方案,(1)使用位图动画扩展(AnimatedPortable Network Graphics,APNG)格式来制作礼物素材,并进行显示,该APNG方案缺点是礼物素材大小过大、解码性能低等。(2)图像序列帧方式播放动画,达到赠送礼物效果,这种方式当动画复杂时,所包含的序列帧图像较多,合成动态图像后体积偏大,而且,在部分低端终端下会出现掉帧现象。(3)通过渲染AE导出的json文件,实现动画的绘制,该方案中有部分AE特效不能导出,例如光效,所以不适用光影特效场景。
现对于现有技术,本实施例中,通过视频显示的方式所需要的礼物素材大小较小,能够大幅降低加载成本,解决了礼物素材体积偏大的问题。另外,可以通过硬件解码视频文件中的每一帧图像,对CPU消耗较低,且对于直播应用页面中已存在的视频播放不会造成影响,能够在直播应用中流畅显示礼物特效。同时,礼物的显示效果能够还原礼物设计效果,实现了只需对单路视频流的视频文件进行处理,提高了终端进行图像处理的效率。
为便于更好的实施本发明实施例提供的图像处理方法,本发明实施例还提供一种基于上述图像处理方法的装置。其中名词的含义与上述图像处理的方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图9,图9为本发明实施例提供的图像处理装置的结构示意图,其中该图像处理装置可以包括第一获取单元301、解码单元302、切割单元303、合成单元304及显示单元305。
其中,第一获取单元301,用于获取单路视频流的视频文件,该视频文件中的每一帧图像为彩色图像和该彩色图像对应的灰度图像拼接而成;
第一获取单元301可以是在接收到用户输入的图像获取请求时,获取单路视频流的视频文件,例如,用户在直播应用的赠送礼物显示界面内,点击某个礼物的显示图标,生成图像获取请求,从而触发第一获取单元301获取该礼物对应的视频文件。第一获取单元301也可以是间隔预设时间或在指定时间获取单路视频流的视频文件,例如,当到元旦节、中秋节或国庆节等节日时,第一获取单元301自动获取每个节日对应的视频文件。
其中,视频文件包括多帧图像,视频文件中的每一帧图像为彩色图像(即RGB图像)和该彩色图像对应的灰度图像拼接而成,该RGB图像和灰度图像可以是左右拼接,如图3(a)所示,可以是左边是RGB图像,右边是灰度图像,也可以是右边是RGB图像,左边是灰度图像。该RGB图像和灰度图像也可以是上下拼接,如图3(b),可以是上边是RGB图像,下边是灰度图像,也可以是下边是RGB图像,上边是灰度图像。可选地,RGB图像和灰度图像的形状及大小一致,拼接后可以是左右均分或上下均分,RGB图像和灰度图像的拼接顺序、形状及大小等可根据实际需要进行灵活设置,具体此处不作限定。
为了提高效率,可预先制作视频文件,将视频文件存储在图像处理装置本地,或者将视频文件上传至服务器,由服务器存储该视频文件。可以理解的是,可以既将视频文件存储在图像处理装置本地,又将视频文件存储在服务器,当需要获取该视频文件时,可以从服务器或本地获取到。
在某些实施方式中,如图12所示,图像处理装置还包括:
第二获取单元306,用于获取序列帧样本图像;
分离单元307,用于对第二获取单元306获取到的序列帧样本图像进行通道分离,生成每帧样本图像对应的彩色通道和灰度通道;
设置单元308,用于为分离单元307生成的彩色通道和灰度通道设置相同的背景颜色,生成每帧样本图像对应的目标彩色图像和目标灰度图像;
拼接单元309,用于将设置单元308生成的每帧样本图像对应的目标彩色图像和目标灰度图像进行拼接,生成序列帧拼接图像;
生成单元310,用于根据拼接单元309生成的序列帧拼接图像生成视频文件。
图像处理装置可以制作多种类型的视频文件,根据不同礼物、不同表情或不同节日的祝贺动画等设置对应的样本图像,并分别对不同的样本图像进行处理,生成不同类型的视频文件。
具体地,首先第二获取单元306获取序列帧样本图像,该序列帧样本图像即为多帧同一类型的样本图像,例如,可以通过图形视频处理软件(AdobeAfter Effects,AE)制作需要的样本图像,制作完成后从AE中导出包含RGB通道和灰度通道的序列帧样本图像。可以理解的是,序列帧样本图像还可以直接从服务器下载,或通过其他方式获取,具体此处不作限定。
然后,分离单元307对每一帧样本图像分别进行通道分离,生成目标RGB通道和目标灰度通道,例如,利用图像处理软件imageMagick对样本图像进行通道分离,或者是通过通过其他方式对样本图像进行通道分离。
得到每一帧样本图像对应的目标RGB通道和目标灰度通道后,设置单元308分别为每一帧样本图像对应的RGB通道和灰度通道设置相同的背景颜色,生成每一帧样本图像对应的目标RGB图像和目标灰度图像。可选地,可以为RGB通道和灰度通道均设置黑色背景颜色,分别得到目标RGB图像和目标灰度图像可以是jpg格式的图像。可以理解的是,背景颜色及图像格式还可以根据具体情况进行灵活设置,具体此处不作限定。
其次,拼接单元309将每帧样本图像对应的目标RGB图像和目标灰度图像分别进行拼接,可以是左右拼接或上下拼接,生成序列帧拼接图像。
最后,生成单元310根据序列帧拼接图像生成单路视频流的视频文件,例如,可以利用音视频软件ffmpeg将序列帧拼接图像合成为一个mp4视频文件,或其他格式的视频文件。
解码单元302,用于将第一获取单元301获取到的视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;
在第一获取单元301获取到视频文件后,解码单元302将视频文件中的每一帧图像进行解码,在一种实施方式中,如图10所示,解码单元302包括:硬件解码子单元3021,用于将视频文件中的每一帧图像进行硬件解码,生成每一帧图像对应的数据图像。该硬件解码为利用GUP资源解码视频流的解码方法,由于硬件解码效率较高,因此可提高图像处理效率。
在另一种实施方式中,如图11所示,解码单元302包括:软件解码子单元3022,用于将视频文件中的每一帧图像进行软件解码,生成每一帧图像对应的数据图像。该软件解码为利用CUP资源解码视频流的解码方法。
可选地,软件解码子单元3022具体用于,通过预设软件解码将视频文件解码为色彩YUV格式;将解码为YUV格式后的视频文件转换为三原色RGB格式;对转换为RGB格式后的视频文件中的每一帧图像进行转换处理,生成每一帧图像对应的数据图像。
具体地,预设软件解码的类型可根据实际需要进行灵活设置,例如,,预设软件解码可以是cisco开源的openh264或ffmpeg开源的libavcodec等,具体此处不作限定。首先通过预设软件解码将视频文件解码为YUV格式,例如,YUV420p格式,或者是其他的YUV格式。
需要说明的是,软件解码可以使用cisco开源的openh264或ffmpeg开源的libavcodec等,由于大部分直播应用已经引入了ffmpeg库,若再次引入则可能会带来符号冲突,因此可优先选择cisco开源的openh264进行软件解码。
然后,软件解码子单元3022将YUV格式的视频文件转换为RGB格式,再对RGB格式的视频文件中的每一帧图像分别进行转换处理,生成每一帧图像对应的数据图像。
需要说明的是,图像处理装置可以仅具有硬件解码功能,由硬件解码子单元3021通过对视频文件中的每一帧图像分别进行硬件解码,生成每一帧图像对应的数据图像。或者是,图像处理装置可以仅具有软件解码功能,由软件解码子单元3022通过对视频文件中的每一帧图像分别进行软件解码,生成每一帧图像对应的数据图像。也可以是,图像处理装置可以兼具备硬件解码功能和软件解码功能,优先通过硬件解码子单元3021对图像进行硬件解码,当硬件解码不成功时,再通过软件解码子单元3022对图像进行软件解码;或者是,先获取图像处理装置对应的终端机型,当该终端机型为目标机型时,通过硬件解码子单元3021对图像进行硬件解码,当该终端机型不是目标机型时,通过软件解码子单元3022对图像进行软件解码,该目标机型为能够兼容硬件解码所对应的机型。
切割单元303,用于对解码单元302生成的数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;
在解码单元302得到数字图像后,切割单元303,对每一帧图像对应的数据图像进行切割,由于每一帧图像由RGB图像和灰度图像拼接而成,此时切割后可生成每一帧图像对应的RGB图像和灰度图像。
为了精准切割得到RGB图像和灰度图像,切割单元303具体用于,将数据图像在预设纹理坐标上进行映射,生成映射参数;根据映射参数确定切割界限;根据切割界限将数据图像进行切割,生成彩色图像和灰度图像。
该切割可以是纹理切割,例如,使用图形程序接口(Open Graphics Library,OpenGL)在片元着色器里通过纹理坐标的方式对数字图像进行切割,得到RGB图像和灰度图像。其中,纹理实际上是一个二维数组,其元素是图像的颜色值,单个的颜色值被称为纹理元素或纹理像素,每一个纹理像素在纹理中都有一个唯一的地址,这个地址可以被认为是一个列和行的值,它们分别由U参数和V参数来表示。具体地,首先建立预设纹理坐标,该预设纹理坐标可以是处于二维平面的UV坐标,水平方向是U参数,垂直方向是V参数,UV坐标位于纹理空间中,通过纹理像素的地址映射到UV坐标中,可以定位数字图像上的任意一个像素。该预设纹理坐标的原点及各坐标点的取值此处不作限定,将数据图像在预设纹理坐标上进行映射,使得数字图像中的每个像素点在预设纹理坐标上均产生对应的映射参数。然后,根据映射参数确定切割界限,可以取原点与终点之间的中间值作为切割界限。再根据切割界限将数据图像进行切割,生成RGB图像和灰度图像。
合成单元304,用于将切割单元303生成的彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;
合成单元304将切割单元303切割得到每一帧图像对应的RGB图像和灰度图像分别进行合成,生成每一帧图像对应的合成图像,如图4所示。合成图像可以是透明图像,透明图像合成原理为:如4图中有两个黑色背景的图像,其中一个是只包含alpha通道的灰度图像(该灰度图像作为遮罩层),另一个是只包含RGB通道的RGB图像(该RGB图像作为被遮罩层),利用遮罩的方式合成为透明的合成图像。
显示单元305,用于根据合成单元304生成的合成图像生成目标视频文件,显示目标视频文件。
在合成单元304得到每一帧对应的合成图像后,即可生成目标视频文件,然后,显示单元305在显示界面内显示目标视频文件。例如,可以将视频文件渲染到图像处理装置系统预置的TextureView函数上,通过TextureView函数的setOpaque控件设置透明背景。达到了既能携带透明通道,又能实现高效播放目标视频文件的目的。
本实施例中,一方面,采用单路视频,只需要一个解码器,实现了只需对单路视频流的视频文件进行处理,避免了对双路视频进行硬件解码的同步问题;另一方面,硬件解码时所有的操作可以都在GPU内完成,不仅省去了将图像从GPU拷贝到CPU的拷贝开销,以及在CPU对图像进行合成的开销,也屏蔽了YUV格式的兼容性问题,即解决了不同终端机型硬件解码出的YUV格式不一样,需要做适配处理的问题。
以图像处理装置通过直播应用赠送礼物为例,如图5所示,该直播应用的显示界面中显示有正在直播的视频、聊天功能、礼物选项等。当正在观看视频直播的用户要给主播赠送礼物时,可以在礼物选项中选择其中的任意一种礼物,进行发送,此时显示界面中呈现已赠送的礼物,如图6所示。
以图像处理装置通过即时通信发送动画为例,如图7所示,该即时通信可以是微信或QQ等,用户Maidou与用户Ali在聊天的过程中,当用户Ali要给用户Maidou发送一个动画消息时,可以在动画列表中选择其中的任意一种动画,进行发送,此时显示界面中呈现已发送的动画。
需要说明的是,本发明实施例的图像处理方法,除了可以应用在直播应用或即时通信之外,在实际应用中,还可以应用于需要呈现带透明通道的图像或视频等场景,具体此处不作限定。
由上可知,本发明实施例通过第一获取单元301获取单路视频流的视频文件,该视频文件中的每一帧图像为彩色图像和彩色图像的灰度图像拼接而成。然后,解码单元302将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像。再由切割单元303对数据图像进行切割处理,生成每一帧图像对应的彩色图像和灰度图像,以及由合成单元304将彩色图像和灰度图像进行合成处理,生成每一帧图像对应的合成图像。最后显示单元305根据合成图像生成目标视频文件,显示目标视频文件。实现了只需对单路视频流的视频文件进行处理,避免了对双路视频的同步硬件解码以及将图像从GPU拷贝到CPU进行合成等操作,提高了终端进行图像处理的效率。
相应的,本发明实施例还提供一种终端,如图13所示,该终端可以包括射频(RF,Radio Frequency)电路601、包括有一个或一个以上计算机可读存储介质的存储器602、输入单元603、显示单元604、传感器605、音频电路606、无线保真(WiFi,Wireless Fidelity)模块607、包括有一个或者一个以上处理核心的处理器608、以及电源609等部件。本领域技术人员可以理解,图13中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路601可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器608处理;另外,将涉及上行的数据发送给基站。通常,RF电路601包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路601还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器602可用于存储软件程序以及模块,处理器608通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器608和输入单元603对存储器602的访问。
输入单元603可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元603可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器608,并能接收处理器608发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元603还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元604可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元604可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器608以确定触摸事件的类型,随后处理器608根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图13中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器605,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路606、扬声器,传声器可提供用户与终端之间的音频接口。音频电路606可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路606接收后转换为音频数据,再将音频数据输出处理器608处理后,经RF电路601以发送给比如另一终端,或者将音频数据输出至存储器602以便进一步处理。音频电路606还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块607可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图13示出了WiFi模块607,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器608是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器608可包括一个或多个处理核心;优选的,处理器608可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器608中。
终端还包括给各个部件供电的电源609(比如电池),优选的,电源可以通过电源管理系统与处理器608逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源609还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器608会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器608来运行存储在存储器602中的应用程序,从而实现各种功能:
获取单路视频流的视频文件,视频文件中的每一帧图像为彩色图像和彩色图像对应的灰度图像拼接而成;将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;对数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;将彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;根据合成图像生成目标视频文件,显示目标视频文件。
可选地,该处理器408还可以用于,将数据图像在预设纹理坐标上进行映射,生成映射参数;根据映射参数确定切割界限;根据切割界限将数据图像进行切割,生成彩色图像和灰度图像。
可选地,该处理器408还可以用于,将视频文件中的每一帧图像进行硬件解码,生成每一帧图像对应的数据图像。
可选地,该处理器408还可以用于,将视频文件中的每一帧图像进行软件解码,生成每一帧图像对应的数据图像。
可选地,该处理器408还可以用于,通过预设软件解码将视频文件解码为色彩YUV格式;将解码为YUV格式后的视频文件转换为三原色RGB格式;对转换为RGB格式后的视频文件中的每一帧图像进行转换处理,生成每一帧图像对应的数据图像。
可选地,该处理器408还可以用于,获取序列帧样本图像;对序列帧样本图像进行通道分离,生成每帧样本图像对应的彩色通道和灰度通道;为彩色通道和灰度通道设置相同的背景颜色,生成每帧样本图像对应的目标彩色图像和目标灰度图像;将每帧样本图像对应的目标彩色图像和目标灰度图像进行拼接,生成序列帧拼接图像;根据序列帧拼接图像生成单路视频流的视频文件。
由上可知,本发明实施例通过获取单路视频流的视频文件,该视频文件中的每一帧图像为彩色图像和彩色图像的灰度图像拼接而成。然后将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像。再对数据图像进行切割处理,生成每一帧图像对应的彩色图像和灰度图像,以及将彩色图像和灰度图像进行合成处理,生成每一帧图像对应的合成图像。最后根据合成图像生成目标视频文件,显示目标视频文件。实现了只需对单路视频流的视频文件进行处理,避免了对双路视频的同步硬件解码以及将图像从GPU拷贝到CPU进行合成等操作,提高了终端进行图像处理的效率。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对图像处理方法的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种图像处理方法中的步骤。例如,该指令可以执行如下步骤:
获取单路视频流的视频文件,视频文件中的每一帧图像为彩色图像和彩色图像对应的灰度图像拼接而成;将视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;对数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;将彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;根据合成图像生成目标视频文件,显示目标视频文件。
可选地,获取单路视频流的视频文件的步骤之前,该指令可以执行如下步骤:获取序列帧样本图像;对序列帧样本图像进行通道分离,生成每帧样本图像对应的彩色通道和灰度通道;为彩色通道和灰度通道设置相同的背景颜色,生成每帧样本图像对应的目标彩色图像和目标灰度图像;将每帧样本图像对应的目标彩色图像和目标灰度图像进行拼接,生成序列帧拼接图像;根据序列帧拼接图像生成单路视频流的视频文件。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种虚拟资源的转移方法中的步骤,因此,可以实现本发明实施例所提供的任一种虚拟资源的转移方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种图像处理方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种图像处理方法,其特征在于,包括:
获取单路视频流的视频文件,所述视频文件中的每一帧图像为彩色图像和所述彩色图像对应的灰度图像拼接而成,以通过所述单路视频流传输生成目标视频文件所需的所述彩色图像与所述灰度图像,其中,所述彩色图像及所述灰度图像通过对序列帧样本图像进行通道分离,生成每帧样本图像对应的彩色通道和灰度通道,并为所述彩色通道和所述灰度通道设置相同的背景颜色所得到;
将所述视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;
对所述数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;
将所述彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;
根据所述合成图像生成所述目标视频文件,显示所述目标视频文件。
2.根据权利要求1所述的图像处理方法,其特征在于,所述对所述数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像的步骤包括:
将所述数据图像在预设纹理坐标上进行映射,生成映射参数;
根据所述映射参数确定切割界限;
根据所述切割界限将所述数据图像进行切割,生成所述彩色图像和灰度图像。
3.根据权利要求1所述的图像处理方法,其特征在于,所述将所述视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像的步骤包括:
将所述视频文件中的每一帧图像进行硬件解码,生成每一帧图像对应的数据图像。
4.根据权利要求1所述的图像处理方法,其特征在于,所述将所述视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像的步骤包括:
将所述视频文件中的每一帧图像进行软件解码,生成每一帧图像对应的数据图像。
5.根据权利要求4所述的图像处理方法,其特征在于,所述将所述视频文件中的每一帧图像进行软件解码,生成每一帧图像对应的数据图像的步骤包括:
通过预设软件解码将所述视频文件解码为色彩YUV格式;
将解码为所述YUV格式后的所述视频文件转换为三原色RGB格式;
对转换为所述RGB格式后的所述视频文件中的每一帧图像进行转换处理,生成每一帧图像对应的数据图像。
6.根据权利要求1至5中任一项所述的图像处理方法,其特征在于,所述获取单路视频流的视频文件的步骤之前,所述方法还包括:
获取序列帧样本图像;
对所述序列帧样本图像进行通道分离,生成每帧样本图像对应的彩色通道和灰度通道;
为所述彩色通道和灰度通道设置相同的背景颜色,生成每帧样本图像对应的目标彩色图像和目标灰度图像;
将每帧样本图像对应的所述目标彩色图像和目标灰度图像进行拼接,生成序列帧拼接图像;
根据所述序列帧拼接图像生成所述单路视频流的视频文件。
7.一种图像处理装置,其特征在于,包括:
第一获取单元,用于获取单路视频流的视频文件,所述视频文件中的每一帧图像为彩色图像和所述彩色图像对应的灰度图像拼接而成,以通过所述单路视频流传输生成目标视频文件所需的所述彩色图像与所述灰度图像,其中,所述彩色图像及所述灰度图像通过对序列帧样本图像进行通道分离,生成每帧样本图像对应的彩色通道和灰度通道,并为所述彩色通道和所述灰度通道设置相同的背景颜色所得到;
解码单元,用于将所述视频文件中的每一帧图像进行解码,生成每一帧图像对应的数据图像;
切割单元,用于对所述数据图像进行切割,生成每一帧图像对应的彩色图像和灰度图像;
合成单元,用于将所述彩色图像和灰度图像进行合成,生成每一帧图像对应的合成图像;
显示单元,用于根据所述合成图像生成所述目标视频文件,显示所述目标视频文件。
8.根据权利要求7所述的图像处理装置,其特征在于,所述切割单元具体用于,将所述数据图像在预设纹理坐标上进行映射,生成映射参数;
根据所述映射参数确定切割界限;
根据所述切割界限将所述数据图像进行切割,生成所述彩色图像和灰度图像。
9.根据权利要求7所述的图像处理装置,其特征在于,所述解码单元包括:
硬件解码子单元,用于将所述视频文件中的每一帧图像进行硬件解码,生成每一帧图像对应的数据图像。
10.根据权利要求7所述的图像处理装置,其特征在于,所述解码单元包括:
软件解码子单元,用于将所述视频文件中的每一帧图像进行软件解码,生成每一帧图像对应的数据图像。
11.根据权利要求10所述的图像处理装置,其特征在于,所述软件解码子单元具体用于,通过预设软件解码将所述视频文件解码为色彩YUV格式;
将解码为所述YUV格式后的所述视频文件转换为三原色RGB格式;
对转换为所述RGB格式后的所述视频文件中的每一帧图像进行转换处理,生成每一帧图像对应的数据图像。
12.根据权利要求7至11中任一项所述的图像处理装置,其特征在于,所述图像处理装置还包括:
第二获取单元,用于获取序列帧样本图像;
分离单元,用于对所述序列帧样本图像进行通道分离,生成每帧样本图像对应的彩色通道和灰度通道;
设置单元,用于为所述彩色通道和灰度通道设置相同的背景颜色,生成每帧样本图像对应的目标彩色图像和目标灰度图像;
拼接单元,用于将每帧样本图像对应的所述目标彩色图像和目标灰度图像进行拼接,生成序列帧拼接图像;
生成单元,用于根据所述序列帧拼接图像生成所述单路视频流的视频文件。
13.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至6任一项所述的图像处理方法中的步骤。
14.一种终端,其特征在于,所述终端中包括处理器及存储器,所述存储器上存储有供在所述处理器上运行的应用程序,其中,所述处理器执行所述程序时实现如权利要求1-6任一项所述方法中的步骤。
CN201711066272.1A 2017-11-02 2017-11-02 一种图像处理方法、装置及存储介质 Active CN107770618B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711066272.1A CN107770618B (zh) 2017-11-02 2017-11-02 一种图像处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711066272.1A CN107770618B (zh) 2017-11-02 2017-11-02 一种图像处理方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN107770618A CN107770618A (zh) 2018-03-06
CN107770618B true CN107770618B (zh) 2021-03-02

Family

ID=61272492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711066272.1A Active CN107770618B (zh) 2017-11-02 2017-11-02 一种图像处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN107770618B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669646A (zh) * 2019-03-07 2020-09-15 北京陌陌信息技术有限公司 透明视频的播放方法、装置、设备及介质
CN111724312A (zh) * 2019-03-22 2020-09-29 Tcl集团股份有限公司 一种处理图像的方法及终端
CN109729417B (zh) * 2019-03-28 2019-09-10 深圳市酷开网络科技有限公司 一种视频透明播放处理方法、智能电视及存储介质
CN110930480B (zh) * 2019-11-30 2023-07-21 航天科技控股集团股份有限公司 液晶仪表的开机动画视频直接渲染方法
CN112037134B (zh) * 2020-09-10 2023-04-21 中国空气动力研究与发展中心计算空气动力研究所 一种背景同质处理的图像拼接方法、存储介质及终端
CN114040246A (zh) * 2021-11-08 2022-02-11 网易(杭州)网络有限公司 图形处理器的图像格式转换方法、装置、设备及存储介质
CN114511811A (zh) * 2022-01-28 2022-05-17 北京百度网讯科技有限公司 视频处理方法、装置、电子设备和介质
CN114626975A (zh) * 2022-03-21 2022-06-14 北京字跳网络技术有限公司 数据处理方法、装置、设备、存储介质和程序产品
CN117218269A (zh) * 2022-09-07 2023-12-12 腾讯科技(深圳)有限公司 视频处理方法、装置、设备及存储介质
CN117726923B (zh) * 2024-02-05 2024-05-14 河北凡谷科技有限公司 一种基于特定模型的图像通信系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883218A (zh) * 2010-03-12 2010-11-10 浙江大学 一种基于摄像头的图像采集与艺术化处理的方法
WO2014162118A1 (en) * 2013-04-05 2014-10-09 British Broadcasting Corporation Transmitting and receiving a composite image
CN105100646A (zh) * 2015-08-31 2015-11-25 北京奇艺世纪科技有限公司 视频处理方法和装置
CN105227864A (zh) * 2015-10-16 2016-01-06 南阳师范学院 一种图片生成动画并与视频片段拼接合成的视频编辑方法
CN105678724A (zh) * 2015-12-29 2016-06-15 北京奇艺世纪科技有限公司 图像的背景替换方法及装置
CN105959724A (zh) * 2016-05-24 2016-09-21 腾讯科技(深圳)有限公司 一种视频数据处理方法以及装置
CN105979282A (zh) * 2016-06-02 2016-09-28 腾讯科技(深圳)有限公司 一种动画帧处理方法、服务器、终端及系统
CN106331850A (zh) * 2016-09-18 2017-01-11 上海幻电信息科技有限公司 浏览器直播客户端、浏览器直播系统及浏览器直播方法
CN106611401A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 一种在纹理内存中存储图像的方法及装置
CN106886353A (zh) * 2017-02-23 2017-06-23 腾讯科技(深圳)有限公司 一种用户界面的显示处理方法及装置
CN107105315A (zh) * 2017-05-11 2017-08-29 广州华多网络科技有限公司 直播方法、主播客户端的直播方法、主播客户端及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8014615B2 (en) * 2005-09-02 2011-09-06 Adobe Systems Incorporated System and method for decompressing video data and alpha channel data using a single stream

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101883218A (zh) * 2010-03-12 2010-11-10 浙江大学 一种基于摄像头的图像采集与艺术化处理的方法
WO2014162118A1 (en) * 2013-04-05 2014-10-09 British Broadcasting Corporation Transmitting and receiving a composite image
CN105100646A (zh) * 2015-08-31 2015-11-25 北京奇艺世纪科技有限公司 视频处理方法和装置
CN105227864A (zh) * 2015-10-16 2016-01-06 南阳师范学院 一种图片生成动画并与视频片段拼接合成的视频编辑方法
CN106611401A (zh) * 2015-10-22 2017-05-03 阿里巴巴集团控股有限公司 一种在纹理内存中存储图像的方法及装置
CN105678724A (zh) * 2015-12-29 2016-06-15 北京奇艺世纪科技有限公司 图像的背景替换方法及装置
CN105959724A (zh) * 2016-05-24 2016-09-21 腾讯科技(深圳)有限公司 一种视频数据处理方法以及装置
CN105979282A (zh) * 2016-06-02 2016-09-28 腾讯科技(深圳)有限公司 一种动画帧处理方法、服务器、终端及系统
CN106331850A (zh) * 2016-09-18 2017-01-11 上海幻电信息科技有限公司 浏览器直播客户端、浏览器直播系统及浏览器直播方法
CN106886353A (zh) * 2017-02-23 2017-06-23 腾讯科技(深圳)有限公司 一种用户界面的显示处理方法及装置
CN107105315A (zh) * 2017-05-11 2017-08-29 广州华多网络科技有限公司 直播方法、主播客户端的直播方法、主播客户端及设备

Also Published As

Publication number Publication date
CN107770618A (zh) 2018-03-06

Similar Documents

Publication Publication Date Title
CN107770618B (zh) 一种图像处理方法、装置及存储介质
CN111240837B (zh) 资源配置方法、装置、终端及存储介质
US20220391161A1 (en) Screen Mirroring Display Method and Electronic Device
CN108924464B (zh) 视频文件的生成方法、装置及存储介质
CN107911708B (zh) 弹幕显示方法、直播方法、及相关装置
CN105808044B (zh) 信息推送方法和装置
CN115486087A (zh) 多窗口投屏场景下的应用界面显示方法及电子设备
CN109271327B (zh) 内存管理方法及装置
CN111611031A (zh) 一种图形绘制方法和电子设备
CN105183296B (zh) 交互界面显示方法及装置
US10181203B2 (en) Method for processing image data and apparatus for the same
CN106658064B (zh) 虚拟礼物展示方法及装置
CN107995440B (zh) 一种视频字幕贴图生成方法、装置、计算机可读存储介质及终端设备
CN116055773A (zh) 一种多屏协同方法、系统及电子设备
CN110430022B (zh) 数据传输方法及装置
EP4258165A1 (en) Two-dimensional code displaying method and apparatus, device, and medium
CN113313804B (zh) 一种图像渲染方法、装置、电子设备和存储介质
WO2021128929A1 (zh) 一种全景应用中图像渲染的方法及终端设备
CN112114929A (zh) 显示设备及其图像显示方法
CN110178111B (zh) 一种终端的图像处理方法及装置
CN110782387A (zh) 图像处理方法、装置、图像处理器及电子设备
CN110300047B (zh) 一种动画播放方法、装置及存储介质
CN109302523B (zh) 一种手机端和服务器端手机性能评估方法
CN113038141A (zh) 视频帧处理方法及电子设备
CN110223221A (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