一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种视频叠加方法、装置及系统与流程

2021-10-27 14:09:00 来源:中国专利 TAG:
1.本技术涉及视频处理
技术领域
:,尤其涉及一种视频叠加方法、装置及系统。
背景技术
::2.目前,大屏显示设备正朝着智能化的方向发展,功能越来越丰富。一些大屏显示设备配备了视频采集设备,例如摄像头,使得用户可以使用大屏显示设备进行拍照、录像,甚至还可以使用大屏显示设备与其他的远端设备建立视频通话连接。另外,一些大屏显示设备还允许用户在视频通话时向摄像头采集到的视频中叠加一些相框、水印、动画和/或表情等图像素材,使得这些图像素材与摄像头采集到的视频一同显示在远端设备的显示屏上,以增加视频通话的趣味性和互动性。3.一般而言,图像素材的叠加行为可以在大屏显示设备中实现。具体来说,大屏显示设备对接收自视频采集设备的视频帧进行解码,然后在解码后的视频帧中叠加图像素材,然后再对叠加有素材的视频帧进行编码,最后将编码后的视频帧发送给远端设备。由此可见,从大屏显示设备接收到视频帧,到大屏显示设备将视频帧发送给远端设备,期间经历了一次解码过程和一次编码过程,由于视频帧的解码和编码都需要消耗一定的时间才能完成,即存在一定的解码时延和编码时延,因此这种方式会增加大屏显示设备和远端设备的视频通话时延,降低用户使用体验。技术实现要素:4.本技术提供了一种视频叠加方法、装置及系统,能够降低视频叠加场景下的显示设备和远端设备的视频通话时延,提高用户使用体验。5.第一方面,本技术提供了一种视频叠加方法,包括:显示设备响应于第一用户指令,向视频采集设备发送图像素材;视频采集设备将接收到的图像素材叠加到原始视频帧,得到叠加视频帧,原始视频帧包括视频采集设备采集到的未经编码的视频帧;视频采集设备对叠加视频帧进行编码,得到编码视频帧;视频采集设备将编码视频帧发送给显示设备。6.根据上述方法,图像素材的叠加过程在视频采集设备中完成,因此显示设备可以直接将编码视频帧发送给远端设备,不需要再对编码视频帧进行任何与叠加图像素材相关的操作,省去了解码和编码的时间,因此降低了显示设备和远端设备的视频通话时延,提高了用户使用体验。7.在一种实现方式中,显示设备响应于第一用户指令,向视频采集设备发送图像素材之前,还包括:显示设备与远端设备建立视频连接。8.在一种实现方式中,该方法还包括:显示设备将编码视频帧发送给远端设备。9.在一种实现方式中,显示设备和视频采集设备通过物理链路建立数据连接,物理链路用于承载显示设备和视频采集设备之间的基于第一传输协议通道和/或第二传输协议通道的数据传输。10.在一种实现方式中,显示设备响应于第一用户指令,通过第一传输协议通道向视频采集设备发送图像素材。11.在一种实现方式中,视频采集设备通过第二传输协议通道将编码视频帧发送给显示设备。12.由此,图像素材和编码视频帧在两个不同的协议通道内传输,彼此互不影响,有利于提高数据传输的稳定性。13.在一种实现方式中,该方法还包括:显示设备响应于第二用户指令,通过第一传输协议通道向视频采集设备发送第一指示消息,第一指示消息用于指示视频采集设备停止将图像素材叠加到原始视频帧。14.在一种实现方式中,该方法还包括:显示设备实时检测第一传输协议通道的数据流量;显示设备根据数据流量和物理链路的总带宽确定第二传输协议通道的可用带宽资源;显示设备根据可用带宽资源确定叠加视频帧的编码参数;显示设备通过第一传输协议通道将编码参数发送给视频采集设备。15.由此,显示设备能够根据第二传输协议通道的可用带宽资源的大小,动态调整编码参数,使得第二传输协议通道的可用带宽始终能够满足传输编码视频帧的需求,提高带宽资源利用率,并且保证视频通话不卡顿。16.在一种实现方式中,视频采集设备根据编码参数对叠加视频帧进行编码,得到编码视频帧。17.在一种实现方式中,物理链路为通用串行总线usb链路。18.在一种实现方式中,第一传输协议通道为远程网络驱动程序接口规范rndis通道。19.在一种实现方式中,第二传输协议通道为usb视频规范uvc通道。20.由此,显示设备和视频采集设备之间可以利用uvc通道在传输视频数据方面的优势,传输视频帧,利用rndis通道的可靠、稳定、高效率的优势,传输图像素材以及其他的视频帧以外的数据,例如维测数据(用户定位和处理异常或错误的数据)等,确保了高效传输图像素材的同时、又不影响视频帧的传输。21.第二方面,本技术提供了一种电子设备,该电子设备包括显示设备和视频采集设备;其中,显示设备用于响应于第一用户指令,向视频采集设备发送图像素材;视频采集设备用于将接收到的图像素材叠加到原始视频帧,得到叠加视频帧,原始视频帧包括视频采集设备采集到的未经编码的视频帧;视频采集设备还用于对叠加视频帧进行编码,得到编码视频帧;视频采集设备还用于将编码视频帧发送给显示设备。22.根据上述电子设备,图像素材的叠加过程在视频采集设备中完成,因此显示设备可以直接将编码视频帧发送给远端设备,不需要再对编码视频帧进行任何与叠加图像素材相关的操作,省去了解码和编码的时间,因此降低了显示设备和远端设备的视频通话时延,提高了用户使用体验。23.在一种实现方式中,显示设备还用于与远端设备建立视频连接。24.在一种实现方式中,显示设备还用于将编码视频帧发送给远端设备。25.在一种实现方式中,显示设备和视频采集设备通过物理链路建立数据连接,物理链路用于承载显示设备和视频采集设备之间的基于第一传输协议通道和/或第二传输协议通道的数据传输。26.在一种实现方式中,显示设备具体用于响应于第一用户指令,通过第一传输协议通道向视频采集设备发送图像素材。27.在一种实现方式中,视频采集装置具体用于通过第二传输协议通道将编码视频帧发送给显示设备。28.在一种实现方式中,显示设备还用于响应于第二用户指令,通过第一传输协议通道向视频采集设备发送第一指示消息,第一指示消息用于指示视频采集设备停止将图像素材叠加到原始视频帧。29.在一种实现方式中,显示设备还用于实时检测第一传输协议通道的数据流量;以及根据数据流量和物理链路的总带宽确定第二传输协议通道的可用带宽资源;以及根据可用带宽资源确定叠加视频帧的编码参数;以及通过第一传输协议通道将编码参数发送给视频采集设备。30.在一种实现方式中,视频采集设备还用于根据编码参数对叠加视频帧进行编码,得到编码视频帧。31.在一种实现方式中,物理链路为通用串行总线usb链路;第一传输协议通道为远程网络驱动程序接口规范rndis通道;第二传输协议通道为usb视频规范uvc通道。32.第三方面,本技术提供了一种电子设备,该电子设备包括存储器和处理器;其中,存储器存储有图像素材和计算机指令,当计算机指令被处理器执行时,使得电子设备执行以下步骤:响应于第一用户指令,向视频采集设备发送图像素材;接收视频采集设备发送的编码视频帧,其中,编码视频帧是视频采集设备对叠加视频帧编码得到的,叠加视频帧是视频采集设备将图像素材叠加到原始视频帧中得到的,原始视频帧包括视频采集设备采集到的未经编码的视频帧。33.根据上述电子设备,图像素材的叠加过程在视频采集设备中完成,因此电子设备可以直接将编码视频帧发送给远端设备,不需要再对编码视频帧进行任何与叠加图像素材相关的操作,省去了解码和编码的时间,因此降低了电子设备和远端设备的视频通话时延,提高了用户使用体验。34.在一种实现方式中,电子设备还执行:在响应于所述第一用户指令,向所述视频采集设备发送图像素材之前,与远端设备建立视频连接。35.在一种实现方式中,电子设备还执行:将编码视频帧发送给远端设备。36.在一种实现方式中,电子设备和视频采集设备通过物理链路建立数据连接,物理链路用于承载电子设备和视频采集设备之间的基于第一传输协议通道和/或第二传输协议通道的数据传输。37.在一种实现方式中,电子设备响应于第一用户指令,通过第一传输协议通道向视频采集设备发送图像素材。38.在一种实现方式中,电子设备接收视频采集设备通过第二传输协议通道发送的编码视频帧。39.在一种实现方式中,电子设备还执行:响应于第二用户指令,通过第一传输协议通道向视频采集设备发送第一指示消息,第一指示消息用于指示视频采集设备停止将图像素材叠加到原始视频帧。40.在一种实现方式中,电子设备还执行:实时检测第一传输协议通道的数据流量;以及根据数据流量和物理链路的总带宽确定第二传输协议通道的可用带宽资源;以及根据可用带宽资源确定叠加视频帧的编码参数;以及通过第一传输协议通道将编码参数发送给视频采集设备,以使得视频采集设备根据编码参数对叠加视频帧进行编码,得到编码视频帧。41.在一种实现方式中,物理链路为通用串行总线usb链路;第一传输协议通道为远程网络驱动程序接口规范rndis通道;第二传输协议通道为usb视频规范uvc通道。42.第四方面,本技术提供了一种视频叠加系统,该视频叠加系统包括显示设备和视频采集设备;其中,显示设备用于响应于第一用户指令,向视频采集设备发送图像素材;视频采集设备用于将接收到的图像素材叠加到原始视频帧,得到叠加视频帧;视频采集设备还用于对叠加视频帧进行编码,得到编码视频帧;视频采集设备还用于将编码视频帧发送给显示设备;显示设备还用于接收到编码视频帧之后,将编码视频帧发送给远端设备。43.第五方面,本技术还提供了一种计算机存储介质。该计算机存储介质计算机指令,当计算机指令在显示设备上运行时,使得显示设备执行上述第一方面及其实现方式中的方法。44.第六方面,本技术还提供了一种计算机存储介质。该计算机存储介质计算机指令,当计算机指令在视频采集设备上运行时,使得视频采集设备执行上述第一方面及其实现方式中的方法。45.第七方面,本技术还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面及其实现方式中显示设备执行的方法。46.第八方面,本技术还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面及其实现方式中视频采集设备执行的方法。附图说明47.图1是本技术实施例提供的一种大屏显示设备的结构示意图;48.图2是本技术实施例提供的另一种大屏显示设备的结构示意图;49.图3是大屏显示设备与远端设备进行视频通话的场景示意图;50.图4是本技术实施例提供的视频采集设备和显示设备的数据传输架构的示意图;51.图5是本技术实施例提供的视频叠加方法的流程图;52.图6是本技术实施例提供的一种触发第一用户指令的方式;53.图7是本技术实施例提供的另一种触发第一用户指令的方式;54.图8是本技术实施例提供的又一种触发第一用户指令的方式;55.图9是视频采集设备将相框素材叠加到原始视频帧的示意图;56.图10是视频采集设备将表情素材叠加到原始视频帧的示意图;57.图11是本技术实施例示出的从原始视频帧得到编码视频帧的示意图;58.图12是本技术实施例提供的一种对叠加视频帧的后处理方式的示意图;59.图13是本技术实施例提供的另一种对叠加视频帧的后处理方式的示意图;60.图14是本技术实施例提供的带有画中画的显示设备显示编码视频帧的示意图;61.图15是本技术实施例提供的一种触发第二用户指令的方式;62.图16是本技术实施例提供的另一种触发第二用户指令的方式;63.图17是本技术实施例提供的又一种触发第二用户指令的方式;64.图18是本技术实施例提供的显示设备和远端设备均叠加图像素材的示意图;65.图19是本技术实施例提供的显示设备向远端设备分享图像素材的示意图;66.图20是本技术实施例提供的自适应的带宽调整机制的流程图。具体实施方式67.以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。68.目前,大屏显示设备正朝着智能化的方向发展,功能越来越丰富。一些大屏显示设备配备了视频采集设备,例如摄像头,使得用户可以使用大屏显示设备进行拍照、录像,甚至还可以使用大屏显示设备与其他的远端设备建立视频通话连接。69.本技术实施例中,大屏显示设备例如可以是智能电视、智慧屏、激光电视、大屏投影设备和基于显示屏的互动式白板设备等。远端设备例如可以是手机、平板电脑、大屏显示设备、笔记本电脑、台式个人电脑、工作站、带有显示屏的智能音箱、带有显示屏的智能闹钟、带有显示屏的电器设备(例如:智能冰箱)、增强现实设备(augmentedreality,ar)、虚拟现实设备(virtualreality,vr)和混合现实设备(mixedreality,mr)等。大屏显示设备和远端设备可以通过各类有线或者无线网络建立连接。70.图1是本技术实施例提供的一种大屏显示设备的结构示意图。如图1所示,大屏显示设备110配备有视频采集设备200,该视频采集设备200可以设置在大屏显示设备110的边框101之上(例如上方边框)。在不同结构的大屏显示设备110中,视频采集设备200可以固定设置于边框101之上,也可以相对于边框101活动设置。示例地,如图1所示,当视频采集设备200相对于边框101活动设置时,视频采集设备200可以为滑动伸缩结构。在一种实现方式中,当用户不使用视频采集设备200时,视频采集设备200可以隐藏在边框101之内,当用户使用视频采集设备200时,大屏显示设备110可以将视频采集设备200从边框101内弹出。其中,触发大屏显示设备110将视频采集设备200从边框101内弹出动作的场景例如可以包括:用户操作大屏显示设备110启动相机应用程序app、用户操作大屏显示设备110向远端设备发起视频通话请求、大屏显示设备110中的应用程序调用视频采集设备200等。用户操作大屏显示设备110可以通过遥控器操作、手势操作、语音操作、手机app操作等多种方式实现。或者,视频采集设备也可以设置在大屏显示设备内部,例如位于边框之内,或者位于大屏显示设备的屏幕后方。71.图2是本技术实施例提供的另一种大屏显示设备的结构示意图。如图2所示,大屏显示设备110和视频采集设备200可以是两个独立的设备,即视频采集设备200外接于大屏显示设备110。大屏显示设备110和视频采集设备200可以通过有线或者无线的方式建立通信连接。当用户使用大屏显示设备110进行拍照、摄像、或者与远端设备进行视频通话时,大屏显示设备110可以通过上述有线或者无线的通信连接控制视频采集设备200开启和关闭,视频采集设备200开启后采集到的视频也可以通过上述有线或者无线的通信连接传输给大屏显示设备110。72.下面对大屏显示设备与远端设备进行视频通话的场景进行示例性的说明。图3是大屏显示设备110与远端设备300进行视频通话的场景示意图。当大屏显示设备110或者远端设备300的任意一端用户希望与另一端用户进行视频通话时,可以操作其使用的设备向另一端用户发起视频通话请求,如果另一端用户在其使用的设备上接收视频通话请求,那么大屏显示设备110与远端设备300会建立视频通话连接。视频通话连接建立之后,大屏显示设备110会将视频采集设备采集到的视频发送给远端设备300进行显示,同时远端设备300也会将其视频采集设备采集到的视频发送给大屏显示设备110进行显示。目前,一些大屏显示设备110允许用户在视频通话时向视频采集设备采集到的视频中叠加一些相框、水印、动画和/或表情等图像素材102,使得这些图像素材102与视频采集设备采集到的视频一同显示在远端设备300的显示屏上,以增加视频通话的趣味性和互动性,提高视频通话体验。73.目前,向视频采集设备采集到的视频中叠加图像素材可以通过以下三种方式实现:74.第一种方式,图像素材的叠加行为在视频采集设备中实现。这种方式要求预先把用于叠加的图像素材内置到视频采集设备的内部存储中(例如:闪存flash中),当需要进行图像叠加时,视频采集设备首先将内置的图像素材叠加到其采集到的未经编码的视频帧中,然后对叠加有图像素材的视频帧进行编码,再发送给大屏显示设备。可以理解的是,由于视频采集设备的内部存储的容量十分有限,通常无法存放数量较多的图像素材,导致图像叠加的样式比较单一。示例地,表1提供了在argb8888色彩格式下的不同分辨率的图像素材的文件大小。如表1所示,一张720p分辨率的图像素材的大小为3.5mb(兆字节),如果视频采集设备的内部存储的容量为8mb,那么最多只能存储2张图像素材,如果视频采集设备的内部存储的容量为16mb,也最多只能存储4张图像素材。同理,一张1080p分辨率的图像素材的大小为7.9mb(兆字节),如果视频采集设备的内部存储的容量为8mb,那么最多只能存储1张图像素材,如果视频采集设备的内部存储的容量为16mb,也最多只能存储2张图像素材。并且,随着图像素材的分辨率进一步地提高,图像素材的大小会进一步增大,更难以存储在视频采集设备的内部存储中。另外,除了图像素材的数量受限以外,在视频采集设备中存储的图像素材也不便于灵活更换,综合导致了第一种方式的用户体验较差。75.分辨率素材大小(mb)编码格式720p3.5argb88881080p7.9argb88881440p14argb88882560p35argb888876.表177.第二种方式,图像素材的叠加行为在大屏显示设备中实现。具体来说,视频采集设备采集视频帧后,对视频帧进行编码,然后发送给大屏显示设备;大屏显示设备首先对接收到的视频帧进行解码,然后在解码后的视频帧中叠加图像素材,然后再对叠加有素材的视频帧进行编码,最后将编码后的视频帧发送给远端设备。由此可见,从大屏显示设备接收到视频帧,到大屏显示设备将视频帧发送给远端设备,期间经历了一次解码过程和一次编码过程,由于视频帧的解码和编码都需要消耗一定的时间才能完成,即存在一定的解码时延和编码时延,因此这种方式会增加大屏显示设备和远端设备的视频通话时延。示例地,表2示提供了目前一种大屏显示设备对h264格式的不同分辨率的视频帧进行解码和编码的时延。如表2所示,对于h264格式、分辨率为720p的视频帧,解码时延为5ms(毫秒)、编码时延为10ms,总时延为15ms;对于h264格式、分辨率为1080p的视频帧,解码时延为5ms、编码时延为15ms,总时延为20ms;对于分辨率为1440p或者2560p,其解码时延和编码时延会更长。78.分辨率解码时延(ms)编码时延(ms)总时延(ms)720p510151080p515201440p1520352560p30306079.表280.第三种方式,图像素材的叠加动作在远端设备中实现。具体来说,大屏显示设备除了将编码后的视频帧发送给远端设备之外,还将用于叠加的图像素材发送给远端设备。远端设备接收到视频帧和图像素材之后,首先对视频帧进行解码,然后将图像素材叠加到解码后的视频帧中,最后显示给用户。可以理解的是,由于大屏显示设备需要将图像素材单独发送给远端设备,因此会消耗额外的网络资源,并且添加图像素材的动作也会增加远端设备的功耗,导致远端设备出现发热和续航下降。81.为了解决上述向视频中叠加图像素材的各种方式所存在的问题,本技术实施例提供了一种视频叠加方法。该方法可以应用于配备了视频采集设备的显示设备,例如大屏显示设备。其中,视频采集设备既可以如图1所示包含在显示设备中,为显示设备的一部分,也可以如图2所示与显示设备成为两个独立的设备,通过有线或者无线的方式建立通信连接。82.下面对本技术实施例提供的视频叠加方法的各个实施例进行具体地解释说明。83.图4是本技术实施例提供的视频采集设备和显示设备的数据传输架构的示意图。84.如图4所示,视频采集设备例如可以包括光学镜头201、图像传感器(imagesensor)202、至少一个处理器203、接口模块204和存储器205。其中,光学镜头201有多个镜片组成,用于采集视野中的光源,将光源投影到图像传感器202。当显示设备100的用户(即本地用户)与远端设备的用户(即远端用户)进行视频通话时,本地用户一般会位于视频采集设备200前方,使得本地用户位于光学镜头201的取景视野内。图像传感器202包括几百万、几千万甚至上亿个感光像素,通过这些感光像素,图像传感器202能够将接收到的光源信号转换成电信号,并发送给处理器203。处理器203例如可以包括图像信号处理器(imagesignalprocessor,isp)和数字信号处理器(digitalsignalprocessor,dsp);其中,图像信号处理器isp能够对来自的图像传感器202的电信号的进行采样和处理,得到视频帧,图像信号处理器还可以对视频帧进行预处理,例如噪声去除、白平衡矫正、色彩矫正、伽马矫正、色彩空间转换等。数字信号传感器dsp可以用于对视频帧进行编码,以及对编码后的视频帧进行裁剪、缩放等后处理之后,通过接口模块204发送给显示设备100。85.如图4所示,显示设备100例如可以包括存储器103、处理器104、接口模块105和网络模块106。其中,处理器103可以用于存储图像素材,处理器104可以通过接口模块105接收视频采集设备200发送的视频帧,并通过网络模块106将接收到的视频帧发送给远端设备。86.本技术实施例中,接口模块105例如可以是通用串行总线(universalserialbus,usb)接口。在物理形态上,接口模块105例如可以是:usb-type-a接口、usb-type-b接口、usb-type-c接口、usb-micro-b接口等。在接口标准上,接口模块105例如可以是usb1.0接口、usb2.0接口、usb3.0接口等。本技术实施例对接口模块105的物理形态和接口标准不做具体限定。87.如图4所示,视频采集设备200和显示设备100可以通过一根连接两端接口模块的usb传输线400建立基于物理链路的数据连接。并且,基于该usb连接,本技术实施例在视频采集设备200和显示设备100之间建立了两条虚拟的传输协议通道,例如第一传输协议通道401和第二传输协议通道402,用于传输不同类型的数据。88.其中,第一传输协议通道401例如可以是远程网络驱动程序接口规范(remotenetworkdriverinterfacespecification,rndis)通道,用于传输非视频数据。rndis是一个通信协议,能够基于usb实现以太网连接,例如tcp/ip协议(tcp/ipprotocolsuite)连接等。基于tcp/ip协议,rndis可以使用socket编程接口,利用socket编程接口的轻量化、移植性好等优点,可以在视频采集设备200和显示设备100之间提供可靠、稳定、高效率的传输能力,适合非视频数据的传输。89.其中,第二传输协议通道402例如可以是usb视频规范(usbvideoclass,uvc)通道,用于传输视频数据。uvc是一种视频传输协议标准,能够使视频采集设备200在不需要安装任何驱动程序的情况下连接到显示设备100,并进行视频传输。90.图5是本技术实施例提供的视频叠加方法的流程图,该方法可以基于图4所示的数据传输架构实现。如图5所示,该方法可以包括以下步骤s101-步骤s105:91.步骤s101,显示设备响应于第一用户指令,向视频采集设备发送图像素材。92.步骤s101可以发生在显示设备与远端设备建立视频通话连接之后。具体实现中,如图6所示,在显示设备与远端设备建立视频通话连接之后,显示设备可以在其显示屏内显示远端设备采集到的视频图像,另外,显示设备还可以通过画中画108的方式,在显示屏的部分区域(例如,左上角、右上角等)显示视频采集设备采集到的视频图像。在本技术实施例中,显示设备显示画中画的尺寸可以根据远端设备显示屏的比例确定,例如:如果远端设备显示屏宽度和高度的比例为9:18.5,那么画中画的宽度和高度的比例就可以是9:18.5,如果远端设备显示屏宽度和高度的比例为16:9,那么画中画的宽度和高度的比例就可以是16:9。可以理解的是,画中画的尺寸也可以根据其他的方式确定,例如显示设备预设的尺寸或者本地用户设置的尺寸等,本技术实施例对此不作具体限定。93.除此之外,显示屏还可以在预定的区域显示至少一个可用图像素材或者这些可用图像素材的缩略图,以供用户浏览和选取;或者,在显示设备与远端设备建立视频通话连接之后,用户可以通过某些操作调出至少一个可用图像素材或者这些可用图像素材的缩略图。此时,如果用户想要在视频采集设备采集的视频帧中叠加图像素材,则可以通过遥控器操作、隔空手势操作或者语音控制等方式从上述可用图像素材中选取一个要叠加的图像素材,并触发用于指示显示设备向视频采集设备发送图像素材的第一用户指令,使得显示设备响应于第一用户指令,将用户选取的图像素材发送给视频采集设备。94.示例地,如图6所示,当用户使用遥控器501操作显示设备时,用户可以通过操作遥控器501的按键,使显示设备切换显示不同的缩略图107,并选中一个要叠加的图像素材的缩略图107;然后,用户可以点击遥控器501的确认(ok)键触发第一用户指令,使显示设备向视频采集设备发送图像素材。95.示例地,如图7所示,当用户使用隔空手势502操作显示设备时,用户可以通过隔空划动操作(例如:隔空左划、右划)使显示设备切换显示不同的缩略图107,并通过隔空点击操作(例如隔空单击操作)选中一个要叠加的图像素材的缩略图107;然后,用户可以通过特定的隔空点击(例如隔空双击操作)或者隔空划动操作(例如选中缩略图107向上划动等)触发第一用户指令,使显示设备将用户选中的图像素材发送给视频采集设备。96.示例地,如图8所示,当用户使用语音控制显示设备时,显示设备可以直接响应于用户的语音指令发送图像素材。例如,可用图像素材包括多个相框,当用户说“添加第一个相框”时,显示设备可以将第一个相框对应的图像素材发送给视频采集设备。这里需要补充说明的是,显示设备为了能够识别用户的语音指令,可以具备语音识别能力,语音识别能力可以通过在显示设备中内置人工智能ai模块实现,可以借助与显示设备对接的ai音箱实现,也可以借助云端ai服务器实现。其中,上述ai模块可以包括硬件模块,例如神经网络处理单元(neural-networkprocessingunit,npu),也可以包括软件模块,例如卷积神经网络(convolutionalneuralnetwork,cnn)、深度神经网络(deepneuralnetworks,dnn)等。需要说明的是,当用户正在使用显示设备进行视频通信时,可以通过某个特定的语音唤醒词或者某个特定的动作唤醒ai模块来进行语音控制。97.本技术实施例中,图像素材可以采用多种色彩格式,例如:argb色彩格式(一种由透明通道alpha、红色通道red、绿色通道green、蓝色通道blue组成的色彩格式,常用于32位位图的存储结构),argb色彩格式具体可以包括:argb8888(分别用8个bit来记录每个像素的a、r、g、b数据)、argb4444(分别用4个bit来记录每个像素的a、r、g、b数据)等。图像素材还可以采用多种文件格式,例如:位图bmp、图像互换格式(graphicsinterchangeformat,gif)、便携式网络图形(portablenetworkgraphics,png)等。98.本技术实施例中,图像素材可以预先在显示设备本地存储,当显示设备与远端设备建立视频通话连接时,显示设备直接将本地存储的图像素材的缩略图展示给用户。图像素材也可以存储在云端服务器,当显示设备与远端设备建立视频通话连接时,显示设备可以从云端服务器获取图像素材,并生成图像素材的缩略图展示给用户。图像素材还可以一部分预先保存在显示设备本地存储,另一部分在云端服务器存储,当显示设备与远端设备建立视频通话连接时,显示设备首先将本地存储的图像素材的缩略图展示给用户,如果用户要浏览更多的图像素材,显示设备再从云端服务器获取图像素材,并生成图像素材的缩略图展示给用户。99.本技术实施例中,当显示设备与视频采集设备通过usb连接建立有rndis通道和uvc通道时,显示设备和视频采集设备之间可以利用uvc通道在传输视频数据方面的优势,传输视频帧,利用rndis通道的可靠、稳定、高效率的优势,传输图像素材以及其他的视频帧以外的数据,例如维测数据(用户定位和处理异常或错误的数据)等,确保了高效传输图像素材的同时、又不影响视频帧的传输。100.步骤s102,视频采集设备接收到图像素材之后,将图像素材叠加到原始视频帧,得到叠加视频帧。101.本技术实施例中,图像素材可能是单帧素材,也可能是多帧素材。其中,单帧素材是指仅包含一帧图像的素材,例如相框素材;多帧素材是指包含多帧图像的素材,例如表情、动画素材等。102.一般来说,在显示设备与远端设备建立视频通话连接之后,视频采集设备会按照预设的视频分辨率和帧率不断地产生视频帧。如果视频帧率为30hz,意味着视频采集设备每秒钟会产生30个视频帧,如果视频帧率为60hz,意味着视频采集设备每秒钟会产生60个视频帧。并且通常情况下,视频采集设备采集的视频帧需要经过编码后,再发送给显示设备,为了区分编码前和编码后的视频帧,本技术实施例将编码前(即未经编码的)的视频帧称作原始视频帧,将编码后的视频帧称作编码视频帧。103.具体实现中,对于不同的素材,视频采集设备将其叠加到原始视频帧的方式可以不同。下面分别以相框素材(一般为单帧素材)和表情素材(一般为多帧素材)为例,对视频采集设备将图像素材叠加到原始视频帧的方式进行具体说明。104.图9是视频采集设备将相框素材叠加到原始视频帧的示意图。如图9所示,假设视频采集设备在t0时刻接收到相框素材,那么视频采集设备会将相框素材叠加到在t0时刻之后采集到的原始视频帧的每一帧中,直到视频通话结束或者视频采集设备接收到显示设备发送的用于指示其停止叠加图像素材的指示消息。105.表情素材一般是由多帧图像组成的,这些图像按照先后顺序排列,在播放时能够呈现出动态效果。常见的表情素材的文件格式例如gif等。一般来说,当用户想要在视频通话时向对方发送一个表情时,表情素材通常只需要播放一次,随即消失即可,不需要持续显示,这也是表情素材与相框素材显示方式的区别所在。106.图10是视频采集设备将表情素材叠加到原始视频帧的示意图。如图10所示,假设表情素材包括30帧图像e1-e30,当视频采集设备在t0时刻接收到表情素材时,视频采集设备可以将图像e1叠加到t0时刻之后采集到的第一个原始视频帧p1中,将图像e2叠加到t0时刻之后采集到的第二个原始视频帧p2中,将图像e3叠加到t0时刻之后采集到的第三个原始视频帧p3中,以此类推,直到将图像e30叠加到t0时刻采集到的第二个原始视频帧p30中。由此,在视频采集设备接收到表情素材之后,总共会有30个原始视频帧(p1-p30)被叠加了表情素材,形成30个叠加视频帧。这30个叠加视频帧能够播放出一个完整的表情动画,如果视频通话的帧率为30hz,那么表情动画的播放时长为1秒。需要说明的是,此处视频帧的数量为30帧仅作为举例说明,本技术并不限定表情素材叠加的图像帧数量。例如:30帧的表情素材可以按照时序叠加到若干个图像帧中,一个或多个图像帧中可以叠加相同的表情素材图像;如图像e1可以叠加到原始视频帧p1、p2中,也可以叠加到更多的原始视频帧中。107.可以理解的是,在一次视频通话中,用户可能会在显示设备中先后选择多个图像素材,在这种情况下,视频采集设备也需要根据用户的选择,在不同的时段内向原始视频帧中叠加不同的图像素材。为了实现这一目的,视频采集设备在已经接收到一个在先的图像素材的情况下,实时检测是否从显示设备接收到了新的图像素材;如果未接收到新的图像素材,视频采集设备会继续向原始视频帧中叠加在先的图像素材;如果接收到新的图像素材,视频采集设备会停止向原始视频帧叠加在先的图像素材,转而向原始视频帧叠加新的图像素材。108.步骤s103,视频采集设备对叠加视频帧进行编码,得到编码视频帧。109.图11是本技术实施例示出的从原始视频帧得到编码视频帧的示意图。如图11所示,假设视频采集设备在t0时刻接收到图像素材,那么,对于t0时刻之前产生的原始视频帧,视频采集设备会将它们进行预处理之后,直接编码得到编码视频帧;对于t0时刻之后产生的原始视频帧,视频采集设备会将它们进行预处理,然后,将图像素材叠加到原始视频帧,得到叠加视频帧,最后,将叠加视频帧进行编码,得到编码视频帧。110.本技术实施例可以使用多种编码方式得到编码视频帧,例如:高级视频编码h.264或者高效率视频编码(又称h.265)(highefficiencyvideocoding,hevc)等,此处不再赘述。111.另外,需要补充说明的是,本技术实施例在对叠加视频帧进行编码之前,可以首先对叠加视频帧进行后处理。后处理例如可以包括对叠加视频帧进行裁剪或者缩放等,后处理的参数可以根据图像素材的分辨率或者远端设备显示屏的分辨率确定。112.示例地,如图12所示,当图像素材是尺寸为1920×1080像素大小的相框时,如果叠加视频帧的尺寸大于1920×1080像素,那么叠加视频帧的一部分内容会位于相框之外,在这种情况下,视频采集设备可以将叠加视频帧的位于相框之外的部分裁剪掉,得到尺寸为1920×1080像素大小并且相框位于内容四周边缘的叠加视频帧。113.示例地,如图13所示,当叠加视频帧的尺为3840×2160像素(2160p)时,如果预先设置的视频通话质量是1080p,那么,视频采集设备可以对叠加视频帧进行缩放,将叠加视频帧从2160p缩小到1080p。缩小后的叠加视频帧及其编码产生的编码视频帧的字节量更小,能够降低显示设备与视频采集设备之间的usb带宽资源的占用率,并且能够降低编码视频帧在后续从显示设备向远端设备传输时的网络资源的占用率。114.步骤s104,视频采集设备将编码视频帧发送给显示设备。115.具体实现中,视频采集设备可以通过uvc通道将编码视频帧发送给显示设备,从而利用uvc通道在传输视频数据方面的优势,既能够实现编码视频帧的高效传输、又不影响rndis通道传输图像素材。116.步骤s105,显示设备接收到编码视频帧之后,将编码视频帧发送给远端设备。117.远端设备在接收到编码视频帧后,可以对编码视频帧进行解码,并渲染产生包含图像素材的视频图像,将视频图像远端设备的显示屏上显示。因此远端用户能够在视频通话过程中看到本地用户添加的图像素材。118.进一步如图14所示,当显示屏以画中画108的方式显示视频采集设备采集到的视频图像时,如果显示设备接收到了包含图像素材102的编码视频帧,显示设备除了将编码视频帧发送给远端设备300之外,还可以将编码视频帧进行解码和渲染,并在画中画108中显示,从而使得本地用户能够看到其选择的图像素材102被叠加后的显示效果,便于本地用户根据显示效果决定是否继续叠加该图像素材102或者更换其他的图像素材。119.本技术实施例提供的方法,图像素材的叠加过程在视频采集设备中完成,因此显示设备可以直接将编码视频帧发送给远端设备,不需要再对编码视频帧进行任何与叠加图像素材相关的操作,例如:解码、编码等,省去了解码和编码的时间,因此降低了显示设备和远端设备的视频通话时延,提高了用户使用体验。以表2为例,对于h264格式、分辨率为720p的视频质量,本技术实施例的方法能够降低大约15ms的时延;对于h264格式、分辨率为1080p的视频质量,本技术实施例的方法能够降低大约20ms的时延;对于h264格式、分辨率为1440p的视频质量,本技术实施例的方法能够降低大约35ms的时延;对于h264格式、分辨率为2560p的视频质量,本技术实施例的方法能够降低大约60ms的时延。可以看出,视频质量越高,采用本技术实施例的方法降低视频通话时延的效果越显著。除此之外,本技术实施例中的图像素材可以存储在显示设备内,便于灵活更换,并且不占用视频采集设备存储器空间。另外,本技术实施例中的显示设备不需要将图像素材单独发送给远端设备,因此也不会产生额外的网络资源消耗。120.需要补充说明的是,在一些视频通话场景中,当用户在视频中叠加了一个相框并且持续一段时间之后,有时会希望取消叠加这个相框。这时,用户可以通过遥控器操作、隔空手势操作或者语音控制等方式,对显示设备触发第二用户指令。显示设备可以响应于第一用户指令,通过rndis通道向视频采集设备发送一个指示消息,该指示消息用于指示视频采集设备停止将图像素材叠加到原始视频帧。121.示例地,如图15所示,当用户使用遥控器501操作显示设备时,用户可以操作遥控器的方向键选择显示器画面中的“关闭相框”图标109;然后,用户可以点击遥控器的确认(ok)键以触发第二用户指令,使显示设备向视频采集设备发送指示消息。122.示例地,如图16所示,当用户使用隔空手势502操作显示设备时,用户可以通过隔空划动操作(例如:隔空左划、右划)选择显示器画面中的“关闭相框”图标109;然后,用户可以通过特定的隔空点击(例如隔空双击操作)或者隔空划动操作(例如选中缩略图向上划动等)触发第二用户指令,使显示设备向视频采集设备发送指示消息。123.示例地,如图17所示,当用户使用语音控制显示设备时,显示设备可以直接响应于用户的语音指令向视频采集设备发送指示消息。例如:当用户说“关闭相框”时,显示设备向视频采集设备发送指示消息。124.由此,当用户在视频中叠加了图像素材之后,用户可以随时取消叠加图像素材,灵活方便,提升用户体验。125.在一些实施例中,当本地用户在显示设备中选择了一个图像素材并且触发第一用户指令之后,显示设备还可以将图像素材发送给远端设备,使得远端设备也可以在其采集到的视频图像中叠加图像素材,然后发送给显示设备进行显示。这样,如图18所示,双方用户就都可以看到对方的叠加有图像素材的视频图像。126.作为一种可选择的实现方式,如图19所示,当本地用户在显示设备中选择了一个图像素材并且触发第一用户指令之后,显示设备可以在显示屏弹出用于询问用户是否将图像素材推荐给远端用户的对话框,如图19(a)所示。用户可以通过遥控器操作、隔空手势操作或者语音控制等方式选择“是”或者“否”的选项;如果用户选择了“否”,则对话框关闭,显示设备不会向远端用户推荐图像素材;如果用户选择了“是”,则对话框关闭,显示设备向远端设备发送推荐图像素材的消息,该消息例如可以包含图像素材的缩略图。远端设备在接收到显示设备的推荐图像素材的消息之后,可以显示带有该图像缩略图的对话框,并通过该对话框询问远端用户是否要体验一下这个图像素材,如图19(b)所示;如果用户选择“不体验”,则远端设备关闭对话框,并且不会在采集到的视频图像中叠加图像素材;如果用户选择“体验一下”,则远端设备关闭对话框,并且向显示设备请求图像素材的文件,远端设备在接收到显示设备发送的图像素材文件后,将图像素材叠加到其采集到的视频图像中。127.作为另一种可选择的实现方式,当本地用户在显示设备中选择了一个图像素材并且触发第一用户指令之后,显示设备也可以直接向远端设备发送推荐图像素材的消息,而不需要用户进行其他操作。128.可以理解的是,上述用于使双方用户就都可以看到对方的叠加有图像素材的视频图像的实现方式仅仅是本技术实施例示出的一部分实现方式,而不是全部的实现方式,能够在此处应用的设计和构思均没有超出本技术实施例的保护范围。129.本技术实施例的方法还提供了一种自适应的带宽调整机制,能够合理地为第一传输协议通道和第二传输协议通道分配usb带宽资源,提高usb带宽利用率。130.通常,usb的带宽资源都是有限的,例如:usb2.0协议理论上的最大传输带宽为60mb/s,但是实际应用中,受到数据传输协议和编码方式的影响,实际能够达到的最大传输带宽仅为30mb/s;而usb3.0协议虽然能够达到更高的传输带宽,但是受到视频采集设备和显示设备的存储器读写性能等因素的影响,其实际能够达到的最大带宽也受到限制。131.一般来说,基于usb协议有限的带宽资源,显示设备可以将一部分带宽资源分配给第一传输协议通道,将另一部分带宽资源分配给第二传输协议通道。以最大传输带宽为30mb/s为例,当视频通话质量为1080p@30hz时,显示设备可以为第二传输协议通道分配4mb/s的带宽资源;当视频通话质量为1080p@60hz时,显示设备可以为第二传输协议通道分配10mb/s的带宽资源;当视频通话质量为1440p@30hz时,显示设备可以为第二传输协议通道分配15mb/s的带宽资源;当视频通话质量为2560p@30hz时,显示设备可以为第二传输协议通道分配25mb/s的带宽资源;其余带宽资源则可以分配给第一传输协议通道。然而,当显示设备未向视频采集设备发送图像素材时,第一传输协议通道上仅有少量非视频数据传输(例如维测数据)或者无数据传输,这就导致了usb的带宽资源出现了浪费。另外,当视频采集设备向显示设备发送图像素材时,如果分配给第一传输协议通道带宽资源过少,还会导致图像素材传输时间过长,使图像素材的显示出现明显的延迟。132.为了解决上述问题,本技术实施例提供的自适应的带宽调整机制如图20所示可以包括步骤s201-步骤s205。133.在步骤s201中,显示设备可以实时检测第一传输协议通道的数据流量。134.在步骤s202中,显示设备根据检测到的数据流量和usb的总带宽(即实际能够达到的最大传输带宽)确定第一传输协议通道和第二传输协议通道的可用带宽资源。135.作为一种可选择的实现方式,当第一传输协议通道为rndis通道时,显示设备可以对usb链路上的数据流量进行数据头head分析,例如分析数据头中的协议版本号等,以识别出tcp/ip协议的流量,tcp/ip协议的流量即为第一传输协议通道的数据流量,其他未识别的流量即为第二传输协议通道的数据流量。数据头分析的可以在显示设备的驱动层进行,例如,当一个数据包来临时,驱动层可以尝试对数据包的数据头进行协议版本号解析,如果能够解析到一个协议版本号,例如ipv4的1000,则说明这个数据包属于在第一传输协议通道传输的tcp/ip协议的流量。136.作为一种可选择的实现方式,可以构建流量模型来识别第一传输协议通道和第二传输协议通道的数据流量。其中,流量模型可以神经网络模型,例如卷积神经网络(convolutionalneuralnetwork,cnn)、深度神经网络(deepneuralnetworks,dnn)、支持向量机(supportvectormachine,svm)等。例如,显示设备内可以构建用于流量识别的卷积神经网络cnn,并且使用大量已标注的数据对(a,z)对卷积神经网络cnn进行训练,使其具备识别未知流量类型的能力。其中,数据对(a,z)中的a表示已知类型的流量段,z是流量段a的标注结果,在训练时,以a作为卷积神经网络cnn的输a,以z作为神经网络模型的输入,以训练卷积神经网络cnn的内部参数。需要补充说明的是,为了卷积神经网络cnn得到归一化的分类结果,卷积神经网络cnn在输出端还可以连接池化层pooling和归一化指数函数层softmax等,这些连接方式属于构建神经网络模型的一般方式,本技术实施例此处不再赘述。137.进一步地,显示设备在检测到第一传输协议通道的数据流量较小时,可以将usb的大部分带宽资源分配给第一传输协议通道,以保证视频帧的流畅传输。例如,假设usb链路实际能够达到的最大传输带宽为30mb/s,当第一传输协议通道的数据流量小于256kb/s时,显示设备可以为第一传输协议通道分配1mb/s的可用带宽,为第二传输协议通道分配其余29mb/s的可用带宽;当第一传输协议通道的数据流量在短时间内出现激增,例如达到10mb/s时,说明第一传输协议通道正在传输图像素材,显示设备可以为第一传输协议通道分配15mb/s的可用带宽,为第二传输协议通道分配其余15mb/s的可用带宽,以缩短图像素材的传输时长,降低显示设备的响应延时。138.在步骤s203中,显示设备还可以根据第二传输协议通道的可用带宽资源动态确定叠加视频帧的编码参数,从而改变编码视频帧在传输时消耗的数据流量。例如,当第二传输协议通道的可用带宽为29mb/s时,显示设备确定叠加视频帧的编码参数为1080p@60hz,甚至更高,例如1440p@30hz、2560p@30hz等;当第二传输协议通道的可用带宽为15mb/s时,显示设备确定叠加视频帧的编码参数为1080p@60hz,甚至更低,例如1080p@30hz、720p@30hz等。139.在步骤s204中,显示设备在确定编码参数之后,可以通过第一传输协议通道将编码参数发送给视频采集设备。140.在步骤s205中,视频采集设备根据编码参数对叠加视频帧进行编码,得到编码视频帧。141.可以理解的是,采用不同编码参数得到的编码视频帧的字节大小不同,在传输时产生的数据流量也不同,对第二传输协议通道的可用带宽的需求也不同。据此,本技术实施例根据第二传输协议通道的可用带宽的大小,动态调整编码参数,使得第二传输协议通道的可用带宽始终能够满足传输编码视频帧的需求,提高带宽资源利用率,并且保证视频通话不卡顿。142.上述本技术提供的实施例中,从显示设备本身、视频采集设备以及从显示设备和视频采集设备之间交互的角度对本技术提供的视频叠加方法的各方案进行了介绍。可以理解的是,上述显示设备和视频采集设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的方法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。143.本技术实施例还提供了一种电子设备,该电子设备可以包括图4所示的显示设备100和视频采集设备200,其中,显示设备100用于响应于第一用户指令,向视频采集设备200发送图像素材;视频采集设备200用于将接收到的图像素材叠加到原始视频帧,得到叠加视频帧,原始视频帧包括视频采集设备200采集到的未经编码的视频帧;视频采集设备200还用于对叠加视频帧进行编码,得到编码视频帧;视频采集设备200还用于将编码视频帧发送给显示设备100。144.本技术实施例还提供了另一种电子设备,该电子设备例如可以是图4所示的显示设备100。其中,接口模块105用于与视频采集设备200实现数据传输,例如向视频采集设备200发送图像素材,以及,接收视频采集设备200发送的编码视频帧。存储器103用于存储图像素材,以及存储计算机程序代码,该计算机程序代码包括计算机指令;当处理器104执行计算机指令时,使显示设备执行上述各实施例中涉及的方法,例如:响应于第一用户指令,向视频采集设备发送图像素材;接收视频采集设备发送的编码视频帧,其中,编码视频帧是视频采集设备对叠加视频帧编码得到的,叠加视频帧是视频采集设备将图像素材叠加到原始视频帧中得到的,原始视频帧包括视频采集设备采集到的未经编码的视频帧。145.本技术实施例还提供了一种视频采集设备,例如图4所示的视频采集设备200。其中,接口模块204用于与显示设备100实现数据传输,例如接收显示设备100发送的图像素材,以及,将编码视频帧发送给显示设备100。存储器205用于存储计算机程序代码,该计算机程序代码包括计算机指令;当处理器203执行计算机指令时,使视频采集设备200执行上述各实施例中涉及的方法,例如:接收显示设备发送的图像素材;将图像素材叠加到原始视频帧,得到叠加视频帧,原始视频帧包括视频采集设备采集到的未经编码的视频帧;对叠加视频帧进行编码,得到编码视频帧;将编码视频帧发送给显示设备。146.本技术实施例还提供了一种视频叠加系统,该系统包括显示设备和视频采集设备。其中,显示设备用于响应于第一用户指令,向视频采集设备发送图像素材;视频采集设备用于接收到图像素材之后,将图像素材叠加到原始视频帧,得到叠加视频帧;视频采集设备还用于对叠加视频帧进行编码,得到编码视频帧;视频采集设备还用于将编码视频帧发送给显示设备;显示设备还用于接收到编码视频帧之后,将编码视频帧发送给远端设备。147.以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