CN116074529A - 图像编解码方法、装置及存储介质 - Google Patents

图像编解码方法、装置及存储介质 Download PDF

Info

Publication number
CN116074529A
CN116074529A CN202210016199.1A CN202210016199A CN116074529A CN 116074529 A CN116074529 A CN 116074529A CN 202210016199 A CN202210016199 A CN 202210016199A CN 116074529 A CN116074529 A CN 116074529A
Authority
CN
China
Prior art keywords
prediction
block
prediction mode
mode
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210016199.1A
Other languages
English (en)
Inventor
陈方栋
潘冬萍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202310497856.3A priority Critical patent/CN116800956A/zh
Priority to CN202210016199.1A priority patent/CN116074529A/zh
Priority to PCT/CN2023/070621 priority patent/WO2023131221A2/zh
Priority to TW112100625A priority patent/TWI832661B/zh
Publication of CN116074529A publication Critical patent/CN116074529A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

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

Abstract

本申请公开了图像编解码方法、装置及存储介质,涉及图像编解码技术领域,有助于提高编解码效率。一种图像解码方法包括:解析码流,以得到第一语法元素,第一语法元素包括待解码单元的目标预测模式的索引;基于目标预测模式的索引,从索引表中确定目标预测模式;其中,该索引表包含多种预测模式的索引与多种预测模式之间的对应关系;至少基于目标预测模式,对待解码单元进行重建,得到重建块。

Description

图像编解码方法、装置及存储介质
技术领域
本申请涉及图像编解码技术领域,尤其涉及图像编解码方法、装置及存储介质。
背景技术
视频中完整的图像通常被称为“帧”,由多个帧按照时间顺序组成的视频被称为视频序列(video sequence)。视频序列存在空间冗余、时间冗余、视觉冗余、信息熵冗余、结构冗余、知识冗余、重要性冗余等一系列的冗余信息。为了尽可能的去除视频序列中的冗余信息,减少表征视频的数据量,提出了视频编码(video coding)技术,以达到减小存储空间和节省传输带宽的效果。视频编码技术也称为视频压缩技术。
随着技术的不断发展,采集视频数据越来越便捷,所采集的视频数据的规模也越来越大,因此,如何有效地对视频数据进行编解码,成为迫切需要解决的问题。
发明内容
本申请提供图像编解码方法、装置及存储介质,用于对视频数据进行有效编解码,从而提高编解码效率。
为了达到上述目的,本申请采用如下技术方案:
第一方面,提供一种图像解码方法,包括:解析码流,以得到第一语法元素,第一语法元素包括待解码单元的目标预测模式的索引;基于目标预测模式的索引,从索引表中确定目标预测模式;其中,该索引表包含多种预测模式的索引与多种预测模式之间的对应关系;至少基于目标预测模式,对待解码单元进行重建,得到重建块。该技术方案可以直接基于目标预测模式的索引,从索引表中确定目标预测模式,而不需要解析标记位org_flag,因此降低了解码端的解码复杂度,从而提高解码效率。
在一种可能的实现方式中,多种预测模式的索引按照截断一元码方式生成。这有助于进一步降低码流传输开销。
在一种可能的实现方式中,多种预测模式的索引按照二叉树方式生成。
在一种可能的实现方式中,多种预测模式包括原始值模式和其他预测模式,原始值模式的索引的码字长度大于或等于其他预测模式中的一种或多种预测模式的索引的码字长度。由于对于一些其他预测模式来说,其使用频率较原始值模式的使用频率高,因此将其索引的码字长度设置的较短,有助于进一步降低码流传输开销。
在一种可能的实现方式中,其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式。
在一种可能的实现方式中,该方法还包括:解析该码流,以得到第二语法元素;其中,第二语法元素包括待解码单元的残差编码模式的索引;至少基于目标预测模式,对待解码单元进行重建,得到重建块,包括:如果残差编码模式的索引用于指示跳过残差编码模式,则对待解码单元进行预测,得到预测块,并将待解码单元的预测块确定为待解码单元的重建块;如果残差编码模式的索引用于指示正常残差编码模式,则解析待解码单元的残差量化相关值,得到残差块;基于目标预测模式和待解码单元的残差块,对待解码单元进行重建,得到重建块。
在一种可能的实现方式中,其他预测模式包括以下至少一种:基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
在一种可能的实现方式中,至少基于目标预测模式,对待解码单元进行重建,得到重建块,包括:如果目标预测模式是基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式,则将待解码单元的预测块确定为待解码单元的重建块;如果目标预测模式是基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式,则解析待解码单元的残差量化相关值,得到待解码单元的残差块,并基于目标预测模式和待解码单元的残差块对待解码单元进行重建,得到待解码单元的重建块。
在一种可能的实现方式中,待解码单元包括至少一个预测组;该至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;任意一个预测组中包括第一指定像素区域和第二指定像素区域,第一指定像素区域包括多个像素组,多个像素组根据第二指定像素区域划分得到,第一指定像素区域与第二指定像素区域的预测方式不同,多个像素组能并行预测,像素组包括一个或连续多个像素。
在一种可能的实现方式中,如果任意一个预测组包括处于同一行的连续多个元素,则:第一指定像素区域采用垂直预测,第二指定像素区域采用水平预测;或者,第一指定像素区域采用垂直预测,第二指定像素区域采用垂直均值预测。
在一种可能的实现方式中,如果任意一个预测组包括处于同一列的连续多个元素,则:第一指定像素区域采用水平预测,第二指定像素区域采用垂直预测;或者,第一指定像素区域用水平预测,第二指定像素区域采用水平均值预测。
在一种可能的实现方式中,不同像素组所包含的像素数量之差相等或小于阈值。
在一种可能的实现方式中,如果待解码单元不存在参考块,则待解码单元的第一个像素的重建值为待解码单元的比特位宽左移1位后得到的值。
在一种可能的实现方式中,待解码单元包括至少一个预测组;该至少一个预测组中的任意一个预测组包含连续多个像素;至少基于目标预测模式,对待解码单元进行重建,得到重建块,包括:当目标预测模式满足预设条件时,基于连续多个像素中的首个像素的参考值,以及首个像素与目标像素之间每相邻两个像素的残差值,确定目标像素的重建值;其中,目标像素是连续多个像素中的任意一个非首个像素,待解码单元的重建块包含目标像素的重建值。
在一种可能的实现方式中,首个像素采用第一预测方式,非首个像素采用第二预测方式;目标预测模式包括第一预测方式和第二预测方式,目标预测模式满足预设条件包括:第一预测方式和第二预测方式均为水平预测;或者,第一预测方式和第二预测方式均为垂直预测;或者,第一预测方式和第二预测方式的其中一种是水平预测,另一种是垂直预测;或者,第一预测方式是采用与待解码单元的相邻解码单元,或与待解码单元所在的独立解码单元相邻的独立解码单元的像素值进行参考预测的方式,第二预测方式是水平预测或垂直预测。
第二方面,提供一种图像编码方法,包括:确定待编码单元的目标预测模式;基于目标预测模式,从索引表中确定目标预测模式的索引;其中,索引表包含多种预测模式的索引与多种预测模式之间的对应关系;将目标预测模式的索引编入码流。该技术方案直接基于目标预测模式从索引表中确定目标预测模式的索引,该过程可以不在码流中编入目标预测模式是否为原始值的索引(如标记位org_flag)。由于大多数情况下,目标预测模式不采用原始值模式,例如,通常采用的是逐点预测模式或帧内预测模式,因此,大多数情况下,无需编码传统方案中代表是否使用原始值模式的标记位(org_flag),这有助于节省码流传输开销,从而提高编码效率。
在一种可能的实现方式中,多种预测模式的索引按照截断一元码方式生成。
在一种可能的实现方式中,多种预测模式的索引按照二叉树方式生成。
在一种可能的实现方式中,多种预测模式包括原始值模式和其他预测模式,原始值模式的索引的码字长度大于或等于其他预测模式中的一种或多种预测模式的索引的码字长度。
在一种可能的实现方式中,多种预测模式包括原始值模式和其他预测模式,其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式。
在一种可能的实现方式中,其他预测模式包括以下至少一种:基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
第三方面,提供一种图像重建方法,可以应用于图像编码方法,也可以应用于图像解码方法。该图像重建方法包括:确定当前图像块的残差编码模式;如果残差编码模式为跳过残差编码模式,则对当前图像块进行预测,得到预测块,并将预测块确定为当前图像块的重建块。如果残差编码模式为正常残差编码模式,则获取当前图像块的残差量化相关值,得到残差块;并基于残差块,对当前图像块进行重建,得到当前图像块的重建块。
本技术方案中,先确定残差编码模式,再在残差编码模式为正常残差编码模式才获取当前图像块的残差量化相关值,在残差编码模式为跳过残差编码模式时,不需要获取当前图像块的残差量化相关值。这样,在残差编码模式为正常残差编码模式的情况下,编码端不需要将当前图像块的残差量化相关值编入码流,解码端不需要解析当前图像块的残差量化相关值,因此有助于节省码流传输开销,从而提高编码效率;且有助于降低解码复杂度,从而提高解码效率。
第四方面,提供一种图像重建方法,可以应用于图像编码方法,也可以应用于图像解码方法。该图像重建方法包括:确定当前图像块的目标预测模式;如果目标预测模式为基于跳过残差编码的预测模式,则对前图像块进行预测,得到预测块,并将预测块确定为重建块;如果目标预测模式为基于正常残差编码的预测模式,则获取前图像块的残差量化相关值,得到前图像块的残差块,并基于目标预测模式和残差块对前图像块进行重建,得到重建块。
该技术方案中,一方面将传统的残差编码模式与预测模式结合作为本申请实施例提供的新的预测模式,这样,不需要对残差编码模式和预测模式分别进行编码(解码),仅需要统一对该新的预测模式进行编码(解码)即可,实现逻辑简单,且有助于节省码流传输开销。另一方面,这样重建图像块,对于编码端(或解码端)而言,可以先编码(或解码)残差编码模式信息(如残差编码模式的索引,如res_skip_flag),再基于残差编码模式确实是否编码(或解码)残差量化相关值(如near值,或QP值),相比传统技术,在残差编码模式是跳过残差编码模式时,不需要编码(或解码)残差量化相关值,这样有助于节省码流传输开销。
在一种可能的实现方式中,基于跳过残差编码的逐点预测模式,包括:基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
在一种可能的实现方式中,基于正常残差编码的预测模式,包括:基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式。
第五方面,提供一种图像重建方法,可以应用于图像编码方法,也可以应用于图像解码方法。该图像重建方法包括:确定当前图像块所划分的至少一个预测组的预测模式;其中,至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;任意一个预测组中包括第一指定像素区域和第二指定像素区域,第一指定像素区域包括多个像素组,多个像素组根据第二指定像素区域划分得到,第一指定像素区域与第二指定像素区域的预测方式不同,多个像素组之间能并行预测,像素组包括一个或连续多个像素;基于至少一个预测组的预测模式,对当前图像块进行重建,得到重建块。该技术方案中,一个预测组中的多个像素组之间能并行预测,因此有助于缩短该预测组的预测耗时。
在一种可能的实现方式中,如果任意一个预测组包括处于同一行的连续多个元素,则:第一指定像素区域采用垂直预测,第二指定像素区域采用水平预测;或者,第一指定像素区域采用垂直预测,第二指定像素区域采用垂直均值预测。
在一种可能的实现方式中,如果任意一个预测组包括处于同一列的连续多个元素,则:第一指定像素区域采用水平预测,第二指定像素区域采用垂直预测;或者,第一指定像素区域采用水平预测,第二指定像素区域采用水平均值预测。
在一种可能的实现方式中,不同像素组所包含的像素数量之差相等或小于阈值。
在一种可能的实现方式中,如果当前图像块不存在参考块,则当前图像块的第一个像素的重建值为当前图像块的比特位宽左移1位后得到的值。
第六方面,提供可以应用于图像编码方法,也可以应用于图像解码方法。该图像重建方法包括:确定当前图像块的目标预测模式;其中,当前图像块包括至少一个预测组;至少一个预测组中的任意一个预测组包含连续多个像素;当目标预测模式满足预设条件时,基于连续多个像素中的首个像素的参考值,以及首个像素与目标像素之间每相邻两个像素的残差值,确定目标像素的重建值;其中,目标像素是连续多个像素中的任意一个非首个像素,当前图像块的重建块包括包含目标像素的重建值。
该技术方案,编码端/解码端在执行重建时,可以直接基于其在前的像素与其相邻的像素的残差值,即可获得当前像素的重建值,而不需要等待获得其在前的像素的重建值,该方案也可以大大提高重建过程的并行度,从而提高解码并行度和吞吐率。
在一种可能的实现方式中,首个像素采用第一预测方式,非首个像素采用第二预测方式;目标预测模式包括第一预测方式和第二预测方式,目标预测模式满足预设条件包括:第一预测方式和第二预测方式均为水平预测;或者,第一预测方式和第二预测方式均为垂直预测;或者,第一预测方式和第二预测方式的其中一种是水平预测,另一种是垂直预测;或者,第一预测方式是采用与当前图像块的相邻译码单元,或与当前图像块所在的独立译码单元相邻的独立译码单元的像素值进行参考预测的方式,第二预测方式是水平预测或垂直预测。
第七方面,提供一种图像解码装置,该解码装置可以是视频解码器或包含视频解码器的设备。该解码装置包括用于实现第一方面、第三方面、第四方面或第五方面中任一种可能实现方式中方法的各个模块。所述解码装置具有实现上述相关方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块。其有益效果可以参见相应方法中的描述,此处不再赘述。
第八方面,提供一种图像编码装置,该编码装置可以是视频编码器或包含视频编码器的设备。该编码装置包括用于实现第二方面、第三方面、第四方面或第五方面中任一种可能实现方式中方法的各个模块。所述编码装置具有实现上述相关方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能对应的模块。其有益效果可以参见相应方法中的描述,此处不再赘述。
第九方面,本申请提供一种电子设备,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于从存储器中调用并运行所述计算机指令,以实现第一方面至第六方面中任一种实现方式的方法。
例如,该电子设备可以是指视频编码器,或包括视频编码器的设备。
又如,该电子设备可以是指视频解码器,或包括视频解码器的设备。
第十方面,本申请提供一种计算机可读存储介质,存储介质中存储有计算机程序或指令,当计算机程序或指令被计算设备或计算设备所在的存储***执行时,以实现第一方面至第六方面中任一种实现方式的方法。
第十一方面,本申请提供一种计算机程序产品,该计算程序产品包括指令,当计算机程序产品在计算设备或处理器上运行时,使得计算设备或处理器执行该指令,以实现第一方面至第六方面中任一种实现方式的方法。
第十二方面,本申请提供一种芯片,包括存储器和处理器,存储器用于存储计算机指令,处理器用于从存储器中调用并运行该计算机指令,以实现第一方面至第六方面中任一种实现方式的方法。
第十三方面,本申请提供一种图像译码***,该图像译码***包括编码端和解码端,解码端用于实现第一至第六方面提供的相应的解码方法,编码端用于实现与此对应的编码方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。或者说,上述任意一个方面的任意一种可能的实现方式,在不冲突的情况下,均可以应用于其他方面,从而得到新的实施例。例如,上述第三至第五方面提供的任意一种图像重建方法,可以应用于第一方面或第二方面提供的任意一种编码方法或解码方法中。又如,上述第三至第五方面提供的任意两种重建方法在不冲突的情况下,可以合并,从而得到新的重建方法。
附图说明
图1为本申请实施例提供的多种预测方式的示意图;
图2为本申请实施例所应用的编解码***的架构示意图;
图3为用于实现本申请实施例的编码器的实例的示意性框图;
图4为本申请实施例提供的一种图像、并行编码单元、独立编码单元和编码单元之间的对应关系的示意图;
图5为本申请实施例提供的一种编码过程的示意图;
图6为用于实现本申请实施例的解码器的实例的示意性框图;
图7A为本申请实施例提供的一种图像编码方法的流程示意图一;
图7B为本申请实施例提供的一种与图7A对应的图像解码方法的流程示意图;
图8A为本申请实施例提供的一种图像编码方法的流程示意图二;
图8B为本申请实施例提供的一种与图8A对应的图像解码方法的流程示意图;
图9A为本申请实施例提供的一种图像编码方法的流程示意图三;
图9B为本申请实施例提供的一种与图9A对应的图像解码方法的流程示意图;
图10为本申请实施例提供的一种图像重建方法的流程示意图一;
图11为本申请实施例提供的一种并行像素组的划分方式示意图;
图12为16x2的当前图像块的预测划分模式的示意图一;
图13A-图13B为本申请实施例提供的与图12对应的16x2的当前图像块的预测划分模式的示意图;
图14为16x2的当前图像块的预测划分模式的示意图二;
图15A-图15D为本申请实施例提供的与图14对应的16x2的当前图像块的预测划分模式的示意图;
图16为8x2的当前图像块的预测划分模式的示意图;
图17为本申请实施例提供的与图16对应的8x2的当前图像块的预测划分模式的示意图;
图18为8x1的当前图像块的预测划分模式的示意图;
图19为本申请实施例提供的与图18对应的8x1的当前图像块的预测划分模式的示意图;
图20为本申请实施例提供的8x1的当前图像块的残差块分组示意图;
图21为本申请实施例提供的图像重建方法的示意图二;
图22为本申请实施例提供的用于说明图21的8x1的图像块的预测模式的示意图;
图23-图28为本申请实施例提供的编码装置或解码装置的结构示意图;
图29为本申请实施例提供的电子设备的结构示意图。
具体实施方式
首先,对本申请实施例涉及的技术术语进行介绍:
1)、预测模式
预测当前图像块(如待编码单元/待解码单元)所采用的预测方式的组合称为预测模式。其中,预测当前图像块中的不同像素可以采用不同的预测方式,也可以采用相同的预测方式,预测当前图像块中的所有像素所采用的预测方式可以共同称为该当前图像块的(或对应的)预测模式。
可选地,预测模式包括:逐点预测模式,帧内预测模式,块复制模式和原始值模式(即直接解码固定位宽的重建值模式)等。
示例的,逐点预测模式是基于周围相邻点的像素重建值作为预测值。逐点预测模式包括垂直预测、水平预测、垂直均值预测和水平均值预测等预测方式中的一种或多种的组合。垂直预测为用当前像素上侧(既可以是相邻的上侧,也可以是非相邻但距离较近的上侧)像素值来获得当前像素的预测值。一种示例为:将当前像素上侧相邻的像素的重建值作为当前像素的预测值。水平预测为用当前像素左侧(既可以是相邻的左侧,也可以是非相邻但距离较近的左侧)像素值来获得当前像素的预测值。一种示例为:将当前像素左侧相邻像素的重建值作为当前像素的预测值。垂直均值预测为用当前像素上下方的像素值来获得当前像素的预测值。一种示例为:当前像素的预测值为垂直上方的相邻像素的重建值和垂直下方的相邻像素的重建值的均值。水平均值预测为用当前像素左右两侧的像素值来获得当前像素的预测值。一种示例为:当前像素的预测值为水平左侧的相邻像素的重建值和水平右侧的相邻像素的重建值的均值。
示例的,帧内预测模式是基于周围相邻块的像素重建值作为预测值。
示例的,块复制预测模式是基于周围已编码(解码)块(不一定相邻)的像素重建值作为预测值。
示例的,原始值模式是直接解码固定位宽的重建值模式,即无参考预测模式。
如图1所示,为本申请实施例提供的多种预测方式的示意图。图1中的一个小方格表示一个像素。包含不同标记的像素用于表示不同的预测方式,具体示意出了垂直预测、水平预测、垂直均值预测和水平均值预测。图1所示的各种预测方式的示意图可用于解释本申请所涉及的任意一个相关附图,例如图12等。
2)、残差编码模式
对当前图像块(如待编码单元/待解码单元)的残差(即残差块,由当前图像块中的每个像素的残差值构成)进行编码的方式,被称为残差编码模式。残差编码模式可以包括跳过残差编码模式和正常残差编码模式。
在跳过残差编码模式下,无需编码(解码)残差系数,此时当前图像块中的像素的残差值为全0,每个像素的重建值等于该像素的预测值。
在正常残差编码模式下,需要编码(解码)残差系数,此时前图像块中的像素的残差值不全为0,每个像素的重建值可以基于该像素的预测值和残差值得到。
在一个示例中,像素的残差值等价于该像素的残差系数;在另一个示例中,像素的残差系数可以是该像素的残差值经一定处理得到的。
3)、其他术语
本申请实施例中的术语“至少一个(种)”包括一个(种)或多个(种)。“多个(种)”是指两个(种)或两个(种)以上。例如,A、B和C中的至少一种,包括:单独存在A、单独存在B、同时存在A和B、同时存在A和C、同时存在B和C,以及同时存在A、B和C。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。“多个”是指两个或多于两个。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
下面描述本申请实施例所应用的***架构。
参见图2,给出了本申请实施例所应用的编解码***10的架构示意图。如图2所示,编解码***10可以包括源设备11和目的设备12,源设备11用于对图像进行编码,因此,源设备11可被称为图像编码装置或视频编码装置。目的设备12用于对由源设备11所产生的经编码的图像数据进行解码,因此,目的设备12可被称为图像解码装置或视频解码装置。
源设备30和目的设备31可以包括各种装置,包含桌上型计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机或其类似者。
可选地,图2中的源设备11和目的设备12可以是两个单独的设备,或者,源设备11和目的设备12为同一设备,即源设备11或对应的功能以及目的设备12或对应的功能可以集成在同一个设备上。
源设备11和目的设备12之间可以进行通信,例如,目的设备12可从源设备11接收经编码图像数据。在一个实例中,源设备11和目的设备12之间可以包括一个或多个通信媒体,通过一个或多个通信媒体传输经编码图像数据,该一个或多个通信媒体可包含路由器、交换器、基站或促进从源设备11到目的设备12的通信的其它设备。
如图2所示,源设备11包括编码器112,可选地,源设备11还可以包括图像预处理器111以及通信接口113。其中,图像预处理器111,用于对接收到的待编码图像执行预处理,例如,图像预处理器111执行的预处理可以包括整修、色彩格式转换(例如,从RGB格式转换为YUV格式)、调色或去噪等。编码器112,用于接收经预处理的图像,采用相关预测模式对经预处理的图像进行处理,从而提供经编码图像数据。在一些实施例中,编码器112可以用于执行下文中所描述的各个实施例中的编码过程。通信接口113,可用于将经编码图像数据传输至目的设备12或任何其它设备(如存储器),以用于存储或直接重构,其它设备可为任何用于解码或存储的设备。通信接口113也可以将经编码图像数据封装成合适的格式之后再传输。
可选地,上述图像预处理器111、编码器112以及通信接口113可能是源设备11中的硬件部件,也可能是源设备11中的软件程序,本申请实施例不做限定。
继续如图2所示,目的设备12包括解码器122,可选地,目的设备12还可以包括通信接口121、图像后处理器123。其中,通信接口121可用于从源设备11或任何其它源设备接收经编码图像数据,该任何其它源设备例如为存储设备。通信接口121还可以解封装通信接口113所传输的数据以获取经编码图像数据。解码器122,用于接收经编码图像数据并输出经解码图像数据(也称为经重构图像数据或已重构图像数据)。在一些实施例中,解码器122可以用于执行下文中所描述的各个实施例所述的解码过程。
图像后处理器123,用于对经解码图像数据执行后处理,以获得经后处理像数据。图像后处理器123执行的后处理可以包括:色彩格式转换(例如,从YUV格式转换为RGB格式)、调色、整修或重采样,或任何其它处理,还可用于将将经后处理图像数据传输至显示设备进行显示。
同理,可选地,上述通信接口121、解码器122以及图像后处理器123可能是目的设备12中的硬件部件,也可能是目的设备12中的软件程序,本申请实施例不做限定。
下面对图2中的编码器和解码器的结构进行简单介绍。
参见图3,图3示出用于实现本申请实施例的编码器20的实例的示意性框图。在图3中,编码器包括预测处理单元201、残差计算单元202、残差编码单元203、量化单元204、系数编码单元205、反量化单元(也可以称为逆量化单元)206、残差解码单元207、重构单元(或者称为重建单元)208以及滤波器单元209。可选地,编码器20还可以包括缓冲器、经解码图像缓冲器,其中,缓冲器用于缓存重构单元208输出的重构图像块,经解码图像缓冲器用于缓存滤波器单元209输出的滤波后的图像块。
在一个示例中,编码器20的输入为待编码图像的图像块(即当前图像块、待编码图像块或编码单元。在另一个示例中,编码器20的输入为待编码图像,编码器20中可以包括分割单元(图3中未示出),该分割单元用于将待编码图像分割成多个图像块。编码器20用于逐块编码从而完成对待编码图像的编码,例如,对每个图像块执行编码过程。
在一个示例中,一种将待编码图像划分成多个图像块的方法可以包括:
步骤1:将一帧图像分成一个或多个互相不重叠的并行编码单元,各个并行编码单元间无依赖关系,可并行/独立编解码。
步骤2:对于每个并行编码单元,编码端可将其分成一个或多个互相不重叠的独立编码单元,各个独立编码单元间可相互不依赖,但可以共用该并行编码单元的一些头信息。
步骤3:对于每个独立编码单元,编码端可再将其分成一个或多个互相不重叠的编码单元。其中,其中,若将独立编码单元划分成多个互相不重叠的编码单元,则划分方式可以为水平等分法、垂直等分法或水平垂直等分法。当然具体实现时不现于此。独立编码单元内的各个编码单元可相互依赖,即在执行预测步骤的过程中可以相互参考。
编码单元的宽为w_cu,高为h_cu,可选的,其宽大于高(除非是边缘区域)。通常的,编码单元可为固定的w_cu x h_cu,w_cu和h_cu均为2个N次方(N大于等于0),如16x4,8x4,16x2,8x2,4x2,8x1,4x1等。
编码单元即可以是包括亮度Y、色度Cb、色度Cr三个分量(或红R、绿G、蓝B三分量),也可以仅包含其中的某一个分量。若包含三个分量,几个分量的尺寸可以完全一样,也可以不一样,具体与图像输入格式相关。
如图4所示,为一种图像、并行编码单元、独立编码单元和编码单元之间的对应关系的示意图。其中,图4中是以按照3:1将一个图像划分为并行编码单元1和并行编码单元2,以及一个独立编码单元包含4个编码单元为例进行说明的。
预测处理单元201,用于接收或获取图像块的真实值和已重构图像数据,基于已重构图像数据中的相关数据对当前图像块进行预测,得到当前图像块的预测块。
残差计算单元202用于计算图像块的真实值和该图像块的预测块之间的残差值,得到残差块,例如,通过逐像素将图像块的像素值减去预测块的像素值。
在一个示例中,残差编码单元203用于基于残差块确定当前图像块的残差系数。可选的,在该过程中,可以包括:对残差块进行例如离散余弦变换(discrete cosinetransform,DCT)或离散正弦变换(discrete sine transform,DST)的变换,以在变换域中获取变换系数,变换系数也可以称为变换残差系数,该变换残差系数可以在变换域中表示残差块。当然,也可以不包含变换的步骤。
量化单元204用于通过应用标量量化或向量量化来量化变换系数,以获取经量化变换系数,经量化变换系数也可以称为经量化残差系数。量化过程可以减少与部分或全部变换系数有关的位深度。例如,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。可通过调整量化参数(quantization parameter,QP)修改量化程度。例如,对于标量量化,可以应用不同的标度来实现较细或较粗的量化。较小量化步长对应较细量化,而较大量化步长对应较粗量化。可以通过QP指示合适的量化步长。
系数编码单元205用于对上述经量化残差系数进行编码,以经编码比特流的形式输出的经编码图像数据(即当前待编码图像块的编码结果),然后可以将经编码比特流传输到解码器,或将其存储起来,后续传输至解码器或用于检索。系数编码单元205还可用于对当前图像块的其它语法元素进行编码,例如将预测模式的索引编码至码流等。
在一个示例中,系数编码单元205对残差系数编码,一种可行方法为:半定长编码方式。首先将一个残差小块(residual block,RB)内残差绝对值的最大值定义为modifiedmaximum(mm)。确定该RB内残差系数的编码比特数(同一个RB内残差系数的编码比特数一致)。例如,若当前RB的CL为2,当前残差系数为1,则编码残差系数1需要2个比特,表示为01。若前RB的CL为7,则表示编码8-bit的残差系数和1-bit的符号位。CL的确定是去找满足当前子块所有残差都在[-2^(M-1),2^(M-1)]范围之内的最小M值。若同时存在-2^(M-1)和2^(M-1)两个边界值,则M应增加1,即需要M+1个比特编码当前RB的所有残差;若仅存在-2^(M-1)和2^(M-1)两个边界值中的一个,则需要编码一个Trailing位来确定该边界值是-2^(M-1)还是2^(M-1);若所有残差均不存在-2^(M-1)和2^(M-1)中的任何一个,则无需编码该Trailing位。
当然,也可以采用其他残差系数编码方法,如指数Golomb编码方法,Golomb-Rice编码方法,截断一元码编码方法,游程编码方法,直接编码原始残差值等。
另外,对于某些特殊的情况,也可以直接编码原始值,而不是残差值。
反量化单元206用于对上述经量化系数进行反量化,以获取经反量化系数,该反量化是上述量化单元204的反向应用,例如,基于或使用与量化单元204相同的量化步长,应用量化单元204应用的量化方案的逆量化方案。经反量化系数也可以称为经反量化残差系数。
残差解码单元207用于将上述反量化残差系数解码为残差块,可选的,该过程可以包括:对上述反量化系数进行反变换,例如,反变换可以包括逆离散余弦变换(discretecosine transform,DCT)或逆离散正弦变换(discrete sine transform,DST),以在像素域(或者称为样本域)中获取逆变换块。逆变换块也可以称为逆变换经反量化块或逆变换残差块。当然,也可以不包含反变换的步骤。
重构单元208用于将逆变换块(即逆变换残差块)添加至预测块,以在样本域中获取经重构块,重构单元208可以为求和器,例如,将残差块的样本值(即像素值)与预测块的样本值相加。该重构单元208输出的重构块可以后续用于预测其他图像块。
滤波器单元209(或简称“滤波器”)用于对经重构块进行滤波以获取经滤波块,从而顺利进行像素转变或提高图像质量。
在一个示例中,一种编码过程如图5所示。具体的,编码器判断是否采用逐点预测模式,若是,则基于逐点预测模式进行预测,并执行反量化和重建步骤,从而实现编码过程;若否,则判断是否采用原始值模式。若是,则采用原始值模式编码;若否,则确定采用其他预测模式如帧内预测或块复制模式进行预测。后续,在确定执行残差跳过时,直接执行重建步骤;在确定不执行残差跳过时,先执行反量化步骤,并判断是否采用块复制预测模式。若确定采用块复制预测模式,则一种情况下,在确定执行变换跳过时,直接执行重建步骤,在另一种情况下,在确定没有执行变换跳过时,通过执行反变换和重建步骤,实现编码过程。若确定不采用块复制模式(该情况下,所采用的一种预测模式为帧内预测模式)时,执行反变换步骤和重建步骤,从而实现编码过程。
具体的,在本申请实施例中,编码器20用于实现后文实施例中描述的编码方法。
参见图6,图6示出用于实现本申请实施例的解码器30的实例的示意性框图。解码器30用于接收例如由编码器20编码的经编码图像数据(即经编码比特流,例如,包括图像块的经编码比特流及相关联的语法元素),以获取经解码图像。解码器30包括码流解析单元301、反量化单元302、残差解码单元303、预测处理单元304、重构单元305、滤波器单元306。在一些实例中,解码器30可执行大体上与图2的编码器20描述的编码遍次互逆的解码遍次。可选地,解码器30还可以包括缓冲器、经解码图像缓冲器,其中,缓冲器用于缓存重构单元305输出的重构图像块,经解码图像缓冲器用于缓存滤波器单元306输出的滤波后的图像块。
码流解析单元301用于对经编码图像数据执行解码,以获取经量化系数和/或经解码的编码参数(例如,解码参数可以包括帧间预测参数、帧内预测参数、滤波器参数和/或其它语法元素中的任意一个或全部)。码流解析单元301还用于将上述经解码的编码参数转发至预测处理单元304,以供预测处理单元根据编码参数执行预测过程。
反量化单元302的功能可与编码器20的反量化单元206的功能相同,用于反量化(即,逆量化)由码流解析单元301解码的经量化系数。
残差解码单元303的功能可与编码器20的残差解码单元207的功能相同,重构单元305(例如求和器)的功能可与编码器20的重构单元208的功能相同,用于对上述经量化系数进行逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程),得到逆变换块(也可以称为逆变换残差块),该逆变换块即为当前图像块在像素域中的残差块。
预测处理单元304,用于接收或获取经编码图像数据(例如当前图像块的经编码比特流)和已重构图像数据,预测处理单元301还可以从例如码流解析单元302接收或获取预测相关参数和/或关于所选择的预测模式的信息(即经解码的编码参数),并且基于已重构图像数据中的相关数据和经解码的编码参数对当前图像块进行预测,得到当前图像块的预测块。
重构单元305用于将逆变换块(即逆变换残差块)添加到预测块,以在样本域中获取经重构块,例如将逆变换残差块的样本值与预测块的样本值相加。
滤波器单元306用于对经重构块进行滤波以获取经滤波块,该经滤波块即为经解码图像块。
具体的,在本申请实施例中,解码器30用于实现后文实施例中描述的解码方法。
应当理解的是,在本申请实施例的编码器20和解码器30中,针对某个环节的处理结果也可以经过进一步处理后,输出到下一个环节,例如,在插值滤波、运动矢量推导或滤波等环节之后,对相应环节的处理结果进一步进行Clip或移位shift等操作。
在一个示例中,一种解码过程可以包括以下步骤:
步骤1:码流解析单元301解析预测模式和残差编码模式;
步骤2:码流解析单元301基于预测模式和残差编码模式解析量化相关值(如near值,或QP值等);
步骤3:反量化单元302基于预测模式和量化相关值解析残差系数;
步骤4:预测处理单元304基于预测模式,获得当前图像块各个像素的预测值;
步骤5:残差值解码单元303基于残差系数解码获得当前图像块各个像素的残差值;
步骤6:重构单元305基于当前编码单元各个像素的预测值和残差值,获得其重建值。
以下,结合附图,本申请实施例提供了如下图像编解码方法进行说明。
需要说明的是,本申请任一实施例中的编码端可以是上述图2或图3中的编码器,也可以是上述图2中的源设备;任一实施例中的解码端可以上述图2或图6中的解码器,也可以是上述图2中的目的设备。
实施例一
如图7A所示,为本申请实施例提供的一种图像编码方法的流程示意图。图7A所示的方法包括如下步骤:
S101:编码端确定待编码单元的目标预测模式。
待编码单元可以是待编码图像中的任意一个待编码图像块(即编码单元)。
目标预测模式可以是预定义的多种预测模式中的其中一种,具体可以是原始值模式,也可以是除原始值模式之外的其他预测模式。
在一个示例中,该其他预测模式包括:至少一种逐点预测模式、至少一种帧内预测模式,以及至少一种块复制模式中的任意一种或多种的组合。例如,该其他模式包括逐点预测模式、帧内预测模式和块复制模式共3种预测模式。又如,该其他模式包括逐点预测模式0、逐点预测模式1、帧内预测模0、块复制模式0和块复制模式1共5种预测模式。
在另一个示例中,该其他预测模式包括:基于正常残差编码的至少一种逐点预测模式、至少一种帧内预测模式、至少一种块复制模式,基于跳过残差编码的至少一种逐点预测模式、至少一种帧内预测模式,以及至少一种块复制模式中的任意一种或多种的组合。该示例可以认为是将传统技术中的预测模式与残差编码模式进行结合,从而得到本申请实施例中定义的新的预测模式。
当预测模式是基于正常残差编码的逐点预测模式时,编码端采用正常残差编码模式进行残差系数编码,采用逐点预测模式对待编码单元的像素值进行预测。当预测模式是其余几种模式时,与此类似,不再一一赘述。
S102:编码端基于目标预测模式,从索引表中确定目标预测模式的索引;其中,索引表包含多种预测模式的索引与该多种预测模式之间的对应关系。
可选地,多种预测模式与各自的索引之间的对应关系可以通过索引表存储,当然也可以通过其他方式存储,本申请实施例对此不进行限定。
可选地,编码端对该多种预测模式的索引进行联合编码。
例如,按照截断一元码方式对该多种预测模式的索引进行编码,也就是说该多种预测模式的索引按照截断一元码方式生成,如可以参考下述示例1和示例2。
又如,按照二叉树方式对该多种预测模式的索引进行编码,如可以参考下述示例3。
可选地,原始值模式的索引的码字长度(即二进制字符的个数,也可以被称为码长)大于或等于其他预测模式的索引的码字长度。
可选地,预测模式的索引的码字长度与该预测模式的使用频率相关。其中,这里的使用频率可以是基于大数据统计得来的,本申请实施例对其统计方法不进行限定。例如,使用频率越高的预测模式,其索引的码字越短。当然,对于该多种预测模式来说,可能存在其中的部分预测模式的索引满足该可选地实现方式所示的规律。进一步可选地,可能存在多个预测模式的索引的码字长度相同。
S103:编码端将目标预测模式的索引编入码流。
如图7B所示,为本申请实施例提供的一种图像解码方法。该图像解码方法与如图7A所示的图像编码方法对应。图7B所示的方法包括:
S201:解码端解析码流,以得到语法元素,该语法元素包括待解码单元的目标预测模式的索引。
待解码单元可以由对图7A所示的方法中的待编码单元进行编码后得到。
可选地,编码端对该多种预测模式的索引进行联合编码,例如,按照截断一元码方式对该多种预测模式的索引进行编码,也就是说该多种预测模式的索引按照截断一元码方式生成。
可选地,原始值模式的索引的码字长度大于或等于其他预测模式的索引的码字长度。
可选地,预测模式的索引的码字长度与该预测模式的使用频率相关。例如,使用频率越高的预测模式,其索引的码字越短。
S202:解码端基于目标预测模式的索引,从索引表中确定目标预测模式;其中,索引表包含多种预测模式的索引和该多种预测模式之间的对应关系。
S203:解码端至少基于目标预测模式,对待解码单元进行重建,得到待解码单元的重建块。
在一个示例中,解码端基于目标预测模式,对待解码单元的像素值进行预测,得到预测块。并解析码流,以得到待解码单元的残差块相关的信息,并基于该信息得到待编码单元的残差块。然后,基于该预测块与残差块,对待解码单元进行重建,得到重建块。
解码端至少基于目标预测模式,对待解码单元进行重建的过程,不限于此。在另一个示例中,解码端可以基于以下图21中的方法对待解码单元进行重建。
需要说明的是,在传统技术中,在编码端,通常采用额外一个比特表示当前图像块(即待编码单元)的预测模式是否为原始值模式(例如,该比特位记为org_flag,若org_flag是“1”表示当前块的预测模式是原始值模式,若org_flag是“0”表示当前块的预测模式不是原始值模式)。若不是原始值模式,则再在码流中编入其他预测模式的索引。但是,由于原始值模式采用的概率非常低,因此针对多数图像块,在码流中均需要编入1个0,这会造成传输资源的浪费(即增加了码流传输开销),并且无论预测模式是否为原始值预测模式,解码端需要先解码这个标记位org_flag,增加了解码端的解码复杂度。
而本申请实施例提供的图7A所示的图像编码方法中,直接基于目标预测模式从索引表中确定目标预测模式的索引,该过程可以不在码流中编入目标预测模式是否为原始值的索引(如标记位org_flag)。由于大多数情况下,目标预测模式不采用原始值模式,例如,通常采用的是逐点预测模式或帧内预测模式,因此,大多数情况下,无需编码传统方案中代表是否使用原始值模式的标记位(org_flag),这有助于节省码流传输开销。
相应的,在本申请实施例图10提供的图像解码方法中,可以直接基于目标预测模式的索引,从索引表中确定目标预测模式,而不需要解析标记位org_flag,因此降低了解码端的解码复杂度。
图7B所示的图像解码方法与图7A所示的图像编码方法对应,因此,该图像解码方法有助于节省码流传输开销。
示例1:假设上述多种预测模式包括原始值模式、点预测模式、帧内预测模式和块复制模式,那么,一种可行的方法为,采用截断一元码的方式编码这几种预测模式的索引,且原始值模式的索引的编码采用较长的码字,其他预测模式的索引采用较短的码字。例如:逐点预测模式的索引的码字为0,帧内预测模式码字为10,块复制模式码字为111,原始值模式的索引的码字为110。基于这种方案,由于多数情况下,采用的是逐点预测模式或帧内预测模式,因此无需编码传统方案中代表是否使用原始值模式的那个标记位(org_flag)。
基于该示例,索引表可以如表1所示:
表1:按照截断一元码的方式编码的索引表
预测模式 预测模式的索引
逐点预测模式 0
帧内预测模式 10
块复制模式 111
原始值模式 110
示例2:假设上述多种预测模式包括:原始值模式、基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式、块复制模式,并且,将基于正常残差编码模式的的逐点预测模式、帧内预测模式、块复制模式,依次记为:普通逐点预测模式(模式1)、普通帧内预测模式(模式2)、普通块复制模式(模式3);将基于跳过残差编码模式的逐点预测模式、帧内预测模式、块复制模式,依次记为:特殊逐点预测模式(模式4)、特殊帧内预测模式(模式5)、特殊块复制模式(模式6)。加上原值值模式(模式7)共7种预测模式。那么,一种可行的方法为,采用截断一元码的方式编码这几种预测模式的索引,模式1-7的码字分别为:0,10,110,1110,11110,111110,111111。
基于该示例,索引表可以如表2所示:
表2:按照截断一元码的方式编码的索引表
预测模式 预测模式的索引
普通逐点预测模式 0
普通帧内预测模式 10
普通块复制模式 110
特殊逐点预测模式 1110
特殊帧内预测模式 11110
特殊块复制模式 111110
原值值模式 111111
示例3:按照二叉树方式对多种预测模式的索引进行编码。如表3所示为一种编码方式。
表3:按照二叉树方式编码的索引表
Figure BDA0003460925230000131
Figure BDA0003460925230000141
表3中是以多种预测模式包括如上15种预测模式为例进行说明的。实际实现时,表3所示的索引表可以只包含预测模式和预测模式的索引这两列,或者包含预测模式的编号,预测模式和预测模式的索引这3列。
表3中的多种预测模式的索引是按照如下规则生成的:
首先,将“0”和“1”分别作为“点预测模式、帧内块复制模式”和“帧内预测模式、原始值模式”的索引的最高位标记。
其次,对于“点预测模式、帧内块复制模式”来说,将“0”和“1”分别作为“点预测模式”和“帧内块复制模式”的索引的次高位标记。
接着,对于点预测模式而言,将“1”和“0”分别作为“点预测模式0-1”和“点预测模式2-3”的索引的第三个标记位。
最后,对于“点预测模式0-1”而言,将“0”和“1”分别作为“点预测模式0”和“点预测模式1”的索引的第四个标记位。
由此可以得到点预测模式0和点预测模式1的索引分别为“0010”和“0011”。其他预测模式的索引的生成方式与此类似,此处不再赘述。
对于帧预测模式0-6而言,使用“1”和“0”分别作为“帧预测模式0”和“帧预测模式1-6”的索引的次高位。其他帧预测模式的索引不再一一说明。对于帧内块复制模式的索引生成方式与此类似。
可选地,一个预测模式的索引的码长与该预测模式的使用频率相关。在一个示例中,参见表3,考虑到点预测模式0-3的使用频率大致相同,因此将其索引的码长设置为相同;考虑到帧内预测模式0的使用频率高于帧内预测模式1-6的使用频率,因此其索引的码长小于帧内预测模式1-6的码字的使用频率。其他示例不再一一列举。
可选地,一种预测模式的索引不作为其他预测模式的索引的前缀。例如,针对预测模式0的索引是“11”,其他14种预测模式的索引的前缀均不为“11”。这是在考虑到“如果某一种或多个预测模式的索引的前缀是“11”,则解码端识别到“11”时,不能确定该预测模式是预测模式0还是该一种或多种预测模式”而提出的技术方案,这有助于解码端快速解码。
需要说明的是,基于二叉树的方式生成多种预测模式的索引的具体实现方式不限于表3。
例如,在表3中,点预测模式0-3的索引的码长相等,具体实现时,任意两个点预测模式的索引的码长也可以不相等,如可参考帧预测模式0-6的索引的生成方式。
例如,帧内预测模式0-6的索引的码长也可以相等,如参考点预测模式0-3的索引的生成方式。
例如,表3是将“0”和“1”分别作为“点预测模式、帧内块复制模式”和“帧内预测模式、原始值模式”的索引的最高位标记;具体实现时,还可以将“1”和“0”分别作为“点预测模式、帧内块复制模式”和“帧内预测模式、原始值模式”的索引的最高位标记。
其他示例不再一一列举。
实施例二
如图8A所示,为本申请实施例提供的一种图像编码方法的示意图。图8A所示的方法包括以下步骤:
S301:编码端确定待编码单元的残差编码模式。其中,残差编码模式可以包括跳过残差编码模式或正常残差编码模式。
关于待编码单元、跳过残差编码模式和正常残差编码模式的相关解释可以参考上文,此处不再赘述。
S302:如果该残差编码模式为跳过残差编码模式,则编码端将该残差编码模式的索引编入码流。该情况下,无需将待编码单元的残差量化相关值(如near值或QP值等)编入码流。
S303:如果该残差编码模式为正常残差编码模式,则编码端将该残差编码模式的索引和待编码单元的残差量化相关值(如near值或QP值等)编入码流。在一个示例中,编码端先编码该残差编码模式的索引,再编码待编码单元的残差量化相关值。
S304:如果该残差编码模式为跳过残差编码模式,则编码端对待编码单元进行预测,得到预测块,并将该预测块确定为待编码单元的重建块。该情况下,不需要获取待编码单元的残差量化相关值。
S305:如果该残差编码模式为正常残差编码模式,则编码端获取待编码单元的残差量化相关值,得到残差块;并基于该残差块,对待编码单元进行重建,得到待编码单元的重建块。
其中,S304-S305可以认为是编码端执行的重建过程。
如图8B所示,为本申请实施例提供的一种图像解码方法的示意图。该图像解码方法与如图8A所示的图像编码方法对应。图8B所示的方法包括以下步骤:
S401:解码端解析码流,以得到语法元素。该语法元素包括待解码单元的残差编码模式的索引。该待解码单元可以是按照图8A所示的方法对待编码单元进行编码后得到的图像块。
S402:如果残差编码模式的索引用于指示跳过残差编码模式,则解码端对待解码单元进行预测,得到预测块,并将该预测块确定为待解码单元的重建块。
由于残差编码模式是跳过残差编码模式,即待解码单元的残差值均为0,因此,可以将该预测块直接作为重建块。
S403:如果残差编码模式的索引用于指示正常残差编码模式,则解码端解析待解码单元的残差量化相关值,得到残差块;至少基于该残差块,对待解码单元进行重建,得到重建块。
在一个示例中,上述语法元素还可以包括待解码单元的预测模式,解码端基于该预测模式对待解码单元进行预测,得到预测块,并基于该残差块和该预测块,对待解码单元进行重建,得到重建块。至少基于残差块对待解码单元进行重建的过程,不限于此。在另一个示例中,基于图21所示的方法进行重建,得到重建块。
需要说明的是,传统技术中,通常通过1个标记位(记为res_skip_flag)表示当前块是否采用跳过残差编码模式,且残差量化相关值的编码(解码)在res_skip_flag前,因此即使res_skip_flag为1,也需要编码(解码)残差量化相关值。而此时的残差量化相关值是冗余的,因此该技术方案不仅增加了编码端与解码端之间的码流传输开销,而且增加了解码端的解码复杂度。
而本申请实施例图8A提供的图像编码方法中,考虑到“若为跳过残差编码模式(如res_skip_flag为1),则无需编码或解码残差系数,因此残差量化相关值(如near值,或QP值等)也无需编码(解码)”,因此,提出在编码端先编码残差编码模式信息(如残差编码模式的索引,如res_skip_flag),再基于残差编码模式确实是否编码残差量化相关值(如near值,或QP值),相比传统技术,在残差编码模式是跳过残差编码模式时,不需要编码残差量化相关值,这样有助于节省码流传输开销。
相应的,在本申请实施例图8B提供的图像解码方法中,可以先解析残差编码模式信息(如残差编码模式的索引,如res_skip_flag),再基于残差编码模式确实是否解析残差量化相关值(如near值,或QP值),降低了解码端的解码复杂度。
实施例三
如图9A所示,为本申请实施例提供的一种图像编码方法的示意图。图9A所示的方法包括以下步骤:
S501:编码端确定待编码单元的目标预测模式。其中,目标预测模式包括基于跳过残差编码的预测模式或基于正常残差编码的预测模式。
基于跳过残差编码的预测模式和基于正常残差编码的预测模式,可以认为是将传统技术中的预测模式与残差编码模式进行结合,从而得到本申请实施例中定义的新的预测模式。
在一个示例中,基于跳过残差编码的逐点预测模式,包括:基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
在一个示例中,基于正常残差编码的预测模式,包括:基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式。
S502:编码端将目标预测模式的索引编入码流。
在一个示例中,目标预测模式的索引的生成方式可以参考图7A所示的实施例中的相关示例,如对该多种预测模式的索引进行联合编码,例如,按照截断一元码方式对该多种预测模式的索引进行编码。当然具体实现时不限于此,在另一个示例中,可以按照传统方式如先编码标记位org_flag的方式,再将目标预测模式的索引编入码流。
S503:如果目标预测模式为基于跳过残差编码的预测模式,则编码端对待编码单元进行预测,得到预测块,并将该预测块确定为待编码单元的重建块。
S504:如果目标预测模式为基于正常残差编码的预测模式,则编码端获取待编码单元的残差量化相关值,得到待编码单元的残差块,并基于目标预测模式和残差块对待编码单元进行重建,得到重建块。
其中,S503-S504可以认为是编码端执行的重建过程。
在一个示例中,基于目标预测模式和残差块对待编码单元进行重建,可以包括:基于目标预测模式,对待编码单元进行预测,得到预测块,基于该预测块和该残差块对待编码单元进行重建。当然不限于此,在另一个示例中,基于图21所示的方法进行重建,得到重建块。
如图9B所示,为本申请实施例提供的一种图像解码方法的示意图。该图像解码方法与如图9A所示的图像编码方法对应。图9B所示的方法包括以下步骤:
S601:解码端解析码流,以得到语法元素;该语法元素包括待解码单元的目标预测模式的索引。其中,目标预测模式包括基于跳过残差编码的预测模式的索引或基于正常残差编码的预测模式的索引。
S602:如果目标预测模式为基于跳过残差编码的预测模式,则解码端对待解码单元进行预测,得到预测块,并将预测块确定为重建块。
S603:如果目标预测模式为基于正常残差编码的预测模式,则解码端解析待解码单元的残差量化相关值,得到待解码单元的残差块,并基于目标预测模式和残差块对待解码单元进行重建,得到重建块。
在一个示例中,基于目标预测模式和残差块对待解码单元进行重建,可以包括:基于目标预测模式,对待解码单元进行预测,得到预测块,基于该预测块和该残差块对待解码单元进行重建。当然不限于此,在另一个示例中,基于图21所示的方法进行重建,得到重建块。
图9A和图9B所示的图像编解码方法,至少具有如下有益效果:
一方面将传统的残差编码模式与预测模式结合作为本申请实施例提供的新的预测模式,这样,不需要对残差编码模式和预测模式分别进行编码(解码),仅需要统一对该新的预测模式进行编码(解码)即可,实现逻辑简单,且有助于节省码流传输开销。或者说,编码端可以将残差跳过模式也作为一种预测模式进行编码。编码端(解码端)先编码(解码)预测模式,再基于预测模式确定是否需要解析残差量化相关值(如near值,或QP值),以节省码率。
另一方面,先编码(或解码)残差编码模式信息(如残差编码模式的索引,如res_skip_flag),再基于残差编码模式确实是否编码(或解码)残差量化相关值(如near值,或QP值),相比传统技术,在残差编码模式是跳过残差编码模式时,不需要编码(或解码)残差量化相关值,这样有助于节省码流传输开销。
例如,基于上述示例2所示的编码方法,在解码端基于预测模式,便可以知道待解码单元对应的待编码单元是否需要编码残差。对无需编码残差的模式(如上述模式4、5、6、7),则无需编码(解码)残差量化相关值(如near值,或QP值)。
实施例四
如图10所示,为本申请实施例提供的一种图像重建方法,其可以应用于图像编码方法,也可以应用于图像解码方法中。图10所示的方法可以包括以下步骤:
S701:确定当前图像块所划分的至少一个预测组的预测模式。其中,该至少一个预测组中的任意一个预测组包括处于同一行的连续多个像素;该任意一个预测组中包括第一指定像素区域和第二指定像素区域,第一指定像素区域包括多个像素组,该多个像素组根据第二指定像素区域划分得到,第一指定像素区域与第二指定像素区域的预测方式不同。该多个像素组之间能并行预测,一个像素组包括一个或连续多个像素。
当本实施例应用于图像编码方法中时,本实施例的执行主体可以是编码端,当前图像块具体是待编码图像块或待编码单元。
当本实施例应用于图像解码方法中时,本实施例的执行主体可以是解码端,当前图像块具体可以待解码图像块或待解码单元。S701可以包括:解析码流,得到当前图像块所划分的至少一个预测组中的任意一个或多个预测组的预测模式的索引。
本申请实施例对当前图像块的尺寸不进行限定,例如,当前图像块的宽大于高。例如,当前图像块的尺寸为16*2,8*2或8*1等。
在一个示例中,当前图像块可以被划分成一个预测组,其等价于,不对当前图像块进行预测组的划分。该情况下,当前图像块中的所有像素作为一个预测组。
在另一个示例中,当前图像块可以被划分成多个预测组。
本申请实施例对当前图像块的预测组的划分方式,以及每个预测组的预测模式均不进行限定。下文中将划分模式和基于该划分模式下的预测模式,共同称为“划分预测模式”。
在一个示例中,一个预测组可以由当前图像块的一行/多行中的所有/部分像素构成,当然也可以是其他实现方式,原则上满足一个预测组包括处于同一行的连续多个像素即可。
在一个示例中,一个预测组所包括的该连续多个像素的像素个数大于等于预设阈值。这是在考虑到当一个预测组中连续的多个像素的个数较多时,如果该预测组内的像素采用串行预测,则可能导致对该预测组的预测耗时较长,而该情况下,如果采用本方案,则一个预测组中的多个像素组之间能并行预测,这有助于缩短该预测组的预测耗时。
如果两个像素组中的像素之间在预测过程中没有依赖关系,则这两个像素组之间可以并行预测。不同像素组所包含的像素个数可以相等,也可以不相等。
本申请实施例对第一指定像素区域和第二指定像素区域具体包括哪些像素,以及这些像素的预测方式均不进行限定,原则上,在满足“多个像素组之间能并行预测,像素组包括一个或连续多个像素”的基础之上的任意一种“第一指定像素区域和第二指定像素区域,及预测方式”均可。
如图11所示,为本申请实施例提供的一种并行像素组的划分方式。图11中,一个预测组中处于同一行的连续多个像素为像素1-12,第一指定像素区域包括的像素是像素3、7、11,第二指定像素区域包括的像素是像素1-2、4-6、8-10、12。多个像素组是像素组1-4,其中,像素组1-3均包含多个像素,像素组4包含1个像素。像素组2与像素组3所包含的像素个数相等,与其他像素组所包含的像素个数不相等。
在一个示例中,第一指定像素区域采用垂直预测,第二指定像素区域采用水平预测。这样,能够实现多个像素组之间并行预测。
在另一个示例中,第一指定像素区域采用垂直预测,第二指定像素区域采用垂直均值预测。这样,能够实现多个像素组之间并行预测。
可选地,不同像素组所包含的像素数量之差相等或小于阈值。这样,有助于实现多个像素组所包含的像素数量相等或尽量相等,从而使得并行预测的不同像素组的预测时长相同或大致相同,从而缩短一个预测组的总预测时长。
S702:基于该至少一个预测组的预测模式,对当前图像块进行重建,得到重建块。
例如,对于该至少一个预测组中的任意一个预测组而言,基于该预测组的预测模式对该预测组进行预测,得到该预测组的预测块;并获取该预测组的残差块;然后,基于该预测块和该残差块,获得该重建块。当然还可以有其他实现方式,例如,当残差块中的值全为0时,直接将该预测块作为该重建块。又如,基于图21所示的方法进行重建,得到重建块。
图11所示的图像重建方法,在执行预测时,一个预测组中的多个像素组之间可以并行预测,这有助于缩短该预测组的总预测时长。图11所示的图像译码方法可以认为是本申请实施例提供的一种新的逐点预测模式。
可扩展地,图11所示的图像重建方法中的“行”可以替换为“列”,从而构成新的实施例,以解决高大于宽(例如,当前图像块的尺寸为2*16,2*8或1*8等)的当前图像块中,因预测过程中不能并行执行而导致的预测过程耗时较长的问题。该情况下,在一个示例中,该第一指定像素区域采用水平预测,第二指定像素区域采用垂直预测。在另一个示例中,该第一指定像素区域采用水平预测,第二指定像素区域采用水平均值预测。其他相关实施例可以基于本申请对图11的相关描述推理得到,此处不再赘述。
以下,通过具体示例对图11所示的图像重建方法进行说明:
针对16x2的当前图像块,具体可以是16x2的亮度块,也可以是16x2的色度块。
1)、一种16x2的当前图像块的预测划分模式如图12所示,其中,当前图像块包括Group1-2。具体的:
Group1由第2行像素组成,且采用水平预测。
Group2由第1行像素组成,且采用垂直均值预测。其中,group2的像素可参考上侧相邻16x2的图像块的最后一行像素。
如图12所示,group2内的第2个像素的编码依赖于第1个像素的重建值,因此无法并行进行第1个像素和第2个像素的编码,解码也是类似。此外,group1内的第一个像素的编码依赖于group2的第1个像素的重建值,因此也无法同时进行编码或解码。可见,这种预测划分模式存在并行度低的问题,不利于硬件实现。
为了提升预测过程中的并行度,应用于本申请实施例图11所示的实施例中,16x2的当前图像块的预测划分模式可以如图13A或图13B所示,其中,图13A和图13B所示的当前图像块的预测组划分模式与图12相同,但预测模式不同。具体的:
任意一个16x2的当前图像块可以参考其左侧1列(2个像素)和上侧1行(16个像素)值。16x2的当前图像块最左侧像素,称为第1个像素。则:
方案1、如图13A所示,预测模式包括:
a)Group1和Group2的第kN+1(N优选为4,k=1,2或3)个像素,采用其上侧像素的重建值作为当前像素的预测值。
b)Group2的像素中,除第kN+1(N优选为4,k=1,2或3)个像素外,其他像素采用其左侧像素的重建值作为当前像素的预测值。
c)可选地,Group1中的像素,除第kN+1(N优选为4,k=1,2或3)个像素外,其他像素的预测值为预设值(即默认值),可选的,该其他像素采用其上侧像素的重建值(上侧相邻其他块的重建值,记为P0)和其下侧像素的重建值(group2的重建值记为P1)的均值(如:(P0+P1+1)>>1)作为当前像素的预测值。其中,“>>”表示整数右移。“a>>N”表示a右移N位,类似于a除以2的N次方,所以“>>1”等同于整除2。
方案2、如图13B所示,预测模式包括:
d)Group1和Group2的第kN+2(N优选为5,k=1,2)个像素,采用其上侧像素的重建值作为当前像素的预测值。
e)Group2的像素中,除第kN+2(N优选为5,k=1,2)个像素外,其他像素采用其左侧像素的重建值作为当前像素的预测值。
f)可选地,Group1中的像素,除第kN+2(N优选为5,k=1,2)个像素外,其他像素采用其上侧像素的重建值(上侧相邻其他块的重建值,记为P0)和其下侧像素的重建值(group2的重建值记为P1)的均值(如:(P0+P1+1)>>1,右移一位,即除以2)作为当前像素的预测值。
2)、一种16x2的当前图像块的预测划分模式如图14所示,其中,当前图像块包括Group1-2。具体的:
Group1由第1行像素组成,且采用水平预测。
Group2由第2行像素组成,且采用水平预测。
为了提升预测过程中的并行度,应用于本申请实施例图11所示的实施例中,一种16x2的当前图像块的预测划分模式如图15A-图15D所示,其中,图15A-图15D所示的当前图像块的预测组划分模式与图14相同,但预测模式不同。具体的:
方案1、如图15A所示,预测模式包括:
a)Group1和Group2的第kN+1(N优选为4,k=1,2,3)个像素,采用其上侧像素的重建值作为当前像素的预测值。
b)Group1和Group2的其他像素,采用其左侧像素的重建值作为当前像素的预测值。
方案2、如图15B所示,预测模式包括:
Group1和Group2的第kN+1(N优选为4,k=2,3)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
方案3、如图15C所示,预测模式包括:
Group1和Group2的第kN+2(N优选为5,k=1,2)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
方案4、如图15D所示,预测模式包括:
Group1和Group2的第kN+1(N优选为8,k=1)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
需要说明的是,上述实施例1-2中,N和k均可以取其他值。并且,预测组中连续多个像素的个数不同时,N和k的取值也可以相应不同。
另外需要说明的是,图13A-图13B、图15A-图15D中黑色阴影标记的像素的当前图像块周围的当前图像块的重建值,若不可得,则可设为默认值。
针对8x2的当前图像块,具体可以是8x2的亮度块,也可以是8x2的色度块。
一种针对8x2的当前图像块的分组预测模式如图16所示。其中,任意一个8x2的当前图像块可以参考左侧1列(2个像素)和上侧1行(8个像素)的像素的重建值。则:
如图16中的a图所示,在预测划分模式A中,所有像素采用上侧像素的重建值作为当前像素的预测值。
如图16中的b图所示,预测划分模式B中,所有像素采用其左侧像素的重建值作为当前像素的预测值。
为了提升预测过程中的并行度,应用于本申请实施例图11所示的实施例中,一种8x2的当前图像块的预测划分模式如图17所示。
在图17中,Group1和Group2的第kN+1(N优选为4,k=1)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
针对8x1的当前图像块,具体可以是8x1的亮度块,也可以是8x1的色度块。
一种针对8x1的当前图像块的分组预测模式如图18所示。其中,任意一个8x1的当前图像块可以参考左侧1列(1个像素)和上侧1行(8个像素)的像素的重建值。则:
如图18中的a图所示,在预测划分模式A中,所有像素采用上侧像素的重建值作为当前像素的预测值。
如图18中的b图所示,在预测划分模式B中,所有像素采用左侧像素的重建值作为当前像素的预测值。
在图18中,将8x1的当前图像块划分为了一个预测组。
为了提升预测过程中的并行度,应用于本申请实施例图11所示的实施例中,一种8x2的当前图像块的预测划分模式如图19所示。
在图19中,8x1的当前图像块的第kN+1(N优选为4,k=1)个像素,采用其上侧像素的重建值作为当前像素的预测值。其他像素采用左侧像素的重建值作为当前像素的预测值。
需要说明的是:
在一个示例中,在上述任意一个方案中,若当前图像块块位于一帧图像或独立编码(解码)单元的第一列,则当前图像块左侧不存在像素,此时可以采用默认值替代其重建值。例如,该默认值可以是1<<(bit_depth-1)。
类似的,对于上述任意一个方案,若当前图像块位于图像或独立编码(解码)单元的第一行,则当前图像块上侧不存在像素,此时可以采用默认值,替代其重建值。例如,该默认值可以是1<<(bit_depth-1)。
其中,bit_depth表示当前图像块的比特位宽,例如,可以是8,9,10,12或16。1<<(bit_depth-1)表示bit_depth-1左移一位。需要说明的是,本申请中的像素的重建值,均可以认为是像素在某个分量的像素值。示例的,这里的分量可以是RGB格式中的红色R分量、绿色G分量或蓝色B分量;或者,可以是YCbCr格式中的亮度Y分量,色度蓝色Cb分量或色度红Cr分量。每个分量的尺寸可以等于图像的尺寸相同,也可以小于图像尺寸。如YUV420格式,Y的尺寸等于图像尺寸,U或V的宽和高只有Y的一半,即尺寸只有图像的1/4。基于此,这里的bit_depth可以表示当前图像块在某个分量的比特位宽。
另外需要说明的是:在上述任意一个方案中,对于每个Group,除了采用上述的水平或垂直预测模式,也可采用其他预测模式。一种可行的预测模式为:采用相邻图像块,或相邻独立图像块的像素值进行参考预测。
实施例五
在本申请的一些实施例中,编码端可以对编码单元的残差块进行分组。具体的,编码单元的每一行像素作为一个预测组,该预测组的残差块被划分为至少一个残差小块。
划分模式1:一个预测组的残差块被划分为一个残差小块。其等价于不对该残差块进行分组,如图20中的a图所示。
划分模式2:一个预测组的残差块被划分为多个残差小块。具体的,按照预设比例将一个预测组的残差块划分为多个残差小块。本申请对该预测比例不进行限定。该多个残差小块的大小可以相等,或者部分残差小块的大小可以相等。
例如,按照1:1的比例,将一个预测组的残差块划分为2个残差小块,如图20中的b图所示。
例如,按照2:1:1的比例,将一个预测组的残差块划分为3个残差小块,如图20中的c图所示。
例如,按照1:1:2的比例,将一个预测组的残差块划分为3个残差小块,如图20中的d图所示。
例如,按照1:1:1:1的比例,将一个预测组的残差块划分为4个残差小块,如图20中的e图所示。
其中,图20中的a图-e图均是以编码单元是16x2,且每一行作为一个预测组为例进行说明的。该16x2的编码单元可以是亮度块,也可以是色度块。每个图中的每个小方格表示一个像素,同一种小方格(如均为白色小方格,或者均为同一种阴影标记的小方格)表示同一个残差小块中的像素。
另外,对于8x1的预测组,可以将该预测组的残差块划分为一个残差小块或者均分为2个残差小块。当然具体实现时不限于此。
在一个示例中,同一个残差小块中的像素的系数编码方式相同,或者,同一个残差小块中的像素的编码长度(coding length,CL),即残差系数编码后所占的比特数,相同。
在一个示例中,上述图20示意出了残差块的5种划分模式。
在一个示例中,可以使用1个bit或3个bit表示划分模式GPM(如表4所示)。其中的GP0-GP4可以分别对应图20中的a图-e图。
表4:GPM索引编码方法(常规的二进制编码方法)
GPM GP0 GP1 GP2 GP3 GP4
编码比特 0 100 101 110 111
需要说明的是,表4所示的残差块划分模式的索引编码方法也可以适用于其他尺寸的预测组的残差块的划分模式,以及上述预测组的其他划分模式。
需要说明的是,一个残差块所划分成的残差子块个数较多时,需要编码的划分模式信息较多;一个残差块所划分成的残差子块个数较少时,则把不同特性的残差分在一组,残差系数的编码效率不高。至少兼顾这两方面考虑,本申请实施例提供了上述残差块划分方法。
实施例六
如图21所示,为本申请实施例提供的一种图像重建方法的示意图,其可以应用于图像编码方法,也可以应用于图像解码方法中。图21所示的方法可以包括以下步骤:
S801:确定当前图像块的目标预测模式;其中,当前图像块包括至少一个预测组;该至少一个预测组中的任意一个预测组包含连续多个像素。
其中,该连续多个像素可以是一行中的连续多个像素,也可以是一列中的连续多个像素。
当本实施例应用于图像编码方法中时,本实施例的执行主体可以是编码端,当前图像块具体是待编码图像块或待编码单元。
当本实施例应用于图像解码方法中时,本实施例的执行主体可以是解码端,当前图像块具体可以待解码图像块或待解码单元。S801可以包括:解析码流,得到当前图像块的目标预测模式的索引。
S802:当目标预测模式满足预设条件时,基于该连续多个像素中的首个像素的参考值,以及该首个像素与目标像素之间每相邻两个像素的残差值,确定目标像素的重建值;其中,目标像素是该连续多个像素中的任意一个非首个像素,当前图像块的重建块包括包含目标像素的重建值。
在一个示例中,该连续多个像素中的首个像素采用第一预测方式,非首个像素采用第二预测方式。目标预测模式包括第一预测方式和第二预测方式。该情况下,目标预测模式满足预设条件包括以下任一条件:
条件1:第一预测方式和第二预测方式均为水平预测;
条件2:第一预测方式和第二预测方式均为垂直预测;
条件3:第一预测方式和第二预测方式的其中一种是水平预测,另一种是垂直预测。例如,第一预测方式是水平预测,第二预测方式是垂直预测。又如,第一预测方式是垂直预测,第二预测方式是水平预测。
条件4:第一预测方式是采用与当前图像块的相邻图像块,或与当前图像块所在的独立编码(解码)单元相邻的独立编码(解码)单元的像素值进行参考预测的方式。第二预测模式是水平预测或垂直预测。
本实施例提供的图像重建方法,编码端/解码端在执行重建时,可以直接基于其在前的像素与其相邻的像素的残差值,即可获得当前像素的重建值,而不需要等待获得其在前的像素的重建值,该方案也可以大大提高重建过程的并行度,从而提高解码并行度和吞吐率。
为简单起见,下面以如图22所示的8x1的图像块的预测模式为例进行说明。其他图像块或者其他预测模式可以简单类推,不再赘述。
记当前8x1图像块的重建值为R(i),残差值为Res(i),预测值为Pred(i),i=0,1,…7。当前8x1块上侧8x1块的重建值为RA(i)i=0,1,…7,左侧像素的重建值为RLi,i=0,1,如图22所示。其中图22是在图19的基础上进行绘制的。
基于传统方法,8x1的图像块的预测值为:
若i=0,则Pred(i)=RL0;
若i=1,2或3,则Pred(i)=R(i-1);
若i=4,则Pred(i)=RA(4);
若i=5,6或7,则Pred(i)=R(i-1)。
综上,传统方法中,8x1的图像块的重建值为:R(i)=Pred(i)+Res(i)==R(i-1)/RA(4)+Res(i),i=0,1,…7。
基于图21所示的方法:
对于i=0;R(0)=Pred(0)+Res(0)=RL0+Res(0);
对于i=1,R(1)=Pred(1)+Res(1),而由于Pred(1)=R(0),因此R(1)=R(0)+Res(1)=RL0+Res(0)+Res(1)。
同理,对于i=2或3,R(2)=RL0+Res(0)+Res(1)+Res(2),R(3)=RL0+Res(0)+Res(1)+Res(2)+Res(3)。
综上,对于i=0~3中的任一值,
Figure BDA0003460925230000231
基于该方法,i=1、2或3的像素的重建值无需等待其左侧的像素的重建值生成,只需要获得当前图像块左侧的像素值RL0和当前像素和其左侧像素的残差值,便可以直接获得当前像素的重建值。该方案也可以大大提高解码并行度和吞吐率。
依次类推,i=4~7,
Figure BDA0003460925230000232
i=5~7的像素的重建值也无需等待其左侧的像素的重建值便可获得。
需要说明的是,上文提供的任意多个实施例中的部分或全部技术特征,在不冲突的情况下,均可以进行组合,从而构成新的实施例。另外,上文中任意一个实施例提供的技术方案均可以适用于16x2,8x2,8x1的图像块,当然也可以应用于其他MxN的图像块,如4x2,16x4等。
可以理解的是,为了实现上述实施例中功能,编码器/解码器包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
以下,说明本申请实施例提供的解码装置和编码单元。在一个示例中,以下提供的任一种解码装置均可以是图2中的目的设备12或解码器122,或者可以是图6中的解码器30。在另一个示例中,以下提供的任一种编码装置均可以是图2中的源设备11或编码器112,或者可以是图3中的编码器20。此处统一说明,下文不再赘述。
图23为本申请提供的一种解码装置3000的结构示意图,上述任一种解码方法实施例都可以用该解码装置执行。该解码装置3000包括码流解析单元3001、确定单元3002和重建单元3003。码流解析单元3001,用于解析码流,以得到第一语法元素,第一语法元素包括待解码单元的目标预测模式的索引。确定单元3002,用于基于目标预测模式的索引,从索引表中确定目标预测模式;其中,索引表包含多种预测模式的索引与多种预测模式之间的对应关系;重建单元3003,用于至少基于目标预测模式,对待解码单元进行重建,得到重建块。
在一个示例中,码流解析单元3001可以通过图6中的解码解析单元301实现。确定单元3002可以通过图6中的预测处理单元304实现。重建单元3003可以通过图6中的预测处理单元304结合重构单元305共同实现。图6中的当前图像块可以是本实施例中的待解码单元。
有关上述码流解析单元3001、确定单元3002和重建单元3003更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图24为本申请提供的一种编码装置3100的结构示意图,该编码装置3100包括:预测单元3101和编码单元3102。预测单元3101用于确定待编码单元的目标预测模式,以及基于目标预测模式,从索引表中确定目标预测模式的索引;其中,索引表包含多种预测模式的索引与多种预测模式之间的对应关系。编码单元3102用于将目标预测模式的索引编入码流。
在一个示例中,预测单元3101可以通过图3中的预测处理单元201实现,编码单元3102可以通过图3中的系数编码单元205实现。图3中的当前图像块可以是本实施例的编码单元。
有关上述预测单元3101和编码单元3102更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图25为本申请提供的一种编码装置/解码装置3200的结构示意图,该编码装置/解码装置3200包括:确定单元3201,预测单元3202和重建单元3203。
确定单元3201,用于确定当前图像块的残差编码模式。如果残差编码模式为跳过残差编码模式,则预测单元3202用于对当前图像块进行预测,得到预测块,重建单元3203用于将预测块确定为当前图像块的重建块。如果残差编码模式为正常残差编码模式,则确定单元3201还用于获取当前图像块的残差量化相关值,得到残差块,重建单元3203用于基于残差块,对当前图像块进行重建,得到当前图像块的重建块。
在一个示例中,确定单元3201可以通过图6中的码流解析单元301实现,预测单元3202可以通过图6中预测处理单元304实现,重建单元3203可以通过图6中的重构单元305实现。
在另一个示例中,确定单元3201可以通过图3中的残差编码单元203实现,预测单元3202可以通过图3中的预测处理单元201实现,重建单元3203可以通过图3中的重构单元208实现。
有关上述确定单元3201,预测单元3202和重建单元3203更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图26为本申请提供的一种编码装置/解码装置3300的结构示意图,该编码装置/解码装置3300包括:确定单元3301、预测单元3302、重建单元3303和获取单元3304。确定单元3301,用于确定当前图像块的目标预测模式。如果目标预测模式为基于跳过残差编码的预测模式,则预测单元3302用于对前图像块进行预测,得到预测块,重建单元3303用于将预测块确定为重建块。如果目标预测模式为基于正常残差编码的预测模式,则获取单元3304用于获取前图像块的残差量化相关值,得到前图像块的残差块,重建单元3303用于基于目标预测模式和残差块对前图像块进行重建,得到重建块。
在一个示例中,确定单元3301可以通过图6中的码流解析单元301实现,预测单元3302可以通过图6中预测处理单元304实现,重建单元3303可以通过图6中的重构单元305实现,获取单元3304可以通过图6中的码流解析单元301和残差解码单元303实现。
在另一个示例中,确定单元3301和预测单元3302可以通过图3中的预测处理单元201实现,重建单元3303可以通过图3中的重构单元208实现,获取单元3304可以通过图3中的残差解码单元303实现。
有关上述确定单元3301、预测单元3302、重建单元3303和获取单元3304更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图27为本申请提供的一种编码装置/解码装置3400的结构示意图,该编码装置/解码装置3400包括:确定单元3401和重建单元3402。确定单元3401,用于确定当前图像块所划分的至少一个预测组的预测模式;其中,至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;任意一个预测组中包括第一指定像素区域和第二指定像素区域,第一指定像素区域包括多个像素组,多个像素组根据第二指定像素区域划分得到,第一指定像素区域与第二指定像素区域的预测方式不同,多个像素组之间能并行预测,像素组包括一个或连续多个像素。重建单元3402,用于基于至少一个预测组的预测模式,对当前图像块进行重建,得到重建块。
在一个示例中,确定单元3401可以通过图6中的码流解析单元301实现,重建单元3402可以通过图6中预测处理单元304和重构单元305共同实现。
在另一个示例中,确定单元3401可以通过图3中的预测处理单元201实现,重建单元3402可以通过图3中的重构单元208共同实现。
有关上述确定单元3401和重建单元3402更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
图28为本申请提供的一种编码装置/解码装置3500的结构示意图,该编码装置/解码装置3500包括:确定单元3501和重建单元3502。确定单元3501,用于确定当前图像块的目标预测模式;其中,所述当前图像块包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素。重建单元3502,用于当所述目标预测模式满足预设条件时,基于所述连续多个像素中的首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述当前图像块的重建块包括包含所述目标像素的重建值。
在一个示例中,确定单元3501可以通过图6中的码流解析单元301实现,重建单元3502可以通过图6中预测处理单元304和重构单元305共同实现。
在另一个示例中,确定单元3501可以通过图3中的预测处理单元201实现,重建单元3502可以通过图3中的重构单元208共同实现。
有关上述确定单元3501和重建单元3502更详细的描述、以及其中各技术特征更详细的描述,以及有益效果的描述等,均可以参考上述相应的方法实施例部分,此处不再赘述。
本申请还提供一种电子设备,用于执行上述任意解码方法实施例。如图29所示,图29为本申请提供的一种电子设备的结构示意图,电子设备3600包括处理器3610和通信接口3620。处理器3610和通信接口3620之间相互耦合。可以理解的是,通信接口3620可以为收发器或输入输出接口。在一个示例中,电子设备3600还可以包括存储器3630,用于存储处理器3610执行的指令或存储处理器3610运行指令所需要的输入数据或存储处理器3610运行指令后产生的数据。
该电子设备3600包括处理器3610和通信接口3620。处理器3610和通信接口3620之间相互耦合。可以理解的是,通信接口3620可以为收发器或输入输出接口。在一个示例中,电子设备3600还可以包括存储器3630,用于存储处理器3610执行的指令或存储处理器3610运行指令所需要的输入数据,或存储处理器3610运行指令后产生的数据。
本申请实施例中不限定上述通信接口3620、处理器3610以及存储器3630之间的具体连接介质。本申请实施例在图29中以通信接口3620、处理器3610以及存储器3630之间通过总线3640连接,总线在图29中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图29中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器3630可用于存储软件程序及模块,如本申请实施例所提供的解码方法或编码方法对应的程序指令/模块,处理器3610通过执行存储在存储器3630内的软件程序及模块,从而执行各种功能应用以及数据处理,以实现上文提供的任一种解码方法或编码方法。该通信接口3620可用于与其他设备进行信令或数据的通信。在本申请中该电子设备3600可以具有多个通信接口3620。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(centralprocessing Unit,CPU)、神经处理器(neural processing unit,NPU)或图形处理器(graphic processing unit,GPU),还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
本申请实施例还提供一种编解码***,包括编码端和解码端,该编码端可以用于执行上文提供的任意一种编码方法,解码端用于执行对应的解码方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。

Claims (34)

1.一种图像解码方法,其特征在于,包括:
解析码流,以得到第一语法元素,所述第一语法元素包括待解码单元的目标预测模式的索引;
基于所述目标预测模式的索引,从索引表中确定所述目标预测模式;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;
至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块。
2.根据权利要求1所述的方法,其特征在于,所述多种预测模式的索引按照截断一元码方式生成,或者按照二叉树方式生成。
3.根据权利要求1所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式,所述原始值模式的索引的码字长度大于或等于所述其他预测模式中的一种或多种预测模式的索引的码字长度。
4.根据权利要求1所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式,所述其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
解析所述码流,以得到第二语法元素;其中,所述第二语法元素包括所述待解码单元的残差编码模式的索引;
所述至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块,包括:
如果所述残差编码模式的索引用于指示跳过残差编码模式,则对所述待解码单元进行预测,得到预测块,并将所述预测块确定为所述重建块;
如果所述残差编码模式的索引用于指示正常残差编码模式,则解析所述待解码单元的残差量化相关值,得到残差块;基于所述目标预测模式和所述残差块,对所述待解码单元进行重建,得到重建块。
6.根据权利要求1所述的方法,其特征在于,所述其他预测模式包括以下至少一种:
基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
7.根据权利要求6所述的方法,其特征在于,所述至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块,包括:
如果所述目标预测模式是基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式,则将所述预测块确定为所述重建块;
如果所述目标预测模式是基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式,则解析所述待解码单元的残差量化相关值,得到所述待解码单元的残差块,并基于所述目标预测模式和所述残差块对所述待解码单元进行重建,得到所述重建块。
8.根据权利要求1所述的方法,其特征在于,所述待解码单元包括至少一个预测组;
所述至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;
所述任意一个预测组中包括第一指定像素区域和第二指定像素区域,所述第一指定像素区域包括多个像素组,所述多个像素组根据所述第二指定像素区域划分得到,所述第一指定像素区域与所述第二指定像素区域的预测方式不同,所述多个像素组能并行预测,所述像素组包括一个或连续多个像素。
9.根据权利要求8所述的方法,其特征在于,
如果所述任意一个预测组包括处于同一行的连续多个元素,则:
所述第一指定像素区域采用垂直预测,所述第二指定像素区域采用水平预测;
或者,所述第一指定像素区域采用垂直预测,所述第二指定像素区域采用垂直均值预测;
和/或,如果所述任意一个预测组包括处于同一列的连续多个元素,则:
所述第一指定像素区域采用水平预测,所述第二指定像素区域采用垂直预测;
或者,所述第一指定像素区域用水平预测,所述第二指定像素区域采用水平均值预测。
10.根据权利要求8或9所述的方法,其特征在于,不同像素组所包含的像素数量之差相等或小于阈值。
11.根据权利要求8或9所述的方法,其特征在于,
如果所述待解码单元不存在参考块,则所述待解码单元的第一个像素的重建值为所述待解码单元的比特位宽左移1位后得到的值。
12.根据权利要求1-9任一项所述的方法,其特征在于,所述待解码单元包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素;
至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块,包括:
当所述目标预测模式满足预设条件时,基于所述连续多个像素中的首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述重建块包含所述目标像素的重建值。
13.根据权利要求12所述的方法,其特征在于,所述首个像素采用第一预测方式,所述非首个像素采用第二预测方式;所述目标预测模式包括所述第一预测方式和所述第二预测方式,所述目标预测模式满足预设条件包括:
所述第一预测方式和所述第二预测方式均为水平预测;
或者,所述第一预测方式和所述第二预测方式均为垂直预测;
或者,所述第一预测方式和所述第二预测方式的其中一种是水平预测,另一种是垂直预测;
或者,所述第一预测方式是采用与所述待解码单元的相邻解码单元,或与所述待解码单元所在的独立解码单元相邻的独立解码单元的像素值进行参考预测的方式,所述第二预测方式是水平预测或垂直预测。
14.一种图像编码方法,其特征在于,包括:
确定待编码单元的目标预测模式;
基于所述目标预测模式,从索引表中确定所述目标预测模式的索引;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;
将所述目标预测模式的索引编入码流。
15.根据权利要求14所述的方法,其特征在于,所述多种预测模式的索引按照截断一元码方式生成,或者按照二叉树方式生成。
16.根据权利要求14或15所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式,所述原始值模式的索引的码字长度大于或等于所述其他预测模式中的一种或多种预测模式的索引的码字长度。
17.根据权利要求14或15所述的方法,其特征在于,所述多种预测模式包括原始值模式和其他预测模式;
所述其他预测模式包括以下至少一种:点预测模式、帧内预测模式或块复制模式;
或者,所述其他预测模式包括以下至少一种:基于正常残差编码的逐点预测模式、帧内预测模式、块复制模式,基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式。
18.一种图像编解码方法,其特征在于,所述方法包括:
确定当前图像块的残差编码模式;
如果所述残差编码模式为跳过残差编码模式,则对所述当前图像块进行预测,得到预测块,并将所述预测块确定为所述当前图像块的重建块;
如果所述残差编码模式为正常残差编码模式,则获取所述当前图像块的残差量化相关值,得到残差块;并基于所述残差块,对所述当前图像块进行重建,得到所述当前图像块的重建块。
19.一种图像编解码方法,其特征在于,所述方法包括:
确定当前图像块的目标预测模式;
如果所述目标预测模式为基于跳过残差编码的预测模式,则对所述前图像块进行预测,得到预测块,并将所述预测块确定为所述重建块;
如果所述目标预测模式为基于正常残差编码的预测模式,则获取所述前图像块的残差量化相关值,得到所述前图像块的残差块,并基于所述目标预测模式和所述残差块对所述前图像块进行重建,得到重建块。
20.根据权利要求19所述的方法,其特征在于,
所述基于跳过残差编码的逐点预测模式,包括:基于跳过残差编码的逐点预测模式、帧内预测模式或块复制模式;
和/或,所述基于正常残差编码的预测模式,包括:基于正常残差编码的逐点预测模式、帧内预测模式或块复制模式。
21.一种图像编解码方法,其特征在于,所述方法包括:
确定当前图像块所划分的至少一个预测组的预测模式;其中,所述至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;所述任意一个预测组中包括第一指定像素区域和第二指定像素区域,所述第一指定像素区域包括多个像素组,所述多个像素组根据所述第二指定像素区域划分得到,所述第一指定像素区域与所述第二指定像素区域的预测方式不同,所述多个像素组之间能并行预测,所述像素组包括一个或连续多个像素;
基于所述至少一个预测组的预测模式,对所述当前图像块进行重建,得到重建块。
22.根据权利要求21所述的方法,其特征在于,
如果所述任意一个预测组包括处于同一行的连续多个元素,则:
所述第一指定像素区域采用垂直预测,所述第二指定像素区域采用水平预测;
或者,所述第一指定像素区域采用垂直预测,所述第二指定像素区域采用垂直均值预测;
和/或,如果所述任意一个预测组包括处于同一列的连续多个元素,则:
所述第一指定像素区域采用水平预测,所述第二指定像素区域采用垂直预测;
或者,所述第一指定像素区域采用水平预测,所述第二指定像素区域采用水平均值预测。
23.根据权利要求21或22所述的方法,其特征在于,不同像素组所包含的像素数量之差相等或小于阈值。
24.根据权利要求21或22所述的方法,其特征在于,如果所述当前图像块不存在参考块,则所述当前图像块的第一个像素的重建值为所述当前图像块的比特位宽左移1位后得到的值。
25.一种图像编解码方法,其特征在于,包括:
确定当前图像块的目标预测模式;其中,所述当前图像块包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素;
当所述目标预测模式满足预设条件时,基于所述连续多个像素中的首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述当前图像块的重建块包括包含所述目标像素的重建值。
26.根据权利要求25所述的方法,其特征在于,所述首个像素采用第一预测方式,所述非首个像素采用第二预测方式;所述目标预测模式包括所述第一预测方式和所述第二预测方式,所述目标预测模式满足预设条件包括:
所述第一预测方式和所述第二预测方式均为水平预测;
或者,所述第一预测方式和所述第二预测方式均为垂直预测;
或者,所述第一预测方式和所述第二预测方式的其中一种是水平预测,另一种是垂直预测;
或者,所述第一预测方式是采用与所述当前图像块的相邻译码单元,或与所述当前图像块所在的独立译码单元相邻的独立译码单元的像素值进行参考预测的方式,所述第二预测方式是水平预测或垂直预测。
27.一种图像解码装置,其特征在于,包括:
码流解析单元,用于解析码流,以得到第一语法元素,所述第一语法元素包括待解码单元的目标预测模式的索引;
确定单元,用于基于所述目标预测模式的索引,从索引表中确定所述目标预测模式;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;
重建单元,用于至少基于所述目标预测模式,对所述待解码单元进行重建,得到重建块。
28.一种图像编码装置,其特征在于,包括:
预测单元,用于确定待编码单元的目标预测模式,以及基于所述目标预测模式,从索引表中确定所述目标预测模式的索引;其中,所述索引表包含多种预测模式的索引与所述多种预测模式之间的对应关系;
编码单元,用于将所述目标预测模式的索引编入码流。
29.一种图像编码/解码装置,其特征在于,包括:确定单元,预测单元和重建单元;
所述确定单元,用于确定当前图像块的残差编码模式;
如果所述残差编码模式为跳过残差编码模式,则所述预测单元用于对所述当前图像块进行预测,得到预测块,所述重建单元用于将所述预测块确定为所述当前图像块的重建块;
如果所述残差编码模式为正常残差编码模式,则所述确定单元还用于获取所述当前图像块的残差量化相关值,得到残差块,所述重建单元用于基于所述残差块,对所述当前图像块进行重建,得到所述当前图像块的重建块。
30.一种图像编码/解码装置,其特征在于,包括:确定单元、预测单元、重建单元和获取单元;
所述确定单元,用于确定当前图像块的目标预测模式;
如果所述目标预测模式为基于跳过残差编码的预测模式,则所述预测单元用于对所述前图像块进行预测,得到预测块,所述重建单元用于将所述预测块确定为所述重建块;
如果所述目标预测模式为基于正常残差编码的预测模式,则所述获取单元用于获取所述前图像块的残差量化相关值,得到所述前图像块的残差块,所述重建单元用于基于所述目标预测模式和所述残差块对所述前图像块进行重建,得到重建块。
31.一种图像编码/解码装置,其特征在于,包括:
确定单元,用于确定当前图像块所划分的至少一个预测组的预测模式;其中,所述至少一个预测组中的任意一个预测组包括处于同一行/列的连续多个像素;所述任意一个预测组中包括第一指定像素区域和第二指定像素区域,所述第一指定像素区域包括多个像素组,所述多个像素组根据所述第二指定像素区域划分得到,所述第一指定像素区域与所述第二指定像素区域的预测方式不同,所述多个像素组之间能并行预测,所述像素组包括一个或连续多个像素;
重建单元,用于基于所述至少一个预测组的预测模式,对所述当前图像块进行重建,得到重建块。
32.一种图像编码/解码装置,其特征在于,包括:
确定单元,用于确定当前图像块的目标预测模式;其中,所述当前图像块包括至少一个预测组;所述至少一个预测组中的任意一个预测组包含连续多个像素;
重建单元,用于当所述目标预测模式满足预设条件时,基于所述连续多个像素中的首个像素的参考值,以及所述首个像素与目标像素之间每相邻两个像素的残差值,确定所述目标像素的重建值;其中,所述目标像素是所述连续多个像素中的任意一个非首个像素,所述当前图像块的重建块包括包含所述目标像素的重建值。
33.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机指令,所述处理器用于从存储器中调用并运行所述计算机指令,实现权利要求1至26中任一项所述的方法。
34.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被电子设备执行时,实现权利要求1至26中任一项所述的方法。
CN202210016199.1A 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质 Pending CN116074529A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202310497856.3A CN116800956A (zh) 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质
CN202210016199.1A CN116074529A (zh) 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质
PCT/CN2023/070621 WO2023131221A2 (zh) 2022-01-07 2023-01-05 图像编解码的方法、装置及存储介质
TW112100625A TWI832661B (zh) 2022-01-07 2023-01-06 圖像編解碼的方法、裝置及存儲介質

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210016199.1A CN116074529A (zh) 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202310497856.3A Division CN116800956A (zh) 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN116074529A true CN116074529A (zh) 2023-05-05

