CN113489994A - 一种运动估计方法、装置、电子设备及介质 - Google Patents

一种运动估计方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN113489994A
CN113489994A CN202110595268.4A CN202110595268A CN113489994A CN 113489994 A CN113489994 A CN 113489994A CN 202110595268 A CN202110595268 A CN 202110595268A CN 113489994 A CN113489994 A CN 113489994A
Authority
CN
China
Prior art keywords
class
coding units
motion estimation
dividing
coding unit
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.)
Pending
Application number
CN202110595268.4A
Other languages
English (en)
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.)
Hangzhou Boya Hongtu Video Technology Co ltd
Original Assignee
Hangzhou Boya Hongtu Video 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 Hangzhou Boya Hongtu Video Technology Co ltd filed Critical Hangzhou Boya Hongtu Video Technology Co ltd
Priority to CN202110595268.4A priority Critical patent/CN113489994A/zh
Publication of CN113489994A publication Critical patent/CN113489994A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供一种运动估计方法、装置、电子设备及存储介质。其中,所述方法包括:基于组合划分方式,将当前最大编码单元LCU划分为不重叠的多个第一类编码单元和多个第二类编码单元;将每个第二类编码单元分为两个第一类编码单元;获取当前LCU的运动估计依赖信息,并根据所述运动估计依赖信息得到所有第一类编码单元的预测运动矢量PMV以及当前LCU的PMV;对所有第一类编码单元进行运动估计,得到每个第一类编码单元对应的运动矢量;根据每个第二类编码单元划分得到的两个第一类编码单元的运动矢量,基于预设的继承方式得到所述第二类编码单元的运动矢量,相较于现有技术,本申请能够降低编码单元级别运动估计的带宽需求和复杂度,易于硬件实现。

Description

一种运动估计方法、装置、电子设备及介质
技术领域
本申请涉及视频编解码技术领域,具体涉及一种运动估计方法、装置、电子设备及存储介质。
背景技术
视频编解码技术的主要作用,是在可用的计算资源内,追求尽可能高的视频重建质量和尽可能高的压缩比。
运动估计(Motion Estimation,ME)是广泛应用于主流编码器中的一个非常重要的编码工具,其已经被证明在消除帧间冗余上具有较高的有效性。ME通过在参考帧上搜索当前预测单元(Prediction Unit,PU)的最优搜索点(Search Point),从而获取通过两者位置的差别,即运动矢量(Motion Vector,MV)。ME可以进一步分为运动估计(Integer PixelMotion Estimation,IME)和分像素运动估计(Fractional Pixel Motion Estimation,FME)。
IME通过在一个预先定义好的搜索范围,即搜索窗(Search Window)内的整像素间进行搜索最优MV。为了获取较为精准的搜索结果,则需要搜索窗尽可能的大,但是这样会让IME由于需要遍历更多的搜索点,极大增加复杂度和带宽消耗。由于相邻的编码单元(Coding Unit,CU)之间的运动往往具有较高的相关性,其最优模式信息和运动信息常常用来预测当前CU的运动矢量,即预测运动矢量(PMV),这个过程也叫作运动矢量预测(MVP)。PMV所指向的点通常作为搜索的起始点(Initial Search Point,ISP),由于编码器只在码流中写入运动矢量MV和PMV的差值(即MVD),则PMV也会参与运动估计中RD-Cost(Rate-Distortion Cost,率失真代价)的计算。
如图1所示,AVS3(Advanced Video Coding,先进视频编码)标准中,生成在E位置CU的PMV需要用到图1中A、B、C和D的CU的模式信息和运动信息。
生成了PMV之后,以PMV所指向的点为中心点,进行以下运动估计步骤:
第一个阶段,首先利用一个螺旋搜索对搜索的起始点进行一个微调得到SP1_0,之后以SP1_0为中心点,进行搜索半径为逐渐加大的菱形模式搜索(Diamond Search),得到最优搜索点SP1_1。如果SP1_1距离初始搜索点距离较远,则进行第二阶段,否则认为是最优搜索点。
第二个阶段,在以SP1_1为中心,搜索范围(Search Range,SR)为边长的一个方形内,进行一定步长(Stride)的光栅模式搜索(Raster Search),得到最优点SP2。
第三个阶段,以SP2为中心点,进行小范围的菱形模式搜索,获得最优点SP3,作为最终最优匹配点。
且由于AVS3标准中,引入了新的编码块划分机制,允许二叉树(BT,Binary Tree),四叉树(QT,Quart Tree)和拓展四叉树(EQT,Extended Quart Tree)并存,大大增加了编码单元(Coding Unit,CU)的数量,一个CU在帧间预测模式下,将不再被分为多个PU,则上述的IME方法是按照CU级别进行的。
当前的MVP具有较高的数据依赖性。首先,从最大编码单元(Largest CodingUnit,LCU)的级别上来说,对于一个需要进行编码的LCU来说,需要用到位于其左边的LCU最右一列区域的最优模式信息,这就需要等待前一个LCU的模式决策过程完成,当前的LCU才能开始进行MVP。其次,在CU的级别上,对于一个LCU内的多个CU来说,任何一个CU的MVP过程都需要等待邻近CU的模式决策完成才能进行。这两种数据依赖性都会导致硬件上常用的流水策略和并行计算策略无法使用,从而造成较大的时延。
对于运动估计而言,首先,AVS3编码器中的IME方法并不利于硬件实现,因为它具有分阶段收敛的特性,每个阶段搜索的起始点无法得知,导致其具有不规则的数据流。其次,由于CU划分技术相较于上一代编码标准增加了例如EQT等更多灵活的划分方式。虽然不再对CU进行PU划分,但是需要进行运动估计的CU依然大幅增加。假设LCU尺寸为64x64,在AVS3标准给出的IPPP编码配置下可划分出约1549个CU,其中每一个CU都需要进行运动估计,其复杂度和带宽消耗巨大。对于硬件来说,则面临着延迟和硬件资源消耗之间的取舍。
发明内容
本申请的目的是提供一种运动估计方法、装置、电子设备及存储介质,以降低CU级别运动估计的带宽需求和复杂度,易于硬件实现。
本申请第一方面提供一种运动估计方法,包括:
基于组合划分方式,将当前最大编码单元LCU划分为不重叠的多个第一类编码单元和多个第二类编码单元,其中,所述组合划分方式包括第一类划分方式和第二类划分方式,第一类划分方式对应第一类编码单元,第二类划分方式对应第二类编码单元;
将每个第二类编码单元再通过一次水平划分或垂直划分,分为两个第一类编码单元;
获取当前LCU的运动估计依赖信息,并根据所述运动估计依赖信息得到所有第一类编码单元的预测运动矢量PMV以及当前LCU的PMV;其中,所有第一类编码单元包括采用第一类划分方式划分得到的第一类编码单元,以及第二类编码单元划分得到的第一类编码单元;
根据所有第一类编码单元的PMV以及当前LCU的PMV对所有第一类编码单元进行运动估计,得到每个第一类编码单元对应的运动矢量;
根据每个第二类编码单元划分得到的两个第一类编码单元的运动矢量,基于预设的继承方式得到所述第二类编码单元的运动矢量。
本申请第二方面提供一种运动估计装置,包括:
第一划分模块,用于基于组合划分方式,将当前最大编码单元LCU划分为不重叠的多个第一类编码单元和多个第二类编码单元,其中,所述组合划分方式包括第一类划分方式和第二类划分方式,第一类划分方式对应第一类编码单元,第二类划分方式对应第二类编码单元;
第二划分模块,用于将每个第二类编码单元再通过一次水平划分或垂直划分,分为两个第一类编码单元;
预测模块,用于获取当前LCU的运动估计依赖信息,并根据所述运动估计依赖信息得到所有第一类编码单元的预测运动矢量PMV以及当前LCU的PMV;其中,所有第一类编码单元包括采用第一类划分方式划分得到的第一类编码单元,以及第二类编码单元划分得到的第一类编码单元;
运动估计模块,用于根据所有第一类编码单元的PMV以及当前LCU的PMV对所有第一类编码单元进行运动估计,得到每个第一类编码单元对应的运动矢量;
继承模块,用于根据每个第二类编码单元划分得到的两个第一类编码单元的运动矢量,基于预设的继承方式得到所述第二类编码单元的运动矢量。
本申请第三方面提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现本申请第一方面所述的方法。
本申请第四方面提供一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现本申请第一方面所述的方法。
相较于现有技术,本申请提供的运动估计方法,基于组合划分方式,将当前最大编码单元LCU划分为不重叠的多个第一类编码单元和多个第二类编码单元;将每个第二类编码单元再通过一次水平划分或垂直划分,分为两个第一类编码单元;获取当前LCU的运动估计依赖信息,并根据所述运动估计依赖信息得到所有第一类编码单元的预测运动矢量PMV以及当前LCU的PMV;根据所有第一类编码单元的PMV以及当前LCU的PMV对所有第一类编码单元进行运动估计,得到每个第一类编码单元对应的运动矢量;根据每个第二类编码单元划分得到的两个第一类编码单元的运动矢量,基于预设的继承方式得到所述第二类编码单元的运动矢量,相较于现有技术,本申请对于第二类编码单元的运动矢量,采用已有的运动矢量进行其运动矢量继承,仅需计算相当于两个搜索点的代价,大大减少了其计算复杂度和硬件实现的资源,因此本申请能够降低CU级别运动估计的带宽需求和复杂度,易于硬件实现。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了一种任意CU的邻近块模式信息替换方式的示意图;
图2示出了本申请提供的一种运动估计方法的流程图;
图3示出了本申请提供的EQT CU划分为BT/QT CU的示意图;
图4示出了本申请提供的CU的邻近块模式信息替换方式的示意图;
图5示出了本申请提供的一种分层运动估计的结构示意图;
图6示出了本申请提供的一种BT/QT SAD Tree的结构示意图;
图7示出了本申请提供的一种IME电路结构的示意图;
图8示出了本申请提供的一种Lv2运动估计电路结构的示意图;
图9示出了本申请提供的一种accLineSAD电路结构的示意图;
图10示出了本申请提供的一种SubLv2ME的流程图;
图11示出了本申请提供的一种运动估计装置的示意图;
图12示出了本申请提供的一种电子设备的示意图;
图13示出了本申请提供的一种计算机可读存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
另外,术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
为进一步说明本申请实施例的方案,下面将结合附图进行描述。可以理解的是,下面各实施例中,相同或相应的内容可以相互参考,为描述简便,后续不作赘述。
本申请实施例提供一种运动估计方法及装置、一种电子设备以及计算机可读存储介质,下面结合附图进行说明。
请参考图2,其示出了本申请的一些实施方式所提供的一种运动估计方法的流程图,该方法可应用于AVS3(Advanced Video Coding,先进视频编码)硬件编码器中。
如图2所示,上述运动估计方法,可以包括以下步骤:
步骤S101:基于组合划分方式,将当前最大编码单元LCU划分为不重叠的多个第一类编码单元和多个第二类编码单元;
其中,所述组合划分方式包括第一类划分方式和第二类划分方式,第一类划分方式对应第一类编码单元,第二类划分方式对应第二类编码单元;
步骤S102:将每个第二类编码单元再通过一次水平划分或垂直划分,分为两个第一类编码单元;
步骤S103:获取当前LCU的运动估计依赖信息,并根据所述运动估计依赖信息得到所有第一类编码单元的预测运动矢量PMV以及当前LCU的PMV;
其中,所有第一类编码单元包括采用第一类划分方式划分得到的第一类编码单元,以及第二类编码单元划分得到的第一类编码单元;
步骤S104:根据所有第一类编码单元的PMV以及当前LCU的PMV对所有第一类编码单元进行运动估计,得到每个第一类编码单元对应的运动矢量;
步骤S105:根据每个第二类编码单元划分得到的两个第一类编码单元的运动矢量,基于预设的继承方式得到所述第二类编码单元的运动矢量。
下面对上述各步骤进行详细介绍。
输入图像划分成若干个不重叠的处理单元,每个处理单元将进行类似的压缩操作。这个处理单元被称作CTU(Coding TreeUnit,编码树单元),或者LCU(Large CodingUnit,最大编码单元)。LCU再往下,可以继续进行更加细粒度的划分,得到一个或多个基本编码的单元,称之为CU(Coding Unit,编码单元)。对待编码图像块LCU的划分,可以采用QT、BT、EQT等划分方式中的一种划分方式或多种划分方式的组合。
上述步骤S101中,第一类划分方式包括二叉树BT和/或四叉树QT,第二类划分方式为拓展四叉树EQT,第一编码单元为BT/QT CU,第二编码单元为EQT CU。
应理解,S101中的组合划分方式为最优划分方式,LCU被划分为各类CU之后,需要求各个CU的运动矢量。
当BT/QT CU的运动矢量产生之后,EQT CU运动矢量可以通过继承方式获得。对于任何EQT CU,均可通过一次水平或垂直的划分,分为两个BT/QT CU。如图3所示,一个EQT CU划分为BT/QT CUA和BT/QT CUB,其中图a为垂直划分方式,图b为水平划分方式。
因此,上述步骤S102中将每个第二类编码单元再通过一次水平划分或垂直划分,分为两个第一类编码单元。
应理解,S102之后,当前LCU被全部划分为了第一类编码单元,也就是BT/QT CU。
步骤S103中,所述运动估计依赖信息包括:当前LCU的上方LCU的最下方模式信息;以及当前LCU的左方LCU的最右方在前一帧图像对应位置处的最优模式信息;
本申请采用的运动矢量预测MVP方法如下:
首先,通过空域模式信息替换消除上述的第一种即对于左边LCU最优模式的依赖性。MVP所需要的左LCU(Left Lcu)最右方的信息是不可得的,则利用Left LCU在前一帧(即RefPicture)对应位置处LCU(Co-Left Lcu)的最优模式信息,代替所需的Left Mode Info。当前LCU的上方LCU(Above LCU)已经过模式决策过程,MVP所需的AboveLCU的最下方模式信息是可得的,不必进行额外操作。
通过上述的空域模式信息替换后,通过如下方式对一个CU的MVP过程所需的邻近块模式信息进行替换,如图4所示,B位置采用相同水平位置上的模式信息Co-Left ModeInfo进行相同位置的替换,并用其运动矢量(即图中CoLeftLineMv)进行PMV计算。A、C、D位置用当前LCU上方LCU的最下方对应位置的模式信息Above Mode Info对所需的位置信息进行相同垂直位置的替换,并用其运动矢量(即图中AboveLineMV)进行PMV计算。
利用上述替换方案获得A、B、C和D块的模式信息之后,通过相关标准的流程则可计算出当前CU的PMV。
步骤S104可以实现为:根据所有第一类编码单元的PMV以及当前LCU的PMV,采用分层运动估计方法对当前LCU进行运动估计,得到每个第一类编码单元对应的运动矢量,具体包括以下步骤:
设置一个搜索窗,以当前LCU对应位置,即运动矢量MV为(0,0)所对应的点为中心,以第一范围进行搜索;对搜索窗像素和编码单元原始像素进行第一比例的降采样,利用降采样图像对当前LCU进行全搜索运动估计,获取代价最小的两个运动矢量,记为第一MV和第二MV;
再设置三个搜索窗,分别以第一MV、第二MV和当前LCU的预测运动矢量所指向的点为中心,以第二范围进行搜索,对搜索窗像素和编码单元原始像素进行第二比例的降采样,利用降采样图像对当前LCU进行全搜索运动估计,三个搜索窗各选出最优MV,从三个最优MV中再选出一个最优MV,记为第三MV;
再设置一个搜索窗,以第三MV所指向的点为中心,以第三范围进行搜索,搜索窗像素和原始像素不进行降采样,根据所有第一类编码单元的PMV,在当前LCU上进行可变块运动估计,得到当前LCU内所有第一类编码单元对应的运动矢量。
示例性的,图5为本申请分层运动估计的结构示意图,LCU级BQ/QT CU的运动估计分为三层进行,即Lv2,Lv1,Lv0进行,其每一层的运动估计详细方式如下:
Lv2:一个搜索窗,以当前LCU对应位置,即MV为(0,0)所对应的点为中心,搜索范围为[-128,128]。对搜索窗像素和LCU原始像素进行16:1降采样,利用降采样图像对当前LCU进行全搜索运动估计。获取代价最小的两个运动矢量MV2_0和MV2_1。
Lv1:三个搜索窗,分别以MV2_0,MV2_1和当前LCU的预测运动矢量PMVLCU所指向的点为中心,搜索范围为[-28,28]。对搜索窗像素和LCU原始像素进行4:1降采样,利用降采样图像对当前LCU进行全搜索运动估计。三个搜索窗各选出最优MV,又从三个最优MV中选出一个最优的MV,记为MV1。
Lv0:一个搜索窗,以MV1所指向的点为中心,搜索范围为[-8,8]。搜索窗像素和原始像素不进行降采样,在图像块上进行可变块运动估计VBSME,产生一个LCU内所有从8x8到64x64所有BT/QT CU的MV。
上述分层运动估计方法,对Lv2层选取的最优MV数量,Lv1层搜索窗的数量或各层的搜索范围,可以进行微调,依然可以实现本方案。在Lv0运动估计上,本方案采用LCU级VBSME,可调整为较小的级别,如1/4LCU级VBSME。
本申请中,在Le0阶段进行CU级运动估计,通过构造误差树(BT/QT SAD Tree)的方式进行可变块运动估计,得出所有BT/QT块的最优MV。
例如,Le0层共有8x8=64个搜索点SP,且VBSME需要在一个搜索点上,得出当前搜索点上对应所有的BT/QT块的SAD,因此,本申请提出一种BT/QT SAD Tree达成这个功能,其结构如图6。
如图6所示,对一个SP得出当前LCU内所有8x8子块对应的SAD。之后,在第二层,根据这些SAD块构造出所有最小边为8的SAD块(8x16,16x8,8x32,32x8,8x64,64x8)和16x16的SAD块;在第三层,根据上一层的SAD块构造出所有最小边为16的SAD块(16x32,32x16,16x64,64x16)和32x32的SAD块,最终根据32x32的SAD块构造出整个64x64的SAD块,即LCU的SAD。利用此结构,当前BT/QT CU在一个搜索点上的SAD均可较快获得,每进行一个SP的SADTree构造后,对所有BT/QT CUs进行最优MV的选择并记录。当完成64个点的迭代过后,就可完成Lv0层的VBSME。
步骤S105中,基于预设的继承方式得到所述第二类编码单元的运动矢量具体实现为:采用垂直方式划分第二类编码单元得到两个第一类编码单元,将位于左侧的第一类编码单元的运动矢量,作为所述第二类编码单元的运动矢量;或者,采用水平方式划分第二类编码单元得到两个第一类编码单元,将位于上方的第一类编码单元的运动矢量,作为所述第二类编码单元的运动矢量。
具体的,对于任何一个EQT CU,按照EQT CU特性,分为包含的两个BT/QT CU,CUA和CUB,如图2所示,其对应的MV分别为MVA和MVB,本申请中,垂直方式继承的是位于左侧的BT/QTCUA的MV,即MVA;水平方式继承的是位于上方的BT/QTCUA的MV,即MVA
因为通常编码一个CU,默认从左上角开始,如果继承CUB的MV,则对于EQT CU来说,可能导致超出参考窗范围,因此直接使用CUA的MV作为EQT CU的运动矢量。
应理解,本申请的上述运动估计方法分为两个部分,分别为LCU级BT/QT CU的运动估计和EQT CU的运动矢量继承。
本申请提供了一种LCU级分层运动估计方法,通过两种方法生成LCU内所有不同类型CU的MV,有益效果分为以下三点:
首先,BT/QT CU采用分层运动估计方法获得MV,该方法具有规则的数据流,较大的搜索范围,通过降采样的方法降低SAD(Sum of Absolute Difference,误差绝对值和)计算的消耗,适合硬件实现,同时,在最后Lv0的搜索过程中,采用LCU级别的VBSME,极大复用了SAD计算的结果。
其次,由于VBSME在实现上的硬件资源正比于其所要搜索的块的数量,仅仅对于BT/QT CU而非所有CU采用VBSME,降低了VBSME的硬件实现代价。
最后,对于EQT CU的MV,采用已有的MV进行其MV继承,仅需计算相当于两个搜索点的代价,大大减少了其计算复杂度和硬件实现的资源。
综上,本申请的运动估计方法中,运动矢量预测具有较低的数据依赖性,运动估计过程极大程度复用每一个搜索点上的误差计算结果,降低了CU级别运动估计的复杂度,具有较合理的硬件实现的资源消耗,且可在较低的代价下达到较高的运动速度。
本申请还提供了一种运用上述运动估计方法的硬件电路结构,简称IME电路结构。
IME电路结构包含了以下几个模块:对参考窗和时域/空域模式信息进行重新组织的Fetch Re-organization过程;计算各个CU的预测运动矢量(Predicted Motion Vector,PMV)的MVP过程;对LCU中所有QT和BT划分出的CU进行运动估计的None-EQT ME;根据QT,BT划分CU的运动估计结果预测EQT划分块的运动矢量的EQT ME;将ME进行组织的MVorganization过程。几个模块之间的调度如图7所示。
各个模块的功能和结构如下:
a)Fetch-Re-Organization Module
功能:获取当前LCU上方运动信息(MvAboveLine,RefiAbloveLine,ScuAboveLine),左方运动信息(MvLeftLine,RefiLeftLine)判断其可用性;获取参考窗RefWin,原始像素Org,输出计算当前LCU预测运动矢量LCU-PMV。
结构:该模块仅仅为从Memory读取数据,不对结构进行额外阐述。
b)None-EQT ME Coarse Module
功能:在Le2阶段进行LCU级运动估计,产生2个最优Lv2 MV;在Le1阶段进行LCU级运动估计,产生一个最优Lv1 MV,即CoarseMv。
结构:Lv2运动估计由于具有较大的搜索范围和复杂度,参考窗被分为4x4共16个子窗(SubRefWindow)并行进行运动估计。该模块由4个相同的可对一个子窗进行运动估计的SubLv2ME模块和一个最终的MV选择电路组成。在一行上的四个搜索子窗分别送入四个ME模块并行进行运动估计,经过四次迭代后即T=0,1,2,3,每次迭代ME模块均记录当前最优的MV和cost,最终分别将该sub-best MV送入SelectBest电路,SelectBest选出Cost最小的两个MV,完成Lv2运动估计,如图8所示为Lv2电路结构。
对于一个SubLv2ME而言,由于从Memory读取较为消耗时间,对于SubRefWindow中的像素,每一行像素共
Figure BDA0003090696870000111
个,只读入电路一次,并且参与一行16个SP所对应的SAD值的计算,其大致结构accLineSAD(RefLineIdx,OrgLineIdx)如图9所示,其中RefLineIdx输入的为参考窗像素的行坐标,OrgLineIdx为原始像素的行坐标。
图9中像素Ref为读入的一行参考像素,图中像素Org为原始像素,这里并非表示拷贝了多份,而是一份参与了多个绝对差值(Absolute Difference,AD)计算的连线,COSTSP_x表示第x个搜索点的COST,即SAD。SubLv2ME的流程图10所示。
Lv1与Lv2的结构基本相似,只是仅仅具有三个搜索窗,且在accLineSAD的构造上具有数量上的差别,不再进行额外赘述。
c)MVP Module
功能:根据空域和时域运动信息对所有BTQT块进行运动矢量预测,即CU PMV。
结构:数据行为较为简单,不对结构进行额外阐述。
d)None-EQT ME Refine Module
功能:在Le0阶段进行CU级运动估计,通过构造BT/QT SAD Tree的方式进行可变块运动估计(VBSME),得出所有BT/QT块(Non-EQT MV)最优MV。
e)EQT ME and MV-Organization Module
功能:根据BT/QT CU的运动信息获得EQT CU的MV,按组织形式将运动信息写回到固定Memory中,传给下一模块。
结构:写回数据行为较为简单,不对结构进行额外阐述。运动继承过程仅仅需要按照继承规则读取对应BT/QT CU的运动矢量进行写入即可。
以上IME电路结构仅供参考。
在上述的实施例中,提供了一种运动估计方法,与之相对应的,本申请还提供一种运动估计装置。请参考图11,其示出了本申请的一些实施方式所提供的一种运动估计装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图11所示,所述运动估计装置10包括:
第一划分模块101,用于基于组合划分方式,将当前最大编码单元LCU划分为不重叠的多个第一类编码单元和多个第二类编码单元,其中,所述组合划分方式包括第一类划分方式和第二类划分方式,第一类划分方式对应第一类编码单元,第二类划分方式对应第二类编码单元;
第二划分模块102,用于将每个第二类编码单元再通过一次水平划分或垂直划分,分为两个第一类编码单元;
预测模块103,用于获取当前LCU的运动估计依赖信息,并根据所述运动估计依赖信息得到所有第一类编码单元的预测运动矢量PMV以及当前LCU的PMV;其中,所有第一类编码单元包括采用第一类划分方式划分得到的第一类编码单元,以及第二类编码单元划分得到的第一类编码单元;
运动估计模块104,用于根据所有第一类编码单元的PMV以及当前LCU的PMV对所有第一类编码单元进行运动估计,得到每个第一类编码单元对应的运动矢量;
继承模块105,用于根据每个第二类编码单元划分得到的两个第一类编码单元的运动矢量,基于预设的继承方式得到所述第二类编码单元的运动矢量。
根据本申请的一些实施方式中,第一类划分方式包括二叉树BT和/或四叉树QT,第二类划分方式为拓展四叉树EQT,第一编码单元为BT/QT CU,第二编码单元为EQT CU。
根据本申请的一些实施方式中,运动估计模块104,具体用于:
根据所有第一类编码单元的PMV以及当前LCU的PMV,采用分层运动估计方法对当前LCU进行运动估计,得到每个第一类编码单元对应的运动矢量。
根据本申请的一些实施方式中,运动估计模块104,进一步用于:
所述采用分层运动估计方法对当前LCU进行运动估计,得到每个第一类编码单元对应的运动矢量,包括:
设置一个搜索窗,以当前LCU对应位置,即运动矢量MV为(0,0)所对应的点为中心,以第一范围进行搜索;对搜索窗像素和编码单元原始像素进行第一比例的降采样,利用降采样图像对当前LCU进行全搜索运动估计,获取代价最小的两个运动矢量,记为第一MV和第二MV;
再设置三个搜索窗,分别以第一MV、第二MV和当前LCU的预测运动矢量所指向的点为中心,以第二范围进行搜索,对搜索窗像素和编码单元原始像素进行第二比例的降采样,利用降采样图像对当前LCU进行全搜索运动估计,三个搜索窗各选出最优MV,从三个最优MV中再选出一个最优MV,记为第三MV;
再设置一个搜索窗,以第三MV所指向的点为中心,以第三范围进行搜索,搜索窗像素和原始像素不进行降采样,根据所有第一类编码单元的PMV,在当前LCU上进行可变块运动估计,得到当前LCU内所有第一类编码单元对应的运动矢量。
根据本申请的一些实施方式中,继承模块105,具体用于:
采用垂直方式划分第二类编码单元得到两个第一类编码单元,将位于左侧的第一类编码单元的运动矢量,作为所述第二类编码单元的运动矢量;
采用水平方式划分第二类编码单元得到两个第一类编码单元,将位于上方的第一类编码单元的运动矢量,作为所述第二类编码单元的运动矢量。
根据本申请的一些实施方式中,所述运动估计依赖信息,包括:
当前LCU的上方LCU的最下方模式信息;以及
当前LCU的左方LCU的最右方在前一帧图像对应位置处的最优模式信息。
根据本申请的一些实施方式中,运动估计模块104,进一步用于:
根据所有第一类编码单元的PMV,通过构造误差树的方式进行可变块运动估计,得到当前LCU内所有第一类编码单元对应的运动矢量。
本申请实施例提供的运动估计装置,与本申请前述实施例提供的应用于运动估计方法出于相同的发明构思,具有相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的运动估计方法对应的电子设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行上述运动估计方法。
请参考图12,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图12所示,所述电子设备20包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请前述任一实施方式所提供的运动估计方法。
其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述运动估计方法可以应用于处理器200中,或者由处理器200实现。
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的运动估计方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的运动估计方法对应的计算机可读存储介质,请参考图13,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的运动估计方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的运动估计方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。

Claims (10)

1.一种运动估计方法,其特征在于,包括:
基于组合划分方式,将当前最大编码单元LCU划分为不重叠的多个第一类编码单元和多个第二类编码单元,其中,所述组合划分方式包括第一类划分方式和第二类划分方式,第一类划分方式对应第一类编码单元,第二类划分方式对应第二类编码单元;
将每个第二类编码单元再通过一次水平划分或垂直划分,分为两个第一类编码单元;
获取当前LCU的运动估计依赖信息,并根据所述运动估计依赖信息得到所有第一类编码单元的预测运动矢量PMV以及当前LCU的PMV;其中,所有第一类编码单元包括采用第一类划分方式划分得到的第一类编码单元,以及第二类编码单元划分得到的第一类编码单元;
根据所有第一类编码单元的PMV以及当前LCU的PMV,对所有第一类编码单元进行运动估计,得到每个第一类编码单元对应的运动矢量;
根据每个第二类编码单元划分得到的两个第一类编码单元的运动矢量,基于预设的继承方式得到所述第二类编码单元的运动矢量。
2.根据权利要求1所述的方法,其特征在于,第一类划分方式包括二叉树BT和/或四叉树QT,第二类划分方式为拓展四叉树EQT,第一编码单元为BT/QT CU,第二编码单元为EQTCU。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所有第一类编码单元的PMV以及当前LCU的PMV对所有第一类编码单元进行运动估计,得到每个第一类编码单元对应的运动矢量,包括:
根据所有第一类编码单元的PMV以及当前LCU的PMV,采用分层运动估计方法对当前LCU进行运动估计,得到每个第一类编码单元对应的运动矢量。
4.根据权利要求3所述的方法,其特征在于,所述根据所有第一类编码单元的PMV以及当前LCU的PMV,采用分层运动估计方法对当前LCU进行运动估计,得到每个第一类编码单元对应的运动矢量,包括:
设置一个搜索窗,以当前LCU对应位置,即运动矢量MV为(0,0)所对应的点为中心,以第一范围进行搜索;对搜索窗像素和编码单元原始像素进行第一比例的降采样,利用降采样图像对当前LCU进行全搜索运动估计,获取代价最小的两个运动矢量,记为第一MV和第二MV;
再设置三个搜索窗,分别以第一MV、第二MV和当前LCU的预测运动矢量所指向的点为中心,以第二范围进行搜索,对搜索窗像素和编码单元原始像素进行第二比例的降采样,利用降采样图像对当前LCU进行全搜索运动估计,三个搜索窗各选出最优MV,从三个最优MV中再选出一个最优MV,记为第三MV;
再设置一个搜索窗,以第三MV所指向的点为中心,以第三范围进行搜索,搜索窗像素和原始像素不进行降采样;根据所有第一类编码单元的PMV,在当前LCU上进行可变块运动估计,得到当前LCU内所有第一类编码单元对应的运动矢量。
5.根据权利要求3所述的方法,其特征在于,所述根据每个第二类编码单元划分得到的两个第一类编码单元的运动矢量,基于预设的继承方式得到所述第二类编码单元的运动矢量,包括:
采用垂直方式划分第二类编码单元得到两个第一类编码单元,将位于左侧的第一类编码单元的运动矢量,作为所述第二类编码单元的运动矢量;或者,
采用水平方式划分第二类编码单元得到两个第一类编码单元,将位于上方的第一类编码单元的运动矢量,作为所述第二类编码单元的运动矢量。
6.根据权利要求1所述的方法,其特征在于,所述运动估计依赖信息,包括:
当前LCU的上方LCU的最下方模式信息;以及
当前LCU的左方LCU的最右方在前一帧图像对应位置处的最优模式信息。
7.根据权利要求4所述的方法,其特征在于,所述根据所有第一类编码单元的PMV,在当前LCU上进行可变块运动估计,得到当前LCU内所有第一类编码单元对应的运动矢量,包括:
根据所有第一类编码单元的PMV,通过构造误差树的方式进行可变块运动估计,得到当前LCU内所有第一类编码单元对应的运动矢量。
8.一种运动估计装置,其特征在于,包括:
第一划分模块,用于基于组合划分方式,将当前最大编码单元LCU划分为不重叠的多个第一类编码单元和多个第二类编码单元,其中,所述组合划分方式包括第一类划分方式和第二类划分方式,第一类划分方式对应第一类编码单元,第二类划分方式对应第二类编码单元;
第二划分模块,用于将每个第二类编码单元再通过一次水平划分或垂直划分,分为两个第一类编码单元;
预测模块,用于获取当前LCU的运动估计依赖信息,并根据所述运动估计依赖信息得到所有第一类编码单元的预测运动矢量PMV以及当前LCU的PMV;其中,所有第一类编码单元包括采用第一类划分方式划分得到的第一类编码单元,以及第二类编码单元划分得到的第一类编码单元;
运动估计模块,用于根据所有第一类编码单元的PMV以及当前LCU的PMV,对所有第一类编码单元进行运动估计,得到每个第一类编码单元对应的运动矢量;
继承模块,用于根据每个第二类编码单元划分得到的两个第一类编码单元的运动矢量,基于预设的继承方式得到所述第二类编码单元的运动矢量。
9.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时执行以实现如权利要求1至7中任一项所述的方法。
CN202110595268.4A 2021-05-28 2021-05-28 一种运动估计方法、装置、电子设备及介质 Pending CN113489994A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110595268.4A CN113489994A (zh) 2021-05-28 2021-05-28 一种运动估计方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110595268.4A CN113489994A (zh) 2021-05-28 2021-05-28 一种运动估计方法、装置、电子设备及介质

Publications (1)

Publication Number Publication Date
CN113489994A true CN113489994A (zh) 2021-10-08

Family

ID=77933681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110595268.4A Pending CN113489994A (zh) 2021-05-28 2021-05-28 一种运动估计方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN113489994A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130208799A1 (en) * 2012-02-10 2013-08-15 Texas Instruments Incorporated Methods and systems for encoding pictures associated with video data
CN103491371A (zh) * 2013-09-04 2014-01-01 华为技术有限公司 基于分层的编码方法、装置和设备
WO2018023352A1 (zh) * 2016-08-01 2018-02-08 南京信息工程大学 一种基于在线学习的快速运动估计方法
WO2019131807A1 (en) * 2017-12-29 2019-07-04 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks for video coding
WO2019204386A1 (en) * 2018-04-20 2019-10-24 Huawei Technologies Co., Ltd. Line buffer for spatial motion vector predictor candidates
CN110832869A (zh) * 2019-01-02 2020-02-21 深圳市大疆创新科技有限公司 用于视频编码或解码的运动信息获取方法与装置
WO2020125595A1 (zh) * 2018-12-16 2020-06-25 华为技术有限公司 视频译码器及相应方法
CN111698502A (zh) * 2020-06-19 2020-09-22 中南大学 基于vvc编码的仿射运动估计加速方法、设备及存储介质
CN111770345A (zh) * 2020-07-22 2020-10-13 腾讯科技(深圳)有限公司 编码单元的运动估计方法、装置、设备及存储介质
CN112204977A (zh) * 2019-09-24 2021-01-08 北京大学 视频编解码方法、装置和计算机可读存储介质
CN112715031A (zh) * 2018-12-21 2021-04-27 华为技术有限公司 一种使用基于历史的运动矢量预测的编码器、解码器及相应方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130208799A1 (en) * 2012-02-10 2013-08-15 Texas Instruments Incorporated Methods and systems for encoding pictures associated with video data
CN103491371A (zh) * 2013-09-04 2014-01-01 华为技术有限公司 基于分层的编码方法、装置和设备
WO2018023352A1 (zh) * 2016-08-01 2018-02-08 南京信息工程大学 一种基于在线学习的快速运动估计方法
WO2019131807A1 (en) * 2017-12-29 2019-07-04 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks for video coding
WO2019204386A1 (en) * 2018-04-20 2019-10-24 Huawei Technologies Co., Ltd. Line buffer for spatial motion vector predictor candidates
WO2020125595A1 (zh) * 2018-12-16 2020-06-25 华为技术有限公司 视频译码器及相应方法
CN112715031A (zh) * 2018-12-21 2021-04-27 华为技术有限公司 一种使用基于历史的运动矢量预测的编码器、解码器及相应方法
CN110832869A (zh) * 2019-01-02 2020-02-21 深圳市大疆创新科技有限公司 用于视频编码或解码的运动信息获取方法与装置
CN112204977A (zh) * 2019-09-24 2021-01-08 北京大学 视频编解码方法、装置和计算机可读存储介质
CN111698502A (zh) * 2020-06-19 2020-09-22 中南大学 基于vvc编码的仿射运动估计加速方法、设备及存储介质
CN111770345A (zh) * 2020-07-22 2020-10-13 腾讯科技(深圳)有限公司 编码单元的运动估计方法、装置、设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GABRIEL CEBRIÁN-MÁRQUEZ等: "A Motion-Based Partitioning Algorithm for HEVC Using a Pre-Analysis Stage", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 29, no. 5, XP011722747, DOI: 10.1109/TCSVT.2018.2839026 *
张强等: "基于图形信息的HEVC帧间预测快速算法", 计算机科学与探索, no. 5 *
高新意: "基于GPU的AVS2高速并行运动估计算法研究", 中国优秀硕士学位论文数据库, no. 4 *

Similar Documents

Publication Publication Date Title
CN103004210B (zh) 用于视频编码的低复杂度帧内预测
JP2016514378A (ja) 高効率次世代ビデオコーディングのためのコンテンツ適応双方向性又は機能性予測マルチパスピクチャ
JP2020014198A (ja) ビデオコンテンツ符号化における複数参照ラインのイントラ予測に応用する適応フィルタリング方法、それを用いたビデオ符号化デバイスおよびビデオ復号化デバイス
CN109348234B (zh) 一种高效亚像素运动估计方法及系统
JP2020537424A (ja) 動きベクトルの改善のための制限されたメモリアクセスウィンドウ
CN111201792B (zh) 指向分数像素点位置的运动矢量的修正运动矢量
US20210092363A1 (en) Intra prediction encoding/decoding method and apparatus for chrominance components
CN111212290A (zh) 片上系统及其帧率转换方法
de Souza et al. HEVC in-loop filters GPU parallelization in embedded systems
JP6781823B2 (ja) インターフレーム予測符号化方法および装置
EP4266219A1 (en) Image processing device and multi-frame processing method using same
CN113489986A (zh) 一种整像素运动估计方法、装置、电子设备及介质
JP6187826B2 (ja) 動画像符号化装置及び動画像符号化方法
CN113489994A (zh) 一种运动估计方法、装置、电子设备及介质
CN111343465A (zh) 电子电路和电子设备
WO2023200642A1 (en) Applications of template matching in video coding
JP5906993B2 (ja) 符号化装置、符号化方法、及びプログラム
CN113489988B (zh) 一种hevc整像素运动估计方法及装置
CN106534850B (zh) 图像处理装置、图像插值方法和图像编码方法
Kim et al. An efficient architecture of in-loop filters for multicore scalable HEVC hardware decoders
CN110519594B (zh) 视频编码方法及装置
Ndili et al. Fast algorithm and efficient architecture for integer and fractional motion estimation
Elhamzi et al. Efficient smart-camera accelerator: A configurable motion estimator dedicated to video codec
CN114222136A (zh) 运动补偿的处理方法、编码器、解码器以及存储介质
WO2020227892A1 (en) Non-local intra block copy and parallel coding for motion prediction

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