CN110035321B - 一种在线实时视频的装饰方法与系统 - Google Patents

一种在线实时视频的装饰方法与系统 Download PDF

Info

Publication number
CN110035321B
CN110035321B CN201910291230.0A CN201910291230A CN110035321B CN 110035321 B CN110035321 B CN 110035321B CN 201910291230 A CN201910291230 A CN 201910291230A CN 110035321 B CN110035321 B CN 110035321B
Authority
CN
China
Prior art keywords
decoration
video
module
user side
decorated
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
CN201910291230.0A
Other languages
English (en)
Other versions
CN110035321A (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.)
Beijing Dasheng Online Technology Co ltd
Original Assignee
Beijing Dasheng Online Technology 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 Beijing Dasheng Online Technology Co ltd filed Critical Beijing Dasheng Online Technology Co ltd
Priority to CN201910291230.0A priority Critical patent/CN110035321B/zh
Publication of CN110035321A publication Critical patent/CN110035321A/zh
Application granted granted Critical
Publication of CN110035321B publication Critical patent/CN110035321B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/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
    • H04N21/44008Processing 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 involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • 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
    • H04N21/44012Processing 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 involving rendering scenes according to scene graphs, e.g. MPEG-4 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/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
    • H04N21/47205End-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 for manipulating displayed content, e.g. interacting with MPEG-4 objects, editing locally
    • 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/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • 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/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种在线实时视频的装饰方法与系统,其中,所述方法包括:多个用户进入同一个虚拟房间后,各个用户端均从远程服务器下载该虚拟房间专用的装饰素材到本地;每个用户端通过远程服务器发送自身在线视频数据并接收其他用户端的视频数据;具有装饰权限的用户端显示装饰素材以及待装饰用户端视频,根据第一素材ID和第一位置生成装饰指令,并发送指令至待装饰用户端;待装饰用户端从本地查找相应的装饰素材并添加到实时捕获的视频帧的相应位置上,将添加装饰素材的视频数据进行编码,并通过远程服务器发送至该虚拟房间的其他用户端。本发明可以实现在线实时视频的装饰和传输,对装饰素材没有数量限制,可以进行大量素材的效果叠加。

Description

