一种数据容错终端及方法转让专利

申请号 : CN200810129927.X

文献号 : CN101325720B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张建强

申请人 : 中兴通讯股份有限公司

摘要 :

本发明公开了提供一种数据容错终端及方法,能够减小由信道误码对终端解复用所造成的影响,可以在误码情况下获得更多的有效数据单元及相关时间信息,提高终端播放质量。所述方法包括:当检测到帧头或段头错误时,跳过该帧头或段头,查找复用块头,如果对所述复用块头的校验通过,则从所述复用块的净荷中获取视频、音频或数据。采用本发明,在信道发生误码的情况下,依然可以最大限度的还原有效数据,减少终端由于误码而被迫丢弃的数据量,从而提高终端容错性能,提高终端在误码环境下的播放质量。

权利要求 :

1.一种数据容错方法,其特征在于,当检测到帧头或段头错误时,跳过该帧头或段头,查找复用块头,如果对所述复用块头的校验通过,则从所述复用块的净荷中获取视频、音频或数据。

2.如权利要求1所述的方法,其特征在于,所述方法包括:

A,解析接收的复用业务帧,如果对业务帧头或段头的校验失败,则执行步骤B,否则进行正常处理;

B,向后搜索与复用块起始码相同的数据作为假定起始码;

C,对从假定起始码开始的假定复用块头做冗余校验,如果校验通过,则所述假定复用块头即为复用块头,根据所述复用块头中的信息从复用块净荷中获得视频、音频或数据;如果校验不通过,则返回步骤B继续执行,直到所述复用业务帧中的视频、音频或数据获取完毕。

3.如权利要求2所述的方法,其特征在于,在所述步骤A中,所述对业务帧头或段头做校验运算是指:先对业务帧头进行校验,如果帧头校验错误,则跳过所述业务帧头,执行步骤B;如果校验正确,则读取视频、音频或数据段头做校验运算,如果段头校验错误,则跳过该视频、音频或数据段头,执行步骤B。

4.如权利要求1或2或3所述的方法,其特征在于,获取视频、音频或数据时,通过复用块头中的起始标记、结束标记确定组成视频、音频或者数据单元的复用块,从复用块净荷中提取视频、音频或数据,组成视频单元、音频单元或数据单元。

5.如权利要求4所述的方法,其特征在于,获取视频、音频或数据时,由复用块头中的净荷长度信息获得复用块净荷的长度,或通过搜索下一个复用块的起始码位置确定本复用块的净荷长度。

6.如权利要求4所述的方法,其特征在于,获取视频、音频或数据时,根据复用块头中的类型信息确定当前复用块的类型,或在仅段头损坏而业务如果校验不通过,则调用所述搜索模块继续查找复用块头。

13.如权利要求11或12所述的终端,其特征在于,所述视频、音频或数据提取模块用于通过复用块头中的起始标记和结束标记确定组成视频、音频或者数据单元的复用块,从复用块净荷中提取视频、音频或数据,组成视频单元、音频单元或数据单元。

14.如权利要求13所述的终端,其特征在于,所述视频、音频或数据提取模块还用于通过复用块头中的净荷长度信息获得复用块净荷的长度,或通过搜索下一个复用块的起始码位置确定本复用块的净荷长度,或者,通过复用块头中的类型信息确定当前复用块的类型,或在仅段头损坏而业务帧头完整的情况下,根据业务帧头中携带的段信息确定受损段的复用块类型。

15.如权利要求11或12所述的终端,其特征在于,所述终端还包括播放准备模块,其用于将所述视频、音频或数据提取模块获取到的完整的视频或音频单元放入播放器的解码队列尾部,并为所述视频或音频单元计算时戳:每个恢复的视频或音频单元的时戳由解码队列尾部的视频或音频单元时戳累加视频或音频的单位帧时间获得。

16.如权利要求15所述的终端,其特征在于,所述播放准备模块还用于在获取到完整的数据单元后,根据复用块头中携带的数据单元类型判断如果恢复的数据单元为数据应用,则将恢复的数据单元放入对应的数据应用队列。

说明书 :

一种数据容错终端及方法

技术领域

[0001] 本发明涉及移动多媒体广播技术,具体涉及到一种数据容错终端及在移动多媒体广播终端的解复用层进行的数据容错的方法。

背景技术

[0002] 移动多媒体广播是近年来兴起的一种多媒体播放技术。通过手持的终端,在高速移动的情况下,可以观看电视。终端通过无线协议,接收到节目单,并可以选择自己有权利收看的频道,从而可以接收选择频道的多媒体数据,实现在移动终端上看电视。
[0003] 移动多媒体广播系统发射的空中数据,被分成不同的频道,每个频道的数据又包括:视频、音频和数据三种类型,移动多媒体广播终端可以接收相关的数据,通过终端上的播放器,实现电视的正常播放。
[0004] 由于距离、障碍物遮蔽、多径和多普勒效应等因素影响,终端所接收的无线信号有可能与系统发送端存在差异,经过解调处理后,依然可能有部分数据无法正常恢复而导致接收数据误码。误码在移动多媒体广播复用层的逻辑频道业务帧中可能发生的位置是随机的,通常终端解复用层对出现于不同位置的误码的处理方式也存在差异:
[0005] (1)如果误码发生于业务帧头,则由于无法通过终端对业务帧头的冗余校验,终端判定该业务帧的帧头信息损坏,无法正确解析视频段、音频段和数据段,该业务帧的数据将被完全丢弃;
[0006] (2)如果误码发生于业务帧负载内,而在视频、音频或者数据段的段头,则由于无法通过终端对该段头的冗余校验,终端判定该数据段错误,而导致无法正确解析该段所包含的各单元的长度、时间戳等重要信息,进而导致该段及后续段数据被丢弃;
[0007] 从上述终端解复用层对误码的处理过程可见,如果终端接收误码发生在业务帧头或者视频、音频或者数据段头等辅助结构信息上,则该误码所产生的影响都会扩展到整个业务帧,即便该业务帧实际承载的媒体数据并没有发生误码错误,但这些媒体数据依然会被丢弃,进而影响到终端最终的业务播放效果。

发明内容

