CN117221504B - 一种视频抠像方法及装置 - Google Patents
一种视频抠像方法及装置 Download PDFInfo
- Publication number
- CN117221504B CN117221504B CN202311470861.1A CN202311470861A CN117221504B CN 117221504 B CN117221504 B CN 117221504B CN 202311470861 A CN202311470861 A CN 202311470861A CN 117221504 B CN117221504 B CN 117221504B
- Authority
- CN
- China
- Prior art keywords
- image frame
- matting
- initial
- region
- determining
- 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 66
- 238000003708 edge detection Methods 0.000 claims abstract description 75
- 238000000605 extraction Methods 0.000 claims abstract description 61
- 230000000694 effects Effects 0.000 claims abstract description 33
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 6
- 239000000872 buffer Substances 0.000 claims description 6
- 238000003860 storage Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000036039 immunity Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 238000006748 scratching Methods 0.000 description 1
- 230000002393 scratching effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本说明书实施例公开了一种视频抠像方法,包括:对初始图像帧进行区域提取操作,包括:确定初始图像帧的初始抠像区域;对初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定初始图像帧的实际抠像区域;对任一非初始的图像帧进行区域提取操作,包括:确定该图像帧的特征点与前一图像帧的特征点的位置偏移,根据位置偏移确定该图像帧的初始抠像区域的确定方式,并根据确定方式确定该图像帧的初始抠像区域;对该图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定该图像帧的实际抠像区域;将视频的各图像帧的实际抠像区域对应的目标数据向目标主体传输,以使目标主体根据目标数据,形成视频的抠像效果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种视频抠像方法及装置。
背景技术
现有技术中,将视频进行抠像,在视频和图像制作等领域中,都得到了广泛的运用。
然而,现有的视频抠像技术,仍然存在诸多弊端,例如抠像效果有待提高,对进行抠像的视频路数和分辨率有限制,造成抠像效率不高。
另外,现有技术中是通过终端进行视频抠像,若其他终端需要播放抠像后的视频,则需要将抠像后的视频分别发送给各终端,也不利于抠像后视频的传播。
特别的,随着导播技术的发展,将远端形成的视频画面,特别是直播视频画面,抠像后推送给各终端进行播放,已被广泛应用。若是将远端产生的视频画面先用终端抠像,再推送给各终端进行播放,无疑将大大降低抠像效率,降低导播效果和效率,影响用户体验。
有鉴于此,需要更有效和更高效的视频抠像方案。
发明内容
本说明书实施例提供一种视频抠像方法及装置,用以解决如何更有效和更高效地进行视频抠像的技术问题。
为解决上述技术问题,本说明书实施例提供如下技术方案:
本说明书实施例提供一种视频抠像方法,所述方法包括:
获取视频的初始图像帧后,对所述初始图像帧进行区域提取操作;其中,对所述初始图像帧进行区域提取操作包括:确定所述初始图像帧的初始抠像区域;对所述初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定所述初始图像帧的实际抠像区域;
获取视频任一非初始的图像帧后,对该图像帧进行区域提取操作;其中,对该图像帧进行区域提取操作包括:确定该图像帧的特征点与前一图像帧的特征点的位置偏移,根据所述位置偏移确定该图像帧的初始抠像区域的确定方式,并根据所述确定方式确定该图像帧的初始抠像区域;对该图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定该图像帧的实际抠像区域;
将视频的各图像帧的实际抠像区域对应的目标数据向目标主体传输,以使所述目标主体根据所述目标数据,形成所述视频的抠像效果。
本说明书实施例提供一种视频抠像装置,所述装置包括:
初始抠像模块,用于获取视频的初始图像帧后,对所述初始图像帧进行区域提取操作;其中,对所述初始图像帧进行区域提取操作包括:确定所述初始图像帧的初始抠像区域;对所述初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定所述初始图像帧的实际抠像区域;
重复抠像模块,用于获取视频任一非初始的图像帧后,对该图像帧进行区域提取操作;其中,对该图像帧进行区域提取操作包括:确定该图像帧的特征点与前一图像帧的特征点的位置偏移,根据所述位置偏移确定该图像帧的初始抠像区域的确定方式,并根据所述确定方式确定该图像帧的初始抠像区域;对该图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定该图像帧的实际抠像区域;
抠像应用模块,用于将视频的各图像帧的实际抠像区域对应的目标数据向目标主体传输,以使所述目标主体根据所述目标数据,形成所述视频的抠像效果。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
对各图像帧,首先确定初始抠像区域,再对初始抠像区域进行边缘检测操作和高斯模糊操作,能够得到更精确的实际抠像区域,从而提高视频抠像精度和效果。
通过前后图像帧的位置偏移,可以确定使用何种合适的方式确定在后图像帧的初始抠像区域,能够提高抠像效率。
通过服务器进行抠像区域提取操作,进而得到视频各图像帧的实际抠像区域,以便生成抠像效果,这样实现了在服务器端进行视频抠像,对视频没有路数上限,并能够支持更高的视频分辨率,从而能够提高视频抠像效率。
通过服务器将视频各图像帧的实际抠像区域对应的目标数据向各种目标主体发送,使得各种目标主体根据所接收的目标数据,形成视频的抠像效果,有利于提高抠像传播速度和效率。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书第一个实施例中的视频抠像方法的执行主体示意图。
图2是本说明书第一个实施例中的视频抠像方法的流程示意图。
图3是本说明书第一个实施例中的视频抠像过程示意图。
图4是本说明书第一个实施例中的HSV颜色空间示意图。
图5是本说明书第二个实施例中的视频抠像装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本说明书第一个实施例(以下简称“实施例一”)提供了一种视频抠像方法,实施例一的执行主体可以是终端(包括但不限于手机、计算机、pad、电视)或者服务器或者操作系统或者应用程序或者视频抠像平台或者视频抠像系统等,即执行主体可以是多种多样的,可以根据需要设置、使用或者变换执行主体。另外,也可以有第三方应用程序协助所述执行主体执行实施例一。例如图1所示,可以由服务器来执行实施例一中的视频抠像方法,并且可以在(用户所持有的)终端上安装(与所述服务器)相对应的应用程序,终端或应用程序与服务器之间可以进行数据传输,通过终端或应用程序来进行数据的采集或输入或输出或(向用户)进行页面或信息处理,从而辅助服务器执行实施例一中的视频抠像方法。
特别的,实施例一的执行主体为服务器(可以是云端服务器或远端服务器)。
如图2和图3所示,实施例一提供的视频抠像方法包括:
S101:(执行主体)获取视频的初始图像帧后,对所述初始图像帧进行区域提取操作;其中,对所述初始图像帧进行区域提取操作包括:确定所述初始图像帧的初始抠像区域;对所述初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定所述初始图像帧的实际抠像区域;
视频是由一帧帧的图像形成的,每一帧图像可以称为图像帧。实施例一中,可以由终端拍摄视频,并将视频传输给服务器(即终端可以将一帧帧的图像帧传输给服务器)。当然,服务器也可以将接收的视频分解为一帧帧的图像帧。总之,服务器可以获取视频作为待抠像的视频,或获取用于形成待抠像的视频的各个图像帧,且获取方式可以多种多样,实施例一不进行具体限定。
一般的,可以将视频的首个图像帧(或排首位的图像帧)或服务器获取到的首个图像帧(或排首位的图像帧)作为初始图像帧。服务器获取视频的初始图像帧后,可以对初始图像帧进行区域提取操作。其中,对初始图像帧进行区域提取操作可以包括:确定初始图像帧的初始抠像区域;对初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定初始图像帧的实际抠像区域。下面进一步说明:
实施例一中,确定初始图像帧的初始抠像区域可以包括:
S1011:将初始图像帧分割成若干区域,确定每个区域对应的颜色通道索引数据;
服务器获取初始图像帧后,可以将初始图像帧进行区域分割,将初始图像帧分割成若干区域,并确定初始图像帧分割出的每个区域对应的颜色通道索引数据。
其中,可以使用色彩自动分割技术(例如K均值距离色彩分割)实现初始图像帧的区域分割。分割出的区域数量不进行具体限定,可以预先设置。
任一区域对应的颜色通道索引数据可以是该区域的HSV颜色通道索引数据,即HSV颜色分量,也就是色调(H)、饱和度(S)、亮度(V)的值(色调(H)、饱和度(S)、亮度(V)是HSV颜色空间中的参数,如图4所示的直方图,每个小的颜色空间称为直方图的一个柄(bin))。故在将初始图像帧分割成若干区域前,服务器可以将初始图像帧的RGB颜色通道数据转换成HSV颜色通道数据(HSV颜色空间具有视觉均衡的特点,且可以量化成若干个柄),以便确定各个区域对应的颜色通道索引数据(这也可以归于区域提取操作的内容)。并且,初始图像帧的RGB颜色通道数据可以是将初始图像帧的RGB颜色通道数据转换成HSV颜色通道数据前,服务器对初始图像帧进行解码操作(例如解码H264编码数据)所获取到的。
由于每个区域具有对应的颜色通道索引数据,就实现了初始图像帧分割出的每个区域可以用量化颜色空间的某个颜色分量来索引,从而将初始图像帧表达为一个二进制的颜色索引集。
一般来说,分割出的各个区域应尽量小一些。
S1013:根据各个区域对应的颜色通道索引数据,确定初始图像帧的初始抠像区域。
实施例一中,可以根据(初始图像帧分割出的)各个区域对应的颜色通道索引数据,确定初始图像帧的初始抠像区域。其中,根据各个区域对应的颜色通道索引数据,确定所述初始图像帧的初始抠像区域,可以包括:确定(初始图像帧分割出的)各个区域对应的颜色比对结果,由颜色比对结果满足预设条件的各区域形成初始图像帧的初始抠像区域。其中,对(初始图像帧分割出的)任一区域,该区域对应的颜色比对结果,为该区域对应的颜色通道索引数据与基准数据的比对结果。
具体的,上述基准数据可以是视频或初始图像帧背景区域的HSV颜色分量数据或HSV颜色通道数据或HSV颜色空间数据。例如,若待抠像的视频是绿幕视频(即背景为绿色或绿幕的视频),则背景区域为绿幕区域(背景区域颜色可以预设,以便确定基准数据),其他背景颜色同理。故对任一区域,该区域对应的颜色比对结果满足预设条件可以包括:该区域对应的颜色比对结果超过第一预设范围或满足第二预设范围。这说明该区域的颜色分量与背景区域的颜色分量差距较大,该区域不属于背景区域,属于需要抠像的区域。这样一来,所有颜色比对结果满足预设条件的区域属于需要抠像的区域,由所有颜色比对结果满足预设条件的区域可以形成或组合成初始抠像区域,也就快速排除掉背景区域。
实施例一中,确定初始图像帧的初始抠像区域后,可以对初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,从而确定初始图像帧的实际抠像区域。为便于进行边缘检测操作或高斯模糊操作,对初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作前,可以将初始图像帧的初始抠像区域内各像素点的HSV颜色通道数据转换为RGB颜色通道数据。
S103:(执行主体)获取视频任一非初始的图像帧后,对该图像帧进行区域提取操作;其中,对该图像帧进行区域提取操作包括:确定该图像帧的特征点与前一图像帧的特征点的位置偏移,根据所述位置偏移确定该图像帧的初始抠像区域的确定方式,并根据所述确定方式确定该图像帧的初始抠像区域;对该图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定该图像帧的实际抠像区域;
服务器获取视频的初始图像帧后,可以继续获取视频的非初始的图像帧,则获取视频任一非初始的图像帧(以下称为“图像帧P”),可以对图像帧P进行区域提取操作。其中,对图像帧P进行区域提取操作可以包括:确定图像帧P的特征点与前一图像帧(即图像帧P的前一个图像帧,下同)的特征点的位置偏移,根据位置偏移确定图像帧P的初始抠像区域的确定方式,并根据所确定的确定方式确定图像帧P的初始抠像区域;对图像帧P的初始抠像区域进行边缘检测操作和高斯模糊操作,确定图像帧P的实际抠像区域。下面进一步说明:
实施例一中,可以提供图像帧P的初始抠像区域的多种确定方式,并可以确定图像帧P的特征点与前一图像帧的特征点的位置偏移,根据图像帧P的特征点与前一图像帧的特征点的位置偏移,确定图像帧P的初始抠像区域的实际确定方式。其中,根据位置偏移确定图像帧P的初始抠像区域的确定方式,并根据所确定的确定方式确定图像帧P的初始抠像区域,可以包括:若所述位置偏移满足第一预设条件,则根据前一图像帧的实际抠像区域和所述位置偏移,确定图像帧P的初始抠像区域(下述方式一);和/或,若所述位置偏移满足第二预设条件,则将图像帧P分割成若干区域,确定各个区域对应的颜色通道索引数据;根据各个区域对应的颜色通道索引数据,确定图像帧P的初始抠像区域(下述方式二)。
下面具体说明可用的确定方式,实施例一不限于下述的确定方式:
方式一、区域偏移
在这种方式下,根据确定方式(即方式一)确定图像帧P的初始抠像区域,可以包括:
根据前一图像帧的实际抠像区域和(图像帧P的特征点与前一图像帧的特征点的)位置偏移,确定图像帧P的初始抠像区域。其中,根据前一图像帧的实际抠像区域和(图像帧P的特征点与前一图像帧的特征点的)位置偏移,确定图像帧P的初始抠像区域,可以包括:根据(图像帧P的特征点与前一图像帧的特征点的)位置偏移,对前一图像帧的实际抠像区域进行偏移操作(具体可以是对前一图像帧的实际抠像区域的alpha通道数据进行整体偏移,alpha通道数据的确定下文说明),根据偏移操作后所得区域,确定图像帧P的初始抠像区域。例如,根据(图像帧P的特征点与前一图像帧的特征点的)位置偏移,将前一图像帧的实际抠像区域偏移对应位置(实际抠像区域的偏移量可以与图像帧P的特征点与前一图像帧的特征点的位置偏移量相同),将偏移后的实际抠像区域映射到图像帧P,得到图像帧P的初始抠像区域。
方式二、区域对比
此方式与确定初始图像帧的初始抠像区域的过程相同或相似,即根据确定方式(即方式二)确定图像帧P的初始抠像区域可以包括:将图像帧P分割成若干区域,确定(图像帧P分割出的)各个区域对应的颜色通道索引数据(可以是HSV颜色通道索引数据);根据各个区域对应的颜色通道索引数据,确定图像帧P的初始抠像区域。其中,根据(图像帧P分割出的)各个区域对应的颜色通道索引数据,确定图像帧P的初始抠像区域,可以包括:确定(图像帧P分割出的)各个区域对应的颜色比对结果,由颜色比对结果满足预设条件的各区域形成图像帧P的初始抠像区域。其中,对(图像帧P分割出的)任一区域,该区域对应的颜色比对结果,为该区域对应的颜色通道索引数据与基准数据的比对结果。基准数据如前所述。
另外,可以在将图像帧P分割成若干区域前,将图像帧P的RGB颜色通道数据转换成HSV颜色通道数据。并且,图像帧P的RGB颜色通道数据可以是将图像帧P的RGB颜色通道数据转换成HSV颜色通道数据前,对图像帧P进行解码操作(例如解码H264编码数据)所获取到的。
实施例一中,确定各个区域(不论是初始图像帧分割出的区域还是非初始的图像帧分割出的区域)对应的颜色通道索引数据可以包括:对任一区域,将该区域内各像素点的颜色通道数据平均值作为该区域对应的颜色通道索引数据。例如将该区域内各像素点的HSV颜色分量的平均值确定为该区域的HSV颜色通道索引数据。即分别求该区域内各像素点的色调(H)平均值、饱和度(S)平均值、亮度(V)平均值,将计算结果作为该区域的HSV颜色通道索引数据。
实施例一中,可以通过终端在视频上选择特征点,所选的特征点在各个图像帧上都会有对应的特征点,服务器也就可以确定所获取的各图像帧(不论是初始图像帧还是非初始的图像帧)的特征点。则对图像帧P,服务器可以确定图像帧P的特征点与前一图像帧的特征点的位置偏移,例如偏移了多少像素或偏移了多少颜色值。这样一来,根据(图像帧P的特征点与前一图像帧的特征点的)位置偏移确定图像帧P的初始抠像区域的确定方式可以包括:根据(图像帧P的特征点与前一图像帧的特征点的)位置偏移是否符合预设条件,确定图像帧P的初始抠像区域的确定方式。例如,若(图像帧P的特征点与前一图像帧的特征点的)位置偏移满足第一预设条件(例如不超过第三预设范围或满足第四预设范围),说明图像帧P的特征点与前一图像帧的特征点的位置偏移较小。由于特征点一般是从视频中的感兴趣目标(例如人物、物体)上选取的,感兴趣目标一般就是抠像的目标或包含在抠像区域中,若图像帧P的特征点与前一图像帧的特征点的位置偏移较小,说明感兴趣目标在前一图像帧中的位置与感兴趣目标在图像帧P中的位置差别较小,就可以采用上述方式一,通过对前一图像帧的实际抠像区域进行偏移操作,直接确定图像帧P的初始抠像区域,即用特征点的位置偏移,指代抠像区域在前一图像帧和图像帧P之间的偏移,从而无需进行区域分割和颜色比对,节约大量计算资源;若图像帧P的特征点与前一图像帧的特征点满足第二预设条件(例如超过第三预设范围或不满足第四预设范围),说明图像帧P的特征点与前一图像帧的特征点的位置偏移较大,即感兴趣目标在前一图像帧中的位置与感兴趣目标在图像帧P中的位置差别较大,故而可以采用上述方式二,通过对图像帧P进行区域分割、颜色比对等操作,重新确定图像帧P的初始抠像区域。
确定图像帧P的初始抠像区域后,参照初始图像帧,可以对图像帧P的初始抠像区域进行边缘检测操作和高斯模糊操作,从而确定图像帧P的实际抠像区域。为便于进行边缘检测操作或高斯模糊操作,对图像帧P的初始抠像区域进行边缘检测操作和高斯模糊操作前,可以将图像帧P的初始抠像区域内各像素点的HSV颜色通道数据转换为RGB颜色通道数据。
实施例一中,不论是初始图像帧还是图像帧P,对任一图像帧的初始抠像区域进行边缘检测操作可以包括:对初始抠像区域分别基于Sobel边缘检测算子和拉普拉斯边缘检测算子进行边缘检测操作。
其中,基于Sobel边缘检测算子进行的边缘检测操作(以下称为“第一边缘检测操作”)是对初始抠像区域内每个像素,考察它上下左右邻点灰度的加权差,邻点越接近,权重越大,从而可以确定初始抠像区域内每个像素的较为接近的邻点,初步确定初始抠像区域的边缘。Sobel边缘检测算子很容易在空间上实现,边缘检测效果较好,且受噪声的影响也较小,邻域增大抗噪性会更好。
执行第一边缘检测操作后,可以再基于拉普拉斯边缘检测算子进行二次边缘检测操作或补充边缘检测操作。其中,基于拉普拉斯边缘检测算子是一种二阶微分算子,与其它边缘检测方法的不同之处在于,拉普拉斯边缘检测算子是一种各向同性的边缘检测方式,即其边缘的增强程度与边缘的方向无关,从而可以满足不同走向的边缘锐化的要求。
Sobel边缘检测算子虽然邻域增大时抗噪性更好,但计算量也会增大,得出的边缘也会相应变粗。Sobel边缘检测算子可能会检测出许多伪边缘,边缘定位精度不够高。对于拉普拉斯边缘检测算子,因为二阶导数对噪声具有敏感性,拉普拉斯边缘检测算子的幅度会产生双边缘,而且它不能检测边缘的方向。实施例一中将Sobel边缘检测算子和拉普拉斯边缘检测算子结合使用,分别进行第一边缘检测操作和二次(或补充)边缘检测操作,利用了两种边缘检测算子的性质,并将拉普拉斯边缘检测算子作为补充,可以有效提高初始抠像区域的边缘检测效果。例如,第一边缘检测操作不追求高精度,而是初步确定初始抠像区域边缘。虽然拉普拉斯边缘检测算子的双边缘使得它不适合直接用于边缘检测,但该性质可用于边缘定位,从而进一步确定初始抠像区域边缘。
实施例一中,不论是初始图像帧还是图像帧P,对任一图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作可以包括:不论是初始图像帧还是图像帧P,对“任一图像帧的初始抠像区域经边缘检测操作后所得区域”进行高斯模糊操作。这样一来,通过边缘检测操作可以确定初始抠像区域的边缘,通过高斯模糊操作可以对“任一图像帧的初始抠像区域经边缘检测操作后所得区域”的锯齿或色度不均衡问题进行平滑处理。其中,高斯模糊操作的过程可以包括:使用高斯模糊算法对对“任一图像帧的初始抠像区域经边缘检测操作后所得区域”进行模糊处理,具体可以是以二维正态分布为权重,以K((2xK+1)*2)(K指边缘处理的范围内有多少像素)为半径,进行卷积,K越大模糊程度越大,距离中心点(对任一像素点,中心点可以取该像素点的邻近点或周围点的平均值)越远的像素所获得权重越小的方式将人物和物体周围模糊处理。
实施例一中,不论是初始图像帧还是图像帧P,确定其实际抠像区域可以包括:将其初始抠像区域经边缘检测操作和高斯模糊操作后所得区域作为其实际抠像区域。
实施例一中,不论是初始图像帧还是图像帧P,对其进行区域提取操作还可以包括:对其任一像素点,根据该像素点的颜色通道数据,确定该像素点的alpha通道数据。例如,若该像素点对应的颜色通道数据与基准数据的颜色比对结果满足预设条件(表示该像素点属于初始抠像区域),则可以将该像素点的alpha通道数据设为1;和/或,可以将其初始抠像区域内各像素点的alpha通道数据设为1。另外,不论是初始图像帧还是图像帧P,对其进行区域提取操作还可以包括:将其初始抠像区域以外的区域内的像素点的alpha通道数据置为0。通过alpha通道数据的设置或确定,便于显示抠像效果。
通过上述内容,就实现了:确定初始图像帧的实际抠像区域,确定各个非初始的图像帧的初始抠像区域的确定方式,进而确定其初始抠像区域和实际抠像区域。
S105:(执行主体)将视频的各图像帧的实际抠像区域对应的目标数据向目标主体传输,以使所述目标主体根据所述目标数据,形成所述视频的抠像效果。
服务器可以确定视频的各图像帧的实际抠像区域对应的目标数据,并将各图像帧的实际抠像区域对应的目标数据向目标主体(目标主体包括但不限于各种终端或应用程序或服务)传输,以使目标主体根据(视频的各图像帧的实际抠像区域对应的)目标数据,形成视频的抠像效果。
其中,对任一图像帧(不论是初始图像帧或非初始的图像帧),其实际抠像区域对应的目标数据,就是对该图像帧的实际抠像区域内各像素点的RGBA通道数据进行编码后所得数据。即对该图像帧的实际抠像区域内各像素点的RGBA通道数据进行编码操作(例如VP8编码,VP8编码可以携带alpha通道数据),将编码操作所得数据作为该图像帧的实际抠像区域对应的目标数据。
结合上述内容,服务器可以不断、持续获取视频的图像帧,并不断、持续确定各图像帧的实际抠像区域,并不断、持续将各图像帧的实际抠像区域对应的目标数据传输给目标主体,这样目标主体根据目标数据流可以形成包含抠像效果的视频(称为“抠像视频”,抠像视频中显示实际抠像区域的内容,不显示背景区域内容),并可以根据需要对抠像视频进行播放或其他操作。
实施例一的上述内容可以达到以下有益效果:
实施例一中,对各图像帧(不论是初始图像帧还是非初始的图像帧),先确定初始抠像区域,再对初始抠像区域进行边缘检测操作和高斯模糊操作等细节处理,能够得到更精确的实际抠像区域,且使得实际抠像区域边缘光滑,并能够进行镂空物体颜色矫正,从而提高视频抠像精度和效果,提高抠像视频的播放效果(包括播放流畅度)。
通过前后图像帧的位置偏移,可以确定使用何种合适的方式确定在后图像帧的初始抠像区域,抠像方式更加多样化,能够提高抠像效率。
实施例一中,通过服务器进行抠像区域提取操作,进而得到视频各图像帧的实际抠像区域,将视频的各图像帧的实际抠像区域对应的目标数据向目标主体传输,以便生成抠像效果,这样实现了在服务器端进行视频抠像,服务器的资源保证了对视频没有路数上限(现有技术中使用终端进行抠像有最大抠像路数限制),并能够支持更高的视频分辨率(可支持4K(3840 * 2160)分辨率),从而能够提高视频抠像效率。
通过服务器将视频各图像帧的实际抠像区域对应的目标数据向各种目标主体发送,使得各种目标主体根据所接收的目标数据,形成视频的抠像效果,有利于提高抠像传播速度和效率,以及提高抠像视频播放效果。
实施例一中,上述的“解码操作”或“编码操作”可以由服务器的CPU执行,上述的“区域提取操作”(不论是初始图像帧还是非初始的图像帧)可以由服务器的GPU执行。具体的,对于服务器获取的初始图像帧或任一非初始的图像帧,可以由CPU对其进行解码操作,获取其RGB颜色通道数据;RGB颜色通道数据可以存储在内存中,并上行到GPU显存(对于不需要解码操作获取的RGB颜色通道数据,可以直接上行到GPU显存);由GPU进行区域提取操作,得到实际抠像区域;CPU可以对实际抠像区域的RGBA数据进行编码操作,服务器可以将编码操作锁的数据发送给目标主体。这种方式利用了GPU的内存存取效率较高、可以异步执行、并行计算和浮点运算的特点,并且显卡可以直接显示实际抠像区域。通过这种方式,实现了CPU和GPU的共同参与以及协同执行,在不降低处理效率的前提下在显卡上同时实现区域提取操作和实际抠像区域显示,无需将数据回传到内存再显示。
实施例一中,为了充分发挥GPU处理性能,结合GPU运算架构体系,可以通过CUDA(英伟达加速)创建显存缓池或显存池,提前申请n(n为正整数)帧缓存。可以通过CUDA(英伟达加速)快速将数据(包括RGB颜色通道数据)上行到GPU显卡,GPU利用这n帧缓存直接进行区域提取操作,即GPU可以同时对n个图像帧进行区域提取操作。这样一来,使得GPU可以应用于通用计算领域,打破以往只能应用在图形显示流水线变成的局限,保证了区域提取操作的效率和数据安全完整不丢失,能够提高GPU区域提取操作的效率,能够对高清视频的图像帧进行区域提取操作,避免了GPU内存存取的延迟问题和片上缓存存取冲突。
特别的,服务器可以部署多个GPU,进一步提高抠像效率,支持更多路数的视频抠像。实施例一中,对任一图像帧(不论是初始图像帧还是非初始的图像帧)执行区域提取操作前,可以根据各GPU的使用情况,确定执行区域提取操作的GPU。其中,可以根据显存使用情况、GPU使用情况或资源分配或使用情况,由信令服务器确定最优GPU来执行区域提取操作。例如,图3中有来自前端A和前端B的视频需要进行抠像(即需要创建抠像),前端A和前端B可以将创建抠像的请求发送给业务服务器,业务服务器将抠像创建请求发送给信令服务器,信令服务器根据各GPU的使用情况,择优选择GPU进行抠像创建。从而前端A和前端B可以将视频或图像帧发送给服务器,由对应的GPU提供抠像服务(包括执行区域提取操作)。可见,不同图像帧可能由不同GPU执行区域提取操作。这种方式能够提高GPU资源利用率,进一步提高抠像效率。
实施例一中,通过图像帧的各区域的颜色比对结果,可以确定初始抠像区域,这样不需要对颜色域进行绝对指定,有利于快速和准确进行初始抠像区域识别,提高抠像效率和效果。
实施例一可以应用于多种场景,例如云视频直播、云虚拟演播室、云导播、视频导播、云剪辑、视频剪辑等领域或场景。特别的,随着直播或导播业务的广泛应用,对直播或导播画面,特别是多路直播或导播视频画面进行抠像成为重点。由于实施例一没有视频路数限制,且支持更高分辨率的视频和使多目标主体形成抠像效果,故可以对多路直播或导播高清视频画面同时或并行进行抠像和多路抠像视频推送,抠像视频播放效果好,尤其适用于导播或直播、光电节目、高清立体节目等时效性或效果要求高的场景下的视频抠像。
如图5所示,本说明书第二个实施例提供一种与实施例一所述方法对应的视频抠像装置,包括:
初始抠像模块202,用于获取视频的初始图像帧后,对所述初始图像帧进行区域提取操作;其中,对所述初始图像帧进行区域提取操作包括:确定所述初始图像帧的初始抠像区域;对所述初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定所述初始图像帧的实际抠像区域;
重复抠像模块204,用于获取视频任一非初始的图像帧后,对该图像帧进行区域提取操作;其中,对该图像帧进行区域提取操作包括:确定该图像帧的特征点与前一图像帧的特征点的位置偏移,根据所述位置偏移确定该图像帧的初始抠像区域的确定方式,并根据所述确定方式确定该图像帧的初始抠像区域;对该图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定该图像帧的实际抠像区域;
抠像应用模块206,用于将视频的各图像帧的实际抠像区域对应的目标数据向目标主体传输,以使所述目标主体根据所述目标数据,形成所述视频的抠像效果。
可选的,确定所述初始图像帧的初始抠像区域包括:
将所述初始图像帧分割成若干区域,确定各个区域对应的颜色通道索引数据;
根据各个区域对应的颜色通道索引数据,确定所述初始图像帧的初始抠像区域。
可选的,所述颜色通道索引数据为HSV颜色通道索引数据;
将所述初始图像帧分割成若干区域前,所述初始抠像模块202还用于:将所述初始图像帧的RGB颜色通道数据转换成HSV颜色通道数据。
可选的,将所述初始图像帧的RGB颜色通道数据转换成HSV颜色通道数据前,所述初始抠像模块202还用于:对所述初始图像帧进行解码操作,获取所述初始图像帧的RGB颜色通道数据。
可选的,根据各个区域对应的颜色通道索引数据,确定所述初始图像帧的初始抠像区域,包括:
确定各个区域对应的颜色比对结果,由颜色比对结果满足预设条件的各区域形成所述初始图像帧的初始抠像区域;
其中,对任一区域,该区域对应的颜色比对结果,为该区域对应的颜色通道索引数据与基准数据的比对结果。
可选的,对所述初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作前,所述初始抠像模块202还用于:将所述初始图像帧的初始抠像区域内各像素点的HSV颜色通道数据转换为RGB颜色通道数据。
可选的,根据所述位置偏移确定该图像帧的初始抠像区域的确定方式包括:
根据所述位置偏移是否符合预设条件,确定该图像帧的初始抠像区域的确定方式。
可选的,根据所述确定方式确定该图像帧的初始抠像区域包括:
根据所述前一图像帧的实际抠像区域和所述位置偏移,确定该图像帧的初始抠像区域。
可选的,根据所述前一图像帧的实际抠像区域和所述位置偏移,确定该图像帧的初始抠像区域,包括:
根据所述位置偏移,对所述前一图像帧的实际抠像区域进行偏移操作,根据偏移操作后所得区域,确定该图像帧的初始抠像区域。
可选的,根据所述确定方式确定该图像帧的初始抠像区域包括:
将该图像帧分割成若干区域,确定各个区域对应的颜色通道索引数据;
根据各个区域对应的颜色通道索引数据,确定该图像帧的初始抠像区域。
可选的,所述颜色通道索引数据为HSV颜色通道索引数据;
将该图像帧分割成若干区域前,所述重复抠像模块204还用于:将该图像帧的RGB颜色通道数据转换成HSV颜色通道数据。
可选的,将该图像帧的RGB颜色通道数据转换成HSV颜色通道数据前,所述重复抠像模块204还用于:对该图像帧进行解码操作,获取该图像帧的RGB颜色通道数据。
可选的,根据各个区域对应的颜色通道索引数据,确定该图像帧的初始抠像区域,包括:
确定各个区域对应的颜色比对结果,由颜色比对结果满足预设条件的各区域形成该图像帧的初始抠像区域;
其中,对任一区域,该区域对应的颜色比对结果,为该区域对应的颜色通道索引数据与基准数据的比对结果。
可选的,对该图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作前,所述重复抠像模块204还用于:将该图像帧的初始抠像区域内各像素点的HSV颜色通道数据转换为RGB颜色通道数据。
可选的,确定各个区域对应的颜色通道索引数据包括:
对任一区域,将该区域内各像素点的颜色通道数据平均值作为该区域对应的颜色通道索引数据。
可选的,所述区域提取操作还包括:
对任一像素点,根据该像素点的颜色通道索引数据,确定该像素点的alpha通道数据;
和/或,
将初始抠像区域内的像素点的alpha通道数据设为1。
可选的,所述区域提取操作还包括:
将所述初始抠像区域以外的区域内的像素点的alpha通道数据置为0。
可选的,对任一图像帧的初始抠像区域进行边缘检测操作包括:
对任一图像帧的初始抠像区域分别基于Sobel边缘检测算子和拉普拉斯边缘检测算子进行边缘检测操作。
可选的,对任一图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作包括:
对任一图像帧的初始抠像区域经边缘检测操作后所得区域进行高斯模糊操作。
可选的,确定任一图像帧的实际抠像区域包括:
将任一图像帧的初始抠像区域经边缘检测操作和高斯模糊操作后所得区域作为该图像帧的实际抠像区域。
可选的,任一图像帧的实际抠像区域对应的目标数据,为对该图像帧的实际抠像区域内各像素点的RGBA通道数据进行编码后所得数据。
可选的,由GPU执行所述区域提取操作。
可选的,由GPU执行所述区域提取操作前,由信令服务器根据各GPU的使用情况确定执行区域提取操作的GPU。
可选的,由CPU执行所述解码操作。
上述各实施例可以结合使用,不同实施例之间或同一实施例内的名称相同的模块可以是相同或不同的模块。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device, PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种视频抠像方法,其特征在于,应用于服务器,所述方法包括:
获取视频的初始图像帧后,对所述初始图像帧进行区域提取操作;其中,对所述初始图像帧进行区域提取操作包括:确定所述初始图像帧的初始抠像区域;对所述初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定所述初始图像帧的实际抠像区域;
获取视频任一非初始的图像帧后,对该图像帧进行区域提取操作;其中,对该图像帧进行区域提取操作包括:确定该图像帧的特征点与前一图像帧的特征点的位置偏移,根据所述位置偏移确定该图像帧的初始抠像区域的确定方式,并根据所述确定方式确定该图像帧的初始抠像区域;对该图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定该图像帧的实际抠像区域;
将视频的各图像帧的实际抠像区域对应的目标数据向目标主体传输,以使所述目标主体根据所述目标数据,形成所述视频的抠像效果,所述视频的抠像效果为包含抠像效果的视频;
其中,任一图像帧的RGB颜色通道数据是将该图像帧的RGB颜色通道数据转换成HSV颜色通道数据前,对该图像帧进行解码操作所获取到的;任一图像帧的实际抠像区域对应的目标数据,是对该图像帧的实际抠像区域内各像素点的RGBA通道数据进行编码操作后所得数据;
所述解码操作或编码操作由服务器的CPU执行;所述区域提取操作由服务器的GPU执行,包括:通过CUDA创建显存缓池或显存池,提前申请n帧缓存,通过CUDA快速将RGB颜色通道数据上行到GPU显卡,GPU利用这n帧缓存,同时对n个图像帧进行区域提取操作。
2.如权利要求1所述的方法,其特征在于,确定所述初始图像帧的初始抠像区域包括:
将所述初始图像帧分割成若干区域,确定各个区域对应的颜色通道索引数据;
根据各个区域对应的颜色通道索引数据,确定所述初始图像帧的初始抠像区域。
3.如权利要求2所述的方法,其特征在于,根据各个区域对应的颜色通道索引数据,确定所述初始图像帧的初始抠像区域,包括:
确定各个区域对应的颜色比对结果,由颜色比对结果满足预设条件的各区域形成所述初始图像帧的初始抠像区域;
其中,对任一区域,该区域对应的颜色比对结果,为该区域对应的颜色通道索引数据与基准数据的比对结果。
4.如权利要求2所述的方法,其特征在于,所述颜色通道索引数据为HSV颜色通道索引数据;
将所述初始图像帧分割成若干区域前,所述方法还包括:
将所述初始图像帧的RGB颜色通道数据转换成HSV颜色通道数据;
和/或,
对所述初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作前,所述方法还包括:
将所述初始图像帧的初始抠像区域内各像素点的HSV颜色通道数据转换为RGB颜色通道数据。
5.如权利要求1所述的方法,其特征在于,根据所述位置偏移确定该图像帧的初始抠像区域的确定方式,并根据所述确定方式确定该图像帧的初始抠像区域,包括:
若所述位置偏移满足第一预设条件,则根据所述前一图像帧的实际抠像区域和所述位置偏移,确定该图像帧的初始抠像区域;
若所述位置偏移满足第二预设条件,则将该图像帧分割成若干区域,确定各个区域对应的颜色通道索引数据;
根据各个区域对应的颜色通道索引数据,确定该图像帧的初始抠像区域。
6.如权利要求5所述的方法,其特征在于,根据所述前一图像帧的实际抠像区域和所述位置偏移,确定该图像帧的初始抠像区域,包括:
根据所述位置偏移,对所述前一图像帧的实际抠像区域进行偏移操作,根据偏移操作后所得区域,确定该图像帧的初始抠像区域。
7.如权利要求5所述的方法,其特征在于,根据各个区域对应的颜色通道索引数据,确定该图像帧的初始抠像区域,包括:
确定各个区域对应的颜色比对结果,由颜色比对结果满足预设条件的各区域形成该图像帧的初始抠像区域;
其中,对任一区域,该区域对应的颜色比对结果,为该区域对应的颜色通道索引数据与基准数据的比对结果。
8.如权利要求2至7中任一项所述的方法,其特征在于,确定各个区域对应的颜色通道索引数据包括:
对任一区域,将该区域内各像素点的颜色通道数据平均值作为该区域对应的颜色通道索引数据。
9.如权利要求2至7中任一项所述的方法,其特征在于,所述区域提取操作还包括:
对任一像素点,根据该像素点的颜色通道索引数据,确定该像素点的alpha通道数据。
10.如权利要求1所述的方法,其特征在于,所述区域提取操作还包括:
将所述初始抠像区域以外的区域内的像素点的alpha通道数据置为0;
和/或,
将初始抠像区域内的像素点的alpha通道数据设为1。
11.如权利要求1所述的方法,其特征在于,对任一图像帧的初始抠像区域进行边缘检测操作包括:
对任一图像帧的初始抠像区域分别基于Sobel边缘检测算子和拉普拉斯边缘检测算子进行边缘检测操作。
12.如权利要求1所述的方法,其特征在于,由GPU执行所述区域提取操作;
由GPU执行所述区域提取操作前,所述方法还包括:
根据各GPU的使用情况确定执行区域提取操作的GPU。
13.一种视频抠像装置,其特征在于,所述装置包括:
初始抠像模块,用于获取视频的初始图像帧后,对所述初始图像帧进行区域提取操作;其中,对所述初始图像帧进行区域提取操作包括:确定所述初始图像帧的初始抠像区域;对所述初始图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定所述初始图像帧的实际抠像区域;
重复抠像模块,用于获取视频任一非初始的图像帧后,对该图像帧进行区域提取操作;其中,对该图像帧进行区域提取操作包括:确定该图像帧的特征点与前一图像帧的特征点的位置偏移,根据所述位置偏移确定该图像帧的初始抠像区域的确定方式,并根据所述确定方式确定该图像帧的初始抠像区域;对该图像帧的初始抠像区域进行边缘检测操作和高斯模糊操作,确定该图像帧的实际抠像区域;
抠像应用模块,用于将视频的各图像帧的实际抠像区域对应的目标数据向目标主体传输,以使所述目标主体根据所述目标数据,形成所述视频的抠像效果,所述视频的抠像效果为包含抠像效果的视频;
其中,任一图像帧的RGB颜色通道数据是将该图像帧的RGB颜色通道数据转换成HSV颜色通道数据前,对该图像帧进行解码操作所获取到的;任一图像帧的实际抠像区域对应的目标数据,是对该图像帧的实际抠像区域内各像素点的RGBA通道数据进行编码操作后所得数据;
所述解码操作或编码操作由服务器的CPU执行;所述区域提取操作由服务器的GPU执行,包括:通过CUDA创建显存缓池或显存池,提前申请n帧缓存,通过CUDA快速将RGB颜色通道数据上行到GPU显卡,GPU利用这n帧缓存,同时对n个图像帧进行区域提取操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311470861.1A CN117221504B (zh) | 2023-11-07 | 2023-11-07 | 一种视频抠像方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311470861.1A CN117221504B (zh) | 2023-11-07 | 2023-11-07 | 一种视频抠像方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117221504A CN117221504A (zh) | 2023-12-12 |
CN117221504B true CN117221504B (zh) | 2024-01-23 |
Family
ID=89042891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311470861.1A Active CN117221504B (zh) | 2023-11-07 | 2023-11-07 | 一种视频抠像方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117221504B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130075636A (ko) * | 2011-12-27 | 2013-07-05 | 중앙대학교 산학협력단 | 배경 합성을 위한 자동 객체 분할 장치 및 방법 |
CN103581571A (zh) * | 2013-11-22 | 2014-02-12 | 北京中科大洋科技发展股份有限公司 | 一种基于色彩三要素的视频抠像方法 |
CN108830780A (zh) * | 2018-05-09 | 2018-11-16 | 北京京东金融科技控股有限公司 | 图像处理方法及装置、电子设备、存储介质 |
CN110335279A (zh) * | 2019-07-02 | 2019-10-15 | 武汉瑞宏峰科技有限公司 | 实时绿幕抠像方法、装置、设备及存储介质 |
CN112053417A (zh) * | 2019-06-06 | 2020-12-08 | 西安诺瓦星云科技股份有限公司 | 图像处理方法、装置和系统以及计算机可读存储介质 |
CN113034509A (zh) * | 2021-02-26 | 2021-06-25 | 北京达佳互联信息技术有限公司 | 图像处理方法及装置 |
CN113610865A (zh) * | 2021-07-27 | 2021-11-05 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN114222181A (zh) * | 2021-11-11 | 2022-03-22 | 北京达佳互联信息技术有限公司 | 一种图像处理方法、装置、设备及介质 |
CN114862897A (zh) * | 2022-04-24 | 2022-08-05 | 北京百度网讯科技有限公司 | 一种图像背景处理方法、装置及电子设备 |
CN116468745A (zh) * | 2022-12-20 | 2023-07-21 | 深圳万兴软件有限公司 | 图像处理方法、相关设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8249152B2 (en) * | 2008-08-25 | 2012-08-21 | Hankuk University Of Foreign Studies Research And Industry-University Cooperation Foundation | Video image segmentation |
-
2023
- 2023-11-07 CN CN202311470861.1A patent/CN117221504B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130075636A (ko) * | 2011-12-27 | 2013-07-05 | 중앙대학교 산학협력단 | 배경 합성을 위한 자동 객체 분할 장치 및 방법 |
CN103581571A (zh) * | 2013-11-22 | 2014-02-12 | 北京中科大洋科技发展股份有限公司 | 一种基于色彩三要素的视频抠像方法 |
CN108830780A (zh) * | 2018-05-09 | 2018-11-16 | 北京京东金融科技控股有限公司 | 图像处理方法及装置、电子设备、存储介质 |
CN112053417A (zh) * | 2019-06-06 | 2020-12-08 | 西安诺瓦星云科技股份有限公司 | 图像处理方法、装置和系统以及计算机可读存储介质 |
CN110335279A (zh) * | 2019-07-02 | 2019-10-15 | 武汉瑞宏峰科技有限公司 | 实时绿幕抠像方法、装置、设备及存储介质 |
CN113034509A (zh) * | 2021-02-26 | 2021-06-25 | 北京达佳互联信息技术有限公司 | 图像处理方法及装置 |
CN113610865A (zh) * | 2021-07-27 | 2021-11-05 | Oppo广东移动通信有限公司 | 图像处理方法、装置、电子设备及计算机可读存储介质 |
CN114222181A (zh) * | 2021-11-11 | 2022-03-22 | 北京达佳互联信息技术有限公司 | 一种图像处理方法、装置、设备及介质 |
CN114862897A (zh) * | 2022-04-24 | 2022-08-05 | 北京百度网讯科技有限公司 | 一种图像背景处理方法、装置及电子设备 |
CN116468745A (zh) * | 2022-12-20 | 2023-07-21 | 深圳万兴软件有限公司 | 图像处理方法、相关设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117221504A (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10580140B2 (en) | Method and system of real-time image segmentation for image processing | |
US10110936B2 (en) | Web-based live broadcast | |
US10430694B2 (en) | Fast and accurate skin detection using online discriminative modeling | |
KR101775253B1 (ko) | 2차원 이미지 또는 비디오의 3차원 스테레오 이미지 또는 비디오로의 실시간 자동 변환 | |
CN112561920A (zh) | 用于在视频中进行密集语义分割的深度学习 | |
US20140092439A1 (en) | Encoding images using a 3d mesh of polygons and corresponding textures | |
US9756234B2 (en) | Contrast detection autofocus using multi-filter processing and adaptive step size selection | |
CN110012310B (zh) | 一种基于自由视点的编解码方法及装置 | |
WO2022104618A1 (en) | Bidirectional compact deep fusion networks for multimodality visual analysis applications | |
CN103702032A (zh) | 图像处理方法、装置和终端设备 | |
CN115761090A (zh) | 特效渲染方法、装置、设备、计算机可读存储介质及产品 | |
CN103700062A (zh) | 图像处理方法和装置 | |
CN113014936A (zh) | 视频插帧方法、装置、设备以及存储介质 | |
CN115315954A (zh) | 基于图块的机器用视频编码 | |
CN112019827A (zh) | 视频图像色彩增强的方法、装置、设备及存储介质 | |
CN111696034B (zh) | 图像处理方法、装置及电子设备 | |
CN117221504B (zh) | 一种视频抠像方法及装置 | |
US9286655B2 (en) | Content aware video resizing | |
CN111833262A (zh) | 图像降噪方法、装置及电子设备 | |
US9800801B2 (en) | Techniques for processing subtitles | |
CN113613024A (zh) | 视频预处理方法及设备 | |
CN112862657B (zh) | 图像处理方法、装置、电子设备及计算机存储介质 | |
CN116389789A (zh) | 一种移动端视频画质增强的方法、装置、介质及电子设备 | |
CN116016816B (zh) | 一种改进l-orb算法的嵌入式gpu零拷贝全景图像拼接方法和系统 | |
CN110097493A (zh) | 用于生成具有减小的剪切区域的hdr图像的方法和装置 |
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 |