CN115334302A - 帧内预测方法及设备 - Google Patents

帧内预测方法及设备 Download PDF

Info

Publication number
CN115334302A
CN115334302A CN202210926251.7A CN202210926251A CN115334302A CN 115334302 A CN115334302 A CN 115334302A CN 202210926251 A CN202210926251 A CN 202210926251A CN 115334302 A CN115334302 A CN 115334302A
Authority
CN
China
Prior art keywords
block
reference pixel
chroma
chrominance
luminance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210926251.7A
Other languages
English (en)
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 CN115334302A publication Critical patent/CN115334302A/zh
Pending legal-status Critical Current

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/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/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/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/186Methods 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 colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Image Processing (AREA)

Abstract

一种使用分量间线性预测模式(cross component liner prediction mode,CCLM)的帧内预测方法包括:确定与当前色度块对应的亮度块;根据确定所述当前色度块的L个可用色度参考像素点,获得所述亮度块的亮度参考像素点,其中,所述亮度块的所述获得的亮度参考像素点为经过下采样的亮度参考像素点;根据所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算线性模型系数;根据所述线性模型系数和所述亮度块的经过下采样的亮度块的值,获得所述当前色度块的预测值。

Description

帧内预测方法及设备
相关申请交叉引用
本申请是分案申请,原申请的申请号是201980065676.X,原申请日是2019年09月30日,原申请的全部内容通过引用结合在本申请中。
原申请要求于2018年10月5日提交的申请号为62/742,266的美国临时专利申请的权益、要求于2018年10月6日提交的申请号为62/742,355的美国临时专利申请的权益、要求于2018年10月6日提交的申请号为62/742,275的美国临时专利申请的权益、要求于2018年10月6日提交的申请号为62/742,356的美国临时专利申请的权益。原申请的全部内容通过引用的方式并入本文中。
技术领域
本发明实施例大体上涉及视频译码领域,更具体地涉及使用分量间线性模型预测(Cross-component linear model prediction,CCLM)的帧内预测领域。
背景技术
即使在视频较短的情况下也需要对大量视频数据进行描述,当数据要在带宽容量有限的通信网络中发送或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后在现代电信网络中传输。由于内存资源可能有限,当在存储设备上存储视频时,视频的大小也可能成为问题。视频压缩设备通常在源侧使用软件和/或硬件,以在传输或存储之前对视频数据进行编码,从而减少用来表示数字视频图像所需的数据量。然后,压缩的数据在目的地侧由解码视频数据的视频解压缩设备接收。在有限的网络资源以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术能够在几乎不影响图像质量的情况下提高压缩比。高效视频译码是ISO/IEC运动图像专家组和ITU-T视频编码专家组发布的最新视频压缩技术,称为ISO/IEC 23008-2MPEG-H第二部分或ITU-T H.265,使得数据压缩比在相同的视频质量水平下大约增加一倍,或者视频质量在相同的码率下大大提高。
发明内容
本发明的示例提供了用于对图像进行编码和解码的帧内预测装置和方法,可以提高分量间线性模型预测(cross-component linear model prediction,CCLM)的效率,从而提高视频信号的译码效率。本发明在本文件中的示例和权利要求中进行详细说明。
上述和其它目的通过独立权利要求请求保护的主题实现。其它实现方式在从属权利要求、说明书和附图中是显而易见的。
特定实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。
根据第一方面,本发明涉及一种使用线性模型执行帧内预测的方法。所述方法包括:确定与当前色度块对应的亮度块;根据确定所述当前色度块的L个可用色度参考像素点,获得所述亮度块的亮度参考像素点,其中,所述亮度块的所述获得的亮度参考像素点为经过下采样的亮度参考像素点;根据所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算线性模型系数;根据所述线性模型系数和所述亮度块的经过下采样的亮度块的值,获得所述当前色度块的预测值。所述当前色度块的所述色度参考像素点包括所述当前色度块的相邻重建像素点。从所述相邻重建像素点中确定所述L个可用色度参考像素点。同理,所述亮度块的相邻像素点也是所述亮度块的相邻重建像素点(即相邻重建亮度像素点)。在一个示例中,通过对根据所述可用色度参考像素点选择的相邻重建像素点进行下采样,获得所述亮度块的所述亮度参考像素点。
在现有方法中,使用所述亮度参考像素点来确定参考像素点的可用性,以确定线性模型系数。然而,在一些场景中,可用亮度参考像素点没有对应的色度参考像素点,导致译码错误。通过检查所述色度参考像素点的可用性来确定参考像素点的可用性,本文提供的技术解决了这一问题。在一些示例中,如果色度参考像素点在当前图像、条带(slice)或分块(tile)之内,而且已经重建所述色度参考像素点,则所述色度参考像素点可用。在一些示例中,如果色度参考像素点在当前图像、条带或分块之内,已经重建所述色度参考像素点,而且根据编码决策不省略所述色度参考像素点,等等,则所述色度参考像素点可用。所述当前色度块的所述可用参考像素点可以是所述色度块的可用重建相邻像素点。使用与所述可用色度参考像素点对应的亮度参考像素点来确定所述线性模型系数。
根据所述第一方面,在所述方法的一种可能实现方式中,所述确定L个可用色度参考像素点包括:确定所述当前色度块的L个上方相邻色度像素点可用,其中,1≤L≤W2,W2表示上方参考像素点范围,L和W2为正整数,将所述L个上方相邻色度像素点用作所述可用色度参考像素点。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,W2等于2×W或W+H,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述确定L个可用色度参考像素点包括:确定所述当前色度块的L个左侧相邻色度像素点可用,其中,1≤L≤H2,H2表示左侧参考像素点范围,L和H2为正整数,将所述L个左侧相邻色度像素点用作所述可用色度参考像素点。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,H2等于2×H或W+H,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述确定L个可用色度参考像素点包括:确定所述当前色度块的L1个上方相邻色度像素点和L2个左侧相邻色度像素点可用,其中,1≤L1≤W2,1≤L2≤H2,W2表示上方参考像素点范围,H2表示左侧参考像素点范围,L1、L2、W2和H2为正整数且L1+L2=L,所述L1个上方相邻色度像素点和所述L2个左侧相邻色度像素点被用作所述可用色度参考像素点。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,通过以下方法获得所述亮度参考像素点:只对所述亮度块上方的根据所述L个可用色度参考像素点选择的相邻像素点进行下采样,或者只对所述亮度块左侧的根据所述L个可用色度参考像素点选择的相邻像素点进行下采样。例如,如果L等于4,则通过对所述亮度块上方的根据4个可用色度参考像素点选择的24个相邻像素点进行下采样,或者通过对所述亮度块左侧的根据4个可用色度参考像素点选择的24个相邻像素点进行下采样,获得所述亮度参考像素点,其中,在所述下采样过程中使用6抽头滤波器。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,通过对与所述当前色度块对应的所述亮度块的重建亮度块进行下采样,获得所述亮度块的经过下采样的亮度块。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当只根据所述亮度块上方的相邻像素点获得所述亮度参考像素点时以及当所述当前色度块的顶行与当前译码树单元(coding tree unit,CTU)的顶行重叠时,只使用所述亮度块的所述重建亮度块的一行相邻重建亮度像素点来获得所述亮度参考像素点。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述根据所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算线性模型系数包括:根据所述亮度参考像素点,确定最大亮度值和最小亮度值;至少部分地根据与所述最大亮度值相关的亮度参考像素点的位置,获得第一色度值;至少部分地根据与所述最小亮度值相关的亮度参考像素点的位置,获得第二色度值;根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算所述线性模型系数。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述至少部分地根据与所述最大亮度值相关的亮度参考像素点的位置,获得第一色度值包括:至少部分地根据与所述最大亮度值相关的一个或多个亮度参考像素点的一个或多个位置,获得所述第一色度值;所述至少部分地根据与所述最小亮度值相关的亮度参考像素点的位置,获得第二色度值包括:至少部分地根据与所述最小亮度值相关的一个或多个亮度参考像素点的一个或多个位置,获得所述第二色度值。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式计算所述线性模型系数α和β:
Figure BDA0003779541990000031
β=yA-αxA
其中,xB表示所述最大亮度值,yB表示所述第一色度值,xA表示所述最小亮度值,yA表示所述第二色度值。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式获得所述当前色度块的预测值:
predC(i,j)=α·rec′L(i,j)+β,
其中,predC(i,j)表示所述当前色度块中的色度像素点的预测值,rec′L(i,j)表示所述亮度块的重建亮度块的经过下采样的亮度块中的对应亮度像素点的像素点值。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当只根据所述亮度块左侧的相邻像素点获得所述亮度参考像素点并且所述当前色度块位于当前译码树单元(coding tree unit,CTU)的左侧边界时,只使用所述重建亮度块的一列相邻重建亮度像素点来获得所述亮度参考像素点。
根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述线性模型包括多方向线性模型(multi-directional linear model,MDLM)。
根据第二方面,本发明涉及一种使用线性模型执行帧内预测的方法。所述方法包括:确定与当前色度块对应的亮度块;根据确定所述当前色度块的L个可用色度参考像素点,获得所述亮度块的亮度参考像素点,其中,所述亮度块的所述获得的亮度参考像素点为经过下采样的亮度参考像素点,所述经过下采样的亮度参考像素点是通过对所述亮度块的与所述L个可用色度参考像素点对应的相邻像素点(即相邻重建亮度像素点)进行下采样而获得的;根据所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算线性模型系数;根据所述线性模型系数和所述亮度块的经过下采样的亮度块的值,获得所述当前色度块的预测值。所述当前色度块的所述色度参考像素点包括所述当前色度块的相邻重建像素点。从所述相邻重建像素点中确定所述L个可用色度参考像素点。同理,所述亮度块的相邻像素点也是所述亮度块的相邻重建像素点(即相邻重建亮度像素点)。通过对与所述可用色度参考像素点对应的所述相邻重建像素点进行下采样,获得所述亮度块的所述亮度参考像素点。
对于“与所述可用色度参考像素点对应的所述相邻重建像素点”,所述相邻重建亮度像素点与所述可用色度参考像素点之间的对应关系不限于“一一对应关系”;还可以理解为,所述相邻重建亮度像素点与所述可用色度参考像素点之间的对应关系可以是“M对N对应关系”。例如,如果使用6抽头滤波器进行下采样,则M=24,N=4。
根据第三方面,本发明涉及一种用于对视频数据进行编码的设备。所述设备包括:视频数据存储器和视频编码器。所述视频编码器用于:确定与当前色度块对应的亮度块;根据(或通过)确定所述当前色度块的L个可用色度参考像素点,获得所述亮度块的亮度参考像素点,其中,所述亮度块的所述获得的亮度参考像素点为经过下采样的亮度参考像素点,所述经过下采样的亮度参考像素点是通过对所述亮度块的与所述L个可用色度参考像素点对应的相邻像素点(即相邻重建亮度像素点)进行下采样而获得的;根据所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算线性模型的线性模型系数;根据所述线性模型系数和所述亮度块的经过下采样的亮度块的值,获得所述当前色度块的预测值。例如,如果L等于4,则所述亮度块的所述亮度参考像素点为4个经过下采样的亮度参考像素点,所述4个经过下采样的亮度参考像素点是通过对所述亮度块的与4个可用色度参考像素点对应的24个相邻像素点进行下采样而获得的,其中,在所述下采样过程中使用6抽头滤波器。
第四方面,本发明涉及一种用于对视频数据进行解码的设备。所述设备包括视频数据存储器和视频解码器。所述视频解码器用于:确定与当前色度块对应的亮度块;根据确定所述当前色度块的L个可用色度参考像素点,获得所述亮度块的亮度参考像素点,其中,所述亮度块的所述获得的亮度参考像素点为经过下采样的亮度参考像素点;根据所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算线性模型系数;根据所述线性模型系数和所述亮度块的经过下采样的亮度块的值,获得所述当前色度块的预测值。
在现有方法中,使用所述亮度参考像素点来确定像素点的可用性,以确定线性模型系数。然而,在一些场景中,可用亮度参考像素点没有对应的色度参考像素点,导致译码错误。通过检查所述色度参考像素点的可用性来确定参考像素点的可用性,本文提供的技术解决了这一问题。在一些示例中,如果色度参考像素点在当前图像、条带或分块之内,而且已经重建所述色度参考像素点,则所述色度参考像素点可用。在一些示例中,如果色度参考像素点在当前图像、条带或分块之内,已经重建所述色度参考像素点,而且根据编码决策不省略所述色度参考像素点,等等,则所述色度参考像素点可用。所述当前色度块的所述可用色度参考像素点可以为所述色度块的可用重建相邻像素点(即可用重建相邻色度像素点)。使用与所述可用色度参考像素点对应的亮度参考像素点来确定所述线性模型系数。
根据所述第三或第四方面,在所述设备的一种可能实现方式中,所述确定L个可用色度参考像素点包括:确定所述当前色度块的L个上方相邻色度像素点可用,其中,1≤L≤W2,W2表示上方参考像素点范围,L和W2为正整数,将所述L个上方相邻色度像素点用作所述可用色度参考像素点。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,W2等于2×W或W+H,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述确定L个可用色度参考像素点包括:确定所述当前色度块的L个左侧相邻色度像素点可用,其中,1≤L≤H2,H2表示左侧参考像素点范围,L和H2为正整数,将所述L个左侧相邻色度像素点用作所述可用色度参考像素点。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,H2等于2×H或W+H,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述确定L个可用色度参考像素点包括:确定所述当前色度块的L1个上方相邻色度像素点和L2个左侧相邻色度像素点可用,其中,1≤L1≤W2,1≤L2≤H2,W2表示上方参考像素点范围,H2表示左侧参考像素点范围,L1、L2、W2和H2为正整数且L1+L2=L,所述L1个上方相邻色度像素点和所述L2个左侧相邻色度像素点被用作所述可用色度参考像素点。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种实现方式中,通过以下方法获得所述亮度参考像素点:只对所述亮度块上方的根据所述L个可用色度参考像素点选择的相邻像素点进行下采样,或者只对所述亮度块左侧的根据所述L个可用色度参考像素点选择的相邻像素点进行下采样。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,通过对与所述当前色度块对应的所述亮度块的重建亮度块进行下采样,获得所述亮度块的经过下采样的亮度块。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,当只根据所述亮度块上方的相邻像素点获得所述亮度参考像素点时以及当所述当前色度块的顶行与当前译码树单元(coding tree unit,CTU)的顶行重叠时,只使用所述亮度块的所述重建亮度块的一行相邻重建亮度像素点来获得所述亮度参考像素点。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,根据以下等式计算所述线性模型系数α和β:
Figure BDA0003779541990000051
β=yA-αxA
其中,xB表示所述最大亮度值,yB表示所述第一色度值,xA表示所述最小亮度值,yA表示所述第二色度值。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,根据以下等式获得所述当前色度块的预测值:
predC(i,j)=α·rec′L(i,j)+β,
其中,predC(i,j)表示所述当前色度块中的色度像素点的预测值,rec′L(i,j)表示所述亮度块的重建亮度块的经过下采样的亮度块中的对应亮度像素点的像素点值。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,当只根据所述亮度块左侧的相邻像素点获得所述亮度参考像素点并且所述当前色度块位于当前译码树单元(coding tree unit,CTU)的左侧边界时,只使用所述重建亮度块的一列相邻重建亮度像素点来获得所述亮度参考像素点。
根据所述第三或第四方面或所述第三或第四方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述线性模型包括多方向线性模型(multi-directionallinear model,MDLM)。
根据第五方面,本发明涉及一种用于将帧内色度预测模式译码到视频信号的码流中的方法。所述方法包括:根据帧内色度预测模式,对所述视频信号中的色度块执行帧内预测,其中,从第一组模式、第二组模式或第三组模式中选择所述帧内色度预测模式,所述第二组模式包括CCLM_L模式或CCLM_T模式中的至少一个;通过携带指示所述帧内色度预测模式的语法元素,生成所述视频信号的码流,其中,从所述第一组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数,从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第三组模式中选择所述帧内色度预测模式时的语法元素的比特数。
所述提供的用于对所述帧内色度预测模式进行编码的方法可以使得CCLM_L和CCLM_T使用二进制串来表示并携带在视频信号的码流中。
根据所述第五方面,在所述方法的一种可能实现方式中,所述第一组模式包括推导模式(derived mode,DM)或分量间线性模型(cross component linear model,CCLM)预测模式中的至少一个,所述第三组模式包括垂直模式、水平模式、DC模式或平面模式中的至少一个。
根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述DM模式的语法元素为0;所述CCLM模式的语法元素为10;所述CCLM_L模式的语法元素为1110;所述CCLM_T模式的语法元素为1111;所述平面模式的语法元素为11000;所述垂直模式的语法元素为11001;所述水平模式的语法元素为11010;所述DC模式的语法元素为11011。
根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述DM模式的语法元素为00;所述CCLM模式的语法元素为10;所述CCLM_L模式的语法元素为110;所述CCLM_T模式的语法元素为111;所述平面模式的语法元素为0100;所述垂直模式的语法元素为0101;所述水平模式的语法元素为0110;所述DC模式的语法元素为0111。
根据第六方面,本发明涉及一种用于对视频信号的码流中的帧内色度预测模式进行解码的方法。所述方法包括:从视频信号的码流中解析多个语法元素;根据所述多个语法元素中的一个语法元素,确定帧内色度预测模式,其中,从第一组模式、第二组模式或第三组模式中确定所述帧内色度预测模式,所述第二组模式包括CCLM_L模式或CCLM_T模式中的至少一个,从所述第一组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数,从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第三组模式中选择所述帧内色度预测模式时的语法元素的比特数;根据所述帧内色度预测模式,对所述视频信号中的当前色度块执行帧内预测。
根据第七方面,本发明涉及一种用于对视频数据进行编码的设备。所述设备包括视频数据存储器和视频编码器。所述视频编码器用于:根据帧内色度预测模式,对所述视频信号中的色度块执行帧内预测,其中,从第一组模式、第二组模式或第三组模式中选择所述帧内色度预测模式,所述第二组模式包括CCLM_L模式或CCLM_T模式中的至少一个;通过携带指示所述帧内色度预测模式的语法元素,生成所述视频信号的码流,其中,从所述第一组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数,从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第三组模式中选择所述帧内色度预测模式时的语法元素的比特数。
根据第八方面,本发明涉及一种用于对视频数据进行解码的设备。所述设备包括视频数据存储器和视频解码器。所述视频解码器用于:从视频信号的码流中解析多个语法元素;根据所述多个语法元素中的一个语法元素,确定帧内色度预测模式,其中,从第一组模式、第二组模式或第三组模式中确定所述帧内色度预测模式,所述第二组模式包括CCLM_L模式或CCLM_T模式中的至少一个,从所述第一组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数,从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第三组模式中选择所述帧内色度预测模式时的语法元素的比特数;根据所述帧内色度预测模式,对所述视频信号中的当前色度块执行帧内预测。
所提供的用于对视频数据进行编码的设备和用于对视频数据进行解码的设备可以使得CCLM_L和CCLM_T使用二进制串来表示、携带在所述编码设备侧的视频信号的码流中以及在所述解码设备侧进行解码。根据所述第七和第八方面,在所述设备的一种可能实现方式中,所述第一组模式包括推导模式(derived mode,DM)或分量间线性模型(crosscomponent linear model,CCLM)预测模式中的至少一个,所述第三组模式包括垂直模式、水平模式、DC模式或平面模式中的至少一个。
根据所述第七和第八方面或所述第七和第八方面的任一上述实现方式,在所述设备的一种可能实现方式中,所述DM模式的语法元素为0;所述CCLM模式的语法元素为10;所述CCLM_L模式的语法元素为1110;所述CCLM_T模式的语法元素为1111;所述平面模式的语法元素为11000;所述垂直模式的语法元素为11001;所述水平模式的语法元素为11010;所述DC模式的语法元素为11011。
根据所述第七和第八方面或所述第七和第八方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述DM模式的语法元素为00;所述CCLM模式的语法元素为10;所述CCLM_L模式的语法元素为110;所述CCLM_T模式的语法元素为111;所述平面模式的语法元素为0100;所述垂直模式的语法元素为0101;所述水平模式的语法元素为0110;所述DC模式的语法元素为0111。
根据第九方面,本发明涉及一种使用分量间线性模型(cross component linearmodel,CCLM)执行帧内预测的方法。所述方法包括:确定与当前色度块对应的亮度块;通过对所述亮度块的相邻像素点进行下采样,获得所述亮度块的亮度参考像素点,其中,所述亮度参考像素点只包括根据所述亮度块上方的相邻像素点获得的亮度参考像素点或者只包括根据所述亮度块左侧的相邻像素点获得的亮度参考像素点;根据所述亮度参考像素点,确定最大亮度值和最小亮度值;至少部分地根据与所述最大亮度值相关的一个或多个亮度参考像素点的一个或多个位置,获得第一色度值;至少部分地根据与所述最小亮度值相关的一个或多个亮度参考像素点的一个或多个位置,获得第二色度值;根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算线性模型系数;根据所述线性模型系数和所述亮度块的经过下采样的亮度块的值,生成所述当前色度块的预测值。
根据所述第九方面,在所述方法的一种可能实现方式中,所述亮度参考像素点的数量大于或等于所述当前色度块的宽度或者大于或等于所述当前色度块的高度。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,在确定所述最大亮度值和所述最小亮度值中所使用的亮度参考像素点为所述亮度块的可用亮度参考像素点。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据所述当前色度块的可用色度参考像素点确定所述亮度块的所述可用亮度参考像素点。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,当只根据所述亮度块上方的相邻像素点获得所述亮度参考像素点时,使用最多2×W个亮度参考像素点来推导所述线性模型系数,其中,W表示所述当前色度块的宽度。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,当只根据所述亮度块左侧的相邻像素点获得所述亮度参考像素点时,使用最多2×H个亮度参考像素点来推导所述线性模型系数,其中,H表示所述当前色度块的高度。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,使用最多N个可用亮度参考像素点来推导所述线性模型系数,其中,N为W与H之和,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第九方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式计算所述线性模型系数α和β:
Figure BDA0003779541990000081
β=yA-αxA
其中,xB表示所述最大亮度值,yB表示所述第一色度值,xA表示所述最小亮度值,yA表示所述第二色度值。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式获得所述当前色度块的预测值:
predC(i,j)=α·rec′L(i,j)+β,
其中,predC(i,j)表示所述当前色度块中的色度像素点的预测值,rec′L(i,j)表示所述亮度块的重建亮度块的经过下采样的重建亮度块中的对应亮度像素点的像素点值。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,通过对与所述当前色度块对应的所述亮度块的重建亮度块进行下采样,以得到所述亮度块的所述经过下采样的亮度块。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,当只根据所述亮度块上方的相邻像素点获得所述亮度参考像素点时以及当所述当前色度块的顶行与当前译码树单元(coding tree unit,CTU)的顶行重叠或者所述当前色度块位于当前译码树单元(coding tree unit,CTU)的上方边界时,只使用所述亮度块的所述重建亮度块的一行相邻重建亮度像素点来获得所述亮度参考像素点。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,当只根据所述亮度块左侧的相邻像素点获得所述亮度参考像素点并且所述当前色度块位于当前译码树单元(coding tree unit,CTU)的左侧边界时,只使用所述重建亮度块的一列相邻重建亮度像素点来获得所述亮度参考像素点。
根据所述第九方面或所述第九方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述CCLM包括多方向线性模型(multi-directional linear model,MDLM)。
根据第十方面,本发明涉及一种编码器。所述编码器用于执行根据所述第九方面或所述第九方面的任一上述实现方式的方法。
根据第十一方面,本发明涉及一种解码器。所述解码器用于执行根据所述第九方面或所述第九方面的任一上述实现方式的方法。
第十一方面,本发明涉及一种使用分量间线性预测模式(cross component linerprediction mode,CCLM)的帧内预测方法。所述方法包括:
获得当前亮度块的参考像素点,其中,所述参考像素点只属于所述当前亮度块的上方模板;
根据所述参考像素点,获得最大亮度值和最小亮度值;
根据所述最大亮度值的像素点位置,获得第一色度值;
根据所述最小亮度值的像素点位置,获得第二色度值;
根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算线性模型系数;
根据所述线性模型系数,获得当前色度块的预测值,其中,所述当前色度块与所述当前亮度块对应。
根据所述第十一方面,在所述方法的一种可能实现方式中,所述参考像素点的数量大于或等于所述当前色度块的宽度。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点可用。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述方法还包括:
在一个范围内检查所述参考像素点的可用性,其中,所述范围的长度为2×W或所述范围的长度为W与H之和,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第十一方面或所述第十一方面的任一前述实现方式,在所述方法的可能实现方式中,使用最多2×W个可用参考像素点来推导所述线性模型系数,其中,W表示所述当前色度块的宽度。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,使用最多N个可用参考像素点来推导所述线性模型系数,其中,N为W与H之和,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式计算所述线性模型系数α和β:
Figure BDA0003779541990000101
β=yA-αxA
其中,xB表示所述最大亮度值,yB表示所述第一色度值,xA表示所述最小亮度值,yA表示所述第二色度值。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式获得所述当前色度块的预测值:
predC(i,j)=α·recL′(i,j)+β
其中,predC(i,j)表示色度像素点,recL(i,j)表示对应的重建亮度像素点。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点的数量大于或等于所述当前色度块的大小。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点为经过下采样的亮度像素点。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述当前色度块位于上方边界时,只使用一行相邻重建亮度像素点来获得所述参考像素点。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述CCLM为多方向线性模型(multi-directional linear model,MDLM),使用所述线性模型系数来获得所述MDLM。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述方法称为CCIP_T。
第十二方面,本发明涉及一种使用分量间线性预测模式(cross component linerprediction mode,CCLM)的帧内预测方法。所述方法包括:
获得当前亮度块的参考像素点,其中,所述参考像素点只属于所述当前亮度块的左侧模板;
根据所述参考像素点,获得最大亮度值和最小亮度值;
根据所述最大亮度值的像素点位置,获得第一色度值;
根据所述最小亮度值的像素点位置,获得第二色度值;
根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算线性模型系数;
根据所述线性模型系数,获得当前色度块的预测值,其中,所述当前色度块与所述当前亮度块对应。
根据所述第十二方面,在所述方法的一种可能实现方式中,所述参考像素点的数量大于或等于所述当前色度块的高度。
根据所述第十二方面或所述第十二方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点可用。
根据所述第十二方面或所述第十二方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述方法还包括:
在一个范围内检查所述参考像素点的可用性,其中,所述范围的长度为2×H或所述范围的长度为W与H之和,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第十二方面或所述第十二方面的任一上述实现方式,在所述方法的一种可能实现方式中,使用最多2×H个可用参考像素点来推导所述线性模型系数,其中,H表示所述当前色度块的高度。
根据所述第十二方面或所述第十二方面的任一上述实现方式,在所述方法的一种可能实现方式中,使用最多N个可用参考像素点来推导所述线性模型系数,其中,N为W与H之和,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第十二方面或所述第十二方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式计算所述线性模型系数α和β:
Figure BDA0003779541990000111
β=yA-αxA
其中,xB表示所述最大亮度值,yB表示所述第一色度值,xA表示所述最小亮度值,yA表示所述第二色度值。
根据所述第十二方面或所述第十二方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式获得所述当前色度块的预测值:
predC(i,j)=α·recL′(i,j)+β
其中,predC(i,j)表示色度像素点,recL(i,j)表示对应的重建亮度像素点。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点的数量大于或等于所述当前色度块的大小。
根据所述第十一方面或所述第十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点为经过下采样的亮度像素点。
根据所述第十二方面或所述第十二方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述当前色度块的当前块位于左侧边界时,只使用一列相邻重建亮度像素点来获得所述参考像素点。
根据所述第十二方面或所述第十二方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述CCLM是多方向线性模型(multi-directional linear model,MDLM),使用所述线性模型系数来获得所述MDLM。
根据所述第十二方面或所述第十二方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述方法称为CCIP_L。
第十三方面,本发明涉及一种使用分量间线性预测模式(cross component linerprediction mode,CCLM)的帧内预测方法。所述方法包括:
获得当前亮度块的参考像素点,其中,所述参考像素点只属于所述当前亮度块的上方模板或只属于所述当前亮度块的左侧模板;
获得当前色度块中的色度像素点,其中,所述当前色度块与所述当前亮度块对应;
根据所述参考像素点和所述色度像素点,计算线性模型系数;
根据所述线性模型系数,获得所述当前色度块的预测值。
根据所述第十三方面,在所述方法的一种可能实现方式中,使用最多N个参考像素点来推导所述线性模型系数,其中,N为W与H之和,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
根据所述第十三方面或所述第十三方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述参考像素点只属于所述当前亮度块的上方模板时,所述参考像素点的数量大于或等于所述当前色度块的宽度。
根据所述第十三方面或所述第十三方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述参考像素点只属于所述当前亮度块的上方模板时,使用最多2×W个参考像素点来推导所述线性模型系数,其中,W表示所述当前色度块的宽度。
根据所述第十三方面或所述第十三方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述参考像素点只属于所述当前亮度块的左侧模板时,所述参考像素点的数量大于或等于所述当前亮度块的高度。
根据所述第十三方面或所述第十三方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述参考像素点只属于所述当前亮度块的左侧模板时,使用最多2×H个参考像素点来推导所述线性模型系数,其中,W表示所述当前色度块的高度。
根据所述第十三方面或所述第十三方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点的数量大于或等于所述当前色度块的大小。
根据所述第十三方面或所述第十三方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点为经过下采样的亮度像素点。
根据所述第十三方面或第十三方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述参考像素点只属于所述当前亮度块的上方模板并且所述当前色度块的当前块位于上方边界时,只使用一行相邻重建亮度像素点来获得所述参考像素点。
根据所述第十三方面或第十三方面的任一前述实现方式,在所述方法的可能实现方式中,其中,当所述参考像素点只属于所述当前亮度块并且所述当前色度块的当前块位于左侧边界时,只使用一列相邻重建亮度像素点来获得所述参考像素点。
根据所述第十三方面或所述第十三方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述CCLM是多方向线性模型(multi-directional linear model,MDLM),使用所述线性模型系数来获得所述MDLM。
根据所述第十三方面或所述第十三方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点可用。
根据第十四方面,本发明涉及一种解码器。所述解码器包括处理电路,用于执行根据所述第十一方面或所述第十一方面的任一上述实现方式所述的方法。
根据第十五方面,本发明涉及一种解码器。所述解码器包括处理电路,用于执行根据所述十二方面或所述第十二方面的任一上述实现方式所述的方法。
根据第十六方面,本发明涉及一种解码器。所述解码器包括处理电路,用于执行根据所述第十三方面或所述第十三方面的任一上述实现方式所述的方法。
第十七方面,本发明涉及一种使用分量间线性预测模式(cross component linerprediction mode,CCLM)的帧内预测方法。所述方法包括:
获得当前亮度块的参考像素点,其中,所述参考像素点只属于所述当前亮度块的上方模板;
根据所述参考像素点,获得最大亮度值和最小亮度值;
根据所述最大亮度值和所述最小亮度值,获得第一色度值和第二色度值;
根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算线性模型系数;
根据所述线性模型系数,获得所述当前块的预测值。
根据所述第十七方面,在所述方法的一种可能实现方式中,所述参考像素点的数量大于或等于当前色度块的宽度。
根据所述第十七方面或所述第十七方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点可用。
根据所述第十七方面或所述第十七方面的任一上述实现方式,在所述方法的一种可能实现方式中,使用最多2×W个参考像素点来推导所述模型系数。
根据所述第十七方面或所述第十七方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述方法称为CCIP_T。
第十八方面,本发明涉及一种使用分量间线性预测模式(cross component linerprediction mode,CCLM)的帧内预测方法。所述方法包括:
获得当前亮度块的参考像素点,其中,所述参考像素点只属于所述当前亮度块的左侧模板;
根据所述参考像素点,获得最大亮度值和最小亮度值;
根据所述最大亮度值和所述最小亮度值,获得第一色度值和第二色度值;
根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算线性模型系数;
根据所述线性模型系数,获得所述当前块的预测值。
根据所述第十八方面,在所述方法的一种可能实现方式中,所述参考像素点的数量大于或等于当前色度块的高度。
根据所述第十八方面或所述第十八方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点可用。
根据所述第十八方面或所述第十八方面的任一上述实现方式,在所述方法的一种可能实现方式中,使用最多2×H个参考像素点来推导所述模型系数。
根据所述第十八方面或所述第十八方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述方法称为CCIP_L。
根据第十九方面,本发明涉及一种解码器,以执行根据所述第十七方面或所述第十七方面的任一上述实现方式所述的方法。
根据第二十方面,本发明涉及一种解码器,以执行根据所述第十八方面或所述第十八方面的任一上述实现方式所述的方法。
根据第二十一方面,本发明涉及一种使用线性模型进行帧内预测的方法。所述方法包括:获得当前亮度块的参考像素点;根据所述参考像素点,获得最大亮度值和最小亮度值;根据具有所述最大亮度值的亮度像素点的位置和具有所述最小亮度值的亮度像素点的位置,获得第一色度值和第二色度值;根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算线性模型系数;根据所述线性模型系数,获得当前块的预测值,其中,所述获得当前亮度块的参考像素点包括:确定当前色度块的L个可用色度模板像素点,其中,所述当前亮度块的参考像素点为与所述L个可用色度模板像素点对应的L个亮度模板像素点,或者确定当前色度块的L个可用相邻色度像素点,其中,所述当前亮度块的参考像素点为与所述L个可用相邻色度像素点对应的L个相邻亮度像素点,L≥1且为正整数。
根据所述第二十一方面,在所述方法的一种可能实现方式中,所述确定当前色度块的L个可用色度模板像素点的步骤包括:
检查所述当前色度块的上方相邻色度像素点的可用性;
如果L个上方相邻色度像素点可用,则所述当前亮度块的参考像素点为与所述L个上方相邻色度像素点对应的L个相邻亮度像素点,其中,L≥1,L≤W2,W2表示上方模板像素点范围,L和W2为正整数。
根据所述第二十一方面或所述二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述确定当前色度块的L个可用色度模板像素点的步骤包括:
检查所述当前色度块的左侧相邻色度像素点的可用性;
如果L个左侧相邻色度像素点可用,则所述当前亮度块的参考像素点为与所述L个左侧相邻色度像素点对应的L个相邻亮度像素点,其中,L≥1,L≤H2,H2表示左侧模板像素点范围,L和H2为正整数。
根据所述第二十一方面或所述二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述确定当前色度块的L个可用色度模板像素点的步骤包括:
检查所述当前色度块的上方相邻色度像素点的可用性和所述当前色度块的左侧相邻色度像素点的可用性;
如果L1个上方相邻色度像素点可用并且L2个左侧相邻色度像素点可用,则所述当前亮度块的参考像素点包括或者为与所述L1个上方相邻色度像素点对应的L1个相邻亮度像素点以及与所述L2个相邻亮度像素点对应的L2个相邻亮度像素点,其中,L2≥1,L2≤H2,H2表示左侧模板像素点范围,L和H2为正整数;L1≥1,L1≤W2,W2表示上方模板像素点范围,L1和W2为正整数,L=L1+L2。
根据所述第二十一方面或第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如果所述模板范围内有L个相邻色度像素点可用,那么使用L个模板亮度像素点和L个模板色度像素点来获得所述模型系数。
根据所述第二十一方面或所述第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点可用。
根据所述第二十一方面或所述第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式计算所述线性模型系数α和β:
Figure BDA0003779541990000141
β=yA-αxA
其中,xB表示所述最大亮度值,yB表示所述第一色度值,xA表示所述最小亮度值,yA表示所述第二色度值。
根据所述第二十一方面或所述第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,根据以下等式获得所述当前色度块的预测值:
predC(i,j)=α·recL′(i,j)+β
其中,predC(i,j)表示色度像素点,recL(i,j)表示对应的重建亮度像素点。
根据所述第二十一方面或所述第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点的数量大于或等于所述当前亮度块的大小。
根据所述第二十一方面或所述第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点为经过下采样的亮度像素点。
根据所述第二十一方面或所述第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,当所述当前色度块的当前块位于上方边界时,只使用一行相邻重建亮度像素点来获得所述参考像素点。
根据所述第二十一方面或所述第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述线性模型为多向线性模型(multi-directional linear model,MDLM),使用所述线性模型系数来获得所述MDLM。
根据所述第二十一方面或所述第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述方法称为CCIP_T,或所述方法称为CCIP_L
根据所述第二十一方面或所述第二十一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述参考像素点只属于所述当前亮度块的上方模板或只属于所述当前亮度块的左侧模板,或者,所述参考像素点属于所述当前亮度块的上方模板和所述当前亮度块的左侧模板。
根据第二十二方面,本发明涉及一种解码器。所述解码器包括处理电路,用于执行根据所述第二十一方面或所述第二十一方面的任一上述实现方式所述的方法。
根据第二十三个方面,本发明涉及一种编码器。所述编码器包括处理电路,用于执行根据所述第二十一方面或所述第二十一方面的任一上述实现方式所述的方法。
第二十四方面,本发明涉及一种用于色度模式的二值化方法。所述方法包括:
使用线性模型(例如多方向线性模型(multi-directional linear model,MDLM))执行帧内预测;
生成包括多个语法元素的码流,其中,所述多个语法元素指示或者包括CCLM模式、CCIP_L模式或CCIP_T模式。
根据所述二十四方面,在所述方法的一种可能实现方式中,
第一指示符(77)指示CCLM模式,索引intra_chroma_pred_mode为4;
第二指示符(78)指示CCIP_L模式,索引intra_chroma_pred_mode为5;
第三指示符(79)指示CCIP_T模式,索引intra_chroma_pred_mode为6。
根据所述第二十四方面或所述二十四方面的任一上述实现方式,在所述方法的一种可能实现方式中,当sps_cclm_enabled_flag为1时,IntraPredModeC[xCb][yCb]取决于intra_chroma_pred_mode[xCb][yCb]和IntraPredModeY[xCb][yCb]。
根据第二十五方面,本发明涉及一种由解码设备实现的解码方法。所述解码方法包括:
从码流中解析多个语法元素,其中,所述多个语法元素指示或者包括CCLM模式、CCIP_L模式或CCIP_T模式;
使用所述指示的线性模型执行帧内预测。
根据所述二十五方面,在所述方法的一种可能实现方式中,
第一指示符(77)指示CCLM模式,索引intra_chroma_pred_mode为4;
第二指示符(78)指示CCIP_L模式,索引intra_chroma_pred_mode为5;
第三指示符(79)指示CCIP_T模式,索引intra_chroma_pred_mode为6。
根据所述第二十五方面或第二十五方面的任一上述实现方式,在所述方法的一种可能实现方式中,当sps_cclm_enabled_flag为1时,IntraPredModeC[xCb][yCb]取决于intra_chroma_pred_mode[xCb][yCb]和IntraPredModeY[xCb][yCb]。
根据第二十六方面,本发明涉及一种解码器。所述解码器包括处理电路,用于执行根据所述第二十四和第二十五方面或所述第二十四和第二十五方面的任一上述实现方式所述的方法。
根据第二十七方面,本发明涉及一种编码器。所述编码器包括处理电路,用于执行根据所述第二十四和第二十五方面或所述第二十四和第二十五方面的任一上述实现方式所述的方法。
根据第二十八方面,本发明涉及存储指令的计算机可读介质。当所述指令在处理器上执行时,使得所述处理器执行根据所述第二十四和第二十五方面或所述第二十四和第二十五方面的任一上述实现方式所述的方法。
根据第二十八方面,本发明涉及一种解码器。所述解码器包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述解码器执行根据所述第二十四和第二十五方面或所述第二十四和第二十五方面的任一上述实现方式所述的方法。
根据第二十八方面,本发明涉及一种编码器。所述编码器包括:
一个或多个处理器;
非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序,其中,当所述处理器执行所述程序时,配置所述编码器执行根据所述第二十四和第二十五方面或所述第二十四和第二十五方面的任一上述实现方式所述的方法。
第二十九方面,本发明涉及一种使用分量间线性预测模式(cross componentliner prediction mode,CCLM)的帧内预测方法。所述方法包括:
获得当前亮度块的参考像素点;
根据所述参考像素点,获得最大亮度值和最小亮度值;
根据所述最大亮度值和所述最小亮度值,获得第一色度值和第二色度值;
根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算线性模型系数;
根据所述线性模型系数,获得所述当前块的预测值,
其中,通过检查相邻色度像素点确定模板像素点的可用性。
根据第三十方面,本发明涉及一种解码器,以执行第二十八方面的方法。
根据第三十一方面,本发明涉及一种解码器,以执行第二十九方面的方法。
根据第三十二方面,本发明涉及一种解码器,以执行第二十八方面或第二十九方面的方法。
根据第三十三方面,提供了一种装置。所述装置包括模块/单元/组件/电路,以执行根据任一上述方面或任一是述方面的任一上述实现方式的上述方法的至少一部分步骤。
根据第三十三方面的装置可以扩展为与根据任一上述方面的方法的实现方式对应的实现方式。因此,所述装置的一种实现方式包括根据任一上述方面的方法的对应实现方式的特征。
根据任一上述方面的装置的优点与根据任一上述方面的方法的对应实现方式的优点相同。
为清楚起见,任一上述示例可以与上述其它任一或多个示例结合,以创建在本发明范围内的新示例。
通过以下结合附图和权利要求书进行的详细描述,将更清楚地理解这些和其它特征。
附图说明
为了更全面地理解本发明,现在参考下文结合附图和详细说明进行的简要描述,其中,相似的附图标记表示相似的部件。
图1A为可以实现本发明示例的示例性译码系统的框图。
图1B为可以实现本发明示例的另一示例性译码系统的框图。
图2为可以实现本发明示例的示例性视频编码器的框图。
图3为可以实现本发明示例的视频解码器的一个示例的框图。
图4为视频译码设备的示意图。
图5为一个示例性实施例提供的装置500的简化框图,装置500可以用作图1A中的源设备12和目的地设备14中的任一个或两个。
图6A为亮度像素点和色度像素点的标称垂直和水平相对位置的概念图。
图6B为亮度位置和色度位置的一个示例的概念图,使用这些亮度位置和色度位置对亮度块中的像素点进行下采样,以生成预测块。
图6C为亮度位置和色度位置的另一个示例的概念图,使用这些亮度位置和色度位置对亮度块中的像素点进行下采样,以生成预测块。
图6D示出了H.265/HEVC中的帧内预测模式。
图7示出了当前块的参考像素点。
图8示出了CCLM模式中涉及的当前亮度块和当前色度块的左侧和上方参考像素点的位置。
图9示出了最小亮度值和最大亮度值之间的直线。
图10示出了色度块和经过下采样的亮度块的模板(包括参考像素点)。
图11示出了包括不可用参考像素点的模板的一个示例。
图12示出了CCLM_T模式中使用的参考像素点。
图13示出了CCLM_L模式中使用的参考像素点。
图14为使用上方模板或左侧模块来确定模型系数的一个示例的示意图,其中,上方模板大于当前亮度块的经过下采样的亮度块的宽度,左侧模板大于当前亮度块的经过下采样的亮度块的高度,上方模板包括位于经过下采样的亮度块上方的参考像素点,左侧模板包括位于经过下采样的亮度块左侧的参考像素点。
图15为使用上方模板或左侧模块来确定模型系数的一个示例的示意图,其中,上方模板的大小与当前亮度块的经过下采样的亮度块的宽度相同,左侧模板的大小与当前亮度块的经过下采样的亮度块的高度相同。
图16为使用可用参考像素点来确定用于帧内预测的模型系数的一个示例的示意图。
图17为使用多行或多列相邻亮度像素点对亮度像素点进行下采样的一个示例的示意图。
图18为使用多行或多列相邻亮度像素点对亮度像素点进行下采样的另一个示例的示意图。
图19为使用位于CTU上方边界的亮度块的单行相邻亮度像素点进行下采样的一个示例的示意图。
图20为本发明一些方面提供的使用线性模型执行帧内预测的方法的流程图。
图21为本发明其它方面提供的使用线性模型执行帧内预测的方法的流程图。
图22为使用线性模型执行帧内预测的装置的示例性结构的框图。
图23为本发明一些方面提供的用于将色度帧内译码模式编码到视频信号的码流中的方法的流程图。
图24为本发明一些方面提供的用于对视频信号的码流中的色度帧内译码模式进行解码的方法的流程图。
图25为用于生成视频码流的装置的示例性结构的框图。
图26为用于对视频码流进行解码的装置的示例性结构的框图。
图27为提供内容分发业务的内容供应系统的示例性结构的框图。
图28为终端设备的一个示例的结构的框图。
具体实施方式
首先应理解,尽管下文提供一个或多个示例的说明性实现方式,但所公开的系统和/或方法可以使用任何数目的技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实现方式、附图和技术,包括本文所说明并描述的示例性设计和实现方式,而是可以在所附权利要求书的范围以及其等效物的完整范围内修改。
图1A为可以采用双向预测技术的示例性译码系统10的框图。如图1A所示,译码系统10包括源设备12,其中,源设备12提供稍后由目的地设备14解码的经编码的视频数据。具体地,源设备12可以通过计算机可读介质16向目的地设备14提供视频数据。源设备12和目的地设备14可以包括多种设备中的任一个,包括台式电脑、笔记本(即膝上型)电脑、平板电脑、机顶盒、“智能”手机和“智能”板(pad)等电话手机、电视、相机、显示设备、数字媒体播放器、视频游戏机、视频流式传输设备等。在一些情况下,源设备12和目的地设备14可以用于无线通信。
目的地设备14可以通过计算机可读介质16接收待解码的经编码的视频数据。计算机可读介质16可以包括任何类型的能够将经编码的视频数据从源设备12传递到目的地设备14的介质或设备。在一个示例中,计算机可读介质16可以包括通信介质,以使源设备12能够实时将经编码的视频数据直接发送到目的地设备14。经编码的视频数据可以根据无线通信协议等通信标准进行调制,并发送到目的地设备14。通信介质可以包括任何无线或有线通信介质,例如射频(radio frequency,RF)频谱或一条或多条物理传输线。通信介质可以构成分组网络(例如局域网、广域网,或因特网等全球网络)的部分。通信介质可以包括路由器、交换机、基站或任何其它可以用于从源设备12到目的地设备14进行通信的设备。
在一些示例中,可以将经编码的数据从输出接口22输出到存储设备。类似地,可以通过输入接口从存储设备存取经编码的数据。存储设备可以包括多种分布式或本地存取的数据存储介质中的任一个,例如硬盘驱动器、蓝光光盘、数字视频光盘(digital videodisk,DVD)、只读光盘存储器(Compact Disc Read-Only Memory,CD-ROM)、闪存、易失性或非易失性存储器,或任何其它合适的用于存储经编码的视频数据的数字存储介质。在又一示例中,存储设备可以对应于文件服务器或可以存储由源设备12生成的经编码的视频的另一中间存储设备。目的地设备14可以通过流式传输或下载从存储设备存取所存储的视频数据。文件服务器可以是任何类型的能够存储经编码的视频数据且将经编码的视频数据发送到目的地设备14的服务器。示例性文件服务器包括万维网服务器(例如用于网站)、文件传输协议(file transfer protocol,FTP)服务器、网络附属存储(network attachedstorage,NAS)设备或本地磁盘机。目的地设备14可以通过任何标准数据连接(包括因特网连接)存取经编码的视频数据。此标准数据连接可以包括无线信道(例如Wi-Fi连接)、有线连接(例如数字用户线(digital subscriber line,DSL)、电缆调制解调器等)或两者适于存取存储于文件服务器上的经编码的视频数据的组合。经编码的视频数据从存储设备的传输可以是流式传输、下载传输或其组合。
本发明中的技术不一定限于无线应用或设置。这些技术可以应用于视频译码以支持多种多媒体应用中的任一个,例如空中电视广播、有线电视传输、卫星电视传输、互联网流式传输视频传输(例如HTTP动态自适应流媒体(dynamic adaptive streaming overHTTP,DASH))、将数字视频编码到数据存储介质中、对存储在数据存储介质上的数字视频进行解码,或其它应用。在一些示例中,译码系统10可以用于支持单向或双向视频传输,以支持视频流式传输、视频播放、视频广播和/或视频电话等应用。
在图1A的示例中,源设备12包括视频源18、视频编码器20和输出接口22。目的地设备14包括输入接口28、视频解码器30和显示设备32。根据本发明,源设备12中的视频编码器20和/或目的地设备14中的视频解码器30可以使用双向预测技术。在其它示例中,源设备和目的地设备可以包括其它组件或装置。例如,源设备12可以从外部视频源(例如外部相机)接收视频数据。同理,目的地设备14可以与外部显示设备连接,而不是包括集成显示设备。
图1A所示的译码系统10仅仅是一个示例。双向预测技术可以由任何数字视频编码和/或解码设备执行。尽管本发明中的技术通常由视频编码设备执行,但这些技术还可以由视频编码器/解码器(通常称为“编解码器(CODEC)”)执行。此外,本发明中的技术还可以由视频预处理器执行。视频编码器和/或解码器可以是图形处理单元(graphics processingunit,GPU)或类似设备。
源设备12和目的地设备14仅仅是此类译码设备的示例,其中,源设备12生成经译码的视频数据以发送到目的地设备14。在一些示例中,源设备12和目的地设备14可以基本上对称地操作,使得源设备12和目的地设备14都包括视频编码和解码组件。因此,译码系统10可以支持视频设备12和14之间的单向或双向视频传输,例如用于视频流式传输、视频播放、视频广播或视频电话。
源设备12中的视频源18可以包括视频捕获设备(例如摄影机)、包括之前捕获的视频的视频档案库,和/或从视频内容提供方接收视频的视频输入接口。或者,视频源18可以生成基于计算机图形的数据作为源视频,或作为直播视频、存档视频和计算机生成视频的组合。
在一些情况下,当视频源18是摄影机时,源设备12和目的地设备14可以形成摄像头手机或视频电话。然而,如上所述,本发明中描述的技术通常可以适用于视频译码,并且可以应用于无线应用和/或有线应用。在每种情况下,可以由视频编码器20来编码捕获、预捕获或计算机生成的视频。然后,可以通过输出接口22将经编码的视频信息输出到计算机可读介质16上。
计算机可读介质16可以包括无线广播或有线网络传输等瞬态介质,还可以包括存储介质(即非瞬时性存储介质),例如硬盘、闪存盘、光盘、数字视频光盘、蓝光光盘或其它计算机可读介质。在一些示例中,网络服务器(未示出)可以从源设备12接收经编码的视频数据,并且例如通过网络传输等向目的地设备14提供经编码的视频数据。类似地,介质生产设施(例如光盘冲压设施)中的计算设备可以从源设备12接收经编码的视频数据,并且产生包括经编码的视频数据的光盘。因此,在各种示例中,计算机可读介质16可以理解为包括一个或多个各种形式的计算机可读介质。
目的地设备14中的输入接口28从计算机可读介质16接收信息。计算机可读介质16接收到的信息可以包括由视频编码器20定义的语法信息,其中,该语法信息也由视频解码器30使用,包括描述块和其它经译码单元(例如图像组(group of picture,GOP))的特征和/或处理方式的语法元素。显示设备32向用户显示解码视频数据,并且可以包括多种显示设备中的任一个,例如阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystaldisplay,LCD)、等离子体显示器、有机发光二极体(organic light emitting diode,OLED)显示器或其它类型的显示设备。
视频编码器20和视频解码器30可以根据视频译码标准(例如目前正在开发的高效视频译码(Efficiency Video Coding,HEVC)标准)进行操作,并且可以遵照HEVC测试模型(HEVC Test Model,HM)。或者,视频编码器20和视频解码器30可以根据其它专有或行业标准进行操作,例如国际电信联盟电信标准化部门(International TelecommunicationsUnion Telecommunication Standardization Sector,ITU-T)H.264标准(或者称为运动图像专家组(Motion Picture Expert Group,MPEG)-4第10部分、高级视频译码(AdvancedVideo Coding,AVC))、H.265/HEVC及此类标准的扩展版本等。然而,本发明中的技术不限于任何特定的译码标准。视频译码标准的其它示例包括MPEG-2和ITU-T H.263。尽管图1A未示出,但是在一些方面中,视频编码器20和视频解码器30可以分别与音频编码器和音频解码器集成,并且可以包括合适的复用器-解复用器(multiplexer-demultiplexer,MUX-DEMUX)单元或其它硬件和软件,以处理共同数据流或单独数据流中的音频和视频两者的编码。如果适用,MUX-DEMUX单元可以遵照ITU H.223复用器协议,或遵照用户数据报协议(userdatagram protocol,UDP)等其它协议。
视频编码器20和视频解码器30各自可以实现为多种合适编码器电路中的任一个,例如一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当上述技术部分地以软件实现时,一种设备可以将软件的指令存储于合适的非瞬时性计算机可读介质中,并且使用一个或多个处理器以硬件执行这些指令,以执行本发明中的技术。视频编码器20和视频解码器30都可以包括在一个或多个编码器或解码器中,其中的任一者可以在相应设备中集成为组合式编码器/解码器(编解码器)的部分。一种包括视频编码器20和/或视频解码器30的设备可以包括集成电路、微处理器和/或蜂窝电话等无线通信设备。
图1B为一个示例性实施例提供的示例性视频译码系统40的示意图。视频译码系统40包括图2中的编码器200和/或图3中的解码器300。系统40可以实现本申请中的技术,例如帧间预测中的融合估计。在所说明的实现方式中,视频译码系统40可以包括一个或多个成像设备41、视频编码器200、视频解码器300(和/或通过一个或多个处理单元46中的逻辑电路47实现的视频译码器)、天线42、一个或多个处理器43、一个或多个存储器44和/或显示设备45。
如图所示,一个或多个成像设备41、天线42、一个或多个处理单元46、逻辑电路47、视频编码器200、视频解码器300、一个或多个处理器43、一个或多个存储器44和/或显示设备45能够互相通信。如所论述,虽然示出了视频译码系统40包括视频编码器200和视频解码器30,但是在各种实际场景中,视频译码系统40可以只包括视频编码器200或只包括视频解码器300。
如图所示,在一些示例中,视频译码系统40可以包括天线42。例如,天线42可以用于发送或接收视频数据的经编码的码流。此外,在一些示例中,视频译码系统40可以包括显示设备45。显示设备45可以用于呈现视频数据。如图所示,在一些示例中,逻辑电路47可以通过一个或多个处理单元46实现。一个或多个处理单元46可以包括专用集成电路(application-specific integrated circuit,ASIC)逻辑、一个或多个图形处理器,或者一个或多个通用处理器等。视频译码系统40还可以包括一个或多个可选的处理器43,这些处理器43可以类似地包括专用集成电路(application-specific integrated circuit,ASIC)逻辑、一个或多个图形处理器,或者一个或多个通用处理器等。在一些示例中,逻辑电路47可以通过硬件或视频译码专用硬件等实现,一个或多个处理器43可以通用软件或操作系统等实现。另外,一个或多个存储器44可以是任何类型的存储器,例如易失性存储器(例如静态随机存取存储器(Static Random Access Memory,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)等)或非易失性存储器(例如闪存等),等等。在非限制性示例中,一个或多个存储器44可以通过超速缓存内存实现。在一些示例中,逻辑电路47可以访问一个或多个存储器44(用于实现图像缓冲器等)。在其它示例中,逻辑电路47和/或一个或多个处理单元46可以包括存储器(例如高速缓存等),用于实现图像缓冲器等。
在一些示例中,通过逻辑电路实现的视频编码器200可以包括(例如通过一个或多个处理单元46或一个或多个存储器44实现的)图像缓冲器和(例如通过一个或多个处理单元46实现的)图形处理单元。该图形处理单元可以与图像缓冲器以通信方式耦合。该图形处理单元可以包括通过逻辑电路47实现的视频编码器200,以体现参照图2和/或本文所描述的任何其它编码器系统或子系统所论述的各种模块。逻辑电路可以用于执行本文所论述的各种操作。
视频解码器300可以通过类似的方式通过逻辑电路47实现,以体现参照图3中的解码器300和/或本文所描述的任何其它解码器系统或子系统所论述的各种模块。在一些示例中,通过逻辑电路实现的视频解码器300可以包括(例如通过一个或多个处理单元46或一个或多个存储器44实现的)图像缓冲器和(例如通过一个或多个处理单元46实现的)图形处理单元。该图形处理单元可以与图像缓冲器以通信方式耦合。该图形处理单元可以包括通过逻辑电路47实现的视频解码器300,以体现参照图3和/或本文所描述的任何其它解码器系统或子系统所论述的各种模块。
在一些示例中,视频译码系统40中的天线42可以用于接收视频数据中的经编码的码流。如所论述,经编码的码流可以包括本文所论述的与视频帧编码相关的数据、指示符、索引值、模式选择数据等,例如与译码分割相关的数据(例如变换系数或量化变换系数、(如所论述的)可选指示符和/或定义译码分割的数据)。视频译码系统40还可以包括与天线42耦合并用于对经编码的码流进行解码的视频解码器300。显示设备45用于呈现视频帧。
图2为可以实现本申请中的技术的示例性视频编码器200的框图。视频编码器200可以对视频条带内的视频块执行帧内译码和帧间译码。帧内译码依赖于空间预测来减少或去除某个视频帧或图像内的视频中的空间冗余。帧间译码依赖于时间预测来减少或去除视频序列的相邻帧或图像内的视频中的时间冗余。帧内模式(I模式)可以是若干基于空间的译码模式中的任一种。帧间模式(例如单向预测(P模式)或双向预测(B模式)可以是若干基于时间的译码模式中的任一种。
图2为用于实现本发明中的技术的示例性视频编码器200的示意性/概念性框图。在图2的示例中,视频编码器200包括残差计算单元204、变换处理单元206、量化单元208、反量化单元210、逆变换处理单元212、重建单元214、缓冲器216、环路滤波器单元220、解码图像缓冲器(decoded picture buffer,DPB)230、预测处理单元260和熵编码单元270。预测处理单元260可以包括帧间估计242、帧间预测单元244、帧内估计252、帧内预测单元254和模式选择单元262。帧间预测单元244还可以包括运动补偿单元(未示出)。图2所示的视频编码器200也可以称为混合型视频编码器或基于混合型视频编解码器的视频编码器。
例如,残差计算单元204、变换处理单元206、量化单元208、预测处理单元260和熵编码单元270形成编码器200的前向信号路径,而例如反量化单元210、逆变换处理单元212、重建单元214、缓冲器216、环路滤波器220、解码图像缓冲器(decoded picture buffer,DPB)230、预测处理单元260形成编码器的后向信号路径,其中,编码器的后向信号路径与解码器(参见图3中的解码器300)的信号路径对应。
编码器200用于通过输入端202等接收图像201或图像201中的图像块203。图像201可以是形成视频或视频序列的图像序列中的图像。图像块203也可以称为当前图像块或待译码图像块,图像201可以称为当前图像或待译码图像(尤其是在视频译码中将当前图像与其它图像(例如同一视频序列(即也包括当前图像的视频序列)中的之前经编码和/或经解码图像)区分开时)。
分割
在实施例中,编码器200可以包括分割单元(图2中未示出),用于将图像201分割成多个块(例如块203等块),通常分割成多个不重叠的块。分割单元可以用于对视频序列中的所有图像使用相同的块大小和定义块大小的对应网格,或者用于在图像或子集或图像组之间更改块大小,并将每个图像分割成对应的块。
在HEVC和其它视频译码规范中,为了生成图像经编码的表示,可以生成译码树单元(coding tree unit,CTU)集。这些CTU都可以包括亮度像素点(sample)组成的译码树块、色度像素点组成的两个对应译码树块,以及对这些译码树块中的像素点进行译码所使用的语法结构。在黑白图像或包括三个不同颜色平面的图像中,一个CTU可以包括一个译码树块和对该译码树块中的像素点进行译码所使用的语法结构。一个译码树块可以是N×N个像素点组成的块。一个CTU也称为“树块”或“最大译码单元(largest coding unit,LCU)。HEVC中的CTU在广义上可以类似于H.264/AVC等其它标准中的宏块。然而,CTU不一定局限于特定大小,而且可以包括一个或多个译码单元(coding unit,CU)。一个条带可以包括按照光栅扫描顺序连续排序的整数个CTU。
在HEVC中,采用四叉树结构(表示为译码树)将CTU划分成CU,以适应不同的局部特征。在CU级作出是否使用帧间(时间)预测或帧内(空间)预测对图像区域进行译码的决定。一个CU可以包括图像中的亮度像素点组成的一个译码块和色度像素点组成的两个对应译码块以及对这些译码块中的像素点进行译码所使用的语法结构。该图像包括亮度像素点阵列、Cb像素点阵列和Cr像素点阵列。在黑白图像或包括三个不同颜色平面的图像中,一个CU可以包括一个译码块和对该译码块中的像素点进行译码所使用的语法结构。一个译码块是N×N个像素点组成的块。在一些示例中,CU的大小与CTU的大小相同。每个CU使用一种译码模式进行译码,该译码模式可以是(例如)帧内译码模式或帧间译码模式。还可能是其它译码模式。编码器200接收视频数据。编码器200可以将每个CTU编码到视频数据的图像的条带中。作为编码CTU的一部分,编码器200中的预测处理单元260或其它处理单元(包括但不限于图2所示的编码器200中的单元)可以执行分割以将CTU中的CTB分成逐渐变小的块203。这些小块可以是CU中的译码块。
码流内的语法数据也可以定义CTU的大小。一个条带包括按照译码顺序排列的多个连续CTU。视频帧或图像(image/picture)可以分割成一个或多个条带。如上所述,每个树块可以根据四叉树划分成译码单元(coding unit,CU)。一般而言,四叉树数据结构包括每个CU一个节点,其中,根节点对应于树块(例如CTU)。如果CU划分成4个子CU,则与该CU对应的节点包括4个子节点,每个子节点对应于一个子CU。四叉树结构中的多个节点包括叶节点和非叶节点。叶节点在树结构中没有子节点(即叶节点不进一步划分)。非叶节点包括树结构中的根节点。多个节点中的各个非根节点对应于CU中的子CU,该CU对应于各个非根节点所在的树结构中的父节点。各个非叶节点在树结构中具有一个或多个子节点。
四叉树数据结构中的每个节点可以为对应CU提供语法数据。例如,四叉树中的一个节点可以包括划分标志,指示是否将与该节点对应的CU划分成子CU。CU的语法元素可以重复定义,并且可以根据是否将CU划分成子CU确定。如果CU没有进一步划分,则该CU称为叶CU。如果CU块进一步划分,则该CU通常可以称为非叶CU。每一级分割都是将四叉树划分成4个子CU。黑色CU是叶节点(即没有进一步划分的块)的一个示例。
CU与H.264标准中的宏块具有类似的作用,只是CU没有大小区分。例如,可以将树块划分成4个子节点(也称为子CU),每个子节点也可以是父节点并划分成另外4个子节点。最终未划分的子节点(称为四叉树的叶节点)包括译码节点(也称为叶CU)。与经译码的码流相关的语法数据可以定义划分树块的最大次数,称为最大CU深度,还可以定义译码节点的最小大小。相应地,码流也可以定义最小译码单元(smallest coding unit,SCU)。使用术语“块”来指代HEVC上下文中的CU、PU或TU中的任一种或其它标准上下文中的类似数据结构(例如H.264/AVC中的宏块及其子块)。
在HEVC中,每个CU可以根据PU划分类型进一步划分为一个、两个或4个PU。在一个PU内执行相同的预测过程,并以PU为单位向解码器发送相关信息。在根据PU划分类型执行预测过程得到残差块之后,可以根据类似于用于CU的译码树的其它四叉树结构将CU分割成变换单元(transform unit,TU)。HEVC结构的其中一个主要特点是存在CU、PU和TU等多个分割概念。可以将PU分割成非正方形。与CU关联的语法数据还可以描述(例如)将CU分割成一个或多个PU。TU可以是正方形或非正方形(例如矩形)。与CU关联的语法数据可以描述(例如)根据四叉树将CU分割成一个或多个TU。对CU进行跳过模式或直接模式编码、进行帧内预测模式编码或进行帧间预测模式编码,分割模式可能有所不同。
但是,通用视频译码(Versatile Video Coding,VVC)不对PU和TU的概念进行区分,支持更多的CU分割形状。CU的大小对应于译码节点的大小,形状可以是正方形或非正方形(例如矩形)。CU的大小范围可以是4×4个像素(或8×8个像素)直到最大值为128×128个像素或更大(例如256×256个像素)的树块大小。
在编码器200生成CU的预测块(例如亮度、Cb和Cr预测块)之后,编码器200可以生成CU的残差块。例如,编码器100可生成CU的亮度残差块。CU的亮度残差块中的每个像素点指示CU的预测亮度块中的亮度像素点与CU的原始亮度译码块中的对应像素点之间的差值。另外,编码器200可以生成CU的Cb残差块。CU的Cb残差块中的每个像素点可以指示CU的预测性Cb块中的Cb像素点与CU的原始Cb译码块中的对应像素点之间的差值。编码器100也可以生成CU的Cr残差块。CU的Cr残差块中的每个像素点可以指示CU的预测Cr块中的Cr像素点与CU的原始Cr译码块中的对应像素点之间的差值。
在一些示例中,编码器100不对变换块进行变换。在此类示例中,编码器200可以对残差像素点值与变换系数进行相同处理。因此,在编码器100不进行变换的示例中,以下关于变换系数和系数块的论述可以适用于残差像素点组成的变换块。
在生成系数块(例如亮度系数块、Cb系数块或Cr系数块)之后,编码器200可以对系数块进行量化,以尽可能地减少用于表示系数块的数据量,从而可能地进行进一步压缩。量化一般是指一种将一系列值压缩为单个值的过程。在编码器200对系数块进行量化之后,编码器200可以对指示量化变换系数的语法元素进行熵编码。例如,编码器200可以对指示量化变换系数的语法元素执行上下文自适应二进制算术译码(Context-Adaptive BinaryArithmetic Coding,CABAC)或其它熵译码技术。
编码器200可以输出经编码的图像数据271组成的码流,该码流包括比特序列,该比特序列组成经译码图像的表示和相关数据。因此,码流包括视频数据中的经编码的表示。
在J.An等人于2015年9月发表的《下一代视频译码的块分割结构(Blockpartitioning structure for next generation video coding)》,国际电信联盟,COM16-C966(以下称为“VCEG建议书COM16-C966”)中,提出将四叉树–二叉树(quad-tree-binary-tree,QTBT)分割技术用于HEVC以上的未来视频译码标准。模拟结果表明,所提出的QTBT结构比HEVC中所使用的四叉树结构高效。在HEVC中,限制对小块进行帧间预测,以减少运动补偿的内存访问,这样,不支持对4×8块和8×4块进行双向预测,也不支持对4×4块进行帧间预测。JEM的QTBT不存在这些限制。
QTBT中的CU可以为正方形或矩形。例如,首先通过四叉树结构对译码树单元(coding tree unit,CTU)进行分割。可以进一步通过二叉树结构对四叉树叶节点进行分割。二叉树划分有两种划分类型:对称水平划分和对称垂直划分。每种情况都是水平地或垂直地从中间划分一个节点。二叉树叶节点称为译码单元(coding unit,CU),通过这种分裂进行预测和变换处理,而不进行任何进一步分割。也就是说,CU、PU和TU在QTBT译码块结构中具有相同的块大小。CU有时包括不同颜色分量组成的译码块(coding block,CB),例如,就4:2:0色度格式下的P条带和B条带而言,一个CU包括一个亮度CB和两个色度CB;CU有时包括单一分量组成的CB,例如,就I条带而言,一个CU只包括一个亮度CB或只包括两个色度CB。
针对QTBT分割方案定义以下参数:
-CTU大小:四叉树中的根节点大小,与HEVC中的概念相同
-MinQTSize:最小允许四叉树叶节点大小
-MaxBTSize:最大允许二叉树根节点大小
-MaxBTDepth:最大允许二叉树深度
-MinBTSize:最小允许二叉树叶节点大小
在QTBT分割结构的一个示例中,将CTU大小设置为128×128个亮度像素点以及由64×64色度像素点组成的两个对应块,将MinQTSize设置为16×16,将MaxBTSize设置为64×64,将MinBTSize(宽度和高度两者)设置为4×4,将MaxBTDepth设置为4。首先对CTU进行四叉树分割,生成四叉树叶节点。四叉树叶节点的大小范围为16×16(即MinQTSize)~128×128(即CTU大小)。当四叉树节点的大小等于MinQTSize时,不再考虑进一步四叉树分割。如果四叉树叶节点为128×128,则由于该大小超过MaxBTSize(即64×64),因此不再通过二叉树进一步划分。否则,可以通过二叉树进一步分割四叉树叶节点。因此,四叉树叶节点也是二叉树的根节点,其二叉树深度为0。当二叉树深度达到MaxBTDepth(即4)时,不再考虑进一步划分。当二叉树节点的宽度等于MinBTSize(即4)时,不再考虑进一步水平划分。类似地,当二叉树节点的高度等于MinBTSize时,不再考虑进一步垂直划分。二叉树的叶节点通过预测和变换处理进一步处理,而无需任何进一步分割。在JEM中,最大CTU大小为256×256个亮度像素点。二叉树的叶节点(CU)可以进行进一步处理(例如,执行预测过程和变换过程),而无需任何进一步分割。
另外,QTBT方案支持亮度和色度可以具有不同的QTBT结构。目前,对于P条带和B条带,一个CTU中的亮度CTU和色度CTB可以使用相同的QTBT结构。然而,对于I条带,亮度CTB通过QTBT结构分割成CU,而色度CTB可以通过其它QTBT结构分割成色度CU。也就是说,I条带中的CU包括亮度分量组成的译码块或两个色度分量组成的译码块,而P条带或B条带中的CU包括三个颜色分量组成的译码块。
编码器200对QTBT结构执行率失真优化(rate-distortion optimization,RDO)过程,以确定块分割。
另外,公开号为20170208336的美国专利申请中提出了称为多类型树(multi-type-tree,MTT)的块分割结构,以替换基于QT、BT和/或QTBT的CU结构。MTT分割结构仍然是重复的树结构。在MTT中,使用多种不同的分割结构(例如两种或更多种分割结构)。例如,根据MTT技术,在树结构的每个深度处,树结构中的每个相应非叶节点可以使用三种或更多种不同的分割结构。树结构中某一节点的深度可以指从该节点到树结构的根的路径长度(例如划分次数)。分割结构一般可以指一个块可以分成多少个不同的块。分割结构可以是四叉树分割结构,可以将一个块分成4个块;二叉树划分结构可以将一个块分成两个块;或者,三叉树分割结构可以将一个块分成三个块。此外,三叉树分割结构可以不从中间划分该块。一个分割结构可以具有多个不同的分割类型。分割类型可以另外定义划分一个块的方式,包括对称或非对称分割、均匀或非均匀分割和/或水平或垂直分割。
在MTT中,在树结构的每个深度处,编码器200可以使用三个以上分割结构中的一个分割结构中的特定分割类型来进一步划分子树。例如,编码器100可以用于根据QT、BT、三叉树(triple-tree,TT)和其它分割结构确定特定分割类型。在一个示例中,QT分割结构可以包括正方形四叉树或矩形四叉树分割类型。编码器200可以使用正方形四叉树分割来分割一个正方形块,即水平地和垂直地从中间将该正方形块分成4个大小相等的正方形块。同理,编码器200可以使用矩形四叉树分割来分割一个矩形块(例如非正方形),即水平地和垂直地从中间将该矩形块分成4个大小相等的矩形块。
BT分割结构可以包括水平对称二叉树、垂直对称二叉树、水平非对称二叉树或垂直非对称二叉树分割类型中的至少一个。就水平对称二叉树分割类型而言,编码器200可以用于水平地从中间将一个块划分成两个大小相同的对称块。就垂直对称二叉树分割类型而言,编码器200可以用于垂直地从中间将一个块划分成两个大小相同的对称块。就水平非对称二叉树分割类型而言,编码器100可以用于水平地将一个块划分成两个大小不同的块。例如,一个块可以是父块大小的1/4,另一个块可以是父块大小的3/4。这种类型类似于PART_2N×nU或PART_2N×nD分割类型。就垂直非对称二叉树分割类型而言,编码器100可以用于垂直地将一个块划分成两个大小不同的块。例如,一个块可以是父块大小的1/4,另一个块可以是父块大小的3/4,这种类型类似于PART_nL×2N或PART_nR×2N分割类型。在其它示例中,非对称二叉树分割类型可以将一个父块分成大小不同的部分。例如,一个子块可以是父块的3/8,另一个子块可以是父块的5/8。当然,这样的分割类型可以是垂直分割类型,也可以是水平分割类型。
TT分割结构与QT结果或BT结构的不同之处在于TT分割结构不从中间对块进行划分。块的中间区域保持在同一个子块中。与产生4个块的QT或产生两个块的二叉树不同,根据TT分割结构的划分产生三个块。根据TT分割结构的示例性分割类型包括(水平和垂直)对称分割类型和(水平和垂直)非对称分割类型。此外,根据TT分割结构的对称分割类型可以是非平均/非均匀分割类型或平均/均匀的分割类型。根据TT分割结构的非对称分割类型是非平均/非均匀分割类型。在一个示例中,TT分割结构可以包括以下分割类型中的至少一个:水平平均/均匀对称三叉树、垂直平均/均匀对称三叉树、水平非平均/非均匀对称三叉树、垂直非平均/非均匀对称三叉树、水平非平均/非均匀非对称三叉树或垂直非平均/非均匀非对称三叉树分割类型。
一般而言,非平均/非均匀对称三叉树分割类型是关于块的中间线对称的分割类型,但是得到的三个块中的至少一个块的大小与其它两个块的大小不相同。一个优选的示例是,侧块为块大小的1/4,而中间块为块大小的1/2。平均/均匀对称三叉树分割类型是关于块的中间线对称的分割类型,而且得到的块大小都相同。如果根据垂直划分或水平划分的块高度或宽度为3的倍数,则可以使用这种分割。非平均/非均匀非对称三叉树分割类型是关于块的中间线不对称的分割类型,而且得到的块中的至少一个块的大小与其它两个块的大小不相同。
在将一个块(例如位于子树节点处)划分成非对称三叉树分割类型的示例中,编码器200和/或解码器300可以限制三个分割中的两个分割具有相同的大小。这种限制可以对应于编码器200在编码视频数据时必须遵守的限制。此外,在一些示例中,编码器200和解码器300可以应用一种限制,即当根据非对称三叉树分割类型进行划分时,两个分割的面积之和等于剩余分割的面积。
在一些示例中,编码器200可以用于从上述所有分割类型中分别选择QT、BT和TT分割结构的分割类型。在其它示例中,编码器200可以用于只从上述分割类型的子集中确定分割类型。例如,某些块大小或某些深度的四叉树结构可以使用上述分割类型(或其它分割类型)的子集。所支持的分割类型的子集可以在码流中指示,以供解码器200使用,或者可以预定义,使得编码器200和解码器300可以在没有任何指示的情况下确定子集。
在其它示例中,对于所有CTU中的所有深度,所支持的分割类型的数量可以是固定的。也就是说,编码器200和解码器300可以预配置成对CTU的任何深度使用相同数量的分割类型。在其它示例中,所支持的分割类型的数量可以变化,可以根据深度、条带类型或其它之前经译码信息确定。在一个示例中,在树结构的深度0或深度1处,只使用QT分割结构。在大于1的深度处,可以使用QT、BT和TT分割结构中的每一种。
在一些示例中,编码器200和/或解码器300可以对所支持的分割类型施加预配置约束条件,以避免对视频图像的某个区域或CTU的区域进行重复分割。在一个示例中,当使用非对称分割类型对一个块进行划分时,编码器200和/或解码器300可以用于对从当前块中划分出来的最大子块不进一步划分。例如,当根据非对称分割类型(类似于PART_2N×nU分割类型)对一个正方形块进行划分时,则所有子块中最大的子块(类似于PART_2N×nU分割类型中的最大子块)为标记的叶节点,并且不能进一步划分。但是,较小的子块(类似于PART_2N×nU分割类型的较小子块)可以进一步划分。
在可以对所支持的分割类型施加约束条件以避免对某个区域进行重复分割的另一个示例中,当使用非对称分割类型对一个块进行划分时,从当前块划分出来的最大子块不能在同一方向进一步划分。例如,当使用非对称分割类型(类似于PART_2N×nU分割类型)对一个正方形块进行划分时,编码器200和/或解码器300可以用于在水平方向对所有子块中的最大子块(类似于PART_2N×nU分割类型中的最大子块)不进行划分。
在可以对所支持的分割类型施加约束条件以避免进一步划分的难度问题的另一个示例中,当块的宽度/高度不是2的幂时(例如,当宽度/高度不是2、4、8、16等时),编码器200和/或解码器300可以用于水平地或垂直地对块不进行划分。
上述示例描述了编码器200如何可以用于执行MTT分割。然后,解码器300可以执行与编码器200相同的MTT分割。在一些示例中,在解码器300侧采用同一组预定义规则,可以确定编码器200如何分割视频数据的图像。然而,在许多情况下,编码器200可以基于率失真准则为正被译码的视频数据的特定图像确定要使用的特定分割结构和分割类型。因此,为了使解码器300确定特定图像的分割,编码器200可以将语法元素指示在经编码的码流中,这些语法元素指示如何分割图像以及图像的CTU。解码器200可以解析此类语法元素并相应地分割图像和CTU。
在一个示例中,视频编码器200中的预测处理单元260可以用于执行上述分割技术的任何组合,尤其是运动估计,详细内容稍后进行描述。
与图像201一样,块203同样是或者可以认为是具有强度值(像素点值)的像素点组成的二维阵列或矩阵,但是块203的尺寸比图像201的小。换句话说,块203可以包括(例如)一个像素点阵列(例如黑白图像201情况下的亮度阵列)或三个像素点阵列(例如,彩色图像201情况下的一个亮度阵列和两个色度阵列)或根据所采用的颜色格式的任何其它数量和/或类型的阵列。块203在水平方向和垂直方向(或轴)上的像素点的数量限定了块203的大小。
图2所示的编码器200用于逐块对图像201进行编码,例如对每个块203执行编码和预测。
残差计算
残差计算单元204用于根据图像块203和预测块265(下文提供预测块265的其它细节)计算残差块205,例如逐个像素点(逐个像素)将图像块203的像素点值减去预测块265的像素点值,获得像素域中的残差块205。
变换
变换处理单元206可以用于对残差块205的像素点值进行离散余弦变换(discretecosine transform,DCT)或离散正弦变换(discrete sine transform,DST)等变换,获得变换域中的变换系数207。变换系数207也可以称为变换残差系数,可以表示变换域中的残差块205。
变换处理单元206可以用于应用DCT/DST的整数化近似,例如为HEVC/H.265指定的变换。与正交DCT变换相比,这种整数化近似通常通过某一因子进行缩放。为了维持经过正变换和逆变换处理的残差块的范数,使用额外的缩放因子作为变换过程的一部分。缩放因子通常是根据某些约束条件来选择的,例如缩放因子是用于移位运算的2的幂、变换系数的位深度、准确性与实现成本之间的权衡等。例如,在解码器300侧通过逆变换处理单元212等为逆变换(以及在解码器300侧通过逆变换处理单元212等为对应的逆变换)指定具体的缩放因子;相应地,可以在编码器200侧通过变换处理单元206等为正变换指定对应的缩放因子。
量化
量化单元208用于通过标量量化或矢量量化等对变换系数207进行量化,得到量化变换系数209。量化变换系数209也可以称为量化残差系数209。量化过程可以减少与部分或全部变换系数207有关的位深度。例如,可以在量化期间将n比特变换系数向下舍入到m比特变换系数,其中,n大于m。可以通过调整量化参数(quantization parameter,QP)修改量化程度。例如,对于标量量化,可以应用不同程度的缩放来实现较细或较粗的量化。较小量化步长对应于较细量化,而较大量化步长对应于较粗量化。可以通过量化参数(quantizationparameter,QP)指示合适的量化步长。例如,量化参数可以为合适的量化步长的预定义集合的索引。例如,较小的量化参数可以对应于精细量化(较小量化步长),较大的量化参数可以对应于粗糙量化(较大量化步长),反之亦然。量化可以包括除以量化步长,而反量化210等执行的对应反量化可以包括乘以量化步长。根据HEVC等一些标准的实施例可以使用量化参数来确定量化步长。一般而言,可以根据量化参数使用包含除法的等式的定点近似来计算量化步长。可以引入额外的缩放因子来进行量化和解量化,以恢复可能由于在用于量化步长和量化参数的等式的定点近似中使用的缩放而修改的残差块的范数。在一个示例性实现方式中,可以合并逆变换和解量化的缩放。或者,可以使用自定义量化表,并在码流等中将量化表从编码器通过信号发送到解码器。量化是有损操作,其中,量化步长越大,损耗越大。
反量化单元210用于对量化系数执行量化单元208的反量化,得到解量化系数211,例如根据或使用与量化单元208相同的量化步长,执行与量化单元208所执行的量化方案相反的反量化方案。解量化系数211也可以称为解量化残差系数211,对应于变换系数207,但是由于量化造成损耗,解量化系数211通常与变换系数不相同。
逆变换处理单元212用于执行变换处理单元206执行的变换的逆变换,例如逆离散余弦变换(discrete cosine transform,DCT)或逆离散正弦变换(discrete sinetransform,DST),得到像素域中的逆变换块213。逆变换块213也可以称为逆变换解量化块213或逆变换残差块213。
重建单元214(例如求和器214)用于(例如)通过将重建残差块213的像素点值和预测块265的像素点值相加,将逆变换块213(即重建残差块213)添加到预测块265,得到像素域中的重建块215。
可选的,缓冲器单元216(或简称“缓冲器”216)(例如列缓冲器216)用于缓冲或存储重建块215和相应的像素点值,以进行帧内预测等。在其它实施例中,编码器可以使用存储在缓冲器单元216中的未经滤波的重建块和/或相应的像素点值进行任何类型的估计和/或预测,例如帧内预测。
在实施例中,编码器200可以经配置以使得(例如)缓冲期单元216不只用于存储用于帧内预测254的重建块215,也用于环路滤波器单元220(图2中未示出),和/或使得(例如)缓冲器单元216和解码图像缓冲器230形成一个缓冲器。在其它实施例中,编码器200可以用于将经过滤波的块221和/或来自解码图像缓冲器230的块或像素点(图2中均未示出)用作帧内预测254的输入或基础。
环路滤波器单元220(或简称“环路滤波器”220)用于对重建块215进行滤波,得到经过滤波的块221,从而顺利进行像素转变或提高视频质量等。环路滤波器单元220用于表示一个或多个环路滤波器,例如去块效应滤波器、像素点自适应偏移(sample-adaptiveoffset,SAO)滤波器或其它滤波器,例如双边滤波器、自适应环路滤波器(adaptive loopfilter,ALF)、锐化或平滑滤波器,或协同滤波器。虽然环路滤波器单元220在图2中示为环内滤波器,但是在其它配置中,环路滤波器单元220可以实现为环后滤波器。经过滤波的块221也可以称为经过滤波的重建块221。在环路滤波器单元220对重建译码块进行滤波操作之后,解码图像缓冲器230可以存储重建译码块。
在实施例中,编码器200(对应地,环路滤波器单元220)可以用于输出环路滤波器参数(例如像素点自适应偏移信息),例如直接输出或由熵编码单元270或任何其它熵译码单元进行熵编码后输出,使得(例如)解码器300可以接收并使用相同的环路滤波器参数进行解码。
解码图像缓冲器(decoded picture buffer,DPB)230可以是存储参考图像数据以供视频编码器20在编码视频数据时使用的参考图像存储器。DPB 230可以由多种存储器设备中的任一种组成,例如动态随机存取存储器(dynamic random access memory,DRAM)(包括同步DRAM(synchronous DRAM,SDRAM)、磁阻RAM(magnetoresistive RAM,MRAM)、电阻RAM(resistive RAM,RRAM))或其它类型的存储器设备。可以由同一存储器设备或单独的存储器设备提供DPB 230和缓冲器216。在某一示例中,解码图像缓冲器(decoded picturebuffer,DPB)230用于存储经过滤波的块221。解码图像缓冲器230还可以用于存储同一个当前图像或不同图像(例如之前重建的图像)中的其它之前经过滤波的块(例如之前经过滤波的重建块221),并可以提供完整的之前重建(即解码)的图像(和对应的参考块和像素点)和/或部分重建的当前图像(和对应的参考块和像素点),以进行帧间预测等。在某一示例中,如果重建块215无需环内滤波而得以重建,则解码图像缓冲器(decoded picturebuffer,DPB)230用于存储重建块215。
预测处理单元260,也称为块预测处理单元260,用于接收或获取块203(当前图像201中的当前块203)和重建图像数据,例如来自缓冲器216的同一(当前)图像的参考像素点和/或来自解码图像缓冲器230的一个或多个之前经解码图像的参考图像数据231,以及用于处理此类数据以进行预测,即提供可以为经帧间预测块245或经帧内预测块255的预测块265。
模式选择单元262可以用于选择预测模式(例如帧内或帧间预测模式)和/或对应的用作预测块265的预测块245或255,以对残差块205进行计算和对重建块215进行重建。
在实施例中,模式选择单元262可以用于选择预测模式(例如从预测处理单元260所支持的预测模式中选择),所述预测模式提供最佳匹配或者说最小残差(最小残差是指传输或存储中更好的压缩),或者提供最小信令开销(最小信令开销是指传输或存储中更好的压缩),或者同时考虑或平衡以上两者。模式选择单元262可以用于根据率失真优化(ratedistortion optimization,RDO)确定预测模式,即选择提供最小率失真优化的预测模式,或者选择相关率失真至少满足预测模式选择标准的预测模式。
下文将详细地描述示例性编码器200执行的预测处理(例如由预测处理单元260执行)和模式选择(例如由模式选择单元262执行)。
如上文所述,编码器200用于从(预先确定的)预测模式集合中确定或选择最佳或最优的预测模式。预测模式集合可以包括帧内预测模式和/或帧间预测模式等。
帧内预测模式集合可以包括35种不同的帧内预测模式,例如像DC(或均值)模式和平面模式的非方向性模式或者如H.265中定义的方向性模式,或者可以包括67种不同的帧内预测模式,例如像DC(或均值)模式和平面模式的非方向性模式或者正在开发中的H.266定义的方向性模式。
(可能的)帧间预测模式集合取决于可用参考图像(即,前述存储在DPB 230等中的至少部分经解码图像)和其它帧间预测参数,例如取决于是否使用整个参考图像或只使用参考图像的一部分(例如围绕当前块的区域的搜索窗口区域)来搜索最佳匹配参考块,和/或例如取决于是否使用像素内插(例如二分之一/半像素内插和/或四分之一像素内插)。
除上述预测模式外,还可以使用跳过模式和/或直接模式。
预测处理单元260还可以用于将块203分割成更小的块部分或子块,例如迭代使用四叉树(quad-tree,QT)分割、二叉树(binary-tree,BT)分割或三叉树(triple-tree,TT)分割或其任何组合;以及用于对块部分或子块中的每一个执行预测等,其中,模式选择包括选择分割块203的树结构以及选择块部分或子块中的每一个所使用的预测模式。
帧间预测单元244可以包括运动估计(motion estimation,ME)单元和运动补偿(motion compensation,MC)单元(两者在图2中未示出)。运动估计单元用于接收或获得图像块203(当前图像201中的当前图像块203)和经解码图像331,或者至少一个或多个之前重建的块(例如一个或多个其它/不同的之前经解码图像331的重建块),以进行运动估计。例如,视频序列可以包括当前图像和之前的经解码图像331,或者换句话说,当前图像和之前的经解码图像331可以是形成视频序列中的图像序列的一部分或者形成该图像序列。例如,编码器200可以用于从多个其它图像中的同一个或不同图像中的多个参考块中选择一个参考块,并将参考图像(或参考图像索引等)和/或参考块的位置(x、y坐标)与当前块的位置之间的偏移(空间偏移)作为帧间预测参数提供给运动估计单元(图2中未示出)。这种偏移也称为运动矢量(motion vector,MV)。融合是HEVC中使用的一个重要运动估计工具,而且VVC继续使用。为了执行融合估计,首先要做的是构建融合候选列表,其中,每个候选包括所有运动数据,包括是否使用一个或两个参考图像列表的信息以及每个列表的参考索引和运动矢量。融合候选列表基于以下候选来构建:a、从五个空间相邻块中获取的最多4个空间融合候选;b、从两个时间并置块中获取的一个时间融合候选;c、其它融合候选,包括组合双向预测候选和零运动矢量候选。
帧内预测单元254还用于根据帧内预测参数(例如所选的帧内预测模式)确定帧内预测块255。在任何情况下,在为一个块选择帧内预测模式之后,帧内预测单元254还用于向熵编码单元270提供帧内预测参数,即提供指示该块的选定帧内预测模式的信息。在一个示例中,帧内预测单元254可以用于执行下文描述的帧内预测技术的任何组合。
熵编码单元270用于将熵编码算法或方案(例如可变长度译码(variable lengthcoding,VLC)方案、上下文自适应VLC(context adaptive VLC,CAVLC)方案、算术译码方案、基于语法的上下文自适应二进制算术译码(syntax-based context-adaptive binaryarithmetic coding,SBAC)、概率区间分割熵(probability interval partitioningentropy,PIPE)译码或其它熵编码方法或技术)应用于(或不应用)量化残差系数209、帧间预测参数、帧内预测参数和/或环路滤波器参数中的单个或所有上,得到可以通过输出端272以经编码的码流21等形式输出的经编码的图像数据271。可以将经编码的码流21发送到视频解码器30,或将其存档稍后由视频解码器30发送或检索。熵编码单元270还可以用于对正被编码的当前视频条带的其它语法元素进行熵编码。
视频编码器200的其它结构变型可以用于对视频流进行编码。例如,基于非变换的编码器200可以在某些块或帧没有变换处理单元206的情况下直接量化残差信号。在另一种实现方式中,编码器200可以包括组合成单个单元的量化单元208和反量化单元210。
图3示出了用于实现本申请技术的示例性视频解码器300。视频解码器300用于接收(例如)由编码器200编码的经编码的图像数据(例如经编码的码流)271,得到经解码图像331。在解码过程期间,视频解码器300从视频编码器200接收视频数据,例如表示经编码的视频条带中的图像块的经编码的视频码流和相关的语法元素。
在图3的示例中,解码器300包括熵解码单元304、反量化单元310、逆变换处理单元312、重建单元314(例如求和器314)、缓冲器316、环路滤波器320、解码图像缓冲器330和预测处理单元360。预测处理单元360可以包括帧间预测单元344、帧内预测单元354和模式选择单元362。在一些示例中,视频解码器300可以执行大体上与参照图2中的视频编码器200描述的编码回合互逆的解码回合。
熵解码单元304用于对经编码的图像数据271执行熵解码,获得量化系数309和/或解码译码参数(图3中未示出),例如帧间预测参数、帧内预测参数、环路滤波器参数和/或其它语法元素中(经解码)的任一个或全部。熵解码单元304还用于将帧间预测参数、帧内预测参数和/或其它语法元素转发给预测处理单元360。视频解码器300可以接收视频条带级和/或视频块级的语法元素。
反量化单元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。对于帧间预测,可以根据其中一个参考图像列表内的其中一个参考图像产生预测块。视频解码器300可以根据存储在DPB 330中的参考图像,使用默认构建技术来构建参考帧列表0和列表1。
预测处理单元360用于通过解析运动矢量和其它语法元素,确定当前视频条带的视频块的预测信息,并使用预测信息产生用于正在解码的当前视频块的预测块。例如,预测处理单元360使用接收到的一些语法元素确定用于对视频条带的视频块进行译码的预测模式(例如帧内预测或帧间预测)、帧间预测条带类型(例如B条带、P条带或GPB条带)、用于条带的一个或多个参考图像列表的构建信息、用于条带的每个经帧间编码的视频块的运动矢量、用于条中的每个经帧间译码的视频块的帧间预测状态,以及其它信息,以对当前视频条带中的视频块进行解码。
反量化单元310用于对码流中提供的并由熵解码单元304解码的量化变换系数进行反量化,即解量化。反量化过程可以包括使用由视频编码器100对视频条带中的每个视频块所计算的量化参数来确定应该进行的量化程度,同样也确定应该进行的反量化程度。
逆变换处理单元312用于对变换系数进行逆变换(例如逆DCT、逆整数变换或概念上类似的逆变换过程),以便在像素域中产生残差块。
重建单元314(例如求和器314)用于通过如下方式将逆变换块313(即重建残差块313)添加到预测块365,得到像素域中的重建块315:将重建残差块313中的像素点值和预测块365中的像素点值相加。
环路滤波器单元320(在译码环路中或之后)用于对重建块315进行滤波,得到经过滤波的块321,从而顺利进行像素转变或提高视频质量等。在一个示例中,环路滤波器单元320可以用于执行下文描述的滤波技术的任何组合。环路滤波器单元320用于表示一个或多个环路滤波器,例如去块效应滤波器、像素点自适应偏移(sample-adaptive offset,SAO)滤波器或其它滤波器,例如双边滤波器、自适应环路滤波器(adaptive loop filter,ALF),锐化或平滑滤波器,或协同滤波器。虽然环路滤波器单元320在图3中示为环内滤波器,但是在其它配置中,环路滤波器单元320可以实现为环后滤波器。
随后将给定帧或图像中的解码视频块321存储在解码图像缓冲器330中,解码图像缓冲器330存储用于后续运动补偿的参考图像。
解码器300用于(例如)通过输出端312输出经解码图像311,以向用户呈现或供用户查看。
视频解码器300的其它变型可以用于对压缩的码流进行解码。例如,解码器300可以在没有环路滤波器单元320的情况下产生输出视频流。例如,基于非变换的解码器300可以在某些块或帧没有逆变换处理单元312的情况下直接对残差信号进行反量化。在另一种实现方式中,视频解码器300可以包括组合成单个单元的反量化单元310和逆变换处理单元312。
图4为本发明一个实施例提供的网络设备400(例如译码设备)的示意图。网络设备400适用于实现本文描述的公开实施例。在一个实施例中,网络设备400可以是解码器(例如图1A中的视频解码器300)或编码器(例如图1A中的视频编码器200)。在一个实施例中,网络设备400可以是如上所述的图1A中的视频解码器300或图1A中的视频编码器200中的一个或多个组件。
网络设备400包括:入端口410和接收单元(Rx)420,用于接收数据;处理器、逻辑单元或中央处理器(central processing unit,CPU)430,用于处理所述数据;发送单元(Tx)440和出端口450,用于发送所述数据;存储器460,用于存储所述数据。网络设备400还可以包括与入端口410、接收单元420、发送单元440和出端口450耦合的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用于光信号或电信号的出口或入口。
处理器430通过硬件和软件实现。处理器430可以实现为一个或多个CPU芯片、核(例如多核处理器)、FPGA、ASIC和DSP。处理器430与入端口410、接收单元420、发送单元440、出端口450和存储器460通信。处理器430包括译码模块470。译码模块470实现上文描述的公开实施例。例如,译码模块470执行、处理、准备或提供各种译码操作。因此,将译码模块470包括在内为网络设备400的功能提供了实质性的改进,并且影响了网络设备400到不同状态的转换。或者,以存储在存储器460中并由处理器430执行的指令来实现译码模块470。
存储器460包括一个或多个磁盘、磁带机或固态硬盘,并且可以用作溢出数据存储设备,以在选择程序来执行时存储此类程序,或者存储在执行程序过程中读取的指令和数据。存储器460可以是易失性的和/或非易失性的,可以是只读存储器(read-only memory,ROM)、随机存取存储器(random-access memory,RAM)、三态内容寻址存储器(ternarycontent-addressable memory,TCAM)或静态随机存取存储器(static random-accessmemory,SRAM)。
图5为示例性实施例提供的装置500的简化框图。装置500可以用作图1A中的源设备12和目的地设备14中的任一个或两个。装置500可以实现本申请技术。装置500可以是包括多个计算设备的计算系统,也可以是单个计算设备,例如手机、平板电脑、膝上型电脑、笔记本电脑、台式电脑等。
装置500中的处理器502可以是中央处理器。或者,处理器502可以是现有的或今后将研发出的能够操控或处理信息的任何其它类型的设备或多个设备。虽然可以使用如图所示的处理器502等一个处理器来实施所公开的实现方式,但使用多个处理器可以提高速度和效率。
在一种实现方式中,装置500中的存储器504可以是只读存储器(read onlymemory,ROM)设备或随机存取存储器(random access memory,RAM)设备。任何其它合适类型的存储设备都可以用作存储器504。存储器504可以包括处理器502通过总线512访问的代码和数据506。存储器504还可以包括操作系统508和应用程序510,应用程序510包括至少一个程序,这个程序使得处理器502执行本文所述方法。例如,应用程序510可以包括应用1至应用N,这些应用还包括执行本文所述方法的视频译码应用。装置500还可以包括辅助存储器514形式的额外存储器,辅助存储器514可以是与移动计算设备一起使用的存储卡等。由于视频通信会话可以包括大量信息,因此它们可以全部或部分地存储在辅助存储器514中,并根据需要加载到存储器504中进行处理。
装置500还可以包括一个或多个输出设备,例如显示器518。在一个示例中,显示器518可以是将显示器与触敏元件组合的触敏显示器,该触敏元件能够用于感测触摸输入。显示器518可以通过总线512与处理器502耦合。除显示器518之外,还可以提供使得用户对装置500进行编程或以其它方式使用装置500的其它输出设备。当输出设备是显示器或者包括显示器时,该显示器可以为液晶显示器(liquid crystal display,LCD)、阴极射线管(cathode-ray tube,CRT)显示器、等离子显示器或发光二极管(light emitting diode,LED)显示器(例如有机LED(organic LED,OLED)显示器)。
装置500还可以包括图像传感设备520或者与图像传感设备520通信。图像传感设备520可以是相机,或现有的或今后将研发出的能够感测图像(例如操作装置500的用户的图像)的任何其它图像传感设备520等。可以将图像传感设备520朝向操作装置500的用户放置。在一个示例中,可以设置图像传感设备520的位置和光轴,使得视野包括与显示器518紧邻的区域,从这个区域可以看到显示器518。
装置500还可以包括声音传感设备522或者与声音传感设备通信。声音传感设备522可以是麦克风,或现有的或今后将研发出的能够感测装置500附近声音的任何其它声音传感设备等。可以将声音传感设备522朝向操作装置500的用户放置。声音传感设备522可以用于接收用户在操作装置500时发出的语音或其它话语等声音。
虽然图5描述了装置500中的处理器502和存储器504集成在单个设备中,但是可以使用其它构造。处理器502的操作可以分布在多台机器(每台机器包括一个或多个处理器)上,这些机器可以直接耦合或者通过局域网或其它网络耦合。存储器504可以分布在多台机器中,例如基于网络的存储器或执行装置500的操作的多台机器中的存储器。虽然装置500的总线512在这里示为单个总线,但是总线512可以有多个。此外,辅助存储器514可以直接与装置500中的其它组件耦合或者可以通过网络被访问,并且可以包括单个集成单元(例如一个存储卡)或多个单元(例如多个存储卡)。因此,装置500可以具有各种各样的构造。
在4:2:0采样中,两个色度阵列的高度和宽度都是亮度阵列的一半。图6A示出了图像中的亮度像素点和色度像素点的标称垂直和水平相对位置。
图8为示例性位置的概念图,根据这些位置推导对经过下采样的重建亮度块进行缩放所使用的缩放参数。例如,图8示出了4:2:0采样的一个示例,缩放参数为α和β。
一般而言,当使用的是LM预测模式时,视频编码器20和视频解码器30可以调用以下步骤。视频编码器20和视频解码器30可以对相邻亮度像素点进行下采样。视频编码器20和视频解码器30可以推导线性参数(即α和β)(也称为缩放参数)。视频编码器20和视频解码器30可以对当前亮度块进行下采样,并根据线性参数和经过下采样的亮度块推导预测值(例如预测块)。进行下采样的方法可以有很多种。
图6B为亮度位置和色度位置的一个示例的概念图,使用这些亮度位置和色度位置对亮度块中的像素点进行下采样,以生成色度块的预测块。如图6B所示,根据2个实心(即黑色实心)圆圈表示的两个亮度像素点,使用[1,1]滤波器来预测实心三角形表示的色度像素点。该[1,1]滤波器是2抽头滤波器的一个示例。
图6C为亮度位置和色度位置的另一个示例的概念图,使用这些亮度位置和色度位置对亮度块中的像素点进行下采样,以生成预测块。如图6C所示,根据6个实心(即黑色实心)圆圈表示的六个亮度像素点,使用6抽头滤波器来预测实心三角形表示的色度像素点。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合实现。如果以软件实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质中或通过计算机可读介质传输,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,对应于数据存储介质等有形介质或者包括任何介质的通信介质,从而有助于根据通信协议等将计算机程序从一个地方传递到另一个地方。通过这种方式,计算机可读介质通常可以对应于(1)非瞬时性的有形计算机可读存储介质,或(2)信号或载波等通信介质。数据存储介质可以是一个或多个计算机或一个或多个处理器能够访问的任何可用介质,以检索用于实现本发明所述技术的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。
据证明视频压缩技术(例如运动补偿、帧内预测和环路滤波器)有效果,因此各种视频译码标准(例如H.264/AVC和H.265/HEVC)中采用了视频压缩技术。当在I帧或I条带等中没有可用参考图像或者当前块或图像没有使用帧间预测译码时,可以使用帧内预测。通常根据同一图像中的之前经译码(或重建)的相邻块推导帧内预测所使用的参考像素点。例如,H.264/AVC和H.265/HEVC中都使用相邻块的边界像素点作为进行帧内预测的参考像素点。为了适用于不同的纹理或结构特征,存在多种不同的帧内预测模式。每种模式中使用不同的预测信号推导方法。例如,H.265/HEVC总共支持35种帧内预测模式,如图6D所示。
H.265/HEVC中的帧内预测算法描述
帧内预测使用相邻块中的解码边界像素点作为参考像素点。编码器从35个选项中选择每个块的最佳亮度帧内预测模式(即为当前块提供最准确的预测值的模式):33种定向预测模式、DC模式和平面模式。图6D示出了帧内预测方向与帧内预测模式编号之间的映射关系。需要说明的是,最新的视频译码技术(例如通用视频译码(versatile video coding,VVC))中开发了65种或甚至更多种帧内预测模式,从而能够捕获自然视频中呈现的任意边缘方向。在这些预测模式之中,水平方向的模式(例如图6D中的模式10)也称为“水平模式”,垂直方向的模式(例如图6D中的模式26)也称为“垂直模式”。
图7示出了一个块的参考像素点。如图7所示,块“CUR”是待预测的当前块,围绕当前块边界的暗色像素点是预测当前块所使用的参考像素点。这些参考像素点是与当前块相邻的重建块(也称为相邻块)中的像素点。块“CUR”可以是亮度块或色度块,取决于待预测块的类型。根据帧内预测模式指示的特定方法,可以通过映射参考像素点推导预测信号。
参考像素点替换
由于若干原因,部分或全部参考像素点可能不可用于帧内预测。例如,在图像、条带或分块之外的像素点不可用于预测。另外,在执行约束帧内预测时,为了避免可能错误接收和重建的之前图像导致的误差传播,省略属于经过帧间预测的PU的参考像素点。如本文所述,如果当前译码块的参考像素点在当前图像、条带或分块之内,如果当该参考像素点可以在对当前译码块进行解码之前重建,和/或如果由于编码器做出译码决策而不省略该参考像素点,则该参考像素点可用。在HEVC中,可以在替换不可用参考像素点之后使用所有预测模式。在所有参考像素点不可用的极端情况下,在给定位深度下使用标称平均像素点值(例如8比特数据下的128)来替换所有参考像素点。如果至少有一个参考像素点被标记为可用于帧内预测,则使用可用参考像素点来替换不可用参考像素点。顺时针方向扫描参考像素点并使用最新的可用像素点值替换不可用像素点值,从而替换不可用参考像素点。如果顺时针方向扫描的第一个像素点不可用,则使用在顺时针方向扫描像素点时遇到的第一个可用参考像素点来替换第一个像素点。这里,“替换”也可以称为填充,被替换像素点也可以称为被填充像素点。
约束帧内预测
约束帧内预测是一种工具,用于避免由于使用编码器和解码器不一致的参考像素进行空间帧内预测而产生的空间噪声传播。发送经过帧间译码的条带时会发生丢包,这时会出现编码器和解码器不一致的参考像素。在使用有损解码器侧内存压缩时,也会出现编码器和解码器不一致的参考像素。在启用约束帧内预测时,将经过帧间预测的像素点标记为不可用于帧内预测,而且可以使用上文公开的填充方法来填充这些不可用像素点,从而在编码侧执行全帧内预测估计或在解码侧执行帧内预测。
分量间线性模型(CCLM)预测
分量间线性模型(cross-component linear model prediction,CCLM)预测,也称为分量间帧内预测(cross-component intra-prediction,CCIP),是一类帧内预测模式,用来减少帧内预测中的分量间冗余。图8(包括图8A和图8B)为用于执行CCLM帧内预测的示例性机制的示意图。图8示出了4:2:0采样的一个示例。图8示出了CCLM模式中涉及的当前块中的像素点及其左侧和上方相邻像素点的位置的一个示例。白色正方形为当前块中的像素点,阴影圆圈为相邻块中的重建像素点。图8A示出了色度块的相邻重建像素的一个示例。图8B示出了并置亮度块的相邻重建像素的一个示例。如果视频格式为YUV4:2:0,存在一个16×16亮度块和两个8×8色度块。
编码器200中的帧内估计单元254和/或解码器300中的帧内预测单元354可以执行CCLM帧内预测。CCLM帧内预测用于预测色度块801中的色度像素点803。色度像素点803出现在以正方形显示的整数位置上。部分根据黑色圆圈显示的相邻参考像素点进行CCLM帧内预测。不完全根据相邻色度参考像素点805预测色度像素点803。还根据亮度参考像素点813和相邻亮度参考像素点815预测色度像素点803。具体地,一个CU包括一个亮度块811和两个色度块801。生成一种将同一个CU中的色度像素点803和亮度参考像素点813相互关联起来的模型。将相邻亮度参考像素点815与相邻色度参考像素点805进行比较,从而确定该模型的线性系数。
在重建亮度参考像素点813时,亮度参考像素点813表示为重建亮度像素点(Rec'L)。在重建相邻色度参考像素点805时,相邻色度参考像素点805表示为重建相邻色度像素点(Rec'C)。
如图所示,亮度块811中包括的像素点是色度块801中的四倍。在图8所示的示例中,色度块801包括N×N个像素点,而亮度块811包括2N×2N个像素点。因此,亮度块811的分辨率是色度块801的四倍。为了对亮度参考像素点813和相邻亮度参考像素点815进行预测,对亮度参考像素点813和相邻亮度参考像素点815进行下采样,以便与相邻色度参考像素点805和色度像素点803进行准确比较。下采样过程是为了降低一组像素点的分辨率。例如,当使用的是YUV4:2:0格式时,可以按因子4(例如,宽度除以2,高度除以2)对亮度像素点进行下采样。YUV是一种颜色编码系统,其使用包括亮度分量Y和两个色度分量U和V的颜色空间。
在CCLM预测中,根据经过下采样的对应重建亮度像素点(当前亮度块),使用以下线性模型对色度像素点进行预测:
predC(i,j)=α·recL′(i,j)+β (1)
其中,predC(i,j)表示经过预测的色度像素点,rec′L(i,j)表示经过下采样的对应重建亮度像素点。使当前亮度块和当前色度块周围的相邻重建亮度和色度像素点之间的回归误差降到最小,可以如下所示推导参数α和β:
Figure BDA0003779541990000361
Figure BDA0003779541990000362
其中,L(n)表示经过下采样的上方和左侧相邻重建亮度像素点,C(n)表示上方和左侧相邻重建色度像素点,N的值等于推导两个系数所使用的像素点。对于正方形的译码块,直接使用上述两个等式。这种回归误差最小化计算也是解码过程的一部分,而不仅仅是一种编码器搜索操作,因此不使用语法来指示α和β的值。
除了使用上述回归误差最小化方法(也称为最小二乘(least square,LS)法)之外,还可以使用最大亮度像素点值和最小亮度像素点值来推导线性模型系数α和β。后一种方法也称为MaxMin方法。在MaxMin方法中,在对上方和左侧相邻重建亮度像素点进行下采样之后,获得这些相邻重建亮度像素点分别与上方和左侧相邻重建色度像素点之间的一对一关系。因此,可以使用基于一对一关系的成对亮度和色度像素点来推导线性模型系数参数α和β。首先识别经过下采样的上方和左侧相邻重建亮度像素点中的最小值和最大值,然后从上方和左侧相邻重建色度模板中识别对应的像素点,从而获得成对亮度和色度像素点。成对亮度和色度像素点如图9中的(A、B)所示。根据以下等式获得线性模型参数α和β:
Figure BDA0003779541990000371
β=yA-αxA, (5)
其中,(xA,yA)是图9中A的坐标,(xB,yB)是图9中B的坐标。
增加CCLM亮度到色度预测模式,作为一个额外的色度帧内预测模式。在编码器侧,为了选择色度帧内预测模式,对色度分量增加一次额外的率失真(rate-distortion,RD)成本检查。
为了简单起见,在本文中,术语“模板”用于表示相邻重建色度像素点和经过下采样的相邻重建亮度像素点。这些相邻重建色度像素点和经过下采样的相邻重建亮度像素点也称为模板中的参考像素点。图10示出了色度块和经过下采样的对应亮度块的模板。在图10所示的示例中,亮度块’1020是当前亮度块的经过下采样的亮度块,并且与色度块1040具有相同的空间分辨率。即,亮度块’1020是色度块1040的经过下采样的并置亮度块。上方模板1002包括当前色度块1040上方的相邻重建色度像素点和亮度块’1020的经过下采样的对应上方相邻重建亮度像素点。根据亮度块上方的相邻像素点获得亮度块’1020的经过下采样的上方相邻重建亮度像素点。如本文所述,亮度块上方的相邻像素点可以包括亮度块正上方的相邻像素点、与亮度块不相邻的相邻像素点,或者以上两者。左侧模板1004包括左侧相邻重建色度像素点和经过下采样的对应左侧相邻重建亮度像素点。上方相邻重建色度像素点也称为“上方色度模板”,例如上方色度模板1006。经过下采样的对应上方相邻重建亮度像素点称为“上方亮度模板”,例如上方亮度模板1008。左侧相邻重建色度像素点也称为“左侧色度模板”,例如左侧色度模板1010。经过下采样的对应左侧相邻重建亮度像素点称为“左侧亮度模板”,例如左侧亮度模板1012。模板中包括的元素称为该模板中的参考像素点。
在现有的CCLM应用中,如果上方模板或左侧模板中存在一个参考像素点被标记为不可用,则不会使用整个模板。图11示出了包括不可用参考像素点的模板的一个示例。在图11所示的示例中,对于色度块1140,如果上方模板中存在不可用参考像素点,例如1102中的参考像素点A2,则不使用上方模板来推导线性模型系数。类似地,如果左侧模板中存在一个不可用参考像素点,例如1104中的参考像素点B2,则不使用左侧模板来推导线性模型系数。这样会降低帧内预测的译码性能。
多方向线性模型
上方模板和左侧模板中的参考像素点除了共同用来计算线性模型系数之外,还可以用于另外两种CCLM模式(即CCLM_T模式和CCLM_L模式)中。CCLM_T和CCLM_L也可以统称为多方向线性模型(multi-directional linear model,MDLM)。图12示出了CCLM_T模式中使用的参考像素点,图13示出了CCLM_L模式中使用的参考像素点。如图12所示,CCLM_T模式中只使用上方模板中的参考像素点(例如参考像素点1202和1204)来计算线性模型系数。如图13所示,CCLM_L模式中只使用左侧模板中的参考像素点(例如参考像素点1212和1214)来计算线性模型系数。这些模式中使用的参考像素点的数量都为W+H,其中,W是色度块的宽度,H是色度块的高度。
CCLM模式和MDLM模式(即CCLM_T模式和CCLM_L模式)可以同时使用,或者择一使用。例如,在编解码器中只使用CCLM模式,在编解码器中只使用MDLM模式,或者在编解码器中同时使用CCLM模式和MDLM模式。在同时使用CCLM模式和MDLM模式的后一种情况下,增加3种模式(即CCLM、CCLM_T、CCLM_L),作为3种额外的色度帧内预测模式。在编码器侧,为了选择色度帧内预测模式,对色度分量增加3次额外的RD成本检查。在现有的MDLM方法中,使用LS方法推导模型参数或模型系数。如果可用参考像素点不够,则使用填充操作来复制距离最远的像素值或提取可用参考像素点中的像素点值。
但是,使用LS方法获得MDLM模式的线性模型系数导致计算很复杂。另外,在现有的MDLM模式中,一些模板像素点的位置可以离当前块很远,尤其是非正方形块。例如,上方模板中的最右侧参考像素点和左侧模板中的下方参考像素点都离当前块很远。因此,这些参考像素点与当前块的相关性较小,使得色度块的预测效率较低。本文提供的技术可以降低MDLM的复杂度,提高模板像素点与当前块的相关性。
在一个示例中,当使用MaxMin方法确定模型系数时,除了同时使用上方模板和左侧模板中的参考像素点之外,还可以只使用左侧模板或上方模板中的参考像素点。例如,在MaxMin方法中,只检查上方亮度模板中的参考像素点,以确定最大亮度值和最小亮度值。或者,只检查左侧亮度模板中的参考像素点,以确定最大亮度值和最小亮度值。在确定最大亮度值和最小亮度值的像素点位置之后,可以根据最小亮度值和最大亮度值的位置获得对应的色度像素点值。
图14为确定最大亮度值和最小亮度值所使用的参考像素点的一个示例的示意图。在图14所示的示例中,上方亮度模板中的参考像素点的数量(表示为W1)大于当前色度块的宽度(表示为W),左侧亮度模板中的参考像素点的数量(表示为H1)大于当前色度块的高度(表示为H)。图15为确定最大亮度值和最小亮度值所使用的参考像素点的另一个示例的示意图。在图15所示的示例中,上方亮度参考像素点的数量等于当前色度块的宽度W,左侧亮度参考像素点的数量等于当前色度块的高度H。
综上所述,除了LS方法之外,MaxMin方法也可以用于MDLM模式中。换句话说,MaxMin方法可以用于推导CCLM_T模式和CCLM_L模式的模型系数。由于MaxMin方法的计算复杂度比LS算法的低,因此所提供的方法降低了计算复杂度,从而改进了MDLM。此外,现有的MaxMin方法对于CCLM模式同时使用上方模板和左侧模板。所提供的方法采用上方模板或左侧模板来推导模型系数,进一步降低了该模式的计算复杂度。
根据本文提供的技术的其它示例,对模板中的参考像素点进行选择,以增加参考像素点与当前块之间的相关性。使用上方模板中的最多W2个参考像素点。使用左侧模板中的最多H2个参考像素点。这样,由于距离上方模板中的W2个参考像素点或左侧模板中的H2个参考像素点较远的参考像素点与当前块的相关性较小,因此不使用这些参考像素点。
另外,当使用MaxMin方法推导模型系数时,只使用可用参考像素点,而且不通过填充来替换不可用参考像素点。例如,只检查上方亮度模板中的可用像素点,以确定CCLM_T模式中的最大亮度值和最小亮度值。因为使用了上方模板中的W2个参考像素点,所以可用像素点的数量(表示为W3)小于或等于W2。同理,检查左侧亮度模板中的可用像素点,以确定CCLM_L模式中的最大值和最小值,并且可用像素点的数量(表示为H3)可以小于或等于H2。W2与W3以及H2与H3的关系如图16所示,其中,W3≤W2,H3≤H2。在一个示例中,W2=2×W,H2=2×H。
或者,W2和H2都可以等于W+H。换句话说,可以使用上方亮度模板中的最多(W+H)个参考像素点来推导CCLM_T模式的模型系数,以及可以使用左侧亮度模板中的最多W+H个参考像素点来推导CCLM_L模式的模型系数。在这些参考像素点中,只检查该范围(即CCLM_T和CCLM_L中都是W+H)内的可用亮度模板像素点,以确定最大亮度值和最小亮度值。在本示例中,检查上方亮度模板中的可用像素点(小于或等于W+H),以确定CCLM_T模式中的最大值和最小值。检查左侧亮度模板中的可用像素点(小于或等于W+H),以确定CCLM_L模式中的最大值和最小值。
现有MDLM方法正好使用(W+H)个参考像素点来推导CCLM_T模式和CCLM_L模式的模型系数,相比之下,所提供的方法使用最多(2×W)或(W+H)个参考像素点来推导CCLM_T模式的模型系数以及使用最多(2×H)或(W+H)个参考像素点来推导CCLM_L模式的模型系数。另外,只使用经过检查的像素点范围(CCLM_T中是2×W或W+H,CCLM_L中是2×H或W+H)内的可用亮度参考像素点来确定最大值和最小值。在上面提供的方法中,对步长大于1(例如2、4或其它值)的参考像素点进行采样可以加快确定亮度模板中的最大亮度值和最小亮度值。
下采样方法
如上所述,由于图像中的亮度分量的空间分辨率大于色度分量的空间分辨率,因此在MDLM模式中,亮度分量需要下采样到色度部分的分辨率。例如,在YUV4:2:0格式下,需要按4(宽度除以2,高度除以2)对亮度分量进行下采样,以匹配色度分量的分辨率。在MDLM模式中,可以使用与色度块对应的经过下采样的亮度块(与色度块具有相同的空间分辨率)对色度块执行预测。经过下采样的亮度块的大小等于色度块的大小(因为亮度块下采样到色度块的大小)。
亮度模板中的参考像素点也需要下采样,以推导MDLM模式的线性模型系数。在CCLM_T模式中,对上方相邻重建亮度像素点进行下采样,生成上方模板中的参考像素点,这些参考像素点与上方色度模板中的参考像素点(即上方相邻重建色度像素点)对应。对上方相邻重建亮度像素点进行下采样通常涉及多行上方相邻重建亮度像素点。图17为使用多行或多列相邻亮度像素点对亮度像素点进行下采样的一个示例的示意图。如图17所示,对于亮度块,可以在下采样过程中使用两个上方相邻行A1和A2,获得经过下采样的相邻行A。A[i]表示为A中的第i个像素点,A1[i]表示为A1中的第i个像素点,A2[i]表示为A2中的第i个像素点,可以使用6抽头下采样滤波器,如下所示:
A[i]=(A2[2i]×2+A2[2i–1]+A2[2i+1]+A1[2i]×2+A1[2i–1]+A1[2i+1]+4)>>3。
相邻像素点的数量也可以大于当前块的大小。例如,如图18所示,经过下采样的亮度块的上方相邻像素点的数量可以为M,其中,M大于经过下采样的亮度块的宽度W。
在上文描述的现有下采样方法中,使用多行上方相邻重建亮度像素点来生成经过下采样的上方相邻重建亮度像素点。与常规的帧内模式预测相比,增加了列缓冲器的大小,从而增加了内存开销。
如果当前块位于当前译码树单元(coding tree unit,CTU)的上方边界(即当前色度块的顶行与当前CTU的顶行重叠),则在CCLM_T模式中只使用一行上方相邻重建亮度像素点,这样本文提供的技术降低下采样的内存占用率。图19为使用亮度块的单行相邻亮度像素点进行下采样的一个示例的示意图,该亮度块位于CTU的上方边界。如图19所示,只使用A1(包括一行相邻重建亮度像素点)来生成A中的经过下采样的上方相邻重建亮度像素点。
应该理解的是,虽然上述描述侧重于CCLM_T模式中的上方相邻重建亮度像素点,但类似的方法可以应用于CCLM_L模式中的左侧相邻重建亮度像素点。例如,如果当前块位于CTU的左侧边界(即当前色度块的左列与CTU的左列重叠),则在下采样时不使用多列左侧相邻重建亮度像素点,而是使用单列左侧相邻重建亮度像素点来生成经过下采样的亮度块的左侧模板中的参考像素点。
参考像素点的可用性确定
在上面的示例中,使用亮度模板来确定参考像素点的可用性,从而确定最大亮度值和最小亮度值。然而,在一些场景中,可用亮度参考像素点没有对应的色度参考像素点。例如,亮度块和色度块可能分开译码。这样,在重建亮度块可用时,对应的色度块仍然不可用。因此,可用亮度参考像素点没有对应的可用色度参考像素点,导致译码错误。
本文提供的技术通过检查色度模板中的参考像素点的可用性来确定一个模板中的参考像素点的可用性,以此解决这一问题。在一些示例中,如果色度参考像素点在当前图像、条带或分块之内,而且已经重建参考像素点,则该色度参考像素点可用。在一些示例中,如果色度参考像素点在当前图像、条带或分块之内,已经重建参考像素点,而且根据编码决策不省略参考像素点,等等,则该色度参考像素点可用。当前色度块的可用参考像素点可以是色度块的可用相邻重建像素点。使用与可用色度参考像素点对应的亮度参考像素点来确定最大亮度值和最小亮度值。例如,如果色度模板中的L个参考像素点可用,那么使用亮度模板中的与L个可用色度参考像素点对应的参考像素点来确定最大亮度值和最小亮度值。通过识别亮度模板中的与色度模板中的色度参考像素点位于相同位置的亮度参考像素点(即并置的亮度参考像素点(位置(x,y)),可以确定于该色度参考像素点对应的一个或多个亮度参考像素点。例如,与色度参考像素点对应的一个或多个亮度参考像素点可以包括相邻亮度参考像素点(位置(x-1,y))、亮度参考像素点(位置(x,y))和相邻亮度参考像素点(位置(x+1,y))。然后,使用具有最大亮度值和最小亮度值的亮度参考像素点以及与亮度参考像素点(与最大亮度值和最小亮度值相关)对应的色度参考像素点来确定上文描述的模型系数。
在一个示例中,可以使用L个可用色度参考像素点来确定模型系数,例如,L=4。在另一个示例中,使用L个可用色度参考像素点的一部分来确定模型系数。例如,从L个可用色度参考像素点中选择固定数量的可用色度参考像素点。识别与所选色度参考像素点对应的亮度参考像素点,并使用这些亮度参考像素点和所选色度参考像素点来确定模型系数。例如,如果所选色度参考像素点为4个可用色度参考像素点,则识别与这4个可用色度参考像素点对应的24个相邻重建亮度像素点。通过对24个相邻重建亮度像素点进行下采样,获得确定模型系数所使用的亮度参考像素点,其中,在下采样过程中使用6抽头滤波器。
在图16所示的示例中,CCLM_T模式中的上方模板像素点范围为W2。然后,确定当前色度块的上方色度模板中的参考像素点的可用性。如果W3个色度参考像素点可用(W3≤W2),那么获得相应的W3个或更少个亮度参考像素点。使用这些获得的亮度参考像素点和色度参考像素点来推导CCLM_T模式的模型系数。
类似地,再图16所示的示例中,CCLM_L模式中的左侧模板像素点范围为H2。检查当前色度块的左侧色度模板中的参考像素点的可用性。如果H3个色度参考像素点可用(H3≤H2),那么获得相应的H3个或更少个亮度参考像素点。使用这些获得的亮度参考像素点和色度参考像素点来推导CCLM_L模式的模型系数。类似地,可以确定CCLM模式中的参考像素点的可用性,即确定上方和左侧色度模板中的参考像素点的可用性,然后找到对应的亮度参考像素点,从而如上所述确定模型系数。
表1在INTRA_CCLM、INTRA_CCLM_L或INTRA_CCLM_T帧内预测模式规范的格式下描述了所提供方法的详细内容。表2示出了本文所提供方法的一种替代实现方式。
表1
Figure BDA0003779541990000411
Figure BDA0003779541990000421
Figure BDA0003779541990000431
Figure BDA0003779541990000441
表2
Figure BDA0003779541990000442
Figure BDA0003779541990000451
MDLM模式的二值化
为了将MDLM模式编码到视频信号的码流中,需要对MDLM模式执行二值化,使得所选MDLM模式可以编码到码流中,而且解码器可以确定并解码所选模式。现有的二值化方法没有包括MDLM的两种色度模式,即CCLM_L和CCLM_T。这里提供了一种新的色度模式译码方法。
表3和表4提供了这两种色度模式的二值化的详细内容。在表3中,77指示CCLM模式,索引intra_chroma_pred_mode为4;78指示CCLM_L模式,索引intra_chroma_pred_mode为5;79指示CCLM_T模式,索引intra_chroma_pred_mode为6。如果索引intra_chroma_pred_mode为7,则所选模式为DM模式。其余的索引值0、1、2和3分别表示平面模式、垂直模式、水平模式和DC模式。
表3:sps_cclm_enabled_flag为1时的IntraPredModeC[xCb][yCb](取决于intra_chroma_pred_mode[xCb][yCb]和IntraPredModeY[xCb][yCb])的详细说明
Figure BDA0003779541990000452
表4:sps_cclm_enabled_flag为1时的intra_chroma_pred_mode的二值化的一个示例
intra_chroma_pred_mode的值 二进制串
7 0
4 10
5 1110
6 1111
0 11000
1 11001
2 11010
3 11011
表4示出了每种色度帧内预测模式所使用的比特串或语法元素的一个示例。如表4所示,DM模式(索引为7)的语法元素为0,CCLM模式(索引为4)的语法元素为10,CCLM_L模式(索引为5)的语法元素为1110,CCLM_T模式(索引为6)的语法元素为1111,平面模式(索引为0)的语法元素为11000,垂直模式(索引为1)的语法元素为11001,水平模式(索引2)的语法元素为11010,DC模式(索引3)的语法元素为11011。
表5示出了每种色度帧内预测模式所使用的比特串或语法元素的另一个示例。根据编码器选择的译码模式,将相应的语法元素携带在经编码的视频的码流中。
表5:sps_cclm_enabled_flag为1时的intra_chroma_pred_mode的二值化的另一个示例
intra_chroma_pred_mode的值 二进制串
7 00
4 10
5 110
6 111
0 0100
1 0101
2 0110
3 0111
当视频编码器(例如图1中的视频编码器20)根据帧内色度预测模式对视频信号中的色度块执行帧内预测时,该视频编码器选择帧内色度预测模式,并将指示所选帧内色度预测模式的语法元素携带在码流中,生成该视频信号的码流。该视频编码器可以从多组模式中选择帧内色度预测模式。例如,这些模式可以包括第一组模式,该第一组模式包括推导模式(derived mode,DM)或分量间线性模型(cross component linear model,CCLM)预测模式,或以上两者。这些模式还可以包括第二组模式,该第二组模式包括CCLM_L模式或CCLM_T模式中的至少一个。这些模式还可以包括第三组模式,该第三组模式可以包括垂直模式、水平模式、DC模式或平面模式中的至少一个。
在一些示例中,从第一组模式中选择的帧内色度预测模式的语法元素的比特数小于从第二组模式中选择的帧内色度预测模式的语法元素的比特数。此外,从第二组模式中选择帧内色度预测模式时的帧内色度预测模式的语法元素的比特数小于从第三组模式中选择帧内色度预测模式时的帧内色度预测模式的语法元素的比特数。在一些示例中,根据表4或表5所示的示例来选择各种帧内色度预测模式的语法元素。
当解码器(例如图1中的视频解码器30)接收视频信号中的经编码的码流以解码视频时,该解码器从该视频信号的码流中解析语法元素,并根据从解析出的语法元素中选择的一个语法元素,确定色度块所使用的帧内色度预测模式。根据确定出的帧内色度预测模式,该解码器对视频信号中的当前色度块执行帧内预测。
图20为本发明一些方面提供的使用线性模型执行帧内预测的方法的流程图。在步骤2002中,确定与当前色度块(例如色度块801)对应的亮度块(例如亮度块811)。
在步骤2004中,根据确定所述当前色度块的L个可用色度参考像素点,获得所述亮度块的亮度参考像素点。所述亮度块的所述获得的亮度参考像素点为经过下采样的亮度参考像素点。在一些示例中,所述亮度块的所述亮度参考像素点为通过对根据所述L个可用色度参考像素点(例如根据所述L个可用色度参考像素的一部分或全部)选择的相邻亮度像素点进行下采样而获得的经过下采样的亮度参考像素点。换句话说,所述亮度块的所述亮度参考像素点为通过对与所述可用色度参考像素点对应的相邻亮度像素点进行下采样而获得的经过下采样的亮度参考像素点。在一些示例中,所述获得的亮度参考像素点与所述L个可用色度参考像素点对应。在其它示例中,所述获得的亮度参考像素点与所述L个可用色度参考像素点的一部分对应。可以理解的是,所述获得的亮度参考像素点(即经过下采样的亮度参考像素点)与所述L个可用色度参考像素点之间的对应关系可以不限于“一一对应关系”;还可以理解为,所述获得的亮度参考像素点(即经过下采样的亮度参考像素点)与所述L个可用色度参考像素点之间的对应关系可以是“M对N对应关系”。例如,M=4,N=4;或者,M=4,N>4。
在一些示例中,所述当前色度块的所述色度参考像素点包括所述当前色度块的相邻重建像素点。从所述相邻重建像素点中确定所述L个可用色度参考像素点。同理,所述亮度块的相邻像素点也是所述亮度块的相邻重建像素点。通过对根据所述L个可用色度参考像素点选择的相邻重建像素点进行下采样,获得所述亮度块的所述亮度参考像素点。例如,L=4。
在一些示例中,如果色度参考像素点在当前图像、条带或分块内,而且已经重建所述色度参考像素点,则所述色度参考像素点可用。在一些示例中,如果色度参考像素点在当前图像、条带或分块之内,已经重建所述色度参考像素点,而且根据编码决策不省略所述色度参考像素点,等等,则所述色度参考像素点可用。所述当前色度块的可用参考像素点可以是所述色度块的可用重建相邻像素点。获得与所述可用色度参考像素点对应的亮度参考像素点。
在一些示例中,确定所述L个可用色度参考像素点包括:确定所述当前色度块的L个上方相邻色度像素点可用,其中,1≤L≤W2,L和W2为正整数。W2表示上方参考像素点范围,将所述L个上方相邻色度像素点用作所述可用色度参考像素点。在一些示例中,W2等于2×W或W+H。这里,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
在其它示例中,确定所述L个可用色度参考像素点包括:确定所述当前色度块的L个左侧相邻色度像素点可用。这里,1≤L≤H2,L和H2为正整数。H2表示左侧参考像素点范围。将所述L个左侧相邻色度像素点用作所述可用色度参考像素点。在一些示例中,H2等于2×H或W+H。W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
在其它示例中,确定所述L个可用色度参考像素点包括:确定所述当前色度块的L1个上方相邻色度像素点和L2个左侧相邻色度像素点可用。这里,1≤L1≤W2,1≤L2≤H2。W2表示上方参考像素点范围,H2表示左侧参考像素点范围。L1、L2、W2和H2为正整数,L1+L2=L。在这些示例中,所述L1个上方相邻色度像素点和所述L2个左侧相邻色度像素点被用作所述可用色度参考像素点。
在一个示例中,只对所述亮度块上方的根据所述L个可用色度参考像素点选择的相邻像素点进行下采样,获得所述亮度参考像素点。在另一个示例中,只对所述亮度块左侧的根据所述L个可用色度参考像素点选择的相邻像素点进行下采样,获得所述亮度参考像素点。
在上述示例中,通过对与所述当前色度块对应的所述亮度块的重建亮度块进行下采样,获得所述亮度块的经过下采样的亮度块。在一些情况下,例如,当只根据所述亮度块上方的相邻像素点获得所述亮度参考像素点时以及当所述当前色度块的顶行与当前译码树单元(coding tree unit,CTU)的顶行重叠时,只使用所述亮度块的所述重建亮度块的一行相邻重建亮度像素点来获得所述亮度参考像素点。
在步骤2006中,根据在步骤2004中获得的所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算分量间预测所使用的线性模型系数。在一些示例中,与所述亮度参考像素点对应的所述色度参考像素点是与所述亮度参考像素点并置的色度参考像素点。
在步骤2008中,根据所述计算到的线性模型系数和通过对所述亮度块(例如亮度块811)进行下采样获得的经过下采样的亮度块的值,生成所述当前色度块的预测值。
图21为本发明其它方面提供的分量间线性模型(cross-component linearmodel,CCLM)预测的方法的流程图。在步骤2102中,确定与当前色度块(例如色度块801)对应的亮度块(例如亮度块811)。
在步骤2104中,通过对所述亮度块的相邻像素点进行下采样,获得所述亮度块的亮度参考像素点。在一些示例中,所述亮度参考像素点只包括根据所述亮度块上方的相邻像素点获得的亮度参考像素点。在其它示例中,所述亮度参考像素点只包括根据所述亮度块左侧的相邻像素点获得的亮度参考像素点。
在步骤2106中,根据所述亮度参考像素点,确定最大亮度值和最小亮度值。
在步骤2108中,至少部分地根据与所述最大亮度值相关的一个或多个亮度参考像素点的一个或多个位置,获得第一色度值。还至少部分地根据与所述最小亮度值相关的一个或多个亮度参考像素点的一个或多个位置,获得第二色度值。
在步骤2110中,根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算线性模型系数。
在步骤2112中,根据所述线性模型系数和所述亮度块的经过下采样的亮度块的值,生成所述当前色度块的预测值。
图22为使用线性模型执行帧内预测的装置2200的示例性结构的框图。装置2200可以包括确定单元2202和帧内预测处理单元2204。在一个示例中,装置2200可以与图2中的帧内预测单元254对应。在另一个示例中,装置2200可以与图3中的帧内预测单元354对应。
确定单元2202用于确定与当前色度块(例如色度块801)对应的亮度块(例如块811)。确定单元2202还用于根据确定所述当前色度块中的L个可用色度参考像素点,获得所述亮度块的亮度参考像素点。所述亮度块的所述获得的亮度参考像素点为经过下采样的亮度参考像素点。
在一些示例中,所述当前色度块的所述色度参考像素点包括所述当前色度块的相邻重建像素点。从所述相邻重建像素点中确定所述L个可用色度参考像素点。同理,所述亮度块的相邻像素点也是所述亮度块的相邻重建像素点。通过对所述亮度块的相邻重建像素点进行下采样,获得所述亮度块的所述亮度参考像素点。在一些示例中,所述亮度块的所述亮度参考像素点为通过对所述亮度块的根据所述L个可用色度参考像素点选择的相邻重建像素点进行下采样而获得的经过下采样的亮度参考像素点。在一些示例中,所述亮度块的所述亮度参考像素点为通过对与所述L个可用色度参考像素点对应的相邻重建像素点进行下采样而获得的经过下采样的亮度参考像素点。
在一些示例中,如果色度参考像素点在当前图像、条带或分块之内,已经重建所述色度参考像素点,而且根据编码决策不省略所述色度参考像素点,等等,则所述色度参考像素点可用。所述当前色度块的可用参考像素点可以是所述色度块的可用重建相邻像素点。获得与所述可用色度参考像素点对应的亮度参考像素点。
在一些示例中,确定所述L个可用色度参考像素点包括:确定所述当前色度块的L个上方相邻色度像素点可用,其中,1≤L≤W2,L和W2为正整数。W2表示上方参考像素点范围,将所述L个上方相邻色度像素点用作所述可用色度参考像素点。在一些示例中,W2等于2×W或W+H。这里,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
在其它示例中,确定所述L个可用色度参考像素点包括:确定所述当前色度块的L个左侧相邻色度像素点可用。这里,1≤L≤H2,L和H2为正整数。H2表示左侧参考像素点范围。将所述L个左侧相邻色度像素点用作所述可用色度参考像素点。在一些示例中,H2等于2×H或W+H。W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
在其它示例中,确定所述L个可用色度参考像素点包括:确定所述当前色度块的L1个上方相邻色度像素点和L2个左侧相邻色度像素点可用。这里,1≤L1≤W2,1≤L2≤H2。W2表示上方参考像素点范围,H2表示左侧参考像素点范围。L1、L2、W2和H2为正整数,L1+L2=L。在这些示例中,所述L1个上方相邻色度像素点和所述L2个左侧相邻色度像素点被用作所述可用色度参考像素点。
在一个示例中,通过只对所述亮度块上方的根据所述L个可用色度参考像素点选择的相邻像素点进行下采样,获得所述亮度参考像素点。在另一个示例中,通过只对所述亮度块左侧的根据所述L个可用色度参考像素点选择的相邻像素点进行下采样,获得所述亮度参考像素点。
在上述示例中,通过对与所述当前色度块对应的所述亮度块的重建亮度块进行下采样,获得所述亮度块的经过下采样的亮度块。在一些情况下,例如,当只根据所述亮度块上方的相邻像素点获得所述亮度参考像素点时以及当所述当前色度块的顶行与当前译码树单元(coding tree unit,CTU)的顶行重叠时,只使用所述亮度块的所述重建亮度块的一行相邻重建亮度像素点来获得所述亮度参考像素点。
帧内预测处理单元2204用于根据所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算线性模型系数(例如α和β)。帧内预测处理单元2204还用于根据所述线性模型系数和所述亮度块的经过下采样的亮度块的值,获得所述当前色度块的预测值。
图23为本发明一些方面提供的用于将色度帧内译码模式编码到视频信号的码流中的方法的流程图。
在步骤2302中,根据帧内色度预测模式,对所述视频信号中的色度块执行帧内预测。可以从多种模式中选择所述帧内色度预测模式。在一些示例中,所述多种模式包括三组:第一组模式,包括推导模式(derived mode,DM)或分量间线性模型(cross componentlinear model,CCLM)预测模式中的至少一个;第二组模式,包括CCLM_L模式或CCLM_T模式中的至少一个,或者第三组模式,包括垂直模式、水平模式、DC模式或平面模式中的至少一个。
在步骤2304中,通过将指示帧内色度预测模式的语法元素携带在所述码流中,生成所述视频信号的码流。在一些示例中,从所述第一组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数。从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第三组模式中选择所述帧内色度预测模式时的语法元素的比特数。
在一个示例中,所述DM模式的语法元素为0。所述CCLM模式的语法元素为10。所述CCLM_L模式的语法元素为1110。所述CCLM_T模式的语法元素为1111。所述平面模式的语法元素为11000。所述垂直模式的语法元素为11001。所述水平模式的语法元素为11010。所述DC模式的语法元素为11011。
在另一个示例中,所述DM模式的语法元素为00。所述CCLM模式的语法元素为10。所述CCLM_L模式的语法元素为110。所述CCLM_T模式的语法元素为111。所述平面模式的语法元素为0100。所述垂直模式的语法元素为0101。所述水平模式的语法元素为0110。所述DC模式的语法元素为0111。
图24为本发明一些方面提供的用于对视频信号的码流中的色度帧内译码模式进行解码的方法的流程图。
在步骤2402中,从视频信号的码流中解析多个语法元素。在步骤2404中,根据所述多个语法元素中指示帧内色度预测模式的一个语法元素,确定所述帧内色度预测模式。在一些示例中,从多种模式中确定所述帧内色度预测模式。例如,所述多种模式包括三组:第一组模式,包括推导模式(derived mode,DM)或分量间线性模型(cross component linearmodel,CCLM)预测模式中的至少一个;第二组模式,包括CCLM_L模式或CCLM_T模式中的至少一个,或者第三组模式,包括垂直模式、水平模式、DC模式或平面模式中的至少一个。在这些帧内色度预测模式组中,从所述第一组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数。从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第三组模式中选择所述帧内色度预测模式时的语法元素的比特数。
在步骤2406中,根据所述帧内色度预测模式,对所述视频信号中的当前色度块执行帧内预测。
图25为用于生成视频码流的装置2500的示例性结构的框图。装置2500可以包括帧内预测处理单元2502和二值化单元2504。在一个示例中,帧内预测处理单元2502可以与图2中的帧内预测单元254对应。在一个示例中,二值化单元2504可以与图2中的熵编码单元270对应。
帧内预测处理单元2502用于根据帧内色度预测模式,对所述视频信号中的色度块执行帧内预测。从第一组模式、第二组模式或第三组模式中选择所述帧内色度预测模式。所述第一组模式包括推导模式(derived mode,DM)或分量间线性模型(cross componentlinear model,CCLM)预测模式中的至少一个。所述第二组模式包括CCLM_L模式和CCLM_T模式中的至少一个。所述第三组模式包括垂直模式、水平模式、DC模式和平面模式中的至少一个。
二值化单元2504用于通过携带指示所述帧内色度预测模式的语法元素,生成所述视频信号的码流。从所述第一组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数,从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第三组模式中选择所述帧内色度预测模式时的语法元素的比特数。
在一个示例中,所述DM模式的语法元素为0。所述CCLM模式的语法元素为10。所述CCLM_L模式的语法元素为1110。所述CCLM_T模式的语法元素为1111。所述平面模式的语法元素为11000。所述垂直模式的语法元素为11001。所述水平模式的语法元素为11010。所述DC模式的语法元素为11011。
在另一个示例中,所述DM模式的语法元素为00。所述CCLM模式的语法元素为10。所述CCLM_L模式的语法元素为110。所述CCLM_T模式的语法元素为111。所述平面模式的语法元素为0100。所述垂直模式的语法元素为0101。所述水平模式的语法元素为0110。所述DC模式的语法元素为0111。
图26为用于对视频码流进行解码的装置2600的示例性结构的框图。所述装置可以包括解析单元2602、确定单元2604和帧内预测处理单元2606。在一个示例中,解析单元2602可以与图3中的熵编码单元304对应。在一个示例中,确定单元2604和帧内预测处理单元2606可以与图3中的帧内预测单元354对应。
解析单元2602用于从视频信号的码流中解析多个语法元素。确定单元2604用于根据所述多个语法元素中的一个语法元素,确定帧内色度预测模式。从第一组模式、第二组模式或第三组模式中确定所述帧内色度预测模式。所述第一组模式包括推导模式(derivedmode,DM)或分量间线性模型(cross component linear model,CCLM)预测模式中的至少一个。所述第二组模式包括CCLM_L模式和CCLM_T模式中的至少一个。所述第三组模式包括垂直模式、水平模式、DC模式和平面模式中的至少一个。
从所述第一组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数,从所述第二组模式中选择所述帧内色度预测模式时的语法元素的比特数小于从所述第三组模式中选择所述帧内色度预测模式时的语法元素的比特数。
在一个示例中,所述DM模式的语法元素为0。所述CCLM模式的语法元素为10。所述CCLM_L模式的语法元素为1110。所述CCLM_T模式的语法元素为1111。所述平面模式的语法元素为11000。所述垂直模式的语法元素为11001。所述水平模式的语法元素为11010。所述DC模式的语法元素为11011。
在另一个示例中,所述DM模式的语法元素为00。所述CCLM模式的语法元素为10。所述CCLM_L模式的语法元素为110。所述CCLM_T模式的语法元素为111。所述平面模式的语法元素为0100。所述垂直模式的语法元素为0101。所述水平模式的语法元素为0110。所述DC模式的语法元素为0111。
帧内预测处理单元2606用于根据所述帧内色度预测模式,对所述视频信号中的当前色度块执行帧内预测。
为了更好地理解本发明,以下参考文献通过引用的方式并入本文中:JCTVC-H0544:MDLM的描述、JVET-G1001:CCLM或LM的描述第2.2.4节、JVET-K0204:根据最大值和最小值推导模型系数的描述。
下面对上述实施例中所示的编码方法和解码方法的应用以及使用这些应用的系统进行解释说明。
图27为用于实现内容供应业务的内容分发系统3100的框图。该内容提供系统3100包括捕获设备3102、终端设备3106和(可选的)显示器3126。捕获设备3102通过通信链路3104与终端设备3106通信。该通信链路可以包括上文描述的通信信道13。通信链路3104包括但不限于Wi-Fi、以太网、有线、无线(3G/4G/5G)、USB或者其任意类型的组合等。
捕获设备3102生成数据,并可以使用上述实施例中所示的编码方法对数据进行编码。或者,捕获设备3102可以将数据分发到流媒体服务器(图中未示出),该服务器对数据进行编码并将经编码的数据传输到终端设备3106。捕获设备3102包括但不限于相机、智能手机或Pad、计算机或膝上型电脑、视频会议系统、PDA、车载设备或其任意组合等。例如,捕获设备3102可以包括上文描述的源设备12。当数据包括视频时,捕获设备3102中包括的视频编码器20实际上可以执行视频编码处理。当数据包括音频(即声音)时,捕获设备3102中包括的音频编码器实际上可以执行音频编码处理。在一些实际场景中,捕获设备3102通过将经编码的视频数据和经编码的音频数据复用在一起来分发它们。在其它实际场景中,例如,在视频会议系统中,不复用经编码的音频数据和经编码的视频数据。捕获设备3102将经编码的音频数据和经编码的视频数据分别分发到终端设备3106。
内容分发系统3100中的终端设备310接收并再现经编码的数据。终端设备3106可以是能够接收和恢复数据的设备,例如智能手机或Pad 3108、计算机或膝上型电脑3110、网络视频录像机(network video recorder,NVR)/硬盘录像机(digital video recorder,DVR)3112、电视3114、机顶盒(set top box,STB)3116、视频会议系统3118、视频监控系统3120、个人数字助理(personal digital assistant,PDA)3122、车载设备3124或其任意组合,或能够对上述经编码的数据进行解码的类似设备。例如,终端设备3106可以包括上文描述的目的地设备14。当经编码的数据包括视频时,终端设备中包括的视频解码器30优先执行视频解码。当经编码的数据包括音频时,终端设备中包括的音频解码器优先执行音频解码处理。
对于带显示器的终端设备,例如智能手机或Pad 3108、计算机或膝上型电脑3110、网络视频录像机(network video recorder,NVR)/硬盘录像机(digital video recorder,DVR)3112、电视3114、个人数字助理(personal digital assistant,PDA)3122或车载设备3124,终端设备可以将经解码数据输入到其显示器。对于不带显示器的终端设备,例如STB3116、视频会议系统3118或视频监控系统3120,使外部显示器3126与终端设备连接,以接收并显示经解码数据。
本系统中的各个设备执行编码或解码时,可以使用上述实施例所示的图像编码设备或图像解码设备。
图28为终端设备3106的一个示例的结构的示意图。在终端设备3106从捕获设备3102接收流之后,协议处理单元3202分析该流的传输协议。该协议包括但不限于实时流协议(Real Time Streaming Protocol,RTSP)、超文本传输协议(Hyper Text TransferProtocol,HTTP)、HTTP直播流协议(HTTP Live streaming protocol,HLS)、MPEG-DASH)、实时传输协议(Real-time Transport protocol,RTP)、实时消息传输协议(Real TimeMessaging Protocol,RTMP)或其任意组合等。
在协议处理单元3202对该流进行处理之后,生成流文件。将该流文件输出到解复用单元3204。解复用单元3204可以将复用数据分离为经编码的音频数据和经编码的视频数据。如上所述,在一些实际场景中,例如,在视频会议系统中,不复用经编码的音频数据和经编码的视频数据。在这种情况下,经编码的数据不经过解复用单元3204就发送到视频解码器3206和音频解码器3208。
通过解复用处理,生成视频基本码流(elementary stream,ES)、音频ES和(可选的)字幕。视频解码器3206包括如上述实施例所解释的视频解码器30,通过如上述实施例所示的解码方法对视频ES进行解码以生成视频帧,并将该数据输入到同步单元3212。音频解码器3208对音频ES进行解码以生成音频帧,并将该数据输入到同步单元3212。或者,视频帧可以存储在缓冲器(图28中未示出)中,然后输入到同步单元3212。类似地,音频帧可以存储在缓冲器(图28中未示出)中,然后输入到同步单元3212。
同步单元3212同步视频帧和音频帧,并将视频/音频提供给视频/音频显示器3214。例如,同步单元3212使视频和音频信息同步呈现。可以使用与译码音频和可视数据的呈现相关的时间戳和与数据流的分发相关的时间戳将信息编码到语法中。
如果码流中包括字幕,则字幕解码器3210对字幕进行解码,并使字幕与视频帧和音频帧同步,并将视频/音频/字幕提供给视频/音频/字幕显示器3216。
本发明并不限于上述系统,上述实施例中的图像编码设备或图像解码设备都可以在汽车系统等其它系统中使用。
作为示例而非限制,这类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储设备、闪存或可以用于存储指令或数据结构形式的所需程序代码并且可以由计算机访问的任何其他介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴缆线、光纤缆线、双绞线、数字用户线(digital subscriber line,DSL)或红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,则同轴缆线、光纤缆线、双绞线、DSL或红外线、无线电和微波等无线技术包含在介质的定义中。但是,应理解,计算机可读存储介质和数据存储介质并不包括连接、载波、信号或其它瞬时性介质,而是涉及非瞬时性有形存储介质。本文所使用的磁盘和光盘包含压缩光盘(compact disc,CD)、激光光盘、光学光盘、数字多功能光盘(digitalversatile disc,DVD)和蓝光光盘,其中,磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包括在计算机可读介质的范围内。
可以通过一个或多个数字信号处理器(digital signal processor,DSP)、通用微处理器、专用集成电路(application specific integrated circuit,ASIC)、现场可编程逻辑阵列(field programmable logic array,FPGA)或其它同等集成或离散逻辑电路等一或多个处理器来执行指令。因此,本文所使用的术语“处理器”可以指上述结构中的任一种或适于实施本文所述技术的任何其它结构。另外,在一些方面中,本文描述的各种功能可以提供在用于编码和解码的专用硬件和/或软件模块内,或者并入在组合译码器中。而且,这些技术可以在一个或多个电路或逻辑元件中完全实现。
本发明的技术可以在多种设备或装置中实施,这些设备或装置包括无线手持设备、集成电路(integrated circuit,IC)或一组IC(例如芯片组)。本发明描述了各种组件、模块或单元,以强调用于执行所公开技术的设备的功能方面,但未必需要由不同的硬件单元实现。相反,如上所述,各种单元可以结合合适的软件和/或固件组合在译码器硬件单元中,或者通过包括如上所述的一个或多个处理器的互操作硬件单元的集合来提供。
虽然本发明提供了几个实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可能通过其它多种具体形式体现。本发明的示例应被视为说明性而非限制性的,且本发明并不限于本文中所给出的细节。例如,各种元件或组件可以组合或集成在另一系统中,或者某些特征可以省略或不实施。
另外,在不脱离本发明范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。展示或论述为彼此耦合或直接耦合或者通信的其它项也可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。其它变更、替换、更改示例可以由本领域技术人员在不脱离本文所公开的精神和范围的情况下确定。

Claims (20)

1.一种基于使用线性模型执行帧内预测的编码方法,其特征在于,所述方法包括:
确定与当前色度块对应的亮度块;
通过确定所述当前色度块的L个可用色度参考像素点,获得所述亮度块的亮度参考像素点,其中,所述获得的亮度参考像素点为经过下采样的亮度参考像素点,所述L为正整数;
根据所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算线性模型系数;
根据所述线性模型系数和所述亮度块的经过下采样的亮度块的值,获得所述当前色度块的预测值;
将指示帧内色度预测模式的语法元素编码到视频信号的码流中,以生成所述视频信号的码流。
2.根据权利要求1所述的方法,其特征在于,所述确定L个可用色度参考像素点包括:
确定所述当前色度块的L个上方相邻色度像素点可用,其中,1≤L≤W2,W2表示上方参考像素点范围,W2为正整数,将所述L个上方相邻色度像素点用作所述可用色度参考像素点。
3.根据权利要求2所述的方法,其特征在于,W2等于2×W或W+H,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
4.根据权利要求1所述的方法,其特征在于,所述确定L个可用色度参考像素点包括:
确定所述当前色度块的L个左侧相邻色度像素点可用,其中,1≤L≤H2,H2表示左侧参考像素点范围,H2为正整数,将所述L个左侧相邻色度像素点用作所述可用色度参考像素点。
5.根据权利要求4所述的方法,其特征在于,H2等于2×H或W+H,W表示所述当前色度块的宽度,H表示所述当前色度块的高度。
6.根据权利要求1所述的方法,其特征在于,所述确定L个可用色度参考像素点包括:
确定所述当前色度块的L1个上方相邻色度像素点和L2个左侧相邻色度像素点可用,其中,1≤L1≤W2,1≤L2≤H2,W2表示上方参考像素点范围,H2表示左侧参考像素点范围,L1、L2、W2和H2为正整数且L1+L2=L,所述L1个上方相邻色度像素点和所述L2个左侧相邻色度像素点被用作所述可用色度参考像素点。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述亮度参考像素点是通过以下方法获得的:
只对所述亮度块上方的、根据所述L个可用色度参考像素点选择的相邻像素点进行下采样,或者
只对所述亮度块左侧的、根据所述L个可用色度参考像素点选择的相邻像素点进行下采样。
8.根据权利要求7所述的方法,其特征在于,所述帧内色度预测模式包括CCLM_L模式或CCLM_T模式。
9.根据权利要求1至6中任一项所述的方法,其特征在于,通过对与所述当前色度块对应的所述亮度块的重建亮度块进行下采样,以得到所述亮度块的所述经过下采样的亮度块。
10.根据权利要求9所述的方法,其特征在于,当只根据所述亮度块上方的相邻像素点获得所述亮度参考像素点时以及当所述当前色度块的顶行与当前译码树单元(codingtree unit,CTU)的顶行重叠时,只使用所述亮度块的所述重建亮度块的一行相邻重建亮度像素点来获得所述亮度参考像素点。
11.根据权利要求1至6中任一项所述的方法,其特征在于,所述根据所述亮度参考像素点和与所述亮度参考像素点对应的色度参考像素点,计算线性模型系数包括:
根据所述亮度参考像素点,确定最大亮度值和最小亮度值;
至少部分地根据与所述最大亮度值相关的亮度参考像素点的位置,获得第一色度值;
至少部分地根据与所述最小亮度值相关的亮度参考像素点的位置,获得第二色度值;
根据所述第一色度值、所述第二色度值、所述最大亮度值和所述最小亮度值,计算所述线性模型系数。
12.根据权利要求11所述的方法,其特征在于,所述至少部分地根据与所述最大亮度值相关的亮度参考像素点的位置,获得第一色度值包括:至少部分地根据与所述最大亮度值相关的一个或多个亮度参考像素点的一个或多个位置,获得所述第一色度值;
所述至少部分地根据与所述最小亮度值相关的亮度参考像素点的位置,获得第二色度值包括:至少部分地根据与所述最小亮度值相关的一个或多个亮度参考像素点的一个或多个位置,获得所述第二色度值。
13.根据权利要求1至6中任一项所述的方法,其特征在于,所述经过下采样的亮度参考像素点是通过对所述亮度块的、与所述L个可用色度参考像素点对应的相邻像素点进行下采样而获得的。
14.一种用于对视频数据进行编码的设备,其特征在于,所述设备包括:
一个或多个处理器;
计算机可读存储介质,耦合到所述处理器并存储由所述处理器执行的程序指令,其中所述程序指令在由所述处理器执行时,使得所述设备执行根据权利要求1至13任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序指令,其中所述程序指令由设备或一个或多个处理器执行时,使得所述设备执行根据权利要求1至13任一项所述的方法。
16.一种存储视频数据的经编码的码流的方法,其特征在于,所述方法包括:
接收根据权利要求1至13任一项所述的方法生成的所述码流;以及,
将所述码流存储到存储介质中。
17.一种存储视频数据的经编码的码流的系统,其特征在于,包括:
接收器,用于接收根据权利要求1至13任一项所述的方法生成的所述码流;以及,
存储介质,用于存储所述码流。
18.一种传输视频数据的经编码的码流的方法,其特征在于,所述方法包括:
从存储介质中获取码流,所述码流是根据权利要求1至13任一项所述的方法生成的码流且存储在所述存储介质中;以及,
发送所述码流。
19.一种传输视频数据的经编码的码流的系统,其特征在于,所述系统包括:
处理器,用于从存储介质中获取码流,所述码流是根据权利要求1至13任一项所述的方法生成的码流且存储在所述存储介质中;以及,
发送器,用于发送所述码流。
20.一种存储装置,所述存储装置存储有根据权利要求1至13任一项所述的方法生成的码流。
CN202210926251.7A 2018-10-05 2019-09-30 帧内预测方法及设备 Pending CN115334302A (zh)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US201862742266P 2018-10-05 2018-10-05
US62/742,266 2018-10-05
US201862742355P 2018-10-06 2018-10-06
US201862742275P 2018-10-06 2018-10-06
US201862742356P 2018-10-06 2018-10-06
US62/742,355 2018-10-06
US62/742,356 2018-10-06
US62/742,275 2018-10-06
PCT/CN2019/109733 WO2020069667A1 (en) 2018-10-05 2019-09-30 Intra prediction method and device
CN201980065676.XA CN112789863B (zh) 2018-10-05 2019-09-30 帧内预测方法及设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980065676.XA Division CN112789863B (zh) 2018-10-05 2019-09-30 帧内预测方法及设备

Publications (1)

Publication Number Publication Date
CN115334302A true CN115334302A (zh) 2022-11-11

Family

ID=70054969

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202210926251.7A Pending CN115334302A (zh) 2018-10-05 2019-09-30 帧内预测方法及设备
CN201980065676.XA Active CN112789863B (zh) 2018-10-05 2019-09-30 帧内预测方法及设备
CN202210926561.9A Pending CN115334303A (zh) 2018-10-05 2019-09-30 帧内预测方法及设备

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201980065676.XA Active CN112789863B (zh) 2018-10-05 2019-09-30 帧内预测方法及设备
CN202210926561.9A Pending CN115334303A (zh) 2018-10-05 2019-09-30 帧内预测方法及设备

Country Status (10)

Country Link
US (2) US11743451B2 (zh)
EP (1) EP3850853A4 (zh)
JP (2) JP7364669B2 (zh)
KR (2) KR102608366B1 (zh)
CN (3) CN115334302A (zh)
AU (2) AU2019353560B2 (zh)
BR (1) BR112021006412A2 (zh)
CA (1) CA3115177C (zh)
MX (1) MX2021003853A (zh)
WO (1) WO2020069667A1 (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7364669B2 (ja) * 2018-10-05 2023-10-18 華為技術有限公司 イントラ予測の方法及び装置
EP3861736A4 (en) * 2018-11-06 2022-03-30 Beijing Bytedance Network Technology Co., Ltd. POSITION DEPENDENT INTRAPREDICTION
WO2020108591A1 (en) 2018-12-01 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Parameter derivation for intra prediction
KR102676917B1 (ko) 2018-12-07 2024-06-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 컨텍스트 기반 인트라 예측
WO2020132556A2 (en) * 2018-12-21 2020-06-25 Vid Scale, Inc. Methods, architectures, apparatuses and systems directed to improved linear model estimation for template based video coding
BR112021006547A2 (pt) * 2018-12-25 2021-07-06 Guangdong Oppo Mobile Telecommunications Corp Ltd método de previsão para decodificação, dispositivo de previsão para decodificação e mídia de armazenamento de computador que armazena um programa de previsão para decodificação
US12075075B2 (en) * 2018-12-28 2024-08-27 Electronics And Telecommunications Research Institute Video encoding/decoding method, device, and recording medium storing bitstream therein
CN112970257A (zh) * 2019-01-02 2021-06-15 Oppo广东移动通信有限公司 解码预测方法、装置及计算机存储介质
WO2020145792A1 (ko) * 2019-01-12 2020-07-16 엘지전자 주식회사 영상 코딩 시스템에서 cclm 예측을 사용하는 영상 디코딩 방법 및 그 장치
JP7123268B2 (ja) 2019-02-24 2022-08-22 北京字節跳動網絡技術有限公司 イントラ予測のためのパラメータ導出
WO2020180737A1 (en) 2019-03-04 2020-09-10 Alibaba Group Holding Limited Method and system for processing video content
WO2020192642A1 (en) 2019-03-24 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Conditions in parameter derivation for intra prediction
JPWO2021100450A1 (zh) * 2019-11-21 2021-05-27
CN113891074B (zh) * 2021-11-18 2023-08-01 北京达佳互联信息技术有限公司 视频编码方法和装置、电子装置和计算机可读存储介质
CA3185916A1 (en) * 2022-01-05 2023-07-05 Comcast Cable Communications, Llc Video compression using boundary based template refinement
WO2023138627A1 (en) * 2022-01-21 2023-07-27 Mediatek Inc. Method and apparatus of cross-component linear model prediction with refined parameters in video coding system
US12052422B2 (en) * 2022-01-31 2024-07-30 Tencent America LLC Cross-component planar prediction in image and video compression
WO2023197190A1 (zh) * 2022-04-12 2023-10-19 Oppo广东移动通信有限公司 编解码方法、装置、编码设备、解码设备以及存储介质
US20230336711A1 (en) * 2022-04-14 2023-10-19 FG Innovation Company Limited Method for determining specific linear model and video processing device
WO2023230152A1 (en) * 2022-05-26 2023-11-30 Beijing Dajia Internet Information Technology Co., Ltd Method and apparatus for cross-component prediction for video coding
WO2024011074A1 (en) * 2022-07-04 2024-01-11 Bytedance Inc. Method, apparatus, and medium for video processing
US20240276012A1 (en) * 2023-02-08 2024-08-15 Tencent America LLC Bias value determination for chroma-for-luma (cfl) mode
WO2024185992A1 (ko) * 2023-03-06 2024-09-12 현대자동차주식회사 기준 블록의 예측모드에 따른 인트라 예측모드 부호화를 이용하는 비디오 코딩을 위한 방법 및 장치

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288500B2 (en) * 2011-05-12 2016-03-15 Texas Instruments Incorporated Luma-based chroma intra-prediction for video coding
CA2840488A1 (en) * 2011-06-28 2013-01-03 Samsung Electronics Co., Ltd. Prediction method and apparatus for chroma component of image using luma component of image
EP2732624A4 (en) * 2011-07-12 2015-07-15 Intel Corp LUMBASED CHROMAINTRAPREDICTION
CN103096055B (zh) * 2011-11-04 2016-03-30 华为技术有限公司 一种图像信号帧内预测及解码的方法和装置
CN103096057B (zh) * 2011-11-08 2016-06-29 华为技术有限公司 一种色度帧内预测方法和装置
WO2013102293A1 (en) * 2012-01-04 2013-07-11 Mediatek Singapore Pte. Ltd. Improvements of luma-based chroma intra prediction
CN103918269B (zh) * 2012-01-04 2017-08-01 联发科技(新加坡)私人有限公司 色度帧内预测方法及装置
CA2896637C (en) * 2013-03-26 2018-02-13 Mediatek Inc. Method of cross color intra prediction
WO2015005418A1 (ja) * 2013-07-10 2015-01-15 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像システム、動画像符号化方法、動画像復号方法、およびプログラム
US10455249B2 (en) * 2015-03-20 2019-10-22 Qualcomm Incorporated Downsampling process for linear model prediction mode
EP4404572A3 (en) * 2015-07-08 2024-10-16 InterDigital Madison Patent Holdings, SAS Enhanced chroma coding using cross plane filtering
US10200719B2 (en) 2015-11-25 2019-02-05 Qualcomm Incorporated Modification of transform coefficients for non-square transform units in video coding
US10419757B2 (en) * 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter
US10652575B2 (en) * 2016-09-15 2020-05-12 Qualcomm Incorporated Linear model chroma intra prediction for video coding
US10477240B2 (en) * 2016-12-19 2019-11-12 Qualcomm Incorporated Linear model prediction mode with sample accessing for video coding
GB2571313B (en) * 2018-02-23 2022-09-21 Canon Kk New sample sets and new down-sampling schemes for linear component sample prediction
WO2020053804A1 (en) * 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. Downsampling in cross-component linear modeling
WO2020060256A1 (ko) * 2018-09-22 2020-03-26 엘지전자 주식회사 영상 코딩 시스템에서 cclm 예측을 사용하는 영상 디코딩 방법 및 그 장치
JP7364669B2 (ja) * 2018-10-05 2023-10-18 華為技術有限公司 イントラ予測の方法及び装置

Also Published As

Publication number Publication date
CA3115177A1 (en) 2020-04-09
AU2019353560B2 (en) 2023-07-13
CN112789863A (zh) 2021-05-11
AU2019353560A1 (en) 2021-05-13
CN115334303A (zh) 2022-11-11
KR20230169407A (ko) 2023-12-15
AU2023248166A1 (en) 2023-11-02
MX2021003853A (es) 2021-09-08
US20240107005A1 (en) 2024-03-28
CN112789863B (zh) 2022-08-19
EP3850853A1 (en) 2021-07-21
EP3850853A4 (en) 2022-08-10
BR112021006412A2 (pt) 2021-07-06
WO2020069667A1 (en) 2020-04-09
KR102608366B1 (ko) 2023-11-29
US11743451B2 (en) 2023-08-29
JP2022504297A (ja) 2022-01-13
KR20210064366A (ko) 2021-06-02
US20210297656A1 (en) 2021-09-23
CA3115177C (en) 2024-06-04
JP2024001165A (ja) 2024-01-09
JP7364669B2 (ja) 2023-10-18

Similar Documents

Publication Publication Date Title
CN112789863B (zh) 帧内预测方法及设备
KR102711465B1 (ko) 디블로킹 필터의 경계 강도를 도출하는 인코더, 디코더 및 대응 방법
CN113748677A (zh) 编码器、解码器及对应的帧内预测方法
JP7314300B2 (ja) イントラ予測のための方法および装置
CN112789858B (zh) 帧内预测方法及设备
CN113545063A (zh) 使用线性模型进行帧内预测的方法及装置
WO2020041306A1 (en) Intra prediction method and device
CN114679583B (zh) 视频编码器、视频解码器及对应方法
CN114007068B (zh) 编码器、解码器及其实现的对当前块进行预测译码的方法
WO2020182196A1 (en) Coding method, device, system with shared mpm list
US20210274198A1 (en) Intra prediction method and device
WO2020073928A1 (en) Inter prediction method and apparatus

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