CN110198442B - 一种用于视频编码的帧内预测方法、装置和存储介质 - Google Patents

一种用于视频编码的帧内预测方法、装置和存储介质 Download PDF

Info

Publication number
CN110198442B
CN110198442B CN201811609144.1A CN201811609144A CN110198442B CN 110198442 B CN110198442 B CN 110198442B CN 201811609144 A CN201811609144 A CN 201811609144A CN 110198442 B CN110198442 B CN 110198442B
Authority
CN
China
Prior art keywords
frame
mode
prediction
minimum
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811609144.1A
Other languages
English (en)
Other versions
CN110198442A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811609144.1A priority Critical patent/CN110198442B/zh
Publication of CN110198442A publication Critical patent/CN110198442A/zh
Application granted granted Critical
Publication of CN110198442B publication Critical patent/CN110198442B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]

Abstract

本发明公开了一种用于视频编码的帧内预测方法、装置和存储介质,用以在帧内预测的过程中,减少模式初选过程所需时间,提高视频编码效率。所述方法,包括:在根据间隔步长从预测单元的角度模式中选择出多个角度模式;至少根据所选择的角度模式获得一个或多个候选模式,从所述候选模式中确定至少一个目标模式;当确定出的至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数时,结束模式初选过程,其中,所述参考模式为根据已编码的帧内预测信息确定出的,最小迭代次数为根据帧类型和预测单元的大小以及配置器配置确定出的。

Description

一种用于视频编码的帧内预测方法、装置和存储介质
技术领域
本发明涉及视频编码技术领域,尤其涉及一种用于视频编码的帧内预测方法、装置和存储介质。
背景技术
HEVC中,帧内模式选择有35种,包括一个DC(均值)模式,一个Planar(平面)模式以及33种角度(Angular)模式,在选择每一个PU(Predict Unit,预测单元)的最佳模式时,非常耗时。首先,需要经过一个模式初选过程,然后根据PU的大小选择相应的最佳模式的候选列表,其中候选列表中PU的大小与最佳模式个数的对应关系如下:{64,32,16,8,4}分别对应的最佳模式个数为{3,3,3,8,8},然后再根据这个候选列表,加上最有可能的三种模式,构成最终的模式候选列表,然后进行模式细选过程,选出最佳的角度模式。这是一个相当耗时的过程,在帧内预测的过程中,模式选择过程几乎占据了一帧编码时间的20%,降低了视频编码的效率。
发明内容
本发明实施例提供一种用于视频编码的帧内预测方法、装置和存储介质,用以在帧内预测的过程中,减少模式初选过程所需时间,提高视频编码效率。
第一方面,提供一种用于视频编码的帧内预测方法,包括:
根据间隔步长从预测单元的角度模式中选择出多个角度模式,所述间隔步长为根据帧类型和预测单元的大小以及编码器配置确定出的;
至少根据所选择的角度模式获得一个或多个候选模式,从所述候选模式中确定至少一个目标模式;
当确定出的至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数时,结束模式初选过程,其中,所述参考模式为根据已编码的帧内预测信息确定出的,最小迭代次数为根据帧类型和预测单元的大小以及配置器配置确定出的。
第二方面,提供一种用于视频编码的帧内预测装置,包括:
选择单元,用于根据间隔步长从预测单元的角度模式中选择出多个角度模式,所述间隔步长为根据帧类型和预测单元的大小以及编码器配置确定出的;
第一确定单元,用于至少根据所选择的角度模式获得一个或多个候选模式,从所述候选模式中确定至少一个目标模式;
第二确定单元,用于当确定出的至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数时,结束模式初选过程,其中,所述参考模式为根据已编码的帧内预测信息确定出的,最小迭代次数为根据帧类型和预测单元的大小以及配置器配置确定出的。
可选地,本发明实施例提供的视频编码中帧内预测装置,还包括:
第三确定单元,用于当选择出的目标模式均不属于参考模式或者迭代次数小于最小迭代次数时,则根据最小失真衡量参数对应的候选模式确定补充模式加入到所述候选模式中。
可选地,本发明实施例提供的视频编码中帧内预测装置,还包括:
更新单元,用于根据补充模式对应的失真衡量参数,更新各候选模式对应的失真衡量参数;
第一判断单元,用于根据更新后的各候选模式的失真衡量参数,判断更新后的候选模式中是否存在参考模式且迭代次数不小于最小迭代次数;
处理单元,用于所述第一判断单元的判断结果为是时,结束模式初选过程;以及根据所述第一判断单元的判断结果确定更新后的候选模式中不存在参考模式或者迭代次数小于最小迭代次数,则触发所述第三确定单元执行根据失真衡量参数最小的候选模式确定补充模式加入到所述候选模式中的步骤,直至迭代次数达到最大迭代次数时结束初选过程,其中,最大迭代次数为根据所述间隔步长确定出的。
可选地,所述第三确定单元,具体用于确定补充模式的编号为N±F,其中,N为失真衡量参数最小的候选模式的编号,F初始值为最大迭代次数;以及在模式初选过程中,每迭代一次,F值减1;以及根据补充模式的编号,当确定出的补充模式属于角度模式且不属于所述候选模式,则将确定出的补充模式加入所述候选模式中;当确定出的补充模式不属于角度模式或者属于所述候选模式,则判断迭代次数是否小于最小迭代次数,如果是,则返回执行根据失真衡量参数最小的候选模式确定补充模式加入到所述候选模式中的步骤,直至迭代次数达到最大迭代次数时结束初选过程,如果否,则结束模式初选过程。
可选地,本发明实施例提供的视频编码中帧内预测装置,还包括:
第四确定单元,用于从已编码的帧内预测信息中,获取以下至少一个邻块的预测模式:父块的预测模式、子块的预测模式、左边块的预测模式、上边块的预测模式以及左上角块的预测模式;以及将父块的预测模式,或子块的预测模式,和/或左边块的预测模式,和/或上边块的预测模式,和/或左上角块的预测模式,与最大概率模式组成所述参考模式。
可选地,所述第四确定单元,具体用于判断已编码的帧内预测信息中是否存在当前编码块的父块、子块、左边块、上边块或左上角块的帧内预测信息,如果存在且为帧内编码模式,则根据已编码的帧内预测信息,记录对应所述父块、子块、左边块、上边块或左上角块的预测模式,并分别作为对应块的参考模式。
可选地,本发明实施例提供的视频编码中帧内预测装置,还包括:
间隔步长确定单元,用于根据不同帧类型对应的不同权重,确定第一间隔步长,其中,权重越大则确定的第一间隔步长越小;根据不同大小预测单元对应的被选择概率,确定第二间隔步长,其中被选择概率越大则第二间隔步长越小;根据不同编码器配置对应的不同压缩比,确定第三间隔步长,其中压缩比越大则对应的间隔步长越小;根据所述第一间隔步长、第二间隔步长、第三间隔步长至少其中之一者,确定所述间隔步长。
可选地,所述帧类型包括帧内编码I帧、前向预测编码P帧、双向预测内插编码B帧、不带参考双向预测内插编码B帧和带参考双向预测内插编码B帧,I帧的间隔步长小于P帧的间隔步长,P帧的间隔步长小于B帧的间隔步长,B帧的间隔步长小于带参考B帧的间隔步长,带参考B帧的间隔步长小于不带参考B帧的间隔步长。
可选地,大小为8x8,16x16和32x32的预测单元的间隔步长小于大小为4x4或者64x64的预测单元。
可选地,编码器配置为最大压缩比,对应的间隔步长为:uint8_t
Figure BDA0001924284810000041
其中:
uint8_t SkipStride[m][n]为二维数组,m表示当前编码帧类型,n表示预测单元大小;I帧和P帧对应的m值为0,B帧对应的m值为1,带参考B帧对应m值为2,不带参考B帧对应的m值为3;n值从0至4分别表示预测单元大小为4x4,8x8,16x16,32x32,64x64。
可选地,本发明实施例提供的视频编码中帧内预测装置,还包括:
最小迭代次数确定单元,用于根据不同帧类型对应的不同权重,确定第一最小迭代次数,其中,权重越大则确定的第一最小迭代次数越大;根据不同大小预测单元对应的被选择概率,确定第二最小迭代次数,其中被选择概率越大则第二最小迭代次数越大;根据不同编码器配置对应的不同压缩比,确定第三最小迭代次数,其中压缩比越大则对应的最小迭代次数越大;根据所述第一最小迭代次数、第二最小迭代次数、第三最小迭代次数至少其中之一者,确定所述最小迭代次数。
可选地,I帧的最小迭代次数不小于P帧的最小迭代次数,P帧的最小迭代次数不小于B帧的最小迭代次数,B帧的最小迭代次数不小于带参考B帧的最小迭代次数,带参考B帧的最小迭代次数不小于不带参考B帧的最小迭代次数。
可选地,大小为8x8,16x16和32x32的预测单元的最小迭代次数不小于大小为4x4或者64x64的预测单元。
可选地,编码器配置为最大压缩比,对应的最小迭代次数为:uint8_t
Figure BDA0001924284810000051
其中:
uint8_t Skip internum[i][j]为二维数组,i表示当前编码帧类型,j表示预测单元大小;I帧和P帧对应的m值为0,B帧对应的m值为1,带参考B帧对应m值为2,不带参考B帧对应的m值为3;j值从0至4分别表示预测单元大小为4x4,8x8,16x16,32x32,64x64。
第三方面,提供一种计算装置,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行所述用于视频编码的帧内预测方法的任一步骤。
第四方面,提供一种计算机可读介质,其存储有可由计算装置执行的计算机程序,当所述程序在计算装置上运行时,使得所述计算装置执行所述用于视频编码的帧内预测方法的任一步骤。
本发明实施例提供的用于视频编码的帧内预测方法、装置和存储介质,针对不同的帧类型和预测单元设定不同的间隔步长,并据此从预测单元的35种帧内模式中选择出候选模式,其中包含若干个目标模式,最后根据已编码的帧内预测信息构造的参考模式判断是否结束初选过程,上述过程中,通过参考已编码的帧内预测信息,无需在初选过程中针对每一帧内模式逐一计算,从而加快了模式初选的速度,提高了视频编码的效率。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例中,HEVC编码框架示意图;
图2为本发明实施例中,基于分层四叉树编码结构示意图;
图3为本发明实施例中,预测单元与邻块之间的位置关系示意图;
图4a为本发明实施例中,用于视频编码的帧内预测方法实施流程示意图;
图4b为本发明实施例中,确定间隔步长的实施流程示意图;
图4c为本发明实施例中,确定最小迭代次数的实施流程示意图;
图5为本发明实施例中,不同帧类型对应的参考关系示意图;
图6为本发明实施例中,补充模式选择流程示意图;
图7为本发明实施例中,第一轮选择和补充模式选择的实施流程示意图;
图8为本发明实施例中,用于视频编码的帧内预测装置的结构示意图;
图9为根据本发明实施方式的计算装置的结构示意图。
具体实施方式
首先,对本发明实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
DB,deblocking filter,去块滤波。
SAO,Sample Adaptive Offset,自适应像素补偿的简称。
ME,Motion Estimation,运动估计。
CU,Code Unit,编码单元。
SubCU,即将当前CU再分成4个子CU,CU表示编码单元。
PU,Predict Unit,表示预测单元。
SATD,Sum of Absolute Transformed Difference,hadamard(哈达玛)变换后再绝对值求和,是计算失真的一种方式,是将残差信号进行hadamard变换后,再求各元素绝对值之和,相对SAD(Sum of Absolute Difference,绝对误差和),计算量要复杂一些,但精度也高些。
SSD,Sum of Squared Difference(差值的平方和)表示原始像素与重构像素误差的平方和,需要对残差信号做DCT(Discrete Cosine Transform,离散余弦变换)变化、量化、逆量化、逆变换的过程,估算出的码子和真实编码出来的一样,选出的模式最节省码子,但计算复杂度也最大。
RDcost,Rate Distortion cost,率失真代价,用于多种选项中的择优。
RDcost=distortion+λ*bit,λ为拉格朗日常数,bit为当前模式下编码所要消耗的码子个数,而distortion表示失真函数,在帧内预测初选时,率失真代价中的distortion采用SATD,精选时采用SSD。
MPM:most probable prediction modes,最大概率预测方向。
本发明实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
如图1所示,其为HEVC编码框架示意图。待编码图像输入编码器,先经过帧内或帧间预测之后,得到预测值,预测值与输入数据相减得到残差,然后进行DCT(离散余弦变换)变化和量化得到残差系数,然后送入熵编码模块输出码流,同时,残差系数经反量化反变换之后,得到重构图像的残差值,再和帧内或者帧间的预测值相加,从而得到了重构图像,重构图像再经环内滤波之后,进入参考帧队列,作为下一帧的参考图像,从而一帧帧向后编码。
视频编码以块为单位,有帧内编码块和帧间编码块两种方式,在整个视频编码中,帧内编码块的重要性最大。如果当前帧类型为I帧(帧内编码帧),则所有编码块均为帧内编码,如果当前帧类型为B帧(双向预测内插编码帧)或P帧(前向预测编码帧),则有部分编码块会做帧内编码。
帧内编码块的存在,主要是为了避免BP帧的误差累计,同时也为了满足场景切换的需求。因为在帧间编码时,帧间预测的参考像素都基于帧内编码的重构数据,因此,帧内编码块的图像质量至关重要,如果图像质量差,后面被参考的块质量会更差,误差会越来越大,所带来的现象就是,同等质量下编出的码流会大很多,或者同等码流下图像质量会差很多。
与以往的编码标准相比,HEVC采用了更加灵活的基于分层四叉树编码结构,如图2所示。首先,一幅待编码图像被分割为大小为64×64像素的CTU(Code Tree Unit,树编码单元)。根据率失真代价,每个CTU可以递归地分割为4个大小相同的子编码单元,直至大小为8×8像素的最小编码单元。图2为CTU分割的过程,其中编码单元中的数字为编码的顺序号。
帧内块预测是从35个帧内模式中,选出一个失真最小的模式,其可以用率失真代价(RDcost)来衡量。RDcost=distortion+λ*bit,其中,λ为拉格朗日常数,bit为当前模式下编码所要消耗的码子个数,而distortion表示失真函数,其可以有多种形式,比如SSD、SATD、SAD等。SSD对应的复杂度最大,但也最准确,SATD次之。
为了提高模式选择的速度,考虑到图像纹理一致性,本发明实施例中,通过参考已编码的帧内预测信息来辅助当前预测单元的模式选择。基于此,可以根据已编码的帧内预测信息来构造当前预测单元的参考模式。
具体实施时,从已编码的帧内预测信息中,获取记录的以下至少一个邻块的预测模式与最大概率模式组成参考模式:父块的预测模式、子块的预测模式、左边块的预测模式、上边块的预测模式以及左上角块的预测模式;以及将父块的预测模式,或子块的预测模式,和/或左边块的预测模式,和/或上边块的预测模式,和/或左上角块的预测模式,与最大概率模式组成所述参考模式。如图3所示,其为预测单元与邻块之间的位置关系示意图。其中,A块为预测单元的左上角块,B块为预测单元的上边块,C块为预测单元的左边块。
具体地,从记录的已编码的帧内预测信息,分别查找当前预测单元的父块、子块、左边块、上边块和左下角块的帧内预测信息是否存在,如果存在且为帧内模式,则记录父块、子块、左边块、上边块和左下角块的预测模式与MPM(最大概率模式)组成参考模式。即判断当前预测单元的邻块是否已经完成编码,如果完成的话,记录的帧内预测信息中就会有邻块的预测模式,根据图像纹理一致性,当前预测单元的最优预测模式很可能与其邻块一致,所以可以查找记录的帧内预测信息中是否有邻块的预测模式,如果存在的话,就会选中邻块的预测模式作为当前预测单元的参考模式,例如,左边块已经编码,其预测模式编号为6,那么当前预测单元的最优模式很可能就会在模式6对应的这个方向上,所以就将6作为参考模式,这样可以加快模式初选速度,但是,邻块也可能会晚于当前预测单元编码,这种情况下,帧内预测信息中不存在其预测模式。
需要说明的是,在构造参考模式时,根据编码方向的不同,父块的模式和子块的模式不会同时存在,如果按照从上到下(即预测单元大小为由大到小)的方向进行编码,则已编码的帧内预测信息中包含父块的模式,如果按照从下到上(即预测单元大小为由小到大)的方向进行编码,则已编码的帧内预测信息中包含子块的模式。其它邻块也类似,如果晚于当前预测单元编码,则帧内预测信息中不存在其预测信息,如果在当前预测单元之前编码,则帧内预测信息中存在其预测信息。
基于构造的参考模式,本发明实施例提供了一种用于视频编码的帧内预测方法,如图4a所示,可以包括以下步骤:
S41、根据间隔步长从预测单元的角度模式中选择出多个角度模式。
在HEVC标准协议中,如表1所示,帧内模式有35个,包括Planar模式、DC模式和33种角度模式。
表1
帧内模式编号 帧内模式名称
0 Planar模式
1 DC模式
2~34 33种角度模式
本步骤中,根据预设的间隔步长对35种帧内模式进行第一轮选择。不同帧类型和预测单元的大小以及不同的编码器配置对应的间隔步长不同。
本发明实施例中,在不同编码器配置下,不同帧类型以及不同预测单元大小对应的间隔步长也不同。不同配置的编码器对应的压缩比不同,按照压缩比由大到小分别为:ultrafast,superfast,veryfast,faster,fast,medium,slow,slower,veryslow,placebo,压缩比越大,对应的间隔步长越小。而根据预测单元大小,不同大小的预测单元被选择的概率也不同,被选择的概率越高,间隔步长也越小,被选择的概率越低,间隔步长越大。不同类型的编码帧对应的权重不同,帧类型包括帧内编码I帧、前向预测编码P帧、双向预测内插编码B帧、不带参考双向预测内插编码B帧和带参考双向预测内插编码B帧,如图5所示,其为不同帧类型对应的参考关系示意图,帧类型按照参考关系,重要性由大到小排序是I帧>P帧>B帧>b帧,因此,I帧要求的准确性最高。需要说明的是,b帧与B帧对应的帧类型相同,但是两者的重要程度不同,本例中,为了便于区分,统一称带参考的B帧和不带参考的B帧为b帧。
综上,本发明实施例中,根据帧类型对应的权重,权重越大则确定间隔步长越小;根据预测单元大小对应的被选择概率,被选择概率越大则间隔步长越小;如果压缩比越大,则对应的间隔步长越小。
因此,本发明实施例中,I帧的间隔步长小于P帧的间隔步长,P帧的间隔步长小于B帧的间隔步长,B帧的间隔步长小于带参考B帧的间隔步长,带参考B帧的间隔步长小于不带参考B帧的间隔步长。对于不同大小的预测单元来说,大小为8x8,16x16和32x32的预测单元的间隔步长小于大小为4x4或者64x64的预测单元。
具体实施时,可以按照图4b所示的流程确定间隔步长,包括以下步骤:
S401、根据不同帧类型对应的不同权重,确定第一间隔步长。
其中,权重越大则确定的第一间隔步长越小,本发明实施例中,I帧、P帧、B帧、带参考B帧、不带参考B帧对应的权重依次减小。因此,I帧对应的第一间隔步长不大于P帧对应的第一间隔步长,P帧对应的第一间隔步长不大于B帧对应的第一间隔步长,带参考B帧对应的第一间隔步长不大于不带参考B帧对应的第一间隔步长。
S402、根据不同大小预测单元对应的被选择概率,确定第二间隔步长。
其中,被选择概率越大则第二间隔步长越小。例如,大小为8x8,16x16和32x32的预测单元被选择的概率大于大小为4x4或者64x64的预测单元,因此,大小为8x8,16x16和32x32的预测单元的间隔步长小于大小为4x4或者64x64的预测单元。
S403、根据不同编码器配置对应的不同压缩比,确定第三间隔步长。
其中,压缩比越大则对应的间隔步长越小。
S404、根据第一间隔步长、第二间隔步长、第三间隔步长至少其中之一者,确定间隔步长。
本步骤中,可以为第一间隔步长、第二间隔步长和第三间隔步长分别设置不同的权重,根据加权结果确定出间隔步长。其中,第一间隔步长、第二间隔步长和第三间隔步长的取值范围为[0,1],其具体取值可以根据实际需要进行限定,本发明实施例中对此不进行限定。
以编码器配置为placebo和veryslow为例,根据帧类型和预测单元的大小,其对应的间隔步长可以设置为:
Figure BDA0001924284810000121
其中,uint8_t SkipStride[m][n]是2维数组,第一个索引m表示当前帧类型,其取值范围为0~3,I帧和P帧可以设置为0,B帧可以设置为1,带参考b帧可以设置为2,不带参考b帧可以设置为3;第二个索引n表示当前PU块大小,其取值范围为0~4,索引0至4分别表示块大小为4x4,8x8,16x16,32x32,64x64。例如,B帧PU大小为8(即m=1,n=1,对应上述矩阵的第二行第二列)对应的间隔步长为1,带参考b帧PU大小为8(即m=2,n=1,对应上述矩阵的第三行第二列)对应的间隔步长是2,带参考b帧PU大小64(即m=2,n=4,对应上述矩阵的第三行第五列)对应的间隔步长为2。
以编码器配置为Slow为例,根据帧类型和预测单元的大小,其对应的间隔步长可以设置为:
Figure BDA0001924284810000122
当编码器配置为Slow时,B帧PU大小为8(即m=1,n=1,对应上述矩阵的第二行第二列)对应的间隔步长是2,带参考b帧PU大小为8(即m=2,n=1,对应上述矩阵的第三行第二列)对应的间隔步长是4,带参考b帧PU大小为64(即m=2,n=4,对应上述矩阵的第三行第五列)对应的间隔步长为6。
以间隔步长=6为例,步骤S41中可以从当前预测单元的33个角度模式中选择出如下的角度模式:{2,8,14,20,26,32}与均值模式{0}和平面模式{1}一起组成候选模式:{0,1,2,8,14,20,26,32}。
S42、至少根据所选择的角度模式获得一个或多个候选模式,从候选模式中确定至少一个目标模式。
具体实施时,可以根据获得的候选模式对应的失真衡量参数确定出至少一个目标模式。
其中,失真衡量参数可以采用率失真代价来描述。步骤S42中,针对步骤S41选择出的每一候选模式,分别确定其对应的率失真代价(RDcost)。
其中,率失真代价可以按照以下公式确定:RDcost=distortion+λ*bit,其中,λ为拉格朗日常数,bit为候选模式下编码所要消耗的码子个数,distortion表示失真函数,其可以采用SATD或者SSD等。
按照各个候选模式对应的率失真代价由小到大的顺序排序,并从中选择出排序第一位和第二位的候选模式作为目标模式。
S43、如果选择出的至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数,则结束模式初选过程。
与间隔步长的确定方法类似,本发明实施例中,同样可以根据帧类型、预测单元大小以及配置器配置确定最小迭代次数。
本发明实施例中,在不同编码器配置下,不同帧类型以及不同预测单元大小对应的最小迭代次数也不同。其中,根据帧类型对应的权重,权重越大则对应的最小迭代次数越大;根据预测单元大小对应的被选择概率,被选择概率越大则对应的最小迭代次数越大;如果压缩比越大,则对应的最小迭代次数越大。
因此,本发明实施例中,I帧的最小迭代次数不小于P帧的最小迭代次数,P帧的最小迭代次数不小于B帧的最小迭代次数,B帧的最小迭代次数不小于带参考B帧的最小迭代次数,带参考B帧的最小迭代次数不小于不带参考B帧的最小迭代次数。对于不同大小的预测单元来说,大小为8x8,16x16和32x32的预测单元的最小迭代次数不小于大小为4x4或者64x64的预测单元。
具体实施时,可以按照图4c所示的流程确定最小迭代次数,包括以下步骤:
S411、根据不同帧类型对应的不同权重,确定第一最小迭代次数。
其中,权重越大则确定的第一最小迭代次数越大,本发明实施例中,I帧、P帧、B帧、不带参考B帧、带参考B帧对应的权重依次减小。因此,I帧对应的第一最小迭代次数不小于P帧对应的第一最小迭代次数,P帧对应的第一最小迭代次数不小于B帧对应的第一最小迭代次数,带参考B帧对应的第一最小迭代次数不小于不带参考B帧对应的第一最小迭代次数。
S412、根据不同大小预测单元对应的被选择概率,确定第二最小迭代次数。
其中,被选择概率越大则第二最小迭代次数越大。例如,大小为8x8,16x16和32x32的预测单元被选择的概率不小于大小为4x4或者64x64的预测单元,因此,大小为8x8,16x16和32x32的预测单元的最小迭代次数不小于大小为4x4或者64x64的预测单元。
S413、根据不同编码器配置对应的不同压缩比,确定第三最小迭代次数。
其中,压缩比越大则对应的最小迭代次数越大。
S414、根据第一最小迭代次数、第二最小迭代次数、第三最小迭代次数至少其中之一者,确定最小迭代次数。
本步骤中,可以为第一最小迭代次数、第二最小迭代次数和第三最小迭代次数分别设置不同的权重,根据加权结果确定出最小迭代次数。其中,第一最小迭代次数、第二最小迭代次数和第三最小迭代次数的取值范围为[0,1],其具体取值可以根据实际需要进行限定,本发明实施例中对此不进行限定。
仍然以编码器配置为placebo和veryslow为例,根据帧类型和预测单元的大小,其对应的最小迭代次数可以设置为:
Figure BDA0001924284810000141
其中,mode internum[i][j]是2维数组,第一个索引i表示帧类型,其取值范围为0~3,I帧和P帧可以设置为0,B帧可以设置为1,带参考b帧可以设置为2,不带参考b帧可以设置为3;第二个索引j表示当前PU块大小,其取值范围为0~4,索引0至4分别表示块大小为4x4,8x8,16x16,32x32,64x64。例如,B帧PU大小为8(即i=1,j=1,对应上述矩阵的第二行第二列)对应的最小迭代次数为1,带参考b帧PU大小为8(即i=2,j=1,对应上述矩阵的第三行第二列)对应的最小迭代次数是1,带参考b帧PU大小64(即i=2,j=4,对应上述矩阵的第三行第五列)对应的最小迭代次数为1。
以编码器配置为Slow为例,根据帧类型和预测单元的大小,其对应的最小迭代次数可以设置为:
Figure BDA0001924284810000151
当编码器配置为Slow时,B帧PU大小为8(即m=1,n=1,对应上述矩阵的第二行第二列)对应的最小迭代次数是1,带参考b帧PU大小为8(即i=2,j=1,对应上述矩阵的第三行第二列)对应的最小迭代次数是1,带参考b帧PU大小为64(即i=2,j=4,对应上述矩阵的第三行第五列)对应的最小迭代次数为0。
本步骤中,如果判断出存在至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数,则可以提前退出,结束模式初选过程。
具体实施时,如果第一轮选择中选择出的目标模式均不属于参考模式或者迭代次数小于设置的最小迭代次数,本发明实施例中,还可以在未达到迭代截止条件时进行补充模式的计算,直至满足设定的迭代截止条件或者选择出属于参考模式的目标模式,以下结合补充模式选择的过程对具体实施过程进行说明。
在选择补充模式之前,为了提高初选模式选择的速度且保证模式初选结果的准确性,可以预先设置迭代截止条件,即提前结束模式初选过程的条件,迭代截止条件可以包括最大迭代次数和最小迭代次数,最大迭代次数是指迭代几轮截止迭代,通过设置最大迭代次数可以加快模式初选过程的速度,最小迭代次数是指至少要迭代几轮,而通过设置最小迭代条件可以保证模式初选结果的准确性。本发明实施例中,可以根据间隔步长确定最大迭代次数,由于间隔步长与帧类型、预测单元大小以及编码器配置相关,因此,最大迭代次数同样受上述各个参数的影响。具体地,可以按照以下方法确定最大迭代次数:最大迭代次数=间隔步长/2。以间隔步长=6为例,则最大迭代次数为6/2=3。需要说明的是,如果间隔步长为奇数,则可以采用向下取整的方法来确定最大迭代次数,以间隔步长=1为例,则最大迭代次数可以为0。
根据本发明实施例,在模式初选过程迭代的过程中,需要满足以下两个条件:迭代次数不小于最小迭代次数,且不大于最大迭代次数。如果第一轮选择后,即使选择出的目标模式属于参考模式,但是迭代次数小于最小迭代次数,同样需要执行补充模式选择的过程,以满足最小迭代次数的要求。
如图6所示,其为本发明实施例中,在第一轮选择结束之后,补充模式选择过程的实施流程示意图,可以包括以下步骤:
S61、判断迭代次数是否大于最大迭代次数,如果是,则结束模式初选过程,如果否,执行步骤S62。
第一轮选择结束后,在满足以下任一条件时需要进行补充模式选择的流程:迭代次数小于最小迭代次数或者选择出的候选模式中不存在参考模式。
S62、根据失真衡量参数最小的候选模式确定补充模式。
本步骤中,可以根据上一轮迭代结束后,率失真代价最小的候选模式,从其周围选择补充模式加入到候选模式中。
具体实施时,可以根据率失真代价最小的候选模式编号进行选择。例如,编号与率失真代价最小的候选模式编号相邻的两个模式,或者编号与率失真代价最小的候选模式编号等距的两个模式等等。
本发明实施例中,可以根据最大迭代次数来确定补充模式的编号。具体地,可以按照以下方法确定补充模式的编号:N±F,其中,N为失真衡量参数最小的候选模式的编号,F初始值为最大迭代次数,在模式初选过程中,每迭代一次,F值减1。
以间隔步长=6为例,则最大迭代次数=3,F初始值=3。以候选模式为{0,1,2,8,14,20,26,32}为例,假设按照率失真代价由小到大排序得到排序第一位的候选模式编号为14,则在第一轮迭代过程中,补充模式编号分别为:14+3=17和14-3=11。假设经过第一轮迭代后,按照率失真代价由小到大排序得到排序第一位的候选模式编号为17,在第二轮迭代过程中,F值减1为2,则补充模式编号分别为:17+2=19和17-2=15,以此类推,直至达到最大迭代次数,或者更新后的候选模式中存在参考模式。
本步骤中,以第一轮迭代,在候选模式中加入编号为17和11两个补充模式为例,则得到第一轮迭代的候选模式为:{0,1,2,8,11,14,17,20,26,32}。
S63、判断确定出的补充模式是否属于角度模式,如果是,执行步骤S64,否则,执行步骤S68。
S64、判断确定出的补充模式是否属于候选模式,如果是,执行步骤S68,如果否,执行步骤S65。
S65、将确定出的补充模式加入到候选模式中。
需要说明的是,为了减少冗余计算,本发明实施例中,在确定出补充模式的编号之后,根据补充模式对应的编号,判断确定出的补充模式是否属于角度模式和候选模式,如果确定出的补充模式属于角度模式且不属于候选模式,则将确定出的补充模式加入到候选模式中,如果确定出的补充模式不属于角度模式或者属于候选模式,则进一步判断是否满足迭代截止条件,即判断是否达到最小迭代次数,如果否,则返回执行步骤S62,继续选择补充模式加入到候选模式中,直至迭代次数达到最大迭代次数时结束初选过程,如果达到了最小迭代次数,则可以结束模式初选过程。
S66、确定补充模式对应的失真衡量参数。
在本步骤中,对于确定出的两个补充模式分别确定其对应的率失真代价。
S67、判断更新后的候选模式中是否存在参考模式,如果是,则执行步骤S68,如果否,则执行步骤S66。
本步骤中,可以根据更新后各候选模式对应的失真衡量参数从更新后的候选模式中确定目标模式。
与步骤S43类似,步骤S67中,可以根据更新后的各个候选模式对应的率失真代价由小到大的顺序选择出排序第一位和第二位的候选模式作为目标模式,判断是否存在至少一个目标模式属于参考模式,如果是,则执行步骤S68,否则,执行步骤S69。
S68、判断迭代次数是否大于等于最小迭代次数,如果是,则结束模式初选过程,如果否,则执行步骤S69。
如果存在至少一个目标模式属于参考模式,且迭代次数大于等于最小迭代次数,则结束模式初选过程。
S69、迭代次数加1,F值减1,并执行步骤S61。
具体实施时,在初选流程结束之后,可以各候选模式的率失真代价由小到大的顺序对各候选模式进行排序,以便为精选流程提供便利。
为了更好地理解本发明实施例,以下结合初选和补充模式选择过程对本发明实施例的具体实施过程进行说明,具体实施时,在初始时,首先根据当前编码图像的帧类型、当前预测单元大小以及编码器配置等分别确定间隔步长、最小迭代次数、最大迭代次数,并初始化迭代次数计数器为0,初始化补充模式选择偏移量F初始值为最大迭代次数,如图7所示,可以包括以下步骤:
S71、根据间隔步长从预测单元的角度模式中选择出多个角度模式与均值模式和平面模式组成候选模式。
以间隔步长=6为例,本步骤中,从编号为2~34的角度模式中,每隔6选择一个角度模式,与编号为0和1的帧内模式组成候选模式如下:{0,1,2,8,14,20,26,32}。
S72、针对每一候选模式,确定该候选模式对应的失真衡量参数。
本步骤中,对于步骤S71中选择出的每一候选模式,确定该候选模式的率失真代价。
S73、根据各候选模式对应的失真衡量参数从所述候选模式中确定目标模式。
本步骤中,可以根据率失真代价由小到大的顺序对各个候选模式进行排序,选择排序第一位和第二位的候选模式作为目标模式。
S74、判断是否存在至少一个目标模式属于参考模式,如果是,则执行步骤S75,否则,执行步骤S76。
本步骤中,判断步骤S73中选择出的目标模式,即排序第一位和第二位的候选模式中的至少一个是否属于参考模式。
S75、判断迭代次数是否不小于最小迭代次数,如果是,则结束模式初选过程,如果否,则执行步骤S76。
本步骤中,如果至少一个目标模式为参考模式且迭代次数不小于最小迭代次数,则结束模式初选过程,将当前得到的候选模式作为下一步精选流程的输入。
S76、判断迭代次数是否大于最大迭代次数,如果是,则结束模式初选过程,如果否,则执行步骤S77。
具体实施时,如果迭代次数大于设置的最大迭代次数,则结束模式初选过程,并将当前得到的候选模式作为下一步精选流程的输入。
S77、根据失真衡量参数最小的候选模式确定补充模式。
本步骤中,根据当前的各个候选模式中,率失真代价最小的候选模式和补充模式选择偏移量F,确定补充模式,根据确定出的补充模式对候选模式进行更新。
以步骤S71中确定出的候选模式为{0,1,2,8,14,20,26,32}为例,以及根据步骤S72确定率失真代价最小的候选模式编号为20,且根据间隔步骤可以确定补充模式选择偏移量F初始值为3,则可以确定补充模式编号为20-3=17和20+3=23。
S78、判断确定出的补充模式是否均属于当前候选模式,如果是,则执行步骤S75,如果否,则执行步骤S79。
具体实施时,如果本步骤中判断出至少一个补充模式不属于当前候选模式,则执行步骤S79。如果两个补充模式均属于当前模式,则进一步判断是否满足迭代截止条件,即返回执行步骤S75。
S79、判断是否至少一个补充模式为角度模式,如果是,则执行步骤S710,如果否,则执行步骤S75。
本步骤中,判断确定出的补充模式中,是否至少一个补充模式的编号属于2~34,如果存在至少一个补充模式的编号属于2~34,则继执行步骤S710,如果否,即所有补充模式均不属于角度模式,则判断是否满足迭代截止条件,即返回执行步骤S75。
S710、将确定出的补充模式加入到候选模式中,并确定其失真衡量参数。
本步骤中,将不属于当前候选模式且为角度模式的补充模式补充到候选模式中,并计算其率失真代价。
S711、判断更新后的候选模式中是否存在参考模式,如果是,则执行步骤S75,如果否,则执行步骤S712。
本步骤中,可以根据更新后各候选模式对应的失真衡量参数从更新后的候选模式中确定目标模式。与步骤S43类似,步骤S711中,可以根据更新后的各个候选模式对应的率失真代价由小到大的顺序选择出排序第一位和第二位的候选模式作为目标模式,并判断是否存在至少一个目标模式属于参考模式,如果是,则判断迭代次数是否大于最小迭代次数,如果大于,则结束模式初选过程,否则继续确定补充模式加入到候选模式中。
S712、迭代次数加1,F值减1,并执行步骤S76。
本步骤中,将迭代次数计数器加1,F值减1后返回执行步骤S76。
本发明实施例提供的用于视频编码的帧内预测方法,首先针对35个帧内模式采用设定的间隔步长进行第一轮选择,不同的帧类型,预测单元大小以及编码器配置等对应的间隔步长不同,然后,根据构造的参考模式判断是否需要对初选结果进行补充以及需要补充几轮,其中,参考模式由当前预测单元的父块预测单元或者子块预测单元、相邻预测单元的模式以及最大概率模式组成,在补充模式选择过程中,根据帧类型,预测单元大小以及编码器配置等确定补充模式选择结束条件,如大于最大迭代次数时就结束等,实现模式初选的提前退出,由于无需针对每一帧内模式分别计算,从而减少了模式初选过程中的计算量,加快了模式初选的速度,提高了视频编码效率。
基于同一发明构思,本发明实施例中还提供了一种用于视频编码的帧内预测装置,由于上述装置解决问题的原理与用于视频编码的帧内预测装置方法相似,因此上述装置的实施可以参见方法的实施,重复之处不再赘述。
如图8所示,其为本发明实施例提供的用于视频编码的帧内预测装置的结构示意图,包括:
选择单元81,用于根据间隔步长从预测单元的角度模式中选择出多个角度模式,所述间隔步长为根据帧类型和预测单元的大小以及编码器配置确定出的;
第一确定单元82,用于至少根据所选择的角度模式获得一个或多个候选模式,从所述候选模式中确定至少一个目标模式;
第二确定单元83,用于当确定出的至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数时,结束模式初选过程,其中,所述参考模式为根据已编码的帧内预测信息确定出的,最小迭代次数为根据帧类型和预测单元的大小以及配置器配置确定出的。
在一个实施例中,本发明实施例提供的视频编码中帧内预测装置,还包括:
第三确定单元,用于当选择出的目标模式均不属于参考模式或者迭代次数小于最小迭代次数时,则根据最小失真衡量参数对应的候选模式确定补充模式加入到所述候选模式中。
可选地,本发明实施例提供的视频编码中帧内预测装置,还包括:
更新单元,用于根据补充模式对应的失真衡量参数,更新各候选模式对应的失真衡量参数;
第一判断单元,用于根据更新后的各候选模式的失真衡量参数,判断更新后的候选模式中是否存在参考模式且迭代次数不小于最小迭代次数;
处理单元,用于所述第一判断单元的判断结果为是时,结束模式初选过程;以及根据所述第一判断单元的判断结果确定更新后的候选模式中不存在参考模式或者迭代次数小于最小迭代次数,则触发所述第三确定单元执行根据失真衡量参数最小的候选模式确定补充模式加入到所述候选模式中的步骤,直至迭代次数达到最大迭代次数时结束初选过程,其中,最大迭代次数为根据所述间隔步长确定出的。
可选地,所述第三确定单元,具体用于确定补充模式的编号为N±F,其中,N为失真衡量参数最小的候选模式的编号,F初始值为最大迭代次数;以及在模式初选过程中,每迭代一次,F值减1;以及根据补充模式的编号,当确定出的补充模式属于角度模式且不属于所述候选模式,则将确定出的补充模式加入所述候选模式中;当确定出的补充模式不属于角度模式或者属于所述候选模式,则判断迭代次数是否小于最小迭代次数,如果是,则返回执行根据失真衡量参数最小的候选模式确定补充模式加入到所述候选模式中的步骤,直至迭代次数达到最大迭代次数时结束初选过程,如果否,则结束模式初选过程。
可选地,本发明实施例提供的视频编码中帧内预测装置,还包括:
第四确定单元,用于从已编码的帧内预测信息中,获取以下至少一个邻块的预测模式:父块的预测模式、子块的预测模式、左边块的预测模式、上边块的预测模式以及左上角块的预测模式;以及将父块的预测模式,或子块的预测模式,和/或左边块的预测模式,和/或上边块的预测模式,和/或左上角块的预测模式,与最大概率模式组成所述参考模式。
可选地,所述第四确定单元,具体用于判断已编码的帧内预测信息中是否存在当前编码块的父块、子块、左边块、上边块或左上角块的帧内预测信息,如果存在且为帧内编码模式,则根据已编码的帧内预测信息,记录对应所述父块、子块、左边块、上边块或左上角块的预测模式,并分别作为对应块的参考模式。
可选地,本发明实施例提供的视频编码中帧内预测装置,还包括:
间隔步长确定单元,用于根据不同帧类型对应的不同权重,确定第一间隔步长,其中,权重越大则确定的第一间隔步长越小;根据不同大小预测单元对应的被选择概率,确定第二间隔步长,其中被选择概率越大则第二间隔步长越小;根据不同编码器配置对应的不同压缩比,确定第三间隔步长,其中压缩比越大则对应的间隔步长越小;根据所述第一间隔步长、第二间隔步长、第三间隔步长至少其中之一者,确定所述间隔步长。
可选地,所述帧类型包括帧内编码I帧、前向预测编码P帧、双向预测内插编码B帧、不带参考双向预测内插编码B帧和带参考双向预测内插编码B帧,I帧的间隔步长小于P帧的间隔步长,P帧的间隔步长小于B帧的间隔步长,B帧的间隔步长小于带参考B帧的间隔步长,带参考B帧的间隔步长小于不带参考B帧的间隔步长。
可选地,大小为8x8,16x16和32x32的预测单元的间隔步长小于大小为4x4或者64x64的预测单元。
可选地,编码器配置为最大压缩比,对应的间隔步长为:uint8_t
Figure BDA0001924284810000231
其中:
uint8_t SkipStride[m][n]为二维数组,m表示当前编码帧类型,n表示预测单元大小;I帧和P帧对应的m值为0,B帧对应的m值为1,带参考B帧对应m值为2,不带参考B帧对应的m值为3;n值从0至4分别表示预测单元大小为4x4,8x8,16x16,32x32,64x64。
可选地,本发明实施例提供的视频编码中帧内预测装置,还包括:
最小迭代次数确定单元,用于根据不同帧类型对应的不同权重,确定第一最小迭代次数,其中,权重越大则确定的第一最小迭代次数越大;根据不同大小预测单元对应的被选择概率,确定第二最小迭代次数,其中被选择概率越大则第二最小迭代次数越大;根据不同编码器配置对应的不同压缩比,确定第三最小迭代次数,其中压缩比越大则对应的最小迭代次数越大;根据所述第一最小迭代次数、第二最小迭代次数、第三最小迭代次数至少其中之一者,确定所述最小迭代次数。
可选地,I帧的最小迭代次数不小于P帧的最小迭代次数,P帧的最小迭代次数不小于B帧的最小迭代次数,B帧的最小迭代次数不小于带参考B帧的最小迭代次数,带参考B帧的最小迭代次数不小于不带参考B帧的最小迭代次数。
可选地,大小为8x8,16x16和32x32的预测单元的最小迭代次数不小于大小为4x4或者64x64的预测单元。
可选地,编码器配置为最大压缩比,对应的最小迭代次数为:uint8_t
Figure BDA0001924284810000241
其中:
uint8_t Skip internum[i][j]为二维数组,i表示当前编码帧类型,j表示预测单元大小;I帧和P帧对应的m值为0,B帧对应的m值为1,带参考B帧对应m值为2,不带参考B帧对应的m值为3;j值从0至4分别表示预测单元大小为4x4,8x8,16x16,32x32,64x64。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
在介绍了本发明示例性实施方式的用于视频编码的帧内预测方法和装置之后,接下来,介绍根据本发明的另一示例性实施方式的计算装置。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述描述的根据本发明各种示例性实施方式的用于视频编码的帧内预测方法中的步骤。例如,所述处理器可以执行如图4a中所示的步骤S41、根据间隔步长从预测单元的角度模式中选择出多个角度模式,和步骤S42、至少根据所选择的角度模式获得一个或多个候选模式,从候选模式中确定至少一个目标模式;以及步骤S43、如果选择出的至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数,则结束模式初选过程。
下面参照图9来描述根据本发明的这种实施方式的计算装置90。图9显示的计算装置90仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算装置90以通用计算设备的形式表现。计算装置90的组件可以包括但不限于:上述至少一个处理器91、上述至少一个存储器92、连接不同系统组件(包括存储器92和处理器91)的总线93。
总线93表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器92可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还可以包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置90也可以与一个或多个外部设备94(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置90交互的设备通信,和/或与使得该计算装置90能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,计算装置90还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器96通过总线93与用于计算装置90的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本发明提供的用于视频编码的帧内预测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的用于视频编码的帧内预测方法中的步骤,例如,所述计算机设备可以执行如图4a中所示的步骤S41、根据间隔步长从预测单元的角度模式中选择出多个角度模式,和步骤S42、至少根据所选择的角度模式获得一个或多个候选模式,从候选模式中确定至少一个目标模式;以及步骤S43、如果选择出的至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数,则结束模式初选过程。
本发明的实施方式的用于视频编码的帧内预测的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

1.一种用于视频编码的帧内预测方法,其特征在于,包括:
根据间隔步长从预测单元的角度模式中选择出多个角度模式,所述间隔步长为根据帧类型和预测单元的大小以及编码器配置确定出的;
至少根据所选择的角度模式获得一个或多个候选模式,从所述候选模式中确定至少一个目标模式;
当确定出的至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数时,结束模式初选过程,其中,所述参考模式为根据已编码的帧内预测信息确定出的,最小迭代次数为根据帧类型和预测单元的大小以及配置器配置确定出的;
根据帧类型和预测单元的大小以及编码器配置确定间隔步长,包括:根据不同帧类型对应的不同权重,确定第一间隔步长,其中,权重越大则确定的第一间隔步长越小,帧类型包括帧内编码I帧、前向预测编码P帧、双向预测内插编码B帧、不带参考双向预测内插编码B帧和带参考双向预测内插编码B帧;I帧、P帧、B帧、不带参考B帧、带参考B帧对应的权重依次减小;根据不同大小预测单元对应的被选择概率,确定第二间隔步长,其中,被选择概率越大则第二间隔步长越小,所述被选择概率是编码器配置确定的;确定视频编码过程中的编码器配置,并根据不同编码器配置对应的不同压缩比,确定第三间隔步长,其中压缩比越大则对应的间隔步长越小;根据所述第一间隔步长、第二间隔步长、第三间隔步长至少其中之一者,确定所述间隔步长;
根据帧类型和预测单元的大小以及编码器配置确定最小迭代次数,包括:根据不同帧类型对应的不同权重,确定第一最小迭代次数,其中,权重越大则确定的第一最小迭代次数越大,帧类型包括帧内编码I帧、前向预测编码P帧、双向预测内插编码B帧、不带参考双向预测内插编码B帧和带参考双向预测内插编码B帧;I帧、P帧、B帧、不带参考B帧、带参考B帧对应的权重依次减小;根据不同大小预测单元对应的被选择概率,确定第二最小迭代次数,其中,被选择概率越大则第二最小迭代次数越大,所述被选择概率是编码器配置确定的;确定视频编码过程中的编码器配置,并根据不同编码器配置对应的不同压缩比,确定第三最小迭代次数,其中压缩比越大则对应的最小迭代次数越大;根据所述第一最小迭代次数、第二最小迭代次数、第三最小迭代次数至少其中之一者,确定所述最小迭代次数。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当选择出的目标模式均不属于参考模式或者迭代次数小于最小迭代次数时,则根据最小失真衡量参数对应的候选模式确定补充模式加入到所述候选模式中。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
根据补充模式对应的失真衡量参数,更新各候选模式对应的失真衡量参数;
根据更新后的各候选模式的失真衡量参数,判断更新后的候选模式中是否存在参考模式且迭代次数不小于最小迭代次数,如果是,则结束模式初选过程,如果更新后的候选模式中不存在参考模式或者迭代次数小于最小迭代次数,则返回执行根据失真衡量参数最小的候选模式确定补充模式加入到所述候选模式中的步骤,直至迭代次数达到最大迭代次数时结束初选过程,其中,最大迭代次数为根据所述间隔步长确定出的。
4.如权利要求2所述的方法,其特征在于,根据最小失真衡量参数对应的候选模式确定补充模式加入到所述候选模式中,包括:
确定补充模式的编号为N±F,其中,N为失真衡量参数最小的候选模式的编号,F初始值为最大迭代次数;以及
在模式初选过程中,每迭代一次,F值减1;以及
根据补充模式的编号,当确定出的补充模式属于角度模式且不属于所述候选模式,则将确定出的补充模式加入所述候选模式中;
当确定出的补充模式不属于角度模式或者属于所述候选模式,则判断迭代次数是否小于最小迭代次数,如果是,则返回执行根据失真衡量参数最小的候选模式确定补充模式加入到所述候选模式中的步骤,直至迭代次数达到最大迭代次数时结束初选过程,如果否,则结束模式初选过程。
5.如权利要求1所述的方法,其特征在于,所述根据已编码的帧内预测信息确定参考模式,包括:
从已编码的帧内预测信息中,获取以下至少一个邻块的预测模式:父块的预测模式、子块的预测模式、左边块的预测模式、上边块的预测模式以及左上角块的预测模式;以及
将父块的预测模式,或子块的预测模式,和/或左边块的预测模式,和/或上边块的预测模式,和/或左上角块的预测模式,与最大概率模式组成所述参考模式。
6.如权利要求5所述的方法,其特征在于,获取父块的预测模式、子块的预测模式、左边块的预测模式、上边块的预测模式以及左上角块的预测模式,包括:
判断已编码的帧内预测信息中是否存在当前编码块的父块、子块、左边块、上边块或左上角块的帧内预测信息,如果存在且为帧内编码模式,则根据已编码的帧内预测信息,记录对应所述父块、子块、左边块、上边块或左上角块的预测模式,并分别作为对应块的参考模式。
7.如权利要求1所述的方法,其特征在于,所述帧类型包括帧内编码I帧、前向预测编码P帧、双向预测内插编码B帧、不带参考双向预测内插编码B帧和带参考双向预测内插编码B帧,I帧的间隔步长小于P帧的间隔步长,P帧的间隔步长小于B帧的间隔步长,B帧的间隔步长小于带参考B帧的间隔步长,带参考B帧的间隔步长小于不带参考B帧的间隔步长。
8.如权利要求7所述的方法,其特征在于,大小为8x8,16x16和32x32的预测单元的间隔步长小于大小为4x4或者64x64的预测单元。
9.如权利要求8所述的方法,其特征在于,编码器配置为最大压缩比,对应的间隔步长为:
Figure FDA0003997406370000041
其中:
uint8_t SkipStride[m][n]为二维数组,m表示当前编码帧类型,n表示预测单元大小;I帧和P帧对应的m值为0,B帧对应的m值为1,带参考B帧对应m值为2,不带参考B帧对应的m值为3;n值从0至4分别表示预测单元大小为4x4,8x8,16x16,32x32,64x64。
10.如权利要求1所述的方法,其特征在于,I帧的最小迭代次数不小于P帧的最小迭代次数,P帧的最小迭代次数不小于B帧的最小迭代次数,B帧的最小迭代次数不小于带参考B帧的最小迭代次数,带参考B帧的最小迭代次数不小于不带参考B帧的最小迭代次数。
11.一种用于视频编码的帧内预测装置,其特征在于,包括:
选择单元,用于根据间隔步长从预测单元的角度模式中选择出多个角度模式,所述间隔步长为根据帧类型和预测单元的大小以及编码器配置确定出的;
第一确定单元,用于至少根据所选择的角度模式获得一个或多个候选模式,从所述候选模式中确定至少一个目标模式;
第二确定单元,用于当确定出的至少一个目标模式属于参考模式且迭代次数不小于最小迭代次数时,结束模式初选过程,其中,所述参考模式为根据已编码的帧内预测信息确定出的,最小迭代次数为根据帧类型和预测单元的大小以及配置器配置确定出的;
根据帧类型和预测单元的大小以及编码器配置确定间隔步长时,所述第一确定单元用于:根据不同帧类型对应的不同权重,确定第一间隔步长,其中,权重越大则确定的第一间隔步长越小,帧类型包括帧内编码I帧、前向预测编码P帧、双向预测内插编码B帧、不带参考双向预测内插编码B帧和带参考双向预测内插编码B帧;I帧、P帧、B帧、不带参考B帧、带参考B帧对应的权重依次减小;根据不同大小预测单元对应的被选择概率,确定第二间隔步长,其中,被选择概率越大则第二间隔步长越小,所述被选择概率是编码器配置确定的;确定视频编码过程中的编码器配置,并根据不同编码器配置对应的不同压缩比,确定第三间隔步长,其中压缩比越大则对应的间隔步长越小;根据所述第一间隔步长、第二间隔步长、第三间隔步长至少其中之一者,确定所述间隔步长;
根据帧类型和预测单元的大小以及编码器配置确定最小迭代次数时,所述第二确定单元用于:根据不同帧类型对应的不同权重,确定第一最小迭代次数,其中,权重越大则确定的第一最小迭代次数越大,帧类型包括帧内编码I帧、前向预测编码P帧、双向预测内插编码B帧、不带参考双向预测内插编码B帧和带参考双向预测内插编码B帧;I帧、P帧、B帧、不带参考B帧、带参考B帧对应的权重依次减小;根据不同大小预测单元对应的被选择概率,确定第二最小迭代次数,其中,被选择概率越大则第二最小迭代次数越大,所述被选择概率是编码器配置确定的;确定视频编码过程中的编码器配置,并根据不同编码器配置对应的不同压缩比,确定第三最小迭代次数,其中压缩比越大则对应的最小迭代次数越大;根据所述第一最小迭代次数、第二最小迭代次数、第三最小迭代次数至少其中之一者,确定所述最小迭代次数。
12.一种计算装置,其特征在于,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行权利要求1~10任一权利要求所述方法的步骤。
13.一种计算机可读介质,其特征在于,其存储有可由计算装置执行的计算机程序,当所述程序在计算装置上运行时,使得所述计算装置执行权利要求1~10任一所述方法的步骤。
CN201811609144.1A 2018-12-27 2018-12-27 一种用于视频编码的帧内预测方法、装置和存储介质 Active CN110198442B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811609144.1A CN110198442B (zh) 2018-12-27 2018-12-27 一种用于视频编码的帧内预测方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811609144.1A CN110198442B (zh) 2018-12-27 2018-12-27 一种用于视频编码的帧内预测方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN110198442A CN110198442A (zh) 2019-09-03
CN110198442B true CN110198442B (zh) 2023-02-28

Family

ID=67751127

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811609144.1A Active CN110198442B (zh) 2018-12-27 2018-12-27 一种用于视频编码的帧内预测方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN110198442B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111988605B (zh) * 2020-07-31 2023-11-21 广州市百果园信息技术有限公司 模式选择方法、装置、计算机可读存储介质及电子设备
CN114640849B (zh) * 2022-03-23 2024-03-12 广州方硅信息技术有限公司 直播视频编码方法、装置、计算机设备及可读存储介质
CN117440156A (zh) * 2023-09-22 2024-01-23 书行科技(北京)有限公司 视频编码方法、视频发布方法及相关产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103997646A (zh) * 2014-05-13 2014-08-20 北京航空航天大学 一种高清视频编码中快速帧内预测模式选择方法
CN104052994A (zh) * 2014-04-14 2014-09-17 嘉兴职业技术学院 分级自适应的hevc帧内预测模式快速决策方法
CN104601993A (zh) * 2014-12-31 2015-05-06 乐视网信息技术(北京)股份有限公司 一种视频编码方法及装置
CN104954788A (zh) * 2014-03-27 2015-09-30 浙江大华技术股份有限公司 Hevc帧内预测模式选择方法及装置
CN105409215A (zh) * 2013-01-11 2016-03-16 华为技术有限公司 深度预测模式选择方法及装置
CN106231302A (zh) * 2016-07-28 2016-12-14 同观科技(深圳)有限公司 一种最优帧内预测模式的确定方法和系统
WO2018119740A1 (zh) * 2016-12-28 2018-07-05 华为技术有限公司 色度预测的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10397569B2 (en) * 2016-06-03 2019-08-27 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105409215A (zh) * 2013-01-11 2016-03-16 华为技术有限公司 深度预测模式选择方法及装置
CN104954788A (zh) * 2014-03-27 2015-09-30 浙江大华技术股份有限公司 Hevc帧内预测模式选择方法及装置
CN104052994A (zh) * 2014-04-14 2014-09-17 嘉兴职业技术学院 分级自适应的hevc帧内预测模式快速决策方法
CN103997646A (zh) * 2014-05-13 2014-08-20 北京航空航天大学 一种高清视频编码中快速帧内预测模式选择方法
CN104601993A (zh) * 2014-12-31 2015-05-06 乐视网信息技术(北京)股份有限公司 一种视频编码方法及装置
CN106231302A (zh) * 2016-07-28 2016-12-14 同观科技(深圳)有限公司 一种最优帧内预测模式的确定方法和系统
WO2018119740A1 (zh) * 2016-12-28 2018-07-05 华为技术有限公司 色度预测的方法及装置

Also Published As

Publication number Publication date
CN110198442A (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
JP7360464B2 (ja) ビデオエンコードおよびデコード
RU2699258C2 (ru) Способ прогнозирования изображения и устройство прогнозирования изображения
CN111164974B (zh) 图像编码/解码方法和设备以及非暂时性存储介质
KR102081213B1 (ko) 화상 예측 방법 및 관련 장치
CN109644276A (zh) 图像编码/解码方法
CN117041593A (zh) 图像编码/解码方法、存储介质和发送方法
CN110198442B (zh) 一种用于视频编码的帧内预测方法、装置和存储介质
CN108141604A (zh) 图像编码和解码方法和图像解码设备
CN107925759A (zh) 用于编码和解码帧内预测的方法和设备
CN105791860A (zh) 用于处理视频信号的方法和设备
US20220086487A1 (en) Method and apparatus for low-complexity bi-directional intra prediction in video encoding and decoding
CN112055203B (zh) 帧间预测方法、视频编码方法及其相关装置
CN111741297B (zh) 帧间预测方法、视频编码方法及其相关装置
CN108989799B (zh) 一种编码单元参考帧的选择方法、装置及电子设备
CN112585976A (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
TW202139709A (zh) 幀間預測方法、編碼器、解碼器及儲存媒介
CN113273188A (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
CN112637592A (zh) 一种视频预测编码的方法及装置
CN110149512B (zh) 帧间预测加速方法、装置、计算机存储介质及设备
CN108924551B (zh) 视频图像编码模式的预测方法及相关设备
US20210105478A1 (en) Method and apparatus for blended intra prediction
EP4131958A1 (en) Interframe prediction method, encoder, decoder, and storage medium
WO2021031225A1 (zh) 一种运动矢量导出方法、装置及电子设备
CN109547798B (zh) 一种快速的hevc帧间模式选择方法
CN113615195A (zh) 用于屏幕内容编解码的帧内块复制

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