CN112118448B - 一种编解码方法、装置及存储介质 - Google Patents

一种编解码方法、装置及存储介质 Download PDF

Info

Publication number
CN112118448B
CN112118448B CN201910545251.0A CN201910545251A CN112118448B CN 112118448 B CN112118448 B CN 112118448B CN 201910545251 A CN201910545251 A CN 201910545251A CN 112118448 B CN112118448 B CN 112118448B
Authority
CN
China
Prior art keywords
current block
prediction mode
indication information
block
decoding
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
CN201910545251.0A
Other languages
English (en)
Other versions
CN112118448A (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
Priority to CN202110688052.2A priority Critical patent/CN113382256B/zh
Priority to CN202110688049.0A priority patent/CN113382255B/zh
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201911090138.4A priority patent/CN110784712B/zh
Priority to CN201911061275.5A priority patent/CN110677663B/zh
Priority to CN202110688028.9A priority patent/CN113382251B/zh
Priority to CN202110688030.6A priority patent/CN113382252B/zh
Priority to CN202110688048.6A priority patent/CN113382254B/zh
Priority to CN201910545251.0A priority patent/CN112118448B/zh
Priority to CN202110686662.9A priority patent/CN113347426A/zh
Priority to CN201911061873.2A priority patent/CN110677655B/zh
Priority to CN202110688047.1A priority patent/CN113382253B/zh
Priority to CN202110686665.2A priority patent/CN113347427A/zh
Priority to PCT/CN2020/097148 priority patent/WO2020253831A1/zh
Priority to US17/621,644 priority patent/US20220360800A1/en
Priority to PCT/CN2020/097088 priority patent/WO2020253823A1/zh
Priority to PCT/CN2020/097144 priority patent/WO2020253829A1/zh
Priority to PCT/CN2020/097130 priority patent/WO2020253828A1/zh
Priority to JP2021576392A priority patent/JP7325553B2/ja
Priority to EP20825445.8A priority patent/EP3979647A4/en
Priority to KR1020217043437A priority patent/KR20220016232A/ko
Publication of CN112118448A publication Critical patent/CN112118448A/zh
Application granted granted Critical
Publication of CN112118448B publication Critical patent/CN112118448B/zh
Priority to JP2023084090A priority patent/JP2023096190A/ja
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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请公开了一种编解码方法、装置及存储介质,属于图像处理技术领域。所述方法包括:在确定进行第一ISP指示信息的编码或解码时,基于一个上下文模型,对第一ISP指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,第一ISP指示信息用于指示是否启动帧内子块预测模式;在确定进行第二ISP指示信息的编码或解码时,对第二ISP指示信息进行基于旁路的二进制算术编码或解码,第二ISP指示信息用于指示帧内子块预测模式的子块划分方式,如此,可以减少编解码过程中所需的上下文模型的数量,降低了编解码过程的复杂度,减少了内存开销。

Description

一种编解码方法、装置及存储介质
技术领域
本申请涉及图像处理技术领域,特别涉及一种编解码方法、装置及存储介质。
背景技术
目前,在图像编解码技术领域中,编码端对图像块进行编码时,通常需要利用上下文模型对一些语法元素进行编码,以将这些语法元素携带在图像块的编码流中发送给解码端。解码接收到图像块的编码流后,需要按照与编码端相同的上下文模型对这些语法元素进行解析,以基于这些语法元素重构图像。这些语法元素可以为各种指示信息,比如可以为第一ISP指示信息和第二ISP指示信息,第一ISP指示信息用于指示是否启动帧内子块预测模式,第二ISP指示信息用于指示帧内子块预测模式的子块划分方式。
但是,不同的语法元素可能需要基于不同的上下文模型进行基于上下文的自适应二进制算术编解码,同一语法元素在不同情况下,可能也需要基于不同的上下文模型进行基于上下文的自适应二进制算术编解码,这样将导致编解过程中需要用到较多的上下文模型,编解码过程复杂程度高,内存开销较大。
发明内容
本申请实施例提供了一种编解码方法及存储介质,可以用于解决相关技术中存在的编解码过程中所需上下文模型较多,内存开销较大的问题。所述技术方案如下:
一方面,提供了一种编解码方法,所述方法包括:
在确定进行第一ISP指示信息的编码或解码时,基于一个上下文模型,对所述第一ISP指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,所述第一ISP指示信息用于指示是否启动帧内子块预测模式;
在确定进行第二ISP指示信息的编码或解码时,对所述第二ISP指示信息进行基于旁路的二进制算术编码或解码,所述第二ISP指示信息用于指示帧内子块预测模式的子块划分方式。
一方面,提供了一种编解码方法,所述方法包括:
在确定进行第一ISP指示信息的编码或解码时,对第一ISP指示信息进行基于旁路的二进制算术编码或解码,所述第一ISP指示信息用于指示是否启动帧内子块预测模式;
在确定进行第二ISP指示信息的编码或解码时,对第二ISP指示信息进行基于旁路的二进制算术编码或解码,所述所述第二ISP指示信息用于指示帧内子块预测模式的子块划分类型。
一方面,提供了一种编解码方法,所述方法包括:
若当前块的宽高尺寸为M*N,所述M小于64且所述N小于64,则所述当前块不支持多行预测模式。
在本申请一种可能的实现方式中,若当前块的宽高尺寸为4*4,则所述当前块不支持多行预测模式。
一方面,提供了一种编解码方法,若确定当前块支持多行预测模式,且所述多行预测模式对应的候选参考行行数为3,多行预测模式对应的参考行指示信息至多占用2个比特位,所述参考行指示信息用于指示基于多行预测模式进行当前块的预测时所使用的目标参考行的索引信息,所述方法包括:
基于一个上下文模型,对所述参考行指示信息的第1个比特位进行基于上下文的自适应二进制算术编码或自适应二进制算术解码;
当需要对所述参考行指示信息的第2个比特位进行编码或解码时,对所述参考行指示信息的第2个比特位进行基于旁路的二进制算术编码或解码。
一方面,提供了一种编解码方法,若确定当前块支持多行预测模式,且所述多行预测模式对应的候选参考行行数为4,多行预测模式对应的参考行指示信息至多占用3个比特位,所述参考行指示信息用于指示基于多行预测模式进行当前块的预测时所使用的目标参考行的索引信息,所述方法包括:
基于一个上下文模型,对所述参考行指示信息的第1个比特位进行基于上下文的自适应二进制算术编码或自适应二进制算术解码;
当需要对所述参考行指示信息的第2个比特位进行编码或解码时,对所述参考行指示信息的第2个比特位进行基于旁路的二进制算术编码或解码;
当需要对所述参考行指示信息的第3个比特位进行编码或解码时,对所述参考行指示信息的第3个比特位进行基于旁路的二进制算术编码或解码。
一方面,提供了一种编解码方法,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为3,其中,索引信息为0的候选参考行为第0行,所述第0行是与所述当前块边界相邻的行;索引信息为1的候选参考行为第1行,所述第1行是与所述当前块边界次相邻的行;索引信息为2的候选参考行为第2行,所述第2行是所述第1行相邻的行;所述方法包括:
在根据多行预测模式对当前块进行预测时,根据目标参考行对当前块进行预测;
其中,所述目标参考行根据参考行指示信息确定;
若参考行指示信息所指示的索引信息为0,则所述目标参考行为第0行;
若所述参考行指示信息所指示的索引信息为1,则所述目标参考行是第1行;
若所述参考行指示信息所指示的索引信息为2,则所述目标参考行是第2行。
一方面,提供了一种编解码方法,若确定当前块启动多行预测模式,且多行预测模式对应的候选参考行行数为3,其中,索引信息为0的候选参考行为第0行,所述第0行是与所述当前块边界相邻的行;索引信息为1的候选参考行为第1行,所述第1行是与所述当前块边界次相邻的行;索引信息为2的候选参考行为第2行,所述第2行是所述第1行相邻的行;索引信息为3的候选参考行为第3行,所述第3行是所述第2行相邻的行;所述方法包括:
在根据多行预测模式对当前块进行预测时,根据目标参考行对当前块进行预测;
其中,所述目标参考行根据参考行指示信息确定;
若参考行指示信息所指示的索引信息为0,则所述目标参考行为第0行;
若所述参考行指示信息所指示的索引信息为1,则所述目标参考行是第2行;
若所述参考行指示信息所指示的索引信息为2,则所述目标参考行是第3行。
一方面,提供了一种解码方法,若确定当前块支持多行预测模式,所述方法包括:
在根据多行预测模式对当前块进行预测之前,对行数指示信息进行解码,所述行数指示信息用于指示多行预测模式对应的候选参考行行数;
根据行数指示信息确定多行预测模式对应的候选参考行行数;
根据多行预测模式对应的候选参考行行数和参考行指示信息确定目标参考行,所述参考行指示信息用于指示基于多行预测模式进行当前块的预测时所使用的目标参考行的索引信息;
根据目标参考行对当前块进行预测。
在本申请一种可能的实现方式中,所述行数指示信息存在于序列参数集、图像参数级、slice级或Tile级中。
一方面,提供了一种编解码方法,所述方法包括:
若当前块启动仿射预测模式或启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差编码或解码时,如果当前块支持自适应运动矢量精度AMVR模式,则在进行第一AMVR指示信息的编码或解码时,基于第一上下文模型,对所述第一AMVR指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,所述第一AMVR指示信息用于指示是否启动AMVR模式;
当所述第一AMVR指示信息指示当前块启动AMVR模式时,基于第二上下文模型,对第二AMVR指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,所述第二AMVR指示信息用于指示在AMVR模式下进行运行矢量差编码或解码时所采用的像素精度的索引信息,所述第一上下文模型和所述第二上下文模型不同。
一方面,提供了一种编解码方法,其特征在于,所述方法包括:
若当前块启动仿射预测模式,在进行当前块的运动矢量差编码或解码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的编码或解码时,基于第一上下文模型,对所述第一AMVR指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,当所述第一AMVR指示信息指示当前块启动AMVR模式时,对第二AMVR指示信息进行基于旁路的二进制算术编码或解码;
若当前块启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差编码或解码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的编码或解码时,基于第二上下文模型,对所述第一AMVR指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,当所述第一AMVR指示信息指示当前块启动AMVR模式时,对第二AMVR指示信息进行基于旁路的二进制算术编码或解码;
其中,所述第一上下文模型和所述第二上下文模型不同,所述第一AMVR指示信息用于指示是否启动AMVR模式,所述第二AMVR指示信息用于指示在AMVR模式下进行运行矢量差编码或解码时所采用的像素精度的索引信息。
一方面,提供了一种编解码方法,所述方法包括:
若当前块启动仿射预测模式或启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差编码或解码时,若当前块支持自适应运动矢量精度AMVR模式,在进行第一AMVR指示信息的编码或解码时,基于第一上下文模型,对所述第一AMVR指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,所述第一AMVR指示信息用于指示是否启动AMVR模式;
当所述第一AMVR指示信息指示当前块启动AMVR模式时,对第二AMVR指示信息进行基于旁路的二进制算术编码或解码,所述第二AMVR指示信息用于指示在AMVR模式下进行运行矢量差编码或解码时所采用的像素精度的索引信息。
一方面,提供了一种解码方法,所述方法包括:
若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于最有可能的帧内预测模式MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对预测模式索引信息进行解码,其中,所述预测模式索引信息的第1个比特位是基于第一上下文模型进行基于上下文的自适应二进制算术解码得到,其他比特位是基于旁路的二进制算术解码得到;
根据预测模式索引信息,从所述MPM列表中确定当前块启动的帧内子块预测的目标预测模式;所述预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息;
根据所述目标预测模式对当前块进行预测;或者
若当前块启动常规帧内预测,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,所述预测模式索引信息的第1个比特位是基于第二上下文模型进行基于上下文的自适应二进制算术解码得到,其他比特位基于旁路的二进制算术解码得到,所述第二上下文模型与所述第一上下文模型是同一上下文模型;
根据预测模式索引信息,从所述MPM列表中确定当前块启动的常规帧内预测的目标预测模式;所述预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息;
根据所述目标预测模式对当前块进行预测。
一方面,提供了一种解码方法,所述方法包括:
若当前块启动帧内子块预测时,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对预测模式索引信息进行解码,其中,所述预测模式索引信息的所有比特位基于旁路的二进制算术解码得到;
根据预测模式索引信息,从所述MPM列表中确定当前块启动的帧内子块预测的目标预测模式;所述预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息;
根据所述目标预测模式对当前块进行预测;或者
若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,所述预测模式索引信息的所有比特位基于旁路的二进制算术解码得到;
根据预测模式索引信息,从所述MPM列表中确定当前块启动的常规帧内预测的目标预测模式;所述预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息;
根据所述目标预测模式对当前块进行预测。
一方面,提供了一种解码方法,所述方法包括:
若当前块启动帧内子块预测时,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对预测模式索引信息进行解码,其中,所述预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术解码得到,其他比特位基于旁路的二进制算术解码得到;
根据预测模式索引信息,从所述MPM列表中确定当前块启动的帧内子块预测的目标预测模式;所述预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息;
根据所述目标预测模式对当前块进行预测;或者
若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,所述预测模式索引信息所有比特位基于旁路的二进制算术解码得到;
根据预测模式索引信息,从所述MPM列表中确定当前块启动的常规帧内预测的目标预测模式;所述预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息;
根据所述目标预测模式对当前块进行预测。
一方面,提供了一种解码方法,所述方法包括:
若当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对预测模式索引信息进行解码,所述预测模式索引信息所有比特位基于旁路的二进制算术解码得到;
根据预测模式索引信息,从所述MPM列表中确定当前块启动的帧内子块预测的目标预测模式;所述预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息;
根据所述目标预测模式对当前块进行预测;或者
若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,所述预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术解码得到,其他比特位基于旁路的二进制算术解码得到;
根据预测模式索引信息,从所述MPM列表中确定当前块启动的常规帧内预测的目标预测模式;所述预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息;
根据所述目标预测模式对当前块进行预测。
一方面,提供了一种解码方法,所述方法包括:
若当前块启动帧内子块预测时,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对planar指示信息进行解码,其中,所述planar指示信息用于指示当前块启动的帧内子块预测的目标预测模式是否为planar预测模式,所述planar指示信息是基于第一上下文模型进行基于上下文的自适应二进制算术解码得到;
当基于所述planar指示信息确定当前块启动的帧内子块预测的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测;
当基于所述planar指示信息确定当前块启动的帧内子块预测的目标预测模式不是planar预测模式时,根据预测模式索引信息,从所述MPM列表中确定当前块启动的帧内子块预测的目标预测模式,根据所述目标预测模式对当前块进行预测;或者
若当前块启动常规帧内预测,当常规帧内预测的目标预测模式来自于MPM列表时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对planar指示信息进行解码,其中,所述planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,所述planar指示信息是基于第二上下文模型进行基于上下文的自适应二进制算术解码得到,所述第一上下文模型与所述第二上下文模型相同;
当基于所述planar指示信息确定当前块启动的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测;
当基于所述planar指示信息确定当前块启动的目标预测模式不是planar预测模式时,根据预测模式索引信息,从所述MPM列表中确定当前块启动的目标预测模式,根据所述目标预测模式对当前块进行预测。
一方面,提供了一种解码方法,所述方法包括:
若当前块启动帧内子块预测时,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对planar指示信息进行解码,其中,所述planar指示信息用于指示当前块启动的帧内子块预测的目标预测模式是否为planar预测模式,所述planar指示信息基于旁路的二进制算术解码得到;
当基于所述planar指示信息确定当前块启动的帧内子块预测的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测;
当基于所述planar指示信息确定当前块启动的帧内子块预测的目标预测模式不是planar预测模式时,根据预测模式索引信息,从所述MPM列表中确定当前块启动的帧内子块预测的目标预测模式,根据所述目标预测模式对当前块进行预测;或者
若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对planar指示信息进行解码,其中,所述planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,所述planar指示信息基于旁路的二进制算术解码得到;
当基于所述planar指示信息确定当前块启动的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测;
当基于所述planar指示信息确定当前块启动的目标预测模式不是planar预测模式时,根据预测模式索引信息,从所述MPM列表中确定当前块启动的目标预测模式,根据所述目标预测模式对当前块进行预测。
一方面,提供了一种解码方法,若当前块支持跨分量预测模式,且当前块启动跨分量预测模式,当前块为色度块,所述方法包括:
在根据跨分量预测模式对当前块进行预测时,对色度预测模式索引信息进行解码,所述色度预测模式索引信息用于指示当前块的目标预测模式在对应的候选预测模式列表中的索引;其中,所述色度预测模式索引信息的第1个比特位是基于第一上下文模型基于上下文的自适应二进制算术解码得到,所述色度预测模式索引信息的第2个比特位是基于第二上下文模型进行基于上下文的自适应二进制算术解码,所述第一上下文模型与所述第二上下文模型不同;所述色度预测模式索引信息的第3个比特位和第4个比特位是基于旁路的二进制算术解码得到;
根据所述色度预测模式索引信息,从所述候选预测模式列表中确定当前块的目标预测模式;
根据所述目标预测模式对当前块进行预测。
一方面,提供了一种解码方法,若当前块支持跨分量预测模式,且当前块启动跨分量预测模式,当前块为色度块,所述方法包括:
在根据跨分量预测模式对当前块进行预测时,对色度预测模式索引信息进行解码,所述色度预测模式索引信息用于指示当前块的目标预测模式在对应的候选预测模式列表中的索引;其中,所述色度预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术解码得到,所述色度预测模式索引信息的第2个比特位、3个比特位和第4个比特位是基于旁路的二进制算术解码得到;
根据所述色度预测模式索引信息,从所述候选预测模式列表中确定当前块的目标预测模式;
根据所述目标预测模式对当前块进行预测。
一方面,提供了一种编解码方法,若当前块支持跨分量预测模式,且当前块启动跨分量预测模式,当前块为色度块,所述方法包括:
在根据跨分量预测模式对当前块进行预测时,对色度预测模式索引信息进行解码,所述色度预测模式索引信息用于指示当前块的目标预测模式在对应的候选预测模式列表中的索引;
根据所述色度预测模式索引信息,从所述候选预测模式列表中确定当前块的目标预测模式;
其中,若所述色度预测模式索引信息为10,则所述目标预测模式为第一跨分量预测模式;
若所述色度预测模式索引信息为110,则所述目标预测模式为第二跨分量预测模式;
若所述色度预测模式索引信息为111,则所述目标预测模式为第二跨分量预测模式;
若所述色度预测模式索引信息为11110,则所述目标预测模式为planar预测模式;
若所述色度预测模式索引信息为111110,则所述目标预测模式为垂直预测模式;
若所述色度预测模式索引信息为1111110,则所述目标预测模式为水平预测模式;
若所述色度预测模式索引信息为1111111,则所述目标预测模式为DC预测模式;
根据所述目标预测模式对当前块进行预测。
一方面,提供了一种解码方法,,若当前块支持跨分量预测模式,且当前块启动跨分量预测模式,当前块为色度块,所述方法包括:
在根据跨分量预测模式对当前块进行预测时,对色度预测模式索引信息进行解码,所述色度预测模式索引信息用于指示当前块的目标预测模式在对应的候选预测模式列表中的索引;
根据所述色度预测模式索引信息,从所述候选预测模式列表中确定当前块的目标预测模式;
其中,若所述色度预测模式索引信息为10,则目标预测模式为第一跨分量预测模式;
若所述色度预测模式索引信息为110,则所述目标预测模式为第二跨分量预测模式;
若所述色度预测模式索引信息为111,则所述目标预测模式为第二跨分量预测模式;
若所述色度预测模式索引信息为111100,则所述目标预测模式为planar预测模式;
若所述色度预测模式索引信息为111101,则所述目标预测模式为垂直预测模式;
若所述色度预测模式索引信息为111110,则所述目标预测模式为水平预测模式;
若所述色度预测模式索引信息为111111,则所述目标预测模式为DC预测模式;
根据所述目标预测模式对当前块进行预测。
一方面,提供了一种编解码方法,所述方法包括:
当当前块的亮度和色度共用一棵划分树时,若所述当前块对应的亮度块的宽高尺寸为64*64,所述当前块对应的色度块的尺寸为32*32,则所述当前块不支持跨分量预测模式。
一方面,提供了一种解码方法,所述方法包括:
若当前块支持自适应环路滤波器ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,所述ALF指示信息用于指示当前块是否启动ALF,所述目标上下文模型是根据所述当前块的上边块是否启动ALF,以及所述当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型;或者,
若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,所述目标上下文模型是根据所述当前块的上边块是否启动ALF,以及所述当前块的左边块是否启动ALF,从第二上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型,且所述第二上下文模型集合包括的3个上下文模型与所述第一上下文模型集合包括的3个上下文模型不同。
一方面,提供了一种解码方法,所述方法包括:
若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,所述ALF指示信息用于指示当前块是否启动ALF,所述目标上下文模型是根据所述当前块的上边块是否启动ALF,以及所述当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型;或者,
若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,所述目标上下文模型是根据所述当前块的上边块是否启动ALF,以及所述当前块的左边块是否启动ALF,从第二上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型,且所述第二上下文模型集合包括的3个上下文模型与所述第一上下文模型集合包括的3个上下文模型相同。
一方面,提供了一种解码方法,所述方法包括:
若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,所述ALF指示信息用于指示当前块是否启动ALF;或者,
若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,所述第二上下文模型与所述第一上下文模型不同。
一方面,提供了一种解码方法,所述方法包括:
若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,所述ALF指示信息用于指示当前块是否启动ALF,所述目标上下文模型是根据所述当前块的上边块是否启动ALF,以及所述当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型;或者,
若当前块支持ALF,当前块为CB色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;或者,
若当前块支持ALF,当前块为CR色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,所述第一上下文模型集合包括的上下文模型、所述第一上下文模型和所述第二上下文模型为不同的上下文模型。
一方面,提供了一种解码方法,其特征在于,所述方法包括:
若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,所述ALF指示信息用于指示当前块是否启动ALF;或者,
若当前块支持ALF,当前块为CB色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;或者,
若当前块支持ALF,当前块为CR色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第三上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,所述第一上下文模型、所述第二上下文模型和所述第三上下文模型为不同的上下文模型。
一方面,提供了一种解码方法,所述方法包括:
若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,所述ALF指示信息用于指示当前块是否启动ALF;或者,
若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,所述第二上下文模型与所述第一上下文模型为同一上下文模型。
一方面,提供了一种解码方法,所述方法包括:
若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术解码,所述ALF指示信息用于指示当前块是否启动ALF;或者,
若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术解码。
一方面,提供了一种解码方法,所述方法包括:
若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于一个上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,所述ALF指示信息用于指示当前块是否启动ALF;或者,
若当前块支持器ALF,且当前块启动自适应环路滤波器ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术解码。
一方面,提供了一种解码方法,所述方法包括:
若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术解码,所述ALF指示信息用于指示当前块是否启动ALF;或者,
若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于一个上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码。
一方面,提供了一种编解码方法,所述方法包括:
若当前块的宽高尺寸为32*32,则所述当前块不支持基于矩阵的帧内预测模式。
一方面,提供了一种解码方法,若当前块支持基于矩阵的帧内预测模式,所述方法包括:
在根据基于矩阵的帧内预测模式对当前块进行预测之前,基于目标上下文模型对MIP指示信息进行基于上下文的自适应二进制算术解码;其中,所述MIP指示信息用于指示所述当前块是否启动基于矩阵的帧内预测模式,所述目标上下文模型是根据当前块的上边块是否启动基于矩阵的帧内预测模式,以及所述当前块的左边块是否启动基于矩阵的帧内预测模式从3个不同的上下文模型中选择的一个上下文模型;
若根据所述MIP指示信息确定所述当前块启动基于矩阵的帧内预测模式,则基于矩阵的帧内预测模式,对当前块进行预测。
一方面,提供了一种解码方法,若当前块支持基于矩阵的帧内预测模式,所述方法包括:
在根据基于矩阵的帧内预测模式对当前块进行预测之前,基于目标上下文模型对MIP指示信息进行基于上下文的自适应二进制算术解码;其中,所述MIP指示信息用于指示所述当前块是否启动基于矩阵的帧内预测模式,所述目标上下文模型是根据当前块是否满足预设尺寸条件从2个不同的上下文模型中的一个上下文模型;
若根据所述MIP指示信息确定所述当前块启动基于矩阵的帧内预测模式,则基于矩阵的帧内预测模式,对当前块进行预测。
一方面,提供了一种解码方法,若当前块支持基于矩阵的帧内预测模式,所述方法包括:
在根据基于矩阵的帧内预测模式对当前块进行预测之前,基于同一个上下文模型对MIP指示信息进行基于上下文的自适应二进制算术解码,所述MIP指示信息用于指示所述当前块是否启动基于矩阵的帧内预测模式;
若根据所述MIP指示信息确定所述当前块启动基于矩阵的帧内预测模式,则基于矩阵的帧内预测模式,对当前块进行预测。
一方面,提供了一种解码方法,若当前块支持基于矩阵的帧内预测模式,所述方法包括:
在根据基于矩阵的帧内预测模式对当前块进行预测之前,对MIP指示信息进行基于旁路的二进制算术解码,所述MIP指示信息用于指示所述当前块是否启动基于矩阵的帧内预测模式;
若根据所述MIP指示信息确定所述当前块启动基于矩阵的帧内预测模式,则基于矩阵的帧内预测模式,对当前块进行预测。
一方面,提供了一种解码方法,若当前块支持BDPCM模式,所述方法包括:
在对当前块进行基于块的量化后残差的差分PCM解码之前,对第一BDPCM指示信息进行解码,所述第一BDPCM指示信息用于指示当前处理单元是否支持BDPCM模式;
根据所述第一BDPCM指示信息,对所述当前块进行解码。
在本申请一种可能的实现方式中,所述第一BDPCM指示信息存在于序列参数集、图像参数级、slice级或Tile级中。
一方面,提供了一种编解码方法,若当前块支持BDPCM模式,所述方法包括:
在对当前块进行基于块的量化后残差的差分PCM编码或解码之前,对第二BDPCM指示信息进行编码或解码,所述第二BDPCM指示信息用于指示支持BDPCM模式的图像块的尺寸范围;
基于所述第二BDPCM指示信息和所述当前块的尺寸,确定所述当前块是否能够进行基于块的量化后残差的差分PCM编码或解码。
在本申请一种可能的实现方式中,所述第二BDPCM指示信息存在于序列参数集、图像参数级、slice级或Tile级中。
一方面,提供了一种解码方法,若当前块支持BDPCM模式,所述方法包括:
在对当前块进行基于块的量化后残差的差分PCM解码之前,基于一个上下文模型,对第三BDPCM指示信息进行基于上下文的自适应二进制算术解码,所述第三BDPCM指示信息用于指示当前块是否启动BDPCM模式;
当所述第三BDPCM指示信息指示当前块启动BDPCM模式,对第四BDPCM指示信息进行基于旁路的二进制算术解码,所述第四BDPCM指示信息用于指示BDPCM模式的预测方向的索引信息;
按照所述第四BDPCM指示信息指示的预测方向,对当前块进行基于块的量化后残差的差分PCM处理。
一方面,提供了一种解码方法,若当前块支持BDPCM模式,所述方法包括:
在对当前块进行基于块的量化后残差的差分PCM解码之前,对第三BDPCM指示信息进行基于旁路的二进制算术解码,所述第三BDPCM指示信息用于指示当前块是否启动BDPCM模式;
当所述第三BDPCM指示信息指示当前块启动BDPCM模式,对第四BDPCM指示信息进行基于旁路的二进制算术解码,所述第四BDPCM指示信息用于指示BDPCM模式的预测方向的索引信息;
按照所述第四BDPCM指示信息指示的预测方向,对当前块进行基于块的量化后残差的差分PCM处理。
一方面,提供了一种编解码方法,所述方法包括:
若当前块启动帧内子块预测,则确定进行CBF指示信息的编码或解码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码;其中,所述CBF指示信息用于指示所述当前块的变换块是否具有非零变换系数,所述目标上下文模型是根据所述当前块的前一个变换块是否具有非零变换系数从第一上下文模型集合包括的2个不同的上下文模型中选择的一个上下文模型;或者,
若当前块启动常规帧内预测或启动BDPCM模式,则在确定进行CBF指示信息的编码或解码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码;其中,所述目标上下文模型是根据所述当前块的变换块的划分深度从第二上下文模型集合包括的2个不同的上下文模型中选择的一个上下文模型,所述第二上下文模型集合包括的2个上下文模型集合与所述第一上下文模型集合包括的2个上下文模型不同。
一方面,提供了一种编解码方法,所述方法包括:
若当前块启动帧内子块预测,或者启动常规帧内预测,或者启动BDPCM模式,则在确定进行CBF指示信息的编码或解码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码;其中,所述CBF指示信息用于指示所述当前块的变换块是否具有非零变换系数,所述目标上下文模型是根据所述当前块的变换块的划分深度从2个不同的上下文模型中选择的一个上下文模型。
一方面,提供了一种编解码方法,所述方法包括:
若当前块启动帧内子块预测或启动常规帧内预测,则在确定进行CBF指示信息的编码或解码时,基于目标上下文模型,对所述CBF指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码;其中,所述目标上下文模型是根据所述当前块的变换块的划分深度从第一上下文模型集合包括的2个不同的上下文模型中选择的一个上下文模型;或者,
若当前块启动BDPCM模式,则在确定进行CBF指示信息的编码或解码时,基于目标上下文模型,对所述CBF指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码;其中,所述目标上下文模型是所述第一上下文模型集合中的一个上下文模型。
一方面,提供了一种编解码方法,所述方法包括:
在根据JCCR模式对当前块进行解码之前,对JCCR指示信息进行解码,所述JCCR指示信息用于指示当前处理单元是否支持JCCR模式;
若根据所述JCCR指示信息确定所述当前块支持JCCR模式,且所述当前块启动JCCR模式,则按照所述当前块的CB和CR的相关性对所述当前块进行解码,得到所述当前块的色度残差系数。
在本申请一种可能的实现方式中,所述JCCR指示信息存在于序列参数集、图像参数级、slice级或Tile级中。
一方面,提供了一种编解码装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述任一种编解码方法或解码方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述任一种编解码方法或解码方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例中,通过在确定进行第一ISP指示信息的编码或解码时,基于一个上下文模型,对第一ISP指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,在确定进行第二ISP指示信息的编码或解码时,对第二ISP指示信息进行基于旁路的二进制算术编码或解码,如此,可以减少编解码过程中所需的上下文模型的数量,降低了编解码过程的复杂度,减少了内存开销。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种编解码***的结构示意图;
图2是本申请实施例提供的一种编解码的流程示意图;
图3是本申请实施例提供的一种帧内预测模式对应的方向示例性;
图4是本申请实施例提供的一种角度模式对应的方向示例性;
图5是本申请实施例提供的一种图像块的划分示意图;
图6是本申请实施例提供的一种编码方法的流程图;
图7是本申请实施例提供的一种解码方法的流程图;
图8是本申请实施例提供的一种编码方法的流程图;
图9是本申请实施例提供的一种解码方法的流程图;
图10是本申请实施例提供的一种编解码方法的流程图;
图11是本申请实施例提供的一种编码方法的流程图;
图12是本申请实施例提供的一种解码方法的流程图;
图13是本申请实施例提供的一种编码方法的流程图;
图14是本申请实施例提供的一种解码方法的流程图;
图15是本申请实施例提供的一种编解码方法的流程图;
图16是本申请实施例提供的一种编解码方法的流程图;
图17是本申请实施例提供的一种编码方法的流程图;
图18是本申请实施例提供的一种解码方法的流程图;
图19是本申请实施例提供的一种编码方法的流程图;
图20是本申请实施例提供的一种解码方法的流程图;
图21是本申请实施例提供的一种编码方法的流程图;
图22是本申请实施例提供的一种解码方法的流程图;
图23是本申请实施例提供的一种编码方法的流程图;
图24是本申请实施例提供的一种解码方法的流程图;
图25是本申请实施例提供的一种编码方法的流程图;
图26是本申请实施例提供的一种解码方法的流程图;
图27是本申请实施例提供的一种编码方法的流程图;
图28是本申请实施例提供的一种解码方法的流程图;
图29是本申请实施例提供的一种编码方法的流程图;
图30是本申请实施例提供的一种解码方法的流程图;
图31是本申请实施例提供的一种编码方法的流程图;
图32是本申请实施例提供的一种解码方法的流程图;
图33是本申请实施例提供的一种编码方法的流程图;
图34是本申请实施例提供的一种解码方法的流程图;
图35是本申请实施例提供的一种编码方法的流程图;
图36是本申请实施例提供的一种解码方法的流程图;
图37是本申请实施例提供的一种编码方法的流程图;
图38是本申请实施例提供的一种解码方法的流程图;
图39是本申请实施例提供的一种编码方法的流程图;
图40是本申请实施例提供的一种解码方法的流程图;
图41是本申请实施例提供的一种编码方法的流程图;
图42是本申请实施例提供的一种解码方法的流程图;
图43是申请实施例提供的一种编解码方法的流程图;
图44是本申请实施例提供的一种编码方法的流程图;
图45是本申请实施例提供的一种解码方法的流程图;
图46是本申请实施例提供的一种解码方法的流程图‘’
图47是本申请实施例提供的一种解码方法的流程图;
图48是本申请实施例提供的一种编码方法的流程图;
图49是本申请实施例提供的一种解码方法的流程图;
图50是本申请实施例提供的一种编码方法的流程图;
图51是本申请实施例提供的一种解码方法的流程图;
图52是本申请实施例提供的一种编码方法的流程图;
图53是本申请实施例提供的一种解码方法的流程图;
图54是本申请实施例提供的一种编码方法的流程图;
图55是本申请实施例提供的一种解码方法的流程图;
图56是本申请实施例提供的一种编码方法的流程图;
图57是本申请实施例提供的一种解码方法的流程图;
图58是本申请实施例提供的一种编码方法的流程图;
图59是本申请实施例提供的一种解码方法的流程图;
图60是本申请实施例提供的一种编码方法的流程图;
图61是本申请实施例提供的一种解码方法的流程图;
图62是本申请实施例提供的一种编解码方法的流程图;
图63是本申请实施例提供的一种编解方法的流程图;
图64是本申请实施例提供的一种编解方法的流程图;
图65是本申请实施例提供的一种编解方法的流程图;
图66是本申请实施例提供的一种编解方法的流程图;
图67是本申请实施例提供的一种编解方法的流程图;
图68是本申请实施例提供的一种编解方法的流程图;
图69是本申请实施例提供的一种编解方法的流程图;
图70是本申请实施例提供的一种编解方法的流程图;
图71是本申请实施例提供的一种编码方法的流程图;
图72是本申请实施例提供的一种解码方法的流程图;
图73是本申请实施例提供的一种编码方法的流程图;
图74是本申请实施例提供的一种解码方法的流程图;
图75是本申请实施例提供的一种编码方法的流程图;
图76是本申请实施例提供的一种解码方法的流程图;
图77是本申请实施例提供的一种编码方法的流程图;
图78是本申请实施例提供的一种解码方法的流程图;
图79是本申请实施例提供的一种解码方法的流程图;
图80是本申请实施例提供的一种解码方法的流程图;
图81是本申请实施例提供的一种编码方法的流程图;
图82是本申请实施例提供的一种解码方法的流程图;
图83是本申请实施例提供的一种编码方法的流程图;
图84是本申请实施例提供的一种解码方法的流程图;
图85是本申请实施例提供的一种编码模式的流程图;
图86是本申请实施例提供的一种编码模式的流程图;
图87是本申请实施例提供的一种编码端的结构示意图;
图88是本申请实施例提供的一种解码端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细地解释说明之前,先对本申请实施例的应用场景予以说明。
图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是根据一示例性实施例示出的一种编解码的流程示意图,编码包括预测、变换、量化、熵编码几个过程,解码包括解码、反变换、反量化、预测几个过程。目前,通常采用二进制算术编解码技术来对当前语法元素进行编解码。编码和解码中的预测一般包括帧内预测、多行预测、跨分量预测和基于矩阵的帧内预测等,另外,编码和解码中还将用到帧内亮度候选者列表、自适应环路滤波器、自适应运动矢量精度编解码技术和基于块的量化后残差的差分PCM(Pulse Code Modulation,脉冲编码调制)编解码技术等,接下来对这些预测方式和编解码技术进行简单介绍。
二进制算术编码
二进制算术编码是指对当前语法元素二进制化后的每一个bin(比特位)根据其概率模型参数进行算术编码,得到最后的码流。它包括两种编码方式:基于上下文的自适应算术编码和基于旁路的二进制算术编码。
基于上下文的自适应二进制算术编码(CABAC)是一种将自适应的二进制算术编码和一个设计精良的上下文模型结合起来得到的方法。在编码中,每一个符号的编码都与以前编码的结果有关,根据符号流的统计特性来自适应的为每个符号分配码字,尤其是适用于出现概率为非等概率的符号,能够进一步压缩码率。语法元素的各个比特位顺序的进入上下文模型器,编码器根据之前编码过的语法元素或者比特位,为每一个输入的比特位分配合适的概率模型,该过程称为上下文建模。将比特位和分配给它的概率模型一起送到二元算术编码器进行编码。编码器要根据比特位值更新上下文模型,这就是编码的自适应。
基于旁路的二进制算术编码(Bypass)是一种基于等概率的二进制算术编码模式(也称为旁路编码模式),相比于CABAC,Bypass少了概率更新的过程,也无需对概率状态进行自适应更新,而是采用0和1概率各50%的固定概率进行编码,此编码方法更加简单,并且编码复杂度低,内存消耗小,适用于等概率的符号。
帧内预测
帧内预测是指利用图像空间域的相关性,使用当前图像块周围已编码重建的相邻块的像素,预测该当前图像块的像素,从而达到去除图像空域冗余的目的。帧内预测中规定了多种帧内预测模式,每一种帧内预测模式都对应一种纹理方向(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所示。
常规帧内预测
常规帧内预测所采用的方法是利用周围像素预测当前块,去除的是空域冗余性。常规帧内预测模式下,所采用的目标预测模式可以来自MPM(Most probable mode,最有可能的帧内预测模式)列表,也可以来自非MPM列表。
ISP(Intra sub-block-partitions,帧内子块预测)
ISP技术中帧内预测采用的方法是将图像块划分成多个子块进行预测,对于支持ISP技术的图像块来说能够支持的划分方式包括水平划分和垂直划分。对于解码端来说,在当前块启动ISP模式的情况下,如果当前块的尺寸默认仅支持一种划分方式,则按照默认划分方向对当前块进行划分,以及对其进行预测,反变换,反量化等处理,如果当前块的尺寸支持两种划分方式,则还需进一步解析其划分方向,再按照确定的划分方向对当前块进行划分,以及对其进行预测,反变换,反量化等处理。
MRL(Multi-reference Line,多行预测)
MRL技术中采用的方法是基于当前块的参考像素进行预测,参考像素可以来自当前块的邻近行。譬如,参考像素可以来自如下图所示的Reference line0(第0行),Reference line1(第1行),Reference line2(第2行)和Reference line3(第3行)。其中,第0行是与当前块边界相邻的行,第1行是与当前块边界次相邻的行,第2行是第1行相邻的行,第3行是第2行相邻的行。目前在新一代编解码标准VVC中,参考像素来自Reference line0,Reference line1和Reference line3,Reference2没有被使用。其中,所述line可以是当前块上侧的行,也可以是当前块左侧的列。
MPM
在HEVC中MPM的个数是3个,在目前的VVC中MPM的个数是6个。对于ISP和MRL模式来说,其帧内预测模式一定是来自于MPM的,对于常规帧内预测来说,其帧内预测模式可能来自MPM也可能来自非MPM。
CCLM(Cross-Component Linear Model Prediction,跨分量预测)
CCLM技术中采用的方法是使用一种线性预测模型通过亮度分量重构像素值利用线性方程来得到色度分量预测像素值的技术,能够去除图像分量之间的冗余,进一步提升编码性能。目前有三种跨分量预测模式,分别为MDLM_L模式、MDLM_T模式和DM模式,MDLM-L为仅用了左侧模板信息得到线性参数的跨分量预测模式,MDLM-T为仅用了上侧模板信息推导得到线性模型参数的跨分量预测模式,DM为色度采用与亮度一样的预测模式。
自适应环路滤波
自适应环路滤波器(Adaptive loop filter,ALF),可以根据自身梯度方向,在固定的滤波器中选择一种滤波器进行滤波,并可以通过CTU级的flag表示该块是否开启ALF滤波,色度和亮度可以分开控制。
AMVR(adaptive motion vector resolution,自适应运动矢量精度)
AMVR用于表示在进行运动矢量差编码时可以采用不同的精度,所采用的的精度可以是整像素精度,如4像素精度,也可以是非整数像素精度,如1/16像素精度。该技术可以应用于常规帧内预测下的运动矢量数据编码,也可以用于affine(仿射)预测模式下的运动矢量数据编码。
MIP(Matrix Based Intra Prediction,基于矩阵的帧内预测)
基于矩阵的帧内预测技术是指通过将当前块上边和左边相邻像素作为参考像素,送入矩阵向量乘法器并加上一个偏置值来确定得到当前块的预测像素值。
BDPCM(Block-based quantized residual domain Differential PCM,基于块的量化后残差的差分PCM)
BDPCM是指在预测环节预测像素时是直接垂直方向拷贝对应参考像素的像素值,或者水平方向拷贝对应参考像素的像素值,类似于垂直预测和水平预测。然后将预测残差和原始像素的残差值进行量化,并对量化后的残差进行差分编码。
JCCR(Joint Coding of Chrominance Residuals,色度残差的联合编码)
JCCR是一种CB(蓝色色度分量)和CR(红色色度分量)联合编码的方式,通过观察色度残差的分布,不难发现,CB和CR总是呈现出负相关的趋势,因此JCCR利用这种现象,提出CB和CR联合编码的方式,例如只需要编码(CB-CR)/2,也就是CB和-CR分量的均值。
相关技术中,在不同预测模式或编解码技术下,解码端需要向编码端传输不同的语法元素,而且传输语法元素所需的上下文模型较多,编解码过程复杂程度高,内存开销较大。基于此,本申请提供了一种能够减少所需上下文模型的数量,进而减小编解码过程复杂程度高和内存开销的编解码方法。接下来,将分别针对上述几种预测模式和编解码技术,对本申请实施例编解码方法进行介绍。
ISP模式
在ISP模式下,解码端和编码端之间需要传输的语法元素可以包括第一ISP指示信息和第二ISP指示信息,第一ISP指示信息用于指示是否启动帧内子块预测模式,第二ISP指示信息用于指示帧内子块预测模式的子块划分方式。示例的,第一指示信息为intra_subpartitions_mode_flag,第二指示信息为intra_subpartitions_split_flag。
而且,在确定进行第一ISP指示信息的编码或解码时,需要基于一个上下文模型,对第一ISP指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码;在确定进行第二ISP指示信息的编码或解码时,需要基于另一个不同的上下文模型,对第二ISP指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码。也即是,需要用到两个上下文模型,来对第一ISP指示信息和第二ISP指示信息进行编解码,如下表2所示。
表2
Figure BDA0002103733630000201
ISP模式的第一种实现方式
图6是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图1所示,该方法包括:
步骤601:在确定进行第一ISP指示信息的编码时,基于一个上下文模型,对第一ISP指示信息进行基于上下文的自适应二进制算术编码,第一ISP指示信息用于指示是否启动帧内子块预测模式。
作为一个示例,若当前块满足支持子块划分技术的条件,则当前块可尝试使用子块划分技术,编码端可通过RDO(Rate Distortion Optimization,率失真优化)决策最终是否使用子块划分技术,并进行第一ISP指示信息的编码,通过第一ISP指示信息来表示当前块是否启动帧内子块预测模式。其中,支持子块划分技术的条件包含:当前块为亮度块,当前块未启动多行预测模式,以及当前块的尺寸符合一定的限制条件。当然,支持子块划分技术的条件也不仅限定于上述三个条件,还可以包括其他条件。
示例的,第一ISP指示信息为intra_subpartitions_mode_flag,intra_subpartitions_mode_flag为表示当前块是否启动帧内子块预测模式的标志位。若intra_subpartitions_mode_flag为0,则表示当前块未启动帧内子块预测模式,若intra_subpartitions_mode_flag为1,则表示当前块启动帧内子块预测模式。
步骤602:在确定进行第二ISP指示信息的编码时,对第二ISP指示信息进行基于旁路的二进制算术编码,第二ISP指示信息用于指示帧内子块预测模式的子块划分方式。
其中,子块划分方式包括水平划分方向和垂直划分方向。当当前块支持两种划分方向时,则需要确定最终使用的划分方向,并基于使用的划分方向,继续进行第二ISP指示信息的编码。当当前块仅支持一种划分方向时,则不需要继续进行第二ISP指示信息的编码。
其中,第二ISP指示信息可以为intra_subpartitions_split_flag,intra_subpartitions_split_flag为表示当前块的ISP模式的子块划分方式的标志位。示例的,intra_subpartitions_split_flag为0时,表示当前块的ISP模式的子块划分方式为水平划分,intra_subpartitions_split_flag为1时,表示当前块的ISP模式的子块划分方式为垂直划分。
作为一个示例,ISP模式下的语法元素的编码方式如下表3所示:
表3
Figure BDA0002103733630000211
也即是,对相关技术中的第二ISP指示信息的编码方式进行了修改,使用旁路编码方式替换复杂的CABAC编码方式,如此,可以减少内存开销,降低编码复杂度,而且,从编码性能出发,性能基本保持不变。
图7是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,是与图6实施例提供的编码方法对应的解码方法,如图7所示,该方法包括:
步骤701:在确定进行第一ISP指示信息的解码时,基于一个上下文模型,对第一ISP指示信息进行基于上下文的自适应二进制算术解码,第一ISP指示信息用于指示是否启动帧内子块预测模式。
作为一个示例,可以先接收当前块的编码流,若当前块满足解析条件,则对编码流中的第一ISP指示信息进行解码,以解析出当前块是否启动帧内子块预测模式。其中,解析条件包括:当前块为亮度块,当前块未启动多行预测模式,以及当前块的尺寸符合一定限制条件。当然,该解析条件不限定于上述三个条件,还可以包括其他条件。
示例的,第一ISP指示信息为intra_subpartitions_mode_flag。若intra_subpartitions_mode_flag为0,则表示当前块未启动帧内子块预测模式,若intra_subpartitions_mode_flag为1,则表示当前块启动帧内子块预测模式。
步骤702:在确定进行第二ISP指示信息的解码时,对第二ISP指示信息进行基于旁路的二进制算术解码,第二ISP指示信息用于指示帧内子块预测模式的子块划分方式。
示例的,当第一ISP指示信息指示当前块启动帧内子块预测模式,且当前块支持两个划分方向时,确定需要进行第二ISP指示信息的解码。若第一ISP指示信息指示当前块未启动帧内子块预测模式,或第一ISP指示信息指示当前块启动帧内子块预测模式,且当前块仅支持一个划分方向时,确定不需要进行第二ISP指示信息的解码。
例如,若intra_subpartitions_mode_flag为1,且当前块支持两个划分方向时,则需要进一步解析划分方向的标志位intra_subpartitions_split_flag。若intra_subpartitions_mode_flag为0,或intra_subpartitions_mode_flag为1,但当前块仅支持某一个固定方向的划分方向时,则不需要解析表示划分方向的标志位。
根据以上两个ISP指示信息,解码端可以确定当前块是否启动ISP模式及对应的划分方向,从而基于确定的划分方向对当前块进行预测,得到当前块的预测值,用于后续的重建过程。
ISP模式的第二种实现方式
图8是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图8所示,该方法包括:
步骤801:在确定进行第一ISP指示信息的编码时,对第一ISP指示信息进行基于旁路的二进制算术编码,第一ISP指示信息用于指示是否启动帧内子块预测模式。
作为一个示例,若当前块满足支持子块划分技术的条件,则当前块可尝试使用子块划分技术,编码端可通过RDO决策最终是否使用子块划分技术,并进行第一ISP指示信息的编码,通过第一ISP指示信息来表示当前块是否启动帧内子块预测模式。其中,支持子块划分技术的条件包含:当前块为亮度块,当前块未启动多行预测模式,以及当前块的尺寸符合一定的限制条件。当然,支持子块划分技术的条件也不仅限定于上述三个条件,还可以包括其他条件。
示例的,第一ISP指示信息为intra_subpartitions_mode_flag,intra_subpartitions_mode_flag为表示当前块是否启动帧内子块预测模式的标志位。若intra_subpartitions_mode_flag为0,则表示当前块未启动帧内子块预测模式,若intra_subpartitions_mode_flag为1,则表示当前块启动帧内子块预测模式。
步骤802:在确定进行第二ISP指示信息的编码时,对第二ISP指示信息进行基于旁路的二进制算术编码,第二ISP指示信息用于指示帧内子块预测模式的子块划分方式。
其中,子块划分方式包括水平划分方向和垂直划分方向。当当前块支持两种划分方向时,则需要确定最终使用的划分方向,并基于使用的划分方向,继续进行第二ISP指示信息的编码。当当前块仅支持一种划分方向时,则不需要继续进行第二ISP指示信息的编码。
其中,第二ISP指示信息可以为intra_subpartitions_split_flag,intra_subpartitions_split_flag为表示当前块的ISP模式的子块划分方式的标志位。示例的,intra_subpartitions_split_flag为0时,表示当前块的ISP模式的子块划分方式为水平划分,intra_subpartitions_split_flag为1时,表示当前块的ISP模式的子块划分方式为垂直划分。
作为一个示例,ISP模式下的语法元素的编码方式如下表3所示:
表4
Figure BDA0002103733630000231
也即是,对相关技术中的intra_subpartitions_mode_flag的标志位,以及intra_subpartitions_split_flag的标志位的编码方式均进行了修改,均使用旁路编码方式替换原来复杂的CABAC编码方式,如此,可以进一步减少内存开销,降低编码复杂度,而且,从编码性能出发,性能基本保持不变。
图9是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,是与图8实施例提供的编码方法对应的解码方法,如图9所示,该方法包括:
步骤901:在确定进行第一ISP指示信息的解码时,对第一ISP指示信息进行基于旁路的二进制算术解码,第一ISP指示信息用于指示是否启动帧内子块预测模式。
作为一个示例,可以先接收当前块的编码流,若当前块满足解析条件,则对编码流中的第一ISP指示信息进行解码,以解析出当前块是否启动帧内子块预测模式。其中,解析条件包括:当前块为亮度块,当前块未启动多行预测模式,以及当前块的尺寸符合一定限制条件。当然,该解析条件不限定于上述三个条件,还可以包括其他条件。
示例的,第一ISP指示信息为intra_subpartitions_mode_flag。若intra_subpartitions_mode_flag为0,则表示当前块未启动帧内子块预测模式,若intra_subpartitions_mode_flag为1,则表示当前块启动帧内子块预测模式。
步骤902:在确定进行第二ISP指示信息的解码时,对第二ISP指示信息进行基于旁路的二进制算术解码,第二ISP指示信息用于指示帧内子块预测模式的子块划分方式。
示例的,当第一ISP指示信息指示当前块启动帧内子块预测模式,且当前块支持两个划分方向时,确定需要进行第二ISP指示信息的解码。若第一ISP指示信息指示当前块未启动帧内子块预测模式,或第一ISP指示信息指示当前块启动帧内子块预测模式,且当前块仅支持一个划分方向时,确定不需要进行第二ISP指示信息的解码。
例如,若intra_subpartitions_mode_flag为1,且当前块支持两个划分方向时,则需要进一步解析划分方向的标志位intra_subpartitions_split_flag。若intra_subpartitions_mode_flag为0,或intra_subpartitions_mode_flag为1,但当前块仅支持某一个固定方向的划分方向时,则不需要解析表示划分方向的标志位。
根据以上两个ISP指示信息,解码端可以确定当前块是否启动ISP模式及对应的划分方向,从而基于确定的划分方向对当前块进行预测,得到当前块的预测值,用于后续的重建过程。
MRL模式
MRL模式的第一种实现方式
图10是本申请实施例提供的一种编解码方法的流程图,该方法应用于编码端或解码端,如图10所示,该方法包括如下步骤:
步骤1001:若当前块的宽高尺寸为M*N,M小于64且N小于64,则当前块不支持多行预测模式。
示例的,若当前块的宽高尺寸为4*4,则当前块不支持多行预测模式。
MRL模式的第二种实现方式
在MRL模式下,解码端和编码端之间需要传输的语法元素可以包括参考行指示信息,参考行指示信息用于指示基于多行预测模式进行当前块的预测时所使用的目标参考行的索引信息。示例的,参考行指示信息为intra_luma_ref_idx。
相关技术中,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为3,多行预测模式对应的参考行指示信息至多占用2个比特位,且这2个比特位需要使用2个不同的上下文模型进行编解码,如下表5和表6所示:
表5
第一个bin(比特位) 第二个bin(比特位)
MultiRefLineIdx(0)即第一个上下文模型 MultiRefLineIdx(1)即第二个上下文模型
其中,第一个bin是指参考行指示信息的第一个比特位,需要基于第一个上下文模型进行编解码,第二个bin是指参考行指示信息的第二个比特位,需要基于第二个上下文模型进行编解码,且第一个上下文模型与第二个上下文模型不同。
表6
Figure BDA0002103733630000241
而且,目标参考行的索引信息与目标参考行的行号的对应关系如表7所示:
表7
Figure BDA0002103733630000251
由表7可知,若参考行指示信息所指示的索引信息为0,则目标参考行为第0行;若参考行指示信息所指示的索引信息为1,则目标参考行是第1行;若参考行指示信息所指示的索引信息为2,则目标参考行是第3行。
图11是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图10所示,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为3,多行预测模式对应的参考行指示信息至多占用2个比特位,则该方法包括:
步骤1101:基于一个上下文模型,对参考行指示信息的第1个比特位进行基于上下文的自适应二进制算术编码。
作为一个示例,可以确定当前块是否满足支持多行预测技术的条件,若当前块满足支持多行预测技术的条件,则确定当前块可尝试使用各个参考行进行编码。编码端可通过RDO决策最终参考像素来源,并编码参考行索引信息到编码流中。其中,支持多行预测技术的条件包含:当前块为亮度帧内块,并且当前块的尺寸符合一定的限制条件,当前块不包含编码树单元的第一行。当然,支持多行预测技术的条件不限定于上述三个条件,还可以包括其他条件。
作为一个示例,若可以使用多行预测技术,则遍历所有参考行,通过RDO决定最终的目标参考行,并编码参考行指示信息。在编码流中可以根据具体情况编码参考行指示信息。作为一个示例,参考行指示信息可以为intra_luma_ref_idx。
需要说明的是,本申请实施例所述的行可以是当前块上侧的行,也可以是当前块左侧的列。
步骤1102:当需要对参考行指示信息的第2个比特位进行编码时,对参考行指示信息的第2个比特位进行基于旁路的二进制算术编码。
本申请实施例中,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为3,多行预测模式对应的参考行指示信息至多占用2个比特位,则这2个比特位的第一个比特位可以使用一个上下文模型进行编码,第二个比特位可以基于旁路编码模式进行编码,如此,只需要使用一个上下文模型即可实现对参考行指示信息的所有比特位的编码,减少了所使用的上下文模型的数量,进而减小了编码的复杂度和内存消耗,而且编码性能也没有很大改变。
例如,参考行指示信息使用的上下文模型可以下表8和表9所示:
表8
第一个bin 第二个bin
MultiRefLineIdx(0)即第一个上下文模型 不用上下文模型,用Bypass进行编码
表9
Figure BDA0002103733630000261
图12是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与图11所示的编码方法对应的解码方法,如图12所示,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为3,多行预测模式对应的参考行指示信息至多占用2个比特位,则该方法包括:
步骤1201:基于一个上下文模型,对参考行指示信息的第1个比特位进行基于上下文的自适应二进制算术解码。
步骤1202:当需要对参考行指示信息的第2个比特位进行解码时,对参考行指示信息的第2个比特位进行基于旁路的二进制算术解码。
通过对参考行指示信息进行解码,可以基于参考行指示信息确定基于多行预测模式进行当前块的预测时所使用的目标参考行,然后利用目标参考行对当前块进行预测。
作为一个示例,可以先接收当前块的编码流,若当前块满足解析条件,则对参考行指示信息进行解码,以确定当前块的参考像素的来源。解析条件包括:当前块为亮度帧内块,当前块的尺寸符合一定条件,当前块不是编码树单元的第一行。当然,该解析条件不限定于上述3种条件,还可以包括其他条件。
作为一个示例,若当前块可以使用多行预测的情况下,需要解析intra_luma_ref_idx,以便根据intra_luma_ref_idx的值,确定当前块的参考像素,从而得到当前块的预测值,用于后续的重建过程。
MRL模式的第三种实现方式
相关技术中,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为4,多行预测模式对应的参考行指示信息至多占用3个比特位,且这3个比特位需要使用3个不同的上下文模型进行编解码,如下表10和表11所示:
表10
Figure BDA0002103733630000262
表11
Figure BDA0002103733630000271
其中,第一个bin是指参考行指示信息的第一个比特位,需要基于第一个上下文模型进行编解码,第二个bin是指参考行指示信息的第二个比特位,需要基于第二个上下文模型进行编解码,第三个bin是指参考行指示信息的第三个比特位,需要基于第三个上下文模型进行编解码,且这3个上下文模型均不同。
而且,目标参考行的索引信息与对应的目标参考行的行号如表12所示:
表12
Figure BDA0002103733630000272
由表12可知,若参考行指示信息所指示的索引信息为0,则目标参考行为第0行;若参考行指示信息所指示的索引信息为1,则目标参考行是第1行;若参考行指示信息所指示的索引信息为2,则目标参考行是第2行;若参考行指示信息所指示的索引信息为3,则目标参考行是第3行。
图13是本申请实施例提供的一种编码方法的流程图,应用于编码端,如图13所示,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为4,多行预测模式对应的参考行指示信息至多占用3个比特位,所述方法包括:
步骤1301:基于一个上下文模型,对参考行指示信息的第1个比特位进行基于上下文的自适应二进制算术编码。
作为一个示例,可以确定当前块是否满足支持多行预测技术的条件,若当前块满足支持多行预测技术的条件,则确定当前块可尝试使用各个参考行进行编码。编码端可通过RDO决策最终参考像素来源,并编码参考行索引信息到编码流中。其中,支持多行预测技术的条件包含:当前块为亮度帧内块,并且当前块的尺寸符合一定的限制条件,当前块不是编码树单元的第一行。当然,支持多行预测技术的条件不限定于上述三个条件,还可以包括其他条件。
作为一个示例,若可以使用多行预测技术,则遍历所有参考行,通过RDO决定最终的目标参考行,并编码参考行指示信息。在编码流中可以根据具体情况编码参考行指示信息。作为一个示例,参考行指示信息可以为intra_luma_ref_idx。
步骤1302:当需要对参考行指示信息的第2个比特位进行编码时,对参考行指示信息的第2个比特位进行基于旁路的二进制算术编码。
步骤1303:当需要对参考行指示信息的第3个比特位进行编码时,对参考行指示信息的第3个比特位进行基于旁路的二进制算术编码。
本申请实施例中,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为4,多行预测模式对应的参考行指示信息至多占用3个比特位,则这3个比特位的第一个比特位可以使用一个上下文模型进行编码,第二个比特位和第三个比特位可以基于旁路编码模式进行编码,如此,只需要使用一个上下文模型即可实现对参考行指示信息的所有比特位的编码,减少了所使用的上下文模型的数量,进而减小了编码的复杂度和内存消耗,而且编码性能也没有很大改变。
例如,参考行指示信息使用的上下文模型可以下表13和表14所示:
表13
Figure BDA0002103733630000281
表14
Figure BDA0002103733630000282
图14是本申请实施例提供的一种解码方法的流程图,应用于解码端,是与图12实施例所述的编码方法对应的解码方法,如图14所示,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为4,多行预测模式对应的参考行指示信息至多占用3个比特位,所述方法包括:
步骤1401:基于一个上下文模型,对参考行指示信息的第1个比特位进行基于上下文的自适应二进制算术解码。
步骤1402:当需要对参考行指示信息的第2个比特位进行解码时,对参考行指示信息的第2个比特位进行基于旁路的二进制算术解码。
步骤1403:当需要对参考行指示信息的第3个比特位进行解码时,对参考行指示信息的第3个比特位进行基于旁路的二进制算术解码。
作为一个示例,可以先接收当前块的编码流,若当前块满足解析条件,则对参考行指示信息进行解码,以确定当前块的参考像素的来源。解析条件包括:当前块为亮度帧内块,当前块的尺寸符合一定条件,当前块不是编码树单元的第一行。当然,该解析条件不限定于上述3种条件,还可以包括其他条件。
作为一个示例,若当前块可以使用多行预测的情况下,需要解析intra_luma_ref_idx,以便根据intra_luma_ref_idx的值,确定当前块的参考像素,从而得到当前块的预测值,用于后续的重建过程。
MRL模式的第三种实现方式
图15是本申请实施例提供的一种编解码方法的流程图,该方法应用于编码端或解码端,如图15所示,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为3,其中,索引信息为0的候选参考行为第0行,索引信息为1的候选参考行为第1行,索引信息为2的候选参考行为第2行,该方法包括:
步骤1501:在根据多行预测模式对当前块进行预测时,根据目标参考行对当前块进行预测,目标参考行根据参考行指示信息确定。
其中,若参考行指示信息所指示的索引信息为0,则目标参考行为第0行;
若参考行指示信息所指示的索引信息为1,则目标参考行是第1行;
若参考行指示信息所指示的索引信息为2,则目标参考行是第2行。
示例的,参考行指示信息所指示的索引信息与对应的目标参考行可以如下表15所示:
表15
Figure BDA0002103733630000291
本申请实施例中,可以选择最近的三行三列作为目标参考行的候选者。
MRL模式的第四种实现方式
图16是本申请实施例提供的一种编解码方法的流程图,该方法应用于编码端或解码端,如图16所示,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为3,其中,索引信息为0的候选参考行为第0行,索引信息为1的候选参考行为第1行,索引信息为2的候选参考行为第2行,所述方法包括:
步骤1601:在根据多行预测模式对当前块进行预测时,根据目标参考行对当前块进行预测,目标参考行根据参考行指示信息确定。
其中,若参考行指示信息所指示的索引信息为0,则目标参考行为第0行;
若参考行指示信息所指示的索引信息为1,则目标参考行是第2行;
若参考行指示信息所指示的索引信息为2,则目标参考行是第3行。
示例的,参考行指示信息所指示的索引信息与对应的目标参考行可以如下表16所示:
表16
Figure BDA0002103733630000292
本申请实施例中,可以选择第0行、第2行和第3行作为目标参考行的候选者。
MRL模式的第五种实现方式
图17是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图17所示,若确定当前块支持多行预测模式,该方法包括:
步骤1701:在根据多行预测模式对当前块进行预测之前,根据多行预测模式对应的候选参考行行数,对行数指示信息进行编码,行数指示信息用于指示多行预测模式对应的候选参考行行数。
步骤1702:基于多行预测模式进行当前块的预测时所使用的目标参考行,对参考行指示信息进行编码,参考行指示信息用于指示基于多行预测模式进行当前块的预测时所使用的目标参考行的索引信息。
步骤1703:根据目标参考行对当前块进行预测。
本申请实施例中,增加了一个可以指示多行预测模式对应的候选参考行行数的行数指示信息,使得多行预测模式可以选择参考的行数。
作为一个示例,行数指示信息可以存在于序列参数集(SPS)、图像参数级、slice级或Tile级中。优选地,行数指示信息存在于序列参数集,也即是,可以在SPS级增加一个用于指示多行预测模式对应的候选参考行行数的语法。
图18是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,如图17所示,若确定当前块支持多行预测模式,该方法包括:
步骤1801:在根据多行预测模式对当前块进行预测之前,对行数指示信息进行解码,行数指示信息用于指示多行预测模式对应的候选参考行行数。
步骤1802:根据行数指示信息确定多行预测模式对应的候选参考行行数。
步骤1803:根据多行预测模式对应的候选参考行行数和参考行指示信息确定目标参考行,参考行指示信息用于指示基于多行预测模式进行当前块的预测时所使用的目标参考行的索引信息。
步骤1804:根据目标参考行对当前块进行预测。
本申请实施例中,增加了一个可以指示多行预测模式对应的候选参考行行数的行数指示信息,使得多行预测模式可以选择参考的行数。
作为一个示例,行数指示信息可以存在于序列参数集(SPS)、图像参数级、slice级或Tile级中。优选地,行数指示信息存在于序列参数集,也即是,可以在SPS级增加一个用于指示多行预测模式对应的候选参考行行数的语法。
AMVR模式
在AMVR模式下,解码端和编码端之间需要传输的语法元素可以包括第一AMVR指示信息和第二AMVR指示信息,第一AMVR指示信息用于指示是否启动AMVR模式,第二AMVR指示信息用于指示在AMVR模式下进行运行矢量差编码或解码时所采用的像素精度的索引信息。作为一个示例,第一AMVR指示信息为amvr_flag,第二AMVR指示信息为amvr_precision_flag。
相关技术中,针对仿射预测模式和非仿射预测模式,非仿射预测模式是指除仿射预测模式之外的其他预测模式,第一AMVR指示信息和第二AMVR指示信息总共需要4个上下文模型进行编解码,如下表17和18所示:
表17
Figure BDA0002103733630000311
表18
Figure BDA0002103733630000312
由表17和表18可知,若当前块启动仿射预测模式,在进行第一AMVR指示信息的编码或解码时,需要基于第3个上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,当第二AMVR指示信息指示当前块启动AMVR模式时,需要基于第4个上下文模型,对第二AMVR指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码。若当前块启动非仿射预测模式,在进行第一AMVR指示信息的编码或解码时,需要基于第1个上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码,当第一AMVR指示信息指示当前块启动AMVR模式时,需要基于第2个上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码。也即是,总共需要4个不同的上下文模型对AMVR指示信息进行编码或解码,内存消耗较大。
AMVR模式的第一种实现方式
图19是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图19所示,该方法包括:
步骤1901:若当前块启动仿射预测模式或启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差编码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的编码时,基于第一上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术编码。
步骤1902:当第一AMVR指示信息指示当前块启动AMVR模式时,基于第二上下文模型,对第二AMVR指示信息进行基于上下文的自适应二进制算术编码,第一上下文模型和第二上下文模型不同。
作为一个示例,若当前块满足可以使用自适应运动矢量精度的条件,则当前块可进行尝试使用多个运动矢量精度进行编码。示例的,编码端可以通过RDO决策是否启动AMVR及采用的运动矢量精度,并编码相应的语法信息到编码流中。其中,使用自适应运动矢量精度的条件包含:当前块为帧间预测块,并且当前块运动信息包含非零运动矢量差。当然,使用自适应运动矢量精度的条件不限定与上述条件,还可以包括其他条件。
图20是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图19所示的编码方法对应的解码方法,如图20所示,该方法包括:
步骤2001:若当前块启动仿射预测模式或启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差解码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的解码时,基于第一上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术解码。
作为一个示例,解码端可以先接收当前块的编码流,若确定当前块满足解析条件,则解析出第一AMVR,以确定当前块是启动AMVR,即是否使用了自适应运动矢量精度技术。其中,解析条件包括:当前块为帧间块,当前块运动信息包含非零运动矢量差。当然,解析条件不限定于上述条件,还可以包括其他条件。
步骤2002:当第一AMVR指示信息指示当前块启动AMVR模式时,基于第二上下文模型,对第二AMVR指示信息进行基于上下文的自适应二进制算术解码,第一上下文模型和第二上下文模型不同。
在确定当前块启动了AMVR模式的的情况下,还需要进一步解析第二AMVR指示信息,以确定所使用到的精度。根据第一AMVR指示信息和第二AMVR指示信息,解码端可以唯一确定当前块的运动信息的运动矢量精度,从而得到当前块的预测值,用于后续的重建过程。
示例的,针对仿射预测模式和非仿射预测模式,第一AMVR指示信息和第二AMVR指示信息所使用的上下文模型可以如下表19所示:
表19
Figure BDA0002103733630000321
本申请实施例中,AMVR指示信息在Affine仿射预测模式下和非affine仿射预测模式下可以共用上下文模型,如此,可以将AMVR下所需的上下文模型减小至2个,从而降低了编解码的复杂度,减少了内存开销。
AMVR模式的第二种实现方式
图21是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图21所示,该方法包括:
步骤2101:若当前块启动仿射预测模式,在进行当前块的运动矢量差编码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的编码时,基于第一上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术编码,当第一AMVR指示信息指示当前块启动AMVR模式时,对第二AMVR指示信息进行基于旁路的二进制算术编码。
步骤2102:若当前块启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差解码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的解码时,基于第二上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术解码,当第一AMVR指示信息指示当前块启动AMVR模式时,对第二AMVR指示信息进行基于旁路的二进制算术解码。
图22是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,是与图21所示的编码方法对应的解码方法,如图22所示,该方法包括:
步骤2201:若当前块启动仿射预测模式,在进行当前块的运动矢量差解码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的解码时,基于第一上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术解码,当第一AMVR指示信息指示当前块启动AMVR模式时,对第二AMVR指示信息进行基于旁路的二进制算术解码。
步骤2202:若当前块启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差解码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的解码时,基于第二上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术解码,当第一AMVR指示信息指示当前块启动AMVR模式时,对第二AMVR指示信息进行基于旁路的二进制算术解码。
示例的,针对仿射预测模式和非仿射预测模式,第一AMVR指示信息和第二AMVR指示信息所使用的上下文模型可以如下表20所示:
表20
Figure BDA0002103733630000331
本申请实施例中,在Affine仿射预测模式下和非affine仿射预测模式下,第二AMVR指示信息均修改为进行基于旁路的二进制算术编码或解码,如此,可以将AMVR下所需的上下文模型减小至2个,从而降低了编解码的复杂度,减少了内存开销。
AMVR模式的第三种实现方式
图23是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图23所示,该方法包括:
步骤2301:若当前块启动仿射预测模式或启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差编码时,若当前块支持自适应运动矢量精度AMVR模式,在进行第一AMVR指示信息的编码时,基于第一上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术编码。
步骤2302:当第一AMVR指示信息指示当前块启动AMVR模式时,对第二AMVR指示信息进行基于旁路的二进制算术编码。
图24是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,是与图22所示的编码方法对应的解码方法,如图24所示,该方法包括:
步骤2401:若当前块启动仿射预测模式或启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差解码时,若当前块支持自适应运动矢量精度AMVR模式,在进行第一AMVR指示信息的解码时,基于第一上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术解码。
步骤2402:当第一AMVR指示信息指示当前块启动AMVR模式时,对第二AMVR指示信息进行基于旁路的二进制算术解码。
示例的,针对仿射预测模式和非仿射预测模式,第一AMVR指示信息和第二AMVR指示信息所使用的上下文模型可以如下表21所示:
表21
Figure BDA0002103733630000341
本申请实施例中,在Affine仿射预测模式下和非affine仿射预测模式下,第一AMVR指示信息共用一个上下文模型,第二AMVR指示信息均修改为进行基于旁路的二进制算术编码或解码,如此,可以将AMVR下所需的上下文模型减小至1个,从而降低了编解码的复杂度,减少了内存开销。
AMVR模式的第四种实现方式
在另一实施例中,还提供了一种编码方法,该方法应用于编码端,该方法包括:
步骤1:若当前块启动仿射预测模式,在进行当前块的运动矢量差编码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的编码时,基于第一上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术编码,当第一AMVR指示信息指示当前块启动AMVR模式时,基于第二上下文模型,对第二AMVR指示信息进行基于上下文的自适应二进制算术编码。
步骤2:若当前块启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差解码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的解码时,基于第三上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术解码,当第一AMVR指示信息指示当前块启动AMVR模式时,基于第二上下文模型,对第二AMVR指示信息进行基于上下文的自适应二进制算术编码。
其中,第一上下文模型、第二上下文模型和第三上下文模型不同。
在另一实施例中,还提供了一种解码方法,应用于解码端,该方法是与上述编码方法对应的解码方法,该方法包括如下步骤:
步骤1:若当前块启动仿射预测模式,在进行当前块的运动矢量差解码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的解码时,基于第一上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术解码,当第一AMVR指示信息指示当前块启动AMVR模式时,基于第二上下文模型,对第二AMVR指示信息进行基于上下文的自适应二进制算术解码。
步骤2:若当前块启动除仿射预测模式之外的其他预测模式,在进行当前块的运动矢量差解码时,如果当前块支持AMVR模式,则在进行第一AMVR指示信息的解码时,基于第三上下文模型,对第一AMVR指示信息进行基于上下文的自适应二进制算术解码,当第一AMVR指示信息指示当前块启动AMVR模式时,基于第二上下文模型,对第二AMVR指示信息进行基于上下文的自适应二进制算术解码。
其中,第一上下文模型、第二上下文模型和第三上下文模型不同。
示例的,针对仿射预测模式和非仿射预测模式,第一AMVR指示信息和第二AMVR指示信息所使用的上下文模型可以如下表22所示:
表22
Figure BDA0002103733630000351
本申请实施例中,在Affine仿射预测模式下和非affine仿射预测模式下,第二指示信息可以公用一个上下文模型,如此,可以将AMVR模式下所需的上下文模型降至3个,从而降低了编解码的复杂度,减少了内存开销。
亮度的MPM
当当前块为亮度块时,编码端与解码端之间需要传输预测模式索引信息,预测模式索引信息用于指示当前块的目标预测模式在MPM列表中的索引信息。编码端和解码端存储有最有可能的帧内预测模式MPM列表,常规帧内预测模式、帧内子块预测模式和多行预测模式可以共用该MPM列表。
相关技术中,当当前块的目标预测模式的参考行是当前块的相邻行,则需要两个不同的上下文模型,对预测模式索引信息的第一个比特位进行基于上下文的自适应二进制算术编码或解码,具体使用哪个上下文模型取决于当前块是否启动帧内子块预测模式。
示例的,预测模式索引信息所使用的上下文模型如下表23所示:
表23
Figure BDA0002103733630000352
其中,预测模式索引信息为intra_luma_mpm_idx。intra_luma_ref_idx等于0时,表示当前块的目标预测模式的参考行是当前块的相邻行,即当前块未启动多行预测模式。intra_luma_ref_idx不等于0时,表示当前块的目标预测模式的参考行不是当前块的相邻行,当前块启动了多行预测模式。由表22可知,当intra_luma_ref_idx等于0时,intra_luma_mpm_idx的第一个比特位需要根据当前块是否启动帧内子块预测模式,从2个不同的上下文模型中选择一个上下文模型来进行编解码。
此外,当intra_luma_ref_idx不等于0,表示当前块启动多行预测模式,当前块启动的多行预测模式的目标预测模式也来自于MPM列表。
亮度的MPM的第一种实现方式
图25是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图25所示,该方法包括如下步骤:
步骤2501:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,确定当前块启动的帧内子块预测的目标预测模式在MPM列表的索引信息。
步骤2502:根据当前块启动的帧内子块预测的目标预测模式在MPM列表的索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的第1个比特位是基于第一上下文模型进行基于上下文的自适应二进制算术编码得到,其他比特位是基于旁路的二进制算术编码得到。
步骤2503:若当前块启动常规帧内预测,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,如果当前块启动的目标预测模式来自于MPM列表中,则确定当前块启动的目标预测模式在MPM列表的索引信息。
步骤2504:根据当前块启动的目标预测模式在MPM列表中的索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的第1个比特位是基于第二上下文模型进行基于上下文的自适应二进制算术编码得到,其他比特位基于旁路的二进制算术编码得到。
作为一个示例,若当前块启动常规帧内预测块,还需要一个标记位表示当前块启动的常规预测的目标预测模式是否来自该MPM列表,如果确定目标预测模式来自该MPM列表,则接下来确定目标预测模式在MPM列表的索引信息,如果目标预测模式不是来自MPM列表,则不需要确定目标预测模式在MPM列表的索引信息。
作为一个示例,编码端可以构建MPM列表,帧内子块预测模式、多行预测模式和常规帧内预测可以公用该MPM列表。
作为一个示例,编码端可以通过RDO抉择最终使用的预测模式即目标预测模式,如果目标预测模式为帧内子块预测模式或多行预测模式,那么目标预测模式一定是从该MPM列表中选择的一个预测模式,需要编码预测模式索引信息(intra_luma_mpm_idx)来告知解码端选择了哪一个预测模式。如果目标预测模式为常规帧内预测,还需要编码一个标记位表示当前块启动的常规预测的目标预测模式是否来自该MPM列表,如果确定目标预测模式来自该MPM列表,则接下来确定目标预测模式在MPM列表的索引信息,如果目标预测模式不是来自MPM列表,则不需要确定目标预测模式在MPM列表的索引信息。
图26是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与图24所示的编码方法对应的解码方法,如图26所示,该方法包括如下步骤:
步骤2601:若当前块启动帧内子块预测时,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的第1个比特位是基于第一上下文模型进行基于上下文的自适应二进制算术解码得到,其他比特位是基于旁路的二进制算术解码得到。
步骤2602:根据预测模式索引信息,从MPM列表中确定当前块启动的帧内子块预测的目标预测模式,该预测模式索引信息用于指示目标预测模式在MPM列表中的索引信息。
步骤2603:根据目标预测模式对当前块进行预测。
步骤2604:若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的第1个比特位是基于第二上下文模型进行基于上下文的自适应二进制算术解码得到,其他比特位基于旁路的二进制算术解码得到,第二上下文模型与第一上下文模型是同一上下文模型。
步骤2605:根据预测模式索引信息,从MPM列表中确定当前块启动的目标预测模式,该预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息。
步骤2606:根据目标预测模式对当前块进行预测。
作为一个示例,解码端可以先接收编码流,基于常规帧内预测、帧内子块预测模式和多行预测模式构建相同MPM列表的前提下,若当前块启动帧内子块预测模式或者多行预测模式,则其采用的目标预测模式一定是来自该MPM列表中,解析出其在列表中的索引值,即可得到最终的目标预测模式。若当前块启动常规帧内预测,则还需要解析一个标记位来确定目标预测模式是否来自该MPM列表,如果是来自该MPM列表,再解析其在该MPM列表中的索引值。
根据以上标志位的值,解码端可以唯一确定当前块的预测模式,从而得到当前块的预测值,用于后续的重建过程。
本申请实施例中,如果当前块的目标预测模式的参考行是当前块的相邻行,在对预测模式索引信息的第一个比特位进行编码或解码时,可以不根据当前块是否启动帧内子块预测模式这个条件来从两个不同的上下文模型选择上下文模型,而是在当前块启动帧内子块预测模式和未启动帧内子块预测模式这两个不同的条件下,可以使用同一上下文模型,对预测模式索引信息的第一个比特位进行基于上下文的自适应二进制算术编码或解码,如此,可以将所需的上下文模型的数量减小为1,减小了编解码的复杂度,减下来内存开销。
作为一个示例,预测模式索引信息所使用的上下文模型如下表24所示:
表24
Figure BDA0002103733630000371
Figure BDA0002103733630000381
也即是,当intra_luma_ref_idx等于0时,intra_luma_mpm_idx的第一个比特位在当前块启动帧内子块预测模式和未启动帧内子块预测模式的情况下,均可以基于同一上下文模型,对intra_luma_mpm_idx的第一个比特位进行基于上下文的自适应二进制算术编码或解码。
亮度的MPM的第二种实现方式
图27是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图27所示,该方法包括如下步骤:
步骤2701:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,确定当前块启动的帧内子块预测的目标预测模式在MPM列表的索引信息。
步骤2702:根据当前块启动的帧内子块预测的目标预测模式在MPM列表的索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术编码得到。
步骤2703:若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,如果当前块启动的目标预测模式在MPM列表中,则确定当前块启动的目标预测模式在MPM列表的索引信息。
步骤2704:根据当前块启动的目标预测模式在MPM列表中索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术编码得到。
作为一个示例,若当前块启动常规帧内预测块,还需要一个标记位表示当前块启动的常规预测的目标预测模式是否来自该MPM列表,如果确定目标预测模式来自该MPM列表,则确定目标预测模式在MPM列表的索引信息,如果目标预测模式不是来自MPM列表,则不需要确定目标预测模式在MPM列表的索引信息。
图28是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与图27所示的编码方法对应的解码方法,如图28所示,该方法包括如下步骤:
步骤2801:若当前块启动帧内子块预测时,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术编码得到。
步骤2802:根据预测模式索引信息,从MPM列表中确定当前块启动的帧内子块预测的目标预测模式,该预测模式索引信息用于指示目标预测模式在MPM列表中的索引信息。
步骤2803:根据目标预测模式对当前块进行预测。
步骤2804:若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术编码得到。
步骤2805:根据预测模式索引信息,从MPM列表中确定当前块启动的目标预测模式,该预测模式索引信息用于指示当前块启动的目标预测模式在MPM列表中的索引信息。
步骤2806:根据目标预测模式对当前块进行预测。
本申请实施例中,如果当前块的目标预测模式的参考行是当前块的相邻行,即intra_luma_ref_idx等于0时,在对预测模式索引信息的第一个比特位进行编码或解码时,可以不考虑当前块是否启动帧内子块预测模式,即在当前块启动帧内子块预测模式和未启动帧内子块预测模式这两个不同的情况下,均对预测模式索引信息的第一个比特位进行基于旁路的二进制算术编码或解码。如此,预测模式索引信息的第一个比特位也就不需要使用上下文模型,将其所需的上下文模型的数量减小为0,进而减小了编解码的复杂度,减小了内存开销。
作为一个示例,预测模式索引信息所使用的上下文模型如下表25所示:
表25
Figure BDA0002103733630000391
也即是,当intra_luma_ref_idx等于0时,intra_luma_mpm_idx的第一个比特位在当前块启动帧内子块预测模式和未启动帧内子块预测模式的情况下,对intra_luma_mpm_idx的第一个比特位均可以进行基于旁路的二进制算术编码或解码。
亮度的MPM的第三种实现方式
图29是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图29所示,该方法包括如下步骤:
步骤2901:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,确定当前块启动的帧内子块预测的目标预测模式在MPM列表的索引信息。
步骤2902:根据当前块启动的帧内子块预测的目标预测模式在MPM列表的索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术编码得到,其他比特位基于旁路的二进制算术编码得到。
步骤2903:若当前块启动常规帧内预测,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,如果当前块启动的常规预测的目标预测模式在MPM列表中,则确定当前块启动的常规预测的目标预测模式在MPM列表的索引信息。
步骤2904:根据当前块启动的目标预测模式在MPM列表中索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术编码得到。
作为一个示例,若当前块启动常规帧内预测,还需要一个标记位表示当前块启动的常规预测的目标预测模式是否来自MPM列表,如果确定目标预测模式来自MPM列表,则确定目标预测模式在MPM列表的索引信息,如果目标预测模式不是来自MPM列表,则不需要确定目标预测模式在MPM列表的索引信息。
图30是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与图29所示的解码方法对应的解码方法,如图30所示,该方法包括如下步骤:
步骤3001:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术解码得到,其他比特位基于旁路的二进制算术解码得到。
步骤3002:根据预测模式索引信息,从MPM列表中确定当前块启动的帧内子块预测的目标预测模式,该预测模式索引信息用于指示目标预测模式在MPM列表中的索引信息。
步骤3003:根据目标预测模式对当前块进行预测。
步骤3004:若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术解码得到。
步骤3005:根据预测模式索引信息,从MPM列表中确定当前块启动的目标预测模式,该预测模式索引信息用于指示当前块启动的目标预测模式在MPM列表中的索引信息。
步骤3006:根据目标预测模式对当前块进行预测。
本申请实施例中,如果当前块的目标预测模式的参考行是当前块的相邻行,即intra_luma_ref_idx等于0时,在对预测模式索引信息进行编码或解码时,如果当前块启动帧内子块预测模式,则基于一个上下文模型,对预测模式索引信息的第一个比特位进行基于上下文的自适应二进制算术编码或解码,如果当前块未启动帧内子块预测模式,则对预测模式索引信息的第一个比特位进行基于旁路的二进制算术编码或解码。如此,预测模式索引信息的编解码也就仅需一个上下文模型,将其所需的上下文模型的数量减小至1,减小了编解码的复杂度,减小了内存开销。
作为一个示例,预测模式索引信息所使用的上下文模型如下表26所示:
表26
Figure BDA0002103733630000401
也即是,当intra_luma_ref_idx等于0的情况下,且当前块启动ISP模式时,用一个上下文模型对intra_luma_mpm_idx的第一个比特位进行编解码,当当前块未启动ISP模式时,用Bypass对intra_luma_mpm_idx的第一个比特位进行编解码。
亮度的MPM的第四种实现方式
图31是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图31所示,该方法包括如下步骤:
步骤3101:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,确定当前块启动的帧内子块预测的目标预测模式在MPM列表的索引信息。
步骤3102:根据当前块启动的帧内子块预测的目标预测模式在MPM列表的索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术编码得到。
步骤3103:若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,如果当前块启动的目标预测模式在MPM列表中,则确定当前块启动的目标预测模式在MPM列表的索引信息。
步骤3104:根据当前块启动的目标预测模式在MPM列表中索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术编码得到,其他比特位基于旁路的二进制算术编码得到。
作为一个示例,若当前块启动常规帧内预测块,还需要一个标记位表示当前块启动的常规预测的目标预测模式是否来自该MPM列表,如果确定目标预测模式来自该MPM列表,则确定目标预测模式在MPM列表的索引信息,如果目标预测模式不是来自MPM列表,则不需要确定目标预测模式在MPM列表的索引信息。
图32是本申请实施例提供的一种解码方法的流程图,该方法应用于编码端,该方法是与图31所示的编码方法对应的解码方法,如图32所示,该方法包括如下步骤:
步骤3201:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术解码得到。
步骤3202:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术解码得到。
步骤3203:根据目标预测模式对当前块进行预测。
步骤3204:若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术编码得到,其他比特位基于旁路的二进制算术解码得到。
步骤3205:根据预测模式索引信息,从MPM列表中确定当前块启动的目标预测模式,该预测模式索引信息用于指示当前块启动的目标预测模式在MPM列表中的索引信息。
步骤3206:根据目标预测模式对当前块进行预测。
本申请实施例中,如果当前块的目标预测模式的参考行是当前块的相邻行,即intra_luma_ref_idx等于0时,在对预测模式索引信息进行编码或解码时,如果当前块启动帧内子块预测模式,则对预测模式索引信息的第一个比特位进行基于旁路的二进制算术编码或解码,如果当前块未启动帧内子块预测模式,则基于一个上下文模型,对预测模式索引信息的第一个比特位进行基于上下文的自适应二进制算术编码或解码。如此,预测模式索引信息的编解码也就仅需一个上下文模型,将其所需的上下文模型的数量减小至1,减小了编解码的复杂度,减小了内存开销。
作为一个示例,预测模式索引信息所使用的上下文模型如下表27所示:
表27
Figure BDA0002103733630000421
也即是,当intra_luma_ref_idx等于0的情况下,且当前块未启动ISP模式时,用一个上下文模型对intra_luma_mpm_idx的第一个比特位进行编解码,当当前块启动ISP模式时,用Bypass对intra_luma_mpm_idx的第一个比特位进行编解码。
亮度的MPM的第五种实现方式
编码端与解码端之间传输的语法元素还可以包括planar指示信息,planar指示信息用于指示当前块的目标预测模式是否为planar预测模式,planar指示信息占据一个比特位。示例的,planar指示信息为intra_luma_not_planar_flag。
相关技术中,planar指示信息的编解码方式如下表28所示:
表28
Figure BDA0002103733630000422
如上表26所示,planar指示信息intra_luma_not_planar_flag采用的是基于上下文的自适应二进制算数编码,其上下文的选择依赖于当前块是否启动帧内子块预测模式,也即是,planar指示信息的编解码需要2个不同的上下文模型。
图33是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图33所示,该方法包括如下步骤:
步骤3301:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,根据当前块启动的帧内子块预测的目标预测模式是否为planar预测模式,对planar指示信息进行编码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息是基于第一上下文模型进行基于上下文的自适应二进制算术编码得到。
步骤3302:若当前块启动常规帧内预测,当常规帧内预测的目标预测模式来自于MPM列表中,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,根据当前块启动的常规帧内预测的目标预测模式是否为planar预测模式,对planar指示信息进行编码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息是基于第二上下文模型进行基于上下文的自适应二进制算术编码得到,第一上下文模型与所述第二上下文模型相同。
图34是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与图33所示的编码方法对应的解码方法,如图34所示,该方法包括如下步骤:
步骤3401:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对planar指示信息进行解码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息是基于第一上下文模型进行基于上下文的自适应二进制算术解码得到。
步骤3402:当基于planar指示信息确定当前块启动的帧内子块预测的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测。
步骤3403:当基于planar指示信息确定当前块启动的帧内子块预测的目标预测模式不是planar预测模式时,根据预测模式索引信息,从MPM列表中确定当前块启动的帧内子块预测的目标预测模式,根据目标预测模式对当前块进行预测。
步骤3404:若当前块启动常规帧内预测,常规帧内预测的目标预测模式来自于MPM列表中,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对planar指示信息进行解码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息是基于第二上下文模型进行基于上下文的自适应二进制算术解码得到,第一上下文模型与第二上下文模型相同。
步骤3405:当基于planar指示信息确定当前块启动的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测。
步骤3406:当基于planar指示信息确定当前块启动的目标预测模式不是planar预测模式时,根据预测模式索引信息,从MPM列表中确定当前块启动的的目标预测模式,根据目标预测模式对当前块进行预测。
本申请实施例中,不考虑当前块是否启动帧内子块预测模式,在对planar指示信息进行编解码时,在当前块启动帧内子块预测模式和常规帧内预测这两种情况下,均基于同一上下文模型,对planar指示信息进行基于上下文的自适应二进制算术编码或解码。如此,将planar指示信息所需的上下文模型数量降为1,减小了编解码的复杂度和内存开销。
作为一个示例,planar指示信息的编解码方式如下表29所示:
表29
Figure BDA0002103733630000441
由上表27所示,planar指示信息intra_luma_not_planar_flag仍然采用基于上下文的自适应二进制算数编解码方式,但是其上下文的选择不依赖于当前块是否启动帧内子块预测模式,而是当前块启动帧内子块预测模式和常规帧内预测这两种情况下,均采用固定的1个上下文模型进行编解码。
亮度的MPM的第六种实现方式
图35是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图35所示,该方法包括如下步骤:
步骤3501:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,根据当前块启动的帧内子块预测的目标预测模式是否为planar预测模式,对planar指示信息进行编码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息基于旁路的二进制算术编码得到。
步骤3502:若当前块启动常规帧内预测,当常规帧内预测的目标预测模式来自于MPM列表中,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,根据当前块启动的常规帧内预测的目标预测模式是否为planar预测模式,对planar指示信息进行编码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息基于旁路的二进制算术编码得到。
图36是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与图35所示的编码方法对应的解码方法,如图36所示,该方法包括如下步骤:
步骤3601:若当前块启动帧内子块预测,帧内子块预测的目标预测模式存在于MPM列表中,当前块为亮度块,则在根据帧内子块预测对当前块进行预测时,对planar指示信息进行解码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息基于旁路的二进制算术解码得到。
步骤3602:当基于planar指示信息确定当前块启动的帧内子块预测的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测。
步骤3603:当基于planar指示信息确定当前块启动的帧内子块预测的目标预测模式不是planar预测模式时,根据预测模式索引信息,从MPM列表中确定当前块启动的帧内子块预测的目标预测模式,根据目标预测模式对当前块进行预测。
步骤3604:若当前块启动常规帧内预测,常规帧内预测的目标预测模式来自于MPM列表中,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对planar指示信息进行解码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息基于旁路的二进制算术解码得到。
步骤3605:当基于planar指示信息确定当前块启动的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测。
步骤3606:当基于planar指示信息确定当前块启动的目标预测模式不是planar预测模式时,根据预测模式索引信息,从MPM列表中确定当前块启动的的目标预测模式,根据目标预测模式对当前块进行预测。
本申请实施例中,不考虑当前块是否启动帧内子块预测模式,在对planar指示信息进行编解码时,在当前块启动帧内子块预测和常规帧内预测这两种情况下,均对planar指示信息进行基于旁路的二进制算术编码或解码。如此,将planar指示信息所需的上下文模型数量降为0,减小了编解码的复杂度和内存开销。
作为一个示例,planar指示信息的编解码方式如下表30所示:
表30
Figure BDA0002103733630000451
由上表28所示,planar指示信息intra_luma_not_planar_flag不再采用基于上下文的自适应二进制算数编解码方式,而是在当前块启动帧内子块预测模式和常规帧内预测这两种情况下,均采用于基于旁路的二进制算术编码或解码方式。
需要说明的是,上述方法还可以应用于仅考虑常规帧内预测的场景中。
实施例一
在另一实施例中,还提供了一种编码方法,该编码方法应用于编码端,该编码方法包括如下步骤:
步骤1:若当前块启动常规帧内预测,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,如果当前块启动的目标预测模式来自于MPM列表中,则确定当前块启动的目标预测模式在MPM列表的索引信息。
步骤2:根据当前块启动的目标预测模式在MPM列表中的索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术编码得到,其他比特位基于旁路的二进制算术编码得到。
作为一个示例,若当前块启动常规帧内预测块,还需要一个标记位表示当前块启动的常规预测的目标预测模式是否来自该MPM列表,如果确定目标预测模式来自该MPM列表,则接下来确定目标预测模式在MPM列表的索引信息,如果目标预测模式不是来自MPM列表,则不需要确定目标预测模式在MPM列表的索引信息。
在另一实施例中,还提供了一种解码方法,该解码方法应用于解码端,是与上述编码方法对应的解码方法,该解码方法包括如下步骤:
步骤1:若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术解码得到,其他比特位基于旁路的二进制算术解码得到,第二上下文模型与第一上下文模型是同一上下文模型。
步骤2:根据预测模式索引信息,从MPM列表中确定当前块启动的目标预测模式,该预测模式索引信息用于指示目标预测模式在所述MPM列表中的索引信息。
步骤3:根据目标预测模式对当前块进行预测。
实施例二
在另一实施例中还提供了一种编码方法,该编码方法应用于编码端,该编码方法包括如下步骤:
步骤1:若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,如果当前块启动的目标预测模式在MPM列表中,则确定当前块启动的目标预测模式在MPM列表的索引信息。
步骤2:根据当前块启动的目标预测模式在MPM列表中索引信息,对预测模式索引信息进行编码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术编码得到。
作为一个示例,若当前块启动常规帧内预测块,还需要一个标记位表示当前块启动的常规预测的目标预测模式是否来自该MPM列表,如果确定目标预测模式来自该MPM列表,则确定目标预测模式在MPM列表的索引信息,如果目标预测模式不是来自MPM列表,则不需要确定目标预测模式在MPM列表的索引信息。
在另一实施例中,还提供了一种解码方法,该解码方法应用于解码端,是与上述编码方法对应的解码方法,该解码方法包括如下步骤:
步骤1:若当前块启动常规帧内预测时,当常规帧内预测的目标预测模式来自于MPM列表中时,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对预测模式索引信息进行解码,其中,预测模式索引信息的所有比特位基于旁路的二进制算术编码得到。
步骤2:根据预测模式索引信息,从MPM列表中确定当前块启动的目标预测模式,该预测模式索引信息用于指示当前块启动的目标预测模式在MPM列表中的索引信息。
步骤3:根据目标预测模式对当前块进行预测。
实施例三
在另一实施例中还提供了一种编码方法,该编码方法应用于编码端,该编码方法包括如下步骤:
步骤1:若当前块启动常规帧内预测,当常规帧内预测的目标预测模式来自于MPM列表中,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,根据当前块启动的常规帧内预测的目标预测模式是否为planar预测模式,对planar指示信息进行编码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息是基于一个上下文模型进行基于上下文的自适应二进制算术编码得到。
在另一实施例中,还提供了一种解码方法,该解码方法应用于解码端,是与上述编码方法对应的解码方法,该解码方法包括如下步骤:
步骤1:若当前块启动常规帧内预测,常规帧内预测的目标预测模式来自于MPM列表中,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对planar指示信息进行解码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息是基于一个上下文模型进行基于上下文的自适应二进制算术解码得到。
步骤2:当基于planar指示信息确定当前块启动的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测。
步骤3:当基于planar指示信息确定当前块启动的目标预测模式不是planar预测模式时,根据预测模式索引信息,从MPM列表中确定当前块启动的的目标预测模式,根据目标预测模式对当前块进行预测。
实施例四
在另一实施例中还提供了一种编码方法,该编码方法应用于编码端,该编码方法包括如下步骤:
步骤1:若当前块启动常规帧内预测,当常规帧内预测的目标预测模式来自于MPM列表中,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,根据当前块启动的常规帧内预测的目标预测模式是否为planar预测模式,对planar指示信息进行编码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息是基于旁路的二进制算术编码得到。
在另一实施例中,还提供了一种解码方法,该解码方法应用于解码端,是与上述编码方法对应的解码方法,该解码方法包括如下步骤:
步骤1:若当前块启动常规帧内预测,常规帧内预测的目标预测模式来自于MPM列表中,当前块为亮度块,则在根据常规帧内预测对当前块进行预测时,对planar指示信息进行解码,其中,planar指示信息用于指示当前块启动的目标预测模式是否为planar预测模式,planar指示信息是基于旁路的二进制算术编码得到。
步骤2:当基于planar指示信息确定当前块启动的目标预测模式为planar预测模式时,根据planar预测模式对当前块进行预测。
步骤3:当基于planar指示信息确定当前块启动的目标预测模式不是planar预测模式时,根据预测模式索引信息,从MPM列表中确定当前块启动的的目标预测模式,根据目标预测模式对当前块进行预测。
色度的MPM
编码端与解码端之间传输的语法元素还包括色度预测模式索引信息,色度预测模式索引信息用于指示当前块的目标预测模式在对应的候选预测模式列表中的索引信息。
相关技术中,色度预测模式索引信息与其对应的预测模式如下表31所示,
表31
Figure BDA0002103733630000481
由上表29可知,若当前块支持跨分量预测模式,且当前块启动跨分量预测模式,则色度预测模式索引信息最大占据4个比特位,若当前块支持跨分量预测模式,且当前块未启动跨分量预测模式,则色度预测模式索引信息最大占据5个比特位。
相关技术中,若当前块支持跨分量预测模式,且当前块启动跨分量预测模式,则色度预测模式索引信息的编解码方式如下表32所示:
表32
Figure BDA0002103733630000482
由上表30可知,在当前块支持跨分量预测模式,且当前块启动跨分量预测模式的情况下,色度预测模式索引信息的第1个比特位是基于第1个上下文模型基于上下文的自适应二进制算术解码得到,色度预测模式索引信息的第2个比特位是基于第2个上下文模型进行基于上下文的自适应二进制算术解码得到,色度预测模式索引信息的第3个比特位和第4个比特位是基于第3个上下文模型进行基于上下文的自适应二进制算术解码得到,而且,这3个上下文模型均为不同的上下文模型。也即是,色度预测模式索引信息需要使用3个上下文模型,内存开销较大。
色度的MPM的第一种实现方式
图37是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图37所示,当前块支持跨分量预测模式,且当前块启动跨分量预测模式,当前块为色度块,该方法包括:
步骤3701:在根据跨分量预测模式对当前块进行预测时,确定当前块的目标预测模式在对应的候选预测模式列表中的索引信息。
其中,编码端可以通过率失真代价抉择最终的目标预测模式,然后通过编码索引信息通知解码端选择了哪一个预测模式。
步骤3702:根据当前块的目标预测模式在对应的候选预测模式列表中的索引信息,对色度预测模式索引信息进行编码。
其中,色度预测模式索引信息用于指示当前块的目标预测模式在对应的候选预测模式列表中的索引信息。色度预测模式索引信息的第1个比特位是基于第一上下文模型基于上下文的自适应二进制算术编码得到,色度预测模式索引信息的第2个比特位是基于第二上下文模型进行基于上下文的自适应二进制算术编码,而且,第一上下文模型与所述第二上下文模型不同;色度预测模式索引信息的第3个比特位和第4个比特位是基于旁路的二进制算术编码得到。
作为一个示例,编码端存储有色度预测模式候选者列表,编码端可以通过RDO抉择最终使用的目标预测模式,然后编码索引值通知解码端选择了哪一个预测模式,即编码色度预测模式索引信息。
作为一个示例,色度预测模式包含与亮度相同的预测模式和跨分量预测模式。其中,跨分量预测模式包含通过两侧模板推导得到线性模型系数的模式,通过上侧模板推导得到线性模型系数的模式和通过左侧模板推导得到线性模型系数的模式,还有Planar预测模式,DC预测模式、垂直预测模式和水平预测模式。
图38是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,是与上述图37所示的编码方法对应的解码方法,如图38所示,当前块支持跨分量预测模式,且当前块启动跨分量预测模式,当前块为色度块,该方法包括:
步骤3801:在根据跨分量预测模式对当前块进行预测时,对色度预测模式索引信息进行解码。
其中,色度预测模式索引信息的第1个比特位是基于第一上下文模型基于上下文的自适应二进制算术解码得到,色度预测模式索引信息的第2个比特位是基于第二上下文模型进行基于上下文的自适应二进制算术解码,第一上下文模型与第二上下文模型不同;色度预测模式索引信息的第3个比特位和第4个比特位是基于旁路的二进制算术解码得到。
步骤3802:根据色度预测模式索引信息,从候选预测模式列表中确定当前块的目标预测模式。
步骤3803:根据目标预测模式对当前块进行预测。
作为一个示例,解码端可以接收编码流,然后从中解析色度预测模式相关语法。每一种预测模式需要花费的编码比特开销是不同的,解码端通过解析色度预测模式索引信息唯一确定当前块的色度预测模式,从而得到当前块的预测值,用于后续的重建过程。
本申请实施例中,当前块支持跨分量预测模式,且当前块启动跨分量预测模式时,色度预测模式索引信息的第3个比特位和第4个比特位可以基于旁路的二进制算术解码得到,如此,可以将色度预测模式索引信息所需的上下文模型的数量降至2,减少了编解码的复杂度,减少了内容开销。
作为一个示例,若当前块支持跨分量预测模式,且当前块启动跨分量预测模式,则色度预测模式索引信息的编解码方式如下表33和下表34所示:
表33
Figure BDA0002103733630000501
表34
Figure BDA0002103733630000502
色度的MPM的第二种实现方式
图39是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图39所示,当前块支持跨分量预测模式,且当前块启动跨分量预测模式,当前块为色度块,该方法包括:
步骤3901:在根据跨分量预测模式对当前块进行预测时,确定当前块的目标预测模式在对应的候选预测模式列表中的索引信息。
其中,编码端可以通过率失真代价抉择最终的目标预测模式,然后通过编码索引信息通知解码端选择了哪一个预测模式。
步骤3902:根据当前块的目标预测模式在对应的候选预测模式列表中的索引信息,对色度预测模式索引信息进行编码。
其中,色度预测模式索引信息用于指示当前块的目标预测模式在对应的候选预测模式列表中的索引信息。色度预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术编码得到,色度预测模式索引信息的第2个比特位、3个比特位和第4个比特位是基于旁路的二进制算术编码得到。
图40是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,是与上述图39所示的编码方法对应的解码方法,如图40所示,当前块支持跨分量预测模式,且当前块启动跨分量预测模式,当前块为色度块,该方法包括:
步骤4001:在根据跨分量预测模式对当前块进行预测时,对色度预测模式索引信息进行解码。
其中,色度预测模式索引信息的第1个比特位是基于一个上下文模型进行基于上下文的自适应二进制算术解码得到,色度预测模式索引信息的第2个比特位、3个比特位和第4个比特位是基于旁路的二进制算术解码得到。
步骤4002:根据色度预测模式索引信息,从候选预测模式列表中确定当前块的目标预测模式。
步骤4003:根据目标预测模式对当前块进行预测。
本申请实施例中,当前块支持跨分量预测模式,且当前块启动跨分量预测模式时,色度预测模式索引信息的第1个比特位使用1个上下文模型,而第2个比特位、第3个比特位和第4个比特位均采用基于旁路的二进制算术编解码方式,如此,可以将色度预测模式索引信息所需的上下文模型的数量降至1,减少了编解码的复杂度,减少了内容开销。
作为一个示例,若当前块支持跨分量预测模式,且当前块启动跨分量预测模式,则色度预测模式索引信息的编解码方式如下表35和下表36所示:
表35
Figure BDA0002103733630000511
表36
Figure BDA0002103733630000521
色度的MPM的第三种实现方式
图41是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图41所示,当前块支持跨分量预测模式,当前块为色度块时,该方法包括:
步骤4101:在根据跨分量预测模式对当前块进行预测时,确定当前块的目标预测模式在对应的候选预测模式列表中的索引信息。
其中,编码端可以通过率失真代价抉择最终的目标预测模式,然后通过编码索引信息通知解码端选择了哪一个预测模式。
步骤4102:根据当前块的目标预测模式在对应的候选预测模式列表中的索引信息,对色度预测模式索引信息进行编码。
其中,色度预测模式索引信息用于指示当前块的目标预测模式在对应的候选预测模式列表中的索引信息。
作为一个示例,若色度预测模式索引信息为10,则目标预测模式为第一跨分量预测模式;
若色度预测模式索引信息为110,则目标预测模式为第二跨分量预测模式;
若色度预测模式索引信息为111,则目标预测模式为第二跨分量预测模式;
若色度预测模式索引信息为11110,则目标预测模式为planar预测模式;
若色度预测模式索引信息为111110,则目标预测模式为垂直预测模式;
若色度预测模式索引信息为1111110,则目标预测模式为水平预测模式;
若色度预测模式索引信息为1111111,则目标预测模式为DC预测模式。
示例的,色度预测模式索引信息与其对应的预测模式如下表37所示:
表37
Figure BDA0002103733630000531
由上表35可知,当当前块支持跨分量预测模式,且当前块启动跨分量预测模式,色度预测模式索引信息指示跨分量预测模式,且这种情况下,色度预测模式索引信息最多占据3个比特位,减少了比特开销,进而减小了内存开销。另外,当当前块支持跨分量预测模式,且当前块未启动跨分量预测模式,色度预测模式索引信息指示常规帧内预测,且这种情况下,色度预测模式索引信息最多占据6个比特位。
作为另一实施例,若色度预测模式索引信息为10,则目标预测模式为第一跨分量预测模式;
若色度预测模式索引信息为110,则目标预测模式为第二跨分量预测模式;
若色度预测模式索引信息为111,则目标预测模式为第二跨分量预测模式;
若色度预测模式索引信息为11110,则目标预测模式为planar预测模式;
若色度预测模式索引信息为111110,则目标预测模式为垂直预测模式;
若色度预测模式索引信息为1111110,则目标预测模式为水平预测模式;
若色度预测模式索引信息为1111111,则目标预测模式为DC预测模式。
步骤4103:根据目标预测模式对当前块进行预测。
示例的,色度预测模式索引信息与其对应的预测模式如下表38所示:
表38
Figure BDA0002103733630000541
由上表36可知,当当前块支持跨分量预测模式,且当前块启动跨分量预测模式,色度预测模式索引信息指示跨分量预测模式,且这种情况下,色度预测模式索引信息最多占据3个比特位,减少了比特开销,进而减小了内存开销。另外,当当前块支持跨分量预测模式,且当前块未启动跨分量预测模式,色度预测模式索引信息指示常规帧内预测,且这种情况下,色度预测模式索引信息最多占据7个比特位。
图42是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与图41所示的编码方法对应的解码方法,如图42所示,当前块支持跨分量预测模式,当前块为色度块时,该方法包括:
步骤4201:在根据跨分量预测模式对当前块进行预测时,对色度预测模式索引信息进行解码。
步骤4202:根据色度预测模式索引信息,从候选预测模式列表中确定当前块的目标预测模式。
作为一个示例,若色度预测模式索引信息为10,则目标预测模式为第一跨分量预测模式;
若色度预测模式索引信息为110,则目标预测模式为第二跨分量预测模式;
若色度预测模式索引信息为111,则目标预测模式为第二跨分量预测模式;
若色度预测模式索引信息为11110,则目标预测模式为planar预测模式;
若色度预测模式索引信息为111110,则目标预测模式为垂直预测模式;
若色度预测模式索引信息为1111110,则目标预测模式为水平预测模式;
若色度预测模式索引信息为1111111,则目标预测模式为DC预测模式。
作为另一实施例,若色度预测模式索引信息为10,则目标预测模式为第一跨分量预测模式;
若色度预测模式索引信息为110,则目标预测模式为第二跨分量预测模式;
若色度预测模式索引信息为111,则目标预测模式为第二跨分量预测模式;
若色度预测模式索引信息为11110,则目标预测模式为planar预测模式;
若色度预测模式索引信息为111110,则目标预测模式为垂直预测模式;
若色度预测模式索引信息为1111110,则目标预测模式为水平预测模式;
若色度预测模式索引信息为1111111,则目标预测模式为DC预测模式。
根据目标预测模式对当前块进行预测。
步骤4203:根据目标预测模式对当前块进行预测。
本申请实施例,当当前块支持跨分量预测模式,且当前块启动跨分量预测模式时,可以减小色度预测模式索引信息的比特开销,进而减小内存开销。
CCLM模式
图43是申请实施例提供的一种编解码方法的流程图,该方法应用于编码端或解码端,如图43所示,该方法包括:
步骤4301:当当前块的亮度和色度共用一棵划分树时,若当前块对应的亮度块的宽高尺寸为64*64,当前块对应的色度块的尺寸为32*32,则当前块不支持跨分量预测模式。
本申请实施例,可以降低CCLM模式下亮度和色度的依赖性,避免色度块需要等待一个64*64的亮度块的重建值。
ALF模式
编码端与解码端之间传输的语法元素还包括ALF指示信息,ALF指示信息用于指示当前块是否启动ALF。示例的,ALF指示信息为alf_ctb_flag。
相关技术中,ALF指示信息的编解码方式如下表39所示:
表39
Figure BDA0002103733630000551
其中,上下文模型选择的计算公式为:
ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3
由表37和上述公式可知,ALF指示信息的编解码的上下文模型的选择,取决于三个因素:当前块的上边块是否使用了ALF,当前块的左边块是否使用了ALF,以及当前分量的索引,总计需要使用到9个上下文模型。
具体地,若当前块支持ALF,当前块为亮度块,则基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码或解码,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型。
若当前块支持ALF,当前块为CB色度块,则基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码或解码,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第二上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型。
若当前块支持ALF,当前块为CR色度块,则基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码或解码,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第三上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型。其中,上述9个上下文模型均不同。
ALF模式的第一种实现方式
图44是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图44所示,该方法包括如下步骤:
步骤4401:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型。
作为一个示例,第一上下文模型集合包括第一上下文模型、第二上下文模型和第三上下文模型。若当前块的上边块启动ALF,且当前块的左边块启动ALF,则目标上下文模型为第一上下文模型;若当前块的上边块启动ALF且当前块的左边块未启动ALF,或者,若当前块的上边块未启动ALF且当前块的左边块启动ALF,则目标上下文模型为第二上下文模型;若当前块的上边块未启动ALF,且当前块的左边块未启动ALF,则目标上下文模型为第三上下文模型。
步骤4402:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据所述当前块的上边块是否启动ALF,以及所述当前块的左边块是否启动ALF,从第二上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型,第二上下文模型集合包括的3个上下文模型与第一上下文模型集合包括的3个上下文模型不同。
其中,色度块包括CB色度块和CR色度块。
作为一个示例,第二上下文模型集合包括第四上下文模型、第五上下文模型和第六上下文模型。若当前块的上边块启动ALF,且当前块的左边块启动ALF,则目标上下文模型为第四上下文模型;若当前块的上边块启动ALF且当前块的左边块未启动ALF,或者,若当前块的上边块未启动ALF且当前块的左边块启动ALF,则目标上下文模型为第五上下文模型;若当前块的上边块未启动ALF,且当前块的左边块未启动ALF,则目标上下文模型为第六上下文模型。
作为一个示例,编码端可以通过RDO决策当前块是否启动ALF,即是否使用自适应环路滤波,并在码流中编码ALF指示信息,以告知解码端是否启动ALF,进而告知解码端是否进行自适应环路滤波。而且,如果启动ALF,还需要编码ALF相关的语法元素,编码端也同样进行滤波。
图45是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图44所示的编码方法对应的解码方法,如图45所示,该方法包括如下步骤:
步骤4501:若当前块支持自适应环路滤波器ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型。
步骤4502:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第二上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型,第二上下文模型集合包括的3个上下文模型与第一上下文模型集合包括的3个上下文模型不同。
其中,色度块包括CB色度块和CR色度块。
解码端接收编码流后,可以通过解码ALF指示信息,解析当前块是否启动自适应环路滤波。若ALF指示信息指示当前块启动ALF,则解码端还可以继续解码ALF相关的语法元素,以对当前块进行自适应环路滤波,从而得到滤波后的重构像素。
作为一个示例,ALF指示信息的编解码方式如下表40所示:
表40
Figure BDA0002103733630000571
其中,上下文模型选择的计算公式为:
ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3
本申请实施例中,针对ALF指示信息,CB色度块和CR色度块可以共用3个不同的上下文模型,如此,可以将ALF指示信息使用的上下文模型数量将为6,从而减小了编解码的复杂度,减小了内存开销。
ALF模式的第二种实现方式
图46是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图46所示,该方法包括如下步骤:
步骤4601:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型。
作为一个示例,第一上下文模型集合包括第一上下文模型、第二上下文模型和第三上下文模型。若当前块的上边块启动ALF,且当前块的左边块启动ALF,则目标上下文模型为第一上下文模型;若当前块的上边块启动ALF且当前块的左边块未启动ALF,或者,若当前块的上边块未启动ALF且当前块的左边块启动ALF,则目标上下文模型为第二上下文模型;若当前块的上边块未启动ALF,且当前块的左边块未启动ALF,则目标上下文模型为第三上下文模型。
步骤4602:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据所述当前块的上边块是否启动ALF,以及所述当前块的左边块是否启动ALF,从第二上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型,第二上下文模型集合包括的3个上下文模型与第一上下文模型集合包括的3个上下文模型相同。
其中,色度块包括CB色度块和CR色度块。
作为一个示例,第二上下文模型集合包括第四上下文模型、第五上下文模型和第六上下文模型。若当前块的上边块启动ALF,且当前块的左边块启动ALF,则目标上下文模型为第四上下文模型;若当前块的上边块启动ALF且当前块的左边块未启动ALF,或者,若当前块的上边块未启动ALF且当前块的左边块启动ALF,则目标上下文模型为第五上下文模型;若当前块的上边块未启动ALF,且当前块的左边块未启动ALF,则目标上下文模型为第六上下文模型。
图47是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图46所示的编码方法对应的解码方法,如图47所示,该方法包括如下步骤:
步骤4701:若当前块支持自适应环路滤波器ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型。
步骤4702:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第二上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型,第二上下文模型集合包括的3个上下文模型与第一上下文模型集合包括的3个上下文模型不同。
其中,色度块包括CB色度块和CR色度块。
作为一个示例,ALF指示信息的编解码方式如下表41所示:
表41
Figure BDA0002103733630000581
其中,上下文模型选择的计算公式为:
ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3
本申请实施例中,针对ALF指示信息,亮度块、CB色度块和CR色度块均可以共用3个不同的上下文模型,如此,可以将ALF指示信息使用的上下文模型数量将为3,从而减小了编解码的复杂度,减小了内存开销。
ALF模式的第三种实现方式
图48是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图48所示,该方法包括如下步骤:
步骤4801:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码。
步骤4802:若当前块支持ALF,当前块为CB色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码。
步骤4803:若当前块支持ALF,当前块为CR色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第三上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,第一上下文模型、第二上下文模型和第三上下文模型为不同的上下文模型。
图49是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图48所示的编码方法对应的解码方法,如图49所示,该方法包括如下步骤:
步骤4901:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,ALF指示信息用于指示当前块是否启动ALF。
步骤4902:若当前块支持ALF,当前块为CB色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码。
步骤4903:若当前块支持ALF,当前块为CR色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第三上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,第一上下文模型、第二上下文模型和第三上下文模型为不同的上下文模型。
作为一个示例,ALF指示信息的编解码方式如下表42所示:
表42
Figure BDA0002103733630000591
其中,上下文模型选择的计算公式为:
ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx
本申请实施例中,针对ALF指示信息,亮度块共用一个上下文模型,CB色度块共用一个上下文模型,CR色度块共用一个上下文模型,如此,可以将ALF指示信息使用的上下文模型数量将为3,从而减小了编解码的复杂度,减小了内存开销。
ALF模式的第四种实现方式
图50是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图50所示,该方法包括如下步骤:
步骤5001:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码。
步骤5002:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码。
其中,色度块包括CB色度块和CR色度块。
图51是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图50所示的编码方法对应的解码方法,如图51所示,该方法包括如下步骤:
步骤5101:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,ALF指示信息用于指示当前块是否启动ALF。
步骤5102:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,第一上下文模型和第二上下文模型不同。
作为一个示例,ALF指示信息的编解码方式如下表43所示:
表43
Figure BDA0002103733630000601
其中,上下文模型选择的计算公式为:
ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx
本申请实施例中,针对ALF指示信息,亮度块共用一个上下文模型,CB色度块和CR色度块共用一个上下文模型,如此,可以将ALF指示信息使用的上下文模型数量将为2,从而减小了编解码的复杂度,减小了内存开销。
ALF模式的第五种实现方式
图52是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图52所示,该方法包括如下步骤:
步骤5201:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型。
作为一个示例,第一上下文模型集合包括第一上下文模型、第二上下文模型和第三上下文模型。若当前块的上边块启动ALF,且当前块的左边块启动ALF,则目标上下文模型为第一上下文模型;若当前块的上边块启动ALF且当前块的左边块未启动ALF,或者,若当前块的上边块未启动ALF且当前块的左边块启动ALF,则目标上下文模型为第二上下文模型;若当前块的上边块未启动ALF,且当前块的左边块未启动ALF,则目标上下文模型为第三上下文模型。
步骤5202:若当前块支持ALF,当前块为CB色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码。
步骤5203:若当前块支持ALF,当前块为CR色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码,第一上下文模型集合包括的上下文模型、第一上下文模型和第二上下文模型为不同的上下文模型。
图53是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图52所示的编码方法对应的解码方法,如图53所示,该方法包括如下步骤:
步骤5301:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于目标上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的上边块是否启动ALF,以及当前块的左边块是否启动ALF,从第一上下文模型集合包括的3个不同的上下文模型中选择的一个上下文模型。
作为一个示例,第一上下文模型集合包括第一上下文模型、第二上下文模型和第三上下文模型。若当前块的上边块启动ALF,且当前块的左边块启动ALF,则目标上下文模型为第一上下文模型;若当前块的上边块启动ALF且当前块的左边块未启动ALF,或者,若当前块的上边块未启动ALF且当前块的左边块启动ALF,则目标上下文模型为第二上下文模型;若当前块的上边块未启动ALF,且当前块的左边块未启动ALF,则目标上下文模型为第三上下文模型。
步骤5302:若当前块支持ALF,当前块为CB色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码。
步骤5303:若当前块支持ALF,当前块为CR色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,第一上下文模型集合包括的上下文模型、第一上下文模型和第二上下文模型为不同的上下文模型。
作为一个示例,对于亮度块来说,ALF指示信息的编解码方式如下表44所示:
表44
Figure BDA0002103733630000611
其中,上下文模型选择的计算公式:
ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3
作为一个示例,对于色度块来说,ALF指示信息的编解码方式如下表45所示:
表45
Figure BDA0002103733630000612
其中,上下文模型选择的计算公式:
ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx
本申请实施例中,针对ALF指示信息,亮度块需要使用3个不同的上下文模型,CB色度块共用1个上下文模块,CR色度块共用1个不同的上下文模型,如此,可以将ALF指示信息使用的上下文模型数量将为5,从而减小了编解码的复杂度,减小了内存开销。
ALF模式的第六种实现方式
图54是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图54所示,该方法包括如下步骤:
步骤5401:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码。
步骤5402:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码,第二上下文模型与第一上下文模型为同一上下文模型。
图55是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图54所示的编码方法对应的解码方法,如图55所示,该方法包括如下步骤:
步骤5501:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于第一上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,ALF指示信息用于指示当前块是否启动ALF。
步骤5502:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于第二上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,第二上下文模型与第一上下文模型为同一上下文模型。
本申请实施例中,针对ALF指示信息,亮度块、CB色度块和CR色度块共用1个上下文模型,如此,可以将ALF指示信息使用的上下文模型数量将为1,从而减小了编解码的复杂度,减小了内存开销。
ALF模式的第七种实现方式
图56是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图56所示,该方法包括如下步骤:
步骤5601:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术编码。
步骤5602:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息对ALF指示信息进行基于旁路的二进制算术编码。
图57是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图56所示的编码方法对应的解码方法,如图57所示,该方法包括如下步骤:
步骤5701:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术解码,ALF指示信息用于指示当前块是否启动ALF。
步骤5702:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术解码。
本申请实施例中,针对ALF指示信息,当当前块为亮度块、CB色度块和CR色度块的情况下,均可以采用基于旁路的二进制算术编解码的方式,对ALF指示信息进行编码或解码,如此,可以将ALF指示信息使用的上下文模型数量降为0,从而减小了编解码的复杂度,减小了内存开销。
ALF模式的第八种实现方式
图58是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图58所示,该方法包括如下步骤:
步骤5801:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于一个上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,ALF指示信息用于指示当前块是否启动ALF。
步骤5802:若当前块支持器ALF,且当前块启动自适应环路滤波器ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术解码。
其中,色度块包括CB色度块和CR色度块。
图59是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图58所示的编码方法对应的解码方法,如图59所示,该方法包括如下步骤:
步骤5901:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,基于一个上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码,ALF指示信息用于指示当前块是否启动ALF。
步骤5902:若当前块支持器ALF,且当前块启动自适应环路滤波器ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术解码。
其中,色度块包括CB色度块和CR色度块。
本申请实施例中,针对ALF指示信息,亮度块使用1个上下文模型,CB色度块和CR色度块均采用基于旁路的二进制算术编解码的方式进行编码或解码,如此,可以将ALF指示信息使用的上下文模型数量降为1,从而减小了编解码的复杂度,减小了内存开销。
ALF模式的第九种实现方式
图60是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图60所示,该方法包括如下步骤:
步骤6001:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术编码,ALF指示信息用于指示当前块是否启动ALF。
步骤6002:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于一个上下文模型对ALF指示信息进行基于上下文的自适应二进制算术编码。
其中,色度块包括CB色度块和CR色度块。
图61是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为图60所示的编码方法对应的解码方法,如图61所示,该方法包括如下步骤:
步骤6101:若当前块支持ALF,当前块为亮度块,则在根据ALF模式对当前块进行滤波处理之前,对ALF指示信息进行基于旁路的二进制算术解码,ALF指示信息用于指示当前块是否启动ALF。
步骤6102:若当前块支持ALF,当前块为色度块,则在根据ALF模式对当前块进行滤波处理之前,基于一个上下文模型对ALF指示信息进行基于上下文的自适应二进制算术解码。
其中,色度块包括CB色度块和CR色度块。
本申请实施例中,针对ALF指示信息,亮度块采用基于旁路的二进制算术编解码的方式进行编码或解码,CB色度块和CR色度块共用一个上下文模型,如此,可以将ALF指示信息使用的上下文模型数量降为1,从而减小了编解码的复杂度,减小了内存开销。
MIP模式
在MIP模式下,编码端与解码端之间传输的语法元素还包括MIP指示信息,MIP指示信息用于指示当前块是否启动基于矩阵的帧内预测模式。示例的,MIP指示信息为Intra_MIP_flag。
相关技术中,若当前块支持基于矩阵的帧内预测模式,则在根据基于矩阵的帧内预测模式对当前块进行预测之前,可以基于目标上下文模型对MIP指示信息进行基于上下文的自适应二进制算术解码。其中,目标上下文模型是根据当前块的上边块是否启动基于矩阵的帧内预测模式,当前块的左边块是否启动基于矩阵的帧内预测模式,以及当前块是否满足预设尺寸条件,从4个不同的上下文模型中选择的一个上下文模型。
作为一个示例,预设尺寸条件可以为当前块的宽度大于高度的两倍,或者当前块的高度大于宽度的两倍。当然,该预设尺寸条件也可以为其他条件,本申请实施例对此不做限定。
具体地,假设上述4个不同的上下文模型包括第一上下文模型、第二上下文模型、第三上下文模型和第四上下文模型。若当前块的上边块启动基于矩阵的帧内预测模式,当前块的左边块启动基于矩阵的帧内预测模式,且当前块不满足预设尺寸条件,则目标上下文模型为第一上下文模型;若当前块的上边块启动基于矩阵的帧内预测模式,当前块的左边块未启动基于矩阵的帧内预测模式,且当前块不满足预设尺寸条件,或者,若当前块的上边块未启动基于矩阵的帧内预测模式,当前块的左边块启动基于矩阵的帧内预测模式,且当前块不满足预设尺寸条件,则目标上下文模型为第二上下文模型;若当前块的上边块未启动基于矩阵的帧内预测模式,当前块的左边块未启动基于矩阵的帧内预测模式,且当前块不满足预设尺寸条件,则目标上下文模型为第三上下文模型;若当前块满足预设尺寸条件,则目标上下文模型为第四上下文模型。
由上可知,在MIP模式下,MIP指示信息需要使用4个不同的上下文模型,内存开销较大。
MIP模式下的第一种实现方式
图62是本申请实施例提供的一种编解码方法的流程图,该方法应用于编码端或解码端,如图62所示,该方法包括:
步骤6201:若当前块的宽高尺寸为32*32,则当前块不支持基于矩阵的帧内预测模式。
其中,当前块为亮度块或色度块。示例的,若当前块为亮度块,且当前块的宽高尺寸为32*32,则当前块不支持基于矩阵的帧内预测模式。
作为另一个示例,若当前块的宽高尺寸为32*16,则当前块不支持基于矩阵的帧内预测模式。示例的,当前块为亮度块或色度块。
作为另一个示例,若当前块的宽高尺寸为4*4,则当前块不支持基于矩阵的帧内预测模式。示例的,当前块为亮度块或色度块。
本申请实施例中,可以保证当当前块为大尺寸块时,当前块不支持基于矩阵的帧内预测模式,即当前块不能使能基于矩阵的帧内预测模式,如此,可以减小运算复杂度。
MIP模式下的第二种实现方式
图63是本申请实施例提供的一种编解方法的流程图,该方法应用于编码端,如图63所示,若当前块支持基于矩阵的帧内预测模式,该方法包括:
步骤6301:根据当前块是否启动基于矩阵的帧内预测模式,基于目标上下文模型对MIP指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据当前块的上边块是否启动基于矩阵的帧内预测模式,以及当前块的左边块是否启动基于矩阵的帧内预测模式从3个不同的上下文模型中选择的一个上下文模型。
作为一个示例,假设上述3个不同的上下文模型包括第一上下文模型、第二上下文模型和第三上下文模型。若当前块的上边块启动基于矩阵的帧内预测模式,且当前块的左边块启动基于矩阵的帧内预测模式,则目标上下文模型为第一上下文模型;若当前块的上边块启动基于矩阵的帧内预测模式且当前块的左边块未启动基于矩阵的帧内预测模式,或者,若当前块的上边块未启动基于矩阵的帧内预测模式且当前块的左边块启动基于矩阵的帧内预测模式,则目标上下文模型为第二上下文模型;若当前块的上边块未启动基于矩阵的帧内预测模式,且当前块的左边块未启动基于矩阵的帧内预测模式,则目标上下文模型为第三上下文模型。
作为一个示例,编码端若确定当前块满足基于矩阵的帧内预测的条件,可以通过RDO决策当前块是否启动MIP模式,即要不要使用基于矩阵的帧内预测方法,并在编码流中编码MIP指示信息,来告知解码端是否启动MIP模式。
在编码流中会根据具体情况编码上述MIP指示信息,而且,如果当前块启动了MIP模式,则还需要编码其他与MIP相关的语法元素。
图64是本申请实施例提供的一种编解方法的流程图,该方法应用于解码端,该方法是与上述图63所示的编码方法对应的解码方法,如图64所示,若当前块支持基于矩阵的帧内预测模式,该方法包括:
步骤6401:在根据基于矩阵的帧内预测模式对当前块进行预测之前,基于目标上下文模型对MIP指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的上边块是否启动基于矩阵的帧内预测模式,以及当前块的左边块是否启动基于矩阵的帧内预测模式从3个不同的上下文模型中选择的一个上下文模型。
作为一个示例,假设上述3个不同的上下文模型包括第一上下文模型、第二上下文模型和第三上下文模型。若当前块的上边块启动基于矩阵的帧内预测模式,且当前块的左边块启动基于矩阵的帧内预测模式,则目标上下文模型为第一上下文模型;若当前块的上边块启动基于矩阵的帧内预测模式且当前块的左边块未启动基于矩阵的帧内预测模式,或者,若当前块的上边块未启动基于矩阵的帧内预测模式且当前块的左边块启动基于矩阵的帧内预测模式,则目标上下文模型为第二上下文模型;若当前块的上边块未启动基于矩阵的帧内预测模式,且当前块的左边块未启动基于矩阵的帧内预测模式,则目标上下文模型为第三上下文模型。
步骤6402:若根据MIP指示信息确定当前块启动基于矩阵的帧内预测模式,则基于矩阵的帧内预测模式,对当前块进行预测。
作为一个示例,解码端接收编码流,若确定当前块满足解析条件,则可以解析MIP指示信息,以确定当前块是否启动MIP模式。解析条件包括:当前块为亮度块,并且当前块尺寸满足一定条件。当然,解析条件不限定上述条件,还可以包括其他条件。
通过MIP指示信息,解码端可以确定当前块的预测模式是否为基于矩阵的帧内预测模式,若为基于矩阵的帧内预测模式,则可以继续解析与该模式相关的其他语法,从而得到其预测模式信息,进而得到预测值。
本申请实施例中,在MIP模式下,可以不考虑当前块的尺寸条件,仅根据当前块的上边块是否启动基于矩阵的帧内预测模式,以及当前块的左边块是否启动基于矩阵的帧内预测模式,来从3个不同的上下文模型中选择的一个上下文模型,如此,可以将MIP指示信息所需的上下文模型的数量降至3,从而减小了编解码的复杂度,减小了内存开销。
MIP模式下的第三种实现方式
图65是本申请实施例提供的一种编解方法的流程图,该方法应用于编码端,如图65所示,若当前块支持基于矩阵的帧内预测模式,该方法包括:
步骤6501:根据当前块是否启动基于矩阵的帧内预测模式,基于目标上下文模型对MIP指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据当前块是否满足预设尺寸条件从2个不同的上下文模型中的一个上下文模型。
其中,预设尺寸条件可以为当前块的宽度大于高度的两倍,或者当前块的高度大于宽度的两倍。
作为一个示例,假设上述2个不同的上下文模型包括第一上下文模型和第二上下文模型。若当前块的尺寸满足预设尺寸条件,则目标上下文模型为第一上下文模型,若当前块的尺寸不满足预设尺寸条件,则目标上下文模型为第二上下文模型。
图66是本申请实施例提供的一种编解方法的流程图,该方法应用于解码端,该方法是与上述图65所示的编码方法对应的解码方法,如图66所示,若当前块支持基于矩阵的帧内预测模式,该方法包括:
步骤6601:在根据基于矩阵的帧内预测模式对当前块进行预测之前,基于目标上下文模型对MIP指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块是否满足预设尺寸条件从2个不同的上下文模型中的一个上下文模型。
其中,预设尺寸条件可以为当前块的宽度大于高度的两倍,或者当前块的高度大于宽度的两倍。
作为一个示例,假设上述2个不同的上下文模型包括第一上下文模型和第二上下文模型。若当前块的尺寸满足预设尺寸条件,则目标上下文模型为第一上下文模型,若当前块的尺寸不满足预设尺寸条件,则目标上下文模型为第二上下文模型。
步骤6602:若根据MIP指示信息确定当前块启动基于矩阵的帧内预测模式,则基于矩阵的帧内预测模式,对当前块进行预测。
本申请实施例中,在MIP模式下,针对MIP指示信息的上下文模型的选择,可以不考虑当前块的上边块是否启动基于矩阵的帧内预测模式,以及当前块的左边块是否启动基于矩阵的帧内预测模式,仅根据尺寸条件来选择上下文模型,如此,可以将MIP指示信息所需的上下文模型的数量降至2,从而减小了编解码的复杂度,减小了内存开销。
MIP模式下的第四种实现方式
图67是本申请实施例提供的一种编解方法的流程图,该方法应用于编码端,如图67所示,若当前块支持基于矩阵的帧内预测模式,该方法包括:
步骤6701:根据当前块是否启动基于矩阵的帧内预测模式,基于同一个上下文模型对MIP指示信息进行基于上下文的自适应二进制算术编码。
图68是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与上述图67所示的编码方法对应的解码方法,如图68所示,若当前块支持基于矩阵的帧内预测模式,该方法包括:
步骤6801:在根据基于矩阵的帧内预测模式对当前块进行预测之前,基于同一个上下文模型对MIP指示信息进行基于上下文的自适应二进制算术解码。
步骤6802:若根据MIP指示信息确定当前块启动基于矩阵的帧内预测模式,则基于矩阵的帧内预测模式,对当前块进行预测。
本申请实施例中,在MIP模式下,针对MIP指示信息的上下文模型的选择,可以不考虑当前块的上边块是否启动基于矩阵的帧内预测模式,以及当前块的左边块是否启动基于矩阵的帧内预测模式,也不考虑尺寸条件,在不同的条件下,均基于同一个上下文模型对MIP指示信息进行基于上下文的自适应二进制算术编码或解码,如此,可以将MIP指示信息所需的上下文模型的数量降至1,从而减小了编解码的复杂度,减小了内存开销。
MIP模式下的第五种实现方式
图69是本申请实施例提供的一种编解方法的流程图,该方法应用于编码端,如图69所示,若当前块支持基于矩阵的帧内预测模式,该方法包括:
步骤6901:根据当前块是否启动基于矩阵的帧内预测模式,对MIP指示信息进行基于旁路的二进制算术编码。
图70是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与上述图69所示的编码方法对应的解码方法,如图70所示,若当前块支持基于矩阵的帧内预测模式,该方法包括:
步骤7001:在根据基于矩阵的帧内预测模式对当前块进行预测之前,对MIP指示信息进行基于旁路的二进制算术解码。
步骤7002:若根据MIP指示信息确定当前块启动基于矩阵的帧内预测模式,则基于矩阵的帧内预测模式,对当前块进行预测。
本申请实施例中,在MIP模式下,不考虑当前块的上边块是否启动基于矩阵的帧内预测模式,以及当前块的左边块是否启动基于矩阵的帧内预测模式,也不考虑尺寸条件,在不同的条件下,对MIP指示信息均进行基于旁路的二进制算术编码或解码,也即是,不使用基于上下文的自适应二进制算术编码或解码,如此,可以将MIP指示信息所需的上下文模型的数量降至0,从而减小了编解码的复杂度,减小了内存开销。
BDPCM模式
相关技术中,BDPCM技术缺少SPS级语法来开启或者关闭BDPCM模式,也缺少SPS级语法来控制可以启用BDPCM模式的最大编码块的尺寸的开关,灵活性较低。
BDPCM模式下的第一种实现方式
图71是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图71所示,若当前块支持BDPCM模式,该方法包括如下步骤:
步骤7101:在对当前块进行基于块的量化后残差的差分PCM编码之前,根据当前是否开启BDPCM模式,对第一BDPCM指示信息进行编码,第一BDPCM指示信息用于指示当前处理单元是否支持BDPCM模式。
作为一个示例,第一BDPCM指示信息可以存在于序列参数集、图像参数级、slice级或Tile级中。优选地,第一BDPCM指示信息存在于序列参数集,也即是,第一BDPCM指示信息为SPS级语法。
在另一实施例中,编码端还可以编码范围指示信息,该范围指示信息用于指示支持BDPCM模式的处理单元的范围。该范围指示信息可以存在于序列参数集、图像参数级、slice级或Tile级中。
图72是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与上述图71所示的编码方法对应的解码方法,如图72所示,若当前块支持BDPCM模式,该方法包括如下步骤:
步骤7201:在对当前块进行基于块的量化后残差的差分PCM解码之前,对第一BDPCM指示信息进行解码,第一BDPCM指示信息用于指示当前处理单元是否支持BDPCM模式。
步骤7202:根据第一BDPCM指示信息,对当前处理单元进行解码。
作为一个示例,若第一BDPCM指示信息指示当前处理单元支持BDPCM模式,则基于BDPCM模式对当前处理单元进行处理。
作为一个示例,第一BDPCM指示信息可以存在于序列参数集、图像参数级、slice级或Tile级中。优选地,第一BDPCM指示信息存在于序列参数集,也即是,第一BDPCM指示信息为SPS级语法。
在另一实施例中,解码端还可以对范围指示信息进行解码,该范围指示信息用于指示支持BDPCM模式的处理单元的范围。该范围指示信息可以存在于序列参数集、图像参数级、slice级或Tile级中。
本申请实施例中,增加了一个语法来开启或者关闭BDPCM模式,提高了编解码过程的灵活性。另外,还增加了一个语法用于指示支持BDPCM模式的处理单元的范围。
BDPCM模式下的第二种实现方式
图73是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图73所示,若当前块支持BDPCM模式,该方法包括如下步骤:
步骤7301:在对当前块进行基于块的量化后残差的差分PCM处理之前,对第二BDPCM指示信息进行编码,第二BDPCM指示信息用于指示支持BDPCM模式的图像块的尺寸范围。
示例的,该尺寸范围可以为小于32*32的尺寸范围。
作为一个示例,第二BDPCM指示信息用于指示能够支持BDPCM模式的图像块的最大尺寸,即可以使用BDPCM模式的图像块的最大尺寸。示例的,所述最大尺寸为32*32。
作为一个示例,第二BDPCM指示信息可以存在于序列参数集(SPS)、图像参数级、slice级或Tile级中。优选地,第二BDPCM指示信息存在于序列参数集,也即是,第二BDPCM指示信息是在SPS级增加的一个语法。
图74是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与上述图71所示的编码方法对应的解码方法,如图72所示,若当前块支持BDPCM模式,该方法包括如下步骤:
步骤7401:在对当前块进行基于块的量化后残差的差分PCM处理之前,对第二BDPCM指示信息进行解码,第二BDPCM指示信息用于指示支持BDPCM模式的图像块的尺寸范围。
步骤7402:基于第二BDPCM指示信息和当前块的尺寸,确定当前块是否能够进行基于块的量化后残差的差分PCM处理。
作为一个示例,若当前块的尺寸在第二BDPCM指示信息指示的支持BDPCM模式的图像块的尺寸范围内,则确定当前块能够进行基于块的量化后残差的差分PCM处理。若当前块的尺寸不在第二BDPCM指示信息指示的支持BDPCM模式的图像块的尺寸范围内,则确定当前块不能进行基于块的量化后残差的差分PCM处理。
作为一个示例,第二BDPCM指示信息用于指示能够支持BDPCM模式的图像块的最大尺寸,则若当前块的尺寸小于或等于第二BDPCM指示信息指示的最大尺寸,则确定当前块能够进行基于块的量化后残差的差分PCM处理。若当前块的尺寸大于第二BDPCM指示信息指示的最大尺寸,则确定当前块不能进行基于块的量化后残差的差分PCM处理。
作为一个示例,第二BDPCM指示信息可以存在于序列参数集(SPS)、图像参数级、slice级或Tile级中。优选地,第二BDPCM指示信息存在于序列参数集,也即是,第二BDPCM指示信息是在SPS级增加的一个语法。
本申请实施例中,增加了一个语法来控制可以使用BDPCM模式的尺寸范围,提高了编解码过程的灵活性。
BDPCM模式下的第三种实现方式
在BDPCM模式下,编码端与解码端之间传输的语法元素还可以包括第三BDPCM指示信息和第四BDPCM指示信息。第三BDPCM指示信息用于指示当前块是否启动BDPCM模式,第四BDPCM指示信息用于指示BDPCM模式的预测方向的索引信息。示例的,第三BDPCM指示信息为Intra_bdpcm_flag,第四BDPCM指示信息为Intra_bdpcm_dir_flag。
相关技术中,若当前块支持BDPCM模式,在确定进行第三BDPCM指示信息的编码或解码时,需要基于一个上下文模型,对第三BDPCM指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码;在确定进行第四BDPCM指示信息进行编码或解码时,需要基于另一个不同的上下文模型,对第四BDPCM指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码。也即是,需要用到两个上下文模型,来对第三BDPCM指示信息和第四BDPCM指示信息进行编解码,如下表46所示。
表46
Figure BDA0002103733630000701
图75是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图75所示,若当前块支持BDPCM模式,该方法包括如下步骤:
步骤7501:在对当前块进行基于块的量化后残差的差分PCM编码之前,根据当前块是否启动BDPCM模式,基于一个上下文模型,对第三BDPCM指示信息进行基于上下文的自适应二进制算术编码。
作为一个示例,若当前块满足基于块的量化后残差的差分PCM编码的条件,可以通过RDO决策是否启动BDPCM模式,即要不要使用量化后残差的差分PCM编码方法,并在编码流中编码第三BDPCM指示信息,来表示当前块是否启动BDPCM模式。
步骤7502:若确定当前块启动BDPCM模式,则根据BDPCM模式的预测方向的索引信息,对第四BDPCM指示信息进行基于旁路的二进制算术编码。
其中,BDPCM模式的预测方向包括水平预测方向和垂直预测方向。
作为一个示例,编码端可以通过RDO决策预测方向,基于选择的预测方向,在编码流中编码第四BDPCM指示信息,来表示BDPCM模式的预测方向。
图76是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为上述图75所示的编码方法对应的解码方法,如图76所示,若当前块支持BDPCM模式,该方法包括如下步骤:
步骤7601:在对当前块进行基于块的量化后残差的差分PCM解码之前,基于一个上下文模型,对第三BDPCM指示信息进行基于上下文的自适应二进制算术解码。
作为一个示例,解码端可以接收当前块的编码流,若当前块满足解析条件,则解析出第三BDPCM指示信息,来确定当前块是否启动BDPCM模式。
其中,解析条件包括:当前块尺寸满足一定尺寸条件。当然,该解析条件不限定于上述条件,还可以包括其他条件。
步骤7602:当第三BDPCM指示信息指示当前块启动BDPCM模式,对第四BDPCM指示信息进行基于旁路的二进制算术解码,第四BDPCM指示信息用于指示BDPCM模式的预测方向的索引信息。
当当前块启动BDPCM模式的情况下,需要进一步解析第四BDPCM指示信息,以确定预测方向。
步骤7603:按照第四BDPCM指示信息指示的预测方向,对当前块进行基于块的量化后残差的差分PCM处理。
作为一个示例,解码端可以逆向累加过程得到量化后的残差数据,再进行反量化并且与预测值相加得到重构像素值。
作为一个示例,第三BDPCM指示信息和第四BDPCM指示信息的编解码方式可以如下表47所示:
表47
Figure BDA0002103733630000711
本申请实施例中,第三BDPCM指示信息使用1个上下文模型,而第四BDPCM指示信息采用基于旁路的二进制算术编解码方式,如此,可以将第三BDPCM指示信息和第四BDPCM指示信息所需的上下文模型的数量降至1,从而减小了编解码的复杂度,减小了内存开销。
BDPCM模式下的第四种实现方式
图77是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图77所示,若当前块支持BDPCM模式,该方法包括如下步骤:
步骤7701:在对当前块进行基于块的量化后残差的差分PCM编码之前,根据当前块是否启动BDPCM模式,对第三BDPCM指示信息进行基于旁路的二进制算术编码。
作为一个示例,若当前块满足基于块的量化后残差的差分PCM编码的条件,可以通过率失真抉择当前块要不要使用量化后残差的差分PCM编码方法,并在编码流中编码第三BDPCM指示信息,来表示当前块是否启动BDPCM模式。
步骤7702:若确定当前块启动BDPCM模式,则根据BDPCM模式的预测方向的索引信息,对第四BDPCM指示信息进行基于旁路的二进制算术解码。
其中,BDPCM模式的预测方向包括水平预测方向和垂直预测方向。
作为一个示例,编码端可以通过率失真抉择预测方向,基于选择的预测方向,在编码流中编码第四BDPCM指示信息,来表示BDPCM模式的预测方向。
图78是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为上述图77所示的编码方法对应的解码方法,如图78所示,若当前块支持BDPCM模式,该方法包括如下步骤:
步骤7801:在对当前块进行基于块的量化后残差的差分PCM解码之前,对第三BDPCM指示信息进行基于旁路的二进制算术解码。
作为一个示例,解码端可以接收当前块的编码流,若当前块满足解析条件,则解析出第三BDPCM指示信息,来确定当前块是否启动BDPCM模式。
其中,解析条件包括:当前块尺寸满足一定尺寸条件。当然,该解析条件不限定于上述条件,还可以包括其他条件。
步骤7802:当第三BDPCM指示信息指示当前块启动BDPCM模式,对第四BDPCM指示信息进行基于旁路的二进制算术解码,第四BDPCM指示信息用于指示BDPCM模式的预测方向的索引信息。
当当前块启动BDPCM模式的情况下,需要进一步解析第四BDPCM指示信息,以确定预测方向。
步骤7803:按照第四BDPCM指示信息指示的预测方向,对当前块进行基于块的量化后残差的差分PCM处理。
作为一个示例,解码端可以逆向累加过程得到量化后的残差数据,再进行反量化并且与预测值相加得到重构像素值。
作为一个示例,第三BDPCM指示信息和第四BDPCM指示信息的编解码方式可以如下表48所示:
表48
Figure BDA0002103733630000721
本申请实施例中,第三BDPCM指示信息和第四BDPCM指示信息均采用基于旁路的二进制算术编解码方式,如此,可以将第三BDPCM指示信息和第四BDPCM指示信息所需的上下文模型的数量降至0,从而减小了编解码的复杂度,减小了内存开销。
BDPCM模式下的第五种实现方式
在BDPCM模式下,编码端与解码端之间传输的语法元素还包括CBF指示信息,CBF指示信息用于指示当前块的变换块是否具有非零变换系数。示例的,CBF指示信息为cbfflag,或者Tu_cbf_luma。
相关技术中,在根据帧内子块预测对当前块进行预测之前,可以基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术编码或基于上下文的自适应二进制算术解码。其中,目标上下文模型是根据当前块是否启动帧内子块预测,当前块的前一个变换块是否具有非零变换系数,当前块的变换块的划分深度,以及当前块是否启动BDPCM模式这些条件,从5个不同的上下文模型中选择的一个上下文模型。
具体地,假设这5种不同的上下文模型包括第一上下文模型、第二上下文模型、第三上下文模型、第四上下文模型和第五上下文模型。若当前块启动帧内子块预测,则目标上下文模型是根据当前块的前一个变换块是否具有非零变换系数,从第一上下文模型和第二上下文模型中选择的一个上下文模型。示例的,若当前块的前一个变换块具有非零变换系数,则目标上下文模型为第一上下文模型;若当前块的前一个变换块不具有非零变换系数,则目标上下文模型为第二上下文模型。若当前块未启动帧内子块预测,即当前块启动常规帧内预测,则目标上下文模型是根据当前块的变换块的划分深度,从第三上下文模型、第四上下文模型中选择的一个上下文模型。示例的,若当前块的变换块的划分深度大于预设划分深度,则目标上下文模型为第三上下文模型,若当前块的变换块的划分深度小于或等于预设划分深度,则目标上下文模型为第四上下文模型。若当前块启动BDPCM模式,则目标上下文模型为第五上下文模型。
由于在相关技术中,CBF指示信息需要用到5个上下文模型,所需的上下文模型的数量较多,因此编解码的复杂度高,内存开销较大。
图78是本申请实施例提供的一种解码方法的流程图,该方法应用于编码端,如图79所示,该方法包括如下步骤:
步骤7901:若当前块启动帧内子块预测,则在确定进行CBF指示信息的编码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据当前块的前一个变换块是否具有非零变换系数从第一上下文模型集合包括的2个不同的上下文模型中选择的一个上下文模型。
作为一个示例,假设第一上下文模型集合包括第一上下文模型和第二上下文模型,则若当前块的前一个变换块具有非零变换系数,则目标上下文模型为第一上下文模型;若当前块的前一个变换块不具有非零变换系数,则目标上下文模型为第二上下文模型。
步骤7902:若当前块启动常规帧内预测或启动BDPCM模式,则在确定进行CBF指示信息的编码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据当前块的变换块的划分深度从第二上下文模型集合包括的2个不同的上下文模型中选择的一个上下文模型,第二上下文模型集合包括的2个上下文模型集合与第一上下文模型集合包括的2个上下文模型不同。
作为一个示例,假设第二上下文模型集合中包括第三上下文模型和第四上下文模型,则若当前块的变换块的划分深度大于预设划分深度,则目标上下文模型为第三上下文模型,若当前块的变换块的划分深度小于或等于预设划分深度,则目标上下文模型为第四上下文模型。
图80是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为与上述图79所示的编码方法对应的解码方法,如图80所示,该方法包括如下步骤:
步骤8001:若当前块启动帧内子块预测,则在确定进行CBF指示信息的解码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的前一个变换块是否具有非零变换系数从第一上下文模型集合包括的2个不同的上下文模型中选择的一个上下文模型。
作为一个示例,假设第一上下文模型集合包括第一上下文模型和第二上下文模型,则若当前块的前一个变换块具有非零变换系数,则目标上下文模型为第一上下文模型;若当前块的前一个变换块不具有非零变换系数,则目标上下文模型为第二上下文模型。
步骤8002:若当前块启动常规帧内预测或启动BDPCM模式,则在确定进行CBF指示信息的解码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的变换块的划分深度从第二上下文模型集合包括的2个不同的上下文模型中选择的一个上下文模型,第二上下文模型集合包括的2个上下文模型集合与第一上下文模型集合包括的2个上下文模型不同。
作为一个示例,假设第二上下文模型集合中包括第三上下文模型和第四上下文模型,则若当前块的变换块的划分深度大于预设划分深度,则目标上下文模型为第三上下文模型,若当前块的变换块的划分深度小于或等于预设划分深度,则目标上下文模型为第四上下文模型。
本申请实施例中,若当前块启动BDPCM模式,CBF指示信息的编解码的上下文模型的选择也取决于当前块的变换块的划分深度,使得当前块启动BDPCM模式与启动常规帧内预测时,共用2个上下文模型,如此,可以将CBF指示信息所需的上下文模型的数量降至4,从而减小了编解码的复杂度,减小了内存开销。
BDPCM模式下的第六种实现方式
图81是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图81所示,该方法包括如下步骤:
步骤8101:若当前块启动帧内子块预测,或启动常规帧内预测,或启动BDPCM模式,则在确定进行CBF指示信息的编码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据当前块的变换块的划分深度从2个不同的上下文模型中选择的一个上下文模型。
作为一个示例,假设这2个不同的上下文模型为第一上下文模型和第二上下文模型,则则若当前块的变换块的划分深度大于预设划分深度,则目标上下文模型为第一上下文模型,若当前块的变换块的划分深度小于或等于预设划分深度,则目标上下文模型为第二上下文模型。
图82是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为与上述图81所示的编码方法对应的解码方法,如图82所示,该方法包括如下步骤:
步骤8201:若当前块启动帧内子块预测,或启动常规帧内预测,或启动BDPCM模式,则在确定进行CBF指示信息的解码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的变换块的划分深度从2个不同的上下文模型中选择的一个上下文模型。
作为一个示例,假设这2个不同的上下文模型为第一上下文模型和第二上下文模型,则则若当前块的变换块的划分深度大于预设划分深度,则目标上下文模型为第一上下文模型,若当前块的变换块的划分深度小于或等于预设划分深度,则目标上下文模型为第二上下文模型。
本申请实施例中,若当前块启动BDPCM模式或启动帧内子块预测模式,CBF指示信息的编解码的上下文模型的选择也取决于当前块的变换块的划分深度,使得当前块启动BDPCM模式、启动常规帧内预测以及启动帧内子块划分模式时,均共用2个上下文模型,如此,可以将CBF指示信息所需的上下文模型的数量降至2,从而减小了编解码的复杂度,减小了内存开销。
BDPCM模式下的第七种实现方式
图83是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图83所示,该方法包括如下步骤:
图83是本申请实施例提供的一种编码方法的流程图,该方法应用于编码端,如图83所示,该方法包括如下步骤:
步骤8301:若当前块启动帧内子块预测或启动常规帧内预测,则在确定进行CBF指示信息的编码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是根据当前块的变换块的划分深度从第一上下文模型集合包括的2个不同的上下文模型中选择的一个上下文模型。
作为一个示例,假设第一上下文模型集合包括第一上下文模型和第二上下文模型,则若当前块的变换块的划分深度大于预设划分深度,则目标上下文模型为第一上下文模型,若当前块的变换块的划分深度小于或等于预设划分深度,则目标上下文模型为第二上下文模型。
步骤8302:若当前块启动BDPCM模式,则在确定进行CBF指示信息的编码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术编码;其中,目标上下文模型是第一上下文模型集合中的一个上下文模型。
图84是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法为与上述图83实施例所述的编码方法对应的解码方法,如图84所示,该方法包括如下步骤:
步骤8401:若当前块启动帧内子块预测或启动常规帧内预测,则在根据帧内子块预测对当前块进行预测之前,确定进行CBF指示信息的解码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是根据当前块的变换块的划分深度从第一上下文模型集合包括的2个不同的上下文模型中选择的一个上下文模型。
作为一个示例,假设第一上下文模型集合包括第一上下文模型和第二上下文模型,则若当前块的变换块的划分深度大于预设划分深度,则目标上下文模型为第一上下文模型,若当前块的变换块的划分深度小于或等于预设划分深度,则标上下文模型为第二上下文模型。
步骤8402:若当前块启动BDPCM模式,则在确定进行CBF指示信息的解码时,基于目标上下文模型,对CBF指示信息进行基于上下文的自适应二进制算术解码;其中,目标上下文模型是第一上下文模型集合中的一个上下文模型。
本申请实施例中,在帧内子块预测和启动常规帧内预测下,CBF指示信息根据当前块的变换块的划分深度公用2个上下文模型,在BDPCM模式下,CBF指示信息的编解码的上下文模型可以从常规帧内预测和帧内子块预测模式使用的2个上下文模型中选择1个,如此,可以将CBF指示信息所需的上下文模型的数量降至2,从而减小了编解码的复杂度,减小了内存开销。
JCCR模式
图85是本申请实施例提供的一种编码模式的流程图,该方法应用于编码端,如图85所示,该方法包括如下步骤:
步骤8501:在根据JCCR模式对当前块进行解码之前,根据当前块是否支持JCCR模式,对JCCR指示信息进行编码,JCCR指示信息用于指示当前处理单元是否支持JCCR模式。
其中,当前处理单元中的单元的范围可以是序列级,图像参数级或块级等。
其中,当前处理单元是否支持JCCR模式是指是否使能JCCR模式,也即是,是否开启JCCR模式。示例的,JCCR指示信息为sps_jccr_enable_flag,其为JCCR的使能标识位。作为一个示例,sps_jccr_enable_flag为真时,表示当前块支持JCCR模式。作为一个示例,当前块可以为色度残差块。
作为一个示例,JCCR指示信息可以存在于序列参数集(SPS)、图像参数级、slice级或Tile级中。优选地,JCCR指示信息存在于序列参数集,也即是,JCCR指示信息是在SPS级增加的一个语法。
作为一个示例,编码端还可以编码范围指示信息,该范围指示信息用于指示支持JCCR模式的处理单元的范围。作为一个示例,该范围指示信息可以存在于序列参数集(SPS)、图像参数级、slice级或Tile级中。
之后,编码端可以根据JCCR指示信息,确定当前块是否启动JCCR模式。
作为一个示例,若JCCR模式指示当前块支持JCCR模式,可以继续确定当前块的CBF值,若当前块的CB分量和CR分量的CBF值均为真,即当前块的CB分量和CR分量的残差系数均不为0,则编码端可以考虑启动JCCR模式。示例的,当前块是否启动JCCR模式可以由编码端通过RDO决策得出的。
图86是本申请实施例提供的一种解码方法的流程图,该方法应用于解码端,该方法是与上述图85所示的编码方法对应的解码方法,如图86所示,该方法包括如下步骤:
步骤8601:在根据JCCR模式对当前块进行解码之前,对JCCR指示信息进行解码,JCCR指示信息用于指示当前处理单元是否支持JCCR模式。
步骤8602:若根据JCCR指示信息确定当前块支持JCCR模式,且当前块启动JCCR模式,则按照当前块的CB分量和CR分量的相关性对当前块进行解码,得到当前块的色度残差系数。
作为一个示例,若根据JCCR指示信息确定当前块支持JCCR模式,则可以继续确定当前块的CBF值,若当前块的CB分量和CR分量的CBF值均为真,即当前块的CB分量和CR分量的残差系数均不为0,则继续解析当前块是否启动JCCR模式。若确定当前块启动JCCR模式,则按照当前块的CB分量和CR分量的相关性对当前块进行解码,得到当前块的色度残差系数。
作为一个示例,JCCR指示信息可以存在于序列参数集(SPS)、图像参数级、slice级或Tile级中。优选地,JCCR指示信息存在于序列参数集,也即是,JCCR指示信息是在SPS级增加的一个语法
在另一实施例中,解码端还可以对范围指示信息进行解码,该范围指示信息用于指示支持JCCR模式的处理单元的范围。该范围指示信息可以为可以存在于序列参数集(SPS)、图像参数级、slice级或Tile级中。
本申请实施例中,增加了一个用于指示是否支持JCCR模式的语法,提高了编解码过程的灵活性。另外,还增加了一个语法用于指示支持JCCR模式的处理单元的范围。
图87是本申请实施例提供的一种编码端8700的结构示意图,该编码端8700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)8701和一个或一个以上的存储器8702,其中,所述存储器8702中存储有至少一条指令,所述至少一条指令由所述处理器8701加载并执行以实现上述各个方法实施例提供的编码方法。当然,该编码端8700还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该编码端8700还可以包括其他用于实现设备功能的部件,在此不做赘述。
图88是本申请实施例提供的一种解码端8800的结构示意图,该解码端8800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)8801和一个或一个以上的存储器8802,其中,所述存储器8802中存储有至少一条指令,所述至少一条指令由所述处理器8801加载并执行以实现上述各个方法实施例提供的解码方法。当然,该解码端8800还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该编码端8800还可以包括其他用于实现设备功能的部件,在此不做赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (5)

