CN110850983B - 视频直播中的虚拟对象控制方法、装置和存储介质 - Google Patents
视频直播中的虚拟对象控制方法、装置和存储介质 Download PDFInfo
- Publication number
- CN110850983B CN110850983B CN201911104614.3A CN201911104614A CN110850983B CN 110850983 B CN110850983 B CN 110850983B CN 201911104614 A CN201911104614 A CN 201911104614A CN 110850983 B CN110850983 B CN 110850983B
- Authority
- CN
- China
- Prior art keywords
- virtual object
- terminal
- video stream
- live
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
Abstract
本申请涉及一种视频直播中的虚拟对象控制方法、装置和存储介质,所述方法包括:将第一终端在直播页面产生的直播视频流发送至第二终端;当满足虚拟对象协同直播的触发条件时,在所述直播页面展示虚拟对象,触发所述第二终端在播放所述直播视频流的观看页面同步展示所述虚拟对象;获取对于所述虚拟对象的操控指令,所述操控指令通过所述第一终端和所述第二终端中至少一者对于所述虚拟对象的互动触发;根据所述操控指令触发所述虚拟对象执行相应的交互动作,并触发所述第二终端执行所述交互动作。本申请提供的方案能够提高虚拟对象控制灵活性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种视频直播中的虚拟对象控制方法、装置和存储介质。
背景技术
随着计算机技术与网络技术的发展,视频直播成为一种热门的交互方式。越来越多的用户选择通过直播平台来观看视频直播,比如游戏直播、新闻直播等。为了提升直播效果,出现了虚拟对象代替主播进行视频直播的方式。虚拟对象可以在直播页面作出某种动作或发出某种声音等。
然而,传统技术中通常配置静态任务的方式来控制视频直播对应的虚拟对象,如此,在直播过程中无论直播实况如何,虚拟对象只能自顾自的执行预置任务,这样导致视频直播中的虚拟对象控制灵活性差。
发明内容
基于此,有必要针对视频直播中虚拟对象控制灵活性差的技术问题,提供一种视频直播中的虚拟对象控制方法、装置和存储介质。
一种视频直播中的虚拟对象控制方法,包括:
将第一终端在直播页面产生的直播视频流发送至第二终端;
当满足虚拟对象协同直播的触发条件时,在所述直播页面展示虚拟对象,触发所述第二终端在播放所述直播视频流的观看页面同步展示所述虚拟对象;
获取对于所述虚拟对象的操控指令,所述操控指令通过所述第一终端和所述第二终端中至少一者对于所述虚拟对象的互动触发;
根据所述操控指令触发所述虚拟对象执行相应的交互动作,并触发所述第二终端执行所述交互动作。
一种视频直播中的虚拟对象控制装置,包括:
视频直播模块,用于将第一终端在直播页面产生的直播视频流发送至第二终端;
协同直播触发模块,用于当满足虚拟对象协同直播的触发条件时,在所述直播页面展示虚拟对象,触发所述第二终端在播放所述直播视频流的观看页面同步展示所述虚拟对象;
虚拟对象操控模块,用于获取对于所述虚拟对象的操控指令,所述操控指令通过所述第一终端和所述第二终端中至少一者对于所述虚拟对象的互动触发;根据所述操控指令触发所述虚拟对象执行相应的交互动作,并触发所述第二终端执行所述交互动作。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述视频直播中的虚拟对象控制方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述视频直播中的虚拟对象控制的方法的步骤。
上述视频直播中的虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,在触发协同直播后,第一终端可以在直播过程实时感知自身以及第二终端分别与虚拟对象的互动实况,并根据这种互动实况生成不同的操控指令,进而可以基于不同操控指令触虚拟对象执行不同的交互动作,实现视频直播中虚拟对象的灵活控制。此外,直播视频流与用于触发虚拟对象执行不同交互动作的操控指令,在第一终端与第二终端之间独立传输,互不干扰,相比传统将虚拟对象执行交互动作的视频帧与直播视频流中视频帧合并后传输的方式,可以减少数据传输量,进而提高虚拟对象控制及时性。
一种视频直播中的虚拟对象控制方法,包括:
将来自于第一终端的直播视频流展示在第二终端的观看页面;
当满足虚拟对象协同直播的触发条件时,在所述观看页面展示虚拟对象;所述虚拟对象同步展示于所述第一终端;
获取对于所述虚拟对象的操控指令,所述操控指令通过所述第一终端和所述第二终端中至少一者对于所述虚拟对象的互动触发;
根据所述操控指令触发所述虚拟对象执行相应的交互动作;所述虚拟对象在所述第一终端同步执行所述交互动作。
一种视频直播中的虚拟对象控制装置,包括:
视频直播模块,用于将来自于第一终端的直播视频流展示在第二终端的观看页面;
虚拟对象展示模块,用于当满足虚拟对象协同直播的触发条件时,在所述观看页面展示虚拟对象;所述虚拟对象同步展示于所述第一终端;
虚拟对象操控模块,用于获取对于所述虚拟对象的操控指令,所述操控指令通过所述第一终端和所述第二终端中至少一者对于所述虚拟对象的互动触发;根据所述操控指令触发所述虚拟对象执行相应的交互动作;所述虚拟对象在所述第一终端同步执行所述交互动作。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述视频直播中的虚拟对象控制方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述视频直播中的虚拟对象控制的方法的步骤。
上述视频直播中的虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,在触发协同直播后,第二终端可以在直播过程实时感知自身以及第以一终端分别与虚拟对象的互动实况,并根据这种互动实况生成不同的操控指令,进而可以基于不同操控指令触虚拟对象执行不同的交互动作,实现视频直播中虚拟对象的灵活控制。此外,直播视频流与用于触发虚拟对象执行不同交互动作的操控指令,在第一终端与第二终端之间独立传输,互不干扰,相比传统将虚拟对象执行交互动作的视频帧与直播视频流中视频帧合并后传输的方式,可以减少数据传输量,进而提高虚拟对象控制及时性。
附图说明
图1为一个实施例中视频直播中的虚拟对象控制方法的应用环境图;
图2为一个实施例中视频直播中的虚拟对象控制方法的流程示意图;
图3为一个实施例中触发协同直播的页面示意图;
图4a为一个实施例中展示有虚拟对象的直播页面的页面示意图;
图4b为一个实施例中展示有虚拟对象的直播页面的页面示意图;
图5a为一个实施例中将用户头像与虚拟对象进行合体的示意图;
图5b为另一个实施例中将用户头像与虚拟对象进行合体的示意图;
图6为一个实施例中绘制并渲染三维的虚拟对象的原理示意图;
图7为一个实施例中用于对三维模型进行裁剪处理的裁剪空间的示意图;
图8为一个具体的实施例中视频直播中的虚拟对象控制方法的流程示意图;
图9为另一个实施例中视频直播中的虚拟对象控制方法的流程示意图;
图10a为一个实施例中视频直播中的虚拟对象控制方法的时序图;
图10b为一个实施例中视频直播中的虚拟对象控制方法的时序图;
图11为另一个具体的实施例中视频直播中的虚拟对象控制方法的流程示意图;
图12为一个实施例中视频直播中的虚拟对象控制装置的结构框图;
图13为另一个实施例中视频直播中的虚拟对象控制装置的结构框图;
图14为又一个实施例中视频直播中的虚拟对象控制装置的结构框图;
图15为一个实施例中计算机设备的结构框图;
图16为另一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
语音技术(Speech Technology)的关键技术有自动语音识别技术(ASR)和语音合成技术(TTS)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
自动驾驶技术通常包括高精地图、环境感知、行为决策、路径规划、运动控制等技术,自定驾驶技术有着广泛的应用前景,
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的方案涉及人工智能的计算机视觉、机器学习、语音识别、自然语言处理等技术,具体通过如下实施例进行说明:
图1为一个实施例中视频直播中的虚拟对象控制方法的应用环境图。参照图1,该视频直播中的虚拟对象控制方法应用于视频直播中的虚拟对象控制系统。该视频直播中的虚拟对象控制系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110包括第一终端和第二终端,第一终端如110(a),第二终端如110(b)和110(c)。终端110可运行有用于视频直播的应用程序(以下简称“直播应用”)。服务器120可以是用于与终端110上运行的直播应用通信的应用服务器。第一终端110(a)基于直播应用采集直播视频流,并通过服务器120将直播视频流转发至第二终端110(b)和第二终端110(c)。第一终端110(a)在直播页面播放直播视频流。第二终端110(b)和第二终端110(c)在观看页面播放直播视频流。第一终端110(a)还用于执行视频直播中的虚拟对象控制方法对直播页面以及观看页面所展示的虚拟对象进行控制。终端110具有接入互联网的功能,具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图2所示,在一个实施例中,提供了一种视频直播中的虚拟对象控制方法。本实施例主要以该方法应用于上述图1中的第一终端110(a)来举例说明。参照图2,该视频直播中的虚拟对象控制方法具体包括如下步骤:
S202,将第一终端在直播页面产生的直播视频流发送至第二终端。
其中,直播是指通过第一终端采集直播数据,经过视频编码压缩等一系列处理后转换为可观看可传输的视频流,输出给第一终端的技术。直播页面是指第一终端基于直播应用所展示的用于播放直播视频流的页面。下文提及的观看页面是指第二终端基于直播应用所展示的用于播放直播视频流的页面。
直播视频流是进行连续视频直播所需要的数据流。可以理解,视频通常由画面和/或声音等组成的。画面属于视频帧,声音则属于音频帧。参数直播的目标对象包括第一用户对象和第二用户对象。第一用户对象是产生直播视频流的用户对象,如主播等。第二用户对象是指观看直播视频流的用户对象,如观众等。
具体地,当第一用户对象在第一终端触发了视频直播时,第一终端可以通过内置或者外部连接的摄像头在采集图像序列形成直播视频流,在直播页面播放所产生的直播视频流,并将直播视频流实时推送至服务器。这样,服务器可以将直播视频流的直播标识推送至第二终端。直播标识具体可以是基于直播视频流中单个视频帧形成的视频封面等。如此,第二用户对象可以通过第二终端从服务器拉取实时产生的直播视频流,在观看页面展示直播视频流进行观看。如此,第一终端、服务器与第二终端之间形成通信链路。
在一个实施例中,直播视频流可以是第一终端通过内置或者外部连接的摄像头从现实场景中采集图像序列形成的视频流。比如演唱会直播或者竞技比赛直播等。直播视频流也可以是第一终端通过内置或者外部连接的摄像头录制第一终端屏幕展示画面而形成的视频流。比如游戏直播或者音视频文件直播等。直播视频流还可以是第一终端从现实场景中采集图像序列,并录制第一终端屏幕展示画面形成的视频流。比如包括主播画面的游戏直播或音视频文件直播等。
S204,当满足虚拟对象协同直播的触发条件时,在直播页面展示虚拟对象,触发第二终端在播放直播视频流的观看页面同步展示虚拟对象。
其中,虚拟对象是指计算机设备可操作的数字化对象,可以展示在第一终端的直播页面和第二终端的观看页面。虚拟对象具体可以是基于3D技术渲染得到的三维模型。直播应用可以预置多种虚拟对象供第一用户对象进行选择。不同的虚拟对象可以具有不同的外貌形象,具体可以是小狗、企鹅等动物形象,也可以是具有不同年龄、性别、职业、性格等属性的人物形象。第一用户对象可以通过设定不同的属性条件来选定虚拟对象,还可以在选定一个虚拟对象后对该虚拟对象的其他属性信息进一步配置。
协同直播是指虚拟对象在线辅助第一用户对象进行直播的视频直播模式,具体包括虚拟对象和第一用户对象共同完成直播和虚拟对象单独完成直播两种模式。第一用户对象可以根据需求在两种协同直播模式之间自由切换。协同直播的触发条件是指能够触发进入协同直播模式的操作或指令。
在一个实施例中,协同直播的触发条件具体可以是第一用户对象在第一终端基于直播应用的触发操作。触发操作具体可以是触摸操作、光标操作、按键操作或者语音操作。参考图3,图3示出了一个实施例中触发协同直播的页面示意图。如图3所示,基于直播应用展示的视频直播入口页面中提供“虚拟对象与我一起直播”控件,第一用户对象可以通过触发“虚拟对象与我一起直播”的控件来触发协同直播。
在一个实施例中,协同直播的触发条件具体可以是计算机设备自动触发的数据指令。比如,根据第一用户对象预先设置的定时任务,在到达定时时间时计算机设备自动触发协同直播。再比如,计算机设备基于预训练的AI(Artificial Intelligence,人工智能)模型对当前的直播视频流进行解析,确定当前的直播氛围,并在直播氛围冷清时自动触发协同直播。
具体地,第一终端在符合协同直播的触发条件时生成协同直播的触发指令,并将协同直播的触发指令发送至服务器。服务器预存储了每种虚拟对象的多种协同视频流。协同视频流可以是虚拟对象处于静止状态或者执行某种动作的视频数据。不同的协同视频流中虚拟对象所出的状态或执行的动作不同,用于响应不同的操控指令。服务器获取相应虚拟对象用于响应协同直播触发指令的协同视频流,将所获取的协同视频流发送至通信链路上第一终端以及每个第二终端。第一终端在直播页面基于不同的图层同步播放第一用户对象产生的直播视频流和虚拟对象所对应的协同视频流。第二终端在观看页面基于不同的图层同步播放来自第一终端的直播视频流和虚拟对象所对应的协同视频流。
每个图层就像是一张含有文字、图像等元素的胶片,第一终端将一张张胶片按顺序叠放在一起,组合起来形成直播页面的最终效果。第一终端还可以在图层对直播页面上不同页面元素进行精确定位,还可以在一个图层中加入表格、插件或再嵌套其他图层等。在本申请提供的实施例中,虚拟对象对应的协同视频流所在图层位于第一用户对象产生的直播视频流所在图层之上。换句话说,协同视频流的视频帧可以对直播视频流的视频帧进行遮挡。参考图4a,图4a为一个实施例中展示有虚拟对象的直播页面的页面示意图。如图4a所示,虚拟对象402位于直播页面中第一用户对象404所在图层的上一图层。
在一个实施例中,服务器根据第一用户对象在第一终端的协同直播触发操作或者预设的协同直播触发逻辑判断是否需要触发协同直播,并在需要触发协同直播时生成协同直播的触发指令,并根据触发指令将相应虚拟对象的协同视频流发送至参与直播的第一终端和第二终端。
在一个实施例中,为了描述方便,可以将直播应用所对应应用服务器记作第一服务器,将用于存储协同视频流的服务器记作第二服务器。第一服务器用于将来自第一终端的直播视频流分发至参与直播的第二终端。第二服务器用于根据操控指令将预存储的协同视频流发送至参与直播的第一终端和第二终端。第一服务器与第二服务器可以是同一服务器也可以是不同服务器。
S206,获取对于虚拟对象的操控指令,操控指令通过第一终端和第二终端中至少一者对于虚拟对象的互动触发。
其中,操控指令是能够触发虚拟对象执行某种交互动作的数据指令。操控指令具体可以是第一终端或服务器根据第一用户对象与虚拟对象的第一互动信息或者第二用户对象与虚拟对象的第二互动信息生成的。第一互动信息可以是在直播视频流中第一用户对象的表情、动作、语音等信息。第二互动信息可以是第二用户对象基于观看页面与虚拟对象、第一用户对象或其他第二用户对象进行直播互动的信息,如弹幕信息、打赏信息等。
在一个实施例中,第一互动信息也可以是第一用户对象在直播页面对虚拟对象的属性的手动配置操作信息。虚拟对象的属性具体包括进行语音输出的音色、外观形态、在线状态等。其中,通过调整音色可以使虚拟对象实现多变声音;通过调整外观形态可以使虚拟对象实现多变衣服。在线状态包括隐身和在线,当虚拟对象处于隐身状态时,虚拟对象在直播页面消失。可以理解,第二互动信息也可以是第二用户对象在观看页面对虚拟对象的属性的手动配置操作信息。
在一个实施例中,第二互动信息还可以是观看视频流中第二用户对象的表情、动作或语音等信息。其中,观看视频流可以是第二终端通过内置或者外部连接的摄像头从现实场景中采集图像序列形成的视频流。观看视频流可以仅用作第一终端或服务器生成控制指令的依据,而不再参与直播的第一终端和第二终端之间转发播放。可以理解,采集得到观看视频流的第二终端也可以根据需求将观看视频流指定发送至第一终端、参与直播的其他第二终端或者未参与直播的其他终端,对此不做限制。
具体地,在触发协同直播后,第一用户对象与第二用户对象均可以与虚拟对象进行互动。第一终端将包含第一用户对象与虚拟对象的第一互动信息的直播视频流发送至服务器,服务器对直播视频流进行解析,提取其中的第一互动信息。第二终端将第二用户对象与虚拟对象的第二互动信息或者包含第二互动信息的观看视频流发送至服务器,服务器对观看视频流进行解析,提取其中的第二互动信息。服务器根据不同的第一互动信息或第二互动信息生成不同的操控指令。
在一个实施例中,操控指令可以是在第一终端生成,并由服务器分发至通信链路中的第二终端的。第一终端对直播视频流进行解析,提取第一用户对象与虚拟对象的第一互动信息,并根据第一互动信息生成相应的操控指令。第一终端接收第二终端通过服务器转发的与虚拟对象的第二互动信息,并根据第二互动信息生成相应的操控指令。
S208,根据操控指令触发虚拟对象执行相应的交互动作,并触发第二终端执行交互动作。
其中,交互动作是指虚拟对象对操控指令作出响应的结果。交互比如表情交互、肢体交互或语言交互等。表情交互、肢体交互或语言交互分别具体可以是虚拟对象调整肢体部位、面部或唇部的外观形态来实现动作执行的效果。基于不同的操控指令可以触发虚拟对象执行不同的交互动作。服务器预存储了虚拟对象执行每种交互动作的协同视频流。
具体地,第一终端在直播页面基于不同的图层叠加展示直播视频流和根据当前的操控指令拉取到的最新的协同视频流,基于协同视频流可以实现交互动作执行的效果。如图4a所示,虚拟对象(a)执行一种交互动作。参考图4b,图4b为一个实施例中展示有虚拟对象的直播页面的页面示意图。如图4b所示,虚拟对象402(b)在执行另外一种交互动作。第二终端在观看页面基于不同的图层叠加展示直播视频流和根据当前的操控指令拉取到的最新的协同视频流。基于不同的操控指令,虚拟对象能够自动从多个维度与参与直播的用户进行互动,有助于改善视频直播效果。
在一个实施例中,若在当前的操控指令尚未执行完毕时,接收到另一个新的操控指令,第一终端与第二终端基于新的操控指令所对应的协同视频流替换当前操控指令所对应的协同视频流,也就是说终止执行当前操控指令所对应的交互动作,转而执行新的操控指令所对应的交互动作。
在一个实施例中,若在当前的操控指令尚未执行完毕时,接收到另一个新的操控指令,第一终端与第二终端可以通过预置的多种操控指令与预先等级的对应关系来确定每种操控指令对应的优先等级,并比较新的操控指令与当前操作指令的优先等级。当新的操控指令的优先等级高于当前操控指令的优先等级时,第一终端与第二终端按照上述方式终止执行当前操控指令所对应的交互动作,转而执行新的操控指令所对应的交互动作。当新的操控指令的优先等级低于或等于当前操控指令的优先等级时,第一终端与第二终端继续执行当前的操控指令。
在一个实施例中,虚拟对象也可以不依赖预存储的协同视频流完成交互动作,而是通过映射直播视频流中第一用户对象的直播动作或者映射观看视频流中第二用户对象的观看动作而完成交互动作。具体地,服务器在实时采集的直播视频流和观看视频流中分别截图视频帧,并识别视频帧中目标对象各个躯体节点的位置,根据躯体节点的位置确定目标对象的目标动作,根据目标动作生成相应形态下的虚拟对象对应的三维模型。服务器将生成的与目标动作相对应的三维模型发送至参与直播的第一终端和第二终端。第一终端与第二终端分别动态生成的三维模型,实现触发虚拟独享执行相应交互动作的效果。
上述视频直播中的虚拟对象控制方法,在触发协同直播后,可以在直播过程实时感知第一终端和第二终端分别与虚拟对象的互动实况,并根据这种互动实况生成不同的操控指令,进而可以基于不同操控指令触虚拟对象执行不同的交互动作,实现视频直播中虚拟对象的灵活控制。此外,直播视频流与用于触发虚拟对象执行不同交互动作的操控指令,在第一终端与第二终端之间独立传输,互不干扰,相比传统将虚拟对象执行交互动作的视频帧与直播视频流中视频帧合并后传输的方式,可以减少数据传输量,进而提高虚拟对象控制及时性。
在一个实施例中,获取对于虚拟对象的操控指令包括:在直播视频流和来自第二终端的观看视频流中至少一者截取视频帧;识别视频帧中目标对象的表情和动作;当目标对象的表情与预设表情相匹配,或目标对象的动作与预设动作相匹配时,触发生成与相匹配的预设表情或预设动作所对应的操控指令。
其中,目标对象是指视频帧中需要进行表情或动作识别的对象。可以理解,在直播视频流中截取的视频帧中的目标对象是指第一用户对象,在观看视频流中截取的视频帧中的目标对象是指第二用户对象。一个视频帧中目标对象的数量可以是一个或多个。在虚拟对象单独直播的模式下,在直播视频流中截取的视频帧中可能并不包含目标对象。
目标对象的表情是目标对象在视频帧中所呈现的表情,具体可以根据目标对象的眉毛、眼睛和嘴巴所呈现的面部神态而确定的情绪分类。比如,眼睛瞳孔尺寸变大、嘴巴上扬可以判定为“喜悦”的表情。预设表情是指预先设置的能够触发生成对应于虚拟对象的操控指令的表情类型,如高兴happy,伤心sad,惊讶surprise,害怕fear,生气anger,厌恶disgust,或中立neutral等。
目标对象的动作是目标对象在视频帧中所呈现的动作,具体可以包括目标对象的姿态所呈现的动作(比如,竖起大拇指)或根据目标对象的运动轨迹所体现的动作(比如,一只手左右挥动)。在一个实施例中,目标对象可以是第一用户对象或第二用户对象的身体部位,包括手部、脚部、腿、胳膊、头部和面部(眼睛、鼻子、嘴巴等)等部位中的至少一种。当目标对象包括两个及以上的部位时,目标对象的动作可以是包括两个及以上部位的动作这(比如,摇头且左右摆手,即为头部和手部这两个部位的动作组合)。预设动作是指预先设置的能够触发生成对应于虚拟对象的操作指令的动作类型。
具体地,计算机设备按照预设的第一时间频率在直播视频流中截取视频帧。当存在观看视频流时,计算机设备按照预设的第二时间频率在观看视频流中截图视频帧。截取视频帧的时间频率太大会造成对虚拟对象的互动实况感知滞后,导致虚拟对象控制实时性降低。截取视频帧的时间频率太小会增加计算机设备的数据处理负担,影响直播流畅性。时间频率应当综合考虑实时性和数据处理资源占用而合理设置,如1帧/秒。第一时间频率与第二时间频率可以相同,也可以不同。
计算机设备在截取的视频帧中进行目标对象的面部检测。面部检测具体可以采用OpenCV(一种跨平台计算机视觉库)中的Haar(哈尔)分类器实现。计算机设备基于OpenCV中的CvtColor(颜色空间转换函数)对截取的视频帧进行灰化处理,将灰化处理后的视频帧输入Haar分类器,检测得到视频帧中的人脸区域。计算机设备将视频帧中人脸区域的图像输入预训练的表情分类模型,确定目标对象的表情。计算机设备识别获取的视频帧中的目标对象;根据目标对象在相邻时间频率截取的视频帧中的位置变化,确定目标对象的动作。
进一步地,当目标对象的表情和动作中至少一者与预设表情或预设动作相匹配时,触发生成与相匹配的预设表情或预设动作所对应的操控指令。在一个实施例中,表情分类模型可以是卷积神经网络模型(Convolutional Neural Networks,CNN)。卷积神经网络模型包括输入层、卷积层、稠密层和输出层。输入层用于提取预处理后的训练样本的图像特征。预处理具体可以是基于cv2.cvtColor函数将从训练样本中裁剪出来的人脸图像转化为灰度图,并基于cv2.resize函数改变将灰度图转化为统一大小,如48x48像素。相比于原始RGB格式的训练样本图像,预处理后的人脸图像的数据量大大减小。输入层输出的图像特征可以是一个numpy数组。numpy数组传入卷积层,指定过滤层的数量作为超参数。过滤层随机生成权重。每个过滤层采用权值共享与输入的训练样本图像卷积生成特征图feature map。卷积层生成的特征图代表像素值的强度。池化(Pooling)是一种降低维度的技术,常用于一个或者多个卷积层之后。本实施例所采用的池化方法可以是MaxPooling2D。MaxPooling2D基于(2,2)滑动窗口计算特征图的最大像素值,通过池化可以降低图像的多个特征维度。稠密层(又称全联接层)输入大量输入特征和变换特征,通过联接层与训练权重相连。模型训练时权重前向传播,而误差是反向传播。反向传播起始与预测值和实际值的差值,计算所需的权重调整大小反向传回到每层。采用超参数调优手段(比如,学习率和网络密度)控制训练速度和架构的复杂度。随着输入更多的训练数据能够使得误差最小化。通常,神经网络层的越多,越能捕捉到足够的特征信号,但同时也会造成算法模型训练过拟合。本实施例采用dropout技术来防止训练模型过拟合。输出层采用softmax激励函数代替sigmoid函数,将输出每类表情的概率超过80%即确定为目标对象所展示的表情。
需要说明的是,上文的以及下文即将提及的计算机设备具体可以是第一终端也可以是服务器。如上文,操控指令的生成可以是由第一终端执行,也可以是由服务器执行。
上述实施例,基于视频流自动解析参与视频直播的各个用户对象的表情和动作,并根据表情和动作信息自动触发对虚拟对象的操控指令,使得参与视频直播的各个用户可以在无意识的情况下实现与虚拟对象之间的互动,相比基于刻意的互动操作才能触发操控虚拟对象,使虚拟对象可以更加灵活密切的配置参与直播的各个用户更好的完成直播。
在一个实施例中,识别视频帧中目标对象的表情和动作包括:识别视频帧中的目标对象;根据目标对象在相邻视频帧中的位置变化,确定目标对象的动作。
其中,相邻视频帧是截取时序相邻的视频帧。截取时序是视频帧被采集的时间先后顺序。可以理解,相邻视频帧是相邻的至少两个视频帧,可以是相邻的两个视频帧,也可以是两个以上相邻的视频帧,比如5个相邻的视频帧。
在一个实施例中,计算机设备可以提取截取的视频帧中包括的图像数据,从提取的图像数据中识别目标对象的特征数据,根据识别出的目标对象的特征数据确定视频帧中的目标对象。
在一个实施例中,根据目标对象在相邻视频帧中的位置变化,确定目标对象的动作包括:确定目标对象在所截取的视频帧中的位置;将目标对象在相邻视频帧中的位置进行比对,得到目标图像在相邻视频帧中的位置变化;计算机设备可以根据目标对象在相邻视频帧中的位置变化,确定目标对象的动作。
在一个实施例中,确定目标对象在所采集的视频帧中的位置包括:确定目标对象在视频帧的全局画面中所处的像素位置。将目标对象在相邻视频帧中的位置进行比对,得到目标图像在相邻视频帧中的位置变化包括:将目标对象在相邻视频帧中的像素位置进行比对,得到目标图像在相邻视频帧中的位置变化。可以理解,视频帧的全局画面,是视频帧的整体画面。
具体地,计算机设备可以根据目标对象在相邻视频帧中的位置变化,确定目标对象的动作。在一个实施例中,计算机设备可以根据目标对象在相邻视频帧中的位置变化,确定目标对象的运动轨迹,根据相应运动轨迹,确定目标对象的动作。比如,运动轨迹为左右来回移动的运动轨迹时,则确定目标对象的动作为左右来回移动。
上述实施例,根据目标对象在相邻视频帧中的位置变化,确定目标对象的动作,并不局限于单单通过姿态所表征的目标对象的动作,提高了目标对象的动作的灵活性、从而提高了弹幕内容调整的多样性。
在一个实施例中,获取对于虚拟对象的操控指令包括:在直播视频流和来自第二终端的观看视频流中至少一者提取音频帧;识别音频帧所对应语音文本中的关键词;当关键词属于预设控制词时,触发生成与控制词相应的操控指令。其中,预设控制词是预先设置的能够触发生成作用于虚拟对象的操控指令的关键词。不同的预设控制词能够触发生成不同的操控指令。预设控制词可以在第一用户对象在历史时段进行视频直播时所产生的语音信息或文本信息提取得到的。预设控制词可以是基于预训练的关键词提取模型对历史时段视频直播中的语义信息或文本信息进行语义分析提取得到的。
在一个实施例中,预设控制词可以是动态更新的。比如,仅基于当前时间之前最后一次视频直播所产生的语音信息或文本信息提取预设控制词,而再早之前的历史直播记录可能已经失效,及时删除失效的历史直播记录,不仅可以提高存储资源利用率,也可以提高预设控制词的有效性。如此,基于预设控制词可以实现视频直播内容记忆的功能。
具体地,计算机设备在直播视频流中提取音频帧。当存在观看视频流时,计算机设备在观看视频流中提取音频帧。计算机设备基于VAD(voiceactivity detection,语音活动性检测)技术在音频帧存在背景噪声的情况下正确分出语音段与非语音段。计算机设备基于预训练的长短期记忆网络(LSTM,Long Short-Term Memory)对音频帧中的语音段进行过滤,并将过滤后的音频帧输入DFCNN(Deep Fully Convolutional Neural Network,深度全序列卷积神经网络)模型,转换得到音频帧对应的语音文本。
在一个实施例中,为了充分利用相邻音频帧的帧内信息,可以采用LSTM网络进行时序分析,LSTM网络是对RNN(Recurrent Neural Network,循环神经网络)的改进,克服了RNN固有的梯度消失问题,实现了对序列中有用信息的长时记忆。考虑到LSTM擅长序列结构分析,DNN(Deep Neural Networks,深度神经网络)擅长特征提取与变换,本实施例将低层声学特征信息映射为更适于VAD检测的特征信息。针对VAD问题,本文提出了DNNGLSTM结构。不同于基于DNN的VAD模型,DNNGLSTM可以将语音逐帧提取的特征向量与标注看作长度为N的时间序列数据集,其中N是音频帧总帧数。由于LSTM是在时间上进行展开,是对一定时间长度的序列进行分析,因此对DNNGLSTM网络输入的特征数据做如下处理:
(t=t0+n×u,n=1,2,…).
其中,xt∈Rd表示d维音频特征向量,yt∈(0,1)表示当前帧为音频帧或非音频帧。DNNGLSTM网络的输出层可以是包括两个神经元的softmax层,根据当前音频帧为语音与非语音的后验概率,输出得到过滤后的语音段。将提取的语音端输入DFCNN,DFCNN基于深层次的卷积和池化层能够充分考虑语音信号的上下文信息,且可以在较短的时间内就可以得到识别结果,具有较好的实时性。目前能够取得较好的泛化能力,声学模型识别率能够达到90%。
进一步地,计算机设备在语音文本中提取关键词,并判断提取到的关键词是否属于预设控制词。当存在所提取的关键词属于预设控制词时,计算机设备根据所属的预设控制词生成相应的操控指令。关键词属于预设控制是指存在与所提取关键词相同或者语义相似的预设控制词。如此,基于预设控制此可以实现视频直播内容记忆的功能。
在一个实施例中,基于预设控制此还可以实现视频直播任务提醒的功能。比如,第一用户对象在上一次进行视频直播时提到“等下午四点钟我们进行一轮抽奖”,则对应的预设控制词可以包括相关联的一对关键词“四点钟”和“抽奖”。如此,可以生成一个虚拟对象的定时任务,待下午四点钟时到达定时时间,虚拟对象向第一用户对象和第二用户对象进行抽奖活动提醒。
在一个实施例中,除了自动提取的预设控制词,也可以支持用户对象对虚拟对象进行有意识控制。比如,第一用户对象可以通过在直播页面的消息录入区输入指向虚拟对象的指定标记的方式来触发对虚拟对象的操控。协助同一视频直播的虚拟对象可以是一个,也可以有多个,每个虚拟对象具有对应的虚拟对象标识。虚拟对象标识是唯一能够标识一个虚拟对象的信息,如编号或“企鹅助手”等昵称。指定标记是一种特殊的标记,用于标记参与视频直播中的虚拟对象。比如,指定标记具体可以是@标记,当第一用户对象通过第一终端选择“@”符号时,第一终端会调起当前参与该视频直播中的全部虚拟对象所对应的虚拟对象标识面板。当第一用户对象选中某一个或多个虚拟对象标识时,该虚拟对象标识所对应的虚拟对象即可认为是指定标记所指向的虚拟对象。第一终端检测到消息录入区中的操控信息包括指定标记、且指定标记指向虚拟对象时,生成对相应虚拟对象的操控指令。
上述实施例,基于视频流自动解析参与视频直播的各个用户对象的语音,并根据语音信息自动触发对虚拟对象的操控指令,使得参与视频直播的各个用户可以在无意识的情况下实现与虚拟对象之间的互动,相比基于刻意的互动操作才能触发操控虚拟对象,使虚拟对象可以更加灵活密切的配置参与直播的各个用户更好的完成直播。
在一个实施例中,获取对于虚拟对象的操控指令包括:在直播页面展示来自第二终端的弹幕信息;当弹幕信息与预存储的互动请求信息语义相似时,基于互动请求信息生成自动答复的操控指令。
其中,弹幕信息是第二用户对象所录入的、展示在直播页面及观看页面的评论,能够以滚动、停留甚至更多动作方式显示在页面中。互动请求信息是预先设定的能够触发作用于虚拟对象的操控指令的文本信息。可以理解,互动请求信息通常为可预料的高频出现的弹幕内容。比如,“主播,你年龄多少”、“下次直播是什么时候呀”、“哇,这次直播太精彩了,赞赞”等。
具体地,服务器接收用于当前视频直播的通信链路上每个第二终端发送的弹幕信息,并将弹幕信息传输至第一终端以及其他第二终端。服务器还对弹幕信息进行语义分析,判断弹幕信息与预存储的每个互动请求信息的语义相似度。当弹幕信息存在语义相似度超过阈值的互动请求信息时,表示该弹幕信息是能够触发与虚拟对象进行互动的弹幕信息,服务器基于该互动请求信息生成自动答复的操控指令。
在一个实施例中,计算机设备也可以预先训练机器学习模型,将弹幕信息对应的文本向量输入预先训练得到的机器学习模型中,当机器学习模型根据文本向量输出预设的互动请求信息时,则判定该弹幕信息能够触发与虚拟对象进行互动。其中,机器学习模型是预先根据弹幕语料进行机器学习训练得到的。
上述实施例,在播放直播视频和弹幕信息时,对弹幕信息进行分析,当发现符合条件的弹幕信息时,使第二用户对象直接基于弹幕信息即可与虚拟对象进行互动,提高了虚拟对象控制灵活性。
在一个实施例中,根据操控指令触发虚拟对象执行相应的交互动作包括:根据自动答复的操控指令,获取与互动请求信息关联的互动应答信息;触发虚拟对象执行语音播报互动应答信息的交互动作。
其中,互动答复信息是预先设定的用于答复互动请求信息的文本信息或音频信息。服务器预存储了多个互动请求信息以及每个互动请求信息对应的互动答复信息。互动请求信息与互动答复信息可以第一用户对象预先配置的一对问答对。比如,互动请求信息“主播,你年龄多少”对应的互动答复信息可以是“20岁哦”;互动请求信息“下次直播是什么时候呀”对应的互动答复信息可以是“明天晚上同一时间哈”;互动请求信息“哇,这次直播太精彩了,赞赞”对应的互动答复信息可以是“谢谢,那可以继续关注我们后续的直播呢”等。
具体地,服务器将自动答复的操控指令发送至通信链路中的第一终端和每个第二终端。自动答复的操控指令携带了与互动请求信息所对应的互动答复信息。虚拟对象可以以文本的方式回复相应弹幕信息,也可以以语音的方式答复相应弹幕。当以文本方式回复弹幕信息时,第一终端可以在直播页面展示互动答复信息,第二终端可以在观看页面展示互动答复信息。
当以语音方式回复弹幕信息时,自动答复的操控指令还携带了虚拟对象执行语音播报交互动作的协同视频流,第一终端在直播页面播放该协同视频流,并基于预先为虚拟对象配置的语音特征输出互动答复信息,实现由虚拟对象语音播报互动答复信息的效果。语音播报交互动作是指虚拟对象处于讲话状态时嘴巴张开和闭合的动作。第二终端在观看页面播放该协同视频流,并基于预先为虚拟对象配置的语音特征输出互动答复信息。
上述实施例,由虚拟对象代替人工自动发现并答复高频的弹幕内容,相比传统由第一用户对象逐一阅览弹幕信息并选择性对弹幕信息进行答复,不仅在减少人工负担的情况下提高弹幕信息回复效率,也增加了弹幕信息互动覆盖率,从而可以改善视频直播效果。
在一个实施例中,获取对于虚拟对象的操控指令包括:获取第二终端向第一终端进行资源转移的信息;获取资源转移的信息符合筛选条件的第二终端所对应用户的用户标识;基于用户标识生成打赏回馈的操控指令。
其中,资源包括虚拟物品以及实体物品,虚拟物品比如账户数值、积分或者电子代金券等。资源的主人可以通过社交网络等将资源转移至其他用户。在本申请的实施例中,第二用户对象可以将数值资源通过直播应用从自己的数值账户转移至第一用户对象对应的数值账户。比如,观众在直播过程中对主播进行“打赏”的行为。
资源转移的信息包括发起资源转移的第二用户对象的用户标识以及具体资源转移的账户数值大小。筛选条件是指能够触发虚拟对象进行打赏回馈的资源转移阈值条件,具体可以是“在目标时段转移的账户数值总和最大”或者“在目标时段转移的账户数值总和达到预设值”等。打赏回馈是指为了对打赏数值达到筛选条件的第二用户对象的感谢而触发虚拟对象执行交互动作。
具体地,服务器在直播过程中按照预设时间频率或者在直播结束时,对每个第二用户对象对应用户标识所对应的账户资源转移数值的总和进行统计,并判断统计结果是否符合筛选条件。当符合筛选条件时,服务器根据符合筛选条件的用户标识生成打赏回馈的操控指令。
上述实施例,基于预置的资源转移触发对虚拟对象的操控,使虚拟对象无需依赖人为的触发操作,虚拟对象即可及时感知直播实况进展,并根据感知到的直播进展自动进行直播互动,这种自动触发的互动机制,提高了虚拟对象控制灵活性。
在一个实施例中,根据操控指令触发虚拟对象执行相应的交互动作包括:根据打赏回馈的操控指令,在虚拟对象所在的展示区域划取合体区域;在虚拟对象所在图层的上层图层中与合体区域所对应的坐标位置处,展示筛选得到的用户标识。
其中,合体是指将两个或两个以上物体合并为一个物体的过程。在本申请的实施例中,合体是指将账户资源转移数值符合筛选条件的用户标识与虚拟对象重叠展示。用户标识可以是第二用户对象基于直播应用的用户账号、头像等。
虚拟对象所在的展示区域是指第一终端在直播页面区域中用于播放虚拟对象所对应协同视频流的区域。合体区域是指在虚拟对象所在的展示区域中用于展示用户标识的区域。
具体地,服务器将打赏回馈的操控指令发送至通信链路中的第一终端和每个第二终端。打赏回馈的操控指令携带了符合筛选条件的第二用户对象的用户标识以及虚拟对象执行打赏回馈交互动作的协同视频流。第一终端与第二终端分别在直播页面和观看页面基于三个不同的图层展示直播视频流、协同视频流和待打赏用户的用户标识。
为了描述方便,将从底层到顶层的三个图层分别称为第一图层、第二图层和第三图层。第一终端在底层的第一图层展示直播视频流,在第二图层中虚拟对象所在展示区域展示协同视频流,在第三图层合体区域展示待打赏第二用户对象的用户标识。比如,虚拟对象进行打赏回馈的交互动作为双手举起待打赏用户的用户头像,则对应的协同视频流中虚拟对象执行举起双手交互动作,合体区域为位于虚拟对象双手上方的区域。可以理解,也可以采用其他打赏回馈的方式,对此不做限制。
合体区域、虚拟对象所在展示区域以及直播页面区域在第一终端屏幕上的位置关系可以是包含、相交、相切和相离中的任意一种。比如,合体取悦可以签到在虚拟对象所在展示区域;虚拟对象所在展示区域可以嵌套在直播页面区域。合体区域在虚拟对象所在展示区域中的位置可以预先指定的。参考图5a,图5a示出了一个实施例中将用户头像与虚拟对象进行合体的示意图。在图5a中,用户头像与虚拟对象相离。参考图5b,图5b示出了另一个实施例中将用户头像与虚拟对象进行合体的示意图。在图5b中,用户头像与虚拟对象相交,且用户头像所在图层位于虚拟对象所在图层之上。
上述实施例,由虚拟对象代替人工自动对账户资源转移数值符合筛选条件的用户作出打赏反馈,提高直播互动效率。此外,通过将账户资源转移数值符合筛选条件的用户标识与虚拟对象合体的方式进行打赏反馈,可以提高视频直播的趣味性,进而可以改善视频直播效果。
在一个实施例中,上述视频直播中的虚拟对象控制方法还包括:获取虚拟对象在不同形态下的三维模型;确定虚拟对象在执行不同交互动作时所需三维模型的展示时序;根据所需三维模型的模型标识和展示时序,生成虚拟对象执行相应交互动作的协同视频流的视频索引;将每个视频索引分别与一种操控指令对应存储。
其中,虚拟对象可以是基于OpenGL ES(Open Graphics Library for EmbeddedSystems,嵌入式系统开放图形库)、Vulkan(一个跨平台的2D和3D绘图应用程序接口),Metal(一种渲染应用程序编程接口)等技术绘制的三维模型。虚拟对象的形态可以是虚拟对象在执行交互动作时对应三维模型所呈现的模型结构。因而,虚拟对象在执行不同交互动作时具有不同的形态。
具体地,计算机设备对预先绘制的每种形态的三维模型进行存储。将一个或多个三维模型对应的图像依次排列,并设定每个三维模型图像的展示时长即可生成得到虚拟对象执行一种交互动作的协同视频流。展示时序是指是指三维模型对应图像帧在协同视频流中全部视频帧中的排列顺序。展示时长是指三维模型对应图像帧的在协同视频流中展示的时间长度。每种形态的三维模型具有对应的模型标识。
计算机设备基于模型标识,以及设定的每种形态三维模型图像的展示时序和展示时长等信息,构建生成虚拟对象用于执行不同交互动作的协同视频流的视频索引。比如,基于A1、A2、A3、A4和A5五种三维模型对应的图像帧生成虚拟对象执行交互动作A的协同视频流的视频索引可以是:[A1,t1]、[A2,t2]、[A3,t3]、[A2,t4]、[A4,t5]和[A5,t6],其中,i(1≤i≤6)表示相应三维模型图像帧的展示时序,ti表示相应三维模型图像帧的展示时长。同一三维模型图像可以基于不同展示时序协同视频流中展示多次,比如[A2,t2]和[A2,t4]分别表示三维模型A2对应图像帧处于第二展示时序时的展示时长为t2,处于第四展示时序时的展示时长为t4。
根据协同视频流所执行交互动作与操控指令的对应关系,计算机设备将每种协同视频流的索引信息与操控指令对应存储。后续需要执行某种操控指令时,服务器根据该操控指令所对应视频索引,只需将预存储的视频索引所指向的三维模型和视频索引发送至参与直播的第一终端和第二终端,由第一终端和第二终端各自按照视频索引对三维模型进行渲染拼接,展示为协同视频流的效果即可。
上述实施例中,基于三维模型绘制实现虚拟对象,可以提高虚拟对象的真实性;如此,基于预存储的三维模型,以及根据模型标识和三维模型的展示时间信息生成的视频索引,可以动态生成用于响应不同操控指令的协同视频流。
在一个实施例中,根据操控指令触发虚拟对象执行相应的交互动作包括:根据操控指令所对应的视频索引,获取虚拟对象执行用于响应操控指令的交互动作所需的每个三维模型;按照视频索引记录的展示时序将所获取的每个三维模型平移旋转至观察空间;观察空间以采集直播视频流的虚拟摄像机所在位置为原点,以虚拟摄像机的拍摄方向为一维数据轴;根据虚拟摄像机的拍摄范围,对处于观察空间的每个三维模型进行裁剪;通过将裁剪后的每个三维模型投影在直播页面,在直播页面展示协同视频流。
其中,三维模型是虚拟对象的多边形表示。本申请的实施例中,第一终端采用OpenGL ES技术绘制不同形态的虚拟对象并将不同形态的虚拟对象渲染展示在直播页面,展示为协同视频流的效果。OpenGL ES技术能够很好的兼容不同的操作系统,如Android、iOS、Windows等,也可以很好的兼容不同终端类型。
具体地,服务器确定操控指令对应的视频索引,将视频索引以及视频索引所记录的每个模型标识对应的每个三维模型发送给参与直播的第一终端和第二终端。每个终端按照视频索引所记录的每个三维模型的展示时序和展示时长,对每个三维模型依次进行平移旋转及裁剪等处理后进行渲染展示。
参考图6,图6示出了一个实施例中绘制并渲染三维的虚拟对象的原理示意图。如图6所示,以第一终端为例,第一终端将第一展示时序的三维模型放置于局部空间。局部空间,又称物体空间,是以三维模型的中心点为原点的三维空间。后续对三维模型的所有位置调整都是基于局部空间的相对位置去调整的。
第一终端基于世界矩阵将第一展示时序的三维模型从局部空间平移旋转至世界空间中的某个位置上。在OpenGL中,世界空间是以第一用户对象眼睛为原点,以第一用户对象的视线方向为-z轴方向的三维空间。三维模型必须在第一用户对象的视野之内。
第一终端基于观察矩阵将第一展示时序的三维模型从世界空间平移旋转至观察空间中的某个位置上。在OpenGL中,观察空间是以虚拟摄像机为原点,以虚拟摄像机的图像采集方向为-z轴方向的三维空间。虚拟摄像机是直播应用中具有图像采集及渲染功能的组件。在三维模型定位之后,光源和材质决定了三维模型在直播页面的色调,而虚拟摄像机决定了三维模型的构图。世界矩阵与观察矩阵分别可以是基于OpenGL技术生成的模型矩阵。
第一终端基于投影变换矩阵将观察空间的三维模型投影变换(perspectiveprojection)至裁剪空间。世界矩阵、观察矩阵及投影变换矩阵分别可以是基于OpenGL技术生成的模型矩阵。裁剪空间是三维坐标均在指定范围内的三维空间。裁剪空间中三维坐标轴的坐标值取值范围可以是根据虚拟摄像机的拍摄范围确定的。在OpenGL中,虚拟摄像机的左右和上下方向上都有一定的拍摄角度(FOV),只有在这个拍摄角度范围内的三维模型,才可能被看到。任何在虚拟摄像机拍摄范围之外的三维模型均已被裁剪,所以第一用户对象看不到。
参考图7,图7示出了一个实施例中用于对三维模型进行裁剪处理的裁剪空间的示意图。如图7所示,h和w确定了虚拟摄像机上下左右方向的拍摄范围大小。通常可以设置上下左右方向的拍摄范围均为90°。为了方便计算,也可以设置一个近裁剪面和一个远裁剪面。比近裁剪面更近的三维模型被剔除,比远裁剪面更远的三维模型被剔除。将处于近裁剪面和远裁剪面之间的所有三维模型均映射到投影平面上,其他的三维模型均被裁剪。
第一终端通过将投影平面上的三维模型通过一一对应的方式映射到屏幕空间。屏幕空间,又称视口空间,是第一终端屏幕所在的二维空间。通过像素映射,实现在直播页面展示虚拟对象的效果。第一终端按照视频素银所记录的第一展示时序的三维模型的展示时长,在直播页面展示第一展示时序的三维模型。第一终端按照上述方式依次渲染其他展示时序的三维模型,实现在直播页面展示协同视频流的效果。第二终端按照相同的逻辑在观看页面动态渲染展示协同视频流。
上述实施例,每种三维模型只需预存储一份,即可根据视频索引构建得到不同的协同视频流,事实上,在动态生成不同协同视频流时实现了三维模型的复用,在节省存储资源的情况下,使虚拟对象可以从多种不同的维度自动进行直播互动,大大改善视频直播效果。
在一个具体的应用场景中,虚拟对象为虚拟宠物。主播在直播应用的助手端开启宠物助手按钮,在领养宠物页面可以设定宠物的名字性格年龄等基本信息,同时可设定宠物拥有的才艺和职业方向。在设定基本信息后,宠物会出现在主播的管理端页面,主播每次开启直播时,向主播提供一个“与宠物一起直播”的选项。当主播勾选了该选项时,在直播视频流中宠物将和主播一起进行直播,宠物可根据主播设定的文字自动回复观众的弹幕问题,也可以根据主播设定的才艺等级和音乐类型进行才艺表演和语音互动。观众在观看直播时,可以通过弹幕与主播或宠物互动,可以通过礼物打赏的形式来奖励宠物或要求宠物表演等。每天打赏排名最高的观众,可获得与宠物合体的机会,通过合体的形式来守护主播。
宠物主要通过主播的设定来执行自己的任务和目标,同时依赖主播给予自己才艺以及表演能力来成长。也就是说,宠物需要通过一定的门槛来领养。随着主播与宠物一起直播的时间越来越长,宠物本身也会进行升级和进化。变成拥有更多能力的宠物助手,进化后的宠物可解锁记忆,提醒,卖萌,隐身等能力。比如,1-10级的幼小宠物可解锁名字,性别或性格中的一项才艺;11-20级中型宠物可解锁多变声音和衣服两项才艺;21-30级中大宠物可解锁历史直播内容记忆,定时任务提醒,隐身等能力;31-36级高级宠物可单独代替主播开播,与观众互动等能力。
真实人物和虚拟宠物相结合的直播方式,丰富了直播的内容和样式,刷新了传统的单一类型直播;在提升主播直播的动力以及与直播应用的粘合度,增强主播与观众的情感联结,刺激观众打赏主播和观看直播行为的同时,大大提升了虚拟宠物控制灵活性。
在一个具体地实施例中,参考图8,该视频直播中的虚拟对象控制方法包括以下步骤:
S802,将第一终端在直播页面产生的直播视频流发送至第二终端。
S804,获取虚拟对象在不同形态下的三维模型。
S806,确定虚拟对象在执行不同交互动作时所需三维模型的展示时序。
S808,根据所需三维模型的模型标识和展示时序,生成虚拟对象执行相应交互动作的协同视频流的视频索引。
S810,将每个视频索引分别与一种操控指令对应存储。
S812,当满足虚拟对象协同直播的触发条件时,在直播页面展示虚拟对象,触发第二终端在播放直播视频流的观看页面同步展示虚拟对象。
S8142,在直播视频流和来自第二终端的观看视频流中至少一者截取视频帧。
S8144,识别视频帧中目标对象的表情。
S8146,根据目标对象在相邻视频帧中的位置变化,确定目标对象的动作。
S8148,当目标对象的表情与预设表情相匹配,或目标对象的动作与预设动作相匹配时,触发生成与相匹配的预设表情或预设动作所对应的操控指令。
S8162,在直播视频流和来自第二终端的观看视频流中至少一者提取音频帧。
S8164,识别音频帧所对应语音文本中的关键词。
S8166,当关键词属于预设控制词时触发生成与控制词相应的操控指令。
S8182,在直播页面展示来自第二终端的弹幕信息;
S8184,当弹幕信息与预存储的互动请求信息语义相似时,基于互动请求信息生成自动答复的操控指令。
S8202,获取第二终端向第一终端进行资源转移的信息;
S8204,获取资源转移的信息符合筛选条件的第二终端对应用户的用户标识。
S8206,基于用户标识生成打赏回馈的操控指令。
S8222,根据自动答复的操控指令获取与互动请求信息关联的互动应答信息。
S8224,触发虚拟对象执行语音播报互动应答信息的交互动作。
S8242,根据打赏回馈的操控指令在虚拟对象所在的展示区域划取合体区域。
S8244,在虚拟对象所在图层的上层图层中与合体区域所对应的坐标位置处,展示筛选得到的用户标识。
S8262,根据操控指令所对应的视频索引,获取虚拟对象执行用于响应操控指令的交互动作所需的每个三维模型。
S8264,按照视频索引记录的展示时序将所获取的每个三维模型平移旋转至观察空间;观察空间以采集直播视频流的虚拟摄像机所在位置为原点,以虚拟摄像机的拍摄方向为一维数据轴。
S8266,根据虚拟摄像机的拍摄范围,对处于观察空间的每个三维模型进行裁剪。
S8268,通过将裁剪后的每个三维模型投影在直播页面,在直播页面展示协同视频流。
上述实施例中,在触发协同直播后,第一终端可以在直播过程实时感知自身以及第二终端分别与虚拟对象的互动实况,并根据这种互动实况生成不同的操控指令,进而可以基于不同操控指令触虚拟对象执行不同的交互动作,实现视频直播中虚拟对象的灵活控制。此外,直播视频流与用于触发虚拟对象执行不同交互动作的操控指令,在第一终端与第二终端之间独立传输,互不干扰,相比传统将虚拟对象执行交互动作的视频帧与直播视频流中视频帧合并后传输的方式,可以减少数据传输量,进而提高虚拟对象控制及时性。
如图9所示,在一个实施例中,提供了一种视频直播中的虚拟对象控制方法。本实施例主要以该方法应用于上述图1中的第二终端110(b)或第二终端110(c)来举例说明。参照图8,该视频直播中的虚拟对象控制方法具体包括如下步骤:
S902,将来自于第一终端的直播视频流展示在第二终端的观看页面。
具体地,第二终端基于直播应用所展示的直播链接,可以接入某个视频直播的通信链路观看直播。第一终端将在直播页面产生的直播视频流通过服务器转发至接入通信链路的每个第二终端。第一终端将直播视频流分享至第二终端的过程可参考步骤S202的描述,在此不再赘述。
S904,当满足虚拟对象协同直播的触发条件时,在观看页面展示虚拟对象;虚拟对象同步展示于第一终端。
具体地,当达到虚拟对象协同直播的触发条件时,服务器生成协同直播的触发指令,将触发指令发送至通信链路中参与直播的第一终端和第二终端。触发指令携带了虚拟对象的协同视频流,第一终端在直播页面基于不同图层展示直播视频流和协同视频流,第二终端在观看页面基于不同图层展示直播视频和协同视频流。对于虚拟对象协同直播的触发过程可参考步骤S204的描述,在此不再赘述。
S906,获取对于虚拟对象的操控指令,操控指令通过第一终端和第二终端中至少一者对于虚拟对象的互动触发。
在一个实施例中,获取对于虚拟对象的操控指令包括:获取弹幕信息;将弹幕信息发送至服务器;接收服务器发送的在弹幕信息与预存储的互动请求信息语义相似时基于互动请求信息生成的操控指令。
在一个实施例中,获取对于虚拟对象的操控指令包括:第二终端获取与第一终端之间进行资源转移的信息;将资源转移的信息发送至服务器;接收服务器根据资源转移的信息符合筛选条件的第二终端所对应用户的用户标识生成打赏回馈的操控指令。
在一个实施例中,获取对于虚拟对象的操控指令包括:获取观看视频流;将观看视频流发送至服务器;接收服务器直播视频流和第二终端的观看视频流中至少一者生成的操控指令。服务器在直播视频流和来自第二终端的观看视频流中至少一者截取视频帧;识别视频帧中目标对象的表情和动作;当目标对象的表情与预设表情相匹配,或目标对象的动作与预设动作相匹配时,触发生成与相匹配的预设表情或预设动作所对应的操控指令。或者,服务器在直播视频流和观看视频流中至少一者提取音频帧;识别音频帧所对应语音文本中的关键词;当关键词属于预设控制词时,触发生成与控制词相应的操控指令。
S908,根据操控指令触发虚拟对象执行相应的交互动作;虚拟对象在第一终端同步执行交互动作。
在一个实施例中,根据操控指令触发虚拟对象执行相应的交互动作包括:根据自动答复的操控指令,获取与互动请求信息关联的互动应答信息;触发虚拟对象执行语音播报互动应答信息的交互动作。
在一个实施例中,根据操控指令触发虚拟对象执行相应的交互动作包括:根据打赏回馈的操控指令,在虚拟对象所在的展示区域划取合体区域;在虚拟对象所在图层的上层图层中与合体区域所对应的坐标位置处,展示筛选得到的用户标识。
在一个实施例中,根据操控指令触发虚拟对象执行相应的交互动作包括:根据操控指令,获取虚拟对象执行相应交互动作所需的每个三维模型;按照预设的展示时序对所获取的每个三维模型平移旋转及裁剪投影处理,得到虚拟对象执行相应交互动作的协同视频流;在观看页面基于不同的图层展示直播视频流和协同视频流。
上述视频直播中的虚拟对象控制方法,在触发协同直播后,第二终端可以在直播过程实时感知自身以及第以一终端分别与虚拟对象的互动实况,并根据这种互动实况生成不同的操控指令,进而可以基于不同操控指令触虚拟对象执行不同的交互动作,实现视频直播中虚拟对象的灵活控制。此外,直播视频流与用于触发虚拟对象执行不同交互动作的操控指令,在第一终端与第二终端之间独立传输,互不干扰,相比传统将虚拟对象执行交互动作的视频帧与直播视频流中视频帧合并后传输的方式,可以减少数据传输量,进而提高虚拟对象控制及时性。
参考图10a,图10a为一个实施例中视频直播中的虚拟对象控制方法的时序图。如图10a所示,第一用户对象开启直播,第一终端基于直播应用展示直播页面,并将采集的直播视频流通过服务器转发至申请观看直播的第二终端。当第一用户对象触发了协同直播之后,第一终端在直播页面展示虚拟对象,并通过服务器向观看直播的第二终端下发协同直播的触发指令。第二终端根据触发指令,在用于展示直播视频流的观看页面展示虚拟对象。第一终端基于直播视频流对第一用户对象的表情、动作及语音内容及时分析,并在分析结果符合操控条件时生成主动互动的操控指令。虚拟对象在第一终端直播页面基于预存储的协同视频流执行交互动作。虚拟对象在第二终端观看页面基于预存储的协同视频流执行交互动作。第二终端将第二用户对象在直播过程中输入的弹幕信息通过服务器发送至第一终端。第一终端基于弹幕信息生成自动回复的操控指令。虚拟对象在第一终端直播页面执行自动回复的交互动作,在第二终端观看页面执行自动回复的交互动作。服务器将各个第二用户对象在直播过程对第一用户对象的资源转移信息发送至第一终端。第一终端基于资源转移信息生成打赏回馈的操控指令。虚拟对象在第一终端直播页面执行打赏回馈的交互动作,在第二终端观看页面执行打赏回馈的交互动作。
参考图10b,图10b为一个实施例中视频直播中的虚拟对象控制方法的时序图。如图10b所示,第一用户对象开启直播,第一终端基于直播应用展示直播页面,并将采集的直播视频流通过服务器转发至申请观看直播的第二终端。服务器根据第一用户对象在第一终端的触发操作或预设的自动触发机制,当符合协同直播条件时候生成协同直播的触发指令,并将触发指令第一终端和第二终端。第一终端根据触发指令在直播页面展示虚拟对象。第二终端根据触发指令在用于展示直播视频流的观看页面展示虚拟对象。服务器基于直播视频流对第一用户对象的表情、动作及语音内容及时分析,并在分析结果符合操控条件时生成主动互动的操控指令。第一终端根据操控指令触发虚拟对象在直播页面基于预存储的协同视频流执行交互动作。第二终端根据操控指令触发虚拟对象在观看页面基于预存储的协同视频流执行交互动作。第二终端将第二用户对象在直播过程中输入的弹幕信息发送至服务器。服务器基于弹幕信息生成自动回复的操控指令。第一终端根据自动回复的操控指令触发虚拟对象在直播页面执行自动回复的交互动作。第二终端根据自动回复的操控指令触发虚拟对象在观看页面执行自动回复的交互动作。服务器对各个第二用户对象在直播过程对第一用户对象的资源转移信息发进行分析,生成打赏回馈的操控指令。第一终端根据打赏回馈的操控指令触发虚拟对象在直播页面执行打赏回馈的交互动作。第二终端根据打赏回馈的操控指令触发虚拟对象在观看页面执行打赏回馈的交互动作。
在一个具体地实施例中,参考图11,该视频直播中的虚拟对象控制方法包括以下步骤:
S1102,将来自于第一终端的直播视频流展示在第二终端的观看页面。
S1104,当满足虚拟对象协同直播的触发条件时,在观看页面展示虚拟对象;虚拟对象同步展示于第一终端。
S11062,获取弹幕信息。
S11064,将弹幕信息发送至服务器。
S11066,接收服务器发送的在弹幕信息与预存储的互动请求信息语义相似时基于互动请求信息生成的操控指令。
S11082,第二终端获取与第一终端之间进行资源转移的信息。
S11084,将资源转移的信息发送至服务器。
S11086,接收服务器根据资源转移的信息符合筛选条件的第二终端所对应用户的用户标识生成打赏回馈的操控指令。
S11102,获取观看视频流。
S11104,将观看视频流发送至服务器。
S11106,接收服务器直播视频流和第二终端的观看视频流中至少一者中截取的视频帧生成的操控指令;服务器识别视频帧中目标对象的表情和动作;当目标对象的表情与预设表情相匹配,或目标对象的动作与预设动作相匹配时,触发生成与相匹配的预设表情或预设动作所对应的操控指令。
S11122,接收服务器直播视频流和第二终端的观看视频流中至少一者中提取的音频帧生成的操控指令;服务器识别音频帧所对应语音文本中的关键词;当关键词属于预设控制词时,触发生成与控制词相应的操控指令。
S11142,根据自动答复的操控指令,获取与互动请求信息关联的互动应答信息。
S11144,触发虚拟对象执行语音播报互动应答信息的交互动作。
S11162,根据打赏回馈的操控指令,在虚拟对象所在的展示区域划取合体区域。
S11164,在虚拟对象所在图层的上层图层中与合体区域所对应的坐标位置处,展示筛选得到的用户标识。
S11182,根据操控指令,获取虚拟对象执行相应交互动作所需的每个三维模型。
S11184,按照预设的展示时序对所获取的每个三维模型平移旋转及裁剪投影处理,得到虚拟对象执行相应交互动作的协同视频流。
S11186,在观看页面基于不同的图层展示直播视频流和协同视频流;第一终端在直播页面基于不同的图层展示直播视频流和协同视频流。
上述实施例,在触发协同直播后,第二终端可以在直播过程实时感知自身以及第以一终端分别与虚拟对象的互动实况,并根据这种互动实况生成不同的操控指令,进而可以基于不同操控指令触虚拟对象执行不同的交互动作,实现视频直播中虚拟对象的灵活控制。此外,直播视频流与用于触发虚拟对象执行不同交互动作的操控指令,在第一终端与第二终端之间独立传输,互不干扰,相比传统将虚拟对象执行交互动作的视频帧与直播视频流中视频帧合并后传输的方式,可以减少数据传输量,进而提高虚拟对象控制及时性。
图2、8、9和11为一个实施例中视频直播中的虚拟对象控制方法的流程示意图。应该理解的是,虽然视频直播中的虚拟对象控制的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,视频直播中的虚拟对象控制中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图12所示,在一个实施例中,提供了视频直播中的虚拟对象控制装置1200,包括视频直播模块1202、协同直播触发模块1204和虚拟对象操控模块1206。
视频直播模块1202,用于将第一终端在直播页面产生的直播视频流发送至第二终端;
协同直播触发模块1204,用于当满足虚拟对象协同直播的触发条件时,在直播页面展示虚拟对象,触发第二终端在播放直播视频流的观看页面同步展示虚拟对象。
虚拟对象操控模块1206,用于获取对于虚拟对象的操控指令,操控指令通过第一终端和第二终端中至少一者对于虚拟对象的互动触发;根据操控指令触发虚拟对象执行相应的交互动作,并触发第二终端执行交互动作。
在一个实施例中,如图13所示,虚拟对象操控模块1206包括表情动作操控模块12062,用于在直播视频流和来自第二终端的观看视频流中至少一者截取视频帧;识别视频帧中目标对象的表情和动作;当目标对象的表情与预设表情相匹配,或目标对象的动作与预设动作相匹配时,触发生成与相匹配的预设表情或预设动作所对应的操控指令。
在一个实施例中,表情动作操控模块12062还用于识别视频帧中的目标对象;根据目标对象在相邻视频帧中的位置变化,确定目标对象的动作。
在一个实施例中,虚拟对象操控模块1206还包括语音操控模块12064,用于在直播视频流和来自第二终端的观看视频流中至少一者提取音频帧;识别音频帧所对应语音文本中的关键词;当关键词属于预设控制词时,触发生成与控制词相应的操控指令。
在一个实施例中,虚拟对象操控模块1206还包括弹幕信息互动模块12066,用于在直播页面展示来自第二终端的弹幕信息;当弹幕信息与预存储的互动请求信息语义相似时,基于互动请求信息生成自动答复的操控指令。
在一个实施例中,弹幕信息互动模块12066还用于根据自动答复的操控指令,获取与互动请求信息关联的互动应答信息;触发虚拟对象执行语音播报互动应答信息的交互动作。
在一个实施例中,虚拟对象操控模块1206还包括资源转移互动模块12068,用于获取第二终端向第一终端进行资源转移的信息;获取资源转移的信息符合筛选条件的第二终端所对应用户的用户标识;基于用户标识生成打赏回馈的操控指令。
在一个实施例中,资源转移互动模块12068还用于根据打赏回馈的操控指令,在虚拟对象所在的展示区域划取合体区域;在虚拟对象所在图层的上层图层中与合体区域所对应的坐标位置处,展示筛选得到的用户标识。
在一个实施例中,视频直播中的虚拟对象控制装置1200还包括视频索引生成模块1208,用于获取虚拟对象在不同形态下的三维模型;确定虚拟对象在执行不同交互动作时所需三维模型的展示时序;根据所需三维模型的模型标识和展示时序,生成虚拟对象执行相应交互动作的协同视频流的视频索将每个视频索引分别与一种操控指令对应存储。
在一个实施例中,虚拟对象操控模块1206还用于根据操控指令所对应的视频索引,获取虚拟对象执行用于响应操控指令的交互动作所需的每个三维模型;按照视频索引记录的展示时序将所获取的每个三维模型平移旋转至观察空间;观察空间以采集直播视频流的虚拟摄像机所在位置为原点,以虚拟摄像机的拍摄方向为一维数据轴;根据虚拟摄像机的拍摄范围,对处于观察空间的每个三维模型进行裁剪;通过将裁剪后的每个三维模型投影在直播页面,在直播页面展示协同视频流。
上述视频直播中的虚拟对象控制装置,在触发协同直播后,第一终端可以在直播过程实时感知自身以及第二终端分别与虚拟对象的互动实况,并根据这种互动实况生成不同的操控指令,进而可以基于不同操控指令触虚拟对象执行不同的交互动作,实现视频直播中虚拟对象的灵活控制。此外,直播视频流与用于触发虚拟对象执行不同交互动作的操控指令,在第一终端与第二终端之间独立传输,互不干扰,相比传统将虚拟对象执行交互动作的视频帧与直播视频流中视频帧合并后传输的方式,可以减少数据传输量,进而提高虚拟对象控制及时性。
如图14所示,在一个实施例中,提供了视频直播中的虚拟对象控制装置1400,包括视频直播模块1402、虚拟对象展示模块1404和虚拟对象操控模块1406。
视频直播模块1402,用于将来自于第一终端的直播视频流展示在第二终端的观看页面。
虚拟对象展示模块1404,用于当满足虚拟对象协同直播的触发条件时,在观看页面展示虚拟对象;虚拟对象同步展示于第一终端。
虚拟对象操控模块1406,用于获取对于虚拟对象的操控指令,操控指令通过第一终端和第二终端中至少一者对于虚拟对象的互动触发;根据操控指令触发虚拟对象执行相应的交互动作;虚拟对象在第一终端同步执行交互动作。
在一个实施例中,虚拟对象操控模块1406还用于根据操控指令,获取虚拟对象执行相应交互动作所需的每个三维模型;按照预设的展示时序对所获取的每个三维模型平移旋转及裁剪投影处理,得到虚拟对象执行相应交互动作的协同视频流;在观看页面基于不同的图层展示直播视频流和协同视频流。
上述视频直播中的虚拟对象控制装置,在触发协同直播后,第二终端可以在直播过程实时感知自身以及第以一终端分别与虚拟对象的互动实况,并根据这种互动实况生成不同的操控指令,进而可以基于不同操控指令触虚拟对象执行不同的交互动作,实现视频直播中虚拟对象的灵活控制。此外,直播视频流与用于触发虚拟对象执行不同交互动作的操控指令,在第一终端与第二终端之间独立传输,互不干扰,相比传统将虚拟对象执行交互动作的视频帧与直播视频流中视频帧合并后传输的方式,可以减少数据传输量,进而提高虚拟对象控制及时性。
图15示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的第一终端110(a)。如图15所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、图像采集装置、语音处理装置、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频直播中的虚拟对象控制方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频直播中的虚拟对象控制方法。计算机设备的图像采集装置可以是摄像头等。计算机设备的语音处理装置可以是话筒和扬声器等。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,本申请提供的视频直播中的虚拟对象控制装置1200可以实现为一种计算机程序的形式,计算机程序可在如图15所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频直播中的虚拟对象控制装置的各个程序模块,比如,图12所示的视频直播模块、协同直播触发模块和虚拟对象操控模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频直播中的虚拟对象控制方法中的步骤。
例如,图15所示的计算机设备可以通过如图12所示的视频直播中的虚拟对象控制装置中的视频直播模块执行步骤S202。计算机设备可通过协同直播触发模块执行步骤S204。计算机设备可通过虚拟对象操控模块执行步骤S206和S208。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频直播中的虚拟对象控制方法的步骤。此处视频直播中的虚拟对象控制方法的步骤可以是上述各个实施例的视频直播中的虚拟对象控制方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频直播中的虚拟对象控制方法的步骤。此处视频直播中的虚拟对象控制方法的步骤可以是上述各个实施例的视频直播中的虚拟对象控制方法中的步骤。
图16示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的第二终端110(b)或第二终端110(c)。如图16所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、语音播放装置、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现视频直播中的虚拟对象控制方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行视频直播中的虚拟对象控制方法。计算机设备的语音播放装置可以是扬声器等。
本领域技术人员可以理解,图15和图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的视频直播中的虚拟对象控制装置1400可以实现为一种计算机程序的形式,计算机程序可在如图16所示的计算机设备上运行。计算机设备的存储器中可存储组成该视频直播中的虚拟对象控制装置的各个程序模块,比如,图14所示的视频直播模块、虚拟对象展示模块和虚拟对象操控模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的视频直播中的虚拟对象控制方法中的步骤。
例如,图16所示的计算机设备可以通过如图14所示的视频直播中的虚拟对象控制装置中的视频直播模块执行步骤S902。计算机设备可通过虚拟对象展示模块执行步骤S904。计算机设备可通过虚拟对象操控模块执行步骤S906和S908。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频直播中的虚拟对象控制方法的步骤。此处视频直播中的虚拟对象控制方法的步骤可以是上述各个实施例的视频直播中的虚拟对象控制方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述视频直播中的虚拟对象控制方法的步骤。此处视频直播中的虚拟对象控制方法的步骤可以是上述各个实施例的视频直播中的虚拟对象控制方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (26)
1.一种视频直播中的虚拟对象控制方法,包括:
将第一终端在直播页面产生的直播视频流发送至第二终端;
当满足虚拟对象协同直播的触发条件时,在所述直播页面播放所述虚拟对象对应的协同视频流以展示虚拟对象,触发所述第二终端在播放所述直播视频流的观看页面同步播放所述虚拟对象所对应的协同视频流以展示所述虚拟对象;所述协同直播的触发条件是第一用户对象在所述第一终端基于直播应用的触发操作或计算机设备自动触发的数据指令;
获取对于所述虚拟对象的操控指令,所述操控指令通过所述第一终端和所述第二终端中至少一者对于所述虚拟对象的互动触发;
根据所述操控指令拉取并播放最新的协同视频流实现所述虚拟对象执行相应的交互动作,并触发所述第二终端拉取并播放最新的协同视频流实现所述虚拟对象执行所述交互动作。
2.根据权利要求1所述的方法,其特征在于,所述获取对于所述虚拟对象的操控指令包括:
在所述直播视频流和来自第二终端的观看视频流中至少一者截取视频帧;
识别所述视频帧中目标对象的表情和动作;
当所述目标对象的表情与预设表情相匹配,或所述目标对象的动作与预设动作相匹配时,触发生成与相匹配的预设表情或预设动作所对应的操控指令。
3.根据权利要求2所述的方法,其特征在于,所述识别所述视频帧中目标对象的表情和动作包括:
识别所述视频帧中的目标对象;
根据所述目标对象在相邻视频帧中的位置变化,确定所述目标对象的动作。
4.根据权利要求1所述的方法,其特征在于,所述获取对于所述虚拟对象的操控指令包括:
在所述直播视频流和来自第二终端的观看视频流中至少一者提取音频帧;
识别所述音频帧所对应语音文本中的关键词;
当所述关键词属于预设控制词时,触发生成与所述控制词相应的操控指令。
5.根据权利要求1所述的方法,其特征在于,所述获取对于所述虚拟对象的操控指令包括:
在所述直播页面展示来自所述第二终端的弹幕信息;
当所述弹幕信息与预存储的互动请求信息语义相似时,基于所述互动请求信息生成自动答复的操控指令。
6.根据权利要求5所述的方法,其特征在于,所述根据所述操控指令拉取并播放最新的协同视频流实现所述虚拟对象执行相应的交互动作包括:
根据自动答复的操控指令,获取与所述互动请求信息关联的互动应答信息;
触发所述虚拟对象执行语音播报所述互动应答信息的交互动作。
7.根据权利要求1所述的方法,其特征在于,所述获取对于所述虚拟对象的操控指令包括:
获取所述第二终端向所述第一终端进行资源转移的信息;
获取资源转移的信息符合筛选条件的第二终端所对应用户的用户标识;
基于所述用户标识生成打赏回馈的操控指令。
8.根据权利要求7所述的方法,其特征在于,所述根据所述操控指令拉取并播放最新的协同视频流实现所述虚拟对象执行相应的交互动作包括:
根据打赏回馈的操控指令,在所述虚拟对象所在的展示区域划取合体区域;
在所述虚拟对象所在图层的上层图层中与所述合体区域所对应的坐标位置处,展示筛选得到的用户标识。
9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:
获取虚拟对象在不同形态下的三维模型;
确定所述虚拟对象在执行不同交互动作时所需三维模型的展示时序;
根据所需三维模型的模型标识和展示时序,生成所述虚拟对象执行相应交互动作的协同视频流的视频索引;
将每个视频索引分别与一种操控指令对应存储。
10.根据权利要求9所述的方法,其特征在于,所述根据所述操控指令拉取并播放最新的协同视频流实现所述虚拟对象执行相应的交互动作包括:
根据所述操控指令所对应的视频索引,获取所述虚拟对象执行用于响应所述操控指令的交互动作所需的每个三维模型;
按照所述视频索引记录的展示时序将所获取的每个三维模型平移旋转至观察空间;所述观察空间以采集所述直播视频流的虚拟摄像机所在位置为原点,以所述虚拟摄像机的拍摄方向为一维数据轴;
根据虚拟摄像机的拍摄范围,对处于观察空间的每个三维模型进行裁剪;
通过将裁剪后的每个三维模型投影在所述直播页面,在所述直播页面展示所述协同视频流。
11.一种视频直播中的虚拟对象控制方法,包括:
将来自于第一终端的直播视频流展示在第二终端的观看页面;
当满足虚拟对象协同直播的触发条件时,在所述观看页面播放所述虚拟对象所对应的协同视频流以展示虚拟对象;所述虚拟对象同步展示于所述第一终端;所述协同直播的触发条件是第一用户对象在所述第一终端基于直播应用的触发操作或计算机设备自动触发的数据指令;
获取对于所述虚拟对象的操控指令,所述操控指令通过所述第一终端和所述第二终端中至少一者对于所述虚拟对象的互动触发;
根据所述操控指令拉取并播放最新的协同视频流实现所述虚拟对象执行相应的交互动作;所述虚拟对象在所述第一终端同步执行所述交互动作。
12.根据权利要求11所述的方法,其特征在于,所述根据所述操控指令拉取并播放最新的协同视频流实现所述虚拟对象执行相应的交互动作包括:
根据所述操控指令,获取虚拟对象执行相应交互动作所需的每个三维模型;
按照预设的展示时序对所获取的每个三维模型平移旋转及裁剪投影处理,得到所述虚拟对象执行相应交互动作的协同视频流;
在所述观看页面基于不同的图层展示所述直播视频流和所述协同视频流。
13.一种视频直播中的虚拟对象控制装置,包括:
视频直播模块,用于将第一终端在直播页面产生的直播视频流发送至第二终端;
协同直播触发模块,用于当满足虚拟对象协同直播的触发条件时,在所述直播页面播放所述虚拟对象对应的协同视频流以展示虚拟对象,触发所述第二终端在播放所述直播视频流的观看页面同步播放所述虚拟对象所对应的协同视频流以展示所述虚拟对象;所述协同直播的触发条件是第一用户对象在所述第一终端基于直播应用的触发操作或计算机设备自动触发的数据指令;
虚拟对象操控模块,用于获取对于所述虚拟对象的操控指令,所述操控指令通过所述第一终端和所述第二终端中至少一者对于所述虚拟对象的互动触发;根据所述操控指令拉取并播放最新的协同视频流实现所述虚拟对象执行相应的交互动作,并触发所述第二终端拉取并播放最新的协同视频流实现所述虚拟对象执行所述交互动作。
14.根据权利要求13所述的装置,其特征在于,所述虚拟对象操控模块,还用于:
在所述直播视频流和来自第二终端的观看视频流中至少一者截取视频帧;
识别所述视频帧中目标对象的表情和动作;
当所述目标对象的表情与预设表情相匹配,或所述目标对象的动作与预设动作相匹配时,触发生成与相匹配的预设表情或预设动作所对应的操控指令。
15.根据权利要求14所述的装置,其特征在于,所述虚拟对象操控模块,还用于:
识别所述视频帧中的目标对象;
根据所述目标对象在相邻视频帧中的位置变化,确定所述目标对象的动作。
16.根据权利要求13所述的装置,其特征在于,所述虚拟对象操控模块,还用于:
在所述直播视频流和来自第二终端的观看视频流中至少一者提取音频帧;
识别所述音频帧所对应语音文本中的关键词;
当所述关键词属于预设控制词时,触发生成与所述控制词相应的操控指令。
17.根据权利要求13所述的装置,其特征在于,所述虚拟对象操控模块,还用于:
在所述直播页面展示来自所述第二终端的弹幕信息;
当所述弹幕信息与预存储的互动请求信息语义相似时,基于所述互动请求信息生成自动答复的操控指令。
18.根据权利要求17所述的装置,其特征在于,所述虚拟对象操控模块,还用于:
根据自动答复的操控指令,获取与所述互动请求信息关联的互动应答信息;
触发所述虚拟对象执行语音播报所述互动应答信息的交互动作。
19.根据权利要求13所述的装置,其特征在于,所述虚拟对象操控模块,还用于:
获取所述第二终端向所述第一终端进行资源转移的信息;
获取资源转移的信息符合筛选条件的第二终端所对应用户的用户标识;
基于所述用户标识生成打赏回馈的操控指令。
20.根据权利要求19所述的装置,其特征在于,所述虚拟对象操控模块,还用于:
根据打赏回馈的操控指令,在所述虚拟对象所在的展示区域划取合体区域;
在所述虚拟对象所在图层的上层图层中与所述合体区域所对应的坐标位置处,展示筛选得到的用户标识。
21.根据权利要求13至20任一项所述的装置,其特征在于,所述装置还包括视频索引生成模块,用于:
获取虚拟对象在不同形态下的三维模型;
确定所述虚拟对象在执行不同交互动作时所需三维模型的展示时序;
根据所需三维模型的模型标识和展示时序,生成所述虚拟对象执行相应交互动作的协同视频流的视频索引;
将每个视频索引分别与一种操控指令对应存储。
22.根据权利要求21所述的装置,其特征在于,所述虚拟对象操控模块,还用于:
根据所述操控指令所对应的视频索引,获取所述虚拟对象执行用于响应所述操控指令的交互动作所需的每个三维模型;
按照所述视频索引记录的展示时序将所获取的每个三维模型平移旋转至观察空间;所述观察空间以采集所述直播视频流的虚拟摄像机所在位置为原点,以所述虚拟摄像机的拍摄方向为一维数据轴;
根据虚拟摄像机的拍摄范围,对处于观察空间的每个三维模型进行裁剪;
通过将裁剪后的每个三维模型投影在所述直播页面,在所述直播页面展示所述协同视频流。
23.一种视频直播中的虚拟对象控制装置,包括:
视频直播模块,用于将来自于第一终端的直播视频流展示在第二终端的观看页面;
虚拟对象展示模块,用于当满足虚拟对象协同直播的触发条件时,在所述观看页面播放所述虚拟对象所对应的协同视频流以展示虚拟对象;所述虚拟对象同步展示于所述第一终端;所述协同直播的触发条件是第一用户对象在所述第一终端基于直播应用的触发操作或计算机设备自动触发的数据指令;
虚拟对象操控模块,用于获取对于所述虚拟对象的操控指令,所述操控指令通过所述第一终端和所述第二终端中至少一者对于所述虚拟对象的互动触发;根据所述操控指令拉取并播放最新的协同视频流实现所述虚拟对象执行相应的交互动作;所述虚拟对象在所述第一终端同步执行所述交互动作。
24.根据权利要求23所述的装置,其特征在于,所述虚拟对象操控模块,还用于:
根据所述操控指令,获取虚拟对象执行相应交互动作所需的每个三维模型;
按照预设的展示时序对所获取的每个三维模型平移旋转及裁剪投影处理,得到所述虚拟对象执行相应交互动作的协同视频流;
在所述观看页面基于不同的图层展示所述直播视频流和所述协同视频流。
25.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
26.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911104614.3A CN110850983B (zh) | 2019-11-13 | 2019-11-13 | 视频直播中的虚拟对象控制方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911104614.3A CN110850983B (zh) | 2019-11-13 | 2019-11-13 | 视频直播中的虚拟对象控制方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110850983A CN110850983A (zh) | 2020-02-28 |
CN110850983B true CN110850983B (zh) | 2020-11-24 |
Family
ID=69600593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911104614.3A Active CN110850983B (zh) | 2019-11-13 | 2019-11-13 | 视频直播中的虚拟对象控制方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110850983B (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586465B (zh) * | 2020-04-30 | 2022-10-04 | 广州方硅信息技术有限公司 | 直播间的操作交互方法、装置、设备及存储介质 |
CN111614926B (zh) * | 2020-05-28 | 2021-12-03 | 腾讯科技(深圳)有限公司 | 网络通话方法、装置、计算机设备和存储介质 |
CN111897246B (zh) * | 2020-07-31 | 2021-06-01 | 杭州云端文化创意有限公司 | 基于信息传媒以及运动比赛的智能气氛烘托方法及其系统 |
CN111711733B (zh) * | 2020-08-18 | 2020-11-13 | 北京理工大学 | 一种直播方案仿真设计验证方法 |
CN112040262B (zh) * | 2020-08-31 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 一种虚拟资源对象处理方法及装置 |
CN112188297B (zh) * | 2020-09-08 | 2021-10-08 | 腾讯科技(深圳)有限公司 | 直播互动方法、装置、电子设备和存储介质 |
CN112135160A (zh) * | 2020-09-24 | 2020-12-25 | 广州博冠信息科技有限公司 | 直播中虚拟对象控制方法及装置、存储介质和电子设备 |
CN112286610A (zh) * | 2020-10-28 | 2021-01-29 | 北京有竹居网络技术有限公司 | 一种互动处理方法、装置、电子设备和存储介质 |
CN112396679B (zh) * | 2020-11-20 | 2022-09-13 | 北京字节跳动网络技术有限公司 | 虚拟对象显示方法及装置、电子设备、介质 |
CN112565804B (zh) * | 2020-11-30 | 2022-10-04 | 北京达佳互联信息技术有限公司 | 一种直播互动方法、设备、存储介质及系统 |
CN112689151B (zh) * | 2020-12-07 | 2023-04-18 | 深圳盈天下视觉科技有限公司 | 直播方法、装置、计算机设备和存储介质 |
CN112560622B (zh) * | 2020-12-08 | 2023-07-21 | 中国联合网络通信集团有限公司 | 虚拟对象动作控制方法、装置及电子设备 |
CN112637622A (zh) * | 2020-12-11 | 2021-04-09 | 北京字跳网络技术有限公司 | 一种直播演唱方法、装置、设备及介质 |
CN112672175A (zh) * | 2020-12-11 | 2021-04-16 | 北京字跳网络技术有限公司 | 直播交互方法、装置、电子设备和存储介质 |
CN113253838A (zh) * | 2021-04-01 | 2021-08-13 | 作业帮教育科技(北京)有限公司 | 基于ar的视频教学方法、电子设备 |
CN113115061B (zh) * | 2021-04-07 | 2023-03-10 | 北京字跳网络技术有限公司 | 直播交互方法、装置、电子设备和存储介质 |
CN113194329B (zh) * | 2021-05-10 | 2023-04-25 | 广州繁星互娱信息科技有限公司 | 直播互动方法、装置、终端及存储介质 |
CN113262481A (zh) * | 2021-05-18 | 2021-08-17 | 网易(杭州)网络有限公司 | 游戏中的互动方法、装置、设备及存储介质 |
CN113301441B (zh) * | 2021-05-21 | 2023-02-03 | 北京字跳网络技术有限公司 | 应用程序的交互方法、装置和电子设备 |
CN115396390A (zh) * | 2021-05-25 | 2022-11-25 | Oppo广东移动通信有限公司 | 基于视频聊天的互动方法、系统、装置及电子设备 |
CN113691829B (zh) * | 2021-10-26 | 2022-04-08 | 阿里巴巴达摩院(杭州)科技有限公司 | 虚拟对象互动方法、装置、存储介质及计算机程序产品 |
CN114051148A (zh) * | 2021-11-10 | 2022-02-15 | 拓胜(北京)科技发展有限公司 | 一种虚拟主播生成方法、装置及电子设备 |
CN114173142A (zh) * | 2021-11-19 | 2022-03-11 | 广州繁星互娱信息科技有限公司 | 对象直播展示方法和装置、存储介质及电子设备 |
CN114185466A (zh) * | 2021-11-23 | 2022-03-15 | 北京达佳互联信息技术有限公司 | 业务处理方法、装置、电子设备及存储介质 |
CN114125569B (zh) * | 2022-01-27 | 2022-07-15 | 阿里巴巴(中国)有限公司 | 直播处理方法以及装置 |
CN115086693A (zh) * | 2022-05-07 | 2022-09-20 | 北京达佳互联信息技术有限公司 | 虚拟对象交互方法、装置、电子设备和存储介质 |
CN115665461B (zh) * | 2022-10-13 | 2024-03-22 | 聚好看科技股份有限公司 | 一种视频录制方法及虚拟现实设备 |
CN115937430B (zh) * | 2022-12-21 | 2023-10-10 | 北京百度网讯科技有限公司 | 用于展示虚拟对象的方法、装置、设备及介质 |
CN116467020B (zh) * | 2023-03-08 | 2024-03-19 | 北京达佳互联信息技术有限公司 | 信息展示方法、装置、电子设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2486744A (en) * | 2010-12-24 | 2012-06-27 | Starbucks Hk Ltd | Multimedia system with separately transmitted supplementary data overlaid onto broadcast video stream based on user input |
US8997167B1 (en) * | 2014-01-08 | 2015-03-31 | Arizona Board Of Regents | Live streaming video sharing system and related methods |
CN105959718A (zh) * | 2016-06-24 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种视频直播中实时互动的方法及装置 |
CN106548503B (zh) * | 2016-10-19 | 2019-07-05 | 华东师范大学 | 一种基于命令流三维角色的动画合成方法 |
CN106534880A (zh) * | 2016-11-28 | 2017-03-22 | 深圳Tcl数字技术有限公司 | 视频合成方法及装置 |
CN106791981A (zh) * | 2016-12-19 | 2017-05-31 | 广州虎牙信息科技有限公司 | 直播视频流传输控制方法、装置和终端设备 |
CN107423809B (zh) * | 2017-07-07 | 2021-02-26 | 北京光年无限科技有限公司 | 应用于视频直播平台的虚拟机器人多模态交互方法和系统 |
US20190132650A1 (en) * | 2017-10-27 | 2019-05-02 | Facebook, Inc. | Providing a slide show in a live video broadcast |
CN109874043B (zh) * | 2017-12-01 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 视频流发送方法、播放方法及装置 |
CN109949406B (zh) * | 2019-02-27 | 2023-05-26 | Oppo广东移动通信有限公司 | 模型的动作处理方法、装置、存储介质及电子设备 |
CN110035325A (zh) * | 2019-04-19 | 2019-07-19 | 广州虎牙信息科技有限公司 | 弹幕回复方法、弹幕回复装置和直播设备 |
CN110119700B (zh) * | 2019-04-30 | 2020-05-15 | 广州虎牙信息科技有限公司 | 虚拟形象控制方法、虚拟形象控制装置和电子设备 |
-
2019
- 2019-11-13 CN CN201911104614.3A patent/CN110850983B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110850983A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110850983B (zh) | 视频直播中的虚拟对象控制方法、装置和存储介质 | |
Park et al. | A metaverse: Taxonomy, components, applications, and open challenges | |
US11281709B2 (en) | System and method for converting image data into a natural language description | |
TWI778477B (zh) | 互動方法、裝置、電子設備以及儲存媒體 | |
Le et al. | Live speech driven head-and-eye motion generators | |
CN112215927B (zh) | 人脸视频的合成方法、装置、设备及介质 | |
US11736756B2 (en) | Producing realistic body movement using body images | |
KR101917630B1 (ko) | 증강 및 가상 현실을 위한 시스템 및 방법 | |
KR102503413B1 (ko) | 애니메이션 인터랙션 방법, 장치, 기기 및 저장 매체 | |
CN112379812A (zh) | 仿真3d数字人交互方法、装置、电子设备及存储介质 | |
US20210027511A1 (en) | Systems and Methods for Animation Generation | |
JP7278307B2 (ja) | コンピュータプログラム、サーバ装置、端末装置及び表示方法 | |
CN114332374A (zh) | 一种虚拟显示方法、设备以及存储介质 | |
CN113709543A (zh) | 基于虚拟现实的视频处理方法、装置、电子设备和介质 | |
CN117036583A (zh) | 视频生成方法、装置、存储介质及计算机设备 | |
CN114125529A (zh) | 一种生成和演示视频的方法、设备及存储介质 | |
US11430158B2 (en) | Intelligent real-time multiple-user augmented reality content management and data analytics system | |
CN113542758A (zh) | 生成对抗神经网络辅助的视频压缩和广播 | |
CN117036555A (zh) | 数字人的生成方法、装置和数字人的生成系统 | |
CN116229311A (zh) | 视频处理方法、装置及存储介质 | |
CN114979789A (zh) | 一种视频展示方法、装置以及可读存储介质 | |
CN113301352A (zh) | 在视频播放期间进行自动聊天 | |
CN112804245A (zh) | 适用于视频传输的数据传输优化方法、装置及系统 | |
CN113542759A (zh) | 生成对抗神经网络辅助的视频重建 | |
CN112637692A (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: 40022525 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |