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

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

Info

Publication number
CN116527918A
CN116527918A CN202310503357.0A CN202310503357A CN116527918A CN 116527918 A CN116527918 A CN 116527918A CN 202310503357 A CN202310503357 A CN 202310503357A CN 116527918 A CN116527918 A CN 116527918A
Authority
CN
China
Prior art keywords
image area
mode
current image
value
pixel
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
CN202310503357.0A
Other languages
English (en)
Inventor
孙煜程
陈方栋
王莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202310503357.0A priority Critical patent/CN116527918A/zh
Publication of CN116527918A publication Critical patent/CN116527918A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes

Landscapes

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

Abstract

本申请提供一种解码、编码方法、装置及其设备,该解码方法包括:确定是否需要对当前图像区域进行重建值调整;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;若确定需要对所述当前图像区域进行重建值调整,则从所述当前图像区域对应的码流中获取所述当前图像区域对应的调整参数;基于所述调整参数对所述当前图像区域的重建值进行调整。通过本申请能够提高压缩效率。

Description

一种解码、编码方法、装置及其设备
技术领域
本申请涉及编解码技术领域,尤其是涉及一种解码、编码方法、装置及其设备。
背景技术
为了达到节约空间的目的,视频图像都是经过编码后才传输的,完整的视频编码可以包括预测、变换、量化、熵编码、滤波等过程。针对预测过程,预测过程可以包括帧内预测和帧间预测,帧间预测是指利用视频时间域的相关性,使用邻近已编码图像的像素预测当前像素,以达到有效去除视频时域冗余的目的。帧内预测是指利用视频空间域的相关性,使用当前帧图像的已编码块的像素预测当前像素,以达到去除视频空域冗余的目的。
浅编码是预测技术的实现方式,浅编码是简单预测方式,适用于实时性要求高、缓存小、并行性要求高的场景。但是,在采用浅编码的预测方式时,存在压缩效率低、压缩倍率低等问题,比如说,正常编码技术能达到几百倍的压缩倍率,但浅编码只能达到几倍的压缩倍率。
发明内容
有鉴于此,本申请提供了一种解码、编码方法、装置及其设备,提高了压缩效率。
本申请提供一种解码方法,应用于解码端,所述方法包括:
若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式;其中,N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N;
基于所述目标模式对所述当前块进行解码。
本申请提供一种编码方法,应用于编码端,所述方法包括:
若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式;其中,N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N;
基于所述目标模式对所述当前块进行编码。
本申请提供一种解码方法,应用于解码端,所述方法包括:
确定是否需要对当前图像区域进行重建值调整;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;
若确定需要对所述当前图像区域进行重建值调整,则从所述当前图像区域对应的码流中获取所述当前图像区域对应的调整参数;
基于所述调整参数对所述当前图像区域的重建值进行调整。
本申请提供一种编码方法,应用于编码端,所述方法包括:
确定是否需要对当前图像区域进行重建值调整;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;
若确定需要对所述当前图像区域进行重建值调整,则获取所述当前图像区域对应的调整参数,所述调整参数用于对所述当前图像区域的重建值进行调整;
在所述当前图像区域对应的码流中编码所述当前图像区域对应的调整参数。
本申请提供一种解码装置,所述解码装置包括:
存储器,其经配置以存储视频数据;
解码器,其经配置以实现:
若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式;其中,N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N;
基于所述目标模式对所述当前块进行解码;
或者,
确定是否需要对当前图像区域进行重建值调整;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;
若确定需要对所述当前图像区域进行重建值调整,则从所述当前图像区域对应的码流中获取所述当前图像区域对应的调整参数;
基于所述调整参数对所述当前图像区域的重建值进行调整。
本申请提供一种编码装置,所述编码装置包括:
存储器,其经配置以存储视频数据;
编码器,其经配置以实现:
若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式;其中,N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N;
基于所述目标模式对所述当前块进行编码;
或者,
确定是否需要对当前图像区域进行重建值调整;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;
若确定需要对所述当前图像区域进行重建值调整,则获取所述当前图像区域对应的调整参数,所述调整参数用于对所述当前图像区域的重建值进行调整;
在所述当前图像区域对应的码流中编码所述当前图像区域对应的调整参数。
本申请提供一种解码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现上述的解码方法。
本申请提供一种编码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现权利要求上述的编码方法。
由以上技术方案可见,本申请实施例中,提出一种浅编码方法,可以适用于实时性要求高、缓存小、并行性要求高的场景,通过去除冗余信息达到提高压缩效率的目的,从而能够提高压缩效率,提高压缩倍率,且浅编码方法能够实现主观无损、硬件实现简单。
附图说明
图1A-图1C是帧内预测模式的工作原理示意图;
图2A-图2D是浅编码的视频编码框架的示意图;
图3是本申请一种实施方式中的编码方法的流程图;
图4是本申请一种实施方式中的解码方法的流程图;
图5是本申请一种实施方式中的编码方法的流程图;
图6是本申请一种实施方式中的解码方法的流程图;
图7A是本申请一种实施方式中的解码端设备的硬件结构图;
图7B是本申请一种实施方式中的编码端设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非用于限制本申请。本申请实施例和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但是,这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息,取决于语境。此外,所使用的词语“如果”可以被解释成为“在……时”,或“当……时”,或“响应于确定”。
本申请实施例中提出一种解码、编码方法、装置及其设备,可以涉及如下概念:
帧内预测(intra prediction),帧间预测(inter prediction)与IBC(帧内块拷贝)预测:
帧内预测是指,利用视频空间域的相关性,使用当前块的已编码块进行预测,以达到去除视频空域冗余的目的。帧内预测规定了多种预测模式,每种预测模式对应一种纹理方向(DC模式除外),例如,若图像纹理呈现水平状排布,则水平预测模式可以更好的预测图像信息。
帧间预测是指,基于视频时域的相关性,由于视频序列包含有较强的时域相关性,使用邻近已编码图像像素预测当前图像的像素,可以达到有效去除视频时域冗余的目的。视频编码标准帧间预测部分都采用了基于块的运动补偿技术,主要原理是为当前图像的每一个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计(MotionEstimation,ME)。
帧内块拷贝(IBC,Intra Block Copy)是指,允许同帧参考,当前块的参考数据来自同一帧,帧内块拷贝也可以称为帧内块复制。帧内块拷贝技术中,可以使用当前块的块矢量来获取当前块的预测值,示例性的,基于屏幕内容中的同一帧内存在大量重复出现的纹理这一特性,在采用块矢量获取当前块的预测值时,能够提升屏幕内容序列的压缩效率。
预测像素(Prediction Signal):预测像素是指从已编解码的像素中导出的像素值,通过原始像素与预测像素之差获得残差,进而进行残差变换量化以及系数编码。帧间的预测像素指的是当前块从参考帧导出的像素值,由于像素位置离散,需要通过插值运算来获取最终的预测像素。预测像素与原始像素越接近,两者相减得到的残差能量越小,编码压缩性能越高。
帧内预测模式:在帧内编码中,使用帧内预测模式进行运动补偿,即采用帧内预测模式获取当前块的预测值,帧内预测模式是只使用到当前帧的重建值、预测值等进行预测的模式。例如,帧内预测模式可以包括但不限于DC模式、bilinear模式、角度预测模式(如水平角度预测模式、垂直角度预测模式等,对此角度预测模式不做限制,可以是任意角度,如33种角度模式或者67种角度模)、IBC模式、ISC模式、Planar模式、逐点预测模式。
DC模式和角度预测模式可以参见图1A所示,DC模式适用于大面积平坦区域,将当前块的周围像素的平均值作为当前块的预测值,角度预测模式是将某角度指向的当前块的周围像素的值作为当前块的预测值。在图1A中,a是DC模式的示意图,将“D”上侧的16个参考像素的均值作为“D”的预测值。b是角度预测模式1的示意图,表示将该角度指向的参考像素的值作为当前块的预测值。c是角度预测模式2的示意图,d是角度预测模式3的示意图,e是角度预测模式4的示意图,f是角度预测模式6的示意图,g是角度预测模式6的示意图。
bilinear模式即双线性插值模式,参见图1B所示,bilinear模式的预测过程如下:首先产生右下角C位置的预测值(右上角参考像素A和左下角参考像素B的加权平均),然后产生右边界AC位置的预测值(右上角参考像素A和右下角C位置预测值的加权平均),然后产生下边界BC位置的预测值(左下角参考像素B和右下角C位置预测值的加权平均),剩余其它内部像素点的预测值通过水平线性预测和垂直线性预测的加权平均产生。水平线性预测产生的预测值为左边对应位置参考像素L和右边界AC位置的预测值的加权平均;垂直线性预测产生的预测值为上边对应位置参考像素T和下边界BC位置的预测值的加权平均。
Planar模式(或Plane模式)适用于像素值缓慢变化的区域,使用水平方向和垂直方向的两个线性滤波器,将两者的平均值作为当前块像素的预测值。Planar模式是渐变模式,Planar模式是利用了不同位置的参考像素以及不同的权重参数得到预测值的帧内预测模式。
IBC模式(Intra Block Copy,即帧内块复制模式)是利用当前帧已解码部分进行类似运动估计的方式得到当前块的预测值。ISC模式(Intra String Copy,即帧内串复制模式)是将当前块内像素以一定的扫描顺序(一般为水平光栅扫描顺序或垂直光栅扫描顺序)排列成若干一维像素组,每个像素组进行类似运动估计的方式得到像素组的预测值。
逐点预测模式,参见图1C所示,为16*2的像素块的4种逐点预测模式的示意图。示例性的,16*2的像素块的逐点预测模式可以为4种,每个逐点预测模式都是以16*2整块作为基本单元进行预测。在图1C中,≡用于表示采用左右两侧像素的重建值求平均得到当前像素的预测值;|||用于表示采用上下两侧像素的重建值求平均得到当前像素的预测值;>用于表示直接采用左侧像素的重建值作为当前像素的预测值;∨用于表示直接采用上侧像素的重建值作为当前像素的预测值。从图1C可以看出,对于逐点预测模式1,Group2的预测需要依赖于Group1的重建,对于逐点预测模式2,Group1的预测需要依赖于Group2的重建。
率失真原则(Rate-Distortion Optimized):评价编码效率的有两大指标:码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比),比特流越小,则压缩率越大,PSNR越大,则重建图像质量越好,在模式选择时,判别公式实质上也就是对二者的综合评价。例如,模式对应的代价:J(mode)=D+λ*R,其中,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。在模式选择时,若使用率失真原则去对编码模式做比较决策,通常可以保证编码性能最佳。
码控:控制码率平稳性,一般是通过对量化步长的调整来达到码率平稳的目的。
浅编码:浅编码是预测技术的一种实现方式,浅编码是简单预测方式,适用于实时性要求高、缓存小、并行性要求高的应用场景。浅编码的压缩效率较低,可以采用帧内预测,且压缩倍率较低。在浅编码的实现过程中,一般要求主观无损,硬件实现简单。
浅编码的视频编码框架:参见图2A所示,为编码端的视频编码框架,可以使用该视频编码框架实现本申请实施例的编码端处理流程,即实现浅编码。视频解码框架的示意图与图2A类似,在此不再重复赘述,可以使用视频解码框架实现本申请实施例的解码端处理流程。
示例性的,参见图2A所示,视频编码框架可以包括块划分、预测、变换、量化、码控、熵编码器、反量化、反变换、重建等模块。在编码端,通过这些模块之间的配合,可以实现编码端处理流程。此外,视频解码框架可以包括块划分、预测、变换、量化、码控、熵解码器、反量化、反变换、重建等模块,在该情况下,属于编码端的码控模块也可以作用于解码端,用以节省量化参数的编码代价以及控制预测模式等;或者,视频解码框架可以包括块划分、预测、变换、量化、熵解码器、反量化、反变换、重建等模块,在该情况下,不存在码控模块。在解码端,通过这些模块之间的配合,可以实现解码端处理流程。
示例性的,在浅压缩场景下,码控技术应用于一个码控单元,码控单元就是码控的作用范围,表示对码控单元进行码控操作。例如,码控单元可以是若干个图像块,或码控单元可以是若干个像素行,或码控单元可以是整个Slice,或码控单元可以是Slice内部的若干像素块,或码控单元可以是Slice内部的若干像素行等。当然,上述只是码控单元的几个示例,对此码控单元不做限制。在此基础上,可以对每个码控单元内的像素块进行预测、变换、量化等操作,预测部分的模式选择由码控参与,像素块完成重建后,可以进行重建值调整操作。
下面对编码端和解码端的结构进行简单介绍。参见图2B所示,示出用于实现本申请实施例的编码端的实例的示意性框图。在图2B中,编码端包括预测处理单元、残差计算单元、变换处理单元、量化单元、编码单元、反量化单元(也可以称为逆量化单元)、反变换处理单元(也可以称为逆变换处理单元)、重构单元(或者称为重建单元)以及滤波器单元。在一个例子中,编码端还可以包括缓冲器、经解码图像缓冲器,其中,缓冲器用于缓存重构单元输出的重构图像块,经解码图像缓冲器用于缓存滤波器单元输出的滤波后的图像块。
编码端(也称为编码器)的输入为图像(可以称为待编码图像)的图像块,图像块也可以称为当前块或待编码块,编码端中还可以包括分割单元(图中未示出),该分割单元用于将待编码图像分割成多个图像块。编码端用于逐块编码从而完成对待编码图像的编码,例如,对每个图像块执行编码过程。预测处理单元用于接收或获取图像块(当前待编码图像的当前待编码图像块,也可以称为当前块,该图像块可以理解为图像块的真实值)和已重构图像数据,基于已重构图像数据中的相关数据对当前块进行预测,得到当前块的预测块。在一个例子中,预测处理单元可以包含帧间预测单元、帧内预测单元和模式选择单元,模式选择单元用于选择帧内预测模式或者帧间预测模式,若选择帧内预测模式,则由帧内预测单元执行预测过程,若选择帧间预测模式,则由帧间预测单元执行预测过程。
残差计算单元用于计算图像块的真实值和该图像块的预测块之间的残差,得到残差块,例如,通过逐像素将图像块的像素值减去预测块的像素值。
变换处理单元用于对残差块进行例如离散余弦变换(discrete cosinetransform,DCT)或离散正弦变换(discrete sine transform,DST)的变换,以在变换域中获取变换系数,变换系数也可以称为变换残差系数,该变换残差系数可以在变换域中表示残差块。
量化单元用于通过应用标量量化或向量量化来量化变换系数,以获取经量化变换系数,经量化变换系数也可以称为经量化残差系数。量化过程可以减少与部分或全部变换系数有关的位深度。例如,可在量化期间将n位变换系数向下舍入到m位变换系数,其中n大于m。可通过调整量化参数(quantization parameter,QP)修改量化程度。例如,对于标量量化,可以应用不同的标度来实现较细或较粗的量化。较小量化步长对应较细量化,而较大量化步长对应较粗量化。可以通过量化参数(quantization parameter,QP)指示合适的量化步长。
编码单元用于对上述经量化残差系数进行编码,以经编码比特流的形式输出的经编码图像数据(即当前待编码图像块的编码结果),然后将经编码比特流传输到解码器,或将其存储起来,后续传输至解码器或用于检索。编码单元还可用于对当前图像块的其它语法元素进行编码,例如将预测模式编码至码流等。编码算法包括但不限于可变长度编码(variable length coding,VLC)算法、上下文自适应VLC(context adaptive VLC,CAVLC)算法、算术编码算法、上下文自适应二进制算术编码(context adaptive binaryarithmetic coding,CABAC)算法、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binary arithmetic coding,SBAC)算法、概率区间分割熵(probability interval partitioning entropy,PIPE)算法。
反量化单元用于对上述经量化系数进行反量化,以获取经反量化系数,该反量化是上述量化单元的反向应用,例如,基于或使用与量化单元相同的量化步长,应用量化单元应用的量化方案的逆量化方案。经反量化系数也可以称为经反量化残差系数。
反变换处理单元用于对上述反量化系数进行反变换,应理解,该反变换是上述变换处理单元的反向应用,例如,反变换可以包括逆离散余弦变换(discrete cosinetransform,DCT)或逆离散正弦变换(discrete sine transform,DST),以在像素域(或者称为样本域)中获取逆变换块。逆变换块也可以称为逆变换经反量化块或逆变换残差块。
重构单元用于将逆变换块(即逆变换残差块)添加至预测块,以在样本域中获取经重构块,重构单元可以为求和器,例如,将残差块的样本值(即像素值)与预测块的样本值相加。该重构单元输出的重构块可以后续用于预测其他图像块,例如,在帧内预测模式下使用。
滤波器单元(或简称“滤波器”)用于对经重构块进行滤波以获取经滤波块,从而顺利进行像素转变或提高图像质量。滤波器单元可以为环路滤波器单元,旨在表示一个或多个环路滤波器,例如去块滤波器、样本自适应偏移(sample-adaptive offset,SAO)滤波器或其它滤波器,例如双边滤波器、自适应环路滤波器(adaptive loop filter,ALF),或锐化或平滑滤波器,或协同滤波器。在一个例子中,该滤波单元输出的经滤波块可以后续用于预测其他图像块,例如,在帧间预测模式下使用。
参见图2C所示,示出用于实现本申请实施例的编码端(也可以称为解码器)的实例的示意性框图。解码器用于接收例如由编码器编码的经编码图像数据(即经编码比特流,例如,包括图像块的经编码比特流及相关联的语法元素),以获取经解码图像。解码器包括解码单元、反量化单元、反变换处理单元、预测处理单元、重构单元、滤波器单元。在一些实例中,解码器可执行大体上与图2B的编码器描述的编码遍次互逆的解码遍次。在一个例子中,解码器还可以包括缓冲器、经解码图像缓冲器,其中,缓冲器用于缓存重构单元输出的重构图像块,经解码图像缓冲器用于缓存滤波器单元输出的滤波后的图像块。
解码单元用于对经编码图像数据执行解码,以获取经量化系数和/或经解码的编码参数(例如,解码参数可以包括帧间预测参数、帧内预测参数、滤波器参数和/或其它语法元素中的任意一个或全部)。解码单元还用于将上述经解码的编码参数转发至预测处理单元,以供预测处理单元根据编码参数执行预测过程。
反量化单元的功能可与编码器的反量化单元的功能相同,用于反量化(即,逆量化)在由解码单元解码的经量化系数。
反变换处理单元的功能可与编码器的反变换处理单元的功能相同,重构单元(例如求和器)的功能可与编码器的重构单元的功能相同,用于对上述经量化系数进行逆变换(例如,逆DCT、逆整数变换或概念上类似的逆变换过程),得到逆变换块(也可以称为逆变换残差块),该逆变换块即为当前图像块在像素域中的残差块。
预测处理单元,用于接收或获取经编码图像数据(例如当前图像块的经编码比特流)和已重构图像数据,预测处理单元还可以从例如解码单元接收或获取预测相关参数和/或关于所选择的预测模式的信息(即经解码的编码参数),并且基于已重构图像数据中的相关数据和经解码的编码参数对当前图像块进行预测,得到当前图像块的预测块。在一个例子中,预测处理单元可以包含帧间预测单元、帧内预测单元和模式选择单元,模式选择单元用于选择帧内预测模式或者帧间预测模式,若选择帧内预测模式,则由帧内预测单元执行预测过程,若选择帧间预测模式,则由帧间预测单元执行预测过程。
重构单元用于将逆变换块(即逆变换残差块)添加到预测块,以在样本域中获取经重构块,例如将逆变换残差块的样本值与预测块的样本值相加。
滤波器单元用于对经重构块进行滤波以获取经滤波块,该经滤波块即为经解码图像块。
应当理解的是,在本申请实施例的编码器和解码器中,针对某个环节的处理结果也可以经过进一步处理后,输出到下一个环节,例如,在插值滤波、运动矢量推导或滤波等环节之后,对相应环节的处理结果进一步进行Clip或移位shift等操作。
在编码器以及解码器的基础上,本申请实施例提供一种可能的编/解码实现方式,如图2D所示,图2D为本申请实施例提供的一种编码和解码的流程示意图,该编码和解码实现方式包括过程①至过程⑤,过程①至过程⑤可以由上述的解码器和编码器执行。
过程①:将一帧图像分成一个或多个互相不重叠的并行编码单元。该一个或多个并行编码单元间无依赖关系,可完全并行/独立编码和解码,如图2D所示出的并行编码单元1和并行编码单元2。
过程②:对于每个并行编码单元,可再将其分成一个或多个互相不重叠的独立编码单元,各个独立编码单元间可相互不依赖,但可以共用一些并行编码单元头信息。例如,独立编码单元的宽为w_lcu,高为h_lcu。若并行编码单元划分成一个独立编码单元,则独立编码单元的尺寸与并行编码单元完全相同;否则,则独立编码单元的宽应大于高(除非是边缘区域)。
通常的,独立编码单元可为固定的w_lcu×h_lcu,w_lcu和h_lcu均为2的N次方(N≥0),如独立编码单元的尺寸为:128×4,64×4,32×4,16×4,8×4,32×2,16×2或8×2等。
作为一种可能的示例,独立编码单元可为固定的128×4。若并行编码单元的尺寸为256×8,则可将并行编码单元等分为4个独立编码单元;若并行编码单元的尺寸为288×10,则并行编码单元划分为:第一/二行为2个128×4+1个32×4的独立编码单元;第三行为2个128×2+1个32×2的独立编码单元。值得注意的是,独立编码单元既可以是包括亮度Y、色度Cb、色度Cr三个分量,或红(red,R)、绿(green,G)、蓝(blue,B)三个分量,也可以仅包含其中的某一个分量。若独立编码单元包含三个分量,则这三个分量的尺寸可以完全一样,也可以不一样,具体与图像的输入格式相关。
过程③:对于每个独立编码单元,可再将其分成一个或多个互相不重叠的编码单元,独立编码单元内的各个编码单元可相互依赖,如多个编码单元可以进行相互参考预编解码。
若编码单元与独立编码单元尺寸相同(即独立编码单元仅分成一个编码单元),则其尺寸可为过程②所述的所有尺寸。若独立编码单元分成多个互相不重叠的编码单元,则其可行划分例子有:水平等分(编码单元的高与独立编码单元相同,但宽不同,可为其1/2,1/4,1/8,1/16等),垂直等分(编码单元的宽与独立编码单元相同,高不同,可为其1/2,1/4,1/8,1/16等),水平和垂直等分(四叉树划分)等,优选为水平等分。
编码单元的宽为w_cu,高为h_cu,则其宽应大于高(除非是边缘区域)。通常的,编码单元可为固定的w_cu x h_cu,w_cu和h_cu均为2个N次方(N大于等于0),如16x4,8x4,16x2,8x2,8x1,4x1等。
作为一种可能的示例,编码单元可为固定的16x4。若独立编码单元的尺寸为64x4,则可将独立编码单元等分为4个编码单元;若独立编码单元的尺寸为72x4,则编码单元划分为:4个16x4+1个8x4。
值得注意的是,编码单元既可以是包括亮度Y、色度Cb、色度Cr三个分量(或红R、绿G、蓝B三分量),也可以仅包含其中的某一个分量。若包含三个分量,几个分量的尺寸可以完全一样,也可以不一样,具体与图像输入格式相关。
值得注意的是,过程③是编解码方法中一个可选的步骤,编/解码器可以对过程②获得的独立编码单元进行残差系数(或残差值)进行编/解码。
过程④:对于编码单元,可以将其可再将其分成一个或多个互相不重叠的预测组(Prediction Group,PG),PG也可简称为Group,各个PG按照选定预测模式进行编解码,得到PG的预测值,组成整个编码单元的预测值,基于预测值和编码单元的原始值,获得编码单元的残差值。
过程⑤:基于编码单元的残差值,对编码单元进行分组,获得一个或多个相不重叠的残差小块(residual block,RB),各个RB的残差系数按照选定模式进行编解码,形成残差系数流。具体的,可分为对残差系数进行变换和不进行变换两类。
其中,过程⑤中残差系数编解码方法的选定模式可以包括,但不限于下述任一种:半定长编码方式、指数哥伦布(Golomb)编码方法、Golomb-Rice编码方法、截断一元码编码方法、游程编码方法、直接编码原始残差值等。
例如,编码器可直接对RB内的系数进行编码。
又如,编码器也可对残差块进行变换,如DCT、DST、Hadamard变换等,再对变换后的系数进行编码。
作为一种可能的示例,当RB较小时,编码器可直接对RB内的各个系数进行统一量化,再进行二值化编码。若RB较大,可进一步划分为多个系数组(coefficient group,CG),再对各个CG进行统一量化,再进行二值化编码。在本申请的一些实施例中,系数组(CG)和量化组(QG)可以相同。
下面以半定长编码方式对残差系数编码的部分进行示例性说明。首先,将一个RB块内残差绝对值的最大值定义为修整最大值(modified maximum,mm)。其次,确定该RB块内残差系数的编码比特数(同一个RB块内残差系数的编码比特数一致)。例如,若当前RB块的关键限值(critica llimit,CL)为2,当前残差系数为1,则编码残差系数1需要2个比特,表示为01。若当前RB块的CL为7,则表示编码8-bit的残差系数和1-bit的符号位。CL的确定是去找满足当前子块所有残差都在[-2^(M-1),2^(M-1)]范围之内的最小M值。若同时存在-2^(M-1)和2^(M-1)两个边界值,则M应增加1,即需要M+1个比特编码当前RB块的所有残差;若仅存在-2^(M-1)和2^(M-1)两个边界值中的一个,则需要编码一个Trailing位来确定该边界值是-2^(M-1)还是2^(M-1);若所有残差均不存在-2^(M-1)和2^(M-1)中的任何一个,则无需编码该Trailing位。
另外,对于某些特殊的情况,编码器也可以直接编码图像的原始值,而不是残差值。
示例性的,浅编码的压缩效率与预测模式直接相关,由于预测模式存在不够灵活、压缩效率低等问题,因此,在采用浅编码的预测方式时,存在压缩效率低、压缩倍率低等问题,比如说,正常编码技术能达到几百倍的压缩倍率,但浅编码只能达到几倍的压缩倍率。
针对上述问题,本申请实施例中提出一种更优的浅编码方法,可以通过去除冗余信息达到提高压缩效率的目的,能够充分利用码流容量来进行像素值调整,可以适用于实时性要求高、缓存小、并行性要求高的场景,能够提高压缩效率和压缩倍率。
以下结合几个具体实施例,对本申请实施例中的解码方法和编码方法进行详细说明。
实施例1:本申请实施例中提出一种编码方法,参见图3所示,为该编码方法的流程示意图,该方法可以应用于编码端(也可以称为视频编码器),该方法可以包括:
步骤301、若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式。其中,N可以为大于或等于2的正整数,M可以为大于或等于1的正整数,且M可以小于N。
示例性的,第一模式集合中的M个候选模式可以为M个帧内候选模式,即第一模式集合中的候选模式是帧内候选模式。比如说,M个候选模式可以包括但不限于以下模式中的至少一种:基于残差跳过的DC模式、基于残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于残差跳过的IBC模式、基于残差跳过的ISC模式、基于残差跳过的Planar模式、基于残差跳过的逐点预测模式。当然,上述只是几个示例,对此M个候选模式不做限制。
示例性的,第二模式集合中的N个候选模式可以为N个帧内候选模式,即第二模式集合中的候选模式是帧内候选模式。比如说,N个候选模式可以包括但不限于以下模式中的至少两种:基于残差跳过的DC模式、基于非残差跳过的DC模式、基于残差跳过的bilinear模式、基于非残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于非残差跳过的角度预测模式、基于残差跳过的IBC模式、基于非残差跳过的IBC模式、基于残差跳过的ISC模式、基于非残差跳过的ISC模式、基于残差跳过的Planar模式、基于非残差跳过的Planar模式、基于残差跳过的逐点预测模式、基于非残差跳过的逐点预测模式。
示例性的,第二模式集合中的N个候选模式可以为N个帧内候选模式,即第二模式集合中的候选模式是帧内候选模式。比如说,N个候选模式包括但不限于以下模式中的至少两种:DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式。
在一种可能的实施方式中,当前块对应的特征信息可以包括但不限于:当前码率和/或块位置;当前块对应的特征信息满足特定条件,可以包括但不限于:若当前块对应的当前码率大于预设码率值,则确定该特征信息满足特定条件;或者,若当前块对应的块位置位于非指定位置,则确定该特征信息满足特定条件;或者,若当前块对应的当前码率大于预设码率值、且当前块对应的块位置位于非指定位置,则确定该特征信息满足特定条件。
步骤302、基于该目标模式对当前块进行编码,对此编码过程不做限制。比如说,假设将基于残差跳过的DC模式选取为目标模式,则采用该模式对当前块进行编码。
在一种可能的实施方式中,还可以在当前块对应的码流中编码该目标模式对应的模式标志信息。其中,在从第二模式集合的N个候选模式中选取目标模式时,则模式标志信息是该目标模式在第二模式集合中对应的索引信息。在从第一模式集合的M个候选模式中选取目标模式时,则模式标志信息是该目标模式在第一模式集合中对应的索引信息。
在另一种可能的实施方式中,还可以在当前块对应的码流中编码该目标模式对应的模式标志信息。其中,在从第二模式集合的N个候选模式中选取目标模式时,则该模式标志信息是该目标模式在第二模式集合中对应的索引信息。在从第一模式集合的M个候选模式中选取目标模式时,则该模式标志信息可以是该目标模式在第二模式集合中对应的索引信息;或者,该模式标志信息可以是该目标模式在第一模式集合中对应的索引信息。
示例性的,上述执行顺序只是为了方便描述给出的示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
由以上技术方案可见,本申请实施例中,提出一种浅编码方法,可以适用于实时性要求高、缓存小、并行性要求高的场景,通过去除冗余信息达到提高压缩效率的目的,从而能够提高压缩效率,提高压缩倍率,且浅编码方法能够实现主观无损、硬件实现简单。
实施例2:本申请实施例中提出一种解码方法,参见图4所示,为该解码方法的流程示意图,该方法可以应用于解码端(也可以称为视频解码器),该方法可以包括:
步骤401、若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式。其中,N可以为大于或等于2的正整数,M可以为大于或等于1的正整数,且M可以小于N。
示例性的,第一模式集合中的M个候选模式可以为M个帧内候选模式,即第一模式集合中的候选模式是帧内候选模式。比如说,M个候选模式可以包括但不限于以下模式中的至少一种:基于残差跳过的DC模式、基于残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于残差跳过的IBC模式、基于残差跳过的ISC模式、基于残差跳过的Planar模式、基于残差跳过的逐点预测模式。当然,上述只是几个示例,对此M个候选模式不做限制。
示例性的,第二模式集合中的N个候选模式可以为N个帧内候选模式,即第二模式集合中的候选模式可以是帧内候选模式。比如说,N个候选模式可以包括但不限于以下模式中的至少两种:基于残差跳过的DC模式、基于非残差跳过的DC模式、基于残差跳过的bilinear模式、基于非残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于非残差跳过的角度预测模式、基于残差跳过的IBC模式、基于非残差跳过的IBC模式、基于残差跳过的ISC模式、基于非残差跳过的ISC模式、基于残差跳过的Planar模式、基于非残差跳过的Planar模式、基于残差跳过的逐点预测模式、基于非残差跳过的逐点预测模式。
示例性的,第二模式集合中的N个候选模式可以为N个帧内候选模式,即第二模式集合中的候选模式是帧内候选模式。比如说,N个候选模式包括但不限于以下模式中的至少两种:DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式。
在一种可能的实施方式中,当前块对应的特征信息可以包括但不限于:当前码率和/或块位置;当前块对应的特征信息满足特定条件,可以包括但不限于:若当前块对应的当前码率大于预设码率值,则确定该特征信息满足特定条件;或者,若当前块对应的块位置位于非指定位置,则确定该特征信息满足特定条件;或者,若当前块对应的当前码率大于预设码率值、且当前块对应的块位置位于非指定位置,则确定该特征信息满足特定条件。
在一种可能的实施方式中,还可以从当前块对应的码流中获取目标模式对应的模式标志信息,并基于该模式标志信息从第一模式集合的M个候选模式中选取目标模式,或者,基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式。
比如说,可以从当前块对应的码流中解码目标模式对应的模式标志信息,其中,在当前块对应的特征信息不满足特定条件时,该模式标志信息是目标模式在第二模式集合中对应的索引信息,因此,基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式。
又例如,可以从当前块对应的码流中解码目标模式对应的模式标志信息,其中,在当前块对应的特征信息满足特定条件时,该模式标志信息是目标模式在第一模式集合中对应的索引信息,因此,基于该模式标志信息从第一模式集合的M个候选模式中选取目标模式。
又例如,可以从当前块对应的码流中解码目标模式对应的模式标志信息,其中,在当前块对应的特征信息满足特定条件时,该模式标志信息可以是目标模式在第一模式集合中对应的索引信息,也可以是目标模式在第二模式集合中对应的索引信息,在此基础上,若该模式标志信息是目标模式在第二模式集合中对应的索引信息,则基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式;或者,若该模式标志信息是目标模式在第一模式集合中对应的索引信息,则基于该模式标志信息从第一模式集合的M个候选模式中选取目标模式。
步骤402、基于目标模式对当前块进行解码,对此解码过程不做限制。比如说,假设将基于残差跳过的DC模式选取为目标模式,则采用该模式对当前块进行解码。
由以上技术方案可见,本申请实施例中,提出一种浅编码方法,可以适用于实时性要求高、缓存小、并行性要求高的场景,通过去除冗余信息达到提高压缩效率的目的,从而能够提高压缩效率,提高压缩倍率,且浅编码方法能够实现主观无损、硬件实现简单。
实施例3:本实施例中,可以基于码控信息选取目标模式,并且,编码端可以支持基于码控信息选取目标模式,解码端可以不支持基于码控信息选取目标模式。
针对编码端来说,需要确定当前块对应的特征信息是否满足特定条件,若是,则编码端从第一模式集合的M个候选模式中选取目标模式,否则,从第二模式集合的N个候选模式中选取目标模式。N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N。
示例性的,编码端还可以在当前块对应的码流中编码目标模式对应的模式标志信息,该模式标志信息可以是目标模式在第一模式集合或者第二模式集合中对应的索引信息。比如说,在当前块对应的特征信息不满足特定条件时,编码端是从第二模式集合的N个候选模式中选取目标模式,且该模式标志信息是该目标模式在第二模式集合中对应的索引信息。在当前块对应的特征信息满足特定条件时,编码端是从第一模式集合的M个候选模式中选取目标模式,且该模式标志信息是该目标模式在第二模式集合中对应的索引信息,也就是说,虽然从第一模式集合中选取目标模式,但索引信息是该目标模式在第二模式集合中对应的索引信息。
其中,目标模式在第二模式集合中对应的索引信息,表示目标模式是第二模式集合中的第几个候选模式,从而能够从第二模式集合中找到与该索引信息对应的候选模式。
针对解码端来说,可以从当前块对应的码流中获取目标模式对应的模式标志信息,并基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式。比如说,针对编码端来说,无论是当前块对应的特征信息不满足特定条件,还是当前块对应的特征信息满足特定条件,编码端在码流中编码模式标志信息时,该模式标志信息均是目标模式在第二模式集合中对应的索引信息,因此,解码端是基于该模式标志信息从第二模式集合中选取目标模式。
其中,目标模式在第二模式集合中对应的索引信息,表示目标模式是第二模式集合中的第几个候选模式,因此,解码端可以基于该模式标志信息从第二模式集合中选取出目标模式。
实施例4:本实施例中,可以基于码控信息选取目标模式,并且,编码端可以支持基于码控信息选取目标模式,解码端也可以支持基于码控信息选取目标模式。
针对编码端来说,需要确定当前块对应的特征信息是否满足特定条件,若是,则编码端从第一模式集合的M个候选模式中选取目标模式,否则,从第二模式集合的N个候选模式中选取目标模式。N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N。
示例性的,编码端还可以在当前块对应的码流中编码目标模式对应的模式标志信息,该模式标志信息可以是目标模式在第一模式集合或者第二模式集合中对应的索引信息。比如说,在当前块对应的特征信息不满足特定条件时,编码端是从第二模式集合的N个候选模式中选取目标模式,且该模式标志信息是该目标模式在第二模式集合中对应的索引信息。在当前块对应的特征信息满足特定条件时,编码端是从第一模式集合的M个候选模式中选取目标模式,且该模式标志信息是该目标模式在第一模式集合中对应的索引信息。
其中,目标模式在第二模式集合中对应的索引信息,表示目标模式是第二模式集合中的第几个候选模式,从而能够从第二模式集合中找到与该索引信息对应的候选模式。
其中,目标模式在第一模式集合中对应的索引信息,表示目标模式是第一模式集合中的第几个候选模式,从而能够从第一模式集合中找到与该索引信息对应的候选模式。
针对解码端来说,解码端可以从当前块对应的码流中获取目标模式对应的模式标志信息,并基于该模式标志信息从第一模式集合的M个候选模式中选取目标模式,或者,可以基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式。
示例性的,解码端需要确定当前块对应的特征信息是否满足特定条件,若是,则解码端可以基于该模式标志信息从第一模式集合的M个候选模式中选取目标模式,否则,解码端可以基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式。
比如说,在当前块对应的特征信息不满足特定条件时,模式标志信息是目标模式在第二模式集合中对应的索引信息,因此,解码端基于该模式标志信息从第二模式集合中选取目标模式。其中,目标模式在第二模式集合中对应的索引信息,表示目标模式是第二模式集合中的第几个候选模式,因此,可以基于该模式标志信息从第二模式集合中选取出目标模式。
又例如,在当前块对应的特征信息满足特定条件时,模式标志信息是目标模式在第一模式集合中对应的索引信息,因此,解码端基于该模式标志信息从第一模式集合中选取目标模式。其中,目标模式在第一模式集合中对应的索引信息,表示目标模式是第一模式集合中的第几个候选模式,因此,可以基于该模式标志信息从第一模式集合中选取出目标模式。
实施例5:本实施例中,可以基于码控信息选取目标模式,编码端支持基于码控信息选取目标模式,解码端可能支持基于码控信息选取目标模式,也可能不支持基于码控信息选取目标模式,协议会标识解码端支持还是不支持基于码控信息选取目标模式。
针对编码端来说,需要确定当前块对应的特征信息是否满足特定条件,若是,则编码端从第一模式集合的M个候选模式中选取目标模式,否则,从第二模式集合的N个候选模式中选取目标模式。N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N。
示例性的,编码端还可以在当前块对应的码流中编码目标模式对应的模式标志信息,该模式标志信息可以是目标模式在第一模式集合或者第二模式集合中对应的索引信息。比如说,在当前块对应的特征信息不满足特定条件时,编码端是从第二模式集合的N个候选模式中选取目标模式,且该模式标志信息是该目标模式在第二模式集合中对应的索引信息。
在当前块对应的特征信息满足特定条件时,编码端是从第一模式集合的M个候选模式中选取目标模式,在该情况下,若协议标识解码端支持基于码控信息选取目标模式,则该模式标志信息是该目标模式在第一模式集合中对应的索引信息。若协议标识解码端不支持基于码控信息选取目标模式,则该模式标志信息是该目标模式在第二模式集合中对应的索引信息。
综上所述,在从第一模式集合中选取目标模式时,模式标志信息可能是目标模式在第一模式集合中对应的索引信息,也可能是目标模式在第二模式集合中对应的索引信息。
针对解码端来说,可以从当前块对应的码流中获取目标模式对应的模式标志信息,并基于该模式标志信息从第一模式集合的M个候选模式中选取目标模式,或者,基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式。示例性的,可以确定当前块对应的特征信息是否满足特定条件,若是,则基于该模式标志信息从第一模式集合的M个候选模式中选取目标模式,或者,基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式,否则,可以基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式。
比如说,在当前块对应的特征信息不满足特定条件时,模式标志信息是目标模式在第二模式集合中对应的索引信息,因此,基于该模式标志信息从第二模式集合中选取目标模式。
又例如,在当前块对应的特征信息满足特定条件时,若协议标识解码端支持基于码控信息选取目标模式,则模式标志信息是目标模式在第一模式集合中对应的索引信息,因此,解码端基于该模式标志信息从第一模式集合的M个候选模式中选取目标模式。
又例如,在当前块对应的特征信息满足特定条件时,若协议标识解码端不支持基于码控信息选取目标模式,则模式标志信息是目标模式在第二模式集合中对应的索引信息,因此,解码端基于该模式标志信息从第二模式集合的N个候选模式中选取目标模式。
实施例6:在实施例1-实施例5中,涉及当前块对应的特征信息是否满足特定条件,该特征信息可以包括但不限于当前码率和/或块位置,当前码率用于表示当前块所在码控单元之前的所有码控单元的平均码率,块位置用于表示当前块在当前帧中的位置。当然,当前码率和/或块位置只是特征信息的几个示例,本实施例中对此特征信息不做限制。在该情况下,当前块对应的特征信息是否满足特定条件,可以包括但不限于如下情况:
情况1、当前块对应的特征信息包括当前码控信息,例如当前块对应的当前码率。若当前块对应的当前码率大于预设码率值,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。示例性的,预设码率值可以是根据经验配置的码率值,对此不做限制,在当前码率大于预设码率值时,表示码控信息指示资源池不足。
在一种可能的实施方式中,可以预先配置一个目标上限码率,在当前码率接近于目标上限码率时,表示码控信息指示资源池正常,在当前码率大于目标上限码率与预设阈值之和时,表示码控信息指示资源池不足,在当前码率小于目标上限码率与预设阈值之差时,表示码控信息指示资源池充足,在此基础上,可以将目标上限码率与预设阈值之和作为预设码率值。此时,目标上限码率一般大于码控的目标码率。
情况2、当前块对应的特征信息包括当前块对应的块位置,若当前块对应的块位置位于非指定位置,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
比如说,指定位置可以是当前码控单元(即当前块所在的码控单元)的最后L个图像块(L可以为大于或等于1的正整数),或者最下一行图像块等,在此基础上,若当前块对应的块位置属于当前码控单元的最后L个图像块或最下一行图像块,则确定当前块对应的块位置位于指定位置,若当前块对应的块位置不属于当前码控单元的最后L个图像块和最下一行图像块,则确定当前块对应的块位置位于非指定位置。
又例如,指定位置可以是当前帧内部Slice边界位置,若当前块对应的块位置属于当前帧内部Slice边界位置,则确定当前块对应的块位置位于指定位置,若当前块对应的块位置不属于当前帧内部Slice边界位置,则确定当前块对应的块位置位于非指定位置。
又例如,指定位置可以是当前码控单元的最后L个图像块和当前帧内部Slice边界位置,在此基础上,若当前块对应的块位置属于当前码控单元的最后L个图像块,或,当前块对应的块位置属于当前帧内部Slice边界位置,则确定当前块对应的块位置位于指定位置。若当前块对应的块位置不属于当前码控单元的最后L个图像块,且当前块对应的块位置不属于当前帧内部Slice边界位置,则确定当前块对应的块位置位于非指定位置。
当然,上述只是指定位置的几个示例,本实施例中对此指定位置不做限制。
情况3、当前块对应的特征信息可以包括当前块对应的当前码率和当前块对应的块位置,若当前块对应的当前码率大于预设码率值、且当前块对应的块位置位于非指定位置,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
情况4、当前块对应的特征信息可以包括当前块对应的当前码率和当前块对应的块位置,若当前块对应的当前码率大于预设码率值,或者,当前块对应的块位置位于非指定位置,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
实施例7:在实施例1-实施例5中,涉及第一模式集合和第二模式集合,第一模式集合可以包括M个候选模式,且第一模式集合中的M个候选模式可以为M个帧内候选模式,第二模式集合可以包括N个候选模式,且第二模式集合中的N个候选模式可以为N个帧内候选模式。示例性的,N可以大于或等于2,M可以大于或等于1,且M可以小于N。当然,在实际应用中,M个候选模式也可以包括帧间候选模式,对此M个候选模式不做限制,此外,N个候选模式也可以包括帧间候选模式,对此N个候选模式不做限制。
示例性的,第一模式集合中的M个候选模式可以是第二模式集合中的N个候选模式的子集,第一模式集合中的M个候选模式也可以不是第二模式集合中的N个候选模式的子集。
示例性的,在码控信息指示资源池充足(如特征信息不满足特定条件)时,可以从第二模式集合的N个候选模式中选择目标模式。由于N个候选模式为N个帧内候选模式,且帧内预测模式可以包括但不限于DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式等,因此,N个候选模式可以包括但不限于以下模式中的至少两种:DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式。当然,上述只是帧内预测模式的几个示例,本实施例对此帧内预测模式不做限制。
在一种可能的实施方式中,在预测过程中,可以采用残差跳过模式或者非残差跳过模式,残差跳过模式表示不需要编码或解码预测值对应的残差值,非残差跳过模式表示需要编码或解码预测值对应的残差值,基于此,还可以将帧内预测模式划分为基于残差跳过的帧内预测模式和基于非残差跳过的帧内预测模式,因此,N个候选模式可以包括但不限于以下模式中的至少两种:基于残差跳过的DC模式、基于非残差跳过的DC模式、基于残差跳过的bilinear模式、基于非残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于非残差跳过的角度预测模式、基于残差跳过的IBC模式、基于非残差跳过的IBC模式、基于残差跳过的ISC模式、基于非残差跳过的ISC模式、基于残差跳过的Planar模式、基于非残差跳过的Planar模式、基于残差跳过的逐点预测模式、基于非残差跳过的逐点预测模式。
其中,基于残差跳过的DC模式是指:在采用DC模式的基础上进行残差跳过,即不需要编码或解码预测值对应的残差值;基于非残差跳过的DC模式是指:在采用DC模式的基础上不进行残差跳过,即需要编码或解码预测值对应的残差值;基于残差跳过的bilinear模式是指:在采用bilinear模式的基础上进行残差跳过;基于非残差跳过的bilinear模式是指:在采用bilinear模式的基础上不进行残差跳过,以此类推,其它模式的原理与此类似。
其中,若N个候选模式包括DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式,则编码端在码流中编码目标模式在第二模式集合中对应的索引信息时,索引信息可以是索引值,如索引值是0时,表示第二模式集合中的第一个候选模式,即DC模式,索引值是1时,表示第二模式集合中的第二个候选模式,以此类推。
若N个候选模式包括基于残差跳过的DC模式、基于非残差跳过的DC模式、基于残差跳过的bilinear模式、基于非残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于非残差跳过的角度预测模式、基于残差跳过的IBC模式、基于非残差跳过的IBC模式、基于残差跳过的ISC模式、基于非残差跳过的ISC模式、基于残差跳过的Planar模式、基于非残差跳过的Planar模式、基于残差跳过的逐点预测模式、基于非残差跳过的逐点预测模式,则编码端在码流中编码目标模式在第二模式集合中对应的索引信息时,索引信息可以是索引值,如索引值是0时,表示第二模式集合中的第一个候选模式,即基于残差跳过的DC模式,索引值是1时,表示第二模式集合中的第二个候选模式,即基于非残差跳过的DC模式,索引值是2时,表示第二模式集合中的第三个候选模式,基于残差跳过的bilinear模式,以此类推。
若N个候选模式包括基于残差跳过的DC模式、基于非残差跳过的DC模式、基于残差跳过的bilinear模式、基于非残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于非残差跳过的角度预测模式、基于残差跳过的IBC模式、基于非残差跳过的IBC模式、基于残差跳过的ISC模式、基于非残差跳过的ISC模式、基于残差跳过的Planar模式、基于非残差跳过的Planar模式、基于残差跳过的逐点预测模式、基于非残差跳过的逐点预测模式,则编码端在码流中编码目标模式在第二模式集合中对应的索引信息时,索引信息可以是索引值和残差跳过标记位,该残差跳过标记位用于表示残差跳过或者非残差跳过。
比如说,若索引值是0,且残差跳过标记位为第一取值(如0,用于表示残差跳过),则表示第二模式集合中的第一个候选模式,即基于残差跳过的DC模式。若索引值是0,且残差跳过标记位为第二取值(如1,用于表示非残差跳过),则表示第二模式集合中的第二个候选模式,即基于非残差跳过的DC模式。若索引值是1,且残差跳过标记位为第一取值,则表示第二模式集合中的第三个候选模式,即基于残差跳过的bilinear模式,以此类推。
综上所述,可以基于索引值和残差跳过标记位表示目标模式在第二模式集合中对应的索引信息,索引值表示帧内预测模式的位置,DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式等帧内预测模式的位置,残差跳过标记位表示残差跳过或者非残差跳过,即采用残差跳过的帧内预测模式还是非残差跳过的帧内预测模式。
其中,关于第二模式集合中各候选模式的顺序,本实施例中不做限制,可以任意配置。
示例性的,在码控信息指示资源池不足(如特征信息满足特定条件)时,可以从第一模式集合的M个候选模式中选择目标模式。由于M个候选模式为M个帧内候选模式,且帧内预测模式可以包括但不限于DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式等,因此,M个候选模式可以包括但不限于以下模式中的至少一种:DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式。当然,上述只是帧内预测模式的几个示例,本实施例对此帧内预测模式不做限制。
在一种可能的实施方式中,还可以将帧内预测模式划分为基于残差跳过的帧内预测模式和基于非残差跳过的帧内预测模式,本实施例中,在码控信息指示资源池不足(如特征信息满足特定条件)的情况下,可以限制可用模式仅为残差跳过模式。在此基础上,第一模式集合中的M个候选模式可以包括但不限于以下模式中的至少一种:基于残差跳过的DC模式、基于残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于残差跳过的IBC模式、基于残差跳过的ISC模式、基于残差跳过的Planar模式、基于残差跳过的逐点预测模式。
其中,可以将第二模式集合中的残差跳过模式的全部候选模式添加到第一模式集合,或者,可以将第二模式集合中的残差跳过模式的部分候选模式添加到第一模式集合,或者,可以将残差跳过模式的任意帧内预测模式添加到第一模式集合,针对已添加的每个帧内预测模式,该帧内预测模式可能位于第二模式集合,也可能不位于第二模式集合。当然,上述方式只是给出构建第一模式集合的几个示例,本实施例对此第一模式集合不做限制。
其中,基于残差跳过的DC模式、基于残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于残差跳过的IBC模式、基于残差跳过的ISC模式、基于残差跳过的Planar模式、基于残差跳过的逐点预测模式,只是第一模式集合中的候选模式的几个示例,对此第一模式集合中的候选模式不做限制。在一种可能的实施方式中,第一模式集合中的候选模式可以具有以下特点:在采用该候选模式对当前块进行编码时,具有码率开销小、码率损失小、模式代价较小等特点,当然,图像质量可能会有一定牺牲。本实施例中,可以将具有上述特点的模式作为第一模式集合中的候选模式,即将该模式添加到第一模式集合。
其中,若M个候选模式包括DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式中的至少一个,则编码端在码流中编码目标模式在第一模式集合中对应的索引信息时,索引信息可以是索引值(用于表示第一模式集合中的第几个候选模式)。若M个候选模式包括基于残差跳过的DC模式、基于残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于残差跳过的IBC模式、基于残差跳过的ISC模式、基于残差跳过的Planar模式、基于残差跳过的逐点预测模式中的至少一个,则编码端在码流中编码目标模式在第一模式集合中对应的索引信息时,索引信息可以是索引值。
其中,关于第一模式集合中各候选模式的顺序,本实施例中不做限制,可以任意配置。
实施例8:针对编码端来说,编码端直接从第一模式集合的M个候选模式中选取目标模式,即编码端不需要确定当前块对应的特征信息是否满足特定条件。编码端还可以在当前块对应的码流中编码目标模式对应的模式标志信息,该模式标志信息是目标模式在第一模式集合中对应的索引信息。针对解码端来说,解码端可以从当前块对应的码流中获取目标模式对应的模式标志信息,并基于该模式标志信息从第一模式集合的M个候选模式中选取目标模式,在该实施例中,解码端不需要确定当前块对应的特征信息是否满足特定条件。其中,第一模式集合中的M个候选模式可以仅为残差跳过模式,如基于残差跳过的DC模式、基于残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于残差跳过的IBC模式、基于残差跳过的ISC模式、基于残差跳过的Planar模式、基于残差跳过的逐点预测模式中的至少一个。
实施例9:在实施例1-实施例8的基础上,针对第一模式集合的M个候选模式,可以只包括模式代价可控的预测模式。或者,可以包括模式代价可控的预测模式,在此基础上,还可以包括基于残差跳过的DC模式、基于残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于残差跳过的IBC模式、基于残差跳过的ISC模式、基于残差跳过的Planar模式、基于残差跳过的逐点预测模式中的至少一个。当然,上述只是示例,对此不做限制。此外,针对第二模式集合的N个候选模式,也可以包括模式代价可控的预测模式,即在上述实施例给出的模式的基础上,还可以包括实施例8中的模式代价可控的预测模式。
其中,关于模式代价可控的预测模式,是能够控制代价值的预测模式,本实施例中给出两种模式代价可控的预测模式,分别记为模式代价可控的第一预测模式和模式代价可控的第二预测模式,当然,这里只是给出两个示例,本实施例中对此不做限制。
关于模式代价可控的第一预测模式,可以根据码控状态以及当前待压缩的像素数量对原始值进行量化传输。例如,假设码控剩余80bit,以16*2块为例,可以计算得到每个像素的码率,即80/(16*2)=2.5,为了不溢出向下取整为2,对每个原始值来说,采用2bit表示,以此来决定其量化步长。当然,在实际应用中,对每个原始值来说,也可以采用大于2bit的数值表示,如采用3bit、4bit等表示,在该情况下,对16*2块中前面像素的原始值来说,采用3bit、4bit等表示,在占用即将超过80bit之后,对剩余像素不再对原始值进行量化传输。
对于编码端来说,编码端可以根据码控状态以及当前待压缩的像素数量决定量化步长,并将量化步长应用于原始值上,最后每个像素编码量化索引值。对于解码端来说,解码端根据码控状态以及当前待压缩的像素数量决定量化步长,解析每个像素原始值的量化索引值,比如说,解码端需要解码得到2bit的这个信息,继而得到像素原始值的量化索引值。
关于模式代价可控的第二预测模式,可以根据码控状态以及当前待压缩的像素数量对残差进行量化传输,该第二预测模式的原理与上述第一预测模式的原理类似,但是需要额外考虑模式代价。例如,假设码控剩余80bit,模式代价为10bit,以16*2块为例,可以计算得到每个像素的码率,即(80-10)/(16*2)=2.18,为了不溢出向下取整为2,对每个残差来说,采用2bit表示,以此来决定其量化步长。当然,在实际应用中,对每个残差来说,也可以采用大于2bit的数值表示,如采用3bit、4bit等表示,在该情况下,对16*2块中前面像素的残差来说,采用3bit、4bit等表示,在占用即将超过80bit后,对剩余像素不再对残差进行量化传输。
对于编码端来说,编码端可以根据码控状态以及当前待压缩的像素数量决定量化步长,并将量化步长应用于残差值上,最后每个像素编码量化索引值。对于解码端来说,解码端根据码控状态以及当前待压缩的像素数量决定量化步长,解析每个像素残差值的量化索引值,比如说,解码端需要解码得到2bit的这个信息,继而得到像素残差值的量化索引值。
对于模式代价可控的第一预测模式和模式代价可控的第二预测模式,若当前块包含多个通道,可以根据预设比例的形式进行分配,例如,针对YUV三通道,可以分配为4:1:1,此时若剩余60bit,则Y通道占40bit,UV通道各占10bit,UV通道占用bit数量可在Y通道编码后更新,如以原始值量化方式为例,若Y通道为8*2块,40/(8x2)=2.5向下取整为2,此时Y通道只用了2*8*2=32个bit,剩余的40-32=8个bit可以给后续的UV通道使用。
实施例10:本申请实施例中提出一种编码方法,参见图5所示,为该编码方法的流程示意图,该方法可以应用于编码端(也可以称为视频编码器),该方法可以包括:
步骤501、确定是否需要对当前图像区域进行重建值调整;其中,当前图像区域包括一个图像块,或连续的多个图像块。
在一种可能的实施方式中,若启动当前图像区域的重建值调整的代价值,小于关闭当前图像区域的重建值调整的代价值,则可以确定需要对当前图像区域进行重建值调整;否则,可以确定不需要对当前图像区域进行重建值调整。在该情况下,编码端还可以在当前图像区域对应的码流中编码该调整控制开关对应的标记位;其中,若需要对当前图像区域进行重建值调整,则该标记位为第一取值,第一取值用于表示需要对当前图像区域进行重建值调整。若不需要对当前图像区域进行重建值调整,则该标记位为第二取值,第二取值用于表示不需要对当前图像区域进行重建值调整。
在另一种可能的实施方式中,若当前图像区域对应的特征信息满足特定条件,则可以确定需要对当前图像区域进行重建值调整;否则,确定不需要对当前图像区域进行重建值调整。在该情况下,当前图像区域对应的特征信息可以包括但不限于:当前码率、当前图像区域内的图像块的块位置、已重建像素特征和量化步长中的至少一种;当前图像区域对应的特征信息满足特定条件,可以包括但不限于:若该当前码率小于第一码率值,则确定特征信息满足特定条件;或者,若该块位置位于指定位置,则确定特征信息满足特定条件;或者,若该量化步长大于步长阈值,则确定特征信息满足特定条件;或者,若已重建像素特征表示当前图像区域的复杂程度为复杂,则确定特征信息满足特定条件;或者,若该块位置位于指定位置、且该量化步长大于步长阈值,则确定特征信息满足特定条件。
步骤502、若确定需要对当前图像区域进行重建值调整,则获取当前图像区域对应的调整参数,其中,该调整参数用于对当前图像区域的重建值进行调整。
步骤503、在当前图像区域对应的码流中编码当前图像区域对应的调整参数。
示例性的,若当前图像区域对应的调整参数包括多个调整值,则可以在当前图像区域对应的码流中编码全部调整值或者部分调整值(即多个调整值中的部分调整值)。
其中,在当前图像区域对应的码流中编码全部调整值或者部分调整值,可以包括但不限于:按照多个调整值的编码顺序对多个调整值进行排序,并基于排序结果依次遍历多个调整值中的每个调整值;针对当前遍历的调整值,若在当前图像区域对应的码流中编码该调整值之后,当前码率小于第二码率值,则在当前图像区域对应的码流中编码该调整值,且继续遍历该调整值的下一个调整值,将下一个调整值作为当前遍历的调整值;否则,禁止在当前图像区域对应的码流中编码该调整值,且停止遍历该调整值的下一个调整值。
其中,可以将当前图像区域的所有像素点划分至多个像素组,多个调整值可以包括K个像素组对应的调整值,K个像素组可以是多个像素组中的全部像素组或者部分像素组。针对每个像素组来说,该像素组对应的调整值可以包括该像素组对应的多个通道的调整值,多个通道可以包括如下通道中的至少一种:Y通道、U通道、V通道、R通道、G通道、B通道、alpha通道、IR通道、D通道、W通道。比如说,多个通道可以包括Y通道、U通道、V通道,或者,多个通道可以包括R通道、G通道、B通道,或者,多个通道可以包括、R通道、G通道、B通道、alpha通道,或者,多个通道可以包括R通道、G通道、B通道、IR通道,或者,多个通道可以包括R通道、G通道、B通道、W通道,或者,多个通道可以包括R通道、G通道、B通道、IR通道、W通道,或者,多个通道可以包括R通道、G通道、B通道、D通道,或者,多个通道可以包括R通道、G通道、B通道、D通道、W通道。
其中,除了RGB彩色感光通道,也可能有IR通道(红外或近红外感光通道),D通道(暗光通道,主要通过红外光或近红外光),W通道(全色感光通道),针对不同的传感器有不同的通道,比如说,传感器类型可以是RGB传感器,RGBIR传感器,RGBW传感器,RGBIRW传感器,RGBD传感器,RGBDW传感器等。
其中,将当前图像区域的所有像素点划分至多个像素组,包括但不限于如下方式:按照各像素点的重建值将当前图像区域的所有像素点划分至多个像素组;或者,基于像素点的周围像素点的重建值确定该像素点的分类值,按照各像素点的分类值将当前图像区域的所有像素点划分至多个像素组;或者,按照各像素点的像素位置将当前图像区域的所有像素点划分至多个像素组。当然,上述方式只是几个示例,对此划分方式不做限制。
其中,若K个像素组是多个像素组中的部分像素组,则编码端还可以在当前图像区域对应的码流中编码K个像素组对应的索引信息,表示当前图像区域对应的码流中携带的是该索引信息对应的像素组的调整值。若K个像素组是多个像素组中的全部像素组,则编码端可以不在当前图像区域对应的码流中编码像素组对应的索引信息,表示当前图像区域对应的码流中携带的是所有像素组的调整值,此时,不需要在码流中编码像素组对应的索引信息。
其中,若K个像素组是多个像素组中的部分像素组,则该索引信息用于区分所有类别的像素组中的目标类别的像素组,也就是说,从所有像素组中区分出K个像素组。
实施例11:本申请实施例中提出一种解码方法,参见图6所示,为该解码方法的流程示意图,该方法可以应用于解码端(也可以称为视频解码器),该方法可以包括:
步骤601、确定是否需要对当前图像区域进行重建值调整;其中,当前图像区域包括一个图像块,或连续的多个图像块。
在一种可能的实施方式中,可以从当前图像区域对应的码流中获取调整控制开关对应的标记位;若该标记位为第一取值,则确定需要对当前图像区域进行重建值调整。若该标记位为第二取值,则确定不需要对当前图像区域进行重建值调整。
在另一种可能的实施方式中,若当前图像区域对应的特征信息满足特定条件,则可以确定需要对当前图像区域进行重建值调整;否则,可以确定不需要对当前图像区域进行重建值调整。在该情况下,当前图像区域对应的特征信息可以包括但不限于:当前码率、当前图像区域内的图像块的块位置、已重建像素特征和量化步长中的至少一种;当前图像区域对应的特征信息满足特定条件,可以包括但不限于:若该当前码率小于第一码率值,则确定特征信息满足特定条件;或者,若该块位置位于指定位置,则确定特征信息满足特定条件;或者,若该量化步长大于步长阈值,则确定特征信息满足特定条件;或者,若已重建像素特征表示当前图像区域的复杂程度为复杂,则确定特征信息满足特定条件;或者,若该块位置位于指定位置、且该量化步长大于步长阈值,则确定特征信息满足特定条件。
步骤602、若确定需要对当前图像区域进行重建值调整,则从当前图像区域对应的码流中获取当前图像区域对应的调整参数,该调整参数用于对重建值进行调整。
步骤603、基于该调整参数对当前图像区域的重建值进行调整。
在一种可能的实施方式中,当前图像区域对应的调整参数可以包括多个调整值,可以将当前图像区域的所有像素点划分至多个像素组,多个调整值包括K个像素组对应的调整值,且K个像素组是多个像素组中的全部像素组或者部分像素组。在此基础上,基于该调整参数对当前图像区域的重建值进行调整,可以包括但不限于:基于多个调整值对K个像素组内的像素点的重建值进行调整,示例性的,K可以为大于或等于1的正整数。
基于多个调整值对K个像素组内的像素点的重建值进行调整,包括:针对K个像素组中的每个像素组,若多个调整值包括该像素组对应的调整值,则基于该像素组对应的调整值对该像素组内每个像素点的重建值进行调整,得到该像素组内每个像素点的调整后的重建值。
其中,针对每个像素组,该像素组对应的调整值可以包括该像素组对应的多个通道的调整值,多个通道可以包括如下通道中的至少一种:Y通道、U通道、V通道、R通道、G通道、B通道、alpha通道、IR通道、D通道、W通道。比如说,多个通道包括Y通道、U通道、V通道,或者,多个通道包括R通道、G通道、B通道,或者,多个通道包括、R通道、G通道、B通道、alpha通道,或者,多个通道可以包括R通道、G通道、B通道、IR通道,或者,多个通道可以包括R通道、G通道、B通道、W通道,或者,多个通道可以包括R通道、G通道、B通道、IR通道、W通道,或者,多个通道可以包括R通道、G通道、B通道、D通道,或者,多个通道可以包括R通道、G通道、B通道、D通道、W通道。
其中,将当前图像区域的所有像素点划分至多个像素组,包括但不限于如下方式:按照各像素点的重建值将当前图像区域的所有像素点划分至多个像素组;或者,基于像素点的周围像素点的重建值确定该像素点的分类值,按照各像素点的分类值将当前图像区域的所有像素点划分至多个像素组;或者,按照各像素点的像素位置将当前图像区域的所有像素点划分至多个像素组。当然,上述方式只是几个示例,对此划分方式不做限制。
在一种可能的实施方式中,若K个像素组是多个像素组中的部分像素组,则解码端还可以从当前图像区域对应的码流中获取K个像素组对应的索引信息;基于该索引信息从所有像素组中选取K个像素组,并将多个调整值与K个像素组进行关联,这样,就可以基于多个调整值对K个像素组内的像素点的重建值进行调整,即只对K个像素组的重建值进行调整。
其中,若K个像素组是多个像素组中的部分像素组,则该索引信息用于区分所有类别的像素组中的目标类别的像素组,也就是说,从所有像素组中区分出K个像素组。
实施例12:针对实施例10和实施例11,可以确定是否需要对当前图像区域进行重建值调整。比如说,针对编码端来说,编码端在编码N个编码块(N≥1)的码流后,可以将N个编码块记为当前图像区域,则可以确定是否需要对当前图像区域进行重建值调整。针对解码端来说,解码端在解析N个解码块(N≥1)的码流后,可以将N个解码块(与编码端的N个编码块对应)记为当前图像区域,则可以确定是否需要对当前图像区域进行重建值调整。
示例性的,还可以确定是否需要对当前图像区域进行预测值调整,也就是说,可以基于当前图像区域对应的调整参数对当前图像区域的预测值进行调整,预测值调整过程与重建值调整过程类似,本实施例中不再赘述。示例性的,还可以确定是否需要对当前图像区域进行残差值调整,也就是说,可以基于当前图像区域对应的调整参数对当前图像区域的残差值进行调整,残差值调整过程与重建值调整过程类似,本实施例中不再赘述。
示例性的,为了确定是否需要对当前图像区域进行重建值调整,可以采用如下方式:
方式1、显式语法,例如,编码端在码流中编码调整控制开关对应的标记位,解码端从码流中解析调整控制开关对应的标记位,基于该标记位确定是否需要对当前图像区域进行重建值调整。
编码端可以确定是否需要对当前图像区域进行重建值调整,对此确定方式不做限制。比如说,编码端计算启动当前图像区域的重建值调整的代价值,记为第一代价值,并计算关闭当前图像区域的重建值调整的代价值,记为第二代价值;若第一代价值小于第二代价值,则编码端确定需要对当前图像区域进行重建值调整;否则,编码端确定不需要对当前图像区域进行重建值调整。
编码端在确定是否需要对当前图像区域进行重建值调整之后,可以在当前图像区域对应的码流中编码调整控制开关对应的标记位。比如说,若确定需要对当前图像区域进行重建值调整,则该标记位可以为第一取值,通过第一取值表示需要对当前图像区域进行重建值调整。若确定不需要对当前图像区域进行重建值调整,则该标记位可以为第二取值,通过第二取值表示不需要对当前图像区域进行重建值调整。第一取值和第二取值均可以根据经验配置,如第一取值为0,第二取值为1,或者,第一取值为1,第二取值为0,对此不做限制。
解码端可以从当前图像区域对应的码流中获取调整控制开关对应的标记位,若该标记位为第一取值,则解码端确定需要对当前图像区域进行重建值调整,若该标记位为第二取值,则解码端确定不需要对当前图像区域进行重建值调整。
综上所述,编码端和解码端均可以确定是否需要对当前图像区域进行重建值调整,且这个结论可以应用到当前图像区域。若需要对当前图像区域进行重建值调整,对于编码端,需要对N个编码块的重建值进行调整,对于解码端,需要对N个解码块的重建值进行调整。若不需要对当前图像区域进行重建值调整,对于编码端,不需要对N个编码块的重建值进行调整,对于解码端,不需要对N个解码块的重建值进行调整。
方式2、隐式导出,例如,编码端根据当前图像区域对应的特征信息隐式导出是否需要对当前图像区域进行重建值调整,解码端根据当前图像区域对应的特征信息隐式导出是否需要对当前图像区域进行重建值调整。比如说,若当前图像区域对应的特征信息满足特定条件,则确定需要对当前图像区域进行重建值调整,否则,确定不需要对当前图像区域进行重建值调整。
示例性的,当前图像区域对应的特征信息可以包括但不限于码控的上下溢指示信息、量化参数、已重建像素特征、块位置中的至少一种,码控的上下溢指示信息可以包括但不限于当前码率,量化参数可以包括但不限于量化步长。其中,当前码率用于表示当前图像区域所在码控单元之前的所有码控单元的平均码率,块位置是当前图像区域内的图像块的块位置,如当前图像区域内的任一图像块的块位置,块位置用于表示该图像块在当前帧中的位置。当然,当前码率、量化参数、已重建像素特征和块位置只是特征信息的几个示例,本实施例中对此特征信息不做限制。当前图像区域对应的特征信息是否满足特定条件可以包括但不限于:
情况1、当前图像区域对应的特征信息包括当前图像区域对应的当前码率,当前码率也就是码控信息,即码控的上下溢指示信息,若当前码率小于第一码率值,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。第一码率值可以是根据经验配置的码率值,对此不做限制,在当前码率小于第一码率值时,表示码控信息指示资源池充足。
在一种可能的实施方式中,可以预先配置一个目标上限码率,在当前码率接近于目标上限码率时,表示码控信息指示资源池正常,在当前码率大于目标上限码率与预设阈值之和时,表示码控信息指示资源池不足,在当前码率小于目标上限码率与预设阈值之差时,表示码控信息指示资源池充足,在此基础上,可以将目标上限码率与预设阈值之差作为第一码率值。
情况2、当前图像区域对应的特征信息包括当前图像区域对应的块位置,若该块位置位于指定位置,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
比如说,指定位置可以是当前码控单元(即当前图像区域所在的码控单元)的最后L个图像块(L可以为大于或等于1的正整数),或者最下一行图像块等,在此基础上,若该块位置属于当前码控单元的最后L个图像块或最下一行图像块,则确定该块位置位于指定位置,否则,确定该块位置不位于指定位置。
又例如,指定位置可以是当前帧内部Slice边界位置,若该块位置属于当前帧内部Slice边界位置,则确定该块位置位于指定位置,否则,确定该块位置不位于指定位置。
又例如,指定位置可以是当前码控单元的最后L个图像块和当前帧内部Slice边界位置,若该块位置属于当前码控单元的最后L个图像块,或,该块位置属于当前帧内部Slice边界位置,则确定该块位置位于指定位置。若该块位置不属于当前码控单元的最后L个图像块,且该块位置不属于当前帧内部Slice边界位置,则确定该块位置不位于指定位置。
当然,上述只是指定位置的几个示例,本实施例中对此指定位置不做限制。
情况3、当前图像区域对应的特征信息包括当前图像区域对应的量化步长,若该量化步长大于步长阈值,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
情况4、当前图像区域对应的特征信息包括当前图像区域对应的当前码率和当前图像区域对应的块位置,在此基础上,若当前码率小于第一码率值、且该块位置位于指定位置,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
情况5、当前图像区域对应的特征信息包括当前图像区域对应的当前码率和当前图像区域对应的块位置,在此基础上,若当前码率小于第一码率值,或者,该块位置位于指定位置,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
情况6、当前图像区域对应的特征信息包括当前图像区域对应的当前码率和当前图像区域对应的量化步长,在此基础上,若当前码率小于第一码率值、且该量化步长大于步长阈值,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
情况7、当前图像区域对应的特征信息包括当前图像区域对应的当前码率和当前图像区域对应的量化步长,在此基础上,若当前码率小于第一码率值,或者,该量化步长大于步长阈值,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
情况8、当前图像区域对应的特征信息包括当前图像区域对应的块位置和当前图像区域对应的量化步长,在此基础上,若该块位置位于指定位置、且该量化步长大于步长阈值,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
情况9、当前图像区域对应的特征信息包括当前图像区域对应的块位置和当前图像区域对应的量化步长,在此基础上,若该块位置位于指定位置,或者,该量化步长大于步长阈值,则确定该特征信息满足特定条件,否则,确定该特征信息不满足特定条件。
情况10、当前图像区域对应的特征信息包括当前图像区域对应的当前码率、当前图像区域对应的块位置和当前图像区域对应的量化步长,在此基础上,若该当前码率小于第一码率值、且该块位置位于指定位置、且该量化步长大于步长阈值,则可以确定该特征信息满足特定条件,否则,可以确定该特征信息不满足特定条件。
情况11、当前图像区域对应的特征信息包括当前图像区域对应的当前码率、当前图像区域对应的块位置和当前图像区域对应的量化步长,在此基础上,若该当前码率小于第一码率值,或者,该块位置位于指定位置,或者,该量化步长大于步长阈值,则可以确定该特征信息满足特定条件,否则,可以确定该特征信息不满足特定条件。
情况12、当前图像区域对应的特征信息包括当前图像区域对应的已重建像素特征,在此基础上,若该已重建像素特征表示当前图像区域的复杂程度为复杂,则可以确定特征信息满足特定条件,否则,可以确定该特征信息不满足特定条件。
示例性的,已重建像素特征可以是,从重建像素中计算得到的当前图像区域的复杂程度(例如梯度),如可以采用索贝尔(Sobel)算子对当前像素区域的复杂度进行评估,得到当前图像区域的复杂程度,也可以将当前图像区域的重建像素值进行变换,根据频域的特征得到当前图像区域的复杂程度,也可以计算当前图像区域的水平垂直梯度,基于水平垂直梯度得到当前图像区域的复杂程度。当然,上述只是几个示例,只要能够得到已重建像素特征即可,且已重建像素特征可以表示当前图像区域的复杂程度。
已重建像素特征的原理和块位置的原理类似,对于复杂区域往往能承受更多的损失而不被察觉,但对于简单区域,比如平坦区域,此时很小的损失就会被人眼察觉到。
基于上述原理,在已重建像素特征表示当前图像区域的复杂程度为复杂时,则表示可以对当前图像区域的重建值进行调整,以减少图像损失,因此,可以确定特征信息满足特定条件。示例性的,已重建像素特征可以是复杂程度值,当该复杂程度值大于预设阈值时,则已重建像素特征表示当前图像区域的复杂程度为复杂。
情况13、当前图像区域对应的特征信息包括当前图像区域对应的已重建像素特征,在此基础上,当前图像区域对应的特征信息还包括当前码率、块位置和量化步长中的至少一个,为了方便描述,以同时包括当前码率、块位置和量化步长为例,其它情况下的实现方式类似,基于此,若该当前码率小于第一码率值,且该块位置位于指定位置,且该量化步长大于步长阈值,且该已重建像素特征表示当前图像区域的复杂程度为复杂,则可以确定该特征信息满足特定条件,否则,可以确定该特征信息不满足特定条件。
情况14、当前图像区域对应的特征信息包括当前图像区域对应的已重建像素特征,在此基础上,当前图像区域对应的特征信息还包括当前码率、块位置和量化步长中的至少一个,为了方便描述,以同时包括当前码率、块位置和量化步长为例,其它情况下的实现方式类似,基于此,若该当前码率小于第一码率值,或者,该块位置位于指定位置,或者,该量化步长大于步长阈值,或者,该已重建像素特征表示当前图像区域的复杂程度为复杂,则可以确定该特征信息满足特定条件,否则,可以确定该特征信息不满足特定条件。
方式3、组合实现,即显式语法+隐式导出的实现方式。例如,编码端在获取到当前图像区域对应的调整控制开关的标记位之后,若该调整控制开关的标记位与目标图像区域(如当前图像区域的前一个图像区域,或指定的某个图像区域,或默认的图像区域等)对应的调整控制开关的标记位相同,则不在码流中编码调整控制开关对应的标记位。解码端获知码流中未携带调整控制开关对应的标记位时,就可以将目标图像区域对应的调整控制开关的标记位作为当前图像区域对应的调整控制开关的标记位,继而确定是否对当前图像区域进行重建值调整。编码端在获取到当前图像区域对应的调整控制开关的标记位之后,若该调整控制开关的标记位与目标图像区域对应的调整控制开关的标记位不同,则在码流中编码调整控制开关对应的标记位。解码端从码流中解析调整控制开关对应的标记位,基于该标记位确定是否对当前图像区域进行重建值调整。
当然,上述方式1-方式3只是几个示例,本实施例对此不做限制。
实施例13:针对实施例10-实施例12,在确定是否对当前图像区域进行重建值调整之后,若确定对当前图像区域进行重建值调整,则可以获取当前图像区域对应的调整参数,该调整参数用于对当前图像区域的重建值进行调整,即用于调整当前图像区域内的N个图像块的重建值(或预测值,或残差值等)。比如说,针对编码端来说,当前图像区域包括N个编码块,该调整参数用于对N个编码块的重建值进行调整,针对解码端来说,当前图像区域包括N个解码块,该调整参数用于对N个解码块的重建值进行调整。
针对编码端来说,可以基于当前图像区域的原始值和当前图像区域的重建值确定当前图像区域对应的调整参数,该调整参数用于对当前图像区域的重建值进行调整,以使调整后的重建值接近当前图像区域的原始值,本实施例对此调整参数的获取过程不做限制。
示例性的,当前图像区域对应的调整参数可以包括多个调整值,可以将当前图像区域的所有像素点划分至多个像素组,在此基础上,多个调整值可以包括K个像素组对应的调整值,K个像素组可以是多个像素组中的全部像素组或者部分像素组。比如说,可以将当前图像区域的所有像素点划分至32个像素组,可以从32个像素组中选取K个像素组,如4个像素组、8个像素组、12个像素组、16个像素组、32个像素组等,对此K的取值不做限制。基于此,编码端可以获取这K个像素组对应的调整参数,即调整参数可以包括K个像素组对应的调整值,每个像素组对应的调整值用于对该像素组内每个像素点的重建值进行调整。比如说,假设K个像素组为像素组1和像素组2,则编码端可以获取像素组1对应的调整值和像素组2对应的调整值,像素组1对应的调整值用于对像素组1内每个像素点的重建值进行调整,像素组2对应的调整值用于对像素组2内每个像素点的重建值进行调整。
针对每个像素组来说,该像素组对应的调整值可以包括该像素组对应的多个通道的调整值,比如说,多个通道可以包括Y通道、U通道、V通道,或者,多个通道可以包括R通道、G通道、B通道,或者,多个通道可以包括、R通道、G通道、B通道、alpha通道,或者,多个通道可以包括R通道、G通道、B通道、IR通道,或者,多个通道可以包括R通道、G通道、B通道、W通道,或者,多个通道可以包括R通道、G通道、B通道、IR通道、W通道,或者,多个通道可以包括R通道、G通道、B通道、D通道,或者,多个通道可以包括R通道、G通道、B通道、D通道、W通道。
在实际应用中,通道还可以使用同一个调整值,比如说,U通道和V通道可以使用同一个调整值,或者,R通道和G通道可以使用同一个调整值,对此不做限制。
比如说,像素组1对应的调整值包括Y通道调整值1、U通道调整值1和V通道调整值1,Y通道调整值1用于对像素组1内每个像素点的Y通道重建值进行调整、U通道调整值1用于对像素组1内每个像素点的U通道重建值进行调整、V通道调整值1用于对像素组1内每个像素点的V通道重建值进行调整。像素组2对应的调整值包括Y通道调整值2、U通道调整值2和V通道调整值2,Y通道调整值2用于对像素组2内每个像素点的Y通道重建值进行调整、U通道调整值2用于对像素组2内每个像素点的U通道重建值进行调整、V通道调整值2用于对像素组2内每个像素点的V通道重建值进行调整。
示例性的,编码端在得到当前图像区域对应的调整参数之后,还可以在当前图像区域对应的码流中编码当前图像区域对应的调整参数。比如说,该调整参数可以包括K个像素组对应的调整值,因此,可以在当前图像区域对应的码流中编码K个像素组对应的调整值。
针对解码端来说,可以从当前图像区域对应的码流中获取当前图像区域对应的调整参数,该调整参数用于对当前图像区域的重建值进行调整,以使调整后的重建值接近当前图像区域的原始值。在得到调整参数之后,就可以基于该调整参数对当前图像区域的重建值进行调整。
示例性的,当前图像区域对应的调整参数可以包括多个调整值,可以将当前图像区域的所有像素点划分至多个像素组,在此基础上,多个调整值可以包括K个像素组对应的调整值,K个像素组可以是多个像素组中的全部像素组或者部分像素组。解码端可以从码流中获取K个像素组对应的调整参数,即调整参数可以包括K个像素组对应的调整值。解码端可以基于像素组对应的调整值,对该像素组内每个像素点的重建值进行调整。比如说,假设K个像素组为像素组1和像素组2,则解码端可以获取像素组1对应的调整值和像素组2对应的调整值,解码端基于像素组1对应的调整值对像素组1内每个像素点的重建值进行调整,以及,解码端基于像素组2对应的调整值对像素组2内每个像素点的重建值进行调整。
针对每个像素组来说,该像素组对应的调整值可以包括该像素组对应的多个通道的调整值,比如说,多个通道可以包括Y通道、U通道、V通道,或者,多个通道可以包括R通道、G通道、B通道,或者,多个通道可以包括、R通道、G通道、B通道、alpha通道,或者,多个通道可以包括R通道、G通道、B通道、IR通道,或者,多个通道可以包括R通道、G通道、B通道、W通道,或者,多个通道可以包括R通道、G通道、B通道、IR通道、W通道,或者,多个通道可以包括R通道、G通道、B通道、D通道,或者,多个通道可以包括R通道、G通道、B通道、D通道、W通道。
示例性的,针对K个像素组中的每个像素组,若从码流中获取的多个调整值包括该像素组对应的调整值,则解码端基于该像素组对应的调整值对该像素组内每个像素点的重建值进行调整,得到该像素组内每个像素点的调整后的重建值。比如说,若从码流中获取的多个调整值包括像素组1对应的Y通道调整值1、U通道调整值1和V通道调整值1,则可以基于Y通道调整值1对像素组1内每个像素点的Y通道重建值进行调整,基于U通道调整值1对像素组1内每个像素点的U通道重建值进行调整,基于V通道调整值1对像素组1内每个像素点的V通道重建值进行调整。又例如,若从码流中获取的多个调整值只包括像素组1对应的Y通道调整值1,而未包括像素组1对应的U通道调整值和V通道调整值,则解码端可以基于Y通道调整值1对像素组1内每个像素点的Y通道重建值进行调整。
在一种可能的实施方式中,若K个像素组是所有像素组(如32个像素组)中的全部像素组,则编码端可以不在当前图像区域对应的码流中编码K个像素组对应的索引信息,解码端也不需要从当前图像区域对应的码流中解析K个像素组对应的索引信息,在此基础上,解码端获知码流中携带的调整参数是所有像素组(如32个像素组)的调整值。
在一种可能的实施方式中,若K个像素组是所有像素组中的部分像素组,则编码端可以在当前图像区域对应的码流中编码K个像素组对应的索引信息,表示码流中携带的是该索引信息对应的像素组的调整值。解码端可以从当前图像区域对应的码流中解析K个像素组对应的索引信息,获知码流中携带的调整参数是该索引信息对应的K个像素组对应的调整值。
比如说,该索引信息可以包括K个像素组的索引值,该索引值表示像素组是所有像素组中的第几个像素组,以K个像素组是像素组1、像素组2、像素组3和像素组4为例,则索引信息可以包括像素组1的索引值(该索引值用于表示像素组1是所有像素组中的第几个像素组)、像素组2的索引值、像素组3的索引值和像素组4的索引值。显然,若K个像素组是多个像素组中的部分像素组,则该索引信息用于区分所有类别的像素组中的目标类别的像素组,也就是说,从所有像素组中区分出K个像素组,即索引信息能够实现分类功能。
又例如,假设K个像素组是连续像素组,该索引信息可以包括K个像素组中部分像素组的索引值,剩余像素组的索引值可以隐式推导出。以K个像素组是像素组1、像素组2、像素组3和像素组4为例,则索引信息可以只包括像素组1的索引值,由于K个像素组是连续像素组,因此,可以隐式推导出像素组2的索引值、像素组3的索引值和像素组4的索引值。
综上所述,可以采用显示方式指示K个像素组的索引值,或者,也可以采用显示方式指示K个像素组中部分像素组的索引值,并通过隐式方式推导出剩余像素组的索引值,本实施例中对此不做限制,只要解码端能够获知K个像素组的索引值即可。
在一种可能的实施方式中,若K个像素组是所有像素组中的部分像素组,且K个像素组是处于默认位置的K个像素组,如K个像素组固定为前面4个像素组,或K个像素组固定为第1、3、5、7个像素组,或K个像素组固定为后面4个像素组,那么,编码端可以不在当前图像区域对应的码流中编码K个像素组对应的索引信息,解码端也不需要从当前图像区域对应的码流中解析K个像素组对应的索引信息,在此基础上,解码端获知码流中携带的调整参数是默认位置的K个像素组的调整值,例如,调整参数是前面4个像素组的调整值,或调整参数是第1、3、5、7个像素组的调整值,或调整参数是后面4个像素组的调整值。
实施例14:针对编码端和解码端来说,可以将当前图像区域的所有像素点划分至多个像素组,即对所有像素点进行分类,本实施例中,可以采用如下方式将当前图像区域的所有像素点划分至多个像素组:
方式1:按照各像素点的重建值将当前图像区域的所有像素点划分至多个像素组,即可以根据各像素点的重建值进行分类,得到多个像素组。比如说,可以将重建值的值域平均分为A个像素组,根据重建值所在范围确定像素组,如将8bit的重建值(值域0~255)分为16个像素组,16个像素组的范围分别为0~15,16~31,32~47,48~63,...,240~255。若像素点的重建值处于范围0~15,则将该像素点划分至第1个像素组,若像素点的重建值处于范围16~31,则将该像素点划分至第2个像素组,若像素点的重建值处于范围32~47,则将该像素点划分至第3个像素组,若像素点的重建值处于范围48~63,则将该像素点划分至第4个像素组,以此类推,若像素点的重建值处于范围240~255,则将该像素点划分至第16个像素组。
示例性的,在按照各像素点的重建值将当前图像区域的所有像素点划分至多个像素组时,还可以逐通道进行划分。比如说,以Y通道、U通道、V通道为例,若像素点的Y通道重建值处于范围0~15,则将该像素点的Y通道重建值划分至第1个像素组,基于此,可以基于第1个像素组对应的Y通道调整值对该像素点的Y通道重建值进行调整。若像素点的U通道重建值处于范围16~31,则将该像素点的U通道重建值划分至第2个像素组,基于此,可以基于第2个像素组对应的U通道调整值对该像素点的U通道重建值进行调整。若像素点的V通道重建值处于范围16~31,则将该像素点的V通道重建值划分至第2个像素组,基于此,可以基于第2个像素组对应的V通道调整值对该像素点的V通道重建值进行调整。
方式2:基于像素点的周围像素点的重建值确定该像素点的分类值,按照各像素点的分类值将当前图像区域的所有像素点划分至多个像素组,即可以根据各像素点的梯度值进行分类,得到多个像素组。比如说,可以根据像素点的周围像素点的重建值对该像素点进行分类,如利用梯度信息,将像素点的上测相邻像素点的重建值与像素点的左侧相邻像素点的重建值相减,得到该像素点的梯度值,可以将梯度值结果位于某一范围的像素点定义为同一类,如绝对值在10以下的为第一类,绝对值在10~30的为第二类,绝对值大于30的为第三类。在此基础上,针对某个像素点来说,若该像素点的梯度值的绝对值处于10以下,则将该像素点划分至第1个像素组,若像素点的梯度值的绝对值处于10~30,则将该像素点划分至第2个像素组,若像素点的梯度值的绝对值处于30以上,则将该像素点划分至第3个像素组。
方式3:按照各像素点的像素位置将当前图像区域的所有像素点划分至多个像素组,即可以根据各像素点的像素位置进行分类,得到多个像素组。比如说,可以根据像素位置进行分类,如将16*2的当前图像区域等分为四个4*2的子区域,每个4*2的子区域划分为一类。在此基础上,针对某个像素点来说,若该像素点处于第一个4*2的子区域,则可以将该像素点划分至第1个像素组,若该像素点处于第二个4*2的子区域,则可以将该像素点划分至第2个像素组,若该像素点处于第三个4*2的子区域,则可以将该像素点划分至第3个像素组,若该像素点处于第四个4*2的子区域,则可以将该像素点划分至第4个像素组。
方式4:可以将每个像素点划分至一个像素组,即每个像素点就是一个像素组,不同像素点对应不同像素组,可以理解为,像素组就包括一个像素点。
当然,上述方式只是划分方式的几个示例,对此划分方式不做限制。
实施例15:针对编码端来说,当前图像区域对应的调整参数包括K个像素组对应的调整值,即调整参数包括多个调整值,在当前图像区域对应的码流中编码K个像素组对应的调整值时,可以在当前图像区域对应的码流中编码全部调整值或者部分调整值。比如说,假设K个像素组是4个像素组,每个像素组包括Y通道调整值、U通道调整值和V通道调整值,则当前图像区域对应的调整参数包括12个调整值,可以在当前图像区域对应的码流中编码12个调整值,也可以在当前图像区域对应的码流中编码12个调整值中的部分调整值。
针对解码端来说,在从当前图像区域对应的码流中获取调整参数时,若编码端编码K个像素组对应的全部调整值,则解码端可以从当前图像区域对应的码流中获取K个像素组对应的全部调整值,若编码端编码K个像素组对应的部分调整值,则解码端可以从当前图像区域对应的码流中获取K个像素组对应的部分调整值。比如说,若解码端得到像素组对应的Y通道调整值,但是未得到该像素组对应的U通道调整值和V通道调整值,则解码端只基于该Y通道调整值对该像素组内每个像素点的Y通道重建值进行调整,而不对该像素组内每个像素点的U通道重建值和V通道重建值进行调整。此外,若解码端未得到K个像素组中的某个像素组的调整值,则解码端不再对该像素组内每个像素点的重建值进行调整。
在一种可能的实施方式中,基于K个像素组对应的多个调整值,编码端在当前图像区域对应的码流中编码全部调整值或者部分调整值,可以包括但不限于如下步骤:
步骤S11、按照多个调整值的编码顺序对多个调整值进行排序。
以4个像素组(如像素组1-像素组4),每个像素组包括Y通道调整值、U通道调整值和V通道调整值为例,则当前图像区域对应12个调整值,可以确定12个调整值的编码顺序。
首先,可以确定各像素组的编码顺序,例如,在按照各像素点的重建值划分多个像素组时,按照各像素组的值域确定各像素组的编码顺序,如按照值域从小到大的顺序排序,或按照值域从大到小的顺序排序,以按照值域从小到大的顺序排序为例,假设像素组1对应的值域最小,像素组2对应的值域第二小,像素组3对应的值域第三小,像素组4对应的值域最大,那么,各像素组的编码顺序是像素组1、像素组2、像素组3和像素组4。
又例如,在按照各像素点的梯度值划分多个像素组时,按照各像素组的梯度值值域(即各像素组对应的梯度值结果,如上述绝对值在10以下等值域)确定各像素组的编码顺序,如按照梯度值值域从小到大的顺序排序,或按照梯度值值域从大到小的顺序排序,以按照梯度值值域从小到大的顺序排序为例,假设像素组1对应的梯度值值域最小,像素组2对应的梯度值值域第二小,像素组3对应的梯度值值域第三小,像素组4对应的梯度值值域最大,那么,各像素组的编码顺序是像素组1、像素组2、像素组3和像素组4。
又例如,在按照各像素点的像素位置划分多个像素组时,按照各像素组对应的块顺序确定各像素组的编码顺序,如按照块顺序从前到后的顺序排序,假设像素组1对应的子区域是当前图像区域的第一个块,像素组2对应的子区域是当前图像区域的第二个块,像素组3对应的子区域是当前图像区域的第三个块,像素组4对应的子区域是当前图像区域的第四个块,那么,各像素组的编码顺序是像素组1、像素组2、像素组3和像素组4。
当然,上述方式只是确定各像素组的编码顺序的几个示例,对此不做限制。
然后,确定各通道的编码顺序,如确定Y通道、U通道和V通道之间的编码顺序,如编码顺序依次是:Y通道、U通道、V通道;或者,Y通道、V通道、U通道;或者,U通道、Y通道、V通道;或者,U通道、V通道、Y通道。当然,上述方式只是确定各通道的编码顺序的几个示例,对此不做限制,可以任意规划各通道的编码顺序。
然后,基于各像素组的编码顺序和各通道的编码顺序,确定多个调整值的编码顺序。比如说,可以以像素组的编码顺序为主,以各通道的编码顺序为辅,确定多个调整值的编码顺序,以各像素组的编码顺序是像素组1、像素组2、像素组3和像素组4,各通道的编码顺序是Y通道、U通道、V通道为例,则12个调整值的编码顺序是:像素组1的Y通道调整值、U通道调整值和V通道调整值,像素组2的Y通道调整值、U通道调整值和V通道调整值,像素组3的Y通道调整值、U通道调整值和V通道调整值,像素组4的Y通道调整值、U通道调整值和V通道调整值。又例如,可以以各通道的编码顺序为主,以像素组的编码顺序为辅,确定多个调整值的编码顺序,则12个调整值的编码顺序是:像素组1的Y通道调整值、像素组2的Y通道调整值、像素组3的Y通道调整值、像素组4的Y通道调整值、像素组1的U通道调整值、像素组2的U通道调整值、像素组3的U通道调整值、像素组4的U通道调整值、像素组1的V通道调整值、像素组2的V通道调整值、像素组3的V通道调整值、像素组4的V通道调整值。当然,上述只是多个调整值的编码顺序的两个示例,本实施例对此多个调整值的编码顺序不做限制,可以任意配置多个调整值的编码顺序。
步骤S12、基于排序结果依次遍历多个调整值中的每个调整值。
比如说,第一次遍历时,遍历像素组1的Y通道调整值,第二次遍历时,遍历像素组1的U通道调整值,第三次遍历时,遍历像素组1的V通道调整值,第四次遍历时,遍历像素组2的Y通道调整值,第五次遍历时,遍历像素组2的U通道调整值,以此类推。
步骤S13、针对当前遍历的调整值,若在当前图像区域对应的码流中编码该调整值之后,当前码率小于第二码率值,则在当前图像区域对应的码流中编码该调整值,且继续遍历该调整值的下一个调整值,将下一个调整值作为当前遍历的调整值。
示例性的,第二码率值可以是根据经验配置的码率值,对此不做限制,在当前码率小于第二码率值时,表示码控信息指示资源池充足。在一种可能的实施方式中,可以预先配置一个目标上限码率,在当前码率接近于目标上限码率时,表示码控信息指示资源池正常,在当前码率大于目标上限码率与预设阈值之和时,表示码控信息指示资源池不足,在当前码率小于目标上限码率与预设阈值之差时,表示码控信息指示资源池充足,在此基础上,可以将目标上限码率与预设阈值之差作为第二码率值。第二码率值与上述第一码率值可以相同,也可以不同。
步骤S14、针对当前遍历的调整值,若在当前图像区域对应的码流中编码该调整值之后,当前码率不小于第二码率值,则可以禁止在当前图像区域对应的码流中编码该调整值,且停止遍历该调整值的下一个调整值,即结束多个调整值的遍历过程。
综上所述,本实施例中,编码端在当前图像区域对应的码流中编码K个像素组对应的多个调整值时,可以依次遍历多个调整值中的每个调整值。针对当前遍历的调整值,若在码流中编码该调整值之后,当前码率小于第二码率值,则在码流中编码该调整值,且继续遍历该调整值的下一个调整值,若当前码率不小于第二码率值,则不在码流中编码该调整值,且停止遍历该调整值的下一个调整值,以此类推,一直到已遍历K个像素组对应的全部调整值,或者当前码率不小于第二码率值时,且停止遍历调整值。至此,可以在当前图像区域对应的码流中编码K个像素组对应的全部调整值或者部分调整值,对此过程不做赘述。
实施例16:在传递调整参数的过程中,码控的状态也会同步更新,在编码调整参数过后,若码控仍然为下溢状态(小于0,如当前码率小于第二码率值时,表示码控仍然为下溢状态),则继续编码调整参数。情况一,以通道形式逐步传递调整参数,即Y通道,U通道,V通道,R通道,G通道,B通道,alpha通道(也可以部分通道共享,例如UV通道共享)等,若码控状态为下溢,则按照顺序编码(解码端为解析)调整参数,传递过后若码控仍然下溢,则继续编码(解码端为解析)下一个调整参数,以此类推,直至码控不上溢或者调整参数全部被传递。情况二,以像素组(至少一个像素)的形式逐步传递调整参数,即按照一定的扫描顺序与分组,逐个传递调整参数,例如,按照先Y通道再U通道再V通道,每个通道进行垂直方向的四分组(即4个像素组),然后逐个组传递调整参数,逐步更新码控状态。
示例性的,调整参数表达了,对N个编码块(即当前图像区域)中的某一类或多类重建值进行调整,某一类或多类重建值可以通过语法传递,也可通过导出的方式确定,例如:编解码端统一约定;根据已编码信息导出(如模式信息,重建值信息等)。
示例性的,上述各实施例可以单独实现,也可以组合实现,比如说,实施例1-实施例9中的每个实施例,可以单独实现,实施例1-实施例9中的至少两个实施例,可以组合实现。实施例10-实施例16中的每个实施例,可以单独实现,实施例10-实施例16中的至少两个实施例,可以组合实现。又例如,实施例1-实施例9中的至少一个实施例,还可以与实施例10-实施例16中的至少一个实施例组合实现。当然,上述只是组合方式的几个示例。
示例性的,上述各实施例中,编码端的内容也可以应用到解码端,即解码端可以采用相同方式处理,解码端的内容也可以应用到编码端,即编码端可以采用相同方式处理。
实施例17:基于与上述方法同样的申请构思,本申请实施例中还提出一种解码装置,所述解码装置应用于解码端,所述解码装置包括:存储器,其经配置以存储视频数据;解码器,其经配置以实现上述实施例1-实施例16中的解码方法,即解码端的处理流程。
比如说,在一种可能的实施方式中,解码器,其经配置以实现:
若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式;其中,N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N;
基于所述目标模式对所述当前块进行解码;
或者,
确定是否需要对当前图像区域进行重建值调整;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;
若确定需要对所述当前图像区域进行重建值调整,则从所述当前图像区域对应的码流中获取所述当前图像区域对应的调整参数;
基于所述调整参数对所述当前图像区域的重建值进行调整。
基于与上述方法同样的申请构思,本申请实施例中还提出一种编码装置,所述编码装置应用于编码端,所述编码装置包括:存储器,其经配置以存储视频数据;编码器,其经配置以实现上述实施例1-实施例16中的编码方法,即编码端的处理流程。
比如说,在一种可能的实施方式中,编码器,其经配置以实现:
若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式;其中,N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N;
基于所述目标模式对所述当前块进行编码;
或者,
确定是否需要对当前图像区域进行重建值调整;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;
若确定需要对所述当前图像区域进行重建值调整,则获取所述当前图像区域对应的调整参数,所述调整参数用于对所述当前图像区域的重建值进行调整;
在所述当前图像区域对应的码流中编码所述当前图像区域对应的调整参数。
基于与上述方法同样的申请构思,本申请实施例提供的解码端设备(也可以称为视频解码器),从硬件层面而言,其硬件架构示意图具体可以参见图7A所示。包括:处理器711和机器可读存储介质712,其中:所述机器可读存储介质712存储有能够被所述处理器711执行的机器可执行指令;所述处理器711用于执行机器可执行指令,以实现本申请上述实施例1-16公开的解码方法。
基于与上述方法同样的申请构思,本申请实施例提供的编码端设备(也可以称为视频编码器),从硬件层面而言,其硬件架构示意图具体可以参见图7B所示。包括:处理器721和机器可读存储介质722,其中:所述机器可读存储介质722存储有能够被所述处理器721执行的机器可执行指令;所述处理器721用于执行机器可执行指令,以实现本申请上述实施例1-16公开的编码方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法,如上述上述各实施例中的解码方法或者编码方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种计算机应用程序,所述计算机应用程序令被处理器执行时,能够实现本申请上述示例公开的解码方法或者编码方法。
基于与上述方法同样的申请构思,本申请实施例中还提出一种解码装置,所述解码装置应用于解码端,所述解码装置包括:选取模块,用于若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式;其中,N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N;解码模块,用于基于所述目标模式对所述当前块进行解码。
在一种可能的实施方式中,所述N个候选模式为N个帧内候选模式,所述M个候选模式为M个帧内候选模式。
在一种可能的实施方式中,所述N个候选模式包括以下模式中的至少两种:基于残差跳过的DC模式、基于非残差跳过的DC模式、基于残差跳过的bilinear模式、基于非残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于非残差跳过的角度预测模式、基于残差跳过的IBC模式、基于非残差跳过的IBC模式、基于残差跳过的ISC模式、基于非残差跳过的ISC模式、基于残差跳过的Planar模式、基于非残差跳过的Planar模式、基于残差跳过的逐点预测模式、基于非残差跳过的逐点预测模式;或者,
所述N个候选模式包括以下模式中的至少两种:DC模式、bilinear模式、角度预测模式、IBC模式、ISC模式、Planar模式、逐点预测模式。
在一种可能的实施方式中,所述M个候选模式包括以下模式中的至少一种:基于残差跳过的DC模式、基于残差跳过的bilinear模式、基于残差跳过的角度预测模式、基于残差跳过的IBC模式、基于残差跳过的ISC模式、基于残差跳过的Planar模式、基于残差跳过的逐点预测模式。
在一种可能的实施方式中,所述当前块对应的特征信息包括当前码率和/或块位置;
所述当前块对应的特征信息满足特定条件,包括:
若所述当前块对应的当前码率大于预设码率值,则确定所述特征信息满足特定条件;或者,若所述当前块对应的块位置位于非指定位置,则确定所述特征信息满足特定条件;或者,若所述当前块对应的当前码率大于预设码率值、所述当前块对应的块位置位于非指定位置,则确定所述特征信息满足特定条件。
在一种可能的实施方式中,所述选取模块从第二模式集合的N个候选模式中选取目标模式时具体用于:从所述当前块对应的码流中解码所述目标模式对应的模式标志信息;其中,在所述当前块对应的特征信息不满足特定条件时,所述模式标志信息是所述目标模式在所述第二模式集合中对应的索引信息;基于所述模式标志信息从第二模式集合的N个候选模式中选取目标模式。
在一种可能的实施方式中,所述选取模块从第一模式集合的M个候选模式中选取目标模式时具体用于:从所述当前块对应的码流中解码所述目标模式对应的模式标志信息;其中,在所述当前块对应的特征信息满足特定条件时,则所述模式标志信息是所述目标模式在所述第一模式集合中对应的索引信息;基于所述模式标志信息从第一模式集合的M个候选模式中选取目标模式。
在一种可能的实施方式中,所述解码模块还用于:若当前块对应的特征信息满足特定条件,则从当前块对应的码流中解码目标模式对应的模式标志信息;若所述模式标志信息是所述目标模式在第二模式集合中对应的索引信息,则基于所述模式标志信息从第二模式集合的N个候选模式中选取目标模式;若所述模式标志信息是所述目标模式在第一模式集合中对应的索引信息,则基于所述模式标志信息从第一模式集合的M个候选模式中选取目标模式。
基于与上述方法同样的申请构思,本申请实施例中还提出一种编码装置,所述编码装置应用于编码端,所述编码装置包括:选取模块,用于若当前块对应的特征信息满足特定条件,则从第一模式集合的M个候选模式中选取目标模式;否则,从第二模式集合的N个候选模式中选取目标模式;其中,N为大于或等于2的正整数,M为大于或等于1的正整数,且M小于N;编码模块,用于基于所述目标模式对所述当前块进行编码。
在一种可能的实施方式中,所述编码模块,还用于在所述当前块对应的码流中编码所述目标模式对应的模式标志信息;其中,在从第二模式集合的N个候选模式中选取目标模式时,所述模式标志信息是所述目标模式在所述第二模式集合中对应的索引信息。
在一种可能的实施方式中,在从第一模式集合的M个候选模式中选取目标模式时,所述模式标志信息是所述目标模式在所述第一模式集合中对应的索引信息。
在一种可能的实施方式中,在从第一模式集合的M个候选模式中选取目标模式时,所述模式标志信息是所述目标模式在所述第二模式集合中对应的索引信息;或者,所述模式标志信息是所述目标模式在所述第一模式集合中对应的索引信息。
基于与上述方法同样的申请构思,本申请实施例中还提出一种解码装置,所述解码装置应用于解码端,所述解码装置包括:确定模块,用于确定是否需要对当前图像区域进行重建值调整;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;获取模块,用于若确定需要对所述当前图像区域进行重建值调整,则从所述当前图像区域对应的码流中获取所述当前图像区域对应的调整参数;处理模块,用于基于所述调整参数对所述当前图像区域的重建值进行调整。
在一种可能的实施方式中,所述确定模块确定是否需要对当前图像区域进行重建值调整时具体用于:从所述当前图像区域对应的码流中获取调整控制开关对应的标记位;若所述标记位为第一取值,则确定需要对所述当前图像区域进行重建值调整;若所述标记位为第二取值,则确定不需要对所述当前图像区域进行重建值调整。
在一种可能的实施方式中,所述确定模块确定是否需要对当前图像区域进行重建值调整时具体用于:若所述当前图像区域对应的特征信息满足特定条件,则确定需要对所述当前图像区域进行重建值调整;否则,确定不需要对所述当前图像区域进行重建值调整。
在一种可能的实施方式中,所述当前图像区域对应的特征信息包括当前码率、所述当前图像区域内的图像块的块位置、已重建像素特征和量化步长中的至少一种;所述当前图像区域对应的特征信息满足特定条件,包括:若所述当前码率小于第一码率值,则确定所述特征信息满足特定条件;或者,若所述块位置位于指定位置,则确定所述特征信息满足特定条件;或者,若所述量化步长大于步长阈值,则确定所述特征信息满足特定条件;或者,若所述已重建像素特征表示所述当前图像区域的复杂程度为复杂,则确定所述特征信息满足特定条件;或者,若所述块位置位于指定位置、且所述量化步长大于步长阈值,则确定所述特征信息满足特定条件。
在一种可能的实施方式中,所述当前图像区域对应的调整参数包括多个调整值,将所述当前图像区域的所有像素点划分至多个像素组,所述多个调整值包括K个像素组对应的调整值,所述K个像素组是所述多个像素组中的全部像素组或者部分像素组;所述处理模块基于所述调整参数对所述当前图像区域的重建值进行调整时具体用于:基于所述多个调整值对所述K个像素组内的像素点的重建值进行调整。
在一种可能的实施方式中,所述处理模块基于所述多个调整值对所述K个像素组内的像素点的重建值进行调整时具体用于:针对所述K个像素组中的每个像素组,若所述多个调整值包括该像素组对应的调整值,则基于该像素组对应的调整值对该像素组内每个像素点的重建值进行调整,得到该像素组内每个像素点的调整后的重建值。
在一种可能的实施方式中,像素组对应的调整值包括该像素组对应的多个通道的调整值。
在一种可能的实施方式中,所述多个通道包括如下通道的至少一种:Y通道、U通道、V通道、R通道、G通道、B通道、alpha通道、IR通道、D通道、W通道。
在一种可能的实施方式中,所述处理模块,还用于将所述当前图像区域的所有像素点划分至多个像素组,具体用于:按照各像素点的重建值将所述当前图像区域的所有像素点划分至多个像素组;或者,基于像素点的周围像素点的重建值确定该像素点的分类值,按照各像素点的分类值将所述当前图像区域的所有像素点划分至多个像素组;或者,按照各像素点的像素位置将所述当前图像区域的所有像素点划分至多个像素组。
在一种可能的实施方式中,若所述K个像素组是所述多个像素组中的部分像素组,所述获取模块,还用于从所述当前图像区域对应的码流中获取所述K个像素组对应的索引信息;基于所述索引信息从所有像素组中选取所述K个像素组;其中,所述索引信息用于区分所有类别的像素组中的目标类别的像素组。
基于与上述方法同样的申请构思,本申请实施例中还提出一种编码装置,所述编码装置应用于编码端,所述编码装置包括:确定模块,用于确定是否需要对当前图像区域进行重建值调整;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;获取模块,用于若确定需要对所述当前图像区域进行重建值调整,则获取所述当前图像区域对应的调整参数,所述调整参数用于对所述当前图像区域的重建值进行调整;编码模块,用于在所述当前图像区域对应的码流中编码所述当前图像区域对应的调整参数。
在一种可能的实施方式中,所述编码模块,还用于在所述当前图像区域对应的码流中编码调整控制开关对应的标记位;其中,若需要对所述当前图像区域进行重建值调整,所述标记位为第一取值;若不需要对所述当前图像区域进行重建值调整,所述标记位为第二取值。
在一种可能的实施方式中,所述确定模块确定是否需要对当前图像区域进行重建值调整时具体用于:若所述当前图像区域对应的特征信息满足特定条件,则确定需要对所述当前图像区域进行重建值调整;否则,确定不需要对所述当前图像区域进行重建值调整。
在一种可能的实施方式中,所述编码模块在所述当前图像区域对应的码流中编码所述当前图像区域对应的调整参数时具体用于用于若所述当前图像区域对应的调整参数包括多个调整值,则在所述当前图像区域对应的码流中编码全部调整值或者部分调整值。
在一种可能的实施方式中,所述编码模块在所述当前图像区域对应的码流中编码全部调整值或者部分调整值时具体用于:按照所述多个调整值的编码顺序对所述多个调整值进行排序;基于排序结果依次遍历所述多个调整值中的每个调整值;针对当前遍历的调整值,若在所述当前图像区域对应的码流中编码该调整值之后,当前码率小于第二码率值,在所述当前图像区域对应的码流中编码该调整值,且继续遍历该调整值的下一个调整值;否则,禁止在所述当前图像区域对应的码流中编码该调整值,且停止遍历该调整值的下一个调整值。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种解码方法,其特征在于,应用于解码端,所述方法包括:
从当前图像区域对应的码流中获取调整控制开关对应的标记位;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;
若所述调整控制开关对应的标记位为第一取值,则从所述当前图像区域对应的码流中获取所述当前图像区域对应的调整参数;
基于所述调整参数对所述当前图像区域的重建值进行调整。
2.根据权利要求1所述的方法,其特征在于,
所述当前图像区域对应的调整参数包括多个调整值,按照各像素点的像素位置将所述当前图像区域的所有像素点划分至多个像素组,所述多个调整值包括K个像素组对应的调整值,所述K个像素组是所述多个像素组中的全部像素组或者部分像素组;
所述基于所述调整参数对所述当前图像区域的重建值进行调整,包括:
基于所述多个调整值对所述K个像素组内的像素点的重建值进行调整。
3.根据权利要求2所述的方法,其特征在于,
所述基于所述多个调整值对所述K个像素组内的像素点的重建值进行调整,包括:
基于多个Y通道调整值对所述K个像素组内的像素点的Y通道重建值进行调整;和/或,
基于多个U通道调整值对所述K个像素组内的像素点的U通道重建值进行调整;和/或,
基于多个V通道调整值对所述K个像素组内的像素点的V通道重建值进行调整。
4.根据权利要求2所述的方法,其特征在于,所述按照各像素点的像素位置将所述当前图像区域的所有像素点划分至多个像素组,包括:
若所述当前图像区域的尺寸为16*2,则将16*2的当前图像区域等分为四个4*2的子区域,将每个4*2的子区域内的所有像素点划分至同一个像素组,将不同4*2的子区域内的像素点划分至不同像素组。
5.根据权利要求2所述的方法,其特征在于,若所述K个像素组是所述多个像素组中的部分像素组,所述方法还包括:从所述当前图像区域对应的码流中获取所述K个像素组对应的索引信息;基于所述索引信息从所有像素组中选取所述K个像素组;其中,所述索引信息用于区分所有类别的像素组中的目标类别的像素组。
6.一种编码方法,其特征在于,应用于编码端,所述方法包括:
若需要对当前图像区域进行重建值调整,所述当前图像区域包括一个图像块,或连续的多个图像块,则在所述当前图像区域对应的码流中编码调整控制开关对应的标记位,且所述标记位为第一取值;
获取所述当前图像区域对应的调整参数,所述调整参数用于对所述当前图像区域的重建值进行调整,并在所述当前图像区域对应的码流中编码所述当前图像区域对应的调整参数。
7.一种解码装置,其特征在于,所述解码装置包括:
确定模块,用于从当前图像区域对应的码流中获取调整控制开关对应的标记位;其中,所述当前图像区域包括一个图像块,或连续的多个图像块;
获取模块,用于若所述调整控制开关对应的标记位为第一取值,则从所述当前图像区域对应的码流中获取所述当前图像区域对应的调整参数;
处理模块,用于基于所述调整参数对所述当前图像区域的重建值进行调整。
8.一种编码装置,其特征在于,所述编码装置包括:
编码模块,用于若需要对当前图像区域进行重建值调整,所述当前图像区域包括一个图像块,或连续的多个图像块,则在所述当前图像区域对应的码流中编码调整控制开关对应的标记位,且所述标记位为第一取值;
获取模块,用于获取所述当前图像区域对应的调整参数,所述调整参数用于对所述当前图像区域的重建值进行调整;
所述编码模块,还用于在所述当前图像区域对应的码流中编码所述当前图像区域对应的调整参数。
9.一种解码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现权利要求1-5任一项所述的方法步骤。
10.一种编码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现权利要求6所述的方法步骤。
CN202310503357.0A 2022-01-19 2022-01-19 一种解码、编码方法、装置及其设备 Pending CN116527918A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310503357.0A CN116527918A (zh) 2022-01-19 2022-01-19 一种解码、编码方法、装置及其设备

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210061340.XA CN116095309A (zh) 2022-01-19 2022-01-19 一种解码、编码方法、装置及其设备
CN202310503357.0A CN116527918A (zh) 2022-01-19 2022-01-19 一种解码、编码方法、装置及其设备

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202210061340.XA Division CN116095309A (zh) 2022-01-19 2022-01-19 一种解码、编码方法、装置及其设备

