CN101860747B - 亚像素运动估计系统及方法 - Google Patents
亚像素运动估计系统及方法 Download PDFInfo
- Publication number
- CN101860747B CN101860747B CN 201010136722 CN201010136722A CN101860747B CN 101860747 B CN101860747 B CN 101860747B CN 201010136722 CN201010136722 CN 201010136722 CN 201010136722 A CN201010136722 A CN 201010136722A CN 101860747 B CN101860747 B CN 101860747B
- Authority
- CN
- China
- Prior art keywords
- circuit
- pixel
- control unit
- optimal
- estimation
- 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
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种亚像素运动估计系统及方法。其中,该系统包括控制单元、前向电路、后向电路、双向电路和最优方向判定输出单元。所述前向电路、后向电路、双向电路连接于所述控制单元和所述最优方向判定输出单元之间,所述控制单元还直接与所述最优方向判定输出单元相连接。本发明通过顶层控制单元发送的控制信号及命令字的不同,实现了直接模式复用亚像素运动估计的插值电路;并且,可以基于三步搜索法,实现1/2像素运动估计与1/4像素运动估计间的模式流水。在双向电路中,选取前整像素向运动矢量,然后预测出后向运动矢量,并由这一对运动矢量计算代价,简化了硬件设计的复杂度,节约硬件资源消耗。
Description
技术领域
本发明涉及数字视频编解码技术领域,尤其涉及一种亚像素运动估计系统及方法。
背景技术
二十世纪九十年代以来,数字视频压缩技术被广泛应用于通信、个人计算机、广播电视、消费电子等领域,堪称数字媒体产业的最核心技术。以MPEG-2为代表的信源编码标准获得了巨大的成功。进入新世纪以来,以H.264/AVC和AVS为代表的新一代信源编码标准出现了.。AVS标准是我国具有自主知识产权的信源编码标准。2006年2月,AVS视频标准已经正式被批准为国家标准,进入了产业化推广的阶段。由于AVS视频标准的主要应用对象是标准清晰度/高清晰度电视,编码过程的计算复杂度较大,对编码器的硬件设计提出了挑战。
编码器的核心算法是帧间预测。帧间预测的主要目的是去除视频序列中的时序冗余,它是混合视频编码框架中对性能影响最为重要的一个环节,也是复杂度最高,耗费芯片面积和功耗最大的环节。帧间预测包括整像素运动估计和亚像素运动估计。整像素运动估计是在整像素基础上进行的,在参考帧中搜索到与当前块最匹配的块作为当前块的预测块。亚像素运动估计是在整像素运动估计的最佳匹配位置基础上,插值出1/4精度的参考像素,然后搜索当前块的最佳匹配块。亚像素运动估计可以提高运动预测的精度,现有的关于亚像素运动估计的发明专利,多是针对插值、SAD计算等一些具体技术,不能很好的实现高清及超高清图像的实时编码。
发明内容
本发明的目的在于提供一种亚像素运动估计系统及方法。基于本发明,可以很好的实现高清及超高清图像的实时编码。
本发明公开了一种亚像素运动估计系统,包括:控制单元、前向电路、后向电路、双向电路、最优方向判定输出单元;所述前向电路、后向电路、双向电路连接于所述控制单元和所述最优方向判定输出单元之间,所述控制单元还直接与所述最优方向判定输出单元相连接,其中,所述控制单元用于将接收到的工作信号同时发送至所述前向电路、后向电路、双向电路、最优方向判定输出单元;所述前向电路用于根据控制单元的工作信号,进行前向参考帧或离当前帧最近的一个参考帧的1/2像素运动估计及1/4像素运动估计;所述后向电路用于根据控制单元的工作信号,进行后向参考帧或远离当前参考帧的1/2像素运动估计及1/4像素运动估计;所述双向电路用于根据控制单元的工作信号完成B帧后向1/2像素运动估计和B帧双向1/4像素运动估计;所述最优方向判定输出单元用于根据控制单元的工作信号、所述前向电路、所述后向电路和所述双向电路作出的运动估计,进行最优方向判定,选取最优方向的亮度像素和参数,并根据亮度最优匹配块的方向与位置,插值出该方向与位置对应的色度匹配块并输出。
上述亚像素运动估计系统,优选所述控制单元接收到的工作信号包括:工作模式使能信号、工作使能信号以及命令字。
上述亚像素运动估计系统,优选所述控制单元还用于接收所述前向电路、后向电路、双向电路返回的工作状态。
上述亚像素运动估计系统,优选所述前向电路和所述后向电路包括:1/2像素运动估计模块和1/4像素运动估计模块。
上述亚像素运动估计系统,优选所述1/2像素运动估计模块包括:第一顶层控制子模块,用于接收FME顶层模块控制信号并解析命令字,产生前级FIFO读取使能信号和后级FIFO存储使能信号,返回1/2像素运动估计模块的工作状态至所述控制单元;第一像素插值子模块,用于完成水平位置、垂直位置和中间位置1/2像素插值;第一代价计算单元子模块,用于计算最优整像素周围8个1/2像素位置的SAD和MVD编码代价;第一代价比较子模块,用于比较8个1/2像素位置及最优整像素位置的编码代价,选取最优位置并输出结果。
上述亚像素运动估计系统,优选所述1/4像素运动估计模块包括:第二顶层控制子模块,用于接收所述控制单元的工作信号并解析命令字,产生前级FIFO读取使能信号和后级FIFO存储使能信号,返回所述1/4像素运动估计模块的工作状态至所述控制单元;像素插值控制子模块,用于根据最优位置判定该位置周围的8个1/4类型像素,并寄存下每个1/4类型像素对应匹配块的相对起始位置;第二像素插值子模块,用于根据1/4像素插值控制模块的控制信号,插值出8个1/4类型像素;像素匹配选取子模块,用于选取直接模式下的最优位置像素;选取非直接模式下的最优半像素;选取最优半像素周围的8个1/4类型像素;第二代价计算单元子模块,用于计算最优半像素周围8个1/4像素位置的SAD和MVD编码代价;第二代价比较子模块,用于比较8个1/4像素位置及最优1/2像素位置的代价,选取最优位置并输出结果。
上述亚像素运动估计系统,优选所述双向电路包括:B帧双向1/2像素运动估计子模块,用于负责B帧后向半像素运动估计完成后向半像素点插值,并将插值结果直接输出给后级FIFO;B帧双向1/4像素运动估计子模块,用于负责B帧双向1/4运动估计。
上述亚像素运动估计系统,优选所述最优方向盘定输出单元包括:第三顶层控制子模块,用于接收所述控制单元的工作信号并解析命令字,返回所述最优方向判定输出模块的状态至所述控制单元;亮度像素及参数输出子模块,用于判定各模式最优方向,选取最优方向的亮度像素和参数输出给模式决策模块;色度像素输出子模块,用于根据亮度最优匹配块的方向与位置,插值出该方向与位置对应的色度匹配块,并输出给模式决策模块。
另一方面,本发明还公开了一种亚像素运动估计方法,所述方法基于包括控制单元、前向电路、后向电路、双向电路和最优方向判定输出单元的硬件系统,所述硬件系统中,所述前向电路、后向电路、双向电路连接于所述控制单元和所述最优方向判定输出单元之间,所述控制单元还直接与所述最优方向判定输出单元相连接;该方法包括如下步骤:所述控制单元将接收到的工作信号同时发送至所述前向电路、后向电路、双向电路、最优方向判定输出单元;所述前向电路、后向电路、双向电路依据所述工作信号,基于三步搜索法,分别实现1/2像素运动估计与1/4像素运动估计间的模式流水,获取运动估计;所述最优方向判定输出单元用于根据控制单元的工作信号、所述前向电路、所述后向电路和所述双向电路作出的运动估计,进行最优方向判定,选取最优方向的亮度像素和参数,并根据亮度最优匹配块的方向与位置,插值出该方向与位置对应的色度匹配块并输出。
相对于现有技术而言,本发明具有如下优势:通过顶层控制单元发送的控制信号及命令字的不同,实现了直接模式复用亚像素运动估计的插值电路;从而,可以基于三步搜索法,根据1/2像素运动估计的最佳运动矢量,计算出其周围8个1/4像素类型及其相对位置,不仅可以只存储8个1/4像素及最佳1/2像素共9个位置的匹配块像素节约存储空间,可以实现1/2像素运动估计与1/4像素运动估计间的模式流水。并且,采用简化B帧双向算法,通过选取前整像素向运动矢量,然后预测出后向运动矢量,并由这一对运动矢量计算代价,简化了硬件设计的复杂度,节约硬件资源消耗。
附图说明
图1为本发明亚像素运动估计系统实施例的简单结构示意图;
图2为本发明亚像素运动估计系统实施例的详细结构示意图;
图3为亮度像素搜索窗分割存储结构图;
图4为单向1/2像素运动估计模块硬件结构示意图;
图5为单向1/4像素运动估计模块硬件结构示意图;
图6A为B帧双向电路硬件结构示意图;
图6B为B帧双向简化算法实施例的步骤流程图;
图7为最优方向判定输出模块硬件结构示意图;
图8为基于AVS视频编码标准基准档而实施的本发明流程图;
图9为整像素及其周围的15种类型亚像素说明图;
图10为1/2精度与1/4精度运动估计流水控制说明图;
图11为本发明亚像素运动估计方法实施例的步骤流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,图1为本发明亚像素运动估计系统实施例的简单结构示意图,包括:控制单元110、前向电路120、后向电路130、双向电路140、最优方向判定输出单元150;前向电路120、后向电路130、双向电路140连接于控制单元110和最优方向判定输出单元150之间,控制单元110还直接与最优方向判定输出单元150相连接,其中,控制单元110用于将接收到的工作信号同时发送至前向电路120、后向电路130、B帧双向电路140、最优方向判定输出单元150;前向电路120包括1/2像素运动估计模块和1/4像素运动估计模块,用于根据控制单元110的工作信号,进行前向参考帧或离当前帧最近的一个参考帧的1/2像素运动估计及1/4像素运动估计;后向电路130包括1/2像素运动估计模块和1/4像素运动估计模块,用于根据控制单元110的工作信号,进行后向参考帧或远离当前参考帧的1/2像素运动估计及1/4像素运动估计;双向电路140用于根据控制单元110的工作信号完成B帧后向1/2像素运动估计和B帧双向1/4像素运动估计;最优方向判定输出单元150用于根据控制单元110的工作信号、前向电路120、后向电路130和双向电路140作出的运动估计,进行最优方向判定,选取最优方向的亮度像素和参数,并根据亮度最优匹配块的方向与位置,插值出该方向与位置对应的色度匹配块并输出。
上述亚像素运动估计系统,控制单元110接收到的工作信号包括:工作模式使能信号、工作使能信号以及命令字。其中,需要说明的是,工作模式使能信号包括直接模式使能信号和非直接模式使能信号。这样分类是基于流水线处理的需要:当FME进入第一次流水时,它只能处理费直接模式,包括16x16、16x8、8x16、8x8,并不处理直接模式,从第二次流水到倒数第二个流水,FME既处理直接模式也处理非直接模式,当FME进入最后一次流水时,它只处理直接模式,此时,最后一个宏块的非直接模式在倒数第二次流水已经处理完毕。也就是说,非直接模式包括16x16、16x8、8x16、8x8。
参照图2,本发明亚像素运动估计系统实施例的详细结构示意图。该实施例示出的亚像素运动估计系统实施例包括顶层控制单元200、前向电路210、后向电路220、B帧双向电路230及最优方向判定输出模块250,该估计系统与编码器顶层控制模块(未示出)、前级整像素运动估计模块260、运动矢量预测模块270及后级模式决策模块280间有接口。其中,单向电路——前向电路210和后向电路220基本相同。前向电路210包括1/2像素运动估计模块2101(以下简称1/2ME)和1/4像素运动估计模块2102(以下简称1/4ME),分别负责前一参考帧上的搜索和后一参考帧上的搜索。后向电路210也包括1/2像素运动估计模块2201(以下简称1/2ME)和1/4像素运动估计模块2202(以下简称1/4ME),分别负责前一参考帧上的搜索和后一参考帧上的搜索。双向电路230也包括1/2像素运动估计模块2301和1/4像素运动估计模块2302,但双向电路中的这两个模块与1/2像素运动估计模块2301和1/4像素运动估计模块2302上述两个电路的模块有些区别。在后续的描述中会具体说明。
预测系统与编码器顶层控制间接口包括使能信号和状态信号直连线、命令字FIFO(先进先出队列缓冲区)及传输条带级或帧级参数的OPB总线。与前级整像素运动估计间接口包括存储亮度像素搜索窗的特殊三乒乓FIFO和存储整像素运动估计搜索结果的一般FIFO。特殊三乒乓FIFO的结构见图3,它含有三个RAM,每个RAM含有16个存储单元,每个单元为8bit位宽,深度随搜索窗的大小改变。三个RAM中,每个RAM负责存储一个亚像素运动估计亮度搜索窗,一个用于上一流水级直接模式或跳过模式,一个用于当前流水级非直接模式或跳过模式,还有一个用于整像素运动估计装窗。亮度搜索窗存储方式:将亮度搜索窗从左向右每16个像素分为1列,接着将第1列像素按深度从一个RAM中16个存储单元的起始地址开始存储,然后从第1列存储地址开始存储第2列像素,以此类推直至存储完亮度搜索窗。与预测运动矢量和后级模式决策间的接口既可采用一般FIFO也可以采用乒乓buffer。
下面对亚像素运动估计系统实施例中的各个模块做进一步的详细说明。
控制单元主要完成以下功能:接收编码器顶层发送来的工作使能信号,返回FME工作状态包括idle状态和error状态。向下级模块包括半像素运动估计、1/4像素运动估计和最优方向判定输出发送直接模式使能信号、非直接模式使能信号及工作使能信号和命令字,接收下级模块返回的工作状态也包括idle状态和error状态。
参照图4,图4为单向1/2像素运动估计模块硬件结构示意图。包括以下模块:
控制子模块400(第一顶层控制子模块),用于接收FME控制单元发出的工作信号并解析命令字,产生1/2ME前级FIFO读取使能信号和后级FIFO存储使能信号,以及返回1/2ME模块的工作状态。半像素插值子模块410(第一像素插值子模块),用于完成水平位置、垂直位置和中间位置1/2像素插值。8个半像素代价计算单元420(第一代价计算单元子模块),用于计算最优整像素周围8个1/2像素位置的SAD和MVD编码代价。代价比较单元430(第一代价比较子模块):比较8个1/2像素位置及最优整像素位置的编码代价,选取最优位置并输出结果。
从图4中可以看出,1/2像素运动估计模块还包括取整像素数据单元440,用于根据整像素运动估计的最佳运动矢量及图3所示的存储结构取出插值1/2像素的整像素。
1/2像素运动估计模块与外围的接口包括:亮度整像素FIFO401,整像素运动矢量、代价FIFO402,原始像素缓存403,预测矢量单元404、亮度半像素FIFO405,半像素运动矢量、代价FIFO406。
参照图5,图5为单向1/4像素运动估计模块硬件结构示意图,包括:
控制子模块500(第二顶层控制子模块):用于接收FME顶层模块控制信号并解析命令字,产生1/4ME前级FIFO读取使能信号和后级FIFO存储使能信号,返回1/4像素运动估计模块的工作状态。
插值控制子模块510(像素插值控制子模块):用于根据1/2控制子模块最优位置判定该位置周围的8个1/4类型像素,并寄存下每个1/4类型像素对应匹配块的相对起始位置。
像素插值子模块520(第二像素插值子模块):根据1/4像素插值控制模块的控制信号,插值出8个1/4类型像素。
像素匹配选取子模块530(像素匹配选取子模块):用于选取直接模式下的最优位置像素;选取非直接模式下的最优半像素;选取最优半像素周围的8个1/4类型像素。
8个代价计算单元540(第二代价计算单元子模块):计算最优半像素周围8个1/4像素位置的SAD和MVD编码代价。
代价比较单元550(第二代价比较子模块):比较8个1/4像素位置及最优1/2像素位置的代价,选取最优位置并输出结果。
参照图6A,图6A为B帧双向电路硬件结构示意图,B帧双向电路完成B帧双向各模式的代价计算,对原有算法做了简化以减少硬件资源消耗适于硬件实现。包括:
B帧双向半像素运动估计610(B帧双向1/2像素运动估计子模块):用于负责B帧后向半像素运动估计,主要完成后向半像素点插值。与2中的单向半像素运动估计有些不同,它不含代价计算单元和代价比较单元,后向半像素插值出来后直接输出给后级FIFO。
B帧双向1/2像素运动估计控制6102(1/2ME双向控制子模块):用于控制B帧双向1/2像素运动估计。
取整像素数据6103(B帧双向取后向参考帧上插值1/2像素的整像素子模块)
半像素插值6104(B帧双向1/2像素插值子模块):用于B帧对称模式后向参考帧上的1/2像素插值。
B帧双向1/4像素运动估计620(B帧双向1/4像素运动估计子模块):用于负责B帧双向1/4运动估计,与单向1/4运动估计不同,它的位置代价计算单元只有1个,且与上述PE也有不同,该PE需要先计算前后参考帧的预测像素差然后才能与原始像素计算SAD,运动矢量差编码代价MVD是由前向整像素运动矢量和前向整像素运动矢量对应的预测运动矢量计算的。B帧双向1/4像素运动估计不含有代价比较单元。
B帧双向1/4像素运动估计控制6201(1/4ME双向控制子模块):用于控制B帧双向1/4像素运动估计。
取半像素数据6202(取插值1/4像素的1/2像素子模块):用于取插值1/4像素的半像素。
B帧双向后向参考帧上1/4像素插值控制6203(1/4双向插值控制子模块):用于根据最优1/2运动矢量,判定出12种1/4像素类型中需要插值的8种1/4像素。
B帧双向后向参考帧上1/4像素插值6204(1/4像素插值子模块):用于当前向参考矢量取非整像素运动矢量时,插值预测出的后向运动矢量对应的1/4像素。
B帧双向1/4像素匹配选取6205(1/4双向像素匹配选取子模块):用于根据最优1/4运动矢量,选取B帧双向中后向1/4像素最佳匹配块。
B帧双向代价计算6206(双向代价计算子模块):用于根据前向最佳匹配块和后向最佳匹配块,及前向最佳运动矢量和前向预测运动矢量,计算B帧双向1/4像素运动估计的最佳匹配位置的代价。
参照图6B,图6B是B帧双向简化算法实施例的步骤流程图,
需要强调的是,B帧双向搜索是对双向搜索算法做了一定修改,其方法说明如下:因为B帧双向搜索算法较复杂,对硬件资源消耗太大,且对编码性能贡献较小,因此为节约硬件资源减少亚像素运动估计处理时间,对B帧双向搜索做了一定修改,硬件结构如图6所示。修改后的B帧双向搜索,前向运动矢量仅取整像素运动估计在前一参考帧上搜索的各模式最佳匹配块位置,后向运动矢量由前向运动矢量预测出来。因为预测出的后向运动矢量是1/4精度,所以B帧双向电路需要根据后向运动矢量判定出后向匹配块的像素类型并插值出来,然后和前向运动矢量对应当匹配块及前向运动矢量、前向运动矢量对应的预测运动矢量计算出各模式的双向代价。
参照图7,图7为图7为最优方向判定输出模块硬件结构示意图;
最优方向判定输出模块硬件结构包括:最优方向判定顶层控制子模块(第三顶层控制子模块):用于接收FME顶层模块控制信号并解析命令字,返回最优方向判定输出模块的状态包括idle状态和error状态。亮度像素及参数输出子模块710(输出各模式亮度最佳匹配块像素及其参数子模块):用于判定各模式最优方向,选取最优方向的亮度像素和参数输出给模式决策模块。最优方向判定输出控制7101(最优方向判定输出控制子模块):用于负责最优方向判定输出的控制。参考方向选取7102(最优参考方向判定子模块):用于根据每一路运动估计代价,选取前向电路、后向电路、双向电路中代价最小的一路。最优参考方向的亮度像素输出7103(最优匹配块亮度像素输出子模块):用于根据最优参考方向判定结果,输出最优参考方向上的亮度匹配块像素。最优参考方向的亮度参数输出7104(最优匹配块参数输出子模块):用于根据最优参考方向判定结果,输出最优参考方向上的亮度最佳匹配位置的参数,包括运动矢量、代价、参考方向。最佳匹配块色度像素输出720(色度像素输出子模块):用于根据亮度最优匹配块的方向与位置,插值出该方向与位置对应的色度匹配块,并输出给模式决策模块。
色度插值权重计算单元7201(色度插值权重子模块):用于根据亮度最佳匹配块位置的运动矢量,计算插值该位置对应的色度像素的权重。
取插值最佳匹配块色度像素的整像素色度像素7202(取色度像素子模块):用于根据最佳亮度匹配位置的运动矢量,取出用于插值该位置色度最佳匹配块的整像素色度像素。
插值最佳色度匹配块7203(色度插值):用于插值最佳亮度匹配位置对应的最佳色度匹配块。
最佳匹配块色度像素输出7204(色度像素输出子模块):根据后级模式决策模块的存储结构要求,把色度最佳匹配块的数据存储到模式决策模块的存储单元中。
有了上述亚像素运动估计系统,能够实现基于三步搜索法的亚像素运动估计,参照图8,包括如下步骤:
步骤1、亚像素运动估计顶层控制检测工作使能信号;若未使能,则在此等待,否则进入一个步骤。
步骤2、传递待编码的原始像素一个宏块给下一级,并判定编码帧类型,若是I帧,则直接返回原始状态,若是P帧,则进入步骤3,若是B帧,则进入步骤5。
步骤3、判定P帧直接模式是否使能,若使能则启动P帧直接模式,按块级流水处理数据,否则进入步骤4。
步骤4、判定P帧非直接模式是否使能,若使能则启动P帧非直接模式,按宏块级流水处理数据,处理完毕后返回原始状态,否则直接返回原始状态。
步骤5、判定B帧直接模式是否使能,若使能则启动B帧直接模式,按块级流水处理数据,否则进入步骤6。
步骤6、判定B帧非直接模式是否使能,若使能则启动B帧非直接模式,按宏块级流水处理数据,处理完毕后返回原始状态,否则直接返回原始状态。
下面对三步搜索法中1/2精度运动估计与1/4精度运动估计模式流水进行详细说明。
一个整像素周围可以插值出15种类型的亚像素,如图7所示,分别包括1、2、3这三种半像素和a、b、c、d、e、f、h、i、j、k、l、m这12种1/4像素。以左上角整像素为参考点,1/4像素间隔为单位,x方向取右为正,y方向取下为正,定各亚像素的相对序号为x+(y<<2),对应范围为1~15。
在1/2精度运动估计结束后,假定其最佳匹配位置在(x1,y1)坐标系(以中心整像素为原点)中的坐标为(x1,y1),如图8所示。首先,做一次坐标转换,将1/2精度最佳匹配位置坐标转换到(x2,y2)坐标系(以左上角整像素为原点)中,设其坐标为(x2,y2),与坐标(x1,y1)的关系为:x2=x1+4;y2=y1+4。其次,计算出1/2精度最佳匹配位置周围8个1/4位置在(x2,y2)坐标系中的坐标依次为:左上角(x1+3,y1+3),正上方(x1+4,y1+3),右上角(x1+5,y1+3),正左边(x1+3,y1+4),正右边(x1+5,y1+4),左下角(x1+3,y1+5),正下方(x1+4,y1+5),右下角(x1+5,y1+5)。最后,计算这8个位置对应的8个1/4像素相对左上角整像素的相对序号,计算公式为(y×4+x)&3,并根据序号确定这8个1/4像素类型,再计算这8个位置对应的8个1/4像素在图8方框中相对左上角同一类型1/4像素的坐标,计算公式为(x>>2,y<<2),其中(x,y)为各位置坐标。根据最后一步的两个计算公式,即可确定一个最佳1/2精度匹配位置周围对应的8个1/4精度匹配块像素类型及具体位置,实现1/4精度运动估计与1/2精度运动估计的模式流水处理,且仅需存储8个1/4像素位置及其中心最优1/2像素位置处共9个匹配块的像素。
另一方面,本发明还提供了一种亚像素运动估计方法,所述方法基于包括控制单元、前向电路、后向电路、双向电路和最优方向判定输出单元的硬件系统,所述硬件系统中,所述前向电路、后向电路、双向电路连接于所述控制单元和所述最优方向判定输出单元之间,所述控制单元还直接与所述最优方向判定输出单元相连接。
参照图11,该方法包括如下步骤:步骤1110,所述控制单元将接收到的工作信号同时发送至所述前向电路、后向电路、双向电路、最优方向判定输出单元;步骤1120,所述前向电路、后向电路、双向电路依据所述工作信号,基于三步搜索法,分别实现1/2像素运动估计与1/4像素运动估计间的模式流水,获取运动估计;步骤1130,所述最优方向判定输出单元用于根据控制单元的工作信号、所述前向电路、所述后向电路和所述双向电路作出的运动估计,进行最优方向判定,选取最优方向的亮度像素和参数,并根据亮度最优匹配块的方向与位置,插值出该方向与位置对应的色度匹配块并输出。
亚像素运动估计方法的原理与上述亚像素运动估计系统相同,在此不再赘述,相互之间互相参照即可。
以上对本发明所提供的一种亚像素运动估计系统及方法进行详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种亚像素运动估计系统,其特征在于,包括:控制单元、前向电路、后向电路、双向电路、最优方向判定输出单元;
所述前向电路、后向电路、双向电路连接于所述控制单元和所述最优方向判定输出单元之间,所述控制单元还直接与所述最优方向判定输出单元相连接,其中,
所述控制单元用于将接收到的工作信号同时发送至所述前向电路、后向电路、双向电路、最优方向判定输出单元;
所述前向电路用于根据控制单元的工作信号,进行B帧编码时前向参考帧或P帧编码时离当前帧最近的一个参考帧的1/2像素运动估计及1/4像素运动估计;
所述后向电路用于根据控制单元的工作信号,进行B帧编码时后向参考帧或P帧编码时远离当前帧的参考帧的1/2像素运动估计及1/4像素运动估计;
所述双向电路用于根据控制单元的工作信号完成B帧后向1/2像素运动估计和B帧双向1/4像素运动估计;
所述最优方向判定输出单元用于根据控制单元的工作信号、所述前向电路、所述后向电路和所述双向电路做出的运动估计,进行最优方向判定,选取最优方向的亮度像素和参数,并根据亮度最优匹配块的方向与位置,插值出该方向与位置对应的色度匹配块并输出。
2.根据权利要求1所述的亚像素运动估计系统,其特征在于,所述控制单元接收到的工作信号包括:工作模式使能信号、工作使能信号以及命令字。
3.根据权利要求2所述的亚像素运动估计系统,其特征在于,所述控制单元还用于接收所述前向电路、后向电路、双向电路返回的工作状态。
4.根据权利要求3所述的亚像素运动估计系统,其特征在于,所述前向电路和所述后向电路包括:1/2像素运动估计模块和1/4像素运动估计模块。
5.根据权利要求4所述的亚像素运动估计系统,其特征在于,所述1/2像素运动估计模块包括:
第一顶层控制子模块,用于接收控制单元的工作信号并解析命令字,产生前级FIFO读取使能信号和后级FIFO存储使能信号,返回1/2像素运动估计模块的工作状态至所述控制单元;
第一像素插值子模块,用于完成整像素之间水平位置、垂直位置和中间位置1/2像素插值;
第一代价计算单元子模块,用于计算最优整像素周围8个1/2像素位置的SAD和运动矢量差MVD编码代价;
第一代价比较子模块,用于比较8个1/2像素位置及最优整像素位置的编码代价,选取最优位置并输出结果。
6.根据权利要求4所述的亚像素运动估计系统,其特征在于,所述1/4像素运动估计模块包括:
第二顶层控制子模块,用于接收所述控制单元的工作信号并解析命令字,产生前级FIFO读取使能信号和后级FIFO存储使能信号,返回所述1/4像素运动估计模块的工作状态至所述控制单元;
像素插值控制子模块,用于根据最优位置判定该位置周围的8个1/4类型像素,并寄存下每个1/4类型像素对应匹配块的相对起始位置;
第二像素插值子模块,用于根据所述像素插值控制子模块的控制信号,插值出8个1/4类型像素;
像素匹配选取子模块,用于选取直接模式下的最优位置像素;选取非直接模式下的最优半像素;选取最优半像素周围的8个1/4类型像素;
第二代价计算单元子模块,用于计算最优半像素周围8个1/4像素位置的SAD和运动矢量差MVD编码代价;
第二代价比较子模块,用于比较8个1/4像素位置及最优1/2像素位置的代价,选取最优位置并输出结果。
7.根据权利要求5或6所述的亚像素运动估计系统,其特征在于,所述双向电路包括:
B帧双向1/2像素运动估计子模块,用于负责B帧后向半像素运动估计完成后向半像素点插值,并将插值结果直接输出给后级FIFO;
B帧双向1/4像素运动估计子模块,用于负责B帧双向1/4运动估计。
8.根据权利要求7所述的亚像素运动估计系统,其特征在于,所述最优方向判定输出单元包括:
第三顶层控制子模块,用于接收所述控制单元的工作信号并解析命令字,返回所述最优方向判定输出模块的状态至所述控制单元;
亮度像素及参数输出子模块,用于判定各模式最优方向,选取最优方向的亮度像素和参数输出给模式决策模块;
色度像素输出子模块,用于根据亮度最优匹配块的方向与位置,插值出该方向与位置对应的色度匹配块,并输出给模式决策模块。
9.一种亚像素运动估计方法,其特征在于,所述方法基于包括控制单元、前向电路、后向电路、双向电路和最优方向判定输出单元的硬件系统,所述硬件系统中,所述前向电路、后向电路、双向电路连接于所述控制单元和所述最优方向判定输出单元之间,所述控制单元还直接与所述最优方向判定输出单元相连接;该方法包括如下步骤:
所述控制单元将接收到的工作信号同时发送至所述前向电路、后向电路、双向电路、最优方向判定输出单元;
所述前向电路、后向电路、双向电路依据所述工作信号,基于三步搜索法,分别实现1/2像素运动估计与1/4像素运动估计间的模式流水,获取运动估计;
所述最优方向判定输出单元用于根据控制单元的工作信号、所述前向电路、所述后向电路和所述双向电路做出的运动估计,进行最优方向判定,选取最优方向的亮度像素和参数,并根据亮度最优匹配块的方向与位置,插值出该方向与位置对应的色度匹配块并输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010136722 CN101860747B (zh) | 2010-03-31 | 2010-03-31 | 亚像素运动估计系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010136722 CN101860747B (zh) | 2010-03-31 | 2010-03-31 | 亚像素运动估计系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101860747A CN101860747A (zh) | 2010-10-13 |
CN101860747B true CN101860747B (zh) | 2012-05-23 |
Family
ID=42946349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010136722 Active CN101860747B (zh) | 2010-03-31 | 2010-03-31 | 亚像素运动估计系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101860747B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102547258B (zh) * | 2010-12-14 | 2015-05-20 | 联芯科技有限公司 | 一种帧间编码中子象素搜索方法、运动搜索方法及其模块 |
CN102611887B (zh) * | 2011-01-21 | 2015-08-05 | 华为技术有限公司 | 非整像素位置运动矢量的坐标值取整方法和装置 |
CN102148990B (zh) * | 2011-04-28 | 2012-10-10 | 北京大学 | 一种运动矢量预测装置和方法 |
CN103634606B (zh) | 2012-08-21 | 2015-04-08 | 腾讯科技(深圳)有限公司 | 视频编码方法和装置 |
CN104702957B (zh) * | 2015-02-28 | 2018-10-16 | 北京大学 | 运动矢量压缩方法和装置 |
JP6700489B2 (ja) * | 2016-09-30 | 2020-05-27 | 華為技術有限公司Huawei Technologies Co.,Ltd. | インター予測を介する画像符号化および復号のための方法および装置 |
CN106998437B (zh) * | 2017-03-31 | 2020-07-31 | 武汉斗鱼网络科技有限公司 | 一种重建视频图像的方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100471275C (zh) * | 2006-09-08 | 2009-03-18 | 清华大学 | 用于h.264/avc编码器的运动估计方法 |
CN101505427A (zh) * | 2009-02-20 | 2009-08-12 | 杭州爱威芯科技有限公司 | 视频压缩编码算法中的运动估计装置 |
-
2010
- 2010-03-31 CN CN 201010136722 patent/CN101860747B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101860747A (zh) | 2010-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101860747B (zh) | 亚像素运动估计系统及方法 | |
KR100897880B1 (ko) | 비디오 코딩에 사용되는 코딩단/디코딩단의 양방향예측방법 | |
CN101573984B (zh) | 用于使用多个运动矢量预测因子来估计运动矢量的方法和设备,编码器、解码器和解码方法 | |
CN101267556B (zh) | 快速运动估计方法及视频编解码方法 | |
CN110087087A (zh) | Vvc帧间编码单元预测模式提前决策及块划分提前终止方法 | |
CN102148990B (zh) | 一种运动矢量预测装置和方法 | |
CN103327327B (zh) | 用于高性能视频编码hevc的帧间预测编码单元选择方法 | |
CN103188496A (zh) | 基于运动矢量分布预测的快速运动估计视频编码方法 | |
CN104079937B (zh) | 一种基于运动矢量分析的由h.264到hevc的快速帧间转码方法及转码装置 | |
CN101014129B (zh) | 一种视频数据压缩方法 | |
CN106454349B (zh) | 一种基于h.265视频编码的运动估计块匹配方法 | |
CN102932642A (zh) | 一种帧间编码快速模式选择方法 | |
Tsai et al. | High efficiency architecture design of real-time QFHD for H. 264/AVC fast block motion estimation | |
CN101299818B (zh) | 基于整像素搜索结果的n级亚像素搜索方法 | |
CN102647595B (zh) | 一种基于avs的亚像素运动估计的装置 | |
CN101102493A (zh) | 一种适用于运动估计的片内存储的方法 | |
CN101931739A (zh) | 绝对误差总和值估算系统及方法 | |
CN100385957C (zh) | 一种运动矢量预测的方法 | |
CN101631242A (zh) | 视频加权预测系统及其编码解码方法 | |
CN104065973B (zh) | 一种高性能视频编码搜索的方法及装置 | |
CN103139561A (zh) | 半像素与四分之一像素插值滤波器 | |
CN100469146C (zh) | 视频图像运动补偿装置 | |
CN100568977C (zh) | 视频编码中运动矢量预测方法 | |
CN101309401B (zh) | 一种快速的先进视频编码率计算方法及其装置 | |
CN102387364B (zh) | 一种快速帧内模式选择算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20101013 Assignee: Boya cloud (Beijing) Technology Co., Ltd. Assignor: Peking University Contract record no.: 2017990000367 Denomination of invention: Sub-pixel movement estimation system and method Granted publication date: 20120523 License type: Common License Record date: 20170908 |