Some content of this application is unavailable at the moment.
If this situation persists, please contact us atFeedback&Contact
1. (WO2019062475) INTRA-FRAME PREDICTION METHOD AND APPARATUS, VIDEO ENCODING DEVICE AND STORAGE MEDIUM
Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201   0202   0203   0204   0205   0206   0207   0208   0209   0210   0211   0212   0213   0214   0215   0216   0217   0218   0219   0220   0221   0222   0223   0224   0225   0226   0227   0228   0229   0230   0231   0232   0233   0234   0235   0236   0237  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17  

附图

1   2   3   4   5   6   7   8   9   10   11   12   13  

说明书

发明名称 : 帧内预测方法、装置、视频编码设备及存储介质

[0001]
本申请要求于2017年9月28日提交中国专利局、申请号201710901193.1、申请名称为“一种帧内预测方法、装置及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

技术领域

[0002]
本公开涉及视频处理技术领域,具体涉及一种帧内预测技术。

背景技术

[0003]
帧内预测是视频编码的一个环节,可通过帧内预测消除视频编码中的空间冗余信息,优化视频编码效果;帧内预测尤其在H.264/AVC、H.265/HEVC、AVS等混合编码框架的视频编码中应用。
[0004]
帧内预测是以目标编码块的目标帧内预测方向,对目标编码块进行预测编码的过程。对目标编码块进行帧内预测的一个重要内容是:从众多的帧内预测方向中选择目标编码块最优的帧内预测方向作为目标帧内预测方向,以目标帧内预测方向对目标编码块进行最终的预测编码,即目标帧内预测方向为众多的帧内预测方向中,针对目标编码块而言最优的帧内预测方向。除利用所选择的目标帧内预测方向对目标编码块进行预测编码外,所选择的目标帧内预测方向还可被写入码流,以传递给解码器解码目标编码块使用。
[0005]
目前的帧内预测实现过程中,目标帧内预测方向的选择方式主要是:先从所有的帧内预测方向中粗选帧内预测方向,将粗选的帧内预测方向和已确定的目标编码块周边的已编码块的目标帧内预测方向作为候选帧内预测方向,再从候选帧内预测方向中细选出目标编码块的目标帧内预测方向。这种方式存在的问题是:目标帧内预测方向的选择较为复杂,导致视频编码的复杂度较高,视频编码的实时性要求无法满足。
[0006]
发明内容
[0007]
有鉴于此,本公开实施例提供一种帧内预测方法、装置及存储介质,以降低目标帧内预测方向的选择复杂度,使得视频编码的复杂度降低,满足视频编码的实时性要求。
[0008]
为实现上述目的,本公开实施例提供如下技术方案:
[0009]
一种帧内预测方法,应用于视频编码设备,包括:
[0010]
确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向;
[0011]
分别搜索距各像素主方向在设定数值内的帧内预测方向,得到所述各像素主方向对应搜索到的帧内预测方向;
[0012]
至少根据所述各像素主方向对应搜索到的帧内预测方向,与所述各像素主方向形成候选帧内预测方向;
[0013]
分别根据各候选帧内预测方向对所述目标编码块进行预测编码,根据所述各候选帧内预测方向分别对应的预测编码结果,从所述各候选帧内预测方向中确定目标帧内预测方向。
[0014]
本公开实施例还提供一种帧内预测装置,应用于视频编码设备,包括:
[0015]
像素主方向确定模块,用于确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向;
[0016]
预测方向搜索模块,用于分别搜索距各像素主方向在设定数值内的帧内预测方向,得到所述各像素主方向对应搜索到的帧内预测方向;
[0017]
候选预测方向确定模块,用于至少根据所述各像素主方向对应搜索到的帧内预测方向,与所述各像素主方向形成候选帧内预测方向;
[0018]
目标帧内预测方向确定模块,用于分别根据所述各候选帧内预测方向对目标编码块进行预测编码,根据所述各候选帧内预测方向分别对应的预测编码结果,从所述各候选帧内预测方向中确定目标帧内预测方向。
[0019]
本公开实施例还提供一种视频编码设备,包括:
[0020]
存储器,用于存储信息;
[0021]
处理器,与所述存储器连接,用于通过执行存储在所述存储器内的计算机程序,能够执行:
[0022]
确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向;
[0023]
分别搜索距各像素主方向在设定数值内的帧内预测方向,得到所述各像素主方向对应搜索到的帧内预测方向;
[0024]
至少根据所述各像素主方向对应搜索到的帧内预测方向,与所述各像素主方向形成候选帧内预测方向;
[0025]
分别根据各候选帧内预测方向对所述目标编码块进行预测编码,根据所述各候选帧内预测方向分别对应的预测编码结果,从所述各候选帧内预测方向中确定目标帧内预测方向。
[0026]
本公开实施例还提供一种存储介质,所述存储介质存储有适于中央处理器或图形处理器执行的程序,所述程序用于执行所述帧内预测方法。目标编码块目标编码块
[0027]
本公开实施例还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行所述帧内预测方法。
[0028]
基于上述技术方案,本公开实施例可基于目标编码块空间相邻的各参考已编码块的像素主方向出发,搜索距各像素主方向在设定数值内的帧内预测方向,并至少根据各像素主 方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向,从而根据各候选帧内预测方向分别对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。本公开实施例可至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向,减小候选帧内预测方向的数量,同时控制目标帧内预测方向直接基于所确定的候选帧内预测方向选择,免去基于所有帧内预测方向的粗选过程,减小目标帧内预测方向选择的处理复杂度,降低视频编码整体的复杂度,使得视频编码的实时性得以保障。

附图说明

[0029]
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0030]
图1为所有帧内预测方向的示例图;
[0031]
图2为本公开实施例提供的帧内预测方法的流程图;
[0032]
图3为参考已编码块的示例图;
[0033]
图4为本公开实施例提供的帧内预测方法的另一流程图;
[0034]
图5为从各候选帧内预测方向中确定目标帧内预测方向的方法流程图;
[0035]
图6为本公开实施例提供的帧内预测方法的再一流程图;
[0036]
图7为目标编码块的上方两行和左方两行重建像素的平均值的示例图;
[0037]
图8为本公开实施例提供的帧内预测方法的又一流程图;
[0038]
图9为本公开实施例提供的应用示例的流程示意图;
[0039]
图10为本公开实施例提供的应用示例的另一流程示意图;
[0040]
图11为本公开实施例提供的帧内预测装置的结构框图;
[0041]
图12为本公开实施例提供的帧内预测装置的另一结构框图;
[0042]
图13为视频编码设备的硬件结构框图。

具体实施方式

[0043]
以HEVC(High Efficiency Video Coding,高效视频编码)方式的视频编码为例,目前HEVC共有35种帧内预测方向,如图1所示,图1中的一个数字编号表示一种帧内预测方向;现有技术中在对目标编码块进行帧内预测时,需要以该35种帧内预测方向分别对目标编码块进行预测编码,从该35种帧内预测方向中粗选出视频残差最小的N(N为小于35 的整数,可预先定义)个帧内预测方向,将该N个帧内预测方向作为候选;同时,将目标编码块周边的已编码块所选择的目标帧内预测方向也加入候选;再以候选的各帧内预测方向分别对目标编码块进行预测编码,从候选中选择出码率失真率代价最小的帧内预测方向,作为目标编码块的目标帧内预测方向。
[0044]
可见,现有以HEVC为例的帧内预测过程中,需要先通过计算视频残差的方式,对所有的35种帧内预测方向进行粗选,然后将粗选的帧内预测方向和周边的已编码块所选择的目标帧内预测方向作为候选,从候选中以计算码率失真率代价的方式,细选出目标编码块的目标帧内预测方向。这种方式需要先后对目标编码块进行两个阶段的帧内预测(即第一个阶段为以所有帧内预测方向分别对目标编码块进行帧内预测,第二个阶段为以候选的帧内预测方向分别对目标编码块进行帧内预测),可以看出,目前对目标编码块选择目标帧内预测方向的过程的复杂度较高,导致视频编码整体的复杂度较高,影响了视频编码的实时性。
[0045]
因此,考虑优化帧内预测方向,降低候选的帧内预测方向的数量,并将目标编码块的目标帧内预测方向的选择控制在一个阶段的帧内预测的过程中,以降低目标帧内预测方向的选择复杂度,降低视频编码整体的复杂度,保障视频编码的实时性要求。
[0046]
基于此,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0047]
图2为本公开实施例提供的帧内预测方法的流程图,该帧内预测方法可应用于视频编码设备,视频编码设备可以是具有视频编码能力的CPU(中央处理器)或GPU(图形处理器);可选的,视频编码设备可选用手机、笔记本电脑等终端实现,也可选用服务器实现;
[0048]
参照图2,本公开实施例提供的帧内预测方法可以包括:
[0049]
步骤S100、确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向。
[0050]
目标编码块可以理解为是当前需进行预测编码的编码块;已编码块可以认为是利用本公开实施例提供的帧内预测方法确定了目标帧内预测方向,以所确定的目标帧内预测方向进行了预测编码的编码块。
[0051]
可选的,已编码块也叫重建编码块,一编码块经过所确定的目标帧内预测方向进行了预测编码后成为已编码块,已编码块中的像素将被处理重建;如对于任一编码块,以本公开实施例提供的帧内预测方法确定出该编码块的目标帧内预测方向,对该编码块进行预测编码后,可得到该编码块的帧内预测残差,对该帧内预测残差再进行变换量化,然后进行反量化,反变换,可得到该编码块的重建像素值,使得该编码块经目标帧内预测方向进行预测编码后像素被重建。
[0052]
可选的,所选择的目标编码块空间相邻的参考已编码块可以是:与目标编码块空间相邻,且与目标编码块的边角相接的已编码块。基于参考已编码块的已编码后的信息,本公开实施例可实现目标编码块的候选帧内预测方向的确定。
[0053]
可选的,本公开实施例可选择与目标编码块的上边角左侧相接的第一已编码块,和与目标编码块的左边角上侧相接的第二已编码块,作为所述参考已编码块;如图3所示,可选择与目标编码块cur的上边角左侧相接的第一已编码块A,和与目标编码块cur的左边角上侧相接的第二已编码块B,作为所选择的目标编码块空间相邻的参考已编码块。
[0054]
需要说明的是,图3所示示意仅是一种可选示例,在具体应用中,所述参考已编码块的数量可以为一个或至少两个,当然也不限于选择图3所示的参考已编码块;如可将图3所示的参考已编码块,与目标编码块的其他边角相接的已编码块,作为所选择的参考已编码块,具体方式可视实际需要而定。
[0055]
在选择目标编码块空间相邻的参考已编码块后,可确定所述参考已编码块中各参考已编码块的像素主方向。
[0056]
可选的,对于一个参考已编码块,本公开实施例可确定该参考已编码块各像素的方向,将该参考已编码块中像素个数最多的方向,作为该参考已编码块的像素主方向;以此方式对各参考已编码块进行处理,则可得到各参考已编码块的像素主方向。
[0057]
可选的,对于一个参考已编码块,本公开实施例可利用Sobel算子(Sobel算法称为索贝尔算子,是像素图像边缘检测中最重要的算子之一),确定该参考已编码块各像素的方向。
[0058]
步骤S110、分别搜索距各像素主方向在设定数值内的帧内预测方向,得到各像素主方向对应搜索到的帧内预测方向。
[0059]
可选的,在确定各参考已编码块的像素主方向后,针对各参考已编码块的像素主方向(即各像素主方向),本公开实施例可分别以各像素主方向为中心,搜索各像素主方向周围设定数值内的帧内预测方向,得到各像素主方向对应搜索到的帧内预测方向;即一个像素主方向对应搜索到的帧内预测方向为:以该像素主方向为中心,搜索到的该像素主方向周围设定数值内的帧内预测方向。
[0060]
可以理解的是,对于一个参考已编码块而言,该参考已编码块的像素主方向可以对应一个帧内预测方向,从而可搜索距该像素主方向对应的帧内预测方向,设定数值内的帧内预测方向(如基于图1所示各帧内预测方向的编号搜索),得到该像素主方向对应搜索到的帧内预测方向。
[0061]
可选的,以各像素主方向为中心,搜索各像素主方向周围设定数值内的帧内预测方向可以是:对于一像素主方向,搜索小于该像素主方向设定数值内的帧内预测方向,以及大于该像素主方向设定数值内的帧内预测方向,得到该像素主方向对应搜索到的帧内预测方向。
[0062]
以设定数值为2为例,则对于一像素主方向modA,则以modA为中心,搜索到的modA周围设定数值内的帧内预测方向为:modA-2,modA-1,modA+1,modA+2;即像素主方向modA对应搜索到的帧内预测方向为,距modA距离为2以内的帧内预测方向。
[0063]
步骤S120、至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向。
[0064]
在确定各像素主方向对应搜索到的帧内预测方向后,本公开实施例可至少将各像素主方向对应搜索到的帧内预测方向,与各像素主方向结合形成候选帧内预测方向。
[0065]
可选的,在一种实现上,候选帧内预测方向可由各像素主方向对应搜索到的帧内预测方向,与各像素主方向结合形成;即候选帧内预测方向的数量可以为:各像素主方向对应搜索到的帧内预测方向的数量,加上各像素主方向的数量。
[0066]
可选的,在另一种实现上,候选帧内预测方向可由各像素主方向对应搜索到的帧内预测方向,各像素主方向,第一设定帧内预测方向,第二设定帧内预测方向结合形成;即候选帧内预测方向的数量可以为:各像素主方向对应搜索到的帧内预测方向的数量,加上各像素主方向的数量,再加上2;可选的,第一设定帧内预测方向如DC(直流分量预测)帧内预测方向,第二设定帧内预测方向如planar(平面预测)帧内预测方向。
[0067]
可选的,所述候选帧内预测方向的数量应小于所有帧内预测方向的数量;即在本公开实施例中,无论上述何种候选帧内预测方向的形成形式,候选帧内预测方向的数量应小于所有帧内预测方向的数量;如以HEVC视频编码为例,候选帧内预测方向的数量应小于35;在本公开实施例中,候选帧内预测方向的数量可通过设置上述设定数值的方式进行控制,还可通过设置上述参考已编码块的数量进行控制。
[0068]
可选的,本公开实施例可设置候选列表,在该候选列表中记录步骤S130至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成的各候选帧内预测方向。
[0069]
步骤S130、分别根据各候选帧内预测方向对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。
[0070]
在确定各候选帧内预测方向后,本公开实施例可分别根据各候选帧内预测方向对目标编码块进行预测编码,得到各候选帧内预测方向分别对应的预测编码结果;从而根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向,实现帧内预测过程中对目标编码块的目标帧内预测方向的选择;
[0071]
可选的,本公开实施例可根据各候选帧内预测方向分别对应的预测编码结果,确定各候选帧内预测方向对应的码率失真率代价,选择码率失真率代价最小的候选帧内预测方向,作为目标帧内预测方向。
[0072]
在确定目标编码块的目标帧内预测方向后,可利用目标帧内预测方向对目标编码块进行最终的预测编码,同时目标编码块的目标帧内预测方向可写入码流,以传递给解码器解码编码后的目标编码块使用。
[0073]
本公开实施例提供的帧内预测方法包括:确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向;分别搜索距各像素主方向在设定数值内的帧内预测方向,得到各像素主方向对应搜索到的帧内预测方向;至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向;分别根据各候选帧内预测方向对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。
[0074]
可以看出,本公开实施例可基于目标编码块空间相邻的各参考已编码块的像素主方向出发,搜索距各像素主方向在设定数值内的帧内预测方向,并至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向,从而根据各候选帧内预测方向分别对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。本公开实施例可至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向,减小候选帧内预测方向的数量,同时控制目标帧内预测方向直接基于所确定的候选帧内预测方向选择,免去基于所有帧内预测方向的粗选过程,减小目标帧内预测方向选择的处理复杂度,降低视频编码整体的复杂度,使得视频编码的实时性得以保障。
[0075]
这里需要说明的是,发明人发现,目标编码块的目标帧内预测方向,与目标编码块空间相邻的参考已编码块的像素主方向周围的帧内预测方向存在一定的关联性,因此搜索距各像素主方向设定数值内的符合该关联性的帧内预测方向,并至少根据搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向,可使得候选帧内预测方向能够包含目标编码块的目标帧内预测方向。可见,基于本公开实施例提供的帧内预测方法所确定的目标帧内预测方向的准确性是能够得到保障的。
[0076]
可选的,作为一种可选示例,本公开实施例可选取与目标编码块的上边角左侧相接的第一已编码块,和与目标编码块的左边角上侧相接的第二已编码块,作为所选择的参考已编码块;
[0077]
可选的,图4示出了本公开实施例提供的帧内预测方法的另一流程图,参照图4,该方法可以包括:
[0078]
步骤S200、确定与目标编码块的上边角左侧相接的第一已编码块的第一像素主方向,和与目标编码块的左边角上侧相接的第二已编码块的第二像素主方向。
[0079]
为便于描述,本公开实施例可称与目标编码块的上边角左侧相接的已编码块为第一已编码块,如图3中已编码块A为第一已编码块;称与目标编码块的左边角上侧相接的已编码块为第二已编码块,如图3中已编码块B为第二已编码块。
[0080]
可选的,本公开实施例可利用Sobel算子确定第一已编码块各像素的方向,将第一已编码块中像素个数最多的方向,作为第一已编码块的像素主方向(称为第一像素主方向);同时,可利用Sobel算子确定第二已编码块各像素的方向,将第二已编码块中像素个数最多的方向,作为第二已编码块的像素主方向(称为第二像素主方向)。
[0081]
步骤S210、搜索小于第一像素主方向设定数值内的帧内预测方向,和大于第一像素主方向设定数值内的帧内预测方向;及搜索小于第二像素主方向设定数值内的帧内预测方向,大于第二像素主方向设定数值内的帧内预测方向。
[0082]
可选的,针对第一像素主方向,本公开实施例可搜索第一像素主方向减设定数值内的帧内预测方向,和第一像素主方向加设定数值内的帧内预测方向,得到第一像素主方向对应搜索到的帧内预测方向;如以设定数值为2,第一像素主方向为modA为例,则可针对modA搜索到modA-2,modA-1,modA+1,modA+2的帧内预测方向;
[0083]
针对第二像素主方向,本公开实施例可搜索第二像素主方向减设定数值内的帧内预测方向,和第二像素主方向加设定数值内的帧内预测方向,得到第二像素主方向对应搜索到的帧内预测方向;如以设定数值为2,第二像素主方向为modB为例,则可针对modB搜索到modB-2,modB-1,modB+1,modB+2的帧内预测方向;
[0084]
显然,设定数值的具体数值选为2仅是可选示例,也可选为3、4等,具体可视实际需要而定。
[0085]
步骤S220、至少根据小于第一像素主方向设定数值内的帧内预测方向,大于第一像素主方向设定数值内的帧内预测方向,第一像素主方向,小于第二像素主方向设定数值内的帧内预测方向,大于第二像素主方向设定数值内的帧内预测方向,第二像素主方向形成候选帧内预测方向。
[0086]
可选的,以上述设定数值为2,第一像素主方向为modA,第二像素主方向为modB为例,本公开实施例可至少根据modA-2,modA-1,modA,modA+1,modA+2,modB-2,modB-1,modB,modB+1,modB+2形成候选帧内预测方向;
[0087]
作为一种可选示例,候选帧内预测方向的范围可以是:{modA-2,modA-1,modA,modA+1,modA+2,modB-2,modB-1,modB,modB+1,modB+2};
[0088]
作为另一种可选示例,候选帧内预测方向还可结合第一设定帧内预测方向(如DC帧内预测方向)和第二设定帧内预测方向(如planar帧内预测方向),相应的,候选帧内预测方向的范围可以是:{DC,planar,modA-2,modA-1,modA,modA+1,modA+2,modB-2,modB-1,modB,modB+1,modB+2}。
[0089]
可见,候选帧内预测方向的数量小于所有帧内预测方向的数量,相比于所有的帧内预测方向(如HEVC情况下的35个帧内预测方向),本公开实施例提供的帧内预测方法,极大的减小了所确定的候选帧内预测方向的数量。
[0090]
步骤S230、分别根据各候选帧内预测方向对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。
[0091]
需要说明的是,图4方法所选择的所述参考已编码块的形式仅是可选的,所述参考已编码块的形式可根据具体情况而定。
[0092]
可选的,本公开实施例分别根据各候选帧内预测方向对目标编码块进行预测编码后,可使用RDO(Rate Distortion Optimization,码率失真优化)方式,从各候选帧内预测方向中判决出目标编码块的目标帧内预测方向;
[0093]
可选的,图5示出了从各候选帧内预测方向中确定目标帧内预测方向的方法流程,参照图5,该方法可以包括:
[0094]
步骤S300、分别确定各候选帧内预测方向对目标编码块进行预测编码后的帧内预测残差,得到各候选帧内预测方向对应的帧内预测残差。
[0095]
本公开实施例根据各候选帧内预测方向对目标编码块进行预测编码后,可得到各候选帧内预测方向下的帧内预测残差(即各候选帧内预测方向对应的帧内预测残差)。
[0096]
步骤S310、分别对各候选帧内预测方向对应的帧内预测残差进行变换量化,得到各候选帧内预测方向对应的变换量化结果。
[0097]
在确定各候选帧内预测方向对应的帧内预测残差,本公开实施例可分别对各候选帧内预测方向对应的帧内预测残差进行变换量化,得到各候选帧内预测方向对应的变换量化结果。
[0098]
步骤S320、分别对各候选帧内预测方向对应的变换量化结果进行反量化和反变换,得到各候选帧内预测方向对应的目标编码块的像素重建值。
[0099]
在确定各候选帧内预测方向对应的变换量化结果后,本公开实施例可分别对各候选帧内预测方向对应的变换量化结果进行反量化和反变换处理,得到各候选帧内预测方向下,目标编码块的像素重建值。
[0100]
步骤S330、分别根据各候选帧内预测方向对应的目标编码块的像素重建值,与目标编码块的像素原始值,确定各候选帧内预测方向对应的码率失真率代价。
[0101]
可选的,步骤S300至步骤S330可以认为是根据各候选帧内预测方向对应的预测编码结果,确定各候选帧内预测方向对应的码率失真率代价的可选实现。
[0102]
步骤S340、将码率失真率代价最小的候选帧内预测方向,确定为目标编码块的目标帧内预测方向。
[0103]
在确定各候选帧内预测方向对应的目标编码块的像素重建值后,对于任一候选帧内预测方向,本公开实施例可根据相应的目标编码块的像素重建值和目标编码块的像素原始值,确定基于SSE(Sum of Square Error,平方误差和)的RD cost(Rate Distortion cost,码率失真率代价),得到该候选帧内预测方向对应的RD cost;以此确定出各候选帧内预测方向对应的RD cost,将RD cost最小的候选帧内预测方向,确定为目标编码块的目标帧内预测方向。
[0104]
显然,上述以RDO方式判决目标编码块的目标帧内预测方向的方式仅是可选的,本公开实施例也可在根据各候选帧内预测方向对目标编码块进行预测编码后,确定各候选帧内预测方向对应的其他形式的代价(如直接使用帧内预测残差作为代价),选择代价最小的候选帧内预测方向作为目标编码块的目标帧内预测方向。
[0105]
可选的,图2、图4所示方法的可在无限制条件下执行,在当前需对某一编码块进行帧内预测时,可直接以图2、图4所示方法实现该编码块的帧内预测;这个过程中,可以任选第一设定帧内预测方向和第二设定帧内预测方向是否加入候选帧内预测方向中。
[0106]
在另一种实现上,图2、图4所示方法可以在满足限制条件的情况下执行,即可通过设置一定的限制条件,只有在满足该限制条件的情况下,才通过图2、图4所示方法实现本公开实施例提供的帧内预测方法;而在不满足限制条件时,可通过与上述描述的方法内容不同的并列的另一帧内预测流程实现帧内预测方法。
[0107]
可选的,图6示出了本公开实施例提供的帧内预测方法的再一流程图,参照图6,该方法可以包括:
[0108]
步骤S400、确定与目标编码块相接的上方设定行重建像素的第一平均值,及与目标编码块相接的左方设定行重建像素的第二平均值。
[0109]
可选的,与目标编码块相接的上方设定行重建像素可以如:目标编码块的上方已编码块,与目标编码块相接的设定行重建像素;即可确定目标编码块的上方已编码块,与目标编码块相接的设定行重建像素的平均值,得到第一平均值。
[0110]
与目标编码块相接的左方设定行重建像素可以如:目标编码块的左方已编码块,与目标编码块相接的设定行重建像素;即可确定目标编码块的左方已编码块,与目标编码块相接的设定行重建像素的平均值,得到第二平均值。
[0111]
作为一种可选示例,如图7所示,本公开实施例可确定目标编码块的上方已编码块最下两行的重建像素的平均值,得到第一平均值(可称为avg_up),本公开实施例可确定目标编码块的左方已编码块最右两行的重建像素的平均值,得到第二平均值(可称为avg_left)。
[0112]
即目标编码块的上方已编码块最下两行的重建像素可以认为是,与目标编码块相接的上方设定行重建像素;目标编码块的左方已编码块最右两行的重建像素可以认为是,与目标编码块相接的左方设定行重建像素。
[0113]
作为一个示例,一个编码块的行列数可以是16x16,一行有16个像素;显然,编码块的行列数,和一行的像素数可根据实际情况而定,此处仅是示例说明。
[0114]
步骤S410、判断所述第一平均值和所述第二平均值的绝对误差是否小于第一阈值,且目标编码块空间相邻的参考已编码块中,各参考已编码块的目标帧内预测方向是否均是第一设定帧内预测方向,若任一判断结果存在否,执行步骤S420,若判断结果均为是,执行步骤S460。
[0115]
步骤S420、确定各参考已编码块的像素主方向。
[0116]
步骤S410的任一判断结果存在否,说明所述第一平均值和所述第二平均值的绝对误差不小于第一阈值,和/或,各参考已编码块的目标帧内预测方向,均不是第一设定帧内预测方向;此时,可执行图2、图4所示流程,即可先确定所述参考已编码块中各参考已编码块的像素主方向,然后依照图2、图4所示流程进行方法执行。
[0117]
可选的,第一阈值可根据实际情况设定;由于所述第一平均值和所述第二平均值的绝对误差不小于第一阈值,且各参考已编码块的目标帧内预测方向均不是第一设定帧内预测方向(如图4所示第一已编码块和第二已编码块的目标帧内预测方向均不是DC帧内预测方向,所述DC帧内预测方向可以作为第一设定帧内预测方向),则可认为目标编码块空间相邻的已编码块的重建像素的差异较大,对于目标编码块需扩充帧内预测方向的选择范围。
[0118]
但本公开实施例为降低目标编码块的目标帧内预测方向选择的处理复杂度,独创的先确定所述各参考已编码块的像素主方向,再以各像素主方向搜索可加入候选帧内预测方向的帧内预测方向,使得候选帧内预测方向的数量可得到控制。
[0119]
步骤S430、分别搜索距各像素主方向在设定数值内的帧内预测方向,得到各像素主方向对应搜索到的帧内预测方向。
[0120]
步骤S440、至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向。
[0121]
步骤S450、分别根据各候选帧内预测方向对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。
[0122]
步骤S460、将所述第一设定帧内预测方向作为目标编码块的目标帧内预测方向。
[0123]
步骤S410的判断结果均为是,说明所述第一平均值和所述第二平均值的绝对误差小于第一阈值,且,各参考已编码块的目标帧内预测方向均是第一设定帧内预测方向,则可认为目标编码块空间相邻的已编码块的重建像素的差异较小,目标编码块的目标帧内预测方向在极大概率上,与参考已编码块的目标帧内预测方向一致,即可认为目标编码块的目 标帧内预测方向是空间相邻的参考已编码块所使用的第一设定帧内预测方向(如目标编码块的目标帧内预测方向为DC帧内预测方向),则可将第一设定帧内预测方向作为目标编码块的目标帧内预测方向,免去基于候选预测帧内方向逐一对目标编码块进行预测编码,来确定目标帧内预测方向的过程,极大的减小处理复杂度。
[0124]
可见,本公开实施例可在所述第一平均值和所述第二平均值的绝对误差不小于第一阈值,和/或,各参考已编码块的目标帧内预测方向,均不是第一设定帧内预测方向时,执行图1和图4所示方法。
[0125]
而在所述第一平均值和所述第二平均值的绝对误差小于第一阈值,且,各参考已编码块的目标帧内预测方向均是第一设定帧内预测方向时,提供一套与图1和图4所示方法不同的并列流程,即直接将第一设定帧内预测方向,作为目标编码块的目标帧内预测方向。
[0126]
作为图6的一种可选示例,以所述至少一个参考已编码块为第一已编码块A和第二已编码块B,第一像素主方向为modA,第二像素主方向为modB,设定数值为2为例,本公开实施例在对目标编码块cur进行帧内预测时,可通过如下过程实现:
[0127]
确定与目标编码块cur相接的上方两行重建像素的第一平均值(定义为avg_up),和与目标编码块cur相接的左方两行重建像素的第二平均值(定义为avg_left);
[0128]
如果avg_up和avg_left的绝对误差小于第一阈值(定义为Thd1),且第一已编码块A和第二已编码块B的目标帧内预测方向均是DC帧内预测方向,则可确定目标编码块cur的目标帧内预测方向为DC帧内预测方向;显然,也可设置如果avg_up和avg_left的绝对误差小于Thd1,且第一已编码块A和第二已编码块B的目标帧内预测方向均是planar帧内预测方向,则可确定目标编码块cur的目标帧内预测方向为planar帧内预测方向。
[0129]
而如果avg_up和avg_left的绝对误差不小于Thd1,和/或,第一已编码块A和第二已编码块B的目标帧内预测方向均不是DC帧内预测方向,则可确定第一参考已编码块A的第一像素主方向modA,第二参考已编码块B的第二像素主方向modB,分别搜索距modA的距离为2以内的帧内预测方向modA-2,modA-1,modA+1,modA+2,和距modB的距离为2的帧内预测方向modB-2,modB-1,modB+1,modB+2;至少根据modA-2,modA-1,modA,modA+1,modA+2,modB-2,modB-1,modB,modB+1,modB+2形成候选帧内预测方向;进而通过RDO等方式从候选帧内预测方向中,判决出目标编码块的目标帧内预测方向。
[0130]
在一些情况下,在确定所述第一平均值和所述第二平均值的绝对误差不小于第一阈值,和/或,所述各参考已编码块的目标帧内预测方向均不是第一设定帧内预测方向的基础上,本公开实施例还可选择是否将第一设定帧内预测方向和第二设定帧内预测方向(如DC和planar帧内预测方向)加入到目标编码块的候选帧内预测方向中。
[0131]
可选的,图8示出了本公开实施例提供的帧内预测方法的又一流程图,参照图8,该方法可以包括:
[0132]
步骤S500、确定与目标编码块相接的上方设定行重建像素的第一平均值,及与目标编码块相接的左方设定行重建像素的第二平均值。
[0133]
步骤S510、判断所述第一平均值和所述第二平均值的绝对误差是否小于第一阈值,且目标编码块空间相邻的至少一个参考已编码块中,各参考已编码块的目标帧内预测方向是否均是第一设定帧内预测方向,若任一判断结果存在否,执行步骤S520,若判断结果均为是,执行步骤S570。
[0134]
步骤S520、确定各参考已编码块的像素主方向,分别搜索距各像素主方向在设定数值内的帧内预测方向,得到各像素主方向对应搜索到的帧内预测方向。
[0135]
步骤S530、判断所述第一平均值和所述第二平均值的绝对误差是否大于第二阈值,且各参考已编码块的目标帧内预测方向是否均不是第一设定帧内预测方向或第二设定帧内预测方向,若任一判断结果存在否,执行步骤S540,若判断结果均为是,执行步骤S550。
[0136]
步骤S540、将第一设定帧内预测方向,第二设定帧内预测方向,各像素主方向对应搜索到的帧内预测方向,各像素主方向确定为候选帧内预测方向。
[0137]
可选的,如果所述第一平均值和所述第二平均值的绝对误差不大于第二阈值,和/或,各参考已编码块的目标帧内预测方向均是第一设定帧内预测方向或第二设定帧内预测方向,则可将第一设定帧内预测方向,第二设定帧内预测方向,各像素主方向对应搜索到的帧内预测方向,各像素主方向确定为候选帧内预测方向。
[0138]
例如,本公开实施例在确定所述第一平均值和所述第二平均值的绝对误差不小于第一阈值且不大于第二阈值时,无论各参考已编码块的目标帧内预测方向是否均是第一设定帧内预测方向或第二设定帧内预测方向,可将第一设定帧内预测方向和第二设定帧内预测方向加入到候选帧内预测方向中。
[0139]
又如,本公开实施例可在确定所述第一平均值和所述第二平均值的绝对误差不小于第一阈值且大于第二阈值,且各参考已编码块的目标帧内预测方向均是第一设定帧内预测方向或第二设定帧内预测方向时,将第一设定帧内预测方向和第二设定帧内预测方向加入到候选帧内预测方向中。
[0140]
再如,本公开实施例可在确定各参考已编码块的目标帧内预测方向均是第二设定帧内预测方向时,将第一设定帧内预测方向和第二设定帧内预测方向加入到候选帧内预测方向中。
[0141]
步骤S550、将各像素主方向对应搜索到的帧内预测方向,各像素主方向确定为候选帧内预测方向。
[0142]
可选的,如果所述第一平均值和所述第二平均值的绝对误差大于第二阈值,且各参考已编码块的目标帧内预测方向均不是第一设定帧内预测方向或第二设定帧内预测方向,则可认为第一设定帧内预测方向或第二设定帧内预测方向不可能是目标编码块的目标帧内预测方向,从而直接将各像素主方向对应搜索到的帧内预测方向,各像素主方向确定为候选帧内预测方向。
[0143]
步骤S560、分别根据各候选帧内预测方向对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。
[0144]
步骤S570、将所述第一设定帧内预测方向作为目标编码块的目标帧内预测方向。
[0145]
可选的,本公开实施例也可省去将所述第一设定帧内预测方向作为目标编码块的目标帧内预测方向的并列流程,不先进行所述第一平均值和所述第二平均值的绝对误差是否小于第一阈值,且所述各参考已编码块的目标帧内预测方向是否均是第一设定帧内预测方向的判断,而是按照如下方式确定候选帧内预测方向。
[0146]
在所述第一平均值和所述第二平均值的绝对误差不大于第二阈值,和/或,所述各参考已编码块的目标帧内预测方向均是第一设定帧内预测方向或第二设定帧内预测方向时,将第一设定帧内预测方向,第二设定帧内预测方向,各像素主方向对应搜索到的帧内预测方向,和各像素主方向确定为候选帧内预测方向。
[0147]
在所述第一平均值和所述第二平均值的绝对误差大于第二阈值,且各参考已编码块的目标帧内预测方向均不是第一设定帧内预测方向或第二设定帧内预测方向时,将各像素主方向对应搜索到的帧内预测方向,和各像素主方向确定为候选帧内预测方向。
[0148]
显然,本公开实施例也可不进行上述的条件判断,而是任选第一设定帧内预测方向和第二设定帧内预测方向,是否加入候选帧内预测方向。
[0149]
需要说明的是,图6和图8所示方法仅是可选的,本公开实施例也可在实现帧内预测方法时,直接执行图2所示方法实现目标编码块的目标帧内预测方向的确定。
[0150]
本公开实施例提供的帧内预测方法的一个应用示例可以是,应用于视频编码设备,在视频编码设备对视频图像进行视频编码时,利用帧内预测编码方式对视频图像的任一目标编码块进行编码,并且这个过程中,使用本公开实施例提供的帧内预测方法,实现目标编码块的目标帧内预测方向的确定;
[0151]
可选的,作为一个应用示例,应用本公开实施例提供的帧内预测方法的视频编码过程可以如图9所示,包括:
[0152]
步骤S01、视频编码设备获取视频采集设备传输的待编码的视频图像。
[0153]
可选的,视频采集设备采集视频图像后,可将所采集的视频图像传输至视频编码设备,由视频编码设备以帧内预测编码方式进行视频编码;
[0154]
可选的,视频采集设备可以是具有摄像头等图像采集装置的终端设备,如可以是视频直播场景中的视频采集终端等;显然,视频编码设备获取待编码的视频图像的来源并不限于视频采集设备,如视频编码设备也可能是对保存的视频图像进行重新编码等。
[0155]
可选的,视频编码设备可以如手机、笔记本电脑等终端实现,也可如网络侧设置的服务器等。
[0156]
步骤S02、对于所述视频图像中待编码的任一目标编码块,视频编码设备确定所述目标编码块的目标帧内预测方向。
[0157]
视频编码设备获取待编码的视频图像后,可以编码块为单位进行视频图像的编码,如视频编码设备获取视频图像后,可将视频图像进行图像分块,划分出多个编码块。
[0158]
对于视频图像中待编码的任一目标编码块,可以上文描述的本公开实施例提供的帧内预测方法,实现目标编码块的目标帧内预测方向的确定。
[0159]
可选的,确定目标编码块的目标帧内预测方向的过程可以如图9中对步骤S02的细化所示,包括:
[0160]
步骤S021、确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向。
[0161]
步骤S022、分别搜索距各像素主方向在设定数值内的帧内预测方向,得到各像素主方向对应搜索到的帧内预测方向。
[0162]
步骤S023、至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向。
[0163]
步骤S024、分别根据各候选帧内预测方向对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。
[0164]
可选的,步骤S021至步骤S024的细化说明可参照上文相应部分描述。
[0165]
步骤S03、视频编码设备以所述目标帧内预测方向对目标编码块进行预测编码,得到帧内预测残差。
[0166]
在视频编码设备确定目标编码块的目标帧内预测方向后,可利用目标编码块空间相邻的已编码块的重建像素,按该目标帧内预测方向对目标编码块进行预测编码,得到目标编码块在该目标帧内预测方向下的帧内预测残差。
[0167]
步骤S04、视频编码设备对所得到的帧内预测残差进行变换量化,得到目标编码块在所述目标帧内预测方向下的变换量化结果。
[0168]
在得到目标编码块在该目标帧内预测方向下的帧内预测残差后,视频编码设备可对该帧内预测残差进行变换(如正交变换),再进行量化处理(如系数量化处理),得到目标编码块在所述目标帧内预测方向下的变换量化结果。
[0169]
步骤S05、视频编码设备对所述变换量化结果进行编码,得到目标编码块的编码结果。
[0170]
可选的,本公开实施例可使用熵编码方式,对目标编码块在所述目标帧内预测方向下的变换量化结果进行编码,得到目标编码块的编码结果。
[0171]
相应的,将每一编码块的编码结果相结合,则可得到视频图像的编码结果。
[0172]
可选的,视频图像中的每一编码块的目标帧内预测方向可写入码流中,以便编码后视频图像的解码;而对编码后视频图像进行解码的过程可与上述的编码过程相逆,即可对编码后的视频图像中每一个编码块的编码结果,进行与上文编码过程相逆的处理。
[0173]
基于上文的应用示例,下面以所述参考已编码块为第一已编码块A和第二已编码块B,第一像素主方向为modA,第二像素主方向为modB,设定数值为2(显然,具体的设定数值可根据实际情况调整)为例,对更为细化的利用本公开实施例提供的帧内预测方法进行视频编码的过程进行说明,该应用示例过程可参照图10,具体为:
[0174]
视频采集设备将视频图像输入视频编码设备后,视频编码设备可在对视频图像进行图像分块,划分出多个编码块;
[0175]
对于任一目标编码块,确定与目标编码块的上边角左侧相接的第一已编码块A,以及与目标编码块的左边角上侧相接的第二已编码块B。
[0176]
确定与目标编码块相接的上方两行重建像素的第一平均值(定义为avg_up),和与目标编码块相接的左方两行重建像素的第二平均值(定义为avg_left)。
[0177]
如果avg_up和avg_left的绝对误差小于第一阈值(定义为Thd1),且第一已编码块A和第二已编码块B的目标帧内预测方向均是DC帧内预测方向,则可确定目标编码块的目标帧内预测方向为DC帧内预测方向。
[0178]
而在avg_up和avg_left的绝对误差不小于Thd1,和/或,第一已编码块A和第二已编码块B的目标帧内预测方向均不是DC帧内预测方向的情况下,本公开实施例可根据将第一已编码块A中像素个数最多的方向作为第一已编码块的像素主方向modA,将第二已编码块B中像素个数最多的方向作为第二已编码块的像素主方向modB,且搜索距modA的距离为2以内的帧内预测方向modA-2,modA-1,modA+1,modA+2,和距modB的距离为2的帧内预测方向modB-2,modB-1,modB+1,modB+2;后续,根据具体细分情况,确定是否将DC帧内预测方向和planar帧内预测方向加入到候选帧内预测方向中,具体如下:
[0179]
第一种情况,avg_up和avg_left的绝对误差不小于Thd1且不大于第二阈值(第二阈值定义为Thd2),形成候选帧内预测方向形成候选帧内预测方向{DC,planar,modA-2,modA-1,modA,modA+1,modA+2,modB-2,modB-1,modB,modB+1,modB+2}。
[0180]
第二种情况,avg_up和avg_left的绝对误差不小于Thd1且大于Thd2,且第一已编码块A和第二已编码块B的目标帧内预测方向均是DC帧内预测方向或planar帧内预测方向,形成候选帧内预测方向{DC,planar,modA-2,modA-1,modA,modA+1,modA+2,modB-2,modB-1,modB,modB+1,modB+2}。
[0181]
第三种情况,第一已编码块A和第二已编码块B的目标帧内预测方向均是planar帧内预测方向时,形成候选帧内预测方向{DC,planar,modA-2,modA-1,modA,modA+1,modA+2,modB-2,modB-1,modB,modB+1,modB+2}。
[0182]
第四种情况,avg_up和avg_left的绝对误差大于Thd2,且第一已编码块A和第二已编码块B的目标帧内预测方向均不是DC帧内预测方向或planar帧内预测方向,形成候选帧内预测方向{modA-2,modA-1,modA,modA+1,modA+2,modB-2,modB-1,modB,modB+1,modB+2}。
[0183]
基于上述各情况下形成的候选帧内预测方向,可通过RDO等方式从候选帧内预测方向中,判决出码率失真率代价最小的候选帧内预测方向,作为目标编码块的目标帧内预测方向。
[0184]
在确定目标编码块的目标帧内预测方向后,可通过目标帧内预测方向对目标编码块进行最终的预测编码,得到帧内预测残差;并将目标帧内预测方向写入码流。
[0185]
然后对目标编码块的帧内预测残差进行变换(transform)、量化(quantization)、熵编码(entropy coding)处理,完成针对目标编码块的编码,得到目标编码块的编码结果。
[0186]
结合每一编码块的编码结果,得到视频图像的编码结果。
[0187]
本公开实施例提供的帧内预测方法,可至少根据目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向,极大的减小候选帧内预测方向大小数量,同时控制目标帧内预测方向直接基于所确定的候选帧内预测方向选择,免去基于所有帧内预测方向的粗选过程,减小目标帧内预测方向选择的处理复杂度,降低视频编码整体的复杂度,使得视频编码的实时性得以保障。
[0188]
在一些情况下,可在所述第一平均值与所述第二平均值的绝对误差小于第一阈值,且所述各参考已编码块的目标帧内预测方向均是第一设定帧内预测方向时,直接确定目标编码块的目标帧内预测方向为第一帧内预测方向,极大的减小处理复杂度。
[0189]
下面对本公开实施例提供的帧内预测装置进行介绍,下文描述的帧内预测装置可以认为是视频编码设备,为实现本公开实施例提供的帧内预测方法所设置的程序模块。下文描述的帧内预测装置的内容,可与上文描述的帧内预测方法的内容相互对应参照。
[0190]
图11为本公开实施例提供的帧内预测装置的结构框图,该帧内预测装置可应用于视频编码设备,参照图11,该帧内预测装置可以包括:
[0191]
像素主方向确定模块100,用于确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向;
[0192]
预测方向搜索模块200,用于分别搜索距各像素主方向在设定数值内的帧内预测方向,得到各像素主方向对应搜索到的帧内预测方向;
[0193]
候选预测方向确定模块300,用于至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向;
[0194]
目标帧内预测方向确定模块400,用于分别根据各候选帧内预测方向对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。
[0195]
可选的,预测方向搜索模块200,用于分别搜索距各像素主方向在设定数值内的帧内预测方向,得到所述各像素主方向对应搜索到的帧内预测方向,具体包括:
[0196]
分别以各像素主方向为中心,搜索各像素主方向周围设定数值内的帧内预测方向,得到各像素主方向对应搜索到的帧内预测方向。
[0197]
更细化的,预测方向搜索模块200可具体用于:
[0198]
对于任一像素主方向,搜索小于该像素主方向设定数值内的帧内预测方向,以及大于该像素主方向设定数值内的帧内预测方向,得到该像素主方向对应搜索到的帧内预测方向。
[0199]
可选的,像素主方向确定模块100,用于确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向,具体包括:
[0200]
对于任一参考已编码块,确定该参考已编码块各像素的方向,将该参考已编码块中像素个数最多的方向,作为该参考已编码块的像素主方向。
[0201]
可选的,图12示出了本公开实施例提供的帧内预测装置的另一结构框图,结合图11和图12所示,该帧内预测装置还可以包括:
[0202]
像素均值确定模块500,用于确定与目标编码块相接的上方设定行重建像素的第一平均值,及与目标编码块相接的左方设定行重建像素的第二平均值;
[0203]
判断模块600,用于判断所述第一平均值和所述第二平均值的绝对误差是否小于第一阈值,且所述各参考已编码块的目标帧内预测方向是否均是第一设定帧内预测方向;
[0204]
第一判断结果执行模块700,用于若所述判断模块判断所述第一平均值和所述第二平均值的绝对误差不小于第一阈值,和/或,所述各参考已编码块的目标帧内预测方向,均不是第一设定帧内预测方向,触发所述像素主方向确定模块执行所述确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向的步骤。
[0205]
可选的,参照图12,图12所示帧内预测装置还可以包括:
[0206]
第二判断结果执行模块800,用于若所述判断模块判断所述第一平均值和所述第二平均值的绝对误差小于第一阈值,且,所述各参考已编码块的目标帧内预测方向均是第一设定帧内预测方向,将所述第一设定帧内预测方向作为目标编码块的目标帧内预测方向。
[0207]
可选的,基于图12所示,候选预测方向确定模块300,用于至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向,具体包括:
[0208]
若所述第一平均值和所述第二平均值的绝对误差不大于第二阈值,和/或,所述各参考已编码块的目标帧内预测方向均是第一设定帧内预测方向或第二设定帧内预测方向,将第一设定帧内预测方向,第二设定帧内预测方向,各像素主方向对应搜索到的帧内预测方向,和各像素主方向确定为候选帧内预测方向;
[0209]
若所述第一平均值和所述第二平均值的绝对误差大于第二阈值,且各参考已编码块的目标帧内预测方向均不是第一设定帧内预测方向或第二设定帧内预测方向,将各像素主方向对应搜索到的帧内预测方向,和各像素主方向确定为候选帧内预测方向。
[0210]
可选的,上述候选预测方向确定模块300确定候选帧内预测方向的具体内容,也可独立实现。
[0211]
可选的,候选预测方向确定模块300也可任意选择将第一设定帧内预测方向和第二设定帧内预测方向,是否加入候选帧内预测方向中,具体可根据实际需要而定。
[0212]
可选的,所述参考已编码块可以包括:与目标编码块的上边角左侧相接的第一已编码块,和与目标编码块的左边角上侧相接的第二已编码块。
[0213]
可选的,目标帧内预测方向确定模块400,用于根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向,具体包括:
[0214]
根据各候选帧内预测方向分别对应的预测编码结果,确定各候选帧内预测方向对应的码率失真率代价;
[0215]
选择码率失真率代价最小的候选帧内预测方向,作为目标帧内预测方向。
[0216]
可选的,目标帧内预测方向确定模块400,用于根据各候选帧内预测方向分别对应的预测编码结果,确定各候选帧内预测方向对应的码率失真率代价,具体包括:
[0217]
分别确定各候选帧内预测方向对目标编码块进行预测编码后的帧内预测残差,得到各候选帧内预测方向对应的帧内预测残差;
[0218]
分别对各候选帧内预测方向对应的帧内预测残差进行变换量化,得到各候选帧内预测方向对应的变换量化结果;
[0219]
分别对各候选帧内预测方向对应的变换量化结果进行反量化和反变换,得到各候选帧内预测方向对应的目标编码块的像素重建值;
[0220]
分别根据各候选帧内预测方向对应的目标编码块的像素重建值,与目标编码块的像素原始值,确定各候选帧内预测方向对应的码率失真率代价。
[0221]
本公开实施例提供的帧内预测装置可降低目标帧内预测方向的选择复杂度,使得视频编码的复杂度降低,满足视频编码的实时性要求。
[0222]
本公开实施例还提供一种视频编码设备,该视频编码设备可通过装载实现上述程序模块功能的程序,执行本公开实施例提供的帧内预测方法;该视频编码设备可以是手机、笔记本电脑等终端实现,也可以是服务器。
[0223]
图13示出了视频编码设备的硬件结构框图,参照图13,该视频编码设备可以包括:至少一个中央处理器1,至少一个通信接口2,至少一个存储器3,至少一个通信总线4和至少一个图形处理器5。
[0224]
在本公开实施例中,处理器1、通信接口2、存储器3、通信总线4、图形处理器5的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
[0225]
其中,存储器存储有可适于中央处理器或图形处理器执行的程序,所述程序用于:
[0226]
确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向;
[0227]
分别搜索距各像素主方向在设定数值内的帧内预测方向,得到各像素主方向对应搜索到的帧内预测方向;
[0228]
至少根据各像素主方向对应搜索到的帧内预测方向,与各像素主方向形成候选帧内预测方向;
[0229]
分别根据各候选帧内预测方向对目标编码块进行预测编码,根据各候选帧内预测方向分别对应的预测编码结果,从各候选帧内预测方向中确定目标帧内预测方向。
[0230]
可选的,所述程序的细化功能和扩展功能可参照上文相应部分描述。
[0231]
本公开实施例还提供一种存储介质,该存储介质存储有适于中央处理器或图形处理器执行的程序,所述程序用于执行前述各个实施例所述的帧内预测方法中的任意一种实施方式。目标编码块目标编码块
[0232]
本公开实施例还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行前述各个实施例所述的帧内预测方法中的任意一种实施方式。
[0233]
可选的,所述程序的细化功能和扩展功能可参照上文相应部分描述。
[0234]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0235]
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
[0236]
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
[0237]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本公开。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的核心思想或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

权利要求书

[权利要求 1]
一种帧内预测方法,应用于视频编码设备,包括: 确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向;其中,所述目标编码块为待进行预测编码的编码块; 分别搜索距各像素主方向在设定数值内的帧内预测方向,得到所述各像素主方向对应搜索到的帧内预测方向; 至少根据所述各像素主方向对应搜索到的帧内预测方向,与所述各像素主方向形成候选帧内预测方向; 分别根据各候选帧内预测方向对所述目标编码块进行预测编码,根据所述各候选帧内预测方向分别对应的预测编码结果,从所述各候选帧内预测方向中确定目标帧内预测方向。
[权利要求 2]
根据权利要求1所述的帧内预测方法,所述分别搜索距各像素主方向在设定数值内的帧内预测方向,得到所述各像素主方向对应搜索到的帧内预测方向,包括: 对于任一像素主方向,搜索小于所述像素主方向设定数值内的帧内预测方向,以及大于所述像素主方向设定数值内的帧内预测方向,得到所述像素主方向对应搜索到的帧内预测方向。
[权利要求 3]
根据权利要求1所述的帧内预测方法,所述确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向,包括: 对于任一参考已编码块,确定所述参考已编码块各像素的方向,将所述参考已编码块中像素个数最多的方向,作为所述参考已编码块的像素主方向。
[权利要求 4]
根据权利要求1-3任一项所述帧内预测方法,还包括: 确定与所述目标编码块相接的上方设定行重建像素的第一平均值,及与所述目标编码块相接的左方设定行重建像素的第二平均值; 判断所述第一平均值和所述第二平均值的绝对误差是否小于第一阈值,且所述各参考已编码块的目标帧内预测方向是否均是第一设定帧内预测方向; 若所述第一平均值和所述第二平均值的绝对误差不小于所述第一阈值,和/或,所述各参考已编码块的目标帧内预测方向,均不是所述第一设定帧内预测方向,则触发执行所述确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向的步骤。
[权利要求 5]
根据权利要求4所述的帧内预测方法,所述方法还包括: 若所述第一平均值和所述第二平均值的绝对误差小于所述第一阈值,且,所述各参考已编码块的目标帧内预测方向均是所述第一设定帧内预测方向,则将所述第一设定帧内预测方向作为所述目标编码块的目标帧内预测方向。
[权利要求 6]
根据权利要求4所述的帧内预测方法,所述至少根据所述各像素主方向对应搜索到的帧内预测方向,与所述各像素主方向形成候选帧内预测方向,包括: 若所述第一平均值和所述第二平均值的绝对误差不大于第二阈值,和/或,所述各参考已编码块的目标帧内预测方向均是所述第一设定帧内预测方向或第二设定帧内预测方向,则将所述第一设定帧内预测方向,所述第二设定帧内预测方向,所述各像素主方向对应搜索到的帧内预测方向,和所述各像素主方向确定为候选帧内预测方向; 若所述第一平均值和所述第二平均值的绝对误差大于所述第二阈值,且所述各参考已编码块的目标帧内预测方向均不是所述第一设定帧内预测方向或所述第二设定帧内预测方向,则将所述各像素主方向对应搜索到的帧内预测方向,和所述各像素主方向确定为候选帧内预测方向。
[权利要求 7]
根据权利要求1所述的帧内预测方法,所述参考已编码块包括:与所述目标编码块的上边角左侧相接的第一已编码块,和与所述目标编码块的左边角上侧相接的第二已编码块。
[权利要求 8]
根据权利要求1所述的帧内预测方法,所述分别根据各候选帧内预测方向对所述目标编码块进行预测编码,根据所述各候选帧内预测方向分别对应的预测编码结果,从所述各候选帧内预测方向中确定目标帧内预测方向包括: 根据所述各候选帧内预测方向分别对应的预测编码结果,确定所述各候选帧内预测方向对应的码率失真率代价; 选择码率失真率代价最小的候选帧内预测方向,作为所述目标帧内预测方向。
[权利要求 9]
根据权利要求8所述的帧内预测方法,所述根据所述各候选帧内预测方向分别对应的预测编码结果,确定所述各候选帧内预测方向对应的码率失真率代价,包括: 分别确定所述各候选帧内预测方向对目标编码块进行预测编码后的帧内预测残差,得到所述各候选帧内预测方向对应的帧内预测残差; 分别对所述各候选帧内预测方向对应的帧内预测残差进行变换量化,得到所述各候选帧内预测方向对应的变换量化结果; 分别对所述各候选帧内预测方向对应的变换量化结果进行反量化和反变换,得到所述各候选帧内预测方向对应的目标编码块的像素重建值; 分别根据所述各候选帧内预测方向对应的目标编码块的像素重建值,与所述目标编码块的像素原始值,确定所述各候选帧内预测方向对应的码率失真率代价。
[权利要求 10]
一种帧内预测装置,应用于视频编码设备,包括: 像素主方向确定模块,用于确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向;其中,所述目标编码块为待进行预测编码的编码块; 预测方向搜索模块,用于分别搜索距各像素主方向在设定数值内的帧内预测方向,得到所述各像素主方向对应搜索到的帧内预测方向; 候选预测方向确定模块,用于至少根据所述各像素主方向对应搜索到的帧内预测方向,与所述各像素主方向形成候选帧内预测方向; 目标帧内预测方向确定模块,用于分别根据各候选帧内预测方向对所述目标编码块进行预测编码,根据所述各候选帧内预测方向分别对应的预测编码结果,从所述各候选帧内预测方向中确定目标帧内预测方向。
[权利要求 11]
根据权利要求10所述的帧内预测装置,所述预测方向搜索模块,用于分别搜索距各像素主方向在设定数值内的帧内预测方向,得到所述各像素主方向对应搜索到的帧内预测方向,具体包括: 对于任一像素主方向,搜索小于所述像素主方向设定数值内的帧内预测方向,以及大于所述像素主方向设定数值内的帧内预测方向,得到所述像素主方向对应搜索到的帧内预测方向。
[权利要求 12]
根据权利要求10或11所述的帧内预测装置,还包括: 像素均值确定模块,用于确定与所述目标编码块相接的上方设定行重建像素的第一平均值,及与所述目标编码块相接的左方设定行重建像素的第二平均值; 判断模块,用于判断所述第一平均值和所述第二平均值的绝对误差是否小于第一阈值,且所述各参考已编码块的目标帧内预测方向是否均是第一设定帧内预测方向; 第一判断结果执行模块,用于若所述判断模块判断所述第一平均值和所述第二平均值的绝对误差不小于所述第一阈值,和/或,所述各参考已编码块的目标帧内预测方向,均不是所述第一设定帧内预测方向,触发所述像素主方向确定模块执行所述确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向的步骤。
[权利要求 13]
根据权利要求12所述的帧内预测装置,还包括: 第二判断结果执行模块,用于若所述判断模块判断所述第一平均值和所述第二平均值的绝对误差小于所述第一阈值,且,所述各参考已编码块的目标帧内预测方向均是所述第一设定帧内预测方向,将所述第一设定帧内预测方向作为所述目标编码块的目标帧内预测方向。
[权利要求 14]
根据权利要求12所述的帧内预测装置,所述候选预测方向确定模块,用于至少根据所述各像素主方向对应搜索到的帧内预测方向,与所述各像素主方向形成候选帧内预测方向,具体包括: 若所述第一平均值和所述第二平均值的绝对误差不大于第二阈值,和/或,所述各参考已编码块的目标帧内预测方向均是所述第一设定帧内预测方向或第二设定帧内预测方向, 将所述第一设定帧内预测方向,所述第二设定帧内预测方向,所述各像素主方向对应搜索到的帧内预测方向,和所述各像素主方向确定为候选帧内预测方向; 若所述第一平均值和所述第二平均值的绝对误差大于所述第二阈值,且所述各参考已编码块的目标帧内预测方向均不是所述第一设定帧内预测方向或所述第二设定帧内预测方向,将所述各像素主方向对应搜索到的帧内预测方向,和所述各像素主方向确定为候选帧内预测方向。
[权利要求 15]
一种视频编码设备,包括: 存储器,用于存储信息; 处理器,与所述存储器连接,用于通过执行存储在所述存储器内的计算机程序,能够执行: 确定目标编码块空间相邻的参考已编码块中,各参考已编码块的像素主方向; 分别搜索距各像素主方向在设定数值内的帧内预测方向,得到所述各像素主方向对应搜索到的帧内预测方向; 至少根据所述各像素主方向对应搜索到的帧内预测方向,与所述各像素主方向形成候选帧内预测方向; 分别根据各候选帧内预测方向对所述目标编码块进行预测编码,根据所述各候选帧内预测方向分别对应的预测编码结果,从所述各候选帧内预测方向中确定目标帧内预测方向。
[权利要求 16]
一种存储介质,所述存储介质存储有适于中央处理器或图形处理器执行的程序,所述程序用于执行权利要求1-9任一项所述的方法。
[权利要求 17]
一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-9任一项所述的方法。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]  
[ 图 7]  
[ 图 8]  
[ 图 9]  
[ 图 10]  
[ 图 11]  
[ 图 12]  
[ 图 13]