视频压缩中的多线帧内预测的方法和装置

文档序号:958986 发布日期:2020-10-30 浏览:2次 >En<

阅读说明:本技术 视频压缩中的多线帧内预测的方法和装置 (Method and apparatus for multi-line intra prediction in video compression ) 是由 赵亮 赵欣 李翔 刘杉 于 2019-06-27 设计创作,主要内容包括:包括一种包括计算机代码的方法和装置,该计算机代码配置为使一个或多个硬件处理器在多个参考线中执行帧内预测,以针对距非零参考线中帧内预测的当前块最近的零参考线设置多个帧内预测模式,并且针对该多个非零参考线中的一个设置一种或多种最可能模式。(A method and apparatus are included that include computer code configured to cause one or more hardware processors to perform intra prediction in a plurality of reference lines, to set a plurality of intra prediction modes for a zero reference line that is closest to a current block that is intra predicted in a non-zero reference line, and to set one or more most probable modes for one of the plurality of non-zero reference lines.)

视频压缩中的多线帧内预测的方法和装置

交叉引用

本申请要求于2019年1月4日提交的题为“METHODS AND APPARATUS FOR MULTIPLELINE INTRA PREDICTION IN VIDEO COMPRESSION(视频压缩中的多线帧内预测的方法和装置)”的美国专利申请No.16/240,388(其为于2018年12月27日提交的美国专利申请No.16/234,324的接续申请,该美国专利申请No.16/234,324要求了于2018年7月5日提交的临时申请US 62/694,132的优先权)的优先权权益。因此,上述申请中的每一个均通过引用将其全部内容并入本申请中。

技术领域

本公开涉及除了HEVC之外的下一代视频编码技术,并且更具体地涉及例如对使用多个参考线的帧内预测方案的改进。

背景技术

视频编码标准HEVC(高效视频编码)主规范(main profile)已于2013年完成。不久之后,国际标准组织ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)开始探索开发未来视频编码标准的需求,与当前的HEVC标准(包括其当前扩展)相比,该未来视频编码标准具有显著提高压缩能力的潜力。在被称为联合视频探索组(Joint Video ExplorationTeam,JVET)的共同合作中,各小组正在共同开展这项探索活动以对该领域中的专家提出的压缩技术设计进行评估。JVET已经开发了一种联合探索模型(Joint Exploration Model,JEM)以探索HEVC无法提供的视频编码技术,并且JEM的当前最新版本是JEM-7.1。

ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)在2013年(第1版)、2014年(第2版)、2015年(第3版)和2016年(第4版)发布了H.265/HEVC(高效视频编码)标准。从那时起,他们一直在研究对未来视频编码技术的标准化的潜在需求,该未来视频编码技术的压缩能力显著超过HEVC标准(包括其扩展)的压缩能力。在2017年10月,他们发布了关于具有超过HEVC的能力的视频压缩的联合提案征集(CfP,Call for Proposals)。截至2018年2月15日,分别提交了关于标准动态范围(standard dynamic range,SDR)的22个CfP响应、关于高动态范围(high dynamic range,HDR)的12个CfP响应和关于360个视频类别的12个CfP响应。在2018年4月,所有接收到的CfP响应均在122MPEG/第10次JVET(联合视频探索组-联合视频专家组)会议上进行了评估。经过仔细评估,JVET正式启动了HEVC以外的下一代视频编码的标准化,即所谓的通用视频编码(Versatile Video Coding,VVC)。VVC测试模型(VVC Test Model,VTM)的当前版本是VTM 1。

即使多个线可用,本领域中仍存在各种技术问题。例如,存在发现第一参考线仍是最被选择的线的技术问题。但是,具有第一参考线的每个块始终需要向一个bin发信号,以指示当前块的线索引。

此外,多线帧内预测仅应用于亮度帧内预测。具有色度分量的多线帧内预测的潜在编码增益未被利用。

此外,具有不同线索引的参考样本可能具有不同的特性,因此对于不同的参考线设置相同数量的帧内预测模式并不是最佳选择。

此外,对于多线帧内预测,已经存储和访问了多个相邻线的像素。但是,没有利用相邻线中的像素来平滑当前线中的像素。

此外,对于多线帧内预测,编码器选择一个参考线来预测当前块中的像素值。但是,没有利用相邻像素的变化趋势来预测当前块中的样本。

此外,对于多线帧内预测,当数目>1时,不存在平面或DC模式。尚未完全利用其他版本的DC或平面模式的探索。

此外,多线参考像素被应用于帧内预测。但是,存在其他地方也使用参考像素,但是没有利用多线参考像素的编码增益。

因此,需要一种技术解决方案来解决这些问题。

发明内容

包括一种方法和装置,该装置包括配置为存储计算机程序代码的存储器,和配置为访问计算机程序代码并按照该计算机程序代码的指示进行操作的一个或多个硬件处理器。该计算机程序包括帧内预测代码、帧内预测模式代码和最可能模式代码。该帧内预测代码配置为使处理器通过执行在视频序列的多个参考线中包含的帧内预测来对视频序列进行编码或解码。该帧内预测模式代码配置为使处理器针对距多个非零参考线中帧内预测的当前块最近的第一参考线(零参考线),设置帧内预测模式。该最可能模式代码配置为使处理器针对多个非零参考线中的第二参考线设置一种或多种最可能模式。

根据示例性实施例,该程序代码还包括信令代码。该信令代码配置为使处理器在以信号发送最可能模式标记和帧内模式之前,以信号发送参考线索引,响应于确定参考线索引被以信号发送并且被以信号发送的索引指示零参考线,以信号发送最可能模式标记,并且响应于确定参考线索引被以信号发送并且被以信号发送的索引指示多个非零参考线中的至少一个,在不以信号发送最可能模式标记的情况下,将最可能模式标记推导为真,并且以信号发送当前块的最可能模式索引。

根据示例性实施例,该最可能模式代码还配置为使处理器将一种或多种最可能模式包括在最可能模式列表中,并且将平面模式和DC模式排除在最可能模式列表之外。

根据示例性实施例,该最可能模式代码还配置为使处理器基于参考线索引值来设置最可能模式列表的长度,使得最可能模式列表的长度包括一种或多种最可能模式的数量。

根据示例性实施例,该最可能模式代码还配置为使处理器响应于检测到非零参考线,将最可能模式列表的长度设置为1或4,响应于确定当前参考线是零参考线,将最可能模式列表的长度设置为3或6。

根据示例性实施例,该最可能模式代码还配置为使处理器响应于检测到非零参考线,将最可能模式列表的长度设置为包括5种最可能模式。

根据示例性实施例,其中,多个非零参考线中的一个与当前块相邻,并且比零参考线距离当前块更远。

根据示例性实施例,一种或多种最可能模式包括从最低级别的最可能模式到最高级别的最可能模式中的任何级别的最可能模式。

根据示例性实施例,一种或多种最可能模式仅包括非零参考线允许的最可能模式的级别。

附图说明

根据以下

具体实施方式

和附图,所公开的主题的进一步特征、性质以及各种优点将会更加明显,在附图中:

图1-图8是根据实施例的示意性图示。

图9-图14是根据实施例的简化流程图。

图15是根据实施例的示意性图示。

图16-图25是根据实施例的简化流程图。

图26是根据实施例的示意性图示。

具体实施方式

下面讨论的已提出特征可以单独使用,也可以以任何顺序组合使用。此外,实施例可以通过处理电路(例如,一个或多个处理器,或一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。在本公开中,最可能模式(most probable mode,MPM)可以指初级MPM、次级MPM、或者初级MPM和次级MPM两者。

图1是根据本公开的实施例的通信系统100的简化框图。通信系统100可以包括经由网络105互连的至少两个终端102和103。对于数据的单向传输,第一终端103可以在本地位置对视频数据进行编码,以通过网络105传输到另一终端102。第二终端102可以从网络105接收另一终端的已编码视频数据,对该已编码数据进行解码,并显示恢复的视频数据。单向数据传输在媒体服务应用等中可能是常见的。

图1示出了被提供用于支持已编码视频的双向传输的第二对终端101和104,该双向传输可以在例如视频会议期间发生。对于数据的双向传输,每个终端101和终端104可以对在本地位置捕获的视频数据进行编码,以经由网络105传输到另一终端。每个终端101和终端104还可以接收由另一终端传输的已编码视频数据,可以对已编码数据进行解码,并且可以在本地显示装置上显示恢复的视频数据。

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

作为所公开主题的应用的示例,图2示出了视频编码器和解码器在流式传输环境中的放置。所公开的主题可以同等地适用于其他支持视频的应用,包括例如视频会议、数字电视、在包括CD、DVD、内存条等的数字介质上存储压缩视频,等等。

流式传输系统可以包括采集子系统203,该采集子系统203可以包括视频源201(例如数字相机),该视频源创建例如未压缩的视频样本流213。相较于已编码的视频码流,被描绘为粗线以强调高数据量的样本流213可以由耦合至照相机201的编码器202来处理。编码器202可以包括硬件、软件或软硬件组合,以实现或实施如下文更详细地描述的所公开主题的各方面。相较于样本流,被描绘为细线以强调较低数据量的已编码视频码流204可以存储在流式传输服务器205上以供将来使用。一个或多个流式传输客户端212和207可以访问流式传输服务器205以检索已编码视频码流204的副本208和副本206。客户端212可以包括视频解码器211,该视频解码器211对已编码视频码流的输入副本208进行解码,并创建可以在显示器209或其他呈现装置(未描绘)上呈现的输出视频样本流210。在一些流式传输系统中,可以根据某些视频编码/压缩标准来对视频码流204、206和208进行编码。这些标准的示例已在上文注明,并在此处进一步描述。

图3可以是根据本发明实施例的视频解码器300的功能框图。

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

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

解析器304可以对从缓冲存储器303接收的视频序列执行熵解码/解析操作,从而创建符号313。解析器304可以接收已编码数据,并且选择性地解码特定符号313。此外,解析器304可以确定是否将特定符号313提供给运动补偿预测单元306、缩放器/逆变换单元305、帧内预测单元307或环路滤波器311。

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

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

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

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

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

聚集器310的输出样本可以在环路滤波器单元311中被各种环路滤波技术采用。视频压缩技术可以包括环路内滤波技术,该环路内滤波技术由包括在已编码视频码流中的参数控制,并且该参数可以作为来自解析器304的符号313而用于环路滤波单元311。但是,视频压缩技术也可以响应于在对已编码图片或已编码视频序列的先前(按解码顺序)部分进行解码期间获得的元信息,以及响应于先前重建且环路滤波的样本值。

环路滤波器单元311的输出可以是样本流,该样本流可以被输出到呈现装置312,并且可以被存储在参考图片存储器557中,以用于后续的图片间预测。

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

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

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

图4可以是根据本公开的实施例的视频编码器400的功能框图。

编码器400可以从视频源401(并非编码器的一部分)接收视频样本,视频源401可以采集将由编码器400编码的一个(多个)视频图像。

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

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

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

“本地”解码器406的操作可以与已在上文结合图3详细描述的“远程”解码器300的操作相同。还简要地参考图4,当符号可用且熵编码器408和解析器304能够无损地将符号编码/解码为已编码视频序列时,包括信道301、接收器302、缓冲器303和解析器304在内的部分可能无法完全在本地解码器406中实施。

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

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

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

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

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

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

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

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

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

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

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

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

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

在一个实施例中,发射器409可以连同已编码视频一起传输附加数据。视频编码器403可以将此类数据作为已编码视频序列的一部分。附加数据可以包括时间/空间/SNR增强层、诸如冗余图片和切片之类的其它形式的冗余数据、SEI消息、VUI参数集片段等。

图5示出了在HEVC和JEM中使用的帧内预测模式。为了获得自然视频中呈现的任意边缘方向,定向帧内模式的数量从HEVC中使用的33个扩展到65个。HEVC顶部的JEM中的附加定向模式在图1(b)中以虚线箭头描绘,并且平面模式和DC模式保持不变。这些较密集的定向帧内预测模式适用于所有块大小,以及适用于亮度帧内预测和色度帧内预测。如图5所示,将由虚线箭头标识的与奇数帧内预测模式索引相关联的定向帧内预测模式称为奇数帧内预测模式。将由实心箭头标识的与偶数帧内预测模式索引相关联的定向帧内预测模式被称为偶数帧内预测模式。在本文中,如图5中的实线箭头或虚线箭头所示的定向帧内预测模式也称为角模式(angular mode)。

在JEM中,总共67种帧内预测模式用于亮度帧内预测。为了对帧内模式进行编码,基于相邻块的帧内模式建立大小为6的MPM列表。如果帧内模式不是来自MPM列表,则以信号发送标记,以指示帧内模式是否属于所选模式。在JEM-3.0中,有16种选择的模式,被统一选择作为每第四个角模式。在JVET-D0114和JVET-G0060中,派生了16个辅助MPM来替换统一选择的模式。

图6示出了帧内定向模式中利用的N个参考层。存在块单元611、片段A 601、片段B602、片段C 603、片段D 604、片段E 605、片段F 606、第一参考层610、第二参考层209、第三参考层608和第四参考层607。

在HEVC和JEM以及一些其他标准(例如H.264/AVC)中,用于预测当前块的参考样本被限制于最近的参考线(行或列)。在多参考线帧内预测的方法中,对于帧内定向模式,候选参考线(行或列)的数量从1(即最近)增加到N,其中N是大于或等于1的整数。图2以4×4预测单元(PU)作为示例,示出了多线帧内定向预测方法的概念。帧内定向模式可以任意选择N个参考层中的一个来生成预测器。换句话说,从参考样本S1、S2、......和SN中的一个生成预测器p(x,y)。以信号发送标记为指示为帧内定向模式选择了哪个参考层。如果将N设置为1,则帧内定向预测方法与JEM 2.0中的传统方法相同。在图6中,参考线610、609、608和607由六个片段601、602、603、604、605和606以及左上方参考样本组成。在本文中,参考层也称为参考线。当前块单位内的左上像素的坐标为(0,0),以及第一参考线中的左上像素的坐标为(-1,-1)。

在JEM中,对于亮度分量,在生成过程之前对用于帧内预测样本生成的相邻样本进行过滤。该过滤由给定的帧内预测模式和变换块大小控制。如果帧内预测模式为DC或变换块大小等于4×4,则不对相邻样本进行过滤。如果给定的帧内预测模式和垂直模式(或水平模式)之间的距离大于预定义阈值,则启用过滤处理。对于相邻样本过滤,使用[1,2,1]滤波器和双线性滤波器。

位置相关的帧内预测组合(PDPC)方法是一种调用未过滤边界参考样本和具有经过滤边界参考样本的HEVC类型帧内预测的组合的帧内预测方法。位于(x,y)的每个预测样本pred[x][y]的计算如下:

pred[x][y]=(wL*R-1,y+wT*Rx,-1+wTL*R-1,-1+(64-wL-wT-wTL)*pred[x][y]+32)>>6

(等式2-1)

其中Rx,-1,R-1,y分别代表位于当前样本(x,y)的顶部和左侧的未过滤参考样本,以及R-1,-1代表位于当前块的左上角的未过滤参考样本。权重的计算如下:

wT=32>>((y<<1)>>shift) (等式2-2)

wL=32>>((x<<1)>>shift) (等式2-3)

wTL=-(wL>>4)-(wT>>4) (等式2-4)

shift=(log2(width)+log2(height)+2)>>2 (等式2-5)

图7示出了一个4×4块内的(0,0)和(1,0)位置的权重(wL,wT,wTL)的图700。

图8示出了使用缩放因子a和偏移b的局部亮度补偿(LIC)图800,并且图8是基于针对亮度变化的线性模型。以及针对每个帧间模式已编码的编码单元(CU)自适应地启用或禁用局部亮度补偿。

当LIC应用于CU时,采用最小二乘误差法,通过使用当前CU的相邻样本及其对应的参考样本,推导出参数a和b。更具体地,如图8所示,使用了CU的子采样(2:1子采样)的相邻样本和参考图片中的对应样本(由当前CU或子CU的运动信息来识别)。IC参数被推导出并分别应用于每个预测方向。

当用合并模式对CU进行编码时,LIC标记是以与合并模式中的运动信息复制类似的方式从相邻块中复制的;否则,LIC标记被以信号发送至CU,以指示是否应用LIC。

图9示出了根据示例性实施例的流程图900。

在框S901处,对于多线帧内预测,可以针对每个块自适应地选择参考层的数量,而不是针对所有块设置相同数量的参考层。这里,最近的参考线的索引表示为1。

在框S902处,可以使用上方/左侧的块的块大小来确定当前块的参考层的数量。例如,如果上方和/或左侧的块的大小大于M×N,则当前块的参考层的数量限制为L。M和N可以是4、8、16、32、64、128、256和512。L可以是1~8。

在一个实施例中,当M和/或N等于或大于64时,L设置为1。

在另一实施例中,上方候选参考线的数量和左侧候选参考列的数量的比率与块宽度和块高度的比率相同。例如,如果当前块的大小为MxN,上方参考线的候选数为m,左侧参考列的候选数为n,则M:N=m:n。

可替代地,在框S903处,可以使用左侧和上方的块的最后系数的位置来确定当前块的参考层的数量。例如,如果对于上方和/或左侧的块,最后系数的位置在第一M×N区域内,则当前块的参考层的数量限制为L(例如,L可以是1~8),M和N可以是1~1024。

在一个实施例中,当在上方和/或左侧的块中没有系数时,当前块的参考层的数量限制为1。

在另一实施例中,当上方和/或左侧的块中的系数在2×2左上区域内时,当前块的参考层的数量限制为1~2。

可替代地,在框S904处,可以使用上方和/或左侧的块中的参考样本的像素值来确定当前块的参考层的数量。例如,如果索引为Li的参考线与索引为Lj(Li<Lj)的参考线之间的差异很小,则将从参考线列表中删除参考线Lj。Li和Lj可以是1~8。在一些情况下,由于所有参考线之间的差异很小,数目大于1的参考线都将被删除。测量两条参考线之间的差异的方法包括但不限于梯度、SATD、SAD、MSE、SNR和PSNR。

在一个实施例中,如果Li和Lj的平均SAD小于2,则从参考线列表中删除参考线Lj

可替代地,在框S905处,可以使用上方和/或左侧的模式信息的预测模式来确定当前块的参考层的数量。

在一个实施例中,如果上方和/或左侧的块的预测模式是跳过模式,则当前块的参考层的数量限制为L。L可以是1~8。

图10示出了根据示例性实施例的流程图1000。

在框S1001处,针对分离的树或相同的树,均可以根据亮度推导出色度的参考线索引。这里,最近的参考线的索引表示为1。

在框S1002处,对于相同的树,如果位于同一位置的亮度块的参考线索引≥3,则将当前色度块的参考线索引设置为2。否则,将当前色度块的参考线索引设置为1。

在框S1003处,对于分离的树,如果色度块仅覆盖亮度分量中的一个块,则参考线索引的推导算法与2.a相同。如果色度块覆盖了亮度分量中的多个块,则参考线索引的推导算法可以是以下之一:

对于亮度分量中位于同一位置的块,如果这些块中的大多数块的参考线索引小于3,则推导出当前色度块的参考线索引为1。否则,推导出当前色度块的参考线索引为2。测量大多数的方法可以包括但不限于块的区域大小和块的数量。

或者,对于亮度分量中位于同一位置的块,如果一个块的参考线索引等于或大于3,则推导出当前色度块的参考线索引为2。否则,推导出当前色度块的参考线索引为1。

可替代地,对于亮度分量中位于同一位置的块,如果这些块中的大多数块的参考线索引小于3,则推导出当前色度块的参考线索引为1。否则,推导出当前色度块的参考线索引为2。

可替代地,在框S1004处,考虑是否使用自适应选择,以及如果使用自适应选择,则图9中的方法也可以用于限制当前色度块的参考层的数量。在应用图9的方法之后,将参考层的数量设置为LC1。然后,还应用图10中的S1002和S1003中的或者S1005和S1006所示的推导算法,以获得用于当前块LC2的线索引。然后,min(LC1,LC2)是当前色度块的最终参考线索引。

图11示出了根据示例性实施例的流程图1100。

在框S1101处,考虑不同的参考线具有不同数量的帧内预测模式。这里,最近的参考线的索引表示为1。

例如,第一参考线具有67个模式,第二参考线具有35个模式,第三参考线具有17个模式,第四参考线具有9个模式。

例如,第一参考线具有67个模式,第二参考线具有33个模式,第三参考线具有17个模式,第四参考线具有9个模式。

可替代地,在框S1102处,索引大于1的参考线共享相同的帧内模式数量,但是比第一参考线的模式数量少得多,例如等于或小于第一参考线的帧内预测模式的一半。

在框S1103处,例如,对于索引大于1的参考线,仅允许具有偶数模式索引的定向帧内预测模式。如图5中所示,具有奇数模式索引的定向帧内预测模式用虚线箭头标记,而具有偶数模式索引的定向帧内预测模式用实线箭头标记。

在框S1104处,在另一示例中,对于索引大于1的参考线,仅允许具有偶数模式索引的定向帧内预测模式以及DC和平面模式。

在框S1105中,在另一示例中,非零参考线仅允许最可能模式(MPM),该MPM包括第一级MPM和第二级MPM。

在框S1106处,在另一示例中,由于仅对偶数(或奇数模式)帧内预测模式启用大于1的参考线索引,因此在对帧内预测模式进行编码时,如果大于1的参考线索引被以信号发送,则帧内预测模式(例如,平面/DC帧内预测模式,和奇数(或偶数)帧内预测模式)从MPM推导和列表中排除、从第二级MPM推导和列表中排除以及从其余的非MPM模式列表中排除。

在框S1107处,在以信号发送帧内预测模式之后,以信号发送参考线索引,并且是否以信号发送参考线索引取决于已以信号发送的帧内预测模式。

例如,对于索引大于1的参考线,仅允许具有偶数模式索引的定向帧内预测模式。如果已以信号发送的帧内预测模式是具有偶数模式索引的定向预测,则以信号发送所选择的参考线索引。否则,仅允许一条默认参考线(例如最近的参考线)进行帧内预测,并且不以信号发送索引。

在另一示例中,对于索引大于1的参考线,仅允许最可能模式(MPM)。如果已以信号发送的帧内预测来自MPM,则需要以信号发送所选择的参考线索引。否则,仅允许一条默认参考线(例如最近的参考线)进行帧内预测,并且不以信号发送索引。

在另一子实施例中,对于所有定向帧内预测模式或所有帧内预测模式,仍然启用索引大于1的参考线,并且可以将帧内预测模式索引用作对参考线索引进行熵编码的环境。

在另一实施例中,对于索引大于1的参考线,仅允许采用最可能模式(MPM)。在一种方法中,对于索引大于1的参考线,允许所有MPM可用。在另一方法中,对于索引大于1的多个参考线,允许采用MPM的一个子集。当将MPM分为多个级别时,在一种方法中,对于索引大于1的参考线,仅允许采用某些级别的MPM。在一个示例中,对于索引大于1的参考线,仅允许采用最低级别MPM。在另一示例中,对于索引大于1的参考线,仅允许采用最高级别MPM。在另一示例中,对于索引大于1的参考线,仅允许采用预定义(或以信号发送的、指示的)级别MPM。

在另一实施例中,对于索引大于1的参考线,仅允许采用非MPM。在一种方法中,对于索引大于1的参考线,允许采用所有非MPM。在另一方法中,对于索引大于1的多个参考线,允许采用非MPM的子集。在一个示例中,对于具有大于1的索引的参考线,仅允许采用与以所有非MPM帧内模式索引的降序(或升序)的偶数(或奇数)索引相关联的非MPM。

在另一实施例中,平面和DC模式被分配有MPM模式列表的预定义索引。

在一个示例中,预定义索引还取决于编码信息,该编码信息包括但不限于块宽度和高度。

在另一子实施例中,用于索引大于1的参考线,允许具有给定索引的MPM。给定的MPM索引可以通过信号发送或指定为高级语法元素,例如在序列参数集(sequenceparameter set,SPS)、图片参数集(picture parameter set,PPS)、切片标头中,或者作为公共语法元素或参数用于图片的区域。仅当当前块的帧内模式等于给定的MPM索引中的一个时,才以信号发送参考线索引。

例如,MPM列表的长度为6,以及MPM列表的索引为0、1、2、3、4和5。如果当前块的帧内模式不等于MPM索引为0和5的模式,则允许索引大于1的参考线。

在框S1108处,在一个实施例中,所有帧内预测模式被允许用于当前块的最近参考线,而仅最可能模式被允许用于索引大于1(或特定索引值,例如1)的参考线。

在框S1109处,在一个实施例中,最可能模式仅包括第一级MPM,例如HEVC中的3MPM、JEM(或VTM)中的6MPM。

在框S1110处,在另一实施例中,最可能模式可以是从最低级别的MPM到最高级别的MPM中的任何级别的MPM。

在框S1111处,在另一实施例中,对于索引大于1的参考线,仅允许某些级别的MPM。

在框S1112处,在另一实施例中,最可能模式可以仅为一个级别的MPM,例如最低级别的MPM、最高级别的MPM或预定义级别的MPM。

在框S1113处,在另一实施例中,在MPM标识和帧内模式之前以信号发送参考线索引。当已以信号发送的参考线索引为1时,还以信号发送MPM标识。当已以信号发送的参考线索引大于1时,不以信号发送当前块的MPM标识,并且推导出当前块的MPM标识为1。对于索引大于1的参考线,仍以信号发送当前块的MPM索引。

在框S1114处,在一个实施例中,MPM列表生成过程取决于参考线索引值。

在一个示例中,索引大于1的参考线的MPM列表生成过程与索引等于1的参考线的MPM列表生成过程不同。对于索引大于1的参考线,平面模式和DC模式从MPM列表中排除。对于所有参考线,MPM列表的长度均相同。

MPM列表生成过程中使用的默认MPM取决于参考线索引。在一个示例中,与索引大于1的参考线相关联的默认MPM不同于与索引等于1的参考线相关联的默认MPM。

在框S1115处,在一个实施例中,MPM列表(即多个MPM)的长度取决于参考线索引值。

在另一实施例中,将参考线索引值为1的和参考线索引值大于1的MPM列表的长度设置为不同。例如,索引大于1的参考线的MPM列表的长度比参考线索引为1的MPM列表的长度短1或2。

在另一实施例中,对于大于1的参考线索引,MPM列表的长度(即MPM的数量)为5。当应用65个角模式时,MPM列表生成过程的默认MPM为{VER,HOR,2,66,34}。默认MPM的顺序可以是这5种列出的模式的任意组合。

在框S1116处,对于已经(未以信号发送)得到参考线索引的角度帧内预测模式(例如,奇数定向帧内预测模式,和/或平面(Planar)/DC模式),可以使用多线参考样本来生成当前块的预测器。

对于已经(未以信号发送)得到参考线索引的角度帧内预测模式,使用多个预测器的加权和来生成预测样本值,其中,多个预测器中的每个是使用多个参考线中的一个生成的预测器。

在一个示例中,加权和使用应用于分别由第一参考线和第二参考线生成的预测器的{3,1}权重。

在另一示例中,权重取决于块大小、块宽度、块高度、待预测的当前块内的样本位置和/或帧内预测模式。

在一个示例中,对于具有奇数索引的给定角度预测模式,第一参考线用于生成一个预测块单元Pred1,以及第二参考线用于生成另一预测块单元。然后,当前块单位中每个像素的最终预测值是这两个生成的预测块单位的加权和。该过程可以由等式(4-1)来表示,其中,对于同一块中的所有像素,Wi的值相同。对于不同的块,Wi可以是相同的(与帧内预测模式和块大小无关),或者可以取决于帧内预测模式和块大小。

可替代地,在框S1117处,通过该参考线中的参考样本之间的差异来推导出每个参考线的帧内预测模式的数量。测量差异的方法包括但不限于梯度、SATD、SAD、MSE、SNR和PSNR。

如果参考样本的上方的行和左侧的列非常相似,则模式的数量可以减少到4、9、17或35个模式。这4种模式是平面模式、DC模式、垂直模式和水平模式。

如果仅参考样本的上方的行非常相似,则将垂直状预测模式中的模式下采样。在特殊情况下,仅保留模式50,并排除模式35~模式49和模式51~模式66。为了使全部帧内预测模式为9、17或35,水平状方向上的帧内预测模式相应地减少。

否则,如果仅参考样本的左侧的列非常相似,则将水平状方向上的模式下采样。在特殊情况下,仅保留模式18,并排除模式2~模式17和模式19~模式33。为了使全部帧内预测模式为9、17或35,垂直状方向上的帧内预测模式相应地减少。

图12示出了根据示例性实施例的流程图1200。

在框S1201处,基于当前线中的相邻样本及其当前线的一个(或多个)相邻参考线来平滑当前参考线中的每个样本。这里,最近的参考线的索引表示为1。

在框S1202处,对于当前线中的每个像素,可以使用参考线1~L中的所有像素来平滑当前线中的像素。L是用于帧内预测的最大允许参考线数,L可以是1~8。

在框S1203处,对于边界像素,它们可以被过滤或不被过滤。如果对边界像素进行过滤,则同一参考线中的每个边界像素使用相同的过滤器。不同参考线中的边界像素可以使用不同的过滤器。例如,可以通过[3,2,2,1]过滤器对第一参考线中的边界像素进行过滤,可以通过[2,3,2,1]过滤器对第二参考线中的边界像素进行过滤,可以通过[1,2,3,2]滤波器对第三参考线中的边界像素进行过滤,并且可以通过[1,2,2,3]滤波器对第四参考线中的边界像素进行过滤。

在框S1204处,对于其他像素,每个参考线中的像素可以使用相同的过滤器,而不同参考线中的像素可以使用不同的过滤器。可替代地,对于其他像素,不同位置的像素可以使用不同的过滤器。但是这些滤波器是预定义的,并且编码器不需要以信号发送过滤器的索引。

在框S1205处,可替代地,每个参考线的过滤操作可以是帧内预测模式,并且取决于变换大小。仅当帧内预测模式和变换大小满足特定条件时才启用过滤操作。例如,当变换大小等于4x4或更小时,禁用过滤操作。

在框S1206处,可替代地,除了矩形形状之外,用于平滑每个像素的过滤器可以具有不规则的过滤支承形状。过滤支承形状可以是预定义的,并且可以取决于编码器和解码器均可用的任何信息,该信息包括但不限于:参考线索引、帧内模式、块高度和/或宽度。

可替代地,在框S1207处,对于第一参考线中的每个像素,可以使用第一参考线和第二参考线中的像素来平滑该像素。对于第二参考线中的每个像素,可以使用第一参考线、第二参考线和第三参考线中的像素来平滑该像素。对于第三参考线中的每个像素,可以使用第二参考线、第三参考线和第四参考线中的像素来平滑该像素。对于第四参考线中的每个像素,可以使用第三参考线和第四参考线中的像素来平滑该像素。换句话说,对于第一参考线和第四参考线中的像素,使用两个参考线中的像素对每个像素进行过滤,对于第二参考线和第三参考线中的像素,使用三个参考线中的像素对每个像素进行过滤。

例如,可以根据等式4-2至等式4-5计算第二参考线和第三参考线中的过滤像素。

p′(x,y)=(p(x-1,y)+p(x,y-1)+p(x,y+1)+p(x+1,y)+4*p(x,y))>>3

(等式4-2)

p′(x,y)=(p(x,y+1)-p(x,y-1)+p(x,y)) (等式4-3)

p′(x,y)=(p(x-1,y)+p(x-1,y-1)+p(x-1,y+1)+p(x,y-1)+p(x,y+1)+p(x+1,y-1)+p(x+1,y)+p(x+1,y+1)+8*p(x,y))>>4

(等式4-4)

Figure BDA0002685390280000231

可以根据等式4-6至等式4-10计算第一参考线中的过滤像素。

p′(x,y)=(p(x-1,y)+p(x,y-1)+p(x+1,y)+5*p(x,y))>>3

(等式4-6)

p′(x,y)=(p(x-1,y)+p(x,y-1)+p(x+1,y)+p(x,y))>>2

(等式4-7)

p′(x,y)=(2p(x,y)-p(x,y-1))

(等式4-8)

p′(x,y)=(p(x-1,y)+p(x-1,y-1)+p(x,y-1)+p(x+1,y-1)+p(x+1,y)+3*p(x,y))>>3

(等式4-9)

Figure BDA0002685390280000241

可以根据等式4-11至等式4-15计算第四参考线中的过滤像素。

p′(x,y)=(p(x-1,y)+p(x,y+1)+p(x+1,y)+5*p(x,y))>>3

(等式4-11)

p′(x,y)=(p(x-1,y)+p(x,y+1)+p(x+1,y)+p(x,y))>>2

(等式4-12)

p′(x,y)=(2p(x,y)-p(x,y+1))

(等式4-13)

p′(x,y)=(p(x-1,y)+p(x-1,y+1)+p(x,y+1)+p(x+1,y+1)+p(x+1,y)+3*p(x,y))>>3

(等式4-14)

Figure BDA0002685390280000242

另外,可以将舍入(例如舍入到零、舍入到正无穷大或舍入到负无穷大)添加到上述计算中。

图13示出了根据示例性实施例的流程图1300。

在框S1301处,在当前块中,不同位置的样本可以使用具有不同线索引预测的参考样本的不同组合。这里,最近的参考线的索引表示为1。

在框S1302处,对于给定的帧内预测模式,每个参考线i可以生成一个预测块Predi。对于每个位置的像素,该模式可以使用这些生成的预测块Predi的不同组合来生成最终预测块。具体地,对于位置(x,y)处的像素,可以使用等式4-16来计算预测值。

Figure BDA0002685390280000251

其中,Wi与位置有关。换句话说,相同位置的加权因子相同,并且不同位置的加权因子不同。

可替代地,给定帧内预测模式,对于每个样本,从多个参考线中选择一个参考样本组,并且将这些选择的参考样本组的加权和计算为最终预测值。参考样本的选择可以取决于帧内模式和预测样本的位置,并且权重可以取决于帧内模式和预测样本的位置。

在框S1303处,当将参考线x应用于帧内预测时,对于每个样本,对参考线0和参考线x的预测值进行比较,以及如果参考线1生成非常不同的预测值,则排除来自参考线x的预测值,并且可以使用参考线0替代。测量当前位置的预测值与当前位置的相邻位置的预测值之间的差异的方法包括但不限于梯度、SATD、SAD、MSE、SNR和PSNR。

可替代地,从不同的参考线生成多于两个的预测值,并且将中值(或平均值或最频繁出现的值)用作预测样本。

在框S1304处,当将参考线x应用于帧内预测时,对于每个样本,对参考线1和参考线x的预测值进行比较,以及如果参考线1生成非常不同的预测值,则排除来自参考线x的预测值,并且可以使用参考线1替代。测量当前位置的预测值与当前位置的相邻位置的预测值之间的差异的方法包括但不限于梯度、SATD、SAD、MSE、SNR和PSNR。

可替代地,从不同的参考线生成多于两个的预测值,并且将中值(或平均值或最频繁出现的值)用作预测样本。

图14示出了根据示例性实施例的流程图1400。

在框S1401处,在帧内预测之后,使用多个线中的像素对每个块的预测值进行过滤,而不是仅使用最近的参考线中的像素。这里,最近的参考线的索引表示为1。

例如,在框S1402处,PDPC可以被扩展用于多线帧内预测。位于(x,y)的每个预测样本pred[x][y]的计算如下:

其中,m可以是-8~-2。

在一个示例中,使用最近的两个线中的参考样本来对当前块中的样本进行过滤。对于左上角像素,仅使用第一行中的左上角样本。它可以由公式4-18来表示。

Figure BDA0002685390280000262

可替代地,在框S1403处,边界过滤器可以扩展到多条线。

在DC预测之后,对于前几列和前几行中的像素,由相邻的参考像素进行过滤。第一列中的像素可以通过等式4-19进行过滤。

Figure BDA0002685390280000263

对于第一行中的像素,过滤操作如下:

在一些特殊情况下,第一列中的像素可以通过等式4-21进行过滤。

p′(0,y)=p(0,y)+R-1,y-R-2,y (等式4-21)

第一列中的像素还可以通过等式4-22进行过滤。

p′(x,0)=p(x,0)+Rx,-1-Rx,-2 (等式4-22)

在垂直预测之后,前几列中的像素可以通过等式4-23进行过滤。

Figure BDA0002685390280000265

在水平预测之后,前几行中的像素可以通过等式4-24进行过滤。

Figure BDA0002685390280000266

在另一实施例中,对于垂直/水平预测,如果使用索引大于1的参考线来生成预测样本,则使用第一列/行及其对应的线索引大于1的像素来进行边界过滤。如图15中所示,借助参考线1503、1502和块单元1501,第二参考线1503用于生成当前块单元的预测样本,并且将具有垂直方向的像素用于垂直预测。在垂直预测之后,使用参考线1中具有对角线纹理的像素和参考线1503中具有对角线纹理的像素来对当前块单元中的前几列进行过滤。过滤处理可以由等式4-25表示,其中m表示所选择的线索引,以及m可以是2~8。n是右移位数,n可以是1~8。

p′(x,y)=p(x,y)+(p(-1,y)-p(-1,-m))>>n (等式4-25)

对于水平预测,过滤处理可以由等式4-26表示。

p′(x,y)=p(x,y)+(p(x,-1)-p(-m,-1))>>n (等式4-26)

在另一实施例中,当使用索引大于1的参考线时,在对角线预测(例如图1(a)中的模式2和模式34)之后,使用沿着从第一参考线到当前参考线的对角线方向的像素来对当前块单元的前几列/行中的像素进行过滤。具体地,在模式2预测之后,前几行中的像素可以通过等式4-27进行过滤。在模式34预测之后,前几列中的像素可以通过等式4-28进行过滤。m表示当前块的参考线索引,并且m可以是2~8。n是右移位数,n可以是2~8。Wi是加权系数,并且Wi是整数。

Figure BDA0002685390280000272

图16示出了根据示例性实施例的流程图1600。

在框S1601处,对于多参考线帧内预测,当参考线索引大于1时,添加修改的DC模式和平面模式。这里,最近的参考线的索引表示为1。

在框S1602处,对于平面模式,当使用不同的参考线时,使用不同的预定义的右上参考样本和左下参考样本来生成预测样本。

在框S1603处,可替换地,当使用不同的参考线时,使用不同的帧内平滑过滤器。

在框S1604处,对于DC模式,对于第一参考线,使用上方的行和左侧的列中的所有像素来计算DC值,当参考线索引大于1时,仅使用像素中的一些来计算DC值。

例如,使用第一参考线中的上方的像素来计算第二参考线的DC值,使用第一参考线中的左侧的像素来计算第三参考线的DC值,使用第一参考线中的上方的像素中的一半和左侧的像素中的一半来计算第四参考线的DC值。

在框S1605处,对于DC模式,使用所有可用候选线(行和列)中的所有参考像素来计算DC预测器。

图17示出了根据示例性实施例的流程图1700。

在框S1701处,实现为将多个参考线扩展到IC模式。在框S1702处,使用多个上方的/左侧的参考线来计算IC参数,并且在框S1703处,以信号发送使用了哪个参考线来计算IC参数。

图18示出了根据示例性实施例的流程图1800。

在框S1801处,实现为以信号发送多个参考线索引。

在一个实施例中,在框S1802处,使用可变长度编码来以信号发送参考线索引。距离当前块越近,码字越短。例如,如果参考线索引为0、1、2、3,其中0距离当前块最近,3距离当前块最远,则它们的码字为1、01、001、000,其中0和1可以交替使用。

在另一实施例中,在S1806,使用固定长度编码来以信号发送参考线索引。例如,如果参考线索引为0、1、2、3,其中0距离当前块最近,3距离当前块最远,则它们的码字为10、01、11、00,其中0和1可以交替使用并且顺序可能更改。

在框S1803处,考虑是否以各种方式使用码字表,如果没有以各种方式使用码字表,则在框S1804处,在又一实施例中,使用可变长度编码来以信号发送参考线索引,其中,码字表中索引的顺序(从最短的码字到最长的码字)如下:0、2、4、……、2k、1、3、5、……、2k+1(或2k-1)。索引0指示距离当前块最近的参考线,索引2k+1指示距离当前块最远的参考线。

在又一个实施例中,在框S1805处,使用可变长度编码来以信号发送参考线索引,其中,码字表中的索引的顺序(从最短的码字到最长的码字)如下:最近、最远、第二最近、第二最远、……等。在一个具体的示例中,如果参考线索引是0、1、2、3,其中0距离当前块最近,3距离当前块最远,则针对索引0的码字为0,针对索引3的码字为10,针对索引2的码字为110,针对索引1的码字为111。参考线索引1和2的码字可以切换。码字中的0和1可以更改。

图19示出了根据示例性实施例的流程图1900。

在框S1901处,当上方的参考线(行)的数量与左侧的参考线(列)的数量不同时,以信号发送多参考线索引。

在框S1902处,在一个实施例中,如果上方的参考线(行)的数量为M并且左侧的参考线(列)的数量为N,则max(M,N)的参考线索引可以使用上述方法中的任何方法或其组合。min(M,N)的参考线索引从用于指示max(M,N)的参考线索引的码字中提取码字的子集,通常是较短的码字。例如,如果M=4,N=2,并且用于以信号发送M(4)个参考线索引{0,1,2,3}的码字为1、01、001、000,则用于以信号发送N(2)个参考线索引{0,1}的码字为1、01。

在另一实施例中,在框S1903处,如果上方的参考线(行)的数目为M,左侧的参考线(列)的数目为N,并且如果M和N不同,则用于以信号发送上方的参考线(行)索引和左侧的参考线(列)索引的参考线索引可以是分离的,并且可以独立使用上述方法中的任一方法或其组合。

图20示出了根据示例性实施例的流程图2000。

在框S2000处,考虑在各种编码工具中找到参考线的数量,以及在框S2001处,可以将可用于帧内预测的参考线的最大数量限制为不超过在其他编码工具(例如解块滤波器或基于模板匹配的帧内预测)中使用的参考线的数量,以潜在地节省像素线缓冲。

图21示出了根据示例性实施例的流程图2100。

在框S2100处,实现了多线帧内预测与其他编码工具/模式之间的交互。

例如,在框S2101处,在一个实施例中,其他语法元素/编码工具/模式的使用和/或信令可能取决于多线参考线索引,该其他语法元素/编码工具/模式包括但不限于:编码块标识(Coding Block Flag,CBF)、最后位置、变换跳过、变换类型、次级变换索引、初级变换索引、PDPC索引。

在框S2102处,在一个示例中,当多线参考索引为非零时,不使用变换跳过,并且不以信号发送变换跳过标识。

在框S2103处,在另一示例中,用于以信号发送其他编码工具(例如,变换跳过、CBF、初级变换索引、次级变换索引)的上下文可以取决于多线参考索引的值。

在框S2104处,在另一实施例中,可以在其他语法元素之后以信号发送多线参考索引,该其他语法元素包括但不限于:CBF、最后位置、变换跳过、变换类型、次级变换索引、初级变换索引、PDPC索引,并且多线参考索引的使用和/或信令可能取决于其他语法元素。

图22示出了根据示例性实施例的流程图2200。

在框S2201处,考虑获取参考线索引,以及在框S2202处,参考线索引可以用作用于对另一语法元素进行熵编码的上下文,该另一语法元素包括但不限于帧内预测模式、MPM索引、初级变换索引、次级变换索引、变换跳过标识、CBF和变换系数,反之亦然。

图23示出了根据示例性实施例的流程图2300。

在框S2301处,提出将参考线信息包括在MPM列表中。也就是说,如果当前块的预测模式与MPM列表中的一个候选相同,则将帧内预测和所选的候选中的所选参考线都应用于当前块,并不以信号发送帧内预测模式和参考线索引。此外,预定义了用于不同参考线索引的MPM候选的数量。这里,最近的参考线表示为1。

在框S2302处,在一个实施例中,每个参考线索引的MPM的数量是预定义的,并且可以作为更高级别的语法元素以信号发送,例如序列参数集(SPS)、图片参数集(PPS)、切片标头、图块标头、编码树单元(coding tree unit,CTU)标头,或作为图片区域的通用语法元素或参数以信号发送。因此,MPM列表的长度在不同的序列、图片、切片、图块、编码块组或图片的区域中可以是不同的。

例如,参考线索引为1的MPM的数量为6,以及其他参考线索引中的每个参考线索引的MPM的数量为2。因此,如果参考线的总数为4,则MPM列表的总数为12。

在另一实施例中,在框S2303处,将所有帧内预测模式以及它们在上方的,左侧的,左上的,右上的和左下的块中的参考线索引包括在MPM列表中。借助图24中的图示2400,示出了当前块单元的所有相邻块,其中A是左下的块,B、C、D和E是左侧的块,F是左上的块,G和H是上方的块,以及I是右上的块。将相邻块的模式添加到MPM列表中之后,如果具有给定参考线号的MPM候选的数量小于预定义数量,则使用默认模式来填充MPM列表。

在另一实施例中,在框S2304处,如果当前块的模式等于MPM列表中的候选中的一个,则不以信号发送参考线索引。如果当前块的模式不等于MPM列表中的任何候选,则以信号发送参考线索引。

在一个示例中,如果将线1用于当前块,则仍然使用第二级MPM模式,但是第二级MPM仅包括帧内预测模式信息。

在另一示例中,对于其他线,不使用第二级MPM,并且使用固定长度编码来对其余模式进行编码。

图25示出了根据示例性实施例的流程图2500。

在框S2501处,在当前VVC测试模式VTM-1.0中,色度帧内编码模式与HEVC中的模式(包括派生(derived mode,DM)模式(亮度模式的直接复制)和4种其他角度帧内预测模式)相同,在当前BMS-1.0中,交叉分量线性模型(cross component linear model,CCLM)模式也适用于色度帧内编码。CCLM模式包括一种LM模式、一种多模型LM(multi-model linearmodel,MMLM)模式和4种多滤波器LM(multi-filter linear model,MFLM)模式,因此,当未启用CCLM模式时,仅DM模式用于色度块,而当启用CCLM模式时,仅DM模式和CCLM模式用于色度块。

在框S2502处,在一个实施例中,仅一种DM模式用于色度块,并且不以信号发送用于色度块的标识,色度模式派生为DM模式。

在另一实施例中,在框S2503处,仅一个DM模式和一个CCLM模式用于色度块,并且一个DM标识用于以信号发送将DM模式还是LM模式用于当前色度块。

在一个子实施例中,有3个上下文用于以信号发送DM标识。当左侧的块和上方的块都使用DM模式时,上下文0用于以信号发送DM标识。当仅左侧的块和上方的块中的一个块使用DM模式时,上下文1用于以信号发送DM标识。否则,当左侧的块和上方的块都不使用DM模式时,上下文2用于以信号发送DM标识。

在另一实施例中,在框S2504处,仅DM模式和CCLM(启用时)模式用于小色度块。当色度块的宽度、高度或区域大小(宽度*高度)小于或等于Th时,当前色度块称为小色度块。Th可以是2、4、8、16、32、64、128、256、512或1024。

例如,当当前色度块的面积大小小于或等于8时,仅DM模式和CCLM(启用时)模式用于当前色度块。

在另一示例中,当当前色度块的面积大小小于或等于16时,仅DM模式和CCLM(启用时)模式用于当前色度块。

在另一示例中,仅一个DM模式和一个CCLM(启用时)模式用于小色度块。

在另一实施例中,在框S2505处,当亮度分量的帧内模式等于MPM模式中的一个时,色度块仅能使用DM模式,并且不以信号发送用于色度模式的标识,否则色度块允许DM模式和CCLM模式。

在一个示例中,MPM模式仅能是第一级MPM。

在另一示例中,MPM模式仅能是第二级MPM。

在另一示例中,MPM模式可以是第一级MPM或第二级MPM。

在另一实施例中,在框S2506处,当亮度分量的帧内模式不等于MPM模式中的任何一个时,色度块可以使用DM模式,并且不以信号发送用于色度模式的标识,否则色度块允许DM模式和CCLM模式。

因此,通过本文描述的示例性实施例,可以通过这些技术方案有利地改善上述技术问题。

可以将上述技术实现为计算机软件,该计算机软件使用计算机可读指令,并且物理存储在一个或多个计算机可读介质中,或者通过专门配置的一个或多个硬件处理器来实现上述技术。例如,图26示出适于实施所公开的主题的某些实施例的计算机系统2600。

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

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

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

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

输入人机接口装置可以包括下述中的一个或多个(每种中仅描绘一个):键盘2602、鼠标2603、触控板403、触摸屏2604、操纵杆2605、麦克风2606、扫描仪2608、相机2607。

计算机系统2600也可以包括某些人机接口输出装置。这样的人机接口输出装置可以例如通过触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感官。此类人机接口输出装置可以包括触觉输出装置(例如触摸屏2610的触觉反馈或操纵杆2605,但也可以是不作为输入装置的触觉反馈装置)、音频输出装置(例如:扬声器2609、耳机(未描绘))、视觉输出装置(例如包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕的屏幕2610,每种屏幕有或没有触摸屏输入功能,每种屏幕都有或没有触觉反馈功能,其中的一些屏幕能够通过诸如立体图像输出之类的装置、虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘)以及打印机(未描绘)来输出二维视觉输出或超过三维的输出。

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

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

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

上述人机接口装置、人机可访问的存储装置和网络接口可以附接到计算机系统2600的内核2612。

内核2612可以包括一个或多个中央处理单元(CPU)2612、图形处理单元(GPU)2622、现场可编程门区域(FPGA)2624形式的专用可编程处理单元、用于某些任务的硬件加速器2624等。这些装置以及只读存储器(ROM)2619、随机存取存储器2618、诸如内部非用户可访问的硬盘驱动器、SSD等之类的内部大容量存储器447可以通过系统总线2626连接。在一些计算机系统中,可以以一个或多个物理插头的形式访问系统总线226,以能够通过附加的CPU、GPU等进行扩展。***装置可以直接连接到内核的系统总线2626或通过***总线2601连接到内核的系统总线848。***总线的体系结构包括PCI、USB等。

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

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

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

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

45页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用自适应乘数系数进行图像滤波的方法及装置

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类