CN113906743A - 量化矩阵编码/解码方法和装置、以及存储比特流的记录介质 - Google Patents

量化矩阵编码/解码方法和装置、以及存储比特流的记录介质 Download PDF

Info

Publication number
CN113906743A
CN113906743A CN202080040590.4A CN202080040590A CN113906743A CN 113906743 A CN113906743 A CN 113906743A CN 202080040590 A CN202080040590 A CN 202080040590A CN 113906743 A CN113906743 A CN 113906743A
Authority
CN
China
Prior art keywords
quantization matrix
quantization
block
matrix
current
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
CN202080040590.4A
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.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
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 Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of CN113906743A publication Critical patent/CN113906743A/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/117Filters, e.g. for pre-processing or post-processing
    • 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/124Quantisation
    • 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/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/136Incoming video signal characteristics or properties
    • 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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

本公开提供了一种视频解码方法,包括以下步骤:确定包括由多个量化矩阵构成的量化矩阵集的一个或更多个自适应参数集;从所述一个或更多个自适应参数集之中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集;基于确定的所述自适应参数集的所述量化矩阵集对所述当前画面或所述当前条带的当前块的变换系数进行反量化;以及基于反量化的所述变换系数重建所述当前块,其中,所述自适应参数集包括应用于一个或更多个画面或条带的编码信息。

Description

量化矩阵编码/解码方法和装置、以及存储比特流的记录介质
技术领域
本发明涉及一种图像编码/解码方法和设备,以及一种用于存储比特流的记录介质。更具体地,本发明涉及一种用于基于量化矩阵来对图像进行编码/解码的方法和设备、以及用于存储比特流的记录介质。
背景技术
近来,在各种应用中针对诸如高清晰度(HD)或超高清晰度(UHD)图像的高分辨率和质量图像的需求已经增加。随着图像的分辨率和质量的提高,数据量相应地增加。这是在通过诸如有线宽带信道或无线宽带信道的现有传输介质传输图像数据时或者在存储图像数据时的传输成本和存储成本增加的原因之一。为了解决高分辨率和高质量图像数据的这些问题,需要高效的图像编码/解码技术。
存在各种视频压缩技术,诸如从先前画面或后续画面内的像素的值预测当前画面内的像素的值的帧间(Inter)预测技术、从当前画面的另一区域内的像素的值预测当前画面的区域内的像素的值的帧内(Intra)预测技术、对残差信号的能量进行压缩的变换和量化技术、以及将较短码分配给频繁出现的像素值而将较长码分配给较少出现的像素值的熵编码技术。
在传统的量化矩阵编码/解码中,由于仅考虑预测模式、颜色分量或尺寸,因此在图像的客观图像质量和主观图像质量方面存在限制。
发明内容
技术问题
本发明提供一种考虑预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合、或者是否使用变换中的至少一个的方法和设备,以便改善图像的客观图像质量和主观图像质量。
本发明的另一个目的在于提供一种用于存储由本发明的图像编码/解码方法或设备产生的比特流的记录介质。
技术方案
在本公开中,一种视频解码方法包括:确定包括包含多个量化矩阵的量化矩阵集的一个或更多个自适应参数集;从所述一个或更多个自适应参数集之中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集;基于确定的所述自适应参数集的所述量化矩阵集对所述当前画面或所述当前条带的当前块的变换系数进行反量化;以及基于反量化的所述变换系数重建所述当前块。所述自适应参数集包括应用于一个或更多个画面或条带的编码信息。
根据实施例,所述自适应参数集可包括指示分配给所述自适应参数集的标识号的自适应参数集标识符,其中,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集的步骤包括:从比特流获取量化矩阵集标识符;以及根据由所述量化矩阵集标识符指示的自适应参数集标识符,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集。
根据实施例,从所述比特流获取所述量化矩阵集标识符的步骤可包括:从所述比特流获取量化矩阵启用标志,其中,所述量化矩阵启用标志指示是否使用在针对所述当前画面或所述当前条带的所述自适应参数集中定义的量化矩阵集;以及当所述量化矩阵启用标志指示使用在所述自适应参数集中定义的所述量化矩阵集时,从所述比特流获取针对所述当前画面或所述当前条带的量化矩阵集标识符。
根据实施例,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集的步骤可包括:从所述比特流获取量化矩阵使用信息,其中,所述量化矩阵使用信息指示是否在所述当前画面或所述当前条带中使用根据所述量化矩阵集标识符的量化矩阵集;以及当所述量化矩阵使用信息指示在所述当前画面或所述当前条带中使用根据所述量化矩阵集标识符的量化矩阵集时,根据由所述量化矩阵集标识符指示的自适应参数集标识符,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集。
根据实施例,所述自适应参数集可包括指示包括在所述自适应参数集中的编码信息的类型的自适应参数集类型信息,以及确定包括所述量化矩阵集的所述一个或更多个自适应参数集的步骤可包括:当所述自适应参数集类型信息指示量化矩阵类型时,确定包括量化矩阵集的自适应参数集。
根据实施例,所述自适应参数集类型信息可指示量化矩阵类型、自适应环内滤波器类型或具有色度缩放的亮度映射类型。
根据实施例,对所述当前画面或所述当前条带的所述当前块的所述变换系数进行反量化的步骤可包括:从比特流获取次级变换量化矩阵启用信息,其中,所述次级变换量化矩阵启用信息指示确定的所述自适应参数集的所述量化矩阵集是否被应用于应用次级变换的块,确定指示次级变换是否被应用于所述当前块的次级变换使用信息,以及当所述次级变换量化矩阵启用信息指示确定的所述自适应参数集的所述量化矩阵集不被应用于应用次级变换的块并且所述次级变换使用信息指示次级变换被应用于所述当前块时,根据默认量化矩阵对所述当前块的所述变换系数进行反量化。
根据实施例,所述默认量化矩阵可包括在量化矩阵中具有相同值的量化系数。
根据实施例,所述量化矩阵集包括根据块的预测模式、颜色分量和尺寸定义的多个量化矩阵。
根据实施例,所述量化矩阵集可包括在帧内预测的块中使用的量化矩阵、在帧间预测的块中使用的量化矩阵和在帧内块复制预测的块中使用的量化矩阵,以及,在所述帧间预测的块中使用的所述量化矩阵和在所述帧内块复制预测的块中使用的所述量化矩阵可彼此相等。
根据实施例,所述量化矩阵集可包括在最大高度和最大宽度为2的块中使用的量化矩阵、在最大高度和最大宽度为4的块中使用的量化矩阵、在最大高度和最大宽度为8的块中使用的量化矩阵、在最大高度和最大宽度为16的块中使用的量化矩阵、以及在最大高度和最大宽度为64的块中使用的量化矩阵。
根据实施例,在所述最大高度和最大宽度为2的块中使用的所述量化矩阵可仅包括在执行帧间预测或帧内块复制预测的同时在针对Cr分量的块中使用的量化矩阵以及在执行帧间预测或帧内块复制预测的同时在针对Cb分量的块中使用的量化矩阵。
根据实施例,确定包括包含所述多个量化矩阵的所述量化矩阵集的所述一个或更多个自适应参数集的步骤包括:从量化矩阵复制模式、帧间量化矩阵预测模式和帧内量化矩阵DPCM模式之中确定当前量化矩阵的确定方法;以及根据所述当前量化矩阵的确定方法来确定当前量化矩阵。
根据实施例,确定所述当前量化矩阵的确定方法的步骤可包括:获取指示是否应用量化矩阵复制模式的量化矩阵复制模式标志,当所述量化矩阵复制模式标志指示所述量化矩阵复制模式被应用于所述当前量化矩阵时,将所述当前量化矩阵的确定方法确定为量化矩阵复制模式,当所述量化矩阵复制模式标志指示所述量化矩阵复制模式不被应用于所述当前量化矩阵时,获取指示是否应用所述帧间量化矩阵预测模式的帧间量化矩阵预测模式标志,以及当所述帧间量化矩阵预测模式标志指示所述帧间量化矩阵预测模式被应用于所述当前量化矩阵时,将所述当前量化矩阵的确定方法确定为所述帧间量化矩阵预测模式,并且当所述帧间量化矩阵预测模式标志指示所述帧间量化矩阵预测模式不被应用于所述当前量化矩阵时,将所述当前量化矩阵的确定方法确定为所述帧内量化矩阵DPCM模式。
根据实施例,确定所述当前量化矩阵的步骤可包括:当所述当前量化矩阵处于所述量化矩阵复制模式时,从在所述当前量化矩阵之前确定的量化矩阵确定参考量化矩阵;以及将所述参考量化矩阵确定为所述当前量化矩阵。
根据实施例,确定所述当前量化矩阵的步骤可包括:当所述当前量化矩阵处于所述帧间量化矩阵预测模式时,从在所述当前量化矩阵之前确定的量化矩阵确定参考量化矩阵,获取差分量化矩阵系数,该差分量化矩阵系数指示所述当前量化矩阵的矩阵系数与所述参考量化矩阵的矩阵系数之间的差;以及根据所述参考量化矩阵的所述矩阵系数与所述差分量化矩阵系数的总和来确定所述当前量化矩阵的所述矩阵系数。
根据实施例,确定所述参考量化矩阵的步骤可包括:当所述当前量化矩阵的最大高度和最大宽度为2时,将最大高度和最大宽度为2的量化矩阵确定为所述参考量化矩阵;当所述当前量化矩阵的最大高度和最大宽度为4时,将最大高度和最大宽度为4的量化矩阵确定为所述参考量化矩阵;当所述当前量化矩阵的最大高度和最大宽度为8时,将最大高度和最大宽度为8的量化矩阵确定为所述参考量化矩阵;当所述当前量化矩阵的最大高度和最大宽度为16时,将最大高度和最大宽度为8或16的量化矩阵确定为所述参考量化矩阵;以及当所述当前量化矩阵的最大高度和最大宽度为32时,将最大高度和最大宽度为8、16或32的量化矩阵确定为所述参考量化矩阵。
在本公开中,一种视频编码方法包括:确定包括包含多个量化矩阵的量化矩阵集的一个或更多个自适应参数集;从所述一个或更多个自适应参数集之中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集;基于确定的所述自适应参数集的所述量化矩阵集对当前画面或当前条带的当前块的变换系数进行量化;以及基于量化的所述变换系数对所述当前块进行编码,其中,所述自适应参数集包括应用于一个或更多个画面或条带的编码信息。
根据实施例,所述自适应参数集可包括指示分配给所述自适应参数集的标识号的自适应参数集标识符,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集的步骤可包括:确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集,以及确定量化矩阵集标识符。
根据实施例,确定所述量化矩阵集标识符的步骤可包括:确定量化矩阵启用标志,其中,所述量化矩阵启用标志指示是否使用在针对所述当前画面或所述当前条带的所述自适应参数集中定义的量化矩阵集,以及当所述量化矩阵启用标志指示使用在所述自适应参数集中定义的所述量化矩阵集时,确定针对所述当前画面或所述当前条带的量化矩阵集标识符。
根据实施例,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的自适应参数集的步骤可包括:确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的自适应参数集,以及确定量化矩阵使用信息,其中,所述量化矩阵使用信息指示是否在所述当前画面或所述当前条带中使用根据所述量化矩阵集标识符的量化矩阵集。
根据实施例,所述自适应参数集可包括指示包括在所述自适应参数集中的编码信息的类型的自适应参数集类型信息,并且确定包括所述量化矩阵集的所述一个或更多个自适应参数集的步骤可包括:当所述自适应参数集包括量化矩阵集时,确定所述自适应参数集类型信息指示量化矩阵类型。
根据实施例,所述自适应参数集类型信息可指示量化矩阵类型、自适应环内滤波器类型或具有色度缩放的亮度映射类型。
根据实施例,对所述当前画面或所述当前条带的所述当前块的变换系数进行量化的步骤可包括:确定次级变换量化矩阵启用信息,其中,所述次级变换量化矩阵启用信息指示确定的所述自适应参数集的量化矩阵集是否被应用于应用次级变换的块,确定指示次级变换是否被应用于当前块的次级变换使用信息,以及当所述次级变换量化矩阵启用信息指示确定的所述自适应参数集的量化矩阵集不被应用于应用第二变换的块时,并且所述次级变换使用信息指示次级变换被应用于当前块时,根据默认量化矩阵对所述当前块的所述变换系数进行量化。
根据实施例,所述默认量化矩阵可包括在量化矩阵中具有相同值的量化系数。
根据实施例,所述量化矩阵集可包括根据块的预测模式、颜色分量和尺寸定义的多个量化矩阵。
根据实施例,所述量化矩阵集可包括在帧内预测的块中使用的量化矩阵、在帧间预测的块中使用的量化矩阵和在帧内块复制预测的块中使用的量化矩阵,并且在帧间预测的块中使用的量化矩阵和在帧内块复制预测的块中使用的量化矩阵可彼此相等。
根据实施例,所述量化矩阵集可包括在最大高度和最大宽度为2的块中使用的量化矩阵、在最大高度和最大宽度为4的块中使用的量化矩阵、在最大高度和最大宽度为8的块中使用的量化矩阵、在最大高度和最大宽度为16的块中使用的量化矩阵以及在最大高度和最大宽度为64的块中使用的量化矩阵。
根据实施例,在最大高度和最大宽度为2的块中使用的量化矩阵可仅包括在执行帧间预测或帧内块复制预测的同时在针对Cr分量的块中使用的量化矩阵以及在执行帧间预测或帧内块复制预测的同时在针对Cb分量的块的量化矩阵。
根据实施例,确定包括包含所述多个量化矩阵的所述量化矩阵集的所述一个或更多个自适应参数集的步骤可包括:确定当前量化矩阵,以及根据所述当前量化矩阵从量化矩阵复制模式、帧间量化矩阵预测模式和帧内量化矩阵DPCM模式之中确定所述当前量化矩阵的确定方法。
根据实施例,确定所述当前量化矩阵的确定方法的步骤可包括:确定指示是否应用量化矩阵复制模式的量化矩阵复制模式标志,以及当所述量化矩阵复制模式标志指示所述量化矩阵复制模式不被应用于所述当前量化矩阵时,确定指示是否应用所述帧间量化矩阵预测模式的帧间量化矩阵预测模式标志。
根据实施例,确定所述当前量化矩阵的步骤可包括:根据所述当前量化矩阵是否包括在当前量化矩阵之前确定的参考量化矩阵的矩阵系数,确定所述当前量化矩阵是否处于量化矩阵复制模式。
根据实施例,确定所述当前量化矩阵的步骤可包括:根所述据当前量化矩阵是否是从在所述当前量化矩阵之前确定的参考量化矩阵的矩阵系数预测的,来确定所述当前量化矩阵是否处于所述帧间量化矩阵预测模式,以及确定指示所述当前量化矩阵的矩阵系数值与所述参考量化矩阵的矩阵系数值之间的差的差分量化矩阵系数。
根据实施例,确定所述参考量化矩阵的步骤可包括:当所述当前量化矩阵的最大高度和最大宽度为2时,将最大高度和最大宽度为2的量化矩阵确定为所述参考量化矩阵,当所述当前量化矩阵的最大高度和最大宽度为4时,将最大高度和最大宽度为4的量化矩阵确定为所述参考量化矩阵,当所述当前量化矩阵的最大高度和最大宽度为8时,将最大高度和最大宽度为8的量化矩阵确定为所述参考量化矩阵,当所述当前量化矩阵的最大高度和最大宽度为16时,将最大高度和最大宽度为8或16的量化矩阵确定为所述参考量化矩阵,并且当所述当前量化矩阵的最大高度和最大宽度为32时,将最大高度和最大宽度为8、16或32的量化矩阵确定为所述参考量化矩阵。
在本公开中,一种用于存储通过视频编码方法对视频进行编码而产生的比特流的非暂时性计算机可读记录介质。所述视频编码方法包括:确定包括包含多个量化矩阵的量化矩阵集的一个或更多个自适应参数集;从所述一个或更多个自适应参数集之中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集;基于确定的所述自适应参数集的所述量化矩阵集对所述当前画面或所述当前条带的当前块的变换系数进行量化;以及基于量化的所述变换系数对所述当前块进行编码。所述自适应参数集包括应用于一个或更多个画面或条带的编码信息。
有益效果
根据本发明,提供了一种考虑预测模式、颜色分量、尺寸、形状、一维变换类型、二维变换组合或是否使用变换中的至少一个的量化矩阵编码/解码方法和设备。因此,可改善图像的客观和主观图像质量。
附图说明
图1是示出根据应用了本发明的实施例的编码设备的配置的框图。
图2是示出根据应用了本发明的实施例的解码设备的配置的框图。
图3是示意性地示出当对图像进行编码和解码时图像的分区结构的示图。
图4是示出帧内预测处理的示图。
图5是示出画面间预测处理的实施例的示图。
图6是示出变换和量化处理的示图。
图7是示出能够用于帧内预测的参考样点的示图。
图8a是示出根据本发明的实施例的操作用于对量化矩阵进行编码的设备的方法的示图。
图8b是示出根据本发明的实施例的操作用于对量化矩阵进行解码的设备的方法的示图。
图9至图17是示出基于预测模式、颜色分量或尺寸中的至少一个来构建量化矩阵的方法的实施例的示图。
图18至图20是示出根据本发明的实施例的用于用信号传送关于在参数集中还是在报头中使用量化矩阵的信息的语法元素的示图。
图21至图26是示出根据本发明的实施例的在量化/反量化处理中使用的默认矩阵的示图。
图27至图59是示出根据本发明的实施例的熵编码/解码量化矩阵预测方法信息的处理的示图。
图60至图61是示出根据本发明的实施例的基于量化矩阵尺寸执行帧间量化矩阵预测的处理的示图。
图62至图64是示出根据本发明的实施例的映射表refMap的示图。
图65至图73是示出根据本发明的实施例的量化矩阵系数的扫描方法的示图。
图74至图76是示出根据本发明的实施例的重建量化矩阵的处理的示图。
图77至图88是示出根据本发明的实施例的实现量化矩阵编码/解码方法和设备以及存储比特流的记录介质所需的语法元素信息、语法元素信息的语义和编码/解码处理的示图。
图89至图100是示出根据本发明的实施例的在量化/反量化处理中使用的默认矩阵的示图。
图101至图110示出根据本发明另一实施例的实现量化矩阵编码/解码方法和设备以及存储比特流的记录介质所需的语法元素信息、语法元素信息的语义和编码/解码处理的示例。
图111是示出自适应参数集的语法结构的实施例的示图。
图112是示出自适应参数集类型信息的实施例的示图。
图113是示出量化矩阵数据的语法结构的实施例的示图。
图114是示出条带头的语法结构的实施例的示图。
图115和图116是示出根据sizeId和matrixId的量化矩阵信息的实施例的示图。
图117和图118是示出根据sizeId和matrixId的量化矩阵信息的实施例的示图。
图119至图129是示出在编码器/解码器中实现根据本发明的实施例的量化矩阵编码/解码方法和设备以及用于存储比特流的记录介质所需的语法元素信息、语法元素信息的语义、以及编码/解码处理的示例的示图。
图130至图142是示出在编码器/解码器中实现根据本发明的实施例的量化矩阵编码/解码方法和设备以及用于存储比特流的记录介质所需的语法元素信息、语法元素信息的语义、以及编码/解码处理的示例的示图。
图143是示出根据块的尺寸的sizeId的值的示图。
图144是示出根据块的尺寸sizeId、预测模式、颜色分量cIdx的matrixId的值的示图。
图145是示出根据实施例的视频解码方法的流程图。
图146是示出根据实施例的视频编码方法的流程图。
具体实施方式
最佳实施方式
在本公开中,一种视频解码方法包括:确定包括包含多个量化矩阵的量化矩阵集的一个或更多个自适应参数集;从一个或更多个自适应参数集之中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集,基于确定的自适应参数集的量化矩阵集对当前画面或当前条带的当前块的变换系数进行反量化,以及基于反量化的变换系数重建当前块。自适应参数集包括应用于一个或更多个画面或条带的编码信息。
本发明的实施方式
可对本发明做出各种修改,并且存在本发明的各种实施例,现在将参照附图提供并详细描述本发明的各种实施例的示例。然而,尽管示例性实施例可被解释为包括本发明的技术构思和技术范围中的所有修改、等同形式或替代形式,但本发明不限于此。相似的参考标号指在各个方面相同或相似的功能。在附图中,为了清楚起见,元件的形状和尺寸可被夸大。在本发明的以下详细描述中,对通过图示的方式示出可实施本发明的具体实施例的附图进行参照。这些实施例被足够详细地描述以使本领域技术人员能够实施本公开。本公开的各种实施例尽管不同,但不必是相互排他的。例如,在不脱离本公开的精神和范围的情况下,这里结合一个实施例描述的特定特征、结构和特性可在其它实施例中被实施。此外,在不脱离本公开的精神和范围的情况下,每一个公开的实施例内的各个元件的位置或布置可被修改。因此,以下详细描述不应以限制的含义来理解,并且本公开的范围仅由所附权利要求(在合适的解释的情况下,还连同权利要求所要求保护的等同形式的全部范围)来限定。
在说明书中使用的术语“第一”、“第二”等可被用于描述各种组件,但这些组件并不被解释为受限于这些术语。这些术语仅被用于将一个组件与其它组件区分开。例如,在不脱离本发明的范围的情况下,“第一”组件可被称为“第二”组件,并且“第二”组件也可类似地被称为“第一”组件。术语“和/或”包括多个项的组合或者是多个项中的任意一项。
将理解的是,在本说明书中,当元件仅被称为“连接到”或“结合到”另一元件而不是“直接连接到”或“直接结合到”所述另一元件时,所述元件可“直接连接到”或“直接结合到”所述另一元件,或者在所述元件与所述另一元件之间具有其他元件的情况下连接到或结合到所述另一元件。相反,当元件被称为“直接结合”或“直接连接”到另一元件时,不存在中间元件。
此外,在本发明的实施例中示出的组成部件被独立地示出,以呈现彼此不同的特性功能。因此,这并不意味着每一个组成部件以单独的硬件或软件的组成单元被组成。换句话说,为了方便,每一个组成部件包括枚举的组成部件中的每一个。因此,每一个组成部件中的至少两个组成部件可被组合形成一个组成部件,或者一个组成部件可被划分为用于执行每一个功能的多个组成部件。在没有脱离本发明的本质的情况下,每一个组成部件被组合的实施例以及一个组成部件被划分的实施例也被包括在本发明的范围中。
在本说明书中使用的术语仅用于描述具体实施例,而不旨在限制本发明。除非以单数使用的表达在上下文中具有明显不同的含义,否则它包括复数表达。在本说明书中,将理解的是,诸如“包括……的”、“具有……的”等的术语旨在指明存在说明书中所公开的特征、数量、步骤、动作、元件、部件、或其组合,而并不旨在排除可存在或者可添加一个或更多个其它特征、数量、步骤、动作、元件、部件、或其组合的可能性。换句话说,当特定元件被称为“被包括”时,除相应元件以外的元件并不被排除,而是,附加的元件可被包括在本发明的实施例中或者是本发明的范围中。
此外,一些组成元件可能不是执行本发明的必要功能的不可缺的组成元件,而是仅提升其性能的可选组成元件。可通过仅包括用于实施本发明的实质的不可缺的组成部件而排除在提升性能时使用的组成元件来实施本发明。仅包括所述不可缺的组成元件而排除在仅提升性能时使用的可选组成元件的结构也被包括在本发明的范围中。
在下文中,将参照附图详细描述本发明的实施例。在描述本发明的示例性实施例时,因为公知的功能或结构可能不必要地模糊对本发明的理解,因此将不详细描述它们。附图中的相同的组成元件由相同的参考标号来表示,并且将省略对相同元件的重复描述。
在下文中,图像可指构成视频的画面,或者可指视频本身。例如,“对图像进行编码或解码或者进行编码和解码两者”可指“对运动画面进行编码或解码或者进行编码和解码两者”,并且可指“对运动画面的图像中的一个图像进行编码或解码或者进行编码和解码两者。”
在下文中,术语“运动画面”和“视频”可被用作相同的含义并且可彼此替换。
在下文中,目标图像可以是作为编码的目标的编码目标图像和/或作为解码的目标的解码目标图像。此外,目标图像可以是输入到编码设备的输入图像、以及输入到解码设备的输入图像。这里,目标图像可与当前图像具有相同的含义。
在下文中,术语“图像”、“画面”、“帧”和“屏幕”可被用作相同的含义并且彼此替换。
在下文中,目标块可以是作为编码的目标的编码目标块和/或作为解码的目标的解码目标块。此外,目标块可以是作为当前编码和/或解码的目标的当前块。例如,术语“目标块”和“当前块”可被用作相同的含义并且彼此替换。
在下文中,术语“块”和“单元”可被用作相同的含义并且彼此替换。或者“块”可表示特定单元。
在下文中,术语“区域”和“片段”可彼此替换。
在下文中,特定信号可以是表示特定块的信号。例如,原始信号可以是表示目标块的信号。预测信号可以是表示预测块的信号。残差信号可以是表示残差块的信号。
在实施例中,特定信息、数据、标志、索引、元素和属性等中的每一个可具有值。等于“0”的信息、数据、标志、索引、元素和属性的值可表示逻辑假或第一预定义值。换句话说,值“0”、假、逻辑假和第一预定义值可彼此替换。等于“1”的信息、数据、标志、索引、元素和属性的值可表示逻辑真或第二预定义值。换句话说,值“1”、真、逻辑真和第二预定义值可彼此替换。
当变量i或j用于表示列、行或索引时,i的值可以是等于或大于0的整数、或者等于或大于1的整数。也就是说,列、行、索引等可从0开始计数,或者可从1开始计数。
术语说明
编码器:表示执行编码的设备。也就是说,表示编码设备。
解码器:表示执行解码的设备。也就是说,表示解码设备。
块:是M×N的样点阵列。这里,M和N可表示正整数,并且块可表示二维形式的样点阵列。块可指单元。当前块可表示在编码时成为目标的编码目标块,或者在解码时成为目标的解码目标块。此外,当前块可以是编码块、预测块、残差块和变换块中的至少一个。
样点:是构成块的基本单元。根据比特深度(Bd),样点可被表达为从0到2Bd-1的值。在本发明中,样点可被用作像素的含义。也就是说,样点、pel、像素可具有彼此相同的含义。
单元:可指编码和解码单元。当对图像进行编码和解码时,单元可以是通过对单个图像进行分区而产生的区域。此外,当在编码或解码期间将单个图像分区为子划分单元时,单元可表示子划分单元。也就是说,图像可被分区为多个单元。当对图像进行编码和解码时,可针对每一个单元执行预定的处理。单个单元可被分区为尺寸小于该单元的尺寸的子单元。依据功能,单元可表示块、宏块、编码树单元、编码树块、编码单元、编码块、预测单元、预测块、残差单元、残差块、变换单元、变换块等。此外,为了将单元与块区分开,单元可包括亮度分量块、与亮度分量块相关联的色度分量块、以及每一个颜色分量块的语法元素。单元可具有各种尺寸和形状,具体地,单元的可以是二维几何图形,诸如正方形形状、长方形形状、梯形形状、三角形形状、五边形形状等。此外,单元信息可包括指示编码单元、预测单元、变换单元等的单元类型以及单元尺寸、单元深度、单元的编码和解码的顺序等中的至少一个。
编码树单元:被配置有亮度分量Y的单个编码树块、以及与色度分量Cb和Cr相关的两个编码树块。此外,编码树单元可表示包括块和每一个块的语法元素。可通过使用四叉树分区方法、二叉树分区方法和三叉树分区方法中的至少一个对每一个编码树单元进行分区以配置诸如编码单元、预测单元、变换单元等的更低等级的单元。编码树单元可被用作用于指定在对作为输入图像的图像进行编码/解码时成为处理单元的样点块的术语。这里,四叉树可表示四元树。
当编码块的尺寸在预定范围内时,可仅使用四叉树分区进行划分。这里,预定范围可被定义为仅能够使用四叉树分区进行划分的编码块的最大尺寸和最小尺寸中的至少一个。可通过比特流用信号传送指示允许四叉树分区的编码块的最大/最小尺寸的信息,并且可在序列、画面参数、并行块组或条带(片段)中的至少一个单元中用信号传送所述信息。可选地,编码块的最大/最小尺寸可以是编码器/解码器中预定的固定尺寸。例如,当编码块的尺寸与256×256至64×64相应时,可仅使用四叉树分区来进行划分。可选地,当编码块的尺寸大于最大转换块的尺寸时,可仅使用四叉树分区来进行划分。这里,将被划分的块可以是编码块和变换块中的至少一个。在这种情况下,指示编码块的划分的信息(例如,split_flag)可以是指示是否执行四叉树分区的标志。当编码块的尺寸落入预定范围内时,可仅使用二叉树分区或三叉树分区来进行划分。在此情况下,四叉树分区的以上描述可以以相同方式被应用于二叉树分区或三叉树分区。
编码树块:可被用作用于指定Y编码树块、Cb编码树块和Cr编码树块中的任意一个的术语。
邻近块:可表示与当前块相邻的块。与当前块相邻的块可表示与当前块的边界接触的块、或者位于距当前块预定距离内的块。邻近块可表示与当前块的顶点相邻的块。这里,与当前块的顶点相邻的块可表示与水平相邻于当前块的邻近块垂直相邻的块、或者与垂直相邻于当前块的邻近块水平相邻的块。
重建的邻近块:可表示与当前块相邻并且已经在空间/时间上被编码或解码的邻近块。这里,重建的邻近块可表示重建的邻近单元。重建的空间邻近块可以是在当前画面内并且已经通过进行编码或解码或者进行编码和解码两者而被重建的块。重建的时间邻近块是在参考图像内的与当前画面的当前块相应的位置处的块或该块的邻近块。
单元深度:可表示单元的分区程度。在树结构中,最高节点(根节点)可与未被分区的第一单元相应。此外,最高节点可具有最小深度值。在这种情况下,最高节点的深度可以为等级0。深度为等级1的节点可表示通过对第一单元进行一次分区而产生的单元。深度为等级2的节点可表示通过对第一单元进行两次分区而产生的单元。深度为等级n的节点可表示通过对第一单元进行n次分区而产生的单元。叶节点可以是最低节点并且是不能被进一步分区的节点。叶节点的深度可以是最大等级。例如,最大等级的预定义值可以是3。根节点的深度可以是最低的,并且叶节点的深度可以是最深的。此外,当单元被表示为树结构时,单元存在于的等级可表示单元深度。
比特流:可表示包括编码图像信息的比特流。
参数集:与比特流内的配置中的头信息相应。视频参数集、序列参数集、画面参数集和自适应参数集中的至少一个可被包括在参数集中。此外,参数集可包括条带(slice)头、并行块组头和并行块(tile)头信息。术语“并行块组”可表示一组并行块并且具有与条带相同的含义。
自适应参数集可指可通过在不同画面、子画面、条带、并行块组、并行块或分块(brick)中引用而共享的参数集。另外,可通过引用针对画面内部的子画面、条带、并行块组、并行块或分块的不同自适应参数集来使用自适应参数集中的信息。
另外,关于自适应参数集,可通过使用针对画面内部的子画面、条带、并行块组、并行块或分块的不同自适应参数集的标识符来引用不同的自适应参数集。
另外,关于自适应参数集,可通过使用针对子画面内部的条带、并行块组、并行块或分块的不同自适应参数集的标识符来引用不同的自适应参数集。
另外,关于自适应参数集,可通过使用针对条带内部的并行块或分块的不同自适应参数集的标识符来引用不同的自适应参数集。
另外,关于自适应参数集,可通过使用针对并行块内部的分块的不同自适应参数集的标识符来引用不同的自适应参数集。
关于自适应参数集标识符的信息可被包括在子画面的参数集或报头中,并且与自适应参数集标识符相应的自适应参数集可被用于子画面。
关于自适应参数集标识符的信息可被包括在并行块的参数集或报头中,并且与自适应参数集标识符相应的自适应参数集可被用于并行块。
关于自适应参数集标识符的信息可被包括在分块的报头中,并且与自适应参数集标识符相应的自适应参数集可被用于分块。
画面可被分区为一个或更多个并行块行和一个或更多个并行块列。
子画面可被分区为画面内的一个或更多个并行块行和一个或更多个并行块列。子画面可以是画面内具有矩形/正方形形式的区域,并且可包括一个或更多个CTU。另外,至少一个或更多个并行块/分块/条带可被包括在一个子画面内。
并行块可以是画面内具有矩形/正方形形式的区域,并且可包括一个或更多个CTU。另外,并行块可被分区为一个或更多个分块。
分块可指并行块内的一个或更多个CTU行。并行块可被分区为一个或更多个分块,并且每一个分块可具有至少一个或更多个CTU行。未被分区为两个或更多个的并行块可指分块。
条带可包括画面内的一个或更多个并行块,并且可包括并行块内的一个或更多个分块。
解析:可表示通过执行熵解码来确定语法元素的值,或者可表示熵解码本身。
符号:可表示编码/解码目标单元的语法元素、编码参数和变换系数值中的至少一个。此外,符号可表示熵编码目标或熵解码结果。
预测模式:可以是指示利用帧内预测编码/解码的模式或利用帧间预测编码/解码的模式的信息。
预测单元:可表示当执行预测(诸如帧间预测、帧内预测、帧间补偿、帧内补偿和运动补偿)时的基本单元。单个预测单元可被分区为具有更小尺寸的多个分区,或者可被分区为多个更低等级的预测单元。多个分区可以是在执行预测或补偿时的基本单元。通过对预测单元进行划分而产生的分区也可以是预测单元。
预测单元分区:可表示通过对预测单元进行分区而获得的形式
参考画面列表可指包括用于帧间预测或运动补偿的一个或更多个参考画面的列表。存在几种类型的可用参考画面列表,所述可用参考画面列表包括LC(列表组合)、L0(列表0)、L1(列表1)、L2(列表2)、L3(列表3)。
帧间预测指示符可指当前块的帧间预测(单向预测、双向预测等)的方向。可选地,帧间预测指示符可指用于产生当前块的预测块的参考画面的数量。可选地,帧间预测指示符可指在对当前块执行帧间预测或运动补偿时所使用的预测块的数量。
预测列表利用标志指示是否使用特定参考画面列表中的至少一个参考画面来产生预测块。可使用预测列表利用标志来推导帧间预测指示符,并且相反地,可使用帧间预测指示符来推导预测列表利用标志。例如,当预测列表利用标志具有第一值零(0)时,它表示不使用参考画面列表中的参考画面来产生预测块。另一方面,当预测列表利用标志具有第二值一(1)时,它表示使用参考画面列表来产生预测块。
参考画面索引可指指示参考画面列表中的特定参考画面的索引。
参考画面可表示由特定块参考以实现对特定块进行帧间预测或运动补偿的目的的参考画面。可选地,参考画面可以是包括由当前块参考以进行帧间预测或运动补偿的参考块的画面。在下文中,术语“参考画面”和“参考图像”具有相同的含义并且可彼此替换。
运动矢量可以是用于帧间预测或运动补偿的二维矢量。运动矢量可表示编码/解码目标块与参考块之间的偏移。例如,(mvX,mvY)可表示运动矢量。这里,mvX可表示水平分量,并且mvY可表示垂直分量。
搜索范围可以是在帧间预测期间为了检索运动矢量而搜索的二维区域。例如,搜索范围的尺寸可以是M×N。这里,M和N均为整数。
运动矢量候选可指在对运动矢量进行预测时的预测候选块或预测候选块的运动矢量。此外,运动矢量候选可被包括在运动矢量候选列表中。
运动矢量候选列表可表示由一个或更多个运动矢量候选组成的列表。
运动矢量候选索引可表示指示运动矢量候选列表中的运动矢量候选的指示符。可选地,运动矢量候选索引可以是运动矢量预测因子的索引。
运动信息可表示包括以下项中的至少一项的信息:运动矢量、参考画面索引、帧间预测指示符、预测列表利用标志、参考画面列表信息、参考画面、运动矢量候选、运动矢量候选索引、合并候选和合并索引。
合并候选列表可表示由一个或更多个合并候选组成的列表。
合并候选可表示空间合并候选、时间合并候选、组合合并候选、组合双预测合并候选或零合并候选。合并候选可包括运动信息,诸如帧间预测指示符、针对每一个列表的参考画面索引、运动矢量、预测列表利用标志和帧间预测指示符。
合并索引可表示指示在合并候选列表中的合并候选的指示符。可选地,合并索引可指示在空间上/时间上与当前块相邻的重建块中的从其推导合并候选的块。可选地,合并索引可指示合并候选的至少一条运动信息。
变换单元:可表示在对残差信号执行编码/解码(诸如变换、逆变换、量化、反量化、变换系数编码/解码)时的基本单元。单个变换单元可被分区为具有更小尺寸的多个更低等级的变换单元。这里,变换/逆变换可包括第一变换/第一逆变换和第二变换/第二逆变换中的至少一个。
缩放:可表示将量化的等级乘以因子的处理。可通过对量化的等级进行缩放来产生变换系数。缩放也可被称为反量化。
量化参数:可表示当在量化期间使用变换系数来产生量化的等级时使用的值。量化参数还可表示当在反量化期间通过对量化的等级进行缩放来产生变换系数时使用的值。量化参数可以是被映射在量化步长上的值。
增量量化参数:可表示预测的量化参数与编码/解码目标单元的量化参数之间的差值。
扫描:可表示对单元、块或矩阵内的系数进行排序的方法。例如,将系数的二维矩阵改成为一维矩阵的操作可被称为扫描,将系数的一维矩阵改成为二维矩阵的操作可被称为扫描或逆扫描。
变换系数:可表示在编码器中执行变换之后产生的系数值。变换系数可表示在解码器中执行熵解码和反量化中的至少一个之后产生的系数值。通过对变换系数或残差信号进行量化而获得的量化的等级或者量化的变换系数等级也可落入变换系数的含义内。
量化的等级:可表示在编码器中通过对变换系数或残差信号进行量化而产生的值。可选地,量化的等级可表示作为在解码器中将被执行反量化的反量化目标的值。类似地,作为变换和量化的结果的量化的变换系数等级也可落入量化的等级的含义内。
非零变换系数:可表示具有除零之外的值的变换系数、或者具有除零之外的值的变换系数等级或量化的等级。
量化矩阵:可表示在被执行以提高主观图像质量或客观图像质量的量化处理或反量化处理中使用的矩阵。量化矩阵也可被称为缩放列表。
量化矩阵系数:可表示量化矩阵内的每一个元素。量化矩阵系数也可被称为矩阵系数。
默认矩阵:可表示在编码器或解码器中初步定义的预定量化矩阵。
非默认矩阵:可表示在编码器或解码器中未初步定义而是由用户用信号传送的量化矩阵。
统计值:针对具有可计算的特定值的变量、编码参数、常量值等之中的至少一个的统计值可以是相应特定值的平均值、总和值、加权平均值、加权和值、最小值、最大值、最频繁出现的值、中值、插值之中的一个或更多个。
图1是示出根据应用了本发明的实施例的编码设备的配置的框图。
编码设备100可以是编码器、视频编码设备或图像编码设备。视频可包括至少一个图像。编码设备100可顺序地对至少一个图像进行编码。
参照图1,编码设备100可包括运动预测单元111、运动补偿单元112、帧内预测单元120、切换器115、减法器125、变换单元130、量化单元140、熵编码单元150、反量化单元160、逆变换单元170、加法器175、滤波器单元180和参考画面缓冲器190。
编码设备100可通过使用帧内模式或帧间模式或者帧内模式和帧间模式两者来对输入图像执行编码。此外,编码设备100可通过对输入图像进行编码来产生包括编码信息的比特流,并输出产生的比特流。产生的比特流可被存储在计算机可读记录介质中,或者可通过有线/无线传输介质被流传输。当帧内模式被用作预测模式时,切换器115可被切换到帧内。可选地,当帧间模式被用作预测模式时,切换器115可被切换到帧间模式。这里,帧内模式可表示帧内预测模式,帧间模式可表示帧间预测模式。编码设备100可产生针对输入图像的输入块的预测块。此外,编码设备100可在产生预测块之后使用输入块和预测块的残差对残差块进行编码。输入图像可被称为作为当前编码目标的当前图像。输入块可被称为作为当前编码目标的当前块,或者被称为编码目标块。
当预测模式是帧内模式时,帧内预测单元120可使用已被编码/解码并与当前块相邻的块的样点作为参考样点。帧内预测单元120可通过使用参考样点来对当前块执行空间预测,或者通过执行空间预测来产生输入块的预测样点。这里,帧内预测可表示帧内部的预测。
当预测模式是帧间模式时,运动预测单元111可在执行运动预测时从参考图像检索与输入块最匹配的区域,并且通过使用检索到的区域来推导运动矢量。在这种情况下,搜索区域可被用作所述区域。参考图像可被存储在参考画面缓冲器190中。这里,当执行了对参考图像的编码/解码时,参考图像可被存储在参考画面缓冲器190中。
运动补偿单元112可通过使用运动矢量对当前块执行运动补偿来产生预测块。这里,帧间预测可表示帧之间的预测或运动补偿。
当运动矢量的值不是整数时,运动预测单元111和运动补偿单元112可通过将插值滤波器应用于参考画面的部分区域来产生预测块。为了对编码单元执行画面间预测或运动补偿,可确定将跳过模式、合并模式、高级运动矢量预测(AMVP)模式和当前画面参考模式之中的哪个模式用于对包括在相应编码单元中的预测单元的运动预测和运动补偿。然后,依据所确定的模式,可不同地执行画面间预测或运动补偿。
减法器125可通过使用输入块和预测块的差来产生残差块。残差块可被称为残差信号。残差信号可表示原始信号和预测信号之间的差。此外,残差信号可以是通过对原始信号与预测信号之间的差进行变换或量化或者变换和量化而产生的信号。残差块可以是块单元的残差信号。
变换单元130可通过对残差块执行变换来产生变换系数,并输出产生的变换系数。这里,变换系数可以是通过对残差块执行变换而产生的系数值。当变换跳过模式被应用时,变换单元130可跳过对残差块的变换。
可通过将量化应用于变换系数或应用于残差信号来产生量化的等级。在下文中,量化的等级在实施例中也可被称为变换系数。
量化单元140可通过根据参数对变换系数或残差信号进行量化来产生量化的等级,并输出产生的量化的等级。这里,量化单元140可通过使用量化矩阵对变换系数进行量化。
熵编码单元150可通过根据概率分布对由量化单元140计算出的值或者对在执行编码时计算出的编码参数值执行熵编码来产生比特流,并输出产生的比特流。熵编码单元150可对图像的样点信息和用于对图像进行解码的信息执行熵编码。例如,用于对图像进行解码的信息可包括语法元素。
当熵编码被应用时,符号被表示使得较少数量的比特被分配给具有高产生可能性的符号,并且较多数量的比特被分配给具有低产生可能性的符号,因此,可减小用于将被编码的符号的比特流的大小。熵编码单元150可使用诸如指数哥伦布、上下文自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)等的用于熵编码的编码方法。例如,熵编码单元150可通过使用变长编码/码(VLC)表来执行熵编码。此外,熵编码单元150可推导目标符号的二值化方法和目标符号/二进制位的概率模型,并且通过使用推导的二值化方法和上下文模型来执行算术编码。
为了对变换系数等级(量化的等级)进行编码,熵编码单元150可通过使用变换系数扫描方法将二维块形式的系数改成为一维矢量形式。
编码参数可包括在编码器中被编码并且被用信号传送到解码器的诸如语法元素的信息(标志、索引等)以及在执行编码或解码时推导的信息。编码参数可表示在对图像进行编码或解码时所需要的信息。例如,以下项中的至少一个值或组合形式可被包括在编码参数中:单元/块尺寸、单元/块深度、单元/块分区信息、单元/块形状、单元/块分区结构、是否进行四叉树形式的分区、是否进行二叉树形式的分区、二叉树形式的分区方向(水平方向或垂直方向)、二叉树形式的分区形式(对称分区或非对称分区)、当前编码单元是否通过三叉树分区被分区、三叉树分区的方向(水平方向或垂直方向)、三叉树分区的类型(对称类型或非对称类型)、当前编码单元是否通过多类型树分区被分区、多类型树分区的方向(水平方向或垂直方向)、多类型树分区的类型(对称类型或非对称类型)和多类型树分区的树(二叉树或三叉树)结构、预测模式(帧内预测或帧间预测)、亮度帧内预测模式/方向、色度帧内预测模式/方向、帧内分区信息、帧间分区信息、编码块分区标志、预测块分区标志、变换块分区标志、参考样点滤波方法、参考样点滤波器抽头、参考样点滤波器系数、预测块滤波方法、预测块滤波器抽头、预测块滤波器系数、预测块边界滤波方法、预测块边界滤波器抽头、预测块边界滤波器系数、帧内预测模式、帧间预测模式、运动信息、运动矢量、运动矢量差、参考画面索引、帧间预测角度、帧间预测指示符、预测列表利用标志、参考画面列表、参考画面、运动矢量预测因子索引、运动矢量预测因子候选、运动矢量候选列表、是否使用合并模式、合并索引、合并候选、合并候选列表、是否使用跳过模式、插值滤波器类型、插值滤波器抽头、插值滤波器系数、运动矢量尺寸、运动矢量的表示精度、变换类型、变换尺寸、初级(第一次)变换是否被使用的信息、次级变换是否被使用的信息、初级变换索引、次级变换索引、残差信号是否存在的信息、编码块样式、编码块标志(CBF)、量化参数、量化参数残差、量化矩阵、是否应用环内滤波器、环内滤波器系数、环内滤波器抽头、环内滤波器形状/形式、是否应用去块滤波器、去块滤波器系数、去块滤波器抽头、去块滤波器强度、去块滤波器形状/形式、是否应用自适应样点偏移、自适应样点偏移值、自适应样点偏移类别、自适应样点偏移类型、是否应用自适应环内滤波器、自适应环内滤波器系数、自适应环内滤波器抽头、自适应环内滤波器形状/形式、二值化/反二值化方法、上下文模型确定方法、上下文模型更新方法、是否执行常规模式、是否执行旁路模式、上下文二进制位、旁路二进制位、有效系数标志、最后有效系数标志、针对系数组的单元的编码标志、最后有效系数的位置、关于系数的值是否大于1的标志、关于系数的值是否大于2的标志、关于系数的值是否大于3的标志、关于剩余系数值的信息、正负号信息、重建的亮度样点、重建的色度样点、残差亮度样点、残差色度样点、亮度变换系数、色度变换系数、量化的亮度等级、量化的色度等级、变换系数等级扫描方法、在解码器侧的运动矢量搜索区域的尺寸、在解码器侧的运动矢量搜索区域的形状、在解码器侧的运动矢量搜索的次数、关于CTU尺寸的信息、关于最小块尺寸的信息、关于最大块尺寸的信息、关于最大块深度的信息、关于最小块深度的信息、图像显示/输出顺序、条带标识信息、条带类型、条带分区信息、并行块标识信息、并行块类型、并行块分区信息、并行块组标识信息、并行块组类型、并行块组分区信息画面类型、输入样点的比特深度、重建样点的比特深度、残差样点的比特深度、变换系数的比特深度、量化的等级的比特深度、以及关于亮度信号的信息或关于色度信号的信息。
这里,用信号传送标志或索引可表示由编码器对相应的标志或索引进行熵编码并将其包括在比特流中,并且可表示由解码器从比特流对相应的标志或索引进行熵解码。
当编码设备100通过帧间预测执行编码时,编码的当前图像可被用作用于随后被处理的另一图像的参考图像。因此,编码设备100可对编码的当前图像进行重建或解码,或者将重建的或解码的图像作为参考图像存储在参考画面缓冲器190中。
量化的等级可在反量化单元160中被反量化,或者可在逆变换单元170中被逆变换。可由加法器175将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加。通过将经过反量化或逆变换的系数或者经过反量化和逆变换两者的系数与预测块相加,可产生重建块。这里,经过反量化或逆变换的系数或经过反量化和逆变换两者的系数可表示执行了反量化和逆变换中的至少一个的系数,并且可表示重建的残差块。
重建块可通过滤波器单元180。滤波器单元180可将去块滤波器、样点自适应偏移(SAO)和自适应环内滤波器(ALF)中的至少一个应用于重建样点、重建块或重建图像。滤波器单元180可被称为环内滤波器。
去块滤波器可去除在块之间的边界中产生的块失真。为了确定是否应用去块滤波器,可基于块中所包括的若干行或列中包括的样点来确定是否将去块滤波器应用于当前块。当将去块滤波器应用于块时,可根据所需的去块滤波强度来应用另一滤波器。
为了补偿编码误差,可通过使用样点自适应偏移将合适的偏移值与样点值相加。样点自适应偏移可以以样点为单位对经过去块的图像与原始图像的偏移进行校正。可使用考虑关于每一个样点的边缘信息来应用偏移的方法,或者可使用以下方法:将图像的样点分区为预定数量的区域,确定偏移被应用的区域,并对确定的区域应用偏移。
自适应环路滤波器可基于经过滤波的重建图像和原始图像的比较结果来执行滤波。可将包括在图像中的样点分区为预定组,可确定将被应用于每一个组的滤波器,并且可对每一个组执行差异化滤波。是否应用ALF的信息可通过编码单元(CU)被用信号传送,并且将被应用于每一个块的ALF的形式和系数可变化。
已经通过滤波器单元180的重建块或重建图像可被存储在参考画面缓冲器190中。由滤波器单元180处理的重建块可以是参考图像的一部分。也就是说,参考图像是由通过滤波器单元180处理的重建块组成的重建图像。存储的参考图像可稍后在帧间预测或运动补偿时被使用。
图2是示出根据应用了本发明的实施例的解码设备的配置的框图。
解码设备200可以是解码器、视频解码设备或图像解码设备。
参照图2,解码设备200可包括熵解码单元210、反量化单元220、逆变换单元230、帧内预测单元240、运动补偿单元250、加法器225、滤波器单元260和参考画面缓冲器270。
解码设备200可接收从编码设备100输出的比特流。解码设备200可接收存储在计算机可读记录介质中的比特流,或者可接收通过有线/无线传输介质流传输的比特流。解码设备200可通过使用帧内模式或帧间模式对比特流进行解码。另外,解码设备200可产生通过解码产生的重建图像或解码图像,并输出重建图像或解码图像。
当在解码时使用的预测模式是帧内模式时,可以将开关切换到帧内。或者,在解码时使用的预测模式为帧间模式的情况下,也可以将开关切换到帧间模式。
解码设备200可通过对输入比特流进行解码来获得重建的残差块,并产生预测块。当获得重建的残差块和预测块时,解码设备200可通过将重建的残差块与预测块相加来产产生为解码目标的重建块。解码目标块可被称为当前块。
熵解码单元210可通过根据概率分布对比特流进行熵解码来产生符号。所产生的符号可包括量化电平形式的符号。这里,熵解码方法可以是上述熵编码方法的逆过程。
为了对变换系数等级(量化的等级)进行解码,熵解码单元210可通过使用变换系数扫描方法将单向矢量形式的系数改成为二维块形式。
可在反量化单元220中对量化的等级进行反量化,或者可在逆变换单元230中对量化的等级进行逆变换。量化的等级可以是进行反量化或逆变换或者进行反量化和逆变换两者的结果,并且可被产生为重建的残差块。这里,反量化单元220可将量化矩阵应用于量化的等级。
当使用帧内模式时,帧内预测单元240可通过对当前块执行空间预测来产生预测块,其中,空间预测使用与解码目标块相邻并且已经被解码的块的样点值。
当使用帧间模式时,运动补偿单元250可通过对当前块执行运动补偿来产生预测块,其中,运动补偿使用运动矢量以及存储在参考画面缓冲器270中的参考图像。
加法器225可通过将重建的残差块与预测块相加来产生重建块。滤波器单元260可将去块滤波器、样点自适应偏移和自适应环内滤波器中的至少一个应用于重建块或重建图像。滤波器单元260可输出重建图像。重建块或重建图像可被存储在参考画面缓冲器270中并且在执行帧间预测时被使用。由滤波器单元260处理的重建块可以是参考图像的一部分。也就是说,参考图像是由通过滤波器单元260处理的重建块组成的重建图像。存储的参考图像可稍后在帧间预测或运动补偿时被使用。
图3是示意性地示出当对图像进行编码和解码时的图像的分区结构的示图。图3示意性地示出将单个单元分区为多个更低等级的单元的示例。
为了有效地对图像进行分区,当进行编码和解码时,可使用编码单元(CU)。编码单元可被用作当对图像进行编码/解码时的基本单元。此外,编码单元可被用作用于在对图像进行编码/解码时区分帧内预测模式与帧间预测模式的单元。编码单元可以是用于预测、变换、量化、逆变换、反量化或对变换系数的编码/解码处理的基本单元。
参照图3,图像300按照最大编码单元(LCU)被顺序地分区,并且LCU单元被确定为分区结构。这里,LCU可以以与编码树单元(CTU)相同的含义被使用。单元分区可表示对与该单元相关联的块进行分区。在块分区信息中,可包括单元深度的信息。深度信息可表示单元被分区几次或程度或者单元被分区几次和程度两者。可基于树结构将单个单元分区为与深度信息分层地相关联的多个更低等级的单元。换句话说,单元和通过对该单元进行分区而产生的更低等级的单元可分别与节点和该节点的子节点相应。分区出的更低等级的单元中的每一个可具有深度信息。深度信息可以是表示CU的尺寸的信息,并且可被存储在每一个CU中。单元深度表示与对单元进行分区相关的次数和/或程度。因此,更低等级的单元的分区信息可包括关于更低等级的单元的尺寸的信息。
分区结构可表示编码单元(CU)在LCU 310内的分布。可根据是否将单个CU分区为多个(等于或大于2的正整数个,包括2、4、8、16等)CU来确定这样的分布。通过分区产生的CU的水平尺寸和垂直尺寸可分别是分区之前的CU的水平尺寸和垂直尺寸的一半,或者可分别具有根据分区的次数而小于分区之前的水平尺寸和垂直尺寸的尺寸。CU可以被递归地分区为多个CU。通过递归分区,与分区之前的CU的高度和宽度之中的至少一个相比,分区之后的CU的高度和宽度之中的至少一个可减小。可递归地执行CU的分区,直到预定义的深度或预定义的尺寸为止。例如,LCU的深度可以是0,最小编码单元(SCU)的深度可以是预定义的最大深度。这里,如上所述,LCU可以是具有最大编码单元尺寸的编码单元,并且SCU可以是具有最小编码单元尺寸的编码单元。分区从LCU 310开始,随着CU的水平尺寸或垂直尺寸或者水平尺寸和垂直尺寸两者通过分区而减小,CU深度增加1。例如,对于每一个深度,未被分区的CU的尺寸可以为2N×2N。此外,在被分区的CU的情况下,可将尺寸为2N×2N的CU分区为尺寸为N×N的四个CU。随着深度增加1,N的大小可减半。
此外,可通过使用CU的分区信息来表示CU是否被分区的信息。分区信息可以是1比特信息。除SCU之外的所有CU可包括分区信息。例如,当分区信息的值为第一值时,可不对CU进行分区,当分区信息的值为第二值时,可对CU进行分区。
参照图3,深度为0的LCU可以是64×64的块。0可以是最小深度。深度为3的SCU可以是8×8的块。3可以是最大深度。32×32的块和16×16的块的CU可分别被表示为深度1和深度2。
例如,当单个编码单元被分区为四个编码单元时,分区出的四个编码单元的水平尺寸和垂直尺寸可以是CU在被分区之前的水平尺寸和垂直尺寸的一半尺寸。在一个实施例中,当尺寸为32×32的编码单元被分区为四个编码单元时,分区出的四个编码单元中的每一个的尺寸可以为16×16。当单个编码单元被分区为四个编码单元时,可称编码单元可被分区为四叉树形式。
例如,当一个编码单元被分区为两个子编码单元时,该两个子编码单元中的每一个的水平尺寸或垂直尺寸(宽度或高度)可以是原始编码单元的水平尺寸或垂直尺寸的一半。例如,当尺寸为32×32的编码单元被垂直分区为两个子编码单元时,该两个子编码单元中的每一个可具有16×32的尺寸。例如,当尺寸为8×32的编码单元被水平分区为两个子编码单元时,该两个子编码单元中的每一个可具有8×16的尺寸。当一个编码单元被分区为两个子编码单元时,可称编码单元被二分区,或者根据二叉树分区结构被分区。
例如,当一个编码单元被分区为三个子编码单元时,可按照1:2:1的比例对编码单元的水平尺寸或垂直尺寸进行分区,从而产生水平尺寸或垂直尺寸的比例为1:2:1的三个子编码单元。例如,当尺寸为16×32的编码单元被水平分区为三个子编码单元时,该三个子编码单元以从最上方子编码单元到最下方子编码单元的顺序可分别具有16×8、16×16和16×8的尺寸。例如,当尺寸为32×32的编码单元被垂直划分为三个子编码单元时,该三个子编码单元以从左侧子编码单元到右侧子编码单元的顺序可分别具有8×32、16×32和8×32的尺寸。当一个编码单元被分区为三个子编码单元时,可称编码单元被三分区或者根据三叉树分区结构被分区。
在图3中,编码树单元(CTU)320是四叉树分区结构、二叉树分区结构和三叉树分区结构全部被应用的CTU的示例。
如上所述,为了对CTU进行分区,可应用四叉树分区结构、二叉树分区结构和三叉树分区结构中的至少一个。可根据预定的优先级顺序将各种树分区结构顺序地应用于CTU。例如,可将四叉树分区结构优先应用于CTU。不能再使用四叉树分区结构进行分区的编码单元可与四叉树的叶节点相应。与四叉树的叶节点相应的编码单元可用作二叉树和/或三叉树分区结构的根节点。也就是说,与四叉树的叶节点相应的编码单元可根据二叉树分区结构或三叉树分区结构被进一步分区,或者可不被进一步分区。因此,通过阻止从与四叉树的叶节点相应的编码单元的二叉树分区或三叉树分区得到的编码单元被执行进一步的四叉树分区,块分区操作和/或用信号传送分区信息的操作可被有效执行。
可使用四分区信息用信号传送与四叉树的节点相应的编码单元被分区的事实。具有第一值(例如,“1”)的四分区信息可指示当前编码单元按照四叉树分区结构被分区。具有第二值(例如,“0”)的四分区信息可指示当前编码单元不按照四叉树分区结构被分区。四分区信息可以是具有预定长度(例如,一个比特)的标志。
在二叉树分区与三叉树分区之间可没有优先级。也就是说,与四叉树的叶节点相应的编码单元可进一步被执行二叉树分区和三叉树分区中的任意分区。此外,通过二叉树分区或三叉树分区产生的编码单元可被执行进一步的二叉树分区或进一步的三叉树分区,或者可不被进一步分区。
在二叉树分区和三叉树分区之间不存在优先级的树结构被称为多类型树结构。与四叉树的叶节点相应的编码单元可用作多类型树的根节点。可使用多类型树分区指示信息、分区方向信息和分区树信息中的至少一个来用信号传送是否对与多类型树的节点相应的编码单元进行分区。为了对与多类型树的节点相应的编码单元进行分区,可顺序地用信号传送多类型树分区指示信息、分区方向信息和分区树信息。
具有第一值(例如,“1”)的多类型树分区指示信息可指示当前编码单元将被执行多类型树分区。具有第二值(例如,“0”)的多类型树分区指示信息可指示当前编码单元将不被执行多类型树分区。
当与多类型树的节点相应的编码单元按照多类型树分区结构被进一步分区时,所述编码单元可包括分区方向信息。分区方向信息可指示当前编码单元将在哪个方向上根据多类型树分区被分区。具有第一值(例如,“1”)的分区方向信息可指示当前编码单元将被垂直分区。具有第二值(例如,“0”)的分区方向信息可指示当前编码单元将被水平分区。
当与多类型树的节点相应的编码单元按照多类型树分区结构被进一步分区时,当前编码单元可包括分区树信息。分区树信息可指示将被用于对多类型树的节点进行分区的树分区结构。具有第一值(例如,“1”)的分区树信息可指示当前编码单元将按照二叉树分区结构被分区。具有第二值(例如,“0”)的分区树信息可指示当前编码单元将按照三叉树分区结构被分区。
分区指示信息、分区树信息和分区方向信息均可以是具有预定长度(例如,一个比特)的标志。
四叉树分区指示信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个可被熵编码/熵解码。为了对那些类型的信息进行熵编码/熵解码,可使用关于与当前编码单元相邻的邻近编码单元的信息。例如,当前编码单元的左侧邻近编码单元和/或上方邻近编码单元的分区类型(被分区或不被分区、分区树和/或分区方向)与当前编码单元的分区类型相似的可能性很高。因此,可从关于邻近编码单元的信息推导用于对关于当前编码单元的信息进行熵编码/熵解码的上下文信息。关于邻近编码单元的信息可包括四分区信息、多类型树分区指示信息、分区方向信息和分区树信息中的至少任意一个。
作为另一示例,在二叉树分区和三叉树分区中,可优先执行二叉树分区。也就是说,当前编码单元可首先被执行二叉树分区,并且随后可将与二叉树的叶节点相应的编码单元设置为用于三叉树分区的根节点。在这种情况下,对于与三叉树的节点相应的编码单元,可既不执行四叉树分区也不执行二叉树分区。
不能按照四叉树分区结构、二叉树分区结构和/或三叉树分区结构被分区的编码单元成为用于编码、预测和/或变换的基本单元。也就是说,所述编码单元不能被进一步分区以用于预测和/或变换。因此,在比特流中可不存在用于将编码单元分区为预测单元和/或变换单元的分区结构信息和分区信息。
然而,当编码单元(即,用于分区的基本单元)的尺寸大于最大变换块的尺寸时,可递归地对该编码单元进行分区,直到将该编码单元的尺寸减小到等于或小于最大变换块的尺寸为止。例如,当编码单元的尺寸为64×64时并且当最大变换块的尺寸为32×32时,可将该编码单元分区为用于变换的四个32×32的块。例如,当编码单元的尺寸为32×64并且最大变换块的尺寸为32×32时,可将该编码单元分区为用于变换的两个32×32的块。在这种情况下,不单独用信号传送编码单元的用于变换的分区,并且可通过编码单元的水平尺寸或垂直尺寸与最大变换块的水平尺寸或垂直尺寸之间的比较来确定编码单元的用于变换的分区。例如,当编码单元的水平尺寸(宽度)大于最大变换块的水平尺寸(宽度)时,可将该编码单元垂直地二等分。例如,当编码单元的垂直尺寸(高度)大于最大变换块的垂直尺寸(高度)时,可将该编码单元水平地二等分。
可在编码单元的更高等级用信号传送或确定编码单元的最大尺寸和/或最小尺寸的信息以及变换块的最大尺寸和/或最小尺寸的信息。所述更高等级可以是例如序列级、画面级、条带级、并行块组级、并行块级等。例如,可将编码单元的最小尺寸确定为4×4。例如,可将变换块的最大尺寸确定为64×64。例如,可将变换块的最小尺寸确定为4×4。
可在编码单元的更高等级用信号传送或确定与四叉树的叶节点相应的编码单元的最小尺寸(四叉树最小尺寸)的信息和/或多类型树的从根节点到叶节点的最大深度(多类型树的最大树深度)的信息。例如,所述更高等级可以是序列级、画面级、条带级、并行块组级、并行块级等。可针对帧内画面条带和画面间条带中的每一个用信号传送或确定四叉树的最小尺寸的信息和/或多类型树的最大深度的信息。
可在编码单元的更高等级用信号传送或确定CTU的尺寸与变换块的最大尺寸之间的差信息。例如,所述更高等级可以是序列级、画面级、条带级、并行块组级、并行块级等。可基于编码树单元的尺寸和所述差信息来确定与二叉树的各个节点相应的编码单元的最大尺寸(在下文中,称为二叉树的最大尺寸)的信息。与三叉树的各个节点相应的编码单元的最大尺寸(在下文中,称为三叉树的最大尺寸)可依据条带的类型而变化。例如,针对帧内画面条带,三叉树的最大尺寸可以是32×32。例如,针对画面间条带,三叉树的最大尺寸可以是128×128。例如,可将与二叉树的各个节点相应的编码单元的最小尺寸(在下文中,称为二叉树的最小尺寸)和/或与三叉树的各个节点相应的编码单元的最小尺寸(在下文中,称为三叉树的最小尺寸)设置为编码块的最小尺寸。
作为另一示例,可在条带级用信号传送或确定二叉树的最大尺寸和/或三叉树的最大尺寸。可选地,可在条带级用信号传送或确定二叉树的最小尺寸和/或三叉树的最小尺寸。
依据上述各种块的尺寸信息和深度信息,四分区信息、多类型树分区指示信息、分区树信息和/或分区方向信息可被包括在比特流中或可不被包括在比特流中。
例如,当编码单元的尺寸不大于四叉树的最小尺寸时,该编码单元不包括四分区信息。四分区信息可被推导为第二值。
例如,当与多类型树的节点相应的编码单元的尺寸(水平尺寸和垂直尺寸)大于二叉树的最大尺寸(水平尺寸和垂直尺寸)和/或三叉树的最大尺寸(水平尺寸和垂直尺寸)时,该编码单元可不被二分区或三分区。因此,可不用信号传送多类型树分区指示信息,而是多类型树分区指示信息可被推导为第二值。
可选地,当与多类型树的节点相应的编码单元的尺寸(水平尺寸和垂直尺寸)与二叉树的最大尺寸(水平尺寸和垂直尺寸)相同,和/或是三叉树的最大尺寸(水平尺寸和垂直尺寸)的两倍大时,该编码单元可不进一步被二分区或三分区。因此,可不用信号传送多类型树分区指示信息,而是多类型树分区指示信息可被推导为第二值。这是因为,当按照二叉树分区结构和/或三叉树分区结构对编码单元进行分区时,产生了小于二叉树的最小尺寸和/或三叉树的最小尺寸的编码单元。
可选地,可基于虚拟管线数据单元的尺寸(在下文中,管线缓冲器大小)来限制二叉树分区或三叉树分区。例如,当通过二叉树分区或三叉树分区将编码单元划分为不适合管线缓冲器大小的子编码单元时,相应的二叉树分区或三叉树分区可能受到限制。管线缓冲器大小可以是最大变换块的尺寸(例如,64×64)。例如,当管线缓冲器大小是64×64时,可限制下面的划分。
-针对编码单元的N×M(N和/或M是128)三叉树分区
-针对编码单元的沿水平方向的128×N(N<=64)二叉树分区
-针对编码单元的沿垂直方向的N×128(N<=64)二叉树分区
可选地,当与多类型树的节点相应的编码单元的深度等于多类型树的最大深度时,可不对该编码单元进一步进行二分区和/或三分区。因此,可不用信号传送多类型树分区指示信息,而是多类型树分区指示信息可被推断为第二值。
可选地,只有当垂直方向二叉树分区、水平方向二叉树分区、垂直方向三叉树分区和水平方向三叉树分区中的至少一个对于与多类型树的节点相应的编码单元是可行的时,才可用信号传送多类型树分区指示信息。否则,可不对该编码单元进行二分区和/或三分区。因此,可不用信号传送多类型树分区指示信息,而是多类型树分区指示信息可被推断为第二值。
可选地,只有当垂直方向二叉树分区和水平方向二叉树分区两者或者垂直方向三叉树分区和水平方向三叉树分区两者对于与多类型树的节点相应的编码单元是可行的时,才可用信号传送分区方向信息。否则,可不用信号传送分区方向信息,而是分区方向信息可被推导为指示可能的分区方向的值。
可选地,只有当垂直方向二叉树分区和垂直方向三叉树分区两者或者水平方向二叉树分区和水平方向三叉树分区两者对于与多类型树的节点相应的编码树是可行的时,才可用信号传送分区树信息。否则,可不用信号传送分区树信息,而是分区树信息可被推导为指示可能的分区树结构的值。
图4是示出帧内预测处理的示图。
图4中的从中心到外部的箭头可表示帧内预测模式的预测方向。
可通过使用当前块的邻近块的参考样点来执行帧内编码和/或解码。邻近块可以是重建的邻近块。例如,可通过使用包括在重建的邻近块中的参考样点的编码参数或值来执行帧内编码和/或解码。
预测块可表示通过执行帧内预测产生的块。预测块可与CU、PU和TU中的至少一个相应。预测块的单元可具有CU、PU和TU中的一个的尺寸。预测块可以是尺寸为2×2、4×4、16×16、32×32或64×64等的正方形块,或者可以是尺寸为2×8、4×8、2×16、4×16和8×16等的矩形块。
可根据针对当前块的帧内预测模式来执行帧内预测。当前块可具有的帧内预测模式的数量可以是固定值,并且可以是根据预测块的属性不同地确定的值。例如,预测块的属性可包括预测块的尺寸和预测块的形状等。
不管块尺寸为多少,可将帧内预测模式的数量固定为N。可选地,帧内预测模式的数量可以是3、5、9、17、34、35、36、65或67等。可选地,帧内预测模式的数量可根据块尺寸或颜色分量类型或者块尺寸和颜色分量类型两者而变化。例如,帧内预测模式的数量可根据颜色分量是亮度信号还是色度信号而变化。例如,随着块尺寸变大,帧内预测模式的数量可增加。可选地,亮度分量块的帧内预测模式的数量可大于色度分量块的帧内预测模式的数量。
帧内预测模式可以是非角度模式或角度模式。非角度模式可以是DC模式或平面(planar)模式,并且角度模式可以是具有特定方向或角度的预测模式。帧内预测模式可由模式编号、模式值、模式数字、模式角度和模式方向中的至少一个来表示。帧内预测模式的数量可以是大于1的M,包括非角度模式和角度模式。为了对当前块进行帧内预测,可执行确定是否可将包括在重建的邻近块中的样点用作当前块的参考样点的步骤。当存在不能用作当前块的参考样点的样点时,通过对包括在重建的邻近块中的样点中的至少一个样点值进行复制或执行插值或者执行复制和插值两者而获得的值可被用于替换样点的不可用样点值,因此,经过替换的样点值被用作当前块的参考样点。
图7是示出能够用于帧内预测的参考样点的示图。
如在图7中所示出的,参考样点线0至参考样点线3中的至少一个可被用于当前块的帧内预测。在图7中,片段A和片段F的样点可分别用最接近片段B和片段E的样点来填充,来代替从重建的邻近块检索。可用信号传送指示将被用于当前块的帧内预测的参考样点线的索引信息。例如,在图7中,可用信号传送参考样点线指示符0、1和2作为指示参考样点线0、1和2的索引信息。在当前块的上方边界是CTU的边界时,仅参考样点线0可以是可用的。因此,在这种情况下,可以不用信号传送索引信息。当使用除了参考样点线0之外的参考样点线时,可以不执行稍后将描述的针对预测块的滤波。
当进行帧内预测时,可基于帧内预测模式和当前块尺寸将滤波器应用于参考样点和预测样点中的至少一个。
在平面模式的情况下,当产生当前块的预测块时,根据预测目标样点在预测块内的位置,可通过使用当前块的上侧参考样点与左侧参考样点以及当前块的右上侧参考样点与左下侧参考样点的加权和来产生预测目标样点的样点值。此外,在DC模式的情况下,当产生当前块的预测块时,可使用当前块的上侧参考样点与左侧参考样点的平均值。此外,在角度模式的情况下,可通过使用当前块的上侧参考样点、左侧参考样点、右上侧参考样点和/或左下侧参考样点来产生预测块。为了产生预测样点值,可执行实数单位的插值。
在颜色分量之间的帧内预测的情况下,可基于第一颜色分量的相应重建块来产生当前块的第二颜色分量的预测块。例如,第一颜色分量可以是亮度分量,并且第二颜色分量可以是色度分量。对于颜色分量之间的帧内预测,可基于模板推导第一颜色分量与第二颜色分量之间的线性模型的参数。模板可包括当前块的上方邻近样点和/或左侧邻近样点以及与其相应的第一颜色分量的重建块的上方邻近样点和/或左侧邻近样点。例如,可使用模板中的样点中的具有最大值的第一颜色分量的样点值和与其相应的第二颜色分量的样点值、以及模板中的样点中的具有最小值的第一颜色分量的样点值和与其相应的第二颜色分量的样点值推导线性模型的参数。当推导线性模型的参数时,可将相应重建块应用于线性模型以产生当前块的预测块。根据视频格式,可对第一颜色分量的重建块的邻近样点和相应重建块执行子采样。例如,当第二颜色分量的一个样点与第一颜色分量的四个样点相应时,可对第一颜色分量的四个样点进行子采样以计算一个相应样点。在此情况下,可基于相应子采样的样点执行线性模型的参数推导和颜色分量之间的帧内预测。可将是否执行颜色分量之间的帧内预测和/或模板的范围用信号传送为帧内预测模式。
可沿水平方向或垂直方向将当前块分区为两个或四个子块。可顺序地重建分区出的子块。也就是说,可对子块执行帧内预测以产生子预测块。另外,可对子块执行反量化和/或逆变换以产生子残差块。可通过将子预测块与子残差块相加来产生重建的子块。重建的子块可被用作子子块的帧内预测的参考样点。子块可以是包括预定数量(例如,16)或更多个样点的块。因此,例如,在当前块是8×4块或4×8块时,可将当前块分区为两个子块。此外,在当前块为4×4块时,可以不将当前块分区为子块。在当前块具有其它尺寸时,可将当前块分区为四个子块。可用信号传送关于是否基于子块和/或分区方向(水平或垂直)执行帧内预测的信息。基于子块的帧内预测可限于仅在使用参考样点线0时执行。当执行基于子块的帧内预测时,可以不执行稍后将描述的针对预测块的滤波。
可通过对帧内预测的预测块执行滤波来产生最终预测块。可通过将预定权重应用于滤波目标样点、左侧参考样点、上方参考样点和/或左上方参考样点来执行滤波。可基于块尺寸、帧内预测模式和预测块中的滤波目标样点的位置中的至少一个来确定用于滤波的权重和/或参考样点(范围、位置等)。可仅在预定帧内预测模式(例如,DC、平面、垂直、水平、对角线和/或相邻对角线模式)的情况下执行滤波。相邻对角线模式可以是将对角线模式与k相加或将对角线模式与k相减的模式。例如,k可以是8或更小的正整数。
可通过预测与当前块相邻存在的块的帧内预测模式来对当前块的帧内预测模式进行熵编码/熵解码。在当前块与邻近块的帧内预测模式相同时,可通过使用预定标志信息来用信号传送当前块与邻近块的帧内预测模式相同的信息。此外,可用信号传送多个邻近块的帧内预测模式中的与当前块的帧内预测模式相同的帧内预测模式的指示符信息。在当前块与邻近块的帧内预测模式不同时,可通过基于邻近块的帧内预测模式执行熵编码/熵解码来对当前块的帧内预测模式信息进行熵编码/熵解码。
图5是示出画面间预测处理的实施例的示图。
在图5中,矩形可表示画面。在图5中,箭头表示预测方向。根据画面的编码类型,可将画面分类为帧内画面(I画面)、预测画面(P画面)和双预测画面(B画面)。
可在不需要画面间预测的情况下通过帧内预测对I画面进行编码。可通过使用在相对于当前块的一个方向(即,前向或后向)上存在的参考画面,通过画面间预测来对P画面进行编码。可通过使用在相对于当前块的两个方向(即,前向和后向)上预设的参考画面,通过画面间预测来对B画面进行编码。当使用画面间预测时,编码器可执行画面间预测或运动补偿,并且解码器可执行相应的运动补偿。
在下文中,将对画面间预测的实施例进行详细描述。
可使用参考画面和运动信息来执行画面间预测或运动补偿。
可通过编码设备100和解码设备200中的每一个在画面间预测期间推导当前块的运动信息。可通过使用重建的邻近块的运动信息、同位块(也称为col块或共同定位块)的运动信息和/或与同位块相邻的块的运动信息来推导当前块的运动信息。同位块可表示先前重建的同位画面(也称为col画面或共同定位画面)内的在空间上与当前块位于相同位置的块。同位画面可以是包括在参考画面列表中的一个或更多个参考画面中的一个画面。
运动信息的推导方法可取决于当前块的预测模式而不同。例如,应用于帧间预测的预测模式包括AMVP模式、合并模式、跳过模式、具有运动矢量差的合并模式、子块合并模式、几何分区模式、组合帧间帧内预测模式、仿射模式等。这里,合并模式可被称为运动合并模式。
例如,当AMVP被用作预测模式时,可将重建的邻近块的运动矢量、同位块的运动矢量、与同位块相邻的块的运动矢量和(0,0)运动矢量中的至少一个确定为针对当前块的运动矢量候选,并且通过使用运动矢量候选产生运动矢量候选列表。可通过使用产生的运动矢量候选列表来推导当前块的运动矢量候选。可基于推导的运动矢量候选来确定当前块的运动信息。同位块的运动矢量或与同位块相邻的块的运动矢量可被称为时间运动矢量候选,并且重建的邻近块的运动矢量可被称为空间运动矢量候选。
编码设备100可计算当前块的运动矢量与运动矢量候选之间的运动矢量差(MVD),并且可对运动矢量差(MVD)执行熵编码。此外,编码设备100可对运动矢量候选索引执行熵编码并产生比特流。运动矢量候选索引可指示包括在运动矢量候选列表中的运动矢量候选中的最佳运动矢量候选。解码设备可对包括在比特流中的运动矢量候选索引执行熵解码,并且可通过使用经过熵解码的运动矢量候选索引从包括在运动矢量候选列表中的运动矢量候选中选择解码目标块的运动矢量候选。此外,解码设备200可将经过熵解码的MVD与通过熵解码而提取的运动矢量候选相加,从而推导解码目标块的运动矢量。
另外,编码设备100可对计算出的MVD的分辨率信息执行熵编码。解码设备200可使用MVD分辨率信息来调整熵解码的MVD的分辨率。
另外,编码设备100基于仿射模型计算当前块中的运动矢量与候选运动矢量之间的运动矢量差(MVD),并对MVD执行熵编码。解码设备200通过经由熵解码的MVD和仿射控制运动矢量候选的总和推导解码目标块的仿射控制运动矢量,来基于每一个子块推导运动矢量。
比特流可包括指示参考画面的参考画面索引。参考画面索引可通过编码设备100被熵编码,并且随后作为比特流被用信号传送到解码设备200。解码设备200可基于推导的运动矢量和参考画面索引信息来产生解码目标块的预测块。
推导当前的运动信息的方法的另一示例可以是合并模式。合并模式可表示合并多个块的运动的方法。合并模式可表示从邻近块的运动信息推导当前块的运动信息的模式。当应用合并模式时,可使用重建的邻近块的运动信息和/或同位块的运动信息来产生合并候选列表。运动信息可包括运动矢量、参考画面索引和画面间预测指示符中的至少一个。预测指示符可指示单向预测(L0预测或L1预测)或双向预测(L0预测和L1预测)。
合并候选列表可以是所存储的运动信息的列表。包括在合并候选列表中的运动信息可以是以下各项中的至少一个:与当前块相邻的邻近块的运动信息(空间合并候选)、在参考画面中的与当前块同位的块的运动信息(时间合并候选)、通过存在于合并候选列表中的运动信息的组合产生的新运动信息、作为在当前块之前被编码/解码的块的运动信息(基于历史的合并候选)和零合并候选。
编码设备100可通过对合并标志和合并索引中的至少一个执行熵编码来产生比特流,并且可将比特流用信号传送到解码设备200。合并标志可以是指示是否针对每一个块执行合并模式的信息,并且合并索引可以是指示当前块的邻近块中的哪个邻近块是合并目标块的信息。例如,当前块的邻近块可包括在当前块的左侧的左侧邻近块、被布置在当前块上方的上方邻近块和在时间上与当前块相邻的时间邻近块。
另外,编码设备100对合并候选的运动信息中的用于校正运动矢量的校正信息执行熵编码,并将其用信号传送给解码设备200。解码设备200可基于校正信息校正由合并索引选择的合并候选的运动矢量。这里,校正信息可包括关于是否执行校正的信息、校正方向信息和校正大小信息中的至少一个。如上所述,基于用信号传送的校正信息校正合并候选的运动矢量的预测模式可被称为具有运动矢量差的合并模式。
跳过模式可以是将邻近块的运动信息按照原样应用于当前块的模式。当应用跳过模式时,编码设备100可对哪个块的运动信息将被用作当前块的运动信息的事实的信息执行熵编码以产生比特流,并且可将比特流用信号传送到解码设备200。编码设备100可不将关于运动矢量差信息、编码块标志和变换系数等级中的至少任意一个的语法元素用信号传送到解码设备200。
子块合并模式可表示以编码块(CU)的子块为单位推导运动信息的模式。当应用子块合并模式时,可使用参考图像中的与当前子块同位的子块的运动信息(基于子块的时间合并候选)和/或仿射控制点运动矢量合并候选来产生子块合并候选列表。
几何分区模式可表示通过将当前块分区为预定方向来推导运动信息、使用所推导出的运动信息中的每一个来推导每一个预测样点、并且通过对所推导出的预测样点中的每一个进行加权来推导当前块的预测样点的模式。
帧间-帧内组合预测模式可表示通过对由帧间预测产生的预测样点和由帧内预测产生的预测样点进行加权来推导当前块的预测样点的模式。
解码设备200可自行校正推导的运动信息。解码设备200可基于由推导出的运动信息指示的参考块搜索预定区域,并且推导具有最小SAD的运动信息作为校正的运动信息。
解码设备200可使用光流补偿经由帧间预测推导出的预测样点。
图6是示出变换和量化处理的示图。
如在图6中所示出的,对残差信号执行变换处理和/或量化处理以产生量化的等级信号。残差信号是原始块与预测块(即,帧内预测块或帧间预测块)之间的差。预测块是通过帧内预测或帧间预测产生的块。变换可以是初级变换、次级变换或者初级变换和次级变换两者。对残差信号进行初级变换产生变换系数,并且对该变换系数进行次级变换产生次级变换系数。
从各种预先定义的变换方案中选择的至少一种方案用于执行初级变换。例如,预定义的变换方案的示例包括离散余弦变换(DCT)、离散正弦变换(DST)和卡洛南-洛伊变换(Karhunen-Loève,KLT)。通过初级变换产生的变换系数可经历次级变换。可根据当前块和/或当前块的邻近块的编码参数来确定用于初级变换和/或次级变换的变换方案。可选地,可用信号传送指示变换方案的变换信息。基于DCT的变换可包括例如DCT-2、DCT-8等。基于DST的变换可包括例如DST-7。
可通过对残差信号或执行初级变换和/或次级变换的结果执行量化来产生量化的等级信号(量化系数)。取决于块的帧内预测模式或块尺寸/形状,可根据对角线右上扫描、垂直扫描和水平扫描中的至少一个来对量化的等级信号进行扫描。例如,当沿对角线右上扫描对系数进行扫描时,块形式的系数改成为一维矢量形式。除了对角线右上扫描之外,可根据变换块的尺寸和/或帧内预测模式使用水平地对二维块形式的系数进行扫描的水平扫描或垂直地对二维块形式的系数进行扫描的垂直扫描。扫描的量化的等级系数可被熵编码以插入比特流中。
解码器对比特流进行熵解码以获得量化的等级系数。可通过逆扫描以二维块形式排列量化的等级系数。对于逆扫描,可使用对角线右上扫描、垂直扫描和水平扫描中的至少一个。
然后,可对量化的等级系数进行反量化,随后根据需要进行次级逆变换,并且最后根据需要进行初级逆变换,以产生重建的残差信号。
可在环内滤波之前针对通过帧内预测或帧间预测重建的亮度分量执行动态范围中的逆映射。动态范围可被划分为16个相等的片段,并且针对每一个片段的映射函数可用信号被传送。可在条带级或并行块组级用信号传送映射函数。可基于映射函数推导用于执行逆映射的逆映射函数。在逆映射区域中执行环内滤波、参考画面存储和运动补偿,并且经由使用映射函数的映射将通过帧间预测产生的预测块转换为映射区域,然后将其用于产生重建块。然而,由于在映射区域中执行帧内预测,因此经由帧内预测产生的预测块可被用于产生重建块而无需映射/逆映射。
在当前块是色度分量的残差块时,可通过对映射区域的色度分量执行缩放来将残差块转换为逆映射区域。可在条带级或并行块组级用信号传送缩放的可用性。只有当针对亮度分量的映射可用并且亮度分量的划分和色度分量的划分遵循相同的树结构时,才可应用缩放。可基于与色差块相应的亮度预测块的样点值的平均值来执行缩放。在此情况下,在当前块使用帧间预测时,亮度预测块可表示映射的亮度预测块。可通过使用亮度预测块的样点值的平均值所属的片段的索引参照查找表来推导缩放所必需的值。最后,通过使用推导的值对残差块进行缩放,可将残差块转换到逆映射区域。然后,可在逆映射区域中执行色度分量块恢复、帧内预测、帧间预测、环内滤波和参考画面存储。
可通过序列参数集用信号传送指示亮度分量和色度分量的映射/逆映射是否可用的信息。
可基于指示当前画面中的当前块与参考块之间的位移的块矢量来产生当前块的预测块。以这种方式,用于参考当前画面产生预测块的预测模式被称为帧内块复制(IBC)模式。IBC模式可被应用于M×N(M<=64,N<=64)编码单元。IBC模式可包括跳过模式、合并模式、AMVP模式等等。在跳过模式或合并模式的情况下,构建合并候选列表,并且用信号传送合并索引,使得一个合并候选可被指定。指定的合并候选的块矢量可被用作当前块的块矢量。合并候选列表可包括空间候选、基于历史的候选、基于两个候选的平均值的候选和零合并候选中的至少一个。在AMVP模式的状况下,可用信号传送差块矢量。另外,可从当前块的左侧邻近块和上方邻近块推导预测块矢量。可用信号传送关于将使用的邻近块的索引。IBC模式下的预测块被包括在当前CTU或左侧CTU中并且限于已重建的区域中的块。例如,块矢量的值可被限制,使得当前块的预测块位于按编码/解码顺序在当前块所属的64×64块之前的三个64×64块的区域中。通过以此方式限制块矢量的值,可减少根据IBC模式实施方案的存储器消耗和装置复杂度。
在编码器中,为了改善图像的主观/客观图像质量,可基于量化矩阵对块中的变换系数进行量化。可根据量化矩阵中的针对每一个空间频率定义的不同的量化矩阵系数值对块中的变换系数进行量化。
在解码器中,可基于量化矩阵对块中的变换系数进行反量化。可根据量化矩阵中的针对空间频率定义的不同的量化矩阵系数值对块中的变换系数进行反量化。
这里,反量化可表示缩放。另外,量化矩阵可表示缩放列表。
在量化和反量化处理中,在编码器和解码器中预定义的默认矩阵可被用作量化矩阵。这里,默认矩阵可以是默认量化矩阵。默认矩阵的所有矩阵系数值可具有常数值,而不论预测模式、颜色分量、块尺寸等如何。例如,常数值可以是正整数并且可以是16。
另外,在编码器中,可使用用户定义的量化矩阵。此时,用户定义的量化矩阵可被称为非默认矩阵,并且量化矩阵可由编码器编码并以比特流的形式被用信号传送到解码器。这里,非默认矩阵可表示非默认量化矩阵。
这里,量化矩阵可表示默认矩阵、非默认矩阵、参考矩阵等中的至少一个。
下面将描述根据本发明的用于对量化矩阵进行编码/解码的方法和设备以及用于存储比特流的记录介质的实施例。将描述图8a的编码器的配置和图8b的解码器的配置的至少一个步骤的实施例。
在下文中,将描述构建量化矩阵的步骤。
可构建将在至少一个块的量化/反量化处理中使用的量化矩阵。这里,块可表示编码单元(CU)、编码块(CB)、预测单元(PU)、预测块(PB)、变换单元(TU)或变换块(TB)中的至少一个。
编码器和/或解码器可使用预定义的默认矩阵来构建量化/反量化处理所需的量化矩阵。此时,可将参考矩阵标识符从编码器用信号传送到解码器,其中,参考矩阵标识符是关于是否使用默认矩阵的信息。
用户可使用输入到编码器的非默认矩阵来构建量化/反量化处理所需的量化矩阵。此时,可将以下项中的至少一项从编码器用信号传送到解码器:关于非默认矩阵的信息的参考矩阵标识符、DC矩阵系数、最低频率矩阵系数、先前在量化矩阵中被编码/解码的量化矩阵系数值与将被编码/解码的量化矩阵系数值之间的差。
可构建量化矩阵,使得基于块的预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合或者是否使用变换中的至少一个在量化/反量化处理中使用不同的量化矩阵。此时,量化矩阵中的至少一个系数可改变块的预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合或者是否使用变换中的至少一个。
预测模式可表示块的预测模式,并且可表示执行帧内预测模式、帧间预测模式或者帧内块复制(IBC)模式编码/解码中的哪一个。
另外,基于IBC模式构建的量化矩阵可等于基于帧间预测模式构建的量化矩阵。也就是说,基于帧间预测模式构建的量化矩阵可被用于在IBC模式下编码/解码的块。
另外,基于IBC模式重建的量化矩阵可等于基于帧间预测模式重建的量化矩阵。也就是说,基于帧间预测模式重建的量化矩阵可被用于在IBC模式下编码/解码的块。
另外,针对与IBC模式相应的量化矩阵的量化矩阵指示符(Id)可等于针对与帧间预测模式相应的量化矩阵的量化矩阵指示符。另外,针对与IBC模式相应的量化矩阵的量化矩阵指示符可不同于针对与帧间预测模式相应的量化矩阵的量化矩阵指示符。这里,可基于预测模式、颜色分量、块的尺寸(块的宽度和/或块的高度)、或者块的宽度和块的高度中的较大值中的至少一个确定Id。
例如,当通过在特定模式下执行帧内预测和帧间预测来产生预测块时,特定模式可表示帧间预测模式。这里,将当前图像用作参考图像并在预测期间使用矢量的模式可表示IBC模式。
例如,当在特定模式下将当前图像用作参考图像并在预测期间使用矢量时,特定模式可表示帧间预测模式。
这里,IBC模式表示这样的模式:在该模式中,在当前图像/子画面/条带/并行块/并行块组/CTU中设置参考区域,参考区域中的位置由块矢量指示,并且使用由块矢量指示的区域来执行预测。
颜色分量可表示块的颜色分量并且表示亮度Y分量或色度分量。
例如,色度分量可表示Cb分量或Cr分量中的至少一个。也就是说,Y分量、Cb分量或Cr分量。
在另一示例中,色度分量可表示R分量、G分量或B分量中的至少一个。
在另一示例中,当图像被分解为各种分量并被编码/解码时,色度分量可表示每一个分解的分量。
尺寸可表示块尺寸、变换尺寸或量化矩阵尺寸中的至少一个。
变换尺寸可表示用于相应块的变换尺寸。变换尺寸可等于或小于块尺寸。
量化矩阵尺寸可表示用于相应块的量化矩阵尺寸。量化矩阵尺寸可小于或等于相应块尺寸。量化矩阵尺寸可小于或等于变换尺寸。
尺寸可以是M×N的尺寸,诸如,2×2、4×2、2×4、4×4、8×4、8×2、2×8、4×8、8×8、16×8、16×4、16×2、2×16、4×16、8×16、16×16、32×16、32×8、32×4、32×2、2×32、4×32、8×32、16×32、32×32、64×32、64×16、64×8、64×4、64×2、2×64、4×64、8×64、16×64、32×64、64×64、128×64、128×32、32×128、64×128或128×128。这里,M和N可以是正整数,并且可彼此相等或不同。此外,M可以具有S*N的尺寸。N可以具有S*M的尺寸。这里,S可以是正整数。
例如,在块的尺寸为64×64的情况下,可在块的左上方区域中执行尺寸为32×32的变换。此时,可使用尺寸为32×32的量化矩阵。
在另一示例中,在块的尺寸为64×32的情况下,可在块的左上方区域中执行尺寸为32×32的变换。此时,可使用尺寸为32×32的量化矩阵。
在另一示例中,在块的尺寸为32×64的情况下,可在块的左上方区域中执行尺寸为16×32的变换。此时,可使用尺寸为16×32的量化矩阵。
在另一示例中,在块的尺寸为32×32的情况下,可在块中执行尺寸为32×32的变换。此时,可使用尺寸为32×32的量化矩阵。
可基于变换块的尺寸推导量化矩阵的尺寸。例如,可针对非正方形的变换块推导非正方形的量化矩阵。此时,当推导针对非正方形的变换块的非正方形的量化矩阵时,可使用正方形的量化矩阵推导非正方形的量化矩阵。
形式可表示块形式、变换形式或量化矩阵形式中的至少一种。
形式可以是正方形形式或非正方形形式。
正方形形式可表示正方形形式。
非正方形形式可表示矩形形式。
变换形式可表示用于相应块的变换的形式。当水平变换尺寸和垂直变换尺寸彼此不同时,变换形式可以是非正方形形式。另外,当水平变换尺寸和垂直变换尺寸相同时,变换形式可以是正方形形式。变换的形式可与相应块的形式相同或不同。
量化矩阵的形式可表示用于相应块的量化矩阵的形式。当水平变换尺寸和垂直变换尺寸彼此不同时,量化矩阵的形式可以是非正方形形式。另外,当水平变换尺寸和垂直变换尺寸相同时,量化矩阵的形式可以是正方形形式。量化矩阵的形式可与相应块的形式相同或不同。量化矩阵的形式可与变换的形式相同或不同。
例如,在尺寸为64×64的正方形块的情况下,可在块的左上方区域中执行尺寸为32×32的正方形的变换。此时,可使用尺寸为32×32的正方形的量化矩阵。
在另一示例中,在尺寸为16×16的正方形块的情况下,可在块中执行尺寸为16×16的正方形的变换。此时,可使用尺寸为16×16的正方形的量化矩阵。
在另一示例中,在尺寸为16×4的非正方形块的情况下,可在块中执行尺寸为16×4的变换。此时,可使用尺寸为16×4的量化矩阵。
在另一示例中,在尺寸为2×8的非正方形块的情况下,可在块中执行尺寸为2×8的变换。此时,可使用尺寸为2×8的量化矩阵。
初级变换可表示基于DCT-J或DST-K的整数变换(诸如,DCT-2、DCT-8、DST-7、DCT-4或DST-4)中的至少一个,其中,在残差块中执行初级变换以产生变换系数。这里,J和K可以是正整数。
可使用从基于DCT-J或DST-K的整数变换(诸如,DCT-2、DCT-8、DST-7、DCT-4或DST-4)中的至少一个的变换矩阵提取出的变换矩阵来执行初级变换。也就是说,可使用提取出的变换矩阵执行初级变换。另外,提取出的变换矩阵中的系数中的至少一个可等于基于DCT-J或DST-K的整数变换(诸如,DCT-2、DCT-8、DST-7、DCT-4或DST-4)中的至少一个的变换矩阵中的系数中的至少一个。另外,提取出的变换矩阵可被包括在将被提取的变换矩阵中。另外,可通过针对将被提取的变换矩阵中的特定系数执行翻转或正负号改变中的至少一个来获得提取出的变换矩阵。
例如,基于DCT-J或DST-K的整数变换(诸如DCT-8、DST-7、DCT-4或DST-4)中的至少一个可从DCT-2的变换矩阵中被提取,并且可被用于初级变换。
这里,基于DCT-J或DST-K的整数变换(诸如,DCT-2、DCT-8、DST-7、DCT-4或DST-4)中的至少一个可具有与基于DCT-J或DST-K的整数变换(诸如,DCT-2、DCT-8、DST-7、DCT-4或DST-4)中的至少一个不同的变换矩阵中的系数。
例如,可通过针对基于DST-7的整数变换矩阵执行水平翻转并针对DST-7变换矩阵系数中的至少一个执行正负号改变来推导基于DCT-8的整数变换矩阵。此时,可使用垂直翻转来代替水平翻转。
在另一示例中,可通过针对基于DCT-8的整数变换矩阵执行水平翻转并针对DCT-8变换矩阵系数中的至少一个执行正负号改变来推导基于DST-7的整数变换矩阵。此时,可使用垂直翻转来代替水平翻转。
在另一示例中,可通过针对基于DST-4的整数变换矩阵执行水平翻转并针对DST-4变换矩阵系数中的至少一个执行正负号改变来推导基于DCT-4的整数变换矩阵。此时,可使用垂直翻转来代替水平翻转。
在另一示例中,可通过针对基于DCT-4的整数变换矩阵执行水平翻转并针对DCT-4变换矩阵系数中的至少一个执行正负号改变来推导基于DST-4的整数变换矩阵。此时,可使用垂直翻转来代替水平翻转。
次级变换可表示用于基于角度旋转变换系数中的至少一个的变换。可在初级变换之后执行次级变换。另外,可针对执行了初级变换的区域的一部分执行次级变换。
当执行次级变换时,量化/反量化处理中的量化矩阵系数的值可以全部为K。这里,K可以是正整数,并且可以是例如16。K的值可以是在编码器/解码器中预定义的默认量化矩阵系数值。
另外,当执行次级变换时,可将关于量化矩阵系数是否全部被设置为K的值的信息从编码器用信号传送到解码器。这里,该信息可表示指示量化矩阵是否被应用于使用次级变换编码/解码的块的信息。
此时,当量化矩阵中的所有矩阵系数值的值都为K时,这可能表示在量化/反量化处理中不使用量化矩阵。
根据实施例,可根据次级变换标志来确定是否将次级变换应用于当前块。可从比特流获取次级变换标志。可针对画面、子画面、并行块、条带、编码单元或变换单元中的至少一个来获取次级变换标志。根据次级变换标志,默认量化矩阵可被用于根据次级变换标志的应用次级变换的块。
根据另一实施例,可从根据比特流获取的次级变换索引推导次级变换标志。次级变换索引可指示三个或更多个值中的一个。当次级变换索引指示第一值(例如,0)时,可确定次级变换标志指示次级变换不被应用于当前块。当次级变换索引指示除第一值之外的值时,可确定次级变换标志指示次级变换被应用于当前块。因此,可通过次级变换索引来确定默认量化矩阵是否被用于当前块。也就是说,可从次级变换索引推导是否将次级变换应用于当前块。
是否使用变换可表示是否使用初级变换或次级变换中的至少一个。是否使用变换可包括是否使用初级变换和是否使用次级变换中的至少一个。
例如,当作为关于是否使用初级变换或次级变换中的至少一个的信息的transform_skip_flag是第一值(例如,0)时,这可指示使用初级变换或次级变换中的至少一个。
在另一示例中,当作为关于是否使用初级变换或次级变换中的至少一个的信息的transform_skip_flag是第二值(例如,1)时,这可指示不使用初级变换或第二变换中的至少一个。
这里,变换可表示变换或逆变换中的至少一个。
一维变换类型可表示初级变换的类型(即,初级变换类型),并且表示基于DCT-J或DST-K的整数变换类型中的至少一个的水平变换类型trTypeHor或垂直变换类型trTypeHor。
作为一维变换类型,可使用第一变换至第N变换。这里,N可以是等于或大于2的正整数。
例如,第一变换可表示基于DCT-2的整数变换。
在另一示例中,当在水平变换和垂直变换中使用第一变换时,作为针对水平变换的变换类型的trTypeHor以及作为针对垂直变换的变换类型的trTypeVer的值可分别为Q和R。这里,Q和R可以是负整数、0或正整数中的至少一个。例如,Q和R可以分别是0和0。
另外,例如,第二变换可表示不是DCT-2的基于DCT-J或DST-K的整数变换(诸如DCT-8、DST-7、DCT-4或DST-4)中的至少一个。这里,J和K可以是正整数。也就是说,第二变换可表示除第一变换之外的变换中的至少一个。
在另一示例中,当在水平变换或垂直变换中的至少一个中使用第二变换时,作为针对水平变换的变换类型的trTypeHor以及作为针对垂直变换的变换类型的trTypeVer的值可分别为T和U。这里,T和U中的每一个可以是负整数、0或正整数中的至少一个。例如,T和U可分别是等于或大于1的值和等于或大于1的值。此外,T和U可分别大于Q和R。
另外,例如,当trTypeHor是第一值时,这可表示基于DST-7的整数水平变换。
在另一示例中,当trTypeHor是第二值时,这可表示基于DCT-8的整数水平变换。
在另一示例中,当trTypeVer是第一值时,这可表示基于DST-7的整数垂直变换。
在另一示例中,当trTypeVer是第二值时,这可表示基于DCT-8的整数垂直变换。
第一值可以是1。另外,第二值可以是2。
可使用DST-4代替DST-7。另外,可使用DCT-4代替DCT-8。
另外,例如,第一变换可以是基于DCT-2的整数变换。另外,第二变换可以是基于DST-7的整数变换。另外,第三变换可以是基于DCT-8的整数变换。另外,第二变换可表示第二变换或第三变换中的至少一个。
在另一示例中,第一变换可以是基于DCT-2的整数变换。另外,第二变换可以是基于DST-4的整数变换。另外,第三变换可以是基于DCT-4的整数变换。另外,第二变换可表示第二变换或第三变换中的至少一个。
也就是说,第一变换可以是基于DCT-2的整数变换,并且第二变换至第N变换可表示不是DCT-2的基于DCT-J或DST-K的整数变换(诸如,DCT-8、DST-7、DCT-4或DST-4)中的至少一个。这里,N可以是3或更大的正整数。
另外,例如,第一变换可以是基于DCT-2的整数变换。另外,第二变换可以是从基于DCT-2的整数变换矩阵提取出的基于DST-7的整数变换。另外,第三变换可以是从基于DCT-2的整数变换矩阵提取出的基于DCT-8的整数变换。另外,第二变换可以是第二变换或第三变换中的至少一个。
在另一示例中,第一变换可以是基于DCT-2的整数变换。另外,第二变换可以是从基于DCT-2的整数变换矩阵提取出的基于DST-4的整数变换。另外,第三变换可以是从基于DCT-2的整数变换矩阵提取出的基于DCT-4的整数变换。另外,第二变换可以是第二变换或第三变换中的至少一个。
也就是说,第一变换可以是基于DCT-2的整数变换,并且第二变换至第N变换可表示从基于DCT-2的整数变换矩阵提取出的基于DCT-J或DST-K的整数变换(诸如,DCT-8、DST-7、DCT-4或DST-4)中的至少一个。这里,N可以是3或更大的整数。另外,第二变换可以是第二变换至第N变换中的至少一个。
作为DCT-2变换的替代,可使用诸如DCT-8、DST-7、DCT-4或DST-4的基于DCT-J或DST-K的整数变换中的至少一个。
二维变换组合可表示初级变换的组合,并且可表示基于DCT-J或DST-K的整数变换类型中的至少一个的水平变换类型trTypeHor和垂直变换类型trTypeVer的组合。另外,二维变换组合可表示作为多变换选择索引的mts_idx。
当在水平变换和垂直变换中使用第一变换时,作为多变换选择索引的mts_idx的值可以是P。这里,P可以是负整数、0或正整数中的至少一个。例如,P可以是-1。
例如,当mts_idx为-1时,trTypeHor和trTypeVer的值可分别是0和0。可选地,当mts_idx为0时,trTypeHor和trTypeVer的值可分别是0和0。
当在水平变换或垂直变换中的至少一个中使用第二变换时,作为多变换选择索引的mts_idx可具有S或更大的值。这里,S可以是负整数、0或正整数中的至少一个。例如,S可以是0。此外,S可大于P。
例如,当mts_idx为0时,trTypeHor和trTypeVer可分别具有第一值和第一值。
在另一示例中,当mts_idx为1时,trTypeHor和trTypeVer可分别具有第二值和第一值。
在另一示例中,当mts_idx为2时,trTypeHor和trTypeVer可分别具有第一值和第二值。
在另一示例中,当mts_idx为3时,trTypeHor和trTypeVer可分别具有第二值和第二值。
另外,例如,当mts_idx为0时,trTypeHor和trTypeVer可分别具有第一值和第一值。
在另一示例中,当mts_idx为1时,trTypeHor和trTypeVer可分别具有第二值和第二值。
在另一示例中,当mts_idx为2时,trTypeHor和trTypeVer可分别具有第三值和第二值。
在另一示例中,当mts_idx为3时,trTypeHor和trTypeVer可分别具有第二值和第三值。
在另一示例中,当mts_idx为4时,trTypeHor和trTypeVer可分别具有第三值和第三值。
第一值可以是0。另外,第二值可以是1。另外,第三值可以是2。
另外,例如,当trTypeHor是第一值时,这可表示基于DST-7的整数水平变换。
在另一示例中,当trTypeHor是第二值时,这可表示基于DCT-8的整数水平变换。
在另一示例中,当trTypeVer是第一值时,这可表示基于DST-7的整数垂直变换。
在另一示例中,当trTypeVer是第二值时,这可表示基于DCT-8的整数垂直变换。
第一值可以是1。另外,第二值可以是2。
可使用DST-4代替DST-7。另外,可使用DCT-4代替DCT-8。
另外,例如,在第一变换中,水平变换和垂直变换可分别是基于DCT-2的整数变换和基于DCT-2的整数变换。另外,在第二变换中,水平变换和垂直变换可分别是基于DST-7的整数变换和基于DST-7的整数变换。另外,在第三变换中,水平变换和垂直变换可分别是基于DCT-8的整数变换和基于DST-7的整数变换。另外,在第四变换中,水平变换和垂直变换可分别是基于DST-7的整数变换和基于DCT-8的整数变换。另外,在第五变换中,水平变换和垂直变换可分别是基于DCT-8的整数变换和基于DCT-8的整数变换。另外,第二变换可表示第二变换、第三变换、第四变换或第五变换中的至少一个。
在另一示例中,在第一变换中,水平变换和垂直变换可分别是基于DCT-2的整数变换和基于DCT-2的整数变换。另外,在第二变换中,水平变换和垂直变换可分别是基于DST-4的整数变换和基于DST-4的整数变换。另外,在第三变换中,水平变换和垂直变换可分别是基于DCT-4的整数变换和基于DST-4的整数变换。另外,在第四变换中,水平变换和垂直变换可分别是基于DST-4的整数变换和基于DCT-4的整数变换。另外,在第五变换中,水平变换和垂直变换可以分别是基于DCT-4的整数变换和基于DCT-4的整数变换。另外,第二变换可以是第二变换、第三变换、第四变换或第五变换中的至少一个。
也就是说,在第一变换中,水平变换和垂直变换可分别是基于DCT-2的整数变换和基于DCT-2的整数变换,并且第二变换至第N变换中,水平变换和垂直变换可表示不是DCT-2的基于DCT-J或DST-K的整数变换(诸如,DCT-8、DST-7、DCT-4或DST-4)中的至少一个。这里,N可以是3或更大的正整数。
例如,在第一变换中,水平变换和垂直变换可分别是基于DCT-2的整数变换和基于DCT-2的整数变换。另外,在第二变换中,水平变换和垂直变换可分别是从基于DCT-2的整数变换矩阵提取出的基于DST-7的整数变换和基于DST-7的整数变换。另外,在第三变换中,水平变换和垂直变换可分别是从基于DCT-2的整数变换矩阵提取出的基于DCT-8的整数变换和从基于DCT-2的整数变换矩阵提取出的基于DST-7的整数变换。另外,在第四变换中,水平变换和垂直变换可分别是从基于DCT-2的整数变换矩阵提取出的基于DST-7的整数变换和从基于DCT-2的整数变换矩阵提取的基于DCT-8的整数变换。另外,在第五变换中,水平变换和垂直变换可分别是从基于DCT-2的整数变换矩阵提取出的基于DCT-8的整数变换和基于DCT-8的整数变换。另外,第二变换可表示第二变换、第三变换、第四变换或第五变换中的至少一个。
在另一示例中,在第一变换中,水平变换和垂直变换可分别是基于DCT-2的整数变换和基于DCT-2的整数变换。另外,在第二变换中,水平变换和垂直变换可分别是从基于DCT-2的整数变换矩阵提取出的基于DST-4的整数变换和基于DST-4的整数变换。另外,在第三变换中,水平变换和垂直变换可分别是从基于DCT-2的整数变换矩阵提取出的基于DCT-4的整数变换和从基于DCT-2的整数变换矩阵提取的基于DST-4的整数变换。另外,在第四变换中,水平变换和垂直变换可分别是从基于DCT-2的整数变换矩阵提取出的基于DST-4的整数变换和从基于DCT-2的整数变换矩阵提取的基于DCT-4的整数变换。另外,在第五变换中,水平变换和垂直变换可以是从基于DCT-2的整数变换矩阵提取出的基于DCT-4的整数变换和基于DCT-4的整数变换。另外,第二变换可表示第二变换、第三变换、第四变换或第五变换中的至少一个。
也就是说,在第一变换中,水平变换和垂直变换可分别是基于DCT-2的整数变换,并且在第二变换至第N变换中,水平变换和垂直变换可以是从基于DCT-2的整数变换矩阵提取出的基于DCT-J或DST-K的整数变换(诸如,DCT-8、DST-7、DCT-4或DST-4)中的至少一个。这里,N可以是3或更大的整数。在这种情况下,第二变换可表示第二变换至第N变换中的至少一个。
代替DCT-2变换,可使用基于DCT-J或DST-K的整数变换(例如DCT-8、DST-7、DCT-4或DST-4)中的至少一个。
图9示出基于预测模式、颜色分量或尺寸中的至少一个构建量化矩阵的方法的示例。
如在图10的示例中,可构建量化矩阵。
例如,如在图10的示例中,可构建在编码器和解码器中预定义的默认矩阵。
另外,如在图10的示例中,可基于预测模式、颜色分量或尺寸中的至少一个构建量化矩阵。
如在图11的示例中,可构建量化矩阵。
例如,如在图11的示例中,可构建在编码器和解码器中预定义的默认矩阵。
另外,如在图11的示例中,可基于预测模式、颜色分量、尺寸或形式中的至少一个构建量化矩阵。
如在图12的示例中,可构建量化矩阵。
例如,如在图12的示例中,可构建在编码器和解码器中预定义的默认矩阵。
另外,如在图12的示例中,可基于预测模式、颜色分量、尺寸、形式或初级变换类型中的至少一个构建量化矩阵。
例如,当存在至少N种初级变换类型时,可根据初级变换类型构建K个不同的量化矩阵。这里,N和K可以是正整数。另外,K可小于或等于N。
如在图13的示例中,可构建量化矩阵。
例如,如在图13的示例中,可构建在编码器和解码器中预定义的默认矩阵。
另外,如在图13的示例中,可基于预测模式、颜色分量、尺寸、形式或二维变换组合中的至少一个来构建量化矩阵。
例如,当存在至少N个二维变换组合时,可根据二维变换组合构建K个不同的量化矩阵。这里,N和K可以是正整数。另外,K可小于或等于N。
如在图14的示例中,可构建量化矩阵。
例如,如在图14的示例中,可构建在编码器和解码器中预定义的默认矩阵。
另外,如在图14的示例中,可基于预测模式、颜色分量、尺寸、形式或二维变换组合中的至少一个来构建量化矩阵。
例如,当存在至少N个二维变换组合时,可根据二维变换组合构建K个不同的量化矩阵。这里,N和K可以是正整数。另外,K可小于或等于N。
如在图15的示例中,可构建量化矩阵。
例如,如在图15的示例中,可构建在编码器和解码器中预定义的默认矩阵。
另外,如在图15的示例中,可基于预测模式、颜色分量、尺寸、形式或是否使用变换中的至少一个来构建量化矩阵。
如在图16的示例中,可构建量化矩阵。
例如,如在图16的示例中,可构建在编码器和解码器中预定义的默认矩阵。
另外,如在图16的示例中,可基于预测模式、颜色分量、尺寸、形式或是否使用初级变换中的至少一个来构建量化矩阵。
如在图17的示例中,可构建量化矩阵。
例如,如在图17的示例中,可构建在编码器和解码器中预定义的默认矩阵。
另外,如在图17的示例中,可基于预测模式、颜色分量、尺寸、形式或是否使用次级变换中的至少一个来构建量化矩阵。
关于量化矩阵的信息可被编码并被包括在比特流中。另外,可根据从比特流获取的关于量化矩阵的信息来对量化矩阵进行解码。可根据量化矩阵获取启用信息来确定关于编码量化矩阵的信息是否包括在比特流中。当量化矩阵获取启用信息指示关于量化矩阵的信息不被包括在比特流中时,隐式地确定量化矩阵。例如,可根据默认值来确定量化矩阵。相反,当量化矩阵获取启用信息指示关于量化矩阵的信息被包括在比特流中时,根据从比特流获取的关于量化矩阵的信息来确定量化矩阵。
在本公开中,隐式地确定量化矩阵可表示将量化矩阵确定为默认量化矩阵。
量化矩阵获取启用信息在参数集或报头中的至少一个中被熵编码/解码。参数集或报头中的至少一个可以是视频参数集、序列参数集、自适应参数集、画面参数集、画面头、条带头、并行块组头或并行块头中的至少一个。
此外,量化矩阵获取启用信息可指示关于是否使用量化矩阵的信息。这里,关于是否使用量化矩阵的信息可包括是否使用量化矩阵或者是否存在量化矩阵中的至少一个。
例如,为了指示是否在视频中使用量化矩阵,量化矩阵获取启用信息可在视频参数集中被熵编码/解码。
在另一示例中,为了指示是否在序列中使用量化矩阵,使用的量化矩阵获取启用信息可在序列参数集中被熵编码/解码。
在另一示例中,为了指示是否在若干画面、若干子画面、若干并行块组、若干并行块或若干条带中使用量化矩阵,量化矩阵获取启用信息可在自适应参数集中被熵编码/解码。
在另一示例中,为了指示是否在画面中使用量化矩阵,量化矩阵获取启用信息可在画面参数集或画面头中被熵编码/解码。
在另一示例中,为了指示是否在条带中使用量化矩阵,量化矩阵获取启用信息可在条带头中被熵编码/解码。
在另一示例中,为了指示是否在并行块组中使用量化矩阵,量化矩阵获取启用信息可在并行块组头中被熵编码/解码。
在另一示例中,为了指示是否在并行块中使用量化矩阵,量化矩阵获取启用信息可在并行块头中被熵编码/解码。
在另一示例中,可从画面头和条带头分层地获取量化矩阵获取启用信息。画面头可包括画面头量化矩阵获取启用信息。另外,当画面头量化矩阵获取启用信息指示针对画面获取量化矩阵时,条带头可包括条带头量化矩阵获取启用信息。另外,当画面头量化矩阵获取启用信息指示不针对画面获取量化矩阵时,不针对包括在画面中的所有条带对条带头量化矩阵获取启用信息进行编码/解码。因此,隐式地确定的量化矩阵被用于对包括在画面中的所有条带进行编码/解码。也就是说,可在包括在画面中的所有条带中仅使用默认量化矩阵。
当条带头量化矩阵获取启用信息指示针对条带获取量化矩阵时,关于应用于条带的量化矩阵的信息可被包括在比特流中。另外,当条带头量化矩阵获取启用信息指示不针对条带获取量化矩阵时,不对关于应用于条带的量化矩阵的信息进行编码/解码。因此,隐式地确定的量化矩阵被用于对条带进行编码/解码。也就是说,可在条带中仅使用默认量化矩阵。
关于应用于画面和条带的量化矩阵的信息可指示由自适应参数集定义的量化矩阵。因此,当画面头量化矩阵获取启用信息或条带头量化矩阵获取启用信息不指示获取量化矩阵时,在画面或条带中不使用在自适应参数集中定义的量化矩阵。相反,当画面头量化矩阵获取启用信息或条带头量化矩阵获取启用信息指示获取量化矩阵时,可获取在自适应参数集中定义的量化矩阵中的至少一个以在画面或条带中使用。当不使用在自适应参数集中定义的量化矩阵时,可在画面或条带中使用默认量化矩阵。
图18至图20是示出根据本发明的实施例的用于用信号传送关于是否在参数集或报头中使用量化矩阵的信息的语法元素的示图。
如在图18的语法元素的示例中,可对scaling_list_enable_flag进行熵编码/解码,其中,scaling_list_enable_flag是关于是否在序列参数集、画面参数集或画面头中使用量化矩阵的信息。此时,是否使用量化矩阵可表示是否在编码器和解码器中的特定单元的量化/反量化处理中使用量化矩阵。
例如,scaling_list_enable_flag可被编码/解码为第一值(例如,0),以指示在编码器和解码器的量化/反量化处理中不在序列单元中使用量化矩阵。
在另一示例中,scaling_list_enable_flag可被编码/解码为第二值(例如,1),以指示在编码器和解码器的量化/反量化处理中在序列单元或画面单元中使用量化矩阵。
如在图18的语法元素的示例中,可对sps_scaling_list_data_present_flag进行熵编码/解码,其中,sps_scaling_list_data_present_flag是关于在序列参数集中是否存在量化矩阵的信息。此时,是否存在量化矩阵可表示在比特流中的特定单元中是否存在关于量化矩阵的信息。关于是否存在量化矩阵的信息可以是标志。另外,尽管在图18中,sps_scaling_list_data_present_flag被用作关于是否存在量化矩阵的信息,但这仅仅是示例,并且可改变标志的名称。
例如,sps_scaling_list_data_present_flag可被编码/解码为第一值(例如,0),以指示在序列单元中不存在量化矩阵。此时,当不存在量化矩阵时,量化/反量化处理中的量化矩阵系数的值可以全部为K。这里,K可以是正整数,并且可以是例如16。K的值可以是在编码器/解码器中预定义的默认量化矩阵系数值。
在另一示例中,sps_scaling_list_data_present_flag可被编码/解码为第二值(例如,1),以指示在序列单元中存在量化矩阵。
如在图19的语法元素的示例中,可对pps_scaling_list_data_present_flag进行熵编码/解码,其中,pps_scaling_list_data_present_flag是关于在画面参数集或者画面头中是否存在量化矩阵的信息。此时,是否存在量化矩阵可表示在比特流中的特定单元中是否存在关于量化矩阵的信息。关于是否存在量化矩阵的信息可以是标志。另外,尽管在图19中,pps_scaling_list_data_present_flag被用作关于是否存在量化矩阵的信息,但这仅仅是示例,并且可改变标志的名称。
例如,pps_scaling_list_data_present_flag可被编码/解码为第一值(例如,0),以指示在画面单元中不存在量化矩阵。此时,可在量化/反量化处理中使用在序列参数集中编码/解码的量化矩阵。可选地,当不存在量化矩阵时,量化/反量化处理中的量化矩阵系数的值可以全部为K。这里,K可以是正整数,并且可以是例如16。K的值可以是在编码器/解码器中预定义的默认量化矩阵系数值。
在另一示例中,pps_scaling_list_data_present_flag可被编码/解码为第二值(例如,1)以指示在画面单元中存在量化矩阵。此时,在画面参数集中编码/解码的量化矩阵可被用于量化/反量化处理。
如在图20的语法元素的示例中,可对aps_scaling_list_data_present_flag进行熵编码/解码,其中,aps_scaling_list_data_present_flag是关于在自适应参数集中是否存在量化矩阵的信息。此时,是否存在量化矩阵可表示在比特流中的特定单元中是否存在关于量化矩阵的信息。关于是否存在量化矩阵的信息可以是标志。另外,尽管在图20中,aps_scaling_list_data_present_flag被用作关于是否存在量化矩阵的信息,但这仅仅是示例,并且可改变标志的名称。
例如,aps_scaling_list_data_present_flag可被编码/解码为第一值(例如,0),以指示在若干画面、若干子画面、若干并行块组、若干并行块或若干条带中不存在量化矩阵。此时,可在量化/反量化处理中使用在序列参数集中编码/解码的量化矩阵。可选地,当不存在量化矩阵时,量化/反量化处理中的量化矩阵系数的值可以全部为K。这里,K可以是正整数,并且可以是例如16。K的值可以是在编码器/解码器中预定义的默认量化矩阵系数值。
在另一示例中,aps_scaling_list_data_present_flag可被编码/解码为第二值(例如,1),以指示在若干画面、若干子画面、若干并行块组、若干并行块或若干条带中存在量化矩阵。此时,在自适应参数集中编码/解码的量化矩阵可被用于量化/反量化处理。
另外,为了指示在画面中引用的自适应参数集(APS)中的量化矩阵,可在画面头中对pic_scaling_list_aps_id进行编码/解码。例如,在图18至图20中,可基于关于是否存在量化矩阵的信息对pic_scaling_list_aps_id进行编码/解码。
图21至图26是示出根据本发明的实施例的量化/反量化处理中使用的默认矩阵的示图。
如在图21至图22的示例中,可在尺寸为M×N的块的量化/反量化处理中使用在编码器和解码器中预定义的尺寸为J×K的默认矩阵。
可基于块的预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合或是否使用变换中的至少一个在量化/反量化处理中使用不同的默认矩阵。另外,可基于块的预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合或是否使用变换中的至少一个在编码器和解码器中预先定义不同的默认矩阵。此时,默认矩阵的系数中的至少一个可根据块的预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合或是否使用变换中的至少一个而彼此不同。
例如,根据trTypeHor、trTypeVer、mts_idx或transform_skip_flag中的至少一个,可在量化/反量化处理中使用不同的默认矩阵。
在另一示例中,可根据trTypeHor、trTypeVer、mts_idx或transform_skip_flag中的至少一个在编码器和解码器中预先定义不同的默认矩阵。
J、K、M和N可以是正整数。
例如,J、K、M或N中的至少一个可以是2。
在另一示例中,J和M可以相同,并且K和N可以相同。
在另一示例中,如在图21的示例中,J、K、M或N中的至少一个可以是4。
在另一示例中,如在图22的示例中,J或K中的至少一个可以是8。此外,M或N中的至少一个可大于8。
此时,J可小于M并且K可小于N。
在另一示例中,J或K中的至少一个可以是16。此外,M或N中的至少一个可大于16。
此时,J可小于M并且K可小于N。
另外,J和K可彼此相等或不同,并且M和N可彼此相等或不同。
J×K的尺寸或M×N的尺寸中的至少一个可以是2×2、4×2、2×4、4×4、8×4、8×2、2×8、4×8、8×8、16×8、16×4、16×2、2×16、4×16、8×16、16×16、32×16、32×8、32×4、32×2、2×32、4×32、8×32、16×32、32×32、64×32、64×16、64×8、64×4、64×2、2×64、4×64、8×64、16×64、32×64、64×64、128×64、128×32、32×128、64×128或128×128。此外,M的尺寸可以是S*N。N的尺寸可以是S*M。这里,S可以是正整数。
此时,i可表示扫描顺序,并且ScalingList[sizeId][matrixId][i]可表示与sizeId、matrixId和i相应的默认量化矩阵系数。
类似于图21至图22的示例,如在图23至图26的示例中,在编码器和解码器中预定义的尺寸为J×K的默认矩阵可被用在尺寸为M×N的块的量化/反量化处理中。
这里,ScalingList[sizeId][matrixId][i]可指示与sizeId、matrixId和i相应的默认量化矩阵系数,并且sizeId和matrixId可表示在以下附图中定义的那些。
在下文中,将描述量化矩阵预测方法信息的编码/解码步骤。
可在参数集或报头中的至少一个中对指示量化矩阵预测方法类型的量化矩阵预测方法信息进行熵编码/解码。这里,量化矩阵预测方法类型可包括量化矩阵中的系数的预测性编码/解码方法或帧间量化矩阵预测方法(或量化矩阵之间的预测方法)中的至少一种。另外,帧间量化矩阵预测方法可包括默认矩阵使用方法和参考矩阵使用方法中的至少一个。
帧间量化矩阵预测方法可包括量化矩阵复制模式或帧间量化矩阵预测模式中的至少一个。另外,帧间量化矩阵预测方法可表示量化矩阵复制模式。
帧内量化矩阵系数的预测编码/解码方法可表示帧内量化矩阵DPCM模式。
此时,参数集或报头中的至少一个可以是视频参数集、序列参数集、自适应参数集、画面参数集、画面头、条带头、并行块组头、条带头、并行块组头或并行块头中的至少一个。
例如,为了指示视频中的量化矩阵预测方法,可在视频参数集中对量化矩阵预测方法信息进行熵编码/解码。
在另一示例中,为了在序列中指示量化矩阵预测方法,可在序列参数集中对量化矩阵预测方法信息进行熵编码/解码。
在另一示例中,为了在若干画面、若干子画面、若干并行块组、若干并行块或若干条带中指示量化矩阵预测方法,可在自适应参数集中对量化矩阵预测方法信息进行熵编码/解码。
在另一示例中,为了指示画面中的量化矩阵预测方法,可在画面参数集或画面头中对量化矩阵预测方法信息进行熵编码/解码。
在另一示例中,为了在条带中指示量化矩阵预测方法,可在条带头中对量化矩阵预测方法信息进行熵编码/解码。
在另一示例中,为了指示并行块组中的量化矩阵预测方法,可在并行块组头中对量化矩阵预测方法信息进行熵编码/解码。
在另一示例中,为了在并行块中指示量化矩阵预测方法,可在并行块头中对量化矩阵预测方法信息进行熵编码/解码。
例如,可在自适应参数集中对量化矩阵预测方法信息进行熵编码/解码。另外,可在画面头中对关于自适应参数集标识符的信息熵编码/解码。另外,在画面中的所有条带中,在量化/反量化处理中可使用利用关于由相同的自适应参数集标识符指示的量化矩阵的信息而产生的量化矩阵。
另外,可在参数集或报头中的至少一个中对次级变换量化矩阵启用信息进行熵编码/解码。例如,参数集可以是序列参数集、画面参数集或自适应参数集中的一个。次级变换量化矩阵启用信息可指示是否将从比特流用信号传送的量化矩阵应用于应用次级变换的块。这里,次级变换是二维的不可分离的变换。
当次级变换量化矩阵启用信息具有第一值(例如,0)时,可使用与相应块相应的量化矩阵来执行量化/反量化。另外,当次级变换量化矩阵启用信息具有第二值(例如,1)并且针对相应块执行次级变换时,在相应块的量化/反量化期间的所有量化矩阵系数的值可为K。这里,K可以是正整数,并且例如可以是16。K的值可表示在编码器/解码器中预定义的默认量化矩阵系数值。
如在以下附图的语法元素的示例中,可对scaling_list_pred_mode_flag进行熵编码/解码,其中,scaling_list_pred_mode_flag是序列参数集、自适应参数集、画面参数集和画面头中的量化矩阵的预测方法信息。此时,作为量化矩阵编码/解码期间的量化矩阵预测方法,可指示使用量化矩阵中的系数的预测编码/解码方法或者帧间量化矩阵预测方法。
例如,scaling_list_pred_mode_flag可被编码/解码为第一值(例如,0),以指示使用参考矩阵使用方法或默认矩阵使用方法中的至少一个的帧间量化矩阵预测方法,其中,参考矩阵使用方法或默认矩阵使用方法中的至少一个用于确定参考矩阵和编码/解码目标量化矩阵matrixId具有相同值。
编码/解码目标量化矩阵可指示当前量化矩阵。
此时,参考矩阵使用方法可表示用于将参考矩阵系数值复制到编码/解码目标量化矩阵系数值中的帧间量化矩阵预测方法。
另外,默认矩阵使用方法可表示用于将默认矩阵系数值复制到编码/解码目标量化矩阵系数值中的帧间量化矩阵预测方法。
在另一示例中,scaling_list_pred_mode_flag可被编码/解码为第二值(例如,1)以指示使用以下项中的至少一个的量化矩阵中的系数的预测性编码/解码方法:量化矩阵扫描、DPCM(差分脉冲编码调制)/逆DPCM、或指数哥伦布(Exponential-Golomb)码。
另外,可在序列参数集、自适应参数集、画面参数集或画面头中对scaling_list_copy_mode_flag和scaling_list_pred_mode_flag进行熵编码/解码,其中,scaling_list_copy_mode_flag和scaling_list_pred_mode_flag是量化矩阵的预测方法信息。
可基于scaling_list_copy_mode_flag的值对scaling_list_pred_mode_flag进行熵编码/解码。例如,当scaling_list_copy_mode_flag具有第一值(例如,0)时,scaling_list_pred_mode_flag可被熵编码/解码。
例如,当scaling_list_copy_mode_flag具有第二值(例如,1)(量化矩阵复制模式)时,可确定当前量化矩阵等于参考量化矩阵或默认量化矩阵。
这里,id可表示与预测模式、颜色分量、变换块的宽度与变换块的高度之间的较大值、或者变换块尺寸中的至少一个的矩阵信息。这里,S和T可以是包括0的正整数,并且可分别是0和27。另外,id可以是matrixId和sizeId的组合的标识符。如在表1的示例中,可根据预测模式、颜色分量或变换块的宽度与变换块的高度之间的较大值等中的至少一个来表示id。
[表1]
Figure BDA0003385359180000571
根据表1,相同的量化矩阵适用于帧间预测块和IBC预测块。
根据表1,针对2×2的尺寸可定义两个量化矩阵。例如,针对所述尺寸可仅定义用于Cb分量的帧间预测块和IBC预测块的量化矩阵和用于Cr分量的帧间预测块和IBC预测块的量化矩阵。此外,可将0和1分配为量化矩阵的id。
根据表1,针对4×4、4×2和2×4的尺寸可定义六个量化矩阵。此外,可将2至7分配为量化矩阵的id。
根据表1,针对8×8、8×4、8×2、4×8和2×8的尺寸可定义六个量化矩阵。此外,可将8至13分配为量化矩阵的id。
根据表1,针对16×16、16×8、16×4、8×16和4×16的尺寸可定义六个量化矩阵。此外,可将14至19分配为量化矩阵的id。
根据表1,针对32×32、32×16、32×8、16×32和8×32的尺寸可定义六个量化矩阵。另外,可将20至25分配为量化矩阵的id。关于id分别为21、22、24和25的量化矩阵的信息可被应用于尺寸为64×64、64×32、64×16、32×64和16×64的量化矩阵以及尺寸为32×32、32×16、32×8、16×32和8×32的量化矩阵。
根据表1,针对64×64、64×32、64×16、32×64和16×64的尺寸可定义两个量化矩阵。例如,针对所述尺寸可仅定义用于亮度分量的帧内预测块的量化矩阵和用于亮度分量的帧间预测块和IBC预测块的量化矩阵。此外,可将26和27可分配为量化矩阵的id。
在另一示例中,当scaling_list_pred_mode_flag具有第二值(例如,1)(量化矩阵预测模式)时,可从在当前量化矩阵之前被编码/解码的量化矩阵预测当前量化矩阵。此时,针对每一个矩阵分量,可将当前量化矩阵的矩阵系数值与用于预测的量化矩阵的矩阵系数值之间的差值从编码器用信号传送到解码器。可根据DPCM用信号传送差值。DPCM是指用信号传送先前数据值与当前数据值之间的差值来代替在不修改的情况下用信号传送当前数据值的方法。
在另一示例中,当scaling_list_copy_mode_flag具有第一值(例如,0)(帧内量化矩阵DPCM模式)时,可执行使用量化矩阵扫描、差分脉冲编码调制(DPCM)/逆DPCM或者指数哥伦布码中的至少一个的帧内量化矩阵系数的预测性编码/解码方法。
在另一示例中,当scaling_list_pred_mode_flag具有第一值(例如,0)(帧内量化矩阵DPCM模式)时,可将当前量化矩阵的矩阵系数值从编码器直接用信号传送到解码器。可根据DPCM用信号传送矩阵系数值。可选地,可从编码器将当前量化矩阵的DC值以及矩阵系数值与当前量化矩阵的DC值之间的差值直接用信号传送到解码器。此时,可根据DPCM用信号传送矩阵系数值与当前量化矩阵的DC值之间的差值。
例如,可基于scaling_list_pred_id_delta获取解码目标量化矩阵系数值,其中,scaling_list_pred_id_delta指示编码/解码目标量化矩阵的参考量化矩阵标识符。
例如,当scaling_list_pred_id_delta具有第一值(例如,0)时,可基于默认矩阵获取解码目标量化矩阵。
在另一示例中,当scaling_list_pred_id_delta具有第二值(例如,非零正整数)时,可将由refId指示的编码/解码的量化矩阵确定为解码目标量化矩阵的参考量化矩阵,并且可基于参考量化矩阵获取解码目标量化矩阵。
另外,可将scaling_list_pred_id_delta编码在参数集中。此时,可使用指示编码目标量化矩阵的id和指示参考量化矩阵的refId来确定参考量化矩阵标识符scaling_list_pred_id_delta。例如,这可表示为refId=id-scaling_list_pred_id_delta[id]的示例。
另外,可在参数集中对scaling_list_pred_id_delta信息进行解码,其中,scaling_list_pred_id_delta信息指示解码目标量化矩阵的参考量化矩阵标识符。此时,使用参考量化矩阵标识符(scaling_list_pred_id_delta)和指示解码目标量化矩阵的id,可确定解码目标量化矩阵的参考量化矩阵refId。例如,这可表示为refId=id-scaling_list_pred_id_delta[id]的示例。
另外,默认矩阵的所有矩阵系数值可具有常数值,而不论预测模式、颜色分量、块尺寸等如何。此外,默认矩阵的所有矩阵系数值可以是恒定的。例如,常数值可以是正整数并且可以是16。
当scaling_list_pred_id_delta[id]具有第一值(例如,0)时,用于预测或复制量化矩阵的预测值可全部具有恒定值。例如,常数值可以是正整数并且可以是16。此时,可将预测值设置为量化矩阵的矩阵系数的值。常数值可以是默认矩阵系数的值。
根据实施例,由于编码信息的复杂度和编码效率,可在特定条件下禁用尺寸为2×2、2×4和4×2的块。例如,针对亮度分量的块可禁用尺寸为2×2、2×4和4×2的块。另外,针对色度分量的帧内预测块可禁用尺寸为2×2、2×4和4×2的块。因此,关于用于帧内预测块的亮度分量的尺寸为2×2的量化矩阵的信息可以不被编码/解码。另外,关于用于帧内预测块的色度分量的尺寸为2×2的量化矩阵的信息可以不被编码/解码。另外,关于用于不被帧内预测的块(帧间预测或IBC预测的块)的亮度分量的尺寸为2×2的量化矩阵的信息可以不被编码/解码。相反地,关于用于不被帧内预测的块(帧间预测或IBC预测的块)的色度分量的尺寸为2×2的量化矩阵的信息可被编码/解码。
另外,可从默认矩阵列表中移除用于帧内色度分量的尺寸为2×2的量化矩阵,并且针对用于帧内预测块的尺寸为2×2的量化矩阵可以不对用户定义的量化矩阵进行编码/解码。这里,用户定义的量化矩阵可表示由用户用信号传送的量化矩阵。用于帧内预测块的尺寸为2×2的量化矩阵可以是针对色度帧内预测块的尺寸为2×2的量化矩阵。
当scaling_list_copy_mode_flag和scaling_list_pred_mode_flag两者都具有第一值(例如,0)时,用于预测或复制量化矩阵的预测值可全部具有常数值。例如,常数值可以是正整数并且可以是8。通过将差值与预测值相加,可计算出量化矩阵中的矩阵系数。
在当前画面的色度格式为4:0:0(单色格式)时,针对色度分量的scaling_list_copy_mode_flag和/或scaling_list_pred_mode_flag中的至少一个可以不被编码/解码。另外,scaling_list_copy_mode_flag可被推断为1,scaling_list_pred_mode_flag可被推断为0,并且scaling_list_pred_id_delta可被推断为0。另外,当色度格式4:0:0为(单色格式)时,可将针对色度分量的量化矩阵设置为默认量化矩阵。默认量化矩阵的所有系数可以是8或16。
根据实施例,当色度格式为4:0:0(单色格式)时,关于针对色度分量的量化矩阵的信息不被编码/解码,因此不存在参考量化矩阵。因此,色度分量的所有量化矩阵系数可被推导为16。
当scaling_list_copy_mode_flag具有第二值(例如,1)时,差值可全部被设置为0。
另外,在以下情况中的至少一种情况下,量化矩阵中的所有矩阵系数可具有常数值:关于是否存在量化矩阵的信息具有第一值(例如,0)并且在比特流中不存在关于量化矩阵的信息的情况、当前块的变换跳过模式信息具有第二值(例如,1)并且变换跳过模式被应用于当前块的情况、或者次级变换被应用于当前块并且次级变换块的量化矩阵的获取被禁用的情况。例如,常数值可以是正整数并且可以是16。
图27至图59是示出根据本发明的实施例的熵编码/解码量化矩阵预测方法信息的处理的示图。
如在图27至图29的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式或颜色分量中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的从U至V的值。这里,J、K、M、N、U和V可具有包括0的正整数。
这里,J和K可以是4,并且M和N可以是32。
这里,U和V可分别是0和3。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和5。
如在图30至图32的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式或颜色分量中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是2,并且M和N可以是64。
这里,U和V可分别是0和5。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和5。
当sizeId为0时,matrixId的值可以是1、2、4或5中的至少一个。另外,当sizeId为5时,matrixId的值可以是0或3中的至少一个。
如在图33至图35的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式、颜色分量或一维变换类型中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是2,并且M和N可以是64。
这里,U和V可分别是0和5。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和7。
当sizeId为0时,matrixId的值可以是1、2、4或5中的至少一个。另外,当sizeId为1至4时,matrixId的值可以是0至7中的至少一个。另外,当matrixId为6至7时,sizeId的值可以是1至4中的至少一个。另外,当sizeId为5时,matrixId的值可以是0或3中的至少一个。
如在图36至图38的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式、颜色分量或一维变换类型中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是2,并且M和N可以是64。
这里,U和V可分别是0和5。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和9。
当sizeId为0时,matrixId的值可以是1、2、4或5中的至少一个。另外,当sizeId为1至4时,matrixId的值可以是0至9中的至少一个。另外,当matrixId为6至9时,sizeId的值可以是1至4中的至少一个。另外,当sizeId为5时,matrixId的值可以是0或3中的至少一个。
如在图39至图41的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式、颜色分量或二维变换组合中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是2,并且M和N可以是64。
这里,U和V可分别是0和5。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和7。
当sizeId为0时,matrixId的值可以是1、2、4或5中的至少一个。另外,当sizeId为1至4时,matrixId的值可以是0至7中的至少一个。另外,当matrixId为6至7时,sizeId的值可以是1至4中的至少一个。另外,当sizeId为5时,matrixId的值可以是0或3中的至少一个。
如在图42至图44的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式、颜色分量或二维变换组合中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是2,并且M和N可以是64。
这里,U和V可分别是0和5。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和13。
当sizeId为0时,matrixId的值可以是1、2、4或5中的至少一个。另外,当sizeId为1至4时,matrixId的值可以是0至13中的至少一个。另外,当matrixId为6至13时,sizeId的值可以是1至4中的至少一个。另外,当sizeId为5时,matrixId的值可以是0或3中的至少一个。
如在图45至图47的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式、颜色分量或二维变换组合中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是2,并且M和N可以是64。
这里,U和V可分别是0和5。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和7。
当sizeId为0时,matrixId的值可以是1、2、4或5中的至少一个。另外,当sizeId为1至4时,matrixId的值可以是0至7中的至少一个。另外,当matrixId为6至7时,sizeId的值可以是1至4中的至少一个。另外,当sizeId为5时,matrixId的值可以是0或3中的至少一个。
如在图48至图50的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式、颜色分量或二维变换组合中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是2,并且M和N可以是64。
这里,U和V可分别是0和5。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和13。
当sizeId为0时,matrixId的值可以是1、2、4或5中的至少一个。另外,当sizeId为1至4时,matrixId的值可以是0至13中的至少一个。另外,当matrixId为6至13时,sizeId的值可以是1至4中的至少一个。另外,当sizeId为5时,matrixId的值可以是0或3中的至少一个。
如在图51至图53的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式、颜色分量或是否使用变换中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是2,并且M和N可以是64。
这里,U和V可分别是0和5。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和7。
当sizeId为0时,matrixId的值可以是1、2、4或5中的至少一个。另外,当sizeId为1至4时,matrixId的值可以是0至7中的至少一个。另外,当matrixId是6至7时,sizeId的值可以是1。另外,当sizeId为5时,matrixId的值可以是0或3中的至少一个。
如在图54至图56的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式或颜色分量中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是1,并且M和N可以是64。
这里,U和V可分别是0和6。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和8。
当sizeId为1时,matrixId的值可以是1、2、4、5、7或8中的至少一个。另外,当sizeId为6时,matrixId的值可以是0、3或6中的至少一个。
如在图57至图59的示例中,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。另外,matrixId可表示与尺寸(sizeId)、预测模式或颜色分量中的至少一个相应的矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V的值。这里,J、K、M、N、U和V可以是包括0的正整数。
这里,J和K可以是2,并且M和N可以是64。
这里,U和V可分别是0和5。
例如,matrixId可具有P至Q的值。这里,P和Q可以是包括0的正整数。
这里,P和Q可分别是0和8。
当sizeId为0时,matrixId的值可以是1、2、4、5、7或8中的至少一个。另外,当sizeId为5时,matrixId的值可以是0、3或6中的至少一个。
在下文中,将描述对用于帧间量化矩阵预测的参考矩阵标识符进行编码/解码的步骤。
当量化矩阵预测方法信息scaling_list_pred_mode_flag具有第一值(例如,0)时,可在参数集或报头中的至少一个中对编码/解码目标量化矩阵的参考矩阵标识符进行熵编码/解码。这里,参考矩阵标识符可指示在用于帧间量化矩阵预测的编码/解码目标量化矩阵中所参考的量化矩阵。此时,帧间量化矩阵预测方法可包括默认矩阵使用方法或参考矩阵使用方法中的至少一种。
此时,参数集或报头中的至少一个可以是视频参数集、序列参数集、自适应参数集、画面参数集、画面头、条带头、并行块组头或并行块头中的至少一个。
例如,为了在视频中指示编码/解码目标量化矩阵的参考矩阵,可在视频参数集中对参考矩阵标识符进行熵编码/解码。
在另一示例中,为了在序列中指示编码/解码目标量化矩阵的参考矩阵,可在序列参数集中对参考矩阵标识符进行熵编码/解码。
在另一示例中,为了在若干画面、若干子画面、若干并行块组、若干并行块或若干条带中指示编码/解码目标量化矩阵的参考矩阵,可在自适应参数集中对参考矩阵标识符进行熵编码/解码。
在另一示例中,为了在画面中指示编码/解码目标量化矩阵的参考矩阵,可在画面参数集或画面头中对参考矩阵标识符进行熵编码/解码。
在另一示例中,为了在条带中指示编码/解码目标量化矩阵的参考矩阵,可在条带头中对参考矩阵标识符进行熵编码/解码。
在另一示例中,为了在并行块组中指示编码/解码目标量化矩阵的参考矩阵,可在并行块组头中对参考矩阵标识符进行熵编码/解码。
在另一示例中,为了在并行块中指示编码/解码目标量化矩阵的参考矩阵,可在并行块头中对参考矩阵标识符进行熵编码/解码。
如在上述附图的语法元素的示例中,可在参数集或报头中的至少一个中对scaling_list_pred_matrix_id_delta进行熵编码/解码,其中,scaling_list_pred_matrix_id_delta是编码/解码目标量化矩阵的参考矩阵标识符。
例如,scaling_list_pred_matrix_id_delta可被编码/解码为第一值(例如,0),以指示默认矩阵使用方法,其中,默认矩阵使用方法用于确定编码/解码目标量化矩阵具有与默认矩阵相同的值。
默认矩阵使用方法可表示用于将默认矩阵系数值复制到编码/解码目标量化矩阵系数值中的量化间矩阵预测方法。也就是说,默认矩阵使用方法可表示这样的帧间量化矩阵预测方法:用于将默认矩阵确定为编码/解码目标量化矩阵matrixId的参考矩阵并将默认矩阵系数值复制到编码/解码目标量化矩阵系数值中。
在另一示例中,scaling_list_pred_matrix_id_delta可被编码/解码为第二值(例如,P)以指示参考矩阵使用方法,其中,参考矩阵使用方法用于确定编码/解码目标量化矩阵具有与参考矩阵相同的值。这里,P可以是正整数,并且可具有1和matrixId之间的值。
参考矩阵使用方法可表示用于将参考矩阵系数值复制到编码/解码目标量化矩阵系数值中的帧间量化矩阵预测方法。也就是说,参考矩阵使用方法可表示这样的帧间量化矩阵预测方法:用于将与refMatrixId相应的参考矩阵确定为编码/解码目标量化矩阵matrixId的参考矩阵并将参考矩阵系数值复制到编码/解码目标量化矩阵系数值中。
例如,当编码器确定编码目标量化矩阵系数值等于在编码器/解码器中预定的默认矩阵系数值时,scaling_list_pred_matrix_id_delta被编码为第一值(例如,0),使得refMatrixId值和matrixId值相同。此时,默认矩阵可表示与sizeId和matrixId相应的默认矩阵。
在另一示例中,当编码器确定编码目标量化矩阵系数值等于参考矩阵系数值时,scaling_list_pred_matrix_id_delta可被编码为第二值(例如,P),使得refMatrixId值和matrixId可以不相同。此时,参考矩阵可表示与refMatrixId相应的量化矩阵。
例如,当在解码器中对scaling_list_pred_matrix_id_delta进行解码的结果具有第一值(例如,0)(refMatrixId值和matrixId值相同)时,可将与sizeId和matrixId相应的解码目标量化矩阵系数值确定为等于在编码器/解码器中预定的默认矩阵系数值。将解码目标量化矩阵系数值确定为等于在编码器/解码器中预定的默认矩阵系数值可表示用于将默认矩阵系数值复制到解码目标量化矩阵系数值中的默认矩阵使用方法。
在另一示例中,当在解码器中对scaling_list_pred_matrix_id_delta进行解码的结果具有第二值(例如,P)(refMatrixId值和matrixId值不同)时,可将与refMatrixId相应的量化矩阵确定为解码目标量化矩阵的参考矩阵,并且可将解码目标量化矩阵系数值确定为等于参考矩阵系数值。将解码目标量化矩阵系数值确定为等于参考矩阵系数值可表示这样的参考矩阵使用方法:该参考矩阵使用方法用于将与refMatrixId相应的参考矩阵确定为解码目标量化矩阵的参考矩阵并将参考矩阵系数值复制到解码目标量化矩阵系数值中。
使用表示当前量化矩阵的matrixId和作为参考矩阵标识符的scaling_list_pred_matrix_id_delta,可如下确定表示参考矩阵或默认矩阵的refMatrixId:
refMatrixId=matrixId-scaling_list_pred_matrix_id_delta[sizeId][matrixId]*(sizeId==3?3:1)或refMatrixId=matrixId-scaling_list_pred_matrix_id_delta[sizeId][matrixId]*(sizeId==5?3:1)
或者在2×2块尺寸的情况下,refMatrixId=matrixId-scaling_list_pred_matrix_id_delta[sizeId][matrixId]-((matrixId>3&&(matrixId-scaling_list_pred_matrix_id_delta[sizeId][matrixId]<=3))?1:0)
图60至图61是示出根据本发明的实施例的基于块尺寸执行帧间量化矩阵预测的处理的示图。
如在图60的示例中,可使用量化矩阵尺寸执行帧间量化矩阵预测。也就是说,可以不在具有不同的sizeId的量化矩阵之间执行预测。
例如,可从8×8帧间色度Cr量化矩阵(sizeId==1,matrixId==4)预测8×8帧间色度Cb量化矩阵(sizeId==1,matrixId==5)。
在另一示例中,可以不从8×8帧内亮度Y量化矩阵(sizeId==1,matrixId==0)预测32×32帧间亮度Y量化矩阵(sizeId==3,matrixId==1)。
在另一示例中,可以不从8×8帧内色度Cr量化矩阵(sizeId==1,matrixId==1)预测16×16帧间色度Cr量化矩阵(sizeId==2,matrixId==4)。
在图61中,即使当量化矩阵尺寸不同时,也可以执行帧间量化矩阵预测。参考量化矩阵的尺寸可小于或等于当前编码的当前量化矩阵的尺寸。可根据参考量化矩阵的量化系数来确定当前量化矩阵的量化系数。可选地,可根据参考量化矩阵的量化系数与系数差值之和来确定当前量化矩阵的量化系数。
如在图61的示例中,可从具有与编码/解码处理中的量化矩阵尺寸(块尺寸)相同尺寸的量化矩阵执行帧间量化矩阵预测。此时,可在编码/解码处理中使用量化矩阵尺寸(块尺寸)来执行量化矩阵复制。也就是说,当在量化/反量化处理中在量化矩阵尺寸之间进行区分的sizeId不同但编码/解码处理中的量化矩阵尺寸相同时,可执行帧间量化矩阵预测。在这种情况下,在量化矩阵复制或量化矩阵预测中参考的量化矩阵的id可小于或等于当前量化矩阵的id。
根据实施例,在当前量化矩阵的尺寸为8×8时,可以不参考具有比当前量化矩阵小的尺寸的量化矩阵。然而,在当前量化矩阵的尺寸大于8×8时,可参考8×8量化矩阵。此外,在当前量化矩阵的尺寸大于8×8时,可参考等于或大于8×8且小于或等于当前量化矩阵的尺寸的量化矩阵。
例如,可从8×8帧内亮度Y量化矩阵(sizeId==1,matrixId==0)预测32×32帧间亮度Y量化矩阵(sizeId==3,matrixId==1)。
在另一示例中,可从8×8帧内色度Cr量化矩阵(sizeId==1,matrixId==1)预测16×16帧间色度Cr量化矩阵(sizeId==2,matrixId==4)。
在另一示例中,可从8×8帧内亮度Y量化矩阵(sizeId==1,matrixId==0)预测16×16帧内亮度Y量化矩阵(sizeId==2,matrixId==0)。
例如,当不同的量化矩阵通过预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合或是否使用变换而在编码/解码处理中具有相同的预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合或者是否使用变换中的至少一个时,可执行帧间量化矩阵预测。
例如,当不同的量化矩阵通过预测模式在编码/解码处理中具有相同的尺寸时,可执行帧间量化矩阵预测。
在另一示例中,当不同的量化矩阵通过颜色分量在编码/解码处理中具有相同的尺寸时,可执行帧间量化矩阵预测。
在另一示例中,当不同的量化矩阵通过形式在编码/解码处理中具有相同的形式时,可执行帧间量化矩阵预测。
在另一示例中,当不同的量化矩阵通过一维变换类型、二维变换组合或是否使用变换中的至少一个在编码/解码处理中具有相同的尺寸时,可执行帧间量化矩阵预测。
在另一示例中,当不同的量化矩阵在编码/解码处理中具有相同的尺寸时,可执行帧间量化矩阵预测。
在编码/解码处理中尺寸为J×K的量化矩阵即使在量化/反量化处理中的尺寸也可以是J×K,但在编码/解码处理中尺寸为M×N的量化矩阵在量化/反量化处理中的尺寸可以是M×N、2*M×2*N、4*M×4*N、8*M×8*N等。这里,J、K、M和N可以是正整数。此外,J和K可小于或等于M和N。
例如,在编码/解码处理中尺寸为4×4的量化矩阵即使在量化/反量化处理中的尺寸也可以是4×4,但在编码/解码处理中尺寸为8×8的量化矩阵在量化/反量化处理中的尺寸可以是8×8、16×16、32×32、64×64等。
在另一示例中,在编码/解码处理中尺寸为2×2或4×4的量化矩阵即使在量化/反量化处理中的尺寸也可以是2×2或4×4,但在编码/解码处理中的尺寸为8×8的量化矩阵在量化/反量化处理中的尺寸可以是8×8、16×16、32×32、64×64等。
在另一示例中,在编码/解码处理中尺寸为4×4的量化矩阵即使在量化/反量化处理中的尺寸也可以是2×2或4×4,但在编码/解码处理中尺寸为8×8的量化矩阵在量化/反量化处理中的尺寸可以是8×8、16×16、32×32、64×64等。
在另一示例中,在编码/解码处理中尺寸为2×2、4×4或8×8的量化矩阵即使在量化/反量化处理中的尺寸也可以是2×2、4×4或8×8,但在编码/解码处理中尺寸为16×16的量化矩阵在量化/反量化处理中的尺寸可以是16×16、32×32、64×64等。
由于在量化/反量化处理中尺寸为M×N、2*M×2*N、4*M×4*N、8*M×8*N等量化矩阵在编码/解码处理中具有相同的M×N的尺寸,因此可执行帧间量化矩阵预测。这里,J、K、M和N可以是正整数。而且,J和K分别小于或等于M和N。
例如,在量化/反量化处理中尺寸为8×8、16×16、32×32、64×64等的量化矩阵在编码/解码处理中具有相同的8×8的尺寸,可执行帧间量化矩阵预测。
在另一示例中,在量化/反量化处理中尺寸为2×2、4×4等的量化矩阵在编码/解码处理中具有4×4的相同尺寸,可执行帧间量化矩阵预测。
在另一示例中,在量化/反量化处理中的尺寸为16×16、32×32、64×64等的量化矩阵在编码/解码处理中具有相同的16×16的尺寸,可执行量化间矩阵预测。
当在编码/解码处理中用信号传送具有相同尺寸(M×N)的量化矩阵,但在量化/反量化处理中推导出具有不同尺寸(M×N、2*M×2*N、4*M×4*N、8*M×8*N等)的量化矩阵时,可仅在编码/解码处理中具有相同尺寸的量化矩阵之间(在编码/解码处理中尺寸为M×N的量化矩阵之间)允许预测。这里,J、K、M和N可以是正整数。而且,J和K分别小于或等于M和N。
例如,当在编码/解码处理中用信号传送具有相同尺寸(8×8)的量化矩阵,但在量化/反量化处理中推导出具有不同尺寸(8×8、16×16、32×32、64×64等)的量化矩阵时,可仅在编码/解码处理中具有相同尺寸的量化矩阵之间(在编码/解码处理中尺寸为8×8的量化矩阵之间)允许预测。
在另一示例中,当在编码/解码处理中用信号传送具有相同尺寸(4×4)的量化矩阵,但在量化/反量化处理中推导出具有不同尺寸(2×2、4×4等)的量化矩阵时,可仅在编码/解码处理中具有相同尺寸的量化矩阵之间(在编码/解码处理中尺寸为4×4的量化矩阵之间)允许预测。
在另一示例中,当在编码/解码处理中用信号传送具有相同尺寸(16×16)的量化矩阵,但在量化/反量化处理中推导出具有不同尺寸(16×16、32×32、64×64等)的量化矩阵时,可仅在编码/解码处理中具有相同尺寸的量化矩阵之间(在编码/解码处理中尺寸为16×16的量化矩阵之间)允许预测。
可以不允许在编码/解码处理中具有不同尺寸的量化矩阵之间(在编码/解码处理中在J×K的尺寸与M×N的尺寸之间)的预测。这里,J、K、M和N可以是正整数。此外,J和K可分别小于M和N。
例如,可以不允许在编码/解码处理中在具有不同尺寸的量化矩阵之间(在编码/解码处理中在4×4的尺寸与8×8的尺寸之间)进行预测。
编码器可如下基于以下项中的至少一项来确定作为参考矩阵标识符的scaling_list_pred_size_matrix_id_delta:编码/解码目标量化矩阵的矩阵信息matrixId、参考矩阵的矩阵信息refMatrixId、编码/解码目标量化矩阵尺寸信息sizeId、参考矩阵的尺寸信息refSizeId或者编码/解码目标量化矩阵尺寸和矩阵信息sizeMatrixId:
scaling_list_pred_size_matrix_id_delta=sizeMatrixId-refMap[refSizeId][refMatrixId]
该方法可被应用于在编码/解码处理中尺寸为M×N的量化矩阵,并且可以不被应用于在编码/解码处理中尺寸为J×K的量化矩阵。对于编码/解码处理中尺寸为J×K的量化矩阵,可如下确定参考矩阵标识符scaling_list_pred_size_matrix_id_delta。也就是说,帧间量化矩阵预测方法可根据编码/解码处理中的量化矩阵尺寸而变化,并且参考矩阵标识符确定方法也可以变化。这里,J、K、M和N可以是正整数。此外,J和K可分别小于M和N。
scaling_list_pred_size_matrix_id_delta=matrixId-refMatrixId
解码器可基于参考矩阵标识符scaling_list_pred_size_matrix_id_delta或编码/解码目标量化矩阵尺寸和矩阵信息sizeMatrixId中的至少一个来确定参考矩阵的矩阵信息refMatrixId或参考矩阵的尺寸信息refSizeId中的至少一个。
refSizeId=refMap[sizeMatrixId-scaling_list_pred_size_matrix_id_delta]
refMatrixId=refMap[sizeMatrixId-scaling_list_pred_size_matrix_id_delta]
该方法可被应用于在编码/解码处理中尺寸为M×N的量化矩阵,并且可以不被应用于在编码/解码处理中尺寸为J×K的量化矩阵。对于编码/解码处理中尺寸为J×K的量化矩阵,可如下确定作为参考矩阵的矩阵信息的refMatrixId。也就是说,帧间量化矩阵预测方法可根据编码/解码处理中的量化矩阵尺寸而变化,并且参考矩阵标识符确定方法也可以变化。这里,J、K、M和N可以是正整数。此外,J和K可分别小于M和N。
refMatrixId=matrixId-scaling_list_pred_size_matrix_id_delta
图62至图64是示出根据本发明的实施例的映射表refMap的示图。
如在图62至图64的示例中,refMap可以是sizeMatrixId、refSizeId或refMatrixId中的至少一个的映射表。此时,由于量化/反量化处理中的量化矩阵尺寸是不同的,但在编码/解码处理中的量化矩阵尺寸是相同的,所以可在编码/解码处理中根据尺寸为8×8的量化矩阵信息顺序地分配参考矩阵标识符。
这里,编码/解码目标量化矩阵尺寸和矩阵信息可表示单个标识符。另外,可基于量化/反量化处理中的矩阵尺寸、预测模式、颜色分量、当前块的尺寸等推导单个标识符。另外,用于帧内模式的信号标识符和用于IBC模式的单个标识符可以相同。
例如,在编码/解码处理中量化矩阵的尺寸为M×N的情况下,scaling_list_pred_size_matrix_id_delta可被编码/解码为第一值(例如,0)以指示默认矩阵使用方法,其中,默认矩阵使用方法用于确定编码/解码目标量化矩阵具有与默认矩阵相同的值。也就是说,可允许refMatrixId和matrixId相同,并且可允许refSizeId和sizeId相同。此时,默认矩阵可表示与sizeId和matrixId相应的默认矩阵。这里,M和N可以是正整数,并且M×N可以是8×8。
在另一示例中,在编码/解码处理中量化矩阵的尺寸为J×K的情况下,scaling_list_pred_size_matrix_id_delta可被编码/解码为第一值(例如,0)以指示默认矩阵使用方法,其中,默认矩阵使用方法用于确定编码/解码目标量化矩阵具有与默认矩阵相同的值。也就是说,可允许refMatrixId和matrixId相同。此时,默认矩阵可表示与sizeId和matrixId相应的默认矩阵。这里,J和K可以是正整数,并且J×K可以是4×4。
例如,在编码/解码处理中量化矩阵尺寸为M×N的情况下,scaling_list_pred_size_matrix_id_delta可被编码/解码为第二值(例如,P)以指示参考矩阵使用方法,其中,参考矩阵使用方法用于确定编码/解码目标量化矩阵具有与参考矩阵相同的值。这里,P可以是正整数,并且可具有1和matrixId之间的值。也就是说,可从与refMatrixId和refSizeId相应的参考矩阵执行矩阵间预测。这里,M和N可以是正整数,并且M×N可以是8×8。
在另一示例中,在编码/解码处理中量化矩阵的尺寸为J×K的情况下,scaling_list_pred_size_matrix_id_delta可被编码/解码为第二值(例如,P)以指示参考矩阵使用方法,其中,参考矩阵使用方法用于确定编码/解码目标量化矩阵具有与参考矩阵相同的值。这里,P可以是正整数,并且可具有1和matrixId之间的值。也就是说,可从与refMatrixId相应的参考矩阵执行矩阵间预测。这里,J和K可以是正整数,并且J×K可以是4×4。
另外,可施加限制使得不从具有大于编码/解码目标量化矩阵的sizeMatrixId的值的量化矩阵执行矩阵间预测,并且参考矩阵标识符scaling_list_pred_size_matrix_id_delta可被限制为具有0和U之间的值。这里,U可以是正整数。
例如,当在量化/反量化处理中使用量化矩阵尺寸来执行量化矩阵复制时,可施加限制使得在量化/反量化处理中尺寸为2×2的量化矩阵的参考矩阵标识符具有0和X之间的值,在量化/反量化处理中尺寸为4×4、8×8、16×16或32×32的量化矩阵的参考矩阵标识符具有0和Y之间的值,并且在量化/反量化处理中尺寸为64×64的量化矩阵的参考矩阵标识符具有0和Z之间的值。这里,X、Y和Z可以是正整数并且可以具有不同的值。
此时,当量化/反量化处理中的矩阵尺寸是作为等于或大于特定尺寸M×N的8×8、16×16、32×32、64×64等中的至少一个时,最低频率矩阵系数或DC矩阵系数可被包括。因此,在预测期间,在量化/反量化处理中,也可从具有等于或大于特定尺寸M×N的尺寸(诸如,8×8、16×16、32×32、64×64等)的量化矩阵预测最低频率矩阵系数或DC矩阵系数。这里,M和N可以是正整数,并且M×N可以是8×8。
在下文中,将描述量化矩阵中的系数的预测性编码/解码步骤。
当量化矩阵预测方法信息scaling_list_pred_mode_flag具有第二值(例如,1)时,量化矩阵预测方法信息可指示量化矩阵中的系数的预测性编码/解码方法。量化矩阵中的系数的预测性编码/解码方法可表示使用量化矩阵扫描、DPCM(差分脉冲编码调制)/逆DPCM或指数哥伦布码中的至少一种的方法。
在量化矩阵中的系数的预测性编码/解码方法的情况下,可在参数集或报头中的至少一个中对先前在量化矩阵中被编码/解码的量化矩阵系数值与编码/解码目标量化矩阵系数值之间的差值或者最低频率矩阵系数中的至少一个进行熵编码/解码。
这里,最低频率矩阵系数可表示量化矩阵中的作为DC矩阵系数和最低频率矩阵系数中的至少一个的系数,其中,DC矩阵系数和最低频率矩阵系数用于对残差块中的变换系数之中的位于左上侧的DC变换系数和最低频率变换系数中的至少一个进行量化/反量化。在量化矩阵中的系数的预测性编码/解码期间,可首先对最低频率矩阵系数进行编码/解码。
例如,作为一维变换类型,当DCT-2被用作水平变换或垂直变换时,DC变换系数的最低频率矩阵系数可以是DC矩阵系数。
在另一示例中,作为一维变换类型,除DCT-2之外的变换(DCT-8、DST-7、DCT-4、DST-4等)被用作水平变换或垂直变换,针对最低频率变换系数的最低频率矩阵系数可以是最低频率矩阵系数。
例如,作为二维变换组合,当DCT-2被用作水平变换或垂直变换时,针对DC变换系数的最低频率矩阵系数可以是DC矩阵系数。
在另一示例中,作为二维变换组合,当除DCT-2之外的变换(DCT-8、DST-7、DCT-4、DST-4等)被作为水平变换或垂直变换中的至少一个时,针对最低频率变换系数的最低频率矩阵系数可以是最低频率矩阵系数。
例如,当不使用初级变换或次级变换中的至少一个时,可以不对最低频率矩阵系数值进行编码/解码。
如在上述附图的语法元素的示例中,当编码/解码目标量化矩阵尺寸是作为等于或大于M×N的特定尺寸的8×8、16×16、32×32等中的至少一个时,可在参数集或报头中的至少一个中对作为DC矩阵系数或最低频率矩阵系数的scaling_list_dc_coef_minus8进行编码/解码。这里,M和N可以是正整数。M×N可以是8×8、16×16等。
此时,scaling_list_dc_coef_minus8可被限制为-A和B之间的值,并且可使用带正负号的指数哥伦布码被编码/解码为-A和B之间的值。
这里,A和B可以是正整数。
例如,当量化矩阵系数由6比特表示时,A可以是7,B可以是55,并且A+B可以是62或63。
在另一示例中,当量化矩阵系数由8比特表示时,A可以是7,B可以是247,并且A+B可以是254或255。
在另一示例中,当量化矩阵系数由10比特表示时,A可以是7,B可以是1015,并且A+B可以是1022或1023。
当重建量化矩阵时,DC矩阵系数或最低频率矩阵系数可以被计算为scaling_list_dc_coef_minus8+L的值,并且计算出的值可以是C和D之间的值。
这里,C和D可以是正整数。
例如,当量化矩阵系数由6比特表示时,C可以是1并且D可以是63。
在另一示例中,当量化矩阵系数由8比特表示时,C可以是1并且D可以是255。
在另一示例中,当量化矩阵系数由10比特表示时,C可以是1,并且D可以是1023。
当作为量化矩阵的预测方法信息的scaling_list_pred_mode_flag具有第一值,作为参考矩阵标识符的scaling_list_pred_matrix_id_delta具有第一值,并且量化矩阵尺寸等于或大于M×N的尺寸时,scaling_list_dc_coef_minus8可被确定为L。这里,M和N可以是正整数。M×N可以是8×8、16×16等。
如在图27至图59的语法元素的示例中,可在参数集或报头中的至少一个中对scaling_list_delta_coef进行编码/解码,其中,scaling_list_delta_coef是先前在量化矩阵中被编码/解码的量化矩阵系数值ScalingList[sizeId][matrixId][i-1]与编码/解码目标量化矩阵系数值ScalingList[sizeId][matrixId][i]之间的差值。
当对尺寸为J×K的量化矩阵进行编码/解码时,可对总共J×K个scaling_list_delta_coef进行编码/解码,J×K是J×K量化矩阵中的系数的数量。这里,J和K可以是正整数。
例如,当对尺寸为4×4的量化矩阵进行编码/解码时,可对作为4×4量化矩阵中的系数的数量的总共16个scaling_list_delta_coef进行编码/解码。
当对在具有M×N或更大的尺寸的块中使用的量化矩阵进行编码/解码时,可对作为M×N量化矩阵中的系数的数量的总共M*N个scaling_list_delta_coef进行编码/解码。这里,M和N可以是正整数。
例如,当对在具有8×8或更大尺寸的块中使用的量化矩阵进行编码/解码时,可对8×8量化矩阵中的总共64个系数进行编码/解码。
此时,scaling_list_delta_coef可以被限制为-A和B之间的值,并且可使用带正负号的指数哥伦布码被编码/解码为-A和B之间的值。
这里,A和B可以是正整数。
例如,当量化矩阵系数由6比特表示时,A可以是32,B可以是31,并且A+B可以是63。
在另一示例中,当量化矩阵系数由8比特表示时,A可以是128,B可以是127,并且A+B可以是255。
在另一示例中,当量化矩阵系数由10比特表示时,A可以是512,B可以是511,并且A+B可以是1023。
当重建量化矩阵时,量化矩阵系数nextCoef可被计算为nextCoef+scaling_list_delta_coef+(C+D))%(C+D)的值,并且计算出的值可以是C和D之间的值。
这里,C和D可以是正整数。
例如,当量化矩阵系数由6比特表示时,C可以是1,并且D可以是63。
在另一示例中,当量化矩阵系数由8比特表示时,C可以是1,并且D可以是255。
在另一示例中,当量化矩阵系数由10比特表示时,C可以是1,并且D可以是1023。
当作为量化矩阵的预测方法信息的scaling_list_pred_mode_flag具有第一值并且作为参考矩阵标识符的scaling_list_pred_matrix_id_delta具有第一值时,scaling_list_delta_coef可被确定为L。这里,M和N可以是正整数。这里,L可以是负整数、0或正整数中的至少一个,并且可以是0。
另外,可使用用于计算nextCoef的scaling_list_dc_coef_minus8或scaling_list_delta_coef来指示默认矩阵的使用。
例如,编码器可针对编码目标量化矩阵将scaling_list_dc_coef_minus8的值编码为-8,并且将默认矩阵的使用用信号传送到解码器。另外,可对scaling_list_delta_coef进行编码,使得第一nextcoef值变为0,从而将默认矩阵的使用用信号传送到解码器。
在另一示例中,当解码器将scaling_list_dc_coef_minus8的值解码为-8时,可将解码目标量化矩阵确定为默认矩阵。另外,当通过对scaling_list_delta_coef进行解码而计算出的第一nextcoef值为0时,解码目标量化矩阵可被确定为默认矩阵。
此时,参数集或报头中的至少一个可以是视频参数集、序列参数集、自适应参数集、画面参数集、画面头、条带头、并行块组头或并行块头中的至少一个。
例如,为了对视频中的量化矩阵中的系数进行预测性的编码/解码,可在视频参数集中对量化矩阵系数值的差值或最低频率矩阵系数值中的至少一个进行熵编码/解码。
在另一示例中,为了对序列中的量化矩阵中的系数进行预测性的编码/解码,可在序列参数集中对量化矩阵系数值的差值或最低频率矩阵系数值中的至少一个进行熵编码/解码。
在另一示例中,为了对若干画面、若干子画面、若干并行块组、若干并行块或若干条带中的量化矩阵中的系数进行预测性的编码/解码,可在自适应参数集中对量化矩阵系数值的差值或最低频率矩阵系数值中的至少一个进行熵编码/解码。
在另一示例中,为了对画面中的量化矩阵中的系数进行预测性的编码/解码,可在画面参数集或画面头中对量化矩阵系数值的差值或最低频率矩阵系数值中的至少一个进行熵编码/解码。
在另一示例中,为了对条带中的量化矩阵中的系数进行预测性的编码/解码,可在条带头中对量化矩阵系数值的差值或最低频率矩阵系数值中的至少一个进行熵编码/解码。
在另一示例中,为了对并行块组中的量化矩阵中的系数进行预测性的编码/解码,可在并行块组头中对量化矩阵系数值的差值或最低频率矩阵系数值中的至少一个进行熵编码/解码。
在另一示例中,为了对并行块中的量化矩阵中的系数进行预测性地编码/解码,可在并行块头中对量化矩阵系数值的差值或最低频率矩阵系数值中的至少一个进行熵编码/解码。
编码器可在以下处理中对量化矩阵中的先前被编码的量化矩阵系数值与编码目标量化矩阵系数值之间的差值进行编码。
在第一处理中,可执行扫描以将二维量化矩阵中的系数中的至少一个排列在一维系数阵列中。
在第二处理中,可产生scaling_list_delta_coef,其中,scaling_list_delta_coef是通过扫描方法的编码目标量化矩阵系数与位于一维系数阵列中的前面的顺序中的量化矩阵系数之间的差值。此时,可使用DPCM来计算差值,并且位于前面的顺序中的量化矩阵系数可以是紧接在编码目标量化矩阵系数之前的编码系数。另外,由于将被预测的一维系数阵列中的第一系数不具有位于前面的顺序中的量化矩阵系数,因此可使用预定常数值来产生差值。例如,当量化矩阵尺寸大于8×8时,可使用DC矩阵系数或最低频率矩阵系数来产生差值。此时,预定常数值可以是作为正整数的C和D之间的值,并且更具体地讲,可以是诸如8或16的正值。
在第三处理中,可使用指数哥伦布码对作为计算出的差值的scaling_list_delta_coef进行编码。此时,差值具有正负号信息,并且因此可使用正负号指数哥伦布码被编码。scaling_list_delta_coef可限于-A和B之间的值,并且可被编码为-A和B之间的值。
编码器可在以下处理中对先前在量化矩阵中被编码的量化矩阵系数值与解码目标量化矩阵系数值之间的差值进行解码。
在第一处理中,可使用指数哥伦布码对scaling_list_delta_coef进行解码。scaling_list_delta_coef可限于-A与B之间的值,差值具有正负号信息且因此可使用带正负号指数哥伦布码被解码为-A与B之间的值。可按解码顺序将解码出的差值顺序地存储在一维系数阵列中。
在第二处理中,计算解码出的差值和位于一维系数阵列中的前面的顺序中的量化矩阵系数的和,以重建作为解码目标量化矩阵系数的nextCoef或scalingList[i]。此时,i可表示一维系数阵列中的阶数。可使用逆DPCM来计算解码目标量化矩阵系数,并且位于前面的顺序中的量化矩阵系数可以是紧接在解码目标量化矩阵系数之前的解码系数。另外,将被预测的一维系数阵列中的第一系数不具有位于前面的顺序中的量化矩阵系数,并且因此可使用预定常数来重建。例如,当量化矩阵尺寸大于8×8时,可使用DC矩阵系数或最低频率矩阵系数来重建量化矩阵。此时,预定常数值可以是作为正整数的C和D之间的值,并且更具体地讲,可以是诸如8或16的正值。重建的量化矩阵系数可以是C和D之间的值。
在第三处理中,可执行反向扫描以在二维量化矩阵中排列重建的一维系数阵列。此时,可以以与扫描相同的方式执行反向扫描,或者可以以与扫描相反的顺序执行反向扫描。
A、B、C和D可以是正整数。
例如,当量化矩阵由6比特表示时,A可以是32,B可以是31,并且A+B可以是63。
在另一示例中,当量化矩阵系数由8比特表示时,A可以是128,B可以是127,并且A+B可以是255。
在另一示例中,当量化矩阵系数由10比特表示时,A可以是512,B可以是511,并且A+B可以是1023。
例如,当量化矩阵系数由6比特表示时,C可以是1,并且D可以是63。
在另一示例中,当量化矩阵系数由8比特表示时,C可以是1,并且D可以是255。
在另一示例中,当量化矩阵系数由10比特表示时,C可以是1,并且D可以是1023。
图65至图73是示出根据本发明的实施例的用于量化矩阵系数的扫描方法的示图。
可针对编码目标量化矩阵系数或重建的系数中的至少一个执行以下扫描方法中的至少一个。
如在图65的示例中,可使用对角线扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用对角线扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,对角线扫描方向可以是如图65的示例中的从左下侧到右上侧,或者可以是从右上侧到左下侧。
当扫描方向是从左下侧到右上侧时,扫描可被称为右上对角线扫描。另外,当扫描方向是从右上侧到左下侧时,扫描可被称为左下对角线扫描。
图65将右上对角线扫描示出为对角线扫描。
如在图66的示例中,可使用水平扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用水平扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,在水平扫描中,可优先扫描与第一行相应的系数。
如在图67的示例中,可使用垂直扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用垂直扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,在垂直扫描中,可优先扫描与第一列相应的系数。
如在图68的示例中,可使用基于块的对角线扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用基于块的对角线扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,块尺寸可以是M×N。这里,M或N中的至少一个可以是正整数并且可以是4。另外,块尺寸可等于用于变换系数编码/解码的系数组的尺寸。
对角线扫描方向可以是如在图68的示例中的从左下侧到右上侧。另外,对角线扫描方向可以是从右上侧到左下侧。
图68将基于块的右上对角线扫描示出为基于块的对角线扫描。
此时,块可表示从特定块尺寸分区出的子块。当使用基于块的扫描时,可使用与块的扫描方法相同的扫描方法来扫描特定块中的子块。
如在图68的示例中,当使用基于块的对角线扫描时,可将尺寸为8×8的块分区为每一个具有4×4的尺寸的子块,可使用对角线扫描来扫描每一个具有4×4的尺寸的子块,并且可使用对角线扫描来扫描子块中的系数。
如在图69的示例中,可使用基于块的水平扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用基于块的水平扫描在二维量化矩阵中排列重建的一维系数阵列。此时,块尺寸可以是4×4,并且可优先扫描与第一行相应的块。
此时,块尺寸可以是M×N。这里,M或N中的至少一个可以是正整数并且可以是4。另外,块尺寸可等于用于变换系数编码/解码的系数组的尺寸。
此时,在基于块的水平扫描中,可优先扫描与第一行相应的块。
如在图70的示例中,可使用基于块的垂直扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用基于块的垂直扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,块尺寸可以是M×N。这里,M或N中的至少一个可以是正整数并且可以是4。另外,块尺寸可等于用于变换系数编码/解码的系数组的尺寸。
此时,在基于块的垂直扫描中,可优先扫描与第一列相应的块。
如在图71的示例中,可使用基于块的水平扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用基于块的水平扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,块尺寸可以是M×N。这里,M或N中的至少一个可以是正整数,并且可分别是8和2。另外,块尺寸可等于用于变换系数编码/解码的系数组的尺寸。
此时,在基于块的水平扫描中,可优先扫描与第一行相应的块。
如在图72的示例中,可使用基于块的垂直扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用基于块的垂直扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,块尺寸可以是M×N。这里,M或N中的至少一个可以是正整数,并且可分别是2和8。另外,块尺寸可等于用于变换系数编码/解码的系数组的尺寸。
此时,在基于块的垂直扫描中,可优先扫描相应于第一列的块。
如在图65至图72的示例中,针对J×K块,与(a)相应的扫描可被用于尺寸为J×K的量化矩阵,针对诸如8×8/16×16/32×32/64×64的至少一个块或尺寸为M×N的量化矩阵,与(b)相应的扫描可被用于尺寸为M×N或更大的量化矩阵。J、K、M和N可以是正整数。此外,J和K可分别小于M和N。此外,J×K可以是4×4并且M×N可以是8×8。
尽管在图65至72的示例中仅示出与8×8的最大尺寸相应的扫描方法,但是与8×8的尺寸相应的扫描方法可被应用于与大于8×8的尺寸相应的扫描方法,并且该扫描方法不仅可被应用于正方形的量化矩阵,而且还可被应用于非方形的量化矩阵。
编码器可对量化矩阵系数执行扫描,以便将正方形/非正方形类型的二维量化矩阵中的量化矩阵系数分类为一维类型系数阵列。另外,解码器可对量化矩阵系数执行扫描,以便将重建的一维类型系数阵列排列到正方形/非正方形类型的二维量化矩阵中。另外,将以二维量化矩阵排列的量化矩阵可以是编码器和解码器中的预定义默认矩阵。
如在图73的示例中,可扫描量化矩阵系数中的至少一个。
例如,如在图73(a)的示例中,可使用对角线扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用对角线扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,对角线扫描方向可以是如图73(a)的示例中的从左下侧到左上侧,并且可以是从右上侧到左下侧。
当扫描方向是从左下侧到右上侧时,扫描可被称为右上对角线扫描。另外,当扫描方向是从右上侧到左下侧时,扫描可被称为左下对角线扫描。
图73的(a)将右上对角线扫描示出为对角线扫描。
在另一示例中,如在图73的(b)的示例中,可使用垂直扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用垂直扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,在垂直扫描中,可优先扫描与第一列相应的系数。
在另一示例中,如在图73的(c)的示例中,可使用水平扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用水平扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,在水平扫描中,可以优先扫描相应于第一行的系数。
在另一示例中,如在图73的(d)的示例中,可使用基于块的对角线扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,可使用基于块的对角线扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,块尺寸可以是M×N。这里,M或N中的至少一个可以是正整数并且可以是4。另外,块尺寸可等于用于变换系数编码/解码的系数组的尺寸。
对角线扫描方向可以是如在图73的(d)的示例中的从左下侧到右上侧。另外,对角线扫描方向可以是从右上侧到左下侧。
图73的(d)将基于块的右上对角线扫描示出为针对8×4块的基于块的对角线扫描。
在另一示例中,如在图73的(e)的示例中,针对整个8×4块,可使用基于块的垂直扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,针对整个8×4块,可使用基于块的垂直扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,块尺寸可以是M×N。这里,M或N中的至少一个可以是正整数并且可以是4。另外,块尺寸可等于用于变换系数编码/解码的系数组的尺寸。
此时,在基于块的垂直扫描中,可优先扫描与第一列相应的块。
在另一示例中,如在图73的(f)的示例中,针对整个4×8块,可使用的基于块的水平扫描在一维系数阵列中排列二维量化矩阵中的系数。另外,针对整个4×8块,可使用基于块的水平扫描在二维量化矩阵中排列重建的一维系数阵列。
此时,块尺寸可以是M×N。这里,M或N中的至少一个可以是正整数并且可以是4。另外,块尺寸可等于用于变换系数编码/解码的系数组的尺寸。
此时,在基于块的水平扫描中,可优先扫描与第一行相应的块。
如在以上示例中,当用于非正方形块的量化矩阵具有非正方形形式时,可在扫描量化矩阵时以非正方形形式执行扫描,或者可通过将相应量化矩阵分区为具有M×N的尺寸(即特定正方形块单元)来执行针对每一个特定正方形块单元的扫描和特定正方形块单元中的扫描。这里,M和N可以是正整数,并且可具有相同的值或不同的值。
在下文中,将描述重建量化矩阵的步骤。
图74至76是示出根据本发明的实施例的重建量化矩阵的处理的示图。
在二维量化矩阵中排列和重建的量化矩阵系数可被重建为正方形的二维量化矩阵以用于量化/反量化。此时,可使用上采样、插值、DC矩阵系数或最低频率矩阵系数替换、子采样或下采样中的至少一种来重建二维量化矩阵。重建量化矩阵的示例如下。
例如,可使用以下方法重建用于对尺寸为M×M(诸如,2×2、4×4、8×8、16×16、32×32或64×64)的正方形块进行量化/反量化的量化矩阵。这里,M可以是正整数。
如在等式1的示例中,可通过针对尺寸为4×4的排列的二维量化矩阵QM执行子采样来重建用于对尺寸为2×2的块进行量化/反量化的量化矩阵RQM。
[等式1]
RQM(x,y)=QM(x*F,y*F),其中,x=0、1,y=0、1,F=2
可选地,在等式2的示例中,在用于对尺寸为2×2的块进行量化/反量化的量化矩阵RQM中,可在不进行改变的情况下使用尺寸为2×2的排列的二维量化矩阵QM。
[等式2]
RQM(x,y)=QM(x,y),其中,x=0、1,y=0、1
如在等式3的示例中,在用于对尺寸为4×4的块进行量化/反量化的量化矩阵RQM中,可在不进行改变的情况下使用尺寸为4×4的排列的二维量化矩阵QM。
[等式3]
RQM(x,y)=QM(x,y),其中,x=0、1、……、3,y=0、1、……、3
如在等式4的示例中,在用于对尺寸为8×8的块进行量化/反量化的量化矩阵RQM中,可在不进行改变的情况下使用尺寸为8×8的排列的二维量化矩阵QM。
[等式4]
RQM(x,y)=QM(x,y),其中,x=0、1、……、7,y=0、1、……、7
如在等式5的示例中,如在图75的示例中,可通过在从最接近尺寸为8×8的排列的二维量化矩阵QM的邻近矩阵系数进行复制的同时执行上采样来重建用于对尺寸为16×16的块进行量化/反量化的量化矩阵RQM。另外,如在等式6的示例中,位于量化矩阵中的位置(0,0)处的量化矩阵系数可被作为DC矩阵系数或最低频率矩阵系数的值scaling_list_dc_coef_minus8+8代替。
[等式5]
RQM(x,y)=QM(x/F,y/F),其中x=0、1、……、15,y=0、1、……、15,F=2
[等式6]
RQM(0,0)=scaling_list_dc_coef_minus8+8
如在等式7的示例中,如在图75的示例中,可通过在从最接近尺寸为8×8的排列的二维量化矩阵QM的邻近矩阵系数进行复制的同时执行上采样来重建用于对尺寸为32×32的块进行量化/反量化的量化矩阵RQM。另外,如在等式8的示例中,位于量化矩阵中的位置(0,0)处的量化矩阵系数可被作为DC矩阵系数或最低频率矩阵系数的值scaling_list_dc_coef_minus8+8代替。
[等式7]
RQM(x,y)=QM(x/F,y/F),其中x=0、1、……、31,y=0、1、……、31,F=4
[等式8]
RQM(0,0)=scaling_list_dc_coef_minus8+8
如在等式9的示例中,如在图75的示例中,可通过在从最接近尺寸为8×8的排列的二维量化矩阵QM的相邻矩阵系数进行复制的同时执行上采样来重建用于对尺寸为64×64的块进行量化/反量化的量化矩阵RQM。另外,如在等式10的示例中,位于量化矩阵中的位置(0,0)处的量化矩阵系数可被作为DC矩阵系数或最低频率矩阵系数的值scaling_list_dc_coef_minus8+8代替。
[等式9]
RQM(x,y)=QM(x/F,y/F),其中x=0、1、……、63,y=0、1、……、63,F=8
[等式10]
RQM(0,0)=scaling_list_dc_coef_minus8+8
在二维量化矩阵中排列和重建的量化矩阵系数可被重建为非正方形的二维量化矩阵以用于量化/反量化。此时,可使用上采样、插值、DC矩阵系数或最低频率矩阵系数替换、子采样或下采样中的至少一种来重建二维量化矩阵。重建量化矩阵的示例如下。
例如,可使用以下方法重建用于尺寸为M×N(诸如,2×2、4×2、2×4、4×4、8×4、8×2、2×8、4×8、8×8、16×8、16×4、16×2、2×16、4×16、8×16、16×16、32×16、32×8、32×4、32×2、2×32、4×32、8×32、16×32、32×32、64×32、64×16、64×8、64×4、64×2、2×64、4×64、8×64、16×64、32×64、64×64、128×64、128×32、32×128、64×128或128×128)的非正方形块的量化矩阵。这里,M和N可以是正整数。此外,M和N可具有不同的值。
如在等式11的示例中,如在图76中的(a)的示例中,可通过在y位置(行、垂直方向)处跳过J(=F-1)行的同时针对尺寸为8×8的重建的量化矩阵QM执行子采样,来重建用于对尺寸为8×2的块进行量化/反量化的量化矩阵RQM。这里,J可以是正整数。
[等式11]
RQM(x,y)=QM(x,y*F),其中,x=0、1、……、7,y=0、1,F=4
如在等式12的示例中,如在图76中的(b)的示例中,可通过在x位置(列、水平方向)处跳过K(=F-1)列的同时针对尺寸为8×8的重建量化矩阵QM执行子采样,来重建用于对尺寸为2×8的块进行量化/反量化的量化矩阵RQM。这里,K可以是正整数。
[等式12]
RQM(x,y)=QM(x*F,y),其中x=0、1,y=0、1、……7,F=4
如在等式13的示例中,如在图76中的(a)的示例中,可通过在y位置(行、垂直方向)处跳过J(=F-1)行的同时针对尺寸为16×16的重建的量化矩阵QM执行子采样,来重建用于对尺寸为16×4的块进行量化/反量化的量化矩阵RQM。这里,J可以是正整数。
[等式13]
RQM(x,y)=QM(x,y*F),其中,x=0、1、……、15,y=0、1、……、3,F=4
如在等式14的示例中,如在图76中的(b)的示例中,可通过在x位置(列、水平方向)处跳过K(=F-1)列的同时针对尺寸为16×16的重建的量化矩阵QM执行子采样,来重建用于对尺寸为4×16的块进行量化/反量化的量化矩阵RQM。这里,K可以是正整数。
[等式14]
RQM(x,y)=QM(x*F,y),其中,x=0、1、……3,y=0、1、……、15,F=4
如在等式15的示例中,如在图76中的(a)的示例中,可通过在y位置(行、垂直方向)处跳过J(=F-1)行的同时针对尺寸为32×32的重建量化矩阵QM执行子采样,来重建用于对尺寸为32×8的块进行量化/反量化的量化矩阵RQM。这里,J可以是正整数。
[等式15]
RQM(x,y)=QM(x,y*F),其中,x=0、1、……、31,y=0、1、……、7,F=4
如在等式16的示例中,如在图76中的(b)的示例中,可通过在x位置(列、水平方向)处跳过K(=F-1)列的同时针对尺寸为32×32的重建量化矩阵QM执行子采样,来重建用于对尺寸为8×32的块进行量化/反量化的量化矩阵RQM。这里,K可以是正整数。
[等式16]
RQM(x,y)=QM(x*F,y),其中x=0、1、……、7,y=0、1、……、31,F=4
如在等式17的示例中,如在图76中的(a)的示例,可通过在y位置(行、垂直方向)处跳过J(=F-1)行的同时针对尺寸为64×64的重建量化矩阵QM执行子采样,来重建用于对尺寸为64×32的块进行量化/反量化的量化矩阵RQM。这里,J可以是正整数。
[等式17]
RQM(x,y)=QM(x,y*F),其中,x=0、1、……、63,y=0、1、……、31,F=2
如在等式18的示例中,如在图76中的(b)的示例中,可通过在x位置(列、水平方向)处跳过K(=F-1)列的同时针对尺寸为64×64的重建量化矩阵QM执行子采样,来重建用于对尺寸为32×64的块进行量化/反量化的量化矩阵RQM。这里,K可以是正整数。
[等式18]
RQM(x,y)=QM(x*F,y),其中,x=0、1、……、31,y=0、1、……、63,F=2
也就是说,可针对尺寸为M×N的量化矩阵在行或列中的至少一个中执行子采样,从而重建尺寸为J×K的量化矩阵。这里,J、K、M和N可以是正整数。此外,J和K可以是不同的值。
当通过在行中进行子采样来产生尺寸为J×K的量化矩阵时,可在尺寸为M×N的量化矩阵中跳过(N/K)-1行的同时执行子采样。
当通过在列中进行子采样来产生尺寸为J×K的量化矩阵时,可在跳过尺寸为M×N的量化矩阵中的(M/J)-1列的同时执行子采样。
这里,F可以是2的倍数的整数。此外,F可包括1。
此外,F可以由(M/J)来表示。可选地,F可由(N/K)来表示。这里,J可表示变换块的宽度。另外,K可表示变换块的高度。
另外,如在等式18-1的示例中,可在x位置(列、水平方向)处跳过(Fx-1)个列的同时针对尺寸为M×N的量化矩阵执行子采样,并且可在y位置(行、垂直方向)处跳过(Fy-1)个行的同时执行子采样,从而重建用于对尺寸为J×K的块进行量化/反量化的量化矩阵RQM。
[等式18-1]
RQM(x,y)=QM(x*Fx,y*Fy),其中,Fx=M/J,Fy=N/K
其中,Fx和Fy中的每一个可以是作为2的倍数的整数。此外,Fx和Fy可以是不同的值。
重建的量化矩阵QM可表示初级量化矩阵。也就是说,通过针对初级量化矩阵执行预定的子采样,可获取当前块的最终量化矩阵(例如,RQM)。
如在图74的示例中,排列并重建为二维量化矩阵的量化矩阵系数可被重建为将被用于量化/反量化的非正方形的二维量化矩阵。此时,可使用上采样、插值、DC矩阵系数或最低频率矩阵系数替换、子采样或下采样中的至少一种来重建二维量化矩阵,并且可如等式19的示例重建量化矩阵。此时,可从正方形的量化矩阵ScalingFactor重建非正方形的量化矩阵ScalingFactorR。
[等式19]
ScalingFactorR[sizeIdW][sizeIdH][matrixId][x][y]=ScalingFactor[sId][matrixId][x*rW][y*rH],
sId=max(sIdW,sIdH),sIdW=0……6,sIdH=0……6,matrixId=0……5或matrixId=0……8,x=0……(1<<sIdW)-1,y=0……(1<<sIdH)-1,以及rW=(1<<sId)/(1<<sIdW),rH=(1<<sId)/(1<<sIdH)
如果用于对尺寸为M×N的块进行量化/反量化的默认矩阵作为尺寸为J×K的默认矩阵存在以便减少在编码器和解码器中预定义的默认矩阵的存储器存储空间,则可通过在根据以下等式从最邻近矩阵系数执行复制的同时执行上采样、插值、子采样或下采样中的至少一种,来重建尺寸为M×N的量化矩阵。这里,M、N、J和K可以是正整数。
如在等式20的示例中,可通过针对尺寸为4×4的默认DQM执行子采样来重建用于对尺寸为2×2的块进行量化/反量化的量化矩阵RQM。
[等式20]
RQM(x,y)=DQM(x*F,y*F),其中x=0、1,y=0、1,F=2
如在等式21的示例中,如图75的示例中,可通过从最邻近矩阵系数执行复制的同时对尺寸为8×8的默认DQM进行子采样,来重建用于对尺寸为16×16的的块进行量化/反量化的量化矩阵RQM。
[等式21]
RQM(x,y)=DQM(x/F,y/F),其中x=0、1、……、15,y=0、1、……、15,F=2
如在等式22的示例中,如在图75的示例中,可通过在从最邻近矩阵系数执行复制的同时对尺寸为8×8的默认DQM进行子采样,来重建用于对尺寸为32×32的尺寸的块的量化/反量化的量化矩阵RQM。
[等式22]
RQM(x,y)=DQM(x/F,y/F),其中x=0、1、……、31,y=0、1、……、31,F=4
如在等式23的示例中,如在图75的示例中,可通过在从最邻近矩阵系数执行复制的同时对尺寸为8×8的默认DQM进行子采样,来重建用于对尺寸为64×64的块进行量化/反量化的量化矩阵RQM。
[等式23]
RQM(x,y)=DQM(x/F,y/F),其中x=0、1、……、63,y=0、1、……、63,F=8
如在等式24的示例中,如在图76的(a)的示例中,可通过在y位置(行、垂直方向)处跳过J(=F-1)个行的同时对尺寸为8×8的默认量化矩阵DQM进行子采样,来重建用于对尺寸为8×2的块进行量化/反量化的量化矩阵RQM。这里,J可以是正整数。
[等式24]
RQM(x,y)=DQM(x,y*F),其中,x=0、1、……、7,y=0、1,F=4
如在等式25的示例中,如在图76的(b)的示例中,可通过在x位置(列、水平方向)处跳过K(=F-1)个列的同时对尺寸为8×8的默认量化矩阵DQM进行子采样,来重建用于对尺寸为2×8的块进行量化/反量化的量化矩阵RQM。这里,K可以是正整数。
[等式25]
RQM(x,y)=DQM(x*F,y),其中,x=0、1,y=0、1、……、7,F=4
如在等式26的示例中,可通过在x位置(列、水平方向)处对尺寸为8×8的默认量化矩阵DQM进行子采样来重建用于对尺寸为16×8的块进行量化/反量化的量化矩阵RQM。
[等式26]
RQM(x,y)=DQM(x/F,y),其中,x=0、1、……、15,y=0、1、……、7,F=2
如在等式27的示例中,可通过在y位置(行、垂直方向)处对尺寸为8×8的默认量化矩阵DQM进行子采样来重建用于对尺寸为8×16的块进行量化/反量化的量化矩阵RQM。
[等式27]
RQM(x,y)=DQM(x,y/F),其中,x=0、1、……、7,y=0、1、……、15,F=2
如在等式28的示例中,可通过在x位置(列、水平方向)处对尺寸为8×8的默认矩阵DQM进行上采样并且在y位置(行、垂直方向)处跳过J(=F-1)行的同时对尺寸为8×8的默认矩阵DQM进行子采样,来重建用于对尺寸为16×4的块进行量化/反量化的量化矩阵RQM。这里,J可以是正整数。
[等式28]
RQM(x,y)=DQM(x/F,y*F),其中x=0、1、……、15,y=0、1、……、3,F=2
如在等式29的示例中,可通过在x位置(列、水平方向)处跳过K(=F-1)个列的同时对尺寸为8×8的默认量化矩阵DQM进行上采样并且在y位置(行、垂直方向)处对尺寸为8×8的默认量化矩阵DQM进行子采样,来重建用于对尺寸为4×16的块进行量化/反量化的量化矩阵RQM。这里,K可以是正整数。
[等式29]
RQM(x,y)=DQM(x*F,y/F),其中x=0、1、……、3,y=0、1、……、15,F=2
如在等式30的示例中,可通过在x位置(列、水平方向)处通过Fx对尺寸为8×8的默认量化矩阵DQM进行上采样并且在y位置(行、垂直方向)处跳过J(=Fy-1)行的同时对尺寸为8×8的默认量化矩阵DQM进行子采样,来重建用于对尺寸为32×4的块进行量化/反量化的量化矩阵RQM。这里,J可以是正整数。
[等式30]
RQM(x,y)=DQM(x/Fx,y*Fy),其中x=0、1、……、31,y=0、1、……、3,Fx=4,Fy=2
如在等式31的示例中,可通过在x位置(列、水平方向)处跳过K(=Fx-1)的同时对尺寸为8×8的默认量化矩阵DQM进行上采样并且在y位置(行、垂直方向)处通过Fy对尺寸为8×8的默认量化矩阵DQM进行子采样,来重建用于对尺寸为4×32的块进行量化/反量化的量化矩阵RQM。这里,K可以是正整数。
[等式31]
RQM(x,y)=DQM(x*Fx,y/Fy),其中x=0、1、……、3,y=0、1、……、31,Fx=2,Fy=4
如在等式32的示例中,可通过在x位置(列、水平方向)和y位置(行、垂直方向)处通过Fx和Fy对尺寸为8×8的默认量化矩阵DQM进行上采样来重建用于对尺寸为64×32的块进行量化/反量化的量化矩阵RQM,其中,Fx和Fy是具有不同大小的因子。
[等式32]
RQM(x,y)=DQM(x/Fx,y/Fy),其中x=0、1、……、63,y=0、1、……、31,Fx=8,Fy=4
如在等式33的示例中,可通过在x位置(列、水平方向)和y位置(行、垂直方向)处通过Fx和Fy对尺寸为8×8的默认量化矩阵DQM进行上采样来重建用于对尺寸为32×64的块进行量化/反量化的量化矩阵RQM,其中,Fx和Fy是具有不同大小的因子。
[等式33]
RQM(x,y)=DQM(x/Fx,y/Fy),其中x=0、1、……、31,y=0、1、……、63,Fx=4,Fy=8
为了使用默认矩阵和编码/解码的量化矩阵来重建用于量化/反量化的量化矩阵,可使用以下方法中的至少一种。此时,可基于默认矩阵、编码/解码的量化矩阵或用于量化/反量化的量化矩阵中的至少一个的尺寸来执行以下方法中的至少一种。
例如,可在行方向和列方向上针对默认矩阵或编码/解码的量化矩阵中的至少一个执行子采样/下采样,从而重建用于量化/反量化的正方形的量化矩阵。
在另一示例中,可在行方向和列方向上针对默认矩阵或编码/解码的量化矩阵中的至少一个执行上采样/插值,从而重建用于量化/反量化的正方形的量化矩阵。
在另一示例中,可在行方向或列方向上针对默认矩阵或编码/解码的量化矩阵中的至少一个执行子采样/下采样,从而重建用于量化/反量化的非正方形的量化矩阵。此时,用于子采样/下采样的因子在行方向和列方向上可彼此不同。
在另一示例中,可在行方向或列方向上针对默认矩阵或编码/解码的量化矩阵中的至少一个执行上采样/插值,从而重建用于量化/反量化的非正方形的量化矩阵。此时,用于上采样/插值的因子在行方向和列方向上可彼此不同。
在另一示例中,针对默认矩阵或编码/解码的量化矩阵中的至少一个,可在行方向上执行上采样/插值,并且可在列方向上执行子采样/下采样,从而重建用于量化/反量化的非正方形的量化矩阵。此时,用于上采样/插值和子采样/下采样的因子可彼此不同。
在另一示例中,针对默认矩阵或编码/解码的量化矩阵中的至少一个,可在行方向上执行子采样/下采样,并且可在列方向上执行上采样/插值,从而重建用于量化/反量化的非正方形的量化矩阵。此时,用于上采样/插值和子采样/下采样的因子可彼此不同。
在等式1至等式33中,QM(x,y)可表示尺寸为4×4的排列的二维量化矩阵,RQM(x,y)表示重建的量化矩阵,DQM(x,y)可表示默认矩阵。
从最邻近矩阵系数执行复制的上采样方法可被称为最邻近插值方法或零阶插值方法。
另外,可使用以下方法中的至少一种来重建量化矩阵。
可如等式34的示例推导尺寸为2×2的量化矩阵的系数ScalingFactor[sizeId][matrixId][][]。
[等式34]
ScalingFactor[sizeId][matrixId][x][y]=ScalingList[sizeId][matrixId][i],其中,i=0、……、3,matrixId=0、……、5或matrixId=0、……、8,x=ScanOrder[2][0][i][0],并且y=ScanOrder[2][0][i][1]
可如等式35的示例推导尺寸为4×4的量化矩阵的系数ScalingFactor[sizeId][matrixId][][]。
[等式35]
ScalingFactor[sizeId][matrixId][x][y]=ScalingList[sizeId][matrixId][i],其中,i=0、……、15,matrixId=0、……、5或matrixId=0、……、8,x=ScanOrder[2][0][i][0],并且y=ScanOrder[2][0][i][1]
可如等式36的示例推导尺寸为8×8的量化矩阵的系数ScalingFactor[sizeId][matrixId][][]。
[等式36]
ScalingFactor[sizeId][matrixId][x][y]=ScalingList[sizeId][matrixId][i],其中,i=0、……、63,matrixId=0、……、5或matrixId=0、……、8,x=ScanOrder[3][0][i][0],并且y=ScanOrder[3][0][i][1]
可如等式37和等式38的示例推导尺寸为16×16的量化矩阵的系数ScalingFactor[sizeId][matrixId][][]。
[等式37]
ScalingFactor[sizeId][matrixId][x*2+k][y*2+j]=ScalingList[sizeId][matrixId][i],其中,i=0、……、63,j=0、……、1,k=0、……、1,matrixId=0、……、5或matrixId=0、……、8,x=ScanOrder[3][0][i][0],并且y=ScanOrder[3][0][i][1]
[等式38]
ScalingFactor[sizeId][matrixId][0][0]=scaling_list_dc_coef_minus8[0][matrixId]+8,其中,matrixId=0、……、5或matrixId=0、……、8
可如等式39和等式40的示例推导尺寸为32×32的量化矩阵的系数ScalingFactor[sizeId][matrixId][][]。
[等式39]
ScalingFactor[sizeId][matrixId][x*4+k][y*4+j]=ScalingList[sizeId][matrixId][i]其中,i=0、……、63,j=0、……、3,k=0、……、3,matrixId=0、……、5或matrixId=0、……、8,x=ScanOrder[3][0][i][0],并且y=ScanOrder[3][0][i][1]
[等式40]
ScalingFactor[sizeId][matrixId][0][0]=scaling_list_dc_coef_minus8[1][matrixId]+8,其中,matrixId=0、……、5或matrixId=0、……、8
可如等式41和等式42的示例推导尺寸为64×64的量化矩阵的系数ScalingFactor[sizeId][matrixId][][]。
[等式41]
ScalingFactor[sizeId][matrixId][x*8+k][y*8+j]=ScalingList[sizeId][matrixId][i],其中,i=0、……、63,j=0、……、7,k=0、……、7,matrixId=0、……、5或matrixId=0、……、8,x=ScanOrder[3][0][i][0],并且y=ScanOrder[3][0][i][1]
[等式42]
ScalingFactor[sizeId][matrixId][0][0]=scaling_list_dc_coef_minus8[1][matrixId]+8,其中,matrixId=0、……、5或matrixId=0、……、8
可选地,可如等式43和等式44的示例推导尺寸为64×64的量化矩阵的系数ScalingFactor[sizeId][matrixId][][]。
[等式43]
ScalingFactor[sizeId][matrixId][x*8+k][y*8+j]=ScalingList[sizeId][matrixId][i],其中,i=0、……、63,j=0、……、7,k=0、……、7,matrixId=0、3或matrixId=0、3、6,x=ScanOrder[3][0][i][0],并且y=ScanOrder[3][0][i][1]
[等式44]
ScalingFactor[sizeId][matrixId][0][0]=scaling_list_dc_coef_minus8[1][matrixId]+8,其中,matrixId=0、3或matrixId=0、3、6
在量化/反量化处理中使用的量化矩阵的尺寸和编码/解码的量化矩阵的大小可相等。
例如,当块、变换或量化矩阵中的至少一个的权重或高度中的至少一个小于等于M时,在量化/反量化处理中使用的量化矩阵的尺寸和编码/解码的量化矩阵的尺寸可彼此相等。此时,M可以是正整数。例如,M可以是8。
在量化/反量化处理中使用的量化矩阵的尺寸和编码/解码的量化矩阵的尺寸可彼此不同。
例如,当块、变换或量化矩阵中的至少一个的宽度或高度中的至少一个大于M时,在量化/反量化处理中使用的量化矩阵的尺寸和编码/解码的量化矩阵的尺寸可彼此不同。此时,M可以是正整数。例如,M可以是8。
当量化/反量化处理中使用的量化矩阵的尺寸和编码/解码的量化矩阵的尺寸彼此不同时,编码器可针对量化矩阵执行上采样、插值、子采样或下采样中的至少一个,并且对量化矩阵进行熵编码。
当量化/反量化处理中使用的量化矩阵的尺寸和编码/解码的量化矩阵的尺寸彼此不同时,解码器可在水平方向(列方向)和垂直方向(行方向)中的至少一个方向上对熵编码的量化矩阵执行上采样、插值、子采样或下采样中的至少一个,并且重建量化矩阵。
当块尺寸大于M×N时,与块尺寸相同尺寸的量化矩阵可在块的量化/反量化处理中被使用并被编码/解码,其中,量化矩阵由尺寸为J×K的量化矩阵表示/构建。
此时,M、N、J和K可以是正整数。例如,M、N、J或K中的至少一个可以是8。
另外,J可小于或等于M,并且K可小于或等于N。
在尺寸为J×K的块的量化/反量化处理中,尺寸与块尺寸相同的量化矩阵被使用并被编码和解码,其中,量化矩阵由具有J或K中的至少一个被M替代的尺寸的量化矩阵表示/构建,其中,当尺寸为J×K的量化矩阵中的J或K中的至少一个大于M时,J或K中的至少一个被M替代。此时,量化矩阵可被编码/解码为具有J×M、M×K或M×M中的至少一个的尺寸。
此时,M、N、J和K可以是正整数。例如,M、N、J或K中的至少一个可以是16。
例如,尺寸为16×16、32×32或64×64的量化矩阵可在针对尺寸为16×16、32×32或64×64的量化/反量化中被使用并被编码/解码,其中,量化矩阵由尺寸为8×8的量化矩阵表示/构建。
例如,编码器可在量化/反量化中使用尺寸为16×16、32×32或64×64的量化矩阵,并且对尺寸为16×16、32×32或64×64的量化矩阵进行子采样并将其编码为尺寸为8×8的量化矩阵。
例如,解码器可对尺寸为8×8的量化矩阵进行解码,执行插值并重建尺寸为16×16、32×32或64×64的量化矩阵,并且在反量化中使用尺寸为16×16、32×32或64×64的量化矩阵。
在以上示例中,在块具有大于32的宽度或高度(诸如,64×64、64×32、64×16、16×64或32×64)的情况下,变换的最大尺寸在水平方向或垂直方向上可以是32。在这种情况下,在量化/反量化中使用的量化矩阵的尺寸可与变换的尺寸相应。另外,量化矩阵可被编码/解码为具有与变换的尺寸相应的量化矩阵的尺寸。例如,可考虑当前块的变换尺寸来调整当前块的量化矩阵的系数值。也就是说,可用0替代当前块的量化矩阵中的除了与当前块的变换尺寸相应的第一区域之外的区域的系数。这里,第一区域可位于当前块的量化矩阵的左上侧。
例如,当在64×64块中使用32×32变换时,在量化/反量化中使用的量化矩阵的尺寸可以是32×32。可选地,在量化矩阵中的除了左上侧之外的区域具有32×32的尺寸的情况下,可用0替代该区域的系数。
在另一示例中,当在64×32块中使用32×32变换时,在量化/反量化中使用的量化矩阵的尺寸可以是32×32。可选地,在量化矩阵中的除了左上侧之外的区域具有32×32的尺寸的情况下,可用0替代该区域的系数。
在另一示例中,当在64×16块中使用32×16变换时,在量化/反量化中使用的量化矩阵的尺寸可以是32×16。可选地,在量化矩阵中的除了左上侧之外的区域具有32×16的尺寸的情况下,可用0替代该区域的系数。
可通过将水平翻转、垂直翻转或正负号改变中的至少一种应用于量化矩阵中的至少一个来执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。
例如,通过针对量化矩阵中的至少一个执行水平翻转、垂直翻转或正负号改变中的至少一种,可在量化/反量化处理中使用量化矩阵。
在另一示例中,可针对量化矩阵中的至少一个执行水平翻转、垂直翻转或正负号改变中的至少一种,并且量化矩阵可被用作量化/反量化处理中的默认矩阵。例如,量化矩阵可被用作量化/反量化处理中的默认矩阵。
在另一示例中,可针对量化矩阵中的至少一个执行水平翻转、垂直翻转或正负号改变中的至少一种,并且量化矩阵可被用作参考矩阵。例如,量化矩阵可被用作量化/反量化处理中的参考矩阵。
在另一示例中,可针对量化矩阵中的至少一个执行水平翻转、垂直翻转或正负号改变中的至少一种,由此执行量化矩阵之间的预测。
在另一示例中,可针对量化矩阵中的至少一个执行水平翻转、垂直翻转或正负号改变中的至少一种,由此针对量化矩阵中的系数执行预测性编码/解码。
另外,例如,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在基于DST-7的变换中使用的量化矩阵中的至少一个,以推导在基于DCT-8的变换中使用的量化矩阵,从而执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用该量化矩阵。此时,可执行水平翻转或垂直翻转。
在另一示例中,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在基于DCT-8的变换中使用的量化矩阵中的至少一个以推导在基于DST-7的变换中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。此时,可以执行水平翻转或垂直翻转。
在另一示例中,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在基于DST-4的变换中使用的量化矩阵中的至少一个,以推导在基于DCT-4的变换中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。此时,可执行水平翻转或垂直翻转。
在另一示例中,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在基于DCT-4的变换中使用的量化矩阵中的至少一个,以推导在基于DST-4的变换中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。此时,可执行水平翻转或垂直翻转。
另外,例如,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在水平变换和垂直变换(也就是说,基于DST-7的变换和基于DST-7的变换)中使用的量化矩阵中的至少一个,以推导在水平变换和垂直变换(也就是说,基于DCT-8的变换和基于DCT-8的变换)中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。此时,也可执行水平翻转或垂直翻转。
在另一示例中,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在水平变换和垂直变换(也就是说,基于DCT-8的变换和基于DCT-8的变换)中使用的量化矩阵中的至少一个,以推导在水平变换和垂直变换(也就是说,基于DST-7的变换和基于DST-7的变换)中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。此时,也可执行水平翻转或垂直翻转。
在另一示例中,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在水平变换和垂直变换(也就是说,基于DCT-8的变换和基于DST-7的变换)中使用的量化矩阵中的至少一个,以推导在水平变换和垂直变换(也就是说,基于DST-7的变换和基于DCT-8的变换)中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。
在另一示例中,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在水平变换和垂直变换(也就是说,基于DST-7的变换和基于DCT-8的变换)中使用的量化矩阵中的至少一个,以推导在水平变换和垂直变换(也就是说,基于DCT-8的变换和基于DST-7的变换)中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。
另外,例如,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在水平变换和垂直变换(也就是说,基于DST-4的变换和基于DST-4的变换)中使用的量化矩阵中的至少一个,以推导在水平变换和垂直变换(也就是说,基于DCT-4的变换和基于DCT-4的变换)中使用的量化矩阵,从而执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。此时,也可执行水平翻转或垂直翻转。
在另一示例中,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在水平变换和垂直变换(也就是说,基于DCT-4的变换和基于DCT-4的变换)中使用的量化矩阵中的至少一个,以推导在水平变换和垂直变换(也就是说,基于DST-4的变换和基于DCT-4的变换)中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。此时,也可执行水平翻转或垂直翻转。
在另一示例中,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在水平变换和垂直变换(也就是说,基于DCT-4的变换和基于DST-4的变换)中使用的量化矩阵中的至少一个,以推导在水平变换和垂直变换(也就是说,基于DST-4的变换和基于DCT-4的变换)中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。此时,也可执行水平翻转或垂直翻转。
在另一示例中,可将水平翻转、垂直翻转或正负号改变中的至少一种应用于在水平变换和垂直变换(也就是说,基于DST-4的变换和基于DCT-4的变换)中使用的量化矩阵中的至少一个,以推导在水平变换和垂直变换(也就是说,基于DCT-4的变换和基于DST-4的变换)中使用的量化矩阵,由此执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个。在量化/反量化处理中可使用所述量化矩阵。此时,也可执行水平翻转或垂直翻转。
DST-7、DCT-8、DST-4或DCT-4中的至少一个可以是使用从基于DCT-J或DST-K的整数变换(诸如,DCT-2、DCT-8、DST-7、DCT-4、DST-4等)中的至少一个提取出的变换矩阵的变换。
图77至图88示出实现根据本发明的实施例的量化矩阵编码/解码方法和设备以及用于存储比特流的记录介质所需的语法元素信息、语法元素信息的语义和编码/解码处理。
图89至图100是示出在根据本发明的实施例的在量化/反量化处理中使用的默认矩阵的示图。
参照图89至图92,类似于图21至图22的示例,在尺寸为M×N的块的量化/反量化处理中可使用在编码器和解码器中预定义的尺寸为J×K的默认矩阵。
这里,ScalingList[sizeId][matrixId][i]可指示与sizeId、matrixId和i相应的默认量化矩阵系数,并且sizeId和matrixId可表示在图55和图56或者图58和图59中定义的含义。
参照图93至图96,类似于图21至图22的示例,在尺寸为M×N的块的量化/反量化处理中可使用在编码器和解码器中预定义的尺寸为J×K的默认矩阵。
这里,ScalingList[sizeId][matrixId][i]可指示与sizeId、matrixId和i相应的默认量化矩阵系数,并且sizeId和matrixId可表示在图55和图56或者图58和图59中定义的含义。
参照图97至图100,类似于图21至图22的示例,在尺寸为M×N的块的量化/反量化处理中可使用在编码器和解码器中预定义的尺寸为J×K的默认矩阵。默认矩阵的矩阵系数值可全部具有常数值,而不论预测模式、颜色分量、块尺寸等如何。
这里,ScalingList[sizeId][matrixId][i]可指示与sizeId、matrixId和i相应的默认量化矩阵系数,并且sizeId和matrixId可表示在图55和图56或者图58和图59中定义的含义。也就是说,默认矩阵系数值可全部被设置为固定值,而不论sizeId和matrixId如何。此时,固定值可以是包括0的正整数,并且可以是16。
图101至图110是示出在编码器/解码器中实现根据本发明的实施例的量化矩阵编码/解码方法和设备以及用于存储比特流的记录介质所需的语法元素信息、语法元素信息的语义、以及编码/解码处理的示例的示图。
在上述实施例中,量化矩阵信息可表示量化矩阵或推导量化矩阵所需的信息中的至少一个。此时,推导量化矩阵所需的信息可包括量化矩阵使用信息、量化矩阵存在信息、量化矩阵预测方法信息、参考矩阵标识符、DC矩阵系数或最低频率矩阵系数、或者先前被编码/解码的量化矩阵系数值与将在量化矩阵中编码/解码的量化矩阵系数值之间的差分值中的至少一个。
可在参数集、报头或分块中的至少一个中对包括在量化矩阵信息中的语法元素中的至少一个进行熵编码/解码。此时,参数集、报头或分块中的至少一个可以是视频参数集、解码参数集、序列参数集、自适应参数集、画面参数集、画面头、子画面头、条带头、并行块组头、并行块头或分块中的至少一个。
这里,在用信号传送的参数集、报头或分块中的至少一个中,可使用用于量化矩阵信息的语法元素来执行量化/反量化。
例如,当在序列参数集中对用于量化矩阵信息的语法元素进行熵编码/解码时,可使用序列单元中的具有相同语法元素值的用于量化矩阵信息的语法元素来执行量化/反量化。
在另一示例中,当在条带头中对用于量化矩阵信息的语法元素进行熵编码/解码时,可使用条带单元中的具有相同语法元素值的用于量化矩阵信息的语法元素来执行量化/反量化。
在另一示例中,当在自适应参数集中对用于量化矩阵信息的语法元素进行熵编码/解码时,可使用引用相同的自适应参数集的单元中的具有相同语法元素值的量化矩阵信息的语法元素来执行量化/反量化。
自适应参数集可表示可由不同画面、子画面、条带、并行块组、并行块或并行块引用并在其中共享的参数集。
另外,可通过引用画面、条带、并行块组、并行块或分块的子画面中的不同的自适应参数集来使用自适应参数集中的信息。
另外,在画面、条带、并行块组、并行块或分块的子画面中,可使用不同的自适应参数集的标识符来引用不同的自适应参数集。
另外,在条带或分块中的并行块中,可使用不同的自适应参数集的标识符来引用不同的自适应参数集。
另外,在并行块的分块中,可使用不同自适应参数集的标识符来引用不同的自适应参数集。
画面的参数集或报头可包括关于自适应参数集标识符的信息。因此,可在画面中使用与相应的自适应参数集标识符相应的自适应参数集。
子画面的参数集或报头可包括关于自适应参数集标识符的信息。因此,可在子画面中使用与相应的自适应参数集标识符相应的自适应参数集。
并行块的参数集或报头可包括关于自适应参数集标识符的信息。因此,可在并行块中使用与相应的自适应参数集标识符相应的自适应参数集。
分块的报头可包括关于自适应参数集标识符的信息。因此,可在分块中使用与相应的自适应参数集标识符相应的自适应参数集。
画面可被分区为一个或更多个并行块行以及一个或更多个并行块列。子画面可被分区为画面中的一个或更多个并行块行以及一个或更多个并行块列。子画面可以是画面中具有矩形/正方形形状的区域,并且可包括一个或更多个CTU。另外,至少一个并行块/分块/条带可被包括在一个子画面中。
并行块可以是画面中具有矩形/正方形形状的区域并且可包括一个或更多个CTU。另外,并行块可被分区为一个或更多个分块。
分块可指并行块中的一个或更多个CTU行。并行块可被分区为一个或更多个分块,并且每一个分块可具有一个或更多个CTU行。未被分区为两个或更多个的并行块可指分块。
条带可包括画面中的一个或更多个并行块包括包括并行块中的一个或更多个块。
图111是示出自适应参数集的语法结构的实施例的示图。
如在图111的示例中,adaptation_parameter_set_id可表示由不同语法元素引用的自适应参数集的标识符。
当在比特流中不存在adaptation_parameter_set_id时,adaptation_parameter_set_id可被推断为第一值(例如,0)。
图112是示出自适应参数集类型信息的实施例的示图。
如在图112的示例中,aps_params_type可表示存在于自适应参数集中的自适应参数的类型。
例如,当aps_params_type具有第一值(例如,0)时,自适应参数集中的数据/内容/语法元素值可表示用于自适应环内滤波的参数。
当aps_params_type具有第二值(例如,1)时,自适应参数集中的数据/内容/语法元素值可表示用于具有色度缩放的亮度映射的参数。
当aps_params_type具有第三值(例如,2)时,自适应参数集中的数据/内容/语法元素值可表示量化矩阵的参数。这里,SL可表示缩放列表,该缩放列表表示量化矩阵。
当在比特流中不存在aps_params_type时,aps_params_type可被推断为除第一值(例如,0)、第二值(例如,1)和第三值(例如,2)之外的值。
图113是示出量化矩阵数据的语法结构的实施例的示图。
如在图113的示例中,可在scaling_list_data()对量化矩阵信息的信息的至少一个语法元素进行熵编码/解码。
当具有等于先前用信号传送的自适应参数集的标识符和自适应参数类型的标识符和自适应参数类型的自适应参数集被重新用信号传送时,先前用信号传送的自适应参数集中的数据/内容/语法元素值可被重新用信号传送的自适应参数集中的数据/内容/语法元素值替代。替代可意味着更新处理。可选地,当自适应参数集被重新用信号传送时,先前用信号传送的自适应参数集中的数据/内容/语法元素值可被重新用信号传送的自适应参数集中的数据/内容/语法元素值替代,其中,被重新用信号传送的自适应参数集具有等于先前用信号传送的自适应参数集的标识符和自适应参数类型中的至少一个的标识符和自适应参数类型中的至少一个。替代处理可意味着更新处理。
也就是说,在编码器/解码器中,可通过引用先前用信号传送的自适应参数集中的数据/内容/语法元素值来执行自适应环内滤波、具有色度缩放的亮度映射(LMCS)或使用量化矩阵的量化/反量化中的至少一个,并且从当自适应参数集被重新用信号传送时的时刻起,在编码器/解码器中执行自适应环内滤波、具有色度缩放的亮度映射(LMCS)或使用量化矩阵的量化/反量化中的至少一个,其中,被重新用信号传送的自适应参数集具有等于先前用信号传送的自适应参数集中的标识符和自适应参数类型中的至少一个的标识符和自适应参数类型中的至少一个。可通过引用重新用信号传送的自适应参数集中的数据/内容/语法元素值来执行具有色度缩放的亮度映射(LMCS)或使用量化矩阵的量化/反量化。
图114是示出条带头的语法结构的实施例的示图。
如在图114的示例中,可在条带单元中对slice_scaling_list_enabled_flag量化矩阵使用信息进行熵编码/解码。此时,是否使用量化矩阵可意味着是否在编码器和解码器的的量化/反量化处理中在条带单元中使用量化矩阵。
例如,当slice_scaling_list_enabled_flag具有第一值(例如,0)时,这可指示在编码器和解码器的量化/反量化处理中在条带单元中不使用量化矩阵,当slice_scaling_list_enabled_flag具有第二值(例如,1)时,这可指示在编码器和解码器的量化/反量化处理中在条带单元中使用量化矩阵。
另外,当slice_scaling_list_enabled_flag具有第一值(例如,0)时,这可指示在编码器和解码器的量化/反量化处理中在条带单元中使用默认量化矩阵。
当在比特流中不存在slice_scaling_list_enabled_flag时,slice_scaling_list_enabled_flag可被推断为第一值(例如,0)。
slice_scaling_list_aps_id可指示用于条带中引用的量化矩阵信息的自适应参数集的标识符。
当在比特流中不存在slice_scaling_list_aps_id时,slice_scaling_list_aps_id可被推断为第一值(例如,0)。
这里,具有与slice_scaling_list_aps_id相同的adaptation_parameter_set_id的量化矩阵信息的自适应参数集的时间层标识符可小于或等于当前条带的时间层标识符。
当在一个画面中针对两个或更多个子画面/条带/并行块组/并行块/分块存在用于具有相同adaptation_parameter_set_id的两条或更多条量化矩阵信息的自适应参数集时,用于具有相同的adaptation_parameter_set_id的两条或更多条量化矩阵信息的自适应参数集可具有相同的数据/内容/语法元素值。
在帧内条带的情况下,slice_scaling_list_aps_id可以不引用用于包括帧内条带的画面或除帧内画面之外的画面的量化矩阵信息的自适应参数集。
另外,在编码器/解码器中预先设置的以下项可彼此相等:用于自适应环内滤波的自适应参数集的最大数量、用于具有色度缩放的亮度映射的自适应参数集的最大数量以及用于量化矩阵信息的自适应参数集的最大数量。此时,用于自适应环内滤波的自适应参数集的最大数量、用于具有色度缩放的亮度映射的自适应参数集的最大数量和用于量化矩阵信息的自适应参数集的最大数量的总和可以是可被包括在编码器/解码器中的自适应参数集的最大数量。
另外,在编码器/解码器中预先设置的以下项可彼此不同:用于自适应环内滤波的自适应参数集的最大数量、用于利用色度缩放的亮度映射的自适应参数集的最大数量和用于量化矩阵信息的自适应参数集的最大数量。此时,用于自适应环内滤波的自适应参数集的最大数量、用于具有色度缩放的亮度映射的自适应参数集的最大数量和用于量化矩阵信息的自适应参数集的最大数量的总和可以是可包括在编码器/解码器中的自适应参数集的最大数量。
用于自适应环内滤波的自适应参数集的数量在帧内条带的情况下最大可以是K,并且在帧间条带的情况下最大可以是L。这里,K和L可以是正整数,并且例如,K可以是1并且L可以是6。
用于具有色度缩放的亮度映射的自适应参数集的数量在帧内条带的情况下最大可以是K,并且在帧间条带的情况下最大可以是L。这里,K和L可以是正整数,并且例如,K可以是1并且L可以是6。
可选地,用于具有色度缩放的亮度映射的自适应参数集的数量最大可以是J,而不论条带的类型如何。这里,J可以是正整数,并且例如,J可以是6。
用于量化矩阵信息的自适应参数集的数量最大可以是J,而不论条带的类型如何。这里,J可以是正整数,并且例如,J可以是1。
根据实施例,自适应参数集标识符可具有N比特的正整数值。N值是大于1的正整数。例如,N值可以是5。因此,自适应参数集标识符可指示0至31中的一个。也就是说,可定义最多32个自适应参数集。
在32个自适应参数集之中,8个自适应参数集可指示关于量化矩阵的信息。另外,8个自适应参数集可指示关于自适应环内滤波器的信息。另外,其他四个自适应参数集可指示关于具有色度缩放的亮度映射的信息。
量化矩阵的自适应参数集标识符可具有从0至N的值。此时,N是正整数并且可以是7。
另外,用于自适应环内滤波器的自适应参数集标识符可具有从0至N的值。此时,N是正整数并且可以是7。
另外,用于具有色度缩放的亮度映射的自适应参数集标识符可具有从0至N的值。此时,N是正整数并且可以是3。
用于量化矩阵、自适应环内滤波器和具有色度缩放的亮度映射的自适应参数集标识符可根据自适应参数集类型被编码为固定长度码。
根据实施例,由包括在一个画面中的条带引用的自适应参数集的最大数量可以是一个或更多个。例如,包括在一个画面中的条带可指用于量化矩阵的一个自适应参数集的最大值、用于具有色度缩放的亮度映射的一个自适应参数集的最大值、用于自适应环内滤波器的N个自适应参数集的最大值。N是等于或大于2的整数。例如,N可以是8或9。
量化矩阵中的量化矩阵系数的值可被设置为0,或者可以不在量化/反量化处理中使用。在以下条件下,量化矩阵中的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者量化矩阵中的量化矩阵系数可以不被熵编码/解码。
在以下实施例中,块的形状或预定区域的形状可以是正方形和矩形。例如,块或预定区域可具有A×A或A×B的尺寸(A和B是大于0的不同整数)。
另外,在以下实施例中,可基于块的形状来确定预定区域的形状。
这里,预定区域可表示左上方区域中的左上方区域、右下区域或右下区域。
如在以下实施例中,当使用初级变换时,与块中的不存在初级变换系数的区域相应的量化矩阵中的量化矩阵系数的值可被设置为0,或者可以不在量化/反量化处理中被使用,量化矩阵中的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者量化矩阵中的量化矩阵系数可以不被熵编码/解码。这里,J可以是正整数,并且例如可以是64。这里,K可以是正整数,并且例如可以是32。这里,L可以是正整数,并且例如可以是16。此时,块可以是针对亮度分量的块或针对色度分量的块中的至少一个。
当使用初级变换时,第一变换被用于水平变换和垂直变换(或者作为多变换选择索引的mts_idx为0,或者trTypeHor和trTypeVer分别具有第一值(例如,0)和第一值(例如,0)),并且块(变换块或变换单元)的尺寸为J×J,与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用,与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。
当使用初级变换时,第一变换被用于水平变换和垂直变换(或者作为多变换选择索引的mts_idx为0,或者trTypeHor和trTypeVer分别具有第一值(例如,0)和第一值(例如,0)),并且块(变换块或变换单元)的尺寸为J×K,与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用,与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。
当使用初级变换时,第一变换被用于水平变换和垂直变换(或者作为多变换选择索引的mts_idx为0,或者trTypeHor和trTypeVer分别具有第一值(例如,0)和第一值(例如,0)),并且块(变换块或变换单元)的尺寸为K×J,与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用,与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方K×K区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。
当使用初级变换时,第二变换被用于水平变换或垂直变换中的至少一个(或者作为多变换选择索引的mts_idx不为0或者trTypeHor或trTypeVer中的至少一个不具有第一值(例如,0)),并且块(变换块或变换单元)的尺寸为K×K,与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可以被设置为0的值,与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可以不在于量化/反量化处理中被使用,与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。
当使用初级变换时,第二变换被用于水平变换或垂直变换中的至少一个(或者作为多变换选择索引的mts_idx不为0或者trTypeHor或trTypeVer中的至少一个不具有第一值(例如,0)),并且块(变换块或变换单元)的尺寸为K×L,与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可被设置为0的值,与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用,与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。
当使用初级变换时,第二变换被用于水平变换或垂直变换中的至少一个(或者作为多变换选择索引的mts_idx不为0或者trTypeHor或trTypeVer中的至少一个不具有第一值(例如,0)),并且块(变换块或变换单元)的尺寸为L×K,与量化矩阵中的除了左上L×L区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用,与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方L×L区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。
如在以下实施例中,当使用次级变换时,与块中的不存在次级变换系数的区域相应的量化矩阵中的量化矩阵系数的值可被设置为0,或者可以不在量化/反量化处理中被使用,量化矩阵中的量化矩阵系数可以被设置为作为默认量化矩阵系数的值16,或者量化矩阵中的量化矩阵系数可以不被熵编码/解码。此时,可针对初级变换系数执行次级变换。此时,块可以是针对亮度分量的块或针对色度分量的块中的至少一个。
这里,nTbW可表示块(变换块或变换单元)的宽度,并且nTbH可表示块(变换块或变换单元)的高度。
这里,A可以是正整数,并且可以是例如2。这里,B可以是正整数,并且可以是例如4。这里,C可以是正整数,并且可以是例如8。这里,D可以是正整数,并且可以是例如16。这里,E可以是正整数,并且可以是例如48。
另外,如等式45所示,可使用块的宽度或高度中的至少一个来推导次级变换的输入样点编号nonZeroSize。
[等式45]
nonZeroSize=((nTbW==B&&nTbH==B)||(nTbW==C&&nTbH==C))?C:D
另外,如等式46所示,可使用块的宽度或高度中的至少一个来推导次级变换的输出样点编号nonZeroSize。
[等式46]
nLfnstOutSize=(nTbW>=C&&nTbH>=C)?E:D
当使用次级变换时,次级变换的输入样点编号nonZeroSize为C,并且次级变换的输出样点编号nonZeroSize为D,与量化矩阵中的除了左上方B×A区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方B×A区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用。与量化矩阵中的除了左上方BxA区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方B×A区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。此时,块(变换块或块单元)的尺寸可以是B×B。
当使用次级变换时,次级变换的输入样点编号nonZeroSize为D,并且次级变换的输出样点编号nonZeroSize为D,与量化矩阵中的除了左上方B×B区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方B×B区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用。与量化矩阵中的除了左上方B×B区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方B×B区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。此时,块(变换块或块单元)的存储可以是C×B或B×C。
当使用次级变换时,次级变换的输入样点编号nonZeroSize为D,并且次级变换的输出样点编号nonZeroSize为D,与量化矩阵中的除了左上方C×B区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方C×B区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用。与量化矩阵中的除了左上方C×B区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方C×B区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。此时,块(变换块或块单元)的尺寸可以是N×B。这里,N可以是正整数,并且可以是等于或大于D的值。
当使用次级变换时,次级变换的输入样点编号nonZeroSize为D,并且次级变换的输出样点编号nonZeroSize为D,与量化矩阵中的除了左上方B×C区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方B×C区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用。与量化矩阵中的除了左上方B×C区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方B×C区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。此时,块(变换块或块单元)的尺寸可以是B×N。这里,N可以是正整数,并且可以是等于或大于D的值。
当使用次级变换时,次级变换的输入样点编号nonZeroSize为C,并且次级变换的输出样点编号nonZeroSize为E,与量化矩阵中的除了左上方B×A区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方B×A区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用。与量化矩阵中的除了左上方B×A区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方B×A区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。此时,块(变换块或块单元)的尺寸可以是C×C。
当使用次级变换时,次级变换的输入样点编号nonZeroSize为C,并且次级变换的输出样点编号nonZeroSize为E,与量化矩阵中的除了左上方B×A区域或右下方B×B区域中的至少一个之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方B×A区域或右下方B×B区域中的至少一个之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用中,与量化矩阵中的除了左上方B×A区域或右下方B×B区域中的至少一个之外的其余区域相应的量化矩阵系数可被设置为默认量化矩阵系数的值16,或者量化矩阵中的除了左上方B×A区域或右下方B×B区域中的至少一个之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。此时,块(变换块或块单元)的尺寸可以是C×C。
当使用次级变换时,次级变换的输入样点编号nonZeroSize为D,并且次级变换的输出样点编号nonZeroSize为E,与量化矩阵中的除了左上方B×B区域之外的其余区域相应的量化矩阵系数的值可被设置为0,与量化矩阵中的除了左上方B×B区域之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用。与量化矩阵中的除了左上方B×B区域之外的其余区域相应的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者与量化矩阵中的除了左上方B×B区域之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。此时,块(变换块或块单元)的尺寸可以是C×D、D×C或N×N。这里,N可以是正整数,并且可以是等于或大于D的值。
可选地,当使用次级变换时,次级变换的输入样点编号nonZeroSize为D,并且次级变换的输出样点编号nonZeroSize为E,与除了量化矩阵中的左上方B×B区域、量化矩阵中的左上方C×C区域中的右下方B×B区域或量化矩阵中的右下方C×C区域中的至少一个之外的其余区域相应的量化矩阵系数的值可被设置为0,与除了量化矩阵中的左上方B×B区域、量化矩阵中的左上方C×C区域中的右下方B×B区域或量化矩阵中的右下方C×C区域中的至少一个之外的其余区域相应的量化矩阵系数可以不在量化/反量化处理中被使用,与除了量化矩阵中的左上方B×B区域、量化矩阵中的左上方C×C区域中的右下方B×B区域或量化矩阵中的右下方C×C区域可被设置为作为默认量化矩阵系数的16的值,或者与除了量化矩阵中的左上方B×B区域、量化矩阵中的左上方C×C区域中的右下方B×B区域或量化矩阵中的右下方C×C区域中的至少一个之外的其余区域相应的量化矩阵系数可以不被熵编码/解码。此时,块(变换块或块单元)的尺寸可以是C×D、D×C或N×N。这里,N可以是正整数,并且可以是等于或大于D的值。
根据用于对色度分量(Cb分量和Cr分量)的残差信号的组合进行编码/解码的方法的指示符tu_joint_cbcr_residual,块(变换块或变换单元)中的与tu_joint_cbcr_residual具有第二值(例如,1)的区域相应的量化矩阵中的量化矩阵系数的值可被设置为0,或者可以不在量化/反量化处理中被使用。量化矩阵中的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者量化矩阵中的量化矩阵系数可以不被熵编码/解码。此时,块可以是亮度分量的块或色度分量的块中的至少一个。
例如,当通过tu_joint_cbcr_residual在比特流中不存在特定分量的残差信号时,与针对相应分量的块(变换块或变换单元)中的区域相应的量化矩阵中的量化矩阵系数的值可被设置为0,或者可以不在量化/反量化处理中被使用,量化矩阵中的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者量化矩阵中的量化矩阵系数可以不被熵编码/解码。
这里,tu_joint_cbcr_residual可表示Cb分量的残差信号是否被用于推导Cb分量的残差信号和Cr分量的残差信号。
例如,当tu_joint_cbcr_residual具有第一值(例如,0)时,这可指示根据另一语法元素值在比特流中存在Cr分量的残差信号,并且当tu_joint_cbcr_residual具有第二值(例如,1)时,这可指示Cb分量的残差信号被用于推导Cb分量的残差信号和Cr分量的残差信号。
当tu_joint_cbcr_residual指示Cb分量的残差信号被用于推导Cb分量的残差信号和Cr分量的残差信号时,Cr分量可变为特定分量,并且因此在比特流中可以不存在Cr分量的残差信号。在这种情况下,与针对Cr分量的块(变换块或变换单元)中的区域相应的量化矩阵中的量化矩阵系数的值可被设置为0,或者可以不在量化/反量化处理中被使用,量化矩阵中的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者量化矩阵中的量化矩阵系数可以不被熵编码/解码。
另外,tu_joint_cbcr_residual可表示Cr分量的残差信号是否被用于推导Cb分量的残差信号和Cr分量的残差信号。
例如,当tu_joint_cbcr_residual具有第一值(例如,0)时,这可指示根据另一语法元素值在比特流中存在Cr分量的残差信号,并且当tu_joint_cbcr_residual具有第二值(例如,1)时,这可指示Cr分量的残差信号用于推导Cb分量的残差信号和Cr分量的残差信号。
当tu_joint_cbcr_residual意味着Cr分量的残差信号用于推导Cb分量的残差信号和Cr分量的残差信号时,Cb分量可变为特定分量,并且因此在比特流中可以不存在Cb分量的残差信号。在这种情况下,与用于Cb分量的块(变换块或变换单元)中的区域相应的量化矩阵中的量化矩阵系数的值可被设置为0,或者可以不在量化/反量化处理中被使用,量化矩阵中的量化矩阵系数可被设置为作为默认量化矩阵系数的值16,或者量化矩阵中的量化矩阵系数可以不被熵编码/解码。
chroma_format_idc或ChromaArrayType可表示色度格式。色度格式可表示色度分量的格式。
例如,当chroma_format_idc具有第一值(例如,0)时,色度格式可被设置为4:0:0。在当前画面的色度格式为4:0:0时,将当前画面确定为没有色度分量的单色。
另外,当chroma_format_idc具有第二值(例如,1)时,色度格式可以设置为4:2:0。当chroma_format_idc具有第三值(例如,2)时,色度格式可被设置为4:2:2。当chroma_format_idc具有第四值(例如,3)时,色度格式可被设置为4:4:4。
图115和图116是示出根据sizeId和matrixId的量化矩阵信息的实施例的示图。
为了使chroma_format_idc或ChromaArrayType不仅支持4:2:0而且还支持4:4:4或4:2:2,如在图115和116的示例中,可使用与sizeId、预测模式或颜色分量中的至少一个相应的矩阵信息matrixId。这里,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。可对与sizeId、预测模式或颜色分量中的至少一个相应的量化矩阵信息。
例如,sizeId可具有与J×K至M×N相应的U至V之间的值。这里,J、K、M、N、U和V可以是包括0的正整数。这里,J和K可以是2,并且M和N可以是64。这里,U和V可分别是0和6。
例如,matrixId可具有P至Q之间的值。这里,P和Q可以是包括0的正整数。这里,P和Q可分别是0和5。
如果sizeId为1,则matrixId的值可以是1、2、4或5中的至少一个。另外,如果sizeId是6,则matrixId的值可以是0、1、2、3、4、5或6中的至少一个。
如果chroma_format_idc或ChromaArrayType为4:2:0,则与尺寸为64×64的亮度分量的块(编码块、预测块或变换块)相应的色度分量(Cb分量或Cr分量)的块为32×32。因此,可在编码/解码处理中使用针对尺寸为32×32的色度分量块的量化矩阵。
如果chroma_format_idc或ChromaArrayType为4:2:2,则与尺寸为64×64的亮度分量的块(编码块、预测块或变换块)相应的色度分量(Cb分量或Cr分量)的块为64×32或32×64。因此,可在编码/解码处理中使用尺寸为64×32或32×64的色度分量块的量化矩阵。可选地,可通过对尺寸为64×64的色度分量块的量化矩阵进行子采样来产生尺寸为64×32或32×64的色度分量块的量化矩阵。
如果chroma_format_idc或ChromaArrayType为4:4:4,则与尺寸为64×64的亮度分量的块(编码块、预测块或变换块)相应的色度分量(Cb分量或Cr分量)的块为64×64。因此,可在编码/解码处理中使用针对尺寸为64×64的色度分量块的量化矩阵。
在qtbtt_dual_tree_intra_flag中,对于I条带,每一个CTU可被分区为64×64编码单元。另外,64×64编码单元可被用作亮度分量和色度分量的根节点。
例如,当qtbtt_dual_tree_intra_flag具有第一值(例如,0)时,每一个CTU可被分区为64×64编码单元。另外,qtbtt_dual_tree_intra_flag可指示64×64编码单元不被用作亮度分量和色度分量的根节点。另外,当qtbtt_dual_tree_intra_flag具有第二值(例如,1)时,每一个CTU可被分区为64×64编码单元。另外,qtbtt_dual_tree_intra_flag可指示64×64编码单元被用作亮度分量和色度分量的根节点。
当qtbtt_dual_tree_intra_flag具有第一值(例如,0)时,亮度分量的块分区结构和色度块的块分区结构可以相同。然而,亮度分量的块尺寸和色度分量的块尺寸可根据色度格式而彼此不同。如果亮度分量的块分区结构和色度块的块分区结构可以相同,则可将当前画面或条带定义为根据单个树结构被分区。树结构可被识别为SINGLE_TREE。
如果条带类型为I条带并且qtbtt_dual_tree_intra_flag具有第二值(例如,1),则来自64×64编码单元的亮度分量的块分区结构和色度分量的块分区结构可彼此不同。如果亮度分量的块分区结构和色度分量的块分区结构彼此不同,则可将当前画面或条带定义为根据双树结构被分区。可通过DUAL_TREE_LUMA识别亮度分量的双树结构。另外,可通过DUAL_TREE_CHROMA识别色度分量的双树结构。
在单树结构中,针对色度分量的最小块可被设置为2×2块。因此,可以不使用针对色度分量的具有小于2×2的尺寸的块。也就是说,可以不启用对尺寸为2×2的块的分区。
另外,在单树结构中,针对色度分量的最小块可被设置为4×4块。此时,可以不使用针对色度分量的2×2块、2×4块和4×2块。也就是说,可以不启用用于从尺寸为4×4或更大的块产生2×2块、2×4块或4×2块中的至少一个的分区。
另外,在双树结构中,针对色度分量的最小块可被设置为4×4块。此时,可以不使用针对色度分量的2×2块、2×4块和4×2块。也就是说,可以不启用用于从尺寸为4×4或更大的块产生2×2块、2×4块或4×2块中的至少一个的分区。
图117和图118是示出根据sizeId和matrixId的量化矩阵信息的实施例的示图。
当针对色度分量的最小块为单树结构中的4×4块或针对色度分量的最小块为双树结构中的4×4块时,如在图117和118的示例中,可使用与sizeId、预测模式或颜色分量中的至少一个相应的矩阵信息matrixId。这里,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。可对与sizeId、预测模式或颜色分量中的至少一个相应的量化矩阵信息进行熵编码/解码。
例如,sizeId可具有与J×K至M×N相应的U至V之间的值。这里,J、K、M、N、U和V可以是包括0的正整数。这里,J和K可以是4,并且M和N可以是64。这里,U和V可分别是2和6。
例如,matrixId可具有P至Q之间的值。这里,P和Q可以是包括0的正整数。这里,P和Q可分别是0和5。
如果sizeId是2,则matrixId的值可以是0、1、2、3、4、5或6中的至少一个。另外,如果sizeId是6,则matrixId的值可以是0或3中的至少一个。
图119至129是示出在编码器/解码器中实现根据本发明的实施例的量化矩阵编码/解码方法和设备以及用于存储比特流的记录介质所需的语法元素信息、语法元素信息的语义、以及编码/解码处理的示例的示图。
图130至图142示出实现根据本发明另一实施例的量化矩阵编码/解码方法和设备以及用于存储比特流的记录介质所需的语法元素信息、语法元素信息的语义和编码/解码处理。
为了使chroma_format_idc或ChromaArrayType不仅支持4:2:0而且还支持4:4:4或4:2:2,如在图143和144的示例中,可使用与sizeId、预测模式或颜色分量中的至少一个相应的矩阵信息matrixId。这里,sizeId可表示与块尺寸、变换尺寸或量化矩阵尺寸中的至少一个相应的尺寸信息。可对与sizeId、预测模式或颜色分量中的至少一个相应的量化矩阵信息进行熵编码/解码。
例如,sizeId可具有与J×K至M×N相应的U至V之间的值。这里,J、K、M、N、U和V可以是包括0的正整数。这里,J和K可以是2,并且M和N可以是64。这里,U和V可分别是0和6。
例如,matrixId可具有P至Q之间的值。这里,P和Q可以是包括0的正整数。这里,P和Q可分别是0和5。
如果sizeId是1,则matrixId的值可以是1、2、4或5中的至少一个。另外,如果sizeId是6,则matrixId的值可以是0、1、2、3、4、5或6中的至少一个。
如果chroma_format_idc或ChromaArrayType为4:2:2,则由于色度分量(Cb分量或Cr分量)可具有尺寸为64×32或32×64的块(编码块、预测块或变换块),如在图143和图144的示例中,可支持尺寸为64×32或32×64的量化矩阵。
如果chroma_format_idc或ChromaArrayType为4:4:4,则由于色度分量(Cb分量或Cr分量)可具有尺寸为64×64的块(编码块、预测块或变换块),如在图143和图144的示例中,可支持尺寸为64×64的量化矩阵。
单色格式可表示色度格式是4:0:0。
在单色格式中,仅亮度分量的量化矩阵可被熵编码/解码,或者可被用于量化/反量化。此时,在比特流中可仅存在亮度分量的量化矩阵。
另外,在单色格式中,色度分量的量化矩阵可以不被熵编码/解码或可以不被用于量化/反量化。此时,在比特流中可以不存在色度分量的量化矩阵。相反,在单色格式中,色度分量的量化矩阵可从亮度分量的量化矩阵被确定,或者可被设置为默认量化矩阵。默认量化矩阵的所有系数可被确定为16。
在一些实施例中,可从参数集或报头中的至少一个对色度分量量化矩阵存在信息进行熵编码/解码。另外,当色度分量量化矩阵存在信息指示不存在色度分量量化矩阵时,可仅对亮度分量的量化矩阵进行熵编码/解码。另外,色度分量的量化矩阵可被设置为默认量化矩阵。相反,当色度分量量化矩阵存在信息指示存在色度分量量化矩阵时,可对亮度分量的量化矩阵和色度分量的量化矩阵两者都进行熵编码/解码。
在单色格式中,色度分量量化矩阵存在信息可以不被熵编码/解码,并且可以被推断为具有第一值(例如,0)。也就是说,在单色格式中,色度分量量化矩阵存在信息可以不存在于比特流中,并且可被确定为具有第一值(例如,0)。
另外,在除单色格式之外的色度格式(4:2:0、4:2:2、4:4:4等)的情况下,可对色度分量量化矩阵存在信息进行熵编码/解码。另外,在除单色格式之外的色度格式的情况下,如果在比特流中不存在色度分量量化矩阵存在信息,则色度分量量化矩阵存在信息可被推断为具有第二值(例如,1)。
当色度分量量化矩阵存在信息具有第一值(例如,0)时,这可表示色度分量的量化矩阵不被熵编码/解码。此时,在比特流中可仅存在亮度分量的量化矩阵。另外,在比特流中可以不存在色度分量的量化矩阵。
另外,当色度分量量化矩阵存在信息具有第二值(例如,1)时,这可表示色度分量的量化矩阵被熵编码/解码。此时,在比特流中可存在色度分量的量化矩阵。
当色度分量量化矩阵存在信息具有第一值(例如,0)时,由于不存在色度分量的量化矩阵,因此可限制为不使用从色度分量的量化矩阵预测亮度分量的量化矩阵的帧间量化矩阵预测方法。
当色度分量量化矩阵存在信息具有第一值(例如,0)时,可仅针对亮度分量的量化矩阵执行帧间量化矩阵预测方法。也就是说,仅当将被预测的参考量化矩阵是亮度分量的量化矩阵并且将被编码/解码的量化矩阵是亮度分量的量化矩阵时,才可执行帧间量化矩阵预测方法。
当色度分量量化矩阵存在信息具有第一值(例如,0)并且将被编码/解码的量化矩阵是亮度分量的量化矩阵时,作为将被编码/解码的量化矩阵的参考矩阵标识符的scaling_list_pred_matrix_id_delta可被限制为不指示色度分量的量化矩阵。也就是说,作为量化矩阵的参考矩阵标识符的scaling_list_pred_matrix_id_delta可仅指示亮度分量的量化矩阵或默认量化矩阵中的至少一个。此时,仅亮度分量的量化矩阵或默认量化矩阵中的至少一个可变为将被编码/解码的量化矩阵的参考矩阵。
当色度分量量化矩阵存在信息具有第二值(例如,1)时,由于存在色度分量的量化矩阵,因此可使用从色度分量的量化矩阵预测亮度分量的量化矩阵的帧间量化矩阵预测方法。
当色度分量量化矩阵存在信息具有第二值(例如,1)时,由于存在色度分量的量化矩阵,因此可使用从亮度分量的量化矩阵预测色度分量的量化矩阵的帧间量化矩阵预测方法。另外,当色度分量量化矩阵存在信息具有第二值(例如,1)时,由于存在色度分量的量化矩阵,因此可使用从色度分量的量化矩阵预测亮度分量的量化矩阵的帧间量化矩阵预测方法。
当色度分量量化矩阵存在信息具有第二值(例如,1)并且将被编码/解码的量化矩阵是亮度分量的量化矩阵时,作为将被编码/解码的量化矩阵的参考矩阵标识符的scaling_list_pred_matrix_id_delta可指示亮度分量的量化矩阵、色度分量的量化矩阵或默认量化矩阵中的至少一个。
另外,当色度分量量化矩阵存在信息具有第二值(例如,1)并且将被编码/解码的量化矩阵是色度分量的量化矩阵时,作为将被编码/解码的量化矩阵的参考矩阵标识符的scaling_list_pred_matrix_id_delta可指示亮度分量的量化矩阵、色度分量的量化矩阵或默认量化矩阵中的至少一个。此时,亮度分量的量化矩阵、色度分量的量化矩阵或默认量化矩阵中的至少一个可成为将被编码/解码的量化矩阵的参考矩阵。
另外,在量化矩阵中有三种模式(关闭(Off)模式、默认(Default)模式、用户定义(User-defined)模式)。在默认模式中,量化矩阵的矩阵系数值可全部是16。
另外,可针对尺寸为16×16、32×32或64×64的量化矩阵单独用信号传送DC矩阵系数值。
在变换块的尺寸小于8×8的情况下,可用信号传送量化矩阵的所有元素。
相反地,在变换块的尺寸(例如,16×16、32×32、64×64)大于8×8的情况下,可用信号传送尺寸为8×8的一个量化矩阵的64个元素作为基本缩放矩阵。另外,可通过对8×8基本缩放矩阵进行上采样来获取尺寸大于8×8的正方形矩阵。
在W×H(宽度×高度)非正方形的变换块中,当H大于W时,可如等式47的示例从尺寸为baseL×baseL的参考量化矩阵推导块的量化矩阵。这里,baseL可表示min(log2(H),3)。
[等式47]
ScalingMatrix(i,j)=ScalingList[baseL x int(j/ratioH)+int((i xratioHW)/ratioH)],
其中,i=0:W-1,j=0:H-1,并且ratioH=H/baseL,ratioHW=H/W。
可选地,在W×H(宽度×高度)非正方形的变换块中,当W大于H时,可如等式48的示例从尺寸为baseL×baseL的参考量化矩阵推导块的量化矩阵。这里,baseL可表示min(log2(W),3)。
[等式48]
ScalingMatrix(i,j)=ScalingList[baseL x int((j x ratioWH)/ratioW)+int(W)],其中,i=0:W-1,j=0:H-1,并且ratioW=W/baseL,ratioWH=W/H。
另外,参照图133至图134,可基于关于针对与画面头相关联的条带是否可进行相关量化的信息(例如,pic_dep_quant_enabled_flag)来推导量化矩阵。这里,可在并行块头中对信息进行熵编码/解码。
参数集或报头中的至少一个可以是视频参数集、序列参数集、自适应参数集、画面参数集、画面报头、条带报头、并行块组头、并行块头等中的至少一个。
例如,色度分量量化矩阵存在信息可被包括在自适应参数集中。可选地,自适应参数集可包括指示色度分量是否存在的色度分量存在信息。另外,可根据色度分量存在信息推导色度分量量化矩阵存在信息。可选地,色度分量量化矩阵存在信息可表示色度分量存在信息。
可根据色度分量存在信息来确定是否存在色度分量的量化矩阵。另外,可根据色度分量存在信息确定是否存在色度分量的自适应环内滤波器信息。另外,可根据色度分量存在信息来确定是否存在色度分量的具有色度缩放的亮度映射信息。
根据实施例,在当前视频、序列、画面或条带的色度格式是4:0:0(在单色的情况下)时,色度分量存在信息可指示不存在色度分量。因此,当色度格式为4:0:0时,画面头和条带头可以不包括色度分量的自适应参数集标识符。也就是说,当色度格式为4:0:0时,画面头和条带头可以不包括色度分量的量化矩阵信息、自适应环内滤波器信息和具有色度缩放的亮度映射(LMCS)信息。
另外,当色度格式为4:0:0时,由当前画面或当前条带所引用的自适应参数集中的色度分量存在信息可被确定为指示不存在色度分量的编码信息的第一值(例如,0)。
另外,当色度格式不是4:0:0时,由当前画面或当前条带所引用的自适应参数集中的色度分量存在信息可被确定为指示存在色度分量的编码信息的第二值(例如,1)。
另外,当色度格式为4:0:0时,由当前画面或当前条带所引用的自适应参数集中的色度分量存在信息可被确定为指示不存在色度分量的量化矩阵信息的第一值(例如,0)。
另外,当色度格式不是4:0:0时,由当前画面或当前条带所引用的自适应参数集中的色度分量存在信息可被确定为指示存在色度分量的量化矩阵信息的第二值(例如,1)。
图145是示出根据实施例的视频解码方法的流程图。
在步骤14502,确定包括包含多个量化矩阵的量化矩阵集的一个或更多个自适应参数集。自适应参数集包括应用于一个或更多个画面或条带的编码信息。
根据实施例,自适应参数集可包括指示分配给自适应参数集的标识号的自适应参数集标识符。另外,可从比特流获取量化矩阵集标识符。另外,可根据由量化矩阵集标识符指示的自适应参数集标识符来确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集。
根据实施例,可从比特流获取量化矩阵启用标志,其中,量化矩阵启用标志指示是否使用在针对当前画面或当前条带的自适应参数集中定义的量化矩阵集。另外,当量化矩阵启用标志指示使用在自适应参数集中定义的量化矩阵集时,可从比特流获取针对当前画面或当前条带的量化矩阵集标识符。
根据实施例,可从比特流获取量化矩阵使用信息,其中,量化矩阵使用信息指示是否在当前画面或当前条带中使用根据量化矩阵集标识符的量化矩阵集。另外,当量化矩阵使用信息指示在当前画面或当前条带中使用根据量化矩阵集标识符的量化矩阵集时,可根据由量化矩阵集标识符指示的自适应参数集标识符来确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集。
根据实施例,自适应参数集可包括指示包括在自适应参数集中的编码信息的类型的自适应参数集类型信息。自适应参数集类型信息可指示量化矩阵类型、自适应环内滤波器类型或具有色度缩放的亮度映射类型。另外,当自适应参数集类型信息指示量化矩阵类型时,可确定包括量化矩阵集的自适应参数集。
根据实施例,量化矩阵集可包括根据块的预测模式、颜色分量和尺寸定义的多个量化矩阵。
根据实施例,量化矩阵集可包括在帧内预测的块中使用的量化矩阵、在帧间预测的块中使用的量化矩阵和在帧内块复制预测的块中使用的量化矩阵。另外,在帧间预测的块中使用的量化矩阵和在帧内块复制预测的块中使用的量化矩阵可彼此相等。
根据实施例,量化矩阵集可包括在最大高度和最大宽度为2的块中使用的量化矩阵、在最大高度和最大宽度为4的块中使用的量化矩阵、在最大高度和最大宽度为8的块中使用的量化矩阵、在最大高度和最大宽度为16的块中使用的量化矩阵以及在最大高度和最大宽度为64的块中使用的量化矩阵。
根据实施例,在最大高度和最大宽度为2的块中使用的量化矩阵可仅包括在执行帧间预测或帧内块复制预测的同时在针对Cr分量的块中使用的量化矩阵以及在执行帧间预测或帧内块复制预测的同时在针对Cb分量的块中使用的量化矩阵。
根据实施例,为了确定包括多个量化矩阵的量化矩阵集,可从量化矩阵复制模式、帧间量化矩阵预测模式和帧内量化矩阵DPCM模式之中确定当前量化矩阵的确定方法。另外,可根据当前量化矩阵的确定方法来确定当前量化矩阵。
根据实施例,可从比特流获取指示是否应用量化矩阵复制模式的量化矩阵复制模式标志。当量化矩阵复制模式标志指示量化矩阵复制模式被应用于当前量化矩阵时,将当前量化矩阵的确定方法确定为量化矩阵复制模式。另外,当量化矩阵复制模式标志指示量化矩阵复制模式不被应用于当前量化矩阵时,从比特流获取指示是否应用帧间量化矩阵预测模式的帧间量化矩阵预测模式标志。当帧间量化矩阵预测模式标志指示帧间量化矩阵预测模式被应用于当前量化矩阵时,将当前量化矩阵的确定方法确定为帧间量化矩阵预测模式。另外,当帧间量化矩阵预测模式标志指示帧间量化矩阵预测模式不被应用于当前量化矩阵时,将当前量化矩阵的确定方法确定为帧内量化矩阵DPCM模式。
根据实施例,在当前量化矩阵处于量化矩阵复制模式时,可从在当前量化矩阵之前确定的量化矩阵来确定参考量化矩阵。另外,可将参考量化矩阵确定为当前量化矩阵。
根据实施例,在当前量化矩阵处于帧间量化矩阵预测模式时,可从在当前量化矩阵之前确定的量化矩阵来确定参考量化矩阵。另外,可从比特流获取差分量化矩阵系数,该差分量化矩阵系数指示当前量化矩阵的矩阵系数与参考量化矩阵的矩阵系数之间的差。可根据参考量化矩阵的矩阵系数和差分量化矩阵系数的总和来确定当前量化矩阵的矩阵系数。
根据实施例,在当前量化矩阵的最大高度和最大宽度为2时,可将最大高度和最大宽度为2的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为4时,可将最大高度和最大宽度为4的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为8时,可将最大高度和最大宽度为8的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为16时,可将最大高度和最大宽度8或16的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为32时,可将最大高度和最大宽度为8、16或32的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为64时,可将最大高度和最大宽度为8、16、32或64的量化矩阵确定为参考量化矩阵。
在步骤14504,从一个或更多个自适应参数集之中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集。
在步骤14506,基于确定的自适应参数集的量化矩阵集,对当前画面或当前条带的当前块的变换系数进行反量化。
根据实施例,可从比特流获取次级变换量化矩阵启用信息,其中,次级变换量化矩阵启用信息指示确定的自适应参数集的量化矩阵集是否被应用于应用次级变换的块。另外,可确定指示次级变换是否被应用于当前块的次级变换使用信息。另外,当次级变换量化矩阵启用信息指示确定的自适应参数集的量化矩阵集不被应用于应用次级变换的块,并且次级变换使用信息指示次级变换被应用于当前块时,可根据默认量化矩阵对当前块的变换系数进行反量化。默认量化矩阵可包括在量化矩阵中具有相同值的量化系数。
在步骤14508中,基于反量化的变换系数重建当前块。
图146是示出根据实施例的视频解码方法的流程图。
在步骤14602,确定包括包含多个量化矩阵的量化矩阵集的一个或更多个自适应参数集。自适应参数集包括应用于一个或更多个画面或条带的编码信息。
根据实施例,自适应参数集可包括指示分配给自适应参数集的标识号的自适应参数集标识符。另外,可确定包括应用于当前画面或当前条带的量化矩阵集和量化矩阵集标识符的自适应参数集。
根据实施例,可确定指示是否使用在针对当前画面或当前条带的自适应参数集中定义的量化矩阵集的量化矩阵启用标志。另外,当量化矩阵启用标志指示使用在自适应参数集中定义的量化矩阵集时,可确定针对当前画面或当前条带的量化矩阵集标识符。
根据实施例,可确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集。另外,可根据是否在当前画面或当前条带中使用根据量化矩阵集标识符的量化矩阵集来确定量化矩阵使用信息。
根据实施例,自适应参数集可包括指示包括在自适应参数集中的编码信息的类型的自适应参数集类型信息。自适应参数集类型信息可指示量化矩阵类型、自适应环内滤波器类型或具有色度缩放的亮度映射类型。另外,当自适应参数集包括量化矩阵集时,可将自适应参数集类型信息确定为指示量化矩阵类型。
根据实施例,量化矩阵集可包括根据块的预测模式、颜色分量和尺寸定义的多个量化矩阵。
根据实施例,量化矩阵集可包括在帧内预测的块中使用的量化矩阵、在帧间预测的块中使用的量化矩阵和在帧内块复制预测的块中使用的量化矩阵。另外,在帧间预测的块中使用的量化矩阵和在帧内块复制预测的块中使用的量化矩阵可彼此相等。
根据实施例,量化矩阵集可包括在最大高度和最大宽度为2的块中使用的量化矩阵、在最大高度和最大宽度为4的块中使用的量化矩阵、在最大高度和最大宽度为8的块中使用的量化矩阵、在最大高度和最大宽度为16的块中使用的量化矩阵以及在最大高度和最大宽度为64的块中使用的量化矩阵。
根据实施例,在最大高度和最大宽度为2的块中使用的量化矩阵可仅包括在执行帧间预测或帧内块复制预测的同时在针对Cr分量的块中使用的量化矩阵以及在执行帧间预测或帧内块复制预测的同时在针对Cb分量的块中使用的量化矩阵。
根据实施例,可在量化矩阵集中确定当前量化矩阵。另外,可根据当前量化矩阵从量化矩阵复制模式、帧间量化矩阵预测模式和帧内量化矩阵DPCM模式之中确定当前量化矩阵的确定方法。
根据实施例,可确定指示是否应用量化矩阵复制模式的量化矩阵复制模式标志。另外,量化矩阵复制模式标志指示量化矩阵复制模式不被应用于当前量化矩阵,可确定指示是否应用帧间量化矩阵预测的帧间量化矩阵预测模式标志。
根据实施例,可根据当前量化矩阵是否包括在当前量化矩阵之前确定的参考量化矩阵的矩阵系数来确定当前量化矩阵是否处于量化矩阵复制模式。
根据实施例,可根据当前量化矩阵的系数是否是从在当前量化矩阵之前确定的参考量化矩阵的矩阵系数预测的,来确定当前量化矩阵是否处于帧间量化矩阵预测模式。另外,可确定差分量化矩阵系数,该差分量化矩阵系数指示当前量化矩阵的矩阵系数与参考量化矩阵的矩阵系数之间的差。
根据实施例,在当前量化矩阵的最大高度和最大宽度为2时,可将最大高度和最大宽度为2的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为4时,可将最大高度和最大宽度为4的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为8时,可将最大高度和最大宽度为8的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为16时,可将最大高度和最大宽度为8或16的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为32时,可将最大高度和最大宽度为8、16或32的量化矩阵确定为参考量化矩阵。
在步骤14604,从一个或更多个自适应参数集中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集。
在步骤14606,基于确定的自适应参数集的量化矩阵集对当前画面或当前条带的当前块的变换系数进行量化。
根据实施例,可确定次级变换量化矩阵启用信息,其中,次级变换量化矩阵启用信息指示确定的自适应参数集的量化矩阵集是否被应用于应用次级变换的块。另外,可确定指示次级变换是否被应用于当前块的次级变换使用信息。另外,当次级变换量化矩阵启用信息指示确定的自适应参数集的量化矩阵集不被应用于应用次级变换的块,并且次级变换使用信息指示次级变换被应用于当前块时,可根据默认量化矩阵对当前块的变换系数进行量化。默认量化矩阵可包括在量化矩阵中具有相同值的量化系数。
根据实施例,在当前量化矩阵的最大高度和最大宽度为2时,可将最大高度和最大宽度为2的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为4时,可将最大高度和最大宽度为4的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为8时,可将最大高度和最大宽度为8的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为16时,可将最大高度和最大宽度为8或16的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为32时,可将最大高度和最大宽度为8、16或32的量化矩阵确定为参考量化矩阵。在当前量化矩阵的最大高度和最大宽度为64时,可将最大高度和最大宽度为8、16、32或64的量化矩阵确定为参考量化矩阵。
在步骤14608,基于量化的变换系数对当前块进行编码。
图145和图146的实施例仅仅是示例,并且本领域技术人员可以容易地修改图145和图146的步骤。另外,可省略或用其他组件替换图145和图146的组件。可在图2的解码器中执行图145的视频解码方法。另外,可在图1的编码器中执行图146的视频编码方法。另外,一个或更多个处理器可执行用于实现图145和图146的步骤的命令。另外,包括用于实现图145和图146的步骤的命令的程序产品可被存储在存储器装置中或者可在线分布。
编码器可通过上述实施例在量化/反量化处理中使用量化矩阵来执行量化/反量化。另外,解码器可通过上述实施例在反量化处理中使用重建的量化矩阵来执行反量化。重建的量化矩阵可以是二维量化矩阵。
在上述实施例中,可执行量化矩阵的表示、构建、重建、预测或编码/解码中的至少一个,使得基于块的预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合或是否使用变换中的至少一个,在量化/反量化处理中使用不同的量化矩阵。此时,经过表示、构建、重建、预测或编码/解码中的至少一个的量化矩阵中的至少一个可以是这样的量化矩阵:量化矩阵中的系数中的至少一个系数根据预测模式、颜色分量、尺寸、形式、一维变换类型、二维变换组合或是否使用变换而不同。
在上述实施例中,编码器可在量化处理中使用变换系数中的量化矩阵来产生变换系数等级,并且解码器可在反量化处理中使用变换系数等级中的量化来产生变换系数。在本发明中,为方便起见,变换系数和变换系数等级统称为变换系数。
在上述实施例中,可从尺寸为M×M的正方形的量化矩阵推导尺寸为M×N或N×M的量化矩阵,量化/反量化处理中的尺寸为M×M的量化矩阵的表示不仅可指尺寸为M×M的正方形的量化矩阵,而且还指尺寸为M×N或N×M的非方形的量化矩阵。这里,M和N可以是正值,并且可具有2至64之间的值。M和N可以是不同的值。
例如,由于量化/反量化处理中的尺寸为16×4或4×16的非正方形的量化矩阵是从尺寸为16×16的正方形的量化矩阵推导出的,因此量化/反量化处理中的尺寸为16×16的量化矩阵的表示不仅指尺寸为16×16的正方形的量化矩阵,而且还指尺寸为16×4或4×16的非正方形的量化矩阵。
在上述实施例中,关于量化矩阵的信息可表示量化矩阵或推导量化矩阵所需的信息中的至少一个。此时,推导量化矩阵所需的信息可包括以下信息中的至少一个:是否使用量化矩阵的信息、关于是否存在量化矩阵的信息、量化矩阵预测方法信息、参考矩阵标识符、DC矩阵系数或最低频率矩阵系数、或先前在量化矩阵中被编码/解码的量化矩阵系数值与编码/解码目标量化矩阵系数值之间的差值。
本发明的实施例根据块或单元中的至少一个的尺寸而适用。尺寸可以被定义为用于应用实施例的最小尺寸和/或最大尺寸,并且可被定义为应用实施例的固定尺寸。另外,第一实施例适用于第一尺寸,并且第二实施例适用于第二尺寸。另外,本发明的实施例仅适用于最小尺寸或更大尺寸以及最大尺寸或更小尺寸的情况。也就是说,实施例仅在块尺寸在特定范围内时才适用。
另外,本发明的实施例仅适用于最小尺寸或更大尺寸以及最大尺寸或更小尺寸的情况。最小尺寸和最大尺寸可以是块或单元中的一个的尺寸。也就是说,具有最小尺寸的目标块和具有最大尺寸的目标块可彼此不同。例如,本发明的实施例仅在当前块的尺寸等于或大于块的最小尺寸或者当前块的尺寸等于或小于块的最大尺寸时才适用。
例如,实施例仅在当前块的尺寸等于或大于8×8时适用。例如,实施例仅在当前块的尺寸等于或大于16×16时适用。例如,实施例仅在当前块的尺寸等于或大于32×32时适用。例如,实施例仅在当前块的尺寸等于或大于64×64时适用。例如,实施例仅在当前块的尺寸等于或大于128×128时适用。例如,实施例仅在当前块的尺寸为4×4时适用。例如,实施例仅在当前块的尺寸等于或小于8×8时适用。例如,实施例仅在当前块的尺寸等于或小于16×16时适用。例如,实施例仅在当前块的尺寸等于或大于8×8且等于或小于16×16时适用。例如,实施例仅在当前块的尺寸等于或大于16×16且等于或小于64×64时适用。
可在编码器和解码器中以相同的方法执行上述实施例。上述实施例中的至少一个或组合可被用于对视频进行编码/解码。
应用于上述实施例的顺序在编码器和解码器之间可以不同,或者应用于上述实施例的顺序在编码器和解码器中可以相同。
可对每一个亮度信号和色度信号执行上述实施例,或者可对亮度和色度信号相同地执行上述实施例。
应用本发明的上述实施例的块形式可具有正方形形式或非正方形形式。
由编码器熵编码和由解码器熵解码的语法元素(标志、索引等)中的至少一个可使用以下二值化/去二值化方法和熵编码/解码方法中的至少一个。
带正负号的0阶Exp_Golomb二值化/去二值化方法(se(v))
带正负号的k阶Exp_Golomb二值化/去二值化方法(sek(v))
无正负号的0阶Exp_Golomb二值化/去二值化方法(ue(v))
无正负号的k阶Exp_Golomb二值化/去二值化方法(uek(v))
固定长度二值化/去二值化方法(f(n))
截断莱斯(Truncated Rice)二值化/去二值化方法或截断一元(TruncatedUnary)二值化/去二值化方法(tu(v))
截断二进制二值化/去二值化方法(tb(v))
上下文自适应算术编码/解码方法(ae(v))
字节单位比特串(b(8))
有符号的整数二值化/去二值化方法(i(n))
无符号的整数二值化/去二值化方法(u(n))
一元二值化/去二值化方法
可根据编码块、预测块、变换块、块、当前块、编码单元、预测单元、变换单元、单元和当前单元中的至少一个的尺寸来应用本发明的上述实施例。这里,尺寸可被定义为最小尺寸或最大尺寸或最小尺寸和最大尺寸两者,使得上述实施例被应用,或者可被定义为上述实施例被应用于的固定尺寸。另外,在上述实施例中,第一实施例可被应用于第一尺寸,并且第二实施例可被应用于第二尺寸。换句话说,可根据尺寸组合应用上述实施例。另外,当尺寸等于或大于最小尺寸并且等于或小于最大尺寸时,可应用上述实施例。换句话说,当块尺寸包括在特定范围内时,可应用上述实施例。
例如,在当前块的尺寸为8×8或更大时,可应用上述实施例。例如,在当前块的尺寸为4×4或更大时,可应用上述实施例。例如,在当前块的尺寸为16×16或更大时,可应用上述实施例。例如,在当前块的尺寸等于或大于16×16并且等于或小于64×64时,可应用上述实施例。
可根据时间层来应用本发明的上述实施例。为了识别可应用上述实施例的时间层,可用信号传送相应标识符,并且可将上述实施例应用于由相应标识符识别的指定时间层。这里,标识符可被定义为可应用上述实施例的最低层或最高层或最低层和最高层两者,或者可被定义为指示应用该实施例的特定层。另外,可定义应用该实施例的固定时间层。
例如,在当前图像的时间层是最低层时,可应用上述实施例。例如,在当前图像的时间层标识符是1时,可应用上述实施例。例如,在当前图像的时间层是最高层时,可应用上述实施例。
可定义应用本发明的上述实施例的条带类型或并行块组类型,并且可根据相应的条带类型或并行块组类型来应用上述实施例。
在上述实施例中,基于具有一系列步骤或单元的流程图描述了方法,但是本发明不限于步骤的顺序,而是一些步骤可以与其他步骤同时执行或以不同的顺序执行。另外,本领域普通技术人员应当理解,流程图中的步骤不彼此排除,并且可以将其他步骤添加到流程图中,或者可从流程图中删除一些步骤,而不影响本发明的范围。
实施例包括示例的各个方面。可以不描述各个方面的所有可能的组合,但是本领域技术人员将能够认识到不同的组合。因此,本发明可包括在权利要求的范围内的所有替换、修改和改变。
本发明的实施例可以以程序指令的形式实现,其中,程序指令可由各种计算机组件执行并且被记录在计算机可读记录介质中。计算机可读记录介质可包括独立的程序指令、数据文件、数据结构等或程序指令、数据文件、数据结构等的组合。记录在计算机可读记录介质中的程序指令可以是针对本发明专门设计和构建的,或者是计算机软件技术领域的普通技术人员所公知的。计算机可读记录介质的示例包括磁记录介质,诸如硬盘、软盘和磁带;光学数据存储介质,诸如CD-ROM或DVD-ROM;磁最佳介质,例如软磁盘;以及硬件装置,诸如只读存储器(ROM)、随机存取存储器(RAM)、闪存等,其被具体构建为存储和实现程序指令。程序指令的示例不仅包括由编译器格式化的机械语言代码,还包括可由计算机使用解释器实现的高级语言代码。硬件装置可被配置为由一个或更多个软件模块操作以进行根据本发明的处理,反之亦然。
尽管已经根据诸如详细元件的特定项目以及有限的实施例和附图描述了本发明,但提供它们仅是为了帮助更一般地理解本发明,并且本发明不限于上述实施例。本发明所属领域的技术人员将理解的是,可从上述描述进行各种修改和改变。
因此,本发明的精神不应限于上述实施例,并且所附权利要求及其等同物的整个范围将落入本发明的范围和精神内。

Claims (20)

1.一种视频解码方法,包括:
确定包括包含多个量化矩阵的量化矩阵集的一个或更多个自适应参数集;
从所述一个或更多个自适应参数集之中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集;
基于确定的所述自适应参数集的所述量化矩阵集对所述当前画面或所述当前条带的当前块的变换系数进行反量化;以及
基于反量化的所述变换系数重建所述当前块,
其中,所述自适应参数集包括应用于一个或更多个画面或条带的编码信息。
2.根据权利要求1所述的视频解码方法,
其中,所述自适应参数集包括指示分配给所述自适应参数集的标识号的自适应参数集标识符,
其中,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集的步骤包括:
从比特流获取量化矩阵集标识符;以及
根据由所述量化矩阵集标识符指示的自适应参数集标识符,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集。
3.根据权利要求2所述的视频解码方法,其中,从所述比特流获取所述量化矩阵集标识符的步骤包括:
从所述比特流获取量化矩阵启用标志,其中,所述量化矩阵启用标志指示是否使用在针对所述当前画面或所述当前条带的所述自适应参数集中定义的量化矩阵集;以及
当所述量化矩阵启用标志指示使用在所述自适应参数集中定义的所述量化矩阵集时,从所述比特流获取针对所述当前画面或所述当前条带的量化矩阵集标识符。
4.根据权利要求2所述的视频解码方法,其中,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集的步骤包括:
从所述比特流获取量化矩阵使用信息,其中,所述量化矩阵使用信息指示是否在所述当前画面或所述当前条带中使用根据所述量化矩阵集标识符的量化矩阵集;以及
当所述量化矩阵使用信息指示在所述当前画面或所述当前条带中使用根据所述量化矩阵集标识符的量化矩阵集时,根据由所述量化矩阵集标识符指示的自适应参数集标识符,确定包括应用于所述当前画面或所述当前条带的所述量化矩阵集的所述自适应参数集。
5.根据权利要求1所述的视频解码方法,
其中,所述自适应参数集包括指示包括在所述自适应参数集中的编码信息的类型的自适应参数集类型信息,以及
其中,确定包括所述量化矩阵集的所述一个或更多个自适应参数集的步骤包括:当所述自适应参数集类型信息指示量化矩阵类型时,确定包括量化矩阵集的自适应参数集。
6.根据权利要求5所述的视频解码方法,其中,所述自适应参数集类型信息指示量化矩阵类型、自适应环内滤波器类型或具有色度缩放的亮度映射类型。
7.根据权利要求1所述的视频解码方法,其中,对所述当前画面或所述当前条带的所述当前块的所述变换系数进行反量化的步骤包括:
从比特流获取次级变换量化矩阵启用信息,其中,所述次级变换量化矩阵启用信息指示确定的所述自适应参数集的所述量化矩阵集是否被应用于应用次级变换的块;
确定指示次级变换是否被应用于所述当前块的次级变换使用信息;以及
当所述次级变换量化矩阵启用信息指示确定的所述自适应参数集的所述量化矩阵集不被应用于应用次级变换的块并且所述次级变换使用信息指示次级变换已被应用于所述当前块时,根据默认量化矩阵对所述当前块的所述变换系数进行反量化。
8.根据权利要求7所述的视频解码方法,其中,所述默认量化矩阵包括在量化矩阵中具有相同值的量化系数。
9.根据权利要求1所述的视频解码方法,其中,所述量化矩阵集包括根据块的预测模式、颜色分量和尺寸定义的多个量化矩阵。
10.根据权利要求9所述的视频解码方法,
其中,所述量化矩阵集包括在帧内预测的块中使用的量化矩阵、在帧间预测的块中使用的量化矩阵和在帧内块复制预测的块中使用的量化矩阵,以及
其中,在所述帧间预测的块中使用的所述量化矩阵和在所述帧内块复制预测的块中使用的所述量化矩阵彼此相等。
11.根据权利要求9所述的视频解码方法,其中,所述量化矩阵集包括在最大高度和最大宽度为2的块中使用的量化矩阵、在最大高度和最大宽度为4的块中使用的量化矩阵、在最大高度和最大宽度为8的块中使用的量化矩阵、在最大高度和最大宽度为16的块中使用的量化矩阵、以及在最大高度和最大宽度为64的块中使用的量化矩阵。
12.根据权利要求11所述的视频解码方法,其中,在所述最大高度和最大宽度为2的块中使用的所述量化矩阵仅包括在执行帧间预测或帧内块复制预测的同时在针对Cr分量的块中使用的量化矩阵以及在执行帧间预测或帧内块复制预测的同时在针对Cb分量的块中使用的量化矩阵。
13.根据权利要求1所述的视频解码方法,其中,确定包括包含所述多个量化矩阵的所述量化矩阵集的所述一个或更多个自适应参数集的步骤包括:
从量化矩阵复制模式、帧间量化矩阵预测模式和帧内量化矩阵DPCM模式之中确定当前量化矩阵的确定方法;以及
根据所述当前量化矩阵的确定方法来确定当前量化矩阵。
14.根据权利要求13所述的视频解码方法,其中,确定所述当前量化矩阵的确定方法的步骤包括:
获取指示是否应用量化矩阵复制模式的量化矩阵复制模式标志;
当所述量化矩阵复制模式标志指示所述量化矩阵复制模式被应用于所述当前量化矩阵时,将所述当前量化矩阵的确定方法确定为量化矩阵复制模式;
当所述量化矩阵复制模式标志指示所述量化矩阵复制模式不被应用于所述当前量化矩阵时,获取指示是否应用所述帧间量化矩阵预测模式的帧间量化矩阵预测模式标志;以及
当所述帧间量化矩阵预测模式标志指示所述帧间量化矩阵预测模式被应用于所述当前量化矩阵时,将所述当前量化矩阵的确定方法确定为所述帧间量化矩阵预测模式,并且当所述帧间量化矩阵预测模式标志指示所述帧间量化矩阵预测模式不被应用于所述当前量化矩阵时,将所述当前量化矩阵的确定方法确定为所述帧内量化矩阵DPCM模式。
15.根据权利要求13所述的视频解码方法,其中,确定所述当前量化矩阵的步骤包括:
当所述当前量化矩阵处于所述量化矩阵复制模式时,从在所述当前量化矩阵之前确定的量化矩阵确定参考量化矩阵;以及
将所述参考量化矩阵确定为所述当前量化矩阵。
16.根据权利要求15所述的视频解码方法,其中,确定所述参考量化矩阵的步骤包括:
当所述当前量化矩阵的最大高度和最大宽度为2时,将最大高度和最大宽度为2的量化矩阵确定为所述参考量化矩阵;
当所述当前量化矩阵的最大高度和最大宽度为4时,将最大高度和最大宽度为4的量化矩阵确定为所述参考量化矩阵;
当所述当前量化矩阵的最大高度和最大宽度为8时,将最大高度和最大宽度为8的量化矩阵确定为所述参考量化矩阵;
当所述当前量化矩阵的最大高度和最大宽度为16时,将最大高度和最大宽度为8或16的量化矩阵确定为所述参考量化矩阵;以及
当所述当前量化矩阵的最大高度和最大宽度为32时,将最大高度和最大宽度为8、16或32的量化矩阵确定为所述参考量化矩阵。
17.根据权利要求13所述的视频解码方法,其中,确定所述当前量化矩阵的步骤包括:
当所述当前量化矩阵处于所述帧间量化矩阵预测模式时,从在所述当前量化矩阵之前确定的量化矩阵确定参考量化矩阵;
获取差分量化矩阵系数,其中,所述差分量化矩阵系数指示所述当前量化矩阵的矩阵系数与所述参考量化矩阵的矩阵系数之间的差;以及
根据所述参考量化矩阵的所述矩阵系数与所述差分量化矩阵系数的总和来确定所述当前量化矩阵的所述矩阵系数。
18.根据权利要求17所述的视频解码方法,其中,确定所述参考量化矩阵的步骤包括:
当所述当前量化矩阵的最大高度和最大宽度为2时,将最大高度和最大宽度为2的量化矩阵确定为所述参考量化矩阵;
当所述当前量化矩阵的最大高度和最大宽度为4时,将最大高度和最大宽度为4的量化矩阵确定为所述参考量化矩阵;
当所述当前量化矩阵的最大高度和最大宽度为8时,将最大高度和最大宽度为8的量化矩阵确定为所述参考量化矩阵;
当所述当前量化矩阵的最大高度和最大宽度为16时,将最大高度和最大宽度为8或16的量化矩阵确定为所述参考量化矩阵;以及
当所述当前量化矩阵的最大高度和最大宽度为32时,将最大高度和最大宽度为8、16或32的量化矩阵确定为所述参考量化矩阵。
19.一种视频编码方法,包括:
确定包括包含多个量化矩阵的量化矩阵集的一个或更多个自适应参数集;
从所述一个或更多个自适应参数集之中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集;
基于确定的所述自适应参数集的所述量化矩阵集对当前画面或当前条带的当前块的变换系数进行量化;以及
基于量化的所述变换系数对所述当前块进行编码,
其中,所述自适应参数集包括应用于一个或更多个画面或条带的编码信息。
20.一种用于存储通过视频编码方法对视频进行编码而产生的比特流的非暂时性计算机可读记录介质,所述视频编码方法包括:
确定包括包含多个量化矩阵的量化矩阵集的一个或更多个自适应参数集;
从所述一个或更多个自适应参数集之中确定包括应用于当前画面或当前条带的量化矩阵集的自适应参数集;
基于确定的所述自适应参数集的所述量化矩阵集对当前画面或当前条带的当前块的变换系数进行量化;以及
基于量化的所述变换系数对所述当前块进行编码,
其中,所述自适应参数集包括应用于一个或更多个画面或条带的编码信息。
CN202080040590.4A 2019-06-14 2020-06-15 量化矩阵编码/解码方法和装置、以及存储比特流的记录介质 Pending CN113906743A (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
KR10-2019-0071098 2019-06-14
KR20190071098 2019-06-14
KR10-2019-0071311 2019-06-17
KR20190071311 2019-06-17
KR20190072279 2019-06-18
KR10-2019-0072279 2019-06-18
KR10-2019-0076127 2019-06-26
KR20190076127 2019-06-26
KR20200027649 2020-03-05
KR10-2020-0027649 2020-03-05
PCT/KR2020/007733 WO2020251332A1 (ko) 2019-06-14 2020-06-15 양자화 행렬 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체

Publications (1)

Publication Number Publication Date
CN113906743A true CN113906743A (zh) 2022-01-07

Family

ID=73781848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080040590.4A Pending CN113906743A (zh) 2019-06-14 2020-06-15 量化矩阵编码/解码方法和装置、以及存储比特流的记录介质

Country Status (5)

Country Link
US (1) US20220321885A1 (zh)
KR (1) KR20200143298A (zh)
CN (1) CN113906743A (zh)
MX (1) MX2021014726A (zh)
WO (1) WO2020251332A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113228651A (zh) * 2018-12-26 2021-08-06 韩国电子通信研究院 量化矩阵编码/解码方法和装置以及存储比特流的记录介质
WO2021001215A1 (en) * 2019-07-02 2021-01-07 Interdigital Vc Holdings France, Sas Chroma format dependent quantization matrices for video encoding and decoding
KR20220099310A (ko) * 2021-01-06 2022-07-13 삼성전자주식회사 디스플레이 장치 및 그 제어 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110068900A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 영상 부호화/복호화 장치 및 방법
CN103404145A (zh) * 2011-03-09 2013-11-20 西门子公司 一种用于对数字化图像的序列进行编码的方法
CN104170382A (zh) * 2012-01-20 2014-11-26 韩国电子通信研究院 用于编码和解码量化矩阵的方法和使用其的设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2924886T3 (es) * 2011-04-22 2022-10-11 Dolby Int Ab Método y dispositivo para codificación por compresión con pérdidas de datos de imagen
KR101957873B1 (ko) * 2012-06-04 2019-03-13 삼성전자주식회사 3차원 영상을 위한 영상 처리 장치 및 방법
US11153594B2 (en) * 2016-08-29 2021-10-19 Apple Inc. Multidimensional quantization techniques for video coding/decoding systems
CN113711606A (zh) * 2019-04-15 2021-11-26 Lg 电子株式会社 基于缩放列表数据的信令的视频或图像编译

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110068900A (ko) * 2009-12-16 2011-06-22 한국전자통신연구원 영상 부호화/복호화 장치 및 방법
KR20180107067A (ko) * 2009-12-16 2018-10-01 한국전자통신연구원 영상 부호화/복호화 장치 및 방법
CN103404145A (zh) * 2011-03-09 2013-11-20 西门子公司 一种用于对数字化图像的序列进行编码的方法
CN104170382A (zh) * 2012-01-20 2014-11-26 韩国电子通信研究院 用于编码和解码量化矩阵的方法和使用其的设备

Also Published As

Publication number Publication date
US20220321885A1 (en) 2022-10-06
MX2021014726A (es) 2022-01-18
WO2020251332A1 (ko) 2020-12-17
KR20200143298A (ko) 2020-12-23

Similar Documents

Publication Publication Date Title
CN111279695B (zh) 用于基于非对称子块的图像编码/解码的方法及装置
US20210274223A1 (en) Video encoding/decoding method and device, and recording medium for storing bitstream
CN112369021A (zh) 用于吞吐量增强的图像编码/解码方法和设备以及存储比特流的记录介质
CN113273213A (zh) 图像编码/解码方法和设备以及存储比特流的记录介质
CN112740697A (zh) 图像编码/解码方法和装置及存储比特流的记录介质
CN112771862A (zh) 通过使用边界处理对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN113228651A (zh) 量化矩阵编码/解码方法和装置以及存储比特流的记录介质
CN113574875A (zh) 基于帧内块复制的编/解码方法和装置及比特流存储介质
US20220312003A1 (en) Intra prediction mode, and entropy encoding/decoding method and device
CN112740694A (zh) 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质
CN112425167A (zh) 用于图像编码/解码的方法和装置以及其上存储有比特流的记录介质
CN114788286A (zh) 图像编码/解码方法和设备以及存储比特流的记录介质
CN113924779A (zh) 视频编码/解码方法和装置以及比特流存储介质
CN112740671A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
CN113906740A (zh) 帧间预测信息编码/解码方法和装置
CN112673629A (zh) 视频编码/解码方法和装置以及用于存储比特流的记录介质
CN113261286A (zh) 用于推导帧内预测模式的方法和设备
CN113273188A (zh) 图像编码/解码方法和装置以及存储有比特流的记录介质
US20220070475A1 (en) Image encoding/decoding method and apparatus, and recording media storing bitstream
CN114731409A (zh) 图像编码/解码方法和装置、以及存储比特流的记录介质
CN113940077A (zh) 用于视频编码/解码的虚拟边界信令方法和设备
CN113906743A (zh) 量化矩阵编码/解码方法和装置、以及存储比特流的记录介质
EP3965419A1 (en) Image encoding/decoding method and device, and recording medium storing bitstream
CN113841398A (zh) 一种基于子块划分的图像编码/解码方法及装置
CN113228645A (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