Family

ID=86182563

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310497856.3A Pending CN116800956A (zh) 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质
CN202210016199.1A Pending CN116074529A (zh) 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202310497856.3A Pending CN116800956A (zh) 2022-01-07 2022-01-07 图像编解码方法、装置及存储介质

Country Status (3)

Country Link
CN (2) CN116800956A (zh)
TW (1) TWI832661B (zh)
WO (1) WO2023131221A2 (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002351389A1 (en) * 2001-12-17 2003-06-30 Microsoft Corporation Skip macroblock coding
KR101830352B1 (ko) * 2011-11-09 2018-02-21 에스케이 텔레콤주식회사 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
WO2017065532A1 (ko) * 2015-10-13 2017-04-20 엘지전자(주) 비디오 신호의 인코딩, 디코딩 방법 및 장치
US10511859B2 (en) * 2016-02-04 2019-12-17 Mediatek Inc. Method and apparatus for image compression without residue signaling
US10547854B2 (en) * 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
CN110662033B (zh) * 2018-06-28 2021-11-23 杭州海康威视数字技术股份有限公司 一种解码、编码方法及其设备
US11647188B2 (en) * 2019-01-04 2023-05-09 Interdigital Vc Holdings, Inc. Inverse mapping simplification
US11825120B2 (en) * 2019-02-28 2023-11-21 Qualcomm Incorporated Subblock coding by generalized intra prediction in video coding
CN111698504B (zh) * 2019-03-11 2022-05-20 杭州海康威视数字技术股份有限公司 编码方法、解码方法及装置
US11190758B2 (en) * 2019-04-25 2021-11-30 Qualcomm Incorporated Block-based quantized residual domain pulse code modulation assignment for intra prediction mode derivation

Also Published As

Publication number Publication date
CN116800956A (zh) 2023-09-22
TW202345595A (zh) 2023-11-16
TWI832661B (zh) 2024-02-11
WO2023131221A2 (zh) 2023-07-13
WO2023131221A3 (zh) 2023-08-31

Similar Documents

Publication Publication Date Title
US11523136B2 (en) Methods and apparatuses for coding transform blocks
WO2020253829A1 (zh) 一种编解码方法、装置及存储介质
WO2016138779A1 (zh) 帧内编解码方法、编码器和解码器
CA3029042A1 (en) Enhanced intra-prediction coding using planar representations
CN112514381A (zh) 图像编解码方法、编码器、解码器以及存储介质
JP2023552997A (ja) イントラ予測方法、エンコーダ、デコーダおよび記憶媒体
CN116489360A (zh) 一种图像编解码方法及装置
JP2022511877A (ja) 画像符号化/復号化方法、エンコーダ、デコーダ及び記憶媒体
CN113709480A (zh) 一种编码、解码方法、装置及其设备
CN111988618A (zh) 进行解码、编码的方法、解码端和编码端
CN116074529A (zh) 图像编解码方法、装置及存储介质
CN116471402A (zh) 一种编解码方法、装置及其设备
WO2023185806A1 (zh) 一种图像编解码方法、装置、电子设备及存储介质
WO2023083239A1 (zh) 图像解码方法及装置、图像编码方法及装置
CN109672889A (zh) 约束的序列数据头的方法及装置
US11930163B2 (en) Methods and systems for combined lossless and lossy coding
US20220046231A1 (en) Video encoding/decoding method and device
KR20240108463A (ko) 픽처 디코딩 방법 및 장치, 픽처 인코딩 방법 및 장치
WO2022191947A1 (en) State based dependent quantization and residual coding in video coding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40092389

Country of ref document: HK