视频编解码的方法与装置与流程

文档序号:15743152发布日期:2018-10-23 22:38阅读:168来源:国知局
视频编解码的方法与装置与流程
本发明主张在2016年2月25日提出的申请号为62/299,578,标题为“MethodsandApparatusofintra-intermodeinVideoandImageCompression”的美国临时专利申请的优先权,主张在2016年8月5日提出的申请号为62/371,251,标题为“MethodsforQTBTintrachromacodingandintrainter-modeinimageandvideocompression”的美国临时专利申请的优先权,其内容以引用方式整体并入本文中。
背景技术
:本文提供的背景描述是为了通常呈现本公开的上下文的目的。在发明人呈现的本公开中,在很大程度上背景部分描述的内容,与实施方式描述的内容一样不能被视为申请日之前的先前技术。也就是说,既不被明确地也不暗示承认为本发明的先前技术。许多视频编码标准包括将输入视频的图像帧划分成一个或多个编码单元。通常,编码单元可以包括具有亮度预测块和至少两个对应的色度预测块的预测单元。当对块的原始图像进行编码时,依据预定的视频编码标准,块的原始图像可以被划分为可预测部分(也称为预测子(predictor))和块的残差部分。当已解码的块时,可以通过依据相同的预定视频编码标准产生并组合预测子和块的残留部分来获得块的重构图像。在一些应用中,块的预测子可以基于其他块和/或其他帧的图像来生成。这种预测方案旨在减少编码视频数据中的时间冗余,并且也称为帧间预测(interprediction)。在一些应用中,块的预测子可以通过基于多个预定预测模式中所选择的一个来外推与与块相邻的相邻像素的样本来生成。这种预测方案可以减少编码视频数据中的空间冗余,也称为帧内预测(intraprediction)。技术实现要素:本公开的一方面提供了一种视频编解码方法。该方法可以包括接收与图像帧中的当前块相关联的输入数据,生成该当前块的帧间预测子,并且基于多个相邻像素的多个样本和定位该多个相邻像素的该多个样本的帧内预测模式来生成该当前块的帧内预测子。该方法还包括通过依据与该帧内预测模式相关联的一个或多个帧内权重系数组合该帧间预测子和该帧内预测子来生成该当前块的最终预测子,以及基于该最终预测子编码或解码该当前块以输出已编码的视频数据或已解码的块。该一个或多个帧内权重系数分别指示对应于该帧内预测子的一个或多个部分与该帧间预测子组合的一个或多个比率。在一个实施例中,当该帧内预测模式是非角度预测模式时,依据可应用于该当前块的整体的帧内权重系数来执行组合该帧间预测子和该帧内预测子。在一个实施例中,该方法还包括当该帧内预测模式是角度预测模式时,将该当前块划分成预定数量的部分。依据预定数量的部分的多个帧内权重系数,分别组合该帧间预测子和该帧内预测子。另外,当沿该帧内预测模式的参考方向的多个相应部分和该多个相邻像素的该多个样本之间的距离减小时,该多个帧内权重系数的值增加。在一个实施例中,所述方法还包括:当该帧内预测模式是角度预测模式时,识别与该帧内预测模式的参考方向最接近的一预定典型的方向;以及将该当前块划分为沿着所识别的典型的方向布置的预定数量的部分。依据预定数量的部分的多个帧内权重系数,分别组合该帧间预测子和该帧内预测子。另外,当多个相应部分和该多个相邻像素的该多个样本之间的距离沿所识别的典型的方向减小时,该多个帧内权重系数的值增加。此外,该预定典型的方向至少包括垂直参考方向和水平参考方向。该方法还可以包括从多个第一预定帧内预测模式中选择该当前块的该帧内预测模式;以及基于依据从多个第二预定帧内预测模式中选择的第二帧内预测模式导出的帧内预测子对第二块进行编码或解码。该多个第一预定帧内预测模式是该多个第二预定帧内预测模式的子集。在一个实施例中,该多个第一预定帧内预测模式至少包括从该多个第二预定帧内预测模式中选择的多个最可能模式。在一个实施例中,该当前块是色度块,以及多个第一预定帧内预测模式包括直接模式,线性模式,DC模式,平面模式,水平模式和/或垂直模式中的一个或多个。可以基于当前块的大小来确定多个第一预定帧内预测模式中的数量。此外,当该当前块的宽度大于该当前块的高度时,该多个第一预定帧内预测模式排除了该多个第二预定帧内预测模式的第一部分的角度预测模式,该第一部分的角度预测模式的参考方向指向该当前块的左边缘。另外,当该当前块的宽度小于该当前块的高度时,该多个第一预定帧内预测模式排除了该多个第二预定帧内预测模式的第二部分的角度预测模式,该第二部分的角度预测模式的参考方向指向该当前块的上边缘。该方法还可以包括一使能标志包括在该已编码的视频数据的序列参数集(SPS)或图像参数集(PPS)中,或者从输入数据的序列参数集或图像参数集提取,指示是否基于组合帧间预测子和帧内预测子生成的最终预测子功能性编码或已解码的块的该使能标志被使能以用于相应的序列或图片。在一个实施例中,包括指示是否该当前块利用最终预测子而被编码的一标志包括于该已编码的视频数据中,其中基于组合该帧内预测子或该帧间预测子生成该最终预测子,或者仅当该当前块由另一标志于该已编码的视频数据中,或于输入数据中被识别识别作为利用帧间预测而被编码时,自输入数据提取该标志。在一个实施例中,包括指示是否该当前块利用最终预测子而被编码的一标志包括于该已编码的视频数据中,其中基于组合该帧内预测子或该帧间预测子生成的该最终预测子,或者仅当该当前块由另一标志于该已编码的视频数据中,或于输入数据中被识别识别作为利用帧内预测而被编码时,自输入数据提取该标志。另外,在一个实施例中,可以通过使用高级运动向量预测,合并或跳过模式导出运动向量来生成该帧间预测子。本公开的一方面进一步提供一种视频编解码装置。该视频编码装置包括处理电路,该处理电路被配置为接收与一图像帧中的当前块相关联的输入数据;生成该当前块的帧间预测子;基于多个相邻像素的多个样本和定位该多个相邻像素的该多个样本的帧内预测模式生成该当前块的一帧内预测子;通过依据与该帧内预测模式相关联的一个或多个帧内权重系数组合该帧间预测子和该帧内预测子来生成该当前块的最终预测子;以及基于该最终预测子编码或解码该当前块以输出已编码的视频数据或一已解码的块。该一个或多个帧内权重系数分别指示对应于该帧内预测子的一个或多个部分与该帧间预测子组合的一个或多个比率。在一个实施例中,处理电路可以被配置为当该帧内预测模式是非角度预测模式时,依据可应用于该当前块的整体的帧内权重系数来执行组合该帧间预测子和该帧内预测子。此外,处理电路可以被配置为当该帧内预测模式是角度预测模式时,将该当前块划分成预定数量的部分,以及依据预定数量的部分的多个帧内权重系数,分别组合该帧间预测子和该帧内预测子。当沿该帧内预测模式的参考方向的多个相应部分和该多个相邻像素的该多个样本之间的距离减小时,该多个帧内权重系数的值增加。本公开的方面进一步提供了一种非暂时计算器可读介质,存储使装置的处理电路执行视频编解码方法的程序指令。该视频编码方法包括接收与图像帧中的当前块相关联的输入数据;生成该当前块的帧间预测子;基于多个相邻像素的多个样本和定位该多个相邻像素的该多个样本的帧内预测模式来生成当前块的帧内预测子。通过依据与该帧内预测模式相关联的一个或多个帧内权重系数组合该帧间预测子和该帧内预测子来生成该当前块的最终预测子;以及基于该最终预测子编码或解码该当前块以输出已编码的视频数据或已解码的块。一个或多个帧内权重系数分别指示对应于该帧内预测子的一个或多个部分与该帧间预测子组合的一个或多个比率。附图说明将参考以下图式详细描述作为示例提出的本公开的各种实施例,其中相同的图式标记表示相同的组件,并且其中:图1示出了依据本公开的实施例的视频编解码系统的示例性功能框图;图2示出了依据本公开的示例性实施例的使用帧内-帧间预测来生成块的最终预测子的示意图;图3示出了依据本公开的示例性实施例的图1的视频编解码系统中的示例性解码电路的功能框图;图4A-图4C示出了依据本公开的示例性实施例的用于帧内-帧间预测的可用帧内预测模式的示例集合的示意图;图5A-图5D示出了依据本公开的示例性实施例的用于帧内-帧间预测的另外四个可用帧内预测模式的示例集合的示意图;图6示出了依据本公开的实施例的可应用于与各种帧内预测模式的不同参考方向相关联的块的各个部分的帧内权重系数的示例性布置的示意图;图7示出了依据本公开的实施例的可应用于与各种帧内预测模式的不同参考方向相关联的块的各个部分的帧内权重系数的另一示例性布置的示意图;图8示出了依据本公开的实施例的可应用于与沿示例性帧内预测模式的参考方向的相邻像素的样本的各种距离相关的块的各个部分的帧内权重系数的示例性布置的示意图;图9示出了依据本公开的实施例的图1中的视频编解码系统中用于视频编码的处理电路的示例性功能框图;图10示出了依据本公开的实施例的利用诸如图3中的处理电路的用于视频解码的处理电路的示例性视频解码处理的流程图;以及图11示出了依据本公开的实施例的利用图9中的处理电路的用于视频编码的处理电路的示例性视频编码处理的流程图。具体实施方式图1示出了依据本公开的实施例的视频编解码系统100的示例性功能框图。视频编解码系统100包括用于视频解码的处理电路(即,解码电路)110和用于视频编码的处理电路(即编码电路)120。编码电路120接收输入帧106作为输入数据,并通过对输入帧106进行编码产生已编码的视频数据102。解码电路110接收已编码的视频数据102作为输入数据,并通过解码已编码的视频数据102来生成输出帧104。视频编解码系统100可以由一个或多个视频编码装置来实作,其中该视频编码装置可包括解码电路110和编码电路120。解码电路110可以包括至少一帧内-帧间预测模块112和解码控制器116。帧内-帧间预测模块112可以使用帧内-帧间预测生成图像帧中待已解码的块(或当前块)的最终预测子。更具体地,帧内-帧间预测模块112依据由解码控制器116提供的预测参数,可以生成当前块的帧内预测子和帧间预测子。帧内预测子可以基于与当前块相邻的相邻像素的样本和帧内预测模式来生成,帧内预测模式可以由已编码的视频数据102指示并且可用于定位相邻像素的样本。可以基于使用运动向量定位的参考块来生成帧间预测子,该运动向量可以在已编码的视频数据102中显式提供,或者基于在编码视频数据102中提供的信息导出。最后,帧内-帧间预测模块112可以通过依据与帧内预测模式相关联的一个或多个帧内权重系数,组合帧间预测子和帧内预测子来生成当前块的最终预测子。该一个或多个帧内权重系数表示对应的帧内预测子的一个或多个部分分别与帧间预测子组合的一个或多个比率。可以依据帧内预测的预测模式来应用权重。例如,当帧内预测模式是非角度预测模式时,可以依据适用于整个当前块的帧内权重系数来执行组合帧间预测子和帧内预测子。当帧内预测模式是角度预测模式时,可以依据当前块的各个预定部分的帧内权重系数来执行组合帧间预测子和帧内预测子,其中帧内权重系数的值可以随沿着帧内预测模式的参考方向的相应部分和相邻像素的样本之间的距离来改变。可以从多个第一预定的帧内预测模式中选择用于解码当前块的帧内预测模式。解码电路110还可以基于从多个第二预定帧内预测模式中选择的依据第二帧内预测模式导出的帧内预测子,对同一图像帧或另一图像帧中的第二块进行解码。在一些示例中,用于帧内-帧间预测的多个第一预定帧内预测模式是用于帧内预测的多个第二预定帧内预测模式的子集。例如,当解码电路110用于基于国际电信联盟电信标准化部门(ITU-T)H.264标准(也称为H.264,MPEG-4第10部分,高级视频编码,MPEG-4AVC或H.264/MPEG-4AVC标准)解碼4×4亮度块时,多个第二预定帧内预测模式可以包括与H.264标准一致的9种不同的帧内预测模式,其中9种不同的帧内预测模式包括8种不同的角度预测模式和一个非角度预测模式(例如,DC模式,其中相邻样本的平均值被分配给块的所有像素)。在这种情况下,多个第一预定帧内预测模式可以包括非角度预测模式和九个角度预测模式的一部分。在另一示例中,当解码电路110用于基于ITU-TH.265标准(也称为H.265,高效率视频编码,HEVC或H.265/HEVC标准)解碼32×32亮度块时,多个第二预定帧内预测模式可以包括与H.265标准一致的35种不同的帧内预测模式。其中,35种不同的帧内预测模式包括33种不同的角度预测模式和两种非角度预测模式(例如,如上所述的DC模式和平面模式,其中块的像素的值使用相邻样本的二维外推法(extrapolation)来确定)。在这种情况下,多个第一预定帧内预测模式可以包括两个非角度预测模式和33个帧内预测模式的一部分。在一些示例中,多个第一预定帧内预测模式可以至少包括相应的预定帧内预测模式中的最可能模式(MPM),其可以基于当前块的相邻块来选择。当然,可以依据预定的视频编码标准来定义多个第二预定帧内预测模式,并且可以包括与本公开中公开的不同的一些角度预测模式或非角度预测模式。解码控制器116可以监督已编码的视频数据102的解码,包括确定是否使用帧内-帧间预测模块112来解码当前块和/或控制帧内-帧间预测模块112的操作。在一些示例中,解码控制器116接收与当前块相关联的已编码的视频数据102,并从其中提取关于是否使用帧内-帧间预测模块112、对应的帧内预测模式,相应的运动向量、和/或一个或多个帧内权重系数的相关信息。在一些示例中,用于解碼当前块的帧内预测模式,运动向量和一个或多个帧内权重系数中的一些或全部,可以在已编码的视频数据102中明确地指定,或者基于已编码的视频数据102和预定的视频编码标准来得到。在一些示例中,是否使用帧内-帧间预测可以基于当前块的大小是否大于预定阈值来确定。此外,使用对当前块的帧内-帧间预测可以由在已编码的视频数据102中明确指定或从已编码的视频数据102导出的标志来指示,以作为使用与单独使用帧内预测或者使用单独帧间预测不同的帧内-帧间预测。在一些示例中,对于当前块使用帧内-帧间预测可以被表示为帧内预测的特殊情况。在一些其他示例中,对当前块使用帧内-帧间预测可以被指示为帧间预测的特殊情况。编码电路120可以包括至少帧内-帧间预测模块122,帧内-帧间估计模块124和编码控制器126。帧内-帧间估计模块124可以分析输入帧106并确定预测参数用于使用帧内-帧间预测对图像帧中的块(或当前块)进行编码。预测参数可以包括用于生成当前块的帧内预测子的帧内预测模式、用于生成当前块的帧间预测子的运动向量、和/或与帧内预测模式相关联的一个或多个帧内权重系数,来用于生成当前块的最终预测值。由帧内-帧间估计模块124选择或识别的预测参数可以被转发到编码控制器126,并且编码控制器126确定是否使用帧内-帧间预测来对当前块进行编码,并且如果要使用帧内-帧间预测对当前块进行编码,则编码预测参数作为已编码的视频数据102的一部分。由帧内-帧间估计模块124选择或识别的预测参数也可以被转发到帧内-帧间预测模块122以生成当前块的最终预测子。帧内预测模块122可以以类似于帧内-帧间预测模块112的操作的方式生成用于进一步编码处理的当前块的最终预测子。此外,编码控制器126可以监视编码当前块,包括确定是否使用帧内-帧间预测模块124和帧内-帧间预测模块122对当前块进行编码和/或控制帧内-帧间估计模块124和帧内-帧间预测模块122的操作。与解码电路110一样,编码电路120可以支持用于帧内-帧间预测的多个第一预定帧内预测模式和用于帧内预测的多个第二预定帧内预测模式,其中多个第一预定帧内预测模式可以是多个第二预定帧内预测模式的子集。图2示出了依据本公开的示例性实施例的使用帧内-帧间预测来生成块的最终预测子的示意图。块的最终预测子210可以是块的帧内预测子220和帧间预测子240的权重组合。帧内预测子220可以基于相邻像素222a-222g的样本和指定的帧内预测模式来生成。当帧内预测模式是角度预测模式时,帧内预测模式可以指示针对帧内预测子的每个像素的对应样本的参考方向。当帧内预测模式是非角度预测模式时,帧内预测模式可以指示相邻像素的上方、左侧或所有相邻像素用于产生帧内预测子。在本公开中,帧内预测模式的方向是指用于定位相邻样本的参考方向。在一些应用中,帧内预测模式可以通过与参考方向相反的预测方向来识别。用于产生当前块的帧内预测子220的帧内预测模式可以依据任何适用的方法来发送或导出。可以基于指定的运动向量244来定位的另一图像帧的参考块242来生成帧间预测子240。在一些示例中,参考块242可以位于与当前块240的相同帧中。用于生成当前块的帧间预测子240的运动向量244,可以依据任何适用的方法发讯号或导出。在一些示例中,运动向量可以从运动向量预测子(MVP)候选而被得到,运动向量预测子(MVP)候选可以利用高级运动向量预测(AMVP),合并或跳过模式而被编码。此外,可以依据正常帧间模式,帧速率上变换模式(framerateup-conversionmode,FRUC)模式,仿射模式(affinemode),合并模式等来执行帧间预测。在一些示例中,帧内-帧间预测的帧间预测部分可以被限制为上述帧间模式的子集。可以通过依据与帧内预测模式相关联的一个或多个帧内权重系数组合当前块的帧内预测子220和帧间预测子240来生成当前块的最终预测子210。在一些示例中,每个帧内权重系数表示分配给帧内预测子220的特定部分的权重比率,其是分配给帧内预测子220的部分的权重与分配给帧间预测子240的相应部分的权重的和。例如,如果帧内权重系数的值为0.5,则用于组合帧内预测子和帧间预测子的对应部分的权重为0.5-0.5。在另一示例中,如果帧内权重系数的值为0.8,则用于组合帧内预测子和帧间预测子的对应部分的权重为0.8-0.2。此外,在一些示例中,如果基于具有帧内权重系数w_intra和帧间权重系数w_inter的帧内和帧间预测因子(Pred_intra和Pred_inter)的对应像素来确定像素(Pred)的最终预测子,则像素(Pred)的最终预测子的值可以确定为:Pred=w_intra*Pred_intra+w_inter*Pred_inter,以及w_intra+w_inter=1。图3示出了依据本公开的实施例的诸如图1中的视频编解码系统100的视频编解码系统中的解码电路310的示例性功能框图。图3是解码电路310的简化图,因此可能不显示解码电路310的所有细节和变化。解码电路310包括帧内-帧间预测模块312和解码控制器316,分别对应于图1中的帧内-帧间预测模块112和解码控制器116。如果解码控制器316确定使用帧内-帧间预测来解码当前块,帧内-帧间预测模块312可以基于指定的帧内预测模式和指定的运动向量来生成当前块的最终预测子。解码电路310还包括帧间预测模块332,帧内预测模块336,加法器342,残差解码器344,输出滤波器346,存储器350和处理器360。当使用帧间预测对当前块进行解码时,帧间预测模块332可以基于指定的运动向量而生成帧间预测子作为当前块的最终预测子。当当前块要使用帧间预测进行解码时,帧内预测模块336可以基于指定的帧内预测模式生成帧内预测子,作为当前块的最终预测子。此外,残差解码器344可以依据来自解碼控制器316的残留信息产生当前块的残差部分。可以通过将来自残差解码器344的当前块的残差部分和来自帧内-帧间预测模块312,帧间预测模块332或帧内预测模块336的当前块的最终预测子相加,加法器342可生成当前块的解码图像(即,已解码的块)。输出滤波器348将来自加法器342的已解码的块转换成图像帧,依据预定的滤波处理来处理图像帧,并输出滤波后的图像帧作为输出帧304。存储器350可以存储来自输出滤波器348的已滤波的图像帧和/或自预测模块312,332或336的当前帧的先前已解碼的块,其可被预测模块312,332或336进一步使用以用于检索参考样本。解码控制器316接收并分析已编码的视频数据302并提取当前块的残差信息和预测参数。解码控制器316可以将残差信息提供给残差解码器344,并将预测参数提供给帧内-帧间预测模块312,帧间预测模块332或帧内预测模块336,以便重建当前块的图像。在一些示例中,当使用帧内-帧间预测对当前块进行解码时,帧内-帧间预测模块312可以指示帧间预测模块332和帧内预测模块336生成当前块的对应的帧间预测子和帧内预测子,然后组合当前块的帧间预测子和帧内预测子,以输出当前块的最终预测子。当然,在一些其他示例中,帧内-帧间预测模块312可以被实现为具有内置帧间预测模块和/或内置帧内预测模块,使得来自帧间预测模块332和/或帧内预测模块336协助可能不是必需的。在操作中,当图像帧中的块(即,当前块)要被解码时,解码控制器316接收与当前块相关联的已编码的视频数据302,并且提取关于当前块将使用帧间预测,帧内预测或帧内-帧间预测进行解码的信息。当解码控制器316确定使用帧内-帧间预测来解码当前块时,解码控制器316将当前块的预测参数转发到帧内-帧间预测模块312。预测参数可以包括用于生成当前块的帧内预测子的帧内预测模式和用于生成当前块的帧间预测子的运动信息,和/或与用于生成当前块的最终预测子的帧内预测模式相关联的一个或多个帧内权重系数。可以在已编码的视频数据302中明确指定由解码控制器316选择或识别的预测参数,或者基于已编码的视频数据302中提供的信息和预定视频编码标准导出。帧内-帧间预测模块312可以依据相邻像素的样本和由解码控制器316提供的帧内预测模式来生成当前块的帧内预测子。或者,帧内-帧间预测模块312可以请求帧内预测模块336,以生成当前块的帧内预测子。此外,帧内-帧间预测模块312可以依据由解码控制器316提供的运动信息生成当前块的帧间预测子。或者,帧内-帧间预测模块312可以请求帧间预测模块332生成当前块的帧间预测子。在当前块的帧内预测子和帧间预测子的产生之后,帧内-帧间预测模块312通过依据与帧内预测模式相关的一个或更多的帧内权重系数,组合当前块的帧内预测子和帧间预测子来生成当前块的最终预测子。另一方面,解码控制器316还将残差信息转发到残差解码器344,在残差解码器344中产生当前块的残差部分。此时当前块可以通过在加法器342处添加最终预测子和当前块的残差部分来解碼。在一些示例中,解码控制器316可以从已编码的视频数据302中提取指示当前块是否使用帧内-帧间预测编码的标志,使得当前块的最终预测子基于组合它的帧间预测子和帧内预测子而被生成。标记可以被提供以作为已编码的视频数据302中的块层级的语法元素(例如,预测单元(PU)层级))。此外,标记可以旁路编码或使用一个,两个或三个上下文来上下文编码。在一些示例中,当两个上下文(例如,上下文0和上下文1)用于该标志时,当上方块或左侧块中的任一个使用帧内-帧间预测时,该标志可以使用上下文0,并且可以对其他场景使用上下文1。在一些示例中,当三个上下文(例如,上下文0,上下文1和上下文2)用于该标志时,当上方块或左侧块都不使用帧内-帧间预测时,标志可以使用上下文0,当上方块或左侧块使用帧内-帧间预测时,标志可以使用上下文1,并且当上方块或左侧块都使用帧内-帧间预测时,标志可以使用上下文2。可以将帧内-帧间预测的使用用讯号通知为独立预测模式。在一些示例中,对于当前块使用帧内-帧间预测可以被指示为帧间预测的特殊情况。在这种情况下,解码控制器316可以首先通过使用另一标志来确定已编码的视频数据302中当前块是否被识别为利用帧间预测编码。当当前块被识别为使用帧间预测编码时,标志将指示当前块是否使用帧内-帧间预测编码,并且仅当当前块被识别为使用帧间预测编码时,解码控制器316才可以提取标志。在一些示例中,当使用帧内-帧间预测对当前块进行编码时,将发送帧内信息,并且可以发送或导出帧间信息(例如,运动信息)。在这种情况下,发送标志之后发送帧内信息。否则,当仅使用帧间预测对当前块进行编码时,可以发送或导出帧间信息,帧内信息将不可用(即,没有发送帧内信息)。在一些其他示例中,对于当前块使用帧内-帧间预测可以被表示为帧内预测的特殊情况。在这种情况下,解码控制器316可以首先通过另一标志来确定编码视频数据302中当前块是否被识别为利用帧内预测编码。当当前块被识别为使用帧内预测编码时,标志将指示当前块是否使用帧内-帧间预测编码,并且仅当当前块识别为使用帧内预测编码时,解码控制器316才能提取标志。在一些示例中,当使用帧内-帧间预测对当前块进行编码时,发送帧间信息(例如,运动信息),并且可以发送或导出帧内信息。在这种情况下,在发送标志之后帧间信息被发送。否则,当仅使用帧内预测对当前块进行编码时,可以发送或导出帧内信息,同时帧间信息将不可用(即,没有发送帧间信息)。在一些示例中,解码控制器316还可以从已编码的视频数据302的序列参数集(SPS)或图像参数集(PPS)进一步提取,指示帧内-帧间预测是否被启用或禁用的使能标志用于相应的序列或图片。当使能标志指示对于相应的序列或图像启用帧内-帧间预测时,解碼控制器316可以检查块层级标志(例如,PU层级标志),以识别对应序列或图像中的对应块是否利用帧内-帧间预测而被编码。当使能标志指示对于相应的序列或图像禁用了帧内-帧间预测时,相应的序列或图像中没有块使用帧内-帧间预测进行编码,并且解码控制器316可以不需要检查上述块层级标志。此外,对于给定的块大小,帧内-帧间预测模块312可以支持多个第一预定帧内预测模式,而帧内预测模块336可以支持多个第二预定帧内预测模式。在一些示例中,为了减少编码开销,多个第一预定帧内预测模式可以是多个第二预定帧内预测模式的子集。来自多个第二预定帧内预测模式的多个第一预定帧内预测模式的选择可以随着当前块的大小和/或形状而变化。基于当前块的相邻块,多个第一预定帧内预测模式可以是从多个第二预定帧内预测模式中选择的最可能模式(mostprobablemodes,MPM)。当当前块是色度块时,第一组多个预定帧内预测模式可以至少包括对应于从与色度块相对应的一个或多个亮度块导出的帧内预测模式的直接模式(directmode)(DM模式)、或对应于从对应亮度块和一个或多个相邻亮度块和/或相邻色度块导出的帧内预测模式的线性模式(linearmode)(LM模式)。在一些示例中,当当前块是色度块时,多个第一预定帧内预测模式可以包括对应于水平参考方向的直接模式,线性模式,DC模式,平面模式,水平模式中的一个或多个,和/或对应于垂直参考方向的垂直模式。用于帧内-帧间预测的帧内权重系数与帧内预测模式相关联,因此可以基于帧内预测模式来确定。在一些示例中,当帧内预测模式是诸如DC模式或平面的非角度预测模式时,可以依据可应用于当前块的整体的帧内权重系数来执行组合帧间预测子和帧内预测子。在一些示例中,当帧内预测模式是角度预测模式时,当前块可以被划分为预定数量的部分。可以分别依据预定数量的部分的帧内权重系数来执行组合帧间预测子和帧内预测子。在一些示例中,当当前块的相应部分和沿着帧内预测模式的参考方向的相邻像素的样本之间的距离减小时,帧内权重系数的值可能增加。当然,可以在已编码的视频数据中明确地指定用于解码当前块的运动信息,帧内预测模式和权重系数中的一些或全部。此外,如图3所示,处理器360与存储器350电耦合,并且可以被配置为执行存储在存储器350中的程序指令,以执行各种功能。处理器360可以包括单个或多个处理核心。诸如解碼控制器316,帧内-帧间预测模块312,帧间预测模块332,帧内预测模块336,加法器342,残差解码器344和/或输出滤波器346等,解码电路310的各种组件可以由硬件组件,执行程序指令的处理器360,或其组合来实作。当然,处理器360还可以执行程序指令来控制已编码的视频数据302的接收以及输出帧304的输出或显示。在一些示例中,处理器360可执行程序指令以执行与解码已编码的视频数据302不直接相关的功能。存储器350可以用于存储程序指令,对应于预测参数的信息,先前已解码的块,输出帧和/或用于执行解码电路310的各种功能的中间数据。在一些示例中,存储器350包括诸如半导体或固态存储器,随机存取存储器(RAM),只读存储器(ROM),硬盘,光盘或其它合适的存储介质之类的非暂时计算器可读介质。在一些实施例中,存储器350包括上面列出的两个或更多个非暂时计算器可读介质的组合。图4A示出了依据本公开的实施例的用于帧内-帧间预测的可用帧内预测模式的示例性集合的示意图。可用的帧内预测模式可以包括两个非角度预测模式和五个角度预测模式。可用的非角度预测模式可以包括平面模式和DC模式。可用的角度预测模式的参考方向可以包括垂直方向(V)和水平方向(H)。垂直方向指示合适的样本可以位于与当前块的上侧相邻的位置上,水平方向指示合适的样本可以是位于与当前块的左侧相邻的位置。可用角度预测模式的参考方向还可以包括垂直对角线方向(V+1)、对角线方向(V-1)以及水平对角线方向(H+1)。垂直对角线方向(V+1)对应于垂直方向顺时针旋转45度,对角线方向(V-1)对应于垂直方向逆时针旋转45度角,以及水平对角线方向(H+1)对应于水平方向逆时针旋转45度角。可以有许多不同的方式来发送这七个帧内预测模式。在一个示例中,可以使用较少的二进制(bin)发送非角度模式,并且可以使用较多的二进制来发出角度模式。表1示出了依据该方法的二进制分配,其中基于相应的参考方向来识别各种角度模式。表1在另一示例中,可以基于统计量来布置帧内预测模式的信令,其中可以使用较少的二进制来发送更频繁使用的模式,并且可以使用更多的二进制来发送较不频繁使用的模式。例如,水平模式(模式H)和垂直模式(模式V)可以使用较少的二进制,而其他模式可以有更多的二进制。表2示出了依据该方法的二进制分配。表2此外,参考表1和表2所示的二进制可以上下文编码或旁路编码(bypasscoded)。此外,用于帧内-帧间预测的帧内预测模式可以是用于帧内预测的可用帧内预测模式的子集。例如,虽然帧内-帧间预测使用七种不同的帧内预测模式,帧内预测可以使用依据H.265/HEVC标准的35个帧内预测模式,其包括用于帧内-帧间预测的七个帧内预测模式和在方向(V+1)和方向(H+1)之间扩展的参考方向的28个附加角度预测模式。在另一示例中,帧内预测可以使用67个帧内预测模式,其包括用于帧内-帧间预测的7个帧内预测模式和在方向(V+1)和方向(H+1)扩展的参考方向的60个附加角度预测模式。图4B示出了依据本公开的实施例的用于帧内-帧间预测的可用帧内预测模式的另一示例性集合的示意图。可用的帧内预测模式可以包括两个非角度预测模式和九个角度预测模式。可用的非角度预测模式可以包括平面模式和DC模式。可用角度预测模式的参考方向可以包括垂直方向(V),水平方向(H)和方向(V-2),方向(V-1),方向(V+1),方向(V+2),方向(H-1),方向(H+1)和方向(H+2),其中相邻方向分开22.5度。选择的帧内预测模式的发送可以与参照表1和表2所示的相似安排。另外,帧内-帧间预测的帧内预测模式可以是用于帧内预测的可用帧内预测模式的子集。图4C示出了依据本公开的实施例的用于帧内-帧间预测的可用帧内预测模式的一般化示例的示意图。可用的帧内预测模式可以包括两个非角度预测模式和4k+1个角度预测模式,其中k是大于1的正整数。可用的非角度预测模式可以包括平面模式和DC模式。可用的角度预测模式的参考方向可以包括垂直方向(V),水平方向(H)和方向(V-1)…方向(V-k),方向(V+1)…方向(V+k),方向(H-1)…方向(H-k+1)和方向(H+1)…方向(H+k)在从垂直对角线方向(V+1)到水平垂直对角线方向H(+1)的180度范围内,其中相邻方向被分开45/k度。在一些示例中,可用的帧内预测模式还可以包括其他适用的角度或非角度预测模式,例如水平平面模式或垂直平面模式。选择的帧内预测模式的信令可以与参照表1和表2所示的相似安排。另外,用于帧内-帧间预测的帧内预测模式可以是用于帧内预测的可用帧内预测模式的子集。在一些示例中,用于帧内-帧间预测的可用帧内预测模式可以按照使用频率的降序排列,或者预定顺序或使用频率的降序在顶部列出用于帧内预测的MPM,然后是用于帧内预测的其余帧内预测模式的子集。可以相应地使用可变长度或固定长度编码而编码可用的帧内预测。在一个示例中,帧内-帧间预测可以使用69个帧内预测模式,包括65个角度预测模式和4个非角度预测模式。前五个列出的帧内预测模式可以是MPM,并且可以共享由帧内预测或不同的上下文编码方案使用的上下文编码方案。剩余的64个帧内预测模式可以是固定长度编码或可变长度编码。表3示出如上所述的示例编码方案。表3帧内预测模式列表索引二进制串01101020110301110401111500+附加的二进制…00+附加的二进制6800+附加的二进制在一个示例中,帧内-帧间预测可以使用67个帧内预测模式,包括65个角度预测模式和2个非角度预测模式,如联合视频探索小组(JVET)的联合探索模型(JEM)命名的参考软件中所描述。在另一示例中,帧内预测可以使用37个帧内预测模式,包括如H.265/HEVC标准中所提出的33个角度预测模式和2个非角度预测模式。前五个帧内预测模式可以是帧内预测的MPM。剩余的32个帧内预测模式可以是固定长度编码(具有五个额外的二进制)或可变长度编码。表4示出如上所述的示例编码方案。表4在通用示例中,帧内-帧间预测可以使用N个帧内预测模式,其中N是大于5的正整数。前5个帧内预测模式可以是帧内预测的MPM。剩余的帧内预测模式可以是固定长度编码或可变长度编码。表5示出如上所述的示例编码方案。表5帧内预测模式列表索引二进制串01101020110301110401111500+附加的二进制…00+附加的二进制N-100+附加的二进制在一个示例中,用于帧内-帧间预测的可用帧内预测模式可以仅包括帧内预测的五个MPM。在另一个通用示例中,帧内-帧间预测可以使用N个帧内预测模式,其中N是大于3的正整数。前三个帧内预测模式可以是帧内预测的MPM。剩余的帧内预测模式可以是固定长度编码或可变长度编码。表6示出如上所述的示例编码方案。表6帧内预测模式列表二进制串0110102011300+附加的二进制…00+附加的二进制N-100+附加的二进制在一个示例中,用于帧内-帧间预测的可用帧内预测模式可以仅包括帧内预测的五个MPM。当然,可以存在许多其他适用的方法来排列可用的帧内预测模式的顺序和相应的编码方案。另外,参照表3,表4,表5和表6示出的二进制可以是上下文编码或旁路编码。此外,用于帧内-帧间预测的可用帧内预测模式的数量可以随着当前块的大小或形状而变化。例如,具有较大尺寸的块可以使用更多数量的可用帧内预测模式,并且具有较小尺寸的块可以使用较少数量的可用帧内预测模式。在一些示例中,已编码的视频数据的SPS或PPS中的一个或多个语法元素可以用于指示可用于相应序列或图片中的帧内-帧间预测的帧内预测模式的预定集合。图5A示出了依据本公开的实施例的用于帧内-帧间预测的可用帧内预测模式的示例性集合的示意图。用于帧内预测的可用角度预测模式可以对应于包括垂直方向(V),水平方向(H)和方向(V-1)…方向(V-k),方向(V+1)…方向(V+k),方向(H-1)…方向(H-k+1)和方向(H+1)…方向(H+k)的参考方向,其中k是大于1的正整数。此外,块510可以具有宽度WIDTH510和高度HEIGHT510。当块510的宽度WIDTH510大于块510的高度HEIGHT510时,用于使用帧内-帧间预测对块510进行编码的可用帧内预测模式可以排除一部分角度预测模式,这部分角度预测模式的方向为水平方向(H)逆时针方向旋转的方向。如图5A所示,可排除的角度预测模式可以对应于的方向(H+1)…方向(H+K)。图5B示出了依据本发明实施例的用于具有比图5A描述的宽比高长的块510的帧内-帧间预测的可用的帧内预测模式的示例性集合的示意图。使用帧内-帧间预测编码块510的可用帧内预测模式可以排除在指向左边缘的所有参考方向之间均匀分布的角度预测模式的一部分(例如,距离水平方向H偏离+/-45度的范围之内)。如图5B所示,可排除的角度预测模式可以对应于方向(H+k')或(H-k'),其中k'是指+k和-k之间的奇数。减少用于较短边缘的角度预测模式的数量的其他适用方法在所设想的实施例内。图5C示出了依据本公开的实施例的用于帧内-帧间预测的可用帧内预测模式的示例性集合的示图。与块510相比,块520可以具有宽度WIDTH520和高度HEIGHT520。当块520的宽度WIDTH520小于块520的高度HEIGHT520时,用于使用帧内-帧间预测对块520进行编码的可用帧内预测模式可以排除具有对应于垂直方向(V)顺时针旋转的一部分角度预测模式。如图5B所示,可排除的角度预测模式可以对应于方向(V+1)…方向(V+K)。图5D示出了依据本发明实施例的与图5C描述的相比具有高比宽长的块520的帧内-帧间预测的可用的帧内预测模式的另一示例性集合的示意图。使用帧内-帧间预测对块520进行编码的可用帧内预测模式可以排除在指向上方边缘的所有参考方向之间均匀分布的角度预测模式的一部分(例如,距离垂直方向V偏离+/-45度的范围之内)。如图5D所示,可排除的角度预测模式可以对应于方向(V+k')或方向(V-k'),其中k'是指+k和-k之间的奇数。减少用于较短边缘的角度预测模式的数量的其他适用方法在所设想的实施例内。如图5A-图5D所示,通过减少用于帧内-帧间预测的可用帧内预测模式的数量,可以进一步减少用于发送预测参数的开销。图6示出了依据本公开的实施例的与各种帧内预测模式的不同参考方向相关联的可应用于块的各个部分的帧内权重系数的示例布置的示意图。图6示出了块610和两个典型的方向622和624。典型的方向622对应于可用帧内预测模式中的垂直方向(V),典型的方向624对应于可用帧内预测模式中的水平方向(H)。典型的方向622和典型的方向624中最接近帧内预测模式的参考方向的一个被识别为已识别的典型方向。此外,块610可以被划分为预定数量的、所识别的典型方向布置的部分。在一些示例中,组合帧间预测子和帧内预测子分别依据块的部分的帧内权重系数来执行。可以沿所识别的典型方向以升序的方式设置帧内权重系数的值,使得当沿着所识别的典型方向的对应部分和相邻像素的样本之间的距离减小时,帧内权重系数的值增加。例如,当与水平方向(H)相比,帧内预测模式是更靠近垂直方向(V)的角度模式时,例如,图4C中的方向(V-k+1)…(V+k),典型的方向622或垂直方向(V)将是所识别的典型的方向。块610可以被分成沿着垂直方向(V)布置的多个部分,例如具有四个部分612a,612b,612c和612d的示例块612。对于部分612a,612b,612c和612d的帧内权重系数w_612a,w_612b,w_612c和w_612d的值可以沿着所标识的代表方向以升序的方式设置。例如,w_612a,w_612b,w_612c和w_612d可以分别设置为0.8,0.6,0.4和0.2。在该示例中,对于部分612a,612b,612c和612d的帧间权重系数inter_w_612a,inter_w_612b,inter_w_612c和inter_w_612d的值可以被设置为1-w_612a,1-w_612b,1-w_612c和1-w_612d(分别为0.2,0.4,0.6,0.8)。在另一示例中,当与垂直方向(V)相比,帧内预测模式是更靠近水平方向(H)的角度模式时,例如,图4C中的方向(H-k+1)…(H+k),典型的方向624或水平方向(H)将是所识别的典型的方向。块610可以被划分为沿着水平方向(H)布置的多个部分,例如具有四个部分614a,614b,614c和614d的示例块614。部分614a,614b,614c和614d的帧内权重系数w_614a,w_614b,w_614c和w_614d的值可以沿着所标识的代表方向以升序来设置。例如,w_614a,w_614b,w_614c和w_614d可以分别设置为0.8,0.6,0.4和0.2。在该示例中,对于部分614a,614b,614c和614d的帧间权重系数inter_w_614a,inter_w_614b,inter_w_614c和inter_w_614d的值可以被设置为1-w_614a,1-w_614b,1-w_614c和1-w_614d(即,分别为0.2,0.4,0.6,0.8)。此外,如果帧内预测模式的参考方向与典型的方向622和624(例如方向(V-k))大致相同的距离,则这样的方向可以被定义为更靠近其顺时针旋转的方向或逆时针旋转的方向,或两者,使得帧内权重系数将是两种方案的平均值。图7示出了依据本公开的实施例的与各种帧内预测模式的不同参考方向相关联的可应用于块的各个部分的帧内权重系数的另一示例性布置的示意图。图7示出块710和五个典型的方向722,723,724,726和728。典型的方向722对应于可用帧内预测模式中的垂直方向(V),典型的方向724对应于可用的帧内预测模式中的水平方向(H)。此外,典型的方向723对应于对角线方向(V-k),典型的方向724对应于垂直对角线方向(V+k),典型的方向726对应于水平对角线方向(H+k)。在一些示例中,可以使用多于或少于五个典型的方向来分配称重系数。典型的方向可以从垂直对角线方向(V+k)到水平对角线方向(H+k)的180度跨度均匀地分布。与参考图6所示的示例类似,将典型的方向722,723,724,726和728中与帧内预测模式的参考方向最接近的一个标识为所识别的典型的方向。此外,块710可以被划分为预定数量的沿着所识别的代表方向布置的部分。可以沿所识别的代表方向以升序的方式设置帧内权重系数的值,使得当沿着所识别的代表方向的对应部分和相邻像素的样本之间的距离减小时,帧内权重系数的值增加。例如,当帧内预测模式是更接近典型的方向722或垂直方向(V)的角度模式时,块710可以被划分为沿垂直方向(V)布置的多个部分,例如具有四个部分712a,712b,712c和712d的示例块712。可以沿着识别的典型的方向以升序设置适用于部分712a,712b,712c和712d的帧内权重系数的值。在另一示例中,当帧内预测模式是更接近典型的方向724或水平方向(H)的角度模式时,块710可以被划分为沿水平方向(H)布置的多个部分,例如示例块714具有四个部分714a,714b,714c和714d。可以沿着识别的代表方向以升序设置适用于部分714a,714b,714c和714d的帧内权重系数的值。类似地,对于具有更接近典型的方向723(V-k),726(V+k)或728(H+k))的方向的帧内预测模式,块710可以被划分为沿着这样的方向布置的多个部分。例如,示例块713可以对应于更接近典型的方向723(V-k)的帧内预测模式,其中块713被分成沿着典型的方向723(V-k)排列的四个部分713a,713b,713c和713d。可以沿着典型的方向723(V-k)以升序设置适用于部分713a,713b,713c和713d的帧内权重系数的值。示例块716可以对应于更接近典型的方向726(V+k)的帧内预测模式,其中块716被分成沿着典型的方向726(V+k)排列的四个部分716a,716b,716c和716d。可以沿着典型的方向726(V+k)以升序设置适用于部分716a,716b,716c和716d的帧内权重系数的值。此外,示例块718可以对应于更接近典型的方向728(H+k)的帧内预测模式,其中块718被划分为沿着代表方向728(H+k)排列的四个部分718a,718b,718c和718d。可以沿着典型的方向728(H+k)以升序设置适用于部分718a,718b,718c和718d的帧内权重系数的值。此外,如果帧内预测模式的方向与参考方向722-728的距大致相同离,则这样的方向可以被定义为更接近于如图7所示的顺时针旋转或逆时针旋转的方向,或者两者。此外,如图6和图7所示,块610或710可以被划分为四个部分。在一些示例中,可以基于块610或710的大小来确定部分的数量,其中较大的块可以被划分为更多的部分。可能部分的数目可以为从2到在块的一侧上的像素数目。此外,这些部分可以以任何合适的方式分开,包括任何合适的尺寸或形状。图8示出了依据本公开的示例性实施例的适用块810的各种部分的帧内权重系数的示范性布置的示意图。其中,块810的各种部分的帧内权重系数与沿示例性帧内预测模式的参考方向820的相邻像素样本的各种距离相关。当帧内预测模式是具有参考方向820的角度预测模式时,块810被划分成预定数量的部分。块810的帧内预测子可以基于参考方向820和相邻的样本像素830而产生。在一些示例中,每个部分可以仅与一个像素一样小。如图8所示,块810被分成16个部分。可以分别依据预定数量的部分的帧内权重系数来执行对块810的帧间预测子和帧内预测子的组合。此外,可以基于帧内预测模式的参考方向820的相应部分和相邻像素830的样本之间的距离来设置帧内权重系数的值。例如,可以基于沿着参考方向820的部分812和相邻像素之间的距离D812来确定可应用于部分812的帧内权重系数。类似地,可以基于沿着参考方向820的部分814和相邻像素之间的距离D814来确定用于部分814的帧内权重系数。在一些示例中,当沿帧内预测模式的参考方向的相应部分和相邻像素的样本之间的距离减小时,帧内权重系数的值增加。在至少一个示例中,当沿着参考820的方向的块的特定部分与相邻像素之间的距离为D时,帧内权重系数w_intra的值可以被确定为:w_intra(D)=a*D2+b。在该等式中,a和b是可以包括在编码视频数据中的正数,例如在编码视频数据的SPS,PPS或片头中。或者,可以依据预定的视频编码标准预定义a和b,并且因此可以在解码电路或编码电路中进行硬编码。在一些示例中,当前块的帧内权重系数可以自先前块的帧内权重系数导出,条件是用于导出帧内权重系数的调整参数被发送。当然,第6-8图用于表示分配帧内权重系数的非限制性示例。可以存在许多其他合适的方法来分配用于组合当前块的帧内预测子和帧间预测子的帧内权重系数。图9示出了依据本公开的实施例的在诸如图1中的视频编解码系统100的视频编解码系统中用于视频编码的处理电路920的示范性功能块的示意图。图9是编码电路920的简化图,因此可能不显示编码电路920的所有细节和变化。编码电路920包括帧内-帧间预测模块922,帧内-帧间估计模块924和编码控制器926,其可以对应于帧内-帧间预测模块122,帧内-帧间估计模块124和图1中的编码控制器126。编码电路920还包括帧间预测模块932,帧间估计模块934,帧内预测模块936,帧内估计模块938,加法器942,残差编码器944,重构模块948,存储器950和处理器960。编码控制器926监视帧内-帧间预测模块922,帧内-帧间估计模块924,帧间预测模块932,帧间估计模块934,帧内预测模块936和帧内估计模块938的操作。编码控制器926可以指示帧内-帧间估计模块924,帧间估计模块934和/或帧内估计模块938将每个输入帧划分成块并且确定每个块的预测方案,预测模式和/或相应的预测参数。编码控制器926可以选择帧内-帧间预测模块922,帧间预测模块932和帧内预测模块936之一,以将当前块的对应的最终预测子输出到加法器942。加法器942接收当前块的原始图像和当前块的最终预测子,并且通过从当前块的原始图像中减去最终预测值来输出当前块的残差部分。残差编码器944接收并编码当前块的残差部分。编码控制器926可以基于来自帧内-帧间估计模块924,帧间估计模块934和/或帧内估计模块938的预测参数以及来自残差编码器944的输出来生成已编码的视频数据902。在一些示例中,帧内-帧间预测的使用可以被用讯号通知为独立预测模式。在一些示例中,对于当前块的帧内-帧间预测的使用可以被指示为帧间预测的特殊情况。在这种情况下,编码控制器926通过包括于已编码的视频数据902中的信息识别当前块是否使用帧间预测进行编码,然后只有当当前块被识别为使用帧间预测进行编码的情况下(在一些实施例中,相应的帧间信息可以相应地被发送),包括一个标志,识别帧内-帧间预测的使用。如果使用帧间-帧内预测对当前块进行编码,则发送帧内信息(例如,水平模式被选择)。否则,没有帧内信息被发送。在一些示例中,对于当前块使用帧内-帧间预测可以被表示为帧内预测的特殊情况。在这种情况下,编码控制器926通过包括于已编码的视频数据902中的信息识别当前块是否使用包帧内预测进行编码,然后只有当当前块被识别为使用帧内预测编码的情况下(在一些实施例中,相应的帧内信息可以相应地发讯号),包括一个标识,识别帧内-帧间预测的使用。如果使用帧间-帧内预测对当前块进行编码,则发送帧间信息(例如,运动向量预测子索引,预测方向或参考图像索引)。否则,不会发出任何帧间信息。帧内-帧间预测模块922,帧间预测模块932和帧内预测模块936可以分别从帧内-帧间估计模块924,帧间估计模块934和帧内估计模块938接收预测参数,并且可以以类似于图3中的帧内-帧间预测模块312,帧间预测模块332和帧内预测模块336的操作的方式生成当前块的对应的最终预测子。因此省略其详细描述。在一些示例中,编码控制器926可以控制帧内-帧间估计模块924,帧间估计模块934,帧内估计模块938,帧内-帧间预测模块922,帧间预测模块932,帧内预测模块936和/或残差编码器944,以基于不同的预测方案和参数对当前块进行编码,然后可以选择用于编码当前块的编码方案和参数的最佳组合。重构模块948可以从帧内-帧间预测模块922,帧内预测模块932或帧间预测模块936接收最终预测子以及从残差编码器944接收当前块的重构残差部分。基于这样的信息,重构模块948可以以类似于图3中的加法器342和输出滤波器346的操作的方式生成当前块和/或重构帧的重构图像。重构的块和/或帧可以存储在存储器950中,并且可由帧内-帧间预测模块922,帧内预测模块932,帧间预测模块936,帧内-帧间估计模块924,帧内估计模块934,和/或帧间估计模块938来存取以用于估计下一个块的预测参数。在操作中,当帧的块(即,当前块)编码要由编码控制器926指示的帧内-帧间预测编码时,帧内-帧间估计模块924自输入帧906接收当前块的原始图像。帧内-帧间估计模块924可以确定合适的预测参数,例如所选择的运动向量,所选择的帧内预测模式和/或相关联的权重系数。用于帧内-帧间预测的帧内预测模式可以从可用的帧内预测模式中选择,如参照第4A-5D图所示。可以如参照第6-8图所示来确定权重系数。在一些示例中,帧内-帧间估计模块924可以与帧间估计模块934和/或帧内估计模块938协调以从其获得运动信息和/或帧内预测模式,并且可以做出鉴于权重系数的合适预测参数的最终决策。帧内-帧间估计模块924然后将预测参数发送到编码控制器926和帧内-帧间预测模块922。帧内-帧间预测模块922可以基于由帧内-帧间估计模块924提供的预测参数来生成当前块的最终预测子。帧内-帧间预测模块922可以依据相邻像素的样本和帧内预测模式生成当前块的帧内预测子。或者,帧内-帧间预测模块922可以请求帧内预测模块936生成当前块的帧内预测子。此外,帧内-帧间预测模块922可以依据运动信息生成当前块的帧间预测子。或者,帧内-帧间预测模块922可以请求帧间预测模块932生成当前块的帧间预测子。在当前块的帧内预测子和帧间预测子生成之后,帧内-帧间预测模块922依据与帧内预测模式相关的一个或多个帧内权重系数,通过将当前块的帧内预测子和帧间预测子进行组合,来生成当前块的最终预测子。帧内-帧间预测模块922,帧间预测模块932,和/或帧内预测模块936可以以类似于帧内-帧间预测模块312的操作的方式生成最终预测子。因此,省略其详细描述。加法器942可以基于当前块的原始图像和最终预测子输出当前块的残差部分,并对残差部分进行编码。编码控制器926可以从帧内-帧间估计模块924,帧间估计模块934,和/或帧内估计模块938以及编码的残差信息中收集预测参数,并且确定当前块的选择的编码方案是否可接受。此外,编码控制器926可以以参考表1至表6所示的方式对所选择的帧内预测模式进行编码。此外,如图9所示,处理器960与存储器950电耦合,并且可以被配置为执行存储在存储器950中的程序指令,以执行各种功能。处理器960可以包括单个或多个处理核心。编码电路920的各种组件,诸如编码控制器926、帧内-帧间预测模块922、帧内-帧间估计模块924、帧间预测模块932、帧间估计模块934、帧内预测模块936、帧内估计模块938、加法器942、残差编码器944、和/或重构模块948,可由硬件组件,处理器960执行程序指令或其组合来实作。当然,处理器960还可以执行程序指令以控制输入帧906的接收和编码视频数据902的输出。在一些示例中,处理器960可执行程序指令以执行可能与已编码的视频数据不直接相关的功能。存储器950可以用于存储程序指令,对应于预测参数重构块的信息,输入帧和/或用于执行编码电路910的各种功能的中间数据。在一些示例中,存储器950包括诸如半导体或固态存储器,随机存取存储器(RAM),只读存储器(ROM),硬盘,光盘或其它合适的存储介质之类的非暂时计算器可读介质。在一些实施例中,存储器950包括上面列出的两个或多个非暂时性计算器可读介质的组合。此外,图3中的解码电路310和图9中的编码电路920可以在相同的电子设备中实现,并且解码电路310和编码电路920的各种组件可以被共享或重用。例如,解码电路310中的存储器350,处理器360,帧内-帧间预测模块312,帧内预测模块332,帧间预测模块336和输出滤波器346中的一个或多个也可以用作图9中的存储器950,处理器960,帧内-帧间预测模块922,帧内预测模块932,帧间预测模块936,以及重构模块948。图10是依据本公开的实施例利用诸如图3中的处理电路310的用于视频解码的处理电路的示范性视频解码处理1000的流程图。应当理解,可以在图10所示的处理1000之前,之中和/或之后执行附加操作。处理1000从步骤S1001开始,进入步骤S1010。在步骤S1010中,接收与图像帧中的当前块相关联的已编码的视频数据作为输入数据。例如,解码控制器316可以接收包括与当前块相关联的输入数据的已编码的视频数据302。在步骤S1020中,确定用于解碼当前块的预测类型。例如,解码控制器316可以接收包括与当前块相关联的输入数据的已编码的视频数据302。解码控制器316可以从已编码的视频数据302中提取预测参数,并且使用帧间预测,帧内预测或帧内-帧间预测来确定当前块是否被编码。如图2所示,当使用帧内-帧间预测对当前块进行编码时,将通过生成帧间预测子和帧内预测子来对当前块进行解码,并组合帧间预测子和帧内预测子以生成最终预测子。在一些示例中,一个标志指示是否使用基于组合帧间预测子和帧内预测子生成的最终预测子来使得当前块被编码(即,使用帧内-帧间预测),该标志自已编码的视频数据中的块层级(例如,PU层级)处的语法元素中提取。标志可以使用旁路编码或一个,两个或三个上下文来上下文编码。在一些示例中,帧内-帧间预测被布置为帧间预测的特殊情况,并且仅当当前块由另一标志在已编码的视频数据中被识别或在输入数据中被识别作为利用帧间预测而被编码时,该标志自已编码的视频数据中被提取。在一些示例中,帧内预测被布置为帧内预测的特殊情况,并且仅当当前块由另一标志在已编码的视频数据中被识别或在输入数据中被识别作为利用帧内预测而被编码时,该标志自已编码的视频数据中被提取。此外,可以从SPS,PPS或已编码的视频数据的一些其他高级属性中提取指示对于相应序列或图片是否启用帧内-帧间预测的使能标志。当使能标志指示对于相应的序列或图像启用了帧内-帧间预测时,可以提取或检查块层级标志,以便识别相应序列或图像中的相应块使用帧内-帧间预测编码。当使能标志指示对于相应的序列或图像禁用帧内-帧间预测时,相应序列或图像中没有块使用帧内-帧间预测进行编码,并且上述PU标志可以不需要提取或检查。在步骤S1030中,如果使用帧内-帧间预测对当前块进行解码,则处理进行到步骤S1040。如果要使用帧内-帧间预测以外的识别类型的预测来解碼当前块,则处理进入步骤S1035。例如,如果解码控制器316识别当前块是使用帧内-帧间预测编码的,则处理进行到步骤S1040;否则,处理进行到步骤S1035。在步骤S1035中,使用所识别的预测类型来生成当前块的最终预测子。例如,当使用帧间预测编码当前块时,帧间预测模块332可以生成当前块的最终预测子。此外,当使用帧内预测编码当前块时,帧内预测模块336可以生成当前块的最终预测子。在步骤S1040中,基于运动向量和参考图像生成当前块的帧间预测子。可以在已编码的视频数据中明确地提供运动向量,或者基于在已编码的视频数据中提供的运动信息导出运动向量。例如,帧内-帧间预测模块312可以通过本身或者在帧间预测模块332的帮助下,生成如参照图3所讨论的当前块的帧间预测子。在一些示例中,使用运动向量来生成帧间预测子,即使用高级运动向量预测(AMVP),合并或跳过模式导出运动向量来确定帧间预测子。在步骤S1050中,基于相邻像素的样本和定位相邻像素的样本的帧内预测模式来生成当前块的帧内预测子。帧内预测模式可以明确地提供在已编码的视频数据中,或者基于在已编码的视频数据中提供的信息导出。例如,帧内-帧间预测模块312可以本身或者藉助于帧内预测模块336生成如参考图3所讨论的当前块的帧内预测子。在一些示例中,可以从多个第一预定帧内预测模式中选择使用帧内-帧间预测的当前块的帧内预测模式,并且依据自多个第二预定帧内预测模式中选择的第二帧内预测模式,基于得到的帧内预测子,第二块可被编码或被解码。多个第一预定帧内预测模式可以是如参考图3所讨论的多个第二预定帧内预测模式的子集。多个第一预定帧内预测模式可以至少包括从多个第二预定帧内预测模式中选择的最可能的模式(mostprobablemodes,MPM)。在一些示例中,当当前块是色度块时,多个第一预定帧内预测模式可以包括直接模式,线性模式,DC模式,平面模式,水平模式和/或垂直模式中的一个或多个。此外,可以基于当前块的大小来确定一些多个第一预测帧内预测模式。此外,当当前块的宽度大于当前块的高度时,多个第一预定帧内预测模式可以排除多个第二预定的帧内预测模式的角度预测模式的第一部分,其具有参考方向指向如第5A和5B图中的当前块的左侧边缘。当当前块的宽度小于当前块的高度时,多个第一预定帧内预测模式可以排除多个第二预定帧内预测模式的角度预测模式的第二部分,其具有参考方向指向如第5C和5D图中的当前块的上边缘。在步骤S1060中,通过依据与帧内预测模式相关联的一个或多个帧内权重系数组合帧间预测子和帧内预测子来生成当前块的最终预测子。该一个或多个帧内权重系数分别指示一个或多个比率,该一个或多个比率对应于将帧内预测子的一个或多个部分分别与帧间预测子组合的比率。在一些示例中,如图3所示,帧内-帧间预测模块312基于由解码控制器316提供或由帧内-帧间预测模块312确定的一个或多个帧内权重系数来生成当前块的最终预测子。在一些示例中,当帧内预测模式是非角度预测模式时,依据可应用于整个当前块的帧内权重系数来执行组合帧间预测子和帧内预测子。例如,当帧内预测模式是DC模式或平面模式时,可以将整个当前块的帧内权重系数设置为0.5。在这种情况下,帧间预测子的帧间权重系数可以被设置为0.5。在一些示例中,当帧内预测模式是角度预测模式时,当前块可以被划分成预定数量的部分,并且可以依据用于部分的预定数目的帧内权重系数可以执行分别组合帧间预测子和帧内预测子。例如,如参照图8所述,随着帧内预测模式的参考方向的对应部分和相邻像素的样本之间的距离的减少,帧内权重系数的值增加。在一些示例中,当帧内预测模式是角度预测模式时,可以识别与帧内预测模式的参考方向最近的一个预定典型的方向。当前块可以被划分为沿着所识别的代表方向布置的预定数量的部分,如参照图6和图7所述。在这样的示例中,依据预定数量的部分的帧内权重系数执行分别组合帧间预测子和帧内预测子,并且当沿着所识别的典型的方向的对应部分和相邻像素的样本之间的距离减少时,帧内权重系数的值增加。在一些示例中,预定典型的方向至少包括垂直参考方向和水平参考方向。在步骤S1070中,基于最终预测子对当前块进行解码以输出已解码的块。例如,加法器342基于组合当前块的残差部分和来自帧内-帧间预测模块312的最终预测子,生成当前块的解碼块,如参照图3所述。在步骤S1070之后,处理进行到步骤S1099并终止。图11示出了依据本公开的实施例的诸如图9所示的处理电路920的用于视频编码的处理电路的视频编码处理1100的流程图。应当理解,可以在图11所示的处理1100之前,之中和/或之后执行附加操作。处理1100从步骤S1101开始,进入步骤S1110。在步骤S1110中,接收包括使用帧内-帧间预测编码的当前块的输入图像帧作为输入数据。例如,处理电路920可以接收包括具有当前块的图像帧的输入帧906。在步骤S1120中,估计用于使用帧内-帧间预测对当前块进行编码的预测参数。例如,如图9所述,帧内-帧间估计模块924单独地或者在帧间估计模块934和/或帧内估计模块938的帮助下估计用于使用帧内-帧间预测编码当前块的预测参数。如参照图2所示,当使用帧内-帧间预测对当前块进行编码时,基于组合帧间预测子和帧内预测子,生成当前块的最终预测子。可以通过确定参考帧、指示参考帧中的参考块的运动向量、和/或用于生成最终预测子的帧间权重系数来确定用于生成帧间预测子的预测参数的估计。用于生成帧内预测子的预测参数的估计可以基于用于生成最终预测子的相邻像素、所选择的帧内预测模式、和/或帧内权重系数。在一些示例中,可以从多个第一预定帧内预测模式中选择使用帧内-帧间预测的当前块的帧内预测模式,并且可以依据从多个第二预定帧内预测模式选择第二帧内预测模式,基于得到的帧内预测子,第二块可被编码。第一组多个预定帧内预测模式可以是多个第二预定帧内预测模式的子集,如参照图3、图9、图10所讨论的。此外,帧内权重系数可以与所选择的帧内预测模式相关联。帧内权重系数的分配可以被确定,如参考图3、图6-图9、图10所讨论的那样。在步骤S1130中,基于在S1120确定的预测参数来生成当前块的帧间预测子。例如,如图9所示,帧内-帧间预测模块922单独地或者藉助于帧间预测模块932,依据帧内-帧间估计模块924提供的预测参数生成当前块的帧间预测子。在步骤S1140中,基于在S1120确定的预测参数来生成当前块的帧内预测子。例如,如图9所描述,帧内-帧间预测模块922单独地或者藉助于帧内预测模块936,依据帧内-帧间估计模块924提供的预测参数,生成当前块的帧内预测子。在步骤S1150中,通过依据权重系数组合帧间预测子和帧内预测子来生成当前块的最终预测子。例如,如参考图9所述,帧内-帧间预测模块922基于与所选择的帧内预测模式相关联的帧内权重系数来生成当前块的最终预测子,由帧内-帧间估计模块924提供或由帧内-帧间预测模块922确定。在步骤S1160中,确定预测参数是否可接受。如果预测参数是可接受的,则处理进行到步骤S1170。如果预测参数不可接受,则处理可以进行到步骤S1120以重做预测参数估计,或者进行步骤S1199以尝试另一种类型的预测。例如,编码控制器926接收由帧内-帧间估计模块924估计的预测参数和自残差编码器944编码的已编码残差信息,已编码残差信息基于自帧内-帧间预测模块922的最终预测子而生成。编码控制器926可以基于预定的编码标准确定预测参数和已编码残差信息是否可接受,并且确定帧内-帧间估计模块是否必须提供估计预测参数的不同集合和/或仅使用帧内预测或帧间预测。在步骤S1170中,基于最终预测子对当前块进行编码以输出已编码的视频数据。例如,通过对来自步骤S1120的预测参数进行编码而编码当前块,并且基于减去自当前块的原始图像的最终预测子而产生残差信息。例如,如图9所述,加法器942生成当前块的残差信息,残差编码器944生成已编码的残差信息,并且编码控制器926基于来自帧内-帧间预测模块924的预测参数以及自残差编码器的已编码残差信息生成已编码的视频数据。帧内-帧间预测和各种预测参数的选择可以明确地包括在已编码的视频数据中,或者可以基于已编码的视频数据中提供的信息在解码过程期间导出。在一些示例中,用于帧内-帧间预测的运动向量可以被明确地提供在编码视频数据中,或者通过使用高级运动向量预测(AMVP),合并或跳过模式导出运动向量来确定。在一些示例中,一个标志指示当前块是否使用基于组合帧间预测子和帧内预测子(即,使用帧内-帧间预测)而生成的最终预测子而被编码。该标志被包括于已编码的视频数据中作为块层级的语法元素。标志可以旁路编码或使用一个,两个或三个上下文来上下文编码。在一些示例中,帧内-帧间预测被布置为帧间预测的特殊情况,并且仅当当前块由另一标志在已编码的视频数据中被识别或在输入数据中被识别作为利用帧间预测而被编码时,该标志包括于自已编码的视频数据中。在一些示例中,帧内-帧间预测被布置为帧内预测的特殊情况,并且仅当由另一标志在已编码的视频数据中或者输入数据中识别当前块被识别作为利用帧内预测而被编码时,该标志被包括于已编码的视频数据中。此外,指示帧内-帧间预测是否对于相应序列或图片启用或禁用的使能标志还可以被包括为SPS,PPS或已编码的视频数据的任何高级属性中。在步骤S1170之后,处理进行到步骤S1199并终止。尽管已经结合作为示例提出的具体实施例描述了本公开的各方面,但是可以对示例的替代,修改和变化进行说明。因此,本文所阐述的实施例旨在是说明性的而不是限制性的。在不脱离下面提出的权利要求的范围的情况下,可以进行改变。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1