CN112040228A - 用于预测的方法和装置 - Google Patents

用于预测的方法和装置 Download PDF

Info

Publication number
CN112040228A
CN112040228A CN202010747327.0A CN202010747327A CN112040228A CN 112040228 A CN112040228 A CN 112040228A CN 202010747327 A CN202010747327 A CN 202010747327A CN 112040228 A CN112040228 A CN 112040228A
Authority
CN
China
Prior art keywords
intra
prediction
mode
block
coding 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.)
Granted
Application number
CN202010747327.0A
Other languages
English (en)
Other versions
CN112040228B (zh
Inventor
阿列克谢·康斯坦丁诺维奇·菲利波夫
瓦西里·亚历斯维奇·拉夫特斯基
陈建乐
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112040228A publication Critical patent/CN112040228A/zh
Application granted granted Critical
Publication of CN112040228B publication Critical patent/CN112040228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提供了用于视频编码或解码中当前块的帧内预测的方法和设备。所述方法包括:根据方向性帧内预测模式进行所述当前块的帧内预测处理,包括对一个或多个参考块中的参考样本应用的参考样本滤波或子像素插值滤波,其中,所述方向性帧内预测模式归类为以下组之一:(A)垂直或水平模式;(B)方向性模式,包括表示角度的对角线模式,其中,所述角度为45度的倍数;(C)其余方向性模式;如果所述方向性帧内预测模式归类为属于组B,则将参考样本滤波应用于所述参考样本;如果所述方向性帧内预测模式归类为属于组C,则将帧内参考样本插值滤波应用于所述参考样本。

Description

用于预测的方法和装置
技术领域
本发明涉及图像和/或视频编码和解码的技术领域,尤其涉及用于帧内/帧间预测的方法和装置。
背景技术
视频编码(视频编码和解码)用于各种数字视频应用,例如广播数字电视、互联网和移动网络上的视频传输、例如视频聊天、视频会议等实时对话应用、DVD和蓝光光盘、视频内容获取和编辑系统以及安全应用的摄像机。
即使是描述较短的视频也需要大量的视频数据量,这可能导致在流式传输或通过带宽容量有限的通信网络传送数据时出现困难。因此,视频数据通常在通过现代电信网络传送之前被压缩。当将视频存储在存储设备上时,视频的大小也可能是一个问题,因为内存资源可能受到限制。视频压缩设备通常在传输或存储之前在源地使用软件和/或硬件对视频数据进行编码,从而减少表示数字视频图像所需的数据量。然后,由对视频数据进行解码的视频解压缩设备在目的地接收压缩数据。在有限的网络资源和对更高视频质量的不断增长的需求下,期望有一种改进的压缩和解压缩技术在几乎不牺牲图片质量的情况下提高压缩率。
自DVD光盘问世以来,数字视频就得到了广泛的应用。在传输之前对视频进行编码,并使用传输介质进行传输。观看者接收视频,并使用观看设备对视频进行解码和显示。这些年来,例如,由于更高的分辨率、色深和帧速率,视频质量得到了提高。这导致了更大的数据流,这些数据流如今通常通过互联网和移动通信网络进行传输。
然而,由于高分辨率视频具有更多信息,因此它们通常需要更多带宽。为了降低带宽需求,引入了涉及视频压缩的视频编码标准。对视频进行编码时,带宽需求(或在存储情况下相应的内存需求)会降低。通常,这种降低是以质量为代价的。因此,视频编码标准试图在带宽需求和质量之间找到平衡。
高效视频编码(High Efficiency Video Coding,简称HEVC)是本领域技术人员公知的视频编码标准的一个示例。在HEVC中,将编码单元(coding unit,简称CU)拆分为预测单元(prediction unit,简称PU)或转换单元(transform unit,简称TU)。通用视频编码(Versatile Video Coding,简称VVC)下一代标准是ITU-T视频编码专家组(Video CodingExperts Group,简称VCEG)和ISO/IEC运动图片专家组(Moving Picture Experts Group,简称MPEG)标准化组织的最新联合视频项目,其中,ITU-T VCEG和ISO/IEC MPEG标准化组织以称为联合视频探索小组(Joint Video Exploration Team,简称JVET)的合作伙伴关系共同工作。VVC也称为ITU-T H.266/下一代视频编码(Next Generation Video Coding,简称NGVC)标准。在VVC中,应删除多种分区类型的概念,即CU、PU和TU概念的分离,但对于相对最大转换长度而言尺寸太大的CU,以及支持更灵活的CU分区形状的CU除外。
这些编码单元(coding unit,简称CU)(也称为块)的处理取决于它们的大小、空间位置和编码器指定的编码模式。根据预测类型,可将编码模式分为两组:帧内预测和帧间预测模式。帧内预测模式使用同一图片(也称为帧或图像)中的样本生成参考样本,以计算正在重建的块的样本的预测值。帧内预测也称为空间预测。帧间预测模式被设计以用于时间预测,其使用前一个或后一个图片中的参考样本预测当前图片的块的样本。
ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在研究未来视频编码技术潜在的标准化需求,其中,未来视频编码技术的压缩能力明显超过当前HEVC标准(包括其用于屏幕内容编码和高动态范围编码的当前扩展技术和近期扩展技术)的压缩能力。小组们正在以称为联合视频探索小组(Joint Video Exploration Team,简称JVET)的联合协作小组共同开展这项探索活动,以评估它们的专家在该领域提出的压缩技术设计。
VTM(通用测试模型)标准使用35个帧内模式,而BMS(基准集)使用67个帧内模式。
当前在BMS中描述的帧内模式编码方案被认为是复杂的,并且非选择模式集的缺点是索引列表总是恒定且不基于当前块属性(例如,对于其相邻块INTRA模式)自适应。
发明内容
本申请实施例提供了根据独立权利要求书所述的用于编码和解码的装置和方法。
上述和其它目的通过独立权利要求书的主题来实现。进一步的实现形式在从属权利要求书、描述和附图中显而易见。
根据第一方面,本发明涉及一种用于视频编码或解码中当前块的帧内预测的方法,所述方法包括:根据方向性帧内预测模式进行所述当前块的帧内预测处理,所述帧内预测处理包括对一个或多个参考块中的参考样本应用的参考样本滤波或子像素插值滤波,其中,所述方向性帧内预测模式归类为以下组之一:(A)垂直或水平模式;(B)方向性模式,包括表示角度的对角线模式,其中,所述角度为45度的倍数;(C)其余方向性模式;如果所述方向性帧内预测模式归类为属于组B,则将参考样本滤波器应用于所述参考样本;如果所述方向性帧内预测模式归类为属于组C,则将帧内参考样本插值滤波器应用于所述参考样本。
在一实施例中,如果所述方向性帧内预测模式归类为属于组A,则生成帧内预测时不对所述参考样本应用滤波。
在一实施例中,如果所述方向性帧内预测模式归类为属于组B,则将参考样本滤波器应用于所述参考样本,以根据所述方向性帧内预测模式将滤波值复制到帧内预测器中;如果所述方向性帧内预测模式归类为属于组C,则将帧内参考样本插值滤波器应用于所述参考样本,以根据所述方向性帧内预测模式生成落于所述参考样本之间的分数或整数位置的预测样本。
在一实施例中,所述帧内预测处理的参考样本滤波器是3抽头滤波器。
例如,所述帧内预测处理的参考样本滤波器为[1,2,1]的3抽头滤波器。
在一实施例中,从一组滤波器中选择用于给定子像素偏移的帧内预测处理的插值滤波器,其中,所述一组滤波器中的一个滤波器与用于帧间预测处理的滤波器相同。
在一实施例中,所述插值滤波器的长度为4抽头,其系数的精度为6比特。
在一实施例中,组B还包括广角整数斜率模式。
例如,广角整数斜率模式是除了水平、垂直和对角线模式之外的方向性帧内预测模式,其中,所述当前块的每个预测样本的参考样本位置是非分数的。
在一实施例中,组B还包括帧内预测角度参数的值为32的非零倍数的帧内预测模式。
在一实施例中,组B包括以下帧内预测模式的一种或全部:[-14,-12,-10,-6,2,34,66,72,76,78,80]。
根据第二方面,本发明涉及一种用于视频编码或解码中当前块的帧内预测的装置,所述装置包括处理电路,用于:根据方向性帧内预测模式进行所述当前块的帧内预测处理,包括对一个或多个参考块中的参考样本应用的参考样本滤波或子像素插值滤波,其中,所述方向性帧内预测模式归类为以下组之一:(A)垂直或水平模式;(B)方向性模式,包括表示角度的对角线模式,其中,所述角度为45度的倍数;(C)其余方向性模式;如果所述方向性帧内预测模式归类为属于组B,则将参考样本滤波器应用于所述参考样本;如果所述方向性帧内预测模式归类为属于组C,则将帧内参考样本插值滤波器应用于所述参考样本。
根据本发明第二方面的装置的进一步特征和实现形式对应于根据本发明第一方面的方法的特征和实现形式。
根据第三方面,本发明涉及一种包括程序代码的计算机程序产品,当所述程序代码在计算机或处理器上执行时,用于执行上述任一方法。
一个或多个实施例的细节在附图和下面的描述中阐明。其它特征、目的及优势将在描述、附图及权利要求书中显而易见。
附图说明
结合附图,对以下实施例进行更为详细的描述,其中:
图1是用于实现本发明实施例的视频编码系统的示例的框图;
图2是用于实现本发明实施例的视频编码器的示例的框图;
图3是用于实现本发明实施例的视频解码器的示例结构的框图;
图4是67个帧内预测模式的示意图;
图5示出了帧内和帧间预测中的不同插值滤波器的第一使用示例;
图6示出了帧内和帧间预测中的不同插值滤波器的第二使用示例;
图7示出了帧内和帧间预测中的不同插值滤波器的第三使用示例;
图8示出了将用于帧内和帧间预测样本的公共插值滤波器的用法;
图9示出了一种使用滤波模块参与运动补偿中的色度样本的预测并且在执行帧内预测时预测亮度和色度样本的实施例;
图10示出了一个硬件滤波模块加载存储在ROM中的系数的实施例;
图11是多个帧内预测模式的示意图;
图12示出了在非正方形块的情况下,对于小于和大于对角线模式的模式的插值滤波器选择的示例;
图13示出了四叉树加二叉树(Quadtree plus Binary Tree,简称QTBT)块分区;
图14示出了块的水平和垂直方向性;
图15示意性地示出了对于非正方形块的插值滤波器选择;
图16示出了对于非正方形块的参考样本插值滤波器选择的一个实施例;
图17示出了对于非正方形块的参考样本插值滤波器选择的替代实施例;
图18是93个帧内预测模式的示意图;
图19是根据一实施例的装置的框图;
图20是根据另一实施例的装置的框图;
图21示出了将使用帧内预测模式来预测的块。
具体实现方式
以下结合附图进行描述,所述附图是本发明的一部分,并通过图解说明的方式示出可以实施本发明的具体方面。应理解的是,本发明的实施例可以用于其它方面,并且包括图中未描述的结构或逻辑变化。因此,以下详细的描述并不当作限定,本发明的范围由所附权利要求书界定。
例如,应理解的是,与所描述的方法有关的内容对于用于执行方法的对应设备或系统也同样适用,反之亦然。例如,如果描述了一个或多个具体的方法步骤,则对应设备可以包括用于执行所描述的一个或多个方法步骤的一个或多个单元,例如,功能单元(例如,执行所述一个或多个步骤的一个单元,或者分别执行多个步骤中的一个或多个步骤的多个单元),即使此类一个或多个单元未在图中明确描述或阐述。另一方面,例如,如果基于一个或多个单元,例如,功能单元描述了一个具体的装置,则对应方法可以包括用于执行所述一个或多个单元的功能的一个或多个步骤(例如,执行所述一个或多个单元的功能的一个步骤,或者分别执行多个单元中的一个或多个单元的功能的多个步骤),即使此类一个或多个步骤未在图中明确描述或阐述。此外,应理解的是,除非另外具体指出,否则本文中描述的各种示例性实施例和/或方面的特征可彼此组合。
视频编码通常是指对构成视频或视频序列的一系列图片的处理。术语“图片”、“图像”或“帧”可以在/在视频编码领域以及在本申请中同义地使用。每个图片通常被分区为一组不重叠的块。图片的编码/解码通常以块级别执行,其中,例如,帧间预测或帧内预测用于生成预测块,以从当前块(当前处理/待处理的块)中减去预测块,从而获得残差块,该残差块进一步转换和量化以减少要传输(压缩)的数据量,而在解码器侧,对编码/压缩块进行逆处理以重建该块以进行表示。
在无损视频编码的情况下,可以重建原始视频图片,即,重建的视频图片具有与原始视频图片相同的质量(假设在存储或传输期间没有传输丢失或其它数据丢失)。在有损视频编码的情况下,例如通过量化进行进一步的压缩,以减少表示视频图片的数据量,该视频图片不能在解码器处完全重建,即重建视频图片的质量比原始视频图片的质量更低或更差。
几种视频编码标准属于“有损混合视频编解码器”组(即,将样本域中的空间和时间预测与2D转换编码相结合,以在转换域中应用量化)。视频序列的每个图片通常被分区为一组不重叠的块,并且编码通常以块级别执行。换言之,在编码器处,通常,例如通过使用空间(图片内)预测和/或时间(图片间)预测生成预测块,从当前块(当前处理/待处理的块)中减去预测块得到残差块,以及在转换域中对残差块进行转换和量化以减少要传输(压缩)的数据量,从而以块(视频块)级别对视频进行处理,即编码;而在解码器处,将相对编码器而言的逆处理应用于编码或压缩块以重建当前块以进行表示。此外,编码器复制解码器处理环路,使得两者将生成相同的预测(例如,帧内预测和帧间预测)和/或重建,用于处理,即编码后续块。
在以下实施例中,基于图1至图3描述了视频编码系统10、视频编码器20和视频解码器30。
图1是示例编码系统10的概念性或示意性框图,所述示例编码系统10例如是可以使用本申请(本发明)的技术的视频编码系统。视频编码系统的编码器20(例如,视频编码器20)和解码器30(例如,视频解码器30)表示可以用于根据本申请中所描述的各种示例执行技术的设备的示例。如图1所示,所述编码系统包括源设备12,用于例如向目的设备14提供编码数据13,例如,编码图片13,以解码编码数据13。
源设备12包括编码器20,并且可以附加地,即可选地包括图片源16、预处理单元18,例如,图片预处理单元18和通信接口或通信单元22。
图片源16可以包括或可以是任何种类的图片捕获设备,例如用于捕获现实世界图片,和/或任何种类的图片或注释(对于屏幕内容编码,屏幕上的某些文本也被认为是待编码图片或图像的一部分)生成设备,例如用于生成计算机动画图片的计算机图形处理器,或用于获取和/或提供真实世界图片、计算机动画图片(例如,屏幕内容、虚拟现实(virtualreality,简称VR)图片)和/或其任何组合(例如,增强现实(augmented reality,简称AR)图片)的任何种类的设备。
(数字)图片被视为或者可以被视为具有强度值的样本的二维阵列或矩阵。阵列中的样本也可以称为像素(图片元素的简称)。阵列或图片的水平和垂直方向(或轴)上的样本数量定义图片的大小和/或分辨率。对于颜色的表示,通常采用三个颜色分量,即,图片可以被表示为或包括三个采样阵列。在RBG格式或颜色空间中,图片包括对应的红、绿和蓝样本阵列。但是,在视频编码中,每个像素通常以亮度/色度格式或颜色空间,例如YCbCr来表示,其中,YCbCr包括由Y(有时也用L代替)表示的一个亮度分量和由Cb和Cr表示的两个色度分量。亮度(或简称为luma)分量Y表示亮度或灰度强度(例如,在灰度图片中),而两个色度(或简称为chroma)分量Cb和Cr表示色度或颜色信息分量。因此,YCbCr格式的图片包括亮度样本值(Y)的一个亮度样本阵列和色度值(Cb和Cr)的两个色度样本阵列。可以将RGB格式的图片转化或转换为YCbCr格式的图片,反之亦然,该过程也称为颜色转换或转化。如果图片是单色的,则该图片可以仅包括亮度样本阵列。
图片源16(例如,视频源16)例如可以是用于捕获图片的相机、包括或存储先前捕获或生成的图片的存储器,例如,图片存储器,和/或用于获取或接收图片的任何种类的(内部或外部)接口。所述相机例如可以是集成在源设备中的本地或集成相机,所述存储器可以是例如集成在源设备中的本地或集成存储器。所述接口例如可以是用于从外部视频源接收图片的外部接口,所述外部视频源例如为相机等外部图片捕获设备、外部存储器或外部图片生成设备,例如外部计算机图形处理器、计算机或服务器。根据任何专有或标准化接口协议,所述接口可以是任何类型的接口,例如,有线或无线接口、光接口。用于获取图片数据17的接口可以是与通信接口22相同的接口,也可以是通信接口22的一部分。
区别于预处理单元18和由预处理单元18执行的处理,图片或图片数据17(例如,视频数据17)也可以称为原始图片或原始图片数据17。
预处理单元18用于接收(原始)图片数据17,并且对图片数据17进行预处理以获得预处理图片19或预处理图片数据19。由预处理单元18进行的预处理例如可以包括修整、(例如从RGB到YCbCr的)颜色格式转换、颜色校正或去噪。可以理解的是,预处理单元18可以是可选组件。
编码器20(例如,视频编码器20)用于接收预处理图片数据19,并提供编码图片数据21(下面将例如基于图2进一步详细描述)。
源设备12的通信接口22可用于接收编码图片数据21并将其传输至其它设备,例如目的设备14或任何其它设备以进行存储或直接重建,或者在存储编码数据13和/或将编码数据13传输至其它设备,例如目的设备14或任何其它设备以进行解码或存储之前分别处理编码图片数据21。
目的设备14包括解码器30(例如,视频解码器30),并且可以附加地,即,可选地包括通信接口或通信单元28、后处理单元32和显示设备34。
目的设备14的通信接口28用于例如直接从源设备12或任何其它源设备,例如存储设备,例如编码图片数据存储设备接收编码图片数据21或编码数据13。
通信接口22和通信接口28可以用于通过源设备12和目的设备14之间的直连通信链路,例如直连有线或无线连接,或通过任何类型的网络,例如有线或无线网络或其任何组合,或任何类型的专用和公共网络或其任何组合来传输或接收编码图片数据21或编码数据13。
通信接口22例如可以用于将编码图片数据21打包成适当的格式,例如,数据包,以通过通信链路或通信网络传输。
构成通信接口22的对端的通信接口28例如可以用于对编码数据13进行解包以获得编码图片数据21。
通信接口22和通信接口28均可以配置为单向通信接口,如图1中的编码图片数据13的从源设备12指向目的设备14的箭头所示,或者均配置为双向通信接口并且例如可以用于发送和接收消息,例如,建立连接,确认和交换与通信链路和/或数据传输,例如,编码图片数据传输相关的任何其它信息。
解码器30用于接收编码图片数据21并提供解码图片数据31或解码图片31(下面将例如基于图3进一步详细描述)。
目的设备14的后处理器32用于对解码图片数据31(也称为重建图片数据),例如,解码图片31进行后处理,以获得后处理图片数据33,例如后处理图片33。由后处理单元32进行的后处理例如可以包括(例如,从YCbCr到RGB的)颜色格式转换、颜色校正、修整或重采样,或例如用于准备处理图片数据33以例如由显示设备34进行显示的任何其它处理。
目的设备14的显示设备34用于接收后处理图片数据33,从而例如向用户或观看者显示图片。显示设备34可以是或包括用于表示重建图片的任何种类的显示屏,例如,集成或外部显示屏或显示器。所述显示屏例如可以包括液晶显示屏(liquid crystal display,简称LCD)、有机发光二极管(organic light emitting diode,简称OLED)显示屏、等离子显示屏、投影仪、微LED显示屏、硅基液晶(liquid crystal on silicon,简称LCoS)、数字光处理器(digital light processor,简称DLP)或任何类型的其它显示屏。
尽管图1将源设备12和目的设备14描述为单独的设备,但设备的实施例也可以包括两者或两者功能,即源设备12或相应功能和目的设备14或相应功能。在此类实施例中,源设备12或相应功能和目的设备14或相应功能可以通过相同的硬件和/或软件或者通过单独的硬件和/或软件或其任意组合来实现。
基于描述,对于本领域技术人员显而易见的是,如图1所示的源设备12和/或目的地设备14内的不同单元的功能或不同功能的存在和(精确)划分可以根据实际设备和应用变化。
编码器20(例如,视频编码器20)和解码器30(例如,视频解码器30)可以分别实现为各种合适的电路中的任意一种,例如,一个或多个微处理器、数字信号处理器(digitalsignal processor,简称DSP)、专用集成电路(application-specific integratedcircuit,简称ASIC)、现场可编程门阵列(field-programmable gate array,简称FPGA)、分立逻辑、硬件或其任意组合。如果技术部分地以软件实现,则设备可以将用于该软件的指令存储在合适的非瞬时性计算机可读存储介质中,并可以使用一个或多个处理器以硬件的方式执行该指令,从而执行本发明的技术。上述(包括硬件、软件、硬件和软件的组合等)任意一项可以被认为是一个或多个处理器。视频编码器20和视频解码器30可分别包含在一个或多个编码器或解码器内,视频编码器20和视频解码器30中的任一个可在对应设备中集成为组合编码器/解码器(combined encoder/decoder,简称CODEC)的一部分。
源设备12和目的设备14可以包括各种设备中的任一种,其中,所述各种设备包括任何类型的手持或固定设备,例如笔记本或膝上型电脑、手机、智能手机、平板或平板电脑、相机、台式计算机、机顶盒、电视、显示设备、数字媒体播放器、视频游戏机、视频流设备(例如,内容服务服务器或内容分发服务器)、广播接收器设备、广播发送器设备等,并且源设备12和目的设备14可以不使用或使用任何类型的操作系统。在某些情况下,可配备源设备12和目的设备14进行无线通信。因此,源设备12和目的设备14可以是无线通信设备。
在某些情况下,图1所示的视频编码系统仅仅是一个示例,本申请的技术可以应用于不一定包括编码和解码设备之间的任何数据通信的视频编码设置(例如,视频编码或视频解码)。在其它示例中,数据是从本地存储器中检索的,通过网络流式传输的,等等。视频编码设备可将数据编码并存储到存储器,和/或视频解码设备可从存储器检索和解码数据。在一些示例中,编码和解码由彼此不通信但仅将数据编码到存储器和/或从存储器检索和解码的设备执行。
图2是用于实现本申请的技术的示例视频编码器20的示意性/概念性框图。在图2的示例中,视频编码器20包括残差计算单元204、转换处理单元206、量化单元208、逆量化单元210、逆转换处理单元212、重建单元214、缓冲器216、环路波器单元220、解码图片缓冲器(decoded picture buffer,简称DPB)230、预测处理单元260和熵编码单元270。预测处理单元260可以包括帧间预测单元244、帧内预测单元254和模式选择单元262。帧间预测单元244可以包括运动估计单元和运动补偿单元(未示出)。如图2所示的视频编码器20也可以称为混合视频编码器或根据混合视频编解码器的视频编码器。
例如,残差计算单元204、转换处理单元206、量化单元208、预测处理单元260和熵编码单元270构成编码器20的前向信号路径,然而,例如,逆量化单元210、逆转换处理单元212、重构单元214、缓冲器216、环路滤波器220、解码图片缓冲器(decoded picturebuffer,简称DPB)230和预测处理单元260构成编码器的后向信号路径,其中,编码器的后向信号路径对应于解码器(请参见图3中的解码器30)的信号路径。
编码器20用于例如通过输入端202接收图片201或图片201的块203,例如,构成视频或视频序列的图片序列中的图片。图片块203也可以称为当前图片块或待编码图片块,图片201也可以称为当前图片或待编码图片(尤其是在视频编码中,用于区分当前图片和其它图片,例如,同一视频序列,即也包括当前图片的视频序列中的先前编码和/或解码的图片)。
预测处理单元260,也称为块预测处理单元260,用于接收或获取块203(当前图片201的当前块203)和重建图片数据,例如,来自缓冲器216的相同(当前)图片的参考样本和/或来自解码图片缓冲器230的一个或多个先前解码图片的参考图片数据231,以及用于处理这些数据以进行预测,即,提供预测块265,其中,所述预测块265可以是帧间预测块245或帧内预测块255。
模式选择单元262可用于选择预测模式(例如,帧内或帧间预测模式)和/或相应的预测块245或255,该相应的预测块245或255将作为用于计算残差块205和建立重建块215的预测块265。
模式选择单元262的实施例可以用于(例如,从预测处理单元260支持的那些模式中)选择预测模式,其提供最佳匹配,换言之,最小残差(对于传输或存储而言,最小残差意味着更好的压缩)或者最小信令开销(对于传输或存储而言,最小信令开销意味着更好的压缩),或者其考虑或平衡两者。模式选择单元262可以用于基于速率失真优化(ratedistortion optimization,简称RDO)来确定预测模式,即,选择提供最小速率失真优化或者相关联的速率失真至少满足预测模式选择标准的预测模式。
帧内预测单元254还用于基于帧内预测参数,例如,所选帧内预测模式确定帧内预测块255。在任何情况下,在为某个块选择了帧内预测模式之后,帧内预测单元254还用于向熵编码单元270提供帧内预测参数,即,指示该块的所选帧内预测模式的信息。在一示例中,帧内预测单元254可以用于进行稍后描述的帧内预测技术的任何组合。
视频编码器20的实施例可包括图片分区单元(图2中未示出),用于将图片分区成多个(通常不重叠的)图片块。这些块也可以称为根块、宏块(H.264/AVC)或编码树块(coding tree block,简称CTB)或编码树单元(coding tree unit,简称CTU)(H.265/HEVC和VVC)。图片分区单元可以用于对视频序列的所有图片使用相同的块大小以及使用定义该块大小的对应网格,或者改变图片或图片子集或图片组之间的块大小,并将每个图片分区为对应的块。
与图片一样,图片块再次被视为或可以被视为具有强度值(样本值)的样本的二维阵列或矩阵,尽管其尺寸小于图片尺寸。换言之,块例如可以包括一个样本阵列(例如,单色图片情况下的luma阵列,或者彩色图片情况下的luma或chroma阵列)或三个样本阵列(例如,彩色图片情况下的一个luma阵列和两个chroma阵列),或者任意其它数量和/或类型的阵列,取决于所应用的颜色格式。块的水平和垂直方向(或轴)上的样本的数量定义了块的大小。因此,块例如可以为样本的MxN(M列乘N行)阵列,或者转换系数的MxN阵列。
图2所示的视频编码器的实施例可用于对图片逐块进行编码,例如,按块进行编码和预测。
如图2所示的视频编码器的实施例还可以用于通过条带(也称为视频条带)对图片进行分区和/或编码,其中,图片可以被分区成一个或多个(通常不重叠的)条带或者通过一个或多个条带进行编码,并且每个条带可以包括一个或多个块(例如CTU)。
如图2所示的视频编码器的实施例还可以用于通过区块组(也称为视频区块组)和/或区块(也称为视频区块)对图片进行分区和/或编码,其中,图片可以被分区为一个或多个(通常不重叠的)区块组或通过一个或多个(通常不重叠的)区块组进行编码,每个区块组例如可以包括一个或多个块(例如CTU)或一个或多个区块,每个区块例如可以是矩形并且可以包括一个或多个块(例如,CTU),例如,一个或多个完整或分数块。
图3示出了用于实现本申请的技术的示例视频解码器30。视频解码器30用于接收例如由编码器100提供的编码图片数据(例如,编码码流)20,以获得解码图片331。在解码过程中,视频解码器30从视频编码器100接收视频数据,例如,表示编码视频条带的图片块的编码视频码流和关联的语法元素。
在图3的示例中,解码器30包括熵解码单元304、逆量化单元310、逆转换处理单元312、重建单元314(例如,求和器314)、缓冲器316、环路滤波器320、解码图片缓冲器330和预测处理单元360。预测处理单元360可以包括帧间预测单元344、帧内预测单元354,以及模式选择单元362。在一些示例中,视频解码器30可以执行通常与图2中关于视频编码器20描述的编码过程互补的解码过程。
熵解码单元304用于对编码图片数据21进行熵解码,以例如获得量化后的系数309和/或解码后的编码参数(图3中未示出),例如(解码后的)帧间预测参数、帧内预测参数、环路滤波参数和/或其它语法元素中的任意一个或全部。熵解码单元304还用于向预测处理单元360转发帧间预测参数、帧内预测参数和/或其它语法元素。视频解码器30可以接收视频条带级别和/或视频块级别的语法元素。
逆量化单元310可以在功能上与逆量化单元110相同,逆转换处理单元312可以在功能上与逆转换处理单元112相同,重建单元314可以在功能上可以与重建单元114相同,缓冲器316可以在功能上与缓冲器116相同,环路滤波器320可以在功能上与环路滤波器120相同,解码图片缓冲器330可以在功能上与解码图片缓冲器130相同。
预测处理单元360可以包括帧间预测单元344和帧内预测单元354,其中,帧间预测单元344可以在功能上类似于帧间预测单元144,帧内预测单元354可以在功能上类似于帧内预测单元154。预测处理单元360通常用于执行块预测和/或从编码数据21获取预测块365,并且例如从熵解码单元304(显式或隐式)接收或获取预测相关参数和/或所选预测模式的信息。
当视频条带被编码为帧内编码(I)条带时,预测处理单元360的帧内预测单元354用于基于用信号发送的帧内预测模式和来自当前帧或图片的先前解码块的数据生成当前视频条带的图片块的预测块365。当视频帧被编码为帧间编码(即,B或P)条带时,预测处理单元360的帧间预测单元344(例如,运动补偿单元)用于基于运动向量和从熵解码单元304接收的其它语法元素生成当前视频条带的视频块的预测块365。对于帧间预测,预测块可以从一个参考图片列表中的一个参考图片生成。视频解码器30可以基于存储在DPB330中的参考图片使用默认构造技术来构造参考帧列表:列表0和列表1。
预测处理单元360通过解析运动向量和其它语法元素确定当前视频条带的视频块的预测信息,并使用该预测信息生成当前正在解码的当前视频块的预测块。例如,预测处理单元360使用一些接收到的语法元素来确定用于对视频条带的视频块进行编码的预测模式(例如,帧内或帧间预测)、帧间预测条带类型(例如,B条带、P条带或GPB条带)、该条带的一个或多个参考图列表的构建信息、该条带的每个帧间编码视频块的运动向量、该条带的每个帧间编码视频块的帧间预测状态以及用于解码现有视频条带中的视频块的其它信息。
逆量化单元310用于对在码流中提供并由熵解码单元304解码的量化后的转换系数进行逆量化,即,反量化。逆量化过程可包括使用视频编码器100针对视频条带中的每个视频块计算的量化参数来确定量化程度,并且同样地确定应该应用的逆量化程度。
逆转换处理单元312用于对转换系数应用逆转换,例如,逆DCT、逆整数转换或概念上类似的逆转换过程,以在像素域中产生残差块。
重建单元314(例如,求和器314)用于例如通过将重建残差块313的样本值和预测块365的样本值相加以将逆转换块313(即重建残差块313)添加到预测块365中,以获得样本域中的重建块315。
环路波器单元320(要么在编码环路内,要么在编码环路后)用于对重建块315进行滤波,以获得滤波块321,从而例如平滑像素转换或以其它方式改善视频质量。在一示例中,环路波器单元320可以用于执行稍后描述的滤波技术的任意组合。环路滤波器单元320用于表示一个或多个环路滤波器,例如去块滤波器、样本自适应偏移(sample-adaptiveoffset,简称SAO)滤波器或其它滤波器,例如双边滤波器或自适应环路滤波器(adaptiveloop filter,简称ALF)或锐化或平滑滤波器或协同滤波器。虽然环路滤波器单元320在图3中示出为环内滤波器,但是在其它配置中,环路滤波器单元320可以实现为环后滤波器。
之后,将给定帧或图片中的解码视频块321存储在解码图片缓冲器330中,该解码图片缓冲器330中存储了用于后续运动补偿的参考图片。
解码器30用于例如通过输出端332向用户输出解码图片331以进行呈现或观看。
视频解码器30的其它变形可用于对压缩码流进行解码。例如,解码器30可以在没有环路滤波单元320的情况下生成输出视频流。例如,基于非转换的解码器30可以在没有针对特定块或帧的逆转换处理单元312的情况下直接逆量化残差信号。在另一实现方式中,视频解码器30可以具有组合成单个单元的逆量化单元310和逆转换处理单元312。
如图3所示的视频解码器的实施例可以用于通过条带(也称为视频条带)对图片进行区分和/或解码,其中,图片可以被分区成一个或多个(通常不重叠的)条带或者通过一个或多个(通常不重叠的)条带进行解码,并且每个条带可以包括一个或多个块(例如CTU)。
如图3所示的视频解码器的实施例可以用于通过区块组(也称为视频区块组)和/或区块(也称为视频区块)对图片进行分区和/或解码,其中,图片可以被分区成一个或多个(通常不重叠的)区块组或通过一个或多个(通常不重叠的)区块组进行解码,每个区块组例如可以包括一个或多个块(例如CTU)或一个或多个区块,每个区块例如可以是矩形并且可以包括一个或多个块(例如,CTU),例如,一个或多个完整或分数块。
应理解,在编码器和解码器中,可以对当前步骤的处理结果进行进一步处理后输出至下一步骤。例如,在插值滤波、运动向量推导或环路滤波之后,可以对插值滤波、运动向量推导或环路滤波的处理结果进行进一步的操作,例如削波或移位。
根据HEVC/H.265标准,35个帧内预测模式可用。该集合包括以下模式:平面模式(帧内预测模式索引为0)、DC模式(帧内预测模式索引为1)以及具有180°的覆盖范围并且帧内预测模式索引值域为2到34的方向性(角度)模式。为了捕获自然视频中存在的任意边缘方向,方向性帧内模式的数量从HEVC中使用的33个扩展到65个。增加的方向性模式如图4所示,并且平面模式和DC模式保持不变。值得说明的是,帧内预测模式的覆盖范围可以大于180°。尤其,索引值为3至64的62个方向性模式的覆盖范围约为230°,即几对模式具有相反的方向性。在HEVC参考模型(HEVC Reference Model,简称HM)和JEM平台的情况下,只有一对角度模式(即模式2和66)具有相反的方向性,如图4所示。为了构造预测器,常规角度模式采用参考样本并且(如果需要)滤波它们以获取样本预测器。构建预测器所需的参考样本数量取决于用于插值的滤波器的长度(例如,双线性和三次滤波器的长度分别为2和4)。
图4示出了67个帧内预测模式的示例,例如,如针对VVC提出的,67个帧内预测模式中的多个帧内预测模式包括:平面模式(索引0)、DC模式(索引1)和索引为2至66的角度模式,其中,图4中的左下角度模式是指索引2,并且索引的编号递增,直到索引66是图4的右上角度模式为止。
视频编码方案,例如H.264/AVC和HEVC,是根据基于块的混合视频编码的成功原理而设计的。使用该原理,首先将图片分区成块,然后使用图片内或图片间预测对每个块进行预测。
如这里所使用的,术语“块”可以是图片或帧的一部分。为了便于描述,这里参考由ITU-T视频编码专家组(Video Coding Experts Group,简称VCEG)和ISO/IEC运动图片专家组(Motion Picture Experts Group,简称MPEG)的视频编码联合协作团队(JointCollaboration Team on Video Coding,简称JCT-VC)开发的高效视频编码(HighEfficiency Video Coding,简称HEVC)或通用视频编码(Versatile video coding,简称VVC)的参考软件来描述本发明实施例。本领域普通技术人员将理解,本发明实施例不限于HEVC或VVC。块可以指CU、PU和TU。在HEVC中,CTU通过表示为编码树的四叉树结构划分为CU。在CU级别上决定使用图片间(时间)还是图片内(空间)预测对图片区域进行编码。可以根据PU划分类型将每个CU进一步划分为一个、两个或四个PU。在一个PU内,应用相同的预测过程,并以PU为基础将相关信息传输至解码器。在通过应用基于PU划分类型的预测过程获得残差块之后,可以根据与用于CU的编码树类似的其它四叉树结构将CU分区为转换单元(transform unit,简称TU)。在视频压缩技术的最新发展中,四叉树和二叉树(Quad-treeand binary tree,简称QTBT)分区用于对编码块进行分区。在QTBT块结构中,CU可以为正方形或矩形。例如,编码树单元(coding tree unit,简称CTU)首先按照四叉树结构进行分区。四叉树叶节点进一步按照二叉树结构进行分区。二叉树叶节点称为编码单元(codingunit,简称CU),该分割用于预测和转换处理,而无需任何进一步的分区。这意味着CU、PU和TU在QTBT编码块结构中具有相同的块大小。并行地,还提出了将多重分区,例如,三叉树分区,与QTBT块结构一起使用。
ITU-T VCEG(Q6/16)和ISO/IEC MPEG(JTC 1/SC 29/WG 11)正在研究未来视频编码技术潜在的标准化需求,其中,未来视频编码技术的压缩能力明显超过当前HEVC标准(包括其用于屏幕内容编码和高动态范围编码的当前扩展技术和近期扩展技术)的压缩能力。小组们正在以称为联合视频探索小组(Joint Video Exploration Team,简称JVET)的联合协作小组共同开展这项探索活动,以评估它们的专家在该领域提出的压缩技术设计。
VTM(通用测试模型)使用35个帧内模式,而BMS(基准集)使用67个帧内模式。帧内预测是在许多视频编码框架中使用的以在仅可以涉及给定帧的情况下提高压缩效率的一种机制。
如图4所示,最新版本的JEM具有与倾斜的帧内预测方向对应的一些模式。对于这些模式中的任一种,如果块侧内的对应位置为分数,则应预测一组相邻参考样本的块插值内的样本。HEVC和VVC采用相邻两个参考样本之间的线性插值。JEM使用更复杂的4抽头插值滤波器。根据宽度或高度值选择滤波器系数为高斯或三次滤波器系数。使用宽度还是使用高度的决策与主参考侧选择的决策相协调:当帧内预测模式大于或等于对角线模式时,选择参考样本的顶侧为主参考侧,并选择宽度值来确定所使用的插值滤波器。否则,从块的左侧选择主参考侧,并且高度控制滤波器选择过程。具体地,如果所选侧长度小于或等于8个样本,则应用三次插值4抽头滤波器。否则,插值滤波器为4抽头高斯滤波器。
表1中给出了JEM中使用的具体滤波器系数。根据子像素偏移和滤波器类型使用从表1中选择的系数进行卷积以计算出预测样本,如下:
Figure BDA0002606595650000111
在该等式中,“>>”表示按位右移运算。
如果选择了三次滤波器,则进一步将预测样本削至允许的值域,所述值域要么在SPS中定义,要么从所选分量的比特深度推导出。
表1:帧内预测插值滤波器
Figure BDA0002606595650000112
Figure BDA0002606595650000121
当参考块的像素的位移为分数时,运动补偿过程还利用滤波来预测样本值。在JEM中,8抽头滤波用于亮度分量,4抽头滤波用于色度分量。首先水平应用运动插值滤波器,然后将水平滤波的输出进一步垂直滤波。表2给出了4抽头色度滤波器的系数。
表2:色度运动插值滤波器系数
Figure BDA0002606595650000122
Figure BDA0002606595650000131
Figure BDA0002606595650000141
不同的视频编码方案在帧内和帧间预测中使用不同的插值滤波器。特别地,图5至7示出了插值滤波器的不同示例。
图5示意性地说明了JEM中使用的插值滤波器。从图中可以看出,对于帧间预测中分数位置处的运动补偿插值,具有6比特系数的8抽头插值滤波器用于luma,具有6比特系数的4抽头插值滤波器用于chroma。此外,对于帧内预测中的帧内参考样本插值,采用具有8比特系数的高斯4抽头插值滤波器或具有8比特系数的三次4抽头插值滤波器。
图6示意性地示出了针对核心实验CE3 3.1.3(G.Van der Auwera等人:JVETK1023“核心实验3(CE3)的描述:帧内预测和模式编码”,版本2)提出的插值滤波器。从图中可以看出,对于帧间预测中分数位置处的运动补偿插值,将具有6比特系数的8抽头插值滤波器用于luma,将具有6比特系数的4抽头插值滤波器用于chroma。此外,对于帧内预测中的帧内参考样本插值,采用具有8比特系数的高斯6抽头插值滤波器或具有8比特系数的三次4抽头插值滤波器。
图7示意性地示出了G.Van der Auwera等人:JVET K0064“CE3相关的:关于MDIS和帧内插值滤波器切换”,版本2提出的插值滤波器。从图中可以看出,对于帧间预测中分数位置处的运动补偿插值,具有6比特系数的8抽头插值滤波器用于luma,具有6比特系数的4抽头插值滤波器用于chroma。此外,对于帧内预测中的帧内参考样本插值,采用具有8比特系数的高斯6抽头插值滤波器或具有8比特系数的三次6抽头插值滤波器。
根据本发明,如果像素值落于参考样本之间的分数位置,则色度运动补偿子像素滤波器的查找表和硬件模块被复用于在帧内预测器内插入像素值。由于打算将相同的硬件用于帧间预测和帧内预测,因此滤波器系数的精度应保持一致,即用于表示帧内参考样本插值的滤波器系数的比特数应与运动子像素运动补偿插值滤波的系数精度一致。
图8示出了所提供的本发明的思想。虚线的“用于chroma的具有6比特系数的4抽头插值滤波器”(进一步称为“统一的帧内/帧间滤波器”)可用于以下两个过程:帧内和帧间预测样本的插值。
图9中示出了采用该设计的另一实施例。在此实现中,将滤波模块实现为同时参与以下两个过程的一个独立的单元:预测运动补偿中的色度样本以及在执行帧内预测时预测亮度和色度样本。在此实现方式中,硬件滤波部分同时用于帧内和帧间预测过程。
如图10所示,另一实施例示出了当仅复用滤波器系数的LUT时的实现方式。在该实施例中,硬件滤波模块从存储在ROM中的LUT加载系数。帧内预测处理中显示的交换机根据为帧内预测处理选择的主侧的长度确定所使用的滤波器类型。
所提供的本申请的一实施例可以使用以下系数(请参见表3)。
表3:帧内和帧间插值滤波器
Figure BDA0002606595650000142
Figure BDA0002606595650000151
Figure BDA0002606595650000161
可以根据子像素偏移和滤波器类型使用从表3中选择的系数进行卷积来计算帧内预测样本,如下:
Figure BDA0002606595650000162
在该等式中,“>>”表示按位右移运算。
如果选择了统一的帧内/帧间滤波器,则进一步将预测样本削至允许的值域,所述值域要么在SPS中定义,要么从所选分量的比特深度推导出。
对于帧内参考样本插值和子像素运动补偿插值,同一滤波器可用于复用硬件模块和减小所需内存的总大小。
除了复用的滤波器之外,用于帧内参考样本插值的滤波器系数的精度应与上述提到的复用的滤波器的系数的精度一致。
需要注意的是,运动补偿中的luma处理不一定使用8抽头滤波,也可以进行4抽头滤波。在这种情况下,可以选择一个4抽头滤波器进行统一。
该方法可以应用于可能涉及插值的帧内预测过程的不同部分。特别地,当扩展主参考样本时,侧参考样本也可以使用统一插值滤波器进行滤波(有关详细信息,请参见V.Drugeon:JVET-K0211“CE3:DC模式,无需划分和修改帧内滤波(测试1.2.1、2.2.2和2.5.1)”版本1)。
块内复制操作也涉及一个插值步骤,该插值步骤可以使用所提出的方法(有关块内复制说明,请参见[Xiaozhong Xu,Shan Liu,Tzu-Der Chuang,Yu-Wen Huang,ShawminLei,Krishnakanth Rapaka,Chao Pang,Vadim Seregin,Ye-Kui Wang,Marta Karczewicz:HEVC屏幕内容编码扩展中的块内复制。IEEE J.Emerg.Sel.Topics Circuits Syst.6(4):409-419(2016)])。提供一种用于帧内预测的方法,该方法包括:将用于色度分量的插值滤波器作为用于块的帧内预测的插值滤波器。
在一实施例中,用于色度分量的插值滤波器的查找表与用于帧内预测的插值滤波器的查找表相同。
在一实施例中,用于色度分量的插值滤波器的查找表与用于帧内预测的插值滤波器的查找表不同。
在一实施例中,插值滤波器为4抽头滤波器。
在一实施例中,用于色度分量的插值滤波器的查找表为:
Figure BDA0002606595650000163
Figure BDA0002606595650000171
提供一种用于帧内预测的方法,所述方法包括:从一组插值滤波器中选择一个插值滤波器用于块的帧内预测。
在一实施例中,所述一组插值滤波器包括高斯滤波器和三次滤波器。
在一实施例中,所选插值滤波器的查找表与用于色度分量的插值滤波器的查找表相同。
在一实施例中,所选插值滤波器为4抽头滤波器。
在一实施例中,所选插值滤波器为三次滤波器。
在一实施例中,所选插值滤波器的查找表为:
Figure BDA0002606595650000181
Figure BDA0002606595650000191
在一实施例中,所选插值滤波器的查找表为:
Figure BDA0002606595650000192
Figure BDA0002606595650000201
提供了一种编码器,包括用于执行上述任一方法的处理电路。
提供了一种解码器,包括用于执行上述任一方法的处理电路。
提供了一种计算机程序产品,包括用于执行上述任一方法的程序代码。
提供了一种解码器,包括:一个或多个处理器;以及非瞬时性计算机可读存储介质,耦合到处理器并存储要由处理器执行的程序,其中,该程序在由处理器执行时配置解码器执行上述任一方法。
提供一种编码器,包括:一个或多个处理器;以及非瞬时性计算机可读存储介质,耦合到处理器并存储要由处理器执行的程序,其中,该程序在由处理器执行时配置编码器执行上述任一方法。
例如,应理解的是,与所描述的方法有关的内容对于用于执行方法的对应设备或系统也同样适用,反之亦然。例如,如果描述了一个具体的方法步骤,对应设备可以包括用于执行所描述的方法步骤的单元,即使此类单元未在图中详细阐述或说明。此外,应理解的是,除非另外具体指出,否则本文中描述的各种示例性方面的特征可彼此组合。
提供一种用于帧内预测的高宽比相关滤波的方法,所述方法包括:
根据待预测块的高宽比为该块选择插值滤波器。
在一示例中,根据对待预测块的帧内预测模式进行阈值化的方向选择插值滤波器。
在一示例中,该方向对应于待预测块的主对角线的角度。
在一示例中,该方向的角度计算为:
Figure BDA0002606595650000211
其中
W,H分别为待预测块的宽度和高度。
在一示例中,该高宽比为:
RA=log2(W)-log2(H),其中,W,H分别为待预测块的宽度和高度。
在一示例中,基于高宽比确定待预测块的主对角线的角度。
在一示例中,基于待预测块的主对角线的角度确定该块的帧内预测模式的阈值。
在一示例中,根据所使用的参考样本所属的那一侧选择插值滤波器。
在一示例中,具有与帧内方向对应的角度的直线将该块划分为两个区域。
在一示例中,使用不同的插值滤波器来预测属于不同区域的参考样本。
在一示例中,滤波器包括三次插值滤波器或高斯插值滤波器。
在本申请的一种实现形式中,帧与图片相同。
在本发明的一种实现形式中,VER_IDX对应的值为50;HOR_IDX对应的值为18;VDIA_IDX对应的值为66且该值可以是对应角度模式的值中的最大值;对应帧内模式2的值2可以是对应角度模式的值中的最小值;DIA_IDX对应的值为34。
本发明的目标是改进帧内模式信令方案。在本发明中,提出了一种视频解码方法和视频解码器。
在本发明的另一方面,公开了一种包括处理电路的解码器,用于执行上述解码方法。
在本发明的另一方面中,提供了一种计算机程序产品,包括用于执行上述任一种解码方法的程序代码。
在本发明的另一方面,提供了一种用于解码视频数据的解码器,所述解码器包括:一个或多个处理器;以及非瞬时性计算机可读存储介质,耦合到处理器并存储要由处理器执行的程序,其中,该程序在由处理器执行时配置解码器执行上述任一种解码方法。
处理电路能够以硬件或硬件和软件的组合来实现,例如通过软件可编程处理器等来实现。
图11是在HEVC UIP方案中使用的多个帧内预测模式的示意图。对于亮度块,帧内预测模式可包括多达36个帧内预测模式,其中可包括3个非方向性模式和33个方向性模式。所述非方向性模式可以包括平面预测模式、均值(DC)预测模式和来自亮度的色度(chromafrom luma,简称LM)预测模式。平面预测模式可以通过假设具有从块的边界推导出的水平和垂直斜率的块振幅表面来进行预测。DC预测模式可以通过假设具有与块边界的平均值匹配的值的平坦块表面来进行预测。LM预测模式可以通过假设块的chroma值与块的luma值匹配来进行预测。方向性模式可以基于相邻块进行预测,如图11所示。
H.264/AVC和HEVC指定,在帧内预测过程中使用参考样本之前,可以将低通滤波器应用于参考样本。由帧内预测模式和块大小决定是否使用参考样本滤波器。这种机制可以称为模式相关的帧内平滑(Mode Dependent Intra Smoothing,简称MDIS)。还存在多种与MDIS相关的方法。例如,自适应参考样本平滑(Adaptive Reference Sample Smoothing,简称ARSS)方法可以显式(即,将标志包括在码流中)或隐式(即,例如,数据隐藏用于避免将标志放入码流中以减少信令开销)用信号指示预测样本是否被滤波。在这种情况下,编码器可以通过测试所有潜在帧内预测模式的速率失真(Rate-Distortion,简称RD)成本做出平滑决策。
如图11所示,最新版本的JEM(JEM-7.2)具有与倾斜的帧内预测方向对应的一些模式。对于这些模式中的任一种,如果块侧内的对应位置为分数,则应预测一组相邻参考样本的块插值内的样本。HEVC和VVC采用相邻两个参考样本之间的线性插值。JEM使用更复杂的4抽头插值滤波器。根据宽度或高度值选择滤波器系数为高斯或三次滤波器系数。使用宽度还是使用高度的决策与主参考侧选择的决策相协调:当帧内预测模式大于或等于对角线模式时,选择参考样本的顶侧为主参考侧,并选择宽度值来确定所使用的插值滤波器。否则,从块的左侧选择主参考侧,并且高度控制滤波器选择过程。具体地,如果所选侧长度小于或等于8个样本,则应用三次插值4抽头滤波器。否则,插值滤波器为4抽头高斯滤波器。
图12示出了在32x4块的情况下,对于小于和大于对角线模式(表示为45°)的模式的插值滤波器选择的示例。
在VVC中,使用基于称为QTBT的四叉树和二叉树的分区机制。如图13所示,QTBT分区不仅可以提供正方形块,还可以提供矩形块。当然,与HEVC/H.265标准中使用的传统的基于四叉树的分区相比,编码器侧的一些信令开销和增加的计算复杂度是QTBT分区的代价。然而,基于QTBT的分区具有更好的分割特性,因此,与传统的四叉树相比,其编码效率明显更高。
但是,当前状态下的VVC将相同的滤波器应用于两侧的参考样本(左侧和顶侧的参考样本)。无论块是垂直方向性还是水平方向性,参考样本滤波器对于两个参考样本侧都是相同的。
在本文中,术语“垂直方向性的块”(“块的垂直方向性”)和“水平方向性的块”(“块的水平方向性”)应用于由QTBT框架生成的矩形块。这些术语的含义与图14所示相同。
本发明提供了一种机制,用于选择不同参考样本滤波器以考虑块的方向性。具体地,独立地检查块的宽度和高度,以将不同的参考样本滤波器应用于位于待预测块的不同侧的参考样本。
在现有技术的评论中,描述了插值滤波器选择与主参考侧选择的决策相协调。这两种决策目前都依赖于帧内预测模式与对角线(45度)方向的比较。
然而,可以注意到的是,该设计对于伸长块具有严重的缺陷。从图15可以看出,即使采用模式比较标准选择较短侧作为主参考侧,大多数预测像素仍将从较长侧的参考样本中推导出(如虚线区域所示)。
本发明提出在插值滤波器选择过程中使用对帧内预测模式进行阈值化的替代方向。具体地,方向对应于待预测块的主对角线的角度。例如,对于大小为32x4和4x32的块,用于确定参考样本滤波器的阈值模式mT被定义为如图16所示。
阈值帧内预测角度的具体值可以使用以下公式计算:
Figure BDA0002606595650000221
其中
W和H分别为块宽度和高度。
本发明的另一实施例根据所使用的参考样本所属的那一侧使用不同的插值滤波器。该确定的示例如图17所示。
具有与帧内方向m对应的角度的直线将预测块划分为两个区域。属于不同区域的样本使用不同的插值滤波器进行预测。
表4中给出了mT的示例值(针对BMS1.0中定义的一组帧内预测模式)和相应角度。角度α如图16所示给出。
表4:mT的示例值(针对BMS1.0中定义的一组帧内预测模式)
Figure BDA0002606595650000231
与现有技术和方案相比,本发明采用通过不同插值滤波器预测的块内样本,其中,用于预测样本的插值滤波器是根据块形状、水平或垂直方向性以及预测模式角度选择的。
本发明可应用于参考样本滤波阶段。尤其,可以使用与上述用于插值滤波器选择过程的规则相似的规则来确定参考样本平滑滤波器。
除了插值滤波,参考样本滤波还可以在预测帧内预测器内的样本之前立即应用于参考样本。参考样本滤波之后获得的滤波参考样本可以用于根据帧内预测模式的所选方向将它们复制到帧内预测器中的相应样本中,或用于进一步的插值滤波。通过这种方式,可以将以下滤波器应用于参考样本:
表5:示例性参考样本滤波器
Figure BDA0002606595650000232
Figure BDA0002606595650000241
图21示出了当前块1130,其以周围的粗体框示出并且包括样本1120。此外,该图示出了相邻块的参考样本1110。例如,参考样本可以是上方块或左侧块的样本。
根据一实施例,所提供的方法包括以下步骤:
1、每个选定的方向性帧内预测模式归类为以下组之一:
A、垂直或水平模式;
B、表示角度的对角线模式,其中,所述角度为45度的倍数;
C、其余方向性模式。
2、如果所述方向性帧内预测模式归类为属于组A,则不对参考样本1110应用滤波以生成属于帧内预测器的样本1120。如图11所示,参考样本1110与具有块边界的待预测块(帧内预测器)1130内的样本1120分离。
3、如果模式属于组B,则将参考样本滤波(表5中所示的任一参考样本滤波器,例如,[1,2,1])应用于参考样本,以根据所选方向进一步将这些滤波值复制到帧内预测器中,但不应用插值滤波。
4、如果模式归类为属于组C,则仅将帧内参考样本插值滤波(例如,表3中呈现的滤波器)应用于参考样本,以根据所选方向生成落于参考样本之间的分数或整数位置的预测样本(不执行参考样本滤波)。
根据一实施例,所提供的方法提供以下步骤:
1、用于当前块的帧内预测处理的方向性帧内预测模式归类为以下组之一:
A、垂直或水平模式;
B、方向性模式,包括表示角度的对角线模式,其中,所述角度为45度的倍数;
C、其余方向性模式。
2、如果所述方向性帧内预测模式归类为属于组B,则将参考样本滤波应用于所述参考样本。
3、如果所述方向性帧内预测模式归类为属于组C,则将帧内参考样本插值滤波应用于所述参考样本。
换言之,根据将用于当前块的帧内预测的帧内预测模式的分类,应用参考样本滤波(分类B)或应用参考样本插值滤波(分类C)。
尤其,根据本实施例,应用样本滤波或样本插值滤波。尤其,在根据方向性帧内预测模式的参考样本不是分数样本的情况下,不应用插值滤波。换言之,在根据预测方向的参考样本落于整数样本上的情况下,不必使用插值滤波。
此外,根据分类,可以根本不使用滤波器。例如,在要用于当前块的帧内预测的帧内预测模式的分类A的情况下,参考样本滤波和参考样本插值滤波均可不使用。
如图21所示,可以从左行和顶行的参考样本获得预测样本。根据帧内预测模式,对于每个预测样本,确定对应的参考样本位置。如果该模式具有非整数斜率,则参考样本的位置为分数,并且通过将插值滤波器应用于与该分数位置相邻的参考样本的子集来获得参考样本值。
该参考样本在参考样本行内的位置相对于预测样本位置具有水平(当帧内预测模式大于DIA_IDX时)或垂直(当帧内预测模式小于DIA_IDX时)偏移。该偏移的值取决于模式的角度以及预测样本到参考样本行的距离。当该帧内预测模式为2或VDIA_IDX时,预测的角度等于45度,该偏移的值等于到参考样本行的距离的值。
组B的对角线模式还可以包括整数斜率广角模式。在这种情况下,与模式DIA_IDX和VDIA_IDX类似,该偏移的值是到参考样本行的距离的倍数,且每个预测样本的参考样本位置为非分数。
例如,在不使用多参考行预测(参考行索引等于零)并且相对于具有位置(0,0)的左上预测样本,块内预测样本的位置等于(1,3)的情况下,当帧内预测模式大于DIA_IDX时,到参考样本行的距离等于4个样本。当帧内预测模式小于DIA_IDX时,该距离等于2。
当帧内预测模式为广角模式且其斜率为整数时,预测样本的值可以计算为:
predSamples[x][y]=p[x+Δ][-1],
Δ=N*(y+1)
否则,当帧内预测模式大于DIA_IDX时,
predSamples[x][y]=p[-1][y+Δ],
Δ=N*(x+1).
这里,Δ表示偏移的值。
45角度模式2和VDIA_IDX的N值等于1。
表示为45度的倍数的角度的模式将使用相同的表达式来确定预测样本“predSamples[x][y]”,但是N的值将大于1且为整数。需要注意的是,表示为45度的倍数的角度的模式不一定包括水平模式和垂直模式。
可以注意到的是,对于广角整数斜率模式的偏移Δ的值是对于模式2和模式VDIA_IDX的偏移的倍数。
通常,偏移的值可以通过参数“intraPredAngle”映射到帧内预测模式(predModeIntra)。该参数到帧内预测模式的具体映射如下表6所示:
表6:intraPredAngle的说明
Figure BDA0002606595650000251
Figure BDA0002606595650000261
基于intraPredAngle推导出反角参数invAngle,如下:
Figure BDA0002606595650000262
下面描述了预测样本的示例性推导:
x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]的值如下推导出:
-如果predModeIntra大于或等于34,则应用以下有序步骤:
1、参考样本阵列ref[x]如下指定:
-应用以下内容:
ref[x]=p[-1-refIdx+x][-1-refIdx],其中x=0..nTbW+refIdx
-如果intraPredAngle小于0,则将主参考样本阵列进行如下扩展:
-当(nTbH*intraPredAngle)>>5小于-1,
ref[x]=p[-1-refIdx][-1-refIdx+((x*invAngle+128)>>8)],
其中x=-1..(nTbH*intraPredAngle)>>5
ref[((nTbH*intraPredAngle)>>5)-1]=ref[(nTbH*intraPredAngle)>>5]
ref[nTbW+1+refIdx]=ref[nTbW+refIdx]
-否则,
ref[x]=p[-1-refIdx+x][-1-refIdx],其中x=nTbW+1+refIdx..refW+refIdx
ref[-1]=ref[0]
-x=1..(Max(1,nTbW/nTbH)*refIdx+1)的附加样本ref[refW+refIdx+x]
如下推导出:
ref[refW+refIdx+x]=p[-1+refW][-1-refIdx]
2、x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]的值如下推导出:
-索引变量iIdx和乘法因子iFact如下推导出:
iIdx=((y+1+refIdx)*intraPredAngle)>>5+refIdx
iFact=((y+1+refIdx)*intraPredAngle)&31
-如果cIdx等于0,应用以下内容:
-j=0..3的插值滤波器系数fT[j]如下推导出:
fT[j]=filterFlag?fG[iFact][j]:fC[iFact][j]
-预测样本predSamples[x][y]的值如下推导出:
Figure BDA0002606595650000271
-否则(cIdx不等于0),根据iFact的值,应用以下内容:
-如果iFact不等于0,则预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5
-否则,预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=ref[x+iIdx+1]
-否则(predModeIntra小于34),应用以下有序步骤:
3、参考样本阵列ref[x]如下指定:
-应用以下内容:
ref[x]=p[-1-refIdx][-1-refIdx+x],其中x=0..nTbH+refIdx
-如果intraPredAngle小于0,则将主参考样本阵列进行如下扩展:
-当(nTbW*intraPredAngle)>>5小于-1,
ref[x]=p[-1-refIdx+((x*invAngle+128)>>8)][-1-refIdx],
其中x=-1..(nTbW*intraPredAngle)>>5
ref[((nTbW*intraPredAngle)>>5)-1]=ref[(nTbW*intraPredAngle)>>5]
ref[nTbG+1+refIdx]=ref[nTbH+refIdx]
-否则,
ref[x]=p[-1-refIdx][-1-refIdx+x],其中x=nTbH+1+refIdx..refH+refIdx
ref[-1]=ref[0]
-x=1..(Max(1,nTbW/nTbH)*refIdx+1)的附加样本ref[refH+refIdx+x]如下推导出:
ref[refH+refIdx+x]=p[-1+refH][-1-refIdx]
4、x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]的值如下推导出:
-索引变量iIdx和乘法因子iFact如下推导出:
iIdx=((x+1+refIdx)*intraPredAngle)>>5
iFact=((x+1+refIdx)*intraPredAngle)&31
-如果cIdx等于0,应用以下内容:
-j=0..3的插值滤波器系数fT[j]如下推导出:
fT[j]=filterFlag?fG[iFact][j]:fC[iFact][j]
-预测样本predSamples[x][y]的值如下推导出:
Figure BDA0002606595650000281
-否则(cIdx不等于0),根据iFact的值,应用以下内容:
-如果iFact不等于0,则预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=
((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5
-否则,预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=ref[y+iIdx+1]
从上面的示例和上面的表格可以看出,对于某些模式的插值调用是多余的。具体地,这发生在相应的intraPredAngle参数为32的倍数的模式下。值32对应于具有整数45度斜率的模式。实际上,predAngle的值是将用于与参考样本行相邻的预测样本的偏移的值的5比特定点整数表示。
具体地,对于模式[-14,-12,-10,-6,2,34,66,72,76,78,80],预测样本的计算不需要插值。预测样本的值可以通过复制参考样本得到。
下文给出了包含本发明实施例的示例性实现方式的VVC草案规范的一个版本:
8.4.4.2.1通用帧内样本预测
该过程的输入是:
-样本位置(xTbCmp,yTbCmp),指定相对于当前图片的左上样本的当前转换块的左上样本;
-变量predModeIntra,指定帧内预测模式;
-变量nTbW,指定转换块宽度;
-变量nTbH,指定转换块高度;
-变量nCbW,指定编码块宽度;
-变量nCbH,指定编码块高度;
-变量cIdx,指定当前块的颜色分量。
该过程的输出是x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]。
变量refW和refH如下推导出:
-如果IntraSubPartitionsSplitType等于ISP_NO_SPLIT或cIdx不等于0,则应用以下内容:
refW=nTbW*2 (8-103)
refH=nTbH*2 (8-104)
-否则(IntraSubPartitionsSplitType不等于ISP_NO_SPLIT且cIdx等于0),应用以下内容:
refW=nCbW*2 (8-105)
refH=nCbH*2 (8-106)
指定帧内预测参考行索引的变量refIdx如下推导出:
refIdx=(cIdx==0)?IntraLumaRefLineIdx[xTbCmp][yTbCmp]:0 (8-107)
对于x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本p[x][y]的生成,应用以下有序步骤:
1、如在Bross B等人:“通用视频编码(草案4)”,JVET-M1001-v7,2019年3月(在下文中,该文档称为JVET-M1001-v7)的小节8.4.4.2.2中指定的参考样本可用性标记过程通过使用样本位置(xTbCmp,yTbCmp)、帧内预测参考行索引refIdx、参考样本宽度refW、参考样本高度refH以及颜色分量索引cIdx作为输入并且使用x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本refUnfilt[x][y]作为输出进行调用。
2、当至少一个x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的样本refUnfilt[x][y]标记为“不可用于帧内预测”时,如在JVET-M1001-v7的小节8.4.4.2.3中指定的参考样本替代过程通过使用帧内预测参考行索引refIdx、参考样本宽度refW、参考样本高度refH、x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本refUnfilt[x][y]以及颜色分量索引cIdx作为输入并且使用修改后的x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本refUnfilt[x][y]作为输出进行调用。
3、如果predModeIntra等于INTRA_DC,则将RefFilterFlag设置为等于0。否则,通过采用帧内预测模式predModeIntra、帧内预测参考行索引refIdx、转换块宽度nTbW、转换块高度nTbH、编码块宽度nCbW和高度nCbH以及颜色分量索引cIdx调用在下面的小节8.4.4.2.7中指定的相应的intraPredAngle参数和滤波器标志推导过程,得到参数intraPredAngle、RefFilterFlag和InterpolationFlag。
4、如在下面的小节8.4.4.2.4中指定的参考样本滤波过程通过使用帧内预测参考行索引refIdx、转换块宽度nTbW和高度nTbH、参考样本宽度refW、参考样本高度refH,未滤波的x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的样本refUnfilt[x][y]、RefFilterFlag参数以及颜色分量索引cIdx作为输入并且使用x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本p[x][y]作为输出进行调用。
根据predModeIntra的帧内样本预测过程应用如下:
-如果predModeIntra等于INTRA_PLANAR,在JVET-M1001-v7的小节8.4.4.2.5中指定的相应的帧内预测模式过程则通过使用转换块宽度nTbW、转换块高度nTbH和参考样本阵列p作为输入并且使用预测样本阵列predSamples作为输出进行调用。
-否则,如果predModeIntra等于INTRA_DC,在JVET-M1001-v7的小节8.4.4.2.6中指定的相应的帧内预测模式过程则通过使用转换块宽度nTbW、转换块高度nTbH和参考样本阵列p作为输入并且使用预测样本阵列predSamples作为输出进行调用。
-否则,如果predModeIntra等于INTRA_LT_CCLM、INTRA_L_CCLM或INTRA_T_CCLM,在小节8.4.4.2.8中指定的相应的帧内预测模式过程则通过使用帧内预测模式predModeIntra、设置为等于(xTbCmp,yTbCmp)的样本位置(xTbC,yTbC)、转换块宽度nTbW和高度nTbH以及参考样本阵列p作为输入并且使用预测样本阵列predSamples作为输出进行调用。
-否则,在下面的小节8.4.4.2.8中指定的相应的帧内预测模式过程则通过使用帧内预测模式predModeIntra、帧内预测参考行索引refIdx、转换块宽度nTbW、转换块高度nTbH、参考样本宽度refW、参考样本高度refH、编码块宽度nCbW和高度nCbH、插值滤波器选择标志InterpolationFlag、参考滤波器标志RefFilterFlag以及参考样本阵列p作为输入并且使用修改后的帧内预测模式predModeIntra和预测样本阵列predSamples作为输出进行调用。
当以下所有条件均成立时,在JVET-M1001-v7的小节8.4.4.2.9中指定的位置相关的预测样本滤波过程通过使用帧内预测模式predModeIntra、转换块宽度nTbW、转换块高度nTbH、x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]、参考样本宽度refW、参考样本高度refH、x=-1,y=-1..refH-1和x=0..refW-1,y=-1的参考样本p[x][y]以及颜色分量索引cIdx作为输入并且使用修改后的预测样本阵列predSamples作为输出进行调用:
-IntraSubPartitionsSplitType等于ISP_NO_SPLIT或cIdx不等于0;
-refIdx等于0或cIdx不等于0;
-以下条件中的一个成立:
-predModeIntra等于INTRA_PLANAR;
-predModeIntra等于INTRA_DC;
-predModeIntra等于INTRA_ANGULAR18;
-predModeIntra等于INTRA_ANGULAR50;
-predModeIntra小于或等于INTRA_ANGULAR10;
-predModeIntra大于或等于INTRA_ANGULAR58。
8.4.4.2.4参考样本滤波过程
该过程的输入是:
-变量refIdx,指定帧内预测参考行索引;
-变量nTbW,指定转换块宽度;
-变量nTbH,指定转换块高度;
-变量refW,指定参考样本宽度;
-变量refH,指定参考样本高度;
- x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的(未滤波的)相邻样本refUnfilt[x][y];
- RefFilterFlag参数。
该过程的输出为x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本p[x][y]。
对于参考样本p[x][y]的推导,应用以下内容:
-如果RefFilterFlag等于1,则x=-1,y=-1..refH-1和x=0..refW-1,y=-1的滤波样本值p[x][y]如下推导出:
p[-1][-1]=(refUnfilt[-1][0]+2*refUnfilt[-1][-1]+refUnfilt[0][-1]+2)>>2
(8-111)
p[-1][y]=(refUnfilt[-1][y+1]+2*refUnfilt[-1][y]+refUnfilt[-1][y-1]+2)>>2对于y=0..refH-2 (8-112)
p[-1][refH-1]=refUnfilt[-1][refH-1] (8-113)
p[x][-1]=(refUnfilt[x-1][-1]+2*refUnfilt[x][-1]+refUnfilt[x+1][-1]+2)>>2对于x=0..refW-2 (8-114)
p[refW-1][-1]=refUnfilt[refW-1][-1] (8-115)
-否则,参考样本值p[x][y]设置为等于未滤波的x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的样本值refUnfilt[x][y]。
8.4.4.2.7 intraPredAngle参数和滤波器标志推导的说明
该过程的输入是:
-帧内预测模式predModeIntra;
-变量nTbW,指定转换块宽度;
-变量nTbH,指定转换块高度;
-变量nCbW,指定编码块宽度;
-变量nCbH,指定编码块高度;
-颜色分量索引cIdx。
该过程的输出是修改后的帧内预测模式predModeIntra、intraPredAngle参数、RefFilterFlag和InterpolationFlag变量。
变量nW和nH如下推导出:
-如果IntraSubPartitionsSplitType等于ISP_NO_SPLIT或cIdx不等于0,则应用以下内容:
nW=nTbW
nH=nTbH
-否则(IntraSubPartitionsSplitType不等于ISP_NO_SPLIT且cIdx等于0),应用以下内容:
nW=nCbW
nH=nCbH
变量whRatio设置为等于Abs(Log2(nW/nH))。
对于非正方形块(nW不等于nH),对帧内预测模式predModeIntra进行如下修改:
-如果以下所有条件都成立,则将predModeIntra设置为等于(predModeIntra+65):
-nW大于nH;
-predModeIntra大于或等于2;
-predModeIntra小于(whRatio>1)?(8+2*whRatio):8。
-否则,如果以下所有条件都成立,则将redModeIntra设置为等于(predModeIntra-67):
-nH大于nW;
-predModeIntra小于或等于66;
-predModeIntra大于(whRatio>1)?(60-2*whRatio):60。
使用predModeIntra值按表7中的指定确定角度参数intraPredAngle。
表7:intraPredAngle的说明
predModeIntra -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 2 3 4
intraPredAngle 512 341 256 171 128 102 86 73 64 57 51 45 39 35 32 29 26
predModeIntra 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
intraPredAngle 23 20 18 16 14 12 10 8 6 4 3 2 1 0 -1 -2 -3
predModeIntra 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
intraPredAngle -4 -6 -8 -10 -12 -14 -16 -18 -20 -23 -26 -29 -32 -29 -26 -23 -20
predModeIntra 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
intraPredAngle -18 -16 -14 -12 -10 -8 -6 -4 -3 -2 -1 0 1 2 3 4 6
predModeIntra 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
intraPredAngle 8 10 12 14 16 18 20 23 26 29 32 35 39 45 51 57 64
predModeIntra 73 74 75 76 77 78 79 80
intraPredAngle 73 86 102 128 171 256 341 512
变量filterFlag如下推导出:
-如果以下一个或多个条件成立,则将filterFlag设置为等于0:
- cIdx不等于0;
- refIdx不等于0;
- IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,cIdx等于0,predModeIntra大于或等于INTRA_ANGULAR34,且nW大于8;
- IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,cIdx等于0,predModeIntra小于INTRA_ANGULAR34,且nH大于8。
-否则,如果predModeIntra为INTRA_PLANAR,则将变量filterFlag设置为等于nTbS>5?1:0。
-否则,如果ntraPredAngle大于32,则将变量filterFlag设置为等于1。
-否则,应用以下内容:
-将变量minDistVerHor设置为等于Min(Abs(predModeIntra-50),Abs(predModeIntra-18))。
-变量intraHorVerDistThres[nTbS]在表8中指定。
-变量filterFlag如下推导出:
-如果minDistVerHor大于intraHorVerDistThres[nTbS]或Abs(intraPredAngle)>32,则将filterFlag设置为等于1。
表8:各种转换块大小nTbS的intraHorVerDistThres[nTbS]的说明
nTbS=2 nTbS=3 nTbS=4 nTbS=5 nTbS=6 nTbS=7
intraHorVerDistThres[nTbS] 16 14 2 0 0 0
输出变量RefFilterFlag和InterpolationFlag如下推导出:
-如果predModeIntra为INTRA_PLANAR或predIntraAng为32的整数倍,则变量RefFilterFlag设置为等于filterFlag,InterpolationFlag设置为等于0;
-否则,变量RefFilterFlag设置为等于0,InterpolationFlag设置为等于filterFlag。
信息性:对于任何predModeIntra,RefFilterFlag和InterpolationFlag不能都等于1(请参见表9):
表9:RefFilterFlag和InterpolationFlag的说明(信息性)
Figure BDA0002606595650000331
8.4.4.2.8角度帧内预测模式的说明
该过程的输入是:
-帧内预测模式predModeIntra;
- intraPredAngle参数;
-变量refIdx,指定帧内预测参考行索引;
-变量nTbW,指定转换块宽度;
-变量nTbH,指定转换块高度;
-变量refW,指定参考样本宽度;
-变量refH,指定参考样本高度;
-变量nCbW,指定编码块宽度;
-变量nCbH,指定编码块高度;
-变量InterpolationFlag,指定4抽头滤波器插值的使用情况;
-变量RefFilterFlag,指定相邻样本是否被滤波;
- x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的相邻样本p[x][y]。
该过程的输出是修改后的帧内预测模式predModeIntra和x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]。
变量nTbS设置为等于(Log2(nTbW)+Log2(nTbH))>>1。
图18示出了93个预测方向,其中虚线方向与仅应用于非正方形块的广角模式相关联。
基于intraPredAngle推导出反角参数invAngle,如下:
Figure BDA0002606595650000341
表10中指定了phase=0..31和j=0..3的插值滤波器系数fC[phase][j]和fG[phase][j]。
表10:插值滤波器系数fC和fG的说明
Figure BDA0002606595650000342
Figure BDA0002606595650000351
x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]的值如下推导出:
-如果predModeIntra大于或等于34,则应用以下有序步骤:
1、参考样本阵列ref[x]如下指定:
-应用以下内容:
ref[x]=p[-1-refIdx+x][-1-refIdx],其中x=0..nTbW+refIdx
-如果intraPredAngle小于0,则将主参考样本阵列进行如下扩展:
-当(nTbH*intraPredAngle)>>5小于-1,
ref[x]=p[-1-refIdx][-1-refIdx+((x*invAngle+128)>>8)],
其中x=-1..(nTbH*intraPredAngle)>>5
ref[((nTbH*intraPredAngle)>>5)-1]=ref[(nTbH*intraPredAngle)>>5]
ref[nTbW+1+refIdx]=ref[nTbW+refIdx]
-否则,
ref[x]=p[-1-refIdx+x][-1-refIdx],其中x=nTbW+1+refIdx..refW+refIdx
ref[-1]=ref[0]
- x=1..(Max(1,nTbW/nTbH)*refIdx+1)的附加样本ref[refW+refIdx+x]如下推导出:
ref[refW+refIdx+x]=p[-1+refW][-1-refIdx]
2、x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]的值如下推导出:
-索引变量iIdx和乘法因子iFact如下推导出:
iIdx=((y+1+refIdx)*intraPredAngle)>>5+refIdx
iFact=((y+1+refIdx)*intraPredAngle)&31
-如果RefFilterFlag等于0,则应用以下内容:
- j=0..3的插值滤波器系数fT[j]如下推导出:
fT[j]=InterpolationFlag?fG[iFact][j]:fC[iFact][j]
-预测样本predSamples[x][y]的值如下推导出:
Figure BDA0002606595650000361
-否则(RefFilterFlag不等于0),根据iFact的值,应用以下内容:
-如果iFact不等于0,则预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=
((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5
-否则,预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=ref[x+iIdx+1]
-否则(predModeIntra小于34),应用以下有序步骤:
1、参考样本阵列ref[x]如下指定:
-应用以下内容:
ref[x]=p[-1-refIdx][-1-refIdx+x],其中x=0..nTbH+refIdx
-如果intraPredAngle小于0,则将主参考样本阵列进行如下扩展:
-当(nTbW*intraPredAngle)>>5小于-1,
ref[x]=p[-1-refIdx+((x*invAngle+128)>>8)][-1-refIdx],
其中x=-1..(nTbW*intraPredAngle)>>5
ref[((nTbW*intraPredAngle)>>5)-1]=ref[(nTbW*intraPredAngle)>>5]
ref[nTbG+1+refIdx]=ref[nTbH+refIdx]
-否则,
ref[x]=p[-1-refIdx][-1-refIdx+x],其中x=nTbH+1+refIdx..refH+refIdxref[-1]=ref[0]
-x=1..(Max(1,nTbW/nTbH)*refIdx+1)的附加样本ref[refH+refIdx+x]如下推导出:
ref[refH+refIdx+x]=p[-1+refH][-1-refIdx]
2、x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]的值如下推导出:
-索引变量iIdx和乘法因子iFact如下推导出:
iIdx=((x+1+refIdx)*intraPredAngle)>>5
iFact=((x+1+refIdx)*intraPredAngle)&31
-如果RefFilterFlag等于0,则应用以下内容:
- j=0..3的插值滤波器系数fT[j]如下推导出:
fT[j]=InterpolationFlag?fG[iFact][j]:fC[iFact][j]
-预测样本predSamples[x][y]的值如下推导出:
Figure BDA0002606595650000371
-否则(RefFilterFlag不等于0),根据iFact的值,应用以下内容:
-如果iFact不等于0,则预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=
((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5
-否则,预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=ref[y+iIdx+1]
基于预测块的大小,广角模式可以属于不同的组。在下面给出的示例中,这些模式仍然属于组“B”或组“C”,取决于它们是否具有非分数斜率。但是,对于组“C”的模式的插值滤波器的选择和对于组“B”的模式的参考样本滤波步骤的存在将取决于块的大小。filterFlag推导的一部分可以进行如下修改:
变量filterFlag如下推导出:
-如果以下一个或多个条件成立,则将filterFlag设置为等于0:
- cIdx不等于0;
- refIdx不等于0;
- IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,cIdx等于0,predModeIntra大于或等于INTRA_ANGULAR34,且nW大于8;
- IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,cIdx等于0,predModeIntra小于INTRA_ANGULAR34,且nH大于8。
-否则,如果predModeIntra为INTRA_PLANAR,则将变量filterFlag设置为等于nTbS>5?1:0。
-否则,如果intraPredAngle大于32且nTbW*nTbH大于32,则将变量filterFlag设置为等于1。
-否则,应用以下内容:
-将变量minDistVerHor设置为等于Min(Abs(predModeIntra-50),Abs(predModeIntra-18))。
-变量intraHorVerDistThres[nTbS]在表11中指定。
-变量filterFlag如下推导出:
-如果minDistVerHor大于intraHorVerDistThres[nTbS]或Abs(intraPredAngle)>32,则将filterFlag设置为等于1。
表11:各种转换块大小nTbS的intraHorVerDistThres[nTbS]的说明
nTbS=2 nTbS=3 nTbS=4 nTbS=5 nTbS=6 nTbS=7
intraHorVerDistThres[nTbS] 16 14 2 0 0 0
广角模式可以是指示左下象限的下部或右上象限的右部的方向的模式。具体地,在图18所示的示例中,广角模式是模式-14至-1以及模式67至80。
下文给出了包含本发明实施例的示例性实现方式的VVC草案规范的另一版本,其包括下面与参考样本滤波有关的部分:
对于x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本p[x][y]的生成,应用以下有序步骤:
1、如在JVET-M1001-v7的小节8.4.4.2.2中指定的参考样本可用性标记过程通过使用样本位置(xTbCmp,yTbCmp)、帧内预测参考行索引refIdx、参考样本宽度refW、参考样本高度refH以及颜色分量索引cIdx作为输入并且使用x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本refUnfilt[x][y]作为输出进行调用。
2、当至少一个x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的样本refUnfilt[x][y]标记为“不可用于帧内预测”时,如在JVET-M1001-v7的小节8.4.4.2.3中指定的参考样本替代过程通过使用帧内预测参考行索引refIdx、参考样本宽度refW、参考样本高度refH、x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本refUnfilt[x][y]以及颜色分量索引cIdx作为输入并且使用修改后的x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本refUnfilt[x][y]作为输出进行调用。如果predModeIntra不等于INTRA_PLANAR且predModeIntra不等于INTRA_DC,则通过调用在下面的小节8.4.4.2.7中指定的相应的帧内预测模式过程来获取参数intraPredAngle;否则,如果predModeIntra等于INTRA_PLANAR,则将intraPredAngle设置为32,否则将intraPredAngle设置为0。
3、如在下面的小节8.4.4.2.4中指定的参考样本滤波过程通过使用帧内预测参考行索引refIdx、转换块宽度nTbW和高度nTbH、参考样本宽度refW、参考样本高度refH,未滤波的x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的样本refUnfilt[x][y]、intraPredAngle参数以及颜色分量索引cIdx作为输入并且使用x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本p[x][y]作为输出进行调用。
根据predModeIntra的帧内样本预测过程应用如下:
-如果predModeIntra等于INTRA_PLANAR,在JVET-M1001-v7的小节8.4.4.2.5中指定的相应的帧内预测模式过程则通过使用转换块宽度nTbW、转换块高度nTbH和参考样本阵列p作为输入并且使用预测样本阵列predSamples作为输出进行调用。
-否则,如果predModeIntra等于INTRA_DC,在JVET-M1001-v7的小节8.4.4.2.6中指定的相应的帧内预测模式过程则通过使用转换块宽度nTbW、转换块高度nTbH和参考样本阵列p作为输入并且使用预测样本阵列predSamples作为输出进行调用。
-否则,如果predModeIntra等于INTRA_LT_CCLM、INTRA_L_CCLM或INTRA_T_CCLM,在下面的小节8.4.4.2.8中指定的相应的帧内预测模式过程则通过使用帧内预测模式predModeIntra、设置为等于(xTbCmp,yTbCmp)的样本位置(xTbC,yTbC)、转换块宽度nTbW和高度nTbH以及参考样本阵列p作为输入并且使用预测样本阵列predSamples作为输出进行调用。
-否则,如果以下一个或多个条件成立,则将fourTapFlag设置为等于0:
-颜色分量索引cIdx不等于0;
- intraPredAngle是32的倍数。
-否则,在下面的小节8.4.4.2.7中指定的相应的帧内预测模式过程则通过使用帧内预测模式predModeIntra、帧内预测参考行索引refIdx、转换块宽度nTbW、转换块高度nTbH、参考样本宽度refW、参考样本高度refH、编码块宽度nCbW和高度nCbH、fourTapFlag、以及参考样本阵列p作为输入并且使用修改后的帧内预测模式predModeIntra和预测样本阵列predSamples作为输出进行调用。
8.4.4.2.4参考样本滤波过程
该过程的输入是:
-变量refIdx,指定帧内预测参考行索引;
-变量nTbW,指定转换块宽度;
-变量nTbH,指定转换块高度;
-变量refW,指定参考样本宽度;
-变量refH,指定参考样本高度;
-x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的(未滤波的)相邻样本refUnfilt[x][y];
-predIntraAngle参数;
-变量cIdx,指定当前块的颜色分量。
该过程的输出为x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的参考样本p[x][y]。
变量filterFlag如下推导出:
-如果以下所有条件均成立,则将filterFlag设置为等于1:
- refIdx等于0;
- nTbW*nTbH大于32;
- cIdx等于0;
- IntraSubPartitionsSplitType等于ISP_NO_SPLIT;
- predIntraAngle不等于0且是32的倍数。
-否则,将filterFlag设置为等于0。
对于参考样本p[x][y]的推导,应用以下内容:
-如果filterFlag等于1,则x=-1,y=-1..refH-1和x=0..refW-1,y=-1的滤波样本值p[x][y]如下推导出:
p[-1][-1]=(refUnfilt[-1][0]+2*refUnfilt[-1][-1]+refUnfilt[0][-1]+2)>>2
p[-11[y]=(refUnfilt[-1][y+1]+2*refUnfilt[-1][y]+refUnfilt[-1][y-1]+2)>>2对于y=0..refH-2 (8-112)
p[-1][refH-1]=refUnfilt[-1][refH-1] (8-113)
p[x][-1]=(refUnfilt[x-1][-1]+2*refUnfilt[x][-1]+refUnfilt[x+1][-1]+2)>>2对于x=0..refW-2 (8-114)
p[refW-1][-1]=refUnfilt[refW-1][-1] (8-115)
-否则,参考样本值p[x][y]设置为等于未滤波的x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的样本值refUnfilt[x][y]。
8.4.4.2.7 intraPredAngle参数的说明
该过程的输入是:
-帧内预测模式predModeIntra;
-变量nTbW,指定转换块宽度;
-变量nTbH,指定转换块高度;
-变量nCbW,指定编码块宽度;
-变量nCbH,指定编码块高度。
该过程的输出是修改后的帧内预测模式predModeIntra、intraPredAngle参数和filterFlag变量。
变量nW和nH如下推导出:
-如果IntraSubPartitionsSplitType等于ISP_NO_SPLIT或cIdx不等于0,则应用以下内容:
nW=nTbW (8-125)
nH=nTbH (8-126)
-否则(IntraSubPartitionsSplitType不等于ISP_NO_SPLIT且cIdx等于0),应用以下内容:
nW=nCbW (8-127)
nH=nCbH (8-128)
变量whRatio设置为等于Abs(Log2(nW/nH))。
对于非正方形块(nW不等于nH),对帧内预测模式predModeIntra进行如下修改:
-如果以下所有条件都成立,则将predModeIntra设置为等于(predModeIntra+65):
-nW大于nH;
-predModeIntra大于或等于2;
-predModeIntra小于(whRatio>1)?(8+2*whRatio):8。
-否则,如果以下所有条件都成立,则将redModeIntra设置为等于(predModeIntra-67):
-nH大于nW;
-predModeIntra小于或等于66;
-predModeIntra大于(whRatio>1)?(60-2*whRatio):60。
使用predModeIntra值按表12中的指定确定角度参数intraPredAngle。
表12:intraPredAngle的说明
predModeIntra -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 2 3 4
intraPredAngle 512 341 256 171 128 102 86 73 64 57 51 45 39 35 32 29 26
predModeIntra 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
intraPredAngle 23 20 18 16 14 12 10 8 6 4 3 2 1 0 -1 -2 -3
predModeIntra 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
intraPredAngle -4 -6 -8 -10 -12 -14 -16 -18 -20 -23 -26 -29 -32 -29 -26 -23 -20
predModeIntra 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
intraPredAngle -18 -16 -14 -12 -10 -8 -6 -4 -3 -2 -1 0 1 2 3 4 6
predModeIntra 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
intraPredAngle 8 10 12 14 16 18 20 23 26 29 32 35 39 45 51 57 64
predModeIntra 73 74 75 76 77 78 79 80
intraPredAngle 73 86 102 128 171 256 341 512
变量filterFlag如下推导出:
-如果以下一个或多个条件成立,则将filterFlag设置为等于0:
-refIdx不等于0;
-IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,cIdx等于0,predModeIntra大于或等于INTRA_ANGULAR34,且nW大于8;
-IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,cIdx等于0,predModeIntra小于INTRA_ANGULAR34,且nH大于8。
-否则,应用以下内容:
-将变量minDistVerHor设置为等于Min(Abs(predModeIntra-50),Abs(predModeIntra-18))。
-变量intraHorVerDistThres[nTbS]在表11中指定。
-变量filterFlag如下推导出:
-如果minDistVerHor大于intraHorVerDistThres[nTbS]或Abs(intraPredAngle)>32,则将filterFlag设置为等于1。
8.4.4.2.8角度帧内预测模式的说明
该过程的输入是:
-帧内预测模式predModeIntra;
- intraPredAngle参数;
-变量refIdx,指定帧内预测参考行索引;
-变量nTbW,指定转换块宽度;
-变量nTbH,指定转换块高度;
-变量refW,指定参考样本宽度;
-变量refH,指定参考样本高度;
-变量nCbW,指定编码块宽度;
-变量nCbH,指定编码块高度;
-变量fourTapFlag,指定4抽头滤波器插值的使用情况;
-变量filterFlag;
-x=-1-refIdx,y=-1-refIdx..refH-1和x=-refIdx..refW-1,y=-1-refIdx的相邻样本p[x][y]。
该过程的输出是修改后的帧内预测模式predModeIntra和x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]。
变量nTbS设置为等于(Log2(nTbW)+Log2(nTbH))>>1。
变量filterFlag如下推导出:
-如果以下一个或多个条件成立,则将filterFlag设置为等于0:
-refIdx不等于0;
-IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,cIdx等于0,predModeIntra大于或等于INTRA_ANGULAR34,且nW大于8;
-IntraSubPartitionsSplitType不等于ISP_NO_SPLIT,cIdx等于0,predModeIntra小于INTRA_ANGULAR34,且nH大于8。
-否则,应用以下内容:
-将变量minDistVerHor设置为等于Min(Abs(predModeIntra-50),Abs(predModeIntra-18))。
-变量intraHorVerDistThres[nTbS]在表13中指定。
-变量intraHorVerDistThres[nTbS]在表13中指定。
-如果minDistVerHor大于intraHorVerDistThres[nTbS]或Abs(intraPredAngle)大于32,则将filterFlag设置为等于1。
-否则,将filterFlag设置为等于0。
表13:各种转换块大小nTbS的intraHorVerDistThres[nTbS]的说明
nTbS=2 nTbS=3 nTbS=4 nTbS=5 nTbS=6 nTbS=7
intraHorVerDistThres[nTbS] 16 14 2 0 0 0
图18示出了93个预测方向,其中虚线方向与仅应用于非正方形块的广角模式相关联。
基于intraPredAngle推导出反角参数invAngle,如下:
Figure BDA0002606595650000431
表14中指定了phase=0..31和j=0..3的插值滤波器系数fC[phase][j]和fG[phase][j]。
表14:插值滤波器系数fC和fG的说明
Figure BDA0002606595650000432
Figure BDA0002606595650000441
x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]的值如下推导出:
-如果predModeIntra大于或等于34,则应用以下有序步骤:
1、参考样本阵列ref[x]如下指定:
-应用以下内容:
ref[x]=p[-1-refIdx+x][-1-refIdx],其中x=0..nTbW+refIdx (8-130)
-如果intraPredAngle小于0,则将主参考样本阵列进行如下扩展:
-当(nTbH*intraPredAngle)>>5小于-1,
ref[x]=p[-1-refIdx][-1-refIdx+((x*invAngle+128)>>8)],其中x=-1..(nTbH*intraPredAngle)>>5 (8-131)
ref[((nTbH*intraPredAngle)>>5)-1]=ref[(nTbH*intraPredAngle)>>5] (8-132)
ref[nTbW+1+refIdx]=ref[nTbW+refIdx] (8-133)
-否则,
ref[x]=p[-1-refIdx+x][-1-refIdx],其中x=nTbW+1+refIdx..refW+refIdx (8-134)
ref[-1]=ref[0] (8-135)
-x=1..(Max(1,nTbW/nTbH)*refIdx+1)的附加样本ref[refW+refIdx+x]如下推导出:
ref[refW+refIdx+x]=p[-1+refW][-1-refIdx] (8-136)
2、x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]的值如下推导出:
-索引变量iIdx和乘法因子iFact如下推导出:
iIdx=((y+1+refIdx)*intraPredAngle)>>5+refIdx (8-137)
iFact=((y+1+refIdx)*intraPredAngle)&31 (8-138)
-如果fourTapFlag等于1,应用以下内容:
-j=0..3的插值滤波器系数fT[j]如下推导出:
fT[j]=filterFlag?fG[iFact][j]:fC[iFact][j] (8-139)
-预测样本predSamples[x][y]的值如下推导出:
Figure BDA0002606595650000451
-否则(fourTapFlag不等于1),根据iFact的值,应用以下内容:
-如果iFact不等于0,则预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=
((32-iFact)*ref[x+iIdx+1]+iFact*ref[x+iIdx+2]+16)>>5 (8-141)
-否则,预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=ref[x+iIdx+1] (8-142)
-否则(predModeIntra小于34),应用以下有序步骤:
1、参考样本阵列ref[x]如下指定:
-应用以下内容:
ref[x]=p[-1-refIdx][-1-refIdx+x],其中x=0..nTbH+refIdx (8-143)
-如果intraPredAngle小于0,则将主参考样本阵列进行如下扩展:
-当(nTbW*intraPredAngle)>>5小于-1,
ref[x]=p[-1-refIdx+((x*invAngle+128)>>8)][-1-refIdx],
其中x=-1..(nTbW*intraPredAngle)>>5 (8-144)
ref[((nTbW*intraPredAngle)>>5)-1]=ref[(nTbW*intraPredAngle)>>5] (8-145)
ref[nTbG+1+refIdx]=ref[nTbH+refIdx] (8-146)
-否则,
ref[x]=p[-1-refIdx][-1-refIdx+x],其中x=nTbH+1+refIdx..refH+refIdx
(8-147)
ref[-1]=ref[0] (8-148)
-x=1..(Max(1,nTbW/nTbH)*refIdx+1)的附加样本ref[refH+refIdx+x]如下推导出:
ref[refH+refIdx+x]=p[-1+refH][-1-refIdx] (8-149)
2、x=0..nTbW-1,y=0..nTbH-1的预测样本predSamples[x][y]的值如下推导出:
-索引变量iIdx和乘法因子iFact如下推导出:
iIdx=((x+1+refIdx)*intraPredAngle)>>5 (8-150)
iFact=((x+1+refIdx)*intraPredAngle)&31 (8-151)
-如果fourTapFlag等于1,应用以下内容:
-j=0..3的插值滤波器系数fT[j]如下推导出:
fT[j]=filterFlag?fG[iFact][j]:fC[iFact][j] (8-152)
-预测样本predSamples[x][y]的值如下推导出:
Figure BDA0002606595650000461
-否则(fourTapFlag不等于1),根据iFact的值,应用以下内容:
-如果iFact不等于0,则预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=
((32-iFact)*ref[y+iIdx+1]+iFact*ref[y+iIdx+2]+16)>>5 (8-154)
-否则,预测样本predSamples[x][y]的值如下推导出:
predSamples[x][y]=ref[y+iIdx+1]
图19是根据本发明实施例的网络设备1300(例如,编码设备)的示意图。网络设备1300适合用于实现如本文所描述的公开实施例。网络设备1300包括:入端口1310和接收器单元(receiver unit,简称Rx)1320,用于接收数据;处理器、逻辑单元或中央处理器(central processing unit,简称CPU)1330,用于处理数据;发送器单元(transmitterunit,简称Tx)1340和出端口1350,用于传输数据;存储器1360,用于存储数据。网络设备1300还可以包括耦合到入端口1310、接收器单元1320、发送器单元1340和出端口1350的光电(optical-to-electrical,简称OE)组件和电光(electrical-to-optical,简称EO)组件,用于光或电信号的出口或入口。
处理器1330由硬件和软件实现。处理器1330可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,简称FPGA)、专用集成电路(application-specific integrated circuit,简称ASIC)和/或数字信号处理器(digital signal processor,简称DSP)。处理器1330与入端口1310、接收器单元1320、发送器单元1340、出端口1350和存储器1360进行通信。处理器1330包括编码模块1370。编码模块1370实现上述的公开实施例。例如,编码模块1370实现、处理、准备或提供各种组网功能。因此,编码模块1370的包括为网络设备1300的功能提供了实质性的改进,并且实现了网络设备1300向不同状态的转换。或者,编码模块1370实现为存储在存储器1360中并由处理器1330执行的指令。
存储器1360包括一个或多个磁盘、磁带机和固态硬盘,并且可以用作溢出数据存储设备,以在选择要执行的程序时存储此类程序,并存储在程序执行期间读取的指令和数据。存储器1360可以是易失性和/或非易失性的,并且可以是只读存储器(read-onlymemory,简称ROM)、随机存取存储器(random access memory,简称RAM)、三态内容寻址存储器(ternary content-addressable memory,简称TCAM)和/或静态随机存取存储器(staticrandom-access memory,简称SRAM)。
提供了一种解码器,包括用于执行上述任一方法的处理电路。
在本发明中,提供了一种计算机程序产品,该计算机程序产品包括程序代码,用于执行上述任一方法。
在本发明中,提供了一种用于解码视频数据的解码器,所述解码器包括:一个或多个处理器;以及非瞬时性计算机可读存储介质,耦合到处理器并存储要由处理器执行的程序,其中,该程序在由处理器执行时配置解码器执行上述任一方法。
下面描述适合用于实现本文描述的公开实施例的网络设备。网设备包括:入端口和接收器单元(receiver unit,简称Rx),用于接收数据;处理器、逻辑单元或中央处理器(central processing unit,简称CPU),用于处理数据;发送器单元(transmitter unit,简称Tx)和出端口,用于传输数据;存储器,用于存储数据。网络设备还可以包括耦合到入端口、接收器单元、发送器单元和出端口的光电(optical-to-electrical,简称OE)组件和电光(electrical-to-optical,简称EO)组件,用于光或电信号的出口或入口。
处理器由硬件和软件实现。处理器可以实现为一个或多个CPU芯片、核(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,简称FPGA)、专用集成电路(application-specific integrated circuit,简称ASIC)和/或数字信号处理器(digitalsignal processor,简称DSP)。处理器与入端口、接收器单元、发送器单元、出端口和存储器进行通信。处理器包括编码模块。编码模块实现上述的公开实施例。例如,编码模块实现、处理、准备或提供各种组网功能。因此,编码模块的包括为网络设备的功能提供了实质性的改进,并且实现了网络设备向不同状态的转换。或者,编码模块实现为存储在存储器中并由处理器执行的指令。
存储器包括一个或多个磁盘、磁带机和固态硬盘,并且可以用作溢出数据存储设备,以在选择要执行的程序时存储此类程序,并存储在程序执行期间读取的指令和数据。存储器可以是易失性和/或非易失性的,并且可以是只读存储器(read-only memory,简称ROM)、随机存取存储器(random access memory,简称RAM)、三态内容寻址存储器(ternarycontent-addressable memory,简称TCAM)和/或静态随机存取存储器(static random-access memory,简称SRAM)。
图20是可用于实现各种实施例的装置1500的框图。装置1500可以是如图1所示的源设备12,或者如图2所示的视频编码器20,或者如图1所示的目的设备14,或者如图3所示的视频解码器30。另外,装置1500可以承载一个或多个所描述的元件。在一些实施例中,装置1500配备有一个或多个输入/输出设备,如扬声器、麦克风、鼠标、触摸屏、小键盘、键盘、打印机、显示器等。装置1500可包括一个或多个中央处理器(central processing unit,简称CPU)1510、存储器1520、大容量存储器1530、视频适配器1540以及连接到总线的I/O接口1560。所述总线为包括内存总线或内存控制器、外设总线、视频总线等任何类型的若干总线架构中的一个或多个。
CPU 1510可包括任意类型的电子数据处理器。存储器1520可包括任意类型的系统存储器,例如静态随机存取存储器(static random access memory,简称SRAM)、动态随机存取存储器(dynamic random access memory,简称DRAM)、同步DRAM(synchronous DRAM,简称SDRAM)、只读存储器(read-only memory,简称ROM)或其组合等等。在实施例中,存储器1520可包含在开机时使用的ROM以及在执行程序时使用的存储程序和数据的DRAM。在实施例中,存储器1520是非瞬时性的。大容量存储器1530包括任何类型的存储设备,其存储数据、程序和其它信息,并使该数据、程序和其它信息可经由总线访问。大容量存储器1530包括例如固态硬盘、硬盘驱动器、磁盘驱动器、光盘驱动器等中的一个或多个。
所述视频适配器1540和所述I/O接口1560提供接口以将外部输入和输出设备耦合到所述装置1500。例如,装置1500可以向客户端提供SQL命令接口。如图所示,输入和输出设备的示例包括耦合至视频适配器1540的显示器1590以及耦合至I/O接口1560的鼠标/键盘/打印机1570的任何组合。其它设备可以耦合到装置1500,并且可以利用更多或更少的接口卡。举例来说,串行接口卡(未图示)可以用于为打印机提供串行接口。
装置1100还包括一个或多个网络接口1550,其包括例如以太网电缆等有线链路,和/或到接入节点或一个或多个网络1580的无线链路。网络接口1550允许装置1500经由网络1580与远程单元进行通信。例如,网络接口1550可以提供到数据库的通信。在一实施例中,装置1500与局域网或者广域网耦合以进行数据处理以及与远端设备,例如其它处理单元、因特网、远端存储设备等通信。
引入分段线性近似以便计算预测给定块内的像素所需的加权系数的值。一方面,与直接加权系数计算相比,分段线性近似可明显降低距离加权预测机制的计算复杂度;另一方面,与现有技术的简化方案相比,有助于获得更精确的加权系数值。
实施例可以应用于其它双向和位置相关的帧内预测技术(例如,PDPC的不同修改)以及使用取决于一个像素到另一像素的距离的加权系数来混合图片的不同部分的机制(例如,图像处理中的一些混合方法)。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以以许多其它特定形式来体现。本发明的示例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或集成,或者某些特征可以省略或不实施。
此外,在各种实施例中描述和图示为离散或独立的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。改变、替换和变更的其它示例可以由本领域技术人员确定并且可以提出。
本发明所描述的主题和操作可以在数字电子电路,或者在计算机软件、固件或硬件(包括本发明所公开的结构及其结构等同物),或者在它们中的一种或多种的组合中实现。本发明所描述的主题可以实现为在计算机存储介质上进行编码以由数据处理装置执行或控制数据处理装置的操作的一个或多个计算机程序,即计算机程序指令的一个或多个模块。可替换地或附加地,程序指令可以在例如机器生成的电、光或电磁信号等人工生成的传播信号上进行编码,该人工生成的传播信号被生成以用于编码信息以传输至合适的接收器装置,以由数据处理装置执行。计算机存储介质,例如计算机可读介质,可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行访问存储器阵列或设备,或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是在人工生成的传播信号上进行编码的计算机程序指令的源地或目的地。计算机存储介质也可以是或包括在一个或多个单独的物理和/或非瞬时性组件或介质(例如,多个CD、磁盘或其它存储设备)中。
在一些实现方式中,本发明中描述的操作可以被实现为在云计算网络中的服务器上提供的托管服务。例如,计算机可读存储介质可以在云计算网络中被逻辑分组和访问。云计算网络内的服务器可以包括用于提供基于云的服务的云计算平台。术语“云”、“云计算”和“基于云”可以适当地互换使用,而不脱离本发明的范围。基于云的服务可以是由服务器提供的并通过网络传送到客户端平台以增强、补充或替换在客户端计算机上本地执行的应用程序的托管服务。电路可以使用基于云的服务来快速接收软件升级、应用程序和其它资源,否则,这些软件升级、应用程序和其它资源可能需要很长的时间才能传送给电路。
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以用任何形式的编程语言(包括编译或解释语言、声明性或过程性语言)编写,并且其可以以任何形式进行部署,包括作为独立程序或作为模块、组件、子例程、对象或其它适合在计算环境中使用的单元进行部署。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件中的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于存在疑问的程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。计算机程序可以被部署以在位于一个站点上或分布在多个站点上并通过通信网络互连的一台计算机或多台计算机上执行。
本发明描述的过程和逻辑流程可以由一个或多个可编程处理器执行,所述可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行动作。该过程和逻辑流程也可以由专用逻辑电路执行,并且装置也可以实现为专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)等。
例如,适合用于执行计算机程序的处理器包括通用和专用微处理器,以及任何种类的数字计算机中的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合以接收来自用于存储数据的一个或多个大容量存储设备的数据和/或将数据传输到用于存储数据的一个或多个大容量存储设备。但是,计算机不需要这样的设备。此外,计算机可以嵌入到其它设备中,例如移动电话、个人数字助理(personal digital assistant,简称PDA)、移动音频或视频播放器、游戏台、全球定位系统(Global Positioning System,简称GPS)接收器或便携式存储设备(例如,通用串行总线(universal serial bus,简称USB)闪存驱动器),仅举几例。适合用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,例如包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
虽然本发明包含许多具体实施细节,但这些不应理解为对任何实现方式或所要求保护的内容的范围的限制,而应理解为对特定实现方式的特定特征的描述。本发明中在单独的实现方式的上下文中描述的某些特征也可以在单个实现方式中组合实现。相反地,在单个实现方式的上下文中描述的各种特征也可以分别在多个实现方式中或者以任何合适的子组合实现。此外,尽管以上可以将特征描述为以某些组合起作用并且甚至最初如此声称,但是在某些情况下,来自所要求保护的组合的一个或多个特征可以从该组合中删除,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,尽管在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定顺序或以连续的顺序执行此类操作,或者执行所有示出的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,在上述实现方式中,各种系统组件的分离不应理解为在所有实现方式中都要求这样的分离,并且应当理解的是,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装在多个软件产品中。
因此,已经描述了本主题的特定实现方式。其它实现方式在以下权利要求的范围之内。在某些情况下,权利要求中叙述的动作可以以不同的顺序执行并且仍然实现期望的结果。另外,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些实现方式中,多任务和并行处理可能是有利的。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可以以许多其它特定形式来体现。本发明的示例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或集成,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或集成。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。其它变化、替代和改变的示例可以由本领域的技术人员在不脱离本文所公开的精神和范围的情况下确定。
缩略语和词汇的定义
JEM 联合探索模型(用于未来视频编码探索的软件代码库)
JVET 联合视频专家团队
LUT 查找表
QT 四叉树
QTBT 四叉树加二叉树
RDO 速率失真优化
ROM 只读存储器
VTM VVC测试模型
VVC 通用视频编码,由JVET开发的标准化项目
CTU/CTB 编码树单元/编码树块
CU/CB 编码单元/编码块
PU/PB 预测单元/预测块
TU/TB 转换单元/转换块
HEVC 高效视频编码

Claims (11)

1.一种用于进行当前编码块的帧内预测处理的视频编解码方法,所述方法包括:
获取所述当前编码块的帧内预测模式;
当所述当前编码块的帧内预测模式为对角线模式时,通过对所述当前编码块的参考样本进行参考样本滤波处理,根据所述当前编码块的帧内预测模式进行所述当前编码块的帧内预测处理;或者
当所述当前编码块的帧内预测模式为方向性模式但不是以下方向性帧内预测模式之一时:垂直模式、水平模式和对角线模式,通过对所述当前编码块的参考样本进行插值滤波处理,根据所述当前编码块的帧内预测模式进行所述当前编码块的帧内预测处理。
2.根据权利要求1所述的方法,其特征在于,所述对角线模式表示45度的倍数的角度。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述当前编码块的帧内预测模式和所述当前编码块的参考样本进行所述当前编码块的帧内预测处理,其中
当所述当前编码块的帧内预测模式为垂直模式或水平模式时,不对所述当前编码块的参考样本应用滤波处理。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述参考样本滤波处理基于3抽头[1,2,1]滤波进行。
5.根据权利要求1至4中任一项所述的方法,其特征在于,进行所述插值滤波处理是为了生成落于参考样本之间的分数或整数位置的预测样本。
6.一种用于视频编码或解码中当前块的帧内预测的装置,其特征在于,所述装置包括处理电路,用于:
获取所述当前编码块的帧内预测模式;
当所述当前编码块的帧内预测模式为对角线模式时,通过对所述当前编码块的参考样本进行参考样本滤波处理,根据所述当前编码块的帧内预测模式进行所述当前编码块的帧内预测处理;或者
当所述当前编码块的帧内预测模式为方向性模式但不是以下方向性帧内预测模式之一时:垂直模式、水平模式和对角线模式,通过对所述当前编码块的参考样本进行插值滤波处理,根据所述当前编码块的帧内预测模式进行所述当前编码块的帧内预测处理。
7.根据权利要求6所述的装置,其特征在于,所述对角线模式表示45度的倍数的角度。
8.根据权利要求6或7所述的装置,其特征在于,所述处理电路还用于:
根据所述当前编码块的帧内预测模式和所述当前编码块的参考样本进行所述当前编码块的帧内预测处理,其中
当所述当前编码块的帧内预测模式为垂直模式或水平模式时,不对所述当前编码块的参考样本应用滤波处理。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述参考样本滤波处理基于3抽头[1,2,1]滤波进行。
10.根据权利要求6至9中任一项所述的装置,其特征在于,进行所述插值滤波处理是为了生成落于参考样本之间的分数或整数位置的预测样本。
11.一种包括程序代码的计算机程序产品,其特征在于,当所述程序代码在计算机或处理器上执行时,用于执行权利要求1至5中任一项所述的方法。
CN202010747327.0A 2018-09-16 2019-09-13 用于预测的方法,装置和存储介质 Active CN112040228B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862731970P 2018-09-16 2018-09-16
US62/731,970 2018-09-16
US201962822775P 2019-03-22 2019-03-22
US62/822,775 2019-03-22
US201962822868P 2019-03-23 2019-03-23
US62/822,868 2019-03-23
CN201980005488.8A CN111543061B (zh) 2018-09-16 2019-09-13 用于预测的方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980005488.8A Division CN111543061B (zh) 2018-09-16 2019-09-13 用于预测的方法和装置

Publications (2)

Publication Number Publication Date
CN112040228A true CN112040228A (zh) 2020-12-04
CN112040228B CN112040228B (zh) 2021-08-03

Family

ID=69778614

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201980005488.8A Active CN111543061B (zh) 2018-09-16 2019-09-13 用于预测的方法和装置
CN202010747327.0A Active CN112040228B (zh) 2018-09-16 2019-09-13 用于预测的方法,装置和存储介质
CN202110961636.2A Active CN114143539B (zh) 2018-09-16 2019-09-13 用于预测的方法和装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201980005488.8A Active CN111543061B (zh) 2018-09-16 2019-09-13 用于预测的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110961636.2A Active CN114143539B (zh) 2018-09-16 2019-09-13 用于预测的方法和装置

Country Status (16)

Country Link
US (2) US11647185B2 (zh)
EP (2) EP4270958A3 (zh)
JP (2) JP2021536203A (zh)
KR (3) KR102694040B1 (zh)
CN (3) CN111543061B (zh)
AU (2) AU2019340292B2 (zh)
BR (1) BR112021004679A2 (zh)
CA (1) CA3112913C (zh)
ES (1) ES2966083T3 (zh)
HU (1) HUE063986T2 (zh)
IL (1) IL281544B1 (zh)
MX (2) MX2021002953A (zh)
PL (1) PL3847815T3 (zh)
PT (1) PT3847815T (zh)
UA (1) UA128291C2 (zh)
WO (1) WO2020055292A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE063986T2 (hu) * 2018-09-16 2024-02-28 Huawei Tech Co Ltd Eljárás és berendezés predikcióhoz
CN118524204A (zh) * 2018-09-19 2024-08-20 韩国电子通信研究院 图像编码/解码方法和装置以及存储有比特流的记录介质
US10469845B1 (en) * 2018-09-21 2019-11-05 Tencent America, Llc Method and apparatus for intra mode coding
KR20210137058A (ko) * 2019-03-22 2021-11-17 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측 기반 영상 디코딩 방법 및 그 장치
US20240236311A9 (en) * 2021-02-25 2024-07-11 Interdigital Ce Patent Holdings, Sas Methods and apparatuses for encoding/decoding a video
KR102615727B1 (ko) 2021-04-28 2023-12-20 주식회사 넥스트바이오메디컬 분해시간 조절이 가능한 색전용 수화겔 및 이의 제조방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984523A (zh) * 2012-12-14 2013-03-20 北京大学 一种多方向的帧内预测编解码方法及装置
CN103248892A (zh) * 2013-05-07 2013-08-14 北京大学 一种帧内预测方法及装置
CN106134201A (zh) * 2014-05-23 2016-11-16 华为技术有限公司 在块预测技术中使用的预处理预测滤波的方法和装置
CN107071434A (zh) * 2011-11-08 2017-08-18 株式会社Kt 对视频信号进行解码的方法
US20180035112A1 (en) * 2015-02-13 2018-02-01 Lg Electronics Inc. METHOD AND APPARATUS FOR ENCODING AND DECODING VIDEO SIGNAL USING NON-UNIFORM PHASE INTERPOLATION (As Amended)
CN108293130A (zh) * 2015-11-27 2018-07-17 联发科技股份有限公司 通过帧内预测的视频编解码的装置及方法
CN108353171A (zh) * 2015-11-17 2018-07-31 华为技术有限公司 视频编码样本自适应滤波的方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5597968B2 (ja) * 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
CN101895751B (zh) * 2010-07-06 2012-02-08 北京大学 帧内预测的方法及装置、基于帧内预测的编/解码方法及系统
KR102062821B1 (ko) * 2010-09-29 2020-01-07 한국전자통신연구원 필터 정보 예측을 이용한 영상 부호화/복호화 방법 및 장치
US20160373770A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
CN108028923B (zh) * 2015-09-10 2021-08-20 Lg电子株式会社 视频编码系统中的帧内预测方法和设备
US10194170B2 (en) * 2015-11-20 2019-01-29 Mediatek Inc. Method and apparatus for video coding using filter coefficients determined based on pixel projection phase
US10382781B2 (en) * 2016-09-28 2019-08-13 Qualcomm Incorporated Interpolation filters for intra prediction in video coding
CN116320493A (zh) * 2016-11-28 2023-06-23 韩国电子通信研究院 用于滤波的方法和装置
CN116248863A (zh) * 2017-07-03 2023-06-09 汉阳大学校产学协力团 利用包含追加区域的分割单位的影像解码方法以及装置
CN118413666A (zh) * 2017-11-28 2024-07-30 Lx 半导体科技有限公司 图像编码/解码方法、图像数据的传输方法和存储介质
US11128872B2 (en) * 2018-07-16 2021-09-21 Qualcomm Incorporated Position dependent intra prediction combination with wide angle intra prediction
HUE063986T2 (hu) * 2018-09-16 2024-02-28 Huawei Tech Co Ltd Eljárás és berendezés predikcióhoz
WO2020216255A1 (en) * 2019-04-25 2020-10-29 Mediatek Inc. Method and apparatus of encoding or decoding with mode dependent intra smoothing filter in intra prediction

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071434A (zh) * 2011-11-08 2017-08-18 株式会社Kt 对视频信号进行解码的方法
CN102984523A (zh) * 2012-12-14 2013-03-20 北京大学 一种多方向的帧内预测编解码方法及装置
CN103248892A (zh) * 2013-05-07 2013-08-14 北京大学 一种帧内预测方法及装置
CN106134201A (zh) * 2014-05-23 2016-11-16 华为技术有限公司 在块预测技术中使用的预处理预测滤波的方法和装置
US20180035112A1 (en) * 2015-02-13 2018-02-01 Lg Electronics Inc. METHOD AND APPARATUS FOR ENCODING AND DECODING VIDEO SIGNAL USING NON-UNIFORM PHASE INTERPOLATION (As Amended)
CN108353171A (zh) * 2015-11-17 2018-07-31 华为技术有限公司 视频编码样本自适应滤波的方法和装置
CN108293130A (zh) * 2015-11-27 2018-07-17 联发科技股份有限公司 通过帧内预测的视频编解码的装置及方法

Also Published As

Publication number Publication date
CN112040228B (zh) 2021-08-03
JP2023169242A (ja) 2023-11-29
PL3847815T3 (pl) 2024-03-11
EP3847815B1 (en) 2023-11-08
IL281544B1 (en) 2024-08-01
BR112021004679A2 (pt) 2021-06-01
CN114143539B (zh) 2023-08-04
US20230319270A1 (en) 2023-10-05
HUE063986T2 (hu) 2024-02-28
KR20210055086A (ko) 2021-05-14
KR20230105003A (ko) 2023-07-11
PT3847815T (pt) 2023-12-26
KR102551917B1 (ko) 2023-07-04
WO2020055292A1 (en) 2020-03-19
CN111543061A (zh) 2020-08-14
IL281544A (en) 2021-05-31
EP4270958A3 (en) 2024-02-28
MX2021002953A (es) 2021-07-15
AU2019340292A1 (en) 2021-04-15
KR102694040B1 (ko) 2024-08-08
CA3112913C (en) 2023-10-31
US20210203928A1 (en) 2021-07-01
EP4270958A2 (en) 2023-11-01
MX2024005693A (es) 2024-05-24
AU2019340292B2 (en) 2023-07-13
CN111543061B (zh) 2024-08-20
CA3112913A1 (en) 2020-03-19
AU2023248190A1 (en) 2023-11-02
US11647185B2 (en) 2023-05-09
UA128291C2 (uk) 2024-05-29
EP3847815A1 (en) 2021-07-14
EP3847815A4 (en) 2021-09-08
ES2966083T3 (es) 2024-04-18
KR20240124432A (ko) 2024-08-16
CN114143539A (zh) 2022-03-04
JP2021536203A (ja) 2021-12-23

Similar Documents

Publication Publication Date Title
CN113784145B (zh) 一种视频译码方法和装置,编码器和解码器
CN112040228B (zh) 用于预测的方法,装置和存储介质
JP7521057B2 (ja) エンコーダ、デコーダ、及びデブロッキングフィルタの境界強度導出の対応する方法
JP7366149B2 (ja) 行列ベースのイントラ予測と二次変換コア選択を調和させるエンコーダ、デコーダ、および対応する方法
CN112954367B (zh) 使用调色板译码的编码器、解码器和相应方法
JP2022518378A (ja) 画像予測方法、機器、及びシステム、装置、及び記憶媒体
CA3120828A1 (en) An encoder, a decoder and corresponding methods of deblocking filter adaptation
JP2023022071A (ja) イントラ予測のための方法及び機器
JP7571227B2 (ja) 行列ベースのイントラ予測と二次変換コア選択を調和させるエンコーダ、デコーダ、および対応する方法
KR102725069B1 (ko) 모드 및 크기 의존적 블록 레벨 제한의 방법 및 장치
CN112135129A (zh) 一种帧间预测方法及装置

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
GR01 Patent grant
GR01 Patent grant