专利名称:用于解码前向纠错码的系统和方法
技术领域:
本发明涉及解码前向纠错码的系统和方法。
背景技术:
在分组网络中,非实时数据信号和实时数据信号,例如声音、视 频和音频,在对其进行分组划分和通过数据分组网络传输之前,可通
过纠错编码来进行编码。这可以通过各种前向纠错(FEC)方案实现。 总体而言,FEC方案在信号(或消息)被发送前引入充分的冗余,以 使得在传输过程中丢失或破坏的分组能够在接收器中重构。换句话说, FEC的目的在于,通过对信道中传输的数据附加一些精心设计的冗余 信息来提高信道的容量。这种利用前向纠错码的信号编码能保护被传 输信号,避免数据分组丢失、数据分组擦除、比特误差以及在实时数 据中的数据分组延迟。
在使用前向纠错码码进行编码和数据分组划分的传输的接收端, 到达的数据分组通常首先被存储在分组接收缓冲器中(或"重放 (playout)"缓冲器)。根据"流水线"处理过程,从缓冲器中周期 性读出(或"重放")被缓冲的数据分组,从分组有效载荷(payload) 中提取比特或帧,所述比特或帧已使用对应于数据分组划分前在发送 端已经应用的编码方法的解码方法来解码,以及已经解码的数字信号 被重放到该接收机构(或装置、过程或人)。当该缓冲器已满时,或 者如果是实时信号,当调度(或要求)的重放时间已过,到达数据分
组接收缓冲器的数据分组可能被擦除。滞后数据分组的丢弃导致包含 在滞后分组中的比特或者帧数据的丢弃(或)擦除。滞后数据分组的 丢弃是除数据分组网络中可能已经产生的任何数据分组丢弃、数据分 组擦除或数据分组破坏之外的丢弃。
可以向解码器指出已经被擦除或者丢弃的比特或者帧数据,应用
在已经接收的比特或者帧数据的解码方法可以校正已经被擦除、丢失 或破坏的比特或帧数据。然而,即使使用FEC方案,仍然会在解码过程 中出现误差。因此,仍然需要其它方案和方法以提高前向纠错码性能 (即,比特误差率)。
将参考以下附图,这些附图无需按比例绘制,其中
图1示出了用于接收数据分组以及对已经利用纠错码编码的比特
信息或者帧信息进行解码的传统技术;
图2示出了根据本发明一个实施例实现的解码技术实例的高级框
图;禾口
图3示出了根据本发明一个实施例实现的解码技术的更详细的实 例,其中在对纠错码的解码中利用所到达的滞后数据分组所包含的信
具体实施例方式
以下将要参考附图描述根据本发明的优选实施例,示出本发明的 其中一些但并非所有可能的实施例。当然,本发明可以按不同形式实 现,且本发明不限于所列出的实施例;这些提供的实施例仅使得本公 开达到法定要求,全文用同一标记标识同一部件。
根据本发明实现的一个实施例,其公开了一种方法和系统,利用 所到达滞后数据分组中所包含的信息来更新(或重算)解码器状态, 因此改进前向纠错码解码器性能。以下通过例子中参考的已知纠错码 为传统纠错码编码,当然根据本发明的实施例中的方法和系统也可以 使用其他纠错码。如以下所述,该方法和系统通常应用于在对连续比 特/帧数据做解码时保存状态信息的解码器中。 一种公知的解码器根据 Viterbi算法操作,当然该方法或系统也可以使用其他类型的解码器。
该方法或系统通常改进该解码器的性能(即,比特误差率),因所述 重算的状态就是在所述滞后数据分组所包含信息起初是准时到达并且 按通常方式被解码的情况下该解码器所应具有的状态。实际上,在滞 后数据分组到达后的解码器状态的更新终止了滞后数据分组擦除在解 码器状态产生影响的时间上的传播。
以下详细描述该方法和系统,按照解码器优先于数据分组接收缓 冲器的顺序介绍。注意该分组接收缓冲器的尺寸(按分组为单位)可 以是0、 l或更多。因此,所描述的方法或系统也包括不含接收缓冲器 的情况,在这种情况下,到达的比特或帧数据被立即从到达的数据分 组中提取并在流水线过程中被解码。
用于接收数据分组和对已经利用前向纠错码编码的比特/帧信息 进行解码的现有技术如图1所示。在图1中,从网络来到的数据分组 通常首先存储在数据分组接收缓冲器12中。在缓冲器已满时,到达的 数据分组被丢弃(例如,擦除,阻塞)。数据分组,例如,滞后数据 分组在调度的或要求的重放时间之后到达也被丢弃。在接收缓冲器12 中保存的数据分组根据数据分组重放调度表被重放。如通常所知,在 传输的接收端处可以利用重放调度表来连续重放被传输的信号(包含 在各接收的数据分组中)而不管网络延迟的变化。在存在延迟变化的 情况下(公知为延迟抖动),在接收端的重放调度表可以大大地影响 数据分组网络中的丢失和等待时间之间的平衡。因此,在输出解码信
号x(k)之前,通常使用数据分组接收缓冲器12来吸收延迟抖动,此处
k表示离散的时间点。晚于调度(或要求)的重放期限到达的任何数据 分组将会被丢弃,其导致丢失。尔调度更迟的期限以增加重放更多数 据分组以及更低丢失率的可能性,要以付出更高的缓冲器延迟为代价。
当重放数据分组时,从数据分组中提取信息比特/帧数据f(k),并 且通过纠错解码器14 一次一比特或一帧地对信息比特/帧数据进行解 码(在一些实施例,可以按组对比特或帧进行解码)。解码器14的输
出是已经解码的输出信号X(k)。注意,当数据分组需重放时,如果分组 缓冲器12为空(缺省),或如果一个或多个数据分组在分组缓冲器中 的分组时间序列中遗失,例如由于到达滞后,则通常在已经接收的比 特/帧数据数据流插入比特/帧数据的擦除指示标志,以保持进入到解码 器的信息的连续比特/帧数据流。
更正式地说,如果f(k)是第k个比特或帧信息(即,在离散的时 间点k到达的比特或帧信息),则该对应于该第k个时间间隔的被解
码输出信号为x(k),这里x(k)二D(f(k), S(k-l)) , D(.)为纠错解码运算 符,且S(k-l)是解码了前一信息帧f(k-l)之后的该纠错解码器14的状态。 在解码了 f(k)之后的解码器14的状态是S(k)。注意,对于比特的情况, f(k)可以对应1、 0,或者指出的擦除。对于帧的情况,f(k)可以对应比 特的帧或指出帧擦除。
如以上所述,用于接收和解码利用纠错码编码的比特/帧信息的现 有技术因延迟到达的数据分组而造成丢失。为了至少部分弥补这种丢 失而不增加缓冲器的延迟,图2示出了根据本发明一个实施例实现的 解码技术实例的高级框图。更具体地说,图2示出了一种解码技术, 在对纠错码进行解码过程中,使用到达的滞后数据分组所包含信息。 在图1所示的传统解码技术中,到达的滞后数据分组仅仅被丢弃(或 擦除)。然而,在图2所示的实施例中,到达的滞后数据分组被传输 到以26标记的滞后数据分组到达处理单元26。以下将详细描述,滞后 数据分组到达处理单元26可以利用包含在所到达的滞后数据分组中的 信息来更新(或重算)纠错解码器24的状态。滞后数据分组到达处理 单元26及其构成元件如图3的实例所示,可以包括存储在解码器中存 储器内的软件以及通过解码器的处理元件例如控制器、微处理器或其 他计算装置来获取和执行。可替换地,滞后数据分组到达处理单元26 以及其组成元件可以包含硬件或软件或软件、硬件和固件的任意结合, 如本领域技术人员可理解的。
图3示出了根据本发明的实施例实现的解码技术的更详细的实例, 该解码技术在对前向纠错码进行解码的过程中使用包含在到达的滞后 数据分组中的信息。在图3中,从网络到达的分组首先被置于数据分
组接收缓冲器22中,除非数据分组在其调度(或要求)的重放时间之 后到达,或除非该数据分组接收缓冲器已满。如果该数据分组接收缓 冲器22已满,该到达的数据分组可仅仅被丢弃或阻塞。如图1所示, 在数据分组接收缓冲器22中的数据分组根据数据分组重放调度表来重
放。当数据分组被重放,从数据分组中提取比特/帧数据信息并且利用 纠错解码器一次一比特/帧地对比特/帧数据信息进行解码(或者,在一
些实施例中,按比特/帧的组进行解码)。解码器24的输出为已经解码 的输出信号x(k),此处x(k) = D(f(k), S(k-l))。当数据分组应当被重放 时,如果数据分组缓沖器22为空(缺省),则可插入所擦除的比特/ 帧数据擦除,以保持进入解码器24的连续信息流。
不同于图1所示通常技术,如图3所示实施例包括滞后数据分组 到达处理单元26,其帮助实现一系列附加步骤,在当滞后数据分组到 来时,可以执行所述附加步骤。在图1中的现有技术中,滞后数据分 组仅仅被丢弃(或擦除)。然而,在图3所示实施例的实例中,在到 达的滞后数据分组中的比特/帧数据信息可被用于(i)如步骤29所 示,更新辅助比特/帧数据缓冲器28; (ii)如步骤31所示,更新辅助 解码器状态缓冲器30;以及(iii)如步骤33所示,更新纠错解码器状 态S(k)。比特/帧数据缓冲器28保存最近输入的M-l个比特/帧数据, 以及当数据分组缓冲器空时已经被插入的比特/帧数据擦除指示。换句 话说,比特/帧数据缓冲器28保存了已经提供给纠错解码器24的比特/ 帧数据的最近历史记录。当比特/帧数据提供给纠错解码器24时,该比 特/帧数据也被复制到比特/帧数据缓冲器28中。因此,比特/帧数据缓 冲器28在时间k的状态可以定义成一组比特/帧数据A(k)= { f(k),f(k-l),..., f(k-M"。解码器状态缓冲器30保存纠错解码器24的最 近M个状态。换句话说,解码器状态缓冲器30保存解码器状态的最新 历史记录。在对连续比特/帧数据进行解码时,随着解码器24的状态改
变,解码器的每个新状态也被复制到解码器状态缓冲器30。因此,解
码器状态缓冲器30在时间k的状态可以定义成一组解码器状态B(k)= { S(k),S(k-l),…,S(k-M-1)}。
当滞后数据分组到来时,滞后数据分组到达处理单元26通常首先 确定时间点,步骤29更新该比特/帧数据缓冲器期间,滞后数据分组中 的比特/帧对应于所述时间点。这可以根据包含在滞后数据分组的头部 字段中的序列号和/或时间戳信息来确定。在滞后数据分组中比特/帧的 集合g(.)因此由(g(e) ,g(e+l) ,...,g(e+n+l》给出,其中n是该滞后数据分 组中比特/帧的数量并且e是该滞后数据分组中第一个比特/帧数据的时 间点。通过入滞后分组那样替换A(k)中那些对应于滞后数据分组中相 同时间点的比特/帧数据,比特/帧数据缓冲器A(k)(28)因此被更新。例 如,如果f(e)在A(k)中,f(e)可以被g(e)替换,如果f(e+l)在A(k)中, f(e+l)可以被g(e+l)替换,…,如果f(e+n-l)在A(k)中,f(e+n-l)可以被 g(e)替换。如以上所指出的,擦除的比特/帧数据最初可以被插入到比特 /帧数据缓冲器A(k)中代替滞后到达数据分组,以保持对解码器24的输 入是连续信息流。例如,如果f(i)在A(k)中,且滞后数据分组包含g(i), 则f(i)是的指出的比特/帧数据擦除,其最初用作该擦除的占位符。随后 的更新包括滞后到达的数据分组,比特/帧数据缓冲器28可以被定义为 A*(k)={f*(k), f*(k-l),..., f*(k-M)}.
当更新了比特/帧数据缓冲器28,考虑更新后的比特/帧数据缓冲 器A、k),递归重算(更新)解码器的过去状态,因此解码器状态缓冲 器30也被更新。对此,设f(D是在更新比特/帧缓冲器28时被g(j)替换 的A(k)中最早的比特/帧。S(j)重算为S'(j)=D(f(j), S(H)), S(j+1)重算 为S\j+l)=D(f(j+l), S(j)),等等,直到S(k)重算为S*(k)=D(f'(k), S(k-l)), 由此解码器状态缓冲器30被递归更新。最终,通过把解码器24的当 前状态设置成重算后(更新后)状态S'(k),解码器24的当前状态本身 被更新。解码器24的性能,至少就比特误差率而言,可以因此得到提 高。因重算的解码器状态就是当包含在滞后数据分组中的信息最初是
准时到达且按通常方式被解码时该解码器应有的状态。通过根据接收 的滞后数据分组来更新解码器的状态,根据本发明优选实施例的方法 和系统可以终止滞后数据分组擦除在解码器的状态上产生效应的时间 上的传播。
如以上所指出,根据本发明实现的实施例利用了在到达的滞后数 据分组中包含的信息,可用于纠错解码器中,在对连续比特/帧数据进
行解码时用于保存状态信息。用于巻积纠错码的Viterbi解码器即是一 个例子。然而,本发明的实施例在应用中不限于任何特定的纠错码方 案或解码方案,只要在对连续比特/帧数据进行解码时该解码器保存状 态信息。还存在可以应用本发明实施例的方法和系统的许多其他解码 器,例如用于巻积turbo码的解码器。此处描述的这些实施例可以被应 用到未来可能发明的任何新的纠错码解码器中,在对连续的比特/帧数 据进行解码时保存状态信息。
在前述说明书中,由于参照特定实施例来描述本发明。因此,该 相关领域的技术人员容易理解对具体描述实施例的任何的变动或改动 也可以在本发明的精神和范围内,本发明的范围仅由权利要求书限定。 依据的说明书和附图应理解为仅起说明作用而并非限制。
权利要求
1.一种数据分组解码系统,包括前向纠错解码器,用于解码包含了利用前向纠错码编码的信息的已接收数据分组,并且维持表示该前向纠错解码器在对所述已接收数据分组所包含的信息进行连续解码后的一系列状态的状态信息;以及滞后数据分组到达处理单元,用于至少部分地根据在预定重放时间之后到达所述数据分组解码器系统的滞后数据分组中包含的信息来更新所述前向纠错解码器的所述状态信息。
2. 如权利要求l所述的系统,其中所述滞后数据分组到达处理单 元包括比特/帧缓冲器,用于存储已经提供给所述前向纠错解码器的最近 历史信息;以及比特/帧缓冲器更新单元,用于响应所述滞后数据分组的到达来更 新所述比特/帧缓冲器。
3. 如权利要求2所述的系统,其中所述比特/帧缓冲器更新单元用 于确定所述滞后数据分组中所述信息对应的至少一个时间点,以及利 用所述滞后数据分组中的相应信息来替换所述比特/帧缓冲器中对应于 这种时间点的任何现有项。
4. 如权利要求2所述的系统,其中所述滞后数据分组到达处理单 元还包括解码器状态缓冲器,用于存储所述前向纠错解码器的所述状态的 最近历史;以及解码器状态缓冲器更新单元,用于至少部分地根据所述比特/帧缓 冲器中的更新信息来更新所述解码器状态缓冲器,其中在所述比特/帧 缓冲器中的所述更新信息至少部分基于所述滞后数据分组中所包含的 信息。
5. 如权利要求4所述的系统,其中所述解码器状态缓冲器更新单元用于至少部分基于所述比特/帧缓冲器中的所述更新信息来递归重算 所述前向纠错解码器的过去状态,从而更新所述解码器状态缓冲器。
6. 如权利要求l所述系统,其中所述前向纠错解码器是用于解码 按巻积纠错码编码的信息的Viterbi解码器。
7. 如权利要求l所述的系统,还包括数据分组接收缓冲器,用于 在把已接收数据分组提供给所述前向纠错解码器之前来接收和缓冲这 些已接收数据分组。
8. —种方法,包括对已经使用前向纠错码编码的多个已接收数据分组所包含的信息 进行解码;维持表示在对多个已接收数据分组的的每个所包含的信息进行连 续解码后的一系列状态的状态信息;接收滞后数据分组,所述滞后数据分组在预定重放时间之后到达 并且包含利用所述前向纠错码编码的信息;以及至少部分地基于所述滞后数据分组中包含的信息来更新所述状态{曰息。
9. 如权利要求8所述的方法,其中更新所述状态信息包括至少部 分地基于所述滞后数据分组中包含的信息来更新所述比特/帧缓冲器, 其中所述比特/帧缓冲器保存那些已经被解码的信息的最近历史。
10. 如权利要求9所述的方法,其中更新所述比特/帧缓冲器包括确定所述滞后数据分组中的信息所对应的时间点,以及利用所述滞后 数据分组中的相应信息来替换所述比特/帧缓冲器中对应于这种时间点的任何现有项。
11. 如权利要求9所述的方法,其中更新所述状态信息还包括至 少部分地基于所述比特/帧缓冲器中的更新信息来更新解码器状态缓冲 器,其中所述解码器状态缓冲器保存所述状态信息的最近历史。
12. 如权利要求ll所述的方法,其中更新所述解码器状态缓冲器 包括至少部分地基于所述比特/帧缓冲器中所述更新信息来递归重算所 述过去状态信息。
13. 如权利要求8所述的方法,其中所述前向纠错码是巻积纠错码。
14. 如权利要求8所述的方法,还包括在所述多个已接收数据分 组所包含的信息被解码之前缓冲所述多个已接收数据分组。
15. —种存储指令的计算机可读介质,当提供给处理器时,使得 所述处理器执行如权利要求8所述的方法。
16. —种数据分组解码系统,包括前向纠错解码器,用于对包含了利用前向纠错码编码的信息的已 接收数据分组进行解码,以及维持表示所述前向纠错码解码器在对所 述已接收数据分组所包含的信息进行连续解码后的一系列状态的状态信息比特/帧缓冲器,用于存储已经提供给所述前向纠错解码器的所述 信息的最近历史;解码器状态缓冲器,用于存储所述前向纠错解码器的所述状态的 最近历史;比特/帧更新单元,用于响应在预定重放时间后到达所述数据分组 解码器系统的所述滞后数据分组的到达而更新所述比特/帧缓冲器,所述滞后数据分组包括滞后数据分组信息;解码器状态缓冲器更新单元,用于至少部分地基于所述比特/帧缓 冲器中的更新信息来更新所述解码器状态缓冲器;解码器状态更新单元,用于至少部分的基于所述解码器状态缓冲器中的更新信息以及所述比特/帧缓冲器的更新信息来更新所述前向纠 错解码器的所述状态信息。
17. 如权利要求16所述的系统,其中所述比特/帧缓冲器更新单元 用于确定所述滞后数据分组中所述滞后数据分组信息所对应的时间 点,以及利用所述所述滞后数据分组信息来替换所述比特/帧缓冲器中 对应于这种时间点的任何现有项。
18. 如权利要求16所述的系统,其中所述解码器状态缓冲器更新 单元用于至少部分地基于所述比特/帧缓冲器中的更新信息来递归重算 所述解码器的过去状态。
19. 如权利要求16所述的系统,其中所述前向纠错解码器是对利 用巻积纠错码编码的信息进行解码的Viterbi解码器。
20. 如权利要求16所述的系统,还包括数据分组接收缓冲器,用 于在已接收数据分组被提供给所述前向纠错解码器之前接收并缓冲这 些已接收数据分组。
全文摘要
一种通过利用到达的滞后数据分组中包含的信息来更新(或重算)解码器状态以改进前向纠错解码的解码器性能的系统和方法。实施例公开的系统和方法通常应用于解码器,该解码器在对连续比特或帧信息进行解码时维持状态信息。在此公开的系统和方法可以提高解码器的性能(即,比特误差率),因所述重算的状态就是当所述滞后数据分组所包含信息起初准时到达并且按通常方式被解码的情况下该解码器所应具有的状态。实际上,在滞后数据分组到达后的解码器状态的更新终止了滞后数据分组擦除对解码器状态影响的时间传播。
文档编号H03M13/00GK101176263SQ200680016541
公开日2008年5月7日 申请日期2006年5月11日 优先权日2005年5月13日
发明者阿德里安·埃文斯·康韦 申请人:韦里佐内服务公司