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

文档序号:9673126阅读:来源:国知局
如前所述,优选在用于单位脉冲添加的内部维度搜索循环中避免执行等式8的除 法。因此,可以执行如等式10中所示的交叉相乘。也就是说 ?可以通过将针对y中的每个 位置η的当前η的相关性和能量值的交叉相乘以及根据η的先前值保存的"目前为止最佳" 的相关性BestCorrSq和"目前为止最佳"的能量值bestEn评估为下式,来确定针对添加单 位脉冲的y中的位置nbE5t:
[0185] cor:rXY'_*best.En>BestCorrSq*enloopY
[0186] 其中,当corrx/*bestEn>BestCorrSq*enloopv时,
[0i87]
[0188] 位置nbESt可以指用于添加单位脉冲的y中的"最佳"位置。应注意的是,可以使 用"多"来替代以上表达式中的">"。然而,当试图将计算成本保持为尽可能低时优选使用 即,"大于"。
[0189] 根据上述任意实施例的方法的执行使得该交叉相乘能够以高效方式(例如,不使 用比实际需要的更高的精度)来执行。
[0190] 实施方式
[0191] 以上描述的方法和技术可以被实施在编码器或编解码器中;所述编码器或编解码 器可以包括在例如通信设备中。
[0192] 编码器,图11a至图11c
[0193] 在图Ua中以概述方式示出编码器的示例实施例。编码器可以是媒体编码器,被 配置为对音频和/或视频信号进行编码。编码器1100被配置为执行以上参照图1至图5 中的任意一个描述的方法实施例的至少一个。编码器1100与前述方法实施例的相同技术 特征、目的和优点相关联。在一些实施中,编码器与存储器和/或复杂度方面的约束相关 联,诸如当编码器被配置为具有固定精度的DSP时。将简要地描述编码器以避免不必要的 重复。
[0194] 编码器可以被实施为和/或描述为如下:
[0195] 编码器1100被配置用于椎体矢量量化,包括所谓的精细搜索或精细形状搜索,其 中,椎体矢童量化器(PVQ)被配置为采用目标天量X作为输入,并通过在内部维度搜索循环 中迭代地添加单位脉冲来获得矢量_y_。输入矢量X具有维度N和L1-范数K。编码器1100 包括处理电路,或处理装置1101和通信接口 1102。处理电路1101被配置为使得编码器 1100在进入用于单位脉冲添加的下一个内部维度搜索循环之前:基于当前矢量y的最大脉 冲幅度maXampy,确定是否需要多于当前比特字长来在即将到来的内部维度循环中以无损 方式表不与y的累加能量相关的变簠euloopy?还可以表不为例如输入/输出(I/O)接口 的通信接口 1102包括用于将数据发送到其它实体或模块或者从其它实体或模块接收数据 的接口。
[0196] 如图Ub中所示,处理电路110丨可以包括诸如处理器1103(例如CPU)的处理装 量以及用于存储或存指令的存储器1104。存储器随fe将包括计算机程序1105形式的指 令,当该指令被处理装置1103执行时使编码器1100执行上述动作。 I0197J在图11c中取出处理电路il〇l的备选实施。这里,处理电路包括确足单兀1106, 被配置为使得编码器ii〇o在进入用于单位脉冲添加的下一个內部维度搜索循环之前:基 于当前矢量y的最大脉冲幅度inaxampy,确定是否需要比当前比特字长所允许的更高精度来 在即将到来的内部维度循环中以无损方式表示与y的累加能量相关的变量enloopy。处理 电路1101可以包括更多单元,诸如精细搜索单元1107,被配置为使得编码器运行具有特定 比特字长和/或特定精度的内部维度循环。
[0198] 上述编码器可以被配置为?于本文描述的不同方法实施例;诸如用于当确定需耍 多于当前比特字长来表示enloop^i,使用表示enloopy可能的corr的和更长比特字来 执行内循环计算。这里,"更长"表示比当前或初始比特字长更长。
[0199] 编码器11〇〇可以被假设为包括用于执行普通编码器功能的其它功能。
[0200] 上述编码器可以包括在诸如通信设备的设备中。通信设备可以是移动电话、视频 相机、录音机、平板、台式电脑、膝上型电脑、TV机顶盒或家庭服务器/_家庭网关/家庭接入 点/家庭路由器形式的用户设备(UE)。在一些实施例中,通信设备可以适于编码和/或转 码的通信网络设备。这种通信网络设备的示例是诸如媒体服务器、应用服务器、路ffi器、网 关和无线电基站的服务器。通信设备还可以适于布置在(即嵌入在)诸如船只的船舶、无 人飞机、飞机和诸如汽车、巴士或卡车的路面车辆中。这种R入式设备通常属于车辆通信单 元或车辆信息娱乐系统。
[0201] 可以使用任何传统技术(诸如离散电路或集成电路技术,包括通用电子电路和专 用电路两者)将本文描述的步骤、功能、处理、模块、单元和/或块实施为硬件。
[0202] 特定示例包括一个或多个适当配置的数字信号处理器和其它己知电子电路,例 如,相互连接以执行专用功能的离散逻辑门或者专用集成电路(ASIC)。
[0203] 备选地,上述步骤、功能、处理、模块、单元和/或块中的至少一些可以实施为诸如 计算机程序的软件,用于被包括一个或多个处理单元的合适处理电路执行。在通信设备中 使用计算机程序之前和/或期间,软件可以由诸如电子信号、光信号、无线电信号或计算机 可读存储介质的载体承载。
[0204] 当被一个或多个处埋器执行时,本文提出的流程图可以被视为计算机流程图。相 应的装置可以被一组功能模块定义,其中,由处理器执行的每个步骤对应于功能模块。在此f肯况卜.,功能模块被实施为在处埋器上运行的1卞算机程序。将理解的是,功能模块小需要对 应于实际的软件模块。
[0205] 处理电路的示例包括但不限于一个或多个微处理器、一个或多个数字信号处理器 (DSP)、一个或多个中央处理单元(CPU)和/或诸如一个或多个现场可编程门阵列(FPGA) 或一个或多个可编程逻辑控刺器(PLC)的任何合适可编程逻辑电路。也就是说,上述不同 设备中的布置中的单元或模块可以被实施为模揽和数字电路的组合?和/或配置有例如存 储在存储器Φ的软件和/或固件的一个或多个处理器。这些处理器中的一个或多个以及其 它数字硬件可以包括在单个专周集成电路(ASIC)中;或者若干处理器和各种数字硬件可 以分布在若干单独组件中,不论是独立封装还是组装到片上系统(SoC)中。
[0206] 应理解,可以再利用实施有提出的技术的任何传统设备或单元的一般处理能力。 可以通过将现有软件再编程或者通过添加新的软件组件来再利用现有软件。
[0207] 其他示例实施例
[0208] 以稍微不同的方式进行说明,本文的公开涉及倒如以下方案和实施例。
[0209] 方案之一是编码器/编解码器,其中,编码器/编解码器被配置为执行例如在图5 至图6中示出的一个、多于一个或者甚至以下所有步骤:
[0210] -例如根据以上等式11和12(如一个实施例中的图5中的步骤S1所示)确定、计 算或获得输入目标矢重(x(n))的最大绝对值(xabssiax),
[02Π]-例如通过根据以下等式19(如一个实施例中的图5中的步骤S2所示)计算带 符号的32比特字中的下一个循环的累加循环内相关值的可能上移,至少基于最大绝对值 (xabs,"ax)来确定、计算或获得相关值的可能上移,
[0212] - _果最终的单位脉冲的数目(K)将以高于阈值(tp)(阈值可以例如是127个单 位脉冲)结束,则确定(例如跟踪/存储)根据以上的矢M(y(η))的等式26计算的最大 脉冲幅度(maxamPy)值/信息,其中,矢量(y(η))可以根据以上的等式13和14来定义,并 且
[0213] Ο例如通过根据以下的等式22和23的计算(如图6中的步骤S3所示),基于存 储的最大脉冲幅度确定/计算/决定/选择是否需要或者应该使周多于特定字长(例如, 多于带符号的16比特字或多于带符号的32比特字)来无损地或者不明显丢失任何能量信 息地表示内循环能量,
[0214] Ο如果需要多于特定字长,则通过多于特定字长(例如,32比特字或64比特字) 来表示最佳平方相关项/参数/值和最佳累加能量项/参数/值,
[0215] Ο如果需要少于特定字长运行第一循环;
[0216] Ο如果需要多于特定字长JI]运行第二备选循环,其具有通过多于特定字长字表 示的"目前为止最佳"(接近最优)的累加能量项和最佳平方相关项。
[0217] 与较低精度(即,相对于第二循环)的第一循环相比^第二循环可以是较高精度并 且在计算上更密集的高精度单位脉沖的循环。对内循环精度的基于循环内累加能量的选择 具有以下效果:具有高峰值或者具有极精细粒度(最终K是高的)的目标子矢量将或者可 以更频繁地使用较高精度循环和更多的周期/而非峰值或低脉冲粒度子矢量将或者可以更 频繁地使用较低精度循环和更少的周期。
[0218] 一个方案涉及如图9中所示的通信设备1,其包括用于视频或音频编码的编码器 或编解码器2 (例如EVS编码器)。
[0219] 编码器或编解码器可以全部或者部分地实施为位于通信设备中的DSP。在一个 第一实施例中,编码器/编解码器被配置为基于目标子矢量(X(η))、有限单位脉冲的数目 (Κ)、目标子矢量的子矢量维度值(Ν)以及可选的还有一个或多个增益值(gsub),来进行PVQ 形状搜索。编码器或编解码器还可以被配置为进行PVQ带分割,并且在此情况下,PVQ形状 搜索还将基于带(Ns)的子矢量的数目/值以及增益矢量G的最大增益(8_-^8^(6)= max(g。. . .g(N5 ())。编码器或编解码器还被配置为从PVQ形状搜索输出将被编码器用于PVQ 索引化的整数矢量(y)和/或形状子矢量(Xq (η))。整数矢量(y)包括元素值并且具有与 子矢量维度值(N)相同的长度,并且所有元素值的绝对和等于单位脉冲的数目(K)。
[0220] 编码器/编解码器/通信设备被配置为执行PVQ形状搜索,其中,编码器/编解码 器/通信设备被配置为:
[0221] -例如根据以上等式11和12确定、计算或获得(S1、S23)输入(目标)矢量(X(η)) 的最大绝对值(xabs"iaJ,
[0222] -例如通过根据以上等式〗_9计算带符号的32比特字中的下一个循环的累加循环 内相关值的可能上移,至少基于最大绝对值(xabs^)来确定、计算或获得(S2、S28)相关值 的可能上移;
[0223] -如果最终的单位脉冲的数目(K)将以高于_值(tP)结束,则跟踪/存储(S30) 根据例如以上矢量(y(η))的等式26计算的最大脉冲幅度(maxampy)值/信息,其中,矢量 (y(η))可以根据以上等式13和14来定义^并且
[0224]Ο例如通过根据以上等式22和23的计算,基于存储的最大脉冲幅度确定/计算 /决定/选择(S3、S32)是否需要或者应该使用多于特定字长(倒如,多于带符号的16比 特字或多于带符号的32比特字)来表示内循环能量,
[0225]Ο如果需要多于特定字长,則通过多于特定字长(例如,32比特字或64比特字) 来表示(S34)最佳平方相关项/参数/值和最佳累加能量项/参数/值,
[0226] 〇如果确定少于特定字长,则运行(S33)第一循环,
[0227] 〇如果确定多于特定字长,则运行(S35)第二备选循环,其具有通过多于特定字 长字表示的最佳累加能量项和最佳平方相关项。
[0228] 以上PVQ形状搜索可以是有限精度PVQ形状搜索,在一个实施例中,所述PVQ形状 搜索由矢量量化器执行,所述矢量量化器是编码器/编解码器的一部分,并且可以至少部 分地但是也可以全部实施为位于或适于位于通信设备中的DSP单元。因此,编码器/编解 码器可以全部或部分地实施为硬件单元,例如,i)SP或可编程现场门阵列(FPGA)。然而,在 备选实施例中以利用通用处理器或编解码器计算机程序来实施编码器/编解码器,其 中,当所述计算机程序在通用处理器上运行时使通信设备执行以上段落中提到的一个或多 个步骤。处理器还可以是精简指令集计算(RISC)处理器。
[0229] 如以上段落中提到的,本文公开的另一方案是在图10中示出的计算机程序6,并 且其中一个实施例通过在下文的附录1中的ANSI-C代码示例(诸如包括计算机可读代码 的编码器计算机程序或编解码器计算机程序)完全公开,当所述计算机程序在通信设备丄 的处理器/处理器单元4上运行时,使通信设备执行结合以下段落中的方法提到的一个或 多个步骤或者结合图7提到的任何步骤。
[0230] 另一个方案是由通信设备/编码器/编解码器执行的PVQ形状搜索方法,其中,所 述方法包括以下步骤中的一个或多个:
[0231] -例如根据以上等式11和12确定、计算或获得(S1)输入(目标)矢量(X(η))的 最大绝对值(xabsBax),
[0232]-例如通过根据以上等式19计算带符号的32比特字中的下一个循环的累加循环 内相关值的可能上移,至少基于最大绝对值(xabsaax)来确定、皆算或获得(S2,S28)相关值 的可能上移,
[0233] -如果最终的单位脉冲的数目(K)将以高于阈值(tp)结束,则跟踪/存储根据以 上矢量(y(n))的等式26计算的最大脉冲幅度(maxanipy)值/信息,其中,矢量(y(n))可 以根据以」::等式i3和14来定义,并且
[0234] Ο例如通过根据以上等式22和23的计算,基于存储的最大脉冲幅度确定/计算/ 决定/选择(S3)是否需要或者应该使周多于特定字长(例如,多于带符号的16比特字或 多于带符号的32比特字)来表示循环内能量,
[0235] 〇如果需要多于特定字长,则通过多于特定字长(例如,32比特字或64比特字) 来表示最佳平方相关项/参数/值和最佳累加能量项/参数/值,
[0236]Ο如果确定少于特定字长,则运行第一循环,
[0237]Ο如果确定多于特定字长,则运行第二备选循环,其具有通过多于特定字长字表 不的最佳累邡能童项和最佳平力相天项》
[0238] 如上所述,通信设备可以是采取移动电话、视频相机、录音机、平板、台式电脑、膝 上型电脑、TV机顶盒或
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1