CN116636209A - 视频译码中用于最可能模式列表构建的解码器侧帧内模式推导 - Google Patents

视频译码中用于最可能模式列表构建的解码器侧帧内模式推导 Download PDF

Info

Publication number
CN116636209A
CN116636209A CN202180084745.9A CN202180084745A CN116636209A CN 116636209 A CN116636209 A CN 116636209A CN 202180084745 A CN202180084745 A CN 202180084745A CN 116636209 A CN116636209 A CN 116636209A
Authority
CN
China
Prior art keywords
list
intra
mode
dimd
current block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180084745.9A
Other languages
English (en)
Inventor
J·李
V·塞雷金
M·卡尔切维茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/502,875 external-priority patent/US11671589B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Priority claimed from PCT/US2021/072379 external-priority patent/WO2022140718A1/en
Publication of CN116636209A publication Critical patent/CN116636209A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种对视频数据进行解码的方法包括:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。

Description

视频译码中用于最可能模式列表构建的解码器侧帧内模式 推导
本申请要求于2021年10月15日提交的美国专利申请第17/502,875号以及于2020年12月22日提交的美国临时申请第63/129,004号的优先权,这两篇申请的全部内容通过引用被并入本文。于2021年10月15日提交的美国专利申请第17/502,875号要求于2020年12月22日提交的美国临时申请第63/129,004号的权益。
技术领域
本公开涉及视频编码和视频解码。
背景技术
数字视频能力可以被合并到范围广泛的设备中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝或卫星无线电电话、所谓的“智能手机”、视频电话会议设备、视频流式传输设备等。数字视频设备实现视频译码技术,诸如在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频译码(AVC)、ITU-T H.265/高效视频译码(HEVC)所定义的标准中以及这些标准的扩展中描述的那些技术。通过实现此类视频译码技术,视频设备可以更高效地发送、接收、编码、解码和/或存储数字视频信息。
视频译码技术包括空间(图片内)预测和/或时间(图片间)预测,以减少或去除视频序列中固有的冗余。对于基于块的视频译码,视频切片(slice)(例如,视频图片或视频图片的一部分)可以被划分为视频块,视频块亦可以被称为译码树单元(CTU)、译码单元(CU)和/或译码节点。图片的经帧内译码(I)切片中的视频块使用关于同一图片中的邻近块中的参考样本的空间预测来进行编码。图片的经帧间译码(P或B)切片中的视频块可以使用关于同一图片中的邻近块中的参考样本的空间预测、或关于其他参考图片中的参考样本的时间预测。图片可以被称为帧,并且参考图片可以被称为参考帧。
发明内容
通常,本公开描述用于使用推导的帧内模式偏差(DIMD)来对视频数据进行译码的技术。为了不利用DIMD执行帧内模式译码,视频译码器(例如,视频编码器和/或视频解码器)可以构建帧内模式候选的列表(例如,最可能模式(MPM)列表),以及信号通知列表中的哪个候选被用作当前块的帧内模式。为了利用DIMD执行帧内模式译码,视频解码器可以基于邻近块的经重构样本来隐式地推导当前块的帧内模式,以及基于所推导的帧内模式的混配来预测当前块。视频编码器可以确定是否使用DIMD来预测当前块,以及信号通知指示当前块被使用DIMD来预测还是被使用列表来预测(例如,不被使用DIMD来预测)的语法元素。然而,DIMD的实现方式可以呈现各种优点。例如,DIMD预测的实现方式可以涉及视频编码器确定是否使用来自多个DIMD推导的模式或来自单一模式的混配式预测来执行帧内预测。此类实现方式可以牺牲稳健性,其中,最佳预测模式是DIMD推导的模式之一,但最佳预测可能仅来自单一预测(例如,与来自DIMD推导的模式的混配式预测相反)。
根据本公开的一个或多个技术,视频译码器(例如,视频编码器和/或视频解码器)可以包括DIMD推导的模式中的一个或多个作为最可能模式(MPM)列表中的候选帧内模式。例如,视频译码器可以执行DIMD模式推导来推导一个或多个DIMD模式,以及将一个或多个推导的DIMD模式包括在帧内模式候选的列表中。视频译码器可以信号通知列表中的哪个候选被用作当前块的帧内模式。例如,在被包括在列表中的DIMD模式之一的特定DIMD模式是最佳预测模式的情况下,视频编码器可以信号通知该特定DIMD模式将被用作当前块的帧内模式。更多最佳模式的使用可以减少用于表示视频数据的比特数。因而,以这种方式,本公开的技术可以改进译码效率。
在一个示例中,一种对视频数据进行解码的方法包括:对于视频数据的当前块并且使用DIMD来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。
在另一示例中,一种编码方法包括:对于视频数据的当前块并且使用DIMD来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建MPM列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;对于当前块并且从MPM列表中选择候选帧内模式;以及对于当前块编码对指定候选帧内模式的一个或多个语法元素进行编码。
在另一示例中,一种用于对视频数据进行解码的设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器以电路实现并被配置为:对于视频数据的当前块并且使用DIMD来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建MPM列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。
在另一示例中,一种用于对视频数据进行编码的设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器以电路实现并被配置为:对于视频数据的当前块并且使用DIMD来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建MPM列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;对于当前块并且从MPM列表中选择候选帧内模式;以及对于当前块对指定候选帧内模式的一个或多个语法元素进行编码。
在附图和下面的描述中阐述了一个或多个示例的细节。其他特征、目的以及优点将从描述、各图以及权利要求中显而易见。
附图说明
图1是图示可以执行本公开的技术的示例视频编码和解码系统的框图。
图2A和图2B是图示示例四叉树二叉树(QTBT)结构和对应的译码树单元(CTU)的概念图。
图3是图示可以执行本公开的技术的示例视频编码器的框图。
图4是图示可以执行本公开的技术的示例视频解码器的框图。
图5是图示视频译码器可以在其上执行梯度分析的像素集的概念图。
图6是图示使用水平梯度和垂直梯度的取向索引映射的示例的图形。
图7是图示两个最有可能预测模式的选择的图形。
图8是图示解码器侧帧内模式推导(DIMD)模式的示例预测的概念图。
图9A是图示用于块内解码的示例技术的流程图。
图9B是图示用于利用DIMD的块内解码的示例技术的流程图。
图10是图示根据本公开的一个或多个技术的用于利用DIMD最可能模式(MPM)列表构建的块内解码的示例技术的流程图。
图11是图示根据本公开的一个或多个技术的MPM列表构建的示例技术的流程图。
图12是图示根据本公开的一个或多个技术的通过DIMD来推导帧内模式列表的示例技术的流程图。
图13是图示邻近块的示例的概念图。
图14是图示根据本公开的一个或多个技术的向MPM列表中添加DIMD推导的模式的示例技术的流程图。
图15是图示根据本公开的技术的用于对当前块进行编码的示例方法的流程图。
图16是图示根据本公开的技术的用于对当前块进行解码的示例方法的流程图。
图17是图示根据本公开的一个或多个技术的用于使用DIMD来对视频数据进行编码的示例技术的流程图。
图18是图示根据本公开的一个或多个技术的用于使用DIMD来对视频数据进行解码的示例技术的流程图。
具体实施方式
视频译码标准包括ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual(MPEG-4第2部分)、ITU-T H.264(亦被称作ISO/IEC MPEG-4AVC)(包括其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展)、带有其扩展的ITU-T H.265(亦被称作ISO/IEC MPEG-4HEVC)以及视频译码(VVC)标准化活动(亦被称作ITU-T H.266)。
在以下中提出了解码器侧帧内模式推导(DIMD)作为用于帧内预测的译码工具:ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家小组(JVET)于2018年10月3日至12日在中国澳门举行的第12次会议中的文件JVET-L0164《CE3相关:解码器侧帧内模式推导》(该文件可在https://jvet-experts.org/doc_end_user/documents/12_Macao/wg11/JVET-L0164-v2.zip获得),ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家小组(JVET)于2019年1月9日至18日在摩洛哥马萨诸塞州举行的第13次会议中的文件JVET-M0094《CE3:解码器侧帧内模式推导(测试3.1.1、3.1.2、3.1.3和3.1.4)》(该文件可在https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M0094-v2.zip获得),ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家小组(JVET)于2019年3月19日至29日在瑞士日内瓦举行的第14次会议中的文件JVET-N0342《非CE3:利用预测融合的解码器侧帧内模式推导》(该文件可在https://jvet-experts.org/doc_end_user/documents/14_Geneva/wg11/JVET-N0342-v5.zip获得),ITU-T SG 16WP 3和ISO/IEC JTC 1/SC 29/WG 11的联合视频专家小组(JVET)于2019年7月3日至12日在瑞典哥德堡举行的第15次会议中的文件JVET-O0449《非CE3:利用使用平面的预测融合的解码器侧帧内模式推导》(该文件可在https://jvet-experts.org/doc_end_user/documents/15_Gothenburg/wg11/JVET-O0449-v2.zip获得)。与现有帧内预测工具的不同之处在于,当执行DIMD时,视频译码器可以不显示地信号通知帧内模式。反而,视频译码器可以使用邻近块的经重构样本来显式地推导帧内模式。目的是用于通过节省帧内模式的信令来改进译码效率。注意,DIMD可以仅应用于亮度。对于色度,经典的帧内译码模式可以应用。
在一些示例中,为了对于当前块执行DIMD,视频译码器可以执行梯度计算以推导一个或多个可能模式(例如,M1和M2)。视频译码器然后可以使用所推导的一个或多个可能模式中的每一个来预测当前块以生成中间预测块,以及根据中间预测块生成输出预测。示例DIMD工作流的细节如下:
视频译码器可以执行邻近块的经重构样本的梯度计算。为了推导块的帧内预测模式,视频译码器可以从如图5所示邻近的、经重构的亮度样本中选择邻近像素的集合。视频译码器然后可以对由邻近像素的集合形成的每个3×3窗口的中心像素应用梯度计算。注意,如果邻近像素不是重构的,则可以不计算其梯度值。
视频译码器可以使用索伯(Sobel)滤波器来执行梯度计算(被表示为“Mx”、“My”)。这2个滤波器与每个3×3窗口之间的点生产可以被执行以分别推导水平梯度和垂直梯度(被表示为“Gx”、“Gy”)。以下可以是此滤波器的示例:
并且/>
Gx=Mx*W,并且Gy=My*W。
视频译码器可以将梯度值映射到方向。例如,视频译码器可以使用Gx和Gy来推导每个窗口的强度(G)和取向(O):
G=|Gx|+|Gy|,并且
在一些示例中,为了减少操作反正切(“atan”)的计算代价,取向可以由使用映射表“atan”的索引值(在2到66的范围内)来表示,并且可以通过将映射表与Gy/Gx进行比较来估计;如果Gy/Gx落在(atan[i],atan[i+1])的范围内,则取向被分配值“i”。注意,强度G为0,O被默认地分配0(平面模式)。图6是图示使用水平梯度和垂直梯度的取向索引映射的示例的图形。
在图6的示例中,对于给定的3×3窗口,它(例如,索引值)满足:
angTable[60]<=Gy/Gx<angTable[61]
取向可以被映射到预测方向60。
视频译码器可以执行两个最可能模式的选择。视频译码器可以累加全部3×3窗口的每个取向索引的强度值。视频译码器可以选择具有最高总和的前两个方向作为两个最可能模式(将最高总和的模式表示为第一模式“M1”,并且将第二高的模式表示为第二模式“M2”)。注意,如果值全为零,则将选择平面模式。图7是图示两个最有可能预测模式的选择的图形。在图7的示例中,视频译码器可以选择模式18作为第一模式M1,并且模式24作为第二模式M2,因为18和24分别是第一和第二最高的振幅之和。
视频译码器可以执行DIMD的预测。如图8所示,如果第二最可能模式的振幅之和为0(例如,如果Σ振幅[M2]==0),则视频译码器可以执行可以利用模式M1执行的正常帧内预测;否则,视频译码器可以生成输出预测块作为三个预测块(M1、M2和平面模式)的加权和。这可以被称为执行混配式预测(例如,因为模式被混配以生成单一预测)。作为一个示例,视频译码器可以根据下式生成预测块(例如,ω1用于M1,ω2用于M1,以及ω3用于平面模式)中的每一个的权重。
视频译码器可以基于参考像素来生成中间预测块(例如,对于M1,中间预测块是Pred1,对于M2,是Pred2,以及对于平面模式,是Pred3)。视频译码器可以将权重应用于中间预测块以根据下式生成输出预测块:
视频译码器可以执行DIMD模式的信号通知。图9A是图示VVC的示例帧内译码过程的流程图,并且图9B是包括DIMD时对图9A的过程的修改。如图9B所示,视频解码器可以解析DIMD标志。如果DIMD标志为真(例如,具有1的值),则视频解码器可以推导帧内预测模式并执行如上面所解释的预测。如果DIMD标志为假(例如,具有0的值),则视频解码器可以从比特流中解析帧内预测模式(例如,构建MPM列表并信号通知进入MPM列表的索引)并相应地执行预测。因而,在图9B的示例中,在DIMD标志为假的情况下,视频解码器可以不执行DIMD帧内模式推导。
前述DIMD机制可以存在一个或多个缺点。例如,由于一些原因,DIMD的潜力可能没有得到充分利用。作为一个示例,DIMD预测显式地确定预测是否应该是来自多个模式或来自单一模式的混配式预测。前述DIMD机制可能满足稳健性,其中,最佳预测模式是DIMD推导的模式,但最佳预测可能仅来自单一预测。作为另一示例,在其他情况下,最佳帧内模式可能不同于DIMD推导的模式,但差异很小(1或2索引差)。使用正常模式索引译码花费更多比特,但是使用DIMD推导的模式不会带来最好的RD性能。
根据本公开的一个或多个技术,视频译码器(例如,视频编码器和/或视频解码器)可以向MPM列表中插入DIMD推导的模式。因而,视频译码器可以使用帧内预测的MPM列表中的DIMD推导的模式来对块进行译码。
图10是图示根据本公开的一个或多个技术的用于利用DIMD最可能模式(MPM)列表构建的块内解码的示例技术的流程图。图10和图9B的比较产生几个差异。例如,与JVETDIMD设计(图9)相比,执行本公开的技术的视频译码器(图10)可以执行DIMD模式推导,而不论当前块是否被使用DIMD模式来预测,并且所推导的模式可以被添加到MPM列表中(MPM列表构建过程因此被推迟到DIMD过程之后)。
对于具有等于真的DIMD标志的块,视频译码器可以执行如上面所解释的DIMD预测。对于具有等于假的DIMD标志的块,视频译码器可以执行正常帧内预测,并且将DIMD推导的模式添加到MPM列表中。因而,视频译码器可以将DIMD推导的模式用于具有等于真的MPM标志的块的预测。
通过执行图10的技术,视频译码器可以进一步扩展DIMD的潜力,并且可以有助于译码效率改进,块可以使用DIMD推导的模式并通过选择MPM列表中的DIMD推导的模式(或具有偏移的DIMD推导的模式)来执行正常预测。
图11是图示根据本公开的一个或多个技术的MPM列表构建/推导的示例技术的流程图。图11的技术可以由视频译码器来执行,诸如视频编码器200和/或视频解码器300。
如图11所示,在步骤1(1102)中,视频译码器可以使用由DIMD的邻近块的经重构样本来推导帧内模式列表。在步骤2(1104)中,视频译码器可以向MPM列表中添加来自邻近块的预测模式。在步骤3(1106)中,视频译码器可以向MPM列表中添加由DIMD推导的帧内模式列表。在步骤4(1108)中,视频译码器可以使用候选列表来向MPM列表中添加更多的候选。示例方法将向列表中的所有候选或者列表中的一些候选(例如,前3个候选)添加多个偏移(在-3到3的范围内)。在步骤5(1110)中,视频译码器可以向MPM列表中添加(例如,插入)默认帧内模式(DC、平面、水平、垂直等模式)。
因而,图11的步骤4和/或步骤5图示了其中视频译码器向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入可以作为一个或多个默认候选的附加帧内模式候选的步骤。附加地或替代地,步骤2可以图示其中视频译码器可以向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之前插入作为来自当前块的邻近块的预测模式的一个或多个帧内模式候选的步骤。
图12是图示根据本公开的一个或多个技术的通过DIMD来推导帧内模式列表的示例技术的流程图。图12的技术可以由视频译码器来执行,诸如视频编码器200和/或视频解码器300。图12的技术可以是图11的技术的步骤1(1102)的示例。
在1202中,视频译码器可以将邻近块的每个窗口的水平和垂直梯度值计算为Gx和Gy。图5图示了示例窗口。在1204中,对于水平和垂直梯度值的集合中的每一个,视频译码器可以推导强度值(|Gx|+|Gy|)和取向值(Gy/Gx)并将每个取向映射到在2到66范围内的帧内模式(示例过程在上面给出)。视频译码器还可以将强度值计算为水平和垂直梯度值的绝对值之和,强度值亦可以被计算为水平和垂直梯度值的平方值之和。在1206中,对于每个帧内模式,视频译码器可以累加其对应的强度值。在1208中,视频译码器可以根据累加的强度值从高到低将帧内模式进行分类。DIMD列表可以是被分类的帧内模式列表,或者仅包含列表的局部。DIMD列表可以排除强度值之和等于0的帧内模式。DIMD列表可以排除强度值之和小于阈值的帧内模式。列表的大小可以是0、1、2或更大。如果强度值之和全部为0,则第一候选可以被设置为DC或平面模式。
如上面在图11中所示出的,在1104中,视频译码器可以向MPM列表中添加邻近块的帧内预测模式。如图13所示,示例邻近块是左侧、上方、左上方、右上方和左下方的块。
图14是图示根据本公开的一个或多个技术的向MPM列表中添加DIMD推导的模式的示例技术的流程图。图14的技术可以由视频译码器来执行,诸如视频编码器200和/或视频解码器300。图14的技术可以是图11的技术的步骤3的示例。
在1402中,视频译码器可以向MPM列表中添加具有最高强度之和的第一候选(被表示为如上面所解释的“M1”)。在1404中,视频译码器可以确定第二候选的强度之和是否为0(被表示为如上面所解释的“M2”),如果其被确定为0,则第二候选可以被跳过;否则,将执行1406。在1406中,视频译码器可以向MPM列表中添加第二候选。
一些示例变型和/或替代方案如下:
1)在1404中,视频译码器可以确定第二候选的强度之和是否小于阈值。如果其小于阈值,则视频译码器可以跳过第二候选;否则,视频译码器可以向MPM列表构建中添加第二候选。
2)1404的条件还可以被应用于第一候选。
3)图11的技术的次序可以彼此切换或以交织的方式。例如,1106可以在1104之前被执行,或者DIMD推导的模式和来自邻近块的帧内模式可以以交织的方式添加。
4)当译码器在1102之前执行1104,则由DIMD推导的帧内模式列表可以被来自邻近块的帧内模式修剪;例如,如果帧内模式已经在1104中被添加到MPM列表中,则帧内模式可以在建立DIMD列表的帧内模式列表时被跳过。
5)在4)中,如果帧内模式已经在1104中被添加到MPM列表中,则等于帧内模式加偏移(偏移值可以从-3到3)的任何模式将在建立DIMD列表的帧内模式列表时被跳过。
6)由DIMD推导的帧内模式列表还可以以不同次序分类(例如,强度值之和从低到高,并且保持最后几个候选)。
7)被添加到MPM列表中的每个候选可以被修剪以避免重复模式被添加到MPM列表中。
8)如果第一候选等于DC或平面模式,则其可以被跳过。
一些其他示例变型和/或替代方案如下:
1)DIMD标志可以在MPM标志之后被信号通知
2)DIMD标志可以作为MPM索引之一被信号通知
3)可能仅存在一个被添加到MPM列表中的由DIMD推导的模式
4)可能存在2个以上被添加到MPM列表中的由DIMD推导的模式
5)DIMD还可以被应用于色度块
6)DIMD推导的模式还可以被添加到色度MPM列表中
7)帧内预测可能总是使用单一预测模式
8)在7)的情况下,DIMD标志可能不被信号通知
9)DIMD预测可能仅使用单一模式
10)DIMD预测可能是推导模式和平面模式的混配式预测
11)DIMD预测可能是(一个或多个)推导模式和DC模式的混配式预测
12)DIMD可以使用预测样本而不是经重构样本来用于模式推导
13)如果块是DIMD模式的块,则由DIMD推导的其预测模式可以被用于邻近块的MPM列表构建。
14)如果块是DIMD模式的块,则默认模式(DC或平面)可以被用于邻近块的MPM列表构建。
图1是图示可以执行本公开的技术的示例视频编码和解码系统100的框图。本公开的技术通常涉及对视频数据进行译码(编码和/或解码)。通常,视频数据包括用于处理视频的任何数据。因此,视频数据可以包括原始的、未经编码的视频、经编码的视频、经解码的(例如,经重构的)视频以及视频元数据,诸如信令数据。
如图1所示,系统100包括源设备102,在该示例中,该源设备提供将被目的地设备116解码和显示的经编码的视频数据。具体地,源设备102经由计算机可读介质110向目的地设备116提供视频数据。源设备102和目的地设备116可以包括范围广泛的设备中的任何一个,包括:桌上型计算机、笔记型(即,膝上型)计算机、移动设备、平板计算机、机顶盒、诸如智能手机的电话送受话器、电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备、广播接收器设备等。在一些情况下,源设备102和目的地设备116可以被配备用于无线通信,并且因此可以被称为无线通信设备。
在图1的示例中,源设备102包括视频源104、存储器106、视频编码器200以及输出接口108。目的地设备116包括输入接口122、视频解码器300、存储器120以及显示设备118。根据本公开,源设备102的视频编码器200和目的地设备116的视频解码器300可以被配置为应用用于最可能模式列表构建的帧内模式推导的技术。因此,源设备102表示视频编码设备的示例,而目的地设备116表示视频解码设备的示例。在其他示例中,源设备和目的地设备可以包括其他组件或布置。例如,源设备102可以从诸如外部相机的外部视频源接收视频数据。同样地,目的地设备116可以与外部显示设备接口连接,而不是包括集成显示设备。
如图1所示的系统100仅仅是一个示例。通常,任何数字视频编码和/或解码设备都可以执行用于最可能模式列表构建的帧内模式推导的技术。源设备102和目的地设备116仅仅是此类译码设备的示例,其中源设备102生成经译码的视频数据用于传输到目的地设备116。本公开将“译码”设备称为执行数据的译码(编码和/或解码)的设备。因此,视频编码器200和视频解码器300表示译码设备的示例,具体地,分别表示视频编码器和视频解码器的示例。在一些示例中,源设备102和目的地设备116可以以基本上对称的方式操作,使得源设备102和目的地设备116的每一者都包括视频编码和解码组件。因此,系统100可以支持源设备102与目的地设备116之间的单向或双向视频传输,例如用于视频流式传输、视频回放、视频广播或视频电话。
通常,视频源104表示视频数据(即,原始的、未经编码的视频数据)的源,并且向视频编码器200提供视频数据的图片(也被称为“帧”)的连续系列,该视频编码器对图片的数据进行编码。源设备102的视频源104可以包括视频捕获设备,诸如摄像机、包含先前捕获的原始视频的视频存档和/或从视频内容提供商接收视频的视频馈送接口。作为进一步的替代方案,视频源104可以生成基于计算机图形的数据作为源视频,或者实况视频、存档的视频和计算机生成的视频的组合。在每种情况下,视频编码器200对捕获的、预捕获的或计算机生成的视频数据进行编码。视频编码器200可以将图片从接收次序(有时被称为“显示次序”)重新布置成用于译码的译码次序。视频编码器200可以生成包括经编码的视频数据的比特流。然后,源设备102可以经由输出接口108向计算机可读介质110上输出经编码的视频数据以供例如目的地设备116的输入接口122接收和/或取得。
源设备102的存储器106和目的地设备116的存储器120表示通用存储器。在一些示例中,存储器106、120可以存储原始视频数据,例如来自视频源104的原始视频和来自视频解码器300的原始的、未经解码的视频数据。附加地或替代地,存储器106、120可以存储可分别由例如视频编码器200和视频解码器300执行的软件指令。尽管在该示例中,存储器106和存储器120被示出为与视频编码器200和视频解码器300分离,但是应当理解,视频编码器200和视频解码器300还可以包括用于功能上类似或等同目的的内部存储器。此外,存储器106、120可以存储例如从视频编码器200输出和输入到视频解码器300的未经编码的视频数据。在一些示例中,存储器106、120的部分可以被分配作为一个或多个视频缓冲区,例如,以存储原始的、未经解码的和/或未经编码的视频数据。
计算机可读介质110可以表示能够将经编码的视频数据从源设备102输送到目的地设备116的任何类型的介质或设备。在一个示例中,计算机可读介质110表示通信介质,以使源设备102能例如经由射频网络或基于计算机的网络实时地直接向目的地设备116发送经编码的视频数据。根据诸如无线通信协议的通信标准,输出接口108可以调制包括经编码的视频数据的传输信号,并且输入接口122可以解调接收到的传输信号。通信介质可以包括任何无线或有线通信介质,诸如射频(RF)频谱或一个或多个物理传输线。通信介质可以形成基于分组的网络(诸如局域网、广域网或诸如因特网的全球网)的一部分。通信介质可以包括路由器、交换机、基站或可以有助于促进从源设备102到目的地设备116的通信的任何其他装备。
在一些示例中,源设备102可以从输出接口108向存储设备112输出经编码的数据。类似地,目的地设备116可以经由输入接口122访问来自存储设备112的经编码的数据。存储设备112可以包括多种分布式或本地存取的数据存储介质中的任何一种,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪速存储器、易失性或非易失性存储器,或者用于存储经编码的视频数据的任何其他合适的数字存储介质。
在一些示例中,源设备102可以向文件服务器114或可以存储由源设备102生成的经编码的视频数据的另一中间存储设备输出经编码的视频数据。目的地设备116可以经由流式传输或下载来存取来自文件服务器114的存储视频数据。
文件服务器114可以是能够存储经编码的视频数据并向目的地设备116发送该经编码的视频数据的任何类型的服务器设备。文件服务器114可以表示网页服务器(例如,用于网站)、被配置为提供文件传送协议服务(诸如文件传送协议(FTP)或单向输送文件传送(FLUTE)协议)的服务器、内容分发网络(CDN)设备、超文本传送协议(HTTP)服务器、多媒体广播多播服务(MBMS)或增强型MBMS(eMBMS)服务器和/或网络附加存储(NAS)设备。文件服务器114可以附加地或替代地实现一个或多个HTTP流式传输协议,诸如基于HTTP的动态自适应流式传输(DASH)、HTTP直播流式传输(HLS)、实时流式传输协议(RTSP)、HTTP动态流式传输等。
目的地设备116可以通过任何标准数据连接(包括因特网连接)从文件服务器114存取经编码的视频数据。该连接可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,数字订户线(DSL)、电缆调制解调器等)或适合于存取被存储在文件服务器114上的经编码的视频数据的上述两者的组合。输入接口122可以被配置为根据上面讨论的用于从文件服务器114取得或接收媒体数据的各种协议中的任何一个或多个或用于取得媒体数据的其他此类协议进行操作。
输出接口108和输入接口122可以表示无线发送器/接收器、调制解调器、有线联网组件(例如,以太网卡)、根据多种IEEE 802.11标准中的任何一种进行操作的无线通信组件或其他物理组件。在输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可以被配置为根据诸如4G、4G-LTE(长期演进)、高级LTE、5G等的蜂窝通信标准来传送数据,诸如经编码视的频数据。在输出接口108包括无线发送器的一些示例中,输出接口108和输入接口122可以被配置为根据诸如IEEE 802.11规范、IEEE 802.15规范(例如,ZigBeeTM)、BluetoothTM标准等的其他无线标准来传送数据,诸如经编码的视频数据。在一些示例中,源设备102和/或目的地设备116可以包括相应的片上系统(SoC)设备。例如,源设备102可以包括执行归属于视频编码器200和/或输出接口108的功能性的SoC设备,并且目的地设备116可以包括执行归属于视频解码器300和/或输入接口122的功能性的SoC设备。
本公开的技术可以应用于视频译码,以支持多种多媒体应用中的任何一种,诸如空中电视广播、有线电视传输、卫星电视传输、因特网流式传输视频传输(诸如基于HTTP的动态自适应流式传输(DASH))、被编码到数据存储介质上的数字视频、解码被存储在数据存储介质上的数字视频或其他应用。
目的地设备116的输入接口122从计算机可读介质110(例如,通信介质、存储设备112、文件服务器114等)接收经编码的视频比特流。经编码的视频比特流可以包括由视频编码器200定义的信令信息,其亦被视频解码器300使用,诸如具有描述视频块或其它经译码单元(例如,切片、图片、图片组、序列等)的特性和/或处理的值的语法元素。显示设备118向用户显示经解码视频数据的经解码图片。显示设备118可以表示多种显示设备中的任何一种,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一种类型的显示设备。
尽管图1中未示出,但是在一些示例中,视频编码器200和视频解码器300可以各自与音频编码器和/或音频解码器集成,并且可以包括适当的MUX-DEMUX单元或其他硬件和/或软件,以处置公共数据流中的包括音频和视频两者的经复用的流。如果可适用,MUX-DEMUX单元可以符合ITU H.223复用器协议或诸如用户数据报协议(UDP)的其他协议。
视频编码器200和/或视频解码器300还可以各自被实现为多种合适的编码器和/或解码器电路中的任何一种,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、分立逻辑器件、软件、硬件、固件或其任何组合。当这些技术不完全地以软件实现时,设备可以将用于软件的指令存储在合适的非暂时性计算机可读介质中,并且使用一个或多个处理器来执行硬件中的指令以执行本公开的技术。视频编码器200和视频解码器300中的每一者可以被包括在一个或多个编码器或解码器中,其中的任一个可以被集成作为相应设备中的组合式编码器/解码器(CODEC)的一部分。包括视频编码器200和/或视频解码器300的设备可以包括集成电路、微处理器和/或诸如蜂窝电话的无线通信设备。
视频编码器200和视频解码器300可以根据视频译码标准进行操作,诸如ITU-TH.265,亦被称为高效视频译码(HEVC)或其扩展,诸如多视图和/或可伸缩视频译码扩展。替代地,视频编码器200和视频解码器300可以根据其他专有或行业标准进行操作,诸如ITU-TH.266,亦被称为多功能视频译码(VVC)。在Bross等人在ITU-T SG 16WP 3和ISO/IEC JTC1/SC 29/WG 11的联合视频专家组(JVET)于2020年10月7至16日第20次电话会议(JVET-T2001-v2)中发布的《多功能视频译码(草案10)》(以下简称“VVC草案10”)中描述了VVC标准的草案。然而,本公开的技术并不限于任何特定译码标准。
通常,视频编码器200和视频解码器300可以执行图片的基于块的译码。术语“块”通常指的是包括要处理的(例如,编码、解码或以其他方式在编码和/或解码过程中使用的)数据的结构。例如,块可以包括亮度和/或色度数据的样本的二维矩阵。通常,视频编码器200和视频解码器300可以对以YUV(例如,Y、Cb、Cr)格式表示的视频数据进行译码。也就是说,视频编码器200和视频解码器300可以对亮度和色度分量进行译码,其中色度分量可以包括红色调和蓝色调色度分量两者,而不是对图片的样本的红、绿和蓝(RGB)数据进行译码。在一些示例中,视频编码器200在编码之前将接收到的经RGB格式化的数据转换为YUV表示,并且视频解码器300将YUV表示转换为RGB格式。替代地,预处理和后处理单元(未示出)可以执行这些转换。
本公开通常可以涉及包括对图片的数据进行编码或解码的过程的图片的译码(例如,编码和解码)。类似地,本公开可以涉及包括对块的数据进行编码或解码的过程(例如,预测和/或残差译码)的图片的块的译码。经编码的视频比特流通常包括表示译码决策(例如,译码模式)和将图片划分成块的语法元素的一系列值。因此,提及对图片或块进行译码通常应被理解为形成图片或块的语法元素的译码值。
HEVC定义各种块,包括译码单元(CU)、预测单元(PU)以及变换单元(TU)。根据HEVC,视频译码器(诸如视频编码器200)根据四叉树结构将译码树单元(CTU)划分成CU。也就是说,视频译码器将CTU和CU划分成四个相等的、不重叠的正方形,并且四叉树的每个节点具有零个或四个子节点。没有子节点的节点可以被称为“叶节点”,并且此叶节点的CU可以包括一个或多个PU和/或一个或多个TU。视频译码器还可以划分PU和TU。例如,在HEVC中,残差四叉树(RQT)表示TU的划分。在HEVC中,PU表示帧间预测数据,而TU表示残差数据。经帧内预测的CU包括帧内预测信息,诸如帧内模式指示。
作为另一示例,视频编码器200和视频解码器300可以被配置为根据VVC进行操作。根据VVC,视频译码器(诸如视频编码器200)将图片划分成多个译码树单元(CTU)。视频编码器200可以根据树结构(诸如四叉树-二叉树(QTBT)结构或多类型树(MTT)结构)来划分CTU。QTBT结构去除了多个划分类型的概念,诸如HEVC的CU、PU和TU之间的分离。QTBT结构包括两级:根据四叉树划分来划分的第一级和根据二叉树划分来划分的第二级。QTBT结构的根节点对应于CTU。二叉树的叶节点对应于译码单元(CU)。
在MTT划分结构中,块可以使用四叉树(QT)划分、二叉树(BT)划分以及一个或多个类型的三叉树(Triple Tree,TT)(亦被称作三元树(Ternary Tree,TT)划分来划分。三叉树或三元树划分是将块分割成三个子块的划分。在一些示例中,三叉树或三元树划分将块分成三个子块,而不通过中心来划分原始块。MTT(例如,QT、BT和TT)中的划分类型可以是对称的或者不对称的。
在一些示例中,视频编码器200和视频解码器300可以使用单一QTBT或MTT结构来表示亮度分量和色度分量中的每一者,而在其他示例中,视频编码器200和视频解码器300可以使用两个或更多个QTBT或MTT结构,诸如一个QTBT/MTT结构用于亮度分量,并且另一QTBT/MTT结构用于两个色度分量(或者两个QTBT/MTT结构用于相应的色度分量)。
视频编码器200和视频解码器300可以被配置为使用每HEVC四叉树划分、QTBT划分、MTT划分或其他划分结构。出于解释的目的,本公开的技术的描述是关于QTBT划分来呈现的。然而,应当理解的是,本公开的技术也可以应用于被配置为使用四叉树划分或其他类型的划分的视频译码器。
在一些示例中,CTU包括亮度样本的译码树块(CTB)、具有三个样本数组的图片的色度样本的两个对应CTB、或单色图片或使用三个单独的色彩平面和用于对样本进行译码的语法结构来译码的图片的样本的CTB。CTB可以是某一N值的样本的N×N块,使得划分是将分量分成CTB。分量是来自组成以4:2:0、4:2:2或4:4:4色彩格式的图片的三个数组(亮度和两个色度)之一的数组或单一样本,或者是组成以单色格式的图片的数组或数组的单一样本。在一些示例中,译码块是某一M和N值的样本的M×N块,使得划分是将CTB分成译码块。
块(例如,CTU或CU)可以在图片中以各种方式分组。作为一个示例,砖块(brick)可以指图片中的特定图块(tile)内的CTU行的矩形区域。砖块可以是图片中的特定图块列和特定图块行内的CTU的矩形区域。图块列指的是具有等于图片高度的高度和由语法元素(例如,诸如图片参数集中的语法元素)指定的宽度的CTU的矩形区域。图块行指的是具有由语法元素(例如,诸如在图片参数集中的语法元素)指定的高度和等于图片宽度的宽度的CTU的矩形区域。
在一些示例中,图块可以被划分成多个砖块,每个砖块可以包括图块内的一个或多个CTU行。未被划分成多个砖块的图块亦可以被称为砖块。然而,作为图块的真子集的砖块不可以被称为图块。
图片中的砖块还可以以切片布置。切片可以是可以被排他地包含在单一网络抽象层(NAL)单元中的图片的整数个砖块。在一些示例中,切片包括若干完整图块或仅一个图块的完整砖块的连续序列。
本公开可以可互换地使用“N×N”和“N乘N”来指代块(诸如CU或其它视频块)在垂直和水平维度方面的样本维度,例如,16×16样本或16乘16样本。通常,16×16CU将在垂直方向上具有16个样本(y=16)并在水平方向上具有16个样本(x=16)。同样地,N×N CU通常在垂直方向上具有N个样本并在水平方向上具有N个样本,其中N表示非负整数值。CU中的样本可以以行和列布置。此外,CU未必需要在水平方向上具有与垂直方向上相同数量的样本。例如,CU可以包括N×M样本,其中M不一定等于N。
视频编码器200对表示预测和/或残差信息以及其它信息的CU的视频数据进行编码。预测信息指示CU将如何被预测以便形成CU的预测块。残差信息通常表示编码前的CU的样本与预测块之间的逐样本差异。
为了预测CU,视频编码器200通常可以通过帧间预测或帧内预测来形成CU的预测块。帧间预测通常指的是从先前经译码的图片的数据中预测CU,而帧内预测通常指的是从同一图片的先前经译码的数据中预测CU。为了执行帧间预测,视频编码器200可以使用一个或多个运动矢量来生成预测块。视频编码器200通常可以执行运动搜索以标识与CU紧密匹配的参考块,例如,在CU与参考块之间的差异方面。视频编码器200可以使用绝对差之和(SAD)、平方差之和(SSD)、平均绝对差(MAD)、均方差(MSD)或其它此类差计算来计算差度量,以确定参考块是否与当前CU紧密匹配。在一些示例中,视频编码器200可以使用单向预测或双向预测来预测当前CU。
VVC的一些示例还提供仿射运动补偿模式,该模式可以被认为是帧间预测模式。在仿射运动补偿模式下,视频编码器200可以确定表示非平移运动(诸如放大或缩小、旋转、透视运动或其它不规则运动类型)的两个或更多个运动矢量。
为了执行帧内预测,视频编码器200可以选择帧内预测模式来生成预测块。VVC的一些示例提供六十七种帧内预测模式,包括各种方向模式、以及平面模式和DC模式。通常,视频编码器200选择描述与当前块(例如,CU的块)邻近的样本的帧内预测模式,从该模式来预测当前块的样本。假设视频编码器200以光栅扫描次序(从左侧到右侧、从顶部到底部)来对CTU和CU进行译码,此类样本通常可以在与当前块相同的图片中的当前块的上方、左上方或左侧。
视频编码器200对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可以对表示各种可用帧间预测模式中的哪一种模式被使用的数据、以及对应模式的运动信息进行编码。例如,对于单向或双向帧间预测,视频编码器200可以使用高级运动矢量预测(AMVP)或合并模式来对运动矢量进行编码。视频编码器200可以使用类似的模式来对仿射运动补偿模式的运动矢量进行编码。
在预测之后,诸如块的帧内预测或帧间预测,视频编码器200可以计算块的残差数据。残差数据(诸如残差块)表示块与块的预测块之间的逐样本差异,该逐样本差异是使用对应预测模式形成的。视频编码器200可以对残差块应用一个或多个变换,以在变换域而不是样本域中产生经变换的数据。例如,视频编码器200可以对残差视频数据应用离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换。此外,视频编码器200可以在第一变换之后应用次级变换,诸如模式相关的不可分离次级变换(MDNSST)、信号相关的变换、卡洛南-洛伊(Karhunen-Loeve)变换(KLT)等。视频编码器200在应用一个或多个变换之后产生变换系数。
如上所指出,在产生变换系数的任何变换之后,视频编码器200可以执行变换系数的量化。量化通常指的是这样的过程,其中变换系数被量化以尽可能减少用于表示变换系数的数据量,从而提供进一步的压缩。通过执行量化过程,视频编码器200可以减少与变换系数中的一些或全部相关联的比特深度。例如,视频编码器200可以在量化期间将n比特值向下舍入到m比特值,其中n大于m。在一些示例中,为了执行量化,视频编码器200可以执行要量化的值的按位右移。
在量化之后,视频编码器200可以扫描变换系数,从而从包括经量化的变换系数的二维矩阵中产生一维矢量。扫描可以被设计为将较高能量(并且因此较低频率)的变换系数放置在矢量的前面,并且将较低能量(并且因此较高频率)的变换系数放置在矢量的后面。在一些示例中,视频编码器200可以利用预定义扫描次序来扫描经量化的变换系数,以产生经串行化的矢量,并且然后,对矢量的经量化变换系数进行熵编码。在其他示例中,视频编码器200可以执行自适应扫描。在扫描经量化的变换系数以形成一维矢量之后,视频编码器200可以例如根据上下文自适应二进制算术译码(CABAC)来对一维矢量进行熵编码。视频编码器200还可以对描述与经编码的视频数据相关联的元数据的语法元素的值进行熵编码,以供视频解码器300在对视频数据进行解码时使用。
为了执行CABAC,视频编码器200可以向要发送的符号分配上下文模型内的上下文。上下文可以涉及例如符号的邻近值是否为零值。概率确定可以基于被分配给符号的上下文。
视频编码器200可以例如在图片报头、块报头、切片报头或其它语法数据(诸如序列参数集(SPS)、图片参数集(PPS)或视频参数集(VPS))中给视频解码器300进一步生成语法数据,诸如基于块的语法数据、基于图片的语法数据以及基于序列的语法数据。同样地,视频解码器300可以对此语法数据进行解码以确定如何对对应的视频数据进行解码。
以这种方式,视频编码器200可以生成包括经编码的视频数据的比特流,例如,描述将图片划分成块(例如,CU)的语法元素以及块的预测和/或残差信息。最终,视频解码器300可以接收比特流并对经编码的视频数据进行解码。
通常,视频解码器300执行与由视频编码器200执行的过程互反的过程,以对比特流的经编码视频数据进行解码。例如,视频解码器300可以使用CABAC以与视频编码器200的CABAC编码过程基本上类似但互反的方式对比特流的语法元素的值进行解码。语法元素可以定义用于将图片划分成CTU并根据诸如QTBT结构的对应划分结构来划分每个CTU以定义CTU的CU的划分信息。语法元素可以进一步定义视频数据的块(例如,CU)的预测和残差信息。
残差信息可以由例如经量化的变换系数来表示。视频解码器300可以对块的经量化变换系数进行逆量化和逆变换,以再现块的残差块。视频解码器300使用信号通知的预测模式(帧内预测或帧间预测)和相关预测信息(例如,帧间预测的运动信息)来形成块的预测块。然后,视频解码器300可以将预测块与残差块组合(在逐样本基础上),以再现原始块。视频解码器300可以执行附加处理,诸如执行去块过程以减少沿着块的边界的视觉伪影。
根据本公开的一个或多个技术,视频译码器(例如,视频编码器和/或视频解码器)可以向MPM列表中插入DIMD推导的模式。因而,视频译码器可以使用帧内预测的MPM列表中的DIMD推导的模式来对块进行译码。
本公开通常可以涉及“信号通知”某些信息,诸如语法元素。术语“信号通知”通常可以指语法元素和/或用于对经编码的视频数据进行解码的其他数据的通信。也就是说,视频编码器200可以在比特流中信号通知语法元素的值。通常,信号通知指的是在比特流中生成值。如上所指出,源设备102可以基本上实时地或者非实时地(诸如当将语法元素存储到存储设备112以供目的地设备116稍后取得时可能发生)向目的地设备116输送比特流。
根据本公开的一个或多个技术,编码器200和/或解码器300可以向MPM列表中插入一个或多个所推导的DIMD模式。例如,编码器200和/或解码器300可以执行图10的技术。
图2A和图2B是图示示例四叉树二叉树(QTBT)结构130和对应的译码树单元(CTU)132的概念图。实线表示四叉树分割,并且虚线指示二叉树分割。在二叉树的每个分割节点(即,非叶节点)中,一个标志被信号通知以指示哪个分割类型(即,水平或垂直)被使用,其中在该示例中,0指示水平分割,并且1指示垂直分割。对于四叉树分割,不存在指示分割类型的需求,因为四叉树节点将块水平地和垂直地分割成4个具有相等大小的子块。相应地,视频编码器200可以编码并且视频解码器300可以解码QTBT结构130的区域树级(即,实线)的语法元素(诸如分割信息)和QTBT结构130的预测树级(即,虚线)的语法元素(例如,分割信息)。视频编码器200可以编码并且视频解码器300可以解码由QTBT结构130的终端叶节点表示的CU的视频数据,诸如预测和变换数据。
通常,图2B的CTU 132可以与定义与QTBT结构130在第一级和第二级处的节点相对应的块的大小的参数相关联。这些参数可以包括CTU大小(表示样本中的CTU 132的大小)、最小四叉树大小(MinQTSize,表示最小被允许的四叉树叶节点大小)、最大二叉树大小(MaxBTSize,表示最大被允许的二叉树根节点大小)、最大二叉树深度(MaxBTDepth,表示最大被允许的二叉树深度)以及最小二叉树大小(MinBTSize,表示最小被允许的二叉树叶节点大小)。
与CTU相对应的QTBT结构的根节点可以具有在QTBT结构的第一级处的四个子节点,每个子节点可以根据四叉树划分来划分。也就是说,第一级的节点或者是叶节点(不具有子节点),或者具有四个子节点。QTBT结构130的示例将此类节点表示为包括父节点和具有实线分支的子节点。如果第一级的节点不大于最大被允许的二叉树根节点大小(MaxBTSize),则这些节点可以被相应的二叉树进一步划分。一个节点的二叉树分割可以被迭代,直到分割所得的节点达到最小被允许的二叉树叶节点大小(MinBTSize)或最大被允许的二叉树深度(MaxBTDepth)。QTBT结构130的示例将此类节点表示为具有虚线分支。二叉树叶节点被称为译码单元(CU),其被用于预测(例如,图片内预测或图片间预测)和变换,而无需任何进一步的划分。如上所论述,CU亦可以被称为“视频块”或“块”。
在QTBT划分结构的一个示例中,CTU大小被设置为128×128(亮度样本和两个对应的64×64色度样本),MinQTSize被设置为16×16,MaxBTSize被设置为64×64,MinBTSize(对于宽度和高度两者)被设置为4,以及MaxBTDepth被设置为4。首先四叉树划分被应用于CTU以生成四叉树叶节点。四叉树叶节点可以具有从16×16(即,MinQTSize)至128×128(即,CTU大小)的大小。如果四叉树叶节点是128×128,则叶四叉树节点将不会被二叉树进一步分割,因为大小超过了MaxBTSize(即,在该示例中为64×64)。否则,四叉树叶节点将被二叉树进一步划分。因此,四叉树叶节点亦是二叉树的根节点,并且其二叉树深度为0。当二叉树深度达到MaxBTDepth(在该示例中为4)时,任何进一步的分割都是不被准许的。宽度等于MinBTSize(在本例中为4)的二叉树节点意味着对于该二叉树节点,任何进一步的垂直分割(即,宽度的划分)都是不被准许的。类似地,高度等于MinBTSize的二叉树节点意味着对于该二叉树节点,任何进一步的水平分割(即,高度的划分)都是不被准许的。如上所指出,二叉树的叶节点被称为CU,并且是根据预测和变换来进一步处理的,而无需进一步的划分。
图3是图示可以执行本公开的技术的示例视频编码器200的框图。图3是出于解释的目的提供的,并且不应被认为是对本公开中宽泛地例示和描述的技术的限制。出于解释的目的,本公开描述了根据VVC(ITU-T H.266,正在开发中)和HEVC(ITU-T H.265)的技术的视频编码器200。然而,本公开的技术可以由被配置为其它视频译码标准的视频编码设备来执行。
在图3的示例中,视频编码器200包括视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波单元216、经解码图片缓冲区(DPB)218以及熵编码单元220。视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波单元216、DPB 218以及熵编码单元220中的任何一者或全部可以以一个或多个处理器或以处理电路实现。例如,视频编码器200的单元可以被实现为一个或多个电路或逻辑元件,作为硬件电路的一部分或者作为处理器、ASIC或FPGA的一部分。此外,视频编码器200可以包括附加的或替代的处理器或处理电路,以执行这些和其他功能。
视频数据存储器230可以存储将由视频编码器200的组件编码的视频数据。视频编码器200可以从例如视频源104(图1)接收被存储在视频数据存储器230中的视频数据。DPB218可以充当参考图片存储器,其存储参考视频数据以供视频编码器200预测后续视频数据时使用。视频数据存储器230和DPB 218可以由多种存储器设备中的任何一种形成,诸如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM)或其他类型的存储器设备。视频数据存储器230和DPB 218可以由相同的存储设备或分离的存储设备提供。在各种示例中,视频数据存储器230可以如所图示与视频编码器200的其它组件在芯片上,或者相对于那些组件在芯片外。
在本公开中,提及视频数据存储器230不应被解释为限于视频编码器200内部的存储器,除非具体描述如此,或者限于视频编码器200外部的存储器,除非具体描述如此。而是,提及视频数据存储器230应被理解为存储视频编码器200接收用于编码的视频数据(例如,将被编码的当前块的视频数据)的参考存储器。图1的存储器106还可以提供来自视频编码器200的各个单元的输出的临时存储。
图示图3的各个单元以帮助理解由视频编码器200执行的操作。这些单元可以被实现为固定功能电路、可编程电路或其组合。固定功能电路指的是提供特定功能性并且被预置在可以被执行的操作上的电路。可编程电路指的是可以被编程以执行各种任务的电路,并且在可以被执行的操作中提供灵活的功能性。例如,可编程电路可以执行软件或固件,该软件或固件使可编程电路以由软件或固件的指令定义的方式进行操作。固定功能电路可以执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作的类型通常是不可变的。在一些示例中,这些单元中的一个或多个可以是相异的电路块(固定功能或可编程的),并且在一些示例中,这些单元中的一个或多个可以是集成电路。
视频编码器200可以包括由可编程电路形成的算术逻辑单元(ALU)、基本功能单元(EFU)、数字电路、模拟电路和/或可编程核心。在使用由可编程电路执行的软件来执行视频编码器200的操作的示例中,存储器106(图1)可以存储视频编码器200接收和执行的软件的指令(例如,目标代码),或者视频编码器200内的另一存储器(未示出)可以存储此类指令。
视频数据存储器230被配置为存储接收到的视频数据。视频编码器200可以从视频数据存储器230中取得视频数据的图片并向残差生成单元204和模式选择单元202提供视频数据。视频数据存储器230中的视频数据可以是将被编码的原始视频数据。
模式选择单元202包括运动估计单元222、运动补偿单元224以及帧内预测单元226。模式选择单元202可以包括附加功能单元以根据其它预测模式来执行视频预测。作为示例,模式选择单元202可以包括调色板单元、块内复制单元(其可以是运动估计单元222和/或运动补偿单元224的一部分)、仿射单元、线性模型(LM)单元等。
模式选择单元202通常协调多个编码过程以测试编码参数的组合和此组合的所得率失真值。编码参数可以包括将CTU划分成CU、CU的预测模式、CU的残差数据的变换类型、CU的残差数据的量化参数等。模式选择单元202可以最终选择具有比其它被测试的组合更好的率失真值的编码参数的组合。
视频编码器200可以将从视频数据存储器230中取得的图片划分成一系列CTU并将一个或多个CTU封装在切片内。模式选择单元202可以根据树结构(诸如,QTBT结构或上述HEVC的四叉树结构)来划分图片的CTU。如上所述,视频编码器200可以从根据树结构来划分CTU中形成一个或多个CU。此CU通常亦可以被称为“视频块”或“块”。
通常,模式选择单元202还控制其组件(例如,运动估计单元222、运动补偿单元224以及帧内预测单元226)以生成当前块(例如,当前CU,或在HEVC中,PU与TU的重叠部分)的预测块。对于当前块的帧间预测,运动估计单元222可以执行运动搜索以在一个或多个参考图片(例如,被存储在DPB 218中的一个或多个先前经译码的图片)中标识一个或多个紧密匹配的参考块。具体地,运动估计单元222可以例如根据绝对差之和(SAD)、平方差之和(SSD)、平均绝对差(MAD)、均方差(MSD)等来计算表示潜在参考块与当前块如何类似的值。运动估计单元222通常可以使用当前块与正被考虑的参考块之间的逐样本差异来执行这些计算。运动估计单元222可以标识具有从这些计算所得的最低值的参考块,从而指示最紧密地匹配当前块的参考块。
运动估计单元222可以形成一个或多个运动矢量(MV),该运动矢量定义参考图片中的参考块相对于当前图片中的当前块的位置的位置。然后,运动估计单元222可以向运动补偿单元224提供运动矢量。例如,对于单向帧间预测,运动估计单元222可以提供单一运动矢量,而对于双向帧间预测,运动估计单元222可以提供两个运动矢量。运动补偿单元224然后可以使用运动矢量来生成预测块。例如,运动补偿单元224可以使用运动矢量来取得参考块的数据。作为另一示例,如果运动矢量具有分数样本精度,则运动补偿单元224可以根据一个或多个内插滤波器来内插预测块的值。此外,对于双向帧间预测,运动补偿单元224可以取得由相应的运动矢量标识的两个参考块的数据并且例如通过逐样本平均或加权平均来将取得的数据组合。
作为另一示例,对于帧内预测或帧内预测译码,帧内预测单元226可以从邻近当前块的样本中生成预测块。例如,对于方向模式,帧内预测单元226通常可以以数学方式将邻近样本的值组合并在当前块上在限定方向上填充这些计算出的值以产生预测块。作为另一示例,对于DC模式,帧内预测单元226可以计算当前块的邻近样本的平均值并生成预测块以包括预测块的每个样本的该所得平均值。
模式选择单元202向残差生成单元204提供预测块。残差生成单元204从视频数据存储器230接收当前块的原始的、未经编码版本并从模式选择单元202接收预测块。残差生成单元204计算当前块与预测块之间的逐样本差异。所得逐样本差异定义当前块的残差块。在一些示例中,残差生成单元204还可以确定残差块中的样本值之间的差异,以使用残差差分脉冲译码调制(RDPCM)来生成残差块。在一些示例中,残差生成单元204可以使用执行二进制减法的一个或多个减法器电路来形成。
在模式选择单元202将CU划分成PU的示例中,每个PU可以与亮度预测单元和对应的色度预测单元相关联。视频编码器200和视频解码器300可以支持具有各种大小的PU。如上所指示,CU的大小可以指CU的亮度译码块的大小,并且PU的大小可以指PU的亮度预测单元的大小。假设特定CU的大小为2N×2N,那么视频编码器200可以支持用于帧内预测的2N×2N或N×N的PU大小以及用于帧间预测的2N×2N、2N×N、N×2N、N×N或类似的对称PU大小。视频编码器200和视频解码器300还可以支持对用于帧间预测的2N×nU、2N×nD、nL×2N和nR×2N的PU大小的非对称划分。
在模式选择单元202不将CU进一步划分成PU的示例中,每个CU可以与亮度译码块和对应的色度译码块相关联。如上所述,CU的大小可以指CU的亮度译码块的大小。视频编码器200和视频解码器300可以支持2N×2N、2N×N或N×2N的CU大小。
对于其它视频译码技术,诸如块内复制模式译码、仿射模式译码以及线性模型(LM)模式译码,作为一些示例,模式选择单元202经由与译码技术相关联的相应单元生成正被编码的当前块的预测块。在一些示例中,诸如调色板模式译码,模式选择单元202可以不生成预测块,并且反而生成指示基于选定调色板来重构块的方式的语法元素。在此类模式下,模式选择单元202可以向熵编码单元220提供这些语法元素以供编码。
如上所述,残差生成单元204接收当前块和对应预测块的视频数据。残差生成单元204然后生成当前块的残差块。为了生成残差块,残差生成单元204计算预测块与当前块之间的逐样本差异。
变换处理单元206对残差块应用一个或多个变换以生成变换系数的块(在本文中被称为“变换系数块”)。变换处理单元206可以对残差块应用各种变换以形成变换系数块。例如,变换处理单元206可以对残差块应用离散余弦变换(DCT)、方向变换、卡洛南-洛伊(Karhunen-Loeve)变换(KLT)或概念上类似的变换。在一些示例中,变换处理单元206可以对残差块执行多个变换,例如,初级变换和次级变换,诸如旋转变换。在一些示例中,变换处理单元206不对残差块应用变换。
量化单元208可以对变换系数块中的变换系数进行量化以产生经量化的变换系数块。量化单元208可以根据与当前块相关联的量化参数(QP)值来对变换系数块的变换系数进行量化。视频编码器200(例如,经由模式选择单元202)可以通过调整与CU相关联的QP值来调整应用于与当前块相关联的变换系数块的量化的程度。量化可以引入信息损失,并且因此,经量化的变换系数可以具有比由变换处理单元206产生的原始变换系数低的精度。
逆量化单元210和逆变换处理单元212可以分别对经量化的变换系数块应用逆量化和逆变换,以从变换系数块中重构残差块。重构单元214可以基于经重构的残差块和由模式选择单元202生成的预测块来产生与当前块相对应的经重构的块(尽管潜在地具有一定程度的失真)。例如,重构单元214可以将经重构的残差块的样本添加到来自由模式选择单元202生成的预测块的对应样本中,以产生经重构的块。
滤波单元216可以对经重构的块执行一个或多个滤波操作。例如,滤波单元216可以执行去块操作以减少沿着CU的边缘的块效应伪影。在一些示例中,可以跳过滤波单元216的操作。
视频编码器200将经重构的块存储在DPB 218中。例如,在不执行滤波单元216的操作的示例中,重构单元214可以将经重构的块存储到DPB 218。在执行滤波单元216的操作的示例中,滤波单元216可以将滤波后的经重构的块存储到DPB 218。运动估计单元222和运动补偿单元224可以从DPB 218中取得由经重构的(并且潜在地,滤波后的)块形成的参考图片,以对后续经编码的图片的块进行帧间预测。此外,帧内预测单元226可以使用当前图片的DPB 218中的经重构的块来对当前图片中的其它块进行帧内预测。
通常,熵编码单元220可以对从视频编码器200的其它功能组件接收的语法元素进行熵编码。例如,熵编码单元220可以对来自量化单元208的经量化的变换系数块进行熵编码。作为另一示例,熵编码单元220可以对来自模式选择单元202的预测语法元素(例如,用于帧间预测的运动信息或用于帧内预测的帧内模式信息)进行熵编码。熵编码单元220可以对作为视频数据的另一示例的语法元素执行一个或多个熵编码操作以生成经熵编码的数据。例如,熵编码单元220可以对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间划分熵(PIPE)译码操作、指数哥伦布(Exponential-Golomb)编码操作或另一种类型的熵编码操作。在一些示例中,熵编码单元220可以在旁路模式下操作,在该旁路模式中,不对语法元素进行熵编码。
视频编码器200可以输出比特流,该比特流包括重构切片或图片的块所需的经熵编码的语法元素。具体地,熵编码单元220可以输出比特流。
上述操作是关于块来描述的。此描述应当被理解为是针对亮度译码块和/或色度译码块的操作。如上所述,在一些示例中,亮度译码块和色度译码块是CU的亮度分量和色度分量。在一些示例中,亮度译码块和色度译码块是PU的亮度分量和色度分量。
在一些示例中,对于色度译码块,不需要重复关于亮度译码块执行的操作。作为一个示例,标识亮度译码块的运动矢量(MV)和参考图片的操作不需要被重复用于标识色度块的MV和参考图片。而是,亮度译码块的MV可以被缩放以确定色度块的MV,并且参考图片可以是相同的。作为另一示例,对于亮度译码块和色度译码块,帧内预测过程可以是相同的。
视频编码器200表示被配置为对视频数据进行编码的设备的示例,其包括:存储器,该存储器被配置为存储视频数据,以及一个或多个处理单元,该一个或多个处理单元以电路实现并被配置为:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,该MPM列表包括来自所推导的帧内模式列表的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。
图4是图示可以执行本公开的技术的示例视频解码器300的框图。图4是出于解释的目的提供的,并且不限于在本公开中宽泛例示和描述的技术。出于解释的目的,本公开描述了根据VVC(ITU-T H.266,正在开发中)和HEVC(ITU-T H.265)的技术的视频解码器300。然而,本公开的技术可以由被配置为其它视频译码标准的视频译码设备来执行。
在图4的示例中,视频解码器300包括经译码图片缓冲区(CPB)存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波单元312以及经解码图片缓冲区(DPB)314。CPB存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波单元312以及DPB 314中的任何一者或全部可以以一个或多个处理器或以处理电路实现。例如,视频解码器300的单元可以被实现为一个或多个电路或逻辑元件,作为硬件电路的一部分,或者作为处理器、ASIC或FPGA的一部分。此外,视频解码器300可以包括附加的或替代的处理器或处理电路,以执行这些和其他功能。
预测处理单元304包括运动补偿单元316和帧内预测单元318。预测处理单元304可以包括附加单元以根据其它预测模式来执行预测。作为示例,预测处理单元304可以包括调色板单元、块内复制单元(其可以形成运动补偿单元316的一部分)、仿射单元、线性模型(LM)单元等。在其他示例中,视频解码器300可以包括更多、更少或不同的功能组件。
CPB存储器320可以存储将由视频解码器300的组件解码的视频数据,诸如经编码的视频比特流。被存储在CPB存储器320中的视频数据可以是从例如计算机可读介质110(图1)获得的。CPB存储器320可以包括存储来自经编码视频比特流的经编码视频数据(例如,语法元素)的CPB。此外,CPB存储器320可以存储除经译码图片的语法元素之外的视频数据,诸如表示来自视频解码器300的各个单元的输出的临时数据。DPB 314通常存储经解码的图片,视频解码器300在对经编码视频比特流的后续数据或图片进行解码时可以输出该经解码的图片和/或将该经解码的图片用作参考视频数据。CPB存储器320和DPB 314可以由多种存储器设备中的任何一种形成,诸如DRAM,包括SDRAM、MRAM、RRAM或其他类型的存储器设备。CPB存储器320和DPB 314可以由相同的存储设备或分离的存储设备提供。在各种示例中,CPB存储器320可以与视频解码器300的其它组件在芯片上,或者相对于那些组件在芯片外。
附加地或替代地,在一些示例中,视频解码器300可以从存储器120(图1)中取得经译码的视频数据。也就是说,存储器120可以存储如上面关于CPB存储器320所论述的数据。同样地,当视频解码器300的功能性中的一些或全部以将由视频解码器300的处理电路执行的软件实现时,存储器120可以存储将由视频解码器300执行的指令。
图示了图4所示的各个单元以帮助理解由视频解码器300执行的操作。这些单元可以被实现为固定功能电路、可编程电路或其组合。类似于图3,固定功能电路指的是提供特定功能性并且被预置在可以被执行的操作上的电路。可编程电路指的是可以被编程以执行各种任务的电路,并且在可以被执行的操作中提供灵活的功能性。例如,可编程电路可以执行软件或固件,该软件或固件使可编程电路以由软件或固件的指令定义的方式进行操作。固定功能电路可以执行软件指令(例如,以接收参数或输出参数),但是固定功能电路执行的操作的类型通常是不可变的。在一些示例中,这些单元中的一个或多个可以是相异的电路块(固定功能或可编程的),并且在一些示例中,这些单元中的一个或多个可以是集成电路。
视频解码器300可以包括由可编程电路形成的ALU、EFU、数字电路、模拟电路和/或可编程核心。在视频解码器300的操作由在可编程电路上执行的软件执行的示例中,片上或片外存储器可以存储视频解码器300接收并执行的软件的指令(例如,目标代码)。
熵解码单元302可以从CPB接收经编码的视频数据并对视频数据进行熵解码,以再现语法元素。预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310以及滤波单元312可以基于从比特流中提取的语法元素来生成经解码的视频数据。
通常,视频解码器300在逐块基础上重构图片。视频解码器300可以单独地对每个块执行重构操作(其中当前正被重构的(即被解码的)块可以被称为“当前块”)。
熵解码单元302可以对定义经量化变换系数块的经量化变换系数的语法元素、以及变换信息(诸如量化参数(QP)和/或(一个或多个)变换模式指示)进行熵解码。逆量化单元306可以使用与经量化变换系数块相关联的QP来确定量化的程度,并且同样地,确定逆量化单元306要应用的逆量化的程度。逆量化单元306可以例如执行按位左移操作以对经量化变换系数进行逆量化。逆量化单元306可以由此形成包括变换系数的变换系数块。
在逆量化单元306形成变换系数块之后,逆变换处理单元308可以对变换系数块应用一个或多个逆变换,以生成与当前块相关联的残差块。例如,逆变换处理单元308可以对变换系数块应用逆DCT、逆整数变换、卡洛南-洛伊(Karhunen-Loeve)变换(KLT)、逆旋转变换、逆方向变换或另一逆变换。
此外,预测处理单元304根据由熵解码单元302熵解码的预测信息语法元素来生成预测块。例如,如果预测信息语法元素指示当前块是经帧间预测的,则运动补偿单元316可以生成预测块。在这种情况下,预测信息语法元素可以指示从中取得参考块的DPB 314中的参考图片、以及标识参考图片中的参考块相对于当前图片中的当前块的位置的位置的运动矢量。运动补偿单元316通常可以以基本上与关于运动补偿单元224(图3)描述的方式相类似的方式来执行帧间预测过程。
作为另一示例,如果预测信息语法元素指示当前块是经帧内预测的,则帧内预测单元318可以根据由预测信息语法元素指示的帧内预测模式来生成预测块。此外,帧内预测单元318通常可以以基本上与关于帧内预测单元226(图3)描述的方式相类似的方式来执行帧内预测过程。帧内预测单元318可以从DPB 314取得当前块的邻近样本的数据。
重构单元310可以使用预测块和残差块来重构当前块。例如,重构单元310可以将残差块的样本添加到预测块的对应样本以重构当前块。
滤波单元312可以对经重构的块执行一个或多个滤波操作。例如,滤波单元312可以执行去块操作以减少沿着经重构的块的边缘的块效应伪影。滤波单元312的操作不必在所有示例中执行。
视频解码器300可以将经重构的块存储在DPB 314中。例如,在不执行滤波单元312的操作的示例中,重构单元310可以将经重构的块存储到DPB 314。在执行滤波单元312的操作的示例中,滤波单元312可以将滤波后的经重构的块存储到DPB 314。如上所论述,DPB314可以向预测处理单元304提供参考信息,诸如用于帧内预测的当前图片的样本和用于后续运动补偿的先前经解码的图片的样本。此外,视频解码器300可以输出来自DPB 314的经解码的图片(例如,经解码的视频)以用于随后在显示设备(诸如图1的显示设备118)上呈现。
以这种方式,视频解码器300表示视频解码设备的示例,其包括:存储器,该存储器被配置为存储视频数据,以及一个或多个处理单元,该一个或多个处理单元以电路实现并被配置为:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,该MPM列表包括来自所推导的帧内模式列表的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。
图15是图示根据本公开的技术的用于对当前块进行编码的示例方法的流程图。当前块可以包括当前CU。尽管关于视频编码器200(图1和图3)进行了描述,但是应当理解,其他设备可以被配置为执行与图15的方法相类似的方法。
在该示例中,视频编码器200最初预测当前块(350)。例如,视频编码器200可以形成当前块的预测块。视频编码器200然后可以计算当前块的残差块(352)。为了计算残差块,视频编码器200可以计算原始的、未经编码块与当前块的预测块之间的差异。视频编码器200然后可以对残差块进行变换并对残差块的变换系数进行量化(354)。接下来,视频编码器200可以扫描残差块的经量化变换系数(356)。在扫描期间或在扫描之后,视频编码器200可以对变换系数进行熵编码(358)。例如,视频编码器200可以使用CAVLC或CABAC来对变换系数进行编码。视频编码器200然后可以输出块的经熵编码数据(360)。
图16是图示根据本公开的技术的用于对视频数据的当前块进行解码的示例方法的流程图。当前块可以包括当前CU。尽管关于视频解码器300(图1和图4)进行了描述,但是应当理解,其他设备可以被配置为执行与图16的方法相类似的方法。
视频解码器300可以接收当前块的经熵编码数据,诸如与当前块相对应的残差块的变换系数的经熵编码预测信息和经熵编码数据(370)。视频解码器300可以对经熵编码数据进行熵解码以确定当前块的预测信息并再现残差块的变换系数(372)。视频解码器300可以预测当前块(374),例如,使用如由当前块的预测信息所指示的帧内预测模式或帧间预测模式,以计算当前块的预测块。视频解码器300然后可以逆扫描再现的变换系数(376),以创建经量化变换系数的块。视频解码器300然后可以对变换系数进行逆量化并对变换系数应用逆变换以产生残差块(378)。视频解码器300可以最终通过将预测块与残差块组合来对当前块进行解码(380)。
图17是图示根据本公开的一个或多个技术的用于使用DIMD来对视频数据进行编码的示例技术的流程图。尽管关于视频编码器200(图1和图3)进行了描述,但是应当理解,其他设备可以被配置为执行与图17的方法相类似的方法。
视频编码器200可以对于视频数据的当前块使用邻近块的经重构样本来推导解码器侧帧内模式推导(DIMD)帧内模式的列表(1702)。例如,帧内预测单元226可以使用上面参考图7论述的技术来推导DIMD帧内模式,以获得第一DIMD帧内模式M1和第二DIMD帧内模式M2。
视频编码器200可以对于当前块构建最可能模式(MPM)列表,该MPM列表包括来自DIMD模式的至少一个帧内模式(1704)。例如,帧内预测单元226可以使用上面参考图11论述的技术来构建MPM列表。所构建的MPM列表可以包括第一DIMD帧内模式M1和第二DIMD帧内模式M2中的一者或两者。
视频编码器200可以确定是否使用DIMD来预测当前块(1706)。例如,模式选择单元202可以执行分析以确定当前块的最佳编码模式(例如,使用最少比特来表示当前块的译码模式)。为了确定最佳编码模式,模式选择单元202可以测试使用各种模式来对当前块进行编码。在模式选择单元202确定使用DIMD来对当前块进行编码是最佳的情况下,模式选择单元202可以确定使用DIMD对当前块进行编码。类似地,在模式选择单元202确定使用MPM列表中的推导的DIMD模式之一来对当前块进行编码的情况下,模式选择单元202可以确定不使用DIMD来对当前块进行编码。
视频编码器200可以对当前块是否被使用DIMD来预测的指示进行编码。例如,熵编码单元220可以对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行编码。作为一个示例,响应于确定不使用DIMD来预测当前块(1706的“否”分支),视频编码器200可以对具有指示当前块不被使用DIMD来预测的假(例如,0)值的DIMD标志进行编码(1708)。作为另一示例,响应于确定使用DIMD来预测当前块(1706的“是”分支),视频编码器200可以对具有指示当前块被使用DIMD来预测的真(例如,1)值的DIMD标志进行编码(1714)。
视频编码器200可以对指示来自MPM列表的选定帧内模式的一个或多个语法元素进行编码(1710)。例如,熵编码单元220可以对具有指示选定帧内模式的MPM列表中的索引的值的语法元素进行编码。
在一些示例中,如上所论述,视频编码器200可以包括重构循环,其中视频数据的块被重构以被用作预测后续块时的参考。作为一个示例,在当前块不被使用DIMD来预测的情况下,视频编码器200可以使用选定帧内模式来预测当前块(1712)。例如,帧内预测单元226可以使用由选定帧内模式指定的方向上的样本来生成预测块。作为另一示例,在当前块被使用DIMD来预测的情况下,视频编码器200可以使用DIMD来预测当前块(1716)。例如,帧内预测单元226可以使用上面参考图8描述的技术来预测当前块。
图18是图示根据本公开的一个或多个技术的用于使用DIMD来对视频数据进行解码的示例技术的流程图。尽管关于视频解码器300(图1和图4)进行了描述,但是应当理解,其他设备可以被配置为执行与图18的方法相类似的方法。
视频解码器300可以对于视频数据的当前块使用邻近块的经重构样本来推导解码器侧帧内模式推导(DIMD)帧内模式的列表(1802)。例如,帧内预测单元318可以使用上面参考图7论述的技术来推导DIMD帧内模式,以获得第一DIMD帧内模式M1和第二DIMD帧内模式M2。
视频解码器300可以对于当前块构建最可能模式(MPM)列表,该MPM列表包括来自DIMD模式的至少一个帧内模式(1804)。例如,帧内预测单元318可以使用上面参考图11论述的技术来构建MPM列表。所构建的MPM列表可以包括第一DIMD帧内模式M1和第二DIMD帧内模式M2中的一者或两者。
视频解码器300可以确定是否使用DIMD来预测当前块(1806)。例如,熵解码单元302可以对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行解码。基于DIMD标志的值,帧内预测单元318可以确定是否使用DIMD来预测当前块。作为一个示例,在标志的值为真(例如,1)的情况下,帧内预测单元318可以确定使用DIMD来预测当前块。作为另一示例,在标志的值为假(例如,0)的情况下,帧内预测单元318可以确定不使用DIMD来预测当前块。如上所指出,在一些示例中,视频解码器300可以在不管DIMD标志的值的情况下推导DIMD帧内模式列表。
在视频解码器300确定不使用DIMD来预测当前块(1806的“否”分支)的情况下,熵解码单元302可以对指示来自MPM列表的选定帧内模式(例如,指示MPM列表中的索引)的一个或多个语法元素进行解码(1808)。例如,熵解码单元302可以对指定选定帧内模式的MPM列表中的索引的intra_luma_mpm_idx语法元素进行解码。
视频解码器300可以使用从所构建的MPM列表中选择的候选来预测当前块(1810)。例如,帧内预测单元318可以使用来自MPM列表的选定帧内模式来生成当前块的预测块。重构单元310可以将预测块与残差块组合(例如,类似于图16的380)。
在视频解码器300确定使用DIMD来预测当前块(1806的“是”分支)的情况下,熵解码单元302可以使用DIMD来预测当前块(1812)。例如,帧内预测单元318可以使用上面参考图8描述的技术来预测当前块。
以下编号的条款可以说明本公开的一个或多个示例:
条款1A.一种对视频数据进行解码的方法,该方法包括:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,该MPM列表包括来自所推导的帧内模式列表中的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。
条款2A.根据条款1A的方法,其中,使用DIMD推导帧内模式列表包括:在不管DIMD标志的值的情况下使用DIMD来推导帧内模式列表。
条款3A.根据条款1A或条款2A的方法,其中,构建MPM列表包括:向MPM列表中插入来自使用DIMD推导的帧内模式列表的第一候选;以及基于使用DIMD推导的帧内模式列表的第二候选的强度之和来向MPM列表中选择性地插入第二候选。
条款4A.根据条款3A的方法,其中,构建MPM列表还包括:向MPM列表中并且在第一候选之后插入附加帧内模式候选。
条款5A.一种用于对视频数据进行译码的设备,该设备包括:用于执行根据条款1A至4A中任一个的方法的一个或多个部件。
条款6A.根据条款5A的设备,其中,一个或多个部件包括以电路实现的一个或多个处理器。
条款7A.根据条款5A和6A中任一个的设备,还包括:存储器,该存储器存储视频数据。
条款8A.根据条款5A至7A中任一个的设备,还包括:显示器,该显示器被配置为显示经解码的视频数据。
条款9A.根据条款5A至8A中任一个的设备,其中,该设备包括相机、计算机、移动设备、广播接收器设备或机顶盒中的一者或多者。
条款10A.一种具有存储在其上的指令的计算机可读存储介质,该指令在被执行时使一个或多个处理器执行根据条款1A至4A中任一个的方法。
条款1B.一种对视频数据进行解码的方法,该方法包括:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。
条款2B.根据条款1B的方法,还包括:对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行解码,其中,使用DIMD来推导帧内模式列表包括在不管DIMD标志的值的情况下使用DIMD来推导帧内模式列表。
条款3B.根据条款1B的方法,其中,向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式包括:向MPM列表中插入来自使用DIMD推导的帧内模式列表的第一候选;以及向MPM列表中选择性地插入来自使用DIMD推导的帧内模式列表的第二候选。
条款4B.根据条款3B的方法,其中,选择性地插入第二候选包括:基于来自使用DIMD推导的帧内模式列表的第二候选的强度之和来向MPM列表中选择性地插入第二候选。
条款5B.根据条款1B的方法,其中,构建MPM列表还包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入附加帧内模式候选。
条款6B.根据条款5B的方法,其中,插入附加帧内模式候选包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入一个或多个默认候选。
条款7B.根据条款5B的方法,其中,构建MPM列表还包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之前插入作为来自当前块的邻近块的预测模式的一个或多个帧内模式候选。
条款8B.一种对视频数据进行编码的方法,该方法包括:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;对于当前块并且从MPM列表中选择候选帧内模式;以及对于当前块对指定候选帧内模式的一个或多个语法元素进行编码。
条款9B.根据条款8B的方法,还包括:对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行编码,其中,使用DIMD来推导帧内模式列表包括在不管DIMD标志的值的情况下使用DIMD来推导帧内模式列表。
条款10B.根据条款8B的方法,其中,向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式包括:向MPM列表中插入来自使用DIMD推导的帧内模式列表的第一候选;以及向MPM列表中选择性地插入来自使用DIMD推导的帧内模式列表的第二候选。
条款11B.根据条款10B的方法,其中,选择性地插入第二候选包括:基于来自使用DIMD推导的帧内模式列表的第二候选的强度之和来向MPM列表中选择性地插入第二候选。
条款12B.根据条款8B的方法,其中,构建MPM列表还包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入附加帧内模式候选。
条款13B.根据条款12B的方法,其中,插入附加帧内模式候选包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入一个或多个默认候选。
条款14B.根据条款12B的方法,其中,构建MPM列表还包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之前插入作为来自当前块的邻近块的预测模式的一个或多个帧内模式候选。
条款15B.一种用于对视频数据进行解码的设备,该设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器以电路实现并被配置为:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。
条款16B.根据条款15B的设备,其中,一个或多个处理器还被配置为:对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行解码,其中,为了使用DIMD来推导帧内模式列表,一个或多个处理器被配置为在不管DIMD标志的值的情况下使用DIMD来推导帧内模式列表。
条款17B.根据条款15B的设备,其中,为了向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式,一个或多个处理器被配置为:向MPM列表中插入来自使用DIMD推导的帧内模式列表的第一候选;以及向MPM列表中选择性地插入来自使用DIMD推导的帧内模式列表的第二候选。
条款18B.根据条款17B的设备,其中,为了选择性地插入第二候选,一个或多个处理器被配置为:基于来自使用DIMD推导的帧内模式列表的第二候选的强度之和来向MPM列表中选择性地插入第二候选。
条款19B.根据条款15B的设备,其中,为了构建MPM列表,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入附加帧内模式候选。
条款20B.根据条款19B的设备,其中,为了插入附加帧内模式候选,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入一个或多个默认候选。
条款21B.根据条款19B的设备,其中,为了构建MPM列表,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之前插入作为来自当前块的邻近块的预测模式的一个或多个帧内模式候选。
条款22B.一种用于对视频数据进行编码的设备,该设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器以电路实现并被配置为:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;对于当前块并且从MPM列表中选择候选帧内模式;以及对于当前块对指定候选帧内模式的一个或多个语法元素进行编码。
条款23B.根据条款22B的设备,其中,一个或多个处理器还被配置为:对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行编码,其中,为了使用DIMD来推导帧内模式列表,一个或多个处理器被配置为在不管DIMD标志的值的情况下使用DIMD来推导帧内模式列表。
条款24B.根据条款22B的设备,其中,为了向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式,一个或多个处理器被配置为:向MPM列表中插入来自使用DIMD推导的帧内模式列表的第一候选;以及向MPM列表中选择性地插入来自使用DIMD推导的帧内模式列表的第二候选。
条款25B.根据条款24B的设备,其中,为了选择性地插入第二候选,一个或多个处理器被配置为:基于来自使用DIMD推导的帧内模式列表的第二候选的强度之和来向MPM列表中选择性地插入第二候选。
条款26B.根据条款22B的设备,其中,为了构建MPM列表,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入附加帧内模式候选。
条款27B.根据条款26B的设备,其中,为了插入附加帧内模式候选,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入一个或多个默认候选。
条款28B.根据条款26B的设备,其中,为了构建MPM列表,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之前插入作为来自当前块的邻近块的预测模式的一个或多个帧内模式候选。
条款1C.一种对视频数据进行解码的方法,该方法包括:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。
条款2C.根据条款1C的方法,还包括:对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行解码,其中,使用DIMD来推导帧内模式列表包括在不管DIMD标志的值的情况下使用DIMD来推导帧内模式列表。
条款3C.根据条款1C或2C的方法,其中,向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式包括:向MPM列表中插入来自使用DIMD推导的帧内模式列表的第一候选;以及向MPM列表中选择性地插入来自使用DIMD推导的帧内模式列表的第二候选。
条款4C.根据条款3C的方法,其中,选择性地插入第二候选包括:基于来自使用DIMD推导的帧内模式列表的第二候选的强度之和来向MPM列表中选择性地插入第二候选。
条款5C.根据条款1C至4C中任一个的方法,其中,构建MPM列表还包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入附加帧内模式候选。
条款6C.根据条款5C的方法,其中,插入附加帧内模式候选包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入一个或多个默认候选。
条款7C.根据条款5C或6C的方法,其中,构建MPM列表还包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之前插入作为来自当前块的邻近块的预测模式的一个或多个帧内模式候选。
条款8C.一种对视频数据进行编码的方法,该方法包括:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;对于当前块并且从MPM列表中选择候选帧内模式;以及对于当前块对指定候选帧内模式的一个或多个语法元素进行编码。
条款9C.根据条款8C的方法,还包括:对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行编码,其中,使用DIMD来推导帧内模式列表包括在不管DIMD标志的值的情况下使用DIMD来推导帧内模式列表。
条款10C.根据条款8C或9C的方法,其中,向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式包括:向MPM列表中插入来自使用DIMD推导的帧内模式列表的第一候选;以及向MPM列表中选择性地插入来自使用DIMD推导的帧内模式列表的第二候选。
条款11C.根据条款10C的方法,其中,选择性地插入第二候选包括:基于来自使用DIMD推导的帧内模式列表的第二候选的强度之和来向MPM列表中选择性地插入第二候选。
条款12C.根据条款8C至11C中任一个的方法,其中,构建MPM列表还包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入附加帧内模式候选。
条款13C.根据条款12C的方法,其中,插入附加帧内模式候选包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入一个或多个默认候选。
条款14C.根据条款12C或13C的方法,其中,构建MPM列表还包括:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之前插入作为来自当前块的邻近块的预测模式的一个或多个帧内模式候选。
条款15C.一种用于对视频数据进行解码的设备,该设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器以电路实现并被配置为:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;以及使用从所构建的MPM列表中选择的候选来预测当前块。
条款16C.根据条款15C的设备,其中,一个或多个处理器还被配置为:对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行解码,其中,为了使用DIMD来推导帧内模式列表,一个或多个处理器被配置为在不管DIMD标志的值的情况下使用DIMD来推导帧内模式列表。
条款17C.根据条款15C或16C的设备,其中,为了向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式,一个或多个处理器被配置为:向MPM列表中插入来自使用DIMD推导的帧内模式列表的第一候选;以及向MPM列表中选择性地插入来自使用DIMD推导的帧内模式列表的第二候选。
条款18C.根据条款17C的设备,其中,为了选择性地插入第二候选,一个或多个处理器被配置为:基于来自使用DIMD推导的帧内模式列表的第二候选的强度之和来向MPM列表中选择性地插入第二候选。
条款19C.根据条款15C至18C中任一个的设备,其中,为了构建MPM列表,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入附加帧内模式候选。
条款20C.根据条款19C的设备,其中,为了插入附加帧内模式候选,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入一个或多个默认候选。
条款21C.根据条款19C或20C的设备,其中,为了构建MPM列表,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之前插入作为来自当前块的邻近块的预测模式的一个或多个帧内模式候选。
条款22C.一种用于对视频数据进行编码的设备,该设备包括:存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器以电路实现并被配置为:对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;对于当前块构建最可能模式(MPM)列表,其中,构建MPM列表包括向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;对于当前块并且从MPM列表中选择候选帧内模式;以及对于当前块对指定候选帧内模式的一个或多个语法元素进行编码。
条款23C.根据条款22C的设备,其中,一个或多个处理器还被配置为:对于当前块对具有指示DIMD是否对于视频数据的当前块被启用的值的DIMD标志进行编码,其中,为了使用DIMD来推导帧内模式列表,一个或多个处理器被配置为在不管DIMD标志的值的情况下使用DIMD来推导帧内模式列表。
条款24C.根据条款22C或23C的设备,其中,为了向MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式,一个或多个处理器被配置为:向MPM列表中插入来自使用DIMD推导的帧内模式列表的第一候选;以及向MPM列表中选择性地插入来自使用DIMD推导的帧内模式列表的第二候选。
条款25C.根据条款24C的设备,其中,为了选择性地插入第二候选,一个或多个处理器被配置为:基于来自使用DIMD推导的帧内模式列表的第二候选的强度之和来向MPM列表中选择性地插入第二候选。
条款26C.根据条款22C至25C中任一个的设备,其中,为了构建MPM列表,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入附加帧内模式候选。
条款27C.根据条款26C的设备,其中,为了插入附加帧内模式候选,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之后插入一个或多个默认候选。
条款28C.根据条款26C或27C的设备,其中,为了构建MPM列表,一个或多个处理器被配置为:向MPM列表中并且在来自所推导的帧内模式列表的至少一个帧内模式之前插入作为来自当前块的邻近块的预测模式的一个或多个帧内模式候选。
条款1D.一种具有存储在其上的指令的计算机可读存储介质,该指令在被执行时使视频译码器的一个或多个处理器执行根据条款1C至7C中任一个的方法。
条款1E.一种具有存储在其上的指令的计算机可读存储介质,该指令在被执行时使视频译码器的一个或多个处理器执行根据条款8C至14C中任一个的方法。
将认识到,取决于示例,本文描述的技术中的任何一种的某些动作或事件可以以不同顺序来执行,可以被添加、合并或一起省略(例如,并非所有所描述的动作或事件对于技术的实践都是必要的)。此外,在某些示例中,动作或事件可以例如通过多线程处理、中断处理或多个处理器并发地被执行,而不是顺序地被执行。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合实现。如果以软件实现,这些功能可以作为一个或多个指令或代码被存储在或被发送到计算机可读介质上,并由基于硬件的处理单元执行。计算机可读介质可以包括:与诸如数据存储介质的有形介质相对应的计算机可读存储介质、或包括例如根据通信协议促进将计算机程序从一个地方传送到另一个地方的任何介质的通信介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质,或(2)诸如信号或载波的通信介质。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以取得用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
举例来说而非限制,此类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、闪速存储器或可以用于以指令或数据结构的形式存储期望的程序代码并可以由计算机访问的任何其他介质。此外,任何连接都被恰当地称作计算机可读介质。例如,如果指令是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或无线技术(诸如红外线、无线电和微波)从网站、服务器或其他远程源发送的,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外线、无线电和微波)都被包括在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂时性介质,而是指向非暂时性、有形的存储介质。如本文所使用的,盘和碟包括压缩碟(CD)、激光碟、光碟、数字多功能碟(DVD)、软盘和蓝光碟,其中盘通常磁性地再现数据,而碟用激光来光学地再现数据。上述的组合也应该被包括在计算机可读介质的范围内。
指令可以由一个或多个处理器执行,诸如一个或多个DSP、通用微处理器、ASIC、FPGA或其他等同的集成或分立逻辑电路。相应地,如本文所使用的术语“处理器”和“处理电路”可以指任何前述结构或者适合于实现本文描述的技术的任何其他结构。此外,在一些方面中,本文描述的功能性可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或者被结合在组合式编解码器中。此外,这些技术可以被完全实现在一个或多个电路或逻辑元件中。
本公开的技术可以被实现在多种设备或装置中,包括无线手持机、集成电路(IC)或IC组(例如,芯片组)。在本公开中描述了各种组件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定要求通过不同的硬件单元来实现。而是,如上所述,各种单元可以被组合在编解码器硬件单元中,或者由包括如上所述的一个或多个处理器的互操作硬件单元的集合联合合适的软件和/或固件来提供。
已经对各种示例进行了描述。这些和其他示例都在所附权利要求的范围内。

Claims (28)

1.一种对视频数据进行解码的方法,所述方法包括:
对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;
对于所述当前块构建最可能模式(MPM)列表,其中,构建所述MPM列表包括向所述MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;以及
使用从所构建的MPM列表中选择的候选来预测所述当前块。
2.根据权利要求1所述的方法,还包括:
对于所述当前块对具有指示DIMD是否对于视频数据的所述当前块被启用的值的DIMD标志进行解码,其中,使用DIMD来推导所述帧内模式列表包括在不管所述DIMD标志的值的情况下使用DIMD来推导所述帧内模式列表。
3.根据权利要求1所述的方法,其中,向所述MPM列表中插入来自所推导的帧内模式列表的所述至少一个帧内模式包括:
向所述MPM列表中插入来自使用DIMD推导的所述帧内模式列表的第一候选;以及
向所述MPM列表中选择性地插入来自使用DIMD推导的所述帧内模式列表的第二候选。
4.根据权利要求3所述的方法,其中,选择性地插入所述第二候选包括:基于来自使用DIMD推导的所述帧内模式列表的所述第二候选的强度之和来向所述MPM列表中选择性地插入所述第二候选。
5.根据权利要求1所述的方法,其中,构建所述MPM列表还包括:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之后插入附加帧内模式候选。
6.根据权利要求5所述的方法,其中,插入所述附加帧内模式候选包括:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之后插入一个或多个默认候选。
7.根据权利要求5所述的方法,其中,构建所述MPM列表还包括:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之前插入作为来自所述当前块的邻近块的预测模式的一个或多个帧内模式候选。
8.一种对视频数据进行编码的方法,所述方法包括:
对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;
对于所述当前块构建最可能模式(MPM)列表,其中,构建所述MPM列表包括向所述MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;
对于所述当前块并且从所述MPM列表中选择候选帧内模式;以及
对于所述当前块对指定所述候选帧内模式的一个或多个语法元素进行编码。
9.根据权利要求8所述的方法,还包括:
对于所述当前块对具有指示DIMD是否对于视频数据的所述当前块被启用的值的DIMD标志进行编码,其中,使用DIMD来推导所述帧内模式列表包括在不管所述DIMD标志的值的情况下使用DIMD来推导所述帧内模式列表。
10.根据权利要求8所述的方法,其中,向所述MPM列表中插入来自所推导的帧内模式列表的所述至少一个帧内模式包括:
向所述MPM列表中插入来自使用DIMD推导的所述帧内模式列表的第一候选;以及
向所述MPM列表中选择性地插入来自使用DIMD推导的所述帧内模式列表的第二候选。
11.根据权利要求10所述的方法,其中,选择性地插入所述第二候选包括:基于来自使用DIMD推导的所述帧内模式列表的所述第二候选的强度之和来向所述MPM列表中选择性地插入所述第二候选。
12.根据权利要求8所述的方法,其中,构建所述MPM列表还包括:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之后插入附加帧内模式候选。
13.根据权利要求12所述的方法,其中,插入所述附加帧内模式候选包括:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之后插入一个或多个默认候选。
14.根据权利要求12所述的方法,其中,构建所述MPM列表还包括:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之前插入作为来自所述当前块的邻近块的预测模式的一个或多个帧内模式候选。
15.一种用于对视频数据进行解码的设备,所述设备包括:
存储器,所述存储器被配置为存储视频数据;以及
一个或多个处理器,所述一个或多个处理器以电路实现并被配置为:
对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;
对于所述当前块构建最可能模式(MPM)列表,其中,构建所述MPM列表包括向所述MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;以及
使用从所构建的MPM列表中选择的候选来预测所述当前块。
16.根据权利要求15所述的设备,其中,所述一个或多个处理器还被配置为:
对于所述当前块对具有指示DIMD是否对于视频数据的所述当前块被启用的值的DIMD标志进行解码,其中,为了使用DIMD来推导所述帧内模式列表,所述一个或多个处理器被配置为在不管所述DIMD标志的值的情况下使用DIMD来推导所述帧内模式列表。
17.根据权利要求15所述的设备,其中,为了向所述MPM列表中插入来自所推导的帧内模式列表的所述至少一个帧内模式,所述一个或多个处理器被配置为:
向所述MPM列表中插入来自使用DIMD推导的所述帧内模式列表的第一候选;以及
向所述MPM列表中选择性地插入来自使用DIMD推导的所述帧内模式列表的第二候选。
18.根据权利要求17所述的设备,其中,为了选择性地插入所述第二候选,所述一个或多个处理器被配置为:基于来自使用DIMD推导的所述帧内模式列表的所述第二候选的强度之和来向所述MPM列表中选择性地插入所述第二候选。
19.根据权利要求15所述的设备,其中,为了构建所述MPM列表,所述一个或多个处理器被配置为:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之后插入附加帧内模式候选。
20.根据权利要求19所述的设备,其中,为了插入所述附加帧内模式候选,所述一个或多个处理器被配置为:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之后插入一个或多个默认候选。
21.根据权利要求19所述的设备,其中,为了构建所述MPM列表,所述一个或多个处理器被配置为:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之前插入作为来自所述当前块的邻近块的预测模式的一个或多个帧内模式候选。
22.一种用于对视频数据进行编码的设备,所述设备包括:
存储器,所述存储器被配置为存储视频数据;以及
一个或多个处理器,所述一个或多个处理器以电路实现并被配置为:
对于视频数据的当前块并且使用解码器侧帧内模式推导(DIMD)来使用邻近块的经重构样本推导帧内模式列表;
对于所述当前块构建最可能模式(MPM)列表,其中,构建所述MPM列表包括向所述MPM列表中插入来自所推导的帧内模式列表的至少一个帧内模式;
对于所述当前块并且从所述MPM列表中选择候选帧内模式;以及
对于所述当前块对指定所述候选帧内模式的一个或多个语法元素进行编码。
23.根据权利要求22所述的设备,其中,所述一个或多个处理器还被配置为:
对于所述当前块对具有指示DIMD是否对于视频数据的所述当前块被启用的值的DIMD标志进行编码,其中,为了使用DIMD来推导所述帧内模式列表,所述一个或多个处理器被配置为在不管所述DIMD标志的值的情况下使用DIMD来推导所述帧内模式列表。
24.根据权利要求22所述的设备,其中,为了向所述MPM列表中插入来自所推导的帧内模式列表的所述至少一个帧内模式,所述一个或多个处理器被配置为:
向所述MPM列表中插入来自使用DIMD推导的所述帧内模式列表的第一候选;以及
向所述MPM列表中选择性地插入来自使用DIMD推导的所述帧内模式列表的第二候选。
25.根据权利要求24所述的设备,其中,为了选择性地插入所述第二候选,所述一个或多个处理器被配置为:基于来自使用DIMD推导的所述帧内模式列表的所述第二候选的强度之和来向所述MPM列表中选择性地插入所述第二候选。
26.根据权利要求22所述的设备,其中,为了构建所述MPM列表,所述一个或多个处理器被配置为:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之后插入附加帧内模式候选。
27.根据权利要求26所述的设备,其中,为了插入所述附加帧内模式候选,所述一个或多个处理器被配置为:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之后插入一个或多个默认候选。
28.根据权利要求26所述的设备,其中,为了构建所述MPM列表,所述一个或多个处理器被配置为:
向所述MPM列表中并且在来自所推导的帧内模式列表的所述至少一个帧内模式之前插入作为来自所述当前块的邻近块的预测模式的一个或多个帧内模式候选。
CN202180084745.9A 2020-12-22 2021-11-12 视频译码中用于最可能模式列表构建的解码器侧帧内模式推导 Pending CN116636209A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/129,004 2020-12-22
US17/502,875 2021-10-15
US17/502,875 US11671589B2 (en) 2020-12-22 2021-10-15 Decoder side intra mode derivation for most probable mode list construction in video coding
PCT/US2021/072379 WO2022140718A1 (en) 2020-12-22 2021-11-12 Decoder side intra mode derivation for most probable mode list construction in video coding

Publications (1)

Publication Number Publication Date
CN116636209A true CN116636209A (zh) 2023-08-22

Family

ID=87603158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180084745.9A Pending CN116636209A (zh) 2020-12-22 2021-11-12 视频译码中用于最可能模式列表构建的解码器侧帧内模式推导

Country Status (1)

Country Link
CN (1) CN116636209A (zh)

Similar Documents

Publication Publication Date Title
CN111602395B (zh) 用于视频译码的量化组
US11671589B2 (en) Decoder side intra mode derivation for most probable mode list construction in video coding
CN113170162B (zh) 用于视频译码的共享候选列表和并行候选列表推导
WO2021133655A1 (en) Reference subpicture scaling ratios for subpictures in video coding
CN113545058A (zh) 用于变换跳过模式的系数译码
US11418793B2 (en) Adaptive affine motion vector coding
CN113632466A (zh) 视频数据的帧间-帧内预测模式
CN114868387B (zh) 在进行视频译码时对块的色度变换跳过和联合色度译码启用
WO2021041153A1 (en) Chroma quantization parameter (qp) derivation for video coding
US12069246B2 (en) Decoder side intra mode derivation for most probable mode list construction in video coding
CN115315947A (zh) 视频译码中的低频不可分离变换处理
CN116235498A (zh) 去块滤波器参数信令
TW202232954A (zh) 用於視訊譯碼的訊框內預測的最可能模式
CN116210222A (zh) 约束用于以不同比特深度对视频数据进行译码的自适应环路滤波的操作比特深度
EP4078976A1 (en) Coefficient group based restriction on multiple transform selection signaling in video coding
KR20220073755A (ko) 비디오 코딩을 위한 변환 스킵에서 잔차 값들을 위한 코딩 스킴 시그널링
CN114009045A (zh) 视频译码中的dc帧内模式预测
CN114080805B (zh) 用于视频译码的自适应环路滤波的非线性扩展
US20240348796A1 (en) Coding affine motion models for video coding
CN113748679B (zh) 用于视频编解码的帧内块复制合并数据语法
US20230336716A1 (en) Intra chroma mode list construction for video coding
US20230336713A1 (en) Methods for adaptive signaling of maximum number of merge candidates in multiple hypothesis prediction
US20240196006A1 (en) Minimum process grid for inter-prediction-related video coding processes
CN116636209A (zh) 视频译码中用于最可能模式列表构建的解码器侧帧内模式推导
US20200267415A1 (en) Chroma deblocking filter for intra block copy mode for video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40092094

Country of ref document: HK