CN112514391A - 视频处理的方法与装置 - Google Patents

视频处理的方法与装置 Download PDF

Info

Publication number
CN112514391A
CN112514391A CN201980049277.4A CN201980049277A CN112514391A CN 112514391 A CN112514391 A CN 112514391A CN 201980049277 A CN201980049277 A CN 201980049277A CN 112514391 A CN112514391 A CN 112514391A
Authority
CN
China
Prior art keywords
block
blocks
motion vector
image
candidate motion
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
CN201980049277.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.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI 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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN112514391A publication Critical patent/CN112514391A/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/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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

提供一种视频处理的方法与装置,该方法包括:从参考帧缓存中获取M个参考块的数据,M为正整数;在对N个图像块进行Merge模式或Skip模式的帧间预测时,从M个参考块中确定是否存在N个图像块中每个图像块的参考块,N为正整数。通过预先从参考帧缓存访问M个参考块的数据,并在预先获取的M个参考块中确定是否存在N个图像块中每个图像块的参考块,可以实现从预先获取的M个参考块中获取Merge模式或Skip模式的帧间预测所需的多个数据,从而可以减少向参考帧缓存请求数据的次数。

Description

视频处理的方法与装置
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及视频编码领域,并且更为具体地,涉及一种视频处理的方法与装置。
背景技术
为了减少视频存储和传输所占用的带宽,需要对视频数据进行编码处理。预测是视频编码流程中的重要环节,预测的目的在于,针对一个图像块,获取与其最相近的一个块(可以称为参考块),然后将该图像块与其参考块相减得到残差。预测分为帧内预测与帧间预测。帧间预测,就是要获得当前图像块的运动矢量(motion vector,MV),然后根据该MV确定参考块在参考帧中的位置。
高效视频编码(High Efficiency Video Coding,HEVC)标准提出两种帧间预测模式:Merge模式与Skip模式。在Merge模式与Skip模式中,根据图像块的候选运动矢量获取该图像块的参考块,其中,需要根据候选运动矢量从参考帧中获取数据来获取当前块的参考块。在硬件编码器中,就是要向参考帧缓存(buffer)请求数据。
HEVC标准提供了灵活的块划分结构,一帧图像划分为多个子块。例如,先将一帧图像划分为多个编码树单元(Coding Tree Unit,CTU),一个CTU可划分为一个或多个编码单元(Coding Unit,CU),一个CU又可划分为一个或多个预测单元(Prediction Unit,PU)。在HEVC标准下,针对每个PU,都需要根据其候选运动矢量从参考帧缓存中获取数据,这导致在一个CTU的帧间编码过程中,需要多次向参考帧缓存请求数据,这会增加硬件设计的难度,也会降低帧间预测的效率。
发明内容
本申请提供一种视频处理的方法与装置,通过预先从参考帧缓存访问M个参考块的数据,可以实现从预先获取的M个参考块中获取Merge模式或Skip模式的帧间预测所需的多个数据,从而可以减少向参考帧缓存请求数据的次数。
第一方面,提供一种视频处理的方法,该方法包括:从参考帧缓存中获取M个参考块的数据,M为正整数;在对N个图像块进行Merge模式或Skip模式的帧间预测时,从M个参考块中确定是否存在N个图像块中每个图像块的参考块,N为正整数。
第二方面,提供一种编码装置,该编码装置包括处理器与存储器,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,并且对该存储器中存储的指令的执行使得,该处理器执行如下操作:从参考帧缓存中获取M个参考块的数据,M为正整数;在对N个图像块进行Merge模式或Skip模式的帧间预测时,从M个参考块中确定是否存在N个图像块中每个图像块的参考块,N为正整数。
第三方面,提供一种芯片,该芯片包括处理模块与通信接口,该处理模块用于控制该通信接口与外部进行通信,该处理模块用于实现第一方面提供的方法。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得所述计算机实现第一方面提供的方法。
第五方面,提供一种包含指令的计算机程序产品,该指令被计算机执行时使得该计算机实现第一方面提供的方法。
因此,在本申请中,通过预先从参考帧缓存访问M个参考块的数据,并在预先获取的M个参考块中确定是否存在N个图像块中每个图像块的参考块,可以实现从预先获取的M个参考块中获取Merge模式或Skip模式的帧间预测所需的多个数据,从而无需针对每个图像块的帧间预测均向参考帧缓存请求一次或多次数据,减少了向参考帧缓存发送请求的次数,缓解了对参考帧缓存的管理压力,降低了编码复杂度,从而可以提升编码效率。
附图说明
图1为视频编码的架构示意图。
图2为HEVC标准下的块划分结构的示意图。
图3为本申请实施例提供的视频处理的方法的示意性流程图。
图4为本申请实施例提供的视频处理的方法的另一示意性流程图。
图5为本申请实施例提供的视频处理的方法的又一示意性流程图。
图6为本申请实施例提供的编码装置的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
为了便于理解本申请实施例,先描述本申请实施例涉及的相关概念。
1、视频编码基本架构
为了减少视频存储和传输所占用的带宽,需要对视频数据进行编码处理。视频编码的基本架构如图1所示。首先将一帧图像划分为若干的图像块,然后对每个图像块进行预测、变换、量化和熵编码。
其中,预测分为帧内预测和帧间预测。帧内预测使用当前图像帧上已编码的块来生成当前图像块(下文简称为当前块)的参考块(或称为预测块),而帧间预测使用参考帧(或称为参考图像)来获取当前块的参考块。然后将当前块与参考块相减得到残差数据。通过残差数据与变换矩阵,将时域信号变换到频域上,得到变换系数。对变换系数进行量化,来缩小变换系数的动态范围,以进一步压缩信息。对于量化后的变换系数,一是通过熵编码得到熵编码的比特流;二是经过反量化和反变换后与参考块相加,再进行环内滤波得到重建帧图像,可以基于重建帧图像确定较优的预测方式。
在帧间预测中,对于当前块,从参考帧中搜索与其最相似的一个块作为当前块的参考块,然后将当前块与参考块相减得到残差,残差经过后续变换、量化和熵编码形成比特流。从参考帧中搜索与当前块最相似的块的过程称为运动搜索。通过运动搜索得到当前块的参考块。当前块相对于参考块的位置偏移称为当前块的运动向量(motion vector,MV)。可以理解到,若获得当前块的MV,就可以获得参考块在参考帧中的位置,即获得当前块的参考块。
2、Merge模式与Skip模式的帧间预测
在高效视频编码(High Efficiency Video Coding,HEVC)标准中,提出三种帧间预测模式:普通帧间预测(inter predict mode)、合并模式(Merge mode)与跳过模式(Skipmode)。其中,Merge模式和Skip模式属于两种特殊的帧间预测模式。
从前文对帧间预测的描述可以理解到,帧间预测的目的,就是要得到当前块的MV,然后根据该MV确定参考块在参考图像中的位置。相邻图像块之间具有相似性,例如,当前块和临近块都属于同一个物体,在镜头移动的时候,它们移动的距离和方向自然是相似或相同的,因此,很多时候并不需要去计算当前块的MV,可以将相邻块的MV作为当前块的MV。Merge模式与Skip模式就是基于这种思路的帧间预测模式。
在Merge模式中,针对当前块,通过其相邻块(时域相邻块,和/或空域相邻块)得到一个运动矢量预测值(motion vector prediction,MVP)候选列表,从中选出最优的一个MVP作为当前块的MV,然后根据该MV直接确定参考块在参考帧中的位置,即根据该MV确定参考块。在HEVC标准中,Merge模式最多可从相邻块获取5个候选运动矢量,并从中选择出一个作为当前块的运动矢量。
在Merge模式中,MVP和MV相同,即运动矢量差(Motion Vector Difference,MVD)为零,可以视为不存在MVD。因此编码端编码的时候只需要编码从MVP候选列表中选出来的MVP(即MV)在MVP候选列表中的索引即可,不再需要编码MVD。解码端可以按照类似的方法构造MVP候选列表,然后依据编码端传输过来的索引就能得到当前块的MV了。也就是说,Merge模式的特点为:MV=MVP(MVD=0),在编码的码流中,不需要编码MVD。
作为示例而非限定,Merge模式下的编码操作流程包括如下步骤。
步骤一、获取当前块的运动矢量预测值(motion vector prediction,MVP)候选列表。
步骤二、从MVP候选列表中选出最优的一个MVP,同时得到该MVP在MVP候选列表中的索引。
步骤三、把步骤二中选出的MVP作为当前块的运动矢量(MV)。
步骤四、根据当前块的MV确定参考块在参考帧中的位置,即获取当前块的参考块。
步骤五、将参考块与当前块进行相减,得到残差数据。
步骤六、因为MVP和MV相同,因此没有MVD,只需将残差数据,以及MV(MVP)在MVP候选列表中的索引传输给解码器。
作为示例而非限定,步骤二包括如下子步骤。
子步骤(1)、对于MVP候选列表中的每个MVP,把它当作MV,进行如下处理:
1),根据该MV在参考帧中得到参考块;
2),根据该MV与该参考块,计算残差,并基于残差进行变换与量化,确定当前块基于该MV进行编码的编码代价。
子步骤(2)、通过比较MVP候选列表中各个MVP的编码代价,从MVP候选列表中选出最优的MVP。
应理解,经过步骤二之后,就得到了最优的MVP(即当前块的MV)。
Skip模式与Merge模式相似,也是从相邻块中获取候选运动矢量,并从中选择出一个作为当前块的运动矢量。
相对于Merge模式,Skip模式具有两点区别:一是,只有按照2N×2N的划分结构划分的图像块(例如,图2中(C)中左上角划分的图像块,请参见下文结合图2描述的内容)才能使用Skip模式;二是,在Skip模式下,当前块与参考块的残差默认是零,即不需要对残差进行编码,从而大幅节省码率。换句话说,在Skip模式中,当前块的参考块与重建块相同。或者说,Skip模式的一个特点为,重构值(rec)=预测值(pred)(残差值=0),即不需要编码残差。
例如,可以将Skip模式视为Merge模式的一种特殊情况,即残差为0,无需编码残差。
Merge和Skip模式属于帧间预测模式,因此,在Merge和Skip模式中,需要根据候选运动矢量从参考帧中获取数据来得到当前块的参考块,在硬件编码器中,就是要向参考帧缓存(Buffer)请求数据。
3、块划分
新一代视频编码标准HEVC采用的是基于块划分的混合编码架构,如图2所示。
如图2中的(A)所示,一个图像被划分为若干的子块,每个子块称为编码树单元(Coding Tree Unit,CTU)。如图2中的(B)所示,每个CTU可以进一步划分为一个或四个编码单元(Coding Unit,CU),每个CU又可以再进一步划分为更小的CU。如图2中(C)所示,每个CU可以再进一步划分为一个、两个或四个预测单元(Prediction Unit,PU)。在HEVC标准中,CTU的尺寸范围可以为:16×16到64×64(单位为像素)。
在HEVC采用的基于块划分的混合编码架构中,预测粒度是PU,例如,在Merge模式与Skip模式的帧间预测中,对于每个PU,均需要根据候选运动矢量从参考帧缓存中获取数据。
在现有的帧间编码方案中,对于每个图像块,需要根据其每个候选运动矢量从参考帧缓存中请求数据以获取该图像块的参考块。
首先,一个图像块可以对应一个候选运动矢量,也可以对应多个候选运动矢量。其次,HEVC提供了灵活的块划分结构,一个CTU可划分为一个或多个的CU,每个CU还能进一步划分为一个或多个PU。因此,在一个CTU的帧间编码过程中,需要多次甚至频繁地向参考帧缓存请求数据,这会增加帧间编码的时延,也会增加硬件设计的难度。
本申请提供一种视频处理的方法与装置,通过预先从参考帧缓存访问M个参考块的数据,可以实现从预先获取的M个参考块中获取帧间预测所需的多个数据,从而可以减少向参考帧缓存请求数据的次数。
本申请适用于的编码标准包括但不限于HEVC编码标准。例如,本申请可以适用于当前的以及未来演进的各种编解码标准。
图3为本申请实施例提供的视频处理的方法的示意性流程图。该方法包括如下步骤。
S310,从参考帧缓存中获取M个参考块的数据。
参考帧缓存表示存储参考帧的数据的缓存(buffer)。参考帧表示已经完成编码的图像帧。
其中,M为正整数。例如,M为1,或者为大于1的整数。在M为大于1的整数的情况下,M个参考块可以位于一个参考帧中,也可以位于多个参考帧中。
S320,在对N个图像块进行Merge模式或Skip模式的帧间预测时,从M个参考块中确定是否存在N个图像块中每个图像块的参考块。
其中,N为正整数。例如,N为1,或者为大于1的整数。
N个图像块中的每个图像块可以为视频编码中最小的图像处理对象。例如,在HEVC标准中,N个图像块中的每个图像块可以称为预测单元(Prediction Unit,PU)。再例如,在其它视频编码标准中,N个图像块中的每个图像块可以相应具有其它名称。下文一些实施例中,会以N个图像块中的每个图像块为PU为例进行描述。
以N个图像块中的一个图像块(记为图像块x)为例。在M个参考块中存在图像块x的参考块的情况下,从M个参考块中获取图像块x的参考块,从而利用该参考块对图像块x进行Merge模式或Skip模式的帧间预测。在M个参考块中不存在图像块x的参考块的情况下,跳过图像块x的Merge模式或Skip模式的帧间预测过程。
其中,在M个参考块中存在图像块x的参考块的情况下,对图像块x进行Merge模式或Skip模式的帧间预测,包括:从M个参考块中获取图像块x的参考块。
M个参考块中存在图像块x的参考块,表示,步骤S310中获取的M个参考块的数据中包含图像块x的参考块的数据。M个参考块中存在图像块x的参考块,还可以理解为,M个参考块中任一个参考块或者多个参考块中包含图像块x的参考块。
从M个参考块中获取图像块x的参考块,表示,从步骤S310中获取的M个参考块的数据中获取图像块x的参考块的数据,即获取图像块x的参考块。
M个参考块中不存在图像块x的参考块,表示,步骤S310中获取的M个参考块的数据中不包含图像块x的参考块的数据。M个参考块中不存在图像块x的参考块,还可以理解为,M个参考块中任一个参考块中均不包含图像块x的参考块。
步骤S310在步骤S320之前执行。因此,在步骤S320中,是从预先获取的M个参考块中确定是否存在N个图像块中每个图像块的参考块。
从前文针对Merge模式或Skip模式的描述可知,在一种实现方式中,在Merge模式或Skip模式的帧间预测中,针对每个候选运动矢量需要向参考帧缓存请求数据,针对每个PU需要向参考帧缓存请求数据。
而在本申请中,预先从参考帧缓存访问M个参考块的数据,然后在对N个图像块进行Merge模式或Skip模式的帧间预测时,在预先获取的M个参考块中确定是否存在N个图像块中每个图像块的参考块,其中,在是的情况下,对相应图像块进行Merge模式或Skip模式的帧间预测,在否的情况下,跳过相应图像块的Merge模式或Skip模式的帧间预测过程。
应理解,通过预先从参考帧缓存访问M个参考块的数据,以及在预先获取的M个参考块中确定是否存在N个图像块中每个图像块的参考块,可以使得从预先获取的M个参考块中获取Merge模式或Skip模式的帧间预测所需的多个数据。因此,无需针对每个图像块均向参考帧缓存请求一次或多次数据,减少了向参考帧缓存发送请求的次数,缓解了对参考帧缓存的管理压力,降低了编码复杂度,从而可以提升编码效率。
因此,在本申请中,通过预先从参考帧缓存访问M个参考块的数据,可以实现从预先获取的M个参考块中获取Merge模式或Skip模式的帧间预测所需的多个数据,从而可以避免每处理一个候选运动矢量需要访问一次参考帧缓存、每处理一个图像块(例如,PU)需要访问一次或多次参考帧缓存,相对于现有技术,可以减少向参考帧缓存请求数据的次数,缓解了对参考帧缓存的管理压力,降低了编码复杂度,从而可以提升编码效率。
应理解,减少向参考帧缓存请求数据的次数,可以降低硬件的设计难度,还可以提高帧间预测的效率。
在N大于1的情况下,在本申请中,对N个图像块中每个图像块的处理方式是类似的。为了便于理解与描述,下文一些实施例中会以N个图像块中的一个图像块(记为第二图像块)为例进行的描述。需要说明的是,下文中以第二图像块为例描述的方案也适用于N个图像块中的其它图像块,或者说,对N个图像块中的每个图像块都进行类似第二图像块的处理。
在步骤S310中,从参考帧缓存中获取M个参考块的数据的方法可以有多种。
可选地,步骤S310中包括:根据第一图像块的S个候选运动矢量从参考帧缓存中获取M个参考块,其中,第一图像块与N个图像块属于同一个图像单元块。
根据第一图像块的S个候选运动矢量从参考帧缓存中获取M个参考块,表示,以第一图像块的位置分别加上M个运动矢量后得到M个位置,基于M个位置从参考帧缓存中读取M个参考块的数据。例如,以这M个位置为中心,从参考帧缓存中读取M个参考块的数据。
其中,S为小于或等于M的正整数。若S等于M,则这M个运动矢量就是第一图像块的S个候选运动矢量。若S小于M,可以使用零运动矢量或全局运动矢量补充,即通过S个候选运动矢量与(M-S)个零运动矢量或全局运动矢量,获得M个运动矢量。
作为示例,假设M个参考块中第i个参考块的大小为Wi×Hi,其中,Wi表示宽度,Hi表示高度,i等于1,2…,M。假设第i个参考块的左边界和上边界的像素点在图像帧内的水平和垂直坐标分别是Xi和Yi,则第i个参考块的右边界和下边界的像素点在图像帧内的水平和垂直坐标分别是Xi+Wi-1和Yi+Hi-1。
需要说明的是,本申请对M个参考块的大小不作限定。例如,M个参考块的大小可以相同,也可以不完全相同。再例如,M个参考块的大小可以与编码架构的块划分方式有关。或者,M个参考块的大小可以预定义。
第一图像块与N个图像块属于同一个图像单元块,表示,第一图像块与N个图像块属于同一个非最小的图像处理单元。换言之,该图像单元块表示视频编码架构中非最小的图像处理单元。例如,在HEVC标准下,该图像单元块可以是CTU,也可以是CU。应理解,在其它视频编码标准下,该图像单元块可以具有其它名称。
第一图像块可以是与N个图像块相同划分层级下的图像块,也可以是划分层级高于N个图像块的划分层级的图像块。
例如,在HEVC标准下,N个图像块中每个图像块为PU,第一图像块可以是PU,也可以是CU或CTU。在一种示例中,上述N个图像块为N个PU,该N个PU组成的CTU即为第一图像块,也即是说,该CTU包括N个PU。在另一种示例中,上述N个图像块为N个CU,该N个CU组成的CTU即为第一图像块,也即是说,该CTU包括N个CU。
应理解,因为第一图像块与要进行帧间预测的N个图像块属于同一个图像单元块,所以N个图像块的参考块落入基于第一图像块的候选运动矢量获取的M个参考块的概率较大,可以使得从预先获取的M个参考块中获取较多的帧间预测所需的数据,从而可以减小对参考帧缓存的访问次数。
可选地,在通过第一图像块的候选运动矢量从参考帧缓存中获取M个参考块的数据的实施例中,第一图像块包括N个图像块中的部分或全部图像块。
例如,在HEVC标准中,N个图像块为N个PU,第一图像块为包含该N个PU中的部分PU或全部PU的CU或CTU。
应理解,当第一图像块包含N个图像块中的部分或全部图像块,N个图像块的参考块落入通过第一图像块的候选运动矢量获取的M个参考块中的概率进一步提高,从而可以从预先获取的M个参考块中获取更多的帧间预测所需的数据,从而可以有效减小对参考帧缓存的访问次数。
可选地,在通过第一图像块的候选运动矢量从参考帧缓存中获取M个参考块的数据的实施例中,第一图像块为包含N个图像块的图像单元块。
例如,在HEVC标准中,N个图像块为1个CTU中的N个PU,第一图像块为该CTU;或者,N个图像块为1个CU中的N个PU,第一图像块为该CU。
应理解,当第一图像块包含N个图像块,N个图像块的参考块落入通过第一图像块的候选运动矢量获取的M个参考块中的概率更进一步提高,从而可以从预先获取的M个参考块中获取更多的帧间预测所需的数据,从而可以有效减小对参考帧缓存的访问次数。
例如,在通过第一图像块的候选运动矢量从参考帧缓存中获取M个参考块的数据、且第一图像块包含N个图像块的实施例中,在N个图像块的帧间预测过程中,所需的参考数据均可以从预先获取的M个参考块中获取,也就是说,在N个图像块的帧间预测过程中,仅需向参考帧缓存请求一次数据。
作为示例,在HEVC标准中,第一图像块为CTU,N个图像块为该CTU中划分得到的N个PU,本申请实施例可以在该CTU内所有PU的Merge模式或Skip模式的帧间编码过程中,仅需向参考帧缓存访问一次数据,相比于现有技术,有效减小了向参考帧缓存访问数据的次数。
上文描述了,在步骤S310中根据第一图像块的候选运动矢量从参考帧缓存中获取M个参考块的数据。可选地,在步骤S310中,也可以根据其它可行的方式从参考帧缓存中获取M个参考块的数据。例如,根据CTU内的一个或多个PU/CU的运动矢量从参考帧缓存中获取M个参考块的数据,后续在对该CTU内的各个PU/CU进行Merge模式或Skip模式的帧间预测时,从预先获取的M个参考块中获取各个PU/CU的参考块即可,无需针对每个PU/CU分多次向参考帧缓存发送参考块获取请求。
下文中,以N个图像块中的第二图像块为例进行描述,如图4所示,步骤S320包括:在对N个图像块中的第二图像块进行Merge模式或Skip模式的帧间预测时,从M个参考块中确定是否存在第二图像块的参考块。
其中,第二图像块的参考块可以通过第二图像块的候选运动矢量获取。
例如,在前文描述的Merge模式或Skip模式下的编码操作流程的示例中,步骤S320可以在步骤二内完成。换句话说,在前文描述的Merge模式或Skip模式下的编码操作流程的示例中,在步骤二中,判断第二图像块的参考块是否包含于M个参考块中。
可选地,如图4所示,图3所示实施例的方法还可以包括步骤S330或步骤S340。
S330,在步骤S320中的判断结果为是的情况下,即在M个参考块中存在第二图像块的参考块的情况下,根据第二图像块的参考块对第二图像块进行Merge模式或Skip模式的帧间预测。
根据第二图像块的参考块对第二图像块进行Merge模式或Skip模式的帧间预测,包括:从M个参考块中获取第二图像块的参考块。
从M个参考块中获取第二图像块的参考块,表示,从预先获取的M个参考块的数据中获取第二图像块的参考块的数据。
关于对图像块进行Merge模式或Skip模式的帧间预测的过程,参见上文描述的Merge模式或Skip模式下的编码操作流程,这里不再赘述。
例如,在前文描述的Merge模式或Skip模式下的编码操作流程的示例中,步骤S320与步骤S330均可以在步骤二内完成。换句话说,在前文描述的Merge模式或Skip模式下的编码操作流程的示例中,在步骤二中,判断第二图像块的参考块是否包含于M个参考块中,在是的情况下,从M个参考块中获取第二图像块的参考块。
S340,在步骤S320中的判断结果为否的情况下,即在M个参考块中不存在第二图像块的参考块的情况下,跳过第二图像块的Merge模式或Skip模式的帧间预测过程。
例如,对于第二图像块的一个候选运动矢量,如果该候选运动矢量对应的参考块不在M个参考块中,则跳过采用该候选运动矢量对应的参考块对第二图像块进行Merge模式或Skip模式的帧间预测过程。
再例如,对于第二图像块的所有候选运动矢量,如果该所有的候选运动矢量对应的参考块均不在M个参考块中,则跳过采用每个候选运动矢量对应的参考块对第二图像块进行Merge模式或Skip模式的帧间预测过程,即跳过第二图像块的Merge模式或Skip模式的帧间预测过程,也就是说,不对第二图像块进行Merge模式或Skip模式的帧间预测过程。
在不对第二图像块进行Merge模式或Skip模式的帧间预测过程的情形下,例如,可以采用其他方式对这个图像块进行帧间预测或者帧内预测。
可选地,在图4所示实施例中,步骤S320包括:从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块,j为1,…,P,P为第二图像块具有的候选运动矢量的个数。P为正整数,P可以为1,或者为大于1的整数。
例如,若在步骤S320中,确定M个参考块中存在第二图像块的第j个候选运动矢量对应的参考块,则步骤S330包括:采用第j个候选运动矢量对应的参考块对第二图像块进行Merge模式或Skip模式的帧间预测。
采用第j个候选运动矢量对应的参考块对第二图像块进行Merge模式或Skip模式的帧间预测,包括:从M个参考块中获取第j个候选运动矢量对应的参考块。
作为示例,将第j个候选运动矢量作为第二图像块的MV,进行前文描述的Merge模式或Skip模式下的编码操作流程中步骤二中的子步骤(1)与子步骤(2)。
又例如,若在步骤S320中,确定M个参考块中不存在第j个候选运动矢量对应的参考块,在图3与图4所示实施例中,可以跳过采用第j个候选运动矢量对应的参考块对第二图像块进行Merge模式或Skip模式的帧间预测过程。
应理解,只要在步骤S320中确定了第二图像块的一个候选运动矢量对应的参考块包含于M个参考块中,则图3所示实施例的方法包括图4中所示的步骤S330。
若在步骤S320中确定第二图像块的P个候选运动矢量对应的参考块均不包含于M个参考块中,则图3所示实施例的方法包括图4中所示的步骤S340,而不包括图4中所示的步骤S330。
步骤S320中涉及的第二图像块的P个候选运动矢量,可以是第二图像块的运动矢量预测值(motion vector prediction,MVP)候选列表中的部分或全部运动矢量。P个候选运动矢量是第二图像块的MVP候选列表中的部分运动矢量还是全部运动矢量,可以由实际需求决定。此外,在P个候选运动矢量是第二图像块的MVP候选列表中的部分运动矢量的情况下,P个候选运动矢量在MVP候选列表中的位置也可以由实际需求确定。
下文将描述确定M个参考块中是否存在第j个候选运动矢量对应的参考块的方法。
可选地,步骤S320包括:根据下列因素,从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块:第二图像块的位置,第j个候选运动矢量,M个参考块的位置。
例如,根据第二图像块的位置与第j个候选运动矢量,计算第二图像块加上第j个候选运动矢量后的位置(记为预测位置),然后判断该预测位置是否包含于M个参考块的位置内,若是,则可以视为M个参考块中存在第二图像块的第j个候选运动矢量对应的参考块,若否,则可以视为M个参考块中不存在第二图像块的第j个候选运动矢量对应的参考块。
本文中的表述“从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块”可以替换为“判断第j个候选运动矢量对应的参考块是否包含于M个参考块中”。相应地,本文中的表述“M个参考块中存在第二图像块的第j个候选运动矢量对应的参考块”可以替换为“第j个候选运动矢量对应的参考块包含于M个参考块中”,“M个参考块中不存在第二图像块的第j个候选运动矢量对应的参考块”可以替换为“第j个候选运动矢量对应的参考块不包含于M个参考块中”。
作为示例。以第二图像块为PU为例,假设第二图像块的宽与高分别表示为WPU与HPU,第二图像块的位置可以表示为(XPU,YPU,XPU+WPU-1,YPU+HPU-1),这四个值分别表示第二图像块的左边界、上边界、右边界、下边界的位置。可以理解到,第二图像块上位于左边界与上边界的像素的坐标可以表示为(XPU,YPU),第二图像上位于右边界与下边界的像素的坐标可以表示为(XPU+WPU-1,YPU+HPU-1)。假设,第j个候选运动矢量的水平分量与垂直分量分别表示为MVXPU与MVYPU。则第二图像块加上第j个候选运动矢量后的预测位置可以表示为(XPU+MVXPU,YPU+MVYPU,XPU+WPU+MVXPU-1,YPU+HPU+MVYPU-1),这四个值分别表示第二图像块加上第j个候选运动矢量后的左、上、右、下边界的位置。
例如,在第二图像块加上第j个候选运动矢量后的左、上、右、下边界的位置均位于M个参考块的位置内的情况下,可以认为第j个候选运动矢量对应的参考块包含于M个参考块中,否则,则认为第j个候选运动矢量对应的参考块不包含于M个参考块中。
再例如,在第二图像块加上第j个候选运动矢量后的左、上、右、下边界的位置均位于M个参考块的收缩位置内的情况下,可以认为第j个候选运动矢量对应的参考块包含于M个参考块中,否则,则认为第j个候选运动矢量对应的参考块不包含于M个参考块中。其中,M个参考块的收缩位置表示基于分像素插值需要的像素对M个参考块进行收缩后的位置,详见下文关于方式二至方式五的描述。
可选地,步骤S320包括:在第j个候选运动矢量的水平分量与垂直分量分别指向整像素的情况下,若第二图像块在进行第j个候选运动矢量的位移后的位置位于M个参考块中任一个参考块的位置内,确定M个参考块中存在第j个候选运动矢量对应的参考块。
作为示例,以M个参考块的数据通过第一图像块的候选运动矢量获得的为例。例如,步骤S310包括:根据第一图像块的S个候选运动矢量从参考帧缓存中获取M个参考块。在步骤S320中,在第二图像块的第j个候选运动矢量的水平分量与垂直分量分别指向整像素的情况下,若第j个候选运动矢量(MVXPU,MVYPU)满足下文描述的条件一,确定第j个候选运动矢量对应的参考块包含于M个参考块内。
可选地,在步骤S320中,从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块的因素除了第二图像块的位置、第j个候选运动矢量、M个参考块的位置之外,还可以包括预设值,该预设值与运动矢量的最小精度和/或插值滤波器的抽头数量相关。
例如,在HEVC标准下,最小精度是1/4,抽头是7抽头或8抽头,该预设值可以为3.25。再例如,在其他标准下,当运动矢量的最小精度发生改变,或者插值滤波器的抽头数量发生改变的情况下,该预设值的取值也可以相应发生变化。再例如,在其它视频编码标准下,该预设值可以具有相应的取值。
可选地,步骤S320包括:在第二图像块的第j个候选运动矢量的水平分量,和/或垂直分量指向分像素的情况下,综合考虑第二图像块的位置、第j个候选运动矢量、M个参考块的位置、以及该预设值,从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块。
例如,步骤S320包括:在第二图像块的第j个候选运动矢量的水平分量指向分像素、垂直分量指向整像素的情况下,若第二图像块在进行第j个候选运动矢量的位移后的位置位于M个参考块中的第i个参考块的收缩位置内,确定M个参考块中存在第j个候选运动矢量对应的参考块,i为1,…,M,其中,第i个参考块的收缩位置表示第i个参考块经过左边界与右边界分别向里收缩预设值之后的位置。
又例如,步骤S320包括:在第二图像块的第j个候选运动矢量的水平分量指向整像素、垂直分量指向分像素的情况下,若第二图像块在进行第j个候选运动矢量的位移后的位置位于M个参考块中的第i个参考块的收缩位置内,确定M个参考块中存在第j个候选运动矢量对应的参考块,i为1,…,M,其中,第i个参考块的收缩位置表示第i个参考块经过上边界与下边界分别向里收缩预设值之后的位置。
再例如,步骤S320包括:在第二图像块的第j个候选运动矢量的水平分量指向分像素、垂直分量指向分像素的情况下,若第二图像块在进行第j个候选运动矢量的位移后的位置位于M个参考块中的第i个参考块的收缩位置内,确定M个参考块中存在第j个候选运动矢量对应的参考块,i为1,…,M,其中,第i个参考块的收缩位置表示第i个参考块经过左边界、右边界、上边界与下边界分别向里收缩预设值之后的位置。
作为示例,在步骤S310中,根据第一图像块的S个候选运动矢量从参考帧缓存中获取M个参考块。在步骤S320中,通过如下方式中的任一种方式确定M个参考块中是否存在第j个候选运动矢量对应的参考块。
方式一。在第j个候选运动矢量的水平分量与垂直分量分别指向整像素的情况下,若第j个候选运动矢量(MVXPU,MVYPU)满足下列条件一,确定第j个候选运动矢量对应的参考块包含于M个参考块内。
方式二。在第j个候选运动矢量的水平分量指向分像素、垂直分量指向整像素的情况下,若第j个候选运动矢量(MVXPU,MVYPU)满足下列条件二,确定第j个候选运动矢量对应的参考块包含于M个参考块内。
方式三。在第j个候选运动矢量的水平分量指向整像素、垂直分量指向分像素的情况下,若第j个候选运动矢量(MVXPU,MVYPU)满足下列条件三,判断第j个候选运动矢量对应的参考块包含于M个参考块内。
方式四。在第j个候选运动矢量的水平分量与垂直分量分别指向分像素的情况下,若第j个候选运动矢量(MVXPU,MVYPU)满足下列条件四,确定第j个候选运动矢量对应的参考块包含于M个参考块内。
条件一:
XPU+MVXPU≥Xi
YPU+MVYPU≥Yi
XPU+WPU+MVXPU-1≤Xi+Wi-1
YPU+HPU+MVYPU-1≤Yi+Hi-1
条件二:
XPU+MVXPU≥Xi+a
YPU+MVYPU≥Yi
XPU+WPU+MVXPU-1≤Xi+Wi-1-a
YPU+HPU+MVYPU-1≤Yi+Hi-1
条件三:
XPU+MVXPU≥Xi
YPU+MVYPU≥Yi+a
XPU+WPU+MVXPU-1≤Xi+Wi-1
YPU+HPU+MVYPU-1≤Yi+Hi-1-a
条件四:
XPU+MVXPU≥Xi+a
YPU+MVYPU≥Yi+a
XPU+WPU+MVXPU-1≤Xi+Wi-1-a
YPU+HPU+MVYPU-1≤Yi+Hi-1-a
其中,(XPU,YPU)表示第二图像块中位于左边界与上边界的像素的坐标,即第二图像块中左上角像素的位置坐标,WPU与HPU分别表示第二图像块的宽与高,MVXPU与MVYPU分别表示第j个候选运动矢量的水平分量与垂直分量,Xi与Yi分别表示M个参考块中第i个参考块左边界与上边界的像素点的水平坐标与垂直坐标,Wi与Hi分别表示第i个参考块的宽与高,i的取值范围为1~M,a表示预设值,该预设值与运动矢量的最小精度和/或插值滤波器的抽头数量相关。例如,在HEVC标准下,a的取值可以为3.25。
可选地,在步骤S320中,无论第二图像块的第j个候选运动矢量的水平分量与垂直分量是否指向分像素或整像素,均考虑第二图像块的位置、第j个候选运动矢量、M个参考块的位置、以及该预设值,判断第j个候选运动矢量对应的参考块是否包含于M个参考块中。
例如,在步骤S320中,若第二图像块在进行第j个候选运动矢量的位移后的位置位于M个参考块中的第i个参考块的收缩位置内,确定第j个候选运动矢量对应的参考块包含于M个参考块内,其中,第i个参考块的收缩位置表示第i个参考块经过左边界、右边界、上边界与下边界分别向里收缩预设值之后的位置,预设值与运动矢量的最小精度相关,i为1,…,M。
作为示例,在步骤S310中,根据第一图像块的S个候选运动矢量从参考帧缓存中获取M个参考块。在步骤S320中,可以通过如下方式五确定M个参考块中是否存在第j个候选运动矢量对应的参考块。
方式五。若第j个候选运动矢量(MVXPU,MVYPU)满足上述条件四,确定第j个候选运动矢量对应的参考块包含于M个参考块内。
为了更好地理解本申请提供的技术方案,下文结合图5给出一个示例。
在图5中,以一个图像块(记为第二图像块)的一个候选运动矢量(记为第j个候选运动矢量)为例进行描述。该第二图像块例如可以称为PU。
如图5所示,对第二图像块的帧间编码包括如下步骤。
S510,从参考帧缓存中获取M个参考块的数据。
步骤S510与上文实施例中的步骤S310相同,详见上文描述,这里不再赘述。
S520,根据第二图像块的位置、第二图像块的第j个候选运动矢量、M个参考块中第i个参考块的位置,判断第j个候选运动矢量对应的参考块是否包含于第i个参考块内,若是,转到步骤S530,若否,转到步骤S540。其中,j的取值范围为1~P,P表示第二图像块具有的候选运动矢量的数量。i的初始值为1,i的取值范围为1~M。
判断第j个候选运动矢量对应的参考块是否包含于第i个参考块的方法参见上文实施例中的相关描述,这里不再赘述。
S530,采用第j个候选运动矢量对应的参考块对第二图像块进行Merge模式或Skip模式的帧间预测。
应理解,在步骤S530中,包括:从第i个参考块的数据中获取第j个候选运动矢量对应的参考块。
例如,步骤S530可以通过上文描述的Merge模式或Skip模式下的编码操作流程中的子步骤(1)实现。子步骤(1)中的第1)步,相当于,从第i个参考块中获取第j个候选运动矢量对应的参考块。
S540,将i的取值加1。
S550,判断i的取值是否超过M,若是,转到步骤S560,若否,转到步骤S520。
S560,跳过采用第j个候选运动矢量对应的参考块对第二图像块进行Merge模式或Skip模式的帧间预测过程。
假设第二图像块具有P个候选运动矢量参与Merge模式或Skip模式的帧间预测,则针对P个候选运动矢量中的每个候选运动矢量均可以进行图5所示的处理过程。若对第二图像块的P个候选运动矢量进行图5所示的处理之后,从M个参考帧中获取了一个或多个候选运动矢量对应的参考块,则可以分别基于这些参考块对第二图像块进行Merge模式或Skip模式的帧间预测过程。具体过程,详见上文描述的Merge模式或Skip模式下的编码操作流程中的步骤二中的子步骤。
还应理解,如需要对多个图像块进行帧间预测,则对每个图像块进行图5所示的处理。
假设对于某个图像块,经过图5的处理后,从M个参考帧中获取了一个或多个候选运动矢量对应的参考块,则可以分别基于这些参考块对该图像块进行Merge模式或Skip模式的帧间预测过程。
假设对于某个图像块,经过图5的处理后,没有从M个参考帧中获取到任一个候选运动矢量对应的参考块,则可以跳过这个图像块的Merge模式或Skip模式的帧间预测过程。例如,可以采用其他方式对这个图像块进行帧间预测或者帧内预测。
上文实施例中以第二图像块为例进行了描述。应理解,对N个图像块中的每个图像块均可进行类似第二图像块的处理的操作。
针对第二图像块的多个候选运动矢量,均是从M个参考块中获取每个候选运动矢量对应的参考块,,无需针对每个图像块的每个运动矢量均向参考帧缓存请求一次或多次数据,减少了向参考帧缓存发送请求的次数,缓解了对参考帧缓存的管理压力,降低了编码复杂度,从而可以提升编码效率。
本申请另一实施例还提供一种视频处理的方法。该方法包括如下步骤(A)与步骤(B)。
步骤(A),从参考帧缓存中获取M个参考块的数据,M为正整数。
M可以为1,也可以为大于1的整数。在M为大于1的整数的情况下,M个参考块可以位于一个参考帧中,也可以位于多个参考帧中。
步骤(A)与上文实施例中的步骤S310相同,相关描述,详见上文,这里不再赘述。
步骤(B),在N个图像块的帧间预测时,从M个参考块中获取N个图像块中每个图像块的参考块。N为正整数,N可以为1,也可以为大于1的整数。
N个图像块中的每个图像块可以为视频编码中最小的图像处理对象。例如,在HEVC标准中,N个图像块中的每个图像块可以称为预测单元(PU)。再例如,在其它视频编码标准中,N个图像块中的每个图像块可以相应具有其它名称。
步骤(A)在步骤(B)之前执行。因此,在步骤(B)中,可以视为,是从预先获取的M个参考块中获取N个图像块的参考块。
本实施例的技术方案可以应用于帧间预测模式为Merge模式或Skip模式的场景。
例如,在步骤(B)中,从M个参考块中获取N个图像块中每个图像块的参考块,对于N个图像块中的每个图像块,根据该图像块的参考块,对该图像块进行Merge模式或Skip模式的帧间预测。
可选地,本实施例提供的技术方案也可以应用于帧间预测模式为非Merge模式以及非Skip模式的场景。
在N为大于1的整数的情形下,通过从预先获取的M个参考块中获取多个图像块的参考块,使得在多个图像块的帧间预测过程中,无需针对每个图像块均向参考帧缓存请求一次或多次数据,从而可以减少向参考帧缓存请求数据的次数。
在N等于1的情形下,在本实施例应用于帧间预测模式为Merge模式或Skip模式的场景的情况下,通过从预先获取的M个参考块中获取1个图像块的多个候选运动矢量对应的参考块,使得无需针对该图像块的每个候选运动矢量需向参考帧缓存请求数据,从而可以减少向参考帧缓存请求数据的次数。
在本实施例中,在N个图像块的帧间预测中,通过从预先获取的M个参考块中获取N个图像块的参考块,因而在N个图像块的帧间预测过程中,无需针对每个图像块均向参考帧缓存请求一次或多次数据,减少了向参考帧缓存发送请求的次数,缓解了对参考帧缓存的管理压力,降低了编码复杂度,从而可以提升编码效率。
因此,在本实施例提供的方案中,通过预先从参考帧缓存访问M个参考块的数据,然后从预先访问的M个参考块的数据中获取帧间预测所需的多个数据,从而可以减少向参考帧缓存请求数据的次数,进而可以降低硬件的设计难度,还可以提高帧间预测的效率。
在步骤(B)中,可以无条件地从M个参考块中获取N个图像块中每个图像块的参考块;也可以有条件地从M个参考块中获取N个图像块中每个图像块的参考块。
无条件地从M个参考块中获取N个图像块中每个图像块的参考块,表示,可以直接在预先获取的M个参考块的数据中,获取N个图像块中每个图像块的参考块。
例如,在步骤(A)中,根据第一图像块的候选运动矢量从参考帧缓存中获取M个参考块的数据,该第一图像块包括N个图像块。例如,N个图像块为N个PU,第一图像块为包含N个PU所属的CTU。假设,可以保证这M个参考块的数据包含N个图像块的参考块。这种情形下,在步骤(B)中,可以无条件地从M个参考块中获取N个图像块中每个图像块的参考块。换言之,在步骤(B)中,可以无需执行判断动作,直接从M个参考块中获取N个图像块中每个图像块的参考块。
有条件地从M个参考块中获取N个图像块中每个图像块的参考块,表示,在保证N个图像块的参考块包含于M个参考块的条件下,从M个参考块中获取N个图像块中每个图像块的参考块。
例如,在不能保证步骤(A)中获取的M个参考块包含N个图像块的参考块的情形下,可以在确定M个参考块中存在N个图像块的参考块的前提下,从M个参考块中获取N个图像块的参考块。
以N个图像块中的一个图像块(记为第二图像块)为例,判断M个参考块中是否存在第二图像块的参考块的方法详见上文实施例中的相关描述,这里不再赘述。
应理解,在N个图像块的Merge模式或Skip模式的帧间预测过程中,通过预先从参考帧缓存中获取M个参考块的数据,在M个参考块中存在N个图像块的参考块的前提下从M个参考块中获取N个图像块的参考块,从而可以对于N个图像块中的每个图像块进行Merge模式或Skip模式的帧间预测,这样使得,在N个图像块的Merge模式或Skip模式的帧间预测过程中,无需针对每个图像块的帧间预测均向参考帧缓存请求一次或多次数据,减少了向参考帧缓存发送请求的次数,缓解了对参考帧缓存的管理压力,降低了编码复杂度,从而可以提升编码效率。
本申请实施例提供的视频编码的方法可以由编码器或具有视频编码功能的装置执行。
上文描述了本申请的方法实施例,下文将描述本申请的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的内容可以参见前面方法实施例,为了简洁,这里不再赘述。
如图6所示,本申请实施例还提供一种编码装置。该编码装置包括处理器610与存储器620,该存储器620用于存储指令,该处理器610用于执行该存储器620存储的指令,并且对该存储器620中存储的指令的执行使得,该处理器610用于执行上文方法实施例的方法。
该处理器610通过执行存储器620存储的指令,执行如下操作:从参考帧缓存中获取M个参考块的数据,M为正整数;在对N个图像块进行Merge模式或Skip模式的帧间预测时,从M个参考块中确定是否存在N个图像块中每个图像块的参考块,N为正整数。
在本实施例中,通过预先从参考帧缓存访问M个参考块的数据,并在预先获取的M个参考块中确定是否存在N个图像块中每个图像块的参考块,可以实现从预先获取的M个参考块中获取Merge模式或Skip模式的帧间预测所需的多个数据,从而可以避免每处理一个候选运动矢量需要访问一次参考帧缓存、每处理一个图像块需要访问一次参考帧缓存,相对于现有技术,可以减少向参考帧缓存请求数据的次数,缓解了对参考帧缓存的管理压力,降低了编码复杂度,从而可以提升编码效率。
可选地,N个图像块中每个图像块为预测单元(PU)。
可选地,第一图像块为下列中任一种:编码树单元(CTU)、编码单元(CU)、预测单元(PU)。
可选地,从参考帧缓存中获取M个参考块的数据,包括:根据第一图像块的S个候选运动矢量从参考帧缓存中获取M个参考块,S为小于或等于M的正整数,其中,第一图像块与N个图像块属于同一个图像单元块。
可选地,第一图像块包括N个图像块中的部分或全部图像块。
可选地,第一图像块为图像单元块。
可选地,N个图像块中包括第二图像块;其中,在对N个图像块进行Merge模式或Skip模式的帧间预测时,从M个参考块中确定是否存在N个图像块中每个图像块的参考块,包括:从M个参考块中确定是否存在第二图像块的参考块。其中,处理器610还用于执行如下操作:在M个参考块中存在第二图像块的参考块的情况下,根据第二图像块的参考块对第二图像块进行Merge模式或Skip模式的帧间预测。
可选地,处理器610还用于执行如下操作:在M个参考块中不存在第二图像块的参考块的情况下,跳过第二图像块的Merge模式或Skip模式的帧间预测。
可选地,第二图像块的候选运动矢量包括多个;其中,从M个参考块中确定是否存在第二图像块对应的参考块,包括:从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块,j为1,…,P,P为多个候选运动矢量的个数。
可选地,从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块,包括:根据下列因素,从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块:第二图像块的位置、第j个候选运动矢量、M个参考块的位置。
可选地,从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块,包括:在第j个候选运动矢量的水平分量与垂直分量分别指向整像素的情况下,若第二图像块在进行第j个候选运动矢量的位移后的位置位于M个参考块中任一个参考块的位置内,确定M个参考块中存在第j个候选运动矢量对应的参考块。
可选地,在第j个候选运动矢量的水平分量,和/或垂直分量指向分像素的情况下,因素还包括预设值,预设值与运动矢量的最小精度和/或插值滤波器的抽头数量相关。
可选地,从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块,包括:若第二图像块在进行第j个候选运动矢量的位移后的位置位于M个参考块中的第i个参考块的收缩位置内,确定M个参考块中存在第j个候选运动矢量对应的参考块,i为1,…,M。
在第j个候选运动矢量的水平分量指向分像素、垂直分量指向整像素的情况下,第i个参考块的收缩位置表示第i个参考块经过左边界与右边界分别向里收缩预设值之后的位置。
在第j个候选运动矢量的水平分量指向整像素、垂直分量指向分像素的情况下,第i个参考块的收缩位置表示第i个参考块经过上边界与下边界分别向里收缩预设值之后的位置。
在第j个候选运动矢量的水平分量指向分像素、垂直分量指向分像素的情况下,第i个参考块的收缩位置表示第i个参考块经过左边界、右边界、上边界与下边界分别向里收缩预设值之后的位置。
可选地,从M个参考块中确定是否存在第二图像块的第j个候选运动矢量对应的参考块,包括:若第二图像块在进行第j个候选运动矢量的位移后的位置位于M个参考块中的第i个参考块的收缩位置内,确定M个参考块中存在第j个候选运动矢量对应的参考块,其中,第i个参考块的收缩位置表示第i个参考块经过左边界、右边界、上边界与下边界分别向里收缩预设值之后的位置,预设值与运动矢量的最小精度相关,i为1,…,M。
可选地,在M个参考块中存在第二图像块的参考块的情况下,对第二图像块进行Merge模式或Skip模式的帧间预测,包括:在M个参考块中存在第j个候选运动矢量对应的参考块的情况下,采用第j个候选运动矢量对应的参考块对第二图像块进行Merge模式或Skip模式的帧间预测。
可选地,处理器610还用于执行如下操作:在M个参考块中不存在第j个候选运动矢量对应的参考块的情况下,跳过采用第j个候选运动矢量对应的参考块对第二图像块进行Merge模式或Skip模式的帧间预测过程。
可选地,如图6所示,该编码装置还包括通信接口630,用于与外部器件传输信号。
可选地,本实施例的编码装置为编码器,通信接口630用于从外部器件接收待处理的图像或视频数据。或者,通信接口630还用于向解码端发送编码的码流。
本发明实施例还提供一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得,该计算机执行上文方法实施例的方法。
本发明实施例还提供一种包含指令的计算机程序产品,其特征在于,该指令被计算机执行时使得计算机执行上文方法实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (34)

1.一种视频处理的方法,其特征在于,包括:
从参考帧缓存中获取M个参考块的数据,M为正整数;
在对N个图像块进行Merge模式或Skip模式的帧间预测时,从所述M个参考块中确定是否存在所述N个图像块中每个图像块的参考块,N为正整数。
2.根据权利要求1所述的方法,其特征在于,所述从参考帧缓存中获取M个参考块的数据,包括:
根据第一图像块的S个候选运动矢量从所述参考帧缓存中获取所述M个参考块,所述S为小于或等于所述M的正整数,其中,所述第一图像块与所述N个图像块属于同一个图像单元块。
3.根据权利要求2所述的方法,其特征在于,所述第一图像块包括所述N个图像块中的部分或全部图像块。
4.根据权利要求3所述的方法,其特征在于,所述第一图像块为所述图像单元块。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述N个图像块中包括第二图像块;
其中,所述在对N个图像块进行Merge模式或Skip模式的帧间预测时,从所述M个参考块中确定是否存在所述N个图像块中每个图像块的参考块,包括:
从所述M个参考块中确定是否存在所述第二图像块的参考块;
其中,所述方法还包括:
在所述M个参考块中存在所述第二图像块的参考块的情况下,对所述第二图像块进行Merge模式或Skip模式的帧间预测。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述M个参考块中不存在所述第二图像块的参考块的情况下,跳过所述第二图像块的Merge模式或Skip模式的帧间预测。
7.根据权利要求5所述的方法,其特征在于,所述第二图像块的候选运动矢量包括多个;
其中,所述从所述M个参考块中确定是否存在所述第二图像块对应的参考块,包括:
从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,j为1,…,P,所述P为所述多个候选运动矢量的个数。
8.根据权利要求7所述的方法,其特征在于,所述从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,包括:
根据下列因素,从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块:
所述第二图像块的位置、所述第j个候选运动矢量、所述M个参考块的位置。
9.根据权利要求7或8所述的方法,其特征在于,所述从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,包括:
在所述第j个候选运动矢量的水平分量与垂直分量分别指向整像素的情况下,若所述第二图像块在进行所述第j个候选运动矢量的位移后的位置位于所述M个参考块中任一个参考块的位置内,确定所述M个参考块中存在所述第j个候选运动矢量对应的参考块。
10.根据权利要求8所述的方法,其特征在于,在所述第j个候选运动矢量的水平分量,和/或垂直分量指向分像素的情况下,所述因素还包括预设值,所述预设值与运动矢量的最小精度和/或插值滤波器的抽头数量相关。
11.根据权利要求10所述的方法,其特征在于,所述从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,包括:
若所述第二图像块在进行所述第j个候选运动矢量的位移后的位置位于所述M个参考块中的第i个参考块的收缩位置内,确定所述M个参考块中存在所述第j个候选运动矢量对应的参考块,i为1,…,M,其中,
在所述第j个候选运动矢量的水平分量指向分像素、垂直分量指向整像素的情况下,所述第i个参考块的收缩位置表示所述第i个参考块经过左边界与右边界分别向里收缩所述预设值之后的位置,
在所述第j个候选运动矢量的水平分量指向整像素、垂直分量指向分像素的情况下,所述第i个参考块的收缩位置表示所述第i个参考块经过上边界与下边界分别向里收缩所述预设值之后的位置,
在所述第j个候选运动矢量的水平分量指向分像素、垂直分量指向分像素的情况下,所述第i个参考块的收缩位置表示所述第i个参考块经过左边界、右边界、上边界与下边界分别向里收缩所述预设值之后的位置。
12.根据权利要求7或8所述的方法,其特征在于,所述从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,包括:
若所述第二图像块在进行所述第j个候选运动矢量的位移后的位置位于所述M个参考块中的第i个参考块的收缩位置内,确定所述M个参考块中存在所述第j个候选运动矢量对应的参考块,其中,
所述第i个参考块的收缩位置表示所述第i个参考块经过左边界、右边界、上边界与下边界分别向里收缩预设值之后的位置,所述预设值与运动矢量的最小精度相关,所述i为1,…,M。
13.根据权利要求7至12中任一项所述的方法,其特征在于,所述在所述M个参考块中存在所述第二图像块的参考块的情况下,对所述第二图像块进行Merge模式或Skip模式的帧间预测,包括:
在所述M个参考块中存在所述第j个候选运动矢量对应的参考块的情况下,采用所述第j个候选运动矢量对应的参考块对所述第二图像块进行Merge模式或Skip模式的帧间预测。
14.根据权利要求7至12中任一项所述的方法,其特征在于,所述方法还包括:
在所述M个参考块中不存在所述第j个候选运动矢量对应的参考块的情况下,跳过采用所述第j个候选运动矢量对应的参考块对所述第二图像块进行Merge模式或Skip模式的帧间预测过程。
15.根据权利要求1至14中任一项所述的方法,其特征在于,所述N个图像块中每个图像块为预测单元PU。
16.根据权利要求2至4中任一项所述的方法,其特征在于,所述第一图像块为下列中任一种:编码树单元CTU、编码单元CU、预测单元PU。
17.一种编码装置,其特征在于,包括:
存储器,用于存储指令;
处理器,用于执行所述存储器存储的指令,执行如下操作:
从参考帧缓存中获取M个参考块的数据,M为正整数;
在对N个图像块进行Merge模式或Skip模式的帧间预测时,从所述M个参考块中确定是否存在所述N个图像块中每个图像块的参考块,N为正整数。
18.根据权利要求17所述的编码装置,其特征在于,所述从参考帧缓存中获取M个参考块的数据,包括:
根据第一图像块的S个候选运动矢量从所述参考帧缓存中获取所述M个参考块,所述S为小于或等于所述M的正整数,其中,所述第一图像块与所述N个图像块属于同一个图像单元块。
19.根据权利要求18所述的编码装置,其特征在于,所述第一图像块包括所述N个图像块中的部分或全部图像块。
20.根据权利要求19所述的编码装置,其特征在于,所述第一图像块为所述图像单元块。
21.根据权利要求17至20中任一项所述的编码装置,其特征在于,所述N个图像块中包括第二图像块;
其中,所述在对N个图像块进行Merge模式或Skip模式的帧间预测时,从所述M个参考块中确定是否存在所述N个图像块中每个图像块的参考块,包括:
从所述M个参考块中确定是否存在所述第二图像块的参考块;
其中,所述处理器还用于执行如下操作:
在所述M个参考块中存在所述第二图像块的参考块的情况下,对所述第二图像块进行Merge模式或Skip模式的帧间预测。
22.根据权利要求21所述的编码装置,其特征在于,所述处理器还用于执行如下操作:
在所述M个参考块中不存在所述第二图像块的参考块的情况下,跳过所述第二图像块的Merge模式或Skip模式的帧间预测。
23.根据权利要求21所述的编码装置,其特征在于,所述第二图像块的候选运动矢量包括多个;
其中,所述从所述M个参考块中确定是否存在所述第二图像块对应的参考块,包括:
从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,j为1,…,P,所述P为所述多个候选运动矢量的个数。
24.根据权利要求23所述的编码装置,其特征在于,所述从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,包括:
根据下列因素,从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块:
所述第二图像块的位置、所述第j个候选运动矢量、所述M个参考块的位置。
25.根据权利要求23或24所述的编码装置,其特征在于,所述从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,包括:
在所述第j个候选运动矢量的水平分量与垂直分量分别指向整像素的情况下,若所述第二图像块在进行所述第j个候选运动矢量的位移后的位置位于所述M个参考块中任一个参考块的位置内,确定所述M个参考块中存在所述第j个候选运动矢量对应的参考块。
26.根据权利要求24所述的编码装置,其特征在于,在所述第j个候选运动矢量的水平分量,和/或垂直分量指向分像素的情况下,所述因素还包括预设值,所述预设值与运动矢量的最小精度和/或插值滤波器的抽头数量相关。
27.根据权利要求26所述的编码装置,其特征在于,所述从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,包括:
若所述第二图像块在进行所述第j个候选运动矢量的位移后的位置位于所述M个参考块中的第i个参考块的收缩位置内,确定所述M个参考块中存在所述第j个候选运动矢量对应的参考块,i为1,…,M,其中,
在所述第j个候选运动矢量的水平分量指向分像素、垂直分量指向整像素的情况下,所述第i个参考块的收缩位置表示所述第i个参考块经过左边界与右边界分别向里收缩所述预设值之后的位置,
在所述第j个候选运动矢量的水平分量指向整像素、垂直分量指向分像素的情况下,所述第i个参考块的收缩位置表示所述第i个参考块经过上边界与下边界分别向里收缩所述预设值之后的位置,
在所述第j个候选运动矢量的水平分量指向分像素、垂直分量指向分像素的情况下,所述第i个参考块的收缩位置表示所述第i个参考块经过左边界、右边界、上边界与下边界分别向里收缩所述预设值之后的位置。
28.根据权利要求23或24所述的编码装置,其特征在于,所述从所述M个参考块中确定是否存在所述第二图像块的第j个候选运动矢量对应的参考块,包括:
若所述第二图像块在进行所述第j个候选运动矢量的位移后的位置位于所述M个参考块中的第i个参考块的收缩位置内,确定所述M个参考块中存在所述第j个候选运动矢量对应的参考块,其中,
所述第i个参考块的收缩位置表示所述第i个参考块经过左边界、右边界、上边界与下边界分别向里收缩预设值之后的位置,所述预设值与运动矢量的最小精度相关,所述i为1,…,M。
29.根据权利要求23至28中任一项所述的编码装置,其特征在于,所述在所述M个参考块中存在所述第二图像块的参考块的情况下,对所述第二图像块进行Merge模式或Skip模式的帧间预测,包括:
在所述M个参考块中存在所述第j个候选运动矢量对应的参考块的情况下,采用所述第j个候选运动矢量对应的参考块对所述第二图像块进行Merge模式或Skip模式的帧间预测。
30.根据权利要求23至28中任一项所述的编码装置,其特征在于,所述处理器还用于执行如下操作:
在所述M个参考块中不存在所述第j个候选运动矢量对应的参考块的情况下,跳过采用所述第j个候选运动矢量对应的参考块对所述第二图像块进行Merge模式或Skip模式的帧间预测过程。
31.根据权利要求17至30中任一项所述的编码装置,其特征在于,所述N个图像块中每个图像块为预测单元PU。
32.根据权利要求18至20中任一项所述的编码装置,其特征在于,所述第一图像块为下列中任一种:编码树单元CTU、编码单元CU、预测单元PU。
33.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机执行时使得,所述计算机执行如权利要求1至16任一项所述的方法。
34.一种包含指令的计算机程序产品,其特征在于,所述指令被计算机执行时使得所述计算机执行如权利要求1至16任一项所述的方法。
CN201980049277.4A 2019-12-31 2019-12-31 视频处理的方法与装置 Pending CN112514391A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/130843 WO2021134631A1 (zh) 2019-12-31 2019-12-31 视频处理的方法与装置

