椎体矢量量化器形状搜索的制作方法

文档序号:9673126阅读:439来源:国知局
椎体矢量量化器形状搜索的制作方法
【技术领域】
[0001] 本公开总体涉及由编码器执行的矢量量化(VQ)。
【背景技术】
[0002] 己知非约束矢量量化是用于特定长度的群组样本(即,矢量)的最优量化方法。然 而,非约束矢量量化的实施需要对于复杂度和存储器容量的高要求。对于还能够在具有存 储器和搜索复杂度限制的情况下实施矢量量化的期望己经使得开发出所谓的结构矢量量 化器。不同结构给出在搜索复杂度和存储器要求方面的不同权衡。这样的一种方法是所谓 的增益-形状矢量量化,其中,使用形状矢量X和增益值G来表示目标矢量t:
[0003]
[0004] 増益-形状矢量量化的概念在于量化对G}而不是直接量化目标矢量t。使 用针对归一化的形状输入的形状量化器以及处理信号的动态变化的增益量化器对增益(G) 和形状(X)分量进行编码。经常在音频编码中使用该增益-形状结构,因为到动态变化和 形状的划分(还被称为精细结构)良好地适应听觉模型。增益-形状概念还可以应用于离 散余弦变换系数或在视频编码中使用的其它系数。
[0005] 许多语音和音频编解码器(诸如ITU-TG. 718和IETFOpus(RFC6716))使用基于 结构化PVQ的增益-形状VQ,以对目标语音/音频信号的频谱系数进行编码。
[0006] PVQ编码概念由R.Fischer在1983年至丨986年间引入,并从那以后随着更高效的 数字信号处理器(!)SP)的出现而发展为实际使用。PVQ编码概念涉及利羯K个单位脉冲的 整数L1-范数对N维超椎体上的点进行搜索、定位并且隨后编码。所谓的L1-范数是矢量 的绝对值的和,即,带符号整数PVQ矢量的绝对和被限制为精确的K,其中,单位脉冲由整数 值"1"表示。相对于只能表示非负整数的无符号整数而言,带符号整数能够表示负整数。
[0007] 与许多其它结构化VQ相比,结构化PVQ-编码方法的一个优势在于在维度N方面 不存在固有限制,从而为PVQ-编码开发的搜索方法应该可以应用于任意维度N和任意K 值。
[0008] 与结构化PVQ…形状量化相关的一个问题在于使用合理程度的复杂度来找到可能 的最好的量化矢量。对于较高速率的语音和音频编码而言,当可允许的单位脉冲的数目K 变得非常高并且维度N也变得非常高时,更加需要一种有效的PVQ-搜索并同时保持重构语 音/音频的质量(例如信噪比(SNR))。
[0009] 此外,PVQ概念的使用不限于语音和音频编码领域。当前,所谓的互联网工程任务 部(1BTF)正在寻求使用基tPVQ的算法对興散余弦变换(DCT)糸数进行编码的视频编解 码开发。视频编码与音频编码相比更需要高效的搜索处理,因为对于大显示器而言系数的 数目可能变得非常大。

【发明内容】

[0010] 对于结构化PV(h期望实现计算上更高效的形状搜索并仍然保持高的信噪比。尤其 针对涉及固定精度DSP的实施。本文提供的方案通过提供改进的PVQ精细搜索来实现计算 高效的PVQ形状搜索。
[0011] 根据第一方案,提供了一种用于由编码器执行的PVQ形状搜索的方法。假设所述 PVQ涉及采用目标矢量X作为输入,通过在内部维度搜索循环中迭代地添加单位脉冲来获 得矢量y_。提供的方法包括:在进入用于单位脉冲添加的下一个内部维度搜索循环之前:基 于当前矢量y的最大脉沖幅度maxainpy,确定是否需要多于当前比特字长来以无损方式表示 变量enloopy。在即将到来的内部维度循环中,变量enloopy与y的累加能量相关。
[0012] 根据第二方案,提供了一种用于PVQ形状搜索的编码器。假设所述PVQ涉及采用 目标矢量X作为输入,通过在内部维度搜索循环中迭代地添加单位脉冲来获得矢量y。提 供的编码器包括:在进入用于单位脉冲添加的下一个内部维度搜索循环之前:基于当前 矢量y的最大脉冲幅度maxampy,确定是否需要多于当前比特字长来以无损方式表示变量 enloopy。在即将到来的内部维度循环中,变量enj_oop^_y的累加能量相关。
[0013] 所述方法可以包括并且所述编码器可以被配置为:在进入用于单位脉冲添加的下 一个内部维度循环之前:基于输入矢量X的最大绝对值xabs_,确定比特字φ的X和矢量y 之间的下一个循环累加循环内相关值corriy的可能上移。
[0014] 所述方法可以包括并泪.所述编码器可以被配置为:当需要多于当前比特字长来表 示en:loopy时,使用更长比特字长执;行内循环计算以表示en:loopy〇
[0015] 所述方法可以包括并且所述编码器可以被配置为:当需要多于当前比特字长来表 示enloob时,使用更长比特字长执行内循环计算以表示内循环中的X和矢量y之间的平 方累加循环内相关值c〇rrxy2。
[0016] 所述方法还可以包括并且所述编码器可以被配置为:当不需要多于当前比特字长 来表示enloop^,通过采用使用第一比特字长表示enloop濟第一单位脉沖添加循环来 执行内循环计算,以及,当需要多于当前比特字长来表示enloop^i;通过采用使用比第一 单位脉冲添加循环更长的比特字长表示enl〇〇b的第二单位脉冲添加循环来汍行内循环计 算。
[0017] 基于maxampy确定是否需要多于当前比特字长来表示enloopy可以包括:确定在即 将到来的内部搜索循环中,单位脉冲被添加到与maxampdg关联的y中的位置的情况的特 性。
[0018] 所述方法还可以包括并且所述编码器可以被配置为:在羯于单位脉冲添加的内部 维度搜索循环中:通过将针对y中的每个位置η的当前η的相关性和能量值的交叉相乘以 及根据η的先前值保存的-f'方相关性BestCorrSq和能童值bestEn评估为下式,来确定用 于添加单位脉冲的y中的位置nb_:
[0019] cor:rXY'_*best.En>BestCorrSq*enloopY
[0020] 其中,当corrxy2*bestEn>BestCorrSq*enloopyN
[0021] 所述方法还可以包括并且所述编码器可以被配置为:当与目标矢量x相关联的 最终值K超过阈值特,跟踪maxamiv这里,所述方法可以包括并且所述编码器可以被配置 为仅在K的当前值超过可以作为在以上句子中提到的阈值的阈值时才计算能量余量en"margin"
[0022] 根据第:Ξ;方案,提供一种包括根据第二方案所述的编码器的通信设备。
[0023] 根据第四方案,提供一种包括指令的计算机程序,其中,当所述指令被至少一个处 理器执行时,使所述至少一个处理器执行根据第一方案所述的方法。
[0024] 根据第il方案,提供一种包含根据第四方案所述的计算机裎序的载体,其中,所述 载体是电子信号、光信号、无线电信号或计算机可读存储介质中的一个。
[0025] 根据第六方案,提供一种被配置用于PVQ形状搜索的编码器,所述PVQ采用目标矢 量X作为输入,并通过在内部维度搜索循环中迭代地添加单位脉冲来获得矢量y。提供的编 码器包括第一确定单元,用于:在进入用于单位脉冲添加的下一个内部维度搜索循环之前, 基于当前矢量y的最大脉冲幅度maxamp,,确定是否需要多于当前比特字长来在即将到来的 内部维度循环中以无损方式表示与y的累加能量相关的变量enlooPy。
[0026] 根据第六方案所述的编码器还可以包括第二确定单元,用于:在进入用于单位脉 冲添加的下一个内部维度循环之前:基于输入矢量X的最大绝对值xabs_,确定比特字中 的X和矢量y之间的下一个循环累加循环内相关值corrx:y的可能上移。
[0027] 根据第六方案所述的编码器可以包括精细搜索单元,用于;当需要多于当前比特 字长来表示enloopjf,使用更长比特字长表示enloopy来汍行内循环计算。
[0028] 根据第六方案所述的编码器可以包括精细搜索单元,用于:当不需要多于当前比 特字长来表示enloop5M',通过采用使用第一比特字长的第一单位脉冲添加循环来执行内 循环计算,以及,当需要多于当前比特字长来表示enloop#,通过采用使用比第一单位脉 冲添加循环更长的比特字长的第二单位脉冲添加循环来执行内循环计算。
[0029] 根据第六方案所述的编码器可以包括精细搜索单元,用于:当不需要多于当前比 特字长来表示enloop#〗%通过采用具有特定精度的第一单位脉添加循环来执行内循环 计算;以及,当需要多于当前比特字长来表示enloopji,通过采用具有比第一单位脉冲添 加循环更高的精度的第二单位脉冲添加循环来执行内循环计算。
[0030] 根据第六方案所述的编码器可以被配置为执行:通过确定在即将到来的内部搜索 循环中単位脉冲被添加到与maxampdg关联的y屮的位置的情况的特性:^来基于inaxampy. 定是否需要多于当前比特字长来表示enl〇〇py。
[0031] 根据第六方案所述的编码器可以包括精细搜索单元,用于r在用于单位脉冲添加 的内部维度搜索循环中;通过将针对y中的每个位置η的当前η的相关性和能量值的交叉 相乘以及根据η的先前值保存的相关性BestCorrSq和能量值bestEn评估为下式,来确定 用于添加单位脉冲的y中的位置
[0032] corrxy2*bestEn>BestCorrSq*enloopy
[0033] 其中,当carrx/*bestBn>BestCorrSq*enloopy时
[0034]
[0035] 根据第六方案所述的编码器可以包括存储单元,周于:当与目标矢量x相关联的 最终值K超过_值时,跟踪maxaEnpy〇
[0036] 根据第七方案,提供/ 一种包括根据第六方案所述的编码器的通信设备。
【附图说明】
[0037] 从以下在附图中示出的实施倒的更具体地描述中,本文公开的技术的以上和其它 目的、特征和优点将是清楚的。附图不需要按比例绘制,而是可以突出齡图以示出本文公开 的技术的原理。
[0038] 图1至图4示出根据不同示例实施例的用于PVQ形状搜索(精细搜索)的方法。
[0039] 图5示出根据示例实施例的PVQ形状搜索(精细搜索)的实施例的步骤。
[0040] 图6更详细地示出根据示例实施例的图5的PVQ形状搜索(精细搜索)的步骤。 [0041 ] 图7示出PVQ形状搜索的实施例。
[0042] 图8示出配备有EVS编码器的通信设备的实施例。
[0043] 图9示出通信设备的实施例,以及
[0044] 图丨0也示出通信设备的实施例。
[0045] 图11a至图11c示出根据示例实施例的编码器。
[0046] 图12示出PVQ音频编码系统的示例,其中,系统的至少一部分包括在编码器和/ 或编解码器中,所述编码器和/或编解码器转而包括在通信设备(诸如移动电话)中。
【具体实施方式】
[0047] 在浮点算法中,不存在与建立内循环PVQ形状搜索迭代参数的动态变化相关的主 要问题,然而,在具有例如16/32比特限制的累加器(存储有中间算法和/或逻辑结果的寄 存器)和变量的固定精度的DSP中,采?高效搜索方法是很重要的,在该方法中,DSP变量 的有限动态范围被最大化并且精度被最大化,同时也能够使用尽可能多的可用快速有限动 态范围的DSP运算。
[0048] 以上术语"精度"指的是能够表示尽可能少的数目,即,在针对特定字长的小数点 后的位的数目。换句话说,精度对应于表示的精确度,其同样也由十进制数或二迸制数的数 目定义。在卜文描述的买施例中可以将精度阐述为与小数点zJs的位的数目相关而不必须 与其自身的字长相关的原因在于,在定点算法中,对于相同字长可能存在不同的精度。例 如,数据格式1Q〗_5和2Q14的字长均为〗_6,但是前者在小数点之后具有15位,而后者具有 14位。它们可以表示的最小数字将分另I]是2 ;5和2 M。
[0049] 在Valin等人的"Afull-bandwidthaudiocodecwithlowcomplexityand verylowdelay",EUSIPCO, 2009中的章节3, 2中公开了执行形状的椎体矢量量化的一种 方式。在该文档中,提出了一种MDCT编解码器,其中,使用球形码本来对每个带中的细节 (即,形状)进行代数量化^并且故编码器和解码器之间共享的信息推导出位分配。本Φ请 的公开的多个方案和实施例至少粗略地涉及如何通过受限于例如16/32位算法的定点的 高效方式而非Valin等人的浮点值来进行根据Valin等人的等式4-7的搜索。
[0050] 在下文公开的一些方案和实施例中,给出特定维度N的目标矢量x(n)(等式 〇中的t) ^并给出单位脉冲的特定数目K,分析形状并且确定合适的重构矢量xq(n)= func(y(η)):>其最小化形状量化误差并从而最大化例如在音频编码的情况下的感知质量。 所述方案和实施例中的至少一些被实施为目的在于在需要依附于Li范数的矢量y(η)中找 至UK个单位脉冲的最优星群^并同时使复杂度在控刺之中肩,在实践中尽可能低。
[0051] 作为使用现有技术的开放环路方法来确定内循环动态范围和累加器精度的替代, 所述方案和实施例的一些被设计为在开始最内侧I搜索循环中的PVQ-形状失真商的高成本 评估之前,使用低成本(在需要的DSP周期方面以及在需要的闕加程序只读存储器(ROM) 方面)对最差情况分子和/或最差情况分母进行"接近最优"預分析。"接近最优"预分析 的目的不在于将值缩放至精确的最优最大动态范围:> 相反预分析确定接近最优的以2为 幂的标度因子,因为以2为幂的标度可以被实施为二进制数的移位并且这种移位在DSP周 期和DSPROM中具有低成本。
[0052] 感知地激发分母精度选择,因为与较平坦的区域相比,将更精确地分配频谱峰值 区域。
[0053] 虽然在本公幵中描述的主要概念覆盖各种修改和备选结构,但是在附图和示例性 代码中示出多方面的实施例,并且将在下文进行详细描述。
[0054] 削二搜索总体體遞.
[0055] -种L1-范数结构化的PVQ-量化器允许若〒搜索优化,其中,首要优化
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1