一种在线实时视频的装饰方法与系统
技术领域
本发明涉及一种在线实时视频的装饰方法与系统,属于视频装饰技术领域。
背景技术
目前,流行的视频装扮系统多数都是离线、无法远程操作的视频装扮,其存在的缺点有:1、只能装扮本地视频,都是对本地录制的视频进行装饰处理,处理之后再上传到服务端,无法远程多用户互相装扮,也无法进行在线视频的实时装扮和传输,缺乏用户之间的互动和趣味性;2、装扮的场景素材和特效有数量限制,无法进行大量素材的效果叠加。
发明内容
本发明的目的在于,提供一种在线实时视频的装饰方法与系统,可以至少解决上述技术问题之一。
为解决上述技术问题,本发明采用如下的技术方案:
一种在线实时视频的装饰方法,包括以下步骤:步骤S1,多个用户进入同一个虚拟房间后,各个用户端均从远程服务器下载该虚拟房间专用的装饰素材到本地;步骤S2,每个用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的视频数据;步骤S3,具有装饰权限的用户端显示下载的装饰素材以及待装饰用户端视频;步骤S4,在具有装饰权限的用户将选择的装饰素材拖动到所述待装饰用户端视频的第一位置后,具有装饰权限的用户端根据第一素材ID和第一位置生成装饰指令,并发送所述装饰指令至待装饰用户端,其中,所述第一素材ID为选择的装饰素材的ID;步骤S5,所述待装饰用户端根据接收到的装饰指令,从本地查找相应的装饰素材并添加到实时捕获的视频帧的相应位置上;步骤S6,所述待装饰用户端将添加装饰素材的视频数据进行编码,并通过所述远程服务器实时发送至该虚拟房间的其他用户端。
前述的在线实时视频的装饰方法中,所述步骤S5具体包括:步骤S51,根据接收到的装饰指令获取第一素材ID和第一位置;步骤S52,对本地下载的所有装饰素材进行解析,得到解析信息,其中,所述解析信息包括第二素材ID、素材类型、素材显示图层和素材透明度;步骤S53,查找与所述第一素材ID相同的第二素材ID所属的装饰素材;步骤S54,根据查找到的装饰素材的素材类型,将查找到的装饰素材添加到实时捕获的视频帧的相应位置上。
前述的在线实时视频的装饰方法中,所述步骤S54具体包括:若查找到的装饰素材的素材类型为人脸装饰,则忽略所述装饰指令中的第一位置,并针对每一帧视频图像重复以下步骤进行装饰:步骤S541,进行人脸区域检测,计算出人脸的区域位置;步骤S542,进行人脸特征点检测,记录人脸的多个特征点的位置;步骤S543,根据人脸装饰的类别选择人脸上相应的两个特征点;步骤S544,使用仿射变换算法将装饰素材上的像素映射到视频图像上,并且按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;和/或,若查找到的装饰素材的素材类型为场景装饰,则忽略所述装饰指令中的第一位置,按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;和/或,若查找到的装饰素材的素材类型为奖品装饰,则根据第一位置、素材显示图层和素材透明度将素材图片覆盖到视频图像上。
前述的在线实时视频的装饰方法中,所述步骤S54具体包括:若查找到的装饰素材的素材类型为场景装饰或奖品装饰,则构建渲染缓存帧数组和非渲染缓存帧数组,其中,所述非渲染缓存帧数组用于加载装饰素材,所述渲染缓存帧数组用于进行视频帧装饰;当非渲染缓存帧数组加载完装饰素材后,将非渲染缓存帧数组转换成渲染缓存帧数组进行视频帧装饰,而将原来进行视频帧装饰的渲染缓存帧数组转换成非渲染缓存帧数组用来加载装饰素材;当待装饰用户端未完成当前视频帧装饰且接收到新的装饰指令时,将新的装饰素材按照素材显示图层和素材透明度顺序加载到非渲染缓存帧数组中,新的装饰素材加载完成后,将非渲染缓存帧数组与渲染缓存帧数组进行互换,进行视频帧装饰。
前述的在线实时视频的装饰方法中,所述装饰素材为静态的一张图像或动态的多张图像;其中,动态的多张图像采用同一个素材ID,并根据所设置的帧率、显示顺序和图层进行展示。
一种在线实时视频的装饰系统,包括远程服务器,以及位于同一个虚拟房间的至少一个具有装饰权限的用户端和至少一个待装饰用户端;其中,所述具有装饰权限的用户端包括:第一下载模块,用于所述具有装饰权限的用户端从所述远程服务器下载该虚拟房间专用的装饰素材到本地;第一视频捕获模块,用于所述具有装饰权限的用户端捕获自身在线视频数据;第一视频传输模块,与所述第一视频捕获模块连接,用于所述具有装饰权限的用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的在线视频数据;显示模块,分别与所述第一下载模块和所述第一视频传输模块连接,用于所述具有装饰权限的用户端显示下载的装饰素材以及待装饰用户端视频;指令生成模块,用于在具有装饰权限的用户将选择的装饰素材拖动到所述待装饰用户端视频的第一位置后,所述具有装饰权限的用户端根据第一素材ID和第一位置生成装饰指令,其中,所述第一素材ID为选择的装饰素材的ID;指令发送模块,与所述指令生成模块连接,用于发送所述装饰指令至待装饰用户端;所述待装饰用户端包括:第二下载模块,用于所述待装饰用户端从所述远程服务器下载该虚拟房间专用的装饰素材到本地;第二视频捕获模块,用于所述待装饰用户端捕获自身在线视频数据;第二视频传输模块,与所述第二视频捕获模块连接,用于所述待装饰用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的视频数据;素材查找模块,与所述第二下载模块连接,用于所述待装饰用户端根据接收到的装饰指令,从本地查找相应的装饰素材;装饰模块,与所述素材查找模块和所述第二视频捕获模块连接,用于所述待装饰用户端将查找到的装饰素材添加到实时捕获的视频帧的相应位置上;编码模块,与所述装饰模块连接,用于所述待装饰用户端将添加装饰素材的视频数据进行编码;所述第二视频传输模块,与所述编码模块连接,还用于所述待装饰用户端将编码的装饰完的视频通过所述远程服务器实时发送至该虚拟房间的其他用户端。
前述的在线实时视频的装饰系统中,所述素材查找模块包括:获取模块,用于根据接收到的装饰指令获取第一素材ID和第一位置;解析模块,用于对本地下载的所有装饰素材进行解析,得到解析信息,其中,所述解析信息包括第二素材ID、素材类型、素材显示图层和素材透明度;ID查找模块,分别与所述获取模块和所述解析模块连接,用于查找与所述第一素材ID相同的第二素材ID所属的装饰素材。
前述的在线实时视频的装饰系统中,所述装饰模块包括人脸装饰模块和/或场景装饰模块和/或奖品装饰模块;其中,所述人脸装饰模块,用于当查找到的装饰素材的素材类型为人脸装饰时,忽略所述装饰指令中的第一位置,并对实时捕获的视频帧进行装饰处理;所述人脸装饰模块包括:区域检测模块,用于进行人脸区域检测,计算出人脸的区域位置;特征点检测模块,与所述区域检测模块连接,用于进行人脸特征点检测,记录人脸的多个特征点的位置;特征点选取模块,与所述特征点检测模块连接,用于根据人脸装饰的类别选择人脸上相应的两个特征点;仿射变换模块,与所述特征点选取模块连接,用于使用仿射变换算法将装饰素材上的像素映射到视频图像上,并且按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;所述场景装饰模块,用于当查找到的装饰素材的素材类型为场景装饰时,忽略所述装饰指令中的第一位置,并按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;所述奖品装饰模块,用于当查找到的装饰素材的素材类型为奖品装饰时,根据第一位置、素材显示图层和素材透明度将素材图片覆盖到视频图像上。
前述的在线实时视频的装饰系统中,所述装饰模块包括双缓存模块,用于若查找到的装饰素材的素材类型为场景装饰或奖品装饰,则构建渲染缓存帧数组和非渲染缓存帧数组,其中,所述非渲染缓存帧数组用于加载装饰素材,所述渲染缓存帧数组用于进行视频帧装饰;当非渲染缓存帧数组加载完装饰素材后,将非渲染缓存帧数组转换成渲染缓存帧数组进行视频帧装饰,而将原来进行视频帧装饰的渲染缓存帧数组转换成非渲染缓存帧数组用来加载装饰素材;当待装饰用户端未完成当前视频帧装饰且接收到新的装饰指令时,将新的装饰素材按照素材显示图层和素材透明度顺序加载到非渲染缓存帧数组中,新的装饰素材加载完成后,将非渲染缓存帧数组与渲染缓存帧数组进行互换,进行视频帧装饰。
前述的在线实时视频的装饰系统中,所述装饰素材为静态的一张图像或动态的多张图像;其中,动态的多张图像采用同一个素材ID,并根据所设置的帧率、显示顺序和图层进行展示。
与现有技术相比,本发明可以实现在线实时视频的装饰和传输,对装饰素材没有数量限制,可以进行大量素材的效果叠加,可以广泛应用于在线教育、直播、短视频等领域,尤其是在线教育领域,可以给用户的传输视频实时添加各种特效、装饰、挂件等,还可以有效提高在线上课的趣味性和互动性,激发学生上课的积极性;
附图说明
图1至图5是本发明实施例一提供的方法流程图;
图6是本发明实施例二提供的系统的结构示意图;
图7是本发明实施例二提供的系统的素材查找模块的结构示意图;
图8是本发明实施例二提供的系统的装饰模块的结构示意图。
下面结合附图和具体实施方式对本发明作进一步的说明。
具体实施方式
本发明实施例一:
一种在线实时视频的装饰方法,如图1所示,主要包括以下步骤:
步骤S1,多个用户进入同一个虚拟房间后,各个用户端均从远程服务器下载该虚拟房间专用的装饰素材到本地;
本实施例中,用户端可以是手机、PC机、平板电脑等终端,对此本实施例不做具体限定。装饰素材集中在远程服务器端进行管理,可以按照用户的交互场景,灵活配置需要下载的装饰素材。
步骤S2,每个用户端通过远程服务器发送自身在线视频数据并接收其他用户端的视频数据;
本实施例中,进入同一个虚拟房间的多个用户端,都可以将自身实时捕获的在线视频(例如摄像头捕获视频)通过远程服务器发送至该房间的其他用户端,当然,也可以通过远程服务器接收其他用户端发来的在线视频。
步骤S3,具有装饰权限的用户端显示下载的装饰素材以及待装饰用户端视频;
本实施例中,处于同一虚拟房间的每个用户端(包括具有装饰权限的用户端)既能显示自身实时的在线视频,也能同时显示该虚拟房间内的其他用户端发来的在线实时视频。用户端是否具有装饰权限可以由系统预先设定的,例如:在线教育系统中,可以为老师用户开启装饰权限,使老师具有为其他学生用户的视频进行装饰的权限,当然,装饰权限也是可以变更的。
本实施例可以通过预览缩略图等方式在具有装饰权限的用户端显示本地下载的装饰素材,可以方便用户端快速的浏览装饰的效果,并决定是否要给其他用户端的视频进行装饰。
步骤S4,在具有装饰权限的用户将选择的装饰素材拖动到待装饰用户端视频的第一位置后,具有装饰权限的用户端根据第一素材ID和第一位置生成装饰指令,并发送装饰指令至待装饰用户端,其中,第一素材ID为选择的装饰素材的ID;
本实施例中,当具有装饰权限的用户选择了某一个或某几个用户端的视频进行装饰,也就是说,具有装饰权限的用户将装饰素材拖动到显示的某一个或某几个用户端的视频上,某一个或某几个用户端的视频就成为待装饰用户端视频。
步骤S5,待装饰用户端根据接收到的装饰指令,从本地查找相应的装饰素材并添加到实时捕获的视频帧的相应位置上;
作为本实施例的一种可选实施方式,如图2所示,步骤S5具体包括:
步骤S51,根据接收到的装饰指令获取第一素材ID和第一位置;
步骤S52,对本地下载的所有装饰素材进行解析,得到解析信息,其中,解析信息包括第二素材ID、素材类型、素材显示图层和素材透明度;
步骤S53,查找与第一素材ID相同的第二素材ID所属的装饰素材;
步骤S54,根据查找到的装饰素材的素材类型,将查找到的装饰素材添加到实时捕获的视频帧的相应位置上。
本实施例中,装饰素材的素材类型可以包括人脸装饰、场景装饰和奖品装饰。其中,人脸装饰主要装饰在场景中的人脸上,比如额头、鼻子、耳朵、眼睛等部位,会随着用户脸部的移动同步的移动;场景装饰主要装饰在场景中,比如场景中的树林等,在视频中的位置是固定的、无法变化;奖品装饰主要是用户之间的相互奖励的物品,比如用户相互赠送的棒棒糖、宠物等,在视频中的位置是可以变化的,可以由用户的拖动点击等操作改变饰品的位置。由于素材类型的不同,因此针对不同类型的装饰素材,其装饰的方法也有所不同。因此,可选的,步骤S54具体包括:
(1)若查找到的装饰素材的素材类型为人脸装饰,则忽略装饰指令中的第一位置,并针对每一帧视频图像重复以下步骤进行装饰(如图3所示):
步骤S541,进行人脸区域检测,计算出人脸的区域位置;
步骤S542,进行人脸特征点检测,记录人脸的多个特征点的位置;
步骤S543,根据人脸装饰的类别选择人脸上相应的两个特征点;
步骤S544,使用仿射变换算法将装饰素材上的像素映射到视频图像上,并且按照素材显示图层和素材透明度将素材图片覆盖到视频图像上。
因为每帧检测到的人脸位置不同,人脸特征点的位置也不同,所以人脸装饰的素材图片会随着人脸的大小而缩放,也会随着人脸的位置移动,需要对每一帧视频图像分别进行步骤S541至步骤S544。由于人脸装饰随视频中的人脸位置而动,其位置变化不定,因此具有装饰权限的用户选择的第一位置并不具有参考意义,在待装饰用户端进行装饰时可以忽略指令中的第一位置信息。
对于步骤S541和步骤S542,均可以采用现有的检测算法来检测视频中人脸的区域位置以及特征点的位置。
对于步骤S543,人脸上有多个特征点,如果选取一个特征点,只能计算素材的位置,而无法计算缩放和旋转角度;而如果选取多个特征点,虽然可以实现素材位置、缩放和旋转角度的计算,以及更精细的装饰,比如素材的扭曲,但是会影响运算速度。因此,选取人脸上的两个特征点,既可以实现素材位置、缩放和旋转角度的计算,又不会影响运算速度。而这两个特征点的选取是可以预先设置的,例如可以选择特征目标上相距较远的两个特征点,这样对特征点的小抖动不敏感;并且不同的人脸装饰的类别所选取的两个特征点也是不同的,例如:嘴上的装饰选择嘴附近的两个特征点,眼镜上的装饰就选择眼睛附近的两个特征点。
可选的,步骤S544具体包括:
步骤S5441,根据人脸上的两个点和素材上的两个点计算素材的平移值(x,y)旋转角度和缩放系数;
步骤S5442,根据平移值计算出仿射变化矩阵中的系数;
步骤S5443,针对装饰素材的四个角点用仿射变换计算其在原图中的显示范围;
步骤S5444,遍历步骤S5443中计算的原图显示范围的每个像素,用反仿射变换计算这些像素在素材中对应的位置,然后根据双线性插值等算法计算出素材像素在原图像素上的Y,Cb,Cr,Alpha(透明度)值,并根据透明度Alpha的值计算素材像素和原图像素融合之后的Y,Cb,Cr值。
(2)若查找到的装饰素材的素材类型为场景装饰,则忽略装饰指令中的第一位置,按照素材显示图层和素材透明度将素材图片覆盖到视频图像上。
由于场景装饰的图像大小始终与视频的图像大小一致,因此,具有装饰权限的用户选择的第一位置不具有参考意义,因此,忽略装饰指令中的第一位置信息。
(3)若查找到的装饰素材的素材类型为奖品装饰,则根据第一位置、素材显示图层和素材透明度将素材图片覆盖到视频图像上。
对于在画面中位置固定的装饰素材(例如场景装饰、奖品装饰),可以采用双缓存技术对视频进行装饰。可选的,步骤S54具体包括:若查找到的装饰素材的素材类型为场景装饰或奖品装饰,则构建渲染缓存帧数组和非渲染缓存帧数组,其中,非渲染缓存帧数组用于加载装饰素材,渲染缓存帧数组用于进行视频帧装饰;当非渲染缓存帧数组加载完装饰素材后,将非渲染缓存帧数组转换成渲染缓存帧数组进行视频帧装饰,而将原来进行视频帧装饰的渲染缓存帧数组转换成非渲染缓存帧数组用来加载装饰素材;当待装饰用户端未完成当前装饰指令且接收到新的装饰指令时,将新的装饰素材按照素材显示图层和素材透明度顺序加载到非渲染缓存帧数组中,新的装饰素材加载完成后,将非渲染缓存帧数组与渲染缓存帧数组进行互换,进行视频帧图像装饰。由于素材的加载和显示在两个不同的缓存帧中进行处理,所以用多线程处理技术,不会导致视频的卡顿。因为在用户设置素材时已经将所有的装饰素材都加载到了渲染缓存帧数组中,所以在视频装饰时只需要装饰渲染缓存帧数组中的图像帧即可,因此运行速度快,添加任意多的装饰素材并不影响性能。同时场景素材的装饰只需要装饰一次,因此场景的视频装饰速度非常快。
本实施例中,装饰素材为静态的一张图像或动态的多张图像;其中,动态的多张图像采用同一个素材ID,并根据所设置的帧率、显示顺序和图层进行展示,当其装饰在视频之后随着时间的变化该装饰也会以一定的帧率发生变化,从而显示出动画的效果。支持动态和静态两种素材,提供更为直观有趣的交互方式;使用灵活的图层配置技术,每个素材在视频画面中显示的图层都是可以配置的,通过对素材的层级进行配置,可以灵活设置多个素材的显示顺序和遮挡层次,在不同的应用场景中展示不同的装饰效果。
步骤S6,待装饰用户端将添加装饰素材的视频数据进行编码,并通过远程服务器实时发送至该虚拟房间的其他用户端。
本实施例中,待装饰用户端会实时显示装饰后的视频数据,该虚拟房间的其他用户端(包括发出装饰指令的具有装饰权限的用户端)也会实时显示待装饰用户端发送的装饰后的视频数据。
如果由具有装饰权限的用户端直接对待装饰用户端发来的视频进行装饰,那么将只有具有装饰权限的用户端能看见装饰后的视频,其他用户端(包括待装饰用户端)均不能看到装饰后的视频,如果想要其他用户端看到,则需要额外发送装饰后的视频给其他用户端,这无疑会影响整个在线视频的速度,增加服务器运行压力。而在本实施例中,具有装饰权限的用户端并不会直接对待装饰用户端发来的视频进行装饰,而是向待装饰用户端发送装饰指令,由待装饰用户端对自己的视频进行装饰,并将添加装饰素材的视频实时发送给该虚拟房间的所有其他用户端,整个在线视频系统没有增加额外的视频传输任务,不会影响正常的视频传输速度,还能使虚拟房间内的所有用户端都能实时收看装饰后的视频。
另外,具有装饰权限的用户端除了可以指示其他用户端进行视频装饰,也可以对自身捕获的视频进行装饰,具体的装饰方法与待装饰用户端对自身视频进行装饰的方法相同,具体不再赘述。
下面以在线教室为例进行说明:如图4所示,老师端与学生端通过远程服务器进行实时音视频传输。老师和学生进入同一个教室时,都会从远程服务器下载本房间专用的装饰素材;老师和学生进入同一个教室之后,会通过服务器来接收其他人的视频数据,同时也发送自己端的视频数据;老师端可以看到各个素材的缩略图,给自己和其它学生端的视频添加素材;如图5所示,每个学生端和老师端都会收到老师进行装饰的指令,然后各个用户端会按照收到的装饰指令,找到相应的装饰素材装饰到本段录制的视频上,并且对装饰完的视频进行编码传输。
本实施例提供的方法可以实现在线实时视频的装饰和传输,对装饰素材没有数量限制,可以进行大量素材的效果叠加,可以广泛应用于在线教育、直播、短视频等领域,尤其是在线教育领域,可以给用户的传输视频实时添加各种特效、装饰、挂件等,用户能够使用的装饰素材等都是与在线教育的课程教材等相匹配的素材,这些相匹配的素材不仅能够增加趣味性和互动性,还能增加用户使用英语词汇的频次。
本发明实施例二:
本实施例提供一种在线实时视频的装饰系统,如图6所示,包括远程服务器1,以及位于同一个虚拟房间的至少一个具有装饰权限的用户端2和至少一个待装饰用户端3;其中,
具有装饰权限的用户端2包括:第一下载模块21,用于具有装饰权限的用户端2从远程服务器1下载该虚拟房间专用的装饰素材到本地;第一视频捕获模块22,用于具有装饰权限的用户端2捕获自身在线视频数据;第一视频传输模块23,与第一视频捕获模块22连接,用于具有装饰权限的用户端2通过远程服务器1发送自身在线视频数据并接收其他用户端的在线视频数据;显示模块24,分别与第一下载模块21和第一视频传输模块23连接,用于具有装饰权限的用户端2显示下载的装饰素材以及待装饰用户端视频;指令生成模块25,用于在具有装饰权限的用户将选择的装饰素材拖动到待装饰用户端视频的第一位置后,具有装饰权限的用户端2根据第一素材ID和第一位置生成装饰指令,其中,第一素材ID为选择的装饰素材的ID;指令发送模块26,与指令生成模块25连接,用于具有装饰权限的用户端2发送装饰指令至待装饰用户端3;
待装饰用户端3包括:第二下载模块31,用于待装饰用户端3从远程服务器1下载该虚拟房间专用的装饰素材到本地;第二视频捕获模块32,用于待装饰用户端3捕获自身在线视频数据;第二视频传输模块33,与第二视频捕获模块32连接,用于待装饰用户端3通过远程服务器1发送自身在线视频数据并接收其他用户端的视频数据;素材查找模块34,与第二下载模块31连接,用于待装饰用户端3根据接收到的装饰指令,从本地查找相应的装饰素材;装饰模块35,与素材查找模块34和第二视频捕获模块32连接,用于待装饰用户端3将查找到的装饰素材添加到实时捕获的视频帧的相应位置上;编码模块36,与装饰模块35连接,用于待装饰用户端3将添加装饰素材的视频数据进行编码;第二视频传输模块33,与编码模块36连接,还用于待装饰用户端3将编码的装饰完的视频通过远程服务器1实时发送至该虚拟房间的其他用户端。
本实施例中,用户端可以是手机、PC机、平板电脑等终端,对此本实施例不做具体限定。装饰素材集中在远程服务器1端进行管理,可以按照用户的交互场景,灵活配置需要下载的装饰素材。
本实施例中,进入同一个虚拟房间的用户端,都可以将自身实时捕获的在线视频(例如摄像头捕获视频)通过远程服务器1发送至该房间的其他用户端,当然,也可以通过远程服务器1接收其他用户端发来的在线视频。
本实施例中,处于同一虚拟房间的每个用户端(包括具有装饰权限的用户端2)既能显示自身实时的在线视频,也能同时显示该虚拟房间内的其他用户端发来的在线实时视频。用户端是否具有装饰权限可以由系统预先设定的,例如:在线教育系统中,可以为老师用户开启装饰权限,使老师具有为其他学生用户的视频进行装饰的权限,当然,装饰权限也是可以变更的。
本实施例可以通过预览缩略图等方式在具有装饰权限的用户端2显示本地下载的装饰素材,可以方便用户端快速的浏览装饰的效果,并决定是否要给其他用户端的视频进行装饰。
本实施例中,当具有装饰权限的用户选择了某一个或某几个用户端的视频进行装饰,也就是说,具有装饰权限的用户将装饰素材拖动到显示的某一个或某几个用户端的视频上,某一个或某几个用户端的视频就成为待装饰用户端视频。
作为本实施例的一种可选实施方式,如图7所示,素材查找模块34包括:获取模块341,用于根据接收到的装饰指令获取第一素材ID和第一位置;解析模块342,用于对本地下载的所有装饰素材进行解析,得到解析信息,其中,解析信息包括第二素材ID、素材类型、素材显示图层和素材透明度;ID查找模块343,分别与获取模块341和解析模块342连接,用于查找与第一素材ID相同的第二素材ID所属的装饰素材。
本实施例中,装饰素材的素材类型可以包括人脸装饰、场景装饰和奖品装饰。其中,人脸装饰主要装饰在场景中的人脸上,比如额头、鼻子、耳朵、眼睛等部位,会随着用户脸部的移动同步的移动;场景装饰主要装饰在场景中,比如场景中的树林等,在视频中的位置是固定的、无法变化;奖品装饰主要是用户之间的相互奖励的物品,比如用户相互赠送的棒棒糖、宠物等,在视频中的位置是可以变化的,可以由用户的拖动点击等操作改变饰品的位置。由于素材类型的不同,因此针对不同类型的装饰素材,其装饰的方法也有所不同。
可选的,如图8所示,装饰模块35包括人脸装饰模块351和/或场景装饰模块352和/或奖品装饰模块353;其中,人脸装饰模块351,用于当查找到的装饰素材的素材类型为人脸装饰时,忽略装饰指令中的第一位置,并对实时捕获的视频帧进行装饰处理;人脸装饰模块351包括:区域检测模块3511,用于进行人脸区域检测,计算出人脸的区域位置;特征点检测模块3512,与区域检测模块3511连接,用于进行人脸特征点检测,记录人脸的多个特征点的位置;特征点选取模块3513,与特征点检测模块3512连接,用于根据人脸装饰的类别选择人脸上相应的两个特征点;仿射变换模块3514,与特征点选取模块3513连接,用于使用仿射变换算法将装饰素材上的像素映射到视频图像上,并且按照素材显示图层和素材透明度将素材图片覆盖到视频图像上。
因为每帧检测到的人脸位置不同,人脸特征点的位置也不同,所以人脸装饰的素材图片会随着人脸的大小而缩放,也会随着人脸的位置移动,需要对每一帧视频图像分别进行装饰处理。由于人脸装饰随视频中的人脸位置而动,其位置变化不定,因此具有装饰权限的用户选择的第一位置并不具有参考意义,在待装饰用户端3进行装饰时可以忽略指令中的第一位置信息。均可以采用现有的检测算法来检测视频中人脸的区域位置以及特征点的位置。人脸上有多个特征点,如果选取一个特征点,只能计算素材的位置,而无法计算缩放和旋转角度;而如果选取多个特征点,虽然可以实现素材位置、缩放和旋转角度的计算,以及更精细的装饰,比如素材的扭曲,但是会影响运算速度。因此,选取人脸上的两个特征点,既可以实现素材位置、缩放和旋转角度的计算,又不会影响运算速度。而这两个特征点的选取是可以预先设置的,例如可以选择特征目标上相距较远的两个特征点,这样对特征点的小抖动不敏感;并且不同的人脸装饰的类别所选取的两个特征点也是不同的,例如:嘴上的装饰选择嘴附近的两个特征点,眼镜上的装饰就选择眼睛附近的两个特征点。
仿射变换模块3514根据人脸上的两个点和素材上的两个点计算素材的平移值(x,y)旋转角度和缩放系数;根据平移值计算出仿射变化矩阵中的系数;针对装饰素材的四个角点用仿射变换计算其在原图中的显示范围;遍历计算的原图显示范围的每个像素,用反仿射变换计算这些像素在素材中对应的位置,然后根据双线性插值等算法计算出素材像素在原图像素上的Y,Cb,Cr,Alpha(透明度)值,并根据透明度Alpha的值计算素材像素和原图像素融合之后的Y,Cb,Cr值。
场景装饰模块352,用于当查找到的装饰素材的素材类型为场景装饰时,忽略装饰指令中的第一位置,并按照素材显示图层和素材透明度将素材图片覆盖到视频图像上。由于场景装饰的图像大小始终与视频的图像大小一致,因此,具有装饰权限的用户选择的第一位置不具有参考意义,因此,忽略装饰指令中的第一位置信息。
奖品装饰模块353,用于当查找到的装饰素材的素材类型为奖品装饰时,根据第一位置、素材显示图层和素材透明度将素材图片覆盖到视频图像上。
对于在画面中位置固定的装饰素材(例如场景装饰、奖品装饰),可以采用双缓存技术对视频进行装饰。因此,可选的,装饰模块35可以包括双缓存模块354,用于若查找到的装饰素材的素材类型为场景装饰或奖品装饰,则构建渲染缓存帧数组和非渲染缓存帧数组,其中,非渲染缓存帧数组用于加载装饰素材,渲染缓存帧数组用于进行视频帧装饰;当非渲染缓存帧数组加载完装饰素材后,将非渲染缓存帧数组转换成渲染缓存帧数组进行视频帧装饰,而将原来进行视频帧装饰的渲染缓存帧数组转换成非渲染缓存帧数组用来加载装饰素材;当待装饰用户端3未完成当前视频帧装饰且接收到新的装饰指令时,将新的装饰素材按照素材显示图层和素材透明度顺序加载到非渲染缓存帧数组中,新的装饰素材加载完成后,将非渲染缓存帧数组与渲染缓存帧数组进行互换,进行视频帧装饰。由于素材的加载和显示在两个不同的缓存帧中进行处理,所以用多线程处理技术,不会导致视频的卡顿。因为在用户设置素材时已经将所有的装饰素材都加载到了渲染缓存帧数组中,所以在视频装饰时只需要装饰渲染缓存帧数组中的图像帧即可,因此运行速度快,添加任意多的装饰素材并不影响性能。同时场景素材的装饰只需要装饰一次,因此场景的视频装饰速度非常快。
本实施例中,装饰素材为静态的一张图像或动态的多张图像;其中,动态的多张图像采用同一个素材ID,并根据所设置的帧率、显示顺序和图层进行展示,当其装饰在视频之后随着时间的变化该装饰也会以一定的帧率发生变化,从而显示出动画的效果。支持动态和静态两种素材,提供更为直观有趣的交互方式;使用灵活的图层配置技术,每个素材在视频画面中显示的图层都是可以配置的,通过对素材的层级进行配置,可以灵活设置多个素材的显示顺序和遮挡层次,在不同的应用场景中展示不同的装饰效果。
本实施例中,待装饰用户端3会实时显示装饰后的视频数据,该虚拟房间的其他用户端(包括发出装饰指令的具有装饰权限的用户端2)也会实时显示待装饰用户端3发送的装饰后的视频数据。
如果由具有装饰权限的用户端2直接对待装饰用户端3发来的视频进行装饰,那么将只有具有装饰权限的用户端2能看见装饰后的视频,其他用户端(包括待装饰用户端3)均不能看到装饰后的视频,如果想要其他用户端看到,则需要额外发送装饰后的视频给其他用户端,这无疑会影响整个在线视频的速度,增加服务器运行压力。而在本实施例中,具有装饰权限的用户端2并不会直接对待装饰用户端3发来的视频进行装饰,而是向待装饰用户端3发送装饰指令,由待装饰用户端3对自己的视频进行装饰,并将添加装饰素材的视频实时发送给该虚拟房间的所有其他用户端,整个在线视频系统没有增加额外的视频传输任务,不会影响正常的视频传输速度,还能使虚拟房间内的所有用户端都能实时收看装饰后的视频。
另外,具有装饰权限的用户端2除了可以指示其他用户端进行视频装饰,也可以对自身捕获的视频进行装饰,具体的装饰系统与待装饰用户端3的装饰系统相同,具体不再赘述。
本实施例提供的系统可以实现在线实时视频的装饰和传输,对装饰素材没有数量限制,可以进行大量素材的效果叠加,可以广泛应用于在线教育、直播、短视频等领域,尤其是在线教育领域,可以给用户的传输视频实时添加各种特效、装饰、挂件等,用户能够使用的装饰素材等都是与在线教育的课程教材等相匹配的素材,这些相匹配的素材不仅能够增加趣味性和互动性,还能增加用户使用英语词汇的频次。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的创造性精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种在线实时视频的装饰方法,其特征在于,包括以下步骤:
步骤S1,多个用户进入同一个虚拟房间后,各个用户端均从远程服务器下载该虚拟房间专用的装饰素材到本地;
步骤S2,每个用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的在线视频数据;
步骤S3,具有装饰权限的用户端显示下载的装饰素材以及待装饰用户端视频;
步骤S4,在具有装饰权限的用户将选择的装饰素材拖动到所述待装饰用户端视频的第一位置后,具有装饰权限的用户端根据第一素材ID和第一位置生成装饰指令,并发送所述装饰指令至待装饰用户端,其中,所述第一素材ID为选择的装饰素材的ID;
步骤S5,所述待装饰用户端根据接收到的装饰指令,从本地查找相应的装饰素材并添加到实时捕获的视频帧的相应位置上;具体包括:
步骤S51,根据接收到的装饰指令获取第一素材ID和第一位置;
步骤S52,对本地下载的所有装饰素材进行解析,得到解析信息,其中,所述解析信息包括第二素材ID、素材类型、素材显示图层和素材透明度;
步骤S53,查找与所述第一素材ID相同的第二素材ID所属的装饰素材;
步骤S54,根据查找到的装饰素材的素材类型,将查找到的装饰素材添加到实时捕获的视频帧的相应位置上;具体包括:
若查找到的装饰素材的素材类型为场景装饰或奖品装饰,则构建渲染缓存帧数组和非渲染缓存帧数组,其中,所述非渲染缓存帧数组用于加载装饰素材,所述渲染缓存帧数组用于进行视频帧装饰;当非渲染缓存帧数组加载完装饰素材后,将非渲染缓存帧数组转换成渲染缓存帧数组进行视频帧装饰,而将原来进行视频帧装饰的渲染缓存帧数组转换成非渲染缓存帧数组用来加载装饰素材;当待装饰用户端未完成当前视频帧装饰且接收到新的装饰指令时,将新的装饰素材按照素材显示图层和素材透明度顺序加载到非渲染缓存帧数组中,新的装饰素材加载完成后,将非渲染缓存帧数组与渲染缓存帧数组进行互换,进行视频帧装饰;
步骤S6,所述待装饰用户端将添加装饰素材的视频数据进行编码,并通过所述远程服务器实时发送至该虚拟房间的其他用户端。
2.根据权利要求1所述的在线实时视频的装饰方法,其特征在于,所述步骤S54具体包括:
若查找到的装饰素材的素材类型为人脸装饰,则忽略所述装饰指令中的第一位置,并针对每一帧视频图像重复以下步骤进行装饰:
步骤S541,进行人脸区域检测,计算出人脸的区域位置;
步骤S542,进行人脸特征点检测,记录人脸的多个特征点的位置;
步骤S543,根据人脸装饰的类别选择人脸上相应的两个特征点;
步骤S544,使用仿射变换算法将装饰素材上的像素映射到视频图像上,并且按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;和/或,
若查找到的装饰素材的素材类型为场景装饰,则忽略所述装饰指令中的第一位置,按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;和/或,
若查找到的装饰素材的素材类型为奖品装饰,则根据第一位置、素材显示图层和素材透明度将素材图片覆盖到视频图像上。
3.根据权利要求1所述的在线实时视频的装饰方法,其特征在于,所述装饰素材为静态的一张图像或动态的多张图像;其中,动态的多张图像采用同一个素材ID,并根据所设置的帧率、显示顺序和图层进行展示。
4.一种在线实时视频的装饰系统,其特征在于,包括远程服务器,以及位于同一个虚拟房间的至少一个具有装饰权限的用户端和至少一个待装饰用户端;其中,
所述具有装饰权限的用户端包括:
第一下载模块,用于所述具有装饰权限的用户端从所述远程服务器下载该虚拟房间专用的装饰素材到本地;
第一视频捕获模块,用于所述具有装饰权限的用户端捕获自身在线视频数据;
第一视频传输模块,与所述第一视频捕获模块连接,用于所述具有装饰权限的用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的在线视频数据;
显示模块,分别与所述第一下载模块和所述第一视频传输模块连接,用于所述具有装饰权限的用户端显示下载的装饰素材以及待装饰用户端视频;
指令生成模块,用于在具有装饰权限的用户将选择的装饰素材拖动到所述待装饰用户端视频的第一位置后,所述具有装饰权限的用户端根据第一素材ID和第一位置生成装饰指令,其中,所述第一素材ID为选择的装饰素材的ID;
指令发送模块,与所述指令生成模块连接,用于发送所述装饰指令至待装饰用户端;
所述待装饰用户端包括:
第二下载模块,用于所述待装饰用户端从所述远程服务器下载该虚拟房间专用的装饰素材到本地;
第二视频捕获模块,用于所述待装饰用户端捕获自身在线视频数据;
第二视频传输模块,与所述第二视频捕获模块连接,用于所述待装饰用户端通过所述远程服务器发送自身在线视频数据并接收其他用户端的视频数据;
素材查找模块,与所述第二下载模块连接,用于所述待装饰用户端根据接收到的装饰指令,从本地查找相应的装饰素材;
装饰模块,与所述素材查找模块和所述第二视频捕获模块连接,用于所述待装饰用户端将查找到的装饰素材添加到实时捕获的视频帧的相应位置上;
编码模块,与所述装饰模块连接,用于所述待装饰用户端将添加装饰素材的视频数据进行编码;
所述第二视频传输模块,与所述编码模块连接,还用于所述待装饰用户端将编码的装饰完的视频通过所述远程服务器实时发送至该虚拟房间的其他用户端;
所述素材查找模块包括:
获取模块,用于根据接收到的装饰指令获取第一素材ID和第一位置;
解析模块,用于对本地下载的所有装饰素材进行解析,得到解析信息,其中,所述解析信息包括第二素材ID、素材类型、素材显示图层和素材透明度;
ID查找模块,分别与所述获取模块和所述解析模块连接,用于查找与所述第一素材ID相同的第二素材ID所属的装饰素材;
所述装饰模块包括双缓存模块,用于若查找到的装饰素材的素材类型为场景装饰或奖品装饰,则构建渲染缓存帧数组和非渲染缓存帧数组,其中,所述非渲染缓存帧数组用于加载装饰素材,所述渲染缓存帧数组用于进行视频帧装饰;当非渲染缓存帧数组加载完装饰素材后,将非渲染缓存帧数组转换成渲染缓存帧数组进行视频帧装饰,而将原来进行视频帧装饰的渲染缓存帧数组转换成非渲染缓存帧数组用来加载装饰素材;当待装饰用户端未完成当前视频帧装饰且接收到新的装饰指令时,将新的装饰素材按照素材显示图层和素材透明度顺序加载到非渲染缓存帧数组中,新的装饰素材加载完成后,将非渲染缓存帧数组与渲染缓存帧数组进行互换,进行视频帧装饰。
5.根据权利要求4所述的在线实时视频的装饰系统,其特征在于,所述装饰模块包括人脸装饰模块和/或场景装饰模块和/或奖品装饰模块;其中,
所述人脸装饰模块,用于当查找到的装饰素材的素材类型为人脸装饰时,忽略所述装饰指令中的第一位置,并对实时捕获的视频帧进行装饰处理;所述人脸装饰模块包括:
区域检测模块,用于进行人脸区域检测,计算出人脸的区域位置;
特征点检测模块,与所述区域检测模块连接,用于进行人脸特征点检测,记录人脸的多个特征点的位置;
特征点选取模块,与所述特征点检测模块连接,用于根据人脸装饰的类别选择人脸上相应的两个特征点;
仿射变换模块,与所述特征点选取模块连接,用于使用仿射变换算法将装饰素材上的像素映射到视频图像上,并且按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;
所述场景装饰模块,用于当查找到的装饰素材的素材类型为场景装饰时,忽略所述装饰指令中的第一位置,并按照素材显示图层和素材透明度将素材图片覆盖到视频图像上;
所述奖品装饰模块,用于当查找到的装饰素材的素材类型为奖品装饰时,根据第一位置、素材显示图层和素材透明度将素材图片覆盖到视频图像上。
6.根据权利要求4所述的在线实时视频的装饰系统,其特征在于,所述装饰素材为静态的一张图像或动态的多张图像;其中,动态的多张图像采用同一个素材ID,并根据所设置的帧率、显示顺序和图层进行展示。
CN201910291230.0A 2019-04-11 2019-04-11 一种在线实时视频的装饰方法与系统 Active CN110035321B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910291230.0A CN110035321B (zh) 2019-04-11 2019-04-11 一种在线实时视频的装饰方法与系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910291230.0A CN110035321B (zh) 2019-04-11 2019-04-11 一种在线实时视频的装饰方法与系统

