一种子像素运动向量估计方法和装置的制造方法_2

文档序号:9251231阅读:来源:国知局
列(Listl),每个参考列可以 有一个或多个参考视频图像,当有多个参考视频图像时,参考视频图像分别采用refidxO、 refidxl标识。视频编码块有3种帧间预测方法,具体包括前向预测、后向预测和双向预测。
[0027] 前向预测中,当前视频编码块从ListO中选择一个视频图像记为refidxx(-般来 说,编码器对每个视频图像进行运动向量估计,并选择匹配成本最小的视频图像)。然后选 择一个运动向量(mvO)指向一个视频块作为当前视频编码块的预测视频图像块。
[0028] 后向预测中,当前块从Listl中选择一个视频图像记为refidxy,然后选择一个运 动向量(mvl)指向一个视频图像块作为当前视频编码块的预测视频图像块。
[0029] 双向预测中,当前块从ListO中选择一个视频图像记为refidxx,然后选择一个运 动向量(mvO)指向一个视频图像块blkO,再从Listl中选择一个视频图像refidxy,然后选 择一个运动向量(mvl)指向一个视频图像块blkl,blkO和blkl的加权平均作为当前视频 编码块的预测视频图像块。
[0030] 编码器对LiStO和Listl中所有视频图像进行运动估计,并从中选择最优的前向 预测和后向预测,再对每个前向参考视频图像和后向参考视频图像的结合做双向运动向量 估计,得到最佳的双向预测,最后编码器从三种预测方法中选择一种预测方法。
[0031] 为了节省码率,码流中的运动向量通常采用差分编码。在HEVC中,对于任意一个 List中的任意一个图像生成MVP(MotionVectorPredictor,预测运动向量),编码器从相 邻已编码块中选择2个MVP作为当前块MV(MotionVector,运动向量)预测的候选。假设 当前视频编码块的左相邻视频图像块是(1,〇),上相邻视频图像块是(2,0),那么编码器生 成2个MVP则分别为(1,0)和(2,0)。
[0032] 最终的MVP从这2个MVP中选择。当前视频编码块的MV与MVP相减得到 MVD(MotionVectorDifference,运动向量差分),即MV-MVP=MVD。最终的MVP的选择原 则为:选择计算得到的MVD小的MVP。然后,编码器将MVP选择信息和MVD写入码流中。这 样解码器就能够根据解码出来的MVP选择信息选出2个MVP中的一个,加上从码流中解码 出的MVD,就得到当前视频编码块的MV,最后可采用此MV生成实际的预测视频图像块。
[0033] 从帧间编码的流程可以得知,运动向量估计即得到当前视频编码块的MV的过程 非常重要,只有确定了当前视频编码块的最佳运动向量,才能够进一步地确定出写入码流 中的信息,最终才能够生成实际的预测视频图像块。
[0034] 由于当前视频编码块的运动可能指向分像素位置,所以运动向量估计分为两个部 分,第一部分是整像素运动向量估计,通过在一个设定区域中搜索,得到最佳的整像素匹配 视频图像块,得到最佳的正像素匹配视频数据块对应的整像素运动向量。在执行完第一部 分的整像素运动向量后,进行分像素运动估计即子像素运动向量估计,通过子像素运动向 量估计确定最佳的子像素运动向量,则得到最终的运动向量。
[0035] 下面以具体实例对子像素运动向量估计方法进行说明。
[0036] 实施例一
[0037] 参照图3,示出了本发明实施例一的一种子像素运动向量估计方法的步骤流程图。
[0038] 本实施例的子像素运动向量估计方法包括以下步骤:
[0039] 步骤S302 :确定当前视频编码块的最佳整像素运动向量对应的第一像素点,和预 测的运动向量对应的第二像素点。
[0040] 当前视频编码块的最佳整像素运动向量的确定可以参照现有技术即可,本实施例 对此不作具体限制。
[0041 ] 本实施例中,在进行子像素运动向量估计时,会预测一运动向量,该运动向量对应 一个像素点。
[0042] 步骤S304 :判断第一像素点对应的运动向量与第二像素点对应的运动向量的水 平分量、以及第一像素点对应的运动向量与第二像素点对应的运动向量的垂直分量之间的 绝对差是否均在四分之一像素之内。
[0043] 本领域技术人员应该明了,每个运动向量均具有水平分量以及垂直分量,两个像 素点之间的距离可以通过两个像素点水平分量的绝对差以及垂直分量的绝对差来表征。 [0044] 步骤S306 :当判断结果为上述绝对差均在四分之一像素之内时,设定初始搜索中 心为第二像素点,若至少有一个上述绝对差不在四分之一像素之内,则设定初始搜索中心 为第一像素点;并且,若判断结果为在上述绝对差均在四分之一像素之内时,计算第二像素 点的像素匹配成本,并判断第二像素点的像素匹配成本是否小于设定像素匹配成本阈值。
[0045] 需要说明的是,当判断结果为上述绝对差均在四分之一像素之内时,设定初始搜 索中心为第二像素点,否则,设定初始搜索中心为第一像素点。
[0046] 上述绝对差均在四分之一像素之内,即第一像素点对应的运动向量与第二像素点 对应的运动向量的水平分量、以及第一像素点对应的运动向量与第二像素点对应的运动向 量的垂直分量之间的绝对差均在四分之一像素之内。
[0047] 在满足绝对差均在四分之一像素之内时,则会进一步确定计算第二像素点的像素 匹配成本,将第二像素点的像素匹配成本与设定像素匹配成本阈值进行比较,根据比较结 果的不同,执行不同的操作。
[0048] 需要说明的是,设定像素匹配成本阈值可以是一个具体值,也可以是一个范围,还 可以是通过设定公式计算得出的一个阈值。例如:预设一个参数,获取当前视频编码块的面 积,将预设的参数与当前视频编码块的面积的乘积作为设定像素匹配成本阈值。
[0049] 步骤S308 :若第二像素点的像素匹配成本小于设定阈值,则按照第一设定规则执 行钻石搜索,根据钻石搜索结果确定当前视频编码块的子像素运动向量。
[0050] 在钻石搜索中得到的具有最小匹配成本的点对应的运动向量就是运动估计得到 的子像素运动向量。通过钻石搜索可以确定最优的子像素运动向量,当然,子像素运动向量 可以与整像素运动向量相同也可以不同。确定的子像素运动向量即为最终的子像素运动向 量的估计结果。
[0051] 若第二像素点的像素匹配成本小于设定像素匹配成本阈值,则说明可以将第二像 素点作为搜索中心进行钻石搜索。
[0052] 需要说明的是,执行钻石搜索的次数上限,可以由本领域技术人员根据实际需求 进行设置,例如:设置成最多进行3次钻石搜索,再例如:设置成最多执行4次钻石搜索,当 然,也可以设置成最多执行2次钻石搜索。在具体实现过程中,存在进行一次钻石搜索便可 完成子像素运动向量估计的可能,那么,即便是设置执行的钻石搜索次数未执行完毕,也可 不再进行下一次钻石搜索。
[0053] 若第二像素点的像素匹配成本大于设定像素匹配成本阈值,则说明预测的运动向 量不合适,需要执行设定操作。
[0054] 其中,设定操作在具体实现过程中,可以由本领域技术人员根据实际需求进行设 置。例如:可以设置为重新搜索新的第二像素点,然后,以新的第二像素点为搜索中心进行 钻石搜索,还可以设置为执行现有的子像素运动向量估计流程,当然,也可以设置为再重新 预测运动向量,执行上述步骤304以及步骤306,直至新的第二像素点的像素匹配成本小于 设定阈值为止。
[0055] 通过本实施例提供的子像素运动向量估计方法,由于在确定最佳子像素运动向量 的过程中,仅是进行钻石搜索,而钻石搜索仅需要对中心点和中心点周围4个像素点进行5 次匹配,钻石搜索可能进行一次也可能进行最多3次,所以搜索像素点的次数从5次到11 次不等,而且这只限于第一种情况便有可能确定出最佳子响度运动向量,相较于现有的需 要进行17次匹配,能够大大缩减匹配次数。由于缩减了匹配次数,因此,能够降低匹配的复 杂度,提高视频编码块的编码速度、减少视频编码器的处理负荷。
[0056] 实施例二
[0057] 参照图4,示出了本发明实施例二的一种子像素运动向量估计方法的步骤流程图。
[0058] 本实施例的子像素运动向量估计方法具体包括以下步骤:
[0059] 步骤S402 :视频编码器确定当前视频编码块的最佳整像素运动向量对应的第一 像素点,和预测的运动向量对应的第二像素点。
[0060] 当前视频编码块的最佳整像素运动向量的确定可以参照现有技术即可,本实施例 对此不作具体限制。
[0061] -种优选的确定当前视频编码块的最佳整像素运动向量的方法为:
[0062] 一般是通过最小化参考视频图像块的匹配成本以获得最佳的整像素运动向量即 MV。其中,最小化参考视频图像块的匹配成本即计算各参考视频图像块的匹配成本,将匹配 成本最小的参考视频图像块对应的运动向量确定为最佳整像素运动向量。
[0063] 在计算各参考视频图像块的匹配成本时,通过以下公式进行计算:HCost=SAD+bitmvXA 其中,HCost为参考视频图像块的匹配成本,SAD当前视频编码块和参考 视频图像块逐像素绝对差之和,bit"为参照视频图像块对应的运动向量的码率,A__为 拉格朗日常数。
[0064] 本实施例中,在进行子像素运动向量估计时,会预测一运动向量,该运动向量对应 一个像素点。
[0065] 步骤S404 :视频编码器判断第一像素点对应的运动向量与第二像素点对应的运 动向量的水平分量、以及第一像素点对应的运动向量与第二像素点对应的运动向量的垂直 分量之间的绝对差是否均在四分之一像素之内;若是,则执行步骤S406,若否,则执行步骤 S410〇
[0066] 其中,四分之一像素为视频图像编码过程中的最小单位,本领域技术人员应该明 了,随着视频编码技术的发展,视频图像编码过程中的最小单位可能会变为八分之一像素、 六分之一像素等,相应地,在变换后则判断步骤S404中的这两个绝对差是否均在八分之一 像素之内,或六分之一像素之内。
[0067] 本步骤中是为了判断预测向量对应的像素点与最佳整像素运动向量对应的像素 点的距离,距离足够近,则会将该像素点确定为搜索中心,进一步对该像素点对应的像素匹 配成本进行计算,而如果距离不够近,那么,预测的运动向量精准的可能较小,这样,将执行 步骤S410重新预测搜索中心。
[0068] 步骤S
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1