Publications (1)

Publication Number Publication Date
CN112514391A true CN112514391A (zh) 2021-03-16

Family

ID=74924081

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980049277.4A Pending CN112514391A (zh) 2019-12-31 2019-12-31 视频处理的方法与装置

Country Status (2)

Country Link
CN (1) CN112514391A (zh)
WO (1) WO2021134631A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016104179A1 (ja) * 2014-12-26 2016-06-30 ソニー株式会社 画像処理装置および画像処理方法
WO2016192662A1 (en) * 2015-06-03 2016-12-08 Mediatek Inc. Method and apparatus for resource sharing between intra block copy mode and inter prediction mode in video coding systems
CN107087171A (zh) * 2017-05-26 2017-08-22 中国科学技术大学 Hevc整像素运动估计方法及装置
CN108024116A (zh) * 2016-10-28 2018-05-11 腾讯科技(深圳)有限公司 一种数据缓存方法及装置
CN110198440A (zh) * 2018-03-29 2019-09-03 腾讯科技(深圳)有限公司 编码预测信息的确定及视频编码的方法、装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103533366B (zh) * 2012-07-03 2016-11-23 展讯通信(上海)有限公司 用于视频运动补偿的缓存方法与装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016104179A1 (ja) * 2014-12-26 2016-06-30 ソニー株式会社 画像処理装置および画像処理方法
WO2016192662A1 (en) * 2015-06-03 2016-12-08 Mediatek Inc. Method and apparatus for resource sharing between intra block copy mode and inter prediction mode in video coding systems
CN108024116A (zh) * 2016-10-28 2018-05-11 腾讯科技(深圳)有限公司 一种数据缓存方法及装置
CN107087171A (zh) * 2017-05-26 2017-08-22 中国科学技术大学 Hevc整像素运动估计方法及装置
CN110198440A (zh) * 2018-03-29 2019-09-03 腾讯科技(深圳)有限公司 编码预测信息的确定及视频编码的方法、装置

