CN111970522A - 虚拟直播数据的处理方法、装置及存储介质 - Google Patents
虚拟直播数据的处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111970522A CN111970522A CN202010760579.7A CN202010760579A CN111970522A CN 111970522 A CN111970522 A CN 111970522A CN 202010760579 A CN202010760579 A CN 202010760579A CN 111970522 A CN111970522 A CN 111970522A
- Authority
- CN
- China
- Prior art keywords
- data
- live broadcast
- frame
- limb
- face
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 230000005540 biological transmission Effects 0.000 claims abstract description 121
- 238000007906 compression Methods 0.000 claims abstract description 68
- 230000006835 compression Effects 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000009877 rendering Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 46
- 238000004806 packaging method and process Methods 0.000 claims abstract description 9
- 230000008859 change Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008451 emotion Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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
-
- 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/23418—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
-
- 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
-
- 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/816—Monomedia components thereof involving special video data, e.g 3D video
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种虚拟直播数据的处理方法、装置及存储介质。其中,虚拟直播数据的处理方法应用于直播平台,其中直播用户的终端设备预先安装有与直播平台对应的直播客户端,包括:获取待传输至直播客户端的肢体数据和/或脸部数据;根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及将压缩编码数据进行封包后通过预设的数据传输通道传输至直播客户端,其中直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种虚拟直播数据的处理方法、装置及存储介质。
背景技术
随着电子娱乐产业和网络传输技术的发展,虚拟直播作为一种全新的网上娱乐方式,即采用虚拟角色以三维动画的方式与观众进行实时交互的直播方式,越来越受到年轻观众的青睐。目前,虚拟直播大多采用动态捕捉设备实时捕捉真实的演员动作信息(演员的肢体数据)以及通过摄像头实时采集演员的脸部数据。由于传统的直播所采用的数据传输通道只能传输视频流数据,因此需要直播平台的服务器根据采集到的肢体数据和脸部数据对虚拟角色进行渲染和驱动,生成实时视频后传输至直播平台的客户端进行直播。但是,上述的虚拟直播数据的处理方式,数据处理的执行方只有服务器,而安装于用户的终端设备上的客户端只需要接收服务器处理好的数据(实时视频)并显示,这不仅需要传输较大的数据量,也无法合理利用终端设备的算力进行数据处理。因此,需要提出一种新的虚拟直播数据的处理方法,不仅能够减少网络传输数据的量级,还能够合理利用终端设备的算力。
发明内容
本公开的实施例提供了一种虚拟直播数据的处理方法、装置及存储介质,不仅能够减少网络传输数据的量级,还能够合理利用终端设备的算力。
根据本公开实施例的一个方面,提供了一种虚拟直播数据的处理方法,应用于直播平台,其中直播用户的终端设备预先安装有与直播平台对应的直播客户端,包括:获取待传输至直播客户端的肢体数据和/或脸部数据;根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及将压缩编码数据进行封包后通过预设的数据传输通道传输至直播客户端,其中直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
根据本公开实施例的另一方面,还提供了一种虚拟直播数据的处理方法,应用于直播用户的终端设备,其中终端设备预先安装有与直播平台对应的直播客户端,包括:接收通过预设的数据传输通道传输的压缩编码数据,其中压缩编码数据为利用预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码生成的;利用预设的与压缩编码算法对应的解码解压缩算法,对压缩编码数据进行解压解码,生成肢体数据和/或脸部数据,其中解码解压缩算法预先存储于直播客户端;以及将肢体数据和/或脸部数据在直播客户端进行渲染并显示。
根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
根据本公开实施例的另一个方面,还提供了一种虚拟直播数据的处理装置,包括:获取模块,用于获取待传输至直播客户端的肢体数据和/或脸部数据,其中直播客户端预先安装于直播用户的终端设备;压缩编码模块,用于根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及传输模块,用于将压缩编码数据进行封包后通过预设的数据传输通道传输至直播客户端,其中直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
根据本公开实施例的另一个方面,还提供了一种虚拟直播数据的处理装置,包括:接收模块,用于接收通过预设的数据传输通道传输的压缩编码数据,其中压缩编码数据为利用预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码生成的;解码解压缩模块,用于利用预设的与压缩编码算法对应的解码解压缩算法,对压缩编码数据进行解压解码,生成肢体数据和/或脸部数据,其中解码解压缩算法预先存储于直播客户端,其中直播客户端预先安装于直播用户的终端设备;以及渲染及显示模块,用于将肢体数据和/或脸部数据在直播客户端进行渲染并显示。
根据本公开实施例的另一个方面,还提供了一种虚拟直播数据的处理装置,包括:第一处理器;以及第一存储器,与第一处理器连接,用于为第一处理器提供处理以下处理步骤的指令:获取待传输至直播客户端的肢体数据和/或脸部数据,其中直播客户端预先安装于直播用户的终端设备;根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及将压缩编码数据进行封包后通过预设的数据传输通道传输至直播客户端,其中直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
根据本公开实施例的另一个方面,还提供了一种虚拟直播数据的处理装置,包括:第二处理器;以及第二存储器,与第二处理器连接,用于为第二处理器提供处理以下处理步骤的指令:接收通过预设的数据传输通道传输的压缩编码数据,其中压缩编码数据为利用预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码生成的;利用预设的与压缩编码算法对应的解码解压缩算法,对压缩编码数据进行解压解码,生成肢体数据和/或脸部数据,其中解码解压缩算法预先存储于直播客户端,其中直播客户端预先安装于直播用户的终端设备;以及将肢体数据和/或脸部数据在直播客户端进行渲染并显示。
在本公开实施例中,由直播平台的服务器获取肢体数据和/或脸部数据,然后根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据,提高了传输层的传输速度和带宽压力,最后按照自定义的数据传输协议对压缩编码数据进行封包后通过支持自定义的数据传输协议的数据传输通道传输至按照与直播用户的终端设备上的直播客户端。其中,直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。从而,终端设备在接收压缩编码数据后,能够利用解码解压缩算法对该压缩编码数据进行解码解压缩,得到原始的肢体数据和/或脸部数据,然后利用渲染引擎进行虚拟角色的渲染和驱动,生成实时视频并直播。通过这种方式,不仅能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,大大减少了网络传输数据的量级,还能够将虚拟角色的渲染并生成实时视频的操作放置于终端设备进行,合理利用了终端设备的算力。从而,本申请所提出的虚拟直播数据的处理方法,不仅能够减少网络传输数据的量级,还能够合理利用终端设备的算力。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
图2是根据本公开实施例1所述的虚拟直播数据的处理系统的示意图;
图3是根据本公开实施例1的第一个方面所述的虚拟直播数据的处理方法的流程示意图;
图4是根据本公开实施例1所述的帧数据的传输数据结构的示意图;
图5是根据本公开实施例1所述的NAL头的示意图;
图6是根据本公开实施例1的第二个方面所述的虚拟直播数据的处理方法的流程示意图;
图7是根据本公开实施例1所述的虚拟直播数据的处理方法的整体流程示意图;
图8是根据本公开实施例1所述的虚拟直播数据的各个处理分支的示意图;
图9是根据本公开实施例2的第一个方面所述的虚拟直播数据的处理装置的示意图;
图10是根据本公开实施例2的第二个方面所述的虚拟直播数据的处理装置的示意图;
图11是根据本公开实施例3的第一个方面所述的虚拟直播数据的处理装置的示意图;以及
图12是根据本公开实施例3的第二个方面所述的虚拟直播数据的处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本实施例,提供了一种虚拟直播数据的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现虚拟直播数据的处理方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的虚拟直播数据的处理方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的虚拟直播数据的处理方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
图2是根据本实施例所述的虚拟直播数据的处理系统的示意图。参照图2所示,该系统包括:相互通信连接的直播平台的服务器200和直播用户110的终端设备100。其中,直播用户110的终端设备100上安装有该直播平台的直播客户端。需要说明的是,系统中的服务器200和终端设备100均可适用上面所述的硬件结构。
在上述运行环境下,根据本实施例的第一个方面,提供了一种虚拟直播数据的处理方法,该方法由图2中所示的服务器200实现。图3示出了该方法的流程示意图,参考图3所示,该方法包括:
S302:获取待传输至直播客户端的肢体数据和/或脸部数据;
S304:根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及
S306:将压缩编码数据进行封包后通过预设的数据传输通道传输至直播客户端,其中直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
正如上述背景技术中所述的,目前,虚拟直播大多采用动态捕捉设备实时捕捉真实的演员动作信息(演员的肢体数据)以及通过摄像头实时采集演员的脸部数据。由于传统的直播所采用的数据传输通道只能传输视频流数据,因此需要直播平台的服务器根据采集到的肢体数据和脸部数据对虚拟角色进行渲染和驱动,生成实时视频后传输至直播平台的客户端进行直播。但是,上述的虚拟直播数据的处理方式,数据处理的执行方只有服务器,而安装于用户的终端设备上的客户端只需要接收服务器处理好的数据(实时视频)并显示,这不仅需要传输较大的数据量,也无法合理利用终端设备的算力进行数据处理。因此,需要提出一种新的虚拟直播数据的处理方法,不仅能够减少网络传输数据的量级,还能够合理利用终端设备的算力。
为了解决上述技术问题,参照图2以及图3所示,在本实施例中,服务器200首先获取待传输至直播客户端的肢体数据和/或脸部数据。其中,服务器200可以从动态捕捉设备获取肢体数据,从图像采集设备获取脸部数据,直播客户端预先安装于直播用户110的终端设备100上。由于所获取的肢体数据和/或脸部数据的相邻帧之间存在很大的相关性,存在着很多相同的数据,因此服务器200需要根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据,从而提高传输层的传输速度和带宽压力。
进一步地,由于传统的直播所采用的数据传输通道只能传输视频流数据,因此为了能够直接将与肢体数据和/或脸部数据对应的压缩编码数据传输至终端设备100上的直播客户端,服务器200可以预先自定义数据传输协议和建立支持自定义的数据传输协议的数据传输通道,然后按照自定义的数据传输协议对压缩编码数据进行封包后通过支持自定义的数据传输协议的数据传输通道传输至直播客户端。并且,直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。从而,终端设备100在接收压缩编码数据后,能够利用解码解压缩算法对该压缩编码数据进行解码解压缩,得到原始的肢体数据和/或脸部数据,然后利用渲染引擎进行虚拟角色的渲染和驱动,生成实时视频并直播。通过这种方式,不仅能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,大大减少了网络传输数据的量级,还能够将虚拟角色的渲染并生成实时视频的操作放置于终端设备100进行,合理利用了终端设备100的算力。从而,本实施例所提出的虚拟直播数据的处理方法,不仅能够减少网络传输数据的量级,还能够合理利用终端设备100的算力。
可选地,肢体数据和/或脸部数据为肢体帧数据集合和/或脸部帧数据集合,其中肢体帧数据集合由多个与肢体相关的帧数据组成,脸部帧数据集合由多个与脸部相关的帧数据组成,并且根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据的操作,包括:对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型,其中帧数据的类型包括原始帧和变化帧;将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定类型为变化帧的帧数据中发生变化的单元数据;确定发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据;根据物体数据ID、单元数据下标和单元数据,将类型为变化帧的帧数据编码为变化帧数据;以及根据类型为原始帧的帧数据和变化帧数据,生成压缩编码数据。
具体地,服务器200获取的肢体数据和/或脸部数据为肢体帧数据集合和/或脸部帧数据集合。在本实施例中,预设的压缩编码算法的核心思路为将帧数据分为很多单元数据,每一个单元数据包括x,y,z轴的空间信息以及对应的旋转信息,需要找出相邻帧之间的重复单元并对其进行压缩编码,以提高传输层的传输速度和带宽压力。因此,服务器200根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据的操作包括:服务器200首先肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型,即确定每一帧数据的类型为原始帧(I帧)还是变化帧(P帧)。
进一步地,服务器200将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定类型为变化帧的帧数据中发生变化的单元数据,从而找出相邻帧之间重复的单元数据。对于重复的单元数据,可以直接进行压缩,对于发生变化的单元数据,服务器200需要确定发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据。其中,物体数据例如为人的肢体数据。最后,服务器200根据物体数据ID、单元数据下标和单元数据,将类型为变化帧的帧数据编码为变化帧数据,以及根据类型为原始帧的帧数据和变化帧数据,生成压缩编码数据。通过这种方式,能够有效的找出相邻帧之间的重复单元并对其进行压缩编码,以提高传输层的传输速度和带宽压力。
可选地,对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型的操作,包括:对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的传输数据结构;以及根据传输数据结构,对帧数据的数据结构进行分析,并根据分析结果确定帧数据的类型。
具体地,可以预先约定帧数据的传输数据结构,图4分别示出了原始帧(I帧)和变化帧(P帧)的数据结构。参照图4所示,服务器200对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型的过程中,首先对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的传输数据结构,然后对帧数据的数据结构进行分析,从而根据数据结构的分析结果来确定帧数据的类型,即确定帧数据为原始帧(I帧)或者变化帧(P帧)。通过这种方式,能够根据预先约定好的帧数据的传输数据结构,通过对帧数据进行解析来准确地确定帧数据的类型。
可选地,将压缩编码数据进行封包后通过预设的数据传输通道传输至直播客户端的操作,包括:将压缩编码数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道传输至直播客户端。
具体地,服务器200预先自定义数据传输协议和建立支持自定义的数据传输协议的数据传输通道。具体为在RTMP协议(实时信息传输协议)的基础上对RTMP协议中的NAL头的含义进行自定义,即复用了RTMP协议原有的NAL头,并对其含义进行了重新定义,然后建立支持上述自定义的数据传输协议的数据传输通道。因此,服务器200将肢体数据和/或脸部数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,最后将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道传输至直播客户端。从而,实现了能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输的目的。
可选地,该方法还包括通过以下操作对RTMP协议中的NAL头的含义进行自定义:将NAL头的第一位表示为RTMP协议的错误位;将NAL头的第二位和第三位表示为帧类型;以及将NAL头的后五位表示为数据的类型,其中NAL头的后五位的不同取值表示不同类型的数据。
具体地,参照图5所述,对RTMP协议中的NAL头的含义进行自定义的过程中,首先将NAL头分为0区域、1区域和2区域这三个区域,0区域包含NAL头的第一位(即,第一个bit),1区域包含NAL头的第二位和第三位(即,第二个bit和第三个bit),2区域包含NAL头的后五位(即,最后五个bit)。然后赋予各个区域不同的表示,将NAL头的0区域(即,第一位)表示为数据传输协议的错误位,将NAL头的1区域(即,第二位和第三位)表示为帧类型,将NAL头的2区域(即,后五位)表示为数据包的类型。其中NAL头的后五位的不同取值表示不同类型的数据。
在一个优选实施例中,NAL头的后五位的取值为5时表示肢体数据和/或脸部数据,NAL头的后五位的取值为6时表示远程命令,远程命令例如为播放特效以及事件等。此外,RTMP协议的NAL头的第一位的取值为0,而本申请为非视频编码,默认为1。考虑到兼容性,在发现NAL头的第一位的取值为1影响传输时,将NAL头的第一位的取值改为0。进一步地,NAL头的第二位和第三位的不同取值也表示不同类型的帧数据。示例性的,当NAL头的第二位和第三位的取值为3时表示帧数据的类型为全帧,取值为1时表示帧数据的类型为补帧,取值为2时表示帧数据的类型为补帧的中间帧。需要特别说明的是,NAL头的各个bit的取值也可以为其他值,此处不做具体的限定。
可选地,该方法还包括:获取待传输至直播客户端的音频数据;将音频数据按照RTMP协议进行封包操作,生成音频数据包;以及将音频数据包通过支持RTMP协议的数据传输通道传输至直播客户端。
具体地,在本实施例中,可以从音频采集设备获取待传输至直播客户端的音频数据,然后使用现有的RTMP协议进行封包操作,生成音频数据包,并通过支持RTMP协议的数据传输通道传输至直播客户端。通过这种方式,能够快速地将音频数据传输至直播客户端。
此外,根据本实施例的第二个方面,提供了一种虚拟直播数据的处理方法,应用于直播用户的终端设备,其中终端设备预先安装有与直播平台对应的直播客户端,该方法由图2中所示的终端设备100实现。图6示出了该方法的流程示意图,参考图6所示,该方法包括:
S602:接收通过预设的数据传输通道传输的压缩编码数据,其中压缩编码数据为利用预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码生成的;
S604:利用预设的与压缩编码算法对应的解码解压缩算法,对压缩编码数据进行解压解码,生成肢体数据和/或脸部数据,其中解码解压缩算法预先存储于直播客户端;以及
S606:将肢体数据和/或脸部数据在直播客户端进行渲染并显示。
具体地,终端设备100接收服务器200通过预设的数据传输通道传输的压缩编码数据。其中压缩编码数据为服务器200利用预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码生成的。由于安装于终端设备100上的直播客户端预先存储有与压缩编码算法对应的解码解压缩算法,因此终端设备100在接收压缩编码数据后,能够利用解码解压缩算法对该压缩编码数据进行解码解压缩,得到原始的肢体数据和/或脸部数据,然后将肢体数据和/或脸部数据在直播客户端进行渲染并显示。通过这种方式,不仅能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,大大减少了网络传输数据的量级,还能够将虚拟角色的渲染并生成实时视频的操作放置于终端设备进行,合理利用了终端设备的算力。从而,本申请所提出的虚拟直播数据的处理方法,不仅能够减少网络传输数据的量级,还能够合理利用终端设备的算力。
可选地,将肢体数据和/或脸部数据在直播客户端进行渲染并显示的操作,包括:根据肢体数据和/或脸部数据,利用Unity3D引擎对3D虚拟角色的肢体和脸部进行渲染,生成包含有所述3D虚拟角色的实时视频;以及在直播客户端上直播实时视频。
具体地,终端设备100预先配置有虚拟角色的渲染引擎(例如Unity3D引擎),因此终端设备100根据解压解编码得到的肢体数据和/或脸部数据,利用Unity3D引擎对3D虚拟角色的肢体和脸部进行渲染,生成包含有所述3D虚拟角色的实时视频并直播。通过这种方式,能够在终端设备100上完成3D虚拟角色的渲染和生成实时视频并直播。
此外,图7示出了本实施例所提出的虚拟直播数据的处理方法的整体流程示意图。图8示出了虚拟直播数据的处理过程的分支图。参照图7以及图8所示,直播平台的服务器和安装有直播客户端的终端设备上均配置有Unity组件。在整个虚拟直播数据的处理过程中,首先由服务器利用Unity组件进行Unity数据采集、帧数据解析、单元数据比对以及编码I帧/P帧,然后将编码得到的数据传输至安装有直播客户端的终端设备。然后由终端设备利用Unity组件解码I帧/P帧和恢复原始数据,并使用Unity模型进行虚拟角色的渲染,完成渲染之后生成实时视频并直播。
参照图8所示,虚拟直播数据的处理过程大致分为以下五个步骤:
(1)原数据解析:首先接收到U3D数据包,然后将原数据解析为传输数据结构;
(2)数据压缩编码:
1)数据头分析:根据数据头分析该帧数据为I帧还是P帧,若为I帧,则作为之后的被对比帧,若为P帧,则需要对比邻近的I帧,在数据变化较大的情况下,废除之间的I帧,自身成为新的I帧,在数据变化不大的情况下,对比I帧,找出变化量;
2)对物体数据进行压缩:将P帧数据包对比I帧数据包。具体的对比过程为:遍历I帧数据,寻找P帧内每个物体ID,在找到的情况下,进行单元数据对比,未找到的情况下,说明该物体(例如,人)是新增的,需要拿到物体数据ID。进一步地,遍历P帧数据,寻找I帧内每个物体ID,在找到的情况下,不进行操作,未找到的情况下,说明该物体(例如,人)已移除,需要拿到物体数据ID。其中,单元数据对比的流程为:比对单元数据是否变化,在单元数据变化的情况下,需要拿到该单元所属物体数据ID、单元数据下标以及单元变化后的单元数据,在单元数据未变化的情况下,说明该单元数据为可被压缩的数据。因此,根据以上操作得到的数据为:已移除的物体数据的物体数据ID、有变化的单元数据的物体数据ID和单元下标以及单元变化后的单元数据。
3)对数据进行编码:对压缩后拿到的数据进行编码。具体为,根据物体数据ID、单元下标以及单元数据编码为变化帧数据结构。
(3)数据传输:通过支持自定义的数据传输协议的数据传输通道将压缩编码后的数据进行传输。
(4)数据解码解压缩:由安装有直播客户端的终端设备进行解码解压缩。具体为,接到传输后的数据,对于I帧数据,无需解码解压缩,对于P帧数据,进行解码操作。由于P帧数据为变化帧数据结构,需要根据变化数据修改现有I帧数据。然后在对P帧数据解压缩的过程中,直接使用I帧未变化数据。
(5)数据交付终端设备上的Unity 3D(U3D)组件:终端设备将传输数据结构转化为原数据格式,以原数据形式传递给Unity 3D组件
从而,在本实施例中,在PC端(服务器端)通过设备真人动捕驱动3D虚拟角色偶像,在虚拟场景中,进行演唱表演,而在移动端的聊天室,用户可以通过手机与虚拟偶像进行进一步的互动。根据以往传统的思维传播,移动端观看的是视频流,而在本申请中,PC端向移动端传输的是动态角色信息以及场景信息,由移动端根据动态角色信息以及场景信息对3D虚拟角色进行渲染和驱动,从而生成实时视频并直播。从而到达了实时性、强交互性、用户通过移动端可以与主播偶像进行互动,虚拟角色可以进行肢体动画回应、特效效果表现、脸部情绪表达、声音互动等。
此外,终端设备利用Unity 3D组件或者引擎对虚拟角色进行渲染处理的流程:1)接收肢体数据和脸部数据。其中脸部数据可以通过摄像头实时采集真人的脸部数据得到,肢体数据可以通过Noitom Legacy设备进行真人的肢体数据的实时采集得到。2)将肢体数据和脸部数据直接在模型上实时渲染展示。
综上,本实施例所提出的虚拟直播数据的处理方法首先获取脸部数据和肢体数据,然后经过直播传输流程,并且约定有协议数据结构,进行序列化和反序列化,在移动端二次渲染角色模型(同步PC端渲染信息),最后再移动端进行数据输出。
此外,参考图1所示,根据本实施例的第三个方面,提供了一种存储介质。存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图9示出了根据本实施例的第一个方面所述的虚拟直播数据的处理装置900,该装置900与根据实施例1的第一个方面所述的方法相对应。参考图9所示,该装置900包括:获取模块910,用于获取待传输至直播客户端的肢体数据和/或脸部数据,其中直播客户端预先安装于直播用户的终端设备;压缩编码模块920,用于根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及传输模块930,用于将压缩编码数据进行封包后通过预设的数据传输通道传输至直播客户端,其中直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
可选地,肢体数据和/或脸部数据为肢体帧数据集合和/或脸部帧数据集合,其中肢体帧数据集合由多个与肢体相关的帧数据组成,脸部帧数据集合由多个与脸部相关的帧数据组成,并且压缩编码模块920,包括:解析子模块,用于对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型,其中帧数据的类型包括原始帧和变化帧;比对子模块,用于将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定类型为变化帧的帧数据中发生变化的单元数据;确定子模块,用于确定发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据;编码子模块,用于根据物体数据ID、单元数据下标和单元数据,将类型为变化帧的帧数据编码为变化帧数据;以及生成子模块,用于根据类型为原始帧的帧数据和变化帧数据,生成压缩编码数据。
可选地,解析子模块,包括:解析单元,用于对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的传输数据结构;以及分析单元,用于根据传输数据结构,对帧数据的数据结构进行分析,并根据分析结果确定帧数据的类型。
可选地,传输模块930,包括:封包子模块,用于将压缩编码数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及传输子模块,用于将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道传输至直播客户端。
此外,图10示出了根据本实施例的第二个方面所述的虚拟直播数据的处理装置1000,该装置1000与根据实施例1的第二个方面所述的方法相对应。参考图10所示,该装置1000包括:接收模块1010,用于接收通过预设的数据传输通道传输的压缩编码数据,其中压缩编码数据为利用预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码生成的;解码解压缩模块1020,用于利用预设的与压缩编码算法对应的解码解压缩算法,对压缩编码数据进行解压解码,生成肢体数据和/或脸部数据,其中解码解压缩算法预先存储于直播客户端,其中直播客户端预先安装于直播用户的终端设备;以及渲染及显示模块1030,用于将肢体数据和/或脸部数据在直播客户端进行渲染并显示。
可选地,渲染及显示模块1030,包括:渲染子模块,用于根据肢体数据和/或脸部数据,利用Unity3D引擎对3D虚拟角色的肢体和脸部进行渲染,生成包含有所述3D虚拟角色的实时视频;以及显示子模块,用于在直播客户端上直播实时视频。
从而根据本实施例,由装置900获取肢体数据和/或脸部数据,然后根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据,提高了传输层的传输速度和带宽压力,最后按照自定义的数据传输协议对压缩编码数据进行封包后通过支持自定义的数据传输协议的数据传输通道传输至按照与直播用户的装置1000上的直播客户端。其中,直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。从而,装置1000在接收压缩编码数据后,能够利用解码解压缩算法对该压缩编码数据进行解码解压缩,得到原始的肢体数据和/或脸部数据,然后利用渲染引擎进行虚拟角色的渲染和驱动,生成实时视频并直播。通过这种方式,不仅能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,大大减少了网络传输数据的量级,还能够将虚拟角色的渲染并生成实时视频的操作放置于终端设备进行,合理利用了终端设备的算力。从而,本实施例所提出的虚拟直播数据的处理方法,不仅能够减少网络传输数据的量级,还能够合理利用终端设备的算力。
实施例3
图11示出了根据本实施例的第一个方面所述的虚拟直播数据的处理装置1100,该装置1100与根据实施例1的第一个方面所述的方法相对应。参考图11所示,该装置1100包括:第一处理器1110;以及第一存储器1120,与第一处理器1110连接,用于为第一处理器1110提供处理以下处理步骤的指令:获取待传输至直播客户端的肢体数据和/或脸部数据,其中直播客户端预先安装于直播用户的终端设备;根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据;以及将压缩编码数据进行封包后通过预设的数据传输通道传输至直播客户端,其中直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
可选地,肢体数据和/或脸部数据为肢体帧数据集合和/或脸部帧数据集合,其中肢体帧数据集合由多个与肢体相关的帧数据组成,脸部帧数据集合由多个与脸部相关的帧数据组成,并且根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据的操作,包括:对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型,其中帧数据的类型包括原始帧和变化帧;将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定类型为变化帧的帧数据中发生变化的单元数据;确定发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据;根据物体数据ID、单元数据下标和单元数据,将类型为变化帧的帧数据编码为变化帧数据;以及根据类型为原始帧的帧数据和变化帧数据,生成压缩编码数据。
可选地,对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的类型的操作,包括:对肢体帧数据集合和/或脸部帧数据集合中的帧数据进行解析,确定帧数据的传输数据结构;以及根据传输数据结构,对帧数据的数据结构进行分析,并根据分析结果确定帧数据的类型。
可选地,将压缩编码数据进行封包后通过预设的数据传输通道传输至直播客户端的操作,包括:将压缩编码数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中自定义的数据传输协议为在RTMP协议的基础上对RTMP协议中的NAL头的含义进行自定义得到的;以及将肢体数据包和/或脸部数据包通过支持自定义的数据传输协议的数据传输通道传输至直播客户端。
此外,图11示出了根据本实施例的第二个方面所述的虚拟直播数据的处理装置1210,该装置1200与根据实施例1的第二个方面所述的方法相对应。参考图12所示,该装置1200包括:第二处理器1210;以及第二存储器1220,与第二处理器1210连接,用于为第二处理器1210提供处理以下处理步骤的指令:接收通过预设的数据传输通道传输的压缩编码数据,其中压缩编码数据为利用预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码生成的;利用预设的与压缩编码算法对应的解码解压缩算法,对压缩编码数据进行解压解码,生成肢体数据和/或脸部数据,其中解码解压缩算法预先存储于直播客户端,其中直播客户端预先安装于直播用户的终端设备;以及将肢体数据和/或脸部数据在直播客户端进行渲染并显示。
可选地,将肢体数据和/或脸部数据在直播客户端进行渲染并显示的操作,包括:根据肢体数据和/或脸部数据,利用Unity3D引擎对3D虚拟角色的肢体和脸部进行渲染,生成包含有所述3D虚拟角色的实时视频;以及在所述直播客户端上直播所述实时视频。
从而根据本实施例,由装置1100获取肢体数据和/或脸部数据,然后根据预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码,生成压缩编码数据,提高了传输层的传输速度和带宽压力,最后按照自定义的数据传输协议对压缩编码数据进行封包后通过支持自定义的数据传输协议的数据传输通道传输至按照与直播用户的装置1200上的直播客户端。其中,直播客户端预先存储有与压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。从而,装置1200在接收压缩编码数据后,能够利用解码解压缩算法对该压缩编码数据进行解码解压缩,得到原始的肢体数据和/或脸部数据,然后利用渲染引擎进行虚拟角色的渲染和驱动,生成实时视频并直播。通过这种方式,不仅能够直接将与虚拟直播相关的肢体数据和脸部数据进行传输,大大减少了网络传输数据的量级,还能够将虚拟角色的渲染并生成实时视频的操作放置于终端设备进行,合理利用了终端设备的算力。从而,本实施例所提出的虚拟直播数据的处理方法,不仅能够减少网络传输数据的量级,还能够合理利用终端设备的算力。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种虚拟直播数据的处理方法,应用于直播平台,其中直播用户的终端设备预先安装有与所述直播平台对应的直播客户端,其特征在于,包括:
获取待传输至所述直播客户端的肢体数据和/或脸部数据;
根据预设的压缩编码算法对所述肢体数据和/或所述脸部数据进行压缩编码,生成压缩编码数据;以及
将所述压缩编码数据进行封包后通过预设的数据传输通道传输至所述直播客户端,其中所述直播客户端预先存储有与所述压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
2.根据权利要求1所述的方法,其特征在于,所述肢体数据和/或所述脸部数据为肢体帧数据集合和/或脸部帧数据集合,其中所述肢体帧数据集合由多个与肢体相关的帧数据组成,所述脸部帧数据集合由多个与脸部相关的帧数据组成,并且根据预设的压缩编码算法对所述肢体数据和/或所述脸部数据进行压缩编码,生成压缩编码数据的操作,包括:
对所述肢体帧数据集合和/或所述脸部帧数据集合中的帧数据进行解析,确定所述帧数据的类型,其中所述帧数据的类型包括原始帧和变化帧;
将类型为变化帧的帧数据与类型为原始帧的帧数据进行单元数据比对,确定所述类型为变化帧的帧数据中发生变化的单元数据;
确定所述发生变化的单元数据所属物体数据的物体数据ID、单元数据下标和单元数据;
根据所述物体数据ID、所述单元数据下标和所述单元数据,将所述类型为变化帧的帧数据编码为变化帧数据;以及
根据所述类型为原始帧的帧数据和所述变化帧数据,生成所述压缩编码数据。
3.根据权利要求2所述的方法,其特征在于,对所述肢体帧数据集合和/或所述脸部帧数据集合中的帧数据进行解析,确定所述帧数据的类型的操作,包括:
对所述肢体帧数据集合和/或所述脸部帧数据集合中的帧数据进行解析,确定所述帧数据的传输数据结构;以及
根据所述传输数据结构,对所述帧数据的数据结构进行分析,并根据分析结果确定所述帧数据的类型。
4.根据权利要求1所述的方法,其特征在于,将所述压缩编码数据进行封包后通过预设的数据传输通道传输至所述直播客户端的操作,包括:
将所述压缩编码数据按照自定义的数据传输协议进行封包操作,生成肢体数据包和/或脸部数据包,其中所述自定义的数据传输协议为在RTMP协议的基础上对所述RTMP协议中的NAL头的含义进行自定义得到的;以及
将所述肢体数据包和/或所述脸部数据包通过支持所述自定义的数据传输协议的数据传输通道传输至所述直播客户端。
5.一种虚拟直播数据的处理方法,应用于直播用户的终端设备,其中所述终端设备预先安装有与直播平台对应的直播客户端,其特征在于,包括:
接收通过预设的数据传输通道传输的压缩编码数据,其中所述压缩编码数据为利用预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码生成的;
利用预设的与所述压缩编码算法对应的解码解压缩算法,对所述压缩编码数据进行解压解码,生成所述肢体数据和/或所述脸部数据,其中所述解码解压缩算法预先存储于所述直播客户端;以及
将所述肢体数据和/或所述脸部数据在所述直播客户端进行渲染并显示。
6.根据权利要求5所述的方法,其特征在于,将所述肢体数据和/或所述脸部数据在所述直播客户端进行渲染并显示的操作,包括:
根据所述肢体数据和/或所述脸部数据,利用Unity3D引擎对3D虚拟角色的肢体和脸部进行渲染,生成包含有所述3D虚拟角色的实时视频;以及
在所述直播客户端上直播所述实时视频。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至6中任意一项所述的方法。
8.一种虚拟直播数据的处理装置,其特征在于,包括:
获取模块,用于获取待传输至直播客户端的肢体数据和/或脸部数据,其中所述直播客户端预先安装于直播用户的终端设备;
压缩编码模块,用于根据预设的压缩编码算法对所述肢体数据和/或所述脸部数据进行压缩编码,生成压缩编码数据;以及
传输模块,用于将所述压缩编码数据进行封包后通过预设的数据传输通道传输至所述直播客户端,其中所述直播客户端预先存储有与所述压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
9.一种虚拟直播数据的处理装置,其特征在于,包括:
接收模块,用于接收通过预设的数据传输通道传输的压缩编码数据,其中所述压缩编码数据为利用预设的压缩编码算法对肢体数据和/或脸部数据进行压缩编码生成的;
解码解压缩模块,用于利用预设的与所述压缩编码算法对应的解码解压缩算法,对所述压缩编码数据进行解压解码,生成所述肢体数据和/或所述脸部数据,其中所述解码解压缩算法预先存储于直播客户端,其中所述直播客户端预先安装于直播用户的终端设备;以及
渲染及显示模块,用于将所述肢体数据和/或所述脸部数据在所述直播客户端进行渲染并显示。
10.一种虚拟直播数据的处理装置,其特征在于,包括:
第一处理器;以及
第一存储器,与所述第一处理器连接,用于为所述第一处理器提供处理以下处理步骤的指令:
获取待传输至直播客户端的肢体数据和/或脸部数据,其中所述直播客户端预先安装于直播用户的终端设备;
根据预设的压缩编码算法对所述肢体数据和/或所述脸部数据进行压缩编码,生成压缩编码数据;以及
将所述压缩编码数据进行封包后通过预设的数据传输通道传输至所述直播客户端,其中所述直播客户端预先存储有与所述压缩编码算法对应的解码解压缩算法以及预先配置有虚拟角色的渲染引擎。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760579.7A CN111970522A (zh) | 2020-07-31 | 2020-07-31 | 虚拟直播数据的处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010760579.7A CN111970522A (zh) | 2020-07-31 | 2020-07-31 | 虚拟直播数据的处理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111970522A true CN111970522A (zh) | 2020-11-20 |
Family
ID=73363866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010760579.7A Pending CN111970522A (zh) | 2020-07-31 | 2020-07-31 | 虚拟直播数据的处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111970522A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194350A (zh) * | 2021-04-30 | 2021-07-30 | 百度在线网络技术(北京)有限公司 | 推送待播报数据、播报数据的方法和装置 |
WO2023225859A1 (zh) * | 2022-05-24 | 2023-11-30 | 云智联网络科技(北京)有限公司 | 虚拟直播软件终端优化方法、装置、电子设备和程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180091869A1 (en) * | 2016-09-27 | 2018-03-29 | Srinivas Krishna | Method and system for positioning, viewing and sharing virtual content |
CN109120985A (zh) * | 2018-10-11 | 2019-01-01 | 广州虎牙信息科技有限公司 | 直播中的形象展示方法、装置和存储介质 |
CN109195020A (zh) * | 2018-10-11 | 2019-01-11 | 三星电子(中国)研发中心 | 一种ar增强的游戏直播方法和系统 |
CN110557625A (zh) * | 2019-09-17 | 2019-12-10 | 北京达佳互联信息技术有限公司 | 虚拟形象直播方法、终端、计算机设备及存储介质 |
JP2020071851A (ja) * | 2018-10-31 | 2020-05-07 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | アバタによる生放送方法及び装置 |
CN111147873A (zh) * | 2019-12-19 | 2020-05-12 | 武汉西山艺创文化有限公司 | 基于5g通信的虚拟形象直播方法及系统 |
-
2020
- 2020-07-31 CN CN202010760579.7A patent/CN111970522A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180091869A1 (en) * | 2016-09-27 | 2018-03-29 | Srinivas Krishna | Method and system for positioning, viewing and sharing virtual content |
CN109120985A (zh) * | 2018-10-11 | 2019-01-01 | 广州虎牙信息科技有限公司 | 直播中的形象展示方法、装置和存储介质 |
CN109195020A (zh) * | 2018-10-11 | 2019-01-11 | 三星电子(中国)研发中心 | 一种ar增强的游戏直播方法和系统 |
JP2020071851A (ja) * | 2018-10-31 | 2020-05-07 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | アバタによる生放送方法及び装置 |
CN110557625A (zh) * | 2019-09-17 | 2019-12-10 | 北京达佳互联信息技术有限公司 | 虚拟形象直播方法、终端、计算机设备及存储介质 |
CN111147873A (zh) * | 2019-12-19 | 2020-05-12 | 武汉西山艺创文化有限公司 | 基于5g通信的虚拟形象直播方法及系统 |
Non-Patent Citations (2)
Title |
---|
侯正信等: "《"十二五"普通高等教育本科国家级规划教材 电视原理 第7版》", 30 September 2016, 北京:国防工业出版社 * |
权怡: "《数字电视技术与应用》", 31 January 2017, 合肥:合肥工业大学出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194350A (zh) * | 2021-04-30 | 2021-07-30 | 百度在线网络技术(北京)有限公司 | 推送待播报数据、播报数据的方法和装置 |
WO2023225859A1 (zh) * | 2022-05-24 | 2023-11-30 | 云智联网络科技(北京)有限公司 | 虚拟直播软件终端优化方法、装置、电子设备和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103650515B (zh) | 无线3d 流式传输服务器 | |
JP4690400B2 (ja) | Saf同期化階層パケット構造とこれを用いるサーバシステム | |
KR100785013B1 (ko) | 3d 압축 데이터 생성, 복원 방법 및 그 장치 | |
CN112019877A (zh) | 基于vr设备的投屏方法、装置、设备及存储介质 | |
CN111970522A (zh) | 虚拟直播数据的处理方法、装置及存储介质 | |
CN112004101B (zh) | 虚拟直播数据的传输方法、装置及存储介质 | |
CN108632679B (zh) | 一种多媒体数据传输的方法和一种视联网终端 | |
CN114554277B (zh) | 多媒体的处理方法、装置、服务器及计算机可读存储介质 | |
CN110572673A (zh) | 视频编解码方法和装置、存储介质及电子装置 | |
KR100785012B1 (ko) | 3d 압축 데이터 생성, 복원 방법 및 그 장치 | |
TWI803274B (zh) | 點雲解碼方法及裝置、點雲編碼方法及裝置以及電子設備 | |
CN108124183B (zh) | 以同步获取影音以进行一对多影音串流的方法 | |
KR100991803B1 (ko) | Saf 동기화 계층 패킷 구조를 제공하는 saf 동기화 계층 패킷 제공 시스템 및 사용자 단말 | |
CN114470745A (zh) | 一种基于srt的云游戏实现方法、装置及系统 | |
CN114173157A (zh) | 视频流传输方法及装置、电子设备、存储介质 | |
CN101242524B (zh) | 数字无线可视门铃嵌入式控制系统 | |
CN113207040A (zh) | 一种视频远程快速回放的数据处理方法、装置及系统 | |
US11758108B2 (en) | Image transmission method, image display device, image processing device, image transmission system, and image transmission system with high-transmission efficiency | |
CN110798715A (zh) | 基于图像串的视频播放方法及系统 | |
CN110691212A (zh) | 数据编解码的方法和系统 | |
Fautier | Next-generation video compression techniques | |
CN113674387B (zh) | 非自然场景视频的视频处理方法、装置 | |
CN101621662A (zh) | 电视机上实现信息交互的方法和装置 | |
CN113476830A (zh) | 云游戏数据处理方法、装置、游戏终端及处理器 | |
CN115661343A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220323 Address after: 414, floor 4, courtyard 19, Xinyuan Xili, Chaoyang District, Beijing Applicant after: Beijing Xinyu Technology Co.,Ltd. Address before: 100000 1603B, block a, Shangdu international, Chaoyang District, Beijing Applicant before: BEIJING LINYUN INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201120 |
|
RJ01 | Rejection of invention patent application after publication |