专利名称:一种数据容错终端及方法
技术领域:
本发明涉及移动多々某体广播技术,具体涉及到一种数据容错终端及在移 动多媒体广播终端的解复用层进行的数据容错的方法。
背景技术:
移动多媒体广播是近年来兴起的一种多媒体播放技术。通过手持的终端,在高速移动的情况下,可以观看电视。终端通过无线协议,接收到节目单, 并可以选择自己有权利收看的频道,从而可以接收选择频道的多媒体数据, 实现在移动终端上看电视。移动多媒体广播系统发射的空中数据,被分成不同的频道,每个频道的数据又包括视频、音频和数据三种类型,移动多々某体广播终端可以接收相 关的数据,通过终端上的播放器,实现电视的正常播放。由于距离、障碍物遮蔽、多径和多普勒效应等因素影响,终端所接收的 无线信号有可能与系统发送端存在差异,经过解调处理后,依然可能有部分 数据无法正常恢复而导致接收数据误码。误码在移动多^;某体广播复用层的逻 辑频道业务帧中可能发生的位置是随机的,通常终端解复用层对出现于不同 位置的误码的处理方式也存在差异(1 )如果误码发生于业务帧头,则由于无法通过终端对业务帧头的冗余 校验,终端判定该业务帧的帧头信息损坏,无法正确解析视频段、音频段和 数据段,该业务帧的数据将被完全丢弃;(2 )如果误码发生于业务帧负载内,而在视频、音频或者数据段的段头, 则由于无法通过终端对该段头的冗余校验,终端判定该数椐段错误,而导致 无法正确解析该段所包含的各单元的长度、时间戳等重要信息,进而导致该 段及后续段数据被丢弃;从上述终端解复用层对误码的处理过程可见,如果终端^J秦收误码发生在 业务帧头或者视频、音频或者数据段头等辅助结构信息上,则该误码所产生 的影响都会扩展到整个业务帧,即便该业务帧实际承载的i某体数据并没有发 生误码错误,但这些媒体数据依然会被丢弃,进而影响到终端最终的业务播发明内容本发明所要解决的技术问题是提供一种数据容错终端及方法,能够减小 由信道误码对终端解复用所造成的影响,可以在误码情况下获得更多的有效 数据单元及相关时间信息,提高终端播放质量。为了解决上述技术问题,本发明提供了一种数据容错方法,包括当检 测到帧头或段头错误时,跳过该帧头或段头,查找复用块头,如果对所述复 用块头的校验通过,则从所述复用块的净荷中获取视频、音频或数据。进一步地,所述方法包括A,解析接收的复用业务帧,如果对业务帧 头或段头的校验失败,则执行步骤B,否则进行正常处理;B,向后搜索与 复用块起始码相同的数据作为假定起始码;C,对从假定起始码开始的假定 复用块头做冗余校验,如果校验通过,则所述假定复用块头即为复用块头, 根据所述复用块头中的信息从复用块净荷中获得视频、音频或数据;如果校 验不通过,则返回步骤B继续执行,直到所述复用业务帧中的视频、音频或 数据获取完毕。进一步地,在所述步骤A中,所述对业务帧头或段头做校验运算是指 先对业务帧头进行校验,如果帧头校验错误,则跳过所述业务帧头,执行步 骤B;如果校验正确,则读取视频、音频或数据段头做校验运算,如果段头 校验错误,则跳过该视频、音频、数据段头,执行步骤B。进一步地,获取视频、音频或数据时,通过复用块头中的起始标记、结 束标记确定组成视频、音频或者数据单元的复用块,从复用块净荷中提取#见 频、音频或数据,组成^L频单元、音频单元或数据单元。进一步地,获取视频、音频或数据时,由复用块头中的净荷长度信息获得复用块净荷的长度,或通过搜索下一个复用块的起始码位置确定本复用块 的净荷长度。进一步地,获取视频、音频或数据时,根据复用块头中的类型信息确定 当前复用块的类型,或在仅段头损坏而业务帧头完整的情况下,根据业务帧 头中携带的段信息确定受损段的复用块类型。进一步地,,在获取到完整的视频或音频单元后将其依次放入播放器的 解码队列尾部,并为所述视频或音频单元计算时戳。进一步地,采用以下方式计算视频或音频单元的时戳每个视频或音频 单元的时戳由解码队列尾部的视频或音频单元时戳累加视频或音频的单位帧 时间获得。进一步地,在获取到完整的数据单元后,当复用块头中携带有数据单元 类型字段时,通过该字段区分数据应用,将恢复的数据单元放入对应的数据 应用队列。进一步地,所述方法适用于移动多媒体广播系统。为了解决上述技术问题,本发明还提供一种数据容错移动多媒体广播终 端,包括校验模块,搜索模块,视频、音频或数据提取模块,其中所述校验模块用于对帧头、段头、复用块头进行冗余校验,当发现帧头 或段头错误时或者复用块头校验未通过时调用所述搜索模块,以及当对复用 块头的校验通过时,调用所述视频、音频或数据提取模块;所述搜索模块用于查找复用块头,将找到的复用块头送所述校验模块进 行校验;所述视频、音频或数据提取才莫块用于提取复用块净荷中的视频、音频或 数据。进一步地,所述搜索^f莫块查找复用块头时是从当前处理位置开始向后逐 字节搜索与复用块起始码相同的数据,将搜索到的假定起始码发送给所述校 验模块;所述校验模块用于对从假定起始码开始的假定复用块头做冗余校验,如果校验通过,则调用所述视频、音频或数振提取模块提取视频、音频或数 据,如果校验不通过,则调用所述搜索模块继续查找复用块头。进一步地,所述视频、音频或数据提取模块用于通过复用块头中的起始 标记和结束标记确定组成视频、音频或者数据单元的复用块,从复用块净荷 中提取视频、音频或数据,组成视频单元、音频单元或数据单元。进一步地,所述视频、音频或数据提取模块还用于通过复用块头中的净 荷长度信息获得复用块净荷的长度,或通过搜索下一个复用块的起始码位置 确定本复用块的净荷长度,或者,通过复用块头中的类型信息确定当前复用 块的类型,或在仅段头损坏而业务帧头完整的情况下,根据业务帧头中携带 的段信息确定受损段的复用块类型。进一步地,所述终端还包括播放准备模块,其用于将所述视频、音频或 数据提取才莫块获取到的完整的视频或音频单元放入播放器的解码队列尾部,并为所述视频或音频单元计算时戳每个恢复的视频或音频单元的时戳由解 码队列尾部的视频或音频单元时戳累加视频或音频的单位帧时间获得。进一步地,所述播放准备模块还用于在获取到完整的数据单元后,根据 复用块头中携带的数据单元类型判断如果恢复的数据单元为数据应用,则将 恢复的数据单元放入对应的数据应用队列。本发明提供的数据容错终端和在移动多々某体广播中解复用层数据容错的 方法,在信道发生误码的情况下,依然可以最大限度的还原有效数据,减少 终端由于误码而被迫丢弃的数据量,从而提高终端容错性能,提高终端在误 码环境下的播放质量。
图1是复用业务帧复用块结构的示意图; 图2容错流程图。
具体实施方式
每个复用业务帧分别包含有视频、音频或数据段,而每个视频、音频或 数据段中分别包含多个视频、音频或数据单元,为了避免由于帧头错误导致 整个业务帧被丢弃,或由于段头错误导致视频、音频或数据段被丢弃,当检 测到帧头或段头错误时,跳过帧头或段头直接查找复用块头,如果对复用块 头的校验通过,则从复用块净荷中直接获取视频、音频或数据。以图1所示的复用块结构为例进行说明,图中,每个视频、音频或数据 单元又分别包含了多个复用块,每个复用块包括复用块头与复用块净荷,复用块头中包含了该复用块的一些基本信息,如起始码IO、起始标记20、结束 标记30、类型40、净荷长度50、数据单元类型60和冗余校验字CRC 70。本实施例所述数据容错方法如图2所示,包括步骤201,解析接收的复用业务帧,对帧头(业务帧头)或段头(视频、 音频或数据段头)做校验运算,判断校验是否正确,如果校验正确则做正常 解复用处理,如果校验失败则做下述容错处理,即执行步骤202;在本实施例中,校验失败后,当前处理位置为冗余校验字段后首字节。上述对帧头或段头做校验运算具体包括先对业务帧头进行校验,如果 帧头校验错误,则跳过业务帧头,执行步骤202;如果校验正确,则读取视 频、音频或数据段头做校验运算,如果段头校验错误,则跳过该视频、音频、 数据段头,执行步骤202。步骤202,在复用业务帧中从当前处理位置开始(即跳过复用帧头或段 头)向后逐字节搜索与复用块起始码相同的数据,将其作为假定起始码;步骤203,对从假定起始码开始的假定复用块头做冗余校验,判断校验 是否通过,如果通过,则表明该假定起始码为正确的起始码,该假定复用块 头为正确的复用块头,可继续进行容错操作,执行步骤204,如果校验不通 过,则以当前假定起始码后首字节为当前处理位置,返回步骤202;假定复用块头是从假定起始码开始按复用块头结构搜索到的一段数据, 可才艮据复用块头长度确定。如果冗余校验字由整个复用块头计算而得,则此时需要对整个假定复用块头进行冗余校验;如果冗余校验字是由复用块头中部分数据计算而成,则 此时对假定复用块头中的部分数据进行冗余姨验。在其他实施例中,如果某复用块头中的起始码正确,而其它经冗余校验 保护的部分被损坏,则也会由于无法通过冗余校验而跳过该复用块头,继续 查找下一个复用块。步骤204,根据复用块头中的信息从复用块净荷中获得视频、音频或数 据,将已恢复的复用块后首字节为当前处理位置,返回步骤202直至该复用 业务帧的视频、音频或数据提取完毕。由段头错误触发的容错过程也会搜索至整个业务帧结束,这是由复用帧 结构决定的,因为由于误码,下一个段头的位置已经无法确定,只能在复用 块层次上恢复。获取^L频、音频或数据时,可以由复用块头中的起始标记和结束标记确 定视频、音频或者数据单元的组成,即该视频、音频或者数据单元由哪几个 复用块组成,然后从复用块净荷中提取视频、音频或者数据,组成视频单元、 音频单元或数据单元。还可以通过复用块头中的净荷长度信息获得复用块净荷的长度,或者也 可以通过搜索下一个复用块的起始码位置确定本复用块的净荷长度。此外,还可以通过复用块头中的类型信息确定当前复用块的类型(视频、 音频或数据),或者仅段头损坏而业务帧头完整的情况,可根据业务帧头中 携带的段信息确定受损段的复用块类型。终端可以将由复用块恢复出的完整的视频或音频单元依次放入终端播放 器的解码队列尾部,其中每个恢复的视频单元时戳可以由视频解码队列尾部 视频单元时戳累加视频单位帧时间获得,每个恢复的音频单元时戳可以由音 频解码队列尾部音频单元时戳累加音频单位帧时间获得,在其他实施例中, 也可采用其他方式计算时戳。如果复用块类型为数据,且复用块头还包括数据单元类型字段,则通过该字段可以区分数据应用,从而将恢复的数据单元(如数据广播、电子业务指南ESG和条件,接收CA等)放入对应的数据应用队列。 应用示例假定复用业务帧包含一路帧率为每秒25帧的视频、 一路采样率48000 赫兹,帧长度固定为每声道包含1024采样的音频和包含节目提示的数据信 息。以时戳单位为22500赫兹计,则视频单位帧时间为900,音频单位帧时 间为480。假定某时刻终端所接收的复用业务帧在帧头发生误码,采用本实施例所 述的容错过程如下(1) 解析接收的复用业务帧,终端对业务帧头做校验运算,因误码导致 校验失败,因而进入容错处理流程,此时的当前处理位置为帧头冗余校验字 段后首字节;(2) 在复用业务帧中从当前处理位置开始向后逐字节搜索首个与复用块 起始码IO相同的数据;(3) 在找到首个与起始码IO相同的数据后,假定此字段与后续数据釆 用图1所示的复用块头结构,对该复用块头做CRC运算,如果运算结果非零(表示校验未通过),则当前处理位置为与起始码相同字段后首字节,返回 步骤(2);如果运算结果为零,则判定已找到正确的复用块头,可继续进行 下述容错操作;(4) 由复用块头的净荷长度50可以获得复用块净荷的长度;(5 )由复用块头的起始标记20和结束标记30可以确定由一个或多个复 用块组成的视频、音频或者数据单元。(6)由复用块头的类型40可以确定当前复用块是属于视频单元、音频 单元还是数据单元,对于数据单元,由数椐单元类型60可以确定此数据单元 包含节目提示信息。上述步骤(4) - (6)的执行无固定的先后顺序。(7 )将由复用块恢复出的完整的视频单元、音频单元和数据单元依次放 入终端播放器的解码队列尾部,其中每个恢复的视频单元时戳由视频解码队 列尾部视频单元时戳累加单位帧频时间900获得,每个恢复的音频单元时戳 由音频解码队列尾部音频单元时戳累加单位音频帧时间480获得,恢复的数 据单元送入节目提示信息解码模块;(8)以已恢复的复用块后首字节为当前处理位置,重复上述步骤(2) 至(7)直至复用业务帧的视频、音频或数据获取完毕。应用本实施例方法的数据容错移动多媒体广播终端,包括校验才莫块,搜 索模块,视频、音频或数据提取模块,其中所述校验才莫块用于对帧头、段头、复用块头进行冗余校验,当发现帧头 或段头错误时或者复用块头校验未通过时调用所述搜索才莫块,以及当对复用 块头的校验通过时,调用所述视频、音频或数据提取才莫块;所述搜索模块用于查找复用块头,将找到的复用块头送所述校验模块进 行校验^所述视频、音频或数据提取模块用于提取复用块净荷中的视频、音频或 数据。所述搜索模块查找复用块头时是从当前处理位置开始向后逐字节搜索与 复用块起始码相同的数据,将搜索到的假定起始码发送给所述校验模块;所述校验模块用于对从假定起始码开始的假定复用块头做冗余校验,如 果校验通过,则调用所述视频、音频或数据提取模块提取视频、音频或数据, 如果校验不通过,则调用所述搜索模块继续查找复用块头。除上述模块外,所述终端还包括播放准备模块,其用于将所述视频、音 频或数据提取模块获取到的完整的视频或音频单元放入播放器的解码队列尾部,并为所述视频或音频单元计算时戳每个恢复的视频或音频单元的时戳 由解码队列尾部的视频或音频单元时戳累加视频或音频的单位帧时间获得。 所述播放准备才莫块还用于在获取到完整的数据单元后,根据复用块头中携带 的数据单元类型判断如果恢复的数据单元为数据应用,则将恢复的数据单元放入对应的数据应用队列。通过上述容错过程,终端不必丟弃发生误码的复用业务帧,在解复用层 可将其中包含的未发生误码的视频、音频和数据单元及其相关时间和类型属 性逐个恢复出来。从而大幅度减小因轻微误码造成的解复用数据丢失,因而 可以提高移动多媒体广播终端在误码条件下的数据容错能力。当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的 情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形, 但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。例如,本实施例仅以图1为例进行说明,对于其他帧结构,只要包含有 起始码和CRC,均可釆用本实施例方法提取数据。
权利要求
1、一种数据容错方法,其特征在于,当检测到帧头或段头错误时,跳过该帧头或段头,查找复用块头,如果对所述复用块头的校验通过,则从所述复用块的净荷中获取视频、音频或数据。
2、 如权利要求l所述的方法,其特征在于,所述方法包括A,解析接收的复用业务帧,如果对业务帧头或段头的校验失败,则执 行步骤B,否则进行正常处理;B,向后搜索与复用块起始码相同的数据作为假定起始码;C,对从假定起始码开始的假定复用块头做冗余校验,如果校验通过, 则所述假定复用块头即为复用块头,根据所述复用块头中的信息从复用块净 荷中获得视频、音频或数据;如果校验不通过,则返回步骤B继续执行,直 到所述复用业务帧中的视频、音频或数据获取完毕。
3、 如权利要求2所述的方法,其特征在于,在所述步骤A中,所述 对业务帧头或段头做校验运算是指先对业务帧头进行校验,如果帧头校验 错误,则跳过所述业务帧头,执行步骤B;如果校验正确,则读取视频、音 频或数据段头做校验运算,如果段头校验错误,则跳过该视频、音频、数据 段头,执行步骤B。
4、 如权利要求1或2或3所述的方法,其特征在于,获取视频、音频 或数据时,通过复用块头中的起始标记、结束标记确定组成视频、音频或者 数据单元的复用块,从复用块净荷中提取视频、音频或数据,组成视频单元、 音频单元或数据单元。
5、 如权利要求4所述的方法,其特征在于,获取视频、音频或数据时, 由复用块头中的净荷长度信息获得复用块净荷的长度,或通过搜索下一个复 用块的起始码位置确定本复用块的净荷长度。
6、 如权利要求4所述的方法,其特征在于,获取视频、音频或数据时, 根据复用块头中的类型信息确定当前复用块的类型,或在仅段头损坏而业务帧头完整的情况下,根据业务帧头中携带的段信息确定受损段的复用块类型。
7、 如权利要求1或2或3所述的方法,其特征在于,在获取到完整的 视频或音频单元后,将其依次放入播放器的解码队列尾部,并为所述视频或 音频单元计算时戳。
8、 如权利要求7所述的方法,其特征在于,采用以下方式计算视频或 音频单元的时戳每个视频或音频单元的时戳由解码队列尾部的视频或音频 单元时戳累加视频或音频的单位帧时间获得。
9、 如权利要求1或2或3所述的方法,其特征在于,在获取到完整的 数据单元后,当复用块头中携带有数据单元类型字段时,通过该字段区分数 据应用,将恢复的数据单元放入对应的数据应用队列。
10、 如权利要求1或2或3所述的方法,其特征在于,所述方法适用于 移动多媒体广播系统。
11、 一种数据容错移动多媒体广播终端,其特征在于,包括校验模块, 搜索模块,视频、音频或数据提取模块,其中所述校验模块用于对帧头、段头、复用块头进行冗余校验,当发现帧头 或段头错误时或者复用块头校验未通过时调用所述搜索模块,以及当对复用 块头的校验通过时,调用所述视频、音频或lt据提取模块;所述搜索模块用于查找复用块头,将找到的复用块头送所述校验模块进 行校验;所述视频、音频或数据提取模块用于提取复用块净荷中的视频、音频或 数据。
12、 如权利要求11所述的终端,其特征在于,所述搜索才莫块查找复用块头时是从当前处理位置开始向后逐字节搜索与 复用块起始码相同的数据,将搜索到的假定起始码发送给所述校验模块;所述校验模块用于对从假定起始码开始的假定复用块头做冗余校验,如 果校验通过,则调用所述视频、音频或数据提取模块提取视频、音频或数据,如果校验不通过,则调用所述搜索模块继续查找复用块头。
13、 如权利要求11或12所述的终端,其特征在于,所述视频、音频或 数据提取模块用于通过复用块头中的起始标记和结束标记确定组成视频、音 频或者数据单元的复用块,从复用块净荷中提取^L频、音频或数据,组成-见 频单元、音频单元或数据单元。
14、 如权利要求13所述的终端,其特征在于,所述视频、音频或数据 提取4莫块还用于通过复用块头中的净荷长度信息获得复用块净荷的长度,或 通过搜索下一个复用块的起始码位置确定本复用块的净荷长度,或者,通过 复用块头中的类型信息确定当前复用块的类型,或在仅段头损坏而业务帧头 完整的情况下,根据业务帧头中携带的段信息确定受损^险的复用块类型。
15、 如权利要求11或12所述的终端,其特征在于,所述终端还包括播 放准备模块,其用于将所述视频、音频或数据提取模块获取到的完整的视频 或音频单元放入播放器的解码队列尾部,并为所述视频或音频单元计算时戳 每个恢复的视频或音频单元的时戳由解码队列尾部的^L频或音频单元时戳累 加视频或音频的单位帧时间获得。
16、 如权利要求11或12所述的终端,其特征在于,所述播放准备模块 还用于在获取到完整的数据单元后,根据复用块头中携带的数据单元类型判 断如果恢复的数据单元为数据应用,则将恢复的数据单元放入对应的数据应 用队列。
全文摘要
本发明公开了提供一种数据容错终端及方法,能够减小由信道误码对终端解复用所造成的影响,可以在误码情况下获得更多的有效数据单元及相关时间信息,提高终端播放质量。所述方法包括当检测到帧头或段头错误时,跳过该帧头或段头,查找复用块头,如果对所述复用块头的校验通过,则从所述复用块的净荷中获取视频、音频或数据。采用本发明,在信道发生误码的情况下,依然可以最大限度的还原有效数据,减少终端由于误码而被迫丢弃的数据量,从而提高终端容错性能,提高终端在误码环境下的播放质量。
文档编号H04N7/64GK101325720SQ20081012992
公开日2008年12月17日 申请日期2008年7月24日 优先权日2008年7月24日
发明者张建强 申请人:中兴通讯股份有限公司