直播视频图像处理方法、装置、存储介质和计算机设备与流程

文档序号:16519602发布日期:2019-01-05 09:52阅读:235来源:国知局
直播视频图像处理方法、装置、存储介质和计算机设备与流程

本发明涉及直播技术领域,具体而言,本发明涉及一种直播视频图像处理方法、装置、存储介质和计算机设备。



背景技术:

随着技术的发展,直播应用程序层出不穷。主播可以通过直播应用程序分享自己的生活,观众可以通过直播应用程序观看自己感兴趣的内容。在直播过程中,目前的方案一般是主播录制想要分享的视频内容,然后将该视频内容通过服务器发送给观众端,观众端观看到的内容为主播实际分享的视频内容。该种方式播放的直播视频的内容较为单一,导致直播视频的播放效果不佳。



技术实现要素:

本发明针对现有方式存在直播视频的播放效果不佳的缺点,提出一种直播视频图像处理方法、装置、存储介质和计算机设备,以提高直播视频的播放效果。

本发明的实施例根据第一个方面,提供了一种直播视频图像处理方法,包括:

获取直播过程中的第一直播视频图像;

响应输入的掩膜信息生成指令,生成所述第一直播视频图像的掩膜信息;

将所述第一直播视频图像及其掩膜信息传输给观众客户端,以使所述观众客户端根据所述第一直播视频图像及其掩膜信息得到第二直播视频图像。

在一个实施例中,所述将所述第一直播视频图像及其掩膜信息传输给观众客户端,包括:

在所述第一直播视频图像的原始图像通道中添加用于传输掩膜信息的图像通道,得到第一图像通道;

对所述第一图像通道进行编码,生成直播视频流;

将所述直播视频流传输给观众客户端。

在一个实施例中,所述将所述第一直播视频图像及其掩膜信息传输给观众客户端,包括:

将所述掩膜信息混入所述第一直播视频图像中,得到第三直播视频图像;

对所述第三直播视频图像进行编码,生成直播视频流;

将所述直播视频流传输给观众客户端。

在一个实施例中,所述将所述掩膜信息混入所述第一直播视频图像中,得到第三直播视频图像,包括:

对所述第一直播视频图像进行颜色空间转换,以在所述第一直播视频图像的图像区域中留出空位;

在所述空位中填入所述掩膜信息,得到第三直播视频图像。

在一个实施例中,所述将所述掩膜信息混入所述第一直播视频图像中,得到第三直播视频图像,包括:

降低所述第一直播视频图像的分辨率或者图像尺寸,以在所述第一直播视频图像的图像区域中留出空闲区域;

在所述空闲区域中填入所述掩膜信息,得到第三直播视频图像。

在一个实施例中,所述将所述第一直播视频图像及其掩膜信息传输给观众客户端,包括:

对所述第一直播视频图像进行编码,生成直播视频流;

在所述直播视频流的扩展字段中填入所述掩膜信息,然后传输给观众客户端。

在一个实施例中,所述将所述第一直播视频图像及其掩膜信息传输给观众客户端,包括:

对所述第一直播视频图像进行编码,生成直播视频流;

对所述掩膜信息进行编码,生成掩膜信息流;

将所述直播视频流和所述掩膜信息流传输给观众客户端。

本发明的实施例根据第二个方面,还提供了另一种直播视频图像处理方法,包括:

接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息;

根据所述第一直播视频图像及其掩膜信息,得到第二直播视频图像。

在一个实施例中,所述接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息,包括:

接收主播客户端在直播过程中传输的直播视频流,其中,所述直播视频流通过对第一图像通道编码生成,所述第一图像通道通过在所述第一直播视频图像的原始图像通道中添加用于传输掩膜信息的图像通道得到;

对所述直播视频流进行解码,得到所述第一直播视频图像的原始图像通道和用于传输掩膜信息的图像通道;

从所述第一直播视频图像的原始图像通道中获取所述第一直播视频图像;

从所述用于传输掩膜信息的图像通道中获取所述掩膜信息。

在一个实施例中,所述接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息,包括:

接收主播客户端在直播过程中传输的直播视频流,其中,所述直播视频流通过对第三直播视频图像编码生成,所述第三直播视频图像通过在第一直播视频图像中混入掩膜信息得到;

对所述直播视频流进行解码,获得第一直播视频图像和掩膜信息。

在一个实施例中,所述第三直播视频图像通过在第一直播视频图像的图像区域的空位中填入掩膜信息得到,所述空位通过对所述第一直播视频图像进行颜色空间转换得到;

所述对所述直播视频流进行解码,获得第一直播视频图像和掩膜信息,包括:

对所述空位进行解码,获得掩膜信息;

对所述第一直播视频图像的图像区域中除空位之外的区域进行解码,然后进行颜色空间逆转换,获得第一直播视频图像。

在一个实施例中,所述第三直播视频图像通过在第一直播视频图像的图像区域的空闲区域中填入掩膜信息得到,所述空闲区域通过降低所述第一直播视频图像的分辨率或者图像尺寸得到;

所述对所述直播视频流进行解码,获得第一直播视频图像和掩膜信息,包括:

对所述空闲区域进行解码,获得掩膜信息;

对所述第一直播视频图像的图像区域中除空闲区域之外的区域进行解码,然后恢复分辨率或者图像尺寸,获得第一直播视频图像。

在一个实施例中,所述接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息,包括:

接收主播客户端在直播过程中传输的直播视频流以及所述直播视频流扩展字段中的掩膜信息,其中,所述直播视频流通过对第一直播视频图像编码生成;

对所述直播视频流进行解码,获得第一直播视频图像;

从所述直播视频流的扩展字段中获取掩膜信息。

在一个实施例中,所述接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息,包括:

接收主播客户端在直播过程中传输的直播视频流以及掩膜信息流,其中,所述直播视频流通过对第一直播视频图像编码生成,所述掩膜信息流通过对掩膜信息编码生成;

对所述直播视频流进行解码,获得第一直播视频图像;

对所述掩膜信息流进行解码,获得掩膜信息。

本发明的实施例根据第三个方面,还提供了一种直播视频图像处理装置,包括:

第一直播视频图像获取模块,用于获取直播过程中的第一直播视频图像;

掩膜信息生成模块,用于响应输入的掩膜信息生成指令,生成所述第一直播视频图像的掩膜信息;

传输模块,用于将所述第一直播视频图像及其掩膜信息传输给观众客户端,以使所述观众客户端根据所述第一直播视频图像及其掩膜信息得到第二直播视频图像。

本发明的实施例根据第四个方面,还提供了另一种直播视频图像处理装置,包括:

接收模块,用于接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息;

第二直播视频图像获得模块,用于根据所述第一直播视频图像及其掩膜信息,得到第二直播视频图像。

本发明的实施例根据第五个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述的直播视频图像处理方法。

本发明的实施例根据第六个方面,还提供了一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的直播视频图像处理方法。

上述的直播视频图像处理方法、装置、存储介质和计算机设备,不仅将直播过程中采集的第一直播视频图像传输给观众客户端,还在直播过程中生成第一直播视频图像的掩膜信息,将该掩膜信息一并传输给观众客户端,那么观众客户端就可以根据该掩膜信息对第一直播视频图像进行所需的操作,例如根据掩膜信息更换第一直播视频图像的直播背景,或者更换第一直播视频图像的直播前景等等,因此实现了直播视频播放内容的多样化,提高了直播视频的播放效果。

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

附图说明

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

图1为本发明一个实施例的直播视频图像处理方法应用环境的示意图;

图2为本发明一个实施例的直播视频图像处理方法的流程示意图;

图3为本发明一个实施例的第一直播视频图像及其掩膜信息传输方法的流程示意图;

图4为本发明另一个实施例的第一直播视频图像及其掩膜信息传输方法的流程示意图;

图5为本发明另一个实施例的第一直播视频图像及其掩膜信息传输方法的流程示意图;

图6为本发明另一个实施例的第一直播视频图像及其掩膜信息传输方法的流程示意图;

图7为本发明一个实施例的直播视频图像处理装置的结构示意图;

图8为本发明另一个实施例的直播视频图像处理方法的流程示意图;

图9为本发明一个实施例的第一直播视频图像及其掩膜信息接收方法的流程示意图;

图10为本发明另一个实施例的第一直播视频图像及其掩膜信息接收方法的流程示意图;

图11为本发明另一个实施例的第一直播视频图像及其掩膜信息接收方法的流程示意图;

图12为本发明另一个实施例的第一直播视频图像及其掩膜信息接收方法的流程示意图;

图13为本发明另一个实施例的直播视频图像处理装置的结构示意图;

图14为本发明一个实施例的计算机设备的结构示意图。

具体实施方式

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

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一直播视频图像称为第二直播视频图像,且类似地,可将第二直播视频图像称为第一直播视频图像。第一直播视频图像和第二直播视频图像两者都是直播视频图像,但其不是同一个直播视频图像。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的客户端既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(personalcommunicationsservice,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personaldigitalassistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(globalpositioningsystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的客户端可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的客户端还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobileinternetdevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

本技术领域技术人员可以理解,这里所使用的服务器其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(cloudcomputing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本发明的实施例中,客户端与服务器之间可通过任何通信方式实现通信,包括但不限于,移动通信、计算机网络通信以及基于蓝牙、红外传输标准的近距无线传输方式。

本发明实施例提供的直播视频图像处理方法可以应用于如图1所示的主播客户端11、服务器12和观众客户端13所构成的硬件环境中。如图1所示,主播客户端11和服务器12通过网络进行连接,服务器12和观众客户端13通过网络进行连接,本发明实施例提供的第一方面的直播视频图像处理方法可以在主播客户端11或者服务器12中执行,本发明实施例提供的第二方面的直播视频图像处理方法可以在观众客户端13中执行。主播客户端11或者服务器12在直播过程中将第一直播视频图像和掩膜信息发送给观众客户端13,观众客户端13基于掩膜信息对第一直播视频图像进行处理,生成第二直播视频图像并显示。

首先从主播客户端或者服务器的角度出发,对本发明提供的直播视频图像处理方法和装置的具体实施方式进行详细介绍。

如图2所示,在一个实施例中,一种直播视频图像处理方法,包括:

s21、获取直播过程中的第一直播视频图像。

第一直播视频图像包括主播客户端实时录制的直播视频图像,进一步的,还可以包括观众客户端上传的弹幕等等,其中,弹幕指的是通过直播应用程序观看直播视频时弹出的评论性字幕。主播客户端通过直播应用程序进行直播视频图像的采集,得到直播视频图像。如果本实施例提供的方法在主播客户端执行,则第一直播视频图像指的是主播客户端采集的直播视频图像。如果本实施例提供的方法在服务器执行,则第一直播视频图像指的是主播客户端发送的直播视频图像。

s22、响应输入的掩膜信息生成指令,生成所述第一直播视频图像的掩膜信息。

掩膜(mask)信息是目标物轮廓的矢量图和/或位图。矢量图也称为面向对象的图像或绘图图像,是计算机图形学中用点、直线或者多边形等基于数学方程的几何图元表示图像。位图又叫点阵图或像素图,计算机屏幕上的图都是由屏幕上的发光点(即像素)构成的,每个点用二进制数据来描述其颜色与亮度等信息,这些点是离散的,类似于点阵,多个像素的色彩组合就形成了图像,称之为位图。矢量图和位图的所需字节数可以通过参数控制。

输入掩膜信息生成指令的方式有很多种。例如,设置掩膜信息生成指令触发按钮,用户通过点击该触发按钮输入掩膜信息生成指令。又例如,通过语音或者其他方式输入触摸信息生成指令。又例如,设置掩膜信息生成指令的触发条件,当监测到满足该触发条件时,自动输入掩膜信息生成指令。在直播过程中输入掩膜信息生成指令,就可以实时生成掩膜信息,后续观众客户端就可以基于掩膜信息实时对第一直播视频图像进行调整。

第一直播视频图像的掩膜信息可以用来标识哪些区域是前景区域,哪些区域是背景区域。建立与第一直播视频图像相同的mask图像,通过算法将该mask图像中前景区域的像素值设置为第一数值,例如设置为1,将该mask图像中背景区域的像素值设置为第二数值,例如设置为0,则得到第一直播视频图像的掩膜信息。算法可以采用现有技术中已有的算法实现,例如现有技术中已有的前后背景分离技术或目标检测技术等等。如果本实施例的方法在主播客户端执行,则主播客户端调用算法生成mask信息。如果本实施例的方法在服务器执行,服务器转码时调用算法生成mask信息。

s23、将所述第一直播视频图像及其掩膜信息传输给观众客户端,以使所述观众客户端根据所述第一直播视频图像及其掩膜信息得到第二直播视频图像。

生成掩膜信息之后,将第一直播视频图像及其掩膜信息一同发送给观众客户端,观众客户端就可以基于掩膜信息对第一直播视频图像进行调整,得到第二直播视频图像,在本客户端显示该第二直播视频图像。

为了更好的理解基于掩膜信息对第一直播视频图像调整的过程,结合两个例子进行说明。例如,用户想要改变第一直播视频图像的背景,例如将该背景替换成特效背景、风格化背景、现实场景背景和游戏背景等等,就可以基于该掩膜信息从第一直播视频图像中抠出前景区域图像,然后将该前景区域图像叠加到想要替换的背景上显示。又例如,用户想要将第一直播视频图像中的前景换成设置的画面,例如前景为主播图像,用户想要换成自己的图像,则可以基于该掩膜信息从第一直播视频图像中抠出背景区域图像,然后将想要替换的图像叠加到抠出的背景区域图像上显示。

本实施例提供的直播视频图像处理方法满足了用户多元化的需求,增加了直播的趣味性和观赏性,提升了用户观看体验,提高了直播视频的播放效果。

将第一直播视频图像及其掩膜信息传输给观众客户端的方式有很多种,下面结合四个实施例进行说明。应当理解的是,本发明并不限制于下述四个实施例,用户还可以其它传输方式将第一直播视频图像及其掩膜信息传输给观众客户端。

实施例一

如图3所示,在一个实施例中,所述将所述第一直播视频图像及其掩膜信息传输给观众客户端,包括:

s31、在所述第一直播视频图像的原始图像通道中添加用于传输掩膜信息的图像通道,得到第一图像通道。

一幅完整的图像,一般是由红色、绿色和蓝色三个通道组成的,它们共同作用产生了完整的图像。第一直播视频的原始图像通道一般指的即是红色、绿色和蓝色三个通道。在该三个通道的基础上增加一个新的图像通道,增加的该图像通道用于传输掩膜信息。具体增加新的图像通道的方式可以根据现有技术中已有的方式实现。

s32、对所述第一图像通道进行编码,生成直播视频流。

对原始图像通道和增加的图像通道传输的图像同时进行编码,生成直播视频流。可选的,直播视频流为标准视频流,例如h264、mpeg、h26x等等。

s33、将所述直播视频流传输给观众客户端。

生成的直播视频流不仅包括第一直播视频图像的信息,还包括掩膜信息。将该直播视频流传输给观众客户端,观众客户端就可以根据直播视频流中的掩膜信息对第一直播视频图像进行调整。

实施例二

如图4所示,在一个实施例中,所述将所述第一直播视频图像及其掩膜信息传输给观众客户端,包括:

s41、将所述掩膜信息混入所述第一直播视频图像中,得到第三直播视频图像。

在第一直播视频图像的数据中添加掩膜信息,得到第三直播视频图像的数据。添加掩膜信息的方式有很多种,下面结合两个实施例进行说明。应当理解的是,本发明并不限制于下述两种方式,用户还可以采用其它方式将掩膜信息混入第一直播视频图像的数据中。

在一个实施例中,所述将所述掩膜信息混入所述第一直播视频图像中,得到第三直播视频图像,包括:

s411、对所述第一直播视频图像进行颜色空间转换,以在所述第一直播视频图像的图像区域中留出空位。

颜色空间有许多种,常用有rgb(red-红,green-绿,blue-蓝),yuv(luminance-明亮度,chrominance-色度,chroma-浓度),cmy(cyan-青,magenta-品红,yellow-黄)等等。

对第一直播视频图像进行颜色空间转换,即将第一直播视频图像由一种颜色模式转换成另一种颜色模式,以留出空位来表示mask信息。例如,将第一直播视频图像由rgb模式转换成yuv420模式,传输采用yuv444模式,则会空出若干位,空出的若干位用于填入掩膜信息。

s412、在所述空位中填入所述掩膜信息,得到第三直播视频图像。

留出空位后,在空位中填入掩膜信息,则将掩膜信息和第一直播视频图像的数据混合在一起,得到第三直播视频图像的数据。

在另一个实施例中,所述将所述掩膜信息混入所述第一直播视频图像中,得到第三直播视频图像,包括:

s41a、降低所述第一直播视频图像的分辨率或者图像尺寸,以在所述第一直播视频图像的图像区域中留出空闲区域。

降低第一直播视频图像的分辨率,即将第一直播视频图像由原始分辨率变成较低分辨率,以留出空闲区域来填入mask信息。或者,还可以通过裁剪的方式降低第一直播视频图像的图像尺寸,即将第一直播视频图像由原始图像尺寸变成较小图像尺寸,以留出空闲区域来填入mask信息。

s41b、在所述空闲区域中填入所述掩膜信息,得到第三直播视频图像。

留出空闲区域后,在空闲区域中填入掩膜信息,则将掩膜信息和第一直播视频图像的数据混合在一起,得到第三直播视频图像的数据。

s42、对所述第三直播视频图像进行编码,生成直播视频流。

对第三直播视频图像进行编码,生成直播视频流。可选的,直播视频流为标准视频流,例如h264、mpeg、h26x等等。

s43、将所述直播视频流传输给观众客户端。

生成的直播视频流不仅包括第一直播视频图像的信息,还包括掩膜信息。将该直播视频流传输给观众客户端,观众客户端就可以根据直播视频流中的掩膜信息对第一直播视频图像进行调整。

实施例三

如图5所示,在一个实施例中,所述将所述第一直播视频图像及其掩膜信息传输给观众客户端,包括:

s51、对所述第一直播视频图像进行编码,生成直播视频流。

对第一直播视频图像进行编码,生成直播视频流。可选的,直播视频流为标准视频流,例如h264、mpeg、h26x等等。

s52、在所述直播视频流的扩展字段中填入所述掩膜信息,然后传输给观众客户端。

在直播视频流的扩展字段附带掩膜信息,则该直播视频流不仅包括第一直播视频图像的数据,还包括掩膜信息,将该直播视频流传输给观众客户端,观众客户端就可以根据直播视频流中的掩膜信息对第一直播视频图像进行调整。

实施例四

如图6所示,在一个实施例中,所述将所述第一直播视频图像及其掩膜信息传输给观众客户端,包括:

s61、对所述第一直播视频图像进行编码,生成直播视频流。

对第一直播视频图像进行编码,生成直播视频流。可选的,直播视频流为标准视频流,例如h264、mpeg、h26x等等。

s62、对所述掩膜信息进行编码,生成掩膜信息流。

对掩膜信息单独进行编码,生成掩膜信息流。

s63、将所述直播视频流和所述掩膜信息流传输给观众客户端。

将直播视频流和掩膜信息流两路流均传输给观众客户端,观众客户端根据掩膜信息流对直播视频流中第一直播视频图像进行调整。

基于同一发明构思,本发明还提供一种直播视频图像处理装置,下面结合附图对本发明装置的具体实施方式进行详细介绍。

如图7所示,在一个实施例中,一种直播视频图像处理装置,包括:

第一直播视频图像获取模块71,用于获取直播过程中的第一直播视频图像。

第一直播视频图像包括主播客户端实时录制的直播视频图像,进一步的,还可以包括观众客户端上传的弹幕等等。主播客户端通过直播应用程序进行直播视频图像的采集,得到直播视频图像。如果本实施例提供的装置在主播客户端执行,则第一直播视频图像指的是主播客户端采集的直播视频图像。如果本实施例提供的装置在服务器执行,则第一直播视频图像指的是主播客户端发送的直播视频图像。

掩膜信息生成模块72,用于响应输入的掩膜信息生成指令,生成所述第一直播视频图像的掩膜信息。

掩膜(mask)信息是目标物轮廓的矢量图和/或位图。矢量图和位图的所需字节数可以通过参数控制。输入掩膜信息生成指令的方式有很多种。例如,设置掩膜信息生成指令触发按钮,用户通过点击该触发按钮输入掩膜信息生成指令。又例如,通过语音或者其他方式输入触摸信息生成指令。又例如,设置掩膜信息生成指令的触发条件,当监测到满足该触发条件时,自动输入掩膜信息生成指令。在直播过程中输入掩膜信息生成指令,就可以实时生成掩膜信息,后续观众客户端就可以基于掩膜信息实时对第一直播视频图像进行调整。

第一直播视频图像的掩膜信息可以用来标识哪些区域是前景区域,哪些区域是背景区域。建立与第一直播视频图像相同的mask图像,通过算法将该mask图像中前景区域的像素值设置为第一数值,例如设置为1,将该mask图像中背景区域的像素值设置为第二数值,例如设置为0,则得到第一直播视频图像的掩膜信息。算法可以采用现有技术中已有的算法实现,例如现有技术中已有的前后背景分离技术或目标检测技术等等。如果本实施例的装置在主播客户端执行,则主播客户端调用算法生成mask信息。如果本实施例的装置在服务器执行,服务器转码时调用算法生成mask信息。

传输模块73,用于将所述第一直播视频图像及其掩膜信息传输给观众客户端,以使所述观众客户端根据所述第一直播视频图像及其掩膜信息得到第二直播视频图像。

生成掩膜信息之后,将第一直播视频图像及其掩膜信息一同发送给观众客户端,观众客户端就可以基于掩膜信息对第一直播视频图像进行调整,得到第二直播视频图像,在本客户端显示该第二直播视频图像。

本实施例提供的直播视频图像处理装置满足了用户多元化的需求,增加了直播的趣味性和观赏性,提升了用户观看体验,提高了直播视频的播放效果。

传输模块73将第一直播视频图像及其掩膜信息传输给观众客户端的方式有很多种,下面结合四个实施例进行说明。应当理解的是,本发明并不限制于下述四个实施例,传输模块73还可以采用其它传输方式将第一直播视频图像及其掩膜信息传输给观众客户端。

实施例一

在一个实施例中,所述传输模块73包括:

第一图像通道获得单元,用于在所述第一直播视频图像的原始图像通道中添加用于传输掩膜信息的图像通道,得到第一图像通道;

直播视频流生成单元,用于对所述第一图像通道进行编码,生成直播视频流;

直播视频流传输单元,用于将所述直播视频流传输给观众客户端。

实施例二

在一个实施例中,所述传输模块73,包括:

第三直播视频图像获得单元,用于将所述掩膜信息混入所述第一直播视频图像中,得到第三直播视频图像;

直播视频流生成单元,用于对所述第三直播视频图像进行编码,生成直播视频流;

直播视频流传输单元,用于将所述直播视频流传输给观众客户端。

在第一直播视频图像的数据中添加掩膜信息,得到第三直播视频图像的数据。添加掩膜信息的方式有很多种,下面结合两个实施例进行说明。应当理解的是,本发明并不限制于下述两种方式,用户还可以采用其它方式将掩膜信息混入第一直播视频图像的数据中。

在一个实施例中,所述第三直播视频图像获得单元对所述第一直播视频图像进行颜色空间转换,以在所述第一直播视频图像的图像区域中留出空位;在所述空位中填入所述掩膜信息,得到第三直播视频图像。

在另一个实施例中,所述第三直播视频图像获得单元用于降低所述第一直播视频图像的分辨率或者图像尺寸,以在所述第一直播视频图像的图像区域中留出空闲区域;在所述空闲区域中填入所述掩膜信息,得到第三直播视频图像。

实施例三

在一个实施例中,所述传输模块73,包括:

直播视频流生成单元,用于对所述第一直播视频图像进行编码,生成直播视频流;

传输单元,用于在所述直播视频流的扩展字段中填入所述掩膜信息,然后传输给观众客户端。

实施例四

在一个实施例中,所述传输模块73,包括:

直播视频流生成单元,用于对所述第一直播视频图像进行编码,生成直播视频流;

掩膜信息流生成单元,用于对所述掩膜信息进行编码,生成掩膜信息流;

传输单元,用于将所述直播视频流和所述掩膜信息流传输给观众客户端。

然后从观众客户端的角度出发,对本发明提供的直播视频图像处理方法和装置的具体实施方式进行详细介绍。

如图8所示,在一个实施例中,一种直播视频图像处理方法,包括:

s81、接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息。

第一直播视频图像包括主播客户端实时录制的直播视频图像,进一步的,还可以包括观众客户端上传的弹幕等等,其中,弹幕指的是通过直播应用程序观看直播视频时弹出的评论性字幕。主播客户端通过直播应用程序进行直播视频图像的采集,得到直播视频图像。

掩膜信息是目标物轮廓的矢量图和/或位图。矢量图也称为面向对象的图像或绘图图像,是计算机图形学中用点、直线或者多边形等基于数学方程的几何图元表示图像。位图又叫点阵图或像素图,计算机屏幕上的图都是由屏幕上的发光点(即像素)构成的,每个点用二进制数据来描述其颜色与亮度等信息,这些点是离散的,类似于点阵,多个像素的色彩组合就形成了图像,称之为位图。矢量图和位图的所需字节数可以通过参数控制。

第一直播视频图像的掩膜信息可以用来标识哪些区域是前景区域,哪些区域是背景区域。生成掩膜信息之后,主播客户端将第一直播视频图像及其掩膜信息通过服务器一同发送给观众客户端。

s82、根据所述第一直播视频图像及其掩膜信息,得到第二直播视频图像。

观众客户端就可以基于掩膜信息对第一直播视频图像进行调整,得到第二直播视频图像,在本客户端显示该第二直播视频图像。

为了更好的理解基于掩膜信息对第一直播视频图像调整的过程,结合两个例子进行说明。例如,用户想要改变第一直播视频图像的背景,例如将该背景替换成特效背景、风格化背景、现实场景背景和游戏背景等等,就可以基于该掩膜信息从第一直播视频图像中抠出前景区域图像,然后将该前景区域图像叠加到想要替换的背景上显示。又例如,用户想要将第一直播视频图像中的前景换成设置的画面,例如前景为主播图像,用户想要换成自己的图像,则可以基于该掩膜信息从第一直播视频图像中抠出背景区域图像,然后将想要替换的图像叠加到抠出的背景区域图像上显示。

本实施例提供的直播视频图像处理方法满足了用户多元化的需求,增加了直播的趣味性和观赏性,提升了用户观看体验,提高了直播视频的播放效果。

对应于上述四种传输第一直播视频图像以及掩膜信息的方式,观众客户端还需要进行对应的解码操作,以获得主播客户端发送的第一直播视频图像以及掩膜信息。下面结合四个实施例进行说明。

实施例一

如图9所示,在一个实施例中,所述接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息,包括:

s91、接收主播客户端在直播过程中传输的直播视频流,其中,所述直播视频流通过对第一图像通道编码生成,所述第一图像通道通过在所述第一直播视频图像的原始图像通道中添加用于传输掩膜信息的图像通道得到。

一幅完整的图像,一般是由红色、绿色和蓝色三个通道组成的,它们共同作用产生了完整的图像。第一直播视频的原始图像通道一般指的即是红色、绿色和蓝色三个通道。在该三个通道的基础上增加一个新的图像通道,增加的该图像通道用于传输掩膜信息。具体增加新的图像通道的方式可以根据现有技术中已有的方式实现。对原始图像通道和增加的图像通道传输的图像同时进行编码,生成直播视频流。可选的,直播视频流为标准视频流,例如h264、mpeg、h26x等等。观众客户端接收该直播视频流。

s92、对所述直播视频流进行解码,得到所述第一直播视频图像的原始图像通道和用于传输掩膜信息的图像通道。

由于直播视频流为对原始图像通道和增加的图像通道传输的图像同时进行编码得到,因此对该直播视频流进行解码,就可以获得第一直播视频图像的原始图像通道和用于传输掩膜信息的图像通道。

s93、从所述第一直播视频图像的原始图像通道中获取所述第一直播视频图像。

第一直播视频图像的原始图像通道用于传输第一直播视频图像,因此通过该原始图像通道可以获取第一直播视频图像。

s94、从所述用于传输掩膜信息的图像通道中获取所述掩膜信息。

增加的图像通道用于传输掩膜信息,因此通过该增加的图像通道可以获取掩膜信息。

实施例二

如图10所示,在一个实施例中,所述接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息,包括:

s101、接收主播客户端在直播过程中传输的直播视频流,其中,所述直播视频流通过对第三直播视频图像编码生成,所述第三直播视频图像通过在第一直播视频图像中混入掩膜信息得到。

在第一直播视频图像的数据中添加掩膜信息,得到第三直播视频图像的数据。对第三直播视频图像进行编码,生成直播视频流。观众客户端接收该直播视频流。

s102、对所述直播视频流进行解码,获得第一直播视频图像和掩膜信息。

添加掩膜信息的方式不同,解码方式也不同,下面结合两个实施例进行说明。

在一个实施例中,所述第三直播视频图像通过在第一直播视频图像的图像区域的空位中填入掩膜信息得到,所述空位通过对所述第一直播视频图像进行颜色空间转换得到;所述对所述直播视频流进行解码,获得第一直播视频图像和掩膜信息,包括:

s1021、对所述空位进行解码,获得掩膜信息。

空位中填入的是掩膜信息,因此对空位进行解码,就可以获得掩膜信息。

s1022、对所述第一直播视频图像的图像区域中除空位之外的区域进行解码,然后进行颜色空间逆转换,获得第一直播视频图像。

空位之外的区域填入的是颜色空间转换后的第一直播视频图像的数据,因此对空位之外的区域进行解码后再进行颜色空间逆转换,例如,编码时颜色空间转换是将rgb模式转换成yuv模式,则颜色空间逆转换就是将yuv模式转换成rgb模式,颜色空间逆转换后就可以得到第一直播视频图像。

在另一个实施例中,所述第三直播视频图像通过在第一直播视频图像的图像区域的空闲区域中填入掩膜信息得到,所述空闲区域通过降低所述第一直播视频图像的分辨率或者图像尺寸得到;所述对所述直播视频流进行解码,获得第一直播视频图像和掩膜信息,包括:

s102a、对所述空闲区域进行解码,获得掩膜信息。

空闲区域中填入的是掩膜信息,因此对空闲区域进行解码,就可以获得掩膜信息。

s102b、对所述第一直播视频图像的图像区域中除空闲区域之外的区域进行解码,然后恢复分辨率或者图像尺寸,获得第一直播视频图像。

空闲区域之外的区域填入的是降低分辨率或者图像尺寸后的第一直播视频图像的数据,因此对空闲区域之外的区域进行解码后再进行分辨率的恢复或者图像尺寸的恢复,例如,编码时将第一直播视频图像由分辨率a降为分辨率b,则解码后需要将第一直播视频图像由分辨率b恢复至分辨率a,恢复分辨率或者图像尺寸后就获得第一直播视频图像。

实施例三

如图11所示,在一个实施例中,所述接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息,包括:

s111、接收主播客户端在直播过程中传输的直播视频流以及所述直播视频流扩展字段中的掩膜信息,其中,所述直播视频流通过对第一直播视频图像编码生成。

对第一直播视频图像进行编码,生成直播视频流。可选的,直播视频流为标准视频流,例如h264、mpeg、h26x等等。在直播视频流的扩展字段附带掩膜信息。观众客户端接收直播视频流和掩膜信息。

s112、对所述直播视频流进行解码,获得第一直播视频图像。

对直播视频流进行解码,就可以获得第一直播视频图像。

s113、从所述直播视频流的扩展字段中获取掩膜信息。

扩展字段中存有掩膜信息,对扩展字段进行解码,就可以获得掩膜信息。

实施例四

如图12所示,在一个实施例中,所述接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息,包括:

s121、接收主播客户端在直播过程中传输的直播视频流以及掩膜信息流,其中,所述直播视频流通过对第一直播视频图像编码生成,所述掩膜信息流通过对掩膜信息编码生成。

对第一直播视频图像进行编码,生成直播视频流。可选的,直播视频流为标准视频流,例如h264、mpeg、h26x等等。对掩膜信息单独进行编码,生成掩膜信息流。观众客户端接收直播视频流和掩膜信息流。

s122、对所述直播视频流进行解码,获得第一直播视频图像。

对直播信息流进行解码,就可以获得第一直播视频图像。

s123、对所述掩膜信息流进行解码,获得掩膜信息。

对掩膜信息流进行解码,就可以获得掩膜信息。将掩膜信息和第一直播视频图像进行同步。

基于同一发明构思,本发明还提供一种直播视频图像处理装置,下面结合附图对本发明装置的具体实施方式进行详细介绍。

如图13所示,在一个实施例中,一种直播视频图像处理装置,包括:

接收模块131,用于接收主播客户端在直播过程中传输的第一直播视频图像以及所述第一直播视频图像的掩膜信息。

第一直播视频图像包括主播客户端实时录制的直播视频图像,进一步的,还可以包括观众客户端上传的弹幕等等。主播客户端通过直播应用程序进行直播视频图像的采集,得到直播视频图像。掩膜信息是目标物轮廓的矢量图和/或位图。矢量图和位图的所需字节数可以通过参数控制。第一直播视频图像的掩膜信息可以用来标识哪些区域是前景区域,哪些区域是背景区域。生成掩膜信息之后,主播客户端将第一直播视频图像及其掩膜信息一同发送给观众客户端。

第二直播视频图像获得模块132,用于根据所述第一直播视频图像及其掩膜信息,得到第二直播视频图像。

观众客户端就可以基于掩膜信息对第一直播视频图像进行调整,得到第二直播视频图像,在本客户端显示该第二直播视频图像。

本实施例提供的直播视频图像处理装置满足了用户多元化的需求,增加了直播的趣味性和观赏性,提升了用户观看体验,提高了直播视频的播放效果。

对应于上述四种传输第一直播视频图像以及掩膜信息的方式,观众客户端还需要进行对应的解码操作,以获得主播客户端发送的第一直播视频图像以及掩膜信息。下面结合四个实施例进行说明。

在第一个实施例中,所述接收模块131,包括:

直播视频流接收单元,用于接收主播客户端在直播过程中传输的直播视频流,其中,所述直播视频流通过对第一图像通道编码生成,所述第一图像通道通过在所述第一直播视频图像的原始图像通道中添加用于传输掩膜信息的图像通道得到;

解码单元,用于对所述直播视频流进行解码,得到所述第一直播视频图像的原始图像通道和用于传输掩膜信息的图像通道;

第一直播视频图像获取单元,用于从所述第一直播视频图像的原始图像通道中获取所述第一直播视频图像;

掩膜信息获取单元,用于从所述用于传输掩膜信息的图像通道中获取所述掩膜信息。

在第二个实施例中,所述接收模块131,包括:

直播视频流接收单元,用于接收主播客户端在直播过程中传输的直播视频流,其中,所述直播视频流通过对第三直播视频图像编码生成,所述第三直播视频图像通过在第一直播视频图像中混入掩膜信息得到;

解码单元,用于对所述直播视频流进行解码,获得第一直播视频图像和掩膜信息。

添加掩膜信息的方式不同,解码方式也不同,下面结合两个实施例进行说明。

在一个实施例中,所述第三直播视频图像通过在第一直播视频图像的图像区域的空位中填入掩膜信息得到,所述空位通过对所述第一直播视频图像进行颜色空间转换得到;所述解码单元用于对所述空位进行解码,获得掩膜信息;对所述第一直播视频图像的图像区域中除空位之外的区域进行解码,然后进行颜色空间逆转换,获得第一直播视频图像。

在另一个实施例中,所述第三直播视频图像通过在第一直播视频图像的图像区域的空闲区域中填入掩膜信息得到,所述空闲区域通过降低所述第一直播视频图像的分辨率或者图像尺寸得到;所述解码单元用于对所述空闲区域进行解码,获得掩膜信息;对所述第一直播视频图像的图像区域中除空闲区域之外的区域进行解码,然后恢复分辨率或者图像尺寸,获得第一直播视频图像。

在第三个实施例中,所述接收模块131,包括:

数据接收单元,用于接收主播客户端在直播过程中传输的直播视频流以及所述直播视频流扩展字段中的掩膜信息,其中,所述直播视频流通过对第一直播视频图像编码生成;

解码单元,用于对所述直播视频流进行解码,获得第一直播视频图像;

掩膜信息获取单元,用于从所述直播视频流的扩展字段中获取掩膜信息。

在第四个实施例中,所述接收模块131,包括:

接收单元,用于接收主播客户端在直播过程中传输的直播视频流以及掩膜信息流,其中,所述直播视频流通过对第一直播视频图像编码生成,所述掩膜信息流通过对掩膜信息编码生成;

第一解码单元,用于对所述直播视频流进行解码,获得第一直播视频图像;

第二解码单元,用于对所述掩膜信息流进行解码,获得掩膜信息。

为了更好的理解上述直播视频图像处理方法和装置,下面再结合几个应用场景进行说明。

应用场景一

主播客户端或者服务器生成直播视频图像的掩膜信息,然后将直播视频图像以及掩膜信息传输给观众客户端,该掩膜信息包括直播视频图像的主播人像区域。也就是说主播客户端或者服务器将直播视频图像的主播人像区域生成为掩膜信息。除此之外,服务器还可以观众直播间的弹幕分发至该直播间中各个观众客户端。其中,掩膜信息将主播人物区域作为前景区域,将弹幕作为背景区域的一部分。

观众客户端的界面中可以设置弹幕操作控件,弹幕操作控件的功能可以为是否显示弹幕,或者是否将弹幕在主播人物画面后面显示,等等。

以不显示弹幕为例,当通过该弹幕操作控件输入不显示弹幕的指令时,观众客户端根据掩膜信息从直播视频图像中去除弹幕(或者将整个背景区域都去除),则直播视频图像中不再显示弹幕,从而避免弹幕遮挡主播人物画面,保证了直播视频图像播放效果。

以将弹幕在主播人物画面后面显示为例,当通过该弹幕操作控件输入将弹幕在主播人物画面后面显示的指令时,观众客户端根据掩膜信息从直播视频图像中提取主播人物画面和包括弹幕的背景区域画面,将主播人物画面叠加到包括弹幕的背景区域画面上面显示,从而避免弹幕遮挡主播人物画面,保证了直播视频图像播放效果。

应用场景二

为主播客户端提供丰富的直播背景,如特效背景、风格化背景、现实场景背景、游戏画面背景等等。主播可以根据直播内容随时进行直播视频画面的背景替换,以丰富直播的场景,增加直播的趣味性和观赏性,提升直播效果。

以游戏画面背景为例,主播客户端在直播过程中可以将主播背景替换成游戏画面,获得直播视频图像。主播客户端或者服务器生成直播视频图像的掩膜信息,然后将直播视频图像以及掩膜信息传输给观众客户端,其中,掩膜信息将主播人物作为前景区域,将游戏画面作为背景区域。

观众客户端接收到直播视频图像以及掩膜信息后,可以根据掩膜信息从直播视频图像中扣出背景区域(即游戏画面),然后输入自定义的前景区域图像,例如观众自己的人物画面等,将自定义的前景区域画面叠加到背景区域的上面进行显示。

通过该种方式为观众客户端提供了多种直播场景,提升了直播效果。

应用场景三

为观众客户端提供丰富的直播背景,如特效背景、风格化背景、现实场景背景、游戏画面背景等等。观众可以根据直播内容随时进行直播视频画面的背景替换,以丰富直播的场景,增加直播的趣味性和观赏性,提升直播效果。

主播客户端或者服务器生成直播视频图像的掩膜信息,然后将直播视频图像以及掩膜信息传输给观众客户端,其中,掩膜信息将主播人物作为前景区域,将实际直播场景作为背景区域。

观众客户端接收到直播视频图像以及掩膜信息后,可以根据掩膜信息从直播视频图像中扣出前景区域(即主播人物画面),然后输入自定义的背景区域图像,例如游戏画面等,将主播人物画面叠加到自定义的背景区域图像的上面进行显示。

通过该种方式观众客户端可以根据需要自行设置直播场景,提升了直播效果。

应用场景四

主播客户端或者服务器生成直播视频图像的掩膜信息,然后将直播视频图像以及掩膜信息传输给观众客户端,其中,掩膜信息将主播人物作为前景区域,将实际直播场景作为背景区域。

设置礼物特效背景替换触发条件,以在观众刷礼物时提供礼物特效背景。观众客户端接收到直播视频图像以及掩膜信息后,若检测到直播间中有观众刷礼物,根据掩膜信息从直播视频图像中抠出实际直播场景,将实际直播场景替换为礼物特效背景后显示。

通过该种方式可以刺激用户消费,也能增加直播的趣味性,提升了直播效果,提高了用户的留存率。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述的直播视频图像处理方法。其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。

本发明实施例还提供一种计算机设备,所述计算机设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的直播视频图像处理方法。

图14为本发明计算机设备的结构示意图,包括处理器1420、存储装置1430、输入单元1440以及显示单元1450等器件。本领域技术人员可以理解,图14示出的结构器件并不构成对所有计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储装置1430可用于存储应用程序1410以及各功能模块,处理器1420运行存储在存储装置1430的应用程序1410,从而执行设备的各种功能应用以及数据处理。存储装置1430可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、zip盘、u盘、磁带等。本发明所公开的存储装置包括但不限于这些类型的存储装置。本发明所公开的存储装置1430只作为例子而非作为限定。

输入单元1440用于接收信号的输入,以及接收第一直播视频图像等。输入单元1440可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元1450可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元1450可采用液晶显示器、有机发光二极管等形式。处理器1420是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储装置1430内的软件程序和/或模块,以及调用存储在存储装置内的数据,执行各种功能和处理数据。

在一实施方式中,计算机设备包括一个或多个处理器1420,以及一个或多个存储装置1430,一个或多个应用程序1410,其中所述一个或多个应用程序1410被存储在存储装置1430中并被配置为由所述一个或多个处理器1420执行,所述一个或多个应用程序1410配置用于执行以上实施例所述的直播视频图像处理方法。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

应该理解的是,在本发明各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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