可截断的预测编码的制作方法
2021-01-28 13:01:15|351|起点商标网
公开了与预测编码和解码相关的实施例,该预测编码和解码通常与音频信号处理相关。
背景技术:
:尽管电信网络中的容量在不断增加,但是限制每个通信信道所需的带宽仍然令人非常感兴趣。针对每个呼叫的传输带宽较小,允许移动网络并行服务于大量用户。此外,降低传输带宽会在移动设备和移动网络的基站两者中产生较低的功耗。这样的较低功耗导致移动运营商节约了能源和成本,而最终用户可以经历延长的电池寿命和增加的通话时间。用于减少语音通信中的传输带宽的一种方法是利用语音中的自然停顿。在大多数对话中,一次只有一个讲话者是活跃的,并且在一个方向上讲话者在语音中的自然停顿通常会占据信号的一半以上。为了减小传输带宽的目的而利用典型对话的这一属性的方法是采用不连续传输(dtx)方案,其中在语音停顿期间不进行活跃信号编码。dtx方案针对所有3gpp移动电话标准(例如2g、3g和volte)进行了标准化。dtx方案也通常用于ip语音系统中。在实现dtx方案时,通常会发送背景噪声的非常低比特率编码,以允许接收端的舒适噪声发生器(cng)使用所生成的具有与原始背景噪声相似特性的背景噪声来填充语音停顿。cng使呼叫听起来更加自然,因为所生成的背景噪声不会根据dtx方案随语音一起打开和关闭。语音停顿期间完全静音被认为对听众来说是烦人的,并经常导致误解呼叫已断开。dtx方案还依赖于语音活动检测器(vad),该语音活动检测器向系统指示何时使用活跃信号编码方法或低速率背景噪声编码方法。通过使用通用声音活动检测器(gsad,也被称为sad),可以将系统概括为在其他来源类型之间进行鉴别,它不仅可以从背景噪声中鉴别语音,还可以检测音乐或其他相关信号类型。通过支持立体声或多声道音频传输,可以进一步增强通信服务。在这种情况下,dtx和cng系统可能需要考虑音频信号的空间特性,以便提供听起来令人愉快的舒适噪声。技术实现要素:传统上,电信利用单个信道进行语音通信,其中每个通信端点处的单个麦克风用于捕获扬声器发出的声音。因此,需要通过提供对扬声器的空间环境的更精确的重构来增强通信体验。这样的增强可以增加语音的清晰度,因为如果以空间的方式分离语音和背景噪声,则更容易将语音与背景噪声分离。此外,对于具有两个以上参与者的电话会议场景,将扬声器在音频空间中分离是有益的。在3gpp语音编解码中使用的常见的舒适噪声(cn)生成方法是,将有关针对语音停顿的背景噪声的能量和频谱形状的信息发送给接收机。与语音段的常规编码相比,可以使用数量明显更少的比特来发送有关背景噪声的信息。在接收机端,通过以下方式生成cn:创建伪随机信号,并基于接收到的有关针对语音停顿的背景噪声的信息来使用滤波器对所创建的信号的频谱进行整形。这样的信号生成和频谱整形可以在时域或频域中完成。用于立体声dtx系统的cn生成的常规方法使用单声道编码器,dtx系统在每个声道上单独工作。例如,双单声道编码用于双声道立体声dtx系统。因此,对于左信号和右信号,发送给接收机的背景噪声的能量和频谱形状可以不同。在大多数情况下,在左信号和右信号之间,所发送的背景噪声的能量和频谱形状的差异可能不会很大,这样的差异可能会导致听众感知到信号的立体图像“宽”的程度存在显著差异。也就是说,如果用于生成cn的伪随机信号在左声道和右声道之间是同步的,则结果将是听起来很“窄”的立体声信号,从而给出一种源自听众头部内的声音的感觉。相反,如果伪随机信号不同步,则将给听众非常相反的感觉,即宽信号。在大多数情况下,原始背景噪声将具有能量和频谱形状(也被称为立体声图像),其介于这两个极端(即窄信号和宽信号)之间。当系统在活跃(语音)编码和非活跃(噪声)编码之间切换时,这会导致背景噪声的立体声图像中的可检测的差异。原始背景噪声的立体声图像在呼叫期间也可能会改变。例如,用户可能正在四处移动和/或用户周围的环境可能正在改变。常规的cn生成方法,例如双单声道编码系统,无法提供任何机制来适应这种改变。使用常规的cn生成方法(如双单声道编码)的另一个缺点是vad决策将不会在声道之间同步。例如,当左声道使用活跃编码进行编码,而右声道使用低比特率cn编码进行编码时,这可能会导致可听见的伪像。声道之间的vad决策缺乏同步可能使用于在左声道和右声道中生成cn的伪随机信号在一些时刻中同步,而在其他时刻中不同步。结果,所生成的cn的立体声图像可能随着时间的推移在极宽和极窄之间切换。如上所示,仍然需要一种改进的cn生成方法。因此,本文公开的某些实施例提供了用于对基于频带应用的声道相干参数进行编码的方法,其中每个频带的相干参数形成相干性矢量。使用预测方案对相干性矢量进行编码,然后进行可变比特率熵编码。编码方案还通过自适应帧间预测改进性能。例如,在一个方面,提供了由编码器执行的用于对矢量进行编码的方法。该方法包括编码器形成预测加权因子。针对矢量的每个元素,编码器形成矢量元素的第一预测和矢量元素的第二预测。编码器使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测。编码器使用所述矢量元素和所述已合并预测来形成预测残差。编码器使用可变比特率方案对预测残差进行编码。编码器发送已编码预测残差。在一些实施方案中,矢量是一系列矢量中的一个。在一些实施例中,编码器基于已合并预测和已重构预测残差来重构矢量。在一些实施例中,编码器编码并发送预测加权因子。在一些实施例中,第一预测是基于已重构矢量元素的帧内预测。在这样的实施例中,通过执行包括以下操作的过程来形成帧内预测:从预测器的集合中选择预测器;将所选择的预测器应用于已重构矢量元素;以及对与所选择的预测器相对应的索引进行编码。在一些实施例中,第二预测是基于先前针对所述一系列矢量重构的一个或多个矢量的帧间预测。在这样的实施例中,通过执行包括以下操作的过程来形成帧间预测:从预测器的集合中选择预测器;将所选择的预测器应用于所述一个或多个先前重构的矢量;以及对与所选择的预测器相对应的索引进行编码。在一些实施例中,来自先前重构的矢量的值被用于帧间预测。在一些实施例中,编码器对预测残差进行量化以形成第一残差量化器索引,其中,第一残差量化器索引与第一码字相关联。在一些实施例中,使用可变比特率方案对预测残差进行编码的步骤包括:作为确定第一码字的长度不超过剩余比特量的结果,对第一残差量化器索引进行编码。在一些实施例中,使用可变比特率方案对预测残差进行编码的步骤包括:作为确定第一码字的长度超过剩余比特量的结果,获得第二残差量化器索引,其中,第二残差量化器索引与第二码字相关联,并且其中,第二码字的长度短于第一码字的长度。在这样的实施例中,编码器确定第二码字的长度是否超过所确定的剩余比特量。在一些实施例中,编码器还被配置为:在第一输入声道上接收第一信号;在第二输入声道上接收第二信号;确定第一信号和第二信号的频谱特性;基于所确定的第一信号和第二信号的频谱特性来确定空间相干性;以及基于空间相干性确定矢量。在一些实施例中,该方法由包括至少两个输入声道的音频编码器和解码器系统中的编码器执行。在一些实施例中,编码器还被配置为通过执行包括变换输入声道和分析频带中的输入声道的过程来创建频谱。在一些实施例中,矢量包括相干性值的集合,并且其中,每个值与频带中的所述至少两个输入声道中的两个输入声道之间的相干性相对应。在另一方面,提供了一种由解码器执行的用于对矢量进行解码的方法。该方法包括解码器获得加权因子。针对矢量的每个元素,解码器形成矢量的第一预测和矢量的第二预测。解码器使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测。解码器对接收到的已编码预测残差进行解码。解码器基于已合并预测和已解码预测残差来重构矢量元素。在一些实施方案中,所述矢量是一系列矢量中的一个。在一些实施例中,第一预测是基于已重构矢量元素的帧内预测。在这样的实施例中,通过执行包括以下操作的过程来形成帧内预测:接收并解码预测器;以及将已解码预测器应用于已重构矢量元素。在一些实施例中,第二预测是基于先前针对所述一系列矢量重构的一个或多个矢量的帧间预测。在这样的实施例中,帧间预测是通过执行可以包括以下操作的过程来形成的:接收并解码预测器;以及将已解码预测器应用于所述一个或多个先前重构的矢量。在一些实施例中,来自先前重构的矢量的值被用于帧间预测。在一些实施例中,对已编码预测残差进行解码的步骤包括:确定可用于解码的剩余比特量;以及确定对已编码预测残差进行解码是否超过剩余比特量。在一些实施例中,对已编码预测残差进行解码的步骤包括:作为确定对已编码预测残差进行解码超过剩余比特量的结果,将预测残差设置为零。在一些实施例中,对已编码预测残差进行解码的步骤包括:作为确定对已编码预测残差进行解码不超过剩余比特量的结果,基于残差量化器索引导出预测残差,其中,残差量化器索引是预测残差的量化。在一些实施例中,获得预测加权因子的步骤包括(i)导出预测加权因子或(ii)接收并解码预测加权因子。在一些实施例中,解码器基于已重构矢量来生成针对至少两个输出声道的信号。在又一方面,提供了一种包括处理电路的编码器。处理电路被配置为使编码器:形成加权因子;形成矢量元素的第一预测;形成矢量元素的第二预测;并使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测。处理电路还被配置为使编码器:使用所述矢量元素和所述已合并预测来形成预测残差;使用可变比特率方案对预测残差进行编码;以及发送已编码预测残差。在又一方面,提供了一种包括处理电路的解码器。处理电路被配置为使解码器:获得加权因子;形成矢量元素的第一预测;形成矢量元素的第二预测;以及使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测。处理电路还被配置为使解码器:对接收到的已编码预测残差进行解码;以及基于已合并预测和已解码预测残差来重构矢量元素。本文公开的实施例提供预测和残差编码,其提供适合于可变比特预算的速率可伸缩性。相对于预测方案,残差编码可以被截断。自适应帧间预测在帧间冗余的优点之间找到平衡,同时在帧丢失的情况下将误差传播的风险最小化。附图说明本文中所包含并形成说明书一部分的附图示出了各种实施例。图1示出了根据一些实施例的立体声编码和解码系统。图2示出了根据一些实施例的立体声编码和解码系统。图3是示出了根据一些实施例的编码过程的流程图。图4示出了根据一些实施例的截断方案。图5是示出了根据一些实施例的解码过程的流程图。图6是示出了根据一个实施例的过程的流程图。图7是示出了根据一个实施例的过程的流程图。图8是根据一个实施例的编码器的框图。图9是根据一个实施例的解码器的框图。图10是示出了根据一个实施例的编码器的功能单元的图。图11是示出了根据一个实施例的解码器的功能单元的图。具体实施方式一种实现信号的空间表示的方法是使用多个麦克风并对立体声或多声道信号进行编码。图1示出了参数化立体声编码器102和解码器104的图示。编码器102执行对输入声道对106a-106b的分析,并通过参数化分析108获得立体声图像的参数化表示,并通过降混110将声道减少为单个声道,从而获得降混信号。通过单声道编码器112来使用单声道编码算法对降混信号进行编码,并且通过参数编码器114对立体声图像的参数化表示进行编码。已编码降混信号和立体声图像的参数化表示通过比特流116发送。解码器104采用单声道解码器118来应用单声道解码算法并获得合成的降混信号。参数解码器120对接收到的立体声图像的参数化表示进行解码。解码器104使用立体声图像的已解码参数化表示通过参数化合成122将合成的降混信号变换为合成的声道对。图2示出了根据一些实施例的参数化立体声编码和解码系统200。如图2所示,参数化立体声编码和解码系统200包括:单声道编码器112,其包括cng编码器204;以及单声道解码器118,其包括cng解码器206。在一些实施例中,输入信号106a-106b包括表示为[l(m,n)r(m,n)]的声道对,其中l(m,n)和r(m,n)分别表示针对帧m的样本索引n的左声道和右声道的输入信号。信号以采样频率fs在长度为n个样本的帧中进行处理,其中帧的长度可包括重叠,例如前瞻和对过去样本的记忆。参数化立体声编码和解码系统200还包括参数化分析108中的相干性分析202和参数化合成122中的相干性合成208。参数化分析108包括分析输入信号106a-106b的相干性的能力。当单声道编码器112被配置为用作cng编码器204时,参数化分析108可以分析输入信号106a-106b。在一些实施例中,可以借助于例如dft或任何其他合适的滤波器组或诸如qmf、混合qmf和mdct的变换将输入信号106a-106b变换到频域。在一些实施例中,dft或mdct变换可以用于将输入信号106a-106b变换到频域。在这样的实施例中,输入信号106a-106b通常在变换之前被加窗。窗口的选择取决于各种参数,例如时间和频率分辨率特性、算法延迟(重叠长度)、重构属性等。作为示例,由[l(m,n)r(m,n)]表示的dft变换声道对由下式给出:针对频率f的声道相干性cgen(f)的一般定义由下式给出:其中sxx(f)和syy(f)表示两个声道106a-106b的功率谱,而sxy(f)是互功率谱。在示例性的基于dft的解决方案中,声道相干频谱可以通过下式给出的dft频谱来表示:其中*表示复共轭。为了减少编码相干性值所需的比特数,将频谱划分为子频带(也被称为相干频带)。在一些实施例中,子频带的带宽被配置为与所感知的频率分辨率相匹配,对于低频,带宽窄,而对于更高的频率,带宽增加。要注意的是,贯穿说明书,术语声道相干性和空间相干性可互换使用。因此,相干性的分析提供了针对每个子频带的值,从而形成了相干性值的矢量其中nbnd是相干频带的数量,b是频带索引,并且m是帧索引。然后对相干性值cb,m进行编码以存储或发送给解码器。在一些实施例中,可以对功率谱在时间上进行平均或进行低通滤波以形成功率谱的更稳定的估计。关于相干性分析的更多细节在国际申请公开no.wo2015/122809中被描述。当对cng帧进行解码时,解码器104产生与两个合成声道210a-210b相对应的两个cng帧。在一些实施例中,生成两个cng帧以具有最小的相干性/相关性。根据一些实施例,可以通过用相同的参数两次单独操作cng解码器206但使用两个不同的伪随机数生成器来生成具有最小相干性/相关性的这种cng帧。在一些实施例中,可以通过应用解相关器函数来生成具有最小相干性/相关性的两个cng帧,该解相关器函数修改cng帧的精细结构,同时保持对幅度谱的最小影响。然后,使用国际申请公开no.wo2015/122809中描述的方法,通过将两个生成的cng信号进行合并来获得目标相干性。本文公开的所提出的解决方案适用于在声道对中考虑声道相干性的立体声编码器和解码器架构或适用于多声道编码器和解码器。返回参考图2,根据一些实施例,单声道编码器112可以包括立体声编码器vad。立体声编码器vad可以向cng编码器204指示信号包含背景噪声,从而激活cng编码器204。因此,在参数化分析108中激活包括相干性分析202的cng分析,并且单声道编码器112启动cng编码器204。结果,相干性的编码表示和单声道cng在比特流116中被捆绑在一起以用于传输和/或存储。解码器104识别比特流116中的立体声cng帧,解码单声道cng和相干性值,并合成目标相干性,例如在国际申请公开no.wo2015/122809中所描述的。本文描述的所公开的实施例涉及针对cng帧的相干性值的编码和解码。本文描述的相干性矢量的编码考虑以下属性:(1)能适应变化的每帧比特预算bm的编码,(2)相干性矢量示出很强的帧间相似度,以及(3)对于丢失的帧,应将误差传播保持在较低水平。为了解决变化的每帧比特预算,实施粗精编码策略。更具体地,首先以低比特率实现粗编码,并且当达到比特限制时,可以截断随后的精细编码。在一些实施例中,利用预测方案来执行粗编码。在这样的实施例中,预测器针对于增加的频带b沿着相干性矢量工作,并基于矢量的先前值来估计每个相干性值。也就是说,执行相干性矢量的帧内预测,且其由下式给出:每个预测器集p(q)由(nbnd-1)个预测器组成,每个预测器包括每个频带(b-1)个预测器系数,其中q=1,2,...nq并且nq指示预测器集的总数。如上所示,当b=1时,没有先前的值,且相干性的帧内预测为零。作为示例,当存在六个相干频带(nbnd=6)时,预测器集数量q由下式给出:作为另一示例,预测器集的总数可以是四个,即nq=4,其指示可以使用2个比特来发信号通知所选择的预测器集。在一些实施例中,可以顺序寻址用于预测器集q的预测器系数,并将其存储在长度为的单个矢量中。图3是示出了根据一些实施例的编码过程301的流程图。编码过程301可以由编码器102根据以下步骤执行:在步骤300中,对于每个帧m,用于跟踪编码所消耗的比特的比特变量(也被称为比特计数器)被初始化为零(bcurr,m=0)。编码算法接收要编码的相干性矢量(cb,m)、先前重构的相干性矢量的副本以及比特预算bm。在一些实施例中,在前面的编码步骤中消耗的比特可以被包括在bm和bcurr,m中。在这样的实施例中,下面的算法中的比特预算可以由bm-bcurr,m给出。在步骤310中,从可用预测器p(q),q=1,2,...,nq中选择给出最小预测误差的预测器集p(q*)。所选择的预测器集由下式给出在一些实施例中,b=1被从预测器集中省略,因为预测为零,并且对于所有预测器集,对误差的贡献将是相同的。存储所选择的预测器集索引,并且比特计数器(bcurrm)随所需的比特数而增加,例如如果需要两个比特来对预测器集进行编码,则bcurr,m:=bcurr,m+2。在步骤320中,计算预测加权因子α。预测加权因子用于创建加权预测,如下面的步骤360中所述。预测加权因子需要在解码器104中可用。在一些实施例中,对预测加权因子α进行编码并将其发送给解码器104。在这样的实施例中,将比特计数器(bcurr,m)增加编码预测加权因子所需的比特量。在其他实施例中,解码器可以基于解码器104中已经可用的其他参数来导出预测加权因子。对于步骤330中的每个频带b=1,2,..nbnd,执行以下步骤:在步骤340中,获得帧内预测值对于第一个频带(b=1),没有先前编码的相干性值。在一些实施例中,针对第一个频带的帧内预测可以被设置为零,在一些实施例中,针对第一个频带的帧内预测可以被设置为平均值在一些备选实施例中,第一个频带的相干性值可以被单独地进行编码。在这样的实施例中,使用标量量化器对第一个值进行编码以产生重构值因此,针对第一个频带的帧内预测可以被设置为重构值,将比特计数器bcurr,m增加编码第一个频带的相干性值所需的比特量。例如,如果使用3个比特来编码第一个频带的相干性值,则将3个比特添加到当前的编码所消耗的比特量中,例如bcurr,m:=bcurr,m+3。对于剩余频带b=2,3,...,nbnd,帧内预测基于先前编码的相干性值,即在步骤350中,基于来自一个或多个先前帧的先前重构的相干性矢量元素,获得帧间预测值在背景噪声稳定或缓慢改变的情况下,相干性频带值cb,m的帧间变化将很小。因此,使用来自先前帧的值的帧间预测通常将是良好的近似,其产生小的预测残差和小的残差编码比特率。作为示例,可以将针对频带b的最后的重构值用于帧间预测值,即考虑到两个或更多个先前帧的帧间线性预测器可以公式化为其中表示针对帧m的所有频带b的帧间预测相干性值的列矢量,表示针对帧m-n的所有频带b的重构相干性值,而gn是跨越ninter个先前帧的线性预测器系数。可以从预定义的预测器集中选择gn,在这种情况下,需要使用可以传送给解码器的索引来表示所使用的预测器。在步骤360中,基于帧内预测帧间预测和预测加权因子α来形成加权预测在一些实施例中,加权预测由给出。在步骤370中,预测残差被计算和编码。在一些实施例中,基于相干性矢量和加权预测来计算预测残差,即在一些实施例中,使用标量量化器将预测残差量化为索引ib,m。在这样的实施例中,索引由ib,m=sq(rb,m)给出,其中sq(x)是具有合适范围的标量量化器函数。下面的表1示出了标量量化器的示例。表1示出了针对预测残差的重构级别和量化器索引的示例。i=sq(x)012345678重构级别-0.4-0.3-0.2-0.100.10.20.30.4表1在一些实施例中,使用可变长度码字方案来编码索引ib,m,该可变长度码字方案对于较小的值消耗较少的比特。用于对预测残差进行编码的一些示例是霍夫曼编码、golomb-rice编码和一元编码(一元编码与除数为1的golomb-rice编码相同)。在对预测残差进行编码的步骤中,需要考虑剩余的比特预算(bm-bcurr,m)。如果与索引ib,m相对应的码字的长度lcode(ib,m)适合于剩余的比特预算,即lcode(ib,m)≤bm-bcurr,m,则选择索引ib,m作为最终索引如果剩余的比特不足以对索引ib,m进行编码,则将应用比特率截断策略。在一些实施例中,假设较小的残差值花费较少的比特,则比特率截断策略包括对可能的最大残差值进行编码。这样的率截断策略可以通过如图4中的表400所示对码本重新排序来实现。图4示出了用于表1中所示的标量量化器示例的具有一元码字映射的示例性量化器表400。在一些实施例中,可以通过以2为步长在表400中向上前进直到达到码字0来实现比特率截断。也就是说,图4示出了从长码字到较短码字的向上移动的截断方案。为了保持重构值的正确符号,每个截断步骤在表400上进行两个步骤,分别由负值和正值的虚线和实线箭头指示。通过以2为步长在表400中向上移动,可以找到新的截断的码本索引继续向上搜索,直到满足或已经达到表400的顶部。如果由向上搜索适合来确定的码字的长度不超过比特预算,则选择最终索引并将输出到比特流,并基于最终索引来形成已重构的残差,即如果在向上搜索之后,码字的长度仍超过比特预算,则这意味着比特限制已达到,bm=bcurr,m。在这种情况下,将已重构的残差设置为零,并且不将索引添加到比特流。由于解码器保持同步的比特计数器bcurr,m,因此解码器可以检测到这种情况并使用而无需显式信令。在备选实施例中,如果与初始索引相关联的码字的长度超过比特预算,则残差值立即被设置为零,从而放弃上述向上搜索。如果计算复杂性至关重要,这可能是有益的。在步骤380中,基于已重构预测残差和加权预测来形成重构的相干性值即在步骤390中,比特计数器相应地递增。如上所述,贯穿编码过程301,增加比特计数器。在一些实施例中,相干性矢量中的帧间变化很小。因此,使用先前帧值的帧间预测通常是良好的近似,其产生小的预测残差和小的残差编码比特率。此外,预测加权因子α用于平衡比特率与帧丢失弹性的目的。图5是示出了根据一些实施例的解码过程501的流程图。可以由解码器104根据以下步骤来执行与编码过程301相对应的解码过程501:在步骤500中,将配置为跟踪在解码过程501期间消耗的比特的比特计数器bcurr,m初始化为零,即bcurr,m=0。对于每个帧m,解码器104获得最后的已重构相干性矢量的副本和比特预算bm。在步骤510中,从比特流116解码所选择的预测器集p(q*)。比特计数器增加解码所选择的预测器集所需的比特量。例如,如果需要两个比特来解码所选择的预测器集,则比特计数器bcurr,m增加2,即bcurr,m:=bcurr,m+2。在步骤520中,导出与在编码器102中使用的加权因子相对应的预测加权因子α。对于步骤530中的每个频带b=1,2,..nbnd,执行以下步骤:在步骤540中,获得帧内预测值与编码过程301的步骤340类似地获得针对第一个频带的帧内预测。因此,可以将针对第一个帧的帧内预测设置为零平均值或者可以从比特流116解码第一个频带的相干性值,且可以将针对第一个帧的帧内预测设置为重构值如果对第一个频带的相干性值进行解码,则比特计数器bcurr,m增加解码所需的比特量。例如,如果需要三个比特来解码第一个频带的相干性值,则将比特计数器bcurr,m增加3,即bcurr,m:=bcurr,m+3。对于剩余的频带b=2,3,...,nbnd,帧内预测是基于先前解码的相干性值,即在步骤550中,与编码过程301的步骤350类似地获得帧间预测值作为示例,可以将针对频带b的最后重构值用于帧间预测值,即在步骤560中,基于帧内预测帧间预测和预测加权因子α来形成加权预测在一些实施例中,加权预测由给出。在步骤570中,对已重构预测残差进行解码。如果比特计数器bcurr,m低于比特限制,即bcurr,m<bm,则从可用的量化器索引导出已重构预测残差如果比特计数器等于或超过比特限制,则将已重构预测残差设置为零,即在步骤580中,基于已重构预测残差和加权预测来重构相干性值即在步骤590中,比特计数器递增。在一些实施例中,在编码器中可能需要cng的进一步增强。在这样的实施例中,本地解码器将在使用重构的相干性值的编码器中运行。图6是示出了根据一些实施例的由编码器102执行以对矢量进行编码的过程600的流程图。过程600可以从步骤602开始,在步骤602中,编码器形成预测加权因子。针对矢量的每个元素,可以重复接下来的步骤604至614。在步骤606中,编码器形成矢量元素的第一预测。在步骤604中,编码器形成矢量元素的第二预测。在步骤608中,编码器使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测。在步骤610中,编码器使用所述矢量元素和所述已合并预测来形成预测残差。在步骤612中,编码器使用可变比特率方案对预测残差进行编码。在步骤614中,编码器基于已合并预测和已重构预测残差来重构矢量元素。在步骤616中,编码器发送已编码预测残差。在一些实施例中,编码器还对预测加权因子进行编码并且发送已编码预测加权因子。在一些实施例中,第一预测是基于已重构矢量元素的帧内预测。在这样的实施例中,通过执行包括以下操作的过程来形成帧内预测:从预测器的集合中选择预测器;将所选择的预测器应用于已重构矢量元素;以及对与所选择的预测器相对应的索引进行编码。在一些实施例中,第二预测是基于先前针对一系列矢量重构的一个或多个矢量的帧间预测。在这样的实施例中,通过执行包括以下操作的过程来形成帧间预测:从预测器的集合中选择预测器;将所选择的预测器应用于所述一个或多个先前重构的矢量;以及对与所选择的预测器相对应的索引进行编码。在实施例中,在帧间预测仅基于一个先前重构的矢量的情况下,来自该先前重构的矢量的值可以用于帧间预测,即,对于频带b,针对频带b的最后的重构值(即矢量元素)可以用于帧间预测值。在一些实施例中,过程600包括另一步骤,其中预测残差被量化以形成第一残差量化器索引,其中,第一残差量化器索引与第一码字相关联。在一些实施例中,使用可变比特率方案对预测残差进行编码的步骤包括:作为确定第一码字的长度不超过剩余比特量的结果,对第一残差量化器索引进行编码。在一些实施例中,使用可变比特率方案对预测残差进行编码的步骤包括:作为确定第一码字的长度超过剩余比特量的结果,获得第二残差量化器索引,其中,第二残差量化器索引与第二码字相关联,并且其中,第二码字的长度短于第一码字的长度。在这样的实施例中,过程600包括另一步骤,其中编码器确定第二码字的长度是否超过所确定的剩余比特量。在一些实施例中,过程600包括另一步骤,其中编码器在第一输入声道上接收第一信号,在第二输入声道上接收第二信号,确定第一信号和第二信号的频谱特性,基于所确定的第一信号和第二信号的频谱特性来确定空间相干性,以及基于空间相干性来确定矢量。在一些实施例中,过程600由包括至少两个输入声道的音频编码器和解码器系统中的编码器执行。在一些实施例中,过程600包括另一步骤,其中编码器通过执行包括变换输入声道并分析频带中的输入声道的过程来创建频谱。在一些实施例中,矢量包括相干性值的集合,并且其中,每个值与频带中的所述至少两个输入声道中的两个输入声道之间的相干性相对应。图7是示出了根据一些实施例的由解码器104执行以对矢量进行解码的过程700的流程图。过程700可以从步骤702开始,在步骤702中,解码器获得预测加权因子。针对矢量的每个元素,可以重复接下来的步骤704至712。在步骤704中,解码器形成矢量元素的第一预测。在步骤706中,解码器形成矢量元素的第二预测。在步骤708中,解码器使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测。在步骤710中,解码器对接收到的已编码预测残差进行解码。在步骤712中,解码器基于已合并预测和预测残差来重构矢量元素。在一些实施例中,所述矢量是一系列矢量中的一个。在一些实施例中,第一预测是基于已重构矢量元素的帧内预测。在这样的实施例中,通过执行包括以下操作的过程来形成帧内预测:接收并解码预测器;以及将已解码预测器应用于已重构矢量元素。在一些实施例中,第二预测是基于先前针对所述一系列矢量重构的一个或多个矢量的帧间预测。在这样的实施例中,帧间预测是通过执行可以包括以下操作的过程来形成的:接收并解码预测器;以及将已解码预测器应用于所述一个或多个先前重构的矢量。在实施例中,在帧间预测仅基于一个先前重构的矢量的情况下,来自该先前重构的矢量的值可以用于帧间预测,即,对于频带b,针对频带b的最后的重构值(即矢量元素)可以用于帧间预测值。在一些实施例中,对已编码预测残差进行解码的步骤包括:确定可用于解码的剩余比特量;以及确定对已编码预测残差进行解码是否超过剩余比特量。在一些实施例中,对已编码预测残差进行解码的步骤包括:作为确定对已编码预测残差进行解码超过剩余比特量的结果,将预测残差设置为零。在一些实施例中,对已编码预测残差进行解码的步骤包括:作为确定对已编码预测残差进行解码不超过剩余比特量的结果,基于残差量化器索引导出预测残差,其中,残差量化器索引是预测残差的量化。在一些实施例中,获得预测加权因子的步骤包括(i)导出预测加权因子或(ii)接收并解码预测加权因子。在一些实施例中,过程700还包括以下步骤:解码器基于已重构矢量来生成针对至少两个输出声道的信号。图8是根据一些实施例的编码器102的框图;如图8所示,编码器102可以包括:处理电路(pc)802,其可以包括一个或多个处理器(p)855(例如,通用微处理器和/或一个或多个其他处理器,例如专用集成电路(asic)、现场可编程门阵列(fpga)等);网络接口848,包括发射机(tx)845和接收机(rx)847,用于使编码器102能够向其他节点发送数据和从其他节点接收数据,该其他节点连接到网络接口848所连接到的网络110(例如,互联网协议(ip)网络);电路803(例如,包括rx805和tx806的无线电收发机电路),耦合到天线系统804以用于与ue进行无线通信;以及本地存储单元(也称为“数据存储系统”)808,其可以包括一个或多个非易失性存储设备和/或一个或多个易失性存储设备(例如,随机存取存储器(ram))。在pc802包括可编程处理器的实施例中,可以提供计算机程序产品(cpp)841。cpp841包括计算机可读介质(crm)842,该计算机可读介质(crm)842存储包括计算机可读指令(cri)844在内的计算机程序(cp)843。crm842可以是非暂时性计算机可读介质,例如(但不限于),磁介质(例如,硬盘)、光介质、存储器设备(例如,随机存取存储器、闪存)等。在一些实施例中,计算机程序843的cri844被配置为使得当由数据处理装置802执行时,cri使编码器102执行本文描述的步骤(例如,本文中参考流程图和/或消息流程图描述的步骤)。在其他实施例中,编码器102可被配置为在不需要代码的情况下执行本文描述的步骤。也即是说,例如,pc802可以仅由一个或多个asic组成。因此,本文描述的实施例的特征可以以硬件和/或软件方式来实现。在实施例中,编码器102包括处理电路802,该处理电路被配置为使编码器形成预测加权因子,并且针对矢量的每个元素:形成矢量元素的第一预测;形成矢量元素的第二预测;形成预测加权因子;并使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测。处理电路还被配置为使编码器:使用所述矢量元素和所述已合并预测来形成预测残差;使用可变比特率方案对预测残差进行编码;以及发送已编码预测残差。图9是根据一些实施例的解码器104的框图。如图9所示,解码器104可以包括:处理电路(pc)902,其可以包括一个或多个处理器(p)955(例如,通用微处理器和/或一个或多个其他处理器,例如专用集成电路(asic)、现场可编程门阵列(fpga)等);网络接口948,包括发射机(tx)945和接收机(rx)947,用于使解码器104能够向其他节点发送数据和从其他节点接收数据,该其他节点连接到网络接口948所连接到的网络110(例如,互联网协议(ip)网络);电路903(例如,包括rx905和tx906的无线电收发机电路),耦合到天线系统904以用于与ue进行无线通信;以及本地存储单元(也称为“数据存储系统”)908,其可以包括一个或多个非易失性存储设备和/或一个或多个易失性存储设备(例如,随机存取存储器(ram))。在pc902包括可编程处理器的实施例中,可以提供计算机程序产品(cpp)941。cpp941包括计算机可读介质(crm)942,该计算机可读介质(crm)942存储包括计算机可读指令(cri)944在内的计算机程序(cp)943。crm942可以是非暂时性计算机可读介质,例如(但不限于),磁介质(例如,硬盘)、光介质、存储器设备(例如,随机存取存储器、闪存)等。在一些实施例中,计算机程序943的cri944被配置为使得当由数据处理装置902执行时,cri使解码器104执行本文描述的步骤(例如,本文中参考流程图和/或消息流程图描述的步骤)。在其他实施例中,解码器104可被配置为在不需要代码的情况下执行本文描述的步骤。也即是说,例如,pc902可以仅由一个或多个asic组成。因此,本文描述的实施例的特征可以以硬件和/或软件方式来实现。在实施例中,解码器104包括处理电路902,该处理电路被配置为使解码器获得加权因子,并且针对矢量的每个元素:形成矢量元素的第一预测;形成矢量元素的第二预测;获得预测加权因子;并使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测。处理电路还被配置为使解码器:对接收到的已编码预测残差进行解码;以及基于已合并预测和已解码预测残差来重构矢量元素。图10是示出了根据一些实施例的编码器102的功能单元的图。如图10所示,编码器102包括:第一形成单元1002,用于形成矢量元素的第一预测;第二形成单元1004,用于形成矢量元素的第二预测;第三形成单元1006和编码单元1008,用于形成和编码预测加权因子;合并单元1010,用于使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测;第四形成单元1012,用于使用所述矢量元素和所述已合并预测来形成预测残差;编码单元1014,用于使用可变比特率方案对预测残差进行编码;以及发送单元1016,用于发送已编码预测加权因子和已编码预测残差。图11是示出了根据一些实施例的解码器104的功能单元的图。如图11所示,解码器104包括:第一形成单元1102,用于形成矢量元素的第一预测;第二形成单元1104,用于形成矢量元素的第二预测;获得单元1106,用于获得预测加权因子;合并单元1108,用于使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测;接收单元1110和解码单元1112,用于接收并解码已编码预测残差;以及重构单元1114,用于基于已合并预测和预测残差来重构矢量元素。现在,这里是示例实施例的集合,以进一步描述本文提出的构思。a1.一种用于对矢量进行编码的方法,所述方法包括:形成矢量的第一预测;形成矢量的第二预测;形成并编码预测加权因子;使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测;使用所述矢量和所述已合并预测来形成预测残差;使用可变比特率方案对预测残差进行编码;以及发送已编码预测加权因子和已编码预测残差。a2.根据实施例a1的方法,其中,所述矢量是一系列矢量中的一个。a3.根据实施例a2的方法,还包括:基于已合并预测和已重构预测残差来重构矢量。a4.根据实施例a3的方法,其中,第一预测是基于已重构矢量的帧内预测。a5.根据实施例a2或a4的方法,其中,第二预测是基于先前针对所述一系列矢量重构的一个或多个矢量的帧间预测。a6.根据实施例a4中的方法,其中,帧内预测是通过执行包括以下操作的过程形成的:从预测器的集合中选择预测器;将所选择的预测器应用于已重构矢量;以及对与所选择的预测器相对应的索引进行编码。a7.根据实施例a5中的方法,其中,帧间预测是通过执行包括以下操作的过程形成的:从预测器的集合中选择预测器;将所选择的预测器应用于所述一个或多个先前重构的矢量;以及对与所选择的预测器相对应的索引进行编码。a8.根据实施例a1至a7中任一项的方法,还包括:对预测残差进行量化以形成第一残差量化器索引,其中,第一残差量化器索引与第一码字相关联。a9.根据实施例a8的方法,其中,使用可变比特率方案对预测残差进行编码包括:确定可用于编码的剩余比特量;以及确定第一码字的长度是否超过剩余比特量。a10.根据实施例a9的方法,其中,使用可变比特率方案对预测残差进行编码包括:作为确定第一码字的长度不超过剩余比特量的结果,对第一残差量化器索引进行编码。a11.根据实施例a9的方法,其中,使用可变比特率方案对预测残差进行编码包括:作为确定第一码字的长度超过剩余比特量的结果,获得第二残差量化器索引,其中,第二残差量化器索引与第二码字相关联,并且其中,第二码字的长度小于第一码字的长度;以及确定第二码字的长度是否超过所确定的剩余比特量。a12.根据实施例a1至a11中任一项的方法,,还包括:在第一输入声道上接收第一信号;在第二输入声道上接收第二信号;确定第一信号和第二信号的频谱特性;基于所确定的第一信号和第二信号的频谱特性来确定空间相干性;以及基于空间相干性确定矢量。a13.根据实施例a1至a11中任一项的方法,其中,该方法在包括至少两个输入声道的音频编码器和解码器系统中执行。a14.根据实施例a13的方法,该方法还包括:通过执行包括变换输入声道和分析频带中的输入声道的过程来创建频谱。a15.根据实施例a14的方法,其中,矢量包括相干性值的集合,并且其中,每个值与频带中的所述至少两个输入声道中的两个输入声道之间的相干性相对应。b1.一种用于对矢量进行解码的方法,该方法包括:形成矢量的第一预测;形成矢量的第二预测;获得预测加权因子;使用预测加权因子将所述第一预测和所述第二预测合并为已合并预测;接收并解码已编码预测残差;以及基于已合并预测和预测残差来重构矢量。b2.根据实施例b1的方法,其中,所述矢量是一系列矢量中的一个。b3.根据实施例b1或b2的方法,其中,第一预测是基于已重构矢量的帧内预测。b4.根据实施例b2或b3的方法,其中,第二预测是基于先前针对所述一系列矢量重构的一个或多个矢量的帧间预测。b5.根据实施例b3的方法,其中,帧内预测是通过执行包括以下操作的过程形成的:接收并解码预测器;以及将已解码预测器应用于已重构矢量。b6.根据实施例b4的方法,其中,帧间预测是通过执行包括以下操作的过程形成的:接收并解码预测器;以及将已解码预测器应用于所述一个或多个先前重构的矢量。b7.根据实施例b1至b6中任一项的方法,其中,对已编码预测残差进行解码还包括:确定可用于解码的剩余比特量;以及确定对已编码预测残差进行解码是否超过剩余比特量。b8.根据实施例b7的方法,其中,对已编码预测残差进行解码还包括:作为确定对已编码预测残差进行解码超过剩余比特量的结果,将预测残差设置为零。b9.根据实施例b7的方法,其中,对已编码预测残差进行解码还包括:作为确定对已编码预测残差进行解码不超过剩余比特量的结果,基于残差量化器索引导出预测残差,其中,残差量化器索引是预测残差的量化。b10.根据实施例b1至b9中任一项的方法,其中,获得预测加权因子的步骤包括以下操作之一:(i)导出预测加权因子;以及(ii)接收并解码预测加权因子。b11.根据实施例b1至b10中任一项的方法,还包括:基于已重构矢量来生成针对至少两个输出声道的信号。此外,尽管本文描述了本公开的各种实施例,但应当理解,它们仅仅是作为示例而不是限制来提出的。因此,本公开的宽度和范围不应当受到上述示例性实施例中任意一个的限制。此外,上述要素的以其所有可能变型进行的任意组合都包含在本公开中,除非另有指示或以其他方式与上下文明确冲突。此外,尽管上文描述并附图中示出的过程被示为一系列步骤,但这仅用于说明目的。因此,可以想到可增加一些步骤、可省略一些步骤,可重排步骤顺序,以及可并行执行一些步骤。当前第1页1 2 3 
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips