数据传输和数据恢复的方法

文档序号:7675734阅读:224来源:国知局
专利名称:数据传输和数据恢复的方法
数据传输和数据恢复的方法本发明涉及接收分段传输并且与也称为元数据的位置信息相关联的数据 表或数据阵列。数据表由以行和列排序的数据形成,每个数据在该表中具有一个特定位 置。在某些错误校正方案中,按行和/或按列计算奇偶校验码并添加到该表中。例如,可以对按列传输的表按行应用Reed Solomon码。然后使用这些码通过 迭代算法来执行错误校正,以试图校正该表并传输成功校正的表。为了在通信信道中传输这种数据表,可以将它分割成片段。然后使得每个 片段与位置信息相关联,以使得接收器能够在接收时重建该数据表。典型地,该位置信息被设置在头部中随着该片段一起传输,并且指示该片 段在表中的起始地址。通常,除了该片段和头部之外,该传输帧还包括特定的 有效性信息,例如循环冗余校验和(CRC),以对该帧进行错误检测。这种传输用于数字电视传输中的例如多协议封装(MPE)。在这种传输 中,片段包含根据多个协议例如MPEG-2和IP形成的数据。通常,通过使用主处理器和协同处理器来实现这种数据表的接收。例如, 主处理器是接收器的主处理器,协同处理器是解调器芯片的一部分。现有技术中有两个通过主处理器和协同处理器接收这种数据表的主要实 施例,下面将参照

