CN114640882B - 视频处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
视频处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114640882B CN114640882B CN202011478292.1A CN202011478292A CN114640882B CN 114640882 B CN114640882 B CN 114640882B CN 202011478292 A CN202011478292 A CN 202011478292A CN 114640882 B CN114640882 B CN 114640882B
- Authority
- CN
- China
- Prior art keywords
- image
- frame
- information
- enhanced
- video
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 131
- 238000003672 processing method Methods 0.000 title claims abstract description 41
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 230000001360 synchronised effect Effects 0.000 claims abstract description 73
- 239000002131 composite material Substances 0.000 claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000007499 fusion processing Methods 0.000 claims abstract description 33
- 230000003993 interaction Effects 0.000 claims abstract description 16
- 230000000694 effects Effects 0.000 claims description 40
- 238000000605 extraction Methods 0.000 claims description 36
- 238000001514 detection method Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 28
- 238000003709 image segmentation Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 19
- 230000011218 segmentation Effects 0.000 claims description 18
- 230000009467 reduction Effects 0.000 claims description 17
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 11
- 230000000873 masking effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000000295 complement effect Effects 0.000 claims description 3
- 239000000758 substrate Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000007906 compression Methods 0.000 description 22
- 230000006835 compression Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 21
- 239000003999 initiator Substances 0.000 description 21
- 230000006870 function Effects 0.000 description 20
- 230000000153 supplemental effect Effects 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 17
- 238000012805 post-processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 210000004709 eyebrow Anatomy 0.000 description 5
- 239000011521 glass Substances 0.000 description 5
- 238000003199 nucleic acid amplification method Methods 0.000 description 5
- 230000003321 amplification Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000011946 reduction process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000009440 infrastructure construction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000000725 suspension Substances 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013210 evaluation model Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004549 pulsed laser deposition Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44016—Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Marketing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种视频处理方法、装置、电子设备及计算机可读存储介质,涉及云技术在多媒体技术领域的应用;方法包括:接收视频码流,所述视频码流中包括多帧图像以及与每帧图像同步的增强图像信息;对所述视频码流进行解码处理,得到所述多帧图像、以及与所述每帧图像同步的增强图像信息;对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理,得到与所述每帧图像对应的复合图像;在人机交互界面中依次显示与所述每帧图像对应的复合图像。通过本申请,能够将视频的原始图像与其他图像信息精确地同步展示,以丰富视频的展示方式。
Description
技术领域
本申请涉及云技术和计算机多媒体技术领域,尤其涉及一种视频处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着通讯技术的发展以及通讯基础设施建设的推进,借助于云技术的视频传输和播放被广泛应用。
以直播为例,在直播过程中,主播端所关联的终端设备针对主播进行持续采集,并将所采集到的视频数据传输至云端的直播平台,随后云端的直播平台接收到的视频数据会被分发给不同的观众端。为了避免视频内容过于单调,直播平台会在传输视频数据时,还需要传输额外在观众端展示的图像信息,但是由于网络传输条件的限制,难以保证两者在观众端的同步展示。
发明内容
本申请实施例提供一种视频处理方法、装置、电子设备及计算机可读存储介质,能够将视频的原始图像与其他图像信息精确地同步展示,以丰富视频的展示方式。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种视频处理方法,包括:
接收视频码流,所述视频码流中包括多帧图像以及与每帧图像同步的增强图像信息;
对所述视频码流进行解码处理,得到所述多帧图像、以及与所述每帧图像同步的增强图像信息;
对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理,得到与所述每帧图像对应的复合图像;
在人机交互界面中依次显示与所述每帧图像对应的复合图像。
上述方案中,所述对所述视频码流进行解码处理,得到所述多帧图像、以及与所述每帧图像同步的增强图像信息,包括:读取所述视频码流包括的每个网络提取层单元,并确定所述每个网络提取层单元的类型;当所读取的网络提取层单元的类型为图像片时,执行片分割解码操作,以得到多帧图像;当所读取的网络提取层单元的类型为补充增强信息时,执行补充增强信息解码操作,以得到与每帧所述图像同步的增强图像信息。
本申请实施例提供一种视频处理装置,包括:
接收模块,用于接收视频码流,所述视频码流中包括多帧图像以及与每帧图像同步的增强图像信息;
解码处理模块,用于对所述视频码流进行解码处理,得到所述多帧图像、以及与所述每帧图像同步的增强图像信息;
融合处理模块,用于对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理,得到与所述每帧图像对应的复合图像;
显示模块,用于在人机交互界面中依次显示与所述每帧图像对应的复合图像。
上述方案中,当所述增强图像信息为图像掩码时,所述融合处理模块,还用于针对所述每帧图像执行以下处理:基于与所述图像同步的图像掩码对所述图像进行掩码操作,以得到与所述图像对应的且去除背景的复合图像;其中,所述图像掩码是通过对所述图像进行对象识别生成的。
上述方案中,所述接收模块,还用于获取背景图像;所述融合处理模块,还用于将所述去除背景的复合图像与所述背景图像进行合并;所述显示模块,还用于在人机交互界面中显示经过合并得到的合并图像。
上述方案中,与所述每帧图像同步的图像掩码的尺寸是小于所述图像的尺寸的;所述装置还包括放大处理模块,用于对与所述每帧图像同步的增强图像信息进行放大处理;所述装置还包括降噪处理模块,用于对经过所述放大处理后得到的增强图像信息进行降噪处理。
上述方案中,当所述增强图像信息为所述图像中对象的关键点的位置时,所述融合处理模块,还用于获取与所述关键点匹配的特效;在所述每帧图像中所述对象对应的所述关键点的位置添加所述特效,以得到与所述每帧图像对应的添加有所述特效的复合图像。
上述方案中,当所述增强图像信息包括所述图像中对象的姿态时,所述融合处理模块,还用于针对所述每帧图像执行以下处理至少之一:根据姿态的类型确定所述图像中每个对象分别对应的状态,并对所述图像中所有对象的状态进行统计,在所述图像中添加统计结果,得到与所述图像对应的添加有所述统计结果的复合图像;获取与所述图像中的对象的姿态适配的特效,在所述图像中添加所述特效,得到与所述图像对应的添加有所述特效的复合图像。
上述方案中,所述解码处理模块,还用于读取所述视频码流包括的每个网络提取层单元,并确定所述每个网络提取层单元的类型;当所读取的网络提取层单元的类型为图像片时,执行片分割解码操作,以得到多帧图像;当所读取的网络提取层单元的类型为补充增强信息时,执行补充增强信息解码操作,以得到与每帧所述图像同步的增强图像信息。
本申请实施例提供又一种视频处理方法,包括:
获取多帧图像;
对获取的每帧图像进行计算机视觉处理,得到与所述每帧图像对应的增强图像信息;
生成包括所述每帧图像、以及与所述每帧图像对应的增强图像信息的视频码流;
发送所述视频码流;
其中,所述视频码流用于被终端设备解码,以显示与所述每帧图像对应的复合图像,所述复合图像是对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理得到的。
上述方案中,所述生成包括所述每帧图像、以及与所述每帧图像对应的增强图像信息的视频码流,包括:分别对所述图像、以及与所述图像对应的增强图像信息进行编码处理,以得到图像编码、以及与所述图像编码对应的增强图像信息编码;将所述图像编码封装至类型为图像片的网络提取层单元中,以及将所述增强图像信息编码封装至类型为补充增强信息的网络提取层单元中;将所述类型为图像片的网络提取层单元和所述类型为补充增强信息的网络提取层单元组装为视频码流。
本申请实施例提供又一种视频处理装置,包括:
获取模块,用于获取多帧图像;
计算机视觉处理模块,用于对获取的每帧图像进行计算机视觉处理,得到与所述每帧图像对应的增强图像信息;
生成模块,用于生成包括所述每帧图像、以及与所述每帧图像对应的增强图像信息的视频码流;
发送模块,用于发送所述视频码流;
其中,所述视频码流用于被终端设备解码,以显示与所述每帧图像对应的复合图像,所述复合图像是对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理得到的。
上述方案中,当所述增强图像信息为图像掩码时,所述计算机视觉处理模块,还用于针对所述每帧图像执行以下处理:基于所述图像调用图像分割模型以识别出所述图像中的对象,将所述对象之外的区域作为背景,生成与所述背景对应的图像掩码;其中,所述图像分割模型是基于样本图像、以及针对所述样本图像中标注的对象进行训练得到的。
上述方案中,所述计算机视觉处理模块,还用于将所述图像作为所述图像分割模型的输入,以确定所述图像中的对象,将所述对象之外的区域作为背景,生成与所述背景对应的图像掩码,所述图像掩码的尺寸与所述图像的尺寸一致;或者用于缩小所述图像的尺寸,将缩小后的所述图像作为所述图像分割模型的输入,以确定缩小后的所述图像中的对象,将所述对象之外的区域作为背景,生成与所述背景对应的图像掩码,所述图像掩码的尺寸小于所述图像的尺寸。
上述方案中,所述计算机视觉处理模块,还用于针对所述每帧图像执行以下处理:调用关键点检测模型对所述图像进行关键点检测,以得到所述图像中的对象的关键点的位置;将所述对象的关键点的位置确定为与所述图像对应的增强图像信息;其中,所述关键点检测模型是基于样本图像、以及针对所述样本图像中标注的对象的关键点的位置进行训练得到的。
上述方案中,所述计算机视觉处理模块,还用于针对所述每帧图像执行以下处理:调用姿态检测模型进行姿态检测,以得到所述图像中对象的姿态信息;将所述对象的姿态信息确定为所述图像对应的增强图像信息。
上述方案中,所述生成模块,还用于分别对所述图像、以及与所述图像对应的增强图像信息进行编码处理,以得到图像编码、以及与所述图像编码对应的增强图像信息编码;将所述图像编码封装至类型为图像片的网络提取层单元中,以及将所述增强图像信息编码封装至类型为补充增强信息的网络提取层单元中;将所述类型为图像片的网络提取层单元和所述类型为补充增强信息的网络提取层单元组装为视频码流。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的视频处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的视频处理方法。
本申请实施例具有以下有益效果:
通过将与每帧图像同步的增强图像信息集成到视频码流中,以使接收端在接收到视频码流后,能够对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理,以得到与每帧图像对应的复合图像,从而实现了视频的原始图像与其他图像信息之间精确地同步展示,丰富了视频的展示方式。
附图说明
图1是本申请实施例提供的画中画的示意图;
图2是本申请实施例提供的视频处理***100的架构示意图;
图3A是本申请实施例提供的终端设备300的结构示意图;
图3B是本申请实施例提供的终端设备400的结构示意图;
图4是本申请实施例提供的视频处理方法的流程示意图;
图5是本申请实施例提供的H.264码流的分层结构示意图;
图6是本申请实施例提供的视频处理方法的流程示意图;
图7是本申请实施例提供的针对NAL单元进行解码处理的流程示意图;
图8是本申请实施例提供的视频处理方法的应用场景示意图;
图9是本申请实施例提供的视频处理方法的应用场景示意图;
图10是本申请实施例提供的SEI信息生产阶段的流程示意图;
图11是本申请实施例提供的SEI信息消费阶段的流程示意图;
图12是本申请实施例提供的在接收端针对解码后得到的掩码图进行后处理的流程示意图;
图13是本申请实施例提供的饱和滤波器的示意图;
图14是本申请实施例提供的画中画的界面示意图;
图15是本申请实施例提供的视频处理方法在不同阶段分别对应的页面示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)画中画(PiP,Picture in Picture),是将一个图像添加到另一个图像上的技术,例如,参见图1,图1是本申请实施例提供的画中画的示意图,如图1所示,小画面102被添加至大画面101上,即小画面102以悬浮窗的方式在大画面101上进行播放,且小画面102支持任意移动以及缩放。
2)补充增强信息(SEI,Supplemental Enhancement Information),视频传输领域的词汇,SEI提供了向视频码流中加入额外信息的方法,也是H.264,H.265等视频压缩标准的特性之一,同时,SEI还具有如下的基本特征:1、并不是解码过程的必须项;2、有可能对解码过程有帮助;3、集成在视频码流中。
示例的,参见表1,表1是本申请实施例提供的H.264/AVC字段示意表,如表1所示,SEI在H.264/AVC标准中的网络抽象层单元类型(Network Abstraction Layer Unit Type)为6。
表1 H.264/AVC字段示意表
网络抽象层单元类型 | 网络抽象层单元内容 |
1 | 非IDR图像,且不采用数据划分的片段 |
5 | IDR图像 |
6 | 补充增强信息(SEI) |
7 | 序列参数集(SPS) |
8 | 图像参数集(PPS) |
11 | 流结束符 |
3)人像分割,计算机视觉领域词汇,专门分割(Segmentation)包含人像的技术,输入包含人像的图像,输出人像掩码。通常来说,直接输出的掩码需要经过后处理才能作为图像的阿尔法(Alpha)通道使用。此外,为了节约计算成本,通常也会首先把图像缩小,再求解人像掩码,在后处理阶段,再把人像掩码放大至原图大小。
4)人脸关键点检测,计算机视觉领域词汇,也称人脸关键点定位或者人脸对齐,是指给定人脸图像,定位出人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴和脸部轮廓等。人脸关键点检测方法大致分为以下三种:主动形状模型(ASM,Active Shape Model);级联形状回归(CPR,Cascaded Pose Regression);基于深度学习的方法。
5)人体姿态评估,计算机视觉领域词汇,包括:单人姿态评估、多人姿态评估、三维人体姿态评估。在实际求解时,对人体姿态的评估常常转化为对人体关键点的预测问题,即首先预测出人体各个关键点的位置坐标,然后根据先验知识确定关键点之间的空间位置关系,从而得到预测的人体骨架。
随着通讯技术的发展以及通讯基础设施建设的推进,实时的视频通讯技术被广泛应用。在实时视频的某些事件场景下,不仅希望传输视频,同时还希望传输额外信息(也称增强图像信息),其中,额外信息可以包括每帧图像对应的人像掩码(下文中也称掩码图)、每帧图像对应的人脸关键点、或者每帧图像对应的人体姿态信息等。
然而,相关技术提供的方案在同时传输额外信息时存在以下问题:
1)难以做到严格同步
在传输额外信息时,希望传输的额外信息能够与视频帧之间做到严格对应,例如,以额外信息为人像掩码为例,希望第I帧的人像掩码能够严格对应到第I帧图像。如果分别为视频帧和人像掩码专门建立对应的传输通道,分别传输视频和人像掩码,那么由于网络传输条件的限制,在接收端将难以实现人像掩码与视频帧之间的严格对应。
2)带宽增加
由于需要传输额外信息(例如人像掩码),传输所占用的带宽将急剧增加,例如,在传输与视频帧尺寸相同的人像掩码时,需要传输的数据量将增加30%左右,即相当于红绿蓝(RGB,Red Green Blue)图像增加一个通道。
3)损失难以恢复
为了减小带宽压力,需要对传输的额外信息(例如人像掩码)进行压缩,而压缩会对原始信号(即人像掩码)引入噪声,如果直接使用含有噪声的人像掩码对视频帧图像进行掩码操作时,将影响后续图像的显示效果。
针对上述技术问题,本申请实施例提供一种视频处理方法、装置、电子设备和计算机可读存储介质,能够将视频的原始图像与其他图像信息精确地同步展示,以丰富视频的展示方式。下面说明本申请实施例提供的视频处理方法的示例性应用,本申请实施例提供的视频处理方法可以由各种电子设备实施,例如,可以由终端设备单独实施,也可以由服务器和终端设备协同实施。
下面以服务器和终端设备协同实施本申请实施例提供的视频处理方法为例进行说明。参见图2,图2是本申请实施例提供的视频处理***100的架构示意图,为实现将视频的原始图像与其他图像信息之间精确地同步展示。其中,视频处理***100包括:服务器200、终端设备300和终端设备400,下面将分别进行说明。
服务器200是客户端310和客户端410的后台服务器,用于接收发送方所关联的终端设备300发送的视频码流,以及将所接收的视频码流推送至接收方所关联的终端设备400。示例的,当客户端310和客户端410是直播客户端时,服务器200可以是直播平台的后台服务器;当客户端310和客户端410是视频会议客户端时,服务器200可以是为视频会议提供服务的后台服务器;当客户端310和客户端410是即时通讯客户端时,服务器200可以是即时通讯客户端的后台服务器。
终端设备300是发送方所关联(即发送方所使用的)的终端设备,例如,对于直播来说,终端设备300可以是主播所关联的终端设备;对于视频会议来说,终端设备300可以是视频会议的主持者所关联的终端设备。终端设备300上运行有客户端310,客户端310可以是各种类型的客户端,例如可以是直播客户端、视频会议客户端、即时通讯客户端等。终端设备300用于获取多帧图像(例如通过调用终端设备300自带的摄像头对主播或者主持者进行采集得到的图像),并调用终端设备300自身的运算能力对所获取的每帧图像进行计算机视觉处理,得到与每帧图像对应的(同步的)增强图像信息,随后,终端设备300对所获取的多帧图像以及与每帧图像对应的增强图像信息进行编码处理,生成包括每帧图像、以及与每帧图像对应的增强图像信息的视频码流(将在下文具体说明生成视频码流的过程)。最后,终端设备300将生成的视频码流发送给服务器200。
终端设备400是接收方所关联的终端设备,例如,对于直播来说,终端设备400可以是观众所关联的终端设备;对于视频会议来说,终端设备400可以是视频会议的参会者所关联的终端设备。终端设备400上运行有客户端410,客户端410可以是各种类型的客户端,例如可以是直播客户端、视频会议客户端、即时通讯客户端等。终端设备400用于接收服务器200下发的视频码流,并对所接收到的视频码流进行解码处理,以得到多帧图像、以及与每帧图像同步的增强图像信息;接着,终端设备400对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理,得到与每帧图像对应的复合图像;随后,终端设备400调用客户端410的人机交互界面依次显示与每帧图像对应的复合图像。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备300和终端设备400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端设备300与服务器200之间、以及服务器200与终端设备400之间可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在另一些实施例中,视频码流也可以是由服务器200生成的。例如,终端设备300仅仅向服务器200发送所采集到的多帧图像,以使服务器200对所接收到的每帧图像进行计算机视觉处理,得到与每帧图像对应的增强图像信息,接着,服务器200生成包括每帧图像、以及与每帧图像对应的增强图像信息的视频码流,随后,服务器200将生成的视频码流推送至接收方所关联的终端设备400。
需要说明的是,上述实施例是以两个用户(例如一个主播和一个观众,或者一个会议主持者和一个参会对象)为例进行说明的,在实际应用中,用户的数量不作限制,可以是三个用户(例如一个主播和两个观众)、或者是更多的用户(例如一个主播和多个观众),本申请实施例在此不作具体限制。此外,客户端310和客户端410可以是同一类型的客户端,例如客户端310和客户端410可以是具有相同功能的视频会议客户端,即客户端310和客户端410均具备发起视频会议以及参加视频会议的功能;当然,客户端310和客户端410也可以是不同类型的客户端,例如客户端310是主播端的直播客户端,能够对主播进行采集,并向直播平台的后台服务器推送所采集的视频数据;而客户端410是观众端的直播客户端,仅具有播放直播内容和发送弹幕等功能。
下面对图2中的终端设备300的结构进行说明。参见图3A,图3A是本申请实施例提供的终端设备300的结构示意图,图3A所示的终端设备300包括:至少一个处理器360、存储器350、至少一个网络接口320和用户接口330。终端设备300中的各个组件通过总线***340耦合在一起。可理解,总线***340用于实现这些组件之间的连接通信。总线***340除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3A中将各种总线都标为总线***340。
处理器360可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口330包括使得能够呈现媒体内容的一个或多个输出装置331,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口330还包括一个或多个输入装置332,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器350可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器350可选地包括在物理位置上远离处理器360的一个或多个存储设备。
存储器350包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器350旨在包括任意适合类型的存储器。
在一些实施例中,存储器350能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***351,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
网络通信模块352,用于经由一个或多个(有线或无线)网络接口320到达其他计算设备,示例性的网络接口320包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
呈现模块353,用于经由一个或多个与用户接口330相关联的输出装置331(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口)。
输入处理模块354,用于对一个或多个来自一个或多个输入装置332之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图3A示出了存储在存储器350中的视频处理装置355,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块3551、计算机视觉处理模块3552、生成模块3553和发送模块3554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的视频处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
下面继续对图2中的终端设备400的结构进行说明。参见图3B,图3B是本申请实施例提供的终端设备400的结构示意图。如图3B所示,终端设备400包括:存储器450,用于存储可执行指令;处理器460,用于处理存储器450中存储的可执行指令时,实现本申请实施例提供的视频处理方法。此外,存储在存储器450中的视频处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块4551、解码处理模块4552、融合处理模块4553、显示模块4554、放大处理模块4555和降噪处理模块4556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。另外,终端设备400还包括网络接口420、用户接口430(包括输出装置431和输入装置432)、总线***440,存储器450中还存储有操作***451、网络通信模块452、呈现模块453和输入处理模块454,上述组件的作用与图3A中对应组件的作用类似,可以参考图3A的描述,本申请实施例在此不再赘述。
下面将结合本申请实施例提供的终端设备的示例性应用和实施,说明本申请实施例提供的视频处理方法。可以理解的,终端设备执行的步骤具体可以是由终端设备上运行的客户端执行的。
本申请实施例提供的视频处理方法主要包括视频码流的生成阶段和视频码流的消费阶段,下面首先对视频码流的生成阶段进行说明。
参见图4,图4是本申请实施例提供的视频处理方法的流程示意图,将结合图4示出的步骤进行说明。
需要说明的是,图4示出的步骤S101至步骤S104的执行主体可以是图2中的发送方所关联的终端设备300,为了描述方便,下文中将发送方所关联的终端设备300称为第一终端设备,将接收方所关联的终端设备400称为第二终端设备。
在步骤S101中,获取多帧图像。
在一些实施例中,可以通过调用第一终端设备的摄像头对目标对象进行采集,以得到多帧图像。例如,以视频会议为例,第一终端设备可以是会议发起者所关联的终端设备,通过调用第一终端设备自带的摄像头对会议发起者进行采集,以得到包括有会议发起者的多帧图像;例如,对于直播场景来说,第一终端设备可以是主播所关联的终端设备,通过调用第一终端设备自带的摄像头对主播进行采集,以得到包括有主播的多帧图像。
在步骤S102中,对获取的每帧图像进行计算机视觉处理,得到与每帧图像对应的增强图像信息。
在一些实施例中,第一终端设备可以通过以下方式实现上述的对获取的每帧图像进行计算机视觉处理,得到与每帧图像对应的增强图像信息:针对每帧图像执行以下处理:基于图像调用图像分割模型以识别出图像中的对象,将对象之外的区域作为背景,生成与背景对应的图像掩码,并将生成的图像掩码作为与图像同步的增强图像信息;其中,图像分割模型是基于样本图像、以及针对样本图像中标注的对象进行训练得到的。
例如,可以使用有监督的训练方法对图像分割模型进行训练,其中,图像分割模型可以是各种类型的神经网络模型,包括深度卷积神经网络模型、卷积神经网络模型、全连接神经网络模型等,损失函数可以是用于表征预测的对象位置与标注的对象的位置之间差异的任意形式的损失函数,例如可以是均方误差损失函数(MSE,Mean Squared Error)、合页损失函数(HLF,Hinge Loss Function)和交叉熵损失函数(Cross Entropy)等。
示例的,以直播场景为例,在调用第一终端设备自带的摄像头对主播进行采集,得到包含有主播的多帧图像后,针对采集到的多帧图像中的任一帧图像执行以下处理:将任一帧图像输入预先训练好的人像分割模型,以使人像分割模型针对任一帧图像进行像素级分割(即进行像素级别的判断,判断当前的像素是否属于人像对应的像素点,当属于时,则将其划分到人像区域),并基于分割结果确定出任一帧图像中主播所在位置对应的人像区域,并将主播所在位置对应的人像区域之外的区域作为背景区域,生成与背景区域对应的人像掩码(其中,人像掩码可以用于去除图像中的背景区域,只保留人像。基于人像掩码对图像进行掩码操作是指根据人像掩码重新计算图像中每个像素的值,例如人像掩码可以是一个在人像区域内的值均为1,而在人像区域之外的区域的值均为0的掩码图像,从而在基于人像掩码对图像进行掩码操作后,图像中人像区域之外的区域的像素值将均重置为0,从而实现了在图像中只保留人像。此外,人像掩码还可以刻画邻域像素点对新像素值的影响程度,同时根据人像掩码中权重因子对原像素点进行加权平均。图像的掩码操作常用于图像平滑、边缘检测以及特征分析等领域),最后,将所生成的人像掩码作为与任一帧图像对应的增强图像信息;其中,人像分割模型是基于样本图像、以及针对样本图像中标注的人像进行训练得到的。此外,需要说明的是,基于人像分割模型输出的人像掩码可以是一个二维数组,数组的取值范围在[0,1]之间,即人像掩码是由[0,1]之间的小数组成的。
在另一些实施例中,为了减小传输图像掩码所需占用的带宽成本,还可以首先对采集到的多帧图像进行缩小处理,即预先将采集到的多帧图像进行缩小处理,例如假设采集到的图像的分辨率为1080p(即1920*1080),则可以首先将图像的尺寸缩小至100*100,随后将缩小后的图像输入图像分割模型,以得到尺寸小于图像原始尺寸的图像掩码,例如尺寸仅为100*100的图像掩码,从而传输的图像掩码的尺寸远小于图像的原始尺寸,可以大大减小传输图像掩码所带来的带宽压力。
在另一些实施例中,第一终端设备还可以通过以下方式实现上述的对获取的每帧图像进行计算机视觉处理,得到与每帧图像对应的增强图像信息:针对每帧图像执行以下处理:调用关键点检测模型对图像进行关键点检测,以得到图像中对象的关键点的位置;将所得到的对象的关键点的位置确定为与图像对应的增强图像信息;其中,关键点检测模型是基于样本图像、以及针对样本图像中包括的对象的关键点的位置进行训练得到的。
示例的,以视频会议为例,在调用第一终端设备自带的摄像头对会议发起者进行采集,得到包括有会议发起者的多帧图像后,针对采集到的多帧图像中的任一帧图像执行以下处理:将任一帧图像输入预先训练好的人脸关键点检测模型中,以使人脸关键点检测模型确定出图像中会议发起者的关键点的位置,例如会议发起者鼻子的位置、会议发起者眉毛的位置、会议发起者嘴巴的位置等,随后,将确定出的会议发起者的关键点的位置确定为任一帧图像同步的增强图像信息;其中,人脸关键点检测模型是基于样本图像、以及针对样本图像中标注的人像的关键点的位置进行训练得到的。例如,可以使用有监督的训练方法对人脸关键点检测模型进行训练,其中,人脸关键点检测模型可以是各种类型的神经网络模型,包括深度卷积神经网络模型、卷积神经网络模型、全连接神经网络模型等,损失函数可以是用于表征预测的对象的人脸关键点的位置与标注的对象的人脸关键点的位置之间差异的任意形式的损失函数,例如可以是MSE、HLF等。
在一些实施例中,第一终端设备也可以通过以下方式实现上述的对获取的每帧图像进行计算机视觉处理,得到与每帧图像对应的增强图像信息:针对每帧图像执行以下处理:调用姿态检测模型对图像中的对象进行姿态检测,以得到图像中对象的姿态信息;将所得到的对象的姿态信息确定为与图像对应的增强图像信息。
示例的,以直播场景为例,在调用第一终端设备自带的摄像头对主播进行采集,得到包含有主播的多帧图像后,针对采集到的多帧图像中的任一帧图像执行以下处理:将任一帧图像输入预先训练好的人体姿态检测模型进行姿态检测,以得到任一帧图像中主播的姿态信息,即人体姿态检测模型从任一帧图像中提取出主播的骨架,并基于所提取出的骨架进行连接,从而得到主播的姿态信息,随后,将确定出的主播的姿态信息作为与任一帧图像同步的增强图像信息。
在步骤S103中,生成包括每帧图像、以及与每帧图像对应的增强图像信息的视频码流。
为便于理解本申请实施例提供的视频处理方法,在对生成包括每帧图像、以及与每帧图像对应的增强图像信息的视频码流的过程进行说明之前,首先对视频码流的结构进行介绍。
示例的,以H.264为例,H.264的功能分为两层:视频编码层(VCL,Video CodingLayer)和网络抽象层(NAL,Network Abstraction Layer),其中,VCL数据即编码处理的输出,它表示被压缩编码后的视频数据序列。在VCL数据传输或存储之前,这些编码的VCL数据,先被映射或封装到NAL单元中。每个NAL单元包括一个原始字节序列负荷(RBSP,RawByte Sequence Payload)、一组对应于视频码流的NAL头信息。RBSP的基本结构是:在原始编码数据的后面填加了结尾比特,以便字节对齐。也就是说,H.264码流是由一个接一个的NAL单元组成的,其中,每个NAL单元包括NAL头信息和RBSP。
下面对H.264码流的整体结构进行说明。示例的,参见图5,图5是本申请实施例提供的H.264码流分层结构示意图。如图5所示,H.264码流的整体结构可以分为六层,下面分别进行说明。
层一是H.264码流的打包格式,包括字节流(Annexb)格式和实时传送协议(RTP,Real-time Transport Protocol)格式,其中,Annexb格式是大部分编码器的默认输出格式,由于Annexb格式没有经过传输协议封装,所以也称为裸流;而RTP格式是一种用于网络传送的数据传输格式。
层二是NAL单元,每个NAL单元包括一组对应于视频编码的NAL单元头和NAL单元主体,其中,NAL单元头的类型是多样的,包括:分界符、填充、补充增强信息(SEI,Supplemental Enhancement Information)、序列参数集(SPS,Sequence Parameter Set)和图像参数集(PPS,Picture Parameter Set)等。
层三是切片(Slice),Slice的主要作用是作为宏块(Macroblock)的载体,且每个Slice包括Slice头和Slice数据,其中,Slice头中包含着分片类型、分片中的宏块类型、分片帧的数量、分片属于哪个图像以及对应的帧的设置和参数等信息。Slice数据则是宏块,也就是用于存储图像像素数据的地方。
需要说明的是,切片的概念与帧不同,帧是用于描述一张图像的,一帧对应一张图像,而切片是H.264中提出的新概念,是通过编码图像后切分通过高效的方式整合出来的概念,一张图像至少有一个或多个切片,切片是通过NAL单元装载并进行网络传输的,此外,NAL单元中还可以装载着其他用于描述视频的信息。
层四是Slice数据,即宏块,宏块是视频信息的主要承载者,它包含着每一个像素的亮度和色度信息。视频解码的主要工作则是提供高效的方式从视频码流中获得宏块中的像素阵列。此外,需要说明的是,Slice的类型与宏块的类型是对应的,例如,对于I片来说,只包括I宏块,I宏块利用从当前片中已解码的像素作为参考进行帧内预测;P片包括P宏块和I宏块,P宏块可以利用前面已经编码的图像作为参考图像进行帧内预测。
层五是脉冲编码调制(PCM,Pulse Code Modulation)类,即表示用于对保存在宏块中的原始的像素值进行编码的方式,例如,当宏块的类型(mb_type)为I_PCM模式时,可以按照差分编码的形式保存宏块原始的像素值。
层六是残差(Residual),用于存储残差数据。
在一些实施例中,当第一终端设备在得到与每帧图像对应的增强图像信息之后,可以通过以下方式实现上述的生成包括每帧图像、以及与每帧图像对应的增强图像信息的视频码流:分别对每帧图像、以及与每帧图像对应的增强图像信息进行编码处理,以得到多帧图像编码、以及与每帧图像编码对应的增强图像信息编码;将多帧图像编码分别封装至一一对应的多个类型为图像片的网络提取层单元中,以及将多帧增强图像信息编码也分别封装至一一对应的多个类型为补充增强信息的网络提取层单元中;将多个类型为图像片的网络提取层单元和多个类型为补充增强信息的网络提取层单元组装为视频码流。
示例的,以增强图像信息为图像掩码为例,第一终端设备在得到与每帧图像对应的图像掩码后,分别对多帧图像、以及与每帧图像同步的图像掩码进行编码处理,以得到多帧编码图像、以及与每帧编码图像对应的编码图像掩码,随后,第一终端设备将多帧编码图像封装至类型为图像片的NAL单元中,其中,类型为图像片的NAL单元包括:不分区、非即时解码刷新(IDR,Instantaneous Decoding Refresh)图像的片、片分区A、片分区B、片分区C和IDR图像中的片。此外,第二终端设备还可以将与每帧编码图像对应的编码图像掩码依次封装至类型为SEI的NAL单元中,从而基于类型为图像片的多个NAL单元和类型为SEI的多个NAL组装得到待传输的视频码流。
需要说明的是,SEI的生成方式除了上述的在进行视频编码时生成SEI,还可以对已***流做过滤,并***SEI字段信息,或者,在容器层写入时***SEI,本申请实施例对此不作具体限定。
在步骤S104中,发送视频码流。
在一些实施例中,第一终端设备在生成视频码流后,可以服务器发送所生成的视频码流,以使服务器向第二终端设备推送接收到的视频码流。
示例的,以直播场景为例,主播所关联的终端设备(即第一终端设备)在生成视频码流后,将所生成的视频码流推送至直播平台的后台服务器,以使直播平台的后台服务器在接收到视频码流后,向观众所关联的终端设备(即第二终端设备)推送接收到的视频码流。
下面对视频码流的消费阶段进行说明。示例的,参见图6,图6是本申请实施例提供的视频处理方法的流程示意图,将结合图6示出的步骤进行说明。
需要说明的是,图6示出的步骤S201至步骤S204的执行主体可以是图2中的终端设备400,即接收方所关联的终端设备,用于接收视频码流并进行解码播放,为了描述方便,将接收方所关联的终端设备(即图2中示出的终端设备400)称为第二终端设备。
在步骤S201中,接收视频码流。
在一些实施例中,第一终端设备在生成视频码流后,将所生成的视频码流发送至服务器,以使服务器在接收到第一终端设备发送的视频码流后,将所接收到的视频码流推送至第二终端设备,其中,第二终端设备接收到的视频码流中包括多帧图像、以及与每帧图像同步的增强图像信息。
示例的,以直播场景为例,第一终端设备可以是主播所关联的终端设备,第一终端设备在生成包括多帧图像、以及与每帧图像同步的增强图像信息的视频码流后,将所生成的视频码流发送至直播平台的后台服务器,以使直播平台的后台服务器在接收到第一终端设备发送的视频码流后,将所接收到的视频码流发送给观众所关联的终端设备(即第二终端设备),以使第二终端设备针对接收到的视频码流进行解码播放。
示例的,以视频会议为例,第一终端设备可以是会议的发起者所关联的终端设备,第一终端设备在生成包括多帧图像、以及与每帧图像同步的增强图像信息的视频码流后,将所生成的视频码流发送至视频会议的后台服务器,以使视频会议的后台服务器在接收到第一终端设备发送的视频码流后,将所接收到的视频码流推送至参会对象所关联的终端设备(即第二终端设备),以使第二终端设备针对接收到的视频码流进行解码播放。
此外,为了便于理解本申请实施例提供的视频处理方法,在对后续视频码流的解码过程进行说明之前,首先对接收端针对视频码流中包括的多个NAL单元进行解码处理的过程进行说明。
示例的,参见图7,图7是本申请实施例提供的针对NAL单元进行解码处理的流程示意图,如图7所示,接收端在接收到视频码流后,首先从视频码流中读取NAL单元,接着,从所读取的NAL单元中提取出RBSP语法结构,随后,根据NAL单元的类型,执行对应的解码过程。例如,当接收端判断出NAL单元的类型为6时(即SEI=6),则进行SEI解码过程,得到基于SEI传输的额外信息;当接收端判断出NAL单元的类型为7时(即SPS=7),则进行SPS解码过程,得到序列参数;当接收端判断出NAL单元的类型为5时(即IDR=5),进入片解码过程,得到解码图像。
在步骤S202中,对视频码流进行解码处理,得到多帧图像、以及与每帧图像同步的增强图像信息。
在一些实施例中,第二终端设备可以通过以下方式实现上述的对视频码流进行解码处理,得到多帧图像、以及与每帧图像同步的增强图像信息:读取视频码流包括的每个网络提取层单元,并确定每个网络提取层单元的类型;当读取的网络提取层单元的类型为图像片时,执行片分割解码操作,以得到多帧图像;当读取的网络提取层单元的类型为补充增强信息时,执行补充增强信息解码操作,以得到与每帧图像同步的增强图像信息。
示例的,以增强图像信息为图像掩码为例,第二终端设备在接收到视频码流后,遍历读取所接收到的视频码流包括的多个NAL单元,并确定每个所读取的NAL单元的类型;当确定出所读取的NAL单元的类型为图像片时,执行片分割解码操作,以得到对应的解码图像;当确定出所读取的NAL单元的类型为SEI时,执行SEI解码操作,以得到与每帧图像同步的图像掩码。
在步骤S203中,对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理,得到与每帧图像对应的复合图像。
在一些实施例中,当增强图像信息为图像掩码时,第二终端设备可以通过以下方式实现上述的对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理,得到与每帧图像对应的复合图像:针对每帧图像执行以下处理:基于与图像同步的图像掩码对图像进行掩码操作,以得到与图像对应的且去除背景的复合图像;其中,图像掩码是通过对图像进行对象识别生成的。
示例的,以视频会议为例,当参会对象所关联的终端设备在针对接收到的视频码流进行解码处理,得到多帧图像、以及与每帧图像对应的人像掩码后,针对每帧图像执行以下处理:基于图像同步的人像掩码对图像进行掩码操作,以得到与图像对应的且去除背景的复合图像(即去除背景后的会议发起者的图像),如此,通过基于图像同步的人像掩码对图像进行掩码操作,可以在参会对象的终端设备上仅仅呈现去除背景后的会议发起者的图像,提高了视频的显示效果。
在一些实施例中,为了节约传输图像掩码所需占用的网络带宽,会对图像掩码进行压缩处理,而压缩处理会对图像掩码引入噪声,如果第二终端设备直接使用解码得到的图像掩码对图像进行掩码操作时,会影响图像的显示效果。鉴于此,第二终端设备在对每帧图像、以及与每帧图像同步的图像掩码进行融合处理之前,还可以执行以下操作:调用饱和滤波器对解码得到的图像掩码进行降噪处理,以最大程度地恢复出压缩前的图像掩码的信息,从而改善复合图像的显示效果。
在另一些实施例中,当增强图像信息为图像中对象的关键点的位置时,第二终端设备可以通过以下方式实现上述的对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理,得到与每帧图像对应的复合图像:获取与关键点匹配的特效;在每帧图像中目标对应的关键点的位置添加特效,得到与每帧图像对应的添加有特效的复合图像。
示例的,以直播场景为例,当观众所关联的终端设备在针对接收到的视频码流进行解码处理,得到多帧图像、以及与每帧图像同步的主播的关键点的位置时,可以获取与主播的关键点匹配的特效,例如当关键点为主播的眼睛时,可以获取卡通眼镜,并在每帧图像中主播对应的眼睛的位置添加卡通眼镜,以在观众所关联的终端设备上呈现添加有卡通眼镜的主播画面,如此,丰富了直播画面的显示效果,提升了用户体验。
例如,参见图8,图8是本申请实施例提供的视频处理方法的应用场景示意图,如图8所示,在得到了图像中主播的眉毛的位置801后,可以获取与眉毛的位置801匹配的特效,例如卡通眼镜,随后,可以在直播画面中主播的眉毛所在的位置添加卡通眼镜802,如此,丰富了直播画面的显示效果。
在一些实施例中,当增强图像信息包括图像中对象的姿态时,第二终端设备可以通过以下方式实现上述的对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理,得到与每帧图像对应的复合图像:针对每帧图像执行以下处理至少之一:根据姿态的类型确定图像中每个对象分别对应的状态,并对图像中所有对象分别对应的状态进行统计,在图像中添加统计结果,以得到与图像对应的添加有统计结果的复合图像;获取与图像中的对象的姿态适配的特效,在图像中添加所获取的特效,以得到与图像对应的添加有特效的复合图像。
示例的,以视频会议为例,当参会对象所关联的终端设备在针对接收到的视频码流进行解码处理,得到多帧图像、以及与每帧图像对应的图像中对象的姿态时,针对每帧图像执行以下处理:根据姿态的类型确定图像中每个参会对象分别对应的状态(例如心情、观点等,),并对图像中出现的所有参会对象分别对应的状态进行统计,并在图像中添加统计结果。例如假设在进行某项议题表决时,在图像中总存在5个参会对象(包括1个会议发起者和4个会议的参与者),且检测到3个参会对象的姿态为大拇指向上的状态,即表示同意,而另外2个参会对象的姿态为大拇指向下的状态,即表示反对,从而生成同意3票,反对2票的统计结果,并将生成的统计结果添加至对应的图像中。例如,参见图9,图9是本申请实施例提供的视频处理方法的应用场景示意图,如图9所示,在某帧图像中共存在3个参会对象,并且已经获取了3个参会对象分别对应的姿态信息901,其中,2个参会对象的身体朝向是面向屏幕的,表示同意;而1个参会对象的身体朝向是背向屏幕的,表示反对,则可以根据这3个参会对象的状态,生成统计结果902,并在图像中进行呈现,如此,方便了会议的参加者了解统计结果。
示例的,以直播场景为例,当观众所关联的终端设备在针对接收到的视频码流进行解码处理,得到多帧图像、以及与每帧图像同步的主播的姿态时,可以获取与图像中主播的姿态适配的特效,也就是说,观众所关联的终端设备在得到主播的姿态后,可以将图形、风格、艺术造型等特效依次加载至多帧图像分别对应的主播身上,即通过识别主播人体姿态的变化,添加的特效可以在主播运动时与主播进行自然地融合。
在步骤S204中,在人机交互界面中依次显示与每帧图像对应的复合图像。
在一些实施例中,第二终端设备在人机交互界面中依次显示与每帧图像对应的复合图像之前,还可以执行以下处理:获取背景图像;将基于与图像同步的图像掩码对图像进行掩码操作后,得到的去除背景后的复合图像与背景图像进行合并,以在人机交互界面中显示经过合并后得到的合并图像。
示例的,以视频会议场景为例,会议发起者所关联的终端设备在向视频会议的后台服务器发送包括通过调用摄像头采集的多帧图像、以及与每帧图像对应的人像掩码的视频码流时,还可以向视频会议的后台服务器发送通过截取会议发送者所关联的终端设备的屏幕所得到的视频码流,例如会议发起者所共享的幻灯片(PPT,Power Point),从而,参会对象所关联的终端设备可以同时接收到会议发起者发送的包括共享的PPT的视频码流、以及包括多帧图像、以及与每帧图像对应的人像掩码的视频码流,接着,参会对象所关联的终端设备在基于与图像同步的人像掩码对图像进行掩码操作,以得到与图像对应的且去除背景后的人物图像后,可以将去除背景后的人物图像与共享的PPT进行合并渲染,以达到画中画的效果(例如,如图14所示的画中画的界面显示效果)。
本申请实施例提供的视频处理方法,通过将与每帧图像同步的增强图像信息集成在视频码流中,以使接收端在接收到视频码流后,可以对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理,以得到与每帧图像对应的复合图像,随后在人机交互界面中依次显示与每帧图像对应的复合图像,如此,能够将视频的原始图像与其他图像信息(例如掩码图像、关键点信息等)精确地同步展示,丰富了视频的展示方式。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供了一种视频处理方法,基于SEI传输额外信息,其中,基于SEI传输的额外信息包括人像掩码、人脸关键点、人体姿态信息等。通常地,SEI用于传输编码器参数、视频版权信息、摄像头参数以及事件标识等。也就是说,传统SEI传输的数据往往是常量数据,或者是长度较短的数据,这些数据往往与原始视频帧之间无一一对应关系。相对的,本申请实施例提供的视频处理方法,基于SEI传输的额外信息是针对每一帧图像进行计算机视觉(CV,Computer Vision)处理后得到的图像处理结果,需要与原始视频画面做到严格同步,同时,本申请实施例提供的基于SEI传输额外信息的视频处理方法还具有以下优点:
1)协议独立性,目前主流协议(例如实时流传输协议(RTSP,Real Time StreamingProtocol)和实时消息传输协议(RTMP,Real Time Messaging Protocol))均支持SEI,其他协议也只需要在接收端对接收到的SEI信息进行解析即可使用。
2)兼容性高,SEI不是解码过程的必须选项,可以做到对以往版本的兼容性,即当不支持SEI解析时,原解码器(例如H264)将SEI忽略,依然可以继续解码视频。
3)带宽友好,高清的视频码流,图像的分辨率可以达到1080p、1280p甚至更高,如果直接传输每帧图像对应的原始尺寸的人像掩码,若考虑RGB图像,则带宽将增加30%,若考虑YUV图像(YUV是一种颜色编码方法,其中,Y表示明亮度(Luminance或Luma),也就是灰阶值,U和V表示的则是色度(Chrominance或Chroma),YUV图像的格式为NV12),则带宽将增加50%,也就是说,引入人像掩码带来的带宽成本将相当高。
为了解决带宽问题,本申请实施例将人像分割模型后处理进行了拆分,即将人像分割模型输出的小尺寸的掩码图(远小于视频尺寸,例如可以是100*100的量级,为了描述方便,下文中称为小掩码图)进行处理,而非完整后处理输出的大掩码图(即与视频尺寸相同的掩码图),如此,可以保证传输的人像掩码与视频帧的尺寸无关,减小了传输人像掩码所占用的带宽。
此外,为了进一步减小传输人像掩码所需占用的带宽,本申请实施例还可以对小掩码图进行压缩处理,例如可以采用zlib(zlib是通用的压缩库,提供了一套in-memory压缩和解压函数,并能检测解压出来的数据的完整性)提供的DEFLATE算法对小掩码图进行压缩,从而能够在一定程度上减小小掩码图的大小。但是,这种类型的压缩算法没有考虑到小掩码图的时序性质,只能对每帧小掩码图进行独立压缩。因此,为了进一步压缩,可以采用H264压缩技术对小掩码图序列实施视频压缩。如此,通过截断人像分割后处理以及视频压缩算法,能够实现以最小带宽传输人像掩码。
4)人像掩码的恢复,针对视频压缩引入的噪声,本申请实施例提供了一种后处理方法,能够有效地抑制由于视频压缩引入的噪声,从而最大程度地恢复小掩码图压缩前的信息。
下面以在视频会议的桌面分享时仅呈现人像(即去除背景后的人物图像),并播放PPT为例,对本申请实施例提供的视频处理方法进行具体说明。
本申请实施例提供的视频处理方法主要包括SEI信息生产阶段和SEI信息消费阶段,其中,SEI信息生产阶段主要是发送端的视频码流处理模块针对待传输的视频码流产生额外信息,并将所产生的额外信息打包成SEI信息放回视频码流中;SEI信息消费阶段主要是接收端针对所接收到的SEI信息进行解析,并利用SEI信息中的掩码信息进行画中画的展示。下面分别对上述两个阶段进行具体说明。
示例的,参见图10,图10是本申请实施例提供的SEI信息生产阶段的流程示意图。结合图10说明视频码流在输入视频码流处理模块后的处理。
视频码流在输入视频码流处理模块后,首先在解码模块进行解码处理,解码完成后,将得到解码图像,例如单帧的RGB格式或者YUV格式的图像。例如,解码模块对流入的视频码流进行解码处理,解码工具可以是FFMPEG(FFMPEG是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序,采用了LGPL或者GPL许可证,提供了录制、转换以及流化音视频的完整解决方案,其具有非常强大的功能包括视频采集功能、视频格式转换、视频抓图和给视频加水印等),从而可以将视频码流转换为CV算法可以处理的YUV数据或者RGB数据。
发送端(对应于上述的第一终端设备)随后针对经过解码处理后得到的单帧解码图像进行计算机视觉处理,包括调用人像分割模型对解码图像进行人像分割处理、调用关键点检测模型对解码图像中的人脸进行关键点检测、或者调用姿态评估模型对解码图像中的人体进行姿态评估等计算机视觉处理。例如,以人像分割为例,首先对解码图像进行缩小处理,并将缩小后的解码图像输入人像分割模型,以输出小掩码图Msmall。
在针对解码图像进行CV处理后,将得到图像处理结果(此外以小掩码图为例),随后,发送端将小掩码图和解码图像分别进行视频压缩,以得到图像编码和图像处理结果编码(即小掩码图编码),并将小掩码图编码打包至视频帧的SEI中。
此外,需要说明的是,由于视频压缩所支持的输入往往是图像,以RGB图像为例,图像的值域范围为[0,255],而小掩码图的值域范围在[0,1]之间,因此,无法直接对小掩码图进行视频压缩。为此,首先需要将小掩码图的值域范围映射到[0,255]区间,即直接将小掩码图乘以255后,再进行视频压缩,计算公式如下:
接收端后续在使用小掩码图时,也首先需要将小掩码图的值域还原至[0,1]区间后再进行使用。
发送端最后将打包后的SEI信息推出至视频码流中,即完成了SEI信息的生产。例如,可以利用FFMPEG将小掩码图转换为SEI码流,并将SEI码流写入原始视频码流中,进行合并。最终,推送合并后的视频码流,从而完成了整个SEI信息的生产阶段。
需要说明的是,SEI信息的生产方式除了可以通过图10示出的对已***流做过滤,并***SEI字段信息外,还可以通过在视频编码时生成SEI信息,或者在容器层写入时***SEI信息,本申请实施例对此不作具体限定。
下面对SEI信息消费阶段进行说明。
示例的,参见图11,图11是本申请实施例提供的SEI信息消费阶段的流程示意图。如图11所示,SEI信息消费阶段主要分为以下三个步骤:
接收端(对应于上述的第二终端设备)在接收到视频码流后,首先对接收到的视频码流进行解码处理,即对视频码流中包括的图像编码进行解码、以及对SEI信息进行解析,以分别得到解码图像和解码小掩码图。例如,接收端可以利用FFMPEG从视频码流中解码出图像,其中,解码图像可以是YUV格式的图像Istream,同时,还可以利用FFMPEG从视频码流的SEI信息中解码出小掩码图Mstream,其中,小掩码图Mstream的值域范围大体为[0,255],这是由于视频压缩引入的噪声,可能会导致部分数值大于255,随后,需要将小掩码图Mstream的值域大体还原到[0,1]区间,计算公式如下:
其中,为解码获得的小掩码图,与从人像分割模型直接输出的小掩码图Msmall有所不同,这是因为上叠加有视频压缩引入的噪声。
接着,接收端对解码得到的掩码图进行后处理,包括放大处理与降噪处理,并将经过后处理得到的掩码图与解码图像进行融合,即将经过后处理得到的掩码图作为解码图像的阿尔法(Alpha)通道。其中,Alpha通道是指一张图像的透明或半透明度,例如,对于一个使用每个像素16比特存储的位图来说,对于图像中的每个像素而言,可以用5个比特表示红色、5个比特表示绿色、5个比特表示蓝色,最后一个比特是阿尔法,在这种情况下,它要么表示透明要么不透明。在本申请实施例中,通过将人像掩码作为解码图像的阿尔法通道进行融合处理,以得到去除背景后的人物图像。
下面对接收端针对解码后得到的掩码图进行后处理的过程进行具体说明。
示例的,参见图12,图12是本申请实施例提供的在接收端针对解码后得到的掩码图进行后处理的流程示意图,如图12所示,在接收端执行的后处理过程主要包括掩码放大、掩码降噪和图像合并三个步骤,下面分别进行说明。
(1)掩码放大
接收端在针对视频码流中的SEI信息进行解析,得到值域范围大体分布在[0,1]区间的小掩码图后,可以通过改变大小(resize)操作将小掩码图的尺寸放大至与解码图像相同的尺寸,其中,可选的resize算法包括双线性插值算法、以及近邻采样算法等。如此,通过对小掩码图进行放大处理,可以得到尺寸与解码图像相同的大掩码图
(2)掩码降噪
经过放大处理后得到的大掩码图是经过视频压缩的,会引入噪声,如果直接使用失真的大掩码图会对最后渲染的结果造成较大损伤。因此,为了对大掩码图进行还原,可以设置一个滤波器,称为饱和滤波器。接收端在针对视频码流中的SEI信息解析出小掩码图Mstream后,首先将小掩码图Mstream的值域范围大致还原到[0,1]区间,即除以255,得到小掩码图随后,将小掩码图的尺寸放大至与解码图像相同的尺寸,得到大掩码图最后,将得到的大掩码图输入饱和滤波器中进行降噪处理。示例的,饱和滤波器f_sat的定义如下:
其中,upper表示饱和滤波器的上限,当大掩码图中某个像素点x的值大于upper时,在经过饱和滤波器f_sat降噪处理后,将被设置为1;lower表示饱和滤波器的下限,当大掩码图中某个像素点x的值小于lower时,在经过饱和滤波器f_sat降噪处理后,将被设置为0。示例的,参见图13,图13是本申请实施例提供的饱和滤波器的示意图,如图13所示,通过lower和upper两个参数,例如lower可以取0.2,upper可以取0.8,从而可以将大掩码图的值域范围限制在[0,1]之间,以去除大部分视频压缩引入的噪声。也就是说,在将失真的大掩码图输入饱和滤波器f_sat进行降噪处理后,可以得到去噪后的大掩码图计算公式如下:
(3)图像合并
在得到去噪后的大掩码图后,可以将去噪后的大掩码图以Alpha通道的形式合并到解码图像中,以得到去除背景后的人物图像。
发送端最后在用户使用界面,渲染使用复合图像,即完成了画中画功能的整个流程。例如,接收端在将去噪后的大掩码图以Alpha通道的形式合并到解码图像后,将含有Alpha通道的解码图像(例如使用去噪后的大掩码图对解码图像进行掩码操作后,得到的去除背景后的人物图像)与背景图像B(例如视频会议的发起者共享的屏幕图像)进行合并渲染,以得到最终在用户使用界面展示的图像Icomposite,计算公式如下:
其中,B表示背景图像,例如可以是视频会议的发起者共享的屏幕图像,并且,背景图像B和视频码流可以是通过不同的传输通道分别传输至接收端的,以在接收端进行合并渲染,从而实现画中画的功能(例如去除背景后的人物图像可以作为小画面悬浮展示在视频会议的发起者所共享的PPT(即大画面)上,以达到画中画的展示效果)。例如,参见图14,图14是本申请实施例提供的画中画的界面示意图,如图14所示,去除背景后的人物图像1402可以被悬浮展示在背景图像1401中,其中,背景图像1401除了可以是图14示出的PPT外,还可以是Excel、Word等各种窗口或网页(Web)。此外,由于本申请实施例是基于SEI传输与视频帧严格同步的人像掩码,因此,在进行PPT翻页时,去除背景后的人物图像1402(即画中画的小画面)也不会存在延时问题。
下面结合不同阶段分别对应的页面示意图对本申请实施例提供的视频处理方法的有益效果进行进一步的说明。
示例的,参见图15,图15是本申请实施例提供的视频处理方法不同阶段分别对应的页面示意图,如图15所示,页面1501是发送端的解码模块针对输入的视频码流进行解码得到的解码图像;页面1502是利用人像分割模型输出的掩码图进行背景替换后得到的人物图像,即使用未经SEI传输的掩码图进行背景替换得到的人物图像;页面1503是接收端直接使用经过SEI传输的掩码图实现背景替换得到的人物图像,其中,基于SEI传输的掩码图并没有通过饱和过滤器进行降噪处理;页面1504是接收端使用经SEI传输、且通过饱和滤波器降噪处理后的掩码图实现背景替换得到的人物图像。
对比页面1503和页面1504可以看出,若未经饱和滤波器降噪处理(即页面1503),则背景图像会带有噪声,这是由于没有对掩码图进行“二值化”处理(即在将掩码图输入饱和滤波器后,掩码图中大于upper的值将被设置为1,而小于lower的值将被设置为0),使得掩码图中的背景区域并未设置为0,从而留有背景底色。因此,饱和滤波器起到了降低噪声以及去除背景底色的作用。此外,对比页面1502和页面1504可以看出,页面1502和页面1504的显示效果相当,也就是说,使用经过SEI传输的掩码图进行背景替换得到的人物图像与使用人像分割模型直接输出的掩码图进行背景替换得到的人物图像的显示效果几乎是相同的,即实现了最大程度地恢复掩码图压缩前的信息。
在另一些实施例中,还可以将额外信息,例如每帧解码图像对应的掩码图或者其他CV处理结果,按照某种特定规律,直接写在对应帧的解码图像上,以解码图像为载体进行传输。在接收端,按照这种特定规律,将写入解码图像的额外信息分离出来,并分别恢复额外信息和解码图像,从而实现同时传输视频和额外信息。
下面继续说明本申请实施例提供的视频处理装置355实施为软件模块的示例性结构,在一些实施例中,如图3A所示,存储在存储器350的视频处理装置355中的软件模块可以包括:获取模块3551、计算机视觉处理模块3552、生成模块3553和发送模块3554。
获取模块3551,用于获取多帧图像;计算机视觉处理模块3552,用于对获取的每帧图像进行计算机视觉处理,得到与每帧图像对应的增强图像信息;生成模块3553,用于生成包括每帧图像、以及与每帧图像对应的增强图像信息的视频码流;发送模块3554,用于发送视频码流;其中,视频码流用于被终端设备解码以显示与每帧图像对应的复合图像,复合图像是对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理得到的。
在一些实施例中,当增强图像信息为图像掩码时,计算机视觉处理模块3552,还用于针对每帧图像执行以下处理:基于图像调用图像分割模型以识别出图像中的对象,将对象之外的区域作为背景,生成与背景对应的图像掩码;其中,图像分割模型是基于样本图像、以及针对样本图像中标注的对象进行训练得到的。
在一些实施例中,计算机视觉处理模块3552,还用于直接将图像作为图像分割模型的输入,以确定图像中的对象,将对象之外的区域作为背景,生成与背景对应的图像掩码,图像掩码的尺寸与图像的尺寸一致;或者用于缩小图像的尺寸,将缩小后的图像作为图像分割模型的输入,以确定缩小后的图像中的对象,将对象之外的区域作为背景,生成与背景对应的图像掩码,图像掩码的尺寸小于图像的尺寸。
在一些实施例中,计算机视觉处理模块3552,还用于针对每帧图像执行以下处理:调用关键点检测模型对图像进行关键点检测,以得到图像中的对象的关键点的位置;将对象的关键点的位置确定为与图像对应的增强图像信息;其中,关键点检测模型是基于样本图像、以及针对样本图像中标注的对象的关键点的位置进行训练得到的。
在一些实施例中,计算机视觉处理模块3552,还用于针对每帧图像执行以下处理:调用姿态检测模型进行姿态检测,以得到图像中对象的姿态信息;将对象的姿态信息确定为图像对应的增强图像信息。
在一些实施例中,生成模块3553,还用于分别对图像、以及与图像对应的增强图像信息进行编码处理,以得到图像编码、以及与图像编码对应的增强图像信息编码;将图像编码封装至类型为图像片的网络提取层单元中,以及将增强图像信息编码封装至类型为补充增强信息的网络提取层单元中;将类型为图像片的网络提取层单元和类型为补充增强信息的网络提取层单元组装为视频码流。
下面继续说明本申请实施例提供的视频处理装置455实施为软件模块的示例性结构,在一些实施例中,如图3B所示,存储在存储器450的视频处理装置455中的软件模块可以包括:接收模块4551、解码处理模块4552、融合处理模块4553、显示模块4554、放大处理模块4555和降噪处理模块4556。
接收模块4551,用于接收视频码流,视频码流中包括多帧图像以及与每帧图像同步的增强图像信息;解码处理模块4552,用于对视频码流进行解码处理,得到多帧图像、以及与每帧图像同步的增强图像信息;融合处理模块4553,用于对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理,得到与每帧图像对应的复合图像;显示模块4554,用于在人机交互界面中依次显示与每帧图像对应的复合图像。
在一些实施例中,当增强图像信息为图像掩码时,融合处理模块4553,还用于针对每帧图像执行以下处理:基于与图像同步的图像掩码对图像进行掩码操作,以得到与图像对应的且去除背景的复合图像;其中,图像掩码是通过对图像进行对象识别生成的。
在一些实施例中,接收模块4551,还用于获取背景图像;融合处理模块4553,还用于将去除背景的复合图像与背景图像进行合并;显示模块4554,还用于在人机交互界面中显示经过合并得到的合并图像。
在一些实施例中,与每帧图像同步的图像掩码的尺寸是小于图像的尺寸的;视频处理装置455还包括放大处理模块4555,用于对与每帧图像同步的增强图像信息进行放大处理;视频处理装置455还包括降噪处理模块4556,用于对经过放大处理后得到的增强图像信息进行降噪处理。
在一些实施例中,当增强图像信息为图像中对象的关键点的位置时,融合处理模块4553,还用于获取与关键点匹配的特效;在每帧图像中对象对应的关键点的位置添加特效,得到与每帧图像对应的添加有特效的复合图像。
在一些实施例中,当增强图像信息包括图像中对象的姿态时,融合处理模块4553,还用于针对每帧图像执行以下处理至少之一:根据姿态的类型确定图像中每个对象分别对应的状态,并对图像中所有对象的状态进行统计,在图像中添加统计结果,得到与图像对应的添加有统计结果的复合图像;获取与图像中的对象的姿态适配的特效,在图像中添加特效,得到与图像对应的添加有特效的复合图像。
在一些实施例中,解码处理模块4552,还用于读取视频码流包括的每个网络提取层单元,并确定每个网络提取层单元的类型;当所读取的网络提取层单元的类型为图像片时,执行片分割解码操作,以得到多帧图像;当所读取的网络提取层单元的类型为补充增强信息时,执行补充增强信息解码操作,以得到与每帧图像同步的增强图像信息。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的视频处理装置中未尽的技术细节,可以根据图4、或图6任一附图的说明而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的视频处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的方法,例如,如图4、或图6示出的视频处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本申请实施例通过将与每帧图像同步的增强图像信息集成在视频码流中,以使接收端在接收到视频码流后,可以对每帧图像、以及与每帧图像同步的增强图像信息进行融合处理,以得到与每帧图像对应的复合图像,随后在人机交互界面中依次显示与每帧图像对应的复合图像,如此,能够将视频的原始图像与其他图像信息(例如掩码图像、关键点信息等)精确地同步展示,丰富了视频的展示方式。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (16)
1.一种视频处理方法,其特征在于,所述方法包括:
接收视频码流,所述视频码流中包括多帧图像以及与每帧图像同步的增强图像信息,其中,所述增强图像信息包括以下之一:图像掩码、图像中对象的关键点的位置、图像中对象的姿态;
读取所述视频码流包括的每个网络提取层单元,并确定所述每个网络提取层单元的类型;
当读取的网络提取层单元的类型为图像片时,执行片分割解码操作,以得到所述多帧图像;
当读取的网络提取层单元的类型为补充增强信息时,执行补充增强信息解码操作,以得到与所述每帧图像同步的增强图像信息;
对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理,得到与所述每帧图像对应的复合图像;
在人机交互界面中依次显示与所述每帧图像对应的复合图像。
2.根据权利要求1所述的方法,其特征在于,当所述增强图像信息为所述图像掩码时,所述对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理,得到与所述每帧图像对应的复合图像,包括:
针对所述每帧图像执行以下处理:
基于与所述图像同步的图像掩码对所述图像进行掩码操作,以得到与所述图像对应的且去除背景的复合图像;
其中,所述图像掩码是通过对所述图像进行对象识别生成的。
3.根据权利要求2所述的方法,其特征在于,在人机交互界面中依次显示与所述每帧图像对应的复合图像之前,所述方法还包括:
获取背景图像;
将所述去除背景的复合图像与所述背景图像进行合并,在人机交互界面中显示经过合并得到的合并图像。
4.根据权利要求2所述的方法,其特征在于,
与所述每帧图像同步的图像掩码的尺寸小于所述图像的尺寸;
所述对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理之前,所述方法还包括:
对与所述每帧图像同步的增强图像信息进行放大处理,并对经过所述放大处理后得到的增强图像信息进行降噪处理。
5.根据权利要求1所述的方法,其特征在于,当所述增强图像信息为所述图像中对象的关键点的位置时,所述对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理,得到与所述每帧图像对应的复合图像,包括:
获取与所述关键点匹配的特效;
在所述每帧图像中所述对象对应的所述关键点的位置添加所述特效,得到与所述每帧图像对应的添加有所述特效的复合图像。
6.根据权利要求1所述的方法,其特征在于,当所述增强图像信息包括所述图像中对象的姿态时,所述对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理,得到与所述每帧图像对应的复合图像,包括:
针对所述每帧图像执行以下处理至少之一:
根据姿态的类型确定所述图像中每个对象分别对应的状态,并对所述图像中所有对象的状态进行统计,在所述图像中添加统计结果,得到与所述图像对应的添加有所述统计结果的复合图像;
获取与所述图像中的对象的姿态适配的特效,在所述图像中添加所述特效,以得到与所述图像对应的添加有所述特效的复合图像。
7.一种视频处理方法,其特征在于,所述方法包括:
获取多帧图像;
对获取的每帧图像进行计算机视觉处理,得到与所述每帧图像对应的增强图像信息,其中,所述增强图像信息包括以下之一:图像掩码、图像中对象的关键点的位置、图像中对象的姿态;
分别对所述每帧图像、以及与所述每帧图像对应的增强图像信息进行编码处理,以得到多帧图像编码、以及与每帧图像编码对应的增强图像信息编码;
将所述多帧图像编码分别封装至一一对应的多个类型为图像片的网络提取层单元中,以及将多帧增强图像信息编码分别封装至一一对应的多个类型为补充增强信息的网络提取层单元中;
将多个类型为图像片的网络提取层单元和多个类型为补充增强信息的网络提取层单元组装为视频码流;
发送所述视频码流;
其中,所述视频码流用于被终端设备解码,以显示与所述每帧图像对应的复合图像,所述复合图像是对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理得到的。
8.根据权利要求7所述的方法,其特征在于,当所述增强图像信息为所述图像掩码时,所述对获取的每帧图像进行计算机视觉处理,得到与所述每帧图像对应的增强图像信息,包括:
针对所述每帧图像执行以下处理:
基于所述图像调用图像分割模型以识别出所述图像中的对象,将所述对象之外的区域作为背景,生成与所述背景对应的图像掩码;
其中,所述图像分割模型是基于样本图像、以及针对所述样本图像中标注的对象进行训练得到的。
9.根据权利要求8所述的方法,其特征在于,所述基于所述图像调用图像分割模型以识别出所述图像中的对象,将所述对象之外的区域作为背景,生成与所述背景对应的图像掩码,包括:
将所述图像作为所述图像分割模型的输入,以确定所述图像中的对象,将所述对象之外的区域作为背景,生成与所述背景对应的图像掩码,所述图像掩码的尺寸与所述图像的尺寸一致;或者
缩小所述图像的尺寸,将缩小后的所述图像作为所述图像分割模型的输入,以确定缩小后的所述图像中的对象,将所述对象之外的区域作为背景,生成与所述背景对应的图像掩码,所述图像掩码的尺寸小于所述图像的尺寸。
10.根据权利要求7所述的方法,其特征在于,所述对获取的每帧图像进行计算机视觉处理,得到与所述每帧图像对应的增强图像信息,包括:
针对所述每帧图像执行以下处理:
调用关键点检测模型对所述图像进行关键点检测,以得到所述图像中的对象的关键点的位置;
将所述对象的关键点的位置确定为与所述图像对应的增强图像信息;
其中,所述关键点检测模型是基于样本图像、以及针对所述样本图像中标注的对象的关键点的位置进行训练得到的。
11.根据权利要求7所述的方法,其特征在于,所述对获取的每帧图像进行计算机视觉处理,得到与所述每帧图像对应的增强图像信息,包括:
针对所述每帧图像执行以下处理:
调用姿态检测模型进行姿态检测,以得到所述图像中对象的姿态信息;
将所述对象的姿态信息确定为所述图像对应的增强图像信息。
12.一种视频处理装置,其特征在于,所述装置包括:
接收模块,用于接收视频码流,所述视频码流中包括多帧图像以及与每帧图像同步的增强图像信息,其中,所述增强图像信息包括以下之一:图像掩码、图像中对象的关键点的位置、图像中对象的姿态;
解码处理模块,用于读取所述视频码流包括的每个网络提取层单元,并确定所述每个网络提取层单元的类型;当读取的网络提取层单元的类型为图像片时,执行片分割解码操作,以得到所述多帧图像;当读取的网络提取层单元的类型为补充增强信息时,执行补充增强信息解码操作,以得到与所述每帧图像同步的增强图像信息;
融合处理模块,用于对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理,得到与所述每帧图像对应的复合图像;
显示模块,用于在人机交互界面中依次显示与所述每帧图像对应的复合图像。
13.一种视频处理装置,其特征在于,所述装置包括:
获取模块,用于获取多帧图像;
计算机视觉处理模块,用于对获取的每帧图像进行计算机视觉处理,得到与所述每帧图像对应的增强图像信息,其中,所述增强图像信息包括以下之一:图像掩码、图像中对象的关键点的位置、图像中对象的姿态;
生成模块,用于分别对所述每帧图像、以及与所述每帧图像对应的增强图像信息进行编码处理,以得到多帧图像编码、以及与每帧图像编码对应的增强图像信息编码;将所述多帧图像编码分别封装至一一对应的多个类型为图像片的网络提取层单元中,以及将多帧增强图像信息编码分别封装至一一对应的多个类型为补充增强信息的网络提取层单元中;将多个类型为图像片的网络提取层单元和多个类型为补充增强信息的网络提取层单元组装为视频码流;
发送模块,用于发送所述视频码流;
其中,所述视频码流用于被终端设备解码,以显示与所述每帧图像对应的复合图像,所述复合图像是对所述每帧图像、以及与所述每帧图像同步的增强图像信息进行融合处理得到的。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1-6任一项、或权利要求7-11任一项所述的视频处理方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,所述可执行指令被执行时用于实现权利要求1-6任一项、或者权利要求7-11任一项所述的视频处理方法。
16.一种计算机程序产品,包括计算机可执行指令或计算机程序,其特征在于,所述计算机可执行指令或计算机程序被处理器执行时实现权利要求1-6任一项、或者权利要求7-11任一项所述的视频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011478292.1A CN114640882B (zh) | 2020-12-15 | 2020-12-15 | 视频处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011478292.1A CN114640882B (zh) | 2020-12-15 | 2020-12-15 | 视频处理方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640882A CN114640882A (zh) | 2022-06-17 |
CN114640882B true CN114640882B (zh) | 2024-06-28 |
Family
ID=81944827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011478292.1A Active CN114640882B (zh) | 2020-12-15 | 2020-12-15 | 视频处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640882B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117611638B (zh) * | 2023-12-07 | 2024-05-17 | 北京擎锋精密科技有限公司 | 一种基于图像处理的车辆行人多目标跟踪方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110475150A (zh) * | 2019-09-11 | 2019-11-19 | 广州华多网络科技有限公司 | 虚拟礼物特效的渲染方法和装置、直播*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050104899A1 (en) * | 2003-11-19 | 2005-05-19 | Genesis Microchip Inc. | Real time data stream processor |
EP2713593B1 (en) * | 2012-09-28 | 2015-08-19 | Alcatel Lucent, S.A. | Immersive videoconference method and system |
CN109173263B (zh) * | 2018-08-31 | 2021-08-24 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法和装置 |
CN109348252B (zh) * | 2018-11-01 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 视频播放方法、视频传输方法、装置、设备及存储介质 |
CN111935491B (zh) * | 2020-06-28 | 2023-04-07 | 百度在线网络技术(北京)有限公司 | 直播的特效处理方法、装置以及服务器 |
-
2020
- 2020-12-15 CN CN202011478292.1A patent/CN114640882B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110475150A (zh) * | 2019-09-11 | 2019-11-19 | 广州华多网络科技有限公司 | 虚拟礼物特效的渲染方法和装置、直播*** |
Also Published As
Publication number | Publication date |
---|---|
CN114640882A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9013536B2 (en) | Augmented video calls on mobile devices | |
CN109076246B (zh) | 使用图像数据校正掩码的视频编码方法和*** | |
US10645360B2 (en) | Methods and systems for transmitting data in a virtual reality system | |
US7852368B2 (en) | Method and apparatus for composing images during video communications | |
RU2479937C2 (ru) | Устройство и способ обработки информации | |
CN111402399B (zh) | 人脸驱动和直播方法、装置、电子设备及存储介质 | |
JP6333858B2 (ja) | 複数の視覚コンポーネントを有する画面を共有するためのシステム、装置、および方法 | |
CN110351564B (zh) | 一种文字清晰的视频压缩传输方法及*** | |
CN110809173B (zh) | 基于智能手机ar增强现实的虚拟直播方法及*** | |
US10958950B2 (en) | Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices | |
CN108141634B (zh) | 用于产生预览图像的方法和设备以及计算机可读存储介质 | |
CN111193928B (zh) | 用于传递视频中的感兴趣区域信息的方法和设备 | |
CN103248830A (zh) | 面向移动智能终端增强现实的实时视频合并方法 | |
CN114640882B (zh) | 视频处理方法、装置、电子设备及计算机可读存储介质 | |
CN110049347B (zh) | 在直播界面配置图像的方法、***、终端和装置 | |
CN107580228B (zh) | 一种监控视频处理方法、装置及设备 | |
US20070269120A1 (en) | Video image compression using model plus difference image | |
CN111406404B (zh) | 获得视频文件的压缩方法、解压缩方法、***及存储介质 | |
CN114531528B (zh) | 用于视频处理的方法和图像处理设备 | |
CN114827620A (zh) | 图像处理方法、装置、设备与介质 | |
CN116962742A (zh) | 网络直播的视频图像数据传输方法、装置及直播*** | |
CN111405233B (zh) | 视频会议中的加密图形传输方法、装置、存储介质及*** | |
CN113810725A (zh) | 视频处理方法、装置、存储介质及视频通讯终端 | |
KR101700821B1 (ko) | 스케일러블 원격화면 전송방법 및 그 장치 | |
CN113347382A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40071987 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |