法律状态公告日
法律状态信息
法律状态
2016-06-29
授权
授权
2013-02-27
实质审查的生效 IPC(主分类):H04N7/26 申请日:20100409
实质审查的生效
2013-01-16
公开
公开
技术领域
本发明涉及视频技术,尤其涉及一种视频图像编解码过程中视频图像运动 信息的获取方法、装置及设备、以及一种应用在视频图像编解码过程中的模板 构造方法。
背景技术
随着视频编码技术的不断发展,帧间的运动搜索和补偿技术能够有效地去 除视频内容的时间冗余,编码效率得到了很大程度的提高;通过运动估计得到 运动信息并把它传递给解码端,由解码端通过运动补偿的方法对视频图像进行 预测重建。然而由于运动补偿后预测残差在码流中所占的比重的大幅度下降, 同时运动矢量信息在码流中的比重不断上升,如何有效地压缩运动信息成为进 一步提升视频压缩效率的关键。
现有技术中有一种减少视频图像编解码过程中运动信息在码流中比重的获 取运动信息的方法:
通过模板匹配来获取运动矢量;具体地,以当前块是B帧中的宏块为例, 如图1所示,首先在当前块的周围用重建值构造一个模板TM,然后在该块的前 向参考帧(Ref List0)和后向参考帧(Ref List1)中用与模板TM形状相同的模 板进行搜索匹配得到运动矢量MV0和MV1作为当前块的运动矢量,同时得到 当前块的预测值,对其进行预测残差编码。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
在获取运动信息时引入的预测误差较大,使得视频图像编码的效率低。
发明内容
本发明的实施例还提供一种应用在视频编解码过程中的模板构造方法,包 括:
在当前块的部分周边块的重建值未知的情况下,根据所述重建值未知的周 边块对应的已经解析的运动信息在对应参考帧中获得所述周边块的预测值,然 后利用所述预测值和所述当前块周边已知的重建值构造模板。
本发明实施例提供的视频图像运动信息的获取方法及装置,通过改变确定 参考块的方法来改进视频图像中运动信息的获取过程,可以提高视频图像的编 解码效率。本发明实施例提供的模板构造方法,能够在当前块为划分块时利用 周边块对应的预测值来代替所述周边块的未知重建值,进而完成当前块的模板 构建。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中通过模板匹配获取运动矢量的方法示意图;
图2为本发明实施例一中的方法流程图;
图3为本发明实施例一中的装置示意图;
图4为本发明实施例二中的方法流程图;
图5为本发明实施例二中的参考帧结构示意图一;
图6为本发明实施例二中的参考帧结构示意图二;
图7为本发明实施例三中的方法流程图;
图8为本发明实施例三中的参考帧结构示意图一;
图9为本发明实施例三中的参考帧结构示意图二;
图10为本发明实施例四中的装置示意图;
图11为本发明实施例五中的方法流程图;
图12为本发明实施例五中的装置示意图;
图13为本发明实施例六中的方法流程图;
图14为本发明实施例六中的参考帧结构示意图;
图15为本发明实施例七中的方法流程图;
图16为本发明实施例八中的装置示意图;
图17为本发明实施例九中的电子设备的示意图;
图18为本发明实施例十中的B帧示意图;
图19为本发明实施例三中宏块划分下的模板解码示意图;
图20为本发明实施例三中8X8宏块划分下的模板解码示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部 的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳 动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
如图2所示,本实施例提供的获取视频图像运动信息的方法,包括以下步 骤:
201、根据与当前块相关的已知运动信息确定所述当前块在第一参考帧中对 应的至少一个备选第一参考块。
在本实施例中,所述与当前块相关的已知运动信息可以是与当前块在时间 上或者空间上相关的已编码块或者已解码块的运动矢量;
具体地,从与当前块相关的编码块/解码块的运动矢量中选择其全部或者部 分组成一个备选运动矢量集,然后根据每个备选运动矢量在第一参考帧中对应 地确定一个备选第一参考块,从而得到一组备选第一参考块。
202、在第二参考帧中确定与每个所述备选第一参考块分别对应的至少一个 备选第二参考块。
根据备选第一参考块与当前块的位置关系,确定每个备选第一参考块到当 前块的运动矢量,并结合所述运动矢量在第二参考帧中确定与每个备选第一参 考块分别对应的备选第二参考块;
例如,在本实施例中可以通过对称性搜索来确定各个备选第一参考块在所 述第二参考帧中对应的备选第二参考块,也就是说,对称性搜索后,所述备选 第一参考块与其对应的搜索到的备选第二参考块以当前块为中心等比例对称。
203、计算每个备选第一参考块与其相对应的备选第二参考块之间的误差 和。
所述误差和,可以是绝对误差和(SAD)、绝对转换误差和(sum of absolute transformation differences)、或者绝对平方差和,当然还可以是其它一些可以用 于描述两个参考块之间相似性的参数;在本实施例中以及以下各个实施例中, 均以绝对误差和为例对本发明提供的方案进行阐述。
204、选取最小SAD所对应的备选第一参考块和备选第二参考块作为当前 块的第一参考块和第二参考块,根据所述第一参考块和第二参考块确定的运动 矢量得到所述当前块的运动信息。
为了更好地实现上述获取视频图像运动信息的方法,本实施例还提供了一 种获取视频图像运动信息的装置,如图3所示,包括第一确定单元301、第二确 定单元302、计算单元303以及选取单元304;其中,
第一确定单元301根据与当前块相关的已知运动信息确定所述当前块在第 一参考帧中对应的至少一个备选第一参考块;然后,由第二确定单元302通过 对称性搜索在第二参考帧中确定与所述至少一个备选第一参考块分别对应的至 少一个备选第二参考块;之后,计算单元303计算出每个所述备选第一参考块 与其相对应的备选第二参考块之间的误差和;最后,选取单元304选取误差和 最小的备选第一参考块和备选第二参考块作为所述当前块的第一参考块和第二 参考块,根据所述第一参考块和第二参考块确定的运动矢量得到所述当前块的 运动信息。
本发明实施例提供的方法可以根据实际需要对各个步骤顺序进行调整。
本实施例提供的获取视频图像运动信息的方法及装置,改变了在确定参考 块过程中确定参考块的策略,可以在保证编码性能基本不变的情况下降低参考 块确定过程实现的复杂度,从而改进了视频图像中运动信息的获取过程,提高 了视频图像的编解码效率。
实施例二:
以按B帧编码为例,如图4所示,本实施例提供的获取视频图像运动信息 的方法,具体包括以下步骤:
401、利用当前块周围已编码的块的运动矢量组成一个备选运动矢量集,其 中包括与当前块相关的编码块的运动矢量中的部分或者全部。
所述当前块可以是完整的宏块,也可以是宏块的划分块,在这里以完整的 宏块为例;
所述备选运动矢量集中可以包括:与当前块(Curr_blk)在空间上相关的周 边块的运动矢量MVL、MVU、MVR和MEAN(MVL、MVU、MVR),前向参 考帧fn-1中相同位置块中的运动矢量(如图5中的col_MV1、col_MV2、col_MV3、 col_MV4)以及相同位置块的周边块的运动矢量(如图5中的MV1、MV2、...、 MV12),后向参考帧fn+1中相同位置块中的运动矢量(如图5中的col_MV1′、 col_MV2′、col_MV3′、col_MV4′)以及相同位置块的周边块的运动矢量(如图5 中的MV1′、MV2′、...、MV12′)中的全部或者其中一部分,即包括当前块的左 边块,上边块,左上块,右上块,在参考帧中和当前块相同位置的块的左边块, 上边块,左上块,右上块或其中的一部分,以及在参考帧中和当前块相同位置 的块。
402、选择所述备选运动矢量集中的一个运动矢量,根据该运动矢量在第一 参考帧(在本实施例中,以当前帧的前向参考帧fn-1为第一参考帧)中找到一个 备选第一参考块blk11。
403、根据所述备选第一参考块blk11与当前块的位置关系,得到备选第一 参考块blk11到当前块的运动矢量;结合该运动矢量在第二参考帧(在本实施例 中,以当前帧的后向参考帧fn+1为第二参考帧)中确定与备选第一参考块blk11 对应的备选第二参考块blk21。
404、计算出备选第一参考块blk11与备选第二参考块blk21之间的绝对误 差和SAD1。
在执行完步骤404之后,在所述备选运动矢量集中未选择的运动矢量中重 新选择一个运动矢量,重复执行步骤402至404;若所述备选运动矢量集中共有 p个运动矢量,则上述步骤需要重复操作p-1次,从而依次确定备选第一参考块 blk12、blk13、...以及与之分别对应的备选第二参考块blk22、blk23、...,并且 得到每两个对应的备选参考块之间的绝对误差和SAD2、SAD3、...。
405、选取上述绝对误差和SAD1、SAD2、SAD3、...中最小的SAD所对应 的备选第一参考块和备选第二参考块作为当前块的第一参考块和第二参考块, 则根据所述第一参考块和第二参考块确定的运动矢量(u,v)即为当前块的运动 矢量。
406、根据所述当前块的运动矢量计算当前块的预测值。
如果前向预测帧fn-1和后向预测帧fn+1到当前帧fn的距离相等,则可以利用 公式(1)来计算得到当前块的预测值:
如果前向预测帧fn-1和后向预测帧fn+1到当前帧fn的距离不相等,则可以利 用公式(2)来计算得到当前块的预测值:
其中,d1为前向预测帧fn-1到当前帧fn的距离,d2为后向预测帧fn+1到当前帧fn的距离。
如果此时处于视频图像的编码阶段,则执行步骤407;如果此时处于视频图 像的解码阶段,则执行步骤408。
407、计算所述当前块的预测值和真实值之间的差值,进行视频图像的预测 残差编码。
408、从接收到的码流中解码出图像块的预测值和真实值之间的差值,当前 块所对应的差值与步骤406中得到的预测值相加后得到的和,即为当前块解码 后的真实值。
在本实施例中,以上各步骤的编号并不用于限定各个步骤之间的执行顺序, 本发明实施例提供的方法可以根据实际需要对各个步骤顺序进行调整。
此外,为了使解码端能够得到更为准确的运动信息,在本实施例中编码端 还可以根据获取到的运动信息求得其与真实运动信息之间的差值,并将运动信 息的差值发送给解码端;而且,当前块的预测值也是根据所述真实运动信息计 算得到的,即求得步骤405获取到的根据所述第一参考块和第二参考块确定的 运动矢量(u,v)和当前块通过运动搜索得到的真实运动矢量之间的矢量差,将 所述运动矢量误差发送给解码端。这样,解码端在接收到编码端提供的数据后, 首先根据所述运动信息的差值恢复出真实运动信息,并根据该真实运动信息计 算出当前块的预测值并进一步对当前块进行重建。
如果本实施例中的当前块是宏块的部分划分块,如图6所示,则在确定备 选运动矢量集时就不能再考虑和当前块的Neighborhood_blk(即和当前块相邻 的、且和当前块属于同一宏块或子块的图像块)相关的运动矢量,这样才能避 免当前块因受到Neighborhood_blk的影响而出现错误预测;从图6中可以看到, 此时的备选运动矢量集包括:与当前块在空间上相关的周边块的运动矢量 MVLU、MVU、MVR,前向参考帧fn-1中的运动矢量(col_MV1、col_MV2、 MV1、MV2、...、MV7),后向参考帧fn+1中的运动矢量(col_MV1′、col_MV2′、 MV1′、MV2′、...、MV7′)中的全部或者其中一部分。
本实施例提供的获取视频图像运动信息的方法,改变了在确定参考块过程 中确定参考块的策略,可以在保证编码/解码性能基本不变的情况下降低参考块 确定过程实现的复杂度,从而改进了视频图像中运动信息的获取过程,提高了 视频图像的编解码效率。
实施例三:
为了进一步提高编解码性能,可以将模板比较的方法引入到实施例二所描 述的方法中;以按B帧编码为例,如图7所示,本实施例提供的获取视频图像 运动信息的方法,具体包括以下步骤:
701、在当前帧fn中当前块(Curr_blk)的周围利用重建值构造一个模板TM1。
702、利用当前块周边已编码的块的运动矢量组成一个备选运动矢量集,其 中包括与当前块相关的编码块的运动矢量中的部分或者全部。
所述当前块可以是完整的宏块,也可以是宏块的划分块,在本实施例中仍 然以完整的宏块为例。
703、选择所述备选运动矢量集中的一个运动矢量,根据该运动矢量在第一 参考帧(在本实施例中,以当前帧的前向参考帧fn-1为第一参考帧)中找到一个 备选第一参考块blk11,并在备选第一参考块blk11的周围利用重建值构建模板 TM21,如图8所示。
704、根据所述备选第一参考块blk11与当前块的位置关系,得到备选第一 参考块blk11到当前块的运动矢量;结合该运动矢量在第二参考帧(在本实施例 中,以当前帧的后向参考帧fn+1为第二参考帧)中确定与备选第一参考块blk11 对应的备选第二参考块blk21。
705、计算出备选第一参考块blk11与备选第二参考块blk21之间的绝对误 差和SAD1,以及模板TM1和模板TM21之间的绝对误差和SAD1′。
在执行完步骤705之后,在所述备选运动矢量集中未选择的运动矢量中重 新选择一个运动矢量,重复执行步骤703至705;若所述备选运动矢量集中共有 p个运动矢量,则上述步骤需要重复操作p-1次,从而依次确定备选第一参考块 blk12、blk13以及与之分别对应的备选第二参考块blk22、blk23、...和模板TM22、 TM23、...,并且得到每两个对应的备选参考块之间的绝对误差和SAD2、 SAD3、...,以及模板TM1和模板TM22、TM23、...之间的绝对误差和SAD2′、 SAD3′、...。
706、计算SAD x和SAD x′的加权和:SUMx=(a*SAD x+b*SAD x′),其中 x为从1到p的自然数,SAD x和SAD x′的权重a和b分别表示参考块相似度和 模板相似度对编码性能的影响程度。
例如,权重a和b的具体数值只要满足:a和b的比值等于当前块的面积和 模板TM1的面积的比值就可以了。
707、选取上述加权和SUMx中最小的加权和所对应的备选第一参考块和备 选第二参考块作为当前块的第一参考块和第二参考块,则由所述第一参考块和 第二参考块确定的运动矢量(u,v)即为当前块的运动矢量。
708、根据所述当前块的运动矢量计算当前块的预测值。
如果前向预测帧fn-1和后向预测帧fn+1到当前帧fn的距离相等,则利用公式 (1)来计算得到当前块的预测值:
如果前向预测帧fn-1和后向预测帧fn+1到当前帧fn的距离不相等,则利用公 式(2)来计算得到当前块的预测值:
其中,d1为前向预测帧fn-1到当前帧fn的距离,d2为后向预测帧fn+1到当前帧fn的距离。
如果此时处于视频图像的编码阶段,则执行步骤709;如果此时处于视频图 像的解码阶段,则执行步骤710。
709、计算所述当前块的预测值和真实值之间的差值,进行视频图像的预测 残差编码。
710、从接收到的码流中解码出图像块的预测值和真实值之间的差值,当前 块所对应的差值与步骤708中得到的预测值相加后得到的和,即为当前块解码 后的真实值。
在本实施例中,以上各步骤的编号并不用于限定各个步骤之间的执行顺序, 本发明实施例提供的方法可以根据实际需要对各个步骤顺序进行调整。
此外,为了使解码端能够得到更为准确的运动信息,在本实施例中编码端 还可以根据获取到的运动信息求得其与真实运动信息之间的差值,并将运动信 息的差值发送给解码端;而且,当前块的预测值也是根据所述真实运动信息计 算得到的。这样,解码端在接收到编码端提供的数据后,首先根据所述运动信 息的差值恢复出真实运动信息,并根据该真实运动信息计算出当前块的预测值 并进一步对当前块进行重建。
如果本实施例中的当前块是宏块的部分划分块,如图6所示,则在确定备 选运动矢量集时就不能再考虑和当前块的Neighborhood_blk(即和当前块相邻 的、且和当前块属于同一宏块或子块的图像块)相关的运动矢量,这样才能避 免当前块因受到Neighborhood_blk的影响而出现错误预测;
而且,在为当前块构造模板时,如图9所示,在为划分块p2构造模板时, 其模板的上半部分可以直接用当前划分块p2周边的重建值进行构造,而左半部 分(阴影部分)由于无法直接获取到周边的重建值,因此需要利用划分块p1的 运动信息在参考帧中找到对应的预测块pp1,然后用预测块pp1中对应阴影位置 的预测值作为划分块p2对应模板的左半部分的值。这样,本发明实施例中提供 的构造模板的方法能够在当前块为划分块时利用其周边块对应的预测值来代替 所述周边块的未知重建值,进而完成当前块的模板构建,解决了当前块为划分 块时无法获取到完整的周边块重建值的问题。
在另一实施情况中,利用已解码得到的当前宏块划分块的相邻宏块划分块 的运动信息,在所述相邻宏块划分块的参考帧中得到预测块构造当前宏块划分 块的模板,根据所述当前宏块划分块的模板在所述当前宏块划分块的参考帧中 找到当前宏块划分块的模板的匹配参考模板,得到当前宏块划分块的运动信息, 进一步采用所述匹配参考模板对应的参考块补偿当前宏块划分块的残差数据, 重建当前宏块划分块,或者采用所述匹配参考模板对应的参考块预测当前宏块 划分块得到残差数据用于解码端重建当前宏块划分块。
具体的,如图19所示,以当前宏块按照16x8宏块划分编码为例,当解码 当前宏块curr时,先解码出宏块类型信息和当前宏块的宏块划分P1的运动信息 MV1,如果当前宏块划分P2是利用模板技术编码的,则利用已经得到的P1的 运动信息MV1,在宏块划分P1的参考帧中找到对应的参考块,取到构成模板所 需要的足够的预测像素,如图19中虚箭头连接的灰色块所表示的预测像素块作 为当前宏块划分P2的模板的左半部,同时利用当前宏块划分P2上边邻近的重 建像素块构成当前模板TM,然后在参考帧中找到和当前模板TM最匹配的参考 模板,该参考模板所对应的运动信息MV2作为当前宏块划分P2的运动矢量, 同时利用该运动矢量所指的参考模板邻近的右下方参考块作为当前宏块划分P2 的预测块,补偿当前宏块划分P2的残差分量,重建当前宏块划分P2。
如图20是8X8宏块划分下的模板解码过程,当解码第4个8x8块时,先用 周边子块的运动矢量在参考帧中取到对应的预测块1,2,3,组合成当前模板, 在利用当前模板,在参考帧中和参考模板匹配搜索,找到当前块的预测值,利 用得到的当前块的预测值去补偿当前块残差值,重建当前块。编码过程与之对 应,利用组合得到的当前模板和参考模板匹配搜索,找到当前块的预测值,利 用得到的当前块的预测值去预测当前块残差值,编码残差值。
另一实施情况中,如图20所示,当前宏块按照8x8宏块划分编码,当解码 当前宏块curr时,先解码出宏块类型信息和当前宏块的宏块划分的运动信息 MV1,MV2,MV3,MV4,如果当前宏块划分是利用模板技术编码的,则利用已 经得到的宏块划分的运动信息MV1,MV2,MV3,在对应的宏块划分的参考帧中 找到对应的参考块(如图20中的1,2,3),取到构成模板所需要的足够的预测 像素,如图20中箭头连接的黄色块所表示的预测像素块作为当前宏块划分的模 板的左半边和上半边,构成当前模板TM,然后在参考帧中找到和当前模板TM 匹配的参考模板TMref,利用TM和TMref计算得到当前宏块划分的亮度差 IDCO,IDCO=(TM-TMref)/Num,其中Num表示模板包含的象素个数,同 时利用该亮度差更新当前块的预测值pred,使得更新的预测值pred’,pred’(i, j)=pred(i,j)+IDCO,(i,j)表示像素点位置,利用更新的预测值pred’补 偿残值值,得到重建当前宏块划分。上述实现适应目前解码器硬件设计的模块 化要求,降低数据读取的频次,提高数据读取的效率,减少模块切换的次数, 使模板技术能够运用到宏块划分中。
本实施例提供的获取视频图像运动信息的方法,改变了在确定参考块过程 中对参考块进行确定的策略,并且在进行参考块相似度比较的时候进一步引入 了模板的相似度比较,使得参考块的确定过程更为严谨,可以在保证编码/解码 性能基本不变的情况下降低搜索过程实现的复杂度,从而改进了视频图像中运 动信息的获取过程,提高了视频图像的编解码效率。
实施例四:
如图10所示,本实施例提供的获取视频图像运动信息的装置,包括:第一 确定单元1001、第二确定单元1002、计算单元1003以及选取单元1004;其中,
第一确定单元1001根据与当前块相关的已知运动信息确定所述当前块在第 一参考帧中对应的至少一个备选第一参考块;然后,由第二确定单元1002通过 对称性搜索在第二参考帧中确定与所述至少一个备选第一参考块分别对应的至 少一个备选第二参考块;之后,计算单元1003计算出每个所述备选第一参考块 与其相对应的备选第二参考块之间的绝对误差和;最后,选取单元1004选取绝 对误差和最小的备选第一参考块和备选第二参考块作为所述当前块的第一参考 块和第二参考块,根据所述第一参考块和第二参考块确定的运动矢量得到所述 当前块的运动信息。
进一步地,本实施例提供的获取视频图像运动信息的装置,还可以包括: 第一构造单元1005和第二构造单元1006;其中,
第一构造单元1005,用于在所述当前块的周围利用重建值构造一个模板; 第二构造单元1006,用于在所述第一参考帧中,在所述至少一个备选第一参考 块中每个备选第一参考块的周围分别利用重建值构造一个与其对应的模板;此 时的计算单元1003,用于计算所述备选第一参考块与其相对应的备选第二参考 块之间的绝对误差和、以及该备选第一参考块对应的模板与所述当前块对应的 模板之间的绝对误差和,然后计算二者的加权和,而选取单元1004则用于选取 所述加权和最小的备选第一参考块和备选第二参考块作为所述当前块的第一参 考块和第二参考块,且所述第一参考块和第二参考块之间的运动信息即为所述 当前块的运动信息。
此外,本实施例提供的获取视频图像运动信息的装置,还可以包括编码单 元1007,用于利用根据所述第一参考块和第二参考块确定的运动信息得到的所 述当前块的运动信息计算所述当前块的预测值,并进行预测残差编码;
或者,该装置还可以包括解码单元1008,用于利用根据所述第一参考块和 第二参考块确定的运动信息得到的所述当前块的运动信息计算所述当前块的预 测值,并对接收到的码流进行解码。
本发明实施例的装置具体可以表现为电路、集成电路或芯片等。
本实施例提供的获取视频图像运动信息的装置,改变了在确定参考块过程 中对参考块确定的策略,可以在保证编码性能基本不变的情况下降低参考块确 定过程实现的复杂度,从而改进了视频图像中运动信息的获取过程,提高了视 频图像的编解码效率。
实施例五:
如图11所示,本实施例提供的获取视频图像运动信息的方法,包括以下步 骤:
1101、在第一参考帧中通过模板匹配获取到当前块相关的第一运动信息, 根据所述第一运动信息确定第一参考块;
1102、在第二参考帧中通过模板匹配获取到所述第一参考块相关的第二运 动信息,根据所述第二运动信息确定第二参考块;
1103、根据所述第一运动信息和所述第二运动信息确定所述当前块的运动 信息。
为了更好地实现上述获取视频图像运动信息的方法,本实施例还提供了一 种获取视频图像运动信息的装置,如图12所示,包括第一匹配单元1201、第二 匹配单元1202和计算单元1203;
在获取视频图像运动信息的过程中,首先由第一匹配单元1201在第一参考 帧中通过模板匹配获取到当前块相关的第一运动信息,根据所述第一运动信息 确定第一参考块;然后由第二匹配单元1202在第二参考帧中通过模板匹配获取 到所述第一参考块相关的第二运动信息,根据所述第二运动信息确定第二参考 块;之后,计算单元1203根据所述第一运动信息和所述第二运动信息计算得到 所述当前块的运动信息。
本发明实施例提供的方法可以根据实际需要对各个步骤顺序进行调整。
本实施例提供的获取视频图像运动信息的方法及装置,在通过模板匹配的 方法搜索参考块时,引入了运动估计的因素,从而使获取到的运动信息较现有 技术更为准确。
实施例六:
以按B帧编码为例,参考图13和图14所示,本实施例提供的获取视频图 像运动信息的方法,具体包括以下步骤:
1301、利用当前块的周围已编码块的重建值构造一个模板TM1,然后在第 一参考帧中(以当前帧的前向参考帧为例)以预测运动矢量为中心的规定搜索 范围内,以与模板TM1形状相同的模板TM2进行搜索,获取到当前块相对前 向参考帧的第一运动矢量(u1,v1),并根据该第一运动矢量在前向参考帧中确定 与当前块对应的第一参考块blk1。
在本实施例中,所述第一参考帧并不限于是当前帧的前向参考帧fn-1,当然 也可以是以当前帧的后向参考帧fn+1为第一参考帧,而以当前帧的前向参考帧fn-1为第二参考帧;
所述当前块可以是完整的宏块,也可以是宏块的划分块,在这里以完整的 宏块为例;
而且,所述与当前块相关的第一运动矢量(u1,v1)的确定过程为:在所述 以预测运动矢量为中心的规定搜索范围内,当模板TM2和TM1之间的匹配误 差(可以用两者之间的绝对误差之和SAD来衡量)最小时,模板TM1到TM2的 运动矢量(u1,v1)即为当前块相对前向参考帧的第一运动矢量,且此时在前向 参考帧中根据第一运动矢量(u1,v1)找到的块也就是当前块所对应的第一参考 块blk1。
1302、在第二参考帧(以后向参考帧为例)中,在以第一参考块blk1在后 向参考帧上的映射点为中心的规定搜索范围内,通过模板匹配的方法获取到第 一参考块相对后向参考帧的第二运动矢量(u,v),并根据该第二运动矢量在后 向参考帧中确定与所述第一参考块blk1对应的第二参考块blk2。
1303、根据所述第一运动矢量(u1,v1)和所述第二运动矢量(u,v)计算得 到所述当前块相对后向参考帧的运动信息。
在本实施例中,当前块到所述第二参考块blk2的运动矢量即为所述当前块 相对后向参考帧的运动信息;具体地,当前块相对后向参考帧的运动矢量为
(u2,v2)=(u,v)+(u1,v1) (3)
1304、根据所述当前块的运动矢量计算当前块的预测值。
所述当前块的运动矢量包括当前块相对前向参考帧fn-1的运动矢量(u1,v1)和 当前块相对后向参考帧fn+1的运动矢量(u2,v2),则在前向预测帧fn-1和后向预测 帧fn+1到当前帧fn的距离相等的情况下,当前块curr_blk的预测值可以直接根据 公式(4)计算得到:
fn(x,y)={fn-1(x+u1,y+v1)+fn+1(x+u2,y+v2)}/2 (4)
或者更精确些,考虑到前向预测帧fn-1和后向预测帧fn+1到当前帧fn的距离不相 等的情况,当前curr_blk的预测值是可根据公式(5)计算得到:
其中,
如果此时处于视频图像的编码阶段,则执行步骤1305;如果此时处于视频 图像的解码阶段,则执行步骤1306。
1305、计算所述当前块的预测值和真实值之间的差值,进行视频图像的预 测残差编码。
1306、从接收到的码流中解码出图像块的预测值和真实值之间的差值,当 前块所对应的差值与步骤1304中得到的预测值相加后得到的和,即为当前块解 码后的真实值。
在本实施例中,以上各步骤的编号并不用于限定各个步骤之间的执行顺序, 本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。
此外,为了使解码端能够得到更为准确的运动信息,在本实施例中编码端 还可以根据获取到的运动信息求得其与真实运动信息之间的差值,并将运动信 息的差值发送给解码端。这样,解码端在接收到编码端提供的数据后,首先根 据解析出所述运动信息的差值,并根据当前块的预测值恢复出真实运动信息, 并根据该真实运动信息进一步对当前块进行重建。
如果本实施例中的当前块是宏块的部分划分块,则在为当前块构造模板时 的方法同实施例三中相同,此处不再赘述。
本实施例提供的获取视频图像运动信息的方法,在通过模板匹配的方法搜 索参考块时,引入了运动估计的因素,从而使获取到的运动信息较现有技术更 为准确。
实施例七:
以按B帧编码为例,在进行编码时一般以前向参考帧作为第一参考帧,而 后向参考帧为第二参考帧,不过在某些时候以后向参考帧为第一参考帧反倒能 够得到更好的编码效果,因此本实施例在实施例六的基础上进一步改进,在进 行编码之前首先确定哪个参考帧最适合作为当前帧进行预测时的第一参考帧。
具体地,如图15所示,本实施例提供的获取视频图像运动信息的方法包括:
1501、在当前帧fn中当前块的周围利用重建值构造一个模板TM1。
所述当前块可以是完整的宏块,也可以是宏块的划分块,在本实施例中仍 然是以完整的宏块为例。
1502、通过模板匹配的方法在当前帧的前向参考帧中搜索当前块的最佳匹 配参考块blk1,及模板TM1的最佳匹配模板TM2;而且,当前块与参考块blk1 之间的绝对误差和为SAD1,模板TM1和模板TM2之间的绝对误差和为SAD3。
1503、通过模板匹配的方法在当前帧的后向参考帧中搜索当前块的最佳匹 配参考块blk2,及模板TM1的最佳匹配模板TM3;而且,当前块与参考块blk2 之间的绝对误差和为SAD2,模板TM1和模板TM3之间的绝对误差和为SAD4。
1504、根据步骤1502和步骤1503中获得的绝对误差和确定当前帧的第一 参考帧。
具体地,如果SAD1和SAD2满足:SAD1-SAD2≥0,或者SAD3和SAD4 满足:SAD3-SAD4≥0,则以当前帧的前向参考帧为第一参考帧,并且在码流中 添加匹配方向标记flag=0,则解码端就会根据该匹配方向标记在前向参考帧中 搜索当前块的第一参考块;否则,以当前帧的后向参考帧为第一参考帧,并且 在码流中添加匹配方向标记flag=1,那么解码端就会根据该匹配方向标记在后 向参考帧中搜索当前块的第一参考块。
下面以当前帧的前向参考帧是第一参考帧,即flag=0为例,此时当前块到 参考块blk1的第一运动矢量为(u1,v1),本实施例提供的获取视频图像运动信 息的方法还包括:
1505、在第二参考帧(后向参考帧)中,在以参考块blk1在后向参考帧上 的映射点为中心的规定搜索范围内,通过模板匹配的方法获取到参考块blk1相 对后向参考帧的第二运动矢量(u,v),并根据该第二运动矢量在后向参考帧中 确定与所述参考块blk1对应的参考块blk2′。
1506、根据所述第一运动矢量(u1,v1)和所述第二运动矢量(u,v)计算得 到所述当前块相对后向参考帧的运动信息。
在本实施例中,当前块到所述参考块blk2′的运动矢量即为所述当前块相对 后向参考帧的运动信息;具体地,当前块相对后向参考帧的运动矢量为
(u2,v2)=(u,v)+(u1,v1) (3)
1507、根据所述当前块的运动矢量计算当前块的预测值。
所述当前块的运动矢量包括当前块相对前向参考帧fn-1的运动矢量(u1,v1)和 当前块相对后向参考帧fn+1的运动矢量(u2,v2),则在前向预测帧fn-1和后向预测 帧fn+1到当前帧fn的距离相等的情况下,当前块curr_blk的预测值可以直接根据 公式(4)计算得到:
fn(x,y)={fn-1(x+u1,y+v1)+fn+1(x+u2,y+v2)}/2 (4)
或者更精确些,考虑到前向预测帧fn-1和后向预测帧fn+1到当前帧fn的距离不相 等的情况,当前curr_blk的预测值是可根据公式(5)计算得到:
其中,
如果此时处于视频图像的编码阶段,则执行步骤1508;如果此时处于视频 图像的解码阶段,则执行步骤1509。
1508、计算所述当前块的预测值和真实值之间的差值,进行视频图像的预 测残差编码。
1509、从接收到的码流中解码出图像块的预测值和真实值之间的差值,当 前块所对应的差值与步骤1507中得到的预测值相加后得到的和,即为当前块解 码后的真实值。
在本实施例中,以上各步骤的编号并不用于限定各个步骤之间的执行顺序, 本发明实施例方法可以根据实际需要对各个步骤顺序进行调整。
此外,为了使解码端能够得到更为准确的运动信息,在本实施例中编码端 还可以根据获取到的运动信息求得其与真实运动信息之间的差值,并将运动信 息的差值发送给解码端。这样,解码端在接收到编码端提供的数据后,首先解 析出所述运动信息的差值,并根据当前块的预测信息计算出该真实运动信息并 进一步对当前块进行重建。
如果本实施例中的当前块是宏块的部分划分块,则在为当前块构造模板时 的方法同实施例三中相同,此处不再赘述。
本实施例提供的获取视频图像运动信息的方法,在通过模板匹配的方法搜 索参考块时引入了运动估计的因素,而且在编码前根据当前帧与不同参考帧之 间的参考块匹配程度或者模板匹配程度来确定一个第一参考帧,使视频图像的 编解码得到进一步优化,从而使获取到的运动信息较现有技术也更为准确。
实施例八:
如图16所示,本实施例提供的获取视频图像运动信息的装置,包括:第一 匹配单元1601、第二匹配单元1602和计算单元1603;
在获取视频图像运动信息的过程中,首先由第一匹配单元1601在第一参考 帧中通过模板匹配获取到当前块相关的第一运动信息,根据所述第一运动信息 确定第一参考块;然后由第二匹配单元1602在第二参考帧中通过模板匹配获取 到所述第一参考块相关的第二运动信息,根据所述第二运动信息确定第二参考 块;之后,计算单元1603根据所述第一运动信息和所述第二运动信息计算得到 所述当前块的运动信息。
在本实施例中,所述获取视频图像运动信息的装置还可以包括确定单元 1604,该确定单元1604用于在进行编码前确定当前帧的第一参考帧;
具体地,如果本实施例提供的装置位于编码端,当前块与其在前向参考帧 中的参考块blk1之间的绝对误差和为SAD1,当前块与其在后向参考帧中的参 考块blk2之间的绝对误差和为SAD2;当前块对应的模板TM1与其在前向参考 帧中的匹配模板TM2之间的绝对误差和为SAD3,模板TM1与其在后向参考帧 中的匹配模板TM3之间的绝对误差和为SAD4;如果SAD1和SAD2满足: SAD1-SAD2≥0,或者SAD3和SAD4满足:SAD3-SAD4≥0,则以当前帧的前 向参考帧为第一参考帧,并且在码流中添加匹配方向标记flag=0;否则,以当 前帧的后向参考帧为第一参考帧,并且在码流中添加匹配方向标记flag=1;
而如果本实施例提供的装置位于解码端,则确定单元1604可直接根据码流 中的匹配方向标记flag来判断出当前帧的第一参考帧。
此外,本实施例提供的获取视频图像运动信息的装置,还可以包括编码单 元1605,用于根据所述当前块的运动信息计算所述当前块的预测值,并进行预 测残差编码;
或者,该装置还可以包括解码单元1606,用于根据所述当前块的运动信息 计算所述当前块的预测值,并对接收到的码流进行解码。
本发明实施例的装置具体可以表现为电路、集成电路或芯片等。
本实施例提供的获取视频图像运动信息的装置,在通过模板匹配的方法搜 索参考块时引入了运动估计的因素,而且在编码前根据当前帧与不同参考帧之 间的参考块匹配程度或者模板匹配程度来确定一个第一参考帧,使视频图像的 编解码得到进一步优化,从而使获取到的运动信息较现有技术也更为准确。
实施例九:
如图17所示,本发明实施例还提供一种电子设备,其包括收发装置1701 以及实施例四或实施例八中提供的获取视频图像运动信息的装置1702;具体地,
收发装置1701,用于接收或发送视频信息;
本实施例提供的获取视频图像运动信息的装置1702的技术方案可以结合参 考实施例四或实施例八中提供的技术方案,在此不作赘述。
本发明实施例的电子设备可以是手机、视频处理设备、计算机、服务器等。
本发明实施例提供的电子设备,通过改变确定参考块的方法来改进视频图 像中运动信息的获取过程,从而提高视频图像的编解码效率。
本发明的实施例中均以B帧编码为例,不过本发明实施例的适用范围并不 限于B帧编码,比如实施例六中提供的方法同样适用于P帧编码,只不过此时 当前帧的第一参考帧和第二参考帧分别为当前帧的前向参考帧fn-1和fn-2,而当 前块的预测值则需要通过公式(4′)得到:
fn(x,y)={2fn-1(x+u1,y+v1)+fn-2(x+u2,y+v2)}/3 (4′)
或者更精确些,当前curr_blk的预测值是可根据公式(5′)计算得到:
其中,
实施例十:
本实施例提供的获取视频图像运动信息的方法,包括以下步骤:
步骤101:在编码端,采用当前编码块的备选运动矢量集中的每一个备选运 动矢量确定对应的当前编码块的至少两个关联参考块到当前编码块的每一组运 动矢量。
其中,所述备选运动矢量集根据当前编码块与其周围块的空间相关性以及 与参考帧相近位置的块的时间相关性,采用当前编码块周围已知块的运动信息 得到,当前编码块周围已知块的运动信息可以是与当前编码块在时间上或者空 间上相关的已编码块或者已解码块的运动矢量或者运动矢量的组合。
所述当前编码块可以是完整的宏块,也可以是宏块的划分块,在这里以完 整的宏块为例。
所述备选运动矢量集中可以包括:与当前编码块(Curr_blk)在空间上相关 的周边块的运动矢量MVL、MVU、MVR和MEAN(MVL、MVU、MVR),前 向参考帧fn-1中相同位置块中的运动矢量(如图5中的col_MV1、col_MV2、 col_MV3、col_MV4)以及相同位置块的周边块的运动矢量(如图5中的MV1、 MV2、...、MV12),后向参考帧fn+1中相同位置块中的运动矢量(如图5中的 col_MV1′、col_MV2′、col_MV3′、col_MV4′)以及相同位置块的周边块的运动 矢量(如图5中的MV1′、MV2′、...、MV12′)中的全部或者其中一部分,即包 括当前编码块的左边块,上边块,左上块,右上块,在参考帧中和当前编码块 相同位置的块的左边块,上边块,左上块,右上块或其中的一部分,以及在参 考帧中和当前编码块相同位置的块。
针对步骤101中获得的当前编码块的备选运动矢量集中的一个备选运动矢 量,得到当前编码块的至少两个关联参考块到当前编码块的一组运动矢量,每一 个备选运动矢量对应一组运动矢量,本实施例中,以两个关联参考块为例,如 以当前编码块的前后参考块为例,所述每一组运动矢量为当前块的前后参考块 的前后向运动矢量。具体的,针对每一个备选运动矢量,得到其相应的前后向运 动矢量,如图18所示,以B帧为例,中间块为当前编码块,L0和L1为前后参 考帧,图示L0和L1中的块为前后参考块,其中Vf是前向运动矢量,Vb是后向 运动矢量。在此实例中,当前B帧距前向参考帧之间的距离为Tf,距前向参考 帧之间的距离为Tb,搜索范围内的每一对前后向运动矢量满足如下关系: Vf/Tf=-Vb/Tb,当为多个关联参考块时,搜索范围内的每一对运动矢量的关系 和上述相同。图18只给出了B帧与两个参考帧直接相邻的情况,对于多个连续 B帧的情况,其前/后向运动矢量的获得方式与上类似,此处不再累述。
具体地实现中,可以从与当前编码块相关的编码块/解码块的运动矢量中选 择其全部或者部分组成一个备选运动矢量集,然后根据每个备选运动矢量在第 一参考帧中对应地确定一个备选第一参考块,从而得到一组备选第一参考块。
根据备选第一参考块与当前编码块的位置关系,确定每个备选第一参考块 到当前编码块的运动矢量,并结合所述运动矢量在第二参考帧中确定与每个备 选第一参考块分别对应的备选第二参考块,在本实施例中可以通过对称性搜索 来确定各个备选第一参考块在所述第二参考帧中对应的备选第二参考块,也就 是说,对称性搜索后,所述备选第一参考块与其对应的搜索到的备选第二参考 块以当前编码块为中心等比例对称。
步骤102:利用相似度判断从所述每一组运动矢量中确定一组运动矢量作为 当前编码块运动矢量的预测矢量;
计算确定的每一组运动矢量间的相似度,相似度可以用误差和衡量,具体 可以是绝对误差和(SAD)、绝对转换误差和(sum of absolute transformation differences)、或者绝对平方差和,当然还可以是其它一些可以用于描述两个参 考块之间相似性的参数;在本实施例中以绝对误差和为例对本发明提供的方案 进行阐述。选取最好相似度对应的一组运动矢量作为当前编码块运动矢量的预 测矢量。
具体实现中,计算每个备选第一参考块与其相对应的备选第二参考块之间 的误差和,选取最小SAD所对应的备选第一参考块和备选第二参考块作为当前 块的第一参考块和第二参考块,将所述第一参考块和第二参考块确定的运动矢 量作为当前编码块运动矢量的预测矢量。
在另一实施中,步骤101和步骤102可以通过实施例三的步骤701-707实现, 不同在于,由所述第一参考块和第二参考块确定的运动矢量(u,v)作为当前块 运动矢量的预测矢量。
步骤103根据所述预测矢量和当前编码块运动搜索的运动矢量得到运动矢 量差,所述运动矢量差用于解码端恢复当前编码块的运动矢量。
为了使解码端能够得到更为准确的运动信息,在本实施例中编码端还可以 根据获取到的运动信息求得其与真实运动信息之间的差值,并将运动信息的差 值发送给解码端,即求得步骤102获取到的预测矢量和当前编码块通过运动搜 索得到的运动矢量之间的矢量差,将所述运动矢量差发送给解码端,解码端在 接收到编码端提供的数据后,首先根据所述运动信息的差值恢复出真实运动信 息。
在解码端,采用当前编码块的备选运动矢量集中的每一个备选运动矢量确 定对应的当前编码块的至少两个关联参考块到当前编码块的每一组运动矢量, 所述备选运动矢量集根据当前编码块与其周围块的空间相关性以及与参考帧相 近位置的块的时间相关性,采用当前编码块周围已知块的运动信息得到,利用 相似度判断准则从所述每一组运动矢量中确定一组运动矢量作为当前块运动矢 量的预测矢量,通过码流解析恢复出所述矢量差,采用所述预测矢量以及所述 矢量差得到所述当前编码块的运动矢量。
在另一实施例中,步骤102,可以利用相似度判断从所述每一组运动矢量中 确定一组运动矢量作为当前编码块运动矢量。
本领域技术人员可以理解,可以使用许多不同的工艺和技术中的任意一种 来表示信息、消息和信号。例如,上述说明中提到过的消息、信息都可以表示 为电压、电流、电磁波、磁场或磁性粒子、光场或以上任意组合。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示 例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现, 为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地 描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决 于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用 来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范 围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器 执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器 (RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、 寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式 的存储介质中。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围 应以所述权利要求的保护范围为准。
机译: 获取视频图像运动信息和模板构造方法的方法,装置和设备
机译: 获取视频图像运动信息和模板构造方法的方法,装置和设备
机译: 获取视频图像运动信息和模板构造方法的方法,装置和设备