图1和2A—2C来进行说明。在第一实施例中,协同处理器100负责汇编该数据表。如图1所示,协同处理器100访问数据存储器102和缓冲存储器104。当 接收与各自的元数据Mi —起传输的该数据表的片段Si时,该协同处理器100 将包含该片段Si和元数据Mi的整个片段帧Fi存储到该缓冲存储器中。该协 同处理器100还校验该帧的有效性信息,即CRC。然后,该协同处理器100分析该元数据并将该片段设置在它在该表存储器 中的位置上。然后通过用具有其元数据的新的片段写入下一帧来更新该缓冲存 储器102。
然后,当整个表被恢复时,协同处理器100使用行和/或列的校正码对该表进行错误校正。仅当该表被完全校正并且没有错误时,才会将该表传输到主处理器104。在这一实施例中, 一旦该表被重建,就不能在该表中分离出错误数据和正 确数据。特别地,如果在传输期间丢失一个片段或者如果该表包含太多错误, 就不能完全校正该表。在这种情况下,即使该表的某些部分是没有错误的,也 要丢弃该整个表。在参照图2A—C表述的另一实施例中,主处理器204访问表存储器102。 这被称为主缓冲模式。如前所述,协同处理器100接收包括其片段和元数据的完整帧,并且将其 存储到缓冲存储器102中,如图2A所示。协同处理器100校验该帧的有效性信息,并将所接收的该缓冲存储器102 的内容传输到主处理器104。主处理器必须再次将该整个片段及其元数据存储到另一缓冲存储器中。通 常,主处理器104使用表存储器并且将所接收的具有元数据的片段写入到第一 个可用存储槽(slot)中,如图2B所示。然后主处理器104分析该元数据,并且一旦确定该正确位置,就将该片段 移动到其在表存储器102中的正确位置,如图2C所示。因此,在这一实施例中,主处理器一旦接收到数据就需要存储该数据并且 对其重新定位。这样消耗了资源和时间,因为需要两次访问该表存储器。另外,如在前所述的实施例中,如果该表不能被成功校正,即如果存在太 多错误数据,则丢弃该表。从而,现有的解决方案是不能令人满意的,因为它们不允许恢复该表的片 段和/或它们需要占用主处理器的大量资源。本发明的一个目的是通过提供一种利用处理器和协同处理器接收数据表 的高效方法以及相应的设备和程序,来解决这些问题。为此,本发明涉及一种如权利要求1所述的处理方法和如权利要求14一 16所述的相应的设备。本发明还涉及如权利要求11一13所述的处理器程序。元数据表的生成允许恢复该表的接收片段,即使该整个表中包含太多错误 以致于不能完全校正。此外,在一个实施例中,由于通过主处理器来恢复位置信息,而减少了主处理器实施的计算。根据以下附图所示的说明,将会清楚本发明的其他特征和优点,其中 一前面已经提到的图l、 2A、 2B和2C示出了现有技术的实施例;一图3A和3B示出了根据第 一 实施例的本发明的方法和设备;和 一图4A和4B示出了本发明的方法和设备的第二实施例。现在参照图3A和3B描述本发明的方法和设备的第一实施例,其中通过 主处理器2和协同处理器4接收以片段Si传输的数据表,每个片段与位置信 息Mi相关联。在所述示例中,主处理器2是数字TV接收器的主处理器,协同处理器4 是在该接收器内的解调芯片的计算器。该传输的数据是根据多个协议额例如MPEG-2和IP协议编码的。然后该 数据被按行和列排序以形成数据表,使用传输标准、例如用于DVB-H或DVB-T 的标准在通信信道中将该数据表传输到协同处理器4。更准确地,在所述实施 例中,该表包括191字节的数据和通过对该191个第一字节应用Reed Solomon 码得到的64个字节的行。为了传输,该表被分割,从而形成多封装协议(MPE)数据的帧Fi。每 个帧包含标记为Si的片段,其与称为元数据并且标记为Mi的位置信息相关联。 根据所使用的标准,每个片段包含单个IP分组,并且通过使用CRC码而获得 的有效性信息被添加到该帧中。在示例中,元数据Mi包含对应片段Si的第一数据在该表中的位置和有效 性信息。通常,该协同处理器4与缓冲存储器6和表存储器8相关联。在该方法的第一步骤10中,通过协同处理器4接收帧Fi。在步骤12中, 将包含在帧Fi中的片段Si和与其相关联的元数据Mi存储在缓冲存储器6中。然后,在步骤14,协同处理器从缓冲存储器6恢复该元数据Mi以分析它 们并校验有效性信息。使用标记符来指示该片段是否有效。在示例中,该标记 符是该有效性信息本身,其在该帧不正确时被修改。然后,在步骤16,协同处理器4将片段Si直接设置在其在表存储器中对 应的位置上。
另外,在步骤18期间,协同处理器4在称为MT的元数据表中生成条目, 即它在该表存储器的一个专用部分写入一组包含关于该数据表的信息的数据。 该元数据表MT包含关于该接收片段在表存储器中的位置的信息和有效性信 息。在所述示例中,该元数据表中的条目包含与接收和存储的片段相关联的一 组元数据。当然,步骤16和18可以同时执行或者顺序执行,而不会影响本发明的性能。如图3B所示,步骤10—18被重复直到接收到该表的具有最后片段Sn的 最后帧Fn。在该阶段,表存储器包含存储在其正确位置的多个数据片段和元 数据表MT,该元数据表MT包含指向每个片段在该表存储器中的开始点的指 针和有效性信息。然后,在步骤20,使该表存储器的内容、即该恢复的数据表及其元数据 表MT可被主处理器使用。例如,使该表存储器8可被该主处理器和协同处理 器访问,或者由协同处理器将该表存储器的内容发送给主处理器。因此,在这一实施例中,主处理器直接恢复与指示该接收片段在该表中位 置的元数据相关联的重建数据表。然后,主处理器通过使用Reed Solomon码对该表执行迭代错误校正。如 果在这一步骤后该表仍然包含错误,即如果该表包含太多错误数据以至于不能 完全校正,该接收器仍然可以从该表中抽取个别片段。例如,接收器可以校验每个接收片段的头部并抽取一些片段。根据这些被 抽取片段的协议的不同,主处理器仍然能够使用它们。例如,可以校验一个IP 片段,并且如果没有错误的话可以使用它。从而,在这一实施例中,通过主处理器进行非常少的计算,并且提供了恢 复具有错误数据的表的接收片段的手段。参照图4A和4B,现在将描述对应于所谓主缓冲模式的本发明另一实施例。如前所述,该方法在步骤10开始,通过协同处理器4接收包含与元数据 Mi相关联的片段Si的帧Fi。然后在步骤12,将该整个帧Fi存储在缓冲存储器6中。
然后,该方法包括步骤22,其中协同处理器4恢复该缓冲存储器中的元 数据Mi,然后是步骤24,其中协同处理器4将这些元数据传输到主处理器2 以进行分析。然后该方法包括步骤26,其中协同处理器4从缓冲存储器6恢复片段Si, 然后是步骤28,其中协同处理器4将该片段传输到主处理器2。一旦接收到该片段Si,已经分析了与该片段相关联的元数据Mi的主处理 器2就能够在步骤30校验该片段的有效性,并且直接将其写入到其在表存储 器中的相应位置上。然后该方法包括步骤32,其中主处理器2生成该元数据表的条目。如参 照图3A和3B所述的实施例,该元数据Mi被与片段Si相关联地存储。当然,步骤30和32可以同时执行或者顺序执行,而不会影响本发明的性能。如图4B所示,可以对协同处理器4接收的每个新的帧重复步骤10—32, 以重建该数据表和生成包含每个接收片段的位置的相关联元数据表MT。然后该主处理器能够运行该表错误校正码。该主处理器可以直接执行这些 操作,或者将该数据逐行发送到协同处理器,以由协同处理器执行该错误校正。因此,本发明的方法和设备减少了主处理器所需的计算时间,因为仅需要 进行一次由于在两个步骤中接收元数据和片段而导致的将其写入到表存储器 中的操作。此外,本发明还允许使用通过该元数据表恢复该数据表的片段,即使它包 含太多错误以致于不能被完全校正。当然,许多其他实施例也是可能的。在另一实施例中,协同处理器监视该帧的接收以确定其质量。该操作的执 行不需要访问该片段的数据,例如通过监视接收时信号的增益或片段的长度来 实现。从而,在这一实施例中,可以使用标记符来指示接收帧的质量并从而指 示接收片段的质量。该标记符用于生成该元数据表条目,以便于例如从包含错 误的表中仅恢复正确接收的片段。替代地,该生成的元数据表条目包含指示该接收片段的位置的不同类型的 数据。本发明的方法典型地但不是排他地,通过分别由主处理器和协同处理器运 行的计算机程序来实现。更准确地,本发明的第一实施例可以使用一种由协同处理器运行的计算机程序,该计算机程序具有当被所述协同处理器运行时对每个接收的数据帧进行以下处理的指令一缓冲该接收帧的数据片段和相关的位置信息; 一根据该位置信息确定该数据片段在表存储器中的地址; 一在该确定的地址处将该数据片段写入到表存储器中;和 一写入该元数据表的条目,其中所述条目包括该位置信息。 在这一实施例中,主处理器的计算机程序仅需要被设置成访问该表存储器,以恢复该重建数据表和相应的元数据表、或者从协同处理器接收它。本发明的第二实施例能够使用一种由协同处理器运行的计算机程序,该计算机程序具有当被所述协同处理器运行时对每个接收的数据帧进行以下处理的指令一缓冲该接收帧的数据片段和相关的位置信息; 一读取该缓冲的位置信息并将其发送到主处理器;和 一读取该缓冲的片段并将其发送到主处理器。在这一实施例中,本发明还能够使用一种由主处理器运行的计算机程序, 该计算机程序具有当被所述主处理器运行时对每个接收的数据帧进行以下处 理的指令一从协同处理器接收位置信息;一根据该位置信息确定该数据片段在表存储器中的地址; 一从该协同处理器接收该数据片段;一在该确定的地址处将该数据片段写入到表存储器中;和 一写入该元数据表的条目,其中所述条目包括该位置信息。 有利地,该由主处理器运行的计算机程序具有通过使用该元数据表来恢复 该表中的数据的片段的指令。
权利要求
1. 处理通过通信信道接收的数据帧(Fi)的方法,其中每个数据帧(Fi)包括用于构成数据表的一部分的数据片段(Si)和与所述数据片段相关并且指示所述片段在所述数据表中的位置的位置信息(Mi),当接收到所述数据帧时建立和存储所述数据表和元数据表(MT),以供主处理器(2)使用,所述方法包括对每个接收的数据帧执行以下步骤— 缓冲(10,12)所述接收帧的所述数据片段和相关的位置信息;— 根据所述位置信息确定(14;22)所述数据片段在表存储器(8)中的地址;— 在所述确定的地址处将所述数据片段写入(16;30)到所述表存储器中;以及— 写入(18;32)所述元数据表的条目,其中所述条目包括所述位置信息。
2. 如权利要求1所述的方法,其中所述缓冲步骤由协同处理器(4)执行。
3. 如权利要求2所述的方法,其中所述确定地址以及写入(6)所述数据 片段和所述元数据表的所述条目(18)的步骤由所述协同处理器(4)执行。
4. 如权利要求2所述的方法,其中所述确定地址以及写入(30)所述数 据片段和所述元数据表的所述条目(32)的步骤由所述主处理器(2)执行。
5. 如权利要求4所述的方法,还包括由所述协同处理器(4)读取(22) 所述缓冲的位置信息并将其发送(24)到所述主处理器(2)的步骤,以及然 后由所述协同处理器读取(22)所述缓冲的片段并将其发送(28)到所述主处 理器的步骤。
6. 如权利要求1 —5中任一项所述的方法,其中所述元数据表(MT)被 存储在所述表存储器(8)中。
7. 如权利要求1一6中任一项所述的方法,其中所述生成所述元数据表的 条目的步骤包括将与所述片段相关的元数据写入到所述元数据表中。
8. 如权利要求l一7中任一项所述的方法,还包括检验所述帧的有效性并 提供其有效性的标记符的步骤,所述标记符被用于在所述元数据表中生成所述 条目。
9. 如权利要求l一8中任一项所述的方法,还包括监视所述帧的接收并提供其质量的标记符的步骤,所述标记符被用于在所述元数据表中生成所述条目。
10. 如权利要求1一9中任一项所述的方法,还包括在接收到所述数据表后进行以下步骤一对存储在所述表存储器(8)中的所述数据表施加错误检测和校正处理;以及一如果在所述错误检测和校正处理后确定所述数据表包含错误,则检查所 述元数据表(MT)以抽取所述存储的数据表的一部分。
11. 处理通过通信信道接收的数据帧(Fi)的计算机程序,其中每个数据 帧(FO包括用于构成数据表的一部分的数据片段(Si)和与所述数据片段相 关并且指示所述片段在所述数据表中的位置的位置信息(Mi),当接收到所 述数据帧时建立和存储所述数据表和元数据表(MT),所述计算机程序具有当被所述协同处理器运行时对每个接收的数据帧执行以下处理的指令 一缓冲(10, 12)所述接收帧的数据片段和相关的位置信息; 一根据所述位置信息确定(14)所述数据片段在表存储器(8)中的地址; 一在所述确定的地址处将所述数据片段写入(16)到所述表存储器中;和 一写入(18)所述元数据表的条目,其中所述条目包括所述位置信息。
12. 处理通过通信信道接收的数据帧(Fi)的计算机程序,其中每个数据 帧(Fi)包括用于构成数据表的一部分的数据片段(Si)和与所述数据片段相 关并且指示所述片段在所述数据表中的位置的位置信息(Mi),所述计算机 程序具有当被所述协同处理器运行时对每个接收的数据帧执行以下处理的指 令一缓冲(10, 12)所述接收帧的数据片段和相关的位置信息;—读取(22)所述缓冲的位置信息并将其发送(24)到主处理器(2);和_读取(26)所述缓冲的片段并将其发送(28)到主处理器(2)。
13. 处理通过通信信道接收的数据帧(Fi)的计算机程序,其中每个数据 帧(Fi)包括用于构成数据表的一部分的数据片段(Si)和与所述数据片段相 关并且指示所述片段在所述数据表中的位置的位置信息(Mi),其中当接收 到所述数据帧时建立和存储所述数据表和元数据表(MT),所述计算机程序具有当被所述主处理器运行时对每个接收的数据帧执行以下处理的指令 一从协同处理器(6)接收(24)所述位置信息;一根据所述位置信息确定(22)所述数据片段在表存储器(8)中的地址; —从所述协同处理器接收(28)所述数据片段;一在所述确定的地址处将所述数据片段写入(30)到所述表存储器中;和 _写入(32)所述元数据表的条目,其中所述条目包括所述位置信息。
14. 用于通过通信信道接收的数据帧(Fi)的接收器,其中每个数据帧(Fi) 包括用于构成数据表的一部分的数据片段(Si)和与所述数据片段相关并且指 示所述片段在所述数据表中的位置的位置信息(Mi),当接收到所述数据帧 时建立和存储所述数据表和元数据表(MT),以供主处理器(2)使用,其特 征在于所述接收器包括一用于缓冲所述接收帧的所述数据片段和相关的位置信息的装置(4, 6); 一根据所述位置信息确定所述数据片段在表存储器(8)中的地址的装置 (4);一在所述确定的地址处将所述数据片段写入到所述表存储器中的装置(4, 8);以及一写入所述元数据表的一些条目的装置(4, 8),其中所述这些条目包括 所述接收和存储的片段的位置信息。
15. 如权利要求14所述的接收器,还包括主处理器(2),所述主处理器 (2)包括一所述用于缓冲所述接收帧的所述数据片段和相关的位置信息的装置(4,8);一用于读取所述缓冲的位置信息并将其发送到主处理器(2)的装置(4, 8);和一用于读取所述缓冲的片段并将其发送到所述主处理器(2)的装置(4,8),其中所述主处理器包括-一用于从协同处理器(6)接收关于所述数据片段的位置信息的装置(2); 一所述根据所述位置信息确定所述数据片段在所述表存储器(8)中的地 址的装置(2);一用于从所述协同处理器接收所述数据片段的装置; 一所述用于在所述确定的地址处将所述数据片段写入到所述表存储器中 的装置;以及一所述用于写入所述元数据表的一些条目的装置,其中所述这些条目包括 所述位置信息。
16.如权利要求14所述的接收器,还包括主处理器(2),所述主处理器 (2)包括一所述用于缓冲所述接收帧的数据片段和相关的位置信息的装置(4, 6): —所述根据所述位置信息确定所述数据片段在所述表存储器(8)中的地 址的装置(4);一所述在所述确定的地址处将所述数据片段写入到所述表存储器中的装 置(4, 8);以及一所述写入所述元数据表的一些条目的装置(4, 8),其中所述这些条目 包括所述接收和存储的片段的位置信息,其中所述主处理器包括一用于访问所述数据表和所述元数据表的装置(2, 8)。
全文摘要
本方法用于处理通过通信信道接收的数据帧(Fi),每个数据帧(Fi)包括用于构成数据表的一部分的数据片段(Si)和与该数据片段相关并且指示所述片段在该数据表中的位置的位置信息(Mi)。当接收到该数据帧时建立和存储该数据表和元数据表(MT),以供主处理器(2)使用。该方法包括对每个接收的数据帧执行以下步骤缓冲(10,12)该接收帧的数据片段和相关的位置信息;基于该位置信息确定(14)该数据片段在表存储器(8)中的地址;在该确定的地址将该数据片段写入到表存储器中;和写入(18;32)该元数据表的条目,其中所述条目包括该位置信息。
文档编号H04N5/00GK101401414SQ200780009103
公开日2009年4月1日 申请日期2007年3月6日 优先权日2006年3月15日
发明者亨利·法伦, 斯蒂芬·德·马奇 申请人:迪康公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1