CN115550694A - 用于多路数据流的传输的方法、装置、设备和介质 - Google Patents

用于多路数据流的传输的方法、装置、设备和介质 Download PDF

Info

Publication number
CN115550694A
CN115550694A CN202211129092.4A CN202211129092A CN115550694A CN 115550694 A CN115550694 A CN 115550694A CN 202211129092 A CN202211129092 A CN 202211129092A CN 115550694 A CN115550694 A CN 115550694A
Authority
CN
China
Prior art keywords
data stream
data streams
data
multiple data
transmission
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
Application number
CN202211129092.4A
Other languages
English (en)
Inventor
张耀
先久零
杜晶
张雷
张世阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zitiao Network Technology Co Ltd
Original Assignee
Beijing Zitiao Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zitiao Network Technology Co Ltd filed Critical Beijing Zitiao Network Technology Co Ltd
Priority to CN202211129092.4A priority Critical patent/CN115550694A/zh
Publication of CN115550694A publication Critical patent/CN115550694A/zh
Priority to PCT/CN2023/115819 priority patent/WO2024055844A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping

Abstract

根据本公开的实施例,提供了多路数据流的传输方法、装置、设备和介质。该多路数据流的传输方法包括:在第一设备处,获取待传输的多路数据流。该方法还包括基于传输分辨率合并所述多路数据流以生成合成数据流,所述传输分辨率大于所述多路数据流的分辨率之和。该方法进一步包括向第二设备传输所述合成数据流。以此方式,用户可以仅通过单条链路即可将多路数据流传输至另一设备。由此降低了链路维护成本,并且提高了数据传输的可靠性。

Description

用于多路数据流的传输的方法、装置、设备和介质
技术领域
本公开的示例实施例总体涉及计算机领域,特别地涉及用于多路数据流的传输的方法、装置、设备和计算机可读存储介质。
背景技术
随着互联网技术的发展,基于互联网的服务得到了越来越广泛的应用,并且已经成为人们日常生活中的重要组成部分。人们在使用基于互联网的服务时,需要在多个设备间交互数据。例如,当用户需要使用云渲染服务时,用户需要将待渲染数据上传至云渲染平台,云渲染平台执行渲染任务后,将渲染结果发送给相应的用户。此外,随着云渲染技术的发展和应用场景的扩展,云渲染技术被应用于虚拟直播和虚拟会议等场景。在这些场景中,用户需要传输的数据越来越丰富,例如,用户通常需要将多路数据流传输至云渲染平台。
换句话说,随着互联网技术的发展,用户之间的数据交互变得越来越频繁且多样。因此,需要提供一种高效的数据传输机制,以提高多路数据流的传输效率。
发明内容
在本公开的第一方面,提供了一种多路数据流的传输方法。该方法包括在第一设备处,获取待传输的多路数据流。该方法还包括基于传输分辨率合并所述多路数据流以生成合成数据流,所述传输分辨率大于所述多路数据流的分辨率之和。该方法进一步包括向第二设备传输所述合成数据流。
在本公开的第二方面,提供了一种多路数据流的传输装置。该装置包括数据流获取模块,被配置为在第一设备处,获取待传输的多路数据流。该装置还包括合成模块,被配置为基于传输分辨率合并所述多路数据流以生成合成数据流,所述传输分辨率大于所述多路数据流的分辨率之和。该装置进一步包括传输模块,被配置为向第二设备传输所述合成数据流。
在本公开的第三方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行第一方面的方法。
在本公开的第四方面,提供了一种计算机可读存储介质。介质上存储有计算机程序,计算机程序被处理器执行以实现第一方面的方法。
应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开的实施例能够在其中应用的示例环境的示意图;
图2示出根据本公开的一些实施例的处理离线渲染任务过程的流程图;
图3示出了本公开的实施例能够在其中应用的另一示例环境的示意图;
图4示出了根据本公开的一些实施例的处理离线渲染任务装置的框图;以及
图5示出了能够实施本公开的多个实施例的设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获得或使用)应当遵循相应法律法规及相关规定的要求。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获得和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获得用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
如上所述,随着互联网技术的发展,设备间的数据交互变得越来越频繁且多样,例如,用户通常需要与其他设备交互多路数据流。在传统的多路数据流传输方案中,当用户需要传输多路数据流时,用户需要额外建立多条链路以传输多路数据流,而维护多条链路为用户带来了额外的链路维护成本。此外,多条链路间的数据同步也需要额外的处理和通信开销。更重要的是,当多条链路中的一条链路传输失败时,会导致整个数据传输的重传,从而最终影响用户体验。因此,需要提供一种高效的数据传输机制,以提高多路数据流的传输效率。
根据本公开的一些实施例,提出了一种多路数据流的传输方案。根据本公开的方案,当用户需要交互多路数据流时,用户基于传输分辨率将多路数据流进行合并以生成合并数据流,其中传输分辨率大于多路数据流的分辨率之和。以此方式,用户仅需建立和维护一条链路,即可将多路数据流传输至另一设备。由此降低了用户的链路维护成本,并且提高了数据传输的可靠性。
示例环境
图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。环境100包括第一设备110-1、110-2和110-3以及第二设备120。为便于讨论,第一设备110-1、110-2和110-3可以被统称为或单独称为第一设备110。环境100还包括第二设备120,第一设备110和第二设备120之间可以通过有线或无线的方式进行通信。
进一步地,在图1的特征实施例中,第一设备110-1需要将数据流传输至第二设备120。如图1所示,第一设备110-1需要将数据流130-1,以及可选地数据流130-2、130-3以及130-4传输至第二设备120。为便于讨论,第一数据流130-1、130-2、130-3以及130-4可以被统称为数据流130,或单独称为第一数据流130-1、第二数据流130-2、第三数据流130-3以及第四数据流130-4。
在一些实施例中,第一设备110-1可以基于传输分辨率来合并多路数据流130以生成合成数据流140,其中传输分辨率大于待传输的多路数据流130的分辨率之和。进一步地,该合成数据流140可以以单路数据流的形式被传输至第二设备120。
在一些实施例中,不同的数据流130可以具有不同的分辩率。仅作为示例,第一数据流130-1和第二130-2可以具有第一分辨率,例如,1080P;,第三数据流130-3和第四数据流130-4可以具有第二分辨率,例如,720P。
进一步地,不同的数据流130可以具有不同的色彩编码格式。仅作为示例,第一数据流130-1和第三数据流130-3可以具有第一色彩编码格式,例如,RGBA格式;第二数据流130-2和第四数据流130-4可以具有另一色彩编码格式,例如,仅包括透明度信息,诸如Alpha通道数据。
进一步地,不同的数据流130间可以彼此独立也可以彼此关联。仅作为示例,第一数据流130-1可以与第二数据流130-2相关联。在一特定实施例中,第二数据流130-2是通过裁剪第一数据流130-1而获得的。在另一特定实施例中,第二数据流130-2与第一数据流130-1的透明度信息相关联。例如,第一数据流130-1为RGBA格式的数据,而第二数据流130-2与第一数据流130-1的Alpha通道数据相关联。
应当理解,上述针对数据流130的示例仅用于说明的目的而不应理解为对本公开的任何限定。在其他实施例中,数据流130的分辨率、关联关系、色彩编码格式以及其他特性可以根据具体的应用场景而发生改变。本公开的各个实施例在此方面不受限制。
在一些实施例中,第一设备110可以被实现为终端设备。终端设备可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。在一些实施例中,终端设备也能够支持任意类型的针对用户的接口,诸如“可佩戴”电路等。
在一些实施例中,第二设备120为提供渲染服务的设备,尤其可以为云渲染设备。
在一些实施例中,第一设备110通过浏览器或客户端等应用向第二设备120发送多个数据流130。第二设备120接收多个数据流130并执行相应的渲染任务。随后,渲染结果可以返回给第一用户设备110或其他相应的设备。
在一些实施例中,用户可以在第一设备110上运行虚拟直播或虚拟会议等应用。在这些特定应用场景下,用户可以在第一设备110处可以部署至少一个图像采集设备,诸如摄像装置,以采集用户的音视频图像数据。进一步地,在这些特定应用场景下,除了主屏幕展示外,还会有其它的虚拟屏幕以展示额外的视频流或图像信息。此外,用户还可以有虚拟或渲染背景等需求。例如,用户期望将背景变更为特定的场景,诸如,特定会议室、星空等。在这种情况下,用户通常需要将以下一种或多种数据传输至第二设备120:图像采集设备所采集的音视频图像数据、用于渲染操作的图像数据或算法数据、透明通道数据、以及其他自定义类型的数据等。这些数据被分别包括在多路不同的数据流130中。在一些实施例中,多路数据流130被合并为合并数据流140并传输至第二设备120以进行渲染。
应当理解,上述特定场景仅用于示意多路数据流传输的场景,其不应理解为对本公开应用场景的限定。换句话说,在其他实施例中,第一设备120和第二设备120可以为其他设备类型,第一设备120和第二设备120也可以运行其他的应用。本公开的各个实施例在此方面不受限制。
应当理解,图1仅示出了示例的多路数据流传输的环境。换句话说,图1所示出的第一设备110、第二设备120、数据流130、合并数据流140的数目和关联关系仅仅是说明和示意性的。在其他实施例中,环境100可以包括更多或更少的第一设备110、第二设备120、数据流130、合并数据流140,并且其关联关系也可以根据具体的应用场景而发生变化。本公开的各个实施例在此方面不受限制。
示例方法
图2示出根据本公开的一些实施例的实现的多路数据流传输的过程200的流程图。图3示出了本公开的实施例能够在其中应用的另一示例环境300的示意图。在一些实施例中,过程200可以被实现在第一设备110处,诸如,第一设备110-1处。
为便于讨论,将参考图1的环境100和图3的环境300来讨论过程200。应当理解,虽然过程200的方法是参考图1的环境100和图3的环境300而被讨论的,但正如本公开已经讨论的,环境100和300仅仅是本公开的实例环境,因此环境100和300不应理解为对过程200实施环境的限定。
进一步地,为便于理解,在一些实施例中,数据流130-1至130-4将作为多路数据流的示例,RGBA将被作为第一色彩编码格式的示例,YUV将被作为第二色彩编码格式的示例,Alpha通道信息将被作为透明度信息的示例。应当理解,上述特定的示例仅用于说明的目的而不应理解为对本公开的限定。例如,在其他实施例中,数据流130的数量可以发生变化,而数据流130的色彩编码格式也可以采用任何现有的或未来定义的任意色彩编码格式,透明度信息被表示为其他色彩特征参数。本公开的各个实施例在此方面不受限制。
在一些实施例中,色彩编码格式RGBA具有四个通道数据,即,红色(R)、绿色(G)、蓝色(B)以及Alpha通道;色彩编码格式YUV具有三个通道数据,即,亮度/灰度(Y),色度(U)和浓度(Y);Alpha通道数据被认为是单通道数据。
进一步地,本公开在第一设备110和第二设备120的设备类型方面亦不受限制。例如,在一些实施例中,第一设备110为终端设备,第二设备120为服务器设备。备选地,在其他实施例中,第一设备110和第二设备120均为终端设备。
此外,过程200可以适用于需要进行多路数据流交互的任意应用场景。一种示例场景为虚拟直播。另一示例应用场景是虚拟会议。又一示例应用场景为虚拟演播。在这些示例实施场景中,第一设备110可以为虚拟直播、虚拟演播或虚拟会议客户端,而第二设备120可以为云渲染平台。
在框210,第一设备110-1获取待传输的多路数据流130。如图3所示,第一设备110-1获取数据流130-1、130-2、130-3以及130-4。在一些实施例中,多路数据流130中的至少一路数据流为图像数据流,诸如,视频数据流。
在一些实施例中,第一设备110-1定时地收集输入的多路数据流130的数据。在一些实施例中,第一设备110-1根据设置的输入帧率来确定定时数值,其中定时数值可以为输入帧率的倒数。例如,当输入帧率被配置为30帧/秒时,定时数值则被确定为33ms。第一设备110-1根据确定的定时数值周期性地收集多路数据流130。
进一步地,第一设备110-1可以通过多种方式来获取数据流130。在一特定实施例中,数据流130是由第一设备110-1处的图像采集设备捕获的,例如,第一设备110-1为虚拟直播或虚拟会议客户端,第一设备110-1通过摄像装置采集本地视频数据以获得数据流130。在另一特定实施例中,数据流130可以是存储在第一设备110-1处的视频数据,例如,第一设备110-1存储的用于渲染的视频数据。应当理解,本公开的各实施例在数据流130的获取方式方面不受限制。
在一些实施例中,不同的数据流130可以彼此独立地被获取,例如,第一数据流130-1由第一摄像头捕获,第二数据流130-2为本地存储的用于传染的图像文件。备选地,在其他实施例中,不同的数据流130的获取方式可以彼此相互关联,例如,第二数据流130-2可以通过裁剪第一数据流130-1而获得,或者第二数据流130-2与第一数据流130-1的透明度信息相关联。在一特定实施例中,第一数据流130-1为RGBA格式的数据流,而第二数据流130-2为Alpha通信数据,其中第二数据流130-2的Alpha通信数据可以独立于第一数据流130-1,也可以与第一数据流130-1的Alpha通道数据相关联。
在一些实施例中,不同的数据流130可以具有不同的分辩率。仅作为示例,第一数据流130-1和第二130-2可以具有第一分辨率,例如,1080P;,第三数据流130-3和第四数据流130-4可以具有第二分辨率,例如,720P。
进一步地,不同的数据流130可以具有不同的色彩编码格式。仅作为示例,第一数据流130-1和第三数据流130-3可以具有第一色彩编码格式,例如,RGBA格式;第二数据流130-2和第四数据流130-4可以具有另一色彩编码格式,例如,仅包括透明度信息,诸如,Alpha通道数据。
在框220,第一设备110-1基于传输分辨率将多路数据流130合并以生成合成数据流140,其中传输分辨率大于待传输的多路数据流的分辨率之和。在框230,第一设备110-1向第二设备120传输该合成数据流140。
通过基于传输分辨率的合成操作,第一设备110-1仅需维护一条传输链路,即可以将多路数据流130传输至第二设备120。同时,发送端和接收端均不需要进行额外的数据同步处理。此外,当多路数据流130的数据彼此关联时,可以使得接收端更好地恢复数据,可以避免由于部分链路传输失败所导致的数据重传。针对云渲染的场景,可以避免由于部分链路传输失败所导致的渲染任务无法执行和渲染效果不好的问题。
接下来,将结合图3来对将多路数据流130进行合并以生成合并数据流140的过程进行详细讨论。此外,为了更好地描述合并操作的各个细节,在图3的特定实施例中,对数据流130-1至130-4做如下假设:第一数据流130-1的分辨率为1080P,编码格式为第一色彩编码格式,诸如,RGBA格式;第二数据流130-2的分辨率为1080P,与透明度信息相关联,诸如,Alpha通道数据,并且第二数据流130-2与第一数据流130-1的透明度信息相关;第三数据流130-3的分辨率为720P,编码格式为第一色彩编码格式,诸如,RGBA格式;第四数据流130-1分辨率为720P,与透明度信息相关联,诸如,Alpha通道数据,并且第四数据流130-2与第三数据流的透明度信息不相关。
在一些实施例中,第一设备110-1首先确定传输分辨率,并根据该传输分辨率在存储器中分配一存储空间,以将多路数据流130写入该分配的存储空间中。存储空间的示例可以为易失性存储器,包括内存、寄存器以及高速缓存等。以此方式,多路数据流130的合并效率将得到提升。
在一些实施例中,第一设备110-1可以获得多路数据流130的各自分辨率,并确定多路数据流130的分辨率之和。附加地,在一些实施例中,,第一设备110-1可以将多路数据流130的分辨率之和与预定的或动态确定的分辨率余量之和作为传输分辨率。
备选地,在一些实施例中,第一设备110-1可以根据多个参数来确定传输分辨率。参数的一个示例是多路数据流130的各自分辨率中的最大分辨率。参数的另一示例是多路数据流的数目。在一特定实施例中,传输分辨率可为多路数据流130的各自分辨率中的最大分辨率与多路数据流130的数目的乘积。在图3的特定实施中,最大分辨率为1080P,多路数据流130的数目为4,则传输分辩率可以为1080P与4的乘积。
应当理解,上述确定传输分辨率的示例仅仅是示意性的。在其他实施例中,可以使用任何适当的参数和适当的规则来确定传输分辨率,以使得确定的传输分辨率可以容纳多路数据流130。本公开的各个实施例在此方面不受限制。
在一些实施中,多路数据流130中的第一部分数据流可具有第一色彩编码格式,多路数据流130中的第二部分可与透明度信息相关联。在图3的特定实施例中,第一数据流130-1和第三数据流130-3具有第一色彩编码格式,第二数据流130-3和第四数据流130-4与透明度信息相关联。
在一些实施例中,相比于与透明度信息相关联的数据流,第一设备110-1优先将具有第一色彩编码格式的数据流与其他数据流进行合并。在图3的特定实施例中,第一设备110-1优先将第一数据流130-1和第三数据流进行合并(140-1)。
在一些实施例中,针对每路数据流130,第一设备110-1优先写入头信息,其中头信息包含每路数据流130的数据信息,诸如,分辨率、数据格式、额外信息长度等。随后写入没路数据流的图像数据。
在一些实施例中,为了降低传输的数据量,可以对多路数据流130中的一部分数据流的编码格式进行转换。具体而言,对多路数据流中的至少一路数据流进行色彩编码格式转换(140-2),以降低色彩编码的通道数目,并将经过色彩编码格式转换的至少一路数据流与其他数据流合并(140-3)。在图3的特定实施例中,第一设备110-1将第一数据流130-1和第三数据流的130-3的编码格式进行转换,例如,将RGBA格式转换为YUV格式,并将转换后的第一数据流130-1和第三数据流130-3与第二数据流130-2和第四数据流130-4进行合并。以此方式,实现了在不过度牺牲数据质量的情况下降低了待传输的数据的总量,从而提高了传输效率。
在一些实施例中,为了简化系统的结构,可以将色彩编码格式转换操作设置为必要的操作,并且色彩编码格式操作仅适应于多通道数据。此时,如果多路数据流130的色彩编码格式均为单通道格式,则必须的色彩编码格式操作将导致数据错误。为了避免上述问题,如果多路数据流130的色彩编码格式均为单通道格式,则将多路数据流130首先转换为具有第一色彩编码格式的第一组数据流。接下来,再将该第一组数据流转换为具有第二色彩编码格式的第二组数据流,其中第一色彩编码格式和第二色彩编码格式均为多通道格式,最后将第二组数据流进行合并。以此方式,简化了系统的结构,实现了仅通过单一的系统结构即可以处理多种类型的数据流。
在图3的特定实施例中,如果仅包括第二数据流130-2和第四数据流130-4,则可以首先将第二数据流130-2和第四数据流130-4转换为RGBA格式以生成第一组数据流,并将第一组数据流转换为YUV格式以生成第二组数据流,并对第二组数据进行合并以生成合并数据流140。
在一些实施例中,合并数据流140可以TCP或UDP的方式传输至第二设备120。本公开的各个实施例在具体的传输方式方面不受限制。在一些实施例中,合并数据流140以实时传输协议(RTP)的方式被传输至第二设备120。以此方式,传输可靠性和传输效率都将得到提升。
继续参考图3,当第二设备120接收到合并数据流140后,第二设备120可以通过合并操作的逆向操作将合并数据流140恢复为多路数据流。例如,第二设备120可首先提取与透明度信息相关联的数据流。在图3的特定实施例中,第二设备120接收到合并数据流后,可以首先提取第二数据流130-2和第四数据流130-4。
在一些实施例中,第二设备120可以将数据流的色彩编码格式转换为更易处理的色彩编码格式。例如,第二设备可以对合并数据流140中的至少一路数据流进行色彩编码格式转换,以增加色彩编码的通道数目。在图3的特定实施例中,第二设备120将第一数据流130-1和第三数据流的130-1的色彩编码格式进行转换,例如,将YUV格式转换为RGBA格式。
在一些实施例中,第二设备120针对每路数据流130,提取与该数据流130对应的头信息。如上所述,头信息可以包含每路数据流的数据信息,诸如,分辨率、数据格式、额外信息长度等。以此方式,第二设备120可以更好地对所接收的多路数据流130进行后续处理。
进一步地,如前文所讨论的,不同的数据流间可以此关联,例如,第二数据流130-2可以通过裁剪第一数据流130-1而获得,或者第二数据流130-2与第一数据流130-1的透明度信息相关联。在这种情况下,可以使用第二数据流130-2的数据来辅助第一数据流130-1的色彩编码格式的转换。在图3的特定实施例中,第二数据流130-2与第一数据流130-1的Alpha通道信息相关联,则在将第一数据流130-1的编码格式由YUV转换为RGBA时,可以参考第二数据流130-2的数据。以此方式,可以最小化色彩编码格式转换对数据流产生的影响。
在一些实施例中,第二设备120可以对恢复后的多路数据流130进行后续处理(350),诸如,渲染操作。经处理的数据可以被存储(360)并随后传输至相应的设备。
在一些实施例中,处理结果可以以TCP或UDP的方式传输至相应的设备。本公开的各个实施例在具体的传输方式方面不受限制。在图3的特定实施例中,处理结果以实时传输协议的方式被传输至第一设备110-1。以此方式,传输可靠性和传输效率都将得到提升。
在虚拟直播和虚拟会议的特定场景中,多路数据流130中的一路数据流可以为包括用户图像的视频流,并且第二设备120可以为云渲染设备。在这种情况下,当恢复得到多路数据流130后,第二设备120可以对包括用户图像的数据流进行诸如抠图等操作以获取用户图像,并将用户图像与其他虚拟背景融合以渲染生成特定的虚拟直播或虚拟会议场景。
以此方式,尤其对于诸如虚拟直播和虚拟会议等需要多路数据流协同传输的场景,多路数据流130可以经过合并、色彩编码格式转换等处理后,以单路数据流的形式传输至另一设备,从而降低了链路维护成本。更重要的是,由于第一设备110-1在本地将多路数据流130合成为单路数据流后再进行传输,避免了单帧内由于多路分开传输所导致的数据丢失的问题,从而提高了数据传输的可靠性。
示例装置和设备
图4示出了根据本公开的一些实施例的处理离线渲染任务的装置400的框图。装置400可以被实现为或者被包括在第一设备110。装置400中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
如图所示,装置400包括数据流获取模块410,被配置为在第一设备110处,获取待传输的多路数据流。装置400进一步包括合成模块420,被配置为基于传输分辨率合并所述多路数据流以生成合成数据流,所述传输分辨率大于所述多路数据流的分辨率之和。装置400还包括传输模块430,被配置为向第二设备120传输所述合成数据流。
在一些实施例中,所述传输分辨率基于如下项确定所述多路数据流的各自分辨率中的最大分辨率,以及所述多路数据流的数目。
在一些实施例中,所述多路数据流包括:第一数据流130-1,所述第一数据流130-1具有第一色彩编码格式;以及第二数据流130-2,所述第二数据流130-2与透明度信息相关联。
在一些实施例中,所述第二数据流130-2是通过裁剪所述第一数据流130-1而获得的。
备选地,在一些实施例中,所述第二数据流130-2与所述第一数据流130-1的透明度信息相关联。
在一些实施例中,合成模块420还被配置为:相比于所述第二数据流130-2,优先将所述第一数据流130-1与其他数据流合并。
在一些实施例中,合成模块420还被配置为:对所述多路数据流中的至少一路数据流进行色彩编码格式转换,以降低色彩编码的通道数目;以及将经过色彩编码格式转换的所述至少一路数据流与其他数据流合并。
在一些实施例中,合成模块420还被配置为:如果所述多路数据流的色彩编码格式均为单通道格式,将所述多路数据流转换为具有第一色彩编码格式的第一组数据流;将所述第一组数据流转换为具有第二色彩编码格式的第二组数据流,所述第一色彩编码格式和所述第二色彩编码格式均为多通道格式;以及合并所述第二组数据流。
在一些实施例中,所述多路数据流中的至少一路数据流为图像数据流,或者所述多路数据流中的至少一路数据流是由所述第一设备110处的图像采集设备捕获的。
在一些实施例中,所述第一设备110为虚拟直播或虚拟会议客户端设备,所述第二设备120为云渲染设备。
图5示出了其中可以实施本公开的一个或多个实施例的计算设备/系统500的框图。应当理解,图5所示出的计算设备/系统500仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图5所示出的计算设备/系统500可以用于实现图1的第一设备110。
如图5所示,计算设备/系统500是通用计算设备的形式。计算设备/系统500的组件可以包括但不限于一个或多个处理器或处理单元510、存储器520、存储设备530、一个或多个通信单元5540、一个或多个输入设备550以及一个或多个输出设备560。处理单元510可以是实际或虚拟处理器并且能够根据存储器520中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备/系统500的并行处理能力。
计算设备/系统500通常包括多个计算机存储介质。这样的介质可以是计算设备/系统500可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器520可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备530可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备/系统500内被访问。
计算设备/系统500可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图5中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器520可以包括计算机程序产品525,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
通信单元540实现通过通信介质与其他计算设备进行通信。附加地,计算设备/系统500的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备/系统500可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备550可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备560可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备/系统500还可以根据需要通过通信单元550与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备/系统500交互的设备进行通信,或者与使得计算设备/系统500与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令或计算机程序,其中计算机可执行指令或计算机程序被处理器执行以实现上文描述的方法。
根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
在本文中参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。

Claims (12)

1.一种多路数据流的传输方法,包括:
在第一设备处,获取待传输的多路数据流;
基于传输分辨率合并所述多路数据流以生成合成数据流,所述传输分辨率大于所述多路数据流的分辨率之和;以及
向第二设备传输所述合成数据流。
2.根据权利要求1所述的方法,其中所述传输分辨率基于如下项确定:
所述多路数据流的各自分辨率中的最大分辨率,以及
所述多路数据流的数目。
3.根据权利要求1所述的方法,其中所述多路数据流包括:
第一数据流,所述第一数据流具有第一色彩编码格式;以及
第二数据流,所述第二数据流与透明度信息相关联。
4.根据权利要求3所述的方法,其中
所述第二数据流是通过裁剪所述第一数据流而获得的,或者
所述第二数据流与所述第一数据流的透明度信息相关联。
5.根据权利要求3或4所述的方法,其中合并所述多路数据流包括:
相比于所述第二数据流,优先将所述第一数据流与其他数据流合并。
6.根据权利要求1所述的方法,其中合并所述多路数据流包括:
对所述多路数据流中的至少一路数据流进行色彩编码格式转换,以降低色彩编码的通道数目;以及
将经过色彩编码格式转换的所述至少一路数据流与其他数据流合并。
7.根据权利要求1所述的方法,其中将所述多路待传输的数据流合并为合成数据流包括:
如果所述多路数据流的色彩编码格式均为单通道格式,将所述多路数据流转换为具有第一色彩编码格式的第一组数据流;
将所述第一组数据流转换为具有第二色彩编码格式的第二组数据流,所述第一色彩编码格式和所述第二色彩编码格式均为多通道格式;以及
合并所述第二组数据流。
8.根据权利要求1所述的方法,其中,
所述多路数据流中的至少一路数据流为图像数据流,或者
所述多路数据流中的至少一路数据流是由所述第一设备处的图像采集设备捕获的。
9.根据权利要求1所述的方法,其中所述第一设备为虚拟直播或虚拟会议客户端设备,所述第二设备为云渲染设备。
10.一种多路数据流的传输装置,包括:
数据流获取模块,被配置为在第一设备处,获取待传输的多路数据流;
合成模块,被配置为基于传输分辨率合并所述多路数据流以生成合成数据流,所述传输分辨率大于所述多路数据流的分辨率之和;以及
传输模块,被配置为向第二设备传输所述合成数据流。
11.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令在由所述至少一个处理单元执行时使所述设备执行根据权利要求1至9中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现根据权利要求1至9中任一项所述的方法。
CN202211129092.4A 2022-09-16 2022-09-16 用于多路数据流的传输的方法、装置、设备和介质 Pending CN115550694A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211129092.4A CN115550694A (zh) 2022-09-16 2022-09-16 用于多路数据流的传输的方法、装置、设备和介质
PCT/CN2023/115819 WO2024055844A1 (zh) 2022-09-16 2023-08-30 用于多路数据流的传输的方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211129092.4A CN115550694A (zh) 2022-09-16 2022-09-16 用于多路数据流的传输的方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN115550694A true CN115550694A (zh) 2022-12-30

Family

ID=84727416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211129092.4A Pending CN115550694A (zh) 2022-09-16 2022-09-16 用于多路数据流的传输的方法、装置、设备和介质

Country Status (2)

Country Link
CN (1) CN115550694A (zh)
WO (1) WO2024055844A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024055844A1 (zh) * 2022-09-16 2024-03-21 北京字跳网络技术有限公司 用于多路数据流的传输的方法、装置、设备和介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101977305A (zh) * 2010-10-27 2011-02-16 北京中星微电子有限公司 一种视频处理方法及装置和系统
US20120151027A1 (en) * 2010-12-14 2012-06-14 International Business Machines Corporation Policy driven dynamic composition of service dataflows
CN108471536B (zh) * 2018-03-14 2021-04-06 重庆虚拟实境科技有限公司 Alpha通道传输方法及装置、终端装置及存储介质
CN112468763B (zh) * 2020-11-11 2023-11-24 北京融讯科创技术有限公司 会议电视的视频传输和显示方法、装置、设备及存储介质
CN113194278A (zh) * 2021-03-23 2021-07-30 视联动力信息技术股份有限公司 一种会议控制方法、装置及计算机可读存储介质
CN115550694A (zh) * 2022-09-16 2022-12-30 北京字跳网络技术有限公司 用于多路数据流的传输的方法、装置、设备和介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024055844A1 (zh) * 2022-09-16 2024-03-21 北京字跳网络技术有限公司 用于多路数据流的传输的方法、装置、设备和介质

Also Published As

Publication number Publication date
WO2024055844A1 (zh) 2024-03-21

Similar Documents

Publication Publication Date Title
US9485466B2 (en) Video processing in a multi-participant video conference
US8872895B2 (en) Real-time video coding using graphics rendering contexts
EP1323308B1 (en) Delay reduction for transmission and processing of video data
US9172907B2 (en) Method and apparatus for dynamically adjusting aspect ratio of images during a video call
EP3804349B1 (en) Adaptive panoramic video streaming using composite pictures
CN113395478A (zh) 用于改进的视频会议的动态视频分辨率和质量
JP5772059B2 (ja) テレビ会議システムの処理方法、テレビ会議システム、プログラム及び記録媒体
KR20130092509A (ko) 멀티-홉 rtp 스트림에서의 중요 패킷 손실 처리 시스템 및 방법
WO2021254139A1 (zh) 视频处理方法、设备及存储介质
US20220329883A1 (en) Combining Video Streams in Composite Video Stream with Metadata
WO2024055844A1 (zh) 用于多路数据流的传输的方法、装置、设备和介质
CN111147801A (zh) 一种视联网终端的视频数据处理方法和装置
CN114584737A (zh) 一种云会议中实时多人同场景自定义的方法与系统
CN111385515B (zh) 视频会议数据的传输方法和视频会议数据的传输系统
TWI519131B (zh) 影像傳輸系統及其傳輸端裝置與接收端裝置
CN113068001A (zh) 基于级联摄像机的数据处理方法、装置、设备和介质
CN112752058B (zh) 调整视频流的属性的方法和装置
US20140347435A1 (en) Method and system for sharing content in videoconferencing
CN113141352B (zh) 多媒体数据的传输方法、装置、计算机设备和存储介质
CN112153412B (zh) 视频图像切换的控制方法、装置、计算机设备和存储介质
CN104954729A (zh) 视频会议数据处理方法及系统
JP2002016926A (ja) スプライト符号化データ伝送方法、スプライト符号化装置、スプライト符号化データ復号装置及び記録媒体
JP6216046B2 (ja) コーデックの自動適応化
EP4209003A1 (en) Orchestrating a multidevice video session
CN113573004A (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