Publications (1)

Publication Number Publication Date
CN116527918A true CN116527918A (zh) 2023-08-01

Family

ID=86185549

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202310503357.0A Pending CN116527918A (zh) 2022-01-19 2022-01-19 一种解码、编码方法、装置及其设备
CN202210061340.XA Pending CN116095309A (zh) 2022-01-19 2022-01-19 一种解码、编码方法、装置及其设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210061340.XA Pending CN116095309A (zh) 2022-01-19 2022-01-19 一种解码、编码方法、装置及其设备

Country Status (1)

Country Link
CN (2) CN116527918A (zh)

Also Published As

Publication number Publication date
CN116095309A (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
KR102423809B1 (ko) 적응형 컬러 공간 변환 코딩
CN111149359A (zh) 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质
KR20180007680A (ko) 영상 부호화/복호화 방법 및 장치
CN112088533A (zh) 图像编码/解码方法和装置以及存储比特流的记录介质
KR20130058524A (ko) 색차 인트라 예측 블록 생성 방법
KR20170021337A (ko) 해시 기반의 블록 매칭의 결과에 기초한 인코더 결정
JP6244864B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
KR20200033210A (ko) 화면 내 예측 모드 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20200039591A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
JP2022517488A (ja) エンコーダ、デコーダ、および対応するブロック解除フィルタ適応の方法
JP5529236B2 (ja) 区画選択を使用する有効性写像の符号化および復号
WO2022066869A1 (en) Residual and coefficients coding for video coding
CN113841398A (zh) 一种基于子块划分的图像编码/解码方法及装置
EP3759927A1 (en) System and method for deblocking hdr content
US10205952B2 (en) Method and apparatus for inter color component prediction
KR100727991B1 (ko) 영상의 인트라 예측 부호화 방법 및 그 방법을 사용하는부호화 장치
KR20150048637A (ko) 색 성분 간 예측 방법 및 장치
CN113841399A (zh) 图像编码/解码方法和设备
CN113906754A (zh) 图像编码/解码方法和设备
CN113228651A (zh) 量化矩阵编码/解码方法和装置以及存储比特流的记录介质
CN116471402A (zh) 一种编解码方法、装置及其设备
CN116527918A (zh) 一种解码、编码方法、装置及其设备
CN116506619A (zh) 一种解码、编码方法、装置及其设备
CN113924773A (zh) 图像编码/解码方法和装置以及用于存储比特流的记录介质
CN114503566A (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