Also Published As

Publication number Publication date
WO2021134631A1 (zh) 2021-07-08

Similar Documents

Publication Publication Date Title
US20220321907A1 (en) Method and device for video image processing
RU2699258C2 (ru) Способ прогнозирования изображения и устройство прогнозирования изображения
JP2019519995A (ja) 適応型動き情報改良を用いるビデオ符号化
JP2019505144A (ja) ビデオコーディングのためのフィルタのための幾何学的変換
CN111630861B (zh) 视频处理方法和装置
JP2022523350A (ja) マージモードのための予測重み付けを決定する方法、装置及びシステム
JP7279154B2 (ja) アフィン動きモデルに基づく動きベクトル予測方法および装置
KR102621958B1 (ko) 후보 모션 벡터 리스트 획득 방법, 장치, 인코더 및 디코더
JP2021523604A (ja) ビデオ符号化及び復号化の動き補償
US10893289B2 (en) Affine motion prediction-based image decoding method and device using affine merge candidate list in image coding system
JP2021529483A (ja) 動きベクトル予測方法及び関連する装置
KR20210036405A (ko) 비디오 디코딩 방법 및 비디오 디코더
CN110832869A (zh) 用于视频编码或解码的运动信息获取方法与装置
CN112740663B (zh) 图像预测方法、装置以及相应的编码器和解码器
CN117280691A (zh) 增强的运动向量预测
CN110876058B (zh) 一种历史候选列表更新方法与装置
KR20220002991A (ko) 글로벌 모션을 갖는 프레임들에서의 적응적 모션 벡터 예측 후보들
US20220417550A1 (en) Method and apparatus for constructing motion information list in video encoding and decoding and device
JP2024522761A (ja) ビデオコーディングにおけるアフィン動き補償のための双方向マッチングによる動き精緻化
CN112514391A (zh) 视频处理的方法与装置
CN111247804B (zh) 图像处理的方法与装置
CN110677645B (zh) 一种图像预测方法及装置
CN118160309A (zh) 视频编解码中仿射合并模式的候选推导
KR20240100392A (ko) 비디오 코딩에서 아핀 병합 모드에 대한 후보 도출
WO2023034640A1 (en) Candidate derivation for affine merge mode in video coding

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210316