CN109413508A - 图像混合的方法、装置、设备、推流方法及直播系统 - Google Patents
图像混合的方法、装置、设备、推流方法及直播系统 Download PDFInfo
- Publication number
- CN109413508A CN109413508A CN201811260887.2A CN201811260887A CN109413508A CN 109413508 A CN109413508 A CN 109413508A CN 201811260887 A CN201811260887 A CN 201811260887A CN 109413508 A CN109413508 A CN 109413508A
- Authority
- CN
- China
- Prior art keywords
- video image
- watermarking images
- image
- processed
- added
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
- H04N21/8358—Generation of protective data, e.g. certificates involving watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本申请提供一种图像混合的方法、装置、设备、推流方法及直播系统。所述图像混合方法包括:获取待处理的视频图像和待添加的水印图像;根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。在添加水印图像的过程中考虑了水印图像的Alpha通道的参数,这样在添加包含透明通道的水印图像后的视频图像也有很好的精度,不会失真。
Description
技术领域
本申请涉及直播技术领域,尤其涉及一种图像混合的方法、装置、设备、推流方法及直播系统。
背景技术
在直播过程中,通常主播客户端需要在直播画面中添加水印后再将直播画面推送给观众,目前主要是通过GPU将水印图像与直播图像混合添加到直播画面,且技术已非常成熟。但是对于IOS系统,当主客户播端在后台运行时,如游戏直播时,游戏软件在前台运行,主播客户端在后台运行,则无法调用GPU进行图像混合,此时,只能通过CPU对图像进行处理。目前,通过CPU在图像中添加水印的方法主要是通过将水印RGBA图转换成YUV格式后再添加到推流的直播画面,这种方法相比于其他添加水印的方法具有无需遍历整张推流画面,CPU消耗比较低的优点,但是由于在将水印图像由RGBA格式转换成YUV格式时,只能将水印图像的RGB 3个通道的数据转换成YUV格式,造成有透明通道的水印图像添加到直播画面后颜色不正确,精度有损失。
发明内容
有鉴于此,本申请提供了一种图像混合的方法、装置、设备、视频直播方法及系统。
首先,本申请的第一方面提供了一种图像混合的方法,所述方法包括:
获取待处理的视频图像和待添加的水印图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。
本申请的第二方面提供了一种图像混合的装置,所述装置包括:
获取模块,用于获取待处理的视频图像和待添加的水印图像;
添加模块,用于根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。
本申请的第三方面提供了一种设备,所述设备可用于利用CPU进行图像混合,所述设备包括:
存储器,用于存储可执行的计算机程序指令;
CPU处理器,用于执行所述计算机程序指令以实现以下步骤:
获取待处理的视频图像和待添加的水印图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。
本申请的第四方面提供了一种存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待处理的视频图像和待添加的水印图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。
本申请的第五方面提供了一种推流方法,所述方法应用于直播系统的主播客户端,所述方法包括:
主播客户端利用CPU获取待处理的视频图像和待添加的水印图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像;
将所述添加水印后的视频图像发送给直播服务器。
本申请的第六方面提供了一种视频直播系统,所述直播系统包括主播客户端、直播服务器和观众客户端;
所述主播客户端利用CPU获取待处理的视频图像和待添加的水印图像,根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像,将所述添加水印后的视频图像发送给直播服务器;
所述直播服务器接收所述添加水印的视频图像并发送至所述观众客户端;
所述观众客户端接收所述添加水印后的视频图像,并进行播放。
有益效果:利用CPU获取待处理的水印图像和视频图像后,再根据所述水印图像的Alpha通道参数将水印图像添加到视频图像中,在添加水印图像的过程中考虑了水印图像的Alpha通道的参数,这样可以保证添加包含透明通道的水印图像后的视频图像有很好的精度,不会失真。
附图说明
图1是本申请一示例性实施例示出的一种添加水印后的直播视频图像;
图2是本申请一示例性实施例示出的一种图像混合的方法流程图;
图3是本申请一示例性实施例示出的一种图像混合的方法流程图;
图4是本申请一示例性实施例示出的一种图像混合的方法流程图;
图5是本申请一示例性实施例示出的一种图像混合的方法流程图;
图6是本申请一示例性实施例示出的一种图像混合的方法流程图;
图7是本申请一示例性实施例示出一种图像混合的装置结构框图;
图8是本申请一示例性实施例示出一种设备结构框图;
图9是本申请一示例性实施例示出一种直播系统的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
如图1所示,直播过程中,通常主播客户端会在直播画面中添加水印后再将直播画面推送给观众,水印中可包括版权信息或者一些其他需要观众注意的信息。加上水印后,既可以防止其他平台盗用视频图像,也可以时刻提醒观众一些重要的信息。目前主要是通过GPU将水印图像与直播图像混合添加到直播画面,且技术已非常成熟。但是,对于iOS系统,当直播软件在后台运行时,则无法调用GPU对图像进行处理,比如游戏直播时,游戏软件在前台运行,主播客户端在后台运行,则无法调用GPU来对视频图像添加水印,此时,只能通过CPU对图像进行处理。目前,通过CPU来添加水印的方法大多需要遍历整个视频图像的大图,CPU消耗率比较高。为了降低CPU消耗率,现有技术中有将水印图像由RBGA格式转换成YUV格式,这样就只需要遍历水印图像的小图,无需遍历大图,可降低CPU损耗率。但是,再将水印图像由RGBA格式转换成YUV格式时,只能转换RGB三个通道的数据,导致具有透明通道的水印图像添加到直播画面后失真,图像精度比较低。
为了解决将具有透明通道的水印图像添加到直播视频图像导致添加水印的视频图像失真的问题,本申请提出了一种利用CPU进行图像混合的方法,根据水印图像的Alpha通道参数将水印图像添加到视频图像中生成添加水印后的视频图像,图2为利用CPU进行图像混合的方法流程图,具体步骤如下:
S201、获取待处理的视频图像和待添加的水印图像;
S202、根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。
本申请所提供的利用CPU进行图像混合的方法可用于直播系统的主播客户端。直播过程中,利用CPU从推流的视频帧中获取需要添加水印的待处理视频图像,获取所述待处理视频图像可根据实际需求具体去获取,比如,如果每张视频图像都需要添加水印,则获取需要推流的每张视频图像,如果只需某些视频图像需要添加水印,则可预先对视频图像进行编号,只获取指定编号的视频图像。获取视频图像后,再获取需要添加到所述视频图像的水印图像,水印图像可以预先保存在本地文件中,可以包括文字、图片、或者文字与图片的结合,文字可以是透明的文字,或是带有颜色文字,可以根据具体需求设置。水印图像可以是RGBA格式的,RGBA格式的图像包括四个通道,即R通道、G通道、B通道和Alpha通道,R通道、G通道、B通道三个通道表示颜色通道,Alpha通道表示灰度,代表图像的透明度。现有技术在添加水印的时候只考虑R通道、G通道、B通道,未考虑Alpha通道,因而会导致在添加具有透明通道的水印时,处理后的图像失真。本申请在获取水印图像后,可以根据水印图像的Alpha通道参数将水印图像添加到视频图像中以生成添加水印后的视频图像。由于在添加水印的时候考虑的水印图像的Alpha通道参数,这样在添加有透明通道的水印图像到视频图像中时,处理后的视频图像也不会失真,保证了处理后的视频图像的精度。
在一个实施例中,如图3所示,根据水印图像的Alpha通道参数将水印图像添加到视频图像中,以生成添加水印后的视频图像的具体步骤包括S301-S304。
S301、获取所述视频图像的YUV数据;
直播过程中,将直播画面截图后的视频图像推流到服务器的数据一般为视频图像的YUV数据,可以从推流的数据中获取待处理的视频图像的YUV数据。
S302、获取所述水印图像的RGBA数据;
水印图像可以为RGBA格式的图像,获取待添加的水印图像的RGBA数据。
S303、将所述视频图像的YUV数据转化为RGB数据;
将水印图像添加到待处理的视频图像,即将水印图像与待处理视频图像进行混合,在图像混合之前一般需要将两个图像的格式统一以后再进行处理,由于待处理的视频图像为YUV格式,所以可以将待处理视频图像由YUV格式转化成RGB格式,从而可以得到待处理视频图像的RGB数据。
S304、基于所述水印图像的RGBA数据和所述视频图像的RGB数据,根据水印图像的Alpha通道参数计算得到添加水印后的视频图像的各像素点的RGB数值。
由于图像都是由一个个像素点构成的,每个像素点有一个对应的RGB值,这些具有不同RGB值的像素点就构成了一张图像。所以,要得到将水印图像与待处理视频图像混合后的图像,即添加水印后的视频图像,可以通过计算获得添加水印后的视频图像各个像素点的RGB值。在获取水印图像的RGBA数据和待处理的视频图像的RGB数据后,可以根据水印图像的Alpha通道参数计算得到添加水印后的视频图像的各像素点的RGB数值。
在一个实施例中,根据水印图像的Alpha通道参数计算得到添加水印后的视频图像的各像素点的RGB数值可以通过如下公式计算得到:
其中,公式中的R(i,j)表示添加水印后的视频图像中坐标为(i,j)的像素点的RGB数值,S(i,j)为水印图像中坐标为(i,j)的像素点的RGB数值,BG(i,j)为待处理的视频图像中坐标为(i,j)的像素点的RGB数值,A为水印图像的Alpha通道参数。添加水印后的视频图像由不同的像素点构成,每个像素点对应一个坐标,在计算时,CPU可以根据坐标逐一获取水印图像中和视频图像中的同一坐标对应的像素点的RGB值,然后根据上述公式计算的到各个添加水印后的视频图像各个像素点的RGB值。例如,水印图像上坐标为(i,j)的像素点的RGB值S(i,j)为:R=255,G=0,B=0,其中,此像素点的Alpha通道参数255,待处理图像上坐标为(i,j)的像素点的RGB值BG(i,j)为:R=254,G=90,B=80,此时水印图像的Alpha通道参数为255,所以,根据上述公式,此时添加水印后的视频图像坐标为(i,j)的像素点为S(i,j),去水印图像的RGB值,即R=255,G=0,B=0。若水印图像上坐标为(i,j)的像素点的RGB值S(i,j)为:R=0,G=255,B=255,其中,此像素点的Alpha通道参数为0,待处理图像上坐标为(i,j)的像素点的RGB值BG(i,j)为:R=254,G=90,B=80,此时水印图像的Alpha通道参数为A=0,根据上述公式,则此时添加水印后的视频图像坐标为(i,j)的像素点为BG(i,j),取背景图像的RGB值,即R=254,G=90,B=80。若水印图像上坐标为(i,j)的像素点的RGB值S(i,j)为:R=255,G=0,B=0,其中,此像素点的Alpha通道参数为5。待处理图像上坐标为(i,j)的像素点的RGB值BG(i,j)为:R=5,G=90,B=80。此时,水印图像的Alpha通道参数在0-255之间,可根据公式S(i,j)*(A/255.0)+BG(i,j)*(1-A/255.0)计算添加水印后的图像的RGB值,即R=10,G=88,B=78。
当然,在某些实施例中,在计算添加水印后的图像的像素点时可能会出现RGB值越界的情况,这时,若计算得到的添加水印后的视频图像的像素点的RGB数值小于0,则RGB取0,若计算得到的添加水印后的视频图像的像素点的RGB数值大于255时,则RGB取255。例如根据公式S(i,j)*(A/255.0)+BG(i,j)*(1-A/255.0)计算得到的RGB值可能会越界,即RGB值小于0或大于255,由于RGB数值都在0-255之间,这时,可以在S(i,j)*(A/255.0)+BG(i,j)*(1-A/255.0)<0时,将RGB值的计算结果取0,S(i,j)*(A/255.0)+BG(i,j)*(1-A/255.0)>0时,将RGB值的计算结果取255。
当然,在计算得到的RGB值小于0时取0,大于255时取255,可以减少计算量,简化图像处理过程,但是这种做法也存在弊端,会导致处理后的图像的颜色不够平滑,出现一些颜色不和谐毛躁点。在某个实施例中,为了使添加水印后的视频图像更加平滑,产生更好的视觉效果,可以在根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像生成添加水印后的视频图像之后,采用最近点插值法对添加水印后的视频图像中的毛躁像素点进行平滑处理,以使添加水印部分的图像过渡更自然。
在一个实施例中,采用最近点插值法对添加水印后的视频图像中的毛躁像素点进行平滑处理的具体步骤如图4所示,包括步骤S401-S402:
S401、获取毛躁像素点的坐标;
S402、获取待处理视频图像和添加水印后的视频图像的宽和高;
S403、计算平滑处理后的毛躁像素点的RGB值。
在计算添加水印后的视频图像时,对于RGB值越界的点会直接去临界值,如RGB值小于0,则取0,大于255,则取255,这种方法计算得到的像素点往往会比较毛躁,我们称之为毛躁像素点。为了获得效果更加自然的图像,可以对这些毛躁像素点进行平滑处理。首先,获取这些毛躁像素点的坐标,然后获取添加水印后的视频图像的宽和高以及还未添加水印时的待处理的视频图像的宽和高,然后CPU再计算经平滑处理后的毛躁像素点RGB值,得到处理后的图像。
进一步地,计算平滑处理后的毛躁像素点的RGB值通过插值公式计算,所述插值公式如下:
R′[i,j]=BG[PosY,PosX]
其中,PosX=floor(j/Rw*BGw+0.5)
PosY=floor(i/R′h*BG′h+0.5)
其中,R′[i,j]表示坐标为[i,j]的毛躁像素点经平滑处理后的RGB值,BG[PosY,PosX]为待处理的视频图像坐标为[PosY,PosX]的像素点的RGB值,RW为添加水印后的视频图像的宽,Rh为添加水印后的视频图像的高,BGw为待处理视频图像的宽,BGh为待处理视频图像的高,floor表示向下取整。
例如,在计算添加水印后的视频图像的像素点RGB值时,坐标为(10,10)的像素点RGB值越界了,小于0或大于255,这时可以把这个点标记为毛躁像素点,再通过插值公式重新计算这个毛躁像素点的RGB值,以对其进行平滑处理。比如待处理的视频图像的高为和宽分别为100,添加水印后的视频图像的高和宽也分别为100,根据公式,R′[i,j]=BG[PosY,PosX],我们要计算坐标为(10,10)的像素点平滑后的RGB值,即要得到待处理图像中坐标为[PosY,PosX]的像素点的RGB值,根据PosX=floor(j/Rw*BGw+0.5),PosY=floor(i/R′h*BG′h+0.5),可得到PosX=10,PosY=10,即取待处理图像中坐标为[10,10]的像素点的的RGB值作为平滑后的毛躁点的RGB值。
由于所述根据水印图像的Alpha通道参数将水印图像添加到待处理的视频图像时,CPU在计算添加水印后的视频图像还是需要遍历整个待处理视频图像的大图,计算整个添加水印后的视频图像的像素点RGB值,我们知道,一张视频图像有很多个像素点,如果每个像素点都要计算一遍,那么会导致CPU的计算量特别大,消耗率也很高,容易造成卡顿。为了解决这个问题,在一个实施例中,可以在获取待处理的视频图像和待添加的水印图像之后,根据所述水印图像的大小从所述待处理视频图像中的指定区域截取图像作为背景图像,在截取获得背景图像后,将水印图像添加到背景图像中获得添加水印后混合图像,再将混合图像添加到待处理视频图像中,如图5所示,具体包括以下步骤:
S501根据所述水印图像的大小从所述待处理视频图像中的指定区域截取图像作为背景图像;
S502、根据所述水印图像的Alpha通道参数将所述水印图像添加到所述背景图像生成混合图像;
S503、将所述混合图像添加到所述指定区域得到添加水印后的视频图像。
一般水印图像只是一张很小的图,只需占据视频图像的一个很小的位置,为了减小在图像混合时CPU的计算量,可以根据水印需添加的位置从待处理视频图像中截取一张小图作为背景图像,当然所述背景图像的大小可以与水印图像大小一致,然后再根据所述水印图像的Alpha通道参数将所述水印图像添加到所述背景图像生成混合图像,当然将所述水印图像添加到背景图像的方法可以与将水印图像添加到待处理视频图像的方法一致,背景图像相比于整个待处理的视频图像而言要小,所以在处理过程中无需计算那么多像素点的RGB值,因而可以大大减小CPU的消耗率。将水印图像添加到背景图像生成混合图像后,再将得到的混合图像添加到待处理视频图像中背景图像的截取位置,这样就可以得到完整的添加水印后的视频图像。
为了进一步解释本申请的一种图像混合的方法,以下结合图6以一个具体的实施例进行说明。
某直播系统的主播客户端需要在每一帧直播视频图像中添加一个LOGO水印,以防止视频图像被盗用。其中,所述直播视频图像大小为960mm(宽)×540mm(高),所述水印图像为100mm(宽)×100mm(高)。可采用以下方法在视频图像中添加水印。首先,主播客户端从需要推流的视频图像中获取待处理的视频图像,并获取所述视频图像的YUV数据(S601),将待处理视频图像的YUV数据转化成RGB数据(S602),然后从本地保存的水印图像中获取待添加的水印图像以及待添加水印图像的RGBA数据(S603),根据所述水印图像的大小,从视频图像添加水印区域截取一个大小为100mm(宽)×100mm(高)图像作为背景图像(S604),获取所述背景图像的RGB数据(S605),得到水印图像的RGBA数据及背景图像的RGB数据后,根据水印图像的Alpha通道参数计算得到将水印图像添加到背景图像后的混合图像的各像素点的RGB值(S606),计算公式如下:
其中,R(i,j)表示混合图像中坐标为(i,j)的像素点的RGB数值,S(i,j)为水印图像中坐标为(i,j)的像素点的RGB数值,BG(i,j)为混合图像中坐标为(i,j)的像素点的RGB数值,A为水印图像的Alpha通道参数。
在计算混合图像像素点的RGB值时,如果S(i,j)*(A/255.0)+BG(i,j)*(1-A/255.0)的值小于0,则取0,如果S(i,j)*(A/255.0)+BG(i,j)*(1-A/255.0)的值大于255,则取255。并将这些RGB值越界的像素点的坐标记录下来,标记为毛躁点。得到混合图像后,采用临近点插值法对混合图像中的毛躁点进行平滑处理(S607),处理过程如下:
先获取各毛躁像素点的坐标,然后获取所述混合图像及待出视频图像的的宽和高,再根据以下计算公式计算得到平滑处理后的各毛躁点的RGB值:
R′[i,j]=BG[PosY,PosX]
其中,PosX=floor(j/Rw*BGw+0.5)
PosY=floor(i/Rh*BGh+0.5)
其中,R′[i,j]表示坐标为[i,j]的毛躁像素点经平滑处理后的RGB值,BG[PosY,PosX]为背景图像中坐标为[PosY,PosX]的像素点的RGB值,RW为混合图像的宽,Rh为混合图像的高,BGw为背景图像的宽,BGh为背景图像的高,floor表示向下取整。
将毛躁点平滑处理后,可得到比较平滑且过渡自然的平滑处理后的混合图像,再将平滑处理后的混合图像添加到待处理视频图像中截取背景图像的区域,即可得到完整的添加水印后的视频图像(S608)。通过从待处理视频图像截取一个小图作为背景图像与水印图像进行混合处理,可以减小CPU的计算量,降低CPU的利用率,根据水印图像的Alpha通道参数计算混合后的图像的RGB值,使添加包含Alpha通道参数的水印图像后的视频图像不会失真,提升了处理效果。
与所述利用CPU进行图像混合的方法相对应,本申请还提供了一种利用CPU进行图像混合的装置,所述装置如图7所示,包括:
获取模块701,用于获取待处理的视频图像和待添加的水印图像;
添加模块702,用于根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像生成添加水印后的视频图像。
在一实施例中,在获取待处理的视频图像和待添加的水印图像之后还包括:
根据所述水印图像的大小从所述待处理视频图像中的指定区域截取图像作为背景图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像包括:
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述背景图像生成混合图像;
将所述混合图像添加到所述指定区域得到添加水印后的视频图像。
在一个实施例中,根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像具体包括:
获取所述待处理视频图像的YUV数据;
获取所述水印图像的RGBA数据;
将所述视频图像的YUV数据转化为RGB数据;
基于所述水印图像的RGBA数据和所述视频图像的RGB数据,根据水印图像的Alpha通道参数计算得到添加水印后的视频图像的各像素点的RGB数值。
在一个实施例中,所述添加水印后的视频图像的各像素点的RGB数值具体通过以下公式计算:
其中,R(i,j)表示添加水印后的视频图像中坐标为(i,j)的像素点的RGB数值,S(i,j)为水印图像中坐标为(i,j)的像素点的RGB数值,BG(i,j)为待处理的视频图像中坐标为(i,j)的像素点的RGB数值,A为水印图像的Alpha通道参数。
在一个实施例中,当所述公式中S(i,j)*(A/255.0)+BG(i,j)*(1-A/255.0)小于0时,R(i,j)取0,当所述公式中S(i,j)*(A/255.0)+BG(i,j)*(1-A/255.0)大于255时,R(i,j)取255。
在一个实施例中,在根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像之后,还包括:
对添加水印后的视频图像的毛躁像素点进行平滑处理。
在一个实施例中,所述对添加水印后的视频图像的毛噪像素点进行平滑处理具体包括:
获取毛躁像素点的坐标;
获取所述添加水印后的视频图像的宽和高;
获取待处理视频图像的宽和高;
计算平滑处理后的毛躁像素点的RGB值。
在一个实施例中,所述计算平滑处理后的毛躁像素点的RGB值通过插值公式计算,所述插值公式如下:
R′[i,j]=BG[PosY,PosX]
其中,PosX=floor(j/Rw*BGw+0.5)
PosY=floor(i/Rh*BGh+0.5)
其中,R′[i,j]表示坐标为[i,j]的毛躁像素点经平滑处理后的RGB值,BG[PosY,PosX]为待处理的视频图像坐标为[PosY,PosX]的像素点的RGB值,RW为添加水印后的视频图像的宽,Rh为添加水印后的视频图像的高,BGw为待处理视频图像的宽,BGh为待处理视频图像的高,floor表示向下取整。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请还提供了一种设备,所述设备可用于利用CPU进行图像混合,如图8所示,所述设备包括:
存储器,用于存储可执行的计算机程序指令;
CPU处理器,用于执行所述计算机程序指令以实现以下方法步骤:
获取待处理的视频图像和待添加的水印图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。
进一步地,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现以下方法步骤:
获取待处理的视频图像和待添加的水印图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。
本申请对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供的利用CPU进行图像混合的方法可用于直播当中,本申请还提供了一种推流方法,所述方法包括:
主播客户端利用CPU获取待处理的视频图像和待添加的水印图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像;
将所述添加有水印后的视频图像发送给直播服务器。
此外,本申请还提供了一种视频直播系统,如图9所示,所述直播系统包括主播客户端902、直播服务器901和观众客户端903;
所述主播客户端利用CPU获取待处理的视频图像和待添加的水印图像,根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像,将所述添加有水印后的视频图像发送给直播服务器;
所述直播服务器接收所述处理后添加水印的视频图像并发送至所述观众客户端;
所述观众客户端接收所述处理后的添加水印后的视频图像,并进行播放。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (11)
1.一种利用CPU进行图像混合的方法,其特征在于,所述方法包括:
获取待处理的视频图像和待添加的水印图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。
2.如权利要求1所述的一种利用CPU进行图像混合的方法,其特征在于,在获取待处理的视频图像和待添加的水印图像之后还包括:
根据所述水印图像的大小从所述待处理视频图像中的指定区域截取图像作为背景图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像包括:
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述背景图像生成混合图像;
将所述混合图像添加到所述指定区域得到添加水印后的视频图像。
3.如权利要求1所述的一种利用CPU进行图像混合的方法,其特征在于,根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像具体包括:
获取所述待处理视频图像的YUV数据;
获取所述水印图像的RGBA数据;
将所述视频图像的YUV数据转化为RGB数据;
基于所述水印图像的RGBA数据和所述视频图像的RGB数据,根据水印图像的Alpha通道参数计算得到添加水印后的视频图像的各像素点的RGB数值。
4.如权利要求3所述的一种利用CPU进行图像混合的方法,其特征在于,若计算得到的添加水印后的视频图像的像素点的RGB数值小于0时,则RGB取0,若计算得到的添加水印后的视频图像的像素点的RGB数值大于255时,则RGB取255。
5.如权利要求1-4所述的一种利用CPU进行图像混合的方法,其特征在于,在根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像之后,还包括:
对添加水印后的视频图像的毛躁像素点进行平滑处理。
6.如权利要求5所述的一种图像混合的方法,其特征在于,所述对添加水印后的视频图像的毛噪像素点进行平滑处理具体包括:
获取毛躁像素点的坐标;
获取所述添加水印后的视频图像的宽和高;
获取待处理视频图像的宽和高;
计算平滑处理后的毛躁像素点的RGB值。
7.一种利用CPU进行图像混合的装置,其特征在于,所述装置包括:
获取模块,用于获取待处理的视频图像和待添加的水印图像;
添加模块,用于根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像。
8.一种设备,其特征在于,所述设备可用于利用CPU进行图像混合,所述设备包括:
存储器,用于存储可执行的计算机程序指令;
CPU处理器,用于执行所述计算机程序指令以实现如权利要求1至8的任一项的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项一种利用CPU进行图像混合的方法步骤。
10.一种推流方法,其特征在于,所述方法应用于直播系统的主播客户端,所述方法包括:
利用CPU获取待处理的视频图像和待添加的水印图像;
根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像;
将所述添加水印后的视频图像发送给直播服务器。
11.一种视频直播系统,所述直播系统包括主播客户端、直播服务器和观众客户端,其特征在于,所述主播客户端利用CPU获取待处理的视频图像和待添加的水印图像,根据所述水印图像的Alpha通道参数将所述水印图像添加到所述待处理的视频图像,以生成添加水印后的视频图像,将所述添加水印后的视频图像发送给直播服务器;
所述直播服务器接收所述添加水印的视频图像并发送至所述观众客户端;
所述观众客户端接收所述添加水印后的视频图像,并进行播放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811260887.2A CN109413508A (zh) | 2018-10-26 | 2018-10-26 | 图像混合的方法、装置、设备、推流方法及直播系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811260887.2A CN109413508A (zh) | 2018-10-26 | 2018-10-26 | 图像混合的方法、装置、设备、推流方法及直播系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109413508A true CN109413508A (zh) | 2019-03-01 |
Family
ID=65469218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811260887.2A Pending CN109413508A (zh) | 2018-10-26 | 2018-10-26 | 图像混合的方法、装置、设备、推流方法及直播系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109413508A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020244474A1 (zh) * | 2019-06-03 | 2020-12-10 | 中兴通讯股份有限公司 | 视频水印添加、提取的方法、装置和设备 |
CN112637440A (zh) * | 2020-12-17 | 2021-04-09 | 合肥图溯信息技术有限公司 | 一种兼容扫描仪设备的图片隐形水印嵌入方法及系统 |
WO2021115422A1 (zh) * | 2019-12-13 | 2021-06-17 | 深圳市万普拉斯科技有限公司 | 视频叠加水印方法、装置、计算机设备和计算机存储介质 |
CN113994708A (zh) * | 2020-05-28 | 2022-01-28 | 深圳市大疆创新科技有限公司 | 编码方法、解码方法、装置及系统 |
CN114584798A (zh) * | 2022-03-02 | 2022-06-03 | 深圳禾苗通信科技有限公司 | 私人订制直播方法、装置、计算机设备及存储介质 |
CN114598939A (zh) * | 2022-04-25 | 2022-06-07 | 镁佳(北京)科技有限公司 | 一种视频水印添加方法、装置及电子设备 |
CN114863143A (zh) * | 2022-05-20 | 2022-08-05 | 北京百度网讯科技有限公司 | 图像检测方法、装置、电子设备及存储介质 |
CN115499673A (zh) * | 2022-08-30 | 2022-12-20 | 深圳市思为软件技术有限公司 | 一种直播方法及装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166260A (zh) * | 2007-09-12 | 2008-04-23 | 华为技术有限公司 | 图像编码和移除水印的方法及装置 |
CN102184519A (zh) * | 2011-05-26 | 2011-09-14 | 江苏技术师范学院 | 水印图像的嵌入和提取方法 |
CN102183224A (zh) * | 2011-03-15 | 2011-09-14 | 西安理工大学 | 一种基于机器视觉的测控条网点检测方法 |
CN202455458U (zh) * | 2011-12-28 | 2012-09-26 | 成都东银信息技术股份有限公司 | 用于数字电视版权验证的数字水印叠加装置 |
CN103366330A (zh) * | 2012-03-31 | 2013-10-23 | 北大方正集团有限公司 | 水印的设置方法和装置 |
CN104135670A (zh) * | 2014-07-22 | 2014-11-05 | 乐视网信息技术(北京)股份有限公司 | 一种视频播放方法及装置 |
CN107360160A (zh) * | 2017-07-12 | 2017-11-17 | 广州华多网络科技有限公司 | 直播视频与动画融合方法、装置及终端设备 |
CN107610036A (zh) * | 2017-09-26 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种输出直播标识图片的方法、装置及计算机设备 |
US20180211354A1 (en) * | 2017-01-26 | 2018-07-26 | Markany Inc. | Watermark embedding method and apparatus, and system |
CN108701217A (zh) * | 2017-11-23 | 2018-10-23 | 深圳和而泰智能控制股份有限公司 | 一种人脸肤色识别方法、装置和智能终端 |
-
2018
- 2018-10-26 CN CN201811260887.2A patent/CN109413508A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101166260A (zh) * | 2007-09-12 | 2008-04-23 | 华为技术有限公司 | 图像编码和移除水印的方法及装置 |
CN102183224A (zh) * | 2011-03-15 | 2011-09-14 | 西安理工大学 | 一种基于机器视觉的测控条网点检测方法 |
CN102184519A (zh) * | 2011-05-26 | 2011-09-14 | 江苏技术师范学院 | 水印图像的嵌入和提取方法 |
CN202455458U (zh) * | 2011-12-28 | 2012-09-26 | 成都东银信息技术股份有限公司 | 用于数字电视版权验证的数字水印叠加装置 |
CN103366330A (zh) * | 2012-03-31 | 2013-10-23 | 北大方正集团有限公司 | 水印的设置方法和装置 |
CN104135670A (zh) * | 2014-07-22 | 2014-11-05 | 乐视网信息技术(北京)股份有限公司 | 一种视频播放方法及装置 |
US20180211354A1 (en) * | 2017-01-26 | 2018-07-26 | Markany Inc. | Watermark embedding method and apparatus, and system |
CN107360160A (zh) * | 2017-07-12 | 2017-11-17 | 广州华多网络科技有限公司 | 直播视频与动画融合方法、装置及终端设备 |
CN107610036A (zh) * | 2017-09-26 | 2018-01-19 | 武汉斗鱼网络科技有限公司 | 一种输出直播标识图片的方法、装置及计算机设备 |
CN108701217A (zh) * | 2017-11-23 | 2018-10-23 | 深圳和而泰智能控制股份有限公司 | 一种人脸肤色识别方法、装置和智能终端 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020244474A1 (zh) * | 2019-06-03 | 2020-12-10 | 中兴通讯股份有限公司 | 视频水印添加、提取的方法、装置和设备 |
WO2021115422A1 (zh) * | 2019-12-13 | 2021-06-17 | 深圳市万普拉斯科技有限公司 | 视频叠加水印方法、装置、计算机设备和计算机存储介质 |
CN112991135A (zh) * | 2019-12-13 | 2021-06-18 | 深圳市万普拉斯科技有限公司 | 视频叠加水印方法、装置、计算机设备和计算机存储介质 |
CN112991135B (zh) * | 2019-12-13 | 2024-05-07 | 深圳市万普拉斯科技有限公司 | 视频叠加水印方法、装置、计算机设备和计算机存储介质 |
CN113994708A (zh) * | 2020-05-28 | 2022-01-28 | 深圳市大疆创新科技有限公司 | 编码方法、解码方法、装置及系统 |
CN112637440A (zh) * | 2020-12-17 | 2021-04-09 | 合肥图溯信息技术有限公司 | 一种兼容扫描仪设备的图片隐形水印嵌入方法及系统 |
CN114584798A (zh) * | 2022-03-02 | 2022-06-03 | 深圳禾苗通信科技有限公司 | 私人订制直播方法、装置、计算机设备及存储介质 |
CN114598939A (zh) * | 2022-04-25 | 2022-06-07 | 镁佳(北京)科技有限公司 | 一种视频水印添加方法、装置及电子设备 |
CN114863143A (zh) * | 2022-05-20 | 2022-08-05 | 北京百度网讯科技有限公司 | 图像检测方法、装置、电子设备及存储介质 |
CN115499673A (zh) * | 2022-08-30 | 2022-12-20 | 深圳市思为软件技术有限公司 | 一种直播方法及装置 |
CN115499673B (zh) * | 2022-08-30 | 2023-10-20 | 深圳市思为软件技术有限公司 | 一种直播方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109413508A (zh) | 图像混合的方法、装置、设备、推流方法及直播系统 | |
US20220014819A1 (en) | Video image processing | |
US9973730B2 (en) | Modifying video frames | |
CN106411877B (zh) | 一种基于增强现实ar技术的视频直播赠送礼物的实现方法及系统 | |
CA2853212C (en) | System, server, and control method for rendering an object on a screen | |
WO2022041548A1 (zh) | 一种模型的渲染方法和装置 | |
US8666156B2 (en) | Image-based backgrounds for images | |
US20100060652A1 (en) | Graphics rendering system | |
WO2022048097A1 (zh) | 一种基于多显卡的单帧画面实时渲染方法 | |
CN107888987A (zh) | 一种全景视频播放方法及装置 | |
US8885208B2 (en) | Progressive refinement of an edited image using secondary high resolution image processing | |
CN103503032A (zh) | 图形硬件中的纹理化 | |
CN109168014A (zh) | 一种直播方法、装置、设备及存储介质 | |
CN108882055A (zh) | 视频直播方法及系统、合成视频流的方法及装置 | |
US20160059129A1 (en) | Delivery of projections for rendering | |
CN105230032B (zh) | 利用自适应频率提高来创建图像中的细节 | |
CN108604389B (zh) | 连续深度排序图像合成 | |
US20230040777A1 (en) | Method and apparatus for displaying virtual landscape picture, storage medium, and electronic device | |
CN104504447A (zh) | 一种分配虚拟座位图像的方法及装置 | |
WO2023071586A1 (zh) | 画面生成方法、装置、设备及介质 | |
CN106327415A (zh) | 图像处理方法及装置 | |
CN112533005B (zh) | 一种vr视频慢直播的交互方法及系统 | |
CN102750726B (zh) | 一种基于OpenGL实现景深效果的方法 | |
US8063916B2 (en) | Graphics layer reduction for video composition | |
CN101345887A (zh) | 改良的rgb影像缩放方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |
|
RJ01 | Rejection of invention patent application after publication |