CN113132734A - 一种编码、解码方法、装置及其设备 - Google Patents

一种编码、解码方法、装置及其设备 Download PDF

Info

Publication number
CN113132734A
CN113132734A CN201911424382.XA CN201911424382A CN113132734A CN 113132734 A CN113132734 A CN 113132734A CN 201911424382 A CN201911424382 A CN 201911424382A CN 113132734 A CN113132734 A CN 113132734A
Authority
CN
China
Prior art keywords
coefficient
current block
decoding
mode
coding
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.)
Granted
Application number
CN201911424382.XA
Other languages
English (en)
Other versions
CN113132734B (zh
Inventor
陈方栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201911424382.XA priority Critical patent/CN113132734B/zh
Publication of CN113132734A publication Critical patent/CN113132734A/zh
Application granted granted Critical
Publication of CN113132734B publication Critical patent/CN113132734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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

Landscapes

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

Abstract

本申请提供一种编码、解码方法、装置及其设备,该解码方法包括:获取当前块的系数解码方式标志位;若系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据所述第一系数解码方式,从当前块的编码比特流解码最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对当前块的编码比特流进行系数解码,得到目标系数矩阵;若系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据所述第二系数解码方式,按照从左上角到右下角的顺序,对当前块的编码比特流进行系数解码,得到目标系数矩阵;根据目标系数矩阵获取当前块的残差系数矩阵;根据残差系数矩阵确定当前块的重建值。通过本申请能够提高编码性能。

Description

一种编码、解码方法、装置及其设备
技术领域
本申请涉及编解码领域,尤其是涉及一种编码、解码方法、装置及其设备。
背景技术
为了达到节约空间的目的,视频图像是经过编码后才传输的,完整的视频编码方法可以包括预测、变换、量化、熵编码、滤波等过程。预测编码可以包括帧内编码和帧间编码,帧间编码是利用视频时间域的相关性,使用邻近已编码图像的像素预测当前图像的像素,达到去除视频时域冗余的目的。帧内编码是考虑到相邻块之间存在很强的空域相关性,利用周围已经重建的像素作为参考像素,对当前未编码块进行预测,只需要对残差值进行后续编码处理,而不是对原始值进行编码,有效去除空域上的冗余,大大提高了压缩效率。
在视频编码过程中,变换是指将以空间域中像素形式描述的图像转换至变换域的图像,并以变换系数的形式来表示。由于绝大多数图像都含有较多平坦区域和缓慢变化的区域,因此,适当的变换过程,可以使图像的能量在空间域的分散分布,转换为在变换域的相对集中分布,从而能够去除信号之间的频域相关性,变换过程配合量化过程一起使用,可以有效压缩码流。
针对变换过程,在相关技术中,先获取待编码的变换系数,然后采用固定编码方式进行系数编码,编码性能比较差,无法获得较优的编码性能。
发明内容
本申请提供一种解码方法,应用于解码端,所述方法包括:
获取当前块的系数解码方式标志位;
若所述系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据所述第一系数解码方式,从所述当前块的编码比特流解码最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
若所述系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据所述第二系数解码方式,按照从左上角到右下角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
根据所述目标系数矩阵获取所述当前块的残差系数矩阵;
根据所述残差系数矩阵确定所述当前块的重建值。
本申请提供一种编码方法,应用于编码端,所述方法包括:
获取当前块的残差系数矩阵;
根据所述残差系数矩阵获取所述当前块的目标系数矩阵;
获取所述当前块的系数编码方式标志位;
若所述系数编码方式标志位指示采用第一系数编码方式进行系数编码,则根据所述第一系数编码方式,编码所述目标系数矩阵的最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流;
若所述系数编码方式标志位指示采用第二系数编码方式进行系数编码,则根据所述第二系数编码方式,按照从左上角到右下角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流。
本申请提供一种解码装置,应用于解码端,所述装置包括:
获取模块,用于获取当前块的系数解码方式标志位;
解码模块,用于若所述系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据所述第一系数解码方式,从所述当前块的编码比特流解码最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
若所述系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据所述第二系数解码方式,按照从左上角到右下角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
确定模块,用于根据所述目标系数矩阵获取所述当前块的残差系数矩阵,并根据所述残差系数矩阵确定所述当前块的重建值。
本申请提供一种编码装置,应用于编码端,所述装置包括:
获取模块,用于获取当前块的残差系数矩阵;根据所述残差系数矩阵获取所述当前块的目标系数矩阵;获取所述当前块的系数编码方式标志位;
编码模块,用于若所述系数编码方式标志位指示采用第一系数编码方式进行系数编码,则根据所述第一系数编码方式,编码所述目标系数矩阵的最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流;
若所述系数编码方式标志位指示采用第二系数编码方式进行系数编码,则根据所述第二系数编码方式,按照从左上角到右下角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流。
本申请提供一种解码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取当前块的系数解码方式标志位;
若所述系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据所述第一系数解码方式,从所述当前块的编码比特流解码最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
若所述系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据所述第二系数解码方式,按照从左上角到右下角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
根据所述目标系数矩阵获取所述当前块的残差系数矩阵;
根据所述残差系数矩阵确定所述当前块的重建值。
本申请提供一种编码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取当前块的残差系数矩阵;
根据所述残差系数矩阵获取所述当前块的目标系数矩阵;
获取所述当前块的系数编码方式标志位;
若所述系数编码方式标志位指示采用第一系数编码方式进行系数编码,则根据所述第一系数编码方式,编码所述目标系数矩阵的最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流;
若所述系数编码方式标志位指示采用第二系数编码方式进行系数编码,则根据所述第二系数编码方式,按照从左上角到右下角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流。
由以上技术方案可见,本申请实施例中,在得到当前块的目标系数矩阵之后,可以采用第一系数编码方式对目标系数矩阵进行系数编码,或采用第二系数编码方式对目标系数矩阵进行系数编码,而不是采用固定编码方式进行系数编码,从而能够提高编码性能,获得较优的编码性能,并降低码率开销。
附图说明
图1是本申请一种实施方式中的视频编码框架的示意图;
图2是本申请一种实施方式中的解码方法的流程图;
图3是本申请一种实施方式中的编码方法的流程图;
图4A-图4C是本申请一种实施方式中的编码顺序的示意图;
图5A是本申请一种实施方式中的解码装置的结构图;
图5B是本申请一种实施方式中的编码装置的结构图;
图6A是本申请一种实施方式中的解码端设备的硬件结构图;
图6B是本申请一种实施方式中的编码端设备的硬件结构图。
具体实施方式
在本申请实施例中使用的术语仅仅是出于描述特定实施例的目的,而非用于限制本申请。本申请实施例和权利要求书中使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可被称为第二信息,类似地,第二信息也可被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或“当……时”,或“响应于确定”。
本申请实施例提出一种编码、解码方法、装置及其设备,涉及如下概念:
编解码框架:参见图1所示,为编解码框架的示意图。可以使用该编解码框架实现本申请实施例的编码端处理流程,可以使用该编解码框架实现本申请实施例的解码端处理流程。示例性的,参见图1所示,完整的编解码框架可以包括但不限于:预测,变换,量化,熵编码器,反量化,反变换,重建,环内滤波,参考图像缓冲器等模块,预测可以分为帧内预测和帧间预测(即运动估计/运动补偿)。在编码端,通过这些模块之间的配合,可以实现编码端处理流程,在解码端,通过这些模块之间的配合,可以实现解码端处理流程。
帧内预测、帧间预测与IBC(Intra Block Copy,帧内块拷贝)预测:
帧内预测是指,利用视频空间域的相关性,使用当前块的已编码块进行预测,以达到去除视频空域冗余的目的。示例性的,帧内预测规定了多种预测模式,每种预测模式对应一种纹理方向(DC模式除外),例如,若图像纹理呈现水平状排布,则水平预测模式可以更好的预测图像信息。
帧间预测是指,基于视频时域的相关性,由于视频序列包含有较强的时域相关性,使用邻近已编码图像像素预测当前图像的像素,可以达到有效去除视频时域冗余的目的。视频编码标准的帧间预测部分都采用了基于块的运动补偿技术,主要原理是为当前图像的每一个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计(MotionEstimation,ME)。
IBC是指允许同帧参考,当前块的参考数据来自同一帧,IBC也可以称为帧内块复制。IBC技术中,可以使用当前块的块矢量获取当前块的预测值,示例性的,基于屏幕内容中同一帧内存在大量重复出现的纹理这一特性,在采用块矢量获取当前块的预测值时,能够提升屏幕内容序列的压缩效率。
变换(transform):在视频编码过程中,变换是指将以空间域中像素形式描述的图像转换至变换域的图像,并以变换系数的形式来表示。由于绝大多数图像都含有较多平坦区域和缓慢变化的区域,因此,适当的变换过程,可以使图像能量在空间域的分散分布,转换为在变换域的相对集中分布,从而能够去除信号之间的频域相关性,配合量化过程,可以有效压缩码流。变换过程能够将时域的像素值转换到频域,由于实际残差块中,低频分量占比较大,通过变换将能量集中到低频区域,即变换后的低频系数的值较大,高频系数的值较小。
残差(residual):也可以表示为误差,即预测值与原始值的差。
系数(coefficient):残差块中的像素值称为系数,残差经过变换后,左上角的为低频系数,右下角的为高频系数。从左上角到右下角,频率越来越大。
标记位编码(flag coding):在视频编码中,存在很多模式。对于某个块,其可能采用其中一种模式。为了表示采用何种模式,每个块需通过编码对应的标记位进行标记。即,在编码端,通过编码端决策,确定该标记位的值,然后编码传递到解码端。而解码端通过解析标记位,确定对应模式是否启用。
序列参数集(SPS,sequence parameter set):该集合存在确定整个序列中是否允许某些工具(方法)开关的标记位。若标记位为1,则视频序列中允许启用对应工具(方法);否则,该工具(方法)无法在该序列的编码过程中启用。
图像参数集(PPS,picture parameter set):该集合存在确定某个图片中是否允许某些工具(方法)开关的标记位。若标记位为1,则该图片中允许启用对应工具(方法);否则,该工具(方法)无法在该图片的编码过程中启用。
图像头(picture header):不同于图像参数集(可被不同图像使用),图像头中保存的是仅针对当前图像的共同信息。例如,当当前图像包含多个slice时,所述多个slice可以通用图像头中的信息。图像头存在确定当前图像中是否允许某些工具(方法)开关的标记位。若标记位为1,则当前图像允许启用对应工具(方法);否则,该工具(方法)无法在当前图像的编码过程中启用。
片头(Slice header):一帧图像可以包含1个slice或多个slice。针对每个slice,在该slice的头信息中,存在确定某个slice中是否允许某些工具(方法)开关的标记位。若该标记位为1,则该slice中允许启用对应工具(方法);否则,该工具(方法)无法在该slice的编码过程中启用。
高层语法:用于表示是否允许启用某些工具(方法),即通过高层语法允许启用某些工具(方法),或者禁止启用某些工具(方法)。示例性的,高层语法可以是序列参数集级的高层语法,或者图像参数集级的高层语法,或者片头级的高层语法,或者图像头级的高层语法,对此高层语法不做限制,只要能够实现上述功能即可。
率失真原则(Rate-Distortion Optimized):评价编码效率的有两大指标:码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比),比特流越小,则压缩率越大,PSNR越大,则重建图像质量越好,在模式选择时,判别公式实质上也就是对二者的综合评价。例如,模式对应的代价:J(mode)=D+λ*R,其中,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。若使用RDO原则去对编码模式做比较决策,通常可以保证编码性能最佳。
针对变换过程,在相关技术中,需要采用固定编码方式进行系数编码,并采用固定解码方式进行系数解码,编码性能比较差,无法获得较优的编码性能。
针对上述发现,本申请实施例中,编码端可以采用第一系数编码方式进行系数编码(即编码目标系数矩阵的最后一个非零系数的位置,按照从最后一个非零系数的位置到左上角的顺序,对目标系数矩阵进行编码),也可以采用第二系数编码方式进行系数编码(即按照从左上角到右下角的顺序,对目标系数矩阵进行编码),而不是采用固定的编码方式进行系数编码。解码端可以采用第一系数解码方式进行系数解码(即从当前块的编码比特流解码最后一个非零系数的位置,按照从最后一个非零系数的位置到左上角的顺序,对编码比特流进行系数解码),也可以采用第二系数解码方式进行系数解码(即按照从左上角到右下角的顺序,对编码比特流进行系数解码),而不是采用固定的解码方式进行系数解码。上述方式能够提高编码性能,并降低码率开销。
以下结合几个具体实施例,对本申请实施例的技术方式进行说明。
实施例1:参见图2所示,为本申请实施例中提出的解码方法的流程示意图,该解码方法可以应用于解码端,该解码方法可以包括以下步骤:
步骤201,获取当前块的系数解码方式标志位。
示例性的,该系数解码方式标志位指示采用第一系数解码方式进行系数解码,或者,该系数解码方式标志位指示采用第二系数解码方式进行系数解码。
示例性的,当系数解码方式标志位为第一取值时,该第一取值可以用于指示采用第一系数解码方式进行系数解码,当系数解码方式标志位为第二取值时,该第二取值可以用于指示采用第二系数解码方式进行系数解码。
示例性的,第一取值为0,第二取值为1;或者,第一取值为1,第二取值为0。当然,第一取值和第二取值还可以为其它数值,对此不做限制。
示例性的,为了区分方便,可以将两种系数解码方式分别称为第一系数解码方式和第二系数解码方式,关于第一系数解码方式的具体解码过程,第二系数解码方式的具体解码过程,可以参见后续实施例,在此不再赘述。
在一种可能的实施方式中,解码端从当前块的编码比特流解析当前块的系数解码方式标志位。例如,编码端可以确定当前块的系数编码方式标志位,并在当前块的编码比特流中携带当前块的系数编码方式标志位,解码端在得到当前块的编码比特流后,从当前块的编码比特流解析当前块的系数解码方式标志位,即当前块的系数编码方式标志位。为了区分方便,在编码端,称为当前块的系数编码方式标志位,在解码端,称为当前块的系数解码方式标志位。
例如,解码端从当前块的编码比特流解析出系数解码方式标志位为第一取值,或者,从当前块的编码比特流解析出系数解码方式标志位为第二取值。
示例性的,若高层语法允许当前块采用第一系数解码方式和第二系数解码方式进行系数解码,则解码端从当前块的编码比特流解析当前块的系数解码方式标志位。比如说,基于高层语法,解码端获知允许当前块采用第一系数解码方式和第二系数解码方式进行系数解码,则解码端需要解析当前块的编码比特流,并从当前块的编码比特流中解析当前块的系数解码方式标志位。
在另一种可能的实施方式中,若高层语法只允许当前块采用第一系数解码方式进行系数解码(即高层语法不允许当前块采用第二系数解码方式进行系数解码),则解码端将当前块的系数解码方式标志位确定为第一取值,第一取值指示采用第一系数解码方式进行系数解码,即确定当前块的系数解码方式标志位为第一取值。或者,若高层语法只允许当前块采用第二系数解码方式进行系数解码(即高层语法不允许当前块采用第一系数解码方式进行系数解码),则解码端将当前块的系数解码方式标志位确定为第二取值,第二取值指示采用第二系数解码方式进行系数解码,确定当前块的系数解码方式标志位为第二取值。
在另一种可能的实施方式中,若高层语法只允许当前块采用一种系数解码方式进行系数解码(即高层语法不允许当前块采用两种系数解码方式进行系数解码,而是只允许当前块采用一种系数解码方式进行系数解码),则解码端将当前块的系数解码方式标志位确定为预设取值(即默认取值,这个预设取值可以预先配置在编码端和解码端)。示例性的,该预设取值可以为第一取值或者第二取值,当该预设取值为第一取值时,指示采用第一系数解码方式进行系数解码,当该预设取值为第二取值时,指示采用第二系数解码方式进行系数解码。
在另一种可能的实施方式中,若当前块不允许采用第二系数解码方式进行系数解码,则解码端将当前块的系数解码方式标志位确定为第一取值,第一取值指示采用第一系数解码方式进行系数解码;例如,可以基于当前块的特征信息确定当前块是否不允许采用第二系数解码方式进行系数解码,对此确定方式不做限制。或者,若当前块不允许采用第一系数解码方式进行系数解码,则解码端将当前块的系数解码方式标志位确定为第二取值,第二取值指示采用第二系数解码方式进行系数解码;例如,可以基于当前块的特征信息确定当前块是否不允许采用第一系数解码方式进行系数解码,对此确定方式不做限制。
综上所述,解码端可以获取到当前块的系数解码方式标志位,该系数解码方式标志位为第一取值或者第二取值,第一取值指示采用第一系数解码方式进行系数解码,第二取值指示采用第二系数解码方式进行系数解码。
步骤202,若系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据第一系数解码方式,从当前块的编码比特流解码最后一个非零系数的位置,按照从最后一个非零系数的位置到左上角的顺序,对当前块的编码比特流进行系数解码,得到目标系数矩阵。若系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据第二系数解码方式,按照从左上角到右下角的顺序,对当前块的编码比特流进行系数解码,得到目标系数矩阵。
例如,若系数解码方式标志位指示采用第一系数解码方式进行系数解码,则解码端先从当前块的编码比特流中解码最后一个非零系数的位置,如位置An,假设左上角的位置为A0,右下角的位置为Am,m大于n,则从最后一个非零系数的位置到左上角的顺序依次是An,An-1,An-2,…,A0,从最后一个非零系数的位置到右下角的顺序依次是An,An+1,An+2,…,Am。然后,解码端依次从当前块的编码比特流中解码出多个系数,将第一个系数作为位置An的目标系数,将第二个系数作为位置An-1的目标系数,以此类推,将最后一个系数作为位置A0的目标系数。此外,将An+1至Am的目标系数设为0。经过上述处理,可以得到A0至Am的目标系数,这些目标系数组成目标系数矩阵。
若系数解码方式标志位指示采用第二系数解码方式进行系数解码,从左上角到右下角的顺序依次是A0,A1,…,Am,解码端依次从当前块的编码比特流中解码出多个系数,将第一个系数作为位置A0的目标系数,将第二个系数作为位置A1的目标系数,以此类推,将最后一个系数作为位置Am的目标系数。经过上述处理,得到A0至Am的目标系数,这些目标系数组成目标系数矩阵。
步骤203,根据目标系数矩阵获取当前块的残差系数矩阵。
示例性的,可以将目标系数矩阵确定为当前块的残差系数矩阵,即不需要对目标系数矩阵进行反变换操作,直接将目标系数矩阵确定为当前块的残差系数矩阵。或者,对目标系数矩阵进行反变换,得到当前块的残差系数矩阵。或者,对目标系数矩阵进行反量化和反变换,得到当前块的残差系数矩阵。
步骤204,根据残差系数矩阵确定当前块的重建值。
例如,可以确定当前块对应的参考块,针对当前块的每个像素点,从参考块中确定与该像素点对应的参考点。从残差系数矩阵中确定该像素点的残差系数值,根据该参考点的像素值与该残差系数值,可以得到该像素点的重建值。当前块的所有像素点的重建值,就可以组成当前块的重建值。当然,上述方式只是示例,还可以采用其它方式确定当前块的重建值,对此不做限制。
由以上技术方案可见,本申请实施例中,可以采用第一系数解码方式对当前块的编码比特流进行系数解码,或者,采用第二系数解码方式对当前块的编码比特流进行系数解码,而不是采用固定的解码方式进行系数解码,从而能够提高编码性能,获得较优的编码性能,并降低码率开销。
实施例2:参见图3所示,为本申请实施例中提出的编码方法的流程示意图,该编码方法可以应用于编码端,该编码方法可以包括以下步骤:
步骤301,获取当前块的残差系数矩阵。
示例性的,可以确定当前块对应的参考块,针对当前块的每个像素点,可以从参考块中确定与该像素点对应的参考点。该像素点的像素值与该参考点的像素值之间的差值,可以是该像素点的残差系数。当前块的所有像素点的残差系数就组成当前块的残差系数矩阵。当然,上述方式只是一个示例,还可以采用其它方式确定当前块的残差系数矩阵,对此不做限制。
步骤302,根据该残差系数矩阵获取当前块的目标系数矩阵。
示例性的,可以将残差系数矩阵确定为当前块的目标系数矩阵,即不需要对残差系数矩阵进行变换操作,直接将残差系数矩阵确定为当前块的目标系数矩阵。或者,可以对残差系数矩阵进行变换,得到当前块的目标系数矩阵。或者,可以对残差系数矩阵进行变化和量化,得到当前块的目标系数矩阵。
步骤303,获取当前块的系数编码方式标志位。
示例性的,该系数编码方式标志位指示采用第一系数编码方式进行系数编码,或者,该系数编码方式标志位指示采用第二系数编码方式进行系数编码。
示例性的,当系数编码方式标志位为第一取值时,该第一取值可以用于指示采用第一系数编码方式进行系数编码,当系数编码方式标志位为第二取值时,该第二取值可以用于指示采用第二系数编码方式进行系数编码。
示例性的,第一取值为0,第二取值为1;或者,第一取值为1,第二取值为0。当然,第一取值和第二取值还可以为其它数值,对此不做限制。
示例性的,为了区分方便,可以将两种系数编码方式分别称为第一系数编码方式和第二系数编码方式,关于第一系数编码方式的具体编码过程,第二系数编码方式的具体编码过程,可以参见后续实施例,在此不再赘述。
在一种可能的实施方式中,编码端可以根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取当前块的系数编码方式标志位,并在当前块的编码比特流中编码当前块的系数编码方式标志位。例如,当前块的系数编码方式标志位可以为第一取值或者第二取值。
根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取当前块的系数编码方式标志位,可以包括:获取采用第一系数编码方式对目标系数矩阵进行系数编码时的第一率失真代价值。获取采用第二系数编码方式对目标系数矩阵进行系数编码时的第二率失真代价值。若第一率失真代价值小于第二率失真代价值,将当前块的系数编码方式标志位确定为第一取值,第一取值指示采用第一系数编码方式进行系数编码。若第一率失真代价值大于第二率失真代价值,将当前块的系数编码方式标志位确定为第二取值,第二取值指示采用第二系数编码方式进行系数编码。若第一率失真代价值等于第二率失真代价值,将当前块的系数编码方式标志位确定为第一取值或第二取值。
示例性的,若高层语法允许当前块采用第一系数编码方式和第二系数编码方式进行系数编码,则编码端根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取当前块的系数编码方式标志位。比如说,基于高层语法,编码端获知允许当前块采用第一系数编码方式和第二系数编码方式进行系数编码,则需要比较第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,基于比较结果确定当前块的系数编码方式标志位。
在另一种可能的实施方式中,若高层语法只允许当前块采用第一系数编码方式进行系数编码(即高层语法不允许当前块采用第二系数编码方式进行系数编码),则编码端将当前块的系数编码方式标志位确定为第一取值,第一取值指示采用第一系数编码方式进行系数编码,即确定当前块的系数编码方式标志位为第一取值。或者,若高层语法只允许当前块采用第二系数编码方式进行系数编码(即高层语法不允许当前块采用第一系数编码方式进行系数编码),则编码端将当前块的系数编码方式标志位确定为第二取值,第二取值指示采用第二系数编码方式进行系数编码,确定当前块的系数编码方式标志位为第二取值。
在另一种可能的实施方式中,若高层语法只允许当前块采用一种系数编码方式进行系数编码(即高层语法不允许当前块采用两种系数编码方式进行系数编码,而是只允许当前块采用一种系数编码方式进行系数编码),则编码端将当前块的系数编码方式标志位确定为预设取值(即默认取值,这个预设取值可以预先配置在编码端和解码端)。示例性的,该预设取值可以为第一取值或者第二取值,当该预设取值为第一取值时,指示采用第一系数编码方式进行系数编码,当该预设取值为第二取值时,指示采用第二系数编码方式进行系数编码。
在另一种可能的实施方式中,若当前块不允许采用第二系数编码方式进行系数编码,则编码端将当前块的系数编码方式标志位确定为第一取值,第一取值指示采用第一系数编码方式进行系数编码;例如,可以基于当前块的特征信息确定当前块是否不允许采用第二系数编码方式进行系数编码,对此确定方式不做限制。或者,若当前块不允许采用第一系数编码方式进行系数编码,则编码端将当前块的系数编码方式标志位确定为第二取值,第二取值指示采用第二系数编码方式进行系数编码。例如,可以基于当前块的特征信息确定当前块是否不允许采用第一系数编码方式进行系数编码,对此确定方式不做限制。
综上所述,编码端可以获取到当前块的系数编码方式标志位,该系数编码方式标志位为第一取值或者第二取值,第一取值指示采用第一系数编码方式进行系数编码,第二取值指示采用第二系数编码方式进行系数编码。
步骤304,若系数编码方式标志位指示采用第一系数编码方式进行系数编码,则根据第一系数编码方式,编码目标系数矩阵的最后一个非零系数的位置,按照从最后一个非零系数的位置到左上角的顺序,对目标系数矩阵进行编码,得到当前块的编码比特流。若系数编码方式标志位指示采用第二系数编码方式进行系数编码,则根据第二系数编码方式,按照从左上角到右下角的顺序,对目标系数矩阵进行编码,得到当前块的编码比特流。
例如,若系数编码方式标志位指示采用第一系数编码方式进行系数编码,则编码端先编码目标系数矩阵的最后一个非零系数的位置,如位置An。假设左上角的位置为A0,则从最后一个非零系数的位置到左上角的顺序依次是An,An-1,An-2,…,A0。对位置An的系数进行编码,对位置An-1的系数进行编码,对位置An-2的系数进行编码,以此类推,对位置A0的系数进行编码。
若系数编码方式标志位指示采用第二系数编码方式进行系数编码,从左上角到右下角的顺序依次是A0,A1,…,Am,则编码端对位置A0的系数进行编码,对位置A1的系数进行编码,以此类推,对位置Am的系数进行编码。
由以上技术方案可见,本申请实施例中,在得到当前块的目标系数矩阵之后,可以采用第一系数编码方式对目标系数矩阵进行系数编码,或采用第二系数编码方式对目标系数矩阵进行系数编码,而不是采用固定编码方式进行系数编码,从而能够提高编码性能,获得较优的编码性能,并降低码率开销。
实施例3:在实施例1和实施例2中,编码端需要获取当前块的系数编码方式标志位,基于系数编码方式标志位,决策采用第一系数编码方式进行系数编码,还是采用第二系数编码方式进行系数编码。解码端需要获取当前块的系数解码方式标志位,基于系数解码方式标志位,决策采用第一系数解码方式进行系数解码,还是采用第二系数解码方式进行系数解码。以下结合几个具体应用场景,对系数编码方式标志位和系数解码方式标志位的获取过程进行说明。
应用场景1:针对编码端来说,编码端可以根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取当前块的系数编码方式标志位,该系数编码方式标志位可以为第一取值或者第二取值。
示例性的,可以获取采用第一系数编码方式对目标系数矩阵进行系数编码时的第一率失真代价值,获取采用第二系数编码方式对目标系数矩阵进行系数编码时的第二率失真代价值。若第一率失真代价值小于第二率失真代价值,则将系数编码方式标志位确定为第一取值。若第一率失真代价值大于第二率失真代价值,则将系数编码方式标志位确定为第二取值。若第一率失真代价值等于第二率失真代价值,则将系数编码方式标志位确定为第一取值或第二取值。
例如,在得到当前块的目标系数矩阵后,先采用第一系数编码方式对目标系数矩阵进行系数编码,确定采用第一系数编码方式对目标系数矩阵进行系数编码时的码率R1和失真D1,基于率失真准则,根据码率R1和失真D1确定第一率失真代价值Cost1,对此确定过程不做限制。然后,采用第二系数编码方式对目标系数矩阵进行系数编码,确定采用第二系数编码方式对目标系数矩阵进行系数编码时的码率R2和失真D2,基于率失真准则,根据码率R2和失真D2确定第二率失真代价值Cost2。若Cost1小于Cost2,则编码端确定采用第一系数编码方式对目标系数矩阵进行系数编码,将当前块的系数编码方式标志位确定为第一取值。若Cost2小于Cost1,则编码端确定采用第二系数编码方式对目标系数矩阵进行系数编码,将当前块的系数编码方式标志位确定为第二取值。
针对解码端来说,解码端从当前块的编码比特流解析当前块的系数解码方式标志位。示例性的,编码端在得到当前块的系数编码方式标志位后,可以在当前块的编码比特流中携带当前块的系数编码方式标志位,解码端在得到当前块的编码比特流后,从编码比特流中解析当前块的系数解码方式标志位,即当前块的系数编码方式标志位。为了区分方便,在编码端,称为当前块的系数编码方式标志位,在解码端,称为当前块的系数解码方式标志位,二者取值相同。
例如,编码端将当前块的系数编码方式标志位确定为第一取值时,当前块的编码比特流中携带的系数编码方式标志位为第一取值,解码端从编码比特流中解析出第一取值,并将当前块的系数解码方式标志位确定为第一取值。
或者,编码端将当前块的系数编码方式标志位确定为第二取值时,当前块的编码比特流中携带的系数编码方式标志位为第二取值,解码端从编码比特流中解析出第二取值,并将当前块的系数解码方式标志位确定为第二取值。
应用场景2:针对编码端来说,编码端可以将当前块的系数编码方式标志位确定为预设取值(即默认取值)。针对解码端来说,解码端可以将当前块的系数解码方式标志位确定为预设取值(即默认取值)。预设取值可以预先配置在编码端和解码端,编码端和解码端也可以采用其它方式获取预设取值,对此不做限制,只要编码端和解码端的预设取值相同即可。示例性的,该预设取值可以为第一取值或者第二取值,若预设取值为第一取值,则编码端将当前块的系数编码方式标志位确定为第一取值,解码端将当前块的系数解码方式标志位确定为第一取值。若预设取值为第二取值,则编码端将当前块的系数编码方式标志位确定为第二取值,解码端将当前块的系数解码方式标志位确定为第二取值。
应用场景3:针对编码端来说,若高层语法允许当前块采用两种系数编码方式(即第一系数编码方式和第二系数编码方式)进行系数编码,则编码端可以根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取当前块的系数编码方式标志位,即应用场景1的实现方式。若高层语法只允许当前块采用一种系数编码方式进行系数编码,则编码端可以将当前块的系数编码方式标志位确定为预设取值,即应用场景2的实现方式。
示例性的,编码端可以基于高层语法位的信息,确定高层语法允许当前块采用两种系数编码方式进行系数编码,还是只允许当前块采用一种系数编码方式进行系数编码。例如,若表示允许当前块(或当前图像,或当前图像序列)采用两种系数编码方式的高层语法位的值为指定数值时,则确定高层语法允许当前块采用两种系数编码方式进行系数编码;若表示允许当前块(或当前图像,或当前图像序列)采用两种系数编码方式的高层语法位的值不为指定数值时,则确定高层语法只允许当前块采用一种系数编码方式进行系数编码。
针对解码端来说,若高层语法允许当前块采用两种系数解码方式(即第一系数解码方式和第二系数解码方式)进行系数解码,则解码端从当前块的编码比特流解析当前块的系数解码方式标志位,即应用场景1的实现方式。若高层语法只允许当前块采用一种系数解码方式进行系数解码,则解码端将当前块的系数解码方式标志位确定为预设取值,即应用场景2的实现方式。
示例性的,解码端可以基于高层语法位的信息,确定高层语法允许当前块采用两种系数解码方式进行系数解码,还是只允许当前块采用一种系数解码方式进行系数解码。例如,若表示允许当前块(或当前图像,或当前图像序列)采用两种系数解码方式的高层语法位的值为指定数值时,则确定高层语法允许当前块采用两种系数解码方式进行系数解码;若表示允许当前块(或当前图像,或当前图像序列)采用两种系数解码方式的高层语法位的值不为指定数值时,则确定高层语法只允许当前块采用一种系数解码方式进行系数解码。
示例性的,上述指定数值可以根据经验进行配置,如为1或者0等。
应用场景4:针对编码端来说,若高层语法只允许当前块采用第一系数编码方式进行系数编码(即高层语法不允许当前块采用第二系数编码方式进行系数编码),则编码端将当前块的系数编码方式标志位确定为第一取值。
示例性的,编码端可以基于高层语法位的信息,确定高层语法只允许当前块采用第一系数编码方式进行系数编码。例如,若表示允许当前块(或当前图像,或当前图像序列)采用第一系数编码方式的高层语法位的值为第一数值,则确定高层语法只允许当前块采用第一系数编码方式进行系数编码;或者,若表示允许当前块(或当前图像,或当前图像序列)采用第二系数编码方式的高层语法位的值为第二数值时,则确定高层语法只允许当前块采用第一系数编码方式进行系数编码。第一数值可以为1,第二数值可以为0;或者,第一数值可以为0,第二数值可以为1;当然,上述方式只示例,对此不做限制。
示例性的,当表示允许当前块采用第一系数编码方式的高层语法位的值为第一数值时,表示允许当前块采用第一系数编码方式,即高层语法只允许当前块采用第一系数编码方式进行系数编码。或者,当表示允许当前块采用第二系数编码方式的高层语法位的值为第二数值时,表示不允许当前块采用第二系数编码方式,即高层语法只允许当前块采用第一系数编码方式进行系数编码。
针对解码端来说,若高层语法只允许当前块采用第一系数解码方式进行系数解码(即高层语法不允许当前块采用第二系数解码方式进行系数解码),则解码端将当前块的系数解码方式标志位确定为第一取值。
示例性的,解码端可以基于高层语法位的信息,确定高层语法只允许当前块采用第一系数解码方式进行系数解码。例如,若表示允许当前块(或当前图像,或当前图像序列)采用第一系数解码方式的高层语法位的值为第一数值,则确定高层语法只允许当前块采用第一系数解码方式进行系数解码;或者,若表示允许当前块(或当前图像,或当前图像序列)采用第二系数解码方式的高层语法位的值为第二数值时,则确定高层语法只允许当前块采用第一系数解码方式进行系数解码。第一数值可以为1,第二数值可以为0;或者,第一数值可以为0,第二数值可以为1;当然,上述方式只示例,对此不做限制。
示例性的,当表示允许当前块采用第一系数解码方式的高层语法位的值为第一数值时,表示允许当前块采用第一系数解码方式,即高层语法只允许当前块采用第一系数解码方式进行系数解码。或者,当表示允许当前块采用第二系数解码方式的高层语法位的值为第二数值时,表示不允许当前块采用第二系数解码方式,即高层语法只允许当前块采用第一系数解码方式进行系数解码。
应用场景5:针对编码端来说,若高层语法只允许当前块采用第二系数编码方式进行系数编码(即高层语法不允许当前块采用第一系数编码方式进行系数编码),则编码端将当前块的系数编码方式标志位确定为第二取值。
示例性的,编码端可以基于高层语法位的信息,确定高层语法只允许当前块采用第二系数编码方式进行系数编码。例如,若表示允许当前块(或当前图像,或当前图像序列)采用第二系数编码方式的高层语法位的值为第一数值(第一数值表示允许当前块采用第二系数编码方式),确定高层语法只允许当前块采用第二系数编码方式进行系数编码;或者,若表示允许当前块(或当前图像,或当前图像序列)采用第一系数编码方式的高层语法位的值为第二数值(第二数值表示不允许当前块采用第一系数编码方式,即允许当前块采用第二系数编码方式),确定高层语法只允许当前块采用第二系数编码方式进行系数编码。
针对解码端来说,若高层语法只允许当前块采用第二系数解码方式进行系数解码(即高层语法不允许当前块采用第一系数解码方式进行系数解码),则解码端将当前块的系数解码方式标志位确定为第二取值。
示例性的,解码端可以基于高层语法位的信息,确定高层语法只允许当前块采用第二系数解码方式进行系数解码。例如,若表示允许当前块(或当前图像,或当前图像序列)采用第二系数解码方式的高层语法位的值为第一数值(第一数值表示允许当前块采用第二系数解码方式),确定高层语法只允许当前块采用第二系数解码方式进行系数解码;或者,若表示允许当前块(或当前图像,或当前图像序列)采用第一系数解码方式的高层语法位的值为第二数值(第二数值表示不允许当前块采用第一系数解码方式,即允许当前块采用第二系数解码方式),确定高层语法只允许当前块采用第二系数解码方式进行系数解码。
应用场景6:针对编码端来说,若当前块不允许采用第二系数编码方式进行系数编码,则编码端可以将当前块的系数编码方式标志位确定为第一取值。例如,可以基于当前块的特征信息确定当前块是否不允许采用第二系数编码方式进行系数编码。在一种可能的实施方式中,当前块的特征信息可以包括当前块的尺寸,若当前块的尺寸大于阈值(如32*32,即当前块的宽大于32,当前块的高大于32),则确定当前块不允许采用第二系数编码方式进行系数编码。
针对解码端来说,若当前块不允许采用第二系数解码方式进行系数解码,则解码端可以将当前块的系数解码方式标志位确定为第一取值。例如,可以基于当前块的特征信息确定当前块是否不允许采用第二系数解码方式进行系数解码。在一种可能的实施方式中,当前块的特征信息可以包括当前块的尺寸,若当前块的尺寸大于阈值(如32*32,即当前块的宽大于32,当前块的高大于32),则确定当前块不允许采用第二系数解码方式进行系数解码。
应用场景7:针对编码端来说,若当前块不允许采用第一系数编码方式进行系数编码,则可以将当前块的系数编码方式标志位确定为第二取值。例如,可以基于当前块的特征信息确定当前块是否不允许采用第一系数编码方式进行系数编码。在一种可能的实施方式中,当前块的特征信息可以包括当前块的预测模式,若当前块的预测模式为IBC预测模式(即从当前帧中拷贝某部分像素值作为当前块预测值),确定当前块不允许采用第一系数编码方式进行系数编码。
针对解码端来说,若当前块不允许采用第一系数解码方式进行系数解码,则将当前块的系数解码方式标志位确定为第二取值。例如,基于当前块的特征信息确定当前块是否不允许采用第一系数解码方式进行系数解码。在一种可能的实施方式中,当前块的特征信息可以包括当前块的预测模式,若预测模式为IBC预测模式,则确定当前块不允许采用第一系数解码方式进行系数解码。
实施例4:在实施例1和实施例2中,编码端需要采用第一系数编码方式进行系数编码或者采用第二系数编码方式进行系数编码,解码端需要采用第一系数解码方式进行系数解码或者采用第二系数解码方式进行系数解码。以下结合几个具体应用场景,对编码端的编码过程和解码端的解码过程进行说明。
应用场景1:针对编码端来说,采用第一系数编码方式进行系数编码,例如,先编码目标系数矩阵右下角的最后一个非零系数的位置,然后,按照从右下角的最后一个非零系数的位置到左上角的顺序,依次对目标系数矩阵进行编码。
参见图4A所示,假设当前块的目标系数矩阵的大小为4*4,系数编码顺序为从标号为15的系数到标号为0的系数,标号为15的系数到标号为9的系数均为0,则最后一个非零系数为标号为8的系数。基于此,先编码标号为8的系数的位置,假设(0,0)为左上角起点,则标号为8的系数的位置是(3,2)。然后,按照从位置(3,2)到左上角(0,0)的顺序,依次编码标号为8的系数,标号为7的系数,标号为6的系数,…,标号为0的系数。
针对解码端来说,采用第一系数解码方式进行系数解码,例如,先解码目标系数矩阵右下角的最后一个非零系数的位置,然后,按照从右下角的最后一个非零系数的位置到左上角的顺序,依次对目标系数矩阵进行解码。
参见图4A所示,先解码标号为8的系数的位置,标号为8的系数的位置是(3,2)。然后,按照从位置(3,2)到左上角(0,0)的顺序,依次解码标号为8的系数,标号为7的系数,标号为6的系数,…,标号为0的系数。
应用场景2:针对编码端来说,采用第二系数编码方式进行系数编码,例如,编码端不编码目标系数矩阵右下角的最后一个非零系数的位置last(x,y),而是直接按照从左上角到右下角的顺序,依次对目标系数矩阵进行编码。
参见图4A所示,假设当前块的目标系数矩阵的大小为4*4,系数编码顺序为从标号为0的系数到标号为15的系数,标号为15的系数到标号为9的系数均为0,则最后一个非零系数为标号为8的系数。基于此,假设(0,0)为左上角起点,(3,3)为右下角终点,则按照从左上角(0,0)到右下角(3,3)的顺序,依次编码标号为0的系数,标号为1的系数,…,标号为15的系数。
针对解码端来说,采用第二系数解码方式进行系数解码,例如,解码端不解码目标系数矩阵右下角的最后一个非零系数的位置last(x,y),而是直接按照从左上角到右下角的顺序,依次对目标系数矩阵进行解码。
参见图4A所示,解码端按照从左上角(0,0)到右下角(3,3)的顺序,依次编码标号为0的系数,标号为1的系数,…,标号为15的系数。
应用场景3:针对编码端来说,采用第一系数编码方式进行系数编码,例如,先编码目标系数矩阵右下角的最后一个非零系数的位置,然后,按照从右下角的最后一个非零系数的位置到左上角的顺序,依次对目标系数矩阵进行编码。参见图4B所示,系数编码顺序为从标号为15的系数到标号为0的系数,标号为15的系数到标号为9的系数均为0,最后一个非零系数为标号为8的系数。基于此,编码标号为8的系数的位置(3,1),按照从位置(3,1)到左上角的顺序,依次编码标号为8的系数,标号为7的系数,…,标号为0的系数。
针对解码端来说,采用第一系数解码方式进行系数解码,例如,先解码目标系数矩阵右下角的最后一个非零系数的位置,然后,按照从右下角的最后一个非零系数的位置到左上角的顺序,依次对目标系数矩阵进行解码。参见图4B所示,解码标号为8的系数的位置(3,1),按照从位置(3,1)到左上角的顺序,依次解码标号为8的系数,标号为7的系数,…,标号为0的系数。
应用场景4:针对编码端来说,采用第二系数编码方式进行系数编码,例如,按照从左上角到右下角的顺序,依次对目标系数矩阵进行编码。参见图4B所示,系数编码顺序为从标号为0的系数到标号为15的系数,按照从左上角到右下角的顺序,依次编码标号为0的系数,标号为1的系数,…,标号为15的系数。
针对解码端来说,采用第二系数解码方式进行系数解码,例如,按照从左上角到右下角的顺序,依次对目标系数矩阵进行解码。参见图4B所示,系数解码顺序为从标号为0的系数到标号为15的系数,按照从左上角到右下角的顺序,依次编码标号为0的系数,标号为1的系数,…,标号为15的系数。
在应用场景1-应用场景2中,针对图4A中的每个系数(如标号为1的系数等),该系数也可以是N*N(如N为4)的系数块,在这种情况下,N*N的系数块的扫描顺序与图4A相同。同理,在应用场景3-应用场景4中,针对图4B中的每个系数(如标号为1的系数等),该系数也可以是N*N(如N为4)的系数块,在这种情况下,N*N的系数块的扫描顺序与图4B相同。
以图4A为例,在编码每个N*N的系数块时,内部再按照图4A的情况进行编码。例如,参见图4C所示,对于第一系数编码方式,若当前块尺寸为16*16,其最后一个非零系数为标号为10的系数块中的标号为6的系数,则最后一个非零系数的位置是(12,7),(0,0)为左上角起点,(15,15)为右下角点。
基于此,先编码最后一个非零系数的位置(12,7),然后,编码标号为10的系数块中的标号为6的系数,标号为10的系数块中的标号为5的系数,…,标号为10的系数块中的标号为0的系数,至此,完成标号为10的系数块中的所有系数的编码。然后,再编码标号为9的系数块中的所有系数,编码标号为8的系数块中的所有系数,…,最后编码标号为0的系数块中的所有系数。在编码标号为9到0的系数块中的系数时,不再编码最后一个非零系数的位置。
实施例5:编码端不对残差系数矩阵进行变换,直接对残差系数矩阵进行编码,且采用第一系数编码方式进行系数编码,以下对此过程进行说明:
步骤a1、编码端获取当前块的残差系数矩阵。
步骤a2、编码端获取当前块的系数编码方式标志位。
步骤a3、若该系数编码方式标志位指示采用第一系数编码方式进行系数编码,则编码端编码残差系数矩阵的最后一个非零系数的位置,按照从最后一个非零系数的位置到左上角的顺序,对残差系数矩阵进行编码,得到当前块的编码比特流。本实施例中,残差系数矩阵作为当前块的目标系数矩阵。
步骤a4、解码端获取当前块的编码比特流。
步骤a5、解码端获取当前块的系数解码方式标志位。
步骤a6、若该系数解码方式标志位指示采用第一系数解码方式进行系数解码,则解码端从当前块的编码比特流中解码最后一个非零系数的位置,按照从最后一个非零系数的位置到左上角的顺序进行系数解码,得到残差系数矩阵。
步骤a7、解码端根据残差系数矩阵确定当前块的重建值。
实施例6:编码端不对残差系数矩阵进行变换,直接对残差系数矩阵进行编码,且采用第二系数编码方式进行系数编码,以下对此过程进行说明:
步骤b1、编码端获取当前块的残差系数矩阵。
步骤b2、编码端获取当前块的系数编码方式标志位。
步骤b3、若该系数编码方式标志位指示采用第二系数编码方式进行系数编码,则编码端按照从左上角到右下角的顺序,对残差系数矩阵进行编码,得到当前块的编码比特流。本实施例中,残差系数矩阵作为当前块的目标系数矩阵。
步骤b4、解码端获取当前块的编码比特流。
步骤b5、解码端获取当前块的系数解码方式标志位。
步骤b6、若该系数解码方式标志位指示采用第二系数解码方式进行系数解码,则解码端按照从左上角到右下角的顺序进行系数解码,得到残差系数矩阵。
步骤b7、解码端根据残差系数矩阵确定当前块的重建值。
实施例7:编码端对残差系数矩阵进行变换,对变换后的目标系数矩阵进行编码,且采用第一系数编码方式进行系数编码,以下对此过程进行说明:
步骤c1、编码端获取当前块的残差系数矩阵。
步骤c2、编码端对残差系数矩阵进行变换,得到目标系数矩阵;或者,编码端对残差系数矩阵进行变换和量化,得到目标系数矩阵。
步骤c3、编码端获取当前块的系数编码方式标志位。
步骤c4、若该系数编码方式标志位指示采用第一系数编码方式进行系数编码,则编码端编码目标系数矩阵的最后一个非零系数的位置,按照从最后一个非零系数的位置到左上角的顺序,对目标系数矩阵进行编码,得到当前块的编码比特流。本实施例中,对残差系数矩阵进行变换后得到目标系数矩阵。
步骤c5、解码端获取当前块的编码比特流。
步骤c6、解码端获取当前块的系数解码方式标志位。
步骤c7、若该系数解码方式标志位指示采用第一系数解码方式进行系数解码,则解码端从当前块的编码比特流中解码最后一个非零系数的位置,按照从最后一个非零系数的位置到左上角的顺序进行系数解码,得到目标系数矩阵。
步骤c8、解码端对目标系数矩阵进行反变换,得到残差系数矩阵;或者,解码端对目标系数矩阵进行反量化和反变换,得到残差系数矩阵。
步骤c9、解码端根据残差系数矩阵确定当前块的重建值。
实施例8:编码端对残差系数矩阵进行变换,对变换后的目标系数矩阵进行编码,且采用第二系数编码方式进行系数编码,以下对此过程进行说明:
步骤d1、编码端获取当前块的残差系数矩阵。
步骤d2、编码端对残差系数矩阵进行变换,得到目标系数矩阵;或者,编码端对残差系数矩阵进行变换和量化,得到目标系数矩阵。
步骤d3、编码端获取当前块的系数编码方式标志位。
步骤d4、若系数编码方式标志位指示采用第二系数编码方式进行系数编码,则编码端按照从左上角到右下角的顺序,对目标系数矩阵进行编码,得到当前块的编码比特流。本实施例中,对残差系数矩阵进行变换后得到目标系数矩阵。
步骤d5、解码端获取当前块的编码比特流。
步骤d6、解码端获取当前块的系数解码方式标志位。
步骤d7、若该系数解码方式标志位指示采用第二系数解码方式进行系数解码,则解码端按照从左上角到右下角的顺序进行系数解码,得到目标系数矩阵。
步骤d8、解码端对目标系数矩阵进行反变换,得到残差系数矩阵;或者,解码端对目标系数矩阵进行反量化和反变换,得到残差系数矩阵。
步骤d9、解码端根据残差系数矩阵确定当前块的重建值。
基于与上述方法同样的申请构思,本申请实施例还提出一种解码装置,应用于解码端,如图5A所示,为所述装置的结构图,所述装置包括:
获取模块511,用于获取当前块的系数解码方式标志位;
解码模块512,用于若所述系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据所述第一系数解码方式,从所述当前块的编码比特流解码最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
若所述系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据所述第二系数解码方式,按照从左上角到右下角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
确定模块513,用于根据所述目标系数矩阵获取所述当前块的残差系数矩阵,并根据所述残差系数矩阵确定所述当前块的重建值。
所述获取模块511具体用于:从所述当前块的编码比特流解析所述当前块的系数解码方式标志位。例如,若高层语法允许当前块采用第一系数解码方式和第二系数解码方式进行系数解码,则从所述当前块的编码比特流解析所述当前块的系数解码方式标志位。
所述获取模块511具体用于:若高层语法只允许所述当前块采用第一系数解码方式进行系数解码,则将当前块的系数解码方式标志位确定为第一取值,所述第一取值指示采用第一系数解码方式进行系数解码;若高层语法只允许所述当前块采用第二系数解码方式进行系数解码,则将当前块的系数解码方式标志位确定为第二取值,所述第二取值指示采用第二系数解码方式进行系数解码。
所述获取模块511具体用于:若高层语法只允许所述当前块采用一种系数解码方式进行系数解码,则将当前块的系数解码方式标志位确定为预设取值;所述预设取值为第一取值或者第二取值,所述第一取值指示采用第一系数解码方式进行系数解码,所述第二取值指示采用第二系数解码方式进行系数解码。
所述获取模块511具体用于:若所述当前块不允许采用第二系数解码方式进行系数解码,则将所述当前块的系数解码方式标志位确定为第一取值,所述第一取值指示采用第一系数解码方式进行系数解码;若所述当前块不允许采用第一系数解码方式进行系数解码,则将所述当前块的系数解码方式标志位确定为第二取值,所述第二取值指示采用第二系数解码方式进行系数解码。
所述确定模块513根据所述目标系数矩阵获取所述当前块的残差系数矩阵时具体用于:将所述目标系数矩阵确定为所述当前块的残差系数矩阵;或,对所述目标系数矩阵进行反变换,得到当前块的残差系数矩阵;或,对所述目标系数矩阵进行反量化和反变换,得到当前块的残差系数矩阵。
基于与上述方法同样的申请构思,本申请实施例还提出一种编码装置,应用于编码端,如图5B所示,为所述装置的结构图,所述装置包括:
获取模块521,用于获取当前块的残差系数矩阵;根据所述残差系数矩阵获取所述当前块的目标系数矩阵;获取所述当前块的系数编码方式标志位;
编码模块522,用于若所述系数编码方式标志位指示采用第一系数编码方式进行系数编码,则根据所述第一系数编码方式,编码所述目标系数矩阵的最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流;
若所述系数编码方式标志位指示采用第二系数编码方式进行系数编码,则根据所述第二系数编码方式,按照从左上角到右下角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流。
所述获取模块521具体用于:根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取所述当前块的系数编码方式标志位;在所述当前块的编码比特流中编码所述当前块的系数编码方式标志位。
所述获取模块521具体用于:获取采用第一系数编码方式对目标系数矩阵进行系数编码时的第一率失真代价值;获取采用第二系数编码方式对目标系数矩阵进行系数编码时的第二率失真代价值;若所述第一率失真代价值小于所述第二率失真代价值,则将所述当前块的系数编码方式标志位确定为第一取值,所述第一取值指示采用第一系数编码方式进行系数编码;若所述第一率失真代价值大于所述第二率失真代价值,则将所述当前块的系数编码方式标志位确定为第二取值,所述第二取值指示采用第二系数编码方式进行系数编码。
所述获取模块521具体用于:若高层语法允许当前块采用第一系数编码方式和第二系数编码方式进行系数编码,根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取所述当前块的系数编码方式标志位。
所述获取模块521具体用于:若高层语法只允许所述当前块采用第一系数编码方式进行系数编码,则将当前块的系数编码方式标志位确定为第一取值,所述第一取值指示采用第一系数编码方式进行系数编码;若高层语法只允许所述当前块采用第二系数编码方式进行系数编码,则将当前块的系数编码方式标志位确定为第二取值,所述第二取值指示采用第二系数编码方式进行系数编码。
所述获取模块521具体用于:若高层语法只允许所述当前块采用一种系数编码方式进行系数编码,则将当前块的系数编码方式标志位确定为预设取值;所述预设取值为第一取值或者第二取值,所述第一取值指示采用第一系数编码方式进行系数编码,所述第二取值指示采用第二系数编码方式进行系数编码。
所述获取模块521具体用于:若所述当前块不允许采用第二系数编码方式进行系数编码,则将所述当前块的系数编码方式标志位确定为第一取值,所述第一取值指示采用第一系数编码方式进行系数编码;若所述当前块不允许采用第一系数编码方式进行系数编码,则将所述当前块的系数编码方式标志位确定为第二取值,所述第二取值指示采用第二系数编码方式进行系数编码。
所述获取模块521根据所述残差系数矩阵获取所述当前块的目标系数矩阵时具体用于:将所述残差系数矩阵确定为所述当前块的目标系数矩阵;或者,对所述残差系数矩阵进行变换,得到当前块的目标系数矩阵;或者,对所述残差系数矩阵进行变化和量化,得到当前块的目标系数矩阵。
本申请实施例提供的解码端设备(解码端设备可以是视频解码器),从硬件层面而言,其硬件架构示意图具体可以参见图6A所示。包括:处理器611和机器可读存储介质612,所述机器可读存储介质612存储有能够被所述处理器611执行的机器可执行指令;所述处理器611用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器用于执行机器可执行指令,以实现如下步骤:获取当前块的系数解码方式标志位;
若所述系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据所述第一系数解码方式,从所述当前块的编码比特流解码最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
若所述系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据所述第二系数解码方式,按照从左上角到右下角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
根据所述目标系数矩阵获取所述当前块的残差系数矩阵;
根据所述残差系数矩阵确定所述当前块的重建值。
本申请实施例提供的编码端设备(编码端设备可以是视频编码器),从硬件层面而言,其硬件架构示意图具体可以参见图6B所示。包括:处理器621和机器可读存储介质622,所述机器可读存储介质622存储有能够被所述处理器621执行的机器可执行指令;所述处理器621用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,处理器用于执行机器可执行指令,以实现如下步骤:获取当前块的残差系数矩阵;
根据所述残差系数矩阵获取所述当前块的目标系数矩阵;
获取所述当前块的系数编码方式标志位;
若所述系数编码方式标志位指示采用第一系数编码方式进行系数编码,则根据所述第一系数编码方式,编码所述目标系数矩阵的最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流;
若所述系数编码方式标志位指示采用第二系数编码方式进行系数编码,则根据所述第二系数编码方式,按照从左上角到右下角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流。
基于与上述方法同样的申请构思,本申请实施例中还提供一种摄像机设备,该摄像机设备可以包括上述任一实施例中的编码装置和/或解码装置。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的编解码方法。其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,可以由计算机芯片或实体实现,或由具有某种功能的产品来实现。一种典型的实现为计算机,计算机的形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (19)

1.一种解码方法,其特征在于,应用于解码端,所述方法包括:
获取当前块的系数解码方式标志位;
若所述系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据所述第一系数解码方式,从所述当前块的编码比特流解码最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
若所述系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据所述第二系数解码方式,按照从左上角到右下角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
根据所述目标系数矩阵获取所述当前块的残差系数矩阵;
根据所述残差系数矩阵确定所述当前块的重建值。
2.根据权利要求1所述的方法,其特征在于,
所述获取当前块的系数解码方式标志位,包括:
从所述当前块的编码比特流解析所述当前块的系数解码方式标志位。
3.根据权利要求2所述的方法,其特征在于,所述从所述当前块的编码比特流解析所述当前块的系数解码方式标志位,包括:
若高层语法允许当前块采用第一系数解码方式和第二系数解码方式进行系数解码,则从所述当前块的编码比特流解析所述当前块的系数解码方式标志位。
4.根据权利要求1所述的方法,其特征在于,
所述获取当前块的系数解码方式标志位,包括:
若高层语法只允许所述当前块采用第一系数解码方式进行系数解码,则将所述当前块的系数解码方式标志位确定为第一取值,所述第一取值指示采用第一系数解码方式进行系数解码;
若高层语法只允许所述当前块采用第二系数解码方式进行系数解码,则将所述当前块的系数解码方式标志位确定为第二取值,所述第二取值指示采用第二系数解码方式进行系数解码。
5.根据权利要求1所述的方法,其特征在于,
所述获取当前块的系数解码方式标志位,包括:
若高层语法只允许所述当前块采用一种系数解码方式进行系数解码,则将所述当前块的系数解码方式标志位确定为预设取值;其中,所述预设取值为第一取值或者第二取值,所述第一取值指示采用第一系数解码方式进行系数解码,所述第二取值指示采用第二系数解码方式进行系数解码。
6.根据权利要求1所述的方法,其特征在于,
所述获取当前块的系数解码方式标志位,包括:
若所述当前块不允许采用第二系数解码方式进行系数解码,则将所述当前块的系数解码方式标志位确定为第一取值,所述第一取值指示采用第一系数解码方式进行系数解码;
若所述当前块不允许采用第一系数解码方式进行系数解码,则将所述当前块的系数解码方式标志位确定为第二取值,所述第二取值指示采用第二系数解码方式进行系数解码。
7.根据权利要求1所述的方法,其特征在于,
所述根据所述目标系数矩阵获取所述当前块的残差系数矩阵,包括:
将所述目标系数矩阵确定为所述当前块的残差系数矩阵;或,
对所述目标系数矩阵进行反变换,得到当前块的残差系数矩阵;或,
对所述目标系数矩阵进行反量化和反变换,得到当前块的残差系数矩阵。
8.一种编码方法,其特征在于,应用于编码端,所述方法包括:
获取当前块的残差系数矩阵;
根据所述残差系数矩阵获取所述当前块的目标系数矩阵;
获取所述当前块的系数编码方式标志位;
若所述系数编码方式标志位指示采用第一系数编码方式进行系数编码,则根据所述第一系数编码方式,编码所述目标系数矩阵的最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流;
若所述系数编码方式标志位指示采用第二系数编码方式进行系数编码,则根据所述第二系数编码方式,按照从左上角到右下角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流。
9.根据权利要求8所述的方法,其特征在于,
所述获取所述当前块的系数编码方式标志位,包括:
根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取所述当前块的系数编码方式标志位;
在所述当前块的编码比特流中编码所述当前块的系数编码方式标志位。
10.根据权利要求9所述的方法,其特征在于,
所述根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取所述当前块的系数编码方式标志位,包括:
获取采用第一系数编码方式对目标系数矩阵进行系数编码时的第一率失真代价值;
获取采用第二系数编码方式对目标系数矩阵进行系数编码时的第二率失真代价值;
若所述第一率失真代价值小于所述第二率失真代价值,则将所述当前块的系数编码方式标志位确定为第一取值,所述第一取值指示采用第一系数编码方式进行系数编码;
若所述第一率失真代价值大于所述第二率失真代价值,则将所述当前块的系数编码方式标志位确定为第二取值,所述第二取值指示采用第二系数编码方式进行系数编码。
11.根据权利要求9所述的方法,其特征在于,
所述根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取所述当前块的系数编码方式标志位,包括:
若高层语法允许所述当前块采用第一系数编码方式和第二系数编码方式进行系数编码,则根据第一系数编码方式的率失真代价值和第二系数编码方式的率失真代价值,获取所述当前块的系数编码方式标志位。
12.根据权利要求8所述的方法,其特征在于,
所述获取所述当前块的系数编码方式标志位,包括:
若高层语法只允许所述当前块采用第一系数编码方式进行系数编码,则将所述当前块的系数编码方式标志位确定为第一取值,所述第一取值指示采用第一系数编码方式进行系数编码;
若高层语法只允许所述当前块采用第二系数编码方式进行系数编码,则将所述当前块的系数编码方式标志位确定为第二取值,所述第二取值指示采用第二系数编码方式进行系数编码。
13.根据权利要求8所述的方法,其特征在于,
所述获取所述当前块的系数编码方式标志位,包括:
若高层语法只允许所述当前块采用一种系数编码方式进行系数编码,则将所述当前块的系数编码方式标志位确定为预设取值;其中,所述预设取值为第一取值或者第二取值,所述第一取值指示采用第一系数编码方式进行系数编码,所述第二取值指示采用第二系数编码方式进行系数编码。
14.根据权利要求8所述的方法,其特征在于,
所述获取所述当前块的系数编码方式标志位,包括:
若所述当前块不允许采用第二系数编码方式进行系数编码,则将所述当前块的系数编码方式标志位确定为第一取值,所述第一取值指示采用第一系数编码方式进行系数编码;
若所述当前块不允许采用第一系数编码方式进行系数编码,则将所述当前块的系数编码方式标志位确定为第二取值,所述第二取值指示采用第二系数编码方式进行系数编码。
15.根据权利要求8所述的方法,其特征在于,
所述根据所述残差系数矩阵获取所述当前块的目标系数矩阵,包括:
将所述残差系数矩阵确定为所述当前块的目标系数矩阵;或者,
对所述残差系数矩阵进行变换,得到当前块的目标系数矩阵;或者,
对所述残差系数矩阵进行变化和量化,得到当前块的目标系数矩阵。
16.一种解码装置,其特征在于,应用于解码端,所述装置包括:
获取模块,用于获取当前块的系数解码方式标志位;
解码模块,用于若所述系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据所述第一系数解码方式,从所述当前块的编码比特流解码最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
若所述系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据所述第二系数解码方式,按照从左上角到右下角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
确定模块,用于根据所述目标系数矩阵获取所述当前块的残差系数矩阵,并根据所述残差系数矩阵确定所述当前块的重建值。
17.一种编码装置,其特征在于,应用于编码端,所述装置包括:
获取模块,用于获取当前块的残差系数矩阵;根据所述残差系数矩阵获取所述当前块的目标系数矩阵;获取所述当前块的系数编码方式标志位;
编码模块,用于若所述系数编码方式标志位指示采用第一系数编码方式进行系数编码,则根据所述第一系数编码方式,编码所述目标系数矩阵的最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流;
若所述系数编码方式标志位指示采用第二系数编码方式进行系数编码,则根据所述第二系数编码方式,按照从左上角到右下角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流。
18.一种解码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取当前块的系数解码方式标志位;
若所述系数解码方式标志位指示采用第一系数解码方式进行系数解码,则根据所述第一系数解码方式,从所述当前块的编码比特流解码最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
若所述系数解码方式标志位指示采用第二系数解码方式进行系数解码,则根据所述第二系数解码方式,按照从左上角到右下角的顺序,对所述当前块的编码比特流进行系数解码,得到目标系数矩阵;
根据所述目标系数矩阵获取所述当前块的残差系数矩阵;
根据所述残差系数矩阵确定所述当前块的重建值。
19.一种编码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取当前块的残差系数矩阵;
根据所述残差系数矩阵获取所述当前块的目标系数矩阵;
获取所述当前块的系数编码方式标志位;
若所述系数编码方式标志位指示采用第一系数编码方式进行系数编码,则根据所述第一系数编码方式,编码所述目标系数矩阵的最后一个非零系数的位置,按照从所述最后一个非零系数的位置到左上角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流;
若所述系数编码方式标志位指示采用第二系数编码方式进行系数编码,则根据所述第二系数编码方式,按照从左上角到右下角的顺序,对所述目标系数矩阵进行编码,得到所述当前块的编码比特流。
CN201911424382.XA 2019-12-31 2019-12-31 一种编码、解码方法、装置及其设备 Active CN113132734B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911424382.XA CN113132734B (zh) 2019-12-31 2019-12-31 一种编码、解码方法、装置及其设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911424382.XA CN113132734B (zh) 2019-12-31 2019-12-31 一种编码、解码方法、装置及其设备

Publications (2)

Publication Number Publication Date
CN113132734A true CN113132734A (zh) 2021-07-16
CN113132734B CN113132734B (zh) 2023-05-26

Family

ID=76769794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911424382.XA Active CN113132734B (zh) 2019-12-31 2019-12-31 一种编码、解码方法、装置及其设备

Country Status (1)

Country Link
CN (1) CN113132734B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130188736A1 (en) * 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
CN104272736A (zh) * 2013-01-16 2015-01-07 黑莓有限公司 用于对游长编码变换系数进行熵编码的上下文确定
CN104272735A (zh) * 2013-01-16 2015-01-07 黑莓有限公司 针对视频的上下文自适应二进制熵编码的变换系数编码
CN104270641A (zh) * 2014-09-30 2015-01-07 杭州华为数字技术有限公司 变换系数的处理方法和装置
CN105325000A (zh) * 2013-06-12 2016-02-10 三菱电机株式会社 图像编码装置、图像编码方法、图像解码装置和图像解码方法
CN108353179A (zh) * 2015-09-10 2018-07-31 三星电子株式会社 编码设备、解码设备及其编码方法和解码方法
CN110622511A (zh) * 2017-04-13 2019-12-27 Lg 电子株式会社 图像编码/解码方法及其设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130188736A1 (en) * 2012-01-19 2013-07-25 Sharp Laboratories Of America, Inc. High throughput significance map processing for cabac in hevc
CN104272736A (zh) * 2013-01-16 2015-01-07 黑莓有限公司 用于对游长编码变换系数进行熵编码的上下文确定
CN104272735A (zh) * 2013-01-16 2015-01-07 黑莓有限公司 针对视频的上下文自适应二进制熵编码的变换系数编码
CN105325000A (zh) * 2013-06-12 2016-02-10 三菱电机株式会社 图像编码装置、图像编码方法、图像解码装置和图像解码方法
CN104270641A (zh) * 2014-09-30 2015-01-07 杭州华为数字技术有限公司 变换系数的处理方法和装置
CN108353179A (zh) * 2015-09-10 2018-07-31 三星电子株式会社 编码设备、解码设备及其编码方法和解码方法
CN110622511A (zh) * 2017-04-13 2019-12-27 Lg 电子株式会社 图像编码/解码方法及其设备

Also Published As

Publication number Publication date
CN113132734B (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US20230247229A1 (en) Video encoding method for encoding division block, video decoding method for decoding division block, and recording medium for implementing the same
US10397575B2 (en) Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program
JP5905613B2 (ja) 映像復号化装置
CN108632628B (zh) 推导参考预测模式值的方法
US10034024B2 (en) Method and apparatus for encoding/decoding images considering low frequency components
CN107347154B (zh) 用于编码和解码图像的方法、编码和解码设备、以及相应的计算机程序
US20120307905A1 (en) Method and apparatus for encoding/decoding a motion vector by selecting a set of predicted candidate motion vectors, and method and apparatus for image encoding/decoding using the same
CN108055541A (zh) 用于编码和解码图像的方法、编码和解码设备
KR20190091236A (ko) 복원 블록을 생성하는 방법 및 장치
JP2015136174A (ja) 映像復号化装置
EP2252059A2 (en) Image encoding and decoding method and device
CN113132734B (zh) 一种编码、解码方法、装置及其设备
KR101802304B1 (ko) 하다마드 변환을 이용한 부호화 방법 및 이러한 방법을 사용하는 장치

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant