CN117956170A - 一种数据传输的方法、装置、电子设备及存储介质 - Google Patents

一种数据传输的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117956170A
CN117956170A CN202211281875.4A CN202211281875A CN117956170A CN 117956170 A CN117956170 A CN 117956170A CN 202211281875 A CN202211281875 A CN 202211281875A CN 117956170 A CN117956170 A CN 117956170A
Authority
CN
China
Prior art keywords
data packet
type
frame
code rate
information
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
CN202211281875.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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211281875.4A priority Critical patent/CN117956170A/zh
Publication of CN117956170A publication Critical patent/CN117956170A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请提供一种数据传输的方法、装置、电子设备以及存储介质,涉及数据传输技术领域。该方法中,服务器确定第一数据包的类型,第一数据包的类型包括第一类型和第二类型,其中,第一类型为视频内部编码I帧,第二类型为视频前向预测P帧或视频双向内插B帧;当第一数据包为所述第一类型时,根据第一通道,以第一码率向终端设备发送第一数据包;当第一数据包为第二类型时,将第一数据包更新为第二数据包,第二数据包包括参考信息,参考信息用于终端设备解码所述第二数据包;根据第二通道,以第二码率向终端设备发送所述第二数据包,第一码率大于第二码率。该方法通过分通道并行传输I帧、B帧和P帧,减小了视频传输的时延提高了用户的体验质量。

Description

一种数据传输的方法、装置、电子设备及存储介质
技术领域
本申请涉及通信领域,并且具体的,涉及一种数据传输的方法、装置、电子设备及存储介质。
背景技术
一个画面组(Group of Pictures,GOP)就是一组连续的画面。动态图像专家组(Moving Pictures Experts Group,MPEG)编码将一个GOP分为I帧、P帧和B帧,I帧是内部编码帧,P帧是前向预测帧,B帧是双向内插帧。简单地讲,I帧是关键帧,可以理解为一个完整的画面,而P帧和B帧记录的是相对于I帧的变化,P帧表示跟前一帧的差别,B帧表示前后帧差别。没有I帧,P帧和B帧就无法解码。目前,基于GOP的视频传输,I帧、B帧和P帧按照先后顺序到达接收端,导致视频传输的时延较大,降低了用户的体验质量。
发明内容
本申请实施例提供了一种数据传输的方法,实现了分通道并行传输I帧、B帧和P帧,减小了视频传输的时延提高了用户的体验质量。
第一方面,本申请实施例提供了一种数据传输的方法,所述方法应用于服务器,包括:
确定第一数据包的类型,所述第一数据包的类型包括第一类型和第二类型,其中,所述第一类型为视频内部编码I帧,所述第二类型为视频前向预测P帧或视频双向内插B帧;
当所述第一数据包的类型为所述第一类型时,根据第一通道,以第一码率向终端设备发送所述第一数据包;
当所述第一数据包的类型为所述第二类型时,将所述第一数据包更新为第二数据包,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包;
根据第二通道,以第二码率向终端设备发送所述第二数据包,所述第一码率大于所述第二码率。
第二方面,本申请实施例提供了一种数据传输的方法,所述方法应用于终端设备,包括:
根据第一通道,以第一码率接收服务器发送的第一数据包,所述第一数据包的类型为第一类型,所述第一类型为视频内部编码I帧,或者,
根据第二通道,以第二码率接收服务器发送的第二数据包,所述第二数据包的类型为第二类型,所述第二类型为视频前向预测P帧或视频双向内插B帧,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包,所述第一码率大于所述第二码率;
解码所述第一数据包;
解码所述第二数据包;
显示所述第一数据包和所述第二数据包对应的图像。
第三方面,本申请实施例提供了一种数据传输的装置,包括:
处理单元,用于确定第一数据包的类型,所述第一数据包的类型包括第一类型和第二类型,其中,所述第一类型为视频内部编码I帧,所述第二类型为视频前向预测P帧或视频双向内插B帧;
收发单元,用于当所述第一数据包的类型为所述第一类型时,根据第一通道,以第一码率向终端设备发送所述第一数据包;
处理单元,用于当所述第一数据包的类型为所述第二类型时,将所述第一数据包更新为第二数据包,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包;
所述收发单元还用于根据第二通道,以第二码率向终端设备发送所述第二数据包,所述第一码率大于所述第二码率。
第四方面,本申请实施例提供了一种数据传输的装置,包括:
收发单元,用于根据第一通道,以第一码率接收服务器发送的第一数据包,所述第一数据包的类型为第一类型,所述第一类型为视频内部编码I帧,或者,
所述收发单元还用于根据第二通道,以第二码率接收服务器发送的第二数据包,所述第二数据包的类型为第二类型,所述第二类型为视频前向预测P帧或视频双向内插B帧,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包,所述第一码率大于所述第二码率;
处理单元,用于解码所述第一数据包;
所述处理单元还用于解码所述第二数据包;
显示单元,用于显示所述第一数据包和所述第二数据包对应的图像。
第五方面,本申请实施例本申请提供了一种电子设备,包括:
处理器,适于实现计算机指令;以及,
存储器,存储有计算机指令,计算机指令适于由处理器加载并执行上述第一方面的方法或者上述第二方面的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上述第一方面的方法或者上述第二方面的方法。
第七方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的方法或者上述第二方面的方法。
通过上述技术方案,服务器向终端设备发送数据包时,会确定数据包的类型,当所述数据包为所述第一类型,即所述数据包为I帧时,根据第一通道,以第一码率向终端设备发送所述数据包,或者,当所述数据包为所述第二类型,即所述数据包为B帧或者P帧时,根据第二通道,以第二码率向终端设备发送所述数据包,所述第一码率大于所述第二码率,因此,通过分通道并行传输I帧、B帧和P帧,减小了视频传输的时延,提高了用户的体验质量。
附图说明
图1为本申请实施例涉及的系统架构的一个可选的示意图;
图2为本申请实施例涉及的系统架构的一个可选的示意图;
图3为本申请实施例提供的一种数据传输的方法的示意性流程图;
图4为本申请实施例提供的一种数据传输的方法的示意性流程图;
图5为本申请实施例提供的一种数据传输的方法的示意性流程图;
图6是本申请实施例的装置的示意性框图;
图7是本申请实施例的装置的示意性框图;
图8为本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
图1为本申请实施例涉及的系统架构100的一个可选的示意图。如图1所示,系统架构100包括第一终端110、流媒体服务器120、核心网设备130、通信设备140、服务器150和第二终端160,其中,不同设备之间可以通过有线或无线方式进行通信交互。
其中,第一终端110和第二终端160可以是捕获视频或图像的设备,如摄像头、传感器、毫米波雷达、激光雷达、PC、(云)服务器等。第一终端和第二终端可以具备有计算处理单元。
第二终端160也可以是显示全景视频的设备,如虚拟现实(Virtual Reality,VR)设备、增强现实(Augmented Reality,AR)设备、混合现实(Mixed Reality,MR)设备或其类似者设备。例如VR设备可以是VR眼镜、VR头显等应用了VR技术的设备,AR设备可以是AR眼镜、AR电视、AR头显等应用了AR技术的设备,MR设备可以是MR眼镜、MR终端、MR头显、MR可穿戴设备等应用了MR技术的设备,但并不局限于此。例如,第二终端也可以是具备显示功能的(云)服务器。
流媒体服务器120接收第一终端110的视频流,允许第二终端160和服务器150拉取视频流。
核心网设备130负责处理转发信息,可以包括4G/5G核心网或其他网关,如用户面功能(user plane function,UPF)网元、接入和移动性管理功能(access and mobilitymanagement function,AMF)网元、会话管理功能(session management function,SMF)网元、策略控制功能(policy control function,PCF)网元等。
通信设备140主要指可以充当发射源的有源通信设备,是终端通过无线方式接入到网络中的接入设备,主要负责空口侧的无线资源管理、服务质量(quality of service,QoS)管理、数据压缩和加密等。例如:基站NodeB、演进型基站eNodeB、5G移动通信系统或新一代无线(new radio,NR)通信系统中的基站、未来移动通信系统中的基站等。
服务器150负责接收由第二终端160发来的运动信息,并向流媒体服务器120发送该运动信息。
应理解,第二终端设备160和服务器,如服务器140和流媒体服务器120,可以不在同一局域网内。
还应理解,服务器140和流媒体服务器120可以为云服务器,云服务器是可以提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
图2为本申请实施例涉及的另一个系统架构200的一个可选的示意图。如图2所示,系统架构200包括第一终端210、流媒体服务器220、服务器230和第二终端240,其中,不同设备之间可以通过有线或无线方式进行通信交互。
应理解,系统架构200包括第一终端210、流媒体服务器220、服务器230和第二终端240可以参考系统架构100包括的第一终端110、流媒体服务器120、服务器150和第二终端160进行理解。系统架构200为设备在同一局域网内的示例性的系统架构图。
一个画面组(Group of Pictures,GOP)就是一组连续的画面。动态图像专家组(Moving Pictures Experts Group,MPEG)编码将一个GOP分为I帧、P帧和B帧,I帧是内部编码帧,P帧是前向预测帧,B帧是双向内插帧。简单地讲,I帧是关键帧,可以理解为一个完整的画面,而P帧和B帧记录的是相对于I帧的变化,P帧表示跟前一帧的差别,B帧表示前后帧差别。没有I帧,P帧和B帧就无法解码。MPEG-2压缩的帧结构有两个参数,一个是GOP图像组的长度,一般可按编码方式从1-15个;另一个是I帧和P帧之间B帧的数量,一般是1-2个。
目前,基于GOP的视频传输,I帧、B帧和P帧按照先后顺序到达接收端,导致视频传输的时延较大,降低了用户的体验质量。
因此,本申请提出了一种数据传输方法,该方法应用于服务器,该服务器是向终端设备发送数据流的服务器,该服务器会确定数据包的类型,当所述数据包的类型为所述第一类型,即所述数据包为I帧时,根据第一通道,以第一码率向终端设备发送所述数据包,或者,当所述数据包的类型为所述第二类型,即所述数据包为B帧或者P帧时,根据第二通道,以第二码率向终端设备发送所述数据包,所述第一码率大于所述第二码率,因此,通过分通道并行传输I帧、B帧和P帧,减小了视频传输的时延,提高了用户的体验质量。
以下结合附图对本申请实施例提供的方案进行描述。
图3为本申请实施例提供的一种数据传输的方法300的示意性流程图。方法300可以由任何具有数据处理能力的电子设备执行。例如,该电子设备可实施为服务器或计算机。下面以该电子设备是服务器为例进行说明。如图3所示,方法300可以包括步骤310至340。
S310,服务器确定第一数据包的类型,所述第一数据包的类型包括第一类型和第二类型,其中,所述第一类型为视频内部编码I帧,所述第二类型为视频前向预测P帧或视频双向内插B帧。
S320,当所述第一数据包的类型为所述第一类型时,所述服务器根据第一通道,以第一码率向终端设备发送所述第一数据包。
S330,当所述第一数据包的类型为所述第二类型时,所述服务器将所述第一数据包更新为第二数据包,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包。
S340,所述服务器根据第二通道,以第二码率向终端设备发送所述第二数据包,所述第一码率大于所述第二码率。
可选的,在S310之前,所述服务器接收到终端设备的请求信息,所述请求信息用于请求视频流。所述服务器根据所述请求信息向所述终端设备发送视频流。具体发送视频流的过程见步骤S310至S340。
在S310中,所述服务器确定数据包的类型,包括:
所述服务器根据第一数据包的包头类型,确定所述第一数据包是第一类型还是第二类型,在所述第一数据包的包头类型中可以包括所述第一数据包的帧型,如所述第一数据包是I帧,则所述第一数据包是第一类型;如所述第一数据包是P帧,则所述第一数据包是第二类型;如所述第一数据包是B帧,则所述第一数据包是第二类型。
在S320和S340中,所述服务器根据第一通道,以第一码率向终端设备发送所述数据包,所述服务器根据第二通道,以第二码率向终端设备发送所述第二数据包,所述第一码率大于所述第二码率。
具体而言,所述服务器和所述终端设备在通信之前会先建立通信连接,如TCP连接。TCP连接建立之后,所述服务器和客户端就可以互通数据了,所述服务器有通用的服务端口,例如80是超文本传输协议(hypertext transfer protocol,HTTP)服务,21是文本传输协议(File Transfer Protocol,FTP)服务,25是简单邮件传输协议(Simple MailTransfer Protocol,SMTP)服务,这些端口号是通用的。而所述终端设备的端口号则是不确定的。所以,所述终端设备需要某种服务时会先访问所述服务器的某个端口,并且通过TCP建立过程,告知所述服务器自己的端口号,使得所述服务器获知所述终端设备的端口号。所述第一通道和所述第二通道是所述服务器和所述终端设备已经建立的通信链路,所述第一通道和所述第二通道的端口可以部分相同,如所述第一通道对应的所述服务器的端口为a,所述第一通道对应的所述终端设备的端口为b,所述第二通道对应的所述服务器的端口为c,所述第二通道对应的所述终端设备的端口为b;或者,所述第一通道和所述第二通道的端口可以不同,如所述第一通道对应的所述服务器的端口为a,所述第一通道对应的所述终端设备的端口为b,所述第二通道对应的所述服务器的端口为c,所述第二通道对应的所述终端设备的端口为d。
应理解,所述端口号仅用于示例,并不对本申请造成任何限定。
通过以第一码率的高码率在所述第一通道传输所述I帧,以第二码率的低码率在所述第二通道传输所述B帧或P帧,通过分通道并行传输I帧、B帧和P帧,减小了视频传输的时延,提高了用户的体验质量。
可选的,当所述第一数据包为所述视频前向预测P帧时,所述参考信息为以下信息中的一个或多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息;或者,
当所述第一数据包为所述视频双向内插B帧时,所述参考信息为以下信息中的多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息。
具体而言,在顺序传输I帧、B帧和P帧时,所述B帧和P帧不需要携带额外的参考信息。但是,在分开并行传输I帧、B帧和P帧时,B帧和P帧对应的第二数据包需要携带额外的参考信息,以用于终端设备解码所述第二数据包。P帧可以参考一个帧或多个帧,B帧可以参考多个帧。如,P帧对应的数据包携带的参考信息是的之前的P帧的标识信息或I帧的标识信息,B帧对应的数据包携带的参考信息是前面的I帧或P帧和后面的P帧。这里的前面和后面指的是服务器接收到的所述I帧、B帧和P帧的顺序。
所述标识信息包括参考帧的序列号或标签号,或其他标识符等信息。
可选的,所述I帧、所述B帧和所述P帧属于同一个GOP的帧,所述I帧、所述B帧和所述P帧都包括顺序标识符,所述顺序标识符包括在所述第二数据包中,所述顺序标识符是连续的。
具体而言,分通道并行传输同一个GOP的I帧、B帧和P帧,需建立同一个GOP的帧的关联关系,可以给I帧、B帧和P帧标识顺序标识符,以便于终端设备在收到所述I帧、所述B帧的和所述P帧时,根据所述I帧、所述B帧的和所述P帧的顺序标识符,确定所述I帧、所述B帧的和所述P帧是同一个GOP。如,所述I帧的顺序标识符是1、所述B帧的顺序标识符是2和所述P帧的顺序标识符是3,则所述终端设备确定所述I帧、所述B帧的和所述P帧是同一个GOP。又如,第一GOP包括I帧、B帧、B帧和P帧,其中,I帧的顺序标识符为1,一个B帧的顺序标识符为2,另一个B帧的顺序标识符为3,P帧的顺序标识符为4;第二GOP包括I帧、B帧、B帧和P帧,其中,I帧的顺序标识符为5,一个B帧的顺序标识符为6,另一个B帧的顺序标识符为7,P帧的顺序标识符为8,则终端设备根据帧的序列号,确定序列标识为1、2、3、4的帧属于第一GOP,序列标识为5、6、7、8的帧属于第二GOP。根据所述顺序标识符,所述终端设备可以在解码所述第二数据包时确定参考的帧。
可选的,所述数据包的类型还包括第三类型,所述第三类型为音频帧,所述方法还包括:当所述数据包为所述第三类型时,根据第三通道,以第三码率向所述终端设备发送所述数据包。
具体而言,在视频流会包括视频数据包和音频数据包,所述服务器根据数据包的大小,确定所述数据包是音频数据包还是视频数据包,当所述服务器确定所述数据包为音频数据包时,所述服务器根据所述第三通道,以第三码率向所述终端设备发送所述数据包。
可选的,所述第三码率为高码率。
可选的,所述服务器根据数据包的大小,确定所述数据包是音频数据包还是视频数据包,包括:
当所述数据包大于第一阈值时,确定所述数据包为视频数据包;或者,
当所述数据包小于或者等于第一阈值时,确定所述数据包为音频数据包。
可选的,所述方法还包括:所述服务器根据链路信息和所述终端设备的运动信息,确定向所述终端设备发送所述数据包的码率区间,所述码率区间包括所述第一码率和所述第二码率。
具体而言,服务器根据所述链路信息和所述终端设备的运动信息,确定向所述终端设备发送所述数据包的码率区间,所述码率区间包括可以分为低码率区间和高码率区间,当所述数据包为所述I帧时,可以在高码率区间选择所述第一码率发送所述数据包,当所述数据包为所述B帧或P帧,可以在低码率区间选择所述第二码率发送所述数据包。
应理解,所述服务器根据链路信息和所述终端设备的运动信息,确定向所述终端设备发送所述数据包的第一码率区间和第二码率区间,所述第一码率区间为高码率区间,所述第一码率区间包括所述第一码率,所述第二码率区间为低码率区间,所述第二码率区间包括所述第二码率。
可选的,所述方法还包括:获取所述终端设备的运动信息,所述终端设备的运动信息包括以下至少一种参数:
所述终端设备的移动方向、移动速度、视角信息和运动补偿。
可选的,所述方法还包括:检测所述服务器与所述终端设备的链路,以获取所述链路信息。
具体而言,所述服务器周期性的或者以一定的频率检测传输通道的网络状态,每隔X秒计算链路的时延和抖动,X大于0。
应理解,在所述服务器和所述终端设备之间存在多条传输通道,所述服务器可以检测多条传输通道的网络状态,也可以检测多条传输通道中的部分传输通道的网络状态。
图4为本申请实施例提供的一种数据传输的方法400的示意性流程图。方法400可以由任何具有数据处理能力的电子设备执行。例如,该电子设备可实施为终端设备或计算机。下面以该电子设备是终端设备为例进行说明,主要用于根据终端设备发送的运动数据确定用户视角。如图4所示,方法400可以包括步骤410至450。
S410,终端设备根据第一通道,以第一码率接收服务器发送的第一数据包,所述第一数据包的类型为第一类型,所述第一类型为视频内部编码I帧,或者,
S420,所述终端设备根据第二通道,以第二码率接收服务器发送的第二数据包,所述第二数据包的类型为第二类型,所述第二类型为视频前向预测P帧或视频双向内插B帧,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包,所述第一码率大于所述第二码率;
S430,所述终端设备解码所述第一数据包;
S440,所述终端设备解码所述第二数据包;
S450,所述终端设备显示所述第一数据包和所述第二数据包对应的图像。
可选的,所述解码所述第二数据包,包括:
根据所述参考信息,解码所述第二数据包。
可选的,当所述第一数据包为所述视频前向预测P帧时,所述参考信息为以下信息中的一个或多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息;或者,
当所述第一数据包为所述视频双向内插B帧时,所述参考信息为以下信息中的多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息。
可选的,所述数据包的类型还包括第三类型,所述第三类型为音频帧,所述方法还包括:根据第三通道,以第三码率接收所述服务器发送的所述数据包。
可选的,所述终端设备根据所述数据包包括的时间戳,进行音视频同步。
可选的,所述方法还包括:向所述服务器发送所述终端设备的运动信息,所述终端设备的运动信息包括以下至少一种参数:所述终端设备的移动方向、移动速度、视角信息和运动补偿。
上文图3和图4,是从单侧的角度详细描述了本申请的方法实施例。为了更清楚的理解本申请实施例,下面通过图5从交互的角度描述本申请实施例提供的一种数据传输的方法。如图5所示,图5为本申请实施例提供的一种数据传输的方法500的示意性流程图。方法500可以包括步骤501至509。
S501,第一终端获取视频源,对视频源进行编码,向流媒体服务器发送视频推流请求信息。
应理解,所述流媒体服务器不限定,流媒体服务器可以是实时流传输协议(real-time streaming protocol,RTSP)服务器,实时信息传送协议(real-time messagingprotocol,RTMP)服务器,超文本传输协议(hypertext transfer protocol,HTTP)服务器等中的一种。
S502,流媒体服务器接受推流请求,并开启流媒体接收服务,向第一终端发送确认信息。第一终端通过上行链路向流媒体服务器推流。
S503,流媒体服务器检测传输通道网络状态,根据传输通道网络状态计算链路的时延和抖动。
可选的,整个过程中流媒体服务器以一定的频率开启网络监测,识别并测量当前下行链路的最大可用带宽。
S504,第二终端向流媒体服务器发送视频拉流请求信息。
S505,流媒体服务器接受请求,并开启流媒体发送服务,向第二终端发送确认信息。
S506,服务器获取第二终端的运动信息。
可选的,第二终端向服务器发送第二终端的运动信息。
S507,服务器向流媒体服务器发送第二终端的运动信息。
S508,流媒体服务器根据链路的时延和抖动情况以及,服务器发送的第二终端的运动信息,对视频流进行配置,向第二终端推流。
配置策略如:
根据链路的时延和抖动情况以及由服务器发送的第二终端的运动信息,对该视频帧设定一个码率范围。针对视频流的每一个数据包在配置码率时均在上述设定的码率范围下进行选择。
流媒体服务器获取视频的第一帧,判断第一帧是否为音频帧,如果是音频帧,在码率范围内以高码率直接向第二终端传输;如果是视频帧(假设单独的视频帧由一个I帧和多个P帧组成),通过以第一码率的高码率在第一通道传输I帧,以第二码率的低码率在第二通道传输B帧或P帧。
S509,第二终端拉取并接收视频流,进行音视频同步并播放音视频。
可选的,音视频同步的原则如下:
以第二终端接收到的音频数据流和视频数据流的时间标识信息PTS为基准进行同步。若存在音频流,则同时以音频流时钟为基准时钟,同步视频流,如:若音频慢,则丢弃部分视频帧或增加时延;若视频慢,则丢弃部分非I帧视频帧。
对于起播阶段,特别是实时数据流,由于视频解码需要依赖第一个I帧,而音频是可以实时输出,可能出现的情况是视频PTS超前音频PTS较多,这种情况下进行同步,势必造成较为明显的慢同步。处理这种情况的较好方法是将较为多余的音频数据丢弃,尽量减少起播阶段的音视频差距。
在上述描述中,第二终端设备需要向服务器发送运动数据,由服务器向流媒体服务器发送第二终端设备的运动数据。应理解,第二终端设备可以向流媒体服务器发送第二终端设备的运动数据。
以上结合附图详细描述了本申请的具体实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。应理解这些序号在适当情况下可以互换,以便描述的本申请的实施例能够以除了在图示或描述的那些以外的顺序实施。
上文结合图1至图5,详细描述了本申请的方法实施例,下文结合图6至图8,详细描述本申请的装置实施例。
图6是本申请实施例的装置600的示意性框图,该装置600可以实现上述方法中服务器的功能。如图6所示,装置600可包括确定单元610和收发单元620。
处理单元610,用于确定第一数据包的类型,所述第一数据包的类型包括第一类型和第二类型,其中,所述第一类型为视频内部编码I帧,所述第二类型为视频前向预测P帧或视频双向内插B帧;
收发单元620,用于当所述数据包的类型为所述第一类型时,根据第一通道,以第一码率向终端设备发送所述第一数据包,或者,
所述处理单元610还用于当所述第一数据包的类型为所述第二类型时,将所述第一数据包更新为第二数据包,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包;
所述收发单元620还用于根据第二通道,以第二码率向终端设备发送所述第二数据包,所述第一码率大于所述第二码率。
在一些实施例中,当所述第一数据包为所述视频前向预测P帧时,所述参考信息为以下信息中的一个或多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息;或者,
当所述第一数据包为所述视频双向内插B帧时,所述参考信息为以下信息中的多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息。
在一些实施例中,所述确定单元610还用于:
根据链路信息和所述终端设备的运动信息,确定向所述终端设备发送所述数据包的码率区间,所述码率区间包括所述第一码率和所述第二码率。
在一些实施例中,所述收发单元620还用于:
获取所述终端设备的运动信息,所述终端设备的运动信息包括以下至少一种参数:
所述终端设备的移动方向、移动速度、视角信息和运动补偿。
在一些实施例中,所述收发单元620还用于:检测所述第一服务器与所述终端设备的链路,以获取所述链路信息。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,当在该实施例中数据处理的装置600可以对应于执行本申请实施例的方法300的执行主体时,装置600中的各个模块的前述和其它操作和/或功能分别为了实现图3中的各个方法相应流程,为了简洁,在此不再赘述。
图7是本申请实施例的装置700的示意性框图,该装置700可以实现上述方法中终端设备的功能。如图7所示,装置700可包括收发单元710和显示单元720。
收发单元710,根据第一通道,以第一码率接收服务器发送的第一数据包,所述第一数据包的类型为第一类型,所述第一类型为视频内部编码I帧,或者,
所述收发单元710还用于根据第二通道,以第二码率接收服务器发送的第二数据包,所述第二数据包的类型为第二类型,所述第二类型为视频前向预测P帧或视频双向内插B帧,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包,所述第一码率大于所述第二码率;
处理单元720,用于解码所述第一数据包;
所述处理单元720还用于解码所述第二数据包;
显示单元730,用于显示所述第一数据包和所述第二数据包对应的图像。
在一些实施例中,所述解码单元具体用于:
根据所述参考信息,解码所述第二数据包。
在一些实施例中,当所述第一数据包为所述视频前向预测P帧时,所述参考信息为以下信息中的一个或多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息;或者,
当所述第一数据包为所述视频双向内插B帧时,所述参考信息为以下信息中的多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息。
在一些实施例中,所述数据包的类型还包括第三类型,所述第三类型为音频帧,
所述收发单元710还用于:
根据第三通道,以第三码率接收所述服务器发送的所述数据包。
在一些实施例中,所述收发单元710还用于:
向所述服务器发送所述终端设备的运动信息,所述终端设备的运动信息包括以下至少一种参数:
所述终端设备的移动方向、移动速度、视角信息和运动补偿。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,当在该实施例中数据处理的装置700可以对应于执行本申请实施例的方法400的执行主体时,装置700中的各个模块的前述和其它操作和/或功能分别为了实现图4中的各个方法相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置和系统。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
如图8是本申请实施例提供的电子设备800的示意性框图。
如图8所示,该电子设备800可包括:
存储器810和处理器820,该存储器810用于存储计算机程序,并将该程序代码传输给该处理器820。换言之,该处理器820可以从存储器810中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器820可用于根据该计算机程序中的指令执行上述方法300中各执行主体的步骤。
在本申请的一些实施例中,该处理器820可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器810包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器810中,并由该处理器820执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备800中的执行过程。
可选的,该电子设备800还可包括:
通信接口830,该通信接口830可连接至该处理器820或存储器810。
其中,处理器820可以控制该通信接口830与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。示例性的,通信接口830可以包括发射机和接收机。通信接口830还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备800中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
根据本申请的一个方面,提供了一种通信装置,包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行所述存储器中存储的计算机程序,使得所述编码器执行上述方法实施例的方法。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
应理解,在本申请实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
还应理解,本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
还应理解,说明书中与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
可以理解的是,在本申请的具体实施方式中,可能涉及到用户信息等相关的数据。当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (15)

1.一种数据传输的方法,所述方法应用于服务器,其特征在于,包括:
确定第一数据包的类型,所述第一数据包的类型包括第一类型和第二类型,其中,所述第一类型为视频内部编码I帧,所述第二类型为视频前向预测P帧或视频双向内插B帧;
当所述第一数据包的类型为所述第一类型时,根据第一通道,以第一码率向终端设备发送所述第一数据包;
当所述第一数据包的类型为所述第二类型时,将所述第一数据包更新为第二数据包,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包;
根据第二通道,以第二码率向终端设备发送所述第二数据包,所述第一码率大于所述第二码率。
2.根据权利要求1所述的方法,其特征在于,
当所述第一数据包为所述视频前向预测P帧时,所述参考信息为以下信息中的一个或多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息;或者,
当所述第一数据包为所述视频双向内插B帧时,所述参考信息为以下信息中的多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息。
3.根据权利要求1所述的方法,其特征在于,所述数据包的类型还包括第三类型,所述第三类型为音频帧,
所述方法还包括:
当所述数据包为所述第三类型时,根据第三通道,以第三码率向所述终端设备发送所述数据包。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据链路信息和所述终端设备的运动信息,确定向所述终端设备发送所述数据包的码率区间,所述码率区间包括所述第一码率和所述第二码率。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述终端设备的运动信息,所述终端设备的运动信息包括以下至少一种参数:
所述终端设备的移动方向、移动速度、视角信息和运动补偿。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
检测所述服务器与所述终端设备的链路,以获取所述链路信息。
7.一种数据传输的方法,所述方法应用于终端设备,其特征在于,包括:
根据第一通道,以第一码率接收服务器发送的第一数据包,所述第一数据包的类型为第一类型,所述第一类型为视频内部编码I帧,或者,
根据第二通道,以第二码率接收服务器发送的第二数据包,所述第二数据包的类型为第二类型,所述第二类型为视频前向预测P帧或视频双向内插B帧,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包,所述第一码率大于所述第二码率;
解码所述第一数据包;
解码所述第二数据包;
显示所述第一数据包和所述第二数据包对应的图像。
8.根据权利要求7所述的方法,其特征在于,所述解码所述第二数据包,包括:
根据所述参考信息,解码所述第二数据包。
9.根据权利要求7所述的方法,其特征在于,
当所述第一数据包为所述视频前向预测P帧时,所述参考信息为以下信息中的一个或多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息;或者,
当所述第一数据包为所述视频双向内插B帧时,所述参考信息为以下信息中的多个信息:
参考的I帧的标识信息、参考的P帧的标识信息或参考的B帧的标识信息。
10.根据权利要求7所述的方法,其特征在于,所述数据包的类型还包括第三类型,所述第三类型为音频帧,
所述方法还包括:
根据第三通道,以第三码率接收所述服务器发送的所述数据包。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述方法还包括:
向所述服务器发送所述终端设备的运动信息,所述终端设备的运动信息包括以下至少一种参数:
所述终端设备的移动方向、移动速度、视角信息和运动补偿。
12.一种数据传输的装置,其特征在于,包括:
处理单元,用于确定第一数据包的类型,所述第一数据包的类型包括第一类型和第二类型,其中,所述第一类型为视频内部编码I帧,所述第二类型为视频前向预测P帧或视频双向内插B帧;
收发单元,用于当所述第一数据包为所述第一类型时,根据第一通道,以第一码率向终端设备发送所述第一数据包;
所述处理单元还用于当所述第一数据包为所述第二类型时,将所述第一数据包更新为第二数据包,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包;
所述收发单元还用于根据第二通道,以第二码率向终端设备发送所述第二数据包,所述第一码率大于所述第二码率。
13.一种数据传输的装置,其特征在于,包括:
收发单元,用于根据第一通道,以第一码率接收服务器发送的第一数据包,所述第一数据包为第一类型,所述第一类型为视频内部编码I帧,或者,
所述收发单元还用于根据第二通道,以第二码率接收服务器发送的第二数据包,所述第二数据包为第二类型,所述第二类型为视频前向预测P帧或视频双向内插B帧,所述第二数据包包括参考信息,所述参考信息用于终端设备解码所述第二数据包,所述第一码率大于所述第二码率;
处理单元,用于解码所述第一数据包;
所述处理单元还用于解码所述第二数据包;
显示单元,用于显示所述第一数据包和所述第二数据包对应的图像。
14.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有指令,所述处理器运行所述指令时,使得所述处理器执行权利要求1-6任一项所述的方法,或者执行权利要求7-11任一项所述的方法。
15.一种计算机存储介质,其特征在于,包括指令,当其在计算机上运行时,使得所述计算机执行权利要求1-6任一项所述的方法,或者执行权利要求7-11任一项所述的方法。
CN202211281875.4A 2022-10-19 2022-10-19 一种数据传输的方法、装置、电子设备及存储介质 Pending CN117956170A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211281875.4A CN117956170A (zh) 2022-10-19 2022-10-19 一种数据传输的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211281875.4A CN117956170A (zh) 2022-10-19 2022-10-19 一种数据传输的方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117956170A true CN117956170A (zh) 2024-04-30

Family

ID=90794851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211281875.4A Pending CN117956170A (zh) 2022-10-19 2022-10-19 一种数据传输的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117956170A (zh)

Similar Documents

Publication Publication Date Title
US10063606B2 (en) Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
WO2020192152A1 (zh) 视频传输的方法、根节点、子节点、p2p服务器和系统
JP3931595B2 (ja) データ修正装置及びデータ修正方法
US20150373075A1 (en) Multiple network transport sessions to provide context adaptive video streaming
CN108696772B (zh) 一种实时视频的传输方法及装置
JP2017522767A (ja) ビデオビットストリームにおけるランダムアクセス
CN107566918A (zh) 一种视频分发场景下的低延时取流秒开方法
JP6903172B2 (ja) ライブアップリンク適応ストリーミングのための装置および方法
US20150312303A1 (en) Determining whether to use sidx information when streaming media data
EP2695390A2 (en) Fast channel change for hybrid device
US9942553B2 (en) Communication system, method and program
US10659190B1 (en) Optimizing delay-sensitive network-based communications with latency guidance
KR20130138638A (ko) 비트 에러율을 이용한 효과적인 멀티미디어 전송 방법
JP2015138990A (ja) 受信装置、送信装置及び通信システム
JP2010028378A (ja) 通信装置及び通信方法
EP2649794B1 (en) Method and apparatus for managing content distribution over multiple terminal devices in collaborative media system
CN109862400A (zh) 一种流媒体传输方法、装置及其系统
KR102118678B1 (ko) 부호화된 비디오 스트림 전송 장치 및 방법
US9363574B1 (en) Video throttling based on individual client delay
US20220294555A1 (en) Optimizing delay-sensitive network-based communications with latency guidance
CN117956170A (zh) 一种数据传输的方法、装置、电子设备及存储介质
US11949858B2 (en) Video throughput improvement using long term referencing, deep learning, and load balancing
CN117768669A (zh) 一种数据传输的方法、装置、电子设备及存储介质
KR101883554B1 (ko) Mmt-기반 방송을 위한 시그널 메시지 송출 스케줄링 방법
WO2010117644A1 (en) Method and apparatus for asynchronous video transmission over a communication network

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