CN117294861A - 一种基于帧间预测的编码块划分方法及编码器 - Google Patents

一种基于帧间预测的编码块划分方法及编码器 Download PDF

Info

Publication number
CN117294861A
CN117294861A CN202311584993.7A CN202311584993A CN117294861A CN 117294861 A CN117294861 A CN 117294861A CN 202311584993 A CN202311584993 A CN 202311584993A CN 117294861 A CN117294861 A CN 117294861A
Authority
CN
China
Prior art keywords
block
current coding
sub
coding block
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.)
Granted
Application number
CN202311584993.7A
Other languages
English (en)
Other versions
CN117294861B (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.)
Taobao China Software Co Ltd
Original Assignee
Taobao China Software 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 Taobao China Software Co Ltd filed Critical Taobao China Software Co Ltd
Priority to CN202311584993.7A priority Critical patent/CN117294861B/zh
Publication of CN117294861A publication Critical patent/CN117294861A/zh
Application granted granted Critical
Publication of CN117294861B publication Critical patent/CN117294861B/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/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/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/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

本申请公开了一种基于帧间预测的编码块划分方法及编码器。所述基于帧间预测的编码块划分方法包括:确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块。采用所述方法,解决了视频编码的高复杂度导致的编码速度低的问题。

Description

一种基于帧间预测的编码块划分方法及编码器
技术领域
本申请涉及视频编码技术领域,具体涉及一种基于帧间预测的编码块划分方法、电子设备及存储介质。本申请同时还涉及一种基于帧间预测的编码方法、编码器、电子设备及存储介质。
背景技术
随着互联网技术的发展,高清视频应用(点播和直播)变得越来越普及,但带来的问题是更高的带宽成本和更差的播放流畅度。
现有技术中,一般通过自上往下可变尺寸的CU递归分块编码方案来提高压缩效率。可变尺寸的CU分块能够自适应的表达图像局部时空特征,减少预测残差和提高预测精度,但同时需要额外的比特来编码附加信息。另外,分块与否最终通过率失真代价来评判,为了得到较优分块结构,往往需要对各种可能的CU分块进行遍历编码和率失真检验,复杂度成倍增加。例如,对于64x64的CTU块,编码标准H.265/H.266最多需对85/ 5781个CU进行评估。如此巨量的编码使得CU分块大大限制了编码速度。一种优化方式中,在进行分块编码前,使用CU块原始像素的纹理复杂度来决策是否分块,可以通过该CU块亮度像素的平均差除以均值来度量纹理复杂度,即当纹理复杂度小于一定阈值则意味着该CU块很简单,比如较平滑的区域,往往不需要进行CU划分;反之,超过一定阈值则进行分块。然而,纹理复杂度只能反映空域特征,不能反映时域运动情况,这对于帧间模式编码的CU分块预测精度太低,从而损失较大的压缩性能。
因此,如何实现低复杂度编码处理方案并保持预测精度以提高编码效率是需要解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本申请的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本申请实施例提供的基于帧间预测的编码块划分方法,解决了现有技术中高复杂度的视频编码导致的编码效率较低的问题。
本申请实施例提供一种基于帧间预测的编码块划分方法,包括:确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块。
可选的,所述根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块,包括:确定所述当前编码块的各子块的残差数据的相对差异程度;以及,根据所述当前编码块的各子块的残差数据的相对差异程度确定是否继续对当前编码块进行分块。
可选的,每一子块的残差数据为对应子块的绝对变换残差和;所述当前编码块的各子块的残差数据的相对差异程度,为所述当前编码块的所有子块的绝对变换残差和的平均差;所述根据所述当前编码块的各子块的残差数据的相对差异程度确定是否继续对当前编码块进行分块,包括:判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;若是,则根据所述帧间预测模式对所述当前编码块进行分块;否则,对所述当前编码块不再继续分块。
可选的,所述确定用于对待处理的当前编码块进行帧间预测的帧间预测模式,包括:从候选预测模式中确定符合预设准则的预测模式作为所述用于对待处理的当前编码块进行帧间预测的帧间预测模式;其中,所述预设准则,包括基于选定的目标参量的预测结果遵从以下任一种准则:使得当前编码块的率失真代价满足目标率失真代价条件的率失真准则,使得当前编码块的绝对变换残差和满足变换残差条件的变换残差准则,使得当前编码块的绝对残差满足绝对残差条件的残差准则。
可选的,所述确定用于对待处理的当前编码块进行帧间预测的帧间预测模式,包括:将第一类预测模式作为候选预测模式,从所述候选预测模式中确定所述当前编码块具有最优预测残差的预测模式,作为用于对待处理的当前编码块进行帧间预测的帧间预测模式,并保存所述当前编码块的子块的预测残差;所述第一类预测模式包括满足所述预设准则的帧间预测模式;根据与确定的帧间预测模式对应保存的所述子块的预测残差,确定所述当前编码块是否进行分块;从第二类预测模式中确定用于对分块结构确定之后的当前编码块进行预测的分块后预测模式,以及,根据所述分块后预测模式进行编码;所述第二类预测模式包括以下模式之一:帧间预测模式、帧内预测模式。
可选的,还包括:根据所述帧间预测模式确定所述当前编码块的分块类型;所述分块类型的数量为复数个;针对每一分块类型,根据所述分块类型对应的子块的残差数据或残差数据的相对差异程度确定是否针对所述当前编码块进行分块编码,直到处理的当前编码块不需要分块或者当前编码块的深度达到所述分块类型对应的递归深度,从而得到与所述分块类型对应的预测模式以及分块模式;根据每一分块类型对应的预测模式以及分块模式,确定编码代价最小的预测模式以及分块模式,用于得到当前编码块所属独立编码单元的码流。
可选的,还包括:如果所述当前编码块的子块中特定子块与其他子块尺寸不同,则根据所述特定子块与其他子块之间的尺寸比例调整所述特定子块的残差数据,使得所述当前编码块的每一子块的残差数据和/或残差数据的相对差异程度基于同一衡量基准确定。
可选的,所述每一分块类型对应不同的阈值,所述阈值用于确定是否针对所述当前编码块进行分块编码。
可选的,所述阈值为固定阈值;或者,所述阈值,根据当前编码块的深度、量化系数或拉格朗日乘子中至少之一自适应调整。
本申请实施例还提供一种基于帧间预测的编码方法,包括:获取待编码的视频帧,并根据编码模式将所述待编码的视频帧分割为多个待处理的编码块;针对每一待处理的编码块,重复执行下述步骤:确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;计算所述当前编码块的所有子块的绝对变换残差和的平均差;判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;若是,则根据所述帧间预测模式对所述当前编码块进行分块,在分块之后,继续将该编码块的每一子块作为当前编码块重复执行上述步骤,直到当前编码块的所有子块的绝对变换残差和的平均差不超过阈值。
本申请实施例还提供一种基于帧间预测的编码器,包括:第一分块单元,用于获取待编码的视频帧,并根据编码模式将所述待编码的视频帧分割为多个待处理的编码块;第二分块单元,用于针对每一待处理的编码块,重复执行下述步骤:确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;计算所述当前编码块的所有子块的绝对变换残差和的平均差;判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;若是,则根据所述帧间预测模式对所述当前编码块进行分块,在分块之后,继续将该编码块的每一子块作为当前编码块重复执行上述步骤,直到当前编码块的所有子块的绝对变换残差和的平均差不超过阈值。
本申请实施例还提供一种电子设备,包括:存储器,以及处理器;所述存储器用于存储计算机程序,所述计算机程序被所述处理器运行后,执行本申请实施例提供的所述方法。
本申请实施例还提供一种计算机存储介质,存储有根据执行计算机指令而获得的码流,所述计算机执行指令被处理器执行时用于实现本申请实施例提供的所述方法。
与现有技术相比,本申请具有以下优点:
本申请实施例提供的一种基于帧间预测的编码块划分方法、装置、电子设备及存储介质,以及基于帧间预测的编码方法及编码器,通过确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块。基于帧间预测进行分块,能够反映编码块时域运动复杂度,从而提供较准确的分块决策结果,并且在分块编码前对帧间预测子块的残差数据进行评估,能够在保持分块精度不变情况下,容忍更大阈值,覆盖更多子块,从而提高编码速度。进一步,采用各子块绝对变换残差和的相对差异程度确定是否对当前编码块继续划分,充分考虑了到编码块内部子块运动一致性或satd大小分布均匀性,提高了分块算法的内容自适应性,能进一步覆盖更多的编码块(CU),从而能够在不明显损失压缩性能的前提下,更大程度上降低了帧间编码复杂度,提高整体编码速度。
附图说明
图1是本申请第一实施例提供的一种基于帧间预测的编码块划分方法的处理流程图。
图2是本申请提供的一种四叉树的递归分块结构的结构示意图。
图3是本申请提供的二叉树及三叉树分块结构示意图。
图4是本申请第一实施例提供的一种基于帧间预测当前编码块satd的分块算法流程图。
图5是本申请第一实施例提供的一种基于帧间预测子块satd的分块算法流程图。
图6A是本申请第一实施例提供的一种深度优先的分块编码的流程图。
图6B是本申请第一实施例提供的一种广度优先的分块编码的流程图。
图7是本申请第一实施例提供的一种多分块类型的分块编码的流程图。
图8是本申请第二实施例提供的一种基于帧间预测的编码块划分装置示意图。
图9是本申请第三实施例提供的一种基于帧间预测的编码方法的处理流程图。
图10是本申请第四实施例提供的一种基于帧间预测的编码器示意图。
图11是本申请提供的电子设备示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请实施例提供一种基于帧间预测的编码块划分方法、装置、电子设备及存储介质。本申请还提供一种基于帧间预测的编码方法、编码器、电子设备及存储介质。在下面的实施例中逐一进行说明。
为便于理解,首先给出本申请实施例涉及的一些相关概念及术语。
多帧图像按照一定次序组成视频,由于连续帧图像中相邻帧之间的采样间隔较短,如1/60秒,因而较短时间内的帧图像可能存在大量相同或相似的信息,即时间冗余信息,因此将采样到的视频图像通过帧间预测能一定程度上去除冗余信息实现视频压缩编码,从而保持流畅播放且节约带宽。目前,一些视频场景中(如直播、点播等场景)视频图像数据量比较大且播放流畅度要求高,高效的视频编码标准如H.265/H.266/AV1/AVS2/AVS3等开始普及到这类高清视频场景中。一些通用标准中采用自上往下可变尺寸CU递归分块编码方案来提高压缩效率。比如H.265采用四叉树递归的方式对CU进行分块,H.266又额外增加了水平/垂直二叉树/水平/垂直三叉树等多种结构对CU进行分块 。现有编码压缩方式中包括预测编码,帧间预测模式是其一种预测编码。
预测编码:是一种编码方式,利用前面已编码帧的数据信息来预测当前将要编码帧的数据信息的。通过预测得到预测值和实际值之间存在残差。如果预测比较准确,残差就越小,在同等精度要求的条件下对残差进行编码能减小数据量,达到压缩目的。
帧间预测(Inter Prediction)模式:是一种利用其它参考帧像素来预测当前图像帧的预测编码方式,即利用视频图像帧间的时间相关性来达到图像压缩的目的。将已重建的图像(也就是已编码的图像)作为当前图像的参考图像,为当前图像进行编码处理中的当前块找到匹配的参考块,根据参考块中的像素值得到当前块的预测像素值,结合利用运动矢量MV(Motion Vector)进行运动补偿以确定当前块对应的预测块,可以用mv和参考帧索引表示当前图像。
CU:Coding Unit,用于编码的基本单元,尺寸可变。较大的CU块可以自上而下递归的按照四叉树/二叉树/ 三叉树等划分成更小的CU块。
CTU:Coding Tree Unit,树形编码单元,是对帧图像进行分块的基本单元,对一帧图像可以按规则的固定尺寸划分为多个CTU。每个CTU内部可以不规则地自适应划分为各种尺寸CU,CTU也可以理解为最大的CU块。
satd:Sum of Absolute Transformed Difference,即绝对变换残差和。对预测残差进行哈达玛变换后的系数绝对值和,用于估算编码失真或衡量编码复杂度。其中,预测残差是指对帧图像的分块(CTU或CU)进行预测(帧内预测或帧间预测)得到该分块的预测值,该分块的原始像素值和预测值相减形成所述预测残差。
平均差:average deviation,衡量各个参量之间相对差异程度的一种指标,计算方法为各个参量同平均数的差的绝对值的平均。
需要说明的是,以上所公开的信息仅用于帮助对本申请进行理解,并不意味着构成对本领域普通技术人员已知的现有技术。
以下结合图1至图8对本申请第一实施例提供的基于帧间预测的编码块划分方法进行说明。图1所示的基于帧间预测的编码块划分方法,包括:
步骤S101,确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;
步骤S102,基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;
步骤S103,根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块。
本实施例提供的方法可应用于具有基于分块的视频编码功能的编码器、编码设备、编码装置等,例如:摄像设备、计算机、移动终端等。实际应用中,通过摄像设备对当前场景进行拍摄采集需要编码压缩的原始视频图像。对采集到的原始视频图像,确定I帧。所谓I帧,是关键帧,可以通过帧内压缩消除一帧图像内容的空间冗余信息得到,作为后续帧的参考帧。后续帧的数据可以基于参考帧采用帧间预测模式得到。所谓帧间预测模式包含了P模式和B模式等,P模式是指可以参考时间上在前面的参考帧。B模式是可以参考时间上在前面以及后面的参考帧(后面的参考帧虽然在时间上在后面,但会先于当前待编码帧进行编码处理)。B模式可以找到两个最佳的参考块,其一参考块在前面的帧中,另一参考块在后面的帧中,可以利用这两个参考块的加权平均作为当前编码块的预测,在这种情况下,两个MV与每个块都有联系。当前编码块(或当前块)是指当前进行编码处理的图像区域或图像块。
实际应用中,对每个待编码的当前帧可以先按固定尺寸划分为多个区域,每个区域可以作为一个CTU进行独立编码,即一个CTU为一个独立编码单元。编码过程中将CTU划分为多个CU,一个CU可以递归地划分为更小的子块(或子区域),依次类推,每次划分CU深度递增1,直到CU的深度达到最大递归深度为止。其中,CU的划分采用可变尺寸。在递归分块结构中,每层的CU为其相邻上一层CU的子CU(即子块),为其相邻下一层CU的父CU。可以采用四叉树、三叉树、二叉树等分块类型至少一种对CU进行分块。例如采用四叉树递归的方式对CU进行分块。其中,四叉树编码(quedreecoding,又称为四分数、四元数编码),是一种有效的压缩数据的方法,将一个区域进行递归分割,逐步分解为包含单一类型的方形区域。请参考图2,图中示出了一种四叉树的递归分块结构,64x64的CTU(深度Depth为0,即独立编码单元对应的初始CU)在第一轮递归中划分为4个32x32的子CU(深度Depth为1);顺序遍历深度为1这一层每个子CU进行分块过程中,首个子CU继续递归划分为4个16x16的子CU(深度Depth为2);顺序遍历该深度为2这一层每个子CU进行分块过程中,第1、2子CU未分块,第3个子CU划分为4个8x8子CU,深度达到最大递归深度3,终止递推。依次类推,得到该CTU的分块结构,包括多个不同尺寸的CU。再如,也可以采用水平/垂直二叉树、水平/垂直三叉树等多种结构对CU进行分块。不同分块类型可以结合使用。请参考图3,图中示出了二叉树及三叉树分块结构,包括:水平二叉树301、垂直二叉树302、水平三叉树303、垂直三叉树304。
本实施例提供的所述方法中给出了编码过程中的一种分块算法,将每个需要编码的CU作为当前编码块,对该CU分块编码前根据帧间预测确定该CU的子CU的satd,根据子CU的satd判断是否当前CU是否为不必要划分子块的CU,从而在保持一定压缩性能的前提下可以跳过不必要的CU分块处理,避免了对每个可能的CU全部进行递归划分子块,因此在能得到较优的分块结构的同时加速了分块过程,能够降低编码复杂度,提高编码速度。
如步骤S101所述,确定用于对待处理的当前编码块进行帧间预测的帧间预测模式,也就是针对当前编码块进行模式决策。具体的,开始当前编码块的分块编码流程后先进行模式决策,确定出之后再执行后续步骤以针对当前编码块进行分块决策。
具体的,基于候选预测模式进行模式决策确定第一目标模式,作为用于对待处理的当前编码块进行帧间预测的帧间预测模式,所述第一目标模式,是满足预设准则的最优/最小的一种inter(即帧间预测)模式,从而实现根据最优/最小的inter模式的残差进行分块决策。所述模式决策的处理包括:从候选预测模式中确定符合预设准则的预测模式作为所述用于对待处理的当前编码块进行帧间预测的帧间预测模式;其中,所述预设准则,包括基于选定的目标参量的预测结果遵从以下任一种准则:使得当前编码块的率失真代价满足目标率失真代价条件的率失真准则,使得当前编码块的绝对变换残差和满足变换残差条件的变换残差准则,使得当前编码块的绝对残差满足绝对残差条件的残差准则。较佳地,所述率失真准则为当前编码块的率失真代价最小;所述变换残差准则包括当前编码块的绝对变换残差和最优;所述残差准则包括当前编码块的绝对残差最优。预设准则可以理解为能够衡量根据参考块得到当前编码块的预测结果(可以理解为预测块)与当前编码块匹配程度的指标。实际上,帧间预测/帧内预测的处理中,除了预测模式之外还包括其他一个或多个输入参量,例如运动矢量mv等,从所述输入参量中确定使得预测结果与当前编码块具有最佳匹配程度的最优参量,作为目标参量。实施时,可以结合上述预设准则进行模式决策,也可以基于其一预设准则进行模式决策。例如,先通过基于satd的残差准则对各候选预测模式进行排序,将其中最优(或较优)的模式作为粗选的第一次模式决策结果;再通过基于率失真代价的率失真准则从第一次模式决策结果中精选出率失真代价最优/最小的模式为第二次模式决策结果,第二次模式决策结果中的模式作为最终的对待处理的当前编码块进行帧间预测的帧间预测模式。再例如,可以采用率失真代价最优/最小进行模式决策,该情况下后续步骤进行分块决策时则需要计算子块satd。再例如,可以基于satd的残差准则决策出最终用于当前编码块的帧间预测模式。再例如,对于候选预测模式skip/merge进行模式决策,还包括其他输入参量比如运动矢量mv,则先对N个候选mv根据基于satd的残差准则决策出一个最佳mv,再进行skip模式和merge模式的RDO(率失真代价)精选出最优模式(该处理中共需要N个satd决策,以及2个RDO决策)。当然也可以直接用RDO对各mv进行skip模式和merge模式的精选,得到最优模式(总共需要2*N次RDO决策)。其中,merge模式和skip模式的mv一样,编码方式不同,即skip模式中直接将参考块当成是当前块,不编码残差,其编码段传递的信息包括SKIP-flag标记,和候选列表索引;merge模式中编码残差。
较佳方式中,在模式决策过程中可以计算并保存最佳帧间模式下的亮度残差。所谓残差,是指观测值与拟合值的偏离。例如,将每一帧图像划分为不同大小的图像块单元(可以理解为编码块),对每个单元进行帧内或帧间预测,原始像素值和预测值相减在形成该单元的残差(即预测残差)。其中,所谓率失真代价,是指当前编码块对应的重构图像与原图像差值的平方和,计算率失真代价需要保存当前编码模式下的信息,例如分块模式、预测模式、残差信息等。所述当前编码块的绝对残差,表示该编码块原始像素值和预测值之间的差异,所述当前编码块的绝对变换残差,是对当前编码块的绝对残差进行变换处理如哈达玛变换而得到,satd是一种绝对变换残差。其中,所述候选预测模式,包括但不限于:skip模式、merge模式、帧间模式(即帧间预测模式)、帧内模式(即帧内预测模式)、帧间预测模式的双向预测模式等。其中,skip模式、merge模式为轻量级预测模式,其他预测模式可以理解为重量级预测模式。本实施例中,将轻量级预测模式作为第一类预测模式,重量级预测模式作为第二类预测模式,在后文中提到的基于深度优先的编码方式中第一类预测模式和第二类预测模式用于该编码方式对应流程中的不同阶段。
实施时,所述确定用于对待处理的当前编码块进行帧间预测的帧间预测模式,包括:将所述当前编码块分解为多个子块;确定并保存所述多个子块中每一子块的绝对变换残差和(即satd);保存的所述绝对变换残差和,作为用于确定是否对当前编码块进行分块的子块的残差数据,以实现数据复用;将每一子块的绝对变换残差和累加,累加结果用于从多个候选预测模式中确定用于对待处理的当前编码块进行帧间预测的帧间预测模式。具体的,子块satd累加结果可以作为当前编码块的预测残差,确定累加结果最小的预测模式作为所述用于对待处理的当前编码块进行帧间预测的帧间预测模式。
较优实现方式中,以8x8分块来计算satd值后再累加求和作为父块的简化的satd,也称作sa8d,从而减少了复杂度。
优选的,在模式决策过程中,保存最佳的预测模式及对应的预测数据,若最终的编码块划分模式确定该模式,则保持的数据可以作为编码原材料,从而实现数据复用。
当然,可以根据模式决策过程中计算出的最佳帧间预测模式下当前编码块的预测残差决策是否对该当前编码块继续划分。例如,若CU的预测残差satd小于第一阈值,则说明整个CU预测残差较小,CU内所有子块的预测已经足够准确,继续分块对预测精度虽然有提升,但是分块也会引入附加bits(比特位)开销,衡量开销与精度提升,不必要进行CU分块,该情况一般发生在运动平缓简单的区域。如果CU的预测残差satd大于第一阈值,则说明预测残差较大,CU内有些子块的时域预测不准,进一步分块对预测精度的提升效果超过分块引入的附加bits开销,因此需要进行CU分块,该情况一般发生运动复杂区域,比如运动物体的边缘。该方法能反映整个Cu块的时域运动情况。也就是评估整个CU(即父CU)的satd,该分块方式的带来一定程度的编码加速及编码精度提升。为保证CU分块精度,该分块方式中一般设置较小的第一阈值。请参考图4,图中示出了一种基于帧间预测当前编码块satd的分块算法流程,基于当前编码块的预测残差决策是否对该当前编码块继续划分,具体包括:S401,计算当前编码块的satd;S402,当前编码块的satd是否大于satd的阈值(即用于确定是否继续分块的所述阈值),若是则执行S403,否则跳过S403;S403,对当前编码块继续分块。其中,satd的阈值可以选取各预测模式的satd的平均值作为阈值。
考虑到CU分块能够自适应的表达图像的局部时空特征,对于帧间模式预测的CU,其内部子CU的时域运动均匀性是分块精度的影响因素,子CU运动不一致,比如运动物体的边缘,则MV差异较大才能达到最佳的匹配或最小的预测残差。反过来,当子CU的MV差异为0也即相同MV情况下 ,则各个子CU的匹配会参差不齐,有的子块匹配准确且预测残差小,而有的子块匹配不准确预测残差较大。其中,MV差异可以看做多个MV的不同程度。MV度量方法也可以用平均差,也可以用方差。MV包括x分量和y分量。如果用平均差,则可以定义为x分量的平均差加上y分量的平均差。如果用方差定义,则可以定义x分量的方差加上y分量的方差。因此,若根据内部子CU的satd或者根据子CU的satd分布作为分块决策依据能够提高分块精度,降低压缩性能损失。因此后续步骤中需要获取当前编码块的各子块的残差数据,作为分块决策的依据。
如步骤S102所述,基于步骤S101中模式决策选出的帧间预测模式遍历所述当前编码块的子块,并确定每一子块的残差数据。
具体的,每一子块的残差数据可以从模式决策过程中所保存的信息中得到。从而简化计算复杂度。子块的残差数据计算过程可以包括:将该子块的原始像素值直接确定为残差数据;或者,对该子块采用预测模式进行预测得到预测值,原始像素值与预测值之间的差为绝对残差,将绝对残差作为所述子块的残差数据;或者,对该绝对残差进行变换、量化等处理后的绝对变换残差作为所述子块的残差数据。
如步骤S103所述,根据所述当前编码块(可理解为父CU)的各子块(可理解为子CU)的残差数据确定是否对当前编码块进行分块,直到递归深度达到所述帧间预测模式下当前编码块的最大深度。针对需要继续进行分块的当前编码块,顺序遍历当前编码块的每一子块,将每一子块分别作为新的当前编码块执行步骤S101至S103的处理过程。针对不需要继续进行分块的当前编码块,则跳过分块,继续处理与该当前编码块位于同一深度的其他子块,将其他子块作为新的当前编码块递推执行步骤S101至S103的处理过程。
一个较佳方式中,根据当前编码块的各子块的残差数据的相对差异程度确定是否对当前编码块继续分块。具体的,所述根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块,包括:确定所述当前编码块的各子块的残差数据的相对差异程度;以及,根据所述当前编码块的各子块的残差数据的相对差异程度确定是否继续对当前编码块进行分块。优选的,每一子块的残差数据为对应子块的绝对变换残差和;所述当前编码块的各子块的残差数据的相对差异程度,为所述当前编码块的所有子块的绝对变换残差和的平均差;所述根据所述当前编码块的各子块的残差数据的相对差异程度确定是否继续对当前编码块进行分块,包括:判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;若是,则根据所述帧间预测模式对所述当前编码块进行分块;否则,对所述当前编码块不再继续分块。所述阈值是用于与绝对变换残差和的平均差这一指标进行比较的数据以便确定是否继续分块。也就是,比较所述平均差与satd的阈值;若所述平均差小于该阈值,则对所述当前编码块不再继续分块;否则,根据所述帧间预测模式对所述当前编码块进行分块。
请参考图5,图中示出了一种基于帧间预测子块satd的分块算法流程,在对当前编码块分块编码前执行模式决策,以及基于当前编码块的各子块预测残差决策是否对该当前编码块继续分块,具体包括:S501,执行模式决策,从候选预测模式中决策出第一目标模式,作为用于预测当前编码块的帧间预测模式;模式决策后能够获取到最佳帧间模式亮度残差的信息。进一步,模式决策的处理中,若使用了satd则可以在后续分块决策步骤中进行satd复用。例如在模式决策中采用了基于satd的残差准则以mv为候选对候选预测模式进行粗选和/或精选,则计算过程中的satd值可以被保存下来并复用。优选的,决策出的用于当前编码块的最佳帧间预测模式的satd被分解为该编码块的各子块的satd累加,并保存过程中计算出的各子块satd,后续用于分块决策,从而实现数据复用,减少计算复杂度。S502,计算各子块的satd以及satd平均差;各子块的satd可以基于最佳帧间模式亮度残差的信息得到;satd平均差基于格子裤的satd计算。S503,判断子块的satd平均差是否大于satd的阈值,若是则执行S504,否则跳过S504。S504,对当前编码块继续分块。
具体的,在分块编码前,获取当前CU的最佳帧间模式预测残差(在步骤S101进行部分或者全部帧间模式决策过程中计算并保存最佳帧间模式预测残差的信息),进而计算各个子CU的satd,再计算各子CU的satd的平均差。得到平均差之后,与阈值进行比较,如果平均差小于该阈值,则跳过CU分块编码;否则,对该CU分块编码。其中,平均差的计算公式如下:
satd_avgdev = Σ|satdi - satd_AVG | / n;
其中,satd_avgdev表示平均差; i=0,1,2,n-1;satdi表示每个子块的satd;satd_AVG表示这些子块的平均satd;n为分块个数,对于四叉树n=4,对于二叉树n=2,对于三叉树n=3。
需要注意的是,三叉树的各个子块尺寸可能不一样,如图2所示的三叉树,其中间子块的尺寸为旁边两个子块的两倍,因此在计算satd_AVG以及平均差satd_avgdev时,中间子块的satd除以2,以便在同一个衡量基准计算各子块satd。
一个具体实施方式中,还包括基于轻量级的skip/merge等模式的预测当前编码块的各子块satd来后续基于帧间预测子块satd差异程度的决策是否对当前编码块继续分块。也就是在分块编码之前对第一类预测模式(包括轻量级的预测模式skip/merge等)进行模式决策,决策出第一目标模式作为用于对分块编码前的当前编码块(父CU)的帧间预测模式,在此基础上进行分块决策,确定分块结构之后再进行第二类预测模式(其他重量级的模式如inter/intra/Bi-pred)的模式决策,决策出第二目标模式,用于进行其他模式的编码,从而提供深度优先的分块编码流程。例如,根据分块前的决策信息计算出父CU的子CU的satd的相对差异程度大于阈值,则该父CU需要分块,针对其子CU1继续确定是否需要分块,直至到父CU的最大递归深度,若其一子CU需要分块则继续处理该子CU的分块,分块后进行其他预测模式决策编码,直到按深度遍历完一个CU的不同深度子块编码,再回到未处理的其他CU的分块。具体的,所述确定用于对待处理的当前编码块进行帧间预测的帧间预测模式,包括:将第一类预测模式作为候选预测模式,从所述候选预测模式中确定所述当前编码块具有最优/最小预测残差的预测模式,作为用于对待处理的当前编码块进行帧间预测的帧间预测模式,并保存所述当前编码块的子块的预测残差;所述第一类预测模式包括满足所述预设准则的帧间预测模式;根据与确定的帧间预测模式对应保存的所述子块的预测残差,确定所述当前编码块是否进行分块;所述方法还包括:从第二类预测模式中确定用于对分块结构确定之后的当前编码块进行预测的分块后预测模式,以及,根据所述分块后预测模式进行编码;所述第二类预测模式包括以下模式之一:帧间预测模式(inter预测)、帧内预测模式(intra预测)、帧间预测模式的双向预测模式(bi-pred预测)。请参考图6A,图中示出了一种深度优先的分块编码流程,包括:S601a,开始CU编码。进入该处理流程的CU为当前编码块。S602a,skip和merge模式决策,对当前编码块进行第一类预测模式的模式决策,决策出满足预设准则的最优/最小的某一种inter(即帧间预测)模式。选最优的一个inter模式的残差来进行分块决策。S603a,计算各子块的satd以及satd平均差,本步骤中以S602a中模式决策过程中计算并保存的信息(如基于最佳帧间模式亮度残差的信息)为数据基础计算子块的satd以及satd平均差。S604a,子块的satd平均差是否大于satd的阈值,如果是,则执行S605a,否则跳过分块,执行S606a。S605a,对当前编码块继续分块。S606a,inter/intra/bi-pred等模式决策,进行第二类预测模式的模式决策编码。S607a,结束CU编码。
一个具体实施方式中,包括:在完成当前编码块的模式决策之后再基于帧间预测子块satd差异程度进行分块决策。请参考图6B,图中示出了一种广度优先的分块编码流程,包括:S601b,开始CU编码。进入该处理流程的CU为当前编码块。S602b,在模式决策阶段基于全量可选的候选预测模式进行模式决策,如进行候选预测模式skip/merge/ inter/intra/bi-pred等模式决策,决策出满足预设准则的最优/最小的某一种inter模式。即选最优的inter模式的残差来进行分块决策。S603b,计算各子块的satd以及satd平均差,本步骤中以S602b中模式决策过程中计算并保存的信息(如基于最佳帧间模式亮度残差的信息)为数据基础计算子块的satd以及satd平均差。S604b,子块的satd平均差是否大于satd的阈值,如果是,则执行S605b,否则跳过分块,执行S606b。S605b,对当前编码块继续分块。S606b,结束CU编码。分块完成后分块结构确定下来即生成码流数据。从而提供广度优先的基于帧间预测子块satd差异程度的分块编码流程。进一步,广度优先方式中在模式决策S602b的处理中,可以具体包括:第一步,各个候选预测模式内进行最优参量的粗选,如skip/merge,inter,intra,Bi-pred各个模式内部可以先确定好各自最优的参量,其中,skip/merge/inter/bi-pred均能以运动矢量mv为候选;intra是预测方向,可以sad(Sum of AbsoluteDifference,绝对误差和),satd,RDcost(rate distortion cost,率失真代价)中至少一个为候选。其中,计算复杂度和精度顺序均为:sadcost<satdcost<rdcost。第二步,在各个候选预测模式之间比较,粗选出第一次模式决策结果。比如可以基于satd粗选出两个最佳模式。第三步,对第一次模式决策结果包括的模式进行精选,例如可以用RDO(ratedistortion optimized)基于satd粗选出的两个最佳模式里面选一个最优的模式。
本实施例中,针对具有多种CU分块类型的场景提供了处理方式。例如,多种分块类型包括四叉树,三叉树,二叉树中至少之一。实施时,针对每种类型单独进行分块决策。在获取最佳帧间模式预测残差之后,按照各种分块类型来分别计算各子块satd平均差,针对不同分块类型可以使用不同的satd的阈值进行分块决策。分块结束后,再从所有预测模式和分块模式中确定最佳模式。所谓分块模式包括分块类型、CU具体的划分方式等信息。进一步在父CU执行模式决策过程中父CU的satd可以分解为更小尺寸的子块,将各子块satd累加,从而简化父CU的satd处理,同时也可以在后续分块决策部分复用各子块satd,减少处理复杂度。具体的,所述方法还包括:根据所述帧间预测模式确定所述当前编码块的分块类型;所述分块类型的数量为复数个;针对每一分块类型,根据所述分块类型对应的子块的残差数据或残差数据的相对差异程度确定是否针对所述当前编码块进行分块编码,直到处理的当前编码块不需要分块或者当前编码块的深度达到所述分块类型对应的递归深度,从而得到与所述分块类型对应的预测模式以及分块模式;其中,所述子块的残差数据为所述子块的绝对变换残差和;所述残差数据的相对差异程度,为所述子块的绝对变换残差和的平均差;根据每一分块类型对应的预测模式以及分块模式,确定编码代价最小的预测模式以及分块模式,用于得到当前编码块所属独立编码单元的码流。其中,所述每一分块类型对应不同的阈值,所述阈值用于确定是否针对所述当前编码块进行分块编码。进一步,还包括:如果所述当前编码块的子块中特定子块与其他子块尺寸不同,则根据所述特定子块与其他子块之间的尺寸比例调整所述特定子块的残差数据,使得所述当前编码块的每一子块的残差数据和/或残差数据的相对差异程度基于同一衡量基准确定。请参考图7,图中示出了一种多分块类型的基于帧间预测子块satd差异程度的分块编码流程,图中以多分块类型包括四叉树,三叉树,二叉树为例,包括:
S701,开始CU编码。S702,模式决策,基于至少部分可选的候选预测模式(skip/merge/inter/intra/bi-pred等模式)进行模式决策。针对不同分块类型的子块单独进行分块决策处理。其中,S703至S705为处理四叉树子块;S706至S708为处理三叉树子块;S709至S711为处理二叉树子块。分块处理完成后,执行S712,确定最佳模式/分块模式。S713,结束CU编码。其中,处理四叉树子块包括:S703,计算四叉树子块的satd以及satd平均差。S704,子块的satd平均差是否大于th1,th1表示阈值1,若是则执行S705,否则,跳过S705结束四叉树子块处理。S705,四叉树分块编码。其中,处理三叉树子块包括:S706,计算三叉树子块的satd以及satd平均差。S707,子块的satd平均差是否大于th2,th2表示阈值2,若是则执行S708,否则,跳过S708结束三叉树子块处理。S708,三叉树分块编码。二叉树子块的处理类似,图中th3表示阈值3,不再赘述。th1、th2、th3为各自设置,可以为不同的阈值,当然对应的数值也可以相同,不做限定。优选的,本实施例中的阈值为固定阈值;或者,各阈值可根据当前编码块的深度(depth)、量化系数(Qp)或拉格朗日乘子中至少之一自适应调整。
不冲突的情况下,本实施例提供的所述基于帧间预测的编码块划分方法也可以和其他CU分块算法结合使用。
本实施例中,通过对处理的编码块(CU)划分子块(子区域或子CU)通过模式决策分析特征,从而决策后续是否分块。具体的,基于inter预测(即帧间预测)的子块(子CU)的残差信息来进行分块决策;更具体的,基于inter预测的子块satd来进行分块决策;更具体的,根据子块satd之间的相对差异程度(即satd平均差)来进行分块决策。并且,在分块决策前进行模式决策的过程中,将编码块satd计算分解为更小的子块satd再累加求和的方式,同时保存各子块satd供后续分块决策计算时使用,避免了satd重复计算。
需要说明的是,在不冲突的情况下,在本实施例和本申请的其他实施例中给出的特征可以相互组合,并且步骤S101和S102或类似用语不限定步骤必须先后执行。
至此,对本实施例提供的方法进行了说明,所述方法中基于帧间预测进行分块,能够反映编码块时域运动复杂度,从而提供较准确的分块决策结果,并且在分块编码前对帧间预测子块的残差数据进行评估,能够在保持分块精度不变情况下,容忍更大阈值,覆盖更多子块,从而提高编码速度。进一步,采用各子块绝对变换残差和的相对差异程度确定是否对当前编码块继续划分,充分考虑了到编码块内部子块运动一致性或satd大小分布均匀性,提高了分块算法的内容自适应性,能进一步覆盖更多的编码块,从而能够在不明显损失压缩性能的前提下,更大程度上降低了帧间编码复杂度,提高整体编码速度。
与第一实施例对应,本申请第二实施例提供一种基于帧间预测的编码块划分装置,相关的部分请参见对应方法实施例的说明即可。请参考图8,图中所示的基于帧间预测的编码块划分装置,包括:
模式决策单元801,用于确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;
残差单元802,用于基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;
分块决策单元803,用于根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块。
可选的,所述分块决策单元803,具体用于:确定所述当前编码块的各子块的残差数据的相对差异程度;以及,根据所述当前编码块的各子块的残差数据的相对差异程度确定是否继续对当前编码块进行分块。
可选的,每一子块的残差数据为对应子块的绝对变换残差和;所述当前编码块的各子块的残差数据的相对差异程度,为所述当前编码块的所有子块的绝对变换残差和的平均差;所述分块决策单元803,具体用于:判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;若是,则根据所述帧间预测模式对所述当前编码块进行分块;否则,对所述当前编码块不再继续分块。
可选的,所述模式决策单元801,具体用于:从候选预测模式中确定符合预设准则的预测模式作为所述用于对待处理的当前编码块进行帧间预测的帧间预测模式;其中,所述预设准则,包括基于选定的目标参量的预测结果遵从以下任一种准则:使得当前编码块的率失真代价满足目标率失真代价条件的率失真准则,使得当前编码块的绝对变换残差和满足变换残差条件的变换残差准则,使得当前编码块的绝对残差满足绝对残差条件的残差准则。
可选的,所述模式决策单元801,具体用于:将第一类预测模式作为候选预测模式,从所述候选预测模式中确定所述当前编码块具有最优预测残差的预测模式,作为用于对待处理的当前编码块进行帧间预测的帧间预测模式,并保存所述当前编码块的子块的预测残差;所述第一类预测模式包括满足所述预设准则的帧间预测模式;根据与确定的帧间预测模式对应保存的所述子块的预测残差,确定所述当前编码块是否进行分块;从第二类预测模式中确定用于对分块结构确定之后的当前编码块进行预测的分块后预测模式,以及,根据所述分块后预测模式进行编码;所述第二类预测模式包括以下模式之一:帧间预测模式、帧内预测模式。
可选的,所述模式决策单元801,具体用于:根据所述帧间预测模式确定所述当前编码块的分块类型;所述分块类型的数量为复数个;针对每一分块类型,根据所述分块类型对应的子块的残差数据或残差数据的相对差异程度确定是否针对所述当前编码块进行分块编码,直到处理的当前编码块不需要分块或者当前编码块的深度达到所述分块类型对应的递归深度,从而得到与所述分块类型对应的预测模式以及分块模式;所述分块决策单元803,还用于:根据每一分块类型对应的预测模式以及分块模式,确定编码代价最小的预测模式以及分块模式,用于得到当前编码块所属独立编码单元的码流。
可选的,所述分块决策单元803,还用于:如果所述当前编码块的子块中特定子块与其他子块尺寸不同,则根据所述特定子块与其他子块之间的尺寸比例调整所述特定子块的残差数据,使得所述当前编码块的每一子块的残差数据和/或残差数据的相对差异程度基于同一衡量基准确定。
可选的,所述每一分块类型对应不同的阈值,所述阈值用于确定是否针对所述当前编码块进行分块编码。
可选的,所述阈值为固定阈值;或者,所述阈值,根据当前编码块的深度、量化系数或拉格朗日乘子中至少之一自适应调整。
以上述实施例为基础,本申请第三实施例提供一种基于帧间预测的编码方法。以下结合图9对所述方法进行说明,相同部分请参见上述实施例对应部分的描述,不再赘述。图9所示的基于帧间预测的编码方法,包括:
步骤S901,获取待编码的视频帧,并根据编码模式将所述待编码的视频帧分割为多个待处理的编码块;
步骤S902,针对每一待处理的编码块,重复执行下述步骤:确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;计算所述当前编码块的所有子块的绝对变换残差和的平均差;判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;若是,则根据所述帧间预测模式对所述当前编码块进行分块,在分块之后,继续将该编码块的每一子块作为当前编码块重复执行上述步骤,直到当前编码块的所有子块的绝对变换残差和的平均差不超过阈值。
具体的,将每个编码块作为对当前编码块递归执行上述实施例提供的所述的基于帧间预测的编码块划分方法,具体包括:确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块;其中,每一子块的残差数据为对应子块的绝对变换残差和;所述当前编码块的各子块的残差数据的相对差异程度,为所述当前编码块的所有子块的绝对变换残差和的平均差;所述根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块,包括:判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;若是,则根据所述帧间预测模式对所述当前编码块进行分块;否则,对所述当前编码块不再继续分块。在确定当前编码块是否分块之后,遍历分块后的子块,将每个子块作为当前编码块继续调用所述基于帧间预测的编码块划分方法,直到当前编码块的深度达到所述编码块的递归深度,或者,当前编码块不满足再继续分块的条件。
进一步,所述方法还包括:根据递归执行结果得到每个编码块对应的分块结构,以及对应的预测模式;针对每一编码块,确定所述编码块在对应的预测模式下的量化残差系数,并对所述量化残差系数进行熵编码得到码流数据,从而实现视频编码压缩。
至此,对本实施例提供的方法进行了说明,所述方法基于帧间预测进行分块编码,能够反映编码块时域运动复杂度,从而提供较准确的分块决策结果,并且在分块编码前对帧间预测子块的残差数据进行评估,能够在保持分块精度不变情况下,容忍更大阈值,覆盖更多子块,从而提高编码速度。进一步,采用各子块绝对变换残差和的相对差异程度确定是否对当前编码块继续划分,充分考虑了到编码块内部子块运动一致性或satd大小分布均匀性,提高了分块算法的内容自适应性,能进一步覆盖更多的编码块,从而能够在不明显损失压缩性能的前提下,更大程度上降低了帧间编码复杂度,提高整体编码速度。
与第一实施例对应,本申请第四实施例提供一种基于帧间预测的编码器,相关的部分请参见对应方法实施例的说明即可。请参考图10,图中所示的基于帧间预测的编码器,包括:
第一分块单元1001,用于获取待处理的视频帧,并将所述视频帧划分为多个编码块;
第二分块单元1002,用于针对每一待处理的编码块,重复执行下述步骤:确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;计算所述当前编码块的所有子块的绝对变换残差和的平均差;判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;若是,则根据所述帧间预测模式对所述当前编码块进行分块,在分块之后,继续将该编码块的每一子块作为当前编码块重复执行上述步骤,直到当前编码块的所有子块的绝对变换残差和的平均差不超过阈值。
具体的,第二分块单元1002针对每个编码块,将所述编码块作为对当前编码块递归执行:确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;计算所述当前编码块的所有子块的绝对变换残差和的平均差;判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值,若是则对当前编码块进行分块;在确定当前编码块是否分块之后,遍历分块后的子块,将每个子块作为当前编码块继续调用所述基于帧间预测的编码块划分方法,直到当前编码块的深度达到所述编码块的递归深度,或者,当前编码块不满足再继续分块的条件。
进一步,所述编码器,还包括:码流生成单元。所述码流生成单元,用于根据递归执行结果得到每个编码块对应的分块结构,以及对应的预测模式;针对每一编码块,确定所述编码块在对应的预测模式下的量化残差系数,并对所述量化残差系数进行熵编码得到码流数据,从而实现视频编码压缩。
以上述实施例为基础,本申请第七实施例提供一种电子设备,相关的部分请参见上述实施例的对应说明即可。请参考图11,图中所示的电子设备包括:存储器,以及处理器;所述存储器用于存储计算机程序,所述计算机程序被处理器运行后,执行本申请实施例提供的所述方法。
以上述实施例为基础,本申请第八实施例提供一种计算机存储介质,相关的部分请参见上述实施例的对应说明即可。所述计算机存储介质的示意图类似图11,图中的存储器可以理解为所述存储介质。所述计算机存储介质存储有根据执行计算机指令而获得的码流,所述计算机执行指令被处理器执行时用于实现本申请实施例提供的所述方法。
在一个典型的配置中,电子设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

Claims (13)

1.一种基于帧间预测的编码块划分方法,其特征在于,包括:
确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;
基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;
根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前编码块的子块的残差数据确定是否对当前编码块进行分块,包括:
确定所述当前编码块的各子块的残差数据的相对差异程度;以及,根据所述当前编码块的各子块的残差数据的相对差异程度确定是否继续对当前编码块进行分块。
3.根据权利要求2所述的方法,其特征在于,每一子块的残差数据为对应子块的绝对变换残差和;所述当前编码块的各子块的残差数据的相对差异程度,为所述当前编码块的所有子块的绝对变换残差和的平均差;
所述根据所述当前编码块的各子块的残差数据的相对差异程度确定是否继续对当前编码块进行分块,包括:
判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;
若是,则根据所述帧间预测模式对所述当前编码块进行分块;否则,对所述当前编码块不再继续分块。
4.根据权利要求1所述的方法,其特征在于,所述确定用于对待处理的当前编码块进行帧间预测的帧间预测模式,包括:
从候选预测模式中确定符合预设准则的预测模式作为所述用于对待处理的当前编码块进行帧间预测的帧间预测模式;
其中,所述预设准则,包括基于选定的目标参量的预测结果遵从以下任一种准则:使得当前编码块的率失真代价满足目标率失真代价条件的率失真准则,使得当前编码块的绝对变换残差和满足变换残差条件的变换残差准则,使得当前编码块的绝对残差满足绝对残差条件的残差准则。
5.根据权利要求4所述的方法,其特征在于,所述确定用于对待处理的当前编码块进行帧间预测的帧间预测模式,包括:
将第一类预测模式作为候选预测模式,从所述候选预测模式中确定所述当前编码块具有最优预测残差的预测模式,作为用于对待处理的当前编码块进行帧间预测的帧间预测模式,并保存所述当前编码块的子块的预测残差;所述第一类预测模式包括满足所述预设准则的帧间预测模式;
根据与确定的帧间预测模式对应保存的所述子块的预测残差,确定所述当前编码块是否进行分块;
从第二类预测模式中确定用于对分块结构确定之后的当前编码块进行预测的分块后预测模式,以及,根据所述分块后预测模式进行编码;所述第二类预测模式包括以下模式之一:帧间预测模式、帧内预测模式。
6.根据权利要求1所述的方法,其特征在于,还包括:
根据所述帧间预测模式确定所述当前编码块的分块类型;所述分块类型的数量为复数个;
针对每一分块类型,根据所述分块类型对应的子块的残差数据或残差数据的相对差异程度确定是否针对所述当前编码块进行分块编码,直到处理的当前编码块不需要分块或者当前编码块的深度达到所述分块类型对应的递归深度,从而得到与所述分块类型对应的预测模式以及分块模式;
根据每一分块类型对应的预测模式以及分块模式,确定编码代价最小的预测模式以及分块模式,用于得到当前编码块所属独立编码单元的码流。
7.根据权利要求6所述的方法,其特征在于,还包括:
如果所述当前编码块的子块中特定子块与其他子块尺寸不同,则根据所述特定子块与其他子块之间的尺寸比例调整所述特定子块的残差数据,使得所述当前编码块的每一子块的残差数据和/或残差数据的相对差异程度基于同一衡量基准确定。
8.根据权利要求6所述的方法,其特征在于,所述每一分块类型对应不同的阈值,所述阈值用于确定是否针对所述当前编码块进行分块编码。
9.根据权利要求3或8所述的方法,其特征在于,
所述阈值为固定阈值;或者,
所述阈值,根据当前编码块的深度、量化系数或拉格朗日乘子中至少之一自适应调整。
10.一种基于帧间预测的编码方法,其特征在于,包括:
获取待编码的视频帧,并根据编码模式将所述待编码的视频帧分割为多个待处理的编码块;
针对每一待处理的编码块,重复执行下述步骤:
确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;
基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;
计算所述当前编码块的所有子块的绝对变换残差和的平均差;
判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;
若是,则根据所述帧间预测模式对所述当前编码块进行分块,在分块之后,继续将该编码块的每一子块作为当前编码块重复执行上述步骤,直到当前编码块的所有子块的绝对变换残差和的平均差不超过阈值。
11.一种基于帧间预测的编码器,其特征在于,包括:
第一分块单元,用于获取待编码的视频帧,并根据编码模式将所述待编码的视频帧分割为多个待处理的编码块;
第二分块单元,用于针对每一待处理的编码块,重复执行下述步骤:确定用于对待处理的当前编码块进行帧间预测的帧间预测模式;基于所述帧间预测模式遍历所述当前编码块的子块,确定每一子块的残差数据;计算所述当前编码块的所有子块的绝对变换残差和的平均差;判断所述当前编码块的所有子块的绝对变换残差和的平均差是否超过阈值;若是,则根据所述帧间预测模式对所述当前编码块进行分块,在分块之后,继续将该编码块的每一子块作为当前编码块重复执行上述步骤,直到当前编码块的所有子块的绝对变换残差和的平均差不超过阈值。
12.一种电子设备,其特征在于,包括:
存储器,以及处理器;所述存储器用于存储计算机程序,所述计算机程序被所述处理器运行后,执行权利要求1-10任意一项所述的方法。
13.一种计算机存储介质,其特征在于,存储有根据执行计算机指令而获得的码流,所述计算机执行指令被处理器执行时用于实现权利要求1-10任意一项所述的方法。
CN202311584993.7A 2023-11-24 2023-11-24 一种基于帧间预测的编码块划分方法及编码器 Active CN117294861B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311584993.7A CN117294861B (zh) 2023-11-24 2023-11-24 一种基于帧间预测的编码块划分方法及编码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311584993.7A CN117294861B (zh) 2023-11-24 2023-11-24 一种基于帧间预测的编码块划分方法及编码器

Publications (2)

Publication Number Publication Date
CN117294861A true CN117294861A (zh) 2023-12-26
CN117294861B CN117294861B (zh) 2024-03-22

Family

ID=89244770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311584993.7A Active CN117294861B (zh) 2023-11-24 2023-11-24 一种基于帧间预测的编码块划分方法及编码器

Country Status (1)

Country Link
CN (1) CN117294861B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546749A (zh) * 2013-10-14 2014-01-29 上海大学 利用残差系数分布特征和贝叶斯定理优化hevc残差编码的方法
CN104104947A (zh) * 2013-04-02 2014-10-15 腾讯科技(深圳)有限公司 一种视频编码方法和装置
CN106899850A (zh) * 2017-03-02 2017-06-27 北方工业大学 基于satd的hevc帧内预测的新型快速算法
CN109302616A (zh) * 2018-10-09 2019-02-01 北京佳讯飞鸿电气股份有限公司 一种基于rc预测的hevc帧间预测快速算法
CN109688414A (zh) * 2018-12-19 2019-04-26 同济大学 一种vvc帧内编码单元候选预测模式缩减及块划分提前终止方法
CN110351557A (zh) * 2018-04-03 2019-10-18 朱政 视频编码中一种快速帧间预测编码方法
CN114339218A (zh) * 2022-01-04 2022-04-12 维沃移动通信有限公司 图像编码方法、图像编码装置、电子设备和可读存储介质
US20220256169A1 (en) * 2021-02-02 2022-08-11 Qualcomm Incorporated Machine learning based rate-distortion optimizer for video compression
CN115379217A (zh) * 2022-07-14 2022-11-22 百果园技术(新加坡)有限公司 一种视频编码处理方法、装置、设备及存储介质
CN116233425A (zh) * 2021-12-06 2023-06-06 北京君正集成电路股份有限公司 一种编码单元强制划分的判决方法
CN116866591A (zh) * 2023-07-12 2023-10-10 腾讯科技(深圳)有限公司 一种图像编码方法、装置及计算机设备、介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104104947A (zh) * 2013-04-02 2014-10-15 腾讯科技(深圳)有限公司 一种视频编码方法和装置
CN103546749A (zh) * 2013-10-14 2014-01-29 上海大学 利用残差系数分布特征和贝叶斯定理优化hevc残差编码的方法
CN106899850A (zh) * 2017-03-02 2017-06-27 北方工业大学 基于satd的hevc帧内预测的新型快速算法
CN110351557A (zh) * 2018-04-03 2019-10-18 朱政 视频编码中一种快速帧间预测编码方法
CN109302616A (zh) * 2018-10-09 2019-02-01 北京佳讯飞鸿电气股份有限公司 一种基于rc预测的hevc帧间预测快速算法
CN109688414A (zh) * 2018-12-19 2019-04-26 同济大学 一种vvc帧内编码单元候选预测模式缩减及块划分提前终止方法
US20220256169A1 (en) * 2021-02-02 2022-08-11 Qualcomm Incorporated Machine learning based rate-distortion optimizer for video compression
CN116233425A (zh) * 2021-12-06 2023-06-06 北京君正集成电路股份有限公司 一种编码单元强制划分的判决方法
CN114339218A (zh) * 2022-01-04 2022-04-12 维沃移动通信有限公司 图像编码方法、图像编码装置、电子设备和可读存储介质
CN115379217A (zh) * 2022-07-14 2022-11-22 百果园技术(新加坡)有限公司 一种视频编码处理方法、装置、设备及存储介质
CN116866591A (zh) * 2023-07-12 2023-10-10 腾讯科技(深圳)有限公司 一种图像编码方法、装置及计算机设备、介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YU TING SUN: "SATD-bsed intramode decision for H.264/AVC video coding", 2008 IEEE INTERNATIONAL CONFERENCE ON MULTIMEDIA AND EXPO, 26 August 2008 (2008-08-26) *
李媛媛;吕晓敏;李琳;赵川;: "3D-HEVC深度模型模式楔形优化算法", 电脑编程技巧与维护, no. 07, 18 July 2018 (2018-07-18) *

Also Published As

Publication number Publication date
CN117294861B (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
Yang et al. Low-complexity CTU partition structure decision and fast intra mode decision for versatile video coding
CN105430407B (zh) 应用于h.264到hevc转码的快速帧间模式决策方法
CN109688414B (zh) 一种vvc帧内编码单元候选预测模式缩减及块划分提前终止方法
KR101356734B1 (ko) 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
CN117201815A (zh) 图像解码方法、图像编码方法以及发送比特流的方法
CN107087200B (zh) 针对高效率视频编码标准的跳过编码模式提前判决方法
KR20050119422A (ko) 움직임 보상에 기반한 입력 영상의 노이즈 예측 및 그장치와, 이를 사용한 노이즈 제거 및 동영상 부호화 방법,이를 수행하기 위한 프로그램이 기록된 기록 매체
CN108989799B (zh) 一种编码单元参考帧的选择方法、装置及电子设备
Lee et al. Fast CU size decision algorithm using machine learning for HEVC intra coding
CN106534849A (zh) 一种快速的hevc帧间编码方法
CN114339218A (zh) 图像编码方法、图像编码装置、电子设备和可读存储介质
Park CU encoding depth prediction, early CU splitting termination and fast mode decision for fast HEVC intra-coding
WO2015015436A2 (en) System and method for performing optimal temporal predictive mode decision in h.264 video coding
KR101902700B1 (ko) Hevc 부호화 장치 및 그것을 이용한 화면 내 예측 부호화 처리 방법
KR100910209B1 (ko) 세분화된 탐색 영역을 기반으로 하는 고속 전영역 움직임예측 방법 및 그 장치
Yang et al. Fast intra encoding decisions for high efficiency video coding standard
CN113079376B (zh) 对静止区域的视频编码方法和装置
CN117294861B (zh) 一种基于帧间预测的编码块划分方法及编码器
JPH08298665A (ja) 動きベクトル検出回路、検出方法、及び動画像圧縮回路
US20130301725A1 (en) Efficient mode decision method for multiview video coding
Bachu et al. Adaptive order search and tangent-weighted trade-off for motion estimation in H. 264
CN114827606A (zh) 一种编码单元划分的快速决策方法
CN111246220B (zh) 一种基于vvc帧内编码的深度预测方法、设备及存储介质
Shi et al. Simulated annealing for fast motion estimation algorithm in H. 264/AVC

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
GR01 Patent grant
GR01 Patent grant