用于解码器侧帧内模式导出和自适应帧内预测模式之间的交互的方法和装置

文档序号:1943014 发布日期:2021-12-07 浏览:15次 >En<

阅读说明:本技术 用于解码器侧帧内模式导出和自适应帧内预测模式之间的交互的方法和装置 (Method and apparatus for interaction between decoder-side intra mode derivation and adaptive intra prediction modes ) 是由 赵亮 赵欣 刘杉 于 2021-02-03 设计创作,主要内容包括:一种用于执行视频序列的图像的当前块的帧内预测的方法,包括:确定第一标志是否指示对应于当前块的帧内预测模式是定向模式;以及基于确定第一标志指示对应于当前块的帧内预测模式是定向模式,在允许帧内预测模式(AIPM)列表中确定该帧内预测模式的索引,并使用在AIPM列表中与所确定的索引对应的的帧内预测模式来执行当前块的帧内预测。(A method for performing intra prediction of a current block of an image of a video sequence, comprising: determining whether the first flag indicates that an intra prediction mode corresponding to the current block is a directional mode; and based on determining that the first flag indicates that the intra prediction mode corresponding to the current block is the directional mode, determining an index of the intra prediction mode in an Allowed Intra Prediction Mode (AIPM) list, and performing intra prediction of the current block using the intra prediction mode corresponding to the determined index in the AIPM list.)

用于解码器侧帧内模式导出和自适应帧内预测模式之间的交 互的方法和装置

相关申请的交叉引用

本申请要求于2020年2月5日提交到美国专利商标局的美国临时专利申请No.62/970,505以及于2020年11月11日提交的美国专利申请No.17/094,923的优先权,这两个美国申请通过引用整体并入本文。

技术领域

与实施例一致的方法和装置涉及视频编码,更具体地,涉及用于解码器侧帧内模式导出和自适应帧内预测模式之间的交互的方法和装置。

背景技术

视频编码格式VP9支持对应于从45度到207度的角度的8个方向模式。为了在定向纹理中利用更多种类的空间冗余,在视频编码格式AOMediaVideo 1(AV1)中,定向帧内模式扩展到具有更细小跨度的角度集合。原始的8个角度稍微改变并成为标称角度,这8个标称角度命名为V_PRED、H_PRED、D45_PRED、D135_PRED、D113_PRED、D157_PRED、D203_PRED和D67_PRED,如图1所示。对于每个标称角度,其具有7个更细的角度,因此AV1总共具有56个方向角。预测角由标称帧内角与角度δ之和表示,角度δ是3度步长的-3~3倍。为了通过通用方式实现AV1中的定向预测模式,利用统一定向预测器来实现AV1中的所有56个定向帧内预测模式,该统一定向预测器将每个像素投影到参考子像素位置,并通过双抽头双线性滤波器对参考像素进行插值。

发明内容

根据实施例,一种用于执行视频序列的图像的当前块的帧内预测的方法,由至少一个处理器执行并包括:确定第一标志是否指示对应于当前块的帧内预测模式是定向模式;以及基于确定第一标志指示对应于当前块的帧内预测模式是定向模式,在允许帧内预测模式(allowed intra prediction mode,AIPM)列表中确定帧内预测模式的索引,并使用在AIPM列表中与所确定的索引对应的帧内预测模式来执行当前块的帧内预测。

根据实施例,一种用于执行视频序列的图像的当前块的帧内预测的装置,包括:至少一个存储器,配置成存储计算机程序代码;以及至少一个处理器,配置成访问至少一个存储器并按照计算机程序代码进行操作。计算机程序代码包括:第一确定代码,配置成使得至少一个处理器确定第一标志是否指示对应于当前块的帧内预测模式是定向模式;第二确定代码,配置成使得至少一个处理器基于确定第一标志指示对应于当前块的帧内预测模式是定向模式,在允许帧内预测模式(AIPM)列表中确定帧内预测模式的索引;以及第一执行代码,配置成使得至少一个处理器基于确定第一标志指示对应于当前块的帧内预测模式是定向模式,使用在AIPM列表中与所确定的索引对应的帧内预测模式来执行当前块的帧内预测。

根据实施例,一种非暂时性计算机可读存储介质,存储指令,该指令使得至少一个处理器:确定第一标志是否指示对应于当前块的帧内预测模式是定向模式;以及基于确定第一标志指示对应于当前块的帧内预测模式是定向模式,在允许帧内预测模式(AIPM)列表中确定帧内预测模式的索引,并使用在AIPM列表中与所确定的索引对应的帧内预测模式来执行当前块的帧内预测。

附图说明

图1是AV1中的8个标称角度的图。

图2是根据实施例的通信系统的简化框图。

图3是根据实施例的视频编码器和视频解码器在流式传输环境中的放置方式的图。

图4是根据实施例的视频解码器的功能框图。

图5是根据实施例的视频编码器的功能框图。

图6A是PAETH模式的上位置、左位置和左上位置的图。

图6B是递归帧内滤波模式的图。

图6C是示出从具有T行像素的重建区域选择模板的图。

图6D是示出通过对两个梯度直方图(Histogram of Gradient,HoG)模式和平面模式进行加权平均而获得的预测融合的图。

图7是示出根据实施例的用于执行视频序列的图像的当前块的帧内预测的方法的流程图。

图8是根据实施例的用于执行视频序列的图像的当前块的帧内预测的装置的简化框图。

图9是适合于实现实施例的计算机系统的图。

具体实施方式

图2是根据实施例的通信系统(200)的简化框图。通信系统(200)可包括通过网络(250)互连的至少两个终端(210-220)。对于单向数据传输,第一终端(210)可以在本地位置对视频数据进行编码,以通过网络(250)传输到另一终端(220)。第二终端(220)可从网络(250)接收另一终端的已编码视频数据,对已编码数据进行解码,并根据恢复的视频数据进行显示。单向数据传输在媒体服务等应用中可能是较常见的。

图2示出了第二对终端(230,240),第二对终端(230,240)设置成支持已编码视频的双向传输,该双向传输可例如在视频会议期间发生。对于双向数据传输,每个终端(230,240)可以在本地位置对采集的视频数据进行编码,以通过网络(250)传输到另一终端。每个终端(230,240)还可接收由另一终端传输的已编码视频数据,可对已编码数据进行解码,且可以在本地显示设备上显示根据恢复的视频数据。

在图2中,终端(210-240)可被示出为服务器、个人计算机和智能电话,但实施例的原理不限于此。实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络(250)表示在终端(210-240)之间传送已编码视频数据的任何数量的网络,包括例如有线和/或无线通信网络。通信网络(250)可在电路交换和/或分组交换信道中交换数据。代表性的网络包括电信网络、局域网、广域网和/或互联网。出于本讨论的目的,除非在下文中有所解释,否则网络(250)的架构和拓扑对于实施例的操作来说可能是无关紧要的。

图3示出了根据实施例的视频编码器和视频解码器在流式传输环境中的放置方式的图。所公开的主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等。

流式传输系统可包括采集子系统(313),该采集子系统可包括例如数码相机的视频源(301),该视频源创建例如未压缩的视频样本流(302)。相较于已编码视频比特流,被描绘为粗线以强调高数据量的样本流(302)可由耦接到相机(301)的编码器(303)处理。编码器(303)可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开的主题的各方面。相较于样本流,被描绘为细线以强调较低数据量的已编码视频比特流(304)可存储在流式传输服务器(305)上以供将来使用。一个或多个流式传输客户端(306,308)可访问流式传输服务器(305)以检索已编码视频比特流(304)的副本(307,309)。客户端(306)可包括视频解码器(310),视频解码器(310)对已编码视频比特流的传入副本(307)进行解码,且产生可在显示器(312)或另一呈现装置(未描绘)上呈现的输出视频样本流(311)。在一些流式传输系统中,可根据某些视频编码/压缩标准对视频比特流(304,307,309)进行编码。该些标准的示例包括ITU-T建议书H.265。正在开发的视频编码标准非正式地称为下一代视频编码(Versatile Video Coding,VVC)。所公开的主题可用于VVC的上下文中。

图4是根据实施例的视频解码器(310)的功能框图。

接收器(410)可接收将由解码器(310)解码的一个或多个已编码视频序列;在同一实施例或另一实施例中,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列的解码。可从信道(412)接收已编码视频序列,该信道可以是通向存储已编码视频数据的存储装置的硬件/软件链路。接收器(410)可接收可转发到它们各自的使用实体(未描绘)的已编码视频数据以及其它数据,例如已编码音频数据和/或辅助数据流。接收器(410)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(415)可耦接在接收器(410)与熵解码器/解析器(420)(此后称为“解析器”)之间。当接收器(410)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,可能不需要缓存(415),或可将该缓存做得较小。为了尽力在互联网等业务分组网络上使用,可能需要缓存(415),该缓存可相对较大并可有利地具有自适应性大小。

视频解码器(310)可包括解析器(420)以根据熵编码视频序列重建符号(421)。这些符号的类别包括用于管理解码器(310)的操作的信息,以及用以控制呈现装置(312)(例如,显示器)的潜在信息,该呈现装置不是解码器的整体部分,但可耦接到解码器,如图4中所示。用于呈现装置的控制信息可以是辅助增强信息(Supplemental EnhancementInformation,SEI消息)或视频可用性信息(Video Usability Information,VUI)的参数集片段(未描绘)的形式。解析器(420)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循本领域技术人员已知的各种原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等等。解析器(420)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图像组(Groupof Pictures,GOP)、图像、图块、切片、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等等。熵解码器/解析器还可从已编码视频序列提取信息,例如变换系数、量化器参数(QP)值、运动矢量等等。

解析器(420)可对从缓存(415)接收的视频序列执行熵解码/解析操作,从而创建符号(421)。解析器(420)可接收已编码数据,并选择性地对特定符号(421)进行解码。此外,解析器(420)可确定是否将特定符号(421)提供给运动补偿预测单元(453)、缩放器/逆变换单元(451)、帧内预测单元(452)或环路滤波器单元(454)。

取决于已编码视频图像或一部分已编码视频图像(例如:帧间图像和帧内图像、帧间块和帧内块)的类型以及其它因素,符号(421)的重建可涉及多个不同单元。涉及哪些单元以及涉及方式可由解析器(420)从已编码视频序列解析的子群控制信息来控制。为了清楚起见,未描绘解析器(420)与下文的多个单元之间的此类子群控制信息流。

除已经提及的功能块以外,解码器(310)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施方式中,这些单元中的许多单元彼此紧密交互且可至少部分地彼此集成。然而,出于描述所公开的主题的目的,概念上细分成下文的功能单元是适当的。

第一单元是缩放器/逆变换单元(451)。缩放器/逆变换单元(451)从解析器(420)接收作为符号(421)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(451)可输出包括样本值的块,该样本值可输入到聚合器(455)中。

在一些情况下,缩放器/逆变换单元(451)的输出样本可属于帧内编码块;即:不使用来自先前重建的图像的预测性信息,但可使用来自当前图像的先前重建部分的预测性信息的块。此类预测性信息可由帧内图像预测单元(452)提供。在一些情况下,帧内图像预测单元(452)采用从当前(部分重建的)图像(456)提取的周围已重建信息生成大小和形状与正在重建的块相同的块。在一些情况下,聚合器(455)基于每个样本,将帧内预测单元(452)生成的预测信息添加到由缩放器/逆变换单元(451)提供的输出样本信息中。

在其它情况下,缩放器/逆变换单元(451)的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元(453)可访问参考图像存储器(457)以提取用于预测的样本。在根据属于块的符号(421)对提取的样本进行运动补偿之后,这些样本可由聚合器(455)添加到缩放器/逆变换单元的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿单元从参考图像存储器内的地址获取预测样本可受到运动矢量控制,且该运动矢量以符号(421)的形式而供运动补偿单元使用,符号(421)可具有例如X、Y和参考图像分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图像存储器提取的样本值的内插、运动矢量预测机制等等。

聚合器(455)的输出样本可经受环路滤波器单元(454)中的各种环路滤波技术。视频压缩技术可包括环路内滤波器技术,该环路内滤波器技术受控于包括在已编码视频比特流中且作为来自解析器(420)的符号(421)可用于环路滤波器单元(454)的参数,然而,视频压缩技术还可响应于在解码已编码图像或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。

环路滤波器单元(454)的输出可以是样本流,该样本流可输出到呈现装置(312)以及存储在参考图像存储器(456)中,以用于后续的帧间图像预测。

一旦完全重建,某些已编码图像就可用作参考图像以用于将来预测。一旦已编码图像被完全重建,且已编码图像(通过例如解析器(420))被识别为参考图像,则当前参考图像(456)可变为参考图像缓存(457)的一部分,且可在开始重建后续已编码图像之前重新分配新的当前图像存储器。

视频解码器(310)可根据例如ITU-T建议书H.265标准中记录的预定视频压缩技术执行解码操作。在已编码视频序列遵循视频压缩技术或标准的语法(如视频压缩技术文档或标准中指定的,特别是如视频压缩技术文档或标准的配置文件中指定的)的意义上,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。对于合规性,还可要求已编码视频序列的复杂度处于视频压缩技术或标准的层级所限定的范围内。在一些情况下,层级限制最大图像大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图像大小等。在一些情况下,由层级设定的限制可通过假想参考解码器(Hypothetical Reference Decoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓存管理的元数据来进一步限定。

在实施例中,接收器(410)可连同已编码视频的接收一起接收附加(冗余)数据。该附加数据可被包括作为已编码视频序列的一部分。该附加数据可由视频解码器(310)使用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal-to-noise ratio,SNR)增强层、冗余切片、冗余图像、前向纠错码等形式。

图5是根据实施例的视频编码器(303)的功能框图。

编码器(303)可从视频源(301)(并非编码器的一部分)接收视频样本,该视频源可采集将由编码器(303)编码的视频图像。

视频源(301)可提供将由编码器(303)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601Y CrCB、RGB……)和任何合适采样结构(例如Y CrCb 4:2:0、Y CrCb 4:4:4)。在媒体服务系统中,视频源(301)可以是存储先前已准备的视频的存储装置。在视频会议系统中,视频源(301)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图像,当按顺序观看时,这些图像被赋予运动。图像自身可构建为空间像素阵列,其中取决于所用的采样结构、色彩空间等,每个像素可包括一个或多个样本。本领域技术人员可容易理解像素与样本之间的关系。下文侧重于描述样本。

根据实施例,编码器(303)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图像编码且压缩成已编码视频序列(543)。施行适当的编码速度是控制器(550)的一个功能。控制器控制如下文所描述的其它功能单元且在功能上耦接到这些单元。为了清楚起见,图中未描绘耦接。由控制器设置的参数可包括速率控制相关参数(图像跳过、量化器、率失真优化技术的λ值……)、图像大小、图像组(GOP)布局、最大运动矢量搜索范围等。本领域技术人员可容易认识到控制器(550)的其它功能,原因是这些功能涉及针对某一系统设计优化的视频编码器(303)。

一些视频编码器在本领域技术人员容易认识到的“编码环路”中进行操作。作为简单的描述,编码环路可包括编码器(530)(此后称为“源编码器”,负责基于待编码的输入图像和参考图像创建符号)和嵌入于编码器(303)中的(本地)解码器(533),解码器(533)重建符号以用类似于(远程)解码器还可创建样本数据的方式创建样本数据(因为在所公开的主题所考虑的视频压缩技术中,符号与已编码视频比特流之间的任何压缩是无损的)。将重建的样本流输入到参考图像存储器(534)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图像缓存中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图像样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。本领域技术人员知道这种参考图像同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)。

“本地”解码器(533)的操作可与已在上文结合图4详细描述的“远程”解码器(310)的操作相同。然而,另外简要参考图4,当符号可用且熵编码器(545)和解析器(420)可无损地将符号编码/解码为已编码视频序列时,包括信道(412)、接收器(410)、缓存(415)和解析器(420)在内的解码器(310)的熵解码部分,可能无法完全在本地解码器(533)中实施。

此时可观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术,也必定以基本上相同的功能形式存在于对应的编码器中。可简化编码器技术的描述,因为编码器技术与全面地描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并在下文提供。

作为其一部分操作,源编码器(530)可执行运动补偿预测编码,其中,参考来自视频序列中被指定为“参考帧”的一个或多个先前已编码帧,该运动补偿预测编码对输入帧进行预测性编码。以此方式,编码引擎(532)对输入帧的像素块与参考帧的像素块之间的差异进行编码,该参考帧可被选作该输入帧的预测参考。

本地视频解码器(533)可基于源编码器(530)创建的符号,对可指定为参考帧的帧的已编码视频数据进行解码。编码引擎(532)的操作可有利地为有损过程。当已编码视频数据可在视频解码器(图4中未示)处被解码时,已重建视频序列通常可以是源视频序列的副本,但带有一些误差。本地视频解码器(533)复制解码过程,该解码过程可由视频解码器对参考帧执行,且可使重建参考帧存储在参考图像高速缓存(534)中。以此方式,编码器(303)可在本地存储重建参考帧的副本,该副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)。

预测器(535)可针对编码引擎(532)执行预测搜索。即,对于将要编码的新帧,预测器(535)可在参考图像存储器(534)中搜索可作为该新图像的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图像运动矢量、块形状等。预测器(535)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,如由预测器(535)获得的搜索结果所确定的那样,输入图像可具有从参考图像存储器(534)中存储的多个参考图像取得的预测参考。

控制器(550)可管理视频编码器(530)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。

可在熵编码器(545)中对所有上述功能单元的输出进行熵编码。熵编码器根据本领域技术人员已知的技术例如霍夫曼编码、可变长度编码、算术编码等,对各种功能单元生成的符号进行无损压缩,从而将该符号变换成已编码视频序列。

传输器(540)可缓冲由熵编码器(545)创建的已编码视频序列,从而为通过通信信道(560)进行传输做准备,该通信信道可以是通向可存储已编码视频数据的存储装置的硬件/软件链路。传输器(540)可将来自视频编码器(530)的已编码视频数据与要传输的其它数据合并,该其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。

控制器(550)可管理编码器(303)的操作。在编码期间,控制器(550)可给每个已编码图像分配某一已编码图像类型,但这可能影响可应用于相应的图像的编码技术。例如,通常可将图像分配为以下任一种帧类型:

帧内图像(I图像),其可以是不将序列中的任何其它帧用作预测源就可被编码和解码的图像。一些视频编解码器容许不同类型的帧内图像,包括例如独立解码器刷新(Independent Decoder Refresh,“IDR”)图像。本领域技术人员了解I图像的变体及其相应的应用和特征。

预测性图像(P图像),其可以是可使用帧内预测或帧间预测进行编码和解码的图像,该帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。

双向预测性图像(B图像),其可以是可使用帧内预测或帧间预测进行编码和解码的图像,该帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图像可使用多于两个参考图像和相关联的元数据以用于重建单个块。

源图像通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测性编码,该其它块由应用于块的相应图像的编码分配来确定。举例来说,I图像的块可进行非预测性编码,或该块可参考同一图像的已编码块来进行预测性编码(空间预测或帧内预测)。P图像的像素块可参考一个先前编码的参考图像通过空间预测或通过时间预测进行非预测性编码。B图像的块可参考一个或两个先前编码的参考图像通过空间预测或通过时间预测进行非预测性编码。

视频编码器(303)可根据例如ITU-T建议书H.265的预定视频编码技术或标准,或者下一代视频编码(Versatile Video Coding,VVC)H.266执行编码操作。在操作中,视频编码器(303)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所使用的视频编码技术或标准指定的语法。

在实施例中,传输器(540)可在传输已编码视频时传输附加数据。视频编码器(530)可包括此类数据作为已编码视频序列的一部分。附加数据可包括时间、空间和/或SNR增强层、冗余图像和切片等其它形式的冗余数据、辅助增强信息(SupplementaryEnhancement Information,SEI)消息或视频可用性信息(Visual UsabilityInformation,VUI)参数集片段等。

在AV1中,存在5个非定向平滑帧内预测模式,分别是DC、PAETH、SMOOTH、SMOOTH_V和SMOOTH_H。对于DC预测,使用左侧相邻样本和上方相邻样本的平均值作为待预测块的预测值。对于PAETH预测器,首先提取上部参考样本、左侧参考样本和左上部参考样本,然后最接近(上部+左侧-左上部)的值设置为待预测像素的预测器。图6A示出了当前块中一个像素的上部样本、左侧样本和左上部样本的位置。对于SMOOTH模式、SMOOTH_V模式和SMOOTH_H模式,使用沿着垂直或水平方向的二次插值或两个方向的平均值来预测块。

为了通过边缘上的参考获取衰减空间相关性,针对亮度块设计滤波器帧内模式。给AV1定义5个滤波器帧内模式,每个滤波器帧内模式由一组八个7抽头滤波器表示,其反映4×2贴片中的像素与与该贴片相邻的7个邻居之间的相关性。换句话说,7抽头滤波器的加权因子取决于位置。以8×8块为例;该块分成8个4×2贴片,如图6B所示。这些贴片在图6B中由B0、B1、B2、B3、B4、B5、B6和B7表示。对于每个贴片,它的7个邻居由R0~R6表示,用于预测当前贴片中的像素。对于贴片B0,已重建所有邻居。但是对于其它贴片,不是重建所有邻居,于是近邻的预测值用作参考。例如,不重建贴片B7的所有邻居,因此替代地使用邻居(即,B5和B6)的预测样本。

从亮度到色度(Chroma from Luma,CfL)是纯色度帧内预测器,其将色度像素建模成一致重建亮度像素的线性函数。CfL预测如下表示:

CfL(α)=α×LAC+DC (1),

其中,LAC表示亮度分量的AC贡献,α表示线性模型的参数,以及DC表示色度分量的DC贡献。具体地说,已重建亮度像素下采样到色度分辨率,然后减去平均值以形成AC贡献。为了从AC贡献近似色度AC分量,作为如某些方法中要求解码器计算缩放参数的替代,AV1CfL基于原始色度像素确定参数α并在比特流中用信号表示α。这降低了解码器复杂性并产生更精确的预测。对于色度分量的DC贡献,其使用DC模式来计算,对于大多数色度内容来说,DC模式就足够了,且DC模式具有成熟的快速实现。

提出改进下一代视频编码(VVC)标准的帧内模式编码的建议。例如,可以给每个块定义两个帧内预测模式集,这两个帧内预测模式集被命名为允许帧内预测模式集(AIPM,还被命名为自适应帧内预测模式)和禁止帧内预测模式集(DIPM)。AIPM定义为一个模式集,该模式集中的模式可用于当前块的帧内预测,且DIPM定义为一个模式集,该模式集中的模式不能用信号表示或不能用于当前块的帧内预测。对于每个块,根据相邻块的帧内预测模式导出这两个模式集中的模式。相邻模式包括在AIPM集中,但是不包括在DIPM集中。包括在AIPM集和DIPM集中的模式的数量是预定义的且对于所有块来说是固定的。当AIPM集的大小是S且从相邻模式导出的帧内预测模式的数量小于S时,使用默认模式来填充AIPM集。

当AIPM应用于AV1时,所有标称角度总是包括在AIPM中,而不管当前块的块大小和相邻块的预测模式。

在解码器侧帧内模式导出(DIMD)处理中,基于先前编码/解码的像素导出帧内预测模式,且在编码器侧和解码器侧以相同的方式完成。因此,在DIMD过程中,避免了帧内预测模式索引的信令。该过程定义被称为DIMD的新编码模式。一个标志在比特流中用信号表示,以指示是否选择DIMD模式。解码器侧帧内模式导出还可称为导出帧内模式,其已在建议中用标志CONFIG_DERIVED_INTRA_MODE实现。

在DIMD过程中采用两个主要步骤,如下详细描述。

为了隐含地导出DIMD块的帧内预测模式(IPM),在编码器侧和解码器侧执行纹理梯度分析。该过程以空HoG开始,空HoG具有对应于角度模式的数量的65个条目。在纹理梯度分析期间确定这些条目的幅度。

在第一步骤中,DIMD分别从当前块的左侧和上方选取T=3列和3行的模板,如图6C的部分(a)所示。该区域将用作基于梯度的IPM导出的参考。

在第二步骤中,水平和垂直索贝尔(Sobel)滤波器应用于以模板中线的像素为中心的所有3×3窗口位置,如图6C的部分(b)所示。在每个窗口位置上,索贝尔滤波器分别将纯水平方向和垂直方向的强度计算为G_hor和G_ver。

然后,窗口的纹理角计算为:

angle=arctan(Ghor/Ghor) (2),

该角度可转换成65个角度IPM之一。一旦将当前窗口的IPM索引导出为idx,则通过添加如下项来更新其条目在HoG[idx]中的幅度:

ampl=|Ghor|+|Ghor| (3)。

图6C的部分(c)示出了在对模板中的所有像素位置应用上述操作之后计算的HoG的示例。

如果仅使用对应于HoG的最高峰值的单独一个IPM,则不需要该过程。

否则,如果从DIMD过程导出多于一个IPM,则可使用该预测融合处理。

通过使用多个预测器的加权平均来计算预测融合。图6D示出了融合算法的一个示例。可以看出,对应于HoG的三个最高峰值的两个IPM被检测为M1和M2。第三IPM固定为平面模式。在通过这三个IPM应用像素预测并获得Pred1、Pred2和Pred3之后,通过上述三个预测器的加权平均来计算它们的融合。在一个示例中,平面模式的权重固定为21/64(~1/3)。然后在两个HoG IPM之间共享43/64(~2/3)的剩余权重,权重与HoG条的幅度成比例。

详细地说,第一权重ω1、第二权重ω2和第三权重ω3可如下表示:

因此,预测器块可如下表示:

DIMD使用当前块的相邻样本来导出一个或多个角度IPM,并给这些导出的IPM分配较短的码字。AIPM使用相邻模式的IPM来导出所选IPM列表,并给相邻模式的IPM分配较短的码字。两种方法使用相邻信息来优化当前块的IPM的信令。然而,关于如何将这两种方法组合在一起,还没有解决方案。

本文描述了用于解码器侧帧内模式导出和自适应帧内预测模式之间的交互的方法和装置的实施例。

在此详细描述中,如果一个模式不是平滑模式或者根据给定预测方向生成预测样本,则这一个模式被称为角度模式或定向模式。DIMD是通用术语,如果一个过程使用相邻的重建样本来导出帧内预测模式,则这一个过程被称为DIMD。

在实施例中,对于每个块,存在两个帧内预测模式集,两个帧内预测模式集分别被称为AIPM集和DIPM集。所有非定向模式总是包括在AIPM集中,而不管当前块的块大小和相邻块的预测模式。

在实施例中,AV1中的所有非定向平滑帧内预测模式总是首先插入AIPM集中,而不管相邻块的帧内预测模式。

在实施例中,DC模式、PAETH模式、SMOOTH模式、SMOOTH_V模式和SMOOTH_H模式总是首先包括在AIPM集中,而不管相邻块的帧内预测模式。

在实施例中,包括在AIPM集中的模式可分成K个级别,K是正整数,例如2或3或4。对于第一级别,模式的数量等于非定向模式的数量。对于其它级别,模式的数量等于2的幂,例如2L,L是大于1的正整数。例如,AIPM集中的模式的数量可以是S,且AIPM集可具有3个级别。S等于K+2L+2M,其中,在AIPM集中索引小于K的模式被称为第一级别模式,在AIPM集中索引大于或等于K但小于K+2L的模式被称为第二级别模式,依此类推。在实施例中,所有非定向IPM放置在AIPM集的第一级别中。

在实施例中,只有定向IPM包括在AIPM列表中,且AIPM中的模式的数量设置成等于2的幂或2的幂的倍数之和。

在实施例中,对于帧内预测模式的信令,用信号表示一个标志,以指示当前块是否是定向模式。如果是,则用信号表示第二标志,以指示AIPM列表中的当前模式的索引。否则,用信号表示第二标志,以指示当前模式是哪个非定向模式。

在实施例中,对于帧内预测模式的信令,用信号表示一个标志,以指示当前块是否是定向模式。如果当前块是定向模式,则用信号表示第二标志,以指示当前模式是否是DIMD模式。如果当前模式不是DIMD模式,则用信号表示第三标志,以指示AIPM列表中的当前模式的索引。否则,如果当前模式是DIMD模式,则避免第三标志,并从解码器侧导出当前块的IPM。否则,如果当前模式不是定向IPM,则用信号表示第二标志,以指示当前模式是哪个非定向模式。

在实施例中,从DIMD过程导出的IPM总是插入AIPM列表中。在实施例中,从DIMD过程导出的IPM总是首先插入AIPM列表中,并置于AIPM列表的第一级别中。

在实施例中,AIPM方案仅应用于亮度分量,而DIMD方案仅应用于色度分量。

图7是示出根据实施例的用于执行视频序列的图像的当前块的帧内预测的方法(700)的流程图。在一些实现方式中,图7的一个或多个处理块可由解码器(310)执行。在一些实现方式中,图7的一个或多个处理块可由与解码器(310)分离或包括解码器(310)的另一设备或一组设备(例如编码器(303))执行。

参考图7,在第一块(710)中,方法(700)包括:确定第一标志是否指示对应于当前块的帧内预测模式是定向模式。

基于确定第一标志指示对应于当前块的帧内预测模式是定向模式(710-是),在第二块(720)中,方法(700)包括:确定第二标志是否指示帧内预测模式是解码器侧帧内模式导出(DIMD)模式。

基于确定第二标志不指示对应于当前块的帧内预测模式是DIMD模式(720-否),在第三块(730)中,方法(700)包括:在允许帧内预测模式(AIPM)列表中确定帧内预测模式的索引,以及在第四块(740)中,方法(700)包括:使用在AIPM列表中与所确定的索引对应的帧内预测模式来执行当前块的帧内预测。

基于确定第二标志指示对应于当前块的帧内预测模式是DIMD模式(720–是),在第五块(750)中,方法(700)包括:执行DIMD以确定帧内预测模式,并在第四块(740)中继续,其中方法(700)包括:使用所确定的帧内预测模式来执行当前块的帧内预测。

基于确定第一标志不指示对应于当前块的帧内预测模式是定向模式(710-否),在第六块(760)中,方法(700)包括:确定帧内预测模式为多个非定向模式之一,并继续到第四块(740),其中方法(700)包括:使用所确定的帧内预测模式来执行当前块的帧内预测。

方法(700)可进一步包括:首先将通过执行DIMD而确定的帧内预测模式插入AIPM列表的第一级别中。

方法(700)可进一步包括:使用AIPM列表中的至少一个帧内预测模式来执行当前块的亮度分量的帧内预测。

方法(700)可进一步包括:使用通过执行DIMD而确定的帧内预测模式,来执行当前块的色度分量的帧内预测。

AIPM列表可仅包括定向模式,以及AIPM列表中包括的定向模式的数量可等于2的幂或2的幂的倍数之和。

虽然图7示出了方法(700)的示例性块,但是在一些实现方式中,方法(700)可包括额外的块、更少的块、不同的块或与图7所示的块不同地布置的块。另外或者替代地,可并行地执行方法(700)的两个或更多个块。

图8是根据实施例的用于执行视频序列的图像的当前块的帧内预测的装置(800)的简化框图。

参考图8,装置(800)包括第一确定代码(805)、第二确定代码(810)、第三确定代码(815)、第一执行代码(820)、第二执行代码(825)和第四确定代码(830)。

第一确定代码(805)配置成使得至少一个处理器确定第一标志是否指示对应于当前块的帧内预测模式是定向模式。

第三确定代码(815)配置成使得至少一个处理器基于确定第一标志指示对应于当前块的帧内预测模式是定向模式,来确定第二标志是否指示帧内预测模式是解码器侧帧内模式导出(DIMD)模式。

第二确定代码(810)配置成使得至少一个处理器基于确定第二标志不指示对应于当前块的帧内预测模式是DIMD模式,在允许帧内预测模式(AIPM)列表中确定帧内预测模式的索引。

第一执行代码(820)配置成使得至少一个处理器基于确定第二标志不指示对应于当前块的帧内预测模式是DIMD模式,使用在AIPM列表中与所确定的索引对应的帧内预测模式来执行当前块的帧内预测。

第二执行代码(825)配置成使得至少一个处理器基于确定第二标志指示对应于当前块的帧内预测模式是DIMD模式,执行DIMD以确定帧内预测模式。

第一执行代码(820)进一步配置成使得至少一个处理器基于确定第二标志指示对应于当前块的帧内预测模式是DIMD模式,使用所确定的帧内预测模式来执行当前块的帧内预测。

第四确定代码(830)配置成使得至少一个处理器基于确定第一标志不指示对应于当前块的帧内预测模式是定向模式,确定帧内预测模式为多个非定向模式之一。

第一执行代码(820)进一步配置成使得至少一个处理器基于确定第一标志不指示对应于当前块的帧内预测模式是定向模式,使用所确定的帧内预测模式来执行当前块的帧内预测。

装置(800)可进一步包括插入代码,插入代码配置成使得至少一个处理器首先将通过执行DIMD而确定的帧内预测模式插入AIPM列表的第一级别中。

装置(800)可进一步包括第三执行代码,第三执行代码配置成使得至少一个处理器使用AIPM列表中的至少一个帧内预测模式来执行当前块的亮度分量的帧内预测。

第三执行代码可进一步配置成使得至少一个处理器使用通过执行DIMD而确定的帧内预测模式,来执行当前块的色度分量的帧内预测。

AIPM列表可仅包括定向模式,以及AIPM列表中包括的定向模式的数量可等于2的幂或2的幂的倍数之和。

图9是适合于实现实施例的计算机系统(900)的图。

可使用任何合适的机器代码或计算机语言对计算机软件进行编码,任何合适的机器代码或计算机语言可经受汇编、编译、链接或类似的机制以创建包括指令的代码,该指令可由一个或多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过解释、微代码执行等执行。

指令可在各种类型的计算机或其组件上执行,例如包括个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。

图9所示的计算机系统(900)的组件本质上是示例性的,并不旨在对实现实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为具有与计算机系统(900)的实施例中所示的组件中的任何一个组件或组件的组合相关的任何依赖或要求。

计算机系统(900)可包括某些人机接口输入装置。此类人机接口输入装置可响应于一个或多个人类用户通过例如下述的输入:触觉输入(例如:击键、划动,数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘)。人机接口装置还可用于捕获不一定与人的意识输入直接相关的某些媒介,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静止图像相机获取摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。

输入人机接口装置可包括下述中的一项或多项(每种中仅示出一个):键盘(901)、鼠标(902)、触控板(903)、触摸屏(910)、数据手套、操纵杆(905)、麦克风(906)、扫描仪(907)、相机(908)。

计算机系统(900)还可包括某些人机接口输出装置。此类人机接口输出装置可例如通过触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感官。此类人机接口输出装置可包括触觉输出装置(例如触摸屏(910)的触觉反馈、数据手套或操纵杆(905),但也可以是不作为输入装置的触觉反馈装置)、音频输出装置(例如:扬声器(909)、耳机(未描绘))、视觉输出装置(例如包括阴极射线管(cathode ray tube,CRT)屏幕、液晶显示器(liquid-crystal display,LCD)屏幕、等离子屏幕、有机发光二极管(organic light-emitting diode,OLED)屏幕的屏幕(910),每种屏幕都有或没有触摸屏输入功能,每种屏幕都有或没有触觉反馈功能-其中的一些屏幕能够通过诸如立体图像输出之类的装置、虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘)以及打印机(未描绘)来输出二维视觉输出或超过三维的输出。图形适配器(950)生成图像并将图像输出到触摸屏(910)。

计算机系统(900)还可包括人类可访问存储装置及其关联介质,例如,包括具有CD/DVD等介质(921)的CD/DVD ROM/RW(920)的光学介质、指状驱动器(922),可拆卸硬盘驱动器或固态驱动器(923)、诸如磁带和软盘之类的传统磁性介质(未描绘)、诸如安全软件狗之类的基于专用ROM/ASIC/PLD的装置(未描绘)等。

本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其它暂时性信号。

计算机系统(900)还可包括通到一个或多个通信网络(955)的接口。网络(955)可以例如是无线网络、有线网络、光网络。网络(955)可进一步是本地网络、广域网络、城域网络、车辆和工业网络、实时网络、延迟容忍网络等。网络(955)的示例包括诸如以太网之类的局域网、无线LAN、包括全球移动通信系统(GSM)、第三代(3G)、第四代(4G)、第五代(5G)、长期演进(LTE)等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括CANBus的车辆和工业用电视等等。某些网络(955)通常需要连接到某些通用数据端口或外围总线(949)的外部网络接口适配器(例如,计算机系统(900)的通用串行总线(USB)端口);如下所述,其它网络接口通常通过连接到系统总线而集成到计算机系统(900)的内核中(例如,连接到PC计算机系统中的以太网接口或连接到智能手机计算机系统中的蜂窝网络接口(954))。计算机系统(900)可使用这些网络(955)中的任何一个网络与其它实体通信。此类通信可以是仅单向接收的(例如,广播电视)、仅单向发送的(例如,连接到某些CANbus装置的CANbus)或双向的,例如,使用局域网或广域网数字网络连接到其它计算机系统。如上所述,可在那些网络(955)和网络接口(954)中的每一个上使用某些协议和协议栈。

上述人机接口装置、人机可访问的存储装置和网络接口(954)可附接到计算机系统(900)的内核(940)。

内核(940)可包括一个或多个中央处理单元(CPU)(941),图形处理单元(GPU)(942),现场可编程门区域(FPGA)(943)形式的专用可编程处理单元、用于某些任务的硬件加速器(194)等。这些装置以及只读存储器(ROM)(945)、随机存取存储器(RAM)(946)、诸如内部非用户可访问的硬盘驱动器、固态驱动器(SSD)等之类的内部大容量存储器(947)可通过系统总线(948)连接。在一些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(948),以能够通过附加的CPU、GPU等进行扩展。外围装置可直接连接到内核的系统总线(948)或通过外围总线(949)连接到内核的系统总线(948)。外围总线的体系结构包括外围设备互连(PCI)、USB等。

CPU(941)、GPU(942)、FPGA(943)和加速器(Accl.)(944)可执行某些指令,这些指令可以组合来构成上述计算机代码。该计算机代码可存储在ROM(945)或RAM(946)中。过渡数据也可存储在RAM(946)中,而永久数据可例如存储在内部大容量存储器(947)中。可通过使用高速缓存来进行到任何存储装置的快速存储及检索,该高速缓存可与下述紧密关联:一个或多个CPU(941)、GPU(942)、大容量存储器(947)、ROM(945)、RAM(946)等。

计算机可读介质可在其上具有用于执行各种由计算机实现的操作的计算机代码。介质和计算机代码可以是出于实施例的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。

作为非限制性示例,可由于一个或多个处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一种或多种有形的计算机可读介质中的软件而使得具有架构(900),特别是内核(940)的计算机系统提供功能。此类计算机可读介质可以是与如上所述的用户可访问的大容量存储相关联的介质,以及某些非暂时性的内核(940)的存储器,例如内核内部大容量存储器(947)或ROM(945)。可将实现各实施例的软件存储在此类装置中并由内核(940)执行。根据特定需要,计算机可读介质可包括一个或多个存储装置或芯片。软件可使得内核(940),特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所描述的特定过程或特定过程的特定部分,包括定义存储在RAM(946)中的数据结构以及根据由软件定义的过程来修改此类数据结构。附加地或替换地,可由于硬连线或以其它方式体现在电路(例如,加速器(944))中的逻辑而使得计算机系统提供功能,该电路可替换软件或与软件一起运行以执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,提及软件的部分可包含逻辑,反之亦然。在适当的情况下,提及计算机可读介质的部分可包括存储用于执行的软件的电路(例如集成电路(IC))、体现用于执行的逻辑的电路或包括两者。实施例包括硬件和软件的任何合适的组合。

尽管本公开已经描述了多个实施例,但是存在落入本公开的范围内的修改、置换和各种替换等效物。因此,应当理解,本领域技术人员将能够设计出许多虽然未在本文中明确示出或描述,但是体现了本公开的原理,因此落入本公开的精神和范围内的系统和方法。

30页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:利用细化的帧间预测的统一计算方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类