CN116112127A - 一种数据传输方法、相关设备及存储介质 - Google Patents
一种数据传输方法、相关设备及存储介质 Download PDFInfo
- Publication number
- CN116112127A CN116112127A CN202111319633.5A CN202111319633A CN116112127A CN 116112127 A CN116112127 A CN 116112127A CN 202111319633 A CN202111319633 A CN 202111319633A CN 116112127 A CN116112127 A CN 116112127A
- Authority
- CN
- China
- Prior art keywords
- frame
- data frame
- key
- data
- format 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000005540 biological transmission Effects 0.000 title claims abstract description 71
- 230000007246 mechanism Effects 0.000 claims abstract description 29
- 108091026890 Coding region Proteins 0.000 claims description 89
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
- H04L1/1671—Details of the supervisory signal the supervisory signal being transmitted together with control information
- H04L1/1678—Details of the supervisory signal the supervisory signal being transmitted together with control information where the control information is for timing, e.g. time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请提供了一种数据传输方法、相关设备及存储介质,该方法通过在本申请中,接收发送端基于重传机制发送的数据帧,对接收到的所述数据帧进行排序,得到排序结果,基于排序结果可以确定是否存在数据帧丢失,在确定存在丢失的至少一个数据帧的情况下,判断丢失的至少一个数据帧中是否包含关键帧,若包含,则生成重传状态报告,重传状态报告至少包含丢失的至少一个数据帧的标识,将重传状态报告发送给发送端,以使发送端基于重传状态报告,重新发送关键帧,至少可以解决在UM传输模式下,不能保证关键帧数据可靠传输的技术问题,达到提高关键帧传输的成功率的目的。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种数据传输方法、相关设备及存储介质。
背景技术
数据传输模式包含有UM(Unacknowledged Mode,非确认模式)和AM(AcknowledgedMode,确认模式)两种模式。AM模式可以保证数据的可靠传输,UM模式不保证数据的可靠传输,但是可以提高数据传输的实时性。
对于视频等实时性要求高的业务,通常选择UM模式进行业务数据传输,但是UM模式不能保证实时性要求高的业务的关键帧数据可靠的传输,而,关键帧数据缺失可能会对后续解码产生灾难性的结果,比如H264视频传输中关键I帧的丢失,就会导致随后的一整个序列无法有效解码,带来视觉体验的下降。
由上可见,在UM传输模式下,如何增加关键帧的传输成功率成为问题。
发明内容
为解决上述技术问题,本申请实施例提供一种数据传输方法、相关设备及存储介质,以达到增加关键帧的传输成功率的目的,技术方案如下:
一种数据传输方法,应用于接收端,包括:
接收发送端基于重传机制发送的数据帧;
对接收到的所述数据帧进行排序,得到排序结果,在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,判断所述丢失的至少一个数据帧中是否包含关键帧;
若包含,则生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识;
将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧;
接收所述发送端重新发送的所述关键帧。
可选的,所述发送端基于重传机制发送的数据帧的保留位携带有帧格式信息,所述帧格式信息至少表征所述数据帧的类型;
所述判断所述丢失的至少一个数据帧中是否包含关键帧,包括:
分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的前一个数据帧中保留位携带的第一帧格式信息;
分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的下一个数据帧中保留位携带的第二帧格式信息;
至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧。
可选的,所述至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧,包括:
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为非关键帧,则判断所述第一帧格式信息与所述第二帧格式信息是否一致;
若不一致,则基于所述发送端的输出模板,确定所述丢失的数据帧为关键帧,所述输出模板为每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧;
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为关键帧,且,所述关键帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为关键帧,且所述关键帧为其所属编码序列中多个关键帧中的第一个关键帧或中间关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中唯一的关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中多个关键帧中的最后一个关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧。
可选的,所述至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧,包括:
在预设丢失数据帧映射表中查找与所述第一帧格式信息及所述第二帧格式信息匹配的信息;
若查找到,判断与所述第一帧格式信息及所述第二帧格式信息匹配的信息是否表征所述丢失的至少一个数据帧中包含关键帧。
可选的,所述判断所述丢失的至少一个数据帧中是否包含关键帧之前,还包括:
启动重排序定时器开始计时;
所述生成重传状态报告,包括:
启动重传状态报告定时器,在所述重传状态报告定时器计时的第二计时时长达到所述重传状态报告定时器的第二设定时间阈值的情况下,生成重传状态报告;
其中,所述重传状态报告定时器计时的第二时长达到所述第二设定时间阈值的情况下,所述重排序定时器计时的第一时长未达到所述重排序定时器的第一设定时间阈值,所述第二设定时间阈值小于所述重排序定时器的第一设定时间阈值。
可选的,所述将所述重传状态报告发送给所述发送端之后,还包括:
在所述重排序定时器计时的第一计时时长达到所述第一设定时间阈值的情况下,若接收到所述发送端重新发送的所述关键帧,则传输接收到的所述数据帧及所述发送端重新发送的关键帧给应用层;若未接收到所述发送端重新发送的所述关键帧,则传输接收到的所述数据帧给应用层。
一种数据传输方法,应用于发送端,包括:
在每获取到编码器输出的一个数据帧的情况下,则确定所述数据帧的类型及所述数据帧之前的历史数据帧的信息,所述历史数据帧的信息至少包含所述历史数据帧的类型和/或所述历史数据帧的帧格式信息,所述编码器按照输出模板输出数据帧:每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧;
基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,并将所述数据帧的帧格式信息写入所述数据帧的保留位中;
基于重传机制发送所述保留位携带有所述帧格式信息的数据帧;
若接收到接收端的重传状态报告,则基于所述重传状态报告,重新发送关键帧,以使所述接收端接收所述发送端重新发送的所述关键帧。
可选的,所述基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,包括:
若所述数据帧的类型为关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为非关键帧,则基于所述输出模板,确定所述数据帧为其所属编码序列中第一个关键帧;
判断所述数据帧是否为其所属编码序列中唯一一个关键帧;
若是,则将表征所述数据帧为在其所属编码序列中唯一的关键帧的信息作为所述数据帧的帧格式信息;
若否,将表征所述数据帧为其所属编码序列中多个关键帧中的第一个关键帧的信息作为所述数据帧的帧格式信息;
若所述数据帧的类型和所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型均为关键帧,则基于所述输出模板,确定所述数据帧和所述历史数据帧中与所述数据帧相邻的前一个历史数据帧属于同一个编码序列,获取所述数据帧所属编码序列中关键帧的个数及与所述数据帧属于同一个编码序列的所述历史数据帧的个数;
基于所述数据帧所属编码序列中关键帧的个数及与所述数据帧属于同一个编码序列的所述历史数据帧的个数,确定所述数据帧在其所属编码序列中多个关键帧的位置信息,将表征所述数据帧在其所属编码序列中多个关键帧的位置信息的信息作为所述数据帧的帧格式信息;
若所述数据帧的类型为非关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为关键帧,则基于所述输出模板,获取与所述数据帧所属编码序列相邻编码序列中非关键帧的保留位携带的帧格式信息,并对获取到的帧格式信息进行运算处理,得到目标信息,将所述目标信息作为所述数据帧的帧格式信息;
若所述数据帧的类型为非关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为非关键帧,基于所述输出模板,将与所述数据帧相邻的前一个历史数据帧的帧格式信息作为所述数据帧的帧格式信息。
可选的,所述方法还包括:
在基于重传机制发送所述保留位携带有所述帧格式信息的数据帧时,若遇到关键帧,则将所述关键帧缓存到关键帧缓存队列中;
所述重新发送关键帧,包括:
在所述关键帧缓存队列中,查找与所述重传状态报告匹配的关键帧;
若查找到,则重新发送与所述重传状态报告匹配的关键帧。
一种接收设备,包括:
存储器和处理器;
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集执行如上述任意一项所述的数据传输方法。
一种发送设备,包括:
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集执行如上述任意一项所述的数据传输方法。
一种存储介质,存储有实现如上述任意一项所述的数据传输方法或如上述任意一项所述的数据传输方法的计算机程序,计算机程序被处理器执行,实现如上述任意一项所述的数据传输方法或如上述任意一项所述的数据传输方法。
与现有技术相比,本申请的有益效果为:
在本申请中,接收发送端基于重传机制发送的数据帧,对接收到的所述数据帧进行排序,得到排序结果,基于排序结果可以确定是否存在数据帧丢失,在确定存在丢失的至少一个数据帧的情况下,判断所述丢失的至少一个数据帧中是否包含关键帧,若包含,则生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识,将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧,至少可以解决在UM传输模式下,不能保证关键帧数据可靠传输的技术问题,达到提高关键帧传输的成功率的目的。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例1提供的一种数据传输方法的流程图;
图2是本申请实施例2提供的一种数据传输方法的流程图;
图3是本申请实施例3提供的一种数据传输方法的流程图;
图4是本申请实施例4提供的一种数据传输方法的流程图;
图5是本申请提供的一种保留位携带帧格式信息的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在UM模式中,会通过HARQ重传机制,传输数据帧,其中,HARQ重传就算在信道质量良好的前提下,也允许存在不高于1%的丢包率,对于仅使用HARQ重传的UM模式传输是非可靠性传输。但是,发明人发现,在数据传输过程(如,H264视频传输)中,1%内的丢包中可能存在关键帧数据,关键帧一旦丢失,一整个序列将解码失败。
例如,在H264协议里定义了三种帧,完整编码的帧叫I帧,参考之前的I帧生成的只包含差异部分编码的帧叫P帧,还有一种参考前后的帧编码的帧叫B帧。H264采用的核心算法是帧内压缩和帧间压缩,帧内压缩是生成I帧的算法,帧间压缩是生成B帧和P帧的算法。I帧表示关键帧,可以理解为这一帧画面的完整保留;解码时只需要本帧数据就可以完成(因为包含完整画面)。P帧表示的是这一帧跟之前的一个关键帧(或P帧)的差别,解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据)。B帧是双向差别帧,也就是B帧记录的是本帧与前后帧的差别,要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面,通过前后画面的与本帧数据的叠加取得最终的画面。
在H264中图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,以I帧开始,到下一个I帧结束。一个序列的第一个图像叫做IDR图像(立即刷新图像),IDR图像都是I帧图像。H264引入IDR图像是为了解码的重同步,当解码器解码到IDR图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。IDR图像之后的图像永远不会使用IDR之前的图像的数据来解码。一个序列就是一段内容差异不太大的图像编码后生成的一串数据流。当运动变化比较少时,一个序列可以很长,因为运动变化少就代表图像画面的内容变动很小,所以就可以编一个I帧,然后一直P帧、B帧了。当运动变化多时,可能一个序列就比较短了,比如就包含一个I帧和3、4个P帧。
综上得出,关键I帧对一整个序列的解码至关重要,如果I帧丢失(或部分丢失),会导致整个序列的解码失败,而用UM模式进行H264帧的传输中,很可能因为一段I帧的丢失而导致上述现象。
为了解决上述问题,发明人提出一种增加关键帧的传输成功率的数据传输方法,以提升视频体验效果。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
如图1所示的,为本申请提供的一种数据传输方法实施例1的流程图,该方法可以应用于接收端,该方法可以包括以下步骤:
步骤S11、接收发送端基于重传机制发送的数据帧。
具体地,发送端可以基于重传机制发送数据帧给接收端的物理层,接收端的物理层接收发送端基于重传机制发送的数据帧,并将发送端基于重传机制发送的数据帧上传给接收端的PDCP(分组数据汇聚协议,Packet Data Convergence Protocol)层,由接收端的PDCP层接收发送端基于重传机制发送的数据帧。
本实施例中,重传机制可以包括但不局限于:HARQ重传机制。
步骤S12、对接收到的数据帧进行排序,得到排序结果,在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,判断所述丢失的至少一个数据帧中是否包含关键帧。
在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,丢失的至少一个数据帧不一定是关键帧(如,H264视频传输场景中的关键I帧),也可能是非关键帧(如,H264视频传输场景中的B帧或P帧),因此接收端PDCP层需要能够有效判断出丢失的至少一个数据帧中是否包含关键帧。
若包含,则执行步骤S13;若不包含,则不生成重传状态报告,避免因为非关键帧丢失而生成并发送无效状态报告,进而避免占用空口资源。
步骤S13、生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识。
步骤S14、将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧。
可以理解的是,步骤S12-S14可以但不局限于由接收端的PDCP层执行。
步骤S15、接收所述发送端重新发送的所述关键帧。
在本申请中,接收发送端基于重传机制发送的数据帧,对接收到的所述数据帧进行排序,得到排序结果,基于排序结果可以确定是否存在数据帧丢失,在确定存在丢失的至少一个数据帧的情况下,判断所述丢失的至少一个数据帧中是否包含关键帧,若包含,则生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识,将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧,至少可以解决在UM传输模式下,不能保证关键帧数据可靠传输的技术问题,达到提高关键帧传输的成功率的目的。
作为本申请另一可选实施例,参照图2,为本申请提供的一种数据传输方法实施例2的流程示意图,本实施例主要是对上述实施例1描述的数据传输方法的细化方案,如图2所示,该方法可以包括但并不局限于以下步骤:
步骤S21、接收发送端基于重传机制发送的数据帧,所述发送端基于重传机制发送的数据帧的保留位携带有帧格式信息,所述帧格式信息至少表征所述数据帧的类型。
步骤S22、对接收到的所述数据帧进行排序,得到排序结果,在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的前一个数据帧中保留位携带的第一帧格式信息。
步骤S23、分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的下一个数据帧中保留位携带的第二帧格式信息。
步骤S24、基于所述第一帧格式信息及所述第二帧格式信息及所述输出模板,判断所述丢失的至少一个数据帧中是否包含关键帧。
若包含,则执行步骤S25。
本实施例中,所述基于所述第一帧格式信息及所述第二帧格式信息及所述输出模板,判断所述丢失的至少一个数据帧中是否包含关键帧,可以包括:
S241、若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为非关键帧,则判断所述第一帧格式信息与所述第二帧格式信息是否一致。
若不一致,则执行步骤S242;
S242、基于所述发送端的输出模板,确定所述丢失的数据帧为关键帧,所述输出模板为每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧。
S243、若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为关键帧,且,所述关键帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧。
S244、若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为关键帧,且所述关键帧为其所属编码序列中多个关键帧中的第一个关键帧或中间关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
S245、若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中唯一的关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
S246、若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中多个关键帧中的最后一个关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧。
本实施例中,所述至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧,也可以包括:
S247、在预设丢失数据帧映射表中查找与所述第一帧格式信息及所述第二帧格式信息匹配的信息。
本实施例中,预设丢失数据帧映射表,可以通过以下方式确定:
在表征与丢失的数据帧相邻的前一个数据帧为非关键帧的第一帧格式信息,与表征与丢失的数据帧相邻的下一个数据帧为非关键帧的第二帧格式信息不一致的情况下,基于所述输出模板,确定所述第一帧格式信息与所述第二帧格式信息对应的丢失信息为丢失关键帧;
基于所述输出模板,确定表征与丢失的数据帧相邻的前一个数据帧为非关键帧的第一帧格式信息与表征与丢失的数据帧相邻的下一个数据帧为关键帧,且,所述关键帧为其所属编码序列中多个关键帧中的非第一个关键帧的第二帧格式信息对应的丢失信息为丢失关键帧;
基于所述输出模板,确定表征与丢失的数据帧相邻的前一个数据帧为关键帧,且所述关键帧为其所属编码序列中多个关键帧中的第一个关键帧或中间关键帧的第一帧格式信息与表征与丢失的数据帧相邻的下一个数据帧为关键帧或非关键帧的第二帧格式信息对应的丢失信息为丢失关键帧;
基于所述输出模板,确定表征与丢失的数据帧相邻的前一个数据帧为其所属编码序列中唯一的关键帧的第一帧格式信息,与表征与丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧的第二帧格式信息对应的丢失信息为丢失关键帧;
基于所述输出模板,确定表征与丢失的数据帧相邻的前一个数据帧为其所属编码序列中多个关键帧中的最后一个关键帧的第一帧格式信息,与表征与丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧的第二帧格式信息对应的丢失信息为丢失关键帧。
通过上述方式确定的预设丢失数据帧映射表可以参见表1。
表1
若查找到,执行步骤S248。
S248、判断与所述第一帧格式信息及所述第二帧格式信息匹配的信息是否表征所述丢失的至少一个数据帧中包含关键帧。
若是,则执行步骤S25。
步骤S22-S24为实施例1中步骤S12的一种具体实施方式。
步骤S25、生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识。
步骤S26、将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧。
步骤S27、接收所述发送端重新发送的所述关键帧。
步骤S25-S27的详细过程可以参见实施例中步骤S13-S15的相关介绍,在此不再赘述。
作为本申请另一可选实施例,参照图3,为本申请提供的一种数据传输方法实施例3的流程示意图,本实施例主要是对上述实施例1描述的数据传输方法的扩展方案,如图3所示,该方法可以包括但并不局限于以下步骤:
步骤S31、接收发送端基于重传机制发送的数据帧。
步骤S32、对接收到的所述数据帧进行排序,得到排序结果,在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,启动重排序定时器开始计时。
步骤S33、判断所述丢失的至少一个数据帧中是否包含关键帧。
若是,则执行步骤S34。
步骤S34、启动重传状态报告定时器,在所述重传状态报告定时器计时的第二计时时长达到所述重传状态报告定时器的第二设定时间阈值的情况下,生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识。
其中,所述重传状态报告定时器计时的第二时长达到所述第二设定时间阈值的情况下,所述重排序定时器计时的第一时长未达到所述重排序定时器的第一设定时间阈值,所述第二设定时间阈值小于所述重排序定时器的第一设定时间阈值。
步骤S34为实施例1中步骤S13的一种具体实施方式。
步骤S35、将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧。
步骤S36、接收所述发送端重新发送的所述关键帧。
步骤S35-S36的详细过程可以参见实施例1中步骤S14-S15的相关介绍,在此不再赘述。
本实施例中,在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,启动重排序定时器开始计时,并在所述丢失的至少一个数据帧中包含关键帧的情况下,启动重传状态报告定时器,在所述重传状态报告定时器计时的第二计时时长达到所述重传状态报告定时器的第二设定时间阈值的情况下,生成重传状态报告,将所述重传状态报告发送给所述发送端,保证在进行下一次排序之前,能够生成重传状态报告,并发送给发送端,保证重传状态报告生成及发送的可靠性。
作为本申请另一可选实施例,参照图4,为本申请提供的一种数据传输方法实施例4的流程示意图,本实施例主要是对上述实施例3描述的数据传输方法的扩展方案,如图4所示,该方法可以包括但并不局限于以下步骤:
步骤S341、接收发送端基于重传机制发送的数据帧。
步骤S42、对接收到的所述数据帧进行排序,得到排序结果,在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,启动重排序定时器开始计时。
步骤S43、判断所述丢失的至少一个数据帧中是否包含关键帧。
若是,则执行步骤S34。
步骤S44、启动重传状态报告定时器,在所述重传状态报告定时器计时的第二计时时长达到所述重传状态报告定时器的第二设定时间阈值的情况下,生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识。
其中,所述重传状态报告定时器计时的第二时长达到所述第二设定时间阈值的情况下,所述重排序定时器计时的第一时长未达到所述重排序定时器的第一设定时间阈值,所述第二设定时间阈值小于所述重排序定时器的第一设定时间阈值。
步骤S45、将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧。
步骤S46、接收所述发送端重新发送的所述关键帧。
步骤S41-S46的详细过程可以参见实施例3中步骤S31-S36的相关介绍,在此不再赘述。
步骤S47、在所述重排序定时器计时的第一计时时长达到所述第一设定时间阈值的情况下,若接收到所述发送端重新发送的所述关键帧,传输接收到的所述数据帧及所述发送端重新发送的关键帧给应用层。
步骤S48、在所述重排序定时器计时的第一计时时长达到所述第一设定时间阈值的情况下,若未接收到所述发送端重新发送的所述关键帧,则传输接收到的所述数据帧给应用层。
本实施例中,在所述重排序定时器计时的第一计时时长达到所述第一设定时间阈值的情况下,若接收到所述发送端重新发送的所述关键帧,传输接收到的所述数据帧及所述发送端重新发送的关键帧给应用层,保证应用层可以获得发送端基于重传机制发送的数据帧,及在存在关键帧丢失时,发送端重新发送的关键帧;在所述重排序定时器计时的第一计时时长达到所述第一设定时间阈值的情况下,若未接收到所述发送端重新发送的所述关键帧,则传输接收到的所述数据帧给应用层,保证应用层至少可以获得发送端基于重传机制发送的数据帧。
在本申请的另一个实施例5中,提供另外一种数据传输方法,应用于发送端,该方法可以包括以下步骤:
S51、在每获取到编码器输出的一个数据帧的情况下,则确定所述数据帧的类型及所述数据帧之前的历史数据帧的信息,所述历史数据帧的信息至少包含所述历史数据帧的类型和/或所述历史数据帧的帧格式信息,所述编码器按照输出模板输出数据帧:每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧。
所述数据帧的类型可以包括关键帧或非关键帧。
S52、基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,并将所述数据帧的帧格式信息写入所述数据帧的保留位中。
本实施例中,所述数据帧的帧格式信息至少表征所述数据帧的类型。
本实施例中,可以将数据帧的3bit保留位作为传递帧格式信息的保留位,如图5(a)所示的具有12比特PDCP SN中3bit保留位R,R,R可以携带帧格式信息,如图5(b)所示的具有18比特PDCP SN中3bit保留位R,R,R可以携带帧格式信息。
本实施例中,所述基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,可以包括:
S521、若所述数据帧的类型为关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为非关键帧,则基于所述输出模板,确定所述数据帧为其所属编码序列中第一个关键帧;
S522、判断所述数据帧是否为其所属编码序列中唯一一个关键帧。
可以理解的是,编码序列可以包含有关键帧(如,H264协议中的I帧)和非关键帧(如,H264协议中的B帧和P帧),并且可以对编码序列的帧信息进行解析,确定所述数据帧是否为其所属编码序列中唯一一个关键帧。
若是,则执行步骤S523;若否,则执行步骤S524。
S523、将表征所述数据帧为在其所属编码序列中唯一的关键帧的信息作为所述数据帧的帧格式信息。
例如:表征所述数据帧为在其所属编码序列中唯一的关键帧的信息可以设置为100B。
S524、将表征所述数据帧为其所属编码序列中多个关键帧中的第一个关键帧的信息作为所述数据帧的帧格式信息。
表征所述数据帧为其所属编码序列中多个关键帧中的第一个关键帧的信息,可以设置为101B。
S525、若所述数据帧的类型和所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型均为关键帧,则基于所述输出模板,确定所述数据帧和所述历史数据帧中与所述数据帧相邻的前一个历史数据帧属于同一个编码序列,获取所述数据帧所属编码序列中关键帧的个数及与所述数据帧属于同一个编码序列的所述历史数据帧的个数。
S526、基于所述数据帧所属编码序列中关键帧的个数及与所述数据帧属于同一个编码序列的所述历史数据帧的个数,确定所述数据帧在其所属编码序列中多个关键帧的位置信息,将表征所述数据帧在其所属编码序列中多个关键帧的位置信息的信息作为所述数据帧的帧格式信息。
所述数据帧在其所属编码序列中多个关键帧的位置信息可以包括:所述数据帧在其所属编码序列中多个关键帧中的中间位置的信息;或,所述数据帧在其所属编码序列中多个关键帧中的最后一个关键帧的信息。
表征所述数据帧在其所属编码序列中多个关键帧中的中间位置的信息,可以设置为:111B。表征所述数据帧在其所属编码序列中多个关键帧中的最后一个关键帧的信息,可以设置为110B。
S527、若所述数据帧的类型为非关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为关键帧,则基于所述输出模板,获取与所述数据帧所属编码序列相邻编码序列中非关键帧的保留位携带的帧格式信息,并对获取到的帧格式信息进行运算处理,得到目标信息,将所述目标信息作为所述数据帧的帧格式信息。
其中,同一个编码序列中非关键帧的保留位携带的帧格式信息相同,所述目标信息与获取到的帧格式信息不同。
对获取到的帧格式信息进行运算处理,得到目标信息,可以包括但不局限于:对获取到的帧格式信息进行加一运算,得到目标信息。如,获取到的帧格式信息为000B,则对000B加一,得到001B。
若所述数据帧的类型为非关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为关键帧,则基于所述输出模板,确定所述数据帧与所述历史数据帧中与所述数据帧相邻的前一个历史数据帧属于同一个编码序列,进而获取与所述数据帧所属编码序列相邻编码序列中非关键帧的保留位携带的帧格式信息。
本实施例中,在同一个编码序列中的非关键帧的保留位携带的帧格式信息可以设置为:000B-011B中的其中一个值。具体设置的方式可以为:每个新的编码序列中非关键帧的保留位携带的帧格式信息在前一个编码序列中非关键帧的保留位携带的帧格式信息的基础上加一。
S528、若所述数据帧的类型为非关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为非关键帧,基于所述输出模板,将与所述数据帧相邻的前一个历史数据帧的帧格式信息作为所述数据帧的帧格式信息;
若所述数据帧的类型为非关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为非关键帧,则基于所述输出模板,可以确定所述数据帧与所述历史数据帧中与所述数据帧相邻的前一个历史数据帧属于同一个编码序列,在同一个编码序列中非关键帧的保留位携带的帧格式信息相同,因此,将与所述数据帧相邻的前一个历史数据帧的帧格式信息作为所述数据帧的帧格式信息。
现以H264视频传输场景为例,对步骤S211-S212所确定的帧格式信息进行说明,例如,如表2所示,000B~011B中任意一个值可以表示B帧或P帧,100B表示一个编码序列中只有一个I帧,101B表示一个编码序列中多个I帧第一个I帧,110B表示一个编码序列中多个I帧中最后的I帧,111B表示一个编码序列中多个I帧中中间的I帧。
表2
帧格式信息 | 含义 |
000B~011B | 表示B帧或P帧,每个新序列递增1,循环使用 |
100B | 只有一个I帧 |
101B | 多I帧中第一个I帧 |
110B | 多I帧中最后的I帧 |
111B | 多I帧中中间的I帧 |
S53、基于重传机制发送所述保留位携带有所述帧格式信息的数据帧。
S54、若接收到接收端的重传状态报告,则基于所述重传状态报告,重新发送关键帧,以使所述接收端接收所述发送端重新发送的所述关键帧。
所述帧格式信息由发送端通过以下方式确定:
S211、在每获取到编码器输出的一个数据帧的情况下,则确定所述数据帧的类型及所述数据帧之前的历史数据帧的信息,所述历史数据帧的信息至少包含所述历史数据帧的类型和/或所述历史数据帧的帧格式信息,所述编码器按照以下输出模板输出数据帧:每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧。
所述数据帧的类型可以包括关键帧或非关键帧。
S212、基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,并将所述数据帧的帧格式信息写入所述数据帧的保留位中。
在本申请的另一个实施例6中,介绍另外一种数据传输方法,应用于发送端,该方法可以包括以下步骤:
S61、在每获取到编码器输出的一个数据帧的情况下,则确定所述数据帧的类型及所述数据帧之前的历史数据帧的信息,所述历史数据帧的信息至少包含所述历史数据帧的类型和/或所述历史数据帧的帧格式信息,所述编码器按照输出模板输出数据帧:每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧;
S62、基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,并将所述数据帧的帧格式信息写入所述数据帧的保留位中;
S63、基于重传机制发送所述保留位携带有所述帧格式信息的数据帧。
步骤S61-S63的详细过程可以参见上述实施例5中步骤S51-S53的相关介绍,在此不再赘述。
S64、在基于重传机制发送所述保留位携带有所述帧格式信息的数据帧时,若遇到关键帧,则将所述关键帧缓存到关键帧缓存队列中。
S65、若接收到接收端的重传状态报告,则基于所述重传状态报告,在所述关键帧缓存队列中,查找与所述重传状态报告匹配的关键帧,若查找到,则重新发送与所述重传状态报告匹配的关键帧,以使所述接收端接收所述发送端重新发送的所述关键帧。
步骤S65为上述实施例5中步骤S54的一种具体实施方式。
本实施例中,在基于重传机制发送所述保留位携带有所述帧格式信息的数据帧时,若遇到关键帧,则将所述关键帧缓存到关键帧缓存队列中,保证若接收到接收端的重传状态报告,则基于所述重传状态报告,在所述关键帧缓存队列中,查找与所述重传状态报告匹配的关键帧,若查找到,则重新发送与所述重传状态报告匹配的关键帧,可以保证及时准确的获取关键帧,并重新发送关键帧,保证重新发送关键帧的及时性及准确性。
接下来对本申请提供的接收设备进行介绍,下文介绍的接收设备与上文介绍的数据传输方法可相互对应参照。
接收设备,包括:
存储器和处理器;
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集执行如实施例1-4任意一个实施例所介绍的数据传输方法的各步骤。
接下来对本申请提供的发送设备进行介绍,下文介绍的发送设备与上文介绍的数据传输方法可相互对应参照。
发送设备,包括:
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集执行如实施例5或6所介绍的数据传输方法的各步骤。
在本申请的另一个实施例中,提供一种存储介质,存储有实现如实施例1-4中任意一个实施例所介绍的数据传输方法或如实施例5或6所介绍的的数据传输方法的计算机程序,计算机程序被处理器执行,实现如实施例1-4中任意一个实施例所介绍的数据传输方法或如实施例5或6所介绍的的数据传输方法。
需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,智能终端,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
以上对本申请所提供的一种数据传输方法、相关设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (12)
1.一种数据传输方法,其特征在于,应用于接收端,包括:
接收发送端基于重传机制发送的数据帧;
对接收到的所述数据帧进行排序,得到排序结果,在基于所述排序结果确定存在丢失的至少一个数据帧的情况下,判断所述丢失的至少一个数据帧中是否包含关键帧;
若包含,则生成重传状态报告,所述重传状态报告至少包含丢失的至少一个所述数据帧的标识;
将所述重传状态报告发送给所述发送端,以使所述发送端基于所述重传状态报告,重新发送关键帧;
接收所述发送端重新发送的所述关键帧。
2.根据权利要求1所述的方法,其特征在于,所述发送端基于重传机制发送的数据帧的保留位携带有帧格式信息,所述帧格式信息至少表征所述数据帧的类型;
所述判断所述丢失的至少一个数据帧中是否包含关键帧,包括:
分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的前一个数据帧中保留位携带的第一帧格式信息;
分别获取接收到的所述数据帧中,与所述丢失的每个数据帧相邻的下一个数据帧中保留位携带的第二帧格式信息;
至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧。
3.根据权利要求2所述的方法,其特征在于,所述至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧,包括:
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为非关键帧,则判断所述第一帧格式信息与所述第二帧格式信息是否一致;
若不一致,则基于所述发送端的输出模板,确定所述丢失的数据帧为关键帧,所述输出模板为每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧;
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为非关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为关键帧,且,所述关键帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为关键帧,且所述关键帧为其所属编码序列中多个关键帧中的第一个关键帧或中间关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中唯一的关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧;
若所述第一帧格式信息表征与所述丢失的数据帧相邻的前一个数据帧为其所属编码序列中多个关键帧中的最后一个关键帧,且所述第二帧格式信息表征与所述丢失的数据帧相邻的下一个数据帧为其所属编码序列中多个关键帧中的非第一个关键帧,则基于所述输出模板,确定所述丢失的数据帧为关键帧。
4.根据权利要求2所述的方法,其特征在于,所述至少基于所述第一帧格式信息及所述第二帧格式信息,判断所述丢失的至少一个数据帧中是否包含关键帧,包括:
在预设丢失数据帧映射表中查找与所述第一帧格式信息及所述第二帧格式信息匹配的信息;
若查找到,判断与所述第一帧格式信息及所述第二帧格式信息匹配的信息是否表征所述丢失的至少一个数据帧中包含关键帧。
5.根据权利要求1所述的方法,其特征在于,所述判断所述丢失的至少一个数据帧中是否包含关键帧之前,还包括:
启动重排序定时器开始计时;
所述生成重传状态报告,包括:
启动重传状态报告定时器,在所述重传状态报告定时器计时的第二计时时长达到所述重传状态报告定时器的第二设定时间阈值的情况下,生成重传状态报告;
其中,所述重传状态报告定时器计时的第二时长达到所述第二设定时间阈值的情况下,所述重排序定时器计时的第一时长未达到所述重排序定时器的第一设定时间阈值,所述第二设定时间阈值小于所述重排序定时器的第一设定时间阈值。
6.根据权利要求5所述的方法,其特征在于,所述将所述重传状态报告发送给所述发送端之后,还包括:
在所述重排序定时器计时的第一计时时长达到所述第一设定时间阈值的情况下,若接收到所述发送端重新发送的所述关键帧,则传输接收到的所述数据帧及所述发送端重新发送的关键帧给应用层;若未接收到所述发送端重新发送的所述关键帧,则传输接收到的所述数据帧给应用层。
7.一种数据传输方法,其特征在于,应用于发送端,包括:
在每获取到编码器输出的一个数据帧的情况下,则确定所述数据帧的类型及所述数据帧之前的历史数据帧的信息,所述历史数据帧的信息至少包含所述历史数据帧的类型和/或所述历史数据帧的帧格式信息,所述编码器按照输出模板输出数据帧:每个编码序列均以关键帧开始输出,在输出所述关键帧后输出非关键帧;
基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,并将所述数据帧的帧格式信息写入所述数据帧的保留位中;
基于重传机制发送所述保留位携带有所述帧格式信息的数据帧;
若接收到接收端的重传状态报告,则基于所述重传状态报告,重新发送关键帧,以使所述接收端接收所述发送端重新发送的所述关键帧。
8.根据权利要求7所述的方法,其特征在于,所述基于所述数据帧的类型、所述数据帧之前的历史数据帧的信息及所述输出模板,确定所述数据帧的帧格式信息,包括:
若所述数据帧的类型为关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为非关键帧,则基于所述输出模板,确定所述数据帧为其所属编码序列中第一个关键帧;
判断所述数据帧是否为其所属编码序列中唯一一个关键帧;
若是,则将表征所述数据帧为在其所属编码序列中唯一的关键帧的信息作为所述数据帧的帧格式信息;
若否,将表征所述数据帧为其所属编码序列中多个关键帧中的第一个关键帧的信息作为所述数据帧的帧格式信息;
若所述数据帧的类型和所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型均为关键帧,则基于所述输出模板,确定所述数据帧和所述历史数据帧中与所述数据帧相邻的前一个历史数据帧属于同一个编码序列,获取所述数据帧所属编码序列中关键帧的个数及与所述数据帧属于同一个编码序列的所述历史数据帧的个数;
基于所述数据帧所属编码序列中关键帧的个数及与所述数据帧属于同一个编码序列的所述历史数据帧的个数,确定所述数据帧在其所属编码序列中多个关键帧的位置信息,将表征所述数据帧在其所属编码序列中多个关键帧的位置信息的信息作为所述数据帧的帧格式信息;
若所述数据帧的类型为非关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为关键帧,则基于所述输出模板,获取与所述数据帧所属编码序列相邻编码序列中非关键帧的保留位携带的帧格式信息,并对获取到的帧格式信息进行运算处理,得到目标信息,将所述目标信息作为所述数据帧的帧格式信息;
若所述数据帧的类型为非关键帧,且所述历史数据帧中与所述数据帧相邻的前一个历史数据帧的类型为非关键帧,基于所述输出模板,将与所述数据帧相邻的前一个历史数据帧的帧格式信息作为所述数据帧的帧格式信息。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在基于重传机制发送所述保留位携带有所述帧格式信息的数据帧时,若遇到关键帧,则将所述关键帧缓存到关键帧缓存队列中;
所述重新发送关键帧,包括:
在所述关键帧缓存队列中,查找与所述重传状态报告匹配的关键帧;
若查找到,则重新发送与所述重传状态报告匹配的关键帧。
10.一种接收设备,其特征在于,包括:
存储器和处理器;
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集执行如权利要求1-6任意一项所述的数据传输方法。
11.一种发送设备,其特征在于,包括:
存储器,用于至少存储一组指令集;
处理器,用于调用并执行所述存储器中的所述指令集,通过执行所述指令集执行如权利要求7-9任意一项所述的数据传输方法。
12.一种存储介质,其特征在于,存储有实现如权利要求1-6任意一项所述的数据传输方法或如权利要求7-9任意一项所述的数据传输方法的计算机程序,计算机程序被处理器执行,实现如权利要求1-6任意一项所述的数据传输方法或如权利要求7-9任意一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111319633.5A CN116112127B (zh) | 2021-11-09 | 2021-11-09 | 一种数据传输方法、相关设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111319633.5A CN116112127B (zh) | 2021-11-09 | 2021-11-09 | 一种数据传输方法、相关设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116112127A true CN116112127A (zh) | 2023-05-12 |
CN116112127B CN116112127B (zh) | 2024-10-11 |
Family
ID=86253167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111319633.5A Active CN116112127B (zh) | 2021-11-09 | 2021-11-09 | 一种数据传输方法、相关设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116112127B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100238789A1 (en) * | 2009-03-18 | 2010-09-23 | Microsoft Corporation | Error recovery in an audio-video multipoint control component |
CN103533387A (zh) * | 2013-10-21 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种视频直播控制方法、设备及系统 |
CN110996035A (zh) * | 2019-12-17 | 2020-04-10 | 紫光展讯通信(惠州)有限公司 | 信息发送方法及装置 |
CN111262660A (zh) * | 2018-11-30 | 2020-06-09 | 华为技术有限公司 | 数据传输方法、设备及系统 |
CN112838910A (zh) * | 2021-03-23 | 2021-05-25 | 中国科学技术大学 | 一种基于混合反馈的数据传输方法及装置 |
-
2021
- 2021-11-09 CN CN202111319633.5A patent/CN116112127B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100238789A1 (en) * | 2009-03-18 | 2010-09-23 | Microsoft Corporation | Error recovery in an audio-video multipoint control component |
CN103533387A (zh) * | 2013-10-21 | 2014-01-22 | 腾讯科技(深圳)有限公司 | 一种视频直播控制方法、设备及系统 |
CN111262660A (zh) * | 2018-11-30 | 2020-06-09 | 华为技术有限公司 | 数据传输方法、设备及系统 |
CN110996035A (zh) * | 2019-12-17 | 2020-04-10 | 紫光展讯通信(惠州)有限公司 | 信息发送方法及装置 |
CN112838910A (zh) * | 2021-03-23 | 2021-05-25 | 中国科学技术大学 | 一种基于混合反馈的数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116112127B (zh) | 2024-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107231328B (zh) | 实时视频传输方法、装置、设备及系统 | |
US10652580B2 (en) | Video data processing method and apparatus | |
CN107888342B (zh) | 一种网络实时视频传输方法及装置 | |
US6918077B2 (en) | Data transmission method and data transmission apparatus | |
US7411903B2 (en) | Method of generating transmission control parameters and method of selective retransmission according to packet characteristics | |
US7164680B2 (en) | Scheme for supporting real-time packetization and retransmission in rate-based streaming applications | |
US6907038B2 (en) | Method for packet transmission of multimedia data in a network | |
CN100592670C (zh) | 一种在iptv网络中动态自适应前向差错控制的系统及方法 | |
EP1994764B1 (en) | Video coding with reference picture set management | |
CN109155707B (zh) | 在多播网络中请求数据重传 | |
KR100378337B1 (ko) | 화상복호화장치 | |
CN111093083B (zh) | 数据传输方法及装置 | |
JP2002190793A (ja) | 通信方式、通信装置、およびこの通信装置を用いた通信システム | |
US20100125768A1 (en) | Error resilience in video communication by retransmission of packets of designated reference frames | |
WO2022262602A1 (zh) | 视频编解码方法及装置 | |
CN115802094A (zh) | 视频报文处理方法、装置、计算机设备和可读介质 | |
CN116112127B (zh) | 一种数据传输方法、相关设备及存储介质 | |
Chen et al. | Multi-stages hybrid ARQ with conditional frame skipping and reference frame selecting scheme for real-time video transport over wireless LAN | |
JP2005033556A (ja) | データ送信装置、データ送信方法、データ受信装置、データ受信方法 | |
JP2003324496A (ja) | データ伝送方法,及びパケットデータ構造 | |
JPH1118086A (ja) | 画像通信方法および装置 | |
JP2006279436A (ja) | マルチメディア通信システムおよび再送用データ削除方法 | |
WO2024017135A1 (zh) | 处理图像的方法和装置 | |
CN118158471B (zh) | 一种用于实时视频监控的无线局域网传输方法及系统 | |
CN117201466A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |