CN112740692B - 用于编码和解码表示至少一个图像的数据流的方法和设备 - Google Patents

用于编码和解码表示至少一个图像的数据流的方法和设备 Download PDF

Info

Publication number
CN112740692B
CN112740692B CN201980062059.4A CN201980062059A CN112740692B CN 112740692 B CN112740692 B CN 112740692B CN 201980062059 A CN201980062059 A CN 201980062059A CN 112740692 B CN112740692 B CN 112740692B
Authority
CN
China
Prior art keywords
current block
block
prediction
coefficient
syntax elements
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
CN201980062059.4A
Other languages
English (en)
Other versions
CN112740692A (zh
Inventor
F.亨利
P.菲利普
M.阿布多利
G.克莱尔
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.)
Ao Lanzhi
Original Assignee
Ao Lanzhi
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 Ao Lanzhi filed Critical Ao Lanzhi
Priority to CN202410416849.0A priority Critical patent/CN118354067A/zh
Publication of CN112740692A publication Critical patent/CN112740692A/zh
Application granted granted Critical
Publication of CN112740692B publication Critical patent/CN112740692B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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

Landscapes

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

Abstract

本发明涉及一种用于解码表示至少一个图像的编码的数据流的方法,所述图像被划分成块。对于被称为当前块的、图像的至少一个块,从数据流中解码(E42)指示当前块的编码模式的信息项。当当前块的编码模式对应于第一编码模式时,使用第一组语法元素来执行与当前块相关联的预测残差的解码(E433),而当当前块的编码模式对应于第二编码模式时,使用第二组语法元素来执行与当前块相关联的预测残差的解码(E442),第二组语法元素是所述第一组语法元素的语法元素的子组。

Description

用于编码和解码表示至少一个图像的数据流的方法和设备
技术领域
本发明的技术领域是编码和解码图像或图像的序列,特别是视频流。
更具体地,本发明涉及使用图像的块表示来压缩图像或图像的序列。
本发明可以尤其应用于当前或未来的编码器(JPEG、MPEG、H.264、HEVC等及其修改)中实现的图像或视频编码,以及应用于对应的解码。
背景技术
数字图像和图像的序列在内存器方面占用大量空间,这要求在传输这些图像时对其进行压缩,以避免在用于此传输的网络上出现拥塞问题。
许多压缩视频数据的技术已为人所知。其中,HEVC压缩标准(“High EfficiencyVideo Coding,Coding Tools and Specification”,Matthias Wien,Signals andCommunication Technology,2015)提出要实现当前图像的像素相对于属于同一图像的预测(帧内预测)或相对于先前或后续图像的其他像素的预测(帧间预测)。
更具体地说,帧内预测使用图像内的空间冗余。为此,图像被划分成像素的块。然后根据图像中像素的块的扫描顺序,使用与当前图像中的先前编码/解码的像素的块相对应的已经重建的信息对像素的块进行预测。
此外,以标准的方式,使用当前块的预测(称为预测器块(predictor block))和与当前块和预测块之间的差值相对应的预测残差或“残差块”(对应于当前块和预测器块之间的差值)对当前块进行编码。然后将得到的残差块进行变换,例如使用DCT(discretecosine transform,离散余弦变换)类型的变换。然后将变换的残差块的系数进行量化,通过熵编码进行编码,并传输给解码器,解码器可以通过将该残差块加到预测器块中来重建当前块。
解码是逐图像进行的,对于每个图像,逐块进行解码。对于每个块,读取流的对应元素。对残差块的系数进行反量化和反变换。然后,计算块的预测以得到预测器块,将预测(即预测器块)加到解码后的残差块上,重建当前块。
在US9253508中,一种用于在帧内模式下对块进行编码的DPCM(DifferentialPulse Code Modulation,差分脉冲编码调制)编码技术被集成到HEVC编码器中。这样的技术包括通过先前已经重建的帧内块(intra block)的像素集来预测同一块的另一像素集。在US9253508中,要编码的帧内块的像素集对应于该块的行、或列、或行和列,并且用于预测该像素集的帧内预测是HEVC标准中定义的方向性帧内预测之一。
然而,这样的技术并不是最佳的。事实上,帧内块的像素集的重建要么对应于在无损编码的情况下添加预测残差,从而提供相当低的压缩率,或者对应于在对另一像素集进行反变换和/或反量化之后添加预测残差作为预测。这样的技术并不能使帧内块的每个像素都能够使用局部预测函数进行预测,并且不能够在预测后续像素之前对预测像素进行重建。事实上,这种技术需要对像素集(例如块的行/列)进行重建以预测另一像素集。换句话说,每预测和重建一个部分的块,都要预测和重建该块的几个像素。
此外,在US9253508中,并没有描述例如如何使HEVC标准中定义的传统内预测模式和DPCM预测模式共存。
因此,需要新的编码和解码方法来改善图像或视频数据的压缩。
发明内容
本发明改进了现有技术。为此,它涉及一种用于解码表示至少一个图像的编码的数据流的方法,该图像被划分成块,该解码方法包括,对于被称为当前块的、图像的至少一个块:
-解码指示当前块的编码模式的信息项,
-当当前块的编码模式对应于第一编码模式时,解码当前块包括:
-使用第一组语法元素解码与当前块相关联的预测残差,
-从先前解码的块的重建的像素获得当前块的预测,
-根据获得的预测和解码的预测残差重建所述当前块;
-当当前块的编码模式对应于第二编码模式时,解码当前块包括:
-使用第二组语法元素解码与当前块相关联的预测残差,所述第二组是所述第一组语法元素的语法元素的子组,
-重建所述当前块,包括:
-对于当前块的每个像素:
-从另一先前解码的像素获得所述像素的预测,所述另一先前解码的像素属于所述当前块或属于图像的先前解码的块,
-根据获得的所述像素的预测和使用第二组语法元素的解码的预测残差来重建所述像素。
因此,根据本发明,可以使用现有编码模式的语法元素的至少一部分。这允许汇集数据处理,因为可以使用相同的处理单元,并降低硬件和软件方面的实施成本。
应当注意,根据本发明,第一组语法元素和第二组语法元素是不同的。实际上,第二组语法元素是第一组的子组,它包括所述第一组的至少一个语法元素。第二组语法元素不同于第一组,因为它不包括第一组的所有语法元素。实际上,第二组语法元素包括的语法元素的数量严格低于第一组语法元素的数量。因此,第二组语法元素是第一组语法元素的严格子组。
因此,本发明使根据第二编码模式获得的预测残差的编码适应于要编码的系数的统计量。实际上,这样的统计量不同于根据第一编码模式获得的预测残差的系数的统计量。数据压缩因此得到改善。
本发明也涉及一种用于编码表示至少一个图像的数据流的方法,该图像被划分成块,该编码方法包括,对于被称为当前块的、图像的至少一个块:
-编码指示当前块的编码模式的信息项,
-当当前块的编码模式对应于第一编码模式时,编码当前块包括:
-从先前解码的块的重建的像素获得当前块的预测,
-获得从获得的预测中获得的与当前块相关联的预测残差,
-使用第一组语法元素对与当前块相关联的所述预测残差进行编码,
-当当前块的编码模式对应于第二编码模式时,编码当前块包括:
-对于当前块的每个像素:
-从另一先前解码的像素获得所述像素的预测,所述另一先前解码的像素属于所述当前块或属于图像的先前解码的块,
-从为所述像素获得的预测中获得预测残差,
-使用第二组语法元素对与当前块相关联的预测残差进行编码,该与当前块相关联的预测残差包括与所述当前块的像素相关联的预测残差,
所述第二组是所述第一组语法元素的语法元素的子组。
本发明也涉及一种表示至少一个图像的编码的数据流,该图像被划分成块。对于被称为当前块的、图像的至少一个块,编码的数据流包括:
-指示当前块的编码模式的信息项,
-当当前块的编码模式对应于第一编码模式时,使用第一组语法元素编码的根据第一编码模式的预测残差,根据第一编码模式的预测残差是从来自先前解码的块的重建的像素的当前块的预测中获得的,
-当当前块的编码模式对应于第二编码模式时,使用第二组语法元素编码的根据第二编码模式的预测残差,所述第二组是所述第一组语法元素的语法元素的子组,根据第二编码模式的所述预测残差通过以下方式获得:
-对于当前块的每个像素:
-从另一先前解码的像素获得所述像素的预测,所述另一先前解码的像素属于所述当前块或属于图像的先前解码的块,
-从为所述像素获得的预测中获得与所述像素相关联的预测残差。
这种数据流可以存储在任何存储介质上,例如存储器,或者以电信号或光信号的形式传输,该电信号或光信号可以经由电缆或光缆、无线电或其他方式来携带。
根据本发明的特定实施例,根据所述预测残差的系数的确定的扫描顺序,第一组语法元素包括位置语法元素,所述位置语法元素指示与所述当前块相关联的预测残差的第一非空系数的位置,并且所述第二组语法元素不包括所述位置语法元素。
当根据第一编码模式解码或编码当前块的预测残差时,根据所述确定的扫描顺序,从预测残差的第一个非空系数到预测残差的最后一个系数扫描预测残差。
根据这里描述的特定实施例,当根据第二编码模式解码或编码当前块的预测残差时,然后根据所述确定的扫描顺序从预测残差的第一个系数到预测残差的最后一个系数扫描预测残差。当第一非空系数对应于预测残差的第一系数时,本发明的该特定实施例根据第二编码模式降低了预测残差的编码成本。
根据本发明的另一特定实施例,与当前块相关联的预测残差包括至少一个系数子块,所述第一组语法元素包括:与所述至少一个系数子块相关联的子块语法元素,所述子块语法元素指示子块的至少一个系数是否为非空;并且对于包括至少一个非空系数的预测残差的每个系数子块,该子块的每个系数的重要性语法元素,所述子块的每个系数的重要性语法元素指示所述系数是否为空。根据本发明的该另一特定实施例,第二组语法元素包括预测残差的每个系数的重要性语法元素。
换句话说,根据本发明的这个特定实施例,根据第二编码模式,与当前块相关联的预测残差的系数不按子块来分组,并且子块语法元素不包括在第二组语法元素中。
根据本发明的另一特定实施例,对于根据确定的扫描顺序扫描的预测残差的每个非空系数,第一组语法元素包括:
-指示系数的绝对值是否等于1的语法元素,
-对于系数的绝对值不等于1的每个系数,指示该系数的绝对值是否等于2的语法元素,
-对于系数的绝对值既不等于1也不等于2的每个系数,指示所述系数的绝对值减去3的语法元素,
-指示系数是正还是负的语法元素。
根据本发明的该另一特定实施例,对于根据确定的扫描顺序扫描的预测残差的每个非空系数的语法元素,第二组语法元素包括指示该系数的绝对值的语法元素,以及指示该系数是正还是负的所述语法元素。
本发明还涉及一种解码设备,该解码设备被配置为实现根据以上定义的特定实施例中的任何一个的解码方法。当然,该解码设备可以包括与根据本发明的解码方法相关的不同特征。因此,该解码设备的特征和优点与解码方法的特征和优点相同,并且不再进一步详述。
该解码设备特别包括处理器,该处理器被配置为,对于被称为当前块的、图像的至少一个块:
-解码指示当前块的编码模式的信息项,
-当当前块的编码模式对应于第一编码模式时,以以下方式解码当前块:
-使用第一组语法元素解码与当前块相关联的预测残差,
-从先前解码的块的重建的像素获得当前块的预测,
-根据获得的预测和解码的预测残差重建所述当前块;
-当当前块的编码模式对应于第二编码模式时,以以下方式解码当前块:
-使用第二组语法元素解码与当前块相关联的预测残差,所述第二组是所述第一组语法元素的语法元素的子组,
-重建所述当前块,包括:
-对于当前块的每个像素:
-从另一先前解码的像素获得所述像素的预测,所述另一先前解码的像素属于所述当前块或属于图像的先前解码的块,
-根据获得的所述像素的预测和使用第二组语法元素的解码的预测残差来重建所述像素。
根据本发明的特定实施例,这种解码设备包含在终端中。
本发明还涉及一种编码设备,该编码设备被配置为实现根据上述特定实施例中的任何一个的编码方法。当然,该编码设备可以包括与根据本发明的编码方法相关的不同特征。因此,该编码设备的特征和优点与编码方法的特征和优点相同,并且不再进一步详述。
该编码设备特别包括处理器,该处理器被配置为,对于被称为当前块的、图像的至少一个块:
-编码指示当前块的编码模式的信息项,
-当当前块的编码模式对应于第一编码模式时,以以下方式编码当前块:
-从先前解码的块的重建的像素获得当前块的预测,
-获得从获得的预测中获得的与当前块相关联的预测残差,
-使用第一组语法元素对与当前块相关联的所述预测残差进行编码,
-当当前块的编码模式对应于第二编码模式时,以以下方式编码当前块:
-对于当前块的每个像素:
-从另一先前解码的像素获得所述像素的预测,所述另一先前解码的像素属于所述当前块或属于图像的先前解码的块,
-从为所述像素获得的预测中获得预测残差,
-使用第二组语法元素对与当前块相关联的预测残差进行编码,该与当前块相关联的预测残差包括与所述当前块的像素相关联的预测残差,
所述第二组是所述第一组语法元素的语法元素的子组。
根据本发明的特定实施例,这种编码设备包含在终端或服务器中。
根据本发明的解码方法、编码方法分别可以以各种方式实现,特别是以有线形式或软件形式。根据本发明的特定实施例,解码方法、编码方法分别由计算机程序实现。本发明还涉及一种包括指令的计算机程序,当所述程序由处理器执行时,所述指令用于实现根据前述任一特定实施例的解码方法或编码方法。这样的程序可以使用任何编程语言。它可以从通信网络下载和/或记录在计算机可读介质上。
该程序可以使用任何编程语言,并且可以是源代码、目标代码或者源代码和目标代码之间的中间代码的形式,例如部分编译的形式,或者任何其他期望的形式。
本发明还涉及包括如上所述的计算机程序指令的计算机可读存储介质或数据介质。上述记录介质可以是能够存储节目的任何实体或设备。例如,该介质可以包括存储装置,例如存储器。另一方面,记录介质可以对应于可传输介质,例如电信号或光信号,其可以通过电缆或光缆、无线电或其他方式来携带。根据本发明的程序尤其可以在互联网类型的网络上下载。
或者,记录介质可以对应于其中嵌入程序的集成电路,该电路适于执行或用于执行所讨论的方法。
附图说明
在阅读特定实施例(其被提供为简单的非限制性示例)的以下描述和附图后,本发明的其他特征和优点将更清楚地显现出来,其中:
-图1显示了根据本发明的特定实施例的编码方法的步骤,
-图2示出了根据本发明的特定实施例的确定帧内预测模式的当前块的临近(neighbouring)块的位置示例,
-图3示出了根据本发明的特定实施例的用于预测当前块的像素的参考像素的位置示例,
-图4显示了根据本发明的特定实施例的解码方法的步骤,
-图5示出了根据本发明的特定实施例的包括表示图像的至少一个块的编码的数据的信号示例,
-图6示出了适应于实施根据本发明的任何一个特定实施例的编码方法的编码设备的简化结构,
-图7显示了适应于实现根据本发明的任何一个特定实施例的解码方法的解码设备的简化结构,
-图8示出了将系数块划分成子块。
具体实施方式
一般原理
本发明的一般原理是允许使用用于对根据编码模式(该编码模式使用根据至少一个先前重建块的像素的预测)获得的预测残差进行编码的一组语法元素的一部分,来对根据基于像素的帧内预测的预测残差进行编码,即,根据要编码的块先前重建的像素来对要编码块的像素进行预测。
因此,本发明提高了基于像素的帧内编码模式的压缩性能,并降低了这种新的编码模式的实施成本,特别是通过能够重用另一种编码模式已经使用的语法元素的一部分。
实施例
图1显示了根据本发明的特定实施例的编码方法的步骤。例如,根据发明的特定实施例,将图像的序列I1,I2,……,INb以编码的数据流STR的形式进行编码。例如,这样的编码方法是由如后面关于图6所述的编码设备实现的。
将图像的序列I1,I2,……,INb作为编码方法的输入而提供,其中,Nb为要编码序列的图像数。编码方法输出表示作为输入提供的图像的序列的编码的数据流STR。
以已知的方式,图像的序列I1,I2,……,INb的编码是根据先前建立的并为编码器所知的编码顺序逐图像进行的。例如,图像可以按照时间顺序I1,I2,……,INb进行编码,也可以按照其他顺序,例如I1,I3,I2,……,INb进行编码。
在步骤E0中,将图像的序列I1,I2,……,INb的要编码图像Ij划分成块,例如划分成大小为32x32或64x64像素或更多的块。这样的块可以细分为正方形或矩形子块,例如16x16,8x8,4x4,16x8,8x16……。
在步骤E1中,根据图像Ij的预设的扫描顺序,选择图像Ij的第一块或子块Xb进行编码。例如,它可以是图像的词典扫描顺序(lexicographical scanning order)中的第一块。
在步骤E2中,编码器将选择编码模式对当前块Xb进行编码。
根据这里描述的特定实施例,编码器从第一编码模式M1和第二编码模式M2中选择编码模式对当前块Xb进行编码。也可以使用附加的编码模式(这里未描述)。
根据这里描述的特定实施例,第一编码模式M1对应于通过(例如根据HEVC标准定义的)传统的帧内预测对当前块进行编码,并且第二编码模式M2对应于环内残差(In-LoopResidual,ILR)预测编码。
在步骤E2中,编码器可以执行速率/失真优化以确定对当前块进行编码的最佳编码模式。在该速率/失真优化期间,可以测试不同于第一编码模式和第二编码模式的附加编码模式,例如模式间编码模式。在该速率/失真优化期间,编码器根据不同的可用编码模式模拟当前块Xb的编码,以确定与每个编码模式相关联的速率和失真,并选择提供最佳速率/失真折衷的编码模式,例如根据D+λR函数,其中R是根据评估的编码模式对当前块进行编码所需的速率,D是在解码的块和原始当前块之间测量的失真,并且λ是(例如由用户输入或在编码器处定义的)拉格朗日乘数。
在步骤E20中,在数据流STR中对指示为当前块选择的编码模式的信息项进行编码。
如果当前块Xb根据第一编码模式M1进行编码,则该方法进行到步骤E21,用于根据M1对该块进行编码。如果当前块Xb根据第二编码模式M2进行编码,则该方法进行到步骤E22,用于根据M2对该块进行编码。
根据本发明的特定实施例,下面描述根据第一编码模式M1对块进行编码的步骤E21。根据这里描述的特定模式,第一编码模式对应于(例如HEVC标准中定义的)传统的帧内预测。
在步骤E210中,确定量化步长δ1。例如,量化步长δ1可以由用户设置,或者可以通过量化参数来计算,该量化参数设置压缩和质量之间的折衷并且由用户输入或由编码器定义。因此,这样的量化参数可以是参数λ,用于速率-失真成本函数D+λ.R中,其中D表示由编码引入的失真,并且R表示用于编码的速率。这个函数用来进行编码选择。通常情况下,要寻求能使这个函数最小化的编码图像的方式。
作为变体,量化参数可以是QP,对应于AVC或HEVC标准中常规使用的量化参数。因此,在HEVC标准中,量化步长δ1由公式δ1=levelScale[QP%6]<<(QP/6))确定,其中,对于k=0..5,levelScale[k]={40,45,51,57,64,72}。
在步骤E211中,使用传统的帧内预测模式确定当前块的预测。根据该传统的帧内预测模式,每个预测的像素仅从源自位于当前块上方和位于当前块左侧的临近块(参考像素)的解码的像素计算。从参考像素预测像素的方式取决于传输给解码器的预测模式,并且该模式由编码器从编码器和解码器已知的预定的模式集合中选择。
因此,在HEVC中,有35种可能的预测模式:在33个不同的角度方向上对参考像素进行插值的33种模式,以及另外两种模式:DC模式,即预测的块的每个像素都是由参考像素的平均值产生的,以及PLANAR模式,即执行平面和非方向的插值。这种“传统的帧内预测”是众所周知的,并且在ITU-T H.264标准中也使用了这种模式(其中只有9种不同的模式),以及在互联网地址(https://jvet.hhi.fraunhofer.de/)上提供的实验性JEM软件中也使用了这种模式,其中有67种不同的预测模式。在所有情况下,传统的帧内预测都遵守上述两个方面(来自临近块的像素的预测和最佳预测模式的到解码器的传输)。
在步骤E211中,编码器因此从预定的预测模式的列表中选择可用的预测模式之一。一种选择方式包括例如评估所有的预测模式,并保留最小化成本函数(例如,经典的速率-失真成本)的预测模式。
在步骤E212中,从当前块的临近块中对为当前块选择的预测模式进行编码。图2示出了对当前块Xb的预测模式进行编码的当前块Xb的临近块Ab和Bb的位置示例。
在步骤E212中,使用与临近块相关联的帧内预测模式对为当前块选择的帧内预测模式进行编码。
例如,可以使用HEVC标准中描述的对当前块的预测模式进行编码的方法。在图2的示例中,这样的方法包括识别与位于当前块上方的块Ab相关联的帧内预测模式mA,以及识别与位于当前块左侧的块Bb相关联的帧内预测模式mB。根据mA和mB的值,创建被称为MPM(MostProbable Mod,代表最可能模式)的列表(其包含3种帧内预测模式),以及被称为非MPM的列表(其包含32种其它预测模式)。
根据HEVC标准,为了对当前块的帧内预测模式进行编码,需要传输语法元素:
-二进制指标,其指示对于当前块的要编码的预测模式是否在MPM列表中,
-如果当前块的预测模式属于MPM列表,对应于编码的当前块的预测模式的MPM列表中的索引,
-如果当前块的预测模式不属于MPM列表,对应于编码的当前块的预测模式的非MPM列表中的索引。
在步骤E213中,构建当前块的预测残差R。
在步骤E213中,以标准的方式,根据步骤E211中选择的预测模式,构建预测的块P。然后,通过计算预测的块P与原始当前块之间的每个像素的差值,得到预测残差R。
在步骤E214中,将预测残差R变换为RT
在步骤E214中,将频率变换应用于残差块R,以产生包含变换系数的块RT。该变换可以是例如DCT型变换。可以从预定的变换集合ET中选择要使用的变换,并将使用的变换告知解码器。
在步骤E215中,使用例如具有量化步长δ1的标量(scalar)对变换后的残差块RT进行量化。这就产生了量化的变换的预测残差块RTQ
在步骤E216中,通过熵编码器对量化的块RTQ的系数进行编码。例如,可以使用HEVC标准中规定的熵编码。
在这种情况下,残差RTQ的系数的编码工作如下。
确定系数的扫描顺序。这个扫描顺序在编码器处和在解码器处是相同的。例如,它在编码器和解码器中是默认定义的。例如,它包括逐行和逐列扫描当前量化的块RTQ
语法元素被传输以指示根据扫描顺序遇到的第一个非空系数的位置。这些语法元素将被称为LastX和LastY(指示该系数在当前量化的块RTQ中的坐标)。
然后从所述第一个非空系数到当前量化的块RTQ的最后一个系数进行扫描。将当前量化的块RTQ的系数分组为子块。例如,系数被分组为当前量化的块RTQ中包含的大小为4x4的子块,如图8所示,显示了变换的预测残差块被划分成4x4系数的子块。当然也可以采用其它大小的子块。
对于每个子块,传输指示该子块是否完全由0组成的语法元素coded_sub_block_flag。换句话说,如果子块的所有系数都是空的,则这个语法元素取值为0,否则取值为1(至少有一个子组的系数与0不同)。
对于包含至少一个非空系数的每个子块,为(根据确定的扫描顺序位于LastX和LastY所指示的子块的最后一个系数之后的)每个系数传输语法元素sig_coeff_flag,这个语法元素指示该系数是否为空。对于由LastX和LastY识别的第一个非空系数,不传输这样的语法元素,因为编码器已经知道这个系数是非空的。
对于每个非空系数,传输指示该系数是否等于1的语法元素coeff_abs_level_greater1_flag。
对于非空且不等于1的每个系数,传输指示该系数是否等于2的语法元素coeff_abs_level_greater2_flag。
对于非空且不等于1且不等于2的每个系数,传输指示该系数的幅度(amplitude)减去3的语法元素coeff_abs_level_remaining。
最后,对于每个非空系数,传输指示该系数是正还是负的语法元素coeff_sign_flag。
以已知的方式,通过对量化的块RTQ的系数进行去量化,然后对去量化的系数进行反变换,得到解码的预测残差,从而对当前块进行解码。然后将预测加到解码的预测残差中,以重建当前块,并得到其解码的版本。当前块的解码的版本随后可用于空间上的预测图像的其他临近块,或通过图像间预测来预测其他图像的块。
根据本发明的特定实施例,下面描述根据第二编码模式M2对块进行编码的步骤E22。根据这里描述的特定实施例,第二编码模式对应于ILR预测编码。
在步骤E220中,确定当前块的局部预测器PL。根据这里描述的编码模式,当前块的像素由当前块的临近块或当前块自身的先前重建的像素预测。
优选地,对于预测,选择尽可能接近要预测的像素的像素。这就是为什么它被称为局部预测器的原因。局部预测器PL也可以被同化为与第二编码模式M2相关联的当前块的预测模式。根据这种解释,在这里描述的特定实施例中,第一编码模式使用第一组帧内预测模式,例如由HEVC标准定义的组内预测模式,并且第二编码模式,这里是ILR模式,使用不同于第一组帧内预测模式的第二组预测模式。
局部预测器PL可以是唯一的,也可以从一组预定的局部预测器(第二组预测模式)中选择。
根据实施例变体,定义了4个局部预测器。因此,如果我们称X为来自当前块的要预测像素,A为紧靠X左侧的像素,B为紧靠X左侧和上方的像素,C为紧靠X上方的像素,如图3所示,显示了当前块Xb,4个局部预测器PL1、PL2、PL3、PL4可以定义如下。
PL1(X)=min(A,B)if C≥max(A,B)
max(A,B)if C≤min(A,B)
A+B-C otherwise
PL2(X)=A
PL3(X)=B
PL4(X)=C
其中,min(A,B)对应于返回A的值和B的值之间的最小值的函数,max(A,B)对应于返回A的值和B的值之间的最大值的函数。
在步骤E220中,确定用于当前块的局部预测器PL。换句话说,相同的局部预测器将用于当前块的所有像素,即相同的预测函数。为此,有几种实施例变体是可能的。
可以模拟用预测器中的每一个对当前块进行编码(类似于为当前块选择编码模式的优化),并选择优化成本函数的局部预测器(例如,使D+λ.R函数最小化,其中R是用于编码块的速率,D是相对于原始块的解码的块的失真,以及λ是由用户设置的参数)。
或者,为了限制为当前块选择局部预测器的复杂性,对先前编码的像素的纹理的方向进行分析。例如,使用Sobel型算子分析位于当前块上方或左侧的块中先前编码的像素。如果确定为:
-方向是水平方向,则选择局部预测器PL2,
-方向为垂直方向,则选择局部预测器PL3,
-方向为对角线方向,则选择局部预测器PL4,
-如果没有出现方向,则选择局部预测器PL1。
在数据流STR中编码语法元素,以向解码器指示哪个局部预测器被用来预测当前块。
在步骤E221中,确定量化步长δ2。例如,如果根据第一编码模式对当前块进行编码,量化步长δ2取决于与在步骤E210中确定的量化步长δ1相同的量化参数。
在步骤E222中,计算出当前块的预测残差R1。为此,一旦选择了局部预测器,对于当前块的每个当前像素执行:
-当前块的当前像素X由选择的局部预测器PL使用位于该块之外的并且已经重建的像素(因此可以使用它们的解码的值),或者使用先前在当前区中重建的像素,或者两者都使用来预测,以获得预测的值PRED。在所有情况下,预测器PL使用先前重建的像素。在图3中,可以看到,位于当前块的第一行和/或第一列上的当前块的像素将使用该块的外部并且已经重建(图3中灰色的像素)和可能已经重建的当前块的像素作为参考像素(以构建预测的值PRED)。对于当前块的其他像素,用于构建预测的值PRED的参考像素位于当前块内部;
-通过具有量化步长δ2的标量量化器,由Q(X)=ScalarQuant(DIFF)=ScalarQuant(δ2,X-PRED),将PRED和X之间的差值DIFF量化成值Q(X),标量量化器例如是最临近标量量化器(nearest-neighbour scalar quantizer),例如
Q(X)是与X相关联的量化残差,它是在空间域中计算的,即直接从像素X的预测的值PRED与X的原始值之间的差计算出来的,像素X的这种量化的残差Q(X)存储在量化的预测残差块R1Q中,稍后将对其进行编码。
-X的解码的预测的值P1(X)是通过将预测的值PRED与量化的残差Q(X)的去量化的值相加来计算的。因此,X的解码的预测的值P1(X)由P1(X)=PRED+ScalarDequant(δ2,Q(X))得到。例如,最近标量反函数(nearest scalar quantization inverse function)给出为:ScalarDequant(Δ,x)=Δ×x。
因此,解码的预测的值P1(X)使得能够预测在当前块中待处理的可能的像素。此外,包含当前块的像素的解码/重建的值的块P1是当前块的ILR预测器(与传统的帧内预测器相对)。
以扫描顺序对当前块的所有像素执行上述子步骤,该扫描顺序确保从PL1,......,PL4中选择的用于预测的像素可用。
根据实施例的变体,当前块的扫描顺序是词典顺序,即从左到右,以及从上到下。
根据另一实施例的变体,可以使用当前块的几个扫描顺序,例如:
-词典顺序,或
-从上到下扫描第一列,然后扫描它右边的那一列,等等,或
-一个接一个地扫描对角线。
根据这另一种变体,可以模拟与扫描顺序中的每一个相关的编码成本,并为当前块选择在速率/失真方面的最佳扫描顺序,然后为当前块编码标识选择的扫描顺序的信息项。
在步骤E222结束时,量化的残差块R1Q被确定。这个量化的残差块R1Q必须被编码以便传输到解码器。当前块的预测器P1也被确定。
在步骤E223中,对量化的残差块R1Q进行编码,以便传输到解码器。任何已知的方法,例如HEVC中描述的方法,都可以用来对常规预测残差的量化系数进行编码。
根据这里描述的本发明的特定实施例,量化的残差块R1Q的值在数据流STR中利用熵编码器使用至少一部分语法元素进行编码,这些语法元素是用于编码来自编码模式M1的预测残差。
为了对残差R1Q进行编码,使用用于残差R1Q的该组语法元素的子组。
事实上,残差R1Q的统计量与残差RTQ的统计量不同。因此,有必要使预测残差R1Q的熵编码适应这种特殊的统计量,以便最大化压缩。然而,通过将语法限制在为残差RTQ传输的语法的子集中,有可能重复使用相同的软件或硬件组件,这在实现成本方面特别有趣。
根据本发明的实施例变体,残差R1Q的编码是通过省略语法元素LastX和LastY,并通过系统地扫描量化的预测残差块R1Q的所有系数来完成的。
在这种情况下,残差R1Q的系数的编码工作如下。
确定系数的扫描顺序。系数从量化的残差块R1Q的第一个系数到量化的残差块R1Q的最后一个系数进行扫描。其余的系数的熵编码与根据编码模式M1编码变换的预测残差的已描述的情况类似。
这些系数由子块分组,例如在当前量化的残差块R1Q中包含的大小为4x4的子块。当然,其他大小的子块也是可能的。
对于每个子块,传输指示该子块是否完全由0组成的语法元素coded_sub_block_flag。对于至少包含一个非空系数的每个子块,对于每个系数传输语法元素sig_coeff_flag,这个语法元素指示该系数是否为空。对于每个非空系数,传输指示该系数是否等于1语法元素coeff_abs_level_greater1_flag。对于非空且不等于1的每个系数,传输指示该系数是否等于2的语法元素coeff_abs_level_greater2_flag;对于非空且不等于1且不等于2的每个系数,传输指示该系数的幅度减去3的语法元素coeff_abs_level_remaining。
最后,对于每个非空系数,传输语法元素coeff_sign_flag,以指示该系数是正还是负。
根据这里描述的特定实施例的另一变体,通过省略语法元素LastX和LastY,并通过系统地扫描量化的残差块R1Q的所有系数,并通过省略元素coded_sub_block_flag来完成量化的残差块R1Q的编码。因此,针对量化的残差块R1Q的每个系数,重要性值sig_coeff_flag被系统地编码。
根据该变体,残差R1Q的系数的编码工作如下。确定系数的扫描顺序。根据确定的扫描顺序,从量化的残差块R1Q的所述第一个系数到量化的残差块R1Q的最后一个系数进行扫描。为此,对于每个系数,传输的语法元素sig_coeff_flag,该语法元素指示该系数是否为空。对于每个非空系数,传输指示该系数是否等于1语法元素coeff_abs_level_greater1_flag。对于非空且不等于1的每个系数,传输指示该系数是否等于2的语法元素coeff_abs_level_greater2_flag;对于非空且不等于1且不等于2的每个系数,传输指示该系数的幅度减去3的语法元素coeff_abs_level_remaining。最后,对于每个非空系数,传输语法元素coeff_sign_flag以指示该系数是正还是负。
根据另一实施例变体,仅使用语法元素coeff_abs_level_remaining和coeff_sign_flag对残差R1Q进行编码。根据该变体,系统地扫描该块的所有系数,并对每个系数的值进行编码。残差R1Q的系数的编码工作如下。系数的扫描顺序被确定。从量化的残差块R1Q的第一个系数到量化的残差块R1Q的最后一个系数扫描系数。
为此,对于量化的残差块R1Q的每个系数,传输指示该系数的幅度的语法元素coeff_abs_level_remaining,并且对于每个非空系数,传输语法元素coeff_sign_flag以指示该系数是正还是负。
看来,根据上述所有实施例变体,预测残差R1Q的编码是根据一组语法元素来执行的,该组语法元素是用于“常规”残差RTQ的语法元素的非空和严格子集(即,不相等)。
根据本发明的特定实施例,可以从为当前块获得的ILR预测器中确定和编码附加预测残差R2。然而,附加预测残差R2的编码是可选的。确实可以简单地通过其预测版本P1和量化的残差R1Q对当前块进行编码。
为了对当前块的附加预测残差R2进行编码,实施以下步骤。
在步骤E224中,计算预测器P1与原始当前块Xb之间的差值R2,以形成附加残差R2:R2=Xb-P1。以下步骤对应于该残差R2的常规编码步骤。
在步骤E225中,使用频率变换对残差R2进行变换,以产生系数R2T的块。
该变换可以是例如DCT型变换。可以从预定的变换集合ET2中选择要使用的变换,并且可以将使用的变换告知解码器。在这种情况下,为了适应残差R2的特定统计量,集合ET2可以不同于集合ET
在步骤E226中,对系数R2T的块进行量化,例如使用δ量化步长标量量化。这产生块R2TQ
量化步长δ可以由用户设置;也可以使用设置压缩和质量之间的折衷的另一参数λ计算,并由用户或编码器输入。例如,量化步长δ可以对应于量化步长δ1,或者与它类似地确定。
在步骤E227中,然后以编码的方式传输量化的块R2TQ的系数。例如,可以使用HEVC标准中规定的编码。
以已知的方式,通过对量化的块R2TQ的系数进行去量化、然后对去量化的系数进行反变换以获得解码的预测残差,来对当前块进行解码。然后将预测P1加到解码的预测残差以重建当前块,并得到其解码的版本Xrec。当前块的解码的版本Xrec随后可以用于空间地预测图像的其他临近块,或者通过图像间预测来预测其他图像的块。
在步骤E23中,考虑到先前定义的扫描顺序,检查当前块是否是编码方法要处理的图像的最后一个块。如果是,则该方法继续对视频的下一个图像(如果有的话)进行编码(步骤E25)。如果不是,在步骤E24中,根据先前定义的图像的扫描顺序,选择待处理的图像的后续块,编码方法继续进行至步骤E2,其中被选择的块成为当前待处理的块。
图4示出了根据本发明的特定实施例对表示图像的序列I1,I2,……,INb的编码的数据的流STR进行解码的方法的步骤。
例如,数据流STR是经由关于图1所示的编码方法生成的。如关于图7所示,数据流STR被作为输入提供给解码设备DEC。
解码方法对数据流图像进行逐个解码,并且每个图像被逐块解码。
在步骤E40中,要解码的图像Ij被细分为块。每个块将经历包括一系列步骤的解码操作,这些步骤将在下文中详细说明。块可以是相同大小的,也可以是不同大小的。
在步骤E41中,根据图像Ij的预定扫描顺序,将图像Ij的待解码的第一块或子块Xb选择为当前块。例如,它可以是图像的词典扫描顺序中的第一个块。
在步骤E42中,从数据流STR中读取指示当前块的编码模式的信息项。根据这里描述的特定实施例,该信息项指示当前块是根据第一编码模式M1编码还是根据第二编码模式M2编码。根据这里描述的特定实施例,第一编码模式M1对应于(例如根据HEVC标准定义的)当前块的传统的帧内预测编码,并且第二编码模式M2对应于环内残差(ILR)预测编码。
在其他特定实施例中,从流STR读取的信息项也可以指示使用其他编码模式来编码当前块(这里未描述)。
下面描述当根据第一编码模式M1编码当前块时,对当前块进行解码的步骤E43。
在步骤E430中,确定量化步长δ1。例如,量化步长δ1是根据数据流STR中读取的量化参数QP或类似于编码器处所做的来确定的。例如,可以使用在数据流STR中读取的量化参数QP来计算量化步长δ1。例如,量化参数QP可以是在AVC或HEVC标准中常规使用的量化参数。因此,在HEVC标准中,量化步长δ1由公式δ1=levelScale[QP%6]<<(QP/6))确定,其中,对于k=0..5,levelScale[k]={40,45,51,57,64,72}。
在步骤E431中,被选择来编码当前块的预测模式根据临近块而被解码。为此,正如在编码器处所做的那样,使用与当前块的临近块相关联的帧内预测模式对为当前块选择的帧内预测模式进行编码。
MPM列表和非MPM列表的构建与编码过程中的这些列表的构建非常相似。根据HEVC标准,解码以下类型的语法元素:
-二进制指示符,其指示对于当前块的要被编码的预测模式是否在MPM列表中,
-如果当前块的预测模式属于MPM列表,对应于编码的当前块的预测模式的MPM列表中的索引,
-如果当前块的预测模式不属于MPM列表,对应于编码的当前块的预测模式的非MPM列表中的索引。
因此,从数据流STR中为当前块读取二进制指示符和预测模式索引,以解码当前块的帧内预测模式。
在步骤E432中,解码器根据解码的预测模式为当前块构建预测的块P。
在步骤E433中,解码器例如使用HEVC标准中指定的解码来解码来自数据流STR的量化的块RTQ的系数。
在这种情况下,残差RTQ的系数的解码工作如下。对应于编码器处使用的扫描顺序来确定系数的扫描顺序。对指示根据确定的扫描顺序的残差块RTQ中第一非空系数的坐标的语法元素LastX和LastY进行解码。从块的第一个非空系数到最后一个系数扫描系数。为此,这些系数被分组为包含在当前量化的残差块RTQ中的大小为4x4的子块。对于每个子块,解码指示该子块是否完全由0组成的语法元素coded_sub_block_flag。对于包含至少一个非空系数的每个子块,对于(位于由LastX和LastY指示的块的最后一个系数之后的)每个系数,解码语法元素sig_coeff_flag,这个语法元素指示该系数是否为空。对于每个非空系数,解码指示该系数是否等于1语法元素coeff_abs_level_greater1_flag。对于非空且不等于1的每个系数,解码指示该系数是否等于2的语法元素coeff_abs_level_greater2_flag。对于非空且不等于1且不等于2的每个系数,解码指示系数的幅度减3语法元素coeff_abs_level_remaining。最后,对于每个非空系数,解码语法元素coeff_sign_flag以指示该系数是正还是负。
在步骤E434中,解码的块RTQ被去量化,例如使用量化步长δ2的标量去量化。这产生去量化的系数块RTQD
在步骤E435中,反频率变换被应用于去量化的系数块RTQD,以便产生解码的预测残差块RTQDI。例如,该变换可以是反DCT类型的变换。通过解码来自数据流STR的指示符,可以从一组预定的ETI变换中选择要使用的变换。
在步骤E436中,根据在步骤E432中获得的预测的块P和在步骤E435中获得的解码的残差块RTQDI来重建当前块,以便通过Xrec=P+RTQDI来产生解码的当前块Xrec
下面描述当根据第二编码模式M2编码当前块时,对当前块进行解码的步骤E44。
在步骤E440中,确定用于预测当前块的像素的局部预测器PL。在只有一个预测器可用的情况下,局部预测器例如在解码器级被默认设置,并且不需要从流STR中读取语法元素来确定它。
在几个局部预测器可用的情况下,例如上述预测器PL1-PL4,从数据流STR中解码语法元素以识别哪个局部预测器被用于预测当前块。因此,根据解码的语法元素来确定局部预测器。
在步骤E441中,类似于在编码器处所做的,确定量化步长δ2
在步骤E442中,从数据流STR中解码量化的残差R1Q
根据这里描述的本发明的特定实施例,使用用于根据编码模式M1解码的预测残差的语法元素的至少一部分,从数据流STR解码量化的残差块R1Q的值。为了解码残差R1Q,使用了用于残差RTQ的该组语法元素的子组。
根据实施例变体,残差R1Q的编码是通过省略语法元素LastX和LastY并通过系统地扫描量化的预测残差块R1Q的所有系数来完成的。在这种情况下,残差R1Q的系数的解码工作如下。确定系数的扫描顺序,该扫描顺序对应于在编码器确定的扫描顺序。从量化的残差R1Q的第一个系数到量化的残差块R1Q的最后一个系数扫描系数。为此,这些系数被分组为包含在当前量化的残差块R1Q中的大小为4x4的子块。对于每个子块,解码指示该子块是否完全由零组成的语法元素coded_sub_block_flag。对于包含至少一个非空系数的每个子块,对于每个系数,解码语法元素sig_coeff_flag,该语法元素指示该系数是否为空。对于每个非空系数,解码指示该系数是否等于1语法元素coeff_abs_level_greater1_flag。对于非空且不等于1的每个系数,解码指示该系数是否等于2的语法元素coeff_abs_level_greater2_flag。对于非空且不等于1且不等于2的每个系数,解码指示系数的幅度减3的语法元素coeff_abs_level_remaining。最后,对于每个非空系数,解码语法元素coeff_sign_flag以指示该系数是正还是负。
根据实施例变体,通过省略语法元素LastX和LastY并通过系统地扫描量化的残差块R1Q的所有系数,并通过省略语法元素coded_sub_block_flag,因此通过系统地解码块的每个系数的值来完成残差块R1Q的解码。
在这种情况下,残差RTQ的系数的解码工作如下。确定系数的扫描顺序。从量化的残差块R1Q的第一个系数到量化的残差块R1Q的最后一个系数扫描系数。对于每个系数,解码语法元素sig_coeff_flag,该语法元素指示该系数是否为空。对于每个非空系数,解码指示该系数是否等于1的语法元素coeff_abs_level_greater1_flag。对于非空且不等于1的每个系数,解码指示该系数是否等于2的语法元素coeff_abs_level_greater2_flag。对于非空且不等于1且不等于2的每个系数,解码指示系数的幅度减3的语法元素coeff_abs_level_remaining。最后,对于每个非空系数,解码语法元素coeff_sign_flag以指示该系数是正还是负。
根据另一实施例变体,残差R1Q的解码仅使用语法元素coeff_abs_level_remaining和coeff_sign_flag来完成。在这种情况下,残差R1Q的系数的解码工作如下。确定系数的扫描顺序。从量化的残差块R1Q的第一个系数到量化的残差块R1Q的最后一个系数扫描系数。为此,对于每个系数,解码指示系数的幅度的语法元素coeff_abs_level_remaining,并且对于每个非空系数,解码语法元素coeff_sign_flag以指示系数是正的还是负。
在步骤E443中,使用量化的步长δ2对量化的残差块R1Q进行去量化,以便产生去量化的残差块R1QD
在步骤E444中,当获得去量化的残差块R1QD时,使用在步骤E440中确定的局部预测器PL来构建预测的块P1。
在步骤E444中,如下预测和重建当前块的每个像素:
-当前块的当前像素X由选择的预测器PL预测,使用该块之外的并且已经重建的像素,或者当前块的先前重建的像素,或者两者,以便获得预测的值PRED。在所有情况下,预测器PL使用先前解码的像素;
-通过将预测残差R1QD的去量化的值加到预测的值PRED来计算当前像素X的解码的预测的值P1(X),使得P1(X)=PRED+R1QD(X)。
这些步骤以扫描顺序为当前块的所有像素实施,该扫描顺序确保从PL1,……,PL4中选择的用于预测的像素可用。
例如,扫描顺序是词典顺序(从左到右,然后从上到下的行)。
根据本发明的特定实施例,包括当前块的每个像素的解码的预测的值P1(X)的预测的块P1在此形成解码的当前块Xrec
根据本发明的另一特定实施例,这里考虑为当前块编码附加预测残差。因此,为了重建当前块的解码的版本Xrec,有必要对该附加预测残差进行解码。
例如,该另一特定实施例可以在编码器和解码器级被默认激活或不被激活。或者,可以用块级信息在数据流中编码指示符,以指示对于根据ILR编码模式编码的每个块,是否编码了附加预测残差。或者进一步地,可以在数据流中用图像或图像的序列级信息对指示符进行编码,以指示根据ILR编码模式编码的图像或图像的序列的所有块是否编码了附加预测残差。
当为当前块编码附加预测残差时,在步骤E445中,使用适于在编码器处实现的装置,例如在HEVC解码器中实现的装置,从数据流STR中解码量化的预测残差R2TQ的系数。
在步骤E446中,量化的系数的块R2TQ被去量化,例如使用量化步长δ1的标量去量化。这产生去量化的系数块R2TQD
在步骤E447中,反频率变换被应用于块R2TQD,以便产生解码的预测残差块R2TQDI
例如,反变换可以是反DCT类型的变换。
可以从一组预定的变换ET2中选择要使用的变换,并对通知解码器要使用的变换的信息项进行解码。在这种情况下,集合ET2不同于集合ET,以便适应残差R2的特定统计。
在步骤E448中,通过将在步骤E444中获得的预测的块P1添加到解码的预测残差R2TQDI来重建当前块。
在步骤E45中,考虑到先前定义的扫描顺序,检查当前块是否是要由解码方法处理的图像的最后一个块。如果是,该方法继续解码(步骤E47)视频的下一个图像(如果有的话)。如果不是,在步骤E46中,根据图像的先前定义的扫描顺序选择要处理的图像的后续块,并且解码方法前进到步骤E42,选择的块成为要处理的当前块。
图5示出了根据本发明特定实施例的信号示例STR,其包括表示图像的至少一个块的编码的数据。
信号STR包括编码的指示符TY,指示符TY为图像的块指示该块的编码模式。当指示符TY指示根据第二编码模式(这里是ILR模式)对块进行编码时,该信号然后包括使用一组语法元素(用于对来自第一编码模式的预测残差的值进行编码的该组语法元素的子组)进行编码的量化的预测残差R1Q的值。当根据第二编码模式对当前块进行编码时,这样的子组包括关于图1或图4描述的语法元素。
该信号可能包括量化的变换的预测残差R2TQ的编码的值。当几个局部预测器对于当前块是可能的时,该信号还包括局部预测器PL编码的指示符。
当指示符TY指示根据第一编码模式(这里是传统的帧内预测模式)对块进行编码时,该信号然后包括:使用关于图1或4所述的一组语法元素进行编码的量化的变换的预测残差RTQ的值(当根据第一编码模式对当前块进行编码时)、指示对于当前块的要编码的预测模式是否在MPM列表中的二进制指示符iMPM、以及指示当前块预测模式在对应列表中的索引的索引idxMPM。
图6示出了编码设备COD的简化结构,该编码设备COD适于实现根据本发明的任何一个特定实施例的编码方法。
根据本发明的特定实施例,编码方法的步骤由计算机程序指令实现。为此,编码设备COD具有计算机的标准结构,并且特别地包括存储器MEM、处理单元UT,例如配备有处理器PROC,并且由存储在存储器MEM中的计算机程序PG驱动。计算机程序PG包括当程序由处理器PROC执行时用于实现如上所述的编码方法的步骤的指令。
在初始化时,计算机程序PG的代码指令例如在被处理器PROC执行之前被加载到RAM存储器(未示出)中。特别地,处理单元UT的处理器PROC根据计算机程序PG的指令实现上述编码方法的步骤。
图7示出了解码设备DEC的简化结构,该解码设备DEC适于实现根据本发明的任何一个特定实施例的解码方法。
根据本发明的特定实施例,解码设备DEC具有计算机的标准架构,并且特别地包括存储器MEM0、处理单元UT0,例如配备有处理器PROC0,并且由存储在存储器MEM0中的计算机程序PG0驱动。计算机程序PG0包括用于当程序由处理器PROC0执行时实现如上所述的解码方法的步骤的指令。
在初始化时,计算机程序PG0的代码指令例如在被处理器PROC0执行之前被加载到RAM存储器(未示出)中。特别地,处理单元UT0的处理器PROC0根据计算机程序PG0的指令实现上述解码方法的步骤。

Claims (11)

1.一种用于解码表示至少一个图像的编码的数据流的方法,所述图像被划分成块,所述解码方法包括,对于被称为当前块的、图像的至少一个块:
-解码指示当前块的编码模式的信息项,
-确定当前块的编码模式对应于第一编码模式或第二编码模式;
-当当前块的编码模式对应于第一编码模式时,解码当前块包括:
-使用第一组语法元素解码与当前块相关联的预测残差,
-从先前解码的块的重建的像素获得当前块的预测,
-根据获得的预测和解码的预测残差重建所述当前块;
-当当前块的编码模式对应于第二编码模式时,解码当前块包括:
-使用第二组语法元素解码与当前块相关联的预测残差,所述第二组包括所述第一组的至少一个语法元素但不是所述第一组的所有语法元素,
所述预测残差包括与当前块的像素相关联的量化的预测残差,
-重建所述当前块,包括:
-对于当前块的每个像素:
-从另一先前重建的像素获得所述像素的预测,所述另一先前重建的像素属于所述当前块或属于图像的先前重建的块,
-去量化与所述像素相关联、并且被包括在与当前块相关联并使用第二组语法元素解码的预测残差中的量化的预测残差,并且
-根据获得的所述像素的预测以及根据与所述像素相关联的去量化的预测残差来重建所述像素。
2.根据权利要求1所述的方法,其中:
-所述第一组语法元素包括位置语法元素,所述位置语法元素根据所述预测残差的系数的确定的扫描顺序,指示与所述当前块相关联的预测残差的第一非空系数的位置,
-并且所述第二组语法元素不包括所述位置语法元素。
3.根据权利要求1所述的方法,其中:
-与当前块相关联的所述预测残差包括至少一个系数子块,所述第一组语法元素包括:
-与所述至少一个系数子块相关联的子块语法元素,所述子块语法元素指示子块的至少一个系数是否为非空,以及
-对于包括至少一个非空系数的预测残差的系数的每个子块,所述子块的每个系数的重要性语法元素,所述重要性语法元素指示所述系数是否为空,以及
-所述第二组语法元素包括预测残差的每个系数的重要性语法元素。
4.根据权利要求1所述的方法,其中:
-对于根据确定的扫描顺序扫描的预测残差的每个非空系数,所述第一组语法元素包括:
-指示系数的绝对值是否等于1的语法元素,
-对于系数的绝对值不等于1的每个系数,指示所述系数的绝对值是否等于2的语法元素,
-对于系数的绝对值既不等于1也不等于2的每个系数,指示所述系数的绝对值减去3的语法元素,
-指示系数是正还是负的语法元素,并且
-对于根据确定的扫描顺序扫描的预测残差的每个非空系数,所述第二组语法元素包括:
-指示系数的绝对值的语法元素,
-指示系数是正的还是负的语法元素。
5.一种用于编码表示至少一个图像的数据流的方法,所述图像被划分成块,该编码方法包括,对于被称为当前块的、图像的至少一个块:
-编码指示当前块的编码模式的信息项,
-确定当前块的编码模式对应于第一编码模式或第二编码模式;
-当当前块的编码模式对应于第一编码模式时,编码当前块包括:
-从先前解码的块的重建的像素获得当前块的预测,
-获得从获得的预测中获得的与当前块相关联的预测残差,
-使用第一组语法元素对与当前块相关联的所述预测残差进行编码,
-当当前块的编码模式对应于第二编码模式时,编码当前块包括:
-对于当前块的每个像素:
-从另一先前重建的像素获得所述像素的预测,所述另一先前重建的像素属于所述当前块或属于图像的先前重建的块,
-从为所述像素获得的预测中获得与所述像素相关联的预测残差,
-量化与所述像素相关联的所述预测残差,
-去量化所述量化的预测残差,并从所述去量化的预测残差重建所述像素,
-使用第二组语法元素对与当前块相关联的去量化的预测残差进行编码,所述与当前块相关联的预测残差包括与所述当前块的像素相关联的预测残差,所述第二组是所述第一组语法元素的语法元素的子组,所述第二组包括所述第一组的至少一个语法元素但不是所述第一组的所有语法元素。
6.根据权利要求5所述的方法,其中:
-所述第一组语法元素包括位置语法元素,所述位置语法元素根据所述预测残差的系数的确定的扫描顺序,指示与所述当前块相关联的预测残差的第一非空系数的位置,
-并且所述第二组语法元素不包括所述位置语法元素。
7.根据权利要求5所述的方法,其中:
-与当前块相关联的所述预测残差包括至少一个系数子块,所述第一组语法元素包括:
-与所述至少一个系数子块相关联的子块语法元素,所述子块语法元素指示子块的至少一个系数是否为非空,以及
-对于包括至少一个非空系数的预测残差的系数的每个子块,所述子块的每个系数的重要性语法元素,所述重要性语法元素指示所述系数是否为空,以及
-所述第二组语法元素包括预测残差的每个系数的重要性语法元素。
8.根据权利要求5所述的方法,其中:
-对于根据确定的扫描顺序扫描的预测残差的每个非空系数,所述第一组语法元素包括:
-指示系数的绝对值是否等于1的语法元素,
-对于系数的绝对值不等于1的每个系数,指示所述系数的绝对值是否等于2的语法元素,
-对于系数的绝对值既不等于1也不等于2的每个系数,指示所述系数的绝对值减去3的语法元素,
-指示系数是正还是负的语法元素,并且
-对于根据确定的扫描顺序扫描的预测残差的每个非空系数,所述第二组语法元素包括:
-指示系数的绝对值的语法元素,
-指示系数是正的还是负的语法元素。
9.一种用于解码表示至少一个图像的编码的数据流的设备,所述图像被划分成块,所述解码设备包括处理器,所述处理器被配置为,对于被称为当前块的、图像的至少一个块:
-解码指示当前块的编码模式的信息项,
-确定当前块的编码模式对应于第一编码模式或第二编码模式;
-当当前块的编码模式对应于第一编码模式时,以以下方式解码当前块:
-使用第一组语法元素解码与当前块相关联的预测残差,
-从先前解码的块的重建的像素获得当前块的预测,
-根据获得的预测和解码的预测残差重建所述当前块;
-当当前块的编码模式对应于第二编码模式时,以以下方式解码当前块:
-使用第二组语法元素解码与当前块相关联的预测残差,所述第二组是所述第一组语法元素的语法元素的子组,所述第二组包括所述第一组的至少一个语法元素但不是所述第一组的所有语法元素,所述预测残差包括与当前块的像素相关联的量化的预测残差,并且
-重建所述当前块,包括:
-对于当前块的每个像素:
-从另一先前重建的像素获得所述像素的预测,所述另一先前重建的像素属于所述当前块或属于图像的先前重建的块,
-去量化与所述像素相关联、并且被包括在与当前块相关联并使用第二组语法元素解码的预测残差中的量化的预测残差,并且
-根据获得的所述像素的预测以及根据与所述像素相关联的去量化的预测残差来重建所述像素。
10.一种用于编码表示至少一个图像的数据流的设备,所述图像被划分成块,所述编码方法包括处理器,所述处理器被配置为,对于被称为当前块的、图像的至少一个块:
-编码指示当前块的编码模式的信息项,
-确定当前块的编码模式对应于第一编码模式或第二编码模式;
-当当前块的编码模式对应于第一编码模式时,以以下方式编码当前块:
-从先前解码的块的重建的像素获得当前块的预测,
-获得从获得的预测中获得的与当前块相关联的预测残差,
-使用第一组语法元素对与当前块相关联的所述预测残差进行编码,
-当当前块的编码模式对应于第二编码模式时,以以下方式编码当前块:
-对于当前块的每个像素:
-从另一先前重建的像素获得所述像素的预测,所述另一先前重建的像素属于所述当前块或属于图像的先前重建的块,
-从为所述像素获得的预测中获得与所述像素相关联的预测残差,
-量化与所述像素相关联的所述预测残差,
-去量化所述量化的预测残差,并从所述去量化的预测残差重建所述像素,
-使用第二组语法元素对与当前块相关联的去量化的预测残差进行编码,所述与当前块相关联的预测残差包括与所述当前块的像素相关联的预测残差,所述第二组是所述第一组语法元素的语法元素的子组,所述第二组包括所述第一组的至少一个语法元素但不是所述第一组的所有语法元素。
11.一种计算机可读数据介质,包括:当由处理器执行时,用于实现根据权利要求1至4中任一项所述的解码方法或根据权利要求5至8中任一项所述的编码方法的指令。
CN201980062059.4A 2018-09-21 2019-09-03 用于编码和解码表示至少一个图像的数据流的方法和设备 Active CN112740692B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410416849.0A CN118354067A (zh) 2018-09-21 2019-09-03 用于编码和解码表示至少一个图像的数据流的方法和设备

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1858572 2018-09-21
FR1858572A FR3086486A1 (fr) 2018-09-21 2018-09-21 Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image.
PCT/FR2019/052023 WO2020058593A1 (fr) 2018-09-21 2019-09-03 Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202410416849.0A Division CN118354067A (zh) 2018-09-21 2019-09-03 用于编码和解码表示至少一个图像的数据流的方法和设备

Publications (2)

Publication Number Publication Date
CN112740692A CN112740692A (zh) 2021-04-30
CN112740692B true CN112740692B (zh) 2024-04-16

Family

ID=65494290

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202410416849.0A Pending CN118354067A (zh) 2018-09-21 2019-09-03 用于编码和解码表示至少一个图像的数据流的方法和设备
CN201980062059.4A Active CN112740692B (zh) 2018-09-21 2019-09-03 用于编码和解码表示至少一个图像的数据流的方法和设备

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202410416849.0A Pending CN118354067A (zh) 2018-09-21 2019-09-03 用于编码和解码表示至少一个图像的数据流的方法和设备

Country Status (8)

Country Link
US (2) US11985355B2 (zh)
EP (1) EP3854088A1 (zh)
JP (1) JP2022500944A (zh)
KR (1) KR20210058848A (zh)
CN (2) CN118354067A (zh)
BR (1) BR112021003210A2 (zh)
FR (1) FR3086486A1 (zh)
WO (1) WO2020058593A1 (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105723709A (zh) * 2013-10-25 2016-06-29 奥兰治 用于编码和解码图像的方法、用于编码和解码图像的装置及对应计算机程序
CN108028919A (zh) * 2015-09-10 2018-05-11 联发科技(新加坡)私人有限公司 用于图像与视频编解码中语法元素的上下文建模的方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT2950544T (pt) * 2006-01-09 2019-07-10 Hans Georg Musmann Codificação adaptativa do erro de predição em codificação de vídeo híbrida
US8634462B2 (en) * 2007-03-13 2014-01-21 Matthias Narroschke Quantization for hybrid video coding
US20080225947A1 (en) * 2007-03-13 2008-09-18 Matthias Narroschke Quantization for hybrid video coding
US9503750B2 (en) 2011-11-04 2016-11-22 Futurewei Technologies, Inc. Binarization of prediction residuals for lossless video coding
US9307264B2 (en) * 2012-06-22 2016-04-05 Sharp Kabushiki Kaisha Arithmetic decoding device, arithmetic coding device, image decoding apparatus, and image coding apparatus
KR101709775B1 (ko) * 2013-07-23 2017-02-23 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법 및 장치
FR3023112A1 (fr) * 2014-06-27 2016-01-01 Bcom Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
US10218975B2 (en) 2015-09-29 2019-02-26 Qualcomm Incorporated Transform precision manipulation in video coding
US10779007B2 (en) * 2017-03-23 2020-09-15 Mediatek Inc. Transform coding of video data
KR20210156351A (ko) * 2017-07-07 2021-12-24 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105723709A (zh) * 2013-10-25 2016-06-29 奥兰治 用于编码和解码图像的方法、用于编码和解码图像的装置及对应计算机程序
CN108028919A (zh) * 2015-09-10 2018-05-11 联发科技(新加坡)私人有限公司 用于图像与视频编解码中语法元素的上下文建模的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Intra Prediction Using In-Loop Residual Coding for the post-HEVC Standard;Mohsen Abdoli 等;《2017 IEEE 19TH International Workshop on Multimedia Signal Processing(MMSP)》;第1-6页 *

Also Published As

Publication number Publication date
US20240244266A1 (en) 2024-07-18
WO2020058593A1 (fr) 2020-03-26
EP3854088A1 (fr) 2021-07-28
FR3086486A1 (fr) 2020-03-27
JP2022500944A (ja) 2022-01-04
US11985355B2 (en) 2024-05-14
US20220046287A1 (en) 2022-02-10
KR20210058848A (ko) 2021-05-24
CN118354067A (zh) 2024-07-16
BR112021003210A2 (pt) 2021-05-11
CN112740692A (zh) 2021-04-30

Similar Documents

Publication Publication Date Title
RU2736421C1 (ru) Способ кодирования и декодирования изображений и устройство кодирования и декодирования
KR101871869B1 (ko) Hevc의 cabac를 위한 변환 스킵된 블록의 수정된 코딩
US11350106B2 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
US20230199193A1 (en) Methods and devices for coding and decoding a data stream representing at least one image
JP2024056766A (ja) 少なくとも1つの画像を表すデータストリームをコーディングおよびデコーディングするための方法および装置
CN112188195B (zh) 图像编码/解码方法和设备以及相应的计算机可读介质
CN112740692B (zh) 用于编码和解码表示至少一个图像的数据流的方法和设备
CN112292858B (zh) 用于编码和解码表示至少一个图像的数据流的方法和装置
CN112740690B (zh) 用于编码和解码代表至少一个图像的数据流的方法和设备
US20200195969A1 (en) Method for coding a digital image, decoding method, devices, terminal equipment and related computer programs
CN113412618B (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