首页> 中国专利> 用于产生和解释具有带有指定入口点的一系列段的数据流的设备、方法和计算机程序

用于产生和解释具有带有指定入口点的一系列段的数据流的设备、方法和计算机程序

摘要

一种用于使用组织在后续数据帧中的数据来产生具有一系列段的数据流的设备。所述设备包括封装器,用于将数据帧的数据封装入具有第一段和第二段的一系列段,其中第二段具有可解释数据实体并具有数据实体片段,所述数据实体片段只包括在可解释数据实体之前的可解释数据实体的一部分。所述设备还包括信息块添加器,用于添加与第二段相关联的信息块,所述信息块指示了进入第二段的入口点,所述入口点指示了跟随在数据实体片段之后的可解释数据实体的起始处。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-06-27

    授权

    授权

  • 2012-03-28

    著录事项变更 IPC(主分类):H04L29/06 变更前: 变更后: 变更前: 变更后: 申请日:20060530

    著录事项变更

  • 2009-05-20

    实质审查的生效

    实质审查的生效

  • 2009-03-25

    公开

    公开

说明书

技术领域

本发明涉及在具有固定长度数据包的容易出现错误的信道中传 送数据。本发明尤其适用于可感知的音频编码。

背景技术

例如MPEG层3、MPEG AAC或MPEG HE-AAC(MPEG=运动 图像专家组,HE-AAC=高效高级音频编码)之类的现代音频编码方法 能够通过利用人耳的一些心理声学特性来减小数字音频信号的数据速 率。因此,一块固定数量的音频样本(称之为帧)被编码为该固定时 间间隔的压缩的比特流表示。压缩的音频帧将在解码器中被转换回音 频样本表示。由于对不同的音频帧,编码音频信号的难度不同,所以 公知的比特存储器技术允许在帧之间交换比特。虽然总的比特率是恒 定的,但由此产生的比特流中的帧的长度是可变的。编码的帧具有带 辅助信息的部分,跟着是压缩频谱数据,所述辅助信息包含解码器用 于解释压缩数据的必要信息。

为了传送,压缩的音频帧必须被嵌入传输格式,例如用于MPEG AAC的传输格式ADTS(ADTS=音频数据传送流)或LOAS(LOAS= 低开销音频流)。若传送中有错误,由于有同步字,解码器可以在丢失 一个或更多帧之后对比特流进行重新同步。由于在现代音频编解码中, 频谱数据和辅助信息部分通常是使用例如MPEG AAC中的霍夫曼编 码之类的可变长度的码字进行熵编码的,所以单个比特错误经常就足 以使解码器必须放弃整个帧并对输出信号消音或使用一些错误隐藏技 术,例如在完整的帧之间插入噪声或插值或其结合。若在传送过程中 发生更长范围的错误,解码器还能够对比特流进行重新同步,但它没 有关于所丢失的帧的数量的信息。除了隐藏多个帧之外,这会导致在 解码器回放的音频中出现可听见的时间偏移,或由于缓冲器过运行或 欠运行而引起的信号脱落。特别是在容易出现错误的信道中,为了保 持高质量的传送音频信号,有可用的精密的错误管理是极其重要的。

本发明尤其适合在具有固定长度数据段的容易出现错误的信道中 进行传送。由于例如压缩音频帧之类的帧的长度可变,用于公知的例 如已经提过的ADTS或LOAS格式的传送格式的新的帧通常起始于固 定长度数据段的任意位置。因此,如果包含两个连续帧数据的数据段 丢失,两个帧将被损坏,必须通过解码器的错误隐藏策略进行替换。

发明内容

在以下的描述中,数据帧是指来自例如MPEG-4 High Efficiency AAC的音频编解码器的数据帧。这样的数据帧可以具有可变比特长 度,即可变的大小。此外,数据帧被分为多个恒定大小的数据段。对 于每个数据帧,可以有一个或多个恒定大小的段。在恒定大小的数据 段内有数据实体。这对应于表示例如编码信号的频谱数据的霍夫曼码 字。数据段包含多个数据实体。一些是完整的数据实体,称为可解释 数据实体,而一些是数据实体片段,它们是不完整的数据实体,本身 不可解释。

此外,在以下的描述中,传输协议包头或信息块是指包含用于使 单个数据段自包含的信息的元素,即例如,该信息描述了特定数据段 覆盖的音频频谱的范围,以及可解释数据实体起始于数据段中的何处, 而无需依赖于另一个数据段的有效接收。

本发明提供了一种用于在具有固定长度数据段的容易出现错误的 信道中有效传输以可变长度帧封装的数据的方法。在优选实施例中, 该方法用于以可变长度音频帧的形式传送压缩音频数据,其中包括以 下步骤。

在编码器中:任意大小的压缩音频数据帧被映射到用于在容易出 现错误的信道中传送的固定大小的数据段;在每个数据段的起始处插 入传输协议包头或信息块;传输协议包头或信息块包含能够标识可解 释数据实体起始于数据段中的何处的信息。在其它实施例中,所述信 息标识可变长度音频数据帧的边界;可以通过非常高效的方式将上述 传输协议包头信息或信息块编码为低至单个字节。这是通过利用特定 参数的互相关性来实现的,因而仅编码具有最高可能性的情况。

在解码器中:不论传送成功与否,传输处理器接收段和信息,剥 去传输协议包头或信息块,对每个接收的帧的数据进行连接并接着送 至解码器;对于数据段丢失的情况,传输协议包头或信息块包含用于 重构丢失音频帧数量的信息,这使得可以进行正确的时间同步;对于 数据段丢失的情况,传输协议包头或信息块包含用于使单个数据段自 包含的信息,即该信息描述了特定数据段覆盖的音频频谱的范围,而 无需依赖于另一个数据段的有效接收。若该信息被送至解码器,则解 码器可以实施部分隐藏方法。

本发明的目的是提供一种即使在容易出现错误的信道中传送音频 数据的情况下也能够获得改进的音频质量的概念。

根据本发明的第一方面,这个目的是通过一种设备实现的,所述 设备包括封装器,用于将数据帧的数据封装入具有第一段和第二段的 一系列段,其中第二段具有可解释数据实体和数据实体片段,所述数 据实体片段只包括在可解释数据实体之前的可解释数据实体的一部 分。所述设备还包括信息块添加器,用于添加与第二段相关联的信息 块,所述信息块指示了进入第二段的入口点,所述入口点指示了跟随 在数据实体片段之后的可解释数据实体的起始处。

根据本发明的第二方面,这个目的是通过一种设备实现的,所述 设备用于解释具有一系列段的数据流,所述一系列段具有:具有相关 联的附加信息块的第一段,所述附加信息块指示了具有可解释数据实 体的数据帧的起始点;以及具有相关联的信息块的第二段,所述第二 段跟随着错误段,并且信息块指示了进入第二段的入口点,所述入口 点指示了跟随在数据实体片段之后的可解释数据实体的起始处,所述 数据实体片段只包括在可解释数据实体之前的可解释数据实体的一部 分。所述设备包括:错误检测器,用于检测错误段;信息块解释器, 用于解释附加信息块,以便提取关于数据帧的起始点的信息,并用于 解释信息块,以便提取关于入口点的信息;以及帧重构器,用于通过 采集起始于数据帧的起始点的数据、丢弃错误段和数据实体片段、丢 弃附加信息块和信息块以及对丢弃的帧数据实施错误隐藏操作来重构 数据帧的数据。

根据本发明的第三方面,这个目的是通过包括组织在一系列段中 的数据的数据流来实现的。所述数据流包括第一段和具有可解释数据 实体并具有数据实体片段的第二段以及信息块,所述数据实体片段只 包括在可解释数据实体之前的可解释数据实体的一部分,信息块指示 了进入第二段的入口点,所述入口点指示了跟随在数据实体片段之后 的可解释数据实体的起始处。

根据本发明的第四方面,这个目的是一种方法来实现的,所述方 法通过用于使用组织在后续数据帧中的数据来产生具有一系列段的数 据流。所述方法包括以下步骤:将数据帧的数据封装入具有第一段和 第二段的一系列段,第二段具有可解释数据实体并具有数据实体片段, 所述数据实体片段只包括在可解释数据实体之前的可解释数据实体的 一部分;以及添加与第二段相关联的信息块的步骤,所述信息块指示 了进入第二段的入口点,所述入口点指示了跟随在数据实体片段之后 的可解释数据实体的起始处。

根据本发明的第五方面,这个目的是通过一种方法来实现的,所 述方法用于解释具有一系列段的数据流,所述一系列段具有:具有相 关联的附加信息块的第一段,所述附加信息块指示了具有可解释数据 实体的数据帧的起始点;以及具有相关联的信息块的第二段,所述第 二段跟随着错误段,信息块指示了进入第二段的入口点,所述入口点 指示了跟随在数据实体片段之后的可解释数据实体的起始处,所述数 据实体片段只包括在可解释数据实体之前的可解释数据实体的一部 分。所述方法包括以下步骤:检测错误段,解释附加信息块,以便提 取关于数据帧的起始点的信息,并解释信息块,以便提取关于入口点 的信息,以及通过采集起始于数据帧的起始点的数据、丢弃错误段和 可解释数据实体片段、丢弃附加信息块和信息块以及对丢弃的帧数据 实施错误隐藏操作来重构数据帧的数据。本发明也包括用于实现发明 方法的计算机程序。

概括而言,本发明定义了一种新的有效的传输格式。它显著降低 了在容易出现错误的信道中丢失数据的量,并尤其适合传送压缩音频 数据。这是通过在容易出现错误的信道中所传送的每个段中添加附加 信息来实现的,这些信息特别地指示了用于继续解释数据输出的入口 点。优选地,这些入口点是比例因子带起始处的第一码字。比例因子 带定义了频谱表示中的范围的比例值,包含编码为码字的帧的频谱值, 这些码字按其对应的频率值的升序排序。关于入口点的信息包含数据 流中新的比例因子带起始处的偏移。通过选择这些入口点,由于必须 传送的信息变少,从而减少了开销。基本上,也可以采用其他码字, 但是这样则必须传送关于哪个比例因子带内的哪个码字表示了入口点 的其它信息。在非常高效的编码中,信息块只包括单个字节或几个很 少的字节。

本发明的优选实施例通过为不同数据帧分配不同的计数值,提供 了关于数据帧数量的信息。通过解释这些计数值,可以识别丢失数据 帧的数量。从而大大减少错误的时间同步的问题。在本发明的其它实 施例中,进行了数据的重新排序,这样做的优点在于,如Side Info数 据这样的重构整个帧所必需的最重要的信息(也见下面的图7)被放置 在单个段中,因而减少了丢失整个帧的可能性。

在数据帧表示压缩音频帧的示例中,公知的隐藏方法是在完整的 音频帧之间插值数据或将错误部分替换为噪声信号或简单地对输出进 行消音。具体的选择取决于具体情况,例如,噪声替换是否可以容许, 或是否有足够的可用资源用于进行精密的插值算法。本发明的实施例 的最显著的优点在于,在最好的情况下,错误的段只造成该段中所传 送的数据的丢失,帧的所有剩余数据可以被正确解码。

附图说明

现在,通过示意性示例来描述本发明。通过参照附图和以下详细 描述,将更容易认识和更好地理解本发明的特征。图中:

图1示出了具有固定长度的数据段和具有可变长度的压缩音频 帧;

图2示出了使用本发明的在具有固定长度数据段的传送信道中传 送数据的框图;

图3示出了完整的音频编码和解码链的框图,包括使用本发明的 在具有固定长度数据段的传送信道中的传送;

图3a-3c示出了根据本发明的信息块如何分布于多个数据段的示 例,例如,一个原始音频帧加上传输信息是如何分布于多个数据段的;

图4示出了高级隐藏机制;

图5示出了两个具有信息块和数据实体的后续段;

图6示出了包括8个比特的信息块;

图7给出了编码的音频帧的示意图。

具体实施方式

以下描述的实施例仅作为本发明的原理的示意,用于改进在具有 固定长度数据段的容易出现错误的信道中的例如压缩音频的传送。应 理解,此处所描述的设置和细节的修改和变化对本领域其他技术人员 而言是显而易见的。因此,不应局限于此处通过实施例的描述和解释 所表现的具体细节。

图1示出了在固定段大小的信道中传送的具有可变长度的压缩数 据帧。在图1中示出了作为数据流102的一部分的数据帧d1、数据帧d2 和数据帧d3。为了在固定段大小的信道101中传送它们,数据帧被分为 长度为d的固定大小的段。本发明通过定义一种新的有效的传输格式, 解决上述在具有固定长度数据段的容易出现错误的信道中传送压缩数 据的缺点。具体地,当在具有固定长度数据段的容易出现错误的信道 中进行传送时,如果发生包括两个数据帧的数据的段在传送过程中损 坏,排除了丢失多个帧的可能性。

图2a示意地示出了根据本发明的数据流。首先,数据被输入封装 器210,接着被发送至信息块添加器220,在通过容易出现错误的信道 230之后,数据进入错误检测器240,错误检测器240将数据送至信息块 解释器250并最终送至帧重构器260,帧重构器260给出了数据输出流。 本发明的目的是一种用于将由例如压缩音频帧之类的可变长度数据帧 组成的输入数据流嵌入固定长度数据段的设备和方法。因此,在第一 步骤,封装器210对数据进行重新设置,使封装器210的输出是具有固 定长度的数据段。信息块添加器220向每个段添加信息块。通过在容易 出现错误的信道230中传送这些段,多个段可能出现失真,错误检测器 240识别错误的段。可以从下层传输协议或从在本发明实施例添加到数 据流的附加控制信息中得到关于传送错误的信息。在识别了错误的段 之后,信息块解释器250读取信息块,以便从数据流中重构尽可能多的 信息。这将在以下的图3a中进行更详细的描述。利用这些信息,帧重 构器260构建原始数据帧中未损坏的部分,并提供关于损坏部分的进一 步的信息,以便对输出流实施隐藏,例如通过将在图4的上下文中更详 细描述的音频解码器对输出流实施隐藏。优选的段的大小由下层传输 协议固定,典型地,下层传输协议通过将数据流分为固定大小的段来 传输数据。在其他实施例中,段的大小可以是下层传输协议的段大小 的倍数。这样的选择性实施例的优点在于,由信息块造成的开销小于 段大小等于下层传输协议的段大小时的开销。然而,它的缺点在于可 能丢失更多数据。

图2b示出了将可变长度的音频帧嵌入固定长度数据段的方法。数 字音频输入信号被送入任意音频编码器201。在包括了本实施例中的封 装器210和信息块添加器220的封装器202中,压缩音频帧被重新设置, 并且根据本发明,传输信息(即信息块)被添加到可变长度的压缩音 频帧中。封装器202的输出是具有固定大小的一系列数据段。通过在容 易出现错误的信道230中传送这些段,多个段可能出现失真。解封装器 204剥去传输信息(即根据本发明的信息块),并根据比特流在封装器 202修改之前的原始表示对比特流进行重新排序。接着,压缩音频帧通 过计算一帧数字音频输出样本的音频解码器205。由于音频解码器205 从解封装器204得到了附加信息,这些附加信息说明了音频帧的比特流 表示中的哪些部分被损坏了,所以音频解码器205可以通过对未损坏段 的正常解码并只隐藏对应于损坏段的频谱部分来进行部分隐藏。

图3a示出了数据流301的数据帧和将数据帧分为不同段的示例。 Seg#-1是包括数据帧的数据的第一段,在该实施例中,剩余的数据被 分布在Seg#0至Seg#3段中。根据本发明,每个段具有固定长度,此外 还具有信息块。Seg#0的信息块表示为302,304表示Seg#1的信息块。 在本发明的优选实施例中,信息块在存储于每个段的原始数据之前。

信息块的目的是提供下一个可能的入口点的指示以及指向属于 信号所指示的入口点的位置的偏移,即使在前一帧已经被错误传送所 损坏时,也允许由例如解码音频帧的频谱数据的解码器来提取数据。 在图3a中,指针305给出了示例。新的可解释数据起始于入口点处。观 察数据流包括压缩音频帧的流的数据流的示例,其中频谱数据使用可 变长度码字编码,这可能需要用信号对从段的起始处到下一个可能的 入口点的偏移做出精度为一个比特的指示。这增加了需要通过信号指 示的位置的数量。然而,本发明教导了不必要考虑对所有可能的入口 点标识和入口点偏移的组合进行信号指示。为了保持低开销,只对包 括例如最可能的值的子集进行信号指示也是可能的,这将造成需要被 完全隐藏的帧的数量的减少,因而所感知的音频质量较现有技术的方 法有所提高。

对于传送压缩音频数据的情况,可能的入口点基本上是新的码字 的任何起始处。但是,为了保持开销尽可能小,在优选实施例中,如 上所述,入口点将是比例因子带的起始处,信息块将提供关于比例因 子带的信息。若主要问题是提供最大的数据安全性,更大的开销大小 是可以容许的,信息块也可以指示多个入口点,这些入口点不必与比 例因子带的起始处重合。

本发明教导了当数据帧中的能够解码数据帧中其他数据所需的 必要数据存储在所述帧的起始处时,在优选实施例中,该数据应被放 置在新的数据段的起始处。例如,对于压缩音频数据就是这样的情况, 即重构音频帧所需的信息被存储在帧的起始处(见下图7)。从以下示 例中可以清楚地认识到,在新的数据段的起始处存储必要信息确保了 解码器不必在单个段丢失时隐藏两个连续的帧。

根据本发明的优选实施例,按顺序X0,X1...Xm排序的数据帧中的数 据,起始于新的数据段Seg#0,Seg#0包括数据X0...Xi(这是能够解码 数据帧中的其他数据所需的较重要的数据),后续数据根据以下顺序存 储。Seg#-1包括数据Xi+1...Xj,Seg#1包括数据Xj+1...Xk,Seg#2包括数 据Xk+1...Xl,Seg#3包括数据Xl+1...Xm(参见图3)。这样的重新排序避免 了在单个段丢失的情况下必须隐藏两个连续数据帧的风险,因为若图 3a中的Seg#-1损坏且若存储在数据帧中的第一数据包括关于数据帧中 数据的必要信息,则接下来的段Seg#0至Seg#3不能被正确解码。

为了在包括新的数据帧的起始处的数据段(Seg#0)和包括数据 帧的附加部分的后续段(Seg#1-Seg#3)之间进行区分,在例如信息块 302和304中通过信号分别指示了不同的段类别。由于数据帧的起始(即 必要信息)被放置在图3a中的Seg#0,需要使用数据帧中跟随必要数据 之后的数据来填充Seg#-1。因此,使用当前数据帧的比特流数据 (Xi+1...Xj)的一部分来填充由前一个数据帧所留下的不完整的前一段 Seg#-1的剩余部分。图3a中的包含在数据帧的第一段的信息块302中的 偏移指针303指向前一段Seg#-1中该数据的起始。以下给出aacPlus比特 流的压缩音频帧在具有固定长度的数据段和包括8个比特的信息块中 传送的具体实施例。

在另一个实施例中,Seg#0的信息块具有随每个新的数据帧而增 加的帧计数值。这样的机制允许在更多段丢失的情况下进行重新同步。 不属于数据帧的起始处的其他段的信息块(例如304)与第一段的信息 块302不同。

图3b和图3c更清楚地定义了在数据帧包括压缩音频数据的示例 下信息块的不同方面。

图3b示出了包括数据Xj+1...Xk及其信息块304的Seg#1和包括数据 Xk+1...Xl及其信息块306的Seg#2的一部分以及Seg#0的一部分。在本示 例中,压缩音频数据被组织在不同的比例因子带SFB中,包括编码为 码字CW的帧的频谱值,所述频谱值按对应的频率值按升序排列。在 信息块304之后,Seg#1的第一数据包括属于比例因子带SFBa的码字 CWz-1和码字CWz。属于该比例因子带的剩余码字在前面的段Seg#0中, 其中示出了最后的码字CWz-1。下一个比例因子带SFBa+1带有码字 CW0、CW1......,起始于位置Xb。信息块304包括关于比例因子带SFBa+1的起始点的信息(即比特值Xb)和用于标识比例因子带的信息Ib。另 一个比特指示位置Xb是在Seg#1内的指针,即它是指向信息块所关联 的相同段的前向指针。这个1比特的信号在本实施例中的值为0。下一 段Seg#2具有信息块306。该信息块再次包含入口点Xc的比特值和信息 Ic以及1比特信号,信息Ic标识了入口点所属的比例因子带,该1比特信 号的值为0,再次指示位置Xc是指向当前段Seg#2的指针(这个位置在 图中没有示出)。

图3c更详细的解释了信息块302,信息块302是包括数据X0...Xi的 Seg#0的信息块。该信息块与属于当前帧的所有其他信息块不同。图3c 示出了Seg#0和包括数据Xi+1...Xj的Seg#-1以及Seg#1的一部分。在本发 明的实施例中,数据帧的第一数据在Seg#0中,起始于辅助信息块 (SIDE INFO),跟着是频谱数据,频谱数据再次被组织在随后的包括 被编码为码字的帧的频谱值的一系列比例因子带中。第一比例因子带 SFB1包括码字CW0、CW1等。段Seg#0包括上至属于比例因子带SFBa的码字CWa的频谱数据,后续的码字包括在Seg#-1中,即从码字CWa+1、 起始,跟着是码字CWa+2......。在这种情况下,信息块302中的指针不 指向Seg#0中的位置,而是包括关于码字CWa+1起始处的位置Xa的信 息。段Seg#-1具有信息块301,信息块301包括指针Xp以及信息Ip,指 针Xp给出了入口点起始处的比特值,信息Ip标识了对应比例因子带。 在点Xa之前的频谱数据不属于当前数据帧。信息块302还包括帧计数 值f#,帧计数值f#为每个数据帧分配值。在本发明的实施例中,这个 帧计数值在特定值之后循环,即它只为属于一组数据帧的数据帧分配 不同的计数值。在下面给出的示例中,这组数据帧包括6个帧,即该计 数值包括数字0...5。信息块302还包括1比特信号,该1比特信号将该信 息块标识为包括指向比特流中的位置的指针的信息块,其中当前帧的 数据被存储在所述位置之后。因此,对应的指针反向指向前一段 Seg#-1。在本实施例中,它的值为1,因此信息块302不同于信息块304 和在该数据帧内的所有其他信息块(例如304),在这些信息块中1比特 信号的值为0。

概括而言,在本发明的优选实施例中,传送的数据是压缩音频数 据,图3a-3c示出了一个音频帧和根据本发明的传输信息一起被嵌入固 定段长度的传送信道中。在每个段中,少量传输信息位于存储在该段 中的原始音频数据之前。在本发明中,音频帧总是起始于新的段Seg#0, 避免了在单个段丢失的情况下必须隐藏两个连续音频帧的风险。有了 传输信息302和304,可以在包含新的音频帧的起始的数据段(Seg#0) 和包含示例性压缩音频帧的附加部分的后续段(Seg#1至Seg#3)之间 进行区分。这样的区分是通过在分别在传输信息302和304中通过信号 指示段类型来完成的(图3b、3c中的“0”或“1”值)。使用当前帧的比特 流数据的一部分来填充由前一个音频帧所留下的不完整的前一段 Seg#-1的剩余部分。图3a中的包含在音频帧的第一段的传输信息302 中的偏移303指向在前一段Seg#-1中该数据的起始处(图3c中的Xa)。 此外,在带有音频帧的起始的段的传输信息中,有图3c中的小的帧计 数器f#,帧计数器f#随着每个新的音频帧而增加。这样的机制使得可 在段丢失的情况下的迅速重新同步。由于有帧计数器f#,丢失的音频 帧的数量总是已知的,大大减少了错误的时间同步的问题。不属于音 频帧的起始的其他段的传输信息304不同于第一段传输信息302。下一 个可能入口点的指示(图3b中的“I”)以及指向属于通过信号指示的入 口点的位置的偏移(图3b中的Xb)允许解码器即使在前一段被错误传 送损坏的情况下也可以继续解码频谱数据。当频谱数据是用可变长度 码字编码的时可能会出现这样的情况。这可能需要信号对从段的起始 处到下一个可能的入口点的偏移做出比特精度的指示,这增加了需要 通过信号指示的位置的数量。不必考虑对所用可能的入口点指示和入 口点偏移的组合进行信号指示。为了保持低开销,只对包括最可能的 值的子集进行信号指示也是可能的,这将造成需要被完全隐藏的帧的 数量的减少,因而提高所感知的音频质量。

在图4中示出了部分隐藏的优点。图4示出了以音频帧为例的3个 连续数据帧的频谱表示:数据帧401、数据帧402和数据帧403。在本示 例中,数据帧402中的数据段由于错误传送而丢失,而前一数据帧401 和下一数据帧403没有错误。通常,或者整个数据帧402丢失,或者在 最好的情况下,在对应于丢失数据段的频谱位置之后的所有频谱数据 不可用并必须被估计。根据本发明,用于提取数据(例如解码频谱数 据)的关于可能入口点的附加信息允许跳过损坏的段(例如在解码过 程中),只丢失一小部分数据(例如频谱数据)。在前一数据帧401和后 一数据帧403的已知数据(例如频谱数据)的帮助下,必须通过错误隐 藏算法计算频谱数据的丢失部分的替换。在数据帧表示压缩音频帧的 示例中,公知的隐藏方法是在完整的音频帧之间插值数据或将错误部 分替换为噪声信号或简单地对输出进行消音。具体的选择取决于具体 情况,例如,噪声替换是否可以容许,或是否有足够的可用资源用于 进行精密的插值算法。

图5示出了数字化数据流500的实施例,其中信息块携带关于可能 的入口点的信息。数据流500包括具有信息块505的段510、具有信息块 515的另一段520以及随后的具有信息块525的段。数据流500的信息被 组织在码字中,第一码字530起始于前一段,因而没有被完全示出,下 一个码字是535,跟着是码字550,码字560在段510和520的段边界上延 伸,最后描述的码字是码字570,它起始于段520中并延伸至下一个段 (在图5中未示出)。信息块505携带了关于可能的入口点的信息,用于 例如在前一段丢失时,解码器可以继续解码数据。在优选实施例中, 信息块中的信息并不指向给定段的第一码字,而是指向比例因子带的 起始处的第一码字。在图5所示的示例中,比例因子带起始于点540, 信息块具有指针505,指向表示新的比例因子带的数据的入口点。在段 520的信息块515中,指针565指向码字570起始处的入口点。同样,这 个入口点优选地表示比例因子带的起始点,即数据流中新的比例因子 带起始的比特,参照图3a-3c的上下文中的讨论。在图5所示的示例中, 码字570延伸至下一个段,信息块525给出了指针575,指针575指向了 本码字结束而新的码字起始的点。

图6示出了包括8个比特610...680的信息块600的示例。其中一个 比特,例如610,通过信号指示了剩余的比特620...680是否携带了关于 数据帧的起始点的信息,或剩余的比特620...680是否携带了关于可能 的入口点的信息,即是否定义了指向段的指针。若以比特计的段的大 小大于7个比特,某些可能的入口点的位置不能被编码在信息块中。因 此,对于特定段,可能发生没有定义入口点的情况。以下给出这样的 信息块的具体实现。

图7给出了由例如MPEG HE acc之类的音频编码器所产生的数据 帧700的示意图。在这种情况下,来自音频编码器的每个数据帧包括 Side Info数据,Side Info数据包括解码器正确解释数据帧所需的必要信 息,例如编码格式和码查找表,码查找表组合了指示随后的频谱数据 的起始比例因子带的特定比例因子带索引的值。Side Info数据位于数 据帧的起始处,跟着是主要信息部分,主要信息部分包含编码为可变 长度码字并被组合到不同比例因子带的频谱数据,比例因子带包含帧 的频谱值,比例因子带使用比例值被重新缩放并编码为码字,码字按 其对应的频率值的升序排列。在图7中,只示出了3个码字,码字710、 码字720和码字730。

概括而言,本发明定义了一种新的有效的传输格式。它显著降低 了在容易出现错误的信道中丢失数据的量,并尤其适合传送压缩音频 数据。这是通过在容易出现错误的信道中所传送的每个段中添加附加 信息来实现的,该信息特别地指示了用于继续解释数据输出的入口点。 优选地,这些入口点是起始比例因子带的第一码字。比例因子带定义 了频谱表示中的范围的比例值,包含编码为码字的帧的频谱值,这些 码字被排序,码字的顺序由从低到高的频谱值的顺序给出。关于入口 点的信息给出了新的比例因子带起始的数据流比特,并给出了这是哪 个比例因子带。通过选择这些入口点,必须传送的信息变少,从而减 少了开销。基本上,也可以采用其他码字,但是这样则必须传送其它 信息以便识别比例因子带内的码字。在非常高效的编码中,信息块只 包括单个字节或几个很少的字节。由于低开销,也许不可能指示所有 的入口点或只能指示入口点的某些特定位置。例如,若信息块的比特 数很少,只能指示段的一部分的位置。在这种情况下,不能给出入口 点,信息块保持为空或给出忽略(escape)值。

本发明的实施例通过为不同数据帧分配不同的计数值,提供了关 于数据帧数量的另一信息。通过解释这些计数值,可以识别丢失数据 帧的数量。从而大大减少错误时间同步的问题。在本发明的进一步的 实施例中,进行了数据的重新排序,这样做的优点在于,如Side Info 数据这样的重构整个帧所需的最重要的信息被放置在单个段中,因而 减少了丢失整个帧的可能性。

在其它实施例中,信息块包括附加冗余信息,以便识别传送后错 误的段。这可以是例如CRC、奇偶校验比特等。这样的错误检测是在 例如ADTS或LOAS的下层传输协议的通常错误检测机制之外的。此 外,在优选实施例中,以比特计的信息块的大小对于所有信息块都是 固定的。由于在优选实施例中段的大小也是固定的,这意味着存储在 每个段中的数据也具有固定的大小。

在数据帧表示压缩音频帧的示例中,公知的隐藏方法是在完整的 音频帧之间插值数据或将错误部分替换为噪声信号或简单地对输出进 行消音。具体的选择取决于具体情况,例如,噪声替换是否可以容许, 或是否有足够的可用资源用于进行精密的插值算法。通过解释完整帧 的计数值,可以识别多个错误帧并对多个错误帧实施错误隐藏。错误 隐藏可以针对压缩音频数据,通过例如替换对应的码字,或在解码后 替换对应音频信号的错误部分来进行。

本发明的实施例的最显著的优点在于,在最好的情况下,错误的 段只造成在该段中所传送的数据的丢失,帧的所有剩余数据可以通过 采用错误隐藏进行重构。

在其他实施例中,段的大小可以是下层传输协议的段的大小的倍 数。这样的选择性实施例的优点在于,由信息块造成的开销小于段大 小等于下层传输协议的段大小时的开销。然而,它的缺点在于可能丢 失更多数据。

为了在进一步的实施例中进一步明确上述发明,详细描述aacPlus 比特流的压缩音频帧在具有固定长度的数据段中的传送。在本示例中, 数据段的长度是168比特,每20ms有新的数据段到达。因此,总的数 据速率是168bit/20ms=8400bit/s。每20ms,段起始于一个字节的信息块。 aacPlus音频帧总是在带有aacPlus Side Info数据(包括解码AAC频谱数 据所需的side info数据)的信息块之后立即起始。aacPlus Side Info数 据自后是AAC频谱数据。频谱数据被从谱线0向上至最大谱线进行排 序。

若包括aacPlus side info的20ms段丢失,整个音频帧需要由aacPlus 解码器进行隐藏。然而,若不包括aacPlus Side Info的一个20ms段丢失, 则只需要隐藏部分频谱。这是可能的,因为信息块包括了指明由这 20ms段所覆盖的频谱部分的信息。

数据段的结构如表1所示,表2示出了信息块的结构。该解决方案 通过伪代码进行描述:

 

比特数备注segment(){  transport_header()8  raw_payload()160}

表1-一个20ms段的结构

 

比特数备注if(audio_frame_start){1   framecnt_offset_code7}else{   scfb_offset_code[seg] 7 码表的选择取决 于段,从当前帧的 第一段开始计数}

表2-transport Header()

表中的表达式包括了以下信息。

raw_payload()包含原始aacPlus音频载荷数据。解复用器应连接属 于一个音频帧的原始载荷块,并将完整的原始音频帧送至aacPlus解码 器。

transport_header()包含解复用器识别音频帧的边界所需的所有信 息,以及当传送出现错误的情况下丢失的音频帧的数量和丢失频谱的 部分。关于丢失数据的信息应被送至解码器,以便采用高级隐藏算法。

audio_frame_start是指示aacPlus音频帧的起始边界的标志位,即例 如,若这个值为真,它表示Seg.#0的信息块(见图3a),若这个值例如 为假,则该信息块属于数据帧的剩余段之一。

framecnt_offset_code是将范围0-5的aacPlus帧计数值framecnt和范 围0-20的偏移值的进行组合的码。该码被添加到例如信息块302中,由 下列方程计算:

码=21×framecnt+偏移。

根据上述framecnt的范围和偏移的范围,该码有126个可能的值, 可以由分配给信息块中的framecnt_offset_code的7个比特编码。aacPlus 音频帧序列计数值能够指明丢失的音频帧的数量。它对每个音频帧加 1。音频帧计数器framecnt以值6循环,即最大值为5。偏移值指向前一 20ms段的频谱数据内容。它使用以字节给出的值进行反向指向,偏移 值为0指示了前一20ms段不包含属于该音频帧的频谱数据。

例如,scfb_offset_code[seg]被添加到例如信息块304,由码查找 表指定,码查找表对指示了后续频谱数据的起始比例因子带的特定比 例因子带索引加上指向当前段的频谱数据内容的偏移指针的值进行组 合。码查找表取决于跟随音频帧起始段的段的数量。码与包含在相同 数据段中的频谱数据相关。偏移值使用以比特给出的值进行前向指向, 偏移值为0指示了没有偏移存在。若起始比例因子带索引和偏移值由于 其值不包含在查找表中而不能被编码,将使用忽略值来指示当前数据 段不能被编码,需要隐藏对应的频谱范围。

对于传送压缩音频数据的优选实施例,本发明可概括如下。

本发明提供了一种用于存储或传送数据的方法,具有以下步骤。 来自连续发送源的可变帧大小的数据帧被封装到大小平均而言小于或 等于数据帧的段中,所有段具有相同的大小,大小平均而言或总是小 于或等于数据帧的大小。接着,所有段携带信息,以便通过信号指示 帧的起始处,并使用附加信息通过信号指示包含前一帧包含当前帧的 一部分。关于错误的段的信息或由下层传输或存储机制给出,或通过 在段中添加冗余来确保,例如添加CRC、奇偶校验比特等。

此外,可以给出关于帧的定时或重放顺序的进一步信息,例如循 环的序列号。

优选地,最重要的信息集中在单个或仅仅几个字节中。

不包含帧的起始的段携带附加信息,附加信息指导数据流的出 口,以便在即使段在传送或存储过程中丢失的情况下解码当前段的数 据。

仅在最大可能性减小传输开销的情况下添加用于指导数据流的 出口以便在即使段在传送或存储中过程丢失的情况下解码当前段的数 据的附加信息。

在处理过程中嵌入的附加信息被编码用于例如使用自适应码表 来减少冗余,使用霍夫曼或类似编码将多个符号组合为单个码字。

数据源可以是基于转换的音频编解码器,可以使用或不使用带宽 扩展。

解码器可使用关于错误段的信息,以便仅对信号的丢失部分实施 隐藏。

整个封装方法不需要任何数据传输的知识,所添加的信息由编码 器取出并送至解码器。

因此,本发明包括传输机制,允许将具有可变帧长度的压缩数据 封装入固定长度的数据段。它提供了信号指示(Signaling)装置,用 于在传输错误的情况下实施音频频谱的部分隐藏,而仅增加了非常低 的传输开销。这允许解码器在传输错误的情况下进行具有精确时间对 齐的快速重新同步。它也加入了对错误传播的预防。本发明不要求原 始压缩数据格式的变化,使得可以实现低复杂度而“简单设计”的解 决方案。

根据发明方法的特定实现方式的要求,发明方法可以使用硬件或 软件实现。可以使用数字存储介质实现,特别是其中存储有电可读控 制信号的磁盘或CD,数字存储介质与执行本发明方法的可编程计算机 系统协作。因此,一般地,本发明是具有存储在机器可读载体上的程 序代码的计算机程序产品,当计算机程序产品在计算机上运行时,程 序代码可以运行以执行本发明方法。也就是说,因此,本发明方法是 计算机程序,所述计算机程序具有程序代码,用于当所述计算机程序 在计算机上运行时执行至少一个本发明方法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号