CN112752038B - 背景替换方法、装置、电子设备及计算机可读存储介质 - Google Patents
背景替换方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112752038B CN112752038B CN202011581608.XA CN202011581608A CN112752038B CN 112752038 B CN112752038 B CN 112752038B CN 202011581608 A CN202011581608 A CN 202011581608A CN 112752038 B CN112752038 B CN 112752038B
- Authority
- CN
- China
- Prior art keywords
- current frame
- mask data
- data
- background
- video data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 14
- 230000006835 compression Effects 0.000 description 11
- 238000007906 compression Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 8
- 230000011218 segmentation Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000004927 fusion Effects 0.000 description 6
- 230000000873 masking effect Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/272—Means for inserting a foreground image in a background image, i.e. inlay, outlay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/74—Circuits for processing colour signals for obtaining special effects
- H04N9/75—Chroma key
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种背景替换、装置、电子设备及计算机可读存储介质,其中,所述背景替换包括:通过云端处理得到遮罩数据,从云端获取到视频数据,终端判断缓存的视频数据中是否存在当前帧的遮罩数据,如果存在当前帧的遮罩数据,从视频数据中获取所述当前帧的遮罩数据,如果不存在当前帧的遮罩数据,从当前帧的图像中获取当前帧的遮罩数据,将当前帧的遮罩数据与待替换的背景进行融合,同样也实现了背景替换。在无法使用云端处理的遮罩数据时,无缝切换至使用在终端获取的当前帧的遮罩数据,保证视频图像背景替换功能的正常进行,提高了视频图像背景替换的稳定性,也提高了背景替换功能抵抗如网络等外界因素干扰的能力。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种背景替换方法、装置、电子设备及计算机可读存储介质。
背景技术
与传统的视频播放相比,目前盛行的网络直播、点播等视频播放的表现方式更加多样,且互动性更强,能够支持观看视频的用户对视频进行设置,呈现给用户不同的观看效果。比如,用户可以对播放中的视频进行背景设置和修改,将原视频中的背景替换为其他背景,提高视频播放的娱乐性和可操作性,也能提高用户的观看体验。
但实际视频播放中,受到网络等外界因素的影响,对视频进行背景分割和替换的效果不佳,经常出现背景与前景不匹配的情况,背景替换效果不够稳定,导致用户体验不佳。
发明内容
本申请主要解决的技术问题是提供一种背景替换方法、装置、电子设备及计算机可读存储介质,能够较好的、更稳定地实现视频图像的背景替换。
为了解决上述问题,本申请第一方面提供了一种背景替换方法,所述方法包括:从云端获取到视频数据;判断所述视频数据中是否存在当前帧的遮罩数据;如果所述视频数据中存在所述当前帧的遮罩数据,从所述视频数据中获取所述当前帧的遮罩数据;如果所述视频数据中不存在所述当前帧的遮罩数据,从所述当前帧的图像获取所述当前帧的遮罩数据;将所述当前帧的遮罩数据与待替换的背景进行融合,得到新的背景。
为了解决上述问题,本申请第二方面提供了一种背景替换装置,包括:视频数据获取模块,用于从云端获取到视频数据;判断模块,用于判断所述视频数据中是否存在当前帧的遮罩数据;遮罩数据获取模块,用于在所述视频数据中存在当前帧的遮罩数据时,从所述视频数据中获取所述当前帧的遮罩数据;还用于在所述视频数据中不存在所述当前帧的遮罩数据时,从所述当前帧的图像获取所述当前帧的遮罩数据;背景替换模块,用于将所述当前帧的遮罩数据与待替换的背景进行融合,得到新的背景。
为了解决上述问题,本申请第三方面提供了一种电子设备,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现上述第一方面的背景替换方法。
为了解决上述问题,本申请第四方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令被处理器执行时实现上述第一方面的背景替换方法。
本发明的有益效果是:区别于现有技术的情况,本申请提供的背景替换方法,通过云端处理得到遮罩数据,从云端获取到视频数据,终端判断缓存的视频数据中是否存在当前帧的遮罩数据,如果视频数据中存在当前帧的遮罩数据,从视频数据中获取所述当前帧的遮罩数据,将当前帧的遮罩数据与待替换的背景进行融合,得到新的背景,实现背景替换;而当视频数据中不存在当前帧的遮罩数据时,从当前帧的图像中获取当前帧的遮罩数据,将当前帧的遮罩数据与待替换的背景进行融合,同样也实现了背景替换。在无法获取和使用云端处理的遮罩数据时,无缝切换至使用在终端获取的当前帧的遮罩数据,进行背景融合,实现背景替换,保证视频图像背景替换功能的正常进行,提高了视频图像背景替换的稳定性,提高了用户使用体验,同时,提高背景替换功能抵抗如网络等外界因素干扰的能力。
附图说明
图1是本申请背景替换方法一实施例的流程示意图;
图2是图1中步骤S15一实施例的流程示意图;
图3是本申请背景替换方法另一实施例的流程示意图;
图4是本申请背景替换方法又一实施例的流程示意图;
图5是本申请背景替换装置一实施例的框架示意图;
图6是本申请电子设备一实施例的框架示意图;
图7是本申请计算机可读存储介质一实施例的框架示意图。
具体实施方式
下面结合说明书附图,对本申请实施例的方案进行详细说明。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。
本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
本申请中,云端和终端均可以进行背景分割得到遮罩数据,由于云端服务器与客户端的计算能力和处理能力不同,在云端和终端进行背景分割得到遮罩数据的方式不同,且基于不同方式获取的遮罩数据进行背景替换所采用的方式会不同,本申请提供的背景替换的方法,可以实现云端与终端方式的无缝切换,提高视频图像中背景替换的稳定性,提高用户体验。
本申请提供的视频图像的背景替换方法,可以对实时视频进行目标对象的背景替换,其中,目标对象可以为系统默认,也可以为用户指定。目标对象可以为人像、动物或者卡通形象等,且目标对象不限于单独的一个,一帧视频图像中可以有多个目标对象。可以理解的是,每一帧视频图像中,除目标对象之外的即为背景,目标对象也可以叫做前景,本申请的背景替换即为对目标对象的背景进行替换,本申请提到的遮罩数据也是基于确定的目标对象对图像数据处理所得到的遮罩数据。其中,遮罩即遮挡、遮盖,可以通过遮罩实现对图像中的部分图像内容进行遮挡,并显示特定区域的图像内容,相当于一个窗口,而遮罩的相关数据即本申请的遮罩数据。或者也可以说,遮罩数据是包括目标对象轮廓的相关数据。比如,对一个视频图像进行的背景分离,得到了遮罩数据,其中,目标对象为显示部分,对应部分的遮罩数据值为1;而视频图像中除了目标对象之外的部分,可以称为背景,是不显示的部分,对应的遮罩数据值为0。
请参阅图1,图1是本申请背景替换方法一实施例的流程示意图。
本实施例应用于许多场景,例如网络视频、直播视频等。以网络直播视频为例,该背景替换方法可应用于网络直播场景,当前视频帧指的是直播视频中与当前时刻对应的数据帧,当前视频帧中包括主播的人像,即目标对象为主播的人像。为了给当前视频帧替换一个新背景,需要先将主播人像从当前视频帧中分割出来,即获取到该目标对象的背景对应的遮罩数据,然后再与将该遮罩数据与新背景融合形成新的背景从而实现背景替换。具体而言,可以包括如下步骤:
步骤S11:从云端获取到视频数据。
本申请中终端与云端网络连接,云端处理得到遮罩数据,终端从云端获取到的视频数据,其中,遮罩数据也属于视频数据。云端下发的视频数据的格式可以根据需求进行相应设置,一般为压缩格式的数据,比如GIF、JPEG、BMP、PNG或WebP等根据不同压缩算法得到的压缩格式的数据,本申请不作限定。终端接收到压缩格式的数据后,也需要进行解压为位图Bitmap格式。云端下发的视频数据可以为加密数据,以保证传输过程不出错,提高数据的安全性,而终端接收到加密的数据后,需要进行相应的数据解密。视频数据中包括颜色信息,可以包括RGB通道的数据,其中,R、G、B分别代表红色(Red)、绿色(Green)和蓝色(Blue)。
其中,GIF是一种无损压缩格式,压缩率一般在50%左右,可插入多帧,从而实现动画效果。JPG,又称JPEG(Joint Photographic Experts Group,联合图像专家组)是最常用的图像文件格式,采用有损压缩方式,压缩率极高且图像质量较好。BMP是标准图形格式,是Bitmap对象直接持久化保存的位图文件格式,由于没有进行压缩存储,因此体积非常大,一般不适合在网络上传输。PNG格式与GIF相似,也属于无损压缩,压缩率高于GIF格式,而且PNG支持的颜色数量也远高于GIF,由于是无损压缩,因此PNG文件的体积往往比较大。WebP支持有损和无损压缩,压缩率高,且支持完整的透明通道,也支持多帧动画和动图。
在一个具体实施场景中,云端对视频图像进行背景分割处理,下发Base64加密的JPG格式的视频数据给终端,其中,视频数据中包括遮罩数据。终端从云端获取到视频数据后,需要对视频数据进行相应的Base64解密和解压,得到解密后的位图Bitmap格式数据。其中,视频数据包括遮罩数据,遮罩数据为位图Bitmap格式。位图(Bitmap),亦称为点阵图像或栅格图像,是由称作像素(图片元素)的单个点组成的,这些点可以进行不同的排列和染色以构成图样。Bitmap可以表现色彩的变化和颜色的细微过渡,产生逼真的效果,但在保存时需要记录每一个像素的位置和颜色值,占用较大的存储空间。因此Bitmap数据通常进行压缩处理,转化为压缩格式进行存储及传输,减小占用的存储空间以及提高数据传输效率。
步骤S12:判断视频数据中是否存在当前帧的遮罩数据。
终端获取到云端下发的视频数据并对视频数据进行缓存,在缓存的视频数据中查找是否存在视频当前帧的遮罩数据,具体地,可以根据显示时间戳PTS查询视频数据中是否存在当前帧的遮罩数据。其中,PTS(presentation time stamp,显示时间戳)主要用于度量解码后的视频帧什么时候被显示,根据PTS可以计算一视频帧在整个视频中的时间位置,因此可以通过PTS查找当前帧时间位置对应的遮罩数据,保证查找到的遮罩数据与视频当前帧图像是相匹配的,保证匹配对应的准确性以及显示的同步性。
步骤S13:如果视频数据中存在当前帧的遮罩数据,从视频数据中获取当前帧的遮罩数据。
如果确认缓存有视频当前帧对应的遮罩数据,就获取当前帧的遮罩数据,使用此云端处理并下发的当前帧的遮罩数据以进行后续的背景替换。
步骤S14:如果视频数据中不存在当前帧的遮罩数据,从当前帧的图像获取当前帧的遮罩数据。
根据显示时间戳PTS在视频数据中没有查询到与当前帧的时间位置对应的遮罩数据,则判断视频数据中不存在当前帧的遮罩数据,终端无法使用云端处理并下发的当前帧的遮罩数据,则终端对当前帧进行图像处理,从视频当前帧的图像中获取遮罩数据,使用终端处理获取的当前帧对应的遮罩数据以进行后续的背景替换。具体地,终端可以通过对当前帧进行抠图识别实现背景分割,获取对应的遮罩数据。
步骤S15:将当前帧的遮罩数据与待替换的背景进行融合,得到新的背景。
待替换的背景可以为静态图片,也可以为动态图像,此处不进行限定。对于视频中的一帧图像来说,不管待替换的背景是否为静态还是动态,一帧图像对应的待替换背景为静态,或者可以说为一帧背景图像。当前帧的遮罩数据可以为云端处理下发的,也可以为终端处理得到的,均能够与待替换的背景进行融合,得到的新背景,可以为当前帧的新背景。
在一个具体的实施方式中,请结合图2,图2是图1中步骤S15一实施例的流程示意图。步骤S15具体包括:
步骤S151:将遮罩数据转换为纹理数据。
步骤S152:将纹理数据与待替换的背景通过纹理资源通道进行融合。
具体的,如果遮罩数据是从视频数据中获取到的,即为云端处理的遮罩数据,将所述纹理数据与所述待替换的背景通过纹理资源R通道进行融合。如果遮罩数据是从当前帧的图像获取到的,即终端处理得到的遮罩数据,则将纹理数据与待替换的背景通过纹理资源alpha通道进行融合。其中,alpha通道是除R、G、B以外的一个通道,取值为0到1,常常被理解为图像的“透明度”。
本实施例提供的背景替换方法,通过云端处理得到遮罩数据,从云端获取到视频数据,终端判断缓存的视频数据中是否存在当前帧的遮罩数据,如果视频数据中存在当前帧的遮罩数据,从视频数据中获取所述当前帧的遮罩数据,将当前帧的遮罩数据与待替换的背景进行融合,得到新的背景,实现背景替换;而当从云端获取的视频数据中不存在当前帧的遮罩数据时,终端从当前帧的图像中获取当前帧的遮罩数据,将当前帧的遮罩数据与待替换的背景进行融合,同样也实现了背景替换。在能够找到云端处理并下发的当前帧遮罩数据时使用云端处理的遮罩数据进行背景替换,而在无法找到或使用云端处理的当前帧遮罩数据时,无缝切换至使用终端获取的当前帧的遮罩数据,进行背景融合,实现背景替换,保证视频图像背景替换功能的正常进行,提高了视频图像背景替换的稳定性,提高了用户使用体验,同时,提高背景替换功能抵抗如网络等外界因素干扰的能力。
请参阅图3,图3是本申请背景替换方法另一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S31:从云端获取到视频数据。
此步骤与步骤S11步骤相同,具体请参阅图1以及步骤S11的相关文字描述,在此不再赘述。
步骤S32:判断视频数据中是否存在当前帧的遮罩数据。
视频每一帧图像可以分为前景和背景,通过前景和背景可以得到遮罩数据。前景可以为设定目标对象,遮罩数据是与设定目标对象背景对应的。因此判断视频数据中是否存在当前帧的遮罩数据可以具体为判断视频数据中是否存在设定目标对象背景所对应当前帧的遮罩数据。
步骤S33:如果视频数据中存在当前帧的遮罩数据,从视频数据中获取当前帧的遮罩数据。
此步骤与步骤S13步骤相同,具体请参阅图1以及步骤S13的相关文字描述,在此不再赘述。
步骤S341:如果视频数据中不存在当前帧的遮罩数据,复用前一帧的遮罩数据作为当前帧的遮罩数据。
一般情况下,在当前帧附近的帧图像一般差别较小,遮罩也比较相似,遮罩与背景匹配性较好,复用前一帧的遮罩数据进行当前帧的背景替换也能产生较好的融合显示效果,显示时也不会出现明显的背景与前景目标不匹配,用户进行观看时也难以感知视频中背景替换的不匹配。因此,可通过复用前一帧的遮罩数据来作为当前帧的遮罩数据。
具体地,根据显示时间戳PTS查询视频数据中不存在当前帧的遮罩数据,可以通过PTS找到前一帧的遮罩数据,复用前一帧的遮罩数据进行后续的背景替换操作,避免因为当前帧遮罩数据未查询到和无法使用而导致当前帧的背景替换无法进行,从而使当前帧的背景替换失败,使得视频的背景替换不稳定和不顺畅,用户观看视频体验不佳。
步骤S342:统计前一帧的遮罩数据的连续复用次数,并判断复用次数是否达到预设次数。
虽然在一定程度上用户进行观看时也难以感知视频中背景替换的不匹配,但是复用次数达到一定程度,视频中前景目标的形状或者位置可能发生较大变化,仍然复用之前的遮罩数据可能会导致前景与替换后的背景非常不匹配,用户能够明显看出视频画面的不和谐,观看体验不佳。因此,本实施方式中,对遮罩数据的使用次数进行计数,每使用一次,计数加1。给连续复用次数设定了一个阈值,也就是预设次数。
在第一次复用前一帧的遮罩数据后,在检测到视频数据中不存在当前帧的遮罩数据时,执行判断复用次数是否达到预设次数的步骤。如果复用次数小于预设次数,即复用次数没有达到预设次数,之后都要判断视频数据中是否存在当前帧的遮罩数据,即重复步骤S32。如果达到了预设次数,执行步骤S343。
步骤S343:如果复用次数达到预设次数,从当前帧的图像获取当前帧的遮罩数据。
当复用次数达到预设次数,即达到复用次数的阈值,当从当前帧的图像获取当前帧的遮罩数据。在一个优选的实施方式中,为了减少切换,提高网络稳定性,当前帧之后的图像帧的遮罩数据也从当前帧之后对应帧的图像获取,不再切换到通过从云端下载的视频数据中获取。
步骤S35:将当前帧的遮罩数据与待替换的背景进行融合,得到新的背景。
步骤S36:将新的背景与设定目标对象合成,生成与当前帧对应的合成帧。
设定目标对象即为前景,前景与新的背景合成,生成替换了背景的当前帧,即为与当前帧对应的合成帧。
在一个具体实施例中,预设次数为10。视频背景替换启动,视频显示的过程中,视频中每一帧都需要进行背景分割以及背景切换。视频第x帧之前的视频帧(即视频第一帧至第x-1帧)均在云端下发的视频数据中找到对应的遮罩数据,进行了背景切换。当需要对视频第x帧进行背景替换时,在视频数据中没有找到视频第x帧的遮罩数据,那么复用x-1帧的遮罩数据作为第x帧的遮罩数据,对第x帧进行背景替换,复用次数计为1,复用次数计小于预设次数10;此时需要对第x+1帧进行背景替换,此时第x+1帧为当前帧,需要判断在云端下发的视频数据中是否存在第x+1帧对应的遮罩数据,若没有找到云端下发的对应遮罩数据,则第x+1帧复用第x帧的遮罩数据(第x帧遮罩数据复用的第x-1帧的遮罩数据),复用次数计为2,复用次数小于预设次数10。此时需要对第x+n帧(n<10)进行背景替换,第x+n帧为当前帧,重复第x+1帧的步骤,直到在云端下发的视频数据中找到第x+n帧对应的遮罩数据,则停止复用,使用云端下发的第x+n帧对应的遮罩数据对第x+n帧进行背景替换。
若直到第x+9帧仍然采用复用前一次第x+8帧遮罩数据(依次往前追溯,实际为第x-1帧的遮罩数据)对第x+9帧进行背景替换,则复用次数计为10,表示第x帧至第x+9帧均没有找到对应帧的遮罩数据,复用次数计达到预设次数10。开始对第x+10帧进行背景替换,此时因为复用次数达到预设次数,采用从当前帧第x+10帧的图像获取第x+10帧的遮罩数据对第x+10帧进行背景替换,而不再从云端中下发的视频数据中去查找并判断是否存在当前帧的遮罩数据。
上述复用遮罩数据的设置以及复用次数的设置,给背景替换方案的切换提供一段过渡缓冲期,如果从云端下发的视频中没有找到第x帧的遮罩数据,只要在第x帧至第x+9帧也许能够找到对应帧的遮罩数据,就依然使用云端下发的遮罩数据进行当前帧背景替换,此种设置能够抵抗如网络因素等的干扰,避免因为短时的网络因素等干扰导致的没有接收到云端下发的当前帧的遮罩数据从而视频背景替换不成功或者不连续的情况出现,影响用户观看体验。在一定复用次数内可以复用之前的遮罩数据,相近视频帧的遮罩数据相差较小,用户视觉上难以察觉出视频前景与背景的不匹配。当达到复用次数上限值,可以认为因为某些因素干扰,导致终端没有存在云端下发的一定间隔内的视频帧,由于视频帧间隔较久,也无法再复用之前的遮罩数据对当前帧进行背景替换,则切换为终端对当前帧的图像进行处理,提取当前帧的遮罩数据,从而进行后续当前帧的背景替换。实现了使用云端处理的遮罩数据与终端处理并得到遮罩数据的无缝切换,保证了视频背景替换功能的正常进行,提高了视频背景替换的稳定性,提高了用户使用体验,提高背景替换功能抵抗如网络等外界因素干扰的能力。
请参阅图4,图4是本申请背景替换方法又一实施例的流程示意图。具体而言,可以包括如下步骤:
步骤S401:背景替换开始。
步骤S402:从云端获取到视频数据,解密并解压为Bitmap格式,缓存为具有优先级的队列。
具体的,云端下发的视频数据为base64加密JPG格式数据,且包括RGB通道信息。终端获取数据后进行解密和缓存。Base64加密JPG格式数据保证数据传输的安全性以及传输过程不出错。缓存为具有优先级的队列能够方便数据复用,以及减小网络抖动对本背景替换方法的影响。
步骤S403:根据显示时间戳PTS查询并判断所述视频数据中是否存在设定目标对象背景所对应当前帧的遮罩数据。
步骤S404:如果视频数据中存在设定目标对象背景所对应当前帧的遮罩数据,从视频数据中获取当前帧的遮罩数据。
步骤S4051:如果视频数据中不存在设定目标对象背景所对应当前帧的遮罩数据,复用前一帧的遮罩数据作为当前帧的遮罩数据。
步骤S4052:统计前一帧的遮罩数据的连续复用次数,并判断复用次数是否达到预设次数。
统计连续复用次数可以使用failCount+1来实现。
步骤S4053:如果复用次数达到预设次数,对当前帧的图像进行抠图识别获取当前帧的遮罩数据。
复用次数未达到预设次数,则重复步骤S403。
其中,终端可以调用SDK(Software Development Kit,软件开发工具包)对当前帧的图像进行抠图识别,获取的当前帧遮罩数据可以为只有alpha通道的裸数据。
步骤S406:处理遮罩数据生成纹理标识。
其中,纹理标识为纹理ID。
步骤S407:在GLSL中判断当前遮罩数据是否为对当前帧的图像进行抠图识别获取得到。
步骤S408:如果当前遮罩数据是对当前帧的图像进行抠图识别获取得到,则使用纹理资源alpha通道作为混合alpha通道。
步骤S409:如果当前遮罩数据不是对当前帧的图像进行抠图识别获取得到,则使用纹理资源R通道作为混合alpha通道。
步骤S410:进行alpha混合,实现背景替换。
上述方案,云端与终端上由于处理能力与计算能力的不同,导致在云端和终端进行背景分离的侧重不同,得到的遮罩数据也不同。云端服务器为了保证数据传输的安全性以及传输过程不出错,使用base64加密JPG格式数据下发给终端,终端接收后使用。端上直接使用只有alpha通道的裸数据(字节数组),在做背景融合替换时用根据遮罩数据处理来自云端还是端上而选择不同策略做alpha混合,实现背景替换。无论遮罩数据来自云端处理还是终端处理,均使用遮罩数据做统一处理,达到无缝效果。背景分割数据在云端处理,容易受到外界因素的影响,比如网络等,从而导致用户使用背景替换功能观看视频时,体验不佳。上述方案通过在无法顺畅获取终端处理的遮罩数据时,无缝切换至使用终端进行背景分割获取遮罩数据,以进行视频背景替换,为视频背景替换功能的顺畅使用提供了多重保障机制,保证了视频背景替换功能的正常进行,提高了视频背景替换的稳定性,提高了用户使用体验,提高背景替换功能抵抗如网络等外界因素干扰的能力。
请参阅图5,图5是本申请背景替换装置一实施例的框架示意图。背景替换装置50包括:视频数据获取模块51,用于从云端获取到视频数据;判断模块52,用于判断视频数据中是否存在当前帧的遮罩数据;遮罩数据获取模块53,用于在视频数据中存在当前帧的遮罩数据时,从视频数据中获取当前帧的遮罩数据;还用于在视频数据中不存在当前帧的遮罩数据时,从当前帧的图像获取当前帧的遮罩数据;背景替换模块54,用于将当前帧的遮罩数据与待替换的背景进行融合,得到新的背景。
上述方案,视频数据获取模块51从云端获取到视频数据,判断模块52判断视频数据中是否存在当前帧的遮罩数据;视频数据中存在当前帧的遮罩数据时,遮罩数据获取模块53从视频数据中获取当前帧的遮罩数据,背景替换模块54将当前帧的遮罩数据与待替换的背景进行融合,得到新的背景;在视频数据中不存在当前帧的遮罩数据时,遮罩数据获取模块53从当前帧的图像获取当前帧的遮罩数据,背景替换模块54将当前帧的遮罩数据与待替换的背景进行融合,得到新的背景。背景替换装置50实现了在无法找到或使用云端处理的当前帧遮罩数据时,无缝切换至使用终端获取的当前帧的遮罩数据,进行背景融合,实现背景替换,保证视频图像背景替换功能的正常进行,提高了视频图像背景替换的稳定性,提高了用户使用体验,同时,提高背景替换功能抵抗如网络等外界因素干扰的能力。
请参阅图6,图6是本申请电子设备一实施例的框架示意图。电子设备60包括相互耦接的存储器61和处理器62,处理器62用于执行存储器61中存储的程序指令,以实现上述任一背景替换方法实施例的步骤。在一个具体的实施场景中,电子设备60可以包括但不限于:微型计算机、服务器。
具体而言,处理器62用于控制其自身以及存储器61以实现上述任一图数据划分方法实施例的步骤。处理器62还可以称为CPU(Central Processing Unit,中央处理单元)。处理器62可能是一种集成电路芯片,具有信号的处理能力。处理器62还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器62可以由集成电路芯片共同实现。
上述方案,处理器62在获取到远端下发的视频数据后,判断缓存的视频数据中是否存在当前帧的遮罩数据,如果视频数据中存在当前帧的遮罩数据,从视频数据中获取所述当前帧的遮罩数据,将当前帧的遮罩数据与待替换的背景进行融合,得到新的背景,实现背景替换;而当从云端获取的视频数据中不存在当前帧的遮罩数据时,终端从当前帧的图像中获取当前帧的遮罩数据,将当前帧的遮罩数据与待替换的背景进行融合,同样也实现了背景替换。在能够找到云端处理并下发的当前帧遮罩数据时使用云端处理的遮罩数据进行背景替换,而在无法找到或使用云端处理的当前帧遮罩数据时,无缝切换至使用终端获取的当前帧的遮罩数据,进行背景融合,实现背景替换,保证视频图像背景替换功能的正常进行,提高了视频图像背景替换的稳定性,提高了用户使用体验,同时,提高背景替换功能抵抗如网络等外界因素干扰的能力。
请参阅图7,图7是本申请计算机可读存储介质一实施例的框架示意图。计算机可读存储介质70存储有能够被处理器运行的程序指令700,程序指令700用于实现上述任一背景替换方法实施例的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种背景替换方法,其特征在于,包括:
从云端获取到视频数据;
判断所述视频数据中是否存在当前帧的遮罩数据;
如果所述视频数据中存在所述当前帧的遮罩数据,从所述视频数据中获取所述当前帧的遮罩数据;
如果所述视频数据中不存在所述当前帧的遮罩数据,从所述当前帧的图像获取所述当前帧的遮罩数据;具体包括:如果所述视频数据中不存在所述当前帧的遮罩数据,对所述当前帧的图像进行抠图识别,得到所述当前帧的遮罩数据;还包括:如果所述视频数据中不存在所述当前帧的遮罩数据,复用前一帧的遮罩数据作为所述当前帧的遮罩数据;统计所述前一帧的遮罩数据的连续复用次数,并判断所述复用次数是否达到预设次数;如果所述复用次数达到所述预设次数,执行所述从所述当前帧的图像获取所述当前帧的遮罩数据的步骤;
将所述当前帧的遮罩数据与待替换的背景进行融合,得到新的背景。
2.根据权利要求1所述的背景替换方法,其特征在于,所述判断所述视频数据中是否存在当前帧的遮罩数据的步骤,包括:
判断所述视频数据中是否存在设定目标对象背景所对应当前帧的遮罩数据;
所述将所述当前帧的遮罩数据与待替换的背景进行融合,得到新的背景的步骤之后,还包括:
将所述新的背景与所述设定目标对象合成,生成与所述当前帧对应的合成帧。
3.根据权利要求1所述的背景替换方法,其特征在于,所述如果所述视频数据中不存在所述当前帧的遮罩数据,从所述当前帧的图像获取所述当前帧的遮罩数据的步骤,包括:
如果所述视频数据中不存在所述当前帧的遮罩数据,对所述当前帧以及所述当前帧之后的图像帧进行抠图识别,得到所述当前帧以及所述当前帧之后的图像帧的遮罩数据。
4.根据权利要求1所述的背景替换方法,其特征在于,所述判断所述视频数据中是否存在当前帧的遮罩数据的步骤,包括:
根据显示时间戳PTS查询所述视频数据中是否存在当前帧的遮罩数据。
5.根据权利要求1所述的背景替换方法,其特征在于,所述从云端获取到视频数据的步骤,包括:
从云端获取到视频数据;
对所述视频数据进行解密,得到解密后的视频数据;其中,所述视频数据包括遮罩数据时,解密后的视频数据中的遮罩数据为位图格式。
6.根据权利要求1所述的背景替换方法,其特征在于,所述将所述当前帧的遮罩数据与待替换的背景进行融合,得到新的背景的步骤,包括:
将所述遮罩数据转换为纹理数据;
将所述纹理数据与所述待替换的背景通过纹理资源通道进行融合。
7.根据权利要求6所述的背景替换方法,其特征在于,所述将所述纹理数据与所述待替换的背景通过纹理资源通道进行融合的步骤,包括:
如果所述遮罩数据是从所述视频数据中获取到的,将所述纹理数据与所述待替换的背景通过纹理资源R通道进行融合;
如果所述遮罩数据是从所述当前帧的图像获取到的,将所述纹理数据与所述待替换的背景通过纹理资源alpha通道进行融合。
8.一种背景替换装置,其特征在于,包括:
视频数据获取模块,用于从云端获取到视频数据;
判断模块,用于判断所述视频数据中是否存在当前帧的遮罩数据;
遮罩数据获取模块,用于在所述视频数据中存在当前帧的遮罩数据时,从所述视频数据中获取所述当前帧的遮罩数据;还用于在所述视频数据中不存在所述当前帧的遮罩数据时,从所述当前帧的图像获取所述当前帧的遮罩数据;具体包括:如果所述视频数据中不存在所述当前帧的遮罩数据,对所述当前帧的图像进行抠图识别,得到所述当前帧的遮罩数据;所述遮罩数据获取模块还用于在所述视频数据中不存在所述当前帧的遮罩数据时,复用前一帧的遮罩数据作为所述当前帧的遮罩数据;统计所述前一帧的遮罩数据的连续复用次数,并判断所述复用次数是否达到预设次数;如果所述复用次数达到所述预设次数,执行所述从所述当前帧的图像获取所述当前帧的遮罩数据的步骤
背景替换模块,用于将所述当前帧的遮罩数据与待替换的背景进行融合,得到新的背景。
9.一种电子设备,其特征在于,包括相互耦接的存储器和处理器,所述处理器用于执行所述存储器中存储的程序指令,以实现权利要求1至7任一项所述的背景替换方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1至7任一项所述的背景替换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011581608.XA CN112752038B (zh) | 2020-12-28 | 2020-12-28 | 背景替换方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011581608.XA CN112752038B (zh) | 2020-12-28 | 2020-12-28 | 背景替换方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112752038A CN112752038A (zh) | 2021-05-04 |
CN112752038B true CN112752038B (zh) | 2024-04-19 |
Family
ID=75646313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011581608.XA Active CN112752038B (zh) | 2020-12-28 | 2020-12-28 | 背景替换方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112752038B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113436349B (zh) * | 2021-06-28 | 2023-05-16 | 展讯通信(天津)有限公司 | 一种3d背景替换方法、装置、存储介质和终端设备 |
CN113727174A (zh) * | 2021-07-14 | 2021-11-30 | 深圳市有为信息技术发展有限公司 | 控制车辆卫星定位系统视频平台播放的方法、装置及电子设备 |
CN114821399A (zh) * | 2022-04-07 | 2022-07-29 | 厦门大学 | 一种面向智慧课堂的板书自动提取方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107230182A (zh) * | 2017-08-03 | 2017-10-03 | 腾讯科技(深圳)有限公司 | 一种图像的处理方法、装置以及存储介质 |
CN107613360A (zh) * | 2017-09-20 | 2018-01-19 | 北京奇虎科技有限公司 | 视频数据实时处理方法及装置、计算设备 |
CN108124109A (zh) * | 2017-11-22 | 2018-06-05 | 上海掌门科技有限公司 | 一种视频处理方法、设备及计算机可读存储介质 |
CN109151489A (zh) * | 2018-08-14 | 2019-01-04 | 广州虎牙信息科技有限公司 | 直播视频图像处理方法、装置、存储介质和计算机设备 |
CN109819182A (zh) * | 2018-12-18 | 2019-05-28 | 深圳市潮流网络技术有限公司 | 一种视频背景替换方法 |
CN110290425A (zh) * | 2019-07-29 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10728510B2 (en) * | 2018-04-04 | 2020-07-28 | Motorola Mobility Llc | Dynamic chroma key for video background replacement |
-
2020
- 2020-12-28 CN CN202011581608.XA patent/CN112752038B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107230182A (zh) * | 2017-08-03 | 2017-10-03 | 腾讯科技(深圳)有限公司 | 一种图像的处理方法、装置以及存储介质 |
CN107613360A (zh) * | 2017-09-20 | 2018-01-19 | 北京奇虎科技有限公司 | 视频数据实时处理方法及装置、计算设备 |
CN108124109A (zh) * | 2017-11-22 | 2018-06-05 | 上海掌门科技有限公司 | 一种视频处理方法、设备及计算机可读存储介质 |
CN109151489A (zh) * | 2018-08-14 | 2019-01-04 | 广州虎牙信息科技有限公司 | 直播视频图像处理方法、装置、存储介质和计算机设备 |
CN109819182A (zh) * | 2018-12-18 | 2019-05-28 | 深圳市潮流网络技术有限公司 | 一种视频背景替换方法 |
CN110290425A (zh) * | 2019-07-29 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种视频处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112752038A (zh) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112752038B (zh) | 背景替换方法、装置、电子设备及计算机可读存储介质 | |
US11451604B2 (en) | Video transcoding method and apparatus, a server system, and storage medium | |
US10977849B2 (en) | Systems and methods for appearance mapping for compositing overlay graphics | |
US11140354B2 (en) | Method for generating control information based on characteristic data included in metadata | |
US20220159264A1 (en) | Data output apparatus, data output method, and data generation method | |
CN113593500B (zh) | 图形数据融合方法、数据映射方法、以及设备 | |
TWI595777B (zh) | 透過hdmi發送顯示管理元數據 | |
US10055866B2 (en) | Systems and methods for appearance mapping for compositing overlay graphics | |
EP3174280A1 (en) | Conversion method and conversion apparatus | |
US20110229106A1 (en) | System for playback of ultra high resolution video using multiple displays | |
KR20080029973A (ko) | 화상 시퀀스 및 로고를 포함하는 비디오 콘텐츠를 코딩하는방법 및 디바이스 | |
US11151747B2 (en) | Creating video augmented reality using set-top box | |
WO2016058302A1 (zh) | 一种多视频数据显示的方法及装置 | |
CN118018668A (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 |