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

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

Info

Publication number
CN112449181B
CN112449181B CN201910838745.8A CN201910838745A CN112449181B CN 112449181 B CN112449181 B CN 112449181B CN 201910838745 A CN201910838745 A CN 201910838745A CN 112449181 B CN112449181 B CN 112449181B
Authority
CN
China
Prior art keywords
intra
frame
current block
prediction mode
inter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910838745.8A
Other languages
English (en)
Other versions
CN112449181A (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 CN202210633928.8A priority Critical patent/CN115022639A/zh
Priority to CN201910838745.8A priority patent/CN112449181B/zh
Publication of CN112449181A publication Critical patent/CN112449181A/zh
Application granted granted Critical
Publication of CN112449181B publication Critical patent/CN112449181B/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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

Landscapes

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

Abstract

本申请提供一种编解码方法、装置及其设备,该方法包括:在确定对当前块启动帧间帧内联合预测时,获取当前块的加权属性;所述加权属性用于指示当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置;根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;获取当前块的目标帧间预测模式;根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据目标帧内预测模式确定,所述帧间区域的预测值根据目标帧间预测模式确定。通过本申请的技术方案,提高预测性能,提高编码性能。

Description

一种编解码方法、装置及其设备
技术领域
本申请涉及编解码技术领域,尤其是涉及一种编解码方法、装置及其设备。
背景技术
为了达到节约空间的目的,视频图像都是经过编码后才传输的,完整的视频编码方法可以包括预测、变换、量化、熵编码、滤波等过程。其中,预测编码可以包括帧内编码和帧间编码。进一步的,帧间编码是利用视频时间域的相关性,使用邻近已编码图像的像素预测当前像素,以达到有效去除视频时域冗余的目的。此外,帧内编码是指利用视频空间域的相关性,使用当前帧图像的已经编码块的像素预测当前像素,以达到去除视频空域冗余的目的。
在帧间编码中,可以使用运动矢量(Motion Vector,MV)表示当前帧图像的当前块与参考帧图像的参考块的相对位移。例如,当前帧图像A与参考帧图像B存在很强的时域相关性,在需要传输图像A的当前块A1时,可以在图像B中进行运动搜索,找到与当前块A1最匹配的参考块B1,并确定当前块A1与参考块B1的相对位移,即当前块A1的运动矢量。
现有技术中,当前块为矩形,而实际物体的边缘往往不是矩形,对于处于物体边缘的当前块来说,往往存在两个不同对象(如存在前景的物体和背景)。当两个对象的运动不一致时,矩形划分不能很好的将两个对象分割。三角预测模式将当前块按照对角线划分为两个帧间预测区域,分别赋予不同的运动信息。但当其中一个对象的形变较大时,对该区域的帧间预测不能很好的获取其预测值,直接导致预测效果不佳,编码残差较大,编码性能差等问题。
发明内容
本申请提供了一种编解码方法、装置及其设备,提高了预测的准确性。
本申请提供一种编解码方法,所述方法包括:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
本申请提供一种编解码方法,所述方法包括:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;
根据所述目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
本申请提供一种编解码装置,所述装置包括:
第一获取模块,用于在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;
第二获取模块,用于获取所述当前块的目标帧间预测模式;
第三获取模块,用于根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
本申请提供一种编解码装置,所述装置包括:
第一获取模块,用于在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;根据目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置;
第二获取模块,用于获取所述当前块的目标帧间预测模式;
第三获取模块,用于根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
本申请提供一种解码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定;
或者,所述处理器用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;
根据所述目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
本申请提供一种编码端设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定;
或者,所述处理器用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;
根据所述目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
由以上技术方案可见,本申请实施例中,在确定对当前块启动帧间帧内联合预测时,可以获取目标帧内预测模式和目标帧间预测模式,并根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值。在上述方式中,可以根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,提高预测准确性,提高预测性能,提高编码性能,降低编码残差。而且,在确定目标帧内预测模式时,是根据加权属性获取与加权属性绑定的目标帧内预测模式,从而进一步提高编码性能,使预测值更接近原始像素,带来编码性能的提高。
附图说明
图1是视频编码框架的示意图;
图2A和图2B是帧间帧内联合预测的示意图;
图3A-图3D是本申请一种实施方式中的帧间帧内联合预测的示意图;
图4是本申请一种实施方式中的编解码方法的流程图;
图5A-图5H是本申请一种实施方式中的划分信息的示意图;
图6A-图6C是本申请一种实施方式中的帧间帧内联合预测的示意图;
图7A-图7D是本申请一种实施方式中的编解码方法的流程图;
图8是本申请一种实施方式中的编解码方法的流程图;
图9A-图9D是帧内区域与帧间区域的示意图;
图10A和图10B是本申请一种实施方式中的预测值的获取过程示意图;
图11A和图11B是本申请一种实施方式中的编解码装置的结构示意图;
图11C是本申请一种实施方式中的解码端设备的硬件结构图;
图11D是本申请一种实施方式中的编码端设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请实施例和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但是,这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种编解码方法、装置及其设备,可以涉及如下概念:
帧内预测和帧间预测(intra prediction and inter prediction):
帧内预测是指,利用视频空间域的相关性,使用当前图像已编码块的像素预测当前像素,以达到去除视频空域冗余的目的。帧内预测中规定了多种预测模式,每一种预测模式都对应一种纹理方向(DC模式和Planar模式除外),例如,如果图像的纹理是呈现水平状排布,则水平预测模式可以更好的预测图像信息,可以基于水平预测模式进行预测。
帧间预测是指,基于视频时域的相关性,由于视频序列包含有较强的时域相关性,使用邻近已编码图像像素预测当前图像的像素,可以达到有效去除视频时域冗余的目的。视频编码标准帧间预测部分都采用了基于块的运动补偿技术,主要原理是为当前图像的每一个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计(MotionEstimation,ME)。
预测像素(Prediction Signal):预测像素是指从已编解码像素中导出的像素值,通过原始像素与预测像素之差获得残差,进而进行残差变换量化和系数编码。帧间预测像素指的是当前块从参考帧导出的像素值,由于像素位置离散,运动矢量精度往往高于参考帧的像素精度,所以往往需要通过插值运算来获取最终的预测像素。预测像素与原始像素越接近,两者相减得到的残差能量越小,编码压缩性能越高。
运动矢量(Motion Vector,MV):在帧间编码中,可以使用运动矢量表示当前帧视频图像的当前块与参考帧视频图像的参考块之间的相对位移。每个划分的块都有相应的运动矢量传送到解码端,如果对每个块的运动矢量进行独立编码和传输,特别是划分成小尺寸的大量块,则消耗相当多的比特。为降低用于编码运动矢量的比特数,可以利用相邻块之间的空间相关性,根据相邻已编码块的运动矢量对当前待编码块的运动矢量进行预测,然后对预测差进行编码,这样可以有效降低表示运动矢量的比特数。进一步的,在对当前块的运动矢量进行编码的过程中,可以先使用相邻已编码块的运动矢量预测当前块的运动矢量,然后对该运动矢量的预测值(MVP,Motion Vector Prediction)与运动矢量的真正估值之间的差值(MVD,Motion Vector Difference)进行编码,从而有效降低运动矢量的编码比特数。
运动信息(Motion Information):由于运动矢量表示当前块与某个参考块之间的位置偏移,为了准确的获取指向块的信息,除了运动矢量,还需要参考帧图像的索引信息来表示当前块使用哪个参考帧图像。在视频编码技术中,对于当前帧图像,通常可以建立一个参考帧图像列表,参考帧图像索引信息则表示当前块采用了参考帧图像列表中的第几个参考帧图像。此外,很多编码技术还支持多个参考图像列表,因此,还可以使用一个索引值来表示使用了哪一个参考图像列表,这个索引值可以称为参考方向。综上所述,在视频编码技术中,可以将运动矢量,参考帧索引,参考方向等与运动相关的信息统称为运动信息。
帧内预测模式:在帧内编码中,可以使用帧内预测模式进行运动补偿,即采用帧内预测模式获取当前块的预测值。例如,帧内预测模式可以包括Planar模式,DC模式以及33种角度模式。参见表1所示,为帧内预测模式的示例,Planar模式对应模式0,DC模式对应模式1,其余的33种角度模式对应模式1-模式34。Planar模式适用于像素值缓慢变化的区域,使用水平方向和垂直方向的两个线性滤波器,并将两者的平均值作为当前块像素的预测值。DC模式适用于大面积平坦区域,将当前块的周围像素的平均值作为当前块的预测值。角度模式可以有33种角度,模式26表示垂直方向,模式10表示水平方向。在最新制定的新一代编解码标准VVC中,采用了更细分的角度方向,如共有67种角度模式。
表1
帧内预测模式 帧内预测模式
0 Planar模式
1 DC模式
2…34 angular2…angular34
帧间预测模式:在帧间编码中,可以使用帧间预测模式进行运动补偿,即采用帧间预测模式获取当前块的预测值。例如,帧间预测模式可以包括常规合并模式(Merge模式)、MMVD模式、仿射合并模式、ATMVP(Alternative Temporal Motion Vector Prediction,可选时域运动矢量预测)模式等,ATMVP模式也可以称为SBTMVP(sub-block TMVP)模式。
率失真原则(Rate-Distortion Optimized):评价编码效率的有两大指标:码率和PSNR(PeakSignal to Noise Ratio,峰值信噪比),比特流越小,则压缩率越大,PSNR越大,则重建图像质量越好,在模式选择时,判别公式实质上也就是对二者的综合评价。例如,模式对应的代价:J(mode)=D+λ*R,其中,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特总和。
视频编码框架:参见图1所示,可以使用视频编码框架实现本申请实施例的编码端处理流程,视频解码框架的示意图与图1类似,在此不再重复赘述,可以使用视频解码框架实现本申请实施例的解码端处理流程。示例性的,在视频编码框架和视频解码框架中,可以包括但不限于帧内预测、运动估计/运动补偿、参考图像缓冲器、环内滤波、重建、变换、量化、反变换、反量化、熵编码器等模块。在编码端,通过这些模块之间的配合,可以实现编码端处理流程,在解码端,通过这些模块之间的配合,可以实现解码端处理流程。
示例性的,帧内预测和帧间预测分别去除视频序列中的空域相关性和时域相关性,随着对压缩效率的不断提高,对编码块同时进行帧内预测和帧间预测,可以在一定程度上同时去除空域相关性和时域相关性,因此,提出了一种帧间帧内联合预测方案。
参见图2A所示,CIIP(Combined inter/intra prediction,帧间帧内联合预测)预测块由帧内预测块(即每个位置的像素是采用帧内预测模式得到的帧内预测值)和帧间预测块(即每个位置的像素是采用帧间预测模式得到的帧间预测值)加权得到,每个像素位置采用的帧间预测值和帧内预测值的权重是1:1。例如,针对每个位置,将该位置的帧内预测值与该位置的帧间预测值进行加权,得到该位置的联合预测像素值,最终将每个位置的联合预测像素值组成CIIP预测块。示例性的,帧内预测块的帧内预测模式可以在编码端和解码端固定,从而避免传输语法指示具体的帧内预测模式。或者,构建帧内预测模式列表,编码端将选中的帧内预测模式的索引值编入码流,解码端基于该索引值从帧内预测模式列表中选择帧内预测模式。
参见图2B所示,CIIP预测块由帧内预测块(即每个位置的像素是采用帧内预测模式得到的帧内预测值)和帧间预测块(即每个位置的像素是采用帧间预测模式得到的帧间预测值)加权得到。CIIP预测块分为两个区域,一个区域为帧内区域,另一个区域为帧间区域,CIIP预测块的帧间帧内呈非方形分布,虚线分界线可以为主对角线或者副对角线,帧内区域和帧间区域的位置可变。帧内区域的每个位置,主要是基于帧内预测值确定,例如,将该位置的帧内预测值与该位置的帧间预测值进行加权时,帧内预测值的权重较大,帧间预测值的权重较小(甚至为0),得到该位置的联合预测像素值。帧间区域的每个位置,主要是基于帧间预测值确定,例如,将该位置的帧内预测值与该位置的帧间预测值进行加权时,帧间预测值的权重较大,帧内预测值的权重较小(甚至为0),得到该位置的联合预测像素值。最终将每个位置的联合预测像素值组成CIIP预测块。示例性的,帧内预测块的帧内预测模式可以在编码端和解码端固定,从而避免传输语法指示具体的帧内预测模式。或者,编码端和解码端采用统一导出方式,基于周边块的帧内预测模式导出当前块的帧内预测模式。
在上述方式中,没有考虑分割线物理意义,导致帧内预测模式的预测值可能会来自于分割线另一侧的物体,导致帧内预测准确性降低。针对上述发现,本申请实施例中提出一种帧间帧内联合预测方法,考虑到如下分割线物理意义:若分割线两侧属于不同的物体,对于依赖周边已重建像素导出的帧内区域,帧内区域的预测值不应该采用帧间区域一侧的已重建像素,因此,对于不同的加权属性(包括划分信息和帧间区域和帧内区域的相对位置),可以绑定不同的帧内预测模式,使得帧内区域的预测值不采用帧间区域一侧的已重建像素。
例如,参见图3A所示,帧内区域位于帧间区域的左下方,对于帧内区域来说,若当前块内的帧内区域与当前块左侧周边区域属于同一物体,则基于当前块的左侧周边已重建像素(如图3A中当前块左侧的深灰色区域),确定帧内区域的预测值的可靠性好一些,因此,当前块外部左侧周边已重建像素可信,而当前块的帧间区域与当前块上侧周边区域属于同一物体,基于当前块的上侧周边已重建像素,确定帧内区域的预测值的可靠性差一些,因此,当前块外部上侧周边已重建像素不可信。由于当前块外部左侧周边已重建像素可信,当前块外部上侧周边已重建像素不可信,在一种优选的实施方式中,希望使用高可靠性的已重建像素来获取帧内区域的预测值,而不希望使用低可靠性的已重建像素来获取帧内区域的预测值。综上所述,为了使用高可靠性的已重建像素来获取帧内区域的预测值,图3A所示的加权属性绑定的帧内预测模式,使帧内区域的预测值参考当前块外部左侧周边已重建像素,而不参考当前块外部上侧周边已重建像素。
参见图3B所示,帧内区域位于帧间区域的右上方,对于帧内区域来说,若当前块内的帧内区域与当前块上侧周边区域属于同一物体,则基于当前块的上侧周边已重建像素(如图3B中当前块上侧的深灰色区域),确定帧内区域的预测值的可靠性好一些,因此,当前块外部上侧周边已重建像素可信,而当前块的帧间区域与当前块左侧周边区域属于同一物体,基于当前块的左侧周边已重建像素,确定帧内区域的预测值的可靠性差一些,因此,当前块外部左侧周边已重建像素不可信。由于当前块外部上侧周边已重建像素可信,当前块外部左侧周边已重建像素不可信,在一种优选的实施方式中,图3B所示的加权属性绑定的帧内预测模式,使帧内区域的预测值参考当前块外部上侧周边已重建像素,而不参考当前块外部左侧周边已重建像素。
参见图3C所示,当前块的帧内区域位于当前块的帧间区域的左上方,对于帧内区域来说,若当前块内的帧内区域与当前块上侧周边区域属于同一物体,也与当前块左侧周边区域属于同一物体,则基于当前块的上侧周边已重建像素,确定帧内区域的预测值的可靠性好一些,因此,当前块外部上侧周边已重建像素可信,基于当前块的左侧周边已重建像素,确定帧内区域的预测值的可靠性也比较好,因此,当前块外部左侧周边已重建像素可信。由于当前块外部上侧周边已重建像素可信,当前块外部左侧周边已重建像素可信,在一种优选的实施方式中,图3C所示的加权属性绑定的帧内预测模式,使帧内区域的预测值参考当前块外部上侧周边已重建像素,且帧内区域的预测值参考当前块外部左侧周边已重建像素。
参见图3D所示,帧内区域位于帧间区域的右下方,对于帧内区域来说,若当前块内的帧内区域与当前块上侧周边区域不属于同一物体,与当前块左侧周边区域不属于同一物体,则基于当前块的上侧周边已重建像素,确定帧内区域的预测值的可靠性比较差,因此,当前块外部上侧周边已重建像素不可信,基于当前块的左侧周边已重建像素,确定帧内区域的预测值的可靠性比较差,因此,当前块外部左侧周边已重建像素不可信。由于当前块外部上侧周边已重建像素不可信,当前块外部左侧周边已重建像素不可信,在一种优选的实施方式中,图3D所示的加权属性不需要绑定帧内预测模式,这种情况的加权属性应该不再使用。
综上所述,本申请实施例中,首先是设置不同的加权属性,并对于不同的加权属性,绑定其对应的帧内预测模式,使得帧内区域的预测值不采用靠近帧间区域一侧的可信度较低的已重建像素,从而使得预测值能够更接近原始像素,带来编码性能的提高,提高预测准确性,提高预测性能。
以下结合几个具体实施例,对本申请实施例中的编解码方法进行详细说明。
实施例1:参见图4所示,为本申请实施例中的编解码方法的流程示意图,该编解码方法可以应用于解码端或者编码端,该编解码方法可以包括以下步骤:
步骤401,在确定对当前块启动帧间帧内联合预测时,获取当前块的加权属性;所述加权属性用于指示当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置。
在步骤401中,解码端或者编码端需要确定是否对当前块启动帧间帧内联合预测。若对当前块启动帧间帧内联合预测,则可以采用本申请实施例的编解码方法。若不对当前块启动帧间帧内联合预测,则可以不采用本申请实施例的编解码方法,对此过程不做限制。
示例性的,可以判断当前块的特征信息是否满足特定条件;如果是,则确定对当前块启动帧间帧内联合预测;如果否,则确定不对当前块启动帧间帧内联合预测。该特征信息可以包括但不限于以下之一或者任意组合:当前块所在当前帧的帧类型、当前块的尺寸信息。
例如,若该特征信息为当前块所在当前帧的帧类型,当前块所在当前帧的帧类型满足特定条件,包括但不限于:若当前块所在当前帧的帧类型为B帧,则确定帧类型满足特定条件。
例如,若特征信息为当前块的尺寸信息,且尺寸信息包括当前块的宽度和当前块的高度,则当前块的尺寸信息满足特定条件,可以包括但不限于:若当前块的宽度大于或等于第一数值、当前块的高度大于或等于第二数值,确定当前块的尺寸信息满足特定条件。或,若当前块的宽度大于或等于第三数值、当前块的高度大于或等于第四数值、当前块的宽度小于或等于第五数值、当前块的高度小于或等于第六数值,确定当前块的尺寸信息满足特定条件。或,若当前块的宽度和高度的乘积大于或等于第七数值,确定当前块的尺寸信息满足特定条件。
示例性的,上述数值可以根据经验配置,如8、16、32、64、128等,对此不做限制。在一种可能的实现方式中,第一数值可以为8,第二数值可以为8,第三数值可以为8,第四数值可以为8,第五数值可以为64,第六数值可以为64,第七数值可以为64。
当然,上述只是示例,对此不做限制。综上所述,若当前块的宽度大于或等于8、当前块的高度大于或等于8,确定当前块的尺寸信息满足特定条件。或,若当前块的宽度大于或等于8、当前块的高度大于或等于8、当前块的宽度小于或等于64、当前块的高度小于或等于64,确定当前块的尺寸信息满足特定条件。或,若当前块的宽度和高度的乘积大于或等于64,确定当前块的尺寸信息满足特定条件。
例如,若该特征信息为当前块所在当前帧的帧类型,当前块的尺寸信息,则所述帧类型满足特定条件,且所述尺寸信息满足特定条件时,确定当前块的特征信息满足特定条件。
在步骤401中,解码端或者编码端需要获取当前块的加权属性,所述加权属性用于指示当前块的划分信息,以及当前块包括的帧内区域与帧间区域的相对位置。示例性的,基于当前块的划分信息,当前块分为帧内区域与帧间区域,帧内区域的形状与帧间区域的形状可以相同,帧内区域的形状与帧间区域的形状也可不同。帧内区域为如下区域的一种:三角区域、梯形区域、五边形区域;帧间区域为如下区域的一种:三角区域、梯形区域、五边形区域。
例如,当前块可以分为两个三角区域,参见图5A所示,为按照副对角线方式将当前块分为两个三角区域的示例,参见图5B所示,为按照主对角线方式将当前块分为两个三角区域的示例。又例如,当前块可以被分为一个三角区域和一个梯形区域,也可以被分为两个梯形区域,也可以被分为一个三角区域和一个五边形区域。当然,上述只是几个示例,对此不做限制,当前块可以分为任意形状的两个区域,本文只是介绍一些划分的可能性。参见图5C和图5D所示,当前块分为一个三角区域和一个梯形区域,参见图5E和图5F所示,当前块分为两个梯形区域,参见图5G和图5H所示,当前块分为一个三角区域和一个五边形区域。
在一种可能的实施方式中,所述加权属性用于指示将当前块按照左上-右下划分,所述当前块包括的帧内区域与帧间区域的相对位置是帧内区域位于帧间区域的左下方。示例性的,将当前块按照左上-右下划分时,可以是图5B所示的划分,也可以是图5D所示的划分,也可以是图5F所示的划分,也可以是图5G所示的划分,对此不做限制,只要是按照左上-右下划分即可。在将当前块按照左上-右下划分后,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左下方,参见图3A所示,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左下方,参见图6A所示,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左下方。当然,图3A和图6A只是两个示例,对此不做限制。
在一种可能的实施方式中,所述加权属性用于指示将当前块按照左上-右下划分,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的右上方。示例性的,将当前块按照左上-右下划分时,可以是图5B所示的划分,也可以是图5D所示的划分,也可以是图5F所示的划分,也可以是图5G所示的划分,对此不做限制,只要是按照左上-右下划分即可。在将当前块按照左上-右下划分后,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的右上方。参见图3B所示,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的右上方,参见图6B所示,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的右上方。当然,图3B和图6B只是两个示例,对此不做限制。
在一种可能的实施方式中,所述加权属性用于指示将当前块按照左下-右上划分,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左上方。示例性的,将当前块按照左下-右上划分时,可以是图5A所示的划分,可以是图5C所示的划分,也可以是图5E所示的划分,也可以是图5H所示的划分,对此不做限制,只要是按照左下-右上划分即可。在将当前块按照左下-右上划分后,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左上方。参见图3C所示,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左上方,参见图6C所示,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左上方。当然,图3C和图6C只是两个示例,对此不做限制。
在步骤401中,解码端或者编码端需要获取当前块的加权属性,编码端可以通过比较每种加权属性的率失真代价值,从所有加权属性中选取一种加权属性,并将该加权属性的索引值编入编码比特流。解码端是获取编码比特流中的索引值对应的加权属性。或者,编码端和解码端都预定义一种加权属性,对此获取方式不做限制,可以有多种。关于解码端或者编码端获取当前块的加权属性的过程,可以参见后续实施例,在此不再赘述。
步骤402,根据加权属性获取与所述加权属性绑定的目标帧内预测模式。
在一种可能的实施方式中,每种加权属性可以只对应一个帧内预测模式,二者的绑定关系可以预先约定。基于此,在获取当前块的加权属性之后,若所述加权属性对应一个帧内预测模式,则可以将所述一个帧内预测模式确定为与所述加权属性绑定的目标帧内预测模式。
例如,若所述加权属性用于指示将当前块按照左上-右下划分,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左下方,参见图3A或图6A所示,则与所述加权属性绑定的目标帧内预测模式为水平角度预测模式。比如说,预先约定图3A或图6A所示的加权属性与水平角度预测模式的绑定关系,在所述加权属性如图3A或图6A所示时,则确定目标帧内预测模式为水平角度预测模式。
例如,若所述加权属性用于指示将当前块按照左上-右下划分,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的右上方,参见图3B或图6B所示,则与所述加权属性绑定的目标帧内预测模式为垂直角度预测模式。比如说,预先约定图3B或图6B所示的加权属性与垂直角度预测模式的绑定关系,在所述加权属性如图3B或图6B所示时,则确定目标帧内预测模式为垂直角度预测模式。
例如,若所述加权属性用于指示将当前块按照左下-右上划分,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左上方,参见图3C或图6C所示,则与所述加权属性绑定的目标帧内预测模式为Planar预测模式。比如说,预先约定图3C或图6C所示的加权属性与Planar预测模式的绑定关系,在所述加权属性如图3C或图6C所示时,则确定目标帧内预测模式为Planar预测模式。
在另一种可能的实施方式中,加权属性可以对应一个帧内预测模式列表,所述帧内预测模式列表包括至少两个帧内预测模式。基于此,在获取当前块的加权属性之后,若所述加权属性对应一个帧内预测模式列表,所述帧内预测模式列表包括至少两个帧内预测模式,则可以从所述帧内预测模式列表中获取与所述加权属性绑定的目标帧内预测模式。
编码端是通过比较帧内预测模式列表中的每个帧内预测模式的率失真代价值,从帧内预测模式列表中获取与所述加权属性绑定的目标帧内预测模式,并将目标帧内预测模式的索引值编入编码比特流。解码端从帧内预测模式列表中选取与所述索引值对应的帧内预测模式,将选取的帧内预测模式确定为与所述加权属性绑定的目标帧内预测模式。关于解码端或者编码端获取与加权属性绑定的目标帧内预测模式的过程,参见后续实施例,在此不再赘述。
示例性的,若所述加权属性用于指示将当前块按照左上-右下划分,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左下方,参见图3A或图6A所示,则所述帧内预测模式列表中的第一个帧内预测模式为水平角度预测模式,基于此,解码端或者编码端是从第一个帧内预测模式为水平角度预测模式的帧内预测模式列表中,获取与所述加权属性绑定的目标帧内预测模式。
示例性的,若所述加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的右上方,参见图3B或图6B所示,则所述帧内预测模式列表中的第一个帧内预测模式为垂直角度预测模式,基于此,解码端或者编码端是从第一个帧内预测模式为垂直角度预测模式的帧内预测模式列表中,获取与所述加权属性绑定的目标帧内预测模式。
示例性的,若所述加权属性用于指示将当前块按照左下-右上划分,配置的当前块内的帧内区域与帧间区域的相对位置关系是帧内区域位于帧间区域的左上方,参见图3C或图6C所示,则所述帧内预测模式列表中的第一个帧内预测模式为Planar预测模式。基于此,解码端或者编码端是从第一个帧内预测模式为Planar预测模式的帧内预测模式列表中,获取与所述加权属性绑定的目标帧内预测模式。
步骤403,获取当前块的目标帧间预测模式。
例如,可以从所有帧间预测模式中选取一个帧间预测模式作为目标帧间预测模式,如帧间预测模式可以为常规合并模式,或者,AMVP(Advanced Motion VectorPrediction,高级运动向量预测)模式,或者,MMVD模式,或者,仿射合并模式,或者,ATMVP模式,对此目标帧间预测模式的获取过程不做限制,可以采用传统方式获取。
步骤404,根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,帧内区域的预测值可以根据目标帧内预测模式确定,帧间区域的预测值可以根据目标帧间预测模式确定。
在一种可能的实施方式中,当根据当前块的加权属性将当前块划分为帧内区域,帧间区域和帧间帧内联合区域三部分时,则当前块的预测值包括帧内区域的预测值,帧间区域的预测值和帧间帧内联合区域的预测值。基于此,可以根据目标帧内预测模式获取当前块的帧内区域的预测值;根据目标帧间预测模式获取当前块的帧间区域的预测值。然后,根据目标帧内预测模式获取帧间帧内联合区域的帧内预测值,并根据目标帧间预测模式获取帧间帧内联合区域的帧间预测值,并根据帧间帧内联合区域的帧内预测值和帧间帧内联合区域的帧间预测值,获取帧间帧内联合区域的预测值(即帧间帧内联合区域的最终预测值)。
在另一种可能的实施方式中,当根据当前块的加权属性将当前块划分为帧内区域和帧间区域两部分时,则当前块的预测值包括帧内区域的预测值和帧间区域的预测值。基于此,可以根据目标帧内预测模式获取当前块的帧内区域的预测值(即帧内区域的帧内预测值),并根据目标帧间预测模式获取当前块的帧间区域的预测值(即帧间区域的帧间预测值)。
由以上技术方案可见,本申请实施例中,在确定对当前块启动帧间帧内联合预测时,可以获取目标帧内预测模式和目标帧间预测模式,并根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值。在上述方式中,可以根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,提高预测准确性,提高预测性能,提高编码性能,降低编码残差。而且,在确定目标帧内预测模式时,是根据加权属性获取与加权属性绑定的目标帧内预测模式,从而进一步提高编码性能,使预测值更接近原始像素,带来编码性能的提高。
实施例2:编码端与解码端预先约定加权属性与帧内预测模式的绑定关系,且每种加权属性只对应一个帧内预测模式。示例性的,通过为每种加权属性绑定合适的帧内预测模式,使得在根据加权属性绑定的帧内预测模式获取当前块内的帧内区域的预测值时,获取的是可靠的预测值。例如,预先在编码端配置加权属性与帧内预测模式的绑定关系,并在解码端配置加权属性与帧内预测模式的绑定关系,且二者的绑定关系相同。
例如,预先约定加权属性1与帧内预测模式1的绑定关系,加权属性2与帧内预测模式2的绑定关系,加权属性3与帧内预测模式3的绑定关系,当然,这里以3个绑定关系为例,在实际应用中,绑定关系的数量可以多于3个,也可以少于3个,对此不做限制。
示例性的,加权属性1用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的左下方,例如,加权属性1可以参见图3A或图6A所示。基于加权属性1,当前块的左侧已重建像素可信,当前块的上侧已重建像素由于分割线的存在而不可信,因此,与加权属性1绑定的帧内预测模式1,需要使帧内区域的预测值参考当前块外部左侧周边已重建像素,而不参考当前块外部上侧周边已重建像素,比如说,与加权属性1绑定的帧内预测模式1可以为水平角度预测模式,也可以为沿着分割线的左上-右下的角度预测模式,后续以水平角度预测模式为例。
示例性的,加权属性2用于指示将当前块按照左上-右下划分,当前块包括的帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的右上方,例如,加权属性2可以参见图3B或图6B所示。基于加权属性2,当前块的上侧已重建像素可信,当前块的左侧已重建像素由于分割线的存在而不可信,因此,与加权属性2绑定的帧内预测模式2,需要使帧内区域的预测值参考当前块外部上侧周边已重建像素,而不参考当前块外部左侧周边已重建像素,比如说,与加权属性2绑定的帧内预测模式2可以为垂直角度预测模式,也可以为沿着分割线的左上-右下的角度预测模式,后续以垂直角度预测模式为例。
示例性的,加权属性3用于指示将当前块按照左下-右上划分,当前块包括的帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的左上方,例如,加权属性3可以参见图3C或图6C所示。基于加权属性3,当前块的上侧已重建像素可信,当前块的左侧已重建像素可信,因此,与加权属性3绑定的帧内预测模式3,可以使帧内区域的预测值参考当前块外部上侧周边已重建像素和左侧周边已重建像素,比如说,与加权属性3绑定的帧内预测模式3可以为Planar预测模式。与加权属性3绑定的帧内预测模式3,也可以使帧内区域的预测值参考当前块外部上侧周边已重建像素,比如说,与加权属性3绑定的帧内预测模式3可以为垂直角度预测模式。与加权属性3绑定的帧内预测模式3,也可以使帧内区域的预测值参考当前块外部左侧周边已重建像素,比如说,与加权属性3绑定的帧内预测模式3可以为水平角度预测模式。为了方便描述,后续以Planar预测模式为例进行说明。
在上述应用场景下,参见图7A所示,为本申请实施例中的编解码方法的流程示意图,该编解码方法可以应用于编码端,该编解码方法可以包括以下步骤:
步骤711,编码端确定是否对当前块启动帧间帧内联合预测。如果是,则执行步骤712;如果否,则可以不采用本申请实施例的编解码方法,对此过程不做限制。
示例性的,步骤711的实现方式可以参见实施例1,在此不再重复赘述。
步骤712,编码端获取当前块的加权属性,与所述加权属性绑定的目标帧内预测模式。加权属性用于指示当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置。
步骤713,编码端获取当前块的目标帧间预测模式。
针对步骤712和步骤713,编码端可以采用如下方式实现:
方式一、编码端通过协议约定默认使用某个加权属性,并通过加权属性与帧内预测模式的绑定关系,确定与所述加权属性绑定的目标帧内预测模式。编码端通过协议约定默认使用某个帧间预测模式,将这个帧间预测模式作为当前块的目标帧间预测模式。
例如,编码端通过协议约定默认使用图3A所示的加权属性1,则编码端确定与所述加权属性1绑定的目标帧内预测模式为水平角度预测模式。编码端通过协议约定默认使用常规合并模式,则编码端确定当前块的目标帧间预测模式为常规合并模式。
方式二、编码端基于每个加权属性,与加权属性绑定的帧内预测模式,每个帧间预测模式,帧间预测模式中的每个运动信息,对当前块进行联合预测,并利用率失真原则确定当前块的率失真代价。然后,编码端从所有率失真代价中选取最小的率失真代价,将最小的率失真代价对应的加权属性作为当前块的加权属性,将与该加权属性绑定的帧内预测模式作为当前块的目标帧内预测模式;将最小的率失真代价对应的帧间预测模式作为当前块的目标帧间预测模式;将最小的率失真代价对应的运动信息作为当前块的目标运动信息。
例如,参见上述实施例,存在加权属性1,加权属性2,加权属性3,与加权属性1绑定的帧内预测模式1,与加权属性2绑定的帧内预测模式2,与加权属性3绑定的帧内预测模式3。假设存在帧间预测模式A和帧间预测模式B,对此帧间预测模式A和帧间预测模式B均不做限制,例如,帧间预测模式A为常规合并模式,帧间预测模式B为MMVD模式。构建帧间预测模式A的运动信息候选列表,该运动信息候选列表可以包括运动信息A1和运动信息A2,构建帧间预测模式B的运动信息候选列表,该运动信息候选列表可以包括运动信息B1和运动信息B2,对此运动信息候选列表的构建过程不做限制,可以参见传统实现方式。
针对加权属性1,与加权属性1绑定的帧内预测模式1,帧间预测模式A,运动信息A1,采用加权属性1将当前块分为帧内区域和帧间区域,基于帧内预测模式1和运动信息A1对当前块进行联合预测,得到当前块的预测值,对此过程不做限制,例如,根据帧内预测模式1获取当前块的帧内区域的预测值,根据运动信息A1获取当前块的帧间区域的预测值,当然,上述方式只是示例。利用率失真原则和当前块的预测值确定当前块的率失真代价1。
针对加权属性1,帧内预测模式1,帧间预测模式A,运动信息A2,采用加权属性1将当前块分为帧内区域和帧间区域,基于帧内预测模式1和运动信息A2对当前块进行联合预测,得到当前块的预测值,利用率失真原则和当前块的预测值确定当前块的率失真代价2。
针对加权属性1,帧内预测模式1,帧间预测模式B,运动信息B1,采用加权属性1将当前块分为帧内区域和帧间区域,基于帧内预测模式1和运动信息B1对当前块进行联合预测,得到当前块的预测值,利用率失真原则和当前块的预测值确定当前块的率失真代价3。
针对加权属性1,帧内预测模式1,帧间预测模式B,运动信息B2,采用加权属性1将当前块分为帧内区域和帧间区域,基于帧内预测模式1和运动信息B2对当前块进行联合预测,得到当前块的预测值,利用率失真原则和当前块的预测值确定当前块的率失真代价4。
针对加权属性2,与加权属性2绑定的帧内预测模式2,帧间预测模式A,运动信息A1,采用加权属性2将当前块分为帧内区域和帧间区域,基于帧内预测模式2和运动信息A1对当前块进行联合预测,得到当前块的预测值,利用率失真原则和当前块的预测值确定当前块的率失真代价5。依次类推,针对每个加权属性,与该加权属性绑定的帧内预测模式,每个帧间预测模式,帧间预测模式中的每个运动信息,均可以对当前块进行联合预测,得到当前块的预测值,并基于率失真原则和当前块的预测值确定当前块的率失真代价。
在遍历得到所有率失真代价后,从所有率失真代价中选择最小的率失真代价,假设最小的率失真代价是率失真代价1,则加权属性1作为当前块的加权属性(步骤712),与加权属性1绑定的帧内预测模式1作为当前块的目标帧内预测模式(步骤712),帧间预测模式A作为当前块的目标帧间预测模式(步骤713),运动信息A1作为当前块的目标运动信息。
步骤714,编码端根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,帧内区域的预测值可以根据目标帧内预测模式确定,帧间区域的预测值可以根据目标帧间预测模式确定。
实施例3:解码端与编码端预先约定加权属性与帧内预测模式的绑定关系,且每种加权属性只对应一个帧内预测模式。例如,预先在解码端配置加权属性与帧内预测模式的绑定关系,并在编码端配置加权属性与帧内预测模式的绑定关系,且二者的绑定关系相同。
例如,预先约定加权属性1与帧内预测模式1的绑定关系,加权属性2与帧内预测模式2的绑定关系,加权属性3与帧内预测模式3的绑定关系。加权属性1用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的左下方,参见图3A或图6A所示,与加权属性1绑定的帧内预测模式1可以为水平角度预测模式,也可以为沿着分割线的左上-右下的角度预测模式,以水平角度预测模式为例。加权属性2用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的右上方,参见图3B或图6B所示,与加权属性2绑定的帧内预测模式2可以为垂直角度预测模式,也可以为沿着分割线的左上-右下的角度预测模式,以垂直角度预测模式为例。加权属性3用于指示将当前块按照左下-右上划分,帧内区域位于帧间区域的左上方,参见图3C或图6C所示,与加权属性3绑定的帧内预测模式3可以为Planar预测模式,垂直角度预测模式,水平角度预测模式,以Planar预测模式为例进行说明。
在上述应用场景下,参见图7B所示,为本申请实施例中的编解码方法的流程示意图,该编解码方法可以应用于解码端,该编解码方法可以包括以下步骤:
步骤721,解码端确定是否对当前块启动帧间帧内联合预测。如果是,则执行步骤722;如果否,则可以不采用本申请实施例的编解码方法,对此过程不做限制。
示例性的,步骤721的实现方式可以参见实施例1,在此不再重复赘述。
在另一种可能的实现方式中,编码端在确定对当前块启动帧间帧内联合预测时,还可以在编码比特流中携带对当前块启动帧间帧内联合预测的指示信息1,基于所述指示信息1,解码端可以确定对当前块启动帧间帧内联合预测。或者,编码端在确定不对当前块启动帧间帧内联合预测时,还可以在编码比特流中携带不对当前块启动帧间帧内联合预测的指示信息2,基于所述指示信息2,解码端可以确定不对当前块启动帧间帧内联合预测。
示例性的,编码端在确定对当前块启动帧间帧内联合预测时,还可以判断当前块是否为非方划分的帧间帧内联合预测,即是否将当前块划分为帧内区域和帧间区域,且帧内区域和帧间区域均不是方形。如果否,编码端不采用本申请实施例的技术方案,在编码比特流中携带不采用非方划分的帧间帧内联合预测的指示信息3,基于指示信息3,解码端确定当前块不为非方划分的帧间帧内联合预测,解码端不采用本申请实施例的技术方案。如果是,编码端执行步骤712-步骤714,在编码比特流中携带采用非方划分的帧间帧内联合预测的指示信息4,基于指示信息4,解码端确定当前块为非方划分的帧间帧内联合预测,执行后续步骤。
步骤722,解码端获取当前块的加权属性,所述加权属性用于指示当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置。例如,解码端可以采用如下方式实现:
方式一、解码端通过协议约定默认使用某个加权属性,例如,解码端通过协议约定默认使用图3A所示的加权属性1,编码端也需要通过协议约定默认使用图3A所示的加权属性1。
方式二、编码端在向解码端发送编码比特流时,该编码比特流包括加权属性的指示信息,基于所述指示信息,解码端将所述指示信息对应的加权属性作为当前块的加权属性。
例如,若编码端确定当前块的加权属性为加权属性1,编码比特流包括加权属性1的指示信息,基于所述指示信息,解码端确定当前块的加权属性为加权属性1。
又例如,若编码端确定当前块的加权属性为加权属性2,编码比特流包括加权属性2的指示信息,基于所述指示信息,解码端确定当前块的加权属性为加权属性2。
又例如,若编码端确定当前块的加权属性为加权属性3,编码比特流包括加权属性3的指示信息,基于所述指示信息,解码端确定当前块的加权属性为加权属性3。
在一种可能的实施方式中,加权属性是根据第一指示信息确定,第一指示信息用于指示当前块的划分信息,帧内区域与帧间区域的相对位置。在这种实施方式中,可以通过第一指示信息同时指示当前块的划分信息,帧内区域与帧间区域的相对位置。
例如,若编码端确定当前块的加权属性为加权属性1,则编码比特流包括针对加权属性1的第一指示信息,第一指示信息用于指示将当前块按照左上-右下划分,且帧内区域位于帧间区域的左下方。解码端接收到编码比特流后,从编码比特流中解析出第一指示信息,基于第一指示信息,解码端确定当前块的划分信息为将当前块按照左上-右下划分,帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的左下方,即,当前块的加权属性为加权属性1。
例如,若编码端确定当前块的加权属性为加权属性2,则编码比特流包括针对加权属性2的第一指示信息,第一指示信息用于指示将当前块按照左上-右下划分,且帧内区域位于帧间区域的右上方。解码端接收到编码比特流后,从编码比特流中解析出第一指示信息,基于第一指示信息,解码端确定当前块的划分信息为将当前块按照左上-右下划分,帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的右上方,即,当前块的加权属性为加权属性2。
例如,若编码端确定当前块的加权属性为加权属性3,则编码比特流包括针对加权属性3的第一指示信息,第一指示信息用于指示将当前块按照左下-右上划分,且帧内区域位于帧间区域的左上方。解码端接收到编码比特流后,从编码比特流中解析出第一指示信息,基于第一指示信息,解码端确定当前块的划分信息为将当前块按照左下-右上划分,帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的左上方,即,当前块的加权属性为加权属性3。
在另一种可能的实施方式中,加权属性是根据第一指示信息和第二指示信息确定,第一指示信息用于指示当前块的划分信息,第二指示信息用于指示帧内区域与帧间区域的相对位置,即,通过不同指示信息分别指示当前块的划分信息,帧内区域与帧间区域的相对位置。
例如,若编码端确定当前块的加权属性为加权属性1,则编码比特流包括针对加权属性1的第一指示信息和第二指示信息,第一指示信息用于指示将当前块按照左上-右下划分,第二指示信息用于指示帧内区域位于帧间区域的左下方。解码端接收到编码比特流后,从编码比特流中解析出第一指示信息和第二指示信息,基于第一指示信息,解码端确定当前块的划分信息为将当前块按照左上-右下划分,基于第二指示信息,解码端确定帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的左下方,综上,确定当前块的加权属性为加权属性1。
例如,若编码端确定当前块的加权属性为加权属性2,则编码比特流包括针对加权属性2的第一指示信息和第二指示信息,第一指示信息用于指示将当前块按照左上-右下划分,第二指示信息用于指示帧内区域位于帧间区域的右上方。解码端接收到编码比特流后,从编码比特流中解析出第一指示信息和第二指示信息,基于第一指示信息,解码端确定当前块的划分信息为将当前块按照左上-右下划分,基于第二指示信息,解码端确定帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的右上方,综上,确定当前块的加权属性为加权属性2。
例如,若编码端确定当前块的加权属性为加权属性3,则编码比特流包括针对加权属性3的第一指示信息和第二指示信息,第一指示信息用于指示将当前块按照左下-右上划分,第二指示信息用于指示帧内区域位于帧间区域的左上方。解码端接收到编码比特流后,从编码比特流中解析出第一指示信息和第二指示信息,基于第一指示信息,解码端确定当前块的划分信息为将当前块按照左下-右上划分,基于第二指示信息,解码端确定帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的左上方,综上,确定当前块的加权属性为加权属性3。
在另一种可能的实施方式中,加权属性是根据第一指示信息确定,第一指示信息用于指示当前块的划分信息。然后,解码端可以根据当前块的划分信息确定帧内区域与帧间区域的相对位置。在这种实施方式中,只通过第一指示信息指示当前块的划分信息,而不需要指示帧内区域与帧间区域的相对位置,解码端可以根据当前块的划分信息确定帧内区域与帧间区域的相对位置。示例性的,若第一指示信息用于指示将当前块按照左下-右上划分,则解码端可以确定帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的左上方。
参见图3D所示,在帧内区域位于帧间区域的右下方时,当前块外部上侧周边已重建像素不可信,当前块外部左侧周边已重建像素不可信,因此,应该避免或禁用该加权属性。基于此,若当前块的划分信息为将当前块按照左下-右上划分,则帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的左上方,不会出现帧内区域位于帧间区域的右下方这种情况。
基于上述原理,若编码端确定当前块的加权属性为加权属性3,则编码比特流包括针对加权属性3的第一指示信息,第一指示信息用于指示将当前块按照左下-右上划分。解码端接收到编码比特流后,从编码比特流中解析出第一指示信息,基于第一指示信息,解码端确定当前块的划分信息为将当前块按照左下-右上划分。由于划分信息为将当前块按照左下-右上划分,因此,解码端确定帧内区域与帧间区域的相对位置为帧内区域位于帧间区域的左上方,即,即使未在编码比特流中指示帧内区域与帧间区域的相对位置,也可以推导出帧内区域位于帧间区域的左上方,最终,能够确定当前块的加权属性为加权属性3。
在上述实施例中,第一指示信息用于指示当前块的划分信息,且所述第一指示信息用于指示当前块是按照预配置划分模式进行划分的。示例性的,所述预配置划分模式可以是按照当前块的对角线进行划分;例如,所述第一指示信息的取值为第一取值时,所述对角线为第一对角线,所述第一指示信息的取值为第二取值时,所述对角线为第二对角线。
例如,所述第一指示信息的取值为第一取值时,则所述对角线为左上-右下的对角线,如图5B所示的对角线、图5D所示的对角线、图5F所示的对角线、图5G所示的对角线,对此不做限制,只要是左上-右下的对角线即可。所述第一指示信息的取值为第二取值时,则所述对角线为左下-右上的对角线,如图5A所示的对角线、图5C所示的对角线、图5E所示的对角线、图5H所示的对角线,对此不做限制,只要是左下-右上的对角线即可。
步骤723,解码端根据加权属性获取与所述加权属性绑定的目标帧内预测模式。
示例性的,解码端可以通过加权属性与帧内预测模式的绑定关系,确定与所述加权属性绑定的目标帧内预测模式。例如,若当前块的加权属性为加权属性1,则确定与加权属性1绑定的目标帧内预测模式为水平角度预测模式;或者,若当前块的加权属性为加权属性2,则确定与加权属性2绑定的目标帧内预测模式为垂直角度预测模式;或者,若当前块的加权属性为加权属性3,则确定与加权属性3绑定的目标帧内预测模式为Planar预测模式。
步骤724,解码端获取当前块的目标帧间预测模式。例如,可以采用如下方式实现:
方式一、解码端通过协议约定默认使用某个帧间预测模式,将该帧间预测模式作为当前块的目标帧间预测模式。例如,解码端通过协议约定默认使用常规合并模式,则确定当前块的目标帧间预测模式为常规合并模式,编码端也需要通过协议约定默认使用常规合并模式。
方式二、编码端在向解码端发送编码比特流时,该编码比特流包括目标帧间预测模式的指示信息,基于所述指示信息,解码端将所述指示信息对应的帧间预测模式作为当前块的目标帧间预测模式。例如,若编码端确定当前块的目标帧间预测模式为常规合并模式,则编码比特流包括常规合并模式的指示信息。解码端接收到编码比特流后,从编码比特流中解析出所述指示信息,基于所述指示信息,解码端将常规合并模式作为当前块的目标帧间预测模式。
示例性的,假设目标帧间预测模式为常规合并模式,则还需要构建常规合并模式的运动信息候选列表,该运动信息候选列表包括至少一个候选运动信息。编码端向解码端发送编码比特流时,该编码比特流包括目标运动信息(即编码端从运动信息候选列表中选择的)的指示信息,该指示信息用于指示目标运动信息在运动信息候选列表中的索引值。
解码端在接收到编码比特流后,可以从该编码比特流中解析出目标运动信息的指示信息,基于所述目标运动信息的指示信息,解码端可以从该运动信息候选列表中与选择与该索引值对应的运动信息,并将选择的所述运动信息作为当前块的目标运动信息。
步骤725,解码端根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,帧内区域的预测值可以根据目标帧内预测模式确定,帧间区域的预测值可以根据目标帧间预测模式确定。
实施例4:编码端构建当前块的帧内预测模式列表,每种加权属性对应一个帧内预测模式列表。示例性的,基于加权属性对应的帧内预测模式列表,可以从帧内预测模式列表中选取合适的帧内预测模式,使得在根据该帧内预测模式获取当前块内的帧内区域的预测值时,获取的是可靠的预测值。例如,加权属性1用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的左下方,参见图3A或图6A所示。加权属性1对应的帧内预测模式列表中的第一个帧内预测模式,为水平角度预测模式。对于帧内预测模式列表中的其它帧内预测模式,对此不做限制。加权属性2用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的右上方,参见图3B或图6B所示。加权属性2对应的帧内预测模式列表中的第一个帧内预测模式,为垂直角度预测模式。对于帧内预测模式列表中的其它帧内预测模式,对此不做限制。加权属性3用于指示将当前块按照左下-右上划分,帧内区域位于帧间区域的左上方,参见图3C或图6C所示。加权属性3对应的帧内预测模式列表中的第一个帧内预测模式,为Planar预测模式。对于帧内预测模式列表中的其它帧内预测模式,对此不做限制。为方便描述,将加权属性1对应的帧内预测模式列表记为帧内预测模式列表1,将加权属性2对应的帧内预测模式列表记为帧内预测模式列表2,将加权属性3对应的帧内预测模式列表记为帧内预测模式列表3。
在一种可能的实施方式中,可以为不同的加权属性构建不同的帧内预测模式列表,且各帧内预测模式列表中的帧内预测模式可以相同或者不同。例如,加权属性1对应的帧内预测模式列表1包括水平角度预测模式,沿着分割线的左上-右下的角度预测模式。加权属性2对应的帧内预测模式列表2包括垂直角度预测模式,沿着分割线的左上-右下的角度预测模式。加权属性3对应的帧内预测模式列表3包括Planar预测模式,垂直角度预测模式,水平角度预测模式;或者,Planar预测模式,水平角度预测模式,垂直角度预测模式。
在另一种可能的实施方式中,可以为不同的加权属性构建不同的帧内预测模式列表,各帧内预测模式列表中的帧内预测模式可以相同,只是帧内预测模式的顺序不同。例如,所有帧内预测模式列表包括垂直角度预测模式,水平角度预测模式,Planar预测模式,加权属性1对应的帧内预测模式列表1包括水平角度预测模式,Planar预测模式,垂直角度预测模式。加权属性2对应的帧内预测模式列表2包括垂直角度预测模式,Planar预测模式,水平角度预测模式。加权属性3对应的帧内预测模式列表3包括Planar预测模式,垂直角度预测模式,水平角度预测模式;或者,Planar预测模式,水平角度预测模式,垂直角度预测模式。
在上述应用场景下,参见图7C所示,为本申请实施例中的编解码方法的流程示意图,该编解码方法可以应用于编码端,该编解码方法可以包括以下步骤:
步骤731,编码端确定是否对当前块启动帧间帧内联合预测。如果是,则执行步骤732;如果否,则可以不采用本申请实施例的编解码方法,对此过程不做限制。
步骤732,编码端获取当前块的加权属性。
步骤733,编码端从帧内预测模式列表中获取与所述加权属性绑定的目标帧内预测模式。
步骤734,编码端获取当前块的目标帧间预测模式。
针对步骤732-步骤734,编码端可以采用如下方式实现:
方式一、编码端通过协议约定默认使用某个加权属性,通过协议约定默认使用帧内预测模式列表中的某个帧内预测模式,通过协议约定默认使用某个帧间预测模式。例如,通过协议约定默认使用图3A所示的加权属性1,通过协议约定默认使用水平角度预测模式作为目标帧内预测模式,通过协议约定默认使用常规合并模式作为目标帧间预测模式。
方式二、编码端基于每个加权属性,该加权属性对应的帧内预测模式列表中的每个帧内预测模式,每个帧间预测模式,帧间预测模式中的每个运动信息,对当前块进行联合预测,并利用率失真原则确定当前块的率失真代价,具体过程参见上述实施例,在此不再赘述。
在遍历得到所有率失真代价后,编码端从所有率失真代价中选取最小的率失真代价,将最小的率失真代价对应的加权属性作为当前块的加权属性,将最小的率失真代价对应的帧内预测模式作为当前块的目标帧内预测模式,将最小的率失真代价对应的帧间预测模式作为当前块的目标帧间预测模式,将最小的率失真代价对应的运动信息作为当前块的目标运动信息。
步骤735,编码端根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,帧内区域的预测值可以根据目标帧内预测模式确定,帧间区域的预测值可以根据目标帧间预测模式确定。
实施例5:解码端构建当前块的帧内预测模式列表,构建过程参见编码端的构建过程,在此不再赘述。示例性的,加权属性1对应帧内预测模式列表1,且帧内预测模式列表1中的第一个帧内预测模式为水平角度预测模式。加权属性2对应帧内预测模式列表2,且帧内预测模式列表2中的第一个帧内预测模式为垂直角度预测模式。加权属性3对应帧内预测模式列表3,且帧内预测模式列表3中的第一个帧内预测模式为Planar预测模式。
在上述应用场景下,参见图7D所示,为本申请实施例中的编解码方法的流程示意图,该编解码方法可以应用于解码端,该编解码方法可以包括以下步骤:
步骤741,解码端确定是否对当前块启动帧间帧内联合预测。如果是,则执行步骤742;如果否,则可以不采用本申请实施例的编解码方法,对此过程不做限制。
步骤742,解码端获取当前块的加权属性,所述加权属性用于指示当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置,具体过程参见步骤722,在此不再赘述。
步骤743,解码端从帧内预测模式列表中获取与所述加权属性绑定的目标帧内预测模式。
编码端在向解码端发送编码比特流时,该编码比特流包括目标帧内预测模式的指示信息,该指示信息用于指示目标帧内预测模式在帧内预测模式列表(即加权属性对应的帧内预测模式列表)中的索引值。解码端获取编码比特流,并从编码比特流中解析出所述指示信息。基于所述指示信息,解码端从加权属性对应的帧内预测模式列表中选取与所述索引值对应的帧内预测模式,并将选取的帧内预测模式确定为与所述加权属性绑定的目标帧内预测模式。
例如,编码端确定目标帧内预测模式是帧内预测模式列表1中的第一个帧内预测模式时,则编码比特流包括索引值0,索引值0表示帧内预测模式列表1中的第一个帧内预测模式。
解码端获取编码比特流后,确定当前块的加权属性为加权属性1,并获取加权属性1对应的帧内预测模式列表1,参见上述实施例,帧内预测模式列表1中的第一个帧内预测模式为水平角度预测模式。然后,解码端从帧内预测模式列表1中选取与索引值0对应的帧内预测模式,即水平角度预测模式,并将水平角度预测模式作为目标帧内预测模式。
步骤744,解码端获取当前块的目标帧间预测模式。
步骤745,解码端根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,帧内区域的预测值可以根据目标帧内预测模式确定,帧间区域的预测值可以根据目标帧间预测模式确定。
实施例6:参见图8所示,为本申请实施例中的编解码方法的流程示意图,该编解码方法可以应用于解码端或者编码端,该编解码方法可以包括以下步骤:
步骤801,在确定对当前块启动帧间帧内联合预测时,获取当前块的目标帧内预测模式。
步骤802,根据目标帧内预测模式获取与目标帧内预测模式绑定的加权属性;所述加权属性用于指示当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置。
步骤803,获取当前块的目标帧间预测模式。
步骤804,根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,帧内区域的预测值根据目标帧内预测模式确定,帧间区域的预测值根据目标帧间预测模式确定。
示例性的,帧间帧内联合预测是否启动的确定方式,可以参见实施例1,在此不再赘述。
示例性的,目标帧内预测模式,加权属性,当前块的划分信息,帧内区域与帧间区域的相对位置,目标帧间预测模式等的相关解释,可以参见实施例1,在此不再赘述。
在一种可能的实施方式中,每种帧内预测模式可以只对应一个加权属性,二者的绑定关系可以预先约定。基于此,在获取当前块的目标帧内预测模式之后,若目标帧内预测模式对应一个加权属性,则可以将所述一个加权属性确定为与目标帧内预测模式绑定的加权属性。
例如,若加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的左下方,参见图3A或图6A所示,则与所述加权属性绑定的目标帧内预测模式为水平角度预测模式。比如说,预先约定图3A或图6A所示的加权属性与水平角度预测模式的绑定关系,在目标帧内预测模式为水平角度预测模式时,则确定加权属性如图3A或图6A所示。
例如,若加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的右上方,参见图3B或图6B所示,则与所述加权属性绑定的目标帧内预测模式为垂直角度预测模式。比如说,预先约定图3B或图6B所示的加权属性与垂直角度预测模式的绑定关系,在目标帧内预测模式为垂直角度预测模式时,则确定加权属性如图3B或图6B所示。
例如,若加权属性用于指示将当前块按照左下-右上划分,帧内区域位于帧间区域的左上方,参见图3C或图6C所示,则与所述加权属性绑定的目标帧内预测模式为Planar预测模式。比如说,预先约定图3C或图6C所示的加权属性与Planar预测模式的绑定关系,在目标帧内预测模式为Planar预测模式时,则确定加权属性如图3C或图6C所示。
在另一种可能的实施方式中,帧内预测模式可以对应一个加权属性列表(例如,不同的帧内预测模式可以对应相同的加权属性列表,也可以对应不同的加权属性列表,对此不做限制),所述加权属性列表包括至少两个加权属性。基于此,在获取当前块的目标帧内预测模式之后,若所述目标帧内预测模式对应一个加权属性列表,所述加权属性列表包括至少两个加权属性,则可以从所述加权属性列表中获取与所述目标帧内预测模式绑定的加权属性。
针对编码端来说,编码端需要获取当前块的目标帧内预测模式,与目标帧内预测模式绑定的加权属性,目标帧间预测模式。例如,编码端基于每个帧内预测模式,与该帧内预测模式绑定的加权属性(如与该帧内预测模式绑定的一个加权属性,或者,加权属性列表中的每个加权属性),每个帧间预测模式,帧间预测模式中的每个运动信息,对当前块进行联合预测,并利用率失真原则确定当前块的率失真代价。然后,编码端可以从所有率失真代价中选取最小的率失真代价,将最小的率失真代价对应的帧内预测模式作为当前块的目标帧内预测模式,将最小的率失真代价对应的加权属性作为当前块的加权属性;将最小的率失真代价对应的帧间预测模式作为当前块的目标帧间预测模式;将最小的率失真代价对应的运动信息作为当前块的目标运动信息。当然,上述方式只是一个示例,对此不做限制。
针对解码端来说,解码端需要获取当前块的目标帧内预测模式,与目标帧内预测模式绑定的加权属性,目标帧间预测模式。在一种可能的实施方式中,假设每种帧内预测模式只对应一个加权属性,通过为每种帧内预测模式绑定合适的加权属性,使得在根据帧内预测模式和该帧内预测模式绑定的加权属性获取当前块内的帧内区域的预测值时,获取的是可靠的预测值。编码端在向解码端发送编码比特流时,该编码比特流包括目标帧内预测模式的指示信息,基于所述指示信息,解码端将所述指示信息对应的帧内预测模式作为当前块的目标帧内预测模式,对此过程不再详加赘述。然后,基于帧内预测模式与加权属性的绑定关系,解码端可以根据目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性。解码端获取目标帧间预测模式的过程,可以参见上述实施例。至此,解码端获取到当前块的目标帧内预测模式,与目标帧内预测模式绑定的加权属性,目标帧间预测模式。
在另一种可能的实施方式中,假设存在加权属性列表,可以从加权属性列表中选取合适的加权属性,使得在根据帧内预测模式和该帧内预测模式绑定的加权属性获取当前块内的帧内区域的预测值时,获取的是可靠的预测值。编码端在向解码端发送编码比特流时,该编码比特流包括目标帧内预测模式的第一指示信息,加权属性的第二指示信息,第二指示信息用于指示加权属性在加权属性列表中的索引值。解码端在获取到所述编码比特流后,基于所述第一指示信息,解码端将所述第一指示信息对应的帧内预测模式作为当前块的目标帧内预测模式。基于所述第二指示信息,解码端从所述加权属性列表中选取与所述索引值对应的加权属性,这个加权属性就是所述目标帧内预测模式绑定的加权属性。解码端获取目标帧间预测模式的过程,可以参见上述实施例。至此,解码端获取到当前块的目标帧内预测模式,与目标帧内预测模式绑定的加权属性,目标帧间预测模式。
实施例7:针对图3D所示的加权属性,参见上述实施例,由于当前块外部上侧周边已重建像素不可信,当前块外部左侧周边已重建像素不可信,因此,这种情况的加权属性可以不再使用。本实施例中,也可以使用图3D所示的加权属性,将图3D所示的加权属性记为加权属性4,加权属性4用于指示当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置。加权属性4用于指示将当前块按照左下-右上划分,帧内区域位于帧间区域的右下方。
参见图9A所示,加权属性4绑定的帧内预测模式,用于使帧内区域的预测值参考区域A的已重建像素,或者,用于使帧内区域的预测值参考区域B的已重建像素,或者,用于使帧内区域的预测值参考区域A和区域B的已重建像素,对此帧内预测模式不做限制。
加权属性4的实现方式,与上述实施例中的加权属性的实现方式类似,在此不再赘述。
在上述实施例中,可以从所有加权属性中选择一个加权属性作为当前块的加权属性(记为目标加权属性),而这些加权属性的顺序可以参见图9B-图9D所示。针对图9B来说,若目标加权属性的索引值为0,表示图9B的第一个加权属性,即上述实施例中的加权属性3。针对图9C来说,若目标加权属性的索引值为0,表示图9C的第一个加权属性,即上述实施例中的加权属性2。针对图9D来说,若目标加权属性的索引值为0,表示图9D的第一个加权属性,即上述实施例中的加权属性1。针对图9B来说,若目标加权属性的索引值为1,表示图9B的第二个加权属性,即上述实施例中的加权属性2,以此类推。
参见图9B所示,N0和N1是当前块的两个周围块,若N0为帧内预测块,N1为帧内预测块,则采用图9B所示的顺序,对所有加权属性进行排序。参见图9B所示,N0和N1是当前块的两个周围块,若N0不为帧内预测块,N1不为帧内预测块,则采用图9B所示的顺序,对所有加权属性进行排序。参见图9C所示,N0和N1是当前块的两个周围块,若N0为帧内预测块,N1不为帧内预测块,则采用图9C所示的顺序,对所有加权属性进行排序。参见图9D所示,N0和N1是当前块的两个周围块,若N0不为帧内预测块,N1为帧内预测块,则采用图9D所示的顺序,对所有加权属性进行排序。当然,图9B-图9D只是示例,也可以采用其它形状时,如帧内区域和帧间区域分别为三角区域和梯形区域,或帧内区域和帧间区域均为梯形区域,或帧内区域和帧间区域分别为三角区域和五边形区域,在此不再赘述。
实施例8:在上述实施例中,编码端/解码端需要根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,以下对当前块的预测值的获取过程进行说明。
方式一、当根据当前块的加权属性将当前块划分为帧内区域,帧间区域和帧间帧内联合区域三部分时,则当前块的预测值包括帧内区域的预测值,帧间区域的预测值和帧间帧内联合区域的预测值。基于此,根据目标帧内预测模式获取当前块的帧内区域的预测值,根据目标帧间预测模式获取当前块的帧间区域的预测值(即根据目标帧间预测模式的目标运动信息获取帧间区域的预测值,目标运动信息的确定方式参见上述实施例,根据目标运动信息获取预测值的方式,在此不再赘述)。然后,根据目标帧内预测模式获取帧间帧内联合区域的帧内预测值,并根据目标帧间预测模式获取帧间帧内联合区域的帧间预测值,并根据帧间帧内联合区域的帧内预测值和帧间帧内联合区域的帧间预测值,获取帧间帧内联合区域的预测值。
例如,参见图10A所示,右上角的区域为帧内区域,左下角的区域为帧间区域,帧间帧内联合区域内的每个子块(如块1、块2、块4、块6、块7所示的子块)的中心与划分线之间的距离小于预设阈值(可以根据经验进行配置)。对于帧内区域来说,可以根据目标帧内预测模式获取当前块的帧内区域的预测值,具体获取方式不再赘述。针对帧间区域来说,可以根据目标帧间预测模式获取当前块的帧间区域的预测值,具体获取方式不再赘述。
针对帧间帧内联合区域来说,可以采用如下方式实现:方式1、根据目标帧内预测模式获取当前块的帧间帧内联合区域的预测值。方式2、根据目标帧间预测模式获取当前块的帧间帧内联合区域的预测值。方式3、根据目标帧内预测模式获取帧间帧内联合区域的帧内预测值,根据目标帧间预测模式获取帧间帧内联合区域的帧间预测值,并根据帧间帧内联合区域的帧内预测值和帧间帧内联合区域的帧间预测值,获取帧间帧内联合区域的预测值。
参见图10A所示,针对方式1,是根据目标帧内预测模式获取块1、块2、块4、块6、块7的预测值。针对方式2,是根据目标帧间预测模式获取块1、块2、块4、块6、块7的预测值,对此方式1和方式2不再赘述,后续对方式3的实现过程进行说明。
在方式3中,编码端/解码端可以根据目标帧内预测模式获取帧间帧内联合区域的每个像素点的预测值(后续记为帧内预测值),并根据目标帧间预测模式获取帧间帧内联合区域的每个像素点的预测值(后续记为帧间预测值)。然后,针对帧间帧内联合区域的每个像素点,可以对该像素点的帧内预测值和帧间预测值进行加权,得到该像素点的目标预测值。基于帧间帧内联合区域的每个像素点的目标预测值,就可以组成帧间帧内联合区域的预测值。
示例性的,针对帧间帧内联合区域的每个像素点,在对帧内预测值和帧间预测值进行加权时,帧内预测值的权重值与帧间预测值的权重值可以相同或不同。例如,若像素点更靠近帧内区域,则帧内预测值的权重值大于帧间预测值的权重值,若像素点更靠近帧间区域,则帧内预测值的权重值小于帧间预测值的权重值,若像素点位于划分线,则帧内预测值的权重值等于帧间预测值的权重值,当然,上述只是权重值大小的示例,对此不做限制。
针对帧间帧内联合区域内的每个子块,可以为1*1的子块,即单个像素块,也可以为N*M的子块,N大于等于1,M大于等于1。参见图10A所示,帧间帧内联合区域包括标记为1的子块,标记为2的子块,标记为4的子块,标记为6的子块,标记为7的子块。
针对标记为7的每个子块,后续称为子块7,帧内预测值记为预测值P1,帧间预测值记为预测值P2,预测值P1的权重值为a,预测值P2的权重值为b,子块7的目标预测值为:P1*a+P2*b。权重值a大于权重值b,假设a为7/8,b为1/8,则目标预测值为:P1*7/8+P2*1/8。
针对标记为6的每个子块6,帧内预测值记为预测值P1,帧间预测值记为预测值P2,预测值P1的权重值为a,预测值P2的权重值为b,子块6的目标预测值为:P1*a+P2*b。权重值a大于权重值b,与子块7相比,子块6更靠近帧间区域,因此,子块6的权重值a小于子块7的权重值a,假设a为6/8,b为2/8,则目标预测值为:P1*6/8+P2*2/8。
针对标记为4的每个子块4,帧内预测值记为预测值P1,帧间预测值记为预测值P2,预测值P1的权重值为a,预测值P2的权重值为b,子块4的目标预测值为:P1*a+P2*b。子块4位于划分线上,权重值a等于权重值b,a为4/8,b为4/8,则目标预测值为:P1*4/8+P2*4/8。
针对标记为2的每个子块2,帧内预测值记为预测值P1,帧间预测值记为预测值P2,预测值P1的权重值为a,预测值P2的权重值为b,子块2的目标预测值为:P1*a+P2*b。权重值a小于权重值b,假设a为2/8,b为6/8,则目标预测值为:P1*2/8+P2*6/8。
针对标记为1的每个子块1,帧内预测值记为预测值P1,帧间预测值记为预测值P2,预测值P1的权重值为a,预测值P2的权重值为b,子块1的目标预测值为:P1*a+P2*b。权重值a小于权重值b,子块1与子块2相比,子块2更靠近帧内区域,因此,子块1的权重值a小于子块2的权重值a,假设a为1/8,b为7/8,则目标预测值为:P1*1/8+P2*7/8。
在上述实施例中,每个子块的权重值a与权重值b之和可以为1。越靠近帧内区域则权重值a越大,权重值b越小,越靠近帧间区域则权重值a越小,权重值b越大。当然,上述权重值a和权重值b只是本应用场景的一个示例,对此权重值a和权重值b不做限制。
方式二、当根据当前块的加权属性将当前块划分为帧内区域和帧间区域两部分时,则当前块的预测值包括帧内区域的预测值和帧间区域的预测值。基于此,根据目标帧内预测模式获取当前块的帧内区域的预测值,并根据目标帧间预测模式获取当前块的帧间区域的预测值,例如,可以根据目标帧间预测模式的目标运动信息获取帧间区域的预测值,目标运动信息的确定方式参见上述实施例,根据目标运动信息获取预测值的方式,在此不再赘述。
例如,参见图10B所示,右上角的区域为帧内区域,左下角的区域为帧间区域,针对划分线上的区域,可以被认为是帧内区域,也可以被认为是帧间区域,对此不做限制。基于此,对于帧内区域来说,可以根据目标帧内预测模式获取当前块的帧内区域的预测值,针对帧间区域来说,可以根据目标帧间预测模式获取当前块的帧间区域的预测值。
参见图10B所示,针对帧内区域的每个子块,确定每个子块的帧内预测值,将帧内预测值记为预测值P1。针对帧间区域的每个子块,确定每个子块的帧间预测值,将帧间预测值记为预测值P2。针对每个子块X,确定每个子块X的帧内预测值,或者,确定每个子块X的帧间预测值,对此不做限制。示例性的,可以确定所有子块X的帧内预测值,或确定所有子块X的帧间预测值,或确定部分子块X的帧内预测值,剩余部分子块X的帧间预测值。
在上述实施例中,需要根据目标帧内预测模式获取当前块的帧内区域的预测值,和/或,获取当前块的帧间帧内联合区域的预测值,针对根据目标帧内预测模式获取相关区域的预测值(后续记为帧内预测值)的过程,可以采用如下方式实现:
若加权属性为加权属性3,目标帧内预测模式为Planar预测模式,则可以采用当前块外部左侧周边已重建像素和当前块外部上侧周边已重建像素的加权值(如平均值)获取帧内预测值。例如,可以采用如下公式获取帧内预测值:
Figure BDA0002193011310000221
若加权属性为加权属性2,目标帧内预测模式为垂直角度预测模式,则可以采用当前块外部上侧周边已重建像素的加权值(如平均值)获取帧内预测值。例如,可以采用如下公式获取帧内预测值:
Figure BDA0002193011310000222
若加权属性为加权属性1,目标帧内预测模式为水平角度预测模式,则可以采用当前块外部左侧周边已重建像素的加权值(如平均值)获取帧内预测值。例如,可以采用如下公式获取帧内预测值:
Figure BDA0002193011310000223
在上述各公式中,W表示当前块的宽度,H表示当前块的高度,dcVal表示帧内预测值,p[][]表示已重建像素,p[-1][]表示当前块外部左侧周边一列的已重建像素,p[][-1]表示当前块外部上侧周边一行的已重建像素,右移符号>>之前的加数(如W>>1,H>>1等)用于对数值进行四舍五入操作。
在上述公式中,x′的取值范围是0至W-1,当然,0至W-1的取值范围只是一个示例,在实际应用中,还可以为其它取值范围,与加权属性有关,例如,针对图6C所示的加权属性,x′的取值范围是0至S,且S小于W-1,S的长度与帧内区域的横向长度有关,对此不做限制。当改变已重建像素的数量时,需要同时相应更改分母的大小。
在上述公式中,y′的取值范围是0至H-1,当然,0至H-1的取值范围只是一个示例,在实际应用中,还可以为其它取值范围,与加权属性有关,例如,针对图6C所示的加权属性,y′的取值范围是0至T,且T小于H-1,T的长度与帧内区域的纵向长度有关,对此不做限制。当改变已重建像素的数量时,需要同时相应更改分母的大小。
基于与上述方法同样的申请构思,本申请实施例还提出一种编解码装置,所述装置应用于编码端或者解码端,参见图11A所示,为所述装置的结构图,包括:
第一获取模块1111,用于在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;
第二获取模块1112,用于获取所述当前块的目标帧间预测模式;
第三获取模块1113,用于根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,帧内区域的预测值根据所述目标帧内预测模式确定,帧间区域的预测值根据所述目标帧间预测模式确定。
当根据所述当前块的加权属性将所述当前块划分为所述帧内区域,所述帧间区域和帧间帧内联合区域三部分时,所述当前块的预测值包括所述帧内区域的预测值,所述帧间区域的预测值和所述帧间帧内联合区域的预测值,所述第三获取模块1113具体用于:
根据所述目标帧内预测模式获取所述当前块的帧内区域的预测值;
根据所述目标帧间预测模式获取所述当前块的帧间区域的预测值;
根据所述目标帧内预测模式获取所述帧间帧内联合区域的帧内预测值,根据所述目标帧间预测模式获取所述帧间帧内联合区域的帧间预测值;根据所述帧间帧内联合区域的帧内预测值和所述帧间帧内联合区域的帧间预测值,获取所述帧间帧内联合区域的预测值。
当根据所述当前块的加权属性将所述当前块划分为所述帧内区域和所述帧间区域两部分时,所述当前块的预测值包括所述帧内区域的预测值和所述帧间区域的预测值,所述第三获取模块1113具体用于:根据所述目标帧内预测模式获取所述当前块的帧内区域的预测值;
根据所述目标帧间预测模式获取所述当前块的帧间区域的预测值。
所述加权属性是根据第一指示信息确定,所述第一指示信息用于指示所述当前块的划分信息,帧内区域与帧间区域的相对位置。
所述加权属性是根据第一指示信息和第二指示信息确定,所述第一指示信息用于指示所述当前块的划分信息,所述第二指示信息用于指示帧内区域与帧间区域的相对位置。
所述加权属性是根据第一指示信息确定,所述第一指示信息用于指示所述当前块的划分信息;所述第一获取模块1111还用于:根据所述当前块的划分信息确定帧内区域与帧间区域的相对位置。例如,若若所述第一指示信息用于指示将所述当前块按照左下-右上划分,则确定所述帧内区域与帧间区域的相对位置为所述帧内区域位于所述帧间区域的左上方。
所述第一指示信息用于指示所述当前块是按照预配置划分模式进行划分的。所述预配置划分模式是按照所述当前块的对角线进行划分;所述第一指示信息的取值为第一取值时,所述对角线为第一对角线,所述第一指示信息的取值为第二取值时,所述对角线为第二对角线。
所述第一获取模块1111根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式时具体用于:若所述加权属性对应一个帧内预测模式,则将所述一个帧内预测模式确定为与所述加权属性绑定的目标帧内预测模式;或者,
若所述加权属性对应一个帧内预测模式列表,所述帧内预测模式列表包括至少两个帧内预测模式,则从所述帧内预测模式列表中获取与所述加权属性绑定的目标帧内预测模式。
若所述方法应用于解码端,所述第一获取模块1111从所述帧内预测模式列表中获取与所述加权属性绑定的目标帧内预测模式时具体用于:获取编码比特流,所述编码比特流包括指示信息;其中,所述指示信息用于指示目标帧内预测模式在所述帧内预测模式列表中的索引值;从所述帧内预测模式列表中选取与所述索引值对应的帧内预测模式;将选取的帧内预测模式确定为与所述加权属性绑定的目标帧内预测模式。
所述加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的左下方,则与所述加权属性绑定的目标帧内预测模式为水平角度预测模式。
所述加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的右上方,则与所述加权属性绑定的目标帧内预测模式为垂直角度预测模式。
所述加权属性用于指示将当前块按照左下-右上划分,帧内区域位于帧间区域的左上方,则与所述加权属性绑定的目标帧内预测模式为Planar预测模式。
所述加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的左下方,则所述帧内预测模式列表中的第一个帧内预测模式为水平角度预测模式。
所述加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的右上方,则所述帧内预测模式列表中的第一个帧内预测模式为垂直角度预测模式。
所述加权属性用于指示将当前块按照左下-右上划分,帧内区域位于帧间区域的左上方,则所述帧内预测模式列表中的第一个帧内预测模式为Planar预测模式。
基于与上述方法同样的申请构思,本申请实施例还提出一种编解码装置,所述装置应用于编码端或者解码端,参见图11B所示,为所述装置的结构图,包括:
第一获取模块1121,用于在确定对当前块启动帧间帧内联合预测时,获取当前块的目标帧内预测模式;根据目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置;
第二获取模块1122,用于获取所述当前块的目标帧间预测模式;
第三获取模块1123,用于根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,帧内区域的预测值根据所述目标帧内预测模式确定,帧间区域的预测值根据所述目标帧间预测模式确定。
基于与上述方法同样的申请构思,本申请实施例提供的解码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图11C所示。包括:处理器1131和机器可读存储介质1132,其中:所述机器可读存储介质1132存储有能够被所述处理器1131执行的机器可执行指令;所述处理器1131用于执行机器可执行指令,以实现本申请上述示例公开的方法。
例如,所述处理器1131用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定;
或者,所述处理器1131用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;
根据所述目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
基于与上述方法同样的申请构思,本申请实施例提供的编码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图11D所示。包括:处理器1141和机器可读存储介质1142,其中:所述机器可读存储介质1142存储有能够被所述处理器1141执行的机器可执行指令;所述处理器1141用于执行机器可执行指令,以实现本申请上述示例公开的方法。
例如,所述处理器1141用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定;
或者,所述处理器1141用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;
根据所述目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (22)

1.一种编解码方法,其特征在于,所述方法包括:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;其中,若所述加权属性用于指示帧内区域位于帧间区域的左下方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部左侧周边已重建像素,而不参考当前块外部上侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的右上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,而不参考当前块外部左侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的左上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,且帧内区域的预测值参考当前块外部左侧周边已重建像素;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
2.根据权利要求1所述的方法,其特征在于,当根据所述当前块的加权属性将所述当前块划分为所述帧内区域,所述帧间区域和帧间帧内联合区域三部分时,所述当前块的预测值包括所述帧内区域的预测值,所述帧间区域的预测值和所述帧间帧内联合区域的预测值;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,包括:
根据所述目标帧内预测模式获取所述当前块的帧内区域的预测值;
根据所述目标帧间预测模式获取所述当前块的帧间区域的预测值;
根据所述目标帧内预测模式获取所述帧间帧内联合区域的帧内预测值,根据所述目标帧间预测模式获取所述帧间帧内联合区域的帧间预测值;根据所述帧间帧内联合区域的帧内预测值和所述帧间帧内联合区域的帧间预测值,获取所述帧间帧内联合区域的预测值。
3.根据权利要求1所述的方法,其特征在于,
当根据所述当前块的加权属性将所述当前块划分为所述帧内区域和所述帧间区域两部分时,所述当前块的预测值包括所述帧内区域的预测值和所述帧间区域的预测值,
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,包括:
根据所述目标帧内预测模式获取所述当前块的帧内区域的预测值;
根据所述目标帧间预测模式获取所述当前块的帧间区域的预测值。
4.根据权利要求1所述的方法,其特征在于,所述加权属性是根据第一指示信息确定,所述第一指示信息用于指示所述当前块的划分信息,帧内区域与帧间区域的相对位置。
5.根据权利要求1所述的方法,其特征在于,
所述加权属性是根据第一指示信息和第二指示信息确定,所述第一指示信息用于指示所述当前块的划分信息,所述第二指示信息用于指示帧内区域与帧间区域的相对位置。
6.根据权利要求1所述的方法,其特征在于,所述加权属性是根据第一指示信息确定,所述第一指示信息用于指示所述当前块的划分信息;所述方法还包括:
根据所述当前块的划分信息确定帧内区域与帧间区域的相对位置。
7.根据权利要求6所述的方法,其特征在于,
若所述第一指示信息用于指示将所述当前块按照左下-右上划分,则确定所述帧内区域与帧间区域的相对位置为所述帧内区域位于所述帧间区域的左上方。
8.根据权利要求4-6任一项所述的方法,其特征在于,
所述第一指示信息用于指示所述当前块是按照预配置划分模式进行划分的。
9.根据权利要求8所述的方法,其特征在于,所述预配置划分模式是按照所述当前块的对角线进行划分;其中,所述第一指示信息的取值为第一取值时,所述对角线为第一对角线,所述第一指示信息的取值为第二取值时,所述对角线为第二对角线。
10.根据权利要求1所述的方法,其特征在于,
所述根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式,包括:
若所述加权属性对应一个帧内预测模式,则将所述一个帧内预测模式确定为与所述加权属性绑定的目标帧内预测模式;或者,
若所述加权属性对应一个帧内预测模式列表,所述帧内预测模式列表包括至少两个帧内预测模式,则从所述帧内预测模式列表中获取与所述加权属性绑定的目标帧内预测模式。
11.根据权利要求10所述的方法,其特征在于,若所述方法应用于解码端,所述从所述帧内预测模式列表中获取与所述加权属性绑定的目标帧内预测模式,包括:
获取编码比特流,所述编码比特流包括指示信息;其中,所述指示信息用于指示目标帧内预测模式在所述帧内预测模式列表中的索引值;
从所述帧内预测模式列表中选取与所述索引值对应的帧内预测模式;
将选取的帧内预测模式确定为与所述加权属性绑定的目标帧内预测模式。
12.根据权利要求1-7任一项所述的方法,其特征在于,
所述加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的左下方,则与所述加权属性绑定的目标帧内预测模式为水平角度预测模式。
13.根据权利要求1-7任一项所述的方法,其特征在于,
所述加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的右上方,则与所述加权属性绑定的目标帧内预测模式为垂直角度预测模式。
14.根据权利要求1-7任一项所述的方法,其特征在于,
所述加权属性用于指示将当前块按照左下-右上划分,帧内区域位于帧间区域的左上方,则与所述加权属性绑定的目标帧内预测模式为Planar预测模式。
15.根据权利要求10所述的方法,其特征在于,
所述加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的左下方,则所述帧内预测模式列表中的第一个帧内预测模式为水平角度预测模式。
16.根据权利要求10所述的方法,其特征在于,
所述加权属性用于指示将当前块按照左上-右下划分,帧内区域位于帧间区域的右上方,则所述帧内预测模式列表中的第一个帧内预测模式为垂直角度预测模式。
17.根据权利要求10所述的方法,其特征在于,
所述加权属性用于指示将当前块按照左下-右上划分,帧内区域位于帧间区域的左上方,则所述帧内预测模式列表中的第一个帧内预测模式为Planar预测模式。
18.一种编解码方法,其特征在于,所述方法包括:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;
根据所述目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;其中,若所述加权属性用于指示帧内区域位于帧间区域的左下方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部左侧周边已重建像素,而不参考当前块外部上侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的右上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,而不参考当前块外部左侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的左上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,且帧内区域的预测值参考当前块外部左侧周边已重建像素;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
19.一种编解码装置,其特征在于,所述装置包括:
第一获取模块,用于在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;其中,若所述加权属性用于指示帧内区域位于帧间区域的左下方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部左侧周边已重建像素,而不参考当前块外部上侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的右上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,而不参考当前块外部左侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的左上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,且帧内区域的预测值参考当前块外部左侧周边已重建像素;
第二获取模块,用于获取所述当前块的目标帧间预测模式;
第三获取模块,用于根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
20.一种编解码装置,其特征在于,所述装置包括:
第一获取模块,用于在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;根据目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,当前块包括的帧内区域与帧间区域的相对位置;其中,若所述加权属性用于指示帧内区域位于帧间区域的左下方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部左侧周边已重建像素,而不参考当前块外部上侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的右上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,而不参考当前块外部左侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的左上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,且帧内区域的预测值参考当前块外部左侧周边已重建像素;
第二获取模块,用于获取所述当前块的目标帧间预测模式;
第三获取模块,用于根据目标帧内预测模式和目标帧间预测模式获取当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
21.一种解码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;其中,若所述加权属性用于指示帧内区域位于帧间区域的左下方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部左侧周边已重建像素,而不参考当前块外部上侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的右上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,而不参考当前块外部左侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的左上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,且帧内区域的预测值参考当前块外部左侧周边已重建像素;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定;
或者,所述处理器用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;
根据所述目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
22.一种编码端设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的加权属性;其中,所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
根据所述加权属性获取与所述加权属性绑定的目标帧内预测模式;其中,若所述加权属性用于指示帧内区域位于帧间区域的左下方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部左侧周边已重建像素,而不参考当前块外部上侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的右上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,而不参考当前块外部左侧周边已重建像素;或者,若所述加权属性用于指示帧内区域位于帧间区域的左上方,则所述加权属性绑定的目标帧内预测模式用于使帧内区域的预测值参考当前块外部上侧周边已重建像素,且帧内区域的预测值参考当前块外部左侧周边已重建像素;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定;
或者,所述处理器用于执行机器可执行指令,以实现如下步骤:
在确定对当前块启动帧间帧内联合预测时,获取所述当前块的目标帧内预测模式;
根据所述目标帧内预测模式获取与所述目标帧内预测模式绑定的加权属性;所述加权属性用于指示所述当前块的划分信息,所述当前块包括的帧内区域与帧间区域的相对位置;
获取所述当前块的目标帧间预测模式;
根据所述目标帧内预测模式和所述目标帧间预测模式获取所述当前块的预测值,所述当前块的预测值至少包括帧内区域的预测值和帧间区域的预测值,所述帧内区域的预测值根据所述目标帧内预测模式确定,所述帧间区域的预测值根据所述目标帧间预测模式确定。
CN201910838745.8A 2019-09-05 2019-09-05 一种编解码方法、装置及其设备 Active CN112449181B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210633928.8A CN115022639A (zh) 2019-09-05 2019-09-05 一种编解码方法、装置及其设备
CN201910838745.8A CN112449181B (zh) 2019-09-05 2019-09-05 一种编解码方法、装置及其设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910838745.8A CN112449181B (zh) 2019-09-05 2019-09-05 一种编解码方法、装置及其设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210633928.8A Division CN115022639A (zh) 2019-09-05 2019-09-05 一种编解码方法、装置及其设备

Publications (2)

Publication Number Publication Date
CN112449181A CN112449181A (zh) 2021-03-05
CN112449181B true CN112449181B (zh) 2022-04-26

Family

ID=74733482

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910838745.8A Active CN112449181B (zh) 2019-09-05 2019-09-05 一种编解码方法、装置及其设备
CN202210633928.8A Pending CN115022639A (zh) 2019-09-05 2019-09-05 一种编解码方法、装置及其设备

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202210633928.8A Pending CN115022639A (zh) 2019-09-05 2019-09-05 一种编解码方法、装置及其设备

Country Status (1)

Country Link
CN (2) CN112449181B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115955565B (zh) * 2023-03-15 2023-07-04 深圳传音控股股份有限公司 处理方法、处理设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130051467A1 (en) * 2011-08-31 2013-02-28 Apple Inc. Hybrid inter/intra prediction in video coding systems
JP2015082714A (ja) * 2013-10-22 2015-04-27 ソニー株式会社 画像処理装置及び画像処理方法
JP2015106747A (ja) * 2013-11-28 2015-06-08 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US9609343B1 (en) * 2013-12-20 2017-03-28 Google Inc. Video coding using compound prediction
US10694179B2 (en) * 2016-01-12 2020-06-23 Telefonaktiebolaget Lm Ericsson (Publ) Video coding using hybrid intra prediction
WO2018054269A1 (en) * 2016-09-22 2018-03-29 Mediatek Inc. Method and apparatus for video coding using decoder side intra prediction derivation

Also Published As

Publication number Publication date
CN112449181A (zh) 2021-03-05
CN115022639A (zh) 2022-09-06

Similar Documents

Publication Publication Date Title
CN111385569B (zh) 一种编解码方法及其设备
CN109804627B (zh) 图像编码/解码方法和设备
CN107105269B (zh) 获得合并候选的方法
CN115134608A (zh) 使用自适应去块滤波编码和解码图像的方法及其装置
CN112543323B (zh) 一种编解码方法、装置及其设备
CN110832854B (zh) 利用插值进行帧内预测的方法和装置
CN112449181B (zh) 一种编解码方法、装置及其设备
CN113747166B (zh) 一种编解码方法、装置及其设备
CN112449180B (zh) 一种编解码方法、装置及其设备
CN112565747B (zh) 一种解码、编码方法、装置及其设备
CN112291558B (zh) 一种编解码方法、装置及其设备
CN112055220B (zh) 一种编解码方法、装置及其设备
CN113709486B (zh) 一种编解码方法、装置及其设备
KR20130037843A (ko) 예측 픽셀 생성 장치 및 그 동작 방법
CN111669592B (zh) 一种编解码方法、装置及其设备

Legal Events

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