CN113132739A - 边界强度确定、编解码方法、装置及其设备 - Google Patents

边界强度确定、编解码方法、装置及其设备 Download PDF

Info

Publication number
CN113132739A
CN113132739A CN201911418555.7A CN201911418555A CN113132739A CN 113132739 A CN113132739 A CN 113132739A CN 201911418555 A CN201911418555 A CN 201911418555A CN 113132739 A CN113132739 A CN 113132739A
Authority
CN
China
Prior art keywords
pixel position
filter coefficient
ccalf
alf
ccalf filter
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
CN201911418555.7A
Other languages
English (en)
Other versions
CN113132739B (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 CN201911418555.7A priority Critical patent/CN113132739B/zh
Publication of CN113132739A publication Critical patent/CN113132739A/zh
Application granted granted Critical
Publication of CN113132739B publication Critical patent/CN113132739B/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

本申请提供一种边界强度确定、编解码方法、装置及其设备,该边界强度确定方法可以包括:获取待处理边界的第一相邻块的第一预测模式;获取所述待处理边界的第二相邻块的第二预测模式;根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度。通过本申请的技术方案,能够提高编码性能。

Description

边界强度确定、编解码方法、装置及其设备
技术领域
本申请涉及编解码技术领域,尤其涉及一种边界强度确定、编解码方法、装置及其设备。
背景技术
为了达到节约空间的目的,视频图像都是经过编码后才传输的,完整的视频编码方法可以包括预测、变换、量化、熵编码、滤波等过程。其中,预测编码可以包括帧内编码和帧间编码。进一步的,帧间编码是利用视频时间域的相关性,使用邻近已编码图像的像素预测当前像素,以达到有效去除视频时域冗余的目的。帧内编码是指利用视频空间域的相关性,使用当前帧图像的已经编码块的像素预测当前像素,以达到去除视频空域冗余的目的。
在相关技术中,图像块通常为矩形,而实际物体的边缘往往不是矩形,对于物体边缘来说,往往存在两个不同对象(如存在前景的物体和背景)。当两个对象的运动不一致时,矩形划分不能很好的将两个对象进行分割,因此将图像块划分为两个非方子块。但是,在将图像块划分为两个非方子块后,存在环路滤波效果不佳,编码性能比较差等问题。
发明内容
本申请提供一种边界强度确定、编解码方法、装置及其设备,提高编码性能。
本申请提供一种边界强度确定方法,所述方法包括:
获取待处理边界的第一相邻块的第一预测模式;
获取待处理边界的第二相邻块的第二预测模式;
根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度。
本申请提供一种编解码方法,所述方法包括:
获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;
基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值。
本申请提供一种编解码方法,所述方法包括:
获取当前处理单元的亮度分量重构值和色度分量重构值;基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
本申请提供一种边界强度确定装置,所述装置包括:
第一获取模块,用于获取待处理边界的第一相邻块的第一预测模式;
第二获取模块,用于获取待处理边界的第二相邻块的第二预测模式;确定模块,用于根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度。
本申请提供一种编解码装置,所述装置包括:获取模块,用于获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;
处理模块,用于基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值。
本申请提供一种编解码装置,所述装置包括:
获取模块,用于获取当前处理单元的亮度分量重构值和色度分量重构值;
处理模块,用于基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
本申请提供一种解码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取待处理边界的第一相邻块的第一预测模式;
获取待处理边界的第二相邻块的第二预测模式;
根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度;
或者,获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;
针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值;
或,获取当前处理单元的亮度分量重构值和色度分量重构值;基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
本申请提供一种编码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取待处理边界的第一相邻块的第一预测模式;
获取待处理边界的第二相邻块的第二预测模式;
根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度;
或者,获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;
针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值;
或,获取当前处理单元的亮度分量重构值和色度分量重构值;基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
由以上技术方案可见,本申请实施例中,能够根据第一相邻块的第一预测模式和第二相邻块的第二预测模式确定待处理边界的边界强度,从而提高环路滤波的准确性,提高环路滤波效果,提高编码性能,使当前处理单元的重构值更接近原始像素,带来编码性能的提高。
附图说明
图1是编解码框架的示意图;
图2A-图2E是加权预测的示意图;
图3是本申请一种实施方式中的边界强度确定方法的流程图;
图4A和图4B是待处理边界的示意图;
图4C为GEO模式中的融合区域(blending)的示意图;
图4D是待处理边界的示意图;
图5是本申请一种实施方式中的编解码方法的流程图;
图6A-图6D是本申请一种实施方式中的CCALF滤波处理的示意图;
图7A-图7N是本申请一种实施方式中的相邻像素位置的示意图;
图8是本申请一种实施方式中的编解码方法的流程图;
图9是本申请一种实施方式中的ALF的相邻像素位置的示意图;
图10A是本申请一种实施方式中的边界强度确定装置的结构示意图;
图10B是本申请一种实施方式中的编解码装置的结构示意图;
图10C是本申请一种实施方式中的编解码装置的结构示意图;
图10D是本申请一种实施方式中的解码端设备的硬件结构图;
图10E是本申请一种实施方式中的编码端设备的硬件结构图。
具体实施方式
在本申请实施例中使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请实施例和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。还应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但是,这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”,或“当……时”,或“响应于确定”。
本申请实施例提出一种边界强度确定、编解码方法、装置及其设备,可以涉及如下概念:
编解码框架:参见图1所示,为编解码框架的示意图。可以使用编解码框架实现本申请实施例的编码端处理流程,可以使用编解码框架实现本申请实施例的解码端处理流程。示例性的,参见图1所示,完整的编解码框架可以包括但不限于:预测,变换,量化,熵编码器,反变换、反量化、重建、环内滤波、参考图像缓冲器等模块,预测可以分为帧内预测和帧间预测(即运动估计/运动补偿)。在编码端,通过这些模块之间的配合,可以实现编码端处理流程,在解码端,通过这些模块之间的配合,可以实现解码端处理流程。
帧内预测:利用视频空间域的相关性,使用当前块的已编码块进行预测,以达到去除视频空域冗余的目的。帧内预测规定了多种预测模式,每种预测模式对应一种纹理方向(DC模式除外),例如,若图像纹理呈现水平状排布,则水平预测模式可以更好的预测图像信息。
帧间预测:基于视频时域的相关性,由于视频序列包含有较强的时域相关性,使用邻近已编码图像像素预测当前图像的像素,可以达到有效去除视频时域冗余的目的。视频编码标准帧间预测部分都采用了基于块的运动补偿技术,主要原理是为当前图像的每一个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计(MotionEstimation,ME)。
运动矢量(Motion Vector,MV):在帧间预测中,可以使用运动矢量表示当前帧图像的当前块与参考帧图像的参考块之间的相对位移。每个划分的块都有相应的运动矢量传送到解码端,如果对每个块的运动矢量进行独立编码和传输,特别是小尺寸的大量块,则消耗很多比特。为降低用于编码运动矢量的比特数,可以利用相邻块之间的空间相关性,根据相邻已编码块的运动矢量对当前待编码块的运动矢量进行预测,然后对预测差进行编码,这样可以有效降低表示运动矢量的比特数。在对当前块的运动矢量进行编码时,可以先使用相邻已编码块的运动矢量预测当前块的运动矢量,然后对该运动矢量的预测值(MVP,Motion Vector Prediction)与运动矢量的真正估值之间的差值(MVD,Motion VectorDifference)进行编码。
变换:在视频编码过程中,变换是指将以空间域中像素形式描述的图像转换至变换域的图像,并以变换系数的形式来表示。由于绝大多数图像都含有较多平坦区域和缓慢变化的区域,因此,适当的变换过程,可以使图像能量在空间域的分散分布,转换为在变换域的相对集中分布,从而能够去除信号之间的频域相关性,配合量化过程,可以有效压缩码流。
环路滤波:环路滤波用于减少图像的块效应或者图像效果不佳等问题,用来改善图像质量。例如,环路滤波可以包括但不限于去块滤波(Deblocking filter),SAO(SampleAdaptive Offset,样点自适应补偿)滤波,ALF(Adaptive Loop Filter,自适应环路滤波器)滤波,CCALF(Cross-Component Adaptive Loop Filter,跨分量自适应环路滤波器)滤波等。
例如,在视频图像中,图像块的边界并不连续,压缩重建图像具有明显的块效应,严重影响图像质量,基于此,可以采用去块滤波技术对边界进行去块滤波。示例性的,针对所有预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU)的边界进行去块滤波,去块滤波可以包括滤波决策和滤波操作,在滤波决策过程中,获取边界强度(如不滤波、弱滤波或强滤波)和滤波参数。在滤波操作过程中,根据边界强度和滤波参数对像素进行修正,如对边界进行滤波时,可以是强滤波或弱滤波,采用不同长度的抽头进行滤波。
率失真原则(Rate-Distortion Optimized):评价编码效率的有两大指标:码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比),比特流越小,则压缩率越大,PSNR越大,则重建图像质量越好,在模式选择时,判别公式实质上也就是对二者的综合评价。例如,模式对应的代价:J(mode)=D+λ*R,其中,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。
在相关技术中,图像块通常为矩形,而实际物体的边缘往往不是矩形,即,对于物体的边缘来说,往往存在两个不同对象(如存在前景的物体和背景)。当两个对象的运动不一致时,则矩形划分不能很好的将两个对象进行分割,为此,可以将图像块划分为两个非方子块,对两个非方子块进行加权预测。示例性的,加权预测是利用至少两个预测值进行加权操作,从而获得最终预测值,加权预测可以包括:帧间和帧内的联合加权预测,帧间和帧间的联合加权预测,帧内和帧内的联合加权预测等。针对加权预测的权重值,可以为当前块的所有像素位置设置相同的权重值,也可以为当前块的所有像素位置设置不同的权重值。
参见图2A所示,为帧间帧内联合加权预测的示意图。
CIIP(Combined inter/intra prediction,帧间帧内联合预测)预测块由帧内预测块(即采用帧内预测模式得到像素位置的帧内预测值)和帧间预测块(即采用帧间预测模式得到像素位置的帧间预测值)加权得到,每个像素位置采用的帧内预测值与帧间预测值的权重比是1:1。例如,针对每个像素位置,将该像素位置的帧内预测值与该像素位置的帧间预测值进行加权,得到该像素位置的联合预测值,最终将每个像素位置的联合预测值组成CIIP预测块。
参见图2B所示,为帧间三角划分加权预测(Triangular Partition Mode,TPM)的示意图。将当前块划分为两个三角子块,对两个三角子块进行加权预测。为了实现加权预测,需要确定当前块的每个子块(如三角子块等)的权重值,并基于权重值对该子块进行加权预测。
参见图2B所示,TPM预测块由帧间预测块1(采用帧间预测模式得到像素位置的帧间预测值)和帧间预测块2(采用帧间预测模式得到像素位置的帧间预测值)加权得到。TPM预测块可以划分为两个区域,一个区域为帧间区域1,另一个区域为帧间区域2,TPM预测块的两个帧间区域可以呈非方形分布,虚线分界线的角度可以为主对角线或者副对角线两种。
示例性的,针对帧间区域1的每个像素位置,主要是基于帧间预测块1的帧间预测值确定,例如,将该像素位置的帧间预测块1的帧间预测值与该像素位置的帧间预测块2的帧间预测值进行加权时,帧间预测块1的帧间预测值的权重值较大,帧间预测块2的帧间预测值的权重值较小(甚至为0),得到该像素位置的联合预测值。针对帧间区域2的每个像素位置,主要是基于帧间预测块2的帧间预测值确定,例如,将该像素位置的帧间预测块1的帧间预测值与该像素位置的帧间预测块2的帧间预测值进行加权时,帧间预测块2的帧间预测值的权重值较大,帧间预测块1的帧间预测值的权重值较小(甚至为0),得到该像素位置的联合预测值。最终,可以将每个像素位置的联合预测值组成TPM预测块。
参见图2C所示,为帧间帧内联合三角加权预测的示意图。通过对帧间帧内联合加权预测进行修改,使CIIP预测块的帧间区域和帧内区域呈现三角加权划分预测的权重分布。
CIIP预测块由帧内预测块(即采用帧内预测模式得到像素位置的帧内预测值)和帧间预测块(即采用帧间预测模式得到像素位置的帧间预测值)加权得到。CIIP预测块可以划分为两个区域,一个区域可以为帧内区域,另一个区域可以为帧间区域,CIIP预测块的帧间帧内可以呈非方形分布,虚线分界线区域可采用混合加权方式或者直接进行分割,且该虚线分界线的角度可以为主对角线或者副对角线两种,帧内区域和帧间区域的位置可变。
针对帧内区域的每个像素位置,主要是基于帧内预测值确定,例如,将该像素位置的帧内预测值与该像素位置的帧间预测值进行加权时,帧内预测值的权重值较大,帧间预测值的权重值较小(甚至为0),得到该像素位置的联合预测值。针对帧间区域的每个像素位置,主要是基于帧间预测值确定,例如,将该像素位置的帧内预测值与该像素位置的帧间预测值进行加权时,帧间预测值的权重值较大,帧内预测值的权重值较小(甚至为0),得到该像素位置的联合预测值。最终,将每个像素位置的联合预测值组成CIIP预测块。
参见图2D所示,为帧间几何分割模式(Geometrical partitioning for interblocks,GEO)的示意图,GEO模式用于利用一条分割线将帧间预测块划分为两个子块,不同于TPM模式,GEO模式可以采用更多的划分方向,GEO模式的加权预测过程与TPM模式类似。
GEO预测块由帧间预测块1(即采用帧间预测模式得到像素位置的帧间预测值)和帧间预测块2(即采用帧间预测模式得到像素位置的帧间预测值)加权得到。GEO预测块可以划分为两个区域,一个区域可以为帧间区域1,另一个区域可以为帧间区域2。
示例性的,针对帧间区域1的每个像素位置,主要是基于帧间预测块1的帧间预测值确定,例如,将该像素位置的帧间预测块1的帧间预测值与该像素位置的帧间预测块2的帧间预测值进行加权时,帧间预测块1的帧间预测值的权重值较大,帧间预测块2的帧间预测值的权重值较小(甚至为0),得到该像素位置的联合预测值。针对帧间区域2的每个像素位置,主要是基于帧间预测块2的帧间预测值确定,例如,将该像素位置的帧间预测块1的帧间预测值与该像素位置的帧间预测块2的帧间预测值进行加权时,帧间预测块2的帧间预测值的权重值较大,帧间预测块1的帧间预测值的权重值较小(甚至为0),得到该像素位置的联合预测值。最终,可以将每个像素位置的联合预测值组成GEO预测块。
GEO模式中,GEO预测块的权重值设置与像素位置离分割线的距离有关,参见图2E所示,像素位置A,像素位置B和像素位置C位于分割线右下侧,像素位置D,像素位置E和像素位置F位于分割线左上侧。对于像素位置A,像素位置B和像素位置C来说,帧间区域2的权重值排序为B≥A≥C,帧间区域1的权重值排序为C≥A≥B。对于像素位置D,像素位置E和像素位置F来说,帧间区域1的权重值排序为D≥F≥E,帧间区域2的权重值排序为E≥F≥D。上述方式需要计算像素位置与分割线的距离,继而确定像素位置的权重值。
针对上述各种情况,为了实现加权预测,均需要将图像块划分为两个非方子块,但是,在将图像块划分为两个非方子块后,存在环路滤波效果不佳,编码性能比较差等问题。例如,去块滤波的效果不佳。针对上述发现,针对去块滤波,本申请实施例中提出一种边界强度确定方法,能够根据第一相邻块的第一预测模式和第二相邻块的第二预测模式确定待处理边界的边界强度,从而提高环路滤波的准确性,提高环路滤波效果,提高编码性能。
以下结合具体实施例,对本申请实施例中的边界强度确定方法进行详细说明。
实施例1:参见图3所示,为本申请实施例中提出的边界强度确定方法的流程示意图,该方法可以应用于解码端或者编码端,该边界强度确定方法可以包括以下步骤:
步骤301,获取待处理边界的第一相邻块的第一预测模式。
步骤302,获取待处理边界的第二相邻块的第二预测模式。
示例性的,第一相邻块为待处理边界上侧的图像块,第二相邻块为待处理边界下侧的图像块;或者,第一相邻块为待处理边界下侧的图像块,第二相邻块为待处理边界上侧的图像块;或者,第一相邻块为待处理边界左侧的图像块,第二相邻块为待处理边界右侧的图像块;或者,第一相邻块为待处理边界右侧的图像块,第二相邻块为待处理边界左侧的图像块。
示例性的,待处理边界可以是待处理单元的边界,本文简称待处理边界,待处理单元可以是所有预测单元和变换单元。本实施例中,主要使用到待处理边界的两个相邻图像块,即第一相邻块和第二相邻块,将第一相邻块记为相邻图像块P,将第二相邻块记为相邻图像块Q。例如,相邻图像块P是待处理边界上侧的图像块,相邻图像块Q是待处理边界下侧的图像块;或者,相邻图像块P是待处理边界左侧的图像块,相邻图像块Q是待处理边界右侧的图像块;或者,相邻图像块P是待处理边界下侧的图像块,相邻图像块Q是待处理边界上侧的图像块;或者,相邻图像块P是待处理边界右侧的图像块,相邻图像块Q是待处理边界左侧的图像块。
参见图4A和图4B所示,相邻图像块P和相邻图像块Q为待处理边界两侧图像块,在图4A中,是针对待处理边界为垂直边界的情况,相邻图像块P是该垂直边界左侧的图像块,相邻图像块Q是该垂直边界右侧的图像块。在图4B中,是针对待处理边界为水平边界的情况,相邻图像块P是该水平边界上侧的图像块,相邻图像块Q是该水平边界下侧的图像块。
在图4A和图4B中,m和n的取值可以任意配置,m和n可以相同,m和n也可以不同,例如,当m为8,n为8时,则相邻图像块P的尺寸为4*4,相邻图像块Q的尺寸为4*4。当m为16,n为16时,则相邻图像块P的尺寸为8*8,相邻图像块Q的尺寸为8*8。当然,上述只是示例,对m和n的取值不做限制,可以根据实际经验任意配置。
示例性的,第一相邻块的第一预测模式是指,在第一相邻块的预测过程中,采用第一预测模式对第一相邻块进行预测,得到第一相邻块的预测值。例如,若采用CIIP模式对第一相邻块进行预测,则第一预测模式为CIIP模式;若采用普通融合模式对第一相邻块进行预测,则第一预测模式为普通融合模式;若采用GEO对第一相邻块进行预测,则第一预测模式为GEO模式;若采用TPM对第一相邻块进行预测,则第一预测模式为TPM模式。当然,上述只是第一预测模式的几个示例,对此第一预测模式不做限制。
示例性的,第二相邻块的第二预测模式是指,在第二相邻块的预测过程中,采用第二预测模式对第二相邻块进行预测,得到第二相邻块的预测值。例如,若采用CIIP模式对第二相邻块进行预测,则第二预测模式为CIIP模式;若采用普通融合模式对第二相邻块进行预测,则第二预测模式为普通融合模式;若采用GEO对第二相邻块进行预测,则第二预测模式为GEO模式;若采用TPM对第二相邻块进行预测,则第二预测模式为TPM模式。当然,上述只是第二预测模式的几个示例,对此第二预测模式不做限制。
步骤303,根据第一预测模式和第二预测模式确定待处理边界的边界强度。
示例性的,可以根据第一相邻块的第一预测模式和第二相邻块的第二预测模式确定待处理边界的边界强度。例如,当第一预测模式与第二预测模式不同时,则确定边界强度为第一数值,当第一预测模式与第二预测模式相同时,则确定边界强度为第二数值。当然,上述方式只是示例,对此不做限制,只要能够根据第一预测模式和第二预测模式确定待处理边界的边界强度即可,以下结合几个具体情况,对边界强度的确定过程进行说明。
情况1、若第一预测模式为帧间几何分割模式(GEO模式),且第二预测模式为非帧间几何分割模式(即第二预测模式不是GEO模式),则确定待处理边界的边界强度为第一数值。
示例性的,第一数值可以是不为0的正整数,如1、2等,对此第一数值不做限制。
示例性的,边界强度为第一数值表示允许进行去块滤波。例如,针对去块滤波技术,可以包括滤波决策和滤波操作。在滤波决策过程中,可以获取边界强度和滤波参数,并执行滤波开关决策和滤波强弱选择等步骤。在滤波操作过程中,根据边界强度和滤波参数对像素进行修正。在获取边界强度后,若边界强度为0,则表示不允许进行去块滤波,可以不再执行滤波开关决策和滤波强弱选择等步骤,即不需要进行去块滤波。若边界强度为第一数值(如1、2等),则表示允许进行去块滤波,继续执行滤波开关决策和滤波强弱选择等步骤。在滤波开关决策的步骤,可以通过对图像的内容进行分析,以确定是否需要执行去块滤波。在滤波强弱选择的步骤,可以根据图像的内容及编码参数,判断是否需要执行去块滤波。
综上所述,当待处理边界的边界强度为第一数值时,表示允许进行去块滤波,至于是否执行去块滤波,还可以考虑滤波开关决策和滤波强弱选择等步骤,对此不做限制。
本实施例中,若第一预测模式为帧间几何分割模式,且第二预测模式为非帧间几何分割模式,则确定待处理边界的边界强度为第一数值,表示该边界强度允许进行去块滤波。
情况2、若第一预测模式为帧间几何分割模式,第一相邻块包括帧间几何分割模式的融合区域(blending)的像素位置,帧间几何分割模式的融合区域的融合功能被开启,且第二预测模式为非帧间几何分割模式,则确定待处理边界的边界强度为第一数值。
示例性的,参见图4C所示,为采用帧间几何分割模式的示意图,分割线为A,划分线B与划分线C之间的区域为融合区域(blending)。融合区域表示:区域D的每个像素位置的权重值为8(针对一个预测模式的权重值为8,针对另一个预测模式的权重值为0),区域E的每个像素位置的权重值为0。划分线C与分割线A之间的区域的每个像素位置,权重值位于8与4之间,如权重值为7,6,5等。分割线A与划分线B之间的区域的每个像素位置,权重值位于4与0之间,如权重值为3,2,1等,分割线A上每个像素位置的权重值为4。
帧间几何分割模式的融合区域的融合功能被开启表示:融合区域支持多个权重值,如划分线C与分割线A之间的区域的像素位置,权重值位于8与4之间,如权重值为7,6,5,分割线A与划分线B之间的区域的像素位置,权重值位于4与0之间,如权重值为3,2,1。
帧间几何分割模式的融合区域的融合功能被关闭表示:融合区域只支持最大权重值和最小权重值,如划分线C与分割线A之间的区域的像素位置,权重值为8,分割线A与划分线B之间的区域的像素位置,权重值为0,分割线A上每个像素位置的权重值为8或者0。
综上所述,若第一相邻块的第一预测模式为帧间几何分割模式,第一相邻块包括融合区域的像素位置,如第一相邻块包括划分线C与划分线B之间的区域的像素位置,且融合区域的融合功能被开启,且第二预测模式为非帧间几何分割模式,则确定边界强度为第一数值。
情况3、若第一预测模式为帧间几何分割模式,帧间几何分割模式的融合区域的融合功能被关闭,第二预测模式为非帧间几何分割模式,则确定待处理边界的边界强度为第一数值。
示例性的,若帧间几何分割模式的融合区域的融合功能被关闭,无论第一相邻块是否包括帧间几何分割模式的融合区域的像素位置,均可以确定待处理边界的边界强度为第一数值。
情况4、若第一预测模式为帧间几何分割模式,帧间几何分割模式的融合区域的融合功能被关闭,第二预测模式为非帧间几何分割模式,则确定待处理边界的边界强度为第二数值。
示例性的,若帧间几何分割模式的融合区域的融合功能被关闭,无论第一相邻块是否包括帧间几何分割模式的融合区域的像素位置,均可以确定待处理边界的边界强度为第二数值。
示例性的,第二数值可以为0,对此第二数值不做限制,本文以0为例。边界强度为第二数值表示不允许进行去块滤波,即不需要进行去块滤波。例如,在获取边界强度后,若边界强度为第二数值0,则表示不允许进行去块滤波,即不需要进行去块滤波。
情况5、若第一预测模式为帧间几何分割模式,第一相邻块包括帧间几何分割模式的融合区域的像素位置,且第二预测模式为非帧间几何分割模式,则确定待处理边界的边界强度为第一数值。示例性的,在情况5中,并不关注几何分割模式的融合区域是否开启,只要第一相邻块包括帧间几何分割模式的融合区域的像素位置,就可以确定边界强度为第一数值。
情况6、若第一预测模式为帧间几何分割模式,帧间几何分割模式的融合区域的融合功能被开启,第二预测模式为非帧间几何分割模式,则确定待处理边界的边界强度为第一数值。
在情况6中,并不关注第一相邻块是否包括帧间几何分割模式的融合区域的像素位置,只要帧间几何分割模式的融合区域的融合功能被开启,就可以确定边界强度为第一数值。
情况7、若第一相邻块的第一预测模式为帧间几何分割模式,且第二相邻块的第二预测模式也为帧间几何分割模式,则确定待处理边界的边界强度为第一数值。
示例性的,若第一相邻块的第一预测模式为帧间几何分割模式,第一相邻块包括帧间几何分割模式的融合区域的像素位置,帧间几何分割模式的融合区域的融合功能被开启,且第二相邻块的第二预测模式也为帧间几何分割模式,则确定待处理边界的边界强度为第一数值。
若第一相邻块的第一预测模式为帧间几何分割模式,帧间几何分割模式的融合区域的融合功能被关闭,且第二相邻块的第二预测模式也为帧间几何分割模式,无论第一相邻块是否包括帧间几何分割模式的融合区域的像素位置,则确定待处理边界的边界强度为第一数值。
若第二相邻块的第二预测模式为帧间几何分割模式,第二相邻块包括帧间几何分割模式的融合区域的像素位置,帧间几何分割模式的融合区域的融合功能被开启,且第一相邻块的第一预测模式也为帧间几何分割模式,则确定待处理边界的边界强度为第一数值。
若第二相邻块的第二预测模式为帧间几何分割模式,帧间几何分割模式的融合区域的融合功能被关闭,且第一相邻块的第一预测模式也为帧间几何分割模式,无论第二相邻块是否包括帧间几何分割模式的融合区域的像素位置,则确定待处理边界的边界强度为第一数值。
情况8、若第一相邻块的第一预测模式为帧间几何分割模式,且第二相邻块的第二预测模式也为帧间几何分割模式,则确定待处理边界的边界强度为第二数值。
示例性的,若第一相邻块的第一预测模式为帧间几何分割模式,第一相邻块包括帧间几何分割模式的融合区域的像素位置,帧间几何分割模式的融合区域的融合功能被开启,且第二相邻块的第二预测模式也为帧间几何分割模式,则确定待处理边界的边界强度为第二数值。
若第一相邻块的第一预测模式为帧间几何分割模式,帧间几何分割模式的融合区域的融合功能被关闭,且第二相邻块的第二预测模式也为帧间几何分割模式,无论第一相邻块是否包括帧间几何分割模式的融合区域的像素位置,则确定待处理边界的边界强度为第二数值。
若第二相邻块的第二预测模式为帧间几何分割模式,第二相邻块包括帧间几何分割模式的融合区域的像素位置,帧间几何分割模式的融合区域的融合功能被开启,且第一相邻块的第一预测模式也为帧间几何分割模式,则确定待处理边界的边界强度为第二数值。
若第二相邻块的第二预测模式为帧间几何分割模式,帧间几何分割模式的融合区域的融合功能被关闭,且第一相邻块的第一预测模式也为帧间几何分割模式,无论第二相邻块是否包括帧间几何分割模式的融合区域的像素位置,则确定待处理边界的边界强度为第二数值。
情况9、若第一预测模式为加权预测模式,且第二预测模式为非加权预测模式,则确定待处理边界的边界强度为第一数值,边界强度为第一数值表示允许进行去块滤波。
示例性的,加权预测模式具体可以为:帧间帧内联合加权预测模式,帧间帧内联合加权预测模式可以参见图2A所示。或者,帧间三角划分加权预测模式,帧间三角划分加权预测模式可以参见图2B所示。或者,帧间帧内联合三角加权预测模式,帧间帧内联合三角加权预测模式可以参见图2C所示。或者,帧间几何分割模式,帧间几何分割模式可以参见图2D所示。当然,上述方式只是几个示例,对此不做限制,只要采用加权方式进行预测即可。
情况10、若第一相邻块的第一预测模式为加权预测模式,第一相邻块包括加权预测模式的融合区域(blending)的像素位置,加权预测模式的融合区域的融合功能被开启,且第二相邻块的第二预测模式为非加权预测模式,则确定待处理边界的边界强度为第一数值。
示例性的,以加权预测模式为帧间几何分割模式为例,帧间几何分割模式的融合区域参见图4C所示,融合区域的融合功能被开启可以参见情况2。在加权预测模式为其它类型的加权预测模式时,融合区域与帧间几何分割模式的融合区域类似,在此不再赘述。
情况11、若第一预测模式为加权预测模式,加权预测模式的融合区域的融合功能被关闭,且第二预测模式为非加权预测模式,则确定待处理边界的边界强度为第一数值。
示例性的,若加权预测模式的融合区域的融合功能被关闭,无论第一相邻块是否包括加权预测模式的融合区域的像素位置,均可以确定待处理边界的边界强度为第一数值。
情况12、若第一预测模式为加权预测模式,加权预测模式的融合区域的融合功能被关闭,且第二预测模式为非加权预测模式,则确定待处理边界的边界强度为第二数值。
示例性的,若加权预测模式的融合区域的融合功能被关闭,无论第一相邻块是否包括加权预测模式的融合区域的像素位置,均可以确定待处理边界的边界强度为第二数值。
情况13、若第一预测模式为加权预测模式,第一相邻块包括加权预测模式的融合区域的像素位置,且第二预测模式为非加权预测模式,则确定待处理边界的边界强度为第一数值。
示例性的,在情况13中,并不关注加权预测模式的融合区域是否开启,只要第一相邻块包括加权预测模式的融合区域的像素位置,就可以确定边界强度为第一数值。
情况14、若第一预测模式为加权预测模式,加权预测模式的融合区域的融合功能被开启,且第二预测模式为非加权预测模式,则确定待处理边界的边界强度为第一数值。
示例性的,在情况14中,并不关注第一相邻块是否包括加权预测模式的融合区域的像素位置,只要加权预测模式的融合区域的融合功能被开启,就可以确定边界强度为第一数值。
情况15、若第一相邻块的第一预测模式为加权预测模式,且第二相邻块的第二预测模式也为加权预测模式,则确定待处理边界的边界强度为第一数值。
示例性的,若第一预测模式为加权预测模式,第二预测模式为加权预测模式,且第一预测模式与第二预测模式是不同的加权预测模式,则确定待处理边界的边界强度为第一数值。例如,若第一预测模式为帧间帧内联合加权预测模式,第二预测模式为帧间几何分割模式,则第一预测模式与第二预测模式是不同的加权预测模式。又例如,若第一预测模式为帧间帧内联合加权预测模式,第二预测模式为帧间帧内联合三角加权预测模式,则第一预测模式与第二预测模式是不同的加权预测模式。当然,上述只是示例,对此不做限制。
示例性的,若第一相邻块的第一预测模式为加权预测模式,第一相邻块包括加权预测模式的融合区域的像素位置,加权预测模式的融合区域的融合功能被开启,且第二相邻块的第二预测模式也为加权预测模式,则确定待处理边界的边界强度为第一数值。
示例性的,若第一相邻块的第一预测模式为加权预测模式,加权预测模式的融合区域的融合功能被关闭,且第二相邻块的第二预测模式也为加权预测模式,无论第一相邻块是否包括加权预测模式的融合区域的像素位置,则确定待处理边界的边界强度为第一数值。
示例性的,若第二相邻块的第二预测模式为加权预测模式,第二相邻块包括加权预测模式的融合区域的像素位置,加权预测模式的融合区域的融合功能被开启,且第一相邻块的第一预测模式也为加权预测模式,则确定待处理边界的边界强度为第一数值。
示例性的,若第二相邻块的第二预测模式为加权预测模式,加权预测模式的融合区域的融合功能被关闭,且第一相邻块的第一预测模式也为加权预测模式,无论第二相邻块是否包括加权预测模式的融合区域的像素位置,则确定待处理边界的边界强度为第一数值。
情况16、若第一相邻块的第一预测模式为加权预测模式,且第二相邻块的第二预测模式也为加权预测模式,则确定待处理边界的边界强度为第二数值。
示例性的,若第一预测模式为加权预测模式,第二预测模式为加权预测模式,且第一预测模式与第二预测模式是相同的加权预测模式,则确定待处理边界的边界强度为第二数值。例如,若第一预测模式为帧间帧内联合加权预测模式,第二预测模式为帧间帧内联合加权预测模式,则第一预测模式与第二预测模式是相同的加权预测模式。
示例性的,若第一相邻块的第一预测模式为加权预测模式,第一相邻块包括加权预测模式的融合区域的像素位置,加权预测模式的融合区域的融合功能被开启,且第二相邻块的第二预测模式也为加权预测模式,则确定待处理边界的边界强度为第二数值。
示例性的,若第一相邻块的第一预测模式为加权预测模式,加权预测模式的融合区域的融合功能被关闭,且第二相邻块的第二预测模式也为加权预测模式,无论第一相邻块是否包括加权预测模式的融合区域的像素位置,则确定待处理边界的边界强度为第二数值。
在一种可能的实施方式中,步骤301之前,还可以根据第一相邻块的运动矢量和第二相邻块的运动矢量确定待处理边界的边界强度。若边界强度为第一数值,则可以直接将待处理边界的边界强度确定为第一数值,不再执行步骤301-步骤303。若边界强度为第二数值,则可以执行步骤301-步骤303,采用步骤301-步骤303重新确定待处理边界的边界强度。
例如,判断第一相邻块或第二相邻块是否采用帧内预测;如果第一相邻块或第二相邻块采用帧内预测,则确定边界强度为2,不再执行步骤301-步骤303;如果第一相邻块和第二相邻块均未采用帧内预测,则判断第一相邻块或第二相邻块是否有非零变换系数。如果第一相邻块或第二相邻块有非零变换系数,则确定边界强度为1,不再执行步骤301-步骤303;如果第一相邻块和第二相邻块均未有非零变换系数,则判断第一相邻块与第二相邻块是否使用不同的参考帧。如果使用不同的参考帧,则确定边界强度为1,不再执行步骤301-步骤303;如果使用相同的参考帧,则判断第一相邻块与第二相邻块的运动矢量个数是否不同。
如果运动矢量个数相同,则确定边界强度为1,不再执行步骤301-步骤303;如果运动矢量个数不同,则判断第一相邻块与第二相邻块的运动矢量差值的绝对值是否大于等于4。如果是,则确定边界强度为1,不再执行步骤301-步骤303;如果否,则执行步骤301-步骤303,也就是说,获取第一相邻块的第一预测模式,获取第二相邻块的第二预测模式,并根据第一预测模式和第二预测模式确定待处理边界的边界强度,确定方式可以参见上述实施例。
当然,上述方式只是一个示例,对此边界强度的确定方式不做限制。
由以上技术方案可见,本申请实施例中,能够根据第一相邻块的第一预测模式和第二相邻块的第二预测模式确定待处理边界的边界强度,从而提高环路滤波的准确性,提高环路滤波效果,提高编码性能,使当前处理单元的重构值更接近原始像素,带来编码性能的提高。
以下结合两个具体应用场景,对上述实施例中的边界强度确定过程进行说明。
应用场景1:参见图4D所示,相邻图像块P的预测模式为帧间几何分割模式,相邻图像块P的运动矢量为MV1,相邻图像块Q的预测模式为非帧间几何分割模式,相邻图像块Q的运动矢量为MV2。当MV1和MV2一致或接近相等时,去块滤波不会被触发。但是,相邻图像块P是通过空间位置变化权重系数的加权预测得到,而相邻图像块Q是通过整个块的平均加权预测得到,在上述场景下,就会造成待处理边界两侧的不一致性,影响主观效果。
针对上述发现,本应用场景中,当待处理边界在几何分割成两个子块进行帧间预测的块的融合区域与另一个块之间时,设置边界强度为第一数值(如1)。例如,当相邻图像块P为几何分割预测块,相邻图像块Q为普通双向预测块时,待处理边界的边界强度设置为1。
例如,若相邻图像块P的预测模式为几何分割模式(表示相邻图像块P为几何分割预测块),相邻图像块P包括几何分割模式的融合区域的像素位置(表示待处理边界在几何分割成两个子块进行帧间预测的块的融合区域与另一个块之间),相邻图像块Q为非几何分割模式(表示相邻图像块Q为普通双向预测块),则确定待处理边界的边界强度为1。
在一种可能的实施方式中,当cIdx等于0(对应亮度分量),若满足如下条件,则将边界强度设置为1:当包含像素点p0的当前子块为一个几何分割模式的块,且包含像素点p0的当前子块不同于包含像素点q0的子块,且待滤波像素位于对应子块的融合区域。
示例性的,上述条件可以表示为:相邻图像块P的预测模式为几何分割模式(表示包含像素点p0的当前子块为一个几何分割模式的块),相邻图像块P包括几何分割模式的融合区域的像素位置(表示待滤波像素位于对应子块的融合区域),相邻图像块Q为非几何分割模式(表示包含像素点p0的当前子块不同于包含像素点q0的子块)。
在另一种可能的实施方式中,当cIdx等于0(对应亮度分量),若满足如下条件,则将边界强度设置为1:当包含像素点q0的当前子块为一个几何划分模式的块,且包含像素点p0的当前子块不同于包含像素点q0的子块,且待滤波像素位于对应子块的融合区域。
示例性的,上述条件可以表示为:相邻图像块Q的预测模式为几何分割模式(表示包含像素点q0的当前子块为一个几何划分模式的块),相邻图像块Q包括几何分割模式的融合区域的像素位置(表示待滤波像素位于对应子块的融合区域),相邻图像块P为非几何分割模式(表示包含像素点p0的当前子块不同于包含像素点q0的子块。
应用场景2:参见图4D所示,相邻图像块P的预测模式为帧间几何分割模式,相邻图像块P的运动矢量为MV1,相邻图像块Q的预测模式为非帧间几何分割模式(如普通双向预测模式),相邻图像块Q的运动矢量为MV2。当MV1和MV2一致或者接近相等时,去块滤波不会被触发。但是,在帧间几何分割模式的融合区域的融合功能被关闭的情况下,相邻图像块P的两个子块分别采用一个运动信息预测得到,而相邻图像块Q是通过整个块的平均加权预测得到,在上述场景下,就会造成待处理边界两侧的不一致性,影响主观效果。
针对上述发现,本应用场景中,在一种可能的实施方式中,当待处理边界在几何分割成两个子块进行帧间预测的块的融合区域与另一个块之间时,设置边界强度不为0,例如,可以设置边界强度为1。例如,当相邻图像块P为几何分割预测块(且当前处理单元的blending操作关闭),相邻图像块Q为普通双向预测块时,待处理边界的边界强度设置为1。例如,若相邻图像块P的预测模式为几何分割模式(表示相邻图像块P为几何分割预测块),相邻图像块P包括几何分割模式的融合区域的像素位置(表示待处理边界在几何分割成两个子块进行帧间预测的块的融合区域与另一个块之间),且相邻图像块P的几何分割模式的融合区域的融合功能被关闭(表示当前处理单元的blending操作关闭),且相邻图像块Q为非几何分割模式(表示相邻图像块Q为普通双向预测块),则确定待处理边界的边界强度为1。
在另一种可能的实施方式中,当待处理边界在几何分割成两个子块进行帧间预测的块的融合区域与另一个块之间时,设置边界强度0。例如,当相邻图像块P为几何分割预测块(当前处理单元的blending操作关闭),相邻图像块Q为普通双向预测块时,待处理边界的边界强度设置为0。例如,若相邻图像块P的预测模式为几何分割模式(表示相邻图像块P为几何分割预测块),相邻图像块P包括几何分割模式的融合区域的像素位置(表示待处理边界在几何分割成两个子块进行帧间预测的块的融合区域与另一个块之间),且相邻图像块P的几何分割模式的融合区域的融合功能被关闭(表示当前处理单元的blending操作关闭),且相邻图像块Q为非几何分割模式(表示相邻图像块Q为普通双向预测块),则确定待处理边界的边界强度为0。
示例性的,可以在SPS(Sequence Paramater Set,序列参数集)级增加控制开关来控制blending-off(融合区域的融合功能关闭)的操作,也就是说,可以通过SPS级的控制开关,控制帧间几何分割模式的融合区域的融合功能被开启或者控制帧间几何分割模式的融合区域的融合功能被关闭。在控制帧间几何分割模式的融合区域的融合功能被开启时,则相应的实现方式可以参见应用场景1,在控制帧间几何分割模式的融合区域的融合功能被关闭时,则相应的实现方式可以参见应用场景2。
相关技术中,环路滤波用于减少图像的块效应或者图像效果不佳等问题,用来改善图像质量,CCALF是环路滤波的一种实现方式,可以采用CCALF实现环路滤波。但是,相关技术的CCALF的滤波效果不佳,编码性能比较差。针对上述发现,针对CCALF的滤波过程,本申请实施例中提出一种编解码方法,能够提高CCALF的滤波效果,提高编码性能。
以下结合具体实施例,对本申请实施例中的编解码方法进行详细说明。
实施例2:参见图5所示,为本申请实施例中提出的编解码方法的流程示意图,该编解码方法可以应用于解码端或者编码端,该编解码方法可以包括以下步骤:
步骤501,获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值。
示例性的,环路滤波可以包括但不限于去块滤波,SAO滤波,ALF滤波,CCALF滤波等,在环路滤波过程中,可以执行去块滤波,SAO滤波,ALF滤波,CCALF滤波中的至少一个,且对去块滤波,SAO滤波,ALF滤波,CCALF滤波等滤波操作的顺序不做限制。
例如,可以执行去块滤波,SAO滤波,ALF滤波,CCALF滤波等操作,且执行顺序可以为:去块滤波,SAO滤波,ALF滤波,CCALF滤波;或者,去块滤波,SAO滤波,CCALF滤波,ALF滤波;或者,去块滤波,CCALF滤波,SAO滤波,ALF滤波;或者,CCALF滤波,去块滤波,SAO滤波,ALF滤波。当然,上述只是滤波顺序的几个示例,对此不做限制。
又例如,可以执行SAO滤波,ALF滤波,CCALF滤波等操作,且执行顺序可以为:SAO滤波,ALF滤波,CCALF滤波;或者,SAO滤波,CCALF滤波,ALF滤波;或者,CCALF滤波,SAO滤波,ALF滤波。当然,上述只是滤波顺序的几个示例,对此不做限制。
又例如,可以执行去块滤波,SAO滤波,CCALF滤波等操作,且执行顺序可以为:去块滤波,SAO滤波,CCALF滤波;或者,去块滤波,CCALF滤波,SAO滤波;或者,CCALF滤波,去块滤波,SAO滤波。当然,上述只是滤波顺序的几个示例,对此不做限制。
当然,上述方式只是从去块滤波,SAO滤波,ALF滤波,CCALF滤波中选择至少一个滤波方式实现环路滤波的示例,环路滤波还可以包括其它类型的滤波方式,对此不做限制。
本实施例中,是针对CCALF滤波的实现方式,CCALF滤波可以是环路滤波的首个滤波方式,即,在步骤501中,亮度分量重构值是未经过滤波的亮度分量重构值,色度分量重构值是未经过滤波的色度分量重构值。或者,CCALF滤波可以位于去块滤波的后面,即,在步骤501中,亮度分量重构值是去块滤波后的亮度分量重构值,色度分量重构值是去块滤波后的色度分量重构值。或者,CCALF滤波可以位于SAO滤波的后面,即,在步骤501中,亮度分量重构值是SAO滤波后的亮度分量重构值,色度分量重构值是SAO滤波后的色度分量重构值。或者,CCALF滤波可以位于ALF滤波的后面,即,在步骤501中,亮度分量重构值是ALF滤波后的亮度分量重构值,色度分量重构值是ALF滤波后的色度分量重构值。
示例性的,CCALF滤波和ALF滤波还可以同时执行,如在SAO滤波后,基于SAO滤波后的亮度分量重构值和色度分量重构值,进行CCALF滤波和ALF滤波。或者,在去块滤波后,基于去块滤波后的亮度分量重构值和色度分量重构值,进行CCALF滤波和ALF滤波。或者,基于未经过滤波的亮度分量重构值和色度分量重构值,进行CCALF滤波和ALF滤波。
无论采用哪些滤波方式实现环路滤波,滤波方式的顺序是什么,在执行CCALF滤波时,均可以获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值,例如,每个像素位置的SAO滤波后的亮度分量重构值,每个像素位置的SAO滤波后的色度分量重构值。
步骤502,针对当前处理单元的当前像素位置(即色度分量重构值的像素位置),确定当前像素位置关联的当前处理单元的目标像素位置(即亮度分量重构值的像素位置)。
示例性的,可以将当前处理单元的色度分量重构值的像素位置称为当前像素位置,将当前处理单元的亮度分量重构值的像素位置称为目标像素位置,当前像素位置与该当前像素位置关联的目标像素位置可以相同,也可以不同。例如,当前像素位置为像素位置a1,与该当前像素位置关联的目标像素位置为像素位置a1。又例如,当前像素位置为像素位置a1,与该当前像素位置关联的目标像素位置为像素位置a2。
示例性的,若当前处理单元所在图像的采样率是4:2:0的格式,则当前像素位置与该当前像素位置关联的目标像素位置可以不同。若当前处理单元所在图像的采样率是4:4:4的格式,则当前像素位置与该当前像素位置关联的目标像素位置可以相同。
综上所述,可以基于当前处理单元所在图像的采样率,确定前像素位置关联的目标像素位置,对此确定方式不做限制。当然,上述方式只是示例,对此不做限制,只要能够确定当前像素位置关联的目标像素位置即可。
示例性的,假设需要采用CCALF对当前处理单元的像素位置b1的色度分量重构值进行补偿,则将像素位置b1作为当前像素位置,并确定当前像素位置关联的目标像素位置,如目标像素位置为像素位置b2,像素位置b2与像素位置b1可以相同,也可以不同。
步骤503,基于目标像素位置的亮度分量重构值和目标像素位置的相邻像素位置的亮度分量重构值,进行基于CCALF的滤波处理,得到当前像素位置的色度分量偏移值。
示例性的,可以基于该目标像素位置的亮度分量重构值,该目标像素位置的CCALF滤波系数,该目标像素位置的相邻像素位置的亮度分量重构值和该相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,得到当前像素位置的色度分量偏移值。
示例性的,可以将采用CCALF进行滤波处理时的滤波系数称为CCALF滤波系数。
步骤504,利用当前像素位置的色度分量重构值和当前像素位置的色度分量偏移值,获得当前像素位置的目标色度分量重构值。例如,通过当前像素位置的色度分量偏移值对当前像素位置的色度分量重构值进行补偿,得到当前像素位置的目标色度分量重构值。
以下结合几个具体情况,对步骤503和步骤504的处理过程进行说明。
情况一,参见图6A所示,为CCALF滤波处理的示意图,色度分量重构值包括第一色度分量重构值Cb和第二色度分量重构值Cr,第一CCALF用于获得第一色度分量重构值Cb对应的第一色度分量偏移值I1,第二CCALF用于获得第二色度分量重构值Cr对应的第二色度分量偏移值I2。在上述应用场景下,参见图6A所示,I0为目标像素位置的亮度分量重构值(即Luma)和目标像素位置的相邻像素位置的亮度分量重构值(即Luma),将目标像素位置的亮度分量重构值和相邻像素位置的亮度分量重构值输入给第一CCALF和第二CCALF。
第一CCALF包括目标像素位置的CCALF滤波系数和相邻像素位置的CCALF滤波系数,因此,第一CCALF可以基于目标像素位置的亮度分量重构值,目标像素位置的CCALF滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,对此滤波处理过程不做限制,得到当前像素位置的第一色度分量偏移值I1
第二CCALF包括目标像素位置的CCALF滤波系数和相邻像素位置的CCALF滤波系数,因此,第二CCALF可以基于目标像素位置的亮度分量重构值,目标像素位置的CCALF滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,对此滤波处理过程不做限制,得到当前像素位置的第二色度分量偏移值I2
示例性的,第一CCALF中的目标像素位置的CCALF滤波系数与第二CCALF中的目标像素位置的CCALF滤波系数,可以相同,也可以不同。第一CCALF中的相邻像素位置的CCALF滤波系数与第二CCALF中的相邻像素位置的CCALF滤波系数,可以相同,也可以不同。第一CCALF的滤波处理方式与第二CCALF的滤波处理方式可以相同,也可以不同。
在得到当前像素位置的第一色度分量偏移值I1后,可以利用第一色度分量重构值Cb与第一色度分量偏移值I1,获得当前像素位置的第一目标色度分量重构值Cb’,例如,将第一色度分量重构值Cb与第一色度分量偏移值I1的和,作为第一目标色度分量重构值Cb’。
在得到当前像素位置的第二色度分量偏移值I2后,可以利用第二色度分量重构值Cr与第二色度分量偏移值I2,获得当前像素位置的第二目标色度分量重构值Cr’,例如,将第二色度分量重构值Cr与第二色度分量偏移值I2的和,作为第二目标色度分量重构值Cr’。
综上所述,可以得到当前像素位置的目标色度分量重构值,即Cb’和Cr’。
情况二,参见图6B所示,为CCALF滤波处理的示意图,色度分量重构值包括第一色度分量重构值Cb和第二色度分量重构值Cr,CCALF用于获得色度分量偏移值,该色度分量偏移值作为第一色度分量重构值Cb对应的第一色度分量偏移值I1,基于该色度分量偏移值获得第二色度分量重构值Cr对应的第二色度分量偏移值I2
在上述应用场景下,参见图6B所示,I0可以为目标像素位置的亮度分量重构值(即Luma)和目标像素位置的相邻像素位置的亮度分量重构值(即Luma),可以将目标像素位置的亮度分量重构值和相邻像素位置的亮度分量重构值输入给CCALF(即联合CCALF)。
CCALF包括目标像素位置的CCALF滤波系数和相邻像素位置的CCALF滤波系数,因此,CCALF可以基于目标像素位置的亮度分量重构值,目标像素位置的CCALF滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,对此滤波处理过程不做限制,得到当前像素位置的第一色度分量偏移值I1
然后,根据第一色度分量偏移值I1获取当前像素位置的第二色度分量偏移值I2,例如,第二色度分量偏移值I2可以为第一色度分量偏移值I1乘以系数w。示例性的,针对编码端来说,系数w可以任意配置,对此不做限制。针对解码端来说,编码端可以通过码流将系数w传输给解码端,解码端从码流中解析系数w,即解码端的系数w与编码端的系数w相同。
在得到当前像素位置的第一色度分量偏移值I1后,可以利用第一色度分量重构值Cb与第一色度分量偏移值I1,获得当前像素位置的第一目标色度分量重构值Cb’,例如,将第一色度分量重构值Cb与第一色度分量偏移值I1的和,作为第一目标色度分量重构值Cb’。
在得到当前像素位置的第二色度分量偏移值I2后,可以利用第二色度分量重构值Cr与第二色度分量偏移值I2,获得当前像素位置的第二目标色度分量重构值Cr’,例如,将第二色度分量重构值Cr与第二色度分量偏移值I2的和,作为第二目标色度分量重构值Cr’。
综上所述,可以得到当前像素位置的目标色度分量重构值,即Cb’和Cr’。
情况三,参见图6C所示,为CCALF和ALF联合滤波处理的示意图,色度分量重构值包括第一色度分量重构值Cb和第二色度分量重构值Cr,第一CCALF用于获得第一色度分量重构值Cb对应的第一色度分量偏移值I1,第二CCALF用于获得第二色度分量重构值Cr对应的第二色度分量偏移值I2。在上述应用场景下,I0为目标像素位置的亮度分量重构值(即Luma)和目标像素位置的相邻像素位置的亮度分量重构值(即Luma),将目标像素位置的亮度分量重构值和相邻像素位置的亮度分量重构值输入给第一CCALF和第二CCALF。
第一CCALF包括目标像素位置的CCALF滤波系数和相邻像素位置的CCALF滤波系数,因此,第一CCALF可以基于目标像素位置的亮度分量重构值,目标像素位置的CCALF滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,对此滤波处理过程不做限制,得到当前像素位置的第一色度分量偏移值I1
第二CCALF包括目标像素位置的CCALF滤波系数和相邻像素位置的CCALF滤波系数,因此,第二CCALF可以基于目标像素位置的亮度分量重构值,目标像素位置的CCALF滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,对此滤波处理过程不做限制,得到当前像素位置的第二色度分量偏移值I2
在情况一中,直接将目标像素位置的亮度分量重构值作为目标像素位置的目标亮度分量重构值。与情况一不同的是,在情况三中,基于目标像素位置的亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标像素位置的目标亮度分量重构值。
参见图6C所示,可以将目标像素位置的亮度分量重构值和相邻像素位置的亮度分量重构值输入给第一ALF,第一ALF用于对亮度分量重构值进行滤波处理。第一ALF可以包括目标像素位置的ALF亮度滤波系数和相邻像素位置的ALF亮度滤波系数,因此,第一ALF可以基于目标像素位置的亮度分量重构值,目标像素位置的ALF亮度滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的ALF亮度滤波系数,进行基于ALF的滤波处理,对此滤波处理过程不做限制,最终得到目标像素位置的目标亮度分量重构值。
情况一中,根据色度分量重构值与色度分量偏移值确定目标色度分量重构值。与情况一不同的是,情况三中,基于当前像素位置的色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到当前像素位置的滤波处理后的色度分量重构值;例如,基于当前像素位置的色度分量重构值和当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的色度分量重构值和当前像素位置的相邻像素位置的ALF色度滤波系数,进行基于ALF的滤波处理,得到当前像素位置的滤波处理后的色度分量重构值。然后,根据滤波处理后的色度分量重构值和当前像素位置的色度分量偏移值,获得当前像素位置的目标色度分量重构值。
参见图6C所示,将当前像素位置的第一色度分量重构值Cb和当前像素位置的相邻像素位置的第一色度分量重构值Cb输入给第二ALF。第二ALF包括当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的ALF色度滤波系数,因此,第二ALF可以基于当前像素位置的第一色度分量重构值Cb,当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的第一色度分量重构值Cb,当前像素位置的相邻像素位置的ALF色度滤波系数进行基于ALF的滤波处理,得到滤波处理后的第一色度分量重构值。然后,将滤波处理后的第一色度分量重构值与第一色度分量偏移值I1的和,作为第一目标色度分量重构值Cb’。
将当前像素位置的第二色度分量重构值Cr和当前像素位置的相邻像素位置的第二色度分量重构值Cr输入给第二ALF。第二ALF包括当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的ALF色度滤波系数,因此,第二ALF可以基于当前像素位置的第二色度分量重构值Cr,当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的第二色度分量重构值Cr,当前像素位置的相邻像素位置的ALF色度滤波系数进行基于ALF的滤波处理,得到滤波处理后的第二色度分量重构值。然后,可以将滤波处理后的第二色度分量重构值与第二色度分量偏移值I2的和,作为第二目标色度分量重构值Cr’。
示例性的,第二ALF对第一色度分量重构值Cb进行滤波处理的方式,与对第二色度分量重构值Cr进行滤波处理的方式,二者可以相同,也可以不同,对此不做限制。
综上所述,可以得到当前像素位置的目标色度分量重构值,即第一目标色度分量重构值Cb’和第二目标色度分量重构值Cr’,并得到目标像素位置的目标亮度分量重构值。
情况四,参见图6D所示,为CCALF和ALF联合滤波处理的示意图,色度分量重构值包括第一色度分量重构值Cb和第二色度分量重构值Cr,CCALF用于获得色度分量偏移值,该色度分量偏移值作为第一色度分量重构值Cb对应的第一色度分量偏移值I1,基于该色度分量偏移值获得第二色度分量重构值Cr对应的第二色度分量偏移值I2。I0可以为目标像素位置的亮度分量重构值和目标像素位置的相邻像素位置的亮度分量重构值,可以将目标像素位置的亮度分量重构值和相邻像素位置的亮度分量重构值输入给CCALF(即联合CCALF)。
CCALF包括目标像素位置的CCALF滤波系数和相邻像素位置的CCALF滤波系数,因此,可以基于目标像素位置的亮度分量重构值,目标像素位置的CCALF滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,得到当前像素位置的第一色度分量偏移值I1。根据第一色度分量偏移值I1获取当前像素位置的第二色度分量偏移值I2,如第二色度分量偏移值I2为第一色度分量偏移值I1乘以系数w。
与情况二不同的是,在情况四中,基于目标像素位置的亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标像素位置的目标亮度分量重构值。参见图6D所示,可以将目标像素位置的亮度分量重构值和相邻像素位置的亮度分量重构值输入给第一ALF。第一ALF包括目标像素位置的ALF亮度滤波系数和相邻像素位置的ALF亮度滤波系数,因此,第一ALF可以基于目标像素位置的亮度分量重构值,目标像素位置的ALF亮度滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的ALF亮度滤波系数,进行基于ALF的滤波处理,对此滤波处理过程不做限制,得到目标像素位置的目标亮度分量重构值。
在情况四中,基于当前像素位置的色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到当前像素位置的滤波处理后的色度分量重构值;例如,基于当前像素位置的色度分量重构值和当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的色度分量重构值和当前像素位置的相邻像素位置的ALF色度滤波系数,进行基于ALF的滤波处理,得到当前像素位置的滤波处理后的色度分量重构值。然后,根据滤波处理后的色度分量重构值和当前像素位置的色度分量偏移值,获得当前像素位置的目标色度分量重构值。
参见图6D所示,将当前像素位置的第一色度分量重构值Cb和当前像素位置的相邻像素位置的第一色度分量重构值Cb输入给第二ALF。第二ALF包括当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的ALF色度滤波系数,因此,第二ALF可以基于当前像素位置的第一色度分量重构值Cb,当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的第一色度分量重构值Cb,当前像素位置的相邻像素位置的ALF色度滤波系数进行基于ALF的滤波处理,得到滤波处理后的第一色度分量重构值。然后,将滤波处理后的第一色度分量重构值与第一色度分量偏移值I1的和,作为第一目标色度分量重构值Cb’。
将当前像素位置的第二色度分量重构值Cr和当前像素位置的相邻像素位置的第二色度分量重构值Cr输入给第二ALF。第二ALF包括当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的ALF色度滤波系数,因此,第二ALF可以基于当前像素位置的第二色度分量重构值Cr,当前像素位置的ALF色度滤波系数,当前像素位置的相邻像素位置的第二色度分量重构值Cr,当前像素位置的相邻像素位置的ALF色度滤波系数进行基于ALF的滤波处理,得到滤波处理后的第二色度分量重构值。然后,可以将滤波处理后的第二色度分量重构值与第二色度分量偏移值I2的和,作为第二目标色度分量重构值Cr’。
综上所述,可以得到当前像素位置的目标色度分量重构值,即第一目标色度分量重构值Cb’和第二目标色度分量重构值Cr’,并得到目标像素位置的目标亮度分量重构值。
在上述实施例中,针对情况三和情况四来说,CCALF和ALF共存,即采用CCALF和ALF联合滤波。针对情况一和情况二来说,CCALF可以独立于ALF,即,当ALF关闭的情况下,仍然可以采用CCALF对色度分量重构值进行补偿,得到目标色度分量重构值。
在上述实施例中,均是基于目标像素位置的亮度分量重构值,采用CCALF得到色度分量偏移值,然后利用色度分量偏移值对当前像素位置的色度分量重构值进行补偿,得到当前像素位置的目标色度分量重构值。示例性的,当ALF开启时,对至少一个像素位置(即当前像素位置)执行ALF的环路滤波操作,再将ALF后的的重构值加上色度分量偏移值(基于目标像素位置的亮度分量重构值得到),得到到当前像素位置的目标色度分量重构值。
由以上技术方案可见,本申请实施例中,能够基于目标像素位置的亮度分量重构值和目标像素位置的相邻像素位置的亮度分量重构值,进行基于CCALF的滤波处理,得到当前像素位置的色度分量偏移值,并利用当前像素位置的色度分量重构值和当前像素位置的色度分量偏移值,获得当前像素位置的目标色度分量重构值,提高CCALF的环路滤波的准确性,提高CCALF的环路滤波效果,提高编码性能,使当前处理单元的重构值更接近原始像素。
实施例3:在实施例2中,需要根据目标像素位置的CCALF滤波系数和相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理。为了得到目标像素位置的CCALF滤波系数和相邻像素位置的CCALF滤波系数,可以采用如下方式实现:
步骤s11、编码端和解码端均维护CCALF滤波系数列表,该CCALF滤波系数列表可以包括至少一个CCALF滤波系数集合。针对该CCALF滤波系数列表中的每个CCALF滤波系数集合来说,该CCALF滤波系数集合可以包括多个CCALF滤波系数。
针对每个CCALF滤波系数集合来说,CCALF滤波系数集合包括目标像素位置的CCALF滤波系数(即一个目标像素位置的CCALF滤波系数)和目标像素位置的相邻像素位置的CCALF滤波系数(如多个相邻像素位置的CCALF滤波系数)。在此情况下,可以从CCALF滤波系数集合中获取目标像素位置的CCALF滤波系数和相邻像素位置的CCALF滤波系数。
针对每个CCALF滤波系数集合来说,CCALF滤波系数集合可以包括目标像素位置的相邻像素位置的CCALF滤波系数(如多个相邻像素位置的CCALF滤波系数),但是未包括目标像素位置的CCALF滤波系数。在此情况下,可以从CCALF滤波系数集合中获取相邻像素位置的CCALF滤波系数。针对目标像素位置的CCALF滤波系数,可以将预设数值作为目标像素位置的CCALF滤波系数,或采用其它方式获取目标像素位置的CCALF滤波系数,对此不做限制,只是CCALF滤波系数集合未包括目标像素位置的CCALF滤波系数。
在一种可能的实施方式中,编码端和解码端可以预先配置CCALF滤波系数列表,只要编码端的CCALF滤波系数列表与解码端的CCALF滤波系数列表相同即可。例如,预先在编码端配置CCALF滤波系数列表A,并在解码端配置CCALF滤波系数列表A。
在另一种可能的实施方式中,编码端可以获取CCALF滤波系数列表,对此获取方式不做限制,只要能够获取到CCALF滤波系数列表即可。然后,编码端通过码流将CCALF滤波系数列表发送给解码端,解码端可以从码流中解析出CCALF滤波系数列表。
示例性的,CCALF滤波系数列表可以是帧级的CCALF滤波系数列表,即,针对一帧图像中的所有图像块,共用同一个帧级的CCALF滤波系数列表。在此基础上,编码端通过码流携带帧级的CCALF滤波系数列表,解码端从码流中解析帧级的CCALF滤波系数列表。解码端在得到CCALF滤波系数列表后,可以在本地存储CCALF滤波系数列表。
示例性的,CCALF滤波系数列表可以是序列级(SPS)的CCALF滤波系数列表,即针对多帧图像中的所有图像块,共用同一个序列级的CCALF滤波系数列表。在此基础上,编码端通过码流携带序列级的CCALF滤波系数列表,解码端从码流中解析序列级的CCALF滤波系数列表。解码端在得到CCALF滤波系数列表后,可以在本地存储CCALF滤波系数列表。
示例性的,CCALF滤波系数列表可以是自适应参数集(Adaptive Parameter Set,APS)级的CCALF滤波系数列表,即,针对多帧图像中的所有图像块,共用同一个自适应参数集级的CCALF滤波系数列表。在此基础上,编码端通过码流携带自适应参数集级的CCALF滤波系数列表,解码端从码流中解析自适应参数集级的CCALF滤波系数列表。解码端在得到自适应参数集级的CCALF滤波系数列表后,可以在本地存储CCALF滤波系数列表。
示例性的,针对自适应参数集级的CCALF滤波系数列表的情况,可以存在至少一个自适应参数集级的CCALF滤波系数列表,可以从至少一个自适应参数集级的CCALF滤波系数列表中选择一个自适应参数集级的CCALF滤波系数列表,作为图像级或者slice级的CCALF滤波系数列表。
当然,上述方式只是示例,对此不做限制,如CCALF滤波系数列表还可以是图像参数集(PPS)级的CCALF滤波系数列表,或片级(SLICE或者TILE)的CCALF滤波系数列表。
无论是哪个级别的CCALF滤波系数列表,只要编码端和解码端均维护有CCALF滤波系数列表,且编码端的CCALF滤波系数列表与解码端的CCALF滤波系数列表相同即可。
步骤s12、获取当前处理单元的CCALF滤波系数集合。例如,针对编码端和解码端来说,均从当前处理单元的CCALF滤波系数列表中获取当前处理单元的CCALF滤波系数集合。
示例性的,若CCALF滤波系数列表是帧级的CCALF滤波系数列表,则可以根据帧级的CCALF滤波系数列表确定当前处理单元的CCALF滤波系数列表。比如说,可以将当前处理单元所在帧的CCALF滤波系数列表,确定为当前处理单元的CCALF滤波系数列表。
示例性的,若CCALF滤波系数列表是序列级的CCALF滤波系数列表,则可以根据序列级的CCALF滤波系数列表确定当前处理单元的CCALF滤波系数列表。比如说,可以将当前处理单元所在序列的CCALF滤波系数列表,确定为当前处理单元的CCALF滤波系数列表。
示例性的,若CCALF滤波系数列表是自适应参数集级的CCALF滤波系数列表,则根据自适应参数集级的CCALF滤波系数列表确定当前处理单元的CCALF滤波系数列表。比如说,可以将当前处理单元所在自适应参数集的CCALF滤波系数列表,确定为当前处理单元的CCALF滤波系数列表。
示例性的,针对编码端来说,确定当前处理单元是否启动CCALF滤波操作,对此确定方式不做限制。若当前处理单元启动CCALF滤波操作,则从当前处理单元的CCALF滤波系数列表中获取当前处理单元的CCALF滤波系数集合。例如,针对CCALF滤波系数列表中的每个CCALF滤波系数集合,编码端可以确定该CCALF滤波系数集合对应的率失真代价值,对此确定方式不做限制。将最小的率失真代价值对应的CCALF滤波系数集合,作为当前处理单元的CCALF滤波系数集合。
编码端在向解码端发送针对当前处理单元的编码比特流时,该编码比特流中可以携带CCALF滤波系数集合的指示信息。例如,若当前处理单元未启动CCALF滤波操作,则CCALF滤波系数集合的指示信息用于指示当前处理单元未启动CCALF滤波操作。或者,若当前处理单元启动CCALF滤波操作,则CCALF滤波系数集合的指示信息用于指示当前处理单元启动CCALF滤波操作,且该指示信息用于指示当前处理单元的CCALF滤波系数集合在CCALF滤波系数列表中的索引值。
针对解码端来说,可以获取当前处理单元的编码比特流,并从该编码比特流中获取CCALF滤波系数集合的指示信息。若该指示信息用于指示当前处理单元未启动CCALF滤波操作,则解码端不需要执行CCALF滤波操作。若该指示信息用于指示当前处理单元启动CCALF滤波操作,且指示当前处理单元的CCALF滤波系数集合在CCALF滤波系数列表中的索引值,则解码端基于该指示信息从当前处理单元的CCALF滤波系数列表中获取当前处理单元的CCALF滤波系数集合,例如,将CCALF滤波系数列表中与该索引值对应的CCALF滤波系数集合作为当前处理单元的CCALF滤波系数集合。然后,解码端基于当前处理单元的CCALF滤波系数集合执行CCALF滤波操作。
步骤s13、获取目标像素位置的CCALF滤波系数,并从当前处理单元的CCALF滤波系数集合中获取目标像素位置的相邻像素位置的CCALF滤波系数。例如,若CCALF滤波系数集合包括目标像素位置的CCALF滤波系数,则从当前处理单元的CCALF滤波系数集合中获取目标像素位置的CCALF滤波系数。或者,若CCALF滤波系数集合未包括目标像素位置的CCALF滤波系数,则将预设数值作为目标像素位置的CCALF滤波系数,或采用其它方式获取目标像素位置的CCALF滤波系数,对此不做限制,能够得到目标像素位置的CCALF滤波系数即可。
示例性的,在得到目标像素位置的CCALF滤波系数,相邻像素位置的CCALF滤波系数后,就可以基于目标像素位置的亮度分量重构值,目标像素位置的CCALF滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,得到当前像素位置的色度分量偏移值,具体实现过程可以参见上述实施例。
在上述实施例中,在通过码流传输CCALF滤波系数列表(如帧级的CCALF滤波系数列表,或序列级的CCALF滤波系数列表,或自适应参数集级的CCALF滤波系数列表)时,该CCALF滤波系数列表包括至少一个CCALF滤波系数集合,针对每个CCALF滤波系数集合,可以包括至少一个CCALF滤波系数。示例性的,针对CCALF滤波系数集合中的每个CCALF滤波系数:该CCALF滤波系数为0,或2的N次方,或2的N次方的负值,N为0或小于第一阈值的正整数;和/或,该CCALF滤波系数位于第二阈值与第三阈值之间。
例如,为了减少滤波过程中的乘法操作,用移位代替乘法操作,可以对CCALF滤波系数进行限制,将CCALF滤波系数限制为0,或2的N次方(即幂次方),或2的N次方的负值,第一阈值可以根据经验进行配置,对此不做限制,如第一阈值为5、6等。基于此,CCALF滤波系数可以为0,1,2,4,8,16,32,64,-1,-2,-4,-8,-16,-32,-64等。综上所述,针对CCALF滤波系数集合中的每个CCALF滤波系数,均需要满足上述限制关系。
又例如,将CCALF滤波系数限制在第二阈值与第三阈值之间,第二阈值和第三阈值均可以根据经验进行配置,对此不做限制,例如,第二阈值可以为负值,第三阈值可以为正值,如第二阈值可以为-64,第三阈值可以为64,这样,可以将CCALF滤波系数限制在[-64,64]的范围内,如第二阈值可以为-63,第三阈值可以为63,这样,可以将CCALF滤波系数限制在[-63,63]的范围内,如第二阈值可以为-127,第三阈值可以为127,这样,可以将CCALF滤波系数限制在[-127,127]的范围内,如第二阈值可以为-32,第三阈值可以为32,这样,可以将CCALF滤波系数限制在[-32,32]的范围内。当然,上述只是几个示例,对此不做限制。综上所述,针对CCALF滤波系数集合中的每个CCALF滤波系数,均需要满足上述限制关系。
又例如,将CCALF滤波系数限制为0,或2的N次方,或2的N次方的负值,N为0或小于第一阈值的正整数,并将CCALF滤波系数限制在第二阈值与第三阈值之间,如第一阈值为6,第二阈值可以为-63,第三阈值可以为63,则CCALF滤波系数可以为0,1,2,4,8,16,32,-1,-2,-4,-8,-16,-32,即每个CCALF滤波系数均需要满足上述限制关系。
在上述实施例中,在通过码流传输CCALF滤波系数列表时,该CCALF滤波系数列表包括至少一个CCALF滤波系数集合,针对每个CCALF滤波系数集合,包括至少一个CCALF滤波系数。在码流传输CCALF滤波系数集合中的每个CCALF滤波系数时,采用定长码编码方式对CCALF滤波系数的映射值(如CCALF滤波系数为2的N次方时,映射值为N+1)进行编码,且采用定长码解码方式对CCALF滤波系数的映射值进行解码。例如,针对编码端来说,采用定长码编码方式对CCALF滤波系数的映射值进行编码,将编码后的映射值添加到码流,从而固定编码比特开销,减少比特开销。针对解码端,采用定长码解码方式对CCALF滤波系数的映射值进行解码,得到解码后的映射值,并将映射值转换为CCALF滤波系数,例如,将映射值N+1转换为2的N次方,而2的N次方为CCALF滤波系数。
在上述实施例中,在通过码流传输CCALF滤波系数列表时,该CCALF滤波系数列表包括至少一个CCALF滤波系数集合,针对每个CCALF滤波系数集合,包括至少一个CCALF滤波系数。针对CCALF滤波系数集合中的每个CCALF滤波系数:若CCALF滤波系数不为0,则码流中可以包括CCALF滤波系数的指示信息r1和指示信息r2,该指示信息r1用于指示CCALF滤波系数的幅值,该指示信息r2用于指示CCALF滤波系数的符号位。
例如,针对编码端来说,在需要传输CCALF滤波系数时,当CCALF滤波系数非零时,分离CCALF滤波系数的符号位和CCALF滤波系数的幅值,如针对CCALF滤波系数-32来说,CCALF滤波系数的符号位为负(-),CCALF滤波系数的幅值为32,针对CCALF滤波系数32来说,CCALF滤波系数的符号位为正(+),CCALF滤波系数的幅值为32。基于此,编码端在码流中添加指示信息r1和指示信息r2,指示信息r1用于指示CCALF滤波系数的幅值(如32),指示信息r2可以为一个比特位,用于表示正负的符号位。
针对解码端来说,在解码CCALF滤波系数时,先从码流中解析出指示信息r1,基于指示信息r1确定CCALF滤波系数的幅值(如32)。当CCALF滤波系数的幅值非零时,再从码流中解析出指示信息r2,基于指示信息r2确定CCALF滤波系数的符号位。然后,将CCALF滤波系数的幅值和CCALF滤波系数的符号位,组成CCALF滤波系数。
综上所述,针对编码端来说,CCALF滤波系数的编码方式可以包括:在CCALF滤波系数为2的N次方(或2的N次方的负值)的情况下,对CCALF滤波系数的幅值进行映射,映射值为N+1,如CCALF滤波系数为2的3次方(或2的3次方的负值),则映射值为4。然后,采用定长码编码方式对映射值4进行编码,定长码的长度取决于CCALF滤波系数的最大范围,比如当N最大为7时,定长码的长度需要M比特进行编码,如M可以为3。此外,在码流中添加一个比特位,用于表示CCALF滤波系数的正负的符号位。示例性的,当CCALF滤波系数为0时,无需进行映射过程,直接在码流中编码CCALF滤波系数。
针对解码端来说,CCALF滤波系数的解码方式可以包括:在从码流中解码CCALF滤波系数时,采用定长码解码方式对码流中的CCALF滤波系数进行解码,得到映射值(即N+1),然后,将映射值转换为2的N次方,例如,若映射值为4,则将映射值转换为2的3次方,即8。然后,从码流中解析出CCALF滤波系数的正负的符号位,若为正的符号位,则CCALF滤波系数为8,若为负的符号位,则CCALF滤波系数为-8,至此得到CCALF滤波系数。
此外,若解码端从码流中解析出0,则可以直接确定CCALF滤波系数为0。
实施例4:针对实施例2和实施例3,可以涉及CCALF滤波系数集合,CCALF滤波系数集合包括目标像素位置的CCALF滤波系数和目标像素位置的相邻像素位置的CCALF滤波系数,或者,CCALF滤波系数集合包括目标像素位置的相邻像素位置的CCALF滤波系数。以下结合几个具体情况,对CCALF滤波系数集合中的CCALF滤波系数进行说明。
情况一,参见图7A所示,为目标像素位置的相邻像素位置的示意图。像素位置A3为目标像素位置,CCALF滤波系数集合包括:目标像素位置的正上侧像素位置(即像素位置A1)的CCALF滤波系数,目标像素位置的左侧像素位置(即像素位置A2)的CCALF滤波系数,目标像素位置的右侧像素位置(即像素位置A4)的CCALF滤波系数,目标像素位置的正下侧像素位置(即像素位置A6)的CCALF滤波系数,目标像素位置的左下侧像素位置(即像素位置A5)的CCALF滤波系数,目标像素位置的右下侧像素位置(即像素位置A7)的CCALF滤波系数,目标像素位置的正下侧第二行像素位置(即像素位置A8)的CCALF滤波系数。
在一种可能的实施方式中,参见图7B所示,像素位置A1的CCALF滤波系数为f0,像素位置A2的CCALF滤波系数为f1,像素位置A3的CCALF滤波系数为f2,像素位置A4的CCALF滤波系数为f3,像素位置A5的CCALF滤波系数为f4,像素位置A6的CCALF滤波系数为f5,像素位置A7的CCALF滤波系数为f6,像素位置A8的CCALF滤波系数为f7。综上所述,每个像素位置的CCALF滤波系数均不同,f2为目标像素位置的CCALF滤波系数,f0,f1,f3,f4,f5,f6,f7分别为各相邻像素位置的CCALF滤波系数。
在另一种可能的实施方式中,参见图7C所示,像素位置A1的CCALF滤波系数为f0,像素位置A2的CCALF滤波系数为f1,像素位置A3的CCALF滤波系数为f2,像素位置A4的CCALF滤波系数为f3,像素位置A5的CCALF滤波系数为f4,像素位置A6的CCALF滤波系数为f5,像素位置A7的CCALF滤波系数为f6,像素位置A8的CCALF滤波系数为f0。综上所述,f2为目标像素位置的CCALF滤波系数,f0,f1,f3,f4,f5,f6分别为各相邻像素位置的CCALF滤波系数,像素位置A1(即正上侧像素位置)的CCALF滤波系数f0与像素位置A8(即正下侧第二行像素位置)的CCALF滤波系数f0可以相同。
在上述方式中,通过将像素位置A1与像素位置A8的CCALF滤波系数设置为相同,从而简化CCALF滤波系数的设计,减少CCALF滤波系数集合中的CCALF滤波系数数量。
在另一种可能的实施方式中,参见图7D所示,像素位置A1的CCALF滤波系数为f0,像素位置A2的CCALF滤波系数为f1,像素位置A3的CCALF滤波系数为f2,像素位置A4的CCALF滤波系数为f1,像素位置A5的CCALF滤波系数为f3,像素位置A6的CCALF滤波系数为f4,像素位置A7的CCALF滤波系数为f3,像素位置A8的CCALF滤波系数为f0。f2为目标像素位置的CCALF滤波系数,f0,f1,f3,f4分别为各相邻像素位置的CCALF滤波系数。像素位置A1(即正上侧像素位置)的CCALF滤波系数f0与像素位置A8(即正下侧第二行像素位置)的CCALF滤波系数f0相同。像素位置A2(即左侧像素位置)的CCALF滤波系数f1与像素位置A4(即右侧像素位置)的CCALF滤波系数f1相同。像素位置A5(即左下侧像素位置)的CCALF滤波系数f3与像素位置A7(即右下侧像素位置)的CCALF滤波系数f3相同。在上述方式中,通过将不同像素位置的CCALF滤波系数设置为相同,从而简化CCALF滤波系数的设计,减少CCALF滤波系数集合中的CCALF滤波系数数量。
在另一种可能的实施方式中,参见图7E所示,像素位置A1的CCALF滤波系数为f0,像素位置A2的CCALF滤波系数为f1,像素位置A3的CCALF滤波系数为f2,像素位置A4的CCALF滤波系数为f3,像素位置A5的CCALF滤波系数为f3,像素位置A6的CCALF滤波系数为f4,像素位置A7的CCALF滤波系数为f1,像素位置A8的CCALF滤波系数为f0。f2为目标像素位置的CCALF滤波系数,f0,f1,f3,f4分别为各相邻像素位置的CCALF滤波系数。像素位置A1(即正上侧像素位置)的CCALF滤波系数f0与像素位置A8(即正下侧第二行像素位置)的CCALF滤波系数f0相同。像素位置A2(即左侧像素位置)的CCALF滤波系数f1与像素位置A7(即右下侧像素位置)的CCALF滤波系数f1相同。像素位置A4(即右侧像素位置)的CCALF滤波系数f3与像素位置A5(即左下侧像素位置)的CCALF滤波系数f3相同。在上述方式中,通过将不同像素位置的CCALF滤波系数设置为相同,从而简化CCALF滤波系数的设计,减少CCALF滤波系数集合中的CCALF滤波系数数量。
当然,上述几种方式只是示例,可以将任意像素位置的CCALF滤波系数设置为相同,例如,只要CCALF滤波系数具有中心对称性即可,对此CCALF滤波系数不做限制。
情况二,参见图7F所示,为目标像素位置的相邻像素位置的示意图。像素位置B7为目标像素位置,CCALF滤波系数集合包括:目标像素位置的正上侧第二行像素位置(像素位置B1)的CCALF滤波系数,目标像素位置的左上侧像素位置(像素位置B2)的CCALF滤波系数,目标像素位置的正上侧像素位置(像素位置B3)的CCALF滤波系数,目标像素位置的右上侧像素位置(像素位置B4)的CCALF滤波系数,目标像素位置的左侧第二列像素位置(像素位置B5)的CCALF滤波系数,目标像素位置的左侧像素位置(像素位置B6)的CCALF滤波系数,目标像素位置的右侧像素位置(像素位置B8)的CCALF滤波系数,目标像素位置的右侧第二列像素位置(像素位置B9)的CCALF滤波系数,目标像素位置的左下侧像素位置(像素位置B10)的CCALF滤波系数,目标像素位置的正下侧像素位置(像素位置B11)的CCALF滤波系数,目标像素位置的右下侧像素位置(像素位置B12)的CCALF滤波系数,目标像素位置的正下侧第二行像素位置(像素位置B13)的CCALF滤波系数。
在一种可能的实施方式中,参见图7G所示,像素位置B1的CCALF滤波系数为f0,像素位置B2的CCALF滤波系数为f1,像素位置B3的CCALF滤波系数为f2,像素位置B4的CCALF滤波系数为f3,像素位置B5的CCALF滤波系数为f4,像素位置B6的CCALF滤波系数为f5,像素位置B7的CCALF滤波系数为f6,像素位置B8的CCALF滤波系数为f7,像素位置B9的CCALF滤波系数为f8,像素位置B10的CCALF滤波系数为f9,像素位置B11的CCALF滤波系数为f10,像素位置B12的CCALF滤波系数为f11,像素位置B13的CCALF滤波系数为f12。综上所述,每个像素位置的CCALF滤波系数均不同,f6为目标像素位置的CCALF滤波系数,f0-f5,f7-f12分别为各相邻像素位置的CCALF滤波系数。
在另一种可能的实施方式中,参见图7H所示,像素位置B1的CCALF滤波系数为f0,像素位置B2的CCALF滤波系数为f1,像素位置B3的CCALF滤波系数为f2,像素位置B4的CCALF滤波系数为f3,像素位置B5的CCALF滤波系数为f4,像素位置B6的CCALF滤波系数为f5,像素位置B7的CCALF滤波系数为f6,像素位置B8的CCALF滤波系数为f5,像素位置B9的CCALF滤波系数为f4,像素位置B10的CCALF滤波系数为f3,像素位置B11的CCALF滤波系数为f2,像素位置B12的CCALF滤波系数为f1,像素位置B13的CCALF滤波系数为f0。综上所述,像素位置B1(正上侧第二行像素位置)的CCALF滤波系数f0与像素位置B13(正下侧第二行像素位置)的CCALF滤波系数f0相同。像素位置B2(左上侧像素位置)的CCALF滤波系数f1与像素位置B12(右下侧像素位置)的CCALF滤波系数f1相同。像素位置B3(正上侧像素位置)的CCALF滤波系数f2与像素位置B11(正下侧像素位置)的CCALF滤波系数f2相同。像素位置B4(右上侧像素位置)的CCALF滤波系数f3与像素位置B10(左下侧像素位置)的CCALF滤波系数f3相同。像素位置B5(左侧第二列像素位置)的CCALF滤波系数f4与像素位置B9(右侧第二列像素位置)的CCALF滤波系数f4相同。像素位置B6(左侧像素位置)的CCALF滤波系数f5与像素位置B8(右侧像素位置)的CCALF滤波系数f5相同。通过将不同像素位置的CCALF滤波系数设为相同,简化CCALF滤波系数设计,减少CCALF滤波系数集合的CCALF滤波系数数量。
在另一种可能的实施方式中,参见图7I所示,像素位置B1的CCALF滤波系数为f0,像素位置B2的CCALF滤波系数为f1,像素位置B3的CCALF滤波系数为f2,像素位置B4的CCALF滤波系数为f1,像素位置B5的CCALF滤波系数为f4,像素位置B6的CCALF滤波系数为f5,像素位置B7的CCALF滤波系数为f6,像素位置B8的CCALF滤波系数为f5,像素位置B9的CCALF滤波系数为f4,像素位置B10的CCALF滤波系数为f3,像素位置B11的CCALF滤波系数为f2,像素位置B12的CCALF滤波系数为f3,像素位置B13的CCALF滤波系数为f0。综上所述,像素位置B1(正上侧第二行像素位置)的CCALF滤波系数f0与像素位置B13(正下侧第二行像素位置)的CCALF滤波系数f0相同。像素位置B2(左上侧像素位置)的CCALF滤波系数f1与像素位置B4(右上侧像素位置)的CCALF滤波系数f1相同。像素位置B3(正上侧像素位置)的CCALF滤波系数f2与像素位置B11(正下侧像素位置)的CCALF滤波系数f2相同。像素位置B5(左侧第二列像素位置)的CCALF滤波系数f4与像素位置B9(右侧第二列像素位置)的CCALF滤波系数f4相同。像素位置B6(左侧像素位置)的CCALF滤波系数f5与像素位置B8(右侧像素位置)的CCALF滤波系数f5相同。像素位置B10(左下侧像素位置)的CCALF滤波系数f3与像素位置B12(右下侧像素位置)的CCALF滤波系数f3相同。通过将不同像素位置的CCALF滤波系数设为相同,简化CCALF滤波系数设计,减少CCALF滤波系数集合的CCALF滤波系数数量。
当然,上述几种方式只是示例,可以将任意像素位置的CCALF滤波系数设置为相同,例如,只要CCALF滤波系数具有中心对称性即可,对此CCALF滤波系数不做限制。
情况三,参见图7J所示,为目标像素位置的相邻像素位置的示意图。像素位置C3可以为目标像素位置,CCALF滤波系数集合,可以包括:该目标像素位置的正上侧像素位置(即像素位置C1)的CCALF滤波系数,该目标像素位置的左侧像素位置(即像素位置C2)的CCALF滤波系数,该目标像素位置的正下侧像素位置(即像素位置C4)的CCALF滤波系数,该目标像素位置的右下侧像素位置(即像素位置C5)的CCALF滤波系数,该目标像素位置的正下侧第二行像素位置(即像素位置C6)的CCALF滤波系数。
在一种可能的实施方式中,参见图7K所示,像素位置C1的CCALF滤波系数为f0,像素位置C2的CCALF滤波系数为f4,像素位置C3的CCALF滤波系数为f1,像素位置C4的CCALF滤波系数为f2,像素位置C5的CCALF滤波系数为f5,像素位置C6的CCALF滤波系数为f3。综上所述,每个像素位置的CCALF滤波系数均不同,f1为目标像素位置的CCALF滤波系数,f0,f2,f3,f4,f5分别为各相邻像素位置的CCALF滤波系数。
在另一种可能的实施方式中,参见图7L所示,像素位置C1的CCALF滤波系数为f0,像素位置C2的CCALF滤波系数为f4,像素位置C3的CCALF滤波系数为f1,像素位置C4的CCALF滤波系数为f2,像素位置C5的CCALF滤波系数为f4,像素位置C6的CCALF滤波系数为f3。像素位置C2(左侧像素位置)的CCALF滤波系数f4与像素位置C5(右下侧像素位置)的CCALF滤波系数f4相同。通过将不同像素位置的CCALF滤波系数设为相同,简化CCALF滤波系数设计,减少CCALF滤波系数集合的CCALF滤波系数数量。
当然,上述几种方式只是示例,可以将任意像素位置的CCALF滤波系数设置为相同,例如,只要CCALF滤波系数具有中心对称性即可,对此CCALF滤波系数不做限制。
情况四,参见图7M所示,为目标像素位置的相邻像素位置的示意图。像素位置D3可以为目标像素位置,CCALF滤波系数集合,可以包括:目标像素位置的正上侧像素位置(即像素位置D1)的CCALF滤波系数,目标像素位置的左侧像素位置(即像素位置D2)的CCALF滤波系数,目标像素位置的右侧像素位置(即像素位置D4)的CCALF滤波系数,目标像素位置的正下侧像素位置(即像素位置D5)的CCALF滤波系数。
在一种可能的实施方式中,参见图7N所示,像素位置D1的CCALF滤波系数为f0,像素位置D2的CCALF滤波系数为f1,像素位置D3的CCALF滤波系数为f2,像素位置D4的CCALF滤波系数为f3,像素位置D5的CCALF滤波系数为f4。
综上所述,每个像素位置的CCALF滤波系数均不同,f2为目标像素位置的CCALF滤波系数,f0,f1,f3,f4分别为各相邻像素位置的CCALF滤波系数。
实施例5:在实施例2中,需要根据ALF亮度滤波系数进行基于ALF的滤波处理,对此滤波处理过程不做限制,为了得到ALF亮度滤波系数,可以采用如下方式实现:
步骤s21、编码端和解码端均维护ALF亮度滤波系数列表,该ALF亮度滤波系数列表可以包括至少一个ALF亮度滤波系数集合。针对该ALF亮度滤波系数列表中的每个ALF亮度滤波系数集合来说,该ALF亮度滤波系数集合可以包括多个ALF亮度滤波系数。
在一种可能的实施方式中,编码端和解码端可以预先配置ALF亮度滤波系数列表,只要编码端的ALF亮度滤波系数列表与解码端的ALF亮度滤波系数列表相同即可。
在另一种可能的实施方式中,编码端可以获取ALF亮度滤波系数列表,对此获取方式不做限制,只要能够获取到ALF亮度滤波系数列表即可。然后,编码端通过码流将ALF亮度滤波系数列表发送给解码端,解码端可以从码流中解析出ALF亮度滤波系数列表。
示例性的,ALF亮度滤波系数列表可以是帧级的ALF亮度滤波系数列表,编码端通过码流携带帧级的ALF亮度滤波系数列表,解码端从码流中解析帧级的ALF亮度滤波系数列表。或者,ALF亮度滤波系数列表可以是序列级的ALF亮度滤波系数列表,编码端通过码流携带序列级的ALF亮度滤波系数列表,解码端从码流中解析序列级的ALF亮度滤波系数列表。或者,ALF亮度滤波系数列表可以是自适应参数集级的ALF亮度滤波系数列表,编码端通过码流携带自适应参数集级的ALF亮度滤波系数列表,解码端从码流中解析自适应参数集级的ALF亮度滤波系数列表。当然,上述方式只是几个示例,对此不做限制。
示例性的,针对自适应参数集级的ALF亮度滤波系数列表的情况,可以存在至少一个自适应参数集级的ALF亮度滤波系数列表,可以从至少一个自适应参数集级的ALF亮度滤波系数列表中选择一个自适应参数集级的ALF亮度滤波系数列表,作为图像级或者slice级的ALF亮度滤波系数列表。
步骤s22、获取当前处理单元的ALF亮度滤波系数集合。例如,针对编码端和解码端来说,均可以从当前处理单元的ALF亮度滤波系数列表中获取当前处理单元的ALF亮度滤波系数集合。
关于编码端从当前处理单元的ALF亮度滤波系数列表中获取当前处理单元的ALF亮度滤波系数集合的方式,解码端从当前处理单元的ALF亮度滤波系数列表中获取当前处理单元的ALF亮度滤波系数集合的方式,可以参见实施例3,实现方式类似,在此不再重复赘述。
经过上述处理,就可以获取到当前处理单元的ALF亮度滤波系数集合,从ALF亮度滤波系数集合中获取ALF亮度滤波系数,并根据ALF亮度滤波系数进行基于ALF的滤波处理。
在上述实施例中,在通过码流传输ALF亮度滤波系数列表时,该ALF亮度滤波系数列表包括至少一个ALF亮度滤波系数集合,针对每个ALF亮度滤波系数集合,可以包括至少一个ALF亮度滤波系数。示例性的,针对ALF亮度滤波系数集合中的每个ALF亮度滤波系数:该ALF亮度滤波系数为0,或2的Q次方,或2的Q次方的负值,Q为0或小于第七阈值的正整数;和/或,该ALF亮度滤波系数位于第八阈值与第九阈值之间。
例如,为了减少滤波过程中的乘法操作,用移位代替乘法操作,可以对ALF亮度滤波系数进行限制,将ALF亮度滤波系数限制为0,或2的Q次方,或2的Q次方的负值,Q为0或小于第七阈值的正整数,第七阈值可以根据经验进行配置,如5、6等。基于此,ALF亮度滤波系数可以为0,1,2,4,8,16,32,64,-1,-2,-4,-8,-16,-32,-64等。
又例如,可以将ALF亮度滤波系数限制在第八阈值与第九阈值之间,第八阈值和第九阈值均可以根据经验进行配置,例如,第八阈值为负值,第九阈值为正值,如第八阈值为-64,第九阈值为64,从而可以将ALF亮度滤波系数限制在[-64,64]的范围内,如第八阈值为-63,第九阈值为63,从而可以将ALF亮度滤波系数限制在[-63,63]的范围内,如第八阈值为-127,第九阈值为127,从而可以将ALF亮度滤波系数限制在[-127,127]的范围内。如第八阈值为-32,第九阈值为32,从而可以将ALF亮度滤波系数限制在[-32,32]的范围内。
又例如,将ALF亮度滤波系数限制为0,或2的Q次方,或2的Q次方的负值,Q为0或小于第七阈值的正整数,并将ALF亮度滤波系数限制在第八阈值与第九阈值之间。
在上述实施例中,在通过码流传输ALF亮度滤波系数列表时,针对ALF亮度滤波系数集合中的每个ALF亮度滤波系数:编码端采用定长码编码方式对ALF亮度滤波系数的映射值进行编码,且解码端采用定长码解码方式对ALF亮度滤波系数的映射值进行解码。
在上述实施例中,在通过码流传输ALF亮度滤波系数列表时,针对ALF亮度滤波系数集合中的每个ALF亮度滤波系数:若ALF亮度滤波系数不为0,则码流中可以包括ALF亮度滤波系数的指示信息r3和指示信息r4,该指示信息r3用于指示ALF亮度滤波系数的幅值,该指示信息r4用于指示ALF亮度滤波系数的符号位(用于表示正负的符号位)。例如,针对编码端来说,在需要传输ALF亮度滤波系数时,当ALF亮度滤波系数非零时,分离ALF亮度滤波系数的符号位和ALF亮度滤波系数的幅值。针对解码端来说,先从码流中解析出指示信息r3,基于指示信息r3确定ALF亮度滤波系数的幅值,再从码流中解析出指示信息r4,基于指示信息r4确定ALF亮度滤波系数的符号位,最终得到ALF亮度滤波系数。
综上所述,针对编码端来说,在ALF亮度滤波系数为2的Q次方(或2的Q次方的负值)的情况下,对ALF亮度滤波系数的幅值进行映射,映射值为Q+1。然后,采用定长码编码方式对映射值Q+1进行编码,在码流中添加一个比特位,用于表示ALF亮度滤波系数的正负的符号位。针对解码端来说,采用定长码解码方式对码流中的ALF亮度滤波系数进行解码,得到映射值(即Q+1),然后,将映射值转换为2的Q次方,即ALF亮度滤波系数的幅值,从码流中解析出ALF亮度滤波系数的正负的符号位,最终得到ALF亮度滤波系数。
实施例6:在实施例2中,需要根据ALF色度滤波系数进行基于ALF的滤波处理,对此滤波处理过程不做限制,为了得到ALF色度滤波系数,可以采用如下方式实现:
步骤s31、编码端和解码端均维护ALF色度滤波系数列表,该ALF色度滤波系数列表可以包括至少一个ALF色度滤波系数集合。针对该ALF色度滤波系数列表中的每个ALF色度滤波系数集合来说,该ALF色度滤波系数集合可以包括多个ALF色度滤波系数。
在一种可能的实施方式中,编码端和解码端可以预先配置ALF色度滤波系数列表,只要编码端的ALF色度滤波系数列表与解码端的ALF色度滤波系数列表相同即可。
在另一种可能的实施方式中,编码端可以获取ALF色度滤波系数列表,通过码流将ALF色度滤波系数列表发送给解码端,解码端可以从码流中解析出ALF色度滤波系数列表。
示例性的,ALF色度滤波系数列表可以是帧级的ALF色度滤波系数列表,编码端通过码流携带帧级的ALF色度滤波系数列表,解码端从码流中解析帧级的ALF色度滤波系数列表。或者,ALF色度滤波系数列表可以是序列级的ALF色度滤波系数列表,编码端通过码流携带序列级的ALF色度滤波系数列表,解码端从码流中解析序列级的ALF色度滤波系数列表。或者,ALF色度滤波系数列表可以是自适应参数集级的ALF色度滤波系数列表,编码端通过码流携带自适应参数集级的ALF色度滤波系数列表,解码端从码流中解析自适应参数集级的ALF色度滤波系数列表。当然,上述方式只是几个示例,对此不做限制。
示例性的,针对自适应参数集级的ALF色度滤波系数列表的情况,可以存在至少一个自适应参数集级的ALF色度滤波系数列表,可以从至少一个自适应参数集级的ALF色度滤波系数列表中选择一个自适应参数集级的ALF色度滤波系数列表,作为图像级或者slice级的ALF色度滤波系数列表。
步骤s32、获取当前处理单元的ALF色度滤波系数集合。例如,针对编码端和解码端来说,均可以从当前处理单元的ALF色度滤波系数列表中获取当前处理单元的ALF色度滤波系数集合。
在上述实施例中,在通过码流传输ALF色度滤波系数列表时,该ALF色度滤波系数列表包括至少一个ALF色度滤波系数集合,针对每个ALF色度滤波系数集合,可以包括至少一个ALF色度滤波系数。示例性的,针对ALF色度滤波系数集合中的每个ALF色度滤波系数:该ALF色度滤波系数为0,或2的P次方,或2的P次方的负值,P为0或小于第四阈值的正整数;和/或,该ALF色度滤波系数位于第五阈值与第六阈值之间。
示例性的,例如,第四阈值可以根据经验进行配置,如5、6等,ALF色度滤波系数可以为0,1,2,4,8,16,32,64,-1,-2,-4,-8,-16,-32,-64等。又例如,第五阈值和第六阈值均可以根据经验进行配置,例如,第五阈值为负值,第六阈值为正值,如第五阈值为-64,第六阈值为64,或第五阈值为-63,第六阈值为63,或第五阈值为-127,第六阈值为127,或第五阈值为-32,第六阈值为32。
在上述实施例中,在通过码流传输ALF色度滤波系数列表时,针对ALF色度滤波系数集合中的每个ALF色度滤波系数:编码端采用定长码编码方式对ALF色度滤波系数的映射值进行编码,且解码端采用定长码解码方式对ALF色度滤波系数的映射值进行解码。
在上述实施例中,在通过码流传输ALF色度滤波系数列表时,针对ALF色度滤波系数集合中的每个ALF色度滤波系数:若ALF色度滤波系数不为0,则码流中可以包括ALF色度滤波系数的指示信息r5和指示信息r6,该指示信息r5用于指示ALF色度滤波系数的幅值,该指示信息r6用于指示ALF色度滤波系数的符号位(用于表示正负的符号位)。
综上所述,针对编码端来说,在ALF色度滤波系数为2的P次方(或2的P次方的负值)的情况下,对ALF色度滤波系数的幅值进行映射,映射值为P+1。然后,采用定长码编码方式对映射值P+1进行编码,在码流中添加一个比特位,用于表示ALF色度滤波系数的正负的符号位。针对解码端来说,采用定长码解码方式对码流中的ALF色度滤波系数进行解码,得到映射值(即P+1),然后,将映射值转换为2的P次方,即ALF色度滤波系数的幅值,从码流中解析出ALF色度滤波系数的正负的符号位,最终得到ALF色度滤波系数。
实施例7:在实施例2中,可以基于目标像素位置的亮度分量重构值,目标像素位置的CCALF滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,得到当前像素位置的色度分量偏移值。在一种可能的实施方式中,可以对相邻像素位置的CCALF滤波系数进行变换操作,得到相邻像素位置的变换后CCALF滤波系数。然后,基于目标像素位置的亮度分量重构值,目标像素位置的CCALF滤波系数,相邻像素位置的亮度分量重构值和相邻像素位置的变换后CCALF滤波系数,进行基于CCALF的滤波处理,得到当前像素位置的色度分量偏移值。
示例性的,上述变换操作具体为:旋转变换操作;或者,垂直翻转变换操作;或者,对角翻转变换操作。例如,对相邻像素位置的CCALF滤波系数进行旋转变换操作。或者,对相邻像素位置的CCALF滤波系数进行垂直翻转变换操作。或者,对相邻像素位置的CCALF滤波系数进行对角翻转变换操作。当然,上述方式只是几个示例,对此不做限制。
示例性的,还可以基于亮度的梯度参数(对此梯度参数的计算方式不做限制),确定是否对CCALF滤波系数进行变换操作(即几何变换映射),如果是,则对相邻像素位置的CCALF滤波系数进行变换操作。
例如,在对CCALF滤波系数进行对角翻转变换操作时,可以采用公式1实现:
fD(k,s)=f(s,k) 公式1
在对CCALF滤波系数进行垂直翻转变换操作时,可以采用公式2实现:
fV(k,s)=f(k,K-s-1) 公式2
在对CCALF滤波系数进行旋转变换操作时,可以采用公式3实现:
fR(k,s)=f(K-s-1,k) 公式3
在上述公式中,fD(k,s)表示对角翻转变换操作后的像素位置(k,s)的CCALF滤波系数,f(s,k)表示对角翻转变换操作前的像素位置(s,k)的CCALF滤波系数。fV(k,s)表示垂直翻转变换操作后的像素位置(k,s)的CCALF滤波系数,f(k,K-s-1)表示垂直翻转变换操作前的像素位置(k,K-s-1)的CCALF滤波系数。fR(k,s)表示旋转变换操作后的像素位置(k,s)的CCALF滤波系数,f(K-s-1,k)表示旋转变换操作前的像素位置(K-s-1,k)的CCALF滤波系数。
或者,fD(k,s)表示对角翻转变换操作前的像素位置(k,s)的CCALF滤波系数,f(s,k)表示对角翻转变换操作后的像素位置(s,k)的CCALF滤波系数。fV(k,s)表示垂直翻转变换操作前的像素位置(k,s)的CCALF滤波系数,f(k,K-s-1)表示垂直翻转变换操作后的像素位置(k,K-s-1)的CCALF滤波系数。fR(k,s)表示旋转变换操作前的像素位置(k,s)的CCALF滤波系数,f(K-s-1,k)表示旋转变换操作后的像素位置(K-s-1,k)的CCALF滤波系数。
在上述公式中,K可以为可以CCALF的滤波器尺寸,0<=k<=K-1,k,s均为CCALF滤波系数的坐标,例如,(0,0)表示左上角,(K-1,K-1)表示右下角。
相关技术中,环路滤波用于减少图像的块效应或者图像效果不佳等问题,用来改善图像质量,ALF是环路滤波的一种实现方式,可以采用ALF实现环路滤波。但是,相关技术的ALF的滤波效果不佳,编码性能比较差。针对上述发现,针对ALF的滤波过程,本申请实施例中提出一种编解码方法,能够提高ALF的滤波效果,提高编码性能。
以下结合具体实施例,对本申请实施例中的编解码方法进行详细说明。
实施例8:参见图8所示,为本申请实施例中提出的编解码方法的流程示意图,该编解码方法可以应用于解码端或者编码端,该编解码方法可以包括以下步骤:
步骤801,获取当前处理单元的亮度分量重构值和色度分量重构值。
步骤802,基于该亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值,本实施例对此亮度分量重构值的滤波处理过程不做限制。
步骤803,基于该色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值,本实施例对此色度分量重构值的滤波处理过程不做限制。
在实施例8中,需要根据ALF亮度滤波系数进行基于ALF的滤波处理,为了得到ALF亮度滤波系数,可以采用如下方式实现:编码端和解码端均维护ALF亮度滤波系数列表,该ALF亮度滤波系数列表可以包括至少一个ALF亮度滤波系数集合,针对该ALF亮度滤波系数列表中的每个ALF亮度滤波系数集合来说,该ALF亮度滤波系数集合可以包括多个ALF亮度滤波系数。然后,获取当前处理单元的ALF亮度滤波系数集合,例如,针对编码端和解码端来说,均可以从当前处理单元的ALF亮度滤波系数列表中获取当前处理单元的ALF亮度滤波系数集合。然后,针对编码端和解码端来说,均可以从ALF亮度滤波系数集合中获取ALF亮度滤波系数。
示例性的,编码端可以获取ALF亮度滤波系数列表,并通过码流将ALF亮度滤波系数列表发送给解码端,解码端可以从码流中解析出ALF亮度滤波系数列表。ALF亮度滤波系数列表可以是帧级的ALF亮度滤波系数列表,或者,序列级的ALF亮度滤波系数列表,或者,自适应参数集级的ALF亮度滤波系数列表。当然,上述方式只是几个示例,对此不做限制。
示例性的,在通过码流传输ALF亮度滤波系数列表时,该ALF亮度滤波系数列表包括至少一个ALF亮度滤波系数集合,针对每个ALF亮度滤波系数集合,可以包括至少一个ALF亮度滤波系数。示例性的,针对ALF亮度滤波系数集合中的每个ALF亮度滤波系数:该ALF亮度滤波系数为0,或2的Q次方,或2的Q次方的负值,Q为0或小于第七阈值的正整数;和/或,该ALF亮度滤波系数位于第八阈值与第九阈值之间。
示例性的,在通过码流传输ALF亮度滤波系数列表时,针对ALF亮度滤波系数集合中的每个ALF亮度滤波系数:编码端采用定长码编码方式对ALF亮度滤波系数的映射值进行编码,且解码端采用定长码解码方式对ALF亮度滤波系数的映射值进行解码。
示例性的,在通过码流传输ALF亮度滤波系数列表时,针对ALF亮度滤波系数集合中的每个ALF亮度滤波系数:若ALF亮度滤波系数不为0,则码流中可以包括ALF亮度滤波系数的指示信息r3和指示信息r4,该指示信息r3用于指示ALF亮度滤波系数的幅值,该指示信息r4用于指示ALF亮度滤波系数的符号位(用于表示正负的符号位)。
综上所述,针对编码端来说,在ALF亮度滤波系数为2的Q次方(或2的Q次方的负值)的情况下,对ALF亮度滤波系数的幅值进行映射,映射值为Q+1。然后,采用定长码编码方式对映射值Q+1进行编码,在码流中添加一个比特位,用于表示ALF亮度滤波系数的正负的符号位。针对解码端来说,采用定长码解码方式对码流中的ALF亮度滤波系数进行解码,得到映射值(即Q+1),然后,将映射值转换为2的Q次方,即ALF亮度滤波系数的幅值,从码流中解析出ALF亮度滤波系数的正负的符号位,最终得到ALF亮度滤波系数。
在实施例8中,需要根据ALF色度滤波系数进行基于ALF的滤波处理,为了得到ALF色度滤波系数,可以采用如下方式实现:编码端和解码端均维护ALF色度滤波系数列表,该ALF色度滤波系数列表可以包括至少一个ALF色度滤波系数集合,针对该ALF色度滤波系数列表中的每个ALF色度滤波系数集合来说,该ALF色度滤波系数集合可以包括多个ALF色度滤波系数。然后,获取当前处理单元的ALF色度滤波系数集合,例如,针对编码端和解码端来说,均可以从当前处理单元的ALF色度滤波系数列表中获取当前处理单元的ALF色度滤波系数集合。然后,针对编码端和解码端来说,均可以从ALF色度滤波系数集合中获取ALF色度滤波系数。
示例性的,编码端可以获取ALF色度滤波系数列表,并通过码流将ALF色度滤波系数列表发送给解码端,解码端可以从码流中解析出ALF色度滤波系数列表。ALF色度滤波系数列表可以是帧级的ALF色度滤波系数列表,或者,序列级的ALF色度滤波系数列表,或者,自适应参数集级的ALF色度滤波系数列表。当然,上述方式只是几个示例,对此不做限制。
示例性的,在通过码流传输ALF色度滤波系数列表时,该ALF色度滤波系数列表可以包括至少一个ALF色度滤波系数集合,针对每个ALF色度滤波系数集合,可以包括至少一个ALF色度滤波系数。示例性的,针对ALF色度滤波系数集合中的每个ALF色度滤波系数:该ALF色度滤波系数为0,或2的P次方,或2的P次方的负值,P为0或小于第四阈值的正整数;和/或,该ALF色度滤波系数位于第五阈值与第六阈值之间。
示例性的,在通过码流传输ALF色度滤波系数列表时,针对ALF色度滤波系数集合中的每个ALF色度滤波系数:编码端采用定长码编码方式对ALF色度滤波系数的映射值进行编码,且解码端采用定长码解码方式对ALF色度滤波系数的映射值进行解码。
示例性的,在通过码流传输ALF色度滤波系数列表时,针对ALF色度滤波系数集合中的每个ALF色度滤波系数:若ALF色度滤波系数不为0,则码流中可以包括ALF色度滤波系数的指示信息r5和指示信息r6,该指示信息r5用于指示ALF色度滤波系数的幅值,该指示信息r6用于指示ALF色度滤波系数的符号位(用于表示正负的符号位)。
综上所述,针对编码端来说,在ALF色度滤波系数为2的P次方(或2的P次方的负值)的情况下,对ALF色度滤波系数的幅值进行映射,映射值为P+1。然后,采用定长码编码方式对映射值P+1进行编码,在码流中添加一个比特位,用于表示ALF色度滤波系数的正负的符号位。针对解码端来说,采用定长码解码方式对码流中的ALF色度滤波系数进行解码,得到映射值(即P+1),然后,将映射值转换为2的P次方,即ALF色度滤波系数的幅值,从码流中解析出ALF色度滤波系数的正负的符号位,最终得到ALF色度滤波系数。
以下结合几个具体应用场景,对实施例2-8的实现过程进行说明。
应用场景1:针对编码端,在码流中传输ALF色度滤波系数/ALF亮度滤波系数时,可以分离符号位和幅值,比如说,当ALF色度滤波系数/ALF亮度滤波系数的幅值非零时,用一个比特位表示正负的符号位,写入码流中。针对解码端来说,在解码ALF色度滤波系数/ALF亮度滤波系数时,从码流中读取ALF色度滤波系数/ALF亮度滤波系数的幅值,当ALF色度滤波系数/ALF亮度滤波系数的幅值非零时,解析一个比特位的信息来识别符号位。
应用场景2:针对编码端,在码流中传输ALF色度滤波系数/ALF亮度滤波系数时,在ALF色度滤波系数/ALF亮度滤波系数为2的幂次方的情况下,对ALF色度滤波系数/ALF亮度滤波系数进行映射,得到ALF色度滤波系数/ALF亮度滤波系数的映射值。例如,如果ALF色度滤波系数/ALF亮度滤波系数的幅值为2的N次方,则映射值为N+1,并采用定长码对映射值N+1进行编码,定长码的长度取决于ALF色度滤波系数/ALF亮度滤波系数的最大范围,如N最大为7时,定长码的长度需要M比特对幅值进行编码,M优选为3。
当ALF色度滤波系数/ALF亮度滤波系数为0时,无需映射过程,直接编码。
针对解码端,在解码ALF色度滤波系数/ALF亮度滤波系数时,先从码流中读取ALF色度滤波系数/ALF亮度滤波系数的映射值,再将映射值转换为2的幂次方,2的幂次方即ALF色度滤波系数/ALF亮度滤波系数的幅值。
应用场景3:对于ALF来说,会固定多组滤波系数,可以在固定的多组滤波系数中选择合适的滤波系数。本应用场景中,为了减少滤波过程中的乘法操作,用移位代替乘法操作,对ALF的滤波系数进行限制,将固定的多组滤波系数的幅值限制在2的幂次方或者0。
应用场景4:针对ALF的滤波系数,可以采用K阶指数哥伦布码进行编码,与此不同的是,本应用场景中,采用定长码进行编码,从而固定其比特开销,降低比特数开销。
应用场景5:针对ALF的滤波系数,可以将滤波参数的幅值限制在(-127,127),而针对CCALF的滤波系数,可以将滤波系数的幅值限制在更小的范围。为了统一ALF和CCALF硬件设计的带宽需求,将ALF的滤波系数的幅值与CCALF的滤波系数的幅值限制在相同范围内,例如,可以都限制在(-64,64)的范围内,也可以都限制在(-63,63)的范围内,还可以都限制在(-32,32)的范围内。
应用场景6:在编码流信息中,可以增加序列级语法元素(SPS级),或者帧级语法元素(frame级),或者图像级语法元素(PPS级),控制CCALF的开启和关闭。比如说,通过在编码流信息中增加序列级语法元素,以通过该序列级语法元素控制CCALF的开启,或者,通过该序列级语法元素控制CCALF的关闭。又例如,通过在编码流信息中增加帧级语法元素,以通过该帧级语法元素控制CCALF的开启,或者,通过该帧级语法元素控制CCALF的关闭。又例如,通过在编码流信息中增加图像级语法元素,以通过该图像级语法元素控制CCALF的开启,或者,通过该图像级语法元素控制CCALF的关闭。
应用场景7:CCALF滤波过程是否开启的控制最小颗粒度,可以在CTB层级进行控制,每一个CTB都可以有一个标志位表示当前处理单元是否开启CCALF。
应用场景8:CCALF的SPS级的控制开关,独立于ALF的SPS的控制开关。比如说,CCALF具有SPS级的第一控制开关,ALF具有SPS的第二控制开关,通过第一控制开关控制CCALF的开启或者关闭,通过第二控制开关控制ALF的开启或者关闭。
例如,可以通过第一控制开关控制CCALF开启,通过第二控制开关控制ALF开启。或者,可以通过第一控制开关控制CCALF开启,通过第二控制开关控制ALF关闭。或者,可以通过第一控制开关控制CCALF关闭,通过第二控制开关控制ALF开启。或者,可以通过第一控制开关控制CCALF关闭,通过第二控制开关控制ALF关闭。
应用场景9:CCALF和ALF共用一个SPS级的控制开关,即一个SPS的控制开关同时控制ALF和CCALF的开启与关闭。例如,可以通过控制开关控制CCALF开启,并控制ALF开启。或者,可以通过控制开关控制CCALF关闭,并控制ALF关闭。
应用场景10:ALF色度的SPS级控制开关,独立于ALF亮度的SPS级的控制开关。比如说,ALF色度具有SPS级的第三控制开关,ALF亮度具有SPS的第四控制开关,通过第三控制开关控制ALF色度的开启或者关闭,通过第四控制开关控制ALF亮度的开启或者关闭。例如,通过第三控制开关控制ALF色度的开启,通过第四控制开关控制ALF亮度的开启。或者,通过第三控制开关控制ALF色度的开启,通过第四控制开关控制ALF亮度的关闭。或者,通过第三控制开关控制ALF色度的关闭,通过第四控制开关控制ALF亮度的开启。或者,通过第三控制开关控制ALF色度的关闭,通过第四控制开关控制ALF亮度的关闭。
应用场景11:可以在Picture_header(图像头)中增加如下语法段落:
Figure BDA0002351779240000322
示例性的,在sps_ccalf_enabled_flag使能的前提下,图像层级解析语法元素(pic_cross_component_alf_cb_enabled_flag)判断CCALF CB是否使能,在pic_cross_component_alf_cb_enabled_flag使能前提下,进一步解析语法元素判断当前图像CB分量使用的CCALF APS索引信息和使用的CCALF的滤波器的个数。
图像层级解析语法(pic_cross_component_alf_cr_enabled_flag)判断CCALF CR是否使能,在pic_cross_component_alf_cr_enabled_flag使能的前提下,进一步解析语法元素判断当前图像CR分量使用的APS索引信息和使用的CCALF的滤波器的个数。
示例性的,sps_ccalf_enabled_flag表示SPS级语法控制CCALF技术的开启或者关闭。pic_cross_component_alf_cb_enabled_flag等于1表示CCALF CB滤波器可以对图像头(PH)相关的所有slice使能,可以应用到所有slice中。pic_cross_component_alf_cb_aps_id表示PH中CB色度分量相关的slices的CCALF APS自适应参数集的索引信息。
pic_cross_component_cb_filters_signalled_minus1 plus 1表示PH层级声明的CB分量的CCALF滤波器的数量,范围为0到3。
pic_cross_component_alf_cr_enabled_flag等于1表示CCALF CR滤波器对图像头(PH)相关的所有slice使能,可以应用到所有slice中。
pic_cross_component_alf_cr_aps_id表示PH中CR色度分量slices的CCALF APS自适应参数集的索引信息。pic_cross_component_cr_filters_signalled_minus1 plus 1表示PH层级声明的CR分量的CCALF滤波器的数量,范围为0到3。
示例性的,u(n)表示n位无符号数编码方式的语法元素,ue(v)表示无符号的整数指数哥伦布编码方式的语法元素。当然,u(n)和ue(v)只是示例,对上述提及的语法元素的编码方式不做限制。
应用场景12:可以在Picture_header(图像头)中增加如下语法段落:
Figure BDA0002351779240000321
Figure BDA0002351779240000331
示例性的,在sps_ccalf_enabled_flag使能的前提下,进一步解析语法元素pic_cross_component_alf_enabled_present_flag,并判断在pic_cross_component_alf_enabled_present_flag使能的前提下,图像层级解析语法元素(pic_cross_component_alf_cb_enabled_flag)判断CCALF CB是否使能,在pic_cross_component_alf_cb_enabled_flag使能的前提下,进一步判断当前图像CB分量使用的APS索引信息和使用的CCALF的滤波器的个数。
图像层级解析语法元素(pic_cross_component_alf_cr_enabled_flag)判断CCALF CR是否使能,在pic_cross_component_alf_cr_enabled_flag使能的前提下,进一步解析语法元素判断当前图像CR分量使用的APS索引信息和使用的CCALF的滤波器的个数。
示例性的,sps_ccalf_enabled_flag表示SPS级语法控制CCALF技术的开启或者关闭。pic_cross_component_alf_enabled_present_flag表示PH(Picture Header)层级CCALF滤波器相关语法元素是否存在,包括pic_cross_component_alf_cb_enabled_flag,pic_cross_component_alf_cb_aps_id,pic_cross_component_cb_filters_signalled_minus1,pic_cross_component_alf_cr_enabled_flag,pic_cross_component_alf_cb_aps_id,pic_cross_component_cr_filters_signalled_minus1。pic_cross_component_alf_cb_enabled_flag等于1表示CCALF CB滤波器对图像头(PH)相关的所有slice使能,可以应用到所有slice中。pic_cross_component_alf_cb_aps_id表示PH中CB色度分量相关的图像(可以是或者多个slice)的CCALF APS自适应参数集的索引信息。
pic_cross_component_cb_filters_signalled_minus1 plus 1表示PH层级声明的CB分量的CCALF滤波器的数量,范围为0到3。
pic_cross_component_alf_cr_enabled_flag等于1表示CCALF CR滤波器对图像头(PH)相关的所有slice使能,可以应用到所有slice中。
pic_cross_component_alf_cr_aps_id表示PH中CR色度分量图像(可以是一个或者多个slice)的CCALF APS自适应参数集的索引信息。pic_cross_component_cr_filters_signalled_minus1 plus 1表示PH层级声明的CR分量的CCALF滤波器的数量,范围为0到3。
示例性的,u(n)表示n位无符号数编码方式的语法元素,ue(v)表示无符号的整数指数哥伦布编码方式的语法元素。当然,u(n)和ue(v)只是示例,对上述提及的语法元素的编码方式不做限制。
应用场景13:可以在Picture_header(图像头)中增加如下语法段落:
Figure BDA0002351779240000332
Figure BDA0002351779240000341
示例性的,在sps_ccalf_enabled_flag使能且存在色度分量(ChromaArrayType!=0)的前提下,解析语法元素(pic_cross_component_alf_enabled_present_flag)判断图像层级判断CCALF相关语法元素是否在PH级存在,在pic_cross_component_alf_enabled_present_flag使能的前提下,进一步的,图像层级解析语法元素(pic_cross_component_alf_cb_enabled_flag)判断CCALF CB使能的前提下,进一步解析语法元素判断当前图像CB分量使用的APS索引信息和使用的CCALF的滤波器的个数。图像层级解析语法元素(pic_cross_component_alf_cr_enabled_flag)判断CCALF CR使能的前提下,进一步解析语法元素判断当前图像CR分量使用的APS索引信息和使用的CCALF的滤波器的个数。
示例性的,sps_ccalf_enabled_flag表示SPS级语法控制CCALF技术的开启或者关闭。pic_cross_component_alf_enabled_present_flag表示PH(Picture Header)层级CCALF滤波器相关语法元素是否存在,包括pic_cross_component_alf_cb_enabled_flag,pic_cross_component_alf_cb_aps_id,pic_cross_component_cb_filters_signalled_minus1,pic_cross_component_alf_cr_enabled_flag,pic_cross_component_alf_cb_aps_id,pic_cross_component_cr_filters_signalled_minus1。pic_cross_component_alf_cb_enabled_flag等于1表示CCALF CB滤波器对图像头(PH)相关的所有slice使能,可以应用到所有slice中。pic_cross_component_alf_cb_aps_id表示PH中CB色度分量相关的slices的CCALF APS自适应参数集的索引信息。
pic_cross_component_cb_filters_signalled_minus1 plus 1表示PH层级声明的CB分量的CCALF滤波器的数量,范围为0到3。
pic_cross_component_alf_cr_enabled_flag等于1表示CCALF CR滤波器对图像头(PH)相关的所有slice使能,可以应用到所有slice中。
pic_cross_component_alf_cr_aps_id表示PH中CR色度分量图像(可以是一个或者多个slice)的CCALF APS自适应参数集的索引信息。pic_cross_component_cr_filters_signalled_minus1 plus 1表示PH层级声明的CR分量的CCALF滤波器的数量,范围为0到3。
示例性的,u(n)表示n位无符号数编码方式的语法元素,ue(v)表示无符号的整数指数哥伦布编码方式的语法元素。当然,u(n)和ue(v)只是示例,对上述提及的语法元素的编码方式不做限制。
应用场景14:可以在Slice header syntax(片头)中增加如下语法段落:
Figure BDA0002351779240000342
Figure BDA0002351779240000351
示例性的,在sps_ccalf_enabled_flag使能的前提下,进一步判断ChromaArrayType不为0(表示存在色度分量),且判断图像层级未开启CCALF CB滤波器的前提下(!pic_cross_component_alf_cb_enabled_flag),进一步的,slice层级解析语法元素(slice_cross_component_alf_cb_enabled_flag)判断CCALF CB是否使能,在slice_cross_component_alf_cb_enabled_flag使能的前提下,进一步判断当前slice使用的APS索引信息和使用的CCALF的滤波器的个数。在sps_ccalf_enabled_flag使能的前提下,进一步判断ChromaArrayType不为0(表示存在色度分量),且判断图像层级未开启CCALF CR滤波器的前提下(!pic_cross_component_alf_cb_enabled_flag),进一步的,slice层级解析语法元素(slice_cross_component_alf_cr_enabled_flag)判断CCALF CR是否使能,在slice_cross_component_alf_cb_enabled_flag使能的前提下,进一步判断当前slice使用的APS索引信息和使用的CCALF的滤波器的个数。
slice_cross_component_alf_cb_enabled_flag等于1表示CCALF CB滤波器对slice header头(SH)相关的Cb分量的slice使能,可以应用到slice中。当slice_cross_component_alf_cb_enabled_flag不存在,推断为等于pic_cross_component_alf_cb_enabled_flag。
slice_cross_component_alf_cb_aps_id表示SH中CB色度分量相关的slice的CCALF APS自适应参数集的索引信息。
slice_cross_component_cb_filters_signalled_minus1 plus 1表示SH层级声明的CB分量的CCALF滤波器的数量,范围为0到3。
slice_cross_component_alf_cr_enabled_flag等于1表示CCALF CR滤波器对图像头(SH)相关的Cr分量的slice使能,可以应用到slice中。当slice_cross_component_alf_cr_enabled_flag不存在,推断为等于pic_cross_component_alf_cr_enabled_flag.
slice_cross_component_alf_cr_aps_id表示SH中CR色度分量相关的slice的CCALF APS自适应参数集的索引信息。
slice_cross_component_cr_filters_signalled_minus1 plus 1表示SH层级声明的CR分量的CCALF滤波器的数量,范围为0到3。
其中,u(n)表示n位无符号数编码方式的语法元素,ue(v)表示无符号的整数指数哥伦布编码方式的语法元素。当然,u(n)和ue(v)只是示例,对上述提及的语法元素的编码方式不做限制。
应用场景15:可以在Slice header syntax(片头)中增加如下语法段落:
Figure BDA0002351779240000361
示例性的,在sps_ccalf_enabled_flag使能的前提下,且在pic_cross_component_alf_enabled_present_flag不使能的前提下(图像级未携带CCALF相关语法),进一步判断ChromaArrayType不为0(表示存在色度分量),进一步的,slice层级解析语法元素(slice_cross_component_alf_cb_enabled_flag)判断CCALF CB是否使能,在slice_cross_component_alf_cb_enabled_flag使能的前提下,,进一步解析语法元素判断当前slice使用的APS索引信息和使用的CCALF的滤波器的个数。在sps_ccalf_enabled_flag使能的前提下,且在pic_cross_component_alf_enabled_present_flag不使能的前提下(图像级未携带CCALF相关语法),进一步判断ChromaArrayType不为0(表示存在色度分量),进一步的,slice层级解析语法元素(slice_cross_component_alf_cr_enabled_flag)判断CCALF CR是否使能,在slice_cross_component_alf_cr_enabled_flag使能的的前提下,进一步解析语法元素判断当前slice使用的APS索引信息和使用的CCALF的滤波器的个数。
示例性描述,slice_cross_component_alf_cb_enabled_flag等于1表示CCALF CB滤波器对slice header头(SH)相关的Cb分量的slice使能,可以应用到slice中。当slice_cross_component_alf_cb_enabled_flag不存在,推断为等于pic_cross_component_alf_cb_enabled_flag。
pic_cross_component_alf_enabled_present_flag表示PH(Picture Header)层级CCALF滤波器相关语法元素是否存在,包括pic_cross_component_alf_cb_enabled_flag,pic_cross_component_alf_cb_aps_id,pic_cross_component_cb_filters_signalled_minus1,pic_cross_component_alf_cr_enabled_flag,pic_cross_component_alf_cb_aps_id,pic_cross_component_cr_filters_signalled_minus1。
slice_cross_component_alf_cb_aps_id表示SH中CB色度分量相关的slice的CCALF APS自适应参数集的索引信息。
slice_cross_component_cb_filters_signalled_minus1 plus 1表示SH层级声明的CB分量的CCALF滤波器的数量,范围为0到3。
slice_cross_component_alf_cr_enabled_flag等于1表示CCALF CR滤波器对图像头(SH)相关的Cr分量的slice使能,可以应用到slice中。当slice_cross_component_alf_cr_enabled_flag不存在,推断为等于pic_cross_component_alf_cr_enabled_flag。
slice_cross_component_alf_cr_aps_id表示SH中CR色度分量相关的slice的CCALF APS自适应参数集的索引信息。
slice_cross_component_cr_filters_signalled_minus1 plus 1表示SH层级声明的CR分量的CCALF滤波器的数量,范围为0到3。
其中,u(n)表示n位无符号数编码方式的语法元素,ue(v)表示无符号的整数指数哥伦布编码方式的语法元素。当然,u(n)和ue(v)只是示例,对上述提及的语法元素的编码方式不做限制。
应用场景16:可以在Slice header syntax(片头)中增加如下语法段落:
Figure BDA0002351779240000371
示例性的,在sps_ccalf_enabled_flag使能的前提下,且在pic_cross_component_alf_enabled_present_flag不使能的前提下(图像级未携带CCALF相关语法),进一步判断ChromaArrayType不为0(表示存在色度分量),且判断图像层级未开启CCALF CB滤波器(!pic_cross_component_alf_cb_enabled_flag)的前提下,进一步的,slice层级解析语法元素(slice_cross_component_alf_cb_enabled_flag)判断CCALF CB是否使能,在slice_cross_component_alf_cb_enabled_flag使能的前提下,进一步解析语法元素判断当前slice使用的APS索引信息和使用的CCALF的滤波器的个数。在sps_ccalf_enabled_flag使能的前提下,且在pic_cross_component_alf_enabled_present_flag不使能的前提下,进一步判断ChromaArrayType不为0(表示存在色度分量),且判断图像层级未开启CCALFCR滤波器的前提下,进一步的,slice层级解析语法元素(slice_cross_component_alf_cr_enabled_flag)判断CCALF CR是否使能,在slice_cross_component_alf_cr_enabled_flag使能的前提下,进一步判断当前slice使用的APS索引信息和使用的CCALF的滤波器的个数。
pic_cross_component_alf_enabled_present_flag表示PH(Picture Header)层级CCALF滤波器相关语法元素是否存在,包括pic_cross_component_alf_cb_enabled_flag,pic_cross_component_alf_cb_aps_id,pic_cross_component_cb_filters_signalled_minus1,pic_cross_component_alf_cr_enabled_flag,pic_cross_component_alf_cb_aps_id,pic_cross_component_cr_filters_signalled_minus1。
slice_cross_component_alf_cb_enabled_flag等于1表示CCALF CB滤波器对slice header头(SH)相关的Cb分量的slice使能,可以应用到slice中。当slice_cross_component_alf_cb_enabled_flag不存在,推断为等于pic_cross_component_alf_cb_enabled_flag。
slice_cross_component_alf_cb_aps_id表示SH中CB色度分量相关的slice的CCALF APS自适应参数集的索引信息。
slice_cross_component_cb_filters_signalled_minus1 plus 1表示SH层级声明的CB分量的CCALF滤波器的数量,范围为0到3。
slice_cross_component_alf_cr_enabled_flag等于1表示CCALF CR滤波器对图像头(SH)相关的Cr分量的slice使能,可以应用到slice中。当slice_cross_component_alf_cr_enabled_flag不存在,推断为等于pic_cross_component_alf_cr_enabled_flag。
slice_cross_component_alf_cr_aps_id表示SH中CR色度分量相关的slice的CCALF APS自适应参数集的索引信息。
slice_cross_component_cr_filters_signalled_minus1 plus 1表示SH层级声明的CR分量的CCALF滤波器的数量,范围为0到3。
其中,u(n)表示n位无符号数编码方式的语法元素,ue(v)表示无符号的整数指数哥伦布编码方式的语法元素。当然,u(n)和ue(v)只是示例,对上述提及的语法元素的编码方式不做限制。
应用场景17:可以在Picture_header(图像头)中增加如下语法段落:
Figure BDA0002351779240000382
示例性的,在判断存在色度分量的情况下(ChromaArrayType!=0),进一步解析语法元素pic_cross_component_alf_cb_enabled_flag判断图像级是否打开CCALF CB滤波器,如果pic_cross_component_alf_cb_enabled_flag使能的情况下,则进一步的解析语法元素判断当前图像使用的CCALF APS索引信息和使用的CCALF的滤波器的个数。在判断存在色度分量的情况下(ChromaArrayType!=0),进一步解析语法元素pic_cross_component_alf_cr_enabled_flag判断图像级是否打开CCALF CR滤波器,如果pic_cross_component_alf_cr_enabled_flag使能的情况下,则进一步的解析语法元素判断当前图像使用的CCALFAPS索引信息和使用的CCALF的滤波器的个数。在本应用场景下,不限定pic_cross_component_alf_cb_enabled_flag和pic_cross_component_alf_cr_enabled_flag语法元素解析的其他条件,主要关注判断存在色度分量是否存在的条件。
应用场景18:可以在SPS级语法元素中增加sps_ccalf_enabled_flag的控制开关,通过该控制开关控制CCALF的开启或者关闭,参见如下所示的语法段落:
seq_parameter_set_rbsp(){ Descriptor
……
sps_alf_enabled_flag u(1)
sps_ccalf_enabled_flag u(1)
示例性的,参见上述应用场景11-应用场景17,其中涉及的sps_ccalf_enabled_flag,就是在SPS级语法元素中增加的控制开关,用于控制CCALF的开启或者关闭。
应用场景19:可以在通用限制信息中增加no_cross_component alf_constraint_flag限制信息。no_cross_component alf_constraint_flag为1,说明sps_ccalf_enabled_flag为0,参见如下所示的语法段落:
general_constraint_info(){ Descriptor
….
no_alf_constraint_flag u(1)
no_cross_component alf_constraint_flag u(1)
应用场景20:针对上述应用场景11-19,对于编码端来说,按照语法表所示,针对其中任意的语法元素,可以按照上述限定规则进行任意配置,并将对应的语法元素写入码流中。
实施例9:针对ALF的滤波过程,可以采用滤波器(如维纳滤波器)进行滤波操作,其目的是使得滤波信号与原始信号之间的均方误差最小。参见图9所示,可以提供两种形状的滤波器,5*5大小的滤波器适用于色度分量,7*7大小的滤波器适用于亮度分量。5*5大小的滤波器中,C6为中心像素位置,7*7大小的滤波器中,C12为中心像素位置,其余像素为周围像素。中心像素位置为待滤波像素位置,利用周围像素位置来对中心像素位置进行滤波。
对于亮度分量来说,对于不同的小块使用不同的滤波器,因此,可以将这些小块进行分类,以区分小块要使用哪一个滤波器,如,基于方向性D和活动值A的量化值计算得出。
示例性的,对于亮度分量来说,每个4*4的小块被分为25个种类,类别为ClassIDX(包含信息:小块中主方向以及主方向与其垂直方向上梯度和的差,以及垂直与水平方向梯度和),计算方式如下:C=5D+A,而C就表示25个种类中的某个种类,从而得到小块要使用哪一个滤波器。D表示当前处理单元的Direction(方向性),A表示当前处理单元的Activity(整体梯度值大小,即活动值的量化值)。关于D和A的确定方式,本文不做限制,只要能得到D和A即可。示例性的,D=0,1,2,3,4,A=0,1,2,3,4,故C的取值为0到24,即25个分类索引。
对于色度分量来说,无需块分类,对每个色度分量应用单个ALF系数集,对此不做限制。
示例性的,针对码流中携带的滤波参数,可以涉及:对亮度分量和色度分量应用不同的滤波器,ALF的滤波参数信息在APS中进行声明。在一个APS中至多N组亮度滤波系数(N优选为25)和clip索引信息,以及,至多M组色度滤波系数(M优选为8)和clip索引信息被声明。控制ALF是否开启可以多层级进行控制,控制语法可以存在于序列级参数语法中,SLICE级语法中,帧级语法中等,ALF滤波过程是否开启的控制最小颗粒度,可以在CTB层级进行控制,每一个CTB都可以有一个标志位表示当前处理单元是否开启ALF。
实施例10:可选的时域运动矢量预测技术(ATMVP,Alternative temporal motionvector prediction)也被称为基于子块的时域融合候选模式(SubTVPM,subblock-basedtemporal merging candidates),ATMVP模式按照初始运动矢量,从初始运动矢量指向的参考帧(一般为同位帧)中定位参考区域,利用参考区域的运动矢量导出当前块的每个子块的最终运动矢量,子块大小可以为8*8。以下结合几个具体应用场景,对ATMVP模式的改进进行说明。
应用场景1:对于ATMVP模式使能的限制条件,当前块的面积大于64时,使能ATMVP模式。通过这一条件的限制,减少编码复杂度,减少小块ATMVP模式造成的编码冗余,提升编码性能。例如,ATMVP模式使能的限制条件可以如下所示,availableFlagSbCol是ATMVP使能标识,ATMVP使能标识为0表示不允许使能ATMVP模式,ATMVP使能标识为1表示允许使能ATMVP模式。“slice_temporal_mvp_enabled_flag”是Slice级开关,“sps_sbtmvp_enabled_flag”是SPS级开关。cbWidth为当前块的宽,cbHeight为当前块的高。
If one or more of the following conditions is true,availableFlagSbColis set equal to 0.
slice_temporal_mvp_enabled_flag is equal to 0.
sps_sbtmvp_enabled_flag is equal to 0.
cbWidth is less than 8.
cbHeight is less than 8.
cbWidth is equal to 8and cbHeight is equal to 8.
应用场景2:对于ATMVP模式使能的限制条件,当前块的宽和高均大于8时,则使能ATMVP模式。通过这一条件的限制,减少编码复杂度,减少小块ATMVP模式造成的编码冗余,提升编码性能。例如,ATMVP模式使能的限制条件可以如下所示,availableFlagSbCol是ATMVP使能标识,“slice_temporal_mvp_enabled_flag”是Slice级开关,“sps_sbtmvp_enabled_flag”是SPS级开关。cbWidth为当前块的宽,cbHeight为当前块的高。
If one or more of the following conditions is true,availableFlagSbColis set equal to 0.
slice_temporal_mvp_enabled_flag is equal to 0.
sps_sbtmvp_enabled_flag is equal to 0.
cbWidth is less than or equal to 8.
cbHeight is less than or equal to 8.
应用场景3:对于基于子块的时域帧间预测模式使能的限制条件,当前块的面积大于时域运动矢量存储单元的面积时,使能基于子块的时域帧间预测模式。通过这一条件的限制,可以减少编码复杂度,减少由于小块基于子块的时域帧间预测模式造成的编码冗余,提升编码性能。例如,针对基于子块的时域帧间预测模式使能的限制条件,可以如下所示,availableFlagSbInterMode是基于子块的时域帧间预测模式的使能标识,“slice_temporal_mvp_enabled_flag”是Slice级开关,“sps_sbim_enabled_flag”是SPS级开关。M和N为时域运动矢量存储单元的尺寸,M为时域运动矢量存储单元的宽,N为时域运动矢量存储单元的高,cbWidth为当前块的宽,cbHeight为当前块的高。
If one or more of the following conditions is true,availableFlagSbInterMode is set equal to 0.
slice_temporal_mvp_enabled_flag is equal to 0.
sps_sbim_enabled_flag is equal to 0.
cbWidth*cbHeight is less than or equal to M*N.
应用场景4:对于基于子块的时域帧间预测模式使能的限制条件,当前块的尺寸大于时域运动矢量存储单元的尺寸时,使能基于子块的时域帧间预测模式。例如,当前块的宽大于时域运动矢量存储单元的宽,当前块的高大于时域运动矢量存储单元的高,则使能基于子块的时域帧间预测模式。通过这一条件的限制,可以减少编码复杂度,减少由于小块基于子块的时域帧间预测模式造成的编码冗余,提升编码性能。例如,针对基于子块的时域帧间预测模式使能的限制条件,可以如下所示,availableFlagSbInterMode是基于子块的时域帧间预测模式的使能标识,“slice_temporal_mvp_enabled_flag”是Slice级开关,“sps_sbim_enabled_flag”是SPS级开关。M和N为时域运动矢量存储单元的尺寸,M为时域运动矢量存储单元的宽,N为时域运动矢量存储单元的高,cbWidth为当前块的宽,cbHeight为当前块的高。
If one or more of the following conditions is true,availableFlagSbInterMode is set equal to 0.
slice_temporal_mvp_enabled_flag is equal to 0.
sps_sbim_enabled_flag is equal to 0.
cbWidth is less than or equal to M.
cbHeight is less than or equal to N.
应用场景5:若将第一预测模式作为第二预测模式候选列表中的第一个候选,且第二预测模式候选列表的索引值的二值化方式采用截断二元码,则第二预测模式候选列表的第一个bin的上下文选择依赖于第一预测模式的使能标识。例如,以第一预测模式为ATMVP模式,第二预测模式为子块融合模式为例,若将ATMVP模式作为子块融合模式候选列表的第一个候选,且子块融合模式候选列表的索引值的二值化方式采用截断二元码,则子块融合模式候选列表的第一个bin的上下文选择依赖于ATMVP模式的使能标识(即availableFlagSbCol,availableFlagSbCol的取值参见上述应用场景,availableFlagSbCol为1表示允许使能ATMVP模式,availableFlagSbCol为0表示不允许使能ATMVP模式)。参见表1所示,为子块融合模式候选列表的示例,“merge_subblock_idx”表示子块融合模式候选列表的索引值。
表1
Figure BDA0002351779240000411
综上所述,编码端对子块融合模式候选列表的索引值的第一个bin进行编码时,可以依赖于ATMVP模式的使能标识选择不同的上下文,即,编码端基于ATMVP模式的使能标识进行编码。解码端对子块融合模式候选列表的索引值的第一个bin进行解析时,可以依赖于ATMVP模式的使能标识选择不同的上下文,即,解码端基于ATMVP模式的使能标识进行解码。综上所述,由于在ATMVP使能和不使能的情况下,第一个bin的物理含义不同,通过本方案使得物理意义明确,有利于该索引值的压缩,提高编码性能。
应用场景6:若将第一预测模式作为第二预测模式候选列表中的第K个候选,且第二预测模式候选列表的索引值的二值化方式采用截断二元码,则第二预测模式候选列表的第K个bin的上下文选择依赖于第一预测模式的使能标识。例如,以第一预测模式为ATMVP模式,第二预测模式为子块融合模式为例,若将ATMVP模式作为子块融合模式候选列表的第K个候选,且子块融合模式候选列表的索引值的二值化方式采用截断二元码,则子块融合模式候选列表的第K个bin的上下文选择依赖于ATMVP模式的使能标识(即availableFlagSbCol,availableFlagSbCol的取值参见上述应用场景,availableFlagSbCol为1表示允许使能ATMVP模式,availableFlagSbCol为0表示不允许使能ATMVP模式)。综上所述,编码端对子块融合模式候选列表的索引值的第K个bin进行编码时,可以依赖于ATMVP模式的使能标识选择不同的上下文,即,编码端基于ATMVP模式的使能标识进行编码。解码端对子块融合模式候选列表的索引值的第K个bin进行解析时,可以依赖于ATMVP模式的使能标识选择不同的上下文,即,解码端基于ATMVP模式的使能标识进行解码。
基于与上述方法同样的申请构思,本申请实施例还提出一种边界强度确定装置,所述装置应用于编码端或者解码端,参见图10A所示,为所述装置的结构图,包括:
第一获取模块1011,用于获取待处理边界的第一相邻块的第一预测模式;第二获取模块1012,用于获取待处理边界的第二相邻块的第二预测模式;确定模块1013,用于根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度。
所述确定模块1013具体用于:若所述第一预测模式为帧间几何分割模式,且所述第二预测模式为非帧间几何分割模式,则确定所述待处理边界的边界强度为第一数值。
所述确定模块1013具体用于:若所述第一预测模式为帧间几何分割模式,所述第一相邻块包括帧间几何分割模式的融合区域的像素位置,所述融合区域的融合功能被开启,且所述第二预测模式为非帧间几何分割模式,则确定所述待处理边界的边界强度为第一数值。
示例性的,所述第一数值表示允许进行去块滤波。
示例性的,所述第一相邻块为所述待处理边界上侧的图像块,所述第二相邻块为所述待处理边界下侧的图像块;或者,所述第一相邻块为所述待处理边界下侧的图像块,所述第二相邻块为所述待处理边界上侧的图像块;或者,所述第一相邻块为所述待处理边界左侧的图像块,所述第二相邻块为所述待处理边界右侧的图像块;或者,所述第一相邻块为所述待处理边界右侧的图像块,所述第二相邻块为所述待处理边界左侧的图像块。
基于与上述方法同样的申请构思,本申请实施例还提出一种编解码装置,所述装置应用于编码端或者解码端,参见图10B所示,为所述装置的结构图,包括:
获取模块1021,用于获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;处理模块1022,用于基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值。
所述处理模块1022具体用于:获取所述当前处理单元的CCALF滤波系数集合;获取所述目标像素位置的CCALF滤波系数,并从所述CCALF滤波系数集合中获取所述相邻像素位置的CCALF滤波系数;基于所述目标像素位置的亮度分量重构值,所述目标像素位置的CCALF滤波系数,所述相邻像素位置的亮度分量重构值和所述相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值。
若所述装置应用于解码端,所述处理模块1022获取所述当前处理单元的CCALF滤波系数集合时具体用于:从所述当前处理单元的编码比特流中获取CCALF滤波系数集合的指示信息;若所述指示信息用于指示所述当前处理单元启动CCALF滤波操作,则基于所述指示信息从所述当前处理单元的CCALF滤波系数列表中获取所述当前处理单元的CCALF滤波系数集合;其中,所述CCALF滤波系数列表包括至少一个CCALF滤波系数集合。
所述处理模块1022在基于所述指示信息从所述当前处理单元的CCALF滤波系数列表中获取所述当前处理单元的CCALF滤波系数集合之前还用于:
从码流中解析帧级的CCALF滤波系数列表,并根据所述帧级的CCALF滤波系数列表确定所述当前处理单元的CCALF滤波系数列表;或者,从码流中解析序列级的CCALF滤波系数列表,并根据所述序列级的CCALF滤波系数列表确定所述当前处理单元的CCALF滤波系数列表;或者,从码流中解析自适应参数集级的CCALF滤波系数列表,并根据所述自适应参数集级的CCALF滤波系数列表确定所述当前处理单元的CCALF滤波系数列表。
示例性的,针对CCALF滤波系数列表中的每个CCALF滤波系数集合,所述CCALF滤波系数集合包括目标像素位置的相邻像素位置的CCALF滤波系数;或者,所述CCALF滤波系数集合包括目标像素位置的CCALF滤波系数和所述目标像素位置的相邻像素位置的CCALF滤波系数。
示例性的,所述CCALF滤波系数集合,包括:目标像素位置的正上侧像素位置的CCALF滤波系数,目标像素位置的左侧像素位置的CCALF滤波系数,目标像素位置的右侧像素位置的CCALF滤波系数,目标像素位置的正下侧像素位置的CCALF滤波系数,目标像素位置的左下侧像素位置的CCALF滤波系数,目标像素位置的右下侧像素位置的CCALF滤波系数,目标像素位置的正下侧第二行像素位置的CCALF滤波系数;
其中,所述正上侧像素位置的CCALF滤波系数与所述正下侧第二行像素位置的CCALF滤波系数相同;或者,所述正上侧像素位置的CCALF滤波系数与正下侧第二行像素位置的CCALF滤波系数相同;所述左侧像素位置的CCALF滤波系数与右侧像素位置的CCALF滤波系数相同;所述左下侧像素位置的CCALF滤波系数与右下侧像素位置的CCALF滤波系数相同;或者,所述正上侧像素位置的CCALF滤波系数与正下侧第二行像素位置的CCALF滤波系数相同;所述左侧像素位置的CCALF滤波系数与右下侧像素位置的CCALF滤波系数相同;所述右侧像素位置的CCALF滤波系数与左下侧像素位置的CCALF滤波系数相同。
示例性的,所述CCALF滤波系数集合,包括:目标像素位置的正上侧第二行像素位置的CCALF滤波系数,目标像素位置的左上侧像素位置的CCALF滤波系数,目标像素位置的正上侧像素位置的CCALF滤波系数,目标像素位置的右上侧像素位置的CCALF滤波系数,目标像素位置的左侧第二列像素位置的CCALF滤波系数,目标像素位置的左侧像素位置的CCALF滤波系数,目标像素位置的右侧像素位置的CCALF滤波系数,目标像素位置的右侧第二列像素位置的CCALF滤波系数,目标像素位置的左下侧像素位置的CCALF滤波系数,目标像素位置的正下侧像素位置的CCALF滤波系数,目标像素位置的右下侧像素位置的CCALF滤波系数,目标像素位置的正下侧第二行像素位置的CCALF滤波系数;
其中,正上侧第二行像素位置的CCALF滤波系数与正下侧第二行像素位置的CCALF滤波系数相同;左上侧像素位置的CCALF滤波系数与右下侧像素位置的CCALF滤波系数相同;正上侧像素位置的CCALF滤波系数与正下侧像素位置的CCALF滤波系数相同;右上侧像素位置的CCALF滤波系数与左下侧像素位置的CCALF滤波系数相同;左侧第二列像素位置的CCALF滤波系数与右侧第二列像素位置的CCALF滤波系数相同;左侧像素位置的CCALF滤波系数与右侧像素位置的CCALF滤波系数相同;或者,
正上侧第二行像素位置的CCALF滤波系数与正下侧第二行像素位置的CCALF滤波系数相同;左上侧像素位置的CCALF滤波系数与右上侧像素位置的CCALF滤波系数相同;正上侧像素位置的CCALF滤波系数与正下侧像素位置的CCALF滤波系数相同;左下侧像素位置的CCALF滤波系数与右下侧像素位置的CCALF滤波系数相同;左侧第二列像素位置的CCALF滤波系数与右侧第二列像素位置的CCALF滤波系数相同;左侧像素位置的CCALF滤波系数与右侧像素位置的CCALF滤波系数相同。
示例性的,所述CCALF滤波系数集合包括:目标像素位置的正上侧像素位置的CCALF滤波系数,目标像素位置的左侧像素位置的CCALF滤波系数,目标像素位置的正下侧像素位置的CCALF滤波系数,目标像素位置的右下侧像素位置的CCALF滤波系数,目标像素位置的正下侧第二行像素位置的CCALF滤波系数;其中,所述左侧像素位置的CCALF滤波系数与所述右下侧像素位置的CCALF滤波系数相同。
示例性的,所述CCALF滤波系数集合,包括:目标像素位置的正上侧像素位置的CCALF滤波系数,目标像素位置的左侧像素位置的CCALF滤波系数,目标像素位置的右侧像素位置的CCALF滤波系数,目标像素位置的正下侧像素位置的CCALF滤波系数。
示例性的,针对所述CCALF滤波系数集合中的CCALF滤波系数:所述CCALF滤波系数为0,或2的N次方,或2的N次方的负值,N为0或小于第一阈值的正整数;和/或,所述CCALF滤波系数位于第二阈值与第三阈值之间。
所述处理模块1022具体用于:对所述相邻像素位置的CCALF滤波系数进行变换操作;基于所述目标像素位置的亮度分量重构值,所述目标像素位置的CCALF滤波系数,所述相邻像素位置的亮度分量重构值和所述相邻像素位置的变换后CCALF滤波系数,进行基于CCALF的滤波处理,得到当前像素位置的色度分量偏移值。示例性的,所述变换操作具体为:旋转变换操作;或者,垂直翻转变换操作;或者,对角翻转变换操作。
基于与上述方法同样的申请构思,本申请实施例还提出一种编解码装置,所述装置应用于编码端或者解码端,参见图10C所示,为所述装置的结构图,包括:
获取模块1031,用于获取当前处理单元的亮度分量重构值和色度分量重构值;
处理模块1032,用于基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
示例性的,所述ALF色度滤波系数为0,或2的P次方,或2的P次方的负值,P为0或小于第四阈值的正整数;和/或,所述ALF色度滤波系数位于第五阈值与第六阈值之间;所述ALF亮度滤波系数为0,或2的Q次方,或2的Q次方的负值,Q为0或小于第七阈值的正整数;和/或,所述ALF亮度滤波系数位于第八阈值与第九阈值之间。
示例性的,采用定长码编码方式对所述ALF色度滤波系数的映射值进行编码,且采用定长码解码方式对所述ALF色度滤波系数的映射值进行解码;
示例性的,采用定长码编码方式对所述ALF亮度滤波系数的映射值进行编码,且采用定长码解码方式对所述ALF亮度滤波系数的映射值进行解码。
基于与上述方法同样的申请构思,本申请实施例提供的解码端设备(即视频解码器),从硬件层面而言,其硬件架构示意图具体可以参见图10D所示。包括:处理器1041和机器可读存储介质1042,其中:所述机器可读存储介质1042存储有能够被所述处理器1041执行的机器可执行指令;所述处理器1041用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,所述处理器1041用于执行机器可执行指令,以实现如下步骤:
获取待处理边界的第一相邻块的第一预测模式;
获取待处理边界的第二相邻块的第二预测模式;
根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度;
或者,获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;
针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值;
或,获取当前处理单元的亮度分量重构值和色度分量重构值;基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
基于与上述方法同样的申请构思,本申请实施例提供的编码端设备(即视频编码器),从硬件层面而言,其硬件架构示意图具体可以参见图10E所示。包括:处理器1051和机器可读存储介质1052,其中:所述机器可读存储介质1052存储有能够被所述处理器1051执行的机器可执行指令;所述处理器1051用于执行机器可执行指令,以实现本申请上述示例公开的方法。例如,所述处理器1051用于执行机器可执行指令,以实现如下步骤:
获取待处理边界的第一相邻块的第一预测模式;
获取待处理边界的第二相邻块的第二预测模式;
根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度;
或者,获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;
针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值;
或,获取当前处理单元的亮度分量重构值和色度分量重构值;基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (25)

1.一种边界强度确定方法,其特征在于,所述方法包括:
获取待处理边界的第一相邻块的第一预测模式;
获取待处理边界的第二相邻块的第二预测模式;
根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度,包括:
若所述第一预测模式为帧间几何分割模式,且所述第二预测模式为非帧间几何分割模式,则确定所述待处理边界的边界强度为第一数值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度,包括:
若所述第一预测模式为帧间几何分割模式,所述第一相邻块包括帧间几何分割模式的融合区域的像素位置,所述融合区域的融合功能被开启,且所述第二预测模式为非帧间几何分割模式,则确定所述待处理边界的边界强度为第一数值。
4.根据权利要求2或3所述的方法,其特征在于,
所述第一数值表示允许进行去块滤波。
5.根据权利要求1-3任一所述的方法,其特征在于,
所述第一相邻块为所述待处理边界上侧的图像块,所述第二相邻块为所述待处理边界下侧的图像块;或者,所述第一相邻块为所述待处理边界下侧的图像块,所述第二相邻块为所述待处理边界上侧的图像块;或者,所述第一相邻块为所述待处理边界左侧的图像块,所述第二相邻块为所述待处理边界右侧的图像块;或者,所述第一相邻块为所述待处理边界右侧的图像块,所述第二相邻块为所述待处理边界左侧的图像块。
6.一种编解码方法,其特征在于,所述方法包括:
获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;
针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;
基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值。
7.根据权利要求6所述的方法,其特征在于,所述基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值,包括:
获取所述当前处理单元的CCALF滤波系数集合;获取所述目标像素位置的CCALF滤波系数,并从所述CCALF滤波系数集合中获取所述相邻像素位置的CCALF滤波系数;
基于所述目标像素位置的亮度分量重构值,所述目标像素位置的CCALF滤波系数,所述相邻像素位置的亮度分量重构值和所述相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值。
8.根据权利要求7所述的方法,其特征在于,
若所述方法应用于解码端,所述获取所述当前处理单元的CCALF滤波系数集合,包括:
从所述当前处理单元的编码比特流中获取CCALF滤波系数集合的指示信息;
若所述指示信息用于指示所述当前处理单元启动CCALF滤波操作,则基于所述指示信息从所述当前处理单元的CCALF滤波系数列表中获取所述当前处理单元的CCALF滤波系数集合;其中,所述CCALF滤波系数列表包括至少一个CCALF滤波系数集合。
9.根据权利要求8所述的方法,其特征在于,所述基于所述指示信息从所述当前处理单元的CCALF滤波系数列表中获取所述当前处理单元的CCALF滤波系数集合之前,还包括:
从码流中解析帧级的CCALF滤波系数列表,并根据所述帧级的CCALF滤波系数列表确定所述当前处理单元的CCALF滤波系数列表;或者,
从码流中解析序列级的CCALF滤波系数列表,并根据所述序列级的CCALF滤波系数列表确定所述当前处理单元的CCALF滤波系数列表;或者,
从码流中解析自适应参数集级的CCALF滤波系数列表,并根据所述自适应参数集级的CCALF滤波系数列表确定所述当前处理单元的CCALF滤波系数列表。
10.根据权利要求8或9所述的方法,其特征在于,针对CCALF滤波系数列表中的每个CCALF滤波系数集合,所述CCALF滤波系数集合包括目标像素位置的相邻像素位置的CCALF滤波系数;或者,所述CCALF滤波系数集合包括目标像素位置的CCALF滤波系数和所述目标像素位置的相邻像素位置的CCALF滤波系数。
11.根据权利要求10所述的方法,其特征在于,
所述CCALF滤波系数集合,包括:目标像素位置的正上侧像素位置的CCALF滤波系数,目标像素位置的左侧像素位置的CCALF滤波系数,目标像素位置的右侧像素位置的CCALF滤波系数,目标像素位置的正下侧像素位置的CCALF滤波系数,目标像素位置的左下侧像素位置的CCALF滤波系数,目标像素位置的右下侧像素位置的CCALF滤波系数,目标像素位置的正下侧第二行像素位置的CCALF滤波系数;
其中,所述正上侧像素位置的CCALF滤波系数与所述正下侧第二行像素位置的CCALF滤波系数相同;或者,
所述正上侧像素位置的CCALF滤波系数与正下侧第二行像素位置的CCALF滤波系数相同;所述左侧像素位置的CCALF滤波系数与右侧像素位置的CCALF滤波系数相同;所述左下侧像素位置的CCALF滤波系数与右下侧像素位置的CCALF滤波系数相同;或者,
所述正上侧像素位置的CCALF滤波系数与正下侧第二行像素位置的CCALF滤波系数相同;所述左侧像素位置的CCALF滤波系数与右下侧像素位置的CCALF滤波系数相同;所述右侧像素位置的CCALF滤波系数与左下侧像素位置的CCALF滤波系数相同。
12.根据权利要求10所述的方法,其特征在于,
所述CCALF滤波系数集合,包括:目标像素位置的正上侧第二行像素位置的CCALF滤波系数,目标像素位置的左上侧像素位置的CCALF滤波系数,目标像素位置的正上侧像素位置的CCALF滤波系数,目标像素位置的右上侧像素位置的CCALF滤波系数,目标像素位置的左侧第二列像素位置的CCALF滤波系数,目标像素位置的左侧像素位置的CCALF滤波系数,目标像素位置的右侧像素位置的CCALF滤波系数,目标像素位置的右侧第二列像素位置的CCALF滤波系数,目标像素位置的左下侧像素位置的CCALF滤波系数,目标像素位置的正下侧像素位置的CCALF滤波系数,目标像素位置的右下侧像素位置的CCALF滤波系数,目标像素位置的正下侧第二行像素位置的CCALF滤波系数;
其中,正上侧第二行像素位置的CCALF滤波系数与正下侧第二行像素位置的CCALF滤波系数相同;左上侧像素位置的CCALF滤波系数与右下侧像素位置的CCALF滤波系数相同;正上侧像素位置的CCALF滤波系数与正下侧像素位置的CCALF滤波系数相同;右上侧像素位置的CCALF滤波系数与左下侧像素位置的CCALF滤波系数相同;左侧第二列像素位置的CCALF滤波系数与右侧第二列像素位置的CCALF滤波系数相同;左侧像素位置的CCALF滤波系数与右侧像素位置的CCALF滤波系数相同;或者,
正上侧第二行像素位置的CCALF滤波系数与正下侧第二行像素位置的CCALF滤波系数相同;左上侧像素位置的CCALF滤波系数与右上侧像素位置的CCALF滤波系数相同;正上侧像素位置的CCALF滤波系数与正下侧像素位置的CCALF滤波系数相同;左下侧像素位置的CCALF滤波系数与右下侧像素位置的CCALF滤波系数相同;左侧第二列像素位置的CCALF滤波系数与右侧第二列像素位置的CCALF滤波系数相同;左侧像素位置的CCALF滤波系数与右侧像素位置的CCALF滤波系数相同。
13.根据权利要求10所述的方法,其特征在于,
所述CCALF滤波系数集合包括:目标像素位置的正上侧像素位置的CCALF滤波系数,目标像素位置的左侧像素位置的CCALF滤波系数,目标像素位置的正下侧像素位置的CCALF滤波系数,目标像素位置的右下侧像素位置的CCALF滤波系数,目标像素位置的正下侧第二行像素位置的CCALF滤波系数;其中,所述左侧像素位置的CCALF滤波系数与所述右下侧像素位置的CCALF滤波系数相同。
14.根据权利要求10所述的方法,其特征在于,
所述CCALF滤波系数集合,包括:目标像素位置的正上侧像素位置的CCALF滤波系数,目标像素位置的左侧像素位置的CCALF滤波系数,目标像素位置的右侧像素位置的CCALF滤波系数,目标像素位置的正下侧像素位置的CCALF滤波系数。
15.根据权利要求10所述的方法,其特征在于,针对所述CCALF滤波系数集合中的CCALF滤波系数:所述CCALF滤波系数为0,或2的N次方,或2的N次方的负值,N为0或小于第一阈值的正整数;和/或,所述CCALF滤波系数位于第二阈值与第三阈值之间。
16.根据权利要求7所述的方法,其特征在于,
所述基于所述目标像素位置的亮度分量重构值,所述目标像素位置的CCALF滤波系数,所述相邻像素位置的亮度分量重构值和所述相邻像素位置的CCALF滤波系数,进行基于CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值,包括:
对所述相邻像素位置的CCALF滤波系数进行变换操作;
基于所述目标像素位置的亮度分量重构值,所述目标像素位置的CCALF滤波系数,所述相邻像素位置的亮度分量重构值和所述相邻像素位置的变换后CCALF滤波系数,进行基于CCALF的滤波处理,得到当前像素位置的色度分量偏移值。
17.根据权利要求16所述的方法,其特征在于,所述变换操作具体为:
旋转变换操作;或者,垂直翻转变换操作;或者,对角翻转变换操作。
18.一种编解码方法,其特征在于,所述方法包括:
获取当前处理单元的亮度分量重构值和色度分量重构值;
基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;
基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
19.根据权利要求18所述的方法,其特征在于,
所述ALF色度滤波系数为0,或2的P次方,或2的P次方的负值,P为0或小于第四阈值的正整数;和/或,所述ALF色度滤波系数位于第五阈值与第六阈值之间;
所述ALF亮度滤波系数为0,或2的Q次方,或2的Q次方的负值,Q为0或小于第七阈值的正整数;和/或,所述ALF亮度滤波系数位于第八阈值与第九阈值之间。
20.根据权利要求18所述的方法,其特征在于,
采用定长码编码方式对所述ALF色度滤波系数的映射值进行编码,且采用定长码解码方式对所述ALF色度滤波系数的映射值进行解码;
采用定长码编码方式对所述ALF亮度滤波系数的映射值进行编码,且采用定长码解码方式对所述ALF亮度滤波系数的映射值进行解码。
21.一种边界强度确定装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理边界的第一相邻块的第一预测模式;
第二获取模块,用于获取待处理边界的第二相邻块的第二预测模式;
确定模块,用于根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度。
22.一种编解码装置,其特征在于,所述装置包括:
获取模块,用于获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;
处理模块,用于基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值。
23.一种编解码装置,其特征在于,所述装置包括:
获取模块,用于获取当前处理单元的亮度分量重构值和色度分量重构值;
处理模块,用于基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
24.一种解码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取待处理边界的第一相邻块的第一预测模式;
获取待处理边界的第二相邻块的第二预测模式;
根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度;
或者,获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;
针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;
基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值;
或者,获取当前处理单元的亮度分量重构值和色度分量重构值;基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
25.一种编码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
获取待处理边界的第一相邻块的第一预测模式;
获取待处理边界的第二相邻块的第二预测模式;
根据所述第一预测模式和所述第二预测模式确定所述待处理边界的边界强度;
或者,获取当前处理单元的每个像素位置的亮度分量重构值和色度分量重构值;
针对当前处理单元的当前像素位置,确定所述当前像素位置关联的所述当前处理单元的目标像素位置;
基于所述目标像素位置的亮度分量重构值和所述目标像素位置的相邻像素位置的亮度分量重构值,进行基于跨分量自适应环路滤波器CCALF的滤波处理,得到所述当前像素位置的色度分量偏移值;利用所述当前像素位置的色度分量重构值和所述当前像素位置的色度分量偏移值,获得所述当前像素位置的目标色度分量重构值;
或者,获取当前处理单元的亮度分量重构值和色度分量重构值;基于所述亮度分量重构值和ALF亮度滤波系数,进行基于ALF的滤波处理,得到目标亮度分量重构值;基于所述色度分量重构值和ALF色度滤波系数,进行基于ALF的滤波处理,得到目标色度分量重构值。
CN201911418555.7A 2019-12-31 2019-12-31 边界强度确定、编解码方法、装置及其设备 Active CN113132739B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911418555.7A CN113132739B (zh) 2019-12-31 2019-12-31 边界强度确定、编解码方法、装置及其设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911418555.7A CN113132739B (zh) 2019-12-31 2019-12-31 边界强度确定、编解码方法、装置及其设备

Publications (2)

Publication Number Publication Date
CN113132739A true CN113132739A (zh) 2021-07-16
CN113132739B CN113132739B (zh) 2022-11-01

Family

ID=76769356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911418555.7A Active CN113132739B (zh) 2019-12-31 2019-12-31 边界强度确定、编解码方法、装置及其设备

Country Status (1)

Country Link
CN (1) CN113132739B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115379214A (zh) * 2022-10-26 2022-11-22 深圳传音控股股份有限公司 图像处理方法、智能终端及存储介质
US11962768B2 (en) 2020-01-13 2024-04-16 Hangzhou Hikvision Digital Technology Co., Ltd. Encoding method and apparatus, decoding method and apparatus, and devices therefor

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110116549A1 (en) * 2001-03-26 2011-05-19 Shijun Sun Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
KR20120047821A (ko) * 2010-11-02 2012-05-14 (주)휴맥스 화면내 예측 부호화를 위한 디블록킹 필터링 방법
US20130136174A1 (en) * 2011-07-12 2013-05-30 Lidong Xu Luma-based chroma intra prediction
CN103813176A (zh) * 2012-11-14 2014-05-21 北京三星通信技术研究有限公司 视频编解码中的去块效应滤波方法和自适应环路滤波方法
CN107836116A (zh) * 2015-07-08 2018-03-23 Vid拓展公司 使用交叉平面滤波的增强色度编码
GB201911952D0 (en) * 2019-08-20 2019-10-02 Canon Kk A filter

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110116549A1 (en) * 2001-03-26 2011-05-19 Shijun Sun Methods and systems for reducing blocking artifacts with reduced complexity for spatially-scalable video coding
KR20120047821A (ko) * 2010-11-02 2012-05-14 (주)휴맥스 화면내 예측 부호화를 위한 디블록킹 필터링 방법
US20130136174A1 (en) * 2011-07-12 2013-05-30 Lidong Xu Luma-based chroma intra prediction
CN103813176A (zh) * 2012-11-14 2014-05-21 北京三星通信技术研究有限公司 视频编解码中的去块效应滤波方法和自适应环路滤波方法
CN107836116A (zh) * 2015-07-08 2018-03-23 Vid拓展公司 使用交叉平面滤波的增强色度编码
GB201911952D0 (en) * 2019-08-20 2019-10-02 Canon Kk A filter

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
K. MISRA 等: "CE5-related: On the design of CC-ALF", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: GENEVA, CH, 1–11 OCTOBER 2019》 *
KIRAN MISRA 等: "CE5-2.1, CE5-2.2: Cross Component Adaptive Loop Filter", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 16TH MEETING: GENEVA, CH, 1–11 OCTOBER 2019》 *
NAN HU 等: "CE5-2.1, CE5-3.1: Multiplication removal for cross component adaptive loop filter and 5x5 filter shape", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 17TH MEETING: BRUSSELS, BE, 7–17 JANUARY 2020》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11962768B2 (en) 2020-01-13 2024-04-16 Hangzhou Hikvision Digital Technology Co., Ltd. Encoding method and apparatus, decoding method and apparatus, and devices therefor
CN115379214A (zh) * 2022-10-26 2022-11-22 深圳传音控股股份有限公司 图像处理方法、智能终端及存储介质

Also Published As

Publication number Publication date
CN113132739B (zh) 2022-11-01

Similar Documents

Publication Publication Date Title
US10419765B2 (en) Method and apparatus for coding/decoding image
CN109804626B (zh) 用于对图像进行编码和解码的方法和设备以及用于存储比特流的记录介质
CN109076241B (zh) 利用样本值的非相邻参考线进行帧内图片预测
DK2777255T3 (en) Method and apparatus for optimizing coding / decoding of compensation offsets for a set of reconstructed samples of an image
AU2015415109B2 (en) Method and apparatus of adaptive filtering of samples for video coding
CN105409221B (zh) 用于样本自适应偏移滤波的编码器侧决策
US20180332292A1 (en) Method and apparatus for intra prediction mode using intra prediction filter in video and image compression
KR102227411B1 (ko) 거리 가중 양지향성 인트라 예측
KR20160110961A (ko) 비대칭 구획을 갖는 인트라 블록 카피 예측 및 인코더측 검색 패턴, 검색 범위 및 구획화 접근법
KR102352058B1 (ko) 비디오 코딩을 위한 디바이스들 및 방법들
KR102293097B1 (ko) 비디오 코딩을 위한 디바이스들 및 방법들
US11871034B2 (en) Intra block copy for screen content coding
CN113132739B (zh) 边界强度确定、编解码方法、装置及其设备
CN114125445B (zh) 解码方法、装置、设备及机器可读存储介质
CN114640845B (zh) 编解码方法、装置及其设备
CN113132724B (zh) 编码、解码方法、装置及其设备
CN110771166B (zh) 帧内预测装置和方法、编码、解码装置、存储介质
WO2023193806A1 (en) Method and apparatus using decoder-derived intra prediction in video coding system
WO2024149293A1 (en) Methods and apparatus for improvement of transform information coding according to intra chroma cross-component prediction model in video coding

Legal Events

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