1.一种编解码方法,其特征在于,若确定当前块支持多行预测模式,且多行预测模式对应的候选参考行行数为3,其中,索引信息为0的候选参考行为第0行,所述第0行是与所述当前块边界相邻的行;索引信息为1的候选参考行为第1行,所述第1行是与所述当前块边界次相邻的行;索引信息为2的候选参考行为第2行,所述第2行是所述第1行相邻的行;所述方法包括:
在根据多行预测模式对当前块进行预测时,根据目标参考行对当前块进行预测;
其中,所述目标参考行根据参考行指示信息确定;
若参考行指示信息所指示的索引信息为0,则所述目标参考行为第0行;
若所述参考行指示信息所指示的索引信息为1,则所述目标参考行是第1行;
若所述参考行指示信息所指示的索引信息为2,则所述目标参考行是第2行;
当所述参考行指示信息所指示的索引信息为1或2时,所述参考行指示信息占用2个比特位,且这2个比特位的编码或解码方式为基于上下文的自适应二进制算术编码,而且每个比特位仅采用1个上下文模型,其中,所述参考行指示信息的第一个比特位基于第一个上下文模型进行编码或解码,所述参考行指示信息的第二个比特位基于第二个上下文模型进行编码或解码,且所述第一个上下文模型与所述第二个上下文模型不同。
2.如权利要求1所述的方法,其特征在于,所述候选参考行位于所述当前块上侧或位于所述当前块左侧。
3.如权利要求1所述的方法,其特征在于,若确定当前块支持多行预测模式,所述方法包括:
在根据多行预测模式对当前块进行预测之前,对行数指示信息进行解码,所述行数指示信息用于指示多行预测模式对应的候选参考行行数;
根据行数指示信息确定多行预测模式对应的候选参考行行数;
根据多行预测模式对应的候选参考行行数和参考行指示信息确定目标参考行,所述参考行指示信息用于指示基于多行预测模式进行当前块的预测时所使用的目标参考行的索引信息;
根据目标参考行对当前块进行预测。
4.一种编解码装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-3所述的任一项所述的编解码方法。
5.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-3任一项所述的编解码方法。
CN201910545251.0A 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质 Active CN112118448B (zh)

Priority Applications (21)

Application Number Priority Date Filing Date Title
CN202110686665.2A CN113347427A (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN201911090138.4A CN110784712B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN201911061275.5A CN110677663B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN202110688028.9A CN113382251B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688030.6A CN113382252B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688048.6A CN113382254B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN201910545251.0A CN112118448B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN202110686662.9A CN113347426A (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN201911061873.2A CN110677655B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN202110688047.1A CN113382253B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688052.2A CN113382256B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688049.0A CN113382255B (zh) 2019-06-21 2019-06-21 一种编解码方法、设备及存储介质
EP20825445.8A EP3979647A4 (en) 2019-06-21 2020-06-19 CODING/DECODING METHOD AND DEVICE AND STORAGE MEDIUM
PCT/CN2020/097088 WO2020253823A1 (zh) 2019-06-21 2020-06-19 一种编解码方法、装置及存储介质
PCT/CN2020/097144 WO2020253829A1 (zh) 2019-06-21 2020-06-19 一种编解码方法、装置及存储介质
PCT/CN2020/097130 WO2020253828A1 (zh) 2019-06-21 2020-06-19 一种编解码方法、装置及存储介质
JP2021576392A JP7325553B2 (ja) 2019-06-21 2020-06-19 符号化・復号化の方法、装置、および記憶媒体
PCT/CN2020/097148 WO2020253831A1 (zh) 2019-06-21 2020-06-19 一种编解码方法、装置及存储介质
US17/621,644 US20220360800A1 (en) 2019-06-21 2020-06-19 Coding/decoding method and device, and storage medium
KR1020217043437A KR20220016232A (ko) 2019-06-21 2020-06-19 코딩 및 디코딩 방법, 장치 및 저장 매체
JP2023084090A JP2023096190A (ja) 2019-06-21 2023-05-22 符号化・復号化の方法、装置、および記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910545251.0A CN112118448B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质

Related Child Applications (11)

Application Number Title Priority Date Filing Date
CN202110686665.2A Division CN113347427A (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688030.6A Division CN113382252B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN201911090138.4A Division CN110784712B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN201911061275.5A Division CN110677663B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN202110688048.6A Division CN113382254B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688047.1A Division CN113382253B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688028.9A Division CN113382251B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688049.0A Division CN113382255B (zh) 2019-06-21 2019-06-21 一种编解码方法、设备及存储介质
CN201911061873.2A Division CN110677655B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN202110686662.9A Division CN113347426A (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688052.2A Division CN113382256B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112118448A CN112118448A (zh) 2020-12-22
CN112118448B true CN112118448B (zh) 2022-09-16

Family

ID=69102758

Family Applications (12)

Application Number Title Priority Date Filing Date
CN201910545251.0A Active CN112118448B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN201911090138.4A Active CN110784712B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN202110688048.6A Active CN113382254B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110686665.2A Withdrawn CN113347427A (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688030.6A Active CN113382252B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688049.0A Active CN113382255B (zh) 2019-06-21 2019-06-21 一种编解码方法、设备及存储介质
CN202110688052.2A Active CN113382256B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688047.1A Active CN113382253B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN201911061275.5A Active CN110677663B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN202110686662.9A Withdrawn CN113347426A (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688028.9A Active CN113382251B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN201911061873.2A Active CN110677655B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质

Family Applications After (11)

Application Number Title Priority Date Filing Date
CN201911090138.4A Active CN110784712B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN202110688048.6A Active CN113382254B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110686665.2A Withdrawn CN113347427A (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688030.6A Active CN113382252B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688049.0A Active CN113382255B (zh) 2019-06-21 2019-06-21 一种编解码方法、设备及存储介质
CN202110688052.2A Active CN113382256B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688047.1A Active CN113382253B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN201911061275.5A Active CN110677663B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质
CN202110686662.9A Withdrawn CN113347426A (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN202110688028.9A Active CN113382251B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置、设备及存储介质
CN201911061873.2A Active CN110677655B (zh) 2019-06-21 2019-06-21 一种编解码方法、装置及存储介质

Country Status (6)

Country Link
US (1) US20220360800A1 (zh)
EP (1) EP3979647A4 (zh)
JP (2) JP7325553B2 (zh)
KR (1) KR20220016232A (zh)
CN (12) CN112118448B (zh)
WO (4) WO2020253823A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114175635A (zh) * 2019-05-27 2022-03-11 Sk电信有限公司 用于推导帧内预测模式的方法及装置
CN114342372A (zh) * 2019-06-19 2022-04-12 韩国电子通信研究院 帧内预测模式、以及熵编解码方法和装置
CN112118448B (zh) * 2019-06-21 2022-09-16 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及存储介质
JP2022546898A (ja) * 2019-06-25 2022-11-10 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド ビデオ画像処理方法、装置、および記憶媒体
CN114786019A (zh) * 2019-07-07 2022-07-22 Oppo广东移动通信有限公司 图像预测方法、编码器、解码器以及存储介质
EP3881530A4 (en) * 2019-08-23 2022-09-28 Tencent America LLC VIDEO CODING METHOD AND APPARATUS
CN113497936A (zh) * 2020-04-08 2021-10-12 Oppo广东移动通信有限公司 编码方法、解码方法、编码器、解码器以及存储介质
WO2021219143A1 (en) 2020-05-01 2021-11-04 Beijing Bytedance Network Technology Co., Ltd. Entropy coding for motion precision syntax
WO2022141278A1 (zh) * 2020-12-30 2022-07-07 深圳市大疆创新科技有限公司 视频处理方法和编码装置
WO2022266971A1 (zh) * 2021-06-24 2022-12-29 Oppo广东移动通信有限公司 编解码方法、编码器、解码器以及计算机存储介质
US20230008488A1 (en) * 2021-07-07 2023-01-12 Tencent America LLC Entropy coding for intra prediction modes
WO2023194193A1 (en) * 2022-04-08 2023-10-12 Interdigital Ce Patent Holdings, Sas Sign and direction prediction in transform skip and bdpcm
WO2023224289A1 (ko) * 2022-05-16 2023-11-23 현대자동차주식회사 가상의 참조라인을 사용하는 비디오 코딩을 위한 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016072611A1 (ko) * 2014-11-04 2016-05-12 삼성전자 주식회사 인트라 예측을 이용하는 비디오 부호화/복호화 방법 및 장치
CN107046642A (zh) * 2011-11-07 2017-08-15 华为技术有限公司 具有增强cabac解码的视频解码器和视频编码器

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4549304A (en) * 1983-11-28 1985-10-22 Northern Telecom Limited ADPCM Encoder/decoder with signalling bit insertion
JP3542572B2 (ja) * 2001-06-14 2004-07-14 キヤノン株式会社 画像復号方法及び装置
EP1363458A3 (en) * 2002-05-14 2004-12-15 Broadcom Corporation Video bitstream preprocessing method
EP1365592A3 (en) * 2002-05-20 2005-02-09 Broadcom Corporation System, method, and apparatus for decoding flexibly ordered macroblocks
CN101106721A (zh) * 2006-07-10 2008-01-16 华为技术有限公司 一种编解码装置及相关编码器
KR101813189B1 (ko) * 2010-04-16 2018-01-31 에스케이 텔레콤주식회사 영상 부호화/복호화 장치 및 방법
US8344917B2 (en) * 2010-09-30 2013-01-01 Sharp Laboratories Of America, Inc. Methods and systems for context initialization in video coding and decoding
WO2012134246A2 (ko) * 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
CA2837827C (en) * 2011-06-27 2019-01-15 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding-decoding apparatus
CN102857763B (zh) * 2011-06-30 2016-02-17 华为技术有限公司 一种基于帧内预测的解码方法和解码装置
BR112014007494B1 (pt) * 2011-09-29 2022-05-31 Sharp Kabushiki Kaisha Dispositivo de decodificação de imagem, método de decodificação de imagem, e dispositivo de codificação de imagem
KR20130058524A (ko) * 2011-11-25 2013-06-04 오수미 색차 인트라 예측 블록 생성 방법
CN114786016A (zh) * 2012-07-02 2022-07-22 韩国电子通信研究院 图像编码/解码方法和非暂时性计算机可读记录介质
US9313500B2 (en) * 2012-09-30 2016-04-12 Microsoft Technology Licensing, Llc Conditional signalling of reference picture list modification information
CN103024384B (zh) * 2012-12-14 2015-10-21 深圳百科信息技术有限公司 一种视频编码、解码方法及装置
CN103024389B (zh) * 2012-12-24 2015-08-12 芯原微电子(北京)有限公司 一种用于hevc的解码装置和方法
KR101726572B1 (ko) * 2013-05-22 2017-04-13 세종대학교산학협력단 무손실 이미지 압축 및 복원 방법과 이를 수행하는 장치
FR3012004A1 (fr) * 2013-10-15 2015-04-17 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
US10469863B2 (en) * 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US10271052B2 (en) * 2014-03-14 2019-04-23 Qualcomm Incorporated Universal color-space inverse transform coding
WO2015188297A1 (zh) * 2014-06-08 2015-12-17 北京大学深圳研究生院 加权跳过模式的视频图像块压缩算术编解码方法及装置
US10448049B2 (en) * 2014-09-03 2019-10-15 Mediatek Inc. Method for color index coding using a generalized copy previous mode
RU2562414C1 (ru) * 2014-09-24 2015-09-10 Закрытое акционерное общество "Элекард наноДевайсез" Способ быстрого выбора режима пространственного предсказания в системе кодирования hevc
US10212445B2 (en) * 2014-10-09 2019-02-19 Qualcomm Incorporated Intra block copy prediction restrictions for parallel processing
US10148977B2 (en) * 2015-06-16 2018-12-04 Futurewei Technologies, Inc. Advanced coding techniques for high efficiency video coding (HEVC) screen content coding (SCC) extensions
US11082713B2 (en) * 2015-11-20 2021-08-03 Mediatek Inc. Method and apparatus for global motion compensation in video coding system
KR20180075660A (ko) * 2015-11-24 2018-07-04 삼성전자주식회사 비디오 복호화 방법 및 그 장치 및 비디오 부호화 방법 및 그 장치
US10390021B2 (en) * 2016-03-18 2019-08-20 Mediatek Inc. Method and apparatus of video coding
WO2017173593A1 (en) * 2016-04-06 2017-10-12 Mediatek Singapore Pte. Ltd. Separate coding secondary transform syntax elements for different color components
CN109076241B (zh) * 2016-05-04 2023-06-23 微软技术许可有限责任公司 利用样本值的非相邻参考线进行帧内图片预测
US20190306516A1 (en) * 2016-05-24 2019-10-03 Sharp Kabushiki Kaisha Systems and methods for intra prediction coding
KR102445668B1 (ko) * 2016-06-01 2022-09-21 삼성전자주식회사 부호화 순서 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2017222325A1 (ko) * 2016-06-24 2017-12-28 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP3972256B1 (en) * 2016-06-24 2024-01-03 KT Corporation Adaptive reference sample filtering for intra prediction using distant pixel lines
WO2018016823A1 (ko) * 2016-07-18 2018-01-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN116684580A (zh) * 2016-08-03 2023-09-01 株式会社Kt 用于对视频进行编码和解码的方法和装置
WO2018045332A1 (en) * 2016-09-02 2018-03-08 Vid Scale, Inc. Methods and apparatus for coded block flag coding in quad-tree plus binary-tree block partitioning
WO2018062950A1 (ko) * 2016-09-30 2018-04-05 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
BR112019007423B1 (pt) * 2016-10-11 2022-06-14 Lg Electronics Inc Método de decodificação de vídeo realizado por um dispositivo de decodificação, método de codificação de vídeo realizado por um dispositivo de codificação, e mídia de armazenamento legível por computador não transitória
US20190238839A1 (en) * 2016-10-14 2019-08-01 Sony Corporation Image processing apparatus and image processing method
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
US11070824B2 (en) * 2017-09-15 2021-07-20 Sony Corporation Image processing device and method
CN108093264B (zh) * 2017-12-29 2019-03-08 东北石油大学 基于分块压缩感知的岩心图像压缩、解压方法和***
CN109743576B (zh) * 2018-12-28 2020-05-12 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
CN109788285B (zh) * 2019-02-27 2020-07-28 北京大学深圳研究生院 一种量化系数结束标志位的上下文模型选取方法及装置
US11451826B2 (en) * 2019-04-15 2022-09-20 Tencent America LLC Lossless coding mode and switchable residual coding
BR112021000379A2 (pt) * 2019-04-26 2021-04-13 Huawei Technologies Co., Ltd. Método e aparelho para sinalização de função de mapeamento de parâmetro de quantização de croma
KR20220024711A (ko) * 2019-06-20 2022-03-03 인터디지털 브이씨 홀딩스 프랑스 에스에이에스 다목적 비디오 코딩을 위한 무손실 모드
CN112118448B (zh) * 2019-06-21 2022-09-16 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107046642A (zh) * 2011-11-07 2017-08-15 华为技术有限公司 具有增强cabac解码的视频解码器和视频编码器
WO2016072611A1 (ko) * 2014-11-04 2016-05-12 삼성전자 주식회사 인트라 예측을 이용하는 비디오 부호화/복호화 방법 및 장치

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CE7: Joint coding of chrominance residuals (CE7-1);Jani Lainema;《Joint Video Experts Team (JVET)》;20190327;第1-2节 *
CE8: BDPCM with horizontal/vertical predictor and independently decodable areas (test 8.3.1b);Mohsen Abdoli;《Joint Video Experts Team (JVET)》;20190118;第2页 *
Versatile Video Coding (Draft 4);Benjamin Bross;《Joint Video Experts Team (JVET)》;20190118;第89、95、96、112、279-282页 *

Also Published As

Publication number Publication date
CN110677663B (zh) 2021-05-14
CN110677655A (zh) 2020-01-10
CN112118448A (zh) 2020-12-22
JP7325553B2 (ja) 2023-08-14
EP3979647A1 (en) 2022-04-06
CN113382253B (zh) 2022-05-20
US20220360800A1 (en) 2022-11-10
CN113382254A (zh) 2021-09-10
CN113382256A (zh) 2021-09-10
CN113382251B (zh) 2022-04-08
KR20220016232A (ko) 2022-02-08
CN110677655B (zh) 2022-08-16
CN113347426A (zh) 2021-09-03
CN113382255A (zh) 2021-09-10
CN113382253A (zh) 2021-09-10
WO2020253831A1 (zh) 2020-12-24
CN113382255B (zh) 2022-05-20
CN110784712A (zh) 2020-02-11
JP2023096190A (ja) 2023-07-06
WO2020253823A1 (zh) 2020-12-24
CN113382254B (zh) 2022-05-17
CN110784712B (zh) 2021-05-11
CN110677663A (zh) 2020-01-10
CN113382252A (zh) 2021-09-10
WO2020253828A1 (zh) 2020-12-24
CN113382252B (zh) 2022-04-05
CN113382251A (zh) 2021-09-10
JP2022537220A (ja) 2022-08-24
WO2020253829A1 (zh) 2020-12-24
CN113347427A (zh) 2021-09-03
EP3979647A4 (en) 2023-03-22
CN113382256B (zh) 2022-05-20

Similar Documents

Publication Publication Date Title
CN112118448B (zh) 一种编解码方法、装置及存储介质
CN103190147B (zh) 用于视频译码的语法元素的联合译码方法及设备
TW201818720A (zh) 使用解耦樹結構之視訊內寫碼
TW201811055A (zh) 使用解耦樹結構之視訊內寫碼
CN103931180A (zh) 图像解码设备
US20230132843A1 (en) Image encoding/decoding method and apparatus, and recording medium storing bitstream
CN113365049B (zh) 进行编码和解码的方法、解码端、编码端和***
US20220150501A1 (en) Flexible allocation of regular bins in residual coding for video coding
RU2777923C1 (ru) Способы кодирования и декодирования, кодер и декодер, и носитель данных
WO2022188114A1 (zh) 帧内预测方法、编码器、解码器以及存储介质
KR20230147149A (ko) 인트라 예측 방법, 인코더, 디코더 및 저장 매체
CN114303386A (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