CN200610147065.4
2006.11.14
CN1976479A
2007.06.06
授权
有权
授权|||实质审查的生效|||公开
H04N7/64(2006.01); H04L1/00(2006.01)
H04N7/64
三星电子株式会社;
李宰旭; 许成官; 徐尚范
韩国京畿道水原市灵通区梅滩3洞416
2005.11.15 KR 10-2005-0109266
北京铭硕知识产权代理有限公司
韩明星;谭昌驰
一种数据发送方法和设备基于单位对将通过无线网络被发送的数据编码;为发送数据提供信息,以使得发送数据能够从添加到其的差错恢复;将发送数据发送到无线网络;根据是否成功发送所述发送数据来计算传输成功率;和根据传输成功率是否高于阈值来控制发送数据的发送。
1、 一种数据发送方法,包括:基于单位对将通过无线网络被发送的数据编码;为发送数据提供信息,以使得将被发送的数据能够从添加到其的差错恢复;将发送数据发送到无线网络;根据是否成功发送所述发送数据来计算传输成功率;和根据传输成功率是否高于阈值来控制发送数据的发送。2、 如权利要求1所述的方法,其中:将被发送的数据是视频数据;并且所述方法还包括:在所述数据上标记I帧、P帧和B帧;和分离标记的数据。3、 如权利要求1所述的方法,其中,提供发送数据的步骤包括:执行前向纠错编码。4、 如权利要求1所述的方法,其中,提供发送数据的步骤包括:对发送数据进行交织。5、 如权利要求1所述的方法,其中,计算传输成功率的步骤包括:如果存在发送失败的数据,那么计算发送数据的传输失败率;和存储发送失败的数据。6、 如权利要求5所述的方法,其中,存储数据的步骤包括:将所述传输失败率与发送数据的差错恢复率进行比较;和如果所述传输失败率低于所述差错恢复率,那么丢弃发送失败的数据。7、 如权利要求1所述的方法,其中,基于发送数据的差错恢复率来确定所述阈值。8、 如权利要求1所述的方法,其中,控制发送数据的发送的步骤包括:当传输成功率高于所述阈值时,停止发送所述发送数据的未发送数据。9、 如权利要求1所述的方法,其中,控制发送数据的发送的步骤包括:如果传输成功率低于所述阈值,那么确定发送数据的发送是否已完成;和根据确定结果来重发发送失败的数据。10、 如权利要求9所述的方法,其中,重发所述数据的步骤包括:减小发送失败的数据的传输速率。11、 如权利要求9所述的方法,其中,重发所述数据的步骤包括:根据基于重发的数据的发送数据的传输成功率是否高于所述阈值来控制发送失败的数据的重发。12、 一种数据发送设备,包括:视频数据处理单元,基于单位对将通过无线网络被发送的数据编码,并为发送数据提供信息,以使得将被发送的数据能够从添加的差错恢复;发送单元,将发送数据发送到无线网络;计算单元,计算发送数据的传输成功率;和确定单元,根据传输成功率是否高于阈值来控制发送数据的发送。13、 如权利要求12所述的设备,其中:将被发送的数据是视频数据;和所述设备还包括:帧分离单元,在所述数据上标记I帧、P帧和B帧,并分离标记的数据。14、 如权利要求12所述的设备,其中,视频数据处理单元执行前向纠错编码。15、 如权利要求12所述的设备,其中,视频数据处理单元对发送数据进行交织。16、 如权利要求12所述的设备,还包括:存储单元,用于存储发送失败的数据,其中,计算单元计算发送数据的传输失败率。17、 如权利要求16所述的设备,其中,当传输失败率低于发送数据的差错恢复率时,确定单元确定丢弃发送失败的数据。18、 如权利要求12所述的设备,其中,基于发送数据的差错恢复率来确定所述阈值。19、 如权利要求12所述的设备,其中,当传输成功率高于所述阈值时,确定单元确定停止发送未发送的数据。20、 如权利要求12所述的设备,其中,当传输成功率低于所述阈值时,确定单元确定发送数据的发送是否已完成,并根据确定结果来确定是否重发发送失败的数据。21、 如权利要求20所述的设备,其中,确定单元减小发送失败的数据的传输速率。22、 如权利要求20所述的设备,其中,确定单元根据基于重发的数据的发送数据的传输成功率是否高于所述阈值来控制发送失败的数据的重发。
在无线网络中发送数据的方法和设备 本申请基于于2005年11月15日提交的第2005-0109266号韩国专利申请,并要求其优先权,本申请完全公开于此,以资参考。 技术领域 本发明涉及在无线网络中发送视频数据,更具体地讲,涉及一种在发送视频数据时有效地使用无线网络的资源的数据发送方法和设备。 背景技术 随着诸如电气和电子工程师协会(IEEE)802.11a/b/g、码分多址(CDMA)2000、通用移动电信系统(UMTS)和无线宽带(WiBro)的无线通信技术的发展和普及,期望家庭网络和无线互联网将被广泛使用。还期望视频流传输成为这些服务的关键应用(killer application)。更具体地讲,随着诸如数字多媒体广播(DMB)的广播系统的构建,视频流传输在无线通信中越来越重要。 在无线网络中,由于信道条件不稳定,所以包被频繁地丢失。这可引起接收方的视频质量问题。 为了消除用户方的视频质量问题,通常使用一种重发丢失的包或者以低传输速率重发包的方法。更详细地讲,如果在发送数据帧时特定包的发送失败,那么视频发送设备停止发送其它包。然后,视频发送设备重发还没有发送的包,直到成功发送该包。如果在尝试重发先前设置的次数之后还没有发送的包没有被成功发送,那么发送方以降低的包传输速率重发所述包。如果通过以上处理成功发送了所述包,那么视频发送设备发送随后的包。 然而,传统的数据发送方法强调通过最大程度地利用指定的带宽来保持所发送数据的完整性。因此,由于传统的数据发送方法不能有效地使用有限的无线网络资源,所以出现问题。 为了解决该问题,已提出了诸如第2003-0005382号美国专利申请公布说明书“System and Method for Frame Transmission in Broadcast CommunicationSystem”的几项发明。然而,仍然没有解决该问题。 考虑到以上问题,需要一种在通过无线网络发送视频数据时可有效地使用有限的无线网络资源的数据发送方法和设备。 发明内容 本发明的示例性实施例克服以上缺点和以上没有描述的其它缺点。此外,本发明不需要克服上述缺点,本发明的示例性实施例可不克服上述任何问题。 因此,本发明紧记出现在现有技术中的以上问题,本发明的各方面提供了一种在发送数据时可有效地使用无线网络的资源的数据发送方法和设备。 本发明提供了一种数据发送方法,包括:基于单位对将通过无线网络被发送的数据编码;为发送数据提供信息,以使得发送数据能够从添加到其的差错恢复;将发送数据发送到无线网络;根据是否成功发送所述发送数据来计算传输成功率;和根据传输成功率是否高于阈值来控制发送数据的发送。 本发明还提供了一种数据发送设备,包括:视频数据处理单元,基于单位对将通过无线网络被发送的数据编码,并为发送数据提供信息,以使得将被发送的数据能够从添加的差错恢复;发送单元,将发送数据发送到无线网络;计算单元,计算发送数据的传输成功率;和确定单元,根据传输成功率是否高于阈值来控制发送数据的发送。 附图说明 通过下面结合附图所进行的详细描述,本发明的上述和其他特点和优点将会被清楚地理解,其中: 图1是示出根据本发明第一示例性实施例的视频发送设备的结构的框图; 图2是详细示出图1的视频发送设备的视频数据处理单元的结构的框图; 图3是示出根据本发明第一示例性实施例的视频发送设备中的数据流向的示例的示图; 图4是示出根据本发明第一实施例的视频接收设备的结构的框图; 图5是示出根据本发明第一示例性实施例的视频接收设备中的数据流向的示例的示图; 图6是示出根据本发明第一示例性实施例的视频发送设备的任务处理过程的流程图; 图7是示出根据本发明第一示例性实施例的视频接收设备的任务处理过程的流程图; 图8是示出根据本发明第二示例性实施例的视频发送设备的结构的框图; 图9是示出根据本发明第二示例性实施例的视频发送设备的任务处理过程的流程图; 图10是示出取决于编码率的无线网络的带宽使用频率的标准化的曲线图;和 图11是示出根据本发明示例性实施例的当发送数据时取决于编码率的每包的重试率的曲线图。 具体实施方式 从以下给出的详细描述中,将更易于明白本发明的这些和其它目的。然而,应该理解,由于本领域技术人员从该详细的描述中会明白本发明的精神和范围内的各种改变和修改,所以应该理解,详细的描述和特定的示例在指示本发明示例性实施例的同时,只是作为示例被给出。在描述附图时,贯穿整个说明书,相同的标号指示相同的元件。 现在将参照示出无线网络中的数据发送方法和设备的框图和处理流程图并结合示例性实施例来详细描述本发明。将会理解,可通过计算机程序指令来执行处理流程图中的每个块和流程图中的块的组合。可将所述计算机程序指令载入通用计算机、专用计算机和其它可编程数据处理设备的处理单元中。因此,通过所述计算机或其它可编程数据处理设备的处理单元执行的指令创建用于执行流程图块中所描述的功能的方法。可将所述计算机程序指令存储在可提供给计算机或其它可编程数据处理设备的计算机可用或计算机可读存储器中,以按照特定的方式实现所述功能。因此,存储在计算机可用或计算机可读存储器中的所述指令可产生包括用于执行在流程图块中描述的功能的指令手段的产品。由于可将计算机程序指令安装在计算机或其它可编程数据处理设备上,所以在计算机或其它可编程数据处理设备上执行一系列操作步骤,从而创建通过计算机执行的处理。因此,可将在计算机或其它可编程数据处理设备上执行的所述指令设置为执行流程图块中描述的功能的步骤。 此外,每个块可表示包括用于执行特定逻辑功能的一个或多个可执行指令的模块、代码段或代码部分。此外,还应该注意到,在几个选择性的示例性实施例中,可以不按顺序执行块中所描述的功能。例如,根据相应的功能,两个连续显示的块实际上可以被同时执行,或者可以按相反的顺序被执行。 图1是示出根据本发明第一示例性实施例的视频发送设备100的结构的框图。 诸如“~模块”和“~表”的在示例性实施例中使用的术语“~单元”表示诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)的软件和硬件组件。所述模块执行功能。然而,这并不是说所述模块限于软件或硬件。所述模块可被构造为驻留在可寻址存储介质中,或者可被构造为在一个或多个处理单元上执行。例如,所述模块可包括诸如软件组件、面向对象的软件组件、类组件和任务组件的组件、过程、功能、属性、程序、子程序、程序代码段、驱动程序、固件、微码、电路、数据、数据库、数据结构、表、数组和参数。所述组件和模块所提供的功能可与更少的组件和模块组合,或者可被分成另外的组件和模块。此外,可以实现所述组件和模块,以在装置内的一个或多个CPU上执行。 图1所示的视频发送设备100包括输入单元110、帧分离单元120、视频数据处理单元130、发送单元140、计算单元150、确定单元160、存储单元170、控制单元180和接收单元190。 输入单元110接收诸如MPEG数据的视频数据。 帧分离单元120基于帧来分离通过输入单元110输入的视频数据。例如,MPEG视频数据可被分成I帧、B帧和P帧。在这种情况下,当每块帧数据被划分为MPEG TS(传输流)包时,帧分离单元120在每个TS包中标记I/P/B帧类型。 视频数据处理单元130处理通过输入单元110输入的视频数据。图2是详细示出视频数据处理单元130的框图。 视频数据处理单元130可包括编码器131、交织器132和传输打包器133。 编码器131使用前向纠错(FEC)对帧数据编码。FEC指的是一种将给定大小的数据添加到帧数据并使用添加的数据来恢复丢失的数据或发生差错的数据的方法。基于FEC的编码算法可包括Reed-Solomon编码算法和Viterbi算法。 在使用Reed-Solomon算法的情况下,当实际数据的大小为K字节并且编码的数据为N字节时,可用RS(N,K)来表示编码率。根据编码添加的数据的大小R为N-K。在Reed-Solomon算法中,当产生的差错的数量小于R/2时,可恢复数据。也就是说,R越大,可从中恢复差错的范围就越大。然而,为了增大R,必须增大N。这意味着要发送的数据量增加。 在编码器131中,可根据帧的重要性,有区别地添加在编码时添加的数据(即,可从随后的差错恢复的数据)的大小。例如,编码器131向I帧添加的恢复数据的量可比向其它帧添加的恢复数据的量大。这是因为,I帧是B帧和P帧参考的帧。如果在I帧中出现差错,那么在参考I帧的B帧和P帧中也会出现差错。 此外,编码器131可根据无线网络的状态来控制对数据编码的方法。例如,如果发送的包的差错发生率低,那么编码器131可减小在编码时添加的数据量。或者,编码器131可改变编码方法,以便仅将恢复数据添加到I帧,而不将恢复数据添加到P帧。 交织器132对编码的帧数据进行交织。术语“交织”指的是一种将每个包划分为几个块并将划分的块与其它包的块结合从而产生新包的方法。也就是说,如图2所示,包括包210、220、230和240的编码的帧数据被划分为几个块。包210、220、230和240的部分被存储在包211中,并且还被存储在包212、213和214中。如果如上所述执行交织,那么即使在发送包时基于包而发生差错,也可以防止由于出错的包而导致的整个帧或视频数据丢失。 在图2中,如果在发送包时没有执行交织而丢失了包210,那么帧的存在于包210中的所有特定数据都丢失。然而,如果在执行交织之后发送包,那么即使包211丢失,也只丢失包210、220、230和240的部分。换句话说,由于由包211丢失所引起的差错在其余的包220、230和240中散布,所以可防止丢失整个帧或所有的视频数据。此外,根据Reed-Solomon算法,当每个帧数据中出现的差错的量小于R/2时,可使用FEC来恢复丢失的数据。 同时,当编码的数据被交织时,可根据无线网络的状态来控制交织块的大小。例如,当无线网络的差错发生率高时,交织器132可将交织块的大小设置为小值。相反,当无线网络的差错发生率低时,交织器132可将交织块的大小设置为大值。 传输打包器133用于将交织的帧数据划分为几个包,并将序号添加到每个包的头。该序号用于对由稍后将描述的视频接收设备400接收的数据排序。也就是说,如果从视频发送设备100发送包的顺序与视频接收设备400接收包的顺序不同,那么视频接收设备400使用序号对包进行排序。 当交织的数据被打包时,可根据无线网络的状态来控制UDP包的大小。例如,当无线网络的差错发生率高时,可减小UDP包的大小。相反,当无线网络的差错发生率低时,可增加UDP包的大小。 发送单元140根据包的重要性对包进行分类,并发送分类的包。为此,发送单元140可包括多个优先级队列。也就是说,发送单元140根据显示的帧类型将包存储在不同的优先级队列中,并将包发送给视频接收设备400。 同时,发送单元140根据预置的传输参数来发送包。所述传输参数可包括重发发送失败的包所需的重试限制、数据传输速率以及指示一次可发送的最大数据量的最大传输单元(MTU)。可根据无线网络的状态来控制传输参数。当无线网络的差错发生率高时,可减小MTU。相反,当无线网络的差错发生率低时,可增大MTU。 如果通过发送单元140发送了包,那么计算单元150对包括发送的包的帧计算包传输成功率。例如,如果通过发送单元140发送了构成I帧的包,那么计算单元150计算成功发送的包与构成I帧的所有包之比。然后,计算单元150将有关信息提供给确定单元160。 确定单元160确定从计算单元150接收的包传输成功率是否高于阈值,并根据确定结果来控制包发送。也就是说,确定单元160可结束包括相应包的帧数据的包发送,并发送随后的帧数据的包,或者可重发发送失败的包。将参照图6来更详细地描述这一过程。 存储单元170包括第一存储部分172和第二存储部分174。 第一存储部分172存储编码率、交织块大小、UDP包大小以及与包发送有关的传输参数,诸如,关于数据传输速率、MTU和重试限制的信息。第一存储部分172还存储取决于编码率的差错恢复率和包传输成功率的阈值。如表1所示,可将所述参数列成表格并将其存储。 表1示出当应用Reed-Solomon编码算法时取决于编码率的差错恢复率和包传输成功率的阈值。 表1 编码率RS(N,K) 允许差错的数量 (N-K)/2 差错恢复率 {(N-K)/2}×100/N 包传输成功率的阈值 (100-差错恢复率) RS(255,95) 80 31.4% 68.6% RS(255,127) 64 25% 75% RS(255,191) 32 12.5% 87.5% RS(255,223) 16 6.27% 93.73% RS(255,239) 8 3.14% 96.86%从表1可以看出,当以编码率RS(255,127)(单位:字节)对I帧编码时,包传输成功率的阈值是75%。这是指当传输打包器133将I帧打包成十二个包时,当成功发送九个或更多个包时,视频接收设备400可恢复数据。 第二存储部分174存储在发送包时发送失败的包。可使用诸如只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)和闪存的非易失性存储装置、诸如随机存取存储器(RAM)的易失性存储装置以及诸如硬盘驱动器(HDD)的存储介质中的至少一个来实现存储单元170,但并不限于此。 接收单元190从视频接收设备400接收关于无线网络的状态的信息。关于无线网络的状态的信息可包括关于包传输速率和差错发生率的信息。输入到接收单元190的关于无线网络的状态的信息被提供给控制单元180。 控制单元180用于根据无线网络的状态来控制视频发送设备100的组件。例如,控制单元180可控制发送单元140以控制数据传输速率、MTU等。在IEEE 802.11a的情况下,控制单元180可提供各种数据传输速率,诸如,54Mbps、48Mbps、36Mbps、24Mbps和11Mbps。如果无线网络的差错发生率低,那么控制单元180可将数据传输速率设置为54Mbps。然而,如果无线网络的差错发生率高,那么控制单元180可将数据传输速率设置为低于54Mbps的值。 此外,控制单元180可根据无线网络的状态适应性地设置存储在第二存储部分174中的数据(即,发送失败的包)的重试限制。例如,如果无线网络的差错发生率高,那么控制单元180可将包重试限制设置为高的值。如果无线网络的差错发生率低,那么控制单元180可将包重试限制设置为低的值。此外,控制单元180可根据数据的重要性来适应性地设置重试限制。换句话说,重要性高的数据(例如,I帧)的重试限制可被设置为高的值,这是因为,如果I帧丢失那么它会对其它帧产生影响。然而,B帧的重试限制可被设置为低的值,这是因为,即使B帧丢失它对其它帧的影响也不大。 图3示出根据本发明实施例的视频发送设备100中的数据流向。 参照图3,帧分离单元120基于帧来分离通过输入单元110输入的视频数据。例如,MPEG视频数据可被分成I帧、B帧和P帧。当分离的帧数据被划分成MPEG TS包时,在每个TS包上标记相应的帧类型。 根据由编码器131预置的编码率对标记有相应帧类型的TS包进行编码。换句话说,根据按照每个帧类型的重要性而设置的编码率对TS包编码。 根据所设置的适合无线网络的状态的交织块大小将编码的数据划分成几个块。然后,将所述块组合在一起。 传输打包器133为交织的帧添加序号,并且交织的帧被分类为包。通过发送单元140将分类的包发送给视频接收设备400。在发送包时,当相应帧的包传输成功率高于阈值时,停止发送相应帧的包,然后发送随后的帧的包。此外,在发送包时,将发送失败的包存储在第二存储部分174中。当相应帧的包传输速率低于预置的阈值并且基于帧的发送已完成时,通过发送单元140重发存储在第二存储部分174中的包。 图4是示出根据本发明第一实施例的视频接收设备400的结构的框图。 视频接收设备400包括接收单元410、包排序单元420、视频数据处理单元430、视频输出单元440、信息收集单元450和发送单元460。 接收单元410通过无线网络从视频发送设备100接收已发送的包和已重发的包。接收的包根据帧类型被存储在另外的队列中。 包排序单元420根据包括在接收的包的头中的序号对没有被顺序接收的包进行排序。排序方法是从每个帧队列(未示出)取出包,并将序号最低的包存储在顺序队列(未示出)中。其后,包排序单元420从输出第一最低的包的帧队列取出随后的包,并相互比较取出的包的序号。重复该处理直到各个帧队列变空,从而对所有接收的包进行排序。 视频数据处理单元430用于处理通过包排序单元420排序的包,并播放视频数据。视频数据处理单元430包括解包器431、去交织器432和解码器433。 解包器431组合接收的包并产生帧数据。此时,解包器431使用包括在每个包的头中的信息(诸如,编码的数据的大小和序号)来确定丢掉的包,插入数量与丢掉的包的大小相应的空数据,并产生帧数据。 去交织器432对解包器431产生的帧数据去交织。当执行这种去交织时,空数据的分布遍及整个帧。因此,可以防止由于丢失的包而导致的帧的特定部分中的所有数据丢失。 解码器433对去交织的帧数据进行解码。换句话说,解码器433使用恢复信息来提取原始视频数据,所述恢复信息在视频发送设备100中被添加以使得能够从差错恢复数据。 视频输出单元440输出由视频数据处理单元430处理的视频数据。 信息收集单元450收集无线网络状态信息,诸如,解码之后的差错发生率。 发送单元460用于将信息收集单元450收集的无线网络状态信息发送给视频发送设备100。 图5示出根据本发明示例性实施例的视频接收设备400中的数据流向。 参照图5,视频接收设备400的接收单元410从视频发送设备100接收包。在这种情况下,接收单元410接收与可在视频接收设备400中被恢复的包的数量相同数量的包。包排序单元420顺序地对接收的包排序。其后,解包器431在丢掉的包的位置插入与相应包的大小相应的空数据,从而创建帧数据。去交织器432对帧数据去交织。去交织的帧数据由解码器433解码,然后通过视频输出单元440输出。 下面将参照图6和图7来描述根据本发明第一示例性实施例的数据发送/接收方法。 图6是示出根据本发明示例性实施例的视频发送设备100中的任务处理过程的流程图。 首先,在步骤S601,控制单元180通过接收单元190从视频接收设备400接收关于无线网络的状态的信息。关于无线网络的状态的信息可包括诸如包传输速率和差错发生率的信息。控制单元180根据接收的关于无线网络的状态的信息来设置视频数据处理所需的各种参数和数据发送所需的传输参数。 其后,在步骤S602,基于帧对通过视频输入单元110接收的视频数据进行分类。例如,MPEG视频数据可被分为I帧、B帧和P帧。在步骤S603,基于类型分类的帧数据被划分为TS包,由视频数据处理单元130编码,交织,然后打包。此时,应用由控制单元180设置以适合I/P/B帧类型的重要性的编码率、交织块大小和UDP包大小。例如,与其它帧相比,可以以高编码率对I帧编码,这是因为I帧的重要性最高。 除了视频帧以外,系统信息、头和音频TS包被发送。可根据与I帧相同的重要级来对系统信息和头编码。此外,音频TS包可被编码,以包括在I/P/B帧中的每个中。 在步骤S604,通过发送单元140将完成打包(即,产生包的处理)的包发送给视频接收设备400。在步骤S610,确定包的发送是否失败。在步骤S611,将发送失败的包单独存储在第二存储部分174中。 同时,如果通过发送单元140发送包,那么计算单元150计算包括相应包的帧的包传输成功率,并将计算的包传输成功率提供给确定单元160。例如,如果发送的包是I帧的包,那么计算单元150计算I帧的包传输成功率(即,成功发送的包与构成I帧的包的总数之比),并将计算的包传输成功率提供给确定单元160。 在步骤S620,确定单元160确定从计算单元150接收的包传输成功率是否高于阈值。例如,当以编码率RS(255,127)对I帧编码时,确定单元160确定从计算单元150接收的包传输成功率是否是75%。更详细地讲,当I帧被打包成十二个包时,确定单元160确定是否成功发送九个或更多个包。 如果确定包传输成功率高于阈值(步骤S620的“是”),那么确定单元160将该事实通知给发送单元140,以便发送单元140可在步骤S621停止发送相应帧的包,然后在步骤S622发送随后帧的包。 例如,如果已经成功发送I帧的十二个包中的第一包至第九包,那么确定单元160将该事实通知给发送单元140,以便发送单元140可停止发送I帧的包,并可发送随后帧(例如,B帧)的包。如果第一次发送失败的包被存储在第二存储部分174中,那么在步骤S621确定单元160使得存储的包被丢弃。 另一方面,如果确定包传输成功率低于阈值(步骤S620的“否”),那么在步骤S630,确定单元160确定发送的包是否是相应帧的最后包。也就是说,确定单元160确定是否已发送相应帧的所有包。 如果确定并非相应帧的所有包都被发送(步骤S630的“否”),那么在步骤S604,确定单元160使得相应帧的随后的包通过发送单元140被发送。例如,如果已经成功发送I帧的十二个包中的第一包至第七包,那么这意味着包传输成功率为75%或更小,并且并非I帧的所有包都被发送。因此,确定单元160使得随后的包(即,I帧的第八包)被发送。 如果确定已发送相应帧的所有包(步骤S630的“是”),那么在步骤S650,确定单元160使得存储在第二存储部分174中的包(即,第一次发送失败的包)被重发。例如,如果在已经成功发送I帧的十二个包中的八个包之后最后的包的发送失败,那么这意味着包传输成功率为75%或更小,并且I帧的所有包被发送。因此,确定单元160使得存储在第二存储部分174中的四个包之一被重发。此时,可根据重发的包的存储顺序或者随机发送重发的包。 此外,在步骤S640,可将重发的包的数据传输速率设置为低于初始数据传输速率的值。例如,如果初始数据传输速率为54Mbps,那么可按24Mbps的数据传输速率发送重发的包。如果如上所述将重发的包的数据传输速率设置为低于初始数据传输速率的值,那么可增加重发的包的传输成功率。 如果如上所述重发包,那么在步骤S660,确定单元160确定包传输成功率是否高于阈值。 如果确定包传输成功率高于阈值(步骤S660的“是”),那么在步骤S661,确定单元160使得存储在第二存储部分174中的所有包被丢弃,然后在步骤S662使得随后的帧的包被发送。 例如,如果存储在第二存储部分174中的四个包之一在重发之后被成功发送,那么十二个包中的九个包被成功发送,从而,包传输成功率为75%。这意味着视频接收设备400可使用这九个包来恢复I帧。因此,确定单元160使得存储在第二存储部分174中的四个包被丢弃,然后使得随后帧(例如,B帧)的包被发送。 如果确定包传输成功率低于阈值(步骤S660的“否”),那么在步骤S670,确定单元160确定相应包是否已被重发与指定的重试限制相应的次数。 如果确定相应包还没有被重发与指定的重试限制相应的次数(步骤S670的“否”),那么在步骤S671,确定单元160使得相应包被重发与指定的重试限制相应的次数。例如,在控制单元180将重试限制设置为三次的情况下,确定单元160使得第一重发包通过发送单元140最多被重发三次。 如果确定相应包已被重发与指定的重试限制相应的次数(步骤S670的“是”),那么确定单元160使得相应包被丢弃或被另外存储,然后在步骤S650使得存储在第二存储部分174中的包中的其它包被重发。其后,确定单元160重复上述步骤S650至S671。 图7是示出根据本发明示例性实施例的视频接收设备400中的任务处理过程的流程图。 在步骤S710,视频接收设备400的接收单元410从视频发送设备100接收与可被恢复的包的数量相应的数量的包。在步骤S720,包排序单元420顺序地对接收的包进行排序。其后,在步骤S730,解包器431在丢掉的包的位置插入数量与丢掉的包的大小相应的空数据,从而创建帧数据。如果帧数据被创建,那么在步骤S740,帧数据由去交织器432去交织,由解码器433解码,然后通过视频输出单元440被显示。 同时,视频接收设备400的信息收集单元450从解码的数据计算已发生多少差错,并产生关于无线网络的状态的信息。在步骤S750,信息收集单元450通过发送单元460将状态信息发送给视频发送设备100。 以下将参照图8和图9来描述根据本发明第二示例性实施例的视频发送设备800的结构和任务处理过程。 图8是示出根据本发明第二实施例的视频发送设备800的结构的框图。图9是示出根据本发明第二示例性实施例的视频发送设备800的任务处理过程的流程图。 除了下面的差别以外,根据本发明第二示例性实施例的视频发送设备800具有与根据第一示例性实施例的视频发送设备100的结构相同的结构。 也就是说,如果确定通过发送单元840发送的包的发送失败(步骤S910的“否”),那么计算单元850计算包括发送失败的包的帧的包传输失败率,并将计算的包传输失败率提供给确定单元860。例如,如果I帧的包发送失败,那么计算单元850计算I帧的包传输失败率(即,发送失败的包与属于构成I帧的所有包的包之比),并将计算的包传输失败率发送给确定单元860。 在步骤S911,确定单元860确定从计算单元850接收的包传输失败率是否高于差错恢复率。确定单元860根据确定结果,使得发送失败的包在步骤S912被存储在第二存储部分874中,或者在步骤S913被丢弃。 将描述以编码率RS(255,127)对I帧编码然后将其打包成16个包的示例。 如果I帧的16个包中的第一包发送失败,那么计算单元850基于第一包的发送失败来计算包传输失败率。在这种情况下,包传输失败率大约为6%。 然后,在步骤S911,确定单元860确定从计算单元850接收的包传输失败率是否高于差错恢复率。也就是说,确定单元860确定包传输失败率是否高于25%。 如果在步骤S911确定包传输失败率低于25%,那么在步骤S913,确定单元860使得第一包被丢弃。尽管第二、第三和第四包的发送也失败,但是包传输失败率为25%或更小。因此,在步骤S913,确定单元860使得第二、第三和第四包全部被丢弃。 如果第五包的发送也失败,那么包传输失败率为25%或更多(步骤S911的“是”)。因此,在步骤S912,确定单元860使得第五包被存储在第二存储部分874中。如果以这种方式存储发送失败的包,那么可更有效地使用第二存储部分874的空间。 图10是示出取决于编码率的无线网络的带宽使用频率的标准化的曲线图。 图10示出在无线网络中没有差错时带宽被标准化为1的示例。从图10可以看出,当平均差错率在从0%至20%的范围中时,平均差错率越高,带宽使用率越高。例如,可以看出,当平均差错率在从0%至2%的范围内时,商业化的用于无线保真的多频带Atheros驱动程序(MadWiFi)使用大约0.22的带宽10,而当平均差错率在从0%至5%的范围内时,使用大约0.4的带宽11。 还可看出,在以平均差错率(例如,2%至5%的平均差错率)以编码率RS(255,239)、RS(255,223)或RS(255,191)对视频数据编码的情况下,与MadWiFi相比,它们使用无线网络的更少的带宽。这是因为,在MadWiFi中,重发发送失败的包,直到成功发送相应的包,而在本发明的示例性实施例中,根据发送的包的包传输成功率来控制包的发送。 图11是示出根据本发明示例性实施例的当发送数据时取决于编码率的每包的重试率的曲线图。 从图11可看出,在使用根据本发明示例性实施例的数据发送方法来发送的包的情况下,对于相同的平均差错率,例如,15%至20%的差错率,每包的重试率比商业化的MadWiFi的每包的重试率要低得多。 如上所述,根据本发明示例性实施例的在无线网络中发送数据的方法和设备至少具有下面的优点。 第一,可有效地使用有限的无线网络资源。 第二,可有效地使用存储单元。 尽管为了示例性的目的公开了本发明的示例性实施例,但是本领域技术人员应该理解,在不脱离权利要求所公开的本发明的精神和范围的情况下,可以进行各种修改、添加和替换。
《在无线网络中发送数据的方法和设备.pdf》由会员分享,可在线阅读,更多相关《在无线网络中发送数据的方法和设备.pdf(27页珍藏版)》请在专利查询网上搜索。
一种数据发送方法和设备基于单位对将通过无线网络被发送的数据编码;为发送数据提供信息,以使得发送数据能够从添加到其的差错恢复;将发送数据发送到无线网络;根据是否成功发送所述发送数据来计算传输成功率;和根据传输成功率是否高于阈值来控制发送数据的发送。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1