Publications (2)

Publication Number Publication Date
CN110035321A CN110035321A (zh) 2019-07-19
CN110035321B true CN110035321B (zh) 2022-02-11

Family

ID=67238080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910291230.0A Active CN110035321B (zh) 2019-04-11 2019-04-11 一种在线实时视频的装饰方法与系统

Country Status (1)

Country Link
CN (1) CN110035321B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654737B (zh) * 2020-06-24 2022-07-12 北京嗨动视觉科技有限公司 节目同步管理方法和装置
CN112230982A (zh) * 2020-10-15 2021-01-15 北京达佳互联信息技术有限公司 素材处理方法、装置、电子设备及存储介质
CN113225577B (zh) * 2021-05-07 2022-10-11 北京百度网讯科技有限公司 直播流处理方法、装置、系统、电子设备及存储介质
CN113490050B (zh) * 2021-09-07 2021-12-17 北京市商汤科技开发有限公司 视频处理方法和装置、计算机可读存储介质及计算机设备
CN115914499A (zh) * 2021-09-30 2023-04-04 北京字跳网络技术有限公司 一种视频生成方法、装置、系统、设备及存储介质
CN116077946A (zh) * 2021-11-08 2023-05-09 脸萌有限公司 角色信息交互方法、设备、存储介质及程序产品
CN114222191B (zh) * 2021-11-24 2023-09-08 星际数科科技股份有限公司 一种聊天换装视频播放的系统
CN114791964B (zh) * 2022-03-24 2023-05-09 北京城市网邻信息技术有限公司 房屋装修视频的处理方法、装置、电子设备及存储介质
CN118075409B (zh) * 2024-04-19 2024-06-25 贵州联广科技股份有限公司 多级别用户端的数据融合方法及装置

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287093A (zh) * 2008-05-30 2008-10-15 北京中星微电子有限公司 在视频通信中添加特效的方法及视频客户端
CN102624468A (zh) * 2011-12-30 2012-08-01 成都中安频谱科技有限公司 基于双fft的宽带自动检测方法
CN103368816A (zh) * 2012-03-29 2013-10-23 深圳市腾讯计算机系统有限公司 基于虚拟人物形象的即时通讯方法及系统
CN103631565A (zh) * 2013-11-13 2014-03-12 北京像素软件科技股份有限公司 场景资源的加载方法和加载装置
CN105577397A (zh) * 2015-12-15 2016-05-11 武汉斗鱼网络科技有限公司 聊天室中赠送虚拟礼物触发虚拟礼物宝箱的方法与系统
CN105959127A (zh) * 2016-06-28 2016-09-21 武汉斗鱼网络科技有限公司 一种移动端虚拟礼物效果展示方法及装置
CN106447604A (zh) * 2016-09-30 2017-02-22 北京奇虎科技有限公司 一种变换视频中面部画面的方法和装置
CN107222753A (zh) * 2017-05-25 2017-09-29 北京潘达互娱科技有限公司 虚拟礼物加载方法及装置
CN107295251A (zh) * 2017-06-09 2017-10-24 腾讯科技(深圳)有限公司 图像处理方法、装置、终端及存储介质
CN107835464A (zh) * 2017-09-28 2018-03-23 努比亚技术有限公司 视频通话窗口画面处理方法、终端和计算机可读存储介质
CN108848399A (zh) * 2018-07-12 2018-11-20 广州趣丸网络科技有限公司 一种基于多麦位房间的信息交互方法及装置
CN108876713A (zh) * 2018-06-28 2018-11-23 北京字节跳动网络技术有限公司 二维模板图像的映射方法、装置、终端设备和存储介质
CN109104586A (zh) * 2018-10-08 2018-12-28 北京小鱼在家科技有限公司 特效添加方法、装置、视频通话设备以及存储介质
CN109391792A (zh) * 2017-08-03 2019-02-26 腾讯科技(深圳)有限公司 视频通信的方法、装置、终端及计算机可读存储介质
CN109951736A (zh) * 2019-04-11 2019-06-28 北京大生在线科技有限公司 一种在线实时视频的滤镜方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9161068B2 (en) * 2004-03-24 2015-10-13 Onstream Media Corporation Remotely accessed virtual recording room
CN106254489A (zh) * 2016-08-16 2016-12-21 王淼 一种无文件传输的云渲染系统及其方法
CN107277616A (zh) * 2017-07-21 2017-10-20 广州爱拍网络科技有限公司 视频特效渲染方法、装置及终端
CN108156520B (zh) * 2017-12-29 2020-08-25 珠海市君天电子科技有限公司 视频播放方法、装置、电子设备及存储介质

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101287093A (zh) * 2008-05-30 2008-10-15 北京中星微电子有限公司 在视频通信中添加特效的方法及视频客户端
CN102624468A (zh) * 2011-12-30 2012-08-01 成都中安频谱科技有限公司 基于双fft的宽带自动检测方法
CN103368816A (zh) * 2012-03-29 2013-10-23 深圳市腾讯计算机系统有限公司 基于虚拟人物形象的即时通讯方法及系统
CN103631565A (zh) * 2013-11-13 2014-03-12 北京像素软件科技股份有限公司 场景资源的加载方法和加载装置
CN105577397A (zh) * 2015-12-15 2016-05-11 武汉斗鱼网络科技有限公司 聊天室中赠送虚拟礼物触发虚拟礼物宝箱的方法与系统
CN105959127A (zh) * 2016-06-28 2016-09-21 武汉斗鱼网络科技有限公司 一种移动端虚拟礼物效果展示方法及装置
CN106447604A (zh) * 2016-09-30 2017-02-22 北京奇虎科技有限公司 一种变换视频中面部画面的方法和装置
CN107222753A (zh) * 2017-05-25 2017-09-29 北京潘达互娱科技有限公司 虚拟礼物加载方法及装置
CN107295251A (zh) * 2017-06-09 2017-10-24 腾讯科技(深圳)有限公司 图像处理方法、装置、终端及存储介质
CN109391792A (zh) * 2017-08-03 2019-02-26 腾讯科技(深圳)有限公司 视频通信的方法、装置、终端及计算机可读存储介质
CN107835464A (zh) * 2017-09-28 2018-03-23 努比亚技术有限公司 视频通话窗口画面处理方法、终端和计算机可读存储介质
CN108876713A (zh) * 2018-06-28 2018-11-23 北京字节跳动网络技术有限公司 二维模板图像的映射方法、装置、终端设备和存储介质
CN108848399A (zh) * 2018-07-12 2018-11-20 广州趣丸网络科技有限公司 一种基于多麦位房间的信息交互方法及装置
CN109104586A (zh) * 2018-10-08 2018-12-28 北京小鱼在家科技有限公司 特效添加方法、装置、视频通话设备以及存储介质
CN109951736A (zh) * 2019-04-11 2019-06-28 北京大生在线科技有限公司 一种在线实时视频的滤镜方法及系统

Also Published As

Publication number Publication date
CN110035321A (zh) 2019-07-19

Similar Documents

Publication Publication Date Title
CN110035321B (zh) 一种在线实时视频的装饰方法与系统
Massey et al. Salient stills: Process and practice
CN103828339B (zh) 用于数字图像检索的拼接过程
CN108648257B (zh) 全景画面的获取方法、装置、存储介质及电子装置
CN103702040B (zh) 实时视频图饰叠加处理方法及系统
US20180160194A1 (en) Methods, systems, and media for enhancing two-dimensional video content items with spherical video content
US11941748B2 (en) Lightweight view dependent rendering system for mobile devices
CN106713988A (zh) 一种对虚拟场景直播进行美颜处理的方法及系统
EP3681144B1 (en) Video processing method and apparatus based on augmented reality, and electronic device
CA2599483A1 (en) Automatic scene modeling for the 3d camera and 3d video
CN107862718B (zh) 4d全息视频捕捉方法
US20190208124A1 (en) Methods and apparatus for overcapture storytelling
US12079924B2 (en) System and method for dynamic images virtualization
EP4111677B1 (en) Multi-source image data synchronization
CN105791390A (zh) 数据传输方法、装置及系统
US20240144429A1 (en) Image processing method, apparatus and system, and storage medium
CN107341710A (zh) 一种三维全景信息互动影息技术
Langlotz et al. AR record&replay: situated compositing of video content in mobile augmented reality
US20130336640A1 (en) System and method for distributing computer generated 3d visual effects over a communications network
Ekong et al. Teacher-student vr telepresence with networked depth camera mesh and heterogeneous displays
CN110267079B (zh) 待播放视频中人脸的替换方法和装置
WO2021217385A1 (zh) 一种视频处理方法和装置
KR101773891B1 (ko) 실시간 환경객체 선택을 통한 합성동영상 재생 시스템 및 컴퓨터 구현 방법
WO2014033347A1 (en) Method and apparatus for recording video sequences
Takacs et al. Hyper 360—towards a unified tool set supporting next generation VR film and TV productions

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