CN108337465B - 视频处理方法和装置 - Google Patents
视频处理方法和装置 Download PDFInfo
- Publication number
- CN108337465B CN108337465B CN201710071869.9A CN201710071869A CN108337465B CN 108337465 B CN108337465 B CN 108337465B CN 201710071869 A CN201710071869 A CN 201710071869A CN 108337465 B CN108337465 B CN 108337465B
- Authority
- CN
- China
- Prior art keywords
- video
- terminal
- parameter
- gpu
- processing
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- 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/2621—Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种视频处理方法和装置。其中,该方法包括:获取用于指示第一终端的GPU性能的第一参数和用于指示第一终端的CPU性能的第二参数;根据第一参数和/或第二参数控制第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,其中,第一视频为第一终端实时录制的视频;控制第一终端向第二终端发送第二视频,其中,第二终端用于实时显示第二视频。本发明解决了现有技术实时视频通话过程中无法根据终端的性能对视频进行相应的滤镜处理的技术问题。
Description
技术领域
本发明涉及视频领域,具体而言,涉及一种视频处理方法和装置。
背景技术
在视频通话过程中,对视频进行滤镜处理能够达到美颜(例如磨皮、美白、瘦脸等)等特效功能,提升用户体验。
现有技术中,统一用一种算法实现一种滤镜效果,这样对于性能差的终端,在视频通话过程中非常卡顿、视频不流畅;对于性能好的终端,在视频通话过程中无法实现最佳的滤镜效果,资源不能得到充分利用。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种视频处理方法和装置,以至少解决现有技术实时视频通话过程中无法根据终端的性能对视频进行相应的滤镜处理的技术问题。
根据本发明实施例的一个方面,提供了一种视频处理方法,包括:获取用于指示第一终端的GPU性能的第一参数和用于指示所述第一终端的CPU性能的第二参数;根据所述第一参数和/或所述第二参数控制所述第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,其中,所述第一视频为所述第一终端实时录制的视频;控制所述第一终端向第二终端发送所述第二视频,其中,所述第二终端用于实时显示所述第二视频。
根据本发明实施例的另一方面,还提供了一种视频处理装置,包括:获取单元,用于获取用于指示第一终端的GPU性能的第一参数和用于指示所述第一终端的CPU性能的第二参数;第一控制单元,用于根据所述第一参数和/或所述第二参数控制所述第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,其中,所述第一视频为所述第一终端实时录制的视频;第二控制单元,用于控制所述第一终端向第二终端发送所述第二视频,其中,所述第二终端用于实时显示所述第二视频。
在本发明实施例中,第一参数指示第一终端的GPU性能,第二参数指示第一终端的CPU性能,根据第一参数和/或第二参数控制第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,控制第一终端向第二终端发送第二视频,当第二终端接收到第二视频之后,第二终端实时显示第二视频,对于不同性能的第一终端,对第一视频进行滤镜处理采用的算法是不同的,对第一视频进行滤镜处理时GPU或者CPU的资源消耗也是不同的,达到了实时视频通话过程中根据终端的性能对视频进行相应的滤镜处理的技术效果,进而解决了现有技术实时视频通话过程中无法根据终端的性能对视频进行相应的滤镜处理的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种硬件环境的示意图;
图2是根据本发明实施例的一种视频处理方法的流程图;
图3是根据本发明实施例的远程视频聊天***端到端处理流程图;
图4是根据本发明实施例的对于某个滤镜A的渐增效果处理流程图;
图5是根据本发明实施例的第一次使用视频通话的引导图;
图6是根据本发明实施例的用户界面实施流程图;
图7是根据本发明实施例的适配低端机框架流程图;
图8是根据本发明实施例的美颜等滤镜处理模块(CPU上进行YUV处理)的示意图;
图9-1是根据本发明实施例的第一视频中的一帧图像;
图9-2是根据本发明实施例的第二视频中的一帧图像;
图10-1是根据本发明实施例的第一视频中的又一帧图像;
图10-2是根据本发明实施例的第二视频中的又一帧图像;
图11是根据本发明实施例的适配高端机框架流程图;
图12是根据本发明实施例的本端高端机型,远端是低端机型的适配方案的示意图;
图13是根据本发明实施例的一种视频处理装置的示意图。
图14是根据本发明实施例的服务器的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
技术术语解释:
滤镜:主要是用来实现图像的各种特殊效果。它在Photoshop中具有非常神奇的作用。所有的滤镜在Photoshop中都按分类放置在菜单中,使用时只需要从该菜单中执行这命令即可。滤镜的操作是非常简单的,但是真正用起来却很难恰到好处。滤镜通常需要同通道、图层等联合使用,才能取得最佳艺术效果。
视频编解码:所谓视频编码方式就是指通过特定的压缩技术,将某个视频格式的文件转换成另一种视频格式文件的方式。视频流传输中最为重要的编解码标准有国际电联的H.261、H.263、H.264,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组的MPEG系列标准,此外在互联网上被广泛应用的还有Real-Networks的RealVideo、微软公司的WMV以及Apple公司的QuickTime等。
kbps:码率就是数据传输时单位时间传送的数据位数,一般用的单位是kbps即千位每秒。Kbps也可以表示网络的传输速度,为了在直观上显得网络的传输速度较快,一般公司都使用kb(千位)来表示,如果是KBps,则表示每秒传送多少千字节。
QP:量化参数,用于视频编解码中。
低端机型:指的是CPU性能、GPU性能都比较差的机型。
高端机型:指的是CPU性能、GPU性能都比较好的机型。
根据本发明实施例,提供了一种视频处理方法的实施例。
可选地,在本实施例中,上述视频处理方法可以应用于如图1所示的由服务器102、终端104、终端106所构成的硬件环境中。如图1所示,服务器102通过网络与终端104、终端106进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端104、终端106并不限定于PC、手机、平板电脑等。本发明实施例的视频处理方法可以由终端104来执行,也可以由终端104、服务器102共同来执行。终端104执行本发明实施例的视频处理方法可以是由安装在其上的客户端来执行。安装在终端104上的客户端获取第一参数和第二参数,其中,第一参数用于指示终端104的GPU性能,第二参数用于指示终端104的CPU性能。终端104实时录制视频,得到第一视频,安装在终端104上的客户端根据第一参数和/或第二参数控制终端104的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,终端104向终端106发送第二视频,终端106实时显示第二视频。
在视频处理方法由终端104、服务器102共同来执行的情况下,本发明实施例提供的网络构架图如图1所示。如图1所示,安装在终端104上的客户端获取第一参数和第二参数,其中,第一参数用于指示终端104的GPU性能,第二参数用于指示终端104的CPU性能。终端104实时录制视频,得到第一视频,安装在终端104上的客户端根据第一参数和/或第二参数得到滤镜方案,根据滤镜方案控制终端104的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,终端104向终端106发送第二视频,终端106实时显示第二视频。安装在终端104上的客户端将终端104对应的滤镜方案发送至服务器102,服务器102将终端104与其对应的滤镜方案关联存储。当安装在终端104上的客户端下一次开启实时视频通话时,客户端从服务器102获取终端104关联的滤镜方案,根据获取到的滤镜方案控制终端104的GPU或者CPU对第一视频进行滤镜处理,得到第二视频。终端104向终端106发送第二视频,终端106实时显示第二视频。
根据本发明实施例,提供了一种视频处理方法,如图2所示,该方法包括以下步骤:
步骤S202,获取用于指示第一终端的GPU性能的第一参数和用于指示第一终端的CPU性能的第二参数。
步骤S204,根据第一参数和/或第二参数控制第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,其中,第一视频为第一终端实时录制的视频。
步骤S206,控制第一终端向第二终端发送第二视频,其中,第二终端用于实时显示第二视频。
第一终端可以通过摄像头实时录制视频,得到第一视频。
第二终端可以为一个或者多个。在第二终端为一个的时候,应用场景为一对一视频通话;在第二终端为多个的时候,应用场景为一对多视频直播。
通过第一参数和第二参数,能够知道第一终端的GPU性能和CPU性能的好坏。在第一参数表明第一终端的GPU性能较好的情况下,控制第一终端的GPU对第一视频进行滤镜处理。
在第一参数表明第一终端的GPU性能较差的情况下,控制第一终端的CPU对第一视频进行滤镜处理。
在本发明实施例中,第一参数指示第一终端的GPU性能,第二参数指示第一终端的CPU性能,根据第一参数和/或第二参数控制第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,控制第一终端向第二终端发送第二视频,当第二终端接收到第二视频之后,第二终端实时显示第二视频,对于不同性能的第一终端,对第一视频进行滤镜处理采用的算法是不同的,对第一视频进行滤镜处理时GPU或者CPU的资源消耗也是不同的,解决了现有技术实时视频通话过程中无法根据终端的性能对视频进行相应的滤镜处理的技术问题,达到了实时视频通话过程中根据终端的性能对视频进行相应的滤镜处理的技术效果。
可选地,根据第一参数和/或第二参数控制第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频包括:根据第一参数和/或第二参数确定目标滤镜模式,其中,目标滤镜模式包括第一指示信息,第一指示信息用于指示采用GPU或者CPU对第一视频进行滤镜处理;控制目标滤镜模式所指示的第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频。
第一终端通过读取第一指示信息,能够知道是采用GPU还是CPU对第一视频进行滤镜处理。
如果第一指示信息指示采用GPU对第一视频进行滤镜处理,则第一终端读取第一指示信息之后,采用GPU对第一视频进行滤镜处理。
如果第一指示信息指示采用CPU对第一视频进行滤镜处理,则第一终端读取第一指示信息之后,采用CPU对第一视频进行滤镜处理。
目标滤镜模式除了包括第一指示信息,还可以包括滤镜效果信息,例如,包括美白、磨皮等滤镜效果信息。
可以根据第一参数或第二参数中的一个确定由GPU还是CPU对第一视频进行处理,也可以由第一参数和第二参数这两者共同确定是由GPU还是CPU对第一视频进行处理。具体来说,分为以下三种情况。
情况I:只考虑第一参数。
如果第一参数表明第一终端的GPU性能非常好,那么确定由第一终端的GPU对第一视频进行滤镜处理。在这种情况下,第一指示信息用于指示采用GPU对第一视频进行滤镜处理。
如果第一参数表明第一终端的GPU性能较差,由于GPU的很多资源被用于视频显示渲染,如果此时使用第一终端的GPU对第一视频进行滤镜处理,则可能会导致视频出现卡顿,播放不流畅。在这种情况下,可以使用第一终端的CPU对第一视频进行滤镜处理。在这种情况下,第一指示信息用于指示采用CPU对第一视频进行滤镜处理。
情况II:只考虑第二参数。
如果第二参数表明第一终端的CPU资源有较大的冗余,则可以使用第一终端的CPU对第一视频进行滤镜处理。在这种情况下,第一指示信息用于指示采用CPU对第一视频进行滤镜处理。
情况III:同时考虑第一参数和第二参数。
如果第一参数和第二参数表明第一终端的GPU资源相比于CPU资源有更多的冗余,则确定使用第一终端的GPU对第一视频进行滤镜处理。在这种情况下,第一指示信息用于指示采用GPU对第一视频进行滤镜处理。
如果第一参数表明第一终端的GPU性能很好,并且第二参数表明第一终端的CPU性能很好,则可以使用第一终端的GPU对第一视频进行较高级别的滤镜处理,例如,将多种滤镜算法进行叠加,以得到更加丰富的滤镜效果。在这种情况下,能够充分利用第一终端的GPU资源,得到非常好的滤镜效果。在这种情况下,第一指示信息用于指示采用GPU对第一视频进行滤镜处理。
如果第一参数表明第一终端的GPU性能较差,并且第二参数表明第一终端的CPU性能也较差,由于GPU的很多资源被用于视频显示渲染,如果此时使用第一终端的GPU对第一视频进行滤镜处理,则可能会导致视频出现卡顿,播放不流畅。在这种情况下,可以使用第一终端的CPU对第一视频进行滤镜处理。在这种情况下,第一指示信息用于指示采用CPU对第一视频进行滤镜处理。
可选地,根据第一参数和/或第二参数确定目标滤镜模式包括:判断第一参数是否满足第一预设条件;在第一参数满足第一预设条件的情况下,生成包括第一子指示信息的目标滤镜模式,其中,第一子指示信息用于指示采用第一终端的GPU对第一视频进行滤镜处理;在第一参数不满足第一预设条件的情况下,生成包括第二子指示信息的目标滤镜模式,其中,第二子指示信息用于指示采用第一终端的CPU对第一视频进行滤镜处理。
第一参数指示第一终端的GPU性能,如果第一参数满足第一预设条件,说明第一终端的GPU性能较好,此时,确定采用第一终端的GPU对第一视频进行滤镜处理,生成目标滤镜模式,目标滤镜模式包括第一子指示信息,第一终端读取到第一子指示信息之后,采用自身的GPU对第一视频进行滤镜处理。
如果第一参数不满足第一预设条件,说明第一终端的GPU性能较差,此时,确定采用第一终端的CPU对第一视频进行滤镜处理,生成目标滤镜模式,目标滤镜模式包括第二子指示信息,以调用第一终端的CPU对第一视频进行滤镜处理。
可选地,在生成包括第二子指示信息的目标滤镜模式之后,方法还包括:采用所述第一终端的CPU对所述第一视频的YUV图像数据的Y通道进行滤镜增强处理,UV通道进行色度色调按图像直方图查找表调整处理。
如果第一参数不满足第一预设条件,说明第一终端的GPU性能较差,此时,确定采用第一终端的CPU对第一视频进行滤镜处理,生成目标滤镜模式,目标滤镜模式包括第二子指示信息,第二子指示信息用于指示采用第一终端的CPU对第一视频进行滤镜处理。根据第二子指示信息采用第一终端的CPU对第一视频的YUV图像数据的Y通道进行滤镜处理。在第一终端的GPU性能较差的情况下,采用第一终端的CPU对第一视频进行基础的滤镜处理,使得用户能够看到较好的滤镜效果,同时又保证了不占用过多的资源,使得第一终端能够流畅地显示视频。
可选地,在第一参数满足第一预设条件的情况下,生成包括第一子指示信息的目标滤镜模式包括:在第一参数满足第一预设条件的情况下,判断第一参数是否满足第二预设条件;在第一参数满足第二预设条件的情况下,生成第一子指示信息中的第一级别指示信息,其中,第一级别指示信息用于指示采用第一终端的GPU对第一视频进行第一级别的滤镜处理;在第一参数不满足第二预设条件的情况下,生成第一子指示信息中的第二级别指示信息,其中,第二级别指示信息用于指示采用第一终端的GPU对第一视频进行第二级别的滤镜处理,其中,对第一视频进行第一级别的滤镜处理时GPU的资源消耗大于对第一视频进行第二级别的滤镜处理时GPU的资源消耗。
在第一参数满足第一预设条件的情况下,说明第一终端的GPU性能较好,此时,生成包括第一子指示信息的目标滤镜模式。
第一子指示信息包括用于指示滤镜处理的复杂程度的级别信息。滤镜处理的复杂程度越高,则GPU的资源消耗越大。
第一终端的GPU性能越好,就能够有越多的GPU资源可以用于第一视频的滤镜处理中,因此,能够实现的滤镜处理的复杂程度也就越高。
在第一参数满足第二预设条件的情况下,说明第一终端的GPU性能非常好,此种情况下,能够有较多的GPU资源用于第一视频的滤镜处理中,能够实现的滤镜处理的复杂程度也就较高,对第一视频进行第一级别的滤镜处理。
例如,第一终端的GPU能够对第一视频进行以下处理:对第一视频的RGB图像数据的三个通道进行滤镜处理;对第一视频的RGB图像数据进行边缘检测;对第一视频进行亮色对比度处理;对第一视频进行锐化处理,对第一视频进行第二级别的滤镜处理。
在第一参数满足第一预设条件,但是不满足第二预设条件的情况下,说明第一终端的GPU性能一般,此种情况下,能够有较少的GPU资源用于第一视频的滤镜处理中,能够实现的滤镜处理的复杂程度也就较低。
可选地,在根据第一参数和/或第二参数确定目标滤镜模式之后,方法还包括:将第一终端的标识信息与目标滤镜模式进行关联存储,以根据标识信息查找目标滤镜模式使第一终端对第一视频进行滤镜处理。
在实时视频通话中,可以查找与第一终端对应的目标滤镜模式,然后根据目标滤镜模式调用第一终端的GPU或者CPU对第一视频进行处理,避免了每一次在使用实时视频通话功能的时候,都重新根据第一参数和/或第二参数确定目标滤镜模式这个过程,节约了计算资源。
图3示出了在整个远程实时视频聊天过程中,所涉及到的各种相关视频处理技术在各个环节的位置。如图3所示,使用终端的摄像头获取视频,得到RGB数据或者YUV数据。如果用户选择跳过滤镜,则不对视频进行滤镜处理。否则,根据第一参数和/或第二参数控制第一终端的GPU或者CPU对视频进行滤镜处理。GPU用于处理效果好,耗处理资源的视频处理算法;CPU用于处理Y通道的快速视频处理算法。根据第一参数、第二参数对手机(第一终端)的GPU、CPU性能进行分析,对于同样的视频效果的处理技术,在不同的机型上采取不同的算法实现,高端机型的各项硬件指标性能卓越,例如为了实现美颜技术,高端机型采用的是基于RGB通道的、同种视频增强技术融合的美颜技术,以最大化利用高端机型高性能的GPU资源,让好的机器获得最佳视频美颜效果。对于高端机型,可以使CPU对Y通道或者G通道数据进行处理,以达到人脸五官定位的效果,并且可以对视频增加滤镜挂件。
而对于低端机型,无论GPU性能还是CPU性能都比较差,特别是在视频通话中,GPU的很多资源被用于视频显示渲染,如果再叠加视频美颜,视频无法流畅显示,此时考虑对编码前的YUV视频格式的数据进行处理,仅仅处理单个通道的Y数据,对Y数据进行特殊的高斯滤波处理技术,UV通道不变,同样可以达到美颜效果,让低端机型的用户同样可以享受到视频美颜技术。
根据第一参数和/或第二参数控制第一终端的GPU或者CPU对第一视频进行滤镜处理之后,得到第二视频,在第一终端的本地能够预览第二视频。将第二视频进行视频缩小、视频编码,通过网络传输至第二终端。第二终端接收到视频数据之后,对视频数据进行解码、视频后处理,在第二终端的CPU中对YUV数据进行处理,以达到视频锐化、视频去块滤波、对比度增强、视频去雾化、适合编解码调优的效果。然后,第二终端将YUV数据转换为RGB数据,在显示屏上进行显示。
本发明实施例提供的视频处理方法,针对不同机型,根据CPU、GPU能力的不同,对某一种固定的滤镜效果,采取不同的实现方案,比如:机型能力较差,GPU处理能力很差,则为了在此类低端机型一样有美颜效果,则采用磨皮的基础快速算法,在CPU上实现磨皮功能,达到基础的美颜效果。而针对高端机型,采取复杂的美颜算法且包括瘦脸技术,并且在GPU上运行美颜和瘦脸算法,在CPU上做人脸五官定位算法,最终使得不同用户获得本终端设备相匹配的滤镜效果。对于机型能力差的终端,在视频聊天过程中视频播放流畅;对于高端机型,则能够分运用高端机型的强大的CPU、GPU运算能力,达到好的滤镜效果,达到了根据机型进行个性化的滤镜处理的技术效果。
同理,类推,对于视频滤镜技术A,有多种实现方案,一种是GPU上的效果非常好的基于RGB格式的实现方案,而在CPU上,也有差不多效果的基于YUV的技术方案。
事先对GPU性能进行排序,滤镜A的基础效果A1对应着性能比较低档的GPU型号,随着GPU性能的增强,就可以渐进增加处理环节,用户的细节体验也就越来越好。同理适用于CPU。以美颜技术为例,若是手机终端GPU性能比CPU资源有更多的冗余(这样的冗余对比策略事先通过大数据统计好),则优先使用GPU资源,实现基础磨皮去痘痘效果,随着GPU性能增加,可施展的技术也随之增加,比如高端机型,比较适合于采用更多的处理技术,如基于人脸的肤色调整,暗光的色彩调节,最终的视频锐化增强处理,如图4所示。
同样的算法滤镜A,是优先使用在GPU还是CPU,是根据设备终端的GPU和CPU的综合能力来判断的。
比如:
机型T1,GPU硬件性能一般,而CPU性能也一般,则优先使用CPU来增加美颜滤波处理。
机型T2,GPU是最基础的,这样的机型能在CPU上进行基础版的美颜。
机型T3,为CPU双核1.2GHz的Android手机,GPU性能一般,这样的机型能在CPU上使用基础色调滤镜,如灰度图、边缘检测这类只对Y通道数据处理的滤镜。
机型T4,GPU性能一般,可以上基础版的美颜。
机型T5,GPU性能较好,可以上个叠加功能的基础版的美颜(基础美颜+色调调整)。
机型T5,GPU性能很好,可上个复杂版的美颜效果。
下面以美颜磨皮美白为例对本发明实施例涉及的具体视频处理技术进行说明。
用户体验美颜滤镜时,所有终端设备的界面都是一样的,图5示出了用户第一次使用视频通话功能的引导图,如果用户点击跳过,则不对视频进行滤镜处理;如果用户点击确定,则根据终端的CPU性能参数(第二参数)、GPU性能参数(第一参数)确定是由CPU还是由GPU对视频进行滤镜处理。针对不同机型,不同CPU、GPU采取的底层的美颜图像处理技术是不同的。总之,不同用户界面体验一样,但底层实现技术方案不同。发起视频聊天前,用户可以进行不同程度美颜设置。
图6示出了用户界面的实施流程。如图6所示,该流程包括以下步骤:
步骤S602,点击视频电话入口。
步骤S604,完成现有的各种判断。
步骤S606,判断是否符合美颜功能引导条件。如果是,执行步骤S608;如果否,执行步骤S616。
步骤S608,弹出美颜引导提示框。
步骤S610,判断用户是否选择尝试。如果是,执行步骤S612;如果否,执行步骤S614。
步骤S612,进入视频前美颜流程。
步骤S614,之前的判断流程重走一遍。如果通过,执行步骤S616;如果不通过,重新开始。
步骤S616,进入发起视频通话流程。
适配低端机型的滤镜实现方案
图7中示出了低端机型滤镜特效模块位置。图7中的本地手机为上述第一终端,是低端机型。图7中的远端手机为上述第二终端。
低端机型指的是CPU性能、GPU性能比较差的机型。在本发明实施例中,对于低端机型,使用CPU对视频进行滤镜处理,终端手机摄像头采集视频图像数据,经过各种视频图像处理(摄像头采集模块内、滤镜特效、缩放、前处理增强等),经过各种综合数据分析,选配适合编码器编码的参数,送给编码器编码。具体地,摄像头采集出来的是通用的适配视频编解码的YUV的数据格式,为了减少数据的处理,只对YUV图像数据的Y通道进行磨皮处理,而UV分量不处理,这样处理的视频帧的数据就大大减少。使用CPU对视频进行滤镜处理之后,将YUV数据转换为RGB格式,渲染显示RGB数据,这样,本地手机就能对视频进行预览。本地手机将滤镜处理之后的视频数据进行缩放YUV、前处理增强YUV,使用编码器对YUV数据进行编码,将编码之后的视频数据通过网络发送给远端手机。远端手机通过网络接收本地手机发送的视频数据,使用解码器对视频数据(YUV数据)进行解码,对视频数据进行后处理,将YUV数据转换为RGB数据,渲染显示RGB数据。
以美颜美肤视频滤镜为例(图8示出了滤镜处理模块),其他视频滤镜类似处理模式:
1、美颜美肤本质上是一种“滤镜”效果。
2、美颜美肤时机
1)通话前可以进行美肤预览调节;
2)通话中可以进行美肤实时调节(通话过程中,调节本地预览再发送,从性能和体验平衡考虑,统一决策本地手机调整过程中,远端手机可以同步看到调节效果。
3、支持保存效果。
技术上可以支持对所有人统一生效和对部分人生效。
4、通话中自己和对方要同步看到美肤效果。
5、技术上允许两种或多种滤镜效果叠加。
6、服务器控制:开启/关闭、默认效果、统计运营数据开启新的默认强度效果、不同人群不同默认效果或开启关闭。
7、客户端控制:实时滑动本地预览/远程实时看到、保存上次长时间使用的强度。
图9-1为第一视频中的一帧图像,可以看出,图中人物皱纹较深,肤色较深;图9-2为根据本发明实施例提供的视频处理方法对第一视频进行磨皮美白之后得到的第二视频中的一帧图像,可以看出,相比于图9-1,图9-2中人物皱纹变浅,肤色变白,达到了美颜的效果。
图10-1为第一视频中的一帧图像,可以看出,图中人物肤色较深;图10-2为根据本发明实施例提供的视频处理方法对第一视频进行磨皮美白之后得到的第二视频中的一帧图像,看以看出,相比于图10-1,图10-2中人物皮肤看上去更加光滑,肤色变白,达到了美颜的效果。
适配高端机型的滤镜实现方案
图11示出了高端机型滤镜特效模块位置。图11中的本地手机为上述第一终端,是高端机型。图11中的远端手机为上述第二终端。
在图7示出的适配低端机方案中,采取的是仅仅对Y通道数据进行磨皮处理,而不做其他处理,能覆盖到超低端Android机型,低端机型的用户同样可以使用美颜滤镜效果。
而在图11示出的适配高端机方案中,采取的是:在手机GPU中,对RGB三个通道进行处理磨皮处理,同时对RGB图像数据进行边缘检测保护边缘,对整幅图像进行亮色处理而处理不同光照,对最终获得的图像在显示前还可以叠加视频锐化处理,弥补因为磨皮而损失的边缘信息。
本地手机使用GPU对视频进行滤镜处理之后,将YUV数据转换为RGB格式,渲染显示RGB数据,这样,本地手机就能对视频进行预览。本地手机将滤镜处理之后的视频数据进行缩放YUV、前处理增强YUV,使用编码器对YUV数据进行编码,将编码之后的视频数据通过网络发送给远端手机。远端手机通过网络接收本地手机发送的视频数据,使用解码器对视频数据(YUV数据)进行解码,对视频数据进行后处理,将YUV数据转换为RGB数据,渲染显示RGB数据。
适配高端机型<->低端机型的滤镜实现方案
当本端高端手机与对端低端手机远程视频聊天时,各自采取不同的实现方案。
图12中,本地手机与远端手机都既是第一终端,又是第二终端。
本地手机实时录制视频,对视频进行滤镜处理,本地手机作为第一终端通过网络向远端手机发送滤镜处理过的视频,远端手机作为第二终端,接收并播放视频。
远端手机实时录制视频,对视频进行滤镜处理,远端手机作为第一终端通过网络向本地手机发送滤镜处理过的视频,本地手机作为第二终端,接收并播放视频。
图12中的本地手机为高端机型,远端手机为低端机型。
在本地手机的GPU中,对RGB三个通道进行处理磨皮处理,同时对RGB图像数据进行边缘检测保护边缘,对整幅图像进行亮色处理而处理不同光照,对最终获得的图像在显示前还可以叠加视频锐化处理,弥补因为磨皮而损失的边缘信息。使用GPU对视频进行滤镜处理之后,将YUV数据转换为RGB格式,渲染显示RGB数据,这样,本地手机就能对视频进行预览。本地手机将滤镜处理之后的视频数据进行缩放YUV、前处理增强YUV,使用编码器对YUV数据进行编码,将编码之后的视频数据通过网络发送给远端手机。远端手机通过网络接收本地手机发送的视频数据,使用解码器对视频数据(YUV数据)进行解码,对视频数据进行后处理,将YUV数据转换为RGB数据,渲染显示RGB数据。
对于远端手机,使用CPU对视频进行滤镜处理,摄像头采集出来的是通用的适配视频编解码的YUV的数据格式,为了减少数据的处理,只对YUV图像数据的Y通道进行磨皮处理,而UV分量不处理,这样处理的视频帧的数据就大大减少。使用CPU对视频进行滤镜处理之后,将YUV数据转换为RGB格式,渲染显示RGB数据,这样,远端手机就能对视频进行预览。远端手机将滤镜处理之后的视频数据进行缩放YUV、前处理增强YUV,使用编码器对YUV数据进行编码,将编码之后的视频数据通过网络发送给本地手机。本地手机通过网络接收远端手机发送的视频数据,使用解码器对视频数据(YUV数据)进行解码,对视频数据进行后处理,将YUV数据转换为RGB数据,渲染显示RGB数据。
视频特效一般有几大类:
一、人像美容类(磨皮美白、瘦脸、红唇、皮肤红润);
二、增强氛围类(节日场景、互动表情-两眼变红心、飞吻、抱抱等);
三、基础滤镜类(淡雅、绚丽、温情、怀旧等基于色彩的改变);
四、互动增强类(局部马赛克、抠图换背景、3Davatar等);
五、增强现实类(全息投影、基于人脸和特定物体的3D道具等-类似奇幻咔咔)。
在现有实时视频通话中,滤镜特效一般有两大类问题:
1、大多还停留在固化的滤镜特效上,极少做到实时预览,实时发送视频,使得对方和本端看到的视频画面是一致的。
2、大多未曾考虑过视频滤镜特效叠加在视频编解码中的负面影响,以及受机型能力的限制而导致视频聊天中,视频非常卡顿。
而这以上两个问题,将极大影响远端用户的视频滤镜体验,包括:影响视频的清晰度、运动的流畅性等。
本发明实施例提供的视频处理方法中,不仅要考虑增加视频滤镜后带给用户的更愉悦的视频体验,更要综合考虑增加滤镜后,对采集帧率、采集分辨率、编解码等的综合影响,在手机这样资源非常有限的终端上,在给用户增加新的功能的体验的同时,不降低视频通话效果的品质,能够在低端机、低带宽下,获得流畅、清晰、稳定、省电的视频通话;能给用户带来体验好、易用的视频技术。
以视频美颜功能为例来说明视频滤镜在本发明中的应用,不仅仅是为了美化人脸的视频通话,而且需要和图像清晰化,以及调整帧率的模块联合使用,使得在低带宽下,获得美化的视频通话效果,更是为了在通话过程中降低视频噪声,提升帧率,使得视频更加流畅。
本发明实施例中,实时通话过程中,实时调节本地预览,远端实时看到本地调节后的视频画面,达到本地所见、远端即所得的视频滤镜通话效果。
本发明实施例中,端到端的综合考虑了终端设备的CPU、GPU的处理能力相互影响,经过各种实际调优,最终能够达到在不同终端机型下,让不同用户都能够获得性价比最高的视频聊天体验。
现有技术中,对视频进行滤镜处理的过程中,基本不区分机型、不区分CPU、GPU,统一用一种算法实现一种滤镜效果,这样对于机型能力差的终端,在视频聊天过程中则非常卡顿、视频不流畅,对于高端机型,则无法充分运用高端机型的强大的CPU、GPU运算能力,无法达到最好的滤镜效果。
本发明实施例提供的视频处理方法,针对不同机型,根据CPU、GPU能力的不同,对某一种固定的滤镜效果,采取不同的实现方案,比如:机型能力较差,GPU处理能力很差,则为了在此类低端机型一样有美颜效果,则采用磨皮的基础快速算法,在CPU上实现磨皮功能,达到基础的美颜效果。而针对高端机型,采取最复杂的美颜算法且包括瘦脸技术,并且在GPU上运行美颜和瘦脸算法,在CPU上做人脸五官定位算法,最终使得不同用户获得本终端设备相匹配的滤镜效果。对于机型能力差的终端,在视频聊天过程中视频播放流畅;对于高端机型,则能够分运用高端机型的强大的CPU、GPU运算能力,达到最好的滤镜效果,做到了根据机型进行个性化的滤镜处理的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
根据本发明实施例,还提供了一种用于实施上述视频处理方法的视频处理装置,如图13所示,该装置包括:获取单元10、第一控制单元20、第二控制单元30。
获取单元10,用于获取用于指示第一终端的GPU性能的第一参数和用于指示第一终端的CPU性能的第二参数。
第一控制单元20,用于根据第一参数和/或第二参数控制第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,其中,第一视频为第一终端实时录制的视频。
第二控制单元30,用于控制第一终端向第二终端发送第二视频,其中,第二终端用于实时显示第二视频。
可选地,第一控制单元20包括:确定子单元、控制子单元。确定子单元,用于根据第一参数和/或第二参数确定目标滤镜模式,其中,目标滤镜模式包括第一指示信息,第一指示信息用于指示采用GPU或者CPU对第一视频进行滤镜处理。控制子单元,用于控制目标滤镜模式所指示的第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频。
可选地,确定子单元包括:判断模块、第一生成模块、第二生成模块。判断模块,用于判断第一参数是否满足第一预设条件。第一生成模块,用于在第一参数满足第一预设条件的情况下,生成包括第一子指示信息的目标滤镜模式,其中,第一子指示信息用于指示采用第一终端的GPU对第一视频进行滤镜处理。第二生成模块,用于在第一参数不满足第一预设条件的情况下,生成包括第二子指示信息的目标滤镜模式,其中,第二子指示信息用于指示采用第一终端的CPU对第一视频进行滤镜处理。
可选地,装置还包括:调用单元。调用单元,用于在第二生成模块生成包括第二子指示信息的目标滤镜模式之后,采用第一终端的CPU对第一视频的YUV图像数据的Y通道进行滤镜增强处理,UV通道进行色度色调按图像直方图查找表调整处理。
可选地,第一生成模块包括:判断子模块、第一生成子模块、第二生成子模块。判断子模块,用于在第一参数满足第一预设条件的情况下,判断第一参数是否满足第二预设条件。第一生成子模块,用于在第一参数满足第二预设条件的情况下,生成第一子指示信息中的第一级别指示信息,其中,第一级别指示信息用于指示采用第一终端的GPU对第一视频进行第一级别的滤镜处理。第二生成子模块,用于在第一参数不满足第二预设条件的情况下,生成第一子指示信息中的第二级别指示信息,其中,第二级别指示信息用于指示采用第一终端的GPU对第一视频进行第二级别的滤镜处理,其中,对第一视频进行第一级别的滤镜处理时GPU的资源消耗大于对第一视频进行第二级别的滤镜处理时GPU的资源消耗。
可选地,对第一视频进行第一级别的滤镜处理包括以下至少之一:对第一视频的RGB图像数据的三个通道进行滤镜处理;对第一视频的RGB图像数据进行边缘检测;对第一视频进行亮色对比度处理;对第一视频进行锐化处理。
可选地,装置还包括:存储单元。存储单元,用于在确定子单元根据第一参数和/或第二参数确定目标滤镜模式之后,将第一终端的标识信息与目标滤镜模式进行关联存储,以根据标识信息查找目标滤镜模式使第一终端对第一视频进行滤镜处理。
根据本发明实施例,还提供了一种用于实施上述视频处理方法的服务器,如图14所示,该服务器主要包括处理器1401、显示器1403、数据接口1404、存储器1405和网络接口1406,其中:
数据接口1404则主要通过数据传输的方式将与第一终端关联的目标滤镜模式传输给处理器1401。
存储器1405主要用于存储第一终端与目标滤镜模式的关联关系。
网络接口1406主要用于与终端和其他服务器进行网络通信。
显示器1403主要用于显示第一参数、第二参数、第一终端与目标滤镜模式的关联关系。
处理器1401主要用于执行如下操作:
获取用于指示第一终端的GPU性能的第一参数和用于指示第一终端的CPU性能的第二参数;根据第一参数和/或第二参数控制第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,其中,第一视频为第一终端实时录制的视频;控制第一终端向第二终端发送第二视频,其中,第二终端用于实时显示第二视频。
处理器1401还用于执行:根据第一参数和/或第二参数确定目标滤镜模式,其中,目标滤镜模式包括第一指示信息,第一指示信息用于指示采用GPU或者CPU对第一视频进行滤镜处理;控制目标滤镜模式所指示的第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频。
处理器1401还用于执行:判断第一参数是否满足第一预设条件;在第一参数满足第一预设条件的情况下,生成包括第一子指示信息的目标滤镜模式,其中,第一子指示信息用于指示采用第一终端的GPU对第一视频进行滤镜处理;在第一参数不满足第一预设条件的情况下,生成包括第二子指示信息的目标滤镜模式,其中,第二子指示信息用于指示采用第一终端的CPU对第一视频进行滤镜处理。
处理器1401还用于执行:采用所述第一终端的CPU对所述第一视频的YUV图像数据的Y通道进行滤镜增强处理,UV通道进行色度色调按图像直方图查找表调整处理。
处理器1401还用于执行:在第一参数满足第一预设条件的情况下,判断第一参数是否满足第二预设条件;在第一参数满足第二预设条件的情况下,生成第一子指示信息中的第一级别指示信息,其中,第一级别指示信息用于指示采用第一终端的GPU对第一视频进行第一级别的滤镜处理;在第一参数不满足第二预设条件的情况下,生成第一子指示信息中的第二级别指示信息,其中,第二级别指示信息用于指示采用第一终端的GPU对第一视频进行第二级别的滤镜处理,其中,对第一视频进行第一级别的滤镜处理时GPU的资源消耗大于对第一视频进行第二级别的滤镜处理时GPU的资源消耗。
处理器1401还用于执行:对第一视频的RGB图像数据的三个通道进行滤镜处理;对第一视频的RGB图像数据进行边缘检测;对第一视频进行亮色对比度处理;对第一视频进行锐化处理。
处理器1401还用于执行:将第一终端的标识信息与目标滤镜模式进行关联存储,以根据标识信息查找目标滤镜模式使第一终端对第一视频进行滤镜处理。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于存储本发明实施例的视频处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于移动通信网络、广域网、城域网或局域网的网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取用于指示第一终端的GPU性能的第一参数和用于指示第一终端的CPU性能的第二参数;
S2,根据第一参数和/或第二参数控制第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,其中,第一视频为第一终端实时录制的视频;
S3,控制第一终端向第二终端发送第二视频,其中,第二终端用于实时显示第二视频。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:根据第一参数和/或第二参数确定目标滤镜模式,其中,目标滤镜模式包括第一指示信息,第一指示信息用于指示采用GPU或者CPU对第一视频进行滤镜处理;控制目标滤镜模式所指示的第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:判断第一参数是否满足第一预设条件;在第一参数满足第一预设条件的情况下,生成包括第一子指示信息的目标滤镜模式,其中,第一子指示信息用于指示采用第一终端的GPU对第一视频进行滤镜处理;在第一参数不满足第一预设条件的情况下,生成包括第二子指示信息的目标滤镜模式,其中,第二子指示信息用于指示采用第一终端的CPU对第一视频进行滤镜处理。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:采用所述第一终端的CPU对所述第一视频的YUV图像数据的Y通道进行滤镜增强处理,UV通道进行色度色调按图像直方图查找表调整处理。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:在第一参数满足第一预设条件的情况下,判断第一参数是否满足第二预设条件;在第一参数满足第二预设条件的情况下,生成第一子指示信息中的第一级别指示信息,其中,第一级别指示信息用于指示采用第一终端的GPU对第一视频进行第一级别的滤镜处理;在第一参数不满足第二预设条件的情况下,生成第一子指示信息中的第二级别指示信息,其中,第二级别指示信息用于指示采用第一终端的GPU对第一视频进行第二级别的滤镜处理,其中,对第一视频进行第一级别的滤镜处理时GPU的资源消耗大于对第一视频进行第二级别的滤镜处理时GPU的资源消耗。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:对第一视频的RGB图像数据的三个通道进行滤镜处理;对第一视频的RGB图像数据进行边缘检测;对第一视频进行亮色对比度处理;对第一视频进行锐化处理。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:将第一终端的标识信息与目标滤镜模式进行关联存储,以根据标识信息查找目标滤镜模式使第一终端对第一视频进行滤镜处理。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种视频处理方法,其特征在于,包括:
在本端高端手机与对端低端手机远程视频聊天时,其中,第一终端为所述本端高端手机,第二终端为所述对端低端手机,所述本端高端手机的GPU性能参数满足第一预设条件,所述对端低端手机的GPU性能参数不满足所述第一预设条件,
在所述第一终端侧:
获取用于指示第一终端的GPU性能的第一参数和用于指示所述第一终端的CPU性能的第二参数;
根据所述第一参数和/或所述第二参数控制所述第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,其中,所述第一视频为所述第一终端实时录制的视频,所述根据所述第一参数和/或所述第二参数控制所述第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,包括:在所述第一终端的GPU中,对所述第一视频的RGB三个通道进行处理磨皮处理,对所述第一视频的RGB图像数据进行边缘检测保护边缘,对整幅图像进行亮色处理而处理不同光照,对最终获得的图像在显示前叠加视频锐化处理;
控制所述第一终端向所述第二终端发送所述第二视频,其中,所述第二终端用于实时显示所述第二视频;
在所述第二终端侧:
获取用于指示所述第二终端的GPU性能的第三参数和用于指示所述第二终端的CPU性能的第四参数;
使用所述第二终端的CPU对第三视频的YUV图像数据的Y通道进行磨皮处理,而UV分量不处理,其中,所述第三视频为所述第二终端实时录制的视频;
控制所述第二终端向所述第一终端发送第四视频,其中,所述第一终端用于实时显示所述第四视频。
2.根据权利要求1所述的方法,其特征在于,根据所述第一参数和/或所述第二参数控制所述第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频包括:
根据所述第一参数和/或所述第二参数确定目标滤镜模式,其中,所述目标滤镜模式包括第一指示信息,所述第一指示信息用于指示采用GPU或者CPU对所述第一视频进行滤镜处理;
控制所述目标滤镜模式所指示的所述第一终端的GPU或者CPU对所述第一视频进行滤镜处理,得到所述第二视频。
3.根据权利要求2所述的方法,其特征在于,根据所述第一参数和/或所述第二参数确定目标滤镜模式包括:
判断所述第一参数是否满足所述第一预设条件;
在所述第一参数满足所述第一预设条件的情况下,生成包括第一子指示信息的目标滤镜模式,其中,所述第一子指示信息用于指示采用所述第一终端的GPU对所述第一视频进行滤镜处理。
4.根据权利要求3所述的方法,其特征在于,在所述第一参数满足所述第一预设条件的情况下,生成包括第一子指示信息的目标滤镜模式包括:
在所述第一参数满足所述第一预设条件的情况下,判断所述第一参数是否满足第二预设条件;
在所述第一参数满足所述第二预设条件的情况下,生成所述第一子指示信息中的第一级别指示信息,其中,所述第一级别指示信息用于指示采用所述第一终端的GPU对所述第一视频进行第一级别的滤镜处理;
在所述第一参数不满足所述第二预设条件的情况下,生成所述第一子指示信息中的第二级别指示信息,其中,所述第二级别指示信息用于指示采用所述第一终端的GPU对所述第一视频进行第二级别的滤镜处理,其中,对所述第一视频进行第一级别的滤镜处理时GPU的资源消耗大于对所述第一视频进行第二级别的滤镜处理时GPU的资源消耗。
5.根据权利要求2所述的方法,其特征在于,在根据所述第一参数和/或所述第二参数确定目标滤镜模式之后,所述方法还包括:
将所述第一终端的标识信息与所述目标滤镜模式进行关联存储,以根据所述标识信息查找所述目标滤镜模式使所述第一终端对所述第一视频进行滤镜处理。
6.一种视频处理装置,其特征在于,包括:
在本端高端手机与对端低端手机远程视频聊天时,其中,第一终端为所述本端高端手机,第二终端为所述对端低端手机,所述本端高端手机的GPU性能参数满足第一预设条件,所述对端低端手机的GPU性能参数不满足所述第一预设条件,
在所述第一终端侧:
获取单元,用于获取用于指示第一终端的GPU性能的第一参数和用于指示所述第一终端的CPU性能的第二参数;
第一控制单元,用于根据所述第一参数和/或所述第二参数控制所述第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,其中,所述第一视频为所述第一终端实时录制的视频,所述根据所述第一参数和/或所述第二参数控制所述第一终端的GPU或者CPU对第一视频进行滤镜处理,得到第二视频,包括:在所述第一终端的GPU中,对所述第一视频的RGB三个通道进行处理磨皮处理,对所述第一视频的RGB图像数据进行边缘检测保护边缘,对整幅图像进行亮色处理而处理不同光照,对最终获得的图像在显示前叠加视频锐化处理;
第二控制单元,用于控制所述第一终端向第二终端发送所述第二视频,其中,所述第二终端用于实时显示所述第二视频;
在所述第二终端侧:
所述获取单元,用于获取用于指示所述第二终端的GPU性能的第三参数和用于指示所述第二终端的CPU性能的第四参数;
所述第一控制单元,用于使用所述第二终端的CPU对第三视频的YUV图像数据的Y通道进行磨皮处理,而UV分量不处理,其中,所述第三视频为所述第二终端实时录制的视频;
所述第二控制单元,用于控制所述第二终端向所述第一终端发送第四视频,其中,所述第一终端用于实时显示所述第四视频。
7.根据权利要求6所述的装置,其特征在于,所述第一控制单元包括:
确定子单元,用于根据所述第一参数和/或所述第二参数确定目标滤镜模式,其中,所述目标滤镜模式包括第一指示信息,所述第一指示信息用于指示采用GPU或者CPU对所述第一视频进行滤镜处理;
控制子单元,用于控制所述目标滤镜模式所指示的所述第一终端的GPU或者CPU对所述第一视频进行滤镜处理,得到所述第二视频。
8.根据权利要求7所述的装置,其特征在于,所述确定子单元包括:
判断模块,用于判断所述第一参数是否满足所述第一预设条件;
第一生成模块,用于在所述第一参数满足所述第一预设条件的情况下,生成包括第一子指示信息的目标滤镜模式,其中,所述第一子指示信息用于指示采用所述第一终端的GPU对所述第一视频进行滤镜处理。
9.根据权利要求8所述的装置,其特征在于,所述第一生成模块包括:
判断子模块,用于在所述第一参数满足所述第一预设条件的情况下,判断所述第一参数是否满足第二预设条件;
第一生成子模块,用于在所述第一参数满足所述第二预设条件的情况下,生成所述第一子指示信息中的第一级别指示信息,其中,所述第一级别指示信息用于指示采用所述第一终端的GPU对所述第一视频进行第一级别的滤镜处理;
第二生成子模块,用于在所述第一参数不满足所述第二预设条件的情况下,生成所述第一子指示信息中的第二级别指示信息,其中,所述第二级别指示信息用于指示采用所述第一终端的GPU对所述第一视频进行第二级别的滤镜处理,其中,对所述第一视频进行第一级别的滤镜处理时GPU的资源消耗大于对所述第一视频进行第二级别的滤镜处理时GPU的资源消耗。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
存储单元,用于在所述确定子单元根据所述第一参数和/或所述第二参数确定目标滤镜模式之后,将所述第一终端的标识信息与所述目标滤镜模式进行关联存储,以根据所述标识信息查找所述目标滤镜模式使所述第一终端对所述第一视频进行滤镜处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710071869.9A CN108337465B (zh) | 2017-02-09 | 2017-02-09 | 视频处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710071869.9A CN108337465B (zh) | 2017-02-09 | 2017-02-09 | 视频处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108337465A CN108337465A (zh) | 2018-07-27 |
CN108337465B true CN108337465B (zh) | 2021-05-14 |
Family
ID=62922651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710071869.9A Active CN108337465B (zh) | 2017-02-09 | 2017-02-09 | 视频处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108337465B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379629A (zh) * | 2018-11-27 | 2019-02-22 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN109474833B (zh) * | 2018-11-28 | 2020-11-27 | 广州华多网络科技有限公司 | 一种网络直播的方法、相关装置和*** |
CN110062278A (zh) * | 2019-04-12 | 2019-07-26 | 北京字节跳动网络技术有限公司 | 视频数据发布方法、装置、电子设备和存储介质 |
CN110798622B (zh) * | 2019-11-29 | 2022-01-25 | 维沃移动通信有限公司 | 一种共享拍摄方法及电子设备 |
CN111147801A (zh) * | 2019-12-31 | 2020-05-12 | 视联动力信息技术股份有限公司 | 一种视联网终端的视频数据处理方法和装置 |
CN112243157A (zh) * | 2020-10-14 | 2021-01-19 | 北京字节跳动网络技术有限公司 | 直播控制方法、装置、电子设备及计算机可读介质 |
CN112532963B (zh) * | 2020-12-18 | 2023-07-18 | 深圳臻像科技有限公司 | 一种基于ar的三维全息实时互动***及方法 |
CN113573120B (zh) * | 2021-06-16 | 2023-10-27 | 北京荣耀终端有限公司 | 音频的处理方法及电子设备、芯片***及存储介质 |
CN115297359A (zh) * | 2022-07-29 | 2022-11-04 | 北京字跳网络技术有限公司 | 多媒体数据传输方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897732A (zh) * | 2005-07-12 | 2007-01-17 | 乐金电子(中国)研究开发中心有限公司 | 移动通信终端的视频通话方法及装置 |
CN101354780A (zh) * | 2007-07-26 | 2009-01-28 | Lg电子株式会社 | 图形数据处理设备和方法 |
CN103164839A (zh) * | 2013-03-07 | 2013-06-19 | 华为技术有限公司 | 一种绘图方法、装置及终端 |
CN104392409A (zh) * | 2014-12-01 | 2015-03-04 | 厦门美图之家科技有限公司 | 一种图像美容的加速方法 |
CN105657321A (zh) * | 2015-11-09 | 2016-06-08 | 乐视致新电子科技(天津)有限公司 | 视频清晰度自适应调节方法、装置及终端 |
CN105979194A (zh) * | 2016-05-26 | 2016-09-28 | 努比亚技术有限公司 | 一种视频图像处理装置和方法 |
CN106303361A (zh) * | 2015-06-11 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 视频通话中的图像处理方法、装置、***及图形处理器 |
CN106375789A (zh) * | 2016-09-05 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 媒体直播方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8503539B2 (en) * | 2010-02-26 | 2013-08-06 | Bao Tran | High definition personal computer (PC) cam |
-
2017
- 2017-02-09 CN CN201710071869.9A patent/CN108337465B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897732A (zh) * | 2005-07-12 | 2007-01-17 | 乐金电子(中国)研究开发中心有限公司 | 移动通信终端的视频通话方法及装置 |
CN101354780A (zh) * | 2007-07-26 | 2009-01-28 | Lg电子株式会社 | 图形数据处理设备和方法 |
CN103164839A (zh) * | 2013-03-07 | 2013-06-19 | 华为技术有限公司 | 一种绘图方法、装置及终端 |
CN104392409A (zh) * | 2014-12-01 | 2015-03-04 | 厦门美图之家科技有限公司 | 一种图像美容的加速方法 |
CN106303361A (zh) * | 2015-06-11 | 2017-01-04 | 阿里巴巴集团控股有限公司 | 视频通话中的图像处理方法、装置、***及图形处理器 |
CN105657321A (zh) * | 2015-11-09 | 2016-06-08 | 乐视致新电子科技(天津)有限公司 | 视频清晰度自适应调节方法、装置及终端 |
CN105979194A (zh) * | 2016-05-26 | 2016-09-28 | 努比亚技术有限公司 | 一种视频图像处理装置和方法 |
CN106375789A (zh) * | 2016-09-05 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 媒体直播方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108337465A (zh) | 2018-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108337465B (zh) | 视频处理方法和装置 | |
CN105744342B (zh) | 移动终端的数据传输方法和装置 | |
JP6698081B2 (ja) | 符号化のための方法、ビデオプロセッサ、復号のための方法、ビデオ復号器 | |
US10720091B2 (en) | Content mastering with an energy-preserving bloom operator during playback of high dynamic range video | |
US11770510B2 (en) | Video information compression using sketch-video | |
WO2020097888A1 (zh) | 视频处理方法、装置、电子设备及计算机可读存储介质 | |
US20150034643A1 (en) | Sealing disk for induction sealing a container | |
US20140341280A1 (en) | Multiple region video conference encoding | |
WO2023016039A1 (zh) | 视频处理方法、装置、电子设备和存储介质 | |
CN109076246A (zh) | 使用图像数据校正掩码的视频编码方法和*** | |
CN110139147B (zh) | 一种视频处理方法、***、移动终端、服务器及存储介质 | |
EP1665791A2 (en) | Video communications method and system | |
CN109640167A (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN113810641B (zh) | 视频处理方法、装置、电子设备和存储介质 | |
CN113747240B (zh) | 视频处理方法、设备和存储介质 | |
JPH0662385A (ja) | 符号化すべきデータのリフレッシュ修正付映像符号化サブアッセンブリ、及び該サブアッセンブリによって符号化された映像のデコードサブアッセンブリ | |
CN113824914B (zh) | 视频处理方法、装置、电子设备和存储介质 | |
CN113691737B (zh) | 视频的拍摄方法、设备、存储介质 | |
WO2016060672A1 (en) | Video coding using a saliency map | |
Hartung et al. | Object-oriented H. 263 compatible video coding platform for conferencing applications | |
CN112262570A (zh) | 将高分辨率视频流自动实时帧分割成组成特征并修改各个帧中的特征以同时创建来自相同的视频源的多个不同线性视图的方法和*** | |
CN114449199B (zh) | 视频处理方法、装置、电子设备和存储介质 | |
WO2016183154A1 (en) | Improved color space compression | |
US11544830B2 (en) | Enhancing image data with appearance controls | |
CN113489899A (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 |