用于视频译码中帧内预测和帧间预测的插值滤波方法和装置与流程

文档序号:27932045发布日期:2021-12-11 12:20阅读:163来源:国知局
1.本发明涉及图像和/或视频编解码
技术领域
:,具体地涉及用于进行帧内预测和帧间预测的插值滤波方法和装置。
背景技术
::2.自从dvd光盘问世以来,数字视频已得到广泛使用。对视频进行编码,然后通过传输介质进行传输。观看者接收视频,并使用观看设备解码和显示视频。多年来,由于分辨率、色彩深度和帧率等的提高,视频质量已经得到了提高。这使得目前通常通过互联网和移动通信网络传输的数据流更大。3.然而,更高分辨率视频通常具有更多信息,因此需要更多带宽。为了降低带宽要求,便引入了涉及视频压缩的视频译码标准。当对视频进行编码时,带宽要求(或存储时对应的内存要求)会降低。这种降低往往牺牲了质量。因此,视频译码标准试图在带宽要求与质量之间找到平衡。4.高性能视频译码(highefficiencyvideocoding,hevc)是本领域技术人员所熟知的视频译码标准的示例。在hevc中,将译码单元(codingunit,cu)划分为预测单元(predictionunit,pu)或变换单元(transformunit,tu)。通用视频译码(versatilevideocoding,vvc)下一代标准是itu‑t视频译码专家组(videocodingexpertsgroup,vceg)和iso/iec运动图像专家组(movingpictureexpertsgroup,mpeg)最近的联合视频项目,这两个标准化组织共同合作,其伙伴关系被称为联合视频探索小组(jointvideoexplorationteam,jvet)。vvc也称为itu‑th.266/下一代视频译码(nextgenerationvideocoding,ngvc)标准。vvc中去掉了多种分割类型的概念,即不区分cu、pu和tu概念(除非cu的尺寸对于最大变换长度而言太大),并支持更灵活的cu分割形状。5.这些译码单元(codingunit,cu)(也称为块)的处理取决于其尺寸、空间位置和编码器指定的编码模式。根据预测的类型,编码模式可以分为两类:帧内预测模式和帧间预测模式。帧内预测模式使用同一图像(picture/image)(也称为帧)的样本来生成参考样本,以计算重建的块的样本的预测值。帧内预测也称为空间预测。帧间预测模式设计用于时间预测,并使用先前、当前(相同)或后续图像的参考样本来预测当前图像的块的样本。6.itu‑tvceg(q6/16)和iso/iecmpeg(jtc1/sc29/wg11)正在研究未来视频译码技术标准化的潜在需求,其中,未来视频译码技术的压缩能力将大大超过当前hevc标准的压缩能力(包括针对屏幕内容译码和高动态范围译码的当前扩展和近期扩展)。这些小组正与联合视频探索小组(jointvideoexplorationteam,jvet)共同努力开展这项探索活动,以评估其领域专家提出的压缩技术设计。7.通用测试模型(versatiletestmodel,vtm)标准使用35种帧内模式,而基准集(benchmarkset,bms)使用67种帧内模式。8.当前在bms中描述的帧内模式译码方案被认为是复杂的,且非选择模式集的缺点在于索引列表总是恒定的,并且不能根据当前块属性(例如,对于其邻块帧内模式)进行调整。技术实现要素:9.本发明公开了用于进行帧内预测和帧间预测的插值滤波方法和装置。该装置和方法采用相同的样本插值过程,以统一帧间预测和帧内预测的计算流程,从而提高译码效率。保护范围由权利要求界定。10.上述和其它目的通过独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中显而易见。11.具体实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。12.根据第一方面,本发明涉及一种视频译码方法,其中,所述方法包括:13.‑(图像或视频的)第一块的帧间预测处理,其中,所述帧间预测处理包括(针对分数位置)(所述第一块的或针对所述第一块的)参考块的样本的子像素插值滤波;14.‑(图像或视频的)第二块的帧内预测处理,其中,所述帧内预测处理包括(针对分数位置)(所述第二块的或针对所述第二块的)参考样本的子像素插值滤波;15.其中,所述方法还包括:16.‑根据整数参考样本位置与分数参考样本位置之间的子像素偏移,选择用于所述子像素插值滤波的插值滤波系数,其中,对于相同的子像素偏移,相同的插值滤波系数被选择用于进行帧内预测处理和帧间预测处理。17.子像素插值滤波用于对分数(即非整数)参考样本位置执行,因为相应的值通常无法从解码图像缓冲器(decodedpicturebuffer,dpb)等获得。整数参考样本位置的值通常可以直接从dpb等获得,因此不需要插值滤波来获得这些值。所述第一方面提供的方法也可以称为用于视频译码的帧间预测处理和帧内预测处理方法,或用于视频译码中帧间预测处理和帧内预测处理的子像素插值滤波方法。18.在所述第一方面提供的一种实现方式中,所述方法例如可以包括:根据整数参考样本位置与分数参考样本位置之间的第一子像素偏移,选择第一组插值滤波系数(例如,c0至c3),(例如,对色度样本)进行子像素插值滤波,以进行帧间预测;如果具有与所述第一子像素偏移相同的子像素偏移,则选择相同的第一组插值滤波系数(c0至c3),(例如,对亮度样本)进行子像素滤波,以进行帧内预测。19.在所述第一方面提供的方法的一种可能实现方式中,所述选择的滤波系数用于对色度样本进行所述子像素插值滤波,以进行帧间预测处理;所述选择的滤波系数用于对亮度样本进行所述子像素插值滤波,以进行帧内预测处理。20.在所述第一方面提供的方法的一种可能实现方式中,所述帧间预测处理为块内复制处理。21.在所述第一方面提供的方法的一种可能实现方式中,用于帧间预测处理和帧内预测处理的所述插值滤波系数是从查找表中获取的。22.在所述第一方面提供的方法的一种可能实现方式中,4抽头滤波器用于所述子像素插值滤波。23.在所述第一方面提供的方法的一种可能实现方式中,选择所述插值滤波系数包括:根据以下子像素偏移与插值滤波系数之间的相关选择所述插值滤波系数:[0024][0025][0026][0027]其中,所述子像素偏移以1/32子像素分辨率定义,且c0至c3表示所述插值滤波系数。[0028]在所述第一方面提供的方法的一种可能实现方式中,选择所述插值滤波系数包括:根据以下子像素偏移与插值滤波系数之间的相关针对分数位置选择所述插值滤波系数:[0029][0030][0031]其中,所述子像素偏移以1/32子像素分辨率定义,且c0至c3表示所述插值滤波系数。[0032]根据第二方面,本发明涉及一种获取当前译码块的预测样本值的视频译码方法,其中,所述方法包括:[0033]当通过帧间预测过程获得当前译码块的预测样本时,执行如下过程(或步骤)获得帧间预测样本值,[0034]根据第一子像素偏移值从查找表中获得滤波系数,[0035]根据所述滤波系数,获得所述帧间预测样本值;[0036]当通过帧内预测过程获得当前译码块的预测样本时,执行如下过程(或步骤)获得帧内预测样本值,[0037]根据第二子像素偏移值从查找表中获得滤波系数,其中,重复使用用于帧间预测的查找表进行帧内预测,[0038]根据滤波系数,获得帧内预测样本值。[0039]如第一方面所述,对分数(即非整数)参考样本位置执行子像素插值滤波,因为相应的值通常无法从解码图像缓冲器(decodedpicturebuffer,dpb)等获得。整数参考样本位置的值通常可以直接从dpb等获得,因此不需要插值滤波来获得这些值。所述第二方面提供的方法也可以称为用于视频译码的帧间预测处理和帧内预测处理方法,或用于视频译码中帧间预测处理和帧内预测处理的子像素插值滤波方法。[0040]在所述第二方面提供的方法的一种可能实现方式中,在分数样本位置插值中使用查找表中的滤波系数,以进行帧内预测过程或帧间预测过程。[0041]在所述第二方面提供的方法的一种可能实现方式中,帧内预测过程中使用的或用于帧内预测过程的查找表与帧间预测过程中使用的或用于帧间预测过程的查找表相同。[0042]在所述第二方面提供的方法的一种可能实现方式中,其中,查找表如下所述:[0043][0044][0045]其中,“子像素偏移”列以1/32子像素分辨率定义,且c0、c1、c2、c3为滤波系数。在所述第二方面提供的方法的一种可能实现方式中,查找表如下所述:[0046][0047][0048]其中,“子像素偏移”列以1/32子像素分辨率定义,且c0、c1、c2、c3为滤波系数。[0049]在所述第二方面提供的方法的一种可能实现方式中,帧间预测样本值用于当前译码块的色度分量。[0050]在所述第二方面提供的方法的一种可能实现方式中,帧内预测样本值用于当前译码块的亮度分量。[0051]在所述第二方面提供的方法的一种可能实现方式中,当帧内预测中使用的主参考边的尺寸小于或等于阈值时,选择帧内预测中使用的查找表。[0052]在所述第二方面提供的方法的一种可能实现方式中,阈值为8个样本。[0053]在所述第二方面提供的方法的一种可能实现方式中,所述帧间预测处理为块内复制处理。[0054]根据第三方面,本发明涉及一种编码器,所述编码器包括用于执行所述第一方面、所述第二方面、所述第一方面的任意可能实施例或所述第二方面的任意可能实施例提供的方法的处理电路。[0055]根据第四方面,本发明涉及一种解码器,所述解码器包括用于执行所述第一方面、所述第二方面、所述第一方面的任意可能实施例或所述第二方面的任意可能实施例提供的方法的处理电路。[0056]根据第五方面,本发明涉及一种对视频流进行解码的装置,包括处理器和存储器。所述存储器存储有指令,所述指令使所述处理器执行所述第一方面、所述第二方面、所述第一方面的任意可能实施例或所述第二方面的任意可能实施例提供的方法。[0057]根据第六方面,本发明涉及一种对视频流进行解码的装置,包括处理器和存储器。所述存储器存储有指令,所述指令使所述处理器执行所述第一方面、所述第二方面、所述第一方面的任意可能实施例或所述第二方面的任意可能实施例提供的方法。[0058]根据第七方面,提供一种储存有指令的计算机可读存储介质,所述指令在执行时使一个或多个处理器对视频数据进行译码。所述指令使一个或多个处理器执行所述第一方面、所述第二方面、所述第一方面的任意可能实施例或所述第二方面的任意可能实施例提供的方法。[0059]根据第八方面,本发明涉及一种包括程序代码的计算机程序,所述程序代码用于在计算机上执行时执行所述第一方面、所述第二方面、所述第一方面的任意可能实施例或所述第二方面的任意可能实施例提供的方法。[0060]附图和以下说明中将详细描述一个或多个实施例。其它特征、目的和优点在说明书、附图以及权利要求中是显而易见的。附图说明[0061]下面结合本发明实施例中的附图对本发明实施例进行详细描述。在附图中:[0062]图1为用于实现本发明实施例的视频译码系统示例的框图;[0063]图2为用于实现本发明实施例的视频编码器示例的框图;[0064]图3为用于实现本发明实施例的视频解码器示例的框图;[0065]图4示出了67种帧内预测模式的示例;[0066]图5示出了用于帧间预测和帧内预测的插值滤波器的示例;[0067]图6示出了用于帧间预测和帧内预测的插值滤波器的另一示例;[0068]图7示出了用于帧间预测和帧内预测的插值滤波器的另一示例;[0069]图8示出了重复使用4抽头插值滤波器进行帧间预测和帧内预测的本发明实施例;[0070]图9示出了重复使用4抽头插值滤波器用于帧间预测和帧内预测的本发明另一实施例;[0071]图10示出了重复使用4抽头系数进行帧间预测和帧内预测的本发明实施例;[0072]图11示出了35种帧内预测模式的示例;[0073]图12示出了一种插值滤波器选择的示例;[0074]图13示出了四叉树和二叉树分割的示例;[0075]图14示出了矩形块取向的示例;[0076]图15示出了一种插值滤波器选择的另一示例;[0077]图16示出了一种插值滤波器选择的另一示例;[0078]图17示出了一种插值滤波器选择的另一示例;[0079]图18是一种网络设备的示意图;[0080]图19示出了一种装置的框图;[0081]图20是本发明的一个实施例的流程图。[0082]在下文中,除非另外明确说明,否则相同的附图标记是指相同或至少功能上等效的特征。具体实施方式[0083]以下描述中,参考附图,所述附图组成本发明的一部分并以说明的方式示出本发明实施例的具体方面或可使用本发明实施例的具体方面。应理解,本发明实施例可在其它方面中使用,并可包括附图中未描绘的结构变化或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,本发明的范围由所附权利要求书界定。[0084]例如,应理解,结合所描述方法的公开内容对用于执行所述方法的对应设备或系统也可以同样适用,反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包括一个或多个单元(例如,功能单元)来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元中的每个单元都执行多个步骤中的一个或多个),即使附图中未明确描述或说明该一个或多个单元。另一方面,例如,如果基于一个或多个单元(例如,功能单元)描述具体装置,则对应的方法可以包括一个步骤来实现一个或多个单元的功能(例如,一个步骤实现一个或多个单元的功能,或多个步骤中的每个步骤实现多个单元中一个或多个单元的功能),即使附图中未明确描述或说明该一个或多个步骤。此外,应理解,除非另有说明,否则本文描述的各种示例性实施例和/或方面的特征可彼此组合。[0085]缩略语和术语定义[0086]jemꢀꢀjointexplorationmodel联合探索模型(未来视频译码探索的软件代码库)[0087]jvetꢀꢀjointvideoexpertsteam视频联合专家小组[0088]lutꢀꢀlook‑uptable查找表[0089]qtꢀꢀquadtree四叉树[0090]qtbtꢀꢀquadtreeplusbinarytree四叉树加二叉树[0091]rdoꢀꢀrate‑distortionoptimization率失真优化[0092]romꢀꢀread‑onlymemory只读存储器[0093]vtmꢀꢀvvctestmodelvvc测试模型[0094]vvcꢀꢀversatilevideocoding通用视频译码,一种jvet开发的标准化项目。[0095]ctu/ctbꢀꢀ–codingtreeunit译码树单元/codingtreeblock译码树块[0096]cu/cbꢀꢀ–codingunit译码单元/codingblock译码块[0097]pu/pbꢀꢀ–predictionunit预测单元/predictionblock预测块[0098]tu/tbꢀ–transformunit变换单元/transformblock变换块[0099]hevcꢀꢀ–highefficiencyvideocoding高性能视频译码[0100]h.264/avc和hevc等视频译码方案是按照基于块的混合视频译码的成功原理而设计的。使用该原理,首先将图像分割成块,然后通过使用帧内或帧间预测来预测每个块。[0101]自h.261之后的几个视频译码标准属于“有损混合视频编解码器”组(即,将样本域中的空间预测和时间预测与变换域中用于应用量化的2d变换译码结合)。视频序列中的每个图像通常分割成不重叠的块集合,通常在块级进行译码。换句话说,在编码器处,通常在块(视频块)级对视频进行处理,即编码,例如,通过空间(帧内图像)预测和时间(帧间图像)预测来生成预测块;从当前块(当前处理/待处理的块)中减去预测块,以获得残差块;在变换域中变换残差块并量化残差块,以减少待传输(压缩)的数据量,而相比于编码器,在解码器处,将逆处理部分地应用于编码块或压缩块,以重建当前块,用于表示。此外,编码器重复解码器的处理步骤,使得编码器和解码器生成相同的预测(例如,帧内预测和帧间预测)和/或重建,用于对后续块进行处理(即译码)。[0102]如本文所使用的,术语“块”可以是图像或帧的一部分。为便于描述,本文参考由itu‑t视频译码专家组(videocodingexpertsgroup,vceg)和iso/iec运动图像专家组(motionpictureexpertsgroup,mpeg)的视频译码联合工作组(jointcollaborationteamonvideocoding,jct‑vc)研发的高性能视频译码(high‑efficiencyvideocoding,hevc)或通用视频译码(versatilevideocoding,vvc)参考软件描述本发明实施例。本领域普通技术人员应理解本发明实施例不限于hevc或vvc。它可以指cu、pu和tu。在hevc中,通过表示为译码树的四叉树结构将ctu划分成cu。在cu级决定是使用帧间(时间)预测还是帧内(空间)预测对图像区域进行译码。可以根据pu划分类型将每个cu进一步划分为一个、两个或四个pu。一个pu内应用相同的预测过程,并以pu为单位向解码器传输相关信息。在根据pu划分类型应用预测过程获得残差块之后,可以根据与用于cu的译码树类似的另一种四叉树结构将cu分割为变换单元(transformunit,tu)。在视频压缩技术的最新进展中,使用四叉树和二叉树(qual‑treeandbinarytree,qtbt)分割来分割译码块。在qtbt块结构中,cu可以为正方形或矩形。例如,首先通过四叉树结构分割译码树单元(codingtreeunit,ctu)。通过二叉树结构进一步分割四叉树叶节点。二叉树叶节点称为译码单元(codingunit,cu),该分段用于预测和变换处理,而不进行任何进一步分割。即,在qtbt译码块结构中,cu、pu和tu的块尺寸相同。同时,还提出将三叉树分割等多重分割与qtbt块结构结合使用。[0103]itu‑tvceg(q6/16)和iso/iecmpeg(jtc1/sc29/wg11)正在研究未来视频译码技术标准化的潜在需求,其中,未来视频译码技术的压缩能力将大大超过当前hevc标准的压缩能力(包括针对屏幕内容译码和高动态范围译码的当前扩展和近期扩展)。这些小组正与联合视频探索小组(jointvideoexplorationteam,jvet)共同努力开展这项探索活动,以评估其领域专家提出的压缩技术设计。[0104]通用测试模型(versatiletestmodel,vtm)使用35种帧内模式,而基准集(benchmarkset,bms)使用67种帧内模式。帧内预测是许多视频译码框架中使用的一种机制,用于在只涉及给定帧的情况下提高压缩效率。[0105]本文使用的视频译码是指对构成视频或视频序列的图像序列进行处理。术语“图像(picture/image)”或“帧(frame)”可在视频译码领域以及在本技术中作为同义词使用。每个图像通常被分割成一组不重叠的块。图像的编码/解码通常在块级执行,例如,在块级,使用帧间预测或帧内预测生成预测块,以从当前块(当前处理的块/待处理的块)中减去预测块,获得残差块,进一步对所述残差块进行变换和量化以减少待传输(压缩)的数据量,而在解码端,对编码后/压缩后的块进行逆处理以重建块用于表示。[0106]图1为示意性框图,示出了可利用本技术(本发明)技术的示例性译码系统10,例如视频译码系统10。视频译码系统10的编码器20(例如,视频编码器20)和解码器30(例如,视频解码器30)表示可以用于根据本技术中描述的各种示例执行各技术的设备的示例。如图1所示,译码系统10包括源设备12,所述源设备12用于将编码数据13(例如,编码图像13)提供到目的设备14等,以对编码数据13进行解码。[0107]源设备12包括编码器20,并且可以另外(即可选地)包括图像源16、预处理单元18(例如,图像预处理单元18)和通信接口或通信单元22。[0108]图像源16可以包括或可以是任何类型的图像捕获设备,例如用于捕获真实世界图像的设备,和/或任何类型的图像或评论(对于屏幕内容译码,屏幕上的一些文本也被认为是待编码的图像(picture/image)的一部分)生成设备,例如用于生成计算机动画图像的计算机图形处理器,或用于获取和/或提供真实世界图像、计算机动画图像(例如,屏幕内容、虚拟现实(virtualreality,vr)图像)和/或其任何组合(例如,增强现实(augmentedreality,ar)图像)的任何类型的设备。[0109](数字)图像为或可以看作具有强度值的样本的二维阵列或矩阵。阵列中的样本也可以称为像素(pixel或pel)(图像元素的简称)。阵列或图像在水平和垂直方向(或轴线)上的样本数量定义了图像的尺寸和/或分辨率。通常采用三种颜色分量来表示颜色,即该图像可表示为三个样本阵列或包括三个样本阵列。在rgb格式或颜色空间中,图像包括对应的红色、绿色和蓝色样本阵列。然而,在视频译码中,每个像素通常由亮度/色度格式或在颜色空间中表示,例如,ycbcr,包括y指示的亮度分量(有时也用l指示)和cb和cr指示的两个色度分量。亮度(或简称luma)分量y表示亮度或灰度级强度(例如,在灰度图像中),而两个色度(或简称chroma)分量cb和cr表示色度或颜色信息分量。因此,ycbcr格式的图像包括亮度样本值(y)的亮度样本阵列和色度值(cb和cr)的两个色度样本阵列。rgb格式的图像可以转换或变换为ycbcr格式,反之亦然,该过程也称为颜色变换或转换。如果图像是单色的,则该图像可以仅包括亮度样本阵列。[0110]图像源16(例如,视频源16)可以是用于捕获图像的摄像机、包括或存储先前捕获或生成的图像的存储器(例如,图像存储器),和/或用于获取或接收图像的任何类型的(内部或外部)接口等。例如,所述摄像机可以是集成在源设备中的本地或集成摄像机,所述存储器可以是例如集成在源设备中的本地或集成存储器。例如,所述接口可以是从外部视频源接收图像的外部接口,其中,所述外部视频源如摄像机等外部图像捕获设备、外部存储器,或外部计算机图形处理器、计算机或服务器等外部图像生成设备。所述接口可以是根据任何专有或标准化接口协议的任何类型的接口,例如有线或无线接口、光接口。用于获取图像数据17的接口可以是与通信接口22相同的接口,或作为通信接口22的一部分。[0111]区别于预处理单元18和预处理单元18执行的处理,图像或图像数据17(例如,视频数据16)也可以称为原始图像或原始图像数据17。[0112]预处理单元18用于接收(原始)图像数据17,对图像数据17进行预处理,以获得经预处理的图像19或经预处理的图像数据19。预处理单元18执行的预处理可以包括修剪、颜色格式转换(例如,从rgb转换为ycbcr)、颜色校正或去噪等。可以理解的是,预处理单元18可以是可选组件。[0113]编码器20(例如,视频编码器20)用于接收经预处理的图像数据19并提供编码后的图像数据21(下文将根据图2等进一步描述细节)。[0114]源设备12的通信接口22可以用于接收编码后的图像数据21,并将其发送到其它设备(例如,目的设备14或用于存储或直接重建的任何其它设备);或分别在存储编码数据13和/或将编码数据13发送到其它设备(例如,目的设备14或用于解码或存储的任何其它设备)之前处理编码后的图像数据21。[0115]目的设备14包括解码器30(例如,视频解码器30),并且可以另外(即,可选地)包括通信接口或通信单元28、后处理单元32和显示设备34。[0116]目的设备14的通信接口28用于接收编码后的图像数据21或编码数据13,例如,直接从源设备12或任何其它源(例如,编码后的图像数据存储设备等存储设备)接收。[0117]通信接口22和通信接口28可以用于通过源设备12与目的设备14之间的直接通信链路(例如,直接有线或无线连接),或通过任何类型的网络(例如,有线或无线网络或其任意组合,或任何类型的专用和公共网络),或其任意组合发送或接收编码后的图像数据21或编码数据13。[0118]例如,通信接口22可以用于将编码后的图像数据21打包为合适的格式(例如,数据包),用于通过通信链路或通信网络传输。[0119]形成通信接口22的对应部分的通信接口28可以用于对编码数据13进行解包以获得编码后的图像数据21等。[0120]通信接口22和通信接口28均可配置为单向通信接口(如图1中从源设备12指向目的设备14的编码后的图像数据13的箭头所指示),或双向通信接口,并可用于发送和接收消息等,例如,建立连接,确认和交换与通信链路和/或数据传输(例如,编码后的图像数据传输)相关的任何其它信息。[0121]解码器30用于接收编码后的图像数据21并提供解码后的图像数据31或解码后的图像31(下面将根据图3等进一步描述细节)。[0122]目的设备14的后处理器32用于对解码后的图像数据31(也称为经重建的图像数据)(例如,解码图像31)进行后处理,以获得经后处理的图像数据33(例如,后处理图像33)。后处理单元32执行的后处理可以包括例如颜色格式转换(例如,从ycbcr转换为rgb)、颜色校正、修剪或重采样,或任何其它处理,例如,用于准备解码后的图像数据31以供显示设备34等显示。[0123]目的设备14的显示设备34用于接收经后处理的图像数据33,以向用户或观看者等显示图像。显示设备34可以是或包括用于显示重建图像的任何类型的显示器,例如,集成或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclightemittingdiode,oled)显示器、等离子显示器、投影仪、微型led显示器、硅基液晶显示器(liquidcrystalonsilicon,lcos)、数字光处理器(digitallightprocessor,dlp)或任何类型的其它显示器。[0124]尽管图1将源设备12和目的设备14作为单独的设备进行描述,但是设备实施例还可以包括两种设备或两种功能,即源设备12或对应功能以及目的设备14或对应功能。在这类实施例中,源设备12或对应功能以及目的设备14或对应功能可以使用相同的硬件和/或软件或通过单独的硬件和/或软件或其任何组合来实现。[0125]根据描述,技术人员显而易见的是,图1所示的源设备12和/或目的设备14中的不同单元或功能的存在和(精确)划分可以根据实际设备和应用而不同。[0126]编码器20(例如,视频编码器20)和解码器30(例如,视频解码器30)可以各自实现为各种合适电路中的任一种,如一个或多个微处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(application‑specificintegratedcircuit,asic)、现场可编程门阵列(field‑programmablegatearray,fpga)、离散逻辑、硬件或其任何组合。如果技术部分地以软件形式实现,则设备可以将软件的指令存储在合适的非瞬时性计算机可读介质中,并且可以使用一个或多个处理器执行硬件中的指令,以执行本发明的技术。上述任一种电路(包括硬件、软件、硬件和软件的组合等)可以被认为是一个或多个处理器。视频编码器20和视频解码器30可以各自包括在一个或多个编码器或解码器中,其中任一者可以作为组合的编码器/解码器(编解码器)的一部分集成在相应设备中。[0127]图2示出了用于实现本技术技术的示例性视频编码器20的示意性/概念性框图。在图2的示例中,视频编码器20包括残差计算单元204、变换处理单元206、量化单元208、反量化单元210和逆变换处理单元212、重建单元214、缓冲器216、环路滤波器单元220、解码图像缓冲器(decodedpicturebuffer,dpb)230、预测处理单元260和熵编码单元270。预测处理单元260可以包括帧间预测单元244、帧内预测单元254和模式选择单元262。帧间预测单元244可以包括运动估计单元和运动补偿单元(未示出)。图2所示的视频编码器20也可以称为混合视频编码器或根据混合视频编解码器的视频编码器。[0128]例如,残差计算单元204、变换处理单元206、量化单元208、预测处理单元260和熵编码单元270形成编码器20的正向信号路径,而反量化单元210、逆变换处理单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器(decodedpicturebuffer,dpb)230、预测处理单元260形成编码器的反向信号路径,其中,编码器的反向信号路径与解码器(参见图3中的解码器30)的信号路径对应。[0129]编码器20用于通过输入端202等接收图像201或图像201(例如,形成视频或视频序列的图像序列的图像)的块203。图像块203也可以称为当前图像块或待译码图像块,图像201也可以称为当前图像或待译码图像(特别是在视频译码中,以便将当前图像与其它图像(例如,同一视频序列(即,也包括当前图像的视频序列)的先前编码和/或解码的图像))区分开。[0130]预测处理单元260(也称为块预测处理单元260)用于:接收或获取块203(当前图像201的当前块203)和重建的图像数据,例如,来自缓冲器216的相同(当前)图像的参考样本和/或来自解码图像缓冲器230的一个或多个先前解码图像的参考图像数据231,并处理此类数据以进行预测,即提供预测块265,其中,所述预测块265可以是帧间预测块245或帧内预测块255。[0131]模式选择单元262可用于选择预测模式(例如,帧内预测或帧间预测模式)和/或对应的预测块245或255用作预测块265,以用于计算残差块205和重建重建块215。[0132]模式选择单元262的实施例可用于选择分割和预测模式(例如,从预测处理单元260支持的预测模式中选择),所述预测模式提供最佳匹配或者最小残差(最小残差指传输或存储中更好的压缩),或提供最小指示(signaling)开销(最小指示开销指传输或存储中更好的压缩),或者同时考虑或平衡以上两者。模式选择单元262可用于根据率失真优化(ratedistortionoptimization,rdo)确定预测模式,即选择提供最小率失真优化的预测模式,或者选择至少满足预测模式选择标准的相关率失真的预测模式。本文中“最佳”、“最小”、“最优”等术语不一定指总体上“最佳”、“最小”、“最优”,也可以指满足终止或选择标准的情况,例如,超过或低于阈值的值或其它约束条件可能会进行“次优选择”,但可以降低复杂度和处理时间。[0133]帧内预测单元254还用于根据帧内预测参数(例如,所选帧内预测模式)确定帧内预测块255。在任何情况下,在对块选择帧内预测模式之后,帧内预测单元254还用于向熵编码单元270提供帧内预测参数,即指示块的所选帧内预测模式的信息。在一个示例中,帧内预测单元254可用于执行下文描述的帧内预测技术的任何组合。[0134]图3为用于实现本技术技术的示例性视频解码器30。视频解码器30用于接收例如由编码器100编码的编码后的图像数据(例如,编码后的码流)21,以获得解码图像131。在解码过程中,视频解码器30从视频编码器100接收视频数据,例如表示编码后的视频条带(slice)的图像块的编码后的视频码流以及相关的语法元素。[0135]在图3的示例中,解码器30包括熵解码单元304、反量化单元310、逆变换处理单元312、重建单元314(例如,求和器314)、缓冲器316、环路滤波器320、解码图像缓冲器330和预测处理单元360。预测处理单元360可以包括帧间预测单元344、帧内预测单元354和模式选择单元362。在一些示例中,视频解码器30可执行通常与针对图2的视频编码器100描述的编码过程相反的解码过程。[0136]熵解码单元304用于对编码后的图像数据21执行熵解码,以获得量化系数309和/或解码后的译码参数(图3中未示出)等,例如帧间预测参数、帧内预测参数、环路滤波器参数和/或其它语法元素中的(解码的)任一者或全部。熵解码单元304还用于将帧间预测参数、帧内预测参数和/或其它语法元素转发给预测处理单元360。视频解码器30可以接收视频条带级和/或视频块级的语法元素。[0137]反量化单元310的功能可以与反量化单元110的功能相同;逆变换处理单元312的功能可以与逆变换处理单元112的功能相同;重建单元314的功能可以与重建单元114的功能相同;缓冲器316的功能可以与缓冲器116的功能相同;环路滤波器320的功能可以与环路滤波器120的功能相同;解码图像缓冲器330的功能可以与解码图像缓冲器130的功能相同。[0138]预测处理单元360可以包括帧间预测单元344和帧内预测单元354,其中,帧间预测单元344的功能可以与帧间预测单元144的功能类似,帧内预测单元354的功能可以与帧内预测单元154的功能类似。预测处理单元360通常用于根据编码数据21进行块预测和/或获得预测块365,并用于从熵解码单元304等接收或获得(显式或隐式地)预测相关参数和/或关于所选预测模式的信息。[0139]当将视频条带译码为帧内译码(i)条带时,预测处理单元360的帧内预测单元354用于根据指示的帧内预测模式和来自当前帧或图像的先前解码块的数据生成当前视频条带的图像块的预测块365。当将视频帧译码为帧间译码(即,b或p)条带时,预测处理单元360的帧间预测单元344(例如,运动补偿单元)用于根据运动矢量和从熵解码单元304接收的其它语法元素产生当前视频条带的视频块的预测块365。对于帧间预测,可从其中一个参考图像列表中的其中一个参考图像产生这些预测块。视频解码器30可以根据存储在dpb330中的参考图像,使用默认构建技术来构建参考帧列表:列表0和列表1。[0140]预测处理单元360用于通过解析运动矢量和其它语法元素来确定当前视频条带的视频块的预测信息,并使用所述预测信息针对所解码的当前视频块生成预测块。例如,预测处理单元360使用接收到的一些语法元素确定用于对视频条带的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测条带类型(例如,b条带、p条带或gpb条带)、条带的一个或多个参考图像列表的构建信息、条带的每个帧间编码视频块的运动矢量、条带的每个帧间译码视频块的帧间预测状态,以及其它信息,以对当前视频条带中的视频块进行解码。[0141]反量化单元310用于对码流中提供并由熵解码单元304解码的量化变换系数进行反量化,即解量化。反量化过程可以包括使用视频编码器100针对视频条带中的每个视频块计算的量化参数来确定量化程度,同样地确定需要应用的反量化的程度。[0142]逆变换处理单元312用于对变换系数应用逆变换,例如逆dct、逆整数变换或概念上类似的逆变换过程,以在像素域中产生残差块。[0143]重建单元314(例如,求和器314)用于通过将重建残差块313的样本值和预测块365的样本值相加等将逆变换块313(即重建残差块313)添加到预测块365,以在样本域中获得重建块315。[0144]环路滤波单元320(在译码环路中或译码环路之后)用于对重建块315进行滤波,以获得滤波块321,以平滑像素转变或以其它方式提高视频质量等。在一个示例中,环路滤波器单元320可用于执行下文描述的滤波技术的任何组合。环路滤波单元320用于表示一个或多个环路滤波器,如去块效应滤波器、样本自适应偏移(sample‑adaptiveoffset,sao)滤波器或其它滤波器,例如双边滤波器或自适应环路滤波器(adaptiveloopfilter,alf)或锐化或平滑滤波器或协作滤波器。尽管环路滤波器单元320在图3中示为环路滤波器,但在其它配置中,环路滤波器单元320可以实现为环后滤波器。[0145]然后,将给定帧或图像中的解码视频块321存储在解码图像缓冲器330中,所述解码图像缓冲器330存储用于后续运动补偿的参考图像。[0146]解码器30用于通过输出端332等输出解码图像331,向用户呈现或供用户观看。[0147]可以使用其它形式的视频解码器30对压缩码流进行解码。例如,解码器30可以在没有环路滤波单元320的情况下产生输出视频流。例如,基于非变换的解码器30可以在没有逆变换处理单元312的情况下直接反量化某些块或帧的残差信号。在另一种实现方式中,视频解码器30可以具有组合成单个单元的反量化单元310和逆变换处理单元312。[0148]图4示出了如针对vvc提出的67种帧内预测模式的示例,67种帧内预测模式的多种帧内预测模式包括:平面模式(索引为0)、dc模式(索引为1),以及角度模式(索引为2到66),其中,图4中的左下角度模式是指索引2,并且索引的编号递增,直到索引66对应图4的最右上角度模式为止。[0149]如图4所示,jem的最新版本具有一些对应于倾斜帧内预测方向的模式。对于这些模式中的任一模式,为了预测块内的样本,如果块边内的对应位置为分数,则应执行相邻参考样本集合的插值。在hevc和vvc中,使用两个相邻参考样本之间的线性插值。在jem中,使用复杂的4抽头插值滤波器。根据块的宽度值或块的高度值,选择高斯滤波系数或三次滤波系数。使用宽度还是高度的决策与主参考边的选择的决策一致。当帧内预测模式的值大于或等于对角线模式的值时,选择参考样本的顶边作为主参考边,并选择宽度值来确定正在使用的插值滤波器。当帧内预测模式的值小于对角线模式的值时,从块的左边选择主参考边,并使用高度值控制滤波器的选择过程。具体地,如果所选边的长度小于或等于8个样本,则使用4抽头三次滤波器。如果所选边的长度大于8个样本,则使用4抽头高斯滤波器作为插值滤波器。[0150]jem中使用的具体滤波系数如表1所示。根据子像素偏移和滤波器类型,通过使用从表1中选择的系数进行卷积运算来计算预测样本,如下所示:[0151][0152]在该等式中,“>>”表示按位右移操作。[0153]如果选择三次滤波器,则将预测样本(样本值)进一步修正(clip)为在允许的值范围内,该值范围是在序列参数集合(sequenceparameterset,sps)中定义,或从所选分量的位深度推导得到。[0154]表1:帧内预测插值滤波器[0155][0156][0157]当参考块的像素的位移为分数时,运动补偿过程还使用滤波来预测样本值。在jem中,亮度分量采用8抽头滤波,色度分量采用4抽头长度滤波。首先水平应用运动插值滤波器,并且对水平滤波的输出进行进一步垂直滤波。表2中给出了4抽头色度滤波器的系数。[0158]表2:色度运动插值滤波系数[0159][0160][0161]许多视频译码解决方案也使用不同的插值滤波器进行帧内预测和帧间预测。具体地,图5‑图7示出了插值滤波器的不同示例。图5示出了jem中使用的插值滤波器的示例。图6示出了在itu‑jvetk1023中公开的针对core‑experimentce3–3.1.3提出的插值滤波器的另一示例。图7示出了itu‑jvetk0064中提出的插值滤波器的另一示例。[0162]本发明实施例的基本思想是重复使用色度运动补偿子像素滤波器的查找表和/或硬件模块,如果像素值在参考样本之间的分数位置中,则在帧内预测值内插像素值。由于预期使用相同的硬件进行帧间预测和帧内预测,因此滤波系数的精度应一致,即,表示用于帧内参考样本插值的滤波系数的位数应与运动子像素运动补偿插值滤波的系数精度一致。[0163]图8示出了本发明提出的一个实施例。具有6位色度系数的4抽头插值滤波器(也称为“统一帧内/帧间滤波器”)可用于两个过程:帧内预测样本的插值和帧间预测样本的插值。[0164]图9中示出了利用这种设计的特定实施例。在该实现方式中,滤波模块实现为单独单元,该单独单元参与预测运动补偿中的色度样本以及在执行帧内预测时预测亮度和色度样本。在该实现方式中,硬件滤波部分用于帧内预测和帧间预测过程。[0165]图10示出了仅重复使用滤波系数的lut时的另一实施例(参见图10)。图10是基于重复使用系数的lut的提供应用的示例性实现方式。在该实现方式中,硬件滤波模块从存储在rom中的lut中加载系数。针对帧内预测过程示出的开关根据选择用于帧内预测处理的主边长度来确定待使用的滤波器类型。[0166]所提供的应用的一个实际实施例可以使用以下系数(参见表3)。[0167]表3:帧内和帧间插值滤波器[0168][0169][0170]根据子像素偏移和滤波器类型,通过使用从表3中选择的系数进行卷积运算来计算帧内预测样本,如下所示:[0171][0172]在该等式中,“>>”表示按位右移操作。[0173]如果选择“统一帧内/帧间滤波器”,则将预测样本进一步修正为在允许的值范围内,该值范围是在sps中定义,或从所选组件的位深度推导得到。[0174]所提供的本发明实施例的区别特征如下:[0175]对于帧内参考样本插值和子像素运动补偿插值,可以使用相同的滤波器来重复使用硬件模块并减少所需总体内存尺寸。[0176]除了重复使用滤波器外,帧内参考样本插值使用的滤波系数的精度应与上述重复使用滤波系数的精度一致。[0177]运动补偿中的亮度处理未必使用8抽头滤波,也可以使用4抽头滤波。在这种情况下,可以选择4抽头滤波器进行统一。[0178]本发明实施例可以应用于帧内预测过程的不同部分,其中可能涉及插值。特别地,在扩展主参考样本时,也可以使用统一插值滤波器对边参考样本进行滤波(详见jvet‑k0211第2.1、3.1、4.1和5节)。[0179]块内复制操作还涉及可以使用所提供的发明的插值步骤(关于块内复制描述的内容,参见[xiaozhongxu、shanliu、tzu‑derchuang、yu‑wenhuang、shawminlei、krishnakanthrapaka、chaopang、vadimseregin、ye‑kuiwang、martakarczewicz:《hevc屏幕内容译码扩展中的块内复制(intrablockcopyinhevcscreencontentcodingextensions)》.ieeej.emerg.sel.topicscircuitssyst.6(4):409‑419(2016)])。[0180]其它实施例可以包括用于帧内预测的宽高比相关滤波的方法,所述方法包括:[0181]根据块的宽高比为待预测块选择插值滤波器。[0182]在一个示例中,所述插值滤波器的选择取决于用于对待预测块的帧内预测模式的阈值的方向。[0183]在一个示例中,所述方向对应于待预测块的主对角线的角度。[0184]在一个示例中,所述方向的角度计算为:[0185][0186]其中,w,h分别为待预测块的宽度和高度。[0187]在一个示例中,确定宽高比ra,例如对应于以下等式:[0188]ra=log2(w)‑log2(h),其中,w,h分别为待预测块的宽度和高度。[0189]在一个示例中,根据宽高比确定待预测块的主对角线的角度。[0190]在一个示例中,根据待预测块的主对角线的角度确定块的帧内预测模式的阈值。[0191]在一个示例中,插值滤波器的选择取决于使用的参考样本属于哪一边。[0192]在一个示例中,角度对应于帧内方向的直线将块划分为两个区域。[0193]在一个示例中,使用不同的插值滤波器预测属于不同区域的参考样本。[0194]在一个示例中,滤波器包括三次插值滤波器或高斯插值滤波器。[0195]在本技术的一个实现方式中,帧与图像相同。[0196]在本技术的一种实现方式中,对应于ver_idx的值为50;对应于hor_idx的值为18;对应于vdia_idx的值为66,该数值可以为对应于角度模式的值中的最大值;对应于帧内模式2的值2可以为对应于角度模式的值中的最小值;对应于dia_idx的值为34。[0197]本发明实施例是针对帧内模式指示方案的改进。本发明提出一种视频解码方法和视频解码器。[0198]图4示出了如针对vvc提供的67种帧内预测模式的示例。所述67种帧内预测模式的多种帧内预测模式包括:平面模式(索引为0)、dc模式(索引为1),以及角度模式(索引为2到66),其中,图4中的左下角度模式是指索引2,并且索引的编号递增,直到索引66对应图4的最右上角度模式为止。[0199]在本技术的另一方面中,公开了一种包括处理电路的解码器,用于执行上述解码方法。[0200]在本技术的另一方面中,公开了一种计算机程序产品,其包括用于执行上述解码方法的程序代码。[0201]在本技术的另一方面中,公开了一种用于解码视频数据的解码器,所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器并存储供所述处理器执行的程序,其中,在所述处理器执行所述程序时,配置所述解码器执行上述解码方法。[0202]处理电路可以在硬件或硬件和软件的组合中实现,例如通过软件可编程处理器等实现。[0203]处理电路可以在硬件或硬件和软件的组合中实现,例如通过软件可编程处理器等实现。[0204]图11示出了hevcuip方案中使用的多种帧内预测模式的示意图,这些模式可由另一实施例使用。对于亮度块,帧内预测模式可以包括多达36种帧内预测模式,可以包括三种非方向模式和33种方向模式。非方向模式可以包括平面预测模式、均值(dc)预测模式和基于亮度预测模式得到的色度预测模式(lm)。平面预测模式可以通过假定块幅度表面具有从块的边界推导的水平和垂直斜率来执行预测。dc预测模式可以通过假设平坦块表面具有与块边界的平均值相匹配的值来执行预测。lm预测模式可以通过假设块的色度值与块的亮度值相匹配来执行预测。定向模式可以根据邻块执行预测,如图11所示。[0205]h.264/avc和hevc规定低通滤波器可以在用于帧内预测过程之前应用于参考样本。是否使用参考样本滤波器由帧内预测模式和块尺寸决定。这种机制可以称为模式相关帧内平滑化(modedependentintrasmoothing,mdis)。还存在与mdis相关的多种方法。例如,自适应参考样本平滑化(adaptivereferencesamplesmoothing,arss)方法可以显式(即,标记包括在码流中)或隐式(即,例如,使用数据隐藏来避免将标记放入码流中以减少指示开销)指示是否对预测样本进行滤波。在这种情况下,编码器可以通过测试所有潜在帧内预测模式的率失真(rate‑distortion,rd)成本来决定进行平滑化。[0206]如图4所示,jem的最新版本(jem‑7.2)具有一些对应于倾斜帧内预测方向的模式。对于这些模式中的任一模式,如果块边内的对应位置为分数,则应执行相邻参考样本集合的插值,以预测块内的样本。hevc和vvc在两个相邻参考样本之间使用线性插值。jem使用更复杂的4抽头插值滤波器。根据宽度值或高度值,选择高斯滤波系数或三次滤波系数。使用宽度还是高度的决策与主参考边选择的决策一致:当帧内预测模式大于或等于对角线模式时,选择参考样本的顶边作为主参考边,并选择宽度值来确定正在使用的插值滤波器。否则,从块的左边选择主参考边,并且使用高度值控制滤波器选择过程。具体地,如果所选边的长度小于或等于8个样本,则使用4抽头三次插值滤波器。否则,使用4抽头高斯滤波器作为插值滤波器。[0207]在图12中示出了在32×4块的情况下,对于小于和大于对角线模式(表示为45°)的插值滤波器选择的示例。[0208]在vvc中,使用基于四叉树和二叉树的分割机制,称为qtbt。如图13所示,qtbt分割不仅可以提供方形块,而且可以提供矩形块。当然,与hevc/h.265标准中使用的传统的基于四叉树的分割相比,qtbt分割在编码端增加了一些指示开销增加也增加了计算复杂度。然而,基于qtbt的分割具有更好的分割特性,因此,比传统四叉树分割译码效率更高。[0209]然而,vvc在其当前状态下,对参考样本的两边(左边和上边)使用相同的滤波器。无论块是垂直方向还是水平方向,参考样本滤波器对于两个参考样本边都是相同的。[0210]在本文中,术语“垂直方向块”(“块的垂直方向”)和“水平方向块”(“块的水平方向”)应用于qtbt框架生成的矩形块。这些术语的含义与图14所示相同。[0211]本发明实施例提出了一种选择不同参考样本滤波器的机制,以便考虑块的方向。具体地,对块的宽度和高度进行单独检查,以便对位于待预测块的不同边的参考样本应用不同的参考样本滤波器。[0212]在一些示例中,描述了插值滤波器的选择与主参考边选择的决策一致。这两个决策目前都基于帧内预测模式与对角线(45度)方向的比较。[0213]然而,应该注意的是,这种设计对于加长块有严重的缺陷。从图15中可以观察到,即使根据模式比较标准选择较短的边作为主参考,大多数预测像素仍将从较长边(示出为虚线区域)的参考样本推导。图15示出了关于边长相关参考滤波器选择的示例。[0214]本发明提供在插值滤波器选择过程中使用替代方向来确定帧内预测模式的阈值。具体地,所述方向对应于待预测块的主对角线的角度。例如,对于尺寸为32×4和4×32的块,用于确定参考样本滤波器的阈值模式mt如图16所示定义。[0215]阈值帧内预测角度的具体值可以通过如下公式计算:[0216][0217]其中,w和h分别是块宽度和高度。[0218]本发明的另一个实施例是使用不同的插值滤波器,这取决于所使用的参考样本属于哪一边。图17中示出了这种确定的一个示例。图17示出了关于使用不同插值滤波器的示例,这取决于所使用的参考样本属于哪一边。[0219]角度对应于帧内方向m的直线将预测块划分为两个区域。使用不同的插值滤波器对属于不同区域的样本进行预测。[0220]示例值mt(对于bms1.0中定义的帧内预测模式集合)和对应角度在表4中给出。角度α在图16中给出。[0221]表4:mt的示例值(针对bms1.0中定义的帧内预测模式集合)[0222][0223]与现有技术和解决方案相比,本发明使用块内使用不同的插值滤波器预测的样本,其中,根据块形状、水平或垂直方向以及帧内预测模式角度选择用于预测样本的插值滤波器。[0224]本发明可以在参考样本滤波阶段应用。具体地,可以使用上述用于插值滤波器选择过程的类似规则来确定参考样本平滑化滤波器。[0225]图18为本发明实施例提供的网络设备1300(例如,译码设备)的示意图。网络设备1300适用于实现本文描述的公开实施例。网络设备1300包括:入端口1310和接收器单元(rx)1320,用于接收数据;处理器、逻辑单元或中央处理单元(centralprocessingunit,cpu)1330,用于处理数据;发送器单元(tx)1340和出端口1350,用于发送数据;存储器1360,用于存储数据。网络设备1300还可以包括与入端口1310、接收器单元1320、发送器单元1340和出端口1350耦合的光电(optical‑to‑electrical,oe)组件和电光(electrical‑to‑optical,eo)组件,用作光信号或电信号的出口或入口。[0226]处理器1330通过硬件和软件实现。处理器1330可以实现为一个或多个cpu芯片、核(例如像多核处理器)、现场可编程门阵列(field‑programmablegatearray,fpga)、专用集成电路(applicationspecificintegratedcircuit,asic)和数字信号处理器(digitalsignalprocessor,dsp)。处理器1330与入端口1310、接收器单元1320、发送器单元1340、出端口1350和存储器1360通信。处理器1330包括译码模块1370。译码模块1370实现上述公开的实施例。例如,译码模块1370实现、处理、准备或提供各种联网功能。因此,包括译码模块1370使得网络设备1300功能得到了显著改进,并且实现了网络设备1300不同状态的转换。或者,以存储在存储器1360中并由处理器1330执行的指令来实现译码模块1370。[0227]存储器1360包括一个或多个磁盘、磁带机和固态硬盘,可用作溢出数据存储设备,以在选择执行程序时存储这类程序,并存储在程序执行期间读取的指令和数据。存储器1360可以是易失性和/或非易失性,并且可以是只读存储器(read‑onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、三态内容寻址存储器(ternarycontent‑addressablememory,tcam)和/或静态随机存取存储器(staticrandom‑accessmemory,sram)。[0228]虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以以多种其它特定形式来体现。本发明示例应被视为说明性而非限制性的,且本发明并不限于本文所给出的细节。例如,可以在另一系统中结合或集成各种元件或组件,或者可以省略或不实现某些特征。[0229]另外,在不偏离本发明的范围的情况下,各种实施例中描述及图示为独立或分离的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。示出或描述为彼此耦合、或直接耦合、或相互通信的其它项目可通过某种接口、设备或中间组件以电方式、机械方式或其它方式间接耦合或通信。变化、替换和变更的其它示例可由本领域技术人员确定,并可在不脱离本文公开的精神和范围的情况下举例。[0230]以下结合附图进行描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体方面。[0231]根据hevc/h.265标准,有35种可用的帧内预测模式。如图11所示,该集合包含以下模式:平面模式(帧内预测模式索引为0)、dc模式(帧内预测模式索引为1),以及覆盖180°范围且帧内预测模式索引值范围为2至34(如图11中的黑色箭头所示)的方向(角度)模式。为了捕获自然视频中存在的任意边缘方向,hevc中使用的方向帧内模式的数量从33种扩展到65种。其它方向模式在图4中显示为虚线箭头,平面模式和dc模式保持不变。值得注意的是,帧内预测模式覆盖的范围可以大于180°。具体地,索引值为3至64的62种方向模式覆盖了约230°的范围,即,若干对模式具有相反的方向性。如图4所示,在hevc参考模型(hevcreferencemodel,hm)和jem平台的情况下,只有一对角度模式(即,模式2和66)具有相反的方向性。为了构建预测器,传统的角度模式通过获取参考样本并(视需要)对它们进行滤波来获得样本预测值。构建预测值所需参考样本的数量取决于用于插值的滤波器的长度(例如,双线性滤波器和三次滤波器的长度分别为2和4)。[0232]例如,在实施例中,根据当前正在开发的最新视频译码标准(称为通用视频译码(versatilevideocoding,vvc)),例如,四叉树嵌套多类型树(使用二叉树和三叉树)的组合可以划分分割结构,例如用于分割译码树单元。在译码树单元内的译码树结构中,cu可以为正方形或矩形。例如,首先通过四叉树分割译码树单元(codingtreeunit,ctu)。然后,可以通过多类型树结构进一步分割四叉树叶节点。多类型树结构有四种划分类型:垂直二叉树划分(split_bt_ver)、水平二叉树划分(split_bt_hor)、垂直三叉树划分(split_tt_ver)和水平三叉树划分(split_tt_hor)。多类型树叶节点称为译码单元(codingunit,cu),除非cu大于最大变换长度,否则在无需任何进一步分割的情况下将该分割用于预测和变换处理。即,在大多数情况下,cu、pu和tu在四叉树嵌套多类型树的译码块结构中的块尺寸相同。当最大支持变换长度小于cu的彩色分量的宽度或高度时,就会出现该异常。制定了具有四叉树嵌套多类型树的译码结构中的分割划分信息的唯一指示机制。在该指示机制中,译码树单元(codingtreeunit,ctu)作为四叉树的根进行处理,首先通过四叉树结构分割。然后,进一步通过多类型树结构分割每个四叉树叶节点(当大到足以进行分割时)。在多类型树结构中,指示第一标志(mtt_split_cu_flag)来表示是否进一步分割节点;当进一步分割节点时,指示第二标志(mtt_split_cu_vertical_flag)来表示划分方向,然后指示第三标志(mtt_split_cu_binary_flag)来表示划分为二叉树划分还是三叉树划分。根据mtt_split_cu_vertical_flag和mtt_split_cu_binary_flag的值,解码器可以根据预定义规则或表格推导出cu的多类型树划分模式(mttsplitmode)。需要说明的是,对于某种设计,例如vvc硬件解码器中的64×64的亮度块和32×32的色度流水线设计,当亮度译码块的宽度或高度大于64时,不允许进行tt划分,如图6所示。当色度译码块的宽度或高度大于32时,也禁止tt划分。流水线设计将图像分为多个虚拟流水数据单元(virtualpipelinedataunit,vpdu),定义为图像中的不重叠的单元。在硬件解码器中,多个流水线阶段同时处理连续的vpdu。在大多数流水线阶段,vpdu尺寸与缓冲器尺寸大致成正比,因此需要保持较小的vpdu。在大多数硬件解码器中,可以将vpdu尺寸设置为最大变换块(transformblock,tb)尺寸。然而,在vvc中,三叉树(ternarytree,tt)和二叉树(binarytree,bt)分割可能会增加vpdu的尺寸。[0233]另外,需要说明的是,当树节点块的一部分超出底部或右侧图像边界时,对该树节点块进行强制划分,直到每个译码cu的所有样本都位于图像边界内。[0234]例如,帧内子分割(intrasub‑partitions,isp)工具可以根据块尺寸将亮度帧内预测块垂直或水平分为2个或4个子分割。[0235]帧内预测[0236]帧内预测模式集合可以包括35种不同的帧内预测模式,例如,如dc(或均值)模式和平面模式等非方向性模式,或如hevc中定义的方向性模式,或者可以包括67种不同的帧内预测模式,例如,如dc(或均值)模式和平面模式等非方向性模式,或如针对vvc定义的方向性模式。在一个示例中,若干传统角度帧内预测模式自适应地替换为例如vvc中定义的非正方形块的广角帧内预测模式。在另一示例中,为了避免dc预测的除法运算,仅使用较长边来计算非正方形块的平均值。并且,还可以通过位置决定的帧内预测组合(positiondependentintrapredictioncombination,pdpc)方法修改平面模式的帧内预测结果。[0237]帧内预测单元用于根据帧内预测模式集合中的帧内预测模式,使用同一当前图像的邻块的重建样本来生成帧内预测块。[0238]帧内预测单元(或通常为模式选择单元)还用于将帧内预测参数(或通常为指示块的所选帧内预测模式的信息)以语法元素的形式输出到熵编码单元,以包括到编码后的图像数据中,使得例如视频解码器可以接收并使用预测参数进行解码。[0239]帧间预测[0240]在可能的实现中,帧间预测模式集合取决于可用参考图像(即,例如存储在dpb中的先前至少部分解码的图像)和其它帧间预测参数,例如取决于是否使用整个参考图像或只使用参考图像的一部分(例如当前块的区域附近的搜索窗口区域)来搜索最佳匹配参考块,和/或例如取决于是否应用像素插值(例如二分之一/半像素、四分之一像素和/或1/16像素插值)。[0241]除上述预测模式外,还可以应用跳过模式、直接模式和/或其它帧间预测模式。[0242]例如,对于扩展融合(merge)预测,这种模式的融合候选列表由以下五种候选类型按顺序组成:空间相邻cu的空间mvp、并置cu的时间mvp、fifo表的基于历史的mvp、成对平均mvp和零mv。可以应用基于双边匹配的解码端运动矢量修正(decodersidemotionvectorrefinement,dmvr)来提高融合模式的mv的准确度。带有mvd的融合模式(mergemodewithmvd,mmvd)来自有运动矢量差值的融合模式。在发送跳过标志和融合标志之后立即指示mmvd标志,以表示是否对cu使用mmvd模式。可以应用cu级自适应运动矢量分辨率(adaptivemotionvectorresolution,amvr)方案。amvr支持以不同的精度对cu的mvd进行译码。根据当前cu的预测模式,可以自适应地选择当前cu的mvd。当以融合模式对cu进行译码时,可以将合并的帧间/帧内预测(combinedinter/intraprediction,ciip)模式应用于当前cu。对帧间和帧内预测信号进行加权平均,得到ciip预测。对于仿射运动补偿预测,通过2个控制点(4参数)或3个控制点(6参数)运动矢量的运动信息来描述块的仿射运动场。基于子块的时间运动矢量预测(subblock‑basedtemporalmotionvectorprediction,sbtmvp)与hevc中的时间运动矢量预测(temporalmotionvectorprediction,tmvp)类似,但预测的是当前cu内子cu的运动矢量。双向光流(bi‑directionalopticalflow,bdof)以前称为bio,是一种减少计算的简化版本,特别是在乘法次数和乘数尺寸方面的计算。在三角形分割模式中,使用对角线划分或反对角线划分将cu均匀划分为两个三角形部分。此外,双向预测模式在简单平均的基础上进行了扩展,以支持两个预测信号的加权平均。[0243]帧间预测单元可以包括运动估计(motionestimation,me)单元和运动补偿(motioncompensation,mc)单元(两者在图2中均未示出)。运动估计单元可以用于接收或获取图像块(当前图像的当前图像块)和解码图像,或至少一个或多个先前重建块,例如,一个或多个其它/不同先前解码图像的重建块,以进行运动估计。例如,视频序列可以包括当前图像和先前解码图像,或换句话说,当前图像和先前解码图像可以为形成视频序列的图像序列的一部分或形成该图像序列。[0244]例如,编码器可用于从多个其它图像中的相同或不同图像的多个参考块中选择参考块,并将参考图像(或参考图像索引)和/或参考块的位置(x坐标,y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数提供给运动估计单元。该偏移也称为运动矢量(motionvector,mv)。[0245]运动补偿单元用于获取例如接收帧间预测参数,并根据或使用帧间预测参数进行帧间预测,以获得帧间预测块。由运动补偿单元执行的运动补偿可能涉及根据通过运动估计确定的运动/块矢量来提取或生成预测块,还可能涉及对子像素精度进行插值。插值滤波可以从已知像素的样本中生成额外像素的样本,从而可能增加可用于对图像块进行译码的候选预测块的数量。一旦接收到当前图像块的pu的运动矢量,运动补偿单元可以定位在其中一个参考图像列表中运动矢量指向的预测块。[0246]运动补偿单元还可以生成与块和视频条带相关的语法元素,以供视频解码器30在解码视频条带的图像块时使用。除了条带和相应语法元素或作为条带和相应语法元素的替代,还可以接收和/或使用分块组(tilegroup)和/或分块(tile)以及相应语法元素。[0247]如图20所示,在本发明实施例中,一种视频译码方法可以包括:[0248]s2001:获取视频码流。[0249]解码端从另一边(编码端或网络发送端)接收编码后的视频码流,或者解码端读取存储在解码端存储器中的编码后的视频码流。[0250]编码后的视频码流包括用于对编码后的图像数据进行解码的信息,例如表示已编码的视频的图像块的数据和相关的语法元素。[0251]s2002:根据视频码流确定当前译码块的预测样本是使用帧内预测还是帧间预测获得。[0252]在解码端,当前译码块为解码端当前正在重建的块。当前译码块位于视频的帧或图像中。[0253]可以根据视频码流中的语法元素确定当前译码块的预测样本是使用帧内预测还是帧间预测获得。[0254]视频码流中可以有一个语法元素用于表示使用帧间预测或帧内预测的当前译码块。例如,码流中有一个标志用于表示对当前译码块使用帧内预测过程或帧间预测过程。当标志的值等于1(或其它值)时,使用帧内预测获得当前译码块的预测样本;当标志的值等于0(或其它值)时,使用帧间预测获得当前译码块的预测样本。[0255]也可以使用两个或更多个语法元素来表示使用帧间预测或帧内预测的当前译码块。例如,码流中有一个指示信息(例如,标志)用于表示当前译码块是否使用帧内预测过程,码流中还有其它指示信息(例如,另一标志)用于表示当前译码块是否使用帧间预测过程。[0256]当确定使用帧内预测获得当前译码块的预测样本时,执行步骤s2003。当确定使用帧间预测获得当前译码块的预测样本时,执行步骤s2006。[0257]s2003:根据当前译码块的帧内预测模式和预测样本在当前译码块内的位置获得第一子像素偏移值。[0258]在一个示例中,还可以根据视频码流获取当前译码块的帧内预测模式。[0259]图4示出了如针对vvc提出的67种帧内预测模式的示例,67种帧内预测模式的多种帧内预测模式包括:平面模式(索引为0)、dc模式(索引为1),以及角度模式(索引为2到66),其中,图4中的左下角度模式是指索引2,并且索引的编号递增,直到索引66对应图4的最右上角度模式为止。[0260]图11示出了hevcuip方案中使用的多种帧内预测模式的示意图。对于亮度块,帧内预测模式可以包括多达36种帧内预测模式,可以包括三种非方向模式和33种方向模式。非方向模式可以包括平面预测模式、均值(dc)预测模式和基于亮度预测模式得到的色度预测模式(lm)。平面预测模式可以通过假定块幅度表面具有从块的边界推导的水平和垂直斜率来执行预测。dc预测模式可以通过假设平坦块表面具有与块边界的平均值相匹配的值来执行预测。lm预测模式可以通过假设块的色度值与块的亮度值相匹配来执行预测。定向模式可以根据邻块执行预测,如图11所示。[0261]根据对当前译码块的视频码流的解析,可以获得当前译码块的帧内预测模式。在一个示例中,根据视频码流获得当前译码块的最可能模式(mostprobablemodes,mpm)标志的值。在一个示例中,当mpm标志的值为真(例如,mpm标志的值为1)时,获取索引的值,该索引的值用于表示mpm中当前译码块的帧内预测模式值。[0262]在另一示例中,当mpm标志的值为真(例如,mpm标志的值为1)时,获取第二标志(例如,平面标志)的值。当第二标志的值为假(在一个示例中,第二标志的值为假表示当前译码块的帧内预测模式不是平面模式)时,获取索引的值,该索引的值用于表示mpm中当前译码块的帧内预测模式值。[0263]在一个示例中,语法元素intra_luma_mpm_flag[x0][y0]、intra_luma_mpm_idx[x0][y0]和intra_luma_mpm_remainder[x0][y0]表示亮度样本的帧内预测模式。阵列索引x0,y0表示所考虑预测块的左上亮度样本相对于图像的左上亮度样本的位置(x0,y0)。当intra_luma_mpm_flag[x0][y0]等于1时,从相邻帧内预测的预测单元推断帧内预测模式。[0264]在一个示例中,当mpm标志的值为假(例如,mpm标志的值为0)时,获取索引的值,该索引的值用于表示非mpm中当前译码块的帧内预测模式值。[0265]根据帧内预测模式的斜率获得预测样本在当前译码块内的位置。样本在预测块(例如,当前译码块)中的位置相对于左上预测样本的位置由一对整数值(xp,yp)定义,其中,xp是预测样本相对于左上预测样本的水平偏移,yp是预测样本相对于左上预测样本的垂直偏移。左上预测样本的位置定义为xp=0,yp=0。[0266]从参考样本生成预测样本,执行以下步骤。定义两个帧内预测模式范围。帧内预测模式的第一范围对应于垂直方向的预测,帧内预测模式的第二范围对应于水平方向的模式。当针对预测块指定的帧内预测模式属于帧内预测模式的第一范围时,还可以用位置(x,y)寻址预测样本块,其中x集合等于xp,y集合等于yp。当针对预测块指定的帧内预测模式属于帧内预测模式的第二范围时,还可以用位置(x,y)寻址预测样本块,其中x集合等于yp,y集合等于xp。在一些示例中,帧内预测模式的第一范围定义为[34,80]。帧内预测模式的第二范围定义为[–14,–1]∪[1,33]。[0267]反角度参数invangle根据intrapredangle推导如下:[0268][0269]每个帧内预测模式都具有相关的帧内预测变量,还称为“intrapredangle”。这种相关如表8‑8所示。[0270]使用以下等式定义表示为“ifact”且还称为“第一子像素偏移值”的子像素偏移:[0271]ifact=((y+1+refidx)*intrapredangle)&31[0272]在该等式中,refidx表示参考样本集合相对于预测块边界的偏移。对于亮度分量,可以获得该值,例如如下所示:[0273]intra_luma_ref_idxrefidx001123[0274]语法元素“intra_luma_ref_idx”的值在码流中指示。[0275]还提供了获得预测样本(如所述vvc标准,jvet‑o2001)的过程的实施例,其中,不管帧内预测模式是水平方向还是垂直方向,位置(x,y)总是定义为x=xp和y=yp:[0276]预测样本predsamples[x][y]的值推导如下,其中,x=0……ntbw–1,y=0……ntbh–1:[0277]–如果predmodeintra大于等于34,则使用如下顺序步骤:[0278]1.参考样本阵列ref[x]指定如下:[0279]–以下适用:[0280]ref[x]=p[–1–refidx+x][–1–refidx],其中,x=0……ntbw+refidx+1[0281]–如果intrapredangle小于0时,则主参考样本阵列扩展如下:[0282]ref[x]=p[–1–refidx][–1–refidx+min((x*invangle+256)>>9,ntbh)],[0283]其中,x=–ntbh……1[0284]–否则,[0285]ref[x]=p[–1–refidx+x][–1–refidx],其中,x=ntbw+2+refidx……refw+refidx[0286]–附加样本ref[refw+refidx+x]推导如下,其中,x=1……(max(1,ntbw/ntbh)*refidx+2):[0287]ref[refw+refidx+x]=p[–1+refw][–1–refidx][0288]2.预测样本predsamples[x][y]的值推导如下,其中,x=0……ntbw–1,y=0……ntbh–1:[0289]–索引变量iidx和乘法因子ifact推导如下:[0290]iidx=(((y+1+refidx)*intrapredangle)>>5)+refidx[0291]ifact=((y+1+refidx)*intrapredangle)&31[0292]–如果cidx等于0,则以下适用:[0293]–插值滤波系数ft[j]推导如下,其中,j=0……3:[0294]ft[j]=filterflag?fg[ifact][j]:c[ifact][j][0295]–预测样本predsamples[x][y]的值推导如下:[0296][0297]–否则(cidx不等于0),根据ifact的值,以下适用:[0298]–如果ifact不等于0,则预测样本predsamples[x][y]的值推导如下:[0299]predsamples[x][y]=((32–ifact)*ref[x+iidx+1]+ifact*ref[x+iidx+2]+16)>>5[0300]–否则,预测样本predsamples[x][y]的值推导如下:[0301]predsamples[x][y]=ref[x+iidx+1][0302]–否则(predmodeintra小于34),使用如下顺序步骤:[0303]1.参考样本阵列ref[x]指定如下:[0304]–以下适用:[0305]ref[x]=p[–1–refidx][–1–refidx+x],其中,x=0……ntbh+refidx+1[0306]–如果intrapredangle小于0时,则主参考样本阵列扩展如下:[0307]ref[x]=p[–1–refidx+min((x*invangle+256)>>9,ntbw)][–1–refidx],[0308]其中,x=–ntbw……–1[0309]–否则,[0310]ref[x]=p[–1–refidx][–1–refidx+x],其中,x=ntbh+2+refidx……refh+refidx[0311]–附加样本ref[refh+refidx+x]推导如下,其中,x=1……(max(1,ntbw/ntbh)*refidx+2):[0312]ref[refh+refidx+x]=p[–1+refh][–1–refidx][0313]2.预测样本predsamples[x][y]的值推导如下,其中,x=0……ntbw–1,y=0……ntbh–1:[0314]–索引变量iidx和乘法因子ifact推导如下:[0315]iidx=(((x+1+refidx)*intrapredangle)>>5)+refidx[0316]ifact=((x+1+refidx)*intrapredangle)&31[0317]–如果cidx等于0,则以下适用:[0318]–插值滤波系数ft[j]推导如下,其中,j=0……3:[0319]ft[j]=filterflag?fg[ifact][j]:c[ifact][j][0320]–预测样本predsamples[x][y]的值推导如下:[0321][0322]–否则(cidx不等于0),根据ifact的值,以下适用:[0323]–如果ifact不等于0,则预测样本predsamples[x][y]的值推导如下:[0324]predsamples[x][y]=((32–ifact)*ref[y+iidx+1]+ifact*ref[y+iidx+2]+16)>>5[0325]–否则,预测样本predsamples[x][y]的值推导如下:[0326]predsamples[x][y]=ref[y+iidx+1]。[0327]s2004:根据第一子像素偏移值获取滤波系数。[0328]在一个示例中,根据第一子像素偏移值获得滤波系数是指根据预定义的查找表和第一子像素偏移值获得滤波系数。在一个示例中,使用第一子像素偏移值作为索引,使用预定义查找表描述滤波系数与子像素偏移之间的映射关系。[0329]在一个示例中,预定义查找表描述如下:[0330][0331][0332]其中,“子像素偏移”列以1/32子像素分辨率定义,且c0、c1、c2、c3为滤波系数。[0333]在另一示例中,预定义查找表描述如下:[0334][0335][0336]其中,“子像素偏移”列以1/32子像素分辨率定义,且c0、c1、c2、c3为滤波系数。[0337]在另一可能的实现实施例中,用于帧内预测和帧间预测的插值滤波系数推导过程的结果是4抽头滤波器的系数。[0338]在一种可能的实现实施例中,当帧内预测中使用的主参考边的尺寸小于或等于阈值时,选择插值滤波系数推导过程。[0339]在一个示例中,根据块的宽度值或块的高度值,选择高斯滤波系数或三次滤波系数。使用宽度还是高度的决策与主参考边选择的决策一致。当帧内预测模式的值大于或等于对角线模式的值时,选择参考样本的顶边作为主参考边,并选择宽度值来确定正在使用的插值滤波器。当帧内预测模式的值小于对角线模式的值时,从块的左边选择主参考边,并使用高度值控制滤波器的选择过程。具体地,如果所选边的长度小于或等于8个样本,则使用4抽头三次滤波器。如果所选边的长度大于8个样本,则插值滤波器为4抽头高斯滤波器。[0340]对于每个帧内预测模式,一个值对应一个帧内预测模式。因此,可以使用不同帧内预测模式值中的值关系(例如,小于、等于或大于)来选择主参考边。[0341]图12示出了在32×4块的情况下,对于小于和大于对角线模式(表示为45°)的模式选择的示例。如图12所示,如果对应于当前译码块的帧内预测模式的值小于对应于对角线模式的值,则选择当前译码块的左边(高度)作为主参考边。在这种情况下,针对预测块指定的帧内预测模式是水平方向的,即,该帧内预测模式属于帧内预测模式的第二范围。由于左边具有4个样本,其小于阈值(例如,8个样本),因此,选择三次插值滤波器。[0342]如果对应于当前译码块的帧内预测模式的值大于或等于对应于对角线模式的值,则选择当前译码块的顶边(宽度)作为主参考边。在这种情况下,针对预测块指定的帧内预测模式是垂直方向的,即,该帧内预测模式属于帧内预测模式的第一范围。由于顶边具有32个样本,其大于阈值(例如,8个样本),因此,选择高斯插值滤波器。[0343]在一个示例中,如果选择三次滤波器,则将预测样本进一步修正为在允许的值范围内,该值范围是在序列参数集合(sequenceparameterset,sps)中定义,或从所选组件的位深度推导得到。[0344]在一个示例中,如图8所示,“具有6位色度系数的4抽头插值滤波器”(也称为“统一帧内/帧间滤波器”)可用于两个过程:帧内预测样本的插值和帧间预测样本的插值。[0345]图9中示出了使用这种设计的实施例。在该实现方式中,滤波模块实现为单独单元,该单独单元参与预测运动补偿906中的色度样本以及在执行帧内预测907时预测亮度和色度样本。在该实现方式中,硬件滤波部分(例如,4抽头滤波器904)用于帧内预测和帧间预测过程。[0346]另一实施例示出在重复使用滤波系数的lut时的实施例(参见图10)。图10是基于重复使用系数的lut的提供应用的示例性实现方式。在该实现方式中,硬件滤波模块从存储在rom中的lut中加载系数。帧内预测过程中示出的开关根据选择用于帧内预测处理的主边长度来确定待使用的滤波器类型。[0347]在另一示例中,根据阈值,选择高斯滤波系数或三次滤波系数。[0348]在一些示例中,对于尺寸为32×4和4×32的块,用于确定参考样本滤波器的阈值模式mt如其在图16所示定义。[0349]阈值帧内预测角度的值可以通过如下公式计算:[0350][0351]其中,w和h分别是块宽度和高度。[0352]在一个示例中,示出intra_angular2……intra_angular66帧内预测模式的规格。[0353]该过程的输入是:[0354]–帧内预测模式predmodeintra,[0355]–变量refidx,表示帧内预测参考线索引,[0356]–变量ntbw,表示变换块宽度,[0357]–变量ntbh,表示变换块高度,[0358]–变量refw,表示参考样本宽度,[0359]–变量refh,表示参考样本高度,[0360]–变量ncbw,表示译码块宽度,[0361]–变量ncbh,表示译码块高度,[0362]–变量reffilterflag,表示参考滤波器标志的值,[0363]–变量cidx,表示当前块的颜色分量,[0364]–相邻样本p[x][y],其中,x=–1–refidx,y=–1–refidx……refh–1,x=–refidx……refw–1,y=–1–refidx。[0365]该过程的输出是预测样本predsamples[x][y],其中x=0……ntbw–1,y=0……ntbh–1。[0366]将变量ntbs设置为(log2(ntbw)+log2(ntbh))>>1。[0367]变量filterflag推导如下:[0368]–如果以下条件中的一个或多个为真,则filterflag设置为0。[0369]–reffilterflag等于1[0370]–refidx不等于0[0371]–intrasubpartitionssplittype不等于isp_no_split[0372]–否则,以下适用:[0373]–将变量mindistverhor设置为min(abs(predmodeintra–50),abs(predmodeintra–18))。[0374]–变量intrahorverdistthres[ntbs]在表8‑7中指定。[0375]–变量filterflag推导如下:[0376]–如果mindistverhor大于intrahorverdistthres[ntbs],且reffilterflag等于0,则filterflag设置为1。[0377]–否则,filterflag设置为0。[0378]表8‑7‑各种变换块尺寸ntbs的intrahorverdistthres[ntbs]的规格[0379][0380]表8‑8是predmodeintra与角度参数intrapredangle之间的映射表。[0381]表8‑8–intrapredangle的规格[0382]predmodeintra–14–13–12–11–10–9–8–7–6–5–4–3–2–1234intrapredangle5123412561711281028673645751453935322926predmodeintra56789101112131415161718192021intrapredangle232018161412108643210–1–2–3predmodeintra2223242526272829303132333435363738intrapredangle–4–6–8–10–12–14–16–18–20–23–26–29–32–29–26–23–20predmodeintra3940414243444546474849505152535455intrapredangle–18–16–14–12–10–8–6–4–3–2–1012346predmodeintra5657585960616263646566676869707172intrapredangle810121416182023262932353945515764predmodeintra7374757677787980ꢀꢀꢀꢀꢀꢀꢀꢀꢀintrapredangle7386102128171256341512ꢀꢀꢀꢀꢀꢀꢀꢀꢀ[0383]反角度参数invangle根据intrapredangle推导如下:[0384][0385]在表8‑9中指定插值滤波系数fc[phase][j]和fg[phase][j],其中phase=0……31,j=0……3。[0386]表8‑9‑插值滤波系数fc和fg的规格[0387][0388][0389]s2005:根据滤波系数,获得帧内预测样本值。[0390]帧内预测样本值用于当前译码块的亮度分量。[0391]在一个实施例中,根据子像素偏移和滤波器类型,通过使用从表3中选择的系数进行卷积运算来计算帧内预测样本,如下所示:[0392][0393]在该等式中,“>>”表示按位右移操作,ci表示使用第一子像素偏移值推导出的一组滤波系数中的一个系数,s(x)表示位置(x,y)处的帧内预测样本,refi+x表示一组参考样本,其中,ref1+x位于位置(xr,yr)处,该参考样本位置定义如下:[0394]xr=(((y+1+refidx)*intrapredangle)>>5)+refidx;[0395]yr=>>–1–refidx。[0396]在一个示例中,预测样本predsamples[x][y]的值推导如下,其中,x=0……ntbw–1,y=0……ntbh–1:[0397]–如果predmodeintra大于等于34,则使用如下顺序步骤:[0398]3.参考样本阵列ref[x]指定如下:[0399]–以下适用:[0400]ref[x]=p[–1–refidx+x][–1–refidx],其中,x=0……ntbw+refidx+1[0401]–如果intrapredangle小于0时,则主参考样本阵列扩展如下:[0402]ref[x]=p[–1–refidx][–1–refidx+min((x*invangle+256)>>9,ntbh)],[0403]其中,x=–ntbh……1[0404]–否则,[0405]ref[x]=p[–1–refidx+x][–1–refidx],其中,x=ntbw+2+refidx……refw+refidx[0406]–附加样本ref[refw+refidx+x]推导如下,其中,x=1……(max(1,ntbw/ntbh)*refidx+2):[0407]ref[refw+refidx+x]=p[–1+refw][–1–refidx][0408]4.预测样本predsamples[x][y]的值推导如下,其中,x=0……ntbw–1,y=0……ntbh–1:[0409]–索引变量iidx和乘法因子ifact推导如下:[0410]iidx=(((y+1+refidx)*intrapredangle)>>5)+refidx[0411]ifact=((y+1+refidx)*intrapredangle)&31[0412]–如果cidx等于0,则以下适用:[0413]–插值滤波系数ft[j]推导如下,其中,j=0……3:[0414]ft[j]=filterflag?fg[ifact][j]:c[ifact][j][0415]–预测样本predsamples[x][y]的值推导如下:[0416][0417]–否则(cidx不等于0),根据ifact的值,以下适用:[0418]–如果ifact不等于0,则预测样本predsamples[x][y]的值推导如下:[0419]predsamples[x][y]=((32–ifact)*ref[x+iidx+1]+ifact*ref[x+iidx+2]+16)>>5[0420]–否则,预测样本predsamples[x][y]的值推导如下:[0421]predsamples[x][y]=ref[x+iidx+1][0422]–否则(predmodeintra小于34),使用如下顺序步骤:[0423]3.参考样本阵列ref[x]指定如下:[0424]–以下适用:[0425]ref[x]=p[–1–refidx][–1–refidx+x],其中,x=0……ntbh+refidx+1[0426]–如果intrapredangle小于0时,则主参考样本阵列扩展如下:[0427]ref[x]=p[–1–refidx+min((x*invangle+256)>>9,ntbw)][–1–refidx],[0428]其中,x=–ntbw……–1[0429]–否则,[0430]ref[x]=p[–1–refidx][–1–refidx+x],其中,x=ntbh+2+refidx……refh+refidx[0431]–附加样本ref[refh+refidx+x]推导如下,其中,x=1……(max(1,ntbw/ntbh)*refidx+2):[0432]ref[refh+refidx+x]=p[–1+refh][–1–refidx][0433]4.预测样本predsamples[x][y]的值推导如下,其中,x=0……ntbw–1,y=0……ntbh–1:[0434]–索引变量iidx和乘法因子ifact推导如下:[0435]iidx=(((x+1+refidx)*intrapredangle)>>5)+refidx[0436]ifact=((x+1+refidx)*intrapredangle)&31[0437]–如果cidx等于0,则以下适用:[0438]–插值滤波系数ft[j]推导如下,其中,j=0……3:[0439]ft[j]=filterflag?fg[ifact][j]:c[ifact][j][0440]–预测样本predsamples[x][y]的值推导如下:[0441][0442]–否则(cidx不等于0),根据ifact的值,以下适用:[0443]–如果ifact不等于0,则预测样本predsamples[x][y]的值推导如下:[0444]predsamples[x][y]=((32–ifact)*ref[y+iidx+1]+ifact*ref[y+iidx+2]+16)>>5[0445]–否则,预测样本predsamples[x][y]的值推导如下:[0446]predsamples[x][y]=ref[y+iidx+1]。[0447]s2006:根据当前译码块的运动信息获得第二子像素偏移值。[0448]当前译码块的运动信息在码流中指示。运动信息可以包括在帧间预测中使用的运动矢量和其它语法元素。[0449]在一个示例中,第一子像素偏移值可以等于第二子像素偏移值。在另一示例中,第一子像素偏移值和第二子像素偏移值可以不同。[0450]s2007:根据第二子像素偏移值获得滤波系数。[0451]在可能的实现实施例中,执行在帧间预测中使用的插值滤波系数推导过程,在帧内预测中使用的预定义查找表也是如此。在该示例中,根据第一子像素偏移值获得滤波系数是指根据预定义查找表和第二子像素偏移值获得滤波系数。在一个示例中,使用第二子像素偏移值作为索引,使用预定义查找表描述滤波系数与子像素偏移之间的映射关系。[0452]在一个示例中,预定义查找表描述如下:[0453][0454][0455]其中,“子像素偏移”列以1/32子像素分辨率定义,且c0、c1、c2、c3为滤波系数。[0456]在另一示例中,预定义查找表描述如下:[0457][0458][0459]其中,“子像素偏移”列以1/32子像素分辨率定义,且c0、c1、c2、c3为滤波系数。[0460]当子像素偏移值等于0时,不需要滤波系数来获得帧间预测样本。在第一替代实施例中,可以执行以下步骤:[0461][0462]在第二替代实施例中,可以执行以下步骤:[0463][0464]在第三替代实施例中,可以执行以下步骤:[0465]–样本阵列temp[n]推导如下,其中,n=0……3:[0466][0467]–色度样本预测值predsamplelxc推导如下:[0468]predsamplelxc=(fc[yfracc][0]*temp[0]+fc[yfracc][1]*temp[1]+fc[yfracc][2]*temp[2]+fc[yfracc][3]*temp[3])>>shift2[0469]在上述三个可选实施例中,yfracc和xfracc设置为0,fc[0][0]=0,fc[0][1]=64,fc[0][2]=0,fc[0][3]=0。[0470]在另一可能的实现实施例中,用于帧内预测和帧间预测的插值滤波系数推导过程的结果是4抽头滤波器的系数。[0471]s2008:根据滤波系数,获得帧间预测样本值。[0472]在可能的实现实施例中,将帧间预测样本值用于当前译码块的色度分量。[0473]在一个示例中,公开了色度样本插值过程。[0474]该过程的输入是:[0475]–全样本单元中的色度位置(xintc,yintc),[0476]–1/32分数样本单元中的色度位置(xfracc,yfracc),[0477]–全样本单元中的色度位置(xsbintc,ysbintc)指定相对于参考图像的左上色度样本的用于参考样本填充的边界块的左上样本,[0478]–变量sbwidth,指定当前子块的宽度,[0479]–变量sbheight,指定当前子块的高度,[0480]–色度参考样本阵列refpiclxc。[0481]该过程的输出是预测色度样本值predsamplelxc。[0482]变量shift1、shift2和shift3推导如下:[0483]–将变量shift1设置为min(4,bitdepthc–8),将变量shift2设置为6,将变量shift3设置为max(2,14–bitdepthc)。[0484]–将变量picwc设置为pic_width_in_luma_samples/subwidthc,并将变量pichc设置为pic_height_in_luma_samples/subheightc。[0485]指定每个1/32分数样本位置p的色度插值滤波系数fc[p]等于xfracc或yfracc。[0486]变量xoffset设置为(sps_ref_wraparound_offset_minus1+1)*mincbsizey)/subwidthc。[0487]对于i=0……3,全样本单元中的色度位置(xinti,yinti)推导如下:[0488]–如果subpic_treated_as_pic_flag[subpicidx]等于1,则以下适用:[0489]xinti=clip3(subpicleftboundarypos/subwidthc,subpicrightboundarypos/subwidthc,xintl+i)[0490]yinti=clip3(subpictopboundarypos/subheightc,subpicbotboundarypos/subheightc,yintl+i)[0491]–否则(subpic_treated_as_pic_flag[subpicidx]等于0),则以下适用:[0492]xinti=clip3(0,picwc–1,sps_ref_wraparound_enabled_flag?cliph(xoffset,picwc,xintc+i–1):xintc+i–1)[0493]yinti=clip3(0,pichc–1,yintc+i–1)[0494]对于i=0……3,全样本单元(xinti,yinti)中的色度位置进一步修改如下:[0495]xinti=clip3(xsbintc–1,xsbintc+sbwidth+2,xinti)[0496]yinti=clip3(ysbintc–1,ysbintc+sbheight+2,yinti)[0497]色度样本预测值predsamplelxc推导如下:[0498]–如果xfracc和yfracc都等于0,则predsamplelxc的值推导如下:[0499]predsamplelxc=refpiclxc[xint1][yint1]<<shift3[0500]–否则,如果xfracc不等于0,yfracc等于0,则predsamplelxc的值推导如下:[0501][0502]–否则,如果xfracc和yfracc都等于0,则predsamplelxc的值推导如下:[0503][0504]–否则,如果xfracc和yfracc都不等于0,则predsamplelxc的值推导如下:[0505]–样本阵列temp[n]推导如下,其中,n=0……3:[0506][0507]–色度样本预测值predsamplelxc推导如下:[0508]predsamplelxc=(fc[yfracc][0]*temp[0]+fc[yfracc][1]*temp[1]+fc[yfracc][2]*temp[2]+fc[yfracc][3]*temp[3])>>shift2。[0509]一种解码器,包括用于执行上述方法的处理电路。[0510]在本发明中,公开了一种计算机程序产品,所述计算机程序产品包括用于执行上述方法的程序代码。[0511]在本发明中,公开了一种用于对视频数据进行解码的解码器,所述解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器并存储供所述处理器执行的程序,其中,在所述处理器执行所述程序时,配置所述解码器执行上述方法。[0512]图18为本发明实施例提供的网络设备1300的示意图。网络设备1300适用于实现本文描述的公开实施例。网络设备1300包括:入端口1310和接收器单元(rx)1320,用于接收数据;处理器、逻辑单元或中央处理单元(centralprocessingunit,cpu)1330,用于处理数据;发送器单元(tx)1340和出端口1350,用于发送数据;存储器1360,用于存储数据。网络设备1300还可以包括与入端口1310、接收器单元1320、发送器单元1340和出端口1350耦合的光电(optical‑to‑electrical,oe)组件和电光(electrical‑to‑optical,eo)组件,用作光信号或电信号的出口或入口。[0513]处理器1330通过硬件和软件实现。处理器1330可以实现为一个或多个cpu芯片、核(例如像多核处理器)、现场可编程门阵列(field‑programmablegatearray,fpga)、专用集成电路(applicationspecificintegratedcircuit,asic)和数字信号处理器(digitalsignalprocessor,dsp)。处理器1330与入端口1310、接收器单元1320、发送器单元1340、出端口1350和存储器1360通信。处理器1330包括译码模块1370。译码模块1370实现上述公开的实施例。例如,译码模块1370实现、处理、准备或提供各种联网功能。因此,包括译码模块1370使得网络设备1300功能得到了显著改进,并且实现了网络设备1300不同状态的转换。或者,以存储在存储器1360中并由处理器1330执行的指令来实现译码模块1370。[0514]存储器1360包括一个或多个磁盘、磁带机和固态硬盘,可用作溢出数据存储设备,以在选择执行程序时存储这类程序,并存储在程序执行期间读取的指令和数据。存储器1360可以是易失性和/或非易失性,并且可以是只读存储器(read‑onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、三态内容寻址存储器(ternarycontent‑addressablememory,tcam)和/或静态随机存取存储器(staticrandom‑accessmemory,sram)。[0515]图19为可用于实现各种实施例的装置1500的框图。装置1500可以是图1所示的源设备102、或图2所示的视频编码器200、或图1所示的目的设备104、或图3所示的视频解码器300。此外,装置1100可包括一个或多个所描述的元件。在一些实施例中,装置1100配备有一个或多个输入/输出设备,如扬声器、麦克风、鼠标、触摸屏、小键盘、键盘、打印机、显示器等。装置1500可包括连接到总线的一个或多个中央处理单元(centralprocessingunit,cpu)1510、存储器1520、大容量存储器1530、视频适配器1540和i/o接口1560。所述总线是任何类型的若干总线架构中的一种或多种,包括内存总线或内存控制器、外围总线、视频总线等。[0516]cpu1510可具有任何类型的电子数据处理器。存储器1520可具有或者可以是任何类型的系统存储器,如静态随机存取存储器(staticrandomaccessmemory,sram)、动态随机存取存储器(dynamicrandomaccessmemory,dram)、同步dram(synchronousdram,sdram)、只读存储器(read‑onlymemory,rom)、其组合等。在一个实施例中,存储器1520可以包括在开机时使用的rom以及在执行程序时使用的存储程序和数据的dram。在一个实施例中,内存1520是非瞬时性存储器。大容量存储器1530包括存储数据、程序和其它信息并使数据、程序和其它信息能够通过总线访问的任何类型的存储设备。例如,大容量存储器1530包括固态硬盘、硬盘驱动器、磁盘驱动器、光盘驱动器等中的一种或多种。[0517]视频适配器1540和i/o接口1560提供接口以使外部输入和输出设备与装置1100耦合。例如,装置1100可向客户端提供sql命令接口。如图所示,输入和输出设备的示例包括与视频适配器1540耦合的显示器1590和与i/o接口1560耦合的鼠标/键盘/打印机1570的任何组合。其它设备可与装置1100耦合,并且可使用额外的或更少的接口卡。例如,串行接口卡(未示出)可以用于为打印机提供串行接口。[0518]装置1100还包括一个或多个网络接口1550,或一个或多个网络1580,其中,网络接口1550包括以太网线等有线链路,和/或用于接入节点的无线链路。网络接口1550使得装置1100可以通过网络1580与远程单元通信。例如,网络接口1550可提供与数据库的通信。在一个实施例中,装置1100与局域网或广域网耦合,以进行数据处理并与如其它处理单元、互联网、远程存储设施等远程设备进行通信。[0519]引入分段线性近似,以计算用于预测给定块内像素所需的加权系数的值。分段线性近似一方面与直接的加权系数计算相比,大大降低了距离加权预测机制的计算复杂度,另一方面与现有技术简化相比,有助于实现加权系数值的更高精确度。[0520]实施例可以应用于其它双向和位置相关帧内预测技术(例如,pdpc的不同修改)以及使用取决于从一个像素到另一个像素的距离的加权系数混合图像的不同部分的机制(例如,图像处理中的一些混合方法)。[0521]本发明所描述的主题和操作可在数字电子电路中实现,也可在计算机软件、固件或硬件中实现,包括在本发明中公开的结构及其结构等同物中实现,或在其一个或多个的组合中实现。本发明所描述的主题可实现为一个或多个计算机程序,即计算机程序指令的一个或多个模块,所述一个或多个计算机程序被编码在计算机存储介质中,以由数据处理装置执行或控制数据处理装置的操作。或者或另外,所述程序指令可在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上进行编码,生成所述信号以对信息进行编码以传输到合适的接收器装置,供数据处理装置执行。计算机存储介质,例如计算机可读介质,可以是或包括在计算机可读存储设备、计算机可读存储衬底、随机或串行访问存储阵列或设备,或其中一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但计算机存储介质可以是编码到人工生成的传播信号中的计算机程序指令的源或目标。计算机存储介质也可以是或包括在一个或多个单独的物理和/或非瞬时性组件或介质(例如,多个cd、磁盘或其它存储设备)中。[0522]在一些实现方式中,本发明所描述的操作可实现为云计算网络中服务器中提供的托管服务。例如,可在云计算网络内对计算机可读存储介质进行逻辑分组和访问。云计算网络中的服务器可包括云计算平台,用于提供云服务。在不脱离本发明范围的情况下,术语“云”、“云计算”和“基于云”可酌情互换使用。云服务可以是托管服务,由服务器提供,并通过网络传送到客户端平台,以增强、补充或替换在客户端计算机上本地执行的应用。电路可使用云服务来快速接收软件升级、应用和其它资源,否则,这些资源需要很长的时间才能传送到所述电路。[0523]计算机程序(也称为程序、软件、软件应用、脚本或代码)可以任何形式的编程语言编写,包括编译或直译语言、声明性语言或程序语言,并且可以任何形式进行部署,例如,作为独立程序或作为模块、组件、子例程、对象或适用于计算环境中的其它单元进行部署。计算机程序可(但不必)对应文件系统中的文件。程序可存储在包括其它程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于相关程序的单个文件中,或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可将计算机程序部署在一台计算机中执行,或部署在位于一个站点或分布于多个站点并通过通信网络互连的多台计算机中执行。[0524]本发明中描述的过程和逻辑流可由执行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作和生成输出来执行动作。所述过程和逻辑流也可由现场可编程门阵列(fieldprogrammablegatearray,fpga)或专用集成电路(application‑specificintegratedcircuit,asic)等专用逻辑电路执行,且装置也可实现为所述专用逻辑电路。[0525]例如,适合于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的基本元件为用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还包括一个或多个用于存储数据的大容量存储设备(例如磁盘、磁光盘或光盘),或与一个或多个用于存储数据的大容量存储设备可操作地耦合以从大容量存储设备接收数据和/或将数据传送给大容量存储设备。然而,计算机不必具有此类设备。此外,可将计算机嵌入到其它设备中,例如移动电话、个人数字助理(personaldigitalassistant,pda)、移动音频或视频播放器、游戏机、全球定位系统(globalpositioningsystem,gps)接收器或便携式存储设备(例如,通用串行总线(universalserialbus,usb)闪存驱动器)等。适合存储计算机程序指令和数据的设备包括各种形式的非易失性存储器、介质和存储设备,例如,包括eprom、eeprom和闪存设备等半导体存储设备;内置硬盘或可移动硬盘等磁盘;磁光盘;以及cd‑rom和dvd‑rom磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路。[0526]虽然本发明包括许多具体实现方式的细节,但这些不应对任何实现方式的范围或所要求保护的范围造成限制,而应作为针对特定实现方式的特定实现方式的特征的描述。在单独实现方式的上下文中,本发明中所描述的某些特征也可以在单个实现方式中组合实现。反之,在单个实现方式的上下文中描述的各种特征也可以在多个实现方式中单独实现或在任何合适的子组合中实现。此外,尽管上文可将特征描述为以某些组合来实现,甚至最初要求保护,但是在某些情况下,可从要求保护的组合中去除该组合中的一个或多个特征,且所要求保护的组合可针对子组合或子组合的变型。[0527]同样,虽然附图以特定顺序描述操作,但这不应理解为要求此类操作按照所示的特定顺序或按顺序执行,或者要求执行所示的所有操作,以达到期望的结果。在某些情况下,进行多任务处理和并行处理可以是有利的。此外,上述实现方式中的各种系统组件的分离不应理解为所有实现方式都要求这种分离。应理解,所描述的程序组件和系统通常可以一起集成到单个软件产品中或封装到多个软件产品中。[0528]因此,已经描述了本主题的特定实现方式。其它实现方式在以下权利要求的保护范围之内。在一些情况下,可以不同的顺序执行权利要求中所述的动作,并且仍然达到期望的结果。此外,附图中描述的过程不一定要求按所示的特定顺序或按顺序执行才能达到期望的结果。在某些实现方式中,进行多任务处理和并行处理可以是有利的。[0529]虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以以多种其它特定形式来体现。本发明示例应被视为说明性而非限制性的,且本发明并不限于本文所给出的细节。例如,可以在另一系统中结合或集成各种元件或组件,或者可以省略或不实现某些特征。[0530]另外,在不偏离本发明的范围的情况下,各种实施例中描述及图示为独立或分离的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。示出或描述为彼此耦合、或直接耦合、或相互通信的其它项目可通过某种接口、设备或中间组件以电方式、机械方式或其它方式间接耦合或通信。变化、替换和变更的其它示例可由本领域技术人员确定,并可在不脱离本文公开的精神和范围的情况下举例。[0531]在以下本发明的另外实施例中描述,其中实施例的编号不一定与在前文中使用的编号相匹配。[0532]实施例1.一种帧内预测方法,其中,所述方法包括:[0533]使用用于色度分量的插值滤波器作为块的帧内预测的插值滤波器。[0534]实施例2.根据实施例1所述的方法,其中,用于色度分量的插值滤波器的查找表与用于帧内预测的插值滤波器的查找表相同。[0535]实施例3.根据实施例1所述的方法,其中,用于色度分量的插值滤波器的查找表与用于帧内预测的插值滤波器的查找表不同。[0536]实施例4.根据实施例1至3中任一项所述的方法,其中,插值滤波器为4抽头滤波器。[0537]实施例5.根据实施例1至4中任一项所述的方法,其中,用于色度分量的插值滤波器的查找表为:[0538][0539][0540]实施例6.一种帧内预测方法,其中,所述方法包括:[0541]从用于块的帧内预测的一组插值滤波器中选择一个插值滤波器。[0542]实施例7.根据实施例6所述的方法,其中,一组插值滤波器包括高斯滤波器和三次滤波器。[0543]实施例8.根据实施例6或7所述的方法,其中,所选插值滤波器的查找表与用于色度分量的插值滤波器的查找表相同。[0544]实施例9.根据实施例6至8中任一项所述的方法,其中,所选插值滤波器为4抽头滤波器。[0545]实施例10.根据实施例6至9中任一项所述的方法,其中,所选插值滤波器为三次滤波器。[0546]实施例11.根据实施例6至10中任一项所述的方法,其中,所选插值滤波器的查找表为:[0547][0548][0549]实施例12.一种编码器,包括用于执行根据实施例1至11中任一项所述的方法的处理电路。[0550]实施例13.一种解码器,包括用于执行根据实施例1至11中任一项所述的方法的处理电路。[0551]实施例14.一种计算机程序产品,包括用于执行根据实施例1至11中任一项所述方法的程序代码。[0552]实施例15.一种解码器,包括:[0553]一个或多个处理器;[0554]非瞬时性计算机可读存储介质,耦合至所述处理器,并存储由所述处理器执行的程序,其中,在所述处理器执行所述程序时,配置所述解码器执行根据实施例1至11中任一项所述的方法。[0555]实施例16.一种编码器,包括:[0556]一个或多个处理器;[0557]非瞬时性计算机可读存储介质,耦合至所述处理器,并存储由所述处理器执行的程序,其中,在所述处理器执行所述程序时,配置所述编码器执行根据实施例1至11中任一项所述的方法。[0558]实施例17.一种视频译码方法,其特征在于,所述方法包括:[0559]‑第一块的帧间预测处理,其中,所述帧间预测处理包括参考块的样本的子像素插值滤波;[0560]‑第二块的帧内预测处理,其中,所述帧内预测处理包括参考样本的子像素插值滤波;[0561]其中,所述方法还包括:[0562]‑根据整数参考样本位置与分数参考样本位置之间的子像素偏移,选择用于所述子像素插值滤波的插值滤波系数,其中,对于相同的子像素偏移,相同的插值滤波系数被选择用于进行帧内预测处理和帧间预测处理。[0563]实施例18.根据实施例17所述的方法,其特征在于,所述(相同的)选择的滤波系数用于对色度样本进行所述子像素插值滤波,以进行帧间预测处理;所述(相同的)选择的滤波系数用于对亮度样本进行所述子像素插值滤波,以进行帧内预测处理。[0564]实施例19.根据实施例17或18所述的方法,其特征在于,所述帧间预测处理是块内复制处理。[0565]实施例20.根据实施例17‑19中任一项所述的方法,其特征在于,用于帧间预测处理和帧内预测处理的所述插值滤波系数是从查找表(lookuptable,lut)中获取的。[0566]实施例21.根据实施例17‑20中任一项所述的方法,其特征在于,4抽头滤波器用于所述子像素插值滤波。[0567]实施例22.根据实施例17‑21中任一项所述的方法,其特征在于,选择所述插值滤波系数包括:根据以下子像素偏移与插值滤波系数之间的相关选择所述插值滤波系数:[0568][0569][0570]其中,所述子像素偏移以1/32子像素分辨率定义,且c0至c3表示所述插值滤波系数。[0571]实施例23.根据实施例17‑22中任一项所述的方法,其特征在于,选择所述插值滤波系数包括:根据以下子像素偏移与插值滤波系数之间的相关针对分数位置选择所述插值滤波系数:[0572][0573][0574]其中,所述子像素偏移以1/32子像素分辨率定义,且c0至c3表示所述插值滤波系数。[0575]实施例24.一种编码器,其特征在于,包括用于执行根据实施例17至23中任一项所述的方法的处理电路。[0576]实施例25.一种解码器,其特征在于,包括用于执行根据实施例17至23中任一项所述的方法的处理电路。[0577]实施例26.一种计算机程序产品,其特征在于,包括用于执行根据实施例17至23中任一项所述方法的程序代码。[0578]实施例27.一种解码器,其特征在于,包括:[0579]一个或多个处理器;[0580]非瞬时性计算机可读存储介质,耦合至所述处理器,并存储由所述处理器执行的程序,其中,在所述处理器执行所述程序时,配置所述解码器执行实施例17至23中任一项所述的方法。[0581]实施例28.一种编码器,其特征在于,包括:[0582]一个或多个处理器;[0583]非瞬时性计算机可读存储介质,耦合至所述处理器,并存储由所述处理器执行的程序,其中,在所述处理器执行所述程序时,配置所述编码器执行实施例17至23中任一项所述的方法。[0584]在一个实施例中,公开一种视频译码方法,所述方法包括:[0585]块的帧间预测过程,包括应用于参考块的亮度和色度样本的子像素插值滤波器(例如,可以定义一个或通常几个滤波器用于进行mc插值);[0586]块的帧内预测过程,包括应用于亮度和色度参考样本的子像素插值滤波器(例如,可以定义一个或通常几个滤波器用于帧内参考样本插值);[0587]其中,基于参考样本位置与插值样本位置之间的子像素偏移来选择子像素插值滤波器,对于帧内预测和帧间预测处理中的相等的所述子像素偏移,帧内预测处理中的滤波器(例如,对于参考帧内样本插值,可以使用一个或多个滤波器)选择为与用于帧间预测处理的滤波器相同。[0588]在另一实施例中,从一组滤波器(例如,一个或几个滤波器可用于mc插值)中选择针对给定子像素偏移的帧内预测过程的滤波器(例如,仅一个滤波器或滤波器集合中的一个滤波器可用于帧内预测处理),所述一组滤波器中的一个滤波器与用于帧间预测过程的滤波器相同。[0589]在另一实施例中,在帧间预测过程中应用于色度样本的滤波器与在帧内预测过程中应用于亮度和色度参考样本的滤波器相同。[0590]在另一实施例中,在帧间预测过程中应用于亮度和色度样本的滤波器与在帧内预测过程中应用于亮度和色度参考样本的滤波器相同。[0591]在另一实施例中,如果帧内预测过程中使用的主参考边的尺寸小于阈值,则帧内预测过程的滤波器选择为与用于帧间预测过程的滤波器相同。[0592]在另一实施例中,边尺寸阈值为16个样本。[0593]在另一实施例中,帧间预测过程为块内复制过程。[0594]在另一实施例中,用于帧间预测和帧内预测过程的滤波器是有限脉冲响应滤波器,并且它们的系数从查找表中获取。[0595]在另一实施例中,帧内预测过程中使用的插值滤波器是4抽头滤波器。[0596]在另一实施例中,滤波器的系数取决于子像素偏移,如下所示:[0597][0598][0599]其中,“子像素偏移”列以1/32子像素分辨率定义。[0600]在另一实施例中,一组滤波器包括高斯滤波器和三次滤波器。[0601]在另一实施例中,编码器包括用于执行上述方法的处理电路。[0602]在另一实施例中,解码器包括用于执行上述方法的处理电路。[0603]在另一实施例中,一种计算机程序产品包括用于执行上述方法的程序代码。[0604]在另一实施例中,解码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器并存储供所述处理器执行的程序,其中,在所述处理器执行所述程序时,配置所述解码器执行上述方法。[0605]在另一实施例中,编码器包括:一个或多个处理器;非瞬时性计算机可读存储介质,耦合到所述处理器并存储供所述处理器执行的程序,其中,在所述处理器执行所述程序时,配置所述编码器执行上述编码方法。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1