CN112291561B - Hevc最大编码块运动向量计算方法、装置、芯片及存储介质 - Google Patents

Hevc最大编码块运动向量计算方法、装置、芯片及存储介质 Download PDF

Info

Publication number
CN112291561B
CN112291561B CN202010559554.0A CN202010559554A CN112291561B CN 112291561 B CN112291561 B CN 112291561B CN 202010559554 A CN202010559554 A CN 202010559554A CN 112291561 B CN112291561 B CN 112291561B
Authority
CN
China
Prior art keywords
block
motion vector
prediction
depth
prediction mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010559554.0A
Other languages
English (en)
Other versions
CN112291561A (zh
Inventor
陈泽伟
徐会
王桂宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Jieli Technology Co Ltd
Original Assignee
Zhuhai Jieli Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Jieli Technology Co Ltd filed Critical Zhuhai Jieli Technology Co Ltd
Priority to CN202010559554.0A priority Critical patent/CN112291561B/zh
Publication of CN112291561A publication Critical patent/CN112291561A/zh
Application granted granted Critical
Publication of CN112291561B publication Critical patent/CN112291561B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

本发明公开了HEVC最大编码块运动向量计算方法、装置、芯片及存储介质,计算方法包括如下步骤:分别计算最大编码块深度Ⅰ每个预测模式下每个预测块的运动向量、深度Ⅱ每个预测模式下每个预测块的运动向量和深度Ⅲ每个预测模式下每个预测块的运动向量;深度Ⅰ对应的运动向量通过如下步骤计算:通过判断在相同预测模式下,第二块匹配准则值的两倍值是否小于对应的所述第一块匹配准则值的四倍值,若是则将进一步计算得到的第二一深度运动向量的两倍值作为深度Ⅰ对应预测块的运动向量。本发明可以在基本保持HEVC压缩性能和编码质量的前提下,快速实现对预测块的运动向量的计算。

Description

HEVC最大编码块运动向量计算方法、装置、芯片及存储介质
技术领域
本发明涉及HEVC编码,具体涉及HEVC最大编码块运动向量计算方法、装置、芯片及存储介质。
背景技术
随着技术的发展,目前通过视觉看到的视频,大部分都是数字视频,并且是经过压缩的数字视频。一个未经过压缩、原始的视频,其数据量是惊人的,无法直接用于实际的传输或存储,尤其是对实时传输要求较高的场合理更是困难。例如一个1920x1080分辨率的高清电影视频文件,假设3个色彩分量的每个像素都是8位,帧率30fps,其每一秒的数据量高达1424MB,一个90分钟的视频体积则达到了7509GB之巨,普通场景根本无法使用。所以,在尽量减少画质损失的同时,体积压缩一直都是技术追求的重要方向。
视频压缩也叫视频编码(Video Coding)。视频编码联合组JCT-VC(JointCollaborative Team on Video Coding)制定了新一代的高性能视频编码标准——H.265/HEVC(High Efficiency Video Coding),相较于上一代标准H.264,在相同水平的图像质量下具有更好压缩率。HEVC提供了更多新工具来降低码率,在压缩效率提高近一倍的同时,也大幅提高了编码的复杂度。例如采用更灵活的四叉树方式来划分编码单位,对于平坦区域和细节区域能针对性的处理,P帧提供了更多运动预测模式等。
一方面,HEVC编码标准中计算每个预测块的运动向量的方法比较复杂。另一方面,HEVC编码标准中逐个深度进行预测块PU划分(包含完整的整像素运动估计(IME)),同时进行编码块CU的块类型Intra、Inter、Merge/Skip的决策(包含完整的亚像素运动估计(FME)),例如,对深度Ⅰ(即深度1)的各个预测模式下的预测块PU的运动向量进行计算,同时计算深度Ⅰ每个编码块CU块类型Intra、Inter、Merge/Skip的RDCost代价(相对率失真代价值),然后再计算深度Ⅱ(即深度2)的各个预测模式下的预测块PU的运动向量,以及深度Ⅱ每个编码块CU块类型Intra、Inter、Merge/Skip的RDCost代价,直至深度Ⅲ(即深度3)计算完成预测块PU的运动向量,以及深度Ⅱ每个编码块CU块类型Intra、Inter、Merge/Skip的RDCost代价。也就是说,在电子设备的编码器进行实际编码是,要递归遍历每一个编码块及尝试其多种可能的预测模式以进行预测块PU划分,并且同时进行编码块CU的块类型Intra、Inter、Merge/Skip的决策,这种预测块PU划分和块类型决策时的递归依赖性,对硬件的计算性能、运行内存容量等要求都很高,尤其对于移动终端如监控、行车记录仪等小型硬件设备,受计算性能、运行内存容量和供电限制,HEVC尚未普及应用于这些小型硬件设备。
发明内容
基于上述现状,一方面,本发明的主要目的在于提供HEVC最大编码块运动向量计算方法、装置、芯片及存储介质,以在基本保持HEVC压缩性能和编码质量的前提下,快速实现对预测块的运动向量的计算;在本发明更进一步的方案中,能够先决策出最大编码块的编码深度和最优预测模式,然后再进行编码块CU的块类型决策,消除了预测块划分和块类型决策的递归依赖性,减少硬件资源消耗。
为实现上述目的,本发明采用的技术方案如下:
一种HEVC最大编码块编码过程中运动向量的计算方法,包括如下步骤:分别计算最大编码块深度Ⅰ每个预测模式下每个预测块的运动向量、深度Ⅱ每个预测模式下每个预测块的运动向量和深度Ⅲ每个预测模式下每个预测块的运动向量;其中,深度Ⅰ对应的运动向量通过如下步骤计算:对参考帧分别进行1/4和1/2下采样得到第一参考帧和第二参考帧;对最大编码块分别进行1/4和1/2下采样得到第一采样块和第二采样块;将所述第一采样块分别按照每个预测模式划分为对应的第一预测块,在所述第一参考帧中以初始运动向量确定的位置为原点的第一搜索区内分别寻找每个第一预测块的最佳匹配块,获得最小第一块匹配准则值和第一一深度运动向量;将所述第二采样块分别按照每个预测模式划分为对应的第二预测块,在所述第二参考帧中以所述第一一深度运动向量的两倍值确定的位置为原点的第二搜索区内分别寻找每个第二预测块的最佳匹配块,获得最小第二块匹配准则值和第二一深度运动向量;判断在相同预测模式下,所述第二块匹配准则值的两倍值是否小于对应的所述第一块匹配准则值的四倍值,若是则将所述第二一深度运动向量的两倍值作为深度Ⅰ对应预测块的运动向量;若否则将所述第一一深度运动向量的四倍值作为深度Ⅰ对应预测块的运动向量。
优选的,深度Ⅲ对应的运动向量通过如下步骤计算:对于所述第二采样块被按照预测模式划分为四个相同大小的所述第二预测块:将所述第二预测块划分为16个大小相同的第三预测块;在所述第二搜索区内确定多个大小与所述第二预测块相同的滑动窗,并将所述滑动窗划分为16个大小相同的单元块;分别计算所述第二预测块内某一位置的所述第三预测块与每个所述滑动窗内相同位置的所述单元块之间的第三块匹配准则值,选择所述第三块匹配准则值最小者对应的单元块作为所述第二预测块内某一位置的所述第三预测块的最佳匹配块,并获得第一三深度运动向量;将所述第一三深度运动向量的两倍值作为深度Ⅲ对应所述第二预测块内某一位置的所述第三预测块的预测块的运动向量。
优选的,深度Ⅱ对应的运动向量通过如下步骤计算:对于所述第二采样块被按照预测模式划分为四个相同大小的所述第二预测块:对于所述最大编码块深度Ⅱ的每一种预测模式下的每一个预测块,在所述第二预测块中选择形状对应的第三预测块组合,分别计算所述第二预测块内某一位置的所述第三预测块组合与每个所述滑动窗内相同位置的单元块组合之间的第四块匹配准则值,选择所述第四块匹配准则值最小者对应的单元块组合作为所述第二预测块内某一位置的所述第三预测块组合的最佳匹配块,并获得第一二深度运动向量;将所述第一二深度运动向量的两倍值作为深度Ⅱ对应预测块的运动向量。
优选的,所述的计算方法还包括如下步骤:对深度Ⅰ每个预测模式下每个预测块的运动向量、深度Ⅱ每个预测模式下每个预测块的运动向量和深度Ⅲ每个预测模式下每个预测块的运动向量进行进一步修正,具体为:对于所述最大编码块每个深度每种预测模式下的每个预测块,在所述参考帧中以每个预测块的运动向量确定的位置为原点的第三搜索区内寻找最佳匹配块,获得每个预测块最终运动向量;其中,所述第三搜索区大小小于所述第一搜索区和第二搜索区。
优选的,所述第一搜索区大小大于所述第二搜索区大小,所述第二搜索区大小大于所述第三搜索区大小。
优选的,所述初始运动向量通过如下步骤获得:从所述最大编码块的运动向量候选列表中确定最优零深度运动向量;对所述最优零深度运动向量进行四倍缩小得到初始运动向量。
本发明还提供了一种HEVC最大编码块的编码方法,包括如下步骤:采用任一所述的运动向量的计算方法计算所述运动向量;根据所述最大编码块每个深度每种预测模式下的每个预测块的最终运动向量,在所述参考帧中选择对应的参考块,计算每个预测块编码的失真和所消耗的总比特数,再根据所述失真和总比特数计算每个预测块的率失真率;分别计算所述最大编码块在每个深度每种预测模式下所有预测块的率失真率之和得到总率失真率;选择总率失真率最小时对应的深度和预测模式分别作为所述最大编码块最终编码的深度和预测模式;确定所述最大编码块最终编码的深度和预测模式下预测块对应的编码块的编码类型。
本发明还提供了一种HEVC最大编码块编码过程中运动向量的计算模块,包括:第一计算单元,用于计算最大编码块深度Ⅰ每个预测模式下每个预测块的运动向量;第二计算单元,用于计算所述最大编码块深度Ⅱ每个预测模式下每个预测块的运动向量;第三计算单元,用于计算所述最大编码块深度Ⅲ每个预测模式下每个预测块的运动向量;其中,所述第一计算单元具体用于通过如下步骤计算深度Ⅰ对应的运动向量:对参考帧分别进行1/4和1/2下采样得到第一参考帧和第二参考帧;对最大编码块分别进行1/4和1/2下采样得到第一采样块和第二采样块;将所述第一采样块分别按照每个预测模式划分为对应的第一预测块,在所述第一参考帧中以初始运动向量确定的位置为原点的第一搜索区内分别寻找每个第一预测块的最佳匹配块,获得最小第一块匹配准则值和第一一深度运动向量;将所述第二采样块分别按照每个预测模式划分为对应的第二预测块,在所述第二参考帧中以所述第一一深度运动向量的两倍值确定的位置为原点的第二搜索区内分别寻找每个第二预测块的最佳匹配块,获得最小第二块匹配准则值和第二一深度运动向量;判断在相同预测模式下,所述第二块匹配准则值的两倍值是否小于对应的所述第一块匹配准则值的四倍值,若是则将所述第二一深度运动向量的两倍值作为深度Ⅰ对应预测块的运动向量;若否则将所述第一一深度运动向量的四倍值作为深度Ⅰ对应预测块的运动向量。
优选的,所述第三计算单元具体用于通过如下步骤计算深度Ⅲ对应的运动向量:对于所述第二采样块被按照预测模式划分为四个相同大小的所述第二预测块:将所述第二预测块划分为16个大小相同的第三预测块;在所述第二搜索区内确定多个大小与所述第二预测块相同的滑动窗,并将所述滑动窗划分为16个大小相同的单元块;分别计算所述第二预测块内某一位置的所述第三预测块与每个所述滑动窗内相同位置的所述单元块之间的第三块匹配准则值,选择所述第三块匹配准则值最小者对应的单元块作为所述第二预测块内某一位置的所述第三预测块的最佳匹配块,并获得第一三深度运动向量;将所述第一三深度运动向量的两倍值作为深度Ⅲ对应所述第二预测块内某一位置的所述第三预测块的预测块的运动向量。
优选的,所述第三计算单元具体用于通过如下步骤计算深度Ⅱ对应的运动向量:对于所述第二采样块被按照预测模式划分为四个相同大小的所述第二预测块:对于所述最大编码块深度Ⅱ的每一种预测模式下的每一个预测块,在所述第二预测块中选择形状对应的第三预测块组合,分别计算所述第二预测块内某一位置的所述第三预测块组合与每个所述滑动窗内相同位置的单元块组合之间的第四块匹配准则值,选择所述第四块匹配准则值最小者对应的单元块组合作为所述第二预测块内某一位置的所述第三预测块组合的最佳匹配块,并获得第一二深度运动向量;将所述第一二深度运动向量的两倍值作为深度Ⅱ对应预测块的运动向量。
优选的,所述的运动向量计算模块还包括第四计算单元,用于对深度Ⅰ每个预测模式下每个预测块的运动向量、深度Ⅱ每个预测模式下每个预测块的运动向量和深度Ⅲ每个预测模式下每个预测块的运动向量进行进一步修正,具体为:对于所述最大编码块每个深度每种预测模式下的每个预测块,在所述参考帧中以每个预测块的运动向量确定的位置为原点的第三搜索区内寻找最佳匹配块,获得每个预测块最终运动向量;其中,所述第三搜索区大小小于所述第一搜索区和第二搜索区。
优选的,所述第一搜索区大小大于所述第二搜索区大小,所述第二搜索区大小大于所述第三搜索区大小。
优选的,所述初始运动向量通过如下步骤获得:从所述最大编码块的运动向量候选列表中确定最优零深度运动向量;对所述最优零深度运动向量进行四倍缩小得到初始运动向量。
本发明还提供了一种HEVC最大编码块的编码装置,包括任一所述的运动向量计算模块,还包括:总率失真率计算模块,用于根据所述最大编码块每个深度每种预测模式下的每个预测块的最终运动向量,在所述参考帧中选择对应的参考块,计算每个预测块编码的失真和所消耗的总比特数,再根据所述失真和总比特数计算每个预测块的率失真率;分别计算所述最大编码块在每个深度每种预测模式下所有预测块的率失真率之和得到总率失真率;选择总率失真率最小时对应的深度和预测模式分别作为所述最大编码块最终编码的深度和预测模式;确定所述最大编码块最终编码的深度和预测模式下预测块对应的编码块的编码类型。
本发明还提供了一种芯片,用于执行任一所述的运动向量计算方法、或所述的编码方法。
本发明还提供了一种存储程序的存储介质,所述程序被芯片执行成任一所述的运动向量计算方法、或所述的编码方法。
本发明还提供了一种移动终端,用于执行任一所述的运动向量计算方法、或所述的编码方法。
本发明还提供了一种电子设备,用于执行任一所述的运动向量计算方法、或所述的编码方法。
【有益效果】
本发明通过在1/4下采样的第一参考帧搜索出第一一深度运动向量,可以在较小搜索范围达到搜索原始参考帧较大范围的搜索效果,若第二块匹配准则值的两倍值小于对应的所述第一块匹配准则值的四倍值,将在1/2下采样的第二参考帧中搜索更加准确的第二一深度运动向量的两倍值作为最大编码块深度Ⅰ的运动向量,以获得准确度更高的运动向量,从而在搜索计算复杂度较小、速度较快的情况下,搜索得到的运动向量较为准确,以基本保持HEVC标准的压缩性能和编码质量。
在更优的方案中,通过先决策出最大编码块的编码深度和最优预测模式,然后再进行编码块CU的块类型决策,消除了预测块划分和块类型决策的递归依赖性,减少硬件资源消耗。
本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
以下将参照附图对根据本发明优选实施方式进行描述。图中:
图1为根据本发明的一种优选实施方式HEVC最大编码块的编码过程的流程图
图2是最大编码块LCU从深度0至3的划分示意图
图3是对LCU进行1/4下采样得到LCU1,并将LCU1分别按照多个预测模式划分为对应PU1的示意图
图4是在第一参考帧Ref1搜索PU1的最佳匹配块的示意图
图5是对LCU进行1/2下采样得到LCU2,并将LCU2分别按照多个预测模式划分为对应PU2的示意图
图6是在第二参考帧Ref2搜索PU2的最佳匹配块的示意图
图7是在第二参考帧Ref2搜索PU2中第四预测块组合GP的最佳匹配块的示意图
图8是对PU2划分为16个4×4第三预测块PU3,并按照各种预测模式对PU3进行组合形成第三预测块组合的示意图
图9是本发明的一种优选实施方式HEVC最大编码块的编码过程的流程图
具体实施方式
图1是本发明HEVC最大编码块的编码过程的流程图,该编码过程包括如下步骤:
一种HEVC最大编码块编码过程中运动向量的计算方法,包括如下步骤:分别计算最大编码块深度Ⅰ每个预测模式下每个预测块的运动向量、深度Ⅱ每个预测模式下每个预测块的运动向量和深度Ⅲ每个预测模式下每个预测块的运动向量;其中,深度Ⅰ对应的运动向量通过如下步骤计算:
对参考帧分别进行1/4和1/2下采样得到第一参考帧和第二参考帧;对最大编码块分别进行1/4和1/2下采样得到第一采样块和第二采样块;
将所述第一采样块分别按照每个预测模式划分为对应的第一预测块,在所述第一参考帧中以初始运动向量确定的位置为原点的第一搜索区内分别寻找每个第一预测块的最佳匹配块,获得最小第一块匹配准则值和第一一深度运动向量;
将所述第二采样块分别按照每个预测模式划分为对应的第二预测块,在所述第二参考帧中以所述第一一深度运动向量的两倍值确定的位置为原点的第二搜索区内分别寻找每个第二预测块的最佳匹配块,获得最小第二块匹配准则值和第二一深度运动向量;
判断在相同预测模式下,所述第二块匹配准则值的两倍值是否小于对应的所述第一块匹配准则值的四倍值,若是则将所述第二一深度运动向量的两倍值作为深度Ⅰ对应预测块的运动向量;若否则将所述第一一深度运动向量的四倍值作为深度Ⅰ对应预测块的运动向量。
在本发明一种更佳实施例中,HEVC最大编码块的编码过程包括如下步骤。
S1,从已经编码的视频帧中获取可以作为参考编码的参考帧Ref。
S2,对参考帧Ref进行1/4下采样得到第一参考帧Ref1,对参考帧Ref进行1/2下采样得到第二参考帧Ref2。
S3,从待编码帧中获取最大编码块LCU(也称为LTU(最大编码树单元))。根据HEVC编码标准,最大编码块LCU大小为64×64像素。最大编码块LCU编码深度最大可以达到3,如图2所示,是最大编码块LCU从深度0至3的划分示意图。当深度为0,最大编码块LCU划分为一个64×64大小的编码块(CU),按照不同的预测模式,该CU可以划分为对应的预测块(PU),例如1个64×64的PU,或者2个64×32的PU,或者4个32×32的PU,或者2个32×64的PU;当深度为1时,最大编码块LCU划分为4个32×32大小的CU;当深度为2时,每个32×32大小的CU可以进一步划分为4个16×16大小的CU;当深度为3时,每个16×16大小的CU可以进一步划分为4个8×8大小的CU。
S4,建立当前最大编码块LCU的运动向量(MV)候选列表。根据根据HEVC编码标准,可以选择最大编码块LCU左方、上方以及右上方相邻的已编码块的运动向量作为MV候选列表中的候选运动向量。
S5,从MV候选列表中选择最优的候选运动向量作为最大编码块LCU在深度为0时的运动向量MV0,可以称之为最优零深度运动向量MV0,然后将最优零深度运动向量MV0进行四倍缩小得到初始运动向量MV10,该初始运动向量作为最大编码块LCU在深度Ⅰ的初始运动向量。具体做法可以采用HEVC编码标准推荐的方法进行计算。可以采用如下方式选择最优零深度运动向量MV0:在参考帧Ref中,分别根据每个候选运动向量选择与最大编码块LCU大小相同的像素块,并计算最大编码块LCU与该像素块之间SAD(sum of absolute difference,绝对差值和),得到多个SAD,从中选择最小的SAD对应的运动向量作为最优零深度运动向量MV0。
此最优零深度运动向量MV0作为当前最大编码块LCU在深度为0时的运动向量,即如图2中64×64编码块的运动向量。
S6,对最大编码块LCU进行1/4下采样得到第一采样块LCU1,将第一采样块LCU1分别按照每个预测模式划分为对应的第一预测块PU1。如图3所示,第一采样块LCU1大小为16×16,根据HEVC编码标准,按照不同的预测模式,该第一采样块LCU1可以划分为:(1)预测模式一(N×N),4个8×8第一预测块PU1;(2)预测模式二(2N×N),2个16×8第一预测块PU1;(3)预测模式三(N×2N),2个8×16第一预测块PU1;(4)预测模式四(2N×2N),1个16×16第一预测块PU1。
S7,在第一参考帧Ref1中以初始运动向量MV10确定的位置为原点P10的第一搜索区EA1内分别寻找每个第一预测块PU1的最佳匹配块,获得最小第一块匹配准则值MAT1和第一一深度运动向量MV11。该第一搜索区EA1的大小可以为以上述位置为原点P10的±128×±64像素块。
以步骤S6中的预测模式一为例,如图4所示,针对左上角的8×8第一预测块PU1,确定该8×8第一预测块PU1的中心,根据该初始运动向量MV10可以在第一参考帧Ref1中确定对应的原点P10(原点P10与PU1的中心之间的距离即为该初始运动向量MV10),然后该原点P10建立大小为±128×±64的第一搜索区EA1;
接着,在该第一搜索区EA1内的左上角开始,每次选择与8×8第一预测块PU1相同大小的匹配块,计算8×8第一预测块PU1与匹配块之间的块匹配准则值,块匹配准则值可以采用均方差函数(Mean-square Error,MSE)、平均绝对值误差(Mean Absolute Deviation,MAD)、绝对差值和(sum of absolute difference,SAD)、差值平方和(Sum of SquaredDifference,SSD);每计算完一次8×8第一预测块PU1与匹配块之间的块匹配准则值之后,将匹配块向右平移一个像素点,然后再次计算块匹配准则值,如果匹配块右边界到达第一搜索区EA1的最右边界,则需要将匹配块向下平移一个像素点并使匹配块的左边界至第一搜索区EA1最左边界,再次计算块匹配准则值,直至遍历完毕至第一搜索区EA1内的右下角的最后一个匹配块。
然后从这些块匹配准则值中选择最小的块匹配准则值,其所属的匹配块则是该8×8第一预测块PU1的最佳匹配块,该最佳匹配块与8×8第一预测块PU1之间的位移则是8×8第一预测块PU1的运动向量MV11。如图4所示,假设虚线匹配块块是最佳匹配块,那么第一预测块PU1与最佳匹配块之间的位移则是第一一深度运动向量MV11。
同样,对于其余3个8×8第一预测块PU1也可以按照上述方法获得相应的最小第一块匹配准则值MAT1和运动向量。
同理,对于其余预测模式的每个预测块,也可以按照上述方法获得相应的最小第一块匹配准则值MAT1和运动向量。例如,对于预测模式二中的2个16×8第一预测块PU1,按照上述方法获得相应的最小第一块匹配准则值MAT1和运动向量。
S8,对最大编码块LCU进行1/2下采样得到第二采样块LCU2(大小32×32),对第二采样块LCU2分别按照每个预测模式划分为对应的第二预测块PU2。
根据HEVC编码标准,按照不同的预测模式,第二采样块LCU2可以划分为:(1)预测模式一(N×N),4个16×16第二预测块PU2;(2)预测模式二(2N×N),2个32×16第二预测块PU2;(3)预测模式三(N×2N),2个16×32第二预测块PU2;(4)预测模式四(2N×2N),1个32×32第二预测块PU2,如图5所示。
S9,如图6所示,在第二参考帧Ref2中以第一一深度运动向量MV11的两倍值确定的位置为原点P20的第二搜索区EA2内分别寻找每个第二预测块PU2的最佳匹配块,获得每个第二预测块PU2与对应最佳匹配块之间的运动向量MV12、以及最小第二块匹配准则值MAT2。在一些实施例中,步骤S7中的第一搜索区EA1大小大于第二搜索区EA2大小,例如,该第二搜索区EA2的大小可以为以上述位置为原点P20的±64×±64像素块。以下以步骤S8中的预测模式一为例进行详细说明。
S91,以步骤S8中的预测模式一为例,如图6所示,针对一个16×16第二预测块PU2,确定该16×16第二预测块PU2的中心,根据该第一一深度运动向量MV11的两倍值(2*MV11)可以在第二参考帧Ref2中确定对应的原点P20(原点P20与第二预测块PU2的中心之间的距离即为该第一一深度运动向量MV11的两倍值2*MV11),然后以该原点P20建立大小为±64×±64的第二搜索区EA2;
S92,接着,在该第二搜索区EA2内的左上角开始,每次选择与16×16第二预测块PU2相同大小的匹配块,计算16×16第二预测块PU2与匹配块之间的块匹配准则值,块匹配准则值可以采用均方差函数(MSE)、平均绝对值误差(MAD)、绝对差值和(SAD)、差值平方和(SSD);每计算完一次16×16第二预测块PU2与匹配块之间的块匹配准则值之后,将匹配块向右平移一个像素点,然后再次计算块匹配准则值,如果匹配块的右边界到达第二搜索区EA2的最右边界,则需要将匹配块向下平移一个像素点并使匹配块的左边界至第二搜索区EA2最左边界,再次计算块匹配准则值,直至遍历完毕至第二搜索区EA2内的右下角的最后一个匹配块。
S93,然后从这些块匹配准则值中选择最小的块匹配准则值MAT2,其所属的匹配块则是该16×16第二预测块PU2的最佳匹配块,该最佳匹配块与16×16第二预测块PU2之间的位移则是16×16第二预测块PU2的第二一深度运动向量MV12。如图6所示,假设虚线匹配块代表最佳匹配块,则MV12则是16×16第二预测块PU2的运动向量。
同样,对于其余3个16×16第二预测块PU2也可以按照上述方法获得相应的最小第二块匹配准则值MAT2和第二一深度运动向量MV12。
同理,对于其余预测模式的每个第二预测块PU2,也可以按照上述方法获得相应的最小第二块匹配准则值MAT2和第二一深度运动向量MV12。例如,对于预测模式二中的2个32×16第二预测块PU2,按照上述方法获得相应的最小第二块匹配准则值MAT2和第二一深度运动向量MV12。
为了计算最大编码块LCU在深度Ⅲ、Ⅱ的运动向量,针对步骤S91中预测模式一的16×16第二预测块PU2,在计算最大编码块LCU深度Ⅰ预测模式一的32×32的运动向量的同时,可以进一步作如下处理。
S911,对步骤S91中预测模式一的16×16第二预测块PU2进一步划分为16个大小相同的第三预测块PU3(大小为4×4像素),从左到右、从上到下依次记为PU3-01、PU3-02…PU3-16,如图7所示。
S912,在第二参考帧Ref2中以第一一深度运动向量MV11的两倍值(2*MV11)确定的位置为原点的第二搜索区EA2内遍历所有的16×16像素大小的滑动窗(可以划分为16个4×4像素块,从左到右、从上到下依次记为U-01、U-02…U-16):
首先,从第二搜索区EA2的左上角第1个滑动窗开始:
计算分别计算每个第三预测块PU3与该滑动窗中相同位置4×4像素块之间的块匹配准则值,例如,第1个第三预测块PU3-01与第1个4×4像素块U-101之间的块匹配准则值MAT-101,第2个第三预测块PU3-02与第2个4×4像素块U-102之间的块匹配准则值MAT-102,…第16个第三预测块PU3-16与第16个4×4像素块U-116之间的块匹配准则值MAT-116。
对于最大编码块深度Ⅱ的每一种预测模式下的每一个预测块,在第二预测块PU2中选择形状对应的第三预测块组合GP,并计算每个第三预测块组合GP的块匹配准则值,即第三预测块组合GP内所有第三预测块的块匹配准则值之和。如图8所示,与最大编码块深度Ⅱ的预测模式一(2N×2N)对应的第三预测块组合GP为GP1,即由4个第三预测块PU3构成,该GP1的块匹配准则值等于这4个第三预测块PU3的块匹配准则值之和;与最大编码块深度Ⅱ的预测模式二(2N×N)对应的第三预测块组合GP为GP3,即由2个第三预测块PU3构成,该GP3的块匹配准则值等于这2个第三预测块PU3的块匹配准则值之和;与最大编码块深度Ⅱ的预测模式三(N×2N)对应的第三预测块组合GP为GP2,即由2个第三预测块PU3构成,该GP2的块匹配准则值等于这2个第三预测块PU3的块匹配准则值之和。
接着,在第二搜索区EA2内将第1个滑动窗向右平移一个像素得到第2个滑动窗,再次分别计算每个第三预测块PU3与该第2个滑动窗中相同位置4×4像素块之间的块匹配准则值,例如,第1个第三预测块PU3-01与第1个4×4像素块U-201之间的块匹配准则值MAT-201,第2个第三预测块PU3-02与第2个4×4像素块U-202之间的块匹配准则值MAT-202,…第16个第三预测块PU3-16与第16个4×4像素块U-216之间的块匹配准则值MAT-216。
对于最大编码块深度Ⅱ的每一种预测模式下的每一个预测块,在第二预测块PU2中选择形状对应的第三预测块组合GP,并计算每个第三预测块组合GP的块匹配准则值,即第三预测块组合GP内所有第三预测块的块匹配准则值之和。
每次计算完一个滑动窗的相关块匹配准则值之后,将滑动窗向右平移一个像素点,直至到达第二搜索区EA2的右边界,此时需要将滑动窗向下平移一个像素点并向左平移至第二搜索区EA2的左边界,并开始此滑动窗的相关块匹配准则值的计算,直至第二搜索区EA2的右下角最后一个滑动窗。假设上述过程中在第二搜索区EA2内共产生了M个滑动窗。
至此,可以进行最大编码块LCU深度Ⅲ运动向量和深度Ⅱ运动向量的计算。
最大编码块LCU深度Ⅲ运动向量计算
任一第三预测块PU3均得到了M个块匹配准则值:MAT-101、MAT-201…MAT-M01,其中的最小值对应的滑动窗中的4×4像素块则是该第三预测块PU3的最佳匹配块(该最佳匹配块在该滑动窗的位置与该第三预测块PU3在第二预测块PU2中的位置相同),该最佳匹配块至第三预测块PU3之间的距离则是第三预测块PU3的第一三深度运动向量MV13。进而可以将第一三深度运动向量的两倍值(2*MV13)作为最大编码块LCU深度Ⅲ对应位置的8×8预测块(深度Ⅲ仅有预测模式四),例如图5中预测模式一中,左上角第一个第二预测块PU2内左上角第一个4×4第三预测块PU3的对应位置是最大编码块LCU深度Ⅲ左上角第一个8×8预测块。
最大编码块LCU深度Ⅱ运动向量计算
同样,对于上述每一个第三预测块组合GP均得到了M个块匹配准则值,其中最小值对应的滑动窗中的像素块组合即为该第三预测块组合GP的最佳匹配块(该最佳匹配块在该滑动窗的位置与该第三预测块组合GP在第二预测块PU2中的位置相同),该最佳匹配块至第三预测块组合GP之间的距离则是第三预测块组合GP的第一二深度运动向量MV21(其中,可以选择第三预测块组合GP左上角第一个4×4第三预测块PU3至最佳匹配块左上角第一个4×4像素块之间的距离作为第一二深度运动向量MV21,或者第三预测块组合GP中任一个像素点与最佳匹配块内与该像素点位置相同的位置之间的距离作为第一二深度运动向量MV21)。进而可以将第一二深度运动向量的两倍值(2*MV21)作为最大编码块LCU深度Ⅱ与该第三预测块组合GP形状对应预测模式下对应位置的预测块的运动向量,假设图8中的PU2是图5所示预测模式四中左上角的PU2,因此,第三预测块组合GP1第一二深度运动向量的两倍值(2*MV21)作为最大编码块LCU深度Ⅱ左上角16×16预测块的运动向量。
另外,在上述计算第二预测块PU2与第二搜索区EA2内匹配块(16×16大小的滑动窗)之间的匹配准则值时,可以计算该第二预测块PU2内所有第三预测块PU3的匹配块准则值之和,在总共得到的M个匹配块准则值中选择最小值作为第二预测块PU2的最小第二块匹配准则值。
最大编码块深度Ⅰ的运动向量的计算
S10,比较某一预测模式下第二预测块PU2的第二块匹配准则值MAT2的两倍值(2*MAT2)与在前述相同预测模式下对应位置的第一预测块PU1的第一块匹配准则值MAT1的四倍值(4*MAT1)之间的大小,若第二块匹配准则值MAT2的两倍值小于第一块匹配准则值MAT1的四倍值(即2*MAT2<4*MAT1),则执行步骤S11,若第二块匹配准则值MAT2的两倍值大于第一块匹配准则值MAT1的四倍值(即即2*MAT2>4*MAT1),则执行步骤S112。
例如,对:预测模式一(N×N)下计算得到左上角16×16第二预测块PU2的第二块匹配准则值MAT2的两倍值与预测模式二(N×N)下计算得到左上角8×8第一预测块PU1的第一块匹配准则值MAT1的四倍值进行比较;又例如,对:预测模式二(2N×N)下计算得到上半部分32×16第二预测块PU2的第二块匹配准则值MAT2的两倍值与预测模式二(2N×N)下计算得到上半部分16×8第一预测块PU1的第一块匹配准则值MAT1的四倍值进行比较等等。
S111,将第二一深度运动向量MV12的两倍值(2*M12)作为深度Ⅰ对应预测块的运动向量。如图5所示,对于最大编码块LCU按照预测模式一(N×N),划分为4个32×32编码块下的左上角32×32编码块的运动向量MV1,该MV1等于图6中LCU2左上角的PU2的第二一深度运动向量MV12的两倍值(2*M12)。本深度Ⅰ预测模式一其他预测块的运动向量以及其他预测模式的预测块的运动向量的计算方法参照前文描述的计算方法,在此不再赘述。
S112,将第一一深度运动向量MV11的四倍值(4*M11)作为深度Ⅰ对应预测块的运动向量。如图3所示,对于最大编码块LCU按照预测模式一(N×N),划分为4个32×32编码块下的左上角32×32编码块的运动向量MV1,该MV1等于图3中LCU1左上角的PU1的第一一深度运动向量MV11的四倍值(4*M11)。本深度Ⅰ预测模式一其他预测块的运动向量以及其他预测模式的预测块的运动向量的计算方法参照前文描述的计算方法,在此不再赘述。
经过上述步骤,最大编码块LCU每个深度每个预测模式下的每个预测块都具有对应的运动向量和最小块匹配准则值,为了进一步提高运动向量和最小块匹配准则值的准确度,可以对最大编码块LCU每个深度每个预测模式下的每个预测块在参考帧上进一步精细搜索。
S12,对于最大编码块LCU每个深度每种预测模式下的每个预测块,在参考帧中以每个预测块的运动向量确定的位置为原点的第四搜索区EA4内寻找最佳匹配块,获得每个预测块的最终运动向量mv_best,其中,第四搜索区EA4大小小于第一搜索区EA1和第二搜索区EA2,例如第四搜索区EA4大小为±2×±2。具体的搜索方法与前述步骤中关于搜索最佳匹配块的方法类似,在此不再赘述。
将每个预测块最终运动向量mv_best存入数组(如bestCUInfo数组)内。至此,完成了整数像素运动估计(IME)的过程。
S13,针对最大编码块LCU每种预测模式下的每个预测块,从数组中取出最终运动向量mv_best,根据最终运动向量mv_best,可以按照HEVC编码标准规定的计算方法分别计算各深度下预测块对应的编码块所消耗的总比特数R和失真ΔD(大小为最终运动向量mv_best对应的最小块匹配准则值,该最小块匹配准则值可以采用SAD),再由公式:ΔJ=ΔD+λR(其中λ为拉格朗日因子)计算出对应的每个编码块相对率失真代价值ΔJ,分别计算每个深度每种预测模式下所有编码块的率失真代价值ΔJ总和,通过比较不同ΔJ总和之间的大小,从中选择ΔJ总和最小时对应的深度和预测模式作为最大编码块LCU的最优划分方式(即确定最终编码选择哪个深度,以及在这个深度下选择哪种预测模式)。例如,最大编码块若按照深度Ⅰ预测模式一进行预测,则会有4个32×32预测块,因此对应的ΔJ总和为这4个预测块的ΔJ之和。
接着,针对最大编码块LCU的最终深度以及预测模式下预测块对应的编码块CU(形状为正方形),判决每个编码块的块类型,即应该用哪种块类型对该编码块CU进行编码。根据HEVC编码标准,编码块CU的块类型包括Inter(帧间预测)、Intra(帧内预测)、Merge(合并)、skip(跳过)(属于Merge的特殊情况,若当前编码块CU的编码块标志(Coding BlockFlag,CBF)=0,即当前编码块CU不用编码,其属于skip类型,且不需要再判断该当前编码块CU是否属于Inter和Intra类型),其中,对于编码块CU被划分为两个长方形预测块的情形,还需要计算该编码块CU的Inter相对率失真代价值ΔJ,对于编码块CU没有被进一步划分的情况,只需要计算该对于编码块CU的Intra(帧内预测)相对率失真代价值ΔJ和Merge相对率失真代价值ΔJ。具体如下。
S14,如图9所示,判决当前的编码块CU是否应为skip类型,若是,不再判断当前编码块CU是否属于Inter和Intra类型,并跳转到步骤S18,若否则继续执行步骤S15。
S15,计算当前编码块CU的Inter类型相对率失真代价值ΔJ。
针对最大编码块LCU的最终深度内的每个深度以及预测模式下的每个预测块,根据其运动向量在参考帧上进行亚像素运动估计(FME),搜索出更精确的最佳匹配块,从而得到更精确的运动向量(亚像素运动向量)。
计算每个深度每个编码块CU内每个预测块的所消耗的总比特数R和失真ΔD(为预测块的最小块匹配准则值,在这里采用SSD),再计算这个编码块CU的Inter类型相对率失真代价值ΔJ:ΔJ=ΔD+λR,其中λ为拉格朗日因子。
S16,计算当前编码块CU的Intra相对率失真代价值ΔJ,可以采用HEVC标准规定的方式进行计算,在此不再赘述。
S17,比较Inter、Intra(帧内预测)、Merge的ΔJ值的大小,选择相对率失真代价值ΔJ最小对应的块类型作为当前编码块CU的最优的块类型。
S18,判断最大编码块LCU编码深度下所有的CU是否被遍历完成,若是,则完成最大编码块LCU的编码,否则,跳转至步骤S14,进行下一个编码块CU的块类型判决。
本发明还提供了一种HEVC最大编码块编码过程中运动向量的计算模块,包括:第一计算单元,用于计算最大编码块深度Ⅰ每个预测模式下每个预测块的运动向量;第二计算单元,用于计算所述最大编码块深度Ⅱ每个预测模式下每个预测块的运动向量;第三计算单元,用于计算所述最大编码块深度Ⅲ每个预测模式下每个预测块的运动向量;其中,所述第一计算单元具体用于通过如下步骤计算深度Ⅰ对应的运动向量:对参考帧分别进行1/4和1/2下采样得到第一参考帧和第二参考帧;对最大编码块分别进行1/4和1/2下采样得到第一采样块和第二采样块;将所述第一采样块分别按照每个预测模式划分为对应的第一预测块,在所述第一参考帧中以初始运动向量确定的位置为原点的第一搜索区内分别寻找每个第一预测块的最佳匹配块,获得最小第一块匹配准则值和第一一深度运动向量;将所述第二采样块分别按照每个预测模式划分为对应的第二预测块,在所述第二参考帧中以所述第一一深度运动向量的两倍值确定的位置为原点的第二搜索区内分别寻找每个第二预测块的最佳匹配块,获得最小第二块匹配准则值和第二一深度运动向量;判断在相同预测模式下,所述第二块匹配准则值的两倍值是否小于对应的所述第一块匹配准则值的四倍值,若是则将所述第二一深度运动向量的两倍值作为深度Ⅰ对应预测块的运动向量;若否则将所述第一一深度运动向量的四倍值作为深度Ⅰ对应预测块的运动向量。
本发明还提供了一种HEVC最大编码块的编码装置,包括所述的运动向量计算模块,还包括:总率失真率计算模块,用于根据所述最大编码块每个深度每种预测模式下的每个预测块的最终运动向量,在所述参考帧中选择对应的参考块,计算每个预测块编码的失真和所消耗的总比特数,再根据所述失真和总比特数计算每个预测块的率失真率;分别计算所述最大编码块在每个深度每种预测模式下所有预测块的率失真率之和得到总率失真率;选择总率失真率最小时对应的深度和预测模式分别作为所述最大编码块最终编码的深度和预测模式;确定所述最大编码块最终编码的深度和预测模式下预测块对应的编码块的编码类型。
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。

Claims (15)

1.一种HEVC最大编码块编码过程中运动向量的计算方法,其特征在于,包括如下步骤:分别计算最大编码块深度Ⅰ每个预测模式下每个预测块的运动向量、深度Ⅱ每个预测模式下每个预测块的运动向量和深度Ⅲ每个预测模式下每个预测块的运动向量;其中,深度Ⅰ对应的运动向量通过如下步骤计算:
对参考帧分别进行1/4和1/2下采样得到第一参考帧和第二参考帧;对最大编码块分别进行1/4和1/2下采样得到第一采样块和第二采样块;
将所述第一采样块分别按照每个预测模式划分为对应的第一预测块,在所述第一参考帧中以初始运动向量确定的位置为原点的第一搜索区内分别寻找每个第一预测块的最佳匹配块,获得最小第一块匹配准则值和第一一深度运动向量;
将所述第二采样块分别按照每个预测模式划分为对应的第二预测块,在所述第二参考帧中以所述第一一深度运动向量的两倍值确定的位置为原点的第二搜索区内分别寻找每个第二预测块的最佳匹配块,获得最小第二块匹配准则值和第二一深度运动向量;
判断在相同预测模式下,所述第二块匹配准则值的两倍值是否小于对应的所述第一块匹配准则值的四倍值,若是则将所述第二一深度运动向量的两倍值作为深度Ⅰ对应预测块的运动向量;若否则将所述第一一深度运动向量的四倍值作为深度Ⅰ对应预测块的运动向量。
2.根据权利要求1所述的计算方法,其特征在于,
深度Ⅲ对应的运动向量通过如下步骤计算:
对于所述第二采样块被按照预测模式划分为四个相同大小的所述第二预测块:
将所述第二预测块划分为16个大小相同的第三预测块;
在所述第二搜索区内确定多个大小与所述第二预测块相同的滑动窗,并将所述滑动窗划分为16个大小相同的单元块;
分别计算所述第二预测块内某一位置的所述第三预测块与每个所述滑动窗内相同位置的所述单元块之间的第三块匹配准则值,选择所述第三块匹配准则值最小者对应的单元块作为所述第二预测块内某一位置的所述第三预测块的最佳匹配块,并获得第一三深度运动向量;
将所述第一三深度运动向量的两倍值作为深度Ⅲ对应所述第二预测块内某一位置的所述第三预测块的预测块的运动向量。
3.根据权利要求2所述的计算方法,其特征在于,
深度Ⅱ对应的运动向量通过如下步骤计算:
对于所述第二采样块被按照预测模式划分为四个相同大小的所述第二预测块:
对于所述最大编码块深度Ⅱ的每一种预测模式下的每一个预测块,在所述第二预测块中选择形状对应的第三预测块组合,分别计算所述第二预测块内某一位置的所述第三预测块组合与每个所述滑动窗内相同位置的单元块组合之间的第四块匹配准则值,选择所述第四块匹配准则值最小者对应的单元块组合作为所述第二预测块内某一位置的所述第三预测块组合的最佳匹配块,并获得第一二深度运动向量;
将所述第一二深度运动向量的两倍值作为深度Ⅱ对应预测块的运动向量。
4.根据权利要求3所述的计算方法,其特征在于,还包括如下步骤:对深度Ⅰ每个预测模式下每个预测块的运动向量、深度Ⅱ每个预测模式下每个预测块的运动向量和深度Ⅲ每个预测模式下每个预测块的运动向量进行进一步修正,具体为:
对于所述最大编码块每个深度每种预测模式下的每个预测块,在所述参考帧中以每个预测块的运动向量确定的位置为原点的第三搜索区内寻找最佳匹配块,获得每个预测块最终运动向量;
其中,所述第三搜索区大小小于所述第一搜索区和第二搜索区。
5.根据权利要求4所述的计算方法,其特征在于,
所述第一搜索区大小大于所述第二搜索区大小,所述第二搜索区大小大于所述第三搜索区大小。
6.根据权利要求1-5任一所述的计算方法,其特征在于,
所述初始运动向量通过如下步骤获得:
从所述最大编码块的运动向量候选列表中确定最优零深度运动向量;
对所述最优零深度运动向量进行四倍缩小得到初始运动向量。
7.一种HEVC最大编码块的编码方法,其特征在于,包括如下步骤:
采用如权利要求1-6任一所述的运动向量的计算方法计算所述运动向量;
根据所述最大编码块每个深度每种预测模式下的每个预测块的最终运动向量,在所述参考帧中选择对应的参考块,计算每个预测块编码的失真和所消耗的总比特数,再根据所述失真和总比特数计算每个预测块的率失真率;分别计算所述最大编码块在每个深度每种预测模式下所有预测块的率失真率之和得到总率失真率;
选择总率失真率最小时对应的深度和预测模式分别作为所述最大编码块最终编码的深度和预测模式;
确定所述最大编码块最终编码的深度和预测模式下预测块对应的编码块的编码类型。
8.一种HEVC最大编码块编码过程中运动向量的计算模块,其特征在于,包括:
第一计算单元,用于计算最大编码块深度Ⅰ每个预测模式下每个预测块的运动向量;
第二计算单元,用于计算所述最大编码块深度Ⅱ每个预测模式下每个预测块的运动向量;
第三计算单元,用于计算所述最大编码块深度Ⅲ每个预测模式下每个预测块的运动向量;
其中,所述第一计算单元具体用于通过如下步骤计算深度Ⅰ对应的运动向量:
对参考帧分别进行1/4和1/2下采样得到第一参考帧和第二参考帧;对最大编码块分别进行1/4和1/2下采样得到第一采样块和第二采样块;
将所述第一采样块分别按照每个预测模式划分为对应的第一预测块,在所述第一参考帧中以初始运动向量确定的位置为原点的第一搜索区内分别寻找每个第一预测块的最佳匹配块,获得最小第一块匹配准则值和第一一深度运动向量;
将所述第二采样块分别按照每个预测模式划分为对应的第二预测块,在所述第二参考帧中以所述第一一深度运动向量的两倍值确定的位置为原点的第二搜索区内分别寻找每个第二预测块的最佳匹配块,获得最小第二块匹配准则值和第二一深度运动向量;
判断在相同预测模式下,所述第二块匹配准则值的两倍值是否小于对应的所述第一块匹配准则值的四倍值,若是则将所述第二一深度运动向量的两倍值作为深度Ⅰ对应预测块的运动向量;若否则将所述第一一深度运动向量的四倍值作为深度Ⅰ对应预测块的运动向量。
9.根据权利要求8所述的计算模块,其特征在于,
所述第三计算单元具体用于通过如下步骤计算深度Ⅲ对应的运动向量:
对于所述第二采样块被按照预测模式划分为四个相同大小的所述第二预测块:
将所述第二预测块划分为16个大小相同的第三预测块;
在所述第二搜索区内确定多个大小与所述第二预测块相同的滑动窗,并将所述滑动窗划分为16个大小相同的单元块;
分别计算所述第二预测块内某一位置的所述第三预测块与每个所述滑动窗内相同位置的所述单元块之间的第三块匹配准则值,选择所述第三块匹配准则值最小者对应的单元块作为所述第二预测块内某一位置的所述第三预测块的最佳匹配块,并获得第一三深度运动向量;
将所述第一三深度运动向量的两倍值作为深度Ⅲ对应所述第二预测块内某一位置的所述第三预测块的预测块的运动向量。
10.根据权利要求9所述的计算模块,其特征在于,
所述第三计算单元具体用于通过如下步骤计算深度Ⅱ对应的运动向量:
对于所述第二采样块被按照预测模式划分为四个相同大小的所述第二预测块:
对于所述最大编码块深度Ⅱ的每一种预测模式下的每一个预测块,在所述第二预测块中选择形状对应的第三预测块组合,分别计算所述第二预测块内某一位置的所述第三预测块组合与每个所述滑动窗内相同位置的单元块组合之间的第四块匹配准则值,选择所述第四块匹配准则值最小者对应的单元块组合作为所述第二预测块内某一位置的所述第三预测块组合的最佳匹配块,并获得第一二深度运动向量;
将所述第一二深度运动向量的两倍值作为深度Ⅱ对应预测块的运动向量。
11.根据权利要求10所述的计算模块,其特征在于,所述的运动向量计算模块还包括第四计算单元,用于对深度Ⅰ每个预测模式下每个预测块的运动向量、深度Ⅱ每个预测模式下每个预测块的运动向量和深度Ⅲ每个预测模式下每个预测块的运动向量进行进一步修正,具体为:
对于所述最大编码块每个深度每种预测模式下的每个预测块,在所述参考帧中以每个预测块的运动向量确定的位置为原点的第三搜索区内寻找最佳匹配块,获得每个预测块最终运动向量;
其中,所述第三搜索区大小小于所述第一搜索区和第二搜索区。
12.根据权利要求11所述的计算模块,其特征在于,
所述第一搜索区大小大于所述第二搜索区大小,所述第二搜索区大小大于所述第三搜索区大小。
13.根据权利要求8所述的计算模块,其特征在于,
所述初始运动向量通过如下步骤获得:
从所述最大编码块的运动向量候选列表中确定最优零深度运动向量;
对所述最优零深度运动向量进行四倍缩小得到初始运动向量。
14.一种HEVC最大编码块的编码装置,其特征在于,包括8-13任一所述的运动向量计算模块,还包括:总率失真率计算模块,用于根据所述最大编码块每个深度每种预测模式下的每个预测块的最终运动向量,在所述参考帧中选择对应的参考块,计算每个预测块编码的失真和所消耗的总比特数,再根据所述失真和总比特数计算每个预测块的率失真率;分别计算所述最大编码块在每个深度每种预测模式下所有预测块的率失真率之和得到总率失真率;
选择总率失真率最小时对应的深度和预测模式分别作为所述最大编码块最终编码的深度和预测模式;
确定所述最大编码块最终编码的深度和预测模式下预测块对应的编码块的编码类型。
15.一种存储程序的存储介质,其特征在于,所述程序被芯片执行成如权利要求1-6任一所述的运动向量计算方法、或如权利要求7所述的编码方法。
CN202010559554.0A 2020-06-18 2020-06-18 Hevc最大编码块运动向量计算方法、装置、芯片及存储介质 Active CN112291561B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010559554.0A CN112291561B (zh) 2020-06-18 2020-06-18 Hevc最大编码块运动向量计算方法、装置、芯片及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010559554.0A CN112291561B (zh) 2020-06-18 2020-06-18 Hevc最大编码块运动向量计算方法、装置、芯片及存储介质

Publications (2)

Publication Number Publication Date
CN112291561A CN112291561A (zh) 2021-01-29
CN112291561B true CN112291561B (zh) 2024-03-19

Family

ID=74420610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010559554.0A Active CN112291561B (zh) 2020-06-18 2020-06-18 Hevc最大编码块运动向量计算方法、装置、芯片及存储介质

Country Status (1)

Country Link
CN (1) CN112291561B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117440168B (zh) * 2023-12-19 2024-03-08 福州时芯科技有限公司 一种实现并行螺旋搜索算法的硬件架构

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719901A (zh) * 2004-07-08 2006-01-11 三星电子株式会社 基于运动估计多分辨率方法及存储执行其程序的记录介质
US8149915B1 (en) * 2007-11-29 2012-04-03 Lsi Corporation Refinement of motion vectors in hierarchical motion estimation
CN102742260A (zh) * 2010-02-11 2012-10-17 微软公司 通用平台视频图像稳定化
CN104169971A (zh) * 2012-03-15 2014-11-26 英特尔公司 使用非线性缩放和自适应源块大小的分层运动估计
US8934544B1 (en) * 2011-10-17 2015-01-13 Google Inc. Efficient motion estimation in hierarchical structure
CN105580371A (zh) * 2013-07-19 2016-05-11 三星电子株式会社 基于自适应采样的分层运动估计方法和设备
US10621731B1 (en) * 2016-05-31 2020-04-14 NGCodec Inc. Apparatus and method for efficient motion estimation for different block sizes

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2769549A1 (en) * 2011-10-21 2014-08-27 Dolby Laboratories Licensing Corporation Hierarchical motion estimation for video compression and motion analysis
US20130148732A1 (en) * 2011-12-13 2013-06-13 Jason D. Tanner Variable block sized hierarchical motion estimation
EP3054685A1 (en) * 2015-02-04 2016-08-10 Thomson Licensing Hierarchical motion estimation and video segmentation in presence of more than one moving object in a block

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1719901A (zh) * 2004-07-08 2006-01-11 三星电子株式会社 基于运动估计多分辨率方法及存储执行其程序的记录介质
US8149915B1 (en) * 2007-11-29 2012-04-03 Lsi Corporation Refinement of motion vectors in hierarchical motion estimation
CN102742260A (zh) * 2010-02-11 2012-10-17 微软公司 通用平台视频图像稳定化
US8934544B1 (en) * 2011-10-17 2015-01-13 Google Inc. Efficient motion estimation in hierarchical structure
CN104169971A (zh) * 2012-03-15 2014-11-26 英特尔公司 使用非线性缩放和自适应源块大小的分层运动估计
CN105580371A (zh) * 2013-07-19 2016-05-11 三星电子株式会社 基于自适应采样的分层运动估计方法和设备
US10621731B1 (en) * 2016-05-31 2020-04-14 NGCodec Inc. Apparatus and method for efficient motion estimation for different block sizes

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
An hierarchical motion estimation method using adaptive image down-size;Hyungjun et al;《2014 IEEE International Conference on Consume Electronics》;20140113;全文 *

Also Published As

Publication number Publication date
CN112291561A (zh) 2021-01-29

Similar Documents

Publication Publication Date Title
US11889101B2 (en) Methods and systems for using motion estimation regions in encoding pictures associated with video data
US10397599B2 (en) Method and apparatus for inter prediction using motion vector candidate based on temporal motion prediction
CN111385569A (zh) 一种编解码方法及其设备
US8462849B2 (en) Reference picture selection for sub-pixel motion estimation
US11212532B2 (en) Method and apparatus for encoding and decoding motion information
US20130251036A1 (en) Intra prediction method and apparatus
KR20080089624A (ko) 고속 움직임 추정을 위한 시스템 및 방법
CN111698515B (zh) 帧间预测的方法及相关装置
CN113491132B (zh) 视频图像解码、编码方法、装置及可读存储介质
CN111263144B (zh) 一种运动信息确定方法及其设备
CN112042197A (zh) 候选运动矢量列表获取方法、装置及编解码器
CN112291561B (zh) Hevc最大编码块运动向量计算方法、装置、芯片及存储介质
KR100794855B1 (ko) 이미지 정보 변이값의 예측 방법과 이를 이용한 다시점영상의 부호화/복호화 방법 및 장치
CN113873257B (zh) 一种运动信息候选列表的构建方法、装置及其设备
CN111510726B (zh) 一种编解码方法及其设备
TW202106009A (zh) 視訊編碼器、視訊解碼器及相應方法
CN112449180A (zh) 一种编解码方法、装置及其设备
CN112055220B (zh) 一种编解码方法、装置及其设备
US20230328276A1 (en) Derivation of affine merge candidates with linear regression for video coding
CN117615129B (zh) 帧间预测方法、装置、计算机设备及存储介质
Yasir et al. Computationally efficient HEVC/H. 265 motion estimation algorithm for low power applications
WO2023094216A1 (en) Method and device for picture encoding and decoding
CN116684578A (zh) 基于控制点运动矢量的仿射模型优化
CN116016946A (zh) 一种编解码方法、装置及其设备
JP2016158306A (ja) 画像復号化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 519075 No. 333, Kexing Road, Xiangzhou District, Zhuhai City, Guangdong Province

Applicant after: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.

Address before: Floor 1-107, building 904, ShiJiHua Road, Zhuhai City, Guangdong Province

Applicant before: ZHUHAI JIELI TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant