视频译码中的视频经改进帧内预测
1.本技术是申请日为2018年6月28日、申请号为201880041223.9、译码发明名称为“视频译码中的中的制作经改进帧内预测”的发明专利申请的分案申请。
2.本技术要求2017年6月30日提交的经改进帧第62/527,795号美国临时申请、2017年6月30日提交的内预第62/527,903号美国临时申请、2017年6月30日提交的视频第62/527,928号美国临时申请和2018年6月27日提交的第16/020,179号美国专利申请的权益,其中每一个申请以全文引用的译码方式并入。
技术领域
3.本公开涉及视频译码(例如,中的制作视频编码和/或视频解码)。经改进帧例如,内预一些方面涉及视频译码中的视频帧内预测。
背景技术:
4.数字视频能力可并入到广泛范围的译码装置中,包含数字电视、中的制作数字直播系统、经改进帧无线广播系统、内预个人数字助理(pda)、膝上型或桌上型计算机、平板计算机、电子图书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频压缩技术,例如由mpeg-2、mpeg-4、itu-t h.263、itu-t h.264/mpeg-4第10部分、高级视频译码(avc)定义的标准、最近已定案的高效视频译码(hevc)标准以及这种标准的扩展中所描述的技术。视频装置通过实施此类视频压缩技术可以更有效地发射、接收、编码、解码和/或存储数字视频信息。
5.视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,视频切片(即,视频帧或视频帧的一部分)可以分割成视频块,视频块还可被称作树块、译码单元(cu)和/或编码节点。图片的经帧内译码(i)切片中的视频块使用相对于相同图片中的相邻块中的参考样本的空间预测来编码。图片的经帧间译码(p或b)切片中的视频块可以使用相对于相同图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
6.空间或时间预测产生待译码块的预测性块。残余数据表示待译码原始块和预测性块之间的像素差。经帧间译码块根据指向形成预测性块的参考样本块的运动向量以及指示经译码块和预测性块之间的差的残余数据编码。经帧内译码块根据帧内编码模式和残余数据编码。为了进行进一步压缩,残余数据可以从像素域变换到变换域,从而产生残余变换系数,残余变换系数接着可以量化。初始地布置成二维阵列的经量化变换系数可以进行扫描,以便产生变换系数的一维向量,并且可以应用熵译码来实现更高程度的压缩。
技术实现要素:
7.大体来说,本公开描述用于视频数据块的样本的帧内预测的技术。具体地说,本公
开描述用于利用包含以下中的至少一个的帧内预测技术预测当前块的样本的技术:经扩展角度帧内预测模式、级联帧内预测和/或反向线性模型帧内预测。
8.在一个实例中,一种对视频数据进行编码或解码的方法包含:定位视频数据的至少一个经重构样本;确定至少一个经扩展角度帧内预测模式以用于当前块的至少一个样本的帧内预测;基于至少一个经重构样本,使用至少一个经扩展角度帧内预测模式对当前块的至少一个样本进行帧内预测,经扩展角度帧内预测模式包含除在水平-45度和竖直-45度之间的角度预测模式以外的角度帧内预测模式;以及基于至少一个经预测样本,对当前块进行编码或解码。
9.在另一实例中,一种经配置以对视频数据进行编码或解码的设备,包含:存储器,其经配置以存储视频数据的至少一个经重构样本;和至少一个处理器,其与存储器通信且经配置以进行以下操作:识别至少一个经重构样本;确定至少一个经扩展角度帧内预测模式以用于当前块的至少一个样本的帧内预测;基于至少一个经重构样本,使用至少一个经扩展角度帧内预测模式对当前块的至少一个样本进行帧内预测,经扩展角度帧内预测模式包含除在水平-45度和竖直-45度之间的角度预测模式以外的角度帧内预测模式;以及基于至少一个经预测样本,对当前块进行编码或解码。
10.在另一实例中,一种经配置以对视频数据进行编码或解码的设备包含:用于存储视频数据的至少一个经重构样本的装置;用于识别至少一个经重构样本的装置;用于确定至少一个经扩展角度帧内预测模式以用于当前块的至少一个样本的帧内预测的装置;用于基于至少一个经重构样本使用至少一个经扩展角度帧内预测模式对当前块的至少一个样本进行帧内预测的装置,经扩展角度帧内预测模式包含除在水平-45度和竖直-45度之间的角度预测模式以外的角度帧内预测模式;以及用于基于至少一个经预测样本对当前块进行编码或解码的装置。
11.在另一实例中,一种存储指令的计算机可读存储媒体,所述指令在经执行时使一或多个处理器经配置以进行以下操作:对视频数据进行编码或解码以识别至少一个经重构样本;确定至少一个经扩展角度帧内预测模式以用于当前块的至少一个样本的帧内预测;基于至少一个经重构样本,使用至少一个经扩展角度帧内预测模式对当前块的至少一个样本进行帧内预测,经扩展角度帧内预测模式包含除在水平-45度和竖直-45度之间的角度预测模式以外的角度帧内预测模式;以及基于至少一个经预测样本,对当前块进行编码或解码。
12.在其它实例中,一种对视频数据进行译码的方法包含:重构视频数据的第一块的至少一个色度样本;基于视频数据的第一块的至少一个经重构色度样本和至少一个预测模型,预测第一块的至少一个亮度样本;以及基于至少一个经预测亮度样本对第一块进行译码。在方法的一些实施方案中,至少一个预测模型包含反向线性模型。在一些实施方案中,方法可进一步包含基于与和第一块相邻的至少一个块相关联的亮度样本或色度样本中的至少一个,确定至少一个预测模型的至少一个参数。在一些实施方案中,方法可进一步包含基于线性回归技术确定至少一个参数。在一些实施方案中,方法可进一步包含确定第一块的至少一个色度样本的强度的指示。在一些实施方案中,方法可进一步包含基于至少一个色度样本的强度的指示,使至少一个色度样本与多个群组当中的第一群组相关联。在方法的一些实施方案中,至少一个预测模型可包含多个预测模型,使得方法可进一步包含基于
第一群组,确定多个预测模型当中的第一预测模型。在其中译码构成解码操作的方法的一些实施方案中,方法可进一步包含接收指示至少一个预测模型是否用于预测第一块的至少一个亮度样本的一或多个语法元素。在其中译码构成编码操作的方法的一些实施方案中,方法可进一步包含发射指示至少一个预测模型是否用于预测第一块的至少一个亮度样本的一或多个语法元素。在上述实例中,方法可以构成对视频数据进行编码的方法或对视频数据进行解码的方法。此外,在一些实施例中,一种设备可包含经配置以存储视频数据的存储器和经配置以根据上述示例性方法对视频数据进行编码或解码的处理器。此外,在一些实施例中,计算机可读媒体可在其上存储指令,所述指令在经执行时使处理器经配置以对视频数据进行编码或解码以执行上述示例性方法。
13.在又其它实例中,一种对视频数据进行译码的方法包含:重构与视频数据的样本的第一行或第一列中的一个相关联的至少一个样本;基于级联技术,预测与视频数据的样本的第二行相关联的至少一个样本,所述级联技术包括使用与第一角度帧内预测模式相关联的角度来预测与第二行相关联的至少一个样本;以及对与视频数据的第一块内的第二行相关联的至少一个经预测样本进行译码。在方法的一些实施方案中,与第一行或第一列中的所述一个相关联的至少一个样本包括多个样本。在方法的一些实施方案中,与第一行或第一列中的所述一个相关联的至少一个样本包含多个样本,其中多个样本中的至少一个样本与除第一块以外的第二块相关联。在方法的一些实施方案中,第二块与第一块相邻。在方法的一些实施方案中,与第一行或第一列中的所述一个相关联的至少一个样本包含多个样本,其中多个样本中的每一个与除第一块以外的至少一个块相关联。在方法的一些实施方案中,至少一个块是第一块的相邻块或第一块的非相邻块中的一个。在方法的一些实施方案中,至少一个块是第一块的邻近块或第一块的非邻近块中的一个。在方法的一些实施方案中,第一角度帧内预测模式包含在水平-45度和竖直-45度之间的角度帧内预测模式。在方法的一些实施方案中,第一角度帧内预测模式包括除在水平-45度和竖直-45度之间以外的经扩展角度帧内预测模式。在上述实例中,方法可以构成对视频数据进行编码的方法或对视频数据进行解码的方法。此外,在一些实施例中,一种设备可包含经配置以存储视频数据的存储器和经配置以根据上述示例性方法对视频数据进行编码或解码的处理器。此外,在一些实施例中,一种计算机可读媒体可在其上存储指令,所述指令在经执行时使处理器经配置以对视频数据进行编码或解码以执行上述示例性方法。
14.一或多个实例的细节在附图和下面的描述中阐述。其它特征、目标和优点将根据描述和图式以及权利要求书而变得显而易见。
附图说明
15.图1是示出可利用本公开中描述的技术的实例视频编码和解码系统的框图。
16.图2a和2b示出通过使用qtbt和对应树状结构进行块分割的实例。
17.图3示出16x16块的帧内预测的实例。
18.图4是在hevc中定义的35个帧内预测模式的图形说明。
19.图5是根据hevc利用平面模式生成预测样本的图示。
20.图6是根据hevc利用平面模式生成预测样本的另一图示。
21.图7是用于导出线性模型色度帧内预测的模型参数α和模型参数β的样本的实例位
置的概念图。
22.图8是亮度(y)分量和色度(c)分量之间的线性回归的实例的图形。
23.图9是实例亮度样本下采样的示意图。
24.图10a和10b是根据本公开可用于帧内预测的经扩展角度帧内预测模式的图形说明。
25.图11示出根据本公开使用经扩展帧内预测模式从经重构样本预测样本的实例。
26.图12示出根据本公开使用经扩展帧内预测模式从经重构样本预测样本的另一实例。
27.图13示出根据本公开使用经扩展帧内预测模式从经重构样本预测样本的实例。
28.图14示出根据本公开使用经扩展帧内预测模式基于经重构样本填充预计样本的实例。
29.图15示出根据本公开使用经扩展角度帧内预测模式从经重构样本预测样本的另一实例。
30.图16示出根据本公开使用经扩展帧内预测模式基于经重构样本填充预计样本的另一实例。
31.图17示出其中与在hevc中定义的帧内预测模式相关联的预测角度的方向和本公开的经扩展角度帧内预测模式相对于彼此约束的实例。
32.图18a-18d示出根据本公开的当前块的逐行级联帧内预测的实例。
33.图18e-18h示出利用本公开的经扩展角度帧内预测模式进行的当前块的逐行级联帧内预测的实例。
34.图19示出根据本公开被约束到特定预测模式的当前块的逐行级联帧内预测的实例。
35.图20是示出可实施本公开中描述的技术的实例视频编码器的框图。
36.图21是示出可实施本公开中描述的技术的实例视频解码器的框图。
具体实施方式
37.包含最近开发的高效视频译码(hevc)标准在内的各种视频译码标准包含用于视频块的预测性译码模式,其中基于已经译码的视频数据块来预测当前正译码的块。在帧内预测模式中,基于与当前块在相同图片中的一或多个先前经译码相邻块来预测当前块,而在帧间预测模式中,基于不同图片中的已经译码块来预测当前块。在帧间预测模式中,确定先前经译码帧的块用作预测性块的过程有时被称作运动估计,其通常由视频编码器执行,且识别及检索预测性块的过程有时被称作运动补偿,其由视频编码器及视频解码器两者执行。hevc及其后继标准的扩展还可使用额外译码模式,例如帧内块副本、词典和调色板译码模式。
38.本公开描述与帧内预测相关的技术。本公开的技术可在高级视频编解码器的上下文中使用,例如下一代视频译码标准或图像译码标准。
39.可参考视频译码器来描述本公开中的各种技术,所述视频译码器意图为可指代视频编码器或视频解码器的通用术语。除非以其它方式明确陈述,否则不应假定相对于视频编码器或视频解码器描述的技术不可由视频编码器或视频解码器中的另一者来执行。例
如,在许多情况下,视频解码器执行与视频编码器相同或有时互逆的译码技术,以便对经编码视频数据进行解码。在许多情况下,视频编码器还包含视频解码环,且因此视频编码器执行视频解码作为编码视频数据的一部分。因此,除非另外说明,否则本发明中相对于视频解码器所描述的技术还可由视频编码器执行,且反之亦然。
40.本公开还可使用例如当前块、当前图片等术语。在本公开的上下文中,术语“当前”意图识别当前正译码的块或图片,与例如先前或已经译码的块或图片或待译码的块或图片相对。
41.图1是示出可利用技术进行本公开中所描述的预测的实例视频编码和解码系统10的框图,例如,经扩展角度帧内预测模式、级联帧内预测和/或反向线性模型帧内预测。如图1所示,系统10包含提供在稍后时间由目的地装置14解码的经编码视频数据的源装置12。具体地说,源装置12通过计算机可读媒体16向目的地装置14提供视频数据。源装置12和目的地装置14可包括各种装置中的任一个,包含桌上型计算机、笔记本(即,膝上型计算机)、平板计算机、机顶盒、手持机(例如所谓的“智能”电话)、所谓的“智能”平板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等等。在一些情况下,源装置12和目的地装置14可经装备以用于无线通信。
42.目的地装置14可通过计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够实时地将经编码视频数据直接传输到目的地装置14的通信媒体。经编码视频数据可根据通信标准(例如无线通信协议)调制,并传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(rf)频谱或一或多个物理传输线。通信媒体可形成基于包的网络的一部分,例如局域网、广域网或全球网络(例如,互联网)。通信媒体可包含路由器、交换机、基站或可适用于促进源装置12与目的地装置14之间的通信的任何其它设备。
43.在一些实例中,经编码数据可从输出接口22输出到存储装置。类似地,经编码数据可通过输入接口从存储装置存取。存储装置可包含各种分布式或本地存取的数据存储媒体中的任一个,例如硬盘驱动器、蓝光光盘、dvd、cd-rom、快闪存储器、易失性或非易失性存储器,或任何其它合适的用于存储经编码视频数据的数字存储媒体。在另一实例中,存储装置可对应于文件服务器或另一可存储由源装置12生成的经编码视频的中间存储装置。目的地装置14可通过流式传输或下载从存储装置存取所存储视频数据。文件服务器可以是能够存储经编码视频数据并向目的地装置14传输所述经编码视频数据的任何类型的服务器。实例文件服务器包含网络服务器(例如,对于网站)、ftp服务器、网络连接存储(nas)装置或本地磁盘驱动器。目的地装置14可通过包含因特网连接的任何标准数据连接存取经编码视频数据。这可包含无线信道(例如,wi-fi连接)、有线连接(例如,dsl、电缆调制解调器等)或适用于存取存储在文件服务器上的经编码视频数据的这两者的组合。经编码视频数据从存储装置的传输可为流式传输、下载传输或其组合。
44.本公开的技术不一定限制在无线应用或设置。所述技术可应用到视频译码以支持各种多媒体应用中的任一个,例如空中电视广播、有线电视传输、卫星电视传输、互联网流式视频传输,例如,通过http的动态自适应流式传输(dash)、编码到数据存储媒体上的数字视频、存储在数据存储媒体上的数字视频的解码或其它应用。在一些实例中,系统10可经配
置以支持单向或双向视频传输,从而支持各种应用,例如视频流式传输、视频回放、视频广播和/或视频电话。
45.在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本公开,源装置12的视频编码器20可经配置以应用用于本公开中描述的帧内预测技术的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。例如,源装置12可以从外部视频源18接收视频数据,例如外部相机。同样地,目的地装置14可以与外部显示装置介接,而不是包含集成显示装置。
46.图1示出的系统10只是一个实例。本公开中描述的帧内预测技术的技术可由任何数字视频编码和/或解码装置执行。尽管一般来说本公开的技术由视频编码装置执行,但是技术还可由视频编码器/解码器(通常被称为“编解码器”)执行。此外,本公开的技术还可由视频预处理器执行。源装置12和目的地装置14只是其中源装置12生成用于传输到目的地装置14的经译码视频数据的此类译码装置的实例。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一个包含视频编码和解码组件。因此,系统10可以支持视频装置12、14之间的单向或双向视频传输,例如,用于视频流式传输、视频回放、视频广播或视频电话。
47.源装置12的视频源18可包含视频捕获装置(例如摄像机)、含有先前捕获的视频的视频存档和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可生成基于计算机图形的数据作为源视频,或实时视频、存档视频和计算机生成的视频的组合。在一些情况下,如果视频源18是摄像机,那么源装置12和目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本公开中描述的技术大体上可适用于视频译码,并且可应用到无线和/或有线应用。在每一情况下,所捕获的、预捕获的或计算机生成的视频可由视频编码器20编码。接着,输出接口22可将经编码视频信息输出到计算机可读媒体16上。
48.计算机可读媒体16可包含暂时性媒体(例如无线广播或有线网络传输),或存储媒体(非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未示出)可从源装置12接收经编码视频数据并向目的地装置14提供经编码视频数据,例如,通过网络传输。类似地,媒体生产设施(例如,压盘设施)的计算装置可从源装置12接收经编码视频数据并产生含有所述经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可被理解成包含各种形式的一或多个计算机可读媒体。
49.目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的语法信息,语法信息还供视频解码器30使用且包含描述块和其它经译码单元的特征和/或处理的语法元素。显示装置32向用户显示经解码视频数据,并且可包括各种显示装置中的任一个,例如阴极射线管(crt)、液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器或另一类型的显示装置。
50.视频编码器20和视频解码器30可以根据视频压缩标准操作,例如最近定案的高效视频译码(hevc)标准,并且可以符合hevc测试模型(hm)。视频编码器20和视频解码器30可以另外根据hevc扩展操作,例如范围扩展、多视图扩展(mv-hevc)或可伸缩扩展(shvc),它们已经由itu-t视频译码专家组(vceg)和iso/iec动画专家组(mpeg)的关于视频译码的联
合合作小组(jct-vc)以及关于3d视频译码扩展开发(jct-3v)的联合合作小组开发。
51.视频编码器20和视频解码器30还可根据其它专用或行业标准操作,例如itu-t h.264标准,还被称为iso/iec mpeg-4,第10部分,高级视频译码(avc),或此类标准的扩展,例如可伸缩视频译码(svc)和多视图视频译码(mvc)扩展。然而,本公开的技术不限于任何特定译码标准。视频压缩标准的其它实例包含itu-t h.261、iso/iec mpeg-1visual、itu-t h.262或iso/iec mpeg-2visual、itu-t h.263和iso/iec mpeg-4visual。
52.itu-t vceg(q6/16)和iso/iec mpeg(jtc1/sc 29/wg 11)现在正在研究标准化具有压缩能力的未来视频译码技术的潜在需要,这种技术显著超过当前hevc标准(包含其针对屏幕内容译码和高动态范围译码的当前扩展和近期扩展)的技术。各小组在被称为联合视频探索小组(jvet)的联合协作下共同开展这一探索活动,旨在评估由它们在这一领域中的专家提出的压缩技术设计。jvet在2015年10月19日至21日期间首次会面。一个参考软件版本,即联合探索模型2(jem 2),可以从https://jvet.hhi.fraunhofer.de/svn/svn_hmjemsoftware/tags/hm-16.6-jem-2.0/下载。jem2的算法描述于:j.chen、e.alshina、g.j.sullivan、j.-r.ohm、j.boyce的“联合探索测试模型2的算法描述(algorithm description of joint exploration test model 2)”,jvet-b1001,圣地亚哥,2016年3月,其描述内容以引用的方式并入本文中。另一参考软件版本,即联合探索模型3(jem 3)可以从https://jvet.hhi.fraunhofer.de/svn/svn_hmjemsoftware/tags/hm-16.6-jem-3.0/下载。jem3的算法描述还可被称作jvet-c1001且以引用的方式并入本文中。jem4的算法描述于j.chen、e.alshina、g.j.sullivan、j.-r.ohm、j.boyce的“联合探索测试模型4的算法描述”,jvet-d1001,2016年10月,且以引用的方式并入本文中。
53.为了易于解释,本公开的技术可利用hevc术语。然而,不应假设本公开的技术限于hevc,实际上,应明确地设想本公开的技术以及其它视频压缩技术(例如,未标准化编解码器)可实施于hevc和其扩展的后续标准中。
54.尽管在图1中未示出,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器及解码器集成,且可包含适当的mux-demux单元或其它硬件及软件,以处理公共数据流或单独数据流中的音频和视频两者的编码。在一些实例中,若适用,则mux-demux单元可符合itu h.223多路复用器协议或其它协议,例如,用户数据报协议(udp)。
55.视频编码器20和视频解码器30各自可实施为各种合适的编码器电路系统或解码器电路系统中的任一个,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或其任何组合。当技术部分地实施为软件时,装置可在合适的非暂时性计算机可读媒体中存储用于所述软件的指令,并使用一或多个处理器执行硬件中的指令以执行本公开的技术。视频编码器20和视频解码器30中的每一个可包含在一或多个编码器或解码器中,其中的任一个可集成为相应装置中的组合编码器/解码器(编解码器)的一部分。
56.在hevc和其它视频译码规范中,视频序列通常包含一连串图片。图片还可被称作“帧”。在一种实例方法中,图片可包含三个样本阵列,表示s
l
、s
cb
和s
cr
。在此类实例方法中,s
l
是亮度样本的二维阵列(即,块)。s
cb
是cb色度样本的二维阵列。s
cr
是cr色度样本的二维阵列。色度(chrominance)样本在本文中还可被称作“色度(chroma)”样本。在其它情况下,图片可以是单色的,并且可以仅包含亮度样本阵列。
57.为了生成图片的经编码表示,视频编码器20可生成一组译码树单元(ctu)。在hevc主要配置文件中,ctu的大小在16x16与64x64之间变化(但是技术上还可支持8x8的ctu大小)。每一个ctu可包括亮度样本的译码树块、色度样本的两个对应译码树块,及用于对译码树块的样本进行译码的语法结构。在单色图片或具有三个不同颜色平面的图片中,ctu可包括单个译码树块及用于对译码树块的样本进行译码的语法结构。译码树块可为nxn样本块。ctu还可被称作“树块”或“最大译码单元”(lcu)。hevc的ctu可大致类似于其它标准(例如,h.264/avc)的宏块。然而,ctu不一定限于特定大小,并且可包含一或多个译码单元(cu)。切片可包含以光栅扫描次序连续排序的整数数目个ctu。
58.为了生成经译码ctu,视频编码器20可以递归方式对ctu的译码树块执行四叉树分割以将译码树块划分成译码块,译码块因此被称为“译码树单元”。译码块可为nxn样本块。cu可包括图片的亮度样本的一个译码块和色度样本的两个对应译码块,及用于对译码块的样本进行译码的语法结构,所述图片具有亮度样本阵列、cb样本阵列和cr样本阵列。在单色图片或具有三个不同颜色平面的图片中,cu可包括单个译码块及用于对译码块的样本进行译码的语法结构。
59.视频编码器20可将cu的译码块分割成一或多个预测块。预测块是其上应用相同预测的矩形(即,正方形或非正方形)样本块。cu的预测单元(pu)可包括亮度样本的一个预测块、色度样本的两个对应预测块,及用于预测预测块的语法结构。在单色图片或具有三个不同颜色平面的图片中,pu可包括单个预测块及用于预测预测块的语法结构。视频编码器20可针对cu的每一pu的亮度、cb和cr预测块生成预测性亮度、cb和cr块。
60.视频编码器20可使用帧内预测或帧间预测来生成pu的预测性块。如果视频编码器20使用帧内预测来生成pu的预测性块,那么视频编码器20可基于与pu相关联的图片的经解码样本来生成pu的预测性块。如果视频编码器20使用帧间预测来生成pu的预测性块,那么视频编码器20可基于除与pu相关联的图片以外的一或多个图片的经解码样本来生成pu的预测性块。
61.每个cu用一个模式译码。当cu经帧间译码时,cu可以进一步分割成2个或4个预测单元pu,或在不应用进一步分割时变为一个pu。当在一个cu中存在两个pu时,这两个pu可以是具有cu的一半大小的矩形或具有cu的1/4或3/4大小的两个矩形。当cu经帧间译码时,可以为每个pu呈现一组运动信息。另外,每个pu用唯一帧间预测模式译码以导出所述一组运动信息。
62.在视频编码器20生成cu的一或多个pu的预测性亮度、cb和cr块之后,视频编码器20可生成cu的亮度残余块。cu的亮度残余块中的每一样本指示一个cu的预测性亮度块中的亮度样本和cu的原始亮度译码块中的对应样本之间的差。此外,视频编码器20可生成cu的cb残余块。cu的cb残余块中的每一样本可指示一个cu的预测性cb块中的cb样本和cu的原始cb译码块中的对应样本之间的差。视频编码器20还可生成cu的cr残余块。cu的cr残余块中的每一样本可指示一个cu的预测性cr块中的cr样本和cu的原始cr译码块中的对应样本之间的差。
63.此外,视频编码器20可使用四叉树分割将cu的亮度、cb和cr残余块分解成一或多个亮度、cb和cr变换块。变换块是其上应用相同变换的矩形(例如,正方形或非正方形)样本块。cu的变换单元(tu)可包括亮度样本的一个变换块、色度样本的两个对应变换块,及用于
变换变换块样本的语法结构。因此,cu的每一tu可与亮度变换块、cb变换块和cr变换块相关联。与tu相关联的亮度变换块可以是cu的亮度残余块的子块。cb变换块可以是cu的cb残余块的子块。cr变换块可以是cu的cr残余块的子块。在单色图片或具有三个不同颜色平面的图片中,tu可包括单个变换块及用于变换变换块的样本的语法结构。
64.视频编码器20可向tu的亮度变换块应用一或多个变换以生成tu的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可向tu的cb变换块应用一或多个变换以生成tu的cb系数块。视频编码器20可向tu的cr变换块应用一或多个变换以生成tu的cr系数块。
65.在生成系数块(例如,亮度系数块、cb系数块或cr系数块)之后,视频编码器20可量化系数块。量化通常是指其中变换系数进行量化以可能地减少用于表示变换系数的数据量从而提供进一步压缩的过程。在视频编码器20量化系数块之后,视频编码器20可对指示经量化变换系数的语法元素进行熵编码。例如,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(cabac)。
66.视频编码器20可输出包含形成经译码图片和相关联的数据的表示的位序列的位流。位流可包括一系列网络抽象层(nal)单元。nal单元是一种语法结构,所述语法结构含有nal单元中的数据类型的指示,以及含有呈根据需要散置有防止竞争位的原始字节序列有效负载(rbsp)形式的所述数据的字节。每一个nal单元包含nal单元标头,并包封rbsp。nal单元标头可包含指示nal单元类型代码的语法元素。由nal单元的nal单元标头指定的nal单元类型代码指示nal单元的类型。rbsp可以是含有包封在nal单元内的整数数目个字节的语法结构。在一些情况下,rbsp包含零位。
67.不同类型的nal单元可包封不同类型的rbsp。例如,第一类型的nal单元可包封pps的rbsp,第二类型的nal单元可包封经译码切片的rbsp,第三类型的nal单元可包封sei消息的rbsp等等。包封视频译码数据的rbsp(与参数集和sei消息的rbsp相反)的nal单元可被称作vcl nal单元。
68.视频解码器30可接收由视频编码器20生成的位流。此外,视频解码器30可解析位流以从位流获得语法元素。视频解码器30可至少部分地基于从位流获得的语法元素重构视频数据的图片。重构视频数据的过程通常可与由视频编码器20执行的过程互反。此外,视频解码器30可逆量化与当前cu的tu相关联的系数块。视频解码器30可对系数块执行逆变换以重构与当前cu的tu相关联的变换块。视频解码器30可通过将当前cu的pu的预测性块的样本添加到当前cu的tu的变换块的对应样本来重构当前cu的译码块。通过重构图片的每一cu的译码块,视频解码器30可以重构图片。
69.在jem4软件中采用了qtbt结构,如h.huang、k.zhang、y.-w.huang、s.lei的“ee2.1:四叉树加二叉树结构与jem工具的集成(quadtree plus binary tree structure integration with jem tools)”(jvet-c0024,2016年6月(以引用的方式并入本文中))中所描述。在qtbt结构中,ctb首先通过四叉树结构分割。四叉树叶节点通过二叉树结构进一步分割。二叉树叶节点,即译码块(cb),用于预测和变换,而不具有任何进一步分割。对于p和b切片,一个ctu中的亮度和色度ctb共享相同qtbt结构。对于i切片,亮度ctb通过qtbt结构分割成cb,且两个色度ctb通过另一qtbt结构分割成色度cb。
70.为四叉树的根节点的ctu(或对于i切片的ctb)首先通过四叉树分割,其中一个节
点的四叉树分裂可以一直迭代到节点达到最小所允许四叉树叶节点大小(minqtsize)为止。如果四叉树叶节点大小不大于最大所允许二叉树根节点大小(maxbtsize),那么它可以通过二叉树进一步分割。一个节点的二叉树分裂可以一直迭代到节点达到最小所允许二叉树叶节点大小(minbtsize)或最大所允许二叉树深度(maxbtdepth)为止。二叉树叶节点,即cu(或对于i切片的cb),将用于预测(例如,图片内或图片间预测)和变换,而不具有任何进一步分割。在二叉树分裂中存在两种分裂类型:对称水平分裂和对称竖直分裂。
71.在qtbt分割结构的一个实例中,ctu大小设置为128x128(亮度样本和对应的64x64 cb/cr样本),minqtsize设置为16x16,maxbtsize设置为64x64,minbtsize(宽度和高度两者)设置为4,且maxbtdepth设置为4。首先向ctu应用四叉树分割以生成四叉树叶节点。四叉树叶节点可具有在16x16(即,minqtsize)与128x128(即,ctu大小)之间的大小。如果叶四叉树节点是128x128,那么它不通过二叉树进一步分裂,因为大小超过maxbtsize(即,64x64)。否则,叶四叉树节点将通过二叉树进一步分割。因此,四叉树叶节点还是二叉树的根节点,且它的二叉树深度被定义为0。当二叉树深度达到maxbtdepth(即,4)时,这意味着不进行进一步分裂。当二叉树节点具有等于minbtsize(即,4)的宽度时,这意味着不进行进一步水平分裂。类似地,当二叉树节点具有等于minbtsize的高度时,这意味着不进行进一步竖直分裂。二叉树的叶节点,即cu,进一步通过预测和变换来处理,而不具有任何进一步分割。
72.图2a示出通过使用qtbt进行的块分割的实例,图2b示出对应的树结构。实线指示四叉树分裂,虚线指示二叉树分裂。在二叉树的每个分裂(即,非叶)节点中,传送一个指示所使用的分裂类型(即,水平或竖直)的标志,其中0指示水平分裂,1指示竖直分裂。对于四叉树分裂,不需要指示分裂类型,因为它始终将块水平和竖直地分裂成具有相等大小的4个子块。
73.对于i切片,提出亮度-色度分开的块分割结构。一个ctu的亮度分量(即,亮度ctb)通过qtbt结构分割成亮度cb,且所述ctu的两个色度分量(即,两个色度ctb)通过另一qtbt结构分割成色度cb。
74.对于p和b切片,共享亮度和色度的块分割结构。也就是说,一个ctu(包含亮度和色度两者)通过一个qtbt结构分割成cu。
75.图3示出16x16块的帧内预测的实例。当在帧内预测模式中对块进行译码时,视频译码器使用空间相邻经重构图像样本执行图像块预测。在图3中示出了16x16图像块的帧内预测的典型实例。在帧内预测的情况下,16x16图像块40沿着选择预测方向(如由箭头41指示)通过左上方相邻经重构样本(参考样本)预测。
76.图4示出在hevc中定义的35个帧内预测模式。在hevc中,对于亮度块的帧内预测,视频译码器可以从35个可用模式中选择,包含平面模式、dc模式和33个角度模式,如图4中所指示。
77.对于平面模式(它是一种频繁使用的帧内预测模式),如图5中所示的那样生成预测样本。为了执行nxn块的平面预测,对于位于坐标(x,y)处的块的每个样本p
xy
,利用双线性滤波器使用四个特定相邻经重构样本(例如,参考样本)计算(即,确定)预测值。这四个参考样本包含表示为“tr”的右上经重构样本、表示为“bl”的左下经重构样本、位于当前样本的相同列(r
x,-1
)处的表示为“l”的经重构样本以及位于当前样本的行(r-1,y
)处的表示为“t”的经重构样本。平面模式可表示如下:
78.p
xy
=((n-x-1)
·
l+(n-y-1)
·
t+(x+1)
·
tr+(y+1)
·
bl)》》(log2(n)+1)
ꢀꢀꢀꢀꢀꢀ
(1)
79.对于dc模式,预测块只用dc值(即,相邻经重构样本的平均值)填充,如下:
[0080][0081]
其中m是上方相邻经重构样本的数目,n是左侧相邻经重构样本的数目,ak表示第k个上方相邻经重构样本,且lk表示第k个左侧相邻经重构样本,如图6所示。当所有相邻样本不可用时(例如,所有相邻样本都不存在或所有相邻样本都尚未编码/解码),默认值1《《(bitdepth-1)被指派给每一个不可用样本。此处,变量“bitdepth”表示亮度分量或色度分量的位深度(即,所使用位的数目)。当相邻样本子集(例如,部分而非全部的相邻样本)不可用时,不可用样本由可用样本填补。一般来说,平面模式和dc模式均用于对平滑变化的和恒定的图像区域进行建模。
[0082]
尽管hevc定义用于帧内预测的35个帧内预测模式,但是例如,对于亮度块,这些常规模式仍有一些问题。在一些帧内预测的情况下,现有模式(包含33个角度模式)可能并不表示用于对给定块进行译码的最佳预测模式。
[0083]
在以下中向jct-vc提议线性模型(lm)色度帧内预测:
[0084]
http://phenix.int-evry.fr/jct/doc_end_user/documents/5_geneva/wg11/jctvc-e0266-v4.zip。还在以下中向jvet提议线性模型(lm)色度帧内预测,如章节2.2.4中所描述:
[0085]
http://phenix.int-evry.fr/jvet/doc_end_user/documents/3_geneva/wg11/jvet-c1001-v3.zip。lm模式假设亮度和色度分量之间存在线性关系。lm模式通过利用线性回归方法找出这种关系来探索相邻经重构像素。当使用lm模式时,色度值可以如下从相同块的经重构亮度值预测。
[0086]
predc[x,y]=α
·
rec
l
'[x,y]+β
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0087]
其中predc指示块中的色度样本的预测,rec
l
指示块中的经重构亮度样本。参数α和β从当前块周围的因果经重构样本导出。
[0088]
色度分量的采样率是亮度分量的采样率的一般,并且在yuv420采样中在竖直方向上具有0.5像素相位差。经重构亮度在竖直方向上下采样并在水平方向上二次采样,以便匹配色度信号的大小和相位,如下。
[0089]
rec
l
'[x,y]=(rec
l
[2x,2y]+rec
l
[2x,2y+1])>>1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0090]
lm方法利用经下采样亮度分量的因果经重构数据和因果色度分量之间的线性最小平方解来导出模型参数α和β。例如,模型参数α和β可导出如下:
[0091][0092][0093]
其中recc(i)和rec
l
'(i)指示在目标块周围的经重构色度样本和经下采样亮度样
本,i指示相邻数据的总样本数目。
[0094]
图7是用于导出模型参数α和模型参数β的样本的位置的符号图。如图7中所示出,在计算中仅涉及标记为灰色圆形的左侧和上方因果样本以将总样本数目i保持为2的幂。对于目标n
×
n色度块,当左侧和上方因果样本均可用时,所涉及的总样本数目是2n;当只有左侧或上方因果样本可用时,所涉及的总样本数目是n。
[0095]
图8是亮度(y)分量和色度(c)分量之间的线性回归的实例的符号图。如图8中所示出,根据一个实例,亮度和色度分量之间的线性关系可以使用线性回归法来求解。在图8中,符号图上的点对应于一对样本rec
′
l
[x,y],recc[x,y])。
[0096]
图9是jem3.0中的亮度样本下采样的示意图。在jem3.0中,jvet针对lm模式采用更精密的亮度样本下采样滤波器,如图9中所示出,其中
[0097]
rec
′
l
[x,y]=(2
·
rec
l
[2x,2y]+2
·
rec
l
[2x,2y+1]+rec
l
[2x-1,2y]+rec
l
[2x+1,2y]+rec
l
[2x-1,2y+1]+rec
l
[2x+1,2y+1]+4)>>3
ꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0098]
当样本位于图片边界处时,应用双抽头滤波器,如上方的公式(7)中所示。
[0099]
为了有可能解决本文所论述的问题和/或对现有帧内预测技术做出改进,本公开描述用于预测样本的技术,所述技术利用除在水平-45
°
和竖直-45
°
之间的角度帧内预测模式(例如,在hevc中定义的33个角度预测模式)之外的角度帧内预测模式(即,作为替代或补充)。确切地说,本公开涵盖使用超出水平-45
°
或超出竖直-45
°
的角度帧内预测模式来进行预测。本文中所公开的角度帧内预测模式、技术、方法和/或各种实例可以单独应用和/或以任何组合形式应用。
[0100]
如上文所提到,在hevc中定义的现有帧内预测模式(包含所述33个角度模式)可能无法在所有情况中都实现用于对给定块进行译码的最佳预测。然而,在一些情况下,利用如根据本公开所描述的经扩展角度帧内预测模式(在本文中也被称为经扩展帧内预测模式或经扩展帧内预测)可能需要增加视频编码器(例如,视频编码器20)的编码器设计(例如,算法实施方案和/或操作)的复杂性,以便实现译码增益并提高可通过增加预测种类来实现的预测质量,使用经扩展角度帧内预测可以提供预测种类的增加。例如,在一些情况下,可能需要例如视频编码器20的支持本公开的经扩展帧内预测模式的视频编码器沿着与经扩展帧内预测模式相关联的至少一个额外预测方向评估额外(即,除了结合在hevc中定义的帧内预测模式所评估的那些图像样本之外)经重构图像样本(或参考样本),以便确定和/或选择特定参考样本来预测当前块。换句话说,可能需要视频编码器(例如,视频编码器20)执行除了利用由例如hevc提供的常规帧内预测模式通常所需的那些计算之外的计算,以便提高根据本公开识别更好的参考样本(即,预测候选者)来预测当前块的可能性。
[0101]
图10a示出本公开所设想的一些经扩展角度帧内预测模式的实例。在此实例中,如所示,存在四个超出水平-45
°
(即,在hevc中定义且在图4中描绘的模式2)的角度模式(用虚线箭头示出),它们标记(即,识别)为n1、n2、n3和n4。此外,在此特定实例中,存在四个超出竖直-45
°
(即,在hevc中定义且在图4中描绘的模式34)的额外角度模式(用虚线箭头示出),它们标记为n5、n6、n7和n8。
[0102]
图10b示出本公开所设想的一些经扩展角度帧内预测模式的另一实例。在此实例中,当周围经重构样本可用(例如,被经帧间译码块环绕的经帧内译码块)时,可以应用一些(例如,所有)经扩展角度帧内预测方向(用虚线箭头示出)。换句话说,基于确定经帧内译码
的当前块被经帧间译码块环绕,图10b中所示的经扩展角度帧内预测方向可以确定为可用于预测当前块的样本。
[0103]
在本公开的一些实施方案中,当前块内的样本由顶行(例如,相邻块的样本的经重构行)上的经重构样本通过使用超出竖直-45
°
的经扩展帧内预测模式来预测。图11示出利用本公开的经扩展角度帧内预测模式从顶行的经重构样本预测当前块的样本(标记为“a”)的实例。通过超出竖直-45
°
的角度(即,用实线箭头示出的经扩展角度帧内预测模式),样本“a”投射到顶行上的样本,所述样本可以是子样本。相比于hevc中的角度预测模式(标记为虚线箭头),根据本公开的所提议经扩展角度帧内预测模式使得超出竖直-45
°
角度所投射的样本(标记为“b”)的样本或子样本能够投射。在一个实例中,样本“a”投射到子样本,所述子样本可以通过内插滤波器内插有顶行上的相邻经重构样本。在一个实例中,样本“a”投射到子样本,所述子样本可以由相邻经重构样本逼近。在图10中,样本“a”可以投射到样本“c”作为逼近。
[0104]
在本公开的另一实例中,当前块的样本可以由左侧行的经重构样本利用超出水平-45
°
的经扩展角度帧内预测模式来预测。图12示出利用本公开的经扩展角度帧内预测模式从左侧行上的经重构样本预测样本(标记为“a”)的实例。通过超出水平-45
°
的角度(即,用实线箭头示出的经扩展角度帧内预测模式),样本“a”投射到顶行上的样本,所述样本可以是子样本。相比于hevc中的角度预测模式(在图12中示出为虚线箭头),本公开的所提议经扩展角度预测模式使得超出水平-45
°
的角度所投射的样本(标记为“b”)的样本或子样本能够投射。在一个实例中,样本“a”投射到子样本,所述子样本可以通过内插滤波器内插有左侧行上的相邻经重构样本。在一个实例中,样本“a”投射到子样本,所述子样本可以由相邻经重构样本逼近。在图12中,样本“a”可以投射到样本“c”作为逼近。
[0105]
在本公开的又一实例中,当前块中的样本可以由右侧行(例如,相邻块的样本的经重构行)上的样本利用超出竖直-45
°
的经扩展角度帧内预测模式来预测。图13示出利用本公开的经扩展角度帧内预测模式从经重构相邻块的右侧行上的经重构样本预测当前块的样本(标记为“a”、“b”、“c”和“d”)的实例。通过超出竖直-45
°
的角度(即,用实线箭头示出的经扩展角度帧内预测模式),样本“a”投射到右侧行上的样本,所述样本可以是子样本。在此实例中,样本“a”投射到子样本,所述子样本可以通过内插滤波器内插有右侧行上的相邻经重构样本。在另一实例中,样本“a”投射到子样本,所述子样本可以由相邻经重构样本逼近。
[0106]
在本公开的又一实例中,当前块中的(即,当前块内的或当前块的)样本可以由右侧行上的经投射样本通过利用超出竖直-45
°
的经扩展角度帧内预测模式来预测。图14示出其中利用超出竖直-45
°
的角度(即,用实线箭头示出的经扩展角度帧内预测模式)从经重构样本的顶行投射右侧行上的样本的实例。在此实例中,右侧行上经投射样本是基于顶行的经重构样本“填充”的。举例来说,右侧行上的样本“a”投射到顶行的子样本,所述子样本可以通过内插滤波器内插有顶行上的相邻经重构样本。在另一实例中,右侧行上的样本“a”投射到子样本,所述子样本可以由相邻经重构样本逼近。在图14中,右侧行上的样本“a”可以投射到顶行上的样本“b”作为逼近。
[0107]
在本公开的又一实例中,当前块中的(即,当前块内的或当前块的)样本由底行上的经重构样本利用超出水平-45
°
的经扩展角度帧内预测模式来预测。图15示出利用经扩展角度帧内预测模式从位于底行上的经重构样本预测当前块的样本(标记为“a”、“b”、“c”和“d”)的实例。通过与用于图15中的经扩展角度帧内预测模式相关联的超出水平-45
°
的角度,样本“a”投射到底行上的样本,所述样本可以是子样本。在一个实例中,样本“a”投射到子样本,所述子样本可以通过内插滤波器内插有底行上的相邻经重构样本。在另一实例中,样本“a”可以投射到子样本,所述子样本可以由相邻经重构样本逼近。
[0108]
在本公开的又一实例中,当前块中的样本可以由经重构样本的底行上的经投射样本通过利用超出水平-45
°
的经扩展角度帧内预测模式来预测。图16示出其中利用超出水平-45
°
的角度从左侧行投射底行上的样本的实例。在此实例中,底行上的经投射样本是基于左侧行的经重构样本“填充”的。在一个实例中,底行上的样本“a”投射到子样本,所述子样本可以通过内插滤波器内插有左侧行上的相邻经重构样本。在另一实例中,底行上的样本“a”投射到子样本,所述子样本可以由相邻经重构样本逼近。在图16中,底行上的样本“a”可以投射到样本“b”作为逼近。
[0109]
在本公开中描述的经扩展角度帧内预测模式可以应用到亮度分量以及色度分量。
[0110]
经扩展角度帧内预测模式的使用可取决于(即,可基于或响应于)相邻经重构模式的可用性。例如,在图10a和10b中定义的经扩展角度帧内预测模式的情况下,如果右上参考样本不可用,那么不应用(例如,根据本公开限制使用或根据本公开不启用)超出竖直-45
°
的经扩展角度帧内预测模式(例如,n5至n8)。
[0111]
在一个实例中,在相邻块应用根据本公开的经扩展角度帧内预测方向且当前块在帧内模式译码中不应用经扩展角度帧内预测方向以导出最可能模式(mpm)的情况下,相邻经扩展角度帧内预测方向可以映射到(即,关联到或对应于)可用于当前块的最近帧内预测方向(即,帧内预测模式)。例如,在图10a和10b中定义的经扩展角度帧内预测模式的情况下,模式n5至n8将映射到帧内模式34。
[0112]
替代地或除了上述依据/基础之外,根据本公开,经扩展角度帧内预测模式的使用可取决于当前块的形状。例如,在图10a和10b中定义的经扩展角度帧内预测模式的情况下,当块宽度(即,当前块的宽度)大于块高度(即,当前块的高度)时,只有超出竖直-45
°
的经扩展角度帧内预测模式(例如,n5至n8)能够应用,且超出水平-45
°
的经扩展角度帧内预测模式(例如,n1至n4)可能不允许应用(例如,根据本公开被限制使用或根据本公开不被启用)。当块宽度小于块高度时,只有超出水平-45
°
的经扩展角度帧内预测模式(例如,n1至n4)能够应用,且超出竖直-45
°
的经扩展角度帧内预测模式(例如,n5至n8)可能不允许应用。
[0113]
为了在应用本公开的经扩展角度帧内预测模式时保持(即,维持)相同数目个帧内预测模式,帧内预测方向可以重新分布,例如但不限于通过在经扩展角度帧内预测方向范围内偏移一些帧内预测方向,例如,[水平-(45+δ0)
°
,竖直-(45+δ0)
°
]和/或用本公开的经扩展角度帧内预测方向替换一些原始帧内预测方向。上述重新分布和替换技术仅仅是示例性的。本公开设想基于利用本公开的经扩展角度帧内预测模式来维持相同数目个帧内预测模式的其它技术。
[0114]
在本公开的各种实施方案中,当前块可以通过经扩展角度帧内预测模式和具有在水平-45
°
和竖直-45
°
之间的角度的正常帧内预测模式的加权和来预测。
[0115]
使用正常帧内预测模式m1生成当前块的预测块p1;且使用经扩展角度帧内预测模式m2生成当前块的另一预测块p2。最终预测块p可以生成为p1和p2的加权和,如下文所示的公式:
[0116]
p(x,y)=w1(x,y)
×
p1(x,y)+w2(x,y)
×
p2(x,y),
[0117]
其中(x,y)是当前块中的样本的坐标。w1是p1的加权值,w2是p2的加权值。
[0118]
在一个实例中,p(x,y)=(w1(x,y)
×
p1(x,y)+w2(x,y)
×
p2(x,y)+o)>>s,其中w1、w2、o和s是整数。可以利用一些约束条件(即,可以配置限制)。例如,
[0119]
w1(x,y)+w2(x,y)=2s[0120]
o=2
s-1
0≤w1(x,y)≤2s,
[0121]
0≤w2(x,y)≤2s[0122]
在另一实例中,w1和w2取决于帧内预测模式(ipm),帧内预测模式可以是m1或m2。例如,每个模式可具有不同的w1和w2。
[0123]
p(x,y)=w1(x,y,ipm)
×
p1(x,y)+w2(x,y,ipm)
×
p2(x,y)。
[0124]
在另一实例中,帧内预测模式分类成群组(例如,布置成群组或分选到群组中或指派到群组中)。每一群组可具有不同的w1和w2。
[0125]
p(x,y)=w1(x,y,group(ipm))
×
p1(x,y)+w2(x,y,group(ipm))
×
p2(x,y)。
[0126]
在其它实施方案中,w1和w2可以从x,y计算。在一个实例中,
[0127]
w1(x,y,group(ipm))=a(group(ipm))
×
x+b(group(ipm))
×
y+c(group(ipm)),且
[0128]
w2(x,y,group(ipm))=1-w1(x,y,group(ipm))
[0129]
它可以整合形式实施
[0130]
w1(x,y,group(ipm))=(a(group(ipm))
×
x+b(group(ipm))
×
y+c(group(ipm))+o)>>s,及
[0131]
w2(x,y,group(ipm))=2
s-w1(x,y,group(ipm))。
[0132]
其中a(group(ipm))、b(group(ipm))、c(group(ipm))、o和s是整数。
[0133]
参数a(group(ipm))、b(group(ipm))和c(group(ipm))可以在编码器和解码器处预定义(即,配置);替代地或另外,参数a(group(ipm))、b(group(ipm))和c(group(ipm))可以通过编码器传送到解码器。或者,在编码器和解码器处可存在若干个预定义参数。编码器可以将与一组预定义参数相关联的索引传送到解码器以指示所使用的参数。
[0134]
本公开设想译码装置(例如,编码器和/或解码器)的操作可以依据的经配置约束条件。例如,
[0135]
o=2
s-1
[0136]
0≤w1(x,y)≤2s,0≤w2(x,y)≤2s[0137]
0≤a(group(ipm))、b(group(ipm))、c(group(ipm))≤2k,
[0138]
其中k是整数。
[0139]
在一个实例中,w1(x,y,group(ipm))=a(group(ipm))
×
x2+b(group(ipm))
×
y2+c(group(ipm))
×
x
×
y+d(group(ipm))
×
x+e(group(ipm))
×
y+f(group(ipm)),且w2(x,y,group(ipm))=1-w1(x,y,group(ipm))
[0140]
它可以整合形式(例如,由译码装置)实施
[0141]
w1(x,y,group(ipm))=(a(group(ipm))
×
x2+b(group(ipm))
×
y2+c(group(ipm))
×
x
×
y+d(group(ipm))
×
x+e(group(ipm))
×
y+f(group(ipm))+o)>>s,及
[0142]
w2(x,y,group(ipm))=2
s-w1(x,y,group(ipm))。
[0143]
其中a(group(ipm))、b(group(ipm))、c(group(ipm))、d(group(ipm))、e(group(ipm))、f(group(ipm))、o和s是整数。
[0144]
参数a(group(imp))、b(group(imp))、c(group(ipm))、d(group(ipm))、e(group(ipm))和f(group(ipm))可以在编码器和解码器处预定义;
[0145]
替代地或另外,参数a(group(ipm))、b(group(ipm))、c(group(ipm))、d(group(ipm))、e(group(ipm))和f(group(ipm))可以从编码器传送到解码器。替代地或另外,可以在编码器和解码器处配置若干个预定义参数。在一个实施方案中,类似于上文论述,编码器可以将指示所使用的参数的索引传送到解码器。根据本公开,可以利用一些约束条件。例如,
[0146]
o=2
s-1
[0147]
0≤w1(x,y)≤2s,0≤w2(x,y)≤2s[0148]
0≤a(group(ipm))、b(group(ipm))、c(group(ipm))、d(group(ipm))、
[0149]
e9group(ipm))、f(group(ipm))≤2k,其中k是整数。
[0150]
作为其它公开技术的替代或补充,本公开设想使得译码装置能够(即,将译码装置配置成)将m1的预测角度和m2的预测角度约束在彼此的相反方向上或大致在彼此的相反方向上。图17示出其中m1和m2的角度在相反方向上的实例。
[0151]
在本公开的各种实施例中,亮度样本可以从色度样本预测。本公开设想一种使得从色度样本对亮度样本的这一预测能够被称为反向线性模型(ilm)帧内预测的新预测技术。
[0152]
例如,pred'
l
[x,y]=α
·
recc[x,y]+β,其中recc[x,y]是色度经重构样本。α和β是由相邻经构造亮度和色度样本利用线性回归方法导出的。pred’l
[x,y]是经下采样亮度预测样本。亮度分量的预测块可通过对经下采样亮度预测样本进行上采样来生成。
[0153]
例如,
[0154]
其中recc[x,y]是色度经重构样本。色度经重构样本根据(例如,基于)它们的强度分类成两个群组。α1、α2、β1和β2是由相邻经构造亮度和色度样本利用线性回归方法导出的。pred’l
[x,y]是经下采样亮度预测样本。亮度分量的预测块可通过对经下采样亮度预测样本进行上采样来生成。
[0155]
根据本公开,可以在图片层级、切片层级、译码树单元(ctu)层级、译码单元(cu)层级、预测单元(pu)层级和/或变换单元(tu)层级处传送指示是否应用ilm的标志。在一个实例中,基于ctu、cu、tu或pu中的亮度样本利用ilm模式来预测,相同ctu、cu、tu或pu中的色度样本无法利用lm模式来预测。在一个实例中,基于ctu中的亮度样本利用ilm模式来预测,亮度和色度分量的译码结构必须共享;在此实例中,亮度和色度分量的译码结构无法分开。在又一实例中,基于ctu中的亮度样本利用ilm模式来预测,亮度和色度分量的译码结构可以分开,但是ilm从中导出亮度预测的色度分量的信息必须在亮度分量之前译码。
[0156]
根据本公开,最终亮度预测块可以计算(即,确定或运算)为ilm模式的预测和正常或经扩展帧内预测模式的预测的加权和。
[0157]
在本公开的各种实施方案中,帧内预测可以逐行级联方式执行。图18a至18d示出根据本公开的当前块的逐行级联帧内预测的实例。图18e至18h示出利用本公开的经扩展角
度帧内预测模式进行的当前块的逐行级联帧内预测的实例。
[0158]
在图18a中,从当前块顶部往下的第一行中的样本(用黑色标记的样本)利用与特定预测模式相关联的角度从经重构相邻样本(用交叉影线标记的样本)预测。在图18b中,当前块的第二行中的样本(用黑色标记的样本)利用与特定预测模式相关联的角度(例如,用于预测图18a中所示的样本的预测模式的角度)从第一行的预测样本预测。图18b中在边界处的当前块的样本(例如,从当前块顶部往下的第二行的最左侧用黑色标记的样本)可以使用与特定预测模式相关联的角度从经重构相邻样本(例如,用交叉影线标记的样本)预测。在图18c中,当前块的第三行样本(用黑色标记的样本)从当前块的第二行的预测样本以及如图所示的经重构相邻块(用交叉影线标记)(例如,使用与特定预测模式相关联的角度)预测。在图18d中,当前块的第四行样本(用黑色标记的样本)从当前块的第三行的预测样本以及如图所示的经重构相邻块(用交叉影线标记)预测。
[0159]
如上文所论述,图18e至18h示出利用本公开的经扩展角度帧内预测模式进行的逐行级联帧内预测的实例。在图18e中,从当前块顶部往下的第四行中的样本(用黑色标记的样本)使用经扩展角度帧内预测模式的经扩展角度从经重构相邻样本(用交叉影线标记的样本)预测。在图18f中,从当前块顶部往下的第三行中的样本(用黑色标记的样本)使用经扩展角度帧内预测模式的经扩展角度从当前块的第四行中的预测样本(即,如图18e中所示出的经预测的当前块的样本)预测。在当前块的边界位置处的样本(例如,从当前块顶部往下的第三行的最左侧用黑色标记的样本)可以从经重构相邻样本(用交叉影线标记的样本)预测。在图18g中,定位在/位于从当前块顶部往下的第二行中的样本(用黑色标记的样本)可以利用经扩展角度帧内预测模式的经扩展角度从当前块的第三行的预测样本和相邻经重构样本预测。同样地在图18h中,定位在/位于从当前块顶部往下的第一行中的样本(用黑色标记的样本)可以利用经扩展角度帧内预测模式的经扩展角度从当前块的第二行的预测样本和相邻经重构样本预测。
[0160]
在本公开的一个实例中,最终预测块可以由译码装置计算为级联预测技术的预测和具有相同预测角度或其它预测角度的正常或经扩展帧内预测模式的预测的加权和。
[0161]
根据本公开,级联预测技术可以被约束为只应用于一些特定预测模式。在一个实例中,级联预测技术可以只应用于角度在水平0
°
和竖直0
°
之间的预测模式,如图19中所示。
[0162]
在各种实施方案中,当实施本公开的级联帧内预测技术时,帧内预测方向通过例如源装置传送,但是对于一组行中的每个行或对于一组列中的每个列,可以应用不同帧内预测方向。在此类实例中,传送相比于(即,相对于)经传送预测方向的差或相比于应用于先前行/列的帧内预测的差。
[0163]
在又其它实施方案中,当实施本公开的级联帧内预测技术时,传送帧内预测方向(表示为sip)。然而,对于一组行中的每个行或对于一组列中的每个列,可以应用不同帧内预测方向,并且帧内预测方向通过检查(即,确定或计算)在先前经重构行/列上应用在(sip-σ,sip+σ)范围内的每个帧内预测方向的开销来导出,且具有多个计算出的开销当中的最小开销的帧内预测方向导出为应用于当前行/列的帧内预测方向。
[0164]
图20是示出可以实施用于本公开中所描述的预测(例如,经扩展角度帧内预测模式、级联帧内预测和/或反相线性模型帧内预测)的技术的视频编码器20的实例的框图。视频编码器20可以执行视频切片内的视频块的帧内和帧间译码。帧内译码依赖于空间预测来
减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(i模式)可以指若干基于空间的译码模式中的任一个。帧间模式,例如单向预测(p模式)或双向预测(b模式),可以指若干基于时间的译码模式中的任一个。如图20中所示,视频编码器20接收待编码视频帧内的当前视频块。在图20的实例中,视频编码器20包含模式选择单元40、参考图片存储器64(其还可被称作经解码图片缓冲器(dpb))、求和器50、变换处理单元52、量化单元54和熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46和分割单元48。对于视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60和求和器62。还可包含解块滤波器(在图20中未示出),用于对块边界滤波以从经重构视频中移除成块效应假影。如果需要,解块滤波器通常会对求和器62的输出滤波。除了解块滤波器之外,还可使用额外滤波器(环路内或环路后)。为简洁起见,未示出此类滤波器,但是如果需要,此类滤波器可以对求和器50的输出滤波(作为环路内滤波器)。
[0165]
在编码过程期间,视频编码器20接收待译码视频帧或切片。帧或切片可以划分成多个视频块。运动估计单元42和运动补偿单元44相对于一或多个参考帧中的一或多个块对接收到的视频块执行帧间预测性编码以提供时间预测。帧内预测单元46可替代地相对于与待译码块相同的帧或切片中的一或多个相邻块对接收到的视频块执行帧内预测性编码以提供空间预测。视频编码器20可执行多遍译码,例如,以针对每一视频数据块选择适当的译码模式。
[0166]
此外,分割单元48可基于对先前译码遍次中的先前分割方案的评估而将视频数据块分割成子块。例如,分割单元48可首先将帧或切片分割成ctu,并基于速率失真分析(例如,速率失真优化)将每一个ctu分割成子cu。模式选择单元40可进一步产生指示ctu分割成子cu的四叉树数据结构。四叉树的叶节点cu可包含一或多个pu和一或多个tu。
[0167]
模式选择单元40可(例如)基于误差结果选择帧内或帧间预测模式中的一个,并且将所得经预测块提供到求和器50以生成残余数据,并将所得经预测块提供到求和器62以重构经编码块用作参考帧。模式选择单元40还向熵编码单元56提供语法元素,例如运动向量、帧内模式指示符、分割信息和其它此类语法信息。
[0168]
运动估计单元42和运动补偿单元44可高度集成,但是出于概念性目的分开说明。由运动估计单元42执行的运动估计是生成运动向量的过程,所述运动向量估计视频块的运动。例如,运动向量可指示当前视频帧或图片内的视频块的pu相对于参考帧(或其它经译码单元)内的预测性块(其相对于当前帧(或其它经译码单元)内正被译码的当前块)的位移。预测性块是被发现在像素差方面与待译码块密切匹配的块,像素差可通过绝对差总和(sad)、平方差总和(ssd)或其它差度量来确定。在一些实例中,视频编码器20可计算存储在参考图片存储器64中的参考图片的子整数像素位置的值。例如,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于整数像素位置和分数像素位置执行运动搜索并以分数像素精度输出运动向量。
[0169]
运动估计单元42通过比较经帧间译码切片中的视频块的pu的位置与参考图片的预测性块的位置来计算pu的运动向量。参考图片可选自第一参考图片列表(list 0)或第二参考图片列表(list 1),其中的每一个标识存储在参考图片存储器64中的一或多个参考图
片。运动估计单元42将计算出的运动向量发送到熵编码单元56和运动补偿单元44。
[0170]
由运动补偿单元44执行的运动补偿可涉及基于通过运动估计单元42确定的运动向量获取或生成预测性块。同样,在一些实例中,运动估计单元42和运动补偿单元44可以在功能上集成。在接收当前视频块的pu的运动向量后,运动补偿单元44可定位运动向量在一个参考图片列表中指向的预测性块。求和器50通过从正被译码的当前视频块的像素值减去预测性块的像素值形成像素差值来形成残余视频块,如下文所论述。大体来说,运动估计单元42执行相对于亮度分量的运动估计,并且运动补偿单元44针对色度分量和亮度分量两者使用基于亮度分量计算出的运动向量。模式选择单元40还可生成与视频块和视频切片相关联的语法元素,供视频解码器30在对视频切片的视频块进行解码时使用。
[0171]
帧内预测单元46可对当前块进行帧内预测,以作为由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,如上文所描述。具体来说,帧内预测单元46可确定要用来对当前块进行编码的帧内预测模式。例如,帧内预测单元46可实施(例如)经扩展角度帧内预测模式、级联帧内预测和/或反向线性模型帧内预测,如本公开中所描述。在一些实例中,帧内预测单元46可例如在单独的编码编次期间使用各种帧内预测模式对当前块进行编码,且帧内预测单元46(或模式选择单元40,在一些实例中)可在经测试模式和/或在本公开中描述的帧内预测模式中选择要使用的适当帧内预测模式。
[0172]
例如,帧内预测单元46可针对各种经测试帧内预测模式使用速率失真分析来计算速率失真值,并且在经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析大体上确定经编码块和原始未经编码块之间的失真(或误差)量以及用于产生经编码块的位速率(即,位的数目),所述原始未经编码块先前以进行编码以产生经编码块。帧内预测单元46可针对各种经编码块根据失真和速率计算比率,以确定哪一帧内预测模式展现块的最佳速率失真值。
[0173]
在选择块的帧内预测模式之后,帧内预测单元46可向熵编码单元56提供指示块的选定帧内预测模式的信息。熵编码单元56可对指示选定帧内预测模式的信息进行编码。视频编码器20可在可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也被称作码字映射表)的经传输位流配置数据中包含各种块的编码上下文的定义以及最可能用于每一个上下文的帧内预测模式、帧内预测模式索引表和经修改帧内预测模式索引表的指示。如上文所提及,帧内预测单元46可经配置以执行在本公开中所描述的帧内预测技术。
[0174]
视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据来形成残余视频块。求和器50表示执行这一减法运算的一或多个组件。变换处理单元52向残余块应用变换,例如离散余弦变换(dct)或在概念上类似的变换,以产生包括变换系数值的视频块。可以使用小波变换、整数变换、子带变换、离散正弦变换(dst)或其它类型的变换,而不是dct。在任何情况下,变换处理单元52向残余块应用变换,从而产生变换系数块。变换可将残余信息从像素域转换到变换域,例如频域。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位速率。量化过程可减小与系数中的一些或全部相关联的位深度。量化程度可通过调整量化参数来修改。
[0175]
在量化之后,熵编码单元56对经量化变换系数进行熵译码。例如,熵编码单元56可执行上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵译码技
术。在基于上下文的熵译码的情况下,上下文可基于相邻块。在熵编码单元56进行熵译码之后,经编码位流可传输到另一装置(例如,视频解码器30),或存档以供随后传输或撷取。
[0176]
逆量化单元58和逆变换单元60分别应用逆量化和逆变换以在像素域中重构残余块。具体地说,求和器62将经重构建残余块与早先由运动补偿单元44或帧内预测单元46产生的运动补偿预测块相加以产生经重构建视频块,供在参考图片存储器64中存储。经重构建视频块可由运动估计单元42和运动补偿单元44用作参考块以对后续视频帧中的块进行帧间译码。
[0177]
图21是示出可以实施本公开中所描述的帧内预测的技术的视频解码器30的实例的框图,所述技术例如经扩展角度帧内预测模式、级联帧内预测和/或反向线性模型帧内预测。在图21的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82和求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图20)描述的编码遍次大体上互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量而生成预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符而生成预测数据。
[0178]
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片和相关联的语法元素的视频块的经编码视频位流。视频解码器30的熵解码单元70对位流进行熵解码以生成经量化系数、运动向量或帧内预测模式指示符和其它语法元素。熵解码单元70将运动向量和其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片层级和/或视频块层级处接收语法元素。
[0179]
当视频切片译码为经帧内译码(i)切片时,帧内预测单元74可基于从当前帧或图片的先前解码的块传送的帧内预测模式和数据来生成当前视频切片的视频块的预测数据。当视频帧译码为经帧间译码(例如,b或p)切片时,运动补偿单元72基于从熵解码单元70接收的运动向量和其它语法元素来产生当前视频切片的视频块的预测性块。预测性块可由一个参考图片列表内的一个参考图片产生。视频解码器30可基于存储在参考图片存储器82中的参考图片使用默认构建技术来构建参考帧列表,即list 0和list 1。运动补偿单元72通过解析运动向量和其它语法元素来确定当前视频切片的视频块的预测信息,并使用所述预测信息来产生正被解码的当前视频块的预测性块。例如,运动补偿单元72使用接收到的语法元素中的一些来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,b切片或p切片)、切片的参考图片列表中的一或多个的构建信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态,和对当前视频切片中的视频块进行解码的其它信息。
[0180]
运动补偿单元72还可基于内插滤波器执行内插。运动补偿单元72可使用视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此情况下,运动补偿单元72可根据接收到的语法元素确定供视频编码器20使用的内插滤波器,并使用内插滤波器来产生预测性块。
[0181]
帧内预测单元74可经配置以执行帧内预测技术,例如本公开中所描述的经扩展角度帧内预测模式、级联帧内预测和/或反向线性模型帧内预测。
[0182]
逆量化单元76对提供于位流中且经熵解码单元70解码的经量化变换系数进行逆量化,即解量化。逆量化过程可包含使用视频解码器30针对视频切片中的每一视频块计算
的量化参数qpy以确定量化程度,以及同样地,应该应用的逆量化的程度。
[0183]
逆变换单元78向变换系数应用逆变换,例如,逆dct、逆整数变换或概念上类似的逆变换过程,以便在像素域中产生残余块。
[0184]
在运动补偿单元72基于运动向量和其它语法元素而生成当前视频块的预测性块之后,视频解码器30通过对来自逆变换单元78的残余块与由运动补偿单元72生成的对应预测性块进行求和来形成经解码视频块。求和器80表示执行这一求和运算的一或多个组件。如果需要,还可应用解块滤波器以对经解码块进行滤波,以便去除成块效应假影。还可使用其它环路滤波器(在译码环路中或在译码环路之后)以使像素转变平滑化,或以其它方式提高视频质量。接着,给定帧或图片中的经解码视频块存储在参考图片存储器82中,所述参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82还存储用于随后在显示装置上呈现的经解码视频,所述显示装置例如是图1的显示装置32。