CN111698504B - 编码方法、解码方法及装置 - Google Patents
编码方法、解码方法及装置 Download PDFInfo
- Publication number
- CN111698504B CN111698504B CN201910181501.7A CN201910181501A CN111698504B CN 111698504 B CN111698504 B CN 111698504B CN 201910181501 A CN201910181501 A CN 201910181501A CN 111698504 B CN111698504 B CN 111698504B
- Authority
- CN
- China
- Prior art keywords
- mode
- current block
- sub
- block
- prediction mode
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 122
- 230000009466 transformation Effects 0.000 claims abstract description 48
- 230000001131 transforming effect Effects 0.000 claims abstract description 17
- 238000005192 partition Methods 0.000 claims description 155
- 238000001914 filtration Methods 0.000 claims description 89
- 238000013139 quantization Methods 0.000 claims description 20
- 238000000638 solvent extraction Methods 0.000 description 49
- 238000010586 diagram Methods 0.000 description 18
- 238000005516 engineering process Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000002093 peripheral effect Effects 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 241000023320 Luma <angiosperm> Species 0.000 description 7
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000919 ceramic Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种编码方法、解码方法及装置,属于数据处理技术领域。所述方法包括:当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据目标预测模式进行帧内子块预测得到多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对当前块进行编码生成当前块的编码流。本申请可以避免硬件对某种划分方式划分后的子块的处理代价较大的问题。
Description
技术领域
本申请涉及数据处理技术领域,特别涉及一种编码方法、解码方法及装置。
背景技术
目前,ISP(Intra sub-block sub-partitions,帧内子块划分)技术在图像编码中得到广泛应用,该ISP技术的原理是将一个图像块划分成多个子块,以基于该多个子块进行预测、变换、量化、编码一系列处理。
在一些实施例中,对于支持ISP技术的图像块的划分方式一般包括水平方式和垂直方式。譬如,对于一个16*8的图像块来说,按照水平方式可以被划分成4个16*2的子块,按照垂直方式可以被划分成4个4*8子块。另外,对于一个4*8的图像块来说,按照水平方式可以被划分成2个4*4块,按照垂直方式可以被划分成2个2*8的子块。之后,可以由硬件基于得到的子块进行一系列处理。
在上述实现方式中,由于支持ISP技术的图像块的划分方式包括水平方式和垂直方式,然而,按照某种划分方式划分后,可能导致硬件对一些尺寸子块的处理代价较大。
发明内容
本申请实施例提供了一种编码方法、解码方法、装置、设备及存储介质,可以解决相关技术中硬件对一些尺寸子块的处理代交较大的问题。所述技术方案如下:
第一方面,提供了一种编码方法,所述方法包括:
当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照所述目标子块划分方式,将所述当前块划分成多个子块;
从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息,根据当前块的原始像素信息和所述多个子块的预测像素信息确定所述当前块的残差信息;
根据所述多个子块支持的变换方式对所述残差信息进行变换,得到变换后的信息;
根据所述变换后的信息,对所述当前块进行编码生成当前块的编码流。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,
所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,且所述当前块的目标子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式。
在本申请一种可能的实现方式中,所述编码流中携带所述第三指示信息时,在生成所述编码流之前还包括:
按照上下文模型对所述第三指示信息进行编码;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,
所述对所述第三指示信息进行编码,包括:
所述第三指示信息的编码顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息。
在本申请一种可能的实现方式中,
若所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个个子块是否存在残差信息,在生成所述编码流之前所述方法还包括:
按照上下文模型对所述第五指示信息进编码;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,
所述根据所述多个子块对所述残差信息进行变换之后,所述方法还包括:
对变换后的信息进行量化处理,量化处理后的数据进行反量化、反变换处理,得到反变换结果;
基于反变换结果确定当前块的重构图像;
对所述重构图像进行滤波;
其中,对所述重构图像进行滤波,包括:
当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度;
根据滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,
根据所述当前块的目标子块划分方式,确定子块的边界滤波强度,包括:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度都设置为0。
第二方面,提供了一种解码方法,所述方法包括:
获取当前块的编码流;
根据所述编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
按照所述目标子块划分方式,将所述当前块划分成多个子块;
根据所述多个子块对所述编码流进行反量化和反变换,得到所述多个子块对应的残差信息;
根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息;
根据所述多个子块对应的残差信息和所述预测像素信息,确定所述当前块的重构图像。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,且所述当前块的目标子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式;
所述方法还包括:
按照上下文模型解析所述编码流中的所述第二指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式;所述方法还包括:
按照上下文模型解析所述编码流中的所述第三指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,
所述第三指示信息的解析顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息;所述方法还包括:
按照上下文模型解析所述第五指示信息;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度;
根据滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,
根据所述当前块的目标子块划分方式,确定子块的边界滤波强度,包括:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度都设置为0
第三方面,提供了一种编码装置,所述装置包括:
第一确定模块,用于当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照所述目标子块划分方式,将所述当前块划分成多个子块;
第二确定模块,用于从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
第一预测模块,用于根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息,根据当前块的原始像素信息和所述多个子块的预测像素信息确定所述当前块的残差信息;
变换模块,用于根据所述多个子块支持的变换方式对所述残差信息进行变换,得到变换后的信息;
编码模块,用于根据所述变换后的信息,对所述当前块进行编码生成当前块的编码流。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与上述任一项所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,
所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,且所述当前块的目标子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式。
在本申请一种可能的实现方式中,所述编码模块还用于:
按照上下文模型对所述第三指示信息进行编码;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,所述第三指示信息的编码顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息。
在本申请一种可能的实现方式中,若所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个个子块是否存在残差信息,所述编码模块还用于:
按照上下文模型对所述第五指示信息进编码;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,所述变换模块还用于:
对变换后的信息进行量化处理,量化处理后的数据进行反量化、反变换处理,得到反变换结果;
基于反变换结果确定当前块的重构图像;
对所述重构图像进行滤波;
其中,对所述重构图像进行滤波,包括:
当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度;
根据滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,所述变换模块还用于:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度都设置为0。
第四方面,提供了一种解码装置,所述装置包括:
获取模块,用于获取当前块的编码流;
第三确定模块,用于根据所述编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
子块划分模块,用于按照所述目标子块划分方式,将所述当前块划分成多个子块;
反量化变换模块,用于根据所述多个子块对所述编码流进行反量化和反变换,得到所述多个子块对应的残差信息;
第二预测模块,用于根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息;
第四确定模块,用于根据所述多个子块对应的残差信息和所述预测像素信息,确定所述当前块的重构图像。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,且所述当前块的目标子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式;
所述方法还包括:
按照上下文模型解析所述编码流中的所述第二指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式;所述方法还包括:
按照上下文模型解析所述编码流中的所述第三指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,所述第三指示信息的解析顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息;所述反量化变换模块用于:
按照上下文模型解析所述第五指示信息;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,所述第四确定模块用于;
根据滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,所述第四确定模块用于:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度都设置为0。
第五方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述第一方面所述的方法。
第六方面,提供了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为实现上述第二方面所述的方法。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第二方面所述的方法。
第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的方法。
本申请实施例提供的技术方案带来的有益效果是:
当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种划分方式划分后的子块的处理代价较大的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例示出的一种编解码系统的架构示意图;
图2是根据一示例性实施例示出的一种编解码的流程示意图;
图3是根据一示例性实施例示出的帧内预测模式对应的方向示例性;
图4是根据一示例性实施例示出的角度模式对应的方向示例性;
图5是根据一示例性实施例示出的一种图像块的划分示意图;
图6是根据另一示例性实施例示出的一种图像块的划分示意图;
图7是根据一示例性实施例示出的一种编码方法的流程图;
图8是根据一示例性实施例示出的一种当前块的划分示意图;
图9是根据另一示例性实施例示出的一种当前块的划分示意图;
图10是根据另一示例性实施例示出的一种编码方法的流程图;
图11是根据一示例性实施例示出的相邻块的示意图;
图12是根据另一示例性实施例示出的一种编码方法的流程图;
图13是根据一示例性实施例示出的一种解码方法的流程图;
图14是根据一示例性实施例示出的一种当前块的示意图;
图15是根据一示例性实施例示出的一种编码装置的结构示意图;
图16是根据一示例性实施例示出的一种解码装置的结构示意图;
图17是根据一示例性实施例示出的一种图像块的示意图;
图18是根据另一示例性实施例示出的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种编解码系统的结构示意图。如图1所示,编解码系统包括编码器01、解码器02、存储装置03和链路04。编码器01与存储装置03可以进行通信,编码器01还可以通过链路04与解码器02进行通信。解码器02还可以与存储装置03进行通信。
编码器01用于获取数据源,对数据源进行编码,并将编码后的码流传输至存储装置03进行存储,或者直接通过链路04传输至解码器02。解码器02可以从存储装置03中获取码流,并进行解码得到数据源,或者在接收到编码器01通过链路04传输的码流后进行解码,得到数据源。其中,数据源可以为拍摄到的图像,也可以为拍摄到的视频。编码器01和解码器02均可以单独作为一个电子设备。存储装置03可包括多种分布式或本地存取式的数据存储媒体中的任一者。例如,硬盘驱动器、蓝光光盘、只读光盘、快闪存储器,或用于存储经编码的数据的其它合适数字存储媒体。链路04可包括至少一个通信媒体,该至少一个通信媒体可以包括无线和/或有线通信媒体,例如射频(radio frequency,RF)频谱或一根或多根物理传输线。
请参考图2,该图2是根据一示例性实施例示出的一种编解码的流程示意图,编码包括预测、变换、量化、熵编码几个过程,解码包括解码、反变换、反量化、预测几个过程。编码和解码中的预测一般包括帧内预测和帧间预测,接下来对帧内预测做简单介绍。帧内预测是指利用图像空间域的相关性,使用当前图像块周围已编码重建的相邻块的像素,预测该当前图像块的像素,从而达到去除图像空域冗余的目的。帧内预测中规定了多种帧内预测模式,每一种帧内预测模式都对应一种纹理方向(DC模式除外)。譬如,如果图像的纹理是呈现水平状排布的,那么选择水平类预测模式可以更好的预测图像信息。示例性的,HEVC(High Efficiency Video Coding,高效视频编码)中亮度分量可以支持5种尺寸的预测单元(图像块或子块),每一种尺寸的预测单元都对应35种帧内预测模式,包含Planar模式、DC模式和33种角度模式,如表1所示。
表1
模式号 | 帧内预测模式 |
0 | Intra_Planar |
1 | Intra_DC |
2...34 | Intra_angular2…Intra_angular34 |
该多种帧内预测模式对应的预测方向如图3所示。该Planar模式适用于像素值缓慢变化的区域,在实施中,可以使用水平方向和垂直方向的两个线性滤波器进行滤波处理,将两者的平均值作为当前图像块的预测值。DC模式适用于大面积平坦区域,可以将当前图像块周围已编码重建的相邻块的平均像素值作为当前图像块的预测值。作为一种示例,该Planar模式和DC模式又可以称为非角度模式。请继续参考图3,在角度模式中,模式号26和模式号10对应帧内预测模式分别表示垂直方向和水平方向,在本申请一种可能的实现方式中,可以将与模式号26相邻的模式号对应的帧内预测模式统称为垂直类预测模式,以及将与模式号10相邻的模式号对应的帧内预测模式统称为水平类预测模式,示例性的,垂直类预测模式可以包括模式号2至模式号18,水平类预测模式可以包括模式号19至模式号34。另外,在新一代编解码标准VVC(Versatile Video Coding,瓦尔塞视频编码)中针对角度模式做了更细致的划分,如图4所示。
需要说明的是,上述仅是以模式号26和模式号10对应帧内预测模式分别表示垂直方向和水平方向为例进行说明,在另一实施例中,垂直方向和水平方向对应的帧内预测模式的模式号还可能为其它值,本申请实施例对此不做限定。
在本申请一种可能的实现方式中,可以基于ISP技术实现编码和解码。ISP技术中帧内预测采用的方法是将图像块划分成多个子块进行预测,对于支持ISP技术的图像块来说能够支持的划分方式包括水平划分和垂直划分,作为一种示例,可以按照表2所示的规则表示图像块能够支持的划分方式,其中,“N”表示不支持ISP模式,HOR表示支持水平划分,VER表示支持垂直划分,行代表图像块的宽度,列代表图像块的高度。示例性的,可以将图像块划分成图5和图6所示的形式。
表2
4 | 8 | 16 | 32 | 64 | 128 | |
4 | N | HOR/VER | HOR/VER | HOR/VER | N | N |
8 | HOR/VER | HOR/VER | HOR/VER | HOR/VER | N | N |
16 | HOR/VER | HOR/VER | HOR/VER | HOR/VER | N | N |
32 | HOR/VER | HOR/VER | HOR/VER | HOR/VER | N | N |
64 | N | N | N | N | HOR/VER | N |
128 | N | N | N | N | N | N |
在一些实施例中,对于硬件来说,子块的像素信息是通过光栅扫描得到的,而按照上述表2所示的划分方式进行划分后,容易导致对一些尺寸的子块,比如1*N、2*N的子块,硬件访问的代价就会很大。为此,本申请实施例提供了一种基于ISP技术的编解码方法,该方法可以解决该问题。其具体实现请参见如下各个实施例。在一些实施例中,ISP模式又可以称为帧内子块划分模式。
接下来将结合附图对本申请实施例提供的方法进行详细介绍。请参考图7,图7是根据一示例性实施例示出的一种编码方法的流程图,该编码方法可以应用于编码端设备中,该方法可以包括如下几个步骤:
步骤701:当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。
其中,该当前块为待处理图像中的任一图像块,该待处理图像可以为任意图像或视频图像。
在一些标准中规定了ISP模式支持的图像块的尺寸,示例性的可以通过如下表3来确定,该“N”表示不支持,该“Y”表示支持,其中行代表图像块的宽度,列代表图像块的高度,比如,ISP模式不支持对4*4图像块的处理。
表3
作为一个例子,若当前块的宽高尺寸为64*64,则当前块不支持或者禁止启动帧内子块划分模式。也即是,由于针对64*64尺寸的图像块处理,使用ISP模式和常规模式(即非ISP模式)的实现效果相差不明显,甚至使用ISP模式的运算量相比较大,因此,在本申请一种可能的实现方式中,提出不使能64*64图像块的ISP模式,也就是说,提出ISP模式不支持64*64尺寸,此时表3变更为表4所示,其中行代表图像块的宽度,列代表图像块的高度。
表4
4 | 8 | 16 | 32 | 64 | 128 | |
4 | N | Y | Y | Y | N | N |
8 | Y | Y | Y | Y | N | N |
16 | Y | Y | Y | Y | N | N |
32 | Y | Y | Y | Y | N | N |
64 | N | N | N | N | N | N |
128 | N | N | N | N | N | N |
在一种可能的实现方式中,编码端设备可以根据当前图像块的宽度和高度,基于上述表3或表4,判断该当前图像块是否支持ISP模式,当确定支持ISP模式时,可以启动帧内子块划分模式。
由于硬件对于一些尺寸的子块的扫描代价较大,因此,作为一种示例,可以限定一些尺寸块的划分方式,示例性的,可以包括如下几种可能的实现方式:
第一种实现方式:若当前块的宽高尺寸为4*N,N大于4,则该当前块支持的子块划分方式为水平划分。
如前文所述,由于对于1*N、2*N的子块,硬件访问的代价会比较大,因此,对于宽高尺寸为4*N可以限定只支持水平划分,不支持垂直划分。
第二种实现方式:若当前块的宽高尺寸为8*N,N大于或等于4,则该当前块支持的子块划分方式为水平划分;或者,该当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
作为一种示例,对于宽高尺寸为8*N的图像块,也可以限定其不支持垂直划分,只支持水平划分。作为一种示例,对于宽高尺寸为8*N的图像块,也可以只允许垂直划分成4*N的子块,即只允许垂直切一道。
第三种实现方式:若当前块的宽高尺寸为4*16或4*32或8*32则该当前块不支持垂直划分,仅支持水平划分。
第四种实现方式:若当前块的宽高尺寸为16*4或32*4或32*8,则该当前块不支持水平划分,仅支持垂直划分。
示例性的,ISP技术支持的划分方式可以如表5所示,其中行代表图像块的宽度,列代表图像块的高度。
表5
4 | 8 | 16 | 32 | 64 | 128 | |
4 | N | HOR/VER | VER | VER | N | N |
8 | HOR/VER | HOR/VER | HOR/VER | VER | N | N |
16 | HOR | HOR/VER | HOR/VER | HOR/VER | N | N |
32 | HOR | HOR | HOR/VER | HOR/VER | N | N |
64 | N | N | N | N | N | N |
128 | N | N | N | N | N | N |
需要说明的是,上述提供的几种实现方式和表5所示的划分方式均是示例性的,在另一实施例中,还可以根据该当前块的宽度和高度的比值确定该当前块支持的划分方式。作为一种示例,可以包括如下几种情况:
第一种实现方式:当该当前块的宽度与高度之间的比值大于或等于第一阈值时,该当前块支持的划分方式为垂直划分。
当该当前块的宽度与高度之间的比值大于或等于第一阈值时,说明该当前块的宽度很宽而高度很矮,如果再对该当前块进行水平划分,得到的子块的宽度会很宽而高度会更矮,所以对于该种当前块可以不使能水平划分,即该当前块支持的划分方式为垂直划分,不支持水平划分。
上述第一阈值可以根据实际需求进行设置,比如,该第一阈值为1,即宽高比大于1时,适合垂直划分。
第二种实现方式:当该当前块的宽度与高度之间的比值小于或等于第二阈值时,该当前块支持的划分方式为水平划分。
上述第二阈值可以根据实际需求进行设置,比如,该第二阈值可以为1或者小于1的数,此时适合水平划分。
当该当前块的宽度与高度之间的比值小于或等于第二阈值时,说明该当前块的宽度比较小而高度特别高,如果再对该当前块进行垂直划分,得到的子块的宽度会更窄且高度特别高,所以对于该种当前块可以不使能垂直划分,即该当前块支持的划分方式为水平划分,不支持垂直划分。
作为一种示例,当该当前块仅支持水平划分时,可以将水平划分确定为该目标子块划分方式,当该当前块仅支持垂直划分时,可以将垂直划分确定为该目标子块划分方式。当该前块既支持水平划分又支持垂直划分时,可以通过尝试的方式确定该目标子块划分方式,比如可以根据处理代价来选择最终采用哪种划分方式,作为一种例子,该处理代价可以基于RDO(Rate Distortion Optimized,率失真原则)来决策。
作为一种示例,编码端设备可以根据该目标子块划分方式,按照表6所示的划分规则将该当前块划分成多个子块。
表6
在上述表6中,W表示当前块的宽度,H表示当前块的高度,w表示划分得到的子块的宽度,h表示划分得到的子块的高度,k表示划分得到的多个第一子图块的数量。
譬如,当该当前块的宽度为16,高度为4时,可以按照垂直方式,将该当前块划分成4个4x4的子块。
作为一种示例,该多个子块是按照非均匀划分得到,或者,该多个子块是按照均匀划分得到。可以按照均匀尺寸进行划分,或者,也可以按照非均匀尺寸进行划分。可以将当前块划分成多个尺寸相同的子块,或者,还可以将该当前块划分成多个尺寸不相同的子块,比如如图8所示,将该当前块划分量两个尺寸不同的子块。
作为一种例子,该多个子块可以是按照多级划分得到。也即是,可以对较大尺寸的子块进行更细的划分,示例性的,如图9所示,可以将某个尺寸较大的子块继续划分成8个尺寸较小的子块,之后基于得到的该8个较小尺寸的子块进行后续处理。
该参考尺寸阈值可以由用户根据实际需求进行设置,或者,也可以由该编码端设备默认设置,本申请实施例对此不做限定。
步骤702:从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
作为一种示例,在选择目标预测模式之前要构建当前块的候选预测模式列表,对于当前块启动帧内子块划分模式时,帧内子块划分模式支持的候选预测模式列表可以和当前块不启动帧内子块划分模式时的候选预测模式列表相同,也可以不同。
作为一种示例,当当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;其中,固定列表仅包括Planar预测模式;或者,若当前块的目标子块划分方式为水平划分,则固定列表仅包括水平模式;或者,若当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
也就是说,可以直接使用固定的模式作为目标预测模式。在一种可能的实现方式中,无论对于什么样的块,均可以直接使用Planar模式作为目标预测模式。在另一种可能的实现方式中,可以根据划分方式确定该目标预测模式,即当该当前块的划分方式为水平划分时,将水平模式确定为该目标预测模式,示例性的,该水平模式的模式号为10。或者,当该当前块的划分方式为垂直划分时,将垂直模式确定为该目标预测模式,示例性的,该垂直模式的模式号为26。
在一种示例中,目标预测模式默认为水平模式,或垂直模式或者是Planar模式或者是DC模式时,在该种实现方式中,不需要在码流中携带用于本端使用的目标预测模式的指示信息,节省了比特开销。
在本申请一种可能的实现方式中,当该当前块启动帧内子块划分模式,若该当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是该当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,当该当前块未启动帧内子块划分模式时,当前块对应的该候选预测模式列表与帧内子块划分模式支持的候选预测模式列表相同。
步骤703:根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。
作为一种示例,可以根据目标预测模式,对该多个子块中的每个子块进行预测处理,得到该多个子块的预测像素信息。
作为另一种示例,可以根据该目标预测模式,对该当前块进行预测处理,将得到的预测像素信息作为该多个子块的预测像素信息。
作为一种例子,可以将当前块的原始像素信息和该多个子块的预测像素信息做残差处理,得到该当前块的残差信息。
步骤704:根据该多个子块支持的变换方式对该残差信息进行变换,得到变换后的信息。
作为一种示例,若该当前块支持多变换核变换模式,则根据该多个子块对应的变换核对该残差信息进行变换,作为一种示例,当该当前块启动帧内子块划分模式时,该子块对应的变换核对包括DCT2和DCT7;若该当前块的宽高尺寸均大于或等于32,则该子块对应的变换核对包括DCT2。
步骤705:根据变换后的信息,对当前块进行编码生成当前块的编码流。
作为一种示例,若当前块启动帧内子块划分模式,且当前块的目标子块划分方式同时包括垂直划分和水平划分,该编码流中携带第二指示信息,第二指示信息用于指示目标子块划分方式。
也就是说,当该当前块既支持水平划分又支持垂直划分时,为了便于解码端可以解析编码流获知采用的是哪种划分方式,该编码端设备可以将第二指示信息编码至编码流中,以通过该第二指示信息指示当前块的目标子块划分方式。
作为一种示例,若当前块启动帧内子块划分模式,则该编码流中携带第三指示信息,该第三指示信息用于指示该当前块启动帧内子块划分模式。
也就是说,当编码端启动帧内子块划分模式时,可以将第三指示信息编码至编码流中,该第三指示信息可以使得解码端解析出当前块是采用ISP模式处理的,示例性的,该第三指示信息可以为ISP模式的flag。
表7
作为一种示例,请参考表7,若不支持或者不启动ISP模式时,不需要传递该第三指示信息,此时针对该第三指示信息的编码比特可以为0。当当前块启动ISP模式且当前块仅支持水平划分或垂直划分时,此时针对第三指示信息可以采用1个比特进行编码。当当前块启动ISP模式,目标子块划分方式为同时水平划分和垂直划分,并当前块支持水平划分又支持垂直划分时,可以采用2个比特分别表示第二指示信息和第三指示信息。
作为一种示例,按照上下文模型对该第三指示信息进行编码,其中,根据该当前块的宽高比确定该上下文模型,不同的宽高比对应不同的上下文模型。
也就是说,可以根据该当前块的尺寸来确定用于对ISP模式的flag编码的上下文模型。作为一种示例,还可以根据该当前块的形状、宽高比来确定用于对ISP模式的flag编码的上下文模型。
作为一种示例,对该第三指示信息进行编码的实现可以包括:该第三指示信息的编码顺序先于多行预测技术的编码顺序。
也即是,可以通过修改语法来调整ISP模式的flag与其他预测模式(比如多行预测模式)的标志的编码顺序,使得编码端设备在编码时先对ISP模式的flag进行编码,示例性的,将该ISP模式的flag编码至多行预测模式的标志的前面,使得解码端可以先解析到ISP模式的flag。作为一种例子,对于帧内多行预测模式不支持4*4尺寸的图像块,如果是4*4的图像块不编与多行预测模式相关的语法元素,解码端也不需要解与多行预测模式相关的语法元素。
作为一种示例,该编码流中携带第五指示信息,该第五指示信息用于指示该当前块或者该当前块的子块是否存在残差信息。
在编码时,可以采用第五指示信息来指示该当前块或者该当前块的子块是否存在残差信息,示例性的,该第五指示信息为是否存在残差信息的CBF(Coded block flag,编码块标识)值的标志。
作为一种示例,若该编码流中携带第五指示信息,该第五指示信息用于指示该当前块或者该当前块的多个个子块是否存在残差信息,在生成该编码流之前该方法还包括:按照上下文模型对该第五指示信息进编码;该上下文模型根据该多个子块的划分深度来确定,该多个子块的划分深度为0时,采用第一上下文模型,该多个子块的划分深度不为0时,采用第二上下文模型,第一上下文模型与第二上下文模型不同。
作为一种示例,对于当前块的残差编码的CBF的上下文模型是根据变换块的划分深度来选择,而不是根据前一个子块的CBF值进行选择,如此可以避免上下文模型选择需要依赖前后子块的相关性这一问题。
作为一种示例,根据该多个子块对该残差信息进行变换之后,该方法还包括:对变换后的信息进行量化处理,量化处理后的数据进行反量化、反变换处理,得到反变换结果;基于反变换结果确定当前块的重构图像;对该重构图像进行滤波;其中,对该重构图像进行滤波,包括:当该当前块启动帧内子块划分模式时,根据该目标子块划分方式,确定子块的边界滤波强度;根据滤波强度值,对该重构图像进行滤波。
在编码端,还可以基于变换后的信息确定重构图像之后,可以通过滤波器对重构图像进行滤波处理,滤波器的边界滤波强度是基于多个子块的尺寸确定,边界滤波强度用于对多个子块的边界进行滤波。
作为一种示例,根据该当前块的目标子块划分方式,确定子块的边界滤波强度,包括:当该目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度设置为0;或者,当该目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度设置为0;或者,将各个子块的水平边界和垂直边界的滤波强度都设置为0。
也就是说,可以根据目标子块划分方式,设置各个子块的边界滤波强度,或者,直接将各个子块的水平边界和垂直边界的滤波强度都设置为0,其中,“0”表示滤波,非“0”表示不滤波。
作为一种示例,可以根据当前块的宽度或高度设置多个子块的变换块的边界滤波强度,示例性的,当该当前块的宽度或高度大于一定阈值时,将该多个子块的变换块的边界滤波强度设置为非0。否则,将该多个子块的变换块的边界滤波强度设置为0。该阈值可以根据实际需求进行设置,作为一种示例,该阈值可以为32。
作为一种示例,还可以根据当前块的形状来设置多个子块的变换块的边界滤波强度,本申请实施例对此不作限定。
作为一种示例,可以使用传统的帧内预测方式对当前块进行预测处理,然后可以将使用传统的帧内预测方式得到的预测像素信息与重构图像的像素信息进行加权处理。或者,还可以将使用传统的帧内预测方式得到的预测像素信息与上述ISP模式确定的预测像素信息进行加权,本申请实施例对此不作限定。
作为一种示例,当该当前块启动帧内子块划分,当前块为色度块时,色度块对应的候选预测模式列表中,包括的跨分量线性模型预测的预测模式的优先级高于加入到该候选预测模式列表中的亮度预测模式,亮度预测模式是当前块是亮度块时,亮度块支持的候选预测模式列表中的预测模式。
对于多通道图像来说,包括亮度块和色度块,当亮度块使用ISP模式来实现时,可以认为跨分量线性模型能够很好的对色度块进行预测,因此,在使用跨分量线性模型对色度块进行预测的过程中,构建色度块对应的候选预测模式列表,将跨分量线性模型预测的预测模式排至亮度预测模式之前。
在本申请实施例中,当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种划分方式划分后的子块的处理代价较大的问题。
图10是根据一示例性实施例示出的一种编码方法,该方法可以应用于编码端设备中,该方法可以包括如下几个实现步骤:
步骤1001:当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。
其实现过程与图7实施例中的步骤701相同。
步骤1002:从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
对于ISP模式来说,仅会利用候选预测模式列表中的候选预测模式进行预测,因此,编码端设备确定候选预测模式列表。作为一种示例,该候选预测模式列表可以是基于该当前块周围已重建的相邻图像块的帧内预测模式确定,该候选预测模式列表包括多种候选预测模式,且该多种候选预测模式的候选优先权按照在该候选预测模式列表中的先后排列顺序依次降低。
在本申请的一种可能实现方式中,ISP模式的候选预测模式列表的构建方式与非ISP模式的候选预测模式列表的构建方式相同,即可以将ISP模式的候选预测模式列表的构建方式与非ISP模式的候选预测模式列表的构建方式统一。作为一种例子,在候选预测模式列表中planar模式和DC模式处于固定位置。
示例性的,假设该当前块周围已重建的相邻图像块为上边相邻图像块A和左边相邻图像块B,候选预测模式的数量为6。在一种可能的实现方式中,当A或者B的第二帧内预测模式不可获取时,默认其第二帧内预测模式为Planar模式,将A的第二帧内预测模式记为ModeA,B的第二帧内预测模式记为ModeB。首先可以初始化候选预测模式列表,初始化候选预测模式列表中的第一个候选预测模式为ModeA,第二个候选预测模式可以通过判断第一个候选预测模式是否为Planar模式,如果第一个候选预测模式为Planar模式,第二个候选预测模式为DC模式,否则为Planar模式。第三个候选预测模式为垂直帧内预测模式,第四个候选预测模式为水平帧内预测模式,第五个候选预测模式为垂直帧内预测模式的相邻模式,示例性的,模式号可以为垂直帧内预测模式的模式号减4,第六个候选预测模式为垂直帧内预测模式的相邻模式,示例性的,模式号可以为垂直帧内预测模式的模式号加4。
作为一种示例,当ModeA=ModeB,即A的帧内预测模式与B的帧内预测模式相同时:如果ModeA为DC模式或Planar模式,则可以将初始化的候选预测模式列表作为该当前块的候选预测模式列表。否则,如果ModeA和ModeB均不是DC模式和Planar模式,则当前块的候选预测模式列表的构建如下:
第一个候选预测模式为ModeA;
第二个候选预测模式为PLANAR_IDX;
第三个候选预测模式为DC_IDX;
第四个候选预测模式为ModeA的相邻模式,示例性的,模式号的计算方式可以为:((ModeA+offset)%mod)+2;
第五个候选预测模式为ModeA的相邻模式,示例性的,模式号的计算方式可以为:((ModeA-1)%mod)+2;
第六个候选预测模式为ModeA的相邻模式,示例性的,模式号的计算方式可以为:((ModeA+offset-1)%mod)+2;
作为一种示例,上述offset可以设为61,mod可以设为64。
作为一种示例,当ModeA!=ModeB,即A的帧内预测模式与B的帧内预测模式不相同时,当前块的候选预测模式列表的构建如下:
第一个候选预测模式为ModeA;
第二个候选预测模式为ModeB;
如果ModeA和ModeB均不是Planar和DC模式,那么
第三个候选预测模式为PLANAR_IDX;
第四个候选预测模式为DC_IDX;
作为一种示例,可以比较ModeA和ModeB的模式号的差值,当差值在某一个区间范围内时,第五个候选预测模式为两个模式中模式号较大的那一个模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]+offset)%mod)+2;
第六个候选预测模式为两个模式中模式号较大的那一个模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]-1)%mod)+2;
其中,mpm[maxCandModeIdx]为ModeA和ModeB中模式号较大的那一个。
否则,当ModeA和ModeB的模式号的差值不在某一个区间范围内时,第五个候选预测模式为两个模式中模式号较大的那一个模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]+offset-1)%mod)+2;
第六个候选预测模式为两个模式中模式号较大的那一个模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx])%mod)+2;
其中,CandModeList[maxCandModeIdx]为ModeA和ModeB中模式号较大的那一个。可以简单理解为取的是相邻的帧内预测模式。
否则,当ModeA与ModeB的模式号总和大于等于2,即有且仅有一个大于等于2的情况下,必然出现DC模式或者planar模式,前两个候选预测模式可能存在两种情况DC模式和角度模式的组合,planar模式和角度模式的组合。
第二个候选预测模式为planar模式或DC模式,示例性的,模式号的计算方式可以为:(CandModeList[!maxCandModeIdx]==PLANAR_IDX)?DC_IDX:PLANAR_IDX;其中,CandModeList[!maxCandModeIdx]为前两个候选预测模式中模式号较小的那一个。
第三个候选预测模式为前两个候选预测模式中模式号较大的候选预测模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]+offset)%mod)+2;
第五个候选预测模式为前两个候选预测模式中模式号较大的候选预测模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]-1)%mod)+2;
第六个候选预测模式为前两个候选预测模式中模式号较大的候选预测模式的相邻模式,示例性的,模式号的计算方式可以为:((CandModeList[maxCandModeIdx]+offset-1)%mod)+2。
总而言之,上述核心思想是选取与ModeA或者ModeB相邻的帧内预测模式作为该当前块的候选预测模式。
需要说明的是,上述相邻图像块可以是相邻区域内的一个或多个图像块,比如可以包括次相邻图像块。
在候选预测模式列表中,排序越靠前,候选优先权越大,对应的编码代价越小。在本申请一种可能的实现方式中,可以按照划分方式来确定候选预测模式列表中的候选预测模式的先后排列顺序。作为一种示例,若该当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么当该当前块支持的划分方式为水平划分时,将该垂直类预测模式位于该水平类预测模式之前;当该当前块支持的划分方式为垂直划分时,将该水平类预测模式位于该垂直类预测模式之前。
在本申请的一种可能实现方式中,该候选预测模式列表可以是固定的列表,示例性的,若该当前块尺寸小于设定尺寸,则该帧内子块划分模式支持的候选预测模式列表为固定列表,该固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
也就是说,可以采用固定的候选列表作为该当前块的候选预测模式。
作为一种示例,该固定的第一预测模式候选列表可以为:
第一个候选预测模式:planar模式
第二个候选预测模式:DC模式
第三个候选预测模式:垂直模式
第四个候选预测模式:水平模式
第五个候选预测模式:垂直模式的相邻模式,模式号优选为垂直模式号减4
第六个候选预测模式:垂直模式的相邻模式,模式号优选为垂直模式号加4。
作为另一种示例,该固定的第二预测模式候选列表可以为:
第一个候选预测模式:垂直类预测模式,示例性的,模式号可以为50;
第二个候选预测模式:水平类预测模式,示例性的,模式号可以为18;
第三个候选预测模式:水平类预测模式,示例性的,模式号可以为2;
第四个候选预测模式:对角模式,示例性的,模式号可以为34;
第五个候选预测模式:反对类模式,示例性的,模式号可以为66;
第六个候选预测模式:水平类预测模式,示例性的,模式号可以为26。
作为一种示例,当该当前块启动帧内子块划分模式,若该当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是该当前块的空域相邻已编码块共用的候选预测模式列表。
作为一种示例,参考范围内的多个当前块可以共享一种候选预测模式列表,该参考范围可以根据实际需求进行设置。也就是说,该当前块可以与相邻的多个当前块共同使用一种候选预测模式列表,譬如请参考图11,若该当前块为图像块1,则可以基于相邻图像块的帧内预测模式确定该当前块的候选预测模式列表,而当该当前块为图像块2、3或4时,可以使用该图像块1的候选预测模式列表。需要说明的是,该种实现方式不限于ISP模式中,也可以应用于其他模式,比如可以应用于多行预测模式中,本申请实施例对此不作限定。作为一种示例,还可以获取相邻块的候选预测模式列表,将获取的候选预测模式列表作为该当前块的候选预测模式列表。作为一种示例,当获取不到相邻块的候选预测模式列表时,可以将Planar模式作为该当前块的目标预测模式。
作为一种示例,当该当前块的尺寸小于设定尺寸时,该当前块可以与该待编码图像中其他所有当前块共享一种候选预测模式列表,该设定尺寸可以根据实际需求进行设置,示例性的,该设定尺寸为4*4。也就是说,如果该当前块的尺寸足够小,则可以与该待编码图像中的其他所有当前块共用一种候选预测模式列表,在该种情况下,只需要确定该待编码图像中的第一个块的候选预测模式列表,后续其他当前块均可以使用该第一个块的候选预测模式列表,如此减小了运算量,提高了编码效率。
作为一种示例,当当前块未启动帧内子块划分模式时,当前块对应的候选预测模式列表与上述固定列表或者当前块的空域相邻已编码块共用的候选预测模式列表相同。也就是说,在未启动帧内子块划分模式时,可以使用上述任一示例的帧内子块划分模式支持的候选预测模式列表。
构建候选预测模式列表后,基于该候选预测模式列表,确定目标预测模式,在本申请一种可能的实现方式中,该实现过程可以包括:使用该候选预测模式列表中的每种候选预测模式对该多个子块进行预测处理,得到每种候选预测模式对应的多个预测像素值;基于该每种候选预测模式对应的多个预测像素值,确定该每种候选预测模式对应的率失真代价;从得到的所有率失真代价中选择最小率失真代价对应的候选预测模式;将选择的候选预测模式确定为目标预测模式。
也就是说,该多个子块可以共享一种帧内预测模式,编码端设备可以遍历使用该候选预测模式列表中的每种候选预测模式对该多个子块进行预测处理,如此,基于每种候选预测模式,可以确定该多个子块中每个子块的预测像素值。然后可以确定每种候选预测模式对应的多个预测像素值的率失真代价,率失真代价越小说明对应的候选预测模式越适合对该多个子块的预测,因此,选择最小率失真代价对应的候选预测模式作为目标预测模式。
譬如,假设该候选预测模式列表包括候选预测模式0,候选预测模式1,候选预测模式2和候选预测模式3,编码端设备使用候选预测模式0对该多个子块进行预测处理,得到候选预测模式0对应的多个预测像素值;使用候选预测模式1对该多个子块进行预测处理,得到候选预测模式1对应的多个预测像素值;使用候选预测模式2对该多个子块进行预测处理,得到候选预测模式2对应的多个预测像素值;以及使用候选预测模式3对该多个子块进行预测处理,得到候选预测模式3对应的多个预测像素值。编码端设备基于候选预测模式0对应的多个预测像素值确定该候选预测模式0对应的率失真代价,基于候选预测模式1对应的多个预测像素值确定该候选预测模式1对应的率失真代价,基于候选预测模式2对应的多个预测像素值确定该候选预测模式2对应的率失真代价,基于候选预测模式3对应的多个预测像素值确定该候选预测模式3对应的率失真代价。假设候选预测模式1对应的率失真代价最小,则该编码端设备将候选预测模式1确定为目标预测模式。
步骤1003:根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。
其实现过程与上述图7实施例中的步骤703相同。
步骤1004:根据该多个子块支持的变换方式对该残差信息进行变换,得到变换后的信息。
其实现过程与上述图7实施例中的步骤704相同。
步骤1005:根据变换后的信息,对当前块进行编码生成当前块的编码流。
作为一种示例,该编码流中携带第一指示信息,该第一指示信息用于指示该目标预测模式在该候选预测模式列表中的索引信息。
当候选预测模式列表中包括多个候选预测模式时,为了便于解码端获知编码时采用的是哪种帧内预测模式,该编码端设备可以根据该目标预测模式在该候选预测模式列表中的索引信息,确定第一指示信息,将该第一指示信息编码至编码流中。
作为一种示例,该编码端设备可以根据该当前块的尺寸或形状,选取用于编码第一指示信息的上下文模型,然后基于选择的上下文模型来对该第一指示信息进行编码。
需要说明的是,该步骤还包括图7实施例中步骤705的其它可能的实现方式,这里不再重复赘述。
在本申请实施例中,在本申请实施例中,当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种划分方式划分后的子块的处理代价较大的问题。
图12是根据一示例性实施例示出的一种编码方法,该编码方法可以应用于编码端设备中,该方法可以包括如下几个实现步骤:
步骤1201:当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。
其实现过程与图7实施例中的步骤701相同。
步骤1202:从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
当该当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;作为一种示例,该非角度候选模式列表仅包括Planar模式或仅包括DC模式,该角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者,该非角度候选模式列表包括Planar模式和DC模式,该角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
也就是说,可以将角度预测模式和非角度预测模式分别划分为属于两个列表,在构建当前块的候选预测模式列表时,可以构建角度候选预测模式列表,或者,还可以构建非角度候选预测模式列表。
作为一种示例,该非角度候选预测模式列表可以仅包括Planar模式,或者,仅包括DC模式,而角度候选预测模式列表包括至少一个角度预测模式,比如,可以包括至少一个垂直类预测模式,或者也可以包括至少一个水平类预测模式,再或者,还可以包括至少一个垂直类预测模式和至少一个水平类预测模式。
作为另一种示例,该非角度候选预测模式列表可以包括Planar模式和DC模式,而角度候选预测模式列表包括至少一个角度预测模式,比如,可以包括至少一个垂直类预测模式,或者也可以包括至少一个水平类预测模式,再或者,还可以包括至少一个垂直类预测模式和至少一个水平类预测模式。
从角度预测模式或非角度预测模式中确定当前块的目标预测模式的具体实现与上述图10中从候选预测模式列表中确定当前块的目标预测模式的实现原理相同。
作为一种示例,当当前块未启动帧内子块划分模式时,当前块对应的候选预测模式列表与角度预测模式或非角度预测模式相同。也就是说,在未启动帧内子块划分模式时,可以使用上述任一候选预测模式列表。
步骤1203:根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。
其实现过程与图7实施例中的步骤703相同。
步骤1204:根据该多个子块支持的变换方式对该残差信息进行变换,得到变换后的信息。
其实现过程与图7实施例中的步骤704相同。
步骤1205:根据变换后的信息,对当前块进行编码生成当前块的编码流。
作为一种示例,若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,该编码流中携带第四指示信息,该第四指示信息用于指示该当前块的目标预测模式是否为角度预测模式。
也就是说,当该帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表时,最终选用的目标子块划分方式可能是来自于角度候选预测模式列表,也可能是来自于非角度候选模式列表,为了便于解码端获知需要建立角度候选预测模式列表,还是需要建立非角度候选模式列表,编码端设备在编码时,除了将第一指示信息编码至编码流中外,还可以在编码流中增加该第四指示信息。
需要说明的是,该步骤还包括图7实施例中步骤705的其它可能的实现方式,这里不再重复赘述。
在本申请实施例中,当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种划分方式划分后的子块的处理代价较大的问题。
请参考图13,图13是根据一示例性实施例示出的一种解码方法的流程图,本实施例以该解码方法应用于解码端设备中进行举例说明,该解码方法可以包括如下几个步骤:
步骤1301:获取当前块的编码流。
作为一种示例,该解码端设备可以接收编码器发送的编码流,作为另一种示例,也可以从存储装置中读取编码流。
步骤1302:根据该编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
作为一种示例,该解码端设备解析该编码流中携带的当前块的宽度和高度,根据该宽度和高度,判断是否支持帧内子块划分模式,当确定不支持帧内子块划分模式时,确定未启动帧内子块划分模式,此时可以采用其它模式解码,比如多行预测模式等。否则,当确定支持帧内子块划分模式时,再进一步确定编码端是否开启帧内子块划分模式。
作为一种示例,若当前块启动帧内子块划分模式,则该编码流中携带第三指示信息,该第三指示信息用于指示该当前块启动帧内子块划分模式,此时,按照上下文模型解析该编码流中的该第三指示信息;其中,根据该当前块的宽高比确定该上下文模型,不同的宽高比对应不同的上下文模型。
也就是说,如果编码端启动帧内子块划分模式,会在编码流中添加第三指示信息,比如,该第三指示信息为ISP模式的flag,该解码端设备确定当前块支持帧内子块划分模式后,解析该第三指示信息,当存在该第三指示信息时,可以确定启动帧内子块划分模式。
作为一种示例,在解析第三指示信息时,可以根据当前块的宽高比确定该上下文模型,也就是说,可以根据当前块的尺寸,确定上下文模型,并根据确定的上下文模型来解析该第三指示信息。
作为一种示例,在解析第三指示信息时,还可以根据当前块的形状确定该上下文模型,也就是说,不仅限于根据当前块的宽高比确定该上下文模型,还可以考虑根据形状来确定。
作为一种示例,该第三指示信息的解析顺序先于多行预测技术的编码顺序。
在一种可能的实施方式中,可以修改多行预测技术的intra_luma_ref_idx语法与intra_subpartitions_mode_flag语法的先后顺序,使得第三指示信息的解析顺序先于多行预测技术的编码顺序,比如将原表8中的代码改为表9所示:
表8
表9
当确定当前块启动帧内子块划分模式时,编码流中可以没有携带第二指示信息,该解码端设备从当前块支持的子块划分方式中确定目标子块划分方式。作为一种示例,当确定该当前块仅支持一种划分方式时,可以直接将所支持的该种划分方式确定为该目标子块划分方式,比如当该当前块仅支持水平划分时,可以直接将水平划分确定为该目标子块划分方式,比如当该当前块仅支持垂直划分方式时,可以直接将该垂直划分方式确定为该目标子块划分方式。
在另一种可能的实现方式中,若当前块启动帧内子块划分模式,且该当前块的目标子块划分方式同时包括垂直划分和水平划分,则该编码流中还携带第二指示信息,该第二指示信息用于指示该目标子块划分方式;该方法还包括:按照上下文模型解析该编码流中的该第二指示信息;其中,根据该当前块的宽高比确定该上下文模型,不同的宽高比对应不同的上下文模型。
也就是说,当当前块启动帧内子块划分模式,该当前块既支持水平划分又支持垂直划分,该编码流中除了第三指示信息,还包括第二指示信息,该第二指示信息用于指示编码端采用的划分方式。对于解码端来说,解码端设备确定该当前块既支持水平划分又支持垂直划分时,解析该编码流中的第二指示信息,将该第二指示信息指示的划分方式确定为该目标子块划分方式。
在解析该第二指示信息时,可以根据该当前块的宽高比确定该上下文模型,也就是说,可以根据当前块的尺寸,确定上下文模型,并根据确定的上下文模型来解析该第二指示信息。
作为一种示例,在解析第二指示信息时,还可以根据当前块的形状确定该上下文模型,也就是说,不仅限于根据当前块的宽高比确定该上下文模型,还可以考虑根据形状来确定。
另外,该编码端设备从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式。
作为一种示例,当该候选预测模式列表中仅包括一种候选预测模式时,可以不指示使用该种候选预测模式作为该目标预测模式。比如,当该候选预测模式列表仅包括Planar模式时,可以将该Planar模式作为该目标预测模式。作为另一种示例,当该目标子块划分方式为水平划分时,该候选预测模式列表仅包括水平模式,此时,将该水平模式确定为该目标预测模式。作为另一种示例,当该该目标子块划分方式为垂直划分时,该候选预测模式列表仅包括垂直模式,此时,将该垂直模式确定为该目标预测模式。
作为另一种示例,该编码流中携带第一指示信息,该第一指示信息用于指示该目标预测模式在该候选预测模式列表中的索引信息。
也就是说,当该候选预测模式列表中包括多个候选预测模式时,还可以从编码流的信息中解析目标预测模式在候选预测模式列表中的索引信息,根据该索引信息,从该多个候选预测模式列表中确定该目标预测模式。
作为一种示例,在解码第一指示信息之前,还可以根据该当前块的形状或尺寸,确定上下文模型,并基于确定的上下文模型,解析该第一指示信息。
作为一种示例,若当前块启动帧内子块划分模式,该当前块支持的子块划分方式,包括:若当前块的宽高尺寸为4*N,N大于4,则该当前块支持的子块划分方式为水平划分;若当前块的宽高尺寸为8*N,N大于或等于4,则该当前块支持的子块划分方式为水平划分;或者,该当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
作为一种示例,若当前块的宽高尺寸为64*64,则该当前块不支持帧内子块划分模式。
作为一种示例,若当前块启动帧内子块划分模式,该当前块支持的候选子块划分方式,包括:若当前块的宽高尺寸为4*16或4*32或8*32,则该当前块不支持垂直划分,仅支持水平划分;若当前块的宽高尺寸为16*4或32*4或32*8,则该当前块不支持水平划分,仅支持垂直划分。
作为一种示例,若当前块启动帧内子块划分模式,该多个子块是按照非均匀划分得到;或者该多个子块是按照均匀划分得到;或者,若当前块启动帧内子块划分模式,该多个子块是按照多级划分得到。
作为一种示例,当该当前块启动帧内子块划分模式时,该当前块的候选预测模式列表包括:若该当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么当该当前块支持的划分方式为水平划分时,将该垂直类预测模式位于该水平类预测模式之前;当该当前块支持的划分方式为垂直划分时,将该水平类预测模式位于该垂直类预测模式之前。
作为一种示例,当该当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;其中,该固定列表仅包括Planar预测模式;或者,若该当前块的目标子块划分方式为水平划分,则该固定列表仅包括水平模式;或者,若该当前块的目标子块划分方式为垂直划分,则该固定列表仅包括垂直模式。
作为一种示例,当该当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;其中,该非角度候选模式列表仅包括Planar模式或仅包括DC模式,该角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者该非角度候选模式列表包括Planar模式和DC模式,该角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
作为一种示例,当该当前块启动帧内子块划分模式,若该当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是该当前块的空域相邻已编码块共用的候选预测模式列表。
作为一种示例,当该当前块启动帧内子块划分模式,若该当前块尺寸小于设定尺寸,则该帧内子块划分模式支持的候选预测模式列表为固定列表,该固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
作为一种示例,当该当前块未启动帧内子块划分模式时,当前块对应的该候选预测模式列表与该帧内子块划分模式支持的候选预测模式列表相同。
需要说明的是,该候选预测模式列表的构建与编码端的构建方式相同,这里不再重复赘述。
作为一种示例,若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,该编码流中携带第四指示信息,该第四指示信息用于指示该当前块的目标预测模式是否为角度预测模式。
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,对于解码端来说需要确定该目标预测模式是来自哪个列表中,解码端设备解析该第四指示信息。比如,当该第四指示信息指示的是角度候选预测模式列表,则构建角度候选预测模式列表,从而基于该角度候选预测模式列表和该第一指示信息,确定该目标预测模式。当该,第四指示信息指示的是非角度候选模式列表,则构建非角度候选预测模式列表,从而基于该非角度候选预测模式列表和该第一指示信息,确定该目标预测模式。也可以直接基于第一指示信息,从已经构建的角度候选预测模式列表或非角度候选预测模式列表中选择目标预测模式,如果目标预测模式不是默认的一个,而是角度候选预测模式列表或非角度候选预测模式列表多个预测模式中的一个,也可以通过解析编码流中携带的索引信息来确定目标预测模式。
作为一种示例,该编码流中携带第五指示信息,该第五指示信息用于指示该当前块或者该当前块的子块是否存在残差信息。该方法还包括:按照上下文模型解析该第五指示信息;该上下文模型根据该多个子块的划分深度来确定,该多个子块的划分深度为0时,采用第一上下文模型,该多个子块的划分深度不为0时,采用第二上下文模型,该第一上下文模型与该第二上下文模型不同。
作为一种示例,在编码时,可以采用第五指示信息来指示该当前块或者该当前块的子块是否存在残差信息,示例性的,该第五指示信息为CBF(Coded block flag,编码块标识)值的标志,解码端会解析第五指示信息,以确定是否存在残差信息。譬如,假设给定了一个块为ISP块,解码端会认为至少包含一个非零的CBF块,基于此,如果有n个子块,但是前n-1个子块都为零CBF,那么最后一行的子块的CBF默认为1,该种情况下,编码端可以不传输最后一个子块的CBF值。
在解析该第五指示信息时,根据该多个子块的划分深度来确定上下文模型,该第一上下文模型与该第二上下文模型不同。值得一提的是,对于当前块的残差解码的CBF的上下文模型是根据变换块的划分深度来选择,而不是根据前一个子块的CBF值进行选择,如此可以避免上下文模型选择需要依赖前后子块的相关性这一问题。
步骤1303:按照该目标子块划分方式,将该当前块划分成多个子块。
具体实现方式与编码端实现方式相同,这里不再重复赘述。
步骤1304:根据该多个子块对该编码流进行反量化和反变换,得到该多个子块对应的残差信息。
该过程与编码端的变换、量化过程相反,如此可以确定该多个子块的残差信息,以便于根据该残差信息重构图像。
步骤1305:根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息。
在一种实施例中,可以根据该目标预测模式对该多个子块分别进行帧内预测,得到该多个子块的预测像素信息。在另一种实现方式中,也可以根据该目标预测模式对当前块进行帧内预测,得到该多个子块的预测像素信息。
步骤1306:根据该多个子块对应的残差信息和该预测像素信息,确定该当前块的重构图像。
作为一种示例,得到重构图像后,可以使用滤波器对子块的边界进行滤波。作为一种示例,当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度,根据滤波强度值,对所述重构图像进行滤波。
作为一种示例,根据所述当前块的目标子块划分方式,确定子块的边界滤波强度的实现可以包括:当目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度设置为0;或者,当目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度设置为0;或者,将各个子块的水平边界和垂直边界的滤波强度都设置为0。
也就是说,可以根据目标子块划分方式,设置各个子块的边界滤波强度,或者,直接将各个子块的水平边界和垂直边界的滤波强度都设置为0,其中,“0”表示滤波,非“0”表示不滤波。
作为一种示例,可以根据当前块的宽度或高度设置多个子块的变换块的边界滤波强度(如图14),示例性的,当该当前块的宽度或高度大于一定阈值时,将该多个子块的变换块的边界滤波强度设置为非0,比如设置为32。否则,将该多个子块的变换块的边界滤波强度设置为0。
作为一种示例,还可以根据当前块的形状来设置多个子块的变换块的边界滤波强度,本申请实施例对此不作限定。
作为一种示例,可以使用传统的帧内预测方式对当前块进行预测处理,然后可以将使用传统的帧内预测方式得到的预测像素信息与重构图像的像素信息进行加权处理。或者,还可以将使用传统的帧内预测方式得到的预测像素信息与上述ISP模式确定的预测像素信息进行加权,本申请实施例对此不作限定。
作为一种示例,当该当前块启动帧内子块划分,色度块对应的候选预测模式列表中,包括的跨分量线性模型预测的预测模式的优先级高于加入到该候选预测模式列表中的亮度预测模式。
对于多通道图像来说,包括亮度块和色度块,当亮度块使用ISP模式来实现时,可以认为跨分量线性模型能够很好的对色度块进行预测,因此,在使用跨分量线性模型对色度块进行预测的过程中,构建色度块对应的候选预测模式列表,将跨分量线性模型预测的预测模式排至亮度预测模式之前。
图15是根据一示例性实施例示出的一种编码装置的结构示意图,该编码装置可以由软件、硬件或者两者的结合实现。该编码装置可以包括:
第一确定模块1510,用于当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照所述目标子块划分方式,将所述当前块划分成多个子块;
第二确定模块1520,用于从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
第一预测模块1530,用于根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息,根据当前块的原始像素信息和所述多个子块的预测像素信息确定所述当前块的残差信息;
变换模块1540,用于根据所述多个子块支持的变换方式对所述残差信息进行变换,得到变换后的信息;
编码模块1550,用于根据所述变换后的信息,对所述当前块进行编码生成当前块的编码流。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
在本申请一种可能的实现方式中,
当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与上述任一项所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,
所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,且所述当前块的目标子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式。
在本申请一种可能的实现方式中,所述编码模块还用于:
按照上下文模型对所述第三指示信息进行编码;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,所述第三指示信息的编码顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息。
在本申请一种可能的实现方式中,若所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个个子块是否存在残差信息,所述编码模块还用于:
按照上下文模型对所述第五指示信息进编码;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,所述变换模块还用于:
对变换后的信息进行量化处理,量化处理后的数据进行反量化、反变换处理,得到反变换结果;
基于反变换结果确定当前块的重构图像;
对所述重构图像进行滤波;
其中,对所述重构图像进行滤波,包括:
当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度;
根据滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,所述变换模块还用于:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度都设置为0。
在本申请实施例中,当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照该目标子块划分方式,将该当前块划分成多个子块。从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式,根据该目标预测模式进行帧内子块预测得到该多个子块的预测像素信息,根据当前块的原始像素信息和该多个子块的预测像素信息确定该当前块的残差信息。根据该多个子块支持的变换方式对该残差信息进行变换,根据该变换后的信息,对该当前块进行编码生成当前块的编码流。在本申请实施例中,当前块支持的划分方式不都是水平划分和垂直划分,如此可以避免硬件对某种划分方式划分后的子块的处理代价较大的问题。
图16是根据一示例性实施例示出的一种解码装置的结构示意图,该解码装置可以由软件、硬件或者两者的结合实现。该解码装置可以包括:
获取模块1610,用于获取当前块的编码流;
第三确定模块1620,用于根据所述编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;
子块划分模块1630,用于按照所述目标子块划分方式,将所述当前块划分成多个子块;
反量化变换模块1640,用于根据所述多个子块对所述编码流进行反量化和反变换,得到所述多个子块对应的残差信息;
第二预测模块1650,用于根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息;
第四确定模块1660,用于根据所述多个子块对应的残差信息和所述预测像素信息,确定所述当前块的重构图像。
作为一种示例,若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
作为一种示例,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
作为一种示例,若当前块启动帧内子块划分模式,所述当前块支持的候选子块划分方式,包括:
若当前块的宽高尺寸为4*16或4*32或8*32,则所述当前块不支持垂直划分,仅支持水平划分;
若当前块的宽高尺寸为16*4或32*4或32*8,则所述当前块不支持水平划分,仅支持垂直划分。
作为一种示例,若当前块启动帧内子块划分模式,所述多个子块是按照非均匀划分得到;或者所述多个子块是按照均匀划分得到;或者,
若当前块启动帧内子块划分模式,所述多个子块是按照多级划分得到。
作为一种示例,当所述当前块启动帧内子块划分模式时,所述当前块的候选预测模式列表包括:
若所述当前块启动帧内子块划分,帧内子块划分对应的候选预测模式列表如果包括垂直类预测模式和水平类预测模式,那么
当所述当前块支持的划分方式为水平划分时,将所述垂直类预测模式位于所述水平类预测模式之前;
当所述当前块支持的划分方式为垂直划分时,将所述水平类预测模式位于所述垂直类预测模式之前。
作为一种示例,当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
作为一种示例,当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
作为一种示例,当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
作为一种示例,当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
作为一种示例,当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与所述帧内子块划分模式支持的候选预测模式列表相同。
在本申请一种可能的实现方式中,所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
在本申请一种可能的实现方式中,若当前块启动帧内子块划分模式,且所述当前块的目标子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式;
所述方法还包括:
按照上下文模型解析所述编码流中的所述第二指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式;所述方法还包括:
按照上下文模型解析所述编码流中的所述第三指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
在本申请一种可能的实现方式中,所述第三指示信息的解析顺序先于多行预测技术的编码顺序。
在本申请一种可能的实现方式中,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
在本申请一种可能的实现方式中,所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息;所述反量化变换模块用于:
按照上下文模型解析所述第五指示信息;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
在本申请一种可能的实现方式中,当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,所述第四确定模块用于;
根据滤波强度值,对所述重构图像进行滤波。
在本申请一种可能的实现方式中,所述第四确定模块用于:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度都设置为0。
需要说明的是,上述多行预测技术是指将当前块的相邻块已重建的多行和/或多列作为参考像素值,或者,将当前块的相邻块已重建的一行和/或一列作为参考像素值,比如,请参考图17,可以采用参考行0、1、2或3中的任意一行作为该当前块的参考像素值。
作为一种示例,对于非ISP模式的帧内预测,当当前块的尺寸为4*4时,可以仅使用候选预测模式列表中的候选预测模式,而不会使用除候选预测模式列表之外的其它预测模式。作为一种示例,当当前块的尺寸为4*4时,还可以获取相邻块的候选预测模式列表,将获取的候选预测模式列表作为该当前块的候选预测模式列表。作为一种示例,当获取不到相邻块的候选预测模式列表时,可以将Planar模式作为该当前块的目标预测模式。
作为一种示例,对于ISP模式或非ISP模式的帧内预测,可以固定将Planar模式作为候选预测模式列表的第一个候选预测模式。
需要说明的是:上述实施例提供的装置在实现方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图18示出了本申请一个示例性实施例提供的终端1700的结构框图。该终端1700可以是:笔记本电脑或台式电脑。终端1700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1700包括有:处理器1701和存储器1702。
处理器1701可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1701所执行以实现本申请中方法实施例提供的方法。
在一些实施例中,终端1700还可选包括有:外围设备接口1703和至少一个外围设备。处理器1701、存储器1702和外围设备接口1703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1703相连。示例性的,外围设备包括:射频电路1704、触摸显示屏1705、摄像头1706、音频电路1707、定位组件1708和电源1709中的至少一种。
外围设备接口1703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1701和存储器1702。在一些实施例中,处理器1701、存储器1702和外围设备接口1703被集成在同一芯片或电路板上;在一些其他实施例中,处理器1701、存储器1702和外围设备接口1703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。在一些实施例中,射频电路1704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1705用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1705是触摸显示屏时,显示屏1705还具有采集在显示屏1705的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1701进行处理。此时,显示屏1705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1705可以为一个,设置终端1700的前面板;在另一些实施例中,显示屏1705可以为至少两个,分别设置在终端1700的不同表面或呈折叠设计;在再一些实施例中,显示屏1705可以是柔性显示屏,设置在终端1700的弯曲表面上或折叠面上。甚至,显示屏1705还可以设置成非矩形的不规则图形,也即异形屏。显示屏1705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1706用于采集图像或视频。作为一种例子,摄像头组件1706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1707可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1701进行处理,或者输入至射频电路1704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1701或射频电路1704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1707还可以包括耳机插孔。
定位组件1708用于定位终端1700的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1708可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源1709用于为终端1700中的各个组件进行供电。电源1709可以是交流电、直流电、一次性电池或可充电电池。当电源1709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1700还包括有一个或多个传感器1710。该一个或多个传感器1710包括但不限于:加速度传感器1711、陀螺仪传感器1717、压力传感器1713、指纹传感器1714、光学传感器1715以及接近传感器1716。
加速度传感器1711可以检测以终端1700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1711可以用于检测重力加速度在三个坐标轴上的分量。处理器1701可以根据加速度传感器1711采集的重力加速度信号,控制触摸显示屏1705以横向视图或纵向视图进行用户界面的显示。加速度传感器1711还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1712可以检测终端1700的机体方向及转动角度,陀螺仪传感器1712可以与加速度传感器1711协同采集用户对终端1700的3D动作。处理器1701根据陀螺仪传感器1712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1713可以设置在终端1700的侧边框和/或触摸显示屏1705的下层。当压力传感器1713设置在终端1700的侧边框时,可以检测用户对终端1700的握持信号,由处理器1701根据压力传感器1713采集的握持信号进行左右手识别或快捷操作。当压力传感器1713设置在触摸显示屏1705的下层时,由处理器1701根据用户对触摸显示屏1705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1714用于采集用户的指纹,由处理器1701根据指纹传感器1714采集到的指纹识别用户的身份,或者,由指纹传感器1714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1701授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1714可以被设置终端1700的正面、背面或侧面。当终端1700上设置有物理按键或厂商Logo时,指纹传感器1714可以与物理按键或厂商Logo集成在一起。
光学传感器1715用于采集环境光强度。在一个实施例中,处理器1701可以根据光学传感器1715采集的环境光强度,控制触摸显示屏1705的显示亮度。示例性的,当环境光强度较高时,调高触摸显示屏1705的显示亮度;当环境光强度较低时,调低触摸显示屏1705的显示亮度。在另一个实施例中,处理器1701还可以根据光学传感器1715采集的环境光强度,动态调整摄像头组件1706的拍摄参数。
接近传感器1716,也称距离传感器,通常设置在终端1700的前面板。接近传感器1716用于采集用户与终端1700的正面之间的距离。在一个实施例中,当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变小时,由处理器1701控制触摸显示屏1705从亮屏状态切换为息屏状态;当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变大时,由处理器1701控制触摸显示屏1705从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图18中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行上述各个实施例提供的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个实施例提供的方法。
Claims (26)
1.一种编码方法,其特征在于,所述方法包括:
当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照所述目标子块划分方式,将所述当前块划分成多个子块;
从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;其中,在所述候选预测模式列表中,排序越靠前,候选优先权越大,若当前块启动帧内子块划分模式,且所述候选预测模式列表包括垂直类预测模式和水平类预测模式,那么当当前块支持的子块划分方式为水平划分时,所述垂直类预测模式位于所述水平类预测模式之前;当当前块支持的子块划分方式为垂直划分时,所述水平类预测模式位于所述垂直类预测模式之前;
根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息,根据当前块的原始像素信息和所述多个子块的预测像素信息确定所述当前块的残差信息;
根据所述多个子块支持的变换方式对所述残差信息进行变换,得到变换后的信息;
根据所述变换后的信息,对所述当前块进行编码生成当前块的编码流。
2.如权利要求1所述的方法,其特征在于,
若当前块启动帧内子块划分模式,所述当前块支持的子块划分方式,包括:
若当前块的宽高尺寸为4*N,N大于4,则所述当前块支持的子块划分方式为水平划分;
若当前块的宽高尺寸为8*N,N大于或等于4,则所述当前块支持的子块划分方式为水平划分;或者,所述当前块支持的子块划分方式同时包括垂直划分和水平划分,垂直划分时仅能划分为两个子块。
3.如权利要求1所述的方法,其特征在于,若当前块的宽高尺寸为64*64,则所述当前块不支持帧内子块划分模式。
4.如权利要求1所述的方法,其特征在于,
当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表为预先定义的固定列表;
其中,所述固定列表仅包括Planar预测模式;
或者,若所述当前块的目标子块划分方式为水平划分,则所述固定列表仅包括水平模式;或者,若所述当前块的目标子块划分方式为垂直划分,则所述固定列表仅包括垂直模式。
5.如权利要求1所述的方法,其特征在于,
当所述当前块启动帧内子块划分,帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表;
其中,所述非角度候选模式列表仅包括Planar模式或仅包括DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式;或者
所述非角度候选模式列表包括Planar模式和DC模式,所述角度候选模式列表包括至少一个除Planar模式和DC模式之外的角度预测模式。
6.如权利要求1所述的方法,其特征在于,
当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则帧内子块划分模式支持的候选预测模式列表,是所述当前块的空域相邻已编码块共用的候选预测模式列表。
7.如权利要求1所述的方法,其特征在于,
当所述当前块启动帧内子块划分模式,若所述当前块尺寸小于设定尺寸,则所述帧内子块划分模式支持的候选预测模式列表为固定列表,所述固定列表为包含6个预测模式的第一预测模式列表或第二预测模式列表。
8.如权利要求5至7中任一项所述的方法,其特征在于,
当所述当前块未启动帧内子块划分模式时,当前块对应的所述候选预测模式列表与如权利要求5至7中任一项所述帧内子块划分模式支持的候选预测模式列表相同。
9.如权利要求1所述的方法,其特征在于,
所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
10.如权利要求1所述的方法,其特征在于,
若当前块启动帧内子块划分模式,则所述编码流中携带第三指示信息,所述第三指示信息用于指示所述当前块启动帧内子块划分模式。
11.如权利要求10所述的方法,其特征在于,
若当前块启动帧内子块划分模式,且所述当前块的目标子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式。
12.如权利要求10所述的方法,其特征在于,所述编码流中携带所述第三指示信息时,在生成所述编码流之前还包括:
按照上下文模型对所述第三指示信息进行编码;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
13.如权利要求10所述的方法,其特征在于,
所述对所述第三指示信息进行编码,包括:
所述第三指示信息的编码顺序先于多行预测技术的编码顺序。
14.如权利要求5所述的方法,其特征在于,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
15.如权利要求1所述的方法,其特征在于,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息。
16.如权利要求15所述的方法,其特征在于,
若所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的多个个子块是否存在残差信息,在生成所述编码流之前所述方法还包括:
按照上下文模型对所述第五指示信息进编码;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
17.如权利要求1所述的方法,其特征在于,
所述根据所述多个子块对所述残差信息进行变换之后,所述方法还包括:
对变换后的信息进行量化处理,量化处理后的数据进行反量化、反变换处理,得到反变换结果;
基于反变换结果确定当前块的重构图像;
对所述重构图像进行滤波;
其中,对所述重构图像进行滤波,包括:
当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度;
根据滤波强度值,对所述重构图像进行滤波。
18.一种解码方法,其特征在于,
获取当前块的编码流;
根据所述编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;其中,在所述候选预测模式列表中,排序越靠前,候选优先权越大,若当前块启动帧内子块划分模式,且所述候选预测模式列表包括垂直类预测模式和水平类预测模式,那么当当前块支持的子块划分方式为水平划分时,所述垂直类预测模式位于所述水平类预测模式之前;当当前块支持的子块划分方式为垂直划分时,所述水平类预测模式位于所述垂直类预测模式之前;
按照所述目标子块划分方式,将所述当前块划分成多个子块;
根据所述多个子块对所述编码流进行反量化和反变换,得到所述多个子块对应的残差信息;
根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息;
根据所述多个子块对应的残差信息和所述预测像素信息,确定所述当前块的重构图像。
19.如权利要求18所述的方法,其特征在于,
所述编码流中携带第一指示信息,所述第一指示信息用于指示所述目标预测模式在所述候选预测模式列表中的索引信息。
20.如权利要求18所述的方法,其特征在于,若当前块启动帧内子块划分模式,且所述当前块的目标子块划分方式同时包括垂直划分和水平划分,则所述编码流中还携带第二指示信息,所述第二指示信息用于指示所述目标子块划分方式;
所述方法还包括:
按照上下文模型解析所述编码流中的所述第二指示信息;
其中,根据所述当前块的宽高比确定所述上下文模型,不同的宽高比对应不同的上下文模型。
21.如权利要求18所述的方法,其特征在于,
若帧内子块划分模式支持的候选预测模式列表包括角度候选预测模式列表和非角度候选模式列表,所述编码流中携带第四指示信息,所述第四指示信息用于指示所述当前块的目标预测模式是否为角度预测模式。
22.如权利要求18所述的方法,其特征在于,
所述编码流中携带第五指示信息,所述第五指示信息用于指示所述当前块或者所述当前块的子块是否存在残差信息;所述方法还包括:
按照上下文模型解析所述第五指示信息;
所述上下文模型根据所述多个子块的划分深度来确定,所述多个子块的划分深度为0时,采用第一上下文模型,所述多个子块的划分深度不为0时,采用第二上下文模型,所述第一上下文模型与所述第二上下文模型不同。
23.如权利要求18所述的方法,其特征在于,所述方法还包括:
当所述当前块启动帧内子块划分模式时,根据所述目标子块划分方式,确定子块的边界滤波强度;
根据滤波强度值,对所述重构图像进行滤波。
24.如权利要求23所述的方法,其特征在于,
根据所述当前块的目标子块划分方式,确定子块的边界滤波强度,包括:
当所述目标子块划分方式为垂直划分时,将各个子块的垂直边界的滤波强度设置为0;或者
当所述目标子块划分方式为水平划分时,将各个子块的水平边界的滤波强度设置为0;或者
将各个子块的水平边界和垂直边界的滤波强度都设置为0。
25.一种编码装置,其特征在于,所述装置包括:
第一确定模块,用于当当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,按照所述目标子块划分方式,将所述当前块划分成多个子块;
第二确定模块,用于从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;其中,在所述候选预测模式列表中,排序越靠前,候选优先权越大,若当前块启动帧内子块划分模式,且所述候选预测模式列表包括垂直类预测模式和水平类预测模式,那么当当前块支持的子块划分方式为水平划分时,所述垂直类预测模式位于所述水平类预测模式之前;当当前块支持的子块划分方式为垂直划分时,所述水平类预测模式位于所述垂直类预测模式之前;
第一预测模块,用于根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息,根据当前块的原始像素信息和所述多个子块的预测像素信息确定所述当前块的残差信息;
变换模块,用于根据所述多个子块支持的变换方式对所述残差信息进行变换,得到变换后的信息;
编码模块,用于根据所述变换后的信息,对所述当前块进行编码生成当前块的编码流。
26.一种解码装置,且特征在于,所述装置包括:
获取模块,用于获取当前块的编码流;
第三确定模块,用于根据所述编码流中携带的信息确定当前块启动帧内子块划分模式时,从当前块支持的子块划分方式中确定目标子块划分方式,从当前块的候选预测模式列表的预测模式中确定当前块的目标预测模式;其中,在所述候选预测模式列表中,排序越靠前,候选优先权越大,若当前块启动帧内子块划分模式,且所述候选预测模式列表包括垂直类预测模式和水平类预测模式,那么当当前块支持的子块划分方式为水平划分时,所述垂直类预测模式位于所述水平类预测模式之前;当当前块支持的子块划分方式为垂直划分时,所述水平类预测模式位于所述垂直类预测模式之前;
子块划分模块,用于按照所述目标子块划分方式,将所述当前块划分成多个子块;
反量化变换模块,用于根据所述多个子块对所述编码流进行反量化和反变换,得到所述多个子块对应的残差信息;
第二预测模块,用于根据所述目标预测模式进行帧内子块预测得到所述多个子块的预测像素信息;
第四确定模块,用于根据所述多个子块对应的残差信息和所述预测像素信息,确定所述当前块的重构图像。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910557014.6A CN110234008B (zh) | 2019-03-11 | 2019-03-11 | 编码方法、解码方法及装置 |
CN201910181501.7A CN111698504B (zh) | 2019-03-11 | 2019-03-11 | 编码方法、解码方法及装置 |
CN201910555840.7A CN110267036B (zh) | 2019-03-11 | 2019-03-11 | 一种滤波方法及设备 |
PCT/CN2020/078823 WO2020182158A1 (zh) | 2019-03-11 | 2020-03-11 | 编码方法、解码方法及装置 |
PCT/CN2020/078812 WO2020182157A1 (zh) | 2019-03-11 | 2020-03-11 | 编码方法、解码方法及装置 |
PCT/CN2020/078808 WO2020182154A1 (zh) | 2019-03-11 | 2020-03-11 | 编码方法、解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910181501.7A CN111698504B (zh) | 2019-03-11 | 2019-03-11 | 编码方法、解码方法及装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910555840.7A Division CN110267036B (zh) | 2019-03-11 | 2019-03-11 | 一种滤波方法及设备 |
CN201910557014.6A Division CN110234008B (zh) | 2019-03-11 | 2019-03-11 | 编码方法、解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111698504A CN111698504A (zh) | 2020-09-22 |
CN111698504B true CN111698504B (zh) | 2022-05-20 |
Family
ID=67856132
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910181501.7A Active CN111698504B (zh) | 2019-03-11 | 2019-03-11 | 编码方法、解码方法及装置 |
CN201910557014.6A Active CN110234008B (zh) | 2019-03-11 | 2019-03-11 | 编码方法、解码方法及装置 |
CN201910555840.7A Active CN110267036B (zh) | 2019-03-11 | 2019-03-11 | 一种滤波方法及设备 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910557014.6A Active CN110234008B (zh) | 2019-03-11 | 2019-03-11 | 编码方法、解码方法及装置 |
CN201910555840.7A Active CN110267036B (zh) | 2019-03-11 | 2019-03-11 | 一种滤波方法及设备 |
Country Status (2)
Country | Link |
---|---|
CN (3) | CN111698504B (zh) |
WO (3) | WO2020182157A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698504B (zh) * | 2019-03-11 | 2022-05-20 | 杭州海康威视数字技术股份有限公司 | 编码方法、解码方法及装置 |
CN113422951B (zh) * | 2019-09-20 | 2022-05-31 | 杭州海康威视数字技术股份有限公司 | 一种解码、编码方法、装置及其设备 |
CN110572679B (zh) * | 2019-09-27 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 帧内预测的编码方法、装置、设备及可读存储介质 |
CN112887734B (zh) * | 2019-11-29 | 2024-10-15 | 北京三星通信技术研究有限公司 | 视频图像编解码中进行变换的方法及装置 |
EP4059220A4 (en) * | 2019-12-19 | 2023-04-19 | Huawei Technologies Co., Ltd. | POSITION DEPENDENT PREDICTION COMBINATION METHOD AND APPARATUS |
WO2021045655A2 (en) * | 2019-12-31 | 2021-03-11 | Huawei Technologies Co., Ltd. | Method and apparatus for intra prediction |
CN114520916B (zh) * | 2020-11-19 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、终端设备以及存储介质 |
CN114979655A (zh) * | 2021-02-21 | 2022-08-30 | 腾讯科技(深圳)有限公司 | 视频编解码方法、装置、计算机可读介质及电子设备 |
CN113115042B (zh) * | 2021-03-26 | 2022-06-24 | 中山大学 | 一种基于isp优化的帧内决策方法、装置、设备及介质 |
WO2022227082A1 (zh) * | 2021-04-30 | 2022-11-03 | Oppo广东移动通信有限公司 | 块划分方法、编码器、解码器以及计算机存储介质 |
CN117413515A (zh) * | 2021-06-24 | 2024-01-16 | Oppo广东移动通信有限公司 | 编解码方法、编码器、解码器以及计算机存储介质 |
CN113612992B (zh) * | 2021-07-01 | 2023-11-03 | 杭州未名信科科技有限公司 | 一种针对avs3硬件编码器的快速帧内编码单元的编码方法 |
WO2023083239A1 (zh) * | 2021-11-11 | 2023-05-19 | 杭州海康威视数字技术股份有限公司 | 图像解码方法及装置、图像编码方法及装置 |
CN116800956A (zh) * | 2022-01-07 | 2023-09-22 | 杭州海康威视数字技术股份有限公司 | 图像编解码方法、装置及存储介质 |
CN115379217A (zh) * | 2022-07-14 | 2022-11-22 | 百果园技术(新加坡)有限公司 | 一种视频编码处理方法、装置、设备及存储介质 |
WO2024149247A1 (en) * | 2023-01-09 | 2024-07-18 | Mediatek Inc. | Methods and apparatus of region-wise cross-component model merge mode for video coding |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012096095A1 (ja) * | 2011-01-12 | 2012-07-19 | 株式会社エヌ・ティ・ティ・ドコモ | 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム |
AU2015202844A1 (en) * | 2011-01-12 | 2015-06-11 | Ntt Docomo, Inc. | Image predict coding method, image predict coding device, image predict coding program, image predict decoding method, image predict decoding device, and image predict decoding program |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1232126C (zh) * | 2002-09-30 | 2005-12-14 | 三星电子株式会社 | 图像编码方法和装置以及图像解码方法和装置 |
CN100571391C (zh) * | 2007-05-09 | 2009-12-16 | 安凯(广州)软件技术有限公司 | 用于视频编解码系统中解块滤波的并行处理方法 |
CN101330617B (zh) * | 2008-07-31 | 2010-11-17 | 上海交通大学 | 基于模式映射的多标准帧内预测器的硬件实现方法及装置 |
KR101356448B1 (ko) * | 2008-10-01 | 2014-02-06 | 한국전자통신연구원 | 예측 모드를 이용한 복호화 장치 |
CN101404774B (zh) * | 2008-11-13 | 2010-06-23 | 四川虹微技术有限公司 | 运动搜索中宏块划分模式的选择方法 |
JP5233897B2 (ja) * | 2009-07-31 | 2013-07-10 | ソニー株式会社 | 画像処理装置および方法 |
KR101302660B1 (ko) * | 2009-09-14 | 2013-09-03 | 에스케이텔레콤 주식회사 | 고해상도 동영상의 부호화/복호화 방법 및 장치 |
KR101457396B1 (ko) * | 2010-01-14 | 2014-11-03 | 삼성전자주식회사 | 디블로킹 필터링을 이용한 비디오 부호화 방법과 그 장치, 및 디블로킹 필터링을 이용한 비디오 복호화 방법 및 그 장치 |
CN102215390B (zh) * | 2010-04-09 | 2014-07-09 | 华为技术有限公司 | 图像编解码处理方法和装置 |
CN106162178B (zh) * | 2010-04-13 | 2019-08-13 | 三星电子株式会社 | 执行去块滤波的对视频进行解码的设备 |
US20130044814A1 (en) * | 2010-05-10 | 2013-02-21 | Thomson Licensing | Methods and apparatus for adaptive interpolative intra block encoding and decoding |
US9872019B2 (en) * | 2010-07-20 | 2018-01-16 | Sk Telecom Co., Ltd. | Method and device for deblocking-filtering, and method and device for encoding and decoding using same |
CN102595116B (zh) * | 2011-01-14 | 2014-03-12 | 华为技术有限公司 | 多图像块划分的编解码方法和装置 |
CN102611885B (zh) * | 2011-01-20 | 2014-04-30 | 华为技术有限公司 | 一种编解码方法和装置 |
CN102857763B (zh) * | 2011-06-30 | 2016-02-17 | 华为技术有限公司 | 一种基于帧内预测的解码方法和解码装置 |
KR102616815B1 (ko) * | 2011-12-05 | 2023-12-21 | 엘지전자 주식회사 | 인트라 예측 방법 및 장치 |
CN102595140B (zh) * | 2012-03-09 | 2014-05-28 | 北京邮电大学 | 基于图像修复和矢量预测算子的帧内预测视频编码方法 |
US10321130B2 (en) * | 2013-01-07 | 2019-06-11 | Vid Scale, Inc. | Enhanced deblocking filters for video coding |
CN103220529B (zh) * | 2013-04-15 | 2016-02-24 | 北京大学 | 一种视频编解码环路滤波的实现方法 |
US10057590B2 (en) * | 2014-01-13 | 2018-08-21 | Mediatek Inc. | Method and apparatus using software engine and hardware engine collaborated with each other to achieve hybrid video encoding |
CN104284188B (zh) * | 2014-10-11 | 2018-03-13 | 华为技术有限公司 | 预测块的划分方法、编码设备和解码设备 |
EP3363199B1 (en) * | 2015-11-27 | 2021-05-19 | MediaTek Inc. | Method and apparatus of entropy coding and context modelling for video and image coding |
CN107027040B9 (zh) * | 2016-01-29 | 2020-08-28 | 华为技术有限公司 | 一种去除块效应的滤波方法及装置 |
US20180139444A1 (en) * | 2016-11-16 | 2018-05-17 | Mediatek Inc. | Method and Apparatus of Video Coding Using Flexible Quadtree and Binary Tree Block Partitions |
CN107613300B (zh) * | 2017-10-12 | 2020-04-07 | 杭州当虹科技股份有限公司 | 一种快速的hevc帧内预测编码方法 |
CN111698504B (zh) * | 2019-03-11 | 2022-05-20 | 杭州海康威视数字技术股份有限公司 | 编码方法、解码方法及装置 |
-
2019
- 2019-03-11 CN CN201910181501.7A patent/CN111698504B/zh active Active
- 2019-03-11 CN CN201910557014.6A patent/CN110234008B/zh active Active
- 2019-03-11 CN CN201910555840.7A patent/CN110267036B/zh active Active
-
2020
- 2020-03-11 WO PCT/CN2020/078812 patent/WO2020182157A1/zh active Application Filing
- 2020-03-11 WO PCT/CN2020/078823 patent/WO2020182158A1/zh active Application Filing
- 2020-03-11 WO PCT/CN2020/078808 patent/WO2020182154A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012096095A1 (ja) * | 2011-01-12 | 2012-07-19 | 株式会社エヌ・ティ・ティ・ドコモ | 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム |
AU2015202844A1 (en) * | 2011-01-12 | 2015-06-11 | Ntt Docomo, Inc. | Image predict coding method, image predict coding device, image predict coding program, image predict decoding method, image predict decoding device, and image predict decoding program |
Also Published As
Publication number | Publication date |
---|---|
CN110234008A (zh) | 2019-09-13 |
CN110267036A (zh) | 2019-09-20 |
CN111698504A (zh) | 2020-09-22 |
CN110234008B (zh) | 2020-06-16 |
WO2020182158A1 (zh) | 2020-09-17 |
WO2020182154A1 (zh) | 2020-09-17 |
WO2020182157A1 (zh) | 2020-09-17 |
CN110267036B (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111698504B (zh) | 编码方法、解码方法及装置 | |
CN110708552B (zh) | 解码方法、编码方法及装置 | |
US10986332B2 (en) | Prediction mode selection method, video encoding device, and storage medium | |
CN108391127B (zh) | 视频编码方法、装置、存储介质及设备 | |
CN111770340B (zh) | 视频编码方法、装置、设备以及存储介质 | |
CN112532975B (zh) | 视频编码方法、装置、计算机设备及存储介质 | |
US11985358B2 (en) | Artifact removal method and apparatus based on machine learning, and method and apparatus for training artifact removal model based on machine learning | |
CN115205164B (zh) | 图像处理模型的训练方法、视频处理方法、装置及设备 | |
CN113891074B (zh) | 视频编码方法和装置、电子装置和计算机可读存储介质 | |
CN110572679B (zh) | 帧内预测的编码方法、装置、设备及可读存储介质 | |
JP2022531564A (ja) | ビデオコーディング方法及びシステム | |
CN116074512A (zh) | 视频编码方法、装置、电子设备以及存储介质 | |
CN113873236B (zh) | 基于自适应帧内刷新机制的解码、编码方法及相关设备 | |
CN111770339B (zh) | 视频编码方法、装置、设备及存储介质 | |
CN114422782B (zh) | 视频编码方法、装置、存储介质及电子设备 | |
CN114885164B (zh) | 确定帧内预测模式的方法、装置及电子设备和存储介质 | |
CN113079372B (zh) | 帧间预测的编码方法、装置、设备及可读存储介质 | |
CN116980627A (zh) | 用于解码的视频滤波方法、装置、电子设备及存储介质 | |
CN115118979A (zh) | 图像编码方法、图像解码方法、装置、设备及存储介质 | |
CN117676170A (zh) | 块效应检测的方法、装置、设备和存储介质 | |
CN114268797A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40036902 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |