使用运动场的图像序列编码/解码的制作方法_2

文档序号:9621420阅读:来源:国知局
视频编码器204可以包括运动场计算逻辑206。运动场计算逻辑206从静止图像 帧对,例如,图像L 200和I。202,计算运动场和残余。在一个实施例中,运动场可以通过 多个系数来表示,其特征在于,系数是使用一系列数学函数计算出的数值。被选定用于计算 系数的数学函数的该系列被称为基。
[0033] 运动场可以不是场景的真运动的估计,在理想示例中,图像中的每一个像素都将 关联到最小化残余的运动矢量。然而,这样的运动场可能包含比图像本身更多信息,因此, 必须以计算场时的某些自由度换取对残余的有效率的编码。在各示例中,计算没有正确描 述运动但是可以被压缩并且还导致小残余的运动场。在一个示例中,视频编码器可以使用 密可压缩的运动场,这些运动场可以针对被压缩性和残余量级两者优化。
[0034] 在许多视频压缩算法中,最大的传输成本在于编码从利用运动场卷曲图像L 200 推导的^ 202的预测时,而并非在编码残余误差时。优化逻辑208可以被配置为优化遭受 编码运动场的成本的残余误差。用于编码运动场的预算可以先验地指定或运行时确定。在 一个示例中,优化可以包括权衡编码运动场的比特成本与残余量级。因此,可以优化受质量 和译码成本的限制的视频编码的效率。
[0035] 量化和编码逻辑210可以被配置为将已优化的运动场u编码为最小的比特数,而 不会降低残余的质量。在一个实施例中,量化和编码逻辑210可以被配置为通过将运动场 的系数分割为块,并将量化器指定到每一个块,将解编码为U。在一个示例中,量化器是均匀 量化器q。因此,视频编码器204的输出212是编码的运动场系数和残差。
[0036] 图3是可以通过图2的编码器来实现的视频编码的示例方法的流程图。在一个实 施例中,在示例视频编码器204中接收300 -对或多对图像200,202。例如,图像可以是来 自正在记录用户的视频数据的网络摄像头的图像。
[0037] 对于从视频序列中的图像帧中选择的一对图像,例如,图像对L 200和I。202,运 动场u和残余误差可由运动场逻辑206,作为描述如何卷曲来自L 200的像素以形成新图 像Idu)的每个像素运动矢量的场来计算302。在一个实施例中,运动场u是密运动场。新 图像I?可以被用作L 202的预测。运动场可以不是场景的真运动的估计,在理想示例 中,图像中的每一个像素都将关联到最小化残余的运动矢量。然而,这样的运动场可以比图 像本身包含更多信息,因此,可以以在计算场时的某些自由度换取有效率的可编码性。
[0038] 在一个实施例中,运动场u可以通过给定基中的多个系数来表示,其中,基是一系 列数学函数。在一个实施例中,基可以是线性小波基。线性小波基是一系列"波形的"数学 函数,这些数学函数可以线性地相加,以表示连续函数。在一个示例中,线性小波基可以通 过矩阵W来表示。在各个示例中,可以选定基,以稀疏地表示各种运动并允许有效率的优 化。在一个实施例中,线性小波基可以是垂直小波,例如,诸如Haar或最小非对称小波之类 的正方形函数的序列。
[0039] 在一个示例中,可以选择304代理函数,以允许对运动场的系数的压缩性的估计。 在一个示例中,选择代理函数可以包括搜索多个代理函数,以发现优化运动场的压缩性的 代理函数。在一个示例中,可以使用一组训练数据,预先执行对代理函数的选择。在另一个 示例中,对代理函数的选择可以针对每一个计算出的运动场,在运行时执行。在一个示例 中,代理函数是易处理的代理函数;即,可以以实用方式计算出的代理函数。
[0040] 在一个实施例中,通过优化减少受代理函数影响的残余误差的目标函数,估计306 运动场的系数的压缩性。例如,可以为残余大小和场的压缩,优化目标函数。例如,残余可 以相对于用于译码运动场的比特成本(也被称为空间成本)的代理函数被最小化。下面参 考图4比较详细地描述了对代理函数的选择,下面参考图5描述了通过优化,对运动场的系 数的压缩性的估计。在一个示例中,代理函数是分段光滑代理函数。
[0041] 然后,可以量化308和编码310选定的基中的已优化的运动场系数。下面将参考 图6给出关于运动场的量化的更多细节。然后,可以编码已量化的系数,用于传输或存储。
[0042] 图4是获得运动场的译码成本(也被称为空间成本)的示例方法的流程图。在一 个实施例中,灰度图像的单分量可以被表示为一组实数》wxi3中的矢量,其中,w是宽度, h是高度。在一个实施例中,在优化逻辑208中接收400运动场u。运动场u可以被表示为 中的一矢量,Uc]是运动场的水平分量,u 1是运动场的垂直分量。
[0043] 运动场可以被约束于图像矩形内的矢量,即,对于每个0彡i彡w-Ι和0彡j彡h-1 来说,
这被称为可行的场:F的组。运动场u可 以表示402为通过矩阵W来表示的线性基的系数α,以便u = W α,并且a = W 在各个 示例中,线性基可以是小波基。
[0044] 在一个实施例中,可以使用Bits (W 4)来表示u的译码成本,即,通过编码器量化 和译码W 4的系数获得的比特的数量,残余可以通过I。-、(u),当前帧的预测和帧之间的差 异,来表示。给定场的比特预算B,可以最小化受预算影响的残余
[0046] 其中,Μ · | |是某种失真量度。如上文所指出的,预算可以预先或在运行时指定。 在一个示例中,失真量度可以是L1或L2范数,这是一种描述有限空间中的矢量的长度、距离 或范围的方式。然而,可以使用其他范数的一般化。公式2折衷受编码运动场系数的成本 影响的残余误差,以在给定用于编码Β的有限数量的比特的情况下,判断具有大残余误差 或花费大量的比特来编码运动场是否最佳。
[0047] 在一个示例中,可以使用速率失真优化来优化译码成本。速率失真优化是指针对 编码视频数据所需的数据量的视频质量的损失的优化。在一个示例中,速率失真优化通过 充当视频质量度量,测量与源材料的偏差和每一个可能的决策结果的比特成本来解决上述 问题。比特数在数学上通过将比特成本乘以拉格朗日算子λ (表示比特成本和特定质量级 别的质量之间的关系的值)来测量。
[0048] 使用速率失真方法,上面的公式(1)可以被重写为
[0050] 其中,λ是以对于残余量级折衷场编码的比特的拉格朗日乘数。在一个示例中, 此参数可以是先验地设置的,例如,通过从所希望的比特率估计它。在另一个示例中,可以 优化此参数。
[0051] 为了优化上面的公式,需要获得406易处理的代理函数。在一个实施例中,编码器 可以搜索多个代理函数。可以根据一个或多个参数,选择代理函数。在一个实施例中,选择 的代理函数可以是优化编码样本的运动场或在训练时间训练数据集的比特成本的代理函 数。在其他示例中,代理函数可以是逐帧地或逐数据集地选择的,以实现帧或数据集的最佳 比特成本。
[0052] 在一个实施例中,接收到的400运动场可以被表示为小波场。假设W为带有 diag(W',W')的块对角矩阵,即,场的水平和垂直分量被利用相同变换矩阵,独立地变换 404。W'可以是正交可分离的多级别小波变换,即,WiiWT。小波变换可以使用任何合适 的小波,例如,Haar小波或最小非对称的(Symlet)小波。在一个示例中,系数a =WTu可 以被分成表示递归波长分解的每一级别的细节的多个级别。在一个示例中,在可分离的2D 情况下,每一级别(第一除外)可以被进一步分成3个子频带,它们对应于水平、垂直和对 角线细节。在一个具体示例中,可以使用6个级别(5加一个近似级别)。然而,可以使用任 何合适的数量的级别,例如,多于或少于6个级别。第b子频带可以被表示为(WTu)b,以便 第b子频带的第i系数是(wVu。
[0053] 编码WTu的系数包括编码非零系数的位置和已量化的系数的符号和大小。在一 个示例中,备是带有已变换的基中的整数系数的方程(2)的解,nb是子频带b中的系数 的数量,mb是非零的数量。在一个示例中,给定子频带中的非零的位置的集的熵可以以
为上界。每一系数
;:的贡献可以被写作(log nb-log mb+2) II [ a b,# 0]。对于矢量的稀疏性的优化可以是硬组合问题,因此,可以作出近似,以 允许运动场系数的优化。
[0054] 在一个示例中,可以假设,如果解是稀疏的,则mb可以被固定于小常数。在另一个 示例中,可以假设带有l〇g(| α^Ι+l)的指示函数?Πα^^Ο],其中,假设编码系数α所 需的比特的数量可以被Yilogl α+?| + γ2限制。组合这两个近似成本,每个系数代理比特 成本可以被近似为(log rib+Cbjlogd a^il+D+Cb,;;,带有 cb,JPcb,2常数。写
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1