使用l型划分树的帧内编码
1.援引并入
2.本技术要求于2020年4月9日提交的美国临时专利申请第63/007,852号的优先权权益和于2020年8月14日提交的美国专利申请第16/993,491号的优先权权益,这些专利申请的全部内容通过引用并入本文中。
技术领域
3.本技术涉及一组高级图像和视频编码技术,并且根据示例性实施例,更具体地涉及使用一个或多个l形划分树的帧内编码方案。
背景技术:
4.aomediavideo1(av1)是一种开放视频编码格式,设计用于通过互联网进行视频传输。av1是由开放媒体联盟(aomedia,alliance for openmedia)作为vp9的后继者开发的,该联盟成立于2015年,包括半导体公司、视频点播提供商、视频内容生产商、软件开发公司和网络浏览器供应商。av1项目的许多组件来自该联盟成员先前的研究工作。个体贡献者早在几年前就开始了实验性技术平台:xiph/mozilla的daala已于2010年发布代码,谷歌(google)的实验性vp9演进项目vp10于2014年9月12日发布,思科(cisco)的thor于2015年8月11日发布。基于vp9的代码库,av1结合了其他技术,其中一些技术是以这些实验格式开发的。av1参考编解码器的第一个版本0.1.0于2016年4月7日发布。该联盟于2018年3月28日宣布发布av1比特流规范,以及基于软件的参考编码器和参考解码器。2018年6月25日,发布了该规范的验证版本1.0.0,并于2019年1月8日发布了该规范的带有勘误表1的验证版本1.0.0。av1比特流规范包括参考视频编解码器。
5.图10a描绘了使用vp9的块划分方面的简化框图1000,vp9使用从块1001中的块1002处的64x64级别开始到4x4级别的4路划分树,并且对级别1003处的8x8及以下的块有一些附加限制。注意,根据示例性实施例,被指定为r的分区可以被称为递归的,因为相同的划分树可以以较低的比例重复直到达到最低的4x4级别。
6.图10b描绘了使用av1进行块划分方面的简化框图1010,av1不仅将这种划分树扩展为如图10b中所示的在级别1004处的10路结构,而且在块1020中的块1021处将最大尺寸(在vp9/av1用语中被称为超级块)增加至从128x128开始。注意,根据示例性实施例,级别1004包括如上所述的vp9中不存在的4:1/1:4矩形分区,并且这些矩形分区中没有一个可以被进一步细分。此外,av1为使用低于8x8级别的分区增加了更多灵活性,例如,在某种意义上,2x2色度帧间预测因此在某些情况下成为可能。
7.根据高效视频编码(high efficiency video coding,hevc)的实施例,通过使用表示为编码树的四叉树结构将编码树单元(coding tree unit,ctu)分割成编码单元(coding unit,cu)以适应各种局部特征。在cu级别处确定是使用帧间图像(时间)预测还是帧内图像(空间)预测对图像区域进行编码。可以根据预测单元(prediction unit,pu)分割类型将每个cu进一步分割为一个、两个或四个pu。在一个pu内部,应用相同的预测过程,且
将相关信息以pu为基础传输到解码器。在通过应用基于pu分割类型的预测过程获得残差块之后,可以根据另一个四叉树结构(例如针对cu的编码树)将cu划分为变换单元(transform unit,tu)。hevc结构的关键特征之一是其具有包括cu、pu和tu在内的多个分区概念。在hevc中,对于帧间预测块,cu或tu只能是正方形,而pu可以是正方形或矩形。在hevc中,可以将一个编码块进一步分割为四个正方形子块,以及对每个子块(即tu)进行变换。可以进一步将每个tu递归地分割(使用四叉树分割)成更小的tu,这称为残差四叉树(residual quad-tree,rqt)。
8.在图片边界处,hevc采用隐式四叉树分割,使得块将保持四叉树分割直到大小适合图片边界。
9.图11a描绘了通用视频编码(versatile video coding,vvc)中所包括的多类型树(multi-type-tree,mtt)结构1101的简化框图1100,该多类型树结构1101是图示的四叉树(quadtree,qt)与嵌套二叉树(binary trees,bt)和三叉树(ternary tree,tt)的组合。ctu或cu首先由qt递归地划分为方形块。然后每个qt叶可以通过bt或tt进一步划分,其中,可以递归地和交错地应用bt和tt分割,但不能进一步地应用qt划分。在所有相关提案中,tt使用1:2:1的比例将一个矩形块垂直或水平地分割成三个块(从而避免非二次幂的宽度和高度)。为了防止分区仿真(partition emulation),通常对mtt施加额外的分割约束,如图11b的简化图1102所示,vvc中的关于块1103(四叉)、块1104(二叉、jem)和块1105(三叉)的qt-bt-tt块划分,以避免重复分区(例如,禁止在由垂直/水平的三叉分割产生的中间分区上进行垂直/水平的二叉分割)。可以对bt和tt的最大深度设置进一步的限制。
10.vp9支持8种方向模式,对应从45度到207度的角度。为了在方向纹理中利用更多种类的空间冗余,在av1中,方向帧内模式被扩展到具有更细粒度的角度集。将最初的8个角度稍加改动做成标称角度(nominal angle),如图14中关于avi中的帧内预测模式并且更具体地关于avi中的方向帧内预测的简化图1400所示,这8个标称角度分别命名为v_pred1401、h_pred1402、d45_pred1403、d135_pred1404、d113_pred1405、d157_pred1406、d203_pred1407,以及d67_pred1408。根据实施例,对于每个标称角度,可以有7个更精细的角度,因此av1总共具有56个方向角度。预测角度由标称内角加上角度增量表示,即3度步长的-3~3倍。在av1中,首先通过信号通知8个标称模式和5个非角度平滑模式(non-angular smooth mode),然后如果当前模式是角度模式,则进一步通过信号通知一个索引以指示相对于相应标称角度的角度增量。为了通过通用方式在av1中实现方向预测模式,av1中的所有56个方向帧内预测模式使用统一的方向预测器实现,该统一的方向预测器将每个像素投影到参考子像素位置并通过2抽头双线性滤波器对参考像素进行插值。
11.在av1中,有5种无方向平滑帧内预测模式,分别是dc、paeth、smooth、smooth_v和smooth_h。对于dc预测,使用左侧(left)和上方(above)相邻样本的平均值作为待预测块的预测器。对于paeth预测器,首先获取顶部(top)、左侧(left)和左上方(top-left)的参考样本,然后将最接近(顶部+左侧-左上方)的值设置为待预测像素的预测器。图15中关于avi中的无方向平滑帧内预测器的简化框图1500示出了当前块中一个像素的顶部、左侧和左上方样本的位置。对于smooth、smooth_v和smooth_h模式,使用垂直或水平方向的二次插值或通过两个方向的平均来预测块。
12.为了捕获边缘参考的衰减空间相关性,设计了针对亮度块的filter intra模式。
为av1定义了五种滤波器帧内模式,每一种都由一组8个7抽头滤波器表示,以反映4x2小块(patch)中的像素和与其相邻的7个相邻像素之间的相关性。换言之,7抽头滤波器的权重因数与位置有关。以一个8x8块为例,它被分割成8个4x2小块,这在图16中关于基于递归过滤的帧内预测器特征的简化框图1600中示出。这些小块在图16中由b0、b1、b2、b3、b4、b5、b6和b7表示。对于每个小块,其7个相邻块(由r0~r7表示)用于预测当前小块中的像素。对于小块b0,所有相邻块都被重建。但是对于其他的小块,并不是所有的相邻块都被重建,直接相邻块的预测值被用作参考。例如,小块b7的所有相邻块都没有被重建,因此根据实施例,替代地使用相邻块(即,b5和b6)的预测样本。
13.使用亮度分量来预测色度分量(chroma from luma,cfl)是一种仅用于色度的帧内预测器,其将色度像素建模为重合重建亮度像素的线性函数。cfl预测表示如下:
14.cfl(α)=α
×
l
ac
+dc
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(等式1)
15.其中,l
ac
表示亮度分量的交流(alternate current,ac)贡献,α表示线性模型的参数,dc表示色度分量的直流(direct current,dc)贡献。具体来说,将重建的亮度像素二次采样为色度分辨率,然后减去平均值以形成ac贡献。为了通过ac贡献近似色度ac分量,而不是像某些现有技术那样要求解码器计算缩放参数,av1 cfl基于原始色度像素确定参数α并在比特流中通过信号通知参数α。这降低了解码器的复杂性并产生了更精确的预测。至于色度分量的dc贡献,采用帧内dc模式计算,这对于大多数色度内容来说已经足够了,并且是成熟的且可以快速实现。
16.提出了多线帧内预测以使用更多的参考线进行帧内预测,并且编码器决定并通过信号通知哪条参考线用于生成帧内预测器。在帧内预测模式之前通过信号通知参考线索引,并且在通过信号通知非零参考线索引的情况下,仅允许最可能的模式(most probable mode)。如图17所示的关于多线帧内预测模式的简化图1700所示,描绘了4条参考线(参考线0(1711)、参考线1(1712)、参考线2(1713)和参考线3(1714))的示例,其中每条参考线由四个段组成,即,段a(1701)、段b(1702)、段c(1703)、段d(1704)。另外,为了便于理解,在图17中不同参考线中的重建样本填充了不同的图案,并且多线帧内预测模式也可以称为多参考线预测(multiple reference line prediction,mrlp)模式。
17.对于l型分区,在本文中更全面地描述(例如,在本文的图12以及其他附图中),一个或多个相邻重建样本也可以从右侧和/或底侧中的任何一处获得,这可能与使用顶部和左侧参考样本进行预测的帧内预测方案不完全兼容。此外,对于l型分区,相邻参考样本可能不再形成一条直线,因此可能需要解决多参考行预测(mrlp)和l型分区之间的协调问题,以使mrlp和l型分区同时发挥作用。
18.因此,需要针对这些问题的技术解决方案。
技术实现要素:
19.本技术包括一种方法和装置,所述装置包括被配置为存储计算机程序代码的存储器和被配置为访问计算机程序代码并按照计算机程序代码的指令操作的一个或多个硬件处理器。计算机程序选择代码被配置为使处理器执行计算机程序代码,该计算机程序代码被配置为使处理器执行获取代码、分割代码和执行代码。获取代码被配置为使处理器获取视频数据的块;拆分代码被配置为使处理器将块分割为l形分区和第二分区,第二分区是矩
形分区和另一个l形分区中的一个;以及执行代码被配置为使处理器通过使用参考样本链作为参考样本来执行l形分区的帧内预测,参考样本链包括相邻重建样本的链。
20.根据示例性实施例,该链包括来自与l形分区相邻的重建样本的多条水平参考线和多条垂直参考线。
21.根据示例性实施例,多条垂直参考行中的第一条垂直参考行直接连接到多条水平参考线中的第一条水平参考线,多条水平参考线中的第一条水平参考线直接连接到多条垂直参考线中的第二条垂直参考线,多条垂直参考线中的第二条垂直参考线直接连接到多条水平参考线中的第二条水平参考线、多条水平参考线中的第一条水平参考线和多条垂直参考线中的第二条垂直参考线在块内,多条垂直参考线中的第一条垂直参考线和多条水平参考行中的第二条水平参考线在块外。
22.根据示例性实施例,计算机程序选择代码进一步被配置为使处理器执行计算机程序代码,计算机程序代码被配置为使处理器执行映射代码,映射代码被配置为使处理器将多条水平参考线中的至少一条水平参考线的至少一个样本映射到沿块的左列,并且将多条垂直参考线中的至少一条垂直参考线的至少一个样本映射到沿块的顶行。
23.根据示例性实施例,计算机程序选择代码进一步被配置为使处理器执行计算机程序代码,该计算机程序代码被配置为使处理器执行映射代码,该映射代码被配置为使处理器将多条水平参考线中的至少一条水平参考线的至少一个样本线映射到沿块的顶行,并且将多条垂直参考线中的至少一条垂直参考线的至少一个样本映射到沿块的顶行。
24.根据示例性实施例,执行帧内预测包括:将l形分区的样本投影到参考样本链的垂直侧和水平侧中的至少一个。
25.根据示例性实施例,计算机程序选择代码进一步被配置为使处理器执行计算机程序代码,该计算机程序代码被配置为使处理器执行启用代码和生成代码。该启用代码被配置为使处理器启用双向预测模式;该生成代码被配置为在双向预测模式下,通过利用参考样本链的第一部分和第二部分的加权和来生成针对第二分区的当前块的预测器,其中,参考样本链的第一部分和第二部分与当前块不相邻,并且参考样本链的第一部分和第二部分分别位于当前块的右侧和左侧。
26.根据示例性实施例,参考样本链的第一部分在当前块的右侧和顶部,并且参考样本链的第二部分在当前块的左侧和底部。
27.根据示例性实施例,参考样本链的第一部分和第二部分中的第一个在块内,并且参考样本链的第一部分和第二部分中的第二个在块外。
28.根据示例性实施例,l形分区包括第一侧和与第一侧相对的第二侧,第一侧的高度大于第二侧的高度;l形分区进一步包括第三侧和与第三边相对的第四侧,并且第三侧的宽度大于第四侧的宽度。
附图说明
29.从以下详细描述和所附的附图中,所披露的主题的进一步特征、性质和各种优点将更加明显,其中:
30.图1是根据实施例的图的示意图。
31.图2是根据实施例的图的示意图。
32.图3是根据实施例的图的示意图。
33.图4是根据实施例的图的示意图。
34.图5是根据实施例的图的示意图。
35.图6是根据实施例的图的示意图。
36.图7是根据实施例的图的示意图。
37.图8是根据实施例的图的示意图。
38.图9a是根据实施例的图的示意图。
39.图9b是根据实施例的图的示意图。
40.图10a是根据相关技术的图的示意图。
41.图10b是根据相关技术的图的示意图。
42.图11a是根据相关技术的图的示意图。
43.图11b是根据相关技术的图的示意图。
44.图12是根据实施例的示意图。
45.图13a是根据实施例的示意图。
46.图13b是根据实施例的示意图。
47.图14是根据相关技术的图的示意图。
48.图15是根据相关技术的图的示意图。
49.图16是根据相关技术的图的示意图。
50.图17是根据相关技术的图的示意图。
51.图14是根据相关技术的图的示意图。图18是根据实施例的图的示意图。
52.图19是根据实施例的示意图。
53.图20是根据实施例的示意图。
54.图21是根据实施例的示意图。
55.图22是根据实施例的示意图。
56.图23是根据实施例的示意图。
57.图24是根据实施例的示意图。
58.图25是根据实施例的示意图。
59.图26是根据实施例的示意图。
具体实施例
60.下面讨论的建议特征可以单独使用或以任何顺序组合使用。此外,可以通过处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现实施例。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。
61.图1是根据本技术的实施例的通信系统100的简化框图。通信系统100可以包括通过网络105互连的至少两个终端102和103。对于数据的单向传输,第一终端103可以在本地对视频数据进行编码,以通过网络105传输到另一终端102。第二终端102可以从网络105接收另一终端的已编码视频数据,解码已编码数据并显示恢复的视频数据。单向数据传输在媒体服务等应用中是较为常见的。
62.图1示出了第二对终端101和104,提供第二对终端101和104以支持例如在视频会
议期间可能发生的已编码视频的双向传输。对于数据的双向传输,终端101和104中的每一个可以对在本地采集的视频数据进行编码,以通过网络105传输到另一个终端。终端101和104中的每一个还可以接收另一个终端发送的已编码视频数据,可以解码已编码数据并且可以在本地显示装置上显示恢复的视频数据。
63.在图1中,终端101、102、103和104可以被示为服务器、个人计算机和智能电话,但是本技术的原理不限于此。本技术的实施例可用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络105表示在终端101、102、103和104之间传送已编码视频数据的任意数量的网络,包括例如有线和/或无线通信网络。通信网络105可以在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或互联网。出于本讨论的目的,除非在下文中解释,否则网络105的架构和拓扑对于本技术的操作可能是不重要的。
64.作为所公开主题的应用的示例,图2示出了视频编码器和解码器在流式传输环境中的放置方式。所公开的主题可以同样适用于其他支持视频的应用,包括例如视频会议、数字tv、在包括cd、dvd、存储棒等的数字媒体上存储压缩视频等等。
65.流式传输系统可以包括采集子系统203,采集子系统203可以包括视频源201,例如数码相机,该视频源201创建例如未压缩的视频样本流213。相较于已编码的视频比特流,样本流213可以被强调为高数据量,并且可以由耦接至相机201的编码器202处理。编码器202可以包括硬件、软件或硬件和软件的组合,以启用或实现如下面更详细描述的所公开主题的各方面。相较于样本流,已编码视频比特流204可被强调为较低数据量,并且可以被存储在流式传输服务器205上以供将来使用。一个或多个流式传输客户端212和207可以访问流式传输服务器205以检索已编码视频比特流204的副本208和206。客户端212可以包括视频解码器211,视频解码器211对已编码视频比特流的传入副本208进行解码,并且创建一个可以在显示器209或其他显示装置(未描绘)上显示的输出视频样本流210。在一些流式传输系统中,可以根据某些视频编码/压缩标准对视频比特流204、206和208进行编码。这些标准的示例在上文中已提及并在本文中被进一步描述。
66.图3可以是根据本发明实施例的视频解码器300的功能框图。
67.接收器302可接收要由解码器300解码的一个或多个已编解码视频序列;在同一实施例或另一实施例中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其他已编码视频序列的解码。可从信道301接收已编码视频序列,该信道301可以是通向存储已编码视频数据的存储装置的硬件/软件链路。接收器302可以接收已编码视频数据和其他数据,例如已编码音频数据和/或辅助数据流,这些数据可以被转发到它们各自的使用实体(未描绘)。接收器302可以将已编码视频序列与其他数据分开。为了防止网络抖动,缓冲存储器303可以耦接在接收器302和熵解码器/解析器304(以下称为“解析器”)之间。当接收器302从具有足够带宽和可控性的存储/转发装置或从同步网络接收数据时,可能不需要配置缓冲器303,或者可以将缓冲器303做得很小。为了在例如互联网等业务分组网络上使用,也可能需要缓冲器303,该缓冲器303可以相对较大并且可以有利地具有自适应大小。
68.视频解码器300可以包括解析器304以从熵编码的视频序列重建符号313。这些符号的类别包括用于管理解码器300的操作的信息,以及用于控制显示装置(例如显示器312)的潜在信息,该显示装置(例如显示器312)不是解码器的组成部分,但可以耦接至解码器。
显示装置的控制信息可以是辅助增强信息(supplementary enhancement information,sei)或视频可用性信息(video usability information,vui)参数集片段(未描绘)的形式。解析器304可以对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可以根据视频编码技术或标准进行,并且可以遵循本领域技术人员熟知的原理,包括可变长度编码、霍夫曼编码(huffman coding)、具有或不具有上下文敏感性的算术编码等等。解析器304可以基于对应于群组的至少一个参数,从已编码视频序列中提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可以包括图像群组(groups of pictures,gop)、图像、图块、切片、宏块、编码单元(cu)、块、变换单元(tu)、预测单元(pu)等。熵解码器/解析器还可以从已编码视频序列中提取信息,例如变换系数、量化器参数值、运动矢量等。
69.解析器304可以对从缓冲器303接收的视频序列执行熵解码/解析操作,从而创建符号313。解析器304可以接收已编码数据,并且选择性地解码特定符号313。此外,解析器304可以确定是否某些符号313将被提供给运动补偿预测单元(motion compensation prediction unit)306、缩放器/逆变换单元305、帧内预测单元307或环路滤波器311。
70.符号313的重建可以涉及多个不同的单元,这取决于已编码视频图像或其部分的类型(例如:帧间和帧内图像、帧间和帧内块)以及其他因素。涉及哪些单元以及涉及方式可由解析器304从已编码视频序列解析的子群控制信息来控制。为了简洁起见,未描绘解析器304与下文的多个单元之间的此类子群控制信息流。
71.除已经提及的功能块外,解码器300可以在概念上细分为如下文所描述的数个功能单元。在商业约束下运行的实际实现方式中,这些单元中的许多单元彼此密切交互,并且可以至少部分地彼此集成。然而,出于描述所公开主题的目的,概念上细分成下文的功能单元是适当的。
72.第一单元是缩放器/逆变换单元305。缩放器/逆变换单元305从解析器304接收作为符号313的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元305可以输出包括样本值的块,该样本值可输入到聚合器310中。
73.在一些情况下,缩放器/逆变换305的输出样本可属于帧内编码块;即:不使用来自先前重建的图像的预测性信息,但可以使用来自当前图像的先前重建部分的预测性信息的块。此类预测性信息可以由帧内图像预测单元307提供。在一些情况下,帧内图像预测单元307采用从当前(部分重建的)图像309提取的周围已重建信息生成大小和形状与正在重建的块相同的块。在一些情况下,聚合器310基于每个样本,将帧内预测单元307生成的预测信息添加到由缩放器/逆变换单元305提供的输出样本信息中。
74.在其他情况下,缩放器/逆变换单元305的输出样本可属于帧间编码和潜在的运动补偿块。在此情况下,运动补偿预测单元306可以访问参考图像存储器308以提取用于预测的样本。在根据属于块的符号313对提取的样本进行运动补偿之后,这些样本可以由聚合器310添加到缩放器/逆变换单元的输出(在这种情况下被称为残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元从参考图像存储器内的地址获取预测样本可能受到运动矢量控制,且该运动矢量以符号313的形式而供运动补偿单元使用,该符号313可以具有例如x、y和参考图像分量。运动补偿还可以包括在使用子样本精确运动矢量时,从参考图像
存储器提取的样本值的内插、运动矢量预测机制等。
75.聚合器310的输出样本可以经受环路滤波器单元311中的各种环路滤波技术。视频压缩技术可以包括环路内滤波技术,该环路内滤波技术受控于包括在已编码视频比特流中并且作为来自解析器304的符号313可用于环路滤波器单元311的参数,然而,视频压缩技术还可响应于在解码已编码图像或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
76.环路滤波器单元311的输出可以是样本流,该样本流可以输出到显示装置312以及存储在参考图像存储器557中,以用于后续的帧间图像预测。
77.一旦完全重建,某些已编码图像就可以用作参考图像以用于将来预测。一旦已编码图像被完全重建并且已编码图像(通过例如解析器304)被识别为参考图像,则当前参考图像309可变为参考图像缓冲器308的一部分,且可在开始重建后续已编码图像之前重新分配新的当前图像存储器。
78.视频解码器300可根据例如itu-t h.265标准中的预定视频压缩技术执行解码操作。在已编码视频序列遵循如视频压缩技术文件或标准以及在视频压缩技术文件或标准的配置文件中指定的视频压缩技术或标准的语法的意义上,已编码视频序列符合所使用的视频压缩技术或标准指定的语法。对于合规性,还要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图像大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图像大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(hypothetical reference decoder,hrd)规范和在已编码视频序列中用信号通知的hrd缓冲器管理的元数据来进一步限定。
79.在实施例中,接收器302可连同已编码视频一起接收附加(冗余)数据。该附加数据可以被包括作为已编码视频序列的一部分。该附加数据可由视频解码器300用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal noise ratio,snr)增强层、冗余切片、冗余图像、前向纠错码等形式。
80.图4可以是根据本技术实施例的视频编码器400的功能框图。
81.编码器400可以从视频源401(并非是编码器的一部分)接收视频样本,视频源401可以采集将由编码器400编码的视频图像。
82.视频源401可以提供将由编码器(303)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位
……
)、任何色彩空间(例如bt.601 y crcb、rgb
……
)和任何合适采样结构(例如y crcb 4:2:0、y crcb 4:4:4)。在媒体服务系统中,视频源401可以是存储预先准备好的视频的存储装置。在视频会议系统中,视频源401可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图像,当按顺序观看时,这些图像被赋予运动。图像自身可构建为空间像素阵列,其中取决于所用的采样结构、色彩空间等,每个像素可包括一个或多个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。
83.根据实施例,编码器400可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图像编码且压缩成已编码视频序列410。施行适当的编码速度是控制器402的一个功能。控制器控制如下文所描述的其它功能单元且在功能上耦接到所述其它功能单元。为
了简洁起见,图中未标示耦接。由控制器设置的参数可包括速率控制相关参数(图像跳过、量化器、率失真优化技术的λ值等)、图像大小、图像群组(group of pictures,gop)布局、最大运动矢量搜索范围等。本领域的技术人员可以很容易地识别出控制器402的其他功能,因为这些功能涉及针对某一系统设计优化的视频编码器400。
84.一些视频编码器在本领域技术人员容易识别的“编码环路”中进行操作。作为简化的描述,编码环路可以包括编码器402(以下称为“源编码器”)(负责基于待编码的输入图像和参考图像创建符号)的编码部分和嵌入于编码器400中的(本地)解码器406,解码器406重建符号以用类似于(远程)解码器创建样本数据的方式创建样本数据(因为在所公开主题所考虑的视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的)。将重建的样本流输入到参考图像存储器405。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图像缓冲器内容在本地编码器和远程编码器之间也是位精确的。换句话说,编码器的预测部分“看到”的参考图像样本与解码器在解码期间使用预测时所“看到”的样本值完全相同。这种参考图像同步性的基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)对于本领域技术人员来说是众所周知的。
[0085]“本地”解码器406的操作可与已在上文结合图3详细描述的“远程”解码器300的操作相同。然而,另外简要参考图4,当符号可用且熵编码器408和解析器30能够无损地将符号编码/解码为已编码视频序列时,包括信道301、接收器302、缓冲器303和解析器304在内的解码器300的熵解码部分,可能无法完全在本地解码器406中实施。
[0086]
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
[0087]
在操作期间,源编码器403可以执行运动补偿预测编码,即参考来自视频序列中被指定为“参考图像”的一个或多个先前已编码图像,对输入图像进行预测性编码。以这种方式,编码引擎407对输入图像的像素块与参考图像的像素块之间的差异进行编码,该参考图像可被选作该输入图像的预测参考。
[0088]
本地视频解码器406可以基于由源编码器403创建的符号,对可指定为参考图像的图像的已编码视频数据进行解码。编码引擎407的操作可以有利地为有损过程。当已编码视频数据可在视频解码器(图4中未示出)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器406复制解码过程,该解码过程可由视频解码器对参考图像执行,并且可以使重建的参考图像存储在参考图像高速缓存405中。以这种方式,编码器400可以在本地存储重建的参考图像的副本,该副本与将由远端视频解码器获得的重建参考图像具有共同的内容(不存在传输误差)。
[0089]
预测器404可对编码引擎407执行预测搜索。即,对于将要编码的新图像,预测器404可在参考图像存储器405中搜索可作为该新图像的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图像运动矢量、块形状等。预测器404可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,如由预测器404获得的搜索结果所确定的那样,输入图像可具有从参考图像存储器405中存储的多个参考图像取得的预测参考。
[0090]
控制器402可以管理视频编码器403的编码操作,包括例如设置用于对视频数据进
行编码的参数和子群参数。
[0091]
可在熵编码器408中对所有上述功能单元的输出进行熵编码。熵编码器根据例如霍夫曼编码、可变长度编码、算术编码等本领域技术人员已知的技术,对各种功能单元生成的符号进行无损压缩,从而将该符号转换成已编码视频序列。
[0092]
传输器409可缓冲由熵编码器408创建的已编码视频序列,从而为通过通信信道411进行传输做准备,该通信信道411可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器409可以将来自视频编码器403的已编码视频数据与要传输的其他数据合并,该其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
[0093]
控制器402可管理编码器400的操作。在编码期间,控制器405可以为每个已编码图像分配某一已编码图像类型,但这可能影响可应用于相应的图像的编码技术。例如,通常可将图像分配为以下任一种图像类型:
[0094]
帧内图像(i图像),其可以是不将序列中的任何其它图像用作预测源就可被编码和解码的图像。一些视频编解码器容许不同类型的帧内图像,包括例如独立解码器刷新(independent decoder refresh,“idr”)图像。所属领域的技术人员了解i图像的变体及其相应的应用和特征。
[0095]
预测性图像(p图像),其可以是可使用帧内预测或帧间预测进行编码和解码的图像,该帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0096]
双向预测性图像(b图像),其可以是可使用帧内预测或帧间预测进行编码和解码的图像,该帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图像可使用多于两个参考图像和相关联元数据以用于重建单个块。
[0097]
源图像通常可在空间上细分成多个样本块(例如,4
×
4、8
×
8、4
×
8或16
×
16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,该其它块由应用于块的相应图像的编码分配来确定。举例来说,i图像的块可进行非预测编码,或该块可参考同一图像的已经编码的块来进行预测编码(空间预测或帧内预测)。p图像的像素块可参考一个先前编码的参考图像通过空间预测或通过时域预测进行预测编码。b图像的块可参考一个或两个先前编码的参考图像通过空间预测或通过时域预测进行预测编码。
[0098]
视频编码器400可根据例如itu-t h.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器400可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
[0099]
在实施例中,传输器409可在传输已编码的视频时传输附加数据。源编码器403可将此类数据作为已编码视频序列的一部分。附加数据可包括时间/空间/snr增强层、冗余图像和切片等其它形式的冗余数据、sei消息、vui参数集片段等。
[0100]
图5示出了在高效视频编码(hevc)和联合探索模型(joint exploration model,jem)中使用的帧内预测模式(intra prediction mode)。为了采集自然视频中呈现的任意边缘方向,方向帧内模式的数量从hevc中使用的33个扩展到65个。在hevc之上的jem中的附加方向模式如图1(b)中的虚线箭头所示,并且平面模式和dc模式保持相同。这些更密集的方向帧内预测模式适用于所有块大小以及亮度和色度帧内预测。如图5所示,由虚线箭头标识的、与奇数帧内预测模式索引相关联的方向帧内预测模式称为奇数帧内预测模式。由实
线箭头标识的、与偶数帧内预测模式索引相关联的方向帧内预测模式称为偶数帧内预测模式。在本文中,如图5中实线或虚线箭头所示的方向帧内预测模式也称为角模式(angular mode)。
[0101]
在jem中,共有67种帧内预测模式用于亮度帧内预测。为了对帧内模式进行编码,基于相邻块的帧内模式构建大小为6的最可能模式(most probable mode,mpm)列表。如果帧内模式不在mpm列表中,则通过信号通知一个标志以指示帧内模式是否属于所选模式。在jem-3.0中,有16个所选模式,这16个所选模式按照每四个角模式来均匀地选择。在jvet-d0114和jvet-g0060中,衍生了16个二次mpm以替换均匀选择的模式。
[0102]
图6示出了用于帧内方向模式的n个参考层(reference tiers)。其中包括块单元611、段a 601、段b 602、段c 603、段d 604、段e 605、段f 606、第一参考层610、第二参考层609、第三参考层608和第四参考层607。
[0103]
在hevc和jem以及例如h.264/avc等其他一些标准中,用于预测当前块的参考样本被限制在最近的参考线(行或列)上。在多参考线帧内预测的方法中,对于帧内方向模式,候选参考线(行或列)的数量从1(即最近的)增加到n,其中n是大于或等于1的整数。图2以4x4预测单元(pu)为例,示出了多线帧内方向预测方法的概念。帧内方向模式可以任意选择n个参考层之一来生成预测器。换言之,预测器p(x,y)是从参考样本s1、s2、......sn之一生成的。通过信号通知标志以指示为帧内方向模式选择了哪个参考层。如果n设置为1,则帧内方向预测方法与jem 2.0中的传统方法相同。在图6中,参考线610、609、608和607由六段601、602、603、604、605和606以及左上参考样本组成。在本文中,参考层也称为参考线。当前块单元内左上像素的坐标为(0,0),第一条参考线中的左上像素的坐标为(-1,-1)。
[0104]
在jem中,对于亮度分量,在生成处理之前过滤用于帧内预测样本生成的相邻样本。该过滤由给定的帧内预测模式和变换块大小控制。如果帧内预测模式为dc或变换块大小等于4x4,则不过滤相邻样本。如果给定的帧内预测模式和垂直模式(或水平模式)之间的距离大于预定义的阈值,则启用过滤处理。对于相邻样本过滤,使用[1,2,1]过滤器和双线性过滤器。
[0105]
位置相关帧内预测组合(position dependent intra prediction combination,pdpc)方法是一种帧内预测方法,该方法调用未过滤的边界参考样本和hevc风格的具有已过滤边界参考样本的帧内预测的组合。每个位于(x,y)的预测样本pred[x][y]的计算如下:
[0106]
pred[x][y]=(wl*r-1,y
+wt*r
x,-1
+wtl*r-1,-1
+(64-wl-wt-wtl)*pred[x][y]+32)>>6
ꢀꢀꢀꢀ
(等式2)
[0107]
其中r
x,-1
,r-1,y
分别表示位于当前样本(x,y)顶部和左侧的未过滤参考样本,r-1,-1
表示位于当前块的左上角的未过滤参考样本。权重的计算如下,
[0108]
wt=32>>((y<<1)>>移位)(等式3)
[0109]
wl=32>>((x<<1)>>移位)(等式4)
[0110]
wtl=-(wl>>4)-(wt>>4)(等式5)
[0111]
移位=(log2(宽度)+log2(高度)+2)>>2(等式6)
[0112]
图7示出了图700,针对一个4x4块内的(0,0)和(1,0)位置的dc模式pdpc权重(wl,wt,wtl)。如果pdpc应用于dc、平面、水平和垂直帧内模式,则不需要额外的边界滤波器,例如hevc dc模式边界滤波器或水平/垂直模式边缘滤波器。图7示出了应用于右上对角线模
式的pdpc的参考样本r
x,-1
,r-1,y
和r-1,-1
的定义。预测样本pred(x’,y’)位于预测块内的(x’,y’)处。参考样品r
x,-1
的坐标x由下式给出:x=x’+y’+1,参考样品r-1,y
的坐标y类似地由下式给出:y=x’+y’+1。
[0113]
图8示出了局部光照补偿(local illumination compensation,lic)图800,局部光照补偿基于使用比例因子(scaling factor)a和偏移(offset)b的线性模型执行光照变化。可以针对帧间模式已编码的编码单元(cu)自适应地启用或禁用局部照明补偿。
[0114]
当lic应用于cu时,利用当前cu的相邻样本及当前cu的相邻样本对应的参考样本,采用最小二乘法(least square error method)推导参数a和b。更具体地,如图8所示,使用cu的子采样(2:1子采样)相邻样本和参考图像中的对应样本(其由当前cu或子cu的运动信息标识)。ic参数被导出并被分别应用于每个预测方向。
[0115]
当在合并模式下编码cu时,则以类似于合并模式下的运动信息复制的方式从相邻块复制lic标志;否则,针对cu,用信号通知lic标志以指示lic是否适用。
[0116]
图9a示出了在hevc中使用的帧内预测模式900。在hevc中,共有35种帧内预测模式,其中模式10为水平模式,模式26为垂直模式,模式2、模式18和模式34为对角线模式。由三个最可能模式(mpm)和32个剩余模式通过信号通知帧内预测模式。
[0117]
图9b示出了在通用视频编码(vvc)的实施例中,总共有87种帧内预测模式,其中模式18是水平模式,模式50是垂直模式,并且模式2、模式34和模式66是对角线模式。模式-1~-10和模式67~76称为广角帧内预测(wide-angle intra prediction,waip)模式。
[0118]
根据以下pdpc表达式,使用帧内预测模式(dc,平面,角)和参考样本的线性组合来预测位于位置(x,y)处的预测样本pred(x,y):
[0119]
pred(x,y)=(wl
×
r-1,y
+wt
×rx,-1
–
wtl
×
r-1,-1
+(64
–
wl
–
wt+wtl)
×
pred(x,y)+32)》》6
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(等式7)
[0120]
其中r
x,-1
,r-1,y
分别表示位于当前样本(x,y)顶部和左侧的参考样本,r-1,-1
表示位于当前块的左上角的参考样本。
[0121]
对于dc模式,对于具有宽度和高度这两个维度的块,权重的计算如下:
[0122]
wt=32》》((y《《1)》》nscale),wl=32》》((x《《1)》》nscale),wtl=(wl》》4)+(wt》》4),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(等式8)
[0123]
其中,nscale=(log2(宽度)
–
2+log2(高度)
–
2+2)》》2,其中wt表示位于上方参考线且水平坐标相同的参考样本的权重因子,wl表示位于左侧参考线且垂直坐标相同的参考样本的权重因子,wtl表示当前块的左上方的参考样本的权重因子,nscale指定权重因子沿轴递减(wl从左到右递减或wt从上到下递减)的速度,即权重因子递减率,在当前设计中nscale沿x轴(从左到右)和y轴(从上到下)是相同的。其中32表示相邻样本的初始权重因子,初始权重因子也是分配给当前cb中的左上方样本的顶部(左侧或左上方)权重,且pdpc处理中相邻样本的权重因子应为等于或小于这个初始权重因子。
[0124]
对于平面模式wtl=0,而对于水平模式wtl=wt,并且对于垂直模式wtl=wl。pdpc权重只能通过加法(add)和移位(shift)来计算。可以使用等式1一步计算出pred(x,y)的值。
[0125]
图12示出了l型分区的简化框图1200。从图12的示出中可以理解,l型划分可以将块分割成一个或多个l形分区和一个或多个矩形分区和/或一个或多个l形分区。一个l形
(或l型)分区定义为如下形状,如图12所示,具有高度1201、宽度1202、较短宽度1203和较短高度1204。在本文中,旋转的l形分区也被认为是为l形分区。
[0126]
如以上关于图12的讨论所示,与l形分区相关联的数个术语包括宽度、高度、较短宽度和较短高度。
[0127]
下文参照图13a的简化框图1300描述l型划分树的示例,其中,将一个块划分为两个分区,包括例如根据示例性实施例的图13a中所示的任意布置1301、1302、1303和1304中的一个l形分区(分区1)和一个矩形分区(0)。
[0128]
类似地,图13b示出了简图1300b,其中,块1305和块1306可以被分割成l形分区(分区1)和另一个l形分区(分区0)。
[0129]
本文关于一个或多个l形分区的示例性实施例可以单独使用或以任何顺序组合使用。在本文中,l形(或l型)分区被定义为图13a和图13b所示的形状,旋转的l形分区也将被理解为l形分区。
[0130]
根据下面讨论的以及图14-图26所示的示例性实施例,当一个块被划分为多个l形分区(l-shape partition,lp)和矩形分区(rectangular partition,rp)时,用于执行l形分区的帧内预测的参考样本来自另一个lp或rp的相邻重建样本,而相邻重建样本形成一组连续的样本,该组连续的样本形成任意形状的链,而不是形成一条水平和一条垂直的直线。应当理解,这样的参考样本一起被称为参考样本链(reference sample chain,rsc)。
[0131]
根据示例性实施例,例如利用图18的简化框图1800,如图18所示,块a被划分为两个分区,一个lp(记为“1”)和一个rp(记为“0”)。为了执行分区1的帧内预测,将(在图18中以阴影块表示的)重建样本链中的样本用作参考样本。
[0132]
例如,在实施例中,当对lp(分区1)中的样本(图18中的c0和c1)进行方向(或角度)帧内预测时,样本坐标被投影到rsc。如果将样本坐标投影到rsc的垂直侧,则沿垂直方向的样本(例如r0和r1)被用于生成预测样本值。如果将样本坐标投影到rsc的水平侧,则沿水平方向的样本(例如r2和r3)被用于生成预测样本值。
[0133]
此外,根据实施例,当进行mrlp时,使用多个rsc而不是多个参考线,如图18的简化图1900中的示例所示,在lp 1的侧面使用四个rsc,并且每个rsc内的样本使用相同的相应纹理标记,以便于理解。
[0134]
在实施例中,当进行mrlp时,可以使用不相邻的重建样本,并且只有形成直线的顶部和左侧的重建样本可以用于mrlp中的帧内预测,例如,参见图20的简化图2000,其中顶部样本和左侧样本可包括一个或多个不是当前块的直接相邻样本的样本。从图20可以理解,一个或多个纹理化的样本用于执行lp(分区1)的mrlp。
[0135]
此外,对于关于图21的简化图2100的示例性实施例,在另一个实施例中,当来自不同分区(lp或rp)的右侧或底部的相邻样本在当前块中的样本重建之前被重建时,右侧和底部的相邻样本可以形成rsc,并且被用于执行帧内预测。在如图21所示的示例中,在rp(分区0)之前重建lp(分区1),因此(如阴影块所示的)样本形成rsc,并且可用于rp(分区0)的帧内预测。
[0136]
根据示例性实施例,在进行(在hevc和vvc中定义的)平面模式或(在av1中定义的)smooth模式、smooth-h模式、smooth-v模式时,如果重建了右侧或底部的样本,则可以在平面(或smooth、smooth-h、smooth-v)模式下的4抽头内插值中直接使用这些重建样本,而不
是通过顶部和左侧的重建样本外插右侧和底部的样本;并且在进行dc模式时,不仅上方和左侧的相邻重建样本,rsc中所有可用的样本(可包括右侧和底部的重建样本)均可用于生成dc预测器。
[0137]
此外,在dc模式下,不仅上方(above)和左侧的相邻重建样本,rsc中除了左下方和右上方之外的所有可用样本(可包括右侧和底部的重建样本)都可以用于生成dc预测器。在进行(在hevc中定义的)边界滤波或(在vvc中定义的)pdpc时,不仅上方和左侧的相邻重建样本,rsc中所有可用的样本(可包括右侧和底部的重建样本)都可以用于应用边界滤波和pdpc预测。
[0138]
对于诸如图22的图2200的示例,当重建样本在两个相对侧都可用时,可以应用双向帧内预测,如图22中从分区0绘制到阴影区域的线所示。
[0139]
例如,当在当前块之前重建了左侧样本和右侧样本时,可以启用双向预测模式,例如图22的图2200所示,该双向预测模式利用沿类水平预测方向的左侧样本和右侧样本的加权和来生成预测器。在一个实施例中,当在当前块之前重建了左侧样本和右侧样本时,采用双向预测模式代替类水平预测,该双向预测模式利用沿类水平预测方向的左侧样本和右侧样本的加权和来生成预测器。因此,在双向预测模式中,可以通过利用阴影参考样本链的第一部分和第二部分的加权和来生成图22的矩形分区0中的当前块的预测器,其中,第一部分和第二部分分别来自当前块的右侧和左侧,并且与当前块不相邻。如图22所示,参考样本链至少在三个侧面围绕当前块:左侧、顶部和右侧,这从图22所示的方向可以理解。如图22和23所示,参考样本链的第一部分在当前块的右侧和顶部,参考样本链的第二部分在当前块的左侧和底部,如图22和23中由相应的箭头指向参考样品链。
[0140]
此外,如图23的图2300所示,当在当前块之前重建了顶部样本和底部样本时,可以启用双向预测模式,该双向预测模式利用沿类垂直预测方向的左侧样本和右侧样本的加权和来生成预测器;当在当前块之前重建了顶部样本和底部样本时,采用双向预测模式代替类垂直预测,该双向预测模式利用沿类垂直预测方向的左侧样本和右侧样本的加权和来生成预测器。
[0141]
当一个块被划分为数个l形分区(lp)和矩形分区(rp)时,如果相邻的重建样本形成任意链(rsc)而不是一条水平和一条垂直的直线,则rsc中的样本首先映射到顶行和左列,使得这些顶行和左列中的参考样本可以用于当前块的帧内预测,如图24的简图2400中的这种映射所示。根据示例性实施例,这种从rsc到顶行和左列的样本映射是沿帧内预测方向完成的。可选地,使用2抽头双线性滤波器或4抽头三次滤波器或最接近的整数样本来完成这种从rsc到顶行和左列的样本映射。进一步可选地,如图25的图2500中示出的示例,rsc中的所有样本可以映射到顶行。
[0142]
例如,关于图25,如图25中所示,当确定帧内预测方向是类垂直的、或者当确定帧内预测方向是类水平的时,实施例可以将rsc中的所有样本映射到顶行。
[0143]
示例性实施例还包括可选方案,例如rsc中的所有样本可以映射到左列,或者例如,仅当确定帧内预测方向是类水平的时,rsc中的所有样本被映射到左列和顶行。类似地,可选实施例还包括仅当确定帧内预测方向是类垂直的时,rsc中的所有样本被映射到左列和顶行。
[0144]
鉴于这样的实施例,对于l型分区,一个或多个相邻重建样本也可以从右侧和/或
底侧中的任何一处获得,即使相邻参考样本可能不再形成直线,仍然可以使用这样的样本。
[0145]
因此,通过本文描述的示例性实施例,可以通过这些技术解决方案中的一种或多种来有利地改进上述技术问题。
[0146]
可以将上述描述的技术实现为计算机软件,或通过具体配置的一个或多个硬件处理器来实现。该计算机软件使用计算机可读指令并且物理地存储在一个或多个计算机可读介质中。例如,图26示出了适合于实现所公开主题的某些实施例的计算机系统2600。
[0147]
可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,任何合适的机器代码或计算机语言可以经受汇编、编译、链接或类似的机制以创建包括指令的代码,该指令可以由一个或多个计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或通过译码、微码等执行。
[0148]
指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板计算机、服务器、智能手机、游戏装置、物联网装置等。
[0149]
图26所示的计算机系统2600的组件本质上是示例性的,并且不旨在对实施本技术实施例的计算机软件的用途或功能的范围提出任何限制。组件的配置也不应被解释为具有与计算机系统2600的示例性实施例中所示的组件中的任何一个组件或组件的组合有关的任何依赖或要求。
[0150]
计算机系统2600可以包括某些人机接口输入装置。此类人机接口输入装置可以响应于一个或多个人类用户通过例如下述的输入:触觉输入(例如:击键、划动,数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘出)。人机接口装置还可以用于采集不一定与人的意识输入直接相关的某些媒介,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静止图像相机获取摄影图像)、视频(例如二维视频、包括立体视频的三维视频)等。
[0151]
输入人机接口装置可以包括以下中的一项或多项(每种中仅示出一个):键盘2601、鼠标2602、触控板2603、触摸屏2610、操纵杆2605、麦克风2606、扫描仪2608、相机2607。
[0152]
计算机系统2600还可以也可以包括某些人机接口输出装置。这样的人机接口输出装置可以例如通过触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感官。此类人机接口输出装置可以包括触觉输出装置(例如触摸屏2610的触觉反馈、或操纵杆2605,但也可以是不作为输入装置的触觉反馈装置)、音频输出装置(例如:扬声器2609、耳机(未示出))、视觉输出装置(例如包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕的屏幕2610,每种屏幕有或没有触摸屏输入功能,每种屏幕都有或没有触觉反馈功能,其中的一些屏幕能够通过诸如立体图像输出之类的装置、虚拟现实眼镜(未描绘出)、全息显示器和烟箱(未描绘出)以及打印机(未描绘出)来输出二维视觉输出或超过三维的输出。
[0153]
计算机系统2600也可以包括人类可访问存储装置及其关联介质:例如包括具有cd/dvd 2611等介质的cd/dvd rom/rw 2620的光学介质、指状驱动器2622、可拆卸硬盘驱动器或固态驱动器2623、诸如磁带和软盘之类的传统磁性介质(未示出)、诸如安全软件狗之类的基于专用rom/asic/pld的装置(未示出)等。
[0154]
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其他瞬时信号。
[0155]
计算机系统2600还可以包括到一个或多个通信网络2698的接口2699。网络2698可以例如是无线网络、有线网络、光网络。网络可以进一步地是本地网络、广域网络、城域网络、车辆和工业网络、实时网络、耐延迟网络等。网络2698的示例包括诸如以太网之类的局域网、无线lan、包括gsm、3g、4g、5g、lte等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括canbus的车辆和工业用电视等等。某些网络2698通常需要连接到某些通用数据端口或外围总线(2650和2651)的外部网络接口适配器(例如计算机系统2600的usb端口);如下所述,其他网络接口通常通过连接到系统总线而集成到计算机系统2600的内核中(例如,连接到pc计算机系统中的以太网接口或连接到智能手机计算机系统中的蜂窝网络接口)。计算机系统2600可以使用这些网络中的任何一个网络与其他实体通信。此类通信可以是仅单向接收的(例如,广播电视)、仅单向发送的(例如,连接到某些canbus装置的canbus)或双向的,例如,使用局域网或广域网数字网络连接到其他计算机系统。如上所述,可以在那些网络和网络接口的每一个上使用某些协议和协议栈。
[0156]
上述人机接口装置、人机可访问的存储装置和网络接口可以附接到计算机系统2600的内核2640。
[0157]
内核2640可以包括一个或多个中央处理单元(cpu)2641、图形处理单元(gpu)2642、现场可编程门区域(fpga)2643形式的专用可编程处理单元、用于某些任务的硬件加速器2644等。这些装置以及只读存储器(rom)2645、随机存取存储器2646、诸如内部非用户可访问的硬盘驱动器、ssd等之类的内部大容量存储器2647可以通过系统总线2648连接。在一些计算机系统中,可以以一个或多个物理插头的形式访问系统总线2648,以能够通过附加的cpu、gpu等进行扩展。外围装置可以直接连接到内核的系统总线2648或通过外围总线2649连接到内核的系统总线2648。外围总线的体系结构包括pci、usb等。
[0158]
cpu 2641、gpu 2642、fpga 2643和加速器2644可以执行某些指令,这些指令可以组合来构成上述计算机代码。该计算机代码可以存储在rom 2645或ram 2646中。过渡数据也可以存储在ram 2646中,而永久数据可以例如存储在内部大容量存储器2647中。可以通过使用高速缓存来进行到任何存储装置的快速存储及检索,该高速缓存可以与下述紧密关联:一个或多个cpu 2641、gpu 2642、大容量存储2647、rom 2645、ram 2646等。
[0159]
计算机可读介质可以在其上具有执行各种由计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开的目的而专门设计和构建的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。
[0160]
作为非限制性示例,可以由于一个或多个处理器(包括cpu、gpu、fpga、加速器等)执行包含在一种或多种有形的计算机可读介质中的软件而使得具有架构2600,特别是内核2640的计算机系统提供功能。此类计算机可读介质可以是与如上所述的用户可访问的大容量存储相关联的介质,以及某些非暂时性内核2640的存储器,例如内核内部大容量存储器2647或rom 2645。可以将实施本技术的各种实施例的软件存储在此类装置中并由内核2640执行。根据特定需要,计算机可读介质可以包括一个或多个存储装置或芯片。软件可以使得内核2640,特别是其中的处理器(包括cpu、gpu、fpga等)执行本文所描述的特定过程或特定过程的特定部分,包括定义存储在ram 2646中的数据结构以及根据由软件定义的过程来修改此类数据结构。附加地或替换地,可以由于硬连线或以其他方式体现在电路(例如,加速器2644)中的逻辑而使得计算机系统提供功能,该电路可以替换软件或与软件一起运行以
执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,提及软件的部分可以包含逻辑,反之亦然。在适当的情况下,提及计算机可读介质的部分可以包括存储用于执行的软件的电路(例如集成电路(ic))、体现用于执行的逻辑的电路或包括两者。本技术包括硬件和软件的任何合适的组合。
[0161]
尽管本技术已经描述了多个示例性实施例,但是存在落入本技术的范围内的修改、置换和各种替换等效物。因此,应当理解,本领域技术人员将能够设计出许多虽然未在本文中明确示出或描述,但体现了本技术的原理,因此落入本技术的其精神和范围内的系统和方法。
技术特征:
1.一种由至少一个处理器执行的方法,包括:获取视频数据的块;将所述块分割成l形分区和第二分区,所述第二分区是矩形分区和另一个l形分区中的一个;以及通过使用参考样本链作为参考样本来执行所述l形分区的帧内预测,所述参考样本链包括相邻重建样本的链。2.根据权利要求1所述的方法,其特征在于,所述链包括:来自与所述l形分区相邻的重建样本的多条水平参考线和多条垂直参考线。3.根据权利要求2所述的方法,其特征在于,所述多条垂直参考线中的第一条垂直参考线直接连接到所述多条水平参考线中的第一条水平参考线,所述多条水平参考线中的所述第一条水平参考线直接连接到所述多条垂直参考线中的第二条垂直参考线,所述多条垂直参考线中的所述第二条垂直参考线直接连接到所述多条水平参考线中的第二条水平参考线,所述多条水平参考线中的所述第一条水平参考线和所述多条垂直参考线中的所述第二条垂直参考线在所述块内,以及所述多条垂直参考线中的所述第一条垂直参考线和所述多条水平参考线中的所述第二条水平参考线在所述块外。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述多条水平参考线中的至少一条水平参考线的至少一个样本映射到沿所述块的左列;以及将所述多条垂直参考线中的至少一条垂直参考线的至少一个样本映射到沿所述块的顶行。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:将所述多条水平参考线中的至少一条水平参考线的至少一个样本映射到沿所述块的顶行;以及将所述多条垂直参考线中的至少一条垂直参考线的至少一个样本映射到沿所述块的顶行。6.根据权利要求1所述的方法,其特征在于,执行所述帧内预测包括:将所述l形分区的样本投影到所述参考样本链的垂直侧和水平侧中的至少一个。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:启用双向预测模式;以及在所述双向预测模式中,通过利用所述参考样本链的第一部分和第二部分的加权和来生成所述第二分区的当前块的预测器,其中,所述参考样本链的所述第一部分和所述第二部分与所述当前块不相邻,以及其中,所述参考样本链的所述第一部分和所述第二部分分别位于所述当前块的右侧和左侧。8.根据权利要求7所述的方法,其特征在于,
所述参考样本链的所述第一部分位于所述当前块的右侧和所述当前块的顶部,以及所述参考样本链的所述第二部分位于所述当前块的左侧和所述当前块的底部。9.根据权利要求8所述的方法,其特征在于,所述参考样本链的所述第一部分和所述第二部分中的第一个在所述块内,以及所述参考样本链的所述第一部分和所述第二部分中的第二个在所述块外。10.根据权利要求1所述的方法,其特征在于,所述l形分区包括:第一侧、和与所述第一侧相对的第二侧,所述第一侧的高度大于所述第二侧的高度,所述l形分区进一步包括:第三侧、和与所述第三侧相对的第四侧,以及所述第三侧的宽度大于所述第四侧的宽度。11.一种装置,包括:至少一个存储器,配置为存储计算机程序代码;至少一个硬件处理器,配置为访问所述计算机程序代码并且按照所述计算机程序代码的指令进行操作,所述计算机程序代码包括:获取代码,配置为使所述处理器获取视频数据的块;分割代码,配置为使所述处理器将所述块分割成l形分区和第二分区,所述第二分区是矩形分区和另一个l形分区中的一个;以及执行代码,配置为使所述处理器通过使用参考样本链作为参考样本来执行所述l形分区的帧内预测,所述参考样本链包括相邻重建样本的链。12.权利要求11所述的装置,其特征在于,所述链包括:来自与所述l形分区相邻的重建样本的多条水平参考线和多条垂直参考线。13.根据权利要求12所述的装置,其特征在于,所述多条垂直参考线中的第一条垂直参考线直接连接到所述多条水平参考线中的第一条水平参考线,所述多条水平参考线中的所述第一条水平参考线直接连接到所述多条垂直参考线中的第二条垂直参考线,所述多条垂直参考线中的所述第二条垂直参考线直接连接到所述多条水平参考线中的第二条水平参考线,所述多条水平参考线中的所述第一条水平参考线和所述多条垂直参考线中的所述第二条垂直参考线在所述块内,以及所述多条垂直参考线中的所述第一条垂直参考线和所述多条水平参考线中的所述第二条水平参考线在所述块外。14.根据权利要求12所述的装置,其特征在于,所述计算机程序代码进一步包括:映射代码,配置为使所述处理器将所述多条水平参考线中的至少一条水平参考线的至少一个样本映射到沿所述块的左列,其中,所述映射代码进一步被配置为:使所述处理器将所述多条垂直参考线中的至少一条垂直参考线的至少一个样本映射到沿所述块的顶行。15.根据权利要求12所述的装置,其特征在于,所述计算机程序代码进一步包括:映射代码,配置为使所述处理器将所述多条水平参考线中的至少一条水平参考线的至
少一个样本映射到沿所述块的顶行,其中,所述映射代码进一步被配置为:使所述处理器将所述多条垂直参考线中的至少一条垂直参考线的至少一个样本映射到沿所述块的顶行。16.根据权利要求11所述的装置,其特征在于,所述执行代码进一步被配置为:使所述处理器通过将所述l形分区的样本投影到所述参考样本链的垂直侧和水平侧中的至少一个来执行帧内预测。17.根据权利要求11所述的装置,其特征在于,所述计算机程序代码进一步包括:启用代码,配置为启用双向预测模式;以及生成代码,配置为在所述双向预测模式中,通过利用所述参考样本链的第一部分和第二部分的加权和来生成所述第二分区的当前块的预测器,其中,所述参考样本链的所述第一部分和所述第二部分与所述当前块不相邻,以及其中,所述参考样本链的所述第一部分和所述第二部分分别位于所述当前块的右侧和左侧。18.根据权利要求17所述的装置,其特征在于,所述参考样本链的所述第一部分位于所述当前块的右侧和所述当前块的顶部,以及所述参考样本链的所述第二部分位于所述当前块的左侧和所述当前块的底部。19.根据权利要求18所述的装置,其特征在于,所述参考样本链的所述第一部分和所述第二部分中的第一个在所述块内,以及所述参考样本链的所述第一部分和所述第二部分中的第二个在所述块外。20.一种非暂时性计算机可读介质,其上存储有使计算机执行处理的程序,所述处理包括:获取视频数据的块;将所述块分割成l形分区和第二分区,所述第二分区是矩形分区和另一个l形分区中的一个;以及通过使用参考样本链作为参考样本来执行所述l形分区的帧内预测,所述参考样本链包括相邻重建样本的链。
技术总结
本申请包括一种方法和包括计算机代码的装置,该计算机代码被配置为使一个或多个硬件处理器执行以下操作:获取视频数据的块;将块分割成L形分区和第二分区,第二分区是矩形分区和另一个L形分区中的一个;以及通过使用参考样本链作为参考样本来执行L形分区的帧内预测,参考样本链包括相邻重建样本的链。参考样本链包括相邻重建样本的链。参考样本链包括相邻重建样本的链。
技术研发人员:赵欣 赵亮 刘杉
受保护的技术使用者:腾讯美国有限责任公司
技术研发日:2020.11.09
技术公布日:2022/4/15
转载请注明原文地址:https://win.8miu.com/read-1144789.html