[0008] 本发明所要解决的技术问题是提供一种数据容错终端及方法,能够减小由信道误码对终端解复用所造成的影响,可以在误码情况下获得更多的有效数据单元及相关时间信息,提高终端播放质量。
[0009] 为了解决上述技术问题,本发明提供了一种数据容错方法,包括:当检测到帧头或段头错误时,跳过该帧头或段头,查找复用块头,如果对所述复用块头的校验通过,则从所述复用块的净荷中获取视频、音频或数据。
[0010] 进一步地,所述方法包括:A,解析接收的复用业务帧,如果对业务帧头或段头的校验失败,则执行步骤B,否则进行正常处理;B,向后搜索与复用块起始码相同的数据作为假定起始码;C,对从假定起始码开始的假定复用块头做冗余校验,如果校验通过,则所述假定复用块头即为复用块头,根据所述复用块头中的信息从复用块净荷中获得视频、音频或数据;如果校验不通过,则返回步骤B继续执行,直到所述复用业务帧中的视频、音频或数据获取完毕。
[0011] 进一步地,在所述步骤A中,所述对业务帧头或段头做校验运算是指:先对业务帧头进行校验,如果帧头校验错误,则跳过所述业务帧头,执行步骤B;如果校验正确,则读取视频、音频或数据段头做校验运算,如果段头校验错误,则跳过该视频、音频、数据段头,执行步骤B。
[0012] 进一步地,获取视频、音频或数据时,通过复用块头中的起始标记、结束标记确定组成视频、音频或者数据单元的复用块,从复用块净荷中提取视频、音频或数据,组成视频单元、音频单元或数据单元。
[0013] 进一步地,获取视频、音频或数据时,由复用块头中的净荷长度信息获得复用块净荷的长度,或通过搜索下一个复用块的起始码位置确定本复用块的净荷长度。
[0014] 进一步地,获取视频、音频或数据时,根据复用块头中的类型信息确定当前复用块的类型,或在仅段头损坏而业务帧头完整的情况下,根据业务帧头中携带的段信息确定受损段的复用块类型。
[0015] 进一步地,,在获取到完整的视频或音频单元后将其依次放入播放器的解码队列尾部,并为所述视频或音频单元计算时戳。
[0016] 进一步地,采用以下方式计算视频或音频单元的时戳:每个视频或音频单元的时戳由解码队列尾部的视频或音频单元时戳累加视频或音频的单位帧时间获得。
[0017] 进一步地,在获取到完整的数据单元后,当复用块头中携带有数据单元类型字段时,通过该字段区分数据应用,将恢复的数据单元放入对应的数据应用队列。
[0018] 进一步地,所述方法适用于移动多媒体广播系统。
[0019] 为了解决上述技术问题,本发明还提供一种数据容错移动多媒体广播终端,包括校验模块,搜索模块,视频、音频或数据提取模块,其中:
[0020] 所述校验模块用于对帧头、段头、复用块头进行冗余校验,当发现帧头或段头错误时或者复用块头校验未通过时调用所述搜索模块,以及当对复用块头的校验通过时,调用所述视频、音频或数据提取模块;
[0021] 所述搜索模块用于查找复用块头,将找到的复用块头送所述校验模块进行校验;
[0022] 所述视频、音频或数据提取模块用于提取复用块净荷中的视频、音频或数据。
[0023] 进一步地,所述搜索模块查找复用块头时是从当前处理位置开始向后逐字节搜索与复用块起始码相同的数据,将搜索到的假定起始码发送给所述校验模块;所述校验模块用于对从假定起始码开始的假定复用块头做冗余校验,如果校验通过,则调用所述视频、音频或数据提取模块提取视频、音频或数据,如果校验不通过,则调用所述搜索模块继续查找复用块头。
[0024] 进一步地,所述视频、音频或数据提取模块用于通过复用块头中的起始标记和结束标记确定组成视频、音频或者数据单元的复用块,从复用块净荷中提取视频、音频或数据,组成视频单元、音频单元或数据单元。
[0025] 进一步地,所述视频、音频或数据提取模块还用于通过复用块头中的净荷长度信息获得复用块净荷的长度,或通过搜索下一个复用块的起始码位置确定本复用块的净荷长度,或者,通过复用块头中的类型信息确定当前复用块的类型,或在仅段头损坏而业务帧头完整的情况下,根据业务帧头中携带的段信息确定受损段的复用块类型。
[0026] 进一步地,所述终端还包括播放准备模块,其用于将所述视频、音频或数据提取模块获取到的完整的视频或音频单元放入播放器的解码队列尾部,并为所述视频或音频单元计算时戳:每个恢复的视频或音频单元的时戳由解码队列尾部的视频或音频单元时戳累加视频或音频的单位帧时间获得。
[0027] 进一步地,所述播放准备模块还用于在获取到完整的数据单元后,根据复用块头中携带的数据单元类型判断如果恢复的数据单元为数据应用,则将恢复的数据单元放入对应的数据应用队列。
[0028] 本发明提供的数据容错终端和在移动多媒体广播中解复用层数据容错的方法,在信道发生误码的情况下,依然可以最大限度的还原有效数据,减少终端由于误码而被迫丢弃的数据量,从而提高终端容错性能,提高终端在误码环境下的播放质量。

附图说明

[0029] 图1是复用业务帧复用块结构的示意图;
[0030] 图2容错流程图。

具体实施方式

[0031] 每个复用业务帧分别包含有视频、音频或数据段,而每个视频、音频或数据段中分别包含多个视频、音频或数据单元,为了避免由于帧头错误导致整个业务帧被丢弃,或由于段头错误导致视频、音频或数据段被丢弃,当检测到帧头或段头错误时,跳过帧头或段头直接查找复用块头,如果对复用块头的校验通过,则从复用块净荷中直接获取视频、音频或数据。
[0032] 以图1所示的复用块结构为例进行说明,图中,每个视频、音频或数据单元又分别包含了多个复用块,每个复用块包括复用块头与复用块净荷,复用块头中包含了该复用块的一些基本信息,如起始码10、起始标记20、结束标记30、类型40、净荷长度50、数据单元类型60和冗余校验字CRC 70。
[0033] 本实施例所述数据容错方法如图2所示,包括:
[0034] 步骤201,解析接收的复用业务帧,对帧头(业务帧头)或段头(视频、音频或数据段头)做校验运算,判断校验是否正确,如果校验正确则做正常解复用处理,如果校验失败则做下述容错处理,即执行步骤202;
[0035] 在本实施例中,校验失败后,当前处理位置为冗余校验字段后首字节。
[0036] 上述对帧头或段头做校验运算具体包括:先对业务帧头进行校验,如果帧头校验错误,则跳过业务帧头,执行步骤202;如果校验正确,则读取视频、音频或数据段头做校验运算,如果段头校验错误,则跳过该视频、音频、数据段头,执行步骤202。
[0037] 步骤202,在复用业务帧中从当前处理位置开始(即跳过复用帧头或段头)向后逐字节搜索与复用块起始码相同的数据,将其作为假定起始码;
[0038] 步骤203,对从假定起始码开始的假定复用块头做冗余校验,判断校验是否通过,如果通过,则表明该假定起始码为正确的起始码,该假定复用块头为正确的复用块头,可继续进行容错操作,执行步骤204,如果校验不通过,则以当前假定起始码后首字节为当前处理位置,返回步骤202;
[0039] 假定复用块头是从假定起始码开始按复用块头结构搜索到的一段数据,可根据复用块头长度确定。
[0040] 如果冗余校验字由整个复用块头计算而得,则此时需要对整个假定复用块头进行冗余校验;如果冗余校验字是由复用块头中部分数据计算而成,则此时对假定复用块头中的部分数据进行冗余校验。
[0041] 在其他实施例中,如果某复用块头中的起始码正确,而其它经冗余校验保护的部分被损坏,则也会由于无法通过冗余校验而跳过该复用块头,继续查找下一个复用块。
[0042] 步骤204,根据复用块头中的信息从复用块净荷中获得视频、音频或数据,将已恢复的复用块后首字节为当前处理位置,返回步骤202直至该复用业务帧的视频、音频或数据提取完毕。
[0043] 由段头错误触发的容错过程也会搜索至整个业务帧结束,这是由复用帧结构决定的,因为由于误码,下一个段头的位置已经无法确定,只能在复用块层次上恢复。
[0044] 获取视频、音频或数据时,可以由复用块头中的起始标记和结束标记确定视频、音频或者数据单元的组成,即该视频、音频或者数据单元由哪几个复用块组成,然后从复用块净荷中提取视频、音频或者数据,组成视频单元、音频单元或数据单元。
[0045] 还可以通过复用块头中的净荷长度信息获得复用块净荷的长度,或者也可以通过搜索下一个复用块的起始码位置确定本复用块的净荷长度。
[0046] 此外,还可以通过复用块头中的类型信息确定当前复用块的类型(视频、音频或数据),或者仅段头损坏而业务帧头完整的情况,可根据业务帧头中携带的段信息确定受损段的复用块类型。
[0047] 终端可以将由复用块恢复出的完整的视频或音频单元依次放入终端播放器的解码队列尾部,其中每个恢复的视频单元时戳可以由视频解码队列尾部视频单元时戳累加视频单位帧时间获得,每个恢复的音频单元时戳可以由音频解码队列尾部音频单元时戳累加音频单位帧时间获得,在其他实施例中,也可采用其他方式计算时戳。
[0048] 如果复用块类型为数据,且复用块头还包括数据单元类型字段,则通过该字段可以区分数据应用,从而将恢复的数据单元(如数据广播、电子业务指南ESG和条件接收CA等)放入对应的数据应用队列。
[0049] 应用示例
[0050] 假定复用业务帧包含一路帧率为每秒25帧的视频、一路采样率48000赫兹,帧长度固定为每声道包含1024采样的音频和包含节目提示的数据信息。
[0051] 以时戳单位为22500赫兹计,则视频单位帧时间为900,音频单位帧时间为480。
[0052] 假定某时刻终端所接收的复用业务帧在帧头发生误码,采用本实施例所述的容错过程如下:
[0053] (1)解析接收的复用业务帧,终端对业务帧头做校验运算,因误码导致校验失败,因而进入容错处理流程,此时的当前处理位置为帧头冗余校验字段后首字节;
[0054] (2)在复用业务帧中从当前处理位置开始向后逐字节搜索首个与复用块起始码10相同的数据;
[0055] (3)在找到首个与起始码10相同的数据后,假定此字段与后续数据采用图1所示的复用块头结构,对该复用块头做CRC运算,如果运算结果非零(表示校验未通过),则当前处理位置为与起始码相同字段后首字节,返回步骤(2);如果运算结果为零,则判定已找到正确的复用块头,可继续进行下述容错操作;
[0056] (4)由复用块头的净荷长度50可以获得复用块净荷的长度;
[0057] (5)由复用块头的起始标记20和结束标记30可以确定由一个或多个复用块组成的视频、音频或者数据单元。
[0058] (6)由复用块头的类型40可以确定当前复用块是属于视频单元、音频单元还是数据单元,对于数据单元,由数据单元类型60可以确定此数据单元包含节目提示信息。
[0059] 上述步骤(4)-(6)的执行无固定的先后顺序。
[0060] (7)将由复用块恢复出的完整的视频单元、音频单元和数据单元依次放入终端播放器的解码队列尾部,其中每个恢复的视频单元时戳由视频解码队列尾部视频单元时戳累加单位帧频时间900获得,每个恢复的音频单元时戳由音频解码队列尾部音频单元时戳累加单位音频帧时间480获得,恢复的数据单元送入节目提示信息解码模块;
[0061] (8)以已恢复的复用块后首字节为当前处理位置,重复上述步骤(2)至(7)直至复用业务帧的视频、音频或数据获取完毕。
[0062] 应用本实施例方法的数据容错移动多媒体广播终端,包括校验模块,搜索模块,视频、音频或数据提取模块,其中:
[0063] 所述校验模块用于对帧头、段头、复用块头进行冗余校验,当发现帧头或段头错误时或者复用块头校验未通过时调用所述搜索模块,以及当对复用块头的校验通过时,调用所述视频、音频或数据提取模块;
[0064] 所述搜索模块用于查找复用块头,将找到的复用块头送所述校验模块进行校验;
[0065] 所述视频、音频或数据提取模块用于提取复用块净荷中的视频、音频或数据。
[0066] 所述搜索模块查找复用块头时是从当前处理位置开始向后逐字节搜索与复用块起始码相同的数据,将搜索到的假定起始码发送给所述校验模块;
[0067] 所述校验模块用于对从假定起始码开始的假定复用块头做冗余校验,如果校验通过,则调用所述视频、音频或数据提取模块提取视频、音频或数据,如果校验不通过,则调用所述搜索模块继续查找复用块头。
[0068] 除上述模块外,所述终端还包括播放准备模块,其用于将所述视频、音频或数据提取模块获取到的完整的视频或音频单元放入播放器的解码队列尾部,并为所述视频或音频单元计算时戳:每个恢复的视频或音频单元的时戳由解码队列尾部的视频或音频单元时戳累加视频或音频的单位帧时间获得。所述播放准备模块还用于在获取到完整的数据单元后,根据复用块头中携带的数据单元类型判断如果恢复的数据单元为数据应用,则将恢复的数据单元放入对应的数据应用队列。
[0069] 通过上述容错过程,终端不必丢弃发生误码的复用业务帧,在解复用层可将其中包含的未发生误码的视频、音频和数据单元及其相关时间和类型属性逐个恢复出来。从而大幅度减小因轻微误码造成的解复用数据丢失,因而可以提高移动多媒体广播终端在误码条件下的数据容错能力。
[0070] 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
[0071] 例如,本实施例仅以图1为例进行说明,对于其他帧结构,只要包含有起始码和CRC,均可采用本实施例方法提取数据。