CN102244560B - 保证视频流中宏块数据完整性的数据包发送方法及设备 - Google Patents
保证视频流中宏块数据完整性的数据包发送方法及设备 Download PDFInfo
- Publication number
- CN102244560B CN102244560B CN201010179360.4A CN201010179360A CN102244560B CN 102244560 B CN102244560 B CN 102244560B CN 201010179360 A CN201010179360 A CN 201010179360A CN 102244560 B CN102244560 B CN 102244560B
- Authority
- CN
- China
- Prior art keywords
- data
- data packet
- macro block
- block data
- packet
- 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.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000010586 diagram Methods 0.000 description 18
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 12
- 238000012856 packing Methods 0.000 description 9
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 2
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000010295 mobile communication Methods 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
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种保证视频流中宏块数据完整性的数据包发送方法及设备。该方法包括确定出错数据包,所述出错数据包为达到混合自动重传请求HARQ最大传输次数但仍然传输错误的数据包;当所述出错数据包中包含部分宏块数据时,根据所述部分宏块数据与时延限制的关系,对待传输及已传输的宏块数据进行组合获得新的数据包,所述新的数据包使得接收端能够接收到在时延限制内的完整的宏块数据;发送所述新的数据包。本发明实施例可以保证宏块数据的完整性,提高解码性能。
Description
技术领域
本发明涉及网络通信技术,尤其涉及一种保证视频流中宏块数据完整性的数据包发送方法及设备。
背景技术
随着因特网和无线移动通信网络的快速发展,视频业务正在成为未来网络中的主流业务。由于视频的数据量大,在传输中需要消耗大量的带宽,对通信网络,特别是带宽受限的无线通信网络提出了挑战。视频编码技术是在视频信号传输前先对视频数据进行编码压缩,然后再在网络上传输。视频编码应具有足够的压缩比,使得编码后的视频数据可以在一定的带宽范围内进行传输;同时视频信号压缩后应该保持一定的视频质量,使得人从视觉上不会感到严重失真。
H.264压缩标准不仅显著提高了压缩比,而且具有良好的网络亲和力,加强了对IP网、移动网的误码和丢包处理,这对实时的视频通信是十分重要的。H.264的功能分为两层,即视频编码层(Video Coding Layer,VCL)和网络提取层(Network Abstract Layer,NAL)。VCL表示被压缩编码后的视频数据序列,在VCL数据传输或存储之前这些编码的VCL数据先被映射或封装到NAL单元中。一个视频图像可编码成一个或多个片(Slice),各片之间是相互独立的,每片包含整数个宏块(Micro Block,MB)。进一步地,可以对片进行划分,将语义相关的宏块组成一个数据分割(DataPartition,DP)。H.264视频编码标准中使用了三种不同类型的数据分割:A型分割(DP A)、B型分割(DP B)和C型分割(DP C)。一个NAL单元可以携带一个编码片、一种数据分割、一个序列或图像参数集。
在数据传输时,NAL单元首先被打包成无线链路控制服务数据单元(Radio Link Control Service Data Unit,RLC SDU),之后,无线链路控制(Radio Link Control,RLC)层根据当前分配的无线物理资源对RLC SDU进一步分段打包,得到RLC协议数据单元(Protocol Data Unit,PDU)。RLC PDU是数据传输的处理单位,由分配的物理传输资源决定。
现有技术中,通常是按照固定的数据长度将RLC SDU划分为多个RLC PDU。但是,这种方式下,很可能将一个宏块的数据拆分到不同的数据包中传输,如果一个数据包出错,在接收端不会收到完整的宏块数据,引起跨数据包的宏块无法正确解码。
发明内容
本发明实施例是提供一种保证视频流中宏块数据完整性的数据包发送方法及设备,尽量保证接收端接收到完整的宏块数据,提高解码性能。
本发明实施例提供了一种保证视频流中宏块数据完整性的数据包发送方法,包括:
确定出错数据包,所述出错数据包为达到混合自动重传请求HARQ最大传输次数但仍然传输错误的数据包;
当所述出错数据包中包含部分宏块数据时,根据所述部分宏块数据与时延限制的关系,对待传输及已传输的宏块数据进行组合获得新的数据包,所述新的数据包使得接收端能够接收到在时延限制内的完整的宏块数据;
发送所述新的数据包。
本发明实施例还提供了一种保证视频流中宏块数据完整性的数据包发送方法,包括:
获取当前数据包的长度;
当待传输的宏块数据对应的数据包的长度超过所述当前数据包的长度时,将所述待传输的宏块数据组成至少一个数据包,并使得有相关性的 宏块数据包含在同一个数据包中,其中,每个数据包中包含整数个宏块数据。
本发明实施例提供了一种保证视频流中宏块数据完整性的数据包发送设备,包括:
确定模块,用于确定出错数据包,所述出错数据包为达到混合自动重传请求HARQ最大传输次数但仍然传输错误的数据包;
组合模块,用于当所述出错数据包中包含部分宏块数据时,根据所述部分宏块数据与时延限制的关系,对待传输及已传输的宏块数据进行组合获得新的数据包,所述新的数据包使得接收端能够接收到在时延限制内的完整的宏块数据;
发送模块,用于发送所述新的数据包。
本发明实施例还提供了一种保证视频流中宏块数据完整性的数据包发送设备,包括:
获取模块,用于获取当前数据包的长度;
第一打包模块,用于当待传输的宏块数据对应的数据包的长度超过所述当前数据包的长度时,将所述待传输的宏块数据组成至少一个数据包,并使得有相关性的宏块数据包含在同一个数据包中,其中,每个数据包中包含整数个宏块数据。
由上述技术方案可知,本发明实施例通过在打包后对传输的宏块数据进行组合,使得接收端能够接收到在时延限制内的完整的宏块数据,可以保证接收端接收到完整的宏块数据,提高解码性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例的方法流程示意图;
图2为本发明第二实施例的方法流程示意图;
图3a为本发明第二实施例中数据打包及传输的结构示意图;
图3b为本发明第二实施例中打包成新的数据包的情况一的结构示意图;
图3c为本发明第二实施例中打包成新的数据包的情况二的结构示意图;
图3d为本发明第二实施例中打包成新的数据包的情况三的结构示意图;
图3e为本发明第二实施例中打包成新的数据包的情况四的结构示意图。
图4为本发明第三实施例的方法流程示意图;
图5为本发明第三实施例中反馈数据包长度的示意图;
图6为本发明第三实施例中拆分、重排序及转换编码模式的示意图;
图7为本发明第四实施例的方法流程示意图;
图8为本发明第四实施例中划分时频资源子块的流程示意图;
图9为本发明第四实施例中划分时频资源子块的示意图;
图10为本发明第五实施例的设备结构示意图;
图11为本发明第六实施例的设备结构示意图;
图12为本发明第七实施例的设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明第一实施例的方法流程示意图,包括:
步骤11:确定出错数据包,所述出错数据包为达到混合自动重传请求(Hybrid Automatic Repeat Request,HARQ)最大传输次数但仍然传输错误的数据包;
步骤12:当所述出错数据包中包含部分宏块数据时,根据该部分宏块数据与时延限制的关系,对待传输及已传输的宏块数据进行组合获得新的数据包,所述新的数据包使得接收端能够接收到在时延限制内的完整的宏块数据;
步骤13:发送所述新的数据包。
本实施例通过对宏块数据进行组合,使得接收端能够接收到在时延限制内完整的宏块数据,可以保证接收端接收到完整的宏块数据,提高解码性能。
图2为本发明第二实施例的方法流程示意图,本实施例利用HARQ的停等机制保持宏块数据完整性。参见图2,本实施例包括:
步骤21:将NAL单元打包成RLC SDU。
其中,可以按照正常的封装流程,将NAL单元封装到RLC SDU中。以封装到实时传输协议/用户数据报协议/因特网协议(Real Time Protocol/UserDatagram Protocol/Internet Protocol,RTP/UDP/IP)的过程为例,首先,NAL单元作为RTP的有效载荷,加上IP/UDP/RTP的报文头,构成IP包,在头压缩后,此IP包被封装进点到点协议(Point to Point Protocol,PPP)报文中,则得到RLC SDU。
例如,参见图3a,RLC SDU包括头信息和宏块数据,其中头信息可以包括压缩头(Compressed Header,Comp Header)、NAL头(NAL Header)和片头(Slice Header)。压缩头可以为上述的RTP/UDP/IP头经压缩后形成。宏块数据包括MB-1、MB-2,...,MB-7。
步骤22:根据物理层可分配的传输资源,将该RLC SDU划分为RLCPDU,以RLC PDU为单位进行数据传输。
例如,参见图3a,首先在RLC SDU中划分出RLC PDU-1,其中,RLCPDU-1可以按照现有通常的划分方式进行划分,如在信道条件不变的情况下 可以按照固定的数据包的长度进行划分。
当前一数据包正确传输时(例如,发送端接收到ACK反馈后),后一数据包依旧可以按照现有方式进行划分及传输,例如,参见图3a,如果RLCPDU-1传输正确,则在RLC SDU的剩余数据部分可以按照固定长度再划分出RLC PDU-2。由于划分时是按照固定长度进行划分的,因此,一个宏块数据可能被拆分到不同的数据包中,例如,MB-2被拆分到RLC PDU-1和RLCPDU-2中,MB-5被拆分到RLC PDU-2和RLC PDU-2的后一数据包中。
步骤23:确定出错数据包,所述出错数据包为达到HARQ最大传输次数但仍然传输错误的数据包。
其中,由于接收端在未正确接收数据包后,会向发送端的HARQ层反馈NACK信息。因此,可以在HARQ层和RLC层建立反馈通道,以便在超过最大HARQ次数依旧未正确接收时,将NACK信息反馈给RLC层,RLC层重新对出错数据包的后一数据包进行分段组包。
例如,参见图3a,假设RLC PDU-2为出错数据包。
步骤24:当所述出错数据包中包含部分宏块数据时,根据该部分宏块数据与时延限制的关系,对待传输及已传输的宏块数据进行组合获得新的数据包,所述新的数据包使得接收端能够接收到在时延限制内的完整的宏块数据。
例如,参见图3a,假设RLC PDU-2中包含的部分宏块数据分别为:位于头部的MB-2的部分宏块数据,及位于尾部的MB-5的部分宏块数据。
之后,可以根据MB-2及MB-5的时延限制,在RLC PDU-3中对宏块数据重新组合打包。其中,各宏块对应的时延限制可以预先设定。
具体地,参见图3b~图3e,可以将RLC PDU-3分为如下4种情况:
情况一(图3b所示),如果MB-2已经超过时延限制,但是MB-5还在时延限制内。
此时,由于MB-2已经超过时延限制,对于接收端来讲,MB-2的数据已经无效,因此,在RLC PDU-3中无需重传原来位于RLC PDU-2中的该MB-2 的部分宏块数据。由于MB-5在时延限制内,对于接收端来讲,MB-5的数据依然有效,因此,在RLC PDU-3中需要传输MB-5的整个宏块数据,即,即使RLC PDU-2已经超过最大重传次数,但是为了保证宏块数据的完整性,原来位于RLC PDU-2中的MB-5的部分宏块数据依然要在RLC PDU-3中得到重传。即,参见图3b,RLC PDU-3中需要包含完整个MB-5的宏块数据。同时,可以根据数据包的长度将MB-5后面的宏块数据打包到当前数据包RLCPDU-3中。
情况二(图3c所示):如果MB-2和MB-5均超出时延限制。
此时,由于MB-2、MB-5已经超过时延限制,对于接收端来讲,MB-2、MB-5的数据已经无效,因此,在RLC PDU-3中无需重传原来位于RLC PDU-2中的MB-2及MB-5的部分宏块数据。另外,由于MB-5已经无效,原来被拆分到RLC PDU-3中的MB-5的另外部分宏块数据也没有传输的必要了。
即,参见图3c,RLC PDU-3只需从MB-6(MB-5的后一个宏块数据)开始填充。当然,当剩余宏块数据不够填充满RLC PDU-3时,可以组合其他的NAL单元或者填充一些无效比特数(组合或填充)。
情况三(图3d所示):如果MB-2和MB-5均在时延限制内。
此时,由于MB-2、MB-5均在时延限制内,对于接收端来讲,MB-2、MB-5的数据均有效,因此,即使RLC PDU-2已经超过最大重传次数,但是为了保证宏块数据的完整性,原来位于RLC PDU-2中的MB-2、MB-5的部分宏块数据依然要在RLC PDU-3中得到重传。
即,参见图3d,RLC PDU-3中需要包含原来位于RLC PDU-2中的MB-2的部分宏块数据及完整的MB-5的宏块数据。同时,可以根据数据包的长度将MB-5后面的宏块数据打包到当前数据包RLC PDU-3中,或者,对数据包进行填充。
情况四(图3e所示):如果MB-2在时延限制内,但是MB-5超出时延限制。
此时,对于接收端来讲,MB-2的数据是有效的,MB-5的数据是无效的,因此,即使RLC PDU-2已经超过最大重传次数,但是为了保证宏块数据的完整性,原来位于RLC PDU-2中的MB-2的部分宏块数据依然要被重传。另外,由于MB-5已经无效,原来位于RLC PDU-2中的MB-5的部分宏块数据及原来被拆分到RLC PDU-3中的MB-5的另外部分宏块数据均没有传输的必要。
即,参见图3e,RLC PDU-3中需要包含原来位于RLC PDU-2中的MB-2的部分宏块数据及从MB-6(MB-5的后一个宏块数据)开始填充的宏块数据。当然,当剩余宏块数据不够填充满RLC PDU-3时,可以组合其他的NAL单元或者填充一些无效比特数(组合或填充)。
上述分别描述了四种情况,需要注意的是,为了正确确定出每个宏块数据的边界,在当前数据包(RLC PDU-3)中还需要再携带一个指示信息。所述指示信息用于指示所述当前数据包中是否携带另外部分已经被正确传输的部分宏块数据。假设,指示信息为0表示当前数据包中没有携带另外部分已经被正确传输的部分宏块数据,指示信息为1表示当前数据包中携带另外部分已经被正确传输的部分宏块数据。则对于上述的情况一和情况二,该指示信息为0,对于上述的情况三和情况四,该指示信息为1。
本实施例通过对出错数据包的后一数据包重新组包,使得接收端对于有效数据可以接收到完整的宏块数据,保证了宏块数据的完整性,有利于解码。
第二实施例在宏块数据已经打包传输后,通过对后续传输的宏块数据重新组合,保证宏块数据的完整性。在实际中,可能不仅仅需要保证单个宏块数据的完整性,还可能需要保证具有相关性的宏块数据的完整性,例如,如果具有相关性的宏块数据被拆分到不同的数据包中,如果一个数据包丢失,则会引起其余正确接收到的数据包由于具有相关性的宏块数据的丢失而无法解码。为此,在数据打包时,不仅需要考虑数据包中包含整数个宏块数据,还需要将具有相关性的宏块数据打包在同一个数据包中。
图4为本发明第三实施例的方法流程示意图,本实施例利用拆分和/或重 排序和/或转换编码模式保持宏块数据完整性和相关性。参见图4,本实施例包括:
步骤41:获取当前数据包的长度。
其中,本实施例的执行主体可以为视频源发送端,或者为接入网基站。
当为视频源发送端时,视频源发送端可以接收由视频源接收端,或者,由基站反馈的所述当前数据包的长度;
当为基站时,基站可以根据当前分配的时频资源块的固有边界和调制编码模式,确定所述当前数据包的长度。
图5为本发明第三实施例中反馈数据包长度的示意图,参见图5,当执行主体为视频源发送端时,需要视频源接收端向视频源发送端反馈当前数据包的长度(情况一),或者,需要接入网基站向视频源发送端反馈当前数据包的长度(情况二)。
步骤42:当待传输的宏块数据对应的数据包的长度超过所述当前数据包的长度时,将所述待传输的宏块数据组成至少一个数据包,并使得有相关性的宏块数据包含在同一个数据包中,其中,每个数据包中包含整数个宏块数据。
其中,以待传输的宏块数据为一个完整的NAL单元为例,如果一个完整的NAL单元的宏块数据不能被放入当前数据包中,则可以对该NAL单元中的宏块数据进行拆分和/或重排序和/或转换编码模式,使得每个PDU数据包包含整数个宏块数据,同时处理后具有相关性的宏块数据放在同一个PDU数据包中。
其中,当执行主体为接入网基站时,需要基站支持拆分和/或重排序和/或转换编码模式。
其中,拆分和/或重排序和/或转换编码模式可以具体为:
拆分是指:当具有相关性的宏块数据组成的数据包长度超出当前数据包的长度时,将该具有相关性的宏块数据拆分为至少两个组,每个组内的宏块 数据重新编码并组合成数据包,使得同一数据包中的宏块数据具有相关性,而不同数据包具有独立性。例如,假设原始具有相关性的宏块为1、2、3、4、5,由1-5组成的数据包的长度超出当前数据包的长度时,可以将上述的宏块拆分为两组,分别为1、2、3组成的组及4和5组成的组。在每个组内重新对宏块数据进行编码,使得重新编码后的宏块1、2、3具有相关性,重新编码后的宏块4、5具有相关性,而由1、2、3组成的组与由4、5组成的组是独立的,不具有相关性。
重排序是指:为了适应当前数据包的长度,可以改变原始的宏块数据的顺序,以便更好地适应当前数据包的长度。例如,如果具有相关性的帧内编码宏块组成的数据包长度远小于当前数据包的长度,可以拼接另一组帧内编码宏块。在这个过程中,拼接的另一组帧内编码宏块要保持完整性,即不能进行宏块数据拆分。如果帧间编码宏块组成的数据包长度远小于当前数据包的长度,也可以拼接其他帧间编码宏块。
转换编码模式是指:如果具有相关性的帧内编码宏块组成的数据包的长度大于当前数据包的长度,可以将部分帧内编码宏块转换编码模式重新编码为帧间编码宏块;如果帧间编码宏块组成的数据包的长度小于当前数据包的长度,可以将部分帧间编码宏块转换编码模式重新编码为帧内编码宏块。
另外,当一组宏块数据组成的数据包的长度小于当前数据包的长度时,还可以采用冗余编码,添加冗余信息,提高抗误码能力。
图6为本发明第三实施例中拆分、重排序及转换编码模式的示意图,本实施例以帧间编码片包含数据分割为例。参见图6,该帧间编码片可以被分为DP A、DP B和DP C,DP A包含片头和片中每个宏块头数据、DP B包含帧内编码的宏块数据,DP C包含帧间编码的宏块数据。按照固定长度数据包分割,DP B被打包成3个数据包,DP C被打包成2个数据包。通常头信息的优先级最高,其次是帧内编码宏块数据,再次是帧间编码宏块数据。因此如果按照优先级发送数据包,则原始的宏块传输顺序为1、2、3、4、11、12、 15、16、5、6、7、8、9、10、13、14。
根据动态分配的数据包长度,可以对上述宏块拆分和/或重排序和/或转换编码模式。假设根据DP B第1个数据包的长度,可以将DP B 1、2、3、4先拆分成2个宏块组再分别进行帧内编码成数据分割B,即DP B 1、2、3、4拆分后为DP B 1、2和DP B 3、4;假设根据DP B第2个数据包的长度,可以将DP C 7、8从原来的DP C的第一个数据包中拆分出来并经转换编码模式后与原来的DP B 11、12一起打包;根据DP B第3个数据包的长度,可以将DP C 14从原来的DP C的第二个数据包中拆分出来并经转换编码模式后与原来的DP B 15、16一起打包;剩余的C型数据分割可以进一步拼接后打包在一个数据包中传输。则经过重排序转换编码模式后的宏块传输顺序为1、2、3、4、7、8、11、12、14、15、16、5、6、9、10、13。
由于接收端在解码时,需要参考具有相关性的宏块数据,因此,为了正确解码,在宏块数据具有相关性时,不仅要保证一个完整的宏块数据在一个数据包中传输,还需要保证具有相关性的宏块数据在一个数据包中进行传输。而本实施例通过拆分和/或重排序和/或转换编码模式,可以将具有相关性的宏块打包在一个数据包中,实现宏块数据的完整性及相关性,保证接收端的正确解码。
第三实施例描述了物理资源不足够时对NAL单元数据的分段打包方案,即如果一个NAL单元的数据不能承载在一个时频资源块中传输,需要对NAL单元的数据在RLC层进行分段打包,在打包成的PDU数据包中保持宏块数据的完整性和相关性。如果一个NAL单元的数据可以承载在一个时频资源中传输,但是,NAL单元的数据量较大,此时,由于存在足够的物理资源,NAL单元可以打包在一个PDU数据包中传输,但是,由于NAL单元的数据量较大,在传输时,如果发生传输错误,则会造成整个数据包的不可解码,整个NAL单元的数据被丢弃,引起图像质量明显下降。因此,为了避免打包后的数据包的数据量较大引起的问题,可以采用如下的方案:
图7为本发明第四实施例的方法流程示意图,本实施例以对时频资源进行划分为例。参见图7,包括:
步骤71:当待传输的宏块数据对应的打包后的数据量未超过该当前数据包的长度时,将待传输的宏块数据打包成一个PDU数据包。
例如,当一个完整的NAL单元的数据可以承载在一个时频资源块上时,将该NAL单元打包成PDU数据包。
步骤72:判断该PDU数据包的长度是否超出预先设置的阈值,若是,执行步骤73,否则,执行步骤74。
例如,预先设置一个最大值,当该NAL单元打包成的PDU数据包长度超出预先设定的最大值时,执行步骤73,否则,执行步骤74。
步骤73:将当前分配的时频资源块划分为至少两个的时频资源子块,将所述PDU数据包中的宏块数据组成宏块数据组,并使得具有相关性的宏块数据对应同一个时频资源子块,所述宏块数据组的数据量与各时频资源子块对应,其中,每个宏块数据组包含整数个宏块数据。
例如,可以根据各时频资源子块的固有边界及调制编码模式,对PDU数据包中的宏块数据进行如下项中的至少一项的处理:拆分、重排序、转换编码模式,得到各时频资源子块的可以承载的宏块数据组,将各宏块数据组分别映射到对应的时频资源子块中进行传输。
其中,宏块数据组包含整数个宏块数据,时频资源子块的个数至少为两个,假设每个时频资源子块包含n个时频单元(Resource Element,RE),其中,1≤n≤K。采用相同的调制编码方式,每个时频单元可以承载相同长度的宏块数据。
具体地,图8为本发明第四实施例中划分时频资源子块的流程示意图,参见图8,即该步骤73具体可以如下:
步骤81:计算n个RE可以承载的宏块数据大小;
其中,n从1开始,并且在计算时需要扣除在物理层额外添加的信息长 度;
步骤82:按照NAL单元中的宏块排列顺序搜索数据量最适合n个RE大小的一个或一组宏块,一组宏块可以是相关的,完全非相关的或相关与不相关的混合宏块。
步骤83:判断需填充比特数是否小于预先设定的门限值,若是,执行步骤84,否则,执行步骤85。
步骤84:将这些宏块组合起来映射到n个RE组成的时频资源子块上,并作必要的比特填充;之后,将这些宏块承载在时频资源子块上传输。
步骤85:判断n是否小于K,若是,执行步骤86,否则,执行步骤87。
步骤86:进行n=n+1处理,之后重复执行步骤81。
步骤87:进行拆分和/或重排序和/或转换编码处理,使得宏块数据可以映射到一个时频资源子块中,之后,将这些宏块承载在时频资源子块上传输。
其中,可以参见第三实施例的根据当前数据包的长度对宏块数据的处理过程,与上一实施例不同的是,由于本实施例是直接将宏块数据组包后映射到物理层的时频资源上,因此,本实施例的数据包长度不需要添加额外的RLC层和媒体接入控制(Media Access Control,MAC)层的头信息,具体地,如果一组宏块是相关的,需要拆分这组相关宏块为二组或多组相互独立的宏块组,其中每个组内的宏块是相关的,然后重新编码并重新进行物理层时频资源映射;如果一组宏块是完全非相关的,或由相关与非相关的宏块混合组成,此时可以改变部分宏块编码模式,如将帧内编码宏块转换成帧间编码宏块,或将帧间编码宏块转换成帧内编码宏块后拆分部分宏块数据,或进行冗余编码后拆分部分宏块数据,然后再重新进行物理层时频资源映射,以适应可承载的数据包长度;
循环执行这个过程直到所有的宏块都被映射到相应的时频资源子块上。 如果最后一个时频资源子块没有完全被当前NAL单元中的宏块数据填充,可以和后继NAL单元中宏块数据进行拼接或作填充。
为了在接收端能够区分这些资源子块,在时频资源指示信息中需要指示每个时频资源子块的起始位置和长度。
图9为本发明第四实施例中划分时频资源子块的示意图,如图9所示,区别于第三实施例,本实施例的宏块重排序,拆分,转换编码模式后重新组成的一组宏块数据能自适应的满足n×RE个可变大小的时频资源子块可承载的数据长度,因此具有更高的灵活性。同时利用物理资源单元RE固有的边界进行分段,可以不需要为每组宏块数据添加头信息,而只需要添加独立的纠错码,使得可以在接收端进行独立解码接收。
步骤74:将该PDU数据包映射到当前分配的时频资源块上传输。
本实施例根据时频资源子块的固有边界来确定承载的宏块数据的大小,可以不必添加头信息,可以在接收端独立解码接收;通过宏块数据适应时频资源子块的大小,具有更高的灵活性。
上述分别描述了打包后及打包前为保证宏块数据完整性采用的方案,可以理解的是,可以将两种方案组合,即采用第三实施例或第四实施例的方案进行打包,在发送数据出现错包之后,采用第一实施例或第二实施例进行重传。本实施例通过将两种方案组合,可以更好地保证宏块数据的完整性。
图10为本发明第五实施例的设备结构示意图,包括确定模块101、组合模块102和发送模块103;确定模块101用于确定出错数据包,所述出错数据包为达到混合自动重传请求HARQ最大传输次数但仍然传输错误的数据包;组合模块102用于当所述出错数据包中包含部分宏块数据时,根据所述部分宏块数据与时延限制的关系,对待传输及已传输的宏块数据进行组合获得新的数据包,所述新的数据包使得接收端能够接收到在时延限制内的完整的宏块数据;发送模块103用于发送所述新的数据包。
具体地,组合模块102可以包括第一单元1021或者第二单元1022;第 一单元1021用于当所述部分宏块数据位于所述出错数据包的头部,且所述部分宏块数据在时延限制内时,所述新的数据包中包括所述部分宏块数据;第二单元1022用于当所述部分宏块数据位于所述出错数据包的尾部,且所述部分宏块数据在时延限制内时,所述新的数据包中包括所述部分宏块数据对应的完整的宏块数据。
进一步地,本实施例还可以包括指示模块104,指示模块104用于在所述新的数据包中携带指示信息,所述指示信息用于指示所述新的数据包中是否携带另外部分已经被正确传输的部分宏块数据。
所述设备位于视频源发送端中,或者,所述设备位于基站中。
本实施例通过在出错数据包的后一数据包中重新组包,使得接收端对于有效数据可以接收到完整的宏块数据,保持了宏块数据的完整性,有利于解码。
图11为本发明第六实施例的设备结构示意图,包括获取模块111和第一打包模块112;获取模块111用于获取当前数据包的长度;第一打包模块112用于当待传输的宏块数据对应的数据包的长度超过所述当前数据包的长度时,将所述待传输的宏块数据组成至少一个数据包,并使得有相关性的宏块数据包含在同一个数据包中,其中,每个数据包中包含整数个宏块数据。
具体地,当所述设备位于视频源发送端时,所述获取模块111具体用于接收由视频源接收端反馈的所述当前数据包的长度,或者,所述获取模块具体用于接收由基站反馈的所述当前数据包的长度;或者,当所述设备位于基站中时,所述获取模块111具体用于根据当前分配的时频资源的固有边界和调制编码模式,确定所述当前数据包的长度。
具体地,第一打包模块112具体用于当待传输的宏块数据对应的打包后的数据量超过所述当前数据包的长度时,根据待打包成的PDU数据包的长度,对所述待传输的宏块数据进行如下项中的至少一项的处理:拆分、重排序、转换编码模式,打包成至少一个PDU数据包,其中,每个PDU数据包 中包含整数个宏块数据,且处理后具有相关性的宏块数据包含在同一个PDU数据包中。
所述设备位于视频源发送端中,或者,所述设备位于基站中。
本实施例通过拆分和/或重排序和/或转换编码模式,可以将具有相关性的宏块打包在一个数据包中,实现宏块数据的完整性及相关性,保证接收端的正确解码。
图12为本发明第七实施例的设备结构示意图,包括获取模块121、第二打包模块122和处理模块123;获取模块121用于获取当前数据包的长度;第二打包模块122用于当待传输的宏块数据对应的数据包的长度未超过所述当前数据包的长度时,将所述待传输的宏块数据打包成一个PDU数据包;处理模块123用于当所述PDU数据包的长度超出预先设置的阈值时,将当前分配的时频资源块划分为至少两个的时频资源子块,将所述PDU数据包中的宏块数据组成宏块数据组,并使得具有相关性的宏块数据对应同一个时频资源子块,所述宏块数据组的数据量与各时频资源子块对应,其中,每个宏块数据组包含整数个宏块数据。
具体地,处理模块123具体用于当所述PDU数据包的长度超出预先设置的阈值时,将当前分配的时频资源块划分为至少两个的时频资源子块,根据当前时频子块的固有边界和调制编码模式,对所述PDU数据包中的宏块数据进行如下项中的至少一项的处理:拆分、重排序、转换编码模式,得到数据量与各时频资源子块对应的宏块数据组,其中,每个宏块数据组包含整数个宏块数据,且处理后具有相关性的宏块数据对应同一个时频资源子块。
本实施例根据时频资源子块的固有边界来确定可以承载的宏块数据的大小,可以不必添加头信息,可以在接收端独立解码接收;通过宏块数据适应时频资源子块的大小,具有更高的灵活性。
上述分别描述了打包后及打包前为保证宏块数据完整性采用的方案,可以理解的是,可以将两种方案组合,即本发明实施例提供另一种保证宏块数 据完整性的设备,包括获取模块、第一打包模块、发送模块、确定模块和组合模块,或者,包括获取模块、第二打包模块、处理模块、发送模块、确定模块和组合模块,其中,上述模块可以具体参见图10-12所示的实施例。
本实施例通过将两种方案组合,可以更好地保证宏块数据的完整性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
1.一种保证视频流中宏块数据完整性的数据包发送方法,其特征在于,包括:
确定出错数据包,所述出错数据包为达到混合自动重传请求HARQ最大传输次数但仍然传输错误的数据包;
当所述出错数据包中包含部分宏块数据时,根据所述部分宏块数据与时延限制的关系,对待传输及已传输的宏块数据进行组合获得新的数据包,所述新的数据包使得接收端能够接收到在时延限制内的完整的宏块数据;
所述对待传输及已传输的宏块数据进行组合获得新的数据包,包括:
当所述部分宏块数据位于所述出错数据包的头部,且所述部分宏块数据在时延限制内时,所述新的数据包中包括所述部分宏块数据;
或者,
当所述部分宏块数据位于所述出错数据包的尾部,且所述部分宏块数据在时延限制内时,所述新的数据包中包括所述部分宏块数据对应的完整的宏块数据;
发送所述新的数据包。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述新的数据包中携带指示信息,所述指示信息用于指示所述新的数据包中是否携带另外部分已经被正确传输的部分宏块数据。
3.一种保证视频流中宏块数据完整性的数据包发送设备,其特征在于,包括:
确定模块,用于确定出错数据包,所述出错数据包为达到混合自动重传请求HARQ最大传输次数但仍然传输错误的数据包;
组合模块,用于当所述出错数据包中包含部分宏块数据时,根据所述部分宏块数据与时延限制的关系,对待传输及已传输的宏块数据进行组合获得新的数据包,所述新的数据包使得接收端能够接收到在时延限制内的完整的宏块数据;
所述组合模块包括:
第一单元,用于当所述部分宏块数据位于所述出错数据包的头部,且所述部分宏块数据在时延限制内时,所述新的数据包中包括所述部分宏块数据;
或者,
第二单元,用于当所述部分宏块数据位于所述出错数据包的尾部,且所述部分宏块数据在时延限制内时,所述新的数据包中包括所述部分宏块数据对应的完整的宏块数据;
发送模块,用于发送所述新的数据包。
4.根据权利要求3所述的设备,其特征在于,还包括:
指示模块,用于在所述新的数据包中携带指示信息,所述指示信息用于指示所述新的数据包中是否携带另外部分已经被正确传输的部分宏块数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010179360.4A CN102244560B (zh) | 2010-05-14 | 2010-05-14 | 保证视频流中宏块数据完整性的数据包发送方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010179360.4A CN102244560B (zh) | 2010-05-14 | 2010-05-14 | 保证视频流中宏块数据完整性的数据包发送方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102244560A CN102244560A (zh) | 2011-11-16 |
CN102244560B true CN102244560B (zh) | 2014-05-07 |
Family
ID=44962425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010179360.4A Expired - Fee Related CN102244560B (zh) | 2010-05-14 | 2010-05-14 | 保证视频流中宏块数据完整性的数据包发送方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102244560B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130271655A1 (en) * | 2012-04-12 | 2013-10-17 | Google Inc. | System, apparatus and method to facilitate live video streaming |
CN102710381B (zh) * | 2012-06-07 | 2015-04-15 | 飞天诚信科技股份有限公司 | 一种处理传输数据的方法和装置 |
CN104184794B (zh) * | 2013-05-27 | 2019-01-08 | 韩国电子通信研究院 | 数据包大小随机化方法 |
CN107707921B (zh) * | 2017-07-14 | 2020-05-19 | 湖北航天技术研究院总体设计所 | 一种动态图像处理系统 |
CN115087037A (zh) * | 2021-03-12 | 2022-09-20 | 华为技术有限公司 | 一种通信方法及装置 |
CN114040445B (zh) * | 2021-11-08 | 2023-08-15 | 聚好看科技股份有限公司 | 一种数据传输方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060386A (zh) * | 2006-04-17 | 2007-10-24 | 华为技术有限公司 | 混合自动重传请求实体及其数据块的上报方法 |
CN101162978A (zh) * | 2006-10-13 | 2008-04-16 | 华为技术有限公司 | 数据混合自动重传方法及装置 |
CN101217351A (zh) * | 2007-12-28 | 2008-07-09 | 中国科学院计算技术研究所 | 一种通信网络及其自动重传机制实现方法 |
CN101217347A (zh) * | 2007-12-28 | 2008-07-09 | 中国科学院计算技术研究所 | 一种无线网络媒体接入控制系统中harq的实现方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101155014A (zh) * | 2006-09-28 | 2008-04-02 | 华为技术有限公司 | 一种数据混合自动请求重传方法及装置 |
CN101286825A (zh) * | 2007-04-11 | 2008-10-15 | 松下电器产业株式会社 | 实现基于可靠性的混合自动重传的方法、发送端和系统 |
CN101309129B (zh) * | 2007-05-18 | 2011-05-18 | 上海贝尔阿尔卡特股份有限公司 | 针对单独数据包或最后一个数据包的重传控制方法和系统 |
CN101399649A (zh) * | 2007-09-29 | 2009-04-01 | 华为技术有限公司 | 一种数据传送方法、系统及设备 |
-
2010
- 2010-05-14 CN CN201010179360.4A patent/CN102244560B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060386A (zh) * | 2006-04-17 | 2007-10-24 | 华为技术有限公司 | 混合自动重传请求实体及其数据块的上报方法 |
CN101162978A (zh) * | 2006-10-13 | 2008-04-16 | 华为技术有限公司 | 数据混合自动重传方法及装置 |
CN101217351A (zh) * | 2007-12-28 | 2008-07-09 | 中国科学院计算技术研究所 | 一种通信网络及其自动重传机制实现方法 |
CN101217347A (zh) * | 2007-12-28 | 2008-07-09 | 中国科学院计算技术研究所 | 一种无线网络媒体接入控制系统中harq的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102244560A (zh) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9608768B2 (en) | Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction | |
KR100612003B1 (ko) | 통신망에서 비트 스트림 송수신 장치 및 그 방법 | |
CN102244560B (zh) | 保证视频流中宏块数据完整性的数据包发送方法及设备 | |
JP4877979B2 (ja) | 複数の局が共有媒体を介して通信するネットワークにおける動作方法 | |
EP2437421B1 (en) | Method, device and communication system for retransmitting based on forward error correction | |
US7443797B2 (en) | Medium streaming distribution system | |
US7864798B2 (en) | Method and apparatus for supporting voice over IP services over a cellular wireless communication network | |
KR102326312B1 (ko) | 비디오 송신 방법 및 데이터 송신기 | |
KR101216100B1 (ko) | 단편화 패킹 확장헤더를 수반하는 mac pdu를 전송하는 방법 및 장치 | |
WO2013142568A1 (en) | Recovering data in multimedia file segments | |
KR20080016637A (ko) | 인 밴드 에러 패턴을 사용한 에러 복원 | |
WO2010124651A1 (zh) | 前向纠错方法、装置和系统 | |
WO2014205814A1 (zh) | 一种数据传输方法、装置、基站及用户设备 | |
CN107566330A (zh) | 适于维持接收数据质量的装置和用于接收数据的方法 | |
US20240187650A1 (en) | Video codec aware radio access network configuration and unequal error protection coding | |
JP2023524344A (ja) | 5g-ran又は4g e-utranにおけるpdcpネットワークコーディングのための方法 | |
CN113316922B (zh) | 用于传输数据分组的设备、方法、装置以及计算机可读存储介质 | |
CN1863311B (zh) | 传输视频数据的方法 | |
Barreira et al. | Impact of the IEEE 802.11 n frame aggregation mechanisms on video streaming quality | |
KR101526972B1 (ko) | 무선 접속 시스템에서 난수선형부호화를 이용한 통신방법 | |
KR101076230B1 (ko) | 이동통신 시스템에서 데이터 병렬 송수신 장치 및 방법 | |
WO2023046029A1 (zh) | 数据传输方法、装置及可读存储介质 | |
WO2023051106A1 (en) | Method and apparatus for code block groups and slices mapping in mobile communications | |
Choi et al. | A Novel Design and Analysis of Cross-Layer Error-Control for H. 264 Video over Wireless LAN | |
CN115706621A (zh) | 传输数据的方法及通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20160601 Address after: Wei Jie Street No. 11 building, 518057 Shenzhen Road, Guangdong province science and technology Nanshan District Guangdong 306 Patentee after: SHENZHEN COMFD TECHNOLOGY DEVELOPMENT CO.,LTD. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140507 |
|
CF01 | Termination of patent right due to non-payment of annual fee |