音频信号编码器的制造方法_5

文档序号:9713661阅读:来源:国知局
数。
[0216] 图11中的步骤458示出了接收帧参数和选择的参数的操作。
[0217] 在一些实施方式中帧重构器/误差确定器756被配置成从选择的量化参数和加权 的之前的帧参数生成重构帧。这是有效地生成解码器视点的操作,其中解码器接收选择的 当前帧参数和任意之前参数(被加权的)。可以理解在一些实施方式中仅从选择的参数形成 针对第一帧的重构帧。
[0218] 图11中的步骤461示出了从选择的参数和(加权)之前的帧参数生成重构帧的操 作。
[0219] 此外在一些实施方式中帧重构器/误差确定器756被配置成确定重构参数和帧参 数之间的误差值。在一些实施方式中该误差值能够是重构参数的向量和该参数的向量之间 的距离。可以理解在一些实施方式中如这里所述误差值根据重构参数的向量和量化参数的 向量之间的距离来确定。
[0220]图11中的步骤463示出了生成或确定重构的参数和帧参数之间的误差值的操作。
[0221]在一些实施方式中帧重构器/误差确定器756能够被配置成存储针对该第一索引 值的该误差值(且在一些实施方式中选择顺序模式)。
[0222]在一些实施方式中帧重构器/误差确定器还能够确定是否已经进行了所有的"第 一"选择。在一些实施方式中"第一"参数选择的搜索是穷尽搜索,换句话说所有可能的"第 一"选择被测试且误差值被确定。在一些实施方式中该"第一"参数选择的搜索是尝试仅确 定局部最小值。
[0223]图11中的步骤465示出了确定是否已经进行所有"可能的"第一参数选择的操作。 [0224]如果还有可能的第一选择,则帧传感器/误差确定器756能够被配置成将这个指示 给第一参数选择器754,其生成另外"第一"参数和顺序选择并将该选择传递给参数索引选 择器和编码器。
[0225]图11中的步骤406示出了选择"新的"第一参数值的操作且该操作回到图11中的步 骤457示出的操作。
[0226]如果已经进行了所有"可能的"第一参数选择,则帧重构器/误差确定器756能够被 配置成向第一参数选择器754指示第一参数值中的哪些具有最小误差值。第一参数选择器 754然后能够将其输出给参数和索引选择器和编码器。
[0227] 图11中的步骤467示出了基于最小误差值生成帧"第一"参数选择和其他选择的参 数的操作。
[0228] 在下面的部分中给出了使用强度差作为要编码的参数在当前帧的双耳扩展的一 些实施方式的操作的示例。
[0229] 在该示例中使用从"第一"表示的子带开始并按降频的顺序从第一帧选择,并对强 度差进行编码。
[0230] 此外,在该示例中能够根据以下量化强度{-10,-6 ,-4,-2,0,2,4,6,10}来量化强 度参数。
[0231] 在该示例中参数选择确定器确定有足够的比特用于向下编码仅5个子带强度参数 且总共10个子带的量化强度值(从最高频率子带向下)是:
[0232] x{bi b2 b3 b4 b5 be by bs bg bio} = {1.6 1.8 3.4 -4.4 2.1 -2.3 -5.6 -9.3 6.3 4.3}
[0233] x_hat{bi b2 b3 b4 bs b6 b7 bs bg bio} = {2 2 4 _4 2 _2 _6 -10 6 4}
[0234] 其中x_hat是x的量化版本。
[0235] 根据第一实施方式,该第一参数选择器确定使用前5个参数的第一帧选择(换句话 说第一个参数是bi且最后一个是b5且其余的使用空或0值)。在该示例中重构的参数值可以 是:
[0236] recx{bi b2 b3 b4 bs be hi bs bg bio} = {2 24 -4 20000 0}.
[0237] 可以理解在一些实施方式中第一参数选择器确定第一帧选择5个参数但是搜索由 diff =||recx_x_hat||确定的最小误差值。
[0238]在这样的实施方式中可能的选择和diff值是

[0241] 且由此在一些实施方式中要被输出的第一帧选择的参数是
[0242] recx{bi b2 b3 b4 bs b6 b7 bs bg bi。} = {0 0 0 0 0 -2 -6 -10 6 4}
[0243] 或
[0244] recx{bi b2 b3 b4 bs b6 b7 bs bg bi。} = {2 0 0 0 0 0 -6 -10 6 4}
[0245]其中diff= I |x_x_rec| I2则要输出的第一帧选择的参数是
[0246] recx{bl b2 b3 b4 b5 b6 b7 b8 b9 bl0} = {0 0 0 0 0 -2 -6 -10 6 4}
[0247] 根据下表示出五个选择的参数的diff值:
[0249]但是在以下示例中"第一个"5个参数用于确定"第一个"选择的参数的下一个帧 值。在一些实施方式中帧重构器/误差确定器756能够被配置成穷尽搜索过程,该过程考虑 "第一个"选择的参数的每一个可能的值;并计算重构的参数值与原始或未量化的参数值之 间的失真。
[0250]例如,如果以下帧数据是:
[0251] x = 1.2,3.7,6.3,3.1,0.7,-2.1,-4.7,-8.4,5.2,0.1
[0252] 其能够根据上面的量化表被量化成:
[0253] x_hat={2 4 6 4 0 -2 -4 -10 6 0}。
[0254] 在该示例中使用非量化帧数据确定误差值且是之前示例的平方。
[0255] diff = | | x~x_rec | |2
[0256] 此外,在该示例中应用到当前存储的帧数据的加权因子当应用到之前帧时在插入 到重构帧时是0.8。
[0257] 在该示例中如果选择的"第一个"参数索引是6,且仅有4个参数要被编码,则重构 的值可以是:
[0258] x_rec= {1.6 1.6 3.2 3.2 1.6 -2 -4 -10 6 0}
[0259] 且编码误差可以是 | | x-x_rec | 12= 18 · 71。
[0260] 粗体值对应于选择的编码值;斜体值对应于从具有权值0.8的之前帧得到的值。
[0261] 在一些实施方式中除了选择参数的起始点,例如使用一比特量化器能够量化没有 给之前帧使用的值。在一些实施方式中该量化器可以对这些值降低权重,例如{〇.9,0.4}, 这依据该值从之前帧起改变了多少。在有非常小改变的情况中,该值的权重降低得比值改 变较大的情况要少。
[0262] 在该示例中如果选择的"第一个"参数索引是7,且仅有4个参数要被编码,则重构 的值可以是:
[0263] x_rec={1.6 1.6 3.2 3.2 1.6 0 -4 -10 6 0}且编码误差可以是 | |x_x_rec| |2 =23.11〇
[0264] 该过程能够继续针对"第一个"参数的所有可能的值且给出最低编码或重构误差 的值被选择且其值被编码。
[0265]在一些实施方式中加权的欧几里得距离能够用作误差值以给较高频率带更高权 重,其对信道强度差更相关。
[0266] 在一些实施方式中通过在稀疏网格上搜索例如两步法取值能够加速选择的"第一 个"参数的值的搜索或优化。这是因为参数向量是通过交错来自两个连续窗口的值使得对 应于相同子带的值彼此接近而被形成的。
[0267] 此外在一些实施方式中基于最后一个帧的一般性重构的向量能够用于检测在哪 里更好编码当前帧值。
[0268] 例如使用之前示例一般性重构的向量可以是:
[0269] x_gen={1.6 1.6 3.2 3.2 1.6 0 0 0 0 0}
[0270] 其与以下相比:
[0271] χ={1.2 3.7 6.3 3.1 0.7 -2.1 -4.7 -8.4 5.2 0.1}
[0272] 将给出以下的方差向量:
[0273] diff={0.16 4.41 9.61 0.01 0.81 4.41 22.09 70.56 27.04 0.01}.
[0274]在该实施方式中4个连续分量的群组的总和被计算,从"第一" =1开始,直到"第 一"=1〇,其提供部分求和值:
[0275] 部分={14.84 14.84 27.32 97.87 124.10 119.70 97.77 31.62 14.19 14.19} 这允许帧重构器/误差确定器确定最佳选择是选择"第一" =5,对应于最大差124.10,其如 果从位置5开始编码则可以被校正。
[0276] 这些实施方式对应于在参数向量中找到与之前帧相比向量改变最多的部分。
[0277] 总之用于确定当前帧的"第一个"参数的算法能够如下
[0278] 1.初始化:
[0279] 找到具有最大加权误差的子向量起始点
[0280]量化该子向量的起始点并量化这些最重要(选择的)值
[0281] 将其余(即在之前阶段没有被量化的值)向量值设定为零
[0282] 2.针对每个连续帧:
[0283] 找到给出由于与之前帧相比改变的值的最大加权误差值的子向量起始点
[0284] 编码该起始点并量化选择的子向量。选择的值能够被量化为其自身或与之前值的 差被量化(所谓的安全网切换的预计量化器)。量化方法的选择能够使用一个或多个比特被 编码。
[0285] 其余的值(即在之前阶段没有量化的值)能够从之前帧被复制,具有固定尺度,或 可替换地它们能够被缩放多个尺度。在后者情况中最优尺度信息由一个或多个比特编码。
[0286] 为了完全示出编解码器的操作,图12和13示出了根据一些实施方式的解码器和该 解码器的操作。在下面的示例中解码器是立体声解码器,被配置成接收单信道已编码的音 频信号和立体声信道扩展或立体声参数,但是可以理解解码器是多信道解码器,被配置成 接收任意数量的信道已编码的音频信号(缩混信道)和信道扩展参数。
[0287] 在一些实施方式中解码器108包括单/缩混信道解码器1001(或用于解码缩混信道 的装置)。单/缩混信道解码器1001在一些实施方式中被配置成接收已编码单/缩混信道信 号。
[0288] 图13中的步骤1101示出了接收已编码单/缩混信道音频信号的操作。
[0289] 此外单/缩混信道解码器1001能够被配置成使用编码器中示出的单/缩混信道编 码器的该逆过程解码该已编码单/缩混信道音频信号。
[0290]图13中的步骤1103示出了解码单/缩混信道的操作。
[0291] 在一些实施方式中,解码器还被配置成将解码的单/缩混信号输出给立体声/多信 道信道生成器1009由此该解码的单/缩混信号基本与来自参数集编译器1005的解码的立体 声/多信道参数同时被同步或接收。
[0292] 图13中的步骤1105示出了同步单/缩混到立体声/多信道参数的操作。
[0293] 在一些实施方式中解码器108能够包括立体声/多信道信道解码器1003(或用于解 码多信道或扩展参数的装置)。该立体声/多信道信道解码器1003被配置成接收已编码立体 声/多信道参数。
[0294]图13中的步骤1102示出了接收已编码立体声/多信道参数的操作。
[0295] 此外立体声/多信道信道解码器1003能够被配置成通过应用在编码器中应用的过 程的逆过程来解码立体声/多信道信道信号。例如立体声/多信道信道解码器能够被配置成 通过应用移位差编码器和强度差编码器的逆过程来输出解码的立体声/多信道参数。在一 些实施方式中,立体声/多信道信道解码器1003能够被配置成接收指示能被解码的"第一" 值的已编码索引值。此外立体声/多信道信道解码器1003能够被配置成接收已编码顺序模 式或类型值,指示从"第一"参数值起的选择顺序,该"第一"参数值能够被解码并传递给参 数集编译器。
[0296] 图13中的步骤1104示出了解码立体声/多信道参数的操作。
[0297] 立体声/多信道信道解码器1103还被配置成输出解码的主立体声/多信道参数(且 在一些实施方式中"第一"参数值和选择顺序指示符或模式指示符)到参数集编译器1005。 [0298]在一些实施方式中解码器包括参数集编译器1005(或用于编译扩展参数集的装 置)。参数集编译器1005被配置成接收解码的立体声/多信道参数并被配置成将任意之前的 帧(或旧)立体声/多信道参数替换成新解码的帧参数,其中替换子带参数在解码的帧中。解 码的帧中的替换子带参数的位置能够从被传递的索引值找到。此外在一些实施方式中子带 参数的顺序能够从顺序选择值中找到。
[0299] 图13中的步骤1106示出了将旧的立体声/多信道参数替换为解码的帧参数的操作 (其中发生替换)。
[0300] 因此参数集编译器1005包含立体声/多信道参数的集合,其包含来自最近接收的 帧的所有子带立体声参数。这些参数能够被传递给立体声/多信道信道生成器1009。
[0301] 图13中的步骤1108示出了输出编译的参数的"完成"集合。
[0302]在一些实施方式中,参数集编译器1005能够被配置成具有替换存储周期或到期周 期,在该周期之后参数集编译器1005丢弃存储的立体声/多信道参数以防止过时的立体声/ 多信道参数被发送给立体声/多信道信道生成器1009。此外在一些实施方式中参数集编译 器1005能够被配置成使用加权因子给之前的参数加权以降低"旧"数据对立体声/多信道信 道
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1