CN110392256B - 进行编码和解码的方法、编码端、解码端和系统 - Google Patents

进行编码和解码的方法、编码端、解码端和系统 Download PDF

Info

Publication number
CN110392256B
CN110392256B CN201910570214.5A CN201910570214A CN110392256B CN 110392256 B CN110392256 B CN 110392256B CN 201910570214 A CN201910570214 A CN 201910570214A CN 110392256 B CN110392256 B CN 110392256B
Authority
CN
China
Prior art keywords
block
sub
transform
current block
width
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.)
Active
Application number
CN201910570214.5A
Other languages
English (en)
Other versions
CN110392256A (zh
Inventor
曹小强
徐丽英
陈方栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201910570214.5A priority Critical patent/CN110392256B/zh
Publication of CN110392256A publication Critical patent/CN110392256A/zh
Application granted granted Critical
Publication of CN110392256B publication Critical patent/CN110392256B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

本公开提供了一种进行编码和解码的方法、编码端、解码端和系统,属于音视频技术领域。所述方法包括:解码端可以获取当前块的编码数据,如果当前块满足子块划分条件,且根据当前块的编码数据,确定当前块启动帧内子块划分,则根据当前块的子块划分信息,确定各个子块的尺寸信息和形状信息;针对每个子块,如果子块的宽度满足第一尺寸限制条件且形状满足第一条件,则将DST7确定为子块的变换核对中的水平变换核;如果子块的高度满足第二尺寸限制条件且形状满足第二条件,则将DST7确定为子块的变换核对中的垂直变换核,根据各个子块的变换核对,对各个子块反量化后的数据进行反变换。采用本公开,可以提升编解码性能。

Description

进行编码和解码的方法、编码端、解码端和系统
本申请为2019年03月09日提交中国专利局、申请号为201910177528.9、发明名称为“进行编码和解码的方法、编码端、解码端和系统”的中国专利申请的分案申请,其全部内容通过引用结合在本申请中。
技术领域
本公开涉及音视频技术领域,特别涉及一种进行编码和解码的方法、装置和系统。
背景技术
随着互联网技术和计算机技术的发展,视频应用程序越来越多,用户对视频应用程序中高清视频的需求越来越大,但是由于高清视频的数据量比较大,想要高清视频在有限的网络带宽中传输,需要对高清视频进行编码处理。一般编码处理包括:帧内预测(或帧间预测)、变换、量化、熵编码、环内滤波等环节。在进行编码处理时,如果当前块满足帧内子块划分条件,也可以对当前块的各个子块分别进行预测、变换、量化和熵编码。编码端通过RDO(Rate Distortion Optimization,率失真优化)准则来决定是基于当前块还是基于当前块的子块进行预测变换量化和熵编码。
相关技术中,在变换时,通常是选择某个预设变换核对(变换核对是由水平变换核和垂直变换核组成的变换核对),对当前块划分得到的子块进行变换处理,得到变换系数。相应的,解码端在变换对应的逆变换,也是选择编码时使用的预设变换核对,对当前块划分得到的子块进行逆变换处理,得到子块对应的残差数据。
这样,由于同一子块采用不同的变换核对进行变换,压缩效果大不相同,所以使用同一个预设变换核对,对所有子块进行变换处理,有可能会导致编解码性能较差。
发明内容
为了解决现有技术的问题,本公开实施例提供了一种进行编码和解码的方法、装置和系统。所述技术方案如下:
第一方面,提供了一种进行解码的方法,所述方法包括:
获取当前块的编码数据;
如果所述当前块满足子块划分条件,且根据所述当前块的编码数据,确定所述当前块启动帧内子块划分,则根据所述当前块的子块划分信息,确定各个子块的尺寸信息;
针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;
根据各个子块的变换核对,对所述各个子块反量化后的数据进行反变换;
其中,针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:
如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;
如果所述子块的宽度不满足第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足所述第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;
如果所述子块的高度不满足第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核,其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
在本公开的一种可能的实施方式中,所述针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:
如果所述子块的宽度等于高度,且所述子块的宽度满足所述第一尺寸限制条件,所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核,将DST7确定为所述子块的变换核对中的垂直变换核。
在本公开的一种可能的实施方式中,所述子块的宽度和宽度均为4,或均为8,或均为16。
在本公开的一种可能的实施方式中,若所述子块的宽度满足大于或等于4且小于或等于16,高度为32或64,则所述子块的宽度满足所述第一尺寸限制条件,且所述子块的高度不满足所述第二尺寸限制条件。
在本公开的一种可能的实施方式中,若所述子块的高度满足大于或等于4且小于或等于16,宽度为32或64,则所述子块的宽度不满足所述第一尺寸限制条件,且所述子块的高度满足所述第二尺寸限制条件。
在本公开的一种可能的实施方式中,若所述子块的宽度大于1且小于4,高度大于16,则所述子块的宽度不满足所述第一尺寸限制条件,所述子块的高度不满足所述第二尺寸限制条件;或者,
若所述子块的高度大于1且小于4,宽度大于16,则所述子块的宽度不满足所述第一尺寸限制条件,所述子块的高度不满足所述第二尺寸限制条件;或者,
若所述子块的高度大于16且宽度大于16,则所述子块的宽度不满足所述第一尺寸限制条件,所述子块的高度不满足所述第二尺寸限制条件。
第二方面,提供了一种进行编码的方法,所述方法包括:
获取当前块的残差数据;
如果所述当前块满足子块划分条件,且启动帧内子块划分,则根据所述当前块的子块划分信息,确定所述当前块的各个子块的尺寸信息;
针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;
根据各个子块的变换核对,对所述各个子块的残差数据进行变换;
其中,针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:
如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足所述第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;如果所述子块的高度不满足所述第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核;
其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
在本公开的一种可能的实施方式中,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:
如果所述子块的宽度等于高度,且所述子块的宽度满足所述第一尺寸限制条件,所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核,将DST7确定为所述子块的变换核对中的垂直变换核。
第三方面,提供了一种进行解码的解码端,所述解码端包括:
获取模块,用于获取当前块的编码数据;
确定模块,用于:
如果所述当前块满足子块划分条件,且根据所述当前块的编码数据,确定所述当前块启动帧内子块划分,则根据所述当前块的子块划分信息,确定各个子块的尺寸信息;
针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;
变换模块,用于根据各个子块的变换核对,对所述各个子块反量化后的数据进行反变换;
其中,所述确定模块,用于:
如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足所述第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;如果所述子块的高度不满足所述第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核;
其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
第四方面,提供了一种进行编码的编码端,所述编码端包括:
获取模块,用于获取当前块的残差数据;
确定模块,用于:
如果所述当前块满足子块划分条件,且启动帧内子块划分,则根据所述当前块的子块划分信息,确定所述当前块的各个子块的尺寸信息;
针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;
变换模块,用于根据各个子块的变换核对,对所述各个子块的残差数据进行变换;
其中,所述确定模块,用于:
如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足所述第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;如果所述子块的高度不满足所述第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核;
其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
第五方面,提供了一种进行解码的解码端,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述第一方面的方法步骤。
第六方面,提供了一种进行编码的编码端,所述编码端包括:包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述第二方面的方法步骤。
第七方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面的方法步骤。
第八方面,提供了一种进行编码的和解码的系统,所述系统包括编码端和解码端,其中:
所述编码端,如上述第四方面所述的编码端;所述解码端,如上述第三方面所述的解码端。
本公开实施例提供的技术方案带来的有益效果至少包括:
本公开实施例中,在编码端,直接使用当前块的各个子块的尺寸信息和形状信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行编码处理,同理在解码端,也可以直接使用当前块的各个子块的尺寸信息和形状信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行解码处理。这样,由于使用了子块的尺寸信息和形状信息,确定变换核对,而不是使用同一变换核对,所以可以提升编解码性能。而且在导出变换核对时,仅使用了高度和宽度,导出过程比较简单,也可以进一步提升编解码性能。
附图说明
图1是本公开实施例提供的一种块的划分类型示意图;
图2是本公开实施例提供的一种CTU划分成CU的示意图;
图3是本公开实施例提供的常用的三种块的示意图;
图4是本公开实施例提供的进行帧内预测时的方向示意图;
图5是本公开实施例提供的基于块形状进行调整的示意图;
图6是本公开实施例提供的一种进行编码的示意图;
图7是本公开实施例提供的一种分布信号的示意图;
图8是本公开实施例提供的一种残差数据分布的示意图;
图9是本公开实施例提供的一种进行解码的方法流程示意图;
图10是本公开实施例提供的一种进行编码的方法流程示意图;
图11是本公开实施例提供的一种划分子块的示意图;
图12是本公开实施例提供的一种进行解码的方法流程示意图;
图13是本公开实施例提供的一种进行编码的方法流程示意图;
图14是本公开实施例提供的一种解码端的结构示意图;
图15是本公开实施例提供的一种编码端的结构示意图;
图16是本公开实施例提供的一种解码端的结构示意图;
图17是本公开实施例提供的一种编码端的结构示意图;
图18是本公开实施例提供的一种编码端的结构示意图;
图19是本公开实施例提供的一种解码端的结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
本公开提供了一种进行编码和进行解码的方法,进行编码的方法的执行主体为编码端,进行解码的方法的执行主体可以是解码端,其中,编码端或解码端可以是服务器、电脑、手机等能对视频数据进行编码和/或解码的设备。
其中,编码端或解码端中可以设置有处理器、存储器和收发器等,处理器可以用于进行编码和/或解码的处理,存储器可以用于存储进行编码和/或解码过程中需要的数据以及产生的数据,收发器可以用于接收以及发送数据,如获取视频数据等。
在进行实施前,首先对本公开实施例可能涉及的概念进行解释:
变换核(transform kernel):
在视频编码中,变换是实现视频数据压缩必不可少的阶段,能够使信号的能量更加集中,而基于DCT(Discrete Cosine Transform,离散余弦变换)/DST(Discrete SineTransform,离散正弦变换)的变换技术一直是视频编码主流的变换技术。DCT和DST根据基函数的不同又具体分为多种变换核,表一给出了常用的五种变换核的基函数。
表一
Figure GDA0002374172860000051
正变换(forward transform)和逆变换(inverse transform):
在视频编码过程中,变换过程包含了正变换和逆变换过程,又叫前向变换和反向变换,其中正变换是将一个二维残差数据(残差系数)转换成能量更加集中的二维频谱信号(变换系数),变换系数再经过量化过程可以有效去除高频成分,保留中低频成分,起到了压缩的作用。用矩阵形式表示如公式(1):
F=B·f·AT (1)
其中,M表示残差块宽度,N表示残差块高度,f表示NxM维的原始残差数据,F表示NxM维的频域信号。A和B表示MxM和NxN维的变换矩阵,它们均满足正交性。
逆变换又称反变换,是正变换的逆过程,即通过正交变换矩阵A和B,将频域信号F转换成时域残差数据f。用矩阵形式表示为公式(2):
f=BT·F·A (2)
水平变换(Horizental transform)和垂直变换(Vertical transform):
在视频编码的变换阶段,输入的是一个二维残差数据,如公式(3)所示,X=A·fT,则F=B·XT
F=B·f·AT=B·(A·fT)T (3)
因此一个二维残差数据的正变换可以通过两次一维的正变换方式实现,第一次正变换后得到一个MxN的信号X,去除了二维残差数据的水平方向像素之间的相关性,因此第一次正变换称为水平变换,称A为水平变换矩阵,第二次正变换去除了二维残差数据的垂直方向像素之间的相关性,因此第二次正变换称为垂直变换,称B为垂直变换矩阵。
变换核对(Transform pair):
在下一代视频编码标准中,TU(Transmission Unit,变换单元)支持矩阵块,因此M不一定等于N,因此A和B的维度不一定相等,除此之外,下一代视频编码标准还支持A和B不是同一种变换核生产的变换矩阵,因此在变换中存在A和B对应的变换核组成的变换核对{H,V},其中H称为水平变换核,V称为垂直变换核。
块划分技术(Block Parition)
在HEVC(High Efficiency Video Coding,高效率的视频压缩)中,一个64x64大小的CTU(Coding Tree Unit,编码树单元)使用四叉树递归划分成CU(Coding Unit,编码单元)。在叶子节点CU级确定是否使用帧内编码或者帧间编码。CU可以进一步划分成两个或者四个PU(Prediction Unit,预测单元),同一个PU内使用相同的预测信息。在预测完成后得到残差数据后,一个CU可以进一步四叉划分成多个TU。
但是在新提出的VVC(Versatile Video Coding,通用视频编码)中的块划分技术有了较大变化。一种混合了二叉树/三叉树/四叉树((binary/ternary/quaternary)tree(BT/TT/QT))划分结构取代了原先的划分模式,取消了原先CU,PU,TU的概念的区分,支持了CU的更灵活的划分方式。CU可以是正方形也可以是矩形划分,CTU首先进行四叉树的划分,然后四叉树划分的叶子节点可以进一步进行二叉树和三叉树的划分。也就是说总共有五种划分类型,四叉树划分,水平二叉树划分,垂直二叉树划分,水平三叉树划分和垂直三叉树划分,如图1所示,表示了五种划分类型,在图1中,(a)表示不划分,(b)表示四叉树划分,(c)水平二叉树划分,(d)垂直二叉树划分,(e)水平三叉树划分,(f)垂直三叉树划分。如图2所示,提供一个CTU划分成CU的示例图。
因此,基于上述划分方式,块通常存在三种形状,如图3所示,在图3中,(a)表示宽大于高的块,(b)宽等于高的块,(c)宽小于高的块。
帧内预测:
帧内预测是考虑到在图像中,相邻块之间存在很强的空域相关性,因此可以利用周围已经重建的像素作为参考像素对当前未编码块进行预测,因此只需要对残差数据(原始信号-预测信号)进行后续编码处理,而不是对原始信号进行编码,有效去除了空域上的冗余,大大提高了视频信号的压缩效率。而且在帧内预测中,更加密集的角度可以带来更好的预测效果,如图4所示,示出了VVC给出的67种帧内预测模式进行帧内预测时的角度方向示意图,帧内预测模式数量从HEVC的33种增加到65种,当模式号为0时,表示Planar(平面)模式,当模式号为1时,表示DC模式(DC模式指当前块的预测像素均为参考像素的平均值),黑色实线表示原来HEVC的角度方向(2,4,6,8,…,64,66),虚线是新增的角度方向(3,5,7,9,..,63,65),更加密集的角度方向能够更加有效地捕捉到自然视频中任意方向的边界,可以利用更多的参考信息进行率失真代价选择,从而可以找到更加适合的帧内预测模式来更加准确地预测当前编码块,使得预测块更加接近原始编码块,编码当前块所需要传输的比特更少,从而编码性能更高。在进行帧内预测编码时,这67种帧内模式运用在所有尺寸的编码块上,包括亮度分量和色度分量。
在图4中,帧内预测模式的模式号为2~34,角度方向与水平向右方向的夹角范围为:-45度~45度,帧内预测模式的模式号为35~66,角度方向与水平向右方向的夹角范围为:-135度~-45度。
需要说明的是,在一个平面直角坐标系中,水平向右方向为x轴的正方向,竖直向上为y轴的正方向,这样,第一象限与第二象限中以原点为顶点的射线(射线远离原点的方向)与x轴的正方向构成的夹角为正值,第三象限与第四象限为中以原点为顶点的射线(射线远离原点的方向)与x轴的正方向构成的夹角为负值。例如,水平向右方向与第四象限中的对称轴(远离原点的方向)的夹角为-45度。
宽角度(wide-angle)帧内预测:
对于矩形块来说,引入了基于块形状的宽角度预测模式,来替代一些传统的帧内预测模式,替代的模式仍然使用原来的模式号,这样整体一共还是65种角度模式,但是基于不同形状,会有所调整。具体如图5所示:
在图5中(a)表示正方形块,对于正方形块而言,角度方向刚好从45度顺时针旋转到-135度,因此不需要做任何调整。
在图5中(b)表示宽大于高的块,需要做以下调整,即使用右上角超过-135度的若干角度来替代左下角的若干角度。
在图5中(c)表示宽小于高的块,需要做以下调整,即使用左下角低于45度的若干角度来替代右上角的若干角度。
具体的宽角度预测模式的映射关系如表二所示:
表二
宽(W)高(H)比值 需要替代的帧内预测模式(模式号)
W/H==16 Modes(模式)12,13,14,15
W/H==8 Modes 12,13
W/H==4 Modes 2,3,4,5,6,7,8,9,10,11
W/H==2 Modes 2,3,4,5,6,7,
W/H==1 None
W/H==1/2 Modes 61,62,63,64,65,66
W/H==1/4 Mode 57,58,59,60,61,62,63,64,65,66
W/H==1/8 Modes 55,56
W/H==1/16 Modes 53,54,55,56
本公开实施例提供了一种常见的编码框架,如图6所示,完整的视频编码方法一般包括预测、变换、量化、熵编码、环内滤波等环节。其中预测分为帧内预测和帧间预测,帧内预测是考虑到在图像中,相邻块之间存在很强的空域相关性,因此可以利用周围已经重建的像素作为参考像素对当前未编码块进行预测,因此只需要对残差数据(原始信号-预测信号)进行后续编码处理,而不是对原始信号进行编码,有效去除了空域上的冗余,大大提高了视频信号的压缩效率。帧间预测是指利用视频信号时间域上的相关性,使用邻近已编码图像像素预测当前图像的像素,已达到去除视频时域冗余的目的。在帧间预测模块,由于视频存在很强的时域相关性,即时域相邻的两帧图像有很多相似图像块,当前帧的图像块往往在相邻参考图像中进行运动搜索,找到与当前块最匹配的块作为参考块。由于参考块与当前块相似度高,两者的差值非常小,因此编码差值的码率开销通常远小于直接编码当前块像素值带来的码率开销。
在上述的变换过程中,对于同一TU(也可以称为是残差块)采用不同的变换对对残差块进行压缩,压缩的效果大不相同。这是由变换核本身基函数所决定的,如图7所示,对应DCT2、DST7和DCT8三种变换核基函数,输入信号位为64点。从图中的零阶基函数可以看出,DCT2对均匀分布的信号具有较强的能量集中效果,并且形成的直流分量是输入信号均值的倍数,DST7对幅值递增的输入信号具有较强的能量集中效果,DCT8对幅值递减的输入信号具有较强的能量集中效果。
为了更直观感受不同变换核与残差特性的关系,如图8所示,5种不同的水平垂直变换核对代表的是不同类型的残差分布情况,对于{DCT2,DCT2}变换核类型,代表的是TU的残差分布均匀,对于{DST7,DST7}变换核类型,代表的是TU的残差分布从左到右,从上到下依次变大,主要分布在TU的右下角,类似地,{DCT8,DST7}代表残差主要分布在TU的左下角,{DST7,DCT8}代表残差主要分布在TU的右上角,{DCT8,DCT8}代表残差主要分布在TU的左上角。
本公开实施例提供了一种进行解码的方法,该方法的执行流程可以如图9所示。
步骤901,解码端获取当前块的编码数据。
在实施中,解码端有编码数据要进行解码时,可以获取编码数据,然后对编码数据进行熵解码处理,对熵解码结果进行反量化处理,得到当前块的编码数据。
步骤902,如果当前块满足子块划分条件,且根据当前块的编码数据,确定当前块启动帧内子块划分,则解码端根据当前块的子块划分信息,确定各个子块的尺寸信息和形状信息。
其中,子块划分信息用于指示如何划分当前块,例如,对于8*4的当前块,可以是水平划分为两个8*2的子块。
在实施中,解码端获取到当前块之后,可以判断当前块是否满足子块划分条件,如果当前块满足子块划分条件,则从当前块的编码数据中,查看帧内子块划分的标识位是否为预设标识,如果为预设标识,则确定当前块启动帧内子块划分,如果不是预设标识,则确定当前块未启动帧内子块划分。
解码端在确定当前块启动帧内子块划分时,可以从当前块的编码数据中,获取当前块的子块划分信息,然后使用当前块的子块划分信息,对当前块进行划分,得到各个子块,确定当前块的各个子块在高度方向的像素点的数目(即子块的高度),以及在宽度方向的像素点的数目(即子块的宽度)。这样,即得到各个子块的尺寸信息,然后可以使用各个子块的高度和宽度,确定各个子块的形状信息,形状信息指子块的高度大于宽度、子块的高度小于宽度、子块的高度等于宽度。
在本公开的一种可能的实施方式中,子块划分条件为当前块为亮度块、当前块的高度和宽度均小于或等于第三数值,当前块在进行帧内预测时为单行参考、当前块包含的像素点的数目大于第四数值。
其中,第三数值可以预设,并且存储至编码端,第三数值可以为64,当前块在进行帧内预测时为单行参考指在当前块进行帧内预测时,仅参考了一行,第四数值可以预设,并且存储至编码端,第四数值可以为16。
步骤903,解码端针对每个子块,根据子块的尺寸信息和形状信息,确定子块对应的变换核对。其中,针对每个子块,根据子块的尺寸信息和形状信息,确定子块对应的变换核对,包括:如果子块的宽度满足第一尺寸限制条件且形状满足第一条件,则将DST7确定为子块的变换核对中的水平变换核;如果子块的高度满足第二尺寸限制条件且形状满足第二条件,则将DST7确定为子块的变换核对中的垂直变换核。
其中,第一尺寸限制条件为宽度大于或等于第一数值,且小于或等于第二数值,第一条件为宽度小于或等于高度,第二尺寸限制条件为高度大于或等于第一数值,且小于或等于第二数值,第一条件为宽度小于或等于高度,第二条件为宽度大于或等于高度。或者,第一尺寸限制条件为宽度大于或等于第一数值,且小于或等于第二数值,第一条件为宽度小于或等于高度,第二尺寸限制条件为高度大于或等于第一数值,且小于或等于第二数值,第一条件为宽度小于高度,第二条件为宽度大于高度,第一数值和第二数值可以预设,并且存储至解码端,第一数值可以为4,第二数值可以为16。一个变换核对包括一个水平变换核和一个垂直变换核。
在实施中,对于当前块的每个子块进行下述处理:
解码端可以确定子块的宽度是否满足第一尺寸限制条件,并确定该子块的形状是否满足第一条件,并判断该子块的高度是否满足第二尺寸限制条件,并确定该子块的形状是否满足第一条件,如果该子块的宽度满足第一尺寸限制条件且形状满足第一条件,则将DST7确定为该子块的变换核对中的水平变换核,如果该子块的高度满足第二尺寸限制条件且形状满足第二条件,则将DST7确定为子块的变换核对中的垂直变换核。
另外,在本公开的一种可能的实施方式中,如果子块的宽度不满足第一尺寸限制条件和/或形状不满足第一条件,则将DCT2确定为子块的变换核对中的水平变换核,如果子块的高度不满足第二尺寸限制条件和/或形状不满足第二条件,则将DCT2确定为子块的变换核对中的垂直变换核。
在实施中,如果子块的宽度不满足第一尺寸限制条件和形状不满足第一条件中至少有一个成立,可以将DCT2确定为该子块的变换核对中的水平变换核,如果子块的高度不满足第二尺寸限制条件和形状不满足第二条件中至少有一个成立,则将DCT2确定为该子块的变换核对中的垂直变换核。
这样,在确定出该子块的水平变换核和垂直变换核后,可以将水平变换核和垂直变换核组成该子块的变换核对,对于任一子块都使用上述方式确定变换核对,即可确定出各个子块的变换核对。
步骤904,解码端根据各个子块的变换核对,对各个子块反量化后的数据进行反变换。
在实施中,在确定出各个子块对应的变换核对后,可以使用对应的变换核对,对各个子块进行反变换处理,得到各个子块对应的残差数据,然后利用当前块周围已重建区域内像素点的像素值按照编码时所使用的帧内预测模式构建各个子块的预测信号。对于每个子块,将该子块的残差数据与预测信号相加,得到该子块的重建信息,这样,就可以得到各个子块的重建信息,将各个子块的重建信息合并,即可得到当前块对应的重建信息。
这样,就完成了当前块的解码处理。每个当前块都按照图9所示的流程进行处理,即可解码一整段的视频数据。
需要说明的是,在上述实施例中,当前块经过划分后,各个子块的宽度相同,各个子块的高度相同。
针对图9所示的解码方式,如图10所示,本公开实施例还提供了编码流程,相应的处理可以如下:
步骤1001,编码端获取当前块的残差数据。
在实施中,编码端在对视频数据进行编码时,首先进行帧内预测,得到残差数据(得到残差数据的方式与现有的视频编码标准中一致,不再赘述),然后将残差数据作为当前要进行处理的当前块的残差数据。
步骤1002,如果当前块满足子块划分条件,且启动帧内子块划分,则编码端根据当前块的子块划分信息,确定当前块的各个子块的尺寸信息和形状信息。
其中,子块划分信息用于指示如何划分当前块,例如,对于8*4的当前块,可以是水平划分为两个8*2的子块。
在实施中,编码端获取到当前块的残差数据之后,可以确定当前块是否满足子块划分条件,如果满足子块划分条件,则可以判断是否启用帧内子块划分,如果帧内子块划分的开关处于开启状态,则说明可以启用帧内子块划分,可以对当前块进行划分,确定对当前块划分得到的各个子块的高度和宽度。当前块的宽度指宽度方向包含的像素点的数目,当前块的高度指高度方向包含的像素点的数目,这样,即可以获取到子块的尺寸信息。其中,对于一个MxN的当前块,M表示当前块的宽度,N表示当前块的高度。
然后可以使用各个子块的高度和宽度,确定各个子块的形状信息,形状信息指子块的高度大于宽度、子块的高度小于宽度、子块的高度等于宽度。
在本公开的一种可能的实施方式中,子块划分条件为当前块为亮度块、当前块的高度和宽度均小于或等于第三数值,当前块在进行帧内预测时为单行参考、当前块包含的像素点的数目大于第四数值。
其中,第三数值可以预设,并且存储至编码端,第三数值可以为64,当前块在进行帧内预测时为单行参考指在当前块进行帧内预测时,仅参考了一行,第四数值可以预设,并且存储至编码端,第四数值可以为16。
步骤1003,编码端针对每个子块,根据子块的尺寸信息和形状信息,确定子块对应的变换核对;其中,针对每个子块,根据子块的尺寸信息和形状信息,确定子块对应的变换核对,包括:如果子块的宽度满足第一尺寸限制条件且形状满足第一条件,将DST7确定为子块的变换核对中的水平变换核;如果子块的高度满足第二尺寸限制条件且形状满足第二条件,将DST7确定为子块的变换核对中的垂直变换核。
对于当前块的每个子块进行下述处理:
编码端可以确定子块的宽度是否满足第一尺寸条件,并确定该子块的形状是否满足第一条件,并判断该子块的高度是否满足第二尺寸条件,并确定该子块的形状是否满足第一条件,如果该子块的宽度足第一尺寸限制条件且形状满足第一条件,则将DST7确定为该子块的变换核对中的水平变换核,如果该子块的高度满足第二尺寸限制条件且形状满足第二条件,则将DST7确定为子块的变换核对中的垂直变换核。
另外,在本公开的一种可能的实施方式中,如果子块的宽度不满足第一尺寸限制条件和/或形状不满足第一条件,则将DCT2确定为子块的变换核对中的水平变换核,如果子块的高度不满足第二尺寸限制条件和/或形状不满足第二条件,则将DCT2确定为子块的变换核对中的垂直变换核。
在实施中,如果子块的宽度不满足第一尺寸限制条件和形状不满足第一条件中至少有一个成立,可以将DCT2确定为该子块的变换核对中的水平变换核,如果子块的高度不满足第二尺寸限制条件和形状不满足第二条件中至少有一个成立,则将DCT2确定为该子块的变换核对中的垂直变换核。
这样,在确定出该子块的水平变换核和垂直变换核后,可以将水平变换核和垂直变换核组成该子块的变换核对,对于任一子块都使用上述方式确定变换核对,即可确定出各个子块的变换核对。
步骤1004,编码端根据各个子块的变换核对,对各个子块的残差数据进行变换。
在实施中,编码端确定出各个子块对应的变换核对后,对于每个子块,可以基于该子块对应的变换核对,对该子块进行变换,得到该子块对应的变换系数,然后对变换系数进行量化处理,得到量化系数,对量化系数进行熵编码处理,得到该子块对应的编码数据。
这样,基于对每个子块的上述处理,就可以得到当前块对应的编码数据,就完成了当前块的编码处理。每个当前块都按照图10所示的流程进行处理,即可编码一整段的视频数据。
在本公开的一种可能的实施方式中,为了解码端可以快速的对当前块进行子块划分处理,可以进行如下处理:
如果当前块满足子块划分条件,则获取当前块对应的子块划分信息;将子块划分信息添加至当前块的编码数据中。
在实施中,如果确定当前块满足子块划分条件,编码端可以获取当前块对应的子块划分信息,然后将子块划分信息添加至当前块的编码数据中,这样,后续解码端可以从当前块的编码数据中,获取到当前块对应的子块划分信息,进行解码。
另外,本公开实施例中,还给出了编码端获取子块划分信息的处理过程:
编码端可以将一个当前块水平或者垂直的划分成若干个小的子块,例如,对于一个16x8的当前块来说,可以水平被划分成4个16x2的子块,或者垂直划分成4个4x8子块。然而,对不一个4x8块来说可以被划分成2个4X4块或者2个2x8的子块。可以注意到,子块的数目可以仅为2个(4x8,8x4的子块来说)。并且子块至少包含16个像素点,所以4x4块不会再被划分,也不需要在编码端和解码端进行相应的语法申明。具体划分规则如表三所示,至于是水平划分还是垂直划分,需要经过编码端RDO准则决策。为了节省编码时间,被划分的帧内子块的共享当前当前块的帧内预测模式(也即当前块划分得到的子块与当前块的帧内预测模式相同)。
表三
Figure GDA0002374172860000111
Figure GDA0002374172860000121
在表三中,w表示子块的宽度,h表示子块的高度,k表示可以划分的子块的数目,可以按照表三进行水平划分和垂直划分,例如,如图11所示,对于8*4的当前块,按照水平划分可以划分为两个2*8的子块,按照垂直划分可以划分为两个4*4的子块。
使用RDO准则确定子块划分信息的过程可以如下:
首先使用表三确定出当前块的多种划分方式,然后按照每一种划分方式,进行编码,然后进行解码,确定出率失真代价最小的划分方式,确定为当前块的最终划分方式。这样,就得到了当前块的子块划分信息。
本公开实施例中,在编码端,直接使用当前块的各个子块的尺寸信息和形状信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行编码处理,同理在解码端,也可以直接使用当前块的各个子块的尺寸信息和形状信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行解码处理。这样,由于使用了子块的尺寸信息和形状信息,确定变换核对,而不是使用同一变换核对,所以可以提升编解码性能。而且在导出变换核对时,仅使用了高度和宽度,导出过程比较简单,也可以进一步提升编解码性能。
本公开另一实施例提供了一种进行解码的方法,该方法的执行流程可以如图12所示。
步骤1201,解码端获取当前块的编码数据。
在实施中,解码端有编码数据要进行解码时,可以获取编码数据,然后对编码数据进行熵解码处理,对熵解码结果进行反量化处理,得到当前块的编码数据。该当前块实际上是经过反变换处理得到的残差数据。
步骤1202,解码端如果当前块满足子块划分条件,且根据当前块的编码数据。确定当前块启动帧内子块划分,则根据当前块的子块划分信息,确定各个子块的尺寸信息,并确定各个子块的帧内预测模式信息。
其中,子块划分信息用于指示如何划分当前块,例如,对于8*4的当前块,可以是水平划分为两个8*2的子块。
在实施中,解码端获取到当前块之后,可以判断当前块是否满足子块划分条件,如果当前块满足子块划分条件,则从当前块的编码数据中,查看帧内子块划分的标识位是否为预设标识,如果是预设标识,则确定当前块启动帧内子块划分,如果不是预设标识,则确定当前块未启动帧内子块划分。
解码端在确定当前块启动帧内子块划分时,可以从当前块的编码数据中,获取当前块的子块划分信息,然后使用当前块的子块划分信息,对当前块进行划分,得到各个子块,确定当前块的各个子块在高度方向的像素点的数目(即子块的高度),以及在宽度方向的像素点的数目(即子块的宽度)。这样,即得到各个子块的尺寸信息。并且可以从当前块的编码数据中,用于指示帧内预测模式信息的标识位,获取标识位的内容,即得到当前块的帧内预测模式信息。
在本公开的一种可能的实施方式中,子块划分条件为当前块为亮度块、当前块的高度和宽度均小于或等于第一预设数值,当前块在进行帧内预测时为单行参考、当前块包含的像素点的数目大于第二预设数值。
其中,第一预设数值可以预设,并且存储至编码端(与前面提到的第三数值相同),第一预设数值可以为64,当前块在进行帧内预测时为单行参考指在当前块进行帧内预测时,仅参考了一行,第二预设数值可以预设,并且存储至编码端,第二预设数值可以为16(与前面提提到的第四数值相同)。
步骤1203,解码端针对每个子块,根据子块的尺寸信息和子块的帧内预测模式信息,确定子块的变换核对;其中,针对每个子块,根据子块的尺寸信息和子块的帧内预测模式信息,确定子块的变换核对,包括:针对每个子块,如果根据子块的尺寸信息,确定子块不满足尺寸限制条件,则将子块的帧内预测模式信息对应的变换核对确定为子块的变换核对。
其中,尺寸限制条件是宽度不在预设数值范围内,且高度不在预设数值范围内,预设数值范围为[2,32](不包括2和32),不在预设数值范围内指大于32和/或小于2。
在实施中,对于当前块的每个子块进行下述处理:
对于任一子块,解码端可以判断子块的尺寸信息是否满足尺寸限制条件,如果不满足尺寸限制条件(宽度不在预设数值范围,且高度不在预设数值范围内),则可以使用当前块的帧内预测模式信息,使用该帧内预测模式信息,在帧内预测模式信息与变换核对的对应关系中,确定出对应的变换核对,将该变换核对,确定为该子块的变换核对。
另外,在本公开的一种可能的实施方式中,如果根据子块的尺寸信息确定子块的高度满足尺寸限制条件且子块的宽度不满足尺寸限制条件,则将DCT2确定为子块的变换核对中的垂直变换核,并将子块的帧内预测模式信息对应的变换核对中的水平变换核确定为子块的变换核对中的水平变换核,如果根据子块的尺寸信息确定子块的宽度满足尺寸限制条件且子块的高度不满足尺寸限制条件,则将DCT2确定为子块的变换核对中的水平变换核,将子块的帧内预测模式信息对应的变换核对中的垂直变换核确定为子块的变换核对中的垂直变换核,如果根据子块的尺寸信息确定子块的宽度和宽度满足尺寸限制条件,则将DCT2确定为子块的变换核对中的水平变换核和垂直变换核。
在实施中,在子块的高度满足尺寸限制条件,且子块的宽度不满足尺寸限制条件时,可以将DCT2确定为该子块的变换核对中的垂直变换核,并且可以直接将使用帧内预测模式信息,从帧内预测模式信息与变换核对的对应关系中,确定出当前块的帧内预测模式信息对应的变换核对,将该变换核对确定为当前块的水平变换核对。
在子块的宽度满足尺寸限制条件,且子块的高度不满足尺寸限制条件时,可以将DCT2确定为该子块的变换核对中的水平变换核,并且可以直接将使用帧内预测模式信息,从帧内预测模式信息与变换核对的对应关系中,确定出当前块的帧内预测模式信息对应的变换核对,将该变换核对确定为当前块的垂直变换核对。
在子块的宽度满足尺寸限制条件,且子块的高度满足尺寸限制条件时,可以将DCT2确定为子块的变换核对中的水平变换核和垂直变换核。
这样,按照上述方式即可确定出各个子块的变换核对。
步骤1204,解码端根据各个子块的变换核对,对各个子块反量化后的数据进行反变换。
在实施中,在确定出各个子块对应的变换核对后,可以使用对应的变换核对,对各个子块进行反变换处理,得到各个子块对应的残差数据,然后利用当前块周围已重建区域内像素点的像素值按照编码时所使用的帧内预测模式构建各个子块的预测信号。对于每个子块,将该子块的残差数据与预测信号相加,得到该子块的重建信息,这样,就可以得到各个子块的重建信息,将各个子块的重建信息合并,即可得到当前块对应的重建信息。
这样,就完成了当前块的解码处理。每个当前块都按照图12所示的流程进行处理,即可解码一整段的视频数据。
需要说明的是,在上述实施例中,当前块经过划分后,各个子块的宽度相同,各个子块的高度相同。
在步骤1203中,在本公开的一种可能的实施方式中,将子块的帧内预测模式信息对应的变换核对确定为子块的变换核对可以有以下几种处理:
方式一,如果子块的帧内预测模式信息的模式号为1、33、35,则子块的变换核对为(DCT2,DCT2),如果子块的帧内预测模式信息的模式号0、31、32、34、36、37,则子块的变换核对为(DST7,DST7),如果子块的帧内预测模式信息的模式号为2、30、2至30中的偶数、39、65和39至65中的奇数,则子块的变换核对为(DST7,DCT8),如果子块的帧内预测模式信息的模式号为3、29、3至29中的奇数、38、66和38至66中的偶数,则子块的变换核对为(DCT8,DST7)。
在实施中,如表四所示,为帧内预测模式信息与变换核对的对应关系:
表四
Figure GDA0002374172860000141
方式二,如果子块的帧内预测模式信息的模式号为1,则子块的变换核对为第一变换核对,如果子块的帧内预测模式信息的模式号0、31、32、33、34、35、36、37,则子块的变换核对为第二变换核对,如果子块的帧内预测模式信息的模式号为2、30、2至30中的偶数、39、65和39至65中的奇数,则子块的变换核对为第三变换核对,如果子块的帧内预测模式信息的模式号为3、29、3至29中的奇数、38、66和38至66中的偶数,则子块的变换核对为第四变换核对。
在实施中,如表五所示,为帧内预测模式信息与变换核对的对应关系:
表五
Figure GDA0002374172860000151
方式三,如果子块的帧内预测模式信息的模式号为1,则子块的变换核对为第一变换核对;如果子块的帧内预测模式信息的模式号0,则子块的变换核对为第二变换核对;如果子块的帧内预测模式信息的模式号为2、34、2至34中的偶数、35、65和35至65中的奇数,则子块的变换核对为第三变换核对;如果子块的帧内预测模式信息的模式号为3、33、3至33中的奇数、36、66和36至66中的偶数,则子块的变换核对为第四变换核对。
在实施中,如表六所示,为帧内预测模式信息与变换核对的对应关系:
表六
Figure GDA0002374172860000152
方式四,如果子块的帧内预测模式信息的模式号为1,则子块的变换核对为第一变换核对;如果子块的帧内预测模式信息的模式号0、3、65和3至65中的奇数,则子块的变换核对为第二变换核对;如果子块的帧内预测模式信息的模式号为2、34、2至34中的偶数,则子块的变换核对为第三变换核对;如果子块的帧内预测模式信息的模式号为36、66和36至66中的偶数,则子块的变换核对为第四变换核对。
在实施中,如表七所示,为帧内预测模式信息与变换核对的对应关系:
表七
Figure GDA0002374172860000153
Figure GDA0002374172860000161
需要说明的是,上述表四至表七中,模式号相邻的帧内预测模式的角度方向差不多,进而残差特性差不多,使用两种不同的变换核对进行变换,既可以节约编码时长,也可以选取出适合的变换核对。
在本公开的一种可能的实施方式中,第一变换核对、第二变换核对、第三变换核对和第四变换核有多种组合,以下给出两种可行的组合:
组合一,第一变换核对为(DCT2,DCT2),第二变换核对为(DST7,DST7),第三变换核对为(DST7,DCT2),第四变换核对为(DCT2,DST7)。
组合二,第一变换核对为(DCT2,DCT2),第二变换核对为(DST7,DST7),第三变换核对为(DST7,DCT8),第四变换核对为(DCT8,DST7)。
在本公开的一种可能的实施方式中,将子块的帧内预测模式信息对应的变换核对确定为子块的变换核对,应满足以下条件,相应的处理可以如下:
针对每个子块,如果根据子块的尺寸信息,确定子块不满足尺寸限制条件,且帧内预测模式信息满足帧内预测模式范围,则将帧内预测模式信息对应的变换核对确定为子块的变换核对。
其中,帧内预测模式范围可以预设,并且存储至解码端中,帧内预测模式范围包括模式号是0、1、31至37的帧内预测模式(见表八和表九);或者,帧内预测模式范围包括模式号是0和1的帧内预测模式(见表十);或者,帧内预测模式范围包括模式号为0、1、3、65以及3至65中间的奇数的帧内预测模式(见表十一)。
在实施中,解码端从编码数据中获取到各个子块的帧内预测模式信息的模式号后,可以确定是否属于帧内预测模式范围,如果属于帧内预测模式范围,则可以直接在帧内预测模式信息与变换核对的对应关系中,将帧内预测模式信息对应的变换核对确定为当前块的变换核对。
在本公开的一种可能的实施方式中,如果当前块的帧内预测模式信息的模式号不属于帧内预测模式范围,可以进行几种处理:
针对每个子块,如果根据子块的尺寸信息,确定子块不满足尺寸限制条件,且帧内预测模式信息不满足帧内预测模式范围,则根据子块的尺寸信息,确定子块的宽度和高度的比值,根据子块的宽度和高度的比值、子块的帧内预测模式信息,确定子块的变换核对。
在实施中,对于任一子块,解码端从编码数据中获取到该子块的帧内预测模式信息的模式号后,可以确定是否属于帧内预测模式范围,如果不属于帧内预测模式范围,则可以确定该子块的宽度和高度的比值。然后使用子块的宽度和高度的比值、子块的帧内预测模式信息,确定该子块的变换核对。
在本公开的一种可能的实施方式中,如果当前块的帧内预测模式信息的模式号不属于帧内预测模式范围,可以进行如下几种处理:
方式一,如表八所示,帧内预测模式范围包括模式号是0、1、31至37的帧内预测模式信息。
子块的宽度使用W表示,当前块的高度使用H表示。
在子块的宽度与高度的比值为1时(即W=H),模式号为2、4、6、…、30、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至30之间的偶数,第二个省略号表示43至65之间的奇数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值为1时(即W=H),模式号为3、5、7、…、29、38、40、42、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示7至29之间的奇数,第二个省略号表示42至66之间的偶数),即子块的变换核对为(DCT2,DST7)。
在子块的宽度与高度的比值大于1时(即W>H),模式号为B+1、B+3、…、30、3、5、…、B、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示B+3至30之间的偶数,第二个省略号表示5至B之间的奇数,第三个省略号表示43至65之间的奇数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值大于1时(即W>H),模式号为B+2、B+4、…、29、38、40、…、66、2、4、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示B+4至29之间奇数,第二个省略号表示40至66之间的偶数,第三个省略号表示4至(B-1)之间的偶数),即子块的变换核对为(DCT2,DST7)。
在子块的宽度与高度的比值小于1时(即W<H),模式号为2、4、6、…、30、B+1、B+3、…、66、39、41、…、B-2的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至30之间偶数,第二个省略号表示(B+3)至66之间的偶数,第三个省略号表示41至B-2之间的奇数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值小于1时(即W<H),模式号为3、5、…、29、B、B+2、…、65、38、40、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示5至29之间奇数,第二个省略号表示(B+2)至65之间的奇数,第三个省略号表示40至(B-1)之间的偶数),即子块的变换核对为(DCT2,DST7)。
表八
Figure GDA0002374172860000171
Figure GDA0002374172860000181
方式二,如表九所示,帧内预测模式范围包括模式号是0、1、31至37的帧内预测模式信息。子块的宽度使用W表示,当前块的高度使用H表示。
在子块的宽度与高度的比值为1时(即W=H),模式号为2、4、6、…、30、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至30之间的偶数,第二个省略号表示43至65之间的奇数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值为1时(即W=H),模式号为3、5、7、…、29、38、40、42、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示7至29之间的奇数,第二个省略号表示42至66之间的偶数),即子块的变换核对为(DCT2,DST7)。
在子块的宽度与高度的比值大于1时(即W>H),模式号为B+1、B+3、…、30、3、5、…、B、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示B+3至30之间的偶数,第二个省略号表示5至B之间的奇数,第三个省略号表示43至65之间的奇数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值大于1时(即W>H),模式号为B+2、B+4、…、29、38、40、…、66、2、4、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示B+4至29之间的奇数,第二个省略号表示40至66之间的偶数,第三个省略号表示4至(B-1)之间的偶数),即子块的变换核对为(DCT2,DST7)。
在子块的宽度与高度的比值小于1时(即W<H),模式号为2、4、6、…、30、B+1、B+3、…、66、39、41、…、B-2的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至30之间的偶数,第二个省略号表示(B+3)至66之间的偶数,第三个省略号表示41至B-2之间的奇数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值小于1时(即W<H),模式号为3、5、…、29、B、B+2、…、65、38、40、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示5至29之间的奇数,第二个省略号表示B+2至65之间的奇数,第三个省略号表示40至(B-1)之间的偶数),即子块的变换核对为(DCT2,DST7)。
表九
Figure GDA0002374172860000191
方式三:如表十所示,帧内预测模式范围包括模式号是0和1的帧内预测模式信息;子块的宽度使用W表示,当前块的高度使用H表示。
在子块的宽度与高度的比值为1时(即W=H),模式号为2、4、6、…、34、35、37、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至34之间的偶数,第二个省略号表示43至65之间的奇数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值为1时(即W=H),模式号为3、5、7、…、33、36、38、40、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示7至33之间的奇数,第二个省略号表示40至66之间的偶数),即子块的变换核对为(DCT2,DST7)。
在子块的宽度与高度的比值大于1时(即W>H),模式号为B+1、B+3、…、34、3、5、…、B、35、37、39、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示B+3至34之间的偶数,第二个省略号表示5至B之间的奇数,第三个省略号表示39至65之间的奇数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值大于1时(即W>H),模式号为B+2、B+4、…、33、2、4、…、(B-1)、36、38、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示(B+4)至33之间的奇数,第二个省略号表示4至(B-1)之间的偶数,第三个省略号表示38至66之间的奇数),即子块的变换核对为(DCT2,DST7)。
在子块的宽度与高度的比值小于1时(即W<H),模式号为2、4、6、…、34、B+1、B+3、…、66、35、37、39、…、B-2的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至34之间的偶数,第二个省略号表示(B+3)至66之间的偶数,第三个省略号表示39至B-2之间的奇数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值小于1时(即W<H),模式号为3、5、…、33、B、B+2、…、65、36、38、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示5至33之间的奇数,第二个省略号表示B+2至65之间的奇数,第三个省略号表示38至(B-1)之间的偶数),即子块的变换核对为(DCT2,DST7)。
表十
Figure GDA0002374172860000201
方式四:如表十一所示,帧内预测模式范围包括模式号为0、1、3、65以及3至65中间的奇数的帧内预测模式信息。子块的宽度使用W表示,当前块的高度使用H表示。
在子块的宽度与高度的比值为1时(即W=H),模式号为2、4、6、…、34、的帧内预测模式信息对应的变换核对为(DST7,DCT2)(省略号表示6至34之间的偶数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值为1时(即W=H),模式号为36、38、40、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(省略号表示40至66之间的偶数),即子块的变换核对为(DCT2,DST7)。
在子块的宽度与高度的比值大于1时(即W>H),模式号为B+1、B+3、…、34的帧内预测模式信息对应的变换核对为(DST7,DCT2)(省略号表示(B+3)至34之间的偶数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值大于1时(即W>H),模式号为36、38、…、66、2、4、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示38至66之间的偶数,第二个省略号表示4至(B-1)之间的偶数,即子块的变换核对为(DCT2,DST7)。
在子块的宽度与高度的比值小于1时(即W<H),模式号为2、4、6、…、34、B+1、B+3、…、66的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至34之间的偶数,第二个省略号表示(B+3)至66之间的偶数),即子块的变换核对为(DST7,DCT2)。
在子块的宽度与高度的比值小于1时(即W<H),模式号为36、38、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(省略号表示38至(B-1)之间的偶数),即子块的变换核对为(DCT2,DST7)。
表十一
Figure GDA0002374172860000211
需要说明的是,表八至表十一是考虑了帧内预测模式为宽角度模式的影响,宽角度模式的B是由当前块的各个子块的宽度和高度的比值确定。在表八至表十一中,当W/H=2、4、6、8时,对应的B分别为7、11、13、15,当W/H=1/2、1/4、1/6、1/8时,对应的B分别为61、57、55、53。
还需要说明的是,上述表八至表十一中,模式号相邻的帧内预测模式一般对应有不同的变换核对。
在本公开的一种可能的实施方式中,在当前块未启动帧内子块划分时,可以进行如下处理:
如果当前块未启动帧内子块划分,则根据当前块的尺寸信息和帧内预测模式信息确定当前块的变换核对。
在实施中,在当前块未启动帧内子块划分时,可以使用当前块的尺寸信息和帧内预测模式信息,共同确定当前块的变换核对。
在本公开的一种可能的实施方式中,使用当前块的尺寸信息和帧内预测模式信息,共同确定当前块的变换核对的处理可以如下:
如果根据尺寸信息确定当前块不满足目标尺寸限制条件时,将帧内预测模式信息对应的变换核对确定为当前块的变换核对;
如果根据尺寸信息,确定当前块的高度满足目标尺寸限制条件且当前块的宽度不满足目标尺寸限制条件时,将DCT2确定为当前块的变换核对中的垂直变换核,并将帧内预测模式信息对应的变换核对中的水平变换核确定为当前块的变换核对中的水平变换核;
如果根据尺寸信息,确定当前块的宽度满足目标尺寸限制条件且当前块的高度不满足目标尺寸限制条件时,将DCT2确定为当前块的变换核对中的水平变换核,并将帧内预测模式信息对应的变换核对中的垂直变换核确定为当前块的变换核对中的垂直变换核;
如果根据尺寸信息,确定当前块的宽度和高度均满足目标尺寸限制条件时,将DCT2确定为当前块的变换核对中的水平变换核和垂直变换核。
其中,目标尺寸限制条件是宽度大于或等于目标数值,且高度大于或等于目标数值,目标数值可以为32。
在实施中,解码端可以确定当前块是否满足目标尺寸限制条件,如果满足目标尺寸限制条件(指高度和宽度均满足目标尺寸限制条件),可以将DCT2确定为当前块的变换核对中的水平变换核和垂直变换核。
如果当前块不满足目标尺寸限制条件(指高度和宽度均不满足目标尺寸限制条件)时,可以在帧内预测模式信息与变换核对的对应关系中,将帧内预测模式信息对应的变换核对确定为当前块的变换核对;
如果根据尺寸信息,确定当前块的高度满足目标尺寸限制条件且当前块的宽度不满足目标尺寸限制条件时,将DCT2确定为当前块的变换核对中的垂直变换核,并可以在帧内预测模式信息与变换核对的对应关系中,将帧内预测模式信息对应的变换核对中的水平变换核确定为当前块的变换核对中的水平变换核;
如果根据尺寸信息,确定当前块的宽度满足目标尺寸限制条件且当前块的高度不满足目标尺寸限制条件时,将DCT2确定为当前块的变换核对中的水平变换核,并可以在帧内预测模式信息与变换核对的对应关系中,将帧内预测模式信息对应的变换核对中的垂直变换核确定为当前块的变换核对中的垂直变换核。
在本公开的一种可能的实施方式中,在当前块的编码数据中存在目标标识时,可以确定当前块的变换模式为隐式多核变换模式,可以使用当前块的尺寸信息和帧内预测模式信息,共同确定当前块的变换核对。
在本公开的一种可能的实施方式中,将帧内预测模式信息对应的变换核对确定为当前块的变换核对有多种方式,以下给出几种可行的实施方式:
方式一:如表十二所示,描述了帧内预测模式信息与变换核对的对应关系,如果当前块的帧内预测模式信息的模式号为1、33、35时,当前块的变换核对为第一变换核对,如果当前块的帧内预测模式信息的模式号为0、31、32、34、36、37时,当前块的变换核对为第二变换核对,如果当前块的帧内预测模式信息的模式号为2、30、39、65、2至30中的偶数和39至65中的奇数时,当前块的变换核对为第三变换核对,如果当前块的帧内预测模式信息的模式号为3、29、38、66、3至29中的奇数和38至66中的奇数时,当前块的变换核对为第四变换核对。
表十二
Figure GDA0002374172860000231
在方式一中,在确定当前块的变换核对时,可以通过查找上述表十二得到。
方式二:如表十三所示,如果当前块的帧内预测模式信息的模式号为1时,当前块的变换核对为第一变换核对,如果当前块的帧内预测模式信息的模式号为0、31、32、33、34、35、36、37时,当前块的变换核对为第二变换核对,如果当前块的帧内预测模式信息的模式号为2、30、39、65、2至30中的偶数和39至65中的奇数时,当前块的变换核对为第三变换核对,如果当前块的帧内预测模式信息的模式号为3、29、38、66、3至29中的奇数和38至66中的偶数时,当前块的变换核对为第四变换核对。
表十三
Figure GDA0002374172860000232
在方式二中,在确定当前块的变换核对时,可以通过查找上述表十三得到。
方式三,如表十四所示,如果当前块的帧内预测模式信息的模式号为1时,当前块的变换核对为第一变换核对,如果当前块的帧内预测模式信息的模式号为0时,当前块的变换核对为第二变换核对,如果当前块的帧内预测模式信息的模式号为2、34、35、65、2至34中的偶数和35至65中的奇数时,当前块的变换核对为第三变换核对,如果当前块的帧内预测模式信息的模式号为3、33、36、66、3至33中的奇数和36至66中的偶数时,当前块的变换核对为第四变换核对。
表十四
Figure GDA0002374172860000241
方式四,如表十五所示,如果当前块的帧内预测模式信息的模式号为1时,当前块的变换核对为第一变换核对,如果当前块的帧内预测模式信息的模式号为0、3、65和3至65中的奇数时,当前块的变换核对为第二变换核对,如果当前块的帧内预测模式信息的模式号为2、34和2至34中的偶数时,当前块的变换核对为第三变换核对,如果当前块的帧内预测模式信息的模式号为36、66和36至66中的偶数时,当前块的变换核对为第四变换核对。
表十五
Figure GDA0002374172860000242
在本公开的一种可能的实施方式中,上述第一变换核对至第四变换核对有两种组合,相应的描述可以如下:
第一变换核对为(DCT2,DCT2),第二变换核对为(DST7,DST7),第三变换核对为(DST7,DCT2),第四变换核对为(DCT2,DST7);或者,第一变换核对为(DCT2,DCT2),第二变换核对为(DST7,DST7),第三变换核对为(DST7,DCT8),第四变换核对为(DCT8,DST7)。
在本公开的一种可能的实施方式中,在使用帧内预测模式信息确定变换核对时,还考虑了帧内预测模式范围,相应的处理可以如下:
如果根据尺寸信息确定当前块不满足目标尺寸限制条件且帧内预测模式信息满足帧内预测模式范围时,将帧内预测模式信息对应的变换核对确定为当前块的变换核对。
其中,帧内预测模式范围可以预设,并且存储至解码端中,帧内预测模式范围包括模式号是0、1、31至37的帧内预测模式;或者,帧内预测模式范围包括模式号是0和1的帧内预测模式;或者,帧内预测模式范围包括模式号为0、1、3、65以及3至65中间的奇数的帧内预测模式。
在实施中,解码端从编码数据中获取到帧内预测模式信息的模式号后,可以确定是否属于帧内预测模式范围,如果属于帧内预测模式范围,则可以直接在帧内预测模式信息与变换核对的对应关系中,将帧内预测模式信息对应的变换核对确定为当前块的变换核对。
在本公开的一种可能的实施方式中,如果当前块的帧内预测模式信息的模式号不属于帧内预测模式范围,可以进行如下几种处理:
方式一,如表十六所示,帧内预测模式范围包括模式号是0、1、31至37的帧内预测模式信息。
当前块的宽度使用W表示,当前块的高度使用H表示。
在当前块的宽度与高度的比值为1时(即W=H),模式号为2、4、6、…、30、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至30之间的偶数,第二个省略号表示43至65之间的奇数)。
在当前块的宽度与高度的比值为1时(即W=H),模式号为3、5、7、…、29、38、40、42、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示7至29之间的奇数,第二个省略号表示42至66之间的偶数)
在当前块的宽度与高度的比值大于1时(即W>H),模式号为B+1、B+3、…、30、3、5、…、B、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示B+3至30之间的偶数,第二个省略号表示5至B之间的奇数,第三个省略号表示43至65之间的奇数)。
在当前块的宽度与高度的比值大于1时(即W>H),模式号为B+2、B+4、…、29、38、40、…、66、2、4、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示B+4至29之间奇数,第二个省略号表示40至66之间的偶数,第三个省略号表示4至(B-1)之间的偶数)。
在当前块的宽度与高度的比值小于1时(即W<H),模式号为2、4、6、…、30、(B+1)、(B+3)、…、66、39、41、…、(B-2)的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至30之间偶数,第二个省略号表示(B+3)至66之间的偶数,第三个省略号表示41至B-2之间的奇数)。
在当前块的宽度与高度的比值小于1时(即W<H),模式号为3、5、…、29、B、B+2、…、65、38、40、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示5至29之间奇数,第二个省略号表示(B+2)至65之间的奇数,第三个省略号表示40至(B-1)之间的偶数)。
表十六
Figure GDA0002374172860000261
方式二,如表十七所示,帧内预测模式信息范围包括模式号是0、1、31至37的帧内预测模式信息信息;如表八所示,当前块的宽度使用W表示,当前块的高度使用H表示。
在当前块的宽度与高度的比值为1时(即W=H),模式号为2、4、6、…、30、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至30之间的偶数,第二个省略号表示43至65之间的奇数)。
在当前块的宽度与高度的比值为1时(即W=H),模式号为3、5、7、…、29、38、40、42、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示7至29之间的奇数,第二个省略号表示42至66之间的偶数)。
在当前块的宽度与高度的比值大于1时(即W>H),模式号为B+1、B+3、…、30、3、5、…、B、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示B+3至30之间的偶数,第二个省略号表示5至B之间的奇数,第三个省略号表示43至65之间的奇数)。
在当前块的宽度与高度的比值大于1时(即W>H),模式号为B+2、B+4、…、29、38、40、…、66、2、4、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示B+4至29之间的奇数,第二个省略号表示40至66之间的偶数,第三个省略号表示4至(B-1)之间的偶数)。
在当前块的宽度与高度的比值小于1时(即W<H),模式号为2、4、6、…、30、B+1、B+3、…、66、39、41、…、(B-2)的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至30之间的偶数,第二个省略号表示(B+3)至66之间的偶数,第三个省略号表示41至(B-2)之间的奇数)。
在当前块的宽度与高度的比值小于1时(即W<H),模式号为3、5、…、29、B、(B+2)、…、65、38、40、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示5至29之间的奇数,第二个省略号表示(B+2)至65之间的奇数,第三个省略号表示40至(B-1)之间的偶数)。
表十七
Figure GDA0002374172860000271
方式三,帧内预测模式信息范围包括模式号是0和1的帧内预测模式信息信息,如表十八所示,当前块的宽度使用W表示,当前块的高度使用H表示。
在当前块的宽度与高度的比值为1时(即W=H),模式号为2、4、6、…、34、35、37、39、41、43、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至34之间的偶数,第二个省略号表示43至65之间的奇数)。
在当前块的宽度与高度的比值为1时(即W=H),模式号为3、5、7、…、33、36、38、40、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示7至33之间的奇数,第二个省略号表示40至66之间的偶数)。
在当前块的宽度与高度的比值大于1时(即W>H),模式号为(B+1)、(B+3)、…、34、3、5、…、B、35、37、39、…、65的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示(B+3)至34之间的偶数,第二个省略号表示5至B之间的奇数,第三个省略号表示39至65之间的奇数)。
在当前块的宽度与高度的比值大于1时(即W>H),模式号为B+2、B+4、…、33、2、4、…、(B-1)、36、38、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示(B+4)至33之间的奇数,第二个省略号表示4至(B-1)之间的偶数,第三个省略号表示38至66之间的奇数)。
在当前块的宽度与高度的比值小于1时(即W<H),模式号为2、4、6、…、34、(B+1)、(B+3)、…、66、35、37、39、…、(B-2)的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至34之间的偶数,第二个省略号表示(B+3)至66之间的偶数,第三个省略号表示39至(B-2)之间的奇数)。
在当前块的宽度与高度的比值小于1时(即W<H),模式号为3、5、…、33、B、(B+2)、…、65、36、38、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示5至33之间的奇数,第二个省略号表示(B+2)至65之间的奇数,第三个省略号表示38至(B-1)之间的偶数)。
表十八
Figure GDA0002374172860000281
Figure GDA0002374172860000291
方式四,帧内预测模式信息范围包括模式号为0、1、3、65以及3至65中间的奇数的帧内预测模式信息信息;如表十九所示,当前块的宽度使用W表示,当前块的高度使用H表示。
在当前块的宽度与高度的比值为1时(即W=H),模式号为2、4、6、…、34的帧内预测模式信息对应的变换核对为(DST7,DCT2)(省略号表示6至34之间的偶数)。
在当前块的宽度与高度的比值为1时(即W=H),模式号为36、38、40、…、66的帧内预测模式信息对应的变换核对为(DCT2,DST7)(省略号表示40至66之间的偶数)。
在当前块的宽度与高度的比值大于1时(即W>H),模式号为B+1、B+3、…、34的帧内预测模式信息对应的变换核对为(DST7,DCT2)(省略号表示(B+3)至34之间的偶数)。
在当前块的宽度与高度的比值大于1时(即W>H),模式号为36、38、…、66、2、4、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(第一个省略号表示38至66之间的偶数,第二个省略号表示4至(B-1)之间的偶数。
在当前块的宽度与高度的比值小于1时(即W<H),模式号为2、4、6、…、34、B+1、B+3、…、66的帧内预测模式信息对应的变换核对为(DST7,DCT2)(第一个省略号表示6至34之间的偶数,第二个省略号表示(B+3)至66之间的偶数)。
在当前块的宽度与高度的比值小于1时(即W<H),模式号为36、38、…、(B-1)的帧内预测模式信息对应的变换核对为(DCT2,DST7)(省略号表示38至(B-1)之间的偶数)。
表十九
Figure GDA0002374172860000292
需要说明的是,表十六至表十九是考虑了帧内预测模式信息为宽角度模式的影响,宽角度模式的B是由当前块的宽度和高度的比值确定。在表七至表十中,当W/H=2、4、6、8时,对应的B分别为7、11、13、15,当W/H=1/2、1/4、1/6、1/8时,对应的B分别为61、57、55、53。
还需要说明的是,上述表七至表十中,模式号相邻的帧内预测模式信息一般对应有不同的变换核对。
对应于图12所示的解码过程,如图13所示,编码过程可以如下:
步骤1301,编码端获取当前块的残差数据。
在实施中,编码端在对视频数据进行编码时,首先进行帧内预测,得到残差数据(得到残差数据的方式与现有的视频编码标准中一致,不再赘述),然后将残差数据作为当前要进行处理的当前块的残差数据。
步骤1302,如果当前块满足子块划分条件,且启动帧内子块划分,则编码端根据当前块的子块划分信息,确定当前块的各个子块的帧内预测模式信息、当前块的各个子块的尺寸信息。
其中,子块划分信息用于指示如何划分当前块,例如,对于8*4的当前块,可以是水平划分为两个8*2的子块。
在实施中,编码端获取到当前块的残差数据之后,可以确定当前块是否满足子块划分条件,如果确定当前块满足子块划分条件,则可以判断是否启用帧内子块划分,如果帧内子块划分的开关处于开启状态,则说明启用帧内子块划分,可以对当前块进行划分,确定对当前块划分得到的各个子块的高度和宽度。当前块的宽度指宽度方向包含的像素点的数目,当前块的高度指高度方向包含的像素点的数目,这样,即可以获取到子块的尺寸信息。其中,对于一个MxN的当前块,M表示当前块的宽度,N表示当前块的高度。
并且可以从当前块的编码数据中,用于指示帧内预测模式信息的标识位,获取标识位的内容,即得到当前块的帧内预测模式信息。
在本公开的一种可能的实施方式中,子块划分条件为当前块为亮度块、当前块的高度和宽度均小于或等于第一预设数值,当前块在进行帧内预测时为单行参考、当前块包含的像素点的数目大于第二预设数值。
其中,第一预设数值可以预设,并且存储至编码端(与前面提到的第三数值相同),第一预设数值可以为64,当前块在进行帧内预测时为单行参考指在当前块进行帧内预测时,仅参考了一行,第二预设数值可以预设,并且存储至编码端,第二预设数值可以为16(与前面提提到的第四数值相同)。
步骤1303,编码端针对每个子块,根据子块的尺寸信息和子块的帧内预测模式信息,确定子块的变换核对;其中,针对每个子块,根据子块的尺寸信息和子块的帧内预测模式信息,确定子块的变换核对,包括:针对每个子块,如果根据子块的尺寸信息,确定子块不满足尺寸限制条件,则将子块的帧内预测模式信息对应的变换核对确定为子块的变换核对,其中,尺寸限制条件是宽度不在第一预设范围内,且高度不在第二预设范围内。
在实施中,步骤1303的过程与步骤1203的过程完全相同,此处不再赘述。
需要说明的是,编码端根据子块的尺寸信息和子块的帧内预测模式信息,确定子块的变换核对的过程与图12所示的实施例中的解码端根据子块的尺寸信息和子块的帧内预测模式信息,确定子块的变换核对的过程处理完全相同,可以参见图12的处理,此处不再赘述。
步骤1304,编码端根据各个子块的变换核对,对各个子块的残差数据进行变换。
在实施中,编码端确定出各个子块对应的变换核对后,对于每个子块,可以基于该子块对应的变换核对,对该子块进行变换,得到该子块对应的变换系数,然后对变换系数进行量化处理,得到量化系数,对量化系数进行熵编码处理,得到该子块对应的编码数据。
这样,基于对每个子块的上述处理,就可以得到当前块对应的编码数据,就完成了当前块的编码处理。每个当前块都按照图13所示的流程进行处理,即可编码一整段的视频数据。
在本公开的一种可能的实施方式中,为了解码端可以快速的对当前块进行子块划分处理,可以进行如下处理:
如果当前块满足子块划分条件,则获取当前块对应的子块划分信息;将子块划分信息添加至当前块的编码数据中。
在实施中,如果确定当前块满足子块划分条件,编码端可以获取当前块对应的子块划分信息,然后将子块划分信息添加至当前块的编码数据中,这样,后续解码端可以从当前块的编码数据中,获取到当前块对应的子块划分信息,进行解码。
编码端在获取到当前块后,可以使用RDO准则确定当前块的帧内预测模式信息,过程可以如下:
一般评价编码效率的有两大指标:码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比)。一般比特流越小,则压缩率越大;PSNR越大,重建图像质量越好。在进行模式选择的时候,判别公式实质上也就是对这二者的综合评价。
模式对应的代价:J(mode)=D+λ*R。其中,D表示Distortion(失真),通常使用SSE(Sum of Squares Error,和方差)指标来衡量,SSE是指重建块与源图像的差值均方和,λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。
编码端可以使用每种帧内预测模式信息进行帧内预测,得到不同的残差(可以认为是当前块),然后每种帧内预测模式信息对应的变换核对进行变换,再进行量化,再进行熵编码,再进行解码处理,然后选择率失真代价最小的帧内预测模式信息,确定为当前块对应的帧内预测模式信息。这样,就可以确定当前块对应的帧内预测模式信息。
另外,在得到当前块的帧内预测模式信息之后,可以将帧内预测模式信息的模式号添加至后续的编码数据中,用于对当前块的处理。
需要说明的是,为了节约编码时间,所以被划分的子块共享当前块的帧内预测模式信息。
另外,本公开实施例中,还给出了编码端获取子块划分信息的处理过程:
编码端可以将一个当前块水平或者垂直的划分成若干个小的子块,例如,对于一个16x8的当前块来说,可以水平被划分成4个16x2的子块,或者垂直划分成4个4x8子块。然而,对不一个4x8块来说可以被划分成2个4X4块或者2个2x8的子块。可以注意到,子块的数目可以仅为2个(4x8,8x4的子块来说)。并且子块至少包含16个像素点,所以4x4块不会再被划分,也不需要在编码端和解码端进行相应的语法申明。具体划分规则如图9所示的实施例中表三所示,至于是水平划分还是垂直划分,需要经过编码端RDO准则决策。为了节省编码时间,被划分的帧内子块的共享当前当前块的帧内预测模式(也即当前块划分得到的子块与当前块的帧内预测模式相同)。
可以按照表三进行水平划分和垂直划分,例如,如图11所示,对于8*4的当前块,按照水平划分可以划分为两个2*8的子块,按照垂直划分可以划分为两个4*4的子块。
使用RDO准则确定子块划分信息的过程可以如下:
首先使用表三确定出当前块的多种划分方式,然后按照每一种划分方式,进行编码,然后进行解码,确定出率失真代价最小的划分方式,确定为当前块的最终划分方式。这样,就得到了当前块的子块划分信息。后续将当前块的子块划分信息添加至当前块的编码数据中。
需要说明的是,在上述实施例中,当前块经过划分后,各个子块的宽度相同,各个子块的高度相同,帧内预测模式信息也相同,所以确定出的变换核对也相同。
本公开实施例中,在编码端,直接使用当前块的帧内预测模式、子块的尺寸信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行编码处理,同理在解码端,也可以直接使用当前块的帧内预测模式,以及各个子块的子块的尺寸信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行解码处理。这样,由于使用了当前块的帧内预测模式、各个子块的子块的尺寸信息,确定变换核对,而不是使用同一变换核对,所以可以提升编解码性能。而且基于帧内预测模式选取变换核对,可以节约变换核对的选取时长,进一步可以提升编解码性能。
需要说明的是,针对上述两个解码处理的实施例,如果当前块是按照水平划分的,则按照从上到下的顺序,对当前块的各个子块统一进行熵解码,得到各个子块的量化系数,然后按照从上到下的顺序,对当前块的各个子块进行反量化和反变换,得到各个子块的残差数据,最后按照从上到下的顺序,利用当前子块周围已重建区域内像素点的像素值按照编码时所使用的帧内预测模式构建各个子块的预测信号,得到各个子块的预测信号,将各个子块的残差数据与预测信号相加,得到各个子块的重建信息,将各个子块的重建信息合并,即可得到当前块对应的重建信息。
如果当前块是按照垂直划分的,则按照从左到右的顺序,对当前块的各个子块统一进行熵解码,得到各个子块的量化系数,然后按照从左到右的顺序,对当前块的各个子块进行反量化和反变换,得到各个子块的残差数据,最后按照从左到右的顺序,利用当前子块块周围已重建区域内像素点的像素值按照编码时所使用的帧内预测模式构建各个子块的预测信号,得到各个子块的预设信号,将各个子块的残差数据与预测信号相加,得到各个子块的重建信息,将各个子块的重建信息合并,即可得到当前块对应的重建信息。
还需要说明的是,针对上述两个编码处理的实施例,如果对当前块是水平划分,则首先对当前块第一行的子块按照行的顺序分别进行预测、变换、量化和熵编码,然后对第二行的子块按照行的顺序分别进行预测、变换、量化和熵编码,依次从上到下处理第三个子块、第四个子块等。采用这种方式进行编码的原因是:下一个子块的帧内预测的参考像素依赖于上一个子块的重建信息,因此下一个子块在进行预测时,上一个子块已经完成预测、变换、量化和熵编码的过程,得到了重建信息。
如果对当前块是垂直划分,首先对当前块最左边的第一个子块按照列的顺序进行预测、变换、量化和熵编码,然后对从左边开始的第二列的子块按照列的顺序分别进行预测、变换、量化和熵编码,依次从左到右处理第三个子块、第四个子块等。采用这种方式进行编码的原因是:右边一个子块的帧内预测的参考像素依赖于前一个子块的重建信息,因此右边一个子块在进行预测时,左边那个子块已经完成预测、变换、量化和熵编码的过程,得到了重建信息。
还需要说明的是,上述图10、图13所示的编码端实施例,均是对变换步骤的改进,在进行帧内预测时,使用当前块整个进行帧内预测,得到残差数据后,将当前块划分为子块,将各个子块的残差数据进行变换处理。也可以是在进行帧内预测时,就直接划分为子块进行帧内预测,得到各个子块的残差数据,将各个子块的残差数据进行变换处理。本公开上述实施例编码端可以应用于上述两种方式。同理解码端的反变换处理也可以应用于述两种方式。
还需要说明的是,上述几个实施例中,启动帧内子块划分是指启动帧内子块划分模式。子块划分信息可以是子块划分方式,也即当前块支持的候选子块划分中确定的一种子块划分方式。上述子块划分信息也可以不添加在编码数据中,即不占用标记位,比如仅启用水平划分,则解码端确定进行子块划分,就确定进行水平划分,同理仅启用垂直划分,则解码端确定进行子块划分,就确定进行垂直划分,只有在水平划分和垂直划分均启用时,才会额外在编码数据中进行指示,这样,可以节约网络资源。
基于相同的技术构思,本公开实施例还提供了一种解码端,如图14所示,该解码端包括:
获取模块1410,用于获取当前块的编码数据;
确定模块1420,用于:
如果所述当前块满足子块划分条件,且根据所述当前块的编码数据,确定所述当前块启动帧内子块划分,则根据所述当前块的子块划分信息,确定各个子块的尺寸信息和形状信息;
针对每个子块,根据所述子块的尺寸信息和形状信息,确定所述子块对应的变换核对;
变换模块1430,用于根据各个子块的变换核对,对所述各个子块反量化后的数据进行反变换;
其中,所述确定模块1420,用于:
如果所述子块的宽度满足第一尺寸限制条件且形状满足第一条件,则将DST7确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足第二尺寸限制条件且形状满足第二条件,则将DST7确定为所述子块的变换核对中的垂直变换核。
在本公开的一种可能的实施方式中,所述确定模块1420,还用于
如果所述子块的宽度不满足所述第一尺寸限制条件和/或形状不满足所述第一条件,则将DCT2确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度不满足所述第二尺寸限制条件和/或形状不满足所述第二条件,则将DCT2确定为所述子块的变换核对中的垂直变换核。
在本公开的一种可能的实施方式中,所述第一尺寸限制条件和所述第二尺寸限制条件为大于或等于第一数值,且小于或等于第二数值;所述第一条件为宽度小于或等于高度,所述第二条件为宽度大于或等于高度;或者,
所述第一尺寸限制条件和所述第二尺寸限制条件为大于或等于第一数值,且小于或等于第二数值;所述第一条件为宽度小于高度,所述第二条件为宽度大于高度。
在本公开的一种可能的实施方式中,所述子块划分条件为所述当前块为亮度块、所述当前块的高度和宽度均小于或等于第三数值,所述当前块在进行帧内预测时为单行参考、所述当前块包含的像素点的数目大于第四数值。
基于相同的技术构思,本公开实施例还提供了一种编码端,如图15所示,该编码端包括:
获取模块1510,用于获取当前块的残差数据;
确定模块1520,用于:
如果所述当前块满足子块划分条件,且启动帧内子块划分,则根据所述当前块的子块划分信息,确定所述当前块的各个子块的尺寸信息和形状信息;
针对每个子块,根据所述子块的尺寸信息和形状信息,确定所述子块对应的变换核对;
变换模块1530,用于根据各个子块的变换核对,对所述各个子块的残差数据进行变换;
其中,所述确定模块1520,用于:
如果所述子块的宽度满足第一尺寸限制条件且形状满足第一条件,将DST7确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足第二尺寸限制条件且形状满足第二条件,将DST7确定为所述子块的变换核对中的垂直变换核。
在本公开的一种可能的实施方式中,所述获取模块1510,还用于:
如果所述当前块满足子块划分条件,则获取所述当前块对应的子块划分信息;
将所述子块划分信息添加至所述当前块的编码数据中。
本公开实施例中,在编码端,直接使用当前块的各个子块的尺寸信息和形状信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行编码处理,同理在解码端,也可以直接使用当前块的各个子块的尺寸信息和形状信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行解码处理。这样,由于使用了子块的尺寸信息和形状信息,确定变换核对,而不是使用同一变换核对,所以可以提升编解码性能。而且在导出变换核对时,仅使用了高度和宽度,导出过程比较简单,也可以进一步提升编解码性能。
基于相同的技术构思,本公开实施例还提供了一种解码端,如图16所示,该解码端包括:
获取模块1610,用于获取当前块的编码数据;
确定模块1620,用于:
如果所述当前块满足子块划分条件,且根据所述当前块的编码数据,确定所述当前块启动帧内子块划分,则根据所述当前块的子块划分信息,确定各个子块的尺寸信息,并确定所述各个子块的帧内预测模式信息;
针对每个子块,根据所述子块的尺寸信息和所述子块的帧内预测模式信息,确定所述子块的变换核对;
变换模块1630,用于根据各个子块的变换核对,对所述各个子块反量化后的数据进行反变换;
其中,所述确定模块1620,用于:
针对每个子块,如果根据所述子块的尺寸信息,确定所述子块不满足尺寸限制条件,则将所述子块的帧内预测模式信息对应的变换核对确定为所述子块的变换核对,其中,所述尺寸限制条件是宽度不在预设数值范围内,且高度不在所述预设数值范围内。
在本公开的一种可能的实施方式中,所述确定模块1620,还用于:
如果根据所述子块的尺寸信息确定所述子块的高度满足所述尺寸限制条件且所述子块的宽度不满足所述尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核,并将所述子块的帧内预测模式信息对应的变换核对中的水平变换核确定为所述子块的变换核对中的水平变换核;
如果根据子块的尺寸信息确定子块的宽度满足所述尺寸限制条件且所述子块的高度不满足所述尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核,将所述子块的帧内预测模式信息对应的变换核对中的垂直变换核确定为所述子块的变换核对中的垂直变换核;
如果根据子块的尺寸信息确定子块的宽度和宽度满足所述尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述确定模块1620,用于:
如果所述子块的帧内预测模式信息的模式号为1、33、35,则所述子块的变换核对为(DCT2,DCT2);
如果所述子块的帧内预测模式信息的模式号0、31、32、34、36、37,则所述子块的变换核对为(DST7,DST7);
如果所述子块的帧内预测模式信息的模式号为2、30、2至30中的偶数、39、65和39至65中的奇数,则所述子块的变换核对为(DST7,DCT8);
如果所述子块的帧内预测模式信息的模式号为3、29、3至29中的奇数、38、66和38至66中的偶数,则所述子块的变换核对为(DCT8,DST7)。
在本公开的一种可能的实施方式中,所述确定模块1620,用于:
如果所述子块的帧内预测模式信息的模式号为1,则所述子块的变换核对为第一变换核对;
如果所述子块的帧内预测模式信息的模式号0、31、32、33、34、35、36、37,则所述子块的变换核对为第二变换核对;
如果所述子块的帧内预测模式信息的模式号为2、30、2至30中的偶数、39、65和39至65中的奇数,则所述子块的变换核对为第三变换核对;
如果所述子块的帧内预测模式信息的模式号为3、29、3至29中的奇数、38、66和38至66中的偶数,则所述子块的变换核对为第四变换核对。
在本公开的一种可能的实施方式中,所述确定模块1620,用于:
如果所述子块的帧内预测模式信息的模式号为1,则所述子块的变换核对为第一变换核对;
如果所述子块的帧内预测模式信息的模式号0,则所述子块的变换核对为第二变换核对;
如果所述子块的帧内预测模式信息的模式号为2、34、2至34中的偶数、35、65和35至65中的奇数,则所述子块的变换核对为第三变换核对;
如果所述子块的帧内预测模式信息的模式号为3、33、3至33中的奇数、36、66和36至66中的偶数,则所述子块的变换核对为第四变换核对。
在本公开的一种可能的实施方式中,所述确定模块1620,用于:
如果所述子块的帧内预测模式信息的模式号为1,则所述子块的变换核对为第一变换核对;
如果所述子块的帧内预测模式信息的模式号0、3、65和3至65中的奇数,则所述子块的变换核对为第二变换核对;
如果所述子块的帧内预测模式信息的模式号为2、34、2至34中的偶数,则所述子块的变换核对为第三变换核对;
如果所述子块的帧内预测模式信息的模式号为36、66和36至66中的偶数,则所述子块的变换核对为第四变换核对。
在本公开的一种可能的实施方式中,所述第一变换核对为(DCT2,DCT2),所述第二变换核对为(DST7,DST7),所述第三变换核对为(DST7,DCT2),所述第四变换核对为(DCT2,DST7);或者,
所述第一变换核对为(DCT2,DCT2),所述第二变换核对为(DST7,DST7),所述第三变换核对为(DST7,DCT8),所述第四变换核对为(DCT8,DST7)。
在本公开的一种可能的实施方式中,所述确定模块1620,用于:
针对每个子块,如果根据所述子块的尺寸信息,确定所述子块不满足尺寸限制条件,且所述帧内预测模式信息满足帧内预测模式范围,则将所述帧内预测模式信息对应的变换核对确定为所述子块的变换核对。
在本公开的一种可能的实施方式中,所述确定模块1620,还用于:
针对每个子块,如果根据所述子块的尺寸信息,确定所述子块不满足尺寸限制条件,且所述帧内预测模式信息不满足帧内预测模式范围,则根据所述子块的尺寸信息,确定所述子块的宽度和高度的比值;
根据所述子块的宽度和高度的比值、所述子块的帧内预测模式信息,确定所述子块的变换核对。
在本公开的一种可能的实施方式中,所述帧内预测模式范围包括模式号是0、1、31至37的帧内预测模式信息;
或者,所述帧内预测模式范围包括模式号是0和1的帧内预测模式信息;
或者,所述帧内预测模式范围包括模式号为0、1、3、65以及3至65中间的奇数的帧内预测模式信息。
在本公开的一种可能的实施方式中,所述帧内预测模式范围包括模式号是0、1、31至37的帧内预测模式信息;
所述确定模块1620,还用于:
如果所述当前块的宽度和高度的比值等于1,且所述帧内预测模式信息的模式号为2、4、6、30、39、41、43、65、6至30中的偶数、43至65中的奇数时,所述当前块的变换核对为(DST7,DCT2),如果当前块的宽度和高度的比值等于1,且所述帧内预测模式信息的模式号为3、5、7、29、7至29中的奇数时,所述当前块的变换核对为(DCT2,DST7);
如果所述当前块的宽度和高度的比值大于1,且所述帧内预测模式信息的模式号为(B+1)、(B+3)、30、3、5、B、39、41、43、65、(B+3)至30中的偶数、5至B中的奇数、43至65中的奇数时,所述当前块的变换核对为(DST7,DCT2),如果所述当前块的宽度和高度的比值大于1,且所述帧内预测模式信息的模式号为B+2、B+4、29、38、40、66、2、4、(B-1)、B+4至29中奇数、40至66之间的偶数、4至(B-1)之间的偶数时,所述当前块的变换核对为(DCT2,DST7);
如果当前块的宽度和高度的比值小于1,且所述帧内预测模式信息的模式号为2、4、6、30、(B+1)、(B+3)、66、39、41、(B-2)、6至30之间的偶数、(B+3)至66之间的偶数、41至(B-2)之间的奇数时,所述当前块的变换核对为(DST7,DCT2),如果所述当前块的宽度和高度的比值小于1,且所述帧内预测模式信息的模式号为3、5、29、B、(B+2)、65、38、40、(B-1)、5至29之间的奇数、(B+2)至65之间的奇数、40至(B-1)之间的偶数时,所述当前块的变换核对为(DCT2,DST7);
其中,当所述当前块的宽度与高度的比值为2、4、8、16时,B分别为7、11、13、15,当所述当前块的宽度与高度的比值为1/2、1/4、1/8、1/16时,B分别为61、57、55、53。
在本公开的一种可能的实施方式中,所述帧内预测模式范围包括模式号是0和1的帧内预测模式信息;
所述确定模块1620,还用于:
如果所述当前块的宽度和高度的比值等于1,且所述帧内预测模式信息的模式号为2、4、6、34、35、37、39、41、43、65、6至34之间的偶数、43至65之间的奇数时,所述当前块的变换核对为(DST7,DCT2),如果所述当前块的宽度和高度的比值等于1,且所述帧内预测模式信息的模式号为3、5、7、33、36、38、40、66、7至33之间的奇数、40至66之间的偶数时,所述当前块的变换核对为(DCT2,DST7);
如果所述当前块的宽度和高度的比值大于1,且所述帧内预测模式信息的模式号为(B+1)、(B+3)、34、3、5、B、35、37、39、65、(B+3)至34之前的偶数、5至B之间的奇数、39至65之间的奇数时,所述当前块的变换核对为(DST7,DCT2),如果所述当前块的宽度和高度的比值大于1,且所述帧内预测模式信息的模式号为(B+2)、(B+4)、33、2、4、(B-1)、36、38、66、(B+4)至33之间的奇数、4至(B-1)之间的偶数、38至66之间的偶数时,所述当前块的变换核对为(DCT2,DST7);
如果所述当前块的宽度和高度的比值小于1,且所述帧内预测模式信息的模式号为2、4、6、34、(B+1)、(B+3)、66、35、37、39、(B-2)、6至34之间的偶数、(B+3)至66之间的奇数、39至(B-2)之间的奇数时,所述当前块的变换核对为(DST7,DCT2),如果所述当前块的宽度和高度的比值小于1,且所述帧内预测模式信息的模式号为3、5、33、B、(B+2)、65、36、38、(B-1)、5至33之间的奇数、(B+2)至65之间的奇数、38至(B-1)之间的偶数时,所述当前块的变换核对为(DCT2,DST7);
其中,当所述当前块的宽度与高度的比值为2、4、8、16时,B分别为7、11、13、15,当所述当前块的宽度与高度的比值为1/2、1/4、1/8、1/16时,B分别为61、57、55、53。
在本公开的一种可能的实施方式中,所述帧内预测模式范围包括模式号为0、1、3、65以及3至65中间的奇数的帧内预测模式信息;
所述确定模块1620,还用于:
如果所述当前块的宽度和高度的比值等于1,且所述帧内预测模式信息的模式号为2、4、6、34、6至34之间的偶数时,所述当前块的变换核对为(DST7,DCT2),如果所述当前块的宽度和高度的比值等于1,且所述帧内预测模式信息的模式号为36、38、40、66、40至66之间的偶数时,所述当前块的变换核对为(DCT2,DST7);
如果所述当前块的宽度和高度的比值大于1,且所述帧内预测模式信息的模式号为(B+1)、(B+3)、34、(B+3)至34之间的偶数时,所述当前块的变换核对为(DST7,DCT2),如果所述当前块的宽度和高度的比值大于1,且所述帧内预测模式信息的模式号为36、38、66、2、4、(B-1)、38至66之前的偶数、4至(B-1)之间的偶数时,所述当前块的变换核对为(DCT2,DST7);
如果所述当前块的宽度和高度的比值小于1,且所述帧内预测模式信息的模式号为2、4、6、34、(B+1)、(B+3)、66、6至34之间的偶数、(B+3)至66之间的偶数时,所述当前块的变换核对为(DST7,DCT2),如果所述当前块的宽度和高度的比值小于1,且所述帧内预测模式信息的模式号为36、38、(B-1)、38至(B-1)之间的偶数时,所述当前块的变换核对为(DCT2,DST7);
其中,当所述当前块的宽度与高度的比值为2、4、8、16时,B分别为7、11、13、15,当所述当前块的宽度与高度的比值为1/2、1/4、1/8、1/16时,B分别为61、57、55、53。
在本公开的一种可能的实施方式中,所述确定模块1620,还用于:
如果所述当前块未启动帧内子块划分,则根据所述当前块的尺寸信息和帧内预测模式信息确定所述当前块的变换核对。
在本公开的一种可能的实施方式中,所述确定模块1620,还用于:
如果根据所述尺寸信息确定所述当前块不满足目标尺寸限制条件时,将所述帧内预测模式信息对应的变换核对确定为所述当前块的变换核对,其中,所述目标尺寸限制条件是所述宽度大于或等于目标数值,且高度大于或等于所述目标数值;
如果根据所述尺寸信息,确定所述当前块的高度满足所述目标尺寸限制条件且所述当前块的宽度不满足所述目标尺寸限制条件时,将DCT2确定为所述当前块的变换核对中的垂直变换核,并将所述帧内预测模式信息对应的变换核对中的水平变换核确定为所述当前块的变换核对中的水平变换核;
如果根据所述尺寸信息,确定所述当前块的宽度满足所述目标尺寸限制条件且所述当前块的高度不满足目标尺寸限制条件时,将DCT2确定为所述当前块的变换核对中的水平变换核,并将所述帧内预测模式信息对应的变换核对中的垂直变换核确定为所述当前块的变换核对中的垂直变换核;
如果根据所述尺寸信息,确定所述当前块的宽度和高度均满足所述目标尺寸限制条件时,将DCT2确定为所述当前块的变换核对中的水平变换核和垂直变换核。
在本公开的一种可能的实施方式中,所述子块划分条件为所述当前块为亮度块、所述当前块的高度和宽度均小于或等于第一预设数值,所述当前块在进行帧内预测时为单行参考、所述当前块包含的像素点的数目大于第二预设数值。
基于相同的技术构思,本公开实施例还提供了一种编码端,如图17所示,该编码端包括:
获取模块1710,用于获取当前块的残差数据;
确定模块1720,用于:
如果所述当前块满足子块划分条件,且启动帧内子块划分,则根据所述当前块的子块划分信息,确定所述当前块的各个子块的帧内预测模式信息、所述当前块的各个子块的尺寸信息;
针对每个子块,根据所述子块的尺寸信息和所述子块的帧内预测模式信息,确定所述子块的变换核对;
变换模块1730,用于根据各个子块的变换核对,对所述各个子块的残差数据进行变换;
其中,所述确定模块1720,用于:
针对每个子块,如果根据所述子块的尺寸信息,确定所述子块不满足尺寸限制条件,则将所述子块的帧内预测模式信息对应的变换核对确定为所述子块的变换核对,其中,所述尺寸限制条件是宽度不在第一预设范围内,且高度不在第二预设范围内。
在本公开的一种可能的实施方式中,所述获取模块1710,还用于:
如果所述当前块满足子块划分条件,则获取所述当前块的对应的子块划分信息;
将所述子块划分信息添加至所述当前块的编码数据中。
本公开实施例中,在编码端,直接使用当前块的帧内预测模式、子块的尺寸信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行编码处理,同理在解码端,也可以直接使用当前块的帧内预测模式,以及各个子块的子块的尺寸信息,即可确定出各个子块对应的变换核对,基于确定出的变换核对,进行解码处理。这样,由于使用了当前块的帧内预测模式、各个子块的子块的尺寸信息,确定变换核对,而不是使用同一变换核对,所以可以提升编解码性能。而且基于帧内预测模式选取变换核对,可以节约变换核对的选取时长,进一步可以提升编解码性能。
需要说明的是:上述实施例提供的解码端在进行解码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将解码端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的解码端与进行解码的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
需要说明的是:上述实施例提供的编码端在进行编码时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将编码端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的编码端与进行编码的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图18是本发明实施例提供的一种编码端的结构示意图,该编码端1800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)1801和一个或一个以上的存储器1802,其中,所述存储器1802中存储有至少一条指令,所述至少一条指令由所述处理器1801加载并执行以实现上述进行编码的方法的步骤。
图19是本发明实施例提供的一种解码端的结构示意图,该解码端1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)1901和一个或一个以上的存储器1902,其中,所述存储器1902中存储有至少一条指令,所述至少一条指令由所述处理器1901加载并执行以实现上述进行解码的方法的步骤。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的进行编码和进行解码的方法步骤。
本公开实施例还提供了一种编码端,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述所述的进行编码的方法步骤。
本公开实施例还提供了一种解码端,包括处理器和存储器,其中,所述存储器,用于存放计算机程序;所述处理器,用于执行所述存储器上所存放的程序,实现上述所述的进行解码的方法步骤。
本公开实施例还提供了一种编码和解码的系统,所述系统包括编码端和解码端,其中:
所述编码端,如上述进行编码处理的编码端;
所述解码端,如上述进行解码处理的解码端。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

Claims (10)

1.一种进行解码的方法,其特征在于,所述方法包括:
获取当前块的编码数据;
如果所述当前块满足子块划分条件,且根据所述当前块的编码数据,确定所述当前块启动帧内子块划分,则根据所述当前块的子块划分信息,确定各个子块的尺寸信息;
针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;
根据各个子块的变换核对,对所述各个子块反量化后的数据进行反变换;
其中,针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:
如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;
如果所述子块的宽度不满足第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足所述第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;
如果所述子块的高度不满足第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核,其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
2.根据权利要求1所述的方法,其特征在于,所述针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:
如果所述子块的宽度等于高度,且所述子块的宽度满足所述第一尺寸限制条件,所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核,将DST7确定为所述子块的变换核对中的垂直变换核。
3.根据权利要求2所述的方法,其特征在于,所述子块的宽度和宽度均为4,或均为8,或均为16。
4.根据权利要求1所述的方法,其特征在于,若所述子块的宽度满足大于或等于4且小于或等于16,高度为32或64,则所述子块的宽度满足所述第一尺寸限制条件,且所述子块的高度不满足所述第二尺寸限制条件。
5.根据权利要求1所述的方法,其特征在于,若所述子块的高度满足大于或等于4且小于或等于16,宽度为32或64,则所述子块的宽度不满足所述第一尺寸限制条件,且所述子块的高度满足所述第二尺寸限制条件。
6.根据权利要求1所述的方法,其特征在于,若所述子块的宽度大于1且小于4,高度大于16,则所述子块的宽度不满足所述第一尺寸限制条件,所述子块的高度不满足所述第二尺寸限制条件;或者,
若所述子块的高度大于1且小于4,宽度大于16,则所述子块的宽度不满足所述第一尺寸限制条件,所述子块的高度不满足所述第二尺寸限制条件;或者,
若所述子块的高度大于16且宽度大于16,则所述子块的宽度不满足所述第一尺寸限制条件,所述子块的高度不满足所述第二尺寸限制条件。
7.一种进行编码的方法,其特征在于,所述方法包括:
获取当前块的残差数据;
如果所述当前块满足子块划分条件,且启动帧内子块划分,则根据所述当前块的子块划分信息,确定所述当前块的各个子块的尺寸信息;
针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;
根据各个子块的变换核对,对所述各个子块的残差数据进行变换;
其中,针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:
如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足所述第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;如果所述子块的高度不满足所述第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核;
其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
8.根据权利要求7所述的方法,其特征在于,所述针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对,包括:
如果所述子块的宽度等于高度,且所述子块的宽度满足所述第一尺寸限制条件,所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核,将DST7确定为所述子块的变换核对中的垂直变换核。
9.一种进行解码的解码端,其特征在于,所述解码端包括:
获取模块,用于获取当前块的编码数据;
确定模块,用于:
如果所述当前块满足子块划分条件,且根据所述当前块的编码数据,确定所述当前块启动帧内子块划分,则根据所述当前块的子块划分信息,确定各个子块的尺寸信息;
针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;
变换模块,用于根据各个子块的变换核对,对所述各个子块反量化后的数据进行反变换;
其中,所述确定模块,用于:
如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足所述第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;如果所述子块的高度不满足所述第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核;
其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
10.一种进行编码的编码端,其特征在于,所述编码端包括:
获取模块,用于获取当前块的残差数据;
确定模块,用于:
如果所述当前块满足子块划分条件,且启动帧内子块划分,则根据所述当前块的子块划分信息,确定所述当前块的各个子块的尺寸信息;
针对每个子块,根据所述子块的尺寸信息,确定所述子块对应的变换核对;
变换模块,用于根据各个子块的变换核对,对所述各个子块的残差数据进行变换;
其中,所述确定模块,用于:
如果所述子块的宽度满足第一尺寸限制条件,则将DST7确定为所述子块的变换核对中的水平变换核;如果所述子块的宽度不满足所述第一尺寸限制条件,则将DCT2确定为所述子块的变换核对中的水平变换核;
如果所述子块的高度满足第二尺寸限制条件,则将DST7确定为所述子块的变换核对中的垂直变换核;如果所述子块的高度不满足所述第二尺寸限制条件,则将DCT2确定为所述子块的变换核对中的垂直变换核;
其中,所述第一尺寸限制条件为子块的宽度大于或等于4且小于或等于16;所述第二尺寸限制条件为子块的高度大于或等于4且小于或等于16。
CN201910570214.5A 2019-03-09 2019-03-09 进行编码和解码的方法、编码端、解码端和系统 Active CN110392256B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910570214.5A CN110392256B (zh) 2019-03-09 2019-03-09 进行编码和解码的方法、编码端、解码端和系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910177528.9A CN111669582B (zh) 2019-03-09 2019-03-09 进行编码和解码的方法、编码端、解码端和系统
CN201910570214.5A CN110392256B (zh) 2019-03-09 2019-03-09 进行编码和解码的方法、编码端、解码端和系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201910177528.9A Division CN111669582B (zh) 2019-03-09 2019-03-09 进行编码和解码的方法、编码端、解码端和系统

Publications (2)

Publication Number Publication Date
CN110392256A CN110392256A (zh) 2019-10-29
CN110392256B true CN110392256B (zh) 2020-12-11

Family

ID=68289760

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910570214.5A Active CN110392256B (zh) 2019-03-09 2019-03-09 进行编码和解码的方法、编码端、解码端和系统
CN201910177528.9A Active CN111669582B (zh) 2019-03-09 2019-03-09 进行编码和解码的方法、编码端、解码端和系统

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910177528.9A Active CN111669582B (zh) 2019-03-09 2019-03-09 进行编码和解码的方法、编码端、解码端和系统

Country Status (4)

Country Link
US (1) US11825082B2 (zh)
EP (1) EP3923575A4 (zh)
CN (2) CN110392256B (zh)
WO (2) WO2020182103A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200288130A1 (en) * 2019-03-07 2020-09-10 Qualcomm Incorporated Simplification of sub-block transforms in video coding
CN110392256B (zh) * 2019-03-09 2020-12-11 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、编码端、解码端和系统
US11539952B2 (en) * 2019-03-12 2022-12-27 Qualcomm Incorporated Implicit transform selection in video coding
CN117296323A (zh) * 2021-04-22 2023-12-26 抖音视界有限公司 基于特征的变换选择
CN115379217A (zh) * 2022-07-14 2022-11-22 百果园技术(新加坡)有限公司 一种视频编码处理方法、装置、设备及存储介质
CN116233420A (zh) * 2023-03-24 2023-06-06 重庆邮电大学 一种基于vvc的帧内快速编码方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1685369A (zh) * 2002-09-26 2005-10-19 美国多科摩通讯研究所股份有限公司 视频编码的低复杂性和统一标准的变换
CN102843560A (zh) * 2011-06-21 2012-12-26 华为技术有限公司 图像变换处理方法、设备和系统
CN108886613A (zh) * 2016-03-28 2018-11-23 株式会社Kt 用于处理视频信号的方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100095992A (ko) 2009-02-23 2010-09-01 한국과학기술원 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
KR101487687B1 (ko) * 2010-01-14 2015-01-29 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
US8885701B2 (en) * 2010-09-08 2014-11-11 Samsung Electronics Co., Ltd. Low complexity transform coding using adaptive DCT/DST for intra-prediction
KR20120035096A (ko) * 2010-10-04 2012-04-13 한국전자통신연구원 쿼드 트리 변환 구조에서 부가 정보의 시그널링 방법 및 장치
FR2972588A1 (fr) * 2011-03-07 2012-09-14 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
MX358516B (es) * 2011-10-19 2018-08-24 Kt Corp Método y aparato para codificar/decodificar imágenes.
CN104322064A (zh) * 2012-04-16 2015-01-28 韩国电子通信研究院 编码方法和解码方法以及使用其的设备
JP2014036278A (ja) * 2012-08-07 2014-02-24 Nippon Hoso Kyokai <Nhk> 画像符号化装置、画像復号装置及びプログラム
KR20170116043A (ko) * 2015-02-12 2017-10-18 엘지전자 주식회사 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
CN114401407A (zh) 2016-06-24 2022-04-26 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
WO2018026166A1 (ko) 2016-08-01 2018-02-08 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
EP3567858A4 (en) * 2017-01-03 2020-06-17 LG Electronics Inc. -1- VIDEO SIGNAL ENCODING / DECODING METHOD AND DEVICE USING A SECONDARY TRANSFORM
US11405645B2 (en) 2017-02-28 2022-08-02 Google Llc Transform kernel selection and entropy coding
EP3606078A4 (en) 2017-07-04 2020-04-29 Samsung Electronics Co., Ltd. VIDEO DECODING METHOD AND DEVICE WITH MULTI-CORE TRANSFORMATION AND VIDEO CODING METHOD AND DEVICE WITH MULTI-CORE TRANSFORMATION
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
AU2020233004B2 (en) 2019-03-03 2023-11-30 Huawei Technologies Co., Ltd. An encoder, a decoder, and corresponding methods that are used for transform process
CN110392256B (zh) 2019-03-09 2020-12-11 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、编码端、解码端和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1685369A (zh) * 2002-09-26 2005-10-19 美国多科摩通讯研究所股份有限公司 视频编码的低复杂性和统一标准的变换
CN102843560A (zh) * 2011-06-21 2012-12-26 华为技术有限公司 图像变换处理方法、设备和系统
CN108886613A (zh) * 2016-03-28 2018-11-23 株式会社Kt 用于处理视频信号的方法和装置

Also Published As

Publication number Publication date
CN111669582A (zh) 2020-09-15
WO2020182103A1 (zh) 2020-09-17
US20220182624A1 (en) 2022-06-09
CN111669582B (zh) 2022-05-20
WO2020182105A1 (zh) 2020-09-17
CN110392256A (zh) 2019-10-29
US11825082B2 (en) 2023-11-21
EP3923575A1 (en) 2021-12-15
EP3923575A4 (en) 2022-06-08

Similar Documents

Publication Publication Date Title
CN110392256B (zh) 进行编码和解码的方法、编码端、解码端和系统
WO2020182102A1 (zh) 进行编码和解码的方法、解码端和编码端
CN111385584B (zh) 进行编码、解码的方法、装置和系统
CN111988618B (zh) 进行解码、编码的方法、解码端和编码端
CN111669579B (zh) 进行编码和解码的方法、编码端、解码端和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant